更新
This commit is contained in:
@@ -60,6 +60,15 @@
|
||||
|
||||
## 5. Android 权限与系统能力
|
||||
|
||||
### 5.3 默认短信应用角色(ROLE_SMS)
|
||||
部分 Android 系统/ROM 在后台/静默发送短信时,会要求应用先成为“默认短信应用”(`ROLE_SMS`)。
|
||||
如果你发现需要手动确认发送(或发送会被系统拦截),请按以下方式处理:
|
||||
|
||||
1. 首次启动 App,点击保存配置后等待系统弹出“默认短信应用”角色授权(系统界面可能叫“短信应用/默认短信应用”)
|
||||
2. 授权完成后,App 的前台服务会继续轮询并自动发送,无需每次手动确认
|
||||
|
||||
> 说明:`ROLE_SMS` 授权至少需要一次用户确认,之后应自动生效。
|
||||
|
||||
## 5.1 必要权限
|
||||
|
||||
在 `AndroidManifest.xml` 中声明:
|
||||
|
||||
+19
-1
@@ -46,7 +46,25 @@ npm start
|
||||
3. 安卓端把入站验证码短信通过 `POST /api/v1/sms/inbound` 上报后端
|
||||
4. 你业务系统再从后端读取/查询验证码结果(你可在现有业务端对接这些接口)
|
||||
|
||||
## 4. 后续扩展建议
|
||||
## 4. 业务系统接入(对接示例:TP 管理后台)
|
||||
如果你的业务系统是 ThinkPHP(例如你现在的 TP 后台管理页),建议不要直接写本仓库的数据库表,而是调用本短信网关后端提供的入队接口:
|
||||
|
||||
1) 确保安卓端填写的 `backendUrl` 指向本短信网关后端(例如 `https://yzsms.yunzer.cn`)
|
||||
2) 确保安卓端填写的 `apiKey` 与后端 `.env` 里的 `SMS_GATEWAY_API_KEY` 完全一致
|
||||
3) 业务系统发送短信时,调用:
|
||||
- `POST {backendUrl}/api/v1/business/outbound-tasks`
|
||||
- 请求头:`X-Api-Key: SMS_GATEWAY_API_KEY`
|
||||
- body:`{ "phone": "+8613712345678", "content": "短信测试验证码:123456" }`
|
||||
4) 安卓端会通过轮询:
|
||||
- `GET {backendUrl}/api/v1/device/tasks`
|
||||
自动拉取任务并发送,然后回传到:
|
||||
- `POST {backendUrl}/api/v1/sms/outbound/result`
|
||||
|
||||
5) 查询发送任务状态(可选,用于业务侧展示)
|
||||
- `GET {backendUrl}/api/v1/business/outbound-tasks?limit=50`
|
||||
- 请求头:`X-Api-Key: SMS_GATEWAY_API_KEY`
|
||||
|
||||
## 5. 后续扩展建议
|
||||
|
||||
- 增加任务重试与失败原因字段
|
||||
- 增加短信去重与解析规则配置(正则规则下发)
|
||||
|
||||
Reference in New Issue
Block a user