瀏覽代碼

:bug: bug fix

Song 4 年之前
父節點
當前提交
3d70a3cb90
共有 4 個文件被更改,包括 56 次插入13 次删除
  1. 13 7
      common/wechat.js
  2. 22 5
      routers/index.js
  3. 11 1
      views/configure.ejs
  4. 10 0
      views/index.ejs

+ 13 - 7
common/wechat.js

@@ -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);
-    return {
-      success: true,
-      message: '',
-    };
+    if (response.data.errcode === 0) {
+      return {
+        success: true,
+        message: 'ok',
+      };
+    } else {
+      return {
+        success: false,
+        message: response.data.errmsg,
+      };
+    }
   } catch (e) {
   } catch (e) {
     console.error(e);
     console.error(e);
     return {
     return {

+ 22 - 5
routers/index.js

@@ -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,
-      appSecret: userObj.wechatAppSecret,
-      templateId: userObj.wechatTemplateId,
-      openId: userObj.wechatOpenId,
+      wechatAppId: userObj.wechatAppId,
+      wechatAppSecret: userObj.wechatAppSecret,
+      wechatTemplateId: userObj.wechatTemplateId,
+      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
views/configure.ejs

@@ -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 - 0
views/index.ejs

@@ -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>