微信扫码关注公众号,公众号发放红包。一

需求

  • 用户通过微信扫码关注公众号获取红包

解决方案


步骤

  • 生成带参数的二维码
  • 扫码

    • 是否关注公众号

      • 已关注,则微信会将带场景值扫描事件推送给开发者,根据场景判断当前二维码是否失效

        • 失效,公众号推送消息:当前二维码已失效
        • 未失效,获取当前扫码用户openid查询是否已经领取过红包
          1. 已领取,则公众号推送消息到微信用户通知今日已领取
          2. 未领取
            • 则调用发送红包接口,发送红包,发送成功,则存储当前微信用户信息,包含唯一 openid。
            • 设置当前扫描二维码失效
      • 未关注,则用户可以关注公众号,关注后微信会将带场景值关注事件推送给开发者

        • 根据场景值查询二维码是否失效
          • 失效,公众号推送消息:当前二维码已失效
          • 未失效,获取当前扫码用户openid查询是否已经领取过红包
            1. 已领取,则公众号推送消息到微信用户通知今日已领取
            2. 未领取
              • 则调用发送红包接口,发送红包,发送成功,则存储当前微信用户信息,包含唯一 openid。
              • 设置当前扫描二维码失效

  • 生成带参数的二维码
    • 目前有2种类型的二维码:
      • 临时二维码,是有过期时间的,最长可以设置为在二维码生成后的30天(即2592000秒)后过期,但能够生成较多数量。临时二维码主要用于帐号绑定等不要求二维码永久保存的业务场景
      • 永久二维码,是无过期时间的,但数量较少(目前为最多10万个)。永久二维码主要用于适用于帐号绑定、用户来源统计等场景。
    • 用户扫描带场景值二维码时,可能推送以下两种事件:
      1. 用户还未关注公众号,则用户可以关注公众号,关注后微信会将带场景值关注事件推送给开发者。
      2. 用户已经关注公众号,在用户扫描后会自动进入会话,微信也会将带场景值扫描事件推送给开发者。
    • 获取带参数的二维码的过程包括两步
      1. 首先创建二维码ticket
      2. 然后凭借ticket到指定URL换取二维码

这里我们选择永久二维码

  • 请求获取ticket:
    • http请求方式
      • POST
    • 请求地址:
    • post 数据格式 json
      1. {
        “action_name”: “QR_LIMIT_SCENE”,
        “action_info”: {“scene”: {“scene_id”: 123}}
        }
      2. 创建字符串形式的二维码参数:
        {
        “action_name”: “QR_LIMIT_STR_SCENE”,
        “action_info”: {“scene”: {“scene_str”: “test”}}
        }
    • 参数说明
      1. 请求地址的TOKEN参数
      2. action_name :二维码类型
      3. action_info :二维码详细信息
      4. scene_str :场景值ID(字符串形式的ID),字符串类型,长度限制为1到64
  • 首先,获取请求地址参数 TOKEN
    • 请求方式
      • GET
    • 请求地址
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值