项目初始化

This commit is contained in:
kron
2026-04-07 16:15:59 +08:00
commit 852e522695
97 changed files with 3137 additions and 0 deletions

47
.github/copilot-instructions.md vendored Normal file
View File

@@ -0,0 +1,47 @@
# Archery Event Docs Workspace Instructions
## Project Scope
- This repository is a **documentation workspace** for the 射箭赛事平台, not an application codebase.
- Default output language is **Chinese**. Keep existing Chinese filenames, headings, terminology, and punctuation style.
- Do not invent build steps, frameworks, or runtime details unless the relevant docs already define them.
## Recommended Context Order
Before editing, read the smallest set of relevant docs in this order:
1. `README.md` for the project overview and recommended reading path.
2. `01-基础与总览/` for business terms, roles, and core flows.
3. The matching feature area:
- `02-用户侧流程/`
- `03-商户侧流程/`
- `04-平台治理流程/`
- `06-微信小程序说明/`
- `07-商户后台说明/`
- `08-管理后台说明/`
- `09-后台API说明/`
4. `10-项目执行/` and `11-项目验收/` when the task involves delivery, acceptance, or agent task breakdown.
## Documentation Conventions
- Reuse the existing Markdown style: clear section headings, tables, bullets, and explicit document links.
- Prefer **linking to existing docs instead of duplicating long content**.
- Keep `待确认``待补充``草案` markers when business rules are still unresolved; do not silently guess missing rules.
- When introducing a new business term, update `01-基础与总览/业务名词表.md`.
- When a rule changes, sync the related process doc, status doc, and API or page-field docs together.
## Source-of-Truth References
Use these files as anchors before making larger changes:
- `README.md`
- `01-基础与总览/业务名词表.md`
- `05-通用基础/角色与权限矩阵.md`
- `05-通用基础/系统架构总览.md`
- `09-后台API说明/领域模块划分.md`
- `09-后台API说明/接口清单规划.md`
- `10-项目执行/Agent任务派发模板.md`
## Task and Template Guidance
- For new implementation or拆解任务, follow `10-项目执行/Agent任务派发模板.md`.
- For page-level specs, reuse `06-微信小程序说明/页面字段级说明模板.md`.
- For API details, reuse `09-后台API说明/字段级接口清单模板.md`.
- Prefer one clear module or subtask at a time, with explicit input docs, output expectations, and acceptance criteria.
## Validation
- There are currently **no build, test, or lint commands** in this repository.
- Validate changes by checking Markdown structure, file links, terminology consistency, and cross-document alignment.

View File

@@ -0,0 +1,9 @@
# 基础与总览
本目录存放项目的全局认知文档,建议最先阅读。
## 包含内容
- `核心业务流程总览.md`
- `角色与场景地图.md`
- `业务名词表.md`
- `业务规则待确认清单.md`

View File

@@ -0,0 +1,18 @@
# 业务名词表
| 名词 | 定义 |
| --- | --- |
| 商户 | 入驻平台、负责举办赛事的机构或个人主体 |
| 平台运营 | 负责审核、风控、运营管理的后台人员 |
| 赛事 | 一次可独立报名的比赛活动 |
| 场次 | 同一赛事下的时间段或赛程安排 |
| 组别 | 依据年龄、性别、弓种、水平等划分的参赛类别 |
| 报名单 | 用户提交报名后的业务记录 |
| 订单 | 与报名费用对应的支付单据 |
| 成绩单 | 比赛结束后记录选手得分与排名的数据 |
| 审核状态 | 商户或赛事在平台审核中的业务状态 |
| 退款单 | 对已支付订单发起退款后的记录 |
## 使用原则
- 新增业务文档时,优先复用本词表中的定义。
- 若新增术语,请同步补充到本文件,避免不同文档描述不一致。

View File

@@ -0,0 +1,32 @@
# 业务规则待确认清单
## 1. 文档目标
集中记录当前仍未拍板的关键业务规则,方便产品负责人逐项补充,避免 agent 在开发时自行猜测。
## 2. 赛事规则类
- 是否支持团体赛、淘汰赛、多轮晋级。
- 是否支持不同弓种的规则模板。
- 同分排名的处理方式如何定义。
## 3. 报名与支付类
- 是否允许代报名、多人一单、候补报名。
- 支付超时时长是多少。
- 是否允许部分退款,手续费谁承担。
## 4. 商户与审核类
- 商户入驻是否必须人工审核。
- 是否有白名单商户可免审核发布赛事。
- 商户是否支持多子账号、多角色协作。
## 5. 数据与隐私类
- 成绩是否公开展示。
- 用户隐私字段哪些对商户可见。
- 日志与数据保留多久。
## 6. 运营与结算类
- 平台抽佣规则。
- 商户结算周期与打款方式。
- 是否需要营销活动、优惠券、邀请码等能力。
## 7. 使用方式
建议后续每次补全一个规则时,直接在本文件记录“最终决定 + 生效时间 + 影响文档”。

View File

@@ -0,0 +1,50 @@
# 核心业务流程总览
## 1. 文档目标
本文件用于统一描述“射箭赛事平台”的核心业务闭环,作为后续产品设计、接口设计、前后端开发和测试用例编写的基础。
## 2. 平台角色
| 角色 | 说明 | 主要目标 |
| --- | --- | --- |
| 用户 | 使用微信小程序报名参赛的个人用户 | 浏览赛事、报名、支付、查看成绩 |
| 商户 | 赛事主办方/入驻机构 | 入驻平台、创建赛事、管理报名、录入成绩 |
| 平台运营 | 平台管理人员 | 审核商户、审核赛事、处理异常、查看报表 |
| 系统服务 | 后台 API、消息、支付等能力 | 提供鉴权、订单、通知、成绩、数据支持 |
## 3. 核心业务闭环
1. 商户申请入驻并提交资质。
2. 平台审核通过后,商户可创建并发布赛事。
3. 用户在微信小程序浏览赛事并完成报名支付。
4. 商户进行现场签到、成绩录入与排名确认。
5. 平台与商户查看报表、处理退款或异常申诉。
## 4. 核心对象
| 对象 | 说明 |
| --- | --- |
| 商户 | 赛事组织方主体信息与资质 |
| 赛事 | 一场可报名的比赛活动 |
| 场次/组别 | 比赛时间段、年龄组、性别组、弓种等 |
| 报名单 | 用户针对某赛事提交的报名记录 |
| 订单 | 对应报名费用的支付单据 |
| 成绩单 | 用户参赛后的分数与排名数据 |
| 退款单 | 报名取消、赛事关闭等场景产生的退款记录 |
## 5. 建议拆分的详细流程文档
- `../02-用户侧流程/用户报名参赛流程.md`
- `../03-商户侧流程/商户入驻流程.md`
- `../03-商户侧流程/赛事创建与发布流程.md`
- `../02-用户侧流程/支付流程.md`
- `../02-用户侧流程/退款流程.md`
- `../03-商户侧流程/成绩录入与排名流程.md`
- `../04-平台治理流程/平台审核与运营流程.md`
## 6. 当前业务边界
- 当前先聚焦中国大陆微信生态。
- 支持微信登录、微信支付。
- 暂不展开直播、社群、积分商城等扩展能力。
- 技术栈未定,本文档仅约束业务和系统边界。
## 7. 待确认事项
- 是否支持团体赛、淘汰赛、分轮晋级等复杂赛制。
- 平台是否抽佣,商户结算周期如何定义。
- 成绩是否公开展示给所有用户,还是仅报名用户可见。

View File

@@ -0,0 +1,48 @@
# 角色与场景地图
## 1. 文档目标
从角色视角梳理平台的核心使用场景,帮助后续产品设计、页面设计与权限设计保持一致。
## 2. 主要角色
| 角色 | 使用端 | 核心目标 |
| --- | --- | --- |
| 普通用户 | 微信小程序 | 找到合适赛事、完成报名、查看成绩 |
| 商户管理员 | 商户后台 | 入驻平台、发布赛事、管理报名和成绩 |
| 商户子账号 | 商户后台 | 协助处理赛事执行、报名核销、成绩录入 |
| 平台审核员 | 管理后台 | 审核商户、审核赛事、处理异常 |
| 平台运营管理员 | 管理后台 | 运营配置、报表分析、风险控制 |
## 3. 角色核心场景
### 3.1 用户场景
- 浏览赛事列表与详情
- 报名并支付
- 查看报名记录与参赛信息
- 查看成绩与排名
- 发起退款或申诉(如支持)
### 3.2 商户场景
- 提交入驻资料
- 创建赛事并提审
- 维护赛事配置与组别信息
- 核销签到、录入成绩、导出名单
- 查看订单、退款与运营数据
### 3.3 平台场景
- 审核商户与赛事
- 处理异常订单与争议退款
- 下架违规赛事、停用异常商户
- 查看平台数据报表与经营指标
## 4. 场景阶段地图
| 阶段 | 用户 | 商户 | 平台 |
| --- | --- | --- | --- |
| 筹备阶段 | 浏览赛事信息 | 入驻、创建赛事 | 审核商户和赛事 |
| 报名阶段 | 提交报名并支付 | 查看报名情况、准备赛事 | 监控报名、处理异常 |
| 比赛阶段 | 到场参赛 | 核销签到、录入成绩 | 巡检与处理问题 |
| 赛后阶段 | 查看成绩、退款/申诉 | 发布成绩、对账结算 | 复核投诉、看报表 |
## 5. 输出给设计与开发的价值
- 可作为页面清单与权限矩阵的上游依据。
- 可为测试场景设计提供角色视角。
- 可作为 agent 拆解任务时的功能边界说明。

View File

@@ -0,0 +1,9 @@
# 用户侧流程
本目录聚焦用户在微信小程序中的核心业务链路。
## 包含内容
- `用户报名参赛流程.md`
- `支付流程.md`
- `退款流程.md`
- `消息通知与触达流程.md`

View File

@@ -0,0 +1,47 @@
# 支付流程
## 1. 文档目标
规范报名支付、订单生成、支付回调和支付成功后的状态同步逻辑,作为订单中心和小程序支付接入的依据。
## 2. 参与角色
| 角色 | 职责 |
| --- | --- |
| 用户 | 提交报名并完成支付 |
| 微信小程序 | 拉起支付、展示支付结果 |
| 后台 API | 创建订单、发起支付、处理回调 |
| 支付渠道 | 执行实际扣款并回调支付结果 |
## 3. 主流程
1. 用户提交报名信息后,系统生成报名单与待支付订单。
2. 后台 API 调用支付能力生成支付凭证。
3. 小程序拉起微信支付。
4. 用户完成支付。
5. 支付成功后,支付渠道回调后台。
6. 系统校验回调并更新订单、报名状态。
7. 向用户发送报名成功通知。
## 4. 异常分支
- 支付取消:订单保持待支付或按规则关闭。
- 支付失败:允许用户重新支付。
- 超时未支付:系统自动关闭订单。
- 回调异常:进入补偿与人工排查机制。
## 5. 关键状态
| 对象 | 状态 |
| --- | --- |
| 订单 | 待支付 / 已支付 / 已关闭 |
| 报名单 | 待支付 / 已报名 / 已取消 |
## 6. 风控与审计要求
- 支付回调必须验签。
- 重复回调需幂等处理。
- 订单金额、支付单号、操作日志需完整留存。
## 7. 关联文档
- `退款流程.md`
- `../04-平台治理流程/状态流转总表.md`
## 8. 待确认事项
- 平台抽佣时点:支付成功即抽佣,还是结算时扣除。
- 商户结算周期:实时 / T+1 / 周结。
- 是否支持合单支付或多人一单。

View File

@@ -0,0 +1,38 @@
# 消息通知与触达流程
## 1. 文档目标
定义平台在关键业务节点的通知触达方式、模板归属和发送规则,保证用户、商户与平台运营能及时收到关键消息。
## 2. 触达对象
- 用户
- 商户管理员/子账号
- 平台审核员/运营管理员
## 3. 触发场景
| 场景 | 接收人 | 建议渠道 |
| --- | --- | --- |
| 报名成功 | 用户 | 小程序订阅消息 / 站内消息 |
| 支付成功 | 用户 | 小程序订阅消息 |
| 退款成功 | 用户 | 小程序订阅消息 / 短信 |
| 赛事审核通过/驳回 | 商户 | 站内消息 / 邮件(如后续支持) |
| 商户入驻审核结果 | 商户 | 站内消息 / 短信 |
| 比赛开始前提醒 | 用户 | 小程序订阅消息 |
| 成绩发布通知 | 用户 | 小程序订阅消息 |
| 异常工单提醒 | 平台运营 | 管理后台待办 / 邮件(如后续支持) |
## 4. 通知流程
1. 业务事件发生。
2. 后台 API 写入通知任务。
3. 根据消息模板与用户授权情况选择发送渠道。
4. 发送结果回写日志。
5. 失败消息进入重试或人工补发机制。
## 5. 控制点
- 重要消息必须支持发送记录查询。
- 模板内容应支持参数化。
- 对高频通知做频控,避免骚扰用户。
## 6. 待确认事项
- 是否接入短信通道。
- 是否支持站内信中心。
- 是否需要给商户和平台发邮件通知。

View File

@@ -0,0 +1,54 @@
# 用户报名参赛流程
## 1. 适用角色
- 用户(微信小程序)
- 后台 API
- 商户(间接受影响)
## 2. 前置条件
- 用户已完成微信授权登录。
- 赛事已发布且处于“可报名”状态。
- 对应组别/场次仍有余量。
## 3. 主流程
1. 用户进入小程序首页或赛事列表页。
2. 浏览赛事详情,查看时间、地点、费用、组别、规则。
3. 选择组别/场次并填写报名信息。
4. 系统校验报名资格、库存、报名截止时间。
5. 生成待支付报名单与订单。
6. 用户完成微信支付。
7. 系统回写支付结果,报名状态变为“报名成功”。
8. 用户在“我的报名”中查看订单、参赛码、赛事通知。
## 4. 异常分支
- 超过报名截止时间:禁止提交。
- 赛事名额已满:提示不可报名,可加入候补(若后续支持)。
- 支付失败:保留待支付状态一段时间,支持重新拉起支付。
- 赛事被下架/关闭:已下单但未支付的订单需自动关闭。
## 5. 关键状态
| 对象 | 状态 |
| --- | --- |
| 报名单 | 待支付 / 已报名 / 已取消 / 已退款 |
| 订单 | 待支付 / 已支付 / 已关闭 / 已退款 |
| 用户参赛资格 | 未获得 / 已获得 / 已核销 |
## 6. 关键数据字段
- 用户ID
- 赛事ID
- 组别ID
- 报名人姓名/手机号
- 证件或身份校验信息(如后续需要)
- 支付金额
- 报名时间
## 7. 与系统的交互点
- 用户中心:登录态、手机号授权
- 订单系统:创建订单、支付回调
- 消息通知:报名成功通知、赛前提醒
- 成绩系统:赛后可查看成绩与排名
## 8. 待确认事项
- 是否允许代他人报名。
- 是否支持多人一单或团体统一报名。
- 报名成功后是否允许用户主动取消。

