小程式中使用公眾號模板訊息思路整理

MTyu發表於2022-10-12

起因

最近做的一個小程式裡面有一個預約功能,成功提醒使用者預約成功,同時通知被預約者

過程

因為在小程式中,第一想法用“訂閱訊息”
此時出現問題:訂閱訊息的模板使用受小程式的服務類目影響,當前服務類目只能使用一次性訂閱,每次傳送訊息都要使用者授權
這不是想要的結果!!!

於是尋找替代,郵件太扯,簡訊不與時俱進,公眾號有個模板訊息,但還沒有對應公眾號註冊,那用什麼呢?百度的同時發了篇部落格求問
可以拿什麼替代訂閱訊息呢?

在這裡衷心感謝熱心朋友們的解答:sparkles: :hibiscus: :pray:

最終還是選擇用公眾號的模板訊息:joy: :joy::joy:
好 註冊公眾號 將公眾號與小程式關聯上 開整

接下來過程中出現第二個問題:sweat_smile::小程式登入,用code置換session時,拿不到unionID
從網上得知原因是沒有在微信開放平臺進行關聯配置,為了得到確認,又發了篇部落格:joy:小程式登入時獲取不到unionID 再次衷心感謝:sparkles: :hibiscus: :pray:

透過這樣兩篇部落格,得出了兩種完成功能的方式,並都親自測試成功。接下來貼方式思路:see_no_evil:

思路

  • 透過unionID
  1. 保證公眾號與小程式相互關聯成功
  2. 配置開放平臺的關聯

    小程式客戶是澳門的,於是在給客戶註冊開放平臺時的一次認證費用是99美元,美元增值,現在摺合人民幣七百多客戶:騰訊牛逼!!!:see_no_evil:

  3. 關聯做好後,小程式使用者登入時能獲取到unionID,將它存下
  4. 此時無法直接透過unionID獲取到公眾號的openID,於是用了一個麻煩的方式(還不知道別的好方式):see_no_evil::arrow_double_down::arrow_double_down::arrow_double_down:
  5. 首先獲取公眾號的粉絲列表(如何獲取請參考官方開發文件),存入各粉絲使用者的openID到資料表,此時無法分辨哪個粉絲就是關注了公眾號的使用者:see_no_evil:
  6. 那麼接下來要透過openID去獲取到對應的unionID再儲存到對應粉絲使用者的資料下。此時獲取的unionID與之前儲存的unionID相同
  7. 接下來便是透過比對unionID來拿到對應openID:joy::joy:

這裡粉絲表總是要更新的,對於此方式,內心不知什麼作祟,總不舒坦:see_no_evil::see_no_evil::see_no_evil:

接下來第二種,說起來十分簡單,做起來對於後端確實也非常簡單:joy:

  • 利用公眾號登入的靜默授權

此時需要你懂得前端,或者你有一個百分百願意配合你的前端盆友:see_no_evil:

大致思路:
此專案前端是uniapp,好,首先用web-view調官方的授權介面,注意一定是靜默授權哦!此時會拿到code,然後透過這個code請求後端……便能拿到openID了……有了openID便能傳送模板訊息了……

大抵如此:rabbit: :monkey_face::frog: :wolf: :koala: :pig: :tiger: :cow: :sheep: :elephant: :hatching_chick: :penguin:

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章