更新记录
0.1.0(2026-10-28) 下载此版本
- 首发:移动认证一键登录 UTS 插件(官方自集成三网:移动 / 联通 / 电信),与阿里插件
reglow-ali-login二选一按需引入 - 统一取号 API:
preAuth()预取号(检测本机运营商与 SDK 可用性)、getPhoneNumber()取号,返回{ operator, token, userInformation } - 平台覆盖:Android(AAR 5.9.20)、iOS(xcframework 5.9.17)、HarmonyOS(HAR 1.0.11)原生 SDK,分别由
utssdk/app-android/app-ios/app-harmony实现;H5 走移动 JSSDK 标准版(jssdk-1.0.0.min.js);微信小程序及抖音 / 百度 / 快手 / 快应用已备好 JSSDK 协议骨架(线上加载,#ifdef MP-*分支) - H5 端实现:17 位时间戳(yyyyMMddHHmmssSSS)+ MD5 签名(businessType=8)取 token,token 与
userInformation交后端mobile-h5provider 校验 - 开发期内置 mock(
operator='mock'):未配置CMCC_APP_ID/CMCC_APP_KEY时自动降级 mock 凭证,配合后端reglow-pyproject-starter的POST /api/v1/auth/operator/login(mock provider)即可跑通「一键登录 → 授权弹窗 → 自动注册 → 登录」 - 后端 provider:
mobile(App 原生端 token 校验,MD5 签名 →/unisdk/rsapi/loginTokenValidate→ msisdn)、mobile-h5(H5 / 小程序 token 校验,SHA256withRSA 签名 →/h5/onekeylogin/tokenValidate→ AES 解密手机号)
平台兼容性
uni-app x(5.31)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| √ | √ | √ | √ | √ | - |
其他
| 多语言 | 暗黑模式 | 宽屏模式 | 蒸汽模式 |
|---|---|---|---|
| √ | √ | × | √ |
reglow-mobile-login(移动认证一键登录 UTS 插件)
移动认证一键登录插件(官方自集成三网:移动 / 联通 / 电信),提供统一取号 API:
preAuth():预取号,检测本机运营商与 SDK 可用性getPhoneNumber():取号,返回{ operator, token, userInformation }(调用前须先弹授权协议)
阿里云号码认证为独立插件 reglow-ali-login(operator=ali)。
两个插件二选一按需引入:用移动装本插件,用阿里装 ali 插件,各只带自己的 SDK(按需打包)。
平台覆盖(移动认证官方三网覆盖,一套解决)
| 端 | 接入方式 | SDK 二进制 | operator | 实现位置 |
|---|---|---|---|---|
| Android | 原生 SDK(AAR 5.9.20) | utssdk/app-android/libs/quick_login_android_5.9.20.aar |
mobile | utssdk/app-android/index.uts |
| iOS | 原生 SDK(xcframework 5.9.17) | utssdk/app-ios/TYRZUISDK.xcframework |
mobile | utssdk/app-ios/index.uts |
| HarmonyOS | 原生 SDK(HAR 1.0.11) | utssdk/app-harmony/libs/quick_login_hm_.1.0.11.har |
mobile | utssdk/app-harmony/index.uts |
| H5 | 移动 JSSDK(标准版) | 线上加载 jssdk-1.0.0.min.js |
mobile-h5 | utssdk/index.uts 的 #ifdef WEB 分支 |
| 微信小程序 | 移动 JSSDK | 线上加载 jssdk_v1.0.0.min.js |
mobile-h5 | utssdk/index.uts 的 #ifdef MP-WEIXIN 分支 |
| 抖音 / 百度 / 快手小程序、快应用 | 移动 JSSDK(对应平台) | 按各平台文档引入 | mobile-h5 | utssdk/index.uts 的 #ifdef MP-* 分支 |
小程序 / 快应用分支已按微信小程序文档写好协议骨架(JSSDK URL、MD5 签名、businessType), 抖音 / 百度 / 快手 / 快应用按各自接入文档替换 JSSDK 模块与 businessType 即可。
开发期(mock)
默认内置 mock 实现(operator='mock'),配合后端 reglow-pyproject-starter 的
POST /api/v1/auth/operator/login(mock provider)即可跑通:
一键登录 → 授权弹窗 → 自动注册 → 登录。
接入真实 SDK(移动认证,三网覆盖)
1. 申请应用参数
在 https://dev.10086.cn/numIdentific 申请「号码认证」应用,获得:
APP_ID/APP_KEY:客户端取号用(各端平台文件 / JSSDK)APP_SECRET:服务端 token 校验用(只放后端,勿放客户端)
2. 填写客户端参数
把各平台文件顶部的 CMCC_APP_ID / CMCC_APP_KEY 替换为真实值;
iOS 端需在 App 启动(App.uvue onLaunch)调用 register() 注册 SDK;
未配置时自动降级为 mock 凭证,开发期流程可继续跑通。
3. 后端配置
.env 注入(见 reglow-pyproject-starter/backend/.env.example):
# App 原生端(Android / iOS / HarmonyOS)
OPERATOR_PROVIDER=mobile
OPERATOR_MOBILE_APPID=<APP_ID>
OPERATOR_MOBILE_SECRET=<APP_SECRET>
# endpoint 默认 https://www.cmpassport.com/unisdk/rsapi/loginTokenValidate(MD5 签名)
# H5 / 小程序(JSSDK)
OPERATOR_MOBILE_H5_APPID=<APP_ID>
OPERATOR_MOBILE_H5_APPKEY=<APP_KEY>
OPERATOR_MOBILE_H5_RSA_PRIVATE_KEY=<客户 RSA 私钥 PEM>
# AES key 与 appkey 约定不一致时显式指定(16 字节,ASCII)
OPERATOR_MOBILE_H5_AES_KEY=
# endpoint 默认 https://www.cmpassport.com/h5/onekeylogin/tokenValidate(RSA 签名 + AES 解密)
后端 provider 已实现:
mobile:App 原生 token 校验(MD5 签名 →/unisdk/rsapi/loginTokenValidate→ msisdn)mobile-h5:H5 / 小程序 token 校验(SHA256withRSA 签名 →/h5/onekeylogin/tokenValidate→ AES 解密手机号)- 测试见
backend/tests/test_operator_login.py(13 项,覆盖两套协议)
4. H5 / 小程序(JSSDK)特别说明
- 集成页面地址(referer)与请求来源(origin)需在移动认证平台报备;
- 取号仅支持数据流量,wifi / 热点下会失败(微信小程序 v1.4.0 起支持流量+WiFi 同时开启);
- H5 / 小程序端 appkey 暴露在客户端是官方标准流程(用于计算 MD5 签名);
userInformation(终端指纹)需随 token 一起提交,后端mobile-h5校验必填。
注意
- 取号前必须先向用户展示授权协议并获得同意(合规要求);
- 平台文件最终编译需在 HBuilderX 运行到 Android / iOS / HarmonyOS 真机、各小程序工具验证;
- App 原生端(
mobile)与 H5/小程序(mobile-h5)使用两套后端校验协议,请求方需传对应 operator。

收藏人数:
下载插件并导入HBuilder
赞赏(0)
下载 26
赞赏 0
下载 12723332
赞赏 1958
赞赏
京公网安备:11010802035340号