Explorar el Código

优化自动登录

陈龙 hace 11 meses
padre
commit
e7f30850f0

+ 20 - 3
source/OumanMESUni/pages/home/index.vue

@@ -11,8 +11,11 @@
 
 <script>
     import token from '../../utils/token.js';
+    import user from '../../utils/user.js';
     import pages from '../../utils/pages.js';
 
+    let userinfo = null;
+
     export default {
         data() {
             return {
@@ -20,11 +23,24 @@
                 menus: []
             }
         },
-        onLoad() {
+        async onShow() {
             if (token.has()) {
+                userinfo = user.get();
                 this.isLogin = true;
+                this.menus = pages.pages;
+            } else {
+                let res = await token.getByServer();
+                if (res.success) {
+                    let infoRes = user.getByServer();
+                    if (infoRes.success) {
+                        userinfo = infoRes.data;
+                        this.isLogin = true;
+                        this.menus = pages.pages;
+                    } else {
+                        token.clear();
+                    }
+                }
             }
-            this.menus = pages.pages;
         },
         methods: {
             openPage(url) {
@@ -40,6 +56,7 @@
     page {
         background-color: rgb(235, 235, 235);
     }
+
     .content {
         .card {
             position: relative;
@@ -61,7 +78,7 @@
                 color: rgb(50, 50, 50);
                 border: 2upx solid rgb(230, 230, 230);
                 background-color: rgb(245, 245, 245);
-                
+
                 .card-item-text {
                     margin-top: 15upx;
                 }

+ 17 - 3
source/OumanMESUni/pages/my/index.vue

@@ -26,6 +26,8 @@
     import token from '../../utils/token.js';
     import user from '../../utils/user.js';
 
+    let userinfo = null;
+
     export default {
         data() {
             return {
@@ -34,11 +36,23 @@
                 isLogin: false,
             }
         },
-        onLoad() {
-            let userinfo = user.get();
-            if (extend.isObject(userinfo)) {
+        async onShow() {
+            if (token.has()) {
+                userinfo = user.get();
                 this.isLogin = true;
                 this.username = userinfo.userName;
+            } else {
+                let res = await token.getByServer();
+                if (res.success) {
+                    let infoRes = user.getByServer();
+                    if (infoRes.success) {
+                        userinfo = infoRes.data;
+                        this.isLogin = true;
+                        this.username = userinfo.userName;
+                    } else {
+                        token.clear();
+                    }
+                }
             }
         },
         methods: {

+ 1 - 1
source/OumanMESUni/utils/request.js

@@ -137,7 +137,7 @@ const request = {
      * @param {string} opts.method - 请求方法,默认 get
      * @param {Object} opts.data - 请求参数
      * @param {Object} opts.header - 请求头
-     * @returns {RequestResult} 网络请求结果对象
+     * @returns {ResultData} 网络请求结果对象
      */
     async sendToken(opts) {
         if (!extend.isObject(opts)) {

+ 2 - 0
source/OumanMESUni/utils/user.js

@@ -1,6 +1,7 @@
 import extend from './extend.js';
 import request from './request.js';
 import api from './api.js';
+import ResultData from './resultData.js';
 
 /**
  * 用户类
@@ -66,6 +67,7 @@ class user {
 
     /**
      * 通过服务器获取用户信息
+     * @returns {ResultData} 返回结果
      */
     async getByServer() {
         let res = await request.sendToken({