prd.md 48 KB

展会AR徽章收集小程序 产品需求文档 (PRD)

版本信息

版本 日期 描述 作者
1.7 2025-11-04 补充Epic 002所有用户故事的详细任务分解 John (PM)
1.6 2025-11-04 补充Epic 001所有用户故事的详细任务分解 John (PM)
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.mddocs/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 主流程图

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-001 详细任务分解

任务001-001-001: 用户注册页面UI设计

  • 类型: UI
  • 描述: 设计用户注册页面,包含微信授权登录按钮、手机号注册表单、用户协议确认
  • 验收标准: 页面布局美观,操作流程清晰,符合微信小程序设计规范

任务001-001-002: 用户登录页面UI设计

  • 类型: UI
  • 描述: 设计用户登录页面,支持微信一键登录、手机号登录、验证码登录
  • 验收标准: 登录方式多样,界面简洁,错误提示友好

任务001-001-003: 微信登录API集成

  • 类型: API
  • 描述: 集成微信小程序登录API,实现微信授权登录功能
  • 验收标准: 能够获取用户微信信息,生成用户唯一标识

任务001-001-004: 用户数据模型设计

  • 类型: 数据库
  • 描述: 设计用户数据表结构,包含用户ID、微信信息、注册时间、最后登录时间等字段
  • 验收标准: 数据模型完整,支持用户信息存储和查询

任务001-001-005: 用户注册API开发

  • 类型: API
  • 描述: 开发用户注册接口,支持微信授权注册和手机号注册
  • 验收标准: 注册流程完整,数据验证严格,错误处理完善

任务001-001-006: 用户登录API开发

  • 类型: API
  • 描述: 开发用户登录接口,支持多种登录方式,生成登录令牌
  • 验收标准: 登录验证准确,令牌生成安全,会话管理可靠

任务001-001-007: 用户会话管理

  • 类型: 后端
  • 描述: 实现用户会话管理,包括登录状态维护、令牌刷新、自动登录
  • 验收标准: 会话状态稳定,安全机制完善,支持跨页面状态保持

任务001-001-008: 用户信息获取API

  • 类型: API
  • 描述: 开发获取用户基本信息接口,用于页面展示和状态管理
  • 验收标准: 接口响应快速,数据格式规范,权限控制严格

任务001-001-009: 注册登录单元测试

  • 类型: 测试
  • 描述: 编写用户注册和登录功能的单元测试,覆盖各种场景
  • 验收标准: 测试覆盖率>90%,边界情况测试完整

任务001-001-010: 注册登录集成测试

  • 类型: 测试
  • 描述: 进行注册登录流程的端到端测试,验证整体功能
  • 验收标准: 流程测试通过,性能满足要求,错误处理正确

任务001-001-011: 用户协议和隐私政策

  • 类型: 文档
  • 描述: 编写用户协议和隐私政策文档,确保合规性
  • 验收标准: 内容完整,法律合规,用户确认机制完善

故事001-002: 展会选择和配置

  • 作为 展会参观者
  • 我希望 能够选择当前参加的展会
  • 以便 获取正确的文物地图和徽章配置

故事001-002 详细任务分解

任务001-002-001: 展会选择页面UI设计

  • 类型: UI
  • 描述: 设计展会选择页面,展示当前可参加的展会列表,包括展会名称、时间、地点等信息
  • 验收标准: 页面布局清晰,展会信息展示完整,选择操作简便

任务001-002-002: 展会数据模型设计

  • 类型: 数据库
  • 描述: 设计展会数据表结构,包含展会ID、名称、时间、地点、状态、配置参数等字段
  • 验收标准: 数据模型完整,支持多展会配置和管理

任务001-002-003: 展会列表API开发

  • 类型: API
  • 描述: 开发获取当前可用展会列表的接口,支持按时间、地点等条件筛选
  • 验收标准: 接口响应快速,数据格式规范,筛选条件支持完善

任务001-002-004: 展会选择API开发

  • 类型: API
  • 描述: 开发用户选择展会的接口,记录用户当前参与的展会信息
  • 验收标准: 选择逻辑正确,用户状态更新及时,错误处理完善

