From 25f120d197a2f96ba567ed3c58e420f8b11198e7 Mon Sep 17 00:00:00 2001 From: Song Date: Sun, 31 Jan 2021 16:00:01 +0800 Subject: [PATCH] :tada: able to send markdown message now --- common/message.js | 2 +- common/wechat.js | 3 ++- routers/message.js | 22 ++++++++++++++++---- views/article.ejs | 52 ++++++++++++++++++---------------------------- 4 files changed, 41 insertions(+), 38 deletions(-) diff --git a/common/message.js b/common/message.js index 17df7fe..2a0c56c 100644 --- a/common/message.js +++ b/common/message.js @@ -1,6 +1,6 @@ const { pushWeChatMessage } = require('./wechat'); const { pushEmailMessage } = require('./email'); -const Message = require('../models/message').Message; +const { Message } = require('../models'); async function processMessage(userPrefix, message) { if (message.email) { diff --git a/common/wechat.js b/common/wechat.js index ac741f8..f7bf21e 100644 --- a/common/wechat.js +++ b/common/wechat.js @@ -45,7 +45,8 @@ async function pushWeChatMessage(userPrefix, message) { template_id: user.wechatTemplateId, }; if (message.content) { - request_data.url = `${config.href}${userPrefix}/${message.id}`; + request_data.url = `${config.href}message/${message.id}`; + console.debug(`http://localhost:3000/message/${message.id}`); } request_data.data = { text: { value: message.description } }; let requestUrl = `https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=${access_token}`; diff --git a/routers/message.js b/routers/message.js index b581354..83f8a98 100644 --- a/routers/message.js +++ b/routers/message.js @@ -1,4 +1,6 @@ const express = require('express'); +const { Message } = require('../models'); +const { md2html } = require('../common/utils'); const router = express.Router(); @@ -10,11 +12,23 @@ router.get('/delete/:id', (req, res, next) => { }); }); -router.get('/:id', (req, res, next) => { +router.get('/:id', async (req, res, next) => { const id = req.params.id; - // TODO: show article - req.query.description = req.params.description; - res.render('article'); + try { + let message = await Message.findOne({ + where: { + id: id, + }, + }); + if (message) { + message.content = md2html(message.content); + res.render('article', { + message, + }); + } + } catch (e) { + res.status(404); + } }); module.exports = router; diff --git a/views/article.ejs b/views/article.ejs index 620a127..758dc34 100644 --- a/views/article.ejs +++ b/views/article.ejs @@ -1,34 +1,22 @@ -<%- include('./partials/header') %> - -
-
-
-
- <%- include('./partials/page-info') %> - <%-page.converted_content%> - - <%- config.copyright %> - <%- config.ad %> -
-
-
- -
+ + + + + + <%= message.title %> + + + + + +
+
+

<%= message.title %>

+

<%- message.description %>

+
+ <%- message.content %> +
- <%- include('./partials/prev-next') %> - <%- include('./partials/comment') %>
- - - -<%- include('./partials/footer') %> + + \ No newline at end of file