射箭成绩记录微信小程序 产品文档
1. 产品概述
1.1 产品定位与目标
本产品是一款为射箭(反曲弓)爱好者和教练量身定制的微信小程序,支持便捷、全面地记录训练成绩(环数、落点),并通过可视化分析帮助用户提升射箭技能。适用于日常训练、成绩管理与趋势分析。
1.2 目标用户
- 各阶段射箭(反曲弓)运动爱好者
- 射箭俱乐部学员与教练员
- 需要系统管理训练数据的个人/团队
2. 功能清单
2.1 射箭成绩录入
- 选择射箭距离(8/10/18/30/50/70米)
- 选择靶纸规格(40cm/60cm/80cm/122cm/三联40cm)
- 选择录入方式:
- 环数录入(传统方式)
- 靶纸点选录入(点击靶纸模拟落点,自动判定环数)
- 支持自定义组数、每组箭数
- 支持备注本次训练内容
2.2 数据展示与分析
- 历史成绩按时间、距离、靶纸等条件筛选/排序
- 成绩趋势图(按日、周、月、距离、靶纸等维度)
- 平均环数、最佳成绩、提升趋势统计
- 总箭数、日/周/月箭数统计与时间对比
- 靶纸落点热区分析(靶纸点选录入时可用)
2.3 用户与数据管理
- 微信授权登录
- 云端数据自动同步与备份
- 训练目标设定(如本月射箭量、平均环数等)、进度提醒
2.4 导出与分享
- 支持成绩导出为图片、表格(csv/xlsx)、PDF等格式
- 支持成绩/数据一键分享(微信/朋友圈/其他)
2.5 设置与个性化
- 靶纸规格管理(支持自定义添加/编辑标准靶纸)
- 训练方案管理(如特定距离/组数模板保存)
- 个人资料与偏好设置
- 标签/备注管理(如训练场地、器材等)
3. 页面结构原型
3.1 首页(训练概览)
- 今日训练入口
- 本周/本月成绩摘要(平均环数、箭数等)
- 快速新建训练按钮
- 最近训练/成绩提醒
3.2 新建训练
- 选择距离、靶纸、组数、每组箭数
- 选择录入方式(环数/靶纸点选)
- 填写备注(可选)
- 开始训练录入
3.3 成绩录入页
3.3.1 环数录入模式
- 顺序输入每组每箭环数
- 可切换组
- 支持单箭备注
3.3.2 靶纸点选模式
- 模拟靶纸图,用户点击落点
- 系统自动判定环数并记录坐标
- 支持手动修正环数
- 支持回退/撤销箭
3.4 训练详情页
- 训练基础信息(时间、距离、靶纸、总环数、平均环数等)
- 分组、分箭详细数据
- 靶纸落点分布图(若使用点选录入)
- 训练备注
- 编辑/删除本次训练
- 数据导出/分享按钮
3.5 数据统计分析页
- 历史成绩列表(支持筛选、排序)
- 趋势分析(时间轴折线/柱状图)
- 各维度对比(距离/靶纸/时间/箭数等)
- 靶纸热区分布图
- 总箭数、日/周/月箭数统计与比较
3.6 个人中心/设置页
- 账号信息与登录状态
- 训练目标与进度
- 靶纸规格管理
- 训练模板管理
- 数据导出/备份
- 意见反馈与帮助
4. 数据结构设计
4.1 用户(User)
字段 | 类型 | 说明 |
userId | string | 用户唯一标识 |
nickName | string | 用户昵称 |
avatarUrl | string | 头像 |
createdAt | date | 注册时间 |
settings | object | 用户偏好设置 |
4.2 靶纸(TargetFace)
字段 | 类型 | 说明 |
targetId | string | 靶纸唯一标识 |
name | string | 靶纸名称 |
diameter | number | 靶纸直径(cm) |
ringCount | number | 环数(一般10) |
imageUrl | string | 靶纸图像 |
type | string | 靶纸类型(单/三联等) |
4.3 训练记录(Session)
字段 | 类型 | 说明 |
sessionId | string | 训练唯一标识 |
userId | string | 用户ID |
distance | number | 射箭距离(米) |
targetId | string | 靶纸ID |
groupCount | number | 组数 |
arrowsPerGroup | number | 每组箭数 |
inputMode | string | 录入方式(score/point) |
date | date | 训练日期 |
remark | string | 备注 |
totalScore | number | 总环数 |
createdAt | date | 创建时间 |
4.4 训练组(Group)
字段 | 类型 | 说明 |
groupId | string | 组唯一标识 |
sessionId | string | 训练ID |
groupIndex | number | 第几组 |
arrows | array | 本组箭数据 |
4.5 单箭(Arrow)
字段 | 类型 | 说明 |
arrowId | string | 箭唯一标识 |
groupId | string | 所属组ID |
arrowIndex | number | 本组第几箭 |
score | number | 本箭环数 |
position | object | 落点坐标{ x, y } |
inputType | string | 录入方式(score/point) |
remark | string | 备注 |
5. 主要流程说明
5.1 训练录入流程
- 用户进入首页,点击“新建训练”
- 选择射箭距离、靶纸规格、组数、每组箭数、录入方式
- 填写备注(可选),点击“开始训练”
- 进入成绩录入页,依次录入每组每箭成绩(环数/点选)
- 录入完成后,自动汇总训练数据,展示训练详情页
- 用户可进一步编辑、导出或分享本次成绩
5.2 靶纸点选录入流程
- 在“新建训练”时选择“靶纸点选”模式
- 成绩录入页展示靶纸图,用户每射完一箭,点击靶纸对应位置
- 系统计算该点环数并保存坐标及环数
- 支持撤销、回退、手动修正环数
- 完成所有箭后,保存训练数据
5.3 数据分析与对比流程
- 用户进入“数据统计分析”页
- 可选择按时间、距离、靶纸等筛选成绩
- 查看趋势图、箭数统计、成绩对比等
- 若有靶纸点选数据,可查看热区分布图,辅助分析技术问题
6. 附录
6.1 主流射箭靶纸规格参考
靶纸名称 | 直径(cm) | 适用距离(米) | 备注 |
40cm | 40 | 18 | 室内、单/三联 |
60cm | 60 | 25/30 | 少见 |
80cm | 80 | 30/50 | 室外 |
122cm | 122 | 70/90 | 奥运标准 |
3联40cm | 40×3 | 18 | 室内国际赛事 |