Files
quyun-v2/frontend/tenant_admin/TENANT_ADMIN_PORTAL.md
2025-12-24 17:08:09 +08:00

108 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 租户管理员管理 Portalfrontend/tenant_admin规划
以“中老年人可用性”为第一准则:**大字、少层级、少打扰、强反馈、可撤销**。本规划基于现有后端租户管理员接口:`/t/:tenantCode/v1/admin/*`
## 1. 设计准则(必须遵守)
### 1.1 视觉与可读性
- 默认开启“大字模式”:正文 ≥ 1618px关键数字/按钮 ≥ 1820px行高 ≥ 1.5。
- 高对比配色:文字与背景对比度优先(避免浅灰字+浅灰底);状态色同时配文字标签(不只靠颜色)。
- 重要信息“一屏可读”:首屏优先展示“今天/本月关键数据 + 待办”。
### 1.2 交互与流程
- **三步以内完成**:常用任务(发布内容、调价、处理退款、通过入驻)不超过 3 步。
- **少记忆**:减少需要用户记住的字段(例如状态/角色用下拉;金额用分步输入+自动格式化)。
- **强反馈**:所有提交必须有 loading、成功提示与失败原因可复制避免“静默失败”。
- **可撤销**:高风险操作(下架/封禁/退款/移除成员/禁用邀请)必须二次确认,并提供“操作记录/可追溯”入口。
### 1.3 列表呈现(中老年友好)
- 列表优先“卡片式信息块”,表格仅用于“需要对比多列”的场景。
- 筛选默认收起为“基础筛选”;“高级筛选”折叠面板,避免压迫感。
- 每条记录提供明确的“主要动作按钮”(如:下架/通过/退款),避免图标-only。
## 2. 信息架构(路由与菜单建议)
建议路由基座:`/t/:tenantCode/admin/`(便于天然携带 tenantCodeAPI 仍走 `/t/:tenantCode/v1/admin/*`
### 菜单(一级不超过 6 个)
1) 概览Dashboard
2) 内容管理
3) 订单与退款
4) 成员管理
5) 邀请与入驻
6) 财务流水
## 3. 页面与功能(页面 → 关键交互 → 对应接口)
### 3.1 登录与租户上下文
- 登录页:大输入框、显示/隐藏密码、登录失败提示可复制。
- 租户切换:若未来支持同一管理员多租户,提供“切换租户”入口(卡片列表)。
- 接口(若已有):`/t/:tenantCode/v1/*` 的登录/鉴权体系(按现有项目登录方案对接)。
### 3.2 概览 Dashboard优先做
目标:一眼看懂 + 一键处理待办。
- 今日/本月:订单数、收入(来自订单/流水聚合)、退款中数量、待处理入驻申请数量。
- 待办区:入驻申请(通过/拒绝)、退款申请(查看/处理)、内容审核中(如果存在 reviewing
- 数据来源:`GET /t/:tenantCode/v1/admin/orders``GET /t/:tenantCode/v1/admin/ledgers``GET /t/:tenantCode/v1/admin/join-requests`(前端聚合,必要时再增后端统计接口)。
### 3.3 内容管理(发布/下架/定价/素材)
#### 3.3.1 内容列表(卡片 + 关键动作)
- 展示:标题、状态(草稿/已发布/已下架/封禁)、可见性、价格(免费/¥)、发布时间。
- 操作:编辑、调价、绑定素材、下架(已发布才显示)、重新上架(若允许)。
- 接口:`POST /admin/contents``PATCH /admin/contents/:contentID``PUT /admin/contents/:contentID/price``POST /admin/contents/:contentID/assets`
#### 3.3.2 发布向导(强引导)
三步向导:
1) 基本信息(标题/描述/可见性)
2) 上传素材(主视频/试看/封面)
3) 定价与发布(免费/付费,确认发布)
失败时给出“下一步建议”(例如:素材未 ready
#### 3.3.3 素材库Media Assets
- 列表状态uploaded/processing/ready/failed、类型、上传时间提供“重新触发处理/删除”。
- 上传:引导式上传(单文件/多文件),显示上传进度与完成确认。
- 接口:`GET /admin/media_assets``GET /admin/media_assets/:assetID``POST /admin/media_assets/upload_init``POST /admin/media_assets/:assetID/upload_complete``DELETE /admin/media_assets/:assetID`
### 3.4 订单与退款(中老年人常用)
#### 3.4.1 订单列表
- 基础筛选:订单号、买家用户名、状态(已支付/退款中/已退款)。
- 卡片展示:买家、金额、状态、创建/支付时间;提供“查看详情”与“发起退款”。
- 接口:`GET /admin/orders``GET /admin/orders/:orderID``GET /admin/orders/export`
#### 3.4.2 退款处理
- 退款弹窗:原因(可选模板)、二次确认、成功后提示“退款处理中”。
- 接口:`POST /admin/orders/:orderID/refund`
### 3.5 成员管理(更强调“安全、少误触”)
- 成员列表:用户名、角色、加入时间;角色变更入口明显,但默认收起到详情页避免误触。
- 操作移除成员二次确认、设置角色member/tenant_admin
- 接口:`GET /admin/users``PATCH /admin/users/:userID/role``DELETE /admin/users/:userID``POST /admin/users/:userID/join`(平台或客服协助加入)。
### 3.6 邀请与入驻(把“待办”放在首屏)
#### 3.6.1 邀请管理
- 创建邀请:生成邀请码/链接,一键复制;可设置有效期/次数(若后端支持)。
- 列表:状态、创建时间、使用情况;禁用邀请(二次确认)。
- 接口:`POST /admin/invites``GET /admin/invites``PATCH /admin/invites/:inviteID/disable`
#### 3.6.2 入驻申请Join Requests
- 列表:申请人、申请时间、备注(若有)、状态;一键通过/拒绝。
- 接口:`GET /admin/join-requests``POST /admin/join-requests/:requestID/approve``POST /admin/join-requests/:requestID/reject`
### 3.7 财务流水Ledger
- 展示:收入/退款/手续费等(按 `TenantLedgerType`),支持时间筛选与导出(若后端支持)。
- 接口:`GET /admin/ledgers`
## 4. 组件与交互规范(落地建议)
- 全局提供“简洁模式/大字模式”开关(默认大字);切换后记忆到 `localStorage`
- 列表默认“卡片视图”,提供“表格视图”切换(给高频专业用户)。
- 表单控件:金额用“元”输入但内部转换为“分”;日期选择器默认提供“今天/近7天/本月”快捷。
- 错误提示:同时展示“可读中文 + request_id可复制便于客服协助。
## 5. MVP 迭代顺序(建议)
1) 登录/鉴权 + Dashboard含待办
2) 内容管理:列表 + 发布向导 + 下架
3) 订单列表 + 退款
4) 成员管理 + 入驻申请
5) 邀请管理 + 财务流水