zhangxike 3 bulan lalu
induk
melakukan
7839e5e70a
3 mengubah file dengan 27 tambahan dan 21 penghapusan
  1. 1 1
      pages/work/record/InfoList.uvue
  2. 0 1
      utils/auth.uts
  3. 26 19
      utils/dataProcessor.uts

+ 1 - 1
pages/work/record/InfoList.uvue

@@ -193,7 +193,7 @@
 		});
 		return
 	}
-	await uploadDataToAPI(productNo.value, () => {
+    uploadDataToAPI(productNo.value, () => {
 	  // 回调函数中执行刷新,确保数据都保存好,进度条跑完
 	  uni.reLaunch({ url: '/pages/work/record/InfoList' })
 	}).then((res) => {

+ 0 - 1
utils/auth.uts

@@ -32,7 +32,6 @@ export function getTokenFromApi():Promise<string> {
 			},
 			fail: (err) => {
 				console.error('获取Token失败:', err);
-				uni.showToast({ title: `获取Token失败: ${err.errMsg},请联系技术IT`, icon: 'error' });
 				resolve("");
 			},
 		})

+ 26 - 19
utils/dataProcessor.uts

@@ -3,6 +3,7 @@ import { saveMediaInfo, saveMediaRecord, getLatestRecord, removeInfoAndRecord, g
 import { globalConfig } from '@/config'
 import upload from '@/utils/upload.uts'
 
+
 // 类型定义保持不变
 export type ApiResponse = {
 	code : number;
@@ -53,6 +54,15 @@ export type PhotoFilesExample = {
 
 export const downloadDataFromAPI = async (productCode : string, callback ?: () => void) : Promise<boolean> => {
 	try {
+		uni.showLoading({ title: '任务开始下载' });
+		const apiToken = await getTokenFromApi();
+		
+		if(apiToken==null || apiToken == '') {
+			uni.hideLoading();
+			uni.showToast({ title: `获取Token失败,请联系技术IT`, icon: 'error' });
+			return false
+		}
+		
 		//校验是否已经存在未执行的产品号,若已经存在则提示用户该产品号是否需要被覆盖,
 		//如果没有则直接保存。如果有存在已经在执行中的产品号,则提示已存在执行中的任务
 		const infoJson = await getLatestRecord(productCode, null);
@@ -114,11 +124,6 @@ export const downloadDataFromAPI = async (productCode : string, callback ?: () =
 			}
 		}
 
-
-		// 继续执行后续代码...
-		const apiToken = await getTokenFromApi();
-		// uni.showLoading({ title: '数据下载中...' });
-
 		// 创建进度条 - 适配Android设备的解决方案
 		const showProgress = (index : number) => {
 			// 在Android设备上,需要给hideLoading和showLoading之间添加延迟
@@ -164,13 +169,13 @@ export const downloadDataFromAPI = async (productCode : string, callback ?: () =
 													// 使用async/await处理循环中的异步操作
 													const processAllRecords = async () => {
 														// 创建一个Map来跟踪不同photoitem的计数
-														const photoItemCounter : Map<string, number> = new Map();
-
+														const photoItemCounter: Map<string, number> = new Map();
+														
 														for (var i = 0; i < recordList.length; i++) {
 															// 更新进度
 															processedRecords++;
 															showProgress(processedRecords);
-
+																
 															const record : MediaRecordData = recordList[i] as MediaRecordData;
 															// 获取各个字段的值
 															const photoitem = record.photoitem as string;
@@ -178,11 +183,11 @@ export const downloadDataFromAPI = async (productCode : string, callback ?: () =
 															if (!photoItemCounter.has(photoitem)) {
 																photoItemCounter.set(photoitem, 1);
 															} else {
-																const currentCount = photoItemCounter.get(photoitem);
-																photoItemCounter.set(photoitem, (currentCount != null ? currentCount : 0) + 1);
-															}
-															const senum = photoItemCounter.get(photoitem);
-															const finalSenum = senum != null ? senum : 1;
+															const currentCount = photoItemCounter.get(photoitem);
+															photoItemCounter.set(photoitem, (currentCount != null ? currentCount : 0) + 1);
+														}
+														const senum = photoItemCounter.get(photoitem);
+														const finalSenum = senum != null ? senum : 1;
 															const partno = record.partno;
 															const part = record.part;
 															const pk = record.pk;
@@ -215,7 +220,7 @@ export const downloadDataFromAPI = async (productCode : string, callback ?: () =
 																			await new Promise<void>((resolve, reject) => {
 																				// 使用uni.downloadFile下载图片
 																				uni.downloadFile({
-																					url: `http://192.168.5.124:8080/api/images/getImage?fileId=${example._id}`,
+																					url: `http://192.168.43.62:8080/api/images/getImage?fileId=${example._id}`,
 																					header: {
 																						'token': apiToken
 																					},
@@ -326,6 +331,7 @@ export const downloadDataFromAPI = async (productCode : string, callback ?: () =
 	}
 }
 
+
 export const uploadDataToAPI = async (productCode : string, callback ?: () => void) : Promise<boolean> => {
 
 	try {
@@ -355,9 +361,11 @@ export const uploadDataToAPI = async (productCode : string, callback ?: () => vo
 				let uploadNames = Array<string>()
 				if (imgList.length > 0) {
 					imgList.forEach(img => {
-						let urlArr = img['urlpdt'].indexof(",")>-1? img['urlpdt'].split(",") : [img['urlpdt']]
+						let urlpdtStr = img['urlpdt'] as string
+						let nameStr = img['imgname'] as string
+						let urlArr = urlpdtStr.split(",")
 						uploadFiles.push(...urlArr);
-						let nameArr = img['imgname'].indexof(",")>-1? img['imgname'].split(",") : [img['imgname']]
+						let nameArr = nameStr.split(",")
 						uploadNames.push(...nameArr)
 					});
 				}
@@ -380,12 +388,11 @@ export const uploadDataToAPI = async (productCode : string, callback ?: () => vo
 
 			}
 		})
-	}
-	catch (error) {
+	} catch (error) {
 		console.error(error);
 		uni.showToast({ title: '上传失败,请重试', icon: 'error' });
 		uni.hideLoading();
 		return false;
 	}
 
-})
+}