app.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import express from "express";
  2. import fileUpload from "express-fileupload";
  3. import bodyParser from "body-parser";
  4. import cors from "cors"
  5. import authors from "./router/authors/index.js";
  6. import authorsLogin from "./router/authors/login.js";
  7. import books from "./router/books/index.js";
  8. import files from "./router/files/index.js";
  9. import record from "./router/record/index.js";
  10. import types from "./router/types/index.js";
  11. import { generateToken, verifyToken } from "#utils";
  12. const port = 3000;
  13. const app = express();
  14. const json = express.json({type: '*/json'})
  15. // 全局启用 CORS
  16. const corsOptions = {
  17. origin: 'http://localhost:3000', // 仅允许这个来源
  18. methods: ['GET', 'POST', "PUT", "DELETE"], // 允许的 HTTP 方法
  19. allowedHeaders: ['Content-Type', 'Authorization'], // 允许的头部
  20. };
  21. app.use(cors(corsOptions));
  22. app.use(fileUpload());
  23. app.use(json);
  24. app.use(bodyParser.urlencoded({extended: false}));
  25. app.get("/", (req, res) => {
  26. res.send("Hello World!");
  27. });
  28. app.use("/api/v1/login", authors);
  29. app.use("/api/v1/files", files);
  30. app.use("/api/v1/*", verifyToken); // 注册token验证中间件
  31. app.use("/api/v1/auth", authorsLogin);
  32. app.use("/api/v1/books", books);
  33. app.use("/api/v1/record", record);
  34. app.use("/api/v1/types", types);
  35. app.listen(port, () => {
  36. console.log(`Example app listening on port ${port}`);
  37. });