Skip to content

auth

路径:packages/shared/auth

纯 TypeScript 权限与菜单工具,不依赖 Vue / React,可在任意端使用。

权限判断

typescript
import { hasPermission, hasAnyPermission, hasRole } from '@xichen-full-stack/auth'

hasPermission(permissions, 'system:user:create')
hasAnyPermission(permissions, ['system:user:update', 'system:user:delete'])

菜单处理

typescript
import { filterMenusByPermission, menusToRoutes } from '@xichen-full-stack/auth'

const visible = filterMenusByPermission(allMenus, permissions)
const routes = menusToRoutes(visible)

admin 包内部实现了类似逻辑;auth 包可供 mobile 或非 admin 场景复用。

与后端对齐

权限码字符串必须与 sys_permission.code 完全一致,如 system:user:list

构建

bash
pnpm --filter @xichen-full-stack/auth build

Xichen Full Stack 内部文档