aliOneLogin

插件概述

aliOneLogin插件是对阿里云的号码认证服务插件进行集成,可以在YonBuilder移动开发项目中快速接入,快速调起一键登录的功能。

插件使用攻略

使用之前须获取阿里云访问密钥,创建认证方案,填入Android证书的包名,获取包签名,最后得到该认证方案的秘钥。

号码认证服务接入流程参考 阿里云号码认证服务使用流程

iOS端http请求配置

在iOS端,若终端设备使用的是中国联通SIM卡的5G移动数据,可能会导致使用一键登录功能获取本机号码失败。需要配置ATS(App Transport Security),具体配置方法参考[APP开发技巧] 【官方】iOS修改Info.plist 中“三.3. 配置ATS(App Transport Security)”

注意:iOS最低适配版本为iOS10

插件接口

register

初始化SDK实例

register({params},callback(ret))

params

secretCode:

  • 类型:字符串
  • 描述:Android认证方案的秘钥,申请方法参考创建认证方案,秘钥在号码认证产品控制台的号码认证服务下的认证方案管理中查看。

iOSsecretCode:

  • 类型:字符串
  • 描述:iOS认证方案的秘钥,申请方法参考创建认证方案,秘钥在号码认证产品控制台的号码认证服务下的认证方案管理中查看。

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    code:"" //SDK返回码
}

code的返回值可以参考codeValue

示例代码

var aliOneLogin = api.require('aliOneLogin');
var params = {
    "secretCode":"", //android认证方案密钥
    "iOSsecretCode":""
}
aliOneLogin.register(params, function(ret){
    api.alert({msg: JSON.stringify(ret)})
});

可用性

Android,iOS 系统

可提供的1.0.0及更高版本

setAuthUIConfig

设置授权页的样式

setAuthUIConfig({params})

params

navColor:

  • 类型:字符串
  • 描述:(可选项)设置导航栏主题色,支持#、rgb、rgba
  • 默认值:#87CEFA

navText:

  • 类型:字符串
  • 描述:(可选项)设置导航栏标题文案内容
  • 默认值:免密登录

navTextColor:

  • 类型:字符串
  • 描述:(可选项)设置导航栏标题文字颜色
  • 默认值:#ffffff

navTextSize:

  • 类型:数字
  • 描述:(可选项)设置导航栏标题文字大小

navHidden:

  • 类型:布尔值
  • 描述:(可选项)设置导航栏是否隐藏
  • 默认值:false

navReturnImgWidth:

  • 类型:数字
  • 描述:(可选项)设置导航栏返回键图片宽度

navReturnImgHeight:

  • 类型:数字
  • 描述:(可选项)设置导航栏返回键图片高度

navReturnImgPath:

  • 类型:字符串
  • 描述:(可选项)设置导航栏返回键图片,android不支持

statusBarColor:

  • 类型:字符串
  • 描述:(可选项)设置状态栏颜色(只支持Android5.0以上系统版本)
  • 默认值:#FFFFFF

lightColor:

  • 类型:布尔值
  • 描述:(可选项) 设置状态栏文字颜色 true为黑色 false为白色
  • 默认值:false

statusBarHidden:

  • 类型:布尔值
  • 描述:(可选项)设置状态栏是否隐藏
  • 默认值:false

sloganText:

  • 类型:字符串
  • 描述:(可选项)设置slogan文字内容
  • 默认值:****提供认证服务

sloganTextColor:

  • 类型:字符串
  • 描述:(可选项)16进制字符串,设置slogan文字颜色

sloganTextSize:

  • 类型:数字
  • 描述:(可选项)设置slogan文字大小

logoImgPath:

  • 类型:字符串
  • 描述:(可选项)设置logo图片,android不支持

logoHidden:

  • 类型:布尔值
  • 描述:(可选项)设置logo是否隐藏
  • 默认值:false

logoWidth:

  • 类型:数字
  • 描述:(可选项)设置logo宽度
  • 默认值:90

logoHeight:

  • 类型:数字
  • 描述:(可选项)设置logo高度
  • 默认值:90

numberColor:

  • 类型:字符串
  • 描述:(可选项)16进制颜色字符串,设置掩码字体颜色

numberSize:

  • 类型:数字
  • 描述:(可选项)设置掩码字体大小

logBtnText:

  • 类型:字符串
  • 描述:(可选项)设置登录按钮文字内容,(注意文字必须包含登录或注册字段)
  • 默认值:一键登录

logBtnTextColor:

  • 类型:字符串
  • 描述:(可选项)16进制字符串,设置登录按钮文字颜色

logBtnTextSize:

  • 类型:数字
  • 描述:(可选项)设置登录按钮文字大小

logBtnWidth:

  • 类型:数字
  • 描述:(可选项)设置登录按钮宽度
  • 默认值:-1

logBtnHeight:

  • 类型:数字
  • 描述:(可选项)设置登录按钮高度
  • 默认值:51

logBtnBackgroundPath:

  • 类型:字符串
  • 描述:(可选项)设置登录按钮背景图片路径,android不支持

