新增服务端菜单校验与归一化逻辑,完善菜单相关Schema;前端实现条件渲染的菜单编辑器,支持搜索式图标选择器与父级树过滤。新增媒体URL统一处理工具修复管理端本地静态资源路径映射问题,更新全部相关文档、技术决策记录与测试用例。本次变更不影响WonderQ-MiniAPP端。
34 lines
1.5 KiB
Markdown
34 lines
1.5 KiB
Markdown
# WonderQ Admin UI Vue
|
||
|
||
WonderQ 管理端 Vue3 迁移端,采用 Vue 3、Element Plus、TypeScript、Pinia 和 Vue Router 4。
|
||
|
||
## 启动
|
||
|
||
```powershell
|
||
yarn install
|
||
yarn dev
|
||
```
|
||
|
||
开发地址:http://localhost:5604/admin/
|
||
|
||
默认通过 Vite `/api` 代理访问 `http://localhost:4000`,可使用 `VITE_API_PROXY_TARGET` 覆盖。生产构建使用 `yarn build`,静态产物由反向代理挂载到 `/admin`。
|
||
|
||
管理端会将后端返回的本地兜底图片 `/assets/...` 映射到管理端静态资源 `/admin/assets/...`;首页配置所需的本地兜底图片已随管理端构建提供。OSS 图片仍使用后端返回的临时可访问 URL。
|
||
|
||
## 认证约定
|
||
|
||
- Access Token 只保存在运行时内存,不写入 localStorage。
|
||
- Refresh Token 由后端以 HttpOnly Cookie 保存。
|
||
- 401 会自动调用 `/api/admin/auth/refresh` 并重试一次;刷新失败后返回登录页。
|
||
- 菜单和按钮权限来自 `/api/admin/system/profile`,前端只加载预注册组件。
|
||
- 管理端界面图标统一使用 `@element-plus/icons-vue`;菜单图标通过 `src/components/layout/LayoutIcon.vue` 的白名单适配器映射,未知图标回退为默认图标。
|
||
- 菜单管理按 RuoYi 风格提供目录、页面、按钮三类编辑字段;父级菜单使用服务端树,排除按钮和当前编辑分支,图标选择器支持搜索、清空和 Element Plus 图标网格。
|
||
- `ConciergeDetail.icon` 等接口字段是业务内容数据,不属于 UI 图标,不在图标迁移范围内。
|
||
|
||
## 验证
|
||
|
||
```powershell
|
||
yarn test
|
||
yarn build
|
||
```
|