本项目是一款面向户外运动爱好者的微信小程序,核心功能围绕户外活动发布、在线报名、活动管理展开。用户可通过小程序浏览户外活动,查看活动详情并完成报名;活动组织方可在后台发布活动、管理报名名单;用户还可在个人中心查看已报名活动,分享活动等。
- **G1 小程序端交付**:使用微信原生开发(WXML/WXSS/纯 JS)交付 **8 个核心页面 + 2 个合规页 + 1 个报名成功页**(活动中心首页、活动列表、活动详情、确认报名、报名成功、分享海报、我的活动、个人中心、用户协议、隐私政策、关于我们)。覆盖 PRD P0 全量功能与 P1 分享功能;引入 @vant/weapp 1.11.x 组件库与 wx.request Promise 化封装、towxml 富文本解析。
- **G2 服务端模块化扩展**:在 client 后端(端口 36662)新增 7 个业务子包:module/home、module/activity、module/enrollment、module/pay、module/share、module/my、module/user;并在 module/login 下扩展微信登录能力;在 **admin 后端(端口 36661)新增 6 个 CRUD 模块**:活动管理、报名管理、领队管理、首页Banner管理、支付订单(含退款记录)、小程序用户。
- **G3 数据模型落地**:设计并落地 **8 张新建业务表**(小程序用户 t_wx_user、活动 t_activity、首页轮播 t_home_banner、领队 t_activity_leader、报名记录 t_enrollment、支付订单 t_payment_order、退款记录 t_payment_refund、活动-领队中间表 t_activity_leader_rel),活动类型走系统字典 ACTIVITY_TYPE(复用 t_dict_key/t_dict_value,不新建分类表)。所有新表**采用物理删除、不引入 deleted_flag 等软删除字段**;保留审计字段(create_time/update_time)。
- **G4 安全与合规**:复用 outdoor-client 现有 Sa-Token 全局拦截 + `@SaIgnore` 精确白名单模式;报名/支付/退款接口依赖登录鉴权、本人数据校验、唯一索引、状态机条件 UPDATE 与微信回调/退款验签保障安全;微信支付回调走 WxJava SDK 验签 + 业务幂等(条件 UPDATE 影响行数=0 跳过)。
- **G5 性能与用户体验**:小程序冷启动首屏可交互 TTI ≤ 1.5 秒(分包加载 + 首屏接口并行 + 图片懒加载);活动列表分页 p95 ≤ 300ms;详情接口 p95 ≤ 200ms。