privacyOne:

  • 类型:数组
  • 描述:(可选项)自定义第一条隐私条款,[协议名称,协议Url]

privacyTwo:

  • 类型:数组
  • 描述:(可选项)自定义第二条隐私条款,[协议名称,协议Url]

privacyColor:

  • 类型:数组
  • 描述:(可选项)设置隐私条款名称颜色(基础文字颜色,协议文字颜色)

privacyTextSize:

  • 类型:数字
  • 描述:(可选项)设置隐私条款文字大小

setUnckeckedImgPath:

  • 类型:字符串
  • 描述:(可选项)设置复选框未选中时图片,android不支持

setCheckedImgPath:

  • 类型:字符串
  • 描述:(可选项)设置复选框选中时图片,android不支持

switchAccText

  • 类型:字符串
  • 描述:(可选项)设置切换按钮文字内容
  • 默认值:切换到其他方式

closeReturnBack

  • 类型:布尔值
  • 描述:(可选项)授权页物理返回键禁用 true 为禁用 false为不禁用
  • 默认值:false

scapeFullScreen

  • 类型:布尔值
  • 描述:(可选项)横屏水滴屏全屏适配 true 为适配 false为不适配
  • 默认值:false

expandCheckScope

  • 类型:布尔值
  • 描述:(可选项)授权页扩大协议按钮选择范围至我已阅读并同意 true 为扩大 | false不扩大
  • 默认值:false

setScreenOrientation

  • 类型:数字
  • 描述:(可选项)屏幕方向 0 是 横屏 | 1是 竖屏
  • 默认值:1

setDialogWidth

  • 类型:数字
  • 描述:(可选项)设置弹窗模式授权页宽度(单位:dp),设置大于0,即为弹窗模式
  • 默认值:0

setDialogHeight

  • 类型:数字
  • 描述:(可选项)设置弹窗模式授权页高度(单位:dp),设置大于0,即为弹窗模式。
  • 默认值:0

setDiaLogoffsetX

  • 类型:数字
  • 描述:(可选项)设置弹窗模式授权页X轴偏移(单位:dp)。
  • 默认值:0

setDiaLogoffsetY

  • 类型:数字
  • 描述:(可选项)设置弹窗模式授权页Y轴偏移(单位:dp)。
  • 默认值:0

setDialogBottom

  • 类型:布尔值
  • 描述:(可选项)设置授权页是否居于底部。
  • 默认值:false

isPrivacyAlert

  • 类型:布尔值
  • 描述:(可选项)设置二次隐私协议弹窗是否需要显示 true(显示) false(不显示)。
  • 默认值:false

isPrivacyAutoLogin

  • 类型:布尔值
  • 描述:(可选项)设置二次隐私协议弹窗点击按钮是否需要执行登录 true表示需要执行 false表示需要执行。
  • 默认值:false

isPrivacyMask

  • 类型:布尔值
  • 描述:(可选项)设置二次隐私协议弹窗背景蒙层是否显示 true表示显示 false表示不显示。
  • 默认值:false

privacyAlpha

  • 类型:数字
  • 描述:(可选项)设置二次隐私协议弹窗蒙层透明度 取值范围0.3~1.0。
  • 默认值:0.3

privacyAlertAlpha

  • 类型:数字
  • 描述:(可选项)设置二次隐私协议弹窗透明度 取值范围0.3~1.0。
  • 默认值:1.0

alertBgColor

  • 类型:字符串
  • 描述:(可选项)设置二次隐私协议弹窗背景色(同意并继续按钮区域) 。
  • 默认值:#ffffff

privacyRadiusArray

  • 类型:数组
  • 描述:(可选项)设置二次隐私协议弹窗的四个圆角值。顺序为左上、右上、右下、左下,需要填充4个值,不足4个值则无效,如果值小于等于0则为直角。 。
  • 默认值:[0, 0, 0, 0]

privacyAlertWidth

  • 类型:数字
  • 描述:(可选项)设置弹窗的宽度 。

privacyAlertHeight

  • 类型:数字
  • 描述:(可选项)设置弹窗的高度 。

privacyAlertTextSize

  • 类型:数字
  • 描述:(可选项)设置标题文字大小 。
  • 默认值:18

privacyAlertTitleColor

  • 类型:字符串
  • 描述:(可选项)设置标题文字颜色 。
  • 默认值:#000000

alertContentBackgroundColor

  • 类型:字符串
  • 描述:(可选项)设置协议内容背景颜色 。
  • 默认值:#ffffff

alertContentTextSize

  • 类型:字符串
  • 描述:(可选项)设置协议文字大小 。
  • 默认值:16

alertContentColor

  • 类型:字符串
  • 描述:(可选项)设置服务协议文字颜色 。

alertContentBaseColor

  • 类型:字符串
  • 描述:(可选项)设置服务协议非协议文字颜色 。

alertContentHorizontalMargin

  • 类型:数字
  • 描述:(可选项)设置服务协议左右两侧间距 。

alertContentVerticalMargin

  • 类型:数字
  • 描述:(可选项)设置服务协议上下两侧间距 。

