|
|
@@ -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;
|
|
|
}
|
|
|
|
|
|
-})
|
|
|
+}
|