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