alertContentAlignment

  • 类型:数字
  • 描述:(可选项)设置二次隐私协议弹窗协议文案支持居中(0)、居左(1)、居右(2) 。
  • 默认值:1

alertBtnTextColor

  • 类型:字符串
  • 描述:(可选项)设置按钮文字颜色 。
  • 默认值:#000000

alertBtnTextSize

  • 类型:数字
  • 描述:(可选项)设置按钮文字大小 。
  • 默认值:18

alertBtnWidth

  • 类型:数字
  • 描述:(可选项)设置按钮宽度 。

alertBtnHeight

  • 类型:数字
  • 描述:(可选项)设置按钮高度 。

isAlertMaskClose

  • 类型:布尔值
  • 描述:(可选项)设置二次隐私协议弹窗点击背景蒙层是否关闭弹窗 true(表示关闭) false (不关闭)。
  • 默认值:true

示例代码

var params = {
    "navColor":"#ff6f22",
    "navText":"一键登录",
    "navTextSize":18,
    "navHidden":false,
    "navReturnImgPath":"widget://image/back.png",
    "navReturnImgWidth":24,
    "navReturnImgHeight":24,
    "statusBarColor":"#006699",
    "lightColor":true,
    "statusBarHidden":false,
    "sloganText":"ttt认证登录",
    "logoImgPath":"widget://image/10240.png",
    "logoHidden":false,
    "logoWidth":80,
    "logoHeight":80,
    "numberColor":"#006699",
    "numberSize":18,
    "logBtnText":"开始登录",
    "logBtnTextColor":"#006699",
    "logBtnWidth":300,
    "logBtnHeight":50,
    "logBtnBackgroundPath":"widget://image/login.png",
    "privacyTwo":["apicloud","http://www.apicloud.com"],
    "privacyOne":["用户协议","http://www.baidu.com"]
};
var aliOneLogin = api.require('aliOneLogin');
aliOneLogin.setAuthUIConfig(params);

可用性

Android,iOS 系统

可提供的1.0.0及更高版本

oneKeyLogin

唤起一键登录页面

oneKeyLogin({params},callback(ret))

params

timeOut:

  • 类型:数字
  • 描述:(可选项)设置超时时间
  • 默认值:5000

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    code:"",    //字符串类型;SDK返回状态码
    token:""    //字符串类型;获取的token信息,仅当code为600000时有值
}

code的值为阿里云SDK返回值,具体可以参考阿里云SDK返回值,值如下:

codeValue

返回码 返回码描述 建议
600000 获取token成功
600001 唤起授权页成功
600002 唤起授权页失败 建议切换到其他登录方式
600004 获取运营商配置信息失败 创建工单联系工程师
600005 手机终端不安全 切换到其他登录方式
600007 未检测到sim卡 提示用户检查 SIM 卡后重试
600008 蜂窝网络未开启 提示用户开启移动网络后重试
600009 无法判断运营商 创建工单联系工程师
600010 未知异常 创建工单联系工程师
600011 获取token失败 切换到其他登录方式
600012 预取号失败
600013 运营商维护升级,该功能不可用 创建工单联系工程师
600014 运营商维护升级,该功能已达最大调用次数 创建工单联系工程师
600015 接口超时 切换到其他登录方式
600017 AppID、Appkey解析失败 秘钥未设置或者设置错误,请先检查秘钥信息,如木遥无问题创建工单联系工程师
600021 点击登录时检测到运营商已切换 切换到其他登录方式
700000 点击返回,?户取消免密登录
700001 点击切换按钮,?户取消免密登录
700002 点击登录按钮事件
700003 点击check box事件
700004 点击协议富文本文字事件

示例代码

var aliOneLogin = api.require('aliOneLogin');
var params = {
    "timeOut":6000
}
aliOneLogin.oneKeyLogin(params, function(ret){
    if(ret){
        api.alert({msg:JSON.stringify(ret)}) 
    } 
});

可用性

Android,iOS 系统

可提供的1.0.0及更高版本

checkEnvAvailable

检查终端是否支持号码验证,(需要在register方法之后调用)

checkEnvAvailable(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
   "isCheck":true // true为支持号码验证,false为不支持
}

示例代码

var aliOneLogin = api.require('aliOneLogin');

aliOneLogin.checkEnvAvailable(function(ret){
    api.alert({msg: JSON.stringify(ret)})
});

可用性

Android,iOS 系统

可提供的1.0.0及更高版本

getCurrentCarrierName

返回默认上网运营商

getCurrentCarrierName(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    mobileService:"" //字符串类型;CMCC、CUCC、CTCC。 iOS端返回比如中国移动、中国电信、中国联通
}

示例代码

var aliOneLogin = api.require('aliOneLogin');
aliOneLogin.getCurrentCarrierName(function(ret){
    api.alert({msg: JSON.stringify(ret)})
});

可用性

Android,iOS 系统

可提供的1.0.0及更高版本

quitLoginPage

关闭授权页

quitLoginPage()

示例代码

var aliOneLogin = api.require('aliOneLogin');

aliOneLogin.quitLoginPage();

可用性

Android,iOS 系统

可提供的1.0.0及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/04/24