
通過前面8篇關于微信開發相關文章的學習,我們已經對微信常用開發有了一個比較深入的了解。前面的文章都是基于某一特定公衆号的,在現實業務中同一機關個體營運着不至一個公衆号,此時就需要對多個公衆号集中管理,随意切換。本篇文章主要介紹多公衆号集中管理的方法、表設計、設定預設公衆号、生成指定格式的URL資源伺服器、重新整理Access_Token等。
我們知道操作微信公衆号時微信伺服器都會傳回相應的資訊到我們自己的中轉伺服器上,涉及多個微信公衆号管理時,我們就需要知道是那個公衆号傳回的資料以及我們要操作的是那個公衆号。我們通過集中設計一個公衆号管理的界面就可以完成對多公衆号的管理,下面我們介紹具體的方法供大家參考。
在進行表設計之前,我們先回憶一下我們在申請公衆号時需要填寫的必要資訊,如下圖所示 。
在上圖中,我們可以看出界面上我們标記的5個資料項是必須的,分别為公衆号(OFFICIAL_ID)、應用ID(APP_ID)、應用密鑰(APP_SECRET)、伺服器位址(API_URL)、令牌(TOKEN)。我們可以根據我們實際業務擴充其他的字段友善使用。公衆号管理參考表設計如下圖所示。
上面的表設計我們對申請各種類型公衆号所需的字段都進行了處理。要做到多公衆号管理,我們可以利用主鍵來切分公衆号,這個主鍵ID就需要放到我們公衆号接口配置資訊中的URL中,如下圖所示。
我們隻需要在我們的微信開發服務端得到這個ID值就能知道目前操作的公衆号資訊,這是多公衆号管理設計中的精髓。具體參考本文後面的生成指定格式的URL資源伺服器的講解。
預設公衆号就是目前操作的公衆号,所有涉及公衆号的操作都以預設公衆号為基礎。在上一節我們的表設計中有一個IS_DEFAULT目前操作公衆号的字段,隻要設定為1就是預設公衆号。特别注意的是所有操作公衆号中隻允許有一個預設公衆号,設定為一個公衆号為預設公衆号後,其他的公衆号都要取消預設公衆号的設定。
要設定預設公衆号隻需要調用我們架構提供的接口:
設定好預設公衆号後,我們可以通過下面的接口得到目前操作的公衆号:
代碼參考
在閱讀本節之前,建議參考了解一下我們的微信公衆号開發系列-2、微信公衆平台接入指南對微信的接入有了一個比較全面的了解。接入伺服器位址URL是開發者用來接收微信消息和事件的接口URL,是我們伺服器的響應微信請求的位址。
假設我們自己的伺服器域名是www.rdiframework.net,準備用/WeiXin/WeChat/來接收消息,就填寫:
上面的這個位址針對一個公衆号時可以,但如果對多公衆号管理來說就不能這樣用了,我們可以指定一個ID來區分公衆号的來源:
在我們的的微信服務端接入代碼中加上對這個ID的處理即可。
處理Get請求代碼參考如下:
處理Post請求代碼參考如下:
由于Access Token有效期隻有7200秒,而每天調用擷取的次數隻有2000次,是以需要将Access Token進行緩存來保證不觸發超過最大調用次數。另外在微信公衆平台中,絕大多數進階接口都需要Access Token授權才能進行調用,開發者需要使用中控伺服器統一進行緩存與更新,以避免各自重新整理而混亂。
獲得Token:我們可以直接使用Senparc.WeiXin SDK的方法。
通過傳入AppId和Appsecret,微信伺服器将給你一個可通路的Token。
雖然他幫我們封裝了,但是不用他的方法,我們也可以直接調用微信的接口方法:
這個接口,隻有幾個參數,具體參數可以檢視幫助文檔 傳送門 成功傳回:
微信公衆平台技術文檔-官方
Senparc.Weixin SDK + 官網示例源代碼
RDIFramework.NET — 基于.NET的快速資訊化系統開發架構 — 系列目錄
RDIFramework.NET ━ .NET快速資訊化系統開發架構 ━ 工作流程元件介紹
RDIFramework.NET架構SOA解決方案(集Windows服務、WinForm形式與IIS形式釋出)-分布式應用
RDIFramework.NET代碼生成器全新V3.5版本釋出-重大更新
一路走來數個年頭,感謝RDIFramework.NET架構的支援者與使用者,大家可以通過下面的位址了解詳情。
RDIFramework.NET官方網站:http://www.rdiframework.net/
RDIFramework.NET官方部落格:http://blog.rdiframework.net/
同時需要說明的,以後的所有技術文章以官方網站為準,歡迎大家收藏!
RDIFramework.NET架構由專業團隊長期打造、一直在更新、一直在更新,請放心使用!
歡迎關注RDIFramework.net架構官方公衆微信(微信号:guosisoft),及時了解最新動态。
掃描二維碼立即關注
作者:
RDIFramework.NET
出處:http://www.cnblogs.com/huyong/
Email:[email protected]
QQ:406590790
微信:13005007127(同手機号)
架構官網:http://www.rdiframework.net/
架構官網部落格:http://blog.rdiframework.net/
架構其他部落格:http://blog.csdn.net/chinahuyong
http://www.cnblogs.com/huyong
RDIFramework.NET,基于全新.NET Framework與.NET Core的快速資訊化系統開發、整合架構,為企業快速建構垮平台、企業級的應用提供了強大支援。
關于作者:系統架構師、資訊系統項目管理師、DBA。專注于微軟平台項目架構、管理和企業解決方案,多年項目開發與管理經驗,曾多次組織并開發多個大型項目,在面向對象、面向服務以及資料庫領域有一定的造詣。現主要從事基于
架構的技術開發、咨詢工作,主要服務于金融、醫療衛生、鐵路、電信、物流、物聯網、制造、零售等行業。
如有問題或建議,請多多賜教!
本文版權歸作者和CNBLOGS部落格共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,如有問題,可以通過微信、郵箱、QQ等聯系我,非常感謝。