1. 在微信公众平台上面开发者文档中的自定义菜单可以查看包括创建、查询、删除、自动推送的接口及注意事项
一级菜单最多三个,二级菜单最多5个,一级菜单最多显示4个汉字,二级菜单最多显示7个汉字
看完之后,我们知道自己要用的就是两个接口,一个是click(点击事件),另一个是view(浏览url事件), json格式如下:
{
"button":[
{
"type":"click",
"name":"今日歌曲",
"key":"V1001_TODAY_MUSIC"
},
{
"name":"菜单",
"sub_button":[
{
"type":"view",
"name":"搜索",
"url":"http://www.soso.com/"
},
{
"type":"view",
"name":"视频",
"url":"http://v.qq.com/"
},
{
"type":"click",
"name":"赞一下我们",
"key":"V1001_GOOD"
}]
}]
}
2. 对菜单结构的封装
对菜单基类的封装,因为不管是一级还是二级,都有name属性,Button:1. String name
对一级菜单的封装,CommonButton :1. String type 2. String key
对二级菜单的封装,ComplexButton : 1. Button[] sub_button
对整体菜单的封装,Menu:1. Button[] button
3. 对access_token的pojo类封装
String token(凭证)
int expiresIn(有效时间)
4. 封装一些通用的请求
createMenu:createMenu int
createMenu:getAccessToken AccessToken
createMenu:httpRequest JSONObject
5. 封装菜单管理器,管理器应该包括所有你想加入的菜单项目
写完了直接执行main函数即可
但是我运行结果是"errcode": 48001, errmsg:api unauthorized hint: [9CkDeA0796vr69!]
是没有自定义菜单的权限,也是,微信要是人人都可以随便写后台,那不乱套了,所以我们为了省下300¥,可以申请个测试号,用这个开发就好了