Skip to content

Wi‑Fi

onWifiConnected

TIP

該API使用方法為: wx.onWifiConnected(function listener)

TIP

支持度:

  • Android: 支持
  • iOS: 支持
  • 功能說明: 監聽連接上Wi-Fi的事件
  • 參數及說明: function listener,連接上Wi-Fi的事件的監聽函數,參數Object res如下:
    内容類型說明
    wifiWifiInfoWi-Fi資訊

offWifiConnected

TIP

該API使用方法為: wx.offWifiConnected(function listener)

  • 功能說明: 移除連接上Wi-Fi的事件的監聽函數

  • 參數及說明: function listener,onWifiConnected傳入的監聽函數。 不傳此參數則移除所有監聽函數

  • 示例代碼:

js
const listener = function (res) { console.log(res) }

wx.onWifiConnected(listener)
wx.offWifiConnected(listener) // Pass the same function object used for listening.

stopWifi

TIP

該API使用方法為: wx.stopWifi(Object object)

  • 功能說明: 關閉Wi-Fi模塊

  • 參數及說明: Object object。

    内容類型預設值必填說明
    successFunction-接口調用成功的回呼函數
    failFunction-接口調用失敗的回呼函數
    completeFunction-接口調用結束的回呼函數(無論成功與否都執行)
  • 錯誤碼

    錯誤碼錯誤資訊說明
    0ok正常
    12000not init未先調用 startWifi 接口
    12001system not support當前系統不支持相關能力
    12002password error Wi-Fi密碼錯誤
    12003connection timeout連接超時,僅Android支持
    12004duplicate request重複連接Wi-Fi
    12005wifi not turned onAndroid特有,未打開Wi-Fi開關
    12006gps not turned onAndroid特有,未打開GPS定位開關
    12007user denied用戶拒絕授權連結Wi-Fi
    12008invalid SSID無效SSID
    12009system config err系統運營商配置拒絕連接Wi-Fi
    12010system internal error系統其他錯誤,需要在errmsg列印具體的錯誤原因
    12011weapp in background應用在後臺無法配置Wi-Fi
    12013wifi config may be expired系統保存的Wi-Fi配置過期,建議忘記Wi-Fi後重試,僅Android支持
    12014invalid WEP / WPA passwordiOS特有,無效的WEP / WPA密碼
  • 示例代碼:

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

startWifi

TIP

該API使用方法為: wx.startWifi(Object object)

  • 功能說明: 初始化Wi-Fi模塊

  • 參數及說明: Object object。

    内容類型預設值必填說明
    successFunction-接口調用成功的回呼函數
    failFunction-接口調用失敗的回呼函數
    completeFunction-接口調用結束的回呼函數(無論成功與否都執行)
  • 錯誤碼

    錯誤碼錯誤資訊說明
    0ok正常
    12000not init未先調用 startWifi 接口
    12001system not support當前系統不支持相關能力
    12002password error Wi-Fi密碼錯誤
    12003connection timeout連接超時,僅Android支持
    12004duplicate request重複連接Wi-Fi
    12005wifi not turned onAndroid特有,未打開Wi-Fi開關
    12006gps not turned onAndroid特有,未打開GPS定位開關
    12007user denied用戶拒絕授權連結Wi-Fi
    12008invalid SSID無效SSID
    12009system config err系統運營商配置拒絕連接Wi-Fi
    12010system internal error系統其他錯誤,需要在errmsg列印具體的錯誤原因
    12011weapp in background應用在後臺無法配置Wi-Fi
    12013wifi config may be expired系統保存的Wi-Fi配置過期,建議忘記Wi-Fi後重試,僅Android支持
    12014invalid WEP / WPA passwordiOS特有,無效的WEP / WPA密碼
  • 示例代碼:

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

onGetWifiList

TIP

該API使用方法為: wx.onGetWifiList(function listener)

  • 功能說明: 監聽獲取到Wi-Fi清單數據事件
  • 參數及說明: function listener,獲取到Wi-Fi清單數據事件的監聽函數。 參數Object res如下:
    内容類型說明
    wifiListArray.<WifiInfo>Wi-Fi清單數據

offGetWifiList

TIP

該API使用方法為: wx.offGetWifiList(function listener)

  • 功能說明: 移除獲取到Wi-Fi清單數據事件的監聽函數

  • 參數及說明: function listener,onGetWifiList傳入的監聽函數。 不傳此參數則移除所有監聽函數

  • 示例代碼:

js
const listener = function (res) { console.log(res) }

wx.onGetWifiList(listener)
wx.offGetWifiList(listener) // Pass the same function object used for listening.

getConnectedWifi

TIP

該API使用方法為: wx.getConnectedWifi(Object object)

  • 功能說明: 獲取已連接中的Wi-Fi資訊

  • 參數及說明: Object object。

    内容類型預設值必填說明
    partialInfobooleanfalse是否需要返回部分Wi-Fi資訊
    successFunction-接口調用成功的回呼函數
    failFunction-接口調用失敗的回呼函數
    completeFunction-接口調用結束的回呼函數(無論成功與否都執行)
  • object.success回呼函數參數: object res。

    内容類型說明
    wifiWifiInfoWi-Fi資訊
  • 錯誤碼

    錯誤碼錯誤資訊說明
    0ok正常
    12000not init未先調用 startWifi 接口
    12001system not support當前系統不支持相關能力
    12002password error Wi-Fi密碼錯誤
    12003connection timeout連接超時,僅Android支持
    12004duplicate request重複連接Wi-Fi
    12005wifi not turned onAndroid特有,未打開Wi-Fi開關
    12006gps not turned onAndroid特有,未打開GPS定位開關
    12007user denied用戶拒絕授權連結Wi-Fi
    12008invalid SSID無效SSID
    12009system config err系統運營商配置拒絕連接Wi-Fi
    12010system internal error系統其他錯誤,需要在errmsg列印具體的錯誤原因
    12011weapp in background應用在後臺無法配置Wi-Fi
    12013wifi config may be expired系統保存的Wi-Fi配置過期,建議忘記Wi-Fi後重試,僅Android支持
    12014invalid WEP / WPA passwordiOS特有,無效的WEP / WPA密碼

WifiInfo

  • 功能說明: Wifi資訊

TIP

  • Android wx.connectWifi / wx.getConnectedWifi若設定了partialInfo: true, 或者調用了wx.onWifiConnectedWithPartialInfo事件,將會返回只包含SSID内容的WifiInfo對象。
  • iOS wx.getConnectedWifi若設定了partialInfo: true, 將會返回只包含SSID、BSSID内容的WifiInfo對象,且需要用戶開啟宿主用戶端定位許可權才能正確返回結果
  • 在某些情况下,可能Wi-Fi已經連接成功,但會因為獲取不到完整的WifiInfo對象報錯,具體錯誤資訊為errCode:12010, errMsg: can't gain current wifi或no wifi is connected,如果開發者不需要完整的WifiInfo對象,則可以通過採取上述策略解决報錯問題

内容

  • string SSID: Wi-Fi的SSID
  • string BSSID: Wi-Fi的BSSID
  • boolean secure: Wi-Fi是否安全
  • number signalStrength: Wi-Fi信號強度,Android取值0~100,iOS取值0~1,值越大强度越大
  • number frequency: Wi-Fi頻段單位MHz