const express = require('express'); const Logger = require('./Logger'); class API { constructor() { this.router = express.Router(); this.namespace = ''; this.path = ''; this.method = 'get'; this.logger = new Logger(path.join(__dirname, '../logs/app.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;