feat(auth): 登录页改为 ymb 品牌并支持后台配置背景图

This commit is contained in:
Vicky authored and trae-solo-agent committed 2026-10-30 17:14:30 +08:00
1 parent 22cc669bbe
commit e7399fa3fd
24 files changed
+378 -188

No files matched your search

+12 -7
View File
@@ -11,12 +11,14 @@ import 'package:shared_preferences_platform_interface/shared_preferences_async_p
import 'package:fruitshorts/core/data/models/auth_session.dart';
import 'package:fruitshorts/core/data/remote/auth_api.dart';
import 'package:fruitshorts/core/data/remote/api_client.dart';
import 'package:fruitshorts/core/data/services/app_config_controller.dart';
import 'package:fruitshorts/core/data/services/auth_controller.dart';
import 'package:fruitshorts/core/data/services/auth_session_store.dart';
import 'package:fruitshorts/core/platform/haptics.dart';
import 'package:fruitshorts/l10n/app_localizations.dart';
import 'package:fruitshorts/pages/auth/auth_view.dart';
import '../support/fake_app_config.dart';
import '../support/fake_http_adapter.dart';
import '../support/fake_haptics.dart';
@@ -29,17 +31,17 @@ void main() {
// 不打桩这个通道调用会一直等不到回复(提交按钮转圈、pumpAndSettle 超时)。
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.setMockMethodCallHandler(
const MethodChannel('com.stormg.lumadrama/device'),
(call) async => call.method == 'region' ? 'ID' : null,
);
const MethodChannel('com.stormg.lumadrama/device'),
(call) async => call.method == 'region' ? 'ID' : null,
);
});
tearDown(() {
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.setMockMethodCallHandler(
const MethodChannel('com.stormg.lumadrama/device'),
null,
);
const MethodChannel('com.stormg.lumadrama/device'),
null,
);
});
Future<void> pumpAuthPage(
@@ -65,6 +67,9 @@ void main() {
MultiProvider(
providers: [
ChangeNotifierProvider<AuthController>.value(value: auth),
ChangeNotifierProvider<AppConfigController>.value(
value: await fakeAppConfigController(),
),
Provider<Haptics>.value(value: haptics ?? FakeHaptics()),
],
child: MaterialApp(
@@ -212,7 +217,7 @@ void main() {
) async {
await pumpAuthPage(tester);
expect(find.text('FruitShorts'), findsOneWidget);
expect(find.text('ymb'), findsNothing);
expect(find.text('Short dramas made for Indonesia'), findsOneWidget);
final email = tester.widget<TextField>(find.byKey(const Key('auth-email')));
final password = tester.widget<TextField>(