武将攻略:武将对比

This commit is contained in:
luying
2022-07-02 14:38:58 +08:00
parent c1eceaeba5
commit 11692c9a56
8 changed files with 84 additions and 8 deletions

View File

@@ -7,7 +7,7 @@ export enum ROLE_SELECT {
// 显示申请需要的信息
SHOW_FRIEND_APPLY_LIST = 'roleId roleName ce head frame spine heads frames spines lv title job quitTime vLv guildName friendCnt recFrdApplyCnt serverId userInfo.serverType',
HANDLE_APPLY = 'roleId friendCnt lv',
ATTR = 'attr',
ATTR = 'attr title',
GET_LV = 'lv',
GET_ROLE_ID = 'roleId roleName lv head frame spine heads frames spines ce title friendCnt serverId userInfo.serverType',
GET_MY_SERVER = 'lv serverId userInfo.serverType',
@@ -19,7 +19,7 @@ export enum ROLE_SELECT {
export enum HERO_SELECT {
ENTRY = '-_id -attr -__v',
HERO_DETAIL = 'roleId roleName hid hName ce lv star colorStar quality job skins attr ePlace skinId',
HERO_DETAIL = 'roleId roleName hid hName ce lv star colorStar quality job skins attr ePlace skinId connections favourLv',
// 排行榜中lineup字段
RANK_LINEUP = 'seqId roleId hid star colorStar lv quality job ce updatedAt skinId'
}
@@ -57,7 +57,7 @@ export enum FRIEND_SHIP_SELECT {
GET_FRIEND_VALUE = 'friendValue friendLv'
}
export const ENTERY_ROLE_PICK = ['roleId', 'roleName', 'serverId', 'ce', 'topLineupCe', 'coin', 'lv', 'exp', 'vLv', 'gold', 'heros', 'jewels', 'consumeGoods', 'title', 'teraphs', 'showLineup', 'heads', 'head', 'frames', 'frame', 'spines', 'spine', 'hasGuild', 'guildCode', 'todayZeroPoint', 'apJson', 'skins', 'totalPay', 'guide', 'hasInit', 'renameCnt', 'totalCost', 'guildName', 'isVip'];
export const ENTERY_ROLE_PICK = ['roleId', 'roleName', 'serverId', 'ce', 'topLineupCe', 'coin', 'lv', 'exp', 'vLv', 'gold', 'heros', 'jewels', 'consumeGoods', 'title', 'teraphs', 'showLineup', 'heads', 'head', 'frames', 'frame', 'spines', 'spine', 'hasGuild', 'guildCode', 'todayZeroPoint', 'apJson', 'skins', 'totalPay', 'guide', 'hasInit', 'renameCnt', 'totalCost', 'guildName', 'isVip', 'createTime'];
export enum SURVEY_SELECT {
FIND = '-__v -_id -surveyName -roleIndex -reward -mailContent -receivedRole -createdAt -updatedAt'

View File

@@ -19,6 +19,12 @@ export default class School extends BaseModel {
positionId: number; // 位置id
@prop({ required: true, default: 0 })
hid: number; // 放置的武将
@prop({ required: true, default: 0 })
quality: number; // 放置的武将的品质
@prop({ required: true, default: 0 })
star: number; // 放置的武将的星级
@prop({ required: true, default: 0 })
colorStar: number; // 放置的武将的彩星
@prop({ required: true, default: false })
isOpen: boolean; // 位置是否开启
@@ -37,7 +43,7 @@ export default class School extends BaseModel {
return result;
}
public static async updateBySclAndPos(roleId: string, schoolId: number, positionId: number, update: {hid?: number, isOpen?: boolean}) {
public static async updateBySclAndPos(roleId: string, schoolId: number, positionId: number, update: SchoolUpdate) {
const doc = new SchoolModel();
const setOnInsert = doc.toJSON();
@@ -48,6 +54,12 @@ export default class School extends BaseModel {
}
public static async updateByHid(roleId: string, hid: number, update: SchoolUpdate) {
const result: SchoolType = await SchoolModel.findOneAndUpdate({ roleId, hid }, { $set: update }, { new: true }).lean();
return result;
}
public static async deleteAccount(roleId: string) {
let result = await SchoolModel.deleteMany({ roleId });
return result;
@@ -57,3 +69,4 @@ export default class School extends BaseModel {
export const SchoolModel = getModelForClass(School);
export interface SchoolType extends Pick<DocumentType<School>, keyof School> { };
export type SchoolUpdate = Partial<SchoolType>; // 将所有字段变成可选项

View File

@@ -2,7 +2,7 @@ import { RoleType } from "../../db/Role";
import { FriendShipType } from "../../db/FriendShip";
import * as friendUtil from '../../pubUtils/friendUtil'
import { FRIEND_RELATION_TYPE } from "../../consts";
import { EPlace, HeroType, Stone, Talent } from "../../db/Hero";
import { Connect, EPlace, HeroType, Stone, Talent } from "../../db/Hero";
import { JewelType, RandSe } from "../../db/Jewel";
export class FriendParams {
@@ -191,6 +191,14 @@ export class HeroDetailParam {
mdef: number;
}
talent: Talent[] = [];
connections: Connect[] = [];
favourLv: number = 0;
role: {
title: number;
scroll: number;
teraph: number;
school: number;
};
constructor(hero: HeroType) {
this.roleId = hero.roleId;
@@ -210,7 +218,8 @@ export class HeroDetailParam {
this.talent = skin.talent||[];
}
}
this.connections = hero.connections;
this.favourLv = hero.favourLv;
}
setAttributes(attributes: {hp: number, atk: number, def: number, mdef: number}) {
@@ -224,4 +233,8 @@ export class HeroDetailParam {
}
}
}
setRole(title: number, scroll: number, teraph: number, school: number) {
this.role = { title, scroll, teraph, school };
}
}