91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

nodejs中怎么自定義菜單

發布時間:2021-07-21 10:36:41 來源:億速云 閱讀:151 作者:Leah 欄目:web開發

今天就跟大家聊聊有關nodejs中怎么自定義菜單,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

1. 自定義菜單的介紹

自定義菜單能夠幫助公眾號豐富界面,讓用戶更好更快地理解公眾號的功能。關于自定義菜單需要掌握以下幾點內容:

  1. 自定義菜單最多包括3個一級菜單,每個一級菜單最多包含5個二級菜單。

  2. 一級菜單最多4個漢字,二級菜單最多7個漢字,多出來的部分將會以“...”代替。

  3. 創建自定義菜單后,由于微信客戶端緩存,需要24小時微信客戶端才會展現出來。測試時可以嘗試取消關注公眾賬號后再次關注,則可以看到創建后的效果。

更多信息查看官方文檔:自定義菜單創建接口

2. 創建自定義菜單

2.1 首先羅列以下操作的請求地址:

var api = {
  ...
  menu:{
    create:prefix+'/menu/create?', //access_token=ACCESS_TOKEN 創建菜單
    get:prefix+'/menu/get?', //access_token=ACCESS_TOKE 獲取菜單,GET請求
    delete:prefix+'/menu/delete?', //access_token=ACCESS_TOKEN 刪除菜單,GET請求
    getInfo:prefix+'get_current_selfmenu_info?' //access_token=ACCESS_TOKEN 獲取自定義菜單配置接口
  }
}

2.2 定義createMenu函數

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

參數menu由外部業務層傳入。為了方便管理,將自定義菜單的內容單獨寫在一個menu.js文件中:

/*
 * 配置自定義菜單
 */
'use strict'

module.exports = {
  'button':[
  {
    'name':'最新',
    'type':'click',
    'key':'menu_click'
  },
  {
    'name':'類別',
    'sub_button':[
      {
        'name':'科幻',
        'type':'view',
        'url':'music.163.com'
      },
      {
        'name':'懸疑',
        'type':'scancode_push',
        'key':'qr_scan'
      },
      {
        'name':'愛情',
        'type':'scancode_waitmsg',
        '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);
      });
    });
  });
}

看完上述內容,你們對nodejs中怎么自定義菜單有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

庐江县| 丽江市| 哈密市| 天峻县| 南郑县| 柳江县| 芜湖县| 绵阳市| 博客| 安乡县| 镇沅| 福清市| 汝城县| 灵台县| 南投县| 灵石县| 当涂县| 泗洪县| 苏州市| 桦川县| 扎鲁特旗| 西丰县| 贵溪市| 荣成市| 吴江市| 临海市| 衡水市| 临沧市| 登封市| 伊宁县| 揭东县| 永嘉县| 板桥市| 旌德县| 江安县| 宝应县| 蓝山县| 游戏| 讷河市| 沙雅县| 方正县|