初始化

This commit is contained in:
谢宇宁
2026-09-15 15:44:13 +07:00
commit a23ba685e9
1065 changed files with 101122 additions and 0 deletions
+80
View File
@@ -0,0 +1,80 @@
// ignore_for_file: constant_identifier_names
//媒体类型常量
enum MediaStyle {
Video, //真人视频
ShortVideo, //短视频
Pic, // 图集
Game, // 黄游
Novel, // 小说
Cartoon, //动漫
Comics, //漫画
Drama, //短剧
Community, //社区
Area, //禁区
Seed, //种子
Actress, //女优
NakedChat, //裸聊
GroupChat, //群聊
}
//搜索接口参数映射
extension MediaStyleSearchParam on MediaStyle {
//搜索 realm 参数
String get searchRealm => switch (this) {
MediaStyle.Video => 'SP', //影片
MediaStyle.ShortVideo => 'SHORT', //抖音
MediaStyle.Drama => 'DRAMA', //短剧
MediaStyle.Community => 'COVER', //帖子
MediaStyle.Pic => 'PIC', //图集
_ => '',
};
//ACG / 短剧搜索 kind1动漫 2漫画 3小说 4短剧
int? get searchKind => switch (this) {
MediaStyle.Cartoon => 1,
MediaStyle.Comics => 2,
MediaStyle.Drama => 4,
_ => null,
};
}
//排行榜参数映射
extension MediaStyleRankParam on MediaStyle {
//榜单 tab 标题
String get rankTitle => switch (this) {
MediaStyle.Video => '影片',
MediaStyle.Cartoon => '动漫',
MediaStyle.Comics => '漫画',
MediaStyle.Community => '帖子',
MediaStyle.Pic => '图集',
_ => '',
};
//榜单接口参数
String get rankParam => switch (this) {
MediaStyle.Video => 'SP',
MediaStyle.Cartoon => 'video',
MediaStyle.Comics => 'image',
MediaStyle.Community => 'COVER',
MediaStyle.Pic => 'PIC',
_ => '',
};
}
//下载缓存 tab 标题
extension MediaStyleCacheTitle on MediaStyle {
String get cacheTabTitle => switch (this) {
MediaStyle.ShortVideo => '抖音',
MediaStyle.Cartoon => '动漫',
MediaStyle.Drama => '短剧',
_ => '影视',
};
}
//排序 tab 配置:标题 + 排序值(sort 类型随接口而定:int 或 String,具体配置放各业务 logic
class SortTab<T> {
final String name;
final T sort;
const SortTab(this.name, this.sort);
}