返回

企业微信开发踩过的坑

前端

企业微信开发,由于其自身的特殊性,在开发过程中难免会遇到一些坑。本文将分享笔者在企业微信开发过程中踩过的坑,希望能给广大开发者带来一些参考。

障眼法需求

某个平平无奇的早上,最近接到一个需求,产品经理不知道从哪给我截来一个图说要做这样一个功能。h5 页面需要自定义按钮 弹出这个框可以各种分享。我心想这不就是手动触发 右上角菜单么。这波操作简直是障眼法。
本以为是障眼法需求,准备出个方案就完事儿了。结果深究发现人家是真需求。需求如下:

  1. 多次触发只弹一次。
  2. 弹出的分享框分享出去的地址是自定义的地址不是h5页面的地址。
  3. h5页面里提供多个按钮,分别唤起不同的分享文案。

好吧,只好硬着头皮上了。

解决方案:

  1. 多次触发只弹一次: 利用企业微信提供的js-sdk中wx.onMenuShareAppMessage接口中的cancel事件,多次触发时,取消后续分享弹窗的弹出。
  2. 弹出的分享框分享出去的地址是自定义的地址不是h5页面的地址: 利用企业微信提供的js-sdk中wx.updateTimelineShareData和wx.updateAppMessageShareData接口,自定义分享内容和链接。
  3. h5页面里提供多个按钮,分别唤起不同的分享文案: 利用企业微信提供的js-sdk中wx.onMenuShareAppMessage接口中的success事件,根据触发分享的按钮的不同,设置不同的分享文案。

坑二:获取用户信息

企业微信开发中,获取用户信息是一个非常常见的需求。但由于企业微信的特殊性,获取用户信息需要经过用户授权。在开发过程中,我踩过一个坑,就是没有及时处理用户未授权的情况。

解决方案:

在获取用户信息之前,需要先判断用户是否授权。如果用户未授权,则引导用户进行授权。

坑三:自定义菜单

企业微信提供了自定义菜单功能,允许开发者自定义企业微信的底部菜单栏。在开发过程中,我踩过一个坑,就是没有考虑不同端(PC端、移动端)的菜单显示差异。

解决方案:

在开发自定义菜单时,需要考虑不同端(PC端、移动端)的菜单显示差异。对于PC端,可以显示较多的菜单项;对于移动端,则需要精简菜单项,只显示最重要的菜单项。

坑四:文件上传

企业微信提供了文件上传功能,允许开发者上传文件到企业微信服务器。在开发过程中,我踩过一个坑,就是没有及时处理文件上传失败的情况。

解决方案:

在文件上传过程中,需要及时处理文件上传失败的情况。可以利用企业微信提供的js-sdk中wx.uploadImage和wx.uploadFile接口中的fail事件,及时处理文件上传失败的情况。

坑五:消息推送

企业微信提供了消息推送功能,允许开发者向用户推送消息。在开发过程中,我踩过一个坑,就是没有考虑消息推送的频率限制。

解决方案:

在消息推送过程中,需要考虑消息推送的频率限制。企业微信对消息推送的频率有限制,开发者需要合理控制消息推送的频率,避免触发频率限制。

结束语

以上是我在企业微信开发过程中踩过的几个坑。希望通过分享这些坑,能给广大开发者带来一些参考,帮助大家少走弯路,提高开发效率。