فهرست منبع

修复无数据时候的bug

ZhangLeo 1 هفته پیش
والد
کامیت
f0fc86b9a4
4فایلهای تغییر یافته به همراه78 افزوده شده و 65 حذف شده
  1. 4 1
      config.uts
  2. 4 2
      utils/auth.uts
  3. 64 59
      utils/dataProcessor.uts
  4. 6 3
      utils/sqlite.uts

+ 4 - 1
config.uts

@@ -14,6 +14,7 @@ export type AppInfo ={
 export type GlobalConfig= {
   baseUrl: string;
   appInfo: AppInfo;
+  apiUrl: string;
 }
 
 export const globalConfig  = {
@@ -39,5 +40,7 @@ export const globalConfig  = {
         url: "https://ruoyi.vip/protocol.html"
       }
     ]
-  }
+  },
+ 
+  apiUrl: "http://192.168.5.124:4523/m1/7190626-6915798-default"
 } as GlobalConfig;

+ 4 - 2
utils/auth.uts

@@ -1,5 +1,6 @@
 import storage from '@/utils/storage';
 import {constant} from '@/utils/constant';
+import {globalConfig} from '@/config'
 const TokenKey = 'App-Token'
 
 export function getToken():string {
@@ -16,10 +17,11 @@ export function removeToken():void {
 
 
 export function getTokenFromApi():Promise<string> {
-	console.log(`http://192.168.43.62:4523/m1/7190626-6915798-default/m1/getToken?username=${storage.getString(constant.name)}`)
+	console.log(`${globalConfig.apiUrl}/getToken?username=${storage.getString(constant.name)}`)
+	
 	return new Promise<string>((resolve) =>{
 		uni.request({
-			url: `http://192.168.43.62:4523/m1/7190626-6915798-default/m1/getToken?username=${storage.getString(constant.name)}`,
+			url: `${globalConfig.apiUrl}/getToken?username=${storage.getString(constant.name)}`,
 			method: "GET",
 			timeout: 30000,
 			success: (res) => {

+ 64 - 59
utils/dataProcessor.uts

@@ -1,5 +1,6 @@
 import { getToken, getTokenFromApi } from './auth'
 import { saveMediaInfo, saveMediaRecord, getLatestRecord, removeInfoAndRecord } from '@/api/work'
+import {globalConfig} from '@/config'
 
 // 类型定义保持不变
 export type ApiResponse = {
@@ -50,66 +51,69 @@ export type PhotoFilesExample = {
 }
 
 export const downloadDataFromAPI = async (productCode: string, callback ?: () => void) : Promise<boolean> => {
-  try {
+  // try {
 	//校验是否已经存在未执行的产品号,若已经存在则提示用户该产品号是否需要被覆盖,
 	//如果没有则直接保存。如果有存在已经在执行的产品号,则提示已存在执行中的任务
 	const infoJson = await getLatestRecord(productCode, null);
-	let info = infoJson?.['data'] as UTSJSONObject ?? {} as UTSJSONObject
-	let ingNum = parseInt(info?.['statusRecordCount'] as string);
-	//覆盖标识位
-	let overwiteFlag = ref(false);
-	// 先检查是否有任务正在执行中
-	if (info != null && ingNum > 0) {
-		uni.showToast({ title: `当前产品号已有任务在执行中!`, icon: 'error' });
-		return false;
-	}
-	// 使用Promise来处理异步流程
-	let deleteDataPromise = new Promise<boolean>((resolve) => {
-		if(info != null && ingNum == 0) {
-			//可以被覆盖,需要有提示框,给用户确认
-			uni.showModal({
-				title: '系统提示',
-				content: '该产品号已存在任务是否覆盖掉?',
-				cancelText: '取消',
-				confirmText: '确定',
-				success: function (res) {
-					if (res.confirm) {
-						// 标记为需要覆盖
-						overwiteFlag.value = true;
-						// 执行删除数据操作
-						let pid = info?.['pdid'] as string;
-						removeInfoAndRecord(pid).then((recordDelResponse) => {
-							console.log('删除数据响应:', recordDelResponse);
-							// 删除成功,解析Promise并允许继续执行
-							// 确保模态框已完全关闭后再解析Promise
-							setTimeout(() => {
-								resolve(true);
-							}, 300);
-						}).catch((error) => {
-							console.error('删除数据失败:', error);
-							uni.showToast({ title: '删除旧数据失败', icon: 'error' });
+	if (infoJson?.['data']!=null) {
+		let info = infoJson?.['data'] as UTSJSONObject ?? {} as UTSJSONObject
+		let ingNum = parseInt(info?.['statusRecordCount'] as string);
+		//覆盖标识位
+		let overwiteFlag = ref(false);
+		// 先检查是否有任务正在执行中
+		if (info != null && ingNum > 0) {
+			uni.showToast({ title: `当前产品号已有任务在执行中!`, icon: 'error' });
+			return false;
+		}
+		// 使用Promise来处理异步流程
+		let deleteDataPromise = new Promise<boolean>((resolve) => {
+			if(info != null && ingNum == 0) {
+				//可以被覆盖,需要有提示框,给用户确认
+				uni.showModal({
+					title: '系统提示',
+					content: '该产品号已存在任务是否覆盖掉?',
+					cancelText: '取消',
+					confirmText: '确定',
+					success: function (res) {
+						if (res.confirm) {
+							// 标记为需要覆盖
+							overwiteFlag.value = true;
+							// 执行删除数据操作
+							let pid = info?.['pdid'] as string;
+							removeInfoAndRecord(pid).then((recordDelResponse) => {
+								console.log('删除数据响应:', recordDelResponse);
+								// 删除成功,解析Promise并允许继续执行
+								// 确保模态框已完全关闭后再解析Promise
+								setTimeout(() => {
+									resolve(true);
+								}, 300);
+							}).catch((error) => {
+								console.error('删除数据失败:', error);
+								uni.showToast({ title: '删除旧数据失败', icon: 'error' });
+								resolve(false);
+							});
+						} else {
+							// 用户取消覆盖
+							overwiteFlag.value = false;
 							resolve(false);
-						});
-					} else {
-						// 用户取消覆盖
-						overwiteFlag.value = false;
-						resolve(false);
+						}
 					}
-				}
-			});
-		} else {
-			// 不需要显示确认框,直接解析Promise
-			resolve(true);
+				});
+			} else {
+				// 不需要显示确认框,直接解析Promise
+				resolve(true);
+			}
+		});
+		
+		// 等待删除数据操作完成
+		const canContinue: boolean = await deleteDataPromise;
+		if (!canContinue) {
+			// 如果不能继续(删除失败或用户取消),则终止函数执行
+			return false;
 		}
-	});
-	
-	// 等待删除数据操作完成
-	const canContinue: boolean = await deleteDataPromise;
-	if (!canContinue) {
-		// 如果不能继续(删除失败或用户取消),则终止函数执行
-		return false;
 	}
 
+
 	// 继续执行后续代码...
     const apiToken = await getTokenFromApi();
     uni.showLoading({ title: '数据下载中...' });
@@ -117,13 +121,14 @@ export const downloadDataFromAPI = async (productCode: string, callback ?: () =>
     // 使用Promise处理HTTP请求,避免嵌套Promise
     return new Promise<boolean>((resolve) => {
       uni.request({
-        url: `http://192.168.43.62:4523/m1/7190626-6915798-default/loadQmImagetask?prodcode=${productCode}`,
+        url: `${globalConfig.apiUrl}/loadQmImagetask?prodcode=${productCode}`,
         method: 'GET',
         header: {
           'token': apiToken
         },
         success: (res) => {
           let singleObject = res?.['data'] as UTSJSONObject ?? {} as UTSJSONObject;
+		  
           if (singleObject != null && singleObject.code == 666) {
             let mediaInfoList = singleObject?.['data'] as UTSJSONObject[] ?? Array<UTSJSONObject>();
             if (mediaInfoList != null && mediaInfoList.length > 0) {
@@ -203,10 +208,10 @@ export const downloadDataFromAPI = async (productCode: string, callback ?: () =>
         }
       });
     });
-  } catch (error) {
-    console.error('下载数据总异常:', error);
-    uni.showToast({ title: '下载失败,请重试', icon: 'error' });
-    uni.hideLoading();
-    return false;
-  }
+  // } catch (error) {
+  //   console.error(error);
+  //   uni.showToast({ title: '下载失败,请重试', icon: 'error' });
+  //   uni.hideLoading();
+  //   return false;
+  // }
 }

+ 6 - 3
utils/sqlite.uts

@@ -293,7 +293,7 @@ export function selectTableData (
 	  console.log(info)
 	  const ret = {
 	  	errMsg: info?.errMsg ?? '',
-	  	data: info?.data ?? ['']
+	  	data: (info?.data != null && info.data.length > 0) ? info.data[0] : {}
 	  } as UTSJSONObject
 	  sqlite.close();
 	  resolve(ret)
@@ -524,10 +524,13 @@ export function selectLatestInfoData (
     } as selectSqlOptions
   
     const info = sqlite.selectSql(selectSqlOptions) as selectSqlOptionsResult
-    
+	console.log("===========================================>");
+    console.log(info)
+	let data = info?.data;
+	console.log(data);
     const ret = {
   	  errMsg: info?.errMsg ?? '',
-  	  data: info?.data[0] ?? ''
+  	  data: (info?.data != null && info.data.length > 0) ? info.data[0] : null
     } as UTSJSONObject
     resolve(ret)
   });