添加设备代码信息到 Android 和 iOS 平台信息;更新 Auth 页面以使用新的 TextEditingController 管理输入;重构推流测试页面以支持动态 RTMP URL 解析;删除不再需要的测试文件。

This commit is contained in:
2026-07-09 12:26:41 +08:00
parent 98a3381716
commit a1f6ea14cf
29 changed files with 267 additions and 1797 deletions
@@ -0,0 +1,39 @@
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_riverpod/legacy.dart';
import 'package:recording_tool/core/network/api_exception.dart';
import 'package:recording_tool/features/auth/server/server_auth.dart';
import 'package:recording_tool/features/auth/state/state_auth.dart';
final authProvider = StateNotifierProvider<AuthViewModel, AuthState>((ref) {
return AuthViewModel(ref);
});
class AuthViewModel extends StateNotifier<AuthState> {
AuthViewModel(this._ref) : super(const AuthState());
final Ref _ref;
/// 鉴权获取 token
Future<bool> auth(String code) async {
final passCode = code.trim();
if (passCode.isEmpty) {
state = const AuthState(errorMessage: '请输入执裁口令');
return false;
}
state = const AuthState(isLoading: true);
try {
await AuthServer.login(passCode, _ref);
state = const AuthState();
return true;
} on FormatException catch (error) {
state = AuthState(errorMessage: error.message);
return false;
} on ApiException catch (error) {
state = AuthState(errorMessage: error.message);
return false;
} catch (_) {
state = const AuthState(errorMessage: '认证失败,请重试');
return false;
}
}
}