View File

@@ -0,0 +1,49 @@
# 退款流程
## 1. 文档目标
明确用户、商户、平台在退款场景下的申请、审核、回调和状态同步逻辑,避免后续资金链路和责任归属不清。
## 2. 常见退款场景
- 用户在允许时间内主动取消报名。
- 商户因赛事关闭、延期、名额调整发起退款。
- 平台因异常订单、重复扣款、风控问题发起退款。
## 3. 参与角色
| 角色 | 职责 |
| --- | --- |
| 用户 | 提交退款申请、查看退款进度 |
| 商户 | 审核或发起退款、处理赛事关闭场景 |
| 平台运营 | 处理异常退款、争议退款、人工复核 |
| 后台 API | 校验条件、创建退款单、接收回调 |
| 支付渠道 | 执行实际退款并回传结果 |
## 4. 主流程
1. 发起退款申请。
2. 系统校验退款资格、退款金额与责任方。
3. 创建退款单并进入“待处理”或“退款中”状态。
4. 调用支付渠道提交退款。
5. 接收退款回调并更新状态。
6. 同步更新订单状态、报名状态,并通知用户。
## 5. 异常分支
- 超出退款时限:拒绝退款。
- 已核销/已参赛:按规则禁止或需人工处理。
- 支付渠道退款失败:进入人工复核。
- 重复退款申请:幂等拦截。
## 6. 状态流转
| 对象 | 状态 |
| --- | --- |
| 退款单 | 待处理 / 退款中 / 退款成功 / 退款失败 / 已关闭 |
| 订单 | 已支付 / 已退款 / 部分退款(如后续支持) |
| 报名单 | 已报名 / 已取消 / 已退款 |
## 7. 关键控制点
- 退款必须记录申请人、审批人、处理时间和原因。
- 金额计算规则要可追溯。
- 与支付渠道交互必须幂等与验签。
## 8. 待确认事项
- 是否允许部分退款。
- 是否支持按退款责任方区分手续费承担。
- 用户退款是否都需要商户审核。

View File

@@ -0,0 +1,9 @@
# 商户侧流程
本目录聚焦商户入驻、赛事发布与成绩管理相关流程。
## 包含内容
- `商户入驻流程.md`
- `赛事创建与发布流程.md`
- `成绩录入与排名流程.md`
- `赛事规则与计分模型.md`

View File

@@ -0,0 +1,59 @@
# 商户入驻流程
## 1. 文档目标
说明赛事主办方如何注册商户账号、提交入驻资料并通过平台审核,获得后续创建赛事和经营后台的资格。
## 2. 参与角色
| 角色 | 职责 |
| --- | --- |
| 商户管理员 | 注册账号、填写机构资料、提交资质 |
| 平台审核员 | 审核商户主体信息与资质材料 |
| 后台 API | 保存资料、驱动状态流转、记录日志 |
## 3. 主流程
1. 商户注册后台账号。
2. 填写机构基础信息:机构名称、联系人、联系电话、地址等。
3. 上传资质材料:营业执照、负责人信息、赛事组织相关证明。
4. 提交入驻申请。
5. 平台审核员进行初审与复核。
6. 审核通过后,商户状态变为“已入驻”,可进入商户后台继续创建赛事。
## 4. 异常分支
- 资料不完整:退回补充。
- 资质无效、过期或不清晰:驳回申请。
- 重复申请:提示已有主体记录,进入人工处理。
- 长时间未处理:进入运营待办提醒。
## 5. 状态流转
| 状态 | 说明 |
| --- | --- |
| 未入驻 | 尚未提交申请 |
| 待补充 | 信息未填完或被要求补充 |
| 待审核 | 已提交,等待平台审核 |
| 已驳回 | 审核未通过,需修改后重提 |
| 已入驻 | 审核通过,可正式使用商户后台 |
| 已停用 | 因违规或异常被平台停用 |
## 6. 关键数据字段
- 商户ID
- 机构名称
- 联系人姓名/电话
- 营业执照号
- 资质图片
- 审核状态
- 驳回原因
- 提交时间/审核时间
## 7. 风险与控制点
- 入驻审核需保留完整操作日志。
- 资质材料建议支持结构化校验与人工复核。
- 商户启用/停用属于高风险操作,需留痕。
## 8. 关联文档
- `赛事创建与发布流程.md`
- `../07-商户后台说明/README.md`
## 9. 待确认事项
- 商户是否允许多个子账号协作。
- 是否支持不同类型主体(公司/个体/协会)入驻。
- 是否需要签署电子协议后才算正式入驻。

View File

@@ -0,0 +1,35 @@
# 成绩录入与排名流程
## 1. 文档目标
明确商户如何录入比赛成绩、系统如何生成排名,以及成绩发布后的查看与申诉处理规则。
## 2. 参与角色
- 商户管理员 / 裁判录入员
- 后台 API
- 参赛用户
- 平台运营(处理异常申诉)
## 3. 主流程
1. 赛事结束或某轮次结束后,商户进入成绩管理页面。
2. 按组别/场次录入选手成绩。
3. 系统校验数据完整性与格式合法性。
4. 系统按规则生成排名结果。
5. 商户确认无误后提交发布。
6. 用户在小程序查看成绩与排名。
## 4. 异常场景
- 成绩缺失或重复录入。
- 成绩与参赛名单不匹配。
- 排名规则调整后需重新计算。
- 用户提出成绩申诉,需重新审核。
## 5. 关键状态
| 对象 | 状态 |
| --- | --- |
| 成绩记录 | 草稿 / 已提交 / 已发布 / 已作废 |
| 申诉单 | 待处理 / 处理中 / 已解决 |
## 6. 待确认事项
- 是否支持 Excel 批量导入成绩。
- 是否支持多轮成绩、淘汰赛对阵与晋级逻辑。
- 成绩发布前是否需要平台复核。

View File

@@ -0,0 +1,64 @@
# 赛事创建与发布流程
## 1. 文档目标
说明商户在通过入驻审核后,如何在商户后台创建赛事、配置报名规则并提交平台审核,最终完成赛事发布。
## 2. 参与角色
| 角色 | 职责 |
| --- | --- |
| 商户管理员 | 创建赛事、编辑信息、提交审核 |
| 商户子账号 | 在授权范围内协助编辑赛事 |
| 平台审核员 | 审核赛事内容与合规性 |
| 后台 API | 保存数据、校验规则、驱动状态流转 |
## 3. 前置条件
- 商户已完成入驻并处于“已启用”状态。
- 商户具备赛事创建权限。
- 平台已配置可用的赛事类目、审核规则和基础字典。
## 4. 主流程
1. 商户进入“赛事管理”页面并点击“创建赛事”。
2. 填写基础信息:赛事名称、封面、地点、时间、联系人、简介。
3. 配置报名规则:报名时间、人数上限、组别、费用、退款规则。
4. 配置扩展内容:报名表单、参赛须知、证书/奖项说明。
5. 保存草稿并预览展示效果。
6. 提交平台审核。
7. 平台审核通过后,赛事进入“已发布/报名中”状态。
8. 用户可在微信小程序中查看并报名。
## 5. 异常分支
- 基础信息缺失:系统阻止提交审核。
- 报名截止时间晚于开赛时间:校验不通过。
- 审核驳回:商户根据驳回原因修改后重新提交。
- 发布后出现重大问题:平台可强制下架或关闭报名。
## 6. 状态流转
| 状态 | 说明 |
| --- | --- |
| 草稿 | 编辑中,用户不可见 |
| 待审核 | 已提交,等待平台审核 |
| 审核驳回 | 需修改后再次提交 |
| 已发布 | 用户可见,可报名 |
| 已关闭 | 手动关闭或平台关闭 |
| 已结束 | 赛事已完赛 |
## 7. 关键数据字段
- 赛事ID
- 商户ID
- 赛事名称
- 开赛时间/结束时间
- 报名开始/结束时间
- 组别配置
- 报名费用
- 退款规则
- 审核状态/驳回原因
## 8. 规则与控制点
- 提交审核后,涉及价格、时间、组别的修改需重新审核。
- 已有报名记录后,应限制高风险字段直接修改。
- 所有审核和发布动作都需记录操作日志。
## 9. 待确认事项
- 是否支持平台代商户发布赛事。
- 是否支持无需审核直接发布的白名单商户。
- 是否允许赛事复制创建。

View File

@@ -0,0 +1,29 @@
# 赛事规则与计分模型
## 1. 文档目标
梳理射箭赛事在平台中的规则抽象方式,为赛事配置、成绩录入、排名计算和前端展示提供统一依据。
## 2. 建议抽象维度
| 维度 | 说明 |
| --- | --- |
| 赛事类型 | 个人赛、团体赛、公开赛、邀请赛 |
| 赛制 | 单轮累计、双轮累计、淘汰赛、积分赛 |
| 组别 | 年龄组、性别组、弓种组、等级组 |
| 轮次 | 资格赛、晋级赛、决赛 |
| 计分方式 | 总分制、命中环数、加权分 |
## 3. 基础规则建议
- 每个赛事至少包含一个组别。
- 每个组别需要配置人数上限、报名费、参赛要求。
- 成绩计算规则应独立配置,避免写死在代码中。
- 排名规则需明确同分处理方式。
## 4. 计分模型建议
- 原始成绩:每轮每箭的基础得分。
- 汇总成绩:按轮次累计得到总分。
- 排名结果:按总分排序,必要时结合附加规则打破平分。
## 5. 待确认事项
- 是否支持复杂赛制,如多轮晋级、淘汰对阵。
- 是否需要按协会/地区赛规则做模板化配置。
- 是否支持团体积分与个人积分并存。

View File

@@ -0,0 +1,9 @@
# 平台治理流程
本目录聚焦审核、结算、状态流转和异常处理等平台治理内容。
## 包含内容
- `平台审核与运营流程.md`
- `状态流转总表.md`
- `结算与对账流程.md`
- `异常处理与申诉流程.md`

View File

@@ -0,0 +1,27 @@
# 平台审核与运营流程
## 1. 文档目标
说明平台管理后台如何处理商户审核、赛事审核、异常订单、退款复核和数据运营工作。
## 2. 核心职责
- 审核商户资质
- 审核赛事内容
- 处理违规与异常
- 跟踪订单退款
- 查看平台数据报表
## 3. 主流程
1. 审核员进入待办列表查看待审核事项。
2. 按规则审核商户入驻申请或赛事发布申请。
3. 对于异常订单、投诉、退款进行复核处理。
4. 对已上线赛事进行巡检与风险监控。
5. 通过报表查看平台交易、报名、活跃度等数据。
## 4. 管控点
- 审核动作需记录审核人、审核时间、审核意见。
- 高风险操作建议支持二次确认。
- 下架、封禁、退款等操作需要留审计日志。
## 5. 待确认事项
- 是否设置多级审核流。
- 是否需要自动风控规则与告警机制。

View File

@@ -0,0 +1,29 @@
# 异常处理与申诉流程
## 1. 文档目标
统一处理订单异常、成绩异常、用户投诉和商户申诉的工作流,避免后续出现职责不清或处理链路缺失。
## 2. 异常类型
- 支付异常:重复支付、支付成功未回写、金额不一致
- 报名异常:超卖、重复报名、资格校验失误
- 成绩异常:录入错误、排名异常、用户申诉
- 商户异常:违规内容、虚假赛事、未履约
- 系统异常:通知失败、状态不同步、数据脏写
## 3. 处理主流程
1. 用户、商户或平台发现异常并发起工单/申诉。
2. 系统记录异常单并分类。
3. 平台运营分派处理人。
4. 处理人调查并给出处理意见。
5. 若涉及退款、修正成绩、封禁商户,则同步执行相关动作。
6. 处理结果通知相关方,并归档记录。
## 4. 输出要求
- 每条异常单必须有处理结论。
- 需要区分自动处理与人工处理。
- 重大异常需支持升级与复盘。
## 5. 待确认事项
- 是否单独建设工单系统。
- 申诉时限如何定义。
- 是否支持上传申诉凭证附件。

View File

@@ -0,0 +1,47 @@
# 状态流转总表
## 1. 文档目标
汇总平台关键业务对象的状态定义与状态变更条件,便于前后端和测试统一理解。
## 2. 商户状态
| 状态 | 含义 | 触发条件 |
| --- | --- | --- |
| 未入驻 | 尚未申请入驻 | 初始状态 |
| 待审核 | 已提交资料 | 提交入驻申请 |
| 已驳回 | 审核未通过 | 审核驳回 |
| 已入驻 | 审核通过 | 平台审核通过 |
| 已停用 | 被禁用 | 违规或异常处理 |
## 3. 赛事状态
| 状态 | 含义 | 触发条件 |
| --- | --- | --- |
| 草稿 | 编辑中 | 创建赛事 |
| 待审核 | 等待平台审核 | 提交审核 |
| 审核驳回 | 审核未通过 | 平台驳回 |
| 已发布 | 用户可见 | 审核通过并发布 |
| 已关闭 | 不再允许报名 | 手动关闭或平台关闭 |
| 已结束 | 比赛已结束 | 达到结束时间 |
## 4. 报名单状态
| 状态 | 含义 | 触发条件 |
| --- | --- | --- |
| 待支付 | 已提交待付款 | 创建报名单 |
| 已报名 | 支付成功 | 支付回调成功 |
| 已取消 | 用户/系统取消 | 主动取消或订单关闭 |
| 已退款 | 已完成退款 | 退款成功 |
## 5. 订单状态
| 状态 | 含义 | 触发条件 |
| --- | --- | --- |
| 待支付 | 尚未付款 | 创建订单 |
| 已支付 | 已完成支付 | 支付成功 |
| 已关闭 | 无需继续支付 | 超时关闭或取消 |
| 已退款 | 已退回金额 | 退款成功 |
## 6. 成绩状态
| 状态 | 含义 | 触发条件 |
| --- | --- | --- |
| 草稿 | 尚未发布 | 初次录入 |
| 已提交 | 等待确认 | 商户提交 |
| 已发布 | 对用户可见 | 商户/平台发布 |
| 已作废 | 不再生效 | 成绩修正或撤销 |

