From 8c3e7c4f5639fdcd30a2fec9adce0c9d0e98c197 Mon Sep 17 00:00:00 2001
From: lzx_win <2602107437@qq.com>
Date: Tue, 14 Oct 2025 14:06:28 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20=E6=9B=B4=E6=96=B0=E7=8E=AF=E5=A2=83?=
=?UTF-8?q?=E9=85=8D=E7=BD=AE=E5=92=8C=E4=BF=AE=E5=A4=8D=E6=A1=88=E4=BE=8B?=
=?UTF-8?q?=E5=B1=95=E7=A4=BA=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 更新生产环境和开发环境的API基础路径
- 修复案例详情页的数据获取逻辑,优先使用API返回数据
- 为联系信息添加条件渲染防止空值显示
- 调整vite代理配置的目标端口
- 注释掉首页的客户评价组件
---
.env.development | 4 +--
.env.production | 2 +-
src/App.vue | 6 ++--
src/components/home/CaseSection.vue | 4 ++-
src/stores/cases.js | 5 +++-
src/views/pages/CaseDetail.vue | 59 ++++++++++++++++++++++++++++---------
src/views/pages/Home.vue | 2 +-
vite.config.js | 2 +-
8 files changed, 60 insertions(+), 24 deletions(-)
diff --git a/.env.development b/.env.development
index 7b19594..ec1a694 100644
--- a/.env.development
+++ b/.env.development
@@ -2,5 +2,5 @@
# 开发环境
-# VITE_APP_BASE_API = '/dev-api'
-VITE_APP_BASE_API = 'http://42.194.239.145:8005/official'
+VITE_APP_BASE_API = '/dev-api'
+# VITE_APP_BASE_API = 'http://42.194.239.145:8005/official'
diff --git a/.env.production b/.env.production
index 39bf6ac..04b7a42 100644
--- a/.env.production
+++ b/.env.production
@@ -1,3 +1,3 @@
# 生产环境
-VITE_APP_BASE_API = 'http://42.194.239.145:8005/official'
\ No newline at end of file
+VITE_APP_BASE_API = 'https://official-admin.hhlm1688.com/official'
\ No newline at end of file
diff --git a/src/App.vue b/src/App.vue
index f48c5fe..dbf93ca 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -115,9 +115,9 @@ onMounted(() => {
联系我们
- - {{ configParams.address }}
- - {{ configParams.email }}
- - {{ configParams.phone }}
+ - {{ configParams.address }}
+ - {{ configParams.email }}
+ - {{ configParams.phone }}
diff --git a/src/components/home/CaseSection.vue b/src/components/home/CaseSection.vue
index b96ff28..2662ea1 100644
--- a/src/components/home/CaseSection.vue
+++ b/src/components/home/CaseSection.vue
@@ -2,9 +2,11 @@
// 导入案例项组件
import CaseItem from '../cases/CaseItem.vue';
import { useRouter } from 'vue-router';
+import { storeToRefs } from 'pinia';
import { useCasesStore } from '@/stores/cases'
-const { selectedCase } = useCasesStore()
+const casesStore = useCasesStore()
+const { selectedCase } = storeToRefs(casesStore)
// 获取路由实例
const router = useRouter();
diff --git a/src/stores/cases.js b/src/stores/cases.js
index 08c4c0d..6db3926 100644
--- a/src/stores/cases.js
+++ b/src/stores/cases.js
@@ -104,13 +104,16 @@ export const useCasesStore = defineStore('cases', () => {
}
];
- const selectedCase = ref(mockSelectedCases);
+ const selectedCase = ref([]);
const getSelectedCase = async () => {
try {
const res = await api.getSelectedCase();
if (res.data && res.data.length > 0) {
selectedCase.value = res.data;
+ } else {
+ // 如果API返回空数据,使用mock数据
+ selectedCase.value = mockSelectedCases;
}
} catch (error) {
console.error('获取精选案例失败:', error);
diff --git a/src/views/pages/CaseDetail.vue b/src/views/pages/CaseDetail.vue
index a44ee46..e4088cf 100644
--- a/src/views/pages/CaseDetail.vue
+++ b/src/views/pages/CaseDetail.vue
@@ -3,13 +3,14 @@ import { ref, onMounted, computed, watch } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import PageHeader from '../../components/PageHeader.vue';
import { useCasesStore } from '@/stores/cases';
+import api from '@/api'
const route = useRoute();
const router = useRouter();
const { selectedCase } = useCasesStore();
// 获取案例ID
-const caseId = computed(() => Number(route.params.id));
+const caseId = computed(() => route.params.id);
// 当前案例数据
const currentCase = ref(null);
@@ -45,23 +46,29 @@ const defaultCaseData = {
const getCaseDetail = async () => {
console.log('当前案例ID:', caseId.value);
console.log('所有案例:', selectedCase.value);
+
+ // 调用API获取案例详情
+ currentCase.value = await api.getCaseDetail(caseId.value);
+ if (currentCase.value.data) {
+ currentCase.value = currentCase.value.data;
+ }
// 尝试从selectedCase中获取数据
- if (selectedCase.value && selectedCase.value.length > 0) {
- const currentCaseData = selectedCase.value[0];
- console.log('使用的案例数据:', currentCaseData);
+ // if (selectedCase.value && selectedCase.value.length > 0) {
+ // const currentCaseData = selectedCase.value[0];
+ // console.log('使用的案例数据:', currentCaseData);
- // 处理图片路径,如果是数组则取第一个
- if (currentCaseData.imageUrl && typeof currentCaseData.imageUrl === 'string') {
- currentCaseData.image = currentCaseData.imageUrl.split(',')[0];
- }
+ // // 处理图片路径,如果是数组则取第一个
+ // if (currentCaseData.imageUrl && typeof currentCaseData.imageUrl === 'string') {
+ // currentCaseData.image = currentCaseData.imageUrl.split(',')[0];
+ // }
- currentCase.value = currentCaseData;
- } else {
- // 如果没有可用数据,使用默认的静态数据
- console.log('使用默认的静态数据');
- currentCase.value = defaultCaseData;
- }
+ // currentCase.value = currentCaseData;
+ // } else {
+ // // 如果没有可用数据,使用默认的静态数据
+ // console.log('使用默认的静态数据');
+ // currentCase.value = defaultCaseData;
+ // }
};
// 返回案例列表
@@ -154,6 +161,12 @@ onMounted(() => {
+
+
+
@@ -218,6 +231,24 @@ onMounted(() => {
background-color: #0056b3;
}
+.btn-outline {
+ display: inline-block;
+ padding: 10px 20px;
+ background: transparent;
+ color: #007bff;
+ border: 2px solid #007bff;
+ border-radius: 6px;
+ text-decoration: none;
+ font-weight: 500;
+ transition: all 0.3s ease;
+}
+
+.btn-outline:hover {
+ background: #007bff;
+ color: white;
+ transform: translateY(-2px);
+}
+
.qrcode-image {
max-width: 200px;
margin: 0 auto;
diff --git a/src/views/pages/Home.vue b/src/views/pages/Home.vue
index f6eeb61..71627d0 100644
--- a/src/views/pages/Home.vue
+++ b/src/views/pages/Home.vue
@@ -138,7 +138,7 @@ onMounted(() => {
-
+
diff --git a/vite.config.js b/vite.config.js
index 43401da..f053ac5 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -18,7 +18,7 @@ export default defineConfig(({ command, mode }) => {
open: true,
proxy: {
[env.VITE_APP_BASE_API]: {
- target: 'http://localhost:8080',
+ target: 'http://localhost:8000',
changeOrigin: true,
ws: true,
rewrite: (path) => path.replace(new RegExp('^' + env.VITE_APP_BASE_API), '')