Files
tl-rtc-file/svr/tlapi.js
https://blog.iamtsm.cn 137c22a702 feat: inndexdb file setting
feat: wxapp scan login
feat: auto join fixed room setting
feat: local netword room scan setting
feat: message dot setting
feat: system room
feat: mysql table index perf
feat: message top/admin flag
feat: custom file transfer setting
feat: code perf
feat: setting perf
feat: log perf
feat: css perf
fix: url args encode
2023-10-28 15:03:00 +08:00

68 lines
2.0 KiB
JavaScript

const express = require("express");
const bodyParser = require('body-parser');
const cookieParser = require('cookie-parser');
const { inject_env_config, load_env_config } = require("./conf/env_config");
//加载环境变量
load_env_config();
//加载环境变量完毕后,注入配置
const conf = inject_env_config(require("./conf/cfg.json"));
const fileApiRouters = require("./src/controller/router")();
const db = require("./src/tables/db"); //db
const utils = require("./src/utils/utils");
const fs = require('fs');
const https = require('https');
const resRouter = conf.api.router.res;
//打印logo
utils.tlConsoleIcon()
async function start() {
let app = express();
app.use(bodyParser.json());
app.use(cookieParser());
utils.tlConsole("api init start ...")
if (!conf.db.open) {// 没开db
app.use(async function (req, res, next) {
req.ctx = {};
req.ctx.tables = {};
req.ctx.dbClient = {};
await next();
})
utils.tlConsole("db not open ...")
}else{
let { tables, dbClient } = await db.excute(conf)
app.use(async function (req, res, next) {
req.ctx = {};
req.ctx.tables = tables;
req.ctx.dbClient = dbClient;
await next();
})
utils.tlConsole("db init done ...")
}
//file api
for (let key in fileApiRouters) app.use(key, fileApiRouters[key])
//res api v1
for (let key in resRouter) app.use(key, express.static(resRouter[key]));
//start server
if(process.env.tl_rtc_file_env_mode === 'http'){
app.listen(conf.api.port);
}else {
let options = {
key: fs.readFileSync('./conf/keys/server.key'),
cert: fs.readFileSync('./conf/keys/server.crt')
}
https.createServer(options,app).listen(conf.api.port);
}
utils.tlConsole("express init done ...")
utils.tlConsole("api ",process.env.tl_rtc_file_env_mode," server runing on ", conf.api.port, " successful")
}
start();