要在微信小程序中实现点击两次返回键退出小程序,你可以使用Page
对象的onUnload
方法。这个方法在页面卸载时触发,包括点击返回按钮、跳转出当前页面的情况。
// pages/example/example.js Page({ data: { // 页面的初始数据 }, // 其他方法和函数... onLoad: function() { // 页面创建时执行的操作 }, onUnload: function() { // 页面销毁时执行的操作 // 这里可以写点击两次返回键退出小程序的代码 if (wx.getSystemInfo) { wx.getSystemInfo({ success: function(res) { if (res.platform === 'android') { // 如果是Android设备 if (that.data.count === 0) { // 第一次点击返回键,页面数据清零 that.setData({ count: 0 }); } else { // 第二次点击返回键,退出小程序 wx.navigateBack({ delta: 2 }); } } else { // 如果是iOS设备,这里可以根据需求做不同的处理,例如仅显示提示等 if (that.data.count === 0) { // 第一次点击返回键,页面数据清零 that.setData({ count: 0 }); } else { // 第二次点击返回键,退出小程序(iOS设备可能需要额外的处理) wx.showModal({ title: '确定要退出吗?', content: '你确认要退出吗?', showCancel: false, confirmText: '确定', cancelText: '取消', success: function(res) { if (res.confirm) { // 点击确定按钮,退出小程序 wx.navigateBack({ delta: 2 }); } // 如果点击取消按钮,可以做其他处理,例如重新载入页面等 } }); } } } }); } else { // 如果无法获取设备信息,这里可以做其他处理,例如显示一个提示等 if (that.data.count === 0) { // 第一次点击返回键,页面数据清零 that.setData({ count: 0 }); } else { // 第二次点击返回键,退出小程序(如果无法获取设备信息,可能需要额外的处理) wx.showModal({ title: '确定要退出吗?', content: '你确认要退出吗?', showCancel: false, confirmText: '确定', cancelText: '取消', success: function(res) { if (res.confirm) { // 点击确定按钮,退出小程序 wx.navigateBack({ delta: 2 }); } // 如果点击取消按钮,可以做其他处理,例如重新载入页面等 } }); } } }, // 其他方法和函数... });