Java 获取小程序二维码的几种方式

这篇具有很好参考价值的文章主要介绍了Java 获取小程序二维码的几种方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

小程序二维码的适用场景

  1. 适用于需要的码数量较少的业务场景
  2. 总共生成的码数量限制为100,000,请谨慎调用。

获取步骤

接口地址:

https://api.weixin.qq.com/cgi- bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN>

(1)POST 参数说明

参数 类型 默认值 说明
path String 不能为空,最大长度 128 字节
width Int 430 二维码的宽度

注意:通过该接口生成的小程序二维码,永久有效,数量限制见文末说明,请谨慎使用。用户扫描该码进入小程序后,将直接进入 path 对应的页面。

示例:

{“path”: “pages/index?query=1”, “width”: 430}

注:pages/index 需要在 app.json 的 pages 中定义

(2)请求接口测试

    /**
     *  获取小程序二维码
     * @param url 官方获取二维码地址
     * @param width 二维码的宽度 int类型 默认 430
     * @param access_token 
     * @param path
     * @return
     */
      public static InputStream createwxaqrcode(String url,String access_token,String path,String width){
          url = url + "?access_token=" + access_token;
          JSONObject jsonParam = new JSONObject();
          jsonParam.put("path", path);
          jsonParam.put("width", width);
          InputStream instreams = doWXPost(url, jsonParam);
         if(BL3Utils.isEmpty(instreams)){
             System.out.println("出错获取二维码失败!");
         }
         return instreams;
     }
    /**
     *  请求
     * @param url 
     * @param jsonParam
     * @return
     */
     public static InputStream doWXPost(String url, JSONObject jsonParam) {
            InputStream instreams = null;
            HttpPost httpRequst = new HttpPost(url);// 创建HttpPost对象
            try {
                StringEntity se = new StringEntity(jsonParam.toString(),"utf-8");
                se.setContentType("application/json");
                se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,"UTF-8"));
                httpRequst.setEntity(se);
                HttpResponse httpResponse = new DefaultHttpClient().execute(httpRequst);
                if (httpResponse.getStatusLine().getStatusCode() == 200) {
                    HttpEntity httpEntity = httpResponse.getEntity();
                    if (httpEntity != null) {
                        instreams = httpEntity.getContent();
                    }
                }
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            } catch (ClientProtocolException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return instreams;
        }

参数介绍:
1. url : https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode
2. access_token:上面有介绍(getAccessToken这个方法)
3. path:用户扫描该码进入小程序后,将直接进入 path 对应的页面;一般是首页地址”pages/index/index” 也可以带上参数
“pages/index/index?query=1”。
4. width:二维码的宽度 int类型 默认 430。

    /* @param instreams 二进制流
     * @param imgPath 图片的保存路径
     * @param fileName 图片的名称
     * @return str 图片保存地址
     */
    public static String saveToImgByInputStream(InputStream instreams,String imagePath,String fileName){
        String str = "";
        String path = "QRimage" + getWFileDirName();
        String linuxPath = path.replaceAll("//",File.separator);
        if(instreams != null){
            boolean b =uploadImages(instreams,imagePath+File.separator+linuxPath, fileName);
            if(b){
                str =linuxPath+fileName;
            }
        }
        return str;
    }

参数介绍

