🎉 front page part is done

This commit is contained in:
Song
2021-03-28 12:23:59 +08:00
parent 4713373c54
commit f815124699
2 changed files with 246 additions and 107 deletions
+31 -3
View File
@@ -2,7 +2,9 @@ const express = require('express');
const router = express.Router();
const { User } = require('../models');
const { tokenStore } = require('../common/token');
const { requestToken } = require('../common/wechat');
const requestWeChatToken = require('../common/wechat').requestToken;
const requestCorpToken = require('../common/wechat-corp').requestToken;
const {
userRequired,
adminRequired,
@@ -117,19 +119,28 @@ router.get('/configure', userRequired, (req, res, next) => {
router.post('/configure', userRequired, async (req, res, next) => {
let id = req.session.user.id;
let user = {
// Common
username: req.body.username,
password: req.body.password,
accessToken: req.body.accessToken,
email: req.body.email,
defaultMethod: req.body.defaultMethod,
prefix: req.body.prefix,
// WeChat public account
wechatAppId: req.body.wechatAppId,
wechatAppSecret: req.body.wechatAppSecret,
wechatTemplateId: req.body.wechatTemplateId,
wechatOpenId: req.body.wechatOpenId,
wechatVerifyToken: req.body.wechatVerifyToken,
// Email
email: req.body.email,
smtpServer: req.body.smtpServer,
smtpUser: req.body.smtpUser,
smtpPass: req.body.smtpPass,
// WeChat corp
corpId: req.body.corpId,
corpAgentId: req.body.corpAgentId,
corpAppSecret: req.body.corpAppSecret,
corpUserId: req.body.corpUserId,
};
for (let field in user) {
let value = user[field];
@@ -150,18 +161,35 @@ router.post('/configure', userRequired, async (req, res, next) => {
if (userObj) {
await userObj.update(user);
}
if (userObj.prefix !== req.session.user.prefix) {
tokenStore.delete(req.session.user.prefix);
}
req.session.user = userObj;
tokenStore.set(userObj.prefix, {
// Common
accessToken: userObj.accessToken,
defaultMethod: userObj.defaultMethod,
// WeChat test account
wechatAppId: userObj.wechatAppId,
wechatAppSecret: userObj.wechatAppSecret,
wechatTemplateId: userObj.wechatTemplateId,
wechatOpenId: userObj.wechatOpenId,
wechatVerifyToken: userObj.wechatVerifyToken,
token: await requestToken(userObj.wechatAppId, userObj.wechatAppSecret),
wechatToken: await requestWeChatToken(
userObj.wechatAppId,
userObj.wechatAppSecret
),
// Email
email: userObj.email,
smtpServer: userObj.smtpServer,
smtpUser: userObj.smtpUser,
smtpPass: userObj.smtpPass,
// WeChat corporation account
corpId: userObj.corpId,
corpAgentId: userObj.corpAgentId,
corpAppSecret: userObj.corpAppSecret,
corpUserId: userObj.corpUserId,
corpToken: await requestCorpToken(userObj.corpId, userObj.corpAppSecret),
});
message = '配置更新成功';
console.debug(tokenStore);