@jinyexin/wechat
v3.2.6
Published
A simple wechat server lib
Downloads
49
Readme
A simple wechat server lib
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
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;
}
...
}