收藏
回答

公众号图文消息跳转链接错乱

有个功能是创建scene id生成二维码,然后在扫描后触发SCAN事件发送被动回复消息,消息的跳转链接附带scene id,链接格式是这样的https://XXX/login?scene=XXX。首次点击图文消息打开时链接中的scene是正确的,刷新二维码再次扫描打开仍然是首次的链接而不是最新的,再刷新还是首次的。等10分钟后再点击第三次的消息跳转是正确的,点击第二次第一次的消息也正确跳转,然后再点击第三次的就又不对了。规律很不确定,就是错乱。

可以确认的是图文消息中包含的跳转链接是没问题的,在微信PC端点击跳转正确,不论是在设置->通用设置中选不选中使用系统默认浏览器打开网页都没问题。

将图文消息的description换成和跳转链接一样的url,scene是a4a6,消息是正确的,但是点击跳转后打开的链接却是a4a2的scene,也就是之前某次的跳转链接,这到底是怎么回事


最后一次编辑于  2023-11-19
回答关注问题邀请回答
收藏

1 个回答

  • Chosen.One
    Chosen.One
    2023-11-21

    为遇到相同问题的兄弟提供个解决思路,也可能未来的版本没有此类问题

    尝试了被动回复以及客服消息中的图文+跳转链接,以及文字带a标签的跳转方式均会出现打开时链接错乱问题。

    实测可能是手机微信缓存的链接,我的链接形式是带param参数的/login?scene=XXX,在缓存失效的时候不知道确切的时间,打开的是正确的链接,然后再次触发消息打开的就不是正确的了。因为缓存的仅是url中的path也就是到login截止,param不在其中不包含问号及后边的,可以将问号去除,也就是把url改成/loginscene=XXX,然后在前端路由去处理真实跳转。前端我是vue的,在router匹配不到页面跳转到404之前,在beforeEach方法中判断链接的来源,然后重新重定向到真实的目标url。对我来说就是判断的是否有scene字符,因为只有一个场景会有scene字符就这么简单判断了,如果有则在scene前login后加问号,然后跳转。当前实测是可以正确跳转的,以后不知道微信会不会改或这个方案会不会失效。

    这是之前的提问实际是一样的https://developers.weixin.qq.com/community/develop/doc/00080c131b81101663a0fa03c61400

    2023-11-21
    有用
    回复 1
    • Chosen.One
      Chosen.One
      2023-11-21
      不算办法的办法,或许也有更好的办法暂时没找到,可能是搜索能力不够,但这个方法当下已满足我的需求。耗时整4天,麻了
      2023-11-21
      回复
登录 后发表内容