1、介绍微信菜单的格式:
1 { 2 "button":[ 3 { 4 "type":"click", 5 "name":"今日歌曲", 6 "key":"V1001_TODAY_MUSIC" 7 }, 8 { 9 "name":"菜单", 10 "sub_button":[ 11 { 12 "type":"view", 13 "name":"搜索", 14 "url":"http://www.soso.com/" 15 }, 16 { 17 "type":"view", 18 "name":"视频", 19 "url":"http://v.qq.com/" 20 }, 21 { 22 "type":"click", 23 "name":"赞一下我们", 24 "key":"V1001_GOOD" 25 }] 26 }] 27 }
2、1> 保存或更新菜单信息到数据库
2>将菜单信息发送微信服务器
i.获取微信appid和secret(可以从数据库中获取,也可以直接写入固定的appid和appsecret)
ii.获取access token (由于access_token的获取次数时间且拥有有效时间,故将其保存数据库中,并且保存其过期时间(当前时间毫秒数+720000))
所以首先从数据库中获取access_token 并判断是否过期,如果过期重新从微信服务器上获取,获取方法如下:
WeixinUtil.getAccessToken(interfaceInfos[0].getWx_appid(), interfaceInfos[0].getWx_secret());
获取之后重新保存或更新数据库中acess_token以及过期时间的信息
iii.删除QQ服务器的菜单
WeixinUtil.delMenuInfoFromQQ(weixin_access_token);
iv.创建QQ服务器的菜单(一般在创建之前最好删除一次菜单信息)
WeixinUtil.createMenuInfo2QQ(weixin_access_token, menuinfo);
具体实现细节见微信工具类中