更新记录

0.1.1(2022-12-16)

1、修复airkiss协议乐鑫芯片配网问题。

0.0.9(2022-04-19)

修复已知问题,增强兼容性! 另外提示:插件安卓版本兼容android5.0(21)以上,打包时提示不影响使用,可在manifest.json文件“App常用其它设置”设置minSdkVersion为21

0.0.8(2022-03-28)

修复esptouch配网无法返回问题!

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 12.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 适用版本区间:9 - 16

原生插件通用使用流程:

  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原生插件配置”->”云端插件“列表中删除该插件重新选择


Gl_WiFi插件说明

本配网插件集成 ESPTouch 和 AirKiss 两种配网协议,可以自由选择一种适用自己芯片的协议。测试过多款机型和芯片,但是不代表所有机型和芯片都能适用,欢迎下载测试!本插件会根据反馈持续更新,目前核心接口都支持Android & IOS,如有问题或需要离线插件请联系,谢谢!

插件使用方式:

const glWiFi = uni.requireNativePlugin('Gl-WiFi');

接口列表:

接口名称 功能描述 安卓android支持 苹果iOS支持
getWiFiName 获取当前连接wifi名称 支持 支持
startConfig 开始配网(保留) 支持 支持
cancel 取消配网 支持 支持
startEsptouch esptouch协议配网 支持 支持
startAirkiss airkiss协议配网 支持 支持
goAppSettingPage 打开APP权限设置页面 支持 支持
goLocationSettingPage 打开位置信息设置页面 支持 不支持【iOS不需要】

接口使用例子:

1、获取当前连接wifi名称:

glWiFi.getWiFiName(result => {
    console.log(result);
});

传入参数说明:

返回参数说明:

code:1为获取成功;其他为失败,详细查看编码列表

ssid:当前连接wifi名称

result:返回结果描述

bssid: BSSID

返回报文样例:

{
    "ssid": "TP-LINK_932D",
    "code": 1,
    "bssid": "48:0e:ec:85:93:2d",
    "result": "success"
}

注:苹果获取WiFi名称需要勾选:Access WiFi Information

2、开始配网【该接口为早期版本遗留,可继续使用】:

glWiFi.startConfig({
    ssid: this.ssid,//wifi账号
    pwd: this.password,//wifi密码
    bssid: this.bssid,//bssid airkiss协议配网不需要传
    broadcast: 1,//1为广播,0位组播 airkiss协议配网不需要传
    type: 1//配网类型:1airkiss,2为esptouch,默认为1,airkiss协议配网
},
    result => {
    console.log(result);
});

传入参数说明:

ssid: wifi账号==必录

pwd:wifi密码==必录

bssid:BSSID airkiss协议配网不需要传

broadcast: 1为广播,0位组播 airkiss协议配网不需要传

type: 配网类型:1airkiss,2为esptouch,默认为1 airkiss协议配网

返回参数说明:

code:1为配网成功;其他为失败

ip: 返回设备内网IP地址

bssid:返回设备bssid(mac地址)

result:返回结果描述

返回报文样例:

{
    "ip": "192.168.0.116",
    "code": 1,
    "bssid": "fcf5c48a99a3",
    "result": "success"
}

注:苹果需要申请开通并勾选:Multicast Networking,申请请参考:https://www.jianshu.com/p/a818ffa11cab 苹果需要打开本地网络权限:设置-》隐私-》本地网络-》打开测试APP的这个权限

3、取消配网

glWiFi.cancel(result => {
    console.log(result);
});

传入参数说明:

返回参数说明:

code:1为取消成功;其他为失败

result:返回结果描述

返回报文样例:

{
    "code": 1,
    "result": "success"
}

4、esptouch协议配网:

glWiFi.startEsptouch({
    ssid: this.ssid,//wifi账号
    pwd: this.password,//wifi密码
    bssid: this.bssid,//bssid
    broadcast: 1//1为广播,0位组播
},
    result => {
    console.log(result);
});

传入参数说明:

ssid: wifi账号==必录

pwd:wifi密码==必录

bssid:BSSID==必录

broadcast: 1为广播,0位组播==必录

返回参数说明:

code:1为配网成功;其他为失败

ip: 返回设备内网IP地址

bssid:返回设备bssid(mac地址)

result:返回结果描述

返回报文样例:

{
    "ip": "192.168.0.116",
    "code": 1,
    "bssid": "fcf5c48a99a3",
    "result": "success"
}

注:苹果需要申请并勾选:Multicast Networking,申请请参考:https://www.jianshu.com/p/a818ffa11cab

5、airkiss协议配网:

glWiFi.startAirkiss({
    ssid: this.ssid,//wifi账号
    pwd: this.password//wifi密码
},
    result => {
    console.log(result);
});

传入参数说明:

ssid: wifi账号==必录

pwd:wifi密码==必录

返回参数说明:

code:1为配网成功;其他为失败

ip: 返回设备内网IP地址

bssid:返回设备bssid(mac地址)

result:返回结果描述

返回报文样例:

{
    "ip": "192.168.0.116",
    "code": 1,
    "bssid": "fcf5c48a99a3",
    "result": "success"
}

6、打开APP权限设置页面

glWiFi.goAppSettingPage(result => {
    console.log(result);
});

传入参数说明:

返回参数说明:

code:1为操作成功;其他为失败

result:返回结果描述

返回报文样例:

{
    "code": 1,
    "result": "success"
}

7、打开位置信息设置页面

glWiFi.goLocationSettingPage(result => {
    console.log(result);
});

传入参数说明:

返回参数说明:

code:1为操作成功;其他为失败

result:返回结果描述

返回报文样例:

{
    "code": 1,
    "result": "success"
}

附录:编码列表

返回结果[code] 描述
1 操作成功
2 操作失败【包含缺少参数等未知错误】
3 配网超时
4 配网中用户取消
5 AP配网热点连接失败【暂无用到】
6 AP配网指令发送超时【暂无用到】
7 当前网络不是WiFi
8 没有定位权限
9 没有开启位置服务【旧版本安卓为GPS,新版本一般为位置信息/服务】

常见问题:

1、安卓获取不到wifi名称

这个多半是权限问题,请参照示例项目去调试;

2、运行测试请使用自定义基座方式

注:如果打自定义基座测试提示:当前运行的基座不包含原生插件[Gl-WiFi]... 请重新打包,尽可能使用最新版本HBuilderX重试打包!如果实在不行可以联系本人获取包含插件的自定义基座。

3、试用购买有什么问题都可以联系作者,会尽最大努力协助解决问题。

隐私、权限声明

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

安卓: <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/> <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/>

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

插件不采集任何数据

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

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