用微信原生代码应为:
使用 button 组件,并将 open-type 指定为 getUserInfo 类型,获取用户基本信息。

 <button form-type="submit" open-type="getUserInfo" bindgetuserinfo="getUserInfo"></button>
1
bindgetuserinfo:用户点击该按钮时,会返回获取到的用户信息,回调的detail数据与wx.getUserInfo返回的一致,open-type="getUserInfo"时有效
open-type: getUserInfo 获取用户信息,可以从bindgetuserinfo回调中获取到用户信息

然而uniapp中 使用微信的open-type=“getUserInfo” 不能获取到userinfo
在methods 写入方法

    getuserinfo: function(){
        // wx登录
        wx.login({
          success (res) {
            if (res.code) {
              //发起网络请求
              var code = res.code
                  // 获取微信用户信息
                wx.getUserInfo({
                  success: function(res) {
                    var userInfo = res.userInfo
                    var nickName = userInfo.nickName
                    var avatarUrl = userInfo.avatarUrl
                    var gender = userInfo.gender //性别 0:未知、1:男、2:女
                    var province = userInfo.province
                    var city = userInfo.city
                    var country = userInfo.country
                  },
                  fail:res=>{
                      // 获取失败的去引导用户授权 
                   }
                })
                
            } else {
                ...
            }
          }
        })
    },

在调用中 会提示说 does not have a method “bindgetuserinfo” to handle event “getuserinfo”.

<button class='testbutton' open-type="getUserInfo" @getuserinfo="getuserinfo" withCredentials="true">
1
将bindgetuserinfo改成@getuserinfo=“getuserinfo” ,再添加withCredentials=“true”,就可以调用了


 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