C#开发微信门户及应用(25)-微信企业号的客户端管理功能
我们知道,微信公众号和企业号都提供了一个官方的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)--在管理系统中同步微信用户分组信息
C#开发微信门户及应用(9)-微信门户菜单管理及提交到微信服务器
C#开发微信门户及应用(25)-微信企业号的客户端管理功能的更多相关文章
- C#开发微信门户及应用(38)--微信摇一摇红包功能
摇一摇周边红包接口是为线下商户提供的发红包功能.用户可以在商家门店等线下场所通过摇一摇周边领取商家发放的红包.我曾经在<C#开发微信门户及应用(28)--微信“摇一摇·周边”功能的使用和接口的实 ...
- C#开发微信门户及应用(37)--微信公众号标签管理功能
微信公众号,仿照企业号的思路,增加了标签管理的功能,对关注的粉丝可以设置标签管理,实现更加方便的分组管理功能.开发者可以使用用户标签管理的相关接口,实现对公众号的标签进行创建.查询.修改.删除等操作, ...
- C#开发微信门户及应用(36)--微信卡劵管理的封装操作
前面几篇介绍了微信支付方面的内容,本篇继续微信接口的一些其他方面的内容:卡劵管理.卡劵管理是微信接口里面非常复杂的一个部分,里面的接口非常多,我花了不少时间对它进行了封装处理,重构优化等等工作,卡劵在 ...
- C#开发微信门户及应用(35)--微信支付之企业付款封装操作
在前面几篇随笔,都是介绍微信支付及红包相关的内容,其实支付部分的内容还有很多,例如企业付款.公众号支付或刷卡支付.摇一摇红包.代金券等方面的内容,这些都是微信接口支持的内容,本篇继续微信支付这一主题, ...
- C#开发微信门户及应用(34)--微信裂变红包
在上篇随笔<C#开发微信门户及应用(33)--微信现金红包的封装及使用>介绍了普通现金红包的封装和使用,这种红包只能单独一次发给一个人,用户获取了红包就完成了,如果我们让用户收到红包后,可 ...
- C#开发微信门户及应用(33)--微信现金红包的封装及使用
我在上篇随笔<C#开发微信门户及应用(32)--微信支付接入和API封装使用>介绍为微信支付的API封装及使用,其中介绍了如何配置好支付环境,并对扫码支付的两种方式如何在C#开发中使用进行 ...
- C#开发微信门户及应用(32)--微信支付接入和API封装使用
在微信的应用上,微信支付是一个比较有用的部分,但也是比较复杂的技术要点,在微商大行其道的年代,自己的商店没有增加微信支付好像也说不过去,微信支付旨在为广大微信用户及商户提供更优质的支付服务,微信的支付 ...
- C#开发微信门户及应用(27)-公众号模板消息管理
通过模板消息接口,公众号能向关注其账号的用户发送预设模板的消息.模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等.不支持广告等营销类消 ...
- C#开发微信门户及应用(23)-微信小店商品管理接口的封装和测试
在上篇<C#开发微信门户及应用(22)-微信小店的开发和使用>里面介绍了一些微信小店的基础知识,以及对应的对象模型,本篇继续微信小店的主题,介绍其中API接口的封装和测试使用.微信小店的相 ...
随机推荐
- Xamarin+Prism开发详解五:页面布局基础知识
说实在的研究Xamarin到现在,自己就没设计出一款好的UI,基本都在研究后台逻辑之类的!作为Xamarin爱好者,一些简单的页面布局知识还是必备的. 布局常见标签: StackLayout Abso ...
- MongoDB系列(二):C#应用
前言 上一篇文章<MongoDB系列(一):简介及安装>已经介绍了MongoDB以及其在window环境下的安装,这篇文章主要讲讲如何用C#来与MongoDB进行通讯.再次强调一下,我使用 ...
- MSYS2——Windows平台下模拟linux环境的搭建
最近从MSYS1.0迁移到了MSYS2.0,简单讲,MSYS2.0功能更强大,其环境模拟更加符合linux.虽然本身来自cygwin,但其集成了pacman软件管理工具,很有linux范,并且可以直接 ...
- 【JQ基础】数组
each() 方法规定为每个匹配元素规定运行的函数.
- SuperMap-iServer-单点登录功能验证(CAS)
SuperMap-iServer-单点登录功能验证(CAS) 1.测试目的: 验证SuperMap-iServer使用CAS单点登录的功能是否正常. 2.测试环境: SuperMap-iServer8 ...
- 编写一个通用的Makefile文件
1.1在这之前,我们需要了解程序的编译过程 a.预处理:检查语法错误,展开宏,包含头文件等 b.编译:*.c-->*.S c.汇编:*.S-->*.o d.链接:.o +库文件=*.exe ...
- Win10连接远程桌面时提示“您的凭据不工作”
我遇到这个问题的时候查找网上都给出一堆高大上的解决办法, 然而我的错误实际上是用户名的问题, 很多人以为远程用户名就一定是锁屏状态下的登录名, 其实不是,跟自己设置有关,所以首先应该检查远程用户名是否 ...
- PowerShell 数组以及XML操作
PowerShell基础 PowerShell数组操作 将字符串拆分成数据的操作 cls #原始字符串 $str = "abc,def,ghi,mon" #数据定义 #$StrAr ...
- 淘宝UWP中的100个为什么
从淘宝UWP第一版发布到现在,已经有十个月了,期间收到了用户各种各样的反馈,感谢这些用户的反馈,指导我们不断的修正.完善应用.但是也有一部分需求或建议,由于资源或技术的限制,目前确实无法做到,只能对广 ...
- .NET 环境中使用RabbitMQ
在企业应用系统领域,会面对不同系统之间的通信.集成与整合,尤其当面临异构系统时,这种分布式的调用与通信变得越发重要.其次,系统中一般会有很多对实时性要求不高的但是执行起来比较较耗时的地方,比如发送短信 ...