收藏
回答

open-type=“getUserInfo”无法触发?

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug open-type=“getUserInfo” 客户端 7.0.4 2.7.1 [254]

- 当前 Bug 的表现(可附上截图)

有些苹果机型无法唤醒授权弹窗 点击登录按钮无效

有两个都使用了iPhone7P的用户 一个微信版本为7.0.4点击授权按钮无反应,无法唤醒,另一个微信版本为7.0.3可以正常唤醒弹窗并授权

我在其他的帖子中看到有的开发者提出了同样的问题 但没有一个解决方案 官方能否提供一下可能出现错误的原因或解决方案。



回答关注问题邀请回答
收藏

3 个回答

  • 小程序商城定制开发2600元全包
    小程序商城定制开发2600元全包
    06-04

    1.先确认button的绑定事件有没有生效,没有生效的情况下,问题有几点导致:


         a.页面代码错误,这个时候就要仔细阅读官方文档,或者查看官方demo


         b.页面绑定的方法内部逻辑是否出错,可以仔细用控制台和debuger检查


         c.在一个小程序内如果有很多个button 获取用户信息的组件,也会出现点击无响应的bug,目前不清楚是什么原因,如果有人发       现,请在评论下方留言

    2.在确认button的绑定事件生效的情况下,那就要查看在向服务器端传递参数时有没有遗漏,或者编码错误。在服务端确认已经接=收到加密的微信用户后。


    3.服务端接收到加密的微信用户信息后,用微信小程序提供的SDK进行解密(SDK小程序官网自行下载,用详细接入文档)。解密完成后获得可以用来保存到数据库的数组,检查字段和表字段的格式是否一致,字符长度等等;

    4.在保存的数据库的过程,有一个比较隐秘的问题,插一句->我这里是mysql数据库。微信用户昵称现在丰富多样,一些个性的名称中经常包含有特殊字符,以及emoji表情。一开始我以为纯文本格式完整保存微信用户昵称(emoji表情),看了很多文章才发现,文本和表情的编码不一样:

    06-04
    有用 1
    回复
  • OneShotLove
    OneShotLove
    2020-07-05

    I've had this problem recently

    2020-07-05
    有用
    回复
  • 是柿子啊
    是柿子啊
    2019-06-14

    麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)

    2019-06-14
    有用
    回复 11
    • Hannibal.
      Hannibal.
      2019-06-14


      登录逻辑是这样的 我会根据后台返回的用户状态来决定是否展示授权弹窗

      2019-06-14
      回复
    • 是柿子啊
      是柿子啊
      2019-06-14回复Hannibal.

      代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)这个类型的代码片段

      2019-06-14
      回复
    • Hannibal.
      Hannibal.
      2019-06-14回复是柿子啊

      https://developers.weixin.qq.com/s/1rbOs7mQ7r9l

      2019-06-14
      回复
    • Hannibal.
      Hannibal.
      2019-06-14回复是柿子啊

      我这边测试是没任何问题的 但就是会偶现这种问题

      2019-06-14
      回复
    • 黄先亮
      黄先亮
      2019-06-14回复是柿子啊

      这两天我们小程序也偶尔出现,用户反馈不弹出授权框,回调函数也没有回调记录

      <form bindsubmit="loginPageSendFormId"

                report-submit="true">

              <button class="font-16 bold text-align  login-page__btn"

                      open-type="getUserInfo"

                      catch:getuserinfo="globalLoginGetUserInfo"

                      form-type="submit">

                  立即体验

              </button>

          </form>



      /**

           * 获取用户 授权

           * @param e

           */

          globalLoginGetUserInfo({detail}) {

              let self = this;

              showToast('loading', '正在授权');

              

              // 没有查到ok

              if (detail.errMsg.search(/ok/ig) === -1) {

                  showToast('error', '授权失败');

                  // 失败

                  console.log('授权失败');

                  threadErrLog.add('userLogin', detail);

                  self.userLogin();

                  return;

              }

              console.log('授权成功,但不意味着登陆成功哦!', detail);

              // 发给后端解码,换取id,以后每次请求需要带着id

              self.getUserInfoFromDB(detail);

          },


      2019-06-14
      回复
    查看更多(6)
登录 后发表内容