{
  "descriptionFormat": "MARKDOWN",
  "formatType": "MARKDOWN",
  "assignedTo": "635755195dc8531eeb2e33d9",
  "participant": [
    "635755195dc8531eeb2e33d9"
  ],
  "status": "100005",
  "space": "dd2f708d1702891ff45b6f5d99",
  "spaceIdentifier": "dd2f708d1702891ff45b6f5d99",
  "spaceType": "Project",
  "category": "Req",
  "workitemType": "9uy29901re573f561d69jn40",
  "viewSpaceId": "dd2f708d1702891ff45b6f5d99",
  "spaceId": "dd2f708d1702891ff45b6f5d99",
  "workitemTypeId": "9uy29901re573f561d69jn40",
  "workItemTypeId": "9uy29901re573f561d69jn40",
  "workitemTypeIdentifier": "9uy29901re573f561d69jn40",
  "fieldValueList": [
    {
      "fieldIdentifier": "priority",
      "value": "04f8224daf4e1e1050bca2cd4c"
    }
  ],
  "subject": "小程序我的页面扫一扫餐盘码支持绑盘",
  "description": "## 需求背景\n\n当前小程序“我的”页面已有“扫一扫”入口，但扫码结果主要进入扫码支付流程。业务希望用户可以在“我的”页面主动扫描餐盘上的二维码，完成当前登录用户与餐盘的绑定。\n\n## 餐盘码规则\n\n餐盘上二维码内容格式为：\n\n`https://域名/binzhou/?type=100&equipment_code=餐盘条形码编号`\n\n其中：\n\n- `type=100`：表示餐盘绑盘业务。\n- URL 参数 `equipment_code`：实际含义为餐盘条形码编号。\n- 后端绑盘接口中应将该值映射为 `plate_code`，不要误作为绑盘机设备编号使用。\n\n## 需求目标\n\n- 用户在小程序“我的”页面点击“扫一扫”，扫描餐盘二维码后完成绑盘。\n- 扫到 `type=100` 的二维码时进入绑盘流程，不进入扫码支付页。\n- 使用当前登录用户身份绑定二维码中的餐盘编号。\n\n## 需求内容\n\n### 1. 扫码结果识别\n\n- “我的”页面扫一扫解析 URL query。\n- 当 `type=100` 且存在 `equipment_code` 时，识别为餐盘绑盘。\n- 其他扫码结果保持现有扫码支付或原有逻辑。\n\n### 2. 餐盘码绑定\n\n- 取 URL 参数 `equipment_code` 作为餐盘编号。\n- 调用绑盘接口时映射为后端 `plate_code`。\n- 当前登录用户作为绑盘人员来源。\n- 若需要传后端 `equipment_code` 字段，可传空或约定来源值，例如 `miniapp_scan`，不得覆盖餐盘编号。\n\n### 3. 异常处理\n\n- 未登录时提示先登录。\n- 二维码缺少 `equipment_code` 时提示餐盘码无效。\n- 非 `type=100` 的二维码不进入绑盘流程。\n- 餐盘已绑定、余额不足、人员不存在等错误展示后端返回原因。\n\n## 验收要点\n\n- 扫描 `https://域名/binzhou/?type=100&equipment_code=P001` 后，不跳转扫码支付页。\n- 后端收到的餐盘字段为 `plate_code=P001`。\n- 当前登录用户与餐盘 P001 产生当天有效绑定记录。\n- 再次扫描同一餐盘时提示“此餐盘已绑定”。\n- 未登录、缺少 equipment_code、餐盘已绑定、余额不足等场景均有明确提示。\n- 原有扫码支付功能不受影响。\n\n## 需求拆分说明\n\n本需求只覆盖“用户扫餐盘码绑盘”。“设备扫描我的页面支付码绑盘”另建需求跟进。\n\n## 负责人\n\n兰海军"
}