96 lines
1.9 KiB
Dart
96 lines
1.9 KiB
Dart
import 'dart:convert';
|
|
|
|
import 'package:json_annotation/json_annotation.dart';
|
|
|
|
part 'resp.g.dart';
|
|
|
|
abstract class BaseResp {
|
|
const BaseResp({
|
|
required this.errorCode,
|
|
this.errorMessage,
|
|
});
|
|
|
|
/// 成功
|
|
static const int SUCCESS = 0;
|
|
|
|
/// 用户取消发送
|
|
static const int USERCANCEL = -1;
|
|
|
|
/// 发送失败
|
|
static const int SENT_FAIL = -2;
|
|
|
|
/// 授权失败
|
|
static const int AUTH_DENY = -3;
|
|
|
|
/// 用户取消安装微博客户端
|
|
static const int USERCANCEL_INSTALL = -4;
|
|
|
|
/// 支付失败
|
|
static const int PAY_FAIL = -5;
|
|
|
|
/// 分享失败 详情见response UserInfo
|
|
static const int SHARE_IN_SDK_FAILED = -8;
|
|
|
|
/// 不支持的请求
|
|
static const int UNSUPPORT = -99;
|
|
|
|
/// 未知
|
|
static const int UNKNOWN = -100;
|
|
|
|
@JsonKey(
|
|
defaultValue: SUCCESS,
|
|
)
|
|
final int errorCode;
|
|
final String? errorMessage;
|
|
|
|
bool get isSuccessful => errorCode == SUCCESS;
|
|
|
|
bool get isCancelled => errorCode == USERCANCEL;
|
|
|
|
Map<String, dynamic> toJson();
|
|
|
|
@override
|
|
String toString() => const JsonEncoder.withIndent(' ').convert(toJson());
|
|
}
|
|
|
|
@JsonSerializable(
|
|
explicitToJson: true,
|
|
)
|
|
class AuthResp extends BaseResp {
|
|
const AuthResp({
|
|
required super.errorCode,
|
|
super.errorMessage,
|
|
this.userId,
|
|
this.accessToken,
|
|
this.refreshToken,
|
|
this.expiresIn,
|
|
});
|
|
|
|
factory AuthResp.fromJson(Map<String, dynamic> json) =>
|
|
_$AuthRespFromJson(json);
|
|
|
|
final String? userId;
|
|
final String? accessToken;
|
|
final String? refreshToken;
|
|
final int? expiresIn;
|
|
|
|
@override
|
|
Map<String, dynamic> toJson() => _$AuthRespToJson(this);
|
|
}
|
|
|
|
@JsonSerializable(
|
|
explicitToJson: true,
|
|
)
|
|
class ShareMsgResp extends BaseResp {
|
|
const ShareMsgResp({
|
|
required super.errorCode,
|
|
super.errorMessage,
|
|
});
|
|
|
|
factory ShareMsgResp.fromJson(Map<String, dynamic> json) =>
|
|
_$ShareMsgRespFromJson(json);
|
|
|
|
@override
|
|
Map<String, dynamic> toJson() => _$ShareMsgRespToJson(this);
|
|
}
|