更新记录

1.0.0(2024-08-26)

  • 2024-08-26
  • 初版发布,主要提供以下方法
      1. VPN初始化
      1. 登录
      1. 同步获取状态
      1. 服务启动 | 关闭
      1. 检查权限
      1. 根据状态码查询信息
      1. 退出登录
      1. 获取设备信息

平台兼容性

Vue2 Vue3
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

注意

    1. 所有异步接口调用结果都会在 onResultCallback 中返回;
    1. 所有日志均通过 onAcceptSysLog 返回;
    1. VPN 运行状态可通过 getVpnState (同步获取)得到
    1. 对操作的返回值,成功都是 0,失败返回可以通过 getErrorInfoByCode 查询到具体的出错原因
    1. 请配合天融信官方对接文档使用。( 986893999@qq.com 备注 需要天融信官方对接文档)

如有特殊使用场景,请联系我! 文档完善中...

部分场景下功能仍在完善中,请耐心等待...

隐私、权限声明

1. 本插件需要申请的系统权限列表:

android.permission.READ_PHONE_STATE android.permission.ACCESS_COARSE_LOCATION android.permission.ACCESS_FINE_LOCATION android.permission.WRITE_EXTERNAL_STORAGE

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问