From f344ea696ecd4c341de6f98cb6fa8fbce16f90ac Mon Sep 17 00:00:00 2001 From: qinhan Date: Fri, 10 Apr 2026 16:09:34 +0800 Subject: [PATCH] feat: add icon field to equipment and pill, update bag API --- .../Frontend/src/api/equipment.ts | 1 + .../Frontend/src/api/pill.ts | 1 + .../src/views/admin/EquipmentsView.vue | 10 ++++++++-- .../Frontend/src/views/admin/PillsView.vue | 6 ++++++ Build_God_Api/Build_God_Api/DB/Equipment.cs | 6 ++++++ Build_God_Api/Build_God_Api/DB/Pill.cs | 5 +++++ .../Build_God_Api/Services/BagService.cs | 3 +++ Build_God_Game/src/api/bag.ts | 1 + .../src/assets/images/item-default.svg | 5 +++++ Build_God_Game/src/views/BagView.vue | 18 +++++++++++++++++- 10 files changed, 53 insertions(+), 3 deletions(-) create mode 100644 Build_God_Game/src/assets/images/item-default.svg diff --git a/Build_God_Admin_Frontend/Frontend/src/api/equipment.ts b/Build_God_Admin_Frontend/Frontend/src/api/equipment.ts index 5c3712c..700bfcd 100644 --- a/Build_God_Admin_Frontend/Frontend/src/api/equipment.ts +++ b/Build_God_Admin_Frontend/Frontend/src/api/equipment.ts @@ -12,6 +12,7 @@ export interface EquipmentTemplate { attributePool: string; randomAttrCount: number; maxEnhanceLevel: number; + icon: string | null; } export interface EquipmentAttribute { diff --git a/Build_God_Admin_Frontend/Frontend/src/api/pill.ts b/Build_God_Admin_Frontend/Frontend/src/api/pill.ts index 6833acf..0df8cac 100644 --- a/Build_God_Admin_Frontend/Frontend/src/api/pill.ts +++ b/Build_God_Admin_Frontend/Frontend/src/api/pill.ts @@ -10,6 +10,7 @@ export interface Pill { requirdLevelId?: number; effectValue?: number; duration?: number; + icon?: string | null; } //获取所有 diff --git a/Build_God_Admin_Frontend/Frontend/src/views/admin/EquipmentsView.vue b/Build_God_Admin_Frontend/Frontend/src/views/admin/EquipmentsView.vue index a82b17a..fcecdec 100644 --- a/Build_God_Admin_Frontend/Frontend/src/views/admin/EquipmentsView.vue +++ b/Build_God_Admin_Frontend/Frontend/src/views/admin/EquipmentsView.vue @@ -40,7 +40,8 @@ const formData = ref>({ money: 0, attributePool: '[]', randomAttrCount: 4, - maxEnhanceLevel: 10 + maxEnhanceLevel: 10, + icon: null }) const attributePoolList = ref([]) @@ -114,7 +115,8 @@ const openDialog = (eq?: EquipmentTemplate) => { money: undefined, attributePool: '[]', randomAttrCount: 4, - maxEnhanceLevel: 10 + maxEnhanceLevel: 10, + icon: null } attributePoolList.value = [] } @@ -169,6 +171,7 @@ const saveEquipment = async () => { attributePool: formData.value.attributePool || '[]', randomAttrCount: formData.value.randomAttrCount || 4, maxEnhanceLevel: formData.value.maxEnhanceLevel || 10, + icon: formData.value.icon || null, } var result = await AddEquipmentTemplate(newOne) @@ -359,6 +362,9 @@ const fetchAttributeTypes = async () => { + + + diff --git a/Build_God_Admin_Frontend/Frontend/src/views/admin/PillsView.vue b/Build_God_Admin_Frontend/Frontend/src/views/admin/PillsView.vue index e55adec..27e59b1 100644 --- a/Build_God_Admin_Frontend/Frontend/src/views/admin/PillsView.vue +++ b/Build_God_Admin_Frontend/Frontend/src/views/admin/PillsView.vue @@ -28,6 +28,7 @@ const formData = ref({ requirdLevelId: undefined, effectValue: undefined, duration: undefined, + icon: undefined, }) const filteredPills = computed(() => { @@ -81,6 +82,7 @@ const openDialog = (pill?: Pill) => { requirdLevelId: undefined, effectValue: undefined, duration: undefined, + icon: undefined, } } showDialog.value = true @@ -118,6 +120,7 @@ const savePill = async () => { requirdLevelId: formData.value.requirdLevelId, effectValue: formData.value.effectValue, duration: formData.value.duration, + icon: formData.value.icon, } var result = await AddPill(newOne) if (result) { @@ -267,6 +270,9 @@ const fetchLevels = async () => { + + +