微信小程序之button組件--wx.login()


微信小程序之button組件

'''
推薦使用button組件獲取授權微信用戶的信息

點擊按鈕事件自動觸發獲取wx.getUserInfo
'''

1. // pages/login/login.wxml

<view>
	<button class="submit" open-type="getUserInfo" bindgetuserinfo="onClickSubmit">登錄 | 注冊</button>
</view>

2. // pages/login/login.js ---wx.login()

onClickSubmit: function(e) {
	//wx.login用於給當前用戶獲取一個登錄憑證(有效期五分鍾),即:response.code
	//點擊按鈕事件自動觸發獲取wx.getUserInfo,參數e.detail.userInfo,獲取微信用戶信息。
	wx.login({
	  success: (response) => {
		wx.request({
		  url: api.Login,
		  data: {
			phone: this.data.phone,
			code: this.data.code,
			nickname: e.detail.userInfo.nickName,
			avatar: e.detail.userInfo.avatarUrl,
			wx_code: response.code
		  },
		  method: 'POST',
		  success: function(res) {
			if (res.data.status) {
			  app.initUserInfo(res.data.data, e.detail.userInfo);
			  wx.navigateBack();
			} else {
			  wx.showToast({
				title: res.data.message,
				icon: 'none'
			  })
			}
		  }
		})
	  }
	})
  },

3. //app.js -----app.initUserInfo(),登錄信息初始化,並緩沖到本地

App({
  onLaunch: function() {
	var userInfo = wx.getStorageSync('userInfo');
	if (userInfo) {
	  this.globalData.userInfo = userInfo;
	}
  },
  globalData: {
	userInfo: null
  },
  initUserInfo: function(tokenInfo, userInfo) {
	var info = {
	  nickName: userInfo.nickName,
	  avatarUrl: userInfo.avatarUrl,
	  token: tokenInfo.token,
	  phone: tokenInfo.phone
	};
	this.globalData.userInfo = info
	wx.setStorageSync('userInfo', info);
  },
  logoutUserInfo:function(){
	wx.removeStorageSync('userInfo');
	this.globalData.userInfo=null;
  }
})


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM