2025-01-27 00:43:18 +08:00
|
|
|
|
# app/admin/ahoy_management.rb
|
|
|
|
|
ActiveAdmin.register_page "Ahoy Management" do
|
|
|
|
|
menu label: "访问数据管理", parent: "系统管理"
|
|
|
|
|
|
|
|
|
|
content title: "访问数据管理" do
|
|
|
|
|
columns do
|
|
|
|
|
column do
|
|
|
|
|
panel "数据统计" do
|
|
|
|
|
attributes_table_for :ahoy do
|
|
|
|
|
row("总事件数") { Ahoy::Event.count }
|
|
|
|
|
row("总访问数") { Ahoy::Visit.count }
|
|
|
|
|
row("最早事件") { Ahoy::Event.minimum(:time)&.strftime("%Y-%m-%d %H:%M:%S") }
|
|
|
|
|
row("最早访问") { Ahoy::Visit.minimum(:started_at)&.strftime("%Y-%m-%d %H:%M:%S") }
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
column do
|
|
|
|
|
panel "操作" do
|
|
|
|
|
div class: "buttons" do
|
|
|
|
|
button_to "立即清理旧数据", admin_ahoy_management_cleanup_path, method: :post,
|
|
|
|
|
data: { confirm: "确定要清理3个月前的数据吗?" },
|
|
|
|
|
class: "button"
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
page_action :cleanup, method: :post do
|
|
|
|
|
CleanAhoyDataWorker.perform_async
|
|
|
|
|
redirect_to admin_ahoy_management_path, notice: "清理任务已加入队列"
|
|
|
|
|
end
|
2025-01-27 00:43:36 +08:00
|
|
|
|
end
|