微信小程序,头脑王者获取用户信息,从数据库中获取用户资料

      


      微信小程序调用wx.login后能够得到客户的微信信息,这时我们可以利用openid来获取数据库中保存的用户信息,使用wx.request 接口来与后台通信,获取到客户的数据库信息。

代码如下:

getuserinfo: function () { //获取数据库中个人信息的方法
var that = this
//console.log(app.globalData.openid)
wx.request({
url: url + '/api.php' , //仅为示例,并非真实的接口地址
data: {
userinfo: '1' ,
ooopenid: app.globalData.openid
},
success: function (res) {
console.log(res.data)
app.globalData.user = res.data
var c = Number(res.data.score) > 5 ? 5 : Number(res.data.score)
var array= new Array(c)
console.log(array)
that.setData({
gold:res.data.gold,
user: res.data, //用户信息
score: array, //将星转换为数组
//推送是否
})
app.globalData.score=res.data.gold
}
})
},

使用此方法,有一个问题,我们的参数是 app.globalData.openid ,然而微信小程序在登入的时候,globaldata并不是瞬间获取,他也是需要与后台利用code才能兑换出来,这里如果网速有问题,多半会获取不到客户的openid,需要有一个时间差。解决这样的问题有两种思路,第一种是异步,第二种是延时。

我采用的是延时,利用setimeout来获取,利用settimeout时,我们并不能确定到底多久globaldata.openid才不是空,所以我们利用判断的方法,持续循环。

Countdown()
function Countdown() {
setTimeout( function () {
if (app.globalData.openid == '' | app.globalData.openid == null ) {

Countdown()
}
else {
that.getuserinfo()
}
}, 500 )
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值