feat: A1 网络层与鉴权 + A2 账号登录对接
- 引入 dio,封装统一 ApiClient(BaseUrl/Token 注入/401 自动刷新/{code,message,data} 解包)
- TokenStorage 令牌持久化,AuthController 登录状态管理
- AuthRepository 封装 otp/login/logout 接口
- 登录页对接手机号/邮箱验证码登录(Google 登录待 OAuth client 配置)
This commit is contained in:
1 parent
015677d1a8
commit
a7ac3b7fc7
9 files changed
+602
-78
No files matched your search
@@ -4,11 +4,15 @@ import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
import 'core/config/locale_controller.dart';
|
||||
import 'core/data/repositories/auth_repository.dart';
|
||||
import 'core/data/repositories/catalog_repository.dart';
|
||||
import 'core/data/repositories/engagement_repository.dart';
|
||||
import 'core/data/services/api_client.dart';
|
||||
import 'core/data/services/auth_controller.dart';
|
||||
import 'core/data/services/catalog_controller.dart';
|
||||
import 'core/data/services/engagement_controller.dart';
|
||||
import 'core/data/services/playback_session.dart';
|
||||
import 'core/data/services/token_storage.dart';
|
||||
import 'core/data/services/video_player_port.dart';
|
||||
import 'l10n/app_localizations.dart';
|
||||
import 'pages/login/login_view.dart';
|
||||
@@ -24,6 +28,17 @@ class LumaDramaApp extends StatelessWidget {
|
||||
providers: [
|
||||
Provider(create: (_) => PlaybackCoordinator()),
|
||||
Provider<PlayerFactory>(create: (_) => playerFactory),
|
||||
Provider(create: (_) => ApiClient()),
|
||||
Provider(create: (_) => TokenStorage()),
|
||||
Provider(
|
||||
create: (ctx) => AuthRepository(
|
||||
ctx.read<ApiClient>(),
|
||||
ctx.read<TokenStorage>(),
|
||||
),
|
||||
),
|
||||
ChangeNotifierProvider(
|
||||
create: (ctx) => AuthController(ctx.read<AuthRepository>()),
|
||||
),
|
||||
ChangeNotifierProvider(
|
||||
create: (_) => CatalogController(DemoCatalogRepository())..load(),
|
||||
),
|
||||
|
||||
Reference in new issue
Block a user