react-native-lewin-cl-shanyan
v1.1.1
Published
创蓝 253 闪验SDK(v2.2), 基于官网的SDK封装RN(React Native)版本
Downloads
24
Maintainers
Readme
RNCLShanYanSDK
创蓝 253 闪验SDK(ios rn 1.0.6 v2.2.1.3 1.0.7后 2.2.1版本,弹框授权JS暂时没有封装 andorid v2.2.0.1), 基于官网的SDK封装RN(React Native)版本
ios 2.2.1.3
1.修复iOS13.1无回调bug 2.优化iOS13.x运营商检测 3.优化初始化回调
不是创蓝内部员工,只是公司刚好用到这个,app是RN版本,封装一层RN皮,贡献出来给各位需要的,我公司app也用这个,会同步更新,有问题欢迎提Issues
添加库
yarn add react-native-lewin-cl-shanyan
react-native link react-native-lewin-cl-shanyan
android配置
- 权限配置AndroidManifest.xml文件
官网地址 http://flash.253.com/document/details?lid=298&cid=93&pc=28&pn=%25E9%2597%25AA%25E9%25AA%258CSDK
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.GET_TASKS"/>
activity配置
<activity
android:name="com.sdk.mobile.manager.login.cucc.OauthActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<!-- **********************移动授权页activity**************************-->
<activity
android:name="com.cmic.sso.sdk.activity.LoginAuthActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<!-- **********************电信授权页activity**************************-->
<activity
android:name="com.chuanglan.shanyan_sdk.view.ShanYanOneKeyActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<!-- **********************协议页activity**************************-->
<activity
android:name="com.chuanglan.shanyan_sdk.view.CTCCPrivacyProtocolActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
iOS配置
- 把sdk里面的CL_ShanYanDependenceSDK复制到工程里面,闪验原生的SDK或者可以使用pod
- 集成指定版本闪验SDK:pod 'CL_ShanYanSDK', '2.2.0.3'
官网 http://flash.253.com/document/details?lid=299&cid=93&pc=28&pn=%25E9%2597%25AA%25E9%25AA%258CSDK
RN API
import RNCLShanYanSDK from 'react-native-lewin-cl-shanyan'
- 初始化
try {
const res = await RNCLShanYanSDK.initWithAppId({ appId: getShanYanAppId(), appKey: getShanYanAppKey(), timeOut: 10 });
console.log(res);
} catch (e) {
console.log(e);
}
- 预取号和拿最终信息
const login = async ()=> {
try{
const res = await RNCLShanYanSDK.quickAuthLogin({otherLoginHidden: false, rightBtnHidden: false,
sloganHidden: true, logoOffY: 10, logo: 'umcsdk_mobile_logo', logoWidth: 200, logoOffX: 5,
otherLoginColor: "#284DA3", otherLoginFontSize: 15, navBarHidden: true, rightBtnBG: 'close',
rightBtnWidth: 60, rightBtnHeight: 60, checkBoxHidden: true, appPrivacyOne: "協議名稱,https://www.baidu.com" }, 10);
console.log(res);
// res {code, message, data}
// code 等于0 是其他方式 1 是右上角关闭点击
// 成功拿到就关闭一键登录
// data 安卓为字符串 自行 JSON.parse
const res1 = await RNCLShanYanSDK.closeLogin();
console.log(res1);
}catch(e){
console.log(e)
}
}
console.log("login");
try{
// 预取号
const res = await RNCLShanYanSDK.preGetPhonenumber();
console.log(res)
// 然后登陆
login();
}catch(e){
console.log(e)
}
quickAuthLogin登录参数说明
参考API注释说明
/**
* img logo sdk暂时只支持 android drawable,不能放在RN JS目录 ios 图片放到 Assets.xcassets 图片名称和安卓最好一致
* @param {*} param0 logo 图片require phone 电话号码 login 登录按钮 navBar 头部导航栏 otherLogin 其他方式登录
* appPrivacyOne/appPrivacyTwo "name,url" 组合
* privacyState true false 是否选中 协议勾选框 默认为true
* @param {*} timeOut 超时时间
*/
static quickAuthLogin(params = {logo: null, logoWidth : null, logoHeight : null,
logoOffX : null, logoOffY : null, logoHidden : null,
phoneFontSize : null, phoneColor : null, phoneWidth : null, phoneOffX : null,
phoneOffY : null, loginTxt : null, loginTxtColor : null, loginFontSize : null, loginWidth : null,
loginHeight : null, loginOffX : null, loginOffY : null, navBarHidden : null, authBG : null
, navBarTintColor : null, navBarBackBtnImg : null, navBarBackBtnHidden : null, navBarBGTransparent : null, navBarTitle : null,
otherLoginHidden : false, otherLoginTxt : null, otherLoginColor : null, otherLoginFontSize : null, otherLoginBGColor : null,
rightBtnHidden : false, rightBtnBG : null, rightBtnWidth : null, rightBtnHeight : null,
sloganTextSize : null, sloganTextColor : null, sloganHidden : null, sloganOffsetX : null, sloganOffsetY : null, sloganOffsetBottomY,
appPrivacyOne : null, appPrivacyTwo : null, appPrivacyColor : null, privacyOffsetBottomY : null, privacyOffsetX : null, privacyState : true,
uncheckedImgPath : null, checkedImgPath : null, checkBoxHidden : null }, timeOut = 10) {
return RNCLShanYanSDK.quickAuthLogin(params, timeOut);
}
登录返回说明
//返回JSON结构
{
code: 0,// code 等于0 是其他方式 1 是右上角关闭点击,其他code参照闪验官网
message: "",
data: "", // 登录返回的appid 等信息
}