任务001-002-005: 展会配置管理页面UI设计

  • 类型: UI
  • 描述: 设计展会配置管理页面,支持管理员添加、编辑、删除展会配置
  • 验收标准: 管理界面直观,操作流程清晰,权限控制严格

任务001-002-006: 展会配置API开发

  • 类型: API
  • 描述: 开发展会配置管理接口,支持展会信息的增删改查操作
  • 验收标准: 配置管理功能完整,数据验证严格,权限控制完善

任务001-002-007: 展会状态管理

  • 类型: 后端
  • 描述: 实现展会状态管理,包括展会启用、禁用、过期等状态处理
  • 验收标准: 状态管理逻辑正确,状态转换流程清晰,异常处理完善

任务001-002-008: 展会配置单元测试

  • 类型: 测试
  • 描述: 编写展会选择和配置功能的单元测试,覆盖各种场景
  • 验收标准: 测试覆盖率>90%,边界情况测试完整

任务001-002-009: 展会配置集成测试

  • 类型: 测试
  • 描述: 进行展会选择和配置流程的端到端测试,验证整体功能
  • 验收标准: 流程测试通过,性能满足要求,多展会场景测试完整

故事001-003: 文物数据管理

  • 作为 展会管理员
  • 我希望 能够管理文物信息、位置和图片
  • 以便 配置AR扫描的目标对象

故事001-003 详细任务分解

任务001-003-001: 文物数据模型设计

  • 类型: 数据库
  • 描述: 设计文物数据表结构,包含文物ID、名称、描述、位置坐标、图片URL、AR特征数据等字段
  • 验收标准: 数据模型完整,支持文物信息的完整存储和查询

任务001-003-002: 文物管理页面UI设计

  • 类型: UI
  • 描述: 设计文物管理页面,支持管理员添加、编辑、删除文物信息,上传文物图片
  • 验收标准: 管理界面直观,图片上传功能完善,位置配置便捷

任务001-003-003: 文物图片上传API开发

  • 类型: API
  • 描述: 开发文物图片上传接口,支持图片格式验证、大小限制、存储到MinIO
  • 验收标准: 上传功能稳定,图片处理正确,存储路径管理规范

任务001-003-004: 文物信息管理API开发

  • 类型: API
  • 描述: 开发文物信息管理接口,支持文物信息的增删改查操作
  • 验收标准: 管理功能完整,数据验证严格,关联展会信息正确

任务001-003-005: 文物位置配置功能

  • 类型: UI
  • 描述: 实现文物位置配置功能,支持在地图上拖拽设置文物位置坐标
  • 验收标准: 位置配置直观准确,坐标数据存储正确,地图交互流畅

任务001-003-006: AR特征数据管理

  • 类型: 后端
  • 描述: 实现AR特征数据管理,支持上传和管理文物AR识别特征数据
  • 验收标准: 特征数据存储安全,识别数据格式规范,特征提取准确

任务001-003-007: 文物数据导出功能

  • 类型: API
  • 描述: 开发文物数据导出接口,支持导出文物列表用于展会地图生成
  • 验收标准: 导出数据格式规范,包含完整文物信息,导出效率满足要求

任务001-003-008: 文物管理单元测试

  • 类型: 测试
  • 描述: 编写文物管理功能的单元测试,覆盖各种操作场景
  • 验收标准: 测试覆盖率>90%,图片上传和位置配置测试完整

任务001-003-009: 文物管理集成测试

  • 类型: 测试
  • 描述: 进行文物管理流程的端到端测试,验证数据完整性和功能正确性
  • 验收标准: 管理流程测试通过,数据一致性验证正确,性能满足要求

故事001-004: 知识题库管理

  • 作为 展会管理员
  • 我希望 能够管理漆艺知识题库
  • 以便 配置特色徽章的问答内容

故事001-004 详细任务分解

任务001-004-001: 知识题库数据模型设计

  • 类型: 数据库
  • 描述: 设计知识题库数据表结构,包含题目ID、问题内容、选项、正确答案、关联文物、难度等级等字段
  • 验收标准: 数据模型完整,支持题目管理和随机抽取

