阿里云一键登录,支持 android 和 ios
$ npm install react-native-nj-one-click --save
$ react-native link react-native-nj-one-click
import { initAuthSDKInfo, showOneKeyLogin } from 'react-native-nj-one-click';
// 弹出一键登录
showOneKeyLogin('', this.registerUrl, this.protectUrl, '', '', '', '', [
'oneKey_login_background',
]);
static initOneKeyLogin() {
initAuthSDKInfo(isIOS() ? IOS_ONE_KEY_LOGIN : ONE_KEY_LOGIN);
//点击其他登录事件
this.otherLoginListener = NativeAppEventEmitter.addListener(
'OTHERLOGIN',
() => {
this.goLoginPage();
},
);
//手机号 网络 卡 校验失败事件
this.errorLoginListener = NativeAppEventEmitter.addListener(
'ERRORLOGIN',
(result) => {
console.log(result);
if(isIOS){
if(result && result.checkBoxIsChecked=="0"){
showToast("请勾选协议");
}
}
// this.goLoginPage();
},
);
//一键登录校验成功事件
this.oneKeyLoginListener = NativeAppEventEmitter.addListener(
'ONEKEYLOGIN',
(result) => {
let token = result.token;
this.normalLogin = false;
Api.oneKeyLogin(token)
.then((resData) => {
// this.normalLogin = true;
loginHandler(resData);
backLoginBeforePage();
})
.catch((error) => {
this.normalLogin = true;
if (error === '100013') {
showSimpleAlert({
title: '当前账号已在另一台设备登录',
content:
'请您在【设置】-【安全设置】-【设备管理】中移除已登录的手机后再试',
confirmTxt: '知道了',
confirmPress: () => {
closeAlert();
},
});
}
// else {
// this.goLoginPage();
// }
});
},
);
}