溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

微信頭像地址失效踩坑記附帶解決方案

發(fā)布時間:2020-09-24 18:09:24 來源:腳本之家 閱讀:292 作者:枕邊書 欄目:web開發(fā)

微信頭像失效問題說明?

最近工作遇到一個微信頭像失效的問題,情況是這樣的,我們一個h6頁面在微信授權(quán)后打開,會存儲微信相關(guān)昵稱和頭像信息,不過,我們沒有保存圖片到自己的服務(wù)器,而是僅僅存儲微信頭像地址,然而過了n多天后,用戶在微信修改了自己的頭像,這時候,我們的服務(wù)是無感知的,又過了n多天,用戶去訪問我們那個h6頁面,發(fā)現(xiàn)自己的頭像是這樣的:

微信頭像地址失效踩坑記附帶解決方案

用戶找到我們,說自己有頭像呀,怎么沒顯示呢?
我們也反問他,是否最近改過頭像呢,他說沒,不過很早之前改過。

而此時就比較尷尬,用戶體驗(yàn)超級不好。

然后我們就去查看官方文檔,發(fā)現(xiàn)這么說的:

官方文檔說明-獲取用戶個人信息

微信頭像地址失效踩坑記附帶解決方案

官方也建議自己保存下來處理。

然后我們又去google了一把,看下別人是否也被同樣的問題坑過。

微信頭像地址失效踩坑記附帶解決方案

微信頭像地址失效踩坑記附帶解決方案

看來好多用戶都遇到了,相關(guān)問題鏈接

經(jīng)常看到還有人的頭像時而好時而不好,那是因?yàn)?/p>

舊的頭像鏈接失效需要一定的時間,從 CDN 節(jié)點(diǎn)一個一個失效。你現(xiàn)在訪問到的應(yīng)該是舊的頭像鏈接,每次訪問可能到達(dá)不同的 CDN 節(jié)點(diǎn),導(dǎo)致時有時無。

那么如何解決這個問題呢?

我們這邊也想了好多方案,我們考慮下幾個方面,分兩個思路

思路1: 自己本地服務(wù)保存并CDN,缺點(diǎn)成本有點(diǎn)高

思路2: 有個策略定時更新頭像

  • 定期更新下頭像鏈接,不要一直緩存著,比如在 session_key 過期時一起更新下頭像鏈接
  • 后臺服務(wù)定期檢查頭像鏈接是否過期(怎么自動判斷是否過期呢,下面會詳細(xì)說明)
  • 前端根據(jù)頭像鏈接判斷是否過期,過期重新授權(quán)更新頭像信息

下面介紹下,怎么判斷微信的頭像是否過期了,經(jīng)過研究發(fā)現(xiàn):

正常的微信圖片返回的請求信息如下:

微信頭像地址失效踩坑記附帶解決方案

然而異常的圖片地址怎么返回的呢?

微信頭像地址失效踩坑記附帶解決方案

可以看下異常情況,返回的信息不一樣,可以根據(jù)X-Info: notexist:-6101 判斷或者 X-ErrNo: -6101 關(guān)鍵字

不過還有一個疑問,如果本地存儲的話,還會遇到,用戶修改頭像后,獲取的地址可能不是最新的,雖然不會顯示一個特別丑陋的頭像,這里怎么解決呢,這里需要產(chǎn)品定義個策略,哪些場景需要定期授權(quán),重新更新頭像和用戶信息等等。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI