🐛 bug fix

This commit is contained in:
Song
2021-01-17 17:39:16 +08:00
parent d36680aea1
commit 3d70a3cb90
4 changed files with 56 additions and 13 deletions
+13 -7
View File
@@ -36,7 +36,7 @@ async function pushWeChatMessage(userPrefix, message) {
if (!user) { if (!user) {
return { return {
success: false, success: false,
message: `tokenStore 中不存在前缀${userPrefix}`, message: `不存在前缀${userPrefix},请注意大小写`,
}; };
} }
let access_token = user.token; let access_token = user.token;
@@ -51,15 +51,21 @@ async function pushWeChatMessage(userPrefix, message) {
let requestUrl = `https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=${access_token}`; let requestUrl = `https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=${access_token}`;
try { try {
let response = await axios.post(requestUrl, request_data); let response = await axios.post(requestUrl, request_data);
if (response && response.data && response.data.errcode === '40001') { if (response && response.data && response.data.errcode !== 0) {
await requestToken(user.wechatAppId, user.wechatAppSecret); await requestToken(user.wechatAppId, user.wechatAppSecret);
await axios.post(requestUrl, request_data); await axios.post(requestUrl, request_data);
} }
console.log(response.data); if (response.data.errcode === 0) {
return { return {
success: true, success: true,
message: '', message: 'ok',
}; };
} else {
return {
success: false,
message: response.data.errmsg,
};
}
} catch (e) { } catch (e) {
console.error(e); console.error(e);
return { return {
+22 -5
View File
@@ -11,8 +11,13 @@ const {
const config = require('../config'); const config = require('../config');
router.get('/', (req, res, next) => { router.get('/', (req, res, next) => {
let showGuidance = false;
if (req.session.user && !req.session.user.wechatAppId) {
showGuidance = true;
}
res.render('index', { res.render('index', {
message: req.flash('message'), message: req.flash('message'),
showGuidance,
}); });
}); });
@@ -67,15 +72,26 @@ router.post('/register', allowRegister, async (req, res, next) => {
username: req.body.username, username: req.body.username,
password: req.body.password, password: req.body.password,
}; };
let message = '';
try { try {
user = await User.create(user); user = await User.create(user);
message = '用户创建成功,请登录';
req.flash('message', message);
return res.redirect('/login');
} catch (e) { } catch (e) {
console.error(e); console.error(e);
message = '用户名已被占用';
} }
res.render('register', { message, isErrorMessage: true });
}); });
router.get('/configure', userRequired, (req, res, next) => { router.get('/configure', userRequired, (req, res, next) => {
let showPasswordWarning = false;
if (req.session.user && req.session.user.password === '123456') {
showPasswordWarning = true;
}
res.locals.message = req.flash('message'); res.locals.message = req.flash('message');
res.locals.showPasswordWarning = true;
res.render('configure', req.session.user); res.render('configure', req.session.user);
}); });
@@ -114,14 +130,15 @@ router.post('/configure', userRequired, async (req, res, next) => {
} }
req.session.user = userObj; req.session.user = userObj;
tokenStore.set(userObj.prefix, { tokenStore.set(userObj.prefix, {
appId: userObj.wechatAppId, wechatAppId: userObj.wechatAppId,
appSecret: userObj.wechatAppSecret, wechatAppSecret: userObj.wechatAppSecret,
templateId: userObj.wechatTemplateId, wechatTemplateId: userObj.wechatTemplateId,
openId: userObj.wechatOpenId, wechatOpenId: userObj.wechatOpenId,
wechatVerifyToken: userObj.wechatVerifyToken, wechatVerifyToken: userObj.wechatVerifyToken,
token: requestToken(userObj.wechatAppId, userObj.wechatAppSecret), token: await requestToken(userObj.wechatAppId, userObj.wechatAppSecret),
}); });
message = '配置更新成功'; message = '配置更新成功';
console.debug(tokenStore);
} catch (e) { } catch (e) {
console.error(e); console.error(e);
message = e.message; message = e.message;
+11 -1
View File
@@ -4,6 +4,16 @@
<div> <div>
<h2 class="title">配置页面</h2> <h2 class="title">配置页面</h2>
<%- include('./partials/message') %> <%- include('./partials/message') %>
<% if(showPasswordWarning) { %>
<article class="message is-warning">
<div class="message-header">
<p>警告</p>
</div>
<div class="message-body">
你正在使用的密码是默认密码,请尽快修改!
</div>
</article>
<% }%>
<form action="/configure" method="post"> <form action="/configure" method="post">
<div class="field"> <div class="field">
<label class="label">APP ID</label> <label class="label">APP ID</label>
@@ -48,7 +58,7 @@
</div> </div>
</article> </article>
<div class="control"> <div class="control">
<input class="input" name="prefix" value="<%- prefix %>" type="text" placeholder="请输入你的 TOKEN"> <input class="input" name="prefix" value="<%- prefix ? prefix : username %>" type="text" placeholder="请输入你的前缀">
</div> </div>
</div> </div>
+10
View File
@@ -1,6 +1,16 @@
<%- include('./partials/header') %> <%- include('./partials/header') %>
<div class="normal-container"> <div class="normal-container">
<%- include('./partials/message') %> <%- include('./partials/message') %>
<% if(showGuidance) { %>
<article class="message is-warning">
<div class="message-header">
<p>系统尚未完成配置</p>
</div>
<div class="message-body">
点击<a href="/configure">此处</a>访问配置页面,如需帮助,请点击上方帮助按钮。
</div>
</article>
<% }%>
<article class="message is-light"> <article class="message is-light">
<div class="message-header"> <div class="message-header">
<p>系统状况</p> <p>系统状况</p>