任务001-004-002: 题库管理页面UI设计

  • 类型: UI
  • 描述: 设计题库管理页面,支持管理员添加、编辑、删除题目,设置题目难度和关联文物
  • 验收标准: 管理界面直观,题目编辑功能完善,关联设置便捷

任务001-004-003: 题目管理API开发

  • 类型: API
  • 描述: 开发题目管理接口,支持题目的增删改查操作,题目内容验证
  • 验收标准: 管理功能完整,内容验证严格,关联文物信息正确

任务001-004-004: 题目随机抽取API开发

  • 类型: API
  • 描述: 开发题目随机抽取接口,支持按文物关联和难度等级随机抽取题目
  • 验收标准: 随机算法公平,抽取逻辑正确,性能满足要求

任务001-004-005: 题目导入导出功能

  • 类型: API
  • 描述: 开发题目导入导出接口,支持批量导入题目和导出题库数据
  • 验收标准: 导入导出功能稳定,数据格式规范,批量操作效率高

任务001-004-006: 题目难度配置

  • 类型: 后端
  • 描述: 实现题目难度配置功能,支持设置不同难度等级的题目
  • 验收标准: 难度配置灵活,难度等级定义清晰,题目分配合理

任务001-004-007: 题库统计功能

  • 类型: API
  • 描述: 开发题库统计接口,提供题目数量、难度分布、使用频率等统计信息
  • 验收标准: 统计信息准确,数据展示清晰,统计维度完整

任务001-004-008: 题库管理单元测试

  • 类型: 测试
  • 描述: 编写题库管理功能的单元测试,覆盖题目管理和随机抽取场景
  • 验收标准: 测试覆盖率>90%,随机算法测试完整

任务001-004-009: 题库管理集成测试

  • 类型: 测试
  • 描述: 进行题库管理流程的端到端测试,验证题目管理和抽取功能
  • 验收标准: 管理流程测试通过,随机抽取功能验证正确,性能满足要求

故事001-005: 活动任务配置

  • 作为 展会管理员
  • 我希望 能够配置共创活动任务
  • 以便 设置稀有徽章的获取条件

故事001-005 详细任务分解

任务001-005-001: 活动任务数据模型设计

  • 类型: 数据库
  • 描述: 设计活动任务数据表结构,包含任务ID、任务名称、描述、任务类型、完成条件、关联徽章、活动区域等字段
  • 验收标准: 数据模型完整,支持多种任务类型和完成条件

任务001-005-002: 活动任务管理页面UI设计

  • 类型: UI
  • 描述: 设计活动任务管理页面,支持管理员配置共创活动任务,设置任务条件和奖励
  • 验收标准: 管理界面直观,任务配置功能完善,条件设置灵活

任务001-005-003: 活动任务管理API开发

  • 类型: API
  • 描述: 开发活动任务管理接口,支持任务的增删改查操作,任务条件验证
  • 验收标准: 管理功能完整,条件验证严格,关联信息正确

任务001-005-004: 任务完成条件配置

  • 类型: 后端
  • 描述: 实现任务完成条件配置功能,支持设置不同类型的完成条件(扫码、答题、互动等)
  • 验收标准: 条件配置灵活,条件类型支持完整,条件验证准确

任务001-005-005: 活动区域管理

  • 类型: API
  • 描述: 开发活动区域管理接口,支持配置共创互动体验区的位置和入口码
  • 验收标准: 区域管理功能完整,位置信息准确,入口码生成安全

任务001-005-006: 任务进度跟踪API开发

  • 类型: API
  • 描述: 开发任务进度跟踪接口,支持记录用户任务完成状态和进度
  • 验收标准: 进度跟踪准确,状态更新及时,数据一致性保证

任务001-005-007: 任务奖励配置

  • 类型: 后端
  • 描述: 实现任务奖励配置功能,支持设置任务完成后的徽章奖励
  • 验收标准: 奖励配置灵活,奖励发放准确,关联关系正确

