import React from 'react'; import {StyleSheet, Text, View,Alert, TouchableHighlight, Platform} from 'react-native'; import JVerification from 'jverification-react-native'; const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', backgroundColor: '#F5FCFF', }, setBtnStyle: { width: 320, justifyContent: 'center', alignItems: 'center', marginTop: 10, borderWidth: 1, borderColor: '#3e83d7', borderRadius: 8, backgroundColor: '#3e83d7', padding: 10, }, textStyle: { textAlign: 'center', fontSize: 25, color: '#ffffff', }, }); class Button extends React.Component { render() { return {this.props.title} ; } } const initParams = { 'time': 5000, 'appKey': 'a0e6ace8d5b3e0247e3f58db', //仅iOS 'channel': 'channel', //仅iOS 'advertisingId': 'advertisingId', //仅iOS 'isProduction': false, //仅iOS }; //一键登录页面自定义配置,需要在调用login之前设置 const customUIWithConfigiOS = { showWindow:false, navReturnHidden:false, //logo logoImage: 'umcsdk_mobile_logo', logoConstraints:[0,-200,60,60], //number numberConstraints:[0,-132,200,14], //slogn sloganConstraints:[0,-112,200,14], //登录按钮 logBtnConstraints:[0,-80,220,40], loginBtnText:"一键登录", loginBtnTextColor:0x0000FF, privacyConstraints:[0,180,200,60], checkViewConstraints:[-108,180,10,10], unAgreePrivacyCallBack:true, privacyOne: ['隐私条款一', 'https://www.jiguang.cn/about'], //隐私条款一(显示名称和url,请严格按照格式) privacyTwo: ['隐私条款二', 'https://www.jiguang.cn/about'], //隐私条款二(显示名称和url,请严格按照格式) privacyColor: [-16777216, -65536], //隐私条款颜色 (显示名称和url的颜色,请严格按照格式) privacyText: ['登录即同意', '和', '、', '并使用本机号码登录'], //隐私条款名称外的文字 privacyTextSize: 15, //隐私条款文字字体大小 privacyTextGravityMode: 'left', //隐私条款文本对齐方式,目前仅支持 left、center privacyBookSymbolEnable: false, //隐私条款是否显示书名号,默认不显示 } const customUIWithConfigAndroid = { backgroundImage: '', //背景图 statusBarHidden: false, //状态栏是否隐藏 statusBarMode: 'light', //状态栏模式 light,dark navHidden: false, //导航栏是否隐藏 navColor: -16777216, //导航栏颜色 navTitle: 'RN-JVerification', //导航栏标题 navTitleSize: 16, //导航栏标题文字字体大小(单位:sp) navTitleColor: -1, //导航栏标题文字颜色 navReturnHidden: false, //导航栏返回按钮是否隐藏 navReturnImage: 'close', //导航栏左侧返回按钮图标 //为保障显示效果,请同时设置x,y,w,h navReturnX: 5, //导航栏左侧返回按钮图标距屏幕上端偏移(仅Android) navReturnY: 5, //导航栏左侧返回按钮图标距屏幕左侧偏移(仅Android) navReturnW: 25, //导航栏左侧返回按钮图标宽度(仅Android) navReturnH: 25, //导航栏左侧返回按钮图标高度(仅Android) logoHidden: false, //logo是否隐藏 logoImage: 'umcsdk_mobile_logo', //logo(android默认为应用图标;) //为保障显示效果,请同时设置x,y,w,h // logoX: 50, //logo相对于屏幕左边x轴偏移 // logoY: 50, //logo相对于标题栏下边缘y偏移 // logoW: 100, //logo宽 // logoH: 100, //logo高 numberSize: 16, //手机号码字体大小(单位:sp) numberColor: -16777216, //手机号码字体颜色 //为保障显示效果,请同时设置x,y,w,h // numberX: 50, //号码栏相对于屏幕左边x轴偏移 // numberY: 100, //号码栏相对于标题栏下边缘y偏移 // numberW: 250, //号码栏宽度 // numberH: 25, //号码栏高度 sloganHidden: false, //slogan是否隐藏 sloganTextSize: 16, //slogan字体大小 sloganTextColor: -16777216, //slogan文字颜色 //为保障显示效果,请同时设置x,y,w,h // sloganX: 50, //slogan相对于屏幕左边x轴偏移 // sloganY: 150, //slogan相对于标题栏下边缘y偏移 loginBtnText: '登录按钮', //登录按钮文字 loginBtnTextSize: 16, //登录按钮字体大小 loginBtnTextColor: -16777216, //登录按钮文字颜色 loginBtnImage: 'login_btn_selector', //登录按钮selector选择样式 (仅android) loginBtnNormalImage: 'loginBtn_Nor', //登录按钮正常图片 (仅ios,三个同时设置生效) loginBtnDisabledImage: 'loginBtn_Dis', //登录按钮失效图片 (仅ios,三个同时设置生效) loginBtnSelectedImage: 'loginBtn_Hig', //登录按钮按下图片 (仅ios,三个同时设置生效) //为保障显示效果,请同时设置x,y,w,h // loginBtnX: 50, //登录按钮相对于屏幕左边x轴偏移 // loginBtnY: 200, //登录按钮相对于标题栏下边缘y偏移 // loginBtnW: 250, //登录按钮宽度 // loginBtnH: 40, //登录按钮高度 privacyOne: ['隐私条款一', 'https://www.jiguang.cn/about'], //隐私条款一(显示名称和url,请严格按照格式) privacyTwo: ['隐私条款二', 'https://www.jiguang.cn/about'], //隐私条款二(显示名称和url,请严格按照格式) privacyColor: [-16777216, -65536], //隐私条款颜色 (显示名称和url的颜色,请严格按照格式) privacyText: ['登录即同意11111', '和', '、', '并使用本机号码登录'], //隐私条款名称外的文字 privacyTextSize: 15, //隐私条款文字字体大小 privacyTextGravityMode: 'left', //隐私条款文本对齐方式,目前仅支持 left、center privacyBookSymbolEnable: false, //隐私条款是否显示书名号,默认不显示 //为保障显示效果,请同时设置x,y,w,h // privacyX:50, //隐私条款相对于屏幕左边x轴偏移 // privacyY:20, //隐私条款相对于授权页面底部下边缘y偏移 // privacyW:200, //隐私条款宽度 // privacyH:100, //隐私条款高度 privacyCheckboxHidden: false, //checkBox是否隐藏,默认不隐藏 privacyCheckEnable: false, //checkBox默认状态 默认:NO privacyCheckedImage: 'checkbox_selected', //checkBox选中时图片 privacyUncheckedImage: 'checkbox_unSelected', //checkBox未选中时图片 privacyCheckboxSize:10, //设置隐私条款checkbox尺寸 默认是10 unAgreePrivacyHintToast: true, privacyWebNavColor: -16777216, //协议页导航栏背景颜色 privacyWebNavTitle: '服务条款', //协议页导航栏标题(仅iOS) privacyWebNavTitleSize: 16, //协议页导航栏标题字体大小 privacyWebNavTitleColor: -1, //协议页导航栏标题字体颜色 privacyWebNavReturnImage: 'close', //协议页导航栏返回按钮图片 }; const customViewParams = [ {customViewName: 'customView1', customViewPoint: [20, 200, 150, 30]}, {customViewName: 'customView2', customViewPoint: [20, 300, 150, 30]}, {customViewName: 'customView3', customViewPoint: [20, 400, 150, 30]}, ]; const codeConfig = { phoneNumber : "18925241111", //在此替换你的phoneNumber signID : "1", //在此替换你的signID templateID : "1" //在此替换你的templateID }; //安卓授权页弹窗模式 const androidDialogConfig = { privacyNeedClose:true, //弹窗是否需要关闭按钮 privacyCloseTheme:[10, 60, 0, 0], //弹窗关闭按钮偏移量 privacyNeedClose为true时,必须设置它的偏移量 privacyDialogTheme: [300, 400, 0, 0, false], //授权页弹窗模式 privacyNeedStartAnim: true, //设置拉起授权页时是否需要显示默认动画 默认展示 privacyNeedCloseAnim: true, //设置关闭授权页时是否需要显示默认动画 默认展示 navColor:0xff000000, loginBtnText:" 极光认证测试 ", privacyCheckEnable:false, privacyColor:[0xff00f000,0xff000000], loginBtnWidth:40, privacyOne: ['隐私条款一', 'https://www.jiguang.cn/about'], //隐私条款一(显示名称和url,请严格按照格式) privacyColor: [-16777216, -65536], //隐私条款颜色 (显示名称和url的颜色,请严格按照格式) privacyText: ['登录即同意', '和', '、', '并使用本机号码登录'], //隐私条款名称外的文字 privacyTextSize: 12, } //ios授权页弹窗模式 const iosDialogConfig = { navHidden:true, //导航栏是否隐藏 logoImage: 'umcsdk_mobile_logo', //logo(android默认为应用图标;ios默认无) logoConstraints:[0,-100,60,60], //LOGO图片布局对象 logoHidden: false, //logo是否隐藏 numberConstraints:[0,-42,200,14], //号码栏布局对象 sloganConstraints:[0,-20,200,14], //slogan布局对象 logBtnConstraints:[0,20,220,40], loginBtnText: '登录按钮', //登录按钮文字 loginBtnTextSize: 16, //登录按钮字体大小 loginBtnTextColor: -16777216, //登录按钮文字颜色 privacyConstraints:[0,100,200,60], //隐私条款布局对象 checkViewConstraints:[-108,100,10,10], //checkBox布局对象 loadingConstraints:[0,0,20,20], showWindow:true, // 是否弹窗,默认no //windowBackgroundImage:"bg", // 弹框内部背景图片 windowBackgroundAlpha: 0.3, //弹窗外侧 透明度 0~1.0 windowCornerRadius:10, //弹窗圆角数值 windowConstraints:[0,0,300,300], //弹窗布局对象 windowCloseBtnImgs:["windowClose","windowClose"],//弹窗close按钮图片 @[普通状态图片,高亮状态图片] windowCloseBtnConstraints:[-135,-135,20,20],//弹窗close按钮布局, } export default class App extends React.Component { createAlert = (title) => Alert.alert( "提示", title, [ { text: "OK", onPress: () => console.log("OK Pressed") } ] ); constructor(props) { super(props); } componentDidMount() { JVerification.setLoggerEnable(true); this.LoginListener = result => { console.log('LoginListener:' + JSON.stringify(result)); }; JVerification.addLoginEventListener(this.LoginListener); if(Platform.OS == 'ios'){ this.UnCheckboxEvent = result => { console.log('UnCheckboxEvent:未选中隐私协议框'); this.createAlert('Listener:未选中隐私协议框' ); } JVerification.addUncheckBoxEventListener(this.UnCheckboxEvent); } } render() { return (