- 最近在开发小程序的时候,测试在提测的时候会遇到一个问题,就是在微信小程序授权登录的时候保存不到token,并且使用微信开放的绑定手机号的功能时会一直提示绑定不上手机号码,保存不到数据库,但是ios系统和Android系统就正常保存到数据库。
wx.login({
success: res => {
if (res.code) {
getApp().popLoading('授权中...')
wx.request({
url: url,
data: {
code: res.code
},
success: async res => {
// wx.showLoading()
var res = res.data
var data = res.data
if (res.code == 200) {
wx.setStorage({
'user':user,
'data':data
})
let userParam = JSON.parse(wx.getStorageSync('userParam'))
} else {
getApp().pop(res.msg, 'error')
}
}
})
wx.hideLoading()
} else {
getApp().pop('登录失败!' + res.errMsg, 'error')
}
}
})
最开始的时候是这样写的,把获取到的用户token以及信息使用异步的方法存储到本地的时候,鸿蒙系统就是不能把手机号保存到数据库,在测了无数次之后发现,这个地方不能使用异步存储,要使用同步。
// 将下面异步保存改为同步保存
wx.setStorage({
'user':user,
'data':data
})
wx.setStorageSync('user', data)
所以研究到现在也不太清楚到底是不是因为鸿蒙系统的一些其他问题,直接导致小程序异步存token时存不到storage里面,大家有遇到过这种问题吗?如果有遇到的还望赐教,还未遇到的希望看到文章或可以避免踩坑。