UNPKG

koa2-weixin

Version:
144 lines (131 loc) 3.15 kB
Koa2-weixin [![NPM version](https://badge.fury.io/js/koa2-weixin.png)](http://badge.fury.io/js/koa2-weixin) [![Build Status](https://travis-ci.org/mindspop/koa2-weixin.png?branch=master)](https://travis-ci.org/mindspop/koa2-weixin) ====== 微信公众平台消息接口服务中间件与API SDK ## 功能列表 - 自动回复(文本、图片、语音、视频、音乐、图文) ## Installation ```sh $ npm install koa2-weixin ``` ## Use with koa ```js const wechat = require('koa2-weixin') app.use(wechat('some token')) app.use(async (ctx, next) => { // 微信输入信息都在ctx.weixin上 const message = ctx.weixin if (message.FromUserName === 'diaosi') { // 回复屌丝(普通回复) ctx.body = 'hehe' } else if (message.FromUserName === 'text') { //你也可以这样回复text类型的信息 ctx.body = { content: 'text object', type: 'text', } } else if (message.FromUserName === 'hehe') { // 回复一段音乐 ctx.body = { type: 'music', content: { title: '来段音乐吧', description: '一无所有', musicUrl: 'http://mp3.com/xx.mp3', hqMusicUrl: 'http://mp3.com/xx.mp3', } } } else if (message.FromUserName === 'kf') { // 转发到客服接口 ctx.body = { type: 'customerService', kfAccount: 'test1@test', } } else { // 回复高富帅(图文回复) ctx.body = [ { title: '你来我家接我吧', description: '这是女神与高富帅之间的对话', picurl: 'http://nodeapi.cloudfoundry.com/qrcode.jpg', url: 'http://nodeapi.cloudfoundry.com/', } ] } }) ``` 备注:token在微信平台的开发者中心申请 ### 回复消息 当用户发送消息到微信公众账号,自动回复一条消息。这条消息可以是文本、图片、语音、视频、音乐、图文。详见:[官方文档](http://mp.weixin.qq.com/wiki/index.php?title=发送被动响应消息) #### 回复文本 ```js ctx.body = 'Hello world!' // 或者 ctx.body = {type: 'text', content: 'Hello world!'} ``` #### 回复图片 ```js ctx.body = { type: 'image', content: { mediaId: 'mediaId', }, } ``` #### 回复语音 ```js ctx.body = { type: 'voice', content: { mediaId: 'mediaId', }, } ``` #### 回复视频 ```js ctx.body = { type: 'video', content: { mediaId: 'mediaId', thumbMediaId: 'thumbMediaId', }, } ``` #### 回复音乐 ```js ctx.body = { type: 'music', content: { title: '来段音乐吧', description: '一无所有', musicUrl: 'http://mp3.com/xx.mp3', hqMusicUrl: 'http://mp3.com/xx.mp3', }, } ``` #### 回复图文 ```js ctx.body = { type: 'news', content: [ { title: '你来我家接我吧', description: '这是女神与高富帅之间的对话', picurl: 'http://nodeapi.cloudfoundry.com/qrcode.jpg', url: 'http://nodeapi.cloudfoundry.com/', } ], } ``` #### 回复空串 ```js ctx.body = '' ``` #### 转发到客服接口 ```js ctx.body = { type: 'customerService', kfAccount: 'test1@test', //可选 } ``` ## License The MIT license.