更新记录
1.0.0(2024-08-26)
- 2024-08-26
- 初版发布,主要提供以下方法
-
- VPN初始化
-
- 登录
-
- 同步获取状态
-
- 服务启动 | 关闭
-
- 检查权限
-
- 根据状态码查询信息
-
- 退出登录
-
- 获取设备信息
平台兼容性
App |
快应用 |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
HBuilderX 4.24,Android:6.0,iOS:不支持,HarmonyNext:不确定 |
× |
× |
× |
× |
× |
× |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
× |
× |
× |
× |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
× |
× |
× |
× |
× |
× |
× |
× |
× |
天融信Vpn UTS解决方案
基于天融信VPN sdk封装uniapp插件,基本提供官方所有内置方法。(现仅支持Android,IOS联系定制)
使用示例
import { trxVpn } from "@/uni_modules/rss-trxvpn"
data() {
return {
vpnIsStart: false,
vpnConfig:{
addr: '', // vpn链接地址 eg: 127.0.0.1:8888 可不带 http://
username: '', // 用户
password: '', // 密码
}
}
},
methods:{
initVpn(){
// 初始化VPN
this.trxVpn = new trxVpn({
vpn_addr: this.vpnConfig.addr,
username: this.vpnConfig.username,
password: this.vpnConfig.password,
serviceMode: 1, // 1. 登录成功立即启动服务 2. 手动启动服务
logLevel: 'none', // none , debug, info, warn, error, default
onResultCallback: (res)=>{
console.log('onResultCallback===>',res)
const {type, traceId, data, code, msg} = res;
switch (type){
case 'OPERATION_GET_SERVERCFG': // 获取服务器配置
if(code == -18){
this.vpnIsStart = true;
}else{
this.showToast(msg)
}
break;
case 'OPERATION_LOGIN_SYSTEM':
if(code == -18){
this.vpnIsStart = true;
}
break;
case 'OPERATION_START_SERVICE': // 启动 VPN 服务
if(code == 0 || code == -18){
this.vpnIsStart = true;
}else{
this.vpnIsStart = false;
}
break;
case 'OPERATION_GET_RESOURCE': // 获取资源列表(可不关注,排错使用)
this.ResourceList = data;
break;
case 'OPERATION_GET_KEEPSTATUS':
break;
case 'OPERATION_CLOSE_SERVICE': // 关闭 VPN 服务
break;
default:
break;
}
},
onAcceptSysLog: (res)=>{
console.log(res)
}
})
},
// 调用登录
login(){
this.trxVpn.login();
},
getVpnState(){
let res = this.trxVpn.getVpnState();
},
// 调用启动服务
startService(){
let res = this.trxVpn.startService();
},
// 调用关闭服务
closeService(){
let res = this.trxVpn.closeService();
},
// 调用退出登录 (退出登录前需关闭服务)
logout(){
let res = this.trxVpn.logout();
},
// 检查App权限
checkPermission(){
let res = this.trxVpn.requestpermission()
},
}
API 列表
方法名 |
参数 |
返回值 |
说明 |
login |
void |
void |
登录 |
getVpnState |
void |
void |
获取VPN状态 |
startService |
void |
void |
启动VPN服务 |
closeService |
void |
void |
关闭VPN服务 |
logout |
void |
void |
退出登录 |
requestpermission |
void |
void |
检查App权限 |
getDeviceInfo |
void |
void |
获取设备信息 |
参数说明
参数名 |
类型 |
说明 |
默认值 |
vpn_addr |
string |
VPN地址 |
- |
username |
string |
用户名 |
- |
password |
string |
密码 |
- |
serviceMode |
number |
服务模式 1. 登录成功立即启动服务 2. 手动启动服务 |
1 |
logLevel |
string |
日志级别 none , debug, info, warn, error, default |
none |
onResultCallback |
function |
结果回调 |
- |
onAcceptSysLog |
function |
系统日志回调 |
- |
事件说明
事件名 |
参数 |
说明 |
onResultCallback |
{type, traceId, data, code, msg} |
结果回调 |
onAcceptSysLog |
{type, traceId, data, code, msg} |
系统日志回调 |
onResultCallback 返回值说明
返回值 |
类型 |
说明 |
type |
string |
事件类型 |
traceId |
string |
请求ID |
data |
object |
数据 |
code |
number |
状态码 |
onAcceptSysLog 返回值说明
返回值 |
类型 |
说明 |
iLogLevel |
number |
日志级别 |
strLogTag |
string |
日志的标题 |
strLogInfo |
string |
具体的日志内容 |
APP所需权限及说明
权限名 |
说明 |
android.permission.READ_PHONE_STATE |
|
android.permission.ACCESS_COARSE_LOCATION |
|
android.permission.ACCESS_FINE_LOCATION |
|
android.permission.WRITE_EXTERNAL_STORAGE |
|
返回值及说明 code
错误码 |
返回值说明 |
0 |
当前操作已经成功完成 |
-1 |
当前操作失败 |
-2 |
用户传入了非法的参数 |
-6 |
用户名或密码错误 |
-15 |
无法和 Vone 建立安全连接 |
-18 |
该用户已经登录,当前操作已被拒绝 |
-19 |
用户尚未登录,请登录 |
-20 |
当前用户未正确配置可访问的资源,请与管理员联系 |
-21 |
当前 VPN 服务已经在运行中 |
-22 |
VPN 服务已关闭,安全隧道已断开 |
-35 |
当前设备尚未开启 WIFI 或数据流量 |
-41 |
用户没有授权,操作已取消 |
-439 |
服务器验证客户端 SessionID 非法 |
-40039 |
短信认证码错误 |
-40077 |
不允许多点登录,可以按需踢掉该用户 |
-40024 |
首次登录修改密码 |
-40023 |
密码太简单 |
-40022 |
密码过期 |
code 和 type 互通,类似于 key value 的关系,可以根据 type 找到对应的 code
注意
-
- 所有异步接口调用结果都会在 onResultCallback 中返回;
-
- 所有日志均通过 onAcceptSysLog 返回;
-
- VPN 运行状态可通过 getVpnState (同步获取)得到
-
- 对操作的返回值,成功都是 0,失败返回可以通过 getErrorInfoByCode 查询到具体的出错原因
-
- 请配合天融信官方对接文档使用。( 986893999@qq.com 备注 需要天融信官方对接文档)
如有特殊使用场景,请联系我! 文档完善中...
部分场景下功能仍在完善中,请耐心等待...