一、小程序獲取unionid條件
小程序獲取unionid,需要同時滿足以下三個條件:
- 小程序在公眾平台中完成了認證;
- 小程序必須綁定了開放平台賬號;
- 用戶在小程序中進行過授權,同時開發者需要先獲取到用戶基本信息。
二、小程序獲取unionid需要授權嗎
是的,小程序獲取unionid需要用戶授權,開發者需要通過wx.getUserProfile或者wx.getUserInfo獲取到用戶基本信息,其中包括用戶的昵稱、頭像URL等。
在用戶同意授權獲取基本信息之後,小程序開發者可以在用戶的授權範圍內獲取unionid。注意,如果用戶沒有授權獲取基本信息,將無法獲取unionid。
三、小程序獲取unionid為空
如果開發者在獲取用戶信息中無法獲取到unionid,那麼可能是以下原因導致:
- 小程序未通過微信公眾平台審核;
- 小程序未與開放平台賬號綁定;
- 用戶同意授權獲取基本信息,但是未在小程序的授權範圍內獲取unionid;
- 用戶拒絕授權獲取基本信息,無法獲取unionid。
四、小程序獲取頭像昵稱
開發者可以使用wx.getUserProfile或wx.getUserInfo獲取用戶的頭像和昵稱信息,示例如下:
wx.getUserProfile({ desc: '用於完善會員資料', success: (res) => { console.log(res.userInfo.avatarUrl) console.log(res.userInfo.nickName) } })
五、小程序獲取網站數據
在獲取用戶basic profile的過程中,可以獲得用戶的openId,可以使用openId通過騰訊雲、百度雲等第三方平台提供的API獲取用戶的網站數據。
wx.getUserInfo({ success: function(res) { console.log(res.userInfo.avatarUrl); console.log(res.userInfo.nickName); wx.request({ url: 'https://api.xxx.com/userinfo', data: { openid: res.openId }, success: function(res) { console.log(res.data) }, fail: function(err) { console.log(err) } }) } })
六、小程序獲取手機號碼,需要授權嗎
是的,小程序獲取手機號碼需要用戶授權,開發者需要通過wx.login介面獲取到用戶的code,然後通過wx.request介面將code發送給開發者的後台伺服器,在後台伺服器中根據code獲取session_key,最後返回給小程序客戶端處理。
在獲取到session_key之後,小程序客戶端可以調用wx.getUserInfo介面獲取到用戶的基本信息,包括unionid和手機號等。
wx.login({ success: function(res) { console.log(res.code) wx.request({ url: 'https://api.xxx.com/login', data: { code: res.code }, success: function(res) { console.log(res.data) wx.getUserInfo({ success: function(res) { console.log(res.encryptedData) console.log(res.iv) } }) }, fail: function(err) { console.log(err) } }) } })
七、小程序獲取參數
開發者可以通過getCurrentPages()獲取到當前小程序所在的頁面棧,通過使用頁面棧中的參數來獲取特定的值。
例如,如果有一個Page A,它通過調用wx.navigateTo方法打開了一個新的頁面Page B,在Page B中需要獲取到從Page A傳過來的參數,可以通過getCurrentPages()獲取到頁面棧,並通過頁面棧中的參數來獲取數據。
// Page A wx.navigateTo({ url: '/pages/b/b?id=1&name=john' }) // Page B var pages = getCurrentPages() var currentPage = pages[pages.length - 1] console.log(currentPage.options.id) console.log(currentPage.options.name)
八、小程序獲取個人信息
開發者可以通過wx.getUserInfo或wx.getUserProfile獲取到用戶的基本信息,包括頭像、昵稱、性別等。
wx.getUserProfile({ desc: '用於完善會員資料', success: (res) => { console.log(res.userInfo.avatarUrl) console.log(res.userInfo.nickName) console.log(res.userInfo.gender) } })
九、小程序獲取步數
小程序可以通過調用wx.getWeRunData方法獲取用戶的步數信息。
在獲取用戶步數信息之前,需要用戶進行授權。開發者在wx.getWeRunData方法中傳入sessionKey參數,而sessionKey需要通過後台伺服器的介面獲取。
wx.login({ success: (res) => { console.log(res.code) wx.request({ url: 'https://api.xxx.com/login', data: { code: res.code }, success: (res) => { console.log(res.data) wx.getWeRunData({ success: (res) => { wx.request({ url: 'https://api.xxx.com/werundata', data: { sessionKey: res.sessionKey, encryptedData: res.encryptedData, iv: res.iv }, success: (res) => { console.log(res.data) }, fail: (err) => { console.log(err) } }) } }) }, fail: (err) => { console.log(err) } }) } })
十、小程序獲取位置信息
小程序可以通過wx.getLocation獲取到用戶的位置信息,開發者需要先進行位置授權,然後調用wx.getLocation方法獲取用戶的位置信息。
wx.getLocation({ type: 'gcj02', success: (res) => { console.log(res.latitude) console.log(res.longitude) } })
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/284754.html