更新应用配置以添加主裁判计分 H5 链接;

重构事件注册模型以支持团队成员信息,并简化事件信息页面的导航逻辑。
This commit is contained in:
2026-07-20 10:10:51 +08:00
parent 4e0a675198
commit e5b6246458
4 changed files with 507 additions and 12 deletions
+18 -6
View File
@@ -1,7 +1,9 @@
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:recording_tool/app/config/app_config.dart';
import 'package:recording_tool/app/router/app_navigator.dart';
import 'package:recording_tool/features/competition_teams/pages/page_event_team_match.dart';
import 'package:recording_tool/features/events/model/model_event_info.dart';
import 'package:recording_tool/features/events/state/state_event_info.dart';
import 'package:recording_tool/features/events/view_model/view_model_event_info.dart';
@@ -28,13 +30,9 @@ class _EventInfoPageState extends ConsumerState<EventInfoPage> {
if (!mounted) return;
// final profile = ref.read(eventInfoProvider).profile;
/// 个人赛
AppNavigator.push(
WebviewPage(
url: 'https://drone.apptest.sportsx.cc/#/pages/h5/score-entry',
eventRegistrationItem: item,
playerId: widget.playerId,
),
buildEventRegistrationDestination(item: item, playerId: widget.playerId),
context: context,
);
}
@@ -88,6 +86,20 @@ class _EventInfoPageState extends ConsumerState<EventInfoPage> {
}
}
Widget buildEventRegistrationDestination({
required EventRegistrationItem item,
required String playerId,
}) {
if (item.opponentId.isNotEmpty) {
return EventTeamMatchPage(item: item, playerId: playerId);
}
return WebviewPage(
url: AppConfig.current.mainRefereeScoreH5Url,
eventRegistrationItem: item,
playerId: playerId,
);
}
class _Header extends StatelessWidget {
const _Header({required this.onBack});