fix(geo.js): separate ISO Code from Country Name (#133)

#build
Build sub-store.min.js
This commit is contained in:
github-actions@github.com 2022-06-25 16:49:51 +00:00 committed by Peng-YM
parent 9202437f05
commit f1c8d85ddc
5 changed files with 257 additions and 14191 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

14063
backend/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -8,16 +8,14 @@ export function getFlag(name) {
const Flags = {
'🏳️‍🌈': ['流量', '时间', '过期', 'Bandwidth', 'Expire'],
'🇸🇱': ['应急', '测试节点'],
'🇦🇩': ['AD', 'AND', 'Andorra', '安道尔'],
'🇦🇪': ['AE', 'ARE', 'United Arab Emirates', '阿联酋', '迪拜'],
'🇦🇫': ['AF', 'AFG', 'Afghanistan', '阿富汗'],
'🇦🇱': ['AL', 'ALB', 'Albania', '阿尔巴尼亚', '阿爾巴尼亞'],
'🇦🇲': ['AM', 'ARM', 'Armenia', '亚美尼亚'],
'🇦🇷': ['AR', 'ARG', 'Argentina', '阿根廷'],
'🇦🇹': ['AT', 'AUT', 'Austria', '奥地利', '奧地利', '维也纳'],
'🇦🇩': ['Andorra', '安道尔'],
'🇦🇪': ['United Arab Emirates', '阿联酋', '迪拜'],
'🇦🇫': ['Afghanistan', '阿富汗'],
'🇦🇱': ['Albania', '阿尔巴尼亚', '阿爾巴尼亞'],
'🇦🇲': ['Armenia', '亚美尼亚'],
'🇦🇷': ['Argentina', '阿根廷'],
'🇦🇹': ['Austria', '奥地利', '奧地利', '维也纳'],
'🇦🇺': [
'AU',
'AUS',
'Australia',
'澳大利亚',
'澳洲',
@ -31,17 +29,15 @@ export function getFlag(name) {
'广澳',
'Sydney',
],
'🇦🇿': ['AZ', 'AZE', 'Azerbaijan', '阿塞拜疆'],
'🇧🇦': ['BA', 'BIH', 'Bosnia and Herzegovina', '波黑共和国', '波黑'],
'🇧🇩': ['BD', 'BGD', 'Bangladesh', '孟加拉国', '孟加拉'],
'🇧🇪': ['BE', 'BEL', 'Belgium', '比利时', '比利時'],
'🇧🇬': ['BG', 'BGR', 'Bulgaria', '保加利亚', '保加利亞'],
'🇧🇭': ['BH', 'BHR', 'Bahrain', '巴林'],
'🇧🇷': ['BR', 'BRA', 'Brazil', '巴西', '圣保罗'],
'🇧🇾': ['BY', 'BLR', 'Belarus', '白俄罗斯', '白俄'],
'🇦🇿': ['Azerbaijan', '阿塞拜疆'],
'🇧🇦': ['Bosnia and Herzegovina', '波黑共和国', '波黑'],
'🇧🇩': ['Bangladesh', '孟加拉国', '孟加拉'],
'🇧🇪': ['Belgium', '比利时', '比利時'],
'🇧🇬': ['Bulgaria', '保加利亚', '保加利亞'],
'🇧🇭': ['Bahrain', '巴林'],
'🇧🇷': ['Brazil', '巴西', '圣保罗'],
'🇧🇾': ['Belarus', '白俄罗斯', '白俄'],
'🇨🇦': [
'CA',
'CAN',
'Canada',
'加拿大',
'蒙特利尔',
@ -52,16 +48,21 @@ export function getFlag(name) {
'多伦多',
'Waterloo',
],
'🇨🇭': ['CH', 'CHE', 'Switzerland', '瑞士', '苏黎世', 'Zurich'],
'🇨🇱': ['CL', 'CHL', 'Chile', '智利'],
'🇨🇭': ['Switzerland', '瑞士', '苏黎世', 'Zurich'],
'🇨🇱': ['Chile', '智利'],
'🇨🇳': [
'CN',
'CHN',
'China',
'中国',
'中國',
'回国',
'回國',
'国内',
'國內',
'华东',
'华西',
'华南',
'华北',
'华中',
'江苏',
'北京',
'上海',
@ -74,13 +75,11 @@ export function getFlag(name) {
'镇江',
'back',
],
'🇨🇴': ['CO', 'COL', 'Colombia', '哥伦比亚'],
'🇨🇷': ['CR', 'CRI', 'Costa Rica', '哥斯达黎加'],
'🇨🇾': ['CY', 'CYP', 'Cyprus', '塞浦路斯'],
'🇨🇿': ['CZ', 'CZE', 'Czechia', '捷克'],
'🇨🇴': ['Colombia', '哥伦比亚'],
'🇨🇷': ['Costa Rica', '哥斯达黎加'],
'🇨🇾': ['Cyprus', '塞浦路斯'],
'🇨🇿': ['Czechia', '捷克'],
'🇩🇪': [
'DE',
'DEU',
'German',
'德国',
'德國',
@ -92,31 +91,26 @@ export function getFlag(name) {
'法兰克福',
'Frankfurt',
],
'🇩🇰': ['DK', 'DNK', '丹麦', '丹麥'],
'🇪🇨': ['EC', 'ECU', 'Ecuador', '厄瓜多尔'],
'🇪🇪': ['EE', 'EST', 'Estonia', '爱沙尼亚'],
'🇪🇬': ['EG', 'EGY', 'Egypt', '埃及'],
'🇪🇸': ['ES', 'ESP', 'Spain', '西班牙'],
'🇪🇺': ['EU', 'European Union', '欧盟', '欧罗巴'],
'🇫🇮': ['FI', 'FIN', 'Finland', '芬兰', '芬蘭', '赫尔辛基'],
'🇫🇷': ['FR', 'FRA', 'France', '法国', '法國', '巴黎'],
'🇩🇰': ['Denmark', '丹麦', '丹麥'],
'🇪🇨': ['Ecuador', '厄瓜多尔'],
'🇪🇪': ['Estonia', '爱沙尼亚'],
'🇪🇬': ['Egypt', '埃及'],
'🇪🇸': ['Spain', '西班牙'],
'🇪🇺': ['European Union', '欧盟', '欧罗巴'],
'🇫🇮': ['Finland', '芬兰', '芬蘭', '赫尔辛基'],
'🇫🇷': ['France', '法国', '法國', '巴黎'],
'🇬🇧': [
'GB',
'GBR',
'Great Britain',
'英国',
'UK',
'England',
'United Kingdom',
'伦敦',
'英',
'London',
],
'🇬🇪': ['GE', 'GEO', 'Georgia', '格鲁吉亚', '格魯吉亞'],
'🇬🇷': ['GR', 'GRC', 'Greece', '希腊', '希臘'],
'🇬🇪': ['Georgia', '格鲁吉亚', '格魯吉亞'],
'🇬🇷': ['Greece', '希腊', '希臘'],
'🇭🇰': [
'HK',
'HKG',
'Hongkong',
'香港',
'Hong Kong',
@ -125,21 +119,14 @@ export function getFlag(name) {
'深港',
'沪港',
'呼港',
'HKT',
'HKBN',
'HGC',
'WTT',
'CMI',
'穗港',
'京港',
'港',
],
'🇭🇷': ['HR', 'HRV', 'Croatia', '克罗地亚', '克羅地亞'],
'🇭🇺': ['HU', 'HUN', 'Hungary', '匈牙利'],
'🇯🇴': ['JO', 'JOR', 'Jordan', '约旦'],
'🇭🇷': ['Croatia', '克罗地亚', '克羅地亞'],
'🇭🇺': ['Hungary', '匈牙利'],
'🇯🇴': ['Jordan', '约旦'],
'🇯🇵': [
'JP',
'JPN',
'Japan',
'日本',
'东京',
@ -158,15 +145,14 @@ export function getFlag(name) {
'Osaka',
'Tokyo',
],
'🇰🇪': ['KE', 'KEN', 'Kenya', '肯尼亚'],
'🇰🇬': ['KG', 'KGZ', 'Kyrgyzstan', '吉尔吉斯斯坦'],
'🇰🇭': ['KH', 'KGZ', 'Cambodia', '柬埔寨'],
'🇰🇵': ['KP', 'PRK', 'North Korea', '朝鲜'],
'🇰🇪': ['Kenya', '肯尼亚'],
'🇰🇬': ['Kyrgyzstan', '吉尔吉斯斯坦'],
'🇰🇭': ['Cambodia', '柬埔寨'],
'🇰🇵': ['North Korea', '朝鲜'],
'🇰🇷': [
'KR',
'KOR',
'Korea',
'韩国',
'韓國',
'韩',
'韓',
'首尔',
@ -174,61 +160,43 @@ export function getFlag(name) {
'Chuncheon',
'Seoul',
],
'🇰🇿': ['KZ', 'KAZ', 'Kazakhstan', '哈萨克斯坦', '哈萨克'],
'🇮🇩': ['ID', 'IDN', 'Indonesia', '印尼', '印度尼西亚', '雅加达'],
'🇮🇪': ['IE', 'IRL', 'Ireland', '爱尔兰', '愛爾蘭', '都柏林'],
'🇮🇱': ['IL', 'ISR', 'Israel', '以色列'],
'🇮🇲': ['IM', 'Isle of Man', '马恩岛', '馬恩島'],
'🇮🇳': ['IN', 'IND', 'India', '印度', '孟买', 'MFumbai'],
'🇮🇷': ['IR', 'IRN', 'Iran', '伊朗'],
'🇮🇸': ['IS', 'ISL', 'Iceland', '冰岛', '冰島'],
'🇮🇹': ['IT', 'ITA', 'Italy', '意大利', '義大利', '米兰', 'Nachash'],
'🇱🇹': ['LT', 'Lithuania', '立陶宛'],
'🇱🇺': ['LU', 'Luxembourg', '卢森堡'],
'🇱🇻': ['LV', 'Latvia', '拉脱维亚', 'Latvija'],
'🇲🇦': ['MA', 'Morocco', '摩洛哥'],
'🇲🇩': ['MD', 'Moldova', '摩尔多瓦', '摩爾多瓦'],
'🇳🇬': ['NG', 'Nigeria', '尼日利亚', '尼日利亞'],
'🇲🇰': ['MK', 'Macedonia', '马其顿', '馬其頓'],
'🇲🇳': ['MN', 'Mongolia', '蒙古'],
'🇲🇴': ['MO', 'MAC', 'Macao', '澳门', '澳門', 'CTM'],
'🇲🇹': ['MT', 'Malta', '马耳他'],
'🇲🇽': ['MX', 'MEX', 'Mexico', '墨西哥'],
'🇲🇾': [
'MY',
'MYS',
'Malaysia',
'马来西亚',
'馬來西亞',
'吉隆坡',
'大馬',
],
'🇳🇱': [
'NL',
'NLD',
'Netherlands',
'荷兰',
'荷蘭',
'尼德蘭',
'阿姆斯特丹',
],
'🇳🇴': ['NO', 'NOR', 'Norway', '挪威'],
'🇳🇵': ['NP', 'Nepal', '尼泊尔'],
'🇳🇿': ['NZ', 'NZL', 'New Zealand', '新西兰', '新西蘭'],
'🇵🇦': ['PA', 'Panama', '巴拿马'],
'🇵🇪': ['PE', 'Peru', '秘鲁', '祕魯'],
'🇵🇭': ['PH', 'Philippines', '菲律宾', '菲律賓'],
'🇵🇰': ['PK', 'Pakistan', '巴基斯坦'],
'🇵🇱': ['PL', 'POL', 'Poland', '波兰', '波蘭'],
'🇵🇷': ['PR', 'Puerto Rico', '波多黎各'],
'🇵🇹': ['PT', 'PRT', 'Portugal', '葡萄牙'],
'🇵🇾': ['PY', 'Paraguay', '巴拉圭'],
'🇷🇴': ['RO', 'Romania', '罗马尼亚'],
'🇷🇸': ['RS', 'Serbia', '塞尔维亚'],
'🇷🇪': ['RE', 'Réunion', '留尼汪', '法属留尼汪'],
'🇰🇿': ['Kazakhstan', '哈萨克斯坦', '哈萨克'],
'🇮🇩': ['Indonesia', '印尼', '印度尼西亚', '雅加达'],
'🇮🇪': ['Ireland', '爱尔兰', '愛爾蘭', '都柏林'],
'🇮🇱': ['Israel', '以色列'],
'🇮🇲': ['Isle of Man', '马恩岛', '馬恩島'],
'🇮🇳': ['India', '印度', '孟买', 'MFumbai'],
'🇮🇷': ['Iran', '伊朗'],
'🇮🇸': ['Iceland', '冰岛', '冰島'],
'🇮🇹': ['Italy', '意大利', '義大利', '米兰', 'Nachash'],
'🇱🇹': ['Lithuania', '立陶宛'],
'🇱🇺': ['Luxembourg', '卢森堡'],
'🇱🇻': ['Latvia', '拉脱维亚', 'Latvija'],
'🇲🇦': ['Morocco', '摩洛哥'],
'🇲🇩': ['Moldova', '摩尔多瓦', '摩爾多瓦'],
'🇳🇬': ['Nigeria', '尼日利亚', '尼日利亞'],
'🇲🇰': ['Macedonia', '马其顿', '馬其頓'],
'🇲🇳': ['Mongolia', '蒙古'],
'🇲🇴': ['Macao', '澳门', '澳門', 'CTM'],
'🇲🇹': ['Malta', '马耳他'],
'🇲🇽': ['Mexico', '墨西哥'],
'🇲🇾': ['Malaysia', '马来西亚', '馬來西亞', '吉隆坡', '大馬'],
'🇳🇱': ['Netherlands', '荷兰', '荷蘭', '尼德蘭', '阿姆斯特丹'],
'🇳🇴': ['Norway', '挪威'],
'🇳🇵': ['Nepal', '尼泊尔'],
'🇳🇿': ['New Zealand', '新西兰', '新西蘭'],
'🇵🇦': ['Panama', '巴拿马'],
'🇵🇪': ['Peru', '秘鲁', '祕魯'],
'🇵🇭': ['Philippines', '菲律宾', '菲律賓'],
'🇵🇰': ['Pakistan', '巴基斯坦'],
'🇵🇱': ['Poland', '波兰', '波蘭'],
'🇵🇷': ['Puerto Rico', '波多黎各'],
'🇵🇹': ['Portugal', '葡萄牙'],
'🇵🇾': ['Paraguay', '巴拉圭'],
'🇷🇴': ['Romania', '罗马尼亚'],
'🇷🇸': ['Serbia', '塞尔维亚'],
'🇷🇪': ['Réunion', '留尼汪', '法属留尼汪'],
'🇷🇺': [
'RU',
'RUS',
'Russia',
'俄罗斯',
'俄国',
@ -245,11 +213,9 @@ export function getFlag(name) {
'沪俄',
'Moscow',
],
'🇸🇦': ['SA', 'SAU', 'Saudi', '沙特阿拉伯', '沙特'],
'🇸🇪': ['SE', 'SWE', 'Sweden', '瑞典'],
'🇸🇦': ['Saudi', '沙特阿拉伯', '沙特'],
'🇸🇪': ['Sweden', '瑞典'],
'🇸🇬': [
'SG',
'SGP',
'Singapore',
'新加坡',
'狮城',
@ -264,29 +230,23 @@ export function getFlag(name) {
'廣新',
'滬新',
],
'🇸🇮': ['SI', 'Slovenia', '斯洛文尼亚'],
'🇸🇰': ['SK', 'Slovakia', '斯洛伐克'],
'🇹🇭': ['TH', 'THA', 'Thailand', '泰国', '泰國', '曼谷'],
'🇹🇳': ['TN', 'Tunisia', '突尼斯'],
'🇹🇷': ['TR', 'TUR', 'Turkey', '土耳其', '伊斯坦布尔'],
'🇸🇮': ['Slovenia', '斯洛文尼亚'],
'🇸🇰': ['Slovakia', '斯洛伐克'],
'🇹🇭': ['Thailand', '泰国', '泰國', '曼谷'],
'🇹🇳': ['Tunisia', '突尼斯'],
'🇹🇷': ['Turkey', '土耳其', '伊斯坦布尔'],
'🇹🇼': [
'TW',
'TWN',
'Taiwan',
'台湾',
'台北',
'台中',
'新北',
'彰化',
'CHT',
'台',
'HINET',
'Taipei',
],
'🇺🇦': ['UA', 'UKR', 'Ukraine', '乌克兰', '烏克蘭'],
'🇺🇦': ['Ukraine', '乌克兰', '烏克蘭'],
'🇺🇸': [
'US',
'USA',
'United States',
'美国',
'America',
@ -312,47 +272,144 @@ export function getFlag(name) {
'San Jose',
'Sillicon Valley',
'Michigan',
'LAX',
'SFO',
],
'🇺🇾': ['UY', 'Uruguay', '乌拉圭'],
'🇻🇪': ['VE', 'Venezuela', '委内瑞拉'],
'🇻🇳': ['VN', 'VNM', 'Vietnam', '越南', '胡志明'],
'🇿🇦': ['ZA', 'ZAF', 'South Africa', '南非'],
'🇺🇾': ['Uruguay', '乌拉圭'],
'🇻🇪': ['Venezuela', '委内瑞拉'],
'🇻🇳': ['Vietnam', '越南', '胡志明'],
'🇿🇦': ['South Africa', '南非'],
};
const ISOFlags = {
'🏳️‍🌈': ['EXP', 'BAND'],
'🇸🇱': ['TEST', 'SOS'],
'🇦🇩': ['AD', 'AND'],
'🇦🇪': ['AE', 'ARE'],
'🇦🇫': ['AF', 'AFG'],
'🇦🇱': ['AL', 'ALB'],
'🇦🇲': ['AM', 'ARM'],
'🇦🇷': ['AR', 'ARG'],
'🇦🇹': ['AT', 'AUT'],
'🇦🇺': ['AU', 'AUS'],
'🇦🇿': ['AZ', 'AZE'],
'🇧🇦': ['BA', 'BIH'],
'🇧🇩': ['BD', 'BGD'],
'🇧🇪': ['BE', 'BEL'],
'🇧🇬': ['BG', 'BGR'],
'🇧🇭': ['BH', 'BHR'],
'🇧🇷': ['BR', 'BRA'],
'🇧🇾': ['BY', 'BLR'],
'🇨🇦': ['CA', 'CAN'],
'🇨🇭': ['CH', 'CHE'],
'🇨🇱': ['CL', 'CHL'],
'🇨🇳': ['CN', 'CHN'],
'🇨🇴': ['CO', 'COL'],
'🇨🇷': ['CR', 'CRI'],
'🇨🇾': ['CY', 'CYP'],
'🇨🇿': ['CZ', 'CZE'],
'🇩🇪': ['DE', 'DEU'],
'🇩🇰': ['DK', 'DNK'],
'🇪🇨': ['EC', 'ECU'],
'🇪🇪': ['EE', 'EST'],
'🇪🇬': ['EG', 'EGY'],
'🇪🇸': ['ES', 'ESP'],
'🇪🇺': ['EU'],
'🇫🇮': ['FI', 'FIN'],
'🇫🇷': ['FR', 'FRA'],
'🇬🇧': ['GB', 'GBR', 'UK'],
'🇬🇪': ['GE', 'GEO'],
'🇬🇷': ['GR', 'GRC'],
'🇭🇰': ['HK', 'HKG', 'HKT', 'HKBN', 'HGC', 'WTT', 'CMI'],
'🇭🇷': ['HR', 'HRV'],
'🇭🇺': ['HU', 'HUN'],
'🇯🇴': ['JO', 'JOR'],
'🇯🇵': ['JP', 'JPN'],
'🇰🇪': ['KE', 'KEN'],
'🇰🇬': ['KG', 'KGZ'],
'🇰🇭': ['KH', 'KGZ'],
'🇰🇵': ['KP', 'PRK'],
'🇰🇷': ['KR', 'KOR'],
'🇰🇿': ['KZ', 'KAZ'],
'🇮🇩': ['ID', 'IDN'],
'🇮🇪': ['IE', 'IRL'],
'🇮🇱': ['IL', 'ISR'],
'🇮🇲': ['IM', 'IMN'],
'🇮🇳': ['IN', 'IND'],
'🇮🇷': ['IR', 'IRN'],
'🇮🇸': ['IS', 'ISL'],
'🇮🇹': ['IT', 'ITA'],
'🇱🇹': ['LT', 'LTU'],
'🇱🇺': ['LU', 'LUX'],
'🇱🇻': ['LV', 'LVA'],
'🇲🇦': ['MA', 'MAR'],
'🇲🇩': ['MD', 'MDA'],
'🇳🇬': ['NG', 'NGA'],
'🇲🇰': ['MK', 'MKD'],
'🇲🇳': ['MN', 'MNG'],
'🇲🇴': ['MO', 'MAC', 'CTM'],
'🇲🇹': ['MT', 'MLT'],
'🇲🇽': ['MX', 'MEX'],
'🇲🇾': ['MY', 'MYS'],
'🇳🇱': ['NL', 'NLD'],
'🇳🇴': ['NO', 'NOR'],
'🇳🇵': ['NP', 'NPL'],
'🇳🇿': ['NZ', 'NZL'],
'🇵🇦': ['PA', 'PAN'],
'🇵🇪': ['PE', 'PER'],
'🇵🇭': ['PH', 'PHL'],
'🇵🇰': ['PK', 'PAK'],
'🇵🇱': ['PL', 'POL'],
'🇵🇷': ['PR', 'PRI'],
'🇵🇹': ['PT', 'PRT'],
'🇵🇾': ['PY', 'PRY'],
'🇷🇴': ['RO', 'ROU'],
'🇷🇸': ['RS', 'SRB'],
'🇷🇪': ['RE', 'REU'],
'🇷🇺': ['RU', 'RUS'],
'🇸🇦': ['SA', 'SAU'],
'🇸🇪': ['SE', 'SWE'],
'🇸🇬': ['SG', 'SGP'],
'🇸🇮': ['SI', 'SVN'],
'🇸🇰': ['SK', 'SVK'],
'🇹🇭': ['TH', 'THA'],
'🇹🇳': ['TN', 'TUN'],
'🇹🇷': ['TR', 'TUR'],
'🇹🇼': ['TW', 'TWN', 'CHT', 'HINET'],
'🇺🇦': ['UA', 'UKR'],
'🇺🇸': ['US', 'USA', 'LAX', 'SFO'],
'🇺🇾': ['UY', 'URY'],
'🇻🇪': ['VE', 'VEN'],
'🇻🇳': ['VN', 'VNM'],
'🇿🇦': ['ZA', 'ZAF'],
};
// 原旗帜或空
let Flag =
name.match(/[\uD83C][\uDDE6-\uDDFF][\uD83C][\uDDE6-\uDDFF]/)?.[0] ||
'🏴‍☠️';
//console.log(`oldFlag = ${Flag}`)
// 旗帜匹配
for (let flag of Object.keys(Flags)) {
const keywords = Flags[flag];
//console.log(`keywords = ${keywords}`)
// 精确匹配(两侧均有分割)
if (
keywords.some((keyword) =>
RegExp(`[^a-zA-Z]${keyword}[^a-zA-Z]`, 'i').test(name),
)
) {
//console.log(`new Flag1 = ${flag}`)
Flag = flag;
break; // 这里及时跳出,避免被之后的匹配覆盖结果
// 半精确匹配(至少一侧有分隔符)
} else if (
keywords.some(
(keyword) =>
RegExp(`[^a-zA-Z]${keyword}`, 'i').test(name) ||
RegExp(`${keyword}[^a-zA-Z]`, 'i').test(name),
)
) {
//console.log(`new Flag2 = ${flag}`)
Flag = flag;
// 不精确匹配(只要包含就算)
} else if (
// 不精确匹配(只要包含就算,忽略大小写)
keywords.some((keyword) => RegExp(`${keyword}`, 'i').test(name))
) {
//console.log(`new Flag3 = ${flag}`)
Flag = flag;
//console.log(`newFlag = ${flag}`)
return (Flag = flag);
}
}
// ISO旗帜匹配
for (let flag of Object.keys(ISOFlags)) {
const keywords = ISOFlags[flag];
//console.log(`keywords = ${keywords}`)
if (
// 精确匹配(两侧均有分割)
keywords.some((keyword) =>
RegExp(`[^a-zA-Z]${keyword}[^a-zA-Z]`).test(name),
)
) {
//console.log(`ISOFlag = ${flag}`)
return (Flag = flag);
}
}
//console.log(`Final Flag = ${Flag}`)

File diff suppressed because one or more lines are too long