阅读(4876) (1)

微信小程序API WIFI

2020-07-23 14:51:24 更新

wx.stopWifi(Object object)

基础库 1.6.0 开始支持,低版本需做兼容处理

关闭 Wi-Fi 模块。

参数

Object object

属性 类型 默认值 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

错误

错误码 错误信息 说明
0 ok 正常
12000 not init 未先调用 startWifi 接口
12001 system not support 当前系统不支持相关能力
12002 password error Wi-Fi 密码错误
12003 connection timeout 连接超时
12004 duplicate request 重复连接 Wi-Fi
12005 wifi not turned on Android 特有,未打开 Wi-Fi 开关
12006 gps not turned on Android 特有,未打开 GPS 定位开关
12007 user denied 用户拒绝授权链接 Wi-Fi
12008 invalid SSID 无效 SSID
12009 system config err 系统运营商配置拒绝连接 Wi-Fi
12010 system internal error 系统其他错误,需要在 errmsg 打印具体的错误原因
12011 weapp in background 应用在后台无法配置 Wi-Fi
12013 wifi config may be expired 系统保存的 Wi-Fi 配置过期,建议忘记 Wi-Fi 后重试

示例代码

wx.stopWifi({
  success (res) {
    console.log(res.errMsg)
  }
})

wx.startWifi(Object object)

基础库 1.6.0 开始支持,低版本需做兼容处理

初始化 Wi-Fi 模块。

参数

Object object

属性 类型 默认值 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

错误

错误码 错误信息 说明
0 ok 正常
12000 not init 未先调用 startWifi 接口
12001 system not support 当前系统不支持相关能力
12002 password error Wi-Fi 密码错误
12003 connection timeout 连接超时
12004 duplicate request 重复连接 Wi-Fi
12005 wifi not turned on Android 特有,未打开 Wi-Fi 开关
12006 gps not turned on Android 特有,未打开 GPS 定位开关
12007 user denied 用户拒绝授权链接 Wi-Fi
12008 invalid SSID 无效 SSID
12009 system config err 系统运营商配置拒绝连接 Wi-Fi
12010 system internal error 系统其他错误,需要在 errmsg 打印具体的错误原因
12011 weapp in background 应用在后台无法配置 Wi-Fi
12013 wifi config may be expired 系统保存的 Wi-Fi 配置过期,建议忘记 Wi-Fi 后重试

示例代码

wx.startWifi({
  success (res) {
    console.log(res.errMsg)
  }
})

wx.setWifiList(Object object)

基础库 1.6.0 开始支持,低版本需做兼容处理

设置 wifiList 中 AP 的相关信息。在 onGetWifiList 回调后调用,iOS特有接口。

参数

Object object

属性 类型 默认值 必填 说明
wifiList Array.<Object> 提供预设的 Wi-Fi 信息列表
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

object.wifiList 的结构

属性 类型 默认值 必填 说明
SSID string Wi-Fi 的 SSID
BSSID string Wi-Fi 的 BSSID
password string Wi-Fi 设备密码

错误

错误码 错误信息 说明
0 ok 正常
12000 not init 未先调用 startWifi 接口
12001 system not support 当前系统不支持相关能力
12002 password error Wi-Fi 密码错误
12003 connection timeout 连接超时
12004 duplicate request 重复连接 Wi-Fi
12005 wifi not turned on Android 特有,未打开 Wi-Fi 开关
12006 gps not turned on Android 特有,未打开 GPS 定位开关
12007 user denied 用户拒绝授权链接 Wi-Fi
12008 invalid SSID 无效 SSID
12009 system config err 系统运营商配置拒绝连接 Wi-Fi
12010 system internal error 系统其他错误,需要在 errmsg 打印具体的错误原因
12011 weapp in background 应用在后台无法配置 Wi-Fi
12013 wifi config may be expired 系统保存的 Wi-Fi 配置过期,建议忘记 Wi-Fi 后重试

注意

  • 该接口只能在 onGetWifiList 回调之后才能调用。
  • 此时客户端会挂起,等待小程序设置 Wi-Fi 信息,请务必尽快调用该接口,若无数据请传入一个空数组。
  • 有可能随着周边 Wi-Fi 列表的刷新,单个流程内收到多次带有存在重复的 Wi-Fi 列表的回调。

示例代码

wx.onGetWifiList(function(res) {
  if (res.wifiList.length) {
    wx.setWifiList({
      wifiList: [{
        SSID: res.wifiList[0].SSID,
        BSSID: res.wifiList[0].BSSID,
        password: '123456'
      }]
    })
  } else {
    wx.setWifiList({
      wifiList: []
    })
  }
})
wx.getWifiList()


wx.onWifiConnected(function callback)

基础库 1.6.0 开始支持,低版本需做兼容处理

监听连接上 Wi-Fi 的事件

参数

function callback

连接上 Wi-Fi 的事件的回调函数

参数

Object res
属性 类型 说明
wifi WifiInfo Wi-Fi 信息

wx.onGetWifiList(function callback)

基础库 1.6.0 开始支持,低版本需做兼容处理

监听获取到 Wi-Fi 列表数据事件

参数

function callback

获取到 Wi-Fi 列表数据事件的回调函数

