123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- const express = require('express');
- const Logger = require('./Logger');
- const path = require('path');
- class API {
- constructor() {
- this.router = express.Router();
- this.namespace = '';
- this.path = '';
- this.method = 'get';
- this.logger = new Logger(path.join(__dirname, '../logs/API.log'), 'INFO');
- }
- setNamespace(namespace, filename) {
- this.namespace = namespace;
- }
- setPath(path) {
- this.path = path;
- }
- setMethod(method) {
- this.method = method.toLowerCase();
- }
- getRouter() {
- return this.router;
- }
- async onRequest(req, res) {
- throw new Error('onRequest方法未实现');
- }
- setupRoute() {
- this.router[this.method](this.path, async (req, res) => {
- await this.onRequest(req, res);
- });
- }
- setAllowCORS(res) {
- res.setHeader('Access-Control-Allow-Origin', '*');
- res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
- res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
- }
- }
- module.exports = API;
|