token.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. const { User } = require('../models');
  2. const tokenStore = new Map();
  3. async function initializeTokenStore() {
  4. let users = [];
  5. if (process.env.MODE === '1') {
  6. console.log('Current mode is Heroku mode.');
  7. let user = {
  8. wechatAppId: process.env.WECHAT_APP_ID,
  9. wechatAppSecret: process.env.WECHAT_APP_SECRET,
  10. wechatTemplateId: process.env.WECHAT_TEMPLATE_ID,
  11. wechatOpenId: process.env.WECHAT_OPEN_ID,
  12. wechatVerifyToken: process.env.WECHAT_VERIFY_TOKEN,
  13. prefix: process.env.PREFIX,
  14. email: process.env.EMAIL,
  15. smtpServer: process.env.SMTP_SERVER,
  16. smtpUser: process.env.SMTP_USER,
  17. smtpPass: process.env.SMTP_PASS,
  18. };
  19. users.push(user);
  20. } else {
  21. users = await User.findAll();
  22. }
  23. users.forEach((user) => {
  24. if (user.wechatAppId) {
  25. tokenStore.set(user.prefix, {
  26. wechatAppId: user.wechatAppId,
  27. wechatAppSecret: user.wechatAppSecret,
  28. wechatTemplateId: user.wechatTemplateId,
  29. wechatOpenId: user.wechatOpenId,
  30. wechatVerifyToken: user.wechatVerifyToken,
  31. token: '',
  32. email: user.email,
  33. smtpServer: user.smtpServer,
  34. smtpUser: user.smtpUser,
  35. smtpPass: user.smtpPass,
  36. });
  37. }
  38. });
  39. console.log('Token store initialized.');
  40. }
  41. module.exports = {
  42. initializeTokenStore,
  43. tokenStore,
  44. };