Appearance
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