node-weixin 菜单接口
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
test
.editorconfig
.gitattributes
.gitignore
.travis.yml
LICENSE
README.md
gulpfile.js
package.json

README.md

node-weixin-menu NPM version Build Status Dependency Status Coverage percentage

Menu apis for weixin

微信菜单API和命令行工具

微信菜单API是(node-weixin-api 或者 node-weixin-express)的一个子项目。 它提供:

  1. 菜单API共计4个(create, get, customize, remove)
  2. 命令行工具(wxmenu)

开发与交流论坛

http://forum.node-weixin.com/

注:

node-weixin-express是基于node-weixin-*的服务器端参考实现。

node-weixin-api是基于node-weixin-*的API接口SDK。

它们都是由下列子项目组合而成:

  1. node-weixin-config 用于微信配置信息的校验

  2. node-weixin-auth 用于与微信服务器握手检验

  3. node-weixin-util 一些常用的微信请求,加密,解密,检验的功能与处理

  4. node-weixin-request 微信的各类服务的HTTP请求的抽象集合

  5. node-weixin-oauth 微信OAuth相关的操作

  6. node-weixin-pay 微信支付的服务器接口

  7. node-weixin-jssdk 微信JSSDK相关的服务器接口

  8. node-weixin-menu 微信菜单相关的操作与命令

安装

$ npm install --save node-weixin-menu

使用方法

在node代码中使用

var nodeWeixinMenu = require('node-weixin-menu');

var app = {
  id: process.env.APP_ID,
  secret: process.env.APP_SECRET,
  token: process.env.APP_TOKEN
};

var auth = require("node-weixin-auth");
var config = require("node-weixin-config");
config.app.init(app);


  var menu = {
      "button": [
        {
          "type": "view",
          "name": "我要下单",
          "url": "http://www.soso.com/"
        },
        {
          "name": "菜单",
          "sub_button": [
            {
              "type": "view",
              "name": "搜索",
              "url": "http://www.soso.com/"
            },
            {
              "type": "view",
              "name": "视频",
              "url": "http://v.qq.com/"
            },
            {
              "type": "click",
              "name": "赞一下我们",
              "key": "V1001_GOOD"
            }
          ]
        }
      ]
    };

创建菜单

nodeWeixinMenu.create(app, menu, function (error, data) {
  //error === true
  //data.errcode === 0
  //data.errmsg === 'ok'
});

获取菜单

nodeWeixinMenu.get(app, function (error, data) {
  //error === true
  //typeof data.menu
  //typeof data.menu.button
});

定制菜单信息

nodeWeixinMenu.customize(app, function (error, data) {
  //error === true
  //data.is_menu_open === 1
  //data.selfmenu_info
  //data.selfmenu_info.button
});

删除菜单

nodeWeixinMenu.remove(app, function (error, data) {
  //error === true
  //data.errcode
  //data.errmsg
});

在node命令行里使用

$ npm install --global node-weixin-menu

$ wxmenu --help

$#获取菜单
$ wxmenu get --id WX_ID --secret WX_SECRET --token WX_TOKEN    
$#获取自定义菜单
$ wxmenu customize --id WX_ID --secret WX_SECRET --token WX_TOKEN
$#删除菜单
$ wxmenu remove --id WX_ID --secret WX_SECRET --token WX_TOKEN
$#创建菜单
$ wxmenu create --id WX_ID --secret WX_SECRET --token WX_TOKEN --menu menu.json

注:使用时需要将WX_ID, WX_SECRET, WX_TOKEN,替换成你自己的真实参数

License

Apache-2.0 © calidion