docs(spec): 归档 tenant-brand + 同步租户品牌主 spec
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
27bdb6f164
commit
ed9af5337d
@ -26,3 +26,10 @@
|
|||||||
#### Scenario: 删除租户
|
#### Scenario: 删除租户
|
||||||
- **WHEN** 删除租户
|
- **WHEN** 删除租户
|
||||||
- **THEN** 其用户/角色/资源/组织/字典/日志一并清理
|
- **THEN** 其用户/角色/资源/组织/字典/日志一并清理
|
||||||
|
|
||||||
|
### Requirement: 租户品牌维护
|
||||||
|
系统 SHALL 支持管理员在新增/编辑租户时填写品牌名、Logo、主色、版权,并在租户详情/列表中返回。
|
||||||
|
|
||||||
|
#### Scenario: 编辑租户品牌
|
||||||
|
- **WHEN** 管理员编辑某租户的品牌字段
|
||||||
|
- **THEN** 品牌字段保存并可查询
|
||||||
|
|||||||
@ -74,6 +74,17 @@
|
|||||||
- **WHEN** 用户开启「固定底部」
|
- **WHEN** 用户开启「固定底部」
|
||||||
- **THEN** 版权条常驻视口底部;关闭时随内容滚动
|
- **THEN** 版权条常驻视口底部;关闭时随内容滚动
|
||||||
|
|
||||||
|
### Requirement: 租户品牌应用
|
||||||
|
前端 SHALL 在登录后拉取当前租户品牌,并应用:主色覆盖默认主题色、Logo/品牌名显示于顶栏、版权显示于底部;字段为空时回退默认。
|
||||||
|
|
||||||
|
#### Scenario: 应用租户品牌
|
||||||
|
- **WHEN** 用户登录某租户
|
||||||
|
- **THEN** 顶栏标题/Logo、主题色、底部版权按该租户品牌渲染
|
||||||
|
|
||||||
|
#### Scenario: 缺省回退
|
||||||
|
- **WHEN** 租户未配置某品牌字段
|
||||||
|
- **THEN** 该字段回退为默认值(标题回退 name、主题色回退默认主色)
|
||||||
|
|
||||||
### Requirement: 布局设置持久化
|
### Requirement: 布局设置持久化
|
||||||
所有布局与主题设置 SHALL 持久化到 localStorage,刷新页面后保持。
|
所有布局与主题设置 SHALL 持久化到 localStorage,刷新页面后保持。
|
||||||
|
|
||||||
|
|||||||
@ -96,3 +96,14 @@
|
|||||||
#### Scenario: 标记已读
|
#### Scenario: 标记已读
|
||||||
- **WHEN** 用户请求 POST /notices/:id/read
|
- **WHEN** 用户请求 POST /notices/:id/read
|
||||||
- **THEN** 该通知对当前用户标记为已读
|
- **THEN** 该通知对当前用户标记为已读
|
||||||
|
|
||||||
|
### Requirement: 租户品牌接口
|
||||||
|
系统 SHALL 提供 `GET /auth/brand`(仅登录态),返回当前租户品牌(name、brandName、logoUrl、themeColor、copyright);tenant 的新增/编辑/列表接口 SHALL 支持品牌字段。
|
||||||
|
|
||||||
|
#### Scenario: 拉取当前租户品牌
|
||||||
|
- **WHEN** 已登录用户请求 GET /auth/brand
|
||||||
|
- **THEN** 返回其所在租户的品牌字段(缺省为空)
|
||||||
|
|
||||||
|
#### Scenario: 维护租户品牌
|
||||||
|
- **WHEN** 管理员新增或编辑租户并填写品牌字段
|
||||||
|
- **THEN** 品牌字段随 tenant 一并保存与返回
|
||||||
|
|||||||
@ -35,6 +35,13 @@
|
|||||||
- **WHEN** 用户阅读某通知
|
- **WHEN** 用户阅读某通知
|
||||||
- **THEN** 写入 notice_read 记录其 read_at
|
- **THEN** 写入 notice_read 记录其 read_at
|
||||||
|
|
||||||
|
### Requirement: 租户品牌字段
|
||||||
|
tenant 实体 SHALL 新增可空品牌字段:`brand_name`(品牌显示名)、`logo_url`(Logo 地址)、`theme_color`(主色,如 #2E7FA3)、`copyright`(版权文案);为空时前端回退默认值或 `name`。
|
||||||
|
|
||||||
|
#### Scenario: 租户配置品牌
|
||||||
|
- **WHEN** 管理员为租户填写品牌名/Logo/主色/版权
|
||||||
|
- **THEN** 存入 tenant 对应字段,登录该租户后前端按此渲染
|
||||||
|
|
||||||
### Requirement: 资源类型与代码
|
### Requirement: 资源类型与代码
|
||||||
resource 实体 SHALL 通过 type 字段区分菜单(menu)、按钮(button)、接口(api)三种类型;「目录」由菜单节点是否拥有菜单子节点推导,不设独立类型。每个 resource SHALL 拥有租户内唯一的 code,作为关联键与权限标识。
|
resource 实体 SHALL 通过 type 字段区分菜单(menu)、按钮(button)、接口(api)三种类型;「目录」由菜单节点是否拥有菜单子节点推导,不设独立类型。每个 resource SHALL 拥有租户内唯一的 code,作为关联键与权限标识。
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user