From cf5f60a04963fb9458d1c80abccb270b21a8cf52 Mon Sep 17 00:00:00 2001 From: aixianling Date: Fri, 30 Dec 2022 11:53:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E7=AB=AF=E9=93=BE=E6=8E=A5=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 +++- server/app.js | 6 ++++++ server/app/controller/home.js | 9 +++++++++ server/app/router.js | 4 ++++ server/app/service/db.js | 31 +++++++++++++++++++++++++++++++ server/config/config.default.js | 19 +++++++++++++++++++ server/config/plugin.js | 4 ++++ server/package.json | 21 +++++++++++++++++++++ 8 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 server/app.js create mode 100644 server/app/controller/home.js create mode 100644 server/app/router.js create mode 100644 server/app/service/db.js create mode 100644 server/config/config.default.js create mode 100644 server/config/plugin.js create mode 100644 server/package.json diff --git a/.gitignore b/.gitignore index 44548b8..48ca5df 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ /.idea/ -/wxmp/package-lock.json */dist/ */node_modules/ +*/package-lock.json +/server/logs/ +/server/run/ diff --git a/server/app.js b/server/app.js new file mode 100644 index 0000000..04300ea --- /dev/null +++ b/server/app.js @@ -0,0 +1,6 @@ +module.exports = app => { + app.beforeStart(async () => { + const mysqlConfig = await app.configCenter.fetch("mysql") + app.database = app.mysql.createInstance(mysqlConfig) + }) +} diff --git a/server/app/controller/home.js b/server/app/controller/home.js new file mode 100644 index 0000000..812cb90 --- /dev/null +++ b/server/app/controller/home.js @@ -0,0 +1,9 @@ +const Controller = require('egg').Controller; + +class HomeController extends Controller { + async index() { + this.ctx.body = 'Hello world'; + } +} + +module.exports = HomeController; diff --git a/server/app/router.js b/server/app/router.js new file mode 100644 index 0000000..33f41cf --- /dev/null +++ b/server/app/router.js @@ -0,0 +1,4 @@ +module.exports = (app) => { + const { router, controller } = app; + router.get('/', controller.home.index); +}; diff --git a/server/app/service/db.js b/server/app/service/db.js new file mode 100644 index 0000000..87f1ddf --- /dev/null +++ b/server/app/service/db.js @@ -0,0 +1,31 @@ +const Service = require("egg").Service + +class DbService extends Service { + async addOrUpdate(table, form) { + let result + if (!form.id) {//创建 + result = await this.app.mysql.insert(table, form) + } else {//更新 + result = await this.app.mysql.update(table, form) + } + return result === 1 + } + + async delete(table, id) { + await this.app.mysql.delete(table, {id}) + } + + async detail(table, id) { + return await this.app.mysql.get(table, {id}) + } + + async list(table, params = {}) { + return await this.app.mysql.select(table, { + where: params, + limit: params?.size || 10, // 返回数据量 + offset: Math.max(params?.current - 1, 0), // 数据偏移量 + }) + } +} + +module.exports = DbService diff --git a/server/config/config.default.js b/server/config/config.default.js new file mode 100644 index 0000000..0fafc20 --- /dev/null +++ b/server/config/config.default.js @@ -0,0 +1,19 @@ +exports.keys = "kubbo and flora" +exports.mysql = { + client: { + // host + host: '192.168.1.87', + // 端口号 + port: '3306', + // 用户名 + user: 'root', + // 密码 + password: 'Cwy@2019', + // 数据库名 + database: 'dvcp_oms_dev', + }, + // 是否加载到 app 上,默认开启 + app: true, + // 是否加载到 agent 上,默认关闭 + agent: false, +} diff --git a/server/config/plugin.js b/server/config/plugin.js new file mode 100644 index 0000000..d14cd39 --- /dev/null +++ b/server/config/plugin.js @@ -0,0 +1,4 @@ +exports.mysql = { + enable: true, + package: 'egg-mysql' +} diff --git a/server/package.json b/server/package.json new file mode 100644 index 0000000..d0f77f9 --- /dev/null +++ b/server/package.json @@ -0,0 +1,21 @@ +{ + "name": "buy-server", + "version": "1.0.0", + "description": "和老婆的创业项目", + "scripts": { + "dev": "egg-bin dev" + }, + "keywords": [ + "egg", + "kubbo" + ], + "author": "kubbo", + "license": "ISC", + "dependencies": { + "egg": "^3.9.2", + "egg-mysql": "^3.3.0" + }, + "devDependencies": { + "egg-bin": "^5.9.0" + } +}