6.4 KiB
6.4 KiB
租户管理员管理 Portal(frontend/tenant_admin)规划
以“中老年人可用性”为第一准则:大字、少层级、少打扰、强反馈、可撤销。本规划基于现有后端租户管理员接口:/t/:tenantCode/v1/admin/*。
1. 设计准则(必须遵守)
1.1 视觉与可读性
- 默认开启“大字模式”:正文 ≥ 16–18px,关键数字/按钮 ≥ 18–20px;行高 ≥ 1.5。
- 高对比配色:文字与背景对比度优先(避免浅灰字+浅灰底);状态色同时配文字标签(不只靠颜色)。
- 重要信息“一屏可读”:首屏优先展示“今天/本月关键数据 + 待办”。
1.2 交互与流程
- 三步以内完成:常用任务(发布内容、调价、处理退款、通过入驻)不超过 3 步。
- 少记忆:减少需要用户记住的字段(例如状态/角色用下拉;金额用分步输入+自动格式化)。
- 强反馈:所有提交必须有 loading、成功提示与失败原因(可复制),避免“静默失败”。
- 可撤销:高风险操作(下架/封禁/退款/移除成员/禁用邀请)必须二次确认,并提供“操作记录/可追溯”入口。
1.3 列表呈现(中老年友好)
- 列表优先“卡片式信息块”,表格仅用于“需要对比多列”的场景。
- 筛选默认收起为“基础筛选”;“高级筛选”折叠面板,避免压迫感。
- 每条记录提供明确的“主要动作按钮”(如:下架/通过/退款),避免图标-only。
2. 信息架构(路由与菜单建议)
建议路由基座:/t/:tenantCode/admin/(便于天然携带 tenantCode);API 仍走 /t/:tenantCode/v1/admin/*。
菜单(一级不超过 6 个)
- 概览(Dashboard)
- 内容管理
- 订单与退款
- 成员管理
- 邀请与入驻
- 财务流水
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 发布向导(强引导)
三步向导:
- 基本信息(标题/描述/可见性)
- 上传素材(主视频/试看/封面)
- 定价与发布(免费/付费,确认发布) 失败时给出“下一步建议”(例如:素材未 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 迭代顺序(建议)
- 登录/鉴权 + Dashboard(含待办)
- 内容管理:列表 + 发布向导 + 下架
- 订单列表 + 退款
- 成员管理 + 入驻申请
- 邀请管理 + 财务流水