zoukankan      html  css  js  c++  java
  • 微信公众平台开发01

     

    微信公众平台开发01

    1 微信公众平台

     

    1.1 开发准备

    • 微信公众号服务器只是做了一个中介的作用

    http://images.cnblogs.com/cnblogs_com/machine/446980/o_weixin.png

    微信公众号服务器和网站的关系

    • 可以使用nat123在内网搭建网站,作为测试开发
    • 可以申请微信公众平台接口测试帐号,前期避免繁琐的账号认证,打开浏览器,这里以IE 为例。输入:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
    • 正式运营时,可以使用新浪云计算SAE Java平台,不用自己购买服务器和管理服务器

    1.2 功能

    • 自定义欢迎信息:用户关注我们的微信公众号时,返回自定义欢迎信息
    • 提供位置服务:网站收到用户发送的位置信息,在数据库中保存位置信息, 再根据用户发送的信息在制定的位置范围内搜索,如用户先发送位置信息"兰 州市西固区玉门街什字",再发送"超市",网站收到这个信息,先从数据库中 取得用户位置信息,再根据位置信息和搜索信息,得到用户想要的结果,以微 信的形式返回
    • 提供自定义菜单:如"获取优惠卷","调查问卷"

    1.3 代码分析

    http://images.cnblogs.com/cnblogs_com/machine/446980/o_weixin-source.jpg

    主要类的关系

    1.3.1 WeixinSerciceImpl代码分析

    weixinConfirm:微信确认请求是微信公众平台向网站发送消息的入口,分为GET和POST两种 方式,GET用于验证网站真实性,POST用于向网站发送信息和事件推送。目前发送信息处理了 TEXT类型的消息,事件推送处理了自定义菜单点击和模板消息推送

    //微信确认请求
    public String weixinConfirm(HttpServletRequest request,HttpServletResponse response)throws Exception
          |
          |
          v
    /**
     * 处理微信发来的POST请求
     * 
     * @param request
     * @return
     */
    private String processRequest(HttpServletRequest request)
          |
          |
          v
    /**
     * 根据属性名到属性配置文件内找对应的xml文件进行返回。
     * @param request
     * @param content
     * @param requestMap
     * @return
     */
    private String responseMessage(HttpServletRequest request,String content,Map<String, String> requestMap)
          |
          |
          v
    /**
     * 返回文本信息
     * @param requestMap
     * @param request
     * @param content
     * @return
     */
    private String responseTxtMsg(Map<String, String> requestMap,HttpServletRequest request,String content)
    

    1.3.2 WeixinUtil代码分析

    httpsRequest:发起https请求并获取结果,分为GET和POST两种方式。用于菜单创建(POST), 获取 accesstoken的接口,获取网页授权认证, 推送模板信息,获取用户信息,获取微信IP地址 列表,网页授权获取用户信息,长链接转换成短链接

    /**
     * 发起https请求并获取结果
     * @param requestUrl 请求地址
     * @param requestMethod 请求方式(GET、POST)
     * @param outputStr 提交的数据
     * @return JSONObject(通过JSONObject.get(key)的方式获取json对象的属性值)
     */
    public static JSONObject httpsRequest(String requestUrl, String requestMethod, String outputStr) 
    

    Date: 2015-03-06 10:46:18

    Author:

    Org version 7.8.06 with Emacs version 23

    Validate XHTML 1.0
  • 相关阅读:
    HTML笔记
    html文本格式化
    标题大小与字体大小的关系
    html学习笔记
    冒泡排序
    直接插入算法
    绘制针状图
    绘制矢量图
    饼图pie 或者pie3
    三维直方图
  • 原文地址:https://www.cnblogs.com/machine/p/4316282.html
Copyright © 2011-2022 走看看