opt: enum (#824)

* opt: enum

* opt: member page type
This commit is contained in:
My-Responsitories
2025-05-06 00:18:30 +08:00
committed by GitHub
parent 1da30d5d8f
commit a915650bb6
24 changed files with 211 additions and 291 deletions

View File

@@ -1,117 +0,0 @@
// ignore_for_file: constant_identifier_names
//https://github.com/yujincheng08/BiliRoaming/blob/master/app/src/main/res/values/strings_raw.xml
//https://github.com/yujincheng08/BiliRoaming/blob/master/app/src/main/res/values/arrays.xml
enum CDNService {
baseUrl,
backupUrl,
ali,
alib,
alio1,
cos,
cosb,
coso1,
hw,
hwb,
hwo1,
hw_08c,
hw_08h,
hw_08ct,
tf_hw,
tf_tx,
akamai,
aliov,
cosov,
hwov,
hk_bcache,
}
extension CDNServiceDesc on CDNService {
static const List<String> _descList = [
'基础 URL不推荐',
'备用 URL',
'ali阿里云',
'alib阿里云',
'alio1阿里云',
'cos腾讯云',
'cosb腾讯云VOD 加速类型)',
'coso1腾讯云',
'hw华为云融合 CDN',
'hwb华为云融合 CDN',
'hwo1华为云融合 CDN',
'08c华为云融合 CDN',
'08h华为云融合 CDN',
'08ct华为云融合 CDN',
'tf_hw华为云',
'tf_tx腾讯云',
'akamaiAkamai 海外)',
'aliov阿里云海外',
'cosov腾讯云海外',
'hwov华为云海外',
'hk_bcacheBilibili海外',
];
String get description => _descList[index];
}
extension CDNServiceHost on CDNService {
static const List<String> _hostList = [
'',
'',
'upos-sz-mirrorali.bilivideo.com',
'upos-sz-mirroralib.bilivideo.com',
'upos-sz-mirroralio1.bilivideo.com',
'upos-sz-mirrorcos.bilivideo.com',
'upos-sz-mirrorcosb.bilivideo.com',
'upos-sz-mirrorcoso1.bilivideo.com',
'upos-sz-mirrorhw.bilivideo.com',
'upos-sz-mirrorhwb.bilivideo.com',
'upos-sz-mirrorhwo1.bilivideo.com',
'upos-sz-mirror08c.bilivideo.com',
'upos-sz-mirror08h.bilivideo.com',
'upos-sz-mirror08ct.bilivideo.com',
'upos-tf-all-hw.bilivideo.com',
'upos-tf-all-tx.bilivideo.com',
'upos-hz-mirrorakam.akamaized.net',
'upos-sz-mirroraliov.bilivideo.com',
'upos-sz-mirrorcosov.bilivideo.com',
'upos-sz-mirrorhwov.bilivideo.com',
'cn-hk-eq-bcache-01.bilivideo.com',
];
String get host => _hostList[index];
}
extension CDNServiceCode on CDNService {
static const List<String> _codeList = [
'baseUrl',
'backupUrl',
'ali',
'alib',
'alio1',
'cos',
'cosb',
'coso1',
'hw',
'hwb',
'hwo1',
'hw_08c',
'hw_08h',
'hw_08ct',
'tf_hw',
'tf_tx',
'akamai',
'aliov',
'cosov',
'hwov',
'hk_bcache',
];
String get code => _codeList[index];
static CDNService? fromCode(String code) {
final index = _codeList.indexOf(code);
if (index != -1) {
return CDNService.values[index];
}
return null;
}
}

View File

@@ -0,0 +1,36 @@
// ignore_for_file: constant_identifier_names
//https://github.com/yujincheng08/BiliRoaming/blob/master/app/src/main/res/values/strings_raw.xml
//https://github.com/yujincheng08/BiliRoaming/blob/master/app/src/main/res/values/arrays.xml
enum CDNService {
baseUrl('基础URL不推荐'),
backupUrl('备用URL'),
ali('ali阿里云', 'upos-sz-mirrorali.bilivideo.com'),
alib('alib阿里云', 'upos-sz-mirroralib.bilivideo.com'),
alio1('alio1阿里云', 'upos-sz-mirroralio1.bilivideo.com'),
cos('cos腾讯云', 'upos-sz-mirrorcos.bilivideo.com'),
cosb('cosb腾讯云VOD加速类型', 'upos-sz-mirrorcosb.bilivideo.com'),
coso1('coso1腾讯云', 'upos-sz-mirrorcoso1.bilivideo.com'),
hw('hw华为云融合CDN', 'upos-sz-mirrorhw.bilivideo.com'),
hwb('hwb华为云融合CDN', 'upos-sz-mirrorhwb.bilivideo.com'),
hwo1('hwo1华为云融合CDN', 'upos-sz-mirrorhwo1.bilivideo.com'),
hw_08c('08c华为云融合CDN', 'upos-sz-mirror08c.bilivideo.com'),
hw_08h('08h华为云融合CDN', 'upos-sz-mirror08h.bilivideo.com'),
hw_08ct('08ct华为云融合CDN', 'upos-sz-mirror08ct.bilivideo.com'),
tf_hw('tf_hw华为云', 'upos-tf-all-hw.bilivideo.com'),
tf_tx('tf_tx腾讯云', 'upos-tf-all-tx.bilivideo.com'),
akamai('akamaiAkamai海外', 'upos-hz-mirrorakam.akamaized.net'),
aliov('aliov阿里云海外', 'upos-sz-mirroraliov.bilivideo.com'),
cosov('cosov腾讯云海外', 'upos-sz-mirrorcosov.bilivideo.com'),
hwov('hwov华为云海外', 'upos-sz-mirrorhwov.bilivideo.com'),
hk_bcache('hk_bcacheBilibili海外', 'cn-hk-eq-bcache-01.bilivideo.com');
String get code => name;
static final fromCode = values.byName;
final String description;
final String host;
const CDNService(this.description, [this.host = '']);
}