uni-app使用 getUserProfile 报错 fail can only be invoked by user TAP gesture 解决方法:

官方文档 getUserInfo 和 getUserProfile 接口详情

在练习项目写微信登录获取微信用户信息时点击报错, 小程序弹窗也无法调用:

"fail can only be invoked by user TAP gesture"
失败只能由用户点击手势调用

获取用户信息失败时无法弹出微信获取信息弹窗时的原代码:

解决方式:

第一种 :

直接删除 open-type, 改成 @tap 事件 :

<button type="primary" size="default" class="login-btn" lang="zh_CN" @tap="loginByWeixin"><image src="/static/images/mine/wechat.png"></image>微信一键登录
</button>
<script>export default {methods:{loginByWeixin() {uni.getUserProfile({desc: '获取用户信息',success: res => {console.log(res);let nickName = res.userInfo.nickName;let avatar = res.userInfo.avatarUrl;this.userInfo = res.userInfo;},fail: res => {console.log(res);}});}}}
</script>

第二种:

这个方法有点呆,是我尝试解决时用的办法,建议直接用第一种。

不删除 open-type,给自定义事件 @getuserinfo 加一个 uni.showModal()提示,确认后调用再调用getUserInfo 方法:

<!-- #ifdef MP-WEIXIN -->
<button type="primary" size="default"  class="login-btn" open-type="getUserInfo" lang="zh_CN" @getuserinfo="loginByWeixin"><image src="/static/images/mine/wechat.png"></image>微信一键登录</button>
<!-- #endif -->
<script>export default {methods:{loginByWeixin() {uni.showModal({title: '登录提示',content: '您需要授权微信登录后才能正常使用小程序功能',success(res) {//如果用户点击了确定按钮if (res.confirm) {uni.getUserProfile({desc: '获取你的昵称、头像、地区及性别',success: res => {console.log(res);},fail: res => {console.log(res)}});}}});},}}
</script>

效果如下:

uni-app使用 getUserInfo 报错 fail can only be invoked by user TAP gesture 解决方法相关推荐

  1. XV6操作系统make报错Makefile:192: *** recipe commences before first target. Stop. 的解决方法

    XV6操作系统make报错Makefile:192: *** recipe commences before first target. Stop. 的解决方法   大家好,我叫亓官劼(qí guān ...

  2. phpmyadmin登录报错crypt_random_string requires at least one symmetric cipher be loaded 解决方法

    phpmyadmin登录报错crypt_random_string requires at least one symmetric cipher be loaded 解决方法 参考文章: (1)php ...

  3. 控制台报错:java.lang.ClassNotFoundException: javax.xml.bind.JAXBException之解决方法

    控制台报错:java.lang.ClassNotFoundException: javax.xml.bind.JAXBException之解决方法 参考文章: (1)控制台报错:java.lang.C ...

  4. msfconsole启动失败并报错`not_after=‘: bignum too big to convert into `long‘的解决方法

    msfconsole启动失败并报错`not_after=': bignum too big to convert into `long'的解决方法 参考文章: (1)msfconsole启动失败并报错 ...

  5. SVN报错:can‘t open file db/txn-current-lock:permission denied 解决方法

    SVN报错:can't open file db/txn-current-lock:permission denied 解决方法 参考文章: (1)SVN报错:can't open file db/t ...

  6. mysql 1033_mysql报错1033 Incorrect information in file: ''''xxx.frm''''问题的解决方法(图)...

    这篇文章主要介绍了关于mysql报错1033 Incorrect information in file: 'xxx.frm'问题的解决方法,文中通过示例代码介绍的很详细,需要的朋友可以参考借鉴,下面 ...

  7. 上传文件报错500或者文件大于2M上传不上去解决方法

    上传文件报错500或者文件大于2M上传不上去解决方法 参考文章: (1)上传文件报错500或者文件大于2M上传不上去解决方法 (2)https://www.cnblogs.com/sillong/p/ ...

  8. Python使用pip安装报错ModuleNotFoundError: No module named ‘pip._internal.cli.main‘的解决方法

    Python使用pip安装报错ModuleNotFoundError: No module named 'pip._internal.cli.main'的解决方法   大家好,我叫亓官劼(qí guā ...

  9. dedecms后台报错“Notice: Use of undefined constant MYSQL_ASSOC - assumed ‘MYSQL_ASSOC‘ ”的解决方法

    dedecms后台报错"Notice: Use of undefined constant MYSQL_ASSOC - assumed 'MYSQL_ASSOC' "的解决方法 p ...

  10. Python 使用numpy报错:runtimeError: package fails to pass a sanity check解决方法

    Python中使用numpy和pandas时报错:RuntimeError: The current Numpy installation ('...\venv\lib\site-packages\n ...

最新文章

  1. layoutSubviews总结(转)
  2. 学python用什么软件开发-5款Python程序员高频使用开发工具推荐
  3. 使用pandas处理时间变量
  4. excel随机排序,在A列产生顺序号
  5. 【算法】LeetCode算法题-Maximum Subarray
  6. 【小程序】微信小程序开发实践
  7. 安全测试 - XSS如何防御
  8. 韩顺平java基础学习笔记
  9. 卸载搜狗拼音输入法linux,Ubuntu下使用搜狗拼音输入法
  10. 上网痕迹查询助手Viewurl 2017
  11. oracle常用函数汇总【持续更新中...】
  12. _stdcall,_cdecl区别
  13. Flink DataStream的Operator State、Keyed State、checkpoint、Savepoint、State Backends的使用和讲解
  14. pdf转换工具有哪些?试一试这几个方法!
  15. 电脑网易我的世界进服务器未响应,我的世界网易版进不去解决方法 MC网易电脑端进不去原因...
  16. 算法刷题(蓝)【基础篇+算法篇】【Python版】
  17. Caffe2自定义Operator
  18. 【笔记】编程的原则:改善代码质量的101个方法
  19. 离开学校如何自学修炼成为一名网页设计师(四)
  20. 美学心得(第二百三十四集) 罗国正

热门文章

  1. 00Cascading Style Sheet
  2. [UESTC878]温泉旅店
  3. es nested字段的空值查询问题
  4. Unite 2018 | 《崩坏3》:在Unity中实现高品质的卡通渲染(下)
  5. 利用Exchange服务同步iOS和android中的联系人
  6. 小米 note3 android,小米NOTE3 MIUI9.6稳定版 开启全面屏手势和屏蔽经典物理按键全攻略...
  7. 我的小感悟(个人愚见)
  8. java登录界面圆形头像,Android使用CircleImageView实现圆形头像的方法
  9. 界面配色方案(转载)
  10. 如何优雅的美化kali,实现双桌面环境