测试:武将测试debug接口
This commit is contained in:
@@ -3,11 +3,11 @@ import { EquipModel } from './../../../db/Equip';
|
||||
import { RoleModel, RoleType } from './../../../db/Role';
|
||||
import { UserModel } from '../../../db/User';
|
||||
import { GMUserModel } from '../../../db/GMUser';
|
||||
import { Application, HandlerService, } from 'pinus';
|
||||
import { Application, HandlerService, pinus, } from 'pinus';
|
||||
import { FrontendSession } from 'pinus';
|
||||
import { HeroModel } from './../../../db/Hero';
|
||||
import { resResult } from '../../../pubUtils/util';
|
||||
import { COM_BTL_QUALITY, HERO_SELECT, DEBUG_MAGIC_WORD, REDIS_KEY, TASK_TYPE, ENTERY_ROLE_PICK } from '../../../consts';
|
||||
import { genCode, generateStr, resResult } from '../../../pubUtils/util';
|
||||
import { COM_BTL_QUALITY, HERO_SELECT, DEBUG_MAGIC_WORD, REDIS_KEY, TASK_TYPE, ENTERY_ROLE_PICK, COUNTER, DEFAULT_LV } from '../../../consts';
|
||||
import { getAp } from '../../../services/actionPointService';
|
||||
import { ItemModel } from '../../../db/Item';
|
||||
import { SkinModel } from '../../../db/Skin';
|
||||
@@ -22,6 +22,8 @@ import { checkTaskWithRole, } from '../../../services/taskService';
|
||||
import { pushData, everydayRefresh, kickUser } from '../../../services/connectorService';
|
||||
import { pick } from 'lodash';
|
||||
import { setComBtlOnUserLeave } from '../../../services/comBattleService';
|
||||
import Counter from '../../../db/Counter';
|
||||
import { getExpByLv } from '../../../pubUtils/data';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -299,14 +301,24 @@ export class EntryHandler {
|
||||
return resResult(STATUS.SUCCESS, { user });
|
||||
}
|
||||
|
||||
async debugQueryTokenByTel(msg: { tel: string, magicWord: string }, session: FrontendSession) {
|
||||
const { tel, magicWord } = msg;
|
||||
async debugQueryTokenByTel(msg: { tel: string, magicWord: string, serverId: number }, session: FrontendSession) {
|
||||
const { tel, magicWord, serverId } = msg;
|
||||
if (magicWord !== DEBUG_MAGIC_WORD) {
|
||||
return resResult(STATUS.TOKEN_ERR);
|
||||
}
|
||||
const user = await UserModel.findTokenByTel(tel);
|
||||
console.log('debugQueryTokenByTel got user:', user);
|
||||
return resResult(STATUS.SUCCESS, { user });
|
||||
let token = await UserModel.findTokenByTel(tel);
|
||||
if(!token) {
|
||||
// 用户注册登录
|
||||
token = generateStr(256);
|
||||
let user = await UserModel.createOrUpdate(false, tel, token, 'pc', ' ', pinus.app.get('env'), '', '');
|
||||
const roleId = genCode(10);
|
||||
const code = genCode(6);
|
||||
const seqId = await Counter.getNewCounter(COUNTER.ROLE) || -1;
|
||||
|
||||
await RoleModel.createRole(user.uid, serverId, { roleId, code, roleName: roleId, seqId, lv: DEFAULT_LV, exp: (getExpByLv(DEFAULT_LV - 1) || { sum: 0 }).sum || 0 });
|
||||
}
|
||||
console.log('debugQueryTokenByTel got user:', token);
|
||||
return resResult(STATUS.SUCCESS, { user: token });
|
||||
}
|
||||
|
||||
async debugPushRefToOnlineUsers(msg: { magicWord: string }, session: FrontendSession) {
|
||||
|
||||
@@ -3,7 +3,7 @@ import { handleCost, addItems, unlockFigure, createHeroes, createHero, CheckMete
|
||||
import { calPlayerCeAndSave, calAllHeroCe } from '../../../services/playerCeService';
|
||||
import { resResult, deepCopy } from '../../../pubUtils/util';
|
||||
import { STATUS } from '../../../consts/statusCode';
|
||||
import { HeroModel, Connect, HeroSkin } from '../../../db/Hero';
|
||||
import { HeroModel, Connect, HeroSkin, HeroUpdate } from '../../../db/Hero';
|
||||
import { CURRENCY_BY_TYPE, CURRENCY_TYPE, CONSUME_TYPE, HERO_GROW_MAX, HERO_SYSTEM_TYPE, ABI_STAGE, DEBUG_MAGIC_WORD, HERO_INITIAL_QUALITY, REDIS_KEY, TASK_TYPE } from '../../../consts';
|
||||
import { RoleModel } from '../../../db/Role';
|
||||
import { ItemModel } from '../../../db/Item';
|
||||
@@ -445,7 +445,7 @@ export class HeroHandler {
|
||||
let level = curConnect.level;
|
||||
|
||||
let friendShip = getFriendShipById(shipId, level);
|
||||
if (hero.star < friendShip.level)
|
||||
if (hero.lv < friendShip.level)
|
||||
return resResult(STATUS.NOT_REACH_UNLOCK_LEVEL);
|
||||
let hids = friendShip.hids;
|
||||
for (let hid of hids) {
|
||||
@@ -454,7 +454,7 @@ export class HeroHandler {
|
||||
let member = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
if (!member)
|
||||
return resResult(STATUS.ROLE_SHORT_HERO_CONECTION);
|
||||
if (member.star < friendShip.level)
|
||||
if (member.lv < friendShip.level)
|
||||
return resResult(STATUS.NOT_REACH_UNLOCK_LEVEL);
|
||||
}
|
||||
let result = await handleCost(roleId, sid, [{ id: CURRENCY_BY_TYPE.get(CURRENCY_TYPE.COIN), count: friendShip.costCoin }]);
|
||||
@@ -552,6 +552,7 @@ export class HeroHandler {
|
||||
let sid: string = session.get('sid');
|
||||
let { id } = msg;
|
||||
let skinInfo = gameData.fashion.get(id);
|
||||
console.log('*****', id, skinInfo)
|
||||
if (!skinInfo) return resResult(STATUS.HERO_SKIN_NOT_FIND);
|
||||
let hero = await HeroModel.findByHidAndRole(skinInfo.actorId, roleId);
|
||||
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
|
||||
@@ -670,4 +671,25 @@ export class HeroHandler {
|
||||
return resResult(STATUS.SUCCESS, { goods: result, lv: role.lv, exp: role.exp });
|
||||
|
||||
}
|
||||
|
||||
public async debugSetHero(msg: { magicWord: string, hid: number, params: HeroUpdate }, session: BackendSession) {
|
||||
let roleId: string = session.get('roleId');
|
||||
let roleName: string = session.get('roleName');
|
||||
let sid: string = session.get('sid');
|
||||
let serverId: number = session.get('serverId');
|
||||
|
||||
let { magicWord, hid, params } = msg;
|
||||
if (magicWord !== DEBUG_MAGIC_WORD) {
|
||||
return resResult(STATUS.TOKEN_ERR);
|
||||
}
|
||||
let hero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
if(!hero) {
|
||||
let { heroes } = await createHero(roleId, roleName, sid, serverId, { hid, count: 1, ...params });
|
||||
hero = heroes[0];
|
||||
}
|
||||
hero = await HeroModel.updateHeroInfo(roleId, hid, params);
|
||||
|
||||
return resResult(STATUS.SUCCESS, { hero });
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -670,8 +670,6 @@ export class Rank {
|
||||
let myId = this.decodeFields(this.key, field);
|
||||
const scores = this.decodeScore(rankFromDb[ii + 1]);
|
||||
|
||||
console.log('**********', scores);
|
||||
|
||||
const info = await redisClient().hgetAsync(this.infoKey, this.composeFields(this.infoKey, myId));
|
||||
const userInfo = JSON.parse(info);
|
||||
|
||||
|
||||
708
game-server/package-lock.json
generated
708
game-server/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -34,6 +34,7 @@
|
||||
"chinese-random-name": "^1.0.0",
|
||||
"crc": "^3.5.0",
|
||||
"cross-env": "^7.0.3",
|
||||
"csprng": "^0.1.2",
|
||||
"local": "^0.3.3",
|
||||
"moment": "^2.29.1",
|
||||
"mongoose": "^5.10.4",
|
||||
|
||||
@@ -2,6 +2,7 @@ import { STATUS } from './../consts/statusCode';
|
||||
|
||||
import { HeroModel, HeroType } from '../db/Hero';
|
||||
|
||||
const csprng = require('csprng');
|
||||
import fs = require('fs');
|
||||
import path = require('path');
|
||||
import { HERO_CE_RATIO, ABI_STAGE, GACHA_TO_FLOOR, REFRESH_TIME, ROBOT_SYS_TYPE, } from '../consts';
|
||||
@@ -58,6 +59,14 @@ export function genCode(len) {
|
||||
return code;
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成 len 长度的随机字符串
|
||||
* @param len 长度
|
||||
* @param radix 基数
|
||||
*/
|
||||
export function generateStr(len: number, radix = 36) {
|
||||
return `${csprng(len, radix)}`;
|
||||
}
|
||||
|
||||
export function generateNum(len: number) {
|
||||
let code = '';
|
||||
|
||||
Reference in New Issue
Block a user