zoukankan      html  css  js  c++  java
  • 微信公众号java开发思路

    方法一:不开启开发模式,直接在自定义菜单中跳转到网页,适用于流量较小的公众号。
     
    方法二:开启开发者模式,关闭自带的自定义菜单和消息回复,接入自己开发的应用
              1、接入校验:创建servlet,在doGet()中进行校验,校验成功表示微信和当前应用接入成功
              2、响应用户发送的消息:在servlet的doPost()中进行响应xml消息,xml消息有以下属性:
                        FromUserName,ToUserName,MsgType,Content
                   其中MsgType又分event,text,voice,video,link,location,subscribe等等类型,系统需要先根据MsgType类型来进行响应
              3、通过appId和secretId获取accessToken,用于调用微信的接口。token有效时间一般为2小时。
                        1)可以开启线程用thread.sleep(2000)来不断获取token放到静态字段里,要用的时候到静态字段里取即可
                        2)将token、过期时间保存到redis等数据库中,用的时候取出,然后判断是否过期,过期则重新获取。
              3、创建自定义菜单
                   组装自定义菜单(json),通过post请求将自定义菜单连带accessToken发送到微信接口。菜单创建
     
     
      交互图:
     
      以下是acessToken设计伪代码:
    class WxServlet extends HttpServlet{
        doGet(){//接入校验}
        doPost(){//响应消息}
        init(){
          WxUtil.createMenu();
        }
    }
    
    class AcessToken{
      pivate String token;
      private String expires;
      //getter setter
    }
    
    
    class WxUtil{
      void createMenu(){
        //获取acessToken
        getAcessToken();
        //组装菜单(json)发送post请求到微信服务器,创建成功
      }
    
      String getAcessToken(){
        //校验token是否过期,过期重新获取,否则用数据库中的数据
        AcessToken t= getAcessTokenFromDb();
        if(checkExpires(t.exprise))
          return t.token;
        else
          return getAcessTokenFromWx().token;
      }
    
      AcessToken getAcessTokenFromDb(){}
      AcessToken getAcessTokenFromWx(){
          //通过微信接口请求acessToken,保存到数据库
        saveToken2Db(t);
        //返回token
      }
    
      void saveToken2Db(t){
        //将token保存到数据库或内存中
      }
    
    }
  • 相关阅读:
    (转)ASP.NET Mvc 2.0 1. Areas的创建与执行
    新世代交易管理機制~System.Transactions
    水晶報表入門
    MyGeneration 如何连接 mysql 来生成代码
    vs.net 启动不了
    Oracle面试问题-技术篇
    把excel两列字符数据用逗号合并起来
    论Leader的技能
    物流行业名词
    html 向aspx 页面传值
  • 原文地址:https://www.cnblogs.com/2333/p/6383358.html
Copyright © 2011-2022 走看看