From f5b3a16f3015055947636cc72d96a2c30a87c1a3 Mon Sep 17 00:00:00 2001 From: hanqin Date: Wed, 18 Mar 2026 16:57:45 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AA=81=E7=A0=B4=E7=9A=84=E6=97=B6=E5=80=99?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E6=B6=88=E8=80=97=E7=89=A9=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Frontend/src/api/level.ts | 2 + .../Frontend/src/api/pill.ts | 1 - .../Frontend/src/views/admin/LevelsView.vue | 63 +++++++++++++++++-- .../Frontend/src/views/admin/PillsView.vue | 34 +--------- Build_God_Api/Build_God_Api/DB/Level.cs | 13 +++- .../Build_God_Api/Dto/CharacterDto.cs | 3 + .../Build_God_Api/Services/BagService.cs | 41 ++++++++++++ .../Services/CharacterService.cs | 46 +++++++++++++- Build_God_Game/src/api/character.ts | 3 + Build_God_Game/src/views/GameView.vue | 29 +++++++++ 10 files changed, 194 insertions(+), 41 deletions(-) diff --git a/Build_God_Admin_Frontend/Frontend/src/api/level.ts b/Build_God_Admin_Frontend/Frontend/src/api/level.ts index bac7d75..a550bdf 100644 --- a/Build_God_Admin_Frontend/Frontend/src/api/level.ts +++ b/Build_God_Admin_Frontend/Frontend/src/api/level.ts @@ -9,6 +9,8 @@ export interface Level{ baseBreakthroughRate: number; failIncrement: number; description: string; + requiredPillId?: number; + requiredPillQuantity?: number; } //获取所有的level diff --git a/Build_God_Admin_Frontend/Frontend/src/api/pill.ts b/Build_God_Admin_Frontend/Frontend/src/api/pill.ts index db1d893..6833acf 100644 --- a/Build_God_Admin_Frontend/Frontend/src/api/pill.ts +++ b/Build_God_Admin_Frontend/Frontend/src/api/pill.ts @@ -3,7 +3,6 @@ import http, { type EnumInfoDto } from "../api/index"; export interface Pill { id: number; name: string; - grade?: number; type?: number; rarity?: number; money?: number; diff --git a/Build_God_Admin_Frontend/Frontend/src/views/admin/LevelsView.vue b/Build_God_Admin_Frontend/Frontend/src/views/admin/LevelsView.vue index 2d2468b..4cb4600 100644 --- a/Build_God_Admin_Frontend/Frontend/src/views/admin/LevelsView.vue +++ b/Build_God_Admin_Frontend/Frontend/src/views/admin/LevelsView.vue @@ -2,9 +2,11 @@ import { ref, computed, onMounted } from 'vue' import { ElMessage, ElMessageBox } from 'element-plus' import { AddLevel, DeleteLevel, GetLevelList, UpdateLevel, type Level } from '@/api/level' +import { GetPillList, type Pill } from '@/api/pill' import { Plus,Edit,Delete,Close } from '@element-plus/icons-vue' const levels = ref([]) +const pills = ref([]) const showDialog = ref(false) const isEditing = ref(false) @@ -18,7 +20,9 @@ const formData = ref>({ nextLevelId: null, baseBreakthroughRate: 0, failIncrement: 0, - description: '' + description: '', + requiredPillId: undefined, + requiredPillQuantity: 0 }) const filteredLevels = computed(() => { @@ -33,7 +37,11 @@ const filteredLevels = computed(() => { const openDialog = (level?: Level) => { if (level!=undefined) { isEditing.value = true - formData.value = { ...level } + formData.value = { + ...level, + requiredPillId: level.requiredPillId || undefined, + requiredPillQuantity: level.requiredPillQuantity || 0 + } } else { isEditing.value = false formData.value = { @@ -43,7 +51,9 @@ const openDialog = (level?: Level) => { nextLevelId: null, baseBreakthroughRate: 0, failIncrement: 0, - description: '' + description: '', + requiredPillId: undefined, + requiredPillQuantity: 0 } } showDialog.value = true @@ -118,8 +128,24 @@ const translateLevelName = (nextLevelId:number)=> { return nextLevel ? nextLevel.name : '未知'; } +const translateLevelExp = (exp:number)=>{ + return exp.toLocaleString() +} + +const translatePillName = (pillId?: number) => { + if (!pillId) return '-' + const pill = pills.value.find(p => p.id === pillId) + return pill ? pill.name : '未知' +} + +const loadPills = async () => { + const result = await GetPillList() + pills.value = result +} + onMounted(async () => { RefreshLevels(); + loadPills(); }) const RefreshLevels = async () => { @@ -145,7 +171,13 @@ const RefreshLevels = async () => { - + + + + + + + + +