更改 Shinymanager 登录页面中的文本和颜色

Nic*_*ico 3 shiny

我试图用我的脚本中的html代码更改R中shinymanager登录页面中的文本,但它不起作用。例如,我想通过“usuario”更改用户名和框架的颜色。有谁知道该怎么做?谢谢,这是我的代码。

library(shiny)
library(ggplot2)
library(shinydashboard)
library(DT)
library(dplyr)
library(shinyWidgets)
library(data.table)
library(png) 
library(shinyjs)
library(shinythemes)
library(shinycssloaders)
library(sodium)
library(lubridate)
library(glue)
library(shinymanager)

## estructura shiny ##

inactivity <- "function idleTimer() {
var t = setTimeout(logout, 120000);
window.onmousemove = resetTimer; // catches mouse movements
window.onmousedown = resetTimer; // catches mouse movements
window.onclick = resetTimer;     // catches mouse clicks
window.onscroll = resetTimer;    // catches scrolling
window.onkeypress = resetTimer;  //catches keyboard actions

function logout() {
window.close();  //close the window
}

function resetTimer() {
clearTimeout(t);
t = setTimeout(logout, 120000);  // time is in milliseconds (1000 is 1 second)
}
}
idleTimer();"

ui <- secure_app(

    head_auth = tags$script(inactivity),...
    (normal ui code), 
    )

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

    result_auth <- secure_server(check_credentials = check_credentials(credentials)),...
    (normal server code),
    }

shinyApp(ui = ui, server = server)

Run Code Online (Sandbox Code Playgroud)

Vic*_*orp 7

嗨尼科

\n\n

您可以使用 中的参数 theme 更改 {shinymanager} 使用的主题secure_app,您可以使用{shinythemes}或使用{fresh}创建自定义主题。

\n\n

更改标签目前还不是导出的功能,但您可以执行以下操作:

\n\n
lang <- shinymanager:::language$new()\nlang$add(\n  "Please authenticate" = "Por favor autenticar",\n  "Username:" = "Usuario:",\n  "Password:" = "Contrase\xc3\xb1a:",\n  "Login" = "Iniciar sesi\xc3\xb3n"\n)\n
Run Code Online (Sandbox Code Playgroud)\n\n

完整的标签列表可以在这里找到:https://github.com/datastorm-open/shinymanager/blob/master/R/language.R#L44

\n\n

如果您翻译所有标签,我们将很乐意接受 PR,以通过包提供它(如果您愿意,您也可以提出问题)

\n\n

一个完整的例子:

\n\n
library(shiny)\nlibrary(shinymanager)\n\n# UI\nui <- secure_app(\n  # Choose a new theme\n  theme = shinythemes::shinytheme("flatly"),\n\n  ### EDIT: Add an image ### \n  tag_img = tags$img(\n    src = "https://www.r-project.org/logo/Rlogo.png", width = 100\n  ),\n\n  # Classic UI\n  fluidPage(\n    tags$h1("My app")\n  )\n)\n\n\n# Credentials to connect to application\ncredentials <- data.frame(\n  user = c("shiny"),\n  password = c("shiny"),\n  stringsAsFactors = FALSE\n)\n\n\n# Change language\nlang <- shinymanager:::language$new()\nlang$add(\n  "Please authenticate" = "Por favor autenticar",\n  "Username:" = "Usuario:",\n  "Password:" = "Contrase\xc3\xb1a:",\n  "Login" = "Iniciar sesi\xc3\xb3n"\n)\n\n\n# SERVER\nserver <- function(input, output, session) {\n\n  result_auth <- secure_server(\n    check_credentials = check_credentials(credentials)\n  )\n\n}\n\nshinyApp(ui = ui, server = server)\n
Run Code Online (Sandbox Code Playgroud)\n\n

这使 :

\n\n

在此输入图像描述

\n

  • 当尝试更改语言时,我收到错误:`Error in ..stacktraceon..({ : attempts to apply non-function` (3认同)
  • 现在可以使用“set_labels”函数设置 @Jabro 标签,而不是此处给出的示例。 (3认同)