feat: add admin client policy control
This commit is contained in:
+3
-1
@@ -74,6 +74,7 @@ T-627 已新增迁移申请 / 轮询和网页登录确认:客户端必须同
|
||||
| 配置审计 | AiConfigAuditLog | 只读查看 AiModel / ModelAlias / 密钥变更:谁、何时、改了什么 |
|
||||
| 客户端下载版本 | DownloadRelease | 上传安装包或填写外部下载地址,标记每个平台当前版本、是否强制更新和文件大小字节数;新增 / 编辑时必须填写 SHA256 与文件大小字节数;展示版本、SHA256、强制更新标记与发布说明 |
|
||||
| 导入模板 | ImportTemplate | 上传导入模板或填写外部下载地址,标记当前模板;展示模板名称、SHA256 与说明 |
|
||||
| 客户端订阅策略 | ClientSubscriptionPolicy | 仅超级管理员维护单一 `off` / `observe` / `enforce` 客户端启动策略;保存必须填写原因,详情页只读显示审计和服务端 `CMSHOPEE_SUBSCRIPTION_MODE`,保存后版本检查接口立即发布 |
|
||||
| 会员套餐 | SoftwarePlan | 软件授权模块默认可见;维护蝦皮圈套餐的时长、价格、设备数、宽限期与启停状态,修改不回写已有权益快照 |
|
||||
| 用户会员 | SoftwareEntitlement | 软件授权模块默认可见;只读查看用户权益和套餐快照,通过专用后台页面人工授予、续期或撤销,三种操作均必须填写原因并写授权事件 |
|
||||
| 客户端设备(隐藏导航) | ClientDevice | 只读检索蝦皮圈设备平台、版本、状态和最近活跃时间;设备摘要仅脱敏显示 |
|
||||
@@ -103,10 +104,11 @@ T-627 已新增迁移申请 / 轮询和网页登录确认:客户端必须同
|
||||
|
||||
### 软件授权
|
||||
|
||||
- T-632 后 django-admin 应用索引只展示“会员套餐”和“用户会员”。其他授权、订单、设备与审计模型仍注册且可通过直接管理地址访问,隐藏导航不等于删除数据或放宽权限。
|
||||
- T-636 后 django-admin 应用索引展示“客户端订阅策略”、“会员套餐”和“用户会员”。客户端策略是全局单例,只有超级管理员可新增 / 编辑、不能删除;策略审计不单独出现在导航。其他授权、订单、设备与审计模型仍注册且可通过直接管理地址访问,隐藏导航不等于删除数据或放宽权限。
|
||||
- 开发测试阶段设置 `CMSHOPEE_SUBSCRIPTION_MODE=open`,运营无需给所有存量用户逐个创建长期权益;正式启用前按 `open` → `shadow` → `enforce` 顺序切换。
|
||||
- T-626 的套餐、权益和席位只提供运营基础数据与人工操作,不新增公开接口、不接支付订单,也不改变通用生成 API 的授权结果。
|
||||
- 授予 / 续期 / 撤销一律调用 `apps.licensing.services`;原因必填并产生 `LicenseEvent`。不得在 admin 表单中直接修改权益状态、到期时间、席位绑定或历史事件。
|
||||
- 客户端策略一律调用 `set_client_subscription_policy()`;模式不变会被拒绝,避免写入伪审计。它只影响新版客户端体验,不能修改 `CMSHOPEE_SUBSCRIPTION_MODE`,也不能替代服务端授权。
|
||||
- 已授予权益读取自身套餐快照,不随 `SoftwarePlan` 后续价格、时长或设备数变化而变化;席位数量由授予时快照固定。
|
||||
- 不允许在后台修改或删除流水与调用记录(账目不可篡改)。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user