1. instreams: 上面有介绍(createwxaqrcode这个方法)
2. imagePath:保存图片的地址
3. fileName:图片自定义名称(可以自定义 比如:1.jpg、1.png等)。

    /**
     * IO流保存图片
     * @param instreams
     * @param imagePath
     * @param fileName
     * @return
     */
    public static boolean uploadImages( InputStream instreams,String imagePath,String fileName) {
        File f = new File(imagePath);
        f.setWritable(true, false);
        boolean flag = false;
        try {
            // 1K的数据缓冲
            byte[] bs = new byte[1024];
            // 读取到的数据长度
            int len;
            // 输出的文件流
            File file = new File(imagePath,fileName);
            if (!file.getParentFile().exists()) {
                file.getParentFile().mkdirs();
                try {
                    // 创建新文件
                    file.createNewFile();
                } catch (IOException e) {
                    System.out.println("创建新文件时出现了错误。。。");
                    e.printStackTrace();
                }
            }
            OutputStream os = new FileOutputStream(imagePath+File.separator+fileName);
            // 开始读取
            while ((len = instreams.read(bs)) != -1) {
                os.write(bs, 0, len);
            }
            // 完毕,关闭所有链接
            os.close();
            instreams.close();
            flag = true;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return flag;
    }

直接使用下面的代码就可以获取到二维码地址了

String qrcodeUrl = saveToImgByInputStream(instreams,imagePath,fileName);

接口说明

1:通过该接口,仅能生成已发布的小程序的二维码。
2:可以在开发者工具预览时生成开发版的带参二维码。
3:接口1加上接口2,总共生成的码数量限制为100,000,请谨慎调用。
4 : POST 参数需要转成 json 字符串,不支持 form 表单提交。
5 : auto_color line_color 参数仅对小程序码生效。

最后请大家注意

微信小程序码 和 微信小程序二维码 是有区别的

微信小程序码是圆的,微信小程序二维码是方的文章来源地址https://www.toymoban.com/news/detail-606597.html

到了这里,关于Java 获取小程序二维码的几种方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 生成微信小程序发布上线后的二维码 、获取微信小程序二维码、微信小程序二维码如何生成?

    情景: 1、在微信小程序审核完成,发布到线上后,想通过扫描小程序二维码进入小程序 2、可分享二维码出去,通过二维码扫码进入小程序 方法: 1、进入微信小程序的后台配置。链接:微信公众平台。(如图一) 2、进入 “设置” -- “ 基本设置” -- “小程序码及线下物

    2024年02月12日
    浏览(37)
  • 小程序获取企业微信二维码,使用联系我插件配置企业微信二维码

    通过配置获取企业微信二维码总共分为五步: 第一步:登录企业微信管理后台,查询企业微信的企业ID(corpid)和Secret(corpsecret); 第二步:获取access_token; 第三步:通过员工ID配置生成config_id(即企业微信联系我plugid); 第四步:通过config_id获取企业已配置的「联系我」方式;

    2024年02月09日
    浏览(33)
  • 微信小程序生成二维码的 方式

    一:生成普通的二维码 https://open.weixin.qq.com/sns/getexpappinfo?appid=xxxpath=xxx?a=123 appid:小程序的appid path: 小程序的路径 a:小程序需要携带的参数,不传可以不写 二:在微信开发文档内生成 步骤1.登录微信公众平台 2.找到工具菜单 3.选择生成小程序码 具体里面的有生成规则,不懂得

    2024年02月12日
    浏览(40)
  • 二维码带参数跳转小程序页面,小程序获取参数。

    普通链接二维码,是指开发者使用工具对网页链接进行编码后生成的二维码。 线下商户可不需更换线下二维码,在小程序后台完成配置后,即可在用户扫描普通链接二维码时打开小程序,使用小程序的功能。 对于普通链接二维码,目前支持使用微信“扫一扫”或微信内长按

    2024年02月09日
    浏览(33)
  • 小程序扫描二维码获取网址,通过Jsoup进行解析

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 文章目录 前言 一、Jsoup是什么? 二、使用步骤 1.引入库 2.读入数据 总结 vx开发小程序使用扫一扫时不同二维码展示的东西不一样,需要进行解析 提示:以下是本篇文章正文内容,下面案例可供参考

    2024年02月12日
    浏览(32)
  • 微信小程序:生成二维码带参数并获取值

    通过后台接口可以获取小程序任意页面的小程序码,需要注意的是 接口只能生成已发布的小程序的二维码 小程序接口文档 1)scene 字段的值会作为 query 参数传递给小程序/小游戏。用户扫描该码进入小程序/小游戏后,开发者可以获取到二维码中的 scene 值,再做处理逻辑。

    2024年02月15日
    浏览(29)
  • uniapp微信小程序 获取从二维码进入小程序所携带的参数

    在app.vue  onLaunch中调用获取场景值的方法即可 (建议在onShow中调用,避免扫码冷启动)

    2024年02月15日
    浏览(31)
  • 微信小程序二维码生成及access_token获取方法详解

    本文介绍了微信小程序如何生成二维码(wxacode.get接口)以及如何通过auth.getAccessToken接口获取全局唯一的后台接口调用凭据(access_token),为开发者提供了详细的API调用指南和代码示例。 Keywords (关键词):

    2024年02月07日
    浏览(34)
  • 获取url地址后面参数的2种方法(小程序二维码跳转参数解析)

            微信扫描小程序二维码后,在页面的onLoad函数的参数options内可以拿到跳转参数scene值,但是需要对scene进行decodeURIComponent操作,方法如下: 方法一: 方法二:

    2024年02月17日
    浏览(38)
  • Java 创建带参数小程序二维码

            生成小程序二维码有三个接口,根据自己的业务场景选择合适的接口,这里我选择的是接口B   注意 :所带参数的长度不得超过32字符。access_token是小程序的

    2024年02月16日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包