跳到主要内容

收货地址模块

一、模块定位

收货地址模块负责收集实物奖品中奖用户的配送信息。用户在中奖后可立即填写地址,也可稍后通过"我的奖品"补填或修改。

关于活动整体背景和全局规则,请见 足球季活动全局


二、功能需求清单

2.1 中奖弹窗入口

  • 抽奖结果为实物奖品(公仔挂件、叫叫金片)时,展示统一样式的中奖弹窗
  • 弹窗内展示奖品信息,底部提供"立即领取"按钮
  • 点击"立即领取"后跳转至地址填写页
  • 若用户关闭弹窗未填写,不影响中奖记录,可后续从"我的奖品"补填

2.2 地址填写页

  • 页面顶部展示中奖奖品名称,提示用户填写收货信息
  • 表单字段如下:
字段类型校验规则
收件人姓名文本输入框必填,2-20 个字符
收件人电话文本输入框必填,11 位中国大陆手机号
级联选择器必选
级联选择器(联动)必选
级联选择器(联动)必选
详细地址多行文本框必填,5-100 个字符
  • 省市区使用三级联动选择器,数据来源为静态 JSON 文件
  • 详细地址为纯文本输入
  • 底部"提交地址"按钮,提交前执行全部字段校验
  • 校验失败时,在对应字段下方展示红色错误提示,不提交

2.3 "我的奖品"入口

  • "我的奖品"列表中,实物奖品展示地址填写状态:
    • 未填写:显示"填写地址"按钮
    • 已填写:显示已填地址摘要,提供"修改地址"按钮
  • 点击"填写地址"或"修改地址"进入同一地址填写页
  • 修改场景下,表单回填已有数据,底部按钮文案变为"更新地址"

2.4 地址修改策略

  • 用户在活动结束前可随时修改已提交的地址
  • 活动正式结束后,地址表单变为只读展示,不再提供编辑入口
  • 每次修改会覆盖上一次提交的地址数据

2.5 提交反馈

  • 提交成功后展示 toast 提示"地址保存成功"
  • 提示 1.5 秒后自动返回上一页

三、业务规则与约束

3.1 地址填写前置条件

条件说明
中奖实物奖品仅公仔挂件、叫叫金片等实物奖品需要填写地址
虚拟权益奖品体验课、叫叫口算VIP月卡、冠军皮肤不需要填写地址
活动未结束活动结束(7 月 20 日后)地址表单只读,不可编辑

3.2 数据导出字段

  • 实物奖品导出数据(供运营发货使用):
字段说明
用户ID用户唯一标识
实物奖品名称公仔挂件 / 叫叫金片
收件人姓名用户填写
收件人电话用户填写
省名称用户选择
市名称用户选择
区名称用户选择
详细地址用户填写

3.3 前置条件

  • 用户必须已中奖(实物奖品),才有地址填写入口
  • 后端需提供保存/更新地址的接口(待设计)

3.4 边界场景

场景处理方式
用户中奖后直接关闭弹窗,未填地址中奖记录保留,用户可从"我的奖品"补填
用户提交地址时网络异常提示"提交失败,请重试",保留已填数据不清空
活动已结束,用户尝试修改地址表单只读展示,不提供编辑入口
同一用户中多个实物奖每个实物奖品对应一份独立地址记录
用户填写地址后反复修改活动结束前均允许修改,以最后一次提交为准
用户填写非法手机号前端校验拦截,提示"请输入正确的 11 位手机号"

3.5 预留 API 接口(待后端设计)

POST /api/prize/address
Body: { prizeId, name, phone, province, city, district, detail }

GET /api/prize/address?prizeId=xxx