任务001-005-008: 活动任务单元测试

  • 类型: 测试
  • 描述: 编写活动任务管理功能的单元测试,覆盖任务配置和完成条件场景
  • 验收标准: 测试覆盖率>90%,条件验证测试完整

任务001-005-009: 活动任务集成测试

  • 类型: 测试
  • 描述: 进行活动任务管理流程的端到端测试,验证任务配置和完成流程
  • 验收标准: 管理流程测试通过,任务完成验证正确,性能满足要求

Epic 002: AR扫描基础功能开发 Epic目标: 实现核心AR扫描功能,包括文物定位地图、相机扫描、精准识别和徽章获取 成功标准: AR识别准确率>90%,扫描响应时间<2秒,用户能够顺利完成普通徽章收集

Epic 002 主流程图

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-001 详细任务分解

任务002-001-001: 文物定位地图UI设计

  • 类型: UI
  • 描述: 设计文物定位地图页面,展示展会平面图、文物位置标记、用户当前位置
  • 验收标准: 地图布局清晰,文物标记醒目,位置信息准确,交互流畅

任务002-001-002: 展会地图数据模型设计

  • 类型: 数据库
  • 描述: 设计展会地图数据表结构,包含展会平面图、文物位置坐标、展区划分等字段
  • 验收标准: 数据模型完整,支持多展会地图配置,位置坐标存储准确

任务002-001-003: 地图数据加载API开发

  • 类型: API
  • 描述: 开发地图数据加载接口,根据用户选择的展会返回对应的地图配置和文物位置
  • 验收标准: 接口响应快速,数据格式规范,地图配置准确

任务002-001-004: 用户位置定位功能

  • 类型: 前端
  • 描述: 实现用户位置定位功能,使用小程序定位API获取用户当前位置并在地图上显示
  • 验收标准: 定位准确,位置更新及时,权限处理完善

任务002-001-005: 文物位置标记交互

  • 类型: UI
  • 描述: 实现文物位置标记的点击交互,点击标记显示文物信息和AR扫描入口
  • 验收标准: 交互流畅,信息展示完整,跳转逻辑正确

任务002-001-006: 地图缩放和拖拽功能

  • 类型: 前端
  • 描述: 实现地图的缩放和拖拽功能,支持用户查看不同区域的地图细节
  • 验收标准: 缩放流畅,拖拽自然,性能优化良好

任务002-001-007: 地图导航路径规划

  • 类型: 算法
  • 描述: 实现从用户当前位置到目标文物的路径规划算法,显示最短路径
  • 验收标准: 路径规划准确,算法效率高,路径显示清晰

任务002-001-008: 地图样式和主题配置

  • 类型: UI
  • 描述: 设计地图样式和主题,支持不同展会的定制化地图外观
  • 验收标准: 样式美观,主题统一,定制化配置灵活

任务002-001-009: 地图功能单元测试

  • 类型: 测试
  • 描述: 编写地图功能的单元测试,覆盖地图加载、位置定位、路径规划等场景
  • 验收标准: 测试覆盖率>90%,边界情况测试完整

任务002-001-010: 地图功能集成测试

  • 类型: 测试
  • 描述: 进行地图功能的端到端测试,验证地图显示、定位、导航等整体功能
  • 验收标准: 功能测试通过,性能满足要求,用户体验良好

故事002-002: AR相机扫描功能

  • 作为 展会参观者
  • 我希望 能够使用手机相机扫描文物
  • 以便 通过AR技术识别文物并获取徽章

故事002-002 详细任务分解

任务002-002-001: AR相机页面UI设计

  • 类型: UI
  • 描述: 设计AR相机扫描页面,包含相机预览、扫描框、操作按钮、提示信息
  • 验收标准: 界面简洁,操作直观,符合AR扫描使用场景

任务002-002-002: 微信AR SDK集成

  • 类型: 前端
  • 描述: 集成微信小程序AR SDK,配置文物识别模型和特征数据
  • 验收标准: SDK集成成功,AR功能可用,识别配置正确

任务002-002-003: 相机启动和权限处理

  • 类型: 前端
  • 描述: 实现相机启动逻辑,处理相机权限申请和授权状态管理
  • 验收标准: 权限处理完善,相机启动稳定,错误提示友好

