From 1a010bb8cef959a3fd13d77533b2841ec49090c7 Mon Sep 17 00:00:00 2001 From: ViperEkura <3081035982@qq.com> Date: Thu, 26 Mar 2026 23:09:33 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E4=B8=80=E4=BA=9B=E5=B7=B2?= =?UTF-8?q?=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/config.py | 4 ++-- backend/routes/auth.py | 10 +++++++--- frontend/package-lock.json | 4 ---- frontend/src/main.js | 6 ++++++ 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/backend/config.py b/backend/config.py index b48557b..0cd03b9 100644 --- a/backend/config.py +++ b/backend/config.py @@ -4,8 +4,8 @@ from backend import load_config _cfg = load_config() # Global defaults -DEFAULT_API_URL = _cfg.get("default_api_url", "") -DEFAULT_API_KEY = _cfg.get("default_api_key", "") +DEFAULT_API_URL = _cfg.get("api_url", "") or _cfg.get("default_api_url", "") +DEFAULT_API_KEY = _cfg.get("api_key", "") or _cfg.get("default_api_key", "") # Model list (for /api/models endpoint) MODELS = _cfg.get("models", []) diff --git a/backend/routes/auth.py b/backend/routes/auth.py index ecb1870..fd46b95 100644 --- a/backend/routes/auth.py +++ b/backend/routes/auth.py @@ -63,9 +63,13 @@ def _resolve_user(): if cfg["mode"] == "single": user = User.query.filter_by(username="default").first() if not user: - user = User(username="default", role="admin") - db.session.add(user) - db.session.commit() + try: + user = User(username="default", role="admin") + db.session.add(user) + db.session.commit() + except Exception: + db.session.rollback() + user = User.query.filter_by(username="default").first() return user # Multi-user mode: validate JWT diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 20dbea4..ea5c58d 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1152,7 +1152,6 @@ "resolved": "https://registry.npmmirror.com/marked/-/marked-15.0.12.tgz", "integrity": "sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==", "license": "MIT", - "peer": true, "bin": { "marked": "bin/marked.js" }, @@ -1199,7 +1198,6 @@ "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -1312,7 +1310,6 @@ "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", @@ -1387,7 +1384,6 @@ "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.30.tgz", "integrity": "sha512-hTHLc6VNZyzzEH/l7PFGjpcTvUgiaPK5mdLkbjrTeWSRcEfxFrv56g/XckIYlE9ckuobsdwqd5mk2g1sBkMewg==", "license": "MIT", - "peer": true, "dependencies": { "@vue/compiler-dom": "3.5.30", "@vue/compiler-sfc": "3.5.30", diff --git a/frontend/src/main.js b/frontend/src/main.js index 068b508..7641951 100644 --- a/frontend/src/main.js +++ b/frontend/src/main.js @@ -4,4 +4,10 @@ import './styles/global.css' import './styles/highlight.css' import 'katex/dist/katex.min.css' +// Initialize theme before app mounts to avoid flash when lazy-loading useTheme +const savedTheme = localStorage.getItem('theme') +if (savedTheme === 'dark' || savedTheme === 'light') { + document.documentElement.setAttribute('data-theme', savedTheme) +} + createApp(App).mount('#app')