liuyun
da7a5b703e
feat(auth): 顶栏租户切换入口(仅超管显示)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-12 00:02:39 +08:00
liuyun
3746198f19
feat(tenant): 登录后应用租户品牌(主色/标题/Logo/版权)+ 租户表单品牌字段
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 22:32:25 +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
42b0a6a479
feat(auth): 登录多租户选择弹窗 + auth store 登录签名调整
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 16:41:26 +08:00
liuyun
b03e9ef62b
feat(auth): 用户自助修改密码
...
- PATCH /auth/me/password(校验原密码 + tokenVersion 吊销其它会话)
- 顶栏用户下拉新增「修改密码」
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 16:34:14 +08:00
liuyun
23da579b26
feat(auth): 注册真实化 + 注册/忘记密码默认隐藏
...
- register.vue 接入 POST /auth/register
- defaultLoginConfig showRegister/showForgetPassword 默认 false
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 16:29: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
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