View File

@@ -0,0 +1,37 @@
# 结算与对账流程
## 1. 文档目标
明确平台、商户、支付渠道之间的资金结算与账务核对流程,为后续财务模块设计提供依据。
## 2. 参与对象
- 用户
- 商户
- 平台
- 支付渠道
## 3. 核心问题
- 商户何时可结算
- 平台是否抽佣
- 退款是否影响已结算金额
- 平台如何进行日对账与差错处理
## 4. 建议主流程
1. 用户报名支付成功,形成订单收入。
2. 系统记录平台应收、商户应收、手续费等账务信息。
3. 到达结算周期后,系统汇总可结算金额。
4. 商户发起结算申请或系统自动结算。
5. 平台审核并确认结算。
6. 完成打款并记录结算单。
7. 每日执行支付对账,发现差异后发起差错处理。
## 5. 关键数据对象
- 订单流水
- 退款流水
- 结算单
- 对账单
- 差错单
## 6. 待确认事项
- 结算周期:实时 / T+1 / 周结 / 月结。
- 平台抽佣比例与手续费承担方。
- 是否支持人工线下结算与上传凭证。

10
05-通用基础/README.md Normal file
View File

@@ -0,0 +1,10 @@
# 通用基础
本目录存放跨端共用的系统基础说明文档。
## 包含内容
- `系统架构总览.md`
- `开发规范与协作约定.md`
- `角色与权限矩阵.md`
- `核心数据模型草案.md`
- `接口约定与返回规范.md`

View File

@@ -0,0 +1,26 @@
# 开发规范与协作约定
## 1. 文档目标
统一后续多人协作、agent 执行、代码提交和文档补充的方式,减少返工与沟通成本。
## 2. 命名规范建议
- 文档:采用中文 + 编号方式命名。
- API统一使用资源化命名风格。
- 数据库字段:统一小写下划线风格(建议)。
- 状态值:优先使用枚举常量,避免散落 magic value。
## 3. 分支与提交建议
- 需求变更应有对应文档更新。
- commit message 建议使用中文并带类型前缀,例如:`feat:``fix:``docs:``refactor:`
- 接口变更需同步更新接口文档与前端调用说明。
## 4. 协作约定
- 先补文档,再拆任务,再开发。
- 核心业务规则必须在文档中确认后再编码。
- 重要状态流转和异常处理需有测试覆盖。
## 5. 适合交给 agent 的任务类型
- 页面脚手架与模块初始化
- API 路由和 DTO 生成
- 数据表初稿与接口联调
- 单元测试与接口测试补齐

View File

@@ -0,0 +1,41 @@
# 接口约定与返回规范
## 1. 目标
统一前后端接口风格,降低多端协作成本,并为后续生成 OpenAPI 文档提供基础约束。
## 2. 通用约定
- 协议HTTPS
- 数据格式:`application/json`
- 时间字段:统一使用 ISO 8601 或毫秒时间戳(待最终确定)
- 分页参数建议:`page``pageSize`
## 3. 推荐返回结构
```json
{
"code": 0,
"message": "success",
"data": {},
"requestId": "string"
}
```
## 4. 错误码建议
| code | 含义 |
| --- | --- |
| 0 | 成功 |
| 40001 | 参数错误 |
| 40101 | 未登录或登录失效 |
| 40301 | 无权限访问 |
| 40401 | 资源不存在 |
| 40901 | 状态冲突 |
| 50001 | 系统异常 |
## 5. 接口分类建议
- 用户端接口:登录、赛事列表、赛事详情、报名、支付、我的报名、成绩查询
- 商户端接口:商户资料、赛事管理、报名管理、成绩录入、数据导出
- 管理端接口:商户审核、赛事审核、用户管理、报表统计
## 6. 设计要求
- 所有写接口必须记录操作人。
- 支付回调、退款回调类接口必须保证幂等。
- 涉及列表查询的接口需明确筛选条件和排序规则。

View File

@@ -0,0 +1,82 @@
# 核心数据模型草案
## 1. 目标
梳理核心业务对象,便于后续设计数据库表结构、接口字段和前端页面模型。
## 2. 核心实体
### 2.1 用户 User
- userId
- nickname
- avatar
- phone
- status
- createdAt
### 2.2 商户 Merchant
- merchantId
- merchantName
- contactName
- contactPhone
- licenseNo
- reviewStatus
- settledAt
### 2.3 赛事 Event
- eventId
- merchantId
- eventName
- eventStatus
- location
- startTime
- endTime
- signupStartTime
- signupEndTime
- refundRule
### 2.4 组别 EventGroup
- groupId
- eventId
- groupName
- capacity
- price
- ruleSummary
### 2.5 报名单 Signup
- signupId
- userId
- eventId
- groupId
- signupStatus
- orderId
- checkinStatus
### 2.6 订单 Order
- orderId
- bizType
- bizId
- amount
- payStatus
- paidAt
- refundStatus
### 2.7 成绩 Result
- resultId
- eventId
- userId
- score
- rank
- resultStatus
- publishedAt
## 3. 关系说明
- 一个商户可以有多个赛事。
- 一个赛事可以有多个组别。
- 一个用户可在不同赛事下拥有多条报名记录。
- 一条报名记录通常对应一个订单。
- 一个赛事结束后会产生多条成绩记录。
## 4. 待确认项
- 是否需要单独建“队伍/团体”实体。
- 是否支持多人一单。
- 是否支持分轮成绩与最终成绩分开存储。

View File

@@ -0,0 +1,35 @@
# 系统架构总览
## 1. 文档目标
说明射箭赛事平台四个代码工程之间的职责分工、调用关系与边界,作为后续系统设计和开发拆分依据。
## 2. 四个工程的定位
| 工程 | 面向对象 | 核心职责 |
| --- | --- | --- |
| 微信小程序 | 参赛用户 | 浏览赛事、报名支付、查看通知与成绩 |
| 商户后台 | 赛事主办方 | 维护赛事、处理报名、录入成绩、查看数据 |
| 管理后台 | 平台运营 | 审核商户、审核赛事、风控治理、报表统计 |
| 后台 API 服务 | 全部客户端 | 提供统一业务接口、权限控制、订单支付、成绩与消息能力 |
## 3. 推荐逻辑架构
- 展示层:微信小程序、商户后台、管理后台
- 接口层:统一后台 API
- 领域层:用户、商户、赛事、报名、订单、成绩、通知、审核
- 基础设施层:数据库、缓存、对象存储、消息通知、支付能力
## 4. 系统交互关系
1. 用户通过微信小程序调用后台 API 完成登录、报名、支付。
2. 商户后台调用后台 API 完成赛事管理、报名管理、成绩录入。
3. 管理后台调用后台 API 完成审核、运营配置、数据查询。
4. 后台 API 对接微信登录、微信支付、短信/订阅消息等第三方能力。
## 5. 设计原则
- 业务规则统一收敛在后台 API避免多端逻辑分叉。
- 商户与平台的权限边界必须清晰隔离。
- 接口设计优先稳定、可扩展、可审计。
- 文档命名与术语优先统一,便于 agent 自动续写。
## 6. 当前待定项
- 前端框架与后端语言尚未确定。
- 是否采用单体架构还是模块化服务架构待后续决策。
- 消息通知、对象存储、日志平台的具体选型待确认。

View File

@@ -0,0 +1,31 @@
# 角色与权限矩阵
## 1. 目标
统一定义各角色在系统中的可见范围与可执行操作,避免前后端权限理解不一致。
## 2. 角色定义
| 角色 | 所属端 | 说明 |
| --- | --- | --- |
| 普通用户 | 微信小程序 | 参赛者、报名者 |
| 商户管理员 | 商户后台 | 商户主账号,拥有本机构全部管理权限 |
| 商户子账号 | 商户后台 | 受限账号,可按模块授权 |
| 平台审核员 | 管理后台 | 审核商户和赛事 |
| 平台运营管理员 | 管理后台 | 负责配置、报表、异常处理 |
## 3. 权限矩阵
| 功能 | 用户 | 商户管理员 | 商户子账号 | 平台审核员 | 平台运营管理员 |
| --- | --- | --- | --- | --- | --- |
| 浏览赛事 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 提交报名 | ✅ | ❌ | ❌ | ❌ | ❌ |
| 创建赛事 | ❌ | ✅ | 可授权 | ❌ | ❌ |
| 编辑赛事 | ❌ | ✅ | 可授权 | ❌ | ❌ |
| 提交赛事审核 | ❌ | ✅ | 可授权 | ❌ | ❌ |
| 审核赛事 | ❌ | ❌ | ❌ | ✅ | ✅ |
| 审核商户入驻 | ❌ | ❌ | ❌ | ✅ | ✅ |
| 录入成绩 | ❌ | ✅ | 可授权 | ❌ | ❌ |
| 查看平台总报表 | ❌ | ❌ | ❌ | 可查看部分 | ✅ |
## 4. 原则
- 商户只能访问本机构相关数据。
- 平台角色具备跨商户管理能力,但需留痕。
- 高风险操作需具备二次确认与日志审计。

View File

@@ -0,0 +1,42 @@
# 微信小程序说明
## 1. 定位
面向参赛用户,承担赛事浏览、报名支付、订单查看、成绩查看等用户侧能力。
## 2. 建议核心页面
- 首页/推荐赛事
- 赛事列表
- 赛事详情
- 报名填写页
- 支付结果页
- 我的报名
- 成绩查询
- 个人中心
## 3. 关键模块
- 登录与用户信息
- 赛事展示
- 报名表单
- 订单支付
- 消息通知
## 4. 与后台 API 的关系
- 所有业务规则以后台接口返回为准。
- 小程序主要负责展示、交互和状态提示。
## 5. 相关细分文档
- `页面与模块划分.md`
- `页面清单与路由草案.md`
- `页面字段级说明模板.md`
- `首页字段说明.md`
- `赛事列表页字段说明.md`
- `赛事详情页字段说明.md`
- `报名填写页字段说明.md`
- `支付结果页字段说明.md`
- `我的报名页字段说明.md`
- `成绩详情页字段说明.md`
## 6. 待确认项
- 是否需要订阅消息提醒。
- 是否支持分享裂变与海报功能。
- 是否需要赛事分享海报、邀请码或活动裂变能力。

View File

@@ -0,0 +1,26 @@
# 成绩详情页字段说明
## 1. 页面信息
- 页面名称:成绩详情页
- 页面路径建议:`/pages/mine/result-detail`
- 页面目标:展示用户在某场赛事中的成绩、排名和分项成绩。
## 2. 展示字段
| 字段 | 说明 | 来源接口 |
| --- | --- | --- |
| eventName | 赛事名称 | `/user/results/{id}` |
| groupName | 组别 | `/user/results/{id}` |
| participantName | 选手姓名 | `/user/results/{id}` |
| totalScore | 总分 | `/user/results/{id}` |
| rank | 排名 | `/user/results/{id}` |
| roundScoreList | 分轮成绩 | `/user/results/{id}` |
| resultStatus | 成绩状态 | `/user/results/{id}` |
| publishedAt | 发布时间 | `/user/results/{id}` |
## 3. 操作按钮
- 返回成绩列表
- 分享成绩(如后续支持)
- 发起申诉(如后续支持)
## 4. 待确认项
- 是否展示证书下载、奖项信息。

View File

@@ -0,0 +1,39 @@
# 我的报名页字段说明
## 1. 页面信息
- 页面名称:我的报名页
- 页面路径建议:`/pages/mine/signup-list`
- 页面目标:展示用户已报名记录、支付状态、参赛状态和退款状态。
## 2. 列表字段
| 字段 | 说明 | 来源接口 |
| --- | --- | --- |
| signupId | 报名单ID | `/signup/my-list` |
| eventName | 赛事名称 | `/signup/my-list` |
| groupName | 报名组别 | `/signup/my-list` |
| signupStatus | 报名状态 | `/signup/my-list` |
| payStatus | 支付状态 | `/signup/my-list` |
| amount | 支付金额 | `/signup/my-list` |
| eventDate | 比赛日期 | `/signup/my-list` |
| location | 比赛地点 | `/signup/my-list` |
| resultStatus | 成绩状态 | `/signup/my-list` |
| refundStatus | 退款状态 | `/signup/my-list` |
## 3. 操作按钮
| 按钮 | 条件 | 行为 |
| --- | --- | --- |
| 去支付 | 订单待支付 | 跳转支付页 |
| 查看详情 | 始终显示 | 跳转报名详情页 |
| 申请退款 | 满足退款规则 | 发起退款流程 |
| 查看成绩 | 成绩已发布 | 跳转成绩页 |
## 4. 筛选项建议
- 全部
- 待支付
- 已报名
- 已退款
- 已结束
## 5. 待确认项
- 是否需要展示参赛二维码/核销码。
- 是否允许在列表直接取消报名。

View File

@@ -0,0 +1,45 @@
# 报名填写页字段说明
## 1. 页面信息
- 页面名称:报名填写页
- 页面路径建议:`/pages/signup/form`
- 页面目标:收集报名信息、校验资格并提交报名。
- 前置条件:用户已登录并选择赛事/组别。
## 2. 表单字段
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| eventId | hidden/string | 是 | 当前赛事ID |
| groupId | select | 是 | 参赛组别 |
| participantName | input | 是 | 参赛人姓名 |
| participantPhone | input | 是 | 联系手机号 |
| gender | select | 否 | 性别(按赛事要求) |
| birthday | date | 否 | 出生日期(按组别判断年龄) |
| idCardNo | input | 否 | 身份证号(如后续需要) |
| clubName | input | 否 | 所属俱乐部/机构 |
| emergencyContact | input | 否 | 紧急联系人 |
| emergencyPhone | input | 否 | 紧急联系电话 |
| remark | textarea | 否 | 备注说明 |
| agreeProtocol | checkbox | 是 | 同意报名须知与隐私协议 |
## 3. 页面展示字段
- 赛事名称
- 组别信息
- 报名费用
- 退款规则摘要
- 报名须知摘要
## 4. 校验规则
- 手机号格式必须正确。
- 必填项不可为空。
- 若赛事配置年龄限制,则需校验出生日期。
- 未勾选协议时不可提交。
## 5. 提交行为
- 点击“提交并支付”后,调用报名接口。
- 成功后生成待支付订单并跳转支付流程。
- 失败时显示明确错误提示。
## 6. 待确认项
- 是否支持代他人报名。
- 是否允许一次填写多个参赛人。

