1. 安裝 Taro 腳手架工具
安裝 Taro
開發工具 @tarojs/cli
使用 npm
或者 yarn
全局安裝
$ npm install -g @tarojs/cli $ yarn global add @tarojs/cli
2. 初始化項目
使用命令創建模板項目
$ taro init myApp
3. 安裝 Taro UI
$ cd myApp
$ npm install taro-ui
4. 使用 Taro UI
引入所需組件
import { AtButton } from 'taro-ui'
獲取手機號
獲取微信用戶綁定的手機號,需先調用wx.login接口。
因為需要用戶主動觸發才能發起獲取手機號接口,所以該功能不由 API 來調用,需用 AtButton 組件的點擊來觸發。
使用方法
需要將 AtButton 組件 openType
的值設置為 getPhoneNumber,當用戶點擊並同意之后,可以通過 onGetPhoneNumber 事件回調獲取到微信服務器返回的加密數據, 然后在第三方服務端結合 session_key
以及 app_id
進行解密獲取手機號。
注意
在回調中調用 wx.login 登錄,可能會刷新登錄態。此時服務器使用 code 換取的 sessionKey 不是加密時使用的 sessionKey,導致解密失敗。建議開發者提前進行 login
;或者在回調中先使用 checkSession
進行登錄態檢查,避免 login
刷新登錄態。
基本流程如下:
<AtButton type="primary" openType="getPhoneNumber" OnGetPhoneNumber="getPhoneNumber">微信綁定手機號登錄</AtButton>
getPhoneNumber: function (e) {
console.log(`是否成功調用${e.detail.errMsg}`);
console.log(`加密算法的初始向量:${e.detail.iv}`);
console.log(`包括敏感數據在內的完整用戶信息的加密數據:${e.detail.encryptedData}`);
}
如果用戶點擊允許getPhoneNumber為ok,且成功返回encryptedData和iv
如果用戶點擊拒絕getPhoneNumber為fail user deny,返回encryptedData和iv為undefined
解除手機號綁定
注意:解除綁定后,需要重新執行Taro.login
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html