问题:
本地存储和获取当前用户的userCode,但是测试和线上版本的本地存储是互通的,调用的域名不互通,测试环境和线上环境数据不一样,所以会报错线上查询不到当前用户或者测试版本查询不到没有当前用户。
解决方法:
微信提供了wx.getAccountInfoSync()这样一个API。Object wx.getAccountInfoSync() | 微信开放文档 (qq.com)
在小程序的onLaunch生命周期中调用,根据判断接收到的值来得知当前是开发环境还是测试环境还是正式环境,环境区分好了,只需要在不同环境下修改用于存放用户信息的本地存储的键名就可以了。
onLaunch: function() {var that = this// 判断当前是线上还是测试const accountInfo = wx.getAccountInfoSync();if (accountInfo.miniProgram.envVersion == 'release') {// 如果是线上正式版本that.globalData.release = truethat.globalData.miniShopUrl = 线上域名} else {//非线上 开发或体验版本that.globalData.release = falsethat.globalData.miniShopUrl = 测试域名}},