更新记录

1.0.0(2020-08-17)

发布


平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 11.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 ×

原生插件通用使用流程:

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


插件介绍

安卓平台的wifi助手,开关热点,连接wifi,局域网设备,端口扫描

部分功能安卓8以上需先开启并授权位置信息权限

部分功能安卓8以上失效,每个厂家不一定相同,具体需自行测试

部分功能需要root权限才能使用

引用方式

const FvvUniWifiHelper = uni.requireNativePlugin("Fvv-UniWifiHelper");

API

//初始化,所有操作都需在初始化后执行
init(callback)

//打开wifi
openWifi()
//关闭wifi
closeWifi()
//检查wifi开关
isWifiEnable()
//获取wifi列表,安卓8以上可能失效,具体需自行测试
getWifiList(callback)
//连接wifi,安卓8以上可能只能连接保存过的wifi,具体需自行测试
connectWifi(object)
//断开wifi
disconnect()
//忘记网络,安卓8以上可能失效,具体需自行测试
forgetNetwork(ssid)
//获取wifi dhcp信息
getDHCPInfo(callback)
//获取wifi信息
getWifiInfo(callback)
//设置静态ip,安卓8以上可能失效,具体需自行测试
setStaticIp(object)

//创建热点,安卓8以上可能只能随机wifi名和密码
createWifi(object,callback)
//关闭热点
closeWifiAp()
//获取连接设备信息
getConnectedInfo(callback)
//检查热点开关
isWifiApEnabled()

//获取本机ip
getHostIP()
//获取本机mac,安卓8以上可能失效,具体需自行测试
getHostMac()

//扫描局域网设备
getLAN(callback)

//端口扫描
portScan()


初始化
init(callback)

参数说明

参数 类型 必填 说明
callback function wifi状态回调函数

callback(object)

参数 类型 说明
type string 回调类型
data object wifi信息,只在连接时会返回

回调类型:

类型 说明
NOT_ACCESS_FINE_LOCATION 没有定位权限
WIFI_STATE_DISABLED wifi已经关闭
WIFI_STATE_DISABLING wifi正在关闭
WIFI_STATE_ENABLED wifi已经打开
WIFI_STATE_ENABLING wifi正在打开
WIFI_STATE_UNKNOWN wifi开关未知状态
DISCONNECTED wifi未连接上,data返回wifi信息
CONNECTED wifi连接上了,data返回wifi信息
CONNECTING wifi正在连接,data返回wifi信息
ERROR_AUTHENTICATING wifi密码错误
SCAN_RESULTS_AVAILABLE_ACTION wifi列表发生变化

示例

FvvUniWifiHelper.init((res) => {
    console.log(res)
});

打开wifi
openWifi()

示例

FvvUniWifiHelper.openWifi();

关闭wifi
closeWifi()

示例

FvvUniWifiHelper.closeWifi();

检查wifi开关
isWifiEnable()

返回值 bool

参数 类型 说明
bool bool wifi开关状态

示例

console.log(FvvUniWifiHelper.isWifiEnable());

获取wifi列表,安卓8以上可能失效
getWifiList(callback)

部分手机需先开启定位
回调函数 callbck 参数说明

参数 类型 说明
wifiList array 返回wifi列表

示例

FvvUniWifiHelper.getWifiList((res) => {
    console.log(res)
});

连接wifi,安卓8以上可能只能连接保存过的wifi
connectWifi(object)

object 参数说明

参数 类型 必填 说明
ssid string wifi名
password string wifi密码,无密码时不填或者空即可
type string wifi加密类型,wep或wpa,空密码时失效

示例

FvvUniWifiHelper.connectWifi({
    ssid:"fvv"
});

断开wifi
disconnect()

示例

FvvUniWifiHelper.disconnect()

忘记网络,安卓8以上可能失效
forgetNetwork(ssid)

参数说明

参数 类型 必填 说明
ssid string wifi名

示例

FvvUniWifiHelper.forgetNetwork("fvv");

获取wifi dhcp信息
getDHCPInfo(callback)

回调函数 callbck 参数说明

参数 类型 说明
dhcpInfo object 返回wifi dhcp信息

示例

FvvUniWifiHelper.getDHCPInfo((res) => {
    console.log(res)
});

获取wifi信息
getWifiInfo(callback)

回调函数 callbck 参数说明

参数 类型 说明
wifiInfo object 返回wifi信息

示例

FvvUniWifiHelper.getWifiInfo((res) => {
    console.log(res)
});

设置静态IP,安卓8以上可能失效
setStaticIp(object)

参数说明

参数 类型 必填 说明
dhcp bool 是否自动获取ip,默认true,true时下面参数无效
ip string 要设置的ip地址
netmask int 掩码,默认24
dns1 string 默认空
dns2 string 默认空
gateway string 默认空

返回值 bool

参数 类型 说明
bool bool 静态ip设置是否成功

示例

console.log(FvvUniWifiHelper.setStaticIp({
    dhcp:false,
    ip:"192.168.0.123",
    dns1:"192.168.0.1",
    gateway:"192.168.0.1"
}));

创建热点,安卓8以上可能只能随机wifi名和密码
createWifi(object,callback)

参数说明

参数 类型 必填 说明
name string wifi名
password string wifi密码,无密码时不填或空即可
hide int 是否隐藏wifi名,默认false

回调函数 callback

参数 类型 说明
state bool 热点是否成功开启
ssid string 热点名
password string 热点密码

示例

console.log(FvvUniWifiHelper.createWifi({
    name:"fvv", 
}));

关闭热点
closeWifiAp()

示例

FvvUniWifiHelper.closeWifiAp()

获取连接设备信息
getConnectedInfo(callback)

回调函数 callbck 参数说明

参数 类型 说明
connect array 连接设备信息

示例

FvvUniWifiHelper.getConnectedInfo((res) => {
    console.log(res)
});

检查热点开关
isWifiApEnabled()

返回值 bool

参数 类型 说明
bool bool 热点开关状态

示例

console.log(FvvUniWifiHelper.isWifiApEnabled());

获取本机ip
getHostIP()

返回值 string

参数 类型 说明
ip string 本机ip

示例

console.log(FvvUniWifiHelper.getHostIP());

获取本机mac,安卓8以上可能失效
getHostMac()

返回值 string

参数 类型 说明
mac string 本机mac

示例

console.log(FvvUniWifiHelper.getHostMac());

扫描局域网设备
getLAN(callback)

回调函数 callbck 参数说明

参数 类型 说明
lan array 局域网设备信息,mac:ip

示例

FvvUniWifiHelper.getLAN((res) => {
    console.log(res)
});

端口扫描,内外网均可
portScan(object,callback)

object 参数说明

参数 类型 必填 说明
ip string 要扫描的ip地址
port string 扫描的端口,空或不填则全部端口,多个端口用逗号分隔
type string 类型,tcp/udp,默认tcp

回调函数 callbck 参数说明

先返回每个端口检查结果,最后返回开启的端口数组

示例

FvvUniWifiHelper.portScan({
    ip:"14.215.177.39",
    port:"80,3306"
},res => {
    console.log(res)
})

隐私、权限声明

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

android.permission.ACCESS_FINE_LOCATION

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

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

许可协议

请参考开源项目地址的开源协议

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