Sfoglia il codice sorgente

chore: 抽离文件上传组件通用api方法

喵你个旺呀 1 anno fa
parent
commit
30dbdff8f0

+ 8 - 41
Admin.NET/Admin.NET.Web.Entry/wwwroot/template/Manage.js.vm

@@ -3,6 +3,9 @@
 	var hasSetStatus = Model.TableField.Any(col => col.NetType == "StatusEnum" && col.PropertyName == "Status");
 }
 import request from '/@@/utils/request';
+@if (Model.TableField.Any(col => col.EffectType == "Upload")) {
+@:import uploadFile from '/@/api/system/uploadFile';
+}
 enum Api {
   Add@(Model.ClassName) = '/api/@(Model.LowerClassName)/add',
   Delete@(Model.ClassName) = '/api/@(Model.LowerClassName)/delete',
@@ -123,46 +126,10 @@ export const detail@(Model.ClassName) = (id: any) =>
 		@:request({
 		@:url: Api.Get@(column.FkEntityName)Tree,
 		@:method: 'get'
-		@:});
-    }else if(column.EffectType == "Upload"){
-	
-	@:/**
-	@:* 上传@(column.ColumnComment) 
-	@:*/
+	@:});
+    } else if (column.EffectType == "Upload") {
+@:// 上传@(column.ColumnComment)
 @:export const upload@(column.PropertyName) = (params: any) =>
-		@:uploadFileHandle(params, Api.Upload@(column.PropertyName))
-		}
+	@:uploadFile(params, Api.Upload@(column.PropertyName));
+	}
 }
-
-@foreach (var column in Model.TableField){
-	if(column.EffectType == "Upload"){
-	@:export const uploadFileHandle = (params: any, url: string) => { 
-	@:const formData = new window.FormData();
-	@:formData.append('file', params.file);
-	@://自定义参数
-	@:if (params.data) {
-		@:Object.keys(params.data).forEach((key) => {
-			@:const value = params.data![key];
-			@:if (Array.isArray(value)) {
-				@:value.forEach((item) => {
-					@:formData.append(`${key}[]`, item);
-				@:});
-				@:return;
-			@:}
-			@:formData.append(key, params.data![key]);
-		@:});
-	@:}
-	@:return request({
-		@:url: url,
-		@:method: 'POST',
-		@:data: formData,
-		@:headers: {
-			@:'Content-type': 'multipart/form-data;charset=UTF-8',
-			@:// ts-ignore
-			@:ignoreCancelToken: true,
-		@:},
-	@:});
-@:};
-		break;
-		}
-}

+ 26 - 0
Web/src/api/system/uploadFile.ts

@@ -0,0 +1,26 @@
+import request from "/@/utils/request";
+
+export const uploadFile = (params: any, url: string) => { 
+	const formData = new FormData();
+	formData.append('file', params.file);
+	// 自定义参数
+	if (params.data) {
+		Object.keys(params.data).forEach((key) => {
+			const value = params.data![key];
+			if (Array.isArray(value)) {
+				value.forEach((item) => formData.append(`${key}[]`, item));
+				return;
+			}
+			formData.append(key, params.data![key]);
+		});
+	}
+	return request({
+		url: url,
+		method: 'POST',
+		data: formData,
+		headers: {
+			'Content-type': 'multipart/form-data;charset=UTF-8',
+			ignoreCancelToken: true,
+		},
+	});
+};