返回顶部
首页 > 资讯 > 前端开发 > node.js >详解nodejs微信公众号开发——6.自定义菜单
  • 934
分享到

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

自定义详解公众 2022-06-04 17:06:59 934人浏览 独家记忆
摘要

上一篇文章:nodejs微信公众号开发——5.素材管理接口,我们实现了新增临时素材、管理永久素材的接口,这些接口的实现,使我们能够推送多样的消息给用户。本节介绍的内容是关于自定义菜单 1. 自定义菜单的介

上一篇文章:nodejs微信公众号开发——5.素材管理接口,我们实现了新增临时素材、管理永久素材的接口,这些接口的实现,使我们能够推送多样的消息给用户。本节介绍的内容是关于自定义菜单

1. 自定义菜单的介绍

自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能。关于自定义菜单需要掌握以下几点内容:

自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单。 一级菜单最多4个汉字,二级菜单最多7个汉字,多出来的部分将会以“...”代替。 创建自定义菜单后,由于微信客户端缓存,需要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);
      });
    });
  });
}

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: 详解nodejs微信公众号开发——6.自定义菜单

本文链接: https://lsjlt.com/news/12676.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 详解nodejs微信公众号开发——6.自定义菜单
    上一篇文章:nodejs微信公众号开发——5.素材管理接口,我们实现了新增临时素材、管理永久素材的接口,这些接口的实现,使我们能够推送多样的消息给用户。本节介绍的内容是关于自定义菜单 1. 自定义菜单的介...
    99+
    2022-06-04
    自定义 详解 公众
  • C#微信公众号开发之自定义菜单
    前言: 回顾之前的微信公众号配置和消息处理的内容,我们已经掌握了如何配置服务器与微信公众号建立连接,也掌握了通过消息管理的方式,对用户的信息进行处理,完成公众号消息回复功能,实现公众...
    99+
    2024-04-02
  • 详解nodejs微信公众号开发——1.接入微信公众号
    接入微信公众号是开发的第一步,万事开头难,走好第一步,后面的路就更宽广。 1.公众平台测试帐号的使用 登录微信公众平台,由于很多开发人员并没有认证的的微信公众号,所以比较折中的方式是使用公众平台测试帐号...
    99+
    2022-06-04
    公众 详解 nodejs
  • 如何在微信公众号上使用PHP开发自定义菜单
    如何在微信公众号上使用PHP开发自定义菜单微信公众号是一个非常重要的媒介,很多企业和个人都选择在微信公众号上进行推广和交流。而自定义菜单则是微信公众号中不可或缺的一部分,可以帮助提高用户体验和导航功能。本文将介绍如何使用PHP开发自定义菜单...
    99+
    2023-10-27
    微信公众号 PHP开发 自定义菜单
  • 详解nodejs微信公众号开发——2.自动回复
    上一篇文章:nodejs微信公众号开发(1)接入微信公众号,本篇文章将在此基础上实现简单的回复功能。 1. 接入代码的优化 之前我们简单粗暴的实现了微信公众号的接入,接入的代码直接写在了app.js文件...
    99+
    2022-06-04
    详解 自动回复 公众
  • nodejs微信公众号支付开发
    odeJs 微信公众号功能开发,移动端 H5页面调用微信的支付功能。这几天根据公司的需要使用 node 和 h5页面调用微信的支付功能完成支付需求。现在把开发过程重新捋一遍,以帮助更多的开发者顺利的完成微信...
    99+
    2022-06-04
    公众 nodejs
  • 详解nodejs微信公众号开发——4.自动回复各种消息
    上一篇文章:nodejs微信公众号开发——3.封装消息响应模块,实现了对消息接口的模块化处理,方便后期的使用,本篇文章将介绍微信公众号回复各种消息的功能实现,包括文本、图片、语音、视频、音乐、图文等。 注...
    99+
    2022-06-04
    详解 自动回复 公众
  • 详解nodejs微信公众号开发——5.素材管理接口
    上一篇文章:nodejs微信公众号开发——4.自动回复各种消息,我们实现了被动回复文字和图文,回复图片失败,因为需要先获取通过素材管理接口上传多媒体文件而得到的MediaId,这一节们就来实现素材管理的接口...
    99+
    2022-06-04
    详解 素材 公众
  • nodejs中怎么实现微信公众号开发
    今天就跟大家聊聊有关nodejs中怎么实现微信公众号开发,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.公众平台测试帐号的使用登录微信公众平台,由...
    99+
    2024-04-02
  • 详解nodejs微信公众号开发——3.封装消息响应模块
    上一篇文章:nodejs微信公众号开发(2)自动回复,实现了简单的关注回复。采用拼接字符串的形式,并不是很方便,这里我们将其封装承接口。 1. ejs模板引擎 不使用拼接字符串的方式,那么模板引擎就是较...
    99+
    2022-06-04
    详解 模块 公众
  • 怎么使用API创建公众号自定义菜单
    这篇文章主要介绍“怎么使用API创建公众号自定义菜单”,在日常操作中,相信很多人在怎么使用API创建公众号自定义菜单问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用API创建公众号自定义菜单”的疑惑有所...
    99+
    2023-06-04
  • 微信公众平台开发中使用Java如何实现创建一个自定义菜单
    微信公众平台开发中使用Java如何实现创建一个自定义菜单?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。自定义菜单这个功能在我们普通的编辑模式下是可以直接在后台编辑的,但是一旦我...
    99+
    2023-05-31
    java 自定义菜单
  • 使用NodeJs 开发微信公众号(三)微信事件交互实例
    微信公众号有个规则,一旦开启了开发者模式,其他的常规功能就都必须通过接口调用完成。比如说自定义菜单功能,必须通过发送post请求的方式生成。本章就通过关注到取消关注的整个过程来谈一谈nodejs是怎么样与微...
    99+
    2022-06-04
    实例 公众 事件
  • PHP微信开发:如何实现自定义菜单
    随着微信公众号的迅速发展,越来越多的企业开始使用微信公众号进行市场推广和用户服务。而在微信公众号的开发中,自定义菜单是非常重要的一个功能。本文将介绍PHP微信开发中如何实现自定义菜单。一、前置条件在开始之前,需要准备好以下几件事情:1、微信...
    99+
    2023-05-14
    PHP 微信开发 自定义菜单
  • 使用Nodejs开发微信公众号后台服务实例
    摘要: 微信,庞大的用户基数,极强的用户粘性,在近两年吸引了无数的开发者注意力。 Nodejs,近两年发展非常快的开发工具,尤其适合构建移动后台。本文就以笔者自己开发的实例,来描述如何基于Nodejs开发属...
    99+
    2022-06-04
    后台 实例 公众
  • nodejs微信公众号开发之如何实现自动回复各种消息
    这篇文章主要介绍了nodejs微信公众号开发之如何实现自动回复各种消息,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 被动回复用户消息当...
    99+
    2024-04-02
  • 如何自定义菜单能够帮助公众号丰富界面
    本篇内容介绍了“如何自定义菜单能够帮助公众号丰富界面”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!&nbs...
    99+
    2024-04-02
  • PHP开发微信公众号:如何实现自动回复
    PHP开发微信公众号:如何实现自动回复微信公众号是企业或个人通过微信平台向用户提供服务、传播信息的重要渠道之一。自动回复是微信公众号功能中的关键点之一,它可以帮助企业快速响应用户的咨询、指引用户进行相关操作,提高用户的满意度和体验。本文将介...
    99+
    2023-10-27
    PHP编程 微信公众号开发 自动回复 PHP开发微信公众号:
  • Python开发之快速搭建自动回复微信公众号功能
    在之前的一篇文章 Python利用 AIML 和 Tornado 搭建聊天机器人微信订阅号 中用 aiml 实现了一个简单的英文聊天机器人订阅号。但是只能处理英文消息,现在用 图灵机器人 来实现一个中文的聊...
    99+
    2022-06-04
    自动回复 公众 快速
  • 如何解决微信公众号开发无法支付的问题
    小编给大家分享一下如何解决微信公众号开发无法支付的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前提:由于涉及公司业务,部分...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作