feat(server): 添加认证授权和日志记录功能

- 实现了 JWT 认证中间件,支持 token 验证和白名单路由
- 添加了登录接口,支持用户登录和 token 生成
- 集成了 log4js 日志系统,支持 mysql 和 koa 日志分类
- 配置了环境变量支持,添加了 SECRET_KEY 配置
- 重构了 MySQL 连接池配置,添加了查询日志记录
- 集成了 koa 路由和认证中间件,实现接口访问控制
This commit is contained in:
2025-12-24 23:48:14 +08:00
parent 18600b3015
commit 293fbd8bc8
9 changed files with 91 additions and 9 deletions

View File

@@ -1,12 +1,18 @@
import mysql from "mysql2";
import config from "../config/index.js";
import * as log4js from "../log4js.js";
const pool = mysql.createPool({
...config.mysql,
host: config.mysql.host,
port: config.mysql.port,
user: config.mysql.user,
password: config.mysql.password,
connectionLimit: 10,
queryFormat: function (sql, values) {
const opts = { sql, values }
this._resolveNamedPlaceholders(opts)
return mysql2.format(
log4js.mysql.debug(opts.sql, opts.values)
return mysql.format(
opts.sql,
opts.values,
this.config.stringifyObjects,