美文网首页
微信开发--客服接口--主动发消息(发图片例子)

微信开发--客服接口--主动发消息(发图片例子)

作者: 小小蒜头 | 来源:发表于2018-08-08 16:01 被阅读1048次

本次微信公众号开发之客服消息用的是开发工具weixin-java-tools

1. 导入相关开发工具包

<dependency>
     <groupId>com.github.binarywang</groupId>
     <artifactId>weixin-java-mp</artifactId>
     <version>2.9.6.BETA</version>
</dependency>

2. 发送消息

内容是什么不重要,就是很长的字符串,把字符串内容转成一张图片,选择路径存放

主要就是先将图片上传到微信后台,然后再取出来发送

      SimpleDateFormat df1 = new SimpleDateFormat("yyyyMMdd_HHmmss");
        Orders orders = this.ordersMapper.selectByPrimaryKey(orderId);
        ArrayList<OrderDetails> orderDetails = this.orderDetailMapper.selectByOrderId
                (orders.getOrderId());
        // 生成订单小票
        OrderBillUtils orderBillUtils = new OrderBillUtils(0);
        orders.setGroupName("克拉玛依新华书店");
        orders.setPayDate(new Date());
        String printInfo = orderBillUtils.getOrderBillText1(orders, orderDetails);
        // 根据str,font的样式以及输出文件目录
        Integer width = 400;
        Font font = new Font("宋体",Font.BOLD, 20);
        logger.info(font.toString());
        String[] ss = printInfo.split("/");
        logger.info("小票:" + printInfo);
        logger.info("数组长度" + ss.length);
        Integer height = 35 * ss.length;
        // 创建图片
        BufferedImage image = new BufferedImage(width, height,
                BufferedImage.TYPE_INT_BGR);
        Graphics g = image.getGraphics();
        g.setClip(0, 0, width, height);
        g.setColor(Color.white);
        g.fillRect(1, 1, width, height);// 先用黑色填充整张图片,也就是背景
        g.setColor(Color.black);// 在换成黑色
        g.setFont(font);// 设置画笔字体
        for (int j = 0; j < ss.length; j++) {
            g.drawString(ss[j], 20, 30 * (j + 2));// 画出字符串
        }
        g.dispose();
        String path = System.getProperty("web.root") + "orderBills" + File.separator + "electronic_" + df1.format(new Date().getTime()) + ".png";
        File file = new File(path);
        try {
            ImageIO.write(image, "png", file);// 输出png图片
        } catch (IOException e) {
            e.printStackTrace();
        }


        logger.info("电子小票地址:" + path);

3. 发送图片给微信用户

  try {
            /*
             *给支付成功用户发送电子小票二维码
             */
            String openId = (String) session.getAttribute(CURRENT_OPEN_ID);
            logger.info("openId:" + openId);

            //1. 上传图片,返回结果
            WxMediaUploadResult result = wxMpService.getMaterialService().mediaUpload(WxConsts.MediaFileType.IMAGE, file);
            logger.info("上传图片结果:" + request);

            if (result != null) {
                String media_id = result.getMediaId();

                WxMpKefuMessage wxMpKefuMessage = new WxMpKefuMessage();
                wxMpKefuMessage.setToUser(openId);
                wxMpKefuMessage.setMsgType(WxConsts.KefuMsgType.IMAGE);
                wxMpKefuMessage.setMediaId(media_id);
                //  2. 发送图片
                boolean result1 = wxMpService.getKefuService().sendKefuMessage(wxMpKefuMessage);
            }

            orders.setOrderBill(printInfo);
        } catch (WxErrorException e) {
            throw new RuntimeException(e);
        }

相关文章

  • 微信开发--客服接口--主动发消息(发图片例子)

    本次微信公众号开发之客服消息用的是开发工具weixin-java-tools 1. 导入相关开发工具包 2. 发送...

  • 微信公众号利用客服接口主动给用户发送消息的方法

    目前微信并没有放出主动给用户发送消息的接口,但是我们可以使用其多客服接口来达到主动给用户发送消息的目的。 当用户和...

  • 个人微信开发sdk

    微信开发sdk,微信二次开发sdk,个人微信开发sdk,微信群api接口,微信api接口 case DeviceA...

  • 微信公众号客服接口

    微信公众号客服接口,用于关注时推送多条信息

  • 微信开发者api

    微信api接口接入,微信群api接口,微信api接口文档,微信开发者api微信消息api case DeviceA...

  • 除了聊天,微信我

    微信,是一个生活方式。 众所周知,微信是腾讯旗下的一款社交软件。它可以发语言,发消息,发图片,等等在微信这个平台上...

  • 2017-08-28

    微信现在怎么了?企业微信和微信企业号,不只名称混乱,而且开发文档混乱。开发者论坛无法登录,寻求客服帮无果,客服很不...

  • 小程序客服消息开发的坑

    最近在研究小程序怎么引导关注微信公众号,发现联系客服,然后自动下发图片&链接是比较主流的做法 但是微信官方提供的在...

  • 个人微信开发api

    个人微信开发api,微信开发api文档,微信api接口文档 case "HeartBeatReq": {// 客户...

  • 微信开发第一弹

    什么是微信开发 微信开发包括三个方面,微信公众号开发,微网站开发,微信接口开发 微信开发步骤 去下面这个网站申请一...

网友评论

      本文标题:微信开发--客服接口--主动发消息(发图片例子)

      本文链接:https://www.haomeiwen.com/subject/ifkxbftx.html