更新记录

1.5.0(2024-06-07)

修复iOS隐私协议弹窗异常问题

1.4.9(2024-06-05)

1.修复iOS缓存异常问题 2.修改Android授权页自定义图标方式 3.Android支持配置登录按钮左右边距 4.Android支持配置隐私区域宽度

1.4.8(2024-04-30)

1.授权页支持导航栏返回图标支持设置间距 2.授权页支持自定义协议未勾选弹窗文本颜色 3.授权页支持配置隐私协议连接符 4.授权页支持配置虚拟键区域是否显示

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 14.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 适用版本区间:9 - 17

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
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原生插件配置”->”云端插件“列表中删除该插件重新选择


号码认证

网易易盾 提供直连三大运营商,一步校验手机号与当前 SIM 卡号一致性。优化注册/登录/支付等场景验证流程
了解更多产品信息或体验试用,请访问 号码认证产品页

更新提醒

  • 在使用前请确保已申请到易盾一键登录的业务id
  • 建议尽量用本地插件集成的方案,不要用云端插件,因为云端插件无法指定版本
  • 从1.4.9版本开始,Android设置授权页自定义图标的方式有变更,请注意

平台支持(兼容性)

Android iOS
适用版本区间:4.4以上 适用版本区间:9以上

资源引入/集成

从 dcloud 插件市场下载对应插件放到指定目录 nativeplugins 下,也可以选择直接云端插件打包。导入插件之后一定要自定义基座方可生效,自定义基座说明请参考 https://ask.dcloud.net.cn/article/35115

调用示例

<template>
  <view>
    <button @click="initLogin('quickLogin')">初始化</button>
    <button @click="verifyNumber">授权验证</button>
  </view>
</template>

