Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >微信公众平台开发(三)——微信二维码生成&扫码关注

微信公众平台开发(三)——微信二维码生成&扫码关注

作者头像
不愿意做鱼的小鲸鱼
发布于 2023-03-25 03:55:45
发布于 2023-03-25 03:55:45
5.6K03
代码可运行
举报
文章被收录于专栏:web全栈web全栈
运行总次数:3
代码可运行

概述

微信二维码生成是指后端发送请求向微信服务器申请公众号的二维码,用户如果未关注,进行扫描改二维码后即跳转道公众号的关注页面;如果已经关注,扫描二维码后直接进入该微信公众号。当用户扫码时,微信服务器会向后端发送不同类型的扫描事件类型回调,后端可以通过不同情况分别作出响应的处理。 获取微信二维码的流程是:

  1. 使用官方接口携带AccessToken获取临时二维码的ticket
  2. 使用官方接口携带ticket传入不同的参数换取不同类型的二维码,可以是二维码图片流,也可以是二维码图片链接

其中需要注意的是: 在获取二维码的ticket的时候,需要携带场景值参数来作为本次二维码场景的标识,比如用户的ID,或者其他唯一码,该场景之在用户扫描该二维码是会进行回调返回携带回来,这样做的目的是,可以分辨出是哪个用户或者哪个场景进行扫描了二维码的操作,最后将用户或者场景的唯一值和返回的openid进行绑定,以便于后续给已关注用户提供服务。

创建微信二维码

获取ticket请求说明

http请求方式: POST URL: https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKEN POST 参数数据: 第一种:临时二维码,场景值ID为整型

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "expire_seconds": 604800,
    "action_name": "QR_SCENE",
    "action_info": {
        "scene": {
            "scene_id": 123
        }
    }
}

第二种:临时二维码,场景值ID为字符串

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "expire_seconds": 604800,
    "action_name": "QR_STR_SCENE",
    "action_info": {
        "scene": {
            "scene_str": "test"
        }
    }
}

第三种:永久二维码,场景值ID为整型

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "action_name": "QR_LIMIT_SCENE",
    "action_info": {
        "scene": {
            "scene_id": 123
        }
    }
}

第四种:永久二维码,场景值ID为字符串

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "action_name": "QR_LIMIT_STR_SCENE",
    "action_info": {
        "scene": {
            "scene_str": "test"
        }
    }
}

参数说明:

返回结果: 正确的Json返回结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "ticket": "gQE48DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAyZVpRRnhiRDVkb0gxNGp6eWhBY2QAAgSTKBlkAwSAOgkA",
    "expire_seconds": 604800,
    "url": "http:\/\/weixin.qq.com\/q\/02eZQFxbD5doH14jzyhAcd"
}

ticket换取微信二维码

获取二维码ticket后,开发者可用ticket换取二维码图片。请注意,本接口无须登录态即可调用。 请求说明: HTTP GET请求(请使用https协议)https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=TICKET 提醒:TICKET记得进行UrlEncode

返回说明: ticket正确情况下,http 返回码是200,是一张图片,可以直接展示或者下载。

代码示例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package cn.kt.mywxdemo.message;

import cn.kt.mywxdemo.token.TokenUtil;
import cn.kt.mywxdemo.utils.HttpUtil;
import org.junit.Test;

/**
 * Created by tao.
 * Date: 2023/3/7 19:56
 * 描述:生成二维码
 */
public class TestTicket {

    @Test
    public void testCreateTicket() {
        String url = String.format("https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=%s",
                TokenUtil.getAccessToken());
        //生成临时二维码
        String data = "{\"expire_seconds\": 604800, \"action_name\": \"QR_STR_SCENE\", \"action_info\": {\"scene\": {\"scene_str\": \"test_scene_str\"}}}";
        //发送post请求
        String result = HttpUtil.doPost(url, data);
        System.out.println(result);

        /* 【重要注意】:二维码携带值场景值ID
         * scene_str:场景值ID(字符串形式的ID),字符串类型,长度限制为1到64
         * scene_id:场景值ID,临时二维码时为32位非0整型,永久二维码时最大值为100000(目前参数只支持1--100000)
         */

        // 二维码:https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQGE8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAyam80X3dYRDVkb0gxNjZxaDFBYzYAAgQGIAhkAwSAOgkA
    }
}

用户扫码关注回调

用户扫码关注是一个消息事件,需要在上述消息回复中进行处理,处理方法是用户扫描了我们生成的微信二维码,微信服务器回向我们的服务器发送一个扫描事件的消息,我们在后台需要判断捕捉,并进行相应的处理。 微信的扫描带参数二维码事件官方文档详情:https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_event_pushes.html#%E6%89%AB%E6%8F%8F%E5%B8%A6%E5%8F%82%E6%95%B0%E4%BA%8C%E7%BB%B4%E7%A0%81%E4%BA%8B%E4%BB%B6

在后台进行捕捉: 需要在接收用户消息的方法里面进行接收消息:

处理关注和取消关注事件:

至此就完成了微信二维码生成与扫码关注的逻辑处理

源码下载

