forked from admin/deShanXiao
76 lines
2.6 KiB
TypeScript
76 lines
2.6 KiB
TypeScript
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;
|