<script>
  const ydLogin = uni.requireNativePlugin('YD-Login')
  export default {
    methods: {
      initLogin() {
        // 初始化
        ydLogin.registerWithBusinessID({
          businessId: '从易盾获取业务id',
          timeout: 3000
        }, (data) => {
            // 回调处理
            if (data.success) {} else {}
        }),
      // 预取号
      verifyNumber(){
        ydLogin.getPhoneNumberCompletion((data) => {
          if (data.success) {
            // TODO: 预取号成功处理,可以进行调起授权页
            ydLogin.cucmctAuthorizeLoginCompletion((data) => {
              if (data.success) {
                // 授权成功
              }
            })
          }
        })
      }
    }
  }
</script>

更多使用场景请参考 demo

SDK 方法说明

在 nvue 中引入插件

const ydLogin = uni.requireNativePlugin('YD-Login')

1. 初始化

初始化一键登录

代码说明:

ydLogin.registerWithBusinessID({
  businessId: //'从易盾获取的id',
  timeout: 3000
}, (data) => {
  if (!data.success) {
    // TODO: 初始化失败处理
  } else {
    // TODO: 初始化成功处理,如进行下一步自定义授权页或直接进行预取号
  }
})

参数说明:

  • 入参说明:

    参数 类型 是否必填 默认值 描述
    businessId String 易盾分配的业务 id
    debug Boolean false 是否打开日志开关
    timeout int 3 运营商预取号和授权登录接口的超时时间,单位秒
  • 回调参数说明:

    回调参数 类型 描述
    success Boolean 初始化是否成功

2. 检查网络环境

检测网络状况等条件是否具备进行一键登录

代码说明:

ydLogin.shouldQuickLogin((data) => {
  if (!data.success) {
    // TODO: 具备一键登录网络环境
  } else {
    // TODO: 不具备一键登录网络环境
  }
})

参数说明:

  • 回调参数说明:

    回调参数 类型 描述
    success Boolean 是否具备一键登录网络环境

3. 预取号

代码说明:

ydLogin.getPhoneNumberCompletion((data) => {
  if (!data.success) {
    // TODO: 预取号失败处理
  } else {
    // TODO: 预取号成功处理,可以进行调起授权页
  }
})

参数说明:

  • 回调参数说明:

    回调参数 类型 描述
    success Boolean 预取号是否成功
    token String 易盾token,用于校验
    msg String 预取号异常信息,用于success返回false场景

4. 自定义授权页面

在工程目录下添加json配置文件,可配置项参考下面说明

代码说明:

ydLogin.setCustomView(config, (data) => {
  const platform = uni.getSystemInfoSync().platform
  if (platform === 'ios') {
    // TODO:iOS事件回调处理业务
  } else if (platform === 'android') {
    // TODO: android事件回调处理业务
  }
})

参数说明:

  • 入参说明:

    参数 类型 是否必填 默认值 描述
    config String 自定义配置项json字符串

config 可配置项说明: android版

开发者不得通过任何技术手段,将授权页面的隐私栏、手机掩码号、供应商品牌内容隐藏、覆盖
网易易盾与运营商会对应用授权页面进行审查,若发现上述违规行为,网易易盾有权将您的一键登录功能下线
所有使用到的图标请放置在nativeResources/android/res/drawable目录下(命名只支持a-z、0-9和下划线),如果没有请在工程目录下创建,config配置文件中只配置图标的名字

安卓规范示意图 自定义展示图

状态栏
配置项 说明
statusBarColor:String 设置状态栏背景颜色,十六进制RGB值,如 "#ff0000"
isStatusBarDarkColor:boolean 设置状态栏字体图标颜色是否为暗色(黑色)
导航栏
配置项 说明
navBackIcon:String 导航栏图标,这里配置图标名字
navBackIconWidth:int 设置导航栏返回图标的宽度,单位 dp
navBackIconHeight:int 设置导航栏返回图标的高度,单位 dp
navBackIconGravity:int 设置导航栏返回图标位置,居左 3,居右 5,默认居左
navBackIconMargin:int 设置导航栏返回图标上下左右边距,单位 dp
isHideBackIcon:boolean 设置是否隐藏导航栏返回按钮
navBackgroundColor:String 设置导航栏背景颜色,十六进制RGB值,如 "#ff0000"
navHeight:int 设置导航栏高度,单位 dp
navTitle:String 设置导航栏标题
navTitleColor:String 设置导航栏标题颜色,十六进制RGB值,如 "#ff0000"
navTitleSize:int 设置导航栏标题大小,单位 sp
navTitleDpSize:int 设置导航栏标题大小,单位 dp
isNavTitleBold:boolean 设置导航栏标题是否为粗体
isHideNav:boolean 设置是否隐藏导航栏
应用 Logo
配置项 说明
logoIconName:String 应用 logo 图标,这里配置图标名字
logoWidth:int 设置应用logo宽度,单位dp
logoHeight:int 设置应用 logo 高度,单位 dp
logoTopYOffset:int 设置 logo 顶部 Y 轴偏移,单位 dp
logoBottomYOffset:int 设置 logo 距离屏幕底部偏移,单位 dp
logoXOffset:int 设置 logo 水平方向的偏移,单位 dp
isHideLogo:boolean 设置是否隐藏 logo
手机掩码
配置项 说明
maskNumberColor:String 设置手机掩码颜色,十六进制RGB值,如 "#ff0000"
maskNumberSize:int 设置手机掩码字体大小,单位 px
maskNumberXOffset:int 设置手机掩码水平方向的偏移,单位 dp
maskNumberDpSize:int 设置手机掩码字体大小,单位 dp
maskNumberTopYOffset:int 设置手机掩码顶部Y轴偏移,单位 dp
maskNumberBottomYOffset:int 设置手机掩码距离屏幕底部偏移,单位 dp
认证品牌
配置项 说明
sloganSize:int 设置认证品牌字体大小,单位 px
sloganDpSize:int 设置认证品牌字体大小,单位 dp
sloganColor:String 设置认证品牌颜色,十六进制RGB值,如 "#ff0000"
sloganTopYOffset:int 设置认证品牌顶部 Y 轴偏移,单位 dp
sloganBottomYOffset:int 设置认证品牌距离屏幕底部偏移,单位 dp
sloganXOffset:int 设置认证品牌水平方向的偏移,单位 dp
登录按钮
配置项 说明
loginBtnText:String 设置登录按钮文本
loginBtnTextSize:int 设置登录按钮文本字体大小,单位 px
loginBtnTextDpSize:int 设置登录按钮文本字体大小,单位 dp
loginBtnTextColor:String 设置登录按钮文本颜色,十六进制RGB值,如 "#ff0000"
loginBtnWidth:int 设置登录按钮宽度,单位 dp
loginBtnHeight:int 设置登录按钮高度,单位 dp
loginBtnMarginLeft:int 设置登录按钮左边距,单位 dp
loginBtnMarginRight:int 设置登录按钮右边距,单位 dp
loginBtnBackgroundRes:String 设置登录按钮背景图标,这里配置图标名字
loginBtnTopYOffset:int 设置登录按钮顶部Y轴偏移,单位 dp
loginBtnBottomYOffset:int 设置登录按钮距离屏幕底部偏移,单位 dp
loginBtnXOffset:int 设置登录按钮水平方向的偏移,单位 dp
隐私协议
配置项 说明
privacyTextColor:String 设置隐私栏文本颜色,不包括协议 ,如若隐私栏协议文案为:登录即同意《中国移动认证条款》且授权 QuickLogin 登录, 则该API对除协议‘《中国移动认证条款》’区域外的其余文本生效
privacyDialogTextColor:String 设置协议未勾选弹窗隐私栏文本颜色,不包括协议
privacyProtocolColor:String 设置隐私栏协议颜色 。例如:登录即同意《中国移动认证条款》且授权 QuickLogin 登录 , 则该 API 仅对‘《中国移动认证条款》’文案生效
privacyDialogProtocolColor:String 设置协议未勾选弹窗隐私栏协议颜色
privacySize:int 设置隐私栏区域字体大小,单位 px
privacyDpSize:int 设置隐私栏区域字体大小,单位 dp
privacyTopYOffset:int 设置隐私栏顶部Y轴偏移,单位 dp
privacyBottomYOffset:int 设置隐私栏距离屏幕底部偏移,单位 dp
privacyWidth:int 设置隐私栏区域宽度,单位 dp
privacyTextMarginLeft:int 设置隐私栏复选框和文字内边距,单位 dp
privacyMarginLeft:int 设置隐私栏水平方向的偏移,单位 dp
privacyMarginRight:int 设置隐私栏右侧边距,单位 dp
privacyState:boolean 设置隐私栏协议复选框勾选状态,true 勾选,false 不勾选
isHidePrivacyCheckBox:boolean 设置是否隐藏隐私栏勾选框
isPrivacyTextGravityCenter:boolean 设置隐私栏文案换行后是否居中对齐,如果为true则居中对齐,否则左对齐
checkBoxGravity:int 设置隐私栏勾选框与文本协议对齐方式,可选择顶部(48),居中(17),底部(80)等
checkBoxWith:int 设置隐私栏复选框宽度,单位 dp
checkBoxHeight:int 设置隐私栏复选框高度,单位 dp
checkedImageName:String 设置隐私栏复选框选中时的图片资源,这里配置图标名字
unCheckedImageName:String 设置隐私栏复选框未选中时的图片资源,这里配置图标名字
privacyTextStart:String 设置隐私栏声明部分起始文案 。如:隐私栏声明为"登录即同意《隐私政策》和《中国移动认证条款》且授权易盾授予本机号码",则可传入"登录即同意"
privacyTextStartSize:int 隐私栏起始文案字体大小
privacyLineSpacingAdd:int 隐私栏文本间距
privacyLineSpacingMul:int 隐私栏文本间距倍数
protocolConnect:String 设置隐私栏运营商协议和自定义协议的连接符
userProtocolConnect:String 设置隐私栏自定义协议之间的连接符
operatorPrivacyAtLast:boolean 运营商协议是否在末尾
isHidePrivacySmh:boolean 是否隐藏运营商协议书名号
protocolText:String 设置隐私栏协议文本
protocolLink:String 设置隐私栏协议链接
protocol2Text:String 设置隐私栏协议 2 文本
protocol2Link:String 设置隐私栏协议 2 链接
protocol3Text:String 设置隐私栏协议 3 文本
protocol3Link:String 设置隐私栏协议 3 链接
privacyTextEnd:String 设置隐私栏声明部分尾部文案。如:隐私栏声明为"登录即同意《隐私政策》和《中国移动认证条款》且授权易盾授予本机号码",则可传入"且授权易盾授予本机号码"
协议详情 Web 页面导航栏
配置项 说明
protocolNavTitle:String 设置协议 Web 页面导航栏标题,如果需要根据不同运营商设置不同标题
protocolNavTitleColor:String 设置协议 Web 页面导航栏标题颜色
protocolNavBackIcon:String 设置协议 Web 页面导航栏返回图标,这里配置图标名字
protocolNavColor:String 设置协议Web页面导航栏颜色
protocolNavBackIconMargin:int 设置协议Web页面导航栏返回按钮距离左边距离
protocolNavHeight:int 设置协议 Web 页面导航栏高度
protocolNavTitleSize:int 设置协议Web页面导航栏标题大小,单位 px
protocolNavTitleDpSize:int 设置协议 Web 页面导航栏标题大小,单位 dp
protocolNavBackIconWidth:int 设置协议 Web 页面导航栏返回按钮宽度,单位 dp
protocolNavBackIconHeight:int 设置协议 Web 页面导航栏返回按钮高度,单位 dp
其他
配置项 说明
backgroundImage:String 设置登录页面背景,这里配置图片名字
backgroundGif:String 设置登录页面背景为 Gif,这里配置图片名字
backgroundVideo:String 设置登录页面背景为视频地址,如http://xxx
backgroundVideoImage:String 设置登录页面背景为视频封面地址,如http://xxx
enterAnimation:String 页面进入动画,默认支持了yd_dialog_fade_in,配合dialog模式淡入
exitAnimation:String 页面退出动画,默认支持了yd_dialog_fade_out,配合dialog模式淡出
isShowLoading:boolean 设置授权登录页是否显示loading View
isBackPressedAvailable:boolean 授权登录页物理返回键是否可用
isVirtualButtonHidden:boolean 是否隐藏虚拟键
isLandscape:boolean 是否横屏
isDialogMode:boolean 是否弹窗模式
dialogWidth:int 授权页弹窗宽度,单位 dp
dialogHeight:int 授权页弹窗高度,单位 dp
dialogX:int 授权页弹窗 X 轴偏移量,以屏幕中心为原点
dialogY:int 授权页弹窗 Y 轴偏移量,以屏幕中心为原点
isBottomDialog:boolean 授权页弹窗是否贴于屏幕底部
true:显示在屏幕底部,dialogY 失效
false:不显示在屏幕底部,以 dialogY 参数为准
isProtocolDialogMode:boolean 协议详情页是否开启弹窗模式
isPrivacyDialogAuto:boolean 协议未勾选弹窗点击是否自动登录
isShowPrivacyDialog:boolean 是否显示协议未勾选默认弹窗
privacyDialogText:String 协议未勾选弹窗自定义message
privacyDialogSize:int 协议未勾选弹窗文本字体大小
自定义view
配置项 说明
widgets:JsonArray 自定义view数组
∟ viewId:String 控件 id
∟ type:String 控件类型,可选值为 TextView、Button、ImageView
∟ top:int 控件距离顶部的偏移,单位 dp
∟ left:int 控件距离左侧的偏移,单位 dp
∟ right:int 控件距离右侧的偏移,单位 dp
∟ bottom:int 控件距离底部的偏移,和top互斥,单位 dp
∟ width:int 控件宽度,单位 dp,默认自适应内容
∟ height:int 控件高度,单位 dp,默认自适应内容
∟ text:String 控件文本
∟ font:int 控件文本大小,单位 sp
∟ textColor:String 控件文本颜色,十六进制颜色码
∟ clickable:boolean 控件是否可点击
∟ backgroundColor:String 控件背景颜色,十六进制颜色码
∟ backgroundImgPath:String 控件背景图片,这里配置图片名字
∟ positionType:int 添加控件的位置类型,1表示位于导航栏部分,0表示位于导航栏下方的body部分,默认为0

config 可配置项说明: iOS版

设计规范概览 开发者不得通过任何技术手段,将授权页面的隐私栏、手机掩码号、供应商品牌内容隐藏、覆盖
网易易盾与运营商会对应用授权页面进行审查,若发现上述违规行为,网易易盾有权将您的一键登录功能下线 iOS设计规范 自定义展示图

基础配置
属性 说明
backgroundColor 设置授权页面背景颜色
authWindowPop 设置窗口类型
0 表示全屏模式
1 表示窗口在屏幕的中间
2 表示窗口在屏幕的底部(不支持横屏)
faceOrientation 设置授权页面方向
0 表示竖屏
1 表示左横屏
2 表示右横屏
3 表示左右横屏
4 表示屏幕全旋转
bgImage 设置授权转背景图片,例如 :"图片名.后缀"
hidesBottomBarWhenPushed 进入下一个页面前,将该属性设置为YES即可隐藏TabBar,默认不隐藏
statusBarStyle 授权页状态栏的颜色 0:黑色,1:白色
转场动画
属性 说明
modalTransitionStyle 设置授权转场动画
0 表示下推
1 表示翻转
2 表示淡出
自定义控件
"widgets": [
        {
           "type": "UIButton", 
           "UIButtonType": 0, 
           "image": "static/weixin.png",
           "title": "",    
           "titleColor": "#000000",
           "titleFont": 12,
           "cornerRadius": 20,
           "action": "handleCustomEvent1",
           "frame": {"mainScreenLeftDistance":100,"mainScreenTopDistance":360,"width":32,"height":32},
           "backgroundImage":"static/yidun_logo.png"
        },
        {
            "type": "UIButton",
            "UIButtonType": 0, 
            "image": "static/qq.png",
            "title": "",    
            "titleColor": "#FFFFFF",
            "titleFont": 12,
            "cornerRadius": 20,
            "action": "handleCustomEvent2",
            "frame": {"mainScreenCenterXWithLeftDistance":0,"mainScreenTopDistance":360,"width":32,"height":32},
            "backgroundImage": "static/yidun_logo.png"
        },
        {
            "type": "UIButton",
            "UIButtonType": 0, 
            "image": "static/weibo.png",
            "title": "",
            "titleColor": "#FFFFFF",
            "titleFont": 12,
            "cornerRadius": 20,
            "action": "handleCustomEvent3",
            "frame": {"mainScreenLeftDistance":100,"mainScreenRightDistance":360,"mainScreenTopDistance":32,"height":32},
            "backgroundImage": "static/yidun_logo.png"
        },
        {
            "type": "UILabel",
            "textColor": "#FFFFFF",
            "font": 15,
            "cornerRadius": 20,
            "action": "handleCustomLabel",
            "text": "其他登录方式",
            "textAlignment": 1,
            "frame": {"mainScreenLeftDistance":0,"mainScreenRightDistance":310,"mainScreenBottomDistance":200,"height":32}
        }
    ]
配置项 说明
widgets:JsonArray 自定义view数组
∟ type:String 控件类型,可选值为 UILabel、UIButton
∟ image:String UIButton显示的图片。内容为图片名,不需要加图片后缀
∟ title:String UIButton显示的文字
∟ titleColor:String UIButton显示的字体颜色
∟ titleFont:int 字体的大小
∟ cornerRadius:int 控件的圆角
∟ backgroundImage:String UIButton的背景图片
∟ backgroundColor:String 控件背景颜色
∟ mainScreenLeftDistance:int 距离屏幕左边的距离,默认为0
∟ mainScreenRightDistance:int 距离屏幕右边的距离,默认为0
∟ mainScreenTopDistance:int 距离屏幕顶部的距离,默认为0
∟ mainScreenCenterXWithLeftDistance:int 为0时,居中显示。大于0,向屏幕左侧偏移。小于0,向右侧偏移
∟ width:int 控件的宽度,默认为0
∟ height:int 控件的高度,默认为0
∟ textAlignment:int 0,文本左对齐。1,文本居中显示。2文本右对齐
∟ text:String UILabel显示的文字
∟ textColor:String UILabel的字体颜色
∟ action:String 设置可点击控件的点击事件,在监听中回调。详见事件监听
背景设置视频
属性 说明
localVideoFileName 设置视频本地名称 例如xx.mp4*
isRepeatPlay 设置是否重复播放视频,YES 表示重复播放,NO 表示不重复播放
背景设置 Gif
属性 说明
animationRepeatCount 设置动画重复的次数 -1无限重复
animationDuration 设置动画的时长
导航栏
属性 说明
navBarHidden 导航栏是否隐藏
navBgColor 设置导航栏背景颜色
navText 设置导航栏标题
navTextFont 设置导航栏标题字体大小
navTextColor 设置导航栏标题字体颜色
navTextHidden 设置导航栏标题是否隐藏,默认不隐藏
navReturnImg 设置导航返回图标,例如:"back-1"
navReturnImgLeftMargin 设置导航返回图标距离屏幕左边的距离,默认0
navReturnImgBottomMargin 设置导航返回图标距离屏幕底部的距离,默认0
navReturnImgWidth 设置导航返回图标的宽度,默认44
navReturnImgHeight 设置导航返回图标的高度 , 默认44
应用 Logo
属性 说明
logoIconName 设置logo图片, 例如 :"图片名.后缀"]
logoWidth 设置logo图片宽度
logoHeight 设置logo图片高度
logoOffsetTopY 设置logo图片沿Y轴偏移量, logoOffsetTopY为距离屏幕顶部的距离 ,默认为20
logoOffsetX 设置logo图片沿X轴偏移量,logoOffsetX = 0居中显示
logoHidden 设置logo图片是否隐藏,默认不隐藏
手机掩码
属性 说明
numberColor 设置手机号码字体颜色
numberFont 设置手机号码字体大小, 默认18
numberOffsetTopY 设置手机号码沿Y轴偏移量, numberOffsetTopY为距离屏幕顶部的距离 ,默认为100
numberOffsetX 设置logo图片沿X轴偏移量,logoOffsetX = 0居中显示
numberHeight 设置手机号码框的高度 默认27
numberCornerRadius 设置手机号码的控件的圆角
numberLeftContent 设置手机号码的左边描述内容,默认为空
numberRightContent 设置手机号码的右边描述内容,默认为空色
认证品牌
属性 说明
brandColor 设置认证服务品牌文字颜色
brandBackgroundColor 设置认证服务品牌背景颜色
brandFont 设置认证服务品牌文字字体 默认12
brandWidth 设置认证服务品牌的宽度, 默认200
brandHeight 设置认证服务品牌的高度, 默认16
brandLogoWidth 设置认证服务品牌的宽度
brandLogoHeight 设置认证服务品牌的高度
brandLogoOffsetMargin 认证服务品牌x轴的偏移量
brandOffsetX 设置认证服务品牌X偏移量 ,brandOffsetX = 0居中显示
brandOffsetTopY 设置认证服务品牌Y偏移量, brandOffsetTopY为距离屏幕顶部的距离 ,默认为150
brandHidden 设置是否隐藏认证服务品牌,默认显示
登录按钮
属性 说明
logBtnText 设置登录按钮文本
loginBtnTextSize 设置登录按钮字号
logBtnTextColor 设置登录按钮文本颜色
logBtnOffsetTopY 设置登录按钮Y偏移量 ,logBtnOffsetTopY为距离屏幕顶部的距离 ,默认为200
logBtnRadius 设置登录按钮圆角,默认8
logBtnUsableBGColor 设置登录按钮背景颜色
logBtnEnableImg 设置登录按钮可用状态下的背景图片
logBtnHighlightedImg 登录按钮高亮状态下的背景图片
logBtnOriginLeft 登录按钮的左边距 ,横屏默认40 ,竖屏默认260
logBtnOriginRight 设置登录按钮的左边距,横屏默认40 ,竖屏默认260
logBtnHeight 设置登录按钮的高度,默认44
隐私协议

