更新 devtools_options.yaml 以启用 riverpod 和 shared_preferences 扩展;更新 AuthApi 枚举以添加 playerRegistrationList API;重构 Auth 页面以在用户已登录时直接导航到扫码页面;重构 EventInfoPage 以使用新的状态管理和加载赛事报名信息;更新扫码页面以导航到 EventInfoPage。

This commit is contained in:
2026-07-09 17:38:56 +08:00
parent 6138eddc16
commit 1c909277ff
11 changed files with 646 additions and 137 deletions
@@ -0,0 +1,37 @@
import 'package:dio/dio.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:recording_tool/app/config/api_common.dart';
import 'package:recording_tool/core/network/api_client.dart';
import 'package:recording_tool/core/network/http_method.dart';
import 'package:recording_tool/core/network/providers/dio_providers.dart';
import 'package:recording_tool/features/events/model/model_event_info.dart';
final eventsServerProvider = Provider<EventsServer>((ref) {
return EventsServer(ref.watch(apiClientProvider));
});
class EventsServer {
const EventsServer(this._apiClient);
final ApiClient _apiClient;
Future<EventRegistrationList> fetchPlayerRegistrationList(
PlayerRegistrationListReq req,
) {
return _apiClient.request<EventRegistrationList>(
AuthApi.playerRegistrationList.path,
method: HttpMethod.get,
data: FormData.fromMap(req.toFormDataMap()),
parser: EventRegistrationList.fromJson,
);
}
Future<StreamKeyResponse> fetchStreamKey(StreamKeyReq req) {
return _apiClient.request<StreamKeyResponse>(
AuthApi.getStreamKey.path,
method: HttpMethod.get,
data: FormData.fromMap(req.toFormDataMap()),
parser: StreamKeyResponse.fromJson,
);
}
}