900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 微信小程序-接收消息推送

微信小程序-接收消息推送

时间:2024-02-04 06:44:35

相关推荐

微信小程序-接收消息推送

【开发管理】【开发设置】【消息推送】---开发者服务器接收消息推送

点击启用的时候 会出现会填写服务器地址之类的信息,填写之后点击提交,会向填写的服务器地址发送get请求校验通过后才能成功启用。

当时开发的时候就想,这个接口用来校验,但是这个接口也要用来接收消息体,要求返回的参数也不一致,怎么区分呢?

后来想到通过get和post请求参数的不同来区分是校验逻辑还是消息逻辑。(或许也可以是上线之前只写校验逻辑,提交通过校验后再改正,我没有用这种方法,不知道正不正确。)

附上我的源码

public void getWechatBackInfo(HttpServletRequest request, HttpServletResponse response) {String echostr = request.getParameter("echostr");//校验处理if (echostr != null && (echostr.length()) != 0) {PrintWriter out = null;try {//TODO 省略校验逻辑,当校验成功时返回echostr字段out = response.getWriter();out.print(echostr);out.flush();} catch (Exception e) {e.printStackTrace();} finally {out.close();}return;}//正常处理try {StringBuffer str = new StringBuffer();InputStreamReader reader=new InputStreamReader(request.getInputStream(),"UTF-8");char [] buff=new char[1024];int length=0;while((length=reader.read(buff))!=-1){String x=new String(buff,0,length);str.append(x);}String jsonstr = str.toString();//TODO jsonstr就是微信参数的json串 //TODO 省略处理消息体的代码}catch (Exception e){}//不返回报错 报错只记录在日志中,所有情况都默认为成功PrintWriter out = null;try {out = response.getWriter();out.print("success");out.flush();} catch (Exception e) {e.printStackTrace();} finally {out.close();}}

ps:不知道我这样配置是不是走了弯路,但是启用成功也接收到消息了,如果有大佬路过的话希望能指正!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。