diff --git a/msgManager.js b/msgManager.js index 26b57dd..3d75e05 100644 --- a/msgManager.js +++ b/msgManager.js @@ -2,7 +2,8 @@ import { EventEmitter } from "events"; import fs from "fs"; import path from "path"; -import { EmailSender } from "./mailer.js"; +// import { EmailSender } from "./mailer.js"; +import { sendQYWechatMessage } from "./utils.js" import { SQLiteMessageQueue } from "./sqlite.js"; import { md5 } from "./utils.js"; import axios from "axios"; @@ -13,15 +14,15 @@ class MessageQueue extends EventEmitter { this.queue = new SQLiteMessageQueue(); this.processing = false; // this.queueFile = path.resolve("message_queue.json");K - this.emailSender = new EmailSender({ - host: "smtp.exmail.qq.com", - port: 465, - secure: true, - auth: { - user: "jiqiren@axbbaoxian.com", - pass: "Am13579q", - }, - }); + // this.emailSender = new EmailSender({ + // host: "smtp.exmail.qq.com", + // port: 465, + // secure: true, + // auth: { + // user: "jiqiren@axbbaoxian.com", + // pass: "Am13579q", + // }, + // }); this.recipients = [ "huzhengrong@axbbaoxian.com", ]; @@ -88,7 +89,8 @@ class MessageQueue extends EventEmitter { html += this.generateTable(spiderName, msgMap[spiderName]); } try { - this.emailSender.sendBulkEmail(this.recipients, "招标项目最新公告", html); + // this.emailSender.sendBulkEmail(this.recipients, "招标项目最新公告", html); + await sendQYWechatMessage(html) } catch (error) { console.error(`❌ 通知发送失败: ${error}`); } @@ -97,62 +99,18 @@ class MessageQueue extends EventEmitter { } generateTable(spiderName, data) { - let tableHtml = ` -
-

- 🕷️ ${spiderName} (${data.length} 条新增) -

- -
- - - - - - - - - - - - `; + let tableHtml =` + 各位好, + 本次检测发现了${data.length}条新增招标信息,详情如下: + ` data.forEach((item, index) => { - const rowColor = index % 2 === 0 ? "#f8f9fa" : "white"; - // const publishTime = this.formatDateTime(item.publishTime); - // const endTime = this.formatDateTime(item.endTime); - const urls = this.formatUrls(item.urls); - tableHtml += ` - - - - - - - + 【${index+1}】 + 保司:${spiderName} + 招标标题:${item.name} + 详情链接:[链接](${item.urls}) `; }); - - tableHtml += ` - -
序号项目名称发布时间截止时间查看详情
- ${index + 1} - -
- ${item.name} -
- -
- ${item.publishTime} - -
${item.endTime}
-
- ${urls} -
-
-
- `; - return tableHtml; } diff --git a/utils.js b/utils.js index 0237182..8ce5c25 100644 --- a/utils.js +++ b/utils.js @@ -255,8 +255,8 @@ async function sendQYWechatMessage(message) { try { const webhook = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=7de26c43-8652-4204-9665-47a5cef58b58"; await axios.post(webhook, { - msgtype: "text", - text: { + msgtype: "markdown", + markdown: { content: message } }, { @@ -264,9 +264,9 @@ async function sendQYWechatMessage(message) { 'Content-Type': 'application/json' } }); - console.log(`${this.key}-企业微信消息推送成功: ${message}`); + console.log(`企业微信消息推送成功: ${message}`); } catch (error) { - console.error(`${this.key}-企业微信消息推送失败:`, error.message); + console.error(`企业微信消息推送失败:`, error.message); } } export {