# 展会AR徽章收集小程序 产品需求文档 (PRD) ## 版本信息 | 版本 | 日期 | 描述 | 作者 | |------|------|------|------| | 1.5 | 2025-11-04 | 补充Epic 005详细内容,包括主流程图、用户故事和任务分解 | John (PM) | | 1.4 | 2025-11-04 | 补充Epic 004详细内容,包括主流程图、用户故事和任务分解 | John (PM) | | 1.3 | 2025-11-04 | 补充Epic 003详细内容,包括主流程图、用户故事和任务分解 | John (PM) | | 1.2 | 2025-11-04 | 补充Epic 002详细内容,包括主流程图、用户故事和任务分解 | John (PM) | | 1.1 | 2025-11-04 | 补充Epic 001详细内容,包括主流程图、用户故事和任务分解 | John (PM) | | 1.0 | 2025-11-04 | 初始PRD版本,基于ar-origin.md和brief.md需求 | John (PM) | ## 1. 项目介绍和分析 ### 1.1 项目概览 **分析来源**: 基于需求文档 `docs/ar-origin.md` 和 `docs/brief.md` **当前项目状态**: 展会AR徽章收集小程序是一个基于AR技术的展会互动系统,提供: - 🎯 **AR扫描基础**: 内置文物定位地图,精准识别展品 - 🏆 **徽章收集系统**: 普通徽章、特色徽章、稀有徽章三级收集机制 - 🤝 **社交互动**: 徽章集市交换、现场对对碰、社交平台分享 - 🎁 **奖励机制**: 集齐徽章兑换实体AR透卡和专属印章 ### 1.2 需求分析 ✅ **核心功能明确**: - AR扫描文物展品获取普通徽章 - 知识问答获取特色徽章 - 共创活动获取稀有徽章 - 社交互动和徽章交换 - 实体奖励兑换 ⚠️ **需要技术验证**: - 微信小程序AR识别性能 - 展会现场网络稳定性 - 不同手机型号兼容性 - 用户数据隐私保护 ### 1.3 项目范围定义 **项目类型**: 全新开发的展会互动小程序 **主要目标**: 1. 通过AR技术和游戏化设计提升展会参观体验 2. 增强文物知识传播效果和观众参与度 3. 建立数字化展会互动标准解决方案 4. 收集观众行为数据用于展览优化 ### 1.4 目标和背景 #### 业务目标 - 🎪 **提升展会体验**: 将传统展会转变为沉浸式互动体验 - 📚 **增强知识传播**: 通过游戏化设计提高文物知识留存率 - 👥 **吸引年轻观众**: 利用AR技术吸引18-35岁年轻群体 - 📊 **数据驱动优化**: 收集观众行为数据指导展览改进 #### 技术背景 基于多八多云端开发容器环境: - Node.js 20.19.2 后端服务 - PostgreSQL 17 数据库 - Redis 7 缓存 - MinIO 对象存储 - 微信小程序前端平台 ## 2. 需求定义 ### 2.1 功能需求 基于ar-origin.md和brief.md的需求分析,我定义了以下功能需求: **FR1: AR扫描基础功能** - 必须提供内置文物定位地图,引导用户找到展品位置 - 支持现场采集文物图作为扫描参照物,确保精准识别 - 实现AR相机扫描功能,能够识别和定位文物展品 - 提供扫描成功反馈和徽章获取确认 **FR2: 徽章收集任务系统** - **普通徽章**: 扫描对应文物即可获得,低门槛参与 - **特色徽章**: AR扫描文物 + 答对漆艺知识问题获得,加深认知 - **稀有徽章**: 到达共创互动体验区,扫描互动入口码,完成共创任务获得 - 提供徽章展示和管理界面,支持收集进度跟踪 **FR3: 社交互动功能** - **徽章集市**: 支持玩家之间交换徽章 - **现场对对碰**: 近距离蓝牙或WiFi直连交换徽章 - **社交分享**: 稀有徽章可分享到社交平台,分享成功获得1张(限1次) - 提供徽章交换记录和社交互动历史 **FR4: 奖励兑换系统** - 集齐全部徽章可到服务台兑换实体AR透卡 - 兑换时加盖专属文物纹样印章 - 提供兑换状态跟踪和二维码验证 - 支持多展会场景的奖励管理 **FR5: 展会内容管理系统** - 支持展会主办方配置文物信息、位置地图 - 管理漆艺知识题库和问答内容 - 配置共创活动任务和互动入口码 - 提供数据统计和用户行为分析 ### 详细 rationale (决策依据): 这些需求基于对展会互动场景的深入分析: - **游戏化设计**: 三级徽章系统提供渐进式难度,平衡趣味性和教育性 - **技术可行性**: 微信小程序AR SDK支持文物识别,无需下载独立应用 - **社交传播**: 徽章交换和分享机制促进用户互动和口碑传播 - **实体激励**: 实体奖励增强成就感和参与动力 **关键假设**: - 目标用户是18-35岁对新技术和互动体验感兴趣的年轻观众 - 主要使用场景是展会现场,网络环境相对稳定 - 用户愿意参与徽章收集和社交互动活动 - 展会主办方能够提供文物图片和知识内容 **需要验证的领域**: - 微信小程序AR识别功能的性能和兼容性 - 展会现场网络对AR体验的影响 - 用户对徽章收集和交换的参与意愿 - 实体奖励兑换流程的顺畅性 ### 2.2 非功能性需求 **NFR1: AR识别性能和准确性** - AR识别响应时间必须小于2秒,确保流畅的用户体验 - 识别准确率需要达到95%以上,减少误识别 - 支持不同光照条件下的稳定识别 - 兼容主流手机型号的摄像头和传感器 **NFR2: 展会现场网络适应性** - 支持展会期间1000+并发用户的稳定访问 - 在网络不稳定的情况下提供降级方案 - 关键数据支持离线缓存和同步 - API响应时间控制在500ms以内 **NFR3: 用户体验和易用性** - 小程序启动时间控制在3秒以内 - 操作流程简单直观,新用户5分钟内可上手 - 提供清晰的进度反馈和引导提示 - 支持单手操作和移动端优化 **NFR4: 数据安全和隐私保护** - 用户数据加密存储,符合隐私保护法规 - 展会数据隔离,支持多展会同时运行 - 防止徽章数据篡改和作弊行为 - 提供数据备份和恢复机制 **NFR5: 系统稳定性和可靠性** - 展会期间系统可用性达到99.5% - 支持自动故障转移和恢复 - 提供实时监控和告警机制 - 关键业务逻辑有完善的错误处理 ### 详细 rationale (决策依据): 这些非功能性需求反映了展会场景的特殊要求: - **实时性要求**: AR识别和交互需要快速响应,避免用户等待 - **高并发处理**: 展会期间大量用户同时使用,需要稳定支撑 - **网络适应性**: 展会现场网络环境复杂,需要容错机制 - **移动端优化**: 小程序形式要求轻量化和快速启动 **技术约束**: - 必须基于微信小程序平台开发 - 需要兼容Node.js 20.19.2,PostgreSQL 17,Redis 7技术栈 - 部署在多八多云端容器环境,8080端口外网访问 - 使用MinIO对象存储管理图片和媒体文件 ### 3.2 技术架构策略 **微信小程序集成策略**: - 使用微信小程序原生开发框架 - 集成微信AR SDK实现文物识别功能 - 支持微信登录和用户信息获取 - 利用微信分享API实现社交传播 **后端服务架构**: - 基于Node.js + Hono框架构建RESTful API - 使用TypeORM管理PostgreSQL数据库 - Redis缓存提升AR识别和用户状态性能 - MinIO存储管理文物图片和媒体文件 **展会内容管理**: - 支持多展会配置和内容隔离 - 提供文物信息、位置地图的可视化配置 - 管理知识题库和共创活动任务 - 实时数据统计和用户行为分析 ## 5. Epic和故事结构 ### 5.1 Epic方法 **Epic结构决策**: 功能导向的Epic结构 - 按核心功能模块划分开发阶段 **决策依据**: - 项目为全新开发,需要按功能模块逐步构建 - 每个功能模块有明确的业务目标和用户价值 - 独立Epic便于并行开发和测试验证 - MVP优先,确保核心功能快速上线验证 ### 5.2 Epic详情 **Epic 001: 基础主数据管理系统** **Epic目标**: 建立展会基础数据管理框架,包括用户管理、文物数据、展会配置等核心数据模型 **成功标准**: 数据模型设计完整,API接口稳定可用,数据管理操作效率>90% #### Epic 001 主流程图 ```mermaid graph TD A[用户进入小程序] --> B[用户注册/登录] B --> C[展会选择] C --> D[获取展会配置] D --> E[加载文物地图] E --> F[开始AR扫描] F --> G[扫描成功] G --> H[获取徽章] H --> I[更新用户进度] I --> J[展示徽章收集] K[管理员登录后台] --> L[展会配置管理] L --> M[文物数据管理] M --> N[知识题库管理] N --> O[活动任务配置] O --> P[数据统计查看] ``` #### Epic 001 用户故事 **故事001-001: 用户注册和登录** - **作为** 展会参观者 - **我希望** 能够快速注册和登录小程序 - **以便** 开始徽章收集体验并保存我的进度 **故事001-002: 展会选择和配置** - **作为** 展会参观者 - **我希望** 能够选择当前参加的展会 - **以便** 获取正确的文物地图和徽章配置 **故事001-003: 文物数据管理** - **作为** 展会管理员 - **我希望** 能够管理文物信息、位置和图片 - **以便** 配置AR扫描的目标对象 **故事001-004: 知识题库管理** - **作为** 展会管理员 - **我希望** 能够管理漆艺知识题库 - **以便** 配置特色徽章的问答内容 **故事001-005: 活动任务配置** - **作为** 展会管理员 - **我希望** 能够配置共创活动任务 - **以便** 设置稀有徽章的获取条件 #### Epic 001 详细任务分解 **任务001-001: 用户数据模型设计** - **种类**: 后端API - **所在端**: 后端 - **描述**: 设计用户表结构,包括用户ID、微信OpenID、昵称、头像、注册时间等字段 **任务001-002: 用户认证API开发** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现微信登录接口,获取用户信息并创建用户记录 **任务001-003: 小程序登录页面开发** - **种类**: UI开发 - **所在端**: 小程序 - **描述**: 创建用户登录界面,集成微信登录按钮和授权流程 **任务001-004: 展会数据模型设计** - **种类**: 后端API - **所在端**: 后端 - **描述**: 设计展会表结构,包括展会ID、名称、描述、开始时间、结束时间、状态等 **任务001-005: 文物数据模型设计** - **种类**: 后端API - **所在端**: 后端 - **描述**: 设计文物表结构,包括文物ID、名称、描述、位置坐标、图片URL、AR识别特征等 **任务001-006: 知识题库数据模型设计** - **种类**: 后端API - **所在端**: 后端 - **描述**: 设计题库表结构,包括问题ID、问题内容、选项、正确答案、关联文物ID等 **任务001-007: 活动任务数据模型设计** - **种类**: 后端API - **所在端**: 后端 - **描述**: 设计活动任务表结构,包括任务ID、任务名称、描述、入口码、完成条件等 **任务001-008: 展会配置API开发** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现展会列表查询、展会详情获取、展会配置更新等接口 **任务001-009: 文物管理API开发** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现文物列表查询、文物详情获取、文物增删改等接口 **任务001-010: 知识题库API开发** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现题库查询、随机出题、答案验证等接口 **任务001-011: 活动任务API开发** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现任务查询、任务完成验证、任务状态更新等接口 **任务001-012: 小程序展会选择页面开发** - **种类**: UI开发 - **所在端**: 小程序 - **描述**: 创建展会列表页面,支持展会选择和切换 **任务001-013: 小程序首页开发** - **种类**: UI开发 - **所在端**: 小程序 - **描述**: 创建小程序首页,展示用户进度、徽章收集情况、快速入口等 **任务001-014: 后台管理系统框架搭建** - **种类**: UI开发 - **所在端**: 管理后台 - **描述**: 搭建展会管理后台的基础框架,包括登录、导航、布局等 **任务001-015: 展会管理后台开发** - **种类**: UI开发 - **所在端**: 管理后台 - **描述**: 开发展会配置管理界面,支持展会信息的增删改查 **任务001-016: 文物管理后台开发** - **种类**: UI开发 - **所在端**: 管理后台 - **描述**: 开发文物管理界面,支持文物信息、位置、图片的上传和管理 **任务001-017: 知识题库管理后台开发** - **种类**: UI开发 - **所在端**: 管理后台 - **描述**: 开发题库管理界面,支持问题的增删改查和批量导入 **任务001-018: 活动任务管理后台开发** - **种类**: UI开发 - **所在端**: 管理后台 - **描述**: 开发活动任务管理界面,支持任务配置和入口码生成 **任务001-019: 数据备份恢复机制实现** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现展会数据的自动备份和手动恢复功能 **任务001-020: 单元测试编写** - **种类**: 测试 - **所在端**: 后端/小程序/管理后台 - **描述**: 为所有API和关键功能编写单元测试,确保代码质量 **任务001-021: 集成测试执行** - **种类**: 测试 - **所在端**: 后端/小程序/管理后台 - **描述**: 执行端到端集成测试,验证各模块间的协作 **任务001-022: 性能测试执行** - **种类**: 测试 - **所在端**: 后端 - **描述**: 进行API性能测试,确保响应时间满足要求 **任务001-023: 安全测试执行** - **种类**: 测试 - **所在端**: 后端 - **描述**: 进行安全漏洞扫描,确保用户数据安全 **Epic 002: AR扫描基础功能开发** **Epic目标**: 实现核心AR扫描功能,包括文物定位地图、相机扫描、精准识别和徽章获取 **成功标准**: AR识别准确率>90%,扫描响应时间<2秒,用户能够顺利完成普通徽章收集 #### Epic 002 主流程图 ```mermaid graph TD A[用户进入AR扫描] --> B[打开相机权限] B --> C{权限是否授权?} C -->|否| D[显示权限引导] D --> E[用户授权权限] E --> F[加载文物定位地图] C -->|是| F F --> G[显示文物位置标记] G --> H[用户选择目标文物] H --> I[启动AR相机扫描] I --> J[实时图像分析] J --> K{是否识别成功?} K -->|是| L[显示识别成功动画] L --> M[获取普通徽章] M --> N[更新用户徽章收集] N --> O[显示徽章详情] K -->|否| P[显示识别失败提示] P --> Q[提供重试选项] Q --> I R[管理员配置文物] --> S[上传文物图片] S --> T[设置文物位置] T --> U[配置AR识别特征] U --> V[生成文物地图数据] V --> W[同步到小程序] ``` #### Epic 002 用户故事 **故事002-001: 文物定位地图功能** - **作为** 展会参观者 - **我希望** 能够看到文物在展会中的位置地图 - **以便** 快速找到目标文物进行AR扫描 **故事002-002: AR相机扫描功能** - **作为** 展会参观者 - **我希望** 能够使用手机相机扫描文物 - **以便** 通过AR技术识别文物并获取徽章 **故事002-003: 相机权限管理** - **作为** 展会参观者 - **我希望** 小程序能够请求相机使用权限 - **以便** 顺利进行AR扫描操作 **故事002-004: 文物识别反馈** - **作为** 展会参观者 - **我希望** 能够看到清晰的识别成功或失败反馈 - **以便** 了解扫描结果和下一步操作 **故事002-005: 普通徽章获取** - **作为** 展会参观者 - **我希望** 扫描文物成功后自动获得普通徽章 - **以便** 开始我的徽章收集之旅 **故事002-006: 文物AR特征配置** - **作为** 展会管理员 - **我希望** 能够配置文物的AR识别特征 - **以便** 提高AR扫描的准确性和成功率 **故事002-007: 文物地图管理** - **作为** 展会管理员 - **我希望** 能够管理文物在展会中的位置信息 - **以便** 生成准确的定位地图供用户使用 #### Epic 002 详细任务分解 **任务002-001: 文物定位地图数据模型设计** - **种类**: 后端API - **所在端**: 后端 - **描述**: 设计文物位置数据模型,包括坐标信息、地图层级、展区划分等 **任务002-002: 文物地图API开发** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现文物地图数据查询接口,支持按展区、距离等条件筛选 **任务002-003: 小程序地图页面开发** - **种类**: UI开发 - **所在端**: 小程序 - **描述**: 创建文物定位地图页面,展示文物位置标记和展区布局 **任务002-004: 微信小程序AR SDK集成** - **种类**: 前端集成 - **所在端**: 小程序 - **描述**: 集成微信AR SDK,配置相机权限和AR识别功能 **任务002-005: AR相机页面开发** - **种类**: UI开发 - **所在端**: 小程序 - **描述**: 创建AR扫描相机页面,包括扫描框、提示信息、操作按钮等 **任务002-006: 文物识别算法实现** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现文物图像识别算法,支持特征提取和匹配验证 **任务002-007: 识别结果处理API开发** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现AR识别结果验证接口,处理识别成功和失败的不同场景 **任务002-008: 普通徽章数据模型设计** - **种类**: 后端API - **所在端**: 后端 - **描述**: 设计徽章数据模型,包括徽章ID、名称、图标、获取条件、关联文物等 **任务002-009: 徽章获取API开发** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现徽章获取接口,验证获取条件并更新用户徽章收集状态 **任务002-010: 徽章展示页面开发** - **种类**: UI开发 - **所在端**: 小程序 - **描述**: 创建徽章展示页面,支持徽章列表、详情查看、收集进度展示 **任务002-011: 识别成功动画效果实现** - **种类**: UI开发 - **所在端**: 小程序 - **描述**: 实现AR识别成功时的动画效果,增强用户成就感 **任务002-012: 识别失败提示页面开发** - **种类**: UI开发 - **所在端**: 小程序 - **描述**: 创建识别失败提示页面,提供重试指导和问题排查建议 **任务002-013: 相机权限管理逻辑实现** - **种类**: 前端逻辑 - **所在端**: 小程序 - **描述**: 实现相机权限申请、检测和引导用户授权的完整流程 **任务002-014: AR特征配置后台开发** - **种类**: UI开发 - **所在端**: 管理后台 - **描述**: 开发AR特征配置界面,支持上传文物图片和配置识别参数 **任务002-015: 文物地图管理后台开发** - **种类**: UI开发 - **所在端**: 管理后台 - **描述**: 开发文物位置管理界面,支持拖拽定位和坐标设置 **任务002-016: AR识别性能优化** - **种类**: 后端优化 - **所在端**: 后端 - **描述**: 优化识别算法性能,减少响应时间,提高识别准确率 **任务002-017: 多设备兼容性测试** - **种类**: 测试 - **所在端**: 小程序 - **描述**: 在不同型号手机上测试AR扫描功能,确保兼容性 **任务002-018: 网络适应性优化** - **种类**: 前端优化 - **所在端**: 小程序 - **描述**: 优化网络请求策略,支持弱网环境下的AR扫描体验 **任务002-019: 用户行为数据收集** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现AR扫描行为数据收集,包括扫描次数、成功率、耗时等 **任务002-020: AR功能单元测试编写** - **种类**: 测试 - **所在端**: 后端/小程序 - **描述**: 为AR相关功能编写单元测试,确保核心逻辑正确性 **任务002-021: 集成测试执行** - **种类**: 测试 - **所在端**: 后端/小程序 - **描述**: 执行AR扫描端到端集成测试,验证完整流程 **任务002-022: 性能压力测试** - **种类**: 测试 - **所在端**: 后端 - **描述**: 进行高并发AR识别压力测试,确保系统稳定性 **任务002-023: 用户体验测试** - **种类**: 测试 - **所在端**: 小程序 - **描述**: 邀请真实用户测试AR扫描功能,收集反馈并优化体验 **Epic 003: 徽章收集系统实现** **Epic目标**: 构建完整的徽章收集系统,包括普通徽章、特色徽章、稀有徽章三级收集机制 **成功标准**: 三级徽章收集流程顺畅,知识问答正确率>70%,共创任务完成率>60% #### Epic 003 主流程图 ```mermaid graph TD A[用户开始徽章收集] --> B{徽章类型选择} B -->|普通徽章| C[AR扫描文物] C --> D{识别成功?} D -->|是| E[获取普通徽章] D -->|否| F[显示重试提示] F --> C B -->|特色徽章| G[AR扫描文物] G --> H{识别成功?} H -->|是| I[启动知识问答] H -->|否| J[显示重试提示] J --> G I --> K[显示漆艺知识问题] K --> L[用户回答问题] L --> M{答案正确?} M -->|是| N[获取特色徽章] M -->|否| O[显示正确答案] O --> P[提供重试机会] P --> I B -->|稀有徽章| Q[前往共创体验区] Q --> R[扫描互动入口码] R --> S[启动共创任务] S --> T[用户完成任务] T --> U[任务完成验证] U --> V[获取稀有徽章] E --> W[更新徽章收集] N --> W V --> W W --> X[展示徽章详情] X --> Y[更新收集进度] Y --> Z[显示成就奖励] AA[管理员配置徽章] --> AB[设置徽章类型] AB --> AC[配置获取条件] AC --> AD[上传徽章图标] AD --> AE[设置奖励规则] AE --> AF[同步到小程序] ``` #### Epic 003 用户故事 **故事003-001: 特色徽章知识问答功能** - **作为** 展会参观者 - **我希望** 在AR扫描文物后能够参与漆艺知识问答 - **以便** 通过回答问题获得特色徽章,加深对文物的认知 **故事003-002: 稀有徽章共创任务** - **作为** 展会参观者 - **我希望** 能够参与共创互动体验区的任务 - **以便** 完成特殊挑战获得稀有徽章 **故事003-003: 徽章展示和管理** - **作为** 展会参观者 - **我希望** 能够查看我收集的所有徽章 - **以便** 了解我的收集进度和成就 **故事003-004: 收集进度跟踪** - **作为** 展会参观者 - **我希望** 能够实时看到我的徽章收集进度 - **以便** 了解还需要收集哪些徽章才能兑换奖励 **故事003-005: 知识题库管理** - **作为** 展会管理员 - **我希望** 能够管理漆艺知识题库 - **以便** 配置特色徽章的问答内容 **故事003-006: 共创任务配置** - **作为** 展会管理员 - **我希望** 能够配置共创互动体验区的任务 - **以便** 设置稀有徽章的获取条件和流程 **故事003-007: 徽章系统配置** - **作为** 展会管理员 - **我希望** 能够配置徽章的类型、图标和获取条件 - **以便** 管理整个徽章收集系统的规则 #### Epic 003 详细任务分解 **任务003-001: 特色徽章数据模型设计** - **种类**: 后端API - **所在端**: 后端 - **描述**: 设计特色徽章数据模型,包括关联文物、知识问题、获取条件等 **任务003-002: 知识问答流程API开发** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现知识问答流程接口,包括问题获取、答案验证、徽章发放等 **任务003-003: 稀有徽章数据模型设计** - **种类**: 后端API - **所在端**: 后端 - **描述**: 设计稀有徽章数据模型,包括任务类型、入口码、完成条件等 **任务003-004: 共创任务API开发** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现共创任务管理接口,包括任务查询、状态更新、完成验证等 **任务003-005: 徽章收集进度API开发** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现用户徽章收集进度查询和更新接口 **任务003-006: 小程序知识问答页面开发** - **种类**: UI开发 - **所在端**: 小程序 - **描述**: 创建知识问答界面,支持问题展示、选项选择、结果反馈 **任务003-007: 小程序共创任务页面开发** - **种类**: UI开发 - **所在端**: 小程序 - **描述**: 创建共创任务界面,支持任务说明、进度跟踪、完成提交 **任务003-008: 徽章展示页面开发** - **种类**: UI开发 - **所在端**: 小程序 - **描述**: 创建徽章展示页面,支持徽章列表、详情查看、收集状态展示 **任务003-009: 收集进度页面开发** - **种类**: UI开发 - **所在端**: 小程序 - **描述**: 创建收集进度页面,展示已收集和未收集的徽章,提供收集指导 **任务003-010: 知识题库管理后台开发** - **种类**: UI开发 - **所在端**: 管理后台 - **描述**: 开发知识题库管理界面,支持问题增删改查、批量导入、分类管理 **任务003-011: 共创任务管理后台开发** - **种类**: UI开发 - **所在端**: 管理后台 - **描述**: 开发共创任务管理界面,支持任务配置、入口码生成、完成条件设置 **任务003-012: 徽章系统管理后台开发** - **种类**: UI开发 - **所在端**: 管理后台 - **描述**: 开发徽章系统管理界面,支持徽章类型配置、图标上传、获取规则设置 **任务003-013: 二维码生成和识别功能** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现互动入口码的生成和识别功能,支持共创任务入口 **任务003-014: 知识问答算法优化** - **种类**: 后端优化 - **所在端**: 后端 - **描述**: 优化知识问答算法,支持随机出题、难度分级、防作弊机制 **任务003-015: 任务完成验证机制** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现共创任务完成验证机制,确保任务完成的真实性和有效性 **任务003-016: 徽章获取逻辑实现** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现徽章获取的核心逻辑,包括条件验证、状态更新、重复获取防护 **任务003-017: 进度跟踪数据模型设计** - **种类**: 后端API - **所在端**: 后端 - **描述**: 设计用户进度跟踪数据模型,包括徽章收集状态、任务完成情况等 **任务003-018: 进度同步机制实现** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现用户进度实时同步机制,确保多设备间数据一致性 **任务003-019: 徽章动画效果实现** - **种类**: UI开发 - **所在端**: 小程序 - **描述**: 实现徽章获取时的动画效果,增强用户成就感和视觉体验 **任务003-020: 知识问答单元测试编写** - **种类**: 测试 - **所在端**: 后端 - **描述**: 为知识问答功能编写单元测试,确保问题随机性和答案验证正确性 **任务003-021: 共创任务集成测试** - **种类**: 测试 - **所在端**: 后端/小程序 - **描述**: 执行共创任务端到端集成测试,验证完整流程和异常处理 **任务003-022: 徽章系统性能测试** - **种类**: 测试 - **所在端**: 后端 - **描述**: 进行徽章系统性能测试,确保高并发下的稳定性和响应速度 **任务003-023: 用户体验测试执行** - **种类**: 测试 - **所在端**: 小程序 - **描述**: 邀请真实用户测试徽章收集流程,收集反馈并优化体验 **Epic 004: 社交互动功能开发** **Epic目标**: 实现徽章集市、现场对对碰、社交分享等社交互动功能 **成功标准**: 徽章交换成功率>80%,社交分享率>30%,用户互动满意度>4/5 #### Epic 004 主流程图 ```mermaid graph TD A[用户进入社交互动] --> B{互动方式选择} B -->|徽章集市| C[进入徽章集市] C --> D[浏览可交换徽章] D --> E[选择交换对象] E --> F[发起交换请求] F --> G[对方确认交换] G --> H[交换成功] H --> I[更新双方徽章] B -->|现场对对碰| J[启动对对碰] J --> K[搜索附近用户] K --> L[选择交换对象] L --> M[发起交换请求] M --> N[对方确认交换] N --> O[交换成功] O --> P[更新双方徽章] B -->|社交分享| Q[选择分享徽章] Q --> R[选择分享平台] R --> S[生成分享卡片] S --> T[用户确认分享] T --> U[分享成功] U --> V[获得分享奖励徽章] V --> W[更新用户徽章] I --> X[记录交换历史] P --> X W --> X X --> Y[更新社交统计] Z[管理员配置社交规则] --> AA[设置交换规则] AA --> AB[配置分享奖励] AB --> AC[设置互动限制] AC --> AD[同步到小程序] ``` #### Epic 004 用户故事 **故事004-001: 徽章集市交换功能** - **作为** 展会参观者 - **我希望** 能够在徽章集市中与其他玩家交换徽章 - **以便** 获得我缺少的徽章,完成收集目标 **故事004-002: 现场对对碰交换功能** - **作为** 展会参观者 - **我希望** 能够与现场其他用户进行近距离徽章交换 - **以便** 快速找到交换伙伴,增强现场互动体验 **故事004-003: 社交平台分享功能** - **作为** 展会参观者 - **我希望** 能够将稀有徽章分享到社交平台 - **以便** 展示我的成就并获得额外奖励徽章 **故事004-004: 交换记录查看** - **作为** 展会参观者 - **我希望** 能够查看我的徽章交换历史记录 - **以便** 了解我的社交互动情况和交换统计 **故事004-005: 社交互动统计** - **作为** 展会参观者 - **我希望** 能够看到我的社交互动统计数据 - **以便** 了解我的社交活跃度和影响力 **故事004-006: 社交规则配置** - **作为** 展会管理员 - **我希望** 能够配置徽章交换的规则和限制 - **以便** 管理社交互动的公平性和秩序 **故事004-007: 分享奖励配置** - **作为** 展会管理员 - **我希望** 能够配置社交分享的奖励规则 - **以便** 激励用户分享和传播展会内容 #### Epic 004 详细任务分解 **任务004-001: 徽章交换数据模型设计** - **种类**: 后端API - **所在端**: 后端 - **描述**: 设计徽章交换数据模型,包括交换请求、交换记录、交换状态等 **任务004-002: 徽章集市API开发** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现徽章集市功能接口,包括可交换徽章查询、交换请求发起、交换确认等 **任务004-003: 现场对对碰API开发** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现现场对对碰功能接口,包括附近用户搜索、蓝牙/WiFi直连交换等 **任务004-004: 社交分享API开发** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现社交分享功能接口,包括分享卡片生成、分享记录跟踪、奖励发放等 **任务004-005: 小程序徽章集市页面开发** - **种类**: UI开发 - **所在端**: 小程序 - **描述**: 创建徽章集市页面,支持徽章浏览、交换请求、交换确认等操作 **任务004-006: 小程序对对碰页面开发** - **种类**: UI开发 - **所在端**: 小程序 - **描述**: 创建现场对对碰页面,支持附近用户搜索、交换发起、实时通信等 **任务004-007: 小程序社交分享页面开发** - **种类**: UI开发 - **所在端**: 小程序 - **描述**: 创建社交分享页面,支持徽章选择、平台选择、分享预览等 **任务004-008: 交换记录页面开发** - **种类**: UI开发 - **所在端**: 小程序 - **描述**: 创建交换记录页面,展示用户的交换历史、统计信息等 **任务004-009: 社交统计页面开发** - **种类**: UI开发 - **所在端**: 小程序 - **描述**: 创建社交统计页面,展示用户的社交互动数据和排名信息 **任务004-010: 微信分享SDK集成** - **种类**: 前端集成 - **所在端**: 小程序 - **描述**: 集成微信分享SDK,支持分享到微信好友、朋友圈等平台 **任务004-011: 蓝牙/WiFi直连功能实现** - **种类**: 前端逻辑 - **所在端**: 小程序 - **描述**: 实现蓝牙或WiFi直连功能,支持现场用户间的直接通信和交换 **任务004-012: 附近用户发现算法** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现附近用户发现算法,基于位置信息或网络信号识别附近用户 **任务004-013: 交换安全机制实现** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现徽章交换的安全机制,防止作弊和重复交换 **任务004-014: 分享奖励逻辑实现** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现社交分享奖励逻辑,包括奖励徽章发放、次数限制等 **任务004-015: 社交规则管理后台开发** - **种类**: UI开发 - **所在端**: 管理后台 - **描述**: 开发社交规则管理界面,支持交换规则配置、限制设置等 **任务004-016: 分享奖励管理后台开发** - **种类**: UI开发 - **所在端**: 管理后台 - **描述**: 开发分享奖励管理界面,支持奖励规则配置、徽章设置等 **任务004-017: 社交数据统计后台开发** - **种类**: UI开发 - **所在端**: 管理后台 - **描述**: 开发社交数据统计界面,展示用户互动数据、分享统计等 **任务004-018: 实时通信机制优化** - **种类**: 后端优化 - **所在端**: 后端 - **描述**: 优化实时通信机制,提高交换请求的响应速度和稳定性 **任务004-019: 社交功能单元测试编写** - **种类**: 测试 - **所在端**: 后端/小程序 - **描述**: 为社交互动功能编写单元测试,确保交换逻辑和分享功能的正确性 **任务004-020: 集成测试执行** - **种类**: 测试 - **所在端**: 后端/小程序 - **描述**: 执行社交互动端到端集成测试,验证徽章交换和分享的完整流程 **任务004-021: 性能压力测试** - **种类**: 测试 - **所在端**: 后端 - **描述**: 进行高并发社交互动压力测试,确保系统在大量用户同时交换时的稳定性 **任务004-022: 用户体验测试执行** - **种类**: 测试 - **所在端**: 小程序 - **描述**: 邀请真实用户测试社交互动功能,收集反馈并优化体验 **Epic 005: 奖励兑换和后台管理** **Epic目标**: 构建奖励兑换系统和展会内容管理后台 **成功标准**: 实体奖励兑换流程顺畅,后台配置操作简便,数据统计准确 #### Epic 005 主流程图 ```mermaid graph TD A[用户集齐全部徽章] --> B[前往服务台] B --> C[打开小程序兑换页面] C --> D[展示兑换二维码] D --> E[工作人员扫描验证] E --> F{验证是否通过?} F -->|是| G[兑换实体AR透卡] G --> H[加盖专属文物纹样印章] H --> I[兑换完成] I --> J[更新用户兑换状态] F -->|否| K[显示验证失败原因] K --> L[提供解决方案] L --> C M[管理员登录后台] --> N[奖励兑换管理] N --> O[查看兑换统计] O --> P[管理实体卡库存] P --> Q[配置印章样式] Q --> R[设置兑换规则] R --> S[数据统计分析] S --> T[生成展会报告] U[展会内容管理] --> V[文物数据维护] V --> W[知识题库更新] W --> X[活动任务配置] X --> Y[徽章系统设置] Y --> Z[社交规则调整] Z --> AA[用户数据管理] AA --> BB[系统配置优化] ``` #### Epic 005 用户故事 **故事005-001: 实体奖励兑换功能** - **作为** 展会参观者 - **我希望** 能够将收集到的所有徽章兑换为实体AR透卡 - **以便** 获得实物奖励并加盖专属印章作为纪念 **故事005-002: 兑换状态跟踪** - **作为** 展会参观者 - **我希望** 能够实时查看我的兑换资格和状态 - **以便** 了解是否满足兑换条件和兑换进度 **故事005-003: 服务台兑换流程** - **作为** 展会参观者 - **我希望** 能够在服务台通过二维码快速完成兑换 - **以便** 获得实体奖励并继续参与其他活动 **故事005-004: 奖励兑换管理** - **作为** 展会管理员 - **我希望** 能够管理实体奖励的库存和兑换规则 - **以便** 确保奖励发放的公平性和可持续性 **故事005-005: 展会数据统计分析** - **作为** 展会管理员 - **我希望** 能够查看用户参与数据和徽章收集统计 - **以便** 评估展会效果和优化未来活动 **故事005-006: 内容管理系统** - **作为** 展会管理员 - **我希望** 能够方便地管理文物信息、知识题库和活动任务 - **以便** 快速配置和更新展会内容 **故事005-007: 多展会支持** - **作为** 展会管理员 - **我希望** 能够同时管理多个展会的配置和数据 - **以便** 支持不同时间和地点的展会活动 #### Epic 005 详细任务分解 **任务005-001: 奖励兑换数据模型设计** - **种类**: 后端API - **所在端**: 后端 - **描述**: 设计奖励兑换数据模型,包括兑换资格、兑换记录、实体卡库存等 **任务005-002: 兑换资格验证API开发** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现兑换资格验证接口,检查用户是否集齐所有徽章 **任务005-003: 二维码生成和验证API** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现兑换二维码生成和验证接口,支持服务台扫描验证 **任务005-004: 实体卡库存管理API** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现实体卡库存管理接口,包括库存查询、消耗记录、补货提醒等 **任务005-005: 兑换记录跟踪API** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现兑换记录跟踪接口,记录用户兑换时间、工作人员、兑换状态等 **任务005-006: 小程序兑换页面开发** - **种类**: UI开发 - **所在端**: 小程序 - **描述**: 创建奖励兑换页面,展示兑换资格、生成二维码、显示兑换状态 **任务005-007: 小程序兑换状态页面开发** - **种类**: UI开发 - **所在端**: 小程序 - **描述**: 创建兑换状态页面,显示用户兑换历史、徽章收集进度等 **任务005-008: 服务台验证工具开发** - **种类**: UI开发 - **所在端**: 管理后台/小程序 - **描述**: 开发服务台工作人员使用的验证工具,支持二维码扫描和兑换确认 **任务005-009: 奖励兑换管理后台开发** - **种类**: UI开发 - **所在端**: 管理后台 - **描述**: 开发奖励兑换管理界面,支持库存管理、兑换规则配置、兑换统计查看 **任务005-010: 数据统计分析后台开发** - **种类**: UI开发 - **所在端**: 管理后台 - **描述**: 开发数据统计分析界面,展示用户参与、徽章收集、兑换情况等数据 **任务005-011: 展会内容管理后台开发** - **种类**: UI开发 - **所在端**: 管理后台 - **描述**: 开发展会内容管理界面,支持文物、知识、活动、徽章等内容的统一管理 **任务005-012: 多展会支持功能实现** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现多展会支持功能,包括展会隔离、配置继承、数据汇总等 **任务005-013: 用户数据管理后台开发** - **种类**: UI开发 - **所在端**: 管理后台 - **描述**: 开发用户数据管理界面,支持用户信息查看、行为分析、数据导出等 **任务005-014: 系统配置管理后台开发** - **种类**: UI开发 - **所在端**: 管理后台 - **描述**: 开发系统配置管理界面,支持全局参数设置、功能开关、权限管理等 **任务005-015: 展会报告生成功能** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现展会报告自动生成功能,支持数据统计、图表生成、PDF导出 **任务005-016: 实时数据监控功能** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现实时数据监控功能,展示当前在线用户、活跃度、兑换情况等 **任务005-017: 数据备份和恢复功能** - **种类**: 后端API - **所在端**: 后端 - **描述**: 实现展会数据自动备份和手动恢复功能,确保数据安全 **任务005-018: 兑换流程单元测试编写** - **种类**: 测试 - **所在端**: 后端 - **描述**: 为奖励兑换流程编写单元测试,确保资格验证和兑换逻辑正确性 **任务005-019: 后台管理集成测试** - **种类**: 测试 - **所在端**: 后端/管理后台 - **描述**: 执行后台管理端到端集成测试,验证配置管理和数据统计功能 **任务005-020: 多展会场景测试** - **种类**: 测试 - **所在端**: 后端/小程序/管理后台 - **描述**: 测试多展会同时运行的场景,验证数据隔离和配置继承功能 **任务005-021: 性能压力测试** - **种类**: 测试 - **所在端**: 后端 - **描述**: 进行高并发兑换和数据统计压力测试,确保系统稳定性 **任务005-022: 用户体验测试执行** - **种类**: 测试 - **所在端**: 小程序/管理后台 - **描述**: 邀请真实用户测试兑换流程和后台管理功能,收集反馈并优化体验 ### 5.3 各Epic用户故事概览 **Epic 001 - 基础主数据管理**: - 用户数据模型和认证系统 - 文物信息管理和位置配置 - 展会基础配置和参数管理 - 数据备份和恢复机制 **Epic 002 - AR扫描基础**: - 文物定位地图开发和集成 - AR相机扫描功能实现 - 文物识别算法优化 - 普通徽章获取流程 **Epic 003 - 徽章收集系统**: - 特色徽章知识问答功能 - 稀有徽章共创任务系统 - 徽章展示和管理界面 - 收集进度跟踪功能 **Epic 004 - 社交互动**: - 徽章集市交换功能 - 现场对对碰技术实现(蓝牙/WiFi直连) - 社交平台分享集成 - 交换记录和统计管理 - 社交规则和奖励配置 **Epic 005 - 奖励和管理**: - 实体奖励兑换流程和二维码验证 - 服务台兑换工具开发 - 展会内容管理系统 - 数据统计分析和报告生成 - 多展会支持功能 - 用户数据管理和行为分析 - 系统配置和权限管理 ## 6. 成功指标和验收标准 ### 6.1 关键绩效指标(KPI) **Epic 001 - 基础主数据管理指标**: - ✅ 数据模型完整性 100% - ⏱️ API响应时间 < 100ms - 📊 数据管理操作效率 > 90% - 💾 数据备份恢复成功率 100% **Epic 002 - AR扫描基础指标**: - ✅ AR识别准确率 > 90% - ⏱️ 扫描响应时间 < 2秒 - 📱 主流手机型号兼容性 > 95% - 🎯 普通徽章收集成功率 > 80% **Epic 003 - 徽章收集系统指标**: - ✅ 特色徽章知识问答正确率 > 70% - ✅ 稀有徽章共创任务完成率 > 60% - 📊 徽章收集完成度 > 50% - 🎮 用户参与度 > 60% **Epic 004 - 社交互动指标**: - ✅ 徽章交换成功率 > 80% - 📱 社交分享率 > 30% - 🤝 现场互动参与率 > 40% - 👍 社交功能满意度 > 4/5 **Epic 005 - 奖励和管理指标**: - ✅ 实体奖励兑换率 > 15% - 📊 后台配置操作效率 > 90% - 📈 数据统计准确性 > 95% - 🎪 展会部署成功率 100% **总体项目指标**: - 👥 **用户参与率**: 80%以上参观者使用小程序参与互动 - 🏆 **徽章收集率**: 平均每个用户收集4个以上徽章 - ⏱️ **用户停留时间**: 平均参观时间延长30% - 📱 **技术稳定性**: 小程序可用性99.5%,AR识别准确率95%+ ### 6.2 验收标准 **项目级验收**: - 所有AR扫描、徽章收集、社交互动、奖励兑换功能完整实现 - 展会内容管理系统可用,支持文物、知识、活动配置 - 性能指标满足要求:AR识别<2秒,并发支持1000+用户 - 安全审计通过,用户数据隐私保护合规 - 展会现场测试验证通过 **阶段性验收**: - 每个Epic完成后进行功能演示和用户测试 - 每周进度评审和风险识别 - 每月进行整体质量评估和指标检查 - 展会前进行完整流程压力测试 ## 7. 附录 ### 7.1 参考资料 - 需求文档: `docs/ar-origin.md` - 项目简介: `docs/brief.md` - 微信小程序开发文档: https://developers.weixin.qq.com/miniprogram/dev/ - 微信AR SDK文档: https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/ar.html ### 7.2 相关文档 - 技术架构文档: `docs/architecture.md` - 开发指南: `docs/development.md` - 部署指南: `docs/deployment.md` - 展会操作手册: [待创建] ### 7.3 联系方式 - 产品负责人: [待指定] - 技术负责人: [待指定] - 开发团队: [待指定] --- **文档状态**: 已更新 **最后更新**: 2025-11-04 (版本1.5) **下次评审**: 2025-11-11