若勾选框需要展示,请务必设置勾选框的选中态图片与未选中态图片 协议未勾选时,登录按钮是否可点击可以自定义设置,弹窗提示的样式也可以自定义

属性 说明
unCheckedImageName 图片名
checkedImageName 图片名
checkboxWH 设置复选框大小(只能正方形) ,默认 12
privacyState 设置隐私条款check框默认状态
checkBoxAlignment 设置隐私条款check框位置
0 表示相对协议顶对齐
1 表示相对协议中对齐
2 表示相对协议下对齐 默认顶对齐
checkedHidden 隐藏复选框
checkBoxMargin 设置复选框距离隐私条款的边距 默认 8
appPrivacyOriginLeft 设置隐私条款距离屏幕左边的距离 默认 60
appPrivacyOriginRight 设置隐私条款距离屏幕右边的距离 默认 40
appPrivacyOriginBottomMargin 设置隐私条款距离屏幕的距离 默认 40
privacyNavReturnImg 设置用户协议界面,导航栏返回图标,默认用导航栏返回图标
appPrivacyText 设置隐私的内容模板:全句可自定义但必须保留"《默认》"字段表明SDK默认协议,否则设置不生效。必设置项(参考SDK的demo)appPrivacyText设置内容:登录并同意《默认》和易盾协议1、网易协议2登录并支持一键登录,展示:登录并同意中国移动条款协议和易盾协议1、网易协议2登录并支持一键登录
appFPrivacyText 设置开发者隐私条款协议名称(第一个协议)
appFPrivacyURL 设置开发者隐私条款协议url(第一个协议)
appSPrivacyText 设置开发者隐私条款协议名称(第二个协议)
appSPrivacyURL 设置开发者隐私条款协议url(第二个协议)
appTPrivacyText 设置开发者隐私条款协议名称(第三个协议)
appTPrivacyURL 设置开发者隐私条款协议url(第三个协议)
appFourPrivacyText 设置开发者隐私条款协议名称(第四个协议)
appFourPrivacyURL 设置开发者隐私条款协议url(第四个协议)
appPrivacyAlignment 0 : 隐私条款居左显示, 1: 居中显示, 2 :居右显示
appPrivacyOriginLeftMargin 隐私条款距离屏幕左边的距离
shouldHiddenPrivacyMarks 设置是否隐藏"《默认》" 两边的《》,默认不隐藏
privacyColor 设置隐私条款名称颜色
privacyFont 设置隐私条款字体的大小
protocolColor 设置协议条款协议名称颜色
showPrivacyDialog 0 显示自定义提示框;1 显示系统提示框 ;2 隐藏提示框
弹窗模式
属性 说明
popBackgroundColor 弹窗模式的背景颜色
scaleW 自定义窗口宽度
scaleH 自定义窗口高度
closePopImg 设置弹窗模式下关闭按钮的图片,⚠️(必传)
closePopImgWidth 设置弹窗模式下关闭按钮图片的宽度 默认20*
closePopImgHeight 设置弹窗模式下关闭按钮图片的高度 默认20
closePopImgOriginY 设置关闭按钮距离顶部的距离,默认距离顶部10,距离 = 10 + closePopImgOriginY
closePopImgOriginX 设置关闭按钮距离父视图右边的距离,默认距离为10,距离 = 10 + closePopImgOriginX
authWindowCenterOriginY 设置居中弹窗沿Y轴移动的距离。例如 :authWindowCenterOriginY = 10 表示中间点沿Y轴向下偏移10个像素
authWindowCenterOriginX 设置居中弹窗沿X轴移动的距离。例如 :authWindowCenterOriginX = 10 表示中间点沿X轴向右偏移10个像素
popCenterCornerRadius 设置居中弹窗模式下,弹窗的圆角,默认圆角为16
popBottomCornerRadius 设置底部弹窗模式下,弹窗的圆角,默认圆角为16,注:只可修改顶部左右二边的值
isOpenSwipeGesture 设置底部弹窗模式下,是否开启轻扫手势,向下轻扫关闭弹窗。默认关闭
openBackTapGestureRecognizer 始弹窗模式下,后面的点击手势,默认关闭
  • 回调参数说明:

    callback -- 授权页事件回调(含生命周期钩子)
    
    // 返回参数
    // iOS版本
    data: {
    action: 事件名称、生命周期名称
    checked: 协议复选框值,仅在复选框事件和登录按钮点击事件中存在
    }
    
    // android版本
    data: {
    viewId: 自定义viewid
    lifecycle: 生命周期名称
    clickViewType: 内置组件事件触发目标
    isCheckboxChecked: 协议复选框的值,仅在复选框事件和登录按钮点击事件中存在
    }

    action值说明:

  • iOS授权页生命周期action:

    • authViewDidLoad -- 加载授权页
    • authViewWillAppear -- 授权页已经出现
    • authViewWillDisappear -- 授权页将要消失
    • authViewDidDisappear -- 授权页已经消失
    • authViewDealloc -- 授权页销毁
  • 页面默认组件点击事件action

    • loginAction -- 登录按钮点击事件(含checked: 0/1)
    • checkedAction -- 复选框事件(含checked: 0/1)
    • appDPrivacy -- 默认协议点击事件
    • appFPrivacy -- 第一个协议点击事件
    • appSPrivacy -- 第二个协议点击事件

