更新记录
1.0(2023-12-18)
初始化发布
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:6.0 - 12.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | 适用版本区间:11 - 17 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
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功能。 /
概述
XF-trojanVPN模块,实现了iOS平台集成Network Extensions集成leaf、Android集成igniter实现VPN功能。
模块使用攻略
- 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及更高版本