From 4ebeb46fb165778433d2ef22b1e502cb2b381294 Mon Sep 17 00:00:00 2001 From: TangCheng <tangchengmail@163.com> Date: 星期三, 26 三月 2025 12:48:21 +0800 Subject: [PATCH] 脚本节点支持getGlobalConfig和queryWeb --- JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/jsonflow/node/SMTJsonFlowNodeScript.java | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 53 insertions(+), 0 deletions(-) diff --git a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/jsonflow/node/SMTJsonFlowNodeScript.java b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/jsonflow/node/SMTJsonFlowNodeScript.java index bf63bef..e684d43 100644 --- a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/jsonflow/node/SMTJsonFlowNodeScript.java +++ b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/jsonflow/node/SMTJsonFlowNodeScript.java @@ -21,6 +21,7 @@ import com.smtaiserver.smtaiserver.javaai.jsonflow.core.SMTJsonFlowNodeOnlyOutput; import com.smtaiserver.smtaiserver.javaai.jsonflow.core.SMTJsonFlowScriptJet; import com.smtservlet.util.Json; +import com.smtservlet.util.SMTHttpClient; import com.smtservlet.util.SMTJsonWriter; import com.smtservlet.util.SMTStatic; @@ -52,6 +53,58 @@ _execArg._jsonArgs.set(key, value); } + public String getGlobalConfig(String key) throws Exception + { + Object value = SMTAIServerApp.getApp().getGlobalConfig(key, null); + if(value == null) + return null; + + return SMTStatic.toString(value); + } + + public Object queryWeb(NativeObject nvConfig) throws Exception + { + String url = (String) SMTAIServerApp.getJSValue(nvConfig, "url"); + String method = (String) SMTAIServerApp.getJSValue(nvConfig, "method", "GET"); + String resultType = (String) SMTAIServerApp.getJSValue(nvConfig, "result_type", "String"); + + String result; + if("GET".equalsIgnoreCase(method)) + { + List<String> listArgs = new ArrayList<>(); + NativeObject nvArgs = (NativeObject) SMTAIServerApp.getJSValue(nvConfig, "args", null); + + if(nvArgs != null) + { + for(Entry<Object, Object> entry : nvArgs.entrySet()) + { + listArgs.add(SMTStatic.toString(entry.getKey())); + listArgs.add(SMTStatic.toString(SMTAIServerApp.unwrapObject(entry.getValue()))); + } + } + + SMTHttpClient web = new SMTHttpClient(); + result = web.getHttpString(url, listArgs.toArray(new String[1]), null); + } + else + { + throw new Exception("unknow web method : " + method); + } + + if("String".equalsIgnoreCase(resultType)) + { + return result; + } + else if("Json".equalsIgnoreCase(resultType)) + { + return SMTAIServerApp.convJsonToJS(Json.read(result)); + } + else + { + throw new Exception("unknow result type : " + resultType); + } + } + public NativeArray getMapLayerList() throws Exception { List<SMTGisMapLayerDef> list = new ArrayList<>(); -- Gitblit v1.9.3