博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信公众号开发(三)
阅读量:6229 次
发布时间:2019-06-21

本文共 2841 字,大约阅读时间需要 9 分钟。

自定义菜单开发

根据微信自定义菜单文档,创建、删除自定义菜单只要向微信post一个请求就可以了

创建自定义菜单

请求的url:

请求参数(json格式):

{ "button":[ {          "type":"click",      "name":"今日歌曲",      "key":"feng_01"  },  {       "name":"菜单",       "sub_button":[       {               "type":"view",           "name":"搜索",           "url":"http://www.baidu.com/"        },        {           "type":"view",           "name":"视频",           "url":"http://v.qq.com/"        },        {           "type":"click",           "name":"赞一下我",           "key":"feng_02"        }]   }]}

这串json我是放在一个txt文件里,直接读取的。

发起请求:

public static void createWxMenu() {    try {        File file = new File("C:/Users/feng/Desktop/1.txt");        if (file.isFile() && file.exists()) {            FileInputStream in = new FileInputStream(file);             //微信只接受UTF-8的格式            BufferedReader br = new BufferedReader(new InputStreamReader(in, "UTF-8"));            StringBuffer sb = new StringBuffer();            String lineTxt = null;            while ((lineTxt = br.readLine()) != null) {                sb.append(lineTxt);             }            in.close();            br.close();                        NetUtil.httpPost(action, sb.toString());        } else {            System.out.println("找不到指定的文件");        }    } catch (Exception e) {        System.out.println("读取文件内容出错");        e.printStackTrace();    }}

http方法

public static String httpPost(String reqUrl, String reqData){    HttpURLConnection conn = null;    OutputStream os = null;        try {        conn = (HttpURLConnection) new URL(reqUrl).openConnection();        conn.setRequestMethod("POST");        conn.setDoInput(true);        conn.setDoOutput(true);        conn.setReadTimeout(15*1000);        conn.setConnectTimeout(5*1000);        conn.setRequestProperty("accept", "*/*");        conn.setRequestProperty("connection", "Keep-Alive");        conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");                os = conn.getOutputStream();        os.write(reqData.getBytes("UTF-8"));        System.out.println("req:"+reqData);                int responseCode = conn.getResponseCode();        if(responseCode == HttpURLConnection.HTTP_OK){            String resptxt = toString(conn.getInputStream());            System.out.println(resptxt);            return resptxt;        }else{            System.out.println("连接失败");        }    }catch(Exception e){        System.out.println("连接异常:"+e.getMessage());        e.printStackTrace();    }finally{        if (os != null)            try {                os.close();            } catch (Exception e) {            }        if (conn != null)            conn.disconnect();    }    return null;}

调用结果:

954438-20161101155104377-198976846.png

查看微信, 没有问题

954438-20161101155229799-1031223780.png

而菜单的详细设置请查看微信的文档,更改json就可以了,还有注意的一点就是这里的创建是以替换的形式执行的,它会把之前的菜单都去掉后再创建。

删除自定义菜单

请求url:

http请求方式:GET

直接发起请求就可以了

转载于:https://www.cnblogs.com/andyfengzp/p/6019718.html

你可能感兴趣的文章
Xcode6.0+创建一个empty application步骤:
查看>>
As3截图转换为ByteArray传送给后台node的一种方法
查看>>
关于web优化(一)
查看>>
C# 判断路径是否存在
查看>>
GIT 常见的使用指令
查看>>
ORACLE字符串函数
查看>>
Hibernate基础知识介绍
查看>>
nuttx学习-0:模拟安装
查看>>
写出3个使用this的典型应用
查看>>
Triangles
查看>>
BZOJ 1064 假面舞会
查看>>
mysql 优化
查看>>
java之collection总结
查看>>
提升控件绘制速度
查看>>
封装自用的脚本ajax.js
查看>>
SQL左、右、内、全连接
查看>>
Ehcache 整合Spring 使用页面、对象缓存
查看>>
哈哈哈哈哈哈哈
查看>>
wordpress学习四: 一个简单的自定义主题
查看>>
04文件操作1
查看>>