koa2-wechat2
v0.0.3
Published
koa2 middleware for wechat
Downloads
12
Maintainers
Readme
koa2-wechat2
Badges
Optional badges such as npm version, test and build coverage, and so on.
Summary
Koa2Wechat2 use koa2 middleware async function for wechat
Overview
koa2Wechat2 provide two method getWechat() for wechatApi , and weReply() for wechat auto Reply logic
Installation
$ npm install koa2-wechat2 --save
Basic use
if we only want to get wechat auto reply, then
import Koa from 'koa'
import {weReply} from 'koa2-wechat2'
const app = new Koa()
//opts see below
app.use(weReply(opts))
API
the following methods both have a opts parameter
let opts {
appID:'xx',
appSecret:'xx',
token:'eid'
}
weReply(opts, handler)
: if handler undefined then use default reply handler, you can provide your own reply logic, example below, more details reply.js:
let handler = async (ctx, next) => {
//ctx.wexin is wechat server post content to your node server
let message = ctx.weixin
let reply
if (message.MsgType === 'event') {
if (message.Event === 'subscribe') {
if (message.EventKey) {
console.log(`qrcode: ${message.EventKey} ${message.ticket}` )
}
reply ='haha , you subscribed\n'
} else if (message.Event === 'unsubscribe') {
console.log('unsubscribe')
reply = 'unsubscribe'
}
} else if (message.MsgType === 'voice') {
let voiceText = message.Recognition
reply = `you says: ${voiceText}`
} else if (message.MsgType === 'text') {
// this handle your input text logic
} else {
reply = 'empty msg'
}
ctx.body = reply
await next()
}
getWechat(opts)
: returned wechatApi with promisify method, ex:
import {getWechat} from 'koa2-wechat2'
//opts above: appId, Secret, token
let wechatApi = getWechat(opts)
Tests
npm test
License
MIT