小程式獲取帶有分享者資訊的小程式碼

woodccc發表於2018-09-26

獲取帶有分享者資訊的小程式碼是用在匯出朋友圈海報這個功能,踩了一些坑,記錄一下。本文主要是介紹如何獲取帶有分享者資訊的小程式碼。

目標有兩個,首先要獲取小程式碼;其次需要帶有分享者資訊。

獲取小程式碼

首先,先看看小程式文件,獲取二維碼。文件提供了三個介面,根據自己需求使用不同介面,本文使用了介面 B。介面 B 的特點是通過該介面生成的小程式碼,永久有效,數量暫無限制

簡單來說,就是呼叫文件提供的介面,傳送必要的引數,就可以獲取小程式碼了。當然,一定沒有那麼簡單。需要注意以下幾點:

  • 不能前端直接呼叫該介面
  • base64 在手機上無效

為什麼不能前端直接呼叫該介面?

獲取二維碼的介面需要傳一個access_token 引數,這個引數當然也可以通過後端獲取。但是access_token是公眾號的全域性唯一介面呼叫憑據,建議公眾號開發者使用中控伺服器統一獲取和重新整理Access_token。這樣子就只有通過服務端獲取小程式碼,然後從服務端獲取就行了。

base64

一開始想到的就是服務端拿到小程式碼後,返回前端一個 base64 字串。可是真機除錯發現,小程式 canvas 暫不支援base64,目前只支援了本地圖片和網路圖片。所以,讓後端同事返回一個圖片連結就好了。

這裡需要注意的是,獲取小程式碼的介面返回的是一個二進位制流,需要後端讀取並儲存到伺服器上。然後在使用完小程式碼後,一定要讓後端同事提供一個介面刪除相應的小程式碼檔案哦,不然圖片檔案會越來越多。

小程式碼帶引數

獲取小程式碼的介面B 提供了一個引數scene,有長度限制。所以我只在裡面給了使用者 id,通過儲存在小程式碼中的使用者 id 就能區分使用者啦。

相關文章