View File

@@ -0,0 +1,25 @@
# 支付结果页字段说明
## 1. 页面信息
- 页面名称:支付结果页
- 页面路径建议:`/pages/order/result`
- 页面目标:反馈支付结果并引导用户继续后续操作。
## 2. 展示字段
| 字段 | 说明 | 来源接口 |
| --- | --- | --- |
| orderId | 订单ID | `/order/detail` |
| payStatus | 支付状态 | `/order/detail` |
| amount | 支付金额 | `/order/detail` |
| eventName | 赛事名称 | `/order/detail` |
| groupName | 组别名称 | `/order/detail` |
| paidAt | 支付时间 | `/order/detail` |
| failReason | 失败原因 | `/order/detail` |
## 3. 操作按钮
- 查看我的报名
- 返回首页
- 重新支付(支付失败时)
## 4. 待确认项
- 是否展示电子票/参赛码。

View File

@@ -0,0 +1,31 @@
# 赛事列表页字段说明
## 1. 页面信息
- 页面名称:赛事列表页
- 页面路径建议:`/pages/event/list`
- 页面目标:按条件筛选并浏览可报名赛事。
## 2. 筛选字段
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| keyword | input | 搜索赛事名称/地点 |
| city | select | 按城市筛选 |
| dateRange | daterange | 按比赛时间筛选 |
| eventStatus | select | 按状态筛选 |
| sortType | select | 按时间/热度排序 |
## 3. 列表字段
| 字段 | 说明 |
| --- | --- |
| eventId | 赛事ID |
| eventName | 赛事名称 |
| cover | 封面图 |
| location | 地点 |
| startTime | 开赛时间 |
| feeText | 费用说明 |
| signupStatusText | 报名状态文案 |
## 4. 交互要求
- 支持分页加载。
- 支持空结果提示。
- 支持点击卡片进入赛事详情。

View File

@@ -0,0 +1,49 @@
# 赛事详情页字段说明
## 1. 页面信息
- 页面名称:赛事详情页
- 页面路径建议:`/pages/event/detail`
- 页面目标:展示赛事完整信息,并引导用户完成报名。
- 进入方式:从首页、赛事列表、分享链接进入。
## 2. 展示字段
| 字段 | 说明 | 来源接口 | 是否必显 |
| --- | --- | --- | --- |
| eventId | 赛事ID | `/event/detail` | 否 |
| eventName | 赛事名称 | `/event/detail` | 是 |
| eventCover | 赛事封面图 | `/event/detail` | 是 |
| eventStatus | 赛事状态 | `/event/detail` | 是 |
| signupStatusText | 报名状态文案 | `/event/detail` | 是 |
| location | 比赛地点 | `/event/detail` | 是 |
| startTime | 开赛时间 | `/event/detail` | 是 |
| endTime | 结束时间 | `/event/detail` | 否 |
| signupStartTime | 报名开始时间 | `/event/detail` | 是 |
| signupEndTime | 报名截止时间 | `/event/detail` | 是 |
| feeText | 报名费用说明 | `/event/detail` | 是 |
| groupList | 组别列表 | `/event/detail` | 是 |
| ruleSummary | 赛事规则摘要 | `/event/detail` | 是 |
| noticeText | 参赛须知 | `/event/detail` | 否 |
| merchantName | 主办方名称 | `/event/detail` | 是 |
| contactPhone | 联系电话 | `/event/detail` | 否 |
## 3. 操作按钮
| 按钮 | 显示条件 | 点击行为 |
| --- | --- | --- |
| 立即报名 | `eventStatus=已发布` 且在报名期内 | 跳转报名填写页 |
| 查看组别 | 存在多个组别 | 打开组别选择弹层 |
| 联系主办方 | 配置了联系电话 | 拉起拨号或复制电话 |
| 分享赛事 | 支持分享时 | 触发小程序分享 |
## 4. 状态与空态
- 加载中:展示骨架屏。
- 无数据:提示“赛事不存在或已下架”。
- 已截止:按钮置灰并提示报名已结束。
- 已满员:展示“名额已满”。
## 5. 交互说明
- 用户切换组别后,应实时更新费用、剩余名额、报名资格提示。
- 页面需兼容分享进入场景。
- 若赛事已结束,可展示成绩查询入口(如有)。
## 6. 待确认项
- 是否展示往届成绩、主办方介绍、地图导航。

View File

@@ -0,0 +1,26 @@
# 页面与模块划分
## 1. 页面建议
- 首页
- 赛事列表页
- 赛事详情页
- 报名填写页
- 支付结果页
- 我的报名页
- 成绩查询页
- 个人中心页
## 2. 模块建议
| 模块 | 说明 |
| --- | --- |
| 登录鉴权模块 | 微信登录、手机号绑定、登录态维护 |
| 赛事展示模块 | 列表、筛选、详情展示 |
| 报名模块 | 表单填写、资格校验、提交报名 |
| 支付模块 | 拉起支付、查询结果、失败重试 |
| 消息通知模块 | 订阅消息、系统通知 |
| 用户中心模块 | 报名记录、成绩、个人资料 |
## 3. 交互原则
- 关键状态以后台接口返回为准。
- 支付、报名、成绩等结果页需有明确状态提示。
- 重要操作失败时要给出可恢复路径。

View File

@@ -0,0 +1,28 @@
# 页面字段级说明模板
## 1. 使用说明
后续每个页面都可以按本模板补字段与交互,便于直接交给前端或 agent 开发。
## 2. 模板
### 页面名称
- 页面路径:
- 页面目标:
- 进入条件:
### 展示字段
| 字段 | 说明 | 来源接口 | 是否必显 |
| --- | --- | --- | --- |
| 示例:赛事名称 | 展示赛事标题 | `/event/detail` | 是 |
### 操作按钮
| 按钮 | 条件 | 点击后行为 |
| --- | --- | --- |
| 示例:立即报名 | 可报名时显示 | 跳转报名页 |
### 状态与空态
- 加载中:
- 无数据:
- 异常提示:
### 待确认项
-

View File

@@ -0,0 +1,24 @@
# 页面清单与路由草案
## 1. 目标
梳理微信小程序主要页面、路由关系与页面职责,便于后续快速搭建页面骨架。
## 2. 页面清单
| 页面 | 路径建议 | 说明 |
| --- | --- | --- |
| 首页 | `/pages/home/index` | 推荐赛事、搜索入口 |
| 赛事列表 | `/pages/event/list` | 筛选、排序、分页展示 |
| 赛事详情 | `/pages/event/detail` | 展示赛事信息、组别、报名入口 |
| 报名填写 | `/pages/signup/form` | 填写报名信息 |
| 支付结果 | `/pages/order/result` | 支付成功/失败结果页 |
| 我的报名 | `/pages/mine/signup-list` | 查看报名记录 |
| 成绩查询 | `/pages/mine/result-list` | 查看成绩与排名 |
| 个人中心 | `/pages/mine/index` | 用户信息与设置 |
## 3. 页面跳转关系
- 首页 → 赛事列表 → 赛事详情 → 报名填写 → 支付结果
- 个人中心 → 我的报名 / 成绩查询
## 4. 待补充项
- 每个页面的字段、按钮、交互状态说明。
- 空态、异常态和加载态设计。

View File

@@ -0,0 +1,23 @@
# 首页字段说明
## 1. 页面信息
- 页面名称:首页
- 页面路径建议:`/pages/home/index`
- 页面目标:展示推荐赛事、快捷入口和平台公告。
## 2. 展示字段
| 字段 | 说明 | 来源接口 | 是否必显 |
| --- | --- | --- | --- |
| bannerList | 轮播图列表 | `/home/index` | 否 |
| recommendEventList | 推荐赛事列表 | `/home/index` | 是 |
| noticeList | 公告列表 | `/home/index` | 否 |
| quickEntryList | 快捷入口 | `/home/index` | 否 |
| cityName | 当前城市 | `/home/index` | 否 |
## 3. 操作按钮
- 搜索赛事
- 查看全部赛事
- 点击推荐赛事进入详情
## 4. 待确认项
- 是否需要城市切换、热门分类、活动横幅。

View File

@@ -0,0 +1,30 @@
# 商户后台说明
## 1. 定位
面向赛事主办方,承担商户入驻资料维护、赛事创建发布、报名管理、成绩录入、数据导出等能力。
## 2. 建议核心模块
- 商户资料管理
- 赛事管理
- 报名管理
- 成绩管理
- 数据导出
- 账户与子账号管理
## 3. 关键规则
- 只能访问本商户数据。
- 提交审核后的赛事需限制高风险修改。
- 重要操作应保留操作日志。
## 4. 相关细分文档
- `功能模块清单.md`
- `页面清单与操作路径.md`
- `表单字段与导出说明.md`
- `工作台页面字段说明.md`
- `赛事编辑页字段说明.md`
- `报名管理页字段说明.md`
- `成绩录入页字段说明.md`
## 5. 待确认项
- 是否支持 Excel 批量导入参赛名单。
- 是否支持多子账号按模块授权。

View File

@@ -0,0 +1,27 @@
# 功能模块清单
## 1. 目标
用于拆分商户后台的核心页面与功能模块,便于后续前端开发和权限设计。
## 2. 建议模块
| 模块 | 说明 |
| --- | --- |
| 首页工作台 | 查看待处理事项、报名数据、赛事概览 |
| 商户资料管理 | 维护商户信息、资质信息、联系人信息 |
| 赛事管理 | 创建、编辑、提交审核、关闭赛事 |
| 报名管理 | 查看报名列表、核销签到、导出名单 |
| 成绩管理 | 录入成绩、发布排名、处理成绩修正 |
| 财务与退款 | 查看订单、申请退款、对账 |
| 账号权限 | 子账号管理、角色授权、日志查看 |
## 3. 页面拆分建议
- 赛事列表页
- 赛事编辑页
- 报名详情页
- 成绩录入页
- 数据导出页
- 账户权限页
## 4. 开发建议
- 表格类页面优先支持筛选、分页、导出。
- 所有关键操作建议增加二次确认与操作日志。

View File

@@ -0,0 +1,24 @@
# 工作台页面字段说明
## 1. 页面信息
- 页面名称:工作台
- 页面目标:展示赛事概览、待处理事项和关键经营数据。
## 2. 展示字段
| 字段 | 说明 |
| --- | --- |
| totalEventCount | 赛事总数 |
| signupTodayCount | 今日报名人数 |
| paidTodayAmount | 今日支付金额 |
| pendingRefundCount | 待处理退款数 |
| pendingReviewEventCount | 待审核赛事数 |
| recentNoticeList | 最近通知列表 |
## 3. 操作入口
- 去创建赛事
- 查看报名管理
- 查看成绩管理
- 查看退款处理
## 4. 待确认项
- 是否展示趋势图和快捷统计卡片。

View File

@@ -0,0 +1,37 @@
# 成绩录入页字段说明
## 1. 页面信息
- 页面名称:成绩录入页
- 页面目标:录入成绩、校验结果并发布排名。
## 2. 筛选字段
- 赛事
- 组别
- 场次/轮次
## 3. 列表字段
| 字段 | 说明 |
| --- | --- |
| participantName | 选手姓名 |
| groupName | 组别 |
| roundScore | 本轮成绩 |
| totalScore | 总成绩 |
| rank | 当前排名 |
| resultStatus | 成绩状态 |
| updatedAt | 最后更新时间 |
## 4. 操作按钮
- 批量导入
- 保存草稿
- 重新计算排名
- 发布成绩
- 作废并重录
## 5. 校验规则
- 成绩值必须在合法区间内。
- 未录全的选手不可直接发布。
- 发布后修改需保留操作记录。
## 6. 待确认项
- 是否支持 Excel 批量导入。
- 是否有多轮成绩和淘汰对阵结构。

View File

@@ -0,0 +1,38 @@
# 报名管理页字段说明
## 1. 页面信息
- 页面名称:报名管理页
- 页面目标:查看报名记录、筛选订单状态、执行签到核销和导出名单。
## 2. 筛选字段
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| eventId | select | 按赛事筛选 |
| groupId | select | 按组别筛选 |
| signupStatus | select | 按报名状态筛选 |
| payStatus | select | 按支付状态筛选 |
| keyword | input | 搜索姓名/手机号 |
| signupTimeRange | daterange | 按报名时间筛选 |
## 3. 列表字段
| 字段 | 说明 |
| --- | --- |
| signupId | 报名单ID |
| participantName | 报名人姓名 |
| participantPhone | 联系电话 |
| groupName | 组别 |
| signupStatus | 报名状态 |
| payStatus | 支付状态 |
| amount | 支付金额 |
| checkinStatus | 签到状态 |
| signupTime | 报名时间 |
## 4. 操作按钮
- 查看详情
- 导出名单
- 核销签到
- 补录备注
## 5. 待确认项
- 是否支持批量核销。
- 是否支持现场报名补录。

View File

@@ -0,0 +1,22 @@
# 表单字段与导出说明
## 1. 文档目标
统一商户后台关键表单和导出字段,避免前后端口径不一致。
## 2. 重点表单
- 商户入驻表单
- 赛事创建表单
- 报名筛选表单
- 成绩录入表单
- 退款申请表单
## 3. 导出场景
| 场景 | 建议导出字段 |
| --- | --- |
| 报名名单导出 | 用户名、手机号、组别、支付状态、报名时间 |
| 成绩导出 | 赛事、组别、选手、得分、排名 |
| 财务导出 | 订单号、金额、支付时间、退款状态 |
## 4. 待补充项
- 每个表单的字段类型、校验规则、必填项。
- 每种导出的权限限制与文件格式。

View File