任务002-002-004: 实时图像分析和识别

  • 类型: 算法
  • 描述: 实现实时图像分析功能,调用AR SDK进行文物识别和特征匹配
  • 验收标准: 识别准确率高,响应时间快,资源占用合理

任务002-002-005: 扫描框和引导设计

  • 类型: UI
  • 描述: 设计扫描框和用户引导,帮助用户正确对准文物进行扫描
  • 验收标准: 引导清晰,扫描框设计合理,用户体验良好

任务002-002-006: 扫描状态管理

  • 类型: 前端
  • 描述: 实现扫描状态管理,包括扫描中、识别成功、识别失败等状态处理
  • 验收标准: 状态管理准确,状态转换流畅,用户反馈及时

任务002-002-007: 扫描历史记录

  • 类型: 数据库
  • 描述: 设计扫描历史记录数据表,记录用户扫描时间、目标文物、识别结果
  • 验收标准: 数据记录完整,查询效率高,历史数据管理规范

任务002-002-008: AR扫描性能优化

  • 类型: 性能
  • 描述: 优化AR扫描性能,包括图像处理优化、内存管理、电池消耗控制
  • 验收标准: 性能指标达标,资源消耗合理,用户体验流畅

任务002-002-009: AR扫描单元测试

  • 类型: 测试
  • 描述: 编写AR扫描功能的单元测试,覆盖相机操作、图像识别、状态管理等场景
  • 验收标准: 测试覆盖率>90%,边界情况测试完整

任务002-002-010: AR扫描集成测试

  • 类型: 测试
  • 描述: 进行AR扫描功能的端到端测试,验证相机启动、文物识别、结果反馈等整体流程
  • 验收标准: 流程测试通过,性能满足要求,识别准确率达标

故事002-003: 相机权限管理

  • 作为 展会参观者
  • 我希望 小程序能够请求相机使用权限
  • 以便 顺利进行AR扫描操作

故事002-003 详细任务分解

任务002-003-001: 权限申请页面UI设计

  • 类型: UI
  • 描述: 设计相机权限申请页面,说明权限用途、引导用户授权、提供拒绝后的处理方案
  • 验收标准: 页面设计友好,权限说明清晰,引导操作明确

任务002-003-002: 权限状态检测功能

  • 类型: 前端
  • 描述: 实现相机权限状态检测功能,检查用户是否已授权相机权限
  • 验收标准: 状态检测准确,权限查询可靠,错误处理完善

任务002-003-003: 权限申请流程实现

  • 类型: 前端
  • 描述: 实现相机权限申请流程,包括权限请求、用户授权、授权结果处理
  • 验收标准: 申请流程完整,用户交互友好,授权结果处理正确

任务002-003-004: 权限拒绝处理机制

  • 类型: 前端
  • 描述: 实现权限拒绝后的处理机制,包括重新申请引导、功能受限提示、设置页面跳转
  • 验收标准: 拒绝处理友好,重新申请流程清晰,功能受限提示明确

任务002-003-005: 权限状态持久化

  • 类型: 存储
  • 描述: 实现权限状态的持久化存储,避免重复申请相同权限
  • 验收标准: 状态存储可靠,持久化机制完善,状态同步准确

任务002-003-006: 权限管理单元测试

  • 类型: 测试
  • 描述: 编写权限管理功能的单元测试,覆盖权限申请、状态检测、拒绝处理等场景
  • 验收标准: 测试覆盖率>90%,权限相关场景测试完整

故事002-004: 文物识别反馈

  • 作为 展会参观者
  • 我希望 能够看到清晰的识别成功或失败反馈
  • 以便 了解扫描结果和下一步操作

故事002-004 详细任务分解

任务002-004-001: 识别成功反馈UI设计

  • 类型: UI
  • 描述: 设计识别成功反馈页面,包含成功动画、文物信息展示、徽章获取提示
  • 验收标准: 反馈效果生动,信息展示完整,用户成就感强

