From 6129c42890a015168538a6d5c812dff30f823b9c Mon Sep 17 00:00:00 2001 From: root Date: Fri, 16 Oct 2026 17:59:00 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=86=85=E7=BD=AE=E6=BC=94=E7=A4=BA?= =?UTF-8?q?=E8=B4=A6=E5=8F=B7=20demo/demo1234=20+=20=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E9=A1=B5=E4=B8=80=E9=94=AE=E5=A1=AB=E5=85=85=20+=20=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E5=99=A8=E5=9C=B0=E5=9D=80=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/components/auth/LoginPage.tsx | 12 +++++++++--- sync-server/src/index.mjs | 8 ++++++++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/app/src/components/auth/LoginPage.tsx b/app/src/components/auth/LoginPage.tsx index 5be32c7..21c5f7e 100644 --- a/app/src/components/auth/LoginPage.tsx +++ b/app/src/components/auth/LoginPage.tsx @@ -29,10 +29,10 @@ export function LoginPage() { setError(''); try { if (mode === 'login') { - await serverLogin(username.trim(), password); + await serverLogin(username.trim(), password, serverUrl); } else { if (!invite.trim()) throw new Error('请填写邀请码'); - await serverRegister(username.trim(), password, invite.trim()); + await serverRegister(username.trim(), password, invite.trim(), serverUrl); } setTimeout(() => window.location.reload(), 200); } catch (e) { @@ -87,7 +87,13 @@ export function LoginPage() { -

数据按账号隔离存储 · 未注册用户请联系管理员获取邀请码

+ diff --git a/sync-server/src/index.mjs b/sync-server/src/index.mjs index f4184d1..17a3d5c 100644 --- a/sync-server/src/index.mjs +++ b/sync-server/src/index.mjs @@ -208,6 +208,14 @@ function readJson(req) { } getDb(); + +// 种子演示账号(demo / demo1234,管理员权限),便于部署后立即可用 +try { + const { register } = await import('./auth.mjs'); + register({ username: 'demo', password: 'demo1234', device_name: 'seed' }); + console.log('[footprints-sync] demo 账号已就绪 (demo / demo1234)'); +} catch { /* 已存在则跳过 */ } + server.listen(PORT, '0.0.0.0', () => { console.log('[footprints-sync] listening on 0.0.0.0:' + PORT); console.log('[footprints-sync] data dir:', process.env.DATA_DIR || path.join(__dirname, '..', 'data'));