<form id="fbxrn"><thead id="fbxrn"></thead></form>

      您現在的位置是:首頁 > 學無止境 > web前端web前端

      微信H5獲取用戶openId的方法和步驟包括靜默和非靜默授權

      AndyGuo2020-07-05 14:07:51web前端2578人已圍觀

      簡介微信H5獲取用戶信息(頭像,昵稱,地區)這是我們在做微信端H5時經常要用到的功能,本文小郭將給大家談是如何實現的以及實現的方法和步驟,...

      微信H5獲取用戶信息(頭像,昵稱,地區)這是我們在做微信端H5時經常要用到的功能,本文小郭將給大家談是如何實現的以及實現的方法和步驟,如有不明白的地方可以直接聯系小郭哈。

      首先我們了解一下一些常用述語。

      一、openId是什么?

      openId是用戶在當前公眾號下的唯一標識(‘身份證'),就是說通過這個openId,就能區分在這個公眾號下具體是哪個用戶。

      二、openId有什么用?

      假如用戶A在當前公眾號下購買了一件商品,用戶的下單信息肯定要存儲到后臺數據庫,那根據什么進行存儲呢?openId是用戶在當前公眾號下的唯一標識,通過openId和用戶的下單購買信息進行鍵值對的數據綁定。那么我要查詢該用戶購買過什么商品,就能夠通過openId去查詢,并且數據是唯一的,不會和另外的用戶數據有沖突。

      拓展:UnionID:一個商家或公司可能會有多個公眾號,假如用戶A同時都關注了這個公司下面的三個公眾號,那么這個用戶就會有三個openId(一個公眾號就對應一個openID)。如果作為開發者的我們,要對這個用戶在這三個公眾號下消費的數據進行匯總,我怎么獲取到這三份數據(同一用戶的)?答案是 UnionId,微信開發者文檔:如果開發者擁有多個移動應用、網站應用和公眾帳號,可通過獲取用戶基本信息中的unionid來區分用戶的唯一性,因為同一用戶,對同一個微信開放平臺下的不同應用(移動應用、網站應用和公眾帳號),unionid是相同的。就是說如果要獲取用戶在同一公司不同公眾號下的數據,后臺表結構不但要關聯openId,還要關聯UnionId。

      三、怎么獲取openId?

      (一)登錄微信公眾平臺后臺獲取公眾號的AppId,設置回調地址。

      回調地址設置頁面向導:開發>接口權限>網頁服務>網頁授權>修改。開發的項目需要放到已經解析好服務器域名的服務器下,同時把Mp***.text文件放到服務器根目錄下,此時你的服務器必須能聯通外網也就是有公網IP,并且80端口是打開的,可以使用阿里云等服務器,默認配置就可以了。

      (二)根據開發需要,靜默授權還是非靜默授權

         ① 靜默授權:snsapi_base,沒有彈窗,只能獲取用戶的openId。

         ②非靜默授權:snsapi_userinfo,有彈框彈出需要用戶手動點擊確認授權??梢垣@取openId,用戶的頭像、昵稱等

      (三)前端代碼,配置的參數要一一對應,獲取code,并調用后臺接口,把code傳給后臺

      redirect_uri,這個的意思是:授權完成后再重新回到當前頁面(又刷新了一次頁面)

      getUrlParam的方法,可以百度下,就是獲取頁面路徑的某個字段所對應的參數。

      如果配置參數一一對應,那么此時已經通過回調地址刷新頁面后,你就會看到在地址欄中的code了。

      (四)前端截取地址欄中的code后通過調接口把code傳給后臺,后臺通過code獲取openId和用戶頭像昵稱等信息并返回給前端

      為什么,前端不能一起把獲取code和獲取openId的操作一并做了,還要請求后臺,讓后臺獲取openId?

      (五)后臺通過 code、AppSecret(公眾號平臺后臺取得)請求微信鏈接獲取openId

      前端具體代碼如下,可復制(記得把文中的 window.APPID改為自己公眾號的APPID)

      (六)通過openId做用戶的數據綁定或查詢等操作

          前后端都獲取了openId后,就能通過openId做用戶數據的綁定和查詢了。

      (七)補充說明

         使用上述方法進行的微信授權,在手機端會有兩次空白頁跳轉,時間雖然很短暫,但有些產品經理會覺得這種體驗不好(實在很欠揍)。解決方法是:可以把跳轉到微信獲取code的這段鏈接拼接好直接復制到  微信公眾平臺 后臺管理系統菜單列表里面。這樣點擊菜單,在回調頁通過截取url中的code,就能直接獲取到code了,就避免了多次跳轉的情況。

      (八)解決微信授權成功進入項目后,點擊手機物理返回鍵或返回會出現空白頁或者報錯的情況,空白頁是因為授權頁就是空白頁。解決微信授權成功后點擊按返回鍵出現空白頁和報錯的問題,可以查看另一篇文章。


      小郭博客

      標簽云 更多

      站長特薦

      高清性欧美暴力猛交BD_东北偷拍厕所XXXXX_国产+成+人+亚洲欧洲
      關閉
      QQ 微信 支付寶掃一掃打賞