Replace phone last-4 verification with customer signature

Customer now signs on the confirm page instead of inputting the last
4 digits of their phone. Signature is stored as a base64 PNG dataURL
on the work order and shown back to the customer plus archived for
admin review. Reject still bypasses signature but now requires a
reason.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Frudrax Cheng
2026-05-26 18:02:04 +08:00
parent 128bb7cda6
commit 6a48b0624f
4 changed files with 146 additions and 20 deletions
+3 -1
View File
@@ -317,7 +317,9 @@ swag init -g main.go
**售后工单特点**:
- 工单号格式: `zjbf-sh-YYMMNN`(年份后 2 位 + 月份 2 位 + 当月序号至少 2 位,例:`zjbf-sh-260501`
- 序号按月重置,软删除工单不释放编号(避免回收造成混淆)
- 二维码扫码后客户输入手机号后 4 位进行身份校验
- 二维码扫码后客户在网页签名(canvas)后点「已授权」确认;选择「未授权」需填写退回原因
- 签名以 PNG dataURL 形式持久化到工单(`signature` 字段),管理员详情页可查看留底
- 签名校验:必须为 `data:image/png;base64,``data:image/jpeg;base64,` 前缀,解码后 200B500KB
- 客户确认接口每分钟同一工单最多 5 次请求
- 工单状态机: `created``pending_confirmation``closed` / `rejected`,被退回后可重新提交
- 公开查询不返回手机号(脱敏)