diff --git a/resource/sites/asiancinema.me/config.json b/resource/sites/asiancinema.me/config.json index a95eb591d..d07befc0e 100644 --- a/resource/sites/asiancinema.me/config.json +++ b/resource/sites/asiancinema.me/config.json @@ -7,6 +7,37 @@ "tags": ["综合"], "schema": "UNIT3D", "host": "asiancinema.me", + "levelRequirements": [{ + "level": "1", + "name": "Power User", + "interval": "1", + "uploaded": "1TB", + "privilege": "" + },{ + "level": "2", + "name": "Super User", + "interval": "2", + "uploaded": "5TB", + "privilege": "" + },{ + "level": "3", + "name": "Extreme User", + "interval": "3", + "uploaded": "20TB", + "privilege": "" + },{ + "level": "4", + "name": "Insane User", + "interval": "6", + "uploaded": "50TB", + "privilege": "" + },{ + "level": "5", + "name": "Veteran", + "interval": "12", + "uploaded": "100TB", + "privilege": "Special freeleech" + }], "searchEntryConfig": { "page": "/torrents/filter", "resultType": "html", diff --git a/resource/sites/audiences.me/config.json b/resource/sites/audiences.me/config.json index 1badc3ec6..eb585f71f 100644 --- a/resource/sites/audiences.me/config.json +++ b/resource/sites/audiences.me/config.json @@ -13,6 +13,71 @@ ], "schema": "NexusPHP", "host": "audiences.me", + "levelRequirements": [{ + "level": "1", + "name": "Power User", + "interval": "5", + "downloaded": "120GB", + "ratio": "2.0", + "seedingPoints": "0", + "privilege": "查看NFO文档;查看用户列表;请求续种;查看其它用户的种子历史;删除自己上传的字幕" + },{ + "level": "2", + "name": "Elite User", + "interval": "15", + "downloaded": "240GB", + "ratio": "2.5", + "seedingPoints": "0", + "privilege": "无" + },{ + "level": "3", + "name": "Crazy User", + "interval": "24", + "downloaded": "400GB", + "ratio": "3.0", + "seedingPoints": "0", + "privilege": "查看排行榜" + },{ + "level": "4", + "name": "Insane User", + "interval": "40", + "downloaded": "600GB", + "ratio": "3.5", + "seedingPoints": "0", + "privilege": "无" + },{ + "level": "5", + "name": "Veteran User", + "interval": "60", + "downloaded": "900GB", + "ratio": "4.0", + "seedingPoints": "0", + "privilege": "查看其它用户的评论、帖子历史" + },{ + "level": "6", + "name": "Extreme User", + "interval": "80", + "downloaded": "2048BB", + "ratio": "4.5", + "seedingPoints": "0", + "privilege": "永远保留账号;更新过期的外部信息" + },{ + "level": "7", + "name": "Ultimate User", + "interval": "100", + "downloaded": "4096GB", + "ratio": "5.0", + "seedingPoints": "0", + "privilege": "无" + },{ + "level": "8", + "name": "Nexus Master", + "interval": "112", + "downloaded": "8192GB", + "ratio": "5.0", + "seedingPoints": "0", + "privilege": "无" + }], "collaborator": "Audiences", "searchEntryConfig": { "fieldSelector": { diff --git a/resource/sites/blutopia.xyz/config.json b/resource/sites/blutopia.xyz/config.json index 7fb802d4c..baa3ac130 100644 --- a/resource/sites/blutopia.xyz/config.json +++ b/resource/sites/blutopia.xyz/config.json @@ -6,5 +6,36 @@ "icon": "https://blutopia.xyz/favicon.ico", "tags": ["影视", "综合"], "host": "blutopia.xyz", + "levelRequirements": [{ + "level": "1", + "name": "BluUser", + "interval": "1", + "uploaded": "1TB", + "privilege": "5 download slots" + },{ + "level": "2", + "name": "BluMaster", + "interval": "2", + "uploaded": "5TB", + "privilege": "10 download slots" + },{ + "level": "3", + "name": "BluExtremist", + "interval": "3", + "uploaded": "20TB", + "privilege": "Automatic torrent approvals; Invite forums; 15 download slots" + },{ + "level": "4", + "name": "BluLegend", + "interval": "6", + "uploaded": "50TB", + "privilege": "20 download slots" + },{ + "level": "5", + "name": "Blutopian", + "interval": "12", + "uploaded": "100TB", + "privilege": "Immunity to automated HnR warnings; Global Freeleech; 25 download slots" + }], "collaborator": ["bimzcy", "lengmianxia", "bright"] } diff --git a/resource/sites/chdbits.co/config.json b/resource/sites/chdbits.co/config.json index b44a50d02..5bf503c48 100644 --- a/resource/sites/chdbits.co/config.json +++ b/resource/sites/chdbits.co/config.json @@ -10,6 +10,71 @@ ], "schema": "NexusPHP", "host": "chdbits.co", + "levelRequirements": [{ + "level": "1", + "name": "Power User", + "interval": "5", + "downloaded": "200GB", + "ratio": "2.0", + "bonus": "80000", + "privilege": "查看NFO文档;请求续种;查看排行榜可以查看其它用户的种子历史;删除自己上传的字幕" + },{ + "level": "2", + "name": "Elite User", + "interval": "10", + "downloaded": "500GB", + "ratio": "3", + "bonus": "150000", + "privilege": "无" + },{ + "level": "3", + "name": "Crazy User", + "interval": "15", + "downloaded": "800GB", + "ratio": "4.0", + "bonus": "300000", + "privilege": "在做种/下载的时候选择匿名模式" + },{ + "level": "4", + "name": "Insane User", + "interval": "20", + "downloaded": "999GB", + "ratio": "5.0", + "bonus": "650000", + "privilege": "查看普通日志" + },{ + "level": "5", + "name": "Veteran User", + "interval": "25", + "downloaded": "1500GB", + "ratio": "6.0", + "bonus": "1000000", + "privilege": "查看其它用户的评论、帖子历史" + },{ + "level": "6", + "name": "Extreme User", + "interval": "30", + "downloaded": "2TB", + "ratio": "7.0", + "bonus": "2200000", + "privilege": "用户封存账号(在控制面板)后不会被删除帐号;首次升级赠送邀请1枚,更新过期的外部信息;查看Extreme User论坛" + },{ + "level": "7", + "name": "Ultimate User", + "interval": "40", + "downloaded": "3TB", + "ratio": "8.0", + "bonus": "3500000", + "privilege": "用户会永远保留;首次升级赠送邀请2枚,保留帐号,在官方活动期间可发放邀请" + },{ + "level": "8", + "name": "Nexus Master", + "interval": "52", + "downloaded": "4TB", + "ratio": "10.0", + "bonus": "5000000", + "privilege": "首次升级赠送邀请3枚,保留帐号,在官方活动期间可发放邀请" + }], "searchEntry": [{ "name": "全站", "resultType": "html", diff --git a/resource/sites/greatposterwall.com/config.json b/resource/sites/greatposterwall.com/config.json index cca696839..48bd62989 100644 --- a/resource/sites/greatposterwall.com/config.json +++ b/resource/sites/greatposterwall.com/config.json @@ -9,6 +9,71 @@ ], "schema": "GazelleJSONAPI", "host": "greatposterwall.com", + "levelRequirements": [{ + "level": "1", + "name": "Member", + "interval": "5", + "downloaded": "80GB", + "ratio": "1.0", + "bonus": "3200", + "privilege": "请求续种;查看排行榜;查看其它用户的种子历史" + },{ + "level": "2", + "name": "Elite User", + "interval": "10", + "downloaded": "150GB", + "ratio": "1.5", + "bonus": "19200", + "privilege": "查看邀请区" + },{ + "level": "3", + "name": "Crazy User", + "interval": "15", + "downloaded": "300GB", + "ratio": "2.0", + "bonus": "76800", + "privilege": "在做种/下载的时候选择匿名模式" + },{ + "level": "4", + "name": "Insane User", + "interval": "30", + "downloaded": "500GB", + "ratio": "2.5", + "bonus": "256000", + "privilege": "查看普通日志" + },{ + "level": "5", + "name": "Veteran User", + "interval": "60", + "downloaded": "1TB", + "ratio": "3.5", + "bonus": "640000", + "privilege": "永远保留账号" + },{ + "level": "6", + "name": "Extreme User", + "interval": "90", + "downloaded": "2TB", + "ratio": "4.0", + "bonus": "1280000", + "privilege": "超速后不会受到额外惩罚" + },{ + "level": "7", + "name": "Ultimate User", + "interval": "120", + "downloaded": "3TB", + "ratio": "4.5", + "bonus": "1920000", + "privilege": "上传速度限制提升为普通用户的二倍" + },{ + "level": "8", + "name": "Nexus Master", + "interval": "150", + "downloaded": "4TB", + "ratio": "5.0", + "bonus": "2560000", + "privilege": "除了数据考核要求,其他权利等同于VIP,包括没有上传速度的限制" + }], "collaborator": [ "MewX" ], diff --git a/resource/sites/hdsky.me/config.json b/resource/sites/hdsky.me/config.json index a4edd8294..f9bd1ff94 100644 --- a/resource/sites/hdsky.me/config.json +++ b/resource/sites/hdsky.me/config.json @@ -11,6 +11,63 @@ ], "schema": "NexusPHP", "host": "hdsky.me", + "levelRequirements": [{ + "level": "1", + "name": "Power User", + "interval": "5", + "downloaded": "200GB", + "ratio": "2.0", + "privilege": "NFO文档;请求续种;查看其它用户的种子历史;删除自己上传的字幕" + },{ + "level": "2", + "name": "Elite User", + "interval": "10", + "downloaded": "500GB", + "ratio": "2.5", + "privilege": "无" + },{ + "level": "3", + "name": "Crazy User", + "interval": "15", + "downloaded": "1TB", + "ratio": "3.0", + "privilege": "在做种/下载/发布的时候选择匿名模式" + },{ + "level": "4", + "name": "Insane User", + "interval": "20", + "downloaded": "2TB", + "ratio": "3.5", + "privilege": "查看普通日志" + },{ + "level": "5", + "name": "Veteran User", + "interval": "25", + "downloaded": "4TB", + "ratio": "4.0", + "privilege": "封存账号后不会被删除;查看其它用户的评论、帖子历史" + },{ + "level": "6", + "name": "Extreme User", + "interval": "30", + "downloaded": "6TB", + "ratio": "4.5", + "privilege": "更新过期的外部信息;查看Extreme User论坛" + },{ + "level": "7", + "name": "Ultimate User", + "interval": "45", + "downloaded": "10TB", + "ratio": "5.0", + "privilege": "永远保留账号" + },{ + "level": "8", + "name": "Nexus Master", + "interval": "65", + "downloaded": "10TB", + "ratio": "5.5", + "privilege": "直接发布种子;可以查看排行榜;在网站开放邀请期间发送邀请" + }], "searchEntry": [{ "name": "全部", "enabled": true diff --git a/resource/sites/jptv.club/config.json b/resource/sites/jptv.club/config.json index 108cec0c7..aad9c2796 100644 --- a/resource/sites/jptv.club/config.json +++ b/resource/sites/jptv.club/config.json @@ -10,6 +10,37 @@ "动漫" ], "host": "jptv.club", + "levelRequirements": [{ + "level": "1", + "name": "PowerUser", + "interval": "1", + "uploaded": "1TB", + "privilege": "Invite forums" + },{ + "level": "2", + "name": "SuperUser", + "interval": "2", + "uploaded": "5TB", + "privilege": "" + },{ + "level": "3", + "name": "ExtremeUser", + "interval": "3", + "uploaded": "20TB", + "privilege": "Prune Immunity" + },{ + "level": "4", + "name": "InsaneUser", + "interval": "6", + "uploaded": "50TB", + "privilege": "" + },{ + "level": "5", + "name": "Veteran", + "interval": "12", + "uploaded": "15TB", + "privilege": "H&R Immunity; Special FL" + }], "collaborator": "MewX", "searchEntryConfig": { "page": "/torrents/filter", diff --git a/resource/sites/lemonhd.org/config.json b/resource/sites/lemonhd.org/config.json index a1b93f98f..a194d1677 100644 --- a/resource/sites/lemonhd.org/config.json +++ b/resource/sites/lemonhd.org/config.json @@ -10,6 +10,63 @@ "综合" ], "host": "lemonhd.org", + "levelRequirements": [{ + "level": "1", + "name": "Power User", + "interval": "5", + "downloaded": "100GB", + "ratio": "2.0", + "privilege": "直接发布种子;查看NFO文档;查看用户列表;请求续种; 发送邀请;查看排行榜;查看其它用户的种子历史;删除自己上传的字幕" + },{ + "level": "2", + "name": "Elite User", + "interval": "10", + "downloaded": "350GB", + "ratio": "2.5", + "privilege": "用户封存账号后不会被删除" + },{ + "level": "3", + "name": "Crazy User", + "interval": "15", + "downloaded": "500GB", + "ratio": "3.0", + "privilege": "在做种/下载/发布的时候选择匿名模式" + },{ + "level": "4", + "name": "Insane User", + "interval": "20", + "downloaded": "1TB", + "ratio": "3.5", + "privilege": "查看普通日志" + },{ + "level": "5", + "name": "Veteran User", + "interval": "25", + "downloaded": "2TB", + "ratio": "4.0", + "privilege": "永远保留账号;查看其它用户的评论、帖子历史" + },{ + "level": "6", + "name": "Extreme User", + "interval": "30", + "downloaded": "4TB", + "ratio": "4.5", + "privilege": "更新过期的外部信息;可以查看Extreme User论坛" + },{ + "level": "7", + "name": "Ultimate User", + "interval": "40", + "downloaded": "6TB", + "ratio": "5.0", + "privilege": "无" + },{ + "level": "8", + "name": "Nexus Master", + "interval": "52", + "downloaded": "8TB", + "ratio": "5.5", + "privilege": "无" + }], "formerHosts": [ "leaguehd.com" ], diff --git a/resource/sites/monikadesign.uk/config.json b/resource/sites/monikadesign.uk/config.json index cd205d969..c094d21e4 100644 --- a/resource/sites/monikadesign.uk/config.json +++ b/resource/sites/monikadesign.uk/config.json @@ -11,5 +11,36 @@ "动漫" ], "host": "monikadesign.uk", + "levelRequirements": [{ + "level": "1", + "name": "PowerUser", + "interval": "1", + "uploaded": "1TB", + "privilege": "访问邀请区" + },{ + "level": "2", + "name": "SuperUser", + "interval": "2", + "uploaded": "2TB", + "privilege": "无" + },{ + "level": "3", + "name": "ExtremeUser", + "interval": "3", + "uploaded": "5TB", + "privilege": "无" + },{ + "level": "4", + "name": "InsaneUser", + "interval": "6", + "uploaded": "10TB", + "privilege": "自动通过候选" + },{ + "level": "5", + "name": "Veteran", + "interval": "12", + "uploaded": "15TB", + "privilege": "个人全局双倍上传" + }], "collaborator": "fzlins" } \ No newline at end of file diff --git a/resource/sites/pt.keepfrds.com/config.json b/resource/sites/pt.keepfrds.com/config.json index b285ca499..a26ebdf7c 100644 --- a/resource/sites/pt.keepfrds.com/config.json +++ b/resource/sites/pt.keepfrds.com/config.json @@ -9,6 +9,71 @@ ], "schema": "NexusPHP", "host": "pt.keepfrds.com", + "levelRequirements": [{ + "level": "1", + "name": "Power User", + "interval": "5", + "downloaded": "50GB", + "ratio": "1.0", + "bonus": "3200", + "privilege": "请求续种;查看排行榜;查看其它用户的种子历史" + },{ + "level": "2", + "name": "Elite User", + "interval": "10", + "downloaded": "150GB", + "ratio": "1.5", + "bonus": "19200", + "privilege": "查看邀请区" + },{ + "level": "3", + "name": "Crazy User", + "interval": "15", + "downloaded": "300GB", + "ratio": "2.0", + "bonus": "76800", + "privilege": "在做种/下载的时候选择匿名模式" + },{ + "level": "4", + "name": "Insane User", + "interval": "30", + "downloaded": "500GB", + "ratio": "2.5", + "bonus": "256000", + "privilege": "查看普通日志" + },{ + "level": "5", + "name": "Veteran User", + "interval": "60", + "downloaded": "1TB", + "ratio": "3.5", + "bonus": "640000", + "privilege": "永远保留账号" + },{ + "level": "6", + "name": "Extreme User", + "interval": "90", + "downloaded": "2TB", + "ratio": "4.0", + "bonus": "1280000", + "privilege": "超速后不会受到额外惩罚" + },{ + "level": "7", + "name": "Ultimate User", + "interval": "120", + "downloaded": "3TB", + "ratio": "4.5", + "bonus": "1920000", + "privilege": "上传速度限制提升为普通用户的二倍" + },{ + "level": "8", + "name": "Nexus Master", + "interval": "150", + "downloaded": "4TB", + "ratio": "5.0", + "bonus": "2560000", + "privilege": "除了数据考核要求,其他权利等同于VIP,包括没有上传速度的限制" + }], "searchEntryConfig": { "merge": true, "fieldSelector": { diff --git a/resource/sites/pterclub.com/config.json b/resource/sites/pterclub.com/config.json index eddebb4ba..0eadc62ba 100644 --- a/resource/sites/pterclub.com/config.json +++ b/resource/sites/pterclub.com/config.json @@ -7,6 +7,63 @@ "tags": ["影视", "综合"], "schema": "NexusPHP", "host": "pterclub.com", + "levelRequirements": [{ + "level": "1", + "name": "Power User", + "interval": "5", + "downloaded": "50GB", + "ratio": "1.05", + "privilege": "直接发布种子;查看邀请区;请求续种;上传字幕和删除自己上传的字幕" + },{ + "level": "2", + "name": "Elite User", + "interval": "10", + "downloaded": "120GB", + "ratio": "1.55", + "privilege": "可以查看排行榜" + },{ + "level": "3", + "name": "Crazy User", + "interval": "15", + "downloaded": "300GB", + "ratio": "2.05", + "privilege": "无" + },{ + "level": "4", + "name": "Insane User", + "interval": "25", + "downloaded": "500GB", + "ratio": "2.55", + "privilege": "查看普通日志" + },{ + "level": "5", + "name": "Veteran User", + "interval": "30", + "downloaded": "750GB", + "ratio": "3.05", + "privilege": "用户封存账号后不会被封禁" + },{ + "level": "6", + "name": "Extreme User", + "interval": "35", + "downloaded": "1024GB", + "ratio": "3.55", + "privilege": "无" + },{ + "level": "7", + "name": "Ultimate User", + "interval": "40", + "downloaded": "1536 ", + "ratio": "4.05", + "privilege": "无" + },{ + "level": "8", + "name": "Nexus Master", + "interval": "150", + "downloaded": "45TB", + "ratio": "4.55", + "privilege": "永远保留账号" + }], "formerHosts": [ "pter.club" ], diff --git a/resource/sites/totheglory.im/config.json b/resource/sites/totheglory.im/config.json index 4ef714c44..026cfd49f 100644 --- a/resource/sites/totheglory.im/config.json +++ b/resource/sites/totheglory.im/config.json @@ -20,6 +20,84 @@ "scripts": ["/schemas/NexusPHP/common.js", "bookmarks.js"] }], "host": "totheglory.im", + "levelRequirements": [{ + "level": "1", + "name": "KiloByte", + "interval": "5", + "downloaded": "60GB", + "ratio": "1.1", + "privilege": "可申请种子候选" + },{ + "level": "2", + "name": "MegaByte", + "interval": "8", + "downloaded": "150GB", + "ratio": "2.0", + "privilege": "无" + },{ + "level": "3", + "name": "GigaByte", + "interval": "8", + "downloaded": "250GB", + "ratio": "2.0", + "privilege": "可挂起,可进入积分商城" + },{ + "level": "4", + "name": "TeraByte", + "interval": "8", + "downloaded": "500GB", + "ratio": "2.5", + "privilege": "可用积分购买邀请,并可浏览全站(新加游戏分类页),可以访问邀请区" + },{ + "level": "5", + "name": "PetaByte", + "interval": "15", + "downloaded": "750GB", + "ratio": "2.5", + "privilege": "可直接发布种子" + },{ + "level": "6", + "name": "ExaByte", + "interval": "24", + "downloaded": "1TB", + "ratio": "3.0", + "privilege": "自行挂起账号后不会被清除" + },{ + "level": "7", + "name": "ZettaByte", + "interval": "24", + "downloaded": "1.5TB", + "ratio": "3.5", + "privilege": "无" + },{ + "level": "8", + "name": "YottaByte", + "interval": "24", + "downloaded": "2.5TB", + "ratio": "4.0", + "privilege": "可查看排行榜" + },{ + "level": "9", + "name": "BrontoByte", + "interval": "32", + "downloaded": "3.5TB", + "ratio": "5.0", + "privilege": "永远保留账号" + },{ + "level": "10", + "name": "NonaByte", + "interval": "48", + "downloaded": "50TB", + "ratio": "6.0", + "privilege": "无" + },{ + "level": "11", + "name": "DoggaByte", + "interval": "48", + "downloaded": "100TB", + "ratio": "6.0", + "privilege": "无" + }], "searchEntryConfig": { "page": "/browse.php", "queryString": "search_field=$key$", diff --git a/resource/sites/u2.dmhy.org/config.json b/resource/sites/u2.dmhy.org/config.json index 01e70f496..35985a0dd 100644 --- a/resource/sites/u2.dmhy.org/config.json +++ b/resource/sites/u2.dmhy.org/config.json @@ -10,6 +10,63 @@ ], "schema": "NexusPHP", "host": "u2.dmhy.org", + "levelRequirements": [{ + "level": "1", + "name": "御宅族", + "interval": "4", + "downloaded": "50GB", + "ratio": "1.05", + "privilege": "查看会员列表; 请求补种; 查看普通日志; 使用流量信息条" + },{ + "level": "2", + "name": "宅修士", + "interval": "8", + "downloaded": "120GB", + "ratio": "1.55", + "privilege": "无" + },{ + "level": "3", + "name": "宅教士", + "interval": "15", + "downloaded": "300GB", + "ratio": "2.55", + "privilege": "无" + },{ + "level": "4", + "name": "宅传教士", + "interval": "25", + "downloaded": "500GB", + "ratio": "2.55", + "privilege": "无" + },{ + "level": "5", + "name": "宅护法", + "interval": "40", + "downloaded": "750GB", + "ratio": "3.05", + "privilege": "使用邀请名额; 无可用邀请时,购买邀请" + },{ + "level": "6", + "name": "宅贤者", + "interval": "60", + "downloaded": "1024GB", + "ratio": "3.55", + "privilege": "无" + },{ + "level": "7", + "name": "宅圣", + "interval": "80", + "downloaded": "1536GB", + "ratio": "4.05", + "privilege": "账号封存后永久保留." + },{ + "level": "8", + "name": "宅神", + "interval": "100", + "downloaded": "3072GB", + "ratio": "4.55", + "privilege": "账号永久保留" + }], "searchEntryConfig": { "merge": true, "skipIMDbId": true, diff --git a/resource/sites/www.beitai.pt/config.json b/resource/sites/www.beitai.pt/config.json index 4b9090a38..66a5da49e 100644 --- a/resource/sites/www.beitai.pt/config.json +++ b/resource/sites/www.beitai.pt/config.json @@ -9,6 +9,63 @@ "综合" ], "host": "www.beitai.pt", + "levelRequirements": [{ + "level": "1", + "name": "Power User", + "interval": "4", + "downloaded": "50GB", + "ratio": "1.05", + "privilege": "得到一个邀请名额;直接发布种子;查看NFO文档;查看用户列表;请求续种;发送邀请;查看排行榜;查看其它用户的种子历史;删除自己上传的字幕。" + },{ + "level": "2", + "name": "Elite User", + "interval": "8", + "downloaded": "120GB", + "ratio": "1.55", + "privilege": "封存账号后不会被删除" + },{ + "level": "3", + "name": "Crazy User", + "interval": "15", + "downloaded": "300GB", + "ratio": "2.05", + "privilege": "得到两个邀请名额;在做种/下载/发布的时候选择匿名模式" + },{ + "level": "4", + "name": "Insane User", + "interval": "25", + "downloaded": "500GB", + "ratio": "2.55", + "privilege": "发送邀请;查看普通日志" + },{ + "level": "5", + "name": "Veteran User", + "interval": "40", + "downloaded": "750GB", + "ratio": "3.05", + "privilege": "永远保留账号;得到三个邀请名额;查看其它用户的评论、帖子历史" + },{ + "level": "6", + "name": "Extreme User", + "interval": "60", + "downloaded": "1TB", + "ratio": "3.55", + "privilege": "更新过期的外部信息;查看Extreme User论坛" + },{ + "level": "7", + "name": "Ultimate User", + "interval": "80", + "downloaded": "1.5TB", + "ratio": "4.05", + "privilege": "得到五个邀请名额" + },{ + "level": "8", + "name": "Nexus Master", + "interval": "100", + "downloaded": "3TB", + "ratio": "4.55", + "privilege": "得到十个邀请名额" + }], "collaborator": ["wyx1818", "tongyifan"], "searchEntryConfig": { "area": [ diff --git a/src/background/config.ts b/src/background/config.ts index 1ade0f4d8..9a36d0c38 100644 --- a/src/background/config.ts +++ b/src/background/config.ts @@ -380,6 +380,13 @@ class Config { _site.patterns = systemSite.patterns; } + // 更新升级要求 + if (!systemSite.levelRequirements && _site.levelRequirements) { + delete _site.levelRequirements; + } else { + _site.levelRequirements = systemSite.levelRequirements; + } + // 合并系统定义的搜索入口 if (_site.searchEntry && systemSite.searchEntry) { systemSite.searchEntry.forEach((sysEntry: SearchEntry) => { diff --git a/src/interface/common.ts b/src/interface/common.ts index a9d0761cc..6b600293a 100644 --- a/src/interface/common.ts +++ b/src/interface/common.ts @@ -267,6 +267,33 @@ export interface Site { mergeSchemaTagSelectors?: boolean; // 消息提醒开关 disableMessageCount?: boolean; + // 等级要求 + levelRequirements?: LevelRequirement[]; +} + +export interface LevelRequirement { + level?: number; + name?: string; + // 间隔要求 + interval?: number; + // 日期要求 + requiredDate?: string; + // 上传数要求 + upload?: number; + // 上传量要求 + uploaded?: string | number; + // 下载量要求 + downloaded?: string | number; + // 积分要求 + bonus?: number; + // 做种积分要求 + seedingPoints?:number; + // 保种体积要求 + seedingSize?: number; + // 分享率要求 + ratio?: number; + // 权限 + privilege?: string; } export interface Request { @@ -555,6 +582,8 @@ export interface UserInfo { lastErrorMsg?: string; // 消息数量 messageCount?: number; + // 下一等级 + nextLevel?: LevelRequirement; [key: string]: any; } diff --git a/src/options/views/Home.vue b/src/options/views/Home.vue index f42665b08..76a249e92 100644 --- a/src/options/views/Home.vue +++ b/src/options/views/Home.vue @@ -114,7 +114,44 @@ {{ showUserName ? props.item.user.name : "****" }} - {{ showUserLevel ? props.item.user.levelName : "****" }} + + {{ showUserLevel ? props.item.user.levelName : "****" }} + +
{{ props.item.user.uploaded | formatSize }} @@ -379,6 +416,138 @@ export default Vue.extend({ user.joinTime = PPF.transformTime(user.joinTime, site.timezoneOffset); user.joinDateTime = dayjs(user.joinTime).format("YYYY-MM-DD HH:mm:ss"); + + // 设置升级条件 + try + { + if (site.levelRequirements) + { + user.nextLevel = {}; + user.nextLevel.level = -1; + for (var levelRequirement of site.levelRequirements) + { + if (levelRequirement.requiredDate) + break; + + if (levelRequirement.interval && user.joinDateTime) + { + levelRequirement.requiredDate = dayjs(user.joinDateTime).add(levelRequirement.interval as number, "week").format("YYYY-MM-DD"); + } else + break; + } + + for (var levelRequirement of site.levelRequirements) + { + if (levelRequirement.interval && user.joinDateTime) + { + let weeks = levelRequirement.interval as number; + let requiredDate = dayjs(user.joinDateTime).add(weeks, "week"); + if (dayjs(new Date()).isBefore(requiredDate)) + { + user.nextLevel.requiredDate = requiredDate.format("YYYY-MM-DD"); + user.nextLevel.level = levelRequirement.level; + } + } + + if (levelRequirement.uploaded || (downloaded && levelRequirement.ratio)) + { + let levelRequirementUploaded = levelRequirement.uploaded ? this.fileSizetoLength(levelRequirement.uploaded as string) : 0; + let requiredUploadedbyRatio = levelRequirement.ratio ? downloaded * levelRequirement.ratio : 0; + let requiredUploaded = Math.max(levelRequirementUploaded, requiredUploadedbyRatio); + if (uploaded < requiredUploaded) + { + user.nextLevel.uploaded = requiredUploaded - uploaded; + user.nextLevel.level = levelRequirement.level; + } + } + + if (levelRequirement.downloaded) + { + let requiredDownloaded = this.fileSizetoLength(levelRequirement.downloaded as string); + if (downloaded < requiredDownloaded) + { + user.nextLevel.downloaded = requiredDownloaded - downloaded; + user.nextLevel.level = levelRequirement.level; + } + } + + if (levelRequirement.ratio) + { + let userRatio = user.ratio as number + let requiredRatio = levelRequirement.ratio as number; + if (userRatio != -1 && userRatio < requiredRatio) + { + user.nextLevel.ratio = levelRequirement.ratio; + user.nextLevel.level = levelRequirement.level; + } + } + + if (levelRequirement.bonus) + { + let userBonus = user.bonus as number + let requiredBonus = levelRequirement.bonus as number + + if (userBonus < requiredBonus) + { + user.nextLevel.bonus = requiredBonus - userBonus + user.nextLevel.level = levelRequirement.level; + } + } + + if (levelRequirement.seedingPoints) + { + let userSeedingPoints = user.seedingPoints as number + let requiredSeedingPoints = levelRequirement.seedingPoints as number + if (userSeedingPoints < requiredSeedingPoints) + { + user.nextLevel.seedingPoints = requiredSeedingPoints - userSeedingPoints; + user.nextLevel.level = levelRequirement.level; + } + } + + if (user.nextLevel.level as number > 0) + { + user.nextLevel.name = levelRequirement.name; + break; + } + } + } + } catch {} + }, + /** + * @return {number} + */ + fileSizetoLength(size: string | number): number { + if (typeof size == "number") { + return size; + } + let _size_raw_match = size + .replace(/,/g, "") + .trim() + .match(/^(\d*\.?\d+)(.*[^ZEPTGMK])?([ZEPTGMK](B|iB))$/i); + if (_size_raw_match) { + let _size_num = parseFloat(_size_raw_match[1]); + let _size_type = _size_raw_match[3]; + switch (true) { + case /Zi?B/i.test(_size_type): + return _size_num * Math.pow(2, 70); + case /Ei?B/i.test(_size_type): + return _size_num * Math.pow(2, 60); + case /Pi?B/i.test(_size_type): + return _size_num * Math.pow(2, 50); + case /Ti?B/i.test(_size_type): + return _size_num * Math.pow(2, 40); + case /Gi?B/i.test(_size_type): + return _size_num * Math.pow(2, 30); + case /Mi?B/i.test(_size_type): + return _size_num * Math.pow(2, 20); + case /Ki?B/i.test(_size_type): + return _size_num * Math.pow(2, 10); + default: + return _size_num; + } + } + return 0; }, /** * 获取站点用户信息 @@ -584,5 +753,17 @@ export default Vue.extend({ height: 30px; width: 30px; } + + td:hover div.levelRequirement { + display: block; + } + + .levelRequirement{ + position: absolute; + background-color: white; + display: none; + z-index: 999; + border: 1px solid black; + } }