pannel.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. const express = require('express');
  2. const dotenv = require('dotenv');
  3. const Logs = require('./libs/logs');
  4. const controlRoutes = require('./routes/control');
  5. const cookieParser = require('cookie-parser');
  6. const app = express();
  7. dotenv.config();
  8. // 添加 CORS 支持
  9. app.use((req, res, next) => {
  10. res.header('Access-Control-Allow-Origin', '*');
  11. res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Authorization');
  12. res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
  13. if (req.method === 'OPTIONS') {
  14. return res.sendStatus(200);
  15. }
  16. next();
  17. });
  18. // 中间件
  19. app.use(express.json({ limit: '10mb' }));
  20. app.use(cookieParser());
  21. app.use((req, res, next) => {
  22. res.badRequest = (msg) => {
  23. res.status(400).json({ statusCode: 400, code: -1, message: msg ?? 'Bad Request' });
  24. }
  25. res.unauthorized = (msg) => {
  26. res.status(401).json({ statusCode: 401, code: -1, message: msg ?? 'Unauthorized' });
  27. }
  28. res.notFound = (msg) => {
  29. res.status(404).json({ statusCode: 404, code: -1, message: msg ?? 'Not Found' });
  30. }
  31. res.serverError = (msg) => {
  32. res.status(500).json({ statusCode: 500, code: -1, message: msg ?? 'Internal Server Error' });
  33. }
  34. res.sendSuccess = (data, msg) => {
  35. const response = { statusCode: 200, code: 0, message: msg ?? 'OK' }
  36. if (data) {
  37. response.data = data;
  38. }
  39. res.status(200).json(response);
  40. }
  41. next();
  42. });
  43. app.use('/api/control', controlRoutes);
  44. // 启动服务
  45. const PORT = 9056;
  46. app.listen(PORT, () => console.log(`Server running on port ${PORT}`));