更新记录
1.0.1(2026-09-20) 下载此版本
新版本发布
平台兼容性
yqy-sfa-sdk v1.0.0 交付包 & 接入指南
悦权益转发SDK——安卓短信监听透传管道。收到短信 → 把整条原文与 accessToken / sessionId / phoneNo 一起 POST 到服务端,所有解析 / 匹配 / 会话校验逻辑由服务端实现。
一、交付包内容
| 文件 | 用途 |
|---|---|
nativeplugins/yqy_sfa_sdk/(含 aar) |
必须整合进 uni-app 工程 —— 唯一运行时本体(自含 Kotlin 运行时,约 97KB) |
h5/yqy-sfa.js |
H5 统一调用层(双通道自动适配) |
h5/webview-relay.js |
uni-app <web-view> 宿主的 H5→原生中转件 |
SmsForwarderModule.d.ts |
TypeScript 类型声明(IDE 智能提示,可选) |
二、最快接入(uni-app,三分钟)
① 拷入插件目录
把 nativeplugins/yqy_sfa_sdk/ 整个文件夹放入工程根目录的 nativeplugins/ 下。
② manifest.json 声明
"app-plus": {
"nativePlugins": {
"yqy_sfa_sdk": {
"__plugin_info__": {
"name": "yqy_sfa_sdk",
"version": "1.0.0",
"provider": "悦权益",
"description": "悦权益转发SDK"
}
}
}
},
"distribute": {
"android": {
"permissions": [
"<uses-permission android:name=\"android.permission.RECEIVE_SMS\"/>",
"<uses-permission android:name=\"android.permission.INTERNET\"/>"
]
}
}
③ 制作自定义调试基座
HBuilderX → 运行 → 运行到手机或模拟器 → 制作自定义调试基座(首次)。以后每次换 aar 必须:bump 插件版本号 → 删除 unpackage/debug/ → 重做基座,否则 requireNativePlugin 静默 null。
三、unipp 原生页面 API(全部方法)
const sdk = uni.requireNativePlugin('yqy_sfa_sdk')
// ---------- 初始化 ----------
sdk.init({}, res => { /* {ok, version, granted, listening} */ })
// ---------- 权限 ----------
sdk.hasPermission({}, res => { /* {granted: true|false} */ })
sdk.requestPermission({}, res => { /* {granted: true|false, reason?} */ })
// ---------- 转发参数 ----------
sdk.setForwardParams({ accessToken, sessionId, phoneNo }, res => {})
// 设置后即长期有效,直到下次覆盖
// ---------- 转发环境 ----------
sdk.setEnvironment({ env: 'prod'|'dev' }, res => { /* {env, url} */ })
// prod: https://yqy.yuejf.cn / dev: http://192.168.110.12:8080
// ---------- 监听 ----------
sdk.start({}, res => { /* {listening:true} */ })
sdk.stop({}, res => {})
sdk.isListening({}, res => { /* {listening:bool} */ })
// ---------- 测试 / 统计 ----------
sdk.injectSms({ sender?, body }, res => { /* 绕过系统广播注入一条短信 */ })
sdk.getStats({}, res => { /* {stats:{received/forwarded/skipped/failed},listening,env,url} */ })
全局事件(plus.globalEvent.addEventListener):
| 事件名 | 回调载荷 |
|---|---|
smsf:received |
{sender,body,timestamp,simSlot} |
smsf:forwarded |
{status:'FORWARDED',sessionId,phoneNo,sender,httpCode,httpBody} |
smsf:skipped |
{status:'DUPLICATED'|'HTTP_FAILED'|'ERROR',reason,httpCode?,httpBody?} |
四、H5 页面桥(双通道,与原生 API 完全同构)
通道① 宿主自建 Android WebView
webView.settings.javaScriptEnabled = true
SmsForwarder.attachH5Bridge(webView, forwardEvents = true)
webView.loadUrl("https://你的H5页面/")
通道② uni-app <web-view> 组件
H5 侧:
<script src="uni.webview.js"></script>
<script src="yqy-sfa.js"></script>
(uni.webview.js 建议从 npm @dcloudio/uni-webview-js 安装并本地内置)
宿主 vue 页面:
<web-view :src="h5Url" @message="onH5Message"></web-view>
import { makeRelay, forwardEventsTo } from '@/h5/webview-relay.js'
export default {
methods: { onH5Message(e) { makeRelay(this)(e) } },
onReady() { forwardEventsTo(this) }
}
H5 统一调用(两个通道写法相同):
YqySfa.transport() // 'native' (通道①) | 'uni-webview' (通道②)
await YqySfa.init() // {version, granted, listening}
await YqySfa.requestPermission() // {granted:true|false} 15s 轮询
await YqySfa.setForwardParams({accessToken,sessionId,phoneNo})
await YqySfa.setEnvironment('dev')
await YqySfa.start()
await YqySfa.injectSms('10086', '正文')
YqySfa.on('forwarded', e => {}) // 事件订阅
YqySfa.on('skipped', e => {})
五、服务端协议
POST {环境地址}/api/v1/auth/smsinfo
Authorization: Bearer <accessToken> ← 仅以此头鉴权,token 空时无此头
Content-Type: application/json; charset=utf-8
{
"sessionId": "业务下发的会话标识",
"phoneNo": "本机号码(可为空)",
"content": "短信完整原文(不做任何解析)",
"sender": "发件人号码(系统广播自带)"
}
六、环境地址
| 环境 | 完整端点 |
|---|---|
| prod(默认) | https://yqy.yuejf.cn/api/v1/auth/smsinfo |
| dev | http://192.168.110.12:8080/api/v1/auth/smsinfo |
七、常见问题
| 问题 | 答案 |
|---|---|
| requireNativePlugin 返回 null | 基座未含插件 / 插件版本未 bump;重做自定义基座 |
H5 页面 环境不支持 |
uni.webview SDK 未加载或 CDN 不可达——本地内置 SDK |
| App 更新后 JS 逻辑不生效 | 调试基座会缓存外部资源——删除 /sdcard/Android/data/<pkg>/apps/ 子目录 |
| dev 环境 401 | accessToken 无效,使用真实登录态 token |
| dev 环境连接超时 | 确认 Mac 网关服务运行中 (lsof -i :8080) |
| Android 16 服务商短信不接收 | 平台安全层分类抑制(详见项目记忆) |

收藏人数:
下载插件并导入HBuilderX
赞赏(0)
下载 3
赞赏 0
下载 12621851
赞赏 1950
赞赏
京公网安备:11010802035340号