Taro -- 獲取用戶手機號


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


免責聲明!

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



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