任务002-004-002: 识别失败反馈UI设计

  • 类型: UI
  • 描述: 设计识别失败反馈页面,包含失败提示、重试建议、操作引导
  • 验收标准: 失败提示友好,重试引导清晰,用户不气馁

任务002-004-003: 识别结果数据模型设计

  • 类型: 数据库
  • 描述: 设计识别结果数据表结构,包含识别时间、目标文物、识别状态、用户反馈等字段
  • 验收标准: 数据模型完整,识别结果记录准确,查询效率高

任务002-004-004: 识别反馈API开发

  • 类型: API
  • 描述: 开发识别反馈接口,处理识别结果并返回相应的反馈信息
  • 验收标准: 接口响应快速,反馈信息准确,错误处理完善

任务002-004-005: 动画效果实现

  • 类型: 前端
  • 描述: 实现识别成功和失败的动画效果,增强用户交互体验
  • 验收标准: 动画流畅,效果生动,性能优化良好

任务002-004-006: 反馈声音设计

  • 类型: 音频
  • 描述: 设计识别成功和失败的声音反馈,增强用户感知
  • 验收标准: 声音设计合适,音量控制合理,用户体验良好

任务002-004-007: 反馈单元测试

  • 类型: 测试
  • 描述: 编写识别反馈功能的单元测试,覆盖成功、失败、异常等场景
  • 验收标准: 测试覆盖率>90%,反馈场景测试完整

故事002-005: 普通徽章获取

  • 作为 展会参观者
  • 我希望 扫描文物成功后自动获得普通徽章
  • 以便 开始我的徽章收集之旅

故事002-005 详细任务分解

任务002-005-001: 徽章数据模型设计

  • 类型: 数据库
  • 描述: 设计徽章数据表结构,包含徽章ID、名称、类型、图标、获取条件、关联文物等字段
  • 验收标准: 数据模型完整,支持徽章类型和获取条件管理

任务002-005-002: 用户徽章关系模型设计

  • 类型: 数据库
  • 描述: 设计用户徽章关系数据表,记录用户获得的徽章、获取时间、获取方式
  • 验收标准: 关系模型设计合理,数据一致性保证,查询效率高

任务002-005-003: 徽章获取API开发

  • 类型: API
  • 描述: 开发徽章获取接口,在文物识别成功后自动为用户添加对应普通徽章
  • 验收标准: 获取逻辑正确,数据更新及时,并发处理安全

任务002-005-004: 徽章获取动画设计

  • 类型: UI
  • 描述: 设计徽章获取动画效果,增强用户获得徽章的成就感和愉悦感
  • 验收标准: 动画效果生动,用户体验良好,性能优化到位

任务002-005-005: 徽章重复获取防护

  • 类型: 后端
  • 描述: 实现徽章重复获取防护机制,确保同一文物不会重复获得普通徽章
  • 验收标准: 防护机制完善,重复获取检测准确,用户体验友好

任务002-005-006: 徽章获取记录管理

  • 类型: 数据库
  • 描述: 实现徽章获取记录管理,记录每次徽章获取的详细信息和上下文
  • 验收标准: 记录管理完整,查询功能完善,数据追溯可靠

任务002-005-007: 徽章获取单元测试

  • 类型: 测试
  • 描述: 编写徽章获取功能的单元测试,覆盖正常获取、重复获取、异常情况等场景
  • 验收标准: 测试覆盖率>90%,获取逻辑测试完整

故事002-006: 文物AR特征配置

  • 作为 展会管理员
  • 我希望 能够配置文物的AR识别特征
  • 以便 提高AR扫描的准确性和成功率

故事002-006 详细任务分解

任务002-006-001: AR特征配置页面UI设计

  • 类型: UI
  • 描述: 设计AR特征配置页面,支持管理员上传文物图片、配置识别特征、设置识别参数
  • 验收标准: 配置界面直观,操作流程清晰,特征管理方便

任务002-006-002: AR特征数据模型设计

  • 类型: 数据库
  • 描述: 设计AR特征数据表结构,包含特征ID、关联文物、特征数据、识别参数、配置时间等字段
  • 验收标准: 数据模型完整,特征数据存储安全,关联关系正确