@@ -0,0 +1,50 @@
# 赛事编辑页字段说明
## 1. 页面信息
- 页面名称:赛事编辑页
- 页面目标:创建或编辑赛事,配置报名规则与展示内容。
## 2. 基础信息字段
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| eventName | input | 是 | 赛事名称 |
| eventCover | upload | 是 | 赛事封面 |
| eventIntro | textarea | 是 | 赛事简介 |
| location | input | 是 | 比赛地点 |
| startTime | datetime | 是 | 开赛时间 |
| endTime | datetime | 是 | 结束时间 |
| contactName | input | 是 | 联系人姓名 |
| contactPhone | input | 是 | 联系电话 |
## 3. 报名配置字段
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| signupStartTime | datetime | 是 | 报名开始时间 |
| signupEndTime | datetime | 是 | 报名截止时间 |
| refundRule | textarea | 是 | 退款规则 |
| noticeText | textarea | 否 | 参赛须知 |
| groupConfigList | list | 是 | 组别配置列表 |
## 4. 组别配置字段
- groupName
- price
- capacity
- ageLimit
- genderLimit
- bowType
- ruleSummary
## 5. 操作按钮
- 保存草稿
- 预览
- 提交审核
- 关闭赛事(编辑已发布赛事时)
## 6. 校验规则
- 报名截止时间不得晚于开赛时间。
- 组别至少配置一个。
- 价格、容量必须大于等于 0。
## 7. 待确认项
- 是否支持赛事复制创建。
- 是否支持富文本图文详情。

View File

@@ -0,0 +1,26 @@
# 页面清单与操作路径
## 1. 目标
明确商户后台的主要页面及关键操作链路,便于后续前端页面开发和权限拆分。
## 2. 页面清单
| 页面 | 说明 |
| --- | --- |
| 工作台 | 查看赛事概览、待办事项 |
| 商户资料页 | 编辑机构信息、上传资质 |
| 赛事列表页 | 查看、筛选、复制、关闭赛事 |
| 赛事编辑页 | 创建与编辑赛事 |
| 报名管理页 | 查看报名记录、导出名单、签到核销 |
| 成绩管理页 | 录入成绩、发布排名 |
| 财务退款页 | 查看订单、退款申请与处理状态 |
| 账号权限页 | 管理子账号与授权 |
## 3. 关键操作路径
- 入驻资料维护 → 提交审核
- 赛事列表 → 新建赛事 → 提交审核
- 报名管理 → 导出名单 / 核销签到
- 成绩管理 → 录入成绩 → 发布结果
## 4. 待补充项
- 每个页面的筛选字段和操作按钮。
- 表格列定义与导出字段。

View File

@@ -0,0 +1,30 @@
# 管理后台说明
## 1. 定位
面向平台运营人员,承担商户审核、赛事审核、风险控制、异常处理、报表统计等能力。
## 2. 建议核心模块
- 商户审核
- 赛事审核
- 用户与订单查询
- 退款处理
- 数据统计与报表
- 系统配置与公告管理
## 3. 管理原则
- 审核操作必须留痕。
- 需明确不同平台角色的权限边界。
- 高风险操作建议支持复核机制。
## 4. 相关细分文档
- `功能模块清单.md`
- `审核台与报表台设计草案.md`
- `审核字段与报表指标说明.md`
- `商户审核页字段说明.md`
- `赛事审核页字段说明.md`
- `报表总览页字段说明.md`
- `异常工单页字段说明.md`
## 5. 待确认项
- 是否需要配置化的风控规则。
- 是否需要多级审核流转。

View File

@@ -0,0 +1,20 @@
# 功能模块清单
## 1. 目标
用于拆分平台管理后台的核心模块,方便后续做权限控制、页面设计和任务分工。
## 2. 建议模块
| 模块 | 说明 |
| --- | --- |
| 审核中心 | 商户审核、赛事审核、驳回处理 |
| 运营中心 | 公告、推荐位、活动配置 |
| 订单与退款 | 异常订单查询、退款复核 |
| 用户管理 | 用户查询、黑名单、投诉处理 |
| 风控中心 | 违规商户处理、风险告警 |
| 报表中心 | 交易报表、报名报表、活跃报表 |
| 系统配置 | 字典配置、参数配置、角色权限 |
## 3. 权限建议
- 审核类与配置类权限分开。
- 高风险操作需要二次确认。
- 所有审核结果均需留痕。

View File

@@ -0,0 +1,34 @@
# 商户审核页字段说明
## 1. 页面信息
- 页面名称:商户审核页
- 页面目标:查看商户入驻资料并给出审核结论。
## 2. 展示字段
| 字段 | 说明 |
| --- | --- |
| merchantId | 商户ID |
| merchantName | 商户名称 |
| merchantType | 主体类型 |
| contactName | 联系人 |
| contactPhone | 联系电话 |
| licenseNo | 营业执照号 |
| licenseImages | 资质附件 |
| submitTime | 提交时间 |
| reviewStatus | 审核状态 |
| reviewHistory | 审核历史 |
## 3. 审核字段
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| reviewResult | radio | 是 | 通过 / 驳回 |
| rejectReason | textarea | 驳回时必填 | 驳回原因 |
| internalRemark | textarea | 否 | 内部备注 |
## 4. 操作按钮
- 审核通过
- 驳回并返回修改
- 查看历史记录
## 5. 待确认项
- 是否支持多级审核与复核。

View File

@@ -0,0 +1,24 @@
# 审核台与报表台设计草案
## 1. 目标
明确管理后台中最重要的两个区域:审核台和报表台的页面构成与核心功能。
## 2. 审核台建议
- 商户审核列表
- 商户审核详情
- 赛事审核列表
- 赛事审核详情
- 驳回原因模板管理
- 异常工单处理台
## 3. 报表台建议
- 平台交易总览
- 报名趋势分析
- 商户活跃度报表
- 退款与异常统计
- 成绩发布统计
## 4. 设计关注点
- 列表页需支持多维筛选。
- 审核动作需支持意见留存。
- 报表图表需可导出或截图。

View File

@@ -0,0 +1,34 @@
# 审核字段与报表指标说明
## 1. 文档目标
明确管理后台审核表单的关键字段,以及平台报表需要关注的核心指标。
## 2. 审核字段建议
### 商户审核
- 商户名称
- 主体类型
- 营业执照信息
- 联系人信息
- 审核结论
- 驳回原因
### 赛事审核
- 赛事名称
- 商户名称
- 时间地点
- 报名规则
- 赛事说明
- 审核结论
- 驳回原因
## 3. 报表指标建议
- 总报名人数
- 总支付金额
- 退款金额与退款率
- 商户活跃数
- 赛事发布数
- 成绩发布数
## 4. 待补充项
- 每个指标的统计口径。
- 报表维度:按日、周、月、商户、赛事。

View File

@@ -0,0 +1,27 @@
# 异常工单页字段说明
## 1. 页面信息
- 页面名称:异常工单页
- 页面目标:统一处理支付异常、成绩申诉、商户投诉等异常事项。
## 2. 列表字段
| 字段 | 说明 |
| --- | --- |
| ticketId | 工单ID |
| ticketType | 工单类型 |
| relatedBizId | 关联业务ID |
| submitterType | 发起方类型 |
| status | 工单状态 |
| priority | 优先级 |
| assignee | 当前处理人 |
| createdAt | 创建时间 |
| updatedAt | 最近更新时间 |
## 3. 操作按钮
- 查看详情
- 分派处理人
- 更新处理状态
- 完成结案
## 4. 待确认项
- 是否支持 SLA 超时提醒。

View File

@@ -0,0 +1,26 @@
# 报表总览页字段说明
## 1. 页面信息
- 页面名称:报表总览页
- 页面目标:展示平台级交易、报名、商户活跃度等核心指标。
## 2. 指标字段
| 字段 | 说明 |
| --- | --- |
| totalMerchantCount | 商户总数 |
| activeMerchantCount | 活跃商户数 |
| totalEventCount | 赛事总数 |
| totalSignupCount | 报名总人数 |
| totalPaidAmount | 总支付金额 |
| totalRefundAmount | 总退款金额 |
| refundRate | 退款率 |
| dailyTrendList | 每日报名/支付趋势 |
## 3. 筛选字段
- 日期范围
- 商户维度
- 赛事维度
- 城市维度(如后续支持)
## 4. 待确认项
- 是否支持导出报表与下载截图。

View File

@@ -0,0 +1,35 @@
# 赛事审核页字段说明
## 1. 页面信息
- 页面名称:赛事审核页
- 页面目标:审核商户提交的赛事内容与配置是否合规。
## 2. 展示字段
| 字段 | 说明 |
| --- | --- |
| eventId | 赛事ID |
| eventName | 赛事名称 |
| merchantName | 商户名称 |
| location | 比赛地点 |
| startTime | 开赛时间 |
| signupTimeRange | 报名时间范围 |
| groupSummary | 组别概览 |
| feeSummary | 费用说明 |
| noticeText | 参赛须知 |
| reviewStatus | 审核状态 |
## 3. 审核字段
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| reviewResult | radio | 是 | 通过 / 驳回 |
| rejectReason | textarea | 驳回时必填 | 驳回原因 |
| riskTag | select-multi | 否 | 风险标签 |
| internalRemark | textarea | 否 | 内部备注 |
## 4. 操作按钮
- 审核通过
- 驳回
- 下架建议(如后续支持)
## 5. 待确认项
- 是否需要配置驳回原因模板。

View File

@@ -0,0 +1,47 @@
# 后台 API 说明
## 1. 定位
作为平台统一业务中台,服务微信小程序、商户后台和管理后台,承载核心业务逻辑与数据处理。
## 2. 建议领域模块
- 用户与认证
- 商户与资质审核
- 赛事管理
- 报名与订单
- 支付与退款
- 成绩与排名
- 消息通知
- 报表统计
## 3. 设计要求
- 业务规则集中管理,避免前端自行判断核心状态。
- 接口需保证幂等、权限隔离、日志审计。
- 与第三方平台交互需封装统一适配层。
## 4. 相关细分文档
### 4.1 架构与设计
- `领域模块划分.md`
- `认证与鉴权方案.md`
- `数据库表设计草案.md`
- `状态机设计建议.md`
- `缓存与异步任务设计.md`
- `第三方集成清单.md`
### 4.2 接口清单
- `接口清单规划.md`
- `字段级接口清单模板.md`
- `登录鉴权接口字段清单.md`
- `用户报名相关接口字段清单.md`
- `商户赛事管理接口字段清单.md`
- `平台审核与运营接口字段清单.md`
- `支付退款接口字段清单.md`
- `成绩与排名接口字段清单.md`
- `消息通知接口字段清单.md`
- `结算对账接口字段清单.md`
- `文件上传接口字段清单.md`
- `字典与配置接口字段清单.md`
## 5. 待确认项
- 是否采用单体 + 模块化架构,还是服务拆分。
- 是否使用统一网关、统一鉴权、统一日志链路。

View File

@@ -0,0 +1,53 @@
# 商户赛事管理接口字段清单
## 1. 创建赛事
- 接口路径:`POST /api/merchant/events`
- 功能说明:商户创建赛事草稿。
### 请求参数
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| eventName | string | 是 | 赛事名称 |
| eventCover | string | 是 | 封面图 |
| eventIntro | string | 是 | 简介 |
| location | string | 是 | 比赛地点 |
| startTime | string | 是 | 开赛时间 |
| endTime | string | 是 | 结束时间 |
| signupStartTime | string | 是 | 报名开始时间 |
| signupEndTime | string | 是 | 报名截止时间 |
| refundRule | string | 是 | 退款规则 |
| groupConfigList | array | 是 | 组别配置 |
### 返回字段
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| eventId | string | 新创建的赛事ID |
| eventStatus | string | 当前状态,通常为草稿 |
## 2. 提交赛事审核
- 接口路径:`POST /api/merchant/events/{eventId}/submit-review`
- 功能说明:将赛事从草稿提交为待审核。
### 请求参数
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| eventId | string | 是 | 赛事ID |
### 返回字段
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| eventId | string | 赛事ID |
| reviewStatus | string | 待审核 |
## 3. 查询报名列表
- 接口路径:`GET /api/merchant/signups`
- 功能说明:查询本商户下赛事的报名记录。
### 查询参数
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| eventId | string | 否 | 赛事ID |
| groupId | string | 否 | 组别ID |
| signupStatus | string | 否 | 报名状态 |
| payStatus | string | 否 | 支付状态 |
| keyword | string | 否 | 姓名/手机号搜索 |

View File

@@ -0,0 +1,20 @@
# 字典与配置接口字段清单
## 1. 获取基础字典
- 接口路径:`GET /api/common/dictionaries`
- 功能说明:获取组别、弓种、状态等前端通用枚举配置。
### 查询参数
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| dictType | string | 否 | 指定字典类型 |
### 返回字段
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| dictType | string | 字典类型 |
| items | array | 字典项列表 |
## 2. 获取平台配置
- 接口路径:`GET /api/common/configs`
- 功能说明:获取前端启动所需平台配置,如客服电话、隐私协议链接等。

View File

@@ -0,0 +1,32 @@
# 字段级接口清单模板
## 1. 使用方式
后续每个接口都建议按以下格式补齐,补完后即可直接交给 agent 编写 Controller、DTO、Service 和测试。
## 2. 模板
### 接口名称
- 接口路径:
- 请求方法:
- 使用端:用户端 / 商户端 / 管理端
- 功能说明:
- 权限要求:
### 请求参数
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| | | | |
### 返回字段
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| | | |
### 错误码
| code | 场景 | 说明 |
| --- | --- | --- |
| | | |
### 备注
- 幂等要求:
- 状态变更:
- 日志要求:

View File

@@ -0,0 +1,59 @@
# 平台审核与运营接口字段清单
## 1. 商户审核列表
- 接口路径:`GET /api/admin/merchant-reviews`
- 功能说明:查询待审核或已审核的商户入驻记录。
### 查询参数
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| reviewStatus | string | 否 | 审核状态 |
| keyword | string | 否 | 商户名称/联系人 |
| page | number | 否 | 页码 |
| pageSize | number | 否 | 每页大小 |
### 返回字段
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| merchantId | string | 商户ID |
| merchantName | string | 商户名称 |
| contactName | string | 联系人 |
| reviewStatus | string | 审核状态 |
| submitTime | string | 提交时间 |
## 2. 审核商户入驻
- 接口路径:`POST /api/admin/merchant-reviews/{merchantId}/decision`
- 功能说明:审核通过或驳回商户入驻。
### 请求参数
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| merchantId | string | 是 | 商户ID |
| reviewResult | string | 是 | approve/reject |
| rejectReason | string | 驳回时必填 | 驳回原因 |
| internalRemark | string | 否 | 内部备注 |
## 3. 赛事审核操作
- 接口路径:`POST /api/admin/event-reviews/{eventId}/decision`
- 功能说明:审核赛事发布申请。
### 请求参数
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| eventId | string | 是 | 赛事ID |
| reviewResult | string | 是 | approve/reject |
| rejectReason | string | 驳回时必填 | 驳回原因 |
| riskTagList | array | 否 | 风险标签列表 |
## 4. 报表概览接口
- 接口路径:`GET /api/admin/dashboard/overview`
- 功能说明:获取平台运营关键指标。
### 返回字段
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| totalMerchantCount | number | 商户总数 |
| totalEventCount | number | 赛事总数 |
| totalSignupCount | number | 报名总数 |
| totalPaidAmount | number | 支付总金额 |
| totalRefundAmount | number | 退款总金额 |

