形象:设置头像相框形象
This commit is contained in:
@@ -46,7 +46,6 @@ export class EntryHandler {
|
||||
}
|
||||
|
||||
let role = await RoleModel.findByUid(user.uid, serverId, ROLE_SELECT.ENTRY, true);
|
||||
console.log('****', role.heads, role.head)
|
||||
if (!role) {
|
||||
return resResult(STATUS.ROLE_NOT_FOUND);
|
||||
}
|
||||
|
||||
@@ -647,16 +647,26 @@ export class FriendHandler {
|
||||
|
||||
let dbHeroes = await HeroModel.findByRole(oppoRoleId);
|
||||
let role = await RoleModel.findByRoleId(oppoRoleId, null, true);
|
||||
let { topLineup, topLineupCe, towerLv } = role;
|
||||
let { topLineup, topLineupCe, towerLv, showLineup } = role;
|
||||
|
||||
let heroes = new Array<PlayerDetailHero>();
|
||||
for(let {hid, lv, star, colorStar, quality } of dbHeroes) {
|
||||
let hasHero = topLineup.find(cur => cur.hid == hid);
|
||||
if(hasHero) {
|
||||
heroes.push({
|
||||
actorId: hid, lv, star, colorStar, quality,
|
||||
score: 0
|
||||
});
|
||||
if(showLineup) { // 设置过展示阵容
|
||||
let hasHero = showLineup.includes(hid);
|
||||
if(hasHero) {
|
||||
heroes.push({
|
||||
actorId: hid, lv, star, colorStar, quality,
|
||||
score: 0
|
||||
});
|
||||
}
|
||||
} else {
|
||||
let hasHero = topLineup.find(cur => cur.hid == hid);
|
||||
if(hasHero) {
|
||||
heroes.push({
|
||||
actorId: hid, lv, star, colorStar, quality,
|
||||
score: 0
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
let rank = await getMyRank(REDIS_KEY.PVP_RANK, 0, oppoRoleId);//去redis中获取排名
|
||||
|
||||
@@ -12,7 +12,8 @@ import { SclResultInter, SclPosInter } from '../../../pubUtils/interface';
|
||||
import { SchoolModel } from '../../../db/School';
|
||||
import { checkTeraphMaterialEnough } from '../../../services/roleService'
|
||||
import { calPlayerCeAndSave, calAllHeroCe } from '../../../services/playerCeService';
|
||||
import { HERO_SYSTEM_TYPE } from '../../../consts';
|
||||
import { HERO_SYSTEM_TYPE, LINEUP_NUM, ROLE_SELECT } from '../../../consts';
|
||||
import { checkBattleHeroesByHid } from '../../../services/normalBattleService';
|
||||
|
||||
export default function(app: Application) {
|
||||
return new RoleHandler(app);
|
||||
@@ -358,7 +359,7 @@ export class RoleHandler {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// 防沉迷调试用,推送窗口
|
||||
async debugPlayerTime(msg: { type: number }, session: BackendSession) {
|
||||
let { type } = msg;
|
||||
let roleId = session.get('roleId');
|
||||
@@ -404,4 +405,91 @@ export class RoleHandler {
|
||||
|
||||
return resResult(STATUS.SUCCESS);
|
||||
}
|
||||
|
||||
// 保存展示阵容
|
||||
async saveShowLineup(msg: { showLineup: number[] }, session: BackendSession) {
|
||||
let { showLineup } = msg;
|
||||
let roleId = session.get('roleId');
|
||||
|
||||
let checkHeroes = await checkBattleHeroesByHid(roleId, showLineup);
|
||||
if(!checkHeroes) return resResult(STATUS.BATTLE_HERO_NOT_FOUND);
|
||||
|
||||
if(showLineup.length > LINEUP_NUM) {
|
||||
return resResult(STATUS.LINEUP_MAX);
|
||||
}
|
||||
|
||||
let role = await RoleModel.updateRoleInfo(roleId, { showLineup });
|
||||
|
||||
return resResult(STATUS.SUCCESS, { showLineup: role.showLineup });
|
||||
}
|
||||
|
||||
// 更换头像
|
||||
async setHead(msg: { id: number }, session: BackendSession) {
|
||||
let { id } = msg;
|
||||
let roleId = session.get('roleId');
|
||||
let role = await RoleModel.findByRoleId(roleId, ROLE_SELECT.GET_HEADS);
|
||||
if(!role) return resResult(STATUS.ROLE_NOT_FOUND);
|
||||
|
||||
let { heads } = role;
|
||||
let curHead = heads.find(cur => cur.id == id);
|
||||
if(!curHead) return resResult(STATUS.HEAD_NOT_FOUND);
|
||||
if(curHead.enable) return resResult(STATUS.HEAD_IS_WEARING);
|
||||
if(!curHead.status) return resResult(STATUS.HEAD_IS_LOCKED);
|
||||
|
||||
let oldHead = heads.find(cur => cur.enable); // 穿戴中的头像
|
||||
if(oldHead) {
|
||||
oldHead.enable = false;
|
||||
}
|
||||
curHead.enable = true;
|
||||
|
||||
role = await RoleModel.updateRoleInfo(roleId, { heads });
|
||||
|
||||
return resResult(STATUS.SUCCESS, { heads: role.heads, head: role.head });
|
||||
}
|
||||
|
||||
// 更换相框
|
||||
async setFrame(msg: { id: number }, session: BackendSession) {
|
||||
let { id } = msg;
|
||||
let roleId = session.get('roleId');
|
||||
let role = await RoleModel.findByRoleId(roleId, ROLE_SELECT.GET_HEADS);
|
||||
if(!role) return resResult(STATUS.ROLE_NOT_FOUND);
|
||||
|
||||
let { frames } = role;
|
||||
let curFrame = frames.find(cur => cur.id == id);
|
||||
if(!curFrame) return resResult(STATUS.HEAD_NOT_FOUND);
|
||||
if(curFrame.enable) return resResult(STATUS.HEAD_IS_WEARING);
|
||||
if(!curFrame.status) return resResult(STATUS.HEAD_IS_LOCKED);
|
||||
|
||||
let oldHead = frames.find(cur => cur.enable); // 穿戴中的头像
|
||||
if(oldHead) {
|
||||
oldHead.enable = false;
|
||||
}
|
||||
curFrame.enable = true;
|
||||
|
||||
role = await RoleModel.updateRoleInfo(roleId, { frames });
|
||||
|
||||
return resResult(STATUS.SUCCESS, { frames: role.frames, frame: role.frame });
|
||||
}
|
||||
|
||||
// 更换形象
|
||||
async setSpine(msg: { id: number }, session: BackendSession) {
|
||||
let { id } = msg;
|
||||
let roleId = session.get('roleId');
|
||||
let role = await RoleModel.findByRoleId(roleId, ROLE_SELECT.GET_HEADS);
|
||||
if(!role) return resResult(STATUS.ROLE_NOT_FOUND);
|
||||
|
||||
let { spine } = role;
|
||||
|
||||
if(spine == id) {
|
||||
return resResult(STATUS.SPINE_IS_WEARING);
|
||||
}
|
||||
let checkSkinResult = await HeroModel.checkSkin(roleId, spine);
|
||||
if(!checkSkinResult) {
|
||||
return resResult(STATUS.SPINE_NOT_FOUND);
|
||||
}
|
||||
|
||||
role = await RoleModel.updateRoleInfo(roleId, { spine: id });
|
||||
|
||||
return resResult(STATUS.SUCCESS, { spine: role.spine });
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user