From 8f1357bfda2db19cd52eba5c39de900c1bd981a7 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Mon, 03 Aug 2026 10:29:17 +0800
Subject: [PATCH] feat: ai图片的base64使用缓存处理

---
 uniapps/work-app/src/pages/work/index.vue             |    8 +++++++-
 uniapps/work-app/src/subPackages/workDetail/index.vue |    9 +++++++--
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/uniapps/work-app/src/pages/work/index.vue b/uniapps/work-app/src/pages/work/index.vue
index 205c21e..47c9cca 100644
--- a/uniapps/work-app/src/pages/work/index.vue
+++ b/uniapps/work-app/src/pages/work/index.vue
@@ -68,6 +68,7 @@
 const currentTab = ref('all')
 const loading = ref(false)
 const hasMore = ref(true)
+const AI_IMG_CACHE_KEY_PREFIX = 'work-detail-ai-img-'
 const tabList = ref([
 	{
 		name: '全部工单',
@@ -316,9 +317,14 @@
 	getDataList()
 }
 
+// 缓存 AI 图片后跳转详情页
 const detailHandle = val => {
+	if (val.aiImg) {
+		uni.setStorageSync(`${AI_IMG_CACHE_KEY_PREFIX}${val.id}`, val.aiImg)
+	}
+
 	uni.navigateTo({
-		url: `/subPackages/workDetail/index?id=${val.id}` + (val.aiImg ? `&aiImg=${val.aiImg}` : ''),
+		url: `/subPackages/workDetail/index?id=${val.id}`,
 	})
 }
 
diff --git a/uniapps/work-app/src/subPackages/workDetail/index.vue b/uniapps/work-app/src/subPackages/workDetail/index.vue
index 9488846..2ff7d6e 100644
--- a/uniapps/work-app/src/subPackages/workDetail/index.vue
+++ b/uniapps/work-app/src/subPackages/workDetail/index.vue
@@ -175,6 +175,7 @@
 const showCompleteModal = ref(false)
 const completeContent = ref('')
 const completing = ref(false)
+const AI_IMG_CACHE_KEY_PREFIX = 'work-detail-ai-img-'
 
 // 状态选项列表
 const statusOptions = [
@@ -195,7 +196,10 @@
 
 onLoad(async options => {
 	eventNum.value = options.id
-	await getDataList(options.id, options.aiImg)
+	const aiImgCacheKey = `${AI_IMG_CACHE_KEY_PREFIX}${options.id}`
+	const aiImg = uni.getStorageSync(aiImgCacheKey)
+	uni.removeStorageSync(aiImgCacheKey)
+	await getDataList(options.id, aiImg)
 	checkEnvironment()
 	viewUrl.value = getWebViewUrl('/workDetail', { workDetailData: JSON.stringify(workDetailData.value) })
 })
@@ -204,13 +208,14 @@
 	getDataList(eventNum.value)
 })
 
+// 获取工单详情并保留 AI 图片
 const getDataList = async (val, aiImg) => {
 	const params = {
 		id: val,
 	}
 	const res = await getGddetailedData(params)
 	const response = res.data.data
-	workDetailData.value = { ...response, aiImg }
+	workDetailData.value = { ...response, aiImg: aiImg || workDetailData.value.aiImg }
 }
 
 // 获取状态文本

--
Gitblit v1.9.3