From d48be5b91f2a8bf0db6f109af3b16c9265ba5d51 Mon Sep 17 00:00:00 2001 From: aixianling Date: Tue, 29 Mar 2022 15:04:07 +0800 Subject: [PATCH] =?UTF-8?q?node=E7=AE=80=E6=98=93=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=99=A8=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/db.js | 8 ++++++++ demo.js | 11 ----------- index.js | 15 +++++++++++++++ package.json | 9 +++++++-- rest/index.js | 16 ++++++++++++++++ rest/sysuser/sysuser.js | 13 +++++++++++++ utils/dbUitls.js | 24 ++++++++++++++++++++++++ utils/fsUtils.js | 37 +++++++++++++++++++++++++++++++++++++ 8 files changed, 120 insertions(+), 13 deletions(-) create mode 100644 config/db.js delete mode 100644 demo.js create mode 100644 index.js create mode 100644 rest/index.js create mode 100644 rest/sysuser/sysuser.js create mode 100644 utils/dbUitls.js create mode 100644 utils/fsUtils.js diff --git a/config/db.js b/config/db.js new file mode 100644 index 0000000..241d016 --- /dev/null +++ b/config/db.js @@ -0,0 +1,8 @@ +module.exports = { + host: "192.168.1.87", + user: "root", + port: 3306, + password: "Cwy@2019", + database: "dvcp_v2_dev", + multipleStatements: true +} diff --git a/demo.js b/demo.js deleted file mode 100644 index cf5d04b..0000000 --- a/demo.js +++ /dev/null @@ -1,11 +0,0 @@ -const express = require('express') -const app = express() -const port = 3000 - -app.get('/', (req, res) => { - res.send('Hello World!') -}) - -app.listen(port, () => { - console.log(`Example app listening on port ${port}`) -}) diff --git a/index.js b/index.js new file mode 100644 index 0000000..b1cdc58 --- /dev/null +++ b/index.js @@ -0,0 +1,15 @@ +const express = require('express') +const db = require('./utils/dbUitls') +const rest = require('./rest') +const app = express() +const port = 12525 + +app.listen(port, () => { + console.log('启动数据库连接池...') + db.init() + console.log('启动接口...') + rest.init(app).then(()=>{ + console.log(`serve is listening on ${port}`) + }) + +}) diff --git a/package.json b/package.json index 4d75480..b7ad778 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "node服务端", "main": "index.js", "scripts": { - "test": "node demo.js" + "dev": "node index.js" }, "repository": { "type": "git", @@ -14,8 +14,13 @@ "node", "js" ], + "engines": { + "node": "16.13.1" + }, "author": "kubbo", "dependencies": { - "express": "^4.17.3" + "express": "^4.17.3", + "helmet": "^5.0.2", + "mysql": "^2.18.1" } } diff --git a/rest/index.js b/rest/index.js new file mode 100644 index 0000000..9953f58 --- /dev/null +++ b/rest/index.js @@ -0,0 +1,16 @@ +const {findFile} = require("../utils/fsUtils"); +module.exports = { + init: ins => { + return findFile('./rest', file => { + if (!/index\.js/.test(file)) { + let rest = require(file.replace(/rest/, '.')) + console.log(`初始化接口...${rest.action}`) + if (rest.method == "post") { + ins.post(rest.action, (req, res) => rest.execute(req, res)) + } + } + }).then(() => { + console.log("接口初始化完毕") + }) + } +} diff --git a/rest/sysuser/sysuser.js b/rest/sysuser/sysuser.js new file mode 100644 index 0000000..4059b00 --- /dev/null +++ b/rest/sysuser/sysuser.js @@ -0,0 +1,13 @@ +const dbUtils = require("../../utils/dbUitls"); +module.exports = { + action: "/sys/user", + method: "post", + execute: (request, response) => { + dbUtils.query(`select * from sys_user`).then(res => { + response.send({ + code: 0, + data: res + }) + }) + } +} diff --git a/utils/dbUitls.js b/utils/dbUitls.js new file mode 100644 index 0000000..5779481 --- /dev/null +++ b/utils/dbUitls.js @@ -0,0 +1,24 @@ +const mysql = require("mysql"); +const dbConfig = require("../config/db"); +module.exports = { + pool: null, + init: () => { + this.pool = mysql.createPool(dbConfig) + }, + query: sql => new Promise(resolve => { + this.pool?.getConnection((err, conn) => { + if (err) { + console.log(err) + } else { + conn.query(sql, (err, result) => { + if (err) { + console.log(err) + } else { + conn.release() + resolve(result) + } + }) + } + }) + }), +} diff --git a/utils/fsUtils.js b/utils/fsUtils.js new file mode 100644 index 0000000..ccd3df4 --- /dev/null +++ b/utils/fsUtils.js @@ -0,0 +1,37 @@ +const fs = require("fs") +const path = require("path") + +const promisify = fn => { + return function () { + let args = arguments; + return new Promise(function (resolve, reject) { + [].push.call(args, function (err, result) { + if (err) { + console.log(err) + reject(err); + } else { + resolve(result); + } + }); + fn.apply(null, args); + }); + } +} + +const readdir = promisify(fs.readdir) +const stat = promisify(fs.stat) +const findFile = (dir = '.', cb) => { + return readdir(dir).then(apps => { + return Promise.all(apps.map(e => { + let cPath = path.join(dir, e) + return stat(cPath).then(state => { + if (state.isDirectory()) { + return findFile(cPath, cb) + } else if (state.isFile()) { + cb && cb(cPath) + } + }) + })) + }) +} +module.exports = {readdir, stat, findFile}