之前很火給女朋友推送微信服務號消息是怎麼做的?

經過了幾天的奮戰,終於把微信服務號的模板消息給寫完了。後端其實沒花多少時間,因爲之前已經有同學提過pull request了,我在這基礎之上簡單優化下就完事了,主要的時間都是花在前端上,對前端頁面和參數的適配比較麻煩。

消息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程序】【企業微信】【釘釘】等消息類型

不多說了,先來看看效果圖吧。

要實現微信服務號的模板消息推送,首先我們得有一個服務號。要值得注意的是,服務號是服務號,訂閱號是訂閱號。服務號會有單獨的聊天框,所以Java3y實際上是一個訂閱號。

服務號申請要有企業的資料,而我,是沒有的。那我這次是怎麼調試的呢?後來經朋友圈提醒,微信是能讓我們申請測試號的,相關的API都是能用的,得知了以後,那我不就屁顛屁顛花了幾天實現了嘛。

申請測試號鏈接:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

進入到測試號以後,我們能把自己加入到測試的微信號內,拿到對應的openId

創建幾個測試下發的模板;

0reG3uUoUSonh0jGi-8ufj3VheCFlaoXqxBxD-zvswE
  
待處理作業提醒
  
{{first.DATA}} 作業類型:{{keyword1.DATA}} 作業名稱:{{keyword2.DATA}} 所屬項目:{{keyword3.DATA}} 提交日期:{{keyword4.DATA}} {{remark.DATA}}    

我們還能直接拿到appIDappsecret,這就相當於當前服務號賬號的信息。那我要做的就是把這個信息加入到消息推送平臺的賬號體系下。

在新建模板發送消息的時候,我們就可以選擇到這個被加入到賬號體系的賬戶,拿到這個賬戶下的模板列表,再得到具體模板的詳情信息啦,這會有個聯動的效果。

我這就一個完整的消息模板,來讓大家看看,順便講講相關的功能吧。

image-20221202200955523

保存之後就會跳轉到模板的列表頁,就能看到剛纔所建的模板啦。

這時候,我們點擊測試按鈕,就能看到下發的效果:

至於功能實現,我就不在這多說啦。因爲消息推送平臺的架構已經搭好了,接入消息這個過程沒多少工作量,主要是適配整個架構代碼的實現就好了。至於做了什麼改動,你們看commit就好啦。

幾個關鍵代碼入口:

  • 前端交互:com.java3y.austin.web.controller.OfficialAccountController
  • 發送消息入口:com.java3y.austin.service.api.impl.service.SendServiceImpl#send
  • 真正處理微信服務號模板消息發送入口:com.java3y.austin.handler.handler.impl.OfficialAccountHandler#handler

如果想學Java項目的,我還是強烈推薦我的開源項目消息推送平臺Austin(8K stars) ,可以用作畢業設計,可以用作校招,可以看看生產環境是怎麼推送消息的。開源項目消息推送平臺austin倉庫地址:

消息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程序】【企業微信】【釘釘】等消息類型

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章