diff --git a/game-server/app/consts b/game-server/app/consts new file mode 120000 index 000000000..b8db965de --- /dev/null +++ b/game-server/app/consts @@ -0,0 +1 @@ +../../shared/consts \ No newline at end of file diff --git a/game-server/app/consts/consts.ts b/game-server/app/consts/consts.ts deleted file mode 100644 index 4ba501735..000000000 --- a/game-server/app/consts/consts.ts +++ /dev/null @@ -1,8 +0,0 @@ -export const TURBO_CORE_URL = 'https://coresrv.tgamebox.cn'; -export const APP_ID = 'AXaXmIHPs9eONvzrBesD8aSKQNXYdALF'; -export const TURBO_PARM_SECRET = 'ipqw05du6ob4x130w89t31yrqd6xs005zzltcmg2zpqnvrjp1s'; - -export const ENCRYPT_IV = 'f7182j5f04e377ux'; -export const ENCRYPT_KEY = 'fiqaxijabbantusmprc234fj'; - -export const AUTH_SMS_CNT_PER_DAY = 8; \ No newline at end of file diff --git a/game-server/app/db b/game-server/app/db new file mode 120000 index 000000000..996731487 --- /dev/null +++ b/game-server/app/db @@ -0,0 +1 @@ +../../shared/db \ No newline at end of file diff --git a/game-server/app/servers/connector/handler/entryHandler.ts b/game-server/app/servers/connector/handler/entryHandler.ts index 2e3515f2e..1a26cd087 100644 --- a/game-server/app/servers/connector/handler/entryHandler.ts +++ b/game-server/app/servers/connector/handler/entryHandler.ts @@ -1,9 +1,9 @@ -import { RoleModel } from '../../../../../shared/db/Role'; -import { UserModel } from '../../../../../shared/db/User'; +import { EquipModel } from './../../../db/Equip'; +import { RoleModel } from './../../../db/Role'; +import { UserModel } from '../../../db/User'; import { Application, Session } from 'pinus'; import {FrontendSession} from 'pinus'; -import Hero from '../../../../../shared/db/Hero'; -import Equip from '../../../../../shared/db/Equip'; +import { HeroModel } from './../../../db/Hero'; export default function (app: Application) { return new EntryHandler(app); @@ -70,8 +70,8 @@ export class EntryHandler { // put user into channel let users = await self.app.rpc.chat.chatRemote.add.route(session)(role.roleId, self.app.get('serverId'), rid, true); - let heros = await Hero.findByRole(role.roleId); - let equips = await Equip.findbyRole(role.roleId); + let heros = await HeroModel.findByRole(role.roleId); + let equips = await EquipModel.findbyRole(role.roleId); role['heros'] = heros; role['equips'] = equips; return { diff --git a/game-server/app/servers/role/handler/roleHandler.ts b/game-server/app/servers/role/handler/roleHandler.ts index 3c24211cb..a3ffbcb1f 100644 --- a/game-server/app/servers/role/handler/roleHandler.ts +++ b/game-server/app/servers/role/handler/roleHandler.ts @@ -1,6 +1,6 @@ -import { CounterModel } from '../../../../../shared/db/Counter'; -import { HeroModel } from '../../../../../shared/db/Hero'; -import { EquipModel } from '../../../../../shared/db/Equip'; +import { CounterModel } from '../../../db/Counter'; +import { HeroModel } from '../../../db/Hero'; +import { EquipModel } from '../../../db/Equip'; import {Application, BackendSession, createTcpMailBox} from 'pinus'; export default function(app: Application) { diff --git a/game-server/package-lock.json b/game-server/package-lock.json index 954ff6f07..44b8e3a47 100644 --- a/game-server/package-lock.json +++ b/game-server/package-lock.json @@ -31,9 +31,9 @@ } }, "@typegoose/typegoose": { - "version": "7.3.0", - "resolved": "https://registry.npm.taobao.org/@typegoose/typegoose/download/@typegoose/typegoose-7.3.0.tgz", - "integrity": "sha1-Rp6ldTzFIP49D1xOVZsBpfsZHZM=", + "version": "7.3.5", + "resolved": "https://registry.npm.taobao.org/@typegoose/typegoose/download/@typegoose/typegoose-7.3.5.tgz", + "integrity": "sha1-94517zpL5R8DkYh55qjPDR/PecA=", "requires": { "lodash": "^4.17.19", "loglevel": "^1.6.8", @@ -63,7 +63,6 @@ "version": "4.0.2", "resolved": "https://registry.npm.taobao.org/@types/bson/download/@types/bson-4.0.2.tgz", "integrity": "sha1-esy4WUL8ObvbdRXU3kN8BPaYEV8=", - "dev": true, "requires": { "@types/node": "*" } @@ -90,20 +89,18 @@ } }, "@types/mongodb": { - "version": "3.5.25", - "resolved": "https://registry.npm.taobao.org/@types/mongodb/download/@types/mongodb-3.5.25.tgz", - "integrity": "sha1-qxh9sE15+OPxWvI2Mn3JE52dRzY=", - "dev": true, + "version": "3.5.27", + "resolved": "https://registry.npm.taobao.org/@types/mongodb/download/@types/mongodb-3.5.27.tgz?cache=0&sync_timestamp=1599138259359&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fmongodb%2Fdownload%2F%40types%2Fmongodb-3.5.27.tgz", + "integrity": "sha1-FYp6Q84l7zWSrIpi5iqzi+v2YfI=", "requires": { "@types/bson": "*", "@types/node": "*" } }, "@types/mongoose": { - "version": "5.7.35", - "resolved": "https://registry.npm.taobao.org/@types/mongoose/download/@types/mongoose-5.7.35.tgz?cache=0&sync_timestamp=1596698562534&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fmongoose%2Fdownload%2F%40types%2Fmongoose-5.7.35.tgz", - "integrity": "sha1-gzQUB2KAS4Q08bw+RSU0+qH/saY=", - "dev": true, + "version": "5.7.36", + "resolved": "https://registry.npm.taobao.org/@types/mongoose/download/@types/mongoose-5.7.36.tgz", + "integrity": "sha1-La4oxjBBxq+6ioPqApafRjs/ECE=", "requires": { "@types/mongodb": "*", "@types/node": "*" @@ -262,9 +259,9 @@ } }, "bson": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/bson/download/bson-1.1.4.tgz", - "integrity": "sha1-92hw15nxW4VN/7fuMvCodHl/fok=" + "version": "1.1.5", + "resolved": "https://registry.npm.taobao.org/bson/download/bson-1.1.5.tgz?cache=0&sync_timestamp=1597069108497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbson%2Fdownload%2Fbson-1.1.5.tgz", + "integrity": "sha1-Kqrpj832dQwISLDLod3sPHMGCjQ=" }, "buffer": { "version": "5.6.0", @@ -705,9 +702,9 @@ } }, "lodash": { - "version": "4.17.19", - "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.19.tgz?cache=0&sync_timestamp=1594227104529&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.19.tgz", - "integrity": "sha1-5I3e2+MLMyF4PFtDAfvTU7weSks=" + "version": "4.17.20", + "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.20.tgz?cache=0&sync_timestamp=1597336097104&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.20.tgz", + "integrity": "sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI=" }, "log4js": { "version": "6.3.0", @@ -722,9 +719,9 @@ } }, "loglevel": { - "version": "1.6.8", - "resolved": "https://registry.npm.taobao.org/loglevel/download/loglevel-1.6.8.tgz", - "integrity": "sha1-iiX7ddCSIw7NRFcnDYC1TigBEXE=" + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/loglevel/download/loglevel-1.7.0.tgz?cache=0&sync_timestamp=1598447642950&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floglevel%2Fdownload%2Floglevel-1.7.0.tgz", + "integrity": "sha1-coFmhVp0DVnTjbAc9G8ELKoEG7A=" }, "make-error": { "version": "1.3.6", @@ -773,9 +770,9 @@ } }, "mongodb": { - "version": "3.5.10", - "resolved": "https://registry.npm.taobao.org/mongodb/download/mongodb-3.5.10.tgz", - "integrity": "sha1-7UFJiNKTW1KQBM6tbf3SJoEliIc=", + "version": "3.6.1", + "resolved": "https://registry.npm.taobao.org/mongodb/download/mongodb-3.6.1.tgz", + "integrity": "sha1-LFzCqBRWuhg+jEMtgOeHMsxy2r0=", "requires": { "bl": "^2.2.0", "bson": "^1.1.4", @@ -786,9 +783,9 @@ }, "dependencies": { "bl": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/bl/download/bl-2.2.0.tgz?cache=0&sync_timestamp=1584503263385&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbl%2Fdownload%2Fbl-2.2.0.tgz", - "integrity": "sha1-4aV0zfUo5AUwGbuACwQcCsiNpJM=", + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/bl/download/bl-2.2.1.tgz?cache=0&sync_timestamp=1599194088618&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbl%2Fdownload%2Fbl-2.2.1.tgz", + "integrity": "sha1-jBGntzBlXF1WiYzchxIk9A/ZAdU=", "requires": { "readable-stream": "^2.3.5", "safe-buffer": "^5.1.1" @@ -797,13 +794,13 @@ } }, "mongoose": { - "version": "5.9.27", - "resolved": "https://registry.npm.taobao.org/mongoose/download/mongoose-5.9.27.tgz?cache=0&sync_timestamp=1596210635108&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmongoose%2Fdownload%2Fmongoose-5.9.27.tgz", - "integrity": "sha1-kUy8KkVFIJNPu/LA42bZx9gHazs=", + "version": "5.10.4", + "resolved": "https://registry.npm.taobao.org/mongoose/download/mongoose-5.10.4.tgz", + "integrity": "sha1-CVGSYZmCQ95H7XLtKNyMOtv2qRA=", "requires": { "bson": "^1.1.4", "kareem": "2.3.1", - "mongodb": "3.5.10", + "mongodb": "3.6.1", "mongoose-legacy-pluralize": "1.0.2", "mpath": "0.7.0", "mquery": "3.2.2", @@ -1308,7 +1305,7 @@ }, "sift": { "version": "7.0.1", - "resolved": "https://registry.npm.taobao.org/sift/download/sift-7.0.1.tgz?cache=0&sync_timestamp=1594916082498&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsift%2Fdownload%2Fsift-7.0.1.tgz", + "resolved": "https://registry.npm.taobao.org/sift/download/sift-7.0.1.tgz", "integrity": "sha1-R9YsULFZ0xbxNy+LU/nBDNIaSwg=" }, "sliced": { diff --git a/game-server/package.json b/game-server/package.json index 83cfa9395..47a6a5ba4 100644 --- a/game-server/package.json +++ b/game-server/package.json @@ -13,14 +13,15 @@ "gen-api-ref": "node ../../../node_modules/typedoc/bin/typedoc --mode file --hideGenerator --excludeExternals --ignoreCompilerErrors --out ../../../run/site/public/api-reference/pinus-loader lib/" }, "dependencies": { - "@typegoose/typegoose": "^7.3.0", + "@typegoose/typegoose": "^7.3.5", "@types/bluebird": "^3.5.19", "@types/crc": "^3.4.0", + "@types/mongoose": "^5.7.36", "@types/node": "8.10.54", "@types/redis": "^2.8.25", "bluebird": "^3.5.1", "crc": "^3.5.0", - "mongoose": "^5.9.27", + "mongoose": "^5.10.4", "pinus": "^1.4.9", "pinus-robot": "^1.4.9", "pinus-robot-plugin": "^1.4.9", @@ -30,7 +31,6 @@ "ts-node": "^8.2.0" }, "devDependencies": { - "@types/mongoose": "^5.7.35", "tslint": "^5.9.1", "typescript": "^3.9.7" } diff --git a/game-server/setEnv.sh b/game-server/setEnv.sh deleted file mode 100755 index 465727065..000000000 --- a/game-server/setEnv.sh +++ /dev/null @@ -1,3 +0,0 @@ -npm i -D @types/mongoose -npm i -s @typegoose/typegoose -npm i -s mongoose diff --git a/game-server/startGameServer.sh b/game-server/startGameServer.sh index 2ec48f731..d73a61841 100644 --- a/game-server/startGameServer.sh +++ b/game-server/startGameServer.sh @@ -2,6 +2,6 @@ cnpm install -d #安装依赖库 npm run build node generatePm2Config.js #使用pm2来做进程管理,生成进程配置文件 -rm -rf /game-server/shared -cp -r /game-server/dist/shared /game-server +#rm -rf /game-server/shared +#cp -r /game-server/dist/shared /game-server pm2-runtime pomeloPm2Start.json #pm2 启动游戏服务器 diff --git a/npm-install.sh b/npm-install.sh index 0858be41d..3cc39710e 100644 --- a/npm-install.sh +++ b/npm-install.sh @@ -1,3 +1,4 @@ +npm install cd ./game-server && npm install -d echo '============ game-server npm installed ============' cd .. diff --git a/package-lock.json b/package-lock.json index 5e056b8f9..2dca97f7f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,8 @@ { - "requires": true, + "name": "zyz_server", + "version": "1.0.0", "lockfileVersion": 1, + "requires": true, "dependencies": { "@typegoose/typegoose": { "version": "7.3.5", @@ -12,13 +14,19 @@ "reflect-metadata": "^0.1.13", "semver": "^7.3.2", "tslib": "^2.0.0" + }, + "dependencies": { + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.2.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.2.tgz", + "integrity": "sha1-YElisFK4HtB4aq6EOJ/7pw/9OTg=" + } } }, "@types/bson": { "version": "4.0.2", "resolved": "https://registry.npm.taobao.org/@types/bson/download/@types/bson-4.0.2.tgz", "integrity": "sha1-esy4WUL8ObvbdRXU3kN8BPaYEV8=", - "dev": true, "requires": { "@types/node": "*" } @@ -27,7 +35,6 @@ "version": "3.5.27", "resolved": "https://registry.npm.taobao.org/@types/mongodb/download/@types/mongodb-3.5.27.tgz?cache=0&sync_timestamp=1599138259359&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fmongodb%2Fdownload%2F%40types%2Fmongodb-3.5.27.tgz", "integrity": "sha1-FYp6Q84l7zWSrIpi5iqzi+v2YfI=", - "dev": true, "requires": { "@types/bson": "*", "@types/node": "*" @@ -37,22 +44,20 @@ "version": "5.7.36", "resolved": "https://registry.npm.taobao.org/@types/mongoose/download/@types/mongoose-5.7.36.tgz", "integrity": "sha1-La4oxjBBxq+6ioPqApafRjs/ECE=", - "dev": true, "requires": { "@types/mongodb": "*", "@types/node": "*" } }, "@types/node": { - "version": "14.6.4", - "resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-14.6.4.tgz?cache=0&sync_timestamp=1599568905640&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-14.6.4.tgz", - "integrity": "sha1-oUXMC7FO+cR3c2G3u6+lz446y1o=", - "dev": true + "version": "14.10.0", + "resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-14.10.0.tgz?cache=0&sync_timestamp=1599757029267&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-14.10.0.tgz", + "integrity": "sha1-FYFd/4LI3DCCf2sShvhlkClFCVo=" }, "bl": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/bl/download/bl-2.2.0.tgz?cache=0&sync_timestamp=1584503263385&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbl%2Fdownload%2Fbl-2.2.0.tgz", - "integrity": "sha1-4aV0zfUo5AUwGbuACwQcCsiNpJM=", + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/bl/download/bl-2.2.1.tgz?cache=0&sync_timestamp=1599194088618&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbl%2Fdownload%2Fbl-2.2.1.tgz", + "integrity": "sha1-jBGntzBlXF1WiYzchxIk9A/ZAdU=", "requires": { "readable-stream": "^2.3.5", "safe-buffer": "^5.1.1" @@ -114,19 +119,25 @@ "integrity": "sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI=" }, "loglevel": { - "version": "1.6.8", - "resolved": "https://registry.npm.taobao.org/loglevel/download/loglevel-1.6.8.tgz", - "integrity": "sha1-iiX7ddCSIw7NRFcnDYC1TigBEXE=" + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/loglevel/download/loglevel-1.7.0.tgz?cache=0&sync_timestamp=1598447642950&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floglevel%2Fdownload%2Floglevel-1.7.0.tgz", + "integrity": "sha1-coFmhVp0DVnTjbAc9G8ELKoEG7A=" }, "memory-pager": { "version": "1.5.0", "resolved": "https://registry.npm.taobao.org/memory-pager/download/memory-pager-1.5.0.tgz", - "integrity": "sha1-2HUWVdItOEaCdByXLyw9bfo+ZrU=" + "integrity": "sha1-2HUWVdItOEaCdByXLyw9bfo+ZrU=", + "optional": true + }, + "moment": { + "version": "2.27.0", + "resolved": "https://registry.npm.taobao.org/moment/download/moment-2.27.0.tgz?cache=0&sync_timestamp=1592516084857&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmoment%2Fdownload%2Fmoment-2.27.0.tgz", + "integrity": "sha1-i/9OPiaiNiIN/j423nVrbrqgEF0=" }, "mongodb": { - "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/mongodb/download/mongodb-3.6.0.tgz", - "integrity": "sha1-ur1xcuxxfi7T+F4Hmz8aop3ORyQ=", + "version": "3.6.1", + "resolved": "https://registry.npm.taobao.org/mongodb/download/mongodb-3.6.1.tgz", + "integrity": "sha1-LFzCqBRWuhg+jEMtgOeHMsxy2r0=", "requires": { "bl": "^2.2.0", "bson": "^1.1.4", @@ -137,9 +148,9 @@ } }, "mongoose": { - "version": "5.10.3", - "resolved": "https://registry.npm.taobao.org/mongoose/download/mongoose-5.10.3.tgz", - "integrity": "sha1-7yjNo/EeW/daMJol6YmfhWpaU3A=", + "version": "5.10.4", + "resolved": "https://registry.npm.taobao.org/mongoose/download/mongoose-5.10.4.tgz", + "integrity": "sha1-CVGSYZmCQ95H7XLtKNyMOtv2qRA=", "requires": { "bson": "^1.1.4", "kareem": "2.3.1", @@ -152,21 +163,6 @@ "safe-buffer": "5.2.1", "sift": "7.0.1", "sliced": "1.0.1" - }, - "dependencies": { - "mongodb": { - "version": "3.6.1", - "resolved": "https://registry.npm.taobao.org/mongodb/download/mongodb-3.6.1.tgz?cache=0&sync_timestamp=1599050790615&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmongodb%2Fdownload%2Fmongodb-3.6.1.tgz", - "integrity": "sha1-LFzCqBRWuhg+jEMtgOeHMsxy2r0=", - "requires": { - "bl": "^2.2.0", - "bson": "^1.1.4", - "denque": "^1.4.1", - "require_optional": "^1.0.1", - "safe-buffer": "^5.1.2", - "saslprep": "^1.0.0" - } - } } }, "mongoose-legacy-pluralize": { @@ -246,13 +242,6 @@ "requires": { "resolve-from": "^2.0.0", "semver": "^5.1.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", - "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=" - } } }, "resolve-from": { @@ -269,18 +258,19 @@ "version": "1.0.3", "resolved": "https://registry.npm.taobao.org/saslprep/download/saslprep-1.0.3.tgz", "integrity": "sha1-TAL5RrVs9UKX40e6EJPnrKxM8iY=", + "optional": true, "requires": { "sparse-bitfield": "^3.0.3" } }, "semver": { - "version": "7.3.2", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.2.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.2.tgz", - "integrity": "sha1-YElisFK4HtB4aq6EOJ/7pw/9OTg=" + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=" }, "sift": { "version": "7.0.1", - "resolved": "https://registry.npm.taobao.org/sift/download/sift-7.0.1.tgz?cache=0&sync_timestamp=1594916082498&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsift%2Fdownload%2Fsift-7.0.1.tgz", + "resolved": "https://registry.npm.taobao.org/sift/download/sift-7.0.1.tgz", "integrity": "sha1-R9YsULFZ0xbxNy+LU/nBDNIaSwg=" }, "sliced": { @@ -292,6 +282,7 @@ "version": "3.0.3", "resolved": "https://registry.npm.taobao.org/sparse-bitfield/download/sparse-bitfield-3.0.3.tgz", "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=", + "optional": true, "requires": { "memory-pager": "^1.0.2" } diff --git a/package.json b/package.json new file mode 100644 index 000000000..3b9fe858a --- /dev/null +++ b/package.json @@ -0,0 +1,22 @@ +{ + "name": "zyz_server", + "version": "1.0.0", + "description": "- 安装 ts 环境 `npm install -g tsc ts-node typescript` - 安装 pinus `npm install -g pinus`", + "main": "index.js", + "dependencies": { + "@typegoose/typegoose": "^7.3.5", + "@types/mongoose": "^5.7.36", + "moment": "^2.27.0", + "mongoose": "^5.10.4" + }, + "devDependencies": {}, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "https://gitlab.trgame.cn/zyztech/zyz_server.git" + }, + "author": "", + "license": "ISC" +} diff --git a/shared/db/Equip.ts b/shared/db/Equip.ts index 142eeaec5..67b56ed19 100644 --- a/shared/db/Equip.ts +++ b/shared/db/Equip.ts @@ -1,5 +1,3 @@ -import { COUNTER } from './../consts/consts'; -import { CounterModel } from './Counter'; import BaseModel from './BaseModel'; import { index, getModelForClass, prop } from '@typegoose/typegoose'; @@ -47,12 +45,12 @@ export default class Equip extends BaseModel { } public static async createEquip(equipInfo: {roleId: string, roleName: string, eid: number, seqId: number, type: number, eName: string}, lean = true) { - const equip = await EquipModel.findOneAndUpdate({ seqId: equipInfo.seqId }, equipInfo, {upsert: true, new: true}).lean(); + const equip = await EquipModel.findOneAndUpdate({ seqId: equipInfo.seqId }, equipInfo, {upsert: true, new: true}).lean(lean); return equip; } public static async putOn(hid: number, equipId: string, lean = true) { - const equip = await EquipModel.findOneAndUpdate({ _id: equipId }, {hid}, {new: true}); + const equip = await EquipModel.findOneAndUpdate({ _id: equipId }, {hid}, {new: true}).lean(lean); return equip; } } diff --git a/shared/db/Game.ts b/shared/db/Game.ts index 9ed732e7c..af40b3749 100644 --- a/shared/db/Game.ts +++ b/shared/db/Game.ts @@ -1,4 +1,4 @@ -import { APP_ID } from '../../game-server/app/consts/consts'; +import { APP_ID } from './../consts/consts'; import BaseModel from './BaseModel'; import { index, getModelForClass, prop } from '@typegoose/typegoose'; diff --git a/shared/db/Hero.ts b/shared/db/Hero.ts index 325600b5e..f201a9226 100644 --- a/shared/db/Hero.ts +++ b/shared/db/Hero.ts @@ -1,5 +1,5 @@ import BaseModel from './BaseModel'; -import { index, getModelForClass, prop, arrayProp, Ref, mongoose } from '@typegoose/typegoose'; +import { index, getModelForClass, prop, Ref, mongoose } from '@typegoose/typegoose'; import Equip from './Equip'; /** @@ -57,7 +57,9 @@ export default class Hero extends BaseModel { public static async addEquip(roleId: string, hid: number, equipId: string, lean = true) { const hero = await HeroModel.findOneAndUpdate({ roleId, hid }, {$push: {equips: equipId}}, {new: true}).lean(lean); - await Equip.putOn(hero.hid, equipId); + if (hero) { + await Equip.putOn(hero.hid, equipId); + } return hero; } diff --git a/shared/db/Role.ts b/shared/db/Role.ts index 157b6d2c4..5bc58c548 100644 --- a/shared/db/Role.ts +++ b/shared/db/Role.ts @@ -1,4 +1,3 @@ -import { CounterModel } from './Counter'; import BaseModel from './BaseModel'; import { index, getModelForClass, prop } from '@typegoose/typegoose'; import User from './User'; @@ -97,8 +96,12 @@ export default class Role extends BaseModel { return role; } - public static async createRole(userInfo: User, serverType: string, serverId: number, roleName: string) { - + public static async createRole(uid: number, serverId: number, roleInfo: {roleId: string; roleName: string; seqId: number; code: string}, lean = true) { + const user = await User.findUserByUid(uid); + if (!user) return null; + const info = Object.assign(roleInfo, { userInfo: user, serverType: user.serverType, serverId }); + const role = await RoleModel.findOneAndUpdate({ 'userInfo.uid': uid, serverId }, info, { upsert: true, new: true }).lean(lean); + return role; } } diff --git a/shared/db/User.ts b/shared/db/User.ts index d5f6b79bb..ac5dae45f 100644 --- a/shared/db/User.ts +++ b/shared/db/User.ts @@ -26,7 +26,7 @@ export default class User extends BaseModel { telHash: string; @prop({ required: true }) - channelId: string;COUNTER + channelId: string; @prop({ required: true }) guestId: string; diff --git a/web-server/app/consts b/web-server/app/consts new file mode 120000 index 000000000..b8db965de --- /dev/null +++ b/web-server/app/consts @@ -0,0 +1 @@ +../../shared/consts \ No newline at end of file diff --git a/web-server/app/consts/consts.ts b/web-server/app/consts/consts.ts deleted file mode 100644 index d7c281c1a..000000000 --- a/web-server/app/consts/consts.ts +++ /dev/null @@ -1,12 +0,0 @@ -// export const TURBO_CORE_URL = 'https://coresrv.tgamebox.cn'; -// export const APP_ID = 'AXaXmIHPs9eONvzrBesD8aSKQNXYdALF'; -// export const TURBO_PARM_SECRET = 'ipqw05du6ob4x130w89t31yrqd6xs005zzltcmg2zpqnvrjp1s'; - -// export const ENCRYPT_IV = 'f7182j5f04e377ux'; -// export const ENCRYPT_KEY = 'fiqaxijabbantusmprc234fj'; - -// export const AUTH_SMS_CNT_PER_DAY = 8; - -// export const COUNTER = { -// UID: 'uid', -// }; diff --git a/web-server/app/db b/web-server/app/db new file mode 120000 index 000000000..996731487 --- /dev/null +++ b/web-server/app/db @@ -0,0 +1 @@ +../../shared/db \ No newline at end of file diff --git a/web-server/app/db/BaseModel.ts b/web-server/app/db/BaseModel.ts deleted file mode 100644 index c269587b6..000000000 --- a/web-server/app/db/BaseModel.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { prop, pre } from '@typegoose/typegoose'; - -/** - * BaseModel -*/ -@pre('save', function(next) { - if (!this.createdAt || this.isNew) { - this.createdAt = this.updatedAt = new Date(); - } else { - this.updatedAt = new Date(); - } - next(); -}) - -export default class BaseModel { - - _id?: string - - @prop() - createdAt: Date - - @prop() - updatedAt: Date -} diff --git a/web-server/app/db/Counter.ts b/web-server/app/db/Counter.ts deleted file mode 100644 index 1f755fe61..000000000 --- a/web-server/app/db/Counter.ts +++ /dev/null @@ -1,23 +0,0 @@ -import BaseModel from './BaseModel'; -import { index, getModelForClass, prop } from '@typegoose/typegoose'; - -/** - * 自增 ID -*/ -@index({ name: 1 }) -export default class Counter extends BaseModel { - - @prop({ required: true }) - name: string; - - @prop({ required: true, default: 1 }) - seq: number; - - public static async getNewCounter(name: string, lean = true) { - const counter = await CounterModel.findOneAndUpdate({ name }, { $inc: { seq: 1 } }, { new: true, upsert: true }).lean(lean); - return counter?.seq; - } - -} - -export const CounterModel = getModelForClass(Counter); \ No newline at end of file diff --git a/web-server/app/db/Equip.ts b/web-server/app/db/Equip.ts deleted file mode 100644 index 18442509c..000000000 --- a/web-server/app/db/Equip.ts +++ /dev/null @@ -1,42 +0,0 @@ -import BaseModel from './BaseModel'; -import { index, getModelForClass, prop } from '@typegoose/typegoose'; - - -@index({ roleId: 1, hid: 1, eid: 1 }) -@index({ seqId: 1 }) -export default class Equip extends BaseModel { - @prop({ required: true }) - roleId: number; // 角色 id - @prop({ required: true }) - roleName: string; // 角色名称 - - @prop({ required: true }) - eid: number; // 装备 id - @prop({ required: true }) - type: number; // 装备类型 - @prop({ required: true }) - eName: string; // 装备名称 - @prop({ required: true }) - seqId: number; // 装备表自增 id - @prop({ required: true }) - hid: number; // 装备此装备的武将 id - - @prop({ required: true }) - lv: number; // 强化等级 - randSe: [{ // 强化随机属性 - seType: number; // 属性类型 - value: number; // 属性数值 - }]; - - @prop({ required: true }) - randRange: number; // 物攻策攻数值浮动上下限变化率,浮点数 - @prop({ required: true }) - initHoleCnt: number; // 初始珠宝孔位个数 - @prop({ required: true }) - holes: [{ - id: number; // 宝石 id,待定,也可能是 type + lv - lv: number; // 宝石等级 - }]; -} - -export const EquipModel = getModelForClass(Equip); diff --git a/web-server/app/db/Game.ts b/web-server/app/db/Game.ts deleted file mode 100644 index 0a73ed2e0..000000000 --- a/web-server/app/db/Game.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { APP_ID } from './../../../shared/consts/consts'; -import BaseModel from './BaseModel'; -import { index, getModelForClass, prop } from '@typegoose/typegoose'; - -class ServerInfo { - @prop({ required: true }) - name: string; - - @prop({ required: true }) - host: string; - - @prop({ required: false }) - port: number; - - @prop({ required: true }) - status: number; - - @prop({ required: true }) - createTime: Date; - - @prop({ required: true }) - serverType: string; -} - -/** - * 游戏字段接口 -*/ -@index({ id: 1 }) -export default class Game extends BaseModel { - - @prop({ required: true }) - id: number; - - @prop({ required: true }) - name: string; - - @prop({ required: true }) - nameEn: string; - - @prop({ required: true }) - des: string; - - @prop({ required: true }) - serverList: Array; - - @prop({ required: true }) - iconUrl: string; - - @prop({ required: true }) - version: string; - - @prop({ required: true }) - versionCode: number; - - public static async getServerListByType(serverType: string) { - let game = await GameModel.findOne().lean(); - if (!game) { - const serverInfo: ServerInfo = { name: '常山少年', host: 'pinus_test.trgame.cn', port: 3014, status: 1, createTime: new Date(), serverType: 'official' }; - const iconUrl = `https://download.tgamebox.cn/avatar/${APP_ID}/1.png`; - game = await GameModel.findOneAndUpdate( - {}, - { id: 1, name: '赵云传', nameEn: 'zyz', des: '牛逼的战棋', iconUrl, version: '0.0.1', versionCode: 1, $push: { serverList: serverInfo } }, - { upsert: true, new: true }, - ).lean(); - } - console.log(serverType, game); - let serverList: Array = game ? game.serverList : []; - serverList = serverList.filter(item => { return item.serverType === serverType; }); - console.log(serverType, serverList); - return serverList; - } -} - -export const GameModel = getModelForClass(Game); diff --git a/web-server/app/db/Hero.ts b/web-server/app/db/Hero.ts deleted file mode 100644 index d02040316..000000000 --- a/web-server/app/db/Hero.ts +++ /dev/null @@ -1,54 +0,0 @@ -import BaseModel from './BaseModel'; -import { index, getModelForClass, prop, Ref } from '@typegoose/typegoose'; -import Equip from './Equip'; - -/** - * 英雄表 -*/ -@index({ roleId: 1, hid: 1 }) -export default class Hero extends BaseModel { - - @prop({ required: true }) - roleId: number; // 角色 id - @prop({ required: true }) - roleName: string; // 角色名称 - - @prop({ required: true }) - hid: number; // 武将 id - @prop({ required: true }) - hName: string; // 武将名 - @prop({ required: true }) - seqId: number; // 武将表自增 id - - @prop({ required: true }) - exp: number; // 经验值 - @prop({ required: true }) - lv: number; // 武将等级 - @prop({ required: true }) - ce: number; // 武将战力 - - @prop({ required: true }) - star: number; // 星级 - @prop({ required: true }) - rank: number; // 阶数 - @prop({ required: true }) - favour: number; // 好感度 - @prop({ required: true }) - favourLv: number; // 好感等级 - @prop({ required: true }) - conections: [{ // 羁绊 - id: number; // 羁绊编号 - name: string; // 羁绊名称 - valid: boolean; // 是否开启 - }]; - @prop({ required: true }) - skins: [{ // 皮肤 - id: number; // id - enable: boolean; // 是否装备 - }]; - - @prop({ ref: Equip }) - equips: Ref[]; // 武将装备引用数组 -} - -export const HeroModel = getModelForClass(Hero); diff --git a/web-server/app/db/Role.ts b/web-server/app/db/Role.ts deleted file mode 100644 index f40563bc1..000000000 --- a/web-server/app/db/Role.ts +++ /dev/null @@ -1,108 +0,0 @@ -import BaseModel from './BaseModel'; -import { index, getModelForClass, prop } from '@typegoose/typegoose'; -import User from './User'; - -/** - * 角色字段接口 -*/ -@index({ roleId: 1 }) -// @index({ userInfo.uid: 1, serverId: 1 }) -export default class Role extends BaseModel { - @prop({ required: true }) - userInfo: User; - - @prop({ required: true }) - seqId: number; - - @prop({ required: true }) - roleId: string; // 角色 id,生成编码 - @prop({ required: true }) - roleName: string; // 角色名 - @prop({ required: true }) - serverType: string; // 服务器类型 - @prop({ required: true }) - serverId: number; // 区服 id - @prop({ required: true, default: false }) - blocked: boolean; // 是否屏蔽 - @prop({ required: true }) - code: string; // 邀请码 - - @prop({ required: true, default: 0 }) - exp: number; // 经验值 - @prop({ required: true, default: 1 }) - lv: number; // 主公等级 - @prop({ required: true, default: 0 }) - ce: number; // 总战力 - @prop({ required: true, default: 100 }) - tili: number; // 体力值 - - @prop({ required: true, default: 0 }) - vLv: number; // VIP 等级 - @prop({ required: true, default: 100 }) - gold: number; // 总金币 - @prop({ required: true, default: 0 }) - paidGold: number; // 支付所得金币 - @prop({ required: true, default: 100 }) - giftGold: number; // 赠送所得金币 - @prop({ required: true, default: 0 }) - totalPay: number; // 总支付金额 - @prop({ required: true, default: 0 }) - totalBuy: number; // 总金币购买 - @prop({ required: true, default: 0 }) - totalCost: number; // 金币总花费 - @prop({ required: true, default: [] }) - payRecord: [{ // 支付记录 - id: string; // 购买项 product id - cnt: number; // 购买次数 - }]; - - @prop({ required: true, default: [] }) - consumeGoods: [{ // 消耗品 - id: number; // id - cnt: number; // 数量 - }]; - @prop({ required: true, default: [] }) - souls: [{ // 将魂 - id: number; // 武将 id - cnt: number; // 数量 - }]; - @prop({ required: true, default: [] }) - pieces: [{ // 装备碎片 - id: number; // 装备 id - cnt: number; // 数量 - }]; - @prop({ required: true, default: [] }) - jewels: [{ // 珠宝 - id: number; // 待定,也可能是 type + lv - cnt: number; // 数量 - }]; - - @prop({ required: true, default: [] }) - warStar: [{ // 关卡星级 - id: number; // 关卡 id - star: number; // 星级 - }]; - - @prop({ required: true, default: 1 }) - loginCnt: number; // 登录次数 - @prop({ required: true }) - createTime: Date; // 创建时间 - @prop({ required: true }) - loginTime: Date; // 更新 / 登录时间 - - - public static async findByUid(uid: number, serverId: number, lean = true) { - const role = await RoleModel.findOne({ 'userInfo.uid': uid, serverId }).lean(lean); - return role; - } - - public static async createRole(uid: number, serverId: number, roleInfo: {roleId: string; roleName: string; seqId: number; code: string}, lean = true) { - const user = await User.findUserByUid(uid); - if (!user) return null; - const info = Object.assign(roleInfo, { userInfo: user, serverType: user.serverType, serverId }); - const role = await RoleModel.findOneAndUpdate({ 'userInfo.uid': uid, serverId }, info, { upsert: true, new: true }).lean(lean); - return role; - } -} - -export const RoleModel = getModelForClass(Role); diff --git a/web-server/app/db/Sms.ts b/web-server/app/db/Sms.ts deleted file mode 100644 index 12afc0c5e..000000000 --- a/web-server/app/db/Sms.ts +++ /dev/null @@ -1,64 +0,0 @@ -import BaseModel from './BaseModel'; -import { index, getModelForClass, prop } from '@typegoose/typegoose'; -const moment = require('moment'); - -/** - * 短信字段接口 -*/ -@index({ tel: 1 }) -export default class Sms extends BaseModel { - - @prop({ required: true }) - tel: string; - - @prop({ required: true }) - telHash: string; - - @prop({ required: true }) - code: string; - - @prop({ required: true }) - used: boolean; - - @prop({ required: true }) - updateTime: Date; - - @prop({ required: true }) - countToday: number; - - public static async findByTel(tel: string, lean = true) { - const sms = await smsModel.findOne({ tel }).lean(lean); - return sms; - } - - public static async updateByTel(tel: string, code: string, used: boolean, updateTime: Date, countToday: number, lean = true) { - await smsModel.findOneAndUpdate({ tel }, { code, used, updateTime, countToday }, { upsert: true }).lean(lean); - } - - public static async validateSms(tel: string, code: string, lean = true) { - const record = await smsModel.findOneAndUpdate({ tel, code, used: false }, { used: true }).lean(lean); - return !!record; - } - - public async timeLimit(interval: number) { - if (Date.now() > this.updateTime.getTime() + interval) { - return false; - } - return true; - } - - public async cntLimit(cnt: number) { - console.log('hasSendToday:', this.hasSendToday()); - if (await this.hasSendToday() && this.countToday >= cnt) { - return true; - } - return false; - } - - public async hasSendToday() { - console.log(moment(this.updateTime).format('YYYY-MM-DD'), moment(Date.now()).format('YYYY-MM-DD')); - return moment(this.updateTime).format('YYYY-MM-DD') === moment(Date.now()).format('YYYY-MM-DD'); - } -} - -export const smsModel = getModelForClass(Sms); diff --git a/web-server/app/db/User.ts b/web-server/app/db/User.ts deleted file mode 100644 index cade31cca..000000000 --- a/web-server/app/db/User.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { COUNTER } from './../../../shared/consts/consts'; -import { CounterModel } from './Counter'; -import BaseModel from './BaseModel'; -import { index, getModelForClass, prop } from '@typegoose/typegoose'; - -/** - * 用户字段接口 -*/ -@index({ tel: 1 }) -@index({ uid: 1 }) -export default class User extends BaseModel { - - @prop({ required: true }) - uid: number; - - @prop({ required: true }) - username: string; - - @prop({ required: true }) - token: string; - - @prop({ required: true }) - tel: string; - - @prop({ required: true }) - telHash: string; - - @prop({ required: true }) - channelId: string; - - @prop({ required: true }) - guestId: string; - - // 最后登录 IP - @prop({ required: true }) - ip: string; - - @prop({ required: true }) - lastLoginTime: Date; - - @prop({ required: true }) - createTime: Date; - - platform: string; - @prop({ required: true }) - platforms: [{ - platform: string; // 平台:ios, android, web, pc - unionId: string; // 用户标识 - }]; - - @prop({ required: true }) - pkgName: string; - - // 服务器类型:official, channel, ios, oversea - @prop({ required: true }) - serverType: string; - - // 账号是否被屏蔽 - @prop({ required: true }) - blocked: boolean; - - public static async updateToken(tel: string, token: string, platform: string, pkgName: string, serverType: string, lean = true) { - let user = await UserModel.findOne({ tel }).lean(); - const curTime: Date = new Date(); - let update = {}; - if (!user) { - const uid = await CounterModel.getNewCounter(COUNTER.UID); - update = Object.assign(update, { platform, pkgName, serverType, createTime: curTime, uid, username: `用户${uid}` }); - } - update = Object.assign(update, { token, lastLoginTime: curTime }); - user = await UserModel.findOneAndUpdate({ tel }, update, { upsert: true, new: true }).lean(lean); - return user; - } - - public static async findUserByToken(token: string, lean = true) { - const user = await UserModel.findOne({ token }).select('uid token').lean(lean); - return user; - } - - public static async findUserByTel(tel: string, lean = true) { - const user = await UserModel.findOne({ tel }).select('uid tel').lean(lean); - return user; - } - - public static async findUserByUid(uid: number, lean = true) { - const user = await UserModel.findOne({ uid }).select('uid tel').lean(lean); - return user; - } -} - -export const UserModel = getModelForClass(User); diff --git a/web-server/app/service/Auth.ts b/web-server/app/service/Auth.ts index e9603dda4..a8c9f8838 100644 --- a/web-server/app/service/Auth.ts +++ b/web-server/app/service/Auth.ts @@ -48,7 +48,6 @@ export default class Auth extends Service { if (telVerify.status !== 0) { return telVerify; } - const sms = await smsModel.findByTel(tel, false); if (sms) { if (await sms.timeLimit(10000)) { diff --git a/web-server/config/config.default.ts b/web-server/config/config.default.ts index c9bfe80f5..628fcaf4e 100644 --- a/web-server/config/config.default.ts +++ b/web-server/config/config.default.ts @@ -21,7 +21,7 @@ export default (appInfo: EggAppInfo) => { config.mongoose = { url: 'mongodb://root:zyz_2020@dds-8vbdb47c6fb58a541.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vbdb47c6fb58a542.mongodb.zhangbei.rds.aliyuncs.com:3717/admin?replicaSet=mgset-500808098', // 内网 - options: {}, + options: { useNewUrlParser: true, useUnifiedTopology: true }, }; config.alinode = { diff --git a/web-server/package-lock.json b/web-server/package-lock.json index b65004895..50fb9a2e0 100644 --- a/web-server/package-lock.json +++ b/web-server/package-lock.json @@ -254,30 +254,6 @@ "resolved": "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz", "integrity": "sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs=" }, - "@typegoose/typegoose": { - "version": "7.3.4", - "resolved": "https://registry.npm.taobao.org/@typegoose/typegoose/download/@typegoose/typegoose-7.3.4.tgz", - "integrity": "sha1-HO0W0Z+cSTirrsSwNRwL+1YtQSE=", - "requires": { - "lodash": "^4.17.19", - "loglevel": "^1.6.8", - "reflect-metadata": "^0.1.13", - "semver": "^7.3.2", - "tslib": "^2.0.0" - }, - "dependencies": { - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.2.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.2.tgz", - "integrity": "sha1-YElisFK4HtB4aq6EOJ/7pw/9OTg=" - }, - "tslib": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/tslib/download/tslib-2.0.1.tgz?cache=0&sync_timestamp=1596751904317&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftslib%2Fdownload%2Ftslib-2.0.1.tgz", - "integrity": "sha1-QQ6w0RPltjVkkO7HSWA3JbAhtD4=" - } - } - }, "@types/accepts": { "version": "1.3.5", "resolved": "https://registry.npm.taobao.org/@types/accepts/download/@types/accepts-1.3.5.tgz", @@ -309,15 +285,6 @@ } } }, - "@types/bson": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/@types/bson/download/@types/bson-4.0.2.tgz", - "integrity": "sha1-esy4WUL8ObvbdRXU3kN8BPaYEV8=", - "dev": true, - "requires": { - "@types/node": "*" - } - }, "@types/color-name": { "version": "1.1.1", "resolved": "https://registry.npm.taobao.org/@types/color-name/download/@types/color-name-1.1.1.tgz?cache=0&sync_timestamp=1596837707987&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fcolor-name%2Fdownload%2F%40types%2Fcolor-name-1.1.1.tgz", @@ -539,26 +506,6 @@ "integrity": "sha1-NSOxJqCwSUguHDwRh3Rg92Yi/6s=", "dev": true }, - "@types/mongodb": { - "version": "3.5.26", - "resolved": "https://registry.npm.taobao.org/@types/mongodb/download/@types/mongodb-3.5.26.tgz?cache=0&sync_timestamp=1598396385471&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fmongodb%2Fdownload%2F%40types%2Fmongodb-3.5.26.tgz", - "integrity": "sha1-qhAxWSW6EM3Hkx7ygMD/b1T9N/M=", - "dev": true, - "requires": { - "@types/bson": "*", - "@types/node": "*" - } - }, - "@types/mongoose": { - "version": "5.7.36", - "resolved": "https://registry.npm.taobao.org/@types/mongoose/download/@types/mongoose-5.7.36.tgz", - "integrity": "sha1-La4oxjBBxq+6ioPqApafRjs/ECE=", - "dev": true, - "requires": { - "@types/mongodb": "*", - "@types/node": "*" - } - }, "@types/node": { "version": "7.10.11", "resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-7.10.11.tgz?cache=0&sync_timestamp=1596839227404&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-7.10.11.tgz", @@ -2333,54 +2280,11 @@ "file-uri-to-path": "1.0.0" } }, - "bl": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/bl/download/bl-2.2.1.tgz?cache=0&sync_timestamp=1598428657095&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbl%2Fdownload%2Fbl-2.2.1.tgz", - "integrity": "sha1-jBGntzBlXF1WiYzchxIk9A/ZAdU=", - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz", - "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", - "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "black-hole-stream": { "version": "0.0.1", "resolved": "https://registry.npm.taobao.org/black-hole-stream/download/black-hole-stream-0.0.1.tgz", "integrity": "sha1-M7ega58edFPWBBuCl0SB0hUq6kI=" }, - "bluebird": { - "version": "3.5.1", - "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.5.1.tgz", - "integrity": "sha1-2VUfnemPH82h5oPRfukaBgLuLrk=" - }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz", @@ -2423,11 +2327,6 @@ "electron-to-chromium": "^1.3.47" } }, - "bson": { - "version": "1.1.5", - "resolved": "https://registry.npm.taobao.org/bson/download/bson-1.1.5.tgz?cache=0&sync_timestamp=1597069108497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbson%2Fdownload%2Fbson-1.1.5.tgz", - "integrity": "sha1-Kqrpj832dQwISLDLod3sPHMGCjQ=" - }, "buffer": { "version": "5.6.0", "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-5.6.0.tgz", @@ -3141,11 +3040,6 @@ "resolved": "https://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz", "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" }, - "denque": { - "version": "1.4.1", - "resolved": "https://registry.npm.taobao.org/denque/download/denque-1.4.1.tgz", - "integrity": "sha1-Z0T/dkHBSMP4ppwwflEjXB9KN88=" - }, "depd": { "version": "1.1.2", "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz", @@ -6294,11 +6188,6 @@ "object.assign": "^4.1.0" } }, - "kareem": { - "version": "2.3.1", - "resolved": "https://registry.npm.taobao.org/kareem/download/kareem-2.3.1.tgz", - "integrity": "sha1-3vEtnJQQF/q/sA+HOvlenJnhvoc=" - }, "keygrip": { "version": "1.1.0", "resolved": "https://registry.npm.taobao.org/keygrip/download/keygrip-1.1.0.tgz", @@ -6551,7 +6440,8 @@ "lodash": { "version": "4.17.20", "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.20.tgz?cache=0&sync_timestamp=1597336097104&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.20.tgz", - "integrity": "sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI=" + "integrity": "sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI=", + "dev": true }, "log-symbols": { "version": "2.2.0", @@ -6562,11 +6452,6 @@ "chalk": "^2.0.1" } }, - "loglevel": { - "version": "1.7.0", - "resolved": "https://registry.npm.taobao.org/loglevel/download/loglevel-1.7.0.tgz?cache=0&sync_timestamp=1598447642950&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floglevel%2Fdownload%2Floglevel-1.7.0.tgz", - "integrity": "sha1-coFmhVp0DVnTjbAc9G8ELKoEG7A=" - }, "long": { "version": "4.0.0", "resolved": "https://registry.npm.taobao.org/long/download/long-4.0.0.tgz", @@ -6657,12 +6542,6 @@ "p-is-promise": "^2.0.0" } }, - "memory-pager": { - "version": "1.5.0", - "resolved": "https://registry.npm.taobao.org/memory-pager/download/memory-pager-1.5.0.tgz", - "integrity": "sha1-2HUWVdItOEaCdByXLyw9bfo+ZrU=", - "optional": true - }, "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz", @@ -6815,81 +6694,6 @@ "moment": ">= 2.9.0" } }, - "mongodb": { - "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/mongodb/download/mongodb-3.6.0.tgz", - "integrity": "sha1-ur1xcuxxfi7T+F4Hmz8aop3ORyQ=", - "requires": { - "bl": "^2.2.0", - "bson": "^1.1.4", - "denque": "^1.4.1", - "require_optional": "^1.0.1", - "safe-buffer": "^5.1.2", - "saslprep": "^1.0.0" - } - }, - "mongoose": { - "version": "5.10.1", - "resolved": "https://registry.npm.taobao.org/mongoose/download/mongoose-5.10.1.tgz", - "integrity": "sha1-zdCD1y4ZpcT/E0Fx19Gpl2vwH+k=", - "requires": { - "bson": "^1.1.4", - "kareem": "2.3.1", - "mongodb": "3.6.0", - "mongoose-legacy-pluralize": "1.0.2", - "mpath": "0.7.0", - "mquery": "3.2.2", - "ms": "2.1.2", - "regexp-clone": "1.0.0", - "safe-buffer": "5.2.1", - "sift": "7.0.1", - "sliced": "1.0.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz?cache=0&sync_timestamp=1589129010497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafe-buffer%2Fdownload%2Fsafe-buffer-5.2.1.tgz", - "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=" - } - } - }, - "mongoose-legacy-pluralize": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/mongoose-legacy-pluralize/download/mongoose-legacy-pluralize-1.0.2.tgz", - "integrity": "sha1-O6n5H6UHtRhtOZ+0CFS/8Y+1Y+Q=" - }, - "mpath": { - "version": "0.7.0", - "resolved": "https://registry.npm.taobao.org/mpath/download/mpath-0.7.0.tgz", - "integrity": "sha1-IOgQLidrcXCdbgfp+NTQ9kGvv7g=" - }, - "mquery": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/mquery/download/mquery-3.2.2.tgz", - "integrity": "sha1-4Tg6OVGFLOI+N/YZqbNQ8fs2ZOc=", - "requires": { - "bluebird": "3.5.1", - "debug": "3.1.0", - "regexp-clone": "^1.0.0", - "safe-buffer": "5.1.2", - "sliced": "1.0.1" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz", - "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1575472461218&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1575472461218&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", @@ -8643,8 +8447,7 @@ "version": "2.2.2", "resolved": "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz", "integrity": "sha1-IfMz6ba46v8CRo9RRupAbTRfTa0=", - "dev": true, - "optional": true + "dev": true }, "pify": { "version": "3.0.0", @@ -9161,11 +8964,6 @@ } } }, - "regexp-clone": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/regexp-clone/download/regexp-clone-1.0.0.tgz", - "integrity": "sha1-Ii25Z2IydwViYLmSYmNUoEzpv2M=" - }, "regexp.prototype.flags": { "version": "1.3.0", "resolved": "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.3.0.tgz", @@ -9251,22 +9049,6 @@ "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz", "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" }, - "require_optional": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/require_optional/download/require_optional-1.0.1.tgz", - "integrity": "sha1-TPNaQkf2TKPfjC7yCMxJSxyo/C4=", - "requires": { - "resolve-from": "^2.0.0", - "semver": "^5.1.0" - }, - "dependencies": { - "resolve-from": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-2.0.0.tgz", - "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" - } - } - }, "resolve": { "version": "1.17.0", "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.17.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve%2Fdownload%2Fresolve-1.17.0.tgz", @@ -9404,15 +9186,6 @@ "resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz", "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=" }, - "saslprep": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/saslprep/download/saslprep-1.0.3.tgz", - "integrity": "sha1-TAL5RrVs9UKX40e6EJPnrKxM8iY=", - "optional": true, - "requires": { - "sparse-bitfield": "^3.0.3" - } - }, "scmp": { "version": "2.1.0", "resolved": "https://registry.npm.taobao.org/scmp/download/scmp-2.1.0.tgz", @@ -9522,11 +9295,6 @@ "object-inspect": "^1.7.0" } }, - "sift": { - "version": "7.0.1", - "resolved": "https://registry.npm.taobao.org/sift/download/sift-7.0.1.tgz?cache=0&sync_timestamp=1597975540611&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsift%2Fdownload%2Fsift-7.0.1.tgz", - "integrity": "sha1-R9YsULFZ0xbxNy+LU/nBDNIaSwg=" - }, "signal-exit": { "version": "3.0.3", "resolved": "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz?cache=0&sync_timestamp=1585253373618&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsignal-exit%2Fdownload%2Fsignal-exit-3.0.3.tgz", @@ -9548,11 +9316,6 @@ "is-fullwidth-code-point": "^2.0.0" } }, - "sliced": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/sliced/download/sliced-1.0.1.tgz", - "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=" - }, "smart-buffer": { "version": "4.1.0", "resolved": "https://registry.npm.taobao.org/smart-buffer/download/smart-buffer-4.1.0.tgz", @@ -9734,15 +9497,6 @@ "resolved": "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz", "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" }, - "sparse-bitfield": { - "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/sparse-bitfield/download/sparse-bitfield-3.0.3.tgz", - "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=", - "optional": true, - "requires": { - "memory-pager": "^1.0.2" - } - }, "spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.1.tgz?cache=0&sync_timestamp=1590161967473&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-correct%2Fdownload%2Fspdx-correct-3.1.1.tgz", diff --git a/web-server/package.json b/web-server/package.json index 67339d561..13507e9cb 100644 --- a/web-server/package.json +++ b/web-server/package.json @@ -22,19 +22,16 @@ "clean": "ets clean" }, "dependencies": { - "@typegoose/typegoose": "^7.3.4", "csprng": "^0.1.2", "egg": "^2.6.1", "egg-alinode": "^2.0.1", "egg-cors": "^2.2.3", "egg-scripts": "^2.6.0", - "mongoose": "^5.10.1", "reflect-metadata": "^0.1.13", "underscore": "^1.10.2" }, "devDependencies": { "@types/mocha": "^2.2.40", - "@types/mongoose": "^5.7.36", "@types/node": "^7.0.12", "@types/supertest": "^2.0.0", "autod": "^3.0.1",