更新比赛页面以传递新的事件注册项,简化数据处理逻辑并优化构建脚本。

This commit is contained in:
2026-07-23 11:55:26 +08:00
parent 3c3baede85
commit 00937bf4b6
3 changed files with 5 additions and 23 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/sh
set -e
# flutter build apk --release --split-per-abi
flutter build apk --release --split-per-abi
# echo "构建完成时间: $(date '+%Y-%m-%d %H:%M:%S')"
@@ -18,11 +18,13 @@ class EventTeamMatchPage extends StatefulWidget {
required this.playerId,
this.qrScanner,
required this.detail,
required this.item,
});
final CompetitionTeamDetail detail;
final String playerId;
final TeamQrScanner? qrScanner;
final EventRegistrationItem item;
@override
State<EventTeamMatchPage> createState() => _EventTeamMatchPageState();
@@ -84,26 +86,6 @@ class _EventTeamMatchPageState extends State<EventTeamMatchPage> {
);
}
/// H5 bridge 仍需要 EventRegistrationItem,从 detail 组装最小对象。
/// 备注:红队成员写入 teamMembers,蓝队写入 opponent。
EventRegistrationItem get _scoreBridgeItem {
final blue = _blueTeam;
return EventRegistrationItem(
eventId: _detail.eventId?.trim() ?? '',
itemId: _detail.itemId?.trim() ?? '',
scheduleId: _detail.scheduleId?.trim() ?? '',
eventName: '',
itemName: _detail.itemName?.trim() ?? '',
groupName: _detail.groupName?.trim() ?? '',
matchPlace: _detail.matchPlace?.trim() ?? '',
matchStartTime: _detail.matchStartTime?.trim() ?? '',
matchEndTime: _detail.matchEndTime?.trim() ?? '',
opponentId: blue.id == 'blue-team' ? '' : blue.id,
opponentName: blue.name == '蓝队' ? '' : blue.name,
teamMembers: _redMembers,
);
}
CompetitionTeam _toCompetitionTeam(
Team? team, {
required String fallbackId,
@@ -194,7 +176,7 @@ class _EventTeamMatchPageState extends State<EventTeamMatchPage> {
void _startDirectly() {
AppNavigator.push(
buildTeamScorePage(item: _scoreBridgeItem, playerId: widget.playerId),
buildTeamScorePage(item: widget.item, playerId: widget.playerId),
context: context,
);
}
@@ -118,7 +118,7 @@ Widget buildEventRegistrationDestination({
required CompetitionTeamDetail? detail,
}) {
if (detail != null) {
return EventTeamMatchPage(playerId: playerId, detail: detail);
return EventTeamMatchPage(playerId: playerId, detail: detail, item: item);
}
return WebviewPage(
url: AppConfig.current.mainRefereeScoreH5Url,