Selaa lähdekoodia

fix: 登录优化

Gaokun Wang 1 kuukausi sitten
vanhempi
sitoutus
e02ad16789

+ 1 - 1
src/api/module/system/menu.ts

@@ -1,7 +1,7 @@
 import http from '@/axios'
 class MenuApi {
   static getMenuList = (): Promise<ResultData<any>> => {
-    return http.get<Menu.MenuOptions[]>({ url: '/system/menu/getRouters' })
+    return http.get<Menu.MenuOptions[]>({ url: '/system/menu/list' })
   }
 }
 export default MenuApi

+ 2 - 3
src/router/modules/dynamicRouter.ts

@@ -2,6 +2,7 @@ import { LOGIN_URL } from '@/constants'
 import router from '@/router'
 import { useAuthStore, useUserStore } from '@/stores'
 import type { RouteRecordRaw } from 'vue-router'
+import MenuApi from '@/api/module/system/menu'
 
 // 引入 views 文件夹下所有 vue 文件
 const modules = import.meta.glob('@/views/**/*.vue')
@@ -15,9 +16,7 @@ export const initDynamicRouter = async () => {
   //   const optionsStore = useOptionsStore()
   try {
     if (authStore.isLoaded) return
-    authStore.setAuthMenuList()
-    authStore.setAuthButtonList()
-    authStore.setAuthRoleList()
+    authStore.setMenuList()
     // optionsStore.setReloadOptions()
     // await optionsStore.getAllDictList()
     authStore.setLoaded()

+ 1 - 0
src/stores/modules/user.ts

@@ -83,6 +83,7 @@ export const useUserStore = defineStore('eco-user', {
     },
     setToken(tokenStr: string) {
       this.token = tokenStr
+      setToken(tokenStr)
     }
   }
 })

+ 3 - 1
src/views/login/index.vue

@@ -23,6 +23,7 @@ import { type FormInstance } from 'element-plus'
 import { useUserStore } from '@/stores'
 import router from '@/router'
 import { LocationQuery } from 'vue-router'
+import { initDynamicRouter } from '@/router/modules/dynamicRouter'
 const ruleFormRef = ref<FormInstance>()
 const route = useRoute()
 const userStore = useUserStore()
@@ -43,8 +44,9 @@ const submitForm = (formEl: FormInstance | undefined) => {
   if (!formEl) return
   formEl.validate(valid => {
     if (valid) {
-      userStore.userLogin({ ...loginForm }).then(res => {
+      userStore.userLogin({ ...loginForm }).then(async res => {
         if (res.code === 200) {
+          await initDynamicRouter()
           const { path, queryParams } = parseRedirect()
           router.push({ path: path, query: queryParams })
           // ElMessage.success('提交成功')