微信應用架構
一、我們要實現什麼
清晰明瞭的實現微信應用的管理
本次博客主要討論如下4種的微信應用的架構和管理建議 注意本文可能講的很細,大佬繞道!
- 微信公衆號 微信公衆號介紹鏈接.
- 微信小程序 微信小程序介紹鏈接.
- 企業微信 企業微信介紹鏈接.
- 企業微信下自建應用 企業微信自建應用介紹鏈接.
給系統提供結構化的微信應用能力
本次博客主要討論如下微信應用的實現能力
- 微信公衆號應用管理
- 微信公衆號消息模板消息推送
- 微信公衆號應用oauth鑑權登錄管理
- 微信公衆號的用戶綁定系統實現
- 微信公衆號的消息通信設計
- 小程序應用管理
- 小程序模板消息推送
- 小程序登錄系統搭建維護
- 小程序外部消息傳遞建議
- 小程序登錄併發優化
- 企業微信應用管理
- 企業微信下應用管理
- 企業微信下應用消息推送
- 企業微信下應用oauth鑑權登錄管理
- 微信應用賬號管理
- 微信鑑權驗證相關建議
提出標準化的微信應用的實現邏輯
本次博客主要討論如何針對線上線下微信應用的管理及測試方案進行討論
(1)微信公衆號測試管理
(2)企業微信下應用的測試管理
(3)測試環境線上環境accesstoken維護
二、我們怎麼幹
清晰明瞭的實現微信應用的管理
面對的端
本次管理主要針對微信公衆號、微信小程序、企業微信、企業微信下應用。
端之間的關係
- 微信公衆號和微信小程序可以通過微信開放平臺連接在一起,進行相互的跳轉,和互相的引流,並且小程序的模板消息也只能通過綁定的公衆號進行跳轉。
- 企業微信和企業微信下應用之間本身就是包含關係,但是我們要進行更靈活的配置我們把企業微信下應用的等級提升到跟企業微信一樣的等級。
- 小程序可以通過公衆平臺授權在企業微信裏使用,但是登錄方式和微信裏的登錄方式不太一樣,並且由於本人暫時還沒有針對企業微信進行過處理所以暫時不做討論。
- 建議系統提供 系統模板和企業微信下應用程序給微信公衆號和企業微信進行綁定,用戶不能自定義模板和企業微信下應用程序。這樣保證系統出的消息和應用都是自己能控制的。
數據庫er圖設計
就簡單的通過如下的3個表就是簡單並且完美的時間上邊的微信應用的幾點功能
關鍵字段解析
- app_name app_name字段全局唯一 爲啥要命名改字段那 主要爲了多系統之間數據同步,比如線上,測試環境的accesstoken同步問題,多個部署環境accesstoken同步的問題,當然了唯一索引既能保證數據的唯一性還能加快查詢速度
- app_type app_type字段爲標識四種類型的微信 其中 1公衆號 2小程序 3企業微信 4企業微信下應用
- auth_id auth_id字段主要爲了解決,如果拿不到微信公衆號全部權利的時候(比如上報服務器,不能填寫自己公司的地址),這個時候用戶的綁定只能通過一次簡單的方式實現了
- app_config app_config字段主要爲了儲存各個類型的應用的相關配置文件
微信公衆號主要儲存
weixin_id 主要爲了當消息回執過來時區分應用使用的
Token 主要爲了通過微信的服務器消息檢驗的
EncodingAESKey 主要爲了解密微信推送服務器相關消息的
微信小程序主要儲存
page 主要爲儲存微信小程序消息跳轉使用的 (後續會具體解釋改選項的作用)
企業微信主要儲存
login_type 該字段主要用在企業微信的oauth登錄系統,並且把企業微信的UserId和系統的賬號進行一個綁定聯繫
企業微信下應用主要儲存
url 該字段主要儲存應用的首頁的地址,主要用未登錄狀態的情況下,通過oauth登錄之後回調的頁面地址
- eagle_weixin_app_link eagle_weixin_app_link 主要爲配置相關應用的綁定信息和相關配置 主要儲存微信公衆號和消息模板的綁定關係,微信公衆號和微信小程序的綁定關係,企業微信和企業微信下應用的綁定關係。
- content 該字段主要爲相關綁定的配置信息
微信公衆號和消息模板配置爲
weixin_template_id 改字段主要儲存微信消息模板和微信公衆號綁定之後生成的唯一的id 在發送模板消息的時候會使用到。
微信公衆號和微信小程序的配置爲
空 微信公衆號和小程序綁定主要爲了推送消息時確定使用什麼公衆號進行消息推送 並不需要特殊的配置
企業微信和企業微信下應用配置爲 這兩個字段主要爲了oauth認證時使用
agent_id 該字段爲在企業微信下創建應用是系統分配的id
work_app_secret 該字段爲在企業微信下創建應用時系統分配的應用密匙
- eagle_weixin_template 主要提供微信模板消息儲存模板使用
- weixin_template_id在微信模板消息的模板庫中獲取的模板id
- mini_program_flag 該模板是否是小程序消息模板
- detail 微信模板詳情json結構 需要從微信模板庫處獲取
配置相關應用
在上一步數據的設計就可以看出我們針對各個應用需要不同的配置信息,所有在創建和更新應用的時候要根據相關的配置文件進行不同應用類型的配置。在更新的時候要針對綁定的配置相關字段進行相關的配置的完善
給系統提供結構化的微信應用能力
爲了減少篇幅的大小在這裏另起一個博客進行相關微信應用的能力的描述
應用能力鏈接
提出標準化的微信應用的實現邏輯
爲了減少篇幅的大小在這裏另起一個博客進行相關微信應用的測試和搭配建議