lifecycle取值说明:

  • onCreate -- 页面创建
  • onStart -- 页面已开始活动
  • onResume -- 页面展示
  • onPause -- 页面非活动状态
  • onStop -- 页面已停止
  • onDestroy -- 页面销毁

clickViewType取值说明:

  • privacy -- 隐私协议点击事件
  • checkbox -- 复选框点击事件(含isCheckboxChecked: 0/1)
  • loginButton -- 登录按钮点击事件(含isCheckboxChecked: 0/1)
  • leftBackButton -- 左上角返回按钮点击事件

5. 调起授权页面

代码说明:

ydLogin.cucmctAuthorizeLoginCompletion((data) => {
  if (!data.success && !data.cancel) {
    // TODO: 授权失败处理
  } else if (data.cancel) {
    // TODO: 用户主动取消授权处理
  } else {
    // TODO: 授权成功处理,可以进行关闭授权页、服务端验证等
  }
})

参数说明:

  • 回调参数说明:

    回调参数 类型 描述
    success Boolean 授权是否成功
    cancel Boolean 用户是否主动取消授权(android独有)
    accessToken String 授权token

6. 自动登录

注意:该方法仅限iOS

代码说明:

ydLogin.authLoginButtonClick()

7. 设置协议复选框

代码说明:

