r-如何使用带有{宣传册}框架的{抛光}包装



这是我在使用{polished}{brochure}时遇到的一个复杂的逻辑执行。当按照{polished}开发团队给出的示例的相同顺序将secure_ui/secure_server放置在brochure::Page()内部时,Shiny应用程序在{brochure}基础设施上的部署方式会发生变化。我不确定将polsiehd逻辑重新定位到哪里。

差异

  • 没有全局。brochureApp()中的R文件
  • 多次调用不同的module_ui/server函数,因为每个brochure::page()都是自己的闪亮会话
  • 单页shinyApp与真正的多页shinyApp

当需要合并两个逻辑时,必须:

  1. globals.R中移动polished_config()-->golem::runApp()[启动brochureApp()的全局设置]
run_app <- function(
onStart = NULL,
options = list(),
enableBookmarking = NULL,
...
) {
# old 'globals.R' logic 
polished_config(
app_name = "humblFinance",
api_key = "xxxx"
)
with_golem_options(
app = brochureApp(
# Putting the resources here
golem_add_external_resources(),
page1(),
),
golem_opts = list(...)
)
}
  1. 包裹每个抛光的brochure::page() ui/server with::secure_ui/server((`
# an example login page
login <- function(id = "login", href = "/login") {

page(
href = href,
ui = secure_ui(
mod_login_ui(id = id),
sign_in_page_ui = sign_in_custom()
),
server = secure_server(
function(input, output, session) {
mod_login_server(id = id)
}
)
)
}

注意

sign_in_custom()是一个从polished::sign_in_default()返回自定义UI对象以创建个人业务网页的函数。我建议将polished::sign_in_default()封装在自定义全局函数中,因为您需要在想要在polishedauth之后保护的任何brochure::page()上定义它。

一旦你通过抛光验证了一个页面,你就可以在登录时访问所有其他受保护的页面。注销并尝试访问任何一个受保护的网页后,将产生一个自定义的登录页面

最新更新