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接口的封装和测试使用.微信小店的相 ...
随机推荐
- js闭包for循环总是只执行最后一个值得解决方法
<style> li{ list-style: none;width:40px;height: 40px;text-align:center;line-height: 40px;curso ...
- Android AndroidRuntime类
AndroidRuntime类是安卓底层很重要的一个类,它负责启动虚拟机以及Java线程,AndroidRuntime类在一个进程中只有一个实例对象保存在全局变量,gCurRuntime中.
- 【教程】SQLite数据库修复
SQLite 大家都知道,就不多说了. 有时候数据量大了,或者存储过程中出现异常,数据库就可能会出问题. 这是以前公司产品出现过的问题,导致软件都打不开了,我花了不少时间才解决的,趁现在有空贡献出来. ...
- 第10章 Shell编程(4)_流程控制
5. 流程控制 5.1 if语句 (1)格式: 格式1 格式2 多分支if if [ 条件判断式 ];then #程序 else #程序 fi if [ 条件判断式 ] then #程序 else # ...
- swift 可选类型(optional)--- swift 入门
一.思维导图 二.代码 //这样无形中就会让代码很丑陋 if x != nil && y != nil { print("x或y都不等于空") } print(&q ...
- 用ProGet搭建内部的NuGet服务器
最近团队内部用的一个很简陋的NuGet服务器出问题了,nuget push发包,客户端显示发布成功,服务器上就是没有.懶得再去排查这个问题,早就想换掉这个过于简陋的NuGet服务器,借此机会直接弃旧迎 ...
- ABP理论之CSRF
返回总目录 本篇目录 介绍 ASP.NET MVC ASP.NET WEB API ASP.NET Core[以后补上] 客户端类库 内部原理 介绍 CSRF[Cross-Site Request F ...
- 一种简单的CQRS架构设计及其实现
一.为什么要实践领域驱动? 近一年时间我一直在思考一个问题:"如何设计一个松耦合.高伸缩性.易于维护的架构?".之所以有这样的想法是因为我接触的不少项目都是以数据库脚本来实现业务逻 ...
- ASP.NET MVC Model验证(二)
ASP.NET MVC Model验证(二) 前言 上篇内容演示了一个简单的Model验证示例,然后在文中提及到Model验证在MVC框架中默认所处的位置在哪?本篇就是来解决这个问题的,并且会描述一下 ...
- Android点击列表后弹出输入框,所点击项自动滚动到输入框上方
使用微信的朋友圈会发现,点击某一条评论后输入框会弹出来,然后所点击的那一项会自动地滚动到输入框上方的位置,这样如果开始所点击的评论在屏幕很下方的话,就不会被输入框遮住,虽然微信这一点在我的MX2频繁点 ...