标签归档:小程序

开发企业微信专用小程序遇到的问题

企业微信移动客户端从2.5.8版本开始,有内置小程序基础库,开发者无需做适配,即可将微信小程序移植到企业微信上运行,同时开发者也可以针对企业微信提供的特殊接口开发出更适应于企业内部场景的小程序。需注意,目前企业微信只支持运行已在微信侧上架的小程序,暂不支持独立的企业微信小程序。

这段无责任复制自官方文档,这让开发者开心,因为无需修改即可直接套用再企业微信上。

但上面的引文的最后一句需要开发者特别注意,即不可以从零开始开发仅适配企业微信的小程序

问题点

下面就列举下我们从零开始开发一个只能在企业微信中使用的小程序所遇到的问题:

1. 一个小程序需要一个注册一个开发者帐号,一个身份证只能注册5个帐号,每个帐号独立独立认证

虽然现在可以通过已认证的公众号来快速认证,但这样的限制对于开发企业内部应用来说,限制太大了。

2. 小程序命名不可重名

我们的需求是仅可用于企业微信,不对外开放,那么按照一般的惯例,名称应该可以随便取。但事实上不可以。

3. 调用企业微信专属API需要先关联到企业微信

文章开头的引言的最后一句话也说了,只能关联已发布的小程序,可是目前我们的小程序还在开发阶段。我也到小程序社区发帖咨询,得到的回复是

因为企业微信也是支持wx.login的,先两边都处理成一致,发布关联成功再去调试企业微信的相关接口吧

换句话说就是,先适配微信端开发,完成了审核发布,再关联到企业微信中,然后二次开发适配企业微信端的。

4. 开发调试

我们想在开发时,在企业微信上联调,目前暂时无法实现。仅能通过“预览”-“二维码”的方式在企业微信中打开开发版。

5. 发布均需要审核

理论上,我们开发的仅可在企业微信中使用,完全可以开放审核,减少发布步骤。

6. 微信和企业微信的小程序支持库还是有点差距的

这个官方文档有介绍,另外某些组件在企业微信上的表现可能不是预期的。

7. 无法关闭微信的访问通道

因为无法关闭,我们开发时需要额外进行2步操作:

  1. 在小程序后台关闭可以被搜索;
  2. 在小程序中判断打开的环境,如果是微信,则做相应的提示,引导用户在企业微信侧打开。

8. 企业微信中使用小程序提示“需微信授权以获取小程序数据”

打开小程序时,需要企业企业微信先绑定微信,才能使用。而且绑定关系会隔一段时间失效,需要重新绑定。

已咨询客服,客服指出产品逻辑就是这样,无解。

结语

实际上,小程序对于企业微信来说还只是起步,企业微信也没有真正重视小程序的应用,导致目前开发上遇到很多阻碍。而且在使用上也很繁琐。

建议

目前企业微信中使用小程序依然不够成熟,个人不建议使用!至少开发仅适配企业微信方面。

企业微信小程序Access Token过期策略

官方文档中描述了过期策略,即expires_in标注的有效期。实际测试时和微信公众号的过期策略还是不一样的。

实际测试中,每次调用API,返回的都是相同的token,而且有效期都是7200s,那么你肯定有这样的疑问

Access Token到底什么时候到期?

在与企业微信客服咨询后,得到下图:

通过对比,我们得出下面的结论:

微信公众号 企业微信
唯一性 同时仅存1个有效token 同时可存在2个token
过期时间 最长7200s,如果提前请求token,原token立即过期 最长14400s,在token过期前请求,将自动延长7200s,但在7200s后请求,将产生新的token,同时这2个token均有效

上面的对比,是无法在官方文档中找到的。

我使用了中控7000s刷新token,已实现安全过渡。当然也可以设为3600s+的时间刷新。