wx.getUserProfile和wx.login一起使用

搬砖自:bwx.getUserProfile不能和wx.login一起使用? | 微信开放社区mac 模拟器1.05.2102010 基础库2.16.0调用wx.login获取code后,再调用wx.getUserProfile,可能会失败,触发fail函数,error msg: ''getUserProfile:fail can only be invoked by user TAP gesture"。如果不能同时使用,那如何校验用户信息的准确性或者解密encryptedData呢?https://developers.weixin.qq.com/community/develop/doc/00080cd4604440d470fb2744f51800

1.网上的promise.all的方式处理,我没试但是我感觉是不行的。all只是把login和getinfo同时运行罢了,但是这两个实际都是异步,到底哪个先触发实际是没法确定的。

2.我这里搞了个比较巧妙的方式,是Taro当然微信原生的代码也是一样的处理方式,原理相同。

  getInfo= async()=>{

    var res = await Taro.getUserProfile({desc:this.login()})

    console.log(res);

  }

  login = ()=>{

    Taro.login().then((res)=>{console.log(res);})

    return '用于完善会员资料';

  }

这样login一定比getUserProfile先执行,后面同时拿到两个接口的结果,丢给服务器就行。这个解密失败的问题,一定要保证login的网络请求先getUserProfile到达,然后微信服务器才会更新数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值