前言当Cabloy-企业微信模块完成后,加上之前完成的Cabloy-WeChat模块,就完成了CabloyJS中连接微信/企业微信的任务。这些模块的目标是通过填写各种服务的参数,直接进入具体的业务开发,达到开箱即用的效果。背景分析1.账号系统微信/企业微信开发的坑很多,其中最大的坑就是账号系统。首先,微信和企业微信是不同的账号体系。在微信中,openid是识别用户的唯一标识符。、微信小程序等不同服务的openids关联起来,标识同一个用户。那么,如何在系统中将openid与用户系统连接起来呢?激活了unionid怎么连接?unionid开通前的旧账号能否顺利迁移?在企业微信中,每个企业成员都是通过userid来标识的。与微信不同,企业微信通过部门树对成员进行管理,为资源授权和分配提供组织依据。那么,我们在系统初始化的第一步就是将企业的部门和成员同步到系统中,实现双向搜索功能。随时开发遇到的小问题。因为微信/企业微信开发涉及的场景、概念和术语很多,所以经常需要通读官方文档。但是官方文档对一些概念的表述比较模糊,墨汁成金,只好自己写代码验证一些猜测,然后再回过头来查看文档。当这个pass之后项目完成,如果有新的project,很可能还要再过一遍。这里仅列举几个常见的问题:JSON和XML:微信公众号的消息推送系统使用XML作为数据格式,小程序必须同时支持XML和JSON。同时有明文模式、兼容模式、安全模式。openid/unionid和openId/unionId:微信公众号登录时返回openid/unionid,小程序返回openId/unionId。一不留神,就会掉坑里。企业微信支持不同的应用:内置应用、第三方应用、自建??应用、关联小程序等。如何对这些应用进行结构化,提供统一便捷的API调用模型企业微信小程序本体是一个微信小程序,再与企业微信关联成为企业微信应用。只有理解了这些概念和关系,才能准确衔接核心目标1.微信APISDK常见问题不同开发语言都可以找到对应的微信APISDK。但是这些微信APISDK往往在语言层面封装了官方的httpapi,很少再进一步。比如通过微信APISDK,我们可以很方便的获取到AccessToken和User信息,但是获取到的User如何与系统对接,如何处理openid和unionid的关系,还是需要我们自己设计开发.,通过微信APISDK,可以轻松获取企业微信的部门和成员。但是,如何对接系统中的角色和用户,支持不同的场景和登录方式,还有很多工作要做。影响。只需配置参数,所有的对接工作都会自动完成,让我们跳过复杂的细节,直接进入具体的业务开发。当然,CabloyJS的微信/企业微信模块是完全开源的,我们还是可以清楚的看到这些细节和处理方式。为什么CabloyJS可以做到开箱即用的效果?是因为CabloyJS是一个全栈的NodeJS框架,可以将前端组件、后端服务、数据存储和访问等有机地结合起来,进行同步工作,甚至可以通过CabloyJS底层提供的SocketIO机制两大亮点基于CabloyJS全栈业务开发框架自身提供的特性,Cabloy-企业微信模块有以下两大显着亮点:1.PC和Mobile适配众多企业微信应用有这样一个问题:移动端只能使用部分功能,其他更多功能需要登录PC系统进行操作。Cabloy-企业微信在CabloyJS框架下让所有业务功能同时支持PC和Mobile使用。同时可以保证以下两点:通过角色权限体系,控制不同的用户使用不同的功能。前端页面采用异步加载策略,以适应大型项目的开发。企业微信应用必然会导致数据孤岛的出现,这些数据分散在不同服务商的后台,缺乏数据联动和共享机制,而CabloyJS框架本身是基于业务模块构建的。将企业自建模块或第三方模块集合在一个CabloyJS项目中,私有化部署,从根本上解决数据孤岛问题,不仅实现数据联动共享,更灵活的数据采集、处理和分析在归根结底,数据和程序都在自己手里特点基于CabloyJS全栈框架提供的便捷性和灵活性,Cabloy-企业微信主要有以下特点:1.一站式集成当前集成的接口企业微信自建应用和企业微信小程序,如下:场景名称描述自建应用消息推送系统自动完成接口对接,用户认证自建应用网页登录自动跳转到微信登录,用户认证自建构建应用网页JSSDK自动注入JSSDK,并自动完成小程序后台登录界面配置,自动完成界面对接,用户认证。开箱即用,只需配置企业微信账号参数,所有接口自动完成对接。支持CabloyJS提供的多实例特性,可以实现多站点支持,比如为不同的企业提供企业微信服务。参见:EggBornJS:多实例参考链接Cabloy-WeChat:IntroductionCabloy-WeChat:QuickStartCabloy-WeChatEnterprise:IntroductionCabloy-WeChatEnterprise:QuickStart
