feat(ECR-010): Ops-E 系统运营;修复登出解绑;P2 Complete
ci / h5 (push) Canceled after 0s
ci / api (push) Canceled after 0s
ci / ess-docs (push) Canceled after 0s

落地管理员 RBAC/封禁/推送任务 stub,logout 解绑 device 并统一各页 ensureAccount,同时收口 P2 生日生成与状态文档。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
jackyu66git
2026-08-11 18:54:59 +08:00
co-authored by Cursor
parent 0ee4d4f5ae
commit 5ceb3ce749
85 changed files with 2098 additions and 103 deletions
@@ -0,0 +1,45 @@
# BD-2026-010 — Ops-E System
Status: Approved
**ECR:** ECR-010
**Date:** 2026-08-11
## Backend Change Boundary
### In
- `admin_accounts.role` TEXT NOT NULL DEFAULT `super` CHECK (`super`,`ops`)
- `users.status` CHECK (`active`,`banned`)(存量保持)
-`push_jobs`
- AdminRepoSetUserStatus · ListAdmins · UpdateAdminRole · PushJobs CRUD
- admin.ServiceRequireSuper · Ban/Unban · role on Me
- DeviceAuthbanned → 40310 + revoke sessions
- Handler 路由挂载;OpenAPI
### Out
- 推送厂商 · Worker · 动态权限表 · Handler 直连 DB
### Ownership
| Layer | Owner |
|-------|--------|
| Repository | AdminRepo |
| Service | admin.Service |
| Handler | AdminHandler |
| Middleware | DeviceAuth / AdminAuth |
| UI | admin-h5 UserDetail / Push / Admins |
## Architecture Evidence
仍:Handler → Service → Repository;无新外部依赖。
## Failure / Rollback
- down migration 删 role 列与 push_jobs;封禁用户需人工恢复 status
- 错误码:40301 无权限 · 40310 用户已封禁
## Test Strategy
- integrationops 403 写接口;ban/unban + DeviceAuthpush CRUD
- admin-h5 build