任务002-006-003: 特征上传和处理API开发

  • 类型: API
  • 描述: 开发特征上传和处理接口,支持文物图片上传、特征提取、特征数据存储
  • 验收标准: 上传功能稳定,特征提取准确,数据处理安全

任务002-006-004: 特征配置管理API开发

  • 类型: API
  • 描述: 开发特征配置管理接口,支持特征的增删改查操作,配置参数验证
  • 验收标准: 管理功能完整,参数验证严格,配置更新及时

任务002-006-005: 特征同步机制实现

  • 类型: 后端
  • 描述: 实现特征数据同步机制,将配置的特征数据同步到小程序端供AR识别使用
  • 验收标准: 同步机制可靠,数据一致性保证,同步效率高

任务002-006-006: 特征配置单元测试

  • 类型: 测试
  • 描述: 编写特征配置功能的单元测试,覆盖特征上传、配置管理、数据同步等场景
  • 验收标准: 测试覆盖率>90%,配置流程测试完整

故事002-007: 文物地图管理

  • 作为 展会管理员
  • 我希望 能够管理文物在展会中的位置信息
  • 以便 生成准确的定位地图供用户使用

故事002-007 详细任务分解

任务002-007-001: 文物位置管理页面UI设计

  • 类型: UI
  • 描述: 设计文物位置管理页面,支持在地图上拖拽设置文物位置、配置位置坐标、管理展区划分
  • 验收标准: 管理界面直观,位置设置准确,地图交互流畅

任务002-007-002: 位置数据模型设计

  • 类型: 数据库
  • 描述: 设计位置数据表结构,包含位置ID、关联文物、坐标信息、展区信息、配置时间等字段
  • 验收标准: 数据模型完整,坐标数据存储准确,关联关系正确

任务002-007-003: 位置配置API开发

  • 类型: API
  • 描述: 开发位置配置接口,支持文物位置的增删改查操作,坐标数据验证
  • 验收标准: 配置功能完整,数据验证严格,位置更新及时

任务002-007-004: 地图配置生成功能

  • 类型: 后端
  • 描述: 实现地图配置生成功能,根据文物位置数据生成小程序使用的地图配置文件
  • 验收标准: 配置生成准确,文件格式规范,生成效率高

任务002-007-005: 地图预览功能实现

  • 类型: UI
  • 描述: 实现地图预览功能,管理员可以实时查看配置后的地图效果
  • 验收标准: 预览效果真实,地图显示准确,预览交互流畅

任务002-007-006: 位置管理单元测试

  • 类型: 测试
  • 描述: 编写位置管理功能的单元测试,覆盖位置配置、地图生成、预览功能等场景
  • 验收标准: 测试覆盖率>90%,管理流程测试完整

Epic 003: 徽章收集系统实现 Epic目标: 构建完整的徽章收集系统,包括普通徽章、特色徽章、稀有徽章三级收集机制 成功标准: 三级徽章收集流程顺畅,知识问答正确率>70%,共创任务完成率>60%

Epic 003 主流程图

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 004: 社交互动功能开发 Epic目标: 实现徽章集市、现场对对碰、社交分享等社交互动功能 成功标准: 徽章交换成功率>80%,社交分享率>30%,用户互动满意度>4/5

Epic 004 主流程图

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 005: 奖励兑换和后台管理 Epic目标: 构建奖励兑换系统和展会内容管理后台 成功标准: 实体奖励兑换流程顺畅,后台配置操作简便,数据统计准确

Epic 005 主流程图

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: 多展会支持

  • 作为 展会管理员
  • 我希望 能够同时管理多个展会的配置和数据
  • 以便 支持不同时间和地点的展会活动

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 参考资料

7.2 相关文档

  • 技术架构文档: docs/architecture.md
  • 开发指南: docs/development.md
  • 部署指南: docs/deployment.md
  • 展会操作手册: [待创建]

7.3 联系方式

  • 产品负责人: [待指定]
  • 技术负责人: [待指定]
  • 开发团队: [待指定]

文档状态: 已更新 最后更新: 2025-11-04 (版本1.7) 下次评审: 2025-11-11