返回
创造无穷,公众号开发之旅(三):菜单处理
闲谈
2023-10-30 06:12:51
前言
在之前的文章中,我们介绍了如何接入微信公众号并处理消息。在本文中,我们将介绍如何使用微信公众号开发工具包来管理公众号菜单。我们将介绍如何创建菜单、查询菜单和删除菜单。我们将使用Node.js作为编程语言,但您也可以使用其他语言。
微信公众号菜单管理
微信公众号菜单是公众号中的一项重要功能,它可以帮助用户快速找到他们想要的内容。公众号菜单可以分为两级,一级菜单最多可以有3个,二级菜单最多可以有5个。
创建公众号菜单
要创建公众号菜单,我们需要先获取access_token。access_token是微信公众号开发的凭证,它需要定期刷新。我们可以使用以下代码获取access_token:
const request = require('request');
const fs = require('fs');
const appid = 'YOUR_APPID';
const appsecret = 'YOUR_APPSECRET';
const url = `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${appid}&secret=${appsecret}`;
request.get(url, (err, res, body) => {
if (err) {
return console.log(err);
}
const result = JSON.parse(body);
const access_token = result.access_token;
// 将access_token保存到文件中
fs.writeFile('access_token.txt', access_token, (err) => {
if (err) {
return console.log(err);
}
console.log('access_token保存成功');
});
});
获取到access_token后,我们就可以创建公众号菜单了。我们可以使用以下代码创建公众号菜单:
const request = require('request');
const fs = require('fs');
const appid = 'YOUR_APPID';
const appsecret = 'YOUR_APPSECRET';
const url = `https://api.weixin.qq.com/cgi-bin/menu/create?access_token=${access_token}`;
const menu = {
"button": [
{
"type": "click",
"name": "今日歌曲",
"key": "V1001_TODAY_MUSIC"
},
{
"type": "view",
"name": "歌手简介",
"url": "https://y.qq.com/n/yqq/singer/0025NhlN2yWrP4.html"
},
{
"name": "菜单",
"sub_button": [
{
"type": "scancode_waitmsg",
"name": "扫码带提示",
"key": "rselfmenu_0_0",
"sub_button": []
},
{
"type": "scancode_push",
"name": "扫码推事件",
"key": "rselfmenu_0_1",
"sub_button": []
},
{
"type": "pic_sysphoto",
"name": "系统拍照发图",
"key": "rselfmenu_1_0",
"sub_button": []
},
{
"type": "pic_photo_or_album",
"name": "拍照或者相册发图",
"key": "rselfmenu_1_1",
"sub_button": []
},
{
"type": "pic_weixin",
"name": "微信相册发图",
"key": "rselfmenu_1_2",
"sub_button": []
}
]
}
]
};
request.post({
url: url,
body: menu,
json: true
}, (err, res, body) => {
if (err) {
return console.log(err);
}
console.log(body);
});
创建公众号菜单后,我们可以使用以下代码查询公众号菜单:
const request = require('request');
const fs = require('fs');
const appid = 'YOUR_APPID';
const appsecret = 'YOUR_APPSECRET';
const url = `https://api.weixin.qq.com/cgi-bin/menu/get?access_token=${access_token}`;
request.get(url, (err, res, body) => {
if (err) {
return console.log(err);
}
console.log(body);
});
删除公众号菜单后,我们可以使用以下代码删除公众号菜单:
const request = require('request');
const fs = require('fs');
const appid = 'YOUR_APPID';
const appsecret = 'YOUR_APPSECRET';
const url = `https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=${access_token}`;
request.get(url, (err, res, body) => {
if (err) {
return console.log(err);
}
console.log(body);
});
结语
在本文中,我们介绍了如何使用微信公众号开发工具包来管理公众号菜单。我们介绍了如何创建菜单、查询菜单和删除菜单。我们使用了Node.js作为编程语言,但您也可以使用其他语言。