ydLogin.checkedSelected(checked)

参数说明:

  • 入参说明:

    参数 类型 是否必填 默认值 描述
    checked Boolean true:复选框勾选,false:复选框取消勾选

8. 清除缓存

注意:该方法仅限Android

代码说明:

ydLogin.clearScripCache()

9. 关闭授权页

插件内部不会主动关闭授权页,请在cucmctAuthorizeLoginCompletion回调中主动调用该函数关闭

代码说明:

ydLogin.closeAuthController()

10. 本机校验

用户输入手机号码后,自动校验与当前本机卡号的一致性,无需发送短信验证码

代码说明:

  ydLogin.numberVerify(mobileNumber, (data) => {
    if (data && data.success) {
        console.log(data.token, data.accessCode)
    } else {
        console.log(data.token, data.errorMsg)
    }
  })

参数说明:

  • 入参说明:

    参数 类型 是否必填 默认值 描述
    mobileNumber String 手机号
  • 回调参数说明:

    回调参数 类型 描述
    success Boolean 调用是否成功
    token String 易盾 token
    accessCode String 运营商授权码
    errorMsg String 出现错误时返回错误详情

隐私、权限声明

1. 本插件需要申请的系统权限列表:

网络状态

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

1、插件自身不采集数据,但使用的易盾号码认证sdk采集异常崩溃数据,数据上传至 https://ye.dun.163yun.com 。 2、易盾号码认证sdk依赖运营商 sdk,运营商协议及地址如下: 《中国联通认证服务协议》:https://ms.zzx9.cn/html/oauth/protocol2.html 《中国移动认证服务协议》:https://wap.cmpassport.com/resources/html/contract.html 《天翼账号服务协议与隐私政策》:https://e.189.cn/sdk/agreement/content.do?type=main&appKey=&hidetop=true

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

作者未提供license.md

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问