15 Commits

Author SHA1 Message Date
liuyun
5de298a956 feat(auth): 首登强制改密页面 + 创建用户开关
- 独立改密页 + 路由守卫拦截待改密
- auth store 持久化 mustChangePassword
- 用户创建表单加「首登强制改密」开关(默认勾选)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 21:54:41 +08:00
liuyun
ce45d93ce5 feat(session): 在线会话页面 + 用户锁定/解锁 UI
- 新增 monitor/session 在线会话页面(列表 + 强退 + 踢全部)
- 用户页新增锁定/解锁操作,锁定状态独立标签展示
- api/session.ts + api/user.ts 扩展

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 21:35:54 +08:00
liuyun
d37af1b73e feat(rbac): 批量删除联调 + 角色数据权限部门分配 UI
- 用户/组织/资源页批量删除改批量接口 + 失败汇总提示
- 角色页新增「分配部门」(dataScope=custom 时显示,部门树勾选)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 17:42:16 +08:00
liuyun
84edbc67c0 feat(rbac): 路由级权限过滤 + 403 页
- 路由守卫按可访问菜单 path 校验,无权跳转 /403
- 新增 403 页

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 16:22:19 +08:00
liuyun
2f7f83b8b1 feat(rbac): 按钮级权限控制(v-permission + 权限 store + 用户页导出)
- 新增 permission store + v-permission 指令(响应式,异步权限加载后可恢复)
- ty-crud 支持 createPermission 与动作 permission 过滤
- 用户页:分配角色/重置密码按权限码显示,新增导出按钮 + CSV 导出

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 16:19:53 +08:00
liuyun
7d0088dd10 feat: tenant management page
- api/tenant.ts + /system/tenant 页面(ty-crud)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 12:49:55 +08:00
liuyun
f1cb5723b2 feat: wire all management pages to backend (config/dict/org/resource/role/audit/login-log)
- 401 自动登出:http 会话过期回调 + main.ts 注册(清 menu/tabs + 跳登录)
- 参数配置/字典/组织/资源/角色/操作日志/登录日志对接真实接口
- 角色管理新增权限分配树(el-tree 勾选资源,/roles/:code/resources)
- 操作日志/登录日志只读页(ty-search-form + ty-table + useRequest)
- listOrgs 迁到 api/org.ts

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 12:45:53 +08:00
liuyun
c95aa594cb feat: configurable login page + register/forgot-password pages
- 登录页配置化:src/config/login.ts(品牌/布局/字段/开关),split/card 两种布局
- JsonSchemaProperty 新增 prefixIcon
- 注册 /register、忘记密码 /forgot-password 独立页面(blank 布局)
- 登录/注册/忘记密码统一 blank 布局(新增 blank.vue)
- 注册/重置成功后带 username 回填登录页

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 11:34:41 +08:00
liuyun
b9c3a64c34 feat: resource management page + 404 fallback + header fixes
- 资源管理:树形表格 + type 联动表单(menu/button/api 字段显隐)
- ty-form 新增 when 条件字段显隐;ty-crud 表单模型改 reactive
- 抽出 src/utils/tree.ts(buildTree/filterTree/collectDescendants),组织页复用
- 404 兜底:catch-all 路由 [...all].vue
- 顶栏去掉横向菜单底边框;修复切 Tab 顶部一级菜单高亮不跟随

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 11:06:21 +08:00
liuyun
b5d95c95d8 feat: dictionary & organization management pages
- 字典管理:左右分栏主从布局,20 个字典类型,el-scrollbar 滚动
- 组织管理:树形表格 + 上级组织 tree-select,级联删除下级
- ty-table 新增树形支持(row-key/tree-props/default-expand-all)
- ty-form 新增 tree-select 控件(format/treeData/treeProps)
- JsonSchemaProperty 扩展 tree-select 相关字段

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 10:44:06 +08:00
liuyun
35892486e8 feat: unified dialog manager (showDialog service + ty-dialog host)
- 新增 showDialog({component, props, title,...}) 服务,返回 Promise
- 内容组件 defineExpose({submit}) 校验并返回数据,校验失败对话框不关闭
- <ty-dialog /> 宿主挂 App.vue,统一渲染对话框栈(支持嵌套)
- ty-crud 改用 showDialog 打开表单(移除 ty-form-dialog)
- ty-form 增加 submit();用户管理页重置密码抽成独立组件 + showDialog

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 10:17:09 +08:00
liuyun
16b512a3f1 feat: config management page
参数配置页:纯键值 CRUD,复用 ty-crud + JSON Schema 零新组件。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 10:06:47 +08:00
liuyun
5549b2e75c feat: user management page (search/table/pagination/dialog/delete/reset-pwd)
占位数据源 src/api/user.ts(字段对齐后端 User),页面跑通 CRUD 模式,后续接后端只换数据源。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 01:16:08 +08:00
liuyun
6ef0b1121c feat: admin layout shell with Element Plus and configurable theme
- 集成 Element Plus(on-demand resolver + 中文 locale + 暗黑 css-vars)
- 布局壳组件(ty-header/ty-mixbar/ty-sidebar/ty-tabs/ty-breadcrumb/ty-footer/ty-setting/ty-setting-panel),中划线 + ty 前缀 + 自动导入,props/emits 解耦
- 5 种布局/导航模式 + 主题色(#2E7FA3) + 暗黑 + 侧栏折叠/宽度 + 固定顶栏/底栏 + 面包屑/多页签/全屏/手风琴
- 默认值集中配置 src/config/layout.ts;菜单字段对齐后端 resource(src/types/resource.ts + src/config/menu.ts)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 00:12:59 +08:00
liuyun
9730b9fd5e chore: init sysmgr-admin (Vue3 scaffold)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-10 14:03:19 +08:00