微信小程序码

@Log("微信小程序码")
@ApiOperation(value = "微信小程序码", notes = "微信小程序码", produces = "application/json")
@GetMapping("generateQrCode1")
@ResponseBody
public void generateQrCode1(HttpServletResponse response,String ids) {
    try {
        //获取与微信对接的基础信息
        String appid="wxae43f25128226b70";
        String secret="694dc927b13ac2b6340bda45ec10eb32";
        String accessToken=this.weiXinService.getToken(appid,secret);
        //输出图片信息
        if(ids!=null && ids!="undefined" && !ids.equals("")){
            String[] ids_=ids.split(",");
            if(ids_!=null){
                for(int i=0;i<ids_.length;i++){
                    String id=ids_[i];
                    Certificate certificate=new Certificate();
                    certificate.setId(id);
                    List<Certificate> list=certificateService.findCertificates(certificate);
                    String productId="";
                    String userId="";
                    String bh="";
                    String hgzid="";
                    if(list!=null && list.size()!=0){
                        bh=list.get(0).getBh();
                        productId=list.get(0).getNcppch();//农产品批次号,当农产品id
                        userId=list.get(0).getUserId();
                        hgzid=list.get(0).getId();
                    }
                    //调用微信接口生成二维码
                    URL url = new URL("https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + accessToken);
                    HttpURLConnection httpURLConnection = (HttpURLConnection) url.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",hgzid);//这就是你二维码里携带的参数 String型  名称不可变
                    paramJson.put("page", "pages/traceinfo/index");注意该接口传入的是page而不是path
                    //这是设置扫描二维码后跳转的页面
                    paramJson.put("width", 200);
                    paramJson.put("is_hyaline", true);
                    paramJson.put("auto_color", true);
                    printWriter.write(paramJson.toString());
                    // flush输出流的缓冲
                    printWriter.flush();
                    //输出图片到页面上
                    InputStream inputStream=httpURLConnection.getInputStream();
                    OutputStream out = response.getOutputStream();
                    int len = 0;
                    byte[] b = new byte[1024];
                    while ((len = inputStream.read(b)) != -1) {
                        out.write(b, 0, len);
                    }
                    out.flush();
                    out.close();
                    inputStream.close();
                    httpURLConnection.disconnect();
                }
            }
        }
    } catch (Exception e) {//end
        e.printStackTrace();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值