瀏覽代碼

添加 中心集成页面跳转到系统页面的路由

dusenyao 3 年之前
父節點
當前提交
6fb3198d4e
共有 4 個文件被更改,包括 54 次插入2 次删除
  1. 15 0
      src/api/user.js
  2. 1 1
      src/permission.js
  3. 22 0
      src/router/index.js
  4. 16 1
      src/store/modules/user.js

+ 15 - 0
src/api/user.js

@@ -27,3 +27,18 @@ export function updateLanguageType(Parameter) {
     params
   });
 }
+
+/**
+ * @description 根据身份通行码得到用户登录信息
+ * @param {Object} Parameter access_code 身份通行码
+ */
+export function GetLoginInfoByAccessCode(Parameter) {
+  return request({
+    method: 'post',
+    url: process.env.VUE_APP_FileServer,
+    params: {
+      MethodName: 'login_control-GetLoginInfoByAccessCode',
+      Parameter
+    }
+  });
+}

+ 1 - 1
src/permission.js

@@ -6,7 +6,7 @@ import 'nprogress/nprogress.css';
 
 NProgress.configure({ showSpinner: false });
 
-const whiteList = ['/login']; // 重定向白名单
+const whiteList = ['/login', '/EnterSys']; // 重定向白名单
 
 // 全局前置守卫
 router.beforeEach(async (to, from, next) => {

+ 22 - 0
src/router/index.js

@@ -3,6 +3,9 @@ import VueRouter from 'vue-router';
 
 import Layout from '@/layouts';
 import Login from '@/views/login';
+import store from '@/store';
+
+import { Loading } from 'element-ui';
 
 Vue.use(VueRouter);
 
@@ -16,6 +19,25 @@ const routes = [
     component: () => import('@/views/404')
   },
   {
+    path: '/EnterSys',
+    beforeEnter: (to, from, next) => {
+      let loadingInstance = Loading.service({
+        text: '跳转中...'
+      });
+      store
+        .dispatch('user/enterSys', { access_code: to.query.AccessCode })
+        .then(() => {
+          loadingInstance.close();
+          next('/');
+        })
+        .catch(() => {
+          store.dispatch('user/signOut');
+          loadingInstance.close();
+          next('/login');
+        });
+    }
+  },
+  {
     path: '/',
     component: Layout,
     redirect: '/main',

+ 16 - 1
src/store/modules/user.js

@@ -1,7 +1,7 @@
 import { getUserInfo, removeSessionID, setUserInfo } from '@/utils/auth';
 import { user } from '@/store/mutation-types';
 import { resetRouter } from '@/router';
-import { login, updateLanguageType } from '@/api/user';
+import { login, updateLanguageType, GetLoginInfoByAccessCode } from '@/api/user';
 
 const getDefaultSate = () => {
   const { session_id, user_code, user_real_name, user_type, user_name } = getUserInfo();
@@ -56,6 +56,21 @@ const actions = {
     });
   },
 
+  // 根据身份通行码得到用户登录信息
+  enterSys({ commit }, access_code) {
+    return new Promise((reslove, reject) => {
+      GetLoginInfoByAccessCode(access_code)
+        .then(response => {
+          setUserInfo(response);
+          commit(user.SET_USER_INFO, response);
+          reslove();
+        })
+        .catch(error => {
+          reject(error);
+        });
+    });
+  },
+
   // 用户退出
   signOut({ commit }) {
     return new Promise(resolve => {