小程序编译携带参数二维码,获取二维码参数进行缓存,不影响原来逻辑
最近要弄个需求,就是在原来小程序的基础上,加个携带参数的二维码,如果有二维码携带有参数,就走携带参数的逻辑,如果没有携带参数,就走原来的逻辑
微信开发工具进行开发,先自定义编译规则
1、在index首页onLoad的时候,判断是否携带有参数,如果有参数则用wx.setStorageSync进行缓存
2、由于要保证原来的逻辑,微信小程序这边没有提供退出小程序触发的事件,只有onHide即切换到后台,隐藏小程序的事件,所以在app.js里面的onHide事件要进行清除缓存处理
3、如果有支付页面,拉起支付的时候,也会触发onHide的事件,这样拉起支付页面就会引起参数酒店编码参数丢失,解决办法是在拉起支付前,把当前的缓存保存在data里面,如果支付完进行跳转的时候携带data里面的参数,并在跳转后的页面重新设置参数缓存,如果取消付款,则需要在当前页面onShow的时候重新进行参数缓存
4、ios和安卓机子,如果在当前页面用户拉起付款,不进行付款操作,安卓机子会重新刷新页面,ios不会,安卓机子重新刷新页面会把酒店携带的二维码丢失,因为拉起付款的时候其实是隐藏了小程序,隐藏小程序的时候已经把二维码携带的酒店编码给清除掉了,导致获取不到正确的酒店编码,所以,订单列表tab页面需要从订单子组件获取当前的data参数再重新进行缓存