refactor: 优化市场价值计算逻辑和行业均值计算 fix: 修复环境变量和配置文件问题 chore: 更新Docker镜像版本至v1.4 docs: 更新需求文档和部署说明 style: 调整代码格式和样式 build: 配置Vite构建工具和依赖管理 test: 添加前端组件测试基础 ci: 设置CI/CD脚本和工作流 perf: 优化前端性能和数据加载
35 lines
867 B
JavaScript
35 lines
867 B
JavaScript
import { useUserStore, usePermissionStore } from '@/store'
|
|
|
|
function hasPermission(permission) {
|
|
const userStore = useUserStore()
|
|
const userPermissionStore = usePermissionStore()
|
|
|
|
const accessApis = userPermissionStore.apis
|
|
if (userStore.isSuperUser) {
|
|
return true
|
|
}
|
|
return accessApis.includes(permission)
|
|
}
|
|
|
|
export default function setupPermissionDirective(app) {
|
|
function updateElVisible(el, permission) {
|
|
if (!permission) {
|
|
throw new Error(`need roles: like v-permission="get/api/v1/user/list"`)
|
|
}
|
|
if (!hasPermission(permission)) {
|
|
el.parentElement?.removeChild(el)
|
|
}
|
|
}
|
|
|
|
const permissionDirective = {
|
|
mounted(el, binding) {
|
|
updateElVisible(el, binding.value)
|
|
},
|
|
beforeUpdate(el, binding) {
|
|
updateElVisible(el, binding.value)
|
|
},
|
|
}
|
|
|
|
app.directive('permission', permissionDirective)
|
|
}
|