安卓手机返回按钮,返回上一页,不触发钩子函数
如题。
安卓手机自带返回按钮,点击后。返回上一页。但不触发上一页的onShow。
场景: 首页->登陆/绑定手机号
原本设定为:首页监听是否获取token,获取到则为已绑定成功,没获取到则弹出授权绑定弹框。监听在onshow里面实现,但现在进入绑定手机号页面后,点击安卓手机自带返回按钮后,不触发首页的onshow,也就无法监听。用户绕过绑定手机号。。。
求官方解答。谢谢。
ps:可能要躺尸了。
如题。
安卓手机自带返回按钮,点击后。返回上一页。但不触发上一页的onShow。
场景: 首页->登陆/绑定手机号
原本设定为:首页监听是否获取token,获取到则为已绑定成功,没获取到则弹出授权绑定弹框。监听在onshow里面实现,但现在进入绑定手机号页面后,点击安卓手机自带返回按钮后,不触发首页的onshow,也就无法监听。用户绕过绑定手机号。。。
求官方解答。谢谢。
ps:可能要躺尸了。
麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
event.js
//event.jsvar events = {};function on(name, that, callback) { console.log('event->on', name) var tuple = [that, callback]; var callbacks = events[name]; if (Array.isArray(callbacks)) { callbacks.push(tuple); } else { events[name] = [tuple]; }}function remove(name, that) { console.log('event->remove', name) var callbacks = events[name]; if (Array.isArray(callbacks)) { events[name] = callbacks.filter((tuple) => { return tuple[0] != that; }) }}function emit(name, data) { console.log('event->emit', name, data) var callbacks = events[name]; if (Array.isArray(callbacks)) { callbacks.map((tuple) => { var that = tuple[0]; var callback = tuple[1]; console.log('event ' + name + ': +1') callback.call(that, data); }) }}exports.on = on;exports.remove = remove;exports.emit = emit; |
app.js中引入event.js
const event = require(‘./utils/event.js’)
onLaunch: function(e) { this.event = event} |
在首页在onLoad里监听:
getApp().event.on('checkToken', this, function(res) { //根据res逻辑处理}) |
在绑定页面完成操作后提交事件:
getApp().event.emit('checkToken', data) |