微信小程序之Wi-Fi-小程序打通接口文檔
微信小程序之Wi-Fi-小程序打通接口文檔,微信小程序用戶連Wi-Fi后長期逗留在場所內(nèi),可以在連接Wi-Fi后進(jìn)入微信點擊微信聊首頁歡迎語,即可進(jìn)入預(yù)先設(shè)置的小程序中獲得資訊或服務(wù),查詢門店WiFi信息接口和連Wi-Fi完成頁跳轉(zhuǎn)小程序。
目錄:
1、連Wi-Fi完成頁跳小程序
2、商戶主頁跳轉(zhuǎn)小程序
3、查詢門店Wi-Fi信息接口
1、連Wi-Fi完成頁跳轉(zhuǎn)小程序
設(shè)置聯(lián)網(wǎng)完成頁接口
場景介紹:
設(shè)置需要跳轉(zhuǎn)的小程序,連網(wǎng)完成點擊“完成”按鈕,即可進(jìn)入設(shè)置的小程序。
注:只能跳轉(zhuǎn)與公眾號關(guān)聯(lián)的小程序。
接口調(diào)用
接口調(diào)用說明
協(xié)議:https 請求方式: POST 請求URL: https://api.weixin.qq.com/bizwifi/finishpage/set?access_token=ACCESS_TOKEN POST數(shù)據(jù)格式:JSON
請求參數(shù)說明
參數(shù) | 是否必填 | 說明 |
---|---|---|
access_token | 是 | 調(diào)用接口憑證 |
POST數(shù)據(jù) | 是 | JSON數(shù)據(jù) |
POST數(shù)據(jù)
數(shù)據(jù)示例:
{ "shop_id": 429620, "finishpage_url": "", "wxa_user_name": "gh_966b66e00888", "wxa_path": "pages/index/index", "finishpage_type": 1 }
字段說明
字段 | 是否必填 | 說明 |
---|---|---|
shop_name | 是 | 門店名稱 |
finishpage_url | 否 | 連網(wǎng)完成頁URL,finishpage_type為0時有效 |
wxa_user_name | 否 | 連網(wǎng)完成頁跳轉(zhuǎn)小程序原始id,finishpage_type為1時有效,要求小程序與公眾號有綁定關(guān)系 |
wxa_path | 否 | 連網(wǎng)完成頁跳轉(zhuǎn)小程序路徑,finishpage_type為1時有效,需要做urlencode |
finishpage_type | 否 | 連網(wǎng)完成頁跳轉(zhuǎn)類型,0為H5,1為小程序 |
##2、設(shè)置頂部banner跳轉(zhuǎn)小程序接口
場景介紹:
用戶連Wi-Fi后長期逗留在場所內(nèi),可以在連接Wi-Fi后進(jìn)入微信點擊微信聊首頁歡迎語,即可進(jìn)入預(yù)先設(shè)置的小程序中獲得資訊或服務(wù)。
注:只能跳轉(zhuǎn)與公眾號關(guān)聯(lián)的小程序。
接口調(diào)用
接口調(diào)用說明
協(xié)議:https 請求方式: POST 請求URL:https://api.weixin.qq.com/bizwifi/homepage/set?access_token=ACCESS_TOKEN POST數(shù)據(jù)格式:JSON
請求參數(shù)說明
參數(shù) | 是否必填 | 說明 |
---|---|---|
access_token | 是 | 調(diào)用接口憑證 |
POST數(shù)據(jù) | 是 | JSON數(shù)據(jù) |
POST數(shù)據(jù)
數(shù)據(jù)示例:
{ "shop_id": 2200766, "template_id": 2, "struct": { "wxa_user_name": "gh_5cb1b4334f3a", "wxa_path": "index.html?query=abc" } }
字段說明
字段 | 是否必填 | 說明 |
---|---|---|
shop_id | 是 | 門店ID |
template_id | 是 | 2-關(guān)聯(lián)小程序(支持門店小程序) |
struct | 是 | 連網(wǎng)完成頁跳轉(zhuǎn)小程序原始id,finishpage_type為1時有效,要求小程序與公眾號有綁定關(guān)系 |
wxa_user_name | 是 | 賬號原始ID |
wxa_path | 是 | 小程序頁面路徑 |
3、查詢門店WiFi信息接口
場景介紹
接口調(diào)用說明
協(xié)議:https http請求方式: POST 請求URL:https://api.weixin.qq.com/bizwifi/shop/get?access_token=ACCESS_TOKEN POST數(shù)據(jù)格式:JSON
請求參數(shù)說明
參數(shù) | 是否必填 | 說明 |
---|---|---|
access_token | 是 | 調(diào)用接口憑證 |
POST數(shù)據(jù) | 是 | JSON數(shù)據(jù) |
POST數(shù)據(jù)
數(shù)據(jù)示例:
{ "errcode": 0, "data": { "shop_name": "南山店", "ssid": " WX123", "ssid_list": [ "WX123", "WX456" ], "ssid_password_list": [ { "ssid": "WX123", "password": "123456789" }, { "ssid": "WX456", "password": "21332465dge" } ], "password": "123456789", "protocol_type": 4, "ap_count": 2, "template_id": 1, "homepage_url": "http://www.weixin.qq.com/", "bar_type": 1, "sid":"", "poi_id":"285633617", "homepage_wxa_user_name":"", "homepage_wxa_path":"", "finishpage_url":"", "finishpage_wxa_user_name":"gh_966b66e00888", "finishpage_wxa_path":"pages/index/index", "finishpage_type":1, } }
字段說明
字段 | 是否必填 | 說明 |
---|---|---|
shop_name | 是 | 門店名稱 |
ssid | 是 | 無線網(wǎng)絡(luò)設(shè)備的ssid,未添加設(shè)備為空,多個ssid時顯示第一個 |
ssid_list | 是 | 無線網(wǎng)絡(luò)設(shè)備的ssid列表,返回數(shù)組格式 |
ssid_password_list | 是 | ssid和密碼的列表,數(shù)組格式。當(dāng)為密碼型設(shè)備時,密碼才有值 |
password | 是 | 設(shè)備密碼,當(dāng)設(shè)備類型為密碼型時返回 |
protocol_type | 是 | 門店內(nèi)設(shè)備的設(shè)備類型,0-未添加設(shè)備,4-密碼型設(shè)備,31-portal型設(shè)備 |
ap_count | 是 | 門店內(nèi)設(shè)備總數(shù) |
template_id | 是 | 商家主頁(bar條)模板類型 0 默認(rèn)頁 1 自定義h5 2 跳轉(zhuǎn)小程序 |
homepage_url | 是 | 商家主頁(bar條)鏈接 |
bar_type | 是 | 頂部常駐入口上顯示的文本內(nèi)容:0--歡迎光臨+公眾號名稱;1--歡迎光臨+門店名稱;2--已連接+公眾號名稱+WiFi;3--已連接+門店名稱+Wi-Fi |
finishpage_url | 是 | 連網(wǎng)完成頁鏈接,finishpage_type為0時有效 |
sid | 是 | 商戶自己的id,與門店poi_id對應(yīng)關(guān)系,建議在添加門店時候建立關(guān)聯(lián)關(guān)系,具體請參考“微信門店接口” |
poi_id | 是 | 門店ID(適用于微信卡券、微信門店業(yè)務(wù)),具體定義參考微信門店,與shop_id一一對應(yīng)。 |
homepage_wxa_user_name | 是 | 商家主頁(bar條)跳轉(zhuǎn)的小程序原始id,template_id為2時有效 |
finishpage_wxa_user_name | 是 | 完成頁跳轉(zhuǎn)的小程序原始id,finishpage_type為1時有效 |
inishpage_wxa_path | 是 | 完成頁跳轉(zhuǎn)的小程序路徑,需要做urlencode,finishpage_type為1時有效 |
finishpage_type | 是 |
完成頁跳轉(zhuǎn)類型 0為H5;1為小程序 |
在小程序中支持搜索周邊的 Wi-Fi,同時可以針對指定 Wi-Fi,傳入密碼發(fā)起連接。
該系列接口為系統(tǒng)原生能力,如需查看“微信連Wi-Fi”能力及配置跳轉(zhuǎn)小程序,請參考文檔。
連接指定 Wi-Fi 接口調(diào)用時序:
Android: startWifi —> connectWifi —> onWifiConnected
iOS(僅iOS 11及以上版本支持):
startWifi —> connectWifi —> onWifiConnected
連周邊 Wi-Fi 接口調(diào)用時序:
Android startWifi —> getWifiList —> onGetWifiList —> connectWifi —> onWifiConnected
iOS(iOS 11.0及11.1版本因系統(tǒng)原因暫不支持):
startWifi —> getWifiList —> onGetWifiList —> setWifiList —> onWifiConnected
注意:
Wi-Fi 相關(guān)接口暫不可用 wx.canIUse 接口判斷。
Android 6.0 以上版本,在沒有打開定位開關(guān)的時候會導(dǎo)致設(shè)備不能正常獲取周邊的 Wi-Fi 信息。
wx.startWifi(OBJECT)
基礎(chǔ)庫 1.6.0 開始支持,低版本需做兼容處理
初始化 Wi-Fi 模塊。
OBJECT參數(shù)說明:
參數(shù) | 類型 | 必填 | 說明 |
---|---|---|---|
success | Function | 否 | 接口調(diào)用成功的回調(diào)函數(shù) |
fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) |
complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行) |
示例代碼:
wx.startWifi({ success: function(res) { console.log(res.errMsg) } })
wx.stopWifi(OBJECT)
基礎(chǔ)庫 1.6.0 開始支持,低版本需做兼容處理
關(guān)閉 Wi-Fi 模塊。
OBJECT參數(shù)說明:
參數(shù) | 類型 | 必填 | 說明 |
---|---|---|---|
success | Function | 否 | 接口調(diào)用成功的回調(diào)函數(shù) |
fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) |
complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行) |
示例代碼:
wx.stopWifi({ success: function(res) { console.log(res.errMsg) } })
wx.connectWifi(OBJECT)
基礎(chǔ)庫 1.6.0 開始支持,低版本需做兼容處理
連接 Wi-Fi。若已知 Wi-Fi 信息,可以直接利用該接口連接。僅 Android 與 iOS 11 以上版本支持。
OBJECT參數(shù)說明:
參數(shù) | 類型 | 必填 | 說明 |
---|---|---|---|
SSID | String | 是 | Wi-Fi 設(shè)備ssid |
BSSID | String | 是 | Wi-Fi 設(shè)備bssid |
password | String | 否 | Wi-Fi 設(shè)備密碼 |
success | Function | 否 | 接口調(diào)用成功的回調(diào)函數(shù) |
fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) |
complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行) |
示例代碼:
wx.connectWifi({ SSID: '', BSSID: '', success: function(res) { console.log(res.errMsg) } })
wx.getWifiList(OBJECT)
基礎(chǔ)庫 1.6.0 開始支持,低版本需做兼容處理
請求獲取 Wi-Fi 列表,在 onGetWifiList 注冊的回調(diào)中返回 wifiList 數(shù)據(jù)。iOS 將跳轉(zhuǎn)到系統(tǒng)的 Wi-Fi 界面,Android 不會跳轉(zhuǎn)。 iOS 11.0 及 iOS 11.1 兩個版本因系統(tǒng)問題,該方法失效。但在 iOS 11.2 中已修復(fù)。
OBJECT參數(shù)說明:
參數(shù) | 類型 | 必填 | 說明 |
---|---|---|---|
success | Function | 否 | 接口調(diào)用成功的回調(diào)函數(shù) |
fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) |
complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行) |
wx.onGetWifiList(CALLBACK)
基礎(chǔ)庫 1.6.0 開始支持,低版本需做兼容處理
監(jiān)聽在獲取到 Wi-Fi 列表數(shù)據(jù)時的事件,在回調(diào)中將返回 wifiList。
CALLBACK 返回參數(shù)說明:
參數(shù) | 類型 | 說明 |
---|---|---|
wifiList | Array | Wi-Fi 列表數(shù)據(jù) |
Wi-Fi 列表項說明:
參數(shù) | 類型 | 說明 |
---|---|---|
SSID | String | Wi-Fi 的SSID |
BSSID | String | Wi-Fi 的BSSID |
secure | Boolean | Wi-Fi 是否安全 |
signalStrength | Number | Wi-Fi 信號強度 |
wx.setWifiList(OBJECT)
基礎(chǔ)庫 1.6.0 開始支持,低版本需做兼容處理
iOS特有接口 在 onGetWifiList 回調(diào)后,利用接口設(shè)置 wifiList 中 AP 的相關(guān)信息。
注意:
該接口只能在 onGetWifiList 回調(diào)之后才能調(diào)用。
此時客戶端會掛起,等待小程序設(shè)置 Wi-Fi 信息,請務(wù)必盡快調(diào)用該接口,若無數(shù)據(jù)請傳入一個空數(shù)組。
有可能隨著周邊 Wi-Fi 列表的刷新,單個流程內(nèi)收到多次帶有存在重復(fù)的 Wi-Fi 列表的回調(diào)。
OBJECT參數(shù)說明:
參數(shù) | 類型 | 必填 | 說明 |
---|---|---|---|
wifiList | Array | 是 | 提供預(yù)設(shè)的 Wi-Fi 信息列表 |
success | Function | 否 | 接口調(diào)用成功的回調(diào)函數(shù) |
fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) |
complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行) |
Wi-Fi 信息列表項說明:
參數(shù) | 類型 | 說明 |
---|---|---|
SSID | String | Wi-Fi 設(shè)備ssid |
BSSID | String | Wi-Fi 設(shè)備bssid |
password | String | Wi-Fi 設(shè)備密碼 |
示例代碼:
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)
基礎(chǔ)庫 1.6.0 開始支持,低版本需做兼容處理
監(jiān)聽連接上 Wi-Fi 的事件。
CALLBACK 返回參數(shù)說明:
參數(shù) | 類型 | 說明 |
---|---|---|
wifi | Object | Wi-Fi 信息 |
wifi對象說明:
參數(shù) | 類型 | 說明 |
---|---|---|
SSID | String | Wi-Fi 的SSID |
BSSID | String | Wi-Fi 的BSSID |
secure | Boolean | Wi-Fi 是否安全 |
signalStrength | Number | Wi-Fi 信號強度 |
wx.getConnectedWifi(OBJECT)
基礎(chǔ)庫 1.6.0 開始支持,低版本需做兼容處理
獲取已連接中的 Wi-Fi 信息
OBJECT參數(shù)說明:
參數(shù) | 類型 | 必填 | 說明 |
---|---|---|---|
success | Function | 否 | 接口調(diào)用成功的回調(diào)函數(shù) |
fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) |
complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行) |
success返回參數(shù)說明:
參數(shù) | 類型 | 說明 |
---|---|---|
wifi | Object | Wi-Fi 信息 |
wifi對象說明:
參數(shù) | 類型 | 說明 |
---|---|---|
SSID | String | Wi-Fi 的SSID |
BSSID | String | Wi-Fi 的BSSID |
secure | Boolean | Wi-Fi 是否安全 |
signalStrength | Number | Wi-Fi 信號強度 |
errCode列表
每個接口調(diào)用的時候,都會返回 errCode 字段。
錯誤碼 | 說明 | 備注 |
---|---|---|
0 | ok | 正常 |
12000 | not init | 未先調(diào)用startWifi接口 |
12001 | system not support | 當(dāng)前系統(tǒng)不支持相關(guān)能力 |
12002 | password error | Wi-Fi 密碼錯誤 |
12003 | connection timeout | 連接超時 |
12004 | duplicate request | 重復(fù)連接 Wi-Fi |
12005 | wifi not turned on | Android特有,未打開 Wi-Fi 開關(guān) |
12006 | gps not turned on | Android特有,未打開 GPS 定位開關(guān) |
12007 | user denied | 用戶拒絕授權(quán)鏈接 Wi-Fi |
12008 | invalid SSID | 無效SSID |
12009 | system config err | 系統(tǒng)運營商配置拒絕連接 Wi-Fi |
12010 | system internal error | 系統(tǒng)其他錯誤,需要在errmsg打印具體的錯誤原因 |
12011 | weapp in background | 應(yīng)用在后臺無法配置 Wi-Fi |
掃二維碼手機查看該文章
- 上一篇:微信小程序第三方開發(fā)平臺
- 下一篇:微信小程序兼容接口及小程序兼容組件