vue项目,微信授权登录,首页根据用户信息判断是否弹出新人券异常问题

背景:微信H5页面,授权登录,从登录信息中判断是否弹出新人券红包

功能需求:1.商城项目推出新人券活动,登录后新用户弹出 优惠券红包。

2.登录后 老用户不会弹出新人红包

3.不登录弹出新人红包

问题: 1. 用户正常手机号登录时,新人券弹出正常,微信授权登录时,老用户新人券大概率也会弹出

原因:

在项目首页判断的是否需要弹出新人券(不登陆或老用户不弹),而微信授权登录方法写在了main.js里,

顺便复习下 vue项目各文件的执行顺序,index.html > app.vue > main.js > app.vue -- mouted() > index.vue 

当通过微信授权的方式登陆时 , 虽然main.js先执行授权登录, 但由于异步,用户信息还没返回,代码运行到index.vue相当于没有登录,一直弹出新人券。考虑到小改动代码的原则(小公司测试不存在的),在mian.js返回结果时,设置vuex store的某个值,在index.vue监听该值的变化,判断新人券是否弹出。

这样处理,授权登录中,如果是非新人 ,新人券会闪一下(判断为未登录)后消失(main.js的返回结果判断不弹出),又在index.vue里判断一下授权登录中不调用原有判断是否登录方法。

小结:1个月前改的bug,现在有点忘了,只总结了大概思路,细节没说到位,新人第一次发文章,望理解

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容