Przeglądaj źródła

接口生成支持文件上传字段

Signed-off-by: skywolf627 <skywolf627@qq.com>
skywolf627 3 lat temu
rodzic
commit
418720c636

+ 42 - 0
Admin.NET/Admin.NET.Web.Entry/wwwroot/Template/Manage.js.vm

@@ -9,6 +9,8 @@ if(@column.EffectType == "fk"){
   @:Get@(@column.FkEntityName)Dropdown = '/api/@(@Model.LowerClassName)/@(@column.FkEntityName)Dropdown',
 }else if(@column.EffectType == "ApiTreeSelect"){
   @:Get@(@column.FkEntityName)Tree = '/@(@Model.LowerClassName)/@(@column.FkEntityName)Tree',
+}else if(@column.EffectType == "Upload"){
+  @:Upload@(@column.ColumnName) = '/api/@(@Model.LowerClassName)/Upload@(@column.ColumnName)',
 }
 }
 }
@@ -58,5 +60,45 @@ export const get@(@Model.ClassName)PageList = (params?: any) =>
 		@:url: Api.Get@(@column.FkEntityName)Tree,
 		@:method: 'get'
 		@:});
+    }else if(@column.EffectType == "Upload"){
+	
+	@:/**
+	@:* 上传@(@column.ColumnComment) 
+	@:*/
+@:export const upload@(@column.ColumnName) = (params: any) =>
+		@:uploadFileHandle(params, Api.Upload@(@column.ColumnName))
+		}
+}
+
+@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;
 		}
 }