v1.0.1
This commit is contained in:
94
lib/models/db/comic_download_info.dart
Normal file
94
lib/models/db/comic_download_info.dart
Normal file
@@ -0,0 +1,94 @@
|
||||
import 'package:flutter_dmzj/models/db/download_status.dart';
|
||||
import 'package:hive/hive.dart';
|
||||
part 'comic_download_info.g.dart';
|
||||
|
||||
@HiveType(typeId: 3)
|
||||
class ComicDownloadInfo {
|
||||
ComicDownloadInfo({
|
||||
required this.addTime,
|
||||
required this.chapterId,
|
||||
required this.chapterSort,
|
||||
required this.comicCover,
|
||||
required this.comicId,
|
||||
required this.comicName,
|
||||
required this.files,
|
||||
required this.index,
|
||||
required this.savePath,
|
||||
required this.status,
|
||||
required this.taskId,
|
||||
required this.total,
|
||||
required this.volumeName,
|
||||
required this.urls,
|
||||
required this.chapterName,
|
||||
required this.isVip,
|
||||
required this.isLongComic,
|
||||
});
|
||||
|
||||
///TaskID 任务,由漫画ID_章节ID组成
|
||||
@HiveField(0)
|
||||
String taskId;
|
||||
|
||||
///ComicID 漫画ID
|
||||
@HiveField(1)
|
||||
int comicId;
|
||||
|
||||
///ComicName 漫画名称
|
||||
@HiveField(2)
|
||||
String comicName;
|
||||
|
||||
///ComicCover 漫画封面
|
||||
@HiveField(3)
|
||||
String comicCover;
|
||||
|
||||
///ChapterID 章节ID
|
||||
@HiveField(4)
|
||||
int chapterId;
|
||||
|
||||
@HiveField(5)
|
||||
String chapterName;
|
||||
|
||||
///VoulmeName 分卷名称
|
||||
@HiveField(6)
|
||||
String volumeName;
|
||||
|
||||
///ChapterSort 排序
|
||||
@HiveField(7)
|
||||
int chapterSort;
|
||||
|
||||
///SavePath 存储路径
|
||||
@HiveField(8)
|
||||
String savePath;
|
||||
|
||||
///Files 文件列表
|
||||
@HiveField(9)
|
||||
List<String> files;
|
||||
|
||||
///Index 当前下载页数
|
||||
@HiveField(10)
|
||||
int index;
|
||||
|
||||
///Total 总计页数
|
||||
@HiveField(11)
|
||||
int total;
|
||||
|
||||
///Status 当前状态
|
||||
@HiveField(12)
|
||||
DownloadStatus status;
|
||||
|
||||
///AddTime 任务时间
|
||||
@HiveField(13)
|
||||
DateTime addTime;
|
||||
|
||||
/// 下载图片链接
|
||||
@HiveField(14)
|
||||
List<String> urls;
|
||||
|
||||
/// 是否VIP章节
|
||||
/// * 暂时没啥用,总之先加上
|
||||
@HiveField(15)
|
||||
bool isVip;
|
||||
|
||||
/// 是否为条漫
|
||||
@HiveField(16)
|
||||
bool isLongComic;
|
||||
}
|
||||
89
lib/models/db/comic_download_info.g.dart
Normal file
89
lib/models/db/comic_download_info.g.dart
Normal file
@@ -0,0 +1,89 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'comic_download_info.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// TypeAdapterGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class ComicDownloadInfoAdapter extends TypeAdapter<ComicDownloadInfo> {
|
||||
@override
|
||||
final int typeId = 3;
|
||||
|
||||
@override
|
||||
ComicDownloadInfo read(BinaryReader reader) {
|
||||
final numOfFields = reader.readByte();
|
||||
final fields = <int, dynamic>{
|
||||
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
|
||||
};
|
||||
return ComicDownloadInfo(
|
||||
addTime: fields[13] as DateTime,
|
||||
chapterId: fields[4] as int,
|
||||
chapterSort: fields[7] as int,
|
||||
comicCover: fields[3] as String,
|
||||
comicId: fields[1] as int,
|
||||
comicName: fields[2] as String,
|
||||
files: (fields[9] as List).cast<String>(),
|
||||
index: fields[10] as int,
|
||||
savePath: fields[8] as String,
|
||||
status: fields[12] as DownloadStatus,
|
||||
taskId: fields[0] as String,
|
||||
total: fields[11] as int,
|
||||
volumeName: fields[6] as String,
|
||||
urls: (fields[14] as List).cast<String>(),
|
||||
chapterName: fields[5] as String,
|
||||
isVip: (fields[15] ?? false) as bool,
|
||||
isLongComic: (fields[16] ?? false) as bool,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, ComicDownloadInfo obj) {
|
||||
writer
|
||||
..writeByte(17)
|
||||
..writeByte(0)
|
||||
..write(obj.taskId)
|
||||
..writeByte(1)
|
||||
..write(obj.comicId)
|
||||
..writeByte(2)
|
||||
..write(obj.comicName)
|
||||
..writeByte(3)
|
||||
..write(obj.comicCover)
|
||||
..writeByte(4)
|
||||
..write(obj.chapterId)
|
||||
..writeByte(5)
|
||||
..write(obj.chapterName)
|
||||
..writeByte(6)
|
||||
..write(obj.volumeName)
|
||||
..writeByte(7)
|
||||
..write(obj.chapterSort)
|
||||
..writeByte(8)
|
||||
..write(obj.savePath)
|
||||
..writeByte(9)
|
||||
..write(obj.files)
|
||||
..writeByte(10)
|
||||
..write(obj.index)
|
||||
..writeByte(11)
|
||||
..write(obj.total)
|
||||
..writeByte(12)
|
||||
..write(obj.status)
|
||||
..writeByte(13)
|
||||
..write(obj.addTime)
|
||||
..writeByte(14)
|
||||
..write(obj.urls)
|
||||
..writeByte(15)
|
||||
..write(obj.isVip)
|
||||
..writeByte(16)
|
||||
..write(obj.isLongComic);
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is ComicDownloadInfoAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
36
lib/models/db/comic_history.dart
Normal file
36
lib/models/db/comic_history.dart
Normal file
@@ -0,0 +1,36 @@
|
||||
import 'package:hive/hive.dart';
|
||||
part 'comic_history.g.dart';
|
||||
|
||||
@HiveType(typeId: 1)
|
||||
class ComicHistory {
|
||||
ComicHistory({
|
||||
required this.comicId,
|
||||
required this.chapterId,
|
||||
required this.comicName,
|
||||
required this.comicCover,
|
||||
required this.chapterName,
|
||||
required this.updateTime,
|
||||
required this.page,
|
||||
});
|
||||
|
||||
@HiveField(0)
|
||||
int comicId;
|
||||
|
||||
@HiveField(1)
|
||||
int chapterId;
|
||||
|
||||
@HiveField(2)
|
||||
String comicName;
|
||||
|
||||
@HiveField(3)
|
||||
String comicCover;
|
||||
|
||||
@HiveField(4)
|
||||
String chapterName;
|
||||
|
||||
@HiveField(5)
|
||||
int page;
|
||||
|
||||
@HiveField(6)
|
||||
DateTime updateTime;
|
||||
}
|
||||
59
lib/models/db/comic_history.g.dart
Normal file
59
lib/models/db/comic_history.g.dart
Normal file
@@ -0,0 +1,59 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'comic_history.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// TypeAdapterGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class ComicHistoryAdapter extends TypeAdapter<ComicHistory> {
|
||||
@override
|
||||
final int typeId = 1;
|
||||
|
||||
@override
|
||||
ComicHistory read(BinaryReader reader) {
|
||||
final numOfFields = reader.readByte();
|
||||
final fields = <int, dynamic>{
|
||||
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
|
||||
};
|
||||
return ComicHistory(
|
||||
comicId: fields[0] as int,
|
||||
chapterId: fields[1] as int,
|
||||
comicName: fields[2] as String,
|
||||
comicCover: fields[3] as String,
|
||||
chapterName: fields[4] as String,
|
||||
updateTime: fields[6] as DateTime,
|
||||
page: fields[5] as int,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, ComicHistory obj) {
|
||||
writer
|
||||
..writeByte(7)
|
||||
..writeByte(0)
|
||||
..write(obj.comicId)
|
||||
..writeByte(1)
|
||||
..write(obj.chapterId)
|
||||
..writeByte(2)
|
||||
..write(obj.comicName)
|
||||
..writeByte(3)
|
||||
..write(obj.comicCover)
|
||||
..writeByte(4)
|
||||
..write(obj.chapterName)
|
||||
..writeByte(5)
|
||||
..write(obj.page)
|
||||
..writeByte(6)
|
||||
..write(obj.updateTime);
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is ComicHistoryAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
46
lib/models/db/download_status.dart
Normal file
46
lib/models/db/download_status.dart
Normal file
@@ -0,0 +1,46 @@
|
||||
import 'package:hive/hive.dart';
|
||||
part 'download_status.g.dart';
|
||||
|
||||
/// 下载状态
|
||||
@HiveType(typeId: 4)
|
||||
enum DownloadStatus {
|
||||
/// 等待下载中
|
||||
@HiveField(0)
|
||||
wait,
|
||||
|
||||
/// 正在读取章节信息
|
||||
@HiveField(1)
|
||||
loadding,
|
||||
|
||||
/// 下载中
|
||||
@HiveField(2)
|
||||
downloading,
|
||||
|
||||
/// 使用数据,自动暂停,当网络切换时恢复下载
|
||||
@HiveField(3)
|
||||
pauseCellular,
|
||||
|
||||
/// 暂停
|
||||
@HiveField(4)
|
||||
pause,
|
||||
|
||||
/// 已完成
|
||||
@HiveField(5)
|
||||
complete,
|
||||
|
||||
/// 读取信息时出现错误
|
||||
@HiveField(6)
|
||||
errorLoad,
|
||||
|
||||
/// 下载出错
|
||||
@HiveField(7)
|
||||
error,
|
||||
|
||||
/// 已取消
|
||||
@HiveField(8)
|
||||
cancel,
|
||||
|
||||
/// 等待网络连接
|
||||
@HiveField(9)
|
||||
waitNetwork,
|
||||
}
|
||||
86
lib/models/db/download_status.g.dart
Normal file
86
lib/models/db/download_status.g.dart
Normal file
@@ -0,0 +1,86 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'download_status.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// TypeAdapterGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class DownloadStatusAdapter extends TypeAdapter<DownloadStatus> {
|
||||
@override
|
||||
final int typeId = 4;
|
||||
|
||||
@override
|
||||
DownloadStatus read(BinaryReader reader) {
|
||||
switch (reader.readByte()) {
|
||||
case 0:
|
||||
return DownloadStatus.wait;
|
||||
case 1:
|
||||
return DownloadStatus.loadding;
|
||||
case 2:
|
||||
return DownloadStatus.downloading;
|
||||
case 3:
|
||||
return DownloadStatus.pauseCellular;
|
||||
case 4:
|
||||
return DownloadStatus.pause;
|
||||
case 5:
|
||||
return DownloadStatus.complete;
|
||||
case 6:
|
||||
return DownloadStatus.errorLoad;
|
||||
case 7:
|
||||
return DownloadStatus.error;
|
||||
case 8:
|
||||
return DownloadStatus.cancel;
|
||||
case 9:
|
||||
return DownloadStatus.waitNetwork;
|
||||
default:
|
||||
return DownloadStatus.wait;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, DownloadStatus obj) {
|
||||
switch (obj) {
|
||||
case DownloadStatus.wait:
|
||||
writer.writeByte(0);
|
||||
break;
|
||||
case DownloadStatus.loadding:
|
||||
writer.writeByte(1);
|
||||
break;
|
||||
case DownloadStatus.downloading:
|
||||
writer.writeByte(2);
|
||||
break;
|
||||
case DownloadStatus.pauseCellular:
|
||||
writer.writeByte(3);
|
||||
break;
|
||||
case DownloadStatus.pause:
|
||||
writer.writeByte(4);
|
||||
break;
|
||||
case DownloadStatus.complete:
|
||||
writer.writeByte(5);
|
||||
break;
|
||||
case DownloadStatus.errorLoad:
|
||||
writer.writeByte(6);
|
||||
break;
|
||||
case DownloadStatus.error:
|
||||
writer.writeByte(7);
|
||||
break;
|
||||
case DownloadStatus.cancel:
|
||||
writer.writeByte(8);
|
||||
break;
|
||||
case DownloadStatus.waitNetwork:
|
||||
writer.writeByte(9);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is DownloadStatusAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
39
lib/models/db/local_favorite.dart
Normal file
39
lib/models/db/local_favorite.dart
Normal file
@@ -0,0 +1,39 @@
|
||||
import 'package:get/get.dart';
|
||||
import 'package:hive/hive.dart';
|
||||
part 'local_favorite.g.dart';
|
||||
|
||||
@HiveType(typeId: 6)
|
||||
class LocalFavorite {
|
||||
LocalFavorite({
|
||||
required this.id,
|
||||
required this.objId,
|
||||
required this.title,
|
||||
required this.cover,
|
||||
required this.type,
|
||||
required this.updateTime,
|
||||
});
|
||||
|
||||
@HiveField(0)
|
||||
String id;
|
||||
|
||||
String get hiveId => "${type}_$objId";
|
||||
|
||||
@HiveField(1)
|
||||
int objId;
|
||||
|
||||
@HiveField(2)
|
||||
String title;
|
||||
|
||||
@HiveField(3)
|
||||
String cover;
|
||||
|
||||
/// 类型,对应app_constant,漫画或小说
|
||||
@HiveField(4)
|
||||
int type;
|
||||
|
||||
@HiveField(5)
|
||||
DateTime updateTime;
|
||||
|
||||
//是否被选中
|
||||
Rx<bool> isChecked = false.obs;
|
||||
}
|
||||
56
lib/models/db/local_favorite.g.dart
Normal file
56
lib/models/db/local_favorite.g.dart
Normal file
@@ -0,0 +1,56 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'local_favorite.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// TypeAdapterGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class LocalFavoriteAdapter extends TypeAdapter<LocalFavorite> {
|
||||
@override
|
||||
final int typeId = 6;
|
||||
|
||||
@override
|
||||
LocalFavorite read(BinaryReader reader) {
|
||||
final numOfFields = reader.readByte();
|
||||
final fields = <int, dynamic>{
|
||||
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
|
||||
};
|
||||
return LocalFavorite(
|
||||
id: fields[0] as String,
|
||||
objId: fields[1] as int,
|
||||
title: fields[2] as String,
|
||||
cover: fields[3] as String,
|
||||
type: fields[4] as int,
|
||||
updateTime: fields[5] as DateTime,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, LocalFavorite obj) {
|
||||
writer
|
||||
..writeByte(6)
|
||||
..writeByte(0)
|
||||
..write(obj.id)
|
||||
..writeByte(1)
|
||||
..write(obj.objId)
|
||||
..writeByte(2)
|
||||
..write(obj.title)
|
||||
..writeByte(3)
|
||||
..write(obj.cover)
|
||||
..writeByte(4)
|
||||
..write(obj.type)
|
||||
..writeByte(5)
|
||||
..write(obj.updateTime);
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is LocalFavoriteAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
105
lib/models/db/novel_download_info.dart
Normal file
105
lib/models/db/novel_download_info.dart
Normal file
@@ -0,0 +1,105 @@
|
||||
import 'package:flutter_dmzj/models/db/download_status.dart';
|
||||
import 'package:hive/hive.dart';
|
||||
part 'novel_download_info.g.dart';
|
||||
|
||||
@HiveType(typeId: 5)
|
||||
class NovelDownloadInfo {
|
||||
NovelDownloadInfo({
|
||||
required this.addTime,
|
||||
required this.chapterId,
|
||||
required this.chapterSort,
|
||||
required this.novelCover,
|
||||
required this.novelId,
|
||||
required this.novelName,
|
||||
required this.fileName,
|
||||
required this.imageFiles,
|
||||
required this.savePath,
|
||||
required this.status,
|
||||
required this.taskId,
|
||||
required this.isImage,
|
||||
required this.volumeName,
|
||||
required this.progress,
|
||||
required this.chapterName,
|
||||
required this.volumeID,
|
||||
required this.isVip,
|
||||
required this.volumeOrder,
|
||||
required this.imageUrls,
|
||||
});
|
||||
|
||||
///TaskID 任务,由小说ID_章节ID组成
|
||||
@HiveField(0)
|
||||
String taskId;
|
||||
|
||||
///NovelID 小说ID
|
||||
@HiveField(1)
|
||||
int novelId;
|
||||
|
||||
///NovelName 小说名称
|
||||
@HiveField(2)
|
||||
String novelName;
|
||||
|
||||
///NovelCover 小说封面
|
||||
@HiveField(3)
|
||||
String novelCover;
|
||||
|
||||
///ChapterID 章节ID
|
||||
@HiveField(4)
|
||||
int chapterId;
|
||||
|
||||
///chapterName 章节名称
|
||||
@HiveField(5)
|
||||
String chapterName;
|
||||
|
||||
///VoulmeID 分卷ID
|
||||
@HiveField(6)
|
||||
int volumeID;
|
||||
|
||||
///VoulmeName 分卷名称
|
||||
@HiveField(7)
|
||||
String volumeName;
|
||||
|
||||
///volumeOrder 分卷排序
|
||||
@HiveField(8)
|
||||
int volumeOrder;
|
||||
|
||||
///ChapterSort 排序
|
||||
@HiveField(9)
|
||||
int chapterSort;
|
||||
|
||||
///SavePath 存储路径
|
||||
@HiveField(10)
|
||||
String savePath;
|
||||
|
||||
///Files 文件列表
|
||||
@HiveField(11)
|
||||
String fileName;
|
||||
|
||||
///isImage 是否为插图
|
||||
@HiveField(12)
|
||||
bool isImage;
|
||||
|
||||
/// 图片保存路径
|
||||
@HiveField(13)
|
||||
List<String> imageFiles;
|
||||
|
||||
///下载进度 0-100
|
||||
@HiveField(14)
|
||||
int progress;
|
||||
|
||||
///Status 当前状态
|
||||
@HiveField(15)
|
||||
DownloadStatus status;
|
||||
|
||||
///AddTime 任务时间
|
||||
@HiveField(16)
|
||||
DateTime addTime;
|
||||
|
||||
/// 是否VIP章节
|
||||
/// * 暂时没啥用,总之先加上
|
||||
@HiveField(17)
|
||||
bool isVip;
|
||||
|
||||
/// 下载图片链接
|
||||
@HiveField(18)
|
||||
List<String> imageUrls;
|
||||
}
|
||||
95
lib/models/db/novel_download_info.g.dart
Normal file
95
lib/models/db/novel_download_info.g.dart
Normal file
@@ -0,0 +1,95 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'novel_download_info.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// TypeAdapterGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class NovelDownloadInfoAdapter extends TypeAdapter<NovelDownloadInfo> {
|
||||
@override
|
||||
final int typeId = 5;
|
||||
|
||||
@override
|
||||
NovelDownloadInfo read(BinaryReader reader) {
|
||||
final numOfFields = reader.readByte();
|
||||
final fields = <int, dynamic>{
|
||||
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
|
||||
};
|
||||
return NovelDownloadInfo(
|
||||
addTime: fields[16] as DateTime,
|
||||
chapterId: fields[4] as int,
|
||||
chapterSort: fields[9] as int,
|
||||
novelCover: fields[3] as String,
|
||||
novelId: fields[1] as int,
|
||||
novelName: fields[2] as String,
|
||||
fileName: fields[11] as String,
|
||||
imageFiles: (fields[13] as List).cast<String>(),
|
||||
savePath: fields[10] as String,
|
||||
status: fields[15] as DownloadStatus,
|
||||
taskId: fields[0] as String,
|
||||
isImage: fields[12] as bool,
|
||||
volumeName: fields[7] as String,
|
||||
progress: fields[14] as int,
|
||||
chapterName: fields[5] as String,
|
||||
volumeID: fields[6] as int,
|
||||
isVip: fields[17] as bool,
|
||||
volumeOrder: fields[8] as int,
|
||||
imageUrls: (fields[18] as List).cast<String>(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, NovelDownloadInfo obj) {
|
||||
writer
|
||||
..writeByte(19)
|
||||
..writeByte(0)
|
||||
..write(obj.taskId)
|
||||
..writeByte(1)
|
||||
..write(obj.novelId)
|
||||
..writeByte(2)
|
||||
..write(obj.novelName)
|
||||
..writeByte(3)
|
||||
..write(obj.novelCover)
|
||||
..writeByte(4)
|
||||
..write(obj.chapterId)
|
||||
..writeByte(5)
|
||||
..write(obj.chapterName)
|
||||
..writeByte(6)
|
||||
..write(obj.volumeID)
|
||||
..writeByte(7)
|
||||
..write(obj.volumeName)
|
||||
..writeByte(8)
|
||||
..write(obj.volumeOrder)
|
||||
..writeByte(9)
|
||||
..write(obj.chapterSort)
|
||||
..writeByte(10)
|
||||
..write(obj.savePath)
|
||||
..writeByte(11)
|
||||
..write(obj.fileName)
|
||||
..writeByte(12)
|
||||
..write(obj.isImage)
|
||||
..writeByte(13)
|
||||
..write(obj.imageFiles)
|
||||
..writeByte(14)
|
||||
..write(obj.progress)
|
||||
..writeByte(15)
|
||||
..write(obj.status)
|
||||
..writeByte(16)
|
||||
..write(obj.addTime)
|
||||
..writeByte(17)
|
||||
..write(obj.isVip)
|
||||
..writeByte(18)
|
||||
..write(obj.imageUrls);
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is NovelDownloadInfoAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
48
lib/models/db/novel_history.dart
Normal file
48
lib/models/db/novel_history.dart
Normal file
@@ -0,0 +1,48 @@
|
||||
import 'package:hive/hive.dart';
|
||||
part 'novel_history.g.dart';
|
||||
|
||||
@HiveType(typeId: 2)
|
||||
class NovelHistory {
|
||||
NovelHistory({
|
||||
required this.novelId,
|
||||
required this.chapterId,
|
||||
required this.novelName,
|
||||
required this.novelCover,
|
||||
required this.chapterName,
|
||||
required this.updateTime,
|
||||
required this.index,
|
||||
required this.total,
|
||||
required this.volumeId,
|
||||
required this.volumeName,
|
||||
});
|
||||
|
||||
@HiveField(0)
|
||||
int novelId;
|
||||
|
||||
@HiveField(1)
|
||||
int chapterId;
|
||||
|
||||
@HiveField(2)
|
||||
String novelName;
|
||||
|
||||
@HiveField(3)
|
||||
String novelCover;
|
||||
|
||||
@HiveField(4)
|
||||
String chapterName;
|
||||
|
||||
@HiveField(5)
|
||||
int index;
|
||||
|
||||
@HiveField(6)
|
||||
int total;
|
||||
|
||||
@HiveField(7)
|
||||
int volumeId;
|
||||
|
||||
@HiveField(8)
|
||||
String volumeName;
|
||||
|
||||
@HiveField(9)
|
||||
DateTime updateTime;
|
||||
}
|
||||
68
lib/models/db/novel_history.g.dart
Normal file
68
lib/models/db/novel_history.g.dart
Normal file
@@ -0,0 +1,68 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'novel_history.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// TypeAdapterGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class NovelHistoryAdapter extends TypeAdapter<NovelHistory> {
|
||||
@override
|
||||
final int typeId = 2;
|
||||
|
||||
@override
|
||||
NovelHistory read(BinaryReader reader) {
|
||||
final numOfFields = reader.readByte();
|
||||
final fields = <int, dynamic>{
|
||||
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
|
||||
};
|
||||
return NovelHistory(
|
||||
novelId: fields[0] as int,
|
||||
chapterId: fields[1] as int,
|
||||
novelName: fields[2] as String,
|
||||
novelCover: fields[3] as String,
|
||||
chapterName: fields[4] as String,
|
||||
updateTime: fields[9] as DateTime,
|
||||
index: fields[5] as int,
|
||||
total: fields[6] as int,
|
||||
volumeId: fields[7] as int,
|
||||
volumeName: fields[8] as String,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, NovelHistory obj) {
|
||||
writer
|
||||
..writeByte(10)
|
||||
..writeByte(0)
|
||||
..write(obj.novelId)
|
||||
..writeByte(1)
|
||||
..write(obj.chapterId)
|
||||
..writeByte(2)
|
||||
..write(obj.novelName)
|
||||
..writeByte(3)
|
||||
..write(obj.novelCover)
|
||||
..writeByte(4)
|
||||
..write(obj.chapterName)
|
||||
..writeByte(5)
|
||||
..write(obj.index)
|
||||
..writeByte(6)
|
||||
..write(obj.total)
|
||||
..writeByte(7)
|
||||
..write(obj.volumeId)
|
||||
..writeByte(8)
|
||||
..write(obj.volumeName)
|
||||
..writeByte(9)
|
||||
..write(obj.updateTime);
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is NovelHistoryAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
Reference in New Issue
Block a user