增加手机号短信验证查询逻辑

This commit is contained in:
2026-06-09 16:05:37 +08:00
parent ce4ed6213b
commit f1d7491288
14 changed files with 1942 additions and 136 deletions

View File

@@ -18,9 +18,9 @@
### D003 公开查询方式
- 决定:一期公开查询支持两种方式:证书编号 + 姓名 + 图形验证码,或手机号 + 姓名 + 图形验证码。
- 说明:手机号 + 姓名可能匹配多张证书,查询结果按列表展示。
- 风控:继续保留图形验证码和基础频率限制,降低批量撞库风险
- 决定:一期公开查询支持两种方式:证书编号 + 姓名 + 图形验证码,或手机号 + 短信验证码。
- 说明:短信验证码查询无需姓名验证,通过手机号匹配可能返回多张证书,查询结果按列表展示。
- 风控:短信验证码有效期5分钟同一手机号5分钟内最多发送3次同一IP每分钟最多发送5次查询接口保留基础频率限制
### D004 作废证书 PDF

View File

@@ -44,7 +44,9 @@ docker compose exec backend python -m app.cli init-db --admin-username admin --a
- 可新增证书并生成编号。
- 可上传 Excel 并确认导入。
- 可导出证书和直达链接。
- 公开查询必须输入验证码。
- 公开查询支持两种方式:
- 证书编号查询:必须输入姓名和图形验证码。
- 短信验证码查询:必须输入手机号和短信验证码。
- 作废证书不能下载正常 PDF。
- 直达链接重置后旧链接失效。
- PDF 可生成,二维码可打开核验页。

View File

@@ -9,7 +9,7 @@
5. Excel 批量导入,导入前校验,导入后生成证书编号和公开访问 token。
6. 证书编号系统自动生成,格式为 `PX{YYYY}-{项目代码}-{7位短码}-{2位校验码}`
7. 批量导出证书数据,包含证书编号和对外直达链接。
8. 公开查询:证书编号 + 姓名 + 图形验证码。
8. 公开查询:证书编号 + 姓名 + 图形验证码,或手机号 + 短信验证码
9. 证书直达页:通过不可枚举 token 查看单张证书。
10. 二维码核验页:展示真实性、状态和必要证书信息。
11. PDF 下载:服务端按需生成,占位模板,缓存 30 天。

View File

@@ -49,8 +49,10 @@ reset-local-data.bat
## 公开查询流程
1. 用户进入 `/query`
2. 输入证书编号 + 姓名 + 图形验证码,或手机号 + 姓名 + 图形验证码。
3. 查询成功后展示证书状态和证书信息;手机号查询可能返回多张证书
2. 选择查询方式:
- 证书编号查询:输入证书编号 + 姓名 + 图形验证码
- 短信验证码查询:输入手机号 + 获取并输入短信验证码。
3. 查询成功后展示证书状态和证书信息;短信验证码查询可能返回多张证书。
4. 有效证书可下载 PDF。
5. 作废证书只展示作废状态,不提供正常 PDF 下载。