fix:实现配置功能,实现园长一键签名功能

This commit is contained in:
2025-12-19 12:23:00 +08:00
parent 0e47603d23
commit 14b8c19dfe
19 changed files with 307 additions and 107 deletions

View File

@@ -1,4 +1,4 @@
from nicegui import ui, app
from nicegui import ui
from config.config import load_config
from ui.core.state import app_state
from ui.core.task_runner import run_task, select_folder
@@ -6,20 +6,24 @@ from ui.core.task_runner import run_task, select_folder
# 导入业务函数
from utils.generate_utils import (
generate_template, generate_comment_all,
batch_convert_folder, generate_report, generate_zodiac
batch_convert_folder, generate_report, generate_zodiac, generate_signature
)
from utils.file_utils import export_templates_folder, initialize_project, export_data
config = load_config("config.toml")
def create_header():
with ui.header().classes('app-header items-center justify-between shadow-md'):
# 左侧:图标和标题
with ui.row().classes('items-center gap-2'):
ui.image('/assets/icon.ico').classes('w-8 h-8').props('fit=contain')
ui.label('尚城幼儿园成长报告助手').classes('text-xl font-bold')
ui.label('By 寒寒 | 这里的每一份评语都充满爱意').classes('text-xs opacity-90')
# 右侧:署名 + 配置按钮
with ui.row().classes('items-center gap-4'):
ui.label('By 寒寒 | 这里的每一份评语都充满爱意').classes('text-xs opacity-90')
# 添加配置按钮
ui.button(icon='settings', on_click=lambda: ui.navigate.to('/config')).props('flat round color=white').tooltip('系统配置')
def create_page():
# 1. 引入外部 CSS
@@ -49,18 +53,15 @@ def create_page():
func_btn('📁 生成图片路径', 'image', generate_template)
func_btn('🤖 生成评语 (AI)', 'smart_toy', generate_comment_all)
func_btn('📊 生成报告 (PPT)', 'analytics', generate_report)
# 特殊处理带参数的
async def run_convert():
await run_task(batch_convert_folder, config.get("output_folder"))
ui.button('📑 格式转换 (PDF)', on_click=run_convert).props('outline')
func_btn('🐂 生肖转化 (生日)', 'pets', generate_zodiac)
func_btn('💴 园长一键签名', 'refresh', generate_signature)
# === 下方双栏布局 ===
with ui.grid(columns=2).classes('w-full gap-4'):
# 数据管理
with ui.card().classes('func-card card-data'):
ui.label('📦 数据管理').classes('section-title text-blue')
@@ -70,8 +71,7 @@ def create_page():
if path: await run_task(func, path)
ui.button('📦 导出模板', on_click=lambda: do_export(export_templates_folder)).props(f'outline')
ui.button('📤 导出备份', on_click=lambda: do_export(export_data)).props(f'outline')
ui.button('📤 导出备份', on_click=lambda: do_export(export_data)).props(f'outline')
# 系统操作
with ui.card().classes('func-card card-system'):
ui.label('⚙️ 系统操作').classes('section-title text-red')
@@ -87,7 +87,6 @@ def create_page():
await run_task(initialize_project)
ui.button('⚠️ 初始化', on_click=reset_sys).props('outline color=warning').classes('flex-1')
# === 日志区 ===
with ui.card().classes('func-card card-logging'):
with ui.expansion('📝 系统实时日志',value=True).classes('w-full bg-white shadow-sm rounded'):