opt sort search

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-08-07 12:34:03 +08:00
parent 6d55321699
commit 83e25ec0bf
11 changed files with 336 additions and 351 deletions

View File

@@ -0,0 +1,27 @@
enum ArticleOrderType {
totalrank('综合排序'),
pubdate('最新发布'),
click('最多点击'),
attention('最多喜欢'),
scores('最多评论');
String get order => name;
final String label;
const ArticleOrderType(this.label);
}
enum ArticleZoneType {
all('全部分区', 0),
douga('动画', 2),
game('游戏', 1),
cinephile('影视', 28),
life('生活', 3),
interest('兴趣', 29),
novel('轻小说', 16),
tech('科技', 17),
note('笔记', 41);
final String label;
final int categoryId;
const ArticleZoneType(this.label, this.categoryId);
}

View File

@@ -0,0 +1,22 @@
enum UserOrderType {
def('默认排序', 0, ''),
fansDesc('粉丝数由高到低', 0, 'fans'),
fansAsc('粉丝数由低到高', 1, 'fans'),
levelDesc('Lv等级由高到低', 0, 'level'),
levelAsc('Lv等级由低到高', 1, 'level');
final String label;
final int orderSort;
final String order;
const UserOrderType(this.label, this.orderSort, this.order);
}
enum UserType {
all('全部用户'),
up('UP主'),
common('普通用户'),
verified('认证用户');
final String label;
const UserType(this.label);
}

View File

@@ -0,0 +1,49 @@
enum VideoPubTimeType {
all('不限'),
day('最近一天'),
week('最近一周'),
halfYear('最近半年');
final String label;
const VideoPubTimeType(this.label);
}
enum VideoDurationType {
all('全部时长'),
tenMins('0-10分钟'),
halfHour('0-30分钟'),
hour('30-60分钟'),
hourPlus('60分钟+');
final String label;
const VideoDurationType(this.label);
}
enum VideoZoneType {
all('全部'),
douga('动画', tids: 1),
anime('番剧', tids: 13),
guochuang('国创', tids: 167),
music('音乐', tids: 3),
dance('舞蹈', tids: 129),
game('游戏', tids: 4),
knowledge('知识', tids: 36),
tech('科技', tids: 188),
sports('运动', tids: 234),
car('汽车', tids: 223),
life('生活', tids: 160),
food('美食', tids: 221),
animal('动物', tids: 217),
kichiku('鬼畜', tids: 119),
fashion('时尚', tids: 115),
info('资讯', tids: 202),
ent('娱乐', tids: 5),
cinephile('影视', tids: 181),
documentary('记录', tids: 177),
movie('电影', tids: 23),
tv('电视', tids: 11);
final String label;
final int? tids;
const VideoZoneType(this.label, {this.tids});
}