小程序獲取手機號完整流程 彈出框獲取電話號碼

小程序獲取手機號完整流程 彈出框獲取電話號碼

1?? 前提條件
- 使用微信小程序
- 小程序已注冊并通過審核
- 后端可存儲 session_key2?? 小程序端按鈕
<button type="default" open-type="getPhoneNumber" @getphonenumber="decryptPhoneNumber"
>獲取手機號
</button>3?? 點擊按鈕事件處理
decryptPhoneNumber(event) {if (event.detail.errMsg === 'getPhoneNumber:ok') {const { encryptedData, iv } = event.detail;// 發送給后端解密} else {console.log('用戶拒絕授權手機號');}
}4?? 前端請求后端解密
wx.request({url: '/api/decrypt-phone',method: 'POST',data: { encryptedData, iv },success(res) {console.log('手機號綁定成功:', res.data.phoneNumber);}
})5?? 后端解密流程(Node.js 示例)
const crypto = require('crypto');function decryptPhoneData(encryptedData, iv, sessionKey) {const decipher = crypto.createDecipheriv('aes-128-cbc',Buffer.from(sessionKey, 'base64'),Buffer.from(iv, 'base64'));decipher.setAutoPadding(true);let decoded = decipher.update(encryptedData, 'base64', 'utf8');decoded += decipher.final('utf8');return JSON.parse(decoded);
}6?? 前端顯示手機號
this.phoneNumber = res.data.phoneNumber;
console.log('綁定的手機號:', this.phoneNumber);7?? 全流程概覽
點擊按鈕 -> 彈窗授權 -> 前端獲取 encryptedData + iv
-> 發送給后端 -> 后端解密 -> 返回真實手機號
-> 前端顯示

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/96226.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/96226.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/96226.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Nginx 實戰系列(四)—— Nginx反向代理與負載均衡實戰指南

文章目錄前言一、反向代理1.1 反向代理原理1.2 實驗配置示例二、負載均衡2.1 負載均衡基本原理2.2 常見負載均衡策略2.2.1 輪詢&#xff08;Round Robin&#xff09;&#xff08;最常用&#xff09;2.2.2 最少連接數&#xff08;Least Connections&#xff09;2.2.3 IP 哈希&am…

深度學習(一):人工智能、機器學習與深度學習

人工智能 (AI)&#xff1a;宏大的目標 人工智能是最廣泛、最宏大的概念&#xff0c;它的目標是讓機器能夠模仿人類的智能行為&#xff0c;例如&#xff1a; 推理&#xff1a;像下棋程序一樣&#xff0c;通過邏輯來做決策。規劃&#xff1a;為實現一個目標而制定步驟&#xff0c…

[網絡入侵AI檢測] 純卷積神經網絡(CNN)模型 | CNN處理數據

第5章&#xff1a;純卷積神經網絡&#xff08;CNN&#xff09;模型 歡迎回來 在第1章&#xff1a;分類任務配置&#xff08;二分類 vs. 多分類&#xff09;中&#xff0c;我們學習了如何提出正確的問題&#xff1b; 在第2章&#xff1a;數據加載與預處理中&#xff0c;我們準…

Unity AssetBundle詳解

簡介 AssetBundle&#xff08;簡稱&#xff1a;AB包&#xff09; 是 Unity 提供的一種資源壓縮包&#xff0c;用于在應用運行時動態地加載和卸載資源。它可以將非代碼資源&#xff08;如模型、紋理、預制體、音頻、甚至整個場景&#xff09;打包成一個或多個文件&#xff0c;這…

golang-gin包

文章目錄一、了解gin二、html渲染三、gin中get/post獲取值四、路由分組五、中間件六、文件上傳七、gin中的cookie一、了解gin Gin 是一個用 Golang編寫的 高性能的web 框架, 由于http路由的優化&#xff0c;速度提高了近 40 倍。 Gin的特 點就是封裝優雅、API友好。 特性類別…

基于腳手架微服務的視頻點播系統-界面布局部分(二):用戶界面及系統管理界面布局

基于腳手架微服務的視頻點播系統-界面布局部分:二.首頁及播放界面布局一.用戶界面布局1.1用戶界面布局分析與實現1.2更新用戶圖像按鈕及邏輯1.3修改按鈕及邏輯1.4上傳視頻對話框實現邏輯1.4.1頁面跳轉邏輯處理1.4.2頁面控件響應處理二.系統界面布局2.1系統管理頁框架2.2審核管理…

STL庫——二叉搜索樹

? ? ? ? ? づ?ど &#x1f389; 歡迎點贊支持&#x1f389; 個人主頁&#xff1a;勵志不掉頭發的內向程序員&#xff1b; 專欄主頁&#xff1a;C語言&#xff1b; 文章目錄 前言 一、二叉搜索樹的概念 二、二叉搜索樹的性能分析 三、二叉搜索樹的插入 四、二叉搜索樹的查…

【Linux】線程概念與控制

一. 線程的概念1.什么是線程線程是進程內部的一個執行流&#xff0c;是進程調度的基本單位。它具有輕量的特點&#xff0c;它的創建和銷毀所消耗的資源更少&#xff0c;線程間切換比進程間切換消耗的資源更少&#xff1b;它與進程共享一張虛擬地址空間表&#xff0c;通過進程來…

雙軸傾角傳感器廠家與物聯網角度傳感器應用全解析

本文主要探討雙軸傾角傳感器廠家的核心技術優勢&#xff0c;以及物聯網角度傳感器在智能監測中的創新應用。同時&#xff0c;也詳細介紹了水平監測傳感器廠家的解決方案特點&#xff0c;并分析了專業進口傾角傳感器代理所提供的原廠品質保障與本地化服務支持。以深圳瑞慣科技有…

容器-資源隔離機制

一. 引言&#xff1a; 大家都知道&#xff0c;在一臺機器上&#xff0c;可以運行任意(根據系統資源)個容器實例。且各容器間是相互獨立&#xff0c;不做任何關聯的。那么&#xff0c;docker是通過什么方式來實現容器隔離的呢&#xff1f; 接下來我們了解下。 二. 關于容器隔離…

Agentic RL Survey: 從被動生成到自主決策

Agentic RL Survey: 從被動生成到自主決策 本文將系統解讀《The Landscape of Agentic Reinforcement Learning for LLMs: A Survey》這篇綜述。該綜述首次將智能體強化學習&#xff08;Agentic RL&#xff09;與傳統LLM-RL范式正式區分&#xff0c;通過MDP/POMDP理論框架梳理…

徹底禁用 CentOS 7.9 中 vi/vim 的滴滴聲

在 VMware 虛擬機中安裝的 CentOS 7.9 系統&#xff0c;即使通過修改 /etc/inputrc 禁用了終端鈴聲&#xff08;set bell-style none&#xff09;&#xff0c;vi 或 vim 編輯時仍可能發出滴滴聲。這是因為 vi/vim 有自己獨立的鈴聲控制機制。以下是解決方法&#xff1a;方法 1&…

基于A2A和ADK的內容規劃代理

項目概述 Content Planner Agent 是一個基于 Google Agent Development Kit (ADK) 和 Python A2A SDK 構建的智能內容規劃代理。該代理能夠根據高層次的內容描述&#xff0c;創建詳細的內容大綱。 什么是A2A Protocol A2A Protocol&#xff08;Agent2Agent 協議&#xff09;…

Linux-條件變量

文章目錄條件變量概述條件變量的優缺點條件變量相關函數pthread_cond_init函數pthread_cond_destroy函數pthread_cond_wait函數pthread_cond_signal函數測試生產者和消費者模型條件變量 概述 與互斥鎖不同&#xff0c;條件變量是用來等待而不是用來上鎖的&#xff0c;條件變量…

[硬件電路-166]:Multisim - SPICE與Verilog語言的區別

SPICE與Verilog語言在電子設計領域中扮演不同角色&#xff0c;SPICE是電路仿真語言&#xff0c;用于精確模擬電路行為&#xff1b;Verilog是硬件描述語言&#xff0c;用于描述數字電路的結構和行為。以下是兩者的詳細區別&#xff1a;一、核心定位與用途SPICE&#xff1a;電路仿…

玩轉Docker | 使用Docker部署Umbrel操作系統

玩轉Docker | 使用Docker部署Umbrel操作系統 前言 一、 Umbrel 介紹 Umbrel簡介 Umbrel主要特點 二、系統要求 環境要求 環境檢查 Docker版本檢查 檢查操作系統版本 三、部署Umbrel服務 下載Umbrel鏡像 編輯部署文件 創建容器 檢查容器狀態 檢查服務端口 安全設置 四、訪問Umbr…

Flink Task線程處理模型:Mailbox

Task的線程 和 MailboxProcessor 的綁定executingThread 是 Task 類&#xff08;StreamTask 的父類&#xff09;在構造時創建的物理線程。MailboxProcessor 是 StreamTask 用來處理異步事件和驅動其主要處理邏輯&#xff08;processInput&#xff09;的核心組件。它們之間的綁定…

OpenCV 銀行卡號識別

目錄 一、項目原理與核心技術 二、環境準備與工具包導入 1. 環境依賴 2. 工具包導入 三、自定義工具類 myutils.py 實現 四、主程序核心流程&#xff08;銀行卡識別.py&#xff09; 1. 命令行參數設置 2. 銀行卡類型映射 3. 輔助函數&#xff1a;圖像展示 五、步驟 1…

計算機二級Python

一.靜態語言和腳本語言高級語言根據計算機執行機制的不同分為兩類&#xff1a;靜態語言和腳本語言靜態語言的核心特征&#xff1a;變量的類型在編譯時&#xff08;寫代碼時&#xff09;就必須確定并固定下來&#xff0c;即在使用一個變量前必須顯式地聲明它地類型一旦聲明&…

Mybatis Log Plugin打印日志,會導致CPU升高卡死

原因 大量日志輸出:MyBatis Log Plugin 會打印大量的 SQL 日志,包括 SQL 語句及其參數。如果項目中 SQL 查詢頻繁且復雜,日志量會非常大,導致 CPU 使用率升高,甚至卡死。 日志級別設置不當:如果將日志級別設置為 DEBUG 或 TRACE,MyBatis 會輸出非常詳細的日志信息,這會…