最新微信小程序一鍵獲取真實微信頭像和昵稱方法

使用公開免費插件,快速實現獲取用戶頭像和昵稱,已附uniapp、微信開發工具開發詳細教程。


前言

? ? ? ? 為了保護用戶隱私,wx.getUserInfo、wx.getUserProfile都沒法獲取到用戶頭像和昵稱了,只能通過設計用戶主動選擇/輸入形式,操作非常麻煩,而且可能獲取到的是非真實頭像和昵稱,失去了獲取意義。很多小程序的業務功能需要微信頭像和昵稱實現一定的社交性質,或者方便用戶相互間的識別,接下來給大家介紹一個實現方法,詳細可靠。

效果展示

點擊登錄后,會自動跳轉提示使用“安全注冊”插件服務,點擊允許使用,就可以獲取到用戶真實的微信頭像和昵稱了~

? ? ??? ? ? ??

一、申請插件

1.進入小程序管理后臺(微信公眾平臺登錄),點擊左下角菜單->賬號設置

2、點擊第三方設置->插件管理->添加插件

3、搜索《安全注冊》或者《微注冊》,添加

注:《安全注冊》插件,只能更改對話框的標題和內容,對話框按鈕“取消”“登錄”無法自定義;《微注冊》插件靈活性更高,除可自定義標題和內容,還可以自定義按鈕的文字內容和顏色,以及按鈕的背景顏色,可根據自己需要添加需要的插件。

4、使用插件的小程序需要增加服務類目 工具->辦公(插件服務類目為 工具->辦公),否則可能無法正常調用插件

至此,已完成插件的關聯,下面可以在開發中使用了。

二、使用插件

1.Uniapp使用方法

