# -*- coding: utf-8 -*- """ 应用主入口 """ import reflex as rx from application.pages.workbench import workbench from application.workshop.database import connection_pool_init app = rx.App( theme=rx.theme(color_mode="light"), head_components=[ rx.script( """ document.addEventListener('click', function(e) { const link = e.target.closest('a'); if (!link) return; const href = link.getAttribute('href'); if (href && (href.startsWith('http://') || href.startsWith('https://'))) { link.target = '_blank'; link.rel = 'noopener noreferrer'; } }) """ ) # 点击链接在新标签页打开 ], stylesheets=["/styles.css"], style={ "box-shadow": "none", "background-color": "var(--prismui-background-color-1)", # 默认背景颜色 "font_family": "var(--prismui-font-family)", "font_size": "var(--prismui-font-size-2)", "font_weight": "var(--prismui-font-weight-1)", "color": "var(--prismui-color-1)", "*": { "margin": "0", "padding": "0", "gap": "0", }, "*::before, *::after": { "box-sizing": "border-box", }, "* .rt-TextFieldRoot, * textarea": { "border": "var(--prismui-border-1)", "outline": "none", "box-shadow": "none", }, ".rt-TextAreaInput::placeholder, .rt-TextFieldInput::placeholder": { "font-family": "var(--font-family)", "font-size": "var(--prismui-font-size-2)", "color": "var(--prismui-color-3)", "opacity": 1, }, # 覆盖占位符样式 }, ) # 此处变量名需使用 app ,具体原因目前尚不清楚 # 添加页面:工作台 app.add_page(component=workbench(), route="/") # 注册声明周期任务:连接池初始化 app.register_lifespan_task(connection_pool_init)