14 Commits

Author SHA1 Message Date
liuyun
64bbb0a987 feat(notice): 顶栏通知铃铛 + 通知管理页
- ty-notice 铃铛(未读角标 + 列表 + 已读)+ notice store 轮询
- 通知管理页(ty-crud)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 22:25:22 +08:00
liuyun
ff0e1dcd27 feat(layout): 多页签 keep-alive(默认缓存,meta.keepAlive:false 可关)
- 11 个菜单页面补 defineOptions name(缓存标识)
- tabs store 加 keepAlive 字段 + pathToName 辅助
- layout 用 keep-alive 包裹 router-view,按打开且未关闭缓存的页签缓存

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 22:13:18 +08:00
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
ed1a1e115c fix: 401 强退重置 authStore + dictStore 支持 force 刷新
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 16:43:31 +08:00
liuyun
42b0a6a479 feat(auth): 登录多租户选择弹窗 + auth store 登录签名调整
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 16:41:26 +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
23e228783c feat: dict-driven rendering — useDict + component dictCode
- 新增 dict store 与 useDict Hook(登录后缓存、登出清空)
- ty-form/ty-table 支持 dictCode 自动解析下拉与标签
- 用户/角色/资源/组织/租户/审计/登录日志页去硬编码映射
- 字典管理页内置标记、value 保护、标签色编辑

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 14:29:28 +08:00
liuyun
77917573c1 feat: real menu rendering + axios/useRequest integration
- axios OO 封装(src/api/http.ts):请求拦截鉴权头、拆 {code,message,data}、401 刷新重放
- useRequest composable(manual/refreshDeps/cancel/mutate)
- ty-crud 列表加载改用 useRequest,修复分页切换不重新请求
- 用户管理对接真实接口(列表/增删改/重置密码/组织下拉),ty-table 日期兼容 ISO
- 菜单真实渲染:GET /auth/menus + 菜单 store,布局/页签/面包屑从接口取
- 登录/注册/忘记密码去掉租户编码字段(用配置默认租户),暗黑模式品牌区背景适配
- 退出登录清空菜单 + 页签

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 12:19:24 +08:00
liuyun
1df44fd57e feat: complete multi-tab (fixed home, neighbor nav, right-click close)
- 首页 tab 固定不可关闭,tab 持久化(刷新保留)
- 关闭激活 tab 跳转到相邻 tab(而非最后一个)
- 自定义 tab 条 + 右键菜单:关闭其他/左侧/右侧/全部

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 10:04:06 +08:00
liuyun
66f4a38c98 feat: align header logo with sidebar, slim footer, mixbar only in sidebar layout
- MixBar 仅左右(sidebar)布局可用,horizontal 不再渲染
- 底部 footer 高度收紧
- 顶栏 Logo 区与左侧菜单(或 MixBar+菜单)同宽;侧栏折叠仅显 Logo、展开显 Logo+标题
- 安装 sharp 使 logo.png 构建时优化(-81%)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 00:35:49 +08:00
liuyun
86af3c10e1 fix: render header in all layouts (sidebar layout has tools-only header)
左右布局顶栏仅不含导航菜单,折叠/面包屑/全屏/暗黑/设置/用户等工具照常;
固定顶栏对所有布局生效(移除左右禁用)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 00:23:25 +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
8d148937b1 feat: frontend auth foundation (API client, login page, router guard)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-10 21:13:55 +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