小程式開發實務之淺析如何取得手機號碼
小程式如何取得用戶手機號碼?以下這篇文章為大家介紹一下微信小程式開發中取得使用者手機號碼的方法,希望對大家有幫助!
1、背景
在平常使用第三方微信小程式時,經常會有需要取得微信手機號碼的情況,如下圖所示:
【相關學習推薦:小程式開發教學】
那這種是怎麼實現的呢?以下記錄下取得微信手機號碼的方法。
**備註:**需要有一個微信小程式號,而這個號碼是經過企業認證的。 (取得手機號碼的功能不對個人小程式號碼生效)
那下面我們就一起開始,取得手機號碼的程式設計之旅了。
2、程式碼實作
2.1 新建工程
在app.json檔案中新增 "pages/getphonenumber/getphonenumber", 如下圖:
##2.2 準備密文解析工具類別
#透過微信小程式提供的介面取得手機號碼,回傳的資料是加密的,所以需要對傳回的加密資料進行解密。1) 新終端機
在微信開發者工具中,點選"終端" -》 「新終端」 如下圖所示:2) 執行 npm init 指令
#//執行npm init後需要你輸入一些訊息,直接一直點選「回車」鍵就好如下圖:3) 依序執行 npm install crypto-js --save 、 npm install js-base64 --save
如下圖所示:4)建構npm
在微信開發工具的選單欄選擇“工具” -” “建置npm” 建置完成即可。2.3 解析類別實作
在工程的utils資料夾下新建 WXBizDataCrypt.js文件,程式碼實作如下所示:
var CryptoJS = require("crypto-js"); var Base64 = require("js-base64"); //解析加密数据 function decode(sesionKey,iv,data) { var key = CryptoJS.enc.Base64.parse(sesionKey); var iv = CryptoJS.enc.Base64.parse(iv); var decrypt = CryptoJS.AES.decrypt(data, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); return Base64.decode(CryptoJS.enc.Base64.stringify(decrypt)); } module.exports = { decode }
2.4 取得手機號碼代碼實作
#2.4.1 getphonenumber.js的實作
#注意: appId、secret需要替換為自己小程式的// pages/getphonenumber/getphonenumber.js const WXBizDataCrypt = require('../../utils/WXBizDataCrypt'); Page({ /** * 页面的初始数据 */ data: { phoneNum:'', sessionKey:'', openId:'', }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { this.getSessionKey(); }, getPhoneNumber: function(e){ if (e.detail.errMsg == "getPhoneNumber:fail user deny") { wx.showToast({ title: '拒绝授权,无法获取用户手机号码!', }) return; } //解密数据获取手机号码 this.decryptData(this.data.sessionKey,e.detail.iv,e.detail.encryptedData); }, //获取SessionKey getSessionKey: function(){ wx.login({ success:res =>{ console.log('code:'+res.code); var data = { 'appid':'***********',//注意appId、secret需要替换为自身小程序的 'secret':'**************************', 'js_code':res.code, 'grant_type':'authorization_code' }; wx.request({ url:'https://api.weixin.qq.com/sns/jscode2session', data:data, method:'GET', success:res =>{ console.log("jscode2session result: ",res); this.setData({ sessionKey:res.data.session_key, openId: res.data.openId }) }, fail:function(res){ console.log("获取jscodeSession fail: ",res); } }) } }) }, //解密数据 decryptData: function(key,iv,encryptedData){ var processData = WXBizDataCrypt.decode(key,iv,encryptedData); console.log("解密数据: ",processData); var jsonObj = JSON.parse(processData); this.setData({ phoneNum: jsonObj['phoneNumber'] }) }, })
2.4.2 getphonenumber.wxml 實作
<!--pages/getphonenumber/getphonenumber.wxml--> <button type="primary" bindgetphonenumber="getPhoneNumber" open-type='getPhoneNumber'>获取手机号码</button> <text>获取到的手机号码:{{phoneNum}}</text>
3、運行效果圖
點擊取得手機號碼:程式設計影片! !
以上是小程式開發實務之淺析如何取得手機號碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

本文提供國內安全下載歐易OKX App的詳細指南。由於國內應用商店限制,建議用戶通過歐易OKX官方網站下載App,或使用官網提供的二維碼掃描下載。下載過程中,務必核實官網地址,檢查應用權限,安裝後進行安全掃描,並啟用雙重驗證。 使用過程中,請遵守當地法律法規,使用安全網絡環境,保護賬戶安全,警惕詐騙,理性投資。 本文僅供參考,不構成投資建議,數字資產交易風險自負。

H5、小程序和APP的主要區別在於:技術架構:H5基於網頁技術,小程序和APP為獨立應用程序。體驗和功能:H5輕便易用,功能受限;小程序輕量級,交互性好;APP功能強大,體驗流暢。兼容性:H5跨平台兼容,小程序和APP受平台限制。開發成本:H5開發成本低,小程序中等,APP最高。適用場景:H5適合信息展示,小程序適合輕量化應用,APP適合複雜功能應用。

公司安全軟件導致部分應用無法正常運行的排查與解決方法許多公司為了保障內部網絡安全,會部署安全軟件。 ...

公司安全軟件與應用兼容性問題及排查方法許多企業為了保障內網安全,會安裝安全軟件。然而,安全軟件有時...

H5和小程序的選擇取決於需求。對於跨平台、快速開發和高擴展性的應用,選擇H5;對於原生體驗、豐富功能和平台依附性的應用,選擇小程序。

本文提供2025年更新的幣安虛擬貨幣買賣簡明指南,詳細講解了在幣安平台上進行虛擬貨幣交易的操作步驟。指南涵蓋了法幣購買USDT、幣幣交易購買其他幣種(如BTC)以及賣出操作,包括市價交易和限價交易兩種方式。 此外,指南還特別提示了法幣交易的支付安全和網絡選擇等關鍵風險,幫助用戶安全、高效地進行幣安交易。 通過本文,您可以快速掌握在幣安平台上買賣虛擬貨幣的技巧,降低交易風險。
