zoukankan      html  css  js  c++  java
  • 微信开发的时候自定义菜单

    使用java代码开发自定义菜单
    第一步,获取到accessToken(接口的accessToken和网络授权的accesstoken不一样)
    可以查看我的另一篇博客
    第二部组装数据
    直接上代码

    public static void createCustomMenu(String accesstoken,String menu) throws Exception{
    String custmMenuUrl = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=";
    custmMenuUrl = custmMenuUrl + accesstoken;

    URL url = new URL(custmMenuUrl);
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();

    connection.setRequestMethod("POST");
    connection.setDoOutput(true);
    connection.setDoInput(true);
    connection.connect();

    OutputStream outputStream = connection.getOutputStream();
    outputStream.write(menu.getBytes("UTF-8"));
    outputStream.flush();
    outputStream.close();

    InputStream inputStream = connection.getInputStream();
    int size =inputStream.available();
    byte[] bs =new byte[size];
    inputStream.read(bs);
    String message=new String(bs,"UTF-8");
    System.out.println(message);
    }

    组装数据

    public static String getMenuStr() throws JSONException,Exception{
    JSONObject firstLevelMenu = new JSONObject();//一级菜单
    JSONArray firstLevelMenuArray = new JSONArray();//一级菜单列表

    //一级菜单内容3
    JSONObject firstLevelMenuContext3 = new JSONObject();
    firstLevelMenuContext3.put("type", "view");
    firstLevelMenuContext3.put("name", "无极");

    //当我们给菜单设置一个按钮的时候,在这个按钮下面设置就一个事件,这样你在点击这个按钮的时候就会触发这个事件,比如说你就可以跳转到你服务器上的页面,这样就可以进行开发了,你也可以在这个按钮下面跳转到控制器,在这个控制器里面获去用户的信息什么的
    String qq= "http://15326b0d65.iok.la/org.zsl.hnust/user/bulidWeiXinInter";
    qq = java.net.URLEncoder.encode(qq, "UTF-8");
    firstLevelMenuContext3.put("url", "http://open.weixin.qq.com/connect/oauth2/authorize?appid=wx68d51b01803f7838&redirect_uri="+qq+"&response_type=code&scope=snsapi_userinfo&state=[state]#wechat_redirect");

    firstLevelMenuArray.add(firstLevelMenuContext3);

    firstLevelMenu.put("button", firstLevelMenuArray);
    return firstLevelMenu.toString();
    }

    最后是调用这个方法

    WeiXinUtil weiXinUtil = new WeiXinUtil();
    //与微信建立链接获取token
    Map<String,Object>map=weiXinUtil.getAccessToken();
    //建造菜单
    //(String)map.get("access_token")获取token
    //组装菜单weiXinUtil.getMenuStr()

    weiXinUtil.createCustomMenu((String)weiXinUtil.getAccessToken().get("access_token"), weiXinUtil.getMenuStr());

  • 相关阅读:
    JSTL日期格式化用法
    JSTL详解1
    Mybatis插入后返回主键
    JSTL详解2
    jsp与jsp之间传参数如何获取
    [转] J2EE面试题集锦(附答案)
    [转] 修炼一名程序员的职业水准(林庆忠原创)
    [转] 应聘Java笔试时可能出现问题及其答案(第三部分)
    [转] 与大家一起分享JAVA源代码查询网站
    [转] 应聘Java笔试时可能出现问题及其答案(第四部分)
  • 原文地址:https://www.cnblogs.com/oushiyang/p/7793311.html
Copyright © 2011-2022 走看看