- 当前 Bug 的表现(可附上截图)
我们想通过手机验证用户输入的ssid和密码是否正确。在苹果上表现良好,通过输入的ssid和密码如果输入错误,会执行 fail 回调,可以给用户一个改正的界面。但在安卓上表现出了问题,如果是ssid和当前已经连接的ssid同名,密码输入错误,则不会执行 fail 回调。是一个黑色的界面一闪而过。应该是安卓如果是同名ssid,而且已经连接,就不会触发connectWifi 事件了。我把ssid换成了一个前天名字,就会触发 fail 回调,告知错误,在回调之前小米会提醒我是否允许微信获取wifi 权限。
小米的测试结果:不回调fail
苹果的正常:
小米的输入错误 ssid 会正常回调 fail
小米的手机型号截图:
- 预期表现
只要是输入错误的 wifi 密码,都应该触发 fail 回调。
- 复现路径
- 提供一个最简复现 Demo
代码如下:form 表单提交了 ssid 和 pwd ,然后执行 formSubmit 函数:
formSubmit: function (e) { that.setData({ "wifi" : JSON.stringify(e.detail.value) }); wx.startWifi({ success(res) { wx.connectWifi({ SSID: e.detail.value.ssid, password: e.detail.value.ssidpwd, success(res) { oldwifi = { SSID: e.detail.value.ssid, password: e.detail.value.ssidpwd} }, fail(res){ that.setData({ "wifi" : JSON.stringify(res) }); that.setData({ "tips" : "WiFi不存在或密码错误" }); } }); }, }) }, |
前端页面:
< text >{{wifi}}</ text > < form bindsubmit = "formSubmit" bindreset = "formReset" > < view >WiFi SSID: 如果您手机连接了WiFi,SSID将自动获取</ view > < input name = "ssid" placeholder = "请输WiFi SSID" value = '{{ssid}}' /> < view >WiFi 密码:< label style = "color:#ff0000;" >{{tips}}</ label ></ view > < input name = "ssidpwd" password placeholder = "请输入Wi-Fi密码" /> < button form-type = "submit" >连接</ button > </ form > |
你好,麻烦提供出现问题微信版本号、能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
另外,在苹果如果已经连接wifi ,输入当前的ssid和正确的密码后,会返回:已经连接的 success 回调。输入错误的密码后,会返回密码错误的 fail 回调,我认为苹果版的是我预期的结果,安卓有点问题。