1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- import { ref, computed } from 'vue'
- import { defineStore } from 'pinia'
- import {
- deleteSessionVar,
- getSessionVar,
- saveSessionVar,
- } from "@/utils/session";
- export const useMenuStore = defineStore('menu', () => {
- let routeList = ref(getSessionVar("routeList") ? JSON.parse(getSessionVar("routeList")) : [{
- path: '/kmplatform/openplatform',
- name: 'openplatform',
- title: "开放平台",
- children: []
- }])
- // const routeList = ref([{
- // path: '/kmplatform/home',
- // name: 'kmplatform-home',
- // title: "主页",
- // children: []
- // },
- // {
- // path: '/kmplatform/knowledgebase',
- // name: 'knowledgebase',
- // title: "知识库",
- // children: []
- // },
- // {
- // path: '/kmplatform/kgbuilder',
- // name: 'kgbuilder',
- // title: "知识图谱构建",
- // children: []
- // },
- // {
- // path: '/kmplatform/openplatform',
- // name: 'openplatform',
- // title: "开放平台",
- // children: []
- // },
- // {
- // path: '/kmplatform/kgpermission',
- // name: 'kgpermission',
- // title: "系统权限",
- // children: []
- // }
- // ])
- const operationPermissions = computed(() => {
- let permissions = {}
- function traverseTree(node) {
- // 如果当前节点有子节点,递归遍历每个子节点
- if (node.children && node.children.length > 0) {
- node.children.forEach(child => {
- permissions[child.menu_route] = true
- // console.log(child.name); // 处理子节点
- traverseTree(child); // 递归遍历子节点的子节点
- });
- }
- }
- routeList.value.forEach(node => {
- traverseTree(node);
- });
- return permissions
- })
- const updateRouteList = (newRoutes) => {
- routeList.value = newRoutes; // 更新路由列表
- };
- function isOP(code) {
- return operationPermissions.value[code] ? true : false;
- }
- return { routeList, updateRouteList, operationPermissions, isOP }
- })
|