初始化
This commit is contained in:
45
docs/projects/xk-admin/design.md
Normal file
45
docs/projects/xk-admin/design.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# xk-admin 设计思路
|
||||
|
||||
## 架构决策
|
||||
|
||||
### Monorepo 结构
|
||||
|
||||
采用 pnpm workspace + Turborepo 的 Monorepo 架构:
|
||||
- **apps/web-antd**: 主应用,包含所有业务页面
|
||||
- **internal/**: 内部共享包(构建配置、工具)
|
||||
- **packages/**: 共享工作区包(可复用的组件库)
|
||||
- **playground/**: 开发调试环境
|
||||
|
||||
### Vben Admin Pro
|
||||
|
||||
选择 Vben Admin Pro 作为基础框架:
|
||||
- 开箱即用的管理后台模板
|
||||
- 完善的权限体系(菜单权限 + 按钮权限)
|
||||
- 丰富的布局和主题配置
|
||||
- TypeScript 支持
|
||||
|
||||
### 多角色菜单
|
||||
|
||||
通过后端动态菜单接口 (`auth/menu`) 加载菜单,不同角色看到不同菜单:
|
||||
- 前端不硬编码菜单结构
|
||||
- 菜单数据由后端 `xk_menu` 表管理
|
||||
- 支持菜单层级、图标、排序、隐藏
|
||||
|
||||
### 按钮权限
|
||||
|
||||
使用 `v-access:code` 自定义指令控制按钮级权限:
|
||||
- 权限码从后端 `auth/codes` 接口获取
|
||||
- 指令在元素级别控制显示/隐藏
|
||||
- 避免前端硬编码权限判断
|
||||
|
||||
## 技术选型
|
||||
|
||||
| 决策 | 选择 | 理由 |
|
||||
|------|------|------|
|
||||
| 框架 | Vue 3 + Vben Admin Pro | 成熟的管理后台方案 |
|
||||
| UI 库 | Ant Design Vue | 企业级 UI 组件库 |
|
||||
| 状态管理 | Pinia | Vue 3 官方推荐 |
|
||||
| 路由 | Vue Router | Vue 生态标准 |
|
||||
| 构建 | Vite + Turborepo | 快速开发和构建 |
|
||||
| 包管理 | pnpm | 高效的依赖管理 |
|
||||
| 语言 | TypeScript | 类型安全 |
|
||||
Reference in New Issue
Block a user