View File

@@ -0,0 +1,46 @@
# 成绩与排名接口字段清单
## 1. 商户录入成绩
- 接口路径:`POST /api/merchant/results/import`
- 功能说明:批量导入或提交成绩。
### 请求参数
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| eventId | string | 是 | 赛事ID |
| groupId | string | 是 | 组别ID |
| resultList | array | 是 | 成绩列表 |
## 2. 发布成绩
- 接口路径:`POST /api/merchant/results/publish`
- 功能说明:发布成绩并生成用户可见排名。
### 请求参数
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| eventId | string | 是 | 赛事ID |
| groupId | string | 否 | 指定组别 |
### 返回字段
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| publishStatus | string | 发布结果 |
| publishedCount | number | 发布记录数 |
## 3. 用户查询成绩
- 接口路径:`GET /api/user/results`
- 功能说明:查询用户自己的成绩与排名。
### 查询参数
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| eventId | string | 否 | 赛事ID |
### 返回字段
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| eventName | string | 赛事名称 |
| groupName | string | 组别 |
| totalScore | number | 总成绩 |
| rank | number | 排名 |
| resultStatus | string | 成绩状态 |

View File

@@ -0,0 +1,26 @@
# 接口清单规划
## 1. 用户端接口
- 登录 / 刷新 token
- 赛事列表 / 赛事详情
- 提交报名 / 查询我的报名
- 创建支付 / 查询支付结果
- 查询成绩 / 查询通知
## 2. 商户端接口
- 商户资料查询与更新
- 提交入驻申请
- 创建赛事 / 编辑赛事 / 提交审核
- 查询报名列表 / 核销签到
- 录入成绩 / 发布成绩
## 3. 管理端接口
- 商户审核列表 / 审核详情 / 审核操作
- 赛事审核列表 / 审核详情 / 审核操作
- 订单查询 / 退款复核
- 报表统计接口
## 4. 规划原则
- 先按业务域分组,再细化到接口级别。
- 接口命名保持统一风格。
- 所有写接口需带操作人上下文。

View File

@@ -0,0 +1,47 @@
# 支付退款接口字段清单
## 1. 创建支付单
- 接口路径:`POST /api/user/orders/{orderId}/pay`
- 功能说明:生成支付凭证,供小程序拉起支付。
### 请求参数
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| orderId | string | 是 | 订单ID |
### 返回字段
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| orderId | string | 订单ID |
| payParams | object | 支付参数对象 |
| payStatus | string | 当前支付状态 |
## 2. 发起退款申请
- 接口路径:`POST /api/user/refunds`
- 功能说明:用户发起退款申请。
### 请求参数
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| signupId | string | 是 | 报名单ID |
| reason | string | 是 | 退款原因 |
### 返回字段
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| refundId | string | 退款单ID |
| refundStatus | string | 当前退款状态 |
| refundAmount | number | 退款金额 |
## 3. 查询退款详情
- 接口路径:`GET /api/user/refunds/{refundId}`
- 功能说明:查看退款处理进度。
### 返回字段
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| refundId | string | 退款单ID |
| refundStatus | string | 退款状态 |
| refundAmount | number | 退款金额 |
| reason | string | 退款原因 |
| processedAt | string | 处理时间 |

View File

@@ -0,0 +1,28 @@
# 数据库表设计草案
## 1. 文档目标
从关系型数据库角度,对核心业务表进行初步拆分,为后续建表和 ORM 设计提供依据。
## 2. 核心表建议
| 表名建议 | 用途 |
| --- | --- |
| users | 存储用户基础信息 |
| merchants | 商户主体信息 |
| merchant_audit_records | 商户审核记录 |
| events | 赛事主表 |
| event_groups | 赛事组别表 |
| signups | 报名单 |
| orders | 订单主表 |
| refunds | 退款单 |
| results | 成绩表 |
| notifications | 通知记录表 |
| admin_operation_logs | 管理后台操作日志 |
## 3. 设计建议
- 审核记录、操作日志建议独立存表。
- 订单与退款建议分表,便于幂等和对账。
- 状态字段建议使用枚举值,并补充状态说明表。
## 4. 待补充项
- 主键策略、索引设计、唯一约束。
- 分库分表或读写分离策略(如需要)。

View File

@@ -0,0 +1,23 @@
# 文件上传接口字段清单
## 1. 获取上传凭证
- 接口路径:`POST /api/common/upload-token`
- 功能说明:获取文件上传所需凭证或预签名地址。
### 请求参数
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| bizType | string | 是 | 业务类型,如 merchant_license/event_cover |
| fileName | string | 是 | 文件名 |
| contentType | string | 是 | 文件类型 |
### 返回字段
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| uploadUrl | string | 上传地址 |
| fileKey | string | 文件存储Key |
| expireAt | string | 过期时间 |
## 2. 上传完成回写
- 接口路径:`POST /api/common/upload-callback`
- 功能说明:记录文件上传完成后的元数据。

View File

@@ -0,0 +1,26 @@
# 消息通知接口字段清单
## 1. 查询通知列表
- 接口路径:`GET /api/user/notifications`
- 功能说明:获取当前用户通知列表。
### 查询参数
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| page | number | 否 | 页码 |
| pageSize | number | 否 | 每页大小 |
| readStatus | string | 否 | 已读/未读 |
### 返回字段
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| notificationId | string | 通知ID |
| title | string | 标题 |
| content | string | 内容摘要 |
| bizType | string | 业务类型 |
| readStatus | string | 已读状态 |
| createdAt | string | 创建时间 |
## 2. 标记已读
- 接口路径:`POST /api/user/notifications/{notificationId}/read`
- 功能说明:将通知标记为已读。

View File

@@ -0,0 +1,23 @@
# 状态机设计建议
## 1. 目标
为后台 API 的状态流转实现提供统一设计建议,避免不同模块各自维护状态导致混乱。
## 2. 建议纳入状态机管理的对象
- 商户入驻状态
- 赛事状态
- 报名单状态
- 订单状态
- 退款单状态
- 成绩发布状态
## 3. 设计原则
- 状态变化必须由明确事件触发。
- 非法状态跳转应统一拦截。
- 每次状态变化需要记录操作人、时间、原因。
- 尽量避免前端拼凑状态逻辑。
## 4. 实现建议
- 在领域服务层集中处理状态变更。
- 为关键状态机编写转移表与单元测试。
- 支持审计日志和状态回溯。

View File

@@ -0,0 +1,64 @@
# 用户报名相关接口字段清单
## 1. 获取赛事详情
- 接口路径:`GET /api/user/events/{eventId}`
- 功能说明:获取赛事详情页所需数据。
### 请求参数
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| eventId | string | 是 | 赛事ID |
### 返回字段
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| eventId | string | 赛事ID |
| eventName | string | 赛事名称 |
| eventCover | string | 封面图 |
| eventStatus | string | 赛事状态 |
| signupStartTime | string | 报名开始时间 |
| signupEndTime | string | 报名截止时间 |
| groupList | array | 组别列表 |
| location | string | 比赛地点 |
| ruleSummary | string | 规则摘要 |
| noticeText | string | 参赛须知 |
## 2. 提交报名
- 接口路径:`POST /api/user/signups`
- 功能说明:提交报名信息并生成待支付订单。
### 请求参数
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| eventId | string | 是 | 赛事ID |
| groupId | string | 是 | 组别ID |
| participantName | string | 是 | 报名人姓名 |
| participantPhone | string | 是 | 联系电话 |
| gender | string | 否 | 性别 |
| birthday | string | 否 | 出生日期 |
| remark | string | 否 | 备注 |
### 返回字段
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| signupId | string | 报名单ID |
| orderId | string | 待支付订单ID |
| amount | number | 支付金额 |
| payStatus | string | 支付状态 |
## 3. 查询我的报名列表
- 接口路径:`GET /api/user/signups`
- 功能说明:获取用户个人报名记录。
### 查询参数
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| page | number | 否 | 页码 |
| pageSize | number | 否 | 每页数量 |
| signupStatus | string | 否 | 报名状态 |
### 返回字段
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| list | array | 报名记录列表 |
| total | number | 总数 |

View File

@@ -0,0 +1,39 @@
# 登录鉴权接口字段清单
## 1. 用户微信登录
- 接口路径:`POST /api/auth/wechat-login`
- 功能说明:用户通过微信授权登录并获取 token。
### 请求参数
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| code | string | 是 | 微信登录 code |
| encryptedData | string | 否 | 加密用户信息 |
| iv | string | 否 | 解密向量 |
### 返回字段
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| token | string | 登录态 token |
| refreshToken | string | 刷新 token |
| userId | string | 用户ID |
| isPhoneBound | boolean | 是否已绑定手机号 |
## 2. 商户/平台账号登录
- 接口路径:`POST /api/auth/password-login`
- 功能说明:商户后台或管理后台账号密码登录。
### 请求参数
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| account | string | 是 | 登录账号 |
| password | string | 是 | 登录密码 |
| loginType | string | 是 | merchant/admin |
### 返回字段
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| token | string | 登录态 token |
| refreshToken | string | 刷新 token |
| roleList | array | 角色列表 |
| userInfo | object | 用户信息 |

View File

@@ -0,0 +1,18 @@
# 第三方集成清单
## 1. 文档目标
列出平台建设过程中可能涉及的第三方服务,为接口封装和运维准备提供依据。
## 2. 建议集成项
| 能力 | 服务示例 | 用途 |
| --- | --- | --- |
| 微信登录 | 微信开放能力 | 用户身份获取 |
| 微信支付 | 微信支付 | 报名支付与退款 |
| 对象存储 | OSS/COS/S3 类服务 | 上传资质、赛事封面、附件 |
| 短信服务 | 第三方短信平台 | 验证码、关键通知 |
| 日志监控 | APM / 日志平台 | 告警、排障、审计 |
## 3. 集成原则
- 第三方调用统一封装适配层。
- 凭据通过环境变量或密钥系统管理。
- 调用失败要有重试、告警和兜底。

View File

@@ -0,0 +1,25 @@
# 结算对账接口字段清单
## 1. 商户结算列表
- 接口路径:`GET /api/merchant/settlements`
- 功能说明:查询商户结算记录。
### 查询参数
| 字段 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| settlementStatus | string | 否 | 结算状态 |
| page | number | 否 | 页码 |
| pageSize | number | 否 | 每页数量 |
### 返回字段
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| settlementId | string | 结算单ID |
| settlementAmount | number | 结算金额 |
| settlementStatus | string | 结算状态 |
| settlementPeriod | string | 结算周期 |
| createdAt | string | 创建时间 |
## 2. 平台对账结果查询
- 接口路径:`GET /api/admin/reconciliations`
- 功能说明:查询支付对账结果和差异记录。

View File

@@ -0,0 +1,21 @@
# 缓存与异步任务设计
## 1. 文档目标
为高频查询、消息发送、导出任务、支付补偿等场景提供技术设计建议。
## 2. 适合缓存的场景
- 热门赛事列表
- 基础字典与组别配置
- 已发布赛事详情(短期缓存)
## 3. 适合异步化的任务
- 通知消息发送
- 导出报名名单与成绩单
- 对账任务
- 支付/退款异常补偿任务
- 报表汇总任务
## 4. 设计原则
- 缓存必须有失效策略。
- 异步任务要具备幂等与重试机制。
- 失败任务需可追踪、可人工重放。

View File

@@ -0,0 +1,26 @@
# 认证与鉴权方案
## 1. 文档目标
统一描述用户、商户、平台三类身份的登录认证和接口鉴权方式。
## 2. 身份类型
| 身份 | 来源端 | 说明 |
| --- | --- | --- |
| 用户 | 微信小程序 | 通过微信登录获取身份 |
| 商户账号 | 商户后台 | 使用账号密码或验证码登录 |
| 平台账号 | 管理后台 | 平台内部账号登录 |
## 3. 鉴权建议
- 登录成功后签发统一 token。
- token 中需包含身份类型、用户ID、角色信息。
- 后端根据角色与资源进行权限校验。
- 高风险接口需二次校验或更严格的权限控制。
## 4. 安全要求
- token 失效与刷新机制要明确。
- 敏感操作要有审计日志。
- 管理后台和商户后台建议支持强密码策略或 MFA如后续需要
## 5. 待确认项
- 是否统一采用 JWT。
- 是否引入 RBAC 或更细粒度权限模型。

View File

@@ -0,0 +1,24 @@
# 领域模块划分
## 1. 目标
从领域模型角度拆分后台 API 的模块边界,方便后续按模块开发、测试和维护。
## 2. 推荐模块
| 模块 | 主要职责 |
| --- | --- |
| 认证与用户 | 登录鉴权、用户资料、token 管理 |
| 商户中心 | 商户资料、入驻审核、状态管理 |
| 赛事中心 | 赛事创建、组别配置、状态流转 |
| 报名中心 | 报名资格校验、报名记录管理 |
| 订单中心 | 订单创建、支付回调、关闭订单 |
| 退款中心 | 退款申请、退款回调、异常处理 |
| 成绩中心 | 成绩录入、排名计算、成绩发布 |
| 审核中心 | 商户审核、赛事审核、驳回原因管理 |
| 通知中心 | 站内消息、订阅消息、短信能力 |
| 报表中心 | 报名统计、交易统计、运营数据 |
## 3. 模块边界原则
- 订单与支付状态以订单中心为准。
- 赛事规则与状态流转以赛事中心为准。
- 审核动作统一经过审核中心留痕。
- 外部渠道适配统一收敛到基础设施层。

View File

