详解nodejs微信公众号开发——6.自定义菜单

2020-06-17 07:18:41易采站长站整理

'key':'qr_scan_wait'
},
{
'name':'教育',
'type':'pic_photo_or_album',
'key':'pic_photo_album'
}
] },
{
'name':'地域',
'sub_button':[
{
'name':'大陆',
'type':'pic_weixin',
'key':'pic_weixin'
},
{
'name':'欧美',
'type':'location_select',
'key':'location_select'
}
] }]}

里面的类型暂时随意写的。我们在业务层weixin.js里面实现自定义菜单的使用:


wechatApi.deleteMenu().then(function(){
return wechatApi.createMenu(menu);
}).then(function(msg){
console.log(msg);
});

保险起见先把原有的菜单删了,重新建立自己新的菜单。

2.3 定义deleteMenu函数


Wechat.prototype.deleteMenu = function(){
var that = this;
return new Promise(function(resolve,reject){
that.fetchAccessToken().then(function(data){
var url = api.menu.delete + 'access_token=' + data.access_token;
request({url:url,json:true}).then(function(response){
var _data = response.body;
if(_data.errcode === '0'){
resolve();
}else{
throw new Error('delete menu failed!');
}
}).catch(function(err){
reject(err);
});
});
});
}

测试了一下,取关重新关注后微信测试号并没有立即呈现自定义菜单,要等一段时间,略坑。