微信小程序教程
7.7.15 Wi-Fi
阅读(

微信小程序介绍

微信小程序设计指南

微信小程序开发简介

微信小程序开发框架

微信小程序框架视图层

微信小程序框架组件

微信小程序框架 API

概述

网络

媒体

操作文件

本地存储

位置

设备

NFC

手机联系人

振动

用户截屏事件

屏幕亮度

iBeacon

蓝牙

剪切板

扫码

拨打电话

罗盘

加速度计

网络状态

系统信息

Wi-Fi

连接指定 Wi-Fi 接口调用时序:

  • Android: startWifi —> connectWifi —> onWifiConnected
  • iOS(仅iOS 11及以上版本支持):
    startWifi —> connectWifi —> onWifiConnected

连周边 Wi-Fi 接口调用时序:

  • Android startWifi —> getWifiList —> onGetWifiList —> connectWifi —> onWifiConnected
  • iOS(iOS 11.0及11.1版本因系统原因暂不支持):
    startWifi —> getWifiList —> onGetWifiList —> setWifiList —> onWifiConnected

注意:

  • Wi-Fi 相关接口暂不可用wx.canIUse接口判断。
  • Android 6.0 以上版本,在没有打开定位开关的时候会导致设备不能正常获取周边的 Wi-Fi 信息。

wx.startWifi(OBJECT)

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

wx.startWifi(OBJECT) 方法初始化 Wi-Fi 模块。

OBJECT参数说明:

参数 类型 必填 说明
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码:

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

wx.stopWifi(OBJECT)

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

wx.stopWifi(OBJECT)方法关闭 Wi-Fi 模块。

OBJECT参数说明:

参数 类型 必填 说明
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码:

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

wx.connectWifi(OBJECT)

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

wx.connectWifi(OBJECT)方法连接 Wi-Fi。若已知 Wi-Fi 信息,可以直接利用该接口连接。仅 Android 与 iOS 11 以上版本支持。

OBJECT参数说明:

参数 类型 必填 说明
SSID String Wi-Fi 设备ssid
BSSID String Wi-Fi 设备bssid
password String Wi-Fi 设备密码
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码:

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

wx.getWifiList(OBJECT)

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

wx.getWifiList(OBJECT)方法请求获取 Wi-Fi 列表,在onGetWifiList注册的回调中返回 wifiList 数据。iOS 将跳转到系统的 Wi-Fi 界面,Android 不会跳转。iOS 11.0 及 iOS 11.1 两个版本因系统问题,该方法失效。但在 iOS 11.2 中已修复。

OBJECT参数说明:

参数 类型 必填 说明
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

wx.onGetWifiList(CALLBACK)

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

wx.onGetWifiList(CALLBACK)方法监听在获取到 Wi-Fi 列表数据时的事件,在回调中将返回 wifiList。

CALLBACK 返回参数说明:

参数 类型 说明
wifiList Array Wi-Fi 列表数据

Wi-Fi 列表项说明:

参数 类型 说明
SSID String Wi-Fi 的SSID
BSSID String Wi-Fi 的BSSID
secure Boolean Wi-Fi 是否安全
signalStrength Number Wi-Fi 信号强度

wx.setWifiList(OBJECT)

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

wx.setWifiList(OBJECT)方法iOS特有接口在onGetWifiList回调后,利用接口设置 wifiList 中 AP 的相关信息。

注意:

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

OBJECT参数说明:

参数 类型 必填 说明
wifiList Array 提供预设的 Wi-Fi 信息列表
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

Wi-Fi 信息列表项说明:

参数 类型 说明
SSID String Wi-Fi 设备ssid
BSSID String Wi-Fi 设备bssid
password String Wi-Fi 设备密码

示例代码:

wx.onGetWifiList({
  success: 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(CALLBACK)

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

wx.onWifiConnected(CALLBACK)方法监听连接上 Wi-Fi 的事件。

CALLBACK 返回参数说明:

参数 类型 说明
wifi Object Wi-Fi 信息

wifi对象说明:

参数 类型 说明
SSID String Wi-Fi 的SSID
BSSID String Wi-Fi 的BSSID
secure Boolean Wi-Fi 是否安全
signalStrength Number Wi-Fi 信号强度

wx.getConnectedWifi(OBJECT)

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

wx.getConnectedWifi(OBJECT)方法获取已连接中的 Wi-Fi 信息

OBJECT参数说明:

参数 类型 必填 说明
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数说明:

参数 类型 说明
wifi Object Wi-Fi 信息

wifi对象说明:

参数 类型 说明
SSID String Wi-Fi 的SSID
BSSID String Wi-Fi 的BSSID
secure Boolean Wi-Fi 是否安全
signalStrength Number Wi-Fi 信号强度

errCode列表

每个接口调用的时候,都会返回errCode字段。

错误码 说明 备注
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

如果本教程对您帮助很大,请随意打赏。您的支持,将鼓励我们提供更好的教程!

← 键盘方向键翻页 →
返回顶部 手机访问 关注微信 返回底部

扫码访问歪脖网

随时随地,想看就看

关注歪脖网微信

分享 web 知识、交流 web 经验