为企业微信“服务商应用”更改微信插件中的消息弹出样式

一、 背景

1. 企业微信“服务商应用”

企业微信的“自建应用”类目中,可以选择添加完全自建的应用,也可以选择添加服务商提供的代开发应用。

代开发应用是由企微认证的服务商来代甲方企业开发一些特定功能的应用,并集成到甲方的企业微信当中。

2. 企业微信的“微信插件”

企业微信有一个“微信插件”功能,可以使用户在微信中不必打开企微就可以收到企微中的应用消息,相对比较方便。

二、 痛点

本人所在公司接洽第三方代开发了一款企微应用。然而在实际使用时发现,对于服务商应用所推送的图文消息,在企微内可以正常浏览和查看,但是在对应的微信插件中无法正常显示和阅读,会直接显示“收到一条保密消息,请在企业微信中查看”,而点击这一栏则会直接跳转到该服务商应用之前配置好的落地页:

通过查询文档和咨询企微客服得知,这一问题可以通过修改应用的“应用主页”配置来解决。对于自建应用,应用设置页面会有“应用主页”的配置入口,里面有“在微信插件中始终进入主页”的选项,只要取消勾选此项就可以在微信插件中正常展示消息了: 

然而遗憾的是,对于“服务商应用” ,企微并没有在应用设置中提供这样的入口,事已至此看似已经无解:

三、 另辟蹊径

我在企微后台研究这两个配置的区别时突然想到:既然腾讯为自建应用提供了这样一个可以修改的选项,说明是动到了应用本身的某个控制属性,这个属性则决定了应用在微信插件中是直接跳转配置好的主页,还是可以进入到对话消息页面当中。

有了这个思路,我决定到浏览器console中看看修改“在微信插件中始终进入主页”这一选项时,究竟触发了什么样的后端请求。

打开浏览器console,很容易捕捉到一条setting请求,payload如下:

这里的几个参数的作用已经十分明显了

  • moble_home_url: 很明显是移动端的应用主页跳转地址
  • pc_home_url: 是桌面端的应用主页跳转地址
  • app_type: 这个最可疑,当勾选了上述选项的时候,传参为"APP_TYPE_HOME",盲猜是“主页类应用”,会直接跳转到应用主页

为了验证上述猜测,我们把这个复选框取消勾选再试一次,果然这次传的参数变成了"APP_TYPE_MSG",意思为这是个“消息类应用”:

至此,解决方案就很明确了:我们把这个请求的完整cURL复制出来导入Postman,将app_id修改为要配置的服务商应用的appid,同时注意修改好主页的跳转url,最后把app_type置为"APP_TYPE_MSG",调用接口即可成功修改这个应用在微信插件中的消息弹出样式了。

四、 总结

显然企微的产品经理是出于某些特殊原因把服务商的代开发应用的这一属性修改入口屏蔽掉了(可能是担心企业用户任意修改会导致应用无法正常跳转主页),但我们通过拦截并分析后端请求的手段,依然可以绕过这类仅在前端页面生效的限制。

不过也希望企微的产品团队可以意识到这样的一个局限性,在后续的迭代中可以针对企微应用在微信插件内的行为添加更多可定制的配置项。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RoyHanCN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值