From 18600b3015e6e6ea441b7300332baef54985f83e Mon Sep 17 00:00:00 2001 From: Kubbo <390378816@qq.com> Date: Wed, 24 Dec 2025 22:27:36 +0800 Subject: [PATCH] =?UTF-8?q?feat(server):=20=E9=87=8D=E6=9E=84=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E7=AB=AF=E6=9E=B6=E6=9E=84=E5=B9=B6=E9=9B=86=E6=88=90?= =?UTF-8?q?MySQL=E6=95=B0=E6=8D=AE=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加MySQL数据库配置,包含主机地址、端口、用户名、密码和数据库名 - 创建独立的Koa服务器模块,包含路由配置和静态文件服务 - 实现MySQL连接池配置,支持命名占位符查询格式化 - 调整项目入口文件结构,分离MySQL和Koa服务模块 - 更新package.json配置,修改主入口文件并添加mysql2依赖 --- module/server/.env | 0 module/server/config/index.js | 8 +++++++- module/server/index.js | 31 ++----------------------------- module/server/koa/index.js | 29 +++++++++++++++++++++++++++++ module/server/mysql/index.js | 18 ++++++++++++++++++ module/server/package.json | 5 +++-- 6 files changed, 59 insertions(+), 32 deletions(-) create mode 100644 module/server/.env create mode 100644 module/server/koa/index.js create mode 100644 module/server/mysql/index.js diff --git a/module/server/.env b/module/server/.env new file mode 100644 index 0000000..e69de29 diff --git a/module/server/config/index.js b/module/server/config/index.js index 0304802..a994390 100644 --- a/module/server/config/index.js +++ b/module/server/config/index.js @@ -1,3 +1,9 @@ export default { - + mysql: { + host: '192.168.25.110', + port: 3307, + user: 'root', + password: 'mysql_Adkijc', + database: 'mir_web' + } } diff --git a/module/server/index.js b/module/server/index.js index 852470e..afbc9d6 100644 --- a/module/server/index.js +++ b/module/server/index.js @@ -1,29 +1,2 @@ -import Koa from 'koa'; -import Router from 'koa-router'; -import config from "./config/index.js" -import koaStatic from 'koa-static'; - -const app = new Koa(); -const router = new Router(); - -// 简单的路由示例 -router.get('/', (ctx) => { - ctx.body = {message: 'Hello from Koa server!'}; -}); - -router.get('/api/test', (ctx) => { - ctx.body = {message: 'This is a test API endpoint'}; -}); - -router.get('/api/config', (ctx) => { - ctx.body = {data: config} -}) -app.use(router.routes()); -app.use(router.allowedMethods()); -app.use(koaStatic('/www')) - -const PORT = process.env.PORT || 3001; - -app.listen(PORT, () => { - console.log(`Koa server is running on port ${PORT}`); -}); +import "./mysql/index.js" +import "./koa/index.js" diff --git a/module/server/koa/index.js b/module/server/koa/index.js new file mode 100644 index 0000000..85ee6d3 --- /dev/null +++ b/module/server/koa/index.js @@ -0,0 +1,29 @@ +import Koa from 'koa'; +import Router from 'koa-router'; +import config from "../config/index.js" +import koaStatic from 'koa-static'; + +const app = new Koa(); +const router = new Router(); + +// 简单的路由示例 +router.get('/', (ctx) => { + ctx.body = {message: 'Hello from Koa server!'}; +}); + +router.get('/api/test', (ctx) => { + ctx.body = {message: 'This is a test API endpoint'}; +}); + +router.get('/api/config', (ctx) => { + ctx.body = {data: config} +}) +app.use(router.routes()); +app.use(router.allowedMethods()); +app.use(koaStatic('/www')) + +const PORT = process.env.PORT || 3001; + +app.listen(PORT, () => { + console.log(`Koa server is running on port ${PORT}`); +}); diff --git a/module/server/mysql/index.js b/module/server/mysql/index.js new file mode 100644 index 0000000..4090a51 --- /dev/null +++ b/module/server/mysql/index.js @@ -0,0 +1,18 @@ +import mysql from "mysql2"; +import config from "../config/index.js"; + +const pool = mysql.createPool({ + ...config.mysql, + queryFormat: function (sql, values) { + const opts = { sql, values } + this._resolveNamedPlaceholders(opts) + return mysql2.format( + opts.sql, + opts.values, + this.config.stringifyObjects, + this.config.timezone + ) + } +}); + +export default pool.promise(); diff --git a/module/server/package.json b/module/server/package.json index 36eeb0a..c5dd539 100644 --- a/module/server/package.json +++ b/module/server/package.json @@ -2,7 +2,7 @@ "name": "chuanqi-server", "version": "1.0.0", "description": "A simple Koa server for chuanqi web", - "main": "index.js", + "main": "koa/index.js", "type": "module", "scripts": { "start": "node index.js", @@ -11,6 +11,7 @@ "dependencies": { "koa": "^2.15.0", "koa-router": "^12.0.0", - "koa-static": "^5.0.0" + "koa-static": "^5.0.0", + "mysql2": "^3.16.0" } }