mine.wxml:
<button open-type="getUserInfo" bindgetuserinfo="onGotUserInfo">点击登录</button>
mine.js:
data: { userInfo: {},// 用户详情信息 avatarUrl:'',// 头像地址 },
// 点击登陆按钮的回调 onGotUserInfo: function (e) { console.log(e); var that = this; console.log(e.detail.userInfo) wx.showLoading({title: '登录中'}); // 存储用户头像等信息 var userInfo = e.detail.userInfo; // 登陆 wx.login({ success(res) { console.log(res) if (res.code) { console.info('登录中 code=' + res.code); //发起网络请求 wx.request({ url: app.globalData.testUrl + "wx/auth/login_by_weixin_wechat", data: { code: res.code, userInfo:userInfo }, method: 'POST', success(r) { wx.hideLoading(); console.info(r); if (r.data.data.token) { wx.setStorageSync('token', r.data.data.token); wx.setStorageSync('userInfo', r.data.data.userInfo); app.globalData.userInfo = r.data.data.userInfo; app.globalData.token = r.data.data.token; that.setData({ userInfo:r.data.data.userInfo, })
// 获取用户详情 app.getUserDetail(function (res) { console.info(res); if(res.data.data.competingSpeech){// 如果有个性签名 that.setData({ userInfo:res.data.data, avatarUrl:res.data.data.avatar, token:r.data.data.token, }) } }) console.log(app.globalData.userInfo) console.log(that.data.userInfo) } else { wx.showToast({ title: '登录失败', icon:'none' }); } } }) } else { wx.hideToast(); console.info('登录失败!' + res.errMsg) } } }); },
app.js
getUserDetail(call) { // 获取用户详细信息接口 wx.request({ url: this.globalData.testUrl + "wx/user/detail", header: { 'Sunshine-Auth': this.globalData.token, }, data: { userId: this.globalData.userInfo.id, }, success(res) { call(res) } }) },