1 Star 0 Fork 29

WooApp / wx-connect

forked from 胖纸夏天 / wx-connect 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

wx-connect

基于Nodejsconnect实现的微信公众平台接口开发框架,可用于快速构建微信公众平台接口应用。

var wxConnect = require('wx-connect');
var app = wxConnect({appToken: ''})

app.text(function(req, res) {
  res.text('您好,欢迎使用微信公众平台!')
});

app.listen(80);

安装

$ npm install wx-connect

功能特性

  • 支持微信消息安全验证
  • 支持处理用户发送的文本消息
  • 支持处理用户发送的地理位置、自定义菜单点击、关注及取消关注事件
  • 支持回复文本、图文、语音、视频、音乐消息
  • 对消息和事件的处理采用中间件方式,结构清晰,扩展灵活
  • 代码简单,使用者只需关注业务逻辑,一切皆为JS
  • 充分利用NodeJS异步及事件特性,性能高效

快速开始

安装后在项目目录下新建 app.js 文件:

加载依赖

var wxConnect = require('wx-connect');

配置信息

其中appToken需和微信开发者模式中设置的token保持一致,其余2个参数是微信获取accsess_token时用,可忽略

var config = {
  appID: 'wxd59a79ed8e3fab89',
  appSecret: '',
  appToken: 'WXConnect'
};

实例化应用

var app = wxConnect(config);

###文本消息处理

app.text 定义接受用户在微信端输入的文本消息处理

app.text = function(req, res, next) {
  res.text('您输入的内容:' + req.message.content); // 返回用户其输入的内容
};

function(req, res, next) {}connectexpress框架中叫做中间件,是一个带3个参数的回调函数

reqres源自http.createServer(function(res, req){})里的reqreswx-connect对其进行了简单的扩展

req里面包含了用户的请求信息,res.message包含了用户从微信端发送的消息或事件内容

res用于向用户返回响应,res.reply()方法用于返回格式化的消息给微信端用户,res.text()res.news()方法用于向用户回复文本和图文消息,res.debug()用于打印调试信息,当不知道用户端发送的消息内容时使用

req.message包含的消息内容如下:

req.message = {
	fromUserName: 'xxoo', // 发送消息的用户微信OpenID
	toUserName: 'xxoo', // 接受消息的公众号OpenID
	msgType: 'text', // 消息类型 text:文本,event:事件
	content: 'abc', // 文本消息内容
	event: 'click', // 事件类型 click:自定义菜单点击,LOCATION:地理位置上报,subscribe:关注,unsubscribe:取消关注
	eventKey: 'USER_KEY' // 自定义菜单点击事件KEY
}

res.news([..])图文消息参数格式:

res.news([{title: '标题', description: '描述', picUrl: '图片URL', url: '跳转链接'}...])

可参照微信公众平台开发者文档中的回复消息格式,不同之处是键名第一个字母改为小写

地理位置上报事件处理

app.location  function(req, res, next) {}

定义菜单点击事件处理

app.menu  function(req, res, next) {}

用户关注事件处理

app.subscribe  function(req, res, next) {}

用户取消关注事件处理

app.unsubscribe  function(req, res, next) {}

启动应用

// 启动server
app.listen(80, function() {
  console.log('Server is running on 80'); // 注意:微信公众号接口只支持80端口
});

演示案例

WXWeather 使用 wx-connect 开发微信公众平台接口,实现了一个天气查询功能的微信公众号。

相关文档

微信公众平台测试号申请

微信为没有申请公众号又想体验公众平台接口开发的同学提供了测试号申请,直接体验和测试公众平台所有高级接口。

申请地址:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

Test

$ npm test

联系

有任何疑问可以加入QQ群讨论,群号:184191092

License

MIT

(The MIT License) Copyright (c) 2002-2015 xiatian <tianxia@tencent.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

wx-connect是基于Nodejs及connect实现的微信公众平台接口开发框架,可用于快速构建微信公众平台接口应用。 展开 收起
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/wooapp/wx-connect.git
git@gitee.com:wooapp/wx-connect.git
wooapp
wx-connect
wx-connect
master

搜索帮助