4 changed files with 57 additions and 149 deletions
@ -1,139 +0,0 @@
|
||||
// import 'package:dio/dio.dart'; |
||||
// import 'package:get/get.dart' hide MultipartFile, FormData, Response; |
||||
// import 'package:problem_check_system/app/core/extensions/http_response_extension.dart'; |
||||
// import 'package:problem_check_system/app/core/utils/constants/api_endpoints.dart'; |
||||
// import 'package:problem_check_system/app/features/problem/data/model/problem_model.dart'; |
||||
// import 'package:problem_check_system/app/core/models/server_problem.dart'; |
||||
// import 'package:problem_check_system/app/core/services/network_status_service.dart'; |
||||
// import 'package:problem_check_system/app/core/services/http_provider.dart'; |
||||
// import 'package:problem_check_system/app/core/repositories/auth_repository.dart'; |
||||
// import 'package:problem_check_system/app/features/problem/data/datasources/problem_local_data_source.dart'; |
||||
|
||||
// /// 问题仓库,负责处理问题数据的本地持久化。 |
||||
// /// 它封装了底层数据库操作,为业务逻辑层提供一个简洁的接口。 |
||||
// class ProblemRepository extends GetxService { |
||||
// final ProblemLocalDataSource problemLocalDataSource; |
||||
// final HttpProvider httpProvider; |
||||
// final NetworkStatusService networkStatusService; |
||||
// final AuthRepository authRepository; |
||||
|
||||
// RxBool get isOnline => networkStatusService.isOnline; |
||||
|
||||
// ProblemRepository({ |
||||
// required this.problemLocalDataSource, |
||||
// required this.httpProvider, |
||||
// required this.networkStatusService, |
||||
// required this.authRepository, |
||||
// }); |
||||
|
||||
// /// 更新本地数据库中的一个问题。 |
||||
// Future<void> updateProblem(Problem problem) async { |
||||
// await problemLocalDataSource.updateProblem(problem); |
||||
// } |
||||
|
||||
// /// 通用查询方法,根据可选的筛选条件获取问题列表。 |
||||
// /// - `startDate`/`endDate`:筛选创建时间范围。 |
||||
// /// - `syncStatus`:筛选上传状态('已上传', '未上传', '全部')。 |
||||
// /// - `bindStatus`:筛选绑定状态('已绑定', '未绑定', '全部')。 |
||||
// Future getProblems({ |
||||
// DateTime? startDate, |
||||
// DateTime? endDate, |
||||
// String? syncStatus, |
||||
// String? bindStatus, |
||||
// }) async { |
||||
// return await problemLocalDataSource.getProblems( |
||||
// startDate: startDate, |
||||
// endDate: endDate, |
||||
// syncStatus: syncStatus, |
||||
// bindStatus: bindStatus, |
||||
// ); |
||||
// } |
||||
|
||||
// Future<void> insertProblem(Problem problem) async { |
||||
// await problemLocalDataSource.insertProblem(problem); |
||||
// } |
||||
|
||||
// Future<void> deleteProblem(String problemId) async { |
||||
// await problemLocalDataSource.deleteProblem(problemId); |
||||
// } |
||||
|
||||
// // 在ProblemRepository中添加 |
||||
// Future<List<ServerProblem>> fetchProblemsFromServer({ |
||||
// DateTime? startTime, |
||||
// DateTime? endTime, |
||||
// int? pageNumber, |
||||
// int? pageSize, |
||||
// CancelToken? cancelToken, |
||||
// }) async { |
||||
// try { |
||||
// final response = await httpProvider.get( |
||||
// ApiEndpoints.getProblems, |
||||
// queryParameters: { |
||||
// 'creatorId': authRepository.getUserId(), |
||||
// if (startTime != null) |
||||
// 'StartTime': startTime.toUtc().toIso8601String(), |
||||
// if (endTime != null) 'EndTime': endTime.toUtc().toIso8601String(), |
||||
// if (pageNumber != null) 'pageNumber': pageNumber, |
||||
// if (pageSize != null) 'pageSize': pageSize, |
||||
// }, |
||||
// cancelToken: cancelToken, |
||||
// ); |
||||
|
||||
// if (response.isSuccess) { |
||||
// // Dio 会自动解析 JSON,response.data 已经是 Map 或 List |
||||
// final Map<String, dynamic> data = response.data; |
||||
// final List<dynamic> items = data['items']; |
||||
|
||||
// // 使用 Freezed 生成的 fromJson 方法 |
||||
// return items.map((item) => ServerProblem.fromJson(item)).toList(); |
||||
// } else { |
||||
// throw Exception('拉取问题失败: ${response.statusCode}'); |
||||
// } |
||||
// } on DioException catch (e) { |
||||
// Get.log("Dio 异常$e"); |
||||
// rethrow; |
||||
// } catch (e) { |
||||
// Get.log("解析失败:$e"); |
||||
// rethrow; |
||||
// } |
||||
// } |
||||
|
||||
// /// post |
||||
// Future<Response> post( |
||||
// Map<String, Object> apiPayload, |
||||
// CancelToken cancelToken, |
||||
// ) async { |
||||
// // 3. 发送给服务器 |
||||
// final response = await httpProvider.post( |
||||
// ApiEndpoints.postProblem, |
||||
// data: apiPayload, |
||||
// cancelToken: cancelToken, |
||||
// ); |
||||
// return response; |
||||
// } |
||||
|
||||
// /// put |
||||
// Future<Response> put( |
||||
// String id, |
||||
// Map<String, Object> apiPayload, |
||||
// CancelToken cancelToken, |
||||
// ) async { |
||||
// // 3. 发送给服务器 |
||||
// final response = await httpProvider.put( |
||||
// ApiEndpoints.putProblemById(id), |
||||
// data: apiPayload, |
||||
// cancelToken: cancelToken, |
||||
// ); |
||||
// return response; |
||||
// } |
||||
|
||||
// /// delete |
||||
// Future<Response> delete(String id, CancelToken cancelToken) async { |
||||
// // 3. 发送给服务器 |
||||
// final response = await httpProvider.delete( |
||||
// ApiEndpoints.deleteProblemById(id), |
||||
// cancelToken: cancelToken, |
||||
// ); |
||||
// return response; |
||||
// } |
||||
// } |
||||
@ -0,0 +1,10 @@
|
||||
import 'package:flutter/material.dart'; |
||||
|
||||
enum ProblemUploadStatus { |
||||
uploaded('已上传', Colors.green), |
||||
notUploaded('未上传', Colors.red); |
||||
|
||||
final String displayName; |
||||
final Color displayColor; |
||||
const ProblemUploadStatus(this.displayName, this.displayColor); |
||||
} |
||||
Loading…
Reference in new issue