微信小程序之Wi-Fi-小程序打通接口文档
微信小程序之Wi-Fi-小程序打通接口文档,微信小程序用户连Wi-Fi后长期逗留在场所内,可以在连接Wi-Fi后进入微信点击微信聊首页欢迎语,即可进入预先设置的小程序中获得资讯或服务,查询门店WiFi信息接口和连Wi-Fi完成页跳转小程序。
目录:
1、连Wi-Fi完成页跳小程序
2、商户主页跳转小程序
3、查询门店Wi-Fi信息接口
1、连Wi-Fi完成页跳转小程序
设置联网完成页接口
场景介绍:
设置需要跳转的小程序,连网完成点击“完成”按钮,即可进入设置的小程序。
注:只能跳转与公众号关联的小程序。
接口调用
接口调用说明
协议:https 请求方式: POST 请求URL: https://api.weixin.qq.com/bizwifi/finishpage/set?access_token=ACCESS_TOKEN POST数据格式:JSON
请求参数说明
| 参数 | 是否必填 | 说明 |
|---|---|---|
| access_token | 是 | 调用接口凭证 |
| POST数据 | 是 | JSON数据 |
POST数据
数据示例:
{
"shop_id": 429620,
"finishpage_url": "",
"wxa_user_name": "gh_966b66e00888",
"wxa_path": "pages/index/index",
"finishpage_type": 1
}字段说明
| 字段 | 是否必填 | 说明 |
|---|---|---|
| shop_name | 是 | 门店名称 |
| finishpage_url | 否 | 连网完成页URL,finishpage_type为0时有效 |
| wxa_user_name | 否 | 连网完成页跳转小程序原始id,finishpage_type为1时有效,要求小程序与公众号有绑定关系 |
| wxa_path | 否 | 连网完成页跳转小程序路径,finishpage_type为1时有效,需要做urlencode |
| finishpage_type | 否 | 连网完成页跳转类型,0为H5,1为小程序 |
##2、设置顶部banner跳转小程序接口
场景介绍:
用户连Wi-Fi后长期逗留在场所内,可以在连接Wi-Fi后进入微信点击微信聊首页欢迎语,即可进入预先设置的小程序中获得资讯或服务。
注:只能跳转与公众号关联的小程序。
接口调用
接口调用说明
协议:https 请求方式: POST 请求URL:https://api.weixin.qq.com/bizwifi/homepage/set?access_token=ACCESS_TOKEN POST数据格式:JSON
请求参数说明
| 参数 | 是否必填 | 说明 |
|---|---|---|
| access_token | 是 | 调用接口凭证 |
| POST数据 | 是 | JSON数据 |
POST数据
数据示例:
{
"shop_id": 2200766,
"template_id": 2,
"struct": {
"wxa_user_name": "gh_5cb1b4334f3a",
"wxa_path": "index.html?query=abc"
}
}字段说明
| 字段 | 是否必填 | 说明 |
|---|---|---|
| shop_id | 是 | 门店ID |
| template_id | 是 | 2-关联小程序(支持门店小程序) |
| struct | 是 | 连网完成页跳转小程序原始id,finishpage_type为1时有效,要求小程序与公众号有绑定关系 |
| wxa_user_name | 是 | 账号原始ID |
| wxa_path | 是 | 小程序页面路径 |
3、查询门店WiFi信息接口
场景介绍
接口调用说明
协议:https http请求方式: POST 请求URL:https://api.weixin.qq.com/bizwifi/shop/get?access_token=ACCESS_TOKEN POST数据格式:JSON
请求参数说明
| 参数 | 是否必填 | 说明 |
|---|---|---|
| access_token | 是 | 调用接口凭证 |
| POST数据 | 是 | JSON数据 |
POST数据
数据示例:
{
"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 | 是 | 无线网络设备的ssid,未添加设备为空,多个ssid时显示第一个 |
| ssid_list | 是 | 无线网络设备的ssid列表,返回数组格式 |
| ssid_password_list | 是 | ssid和密码的列表,数组格式。当为密码型设备时,密码才有值 |
| password | 是 | 设备密码,当设备类型为密码型时返回 |
| protocol_type | 是 | 门店内设备的设备类型,0-未添加设备,4-密码型设备,31-portal型设备 |
| ap_count | 是 | 门店内设备总数 |
| template_id | 是 | 商家主页(bar条)模板类型 0 默认页 1 自定义h5 2 跳转小程序 |
| homepage_url | 是 | 商家主页(bar条)链接 |
| bar_type | 是 | 顶部常驻入口上显示的文本内容:0--欢迎光临+公众号名称;1--欢迎光临+门店名称;2--已连接+公众号名称+WiFi;3--已连接+门店名称+Wi-Fi |
| finishpage_url | 是 | 连网完成页链接,finishpage_type为0时有效 |
| sid | 是 | 商户自己的id,与门店poi_id对应关系,建议在添加门店时候建立关联关系,具体请参考“微信门店接口” |
| poi_id | 是 | 门店ID(适用于微信卡券、微信门店业务),具体定义参考微信门店,与shop_id一一对应。 |
| homepage_wxa_user_name | 是 | 商家主页(bar条)跳转的小程序原始id,template_id为2时有效 |
| finishpage_wxa_user_name | 是 | 完成页跳转的小程序原始id,finishpage_type为1时有效 |
| inishpage_wxa_path | 是 | 完成页跳转的小程序路径,需要做urlencode,finishpage_type为1时有效 |
| finishpage_type | 是 |
完成页跳转类型 0为H5;1为小程序 |
在小程序中支持搜索周边的 Wi-Fi,同时可以针对指定 Wi-Fi,传入密码发起连接。
该系列接口为系统原生能力,如需查看“微信连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 开始支持,低版本需做兼容处理
初始化 Wi-Fi 模块。
OBJECT参数说明:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| success | Function | 否 | 接口调用成功的回调函数 |
| fail | Function | 否 | 接口调用失败的回调函数 |
| complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码:
wx.startWifi({
success: function(res) { console.log(res.errMsg)
}
})wx.stopWifi(OBJECT)
基础库 1.6.0 开始支持,低版本需做兼容处理
关闭 Wi-Fi 模块。
OBJECT参数说明:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| success | Function | 否 | 接口调用成功的回调函数 |
| fail | Function | 否 | 接口调用失败的回调函数 |
| complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码:
wx.stopWifi({
success: function(res) { console.log(res.errMsg)
}
})wx.connectWifi(OBJECT)
基础库 1.6.0 开始支持,低版本需做兼容处理
连接 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 开始支持,低版本需做兼容处理
请求获取 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 开始支持,低版本需做兼容处理
监听在获取到 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 开始支持,低版本需做兼容处理
iOS特有接口 在 onGetWifiList 回调后,利用接口设置 wifiList 中 AP 的相关信息。
注意:
该接口只能在 onGetWifiList 回调之后才能调用。
此时客户端会挂起,等待小程序设置 Wi-Fi 信息,请务必尽快调用该接口,若无数据请传入一个空数组。
有可能随着周边 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 开始支持,低版本需做兼容处理
监听连接上 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 开始支持,低版本需做兼容处理
获取已连接中的 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 |
扫二维码手机查看该文章
- 上一篇:微信小程序第三方开发平台
- 下一篇:微信小程序兼容接口及小程序兼容组件