(1)在manifest.json中引入插件(源碼視圖):

    "mp-weixin" : {"appid" : "你的小程序appid","plugins" : {"loginplugin" : {//這里引用了登錄插件,復制此部分"version" : "latest",//以下二選一,微注冊靈活性更高,小程序要先添加插件"provider" : "wxc7b7f914565de923"//插件:安全注冊"provider" : "wx12251485dfaf24d3"//插件:微注冊}},"setting" : {"urlCheck" : false},"usingComponents" : true,"permission" : {}},

(2)在具體的page頁面使用插件(只有需要使用登錄功能的頁面才需要引用):

舉例:我的小程序設計時,在個人中心(pages/mine/mine)頁面需要使用到用戶登錄功能,那么我就在這個頁面需要使用這個插件。

{"path" : "pages/mine/mine","style" : {"navigationBarTitleText" : "個人中心","enablePullDownRefresh": false,"mp-weixin":{"usingComponents": {"login": "plugin://loginplugin/login"}}}
}

?(3)正式使用組件

<template><view><login class="login-modal" :modal="modal" @success="loginSuccess" @fail="loginFail" @cancel="loginCancel" v-show="login_show"></login><view class="user-area">用戶業務部分</view></view>
</template><script>export default {data() {return {login_show: true, //控制登錄提示是否顯示modal://彈窗內容定義{title: '用戶登錄',  //彈窗標題內容content: '授權登錄后,開始使用完整功能',  //彈窗提示內容//以下配置僅《微注冊》插件支持confirmText: '更新',  //確認按鈕文字內容,非必填,默認“登錄”,cancelText: '暫不',  //取消按鈕文字內容,非必填,默認“取消”confirmStyle: {  //確認按鈕文字顏色和按鈕背景色,非必填color: '#000000',    //文字顏色backgroundColor: '#FFFFFF'   //背景顏色},cancelStyle: {  //取消按鈕文字顏色和按鈕背景色,非必填color: 'red',     //文字顏色backgroundColor: '#FFFFFF'   //背景顏色}}}},onShow() {},methods: {loginSuccess (res) {//登錄成功回調console.log(res);this.login_show = false;//登錄成功后,關閉登錄彈窗let _Info = res.target.res;//_Info.avatarUrl:用戶頭像地址//_Info.nickName:用戶昵稱//用戶可以將獲取到的頭像和地址存儲到服務器保存,下次就不用再次登錄了上傳用戶信息到服務器,并標記用戶已登錄},loginFail (res) {//登錄失敗回調console.log(res);this.login_show = false;//某些手機端會出現登錄失敗情況,針對這部分的用戶,如果業務需要登錄后才能使用,建議這里按照登錄成功處理,否則該類用戶無法進入登錄狀態上傳用戶信息(默認頭像和昵稱)到服務器,并標記用戶已登錄},loginCancel (res){//用戶取消登錄回調console.log(res);this.login_show = false;}}}
</script><style lang="less">.login-modal{position: fixed;top: 0;z-index: 99999999;width: 100%;height: 100%;background-color: #00000098;}
</style>

注意:極少用戶反饋登錄會出現失敗情況(大概率微信版本問題),失敗會執行loginFail回調函數,如果你的業務需要登錄后才能正常使用,這里建議登錄失敗的直接認為用戶登錄成功操作,否則用戶可能始終無法登錄成功,導致丟失這部分用戶(經驗總結哦)。

2.微信開發者工具使用方法

(1)在app.json中引入插件:

{...."plugins": {"loginplugin": {"version": "latest",//以下二選一,微注冊靈活性更高,小程序要先添加插件"provider" : "wxc7b7f914565de923"//插件:安全注冊"provider" : "wx12251485dfaf24d3"//插件:微注冊}},.....
}

(2)在具體的page頁面使用插件(只有需要使用登錄功能的頁面才需要引用):

舉例:我的小程序設計時,在個人中心(pages/mine/mine)頁面需要使用到用戶登錄功能,那么我就在mine.json文件中使用這個插件。

{"navigationBarTitleText": "個人中心","enablePullDownRefresh": false,"usingComponents": {"login": "plugin://loginplugin/login"}
}

?(3)正式使用組件

//mine.wxml
<view><login class="login-modal" modal="{{modal}}" bind:success="loginSuccess" bind:fail="loginFail" bind:cancel="loginCancel" wx:if="{{login_show}}"></login><view class="user-area">用戶業務部分</view>
</view>//mine.js
export default {data: function data() {return {login_show: true, //控制登錄提示是否顯示modal://彈窗內容定義{title: '用戶登錄',  //彈窗標題內容content: '授權登錄后,開始使用完整功能'  //彈窗提示內容//以下配置僅《微注冊》插件支持confirmText: '更新',  //確認按鈕文字內容,非必填,默認“登錄”,cancelText: '暫不',  //取消按鈕文字內容,非必填,默認“取消”confirmStyle: {  //確認按鈕文字顏色和按鈕背景色,非必填color: '#000000',    //文字顏色backgroundColor: '#FFFFFF'   //背景顏色},cancelStyle: {  //取消按鈕文字顏色和按鈕背景色,非必填color: 'red',     //文字顏色backgroundColor: '#FFFFFF'   //背景顏色}}};},onShow() {},methods: {loginSuccess: function loginSuccess(res) {//登錄成功回調console.log(res);this.login_show = false;//登錄成功后,關閉登錄彈窗let _Info = res.target.res;//_Info.avatarUrl:用戶頭像地址//_Info.nickName:用戶昵稱//用戶可以將獲取到的頭像和地址存儲到服務器保存,下次就不用再次登錄了上傳用戶信息到服務器,并標記用戶已登錄},loginFail: function loginFail(res) {//登錄失敗回調console.log(res);this.login_show = false;//某些手機端會出現登錄失敗情況,針對這部分的用戶,如果業務需要登錄后才能使用,建議這里按照登錄成功處理,否則該類用戶無法進入登錄狀態上傳用戶信息(默認頭像和昵稱)到服務器,并標記用戶已登錄},loginCancel: function loginCancel(res){//用戶取消登錄回調console.log(res);this.login_show = false;}}
}//mine.wxss
.login-modal{position: fixed;top: 0;z-index: 99999999;width: 100%;height: 100%;background-color: #00000098;
}

注意:極少用戶反饋登錄會出現失敗情況(大概率微信版本問題),失敗會執行loginFail回調函數,如果你的業務需要登錄后才能正常使用,這里建議登錄失敗的直接認為用戶登錄成功操作,否則用戶可能始終無法登錄成功,導致丟失這部分用戶(經驗總結哦)。

總結

這樣就可以獲取到真實的微信用戶頭像和昵稱了,使用雖然沒有最開始微信的接口方便,但是比現在的方式方便多了。

提示:《安全注冊》插件和《微登錄》插件均為免費直接可用插件,部分用戶可能會有開屏廣告,介意慎用;《安全注冊服務》插件為付費版,插件需要申請,通過才能使用,¥69/小程序永久授權。

如有使用問題,歡迎添加qq:2352695728 交流,有空看到就回,歡迎轉載,轉載請注明出處。

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

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

相關文章

路由器配置之模式

文章目錄配置路由器時&#xff0c;有一個模式選擇最佳實踐各個選項的區別11b only11g only11n only11bg mixed11bgn mixed配置路由器時&#xff0c;有一個模式選擇 最佳實踐 ? 追求速度&#xff1a;選 11n only&#xff08;需所有設備支持&#xff09;。 ? 兼容性優先&…

評測系統構建

合成數據更“科研驅動”&#xff0c;強調 controllability 和 generalization evaluation&#xff1a; 之前往往直接采用經典數據集如OGB和OGB-large提供的經典數據集和數據劃分思路 該思想從現有真實數據中學習參數&#xff0c;再構造類似但分布略異的數據集&#xff0c;驗證模…

【計算機網絡面試】TCP/IP網絡模型有哪幾層

參考&#xff1a; 2.1 TCP/IP 網絡模型有哪幾層&#xff1f; | 小林coding | Java面試學習 以下為自己做的筆記 應用層 專注于為用戶提供應用功能&#xff0c;如HTTP、FTP、Telnet、DNS、SMTP等。應用層不關心用戶是怎么傳輸的&#xff0c;當兩個設備間的應用需要通信時&…

3 種方式玩轉網絡繼電器!W55MH32 實現網頁 + 阿里云 + 本地控制互通

目錄 1 前言 2 項目環境 2.1 硬件準備 2.2 軟件準備 2.3 方案圖示 3 例程修改 4 功能驗證 5. 總結 1 前言 HTTP&#xff08;超文本傳輸協議&#xff0c;HyperText Transfer Protocol&#xff09;是一種用于分布式、協作式、超媒體信息系統的應用層協議&#xff0c; 基于 TCP/IP…

第四篇:科技封鎖與文化滲透篇——T-501 與 M-208 雙引擎布局(節奏增強版)

科技封鎖與文化滲透篇——T-501 與 M-208 雙引擎布局&#xff08;節奏增強版&#xff09; 引子 在全球競爭中&#xff0c;光有資本和市場遠遠不夠。 ? 科技封鎖&#xff08;T-501&#xff09;&#xff1a;通過技術標準、專利網絡、供應鏈控制&#xff0c;讓對手進入成本極高的…

python實現梅爾頻率倒譜系數(MFCC) 除了傅里葉變換和離散余弦變換

語音識別第4講&#xff1a;語音特征參數MFCC https://zhuanlan.zhihu.com/p/88625876/ Speech Processing for Machine Learning: Filter banks, Mel-Frequency Cepstral Coefficients (MFCCs) and What’s In-Between https://haythamfayek.com/2016/04/21/speech-processing-…

springBoot+knife4j+openapi3依賴問題參考

pom文件附帶版本<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.12</version></parent><dependencies><!-- SpringDoc starter --><d…

XML DOM 高級

XML DOM 高級 引言 XML DOM(Document Object Model)是用于解析和操作XML文檔的一種標準,它允許開發者通過編程方式訪問和修改XML文檔的內容。本文將深入探討XML DOM的高級特性,包括XML解析、節點操作、事件處理以及性能優化等,幫助讀者全面理解并掌握XML DOM的高級應用。…

「第18講 內容生成應用場景與多語言支持」AI Agent開發與應用:基于大模型的智能體構建

第18講核心內容概述內容生成應用場景營銷文案生成&#xff1a;基于產品特征自動生成廣告語、社交媒體文案&#xff0c;支持個性化推薦和A/B測試優化。新聞報道輔助&#xff1a;快速生成財經、體育等領域的結構化新聞摘要&#xff0c;結合實時數據更新內容。教育內容定制&#x…

金融業務安全增強方案:國密SM4/SM3加密+硬件加密機HSM+動態密鑰管理+ShardingSphere加密

國密SM4/SM3 SM4&#xff1a;對稱加密算法&#xff0c;分組長度128位&#xff0c;密鑰長度128位&#xff0c;適用于數據加密&#xff08;如數據庫字段、通信報文&#xff09;】 加密存儲&#xff1a;用戶身份證號、銀行卡號等敏感字段&#xff08;配合ShardingSphere等中間件自…

Chaos Vantage 2.8.1 發布:實時探索與材質工作流的全新突破

作為行業領先的實時光線追蹤渲染器&#xff0c;Chaos Vantage再添利器。2.8.1版本更新聚焦材質工作流、硬件效率與API拓展&#xff0c;為建筑可視化、動畫制作等領域帶來更流暢的操作體驗與更深層的定制化可能。 一、核心功能更新&#xff1a;讓創作更順暢 完整V-Ray材質節點支…

【集合框架List接口】

&#x1f449; 用 ArrayList 存數據&#xff0c;結果插入時卡住了&#xff1f; &#x1f449; 想刪除某個元素&#xff0c;卻發現索引錯亂了&#xff1f; &#x1f449; 不知道該用 ArrayList 還是 LinkedList&#xff0c;選錯了導致性能瓶頸&#xff1f;一、List 是什么&#…

《棒球百科》奧運會取消了棒球·野球1號位

?? 奧運會棒球消失&復活之謎&#xff01;深度揭秘全球體育權力游戲 ??? 2008年為何被踢出奧運&#xff1f;(Why Removed in 2008?)MLB的致命抵制? 奧運賽期撞車MLB常規賽白熱化階段&#xff01;? 球隊老板拒放巨星&#xff1a;2000年悉尼奧運美國隊僅剩"替補陣…

基于js和html的點名應用

分享一個在課堂或者是公司團建上需要點名的應用程序&#xff0c;開箱即用。1、雙擊打開后先選擇人員名單&#xff08;可以隨時更改的&#xff09;2、下面的滾動速度可以根據需求調整<!DOCTYPE html> <html lang"zh"> <head> <meta charset"…

【深度學習-基礎知識】單機多卡和多機多卡訓練

1. 單機多卡訓練&#xff08;Single Machine, Multi-GPU&#xff09; 概念 在同一臺服務器上&#xff0c;有多塊 GPU。一個訓練任務利用所有 GPU 并行加速訓練。數據集存放在本地硬盤或共享存儲上。 核心原理數據并行&#xff08;Data Parallelism&#xff09; 將一個 batch 劃…

數據庫原理及應用_數據庫基礎_第2章關系數據庫標準語言SQL_SQL語言介紹數據庫的定義和刪除

前言 "<數據庫原理及應用>(MySQL版)".以下稱為"本書"中2.1節和2.2節第一部分內容 引入 本書P40:SQL(Structure Query Language結構化查詢語言)是一種在關系數據庫中定義和操縱數據的標準語言,是用戶和數據庫之間進行交流的接口. ---SQL是一種語言,是…

實變函數中集合E的邊界與其補集的邊界是否相等

在實變函數&#xff08;或一般拓撲學&#xff09;中&#xff0c;給定一個集合 E \subseteq \mathbb{R}^n &#xff08;或更一般的拓撲空間&#xff09;&#xff0c;集合 E 的邊界&#xff08;boundary&#xff09;與 E 的補集 E^c 的邊界是否相等&#xff1f; 即&#x…

# C++ 中的 `string_view` 和 `span`:現代安全視圖指南

C 中的 string_view 和 span&#xff1a;現代安全視圖指南 文章目錄C 中的 string_view 和 span&#xff1a;現代安全視圖指南目錄1. 原始指針的痛點1.1 安全問題1.2 所有權不明確1.3 接口笨拙1.4 生命周期問題2. string_view 深入解析2.1 基本特性2.2 高效解析示例2.3 防止常見…

Linux學習-多任務(線程)

定義輕量級進程&#xff0c;實現多任務并發&#xff0c;是操作系統任務調度最小單位&#xff08;進程是資源分配最小單位 &#xff09;。創建由進程創建&#xff0c;屬于進程內執行單元。- 獨立&#xff1a;線程有8M 獨立棧區 。 - 共享&#xff1a;與所屬進程及進程內其他線程…

高級堆結構

一、二項堆&#xff08;Binomial Heap&#xff09;&#xff1a;理解「合并操作」的優化二項堆的核心優勢是高效合并&#xff0c;類似 “二進制加法”。我們通過「合并兩個二項堆」的偽代碼和步驟來理解&#xff1a;核心結構偽代碼&#xff1a;class BinomialTreeNode:def __ini…