diff --git a/.gitignore b/.gitignore index 8ab0022..db03b7d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,6 @@ node_modules package-lock.json .env -data.db data.db-journal -.vscode \ No newline at end of file +.vscode +*.db \ No newline at end of file diff --git a/README.md b/README.md index 824d54e..cf072b2 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,15 @@ ## 描述 利用测试号来给自己的微信推送消息。 +## 用途举例 +1. 整合进自己的博客系统,每当有人登录时发微信消息提醒。 +2. 在进行深度学习模型训练时,在每个 epoch 结束后将关键数据发送到微信以方便及时监控。 +3. 在各种脚本运行结束后发消息提醒。 + ## 搭建步骤 +### 域名设置 +先去你的云服务提供商那里添加一个子域名,解析到你的目标服务器。 + ### 服务器端配置 1. 配置 Node.js 环境,推荐使用 [nvm](https://github.com/nvm-sh/nvm)。 2. 下载代码:`git clone https://github.com/songquanpeng/wechat-message-push.git`。 @@ -10,7 +18,7 @@ 4. 安装 pm2:`npm i -g pm2`。 5. 使用 pm2 启动服务:`pm2 start ./app.js --name wechat-message-push-service`。 6. 使用 Nginx 反代我们的 Node.js 服务,默认端口 3000。 - 1. 修改应用根目录下的 `nginx.conf` 中的域名以及端口号,并创建软链接:`sudo ln -s ./nginx.conf /etc/nginx/site-enabled/wechat-push-service.conf` + 1. 修改应用根目录下的 `nginx.conf` 中的域名以及端口号,并创建软链接:`sudo ln -s /path/to/nginx.conf /etc/nginx/sites-enabled/wechat-push-service.conf` ,**注意修改这里的 /path/to/nginx.conf,且必须是绝对路径**,当然如果不想创建软链接的话也可以直接将配置文件拷贝过去:`sudo mv ./nginx.conf /etc/nginx/sites-enabled/wechat-push-service.conf`。 2. 之后使用 [certbot](https://certbot.eff.org/lets-encrypt/ubuntuxenial-nginx) 申请证书:`sudo certbot --nginx`。 3. 重启 Nginx 服务:`sudo service nginx restart`。 @@ -23,4 +31,10 @@ 6. 之后回到微信公众平台测试号的配置页面,点击验证。 ### 验证是否配置成功 -访问 `https://你的域名/Hi` 或 `https://你的域名/push?content=Hi`,如果你的微信能够收到一条内容为 Hi 的模板消息,则配置成功。 \ No newline at end of file +访问 `https://你的域名/Hi` 或 `https://你的域名/push?content=Hi`,如果你的微信能够收到一条内容为 Hi 的模板消息,则配置成功。 + +## 待做清单 +- [ ] 支持多用户。 +- [ ] 支持 Markdown。 + +敬请期待。 diff --git a/package.json b/package.json index bca64de..b1bc2ca 100644 --- a/package.json +++ b/package.json @@ -3,10 +3,11 @@ "version": "0.0.0", "private": true, "scripts": { - "start": "node ./app.js" + "start": "node ./app.js", + "devStart": "nodemon ./app.js" }, "dependencies": { - "axios": "^0.20.0", + "axios": "^0.21.1", "cookie-parser": "~1.4.4", "debug": "~2.6.9", "dotenv": "^8.2.0", @@ -19,6 +20,7 @@ "uuid": "^8.3.0" }, "devDependencies": { + "nodemon": "^2.0.6", "prettier": "^2.1.1" } } diff --git a/routers/index.js b/routers/index.js index adb1302..24ba140 100644 --- a/routers/index.js +++ b/routers/index.js @@ -10,6 +10,14 @@ router.all("/", (req, res, next) => { res.render("info", { message: "服务已在运行。", }); +<<<<<<< HEAD:routers/index.js +======= + // pushMessage( + // req, + // res, + // `请注意,ip 地址为 ${req.ip} 的用户访问了你的消息通知服务,如果非你本人,则你的私有消息通知服务可能已被泄露,当前版本无法阻止其他用户通过本系统向你发送消息。` + // ); +>>>>>>> master:routes.js }) .catch(() => { res.render("configure"); @@ -62,4 +70,21 @@ router.all("/verify", (req, res, next) => { } }); +<<<<<<< HEAD:routers/index.js +======= +router.all("/push", (req, res, next) => { + let content = req.query.content || req.body.content; + pushMessage(req, res, content); +}); + +router.get("/favicon.ico", (req, res, next) => { + res.sendStatus(404); +}); + +router.all("/:content", (req, res, next) => { + let content = req.params.content; + pushMessage(req, res, content); +}); + +>>>>>>> master:routes.js module.exports = router;