commit 852e52269554f193f13b83a16f26ab203536117d Author: kron Date: Tue Apr 7 16:15:59 2026 +0800 项目初始化 diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md new file mode 100644 index 0000000..5d838d2 --- /dev/null +++ b/.github/copilot-instructions.md @@ -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. diff --git a/01-基础与总览/README.md b/01-基础与总览/README.md new file mode 100644 index 0000000..265b1bc --- /dev/null +++ b/01-基础与总览/README.md @@ -0,0 +1,9 @@ +# 基础与总览 + +本目录存放项目的全局认知文档,建议最先阅读。 + +## 包含内容 +- `核心业务流程总览.md` +- `角色与场景地图.md` +- `业务名词表.md` +- `业务规则待确认清单.md` diff --git a/01-基础与总览/业务名词表.md b/01-基础与总览/业务名词表.md new file mode 100644 index 0000000..eb579ad --- /dev/null +++ b/01-基础与总览/业务名词表.md @@ -0,0 +1,18 @@ +# 业务名词表 + +| 名词 | 定义 | +| --- | --- | +| 商户 | 入驻平台、负责举办赛事的机构或个人主体 | +| 平台运营 | 负责审核、风控、运营管理的后台人员 | +| 赛事 | 一次可独立报名的比赛活动 | +| 场次 | 同一赛事下的时间段或赛程安排 | +| 组别 | 依据年龄、性别、弓种、水平等划分的参赛类别 | +| 报名单 | 用户提交报名后的业务记录 | +| 订单 | 与报名费用对应的支付单据 | +| 成绩单 | 比赛结束后记录选手得分与排名的数据 | +| 审核状态 | 商户或赛事在平台审核中的业务状态 | +| 退款单 | 对已支付订单发起退款后的记录 | + +## 使用原则 +- 新增业务文档时,优先复用本词表中的定义。 +- 若新增术语,请同步补充到本文件,避免不同文档描述不一致。 diff --git a/01-基础与总览/业务规则待确认清单.md b/01-基础与总览/业务规则待确认清单.md new file mode 100644 index 0000000..e23b950 --- /dev/null +++ b/01-基础与总览/业务规则待确认清单.md @@ -0,0 +1,32 @@ +# 业务规则待确认清单 + +## 1. 文档目标 +集中记录当前仍未拍板的关键业务规则,方便产品负责人逐项补充,避免 agent 在开发时自行猜测。 + +## 2. 赛事规则类 +- 是否支持团体赛、淘汰赛、多轮晋级。 +- 是否支持不同弓种的规则模板。 +- 同分排名的处理方式如何定义。 + +## 3. 报名与支付类 +- 是否允许代报名、多人一单、候补报名。 +- 支付超时时长是多少。 +- 是否允许部分退款,手续费谁承担。 + +## 4. 商户与审核类 +- 商户入驻是否必须人工审核。 +- 是否有白名单商户可免审核发布赛事。 +- 商户是否支持多子账号、多角色协作。 + +## 5. 数据与隐私类 +- 成绩是否公开展示。 +- 用户隐私字段哪些对商户可见。 +- 日志与数据保留多久。 + +## 6. 运营与结算类 +- 平台抽佣规则。 +- 商户结算周期与打款方式。 +- 是否需要营销活动、优惠券、邀请码等能力。 + +## 7. 使用方式 +建议后续每次补全一个规则时,直接在本文件记录“最终决定 + 生效时间 + 影响文档”。 diff --git a/01-基础与总览/核心业务流程总览.md b/01-基础与总览/核心业务流程总览.md new file mode 100644 index 0000000..10aae0b --- /dev/null +++ b/01-基础与总览/核心业务流程总览.md @@ -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. 待确认事项 +- 是否支持团体赛、淘汰赛、分轮晋级等复杂赛制。 +- 平台是否抽佣,商户结算周期如何定义。 +- 成绩是否公开展示给所有用户,还是仅报名用户可见。 diff --git a/01-基础与总览/角色与场景地图.md b/01-基础与总览/角色与场景地图.md new file mode 100644 index 0000000..54083bb --- /dev/null +++ b/01-基础与总览/角色与场景地图.md @@ -0,0 +1,48 @@ +# 角色与场景地图 + +## 1. 文档目标 +从角色视角梳理平台的核心使用场景,帮助后续产品设计、页面设计与权限设计保持一致。 + +## 2. 主要角色 +| 角色 | 使用端 | 核心目标 | +| --- | --- | --- | +| 普通用户 | 微信小程序 | 找到合适赛事、完成报名、查看成绩 | +| 商户管理员 | 商户后台 | 入驻平台、发布赛事、管理报名和成绩 | +| 商户子账号 | 商户后台 | 协助处理赛事执行、报名核销、成绩录入 | +| 平台审核员 | 管理后台 | 审核商户、审核赛事、处理异常 | +| 平台运营管理员 | 管理后台 | 运营配置、报表分析、风险控制 | + +## 3. 角色核心场景 + +### 3.1 用户场景 +- 浏览赛事列表与详情 +- 报名并支付 +- 查看报名记录与参赛信息 +- 查看成绩与排名 +- 发起退款或申诉(如支持) + +### 3.2 商户场景 +- 提交入驻资料 +- 创建赛事并提审 +- 维护赛事配置与组别信息 +- 核销签到、录入成绩、导出名单 +- 查看订单、退款与运营数据 + +### 3.3 平台场景 +- 审核商户与赛事 +- 处理异常订单与争议退款 +- 下架违规赛事、停用异常商户 +- 查看平台数据报表与经营指标 + +## 4. 场景阶段地图 +| 阶段 | 用户 | 商户 | 平台 | +| --- | --- | --- | --- | +| 筹备阶段 | 浏览赛事信息 | 入驻、创建赛事 | 审核商户和赛事 | +| 报名阶段 | 提交报名并支付 | 查看报名情况、准备赛事 | 监控报名、处理异常 | +| 比赛阶段 | 到场参赛 | 核销签到、录入成绩 | 巡检与处理问题 | +| 赛后阶段 | 查看成绩、退款/申诉 | 发布成绩、对账结算 | 复核投诉、看报表 | + +## 5. 输出给设计与开发的价值 +- 可作为页面清单与权限矩阵的上游依据。 +- 可为测试场景设计提供角色视角。 +- 可作为 agent 拆解任务时的功能边界说明。 diff --git a/02-用户侧流程/README.md b/02-用户侧流程/README.md new file mode 100644 index 0000000..467d022 --- /dev/null +++ b/02-用户侧流程/README.md @@ -0,0 +1,9 @@ +# 用户侧流程 + +本目录聚焦用户在微信小程序中的核心业务链路。 + +## 包含内容 +- `用户报名参赛流程.md` +- `支付流程.md` +- `退款流程.md` +- `消息通知与触达流程.md` diff --git a/02-用户侧流程/支付流程.md b/02-用户侧流程/支付流程.md new file mode 100644 index 0000000..95ba322 --- /dev/null +++ b/02-用户侧流程/支付流程.md @@ -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 / 周结。 +- 是否支持合单支付或多人一单。 diff --git a/02-用户侧流程/消息通知与触达流程.md b/02-用户侧流程/消息通知与触达流程.md new file mode 100644 index 0000000..14b8764 --- /dev/null +++ b/02-用户侧流程/消息通知与触达流程.md @@ -0,0 +1,38 @@ +# 消息通知与触达流程 + +## 1. 文档目标 +定义平台在关键业务节点的通知触达方式、模板归属和发送规则,保证用户、商户与平台运营能及时收到关键消息。 + +## 2. 触达对象 +- 用户 +- 商户管理员/子账号 +- 平台审核员/运营管理员 + +## 3. 触发场景 +| 场景 | 接收人 | 建议渠道 | +| --- | --- | --- | +| 报名成功 | 用户 | 小程序订阅消息 / 站内消息 | +| 支付成功 | 用户 | 小程序订阅消息 | +| 退款成功 | 用户 | 小程序订阅消息 / 短信 | +| 赛事审核通过/驳回 | 商户 | 站内消息 / 邮件(如后续支持) | +| 商户入驻审核结果 | 商户 | 站内消息 / 短信 | +| 比赛开始前提醒 | 用户 | 小程序订阅消息 | +| 成绩发布通知 | 用户 | 小程序订阅消息 | +| 异常工单提醒 | 平台运营 | 管理后台待办 / 邮件(如后续支持) | + +## 4. 通知流程 +1. 业务事件发生。 +2. 后台 API 写入通知任务。 +3. 根据消息模板与用户授权情况选择发送渠道。 +4. 发送结果回写日志。 +5. 失败消息进入重试或人工补发机制。 + +## 5. 控制点 +- 重要消息必须支持发送记录查询。 +- 模板内容应支持参数化。 +- 对高频通知做频控,避免骚扰用户。 + +## 6. 待确认事项 +- 是否接入短信通道。 +- 是否支持站内信中心。 +- 是否需要给商户和平台发邮件通知。 diff --git a/02-用户侧流程/用户报名参赛流程.md b/02-用户侧流程/用户报名参赛流程.md new file mode 100644 index 0000000..f4b9ae5 --- /dev/null +++ b/02-用户侧流程/用户报名参赛流程.md @@ -0,0 +1,54 @@ +# 用户报名参赛流程 + +## 1. 适用角色 +- 用户(微信小程序) +- 后台 API +- 商户(间接受影响) + +## 2. 前置条件 +- 用户已完成微信授权登录。 +- 赛事已发布且处于“可报名”状态。 +- 对应组别/场次仍有余量。 + +## 3. 主流程 +1. 用户进入小程序首页或赛事列表页。 +2. 浏览赛事详情,查看时间、地点、费用、组别、规则。 +3. 选择组别/场次并填写报名信息。 +4. 系统校验报名资格、库存、报名截止时间。 +5. 生成待支付报名单与订单。 +6. 用户完成微信支付。 +7. 系统回写支付结果,报名状态变为“报名成功”。 +8. 用户在“我的报名”中查看订单、参赛码、赛事通知。 + +## 4. 异常分支 +- 超过报名截止时间:禁止提交。 +- 赛事名额已满:提示不可报名,可加入候补(若后续支持)。 +- 支付失败:保留待支付状态一段时间,支持重新拉起支付。 +- 赛事被下架/关闭:已下单但未支付的订单需自动关闭。 + +## 5. 关键状态 +| 对象 | 状态 | +| --- | --- | +| 报名单 | 待支付 / 已报名 / 已取消 / 已退款 | +| 订单 | 待支付 / 已支付 / 已关闭 / 已退款 | +| 用户参赛资格 | 未获得 / 已获得 / 已核销 | + +## 6. 关键数据字段 +- 用户ID +- 赛事ID +- 组别ID +- 报名人姓名/手机号 +- 证件或身份校验信息(如后续需要) +- 支付金额 +- 报名时间 + +## 7. 与系统的交互点 +- 用户中心:登录态、手机号授权 +- 订单系统:创建订单、支付回调 +- 消息通知:报名成功通知、赛前提醒 +- 成绩系统:赛后可查看成绩与排名 + +## 8. 待确认事项 +- 是否允许代他人报名。 +- 是否支持多人一单或团体统一报名。 +- 报名成功后是否允许用户主动取消。 diff --git a/02-用户侧流程/退款流程.md b/02-用户侧流程/退款流程.md new file mode 100644 index 0000000..a40eb1a --- /dev/null +++ b/02-用户侧流程/退款流程.md @@ -0,0 +1,49 @@ +# 退款流程 + +## 1. 文档目标 +明确用户、商户、平台在退款场景下的申请、审核、回调和状态同步逻辑,避免后续资金链路和责任归属不清。 + +## 2. 常见退款场景 +- 用户在允许时间内主动取消报名。 +- 商户因赛事关闭、延期、名额调整发起退款。 +- 平台因异常订单、重复扣款、风控问题发起退款。 + +## 3. 参与角色 +| 角色 | 职责 | +| --- | --- | +| 用户 | 提交退款申请、查看退款进度 | +| 商户 | 审核或发起退款、处理赛事关闭场景 | +| 平台运营 | 处理异常退款、争议退款、人工复核 | +| 后台 API | 校验条件、创建退款单、接收回调 | +| 支付渠道 | 执行实际退款并回传结果 | + +## 4. 主流程 +1. 发起退款申请。 +2. 系统校验退款资格、退款金额与责任方。 +3. 创建退款单并进入“待处理”或“退款中”状态。 +4. 调用支付渠道提交退款。 +5. 接收退款回调并更新状态。 +6. 同步更新订单状态、报名状态,并通知用户。 + +## 5. 异常分支 +- 超出退款时限:拒绝退款。 +- 已核销/已参赛:按规则禁止或需人工处理。 +- 支付渠道退款失败:进入人工复核。 +- 重复退款申请:幂等拦截。 + +## 6. 状态流转 +| 对象 | 状态 | +| --- | --- | +| 退款单 | 待处理 / 退款中 / 退款成功 / 退款失败 / 已关闭 | +| 订单 | 已支付 / 已退款 / 部分退款(如后续支持) | +| 报名单 | 已报名 / 已取消 / 已退款 | + +## 7. 关键控制点 +- 退款必须记录申请人、审批人、处理时间和原因。 +- 金额计算规则要可追溯。 +- 与支付渠道交互必须幂等与验签。 + +## 8. 待确认事项 +- 是否允许部分退款。 +- 是否支持按退款责任方区分手续费承担。 +- 用户退款是否都需要商户审核。 diff --git a/03-商户侧流程/README.md b/03-商户侧流程/README.md new file mode 100644 index 0000000..3965ded --- /dev/null +++ b/03-商户侧流程/README.md @@ -0,0 +1,9 @@ +# 商户侧流程 + +本目录聚焦商户入驻、赛事发布与成绩管理相关流程。 + +## 包含内容 +- `商户入驻流程.md` +- `赛事创建与发布流程.md` +- `成绩录入与排名流程.md` +- `赛事规则与计分模型.md` diff --git a/03-商户侧流程/商户入驻流程.md b/03-商户侧流程/商户入驻流程.md new file mode 100644 index 0000000..8476e53 --- /dev/null +++ b/03-商户侧流程/商户入驻流程.md @@ -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. 待确认事项 +- 商户是否允许多个子账号协作。 +- 是否支持不同类型主体(公司/个体/协会)入驻。 +- 是否需要签署电子协议后才算正式入驻。 diff --git a/03-商户侧流程/成绩录入与排名流程.md b/03-商户侧流程/成绩录入与排名流程.md new file mode 100644 index 0000000..43b783b --- /dev/null +++ b/03-商户侧流程/成绩录入与排名流程.md @@ -0,0 +1,35 @@ +# 成绩录入与排名流程 + +## 1. 文档目标 +明确商户如何录入比赛成绩、系统如何生成排名,以及成绩发布后的查看与申诉处理规则。 + +## 2. 参与角色 +- 商户管理员 / 裁判录入员 +- 后台 API +- 参赛用户 +- 平台运营(处理异常申诉) + +## 3. 主流程 +1. 赛事结束或某轮次结束后,商户进入成绩管理页面。 +2. 按组别/场次录入选手成绩。 +3. 系统校验数据完整性与格式合法性。 +4. 系统按规则生成排名结果。 +5. 商户确认无误后提交发布。 +6. 用户在小程序查看成绩与排名。 + +## 4. 异常场景 +- 成绩缺失或重复录入。 +- 成绩与参赛名单不匹配。 +- 排名规则调整后需重新计算。 +- 用户提出成绩申诉,需重新审核。 + +## 5. 关键状态 +| 对象 | 状态 | +| --- | --- | +| 成绩记录 | 草稿 / 已提交 / 已发布 / 已作废 | +| 申诉单 | 待处理 / 处理中 / 已解决 | + +## 6. 待确认事项 +- 是否支持 Excel 批量导入成绩。 +- 是否支持多轮成绩、淘汰赛对阵与晋级逻辑。 +- 成绩发布前是否需要平台复核。 diff --git a/03-商户侧流程/赛事创建与发布流程.md b/03-商户侧流程/赛事创建与发布流程.md new file mode 100644 index 0000000..a047272 --- /dev/null +++ b/03-商户侧流程/赛事创建与发布流程.md @@ -0,0 +1,64 @@ +# 赛事创建与发布流程 + +## 1. 文档目标 +说明商户在通过入驻审核后,如何在商户后台创建赛事、配置报名规则并提交平台审核,最终完成赛事发布。 + +## 2. 参与角色 +| 角色 | 职责 | +| --- | --- | +| 商户管理员 | 创建赛事、编辑信息、提交审核 | +| 商户子账号 | 在授权范围内协助编辑赛事 | +| 平台审核员 | 审核赛事内容与合规性 | +| 后台 API | 保存数据、校验规则、驱动状态流转 | + +## 3. 前置条件 +- 商户已完成入驻并处于“已启用”状态。 +- 商户具备赛事创建权限。 +- 平台已配置可用的赛事类目、审核规则和基础字典。 + +## 4. 主流程 +1. 商户进入“赛事管理”页面并点击“创建赛事”。 +2. 填写基础信息:赛事名称、封面、地点、时间、联系人、简介。 +3. 配置报名规则:报名时间、人数上限、组别、费用、退款规则。 +4. 配置扩展内容:报名表单、参赛须知、证书/奖项说明。 +5. 保存草稿并预览展示效果。 +6. 提交平台审核。 +7. 平台审核通过后,赛事进入“已发布/报名中”状态。 +8. 用户可在微信小程序中查看并报名。 + +## 5. 异常分支 +- 基础信息缺失:系统阻止提交审核。 +- 报名截止时间晚于开赛时间:校验不通过。 +- 审核驳回:商户根据驳回原因修改后重新提交。 +- 发布后出现重大问题:平台可强制下架或关闭报名。 + +## 6. 状态流转 +| 状态 | 说明 | +| --- | --- | +| 草稿 | 编辑中,用户不可见 | +| 待审核 | 已提交,等待平台审核 | +| 审核驳回 | 需修改后再次提交 | +| 已发布 | 用户可见,可报名 | +| 已关闭 | 手动关闭或平台关闭 | +| 已结束 | 赛事已完赛 | + +## 7. 关键数据字段 +- 赛事ID +- 商户ID +- 赛事名称 +- 开赛时间/结束时间 +- 报名开始/结束时间 +- 组别配置 +- 报名费用 +- 退款规则 +- 审核状态/驳回原因 + +## 8. 规则与控制点 +- 提交审核后,涉及价格、时间、组别的修改需重新审核。 +- 已有报名记录后,应限制高风险字段直接修改。 +- 所有审核和发布动作都需记录操作日志。 + +## 9. 待确认事项 +- 是否支持平台代商户发布赛事。 +- 是否支持无需审核直接发布的白名单商户。 +- 是否允许赛事复制创建。 diff --git a/03-商户侧流程/赛事规则与计分模型.md b/03-商户侧流程/赛事规则与计分模型.md new file mode 100644 index 0000000..c68cef1 --- /dev/null +++ b/03-商户侧流程/赛事规则与计分模型.md @@ -0,0 +1,29 @@ +# 赛事规则与计分模型 + +## 1. 文档目标 +梳理射箭赛事在平台中的规则抽象方式,为赛事配置、成绩录入、排名计算和前端展示提供统一依据。 + +## 2. 建议抽象维度 +| 维度 | 说明 | +| --- | --- | +| 赛事类型 | 个人赛、团体赛、公开赛、邀请赛 | +| 赛制 | 单轮累计、双轮累计、淘汰赛、积分赛 | +| 组别 | 年龄组、性别组、弓种组、等级组 | +| 轮次 | 资格赛、晋级赛、决赛 | +| 计分方式 | 总分制、命中环数、加权分 | + +## 3. 基础规则建议 +- 每个赛事至少包含一个组别。 +- 每个组别需要配置人数上限、报名费、参赛要求。 +- 成绩计算规则应独立配置,避免写死在代码中。 +- 排名规则需明确同分处理方式。 + +## 4. 计分模型建议 +- 原始成绩:每轮每箭的基础得分。 +- 汇总成绩:按轮次累计得到总分。 +- 排名结果:按总分排序,必要时结合附加规则打破平分。 + +## 5. 待确认事项 +- 是否支持复杂赛制,如多轮晋级、淘汰对阵。 +- 是否需要按协会/地区赛规则做模板化配置。 +- 是否支持团体积分与个人积分并存。 diff --git a/04-平台治理流程/README.md b/04-平台治理流程/README.md new file mode 100644 index 0000000..44d85b5 --- /dev/null +++ b/04-平台治理流程/README.md @@ -0,0 +1,9 @@ +# 平台治理流程 + +本目录聚焦审核、结算、状态流转和异常处理等平台治理内容。 + +## 包含内容 +- `平台审核与运营流程.md` +- `状态流转总表.md` +- `结算与对账流程.md` +- `异常处理与申诉流程.md` diff --git a/04-平台治理流程/平台审核与运营流程.md b/04-平台治理流程/平台审核与运营流程.md new file mode 100644 index 0000000..b97a09e --- /dev/null +++ b/04-平台治理流程/平台审核与运营流程.md @@ -0,0 +1,27 @@ +# 平台审核与运营流程 + +## 1. 文档目标 +说明平台管理后台如何处理商户审核、赛事审核、异常订单、退款复核和数据运营工作。 + +## 2. 核心职责 +- 审核商户资质 +- 审核赛事内容 +- 处理违规与异常 +- 跟踪订单退款 +- 查看平台数据报表 + +## 3. 主流程 +1. 审核员进入待办列表查看待审核事项。 +2. 按规则审核商户入驻申请或赛事发布申请。 +3. 对于异常订单、投诉、退款进行复核处理。 +4. 对已上线赛事进行巡检与风险监控。 +5. 通过报表查看平台交易、报名、活跃度等数据。 + +## 4. 管控点 +- 审核动作需记录审核人、审核时间、审核意见。 +- 高风险操作建议支持二次确认。 +- 下架、封禁、退款等操作需要留审计日志。 + +## 5. 待确认事项 +- 是否设置多级审核流。 +- 是否需要自动风控规则与告警机制。 diff --git a/04-平台治理流程/异常处理与申诉流程.md b/04-平台治理流程/异常处理与申诉流程.md new file mode 100644 index 0000000..7222ec7 --- /dev/null +++ b/04-平台治理流程/异常处理与申诉流程.md @@ -0,0 +1,29 @@ +# 异常处理与申诉流程 + +## 1. 文档目标 +统一处理订单异常、成绩异常、用户投诉和商户申诉的工作流,避免后续出现职责不清或处理链路缺失。 + +## 2. 异常类型 +- 支付异常:重复支付、支付成功未回写、金额不一致 +- 报名异常:超卖、重复报名、资格校验失误 +- 成绩异常:录入错误、排名异常、用户申诉 +- 商户异常:违规内容、虚假赛事、未履约 +- 系统异常:通知失败、状态不同步、数据脏写 + +## 3. 处理主流程 +1. 用户、商户或平台发现异常并发起工单/申诉。 +2. 系统记录异常单并分类。 +3. 平台运营分派处理人。 +4. 处理人调查并给出处理意见。 +5. 若涉及退款、修正成绩、封禁商户,则同步执行相关动作。 +6. 处理结果通知相关方,并归档记录。 + +## 4. 输出要求 +- 每条异常单必须有处理结论。 +- 需要区分自动处理与人工处理。 +- 重大异常需支持升级与复盘。 + +## 5. 待确认事项 +- 是否单独建设工单系统。 +- 申诉时限如何定义。 +- 是否支持上传申诉凭证附件。 diff --git a/04-平台治理流程/状态流转总表.md b/04-平台治理流程/状态流转总表.md new file mode 100644 index 0000000..9b18f51 --- /dev/null +++ b/04-平台治理流程/状态流转总表.md @@ -0,0 +1,47 @@ +# 状态流转总表 + +## 1. 文档目标 +汇总平台关键业务对象的状态定义与状态变更条件,便于前后端和测试统一理解。 + +## 2. 商户状态 +| 状态 | 含义 | 触发条件 | +| --- | --- | --- | +| 未入驻 | 尚未申请入驻 | 初始状态 | +| 待审核 | 已提交资料 | 提交入驻申请 | +| 已驳回 | 审核未通过 | 审核驳回 | +| 已入驻 | 审核通过 | 平台审核通过 | +| 已停用 | 被禁用 | 违规或异常处理 | + +## 3. 赛事状态 +| 状态 | 含义 | 触发条件 | +| --- | --- | --- | +| 草稿 | 编辑中 | 创建赛事 | +| 待审核 | 等待平台审核 | 提交审核 | +| 审核驳回 | 审核未通过 | 平台驳回 | +| 已发布 | 用户可见 | 审核通过并发布 | +| 已关闭 | 不再允许报名 | 手动关闭或平台关闭 | +| 已结束 | 比赛已结束 | 达到结束时间 | + +## 4. 报名单状态 +| 状态 | 含义 | 触发条件 | +| --- | --- | --- | +| 待支付 | 已提交待付款 | 创建报名单 | +| 已报名 | 支付成功 | 支付回调成功 | +| 已取消 | 用户/系统取消 | 主动取消或订单关闭 | +| 已退款 | 已完成退款 | 退款成功 | + +## 5. 订单状态 +| 状态 | 含义 | 触发条件 | +| --- | --- | --- | +| 待支付 | 尚未付款 | 创建订单 | +| 已支付 | 已完成支付 | 支付成功 | +| 已关闭 | 无需继续支付 | 超时关闭或取消 | +| 已退款 | 已退回金额 | 退款成功 | + +## 6. 成绩状态 +| 状态 | 含义 | 触发条件 | +| --- | --- | --- | +| 草稿 | 尚未发布 | 初次录入 | +| 已提交 | 等待确认 | 商户提交 | +| 已发布 | 对用户可见 | 商户/平台发布 | +| 已作废 | 不再生效 | 成绩修正或撤销 | diff --git a/04-平台治理流程/结算与对账流程.md b/04-平台治理流程/结算与对账流程.md new file mode 100644 index 0000000..d0e6552 --- /dev/null +++ b/04-平台治理流程/结算与对账流程.md @@ -0,0 +1,37 @@ +# 结算与对账流程 + +## 1. 文档目标 +明确平台、商户、支付渠道之间的资金结算与账务核对流程,为后续财务模块设计提供依据。 + +## 2. 参与对象 +- 用户 +- 商户 +- 平台 +- 支付渠道 + +## 3. 核心问题 +- 商户何时可结算 +- 平台是否抽佣 +- 退款是否影响已结算金额 +- 平台如何进行日对账与差错处理 + +## 4. 建议主流程 +1. 用户报名支付成功,形成订单收入。 +2. 系统记录平台应收、商户应收、手续费等账务信息。 +3. 到达结算周期后,系统汇总可结算金额。 +4. 商户发起结算申请或系统自动结算。 +5. 平台审核并确认结算。 +6. 完成打款并记录结算单。 +7. 每日执行支付对账,发现差异后发起差错处理。 + +## 5. 关键数据对象 +- 订单流水 +- 退款流水 +- 结算单 +- 对账单 +- 差错单 + +## 6. 待确认事项 +- 结算周期:实时 / T+1 / 周结 / 月结。 +- 平台抽佣比例与手续费承担方。 +- 是否支持人工线下结算与上传凭证。 diff --git a/05-通用基础/README.md b/05-通用基础/README.md new file mode 100644 index 0000000..d3efcac --- /dev/null +++ b/05-通用基础/README.md @@ -0,0 +1,10 @@ +# 通用基础 + +本目录存放跨端共用的系统基础说明文档。 + +## 包含内容 +- `系统架构总览.md` +- `开发规范与协作约定.md` +- `角色与权限矩阵.md` +- `核心数据模型草案.md` +- `接口约定与返回规范.md` diff --git a/05-通用基础/开发规范与协作约定.md b/05-通用基础/开发规范与协作约定.md new file mode 100644 index 0000000..a961aac --- /dev/null +++ b/05-通用基础/开发规范与协作约定.md @@ -0,0 +1,26 @@ +# 开发规范与协作约定 + +## 1. 文档目标 +统一后续多人协作、agent 执行、代码提交和文档补充的方式,减少返工与沟通成本。 + +## 2. 命名规范建议 +- 文档:采用中文 + 编号方式命名。 +- API:统一使用资源化命名风格。 +- 数据库字段:统一小写下划线风格(建议)。 +- 状态值:优先使用枚举常量,避免散落 magic value。 + +## 3. 分支与提交建议 +- 需求变更应有对应文档更新。 +- commit message 建议使用中文并带类型前缀,例如:`feat:`、`fix:`、`docs:`、`refactor:`。 +- 接口变更需同步更新接口文档与前端调用说明。 + +## 4. 协作约定 +- 先补文档,再拆任务,再开发。 +- 核心业务规则必须在文档中确认后再编码。 +- 重要状态流转和异常处理需有测试覆盖。 + +## 5. 适合交给 agent 的任务类型 +- 页面脚手架与模块初始化 +- API 路由和 DTO 生成 +- 数据表初稿与接口联调 +- 单元测试与接口测试补齐 diff --git a/05-通用基础/接口约定与返回规范.md b/05-通用基础/接口约定与返回规范.md new file mode 100644 index 0000000..15f1ea7 --- /dev/null +++ b/05-通用基础/接口约定与返回规范.md @@ -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. 设计要求 +- 所有写接口必须记录操作人。 +- 支付回调、退款回调类接口必须保证幂等。 +- 涉及列表查询的接口需明确筛选条件和排序规则。 diff --git a/05-通用基础/核心数据模型草案.md b/05-通用基础/核心数据模型草案.md new file mode 100644 index 0000000..bc0a12b --- /dev/null +++ b/05-通用基础/核心数据模型草案.md @@ -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. 待确认项 +- 是否需要单独建“队伍/团体”实体。 +- 是否支持多人一单。 +- 是否支持分轮成绩与最终成绩分开存储。 diff --git a/05-通用基础/系统架构总览.md b/05-通用基础/系统架构总览.md new file mode 100644 index 0000000..d8db3ac --- /dev/null +++ b/05-通用基础/系统架构总览.md @@ -0,0 +1,35 @@ +# 系统架构总览 + +## 1. 文档目标 +说明射箭赛事平台四个代码工程之间的职责分工、调用关系与边界,作为后续系统设计和开发拆分依据。 + +## 2. 四个工程的定位 +| 工程 | 面向对象 | 核心职责 | +| --- | --- | --- | +| 微信小程序 | 参赛用户 | 浏览赛事、报名支付、查看通知与成绩 | +| 商户后台 | 赛事主办方 | 维护赛事、处理报名、录入成绩、查看数据 | +| 管理后台 | 平台运营 | 审核商户、审核赛事、风控治理、报表统计 | +| 后台 API 服务 | 全部客户端 | 提供统一业务接口、权限控制、订单支付、成绩与消息能力 | + +## 3. 推荐逻辑架构 +- 展示层:微信小程序、商户后台、管理后台 +- 接口层:统一后台 API +- 领域层:用户、商户、赛事、报名、订单、成绩、通知、审核 +- 基础设施层:数据库、缓存、对象存储、消息通知、支付能力 + +## 4. 系统交互关系 +1. 用户通过微信小程序调用后台 API 完成登录、报名、支付。 +2. 商户后台调用后台 API 完成赛事管理、报名管理、成绩录入。 +3. 管理后台调用后台 API 完成审核、运营配置、数据查询。 +4. 后台 API 对接微信登录、微信支付、短信/订阅消息等第三方能力。 + +## 5. 设计原则 +- 业务规则统一收敛在后台 API,避免多端逻辑分叉。 +- 商户与平台的权限边界必须清晰隔离。 +- 接口设计优先稳定、可扩展、可审计。 +- 文档命名与术语优先统一,便于 agent 自动续写。 + +## 6. 当前待定项 +- 前端框架与后端语言尚未确定。 +- 是否采用单体架构还是模块化服务架构待后续决策。 +- 消息通知、对象存储、日志平台的具体选型待确认。 diff --git a/05-通用基础/角色与权限矩阵.md b/05-通用基础/角色与权限矩阵.md new file mode 100644 index 0000000..a824e2a --- /dev/null +++ b/05-通用基础/角色与权限矩阵.md @@ -0,0 +1,31 @@ +# 角色与权限矩阵 + +## 1. 目标 +统一定义各角色在系统中的可见范围与可执行操作,避免前后端权限理解不一致。 + +## 2. 角色定义 +| 角色 | 所属端 | 说明 | +| --- | --- | --- | +| 普通用户 | 微信小程序 | 参赛者、报名者 | +| 商户管理员 | 商户后台 | 商户主账号,拥有本机构全部管理权限 | +| 商户子账号 | 商户后台 | 受限账号,可按模块授权 | +| 平台审核员 | 管理后台 | 审核商户和赛事 | +| 平台运营管理员 | 管理后台 | 负责配置、报表、异常处理 | + +## 3. 权限矩阵 +| 功能 | 用户 | 商户管理员 | 商户子账号 | 平台审核员 | 平台运营管理员 | +| --- | --- | --- | --- | --- | --- | +| 浏览赛事 | ✅ | ✅ | ✅ | ✅ | ✅ | +| 提交报名 | ✅ | ❌ | ❌ | ❌ | ❌ | +| 创建赛事 | ❌ | ✅ | 可授权 | ❌ | ❌ | +| 编辑赛事 | ❌ | ✅ | 可授权 | ❌ | ❌ | +| 提交赛事审核 | ❌ | ✅ | 可授权 | ❌ | ❌ | +| 审核赛事 | ❌ | ❌ | ❌ | ✅ | ✅ | +| 审核商户入驻 | ❌ | ❌ | ❌ | ✅ | ✅ | +| 录入成绩 | ❌ | ✅ | 可授权 | ❌ | ❌ | +| 查看平台总报表 | ❌ | ❌ | ❌ | 可查看部分 | ✅ | + +## 4. 原则 +- 商户只能访问本机构相关数据。 +- 平台角色具备跨商户管理能力,但需留痕。 +- 高风险操作需具备二次确认与日志审计。 diff --git a/06-微信小程序说明/README.md b/06-微信小程序说明/README.md new file mode 100644 index 0000000..1927b0a --- /dev/null +++ b/06-微信小程序说明/README.md @@ -0,0 +1,42 @@ +# 微信小程序说明 + +## 1. 定位 +面向参赛用户,承担赛事浏览、报名支付、订单查看、成绩查看等用户侧能力。 + +## 2. 建议核心页面 +- 首页/推荐赛事 +- 赛事列表 +- 赛事详情 +- 报名填写页 +- 支付结果页 +- 我的报名 +- 成绩查询 +- 个人中心 + +## 3. 关键模块 +- 登录与用户信息 +- 赛事展示 +- 报名表单 +- 订单支付 +- 消息通知 + +## 4. 与后台 API 的关系 +- 所有业务规则以后台接口返回为准。 +- 小程序主要负责展示、交互和状态提示。 + +## 5. 相关细分文档 +- `页面与模块划分.md` +- `页面清单与路由草案.md` +- `页面字段级说明模板.md` +- `首页字段说明.md` +- `赛事列表页字段说明.md` +- `赛事详情页字段说明.md` +- `报名填写页字段说明.md` +- `支付结果页字段说明.md` +- `我的报名页字段说明.md` +- `成绩详情页字段说明.md` + +## 6. 待确认项 +- 是否需要订阅消息提醒。 +- 是否支持分享裂变与海报功能。 +- 是否需要赛事分享海报、邀请码或活动裂变能力。 diff --git a/06-微信小程序说明/成绩详情页字段说明.md b/06-微信小程序说明/成绩详情页字段说明.md new file mode 100644 index 0000000..deebe33 --- /dev/null +++ b/06-微信小程序说明/成绩详情页字段说明.md @@ -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. 待确认项 +- 是否展示证书下载、奖项信息。 diff --git a/06-微信小程序说明/我的报名页字段说明.md b/06-微信小程序说明/我的报名页字段说明.md new file mode 100644 index 0000000..d8bf729 --- /dev/null +++ b/06-微信小程序说明/我的报名页字段说明.md @@ -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. 待确认项 +- 是否需要展示参赛二维码/核销码。 +- 是否允许在列表直接取消报名。 diff --git a/06-微信小程序说明/报名填写页字段说明.md b/06-微信小程序说明/报名填写页字段说明.md new file mode 100644 index 0000000..71e67db --- /dev/null +++ b/06-微信小程序说明/报名填写页字段说明.md @@ -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. 待确认项 +- 是否支持代他人报名。 +- 是否允许一次填写多个参赛人。 diff --git a/06-微信小程序说明/支付结果页字段说明.md b/06-微信小程序说明/支付结果页字段说明.md new file mode 100644 index 0000000..d3ca9d7 --- /dev/null +++ b/06-微信小程序说明/支付结果页字段说明.md @@ -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. 待确认项 +- 是否展示电子票/参赛码。 diff --git a/06-微信小程序说明/赛事列表页字段说明.md b/06-微信小程序说明/赛事列表页字段说明.md new file mode 100644 index 0000000..8ab3009 --- /dev/null +++ b/06-微信小程序说明/赛事列表页字段说明.md @@ -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. 交互要求 +- 支持分页加载。 +- 支持空结果提示。 +- 支持点击卡片进入赛事详情。 diff --git a/06-微信小程序说明/赛事详情页字段说明.md b/06-微信小程序说明/赛事详情页字段说明.md new file mode 100644 index 0000000..e7c7240 --- /dev/null +++ b/06-微信小程序说明/赛事详情页字段说明.md @@ -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. 待确认项 +- 是否展示往届成绩、主办方介绍、地图导航。 diff --git a/06-微信小程序说明/页面与模块划分.md b/06-微信小程序说明/页面与模块划分.md new file mode 100644 index 0000000..2a01c9a --- /dev/null +++ b/06-微信小程序说明/页面与模块划分.md @@ -0,0 +1,26 @@ +# 页面与模块划分 + +## 1. 页面建议 +- 首页 +- 赛事列表页 +- 赛事详情页 +- 报名填写页 +- 支付结果页 +- 我的报名页 +- 成绩查询页 +- 个人中心页 + +## 2. 模块建议 +| 模块 | 说明 | +| --- | --- | +| 登录鉴权模块 | 微信登录、手机号绑定、登录态维护 | +| 赛事展示模块 | 列表、筛选、详情展示 | +| 报名模块 | 表单填写、资格校验、提交报名 | +| 支付模块 | 拉起支付、查询结果、失败重试 | +| 消息通知模块 | 订阅消息、系统通知 | +| 用户中心模块 | 报名记录、成绩、个人资料 | + +## 3. 交互原则 +- 关键状态以后台接口返回为准。 +- 支付、报名、成绩等结果页需有明确状态提示。 +- 重要操作失败时要给出可恢复路径。 diff --git a/06-微信小程序说明/页面字段级说明模板.md b/06-微信小程序说明/页面字段级说明模板.md new file mode 100644 index 0000000..5eb1bca --- /dev/null +++ b/06-微信小程序说明/页面字段级说明模板.md @@ -0,0 +1,28 @@ +# 页面字段级说明模板 + +## 1. 使用说明 +后续每个页面都可以按本模板补字段与交互,便于直接交给前端或 agent 开发。 + +## 2. 模板 +### 页面名称 +- 页面路径: +- 页面目标: +- 进入条件: + +### 展示字段 +| 字段 | 说明 | 来源接口 | 是否必显 | +| --- | --- | --- | --- | +| 示例:赛事名称 | 展示赛事标题 | `/event/detail` | 是 | + +### 操作按钮 +| 按钮 | 条件 | 点击后行为 | +| --- | --- | --- | +| 示例:立即报名 | 可报名时显示 | 跳转报名页 | + +### 状态与空态 +- 加载中: +- 无数据: +- 异常提示: + +### 待确认项 +- diff --git a/06-微信小程序说明/页面清单与路由草案.md b/06-微信小程序说明/页面清单与路由草案.md new file mode 100644 index 0000000..f654e83 --- /dev/null +++ b/06-微信小程序说明/页面清单与路由草案.md @@ -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. 待补充项 +- 每个页面的字段、按钮、交互状态说明。 +- 空态、异常态和加载态设计。 diff --git a/06-微信小程序说明/首页字段说明.md b/06-微信小程序说明/首页字段说明.md new file mode 100644 index 0000000..c418e83 --- /dev/null +++ b/06-微信小程序说明/首页字段说明.md @@ -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. 待确认项 +- 是否需要城市切换、热门分类、活动横幅。 diff --git a/07-商户后台说明/README.md b/07-商户后台说明/README.md new file mode 100644 index 0000000..67ee255 --- /dev/null +++ b/07-商户后台说明/README.md @@ -0,0 +1,30 @@ +# 商户后台说明 + +## 1. 定位 +面向赛事主办方,承担商户入驻资料维护、赛事创建发布、报名管理、成绩录入、数据导出等能力。 + +## 2. 建议核心模块 +- 商户资料管理 +- 赛事管理 +- 报名管理 +- 成绩管理 +- 数据导出 +- 账户与子账号管理 + +## 3. 关键规则 +- 只能访问本商户数据。 +- 提交审核后的赛事需限制高风险修改。 +- 重要操作应保留操作日志。 + +## 4. 相关细分文档 +- `功能模块清单.md` +- `页面清单与操作路径.md` +- `表单字段与导出说明.md` +- `工作台页面字段说明.md` +- `赛事编辑页字段说明.md` +- `报名管理页字段说明.md` +- `成绩录入页字段说明.md` + +## 5. 待确认项 +- 是否支持 Excel 批量导入参赛名单。 +- 是否支持多子账号按模块授权。 diff --git a/07-商户后台说明/功能模块清单.md b/07-商户后台说明/功能模块清单.md new file mode 100644 index 0000000..20d3728 --- /dev/null +++ b/07-商户后台说明/功能模块清单.md @@ -0,0 +1,27 @@ +# 功能模块清单 + +## 1. 目标 +用于拆分商户后台的核心页面与功能模块,便于后续前端开发和权限设计。 + +## 2. 建议模块 +| 模块 | 说明 | +| --- | --- | +| 首页工作台 | 查看待处理事项、报名数据、赛事概览 | +| 商户资料管理 | 维护商户信息、资质信息、联系人信息 | +| 赛事管理 | 创建、编辑、提交审核、关闭赛事 | +| 报名管理 | 查看报名列表、核销签到、导出名单 | +| 成绩管理 | 录入成绩、发布排名、处理成绩修正 | +| 财务与退款 | 查看订单、申请退款、对账 | +| 账号权限 | 子账号管理、角色授权、日志查看 | + +## 3. 页面拆分建议 +- 赛事列表页 +- 赛事编辑页 +- 报名详情页 +- 成绩录入页 +- 数据导出页 +- 账户权限页 + +## 4. 开发建议 +- 表格类页面优先支持筛选、分页、导出。 +- 所有关键操作建议增加二次确认与操作日志。 diff --git a/07-商户后台说明/工作台页面字段说明.md b/07-商户后台说明/工作台页面字段说明.md new file mode 100644 index 0000000..bd5fff8 --- /dev/null +++ b/07-商户后台说明/工作台页面字段说明.md @@ -0,0 +1,24 @@ +# 工作台页面字段说明 + +## 1. 页面信息 +- 页面名称:工作台 +- 页面目标:展示赛事概览、待处理事项和关键经营数据。 + +## 2. 展示字段 +| 字段 | 说明 | +| --- | --- | +| totalEventCount | 赛事总数 | +| signupTodayCount | 今日报名人数 | +| paidTodayAmount | 今日支付金额 | +| pendingRefundCount | 待处理退款数 | +| pendingReviewEventCount | 待审核赛事数 | +| recentNoticeList | 最近通知列表 | + +## 3. 操作入口 +- 去创建赛事 +- 查看报名管理 +- 查看成绩管理 +- 查看退款处理 + +## 4. 待确认项 +- 是否展示趋势图和快捷统计卡片。 diff --git a/07-商户后台说明/成绩录入页字段说明.md b/07-商户后台说明/成绩录入页字段说明.md new file mode 100644 index 0000000..20f610c --- /dev/null +++ b/07-商户后台说明/成绩录入页字段说明.md @@ -0,0 +1,37 @@ +# 成绩录入页字段说明 + +## 1. 页面信息 +- 页面名称:成绩录入页 +- 页面目标:录入成绩、校验结果并发布排名。 + +## 2. 筛选字段 +- 赛事 +- 组别 +- 场次/轮次 + +## 3. 列表字段 +| 字段 | 说明 | +| --- | --- | +| participantName | 选手姓名 | +| groupName | 组别 | +| roundScore | 本轮成绩 | +| totalScore | 总成绩 | +| rank | 当前排名 | +| resultStatus | 成绩状态 | +| updatedAt | 最后更新时间 | + +## 4. 操作按钮 +- 批量导入 +- 保存草稿 +- 重新计算排名 +- 发布成绩 +- 作废并重录 + +## 5. 校验规则 +- 成绩值必须在合法区间内。 +- 未录全的选手不可直接发布。 +- 发布后修改需保留操作记录。 + +## 6. 待确认项 +- 是否支持 Excel 批量导入。 +- 是否有多轮成绩和淘汰对阵结构。 diff --git a/07-商户后台说明/报名管理页字段说明.md b/07-商户后台说明/报名管理页字段说明.md new file mode 100644 index 0000000..f9a7bf2 --- /dev/null +++ b/07-商户后台说明/报名管理页字段说明.md @@ -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. 待确认项 +- 是否支持批量核销。 +- 是否支持现场报名补录。 diff --git a/07-商户后台说明/表单字段与导出说明.md b/07-商户后台说明/表单字段与导出说明.md new file mode 100644 index 0000000..d0324a2 --- /dev/null +++ b/07-商户后台说明/表单字段与导出说明.md @@ -0,0 +1,22 @@ +# 表单字段与导出说明 + +## 1. 文档目标 +统一商户后台关键表单和导出字段,避免前后端口径不一致。 + +## 2. 重点表单 +- 商户入驻表单 +- 赛事创建表单 +- 报名筛选表单 +- 成绩录入表单 +- 退款申请表单 + +## 3. 导出场景 +| 场景 | 建议导出字段 | +| --- | --- | +| 报名名单导出 | 用户名、手机号、组别、支付状态、报名时间 | +| 成绩导出 | 赛事、组别、选手、得分、排名 | +| 财务导出 | 订单号、金额、支付时间、退款状态 | + +## 4. 待补充项 +- 每个表单的字段类型、校验规则、必填项。 +- 每种导出的权限限制与文件格式。 diff --git a/07-商户后台说明/赛事编辑页字段说明.md b/07-商户后台说明/赛事编辑页字段说明.md new file mode 100644 index 0000000..4c6359a --- /dev/null +++ b/07-商户后台说明/赛事编辑页字段说明.md @@ -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. 待确认项 +- 是否支持赛事复制创建。 +- 是否支持富文本图文详情。 diff --git a/07-商户后台说明/页面清单与操作路径.md b/07-商户后台说明/页面清单与操作路径.md new file mode 100644 index 0000000..f7d1e7c --- /dev/null +++ b/07-商户后台说明/页面清单与操作路径.md @@ -0,0 +1,26 @@ +# 页面清单与操作路径 + +## 1. 目标 +明确商户后台的主要页面及关键操作链路,便于后续前端页面开发和权限拆分。 + +## 2. 页面清单 +| 页面 | 说明 | +| --- | --- | +| 工作台 | 查看赛事概览、待办事项 | +| 商户资料页 | 编辑机构信息、上传资质 | +| 赛事列表页 | 查看、筛选、复制、关闭赛事 | +| 赛事编辑页 | 创建与编辑赛事 | +| 报名管理页 | 查看报名记录、导出名单、签到核销 | +| 成绩管理页 | 录入成绩、发布排名 | +| 财务退款页 | 查看订单、退款申请与处理状态 | +| 账号权限页 | 管理子账号与授权 | + +## 3. 关键操作路径 +- 入驻资料维护 → 提交审核 +- 赛事列表 → 新建赛事 → 提交审核 +- 报名管理 → 导出名单 / 核销签到 +- 成绩管理 → 录入成绩 → 发布结果 + +## 4. 待补充项 +- 每个页面的筛选字段和操作按钮。 +- 表格列定义与导出字段。 diff --git a/08-管理后台说明/README.md b/08-管理后台说明/README.md new file mode 100644 index 0000000..79e300c --- /dev/null +++ b/08-管理后台说明/README.md @@ -0,0 +1,30 @@ +# 管理后台说明 + +## 1. 定位 +面向平台运营人员,承担商户审核、赛事审核、风险控制、异常处理、报表统计等能力。 + +## 2. 建议核心模块 +- 商户审核 +- 赛事审核 +- 用户与订单查询 +- 退款处理 +- 数据统计与报表 +- 系统配置与公告管理 + +## 3. 管理原则 +- 审核操作必须留痕。 +- 需明确不同平台角色的权限边界。 +- 高风险操作建议支持复核机制。 + +## 4. 相关细分文档 +- `功能模块清单.md` +- `审核台与报表台设计草案.md` +- `审核字段与报表指标说明.md` +- `商户审核页字段说明.md` +- `赛事审核页字段说明.md` +- `报表总览页字段说明.md` +- `异常工单页字段说明.md` + +## 5. 待确认项 +- 是否需要配置化的风控规则。 +- 是否需要多级审核流转。 diff --git a/08-管理后台说明/功能模块清单.md b/08-管理后台说明/功能模块清单.md new file mode 100644 index 0000000..e0a8542 --- /dev/null +++ b/08-管理后台说明/功能模块清单.md @@ -0,0 +1,20 @@ +# 功能模块清单 + +## 1. 目标 +用于拆分平台管理后台的核心模块,方便后续做权限控制、页面设计和任务分工。 + +## 2. 建议模块 +| 模块 | 说明 | +| --- | --- | +| 审核中心 | 商户审核、赛事审核、驳回处理 | +| 运营中心 | 公告、推荐位、活动配置 | +| 订单与退款 | 异常订单查询、退款复核 | +| 用户管理 | 用户查询、黑名单、投诉处理 | +| 风控中心 | 违规商户处理、风险告警 | +| 报表中心 | 交易报表、报名报表、活跃报表 | +| 系统配置 | 字典配置、参数配置、角色权限 | + +## 3. 权限建议 +- 审核类与配置类权限分开。 +- 高风险操作需要二次确认。 +- 所有审核结果均需留痕。 diff --git a/08-管理后台说明/商户审核页字段说明.md b/08-管理后台说明/商户审核页字段说明.md new file mode 100644 index 0000000..65f31d1 --- /dev/null +++ b/08-管理后台说明/商户审核页字段说明.md @@ -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. 待确认项 +- 是否支持多级审核与复核。 diff --git a/08-管理后台说明/审核台与报表台设计草案.md b/08-管理后台说明/审核台与报表台设计草案.md new file mode 100644 index 0000000..c095e10 --- /dev/null +++ b/08-管理后台说明/审核台与报表台设计草案.md @@ -0,0 +1,24 @@ +# 审核台与报表台设计草案 + +## 1. 目标 +明确管理后台中最重要的两个区域:审核台和报表台的页面构成与核心功能。 + +## 2. 审核台建议 +- 商户审核列表 +- 商户审核详情 +- 赛事审核列表 +- 赛事审核详情 +- 驳回原因模板管理 +- 异常工单处理台 + +## 3. 报表台建议 +- 平台交易总览 +- 报名趋势分析 +- 商户活跃度报表 +- 退款与异常统计 +- 成绩发布统计 + +## 4. 设计关注点 +- 列表页需支持多维筛选。 +- 审核动作需支持意见留存。 +- 报表图表需可导出或截图。 diff --git a/08-管理后台说明/审核字段与报表指标说明.md b/08-管理后台说明/审核字段与报表指标说明.md new file mode 100644 index 0000000..f5086f9 --- /dev/null +++ b/08-管理后台说明/审核字段与报表指标说明.md @@ -0,0 +1,34 @@ +# 审核字段与报表指标说明 + +## 1. 文档目标 +明确管理后台审核表单的关键字段,以及平台报表需要关注的核心指标。 + +## 2. 审核字段建议 +### 商户审核 +- 商户名称 +- 主体类型 +- 营业执照信息 +- 联系人信息 +- 审核结论 +- 驳回原因 + +### 赛事审核 +- 赛事名称 +- 商户名称 +- 时间地点 +- 报名规则 +- 赛事说明 +- 审核结论 +- 驳回原因 + +## 3. 报表指标建议 +- 总报名人数 +- 总支付金额 +- 退款金额与退款率 +- 商户活跃数 +- 赛事发布数 +- 成绩发布数 + +## 4. 待补充项 +- 每个指标的统计口径。 +- 报表维度:按日、周、月、商户、赛事。 diff --git a/08-管理后台说明/异常工单页字段说明.md b/08-管理后台说明/异常工单页字段说明.md new file mode 100644 index 0000000..459267e --- /dev/null +++ b/08-管理后台说明/异常工单页字段说明.md @@ -0,0 +1,27 @@ +# 异常工单页字段说明 + +## 1. 页面信息 +- 页面名称:异常工单页 +- 页面目标:统一处理支付异常、成绩申诉、商户投诉等异常事项。 + +## 2. 列表字段 +| 字段 | 说明 | +| --- | --- | +| ticketId | 工单ID | +| ticketType | 工单类型 | +| relatedBizId | 关联业务ID | +| submitterType | 发起方类型 | +| status | 工单状态 | +| priority | 优先级 | +| assignee | 当前处理人 | +| createdAt | 创建时间 | +| updatedAt | 最近更新时间 | + +## 3. 操作按钮 +- 查看详情 +- 分派处理人 +- 更新处理状态 +- 完成结案 + +## 4. 待确认项 +- 是否支持 SLA 超时提醒。 diff --git a/08-管理后台说明/报表总览页字段说明.md b/08-管理后台说明/报表总览页字段说明.md new file mode 100644 index 0000000..9bec3a4 --- /dev/null +++ b/08-管理后台说明/报表总览页字段说明.md @@ -0,0 +1,26 @@ +# 报表总览页字段说明 + +## 1. 页面信息 +- 页面名称:报表总览页 +- 页面目标:展示平台级交易、报名、商户活跃度等核心指标。 + +## 2. 指标字段 +| 字段 | 说明 | +| --- | --- | +| totalMerchantCount | 商户总数 | +| activeMerchantCount | 活跃商户数 | +| totalEventCount | 赛事总数 | +| totalSignupCount | 报名总人数 | +| totalPaidAmount | 总支付金额 | +| totalRefundAmount | 总退款金额 | +| refundRate | 退款率 | +| dailyTrendList | 每日报名/支付趋势 | + +## 3. 筛选字段 +- 日期范围 +- 商户维度 +- 赛事维度 +- 城市维度(如后续支持) + +## 4. 待确认项 +- 是否支持导出报表与下载截图。 diff --git a/08-管理后台说明/赛事审核页字段说明.md b/08-管理后台说明/赛事审核页字段说明.md new file mode 100644 index 0000000..afb4a1d --- /dev/null +++ b/08-管理后台说明/赛事审核页字段说明.md @@ -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. 待确认项 +- 是否需要配置驳回原因模板。 diff --git a/09-后台API说明/README.md b/09-后台API说明/README.md new file mode 100644 index 0000000..95f36d8 --- /dev/null +++ b/09-后台API说明/README.md @@ -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. 待确认项 +- 是否采用单体 + 模块化架构,还是服务拆分。 +- 是否使用统一网关、统一鉴权、统一日志链路。 diff --git a/09-后台API说明/商户赛事管理接口字段清单.md b/09-后台API说明/商户赛事管理接口字段清单.md new file mode 100644 index 0000000..a81f52c --- /dev/null +++ b/09-后台API说明/商户赛事管理接口字段清单.md @@ -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 | 否 | 姓名/手机号搜索 | diff --git a/09-后台API说明/字典与配置接口字段清单.md b/09-后台API说明/字典与配置接口字段清单.md new file mode 100644 index 0000000..4cd80e7 --- /dev/null +++ b/09-后台API说明/字典与配置接口字段清单.md @@ -0,0 +1,20 @@ +# 字典与配置接口字段清单 + +## 1. 获取基础字典 +- 接口路径:`GET /api/common/dictionaries` +- 功能说明:获取组别、弓种、状态等前端通用枚举配置。 + +### 查询参数 +| 字段 | 类型 | 必填 | 说明 | +| --- | --- | --- | --- | +| dictType | string | 否 | 指定字典类型 | + +### 返回字段 +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| dictType | string | 字典类型 | +| items | array | 字典项列表 | + +## 2. 获取平台配置 +- 接口路径:`GET /api/common/configs` +- 功能说明:获取前端启动所需平台配置,如客服电话、隐私协议链接等。 diff --git a/09-后台API说明/字段级接口清单模板.md b/09-后台API说明/字段级接口清单模板.md new file mode 100644 index 0000000..13c9a91 --- /dev/null +++ b/09-后台API说明/字段级接口清单模板.md @@ -0,0 +1,32 @@ +# 字段级接口清单模板 + +## 1. 使用方式 +后续每个接口都建议按以下格式补齐,补完后即可直接交给 agent 编写 Controller、DTO、Service 和测试。 + +## 2. 模板 +### 接口名称 +- 接口路径: +- 请求方法: +- 使用端:用户端 / 商户端 / 管理端 +- 功能说明: +- 权限要求: + +### 请求参数 +| 字段 | 类型 | 必填 | 说明 | +| --- | --- | --- | --- | +| | | | | + +### 返回字段 +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| | | | + +### 错误码 +| code | 场景 | 说明 | +| --- | --- | --- | +| | | | + +### 备注 +- 幂等要求: +- 状态变更: +- 日志要求: diff --git a/09-后台API说明/平台审核与运营接口字段清单.md b/09-后台API说明/平台审核与运营接口字段清单.md new file mode 100644 index 0000000..95b3a1c --- /dev/null +++ b/09-后台API说明/平台审核与运营接口字段清单.md @@ -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 | 退款总金额 | diff --git a/09-后台API说明/成绩与排名接口字段清单.md b/09-后台API说明/成绩与排名接口字段清单.md new file mode 100644 index 0000000..739dbb1 --- /dev/null +++ b/09-后台API说明/成绩与排名接口字段清单.md @@ -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 | 成绩状态 | diff --git a/09-后台API说明/接口清单规划.md b/09-后台API说明/接口清单规划.md new file mode 100644 index 0000000..28cc051 --- /dev/null +++ b/09-后台API说明/接口清单规划.md @@ -0,0 +1,26 @@ +# 接口清单规划 + +## 1. 用户端接口 +- 登录 / 刷新 token +- 赛事列表 / 赛事详情 +- 提交报名 / 查询我的报名 +- 创建支付 / 查询支付结果 +- 查询成绩 / 查询通知 + +## 2. 商户端接口 +- 商户资料查询与更新 +- 提交入驻申请 +- 创建赛事 / 编辑赛事 / 提交审核 +- 查询报名列表 / 核销签到 +- 录入成绩 / 发布成绩 + +## 3. 管理端接口 +- 商户审核列表 / 审核详情 / 审核操作 +- 赛事审核列表 / 审核详情 / 审核操作 +- 订单查询 / 退款复核 +- 报表统计接口 + +## 4. 规划原则 +- 先按业务域分组,再细化到接口级别。 +- 接口命名保持统一风格。 +- 所有写接口需带操作人上下文。 diff --git a/09-后台API说明/支付退款接口字段清单.md b/09-后台API说明/支付退款接口字段清单.md new file mode 100644 index 0000000..3172961 --- /dev/null +++ b/09-后台API说明/支付退款接口字段清单.md @@ -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 | 处理时间 | diff --git a/09-后台API说明/数据库表设计草案.md b/09-后台API说明/数据库表设计草案.md new file mode 100644 index 0000000..4407a8f --- /dev/null +++ b/09-后台API说明/数据库表设计草案.md @@ -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. 待补充项 +- 主键策略、索引设计、唯一约束。 +- 分库分表或读写分离策略(如需要)。 diff --git a/09-后台API说明/文件上传接口字段清单.md b/09-后台API说明/文件上传接口字段清单.md new file mode 100644 index 0000000..735d50c --- /dev/null +++ b/09-后台API说明/文件上传接口字段清单.md @@ -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` +- 功能说明:记录文件上传完成后的元数据。 diff --git a/09-后台API说明/消息通知接口字段清单.md b/09-后台API说明/消息通知接口字段清单.md new file mode 100644 index 0000000..b68664b --- /dev/null +++ b/09-后台API说明/消息通知接口字段清单.md @@ -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` +- 功能说明:将通知标记为已读。 diff --git a/09-后台API说明/状态机设计建议.md b/09-后台API说明/状态机设计建议.md new file mode 100644 index 0000000..f5e694e --- /dev/null +++ b/09-后台API说明/状态机设计建议.md @@ -0,0 +1,23 @@ +# 状态机设计建议 + +## 1. 目标 +为后台 API 的状态流转实现提供统一设计建议,避免不同模块各自维护状态导致混乱。 + +## 2. 建议纳入状态机管理的对象 +- 商户入驻状态 +- 赛事状态 +- 报名单状态 +- 订单状态 +- 退款单状态 +- 成绩发布状态 + +## 3. 设计原则 +- 状态变化必须由明确事件触发。 +- 非法状态跳转应统一拦截。 +- 每次状态变化需要记录操作人、时间、原因。 +- 尽量避免前端拼凑状态逻辑。 + +## 4. 实现建议 +- 在领域服务层集中处理状态变更。 +- 为关键状态机编写转移表与单元测试。 +- 支持审计日志和状态回溯。 diff --git a/09-后台API说明/用户报名相关接口字段清单.md b/09-后台API说明/用户报名相关接口字段清单.md new file mode 100644 index 0000000..cf0b0a2 --- /dev/null +++ b/09-后台API说明/用户报名相关接口字段清单.md @@ -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 | 总数 | diff --git a/09-后台API说明/登录鉴权接口字段清单.md b/09-后台API说明/登录鉴权接口字段清单.md new file mode 100644 index 0000000..5f44d1d --- /dev/null +++ b/09-后台API说明/登录鉴权接口字段清单.md @@ -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 | 用户信息 | diff --git a/09-后台API说明/第三方集成清单.md b/09-后台API说明/第三方集成清单.md new file mode 100644 index 0000000..8255827 --- /dev/null +++ b/09-后台API说明/第三方集成清单.md @@ -0,0 +1,18 @@ +# 第三方集成清单 + +## 1. 文档目标 +列出平台建设过程中可能涉及的第三方服务,为接口封装和运维准备提供依据。 + +## 2. 建议集成项 +| 能力 | 服务示例 | 用途 | +| --- | --- | --- | +| 微信登录 | 微信开放能力 | 用户身份获取 | +| 微信支付 | 微信支付 | 报名支付与退款 | +| 对象存储 | OSS/COS/S3 类服务 | 上传资质、赛事封面、附件 | +| 短信服务 | 第三方短信平台 | 验证码、关键通知 | +| 日志监控 | APM / 日志平台 | 告警、排障、审计 | + +## 3. 集成原则 +- 第三方调用统一封装适配层。 +- 凭据通过环境变量或密钥系统管理。 +- 调用失败要有重试、告警和兜底。 diff --git a/09-后台API说明/结算对账接口字段清单.md b/09-后台API说明/结算对账接口字段清单.md new file mode 100644 index 0000000..894011d --- /dev/null +++ b/09-后台API说明/结算对账接口字段清单.md @@ -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` +- 功能说明:查询支付对账结果和差异记录。 diff --git a/09-后台API说明/缓存与异步任务设计.md b/09-后台API说明/缓存与异步任务设计.md new file mode 100644 index 0000000..41f2f45 --- /dev/null +++ b/09-后台API说明/缓存与异步任务设计.md @@ -0,0 +1,21 @@ +# 缓存与异步任务设计 + +## 1. 文档目标 +为高频查询、消息发送、导出任务、支付补偿等场景提供技术设计建议。 + +## 2. 适合缓存的场景 +- 热门赛事列表 +- 基础字典与组别配置 +- 已发布赛事详情(短期缓存) + +## 3. 适合异步化的任务 +- 通知消息发送 +- 导出报名名单与成绩单 +- 对账任务 +- 支付/退款异常补偿任务 +- 报表汇总任务 + +## 4. 设计原则 +- 缓存必须有失效策略。 +- 异步任务要具备幂等与重试机制。 +- 失败任务需可追踪、可人工重放。 diff --git a/09-后台API说明/认证与鉴权方案.md b/09-后台API说明/认证与鉴权方案.md new file mode 100644 index 0000000..8cfe530 --- /dev/null +++ b/09-后台API说明/认证与鉴权方案.md @@ -0,0 +1,26 @@ +# 认证与鉴权方案 + +## 1. 文档目标 +统一描述用户、商户、平台三类身份的登录认证和接口鉴权方式。 + +## 2. 身份类型 +| 身份 | 来源端 | 说明 | +| --- | --- | --- | +| 用户 | 微信小程序 | 通过微信登录获取身份 | +| 商户账号 | 商户后台 | 使用账号密码或验证码登录 | +| 平台账号 | 管理后台 | 平台内部账号登录 | + +## 3. 鉴权建议 +- 登录成功后签发统一 token。 +- token 中需包含身份类型、用户ID、角色信息。 +- 后端根据角色与资源进行权限校验。 +- 高风险接口需二次校验或更严格的权限控制。 + +## 4. 安全要求 +- token 失效与刷新机制要明确。 +- 敏感操作要有审计日志。 +- 管理后台和商户后台建议支持强密码策略或 MFA(如后续需要)。 + +## 5. 待确认项 +- 是否统一采用 JWT。 +- 是否引入 RBAC 或更细粒度权限模型。 diff --git a/09-后台API说明/领域模块划分.md b/09-后台API说明/领域模块划分.md new file mode 100644 index 0000000..8a58450 --- /dev/null +++ b/09-后台API说明/领域模块划分.md @@ -0,0 +1,24 @@ +# 领域模块划分 + +## 1. 目标 +从领域模型角度拆分后台 API 的模块边界,方便后续按模块开发、测试和维护。 + +## 2. 推荐模块 +| 模块 | 主要职责 | +| --- | --- | +| 认证与用户 | 登录鉴权、用户资料、token 管理 | +| 商户中心 | 商户资料、入驻审核、状态管理 | +| 赛事中心 | 赛事创建、组别配置、状态流转 | +| 报名中心 | 报名资格校验、报名记录管理 | +| 订单中心 | 订单创建、支付回调、关闭订单 | +| 退款中心 | 退款申请、退款回调、异常处理 | +| 成绩中心 | 成绩录入、排名计算、成绩发布 | +| 审核中心 | 商户审核、赛事审核、驳回原因管理 | +| 通知中心 | 站内消息、订阅消息、短信能力 | +| 报表中心 | 报名统计、交易统计、运营数据 | + +## 3. 模块边界原则 +- 订单与支付状态以订单中心为准。 +- 赛事规则与状态流转以赛事中心为准。 +- 审核动作统一经过审核中心留痕。 +- 外部渠道适配统一收敛到基础设施层。 diff --git a/10-项目执行/Agent任务派发模板.md b/10-项目执行/Agent任务派发模板.md new file mode 100644 index 0000000..5a4dfe6 --- /dev/null +++ b/10-项目执行/Agent任务派发模板.md @@ -0,0 +1,35 @@ +# Agent 任务派发模板 + +## 1. 使用目标 +提供一套可直接复制给 agent 的任务描述模板,减少每次派发任务时重复组织上下文。 + +## 2. 模板示例 +```markdown +请基于以下文档实现一个模块: + +模块名称: +目标工程:微信小程序 / 商户后台 / 管理后台 / 后台 API +任务范围: +相关文档: +- 01-基础与总览/... 或 02-用户侧流程/... +- 05-通用基础/... 或 09-后台API说明/... +- 10-项目执行/... + +需要完成: +1. +2. +3. + +验收标准: +- +- + +注意事项: +- 不要偏离当前文档定义的字段和状态 +- 如遇未确认规则,先回写待确认项 +``` + +## 3. 推荐用法 +- 一次只发一个模块或一个子任务。 +- 带上最少但足够的上下文文档路径。 +- 明确是否需要同时补测试和文档。 diff --git a/10-项目执行/Agent开发交接清单.md b/10-项目执行/Agent开发交接清单.md new file mode 100644 index 0000000..fadb623 --- /dev/null +++ b/10-项目执行/Agent开发交接清单.md @@ -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 开发: +- 关键流程都有独立文档 +- 主要状态流转已确认 +- 角色权限矩阵已确认 +- 数据模型与接口规范已有初稿 +- 待确认事项已有明确结论或优先级 diff --git a/10-项目执行/README.md b/10-项目执行/README.md new file mode 100644 index 0000000..17a1c75 --- /dev/null +++ b/10-项目执行/README.md @@ -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` diff --git a/10-项目执行/后台API实施任务单.md b/10-项目执行/后台API实施任务单.md new file mode 100644 index 0000000..cc2bf3f --- /dev/null +++ b/10-项目执行/后台API实施任务单.md @@ -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` diff --git a/10-项目执行/周计划与状态跟踪模板.md b/10-项目执行/周计划与状态跟踪模板.md new file mode 100644 index 0000000..1a3a0b2 --- /dev/null +++ b/10-项目执行/周计划与状态跟踪模板.md @@ -0,0 +1,18 @@ +# 周计划与状态跟踪模板 + +## 本周目标 +- + +## 本周计划 +| 模块 | 负责人/Agent | 目标 | 状态 | +| --- | --- | --- | --- | +| 示例:小程序报名页 | Agent-A | 完成报名页联调 | 进行中 | + +## 风险与阻塞 +- + +## 需确认事项 +- + +## 下周计划 +- diff --git a/10-项目执行/商户后台实施任务单.md b/10-项目执行/商户后台实施任务单.md new file mode 100644 index 0000000..a42c1d6 --- /dev/null +++ b/10-项目执行/商户后台实施任务单.md @@ -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` diff --git a/10-项目执行/微信小程序实施任务单.md b/10-项目执行/微信小程序实施任务单.md new file mode 100644 index 0000000..f2b4e5a --- /dev/null +++ b/10-项目执行/微信小程序实施任务单.md @@ -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` + 样式与体验优化 diff --git a/10-项目执行/执行总览与使用方式.md b/10-项目执行/执行总览与使用方式.md new file mode 100644 index 0000000..9532588 --- /dev/null +++ b/10-项目执行/执行总览与使用方式.md @@ -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-项目验收/` diff --git a/10-项目执行/模块任务拆解建议.md b/10-项目执行/模块任务拆解建议.md new file mode 100644 index 0000000..a8caa19 --- /dev/null +++ b/10-项目执行/模块任务拆解建议.md @@ -0,0 +1,36 @@ +# 模块任务拆解建议 + +## 1. 文档目标 +为后续把需求拆给 agent 提供任务颗粒度建议,避免一次性给过大需求。 + +## 2. 推荐拆法 +### 小程序 +- 登录与基础框架 +- 赛事列表与详情 +- 报名与支付 +- 我的报名与成绩查询 + +### 商户后台 +- 登录与权限 +- 商户资料与入驻 +- 赛事管理 +- 报名与成绩管理 + +### 管理后台 +- 审核中心 +- 报表中心 +- 异常处理与系统配置 + +### 后台 API +- 用户与认证 +- 商户与赛事 +- 报名与订单 +- 支付退款与通知 +- 成绩与报表 + +## 3. 对应实施任务单 +- 小程序:`微信小程序实施任务单.md` +- 商户后台:`商户后台实施任务单.md` +- 管理后台:`管理后台实施任务单.md` +- 后台 API:`后台API实施任务单.md` +- 联调上线:`../11-项目验收/联调测试与上线任务单.md` diff --git a/10-项目执行/模块实施总任务单.md b/10-项目执行/模块实施总任务单.md new file mode 100644 index 0000000..657c3b6 --- /dev/null +++ b/10-项目执行/模块实施总任务单.md @@ -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` diff --git a/10-项目执行/管理后台实施任务单.md b/10-项目执行/管理后台实施任务单.md new file mode 100644 index 0000000..54a3380 --- /dev/null +++ b/10-项目执行/管理后台实施任务单.md @@ -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` diff --git a/10-项目执行/部署与环境规划.md b/10-项目执行/部署与环境规划.md new file mode 100644 index 0000000..8797bdc --- /dev/null +++ b/10-项目执行/部署与环境规划.md @@ -0,0 +1,27 @@ +# 部署与环境规划 + +## 1. 文档目标 +提前规划开发、测试、预发、生产环境的用途和差异,方便后续初始化工程和部署流水线。 + +## 2. 环境建议 +| 环境 | 用途 | +| --- | --- | +| dev | 日常开发联调 | +| test | 测试验证、接口回归 | +| staging | 预发布演练 | +| prod | 正式线上环境 | + +## 3. 配置建议 +- 不同环境应隔离数据库、缓存、对象存储配置。 +- 第三方密钥应通过环境变量或密钥管理系统注入。 +- 日志级别、域名、回调地址需按环境隔离。 + +## 4. 部署关注点 +- 后台 API 需支持滚动发布或平滑重启。 +- 商户后台和管理后台建议支持静态资源版本化。 +- 小程序版本需有提审、灰度、正式发布流程。 + +## 5. 待确认项 +- 云服务商与部署方式。 +- 是否引入容器化与 CI/CD。 +- 是否需要多地域或灾备。 diff --git a/10-项目执行/里程碑与版本规划.md b/10-项目执行/里程碑与版本规划.md new file mode 100644 index 0000000..7366d82 --- /dev/null +++ b/10-项目执行/里程碑与版本规划.md @@ -0,0 +1,18 @@ +# 里程碑与版本规划 + +## 1. 目标 +将整个平台建设拆成多个版本,便于分阶段交付与 agent 分批开发。 + +## 2. 建议版本 +| 版本 | 范围 | +| --- | --- | +| V0.1 | 文档定稿、工程初始化、登录鉴权 | +| V0.2 | 商户入驻、赛事发布、用户报名 | +| V0.3 | 支付退款、成绩录入与发布 | +| V0.4 | 报表、通知、风控、运维能力 | + +## 3. 每个版本建议输出 +- 可运行的代码 +- 对应测试结果 +- 已更新的文档 +- 已知问题与待办清单 diff --git a/10-项目执行/风险清单与依赖项.md b/10-项目执行/风险清单与依赖项.md new file mode 100644 index 0000000..684687e --- /dev/null +++ b/10-项目执行/风险清单与依赖项.md @@ -0,0 +1,17 @@ +# 风险清单与依赖项 + +## 1. 风险清单 +- 赛事规则复杂度高,可能影响数据模型和成绩计算实现。 +- 支付与退款链路涉及资金安全,需谨慎验证。 +- 多角色权限边界不清时,容易导致接口返工。 +- 技术栈未定前,工程初始化存在不确定性。 + +## 2. 外部依赖 +- 微信登录与支付能力 +- 云存储与短信服务 +- 部署环境与域名证书 +- 运营审核规则与风控策略 + +## 3. 管理建议 +- 对高风险模块先做 PoC 或最小可行实现。 +- 对未确认规则,必须先落文档再开发。 diff --git a/11-项目验收/README.md b/11-项目验收/README.md new file mode 100644 index 0000000..ab2dda2 --- /dev/null +++ b/11-项目验收/README.md @@ -0,0 +1,19 @@ +# 项目验收 + +本目录用于沉淀测试策略、功能验收、UAT、上线检查和缺陷回归等文档。 + +## 建议阅读顺序 +1. `验收总览与通过标准.md` +2. `测试策略与验收清单.md` +3. `功能验收标准总表.md` +4. `上线检查清单.md` + +## 当前包含文档 +- `验收总览与通过标准.md` +- `测试策略与验收清单.md` +- `联调测试与上线任务单.md` +- `非功能需求与SLA.md` +- `功能验收标准总表.md` +- `UAT验收记录模板.md` +- `上线检查清单.md` +- `缺陷跟踪与回归计划.md` diff --git a/11-项目验收/UAT验收记录模板.md b/11-项目验收/UAT验收记录模板.md new file mode 100644 index 0000000..789d947 --- /dev/null +++ b/11-项目验收/UAT验收记录模板.md @@ -0,0 +1,20 @@ +# UAT 验收记录模板 + +## 验收轮次 +- 轮次: +- 日期: +- 参与人: + +## 验收场景 +| 场景 | 结果 | 备注 | +| --- | --- | --- | +| 用户报名支付 | 通过 / 不通过 | | +| 商户创建赛事 | 通过 / 不通过 | | +| 平台审核赛事 | 通过 / 不通过 | | +| 商户录入成绩 | 通过 / 不通过 | | + +## 问题清单 +- + +## 结论 +- 是否允许进入下一阶段:是 / 否 diff --git a/11-项目验收/上线检查清单.md b/11-项目验收/上线检查清单.md new file mode 100644 index 0000000..c3b0ccb --- /dev/null +++ b/11-项目验收/上线检查清单.md @@ -0,0 +1,19 @@ +# 上线检查清单 + +## 1. 配置检查 +- [ ] 生产环境域名已配置 +- [ ] 支付回调地址已确认 +- [ ] 对象存储和短信配置已确认 +- [ ] 环境变量已核对 + +## 2. 数据与安全 +- [ ] 管理员账号已创建 +- [ ] 测试数据已清理 +- [ ] 隐私字段脱敏检查通过 +- [ ] 关键日志与告警已配置 + +## 3. 发布准备 +- [ ] 构建包可正常产出 +- [ ] 回滚方案已准备 +- [ ] 监控看板已准备 +- [ ] 值班与应急联系人已确认 diff --git a/11-项目验收/功能验收标准总表.md b/11-项目验收/功能验收标准总表.md new file mode 100644 index 0000000..91eb7d2 --- /dev/null +++ b/11-项目验收/功能验收标准总表.md @@ -0,0 +1,25 @@ +# 功能验收标准总表 + +## 1. 用户端 +| 功能 | 验收点 | +| --- | --- | +| 浏览赛事 | 列表可筛选、详情展示完整 | +| 报名支付 | 报名成功并能完成支付 | +| 我的报名 | 能正确看到报名状态 | +| 成绩查询 | 成绩发布后可查看排名 | + +## 2. 商户端 +| 功能 | 验收点 | +| --- | --- | +| 商户入驻 | 可提交资料并看到审核状态 | +| 赛事创建 | 可创建草稿并提交审核 | +| 报名管理 | 可筛选、导出、核销 | +| 成绩录入 | 可录入、发布、修正 | + +## 3. 平台端 +| 功能 | 验收点 | +| --- | --- | +| 商户审核 | 可通过或驳回并留痕 | +| 赛事审核 | 可审核并记录驳回原因 | +| 报表总览 | 指标展示正确 | +| 异常工单 | 可分派、处理、结案 | diff --git a/11-项目验收/测试策略与验收清单.md b/11-项目验收/测试策略与验收清单.md new file mode 100644 index 0000000..0bc8cab --- /dev/null +++ b/11-项目验收/测试策略与验收清单.md @@ -0,0 +1,29 @@ +# 测试策略与验收清单 + +## 1. 文档目标 +为后续开发阶段定义测试范围、验收方式和上线前检查清单。 + +## 2. 测试层次建议 +| 层次 | 说明 | +| --- | --- | +| 单元测试 | 核心规则、状态机、金额计算、排名计算 | +| 接口测试 | 登录、报名、支付、退款、审核、成绩发布 | +| 集成测试 | 支付回调、消息发送、对象存储、导出功能 | +| 端到端测试 | 用户报名到查看成绩完整闭环 | + +## 3. 核心验收场景 +- 用户成功报名并支付 +- 商户成功创建并发布赛事 +- 平台完成审核驳回与再次提审 +- 商户录入成绩并发布 +- 用户发起退款并收到结果通知 + +## 4. 上线前检查清单 +- 状态流转是否完整 +- 权限隔离是否正确 +- 日志和告警是否到位 +- 关键文档是否同步更新 + +## 5. 待补充项 +- 明确每个场景的输入数据与预期结果。 +- 补充回归测试矩阵与优先级。 diff --git a/11-项目验收/缺陷跟踪与回归计划.md b/11-项目验收/缺陷跟踪与回归计划.md new file mode 100644 index 0000000..6e41baf --- /dev/null +++ b/11-项目验收/缺陷跟踪与回归计划.md @@ -0,0 +1,21 @@ +# 缺陷跟踪与回归计划 + +## 1. 缺陷记录维度 +| 字段 | 说明 | +| --- | --- | +| 缺陷ID | 唯一编号 | +| 所属模块 | 小程序 / 商户后台 / 管理后台 / API | +| 严重级别 | P0 / P1 / P2 | +| 复现步骤 | 如何复现 | +| 当前状态 | 待修复 / 修复中 / 待验证 / 已关闭 | +| 回归结果 | 通过 / 不通过 | + +## 2. 回归重点 +- 报名支付主链路 +- 退款与异常处理 +- 审核驳回与重新提交 +- 成绩录入与发布 + +## 3. 建议节奏 +- 每轮修复后进行一次重点回归。 +- 上线前至少完成一轮全链路回归。 diff --git a/11-项目验收/联调测试与上线任务单.md b/11-项目验收/联调测试与上线任务单.md new file mode 100644 index 0000000..67bd824 --- /dev/null +++ b/11-项目验收/联调测试与上线任务单.md @@ -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 +- 测试用例执行结果 +- 上线回滚预案 +- 已知问题清单 diff --git a/11-项目验收/非功能需求与SLA.md b/11-项目验收/非功能需求与SLA.md new file mode 100644 index 0000000..92713f5 --- /dev/null +++ b/11-项目验收/非功能需求与SLA.md @@ -0,0 +1,24 @@ +# 非功能需求与 SLA + +## 1. 文档目标 +补齐性能、安全、可用性、审计等非功能需求,避免后续只关注业务功能而忽略上线质量。 + +## 2. 性能要求建议 +- 赛事列表页首屏响应需在可接受范围内。 +- 高峰报名场景需支持并发保护与库存控制。 +- 大表导出、成绩计算需避免阻塞主流程。 + +## 3. 可用性要求 +- 核心服务需具备异常恢复能力。 +- 支付、退款、通知等关键链路需支持重试与补偿。 +- 数据库定期备份,关键日志可追溯。 + +## 4. 安全要求 +- 用户隐私字段需脱敏展示。 +- 管理后台高风险操作需日志审计。 +- API 需做鉴权、频控、参数校验。 + +## 5. SLA 待确认项 +- 目标可用性:例如 99.9%。 +- 关键故障恢复时间。 +- 工单/异常的响应时限。 diff --git a/11-项目验收/验收总览与通过标准.md b/11-项目验收/验收总览与通过标准.md new file mode 100644 index 0000000..ff0201a --- /dev/null +++ b/11-项目验收/验收总览与通过标准.md @@ -0,0 +1,18 @@ +# 验收总览与通过标准 + +## 1. 文档目标 +定义项目进入联调和上线前,整体需要满足的验收范围和通过标准。 + +## 2. 验收范围 +- 功能验收:核心业务流程是否可用 +- 接口验收:关键接口是否按文档返回 +- 权限验收:不同角色是否只能访问各自数据 +- 性能与稳定性验收:关键链路是否稳定 +- 上线准备验收:配置、监控、回滚方案是否齐备 + +## 3. 通过标准 +- 用户报名支付主链路完整可跑通 +- 商户入驻、发赛事、录成绩可正常使用 +- 管理后台审核与异常处理可闭环 +- 关键异常场景有明确处理结果 +- 上线材料和回滚预案完整 diff --git a/README.md b/README.md new file mode 100644 index 0000000..f4aa58a --- /dev/null +++ b/README.md @@ -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-项目验收/` 目录逐项做联调、验收与上线检查。