From 2fe7ce75ab7b9c07c64ae3e7af65c3414059b2b5 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Tue, 07 Feb 2023 16:57:34 +0800
Subject: [PATCH] 登录方式更改

---
 src/permission.js |  272 +++++++++++++++++++++++++++---------------------------
 1 files changed, 136 insertions(+), 136 deletions(-)

diff --git a/src/permission.js b/src/permission.js
index ebf9bcf..5eb1d74 100644
--- a/src/permission.js
+++ b/src/permission.js
@@ -2,9 +2,9 @@
  * 全站权限配置
  *
  */
-import md5 from 'js-md5'
-import request from '@/router/axios';
-import { Message } from 'element-ui'
+// import md5 from 'js-md5'
+// import request from '@/router/axios'
+// import { Message } from 'element-ui'
 
 import router from './router/router'
 import store from './store'
@@ -12,144 +12,144 @@
 import { getToken } from '@/util/auth'
 import NProgress from 'nprogress' // progress bar
 import 'nprogress/nprogress.css' // progress bar style
-NProgress.configure({ showSpinner: false });
-const lockPage = store.getters.website.lockPage; //锁屏页
+NProgress.configure({ showSpinner: false })
+const lockPage = store.getters.website.lockPage //锁屏页
 router.beforeEach((to, from, next) => {
-  var tag = false;
-  // if (to.fullPath.indexOf("token") > 0) {
-  //   tag = true;
-  // }
-  const meta = to.meta || {};
-  const isMenu = meta.menu === undefined ? to.query.menu : meta.menu;
-  store.commit('SET_IS_MENU', isMenu === undefined);
-  if (getToken()) {
-    if (store.getters.isLock && to.path !== lockPage) { //如果系统激活锁屏,全部跳转到锁屏页
-      next({ path: lockPage })
-    } else if (to.path === '/login') { //如果登录成功访问登录页跳转到主页
-      next({ path: '/' })
-    } else {
-      //如果用户信息为空则获取用户信息,获取用户信息失败,跳转到登录页
-      // if (store.getters.token.length === 0 && tag==false) {
-        if (store.getters.token.length === 0) {
-        store.dispatch('FedLogOut').then(() => {
-          next({ path: '/login' })
-        })
-      } else {
-        const value = to.query.src || to.fullPath;
-        const label = to.query.name || to.name;
-        const meta = to.meta || router.$avueRouter.meta || {};
-        const i18n = to.query.i18n;
-        if (to.query.target) {
-          window.open(value)
-        } else if (meta.isTab !== false && !validatenull(value) && !validatenull(label)) {
-       // } else if (meta.isTab !== false && !validatenull(value) && !validatenull(label) && tag==false) {
-          store.commit('ADD_TAG', {
-            label: label,
-            value: value,
-            params: to.params,
-            query: to.query,
-            meta: (() => {
-              if (!i18n) {
-                return meta
-              }
-              return {
-                i18n: i18n
-              }
-            })(),
-            group: router.$avueRouter.group || []
-          });
-        }
-        next()
-      }
+    let hrefIdx = window.location.href.indexOf('token=') // url中是否携带token
+
+    var tag = false
+    if (to.fullPath.indexOf("token") > 0) {
+        tag = true
     }
-  } else {
-    //判断是否需要认证,没有登录访问去登录页
-    if (meta.isAuth === false) {
-      next()
-    } else {
-      console.log(to.path,66666)
-      if (to.path == '/security/security') {
-        // console.log('进入首页-----')
-        var a = to.query.securitySupervisionSystem;
-        if (a == undefined || typeof a != "string") {
-          // console.log("无securitySupervisionSystem参数  跳回登入");
-          next('/login');
-          next('/login');
-          return;
-        }
-        // console.log("有securitySupervisionSystem参数");
-        try {
-          // console.log("判断securitySupervisionSystem是否能被JSOn解码");
-          var obj = JSON.parse(a);
-          if (typeof obj == "object" && obj && obj.tokenMY == '987654321S') {
-            debugger
-            var data = {
-              tenantId: obj.data.dip,
-              username: obj.data.rese,
-              password: md5(obj.data.sap),
-              grant_type: 'password',
-              scope: 'all',
-              type: 'account'
-            };
-            request({
-              url: '/api/blade-auth/oauth/token',
-              method: 'post',
-              headers: {
-                'Authorization': 'Basic c2FiZXI6c2FiZXJfc2VjcmV0',
-                "Tenant-Id": "000000"
-              },
-              params: data
-            }).then(res => {
-              const data = res.data;
-              if (data.error_description) {
-                // console.log("登入失败");
-                Message({
-                  message: data.error_description,
-                  type: 'error'
+    const meta = to.meta || {}
+    const isMenu = meta.menu === undefined ? to.query.menu : meta.menu
+    store.commit('SET_IS_MENU', isMenu === undefined)
+    if (hrefIdx > -1 || getToken()) {
+        if (store.getters.isLock && to.path !== lockPage) { //如果系统激活锁屏,全部跳转到锁屏页
+            next({ path: lockPage })
+        } else if (to.path === '/login') { //如果登录成功访问登录页跳转到主页
+            next({ path: '/' })
+        } else {
+            //如果用户信息为空则获取用户信息,获取用户信息失败,跳转到登录页
+            if (store.getters.token.length === 0 && tag == false) {
+                // if (store.getters.token.length === 0) {
+                store.dispatch('FedLogOut').then(() => {
+                    next({ path: '/login' })
                 })
-                next('/login');
-                next('/login');
-                return;
-              } else {
-                // console.log("登入成功");
-                store.commit('SET_TOKEN', data.access_token);
-                store.commit('SET_REFRESH_TOKEN', data.refresh_token);
-                store.commit('SET_TENANT_ID', data.tenant_id);
-                store.commit('SET_USER_INFO', data);
-                store.commit('DEL_ALL_TAG');
-                store.commit('CLEAR_LOCK');
-                next(to.path);
-                return;
-              }
-            })
-            return;
-          } else {
-            // console.log("成功解码 不是对象");
-            next('/login');
-            next('/login');
-            return;
-          }
-        } catch {
-          // console.log('不是Json对象 跳回登入');
-          next('/login');
-          next('/login');
-          return;
+            } else {
+                const value = to.query.src || to.fullPath
+                const label = to.query.name || to.name
+                const meta = to.meta || router.$avueRouter.meta || {}
+                const i18n = to.query.i18n
+                if (to.query.target) {
+                    window.open(value)
+                    // } else if (meta.isTab !== false && !validatenull(value) && !validatenull(label)) {
+                } else if (meta.isTab !== false && !validatenull(value) && !validatenull(label) && tag == false) {
+                    store.commit('ADD_TAG', {
+                        label: label,
+                        value: value,
+                        params: to.params,
+                        query: to.query,
+                        meta: (() => {
+                            if (!i18n) {
+                                return meta
+                            }
+                            return {
+                                i18n: i18n
+                            }
+                        })(),
+                        group: router.$avueRouter.group || []
+                    })
+                }
+                next()
+            }
         }
-      }
-      next('/login')
+    } else {
+        //判断是否需要认证,没有登录访问去登录页
+        if (meta.isAuth === false) {
+            next()
+        } else {
+            // console.log(to.path, 66666)
+            // if (to.path == '/security/security') {
+            //     // console.log('进入首页-----')
+            //     var a = to.query.securitySupervisionSystem
+            //     if (a == undefined || typeof a != "string") {
+            //         // console.log("无securitySupervisionSystem参数  跳回登入");
+            //         next('/login')
+            //         next('/login')
+            //         return
+            //     }
+            //     // console.log("有securitySupervisionSystem参数");
+            //     try {
+            //         // console.log("判断securitySupervisionSystem是否能被JSOn解码");
+            //         var obj = JSON.parse(a)
+            //         if (typeof obj == "object" && obj && obj.tokenMY == '987654321S') {
+            //             debugger
+            //             var data = {
+            //                 tenantId: obj.data.dip,
+            //                 username: obj.data.rese,
+            //                 password: md5(obj.data.sap),
+            //                 grant_type: 'password',
+            //                 scope: 'all',
+            //                 type: 'account'
+            //             }
+            //             request({
+            //                 url: '/api/blade-auth/oauth/token',
+            //                 method: 'post',
+            //                 headers: {
+            //                     'Authorization': 'Basic c2FiZXI6c2FiZXJfc2VjcmV0',
+            //                     "Tenant-Id": "000000"
+            //                 },
+            //                 params: data
+            //             }).then(res => {
+            //                 const data = res.data
+            //                 if (data.error_description) {
+            //                     // console.log("登入失败");
+            //                     Message({
+            //                         message: data.error_description,
+            //                         type: 'error'
+            //                     })
+            //                     next('/login')
+            //                     next('/login')
+            //                     return
+            //                 } else {
+            //                     // console.log("登入成功");
+            //                     store.commit('SET_TOKEN', data.access_token)
+            //                     store.commit('SET_REFRESH_TOKEN', data.refresh_token)
+            //                     store.commit('SET_TENANT_ID', data.tenant_id)
+            //                     store.commit('SET_USER_INFO', data)
+            //                     store.commit('DEL_ALL_TAG')
+            //                     store.commit('CLEAR_LOCK')
+            //                     next(to.path)
+            //                     return
+            //                 }
+            //             })
+            //             return
+            //         } else {
+            //             // console.log("成功解码 不是对象");
+            //             next('/login')
+            //             return
+            //         }
+            //     } catch {
+            //         // console.log('不是Json对象 跳回登入');
+            //         next('/login')
+            //         return
+            //     }
+            // }
+            next('/login')
+        }
     }
-  }
 })
 
 router.afterEach(() => {
-  NProgress.done();
-  let title = store.getters.tag.label;
-  let i18n = store.getters.tag.meta.i18n;
-  title = router.$avueRouter.generateTitle(title, i18n);
-  //判断登录页的情况
-  if (router.history.current.fullPath === "/login") {
-    title = "登录";
-  }
-  //根据当前的标签也获取label的值动态设置浏览器标题
-  router.$avueRouter.setTitle(title);
-});
+    NProgress.done()
+    let title = store.getters.tag.label
+    let i18n = store.getters.tag.meta.i18n
+    title = router.$avueRouter.generateTitle(title, i18n)
+    //判断登录页的情况
+    if (router.history.current.fullPath === "/login") {
+        title = "登录"
+    }
+    //根据当前的标签也获取label的值动态设置浏览器标题
+    router.$avueRouter.setTitle(title)
+})

--
Gitblit v1.9.3