From 014d2880e3a4a91d44e1591b7e9857281dd10c73 Mon Sep 17 00:00:00 2001 From: liwenxuan <1298531568@qq.com> Date: Wed, 3 Sep 2025 11:16:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lowCode/assistant/lowcodeImage.vue | 85 +++++++++++++++++-- 1 file changed, 79 insertions(+), 6 deletions(-) diff --git a/src/components/lowCode/assistant/lowcodeImage.vue b/src/components/lowCode/assistant/lowcodeImage.vue index fef8ced..9c420d8 100644 --- a/src/components/lowCode/assistant/lowcodeImage.vue +++ b/src/components/lowCode/assistant/lowcodeImage.vue @@ -8,7 +8,7 @@ import { AnalysisCss,AnalysisInputCss } from '@/api/common/cssInfo' import { uploadUrl } from '@/api/lowCode/form/fieldUnit' import { uploadFiledTinymce } from '@/api/common/public' import errimg from '@/assets/image/404_images/imgNotFound.png' -import { ref,useAttrs,computed } from 'vue' +import { ref,useAttrs,computed,onMounted } from 'vue' import { Plus } from '@element-plus/icons-vue' import type { UploadProps, UploadUserFile } from 'element-plus' @@ -180,10 +180,76 @@ const handleAvatarSuccess1 = (response: any, uploadFile: any) => { const attrs = useAttrs() +onMounted(()=>{ + setTimeout(()=>{ + if(attrs.types==2){ + console.log(value.value) + props.data.control.uploadedImgs = completionImageDetails(value.value) + } + },100) + +}) +function completionImageDetails(urlString:string) { + // 分割URL字符串 + const urls = urlString.split(',').map(url => url.trim()).filter(url => url); + + if (urls.length === 0) { + /* throw new Error('未提供有效的图片URL'); */ + return {} + } + + return urls.map(url => { + // 提取文件名 + const fileName = url.substring(url.lastIndexOf('/') + 1); + + // 提取文件扩展名 + const fileExtension = fileName.substring(fileName.lastIndexOf('.')); + + // 生成本年的毫秒级时间戳 + const now = new Date(); + const startOfYear = new Date(now.getFullYear(), 0, 1); + const timestamp = startOfYear.getTime() + Math.floor(Math.random() * (now.getTime() - startOfYear.getTime())); + + // 生成18位随机数字ID + const randomId = Math.floor(Math.random() * 9e17) + 1e17; + + return { + name: fileName, + percentage: 100, + status: "success", + uid: timestamp, + url: url, + response: { + code: 0, + data: { + id: randomId, + key: "", + name: fileName, + tag: fileExtension, + url: url, + type: 1 + }, + msg: "成功!" + } + }; + }); + } + + // 判断是否为移动设备的函数 + const checkIsMobile = () => { + if (typeof navigator === 'undefined') return false + + // 匹配常见的移动设备关键词 + const mobileRegex = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i + //console.log(navigator.userAgent) + return mobileRegex.test(navigator.userAgent) + } +