素材巴巴 > 程序开发 >

微信公众平台开发简介

程序开发 2023-09-02 19:03:22
一、什么是微信公众账号 如下面图所示,展示了一个微信公众账号。






二、开发原理    我们所要做的主要工作为:解码 -> 实现自己的业务 -> 编码后返回结果。很简单的一个流程。
三、账号申请与配置 账号申请 申请不多说了。地址:https://mp.weixin.qq.com 配置 主要配置三个信息:URL、Token、EncodingAESKey。 URL  :微信服务器收到消息将会推送到此URL Token:任意填写,用于验证消息是否来自微信服务器 EncodingAESKey:用作消息体加解密密钥
 

四、开发一个简单的程序
get:微信服务器会先get消息进行确认。 加密/校验流程如下: 1. 将token、timestamp、nonce三个参数进行字典序排序 2. 将三个参数字符串拼接成一个字符串进行sha1加密 3. 开发者获得加密后的字符串可与signature对比,标识 该请求来源于微信 4.成功原样返回参数中的echostr
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {   String signature = request.getParameter("signature");   String timestamp = request.getParameter("timestamp");     // 时间 String nonce = request.getParameter("nonce");   String echostr = request.getParameter("echostr");   PrintWriter out = response.getWriter();   // 跳过校验,直接返回成功 if (true) {   out.print(echostr);   }   out.close();   out = null;   }  
post:get确认成功后,post推送用户消息。 根据用户消息处理业务并返回回复消息 /**  * 处理微信服务器发来的消息  */   public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {   request.setCharacterEncoding("UTF-8");   response.setCharacterEncoding("UTF-8");   String respMessage = RequestManager.processRequest(request);   // 响应消息   PrintWriter out = response.getWriter();   out.print(respMessage);   out.close();   }  
public static String processRequest(HttpServletRequest request) {   String respMessage = "出错鸟!"; try {   Map requestMap = MessageUtil.parseXml(request);  //这里解析 String fromUserName = requestMap.get("FromUserName");   String toUserName = requestMap.get("ToUserName");   String msgType = requestMap.get("MsgType");   TextMessage txtMsg = new TextMessage("呵呵!");  
txtMsg.setToUserName(fromUserName);   txtMsg.setFromUserName(toUserName);   txtMsg.setCreateTime(new Date().getTime());   txtMsg.setFuncFlag(0);   respMessage = txtMsg.toXml();  //这里转换格式返回给微信服务器  具体做法都很简单 } catch (Exception e) {   e.printStackTrace();   }   return respMessage;   }  

开发者文档  更多详细信息可以参考官方文档:http://mp.weixin.qq.com/wiki/index.php
五:最后 主要是把简单流程给大家介绍了一下。希望大家有个基本了解。具体细节可以参考官方开发文档。 大家不要把开发想的太复杂。有好的点子才更重要。 希望多多支持。 有不足之处和不正确的地方希望斧正!
示例微信公众账号:mmcxzs

标签:

素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。