参数

Object res
属性 类型 说明
wifiList Array.<WifiInfo> Wi-Fi 列表数据

wx.offWifiConnected(function callback)

基础库 2.9.0 开始支持,低版本需做兼容处理

取消监听连接上 Wi-Fi 的事件。

参数

function callback

连接上 Wi-Fi 的事件的回调函数


wx.offGetWifiList(function callback)

基础库 2.9.0 开始支持,低版本需做兼容处理

取消监听获取到 Wi-Fi 列表数据事件。

参数

function callback

获取到 Wi-Fi 列表数据事件的回调函数


wx.getWifiList(Object object)

基础库 1.6.0 开始支持,低版本需做兼容处理

请求获取 Wi-Fi 列表。在 onGetWifiList 注册的回调中返回 wifiList 数据。 Android 调用前需要 用户授权 scope.userLocation。

iOS 将跳转到系统的 Wi-Fi 界面,Android 不会跳转。 iOS 11.0 及 iOS 11.1 两个版本因系统问题,该方法失效。但在 iOS 11.2 中已修复。

参数

Object object

属性 类型 默认值 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

错误

错误码 错误信息 说明
0 ok 正常
12000 not init 未先调用 startWifi 接口
12001 system not support 当前系统不支持相关能力
12002 password error Wi-Fi 密码错误
12003 connection timeout 连接超时
12004 duplicate request 重复连接 Wi-Fi
12005 wifi not turned on Android 特有,未打开 Wi-Fi 开关
12006 gps not turned on Android 特有,未打开 GPS 定位开关
12007 user denied 用户拒绝授权链接 Wi-Fi
12008 invalid SSID 无效 SSID
12009 system config err 系统运营商配置拒绝连接 Wi-Fi
12010 system internal error 系统其他错误,需要在 errmsg 打印具体的错误原因
12011 weapp in background 应用在后台无法配置 Wi-Fi
12013 wifi config may be expired 系统保存的 Wi-Fi 配置过期,建议忘记 Wi-Fi 后重试

wx.getConnectedWifi(Object object)

基础库 1.6.0 开始支持,低版本需做兼容处理

获取已连接中的 Wi-Fi 信息。

参数

Object object

属性 类型 默认值 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

object.success 回调函数

参数
Object res
属性 类型 说明
wifi WifiInfo Wi-Fi 信息

错误

错误码 错误信息 说明
0 ok 正常
12000 not init 未先调用 startWifi 接口
12001 system not support 当前系统不支持相关能力
12002 password error Wi-Fi 密码错误
12003 connection timeout 连接超时
12004 duplicate request 重复连接 Wi-Fi
12005 wifi not turned on Android 特有,未打开 Wi-Fi 开关
12006 gps not turned on Android 特有,未打开 GPS 定位开关
12007 user denied 用户拒绝授权链接 Wi-Fi
12008 invalid SSID 无效 SSID
12009 system config err 系统运营商配置拒绝连接 Wi-Fi
12010 system internal error 系统其他错误,需要在 errmsg 打印具体的错误原因
12011 weapp in background 应用在后台无法配置 Wi-Fi
12013 wifi config may be expired 系统保存的 Wi-Fi 配置过期,建议忘记 Wi-Fi 后重试

wx.connectWifi(Object object)

基础库 1.6.0 开始支持,低版本需做兼容处理

连接 Wi-Fi。若已知 Wi-Fi 信息,可以直接利用该接口连接。仅 Android 与 iOS 11 以上版本支持。

参数

Object object

属性 类型 默认值 必填 说明 最低版本
SSID string Wi-Fi 设备 SSID
BSSID string Wi-Fi 设备 BSSID
password string Wi-Fi 设备密码
maunal boolean false 跳转到系统设置页进行连接,仅安卓生效 2.12.0
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

错误

错误码 错误信息 说明
0 ok 正常
12000 not init 未先调用 startWifi 接口
12001 system not support 当前系统不支持相关能力
12002 password error Wi-Fi 密码错误
12003 connection timeout 连接超时
12004 duplicate request 重复连接 Wi-Fi
12005 wifi not turned on Android 特有,未打开 Wi-Fi 开关
12006 gps not turned on Android 特有,未打开 GPS 定位开关
12007 user denied 用户拒绝授权链接 Wi-Fi
12008 invalid SSID 无效 SSID
12009 system config err 系统运营商配置拒绝连接 Wi-Fi
12010 system internal error 系统其他错误,需要在 errmsg 打印具体的错误原因
12011 weapp in background 应用在后台无法配置 Wi-Fi
12013 wifi config may be expired 系统保存的 Wi-Fi 配置过期,建议忘记 Wi-Fi 后重试

示例代码

wx.connectWifi({
  SSID: '',
  password: '',
  success (res) {
    console.log(res.errMsg)
  }
})

WifiInfo

Wifi 信息

属性

string SSID

Wi-Fi 的 SSID

string BSSID

Wi-Fi 的 BSSID

boolean secure

Wi-Fi 是否安全

number signalStrength

Wi-Fi 信号强度

number frequency

基础库 2.12.0 开始支持,低版本需做兼容处理。

Wi-Fi 频段单位 MHz