`

Nodejs 微信开发 自定义菜单

阅读更多
var map = require('../router-config').getMapping()
  , wechat = require('wechat')
  , fs = require('fs');

var API = wechat.API
  , appid = 'xxx'
  , secret = 'xxxx';
var api = new API(appid, secret);

var router = express.Router();
  router.use('/', wechat('wechatToken', function(req, res, next) {
    var menu = fs.readFileSync('./node-app/config/wechat-menu.json');
    if(menu) {
      menu = JSON.parse(menu);
    }
    api.createMenu(menu, function(err, result){});

    // 微信输入信息都在req.weixin上
    var message = req.weixin;
    var msgType = message.MsgType;
    if(msgType == 'event'){
      var eventType = message.Event;
      if(eventType) {
        eventType = eventType.toLowerCase();
      }
      if(eventType == 'subscribe') {
          // 新用户关注/订阅事件
          subscribeEvent(res);
      } else if(eventType == 'click') {
        clickEvent(message, res);
      } else {
        notFoundEvent(eventType, res);
      }
    }

 

 

wechat-menu.json

{
  "button": [
    {
      "name": "我的账号",
      "sub_button": [
        {
          "type": "click",
          "name": "我的帐户",
          "key": "V1001_MY_ACCOUNT"
        },
        {
          "type": "click",
          "name": "已投项目",
          "key": "V1002_BID_PROJECTS"
        },
        {
          "type": "click",
          "name": "回款计划",
          "key": "V1003_RETURN_PLAN"
        },
        {
          "type": "click",
          "name": "交易明细",
          "key": "V1004_TRANS_DETAIL"
        },
        {
          "type": "click",
          "name": "注册/绑定",
          "key": "V1005_REGISTER_BIND"
        }
      ]
    },
    {
      "type": "view",
      "name": "马上投资",
      "url": "http://qiaole.sinaapp.com/"
    },
    {
      "name": "送钱活动",
      "sub_button": [
        {
          "type": "view",
          "name": "注册送红包",
          "url": "http://qiaole.sinaapp.com/"
        },
        {
          "type": "click",
          "name": "邀请好友一起赚钱",
          "key": "V1001_GOOD"
        },
        {
          "type": "view",
          "name": "加入我们",
          "url": "http://qiaole.sinaapp.com/"
        },
        {
          "type": "view",
          "name": "APP下载",
          "url": "http://qiaole.sinaapp.com/"
        }
      ]
    }
  ]
}

 

  • 大小: 160.4 KB
分享到:
评论

相关推荐

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

    主要介绍了详解nodejs微信公众号开发——6.自定义菜单,自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能。

    Python-微信公众号自定义菜单编辑器

    微信公众号自定义菜单编辑器,适用于认证订阅号、服务号和测试公众号。使用NwJs NodeJs AngularJs开发成桌面版,可配置、查询、编辑、发布公众号菜单

    使用NodeJs 开发微信公众号(三)微信事件交互实例

    比如说自定义菜单功能,必须通过发送post请求的方式生成。本章就通过关注到取消关注的整个过程来谈一谈nodejs是怎么样与微信交互的。这些功能的入口就是你在测试公众号里面填写的URL(以下用/login/wechat代替)。 ...

    nodejs微信开发之授权登录+获取用户信息

    上一篇:获取access_token+自定义菜单 这部分代码是之前就已经完成了,但是考虑篇幅的问题就和上篇分开了,这部分相较前面的方式较为复杂一点,但是也是很容易理解的。 这里简单介绍一下微信网页授权。 微信网页...

    详解NodeJs开发微信公众号

    本篇文章给大家分享了NodeJs开发微信公众号的相关技术内容,对此有需要的朋友们可以跟着学习参考下。

    微信工作平台API Nodejs版本

    - **自定义菜单**:创建和管理自定义的菜单栏,提供更丰富的用户交互。 - **素材管理**:上传和管理媒体资源,如图片、音频、视频等。 - **客服接口**:实现即时的客服对话功能,提供客户服务支持。 - **用户管理**...

    wemovie:利用nodejs搭建的微信公众号用于展示从网页爬取的电影资讯

    基于nodejs的微信公众号开发,打造一个电影推荐系统。 1.系统介绍 wemovie系统拟爬取飘花电影网的内容,形成图文消息,推送到微信公众号。 2.系统预期功能 新关注自动回复; 被动回复; 推送文字消息; 推送图文消息...

    node微信开发之获取access_token+自定义菜单

    这两天终于把获取access_token+自定义菜单+授权登录+获取用户信息部分完成了,nodejs其实不是很熟悉,所以估计有很多特性没用起来的,还有很多冗余代码以及各种问题,只能说功能实现了,大家多多担待吧。 获取access...

    会议室小程序安装使用手册1

    本手册主要涵盖了如何利用微信小程序开发和部署一款会议室预约管理系统。该系统旨在解决单位或部门在使用会议室时遇到的时间冲突、预约困难等问题,通过微信小程序这一便捷的平台,实现会议室资源的有效管理和优化...

    vue+web端仿微信网页版聊天室功能

    在Web开发中,构建一个类似微信的聊天室功能是一项挑战,但也是提升技能的好机会。本文将深入探讨如何使用Vue.js框架来实现这样一个功能丰富的聊天室。我们将关注Vue的核心组件、状态管理和第三方库的集成。 1. **...

    IONIC 功能全演示

    但是有了基于nodejs的javascript完整开发周期环境,会极大提升开发效率,保障质量。 - nodejs 最新版。 - 有些node包的安装需要c++编译,x86版本只需要 x86的C++编译器,windows上的x64 c++编译器需要特别设置。 - ...

Global site tag (gtag.js) - Google Analytics