898fae4cb3
用户管理菜单权限此前只含后台 admin(单类型):前端授权树/回显仅拉 menuType=admin, 后端 replaceDirectPermissions 也固定用 ADMIN 作用域写。现改为同时覆盖 后台(admin)+前端客户端(app): - 前端 user-menu-auth 节点携带 type,api 并行拉取 admin/app 两类可授权树与已授权 id 合并去重,树内两类根并存(账号与权限/视频/前端工具/运营工具/后勤工具等) - 后端 PermissionMenuService 新增 resolveMenuTypes(按 id 解析类型);AdminUserService create/update 把勾选 id 拆 admin/app 分区整树替换(internal 不纳入) - 前端 1556 测试全绿 + build 通过;后端单测(AdminUserServiceTest/PermissionMenuServiceTest/Controller/PermissionMenuResolveTypeTest) EXIT 0 - 本地 E2E:创建用户写入 admin=7+app=3 → 按类型回读 admin[7]/app[3],删除正常
Admin Frontend Vue
独立的后台管理前端工程,与客户端 frontend-vue 完全分离。
本地开发
npm install
$env:VITE_API_TARGET = "http://127.0.0.1:18080"
npm run dev
开发入口:http://localhost:5174/admin-vue/
构建
npm run build
npm test
构建产物在 dist/,部署到 Nginx 的 /admin-vue/ 根目录。该工程不写入客户端的 new_web_source,也不打进 Java JAR。
运行时契约
- 登录态:复用同源 Cookie/Session。
- 当前用户:
GET /api/admin/current-user。 - 菜单树:
GET /api/admin/current-user/menus,Java 返回树形菜单。 - 退出登录:
POST /api/admin/logout。 - 前端路由:History 模式,基准路径
/admin-vue/。 - 权限粒度:菜单/页面级,不定义按钮级权限。
首批页面
/admin-vue/account/users/admin-vue/account/menus/admin-vue/account/groups
当前首批页面已接入 Java 现有用户、菜单和数据权限分组 API;Java 菜单接口完成树形响应和 Flyway 菜单迁移后,路由权限守卫即可按最终菜单树工作。