微信小程序之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 |
扫二维码手机查看该文章
- 上一篇:微信小程序第三方开发平台
- 下一篇:微信小程序兼容接口及小程序兼容组件