quwangxin 2 سال پیش
والد
کامیت
8a07f2877b
2فایلهای تغییر یافته به همراه18 افزوده شده و 2 حذف شده
  1. 12 2
      src/api/login/index.js
  2. 6 0
      src/router/index.js

+ 12 - 2
src/api/login/index.js

@@ -4,7 +4,7 @@ import { setToken } from '@/utils/token-util';
 /**
  * 登录
  */
-export async function login(data) {
+export async function login (data) {
   const res = await request.post('/main/user/login', data);
   if (res.data.code == 0) {
     setToken(res.data.data.token, data.remember);
@@ -12,11 +12,21 @@ export async function login(data) {
   }
   return Promise.reject(new Error(res.data.message));
 }
+/**
+ * 获取用户信息
+ */
+export async function getLoginUser (data) {
+  const res = await request.get('/system/account/getLoginUser', data);
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
 
 /**
  * 获取验证码
  */
-export async function getCaptcha() {
+export async function getCaptcha () {
   const res = await request.get('/captcha');
   if (res.data.code === 0) {
     return res.data.data;

+ 6 - 0
src/router/index.js

@@ -9,6 +9,7 @@ import store from '@/store';
 import { getToken } from '@/utils/token-util';
 import { routes, getMenuRoutes } from './routes';
 import { SYSTEM_NAME } from '@/config/setting';
+import { getLoginUser } from '@/api/login';
 
 Vue.use(VueRouter);
 
@@ -31,6 +32,11 @@ router.beforeEach((to, from, next) => {
   }
   // 判断是否登录
   if (getToken()) {
+    if (!store.state.user.info?.userId) {
+      getLoginUser().then((res) => {
+        store.commit('user/setUserInfo', res);
+      });
+    }
     // 还未注册动态路由则先获取
     if (!store.state.user.menus) {
       store