@@ -0,0 +1,35 @@
# Agent 任务派发模板
## 1. 使用目标
提供一套可直接复制给 agent 的任务描述模板,减少每次派发任务时重复组织上下文。
## 2. 模板示例
```markdown
请基于以下文档实现一个模块:
模块名称:
目标工程:微信小程序 / 商户后台 / 管理后台 / 后台 API
任务范围:
相关文档:
- 01-基础与总览/... 或 02-用户侧流程/...
- 05-通用基础/... 或 09-后台API说明/...
- 10-项目执行/...
需要完成:
1.
2.
3.
验收标准:
-
-
注意事项:
- 不要偏离当前文档定义的字段和状态
- 如遇未确认规则,先回写待确认项
```
## 3. 推荐用法
- 一次只发一个模块或一个子任务。
- 带上最少但足够的上下文文档路径。
- 明确是否需要同时补测试和文档。

View File

@@ -0,0 +1,33 @@
# Agent 开发交接清单
## 1. 文档目标
当业务内容补充完成后,本文件可作为交给开发 agent 的统一入口,减少 agent 自行猜测范围。
## 2. 交接前必须补齐的信息
- 赛事规则与计分模型
- 支付与退款规则
- 商户审核与赛事审核规则
- 关键页面字段与表单项
- 角色权限与可见范围
- API 返回字段和错误码细节
## 3. 推荐交接顺序
1. 先让 agent 阅读 `README.md`
2. 再阅读 `01-基础与总览/``02-用户侧流程/``03-商户侧流程/``04-平台治理流程/`
3. 然后阅读 `05-通用基础/``06-微信小程序说明/``07-商户后台说明/``08-管理后台说明/``09-后台API说明/`
4. 最后根据模块拆任务:小程序、商户后台、管理后台、后台 API
## 4. 推荐任务拆分方式
- 第 1 批:初始化项目骨架与基础配置
- 第 2 批:登录鉴权、基础数据模型
- 第 3 批:赛事与报名主链路
- 第 4 批:支付退款、成绩排名
- 第 5 批:报表、通知、运维能力
## 5. 交接标准
满足以下条件后,就可以较稳妥地交给 agent 开发:
- 关键流程都有独立文档
- 主要状态流转已确认
- 角色权限矩阵已确认
- 数据模型与接口规范已有初稿
- 待确认事项已有明确结论或优先级

25
10-项目执行/README.md Normal file
View File

@@ -0,0 +1,25 @@
# 项目执行
本目录用于沉淀项目推进、任务拆分、版本规划和 agent 派发执行相关文档。
## 建议阅读顺序
1. `执行总览与使用方式.md`
2. `里程碑与版本规划.md`
3. `模块任务拆解建议.md`
4. `模块实施总任务单.md`
5. 按需进入各端实施任务单
## 当前包含文档
- `执行总览与使用方式.md`
- `里程碑与版本规划.md`
- `模块任务拆解建议.md`
- `模块实施总任务单.md`
- `微信小程序实施任务单.md`
- `商户后台实施任务单.md`
- `管理后台实施任务单.md`
- `后台API实施任务单.md`
- `风险清单与依赖项.md`
- `部署与环境规划.md`
- `Agent开发交接清单.md`
- `Agent任务派发模板.md`
- `周计划与状态跟踪模板.md`

View File

@@ -0,0 +1,28 @@
# 后台 API 实施任务单
## 1. 实施目标
完成支撑三端业务的核心服务,包括认证、赛事、报名、支付退款、成绩、通知与报表能力。
## 2. 模块任务
| 编号 | 任务 | 主要产出 | 依赖文档 | 优先级 |
| --- | --- | --- | --- | --- |
| API-01 | 初始化后端工程 | 项目骨架、配置管理、日志、异常处理 | `系统架构总览.md` | P0 |
| API-02 | 认证与鉴权 | 登录、token、权限中间件 | `认证与鉴权方案.md``登录鉴权接口字段清单.md` | P0 |
| API-03 | 商户与赛事域 | 商户入驻、赛事创建、审核流转 | `商户赛事管理接口字段清单.md` | P0 |
| API-04 | 报名与订单域 | 报名提交、订单创建、状态更新 | `用户报名相关接口字段清单.md` | P0 |
| API-05 | 支付与退款域 | 支付拉起、回调、退款处理 | `支付退款接口字段清单.md` | P1 |
| API-06 | 成绩与排名域 | 成绩导入、排名计算、发布查询 | `成绩与排名接口字段清单.md` | P1 |
| API-07 | 通知与上传 | 消息通知、文件上传、字典配置 | `消息通知接口字段清单.md``文件上传接口字段清单.md` | P1 |
| API-08 | 结算与报表 | 结算单、对账结果、运营报表接口 | `结算对账接口字段清单.md``平台审核与运营接口字段清单.md` | P2 |
## 3. 验收标准
- 三端接口可按文档正常调用。
- 核心状态流转一致,非法状态跳转被拦截。
- 支付回调、退款回调、消息发送具备幂等与日志。
- 基础测试可覆盖主流程和关键异常。
## 4. 交给 agent 的建议拆法
- 第 1 批:`API-01` + `API-02`
- 第 2 批:`API-03` + `API-04`
- 第 3 批:`API-05` + `API-06`
- 第 4 批:`API-07` + `API-08`

View File

@@ -0,0 +1,18 @@
# 周计划与状态跟踪模板
## 本周目标
-
## 本周计划
| 模块 | 负责人/Agent | 目标 | 状态 |
| --- | --- | --- | --- |
| 示例:小程序报名页 | Agent-A | 完成报名页联调 | 进行中 |
## 风险与阻塞
-
## 需确认事项
-
## 下周计划
-

View File

@@ -0,0 +1,27 @@
# 商户后台实施任务单
## 1. 实施目标
完成商户端从“提交入驻 → 创建赛事 → 管理报名 → 录入成绩”的核心管理能力。
## 2. 模块任务
| 编号 | 任务 | 主要产出 | 依赖文档 | 优先级 |
| --- | --- | --- | --- | --- |
| MB-01 | 初始化商户后台工程 | 项目骨架、布局、权限框架 | `README.md``功能模块清单.md` | P0 |
| MB-02 | 商户资料与入驻能力 | 商户资料页、入驻表单、提审能力 | `商户入驻流程.md``表单字段与导出说明.md` | P0 |
| MB-03 | 赛事管理能力 | 赛事列表、创建编辑页、提审能力 | `赛事编辑页字段说明.md` | P0 |
| MB-04 | 报名管理能力 | 报名查询、导出名单、核销签到 | `报名管理页字段说明.md` | P1 |
| MB-05 | 成绩录入与发布 | 成绩录入页、发布结果、重算排名 | `成绩录入页字段说明.md` | P1 |
| MB-06 | 财务与退款查看 | 订单列表、退款状态查询 | `支付退款接口字段清单.md` | P2 |
| MB-07 | 子账号与权限管理 | 账号管理页、角色授权 | `角色与权限矩阵.md` | P2 |
## 3. 验收标准
- 商户能提交入驻资料并查看审核状态。
- 商户能创建赛事草稿并提交审核。
- 报名列表支持筛选、导出、签到核销。
- 成绩可录入、校验并发布。
## 4. 交给 agent 的建议拆法
- 第 1 批:`MB-01` + `MB-02`
- 第 2 批:`MB-03`
- 第 3 批:`MB-04` + `MB-05`
- 第 4 批:`MB-06` + `MB-07`

View File

@@ -0,0 +1,27 @@
# 微信小程序实施任务单
## 1. 实施目标
完成用户端从“浏览赛事 → 报名支付 → 查看报名 → 查看成绩”的核心闭环。
## 2. 模块任务
| 编号 | 任务 | 主要产出 | 依赖文档 | 优先级 |
| --- | --- | --- | --- | --- |
| MP-01 | 初始化小程序工程 | 项目骨架、路由、公共请求层 | `页面清单与路由草案.md` | P0 |
| MP-02 | 完成登录与用户态 | 登录页、token 管理、用户信息存储 | `登录鉴权接口字段清单.md` | P0 |
| MP-03 | 实现首页与赛事列表 | 首页、列表页、筛选与分页 | `首页字段说明.md``赛事列表页字段说明.md` | P0 |
| MP-04 | 实现赛事详情与报名页 | 详情页、表单页、校验逻辑 | `赛事详情页字段说明.md``报名填写页字段说明.md` | P0 |
| MP-05 | 接入支付结果流程 | 支付拉起、结果页、失败重试 | `支付结果页字段说明.md``支付退款接口字段清单.md` | P1 |
| MP-06 | 实现我的报名与成绩页 | 报名记录、成绩详情、状态展示 | `我的报名页字段说明.md``成绩详情页字段说明.md` | P1 |
| MP-07 | 接入通知中心 | 消息列表、已读状态 | `消息通知接口字段清单.md` | P2 |
## 3. 验收标准
- 用户可以完整完成一次报名支付。
- 我的报名能够正确展示待支付、已报名、已退款状态。
- 成绩发布后,用户可查看自己的成绩和排名。
- 关键异常有明确提示,不出现白屏或无响应。
## 4. 交给 agent 的建议拆法
- 第 1 批:`MP-01` + `MP-02`
- 第 2 批:`MP-03` + `MP-04`
- 第 3 批:`MP-05` + `MP-06`
- 第 4 批:`MP-07` + 样式与体验优化

View File

@@ -0,0 +1,22 @@
# 执行总览与使用方式
## 1. 文档目标
说明本项目在进入实施阶段后,如何使用本目录中的文档推进开发、联调和发布。
## 2. 推荐执行顺序
1. 先阅读 `里程碑与版本规划.md`,明确当前阶段目标。
2. 再阅读 `模块实施总任务单.md`,确定优先模块。
3. 然后从对应端的实施任务单中挑选一个具体任务交给 agent。
4. 开发完成后同步更新状态、风险与依赖项。
5. 进入联调后转到 `11-项目验收/` 目录执行验收流程。
## 3. 使用原则
- 一次只交付一个明确任务给 agent。
- 每个任务都要有输入文档、输出物和验收标准。
- 若业务规则未定,先补文档再开发。
- 每轮实施后同步记录进展与阻塞项。
## 4. 与其他目录的关系
- 业务依据来自 `01-基础与总览/``02-用户侧流程/``03-商户侧流程/``04-平台治理流程/`
- 技术依据来自 `05-通用基础/``06-微信小程序说明/``07-商户后台说明/``08-管理后台说明/``09-后台API说明/`
- 验收依据来自 `11-项目验收/`

View File

@@ -0,0 +1,36 @@
# 模块任务拆解建议
## 1. 文档目标
为后续把需求拆给 agent 提供任务颗粒度建议,避免一次性给过大需求。
## 2. 推荐拆法
### 小程序
- 登录与基础框架
- 赛事列表与详情
- 报名与支付
- 我的报名与成绩查询
### 商户后台
- 登录与权限
- 商户资料与入驻
- 赛事管理
- 报名与成绩管理
### 管理后台
- 审核中心
- 报表中心
- 异常处理与系统配置
### 后台 API
- 用户与认证
- 商户与赛事
- 报名与订单
- 支付退款与通知
- 成绩与报表
## 3. 对应实施任务单
- 小程序:`微信小程序实施任务单.md`
- 商户后台:`商户后台实施任务单.md`
- 管理后台:`管理后台实施任务单.md`
- 后台 API`后台API实施任务单.md`
- 联调上线:`../11-项目验收/联调测试与上线任务单.md`

View File

@@ -0,0 +1,32 @@
# 模块实施总任务单
## 1. 文档目标
将射箭赛事平台的实施工作拆成可分配、可验收、可交给 agent 执行的任务单,作为后续开发排期和协作入口。
## 2. 模块划分
| 模块 | 对应工程 | 核心范围 |
| --- | --- | --- |
| 用户端 | 微信小程序 | 登录、赛事浏览、报名支付、成绩查询 |
| 商户端 | 商户后台 | 入驻、赛事管理、报名管理、成绩录入 |
| 平台端 | 管理后台 | 商户审核、赛事审核、报表、异常工单 |
| 服务端 | 后台 API | 认证鉴权、业务接口、支付退款、通知、报表 |
| 联调交付 | 全部工程 | 联调、测试、上线准备、验收 |
## 3. 推荐实施顺序
1. 后台 API 基础能力
2. 微信小程序主链路
3. 商户后台核心管理能力
4. 管理后台审核与报表能力
5. 联调、测试、上线准备
## 4. 推荐交给 agent 的执行方式
- 每次只派发一个模块或一个子任务。
- 每个子任务需带明确输入文档、预期产出、验收标准。
- 开发后必须同步更新文档与测试结果。
## 5. 关联任务单
- `微信小程序实施任务单.md`
- `商户后台实施任务单.md`
- `管理后台实施任务单.md`
- `后台API实施任务单.md`
- `../11-项目验收/联调测试与上线任务单.md`

View File

@@ -0,0 +1,25 @@
# 管理后台实施任务单
## 1. 实施目标
完成平台运营端对商户、赛事、异常与报表的管理能力。
## 2. 模块任务
| 编号 | 任务 | 主要产出 | 依赖文档 | 优先级 |
| --- | --- | --- | --- | --- |
| AD-01 | 初始化管理后台工程 | 管理台骨架、权限菜单、通用列表组件 | `功能模块清单.md` | P0 |
| AD-02 | 商户审核模块 | 审核列表、详情、通过/驳回操作 | `商户审核页字段说明.md` | P0 |
| AD-03 | 赛事审核模块 | 赛事审核列表、详情、风险标签 | `赛事审核页字段说明.md` | P0 |
| AD-04 | 报表总览模块 | 平台关键指标看板与趋势图 | `报表总览页字段说明.md` | P1 |
| AD-05 | 异常工单模块 | 工单列表、分派、处理和结案 | `异常工单页字段说明.md` | P1 |
| AD-06 | 系统配置与字典 | 基础字典、公告、配置维护 | `字典与配置接口字段清单.md` | P2 |
## 3. 验收标准
- 平台可完成商户和赛事的审核闭环。
- 审核结论、驳回原因和日志可追溯。
- 报表可展示核心经营指标。
- 异常工单能分派、处理并留痕。
## 4. 交给 agent 的建议拆法
- 第 1 批:`AD-01` + `AD-02`
- 第 2 批:`AD-03` + `AD-04`
- 第 3 批:`AD-05` + `AD-06`

