mirror of
https://github.com/RxReader/tencent_kit.git
synced 2025-05-22 01:36:15 +08:00
feature 5.0.0
This commit is contained in:
@ -6,8 +6,8 @@ part of 'tencent_api_resp.dart';
|
||||
// JsonSerializableGenerator
|
||||
// **************************************************************************
|
||||
|
||||
TencentUserInfoResp _$TencentUserInfoRespFromJson(Map<String, dynamic> json) {
|
||||
return TencentUserInfoResp(
|
||||
TencentUserInfoResp _$TencentUserInfoRespFromJson(Map<String, dynamic> json) =>
|
||||
TencentUserInfoResp(
|
||||
ret: json['ret'] as int? ?? 0,
|
||||
msg: json['msg'] as String?,
|
||||
isLost: json['is_lost'] as int?,
|
||||
@ -31,7 +31,6 @@ TencentUserInfoResp _$TencentUserInfoRespFromJson(Map<String, dynamic> json) {
|
||||
level: json['level'] as String?,
|
||||
isYellowYearVip: json['is_yellow_year_vip'] as String?,
|
||||
);
|
||||
}
|
||||
|
||||
Map<String, dynamic> _$TencentUserInfoRespToJson(
|
||||
TencentUserInfoResp instance) =>
|
||||
|
@ -6,15 +6,14 @@ part of 'tencent_unionid_resp.dart';
|
||||
// JsonSerializableGenerator
|
||||
// **************************************************************************
|
||||
|
||||
TencentUnionidResp _$TencentUnionidRespFromJson(Map<String, dynamic> json) {
|
||||
return TencentUnionidResp(
|
||||
TencentUnionidResp _$TencentUnionidRespFromJson(Map<String, dynamic> json) =>
|
||||
TencentUnionidResp(
|
||||
error: json['error'] as int? ?? 0,
|
||||
errorDescription: json['error_description'] as String?,
|
||||
clientId: json['client_id'] as String?,
|
||||
openid: json['openid'] as String?,
|
||||
unionid: json['unionid'] as String?,
|
||||
);
|
||||
}
|
||||
|
||||
Map<String, dynamic> _$TencentUnionidRespToJson(TencentUnionidResp instance) =>
|
||||
<String, dynamic>{
|
||||
|
@ -40,9 +40,9 @@ class Home extends StatefulWidget {
|
||||
}
|
||||
|
||||
class _HomeState extends State<Home> {
|
||||
late final StreamSubscription<BaseResp> _respSubs;
|
||||
late final StreamSubscription<TencentResp> _respSubs;
|
||||
|
||||
LoginResp? _loginResp;
|
||||
TencentLoginResp? _loginResp;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
@ -50,12 +50,12 @@ class _HomeState extends State<Home> {
|
||||
_respSubs = TencentKitPlatform.instance.respStream().listen(_listenLogin);
|
||||
}
|
||||
|
||||
void _listenLogin(BaseResp resp) {
|
||||
if (resp is LoginResp) {
|
||||
void _listenLogin(TencentResp resp) {
|
||||
if (resp is TencentLoginResp) {
|
||||
_loginResp = resp;
|
||||
final String content = 'login: ${resp.openid} - ${resp.accessToken}';
|
||||
_showTips('登录', content);
|
||||
} else if (resp is ShareMsgResp) {
|
||||
} else if (resp is TencentShareMsgResp) {
|
||||
final String content = 'share: ${resp.ret} - ${resp.msg}';
|
||||
_showTips('分享', content);
|
||||
}
|
||||
|
@ -4,8 +4,8 @@ import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
part 'resp.g.dart';
|
||||
|
||||
abstract class BaseResp {
|
||||
const BaseResp({
|
||||
abstract class TencentResp {
|
||||
const TencentResp({
|
||||
required this.ret,
|
||||
this.msg,
|
||||
});
|
||||
@ -41,8 +41,8 @@ abstract class BaseResp {
|
||||
explicitToJson: true,
|
||||
fieldRename: FieldRename.snake,
|
||||
)
|
||||
class LoginResp extends BaseResp {
|
||||
const LoginResp({
|
||||
class TencentLoginResp extends TencentResp {
|
||||
const TencentLoginResp({
|
||||
required super.ret,
|
||||
super.msg,
|
||||
this.openid,
|
||||
@ -51,8 +51,8 @@ class LoginResp extends BaseResp {
|
||||
this.createAt,
|
||||
});
|
||||
|
||||
factory LoginResp.fromJson(Map<String, dynamic> json) =>
|
||||
_$LoginRespFromJson(json);
|
||||
factory TencentLoginResp.fromJson(Map<String, dynamic> json) =>
|
||||
_$TencentLoginRespFromJson(json);
|
||||
|
||||
final String? openid;
|
||||
final String? accessToken;
|
||||
@ -64,22 +64,22 @@ class LoginResp extends BaseResp {
|
||||
: null;
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toJson() => _$LoginRespToJson(this);
|
||||
Map<String, dynamic> toJson() => _$TencentLoginRespToJson(this);
|
||||
}
|
||||
|
||||
@JsonSerializable(
|
||||
explicitToJson: true,
|
||||
fieldRename: FieldRename.snake,
|
||||
)
|
||||
class ShareMsgResp extends BaseResp {
|
||||
const ShareMsgResp({
|
||||
class TencentShareMsgResp extends TencentResp {
|
||||
const TencentShareMsgResp({
|
||||
required super.ret,
|
||||
super.msg,
|
||||
});
|
||||
|
||||
factory ShareMsgResp.fromJson(Map<String, dynamic> json) =>
|
||||
_$ShareMsgRespFromJson(json);
|
||||
factory TencentShareMsgResp.fromJson(Map<String, dynamic> json) =>
|
||||
_$TencentShareMsgRespFromJson(json);
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toJson() => _$ShareMsgRespToJson(this);
|
||||
Map<String, dynamic> toJson() => _$TencentShareMsgRespToJson(this);
|
||||
}
|
||||
|
@ -6,8 +6,8 @@ part of 'resp.dart';
|
||||
// JsonSerializableGenerator
|
||||
// **************************************************************************
|
||||
|
||||
LoginResp _$LoginRespFromJson(Map<String, dynamic> json) {
|
||||
return LoginResp(
|
||||
TencentLoginResp _$TencentLoginRespFromJson(Map<String, dynamic> json) =>
|
||||
TencentLoginResp(
|
||||
ret: json['ret'] as int? ?? 0,
|
||||
msg: json['msg'] as String?,
|
||||
openid: json['openid'] as String?,
|
||||
@ -15,9 +15,9 @@ LoginResp _$LoginRespFromJson(Map<String, dynamic> json) {
|
||||
expiresIn: json['expires_in'] as int?,
|
||||
createAt: json['create_at'] as int?,
|
||||
);
|
||||
}
|
||||
|
||||
Map<String, dynamic> _$LoginRespToJson(LoginResp instance) => <String, dynamic>{
|
||||
Map<String, dynamic> _$TencentLoginRespToJson(TencentLoginResp instance) =>
|
||||
<String, dynamic>{
|
||||
'ret': instance.ret,
|
||||
'msg': instance.msg,
|
||||
'openid': instance.openid,
|
||||
@ -26,14 +26,14 @@ Map<String, dynamic> _$LoginRespToJson(LoginResp instance) => <String, dynamic>{
|
||||
'create_at': instance.createAt,
|
||||
};
|
||||
|
||||
ShareMsgResp _$ShareMsgRespFromJson(Map<String, dynamic> json) {
|
||||
return ShareMsgResp(
|
||||
TencentShareMsgResp _$TencentShareMsgRespFromJson(Map<String, dynamic> json) =>
|
||||
TencentShareMsgResp(
|
||||
ret: json['ret'] as int? ?? 0,
|
||||
msg: json['msg'] as String?,
|
||||
);
|
||||
}
|
||||
|
||||
Map<String, dynamic> _$ShareMsgRespToJson(ShareMsgResp instance) =>
|
||||
Map<String, dynamic> _$TencentShareMsgRespToJson(
|
||||
TencentShareMsgResp instance) =>
|
||||
<String, dynamic>{
|
||||
'ret': instance.ret,
|
||||
'msg': instance.msg,
|
||||
|
@ -14,17 +14,17 @@ class MethodChannelTencentKit extends TencentKitPlatform {
|
||||
const MethodChannel('v7lin.github.io/tencent_kit')
|
||||
..setMethodCallHandler(_handleMethod);
|
||||
|
||||
final StreamController<BaseResp> _respStreamController =
|
||||
StreamController<BaseResp>.broadcast();
|
||||
final StreamController<TencentResp> _respStreamController =
|
||||
StreamController<TencentResp>.broadcast();
|
||||
|
||||
Future<dynamic> _handleMethod(MethodCall call) async {
|
||||
switch (call.method) {
|
||||
case 'onLoginResp':
|
||||
_respStreamController.add(LoginResp.fromJson(
|
||||
_respStreamController.add(TencentLoginResp.fromJson(
|
||||
(call.arguments as Map<dynamic, dynamic>).cast<String, dynamic>()));
|
||||
break;
|
||||
case 'onShareResp':
|
||||
_respStreamController.add(ShareMsgResp.fromJson(
|
||||
_respStreamController.add(TencentShareMsgResp.fromJson(
|
||||
(call.arguments as Map<dynamic, dynamic>).cast<String, dynamic>()));
|
||||
break;
|
||||
}
|
||||
@ -59,7 +59,7 @@ class MethodChannelTencentKit extends TencentKitPlatform {
|
||||
}
|
||||
|
||||
@override
|
||||
Stream<BaseResp> respStream() {
|
||||
Stream<TencentResp> respStream() {
|
||||
return _respStreamController.stream;
|
||||
}
|
||||
|
||||
|
@ -43,7 +43,7 @@ abstract class TencentKitPlatform extends PlatformInterface {
|
||||
}
|
||||
|
||||
///
|
||||
Stream<BaseResp> respStream() {
|
||||
Stream<TencentResp> respStream() {
|
||||
throw UnimplementedError('respStream() has not been implemented.');
|
||||
}
|
||||
|
||||
|
@ -37,7 +37,7 @@ class MockTencentKitPlatform
|
||||
}
|
||||
|
||||
@override
|
||||
Stream<BaseResp> respStream() {
|
||||
Stream<TencentResp> respStream() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user