管理控制台
管理控制台页面与运维操作
了解当前提供的每个管理页面,以及账单、账号风控和写操作的安全规则。
与 starter 提交
7d452a6同步。
管理控制台是运维工作台,而不是产品分析工具的替代品。概览页突出会改变操作员下一步行动的状态:近期注册、有效与逾期订阅、被停用的账号,以及等待人工决定的 Stripe 事件。收入、转化和流失分析仍应在 Stripe 或你的分析工具中完成。
工作区
/显示运维指标、最近的账号与订单、待处理队列,以及手动赠送套餐和积分的工具。以用户为目标的赠送会作用于该用户的个人组织。/users可按邮箱、UUID 或昵称搜索,并确定具体的登录提供方账号。同一邮箱可能对应多条账号记录,因此邮箱不能作为授权键。/organizations可按名称、slug、UUID 或 Stripe 客户 ID 搜索。组织才是拥有共享积分、套餐、订阅和 Stripe 客户的租户。组织详情页展示身份信息、成员、最终生效的套餐、订阅历史、积分账本、订单和席位上限覆盖值。
处理客服问题时必须区分账号与组织:先在 /users 确认具体人员,再到 /organizations 调查承载账单和权益的工作区。
收入
/orders可按订单号、订阅、组织、用户 UUID 或邮箱筛选和搜索。履约列会对比已付款订单承诺的积分与对应账本记录,从而暴露缺失或重复发放。/stripe-events显示已记录的 webhook 投递及其处理状态,但不会暴露 Stripe 原始载荷。对于暂停等待处理的事件,修正原因后在 Stripe 中使用 Resend,让它按提供商当前状态重新执行。Resolve 表示操作员已在系统外处理,必须填写备注;解决状态是终态,并不等于重放。/reconciliation对 7、30 或 90 天窗口运行本地账单对账,可发现已付款但未发积分的订单、账本余额漂移和卡住的 webhook 事件。它无法发现从未到达应用的 Stripe 扣款;提供商侧比对请使用pnpm reconcile:stripe。
产品运维
/reservations列出预约号、服务、用户、时间、时区和状态。当产品配置关闭预约功能时,页面会明确说明,而不会查询未启用的功能。/feedbacks列出客户评分、反馈内容、状态、身份与提交时间。/affiliates显示被邀请用户、邀请人、状态、符合条件的订单、付款金额和奖励。
这些都是当前版本中的查看界面;它们不会凭空增加底层产品服务尚未实现的流程状态或编辑能力。
信任与安全
/moderation用于停用或恢复账号,并管理精确邮箱或域名级的注册阻止规则。停用会撤销活动会话并禁止登录,但会保留用户、账本、上传文件和组织记录;它不是账户删除。/audit是分页的管理写操作记录,包含操作员、角色、动作、目标、状态、备注、网络上下文和元数据。
默认情况下,停用会覆盖共享该邮箱的所有账号记录并添加阻止规则,避免新建 OAuth 账号绕过限制。邮箱匹配会统一去除加号后缀,并为 Gmail 去除点号;域名规则适用于一次性邮箱攻击。
写操作防护
当前提供的写工具仅包括:手动发放积分、赠送或撤销免费套餐、覆盖或恢复组织席位上限、停用或恢复账号、修改阻止列表,以及将 Stripe 事件标记为最终解决。
所有已提供的写路由都要求 admin_rw、校验同源请求,并调用管理审计记录器。积分发放必须带幂等键,并生成确定且唯一的账本交易号,因此重试同一次操作不会重复发放。手动套餐和积分默认永不过期;可选的 7、30、90 天或自定义过期时间必须位于未来。
控制台刻意没有重放已保存 Stripe webhook 载荷的按钮。修正原因后,请使用 Stripe 的 Resend。停用也不会变成删除:用户请求的数据导出和清除属于独立的账户数据生命周期。
在将管理应用暴露到本地开发环境之外前,请先阅读管理控制台的配置与访问。