🎉 push part done
This commit is contained in:
@@ -6,9 +6,13 @@ const http = require("http");
|
||||
require("dotenv").config();
|
||||
|
||||
const indexRouter = require("./routes");
|
||||
const requestToken = require("./utils").requestToken;
|
||||
|
||||
const app = express();
|
||||
|
||||
requestToken(app);
|
||||
setInterval(() => requestToken(app), 100 * 60 * 1000);
|
||||
|
||||
app.use(logger("dev"));
|
||||
app.use(express.json());
|
||||
app.use(express.urlencoded({ extended: false }));
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
"start": "node ./app.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"axios": "^0.20.0",
|
||||
"cookie-parser": "~1.4.4",
|
||||
"debug": "~2.6.9",
|
||||
"dotenv": "^8.2.0",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
const express = require("express");
|
||||
const router = express.Router();
|
||||
const crypto = require("crypto");
|
||||
const axios = require("axios");
|
||||
|
||||
router.get("/", (req, res, next) => {
|
||||
res.send("OK");
|
||||
@@ -20,4 +21,27 @@ router.get("/verify", (req, res, next) => {
|
||||
}
|
||||
});
|
||||
|
||||
router.get("/push", (req, res, next) => {
|
||||
// Reference: https://mp.weixin.qq.com/debug/cgi-bin/readtmpl?t=tmplmsg/faq_tmpl
|
||||
let content = req.query.content || req.body.content;
|
||||
console.log(`Get content: ${content}`);
|
||||
let access_token = req.app.access_token;
|
||||
let request_data = {
|
||||
touser: process.env.OPEN_ID,
|
||||
template_id: process.env.TEMPLATE_ID,
|
||||
};
|
||||
request_data.data = { text: content };
|
||||
axios
|
||||
.post(
|
||||
`https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=${access_token}`,
|
||||
request_data
|
||||
)
|
||||
.then((response) => {
|
||||
res.json(response.data);
|
||||
})
|
||||
.catch((error) => {
|
||||
res.json(error);
|
||||
});
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
const axios = require("axios");
|
||||
|
||||
module.exports = {
|
||||
requestToken: function (app) {
|
||||
let token = "";
|
||||
axios
|
||||
.get(
|
||||
`https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${process.env.APP_ID}&secret=${process.env.APP_SECRET}`
|
||||
)
|
||||
.then((res) => {
|
||||
if (res.data && res.data.access_token) {
|
||||
console.log("Get token: ", res.data.access_token);
|
||||
token = res.data.access_token;
|
||||
app.access_token = token;
|
||||
} else {
|
||||
console.error(res.data);
|
||||
}
|
||||
});
|
||||
return token;
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user