uniApp处理微信小程序获取用户信息getUserInfo

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

 <button form-type="submit" open-type="getUserInfo" bindgetuserinfo="getUserInfo">button>

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">

将bindgetuserinfo改成@getuserinfo=“getuserinfo” ,再添加withCredentials=“true”,就可以调用了

你可能感兴趣的:(uniApp处理微信小程序获取用户信息getUserInfo)