Browse Source
refactor(network): 移除冗余的 home_api.g.dart 文件
refactor(network): 移除冗余的 home_api.g.dart 文件
- 删除了由 RetrofitGenerator 生成的 _HomeApi 类实现 - 清理了不再使用的 Dio 请求封装逻辑 - 移除了过时的错误日志记录机制 chore(deps): 更新 pubspec.lock 中所有依赖源地址 - 将所有依赖包的下载源从 pub.dev 更改为 pub.flutter-io.cn - 提升国内构建速度和稳定性 - 确保依赖解析的一致性 fix(live): 修正礼物弹窗用户 ID 类型不一致问题 - 统一 targetUserId 参数类型为 int? - 修改 _selectedUserId 变量类型为 int? - 调整 _toggleUserSelection 方法参数类型 - 更新用户选中状态判断条件 - 优化空值处理逻辑避免运行时异常 - 修复展示用户列表时 uid 使用错误问题ios
8 changed files with 234 additions and 2027 deletions
Split View
Diff Options
-
12lib/controller/discover/room_controller.dart
-
4lib/controller/discover/svga_player_manager.dart
-
96lib/network/home_api.g.dart
-
464lib/network/rtc_api.g.dart
-
1229lib/network/user_api.g.dart
-
14lib/widget/live/live_gift_popup.dart
-
6lib/widget/live/live_room_anchor_showcase.dart
-
436pubspec.lock
@ -1,96 +0,0 @@ |
|||
// GENERATED CODE - DO NOT MODIFY BY HAND |
|||
|
|||
part of 'home_api.dart'; |
|||
|
|||
// dart format off |
|||
|
|||
// ************************************************************************** |
|||
// RetrofitGenerator |
|||
// ************************************************************************** |
|||
|
|||
// ignore_for_file: unnecessary_brace_in_string_interps,no_leading_underscores_for_local_identifiers,unused_element,unnecessary_string_interpolations,unused_element_parameter |
|||
|
|||
class _HomeApi implements HomeApi { |
|||
_HomeApi(this._dio, {this.baseUrl, this.errorLogger}); |
|||
|
|||
final Dio _dio; |
|||
|
|||
String? baseUrl; |
|||
|
|||
final ParseErrorLogger? errorLogger; |
|||
|
|||
@override |
|||
Future<HttpResponse<BaseResponse<PaginatedResponse<dynamic>>>> |
|||
getMarriageList({ |
|||
required int pageNum, |
|||
required int pageSize, |
|||
required int type, |
|||
}) async { |
|||
final _extra = <String, dynamic>{}; |
|||
final queryParameters = <String, dynamic>{ |
|||
r'pageNum': pageNum, |
|||
r'pageSize': pageSize, |
|||
r'type': type, |
|||
}; |
|||
final _headers = <String, dynamic>{}; |
|||
const Map<String, dynamic>? _data = null; |
|||
final _options = |
|||
_setStreamType<HttpResponse<BaseResponse<PaginatedResponse<dynamic>>>>( |
|||
Options(method: 'GET', headers: _headers, extra: _extra) |
|||
.compose( |
|||
_dio.options, |
|||
'dating-agency-service/user/page/dongwo/marriage-information', |
|||
queryParameters: queryParameters, |
|||
data: _data, |
|||
) |
|||
.copyWith( |
|||
baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl), |
|||
), |
|||
); |
|||
final _result = await _dio.fetch<Map<String, dynamic>>(_options); |
|||
late BaseResponse<PaginatedResponse<dynamic>> _value; |
|||
try { |
|||
_value = BaseResponse<PaginatedResponse<dynamic>>.fromJson( |
|||
_result.data!, |
|||
(json) => PaginatedResponse<dynamic>.fromJson( |
|||
json as Map<String, dynamic>, |
|||
(json) => json as dynamic, |
|||
), |
|||
); |
|||
} on Object catch (e, s) { |
|||
errorLogger?.logError(e, s, _options, _result); |
|||
rethrow; |
|||
} |
|||
final httpResponse = HttpResponse(_value, _result); |
|||
return httpResponse; |
|||
} |
|||
|
|||
RequestOptions _setStreamType<T>(RequestOptions requestOptions) { |
|||
if (T != dynamic && |
|||
!(requestOptions.responseType == ResponseType.bytes || |
|||
requestOptions.responseType == ResponseType.stream)) { |
|||
if (T == String) { |
|||
requestOptions.responseType = ResponseType.plain; |
|||
} else { |
|||
requestOptions.responseType = ResponseType.json; |
|||
} |
|||
} |
|||
return requestOptions; |
|||
} |
|||
|
|||
String _combineBaseUrls(String dioBaseUrl, String? baseUrl) { |
|||
if (baseUrl == null || baseUrl.trim().isEmpty) { |
|||
return dioBaseUrl; |
|||
} |
|||
|
|||
final url = Uri.parse(baseUrl); |
|||
|
|||
if (url.isAbsolute) { |
|||
return url.toString(); |
|||
} |
|||
|
|||
return Uri.parse(dioBaseUrl).resolveUri(url).toString(); |
|||
} |
|||
} |
|||
|
|||
// dart format on |
|||
@ -1,464 +0,0 @@ |
|||
// GENERATED CODE - DO NOT MODIFY BY HAND |
|||
|
|||
part of 'rtc_api.dart'; |
|||
|
|||
// dart format off |
|||
|
|||
// ************************************************************************** |
|||
// RetrofitGenerator |
|||
// ************************************************************************** |
|||
|
|||
// ignore_for_file: unnecessary_brace_in_string_interps,no_leading_underscores_for_local_identifiers,unused_element,unnecessary_string_interpolations,unused_element_parameter |
|||
|
|||
class _RtcApi implements RtcApi { |
|||
_RtcApi(this._dio, {this.baseUrl, this.errorLogger}); |
|||
|
|||
final Dio _dio; |
|||
|
|||
String? baseUrl; |
|||
|
|||
final ParseErrorLogger? errorLogger; |
|||
|
|||
@override |
|||
Future<HttpResponse<BaseResponse<RtcChannelData>>> getSwRtcToken( |
|||
String channelId, |
|||
) async { |
|||
final _extra = <String, dynamic>{}; |
|||
final queryParameters = <String, dynamic>{r'channelId': channelId}; |
|||
final _headers = <String, dynamic>{}; |
|||
const Map<String, dynamic>? _data = null; |
|||
final _options = _setStreamType<HttpResponse<BaseResponse<RtcChannelData>>>( |
|||
Options(method: 'GET', headers: _headers, extra: _extra) |
|||
.compose( |
|||
_dio.options, |
|||
'dating-agency-chat-audio/user/get/sw/rtc/token', |
|||
queryParameters: queryParameters, |
|||
data: _data, |
|||
) |
|||
.copyWith(baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl)), |
|||
); |
|||
final _result = await _dio.fetch<Map<String, dynamic>>(_options); |
|||
late BaseResponse<RtcChannelData> _value; |
|||
try { |
|||
_value = BaseResponse<RtcChannelData>.fromJson( |
|||
_result.data!, |
|||
(json) => RtcChannelData.fromJson(json as Map<String, dynamic>), |
|||
); |
|||
} on Object catch (e, s) { |
|||
errorLogger?.logError(e, s, _options, _result); |
|||
rethrow; |
|||
} |
|||
final httpResponse = HttpResponse(_value, _result); |
|||
return httpResponse; |
|||
} |
|||
|
|||
@override |
|||
Future<HttpResponse<BaseResponse<RtcChannelData>>> getSwRtmToken() async { |
|||
final _extra = <String, dynamic>{}; |
|||
final queryParameters = <String, dynamic>{}; |
|||
final _headers = <String, dynamic>{}; |
|||
const Map<String, dynamic>? _data = null; |
|||
final _options = _setStreamType<HttpResponse<BaseResponse<RtcChannelData>>>( |
|||
Options(method: 'GET', headers: _headers, extra: _extra) |
|||
.compose( |
|||
_dio.options, |
|||
'dating-agency-chat-audio/user/get/sw/rtm/token', |
|||
queryParameters: queryParameters, |
|||
data: _data, |
|||
) |
|||
.copyWith(baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl)), |
|||
); |
|||
final _result = await _dio.fetch<Map<String, dynamic>>(_options); |
|||
late BaseResponse<RtcChannelData> _value; |
|||
try { |
|||
_value = BaseResponse<RtcChannelData>.fromJson( |
|||
_result.data!, |
|||
(json) => RtcChannelData.fromJson(json as Map<String, dynamic>), |
|||
); |
|||
} on Object catch (e, s) { |
|||
errorLogger?.logError(e, s, _options, _result); |
|||
rethrow; |
|||
} |
|||
final httpResponse = HttpResponse(_value, _result); |
|||
return httpResponse; |
|||
} |
|||
|
|||
@override |
|||
Future<HttpResponse<BaseResponse<RtcChannelData>>> createRtcChannel() async { |
|||
final _extra = <String, dynamic>{}; |
|||
final queryParameters = <String, dynamic>{}; |
|||
final _headers = <String, dynamic>{}; |
|||
const Map<String, dynamic>? _data = null; |
|||
final _options = _setStreamType<HttpResponse<BaseResponse<RtcChannelData>>>( |
|||
Options(method: 'POST', headers: _headers, extra: _extra) |
|||
.compose( |
|||
_dio.options, |
|||
'dating-agency-chat-audio/user/create/rtc-channel', |
|||
queryParameters: queryParameters, |
|||
data: _data, |
|||
) |
|||
.copyWith(baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl)), |
|||
); |
|||
final _result = await _dio.fetch<Map<String, dynamic>>(_options); |
|||
late BaseResponse<RtcChannelData> _value; |
|||
try { |
|||
_value = BaseResponse<RtcChannelData>.fromJson( |
|||
_result.data!, |
|||
(json) => RtcChannelData.fromJson(json as Map<String, dynamic>), |
|||
); |
|||
} on Object catch (e, s) { |
|||
errorLogger?.logError(e, s, _options, _result); |
|||
rethrow; |
|||
} |
|||
final httpResponse = HttpResponse(_value, _result); |
|||
return httpResponse; |
|||
} |
|||
|
|||
@override |
|||
Future<HttpResponse<BaseResponse<RtcChannelDetail>>> getRtcChannelDetail( |
|||
String channelId, |
|||
) async { |
|||
final _extra = <String, dynamic>{}; |
|||
final queryParameters = <String, dynamic>{r'channelId': channelId}; |
|||
final _headers = <String, dynamic>{}; |
|||
const Map<String, dynamic>? _data = null; |
|||
final _options = |
|||
_setStreamType<HttpResponse<BaseResponse<RtcChannelDetail>>>( |
|||
Options(method: 'GET', headers: _headers, extra: _extra) |
|||
.compose( |
|||
_dio.options, |
|||
'dating-agency-chat-audio/user/get/dating-rtc-channel/detail', |
|||
queryParameters: queryParameters, |
|||
data: _data, |
|||
) |
|||
.copyWith( |
|||
baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl), |
|||
), |
|||
); |
|||
final _result = await _dio.fetch<Map<String, dynamic>>(_options); |
|||
late BaseResponse<RtcChannelDetail> _value; |
|||
try { |
|||
_value = BaseResponse<RtcChannelDetail>.fromJson( |
|||
_result.data!, |
|||
(json) => RtcChannelDetail.fromJson(json as Map<String, dynamic>), |
|||
); |
|||
} on Object catch (e, s) { |
|||
errorLogger?.logError(e, s, _options, _result); |
|||
rethrow; |
|||
} |
|||
final httpResponse = HttpResponse(_value, _result); |
|||
return httpResponse; |
|||
} |
|||
|
|||
@override |
|||
Future<HttpResponse<BaseResponse<dynamic>>> connectRtcChannel( |
|||
Map<String, dynamic> data, |
|||
) async { |
|||
final _extra = <String, dynamic>{}; |
|||
final queryParameters = <String, dynamic>{}; |
|||
final _headers = <String, dynamic>{}; |
|||
final _data = <String, dynamic>{}; |
|||
_data.addAll(data); |
|||
final _options = _setStreamType<HttpResponse<BaseResponse<dynamic>>>( |
|||
Options(method: 'POST', headers: _headers, extra: _extra) |
|||
.compose( |
|||
_dio.options, |
|||
'dating-agency-chat-audio/user/connect/rtc-channel', |
|||
queryParameters: queryParameters, |
|||
data: _data, |
|||
) |
|||
.copyWith(baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl)), |
|||
); |
|||
final _result = await _dio.fetch<Map<String, dynamic>>(_options); |
|||
late BaseResponse<dynamic> _value; |
|||
try { |
|||
_value = BaseResponse<dynamic>.fromJson( |
|||
_result.data!, |
|||
(json) => json as dynamic, |
|||
); |
|||
} on Object catch (e, s) { |
|||
errorLogger?.logError(e, s, _options, _result); |
|||
rethrow; |
|||
} |
|||
final httpResponse = HttpResponse(_value, _result); |
|||
return httpResponse; |
|||
} |
|||
|
|||
@override |
|||
Future<HttpResponse<BaseResponse<RtcSeatUserInfo>>> |
|||
getDatingRtcChannelUserDetail(String channelId, int uId) async { |
|||
final _extra = <String, dynamic>{}; |
|||
final queryParameters = <String, dynamic>{ |
|||
r'channelId': channelId, |
|||
r'uId': uId, |
|||
}; |
|||
final _headers = <String, dynamic>{}; |
|||
const Map<String, dynamic>? _data = null; |
|||
final _options = _setStreamType<HttpResponse<BaseResponse<RtcSeatUserInfo>>>( |
|||
Options(method: 'GET', headers: _headers, extra: _extra) |
|||
.compose( |
|||
_dio.options, |
|||
'dating-agency-chat-audio/user/get/dating-rtc-channel-user/detail', |
|||
queryParameters: queryParameters, |
|||
data: _data, |
|||
) |
|||
.copyWith(baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl)), |
|||
); |
|||
final _result = await _dio.fetch<Map<String, dynamic>>(_options); |
|||
late BaseResponse<RtcSeatUserInfo> _value; |
|||
try { |
|||
_value = BaseResponse<RtcSeatUserInfo>.fromJson( |
|||
_result.data!, |
|||
(json) => RtcSeatUserInfo.fromJson(json as Map<String, dynamic>), |
|||
); |
|||
} on Object catch (e, s) { |
|||
errorLogger?.logError(e, s, _options, _result); |
|||
rethrow; |
|||
} |
|||
final httpResponse = HttpResponse(_value, _result); |
|||
return httpResponse; |
|||
} |
|||
|
|||
@override |
|||
Future<HttpResponse<BaseResponse<dynamic>>> enableRtcChannelUserAudio( |
|||
Map<String, dynamic> data, |
|||
) async { |
|||
final _extra = <String, dynamic>{}; |
|||
final queryParameters = <String, dynamic>{}; |
|||
final _headers = <String, dynamic>{}; |
|||
final _data = <String, dynamic>{}; |
|||
_data.addAll(data); |
|||
final _options = _setStreamType<HttpResponse<BaseResponse<dynamic>>>( |
|||
Options(method: 'POST', headers: _headers, extra: _extra) |
|||
.compose( |
|||
_dio.options, |
|||
'dating-agency-chat-audio/user/enable/rtc-channel-user/audio', |
|||
queryParameters: queryParameters, |
|||
data: _data, |
|||
) |
|||
.copyWith(baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl)), |
|||
); |
|||
final _result = await _dio.fetch<Map<String, dynamic>>(_options); |
|||
late BaseResponse<dynamic> _value; |
|||
try { |
|||
_value = BaseResponse<dynamic>.fromJson( |
|||
_result.data!, |
|||
(json) => json as dynamic, |
|||
); |
|||
} on Object catch (e, s) { |
|||
errorLogger?.logError(e, s, _options, _result); |
|||
rethrow; |
|||
} |
|||
final httpResponse = HttpResponse(_value, _result); |
|||
return httpResponse; |
|||
} |
|||
|
|||
@override |
|||
Future<HttpResponse<BaseResponse<dynamic>>> disconnectRtcChannel( |
|||
Map<String, dynamic> data, |
|||
) async { |
|||
final _extra = <String, dynamic>{}; |
|||
final queryParameters = <String, dynamic>{}; |
|||
final _headers = <String, dynamic>{}; |
|||
final _data = <String, dynamic>{}; |
|||
_data.addAll(data); |
|||
final _options = _setStreamType<HttpResponse<BaseResponse<dynamic>>>( |
|||
Options(method: 'POST', headers: _headers, extra: _extra) |
|||
.compose( |
|||
_dio.options, |
|||
'dating-agency-chat-audio/user/disconnect/rtc-channel', |
|||
queryParameters: queryParameters, |
|||
data: _data, |
|||
) |
|||
.copyWith(baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl)), |
|||
); |
|||
final _result = await _dio.fetch<Map<String, dynamic>>(_options); |
|||
late BaseResponse<dynamic> _value; |
|||
try { |
|||
_value = BaseResponse<dynamic>.fromJson( |
|||
_result.data!, |
|||
(json) => json as dynamic, |
|||
); |
|||
} on Object catch (e, s) { |
|||
errorLogger?.logError(e, s, _options, _result); |
|||
rethrow; |
|||
} |
|||
final httpResponse = HttpResponse(_value, _result); |
|||
return httpResponse; |
|||
} |
|||
|
|||
@override |
|||
Future<HttpResponse<BaseResponse<dynamic>>> destroyRtcChannel() async { |
|||
final _extra = <String, dynamic>{}; |
|||
final queryParameters = <String, dynamic>{}; |
|||
final _headers = <String, dynamic>{}; |
|||
const Map<String, dynamic>? _data = null; |
|||
final _options = _setStreamType<HttpResponse<BaseResponse<dynamic>>>( |
|||
Options(method: 'POST', headers: _headers, extra: _extra) |
|||
.compose( |
|||
_dio.options, |
|||
'dating-agency-chat-audio/user/destroy/rtc-channel', |
|||
queryParameters: queryParameters, |
|||
data: _data, |
|||
) |
|||
.copyWith(baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl)), |
|||
); |
|||
final _result = await _dio.fetch<Map<String, dynamic>>(_options); |
|||
late BaseResponse<dynamic> _value; |
|||
try { |
|||
_value = BaseResponse<dynamic>.fromJson( |
|||
_result.data!, |
|||
(json) => json as dynamic, |
|||
); |
|||
} on Object catch (e, s) { |
|||
errorLogger?.logError(e, s, _options, _result); |
|||
rethrow; |
|||
} |
|||
final httpResponse = HttpResponse(_value, _result); |
|||
return httpResponse; |
|||
} |
|||
|
|||
@override |
|||
Future<HttpResponse<BaseResponse<PaginatedResponse<RtcChannelModel>>>> |
|||
getRtcChannelPage() async { |
|||
final _extra = <String, dynamic>{}; |
|||
final queryParameters = <String, dynamic>{}; |
|||
final _headers = <String, dynamic>{}; |
|||
const Map<String, dynamic>? _data = null; |
|||
final _options = |
|||
_setStreamType< |
|||
HttpResponse<BaseResponse<PaginatedResponse<RtcChannelModel>>> |
|||
>( |
|||
Options(method: 'GET', headers: _headers, extra: _extra) |
|||
.compose( |
|||
_dio.options, |
|||
'dating-agency-chat-audio/user/page/rtc-channel', |
|||
queryParameters: queryParameters, |
|||
data: _data, |
|||
) |
|||
.copyWith( |
|||
baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl), |
|||
), |
|||
); |
|||
final _result = await _dio.fetch<Map<String, dynamic>>(_options); |
|||
late BaseResponse<PaginatedResponse<RtcChannelModel>> _value; |
|||
try { |
|||
_value = BaseResponse<PaginatedResponse<RtcChannelModel>>.fromJson( |
|||
_result.data!, |
|||
(json) => PaginatedResponse<RtcChannelModel>.fromJson( |
|||
json as Map<String, dynamic>, |
|||
(json) => RtcChannelModel.fromJson(json as Map<String, dynamic>), |
|||
), |
|||
); |
|||
} on Object catch (e, s) { |
|||
errorLogger?.logError(e, s, _options, _result); |
|||
rethrow; |
|||
} |
|||
final httpResponse = HttpResponse(_value, _result); |
|||
return httpResponse; |
|||
} |
|||
|
|||
@override |
|||
Future<HttpResponse<BaseResponse<List<GiftProductModel>>>> |
|||
listGiftProduct() async { |
|||
final _extra = <String, dynamic>{}; |
|||
final queryParameters = <String, dynamic>{}; |
|||
final _headers = <String, dynamic>{}; |
|||
const Map<String, dynamic>? _data = null; |
|||
final _options = |
|||
_setStreamType<HttpResponse<BaseResponse<List<GiftProductModel>>>>( |
|||
Options(method: 'GET', headers: _headers, extra: _extra) |
|||
.compose( |
|||
_dio.options, |
|||
'dating-agency-mall/user/list/gift-product', |
|||
queryParameters: queryParameters, |
|||
data: _data, |
|||
) |
|||
.copyWith( |
|||
baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl), |
|||
), |
|||
); |
|||
final _result = await _dio.fetch<Map<String, dynamic>>(_options); |
|||
late BaseResponse<List<GiftProductModel>> _value; |
|||
try { |
|||
_value = BaseResponse<List<GiftProductModel>>.fromJson( |
|||
_result.data!, |
|||
(json) => json is List<dynamic> |
|||
? json |
|||
.map<GiftProductModel>( |
|||
(i) => GiftProductModel.fromJson(i as Map<String, dynamic>), |
|||
) |
|||
.toList() |
|||
: List.empty(), |
|||
); |
|||
} on Object catch (e, s) { |
|||
errorLogger?.logError(e, s, _options, _result); |
|||
rethrow; |
|||
} |
|||
final httpResponse = HttpResponse(_value, _result); |
|||
return httpResponse; |
|||
} |
|||
|
|||
@override |
|||
Future<HttpResponse<BaseResponse<dynamic>>> costChannelGift( |
|||
Map<String, dynamic> data, |
|||
) async { |
|||
final _extra = <String, dynamic>{}; |
|||
final queryParameters = <String, dynamic>{}; |
|||
final _headers = <String, dynamic>{}; |
|||
final _data = <String, dynamic>{}; |
|||
_data.addAll(data); |
|||
final _options = _setStreamType<HttpResponse<BaseResponse<dynamic>>>( |
|||
Options(method: 'POST', headers: _headers, extra: _extra) |
|||
.compose( |
|||
_dio.options, |
|||
'dating-agency-chat-audio/user/cost/channel-gift', |
|||
queryParameters: queryParameters, |
|||
data: _data, |
|||
) |
|||
.copyWith(baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl)), |
|||
); |
|||
final _result = await _dio.fetch<Map<String, dynamic>>(_options); |
|||
late BaseResponse<dynamic> _value; |
|||
try { |
|||
_value = BaseResponse<dynamic>.fromJson( |
|||
_result.data!, |
|||
(json) => json as dynamic, |
|||
); |
|||
} on Object catch (e, s) { |
|||
errorLogger?.logError(e, s, _options, _result); |
|||
rethrow; |
|||
} |
|||
final httpResponse = HttpResponse(_value, _result); |
|||
return httpResponse; |
|||
} |
|||
|
|||
RequestOptions _setStreamType<T>(RequestOptions requestOptions) { |
|||
if (T != dynamic && |
|||
!(requestOptions.responseType == ResponseType.bytes || |
|||
requestOptions.responseType == ResponseType.stream)) { |
|||
if (T == String) { |
|||
requestOptions.responseType = ResponseType.plain; |
|||
} else { |
|||
requestOptions.responseType = ResponseType.json; |
|||
} |
|||
} |
|||
return requestOptions; |
|||
} |
|||
|
|||
String _combineBaseUrls(String dioBaseUrl, String? baseUrl) { |
|||
if (baseUrl == null || baseUrl.trim().isEmpty) { |
|||
return dioBaseUrl; |
|||
} |
|||
|
|||
final url = Uri.parse(baseUrl); |
|||
|
|||
if (url.isAbsolute) { |
|||
return url.toString(); |
|||
} |
|||
|
|||
return Uri.parse(dioBaseUrl).resolveUri(url).toString(); |
|||
} |
|||
} |
|||
|
|||
// dart format on |
|||
1229
lib/network/user_api.g.dart
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
436
pubspec.lock
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
Write
Preview
Loading…
Cancel
Save