This commit is contained in:
2026-06-04 10:50:24 +08:00
parent 8f9f3a9779
commit 250f21a2b8
67 changed files with 1192 additions and 159 deletions

View File

@@ -1,9 +1,9 @@
import 'dart:convert';
import 'package:dio/dio.dart';
import 'package:flutter_template/core/network/api_exception.dart';
import 'package:flutter_template/core/network/api_response.dart';
import 'package:flutter_template/core/network/http_method.dart';
import 'package:recording_tool/core/network/api_exception.dart';
import 'package:recording_tool/core/network/api_response.dart';
import 'package:recording_tool/core/network/http_method.dart';
typedef JsonParser<T> = T Function(dynamic json);

View File

@@ -1,10 +1,10 @@
import 'dart:io';
import 'package:dio/dio.dart';
import 'package:flutter_template/app/config/app_config.dart';
import 'package:flutter_template/core/cache/app_storage.dart';
import 'package:flutter_template/core/cache/storage_keys.dart';
import 'package:flutter_template/core/utils/device_utils.dart';
import 'package:recording_tool/app/config/app_config.dart';
import 'package:recording_tool/core/cache/app_storage.dart';
import 'package:recording_tool/core/cache/storage_keys.dart';
import 'package:recording_tool/core/utils/device_utils.dart';
class HeaderInterceptor extends Interceptor {
@override

View File

@@ -3,7 +3,7 @@ import 'dart:async';
import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/services.dart';
import 'package:flutter_template/core/network/network_state.dart';
import 'package:recording_tool/core/network/network_state.dart';
class NetworkMonitor {
final _controller = StreamController<NetworkState>.broadcast();

View File

@@ -1,7 +1,7 @@
import 'package:dio/dio.dart';
import 'package:flutter_template/core/network/network_monitor.dart';
import 'package:flutter_template/core/network/offline_queue/offline_queue_manager.dart';
import 'package:flutter_template/core/network/offline_queue/offline_request.dart';
import 'package:recording_tool/core/network/network_monitor.dart';
import 'package:recording_tool/core/network/offline_queue/offline_queue_manager.dart';
import 'package:recording_tool/core/network/offline_queue/offline_request.dart';
import 'package:uuid/uuid.dart';
class OfflineQueueInterceptor extends Interceptor {

View File

@@ -1,11 +1,11 @@
import 'dart:async';
import 'package:dio/dio.dart';
import 'package:flutter_template/core/logging/app_logger.dart';
import 'package:flutter_template/core/network/network_monitor.dart';
import 'package:flutter_template/core/network/offline_queue/offline_queue_state.dart';
import 'package:flutter_template/core/network/offline_queue/offline_queue_storage.dart';
import 'package:flutter_template/core/network/offline_queue/offline_request.dart';
import 'package:recording_tool/core/logging/app_logger.dart';
import 'package:recording_tool/core/network/network_monitor.dart';
import 'package:recording_tool/core/network/offline_queue/offline_queue_state.dart';
import 'package:recording_tool/core/network/offline_queue/offline_queue_storage.dart';
import 'package:recording_tool/core/network/offline_queue/offline_request.dart';
class OfflineQueueManager {
OfflineQueueManager({

View File

@@ -1,6 +1,6 @@
import 'package:flutter_template/core/cache/app_storage.dart';
import 'package:flutter_template/core/cache/storage_keys.dart';
import 'package:flutter_template/core/network/offline_queue/offline_request.dart';
import 'package:recording_tool/core/cache/app_storage.dart';
import 'package:recording_tool/core/cache/storage_keys.dart';
import 'package:recording_tool/core/network/offline_queue/offline_request.dart';
class OfflineQueueStorage {
Future<List<OfflineRequest>> loadQueue() async {

View File

@@ -1,11 +1,11 @@
import 'package:dio/dio.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_template/app/config/app_config.dart';
import 'package:flutter_template/core/network/api_client.dart';
import 'package:flutter_template/core/network/header_interceptor.dart';
import 'package:flutter_template/core/network/offline_queue/offline_queue_interceptor.dart';
import 'package:flutter_template/core/network/providers/network_providers.dart';
import 'package:flutter_template/core/network/providers/offline_queue_providers.dart';
import 'package:recording_tool/app/config/app_config.dart';
import 'package:recording_tool/core/network/api_client.dart';
import 'package:recording_tool/core/network/header_interceptor.dart';
import 'package:recording_tool/core/network/offline_queue/offline_queue_interceptor.dart';
import 'package:recording_tool/core/network/providers/network_providers.dart';
import 'package:recording_tool/core/network/providers/offline_queue_providers.dart';
final dioProvider = Provider<Dio>((ref) {
final dio = Dio(

View File

@@ -1,6 +1,6 @@
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_template/core/network/network_monitor.dart';
import 'package:flutter_template/core/network/network_state.dart';
import 'package:recording_tool/core/network/network_monitor.dart';
import 'package:recording_tool/core/network/network_state.dart';
final networkMonitorProvider = Provider<NetworkMonitor>((ref) {
final monitor = NetworkMonitor()..start();

View File

@@ -1,8 +1,8 @@
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_template/core/network/offline_queue/offline_queue_manager.dart';
import 'package:flutter_template/core/network/offline_queue/offline_queue_state.dart';
import 'package:flutter_template/core/network/offline_queue/offline_queue_storage.dart';
import 'package:flutter_template/core/network/providers/network_providers.dart';
import 'package:recording_tool/core/network/offline_queue/offline_queue_manager.dart';
import 'package:recording_tool/core/network/offline_queue/offline_queue_state.dart';
import 'package:recording_tool/core/network/offline_queue/offline_queue_storage.dart';
import 'package:recording_tool/core/network/providers/network_providers.dart';
import 'package:dio/dio.dart';
final offlineQueueStorageProvider = Provider<OfflineQueueStorage>((ref) {