企业微信移动客户端从2.5.8版本开始,已内置微信小程序基础库,开发者仅需做少量适配,即可将微信小程序移植到企业微信上运行,同时开发者也可以针对企业微信提供的扩展接口开发出更适用于企业内部场景的小程序。
本质上企业微信小程序是微信小程序的一个扩展子集,微信小程序的大部分能力都可以在企业微信上运行,同时企业微信扩展了部分和企业相关的能力以满足更多的场景需求。
企业微信和微信之间的消息可以互通,互通消息中的小程序可以天然的运行在微信和企业微信两个运行环境中。默认情况下,按照微信已有的流程开发的小程序可以直接在两个运行环境中运行,但是如果小程序有调用企业微信的专有接口,如获取员工相关的信息,那么此小程序需要在企业微信管理端进行一次绑定关联操作。参考小程序关联到企业微信
开发者可使用微信开发者工具进行企业微信小程序开发,使用前需要配置企业微信插件,见开发者工具插件支持。在发布小程序前,可配置体验版小程序。
注意点:
- 开发前需要安装工具插件,然后选择企业微信小程序模式
- 发布体验版,微信需提交,生成体验版二维码,体验者扫码体验;企业微信可不提交,开发版模式下邀请通讯录成员体验;(特殊入口如wx.qy.getCurExternalContact获取外部联系人id,需要从外部联系人的profile或聊天附件栏进入小程序才能获取)
总结:企业微信小程序开发流程包含以下步骤,
- 微信公众平台注册小程序帐号
- 开发者在开发者工具环境完成开发调试,同时可使用企业微信的专有接口做针对性的开发。
- 提交小程序审核并发布
- 小程序关联到企业微信
平台差异性
小程序如果需要同时运行在微信和企业微信端,针对微信环境适配企业微信专有的部分接口能力。微信和企业微信两个平台之间主要的差异有以下两个方面:
- 帐号体系
当小程序在微信端运行时,可以通过对应的登录接口获取到相对于当前微信个人用户的身份信息;当小程序在企业微信端运行时,也可以通过对应的登录接口获取到当前企业微信用户相对于当前企业的员工身份信息。这部分差异需要开发者对小程序进行一定的适配,具体相关的接口见微信端登录接口,企业微信端登录接口。 - 小程序组件和API接口
虽然企业微信内置和微信同样的小程序引擎,但是由于部分小程序接口对微信客户端较为依赖,所以有部分接口并未在企业微信内实现,见微信小程序API支持情况和微信小程序组件支持情况;另外企业微信也对小程序接口做了一定的扩展以满足企业级的小程序功能开发需求,详见后续文档。
如果开发者的小程序需要同时运行在微信和企业微信端,那么需要知道小程序当前的运行环境。开发者可以通过调用异步接口 wx.getSystemInfo
或者同步接口 wx.getSystemInfoSync 获取,在企业微信运行时,会额外返回一个environment字段并赋值为 “wxwork”,在微信里面运行时则不返回该字段。建议开发者在小程序的app.js里面对环境变量进行捕获并作为全局变量进行缓存。
API的表现差异
-企业微信调用API接口(类似wx.qy.getCurExternalContact),弹出系统弹框时。
Android:弹框弹出和关闭会触发app的onshow,onhide和页面的 onshow,onhide,
IOS:都不会触发
-关闭小程序后wx.setStorageSync,wx.setStorage 设置的缓存在企业微信中会被清除,而微信中不会
审核流程的差异
-企业微信有对应的组织结构,独有的api及运行环境,所以审核人员无法审视到全部流程,会已流程不全导致审核直接驳回;所以一般需要相关对接人,收集流程flow ppt,流程演示视频,小程序id,企业id等相关资料一起提交备案;由人工审核通过。
在企业微信中如何使用小程序
- 扫一扫
- 群聊分享
- 工作台
- 工具台-第三方应用
企业微信如何清理缓存
1、 手机版
打开手机版企业微信—我—设置—通用—清理已下载文件及缓存—缓存—清理
如下