diff --git a/common/wechat.js b/common/wechat.js index 25575a7..ac741f8 100644 --- a/common/wechat.js +++ b/common/wechat.js @@ -36,7 +36,7 @@ async function pushWeChatMessage(userPrefix, message) { if (!user) { return { success: false, - message: `tokenStore 中不存在该前缀(${userPrefix})`, + message: `不存在的前缀:${userPrefix},请注意大小写`, }; } 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}`; try { 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 axios.post(requestUrl, request_data); } - console.log(response.data); - return { - success: true, - message: '', - }; + if (response.data.errcode === 0) { + return { + success: true, + message: 'ok', + }; + } else { + return { + success: false, + message: response.data.errmsg, + }; + } } catch (e) { console.error(e); return { diff --git a/routers/index.js b/routers/index.js index 09e2fe2..4111002 100644 --- a/routers/index.js +++ b/routers/index.js @@ -11,8 +11,13 @@ const { const config = require('../config'); router.get('/', (req, res, next) => { + let showGuidance = false; + if (req.session.user && !req.session.user.wechatAppId) { + showGuidance = true; + } res.render('index', { message: req.flash('message'), + showGuidance, }); }); @@ -67,15 +72,26 @@ router.post('/register', allowRegister, async (req, res, next) => { username: req.body.username, password: req.body.password, }; + let message = ''; try { user = await User.create(user); + message = '用户创建成功,请登录'; + req.flash('message', message); + return res.redirect('/login'); } catch (e) { console.error(e); + message = '用户名已被占用'; } + res.render('register', { message, isErrorMessage: true }); }); 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.showPasswordWarning = true; res.render('configure', req.session.user); }); @@ -114,14 +130,15 @@ router.post('/configure', userRequired, async (req, res, next) => { } req.session.user = userObj; tokenStore.set(userObj.prefix, { - appId: userObj.wechatAppId, - appSecret: userObj.wechatAppSecret, - templateId: userObj.wechatTemplateId, - openId: userObj.wechatOpenId, + wechatAppId: userObj.wechatAppId, + wechatAppSecret: userObj.wechatAppSecret, + wechatTemplateId: userObj.wechatTemplateId, + wechatOpenId: userObj.wechatOpenId, wechatVerifyToken: userObj.wechatVerifyToken, - token: requestToken(userObj.wechatAppId, userObj.wechatAppSecret), + token: await requestToken(userObj.wechatAppId, userObj.wechatAppSecret), }); message = '配置更新成功'; + console.debug(tokenStore); } catch (e) { console.error(e); message = e.message; diff --git a/views/configure.ejs b/views/configure.ejs index d1520e1..4ca5202 100644 --- a/views/configure.ejs +++ b/views/configure.ejs @@ -4,6 +4,16 @@

配置页面

<%- include('./partials/message') %> + <% if(showPasswordWarning) { %> +
+
+

警告

+
+
+ 你正在使用的密码是默认密码,请尽快修改! +
+
+ <% }%>
@@ -48,7 +58,7 @@
- +
diff --git a/views/index.ejs b/views/index.ejs index cf34cdd..c0ef95f 100644 --- a/views/index.ejs +++ b/views/index.ejs @@ -1,6 +1,16 @@ <%- include('./partials/header') %>
<%- include('./partials/message') %> + <% if(showGuidance) { %> +
+
+

系统尚未完成配置

+
+
+ 点击此处访问配置页面,如需帮助,请点击上方帮助按钮。 +
+
+ <% }%>

系统状况