更新记录

1.0(2023-12-18)

初始化发布


平台兼容性

Android Android CPU类型 iOS
适用版本区间:6.0 - 12.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 适用版本区间:11 - 17

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


XF-trojanVPN接入

/ Title: XF-trojanVPN Description: XF-trojanVPN模块,实现了iOS平台集成Network Extensions集成leaf、Android集成igniter实现VPN功能。 /

[onLoad](#a1) [onUnload](#a2) [setConfig](#a3) [startVPN](#a4) [stopVPN](#a5) [addStatusCallback](#a6) [isConnected](#a7) [getConfig](#a8)

概述

XF-trojanVPN模块,实现了iOS平台集成Network Extensions集成leaf、Android集成igniter实现VPN功能。

模块使用攻略

  1. iOS扩展配套插件地址下载:Gitee仓库

接口

onLoad

页面onLoad事件执行

onLoad()

示例代码

var demo = uni.requireNativePlugin('XF-trojanVPN');
demo.onLoad();

可用性

iOS、Android系统

可提供的1.0.0及更高版本

onUnload

页面onUnload事件执行

onUnload()

示例代码

var demo = uni.requireNativePlugin('XF-trojanVPN');
demo.onUnload();

可用性

iOS、Android系统

可提供的1.0.0及更高版本

setConfig

设置用户登录配置信息

setConfig({params},callback(ret))

params

account:

  • 类型:字符串
  • 描述:(必填项)用户账户

password:

  • 类型:字符串
  • 描述:(必填项)用户密码

address:

  • 类型:字符串
  • 描述:(必填项)远程地址

sni:

  • 类型:字符串
  • 描述:(必填项)远程服务SNI

port:

  • 类型:数字型
  • 描述:(必填项)端口
  • 默认值:443

verifyCert:

  • 类型:布尔型
  • 描述:(必填项)是否验证证书(仅Android有效)
  • 默认值:true

enableIpv6:

  • 类型:布尔型
  • 描述:(必填项)是否开启IPV6(仅Android有效)
  • 默认值:false

enableClash:

  • 类型:布尔型
  • 描述:(必填项)是否过滤大陆域名/IP(仅Android有效)
  • 默认值:true

allowLan:

  • 类型:布尔型
  • 描述:(必填项)是否允许局域网访问(仅Android有效)
  • 默认值:false

iOSConf

  • 类型:字符串型
  • 描述:(可选项)自己编写自己的配置文件(仅iOS有效)

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,  //布尔型;true||false
}

示例代码

var demo = uni.requireNativePlugin('XF-trojanVPN');
demo.setConfig({
   account: 'zhaofei',
    password: 'ShadkyYye1',
    address: 'jiedian1.ozhong.vip',
    sni: 'jiedian1.ozhong.vip',
    port: 443
},function(ret){
    //JSON.stringify(ret)
});

5+ App示例代码

plus.TrojanVPN.setConfig("account","password","address","port", function( result ) {alert(result)},function(result){alert(result)});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

startVPN

连接VPN

startVPN(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,  //布尔型;true||false
    msg: ""
}

示例代码

var demo = uni.requireNativePlugin('XF-trojanVPN');
demo.startVPN(function(ret){
    //JSON.stringify(ret)
});

5+ App示例代码

plus.TrojanVPN.startVPN(function( result ) {alert(result)},function(result){alert(result)});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

stopVPN

断开VPN

stopVPN(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true
}

示例代码

var demo = uni.requireNativePlugin('XF-trojanVPN');
demo.stopVPN(function(ret) {});

5+ App示例代码

plus.TrojanVPN.stopVPN(function( result ) {alert(result)},function(result){alert(result)});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

addStatusCallback

监听状态

addStatusCallback(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,  //布尔型;true||false
    proxyState: -1,//-1 0 1 2 3
    stateName:'Invalid',//Invalid Connecting Connected Disconnecting Disconnected
    proxyPort: 1081,
    message: ''
}

示例代码

var demo = uni.requireNativePlugin('XF-trojanVPN');
demo.addStatusCallback(function(ret) {});

5+ App示例代码

plus.TrojanVPN.addStatusCallback(function( result ) {alert(result)});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

isConnected

VPN是否连接

isConnected()

ret:

  • 类型:布尔型

示例代码

var demo = uni.requireNativePlugin('XF-trojanVPN');
var ret = demo.isConnected();
alert(ret);

5+ App示例代码

alert(plus.TrojanVPN.isConnected());

可用性

iOS、Android系统

可提供的1.0.0及更高版本

getConfig

获取当前配置文件

getConfig()

ret:

  • 类型:字符串型

示例代码

var demo = uni.requireNativePlugin('XF-trojanVPN');
demo.getConfig();

5+ App示例代码

alert(plus.TrojanVPN.getConfig());

可用性

iOS、Android系统

可提供的1.0.0及更高版本

隐私、权限声明

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

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

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

暂无用户评论。

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