Files
deShanXiao/backEnd/src/router/index.ts

76 lines
2.6 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import * as express from "express";
import login from "./login/login";
import user from "./user/user";
import systemMenue from "./system-menue/system-menue";
import role from "./role/role";
import deceased from "./deceased/deceased";
import serviceItem from "./serviceList/serviceItem";
import serviceCategory from "./serviceList/serviceCategory";
import deceasedRetail from "./deceasedRetail/deceasedRetail";
import checkout from "./checkout/checkout";
import retailCheckout from "./retailCheckout/retailCheckout";
import noDeceasedRetail from "./noDeceasedRetail/noDeceasedRetail";
import cancleExamine from "./cancle/cancleExamine";
import CheckoutRetail from "./CheckoutRetail/CheckoutRetail";
import publicList from "./public/public";
import Stats from "./stats/stats";
let jwt = require("jsonwebtoken");
let router = express.Router();
const secretKey = "myNameIsLiJiaTu";
// 统一请求入口
router.use("/", (req, res, next) => {
const token = req.headers.authorization;
const refreshToken = req.headers.refreshtoken;
// 非登录并且无token证明用户未登录禁止操作不需要这个注释即可
if (!token && !refreshToken && req.path !== "/login")
return res.send({ code: 401, msg: "未登录,禁止操作访问!" });
if (token) {
jwt.verify(token, secretKey, (err, decoded) => {
if (err) {
if (!refreshToken) {
return res.status(401).send({ code: 401, msg: "请重新登录" });
}
jwt.verify(refreshToken, secretKey, (refErr, refDecoded) => {
if (refErr) {
return res
.status(401)
.send({ code: 401, msg: "登录已失效,请重新登录。" });
} else {
let userId = refDecoded.userId;
const newToken = jwt.sign({ userId }, secretKey, {
expiresIn: "1h",
});
res.setHeader("refreshToken", newToken);
next();
}
});
} else {
next();
}
});
} else {
next();
}
});
router.use("/login", login);
router.use("/user", user);
router.use("/system-menue", systemMenue);
router.use("/role", role);
router.use("/public/", publicList);
router.use("/deceased", deceased);
router.use("/deceased-retail", deceasedRetail);
router.use("/service-item", serviceItem);
router.use("/service-category", serviceCategory);
router.use("/checkout", checkout);
router.use("/retail-checkout", retailCheckout);
router.use("/no-deceased-retail", noDeceasedRetail);
router.use("/cancel", cancleExamine);
router.use("/checkout-retail", CheckoutRetail);
router.use("/stats", Stats);
export default router;