From 7827660a36cef870e8e99cc0259aef4057f2ed63 Mon Sep 17 00:00:00 2001 From: wangjia <809946525@qq.com> Date: Fri, 19 Jun 2026 08:25:56 +0800 Subject: [PATCH] =?UTF-8?q?fix(client):=20=E7=99=BB=E5=BD=95=E9=A1=B5=20ta?= =?UTF-8?q?b=20=E6=BB=91=E5=9D=97=E5=A1=8C=E9=99=B7=20+=20=E6=BB=9A?= =?UTF-8?q?=E5=8A=A8=E5=BC=B9=E6=80=A7(design-distill=20=E6=A0=A1=E5=87=86?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 胶囊 tab 活动滑块高度塌成 0(FractionallySizedBox 缺 heightFactor)→ 活动态 不可见、和背景糊一起。补 heightFactor:1.0,滑块正常填满。 - 列表无弹性回弹:SingleChildScrollView 改 ClampingScrollPhysics,大窗口放得下 就不滚(无上下拖动/滚动条),仅窗口过矮才滚。 - 加 auth_redesign golden(900x700 明/暗),按 design-distill 截图 diff 校准: 与原型 design/preview/auth_redesign.html 对比,结构/位置/尺寸零偏移 (残余差异为 headless 测试缺 CJK 字体的豆腐块,真 app 字体正常)。 flutter analyze 0 error;测试通过。 Co-Authored-By: Claude Opus 4.8 --- client/lib/widgets/auth_screen.dart | 4 ++ .../golden/auth_redesign_golden_test.dart | 52 ++++++++++++++++++ .../test/golden/goldens/auth_login_dark.png | Bin 0 -> 21257 bytes .../test/golden/goldens/auth_login_light.png | Bin 0 -> 22680 bytes 4 files changed, 56 insertions(+) create mode 100644 client/test/golden/auth_redesign_golden_test.dart create mode 100644 client/test/golden/goldens/auth_login_dark.png create mode 100644 client/test/golden/goldens/auth_login_light.png diff --git a/client/lib/widgets/auth_screen.dart b/client/lib/widgets/auth_screen.dart index f22d061..097e1bd 100644 --- a/client/lib/widgets/auth_screen.dart +++ b/client/lib/widgets/auth_screen.dart @@ -154,6 +154,9 @@ class _AuthScreenState extends ConsumerState SafeArea( child: Center( child: SingleChildScrollView( + // 无弹性回弹:内容放得下就不滚(大窗口不出现上下拖动/滚动条), + // 仅窗口太矮放不下时才滚动。 + physics: const ClampingScrollPhysics(), padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 32), child: ConstrainedBox( constraints: const BoxConstraints(maxWidth: 420), @@ -277,6 +280,7 @@ class _AuthScreenState extends ConsumerState alignment: reg ? Alignment.centerRight : Alignment.centerLeft, child: FractionallySizedBox( widthFactor: 0.5, + heightFactor: 1.0, child: DecoratedBox( decoration: BoxDecoration( color: c.accent, diff --git a/client/test/golden/auth_redesign_golden_test.dart b/client/test/golden/auth_redesign_golden_test.dart new file mode 100644 index 0000000..ab4fcc1 --- /dev/null +++ b/client/test/golden/auth_redesign_golden_test.dart @@ -0,0 +1,52 @@ +// auth_redesign_golden_test.dart — 登录页 Flutter 渲染图(供 design-distill 截图 diff) +// 900x700 @1x,与原型截图同 viewport;明/暗各一张。 +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:pangolin_vpn/l10n/strings_zh.dart'; +import 'package:pangolin_vpn/pangolin_theme.dart'; +import 'package:pangolin_vpn/services/token_store.dart'; +import 'package:pangolin_vpn/state/auth_provider.dart'; +import 'package:pangolin_vpn/widgets/auth_screen.dart'; + +class _NullTokenStore implements TokenStore { + const _NullTokenStore(); + @override + Future saveTokens({required String access, required String refresh}) async {} + @override + Future loadAccessToken() async => null; + @override + Future loadRefreshToken() async => null; + @override + Future clear() async {} + @override + Future markOnboarded() async {} + @override + Future isOnboarded() async => true; + @override + Future saveLastEmail(String email) async {} + @override + Future loadLastEmail() async => null; +} + +Future _shoot(WidgetTester tester, ThemeData theme, String name) async { + tester.view.physicalSize = const Size(900, 700); + tester.view.devicePixelRatio = 1.0; + addTearDown(tester.view.resetPhysicalSize); + addTearDown(tester.view.resetDevicePixelRatio); + await tester.pumpWidget(ProviderScope( + overrides: [tokenStoreProvider.overrideWithValue(const _NullTokenStore())], + child: MaterialApp( + debugShowCheckedModeBanner: false, + theme: theme, + home: AuthScreen(t: const StringsZh(), onDone: () {}), + ), + )); + await tester.pumpAndSettle(); + await expectLater(find.byType(AuthScreen), matchesGoldenFile('goldens/$name.png')); +} + +void main() { + testWidgets('auth login light', (t) => _shoot(t, PangolinTheme.light, 'auth_login_light')); + testWidgets('auth login dark', (t) => _shoot(t, PangolinTheme.dark, 'auth_login_dark')); +} diff --git a/client/test/golden/goldens/auth_login_dark.png b/client/test/golden/goldens/auth_login_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..8dad576ab0892f6c0e795c8c48866fc638b7dea2 GIT binary patch literal 21257 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 G2~7ZjwdC#q literal 0 HcmV?d00001 diff --git a/client/test/golden/goldens/auth_login_light.png b/client/test/golden/goldens/auth_login_light.png new file mode 100644 index 0000000000000000000000000000000000000000..78b6d958703bb34571fbd57ed8235371edcab74e GIT binary patch literal 22680 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 literal 0 HcmV?d00001