在咱们开发微信应用的时候,包括公众号、企业微信、小程序等,都须要基于必定的框架基础上开发,才能事半功倍,通常状况下,咱们须要处理好微信菜单和微信事件的对接,以及后台数据管理系统和权限管理的有效整合,或者是基于业务流程的相关流转等,本篇随笔介绍如何基于微信开发框架进行业务开发的处理过程。前端
在咱们开发任何微信基础应用以前,都须要先录入微信帐号的相关信息,包括appId,AppSecret等基础信息,这个是用来获取token,和微信服务器进行交互的基础,咱们的微信框架提供了多种类型和多个帐号的管理。git
其中在新增或者编辑界面中录入咱们公众号或者企业微信的信息,若是涉及微信支付的,录入微信支付相关秘钥和证书位置。github
若是是企业微信,咱们选择帐号类型为企业微信,而后根据提示录入相关企业微信信息便可。ajax
其中主要是CorpID和CorpSecret和企业的AgentId信息,以及加密token和秘钥,保持和微信后台信息一致便可。小程序
咱们微信开发框架,提供了标准的微信帐号信息填写界面,录入对应的信息,完成微信后台的对接,便可开启开发微信应用之旅了。c#
帐号登陆公众号后台或者企业微信后台,咱们根据和帐号配置一致对应的信息,完成系统对接便可,如下是微信公众号的配置对接界面。api
企业微信的对接相似,不在赘述。服务器
为了开发微信应用,咱们仍是须要准备好微信应用的菜单,菜单是咱们全部前端微信功能的入口,咱们通常须要先在微信开发框架 基础上进行菜单的录入维护,而后在提交到微信服务器上,实现应用菜单的提交。微信
在微信开发框架上维护菜单,能够根据须要禁用、启用某个菜单,而后再经过微信SDK接口提交更新到服务器进行菜单的更新,咱们能够对多个帐号的微信菜单进行维护。微信开发
1)医疗设备维修的微信应用菜单
例如我在开发一个医疗设备维修的微信应用的时候,菜单定义多是这样子。
这样咱们提交菜单后,在公众号上就能够对相关的功能进行操做了。
相关的菜单对应功能以下所示。
2)药店处方管理的微信应用菜单
咱们再来看看,另外一个微信公众号应用的菜单管理
提交到服务器后,在应用入口的菜单以下所示。
3)企业微信应用菜单配置
因为微信开发框架也支持企业微信接入,所以咱们也能够同时开发企业微信应用的对接,首先也是同样,定义好对应的企业微信菜单。
如下是咱们开发的一个资产管理的企业微信应用,配置了相关的菜单以下所示。
提交成功后,咱们就能够在企业微信的工做台上看到对应企业微信的菜单了。
微信应用,除了提供相应的菜单功能外,通常应用前端的H5页面或者后台页面均可能须要结合机构、角色、用户和其权限信息进行系统权限的判断和数据的处理。
例如咱们针对医疗设备微信的应用,在微信后台系统里面定义了相关的机构、用户、角色等信息。
组织机构以下所示。
用户角色以下所示:
系统根据角色对菜单进行不一样的显示设置。
而咱们若是应用不一样,在系统后台调整这些机构、角色、用户信息便可,以下面则是药店处方定义的机构信息。
用户角色定义以下所示。
根据不一样的业务须要,定义本身的组织机构层次,角色列表和人员信息便可,有了这些信息,咱们能够同时对用户系统的操做功能和H5前端的权限进行控制管理。
开发微信公众号或者企业应用,不少时候工做的时间须要花费在H5页面的开发上,H5页面的规范咱们能够参考微信的Weui(公众号) 或者WeUI for work (企业微信),以及借用一些漂亮的图表,以及现成的一些H5案例界面。WeUI还能够参考另外一款 基于JQuery的 jQuery WeUI, 提供更多的案例和插件。
WeUI : https://github.com/Tencent/weui
WeUI for work:WeUI for Work (企业微信版)
jQuery WeUI:http://jqweui.com/
WeUI+ 演示 https://weui.shanliwawa.top/
常规状况下,咱们能够根据上面的一些案例,构建咱们的一些输入或者显示元素,如日期输入、选择输入、字典绑定、图片展现、文件上传等等。
通常来讲,H5页面开发,须要准备一些漂亮一点的图标,可让程序增色很多,图片能够在网站下载或者淘宝购买一些设计图标,根据相应场景进行使用便可。如下是我本身收集的一些图表,在须要的时候,找一些匹配的使用便可。
H5页面若是有一些标准的案例来参考,作起来可能更加驾轻就熟,以下是我本身收集的一些H5案例,根据实际项目的须要,在找一些对应的页面来模仿修改便可。
根据一些界面的样式,咱们设计了一些相似的界面效果。
医疗设备维修的界面设计效果。
医药处方审核界面设计效果。
对于图片预览以及一些特殊功能,咱们使用JSSDK实现便可,而表单的数据提交,主要就是POST、GET的JS代码处理,这样能够实现动态的数据绑定和处理,特别是在查询分页展现的时候,使用ajax的处理,能够提升体验效果。