Giter VIP home page Giter VIP logo

node-weixin-express's Introduction

node-weixin-express NPM version Build Status Dependency Status Coverage percentageBeerpay

功能说明

node-weixin-express是一个基于nodejs为基础,以expressjs作为首选http服务器框架的微信公共账号服务器。 他旨在降低开发微信公共账号时的门槛,节约开发时间。

主要功能与计划

  1. 可以直接通过一个命令运行微信公共账号服务
  2. 基本的微信功能: - 验证服务器 - OAuth 验证API // - 微信支付API - 消息接口API
  3. 可以任意基于express的框架沟通协作(基本完成)
  4. 模块化机制采用Unix开发哲学:KISS
  5. 建立一个可以方便安装数据库,并且将配置信息存放在数据库里的机制(计划中)
  6. 通过express可以无需任何开发就可以自己建设一个功能全面的微信服务器(计划中)

重要子模块

  1. node-weixin-api: 提供所有基础的微信api
  2. node-weixin-router: 提供所有的基于web框架的默认路由与回调机制
  3. node-weixin-session: 提供所有基于用户登录的session数据的存储机制,通过修改get/set/all来实现自定义化
  4. node-weixin-settings: 提供所有基于微信的app.id的数据存储机制,通过修改get/set/all来实现自定义化

问题、反馈与帮助

node-weixin

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 微信菜单相关的操作与命令

  9. node-weixin-user 微信用户API

  10. node-weixin-media 微信多媒体API

  11. node-weixin-link 微信推广(二维码,URL)API

  12. node-weixin-message 微信消息API

安装

$ npm install --g node-weixin-express

说明

安装后在命令行会多出一个命令:

weixin

注意:这里的命令名是weixin,不是node-weixin-express

查看命令

$ weixin --help

运行

$ weixin [--yaml] a.yaml

后面接一个描述性的yaml文件

不需要再写代码,可以直接通过命令执行。

yaml文件格式

### ----必填项---- ###
port: 2048              # 服务器端口号
host: localhost         # 本地的IP或者主机地址
template: ''            # 可以替换的模板的位置,放入自己的模板,格式是nunjunck
weixin:
  # 微信服务器配置
  server:
      host: localhost     # 远程的服务器名, 需要与JSSDK的授权域名一致
      prefix: '/api'      # 格式是'/xxx',必须带'/'
  # 微信公共号的基本配置信息
  app:
      id: 'xxx'           # 必须换成自己的
      secret: 'xxx'       # 必须换成自己的
      token: 'xxx'
  # Oauth 相关
  oauth:
      state: 'state'
      scope: '0'
  ### ----结束---- ###

  # 加密消息
  message:           
      aes: 'sdofsfd'

  # 支付相关,暂时不开放
  # merchant:
  #     id: '133'
  #     key: 'sdfsf'
  # certificate:
  #     pfxKey: 'sdfosofdf'
  #     pfx: 'sodfofosdf'
  #     path: ''

URLs

服务器校验地址

'http://' + 域名 + '/' + 前缀 + '/auth/ack

JSSDK配置请求地址

'http://' + 域名 + '/' + 前缀 + '/jssdk/config

Oauth访问地址

'http://' + 域名 + '/' + 前缀 + '/oauth/access

支付回调地址

'http://' + 域名 + '/' + 前缀 + '/pay/callback

模板说明

目前支持的模板是nunjucks:https://mozilla.github.io/nunjucks/ 可能是目前javascript下最完善的模板。 暂时不支持其它的模板。

特色

  1. 通过一个命令就可以对接好公共帐号的主要功能
  2. 可以自定义模板,方便前端测试开发
  3. 配合ngrok, localtunnel等软件将会更加方便

License

Apache-2.0 © node-weixin

node-weixin-express's People

Contributors

calidion avatar tigerui avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

node-weixin-express's Issues

命令无法运行

Marcs-iMac:WeixinExpress bgd$ weixin weixin_config.yaml

assert.js:89
  throw new assert.AssertionError({
  ^
AssertionError: false == true
  at module.exports (/usr/local/lib/node_modules/node-weixin-express/lib/parser.js:42:3)
  at Object.<anonymous> (/usr/local/lib/node_modules/node-weixin-express/lib/cli.js:43:12)
  at Module._compile (module.js:541:32)
  at Object.Module._extensions..js (module.js:550:10)
  at Module.load (module.js:458:32)
  at tryModuleLoad (module.js:417:12)
  at Function.Module._load (module.js:409:3)
  at Module.runMain (module.js:575:10)
  at run (bootstrap_node.js:352:7)
  at startup (bootstrap_node.js:144:9)
  at bootstrap_node.js:467:3

加上--config也是一样的。

nginx 反向代理错误

直接npm install -g,运行weixin
connect failed (111: Connection refused) while connecting to upsteam
环境:
CentOS 7.2.1511
nginx: 1.6.3
node: v6.3.1
nginx 代理其它应用正常,不知道是不是个例。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.