修复iOS平台channel传递的数据类型错误问题 (#29)

* fix bug: _CastError (type '_InternalLinkedHashMap<dynamic, dynamic>' is not a subtype of type 'Map<String, dynamic>' in type cast)

* fix _CastError (type '_InternalLinkedHashMap<dynamic, dynamic>' is not a subtype of type 'Map<String, dynamic>' in type cast)
This commit is contained in:
Stellar 2021-04-15 21:17:55 +08:00 committed by GitHub
parent 50ffb9c867
commit 8b4643871d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -71,12 +71,12 @@ class Weibo {
Future<dynamic> _handleMethod(MethodCall call) async {
switch (call.method) {
case _METHOD_ONAUTHRESP:
_authRespStreamController.add(
WeiboAuthResp.fromJson(call.arguments as Map<String, dynamic>));
_authRespStreamController.add(WeiboAuthResp.fromJson(
(call.arguments as Map<dynamic, dynamic>).cast<String, dynamic>()));
break;
case _METHOD_ONSHAREMSGRESP:
_shareMsgRespStreamController
.add(WeiboSdkResp.fromJson(call.arguments as Map<String, dynamic>));
_shareMsgRespStreamController.add(WeiboSdkResp.fromJson(
(call.arguments as Map<dynamic, dynamic>).cast<String, dynamic>()));
break;
}
}
@ -129,7 +129,8 @@ class Weibo {
if (response.statusCode == HttpStatus.ok) {
final String content = await utf8.decodeStream(response);
return WeiboUserInfoResp.fromJson(
json.decode(content) as Map<String, dynamic>);
(json.decode(content) as Map<dynamic, dynamic>)
.cast<String, dynamic>());
}
throw HttpException(
'HttpResponse statusCode: ${response.statusCode}, reasonPhrase: ${response.reasonPhrase}.');