|
|
@@ -3,17 +3,29 @@ import { AuthType } from '@/constants/menu'
|
|
|
import { queryAccountMenu } from '@/services/api/account'
|
|
|
import { defineStore } from '../store'
|
|
|
import { sessionData } from '../storage'
|
|
|
+import { i18n } from "./language";
|
|
|
|
|
|
export const useMenuStore = defineStore(() => {
|
|
|
const loading = shallowRef(false)
|
|
|
const userRoutes = sessionData.getRef('userRoutes')
|
|
|
|
|
|
+
|
|
|
// 获取用户路由表
|
|
|
const getUserRoutes = async () => {
|
|
|
try {
|
|
|
loading.value = true
|
|
|
const res = await queryAccountMenu()
|
|
|
- userRoutes.value = res
|
|
|
+ const loop=(data: Model.UserRoutes[])=>{
|
|
|
+ return data.reduce<Model.UserRoutes[]>((pre, cur) => {
|
|
|
+ pre.push({
|
|
|
+ ...cur,
|
|
|
+ title: i18n.global.t(cur.title),
|
|
|
+ children: cur.children ? loop(cur.children) : [],
|
|
|
+ })
|
|
|
+ return pre
|
|
|
+ }, [])
|
|
|
+ }
|
|
|
+ userRoutes.value = loop(res)
|
|
|
} finally {
|
|
|
loading.value = false
|
|
|
}
|