# mKit **Repository Path**: ydxafl/mKit ## Basic Information - **Project Name**: mKit - **Description**: my kit package,only use by flutter - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-29 - **Last Updated**: 2025-08-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 内含个性化配置,如需使用,请下载后按自身所需修改 直接使用: ``` mkit: git: url: https://gitee.com/ydxafl/mKit.git ref: master ``` ## 介绍 ```theme_service.dart``` ### dio 初始化 ``` void main() { // 初始化时直接通过工厂构造函数注入 DioHelper( baseUrlProvider: DioProvider(), // 外部实现的 DioProvider implements BaseDioProvider ); runApp(MyApp()); } ``` DioHelper及CancelToken使用 ``` // 方式1:外部传入CancelToken(推荐,可主动控制) final cancelToken = CancelToken(); try { // 发起GET请求 final result = await DioHelper.instance.get( "/user/list", cancelToken: cancelToken, // 绑定令牌 ); } on CancelException catch (e) { print("请求取消:${e.message}"); // 捕获取消异常 } catch (e) { print("其他错误:$e"); } // 方式2:使用内部自动生成的令牌(仅支持批量取消) try { final result = await DioHelper.instance.post("/user/add"); } on CancelException catch (e) { print("请求取消:${e.message}"); } // 取消单个请求(需保留外部传入的cancelToken) cancelToken.cancel("用户手动取消"); // 或通过requestId取消(如果需要) // DioHelper.instance.cancelRequest(requestId); // 页面销毁时取消所有请求 @override void dispose() { DioHelper.instance.cancelAllRequests(); // 批量取消 super.dispose(); } ```