更新记录
1.0.1(2023-11-06) 下载此版本
- 插件一键登录功能首次上线
- 插件本机号码校验功能首次上线
平台兼容性
| Android | Android CPU类型 | iOS |
|---|---|---|
| 适用版本区间:4.4 - 12.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | 适用版本区间:11 - 16 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
一键登录uni 插件集成文档
[TOC]
修订记录:
| 版本号 | 发布时间 | 更新内容 |
|---|---|---|
| v1.0.0 | 20230920 | 1,发布uni插件功能 |
1 uni sdk接入指南
1.1 注意事项
\1. 使用一键登录服务用户须打开蜂窝数据流量,取号过程中会消耗用户少量的流量。
\2. sdk中自带有授权页面的UI逻辑,开发者可通过SDK接口暴露参数修改部分UI界面样式。
\3. 如果用户使用双卡手机,sdk会使用当前设备上网的流量卡进行预取号操作。
\4. 开发者需要具备一定的原生开发能力
2 uni sdk使用方法
2.1 环境配置
\1. 把DCAbilityLoginUniPlugin拖入工程nativeplugins文件夹中。
\2. 在mainfest.json / App原生插件配置 ,选择本地插件。
2.2 初始化接口
应用调用此方法初始化sdk,初始化会校验应用标识是否存在,回调成功后进行下一步预取号操作。
参数定义
| 参数名称 | 含义 |
|---|---|
| appId | 用户申请应用的id |
| appsecret | 用户申请应用的secret |
成功响应
| 参数名称 | 类型 | 含义 |
|---|---|---|
| code | NSString | 200 |
| msg | NSString | success |
| userId | NSString | 用户userId |
| operatorType | NSString | 运营商类型 |
代码示例:
abilityPlugin.initFunc({
'appId': appId,
'appsecret': secret
},
(ret) => {
console.log('init: ' + JSON.stringify(ret));
});
2.3 预取号接口
应用调用预取号接口校验应用签名,校验成功后接口会返回运营商类型和状态信息,回调成功后进行调起授权页面操作。
abilityPlugin.preLoginFunc()
成功响应
| 参数名称 | 类型 | 含义 |
|---|---|---|
| resultCode | NSString | 0 |
| resultMsg | NSString | 获取accessCode成功 |
| operatorType | NSString | 运营商类型 |
代码示例:
abilityPlugin.preLoginFunc(
(ret) => {
console.log('prelogin: ' + JSON.stringify(ret));
}
);
2.4 调起授权页接口
应用调用该方法会拉起用户授权页面,当用户点击确认授权后接口会返回运营商类型和token;用户授权页支持部分页面样式自定义,开发者可以设置响应的参数调整页面样式。
参数定义
| 参数名称 | 含义 |
|---|---|
| jsonMap | 页面配置json,自定义授权页(详细参照授权页面自定义UI参数) |
成功响应
| 参数名称 | 类型 | 含义 |
|---|---|---|
| resultCode | NSString | 0 |
| resultMsg | NSString | 登录成功 |
| operatorType | NSString | 运营商类型 |
| token | NSString | 返回登录加密串 |
代码示例:
abilityPlugin.getLoginTokenFunc(authPageMap,
(ret) => {
console.log('getLoginTokenFunc: ' + JSON.stringify(ret));
//取号请求
});
2.5 点击其它登录方式回调
globalEvent.addEventListener('otherLoginClick', function(e) {
console.log('otherLoginClick' + JSON.stringify(e));
});
2.6 点击关闭授权页按钮回调
globalEvent.addEventListener('closeButtonClick', function(e) {
console.log('closeButtonClick' + JSON.stringify(e));
abilityPlugin.quitAuthPage({});
});
2.7 点击授权登录未同意隐私协议回调
globalEvent.addEventListener('uncheckPrivacy', function(e) {
console.log('uncheckPrivacy' + JSON.stringify(e));
});
2.8 点击隐私协议勾选框回调
globalEvent.addEventListener('privacyBoxStatusChange', function(e) {
console.log('privacyBoxStatusChange' + JSON.stringify(e));
});
2.9 点击登录按钮回调
globalEvent.addEventListener('abilityLoginClick', function(e) {
console.log('abilityLoginClick' + JSON.stringify(e));
});
2.10 其他能力接口
1.蜂窝网络是否打开
abilityPlugin.isCellularNetworkFunc()
2.获取插件版本号
abilityPlugin.getPluginVersionFunc()
3.获取运营商类型
abilityPlugin.getCellularTypeFunc()
CM:移动 CU:联通 CT:电信 UN:未知
2.11 添加图片资源
ios: 在DCAbilityLoginUniPlugin/ios/BundleResources/AbilityResource.bundle下的static文件夹中放入自定义的图片资源;
*注:选择bundle文件,右击显示包内容
android: 建议将需要使用的图片资源包含到aar文件中
在DCAbilityLoginUniPlugin/android/DCAbilityLoginUniPlugin下的res/drawabl文件夹下放入自定义的图片资源;
*注:先将aar后缀设置为zip,解压后放入自定义图片到指定文件夹,然后压缩当前文件夹为zip,再把文件后缀改为aar。
2.12 授权页面自定义UI参数
ios属性
| 参数名 | 描述 |
|---|---|
| logIsPopup(必填) | 授权登录页面是否弹窗 |
| config_isBottom(必填) | 是否底部弹窗 |
| config_statusBarStyle | 状态栏样式 |
| config_backgroundColor | 授权页背景颜色 |
| config_navBackColor | 导航栏背景颜色 |
| config_navText | 导航栏标题文本内容 |
| config_navTextSize | 导航栏标题字体大小 |
| config_navTextColor | 导航栏标题字体颜色 |
| config_navIsHide | 导航栏标题是否隐藏 |
| config_navReturnImg | 返回按钮图片 |
| config_navReturnOffsetX | 返回按钮图片x轴偏移量 |
| config_navReturnOffsetY | 返回按钮图片y轴偏移量 |
| config_navReturnWidth | 返回按钮图片宽 |
| config_navReturnHeight | 返回按钮图片高 |
| config_navPruvacyBackColor | 进入隐私协议导航栏背景颜色 |
| config_navPruvacyTextSize | 进入隐私协议导航栏标题字体大小 |
| config_navPruvacyTextColor | 进入隐私协议导航栏标题字体颜色 |
| config_navPruvacyReturnImg | 进入隐私协议导航栏返回图片 |
| config_logoImg | LOGO图片 |
| config_logoOffsetX | LOGO图片x轴偏移量 |
| config_logoOffsetY | LOGO图片y轴偏移量 |
| config_logoWidth | LOGO的宽 |
| config_logoHeight | LOGO的高 |
| config_logoIsHiddle | LOGO是否隐藏 |
| config_numberColor | 手机号码字体颜色 |
| config_numberTextSize | 手机号码字体大小 |
| config_numberTextBold | 手机号码字体是否加粗 |
| config_numFieldOffsetX | 手机号码MidX距离视图MidX轴的偏移 |
| config_numFieldOffsetY | 手机号码Y轴距离顶部偏移 |
| config_brandLabelTextSize | 认证品牌字体大小 |
| config_brandLabelTextColor | 认证品牌字体颜色 |
| config_brandLabelOffsetX | 认证品牌MidX距离视图MidX轴的偏移 |
| config_brandLabelOffsetY | 认证品牌Y轴距离顶部偏移 |
| config_logBtnText | 登录按钮文本内容 |
| config_logBtnTextSize | 登录按钮字体大小 |
| config_logBtnTextColor | 登录按钮文本颜色 |
| config_logBtnOriginL | 登录按钮距离视图的左边距 |
| config_logBtnOriginR | 登录按钮距离视图的右边距 |
| config_logBtnHeight | 登录按钮高 |
| config_logBtnOffsetY | 登录按钮Y轴位置 |
| config_logBtnImgs | 登录按钮背景图片数组,[激活状态的图片,高亮状态的图片] |
| config_otherWayLogBtnHidden | 其他登录方式是否隐藏 |
| config_otherWayLogBtnText | 其他登录方式文本内容 |
| config_otherWayLogBtnTextColor | 其他登录方式字体颜色 |
| config_otherWayLogBtnTextSize | 其他登录方式字体大小 |
| config_otherWayLogBtnOffsetX | 其他登录方式x轴位置 |
| config_otherWayLogBtnOffsetY | 其他登录方式y轴位置 |
| config_otherWayLogBtnOffWidth | 其他登录方式宽 |
| config_otherWayLogBtnOffHeight | 其他登录方式高 |
| config_uncheckedImg | 勾选框未勾选图片 |
| config_checkedImg | 勾选框已勾选图片 |
| config_checkedStatus | 勾选框是否勾选 |
| config_checkedWH | 勾选框宽高 |
| config_pruvacyOffsetL | 隐私条款左边距 |
| config_pruvacyOffsetR | 隐私条款右边距 |
| config_pruvacyOffsetY_B | 隐私条款底部 距离 屏幕底部偏移量 |
| config_pruvacyTextSize | 隐私条款字体大小 |
| config_norTruvacyTextColor | 隐私条款正常文字颜色 |
| config_pruTruvacyTextColor | 隐私条款协议文字颜色 |
| config_defaultPruvacyPosition | 运营商默认隐私协议显示位置,第一个或最后一个 |
| config_pruvacyBeforText | 隐私条款最前面的文字 |
| config_pruvacyLinksText | 第二个协议和第三个协议之间连接文字 |
| config_pruvacyAfterText | 隐私条款最后面的文字 |
| config_pruvacyBookMark | 运营商隐私条款是否带书名号,默认不带书名号 |
| config_pruvacyTitleAndUrlArr | 自定义隐私条款标题和url数组 |
| config_popupScaleW | 弹窗的宽度比例,底部弹窗时popupScaleW设置无效 |
| config_popupScaleH | 弹窗的高度比例 |
| config_popupCornerRadius | 弹窗的圆角,底部弹窗时只对弹窗顶部两个角生效 |
| config_customUIHandler | 自定义控件数组 |
| 注:自定义参数示例请参考uni demo中.json文件 |
android属性
注:所用到的背景,图片资源,都将资源包含到aar的 res/drawable文件下,参数值填为不加后缀的资源名称(可参考demo)
| 参数名 | 描述 |
|---|---|
| logIsPopup | 授权登录页面是否弹窗 |
| config_isBottom | 是否底部弹窗 |
| setAuthBGImgPath | 授权页背景 |
| statusBar | 状态栏颜色(包括协议web状态栏颜色) |
| navReturnImage | 返回按钮图片 |
| navReturnImageHeight | 返回按钮图片高度 |
| navReturnImageWeight | 返回按钮图片宽度 |
| navReturnImageOffsetX | 返回按钮X轴距离 |
| navText | 导航栏标题文本 |
| navHeight | 导航栏高度 |
| navTextSize | 导航栏字体大小 |
| navTextColor | 导航栏标题字体颜色 |
| logoImage | Logo图片 |
| logoImageWeight | Logo图片宽度 |
| logoImageHeight | Logo图片高度 |
| logoImgOffsetY | LogoY轴偏移量 |
| logoImgOffsetY_B | Logo居屏幕底部偏移量 |
| logoImgOffsetX | LogoX轴偏移量(0 默认居中) |
| sloganColor | 认证品牌颜色 |
| sloganTextSize | 认证品牌字体大小 |
| sloganOffsetX | 认证品牌X轴偏移量(0 默认居中) |
| sloganTexOffsetY | 认证品牌Y轴偏移量 |
| numberColor | 手机号掩码字体颜色 |
| numberSize | 手机号掩码字体大小 |
| numberOffsetX | 手机号掩码X轴偏移量(0 默认居中) |
| numberThickness | 手机号掩码字体是否加粗 |
| numberOffsetY | 手机号掩码字体Y轴偏移量 |
| logBtnImgPath | 登录按钮背景 |
| logBtnText | 登录按钮文本 |
| logBtnTextColor | 登录按钮文本字体颜色 |
| logBtnTextSize | 登录按钮文本字体大小 |
| logBtnOffsetY | 登录按钮Y轴偏移量 |
| logBtnMarginLeft | 距离手机屏幕左间距 |
| logBtnMarginRight | 距离手机屏幕右间距 |
| logBtnHeight | 登录按钮高度 |
| switchText | 其他方式登录文本 |
| switchTextColor | 其他方式文本颜色 |
| switchTextSize | 文本字体大小 |
| switchTextOffsetY | 文本Y轴偏移量 |
| checkBoxPicStr | 勾选框 选中图片 |
| unCheckBoxPicStr | 勾选框 未选中图片 |
| checkBoxWeight | 勾选框宽度 |
| checkBoxHeight | 勾选框高度 |
| privacyStateSelect | 默认勾选框是否选中 |
| privacyBookSymbol | 协议名称是否加书名号 |
| privacyTextBefore | 协议前缀 |
| clause1 | 自定义协议1名称 |
| clauseUrl1 | 自定义协议1 URL |
| clause2 | 自定义协议2名称 |
| clauseUrl2 | 自定义协议2 URL |
| clause3 | 自定义协议3名称 |
| clauseUrl2 | 自定义协议3 URL |
| clause4 | 自定义协议4名称 |
| clauseUrl4 | 自定义协议4 URL |
| privacyTextAfter | 协议条款后缀 |
| privacySplit1 | 协议条款连接语 |
| privacySplit2 | 协议条款连接语 |
| privacyTextSize | 协议条款字体大小 |
| clauseBaseColor | 协议文本颜色 |
| clauseColor | 协议标题颜色 |
| privacyMarginLeft | 协议距离屏幕左边距 |
| privacyMarginRight | 设置协议距离屏幕右边距 |
| privacyOffsetY_B | 协议距离底部y轴距离 如不设置 填值为0 |
| privacyOffsetY | 协议距离顶部y轴距离 如不设置Y 填值为0 |
| popuHeight | 弹窗高度 |
| popuWeight | 弹窗宽度 |
| custom_view | 自定义view组件 Type(自定义组件对应的Android原生类型,支持 TextView, Button ,ImgView) 注:自定义参数示例请参考uni demo中.json文件 |
3.获取手机号能力
详见《一键登录服务端接入文档》
4.本机号码校验
参数定义
| 参数名称 | 含义 |
|---|---|
| phoneNumber | 手机号 |
成功响应
| 参数名称 | 类型 | 含义 |
|---|---|---|
| resultCode | NSString | 0 |
| resultMsg | NSString | 校验成功 |
| operatorType | NSString | 运营商类型 |
| token | NSString | 返回校验加密串 |
代码示例:
abilityModule.getVerifyTokenFunc({
'phoneNumber': this.inputValue,
},
(ret) => {
console.log('verification :'+JSON.stringify(ret));
//校验手机号请求
});

收藏人数:
购买(
下载 for 离线打包
使用 HBuilderX 导入示例项目
下载示例项目ZIP
赞赏(0)
下载 79
赞赏 0
赞赏 7
赞赏
京公网安备:11010802035340号