🎉 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
+40 -4
View File
@@ -7,41 +7,77 @@ async function initializeTokenStore() {
if (process.env.MODE === '1') {
console.log('Current mode is Heroku mode.');
let user = {
// Common
prefix: process.env.PREFIX,
accessToken: process.env.ACCESS_TOKEN,
defaultMethod: process.env.DEFAULT_METHOD,
// WeChat public account
wechatAppId: process.env.WECHAT_APP_ID,
wechatAppSecret: process.env.WECHAT_APP_SECRET,
wechatTemplateId: process.env.WECHAT_TEMPLATE_ID,
wechatOpenId: process.env.WECHAT_OPEN_ID,
wechatVerifyToken: process.env.WECHAT_VERIFY_TOKEN,
prefix: process.env.PREFIX,
// Email
email: process.env.EMAIL,
smtpServer: process.env.SMTP_SERVER,
smtpUser: process.env.SMTP_USER,
smtpPass: process.env.SMTP_PASS,
// WeChat corporation account
corpId: process.env.CORP_ID,
corpAgentId: process.env.CORP_AGENT_ID,
corpAppSecret: process.env.CORP_APP_SECRET,
corpUserId: process.env.CORP_USER_ID,
};
users.push(user);
} else {
users = await User.findAll();
users = await User.findAll({
raw: true,
});
}
users.forEach((user) => {
if (user.wechatAppId) {
if (user.prefix) {
tokenStore.set(user.prefix, {
// Common
accessToken: user.accessToken,
defaultMethod: user.defaultMethod,
// WeChat test account
wechatAppId: user.wechatAppId,
wechatAppSecret: user.wechatAppSecret,
wechatTemplateId: user.wechatTemplateId,
wechatOpenId: user.wechatOpenId,
wechatVerifyToken: user.wechatVerifyToken,
token: '',
wechatToken: '',
// Email
email: user.email,
smtpServer: user.smtpServer,
smtpUser: user.smtpUser,
smtpPass: user.smtpPass,
// WeChat corporation account
corpId: user.corpId,
corpAgentId: user.corpAgentId,
corpAppSecret: user.corpAppSecret,
corpUserId: user.corpUserId,
corpToken: '',
});
}
});
console.log('Token store initialized.');
}
function updateTokenStore(prefix, key, value) {
let user = tokenStore.get(prefix);
user[key] = value;
tokenStore.set(prefix, user);
}
function getUserDefaultMethod(prefix) {
let user = tokenStore.get(prefix);
return user.defaultMethod;
}
module.exports = {
initializeTokenStore,
updateTokenStore,
getUserDefaultMethod,
tokenStore,
};