查看源代码 Phoenix.LiveDashboard.Router (LiveDashboard v0.8.4)
提供 LiveDashboard 的 LiveView 路由。
概述
函数
定义 LiveDashboard 路由。
函数
定义 LiveDashboard 路由。
它需要仪表板将要安装的 path
和一组选项。然后,您可以直接链接到该路由
<a href={~p"/dashboard"}>Dashboard</a>
选项
:live_socket_path
- 配置套接字路径。它必须与您端点中的socket "/live", Phoenix.LiveView.Socket
相匹配。:csp_nonce_assign_key
- 一个分配键,用于查找用于资产的 CSP nonce 值。支持atom()
或类型为%{optional(:img) => atom(), optional(:script) => atom(), optional(:style) => atom()}
的映射:ecto_repos
- 要显示数据库信息的存储库。目前仅支持 PostgreSQL、MySQL 和 SQLite 数据库。如果您未指定,但您的应用程序正在运行 Ecto,我们将尝试自动发现可用的存储库。您可以通过将[]
设置为此选项来禁用此行为。:env_keys
- 配置要显示的环境变量。它定义为字符串键的列表。如果未设置,则不会显示环境信息:home_app
- 显示在主页上的应用程序名称和版本的元组。默认值为{"Dashboard", :phoenix_live_dashboard}
:metrics
- 配置从其检索指标的模块。它可以是module
或{module, function}
。如果没有给出任何内容,指标功能将被禁用。如果传递了false
,则菜单项将不可见。:metrics_history
- 配置一个用于检索指标历史记录的回调。它必须是{Module, :function, arguments}
的 “MFA” 元组,例如 metrics_history: {MyStorage, :metrics_history, []} 如果未设置,指标将从空/空白开始,并且仅显示浏览器页面打开期间发生的数据。:on_mount
- 声明一个自定义的Phoenix.LiveView.on_mount/1
回调列表,以添加到仪表板的Phoenix.LiveView.Router.live_session/3
。也可以声明单个值。:request_logger
- 默认情况下,请求记录器页面已启用。传递false
将禁用此页面。:request_logger_cookie_domain
- 配置将写入请求记录器 cookie 的域。它可以是字符串或:parent
原子。当给出字符串时,它将直接将 cookie 域设置为给定的值。当给出:parent
时,它将从当前端点主机获取父域(如果主机是“www.acme.com”,则 cookie 将在“acme.com”上进行范围界定)。如果未设置,cookie 将在当前域上进行范围界定。:allow_destructive_actions
- 当为 true 时,允许直接从 UI 执行破坏性操作。默认为false
。仪表板中提供以下破坏性操作- "Kill process" - 进程模态上的 “Kill process” 按钮
请注意,给定给 “Additional pages” 的自定义页面可能支持它们自己的破坏性操作。
:additional_pages
- 附加页面的关键字列表
示例
defmodule MyAppWeb.Router do
use Phoenix.Router
import Phoenix.LiveDashboard.Router
scope "/", MyAppWeb do
pipe_through [:browser]
live_dashboard "/dashboard",
metrics: {MyAppWeb.Telemetry, :metrics},
env_keys: ["APP_USER", "VERSION"],
metrics_history: {MyStorage, :metrics_history, []},
request_logger_cookie_domain: ".acme.com"
end
end