View File

@@ -0,0 +1,27 @@
# 部署与环境规划
## 1. 文档目标
提前规划开发、测试、预发、生产环境的用途和差异,方便后续初始化工程和部署流水线。
## 2. 环境建议
| 环境 | 用途 |
| --- | --- |
| dev | 日常开发联调 |
| test | 测试验证、接口回归 |
| staging | 预发布演练 |
| prod | 正式线上环境 |
## 3. 配置建议
- 不同环境应隔离数据库、缓存、对象存储配置。
- 第三方密钥应通过环境变量或密钥管理系统注入。
- 日志级别、域名、回调地址需按环境隔离。
## 4. 部署关注点
- 后台 API 需支持滚动发布或平滑重启。
- 商户后台和管理后台建议支持静态资源版本化。
- 小程序版本需有提审、灰度、正式发布流程。
## 5. 待确认项
- 云服务商与部署方式。
- 是否引入容器化与 CI/CD。
- 是否需要多地域或灾备。

View File

@@ -0,0 +1,18 @@
# 里程碑与版本规划
## 1. 目标
将整个平台建设拆成多个版本,便于分阶段交付与 agent 分批开发。
## 2. 建议版本
| 版本 | 范围 |
| --- | --- |
| V0.1 | 文档定稿、工程初始化、登录鉴权 |
| V0.2 | 商户入驻、赛事发布、用户报名 |
| V0.3 | 支付退款、成绩录入与发布 |
| V0.4 | 报表、通知、风控、运维能力 |
## 3. 每个版本建议输出
- 可运行的代码
- 对应测试结果
- 已更新的文档
- 已知问题与待办清单

View File

@@ -0,0 +1,17 @@
# 风险清单与依赖项
## 1. 风险清单
- 赛事规则复杂度高,可能影响数据模型和成绩计算实现。
- 支付与退款链路涉及资金安全,需谨慎验证。
- 多角色权限边界不清时,容易导致接口返工。
- 技术栈未定前,工程初始化存在不确定性。
## 2. 外部依赖
- 微信登录与支付能力
- 云存储与短信服务
- 部署环境与域名证书
- 运营审核规则与风控策略
## 3. 管理建议
- 对高风险模块先做 PoC 或最小可行实现。
- 对未确认规则,必须先落文档再开发。

19
11-项目验收/README.md Normal file
View File

@@ -0,0 +1,19 @@
# 项目验收
本目录用于沉淀测试策略、功能验收、UAT、上线检查和缺陷回归等文档。
## 建议阅读顺序
1. `验收总览与通过标准.md`
2. `测试策略与验收清单.md`
3. `功能验收标准总表.md`
4. `上线检查清单.md`
## 当前包含文档
- `验收总览与通过标准.md`
- `测试策略与验收清单.md`
- `联调测试与上线任务单.md`
- `非功能需求与SLA.md`
- `功能验收标准总表.md`
- `UAT验收记录模板.md`
- `上线检查清单.md`
- `缺陷跟踪与回归计划.md`

View File

@@ -0,0 +1,20 @@
# UAT 验收记录模板
## 验收轮次
- 轮次:
- 日期:
- 参与人:
## 验收场景
| 场景 | 结果 | 备注 |
| --- | --- | --- |
| 用户报名支付 | 通过 / 不通过 | |
| 商户创建赛事 | 通过 / 不通过 | |
| 平台审核赛事 | 通过 / 不通过 | |
| 商户录入成绩 | 通过 / 不通过 | |
## 问题清单
-
## 结论
- 是否允许进入下一阶段:是 / 否

View File

@@ -0,0 +1,19 @@
# 上线检查清单
## 1. 配置检查
- [ ] 生产环境域名已配置
- [ ] 支付回调地址已确认
- [ ] 对象存储和短信配置已确认
- [ ] 环境变量已核对
## 2. 数据与安全
- [ ] 管理员账号已创建
- [ ] 测试数据已清理
- [ ] 隐私字段脱敏检查通过
- [ ] 关键日志与告警已配置
## 3. 发布准备
- [ ] 构建包可正常产出
- [ ] 回滚方案已准备
- [ ] 监控看板已准备
- [ ] 值班与应急联系人已确认

View File

@@ -0,0 +1,25 @@
# 功能验收标准总表
## 1. 用户端
| 功能 | 验收点 |
| --- | --- |
| 浏览赛事 | 列表可筛选、详情展示完整 |
| 报名支付 | 报名成功并能完成支付 |
| 我的报名 | 能正确看到报名状态 |
| 成绩查询 | 成绩发布后可查看排名 |
## 2. 商户端
| 功能 | 验收点 |
| --- | --- |
| 商户入驻 | 可提交资料并看到审核状态 |
| 赛事创建 | 可创建草稿并提交审核 |
| 报名管理 | 可筛选、导出、核销 |
| 成绩录入 | 可录入、发布、修正 |
## 3. 平台端
| 功能 | 验收点 |
| --- | --- |
| 商户审核 | 可通过或驳回并留痕 |
| 赛事审核 | 可审核并记录驳回原因 |
| 报表总览 | 指标展示正确 |
| 异常工单 | 可分派、处理、结案 |

View File

@@ -0,0 +1,29 @@
# 测试策略与验收清单
## 1. 文档目标
为后续开发阶段定义测试范围、验收方式和上线前检查清单。
## 2. 测试层次建议
| 层次 | 说明 |
| --- | --- |
| 单元测试 | 核心规则、状态机、金额计算、排名计算 |
| 接口测试 | 登录、报名、支付、退款、审核、成绩发布 |
| 集成测试 | 支付回调、消息发送、对象存储、导出功能 |
| 端到端测试 | 用户报名到查看成绩完整闭环 |
## 3. 核心验收场景
- 用户成功报名并支付
- 商户成功创建并发布赛事
- 平台完成审核驳回与再次提审
- 商户录入成绩并发布
- 用户发起退款并收到结果通知
## 4. 上线前检查清单
- 状态流转是否完整
- 权限隔离是否正确
- 日志和告警是否到位
- 关键文档是否同步更新
## 5. 待补充项
- 明确每个场景的输入数据与预期结果。
- 补充回归测试矩阵与优先级。

View File

@@ -0,0 +1,21 @@
# 缺陷跟踪与回归计划
## 1. 缺陷记录维度
| 字段 | 说明 |
| --- | --- |
| 缺陷ID | 唯一编号 |
| 所属模块 | 小程序 / 商户后台 / 管理后台 / API |
| 严重级别 | P0 / P1 / P2 |
| 复现步骤 | 如何复现 |
| 当前状态 | 待修复 / 修复中 / 待验证 / 已关闭 |
| 回归结果 | 通过 / 不通过 |
## 2. 回归重点
- 报名支付主链路
- 退款与异常处理
- 审核驳回与重新提交
- 成绩录入与发布
## 3. 建议节奏
- 每轮修复后进行一次重点回归。
- 上线前至少完成一轮全链路回归。

View File

@@ -0,0 +1,26 @@
# 联调测试与上线任务单
## 1. 实施目标
在四个工程开发完成后,完成接口联调、测试验收、环境部署与上线准备。
## 2. 任务清单
| 编号 | 任务 | 主要产出 | 优先级 |
| --- | --- | --- | --- |
| IT-01 | 联调环境准备 | 可用的 dev/test 环境、联调账号、测试数据 | P0 |
| IT-02 | 主链路联调 | 用户报名支付、商户发赛事、平台审核、成绩发布全流程跑通 | P0 |
| IT-03 | 异常场景回归 | 支付失败、退款失败、审核驳回、成绩修正等验证记录 | P1 |
| IT-04 | 测试验收执行 | 测试报告、缺陷清单、修复验证记录 | P1 |
| IT-05 | 上线准备 | 配置检查、回调地址、监控告警、备份方案 | P1 |
| IT-06 | 灰度与正式发布 | 发布记录、回滚预案、上线确认单 | P2 |
## 3. 验收标准
- 用户/商户/平台三端主流程全部跑通。
- 关键异常场景有明确处理结果。
- 生产配置、域名、回调、监控均已确认。
- 上线前文档、接口、配置与代码版本一致。
## 4. 建议附带产出
- 联调 checklist
- 测试用例执行结果
- 上线回滚预案
- 已知问题清单

View File

@@ -0,0 +1,24 @@
# 非功能需求与 SLA
## 1. 文档目标
补齐性能、安全、可用性、审计等非功能需求,避免后续只关注业务功能而忽略上线质量。
## 2. 性能要求建议
- 赛事列表页首屏响应需在可接受范围内。
- 高峰报名场景需支持并发保护与库存控制。
- 大表导出、成绩计算需避免阻塞主流程。
## 3. 可用性要求
- 核心服务需具备异常恢复能力。
- 支付、退款、通知等关键链路需支持重试与补偿。
- 数据库定期备份,关键日志可追溯。
## 4. 安全要求
- 用户隐私字段需脱敏展示。
- 管理后台高风险操作需日志审计。
- API 需做鉴权、频控、参数校验。
## 5. SLA 待确认项
- 目标可用性:例如 99.9%。
- 关键故障恢复时间。
- 工单/异常的响应时限。

View File

@@ -0,0 +1,18 @@
# 验收总览与通过标准
## 1. 文档目标
定义项目进入联调和上线前,整体需要满足的验收范围和通过标准。
## 2. 验收范围
- 功能验收:核心业务流程是否可用
- 接口验收:关键接口是否按文档返回
- 权限验收:不同角色是否只能访问各自数据
- 性能与稳定性验收:关键链路是否稳定
- 上线准备验收:配置、监控、回滚方案是否齐备
## 3. 通过标准
- 用户报名支付主链路完整可跑通
- 商户入驻、发赛事、录成绩可正常使用
- 管理后台审核与异常处理可闭环
- 关键异常场景有明确处理结果
- 上线材料和回滚预案完整

106
README.md Normal file
View File

@@ -0,0 +1,106 @@
# 射箭赛事平台文档仓库
## 1. 项目说明
本仓库用于梳理“射箭赛事平台”的业务文档、系统说明和开发前置资料,后续可直接提供给 agent 进行代码开发、接口设计、测试用例整理与任务拆解。
## 2. 代码工程范围
当前平台包含 4 个核心代码工程:
| 工程 | 面向对象 | 主要职责 |
| --- | --- | --- |
| 微信小程序 | 参赛用户 | 浏览赛事、报名支付、查看通知与成绩 |
| 商户后台 | 赛事入驻方 | 入驻申请、赛事发布、报名管理、成绩录入 |
| 管理后台 | 平台运营人员 | 审核商户、审核赛事、风控治理、报表统计 |
| 后台 API 服务 | 全部客户端 | 提供统一接口、权限控制、订单支付、成绩与消息能力 |
## 3. 当前文档目录
```text
archery-event/
├── README.md
├── 01-基础与总览/
├── 02-用户侧流程/
├── 03-商户侧流程/
├── 04-平台治理流程/
├── 05-通用基础/
├── 06-微信小程序说明/
├── 07-商户后台说明/
├── 08-管理后台说明/
├── 09-后台API说明/
├── 10-项目执行/
└── 11-项目验收/
```
## 4. 推荐阅读顺序
### 第 1 层:先理解业务
1. `01-基础与总览/README.md`
2. `01-基础与总览/核心业务流程总览.md`
3. `01-基础与总览/角色与场景地图.md`
4. `01-基础与总览/业务名词表.md`
### 第 2 层:再看核心闭环
5. `03-商户侧流程/商户入驻流程.md`
6. `03-商户侧流程/赛事创建与发布流程.md`
7. `02-用户侧流程/用户报名参赛流程.md`
8. `02-用户侧流程/支付流程.md`
9. `02-用户侧流程/退款流程.md`
10. `03-商户侧流程/成绩录入与排名流程.md`
### 第 3 层:补充规则与治理
11. `03-商户侧流程/赛事规则与计分模型.md`
12. `04-平台治理流程/状态流转总表.md`
13. `02-用户侧流程/消息通知与触达流程.md`
14. `04-平台治理流程/结算与对账流程.md`
15. `04-平台治理流程/异常处理与申诉流程.md`
16. `01-基础与总览/业务规则待确认清单.md`
### 第 4 层:最后交给开发实现
17. `05-通用基础/README.md`
18. `05-通用基础/系统架构总览.md`
19. `05-通用基础/角色与权限矩阵.md`
20. `05-通用基础/核心数据模型草案.md`
21. `09-后台API说明/领域模块划分.md`
22. `09-后台API说明/接口清单规划.md`
### 第 5 层:进入执行与验收
23. `10-项目执行/README.md`
24. `10-项目执行/模块实施总任务单.md`
25. `11-项目验收/README.md`
26. `11-项目验收/功能验收标准总表.md`
## 5. 文档编写原则
- 文档默认使用中文。
- 优先明确业务边界、角色职责、状态流转和关键数据对象。
- 当前技术栈未定,先不绑定具体框架实现。
- 所有新增术语应同步更新到 `01-基础与总览/业务名词表.md`
- 一条业务规则有变化时,应同步更新相关流程文档、状态文档和接口说明。
## 6. 当前优先级
- **P0**:商户入驻流程
- **P0**:赛事创建与发布流程
- **P1**:用户报名参赛流程
- **P1**:支付流程
- **P1**:退款流程
- **P1**:成绩录入与排名流程
- **P2**:通知、结算、异常、报表与交付规范
## 7. 交给 agent 前建议至少补齐的内容
只要把下面这些信息补完整,就已经足以让 agent 分阶段做出较完整的平台:
1. **赛事规则**
- 支持哪些赛制、组别、计分方式、同分规则
2. **支付与退款规则**
- 退款时限、手续费承担、结算周期、抽佣规则
3. **审核规则**
- 商户和赛事的审核标准、驳回原因模板、白名单机制
4. **页面字段与表单项**
- 各页面要展示哪些字段、各表单必填项是什么
5. **接口字段细节**
- 请求参数、返回字段、错误码、分页与筛选条件
6. **技术选型**
- 前端框架、后端语言、数据库、部署环境
## 8. 下一步建议
1. 先补齐 `10-项目执行/模块实施总任务单.md` 中每个任务的具体业务细节。
2.`10-项目执行/Agent任务派发模板.md` 把任务逐批交给 agent 执行。
3. 开发完成后按 `11-项目验收/` 目录逐项做联调、验收与上线检查。