java 生成小程序二维码

简介: java 生成小程序二维码

根据小程序的appId和秘钥换取授权accessToken 信息:

String codeUrl = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token="//生成二维码url
String url = "https://api.weixin.qq.com/cgi-bin/token?appid="+appId+"&secret="+appSecret+"&grant_type=client_credential"
RestTemplate restTemplate = new RestTemplate()
ResponseEntity<String> responseEntity = restTemplate.exchange(url, HttpMethod.GET, null, String.class)
logger.info("responseEntity授权获取accessToken:"+responseEntity)
 if(responseEntity != null && responseEntity.getStatusCode() == HttpStatus.OK) {
        String sessionData = responseEntity.getBody()
        logger.info("sessionData = " + sessionData)
        JSONObject jsonObj = JSON.parseObject(sessionData)
        String accessToken = jsonObj.getString("access_token")
        URL url_Code= new URL(codeUrl+accessToken)
        HttpURLConnection httpURLConnection = (HttpURLConnection) url_Code.openConnection()
        httpURLConnection.setRequestMethod("POST")//提交模式
        // 发送POST请求必须设置如下两行
        httpURLConnection.setDoOutput(true)
        httpURLConnection.setDoInput(true)
        // 获取URLConnection对象对应的输出流
        PrintWriter printWriter = new PrintWriter(httpURLConnection.getOutputStream())
        // 发送请求参数
        JSONObject paramJson = new JSONObject()
        paramJson.put("scene",orderCodeReq.scene)
        paramJson.put("page", orderCodeReq.page)
        paramJson.put("width", orderCodeReq.width)//二维码的宽度,默认为 430px,最小 280px,最大 1280px
        paramJson.put("auto_color", orderCodeReq.autoColor)
        Map<String,Object> line_color = new HashMap<>()
        line_color.put("r", 0)
        line_color.put("g", 0)
        line_color.put("b", 0)
        paramJson.put("line_color", line_color)
        printWriter.write(paramJson.toString())
        // flush输出流的缓冲
        printWriter.flush()
        //开始获取数据
        String uploadBasePath = 上传文件的路径//
        String accessPath= 访问路径//
        String imei = RandomUtil.getCharAndNum(10) //随机生成文件的名称
        String name = imei+".png"
        String towPath=  上传文件的路径     
        if(uploadBasePath.charAt(uploadBasePath.length()-1) != '/') uploadBasePath=uploadBasePath+"/"
          String basePath=uploadBasePath+towPath
          File fileDir=new File(basePath)
          if(!fileDir.isDirectory()) fileDir.mkdirs()
          fileName = accessPath+"/"+towPath+"/"+name
          BufferedInputStream bis = new BufferedInputStream(httpURLConnection.getInputStream())
          OutputStream os = new FileOutputStream(new File(basePath+"/"+name))
          int len
          byte[] arr = new byte[1024]
          while ((len = bis.read(arr)) != -1)
           {
               os.write(arr, 0, len)
               os.flush()
           }
          os.close()
       
  }

返回前端的是一个可以在浏览器上面访问的地址


目录
相关文章
|
16天前
|
小程序 前端开发 算法
|
2月前
|
小程序 JavaScript
小程序生成二维码
小程序生成二维码
38 9
|
1月前
|
算法 小程序 Java
java制作海报三:获取微信二维码详情,并改变大小,合成到海报(另一张图片)上
这篇文章介绍了如何使用Java获取微信小程序的二维码,并将其调整大小后合成到海报(另一张图片)上。
41 0
|
1月前
|
小程序
java--微信小程序发送模板消息
java--微信小程序发送模板消息
102 0
|
2月前
|
小程序 前端开发 JavaScript
Java开发工程师转小程序开发的前景如何?
Java开发工程师转小程序开发的前景如何?
48 0
|
4月前
|
小程序 数据挖掘 UED
餐饮店小程序开发定制桌边二维码点餐系统
随着技术不断进步,各行各业都在使用新工具来提高效率和服务质量。餐饮业也不例外。餐饮点餐小程序系统是基于微信公众平台开发的在线点餐方式。顾客可以通过手机微信扫描餐桌上的二维码,进入餐厅的点餐小程序,选择菜品、数量和口味,直接完成点餐。点餐系统会自动保存并发送给厨房,避免了传统手工点餐容易出错的问题。
|
4月前
|
前端开发 小程序
【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)
【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)
409 0
|
5月前
|
XML 小程序 Java
java小程序代码详细展示
java小程序代码详细展示
41 0
|
5月前
|
小程序 Java 关系型数据库
基于Java微信小程序自驾游拼团设计和实现(源码+LW+调试文档+讲解等)
基于Java微信小程序自驾游拼团设计和实现(源码+LW+调试文档+讲解等)
|
5月前
|
小程序 JavaScript Java
基于Java微信小程序校园自助打印系统设计和实现(源码+LW+调试文档+讲解等)
基于Java微信小程序校园自助打印系统设计和实现(源码+LW+调试文档+讲解等)