🎉 wechat corp message supported

This commit is contained in:
Song
2021-03-28 11:15:57 +08:00
parent 7478128b6b
commit 4713373c54
10 changed files with 184 additions and 29 deletions
+18 -11
View File
@@ -1,30 +1,37 @@
const { getUserDefaultMethod } = require('./token');
const { pushWeChatMessage } = require('./wechat');
const { pushWeChatCorpMessage } = require('./wechat-corp');
const { pushEmailMessage } = require('./email');
const { Message } = require('../models');
async function processMessage(userPrefix, message) {
if (message.email) {
// If message has the attribute "email", override its type.
message.type = '1';
message.type = 'email';
}
if (message.content && message.type === '0') {
message = await Message.create(message);
if (!message.type) {
message.type = getUserDefaultMethod(userPrefix);
}
let result = {
success: false,
message: `unsupported message type ${message.type}`,
};
if (message.content && message.type !== 'email') {
// If message is not email type, we should save it because we have to serve the page.
message = await Message.create(message, { raw: true });
}
let result;
switch (message.type) {
case '0': // WeChat message
case 'test': // WeChat message
result = await pushWeChatMessage(userPrefix, message);
break;
case '1': // Email message
case 'email': // Email message
result = await pushEmailMessage(userPrefix, message);
break;
case '2': // HTTP GET request
// TODO: HTTP GET request
case 'corp': // WeChar corp message
result = await pushWeChatCorpMessage(userPrefix, message);
break;
default:
result = {
success: false,
message: `unsupported message type ${message.type}`,
};
break;
}
return result;