import * as express from "express"; import { getAccessToken, getUserInfo } from "./wexinapi"; import { cacheManager } from "./cache"; const corpid = "wx994c6f0045619f58"; const corpsecret = "UtBW2SVGKW0NF5PXSWI-mP8Dx9QM-FPW3_i9kKDQGcY"; const app = express(); cacheManager.load(); app.get("/getUserInfo", async (req, res) => { try { const code = req.query.code as string; console.log(`code`, code); if (!code) { res.sendStatus(400); return; } let accessToken: string; if (!cacheManager.cache.access_token) { console.log("get AccessToken from wexin"); accessToken = await getAccessToken(corpid, corpsecret); } else { console.log("get AccessToken from cache"); accessToken = cacheManager.cache.access_token; } console.log(`accessToken`, accessToken); cacheManager.cache.access_token = accessToken; cacheManager.save(); const userInfo = await getUserInfo(accessToken, code); console.log(`userInfo`, userInfo); res.json(userInfo); } catch (error) { console.log(error); res.sendStatus(400); } }); app.get("*", function (_, res) { res.send("Welcome Dev Server"); }); app.listen(8000, () => { console.log(`server is listen on http://10.1.121.166:8000/`); });