浏览代码

恢复账号密码登录

seimin 10 月之前
父节点
当前提交
2bc4cfd26f
共有 4 个文件被更改,包括 44 次插入23 次删除
  1. 21 7
      src/http/index.js
  2. 1 1
      src/router/index.js
  3. 19 12
      src/views/Login.vue
  4. 3 3
      upload/development.js

+ 21 - 7
src/http/index.js

@@ -10,14 +10,28 @@ axios.defaults.baseURL = protocolName + '//' + domainName;
10 10
 Vue.prototype.$http = axios
11 11
 Vue.prototype.$host = protocolName + '//' + domainName
12 12
 //http response 拦截器
13
-axios.interceptors.response.use(function (response) {
14
-  return response;
15
-}, function (error) {
16
-  if(error && error.response && error.response.status == 444){
17
-    window.location.href = location.origin + '/req.jsp';
13
+axios.interceptors.response.use(
14
+  response => {
15
+    return response;
16
+  },
17
+  async (error) => {
18
+    let err = error.response;
19
+    console.log(err);
20
+    if (404 === error.response.status && err.request.responseURL.includes('index.html')) {
21
+      let res1 = await getLoginType();
22
+      let loginConfig = localStorage.getItem('loginConfig');
23
+      if (res1.status == 200 && res1.data.status == 200 && res1.data.data == 'web' && loginConfig) {
24
+        let { username, password } = JSON.parse(loginConfig);
25
+        let res2 = await zlogin({ username, password });
26
+        if (res2.status == 200 && res2.data.state == 200) {
27
+          location.reload();
28
+        }
29
+      }
30
+    } else {
31
+      return Promise.reject(error);
32
+    }
18 33
   }
19
-  return Promise.reject(error);
20
-});
34
+);
21 35
 // 获取报修人登录方式
22 36
 function getLoginType() {
23 37
   return axios.post("service/wechat/getLoginType", {});

+ 1 - 1
src/router/index.js

@@ -145,7 +145,7 @@ export default new Router({
145 145
     {
146 146
       path: '*',
147 147
       hidden: true,
148
-      redirect: { path: '/' }
148
+      redirect: { path: '/login' }
149 149
     }
150 150
   ]
151 151
 })

+ 19 - 12
src/views/Login.vue

@@ -1,5 +1,5 @@
1 1
 <template>
2
-  <div class="fle bgColor" v-if="!isSSo && false">
2
+  <div class="fle bgColor" v-if="!isSSo">
3 3
     <load-ing v-show="requesterLgoinType == 'wechat'"></load-ing>
4 4
     <h2
5 5
       v-if="requesterLgoinType == 'web'"
@@ -216,10 +216,20 @@ export default {
216 216
     zlogin() {
217 217
       console.log(this);
218 218
       var that = this;
219
+      var ssoStr = "";
220
+      var ssoJson;
221
+      if (this.isSSo) {
222
+        ssoStr = location.search
223
+          .replace("?", "")
224
+          .split("&")[0]
225
+          .split("=")[1];
226
+        ssoStr = decode(decodeURIComponent(ssoStr));
227
+        ssoJson = JSON.parse(ssoStr);
228
+      }
219 229
       var postData = this.isSSo
220
-        ? { type: 'req' }
230
+        ? { password: ssoJson.r, t: false }
221 231
         : { username: this.zhanghao, password: this.mima };
222
-      this.$http.post("service/auth/sslLogin", postData).then(res => {
232
+      this.$http.post("service/auth/reqlogin", postData).then(res => {
223 233
         that.loading = false;
224 234
         if (res.data && res.data.state == 200) {
225 235
           localStorage.clear();
@@ -238,14 +248,6 @@ export default {
238 248
           } else {
239 249
             this.loginNext(res.data.data.requester);
240 250
           }
241
-        }else if (res.data && res.data.state == 501) {
242
-          // 判断是否有区域地点或联系电话或校区,没有则需要补充
243
-          var requester = JSON.parse(localStorage.getItem('loginUser')) || {};
244
-          if (!requester.place || !requester.mphone || !requester.branch) {
245
-            this.$router.push({ path: "/supplementary" });
246
-          } else {
247
-            this.loginNext(requester);
248
-          }
249 251
         } else {
250 252
           localStorage.clear();
251 253
           that
@@ -271,7 +273,12 @@ export default {
271 273
     }
272 274
   },
273 275
   created() {
274
-    this.isSSo = true;
276
+    localStorage.clear();
277
+    if (location.search.length > 0) {
278
+      this.isSSo = Boolean(this.getQueryString("t"));
279
+    } else {
280
+      this.isSSo = false;
281
+    }
275 282
     if (this.isSSo) {
276 283
       this.zlogin();
277 284
     }

+ 3 - 3
upload/development.js

@@ -1,11 +1,11 @@
1 1
 const shell = require('shelljs')
2 2
 const path = require('path');
3 3
 const config = {
4
-  ip: "192.168.3.110", // ssh地址
4
+  ip: "192.168.3.122", // ssh地址
5 5
   username: "root", // ssh 用户名
6 6
   port: 22,      //端口
7
-  password: "123456", // ssh 密码
8
-  path: '/home/itsm/project/web/reqApp', // 上传地址,删除地址
7
+  password: "DStech@123", // ssh 密码
8
+  path: '/home/itsm/project/web/mdv2/reqApp', // 上传地址,删除地址
9 9
   buildPath: '../dist' // 本地打包后文件地址
10 10
 }
11 11
 let Client = require('ssh2-sftp-client');