UNPKG

autobots-lib

Version:

汽车人基础库

1 lines 4.09 kB
'use strict'; import React,{Component} from 'react'; import ReactNative from 'react-native'; import Native from '../native'; const { ToastAndroid, Platform, DeviceEventEmitter, requireNativeComponent, View } = ReactNative; // let vpn = { // /** // * vpn连接 // * @param username 用户名 // * @param password 密码 // * @param serverAddress 服务器地址 // * @param sharedSecret 共享密钥 // * @param remoteId 远程id // * @param localId 本地id // * @param preferenceTitle vpn配置标题 // */ // connectVpn:(username,password,serverAddress,sharedSecret,remoteId,localId,preferenceTitle)=> { // let u = 'autobots://rn/connectVpn?username=' + username + '&password=' + password + '&serverAddress=' + serverAddress + '&sharedSecret=' + sharedSecret + "&remoteId=" + remoteId + "&localId=" + localId + "&preferenceTitle=" + preferenceTitle; // Native.callNative(u); // }, // // /** // * 断开VPN // */ // disconnectVpn:()=>{ // let u = 'autobots://rn/disconnectVpn'; // Native.callNative(u); // }, // // /** // * 获取VPN状态 // */ // getVpnStatus:(callback)=>{ // let u = 'autobots://rn/getVpnStatus'; // Native.callNative(u,(result,data)=>{ // if(callback){ // callback(result,data); // } // }); // }, // /** // * 给原生传递包名 // */ // judgebypackage:(packagename)=>{ // let u = 'autobots://rn/judgebypackage?packagename='+packagename; // Native.callNative(u); // } // } class Vpn extends Component { connectVpn(username,password,serverAddress,sharedSecret,remoteId,localId,preferenceTitle){ let u = 'autobots://rn/connectVpn?username=' + username + '&password=' + password + '&serverAddress=' + serverAddress + '&sharedSecret=' + sharedSecret + "&remoteId=" + remoteId + "&localId=" + localId + "&preferenceTitle=" + preferenceTitle; Native.callNative(u); } disconnectVpn(){ let u = 'autobots://rn/disconnectVpn'; Native.callNative(u); } getVpnStatus(callback){ let u = 'autobots://rn/getVpnStatus'; Native.callNative(u,(result,data)=>{ if(callback){ callback(result,data); } }); } judgebypackage(packagename,callback){ let u = 'autobots://rn/judgebypackage?packagename='+packagename; Native.callNative(u,(result,data)=>{ if(callback){ callback(result,data); } }); } openProgectByPath(packagename,activityname,parame,callback){ let u = 'autobots://rn/openappbyname?packagename='+packagename+'&activityname='+activityname+'&parame='+parame; Native.callNative(u,(result,data)=>{ if(callback){ callback(result,data); } }); } doVpnApp(action,callback){ let u = 'autobots://rn/doVpnApp?action='+action; Native.callNative(u,(result,data)=>{ if(callback){ callback(result,data); } }); } componentWillMount() { var that = this; function cb_android(e:Event){ var data = JSON.parse(e.result); if(that.props.onVpnStatus){ that.props.onVpnStatus(data); } } function cb_ios(p){ if(that.props.onVpnStatus){ that.props.onVpnStatus(p); } } if(Platform.OS == 'android'){ this.vpnlistener = DeviceEventEmitter.addListener('react_event_vpnStatus',cb_android); }else { this.vpnlistener = DeviceEventEmitter.addListener("react_event_vpnStatus",cb_ios); } } componentWillUnmount() { if(this.vpnlistener!=null){ this.vpnlistener.remove(); this.vpnlistener = null; } } render() { return(<View/>); } } module.exports = Vpn;