feat:增加服务器接口模块

This commit is contained in:
2026-06-17 23:40:14 +08:00
parent ddd1c1960e
commit b816cdbc1c
18 changed files with 693 additions and 69 deletions

20
lib/models/ImMessage.dart Normal file
View File

@@ -0,0 +1,20 @@
class ImMessage {
final String type;
final String from;
final String to;
final String content;
ImMessage({
required this.type,
required this.from,
required this.to,
required this.content,
});
Map<String, dynamic> toJson() => {
'type': type,
'from': from,
'to': to,
'content': content,
};
}

14
lib/models/auth.dart Normal file
View File

@@ -0,0 +1,14 @@
import 'package:json_annotation/json_annotation.dart';
part 'auth.g.dart';
@JsonSerializable()
class Auth {
final int userId;
Auth({required this.userId});
factory Auth.fromJson(Map<String, dynamic> json) => _$AuthFromJson(json);
Map<String, dynamic> toJson() => _$AuthToJson(this);
}

14
lib/models/auth.g.dart Normal file
View File

@@ -0,0 +1,14 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'auth.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
Auth _$AuthFromJson(Map<String, dynamic> json) =>
Auth(userId: (json['userId'] as num).toInt());
Map<String, dynamic> _$AuthToJson(Auth instance) => <String, dynamic>{
'userId': instance.userId,
};

28
lib/models/user.dart Normal file
View File

@@ -0,0 +1,28 @@
import 'package:json_annotation/json_annotation.dart';
part 'user.g.dart';
@JsonSerializable()
class User {
final int id;
final String phone;
final String nickname;
final String avatarUrl;
final int gender;
final DateTime createTime;
final DateTime updateTime;
User({
required this.id,
required this.phone,
required this.nickname,
required this.avatarUrl,
required this.gender,
required this.createTime,
required this.updateTime,
});
factory User.fromJson(Map<String, dynamic> json) => _$UserFromJson(json);
Map<String, dynamic> toJson() => _$UserToJson(this);
}

27
lib/models/user.g.dart Normal file
View File

@@ -0,0 +1,27 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'user.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
User _$UserFromJson(Map<String, dynamic> json) => User(
id: (json['id'] as num).toInt(),
phone: json['phone'] as String,
nickname: json['nickname'] as String,
avatarUrl: json['avatarUrl'] as String,
gender: (json['gender'] as num).toInt(),
createTime: DateTime.parse(json['createTime'] as String),
updateTime: DateTime.parse(json['updateTime'] as String),
);
Map<String, dynamic> _$UserToJson(User instance) => <String, dynamic>{
'id': instance.id,
'phone': instance.phone,
'nickname': instance.nickname,
'avatarUrl': instance.avatarUrl,
'gender': instance.gender,
'createTime': instance.createTime.toIso8601String(),
'updateTime': instance.updateTime.toIso8601String(),
};