微信小程序开发中调用wx.login()无响应怎么办

发布时间:2022-01-20 14:15:39 作者:清风
来源:亿速云 阅读:524

这篇文章主要为大家展示了微信小程序开发中调用wx.login()无响应怎么办,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“微信小程序开发中调用wx.login()无响应怎么办”这篇文章吧。

很多微信小程序开发者,都会遇到这样的情况,在调用wx.login()的时候,在部分IOS上无响应的情况,那么这种情况要如何解决?

微信小程序开发中调用wx.login()无响应怎么办

响应结果如下: 
分析结果,我们知道,login接口一直处于pending状态,如果加了timeout时间后,在complate回调中可触发; 
那为什么login方法一直是pending呢????

发现页面中其实用了新组件

<open-data type="userAvatarUrl"></open-data> <open-data type="userNickName"></open-data>

这个组件是用来显示微信的“头像”和“昵称”的,本着“试一试,万一可以呢”的原则,果断删除了该组件,再次运行,好了,神奇了嗨!

在调用wx.login()方法前,我先使用open-data标签渲染了“头像”和“昵称”,但是为啥先使用组件后就GG了?可能是微信渲染自带线程的吧,我的使用方法,违背了微信的渲染机制,导致了线程阻塞(我猜的哈);

回头想想,也是哈,尚未登陆就渲染了头像和昵称,节奏不是这样的;就像警察查身份证,还没刷机器,就知道你叫啥了,住哪里,不科学了对吧。

所以,要显示头像和昵称的open-type组件,必须在调用wx.login()的API后,再行渲染;  知道了原因,解决起来就很简单了,定义一个变量isLogin,用来记录wx.login()是否已调用  let isLogin = false wx.login({ success: function(res) { if (res.code) { //发起网络请求 isLogin = true; } } });

然后将isLogin绑定在页面的data对象中,我就不写了哈,然后在页面中,用wx:if判断就可以了

<open-data wx:if='{{isLogin}}' type="userAvatarUrl"></open-data> <open-data wx:if='{{isLogin}}' type="userNickName"></open-data>

HiShop小程序工具提供多类型商城/门店小程序制作,可视化编辑 1秒生成5步上线。通过拖拽、拼接模块布局小程序商城页面,所看即所得,只需要美工就能做出精美商城。

小程序的优势是什么

小程序相对于开发者来说,开发难度较低,可节约开发和运营成本,让开发者可以快速地开发一个小程序。并且小程序可在微信内被便捷地获取和传播,能够满足基础的生活应用,符合生活服务类线下商铺以及非刚需低频应用的转换。对于用户而言,能够节约使用时间成本和手机内存空间,同时具有优异的使用体验。

以上就是关于“微信小程序开发中调用wx.login()无响应怎么办”的内容,如果该文章对您有所帮助并觉得写得不错,劳请分享给您的好友一起学习新知识,若想了解更多相关知识内容,请多多关注亿速云行业资讯频道。

推荐阅读:
  1. 大企业如何“玩转”小程序?
  2. 小程序如何实现左滑删除效果

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

小程序 微信小程序 wx.login()

上一篇:css如何降低背景透明度

下一篇:Jspxcms数据库配置文件是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》