quickLogin
getPhoneNumber
getAuthorization
dismissViewController
mobileAuth
networkInfo
delectScrip
setTimeoutInterval
概述
封装了移动一键登录SDK
使用此模块之前建议先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下:
- 名称:quickLogin
- 参数:appId、appKey
- 配置示例:
<feature name="quickLogin">
<param name="appId_iOS" value="" />
<param name="appKey_iOS" value="" />
<param name="appId_android" value="" />
<param name="appKey_android" value="" />
</feature>
- 字段描述:
appId_iOS、appId_android:(必须配置)应用的appid
appKey_iOS、appKey_android:(必须配置)应用密钥
getPhoneNumber
本方法用于发起取号请求,SDK完成网络判断、蜂窝数据网络切换等操作并缓存凭证scrip。
getPhoneNumber({},callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
resultCode:'', //字符类型;返回相应的结果码(仅iOS支持)
desc:'', //字符类型;调用描述(仅iOS支持)
resultObj:{ //JSON对象类型 返回结果(仅android支持)
resultCode:, //数字类型;返回码
desc/resultString/resultDesc:'', //字符串类型;失败时返回错误说明
traceID:'', //字符串类型;主要用于定位问题
},
}
示例代码
var quickLogin = api.require('quickLogin');
quickLogin.getPhoneNumber({
},function(ret){
console.log(JSON.stringify(ret))
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getAuthorization
应用调用本方法时,SDK将拉起用户授权页面,用户确认授权后,SDK将返回token给应用客户端。可通过返回码200087监听授权页是否成功拉起
getAuthorization(callback(ret))
params
styles:
- 类型:JSON 对象
- 描述:(可选项)模块各部分的样式
- 内部字段:
{
logBtnOffsetY:314, //(可选项)数字类型;登录按钮Y偏移量;默认:314
numberOffsetY:164, //(可选项)数字类型;号码栏Y偏移量;默认:164
logBtnHeight:44, //(可选项)数字类型;登录按钮高h 注意:必须大于40;默认:44
numberTextSize:36, //(可选项)数字类型;手机号码文字大小;默认:44
numberTextColor: '#333333', //(可选项)字符串类型;手机号码文字颜色,支持 rgb,rgba,#;默认:'#333333'
logBtnText: '', //(可选项)字符串类型;登陆按钮文字;默认:'本机号码一键登录'
logBtnTextSize:16, //(可选项)数字类型;登陆按钮文字大小;默认:16(仅iOS支持,androiid sdk设置不起作用)
logBtnTextColor: '#FFFFFF', //(可选项)字符串类型;登陆按钮文字颜色,支持 rgb,rgba,#;默认:'#FFFFFF'
checkboxWH:12, //(可选项)(checkboxWH、checkboxImgPath、checkboxImgUnCheck 安卓端必须同时设置或不设置)数字类型;复选框大小(只能正方形)必须大于12;默认:12
checkboxImgPath:'', //(可选项)(checkboxWH、checkboxImgPath、checkboxImgUnCheck 安卓端必须同时设置或不设置)字符串类型;复选框图片,例:‘umcsdk_check_image’(仅android支持)
checkboxImgUnCheck:'', //(可选项)(checkboxWH、checkboxImgPath、checkboxImgUnCheck 安卓端必须同时设置或不设置)字符串类型;复选框未选择图片,例:‘umcsdk_uncheck_image’(仅android支持)
privacyOffsetYB:23, //(可选项)数字类型;隐私条款Y偏移量(注:此属性为与屏幕底部的距离);默认:23
logBtnOriginL:32, //(可选项)数字类型;登录按钮的左边距 注意:按钮呈现的宽度在竖屏时必须大于屏幕的一半, 横屏时必须大于屏幕的三分之一;默认:32
logBtnOriginR:32, //(可选项)数字类型;登录按钮的右边距 注意:按钮呈现的宽度在竖屏时必须大于屏幕的一半, 横屏时必须大于屏幕的三分之一;默认:32
appPrivacy:'', //(可选项)字符串类型;隐私的内容模板;全句可自定义但必须保留"&&默认&&"字段表明SDK默认协议, 否则设置不生效,默认:sdk自带(仅iOS支持)
privacySymbol:true, //(可选项)布尔类型;隐私条款默认协议是否开启书名号;默认:true(仅iOS支持)
appPrivacyUrls:[{ //json数组对象;隐私条款跳转url设置,appPrivacy默认设置无效(仅iOS支持)
name:'', //字符串类型;点击跳转的文字
url:'' //字符串类型;跳转的url
}],
privacyAlignment:{ //(可选项)JSON对象类型;协议设置(仅android支持)
privateText:'', //字符串类型;协议文本,必须包含【$$运营商条款$$】字段
privateCustom:'', //字符串类型;自定义条款
privateUrl:'', //字符串类型;自定义条款连接
privateCustom2:'', //字符串类型;自定义条款
privateUrl2:'', //字符串类型;自定义条款连接
}
}
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
resultCode:'', //字符类型;返回相应的结果码(仅iOS支持)
token:'' //字符类型;成功时返回:临时凭证,token有效期2min,一次有效,同一用户 (手机号)10分钟内获取token且未使用的数量不超过30个 (仅iOS支持)
resultObj:{ //JSON对象类型 返回结果(仅android支持)
resultCode:, //数字类型;返回码
desc/resultString/resultDesc:'', //字符串类型;失败时返回错误说明
authType:, //字符串类型;认证类型 0/其他,1/wifi下网关鉴权,2/网关鉴权
token:'', //字符串类型;临时凭证
authTypeDec:'', //字符串类型;认证类型描述,对应authType
},
}
示例代码
var quickLogin= api.require('quickLogin');
quickLogin.getAuthorization({
},function(ret){
console.log(JSON.stringify(ret))
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
dismissViewController
授权页面的关闭
dismissViewController()
示例代码
var quickLogin= api.require('quickLogin');
quickLogin.dismissViewController();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
mobileAuth
本机号码校验
mobileAuth(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
resultCode:'',//字符类型;接口返回码,“103000”为成功。(仅iOS支持)
token:'' //字符类型;成功返回:临时凭证,token有效期2min,一次有效,同一用户(手机 号)10分钟内获取token且未使用的数量不超过30个 (仅iOS支持)
resultObj:{ //JSON对象类型 返回结果(仅android支持)
resultCode:, //数字类型;返回码
authType:, //数字类型;登陆类型
authTypeDes:'', //字符串类型;登陆类型中文描述
token:'', //字符串类型;临时凭证
traceID:'', //字符串类型;用于定位问题
},
}
示例代码
var quickLogin = api.require('quickLogin');
quickLogin.mobileAuth(function(ret){
console.log(JSON.stringify(ret))
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
networkInfo
获取网络状态和运营商类型
networkInfo(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
networkType:,//数字类型;0.无网络; 1.数据流量; 2.wifi; 3.数据+wifi
carrier: //数字类型;0.未知(未插sim卡,其它运营商等); 1.中国移动;
2.中国联通;3.中国电信
}
示例代码
var quickLogin = api.require('quickLogin');
quickLogin.networkInfo(function(ret){
console.log(JSON.stringify(ret))
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
delectScrip
删除临时取号凭证
delectScrip(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
state:,//布尔类型;删除结果状态,(true:删除成功,false:删除失败)
}
示例代码
var quickLogin = api.require('quickLogin');
quickLogin.delectScrip(function(ret){
console.log(JSON.stringify(ret))
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setTimeoutInterval
本方法用于设置取号、一键登录、本机号码校验请求的超时时间
setTimeoutInterval({params})
params
timeout:
- 类型:数字类型
- 描述:设置取号、授权请求和本机号码校验请求时的超时时间,开发者 不配置时,默认所有请求的超时时间都为8000,单位毫秒
示例代码
var quickLogin= api.require('quickLogin');
quickLogin.setTimeoutInterval({
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
错误码
- 103000 成功
- 103101 请求签名错误
- 103102 包签名/Bundle ID错误
- 103111 网关IP错误
- 103119 appid不存在
- 103211 其他错误,(如有需要请联系qq群609994083内的移动认证开发)
- 103902 scrip失效
- 103911 token请求过于频繁,10分钟内获取token且未使用的数量不超过30个
- 103273 预取号联通重定向
- 105002 移动取号失败
- 105003 电信取号失败
- 105021 已达当天取号限额
- 105302 appid不在白名单
- 105313 非法请求
- 200020 用户取消登录
- 200021 数据解析异常
- 200022 无网络
- 200023 请求超时
- 200025 其他错误(socket、系统未授权数据蜂窝权限等,如需要协助,请加入qq群 发问)
- 200027 未开启数据网络
- 200028 网络请求出错
- 200038 异网取号网络请求失败
- 200048 用户未安装sim卡
- 200050 EOF异常
- 200061 授权页面异常
- 200064 服务端返回数据异常
- 200072 CA根证书校验失败
- 200080 本机号码校验仅支持移动手机号
- 200082 服务器繁忙
- 200086 ppLocation为空
- 200087 仅用于监听授权页成功拉起
- 200089(已废除)SDK正在处理
- 200096 当前网络不支持取号