Merge branch 'master' of gitlab.trgame.cn:zyztech/zyz_server into feature/normalBattle
Conflicts: game-server/startGameServer.sh web-server/package.json
This commit is contained in:
@@ -39,7 +39,7 @@ adminfilePath.ADMIN_USER = 'config/adminUser';
|
|||||||
preload();
|
preload();
|
||||||
|
|
||||||
// 创建 mongodb 连接
|
// 创建 mongodb 连接
|
||||||
mongoose.connect('mongodb://root:zyz_2020@dds-8vbdb47c6fb58a541.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vbdb47c6fb58a542.mongodb.zhangbei.rds.aliyuncs.com:3717/admin?replicaSet=mgset-500808098', { useNewUrlParser: true, useUnifiedTopology: true }, (err) => {
|
mongoose.connect('mongodb://dbop:zyzdbopbantu@dds-8vbdb47c6fb58a541.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vbdb47c6fb58a542.mongodb.zhangbei.rds.aliyuncs.com:3717/zyz?replicaSet=mgset-500808098', { useNewUrlParser: true, useUnifiedTopology: true }, (err) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.log('mongodb connect err', err);
|
console.log('mongodb connect err', err);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
1
game-server/app/consts
Symbolic link
1
game-server/app/consts
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../../shared/consts
|
||||||
@@ -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;
|
|
||||||
1
game-server/app/db
Symbolic link
1
game-server/app/db
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../../shared/db
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
import { RoleModel } from '../../../../../shared/db/Role';
|
import { EquipModel } from './../../../db/Equip';
|
||||||
import { UserModel } from '../../../../../shared/db/User';
|
import { RoleModel } from './../../../db/Role';
|
||||||
|
import { UserModel } from '../../../db/User';
|
||||||
import { Application, Session } from 'pinus';
|
import { Application, Session } from 'pinus';
|
||||||
import {FrontendSession} from 'pinus';
|
import {FrontendSession} from 'pinus';
|
||||||
import Hero from '../../../../../shared/db/Hero';
|
import { HeroModel } from './../../../db/Hero';
|
||||||
import Equip from '../../../../../shared/db/Equip';
|
|
||||||
|
|
||||||
export default function (app: Application) {
|
export default function (app: Application) {
|
||||||
return new EntryHandler(app);
|
return new EntryHandler(app);
|
||||||
@@ -71,8 +71,8 @@ export class EntryHandler {
|
|||||||
|
|
||||||
// put user into channel
|
// put user into channel
|
||||||
let users = await self.app.rpc.chat.chatRemote.add.route(session)(role.roleId, self.app.get('serverId'), rid, true);
|
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 heros = await HeroModel.findByRole(role.roleId);
|
||||||
let equips = await Equip.findbyRole(role.roleId);
|
let equips = await EquipModel.findbyRole(role.roleId);
|
||||||
role['heros'] = heros;
|
role['heros'] = heros;
|
||||||
role['equips'] = equips;
|
role['equips'] = equips;
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { CounterModel } from '../../../../../shared/db/Counter';
|
import { CounterModel } from '../../../db/Counter';
|
||||||
import { HeroModel } from '../../../../../shared/db/Hero';
|
import { HeroModel } from '../../../db/Hero';
|
||||||
import { EquipModel } from '../../../../../shared/db/Equip';
|
import { EquipModel } from '../../../db/Equip';
|
||||||
import {Application, BackendSession, createTcpMailBox} from 'pinus';
|
import {Application, BackendSession, createTcpMailBox} from 'pinus';
|
||||||
|
|
||||||
export default function(app: Application) {
|
export default function(app: Application) {
|
||||||
|
|||||||
61
game-server/package-lock.json
generated
61
game-server/package-lock.json
generated
@@ -31,9 +31,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@typegoose/typegoose": {
|
"@typegoose/typegoose": {
|
||||||
"version": "7.3.0",
|
"version": "7.3.5",
|
||||||
"resolved": "https://registry.npm.taobao.org/@typegoose/typegoose/download/@typegoose/typegoose-7.3.0.tgz",
|
"resolved": "https://registry.npm.taobao.org/@typegoose/typegoose/download/@typegoose/typegoose-7.3.5.tgz",
|
||||||
"integrity": "sha1-Rp6ldTzFIP49D1xOVZsBpfsZHZM=",
|
"integrity": "sha1-94517zpL5R8DkYh55qjPDR/PecA=",
|
||||||
"requires": {
|
"requires": {
|
||||||
"lodash": "^4.17.19",
|
"lodash": "^4.17.19",
|
||||||
"loglevel": "^1.6.8",
|
"loglevel": "^1.6.8",
|
||||||
@@ -63,7 +63,6 @@
|
|||||||
"version": "4.0.2",
|
"version": "4.0.2",
|
||||||
"resolved": "https://registry.npm.taobao.org/@types/bson/download/@types/bson-4.0.2.tgz",
|
"resolved": "https://registry.npm.taobao.org/@types/bson/download/@types/bson-4.0.2.tgz",
|
||||||
"integrity": "sha1-esy4WUL8ObvbdRXU3kN8BPaYEV8=",
|
"integrity": "sha1-esy4WUL8ObvbdRXU3kN8BPaYEV8=",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/node": "*"
|
"@types/node": "*"
|
||||||
}
|
}
|
||||||
@@ -90,20 +89,18 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@types/mongodb": {
|
"@types/mongodb": {
|
||||||
"version": "3.5.25",
|
"version": "3.5.27",
|
||||||
"resolved": "https://registry.npm.taobao.org/@types/mongodb/download/@types/mongodb-3.5.25.tgz",
|
"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-qxh9sE15+OPxWvI2Mn3JE52dRzY=",
|
"integrity": "sha1-FYp6Q84l7zWSrIpi5iqzi+v2YfI=",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/bson": "*",
|
"@types/bson": "*",
|
||||||
"@types/node": "*"
|
"@types/node": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@types/mongoose": {
|
"@types/mongoose": {
|
||||||
"version": "5.7.35",
|
"version": "5.7.36",
|
||||||
"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",
|
"resolved": "https://registry.npm.taobao.org/@types/mongoose/download/@types/mongoose-5.7.36.tgz",
|
||||||
"integrity": "sha1-gzQUB2KAS4Q08bw+RSU0+qH/saY=",
|
"integrity": "sha1-La4oxjBBxq+6ioPqApafRjs/ECE=",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/mongodb": "*",
|
"@types/mongodb": "*",
|
||||||
"@types/node": "*"
|
"@types/node": "*"
|
||||||
@@ -262,9 +259,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"bson": {
|
"bson": {
|
||||||
"version": "1.1.4",
|
"version": "1.1.5",
|
||||||
"resolved": "https://registry.npm.taobao.org/bson/download/bson-1.1.4.tgz",
|
"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-92hw15nxW4VN/7fuMvCodHl/fok="
|
"integrity": "sha1-Kqrpj832dQwISLDLod3sPHMGCjQ="
|
||||||
},
|
},
|
||||||
"buffer": {
|
"buffer": {
|
||||||
"version": "5.6.0",
|
"version": "5.6.0",
|
||||||
@@ -705,9 +702,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lodash": {
|
"lodash": {
|
||||||
"version": "4.17.19",
|
"version": "4.17.20",
|
||||||
"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",
|
"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-5I3e2+MLMyF4PFtDAfvTU7weSks="
|
"integrity": "sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI="
|
||||||
},
|
},
|
||||||
"log4js": {
|
"log4js": {
|
||||||
"version": "6.3.0",
|
"version": "6.3.0",
|
||||||
@@ -722,9 +719,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"loglevel": {
|
"loglevel": {
|
||||||
"version": "1.6.8",
|
"version": "1.7.0",
|
||||||
"resolved": "https://registry.npm.taobao.org/loglevel/download/loglevel-1.6.8.tgz",
|
"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-iiX7ddCSIw7NRFcnDYC1TigBEXE="
|
"integrity": "sha1-coFmhVp0DVnTjbAc9G8ELKoEG7A="
|
||||||
},
|
},
|
||||||
"make-error": {
|
"make-error": {
|
||||||
"version": "1.3.6",
|
"version": "1.3.6",
|
||||||
@@ -773,9 +770,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mongodb": {
|
"mongodb": {
|
||||||
"version": "3.5.10",
|
"version": "3.6.1",
|
||||||
"resolved": "https://registry.npm.taobao.org/mongodb/download/mongodb-3.5.10.tgz",
|
"resolved": "https://registry.npm.taobao.org/mongodb/download/mongodb-3.6.1.tgz",
|
||||||
"integrity": "sha1-7UFJiNKTW1KQBM6tbf3SJoEliIc=",
|
"integrity": "sha1-LFzCqBRWuhg+jEMtgOeHMsxy2r0=",
|
||||||
"requires": {
|
"requires": {
|
||||||
"bl": "^2.2.0",
|
"bl": "^2.2.0",
|
||||||
"bson": "^1.1.4",
|
"bson": "^1.1.4",
|
||||||
@@ -786,9 +783,9 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bl": {
|
"bl": {
|
||||||
"version": "2.2.0",
|
"version": "2.2.1",
|
||||||
"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",
|
"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-4aV0zfUo5AUwGbuACwQcCsiNpJM=",
|
"integrity": "sha1-jBGntzBlXF1WiYzchxIk9A/ZAdU=",
|
||||||
"requires": {
|
"requires": {
|
||||||
"readable-stream": "^2.3.5",
|
"readable-stream": "^2.3.5",
|
||||||
"safe-buffer": "^5.1.1"
|
"safe-buffer": "^5.1.1"
|
||||||
@@ -797,13 +794,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mongoose": {
|
"mongoose": {
|
||||||
"version": "5.9.27",
|
"version": "5.10.4",
|
||||||
"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",
|
"resolved": "https://registry.npm.taobao.org/mongoose/download/mongoose-5.10.4.tgz",
|
||||||
"integrity": "sha1-kUy8KkVFIJNPu/LA42bZx9gHazs=",
|
"integrity": "sha1-CVGSYZmCQ95H7XLtKNyMOtv2qRA=",
|
||||||
"requires": {
|
"requires": {
|
||||||
"bson": "^1.1.4",
|
"bson": "^1.1.4",
|
||||||
"kareem": "2.3.1",
|
"kareem": "2.3.1",
|
||||||
"mongodb": "3.5.10",
|
"mongodb": "3.6.1",
|
||||||
"mongoose-legacy-pluralize": "1.0.2",
|
"mongoose-legacy-pluralize": "1.0.2",
|
||||||
"mpath": "0.7.0",
|
"mpath": "0.7.0",
|
||||||
"mquery": "3.2.2",
|
"mquery": "3.2.2",
|
||||||
@@ -1308,7 +1305,7 @@
|
|||||||
},
|
},
|
||||||
"sift": {
|
"sift": {
|
||||||
"version": "7.0.1",
|
"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="
|
"integrity": "sha1-R9YsULFZ0xbxNy+LU/nBDNIaSwg="
|
||||||
},
|
},
|
||||||
"sliced": {
|
"sliced": {
|
||||||
|
|||||||
@@ -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/"
|
"gen-api-ref": "node ../../../node_modules/typedoc/bin/typedoc --mode file --hideGenerator --excludeExternals --ignoreCompilerErrors --out ../../../run/site/public/api-reference/pinus-loader lib/"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typegoose/typegoose": "^7.3.0",
|
"@typegoose/typegoose": "^7.3.5",
|
||||||
"@types/bluebird": "^3.5.19",
|
"@types/bluebird": "^3.5.19",
|
||||||
"@types/crc": "^3.4.0",
|
"@types/crc": "^3.4.0",
|
||||||
|
"@types/mongoose": "^5.7.36",
|
||||||
"@types/node": "8.10.54",
|
"@types/node": "8.10.54",
|
||||||
"@types/redis": "^2.8.25",
|
"@types/redis": "^2.8.25",
|
||||||
"bluebird": "^3.5.1",
|
"bluebird": "^3.5.1",
|
||||||
"crc": "^3.5.0",
|
"crc": "^3.5.0",
|
||||||
"mongoose": "^5.9.27",
|
"mongoose": "^5.10.4",
|
||||||
"pinus": "^1.4.9",
|
"pinus": "^1.4.9",
|
||||||
"pinus-robot": "^1.4.9",
|
"pinus-robot": "^1.4.9",
|
||||||
"pinus-robot-plugin": "^1.4.9",
|
"pinus-robot-plugin": "^1.4.9",
|
||||||
@@ -30,7 +31,6 @@
|
|||||||
"ts-node": "^8.2.0"
|
"ts-node": "^8.2.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/mongoose": "^5.7.35",
|
|
||||||
"tslint": "^5.9.1",
|
"tslint": "^5.9.1",
|
||||||
"typescript": "^3.9.7"
|
"typescript": "^3.9.7"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
npm i -D @types/mongoose
|
|
||||||
npm i -s @typegoose/typegoose
|
|
||||||
npm i -s mongoose
|
|
||||||
@@ -2,7 +2,6 @@
|
|||||||
cnpm install -d #安装依赖库
|
cnpm install -d #安装依赖库
|
||||||
npm run build
|
npm run build
|
||||||
node generatePm2Config.js #使用pm2来做进程管理,生成进程配置文件
|
node generatePm2Config.js #使用pm2来做进程管理,生成进程配置文件
|
||||||
rm -rf /game-server/shared
|
#rm -rf /game-server/shared
|
||||||
cp -r /game-server/dist/shared /game-server
|
#cp -r /game-server/dist/shared /game-server
|
||||||
cp -r /game-server/config/resource /game-server/dist/game-server/config
|
|
||||||
pm2-runtime pomeloPm2Start.json #pm2 启动游戏服务器
|
pm2-runtime pomeloPm2Start.json #pm2 启动游戏服务器
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
"watch":false //在监视模式下运行编译器。会监视输出文件,在它们改变时重新编译。
|
"watch":false //在监视模式下运行编译器。会监视输出文件,在它们改变时重新编译。
|
||||||
},
|
},
|
||||||
"include":[
|
"include":[
|
||||||
"../shared/**/*.ts",
|
|
||||||
"./app/**/*.ts",
|
"./app/**/*.ts",
|
||||||
"./config/**/*.ts",
|
"./config/**/*.ts",
|
||||||
"./app.ts",
|
"./app.ts",
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
npm install
|
||||||
cd ./game-server && npm install -d
|
cd ./game-server && npm install -d
|
||||||
echo '============ game-server npm installed ============'
|
echo '============ game-server npm installed ============'
|
||||||
cd ..
|
cd ..
|
||||||
|
|||||||
85
package-lock.json
generated
85
package-lock.json
generated
@@ -1,6 +1,8 @@
|
|||||||
{
|
{
|
||||||
"requires": true,
|
"name": "zyz_server",
|
||||||
|
"version": "1.0.0",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typegoose/typegoose": {
|
"@typegoose/typegoose": {
|
||||||
"version": "7.3.5",
|
"version": "7.3.5",
|
||||||
@@ -12,13 +14,19 @@
|
|||||||
"reflect-metadata": "^0.1.13",
|
"reflect-metadata": "^0.1.13",
|
||||||
"semver": "^7.3.2",
|
"semver": "^7.3.2",
|
||||||
"tslib": "^2.0.0"
|
"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": {
|
"@types/bson": {
|
||||||
"version": "4.0.2",
|
"version": "4.0.2",
|
||||||
"resolved": "https://registry.npm.taobao.org/@types/bson/download/@types/bson-4.0.2.tgz",
|
"resolved": "https://registry.npm.taobao.org/@types/bson/download/@types/bson-4.0.2.tgz",
|
||||||
"integrity": "sha1-esy4WUL8ObvbdRXU3kN8BPaYEV8=",
|
"integrity": "sha1-esy4WUL8ObvbdRXU3kN8BPaYEV8=",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/node": "*"
|
"@types/node": "*"
|
||||||
}
|
}
|
||||||
@@ -27,7 +35,6 @@
|
|||||||
"version": "3.5.27",
|
"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",
|
"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=",
|
"integrity": "sha1-FYp6Q84l7zWSrIpi5iqzi+v2YfI=",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/bson": "*",
|
"@types/bson": "*",
|
||||||
"@types/node": "*"
|
"@types/node": "*"
|
||||||
@@ -37,22 +44,20 @@
|
|||||||
"version": "5.7.36",
|
"version": "5.7.36",
|
||||||
"resolved": "https://registry.npm.taobao.org/@types/mongoose/download/@types/mongoose-5.7.36.tgz",
|
"resolved": "https://registry.npm.taobao.org/@types/mongoose/download/@types/mongoose-5.7.36.tgz",
|
||||||
"integrity": "sha1-La4oxjBBxq+6ioPqApafRjs/ECE=",
|
"integrity": "sha1-La4oxjBBxq+6ioPqApafRjs/ECE=",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/mongodb": "*",
|
"@types/mongodb": "*",
|
||||||
"@types/node": "*"
|
"@types/node": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@types/node": {
|
"@types/node": {
|
||||||
"version": "14.6.4",
|
"version": "14.10.0",
|
||||||
"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",
|
"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-oUXMC7FO+cR3c2G3u6+lz446y1o=",
|
"integrity": "sha1-FYFd/4LI3DCCf2sShvhlkClFCVo="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"bl": {
|
"bl": {
|
||||||
"version": "2.2.0",
|
"version": "2.2.1",
|
||||||
"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",
|
"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-4aV0zfUo5AUwGbuACwQcCsiNpJM=",
|
"integrity": "sha1-jBGntzBlXF1WiYzchxIk9A/ZAdU=",
|
||||||
"requires": {
|
"requires": {
|
||||||
"readable-stream": "^2.3.5",
|
"readable-stream": "^2.3.5",
|
||||||
"safe-buffer": "^5.1.1"
|
"safe-buffer": "^5.1.1"
|
||||||
@@ -114,19 +119,25 @@
|
|||||||
"integrity": "sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI="
|
"integrity": "sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI="
|
||||||
},
|
},
|
||||||
"loglevel": {
|
"loglevel": {
|
||||||
"version": "1.6.8",
|
"version": "1.7.0",
|
||||||
"resolved": "https://registry.npm.taobao.org/loglevel/download/loglevel-1.6.8.tgz",
|
"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-iiX7ddCSIw7NRFcnDYC1TigBEXE="
|
"integrity": "sha1-coFmhVp0DVnTjbAc9G8ELKoEG7A="
|
||||||
},
|
},
|
||||||
"memory-pager": {
|
"memory-pager": {
|
||||||
"version": "1.5.0",
|
"version": "1.5.0",
|
||||||
"resolved": "https://registry.npm.taobao.org/memory-pager/download/memory-pager-1.5.0.tgz",
|
"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": {
|
"mongodb": {
|
||||||
"version": "3.6.0",
|
"version": "3.6.1",
|
||||||
"resolved": "https://registry.npm.taobao.org/mongodb/download/mongodb-3.6.0.tgz",
|
"resolved": "https://registry.npm.taobao.org/mongodb/download/mongodb-3.6.1.tgz",
|
||||||
"integrity": "sha1-ur1xcuxxfi7T+F4Hmz8aop3ORyQ=",
|
"integrity": "sha1-LFzCqBRWuhg+jEMtgOeHMsxy2r0=",
|
||||||
"requires": {
|
"requires": {
|
||||||
"bl": "^2.2.0",
|
"bl": "^2.2.0",
|
||||||
"bson": "^1.1.4",
|
"bson": "^1.1.4",
|
||||||
@@ -137,9 +148,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mongoose": {
|
"mongoose": {
|
||||||
"version": "5.10.3",
|
"version": "5.10.4",
|
||||||
"resolved": "https://registry.npm.taobao.org/mongoose/download/mongoose-5.10.3.tgz",
|
"resolved": "https://registry.npm.taobao.org/mongoose/download/mongoose-5.10.4.tgz",
|
||||||
"integrity": "sha1-7yjNo/EeW/daMJol6YmfhWpaU3A=",
|
"integrity": "sha1-CVGSYZmCQ95H7XLtKNyMOtv2qRA=",
|
||||||
"requires": {
|
"requires": {
|
||||||
"bson": "^1.1.4",
|
"bson": "^1.1.4",
|
||||||
"kareem": "2.3.1",
|
"kareem": "2.3.1",
|
||||||
@@ -152,21 +163,6 @@
|
|||||||
"safe-buffer": "5.2.1",
|
"safe-buffer": "5.2.1",
|
||||||
"sift": "7.0.1",
|
"sift": "7.0.1",
|
||||||
"sliced": "1.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": {
|
"mongoose-legacy-pluralize": {
|
||||||
@@ -246,13 +242,6 @@
|
|||||||
"requires": {
|
"requires": {
|
||||||
"resolve-from": "^2.0.0",
|
"resolve-from": "^2.0.0",
|
||||||
"semver": "^5.1.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": {
|
"resolve-from": {
|
||||||
@@ -269,18 +258,19 @@
|
|||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
"resolved": "https://registry.npm.taobao.org/saslprep/download/saslprep-1.0.3.tgz",
|
"resolved": "https://registry.npm.taobao.org/saslprep/download/saslprep-1.0.3.tgz",
|
||||||
"integrity": "sha1-TAL5RrVs9UKX40e6EJPnrKxM8iY=",
|
"integrity": "sha1-TAL5RrVs9UKX40e6EJPnrKxM8iY=",
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"sparse-bitfield": "^3.0.3"
|
"sparse-bitfield": "^3.0.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"semver": {
|
"semver": {
|
||||||
"version": "7.3.2",
|
"version": "5.7.1",
|
||||||
"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",
|
"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-YElisFK4HtB4aq6EOJ/7pw/9OTg="
|
"integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc="
|
||||||
},
|
},
|
||||||
"sift": {
|
"sift": {
|
||||||
"version": "7.0.1",
|
"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="
|
"integrity": "sha1-R9YsULFZ0xbxNy+LU/nBDNIaSwg="
|
||||||
},
|
},
|
||||||
"sliced": {
|
"sliced": {
|
||||||
@@ -292,6 +282,7 @@
|
|||||||
"version": "3.0.3",
|
"version": "3.0.3",
|
||||||
"resolved": "https://registry.npm.taobao.org/sparse-bitfield/download/sparse-bitfield-3.0.3.tgz",
|
"resolved": "https://registry.npm.taobao.org/sparse-bitfield/download/sparse-bitfield-3.0.3.tgz",
|
||||||
"integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=",
|
"integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=",
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"memory-pager": "^1.0.2"
|
"memory-pager": "^1.0.2"
|
||||||
}
|
}
|
||||||
|
|||||||
22
package.json
Normal file
22
package.json
Normal file
@@ -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"
|
||||||
|
}
|
||||||
@@ -1,5 +1,3 @@
|
|||||||
import { COUNTER } from './../consts/consts';
|
|
||||||
import { CounterModel } from './Counter';
|
|
||||||
import BaseModel from './BaseModel';
|
import BaseModel from './BaseModel';
|
||||||
import { index, getModelForClass, prop } from '@typegoose/typegoose';
|
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) {
|
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;
|
return equip;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static async putOn(hid: number, equipId: string, lean = true) {
|
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;
|
return equip;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { APP_ID } from '../../game-server/app/consts/consts';
|
import { APP_ID } from './../consts/consts';
|
||||||
import BaseModel from './BaseModel';
|
import BaseModel from './BaseModel';
|
||||||
import { index, getModelForClass, prop } from '@typegoose/typegoose';
|
import { index, getModelForClass, prop } from '@typegoose/typegoose';
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import BaseModel from './BaseModel';
|
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';
|
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) {
|
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);
|
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;
|
return hero;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
import { CounterModel } from './Counter';
|
|
||||||
import BaseModel from './BaseModel';
|
import BaseModel from './BaseModel';
|
||||||
import { index, getModelForClass, prop } from '@typegoose/typegoose';
|
import { index, getModelForClass, prop } from '@typegoose/typegoose';
|
||||||
import User from './User';
|
import User from './User';
|
||||||
@@ -97,8 +96,12 @@ export default class Role extends BaseModel {
|
|||||||
return role;
|
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ export default class User extends BaseModel {
|
|||||||
telHash: string;
|
telHash: string;
|
||||||
|
|
||||||
@prop({ required: true })
|
@prop({ required: true })
|
||||||
channelId: string;COUNTER
|
channelId: string;
|
||||||
|
|
||||||
@prop({ required: true })
|
@prop({ required: true })
|
||||||
guestId: string;
|
guestId: string;
|
||||||
|
|||||||
1
web-server/app/consts
Symbolic link
1
web-server/app/consts
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../../shared/consts
|
||||||
@@ -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',
|
|
||||||
// };
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import { SERVER_NOT_FOUND } from './../../../shared/statusCode';
|
import { SERVER_NOT_FOUND } from '@consts/statusCode';
|
||||||
import { STATUS_SUC } from '../../../shared/statusCode';
|
import { STATUS_SUC } from '@consts/statusCode';
|
||||||
import { GameModel } from '../db/Game';
|
import { GameModel } from '@db/Game';
|
||||||
import { Controller } from 'egg';
|
import { Controller } from 'egg';
|
||||||
|
|
||||||
export default class GameController extends Controller {
|
export default class GameController extends Controller {
|
||||||
|
|||||||
1
web-server/app/db
Symbolic link
1
web-server/app/db
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../../shared/db
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
import { prop, pre } from '@typegoose/typegoose';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* BaseModel
|
|
||||||
*/
|
|
||||||
@pre<BaseModel>('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
|
|
||||||
}
|
|
||||||
@@ -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);
|
|
||||||
@@ -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);
|
|
||||||
@@ -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<ServerInfo>;
|
|
||||||
|
|
||||||
@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<ServerInfo> = game ? game.serverList : [];
|
|
||||||
serverList = serverList.filter(item => { return item.serverType === serverType; });
|
|
||||||
console.log(serverType, serverList);
|
|
||||||
return serverList;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export const GameModel = getModelForClass(Game);
|
|
||||||
@@ -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<Equip>[]; // 武将装备引用数组
|
|
||||||
}
|
|
||||||
|
|
||||||
export const HeroModel = getModelForClass(Hero);
|
|
||||||
@@ -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);
|
|
||||||
@@ -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);
|
|
||||||
@@ -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);
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
import { STATUS_TOKEN_ERR, STATUS_WRONG_PARMS } from './../../../shared/statusCode';
|
import { STATUS_TOKEN_ERR, STATUS_WRONG_PARMS } from '@consts/statusCode';
|
||||||
import { UserModel } from './../db/User';
|
import { UserModel } from './../db/User';
|
||||||
|
|
||||||
module.exports = () => {
|
module.exports = () => {
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { RoleModel } from './../db/Role';
|
import { RoleModel } from '@db/Role';
|
||||||
import { UserModel } from './../db/User';
|
import { UserModel } from '@db/User';
|
||||||
import { SMS_IN_60S, SMS_CNT_LIMIT, STATUS_SUC, STATUS_WRONG_PARMS, SMS_INVALID, ROLE_NOT_FOUND } from './../../../shared/statusCode';
|
import { SMS_IN_60S, SMS_CNT_LIMIT, STATUS_SUC, STATUS_WRONG_PARMS, SMS_INVALID, ROLE_NOT_FOUND } from '@consts/statusCode';
|
||||||
import { smsModel } from './../db/Sms';
|
import { smsModel } from '@db/Sms';
|
||||||
import { Service } from 'egg';
|
import { Service } from 'egg';
|
||||||
import Counter from '../db/Counter';
|
import Counter from '@db/Counter';
|
||||||
const _ = require('underscore');
|
const _ = require('underscore');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -48,7 +48,6 @@ export default class Auth extends Service {
|
|||||||
if (telVerify.status !== 0) {
|
if (telVerify.status !== 0) {
|
||||||
return telVerify;
|
return telVerify;
|
||||||
}
|
}
|
||||||
|
|
||||||
const sms = await smsModel.findByTel(tel, false);
|
const sms = await smsModel.findByTel(tel, false);
|
||||||
if (sms) {
|
if (sms) {
|
||||||
if (await sms.timeLimit(10000)) {
|
if (await sms.timeLimit(10000)) {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { TURBO_CORE_URL, APP_ID, TURBO_PARM_SECRET } from './../../../shared/consts/consts';
|
import { TURBO_CORE_URL, APP_ID, TURBO_PARM_SECRET } from '@consts/consts';
|
||||||
import { Service } from 'egg';
|
import { Service } from 'egg';
|
||||||
const crypto = require('crypto');
|
const crypto = require('crypto');
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ export default (appInfo: EggAppInfo) => {
|
|||||||
config.middleware = [ 'parmsDecode' ];
|
config.middleware = [ 'parmsDecode' ];
|
||||||
|
|
||||||
config.mongoose = {
|
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', // 内网
|
url: 'mongodb://dbop:zyzdbopbantu@dds-8vbdb47c6fb58a541.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vbdb47c6fb58a542.mongodb.zhangbei.rds.aliyuncs.com:3717/zyz?replicaSet=mgset-500808098', // 内网
|
||||||
options: {},
|
options: { useNewUrlParser: true, useUnifiedTopology: true },
|
||||||
};
|
};
|
||||||
|
|
||||||
config.alinode = {
|
config.alinode = {
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { EggPlugin } from 'egg';
|
import { EggPlugin } from 'egg';
|
||||||
|
import 'tsconfig-paths/register';
|
||||||
|
|
||||||
const plugin: EggPlugin = {
|
const plugin: EggPlugin = {
|
||||||
static: true,
|
static: true,
|
||||||
|
|||||||
252
web-server/package-lock.json
generated
252
web-server/package-lock.json
generated
@@ -254,30 +254,6 @@
|
|||||||
"resolved": "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz",
|
"resolved": "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz",
|
||||||
"integrity": "sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs="
|
"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": {
|
"@types/accepts": {
|
||||||
"version": "1.3.5",
|
"version": "1.3.5",
|
||||||
"resolved": "https://registry.npm.taobao.org/@types/accepts/download/@types/accepts-1.3.5.tgz",
|
"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": {
|
"@types/color-name": {
|
||||||
"version": "1.1.1",
|
"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",
|
"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=",
|
"integrity": "sha1-NSOxJqCwSUguHDwRh3Rg92Yi/6s=",
|
||||||
"dev": true
|
"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": {
|
"@types/node": {
|
||||||
"version": "7.10.11",
|
"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",
|
"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"
|
"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": {
|
"black-hole-stream": {
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"resolved": "https://registry.npm.taobao.org/black-hole-stream/download/black-hole-stream-0.0.1.tgz",
|
"resolved": "https://registry.npm.taobao.org/black-hole-stream/download/black-hole-stream-0.0.1.tgz",
|
||||||
"integrity": "sha1-M7ega58edFPWBBuCl0SB0hUq6kI="
|
"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": {
|
"brace-expansion": {
|
||||||
"version": "1.1.11",
|
"version": "1.1.11",
|
||||||
"resolved": "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz",
|
"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"
|
"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": {
|
"buffer": {
|
||||||
"version": "5.6.0",
|
"version": "5.6.0",
|
||||||
"resolved": "https://registry.npm.taobao.org/buffer/download/buffer-5.6.0.tgz",
|
"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",
|
"resolved": "https://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz",
|
||||||
"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
|
"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": {
|
"depd": {
|
||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz",
|
"resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz",
|
||||||
@@ -6302,11 +6196,6 @@
|
|||||||
"object.assign": "^4.1.0"
|
"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": {
|
"keygrip": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"resolved": "https://registry.npm.taobao.org/keygrip/download/keygrip-1.1.0.tgz",
|
"resolved": "https://registry.npm.taobao.org/keygrip/download/keygrip-1.1.0.tgz",
|
||||||
@@ -6559,7 +6448,8 @@
|
|||||||
"lodash": {
|
"lodash": {
|
||||||
"version": "4.17.20",
|
"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",
|
"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": {
|
"log-symbols": {
|
||||||
"version": "2.2.0",
|
"version": "2.2.0",
|
||||||
@@ -6570,11 +6460,6 @@
|
|||||||
"chalk": "^2.0.1"
|
"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": {
|
"long": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npm.taobao.org/long/download/long-4.0.0.tgz",
|
"resolved": "https://registry.npm.taobao.org/long/download/long-4.0.0.tgz",
|
||||||
@@ -6665,12 +6550,6 @@
|
|||||||
"p-is-promise": "^2.0.0"
|
"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": {
|
"merge-descriptors": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz",
|
"resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz",
|
||||||
@@ -6823,81 +6702,6 @@
|
|||||||
"moment": ">= 2.9.0"
|
"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": {
|
"ms": {
|
||||||
"version": "2.1.2",
|
"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",
|
"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",
|
||||||
@@ -8651,8 +8455,7 @@
|
|||||||
"version": "2.2.2",
|
"version": "2.2.2",
|
||||||
"resolved": "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz",
|
"resolved": "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz",
|
||||||
"integrity": "sha1-IfMz6ba46v8CRo9RRupAbTRfTa0=",
|
"integrity": "sha1-IfMz6ba46v8CRo9RRupAbTRfTa0=",
|
||||||
"dev": true,
|
"dev": true
|
||||||
"optional": true
|
|
||||||
},
|
},
|
||||||
"pify": {
|
"pify": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
@@ -9169,11 +8972,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": {
|
"regexp.prototype.flags": {
|
||||||
"version": "1.3.0",
|
"version": "1.3.0",
|
||||||
"resolved": "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.3.0.tgz",
|
"resolved": "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.3.0.tgz",
|
||||||
@@ -9259,22 +9057,6 @@
|
|||||||
"resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz",
|
"resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz",
|
||||||
"integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
|
"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": {
|
"resolve": {
|
||||||
"version": "1.17.0",
|
"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",
|
"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",
|
||||||
@@ -9412,15 +9194,6 @@
|
|||||||
"resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz",
|
"resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz",
|
||||||
"integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo="
|
"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": {
|
"scmp": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npm.taobao.org/scmp/download/scmp-2.1.0.tgz",
|
"resolved": "https://registry.npm.taobao.org/scmp/download/scmp-2.1.0.tgz",
|
||||||
@@ -9530,11 +9303,6 @@
|
|||||||
"object-inspect": "^1.7.0"
|
"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": {
|
"signal-exit": {
|
||||||
"version": "3.0.3",
|
"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",
|
"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",
|
||||||
@@ -9556,11 +9324,6 @@
|
|||||||
"is-fullwidth-code-point": "^2.0.0"
|
"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": {
|
"smart-buffer": {
|
||||||
"version": "4.1.0",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npm.taobao.org/smart-buffer/download/smart-buffer-4.1.0.tgz",
|
"resolved": "https://registry.npm.taobao.org/smart-buffer/download/smart-buffer-4.1.0.tgz",
|
||||||
@@ -9742,15 +9505,6 @@
|
|||||||
"resolved": "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz",
|
"resolved": "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz",
|
||||||
"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
|
"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": {
|
"spdx-correct": {
|
||||||
"version": "3.1.1",
|
"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",
|
"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",
|
||||||
|
|||||||
@@ -22,7 +22,6 @@
|
|||||||
"clean": "ets clean"
|
"clean": "ets clean"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typegoose/typegoose": "^7.3.4",
|
|
||||||
"csprng": "^0.1.2",
|
"csprng": "^0.1.2",
|
||||||
"egg": "^2.6.1",
|
"egg": "^2.6.1",
|
||||||
"egg-alinode": "^2.0.1",
|
"egg-alinode": "^2.0.1",
|
||||||
@@ -35,7 +34,6 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/mocha": "^2.2.40",
|
"@types/mocha": "^2.2.40",
|
||||||
"@types/mongoose": "^5.7.36",
|
|
||||||
"@types/node": "^7.0.12",
|
"@types/node": "^7.0.12",
|
||||||
"@types/supertest": "^2.0.0",
|
"@types/supertest": "^2.0.0",
|
||||||
"autod": "^3.0.1",
|
"autod": "^3.0.1",
|
||||||
|
|||||||
@@ -20,7 +20,12 @@
|
|||||||
"skipLibCheck": true,
|
"skipLibCheck": true,
|
||||||
"skipDefaultLibCheck": true,
|
"skipDefaultLibCheck": true,
|
||||||
"inlineSourceMap": true,
|
"inlineSourceMap": true,
|
||||||
"importHelpers": true
|
"importHelpers": true,
|
||||||
|
"baseUrl": ".",
|
||||||
|
"paths": {
|
||||||
|
"@db/*": ["app/db/*"],
|
||||||
|
"@consts/*": ["app/consts/*"]
|
||||||
|
},
|
||||||
},
|
},
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"app/public",
|
"app/public",
|
||||||
|
|||||||
Reference in New Issue
Block a user