E企盈营销工具技术服务商 热线:4006-838-530

微信小程序实现客服默认自动回复功能

E企盈直播平台营销卖货系统

微信小程序实现客服默认自动回复功能程序可通过以下两种方式下发客服消息:1、调用发送客服消息接口;2、使用公众平台网页版客服工具;这里主要讲第1种的做法。1、小程序管理员的后台配置登录小程序,在“设置-开发设置-消息推送”启用消息推送功能并完成相关信息配置。 URL(服务器地址):用url访问文件名地址Token: 自己随便起个名字就行英文数字3-32字符到时后台验证一样就行了;EncodingAESKey:直接用自动生成即可配置完成后,微信服务器会访问服务器地址检验是否能访问到。如果访问失败获取返回数据不正确,将提示token校验失败(也就是说上面配置的URL是外网可以访问的微信服务器要先去我们自己配的URL中的方法去检验token是否相同)。2、小程序前端小程序前端加一个客服按钮就可以了<contact-button  size=”30″ session-from=”weapp” class=”guest-button”></contact-button>3、Token验证和客服消息的接收后台我主要是由java编写完成。/**     * 微信小程序消息验证和配置     * @data:2018/2/06     * @return     * @throws Exception      */    public String getProcessRequest() throws Exception{        boolean isGet=request.getMethod().toLowerCase().equals(“get”);        System.out.println(“方法是——-“+isGet);        if(isGet){//首次验证token            isProcessRequest();        }else{// 进入POST聊天处理              System.out.println(“进入了聊天界面”);            if(checkSignature()){                // 接收消息并返回消息                  acceptMessage();              }          }        /*for (String string : list) {            conbineStr+=string;        }*/        return null;    }/**     * 验证消息推送Token     */    public void isProcessRequest(){        String signature=request.getParameter(“signature”);        String timestamp=request.getParameter(“timestamp”);        String nonce=request.getParameter(“nonce”);        String echostr=request.getParameter(“echostr”);        String token=”ulin5″;//要和我们小程序管理员配置的一样才行          List<String> params = new ArrayList<String>();              params.add(token);              params.add(timestamp);              params.add(nonce);              // 1. 将token、timestamp、nonce三个参数进行字典序排序              Collections.sort(params, new Comparator<String>() {                  @Override                  public int compare(String o1, String o2) {                      return o1.compareTo(o2);                  }              });              // 2. 将三个参数字符串拼接成一个字符串进行sha1加密              String temp = SHA1.encode(params.get(0) + params.get(1) + params.get(2));              if (temp.equals(signature)) {                  try {                  //通过算法计算后相等响应echostr给微信服务器                    response.getWriter().write(echostr);                      System.out.println(“成功返回 echostr:” + echostr);                  } catch (IOException e) {                      e.printStackTrace();                  }              }              System.out.println(“失败 认证”);    }/**     * 聊天处理方法     * @param request     * @param response     * @throws Exception      */    public void acceptMessage() throws Exception{        com.alibaba.fastjson.JSONObject json = null;        String openid=request.getParameter(“FromUserName”);//这是通过通过get方式去url 拼接的键值对,post方式取不到值。        request.setCharacterEncoding(“UTF-8”);         //返回页面防止出现中文乱码        BufferedReader reader = new BufferedReader(new InputStreamReader(request.getInputStream()));//post方式传递读取字符流        String jsonStr = null;        StringBuilder result = new StringBuilder();        try {        while ((jsonStr = reader.readLine()) != null) {        result.append(jsonStr);        }        } catch (IOException e) {        e.printStackTrace();        }        reader.close();// 关闭输入流         json = com.alibaba.fastjson.JSONObject.parseObject(result.toString()); // 取一个json转换为对象        String jsonStrs=”{“touser”:”oNrqO4jET7YbGXdFcGWO-m-94heE”,”msgtype”:”text”,”text”:{ “content”:”Hello World”}}”;      // jsonStrs=new String(jsonStrs.getBytes(),”UTF-8″);        String token=AccessTokenUtil.getWxAccessToken();      String url=”https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=”+token;      JSONObject jsonInfo = null;        url=url.replaceAll(“””, “\””);          //jsonInfo = CommonUtil.httpsRequest(url, “POST”, jsonStrs);        PrintWriter out=null;        BufferedReader in=null;        String result1=””;        try {            URL url1 = new URL(“https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=”+token);            HttpURLConnection connection = (HttpURLConnection) url1.openConnection();            connection.setDoOutput(true);            connection.connect();            OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream(),”UTF-8″);            writer.write(jsonStrs);            writer.flush();            InputStreamReader reader1 = new InputStreamReader(connection.getInputStream(),”UTF-8”);            BufferedReader breader = new BufferedReader(reader1);            StringBuffer strb = new StringBuffer();            String str = null;            while (null != (str = breader.readLine())) {                strb.append(str);            }            System.out.println(strb.toString());            writer.close();            reader.close();            breader.close();            connection.disconnect();        } catch (Exception e) {            System.out.println(“发送post请求异常”);            e.printStackTrace();        }finally{            if(out!=null)out.close();            if(in!=null)in.close();        }    }然后就完成啦^_^小程序

赞(0) 打赏
未经允许不得转载:E企盈小程序开发-热线:4006-838-530 » 微信小程序实现客服默认自动回复功能
分享到: 更多 (0)
E企盈小程序直播营销卖货系统
E企盈直播平台营销卖货系统

评论 抢沙发

E企盈小程序开发

联系我们联系我们

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

支付宝扫一扫打赏

微信扫一扫打赏