源码链接:https://gitee.com/qkongtao/my-wx-demo

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【黄啊码】PHP配合微信公众号生成推广二维码
为了满足用户渠道推广分析和用户帐号绑定等场景的需要,公众平台提供了生成带参数二维码的接口。使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送。
黄啊码
2022/05/30
5640
微信公众平台开发教程(六)获取个性二维码
在进行推广时,我们可以告诉对方,我们的微信公众账号是什么,客户可以去搜索,然后关注。二维码给我们提供了极大的便捷,只要简单一扫描,即可关注。
Java架构师必看
2021/05/19
5570
微信公众号开发之推广支持
前几篇文章详细介绍了微信App支付、公众号支付、微信红包、微信刷卡以及支付宝支付,今天来聊聊 推广支持之生成带参数的二维码、长链接转短链接
Javen
2018/08/21
2.1K0
微信公众号开发之推广支持
PHP实现生成二维码代码展示
为了满足用户渠道推广分析和用户账号绑定等场景的需要,公众平台提供了生成带参数二维码的接口。使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送。
很酷的站长
2022/11/30
8270
PHP实现生成二维码代码展示
C# 实现微信公众号生成场景二维码
公众平台生成场景二维码,是为了满足用户渠道推广分析、用户账号绑定等场景的需要,使用生成接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送。
初九之潜龙勿用
2024/06/20
1700
Unity & 微信公众号 - 实现扫码关注登录
功能需求:登录时呈现公众号二维码,用户扫描二维码后,点击关注,事件响应给程序,实现登录,若已经关注,自动进入会话,事件同样响应给程序,实现登录。
CoderZ
2022/08/29
3K0
Unity & 微信公众号 - 实现扫码关注登录
koa框架生成微信公众号二维码
demo的github地址:https://github.com/xuedingmiaojun/koa-demo.git
薛定喵君
2020/07/30
6890
生成带参数的二维码
为了满足用户渠道推广分析和用户帐号绑定等场景的需要,公众平台提供了生成带参数二维码的接口
很酷的站长
2022/12/28
8640
生成带参数的二维码
微信扫描带参数的二维码事件推送返回 qrscene_0
最近在处理微信扫码关注公众号登录的需求时,遇到了扫描微信生成的带参数二维码后,事件推送中EventKey一直是0和qrscene_0的问题。
沈唁
2022/04/12
2K0
微信公众号-公众号推广
为了满足用户渠道推广分析和用户帐号绑定等场景的需要,公众平台提供了生成带参数二维码的接口。使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送
星哥玩云
2022/09/14
9.9K0
微信公众号-公众号推广
当面试官突然提到第三方登录时,我不禁微笑了~ 探秘WeChat公众号扫码关注登录!
当面试官突然提到第三方登录时,我不禁微笑了~ 探秘WeChat公众号扫码关注登录!,来整一个.
杨不易呀
2023/09/19
9150
当面试官突然提到第三方登录时,我不禁微笑了~ 探秘WeChat公众号扫码关注登录!
【除夕夜特辑】手把手教你微信公众号开发
各位读者朋友们好,今天是除夕,在这里先祝大家新年快乐。这篇文章其实是一个星期前写的,一直在电脑里放着,赶上今天的好日子,机缘巧合的情况下被我重新发现,于是就发布出来了。
wangweijun
2021/10/25
9210
【除夕夜特辑】手把手教你微信公众号开发
【黄啊码】php结合微信公众号实现裂变海报(基本技术点)
微信公众号裂变式营销代码实现,先讲下基础原理,先生成带有用户参数的二维码,然后用php自带的gd库处理,生成带有用户头像,昵称,参数二维码,营销信息的自定义图片,再将图片传入微信公众号临时素材,当其他用户扫描这个专属推荐码的时候,获取用户的昵称返回给推荐者,并存入数据库,以记录当前有多少人扫描了二维码。
黄啊码
2022/06/15
9640
微信扫码登录网站实现案例(无需授权)
最近因业务需要,需要给网站增加一个扫描公众号二维码登录网站的功能,通过扫码登录,一来用户登录网站不需再输入账号密码,提升了用户体验,二来也可以作为公众号吸粉的一个渠道。
小诸葛
2020/04/14
2.6K1
微信扫码登录网站实现案例(无需授权)
网站提示用微信扫码登录,他们是怎么实现的?
作为一个技术码农,在使用社区、论坛或者各类AI服务的时,经常会看到这样一个提示:“使用微信公众号扫码登录”。那因为这种的登录方式除了登录,还可以让用户沉淀到公众号上,以后还能接收到公众号推广,可谓是一举两得。那它是怎么做的呢?🤔
小傅哥
2024/02/26
4.3K0
网站提示用微信扫码登录,他们是怎么实现的?
Java 生成微信小程序二维码(可以指定小程序页面 与 动态参数)
打开微信公众平台接口调试工具,在参数列表中输入小程序的appid和secret,点击检查问题,如果appid和secret正确,则可以返回正确的access_token结果(图中下方的红框)
用户1518699
2020/11/24
7.4K0
Java 生成微信小程序二维码(可以指定小程序页面 与 动态参数)
python生成二维码
最近因为工作需要生成二维码,小编就去网上找了一些有关生成二维码的资料,最方便的有在线生成的,链接如下:
我被狗咬了
2019/09/23
1.2K0
python生成二维码
小程序二维码和小程序带参数二维码生成
本文主要讲解小程序二维码的基本概念,帮助开发和运营人员更好的掌握小程序参数二维码,同时也包含小程序二维码官方文档解读,更好的掌握小程序参数二维码在业务中的使用 一,小程序二维码小白介绍 二,小程序二维
编程软文
2018/06/20
7K0
微信小程序----获取二维码
3. 返回的结果二维码(扫码即可进入Rattenking 的博客测试商店)
Rattenking
2021/02/01
3K0
微信小程序----获取二维码
第三方登录
一. 概述 在项目中, 实现微信登陆的功能, 描述如下: 打开网站首页, 点击登陆按钮, http://XXXX/index 点击登陆, 弹出二维码 手机微信扫码后, 跳转到公众平台 如果用户已经关注
php007
2019/08/05
1.1K0
第三方登录
推荐阅读
相关推荐
【黄啊码】PHP配合微信公众号生成推广二维码
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验