| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- 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("Token requested.");
- token = res.data.access_token;
- app.locals.access_token = token;
- } else {
- console.error(res.data);
- }
- });
- return token;
- },
- pushMessage: function (req, res, content) {
- // Reference: https://mp.weixin.qq.com/debug/cgi-bin/readtmpl?t=tmplmsg/faq_tmpl
- let access_token = req.app.locals.access_token;
- let request_data = {
- touser: process.env.OPEN_ID,
- template_id: process.env.TEMPLATE_ID,
- };
- request_data.data = { text: { value: content } };
- axios
- .post(
- `https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=${access_token}`,
- request_data
- )
- .then((response) => {
- if (response.data && response.data.errcode === "40001") {
- requestToken(req.app);
- }
- res.json(response.data);
- })
- .catch((error) => {
- res.json(error);
- });
- },
- };
|