xiaoxian521 4 жил өмнө
parent
commit
9a5af7427c

+ 81 - 5
backend/package-lock.json

@@ -717,6 +717,11 @@
         }
         }
       }
       }
     },
     },
+    "denque": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/denque/-/denque-1.4.1.tgz",
+      "integrity": "sha512-OfzPuSZKGcgr96rf1oODnfjqBFmr1DVoc/TrItj3Ohe0Ah1C5WX5Baquw/9U9KovnQ88EqmJbD66rKYUQYN1tQ=="
+    },
     "depd": {
     "depd": {
       "version": "1.1.2",
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
       "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
@@ -1684,6 +1689,14 @@
       "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=",
       "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=",
       "dev": true
       "dev": true
     },
     },
+    "generate-function": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz",
+      "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==",
+      "requires": {
+        "is-property": "^1.0.2"
+      }
+    },
     "get-stream": {
     "get-stream": {
       "version": "3.0.0",
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
       "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
@@ -2064,6 +2077,11 @@
         "isobject": "^3.0.1"
         "isobject": "^3.0.1"
       }
       }
     },
     },
+    "is-property": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
+      "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ="
+    },
     "is-redirect": {
     "is-redirect": {
       "version": "1.0.0",
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz",
       "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz",
@@ -2199,6 +2217,11 @@
         }
         }
       }
       }
     },
     },
+    "long": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
+      "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
+    },
     "lowercase-keys": {
     "lowercase-keys": {
       "version": "1.0.1",
       "version": "1.0.1",
       "resolved": "http://192.168.250.101:4873/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
       "resolved": "http://192.168.250.101:4873/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
@@ -2209,7 +2232,6 @@
       "version": "4.1.5",
       "version": "4.1.5",
       "resolved": "http://192.168.250.101:4873/lru-cache/-/lru-cache-4.1.5.tgz",
       "resolved": "http://192.168.250.101:4873/lru-cache/-/lru-cache-4.1.5.tgz",
       "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=",
       "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=",
-      "dev": true,
       "requires": {
       "requires": {
         "pseudomap": "^1.0.2",
         "pseudomap": "^1.0.2",
         "yallist": "^2.1.2"
         "yallist": "^2.1.2"
@@ -2342,6 +2364,52 @@
       "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
       "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
       "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
       "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
     },
     },
+    "mysql2": {
+      "version": "2.2.5",
+      "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-2.2.5.tgz",
+      "integrity": "sha512-XRqPNxcZTpmFdXbJqb+/CtYVLCx14x1RTeNMD4954L331APu75IC74GDqnZMEt1kwaXy6TySo55rF2F3YJS78g==",
+      "requires": {
+        "denque": "^1.4.1",
+        "generate-function": "^2.3.1",
+        "iconv-lite": "^0.6.2",
+        "long": "^4.0.0",
+        "lru-cache": "^6.0.0",
+        "named-placeholders": "^1.1.2",
+        "seq-queue": "^0.0.5",
+        "sqlstring": "^2.3.2"
+      },
+      "dependencies": {
+        "iconv-lite": {
+          "version": "0.6.2",
+          "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz",
+          "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==",
+          "requires": {
+            "safer-buffer": ">= 2.1.2 < 3.0.0"
+          }
+        },
+        "lru-cache": {
+          "version": "6.0.0",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+          "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+          "requires": {
+            "yallist": "^4.0.0"
+          }
+        },
+        "yallist": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+          "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+        }
+      }
+    },
+    "named-placeholders": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.2.tgz",
+      "integrity": "sha512-wiFWqxoLL3PGVReSZpjLVxyJ1bRqe+KKJVbr4hGs1KWfTZTQyezHFBbuKj9hsizHyGV2ne7EMjHdxEGAybD5SA==",
+      "requires": {
+        "lru-cache": "^4.1.3"
+      }
+    },
     "nan": {
     "nan": {
       "version": "2.14.2",
       "version": "2.14.2",
       "resolved": "http://192.168.250.101:4873/nan/-/nan-2.14.2.tgz",
       "resolved": "http://192.168.250.101:4873/nan/-/nan-2.14.2.tgz",
@@ -2631,8 +2699,7 @@
     "pseudomap": {
     "pseudomap": {
       "version": "1.0.2",
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
       "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
-      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
-      "dev": true
+      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
     },
     },
     "pstree.remy": {
     "pstree.remy": {
       "version": "1.1.8",
       "version": "1.1.8",
@@ -2848,6 +2915,11 @@
         }
         }
       }
       }
     },
     },
