R/addin.R

Defines functions runDBConfig callCloseConfig callOpenConfig callDBConfig

Documented in callCloseConfig callDBConfig callOpenConfig runDBConfig

#' 生成数据库配置文件
#'
#' @param ip 数据库IP地址
#' @param port 端口号
#' @param user_name 用户名
#' @param password 密码
#' @param db_name 数据库服务
#'
#' @return 返回值
#' @import rstudioapi
#' @export
#'
#' @examples
#' callDBConfig();
callDBConfig <- function(ip='115.159.201.178',
                     port='1433',
                     user_name='sa',
                     password='Hoolilay889',
                     db_name='kjco'
                   ){
  library(rstudioapi);
  insertText(paste0("ip='",ip,"'"));
  insertText("\n");
  insertText(paste0("port=",port,""));
  insertText("\n");
  insertText(paste0("user_name='",user_name,"'"));
  insertText("\n");
  insertText(paste0("password='",password,"'"));
  insertText("\n");
  insertText(paste0("db_name='",db_name,"'"));
  insertText("\n");
}



#' 生成数据库配置文件
#'
#' @return 返回值
#' @import rstudioapi
#' @export
#'
#' @examples
#' callOpenConfig();
callOpenConfig <- function(){
  library(rstudioapi);
  insertText(paste0("conn_info = tsda::conn_config(config_file = conn_cfg)"));
  insertText("\n");
  insertText(paste0("conn = tsda::conn_open(conn_config_info = conn_info)"));
  insertText("\n");
}


#' 生成数据库配置文件
#'
#' @return 返回值
#' @import rstudioapi
#' @export
#'
#' @examples
#' callCloseConfig();
callCloseConfig <- function(){
  library(rstudioapi);
  insertText(paste0("tsda::conn_close(conn)"));
  insertText("\n");

}

#' 注册数据库配置文件
#'
#' @return 返回值
#' @include regAddin.R
#' @import shiny
#' @import miniUI
#' @export
#'
#' @examples regAddinUI();
runDBConfig <-  function() {

  # Our ui will be a simple gadget page, which
  # simply displays the time in a 'UI' output.
  ui <- miniPage(
    gadgetTitleBar("数据库配置文件"),
    miniContentPanel(
      shiny::textInput("ip", "服务器IP",value = '127.0.0.1'),
      shiny::textInput("port", "端口号",value = '1433'),
      shiny::textInput("user_name", "用户名",value = 'sa'),
      shiny::textInput("password", "密码",value = '123'),
      shiny::textInput("db_name", "数据库名称",value = 'py_test')
    ))

  server <- function(input, output, session) {


    observeEvent(input$done, {
      callDBConfig(ip = input$ip,port = input$port,user_name = input$user_name,password = input$password,db_name = input$db_name)

      stopApp()
    })

  }

  # We'll use a pane viwer, and set the minimum height at
  # 300px to ensure we get enough screen space to display the clock.
  viewer <- paneViewer(300)
  runGadget(ui, server, viewer = viewer)

}
takewiki/tsda documentation built on Oct. 23, 2023, 3:28 a.m.