1. 修复(kinit-api):utils/cache.py 日志模块导入问题修复 2. 修复(kinit-api):token解析失败会报错问题修复 3. 优化(kinit-api):用户登录认证失败返回值优化 4. 优化(kinit-api):获取redis方式统一改为redis_getter(request) 5. 优化(kini-api):文件IO修改为异步操作 6. 优化(kinit-api):关联创建人时将user_id改为create_user_id 7. 文档(kinit-api):kinit-api/README.md 加入查询数据文档 8. 修复(kinit-admin):用户无法导出问题修复 9. 优化(kinit-admin):角色新增与编辑框使用默认父子联动 10. 更新(kinit-admin):usePermissionStore 改为 useRouterStoreWithOut,因为此文件主要记录路由 11. 更新(kinit-admin):取消用户信息的持久化存储,改为仅保存在pinia store共享中,并添加roles,permissions信息 12. 修复(kinit-admin):菜单新增与编辑框,目录与菜单切换时会出现抖动问题修复 13. 优化(kinit-admin):src\hooks\web\useTable.ts 优化删除数据方法 14. 优化(kinit-admin):config/services.ts 新增返回403状态码时直接退出系统 15. 优化(kinit-admin):将store中的本文件使用store调用的,改为this 16. 更新(kinit-admin):路由拦截更新 17. 更新(kinit-api,kinit-admin,kinit-uni):取消接口地址最后面的 /
69 lines
1.9 KiB
TypeScript
69 lines
1.9 KiB
TypeScript
import { defineStore } from 'pinia'
|
||
import { constantRouterMap } from '@/router'
|
||
import { generateRoutesFn2, flatMultiLevelRoutes } from '@/utils/routerHelper'
|
||
import { store } from '../index'
|
||
import { cloneDeep } from 'lodash-es'
|
||
|
||
export interface RouterState {
|
||
routers: AppRouteRecordRaw[]
|
||
addRouters: AppRouteRecordRaw[]
|
||
isAddRouters: boolean
|
||
menuTabRouters: AppRouteRecordRaw[]
|
||
}
|
||
|
||
export const useRouterStore = defineStore('router', {
|
||
state: (): RouterState => ({
|
||
routers: [],
|
||
addRouters: [],
|
||
isAddRouters: false,
|
||
menuTabRouters: []
|
||
}),
|
||
getters: {
|
||
getRouters(): AppRouteRecordRaw[] {
|
||
return this.routers
|
||
},
|
||
getAddRouters(): AppRouteRecordRaw[] {
|
||
return flatMultiLevelRoutes(cloneDeep(this.addRouters))
|
||
},
|
||
getIsAddRouters(): boolean {
|
||
return this.isAddRouters
|
||
},
|
||
getMenuTabRouters(): AppRouteRecordRaw[] {
|
||
return this.menuTabRouters
|
||
}
|
||
},
|
||
actions: {
|
||
generateRoutes(routers?: AppCustomRouteRecordRaw[]): Promise<unknown> {
|
||
return new Promise<void>((resolve) => {
|
||
let routerMap: AppRouteRecordRaw[] = []
|
||
routerMap = generateRoutesFn2(routers as AppCustomRouteRecordRaw[])
|
||
// 动态路由,404一定要放到最后面
|
||
this.addRouters = routerMap.concat([
|
||
{
|
||
path: '/:path(.*)*',
|
||
redirect: '/404',
|
||
name: '404Page',
|
||
meta: {
|
||
hidden: true,
|
||
breadcrumb: false
|
||
}
|
||
}
|
||
])
|
||
// 渲染菜单的所有路由
|
||
this.routers = cloneDeep(constantRouterMap).concat(routerMap)
|
||
resolve()
|
||
})
|
||
},
|
||
setIsAddRouters(state: boolean): void {
|
||
this.isAddRouters = state
|
||
},
|
||
setMenuTabRouters(routers: AppRouteRecordRaw[]): void {
|
||
this.menuTabRouters = routers
|
||
}
|
||
}
|
||
})
|
||
|
||
export const useRouterStoreWithOut = () => {
|
||
return useRouterStore(store)
|
||
}
|