+    "seq-queue": {
+      "version": "0.0.5",
+      "resolved": "https://registry.npmjs.org/seq-queue/-/seq-queue-0.0.5.tgz",
+      "integrity": "sha1-1WgS4cAXpuTnw+Ojeh2m143TyT4="
+    },
     "serve-static": {
     "serve-static": {
       "version": "1.14.1",
       "version": "1.14.1",
       "resolved": "http://192.168.250.101:4873/serve-static/-/serve-static-1.14.1.tgz",
       "resolved": "http://192.168.250.101:4873/serve-static/-/serve-static-1.14.1.tgz",
@@ -3071,6 +3143,11 @@
       "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
       "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
       "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
       "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
     },
     },
+    "sqlstring": {
+      "version": "2.3.2",
+      "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.2.tgz",
+      "integrity": "sha512-vF4ZbYdKS8OnoJAWBmMxCQDkiEBkGQYU7UZPtL8flbDRSNkhaXvRJ279ZtI6M+zDaQovVU4tuRgzK5fVhvFAhg=="
+    },
     "stack-trace": {
     "stack-trace": {
       "version": "0.0.10",
       "version": "0.0.10",
       "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
       "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
@@ -3548,8 +3625,7 @@
     "yallist": {
     "yallist": {
       "version": "2.1.2",
       "version": "2.1.2",
       "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
       "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
-      "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
-      "dev": true
+      "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
     },
     },
     "z-schema": {
     "z-schema": {
       "version": "3.25.1",
       "version": "3.25.1",

+ 1 - 0
backend/package.json

@@ -22,6 +22,7 @@
     "dotenv": "^8.2.0",
     "dotenv": "^8.2.0",
     "express": "^4.17.1",
     "express": "^4.17.1",
     "express-swagger-generator": "^1.1.17",
     "express-swagger-generator": "^1.1.17",
+    "mysql2": "^2.2.5",
     "winston": "^3.3.3"
     "winston": "^3.3.3"
   }
   }
 }
 }

+ 6 - 2
backend/src/config/index.ts

@@ -49,9 +49,13 @@ export default {
     concurrency: parseInt(process.env.AGENDA_CONCURRENCY, 10),
     concurrency: parseInt(process.env.AGENDA_CONCURRENCY, 10),
   },
   },
   mysql: {
   mysql: {
-    user: 'admin',
-    password: '123456'
+    host: 'localhost',
+    charset: 'utf8_general_ci',
+    user: 'root',
+    password: '123456789'
   },
   },
+  mongodb:{},
+  sqlite:{},
   api: {
   api: {
     prefix: '/api',
     prefix: '/api',
   },
   },

+ 6 - 0
backend/src/models/mysql/index.ts

@@ -0,0 +1,6 @@
+// 创建用户表
+const user = 'CREATE TABLE if not EXISTS users(id int PRIMARY key auto_increment,account varchar(32),psw varchar(32))'
+
+export {
+    user
+}

+ 5 - 1
backend/src/server.ts

@@ -1,10 +1,14 @@
 import app from "./app";
 import app from "./app";
 import * as open from "open";
 import * as open from "open";
 import config from './config';
 import config from './config';
+import { user } from "./models/mysql";
 import Logger from './loaders/logger';
 import Logger from './loaders/logger';
-const expressSwagger = require('express-swagger-generator')(app)
+import { queryTable } from "./utils/initMysql";
+const expressSwagger = require('express-swagger-generator')(app);
 expressSwagger(config.options)
 expressSwagger(config.options)
 
 
+queryTable(user)
+
 // 引入测试数据
 // 引入测试数据
 const test = require("./router/api/test")
 const test = require("./router/api/test")
 
 

+ 14 - 0
backend/src/utils/initMysql.ts

@@ -0,0 +1,14 @@
+import * as mysql from "mysql2";
+import mysqlConfig from "../config";
+import Logger from "../loaders/logger";
+
+//user数据库
+const connection = mysql.createConnection(Object.assign({ database: 'user' }, mysqlConfig.mysql))
+
+export function queryTable(s: string):void {
+        connection.query(s, (err) => {
+            err ? Logger.error(err) : Logger.info(`${s}表创建成功`)
+        })
+    }
+
+