index.ts 1.24 KB
Newer Older
silver47gin's avatar
silver47gin committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
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/`);
});