wip: upgrade dependencies; fix type error of http error handler
This commit is contained in:
@@ -46,9 +46,9 @@ class Api {
|
||||
}
|
||||
}
|
||||
|
||||
static HandleRespBuild<T> _handleRespBuild<T>(BeanBuilder<T> builder) => (http.Response resp) {
|
||||
static HandleRespBuild<T?> _handleRespBuild<T>(BeanBuilder<T> builder) => (http.Response resp) {
|
||||
if (builder is GetStatusCodeFunc) return builder({"statusCode": resp.statusCode});
|
||||
T res;
|
||||
T? res;
|
||||
try {
|
||||
var decodeBody = json.decode(utf8.decode(resp.bodyBytes));
|
||||
res = decodeBody is Map ? builder(decodeBody) : builder({'list': decodeBody});
|
||||
@@ -59,7 +59,7 @@ class Api {
|
||||
return res;
|
||||
};
|
||||
|
||||
static Future<T> _get<T>(
|
||||
static Future<T?> _get<T>(
|
||||
String path,
|
||||
BeanBuilder<T> builder, {
|
||||
Map<String, dynamic>? queryParams,
|
||||
@@ -80,7 +80,7 @@ class Api {
|
||||
}..addAll(
|
||||
ignoreToken ? {} : {HttpHeaders.authorizationHeader: 'Bearer ${H().sp.getString(SPKeys.accessToken)}'}),
|
||||
)
|
||||
.then(
|
||||
.then<T?>(
|
||||
_handleRespBuild<T>(builder),
|
||||
onError: (e) {
|
||||
if (ignoreErrorHandle)
|
||||
@@ -90,7 +90,7 @@ class Api {
|
||||
},
|
||||
);
|
||||
|
||||
static Future<T> _post<T>(
|
||||
static Future<T?> _post<T>(
|
||||
String path,
|
||||
BeanBuilder<T> builder, {
|
||||
Map<String, dynamic>? body,
|
||||
@@ -111,7 +111,7 @@ class Api {
|
||||
}..addAll(
|
||||
ignoreToken ? {} : {HttpHeaders.authorizationHeader: 'Bearer ${H().sp.getString(SPKeys.accessToken)}'}),
|
||||
)
|
||||
.then(
|
||||
.then<T?>(
|
||||
_handleRespBuild<T>(builder),
|
||||
onError: (e) {
|
||||
if (ignoreErrorHandle)
|
||||
@@ -159,18 +159,17 @@ class Api {
|
||||
),
|
||||
).then((value) => value == HttpStatus.noContent);
|
||||
|
||||
static Future<List<SimpleSchemeTransMetaData>> userSchemes({required SchemeListType type}) =>
|
||||
static Future<List<SimpleSchemeTransMetaData>?> userSchemes({required SchemeListType type}) =>
|
||||
_get(Apis.scheme.user(type: type.name.param), listRespBuilderWrap(SimpleSchemeTransMetaDataSerializer.fromMap));
|
||||
|
||||
static Future<bool> likeScheme({required String schemeId, required bool isLike}) => _get(
|
||||
Apis.scheme.like(schemeId: schemeId.param, isLike: StringParam(isLike ? 'like' : 'unlike')),
|
||||
getStatusCodeFunc)
|
||||
.then((value) {
|
||||
123.sout();
|
||||
return value == HttpStatus.noContent;
|
||||
});
|
||||
|
||||
static Future<SchemeForDownload> downloadScheme({required String schemeId}) => _get(
|
||||
static Future<SchemeForDownload?> downloadScheme({required String schemeId}) => _get(
|
||||
Apis.scheme.download(schemeId: schemeId.param),
|
||||
SchemeForDownloadSerializer.fromMap,
|
||||
);
|
||||
|
||||
@@ -35,7 +35,7 @@ class _MeWidgetState extends State<MeWidget> {
|
||||
void initState() {
|
||||
super.initState();
|
||||
Api.userSchemes(type: _type).then((value) {
|
||||
if (mounted)
|
||||
if (mounted && value != null)
|
||||
setState(() {
|
||||
_schemes = value;
|
||||
_selected = value.isNotEmpty ? value.first.uuid : null;
|
||||
@@ -53,7 +53,7 @@ class _MeWidgetState extends State<MeWidget> {
|
||||
_refreshList() {
|
||||
Future.delayed(const Duration(milliseconds: 100), () {
|
||||
Api.userSchemes(type: _type).then((value) {
|
||||
if (mounted)
|
||||
if (mounted && value != null)
|
||||
setState(() {
|
||||
_schemes = value;
|
||||
});
|
||||
@@ -108,9 +108,10 @@ class _MeWidgetState extends State<MeWidget> {
|
||||
_type = e;
|
||||
});
|
||||
Api.userSchemes(type: e).then((value) {
|
||||
if (mounted)
|
||||
if (mounted && value != null)
|
||||
setState(() {
|
||||
_schemes = value;
|
||||
_selected = value.first.uuid;
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
@@ -57,9 +57,6 @@ dev_dependencies:
|
||||
build_runner: 2.1.2
|
||||
source_gen: 1.1.0
|
||||
|
||||
dependency_overrides:
|
||||
angel3_orm:
|
||||
path: ../api/3rd_party/angel3_orm
|
||||
|
||||
# For information on the generic Dart part of this file, see the
|
||||
# following page: https://dart.dev/tools/pub/pubspec
|
||||
|
||||
Reference in New Issue
Block a user