我們知道,微信公眾號和企業號都提供了一個官方的Web后台,方便我們對微信賬號的配置,以及相關數據的管理功能,對於微信企業號來說,有通訊錄中的組織架構管理、標簽管理、人員管理、以及消息的發送等功能,其中微信企業號的組織架構和標簽可以添加相應的人員,消息發送可以包含文本、圖片、語音、視頻、圖文、文件等內容。對於企業號來說,官方的接口幾乎可以無限的發送消息,因此構建一個管理后台,管理企業號的人員,以及用來給企業成員發送消息就是一個很好的功能亮點,有時候可以提高我們企業內部的消息通訊效率和日常工作管理效率。本文探索基於Winform的客戶端方式來實現這些功能操作。
1、企業號參數的配置處理
我們知道,微信(包括公眾號、企業號等)的服務器架起了客戶手機和開發者服務器的一個橋梁,通過消息的傳遞和響應,實現了與用戶的交互操作,下面是它的消息流程圖。
因此,在使用自己部署的微信網站系統前,需要登陸微信官方后台初始化一些信息,並獲取對應的參數設置,通過這些參數信息,在自己的網站系統中進行配置,才能構建一個完整的鏈路,實現消息的傳遞和響應。
當我們配置好【開發者服務器】的服務和【微信服務器】的對接后,我們也就實現了基本的消息交互過程了。這樣我們就可以配置好企業號客戶端進行使用了。
1)網站系統參數配置
我們為了實現消息的鏈路,需要在網站系統里面配置好相應的參數,這樣我們才能把微信官方后台的回調模式完成。
首先登陸我們自己【開發服務器】上的微信企業后台管理。
為企業號賬號配置好相關的參數信息。
結合微信服務器上的回調處理操作,完成整個網站參數的配置操作。
2)企業號客戶端參數配置
在微信企業號客戶端功能使用前,需要在【參數配置】里面配置好對應的參數信息,這樣才能正確和微信后台進行通訊,獲取服務器上的數據。
而上面客戶端軟件對話框的參數,除了需要回調設置里面的部分參數外,還需要結合微信后台的一些其他參數,這樣我們才能配置好和微信服務器的對接操作。
CorpID:唯一標識企業號:企業號開通后即擁有一個CorpID,不同企業號的CorpID是不同的,這相當於企業號的身份標識;啟動開發接入時候,企業開發者必須先用CorpID和Secret來換取Access_Token,之后才能調用企業號相關接口。
Secret:管理組憑證密鑰,系統管理員在企業號管理后台創建管理組時,企業號后台為該管理組分配一個唯一的secret。通過該secret能夠確定管理組,及管理組所擁有的對應用、通訊錄、接口的訪問權限。
2、組織機構的管理功能
我在隨筆《C#開發微信門戶及應用(17)-微信企業號的通訊錄管理開發之部門管理》里面介紹了企業號組織機構的管理操作。
默認我們可以在后台先創建一個根節點,然后在這個節點上進行處理即可。
介紹了那么多,好像還沒有展現這個企業號Winform客戶端的界面功能,這兒軟件主要也就是利用來進行常規化的一些數據操作,不過是直接調用微信企業號API的功能而已,這些API就是前面系列介紹的接口實現。
下面是企業號Winform客戶端的界面,這個主要利用我傳統樣式的Winform結構來處理,實現多文檔的操作界面。
【組織機構列表】管理模塊里面,會在樹狀列表里面列出相關的通訊錄組織結構,選擇不同的組織層次,可以列出所屬的對應人員,界面如下所示。
通過上面的紅色框的功能操作,我們可以看到組織機構的相關功能點,包括有新建子部門、刪除部門、修改部門,以及為部門實現的人員管理:添加成員、刪除成員、修改成員、移動成員、禁用或者啟用人員等功能,而左側部門的列表通過樹形列表進行展現,這些操作全部是直接調用API進行處理的,提交后的結果直接能夠在企業號后台及時看到。
這些功能點,都是模仿企業號后台的功能點實現,不過是基於Winform的方式,能夠結合本地的數據處理,實現更加豐富的界面和數據管理。
添加成員,則提供一個輸入界面給用戶填寫對應的信息,功能實現的界面如下所示。
如果是移動成員,那么會彈出一個部門列表,供用戶選擇需要移動到具體的部門里面,確認后就進行移動處理。
3、標簽的管理功能
【標簽列表】管理模塊里面,在左邊的樹狀列表里面列出所有的可見標簽,如果標簽下面有對應的部門組織或者人員,那么會在列表里面列出,具體界面如下所示。
該模塊包含的功能操作有:新建標簽、刪除標簽、修改標簽;添加標簽成員、刪除標簽成員等操作。
標簽的管理很簡單,主要是維護一個類似組別的概念,我們可以新建、修改或者刪除對應的標簽。
同時我們也可以為標簽添加對應的部門、人員集合,添加標簽成員操作具體如下所示。
4、消息的發送操作
【發送消息】功能模塊,是可以選擇發送對象,包括組織機構、標簽、人員都可以選擇;而消息的發送內容,包括有文字、圖片、語音、視頻、圖文、文件等內容。
而選擇人員是提供一個多功能的選擇界面,包括可以選擇部門、標簽、人員,最后可以通過【完成選擇】返回選擇的對象。
選擇對象並錄入對應的發送內容后,單擊【發送】進行消息的發送處理,就可以在對應的成員手機上查看到最新的消息了,下面是一個接受到圖片、文字的企業號界面。
其他如視頻、語音等內容都要求上傳到服務器后在發送,發送處理操作一樣,不在贅述。
如果對這個《C#開發微信門戶及應用》系列感興趣,可以關注我的其他文章,系列隨筆如下所示:
C#開發微信門戶及應用(23)-微信小店商品管理接口的封裝和測試
C#開發微信門戶及應用(21)-微信企業號的消息和事件的接收處理及解密
C#開發微信門戶及應用(19)-微信企業號的消息發送(文本、圖片、文件、語音、視頻、圖文消息等)
C#開發微信門戶及應用(18)-微信企業號的通訊錄管理開發之成員管理
C#開發微信門戶及應用(17)-微信企業號的通訊錄管理開發之部門管理
C#開發微信門戶及應用(15)-微信菜單增加掃一掃、發圖片、發地理位置功能
C#開發微信門戶及應用(14)-在微信菜單中采用重定向獲取用戶數據
C#開發微信門戶及應用(11)--微信菜單的多種表現方式介紹
C#開發微信門戶及應用(10)--在管理系統中同步微信用戶分組信息