获取微信公众号带key的二维码

前言

本文只是进行一些思路的简化已经示例代码的书写,更为详细的思路请查询官方文档,官方文档与本文搭配使用为最佳选择

官方文档:账号管理 / 生成带参数的二维码

二维码的作用

微信公众号二维码我们一般有两个作用,

一是用于特定的分享内容,比如我们常见的每个人一份的分享海报,上面的二维码可以记录每个人的成功分享次数

二是用于扫码登录,我们也见过很多微信登录的二维码扫码跳转不是微信安全中心,而是它所对应的公众号

获取换取二维码的URL

根据官方文档,我们需要先进行一个POST请求,然后获得一个ticket的票据,再去指定的页面换取二维码

java进行POST请求可以参考以下文章

我们可以新建一个wechat的服务实现类,我们在里面用fastjson的JSONObject进行本次POST请求的请求体内容的生成,我们需要从外部传入expire_secondsaction_name,也就是超时时间和本次二维码的类型,二维码的类型有以下几种

QR_SCENE临时的整型参数值
QR_STR_SCENE临时的字符串参数值
QR_LIMIT_SCENE永久的整型参数值
QR_LIMIT_STR_SCENE永久的字符串参数值

所以我们这个方法必备的传入参数就得有expireSeconds和ActionName,而更为重要的字符串内容或者整形参数内容你可以选择传入,也可以选择在方法内进行一个生成,我们这演示直接传入,在生成需要的请求体之后,我们直接从获取到的响应中拿到ticket,拼接对应的网站,直接返回调用的地方(此处的SaResult为satoken权限认证框架中,你们可以自定义响应体)

public SaResult getQRCode(Long expireSeconds, String ActionName, String Use,String str) throws UnsupportedEncodingException {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("expire_seconds", expireSeconds);
        jsonObject.put("action_name", ActionName);
        JSONObject ActionInfo = new JSONObject();
        JSONObject scene = new JSONObject();
        scene.put("scene_str",  str);
        ActionInfo.put("scene", scene);
        jsonObject.put("action_info", ActionInfo);

        String jsonString = jsonObject.toJSONString();
        String url = String.format("https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=%s", wechatToken.GetToken());
        JSONObject TictetJson = HttpUtil.doPost(url, jsonString);
        String ticket = TictetJson.getString("ticket");
        ticket = URLEncoder.encode(ticket, "utf-8");
        String QRCodeUrl = String.format("https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=%s", ticket);
        JSONObject QRCode = new JSONObject();
        QRCode.put("QRCodeUrl", QRCodeUrl);
        QRCode.put("expire_seconds", TictetJson.getString("expire_seconds"));
        return new SaResult(200, "生成成功", QRCode);
    }
版权声明:除特殊说明,博客文章均为栋dong原创,依据CC BY-SA 4.0许可证进行授权,转载请附上出处链接及本声明。
如有需要,请在留言板留言,或者添加我的QQ或者微信
我只是一个学生,如有错误或者侵权,请联系我,谢!

评论

  1. 博主
    Windows Edge
    8 月前
    2023-10-20 13:24:01

    大家积极评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