限制只有公众号的粉丝才可以访问h5页面 + 引流-跳转到关注微信公众号页面

业务需求

限制只有当前公众号的粉丝才可以访问h5页面

实现思路

  1. 判断当前用户是否关注了该公众号
  2. 如果没有关注的话自动跳转到该公众号关注页,用户进行关注

1、接口请求判断当前用户是否关注对应公众号

【方法1】微信公众号开发文档

获取用户信息:微信公众号开发文档官网

接口调用请求说明 http请求方式: GET https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
在这里插入图片描述

【方法2】后端写接口(self)

后端返回 code 为 400 则为当前用户未关注对应公众号
返回 code 为 200 为当前用户已关注对应公众号

class Home extends Component {
  constructor(props) {
    super(props);
  }
  componentWillMount() {
    setTimeout(() => {
    let { websocket } = store.getState()
    // console.log('websocket----', websocket)
    // console.log('websocket.openId----', websocket.openId)
    Taro.request({
      url: '接口地址',
      data: {
        openId: websocket.openId
      },
      success: (res) => {
        // console.log('getWeChatUser res----', res)
        if (res.data.code === 400) {
          Taro.showModal({
            title: '提示',
            content: '请先关注“XXX”微信公众号',
            showCancel: false,
            success: function (res) {
              if (res.confirm) {
                console.log('用户点击确定')
                window.location.href = 'https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=编码后的微信公众号ID&scene=124#wechat_redirect'
              }
            }
          })
        }
      }
    })
    }, 500);
  }
  ...
}

2、跳转到关注公众号页面

  • 跳转链接:window.location.href='https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=编码后的微信ID#wechat_redirect'

  • 查询参数 __biz 值为公众号ID,

    • 【注意】不是公众号 原始ID 也不是公众号 微信号 ,是公众号的 ID
    • 在这里插入图片描述
  • 获取公众号ID方法(目前只知道这一种可以取到公众号ID的办法)

    1. 打开微信“微信公众平台”扫码登录需要关注的微信公众号
      在这里插入图片描述

    2. 鼠标右击查看源码
      在这里插入图片描述

    3. 在源码中找到 uin 的值
      在这里插入图片描述

    4. 将 uin 值进行编码 (编码地址 https://base64.us/) ID _ ID编码后 _ 链接

    5. 编码后的值作为 __biz 的值 进行连接跳转
      window.location.href='https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=编码后的ID#wechat_redirect'

    6. 跳转到公众号关注页面
      在这里插入图片描述

之后调整

向未关注公众号的用户展示公众号二维码图片,长按识别二维码进行关注公众号
在这里插入图片描述

xs ID
xs ID编码
链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要从外部的H5页面微信公众号的关注页面,需要进行以下步骤: 1. 确认微信公众号的原始ID 在微信公众号后台,可以在“设置”-公众号设置”-“帐号详情”中找到公众号的原始ID。 2. 在外部H5页面上添加关注链接 在外部H5页面上添加一个链接,链接的URL为以下格式: ``` https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=[公众号的原始ID]#wechat_redirect ``` 请将[公众号的原始ID]替换为你的微信公众号的原始ID。 例如,如果微信公众号的原始ID为“wx123456789”,则链接的URL为: ``` https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=wx123456789#wechat_redirect ``` 3. 用户点击链接后微信公众关注页面 当用户在非微信浏览器上打开外部H5页面,并点击上述链接时,会自动微信公众号的关注页面。 请注意,用户必须使用微信浏览器打开关注链接才能正常关注公众号。如果用户在非微信浏览器中打开链接,可能无法正常关注公众号。 ### 回答2: 从外部h5非微信浏览器微信公众关注页面有以下几种方法: 1. 生成关注链接:在微信公众号平台获取自己的微信公众关注链接,一般是类似于https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX==#wechat_redirect的形式。将这个链接嵌入到外部H5页面中,用户点击链接即可微信公众关注页面。 2. 使用微信公众号二维码:在微信公众号平台生成一个关注公众号的二维码,然后将二维码图片插入到外部H5页面中。用户打开外部H5页面后,扫描二维码即可微信公众关注页面。 3. 利用微信JSSDK:通过在外部H5页面中引入微信官方提供的JSSDK,在页面中调用微信的相关API,实现微信公众关注页面。具体做法是首先通过wx.config进行配置,然后使用wx.ready监听JSSDK配置完成后的事件,最后使用wx.openUrl指定的URL,将其设置为微信公众号的关注链接。 总之,以上是从外部H5非微信浏览器微信公众关注页面的几种方法,其中常用的是生成关注链接和使用微信二维码的方式。具体选择哪种方法,可根据实际需求和开发环境来决定。 ### 回答3: 如果要从外部H5非微信浏览器微信公众关注页面,可以通过以下几种办法: 1. 生成个人或公众号的二维码:可以在微信公众号后台或者第三方平台上生成一个关注公众号的二维码。在H5页面上将该二维码展示出来,用户可以使用手机扫描二维码,微信客户端的公众关注页面。 2. 使用微信授权登录:在H5页面上使用微信的网页授权登录功能,引导用户使用微信账号登录,并获取到用户的openid。在登录成功后,再通过微信JS-SDK的接口,调用相关功能,弹出关注公众号的页面,引导用户关注。 3. 在H5页面中使用微信JS-SDK的接口:可利用微信JS-SDK的相关功能,如打开特定网页、唤起微信扫一扫等。在H5页面上加入一个关注按钮,点击按钮后调用JS-SDK接口,微信公众号的关注页面。 需要注意的是,以上方法在实际应用中需要满足一些条件,比如需要有正式的微信公众号,需要进行相应的配置,以及需要获取微信JS-SDK的权限等。另外,不同的微信版本和设备可能对行为有一定的限制,因此在操作时要注意兼容性的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值