重构事件注册模型并更新应用配置。更改不同环境的基本url,增强事件注册项结构,并改进ScanQrCodePage中的导航。在AuthViewModel中添加clearAuth方法,以便更好地进行状态管理。

This commit is contained in:
2026-07-17 11:55:13 +08:00
parent 831ca1059b
commit 1f9c5af51b
8 changed files with 187 additions and 183 deletions
+22 -3
View File
@@ -4,6 +4,9 @@ import 'dart:convert';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:recording_tool/app/router/app_navigator.dart';
import 'package:recording_tool/core/cache/app_storage.dart';
import 'package:recording_tool/core/cache/storage_keys.dart';
import 'package:recording_tool/features/events/model/model_event_info.dart';
import 'package:webview_flutter/webview_flutter.dart';
import 'package:webview_flutter_android/webview_flutter_android.dart';
import 'package:webview_flutter_wkwebview/webview_flutter_wkwebview.dart';
@@ -13,6 +16,8 @@ class WebviewPage extends StatefulWidget {
final String? title;
final String? assetPath;
final bool? canPop;
final EventRegistrationItem? eventRegistrationItem;
final String? playerId;
const WebviewPage({
super.key,
@@ -20,6 +25,8 @@ class WebviewPage extends StatefulWidget {
this.title,
this.assetPath,
this.canPop,
this.eventRegistrationItem,
this.playerId,
});
@override
@@ -183,8 +190,7 @@ class WebviewPageState extends State<WebviewPage> {
/// 脚本注入传输给h5 数据
Future<void> _injectH5NeedData(WebViewController controller) async {
final token =
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjgxNDI4NTczNTY2NjY4ODAwLCJkYXRhIjp7fSwic3ViIjoiODE0Mjg1NzM1NjY2Njg4MDAiLCJleHAiOjE3ODM5MzM1ODQsIm5iZiI6MTc4MzMyODc4NCwiaWF0IjoxNzgzMzI4Nzg0fQ.r1wYfvpV-5HIgwUuvq1Or3jPgjc3AhfJmoV1PNP23-Y';
final token = AppStorage.getString(StorageKeys.authToken);
try {
await controller.runJavaScript('''
(function () {
@@ -194,7 +200,20 @@ class WebviewPageState extends State<WebviewPage> {
window.__appInstallData = ${true};
window.AppBridge.token = '$token';
window.AppBridge.scoreEntryContext = {
eventId: '${widget.eventRegistrationItem?.eventId}',
itemId: '${widget.eventRegistrationItem?.itemId}',
scheduleId: '${widget.eventRegistrationItem?.scheduleId}',
userId: '${widget.playerId}',
opponentId: '${widget.eventRegistrationItem?.opponentId}',
};
// console.log('window.AppBridge?.scoreEntryContext.eventId', window.AppBridge?.scoreEntryContext.eventId);
// console.log('window.AppBridge?.scoreEntryContext.itemId', window.AppBridge?.scoreEntryContext.itemId);
// console.log('window.AppBridge?.scoreEntryContext.scheduleId', window.AppBridge?.scoreEntryContext.scheduleId);
// console.log('window.AppBridge?.scoreEntryContext.userId', window.AppBridge?.scoreEntryContext.userId);
// console.log('window.AppBridge?.scoreEntryContext.opponentId', window.AppBridge?.scoreEntryContext.opponentId);
// confirm('已经注入完成');
})();
''');
} catch (e) {