迁移 Flutter 端与训练脚本,模型/训练产物移出 git(遵循纯代码约定)

This commit is contained in:
2026-08-24 12:35:24 +08:00
parent d056f01965
commit 961523d94c
218 changed files with 13391 additions and 3232 deletions
+57
View File
@@ -0,0 +1,57 @@
import 'package:flutter/foundation.dart';
import '../payment/order_api.dart';
import 'session_store.dart';
enum AuthMode { login, register }
class AuthViewModel extends ChangeNotifier {
final OrderApi orderApi;
final SessionStore sessionStore;
AuthMode _mode = AuthMode.login;
bool _loading = false;
String? _error;
AuthMode get mode => _mode;
bool get loading => _loading;
String? get error => _error;
AuthViewModel({required this.orderApi, required this.sessionStore});
void switchMode() {
_mode = _mode == AuthMode.login ? AuthMode.register : AuthMode.login;
_error = null;
notifyListeners();
}
/// 本地输入校验失败提示(不进网络请求)
void showError(String message) {
_error = message;
notifyListeners();
}
/// 登录或注册;成功返回 true(调用方负责跳转主界面)
Future<bool> submit({required String phone, required String password}) async {
_loading = true;
_error = null;
notifyListeners();
try {
if (_mode == AuthMode.login) {
final token = await orderApi.login(phone: phone, password: password);
await sessionStore.save(phone, token);
} else {
await orderApi.register(phone: phone, password: password);
final token = await orderApi.login(phone: phone, password: password);
await sessionStore.save(phone, token);
}
return true;
} on OrderApiException catch (e) {
_error = e.message;
return false;
} finally {
_loading = false;
notifyListeners();
}
}
}