From 757dbff108e142467b7cdf391eaf6f11b380e074 Mon Sep 17 00:00:00 2001 From: rsgltzyd Date: Tue, 14 May 2024 00:49:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86mongodb=20config=E6=8A=BD=E8=B1=A1?= =?UTF-8?q?=E6=88=90=E6=96=B9=E6=B3=95=20test=20session?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.js | 44 ++++--- db/mongodb.config.js | 16 +++ db/user.json | 15 --- package-lock.json | 305 ++++++++++++++++++------------------------- package.json | 3 +- routes/index.js | 10 +- utils/StringUtil.js | 3 +- 7 files changed, 183 insertions(+), 213 deletions(-) create mode 100644 db/mongodb.config.js delete mode 100644 db/user.json diff --git a/app.js b/app.js index 0e8b92f..dd9a6e3 100644 --- a/app.js +++ b/app.js @@ -1,28 +1,21 @@ -var createError = require('http-errors'); -var express = require('express'); -var path = require('path'); -var cookieParser = require('cookie-parser'); -var logger = require('morgan'); -var cors = require('cors'); +const createError = require('http-errors'); +const express = require('express'); +const path = require('path'); +const cookieParser = require('cookie-parser'); +const logger = require('morgan'); +const cors = require('cors'); +const session = require('express-session'); -var indexRouter = require('./routes/index'); +const indexRouter = require('./routes/index'); +const mongodbConfig = require('./db/mongodb.config'); -var app = express(); +const app = express(); // 导入env require("dotenv").config(); -// 使用evn文件保存的mongodb username和password -const dbUsername = process.env.DB_USERNAME; +const dbAccount = process.env.DB_ACCOUNT; const dbPassword = process.env.DB_PASSWORD; - -// mongoose连接mongodb -const mongoose = require("mongoose"); -const mongoDBUrl = `mongodb://${dbUsername}:${dbPassword}@47.106.93.245:27017/customapi?authSource=admin`; -mongoose.connect(mongoDBUrl); -const db = mongoose.connection; -db.on("connected", () => console.log("MongoDB 连接成功")); -db.on("error", err => console.error(err, "\nMongoDB 连接错误")); -db.on("close", () => console.log("\nMongoDB 连接关闭")); +mongodbConfig.connectMongoDB(dbAccount, dbPassword); app.use(cors()); app.use(logger('dev')); @@ -30,6 +23,19 @@ app.use(express.json()); app.use(express.urlencoded({ extended: false })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); +app.use(session({ + secret: 'sessiontest', + resave: false, + saveUninitialized: false, + cookie: { + path: '/', + name: 'login', + secret: 'sessiontest', + secure: false, + maxAge: 1000 * 60 * 60, + }, + name: 'ivan', +})); app.use('/', indexRouter); diff --git a/db/mongodb.config.js b/db/mongodb.config.js new file mode 100644 index 0000000..dfae9f9 --- /dev/null +++ b/db/mongodb.config.js @@ -0,0 +1,16 @@ +const mongoose = require("mongoose"); + +/** + * mongoose连接mongodb数据库 + * @param {String} account 数据库账号 + * @param {String} password 数据库密码 + */ +exports.connectMongoDB = function (account, password) { + // mongoose连接mongodb + const mongoDBUrl = `mongodb://${account}:${password}@47.106.93.245:27017/customapi?authSource=admin`; + mongoose.connect(mongoDBUrl); + const db = mongoose.connection; + db.on("connected", () => console.log("MongoDB 连接成功")); + db.on("error", err => console.error(err, "\nMongoDB 连接错误")); + db.on("close", () => console.log("\nMongoDB 连接关闭")); +} \ No newline at end of file diff --git a/db/user.json b/db/user.json deleted file mode 100644 index d1b8755..0000000 --- a/db/user.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "name": "admin", - "gender": "M", - "birth": { - "$date": "1992-04-06T00:00:00.000Z" - }, - "account": "admin", - "password": "123456", - "register_date": { - "$date": "1992-04-06T00:00:00.000Z" - }, - "status": "normal" - } -] diff --git a/package-lock.json b/package-lock.json index e5eb2e6..f6bf795 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,9 +14,10 @@ "dotenv": "^16.4.5", "express": "^4.19.2", "express-async-handler": "^1.2.0", + "express-session": "^1.18.0", "express-validator": "^7.0.1", "http-errors": "~1.6.3", - "jade": "^1.9.2", + "jade": "^0.29.0", "mongoose": "^8.3.4", "morgan": "~1.9.1", "nodemon": "^3.1.0" @@ -60,33 +61,6 @@ "node": ">= 0.6" } }, - "node_modules/acorn": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", - "integrity": "sha512-pXK8ez/pVjqFdAgBkF1YPVRacuLQ9EXBKaKWaeh58WNfMkCmZhOZzu+NtKSPD5PHmCCHheQ5cD29qM1K4QTxIg==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz", - "integrity": "sha512-j3/4pkfih8W4NK22gxVSXcEonTpAHOHh0hu5BoZrKcOsW/4oBPxTi4Yk3SAj+FhC1f3+bRTkXdm4019gw1vg9g==", - "dependencies": { - "acorn": "^2.1.0" - } - }, - "node_modules/amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", - "engines": { - "node": ">=0.4.2" - } - }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", @@ -261,9 +235,9 @@ } }, "node_modules/character-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-1.2.1.tgz", - "integrity": "sha512-6OEBVBlf/y8LaAphnbAnt743O3zMhlBer+FO5D40H6wqAdU9B1TvuApkejgLW0cvv0tEZNLktv1AnRI+C87ueQ==" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-1.0.2.tgz", + "integrity": "sha512-DcT7xnScdoZy9nFFIjJ5uAUNCsiXzMgmNSAWK3XDXpHtlrlgmPhzYWAw/CxWCbuisIDh7xsfyJTm0lIWHknpog==" }, "node_modules/chokidar": { "version": "3.6.0", @@ -289,11 +263,11 @@ } }, "node_modules/commander": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz", - "integrity": "sha512-PhbTMT+ilDXZKqH8xbvuUY2ZEQNef0Q7DKxgoEKb4ccytsdvVVJmYqR0sGbi96nxU6oGrwEIQnclpK2NBZuQlg==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz", + "integrity": "sha512-0fLycpl1UMTGX257hRsu/arL/cUbcvQM4zMKwvLvzXtfdezIV4yotPS2dYtknF+NmEfWSoCEF6+hj9XLm/6hEw==", "engines": { - "node": ">= 0.6.x" + "node": ">= 0.4.x" } }, "node_modules/concat-map": { @@ -301,15 +275,6 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, - "node_modules/constantinople": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.0.2.tgz", - "integrity": "sha512-UnEggAQrmhxuTxlb7n1OsTtagNXWUv2CRlOogZhWOU4jLK4EJEbF8UDSNxuGu+jVtWNtO2j51ab2H1wlBIzF/w==", - "deprecated": "Please update to at least constantinople 3.1.1", - "dependencies": { - "acorn": "^2.1.0" - } - }, "node_modules/content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", @@ -385,25 +350,6 @@ "node": ">= 0.10" } }, - "node_modules/css": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/css/-/css-1.0.8.tgz", - "integrity": "sha512-qmTYWhHk910nQWnGqMAiWWPQlB6tESiWgNebQJmiozOAGcBAQ1+U/UzUOkhdrcshlkSRRiKWodwmVvO0OmnIGg==", - "dependencies": { - "css-parse": "1.0.4", - "css-stringify": "1.0.5" - } - }, - "node_modules/css-parse": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz", - "integrity": "sha512-pfstzKVRZiHprDXdsmtfH1HYUEw22lzjuHdnpe1hscwoQvgW2C5zDQIBE0RKoALEReTn9W1ECdY8uaT/kO4VfA==" - }, - "node_modules/css-stringify": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz", - "integrity": "sha512-aIThpcErhG5EyHorGqNlTh0TduNBqLrrXLO3x5rku3ZKBxuVfY+T7noyM2G2X/01iQANqJUb6d3+FLoa+N7Xwg==" - }, "node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -547,6 +493,64 @@ "resolved": "https://registry.npmjs.org/express-async-handler/-/express-async-handler-1.2.0.tgz", "integrity": "sha512-rCSVtPXRmQSW8rmik/AIb2P0op6l7r1fMW538yyvTMltCO4xQEWMmobfrIxN2V1/mVrgxB8Az3reYF6yUZw37w==" }, + "node_modules/express-session": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.18.0.tgz", + "integrity": "sha512-m93QLWr0ju+rOwApSsyso838LQwgfs44QtOP/WBiwtAgPIo/SAh1a5c6nn2BR6mFNZehTpqKDESzP+fRHVbxwQ==", + "dependencies": { + "cookie": "0.6.0", + "cookie-signature": "1.0.7", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-headers": "~1.0.2", + "parseurl": "~1.3.3", + "safe-buffer": "5.2.1", + "uid-safe": "~2.1.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/express-session/node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express-session/node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==" + }, + "node_modules/express-session/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express-session/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/express-validator": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/express-validator/-/express-validator-7.0.1.tgz", @@ -895,22 +899,25 @@ "node": ">=0.12.0" } }, + "node_modules/is-promise": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", + "integrity": "sha512-mjWH5XxnhMA8cFnDchr6qRP9S/kLntKuEfIYku+PaN1CnS8v+OG9O/BKpRCVRJvpIkgAZm0Pf5Is3iSSOILlcg==" + }, "node_modules/jade": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/jade/-/jade-1.9.2.tgz", - "integrity": "sha512-MhDlh3ZW0a06RiI2T/sDEYPUXTnfOkSIECRsPLiZtebz+Fi2ZaB0IVdJxSGDt6lWg4jHMEiHuq/0cPpppt1kqQ==", + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/jade/-/jade-0.29.0.tgz", + "integrity": "sha512-dWqafag/NYHYzSg+2LzFmiCux3L8ziOZx9WK1d2IU9iBEV5CJN5vHJi/yd0bNM78QBVkidt9w2NyUYQijAmh+Q==", "deprecated": "Jade has been renamed to pug, please install the latest version of pug instead of jade", "dependencies": { - "character-parser": "1.2.1", - "commander": "~2.6.0", - "constantinople": "~3.0.1", - "mkdirp": "~0.5.0", - "transformers": "2.1.0", - "void-elements": "~2.0.1", - "with": "~4.0.0" + "character-parser": "~1.0.0", + "commander": "0.6.1", + "mkdirp": "0.3.x", + "monocle": "~0.1.43", + "transformers": "~1.8.0" }, "bin": { - "jade": "bin/jade.js" + "jade": "bin/jade" } }, "node_modules/kareem": { @@ -993,24 +1000,11 @@ "node": "*" } }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", + "integrity": "sha512-8OCq0De/h9ZxseqzCH8Kw/Filf5pF/vMI6+BH7Lu0jXz2pqYCjTAQRolSxRIi+Ax+oCCjlxoJMP0YQ4XlrQNHg==", + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)" }, "node_modules/mongodb": { "version": "6.5.0", @@ -1092,6 +1086,25 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, + "node_modules/monocle": { + "version": "0.1.48", + "resolved": "https://registry.npmjs.org/monocle/-/monocle-0.1.48.tgz", + "integrity": "sha512-QW9bwJPOR8HOYyqRnukMQ8qRy/tBJuZuYaC/vXCbCUfZqhmO04+JeIKNWoJpgLqhvp5LQkSoDmKA3uKWZXXwDg==", + "dependencies": { + "readdirp": "~0.2.3" + } + }, + "node_modules/monocle/node_modules/readdirp": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-0.2.5.tgz", + "integrity": "sha512-j3/RLxRiCZSei/4UaYaOAqHa+rQ8ZL9vpolGO9E7mLXiVTb7Fu99eTG74ZmaB/4gCGgy7Veq+U6vw8y7sKJiTw==", + "dependencies": { + "minimatch": ">=0.2.4" + }, + "engines": { + "node": ">=0.4" + } + }, "node_modules/morgan": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", @@ -1265,14 +1278,6 @@ "node": ">= 0.8" } }, - "node_modules/optimist": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==", - "dependencies": { - "wordwrap": "~0.0.2" - } - }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -1297,6 +1302,14 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/promise": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-2.0.0.tgz", + "integrity": "sha512-OgMc+sxI3zWF8D5BJGtA0z7/IsrDy1/0cPaDv6HPpqa2fSTo7AdON5U10NbZCUeF+zCAj3PtfPE50Hf02386aA==", + "dependencies": { + "is-promise": "~1" + } + }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -1336,6 +1349,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/random-bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", + "integrity": "sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -1579,17 +1600,6 @@ "node": ">=10" } }, - "node_modules/source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==", - "dependencies": { - "amdefine": ">=0.0.4" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/sparse-bitfield": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", @@ -1659,27 +1669,12 @@ } }, "node_modules/transformers": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/transformers/-/transformers-2.1.0.tgz", - "integrity": "sha512-zJf5m2EIOngmBbDe2fhTPpCjzM2qkZVqrFJZc2jaln+KBeEaYKhS2QMOIkfVrNUyoOwqgbTwOHATzr3jZRQDyg==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/transformers/-/transformers-1.8.3.tgz", + "integrity": "sha512-7PSrTe7KFMh98C7aNSUNWSbkAx7BARex7eBGICvBD3ygaYh/+9OAkWU7qOL8iguaNxQptRdcUHOu8+YUtKbdyA==", "deprecated": "Deprecated, use jstransformer", "dependencies": { - "css": "~1.0.8", - "promise": "~2.0", - "uglify-js": "~2.2.5" - } - }, - "node_modules/transformers/node_modules/is-promise": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", - "integrity": "sha512-mjWH5XxnhMA8cFnDchr6qRP9S/kLntKuEfIYku+PaN1CnS8v+OG9O/BKpRCVRJvpIkgAZm0Pf5Is3iSSOILlcg==" - }, - "node_modules/transformers/node_modules/promise": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-2.0.0.tgz", - "integrity": "sha512-OgMc+sxI3zWF8D5BJGtA0z7/IsrDy1/0cPaDv6HPpqa2fSTo7AdON5U10NbZCUeF+zCAj3PtfPE50Hf02386aA==", - "dependencies": { - "is-promise": "~1" + "promise": "~2.0" } }, "node_modules/type-is": { @@ -1694,19 +1689,15 @@ "node": ">= 0.6" } }, - "node_modules/uglify-js": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz", - "integrity": "sha512-viLk+/8G0zm2aKt1JJAVcz5J/5ytdiNaIsKgrre3yvSUjwVG6ZUujGH7E2TiPigZUwLYCe7eaIUEP2Zka2VJPA==", + "node_modules/uid-safe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", + "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", "dependencies": { - "optimist": "~0.3.5", - "source-map": "~0.1.7" - }, - "bin": { - "uglifyjs": "bin/uglifyjs" + "random-bytes": "~1.0.0" }, "engines": { - "node": ">=0.4.0" + "node": ">= 0.8" } }, "node_modules/undefsafe": { @@ -1746,14 +1737,6 @@ "node": ">= 0.8" } }, - "node_modules/void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/webidl-conversions": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", @@ -1773,34 +1756,6 @@ "engines": { "node": ">=16" } - }, - "node_modules/with": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/with/-/with-4.0.3.tgz", - "integrity": "sha512-mJZFpyEc1JTAdxhi/vhVeAM2S7vsltEKDiexDDo1HuAzlYKhcVUU6cwY8cHrFYdt82ZNkfKCeyhA3IYFegI0Kg==", - "dependencies": { - "acorn": "^1.0.1", - "acorn-globals": "^1.0.3" - } - }, - "node_modules/with/node_modules/acorn": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz", - "integrity": "sha512-FsqWmApWGMGLKKNpHt12PMc5AK7BaZee0WRh04fCysmTzHe+rrKOa2MKjORhnzfpe4r0JnfdqHn02iDA9Dqj2A==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==", - "engines": { - "node": ">=0.4.0" - } } } } diff --git a/package.json b/package.json index 485b15b..125376f 100644 --- a/package.json +++ b/package.json @@ -13,9 +13,10 @@ "dotenv": "^16.4.5", "express": "^4.19.2", "express-async-handler": "^1.2.0", + "express-session": "^1.18.0", "express-validator": "^7.0.1", "http-errors": "~1.6.3", - "jade": "^1.9.2", + "jade": "^0.29.0", "mongoose": "^8.3.4", "morgan": "~1.9.1", "nodemon": "^3.1.0" diff --git a/routes/index.js b/routes/index.js index bb04edf..a64625e 100644 --- a/routes/index.js +++ b/routes/index.js @@ -6,7 +6,11 @@ const StringUtils = require("../utils/StringUtil"); /* GET home page. */ router.get('/', function (req, res, next) { - res.render('index', { title: 'Express' }); + const session = req.session; + session['key'] = 'testvalue'; + console.log(session); + res.setHeader('set-cookies', session['key']); + res.send('test'); }); router.get('/user', async function (req, res, next) { @@ -27,6 +31,10 @@ router.post('/login', async function (req, res, next) { } } + console.log(req.session); + console.log(body.account); + req.session.userid = body.account; + console.log(req.session); res.send('return ok'); }); diff --git a/utils/StringUtil.js b/utils/StringUtil.js index da919e8..e7c4026 100644 --- a/utils/StringUtil.js +++ b/utils/StringUtil.js @@ -1,7 +1,7 @@ /** * * @param {*} obj 任意值 - * @returns true - obj不为空, false - obj为空 + * @returns {Boolean} obj是否为空 */ exports.isNotEmpty = function (obj) { if (obj === null || obj === undefined || Object.keys(obj).length === 0) { @@ -15,6 +15,5 @@ exports.isNotEmpty = function (obj) { if (obj instanceof Array) { return Array.length(obj) === 0 ? false : true; } - console.log('111'); return true; } \ No newline at end of file