在微信浏览器想要打开对应公众号,目前有两个方法,功能和实现不一样。

中转页放公众号二维码

属于用户使用门槛比较高的一种,直接跳转到中转页,提示用户长按识别二维码

好处是可以保留 scene 等信息,跳过去可以带一定的参数,对方公众号不需要做开发

跳微信公众号消息页

微信公众号消息页会在首部显示公众号和 “去关注” 按钮。

这种方法跳转,用户操作步骤少,比较容易接受,该跳转路径不接受场景值,如果传参,最好目标公众号的额外提供中转页做好openid 绑定,假设从 A 公众号导流 到 B 公众号。

  1. A业务页面重定向到 B 的中转页,带A的识别参数,例如 channelCode
  2. B中转页完成微信 Oauth 鉴权,拿到 B Openid_b , B 中转页取 channelCode ,与该用户绑定
  3. B中转页继续重定向到微信消息页,引导用户关注。

跳转的微信消息页的链接格式为:

https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzUyODgxNjE1OA==&scene=124#wechat_redirect

其中 __biz=MzUyODgxNjE1OA== 是关键参数,后面的这串 MzUyODgxNjE1OA== 是公众号的身份标识。

这个值有两种获取办法

  1. 第一种方法比较复杂,需要使用 devTools

    1. 浏览器打开公众号推文
    2. F12 或者 ctrl + shift + c 打开 devTools
    3. 切换到 network 页签,然后刷新页面
    4. 点击搜索图标
    5. 输入 __biz=
    6. 点击找到的请求记录,点开 payload
    7. 查看 payload 的 queryString 即可看到 __biz 的值

    2023-03-03T12:32:02.png

  2. 第二种方法稍微简单,需要进入公众号后台

    1. 最左边找到公众号设置
    2. 找到下载二维码,点开
    3. 复制二维码下载地址的链接,粘贴出来,可以看到链接中有一个类似于 fakeid=12345678,将这串数字拷贝出来
    4. 找一个 base64 encode 工具,例如 OSchina/base64 或者 直接在浏览器控制台执行 btoa(12345678) ,得到一个字符串,这个就是 __biz

通过上述两个方法得到 __biz 后,拼接到下面这个链接中即可。

https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=【__biz的值】&scene=124#wechat_redirect