From f6dd86527e15eb229aac66c12eb684ce0220e9a0 Mon Sep 17 00:00:00 2001 From: tp <1799149022@qq.com> Date: Mon, 9 Jun 2025 16:24:42 +0800 Subject: [PATCH] 3 --- Dockerfile | 4 +++ HttpRequests/fortranwebapi.http | 14 ++++++++++- Services/FortranInteropService.cs | 42 ++++++++++++++++++++++++++++--- 3 files changed, 56 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 12c6a4b..f48aa92 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,10 @@ # ===== 第一阶段:构建阶段 ===== FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build +# 配置 NuGet 使用国内镜像源 +RUN dotnet nuget add source https://mirrors.cloud.tencent.com/nuget/ \ + && dotnet nuget disable source nuget.org + # 配置 apt-get 使用 apt-cacher-ng 作为代理 RUN echo 'Acquire::http::Proxy "http://192.168.1.140:3142";' > /etc/apt/apt.conf.d/01proxy diff --git a/HttpRequests/fortranwebapi.http b/HttpRequests/fortranwebapi.http index a0f0967..3837565 100644 --- a/HttpRequests/fortranwebapi.http +++ b/HttpRequests/fortranwebapi.http @@ -8,7 +8,19 @@ Content-Type: application/json { "text": "{\"FuncName\":\"calculate_main\",\"ClassName\":\"\",\"Par\":[ {"Name":"N","DataType":"0","ArrayType":"0","IsOut":"2","Data":0}, {"Name":"M","DataType":"0","ArrayType":"0","IsOut":"2","Data":0}, - {"Name":"PAR","DataType":"1","ArrayType":"1","IsOut":"2","Data":[]}, + {"Name":"WUM","DataType":"1","ArrayType":"0","IsOut":"2","Data":0}, + {"Name":"W1","DataType":"1","ArrayType":"0","IsOut":"2","Data":0}, + {"Name":"WDM","DataType":"1","ArrayType":"0","IsOut":"2","Data":0}, + {"Name":"KC","DataType":"1","ArrayType":"0","IsOut":"2","Data":0}, + {"Name":"C","DataType":"1","ArrayType":"0","IsOut":"2","Data":0}, + {"Name":"B","DataType":"1","ArrayType":"0","IsOut":"2","Data":0}, + {"Name":"IMP1","DataType":"1","ArrayType":"0","IsOut":"2","Data":0}, + {"Name":"SM","DataType":"1","ArrayType":"0","IsOut":"2","Data":0}, + {"Name":"EX","DataType":"1","ArrayType":"0","IsOut":"2","Data":0}, + {"Name":"KG","DataType":"1","ArrayType":"0","IsOut":"2","Data":0}, + {"Name":"KSS","DataType":"1","ArrayType":"0","IsOut":"2","Data":0}, + {"Name":"KKG","DataType":"1","ArrayType":"0","IsOut":"2","Data":0}, + {"Name":"KKSS","DataType":"1","ArrayType":"0","IsOut":"2","Data":0}, {"Name":"AREA","DataType":"1","ArrayType":"0","IsOut":"2","Data":0}, {"Name":"UH","DataType":"1","ArrayType":"1","IsOut":"2","Data":[]}, {"Name":"DT","DataType":"1","ArrayType":"0","IsOut":"2","Data":0}, diff --git a/Services/FortranInteropService.cs b/Services/FortranInteropService.cs index f82d195..2b4c038 100644 --- a/Services/FortranInteropService.cs +++ b/Services/FortranInteropService.cs @@ -36,7 +36,19 @@ namespace FortranWebApi.Services private static extern void XAJMX( ref int N, ref int M, - float[] PAR, + ref float WUM, + ref float W1, + ref float WDM, + ref float KC, + ref float C, + ref float B, + ref float IMP1, + ref float SM, + ref float EX, + ref float KG, + ref float KSS, + ref float KKG, + ref float KKSS, ref float AREA, float[] UH, ref float DT, @@ -75,7 +87,19 @@ namespace FortranWebApi.Services // 提取参数 int N = GetIntParameter(parameters, "N"); int M = GetIntParameter(parameters, "M"); - float[] PAR = GetFloatArrayParameter(parameters, "PAR"); + float WUM = GetFloatParameter(parameters, "WUM"); + float W1 = GetFloatParameter(parameters, "W1"); + float WDM = GetFloatParameter(parameters, "WDM"); + float KC = GetFloatParameter(parameters, "KC"); + float C = GetFloatParameter(parameters, "C"); + float B = GetFloatParameter(parameters, "B"); + float IMP1 = GetFloatParameter(parameters, "IMP1"); + float SM = GetFloatParameter(parameters, "SM"); + float EX = GetFloatParameter(parameters, "EX"); + float KG = GetFloatParameter(parameters, "KG"); + float KSS = GetFloatParameter(parameters, "KSS"); + float KKG = GetFloatParameter(parameters, "KKG"); + float KKSS = GetFloatParameter(parameters, "KKSS"); float AREA = GetFloatParameter(parameters, "AREA"); float[] UH = GetFloatArrayParameter(parameters, "UH"); float DT = GetFloatParameter(parameters, "DT"); @@ -96,7 +120,19 @@ namespace FortranWebApi.Services XAJMX( ref N, ref M, - PAR, + ref WUM, + ref W1, + ref WDM, + ref KC, + ref C, + ref B, + ref IMP1, + ref SM, + ref EX, + ref KG, + ref KSS, + ref KKG, + ref KKSS, ref AREA, UH, ref DT,