From 226656da2dfd851659cb107db6c6b8330f0f6d66 Mon Sep 17 00:00:00 2001 From: wuzekai <3025054974@qq.com> Date: Thu, 27 Nov 2025 11:16:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=E8=AF=9D=E6=99=BA=E8=83=BD=E4=BD=93?= =?UTF-8?q?=E6=9B=B4=E6=94=B9=E4=B8=BAdify?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/tools/analysis/quickgen_chat_ui.R | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/radiant.quickgen/inst/app/tools/analysis/quickgen_chat_ui.R b/radiant.quickgen/inst/app/tools/analysis/quickgen_chat_ui.R index 1dad9f4..1e2258c 100644 --- a/radiant.quickgen/inst/app/tools/analysis/quickgen_chat_ui.R +++ b/radiant.quickgen/inst/app/tools/analysis/quickgen_chat_ui.R @@ -44,21 +44,23 @@ output$chat_main_ui <- renderUI({ ## ===== 右侧区域===== output$chat_history_area <- renderUI({ - field_info_encoded <- get_field_info() + field_info_encoded <- get_field_info() if (is.null(field_info_encoded)) { - return(create_no_data_ui()) + return(create_no_data_ui()) } - iframe_src <- paste0( - "http://180.169.131.147:8106/chat/9f51e1707c61027e?field_info=", - field_info_encoded + + dify_url <- paste0( + "http://180.169.131.147:8078/chatbot/tfjTZpJDgjQpBeTl", + "?field_info=", field_info_encoded ) + tagList( div( id = "chat_box", style = "height:700px; overflow-y:auto; border:1px solid #ddd; border-radius:4px; padding:0; background:#fff; margin-bottom:10px;", tags$iframe( - src = iframe_src, + src = dify_url, style = "width: 100%; height: 100%; border: 0;", frameborder = 0, allow = "microphone" @@ -100,32 +102,37 @@ output$field_info_display <- renderUI({ # 获取并编码字段信息 get_field_info <- function() { + # 1. 校验数据集是否存在 if (is.null(input$dataset) || !exists("r_data")) { return(NULL) } + # 2. 尝试获取数据集 df <- tryCatch({ get(input$dataset, envir = r_data) }, error = function(e) NULL) + # 3. 数据集为空则返回NULL if (is.null(df) || !is.data.frame(df) || nrow(df) == 0) { return(NULL) } - # 构建带数据集名称的JSON结构 + # 4. 构建字段名-类型映射 fields_list <- list() for (col_name in names(df)) { - fields_list[[col_name]] <- class(df[[col_name]])[1] + fields_list[[col_name]] <- class(df[[col_name]])[1] } + # 5. 构建JSON结构 json_struct <- list( - dataset_name = input$dataset, - fields = fields_list + dataset_name = input$dataset, + fields = fields_list ) + # 6. JSON序列化+URL编码 URLencode( - jsonlite::toJSON(json_struct, auto_unbox = TRUE), - reserved = TRUE + jsonlite::toJSON(json_struct, auto_unbox = TRUE), + reserved = TRUE ) } @@ -139,4 +146,4 @@ create_no_data_ui <- function() { p(i18n$t("请选择数据集"), style = "text-align:center; margin-top:50px; color:#888;") ) ) -} \ No newline at end of file +} -- 2.22.0