@jinyexin/wechat
Version:
A simple wechat server lib
75 lines (51 loc) • 2.21 kB
Markdown
# wechat
A simple wechat server lib
[source code](https://gitlab.com/jinyexin/wechat)
## Prerequisites:
* npm i -g typescript
* you need set "proxy_set_header X-Real-IP $remote_addr;" in your nginx config, so unifiedorder will have correct ip
## changelog
See [CHANGELOG](https://gitlab.com/jinyexin/wechat/blob/master/CHANGELOG.md)
## about node-gyp
see https://github.com/nodejs/node-gyp#installation, if you have trouble with wechat server xml2json support
## exposed api
{POST} /transfer
{POST} /pay
{POST} /unifiedorder
{POST} /templateMessage
{POST} /paySign
{GET} /signature
{GET} /auth //scope=snsapi_base can only get openid
{GET} /auth_userinfo //scope=snsapi_userinfo can send second request to get user info
{GET} /authAndRegister
{POST} / //get message from wechat
{GET} / //checkSignature from wechat
## example config
//wechat config
config.wechat = {};
config.wechat.token = "enixjin";
config.wechat.tokenTimeout = (90 * 60) * 1000;//refresh token every 90 mins
config.wechat.appID = "123456789";
config.wechat.appsecret = "123456789";
config.wechat.mch_id = "10000100";
config.wechat.key = "123456789";
config.wechat.notify_url = "http://wechat.yoursite.com/pay";
//domain config for register
config.domainServer = "domain.yoursite.com";
config.domainPort = 9802;
config.domainWechatLoginUrl = "/loginWechat";
config.domainOrderAPI = "/api/purchaseOrders/order";
## example code
create you own handle or use default handle
//default handler
export class defaultHandler extends abstractHandler {
handleTextMessage(message: textMessage, response: textMessage): textMessage {
response.Content = `欢迎互动`;
return response;
}
handleEventSubscribeMessage(message: eventMessage, response: textMessage): textMessage {
response.Content = `欢迎加入`;
return response;
}
...
}