提交
0
public/.htaccess
Normal file
BIN
public/favicon.ico
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
27
public/index.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2006-2019 http://thinkphp.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: liu21st <liu21st@gmail.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
use think\App;
|
||||
|
||||
// [ 应用入口文件 ]
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
|
||||
// 执行HTTP应用并响应
|
||||
$http = (new App())->http;
|
||||
|
||||
$_SERVER['SCRIPT_NAME'] = '/tha/index.php';
|
||||
$_SERVER['PHP_SELF'] = '/tha/index.php';
|
||||
$response = $http->run();
|
||||
|
||||
$response->send();
|
||||
|
||||
$http->end($response);
|
||||
14
public/its_travel_reasons.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"商务/会议/研讨会/展览": "Business/Conference/Seminar/Exhibition 商务/会议/研讨会/展览",
|
||||
"教育/培训": "Education/Training 教育/培训",
|
||||
"就业": "Employment 就业",
|
||||
"官方/政府部门": "Official/Government Department 官方/政府部门",
|
||||
"度假/观光/休闲": "Vacation/Sightseeing/Leisure 度假/观光/休闲",
|
||||
"医疗": "Medical Treatment 医疗",
|
||||
"宗教信仰": "Religious Belief 宗教信仰",
|
||||
"体育赛事": "Sports Events 体育赛事",
|
||||
"定居": "Settlement 定居",
|
||||
"探访亲友": "Visiting Relatives or Friends 探访亲友",
|
||||
"单日过境/过境免签政策": "Same-day Transit/Transit Visa Exemption Policy 单日过境/过境免签政策",
|
||||
"其他": "Other 其他"
|
||||
}
|
||||
252
public/json/country.json
Normal file
@@ -0,0 +1,252 @@
|
||||
[
|
||||
{"value": "CHN : PEOPLE'S REPUBLIC OF CHINA", "name": "中国"},
|
||||
{"value": "HKG : HONGKONG SAR, CHINA", "name": "中国香港"},
|
||||
{"value": "MAC : MACAO SAR, CHINA", "name": "中国澳门"},
|
||||
{"value": "TWN : TAIWAN", "name": "中国台湾"},
|
||||
{"value": "ALA : ALAND ISLANDS", "name": "奥兰群岛"},
|
||||
{"value": "ASM : AMERICAN SAMOA", "name": "美属萨摩亚"},
|
||||
{"value": "AIA : ANGUILLA", "name": "安圭拉"},
|
||||
{"value": "ATG : ANTIGUA AND BARBUDA", "name": "安提瓜和巴布达"},
|
||||
{"value": "EGY : ARAB REPUBLIC OF EGYPT", "name": "阿拉伯埃及共和国"},
|
||||
{"value": "ARG : ARGENTINE REPUBLIC", "name": "阿根廷"},
|
||||
{"value": "ABW : ARUBA", "name": "阿鲁巴"},
|
||||
{"value": "AUS : AUSTRALIA", "name": "澳大利亚"},
|
||||
{"value": "BRB : BARBADOS", "name": "巴巴多斯"},
|
||||
{"value": "BLZ : BELIZE", "name": "伯利兹"},
|
||||
{"value": "BMU : BERMUDA", "name": "百慕大"},
|
||||
{"value": "VEN : BOLIVARIAN REPUBLIC OF VENEZUELA", "name": "委内瑞拉"},
|
||||
{"value": "BES : BONAIRE, SINT EUSTATIUS AND SABA", "name": "博内尔岛、圣尤斯达蒂乌斯和萨巴岛"},
|
||||
{"value": "BIH : BOSNIA AND HERZEGOVINA", "name": "波斯尼亚和黑塞哥维那"},
|
||||
{"value": "BVT : BOUVET ISLAND", "name": "布维岛"},
|
||||
{"value": "IOT : BRITISH INDIAN OCEAN TERR.", "name": "英属印度洋领地"},
|
||||
{"value": "VGB : BRITISH VIRGIN ISLANDS", "name": "英属维尔京群岛"},
|
||||
{"value": "BRN : BRUNEI DARUSSALAM", "name": "文莱"},
|
||||
{"value": "BFA : BURKINA FASO", "name": "布基纳法索"},
|
||||
{"value": "CAN : CANADA", "name": "加拿大"},
|
||||
{"value": "CYM : CAYMAN ISLANDS", "name": "开曼群岛"},
|
||||
{"value": "CAF : CENTRAL AFRICAN REPUBLIC", "name": "中非共和国"},
|
||||
{"value": "CXR : CHRISTMAS ISLAND", "name": "圣诞岛"},
|
||||
{"value": "GUY : CO-OPERATIVE REPUBLIC OF GUYANA", "name": "圭亚那"},
|
||||
{"value": "CCK : COCOS (KEELING) ISLANDS", "name": "科科斯(基林)群岛"},
|
||||
{"value": "DMA : COMMONWEALTH OF DOMINICA", "name": "多米尼加"},
|
||||
{"value": "BHS : COMMONWEALTH OF THE BAHAMAS", "name": "巴哈马"},
|
||||
{"value": "COK : COOK ISLANDS", "name": "库克群岛"},
|
||||
{"value": "MNE : CRNA GORA MONTENEGRO", "name": "黑山"},
|
||||
{"value": "CUW : CURACAO", "name": "库拉索"},
|
||||
{"value": "CZE : CZECH REPUBLIC", "name": "捷克"},
|
||||
{"value": "PRK : DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA", "name": "朝鲜"},
|
||||
{"value": "STP : DEMOCRATIC REPUBLIC OF SAO TOME AND PRINCIPE", "name": "圣多美和普林西比"},
|
||||
{"value": "COD : DEMOCRATIC REPUBLIC OF THE CONGO", "name": "刚果民主共和国"},
|
||||
{"value": "TLS : DEMOCRATIC REPUBLIC OF TIMOR-LESTE", "name": "东帝汶"},
|
||||
{"value": "LKA : DEMOCRATIC SOCIALIST REPUBLIC OF SRI LANKA", "name": "斯里兰卡"},
|
||||
{"value": "DOM : DOMINICAN REPUBLIC", "name": "多米尼加共和国"},
|
||||
{"value": "URY : EASTERN REPUBLIC OF URUGUAY", "name": "乌拉圭"},
|
||||
{"value": "ERI : ERITREA", "name": "厄立特里亚"},
|
||||
{"value": "EST : ESTONIA", "name": "爱沙尼亚"},
|
||||
{"value": "FLK : FALKLAND ISLANDS (MALVINAS)", "name": "福克兰群岛(马尔维纳斯)"},
|
||||
{"value": "FRO : FAROE ISLANDS", "name": "法罗群岛"},
|
||||
{"value": "ETH : FEDERAL DEMOCRATIC REPUBLIC OF ETHIOPIA", "name": "埃塞俄比亚"},
|
||||
{"value": "NPL : FEDERAL DEMOCRATIC REPUBLIC OF NEPAL", "name": "尼泊尔"},
|
||||
{"value": "DEU : FEDERAL REPUBLIC OF GERMANY", "name": "德国"},
|
||||
{"value": "NGA : FEDERAL REPUBLIC OF NIGERIA", "name": "尼日利亚"},
|
||||
{"value": "SOM : FEDERAL REPUBLIC OF SOMALIA", "name": "索马里"},
|
||||
{"value": "FSM : FEDERATED STATES OF MICRONESIA", "name": "密克罗尼西亚联邦"},
|
||||
{"value": "BRA : FEDERATIVE REPUBLIC OF BRAZIL", "name": "巴西"},
|
||||
{"value": "GUF : FRENCH GUIANA", "name": "法属圭亚那"},
|
||||
{"value": "PYF : FRENCH POLYNESIA", "name": "法属波利尼西亚"},
|
||||
{"value": "FRA : FRENCH REPUBLIC", "name": "法国"},
|
||||
{"value": "ATF : FRENCH SOUTHERN TERRIORIES", "name": "法属南部领土"},
|
||||
{"value": "GAB : GABONESE REPUBLIC", "name": "加蓬"},
|
||||
{"value": "GEO : GEORGIA", "name": "格鲁吉亚"},
|
||||
{"value": "GIB : GIBRALTAR", "name": "直布罗陀"},
|
||||
{"value": "LUX : GRAND DUCHY OF LUXEMBOURG", "name": "卢森堡"},
|
||||
{"value": "GRL : GREENLAND", "name": "格陵兰"},
|
||||
{"value": "GRD : GRENADA", "name": "格林纳达"},
|
||||
{"value": "GLP : GUADELOUPE", "name": "瓜德罗普"},
|
||||
{"value": "GUM : GUAM", "name": "关岛"},
|
||||
{"value": "GGY : GUERNSEY", "name": "根西岛"},
|
||||
{"value": "JOR : HASHEMITE KINGDOM OF JORDAN", "name": "约旦"},
|
||||
{"value": "HMD : HEARD AND MCDONALD ISLANDS", "name": "赫德和麦克唐纳群岛"},
|
||||
{"value": "GRC : HELLENIC REPUBLIC", "name": "希腊"},
|
||||
{"value": "WSM : INDEPENDENT STATE OF SAMOA", "name": "独立国萨摩亚"},
|
||||
{"value": "IRL : IRELAND", "name": "爱尔兰"},
|
||||
{"value": "AFG : ISLAMIC REPUBLIC OF AFGHANISTAN", "name": "阿富汗"},
|
||||
{"value": "IRN : ISLAMIC REPUBLIC OF IRAN", "name": "伊朗"},
|
||||
{"value": "MRT : ISLAMIC REPUBLIC OF MAURITANIA", "name": "毛里塔尼亚"},
|
||||
{"value": "PAK : ISLAMIC REPUBLIC OF PAKISTAN", "name": "巴基斯坦"},
|
||||
{"value": "IMN : ISLE OF MAN", "name": "马恩岛"},
|
||||
{"value": "ITA : ITALIAN REPUBLIC", "name": "意大利"},
|
||||
{"value": "JAM : JAMAICA", "name": "牙买加"},
|
||||
{"value": "JPN : JAPAN", "name": "日本"},
|
||||
{"value": "JEY : JERSEY", "name": "泽西岛"},
|
||||
{"value": "BHR : KINGDOM OF BAHRAIN", "name": "巴林"},
|
||||
{"value": "BEL : KINGDOM OF BELGIUM", "name": "比利时"},
|
||||
{"value": "BTN : KINGDOM OF BHUTAN", "name": "不丹"},
|
||||
{"value": "KHM : KINGDOM OF CAMBODIA", "name": "柬埔寨"},
|
||||
{"value": "SWZ : KINGDOM OF ESWATINI", "name": "斯威士兰"},
|
||||
{"value": "LSO : KINGDOM OF LESOTHO", "name": "莱索托"},
|
||||
{"value": "MAR : KINGDOM OF MOROCCO", "name": "摩洛哥"},
|
||||
{"value": "NOR : KINGDOM OF NORWAY", "name": "挪威"},
|
||||
{"value": "SAU : KINGDOM OF SAUDI ARABIA", "name": "沙特阿拉伯"},
|
||||
{"value": "ESP : KINGDOM OF SPAIN", "name": "西班牙"},
|
||||
{"value": "SWE : KINGDOM OF SWEDEN", "name": "瑞典"},
|
||||
{"value": "NLD : KINGDOM OF THE NETHERLANDS", "name": "荷兰"},
|
||||
{"value": "TON : KINGDOM OF TONGA", "name": "汤加"},
|
||||
{"value": "KIR : KIRIBATI", "name": "基里巴斯"},
|
||||
{"value": "KGZ : KYRGYZ REPUBLIC", "name": "吉尔吉斯斯坦"},
|
||||
{"value": "LAO : LAO PEOPLE'S DEMOCRATIC REPUBLIC", "name": "老挝"},
|
||||
{"value": "LBN : LEBANESE REPUBLIC", "name": "黎巴嫩"},
|
||||
{"value": "MYS : MALAYSIA", "name": "马来西亚"},
|
||||
{"value": "MTQ : MARTINIQUE", "name": "马提尼克"},
|
||||
{"value": "MYT : MAYOTTE", "name": "马约特"},
|
||||
{"value": "MNG : MONGOLIA", "name": "蒙古"},
|
||||
{"value": "MSR : MONTSERRAT", "name": "蒙特塞拉特"},
|
||||
{"value": "ANT : NETHERLANDS ANTILLES", "name": "荷属安地列斯"},
|
||||
{"value": "NCL : NEW CALEDONIA", "name": "新喀里多尼亚"},
|
||||
{"value": "NZL : NEW ZEALAND", "name": "新西兰"},
|
||||
{"value": "NIU : NIUE", "name": "纽埃"},
|
||||
{"value": "NFK : NORFOLK ISLAND", "name": "诺福克岛"},
|
||||
{"value": "MNP : NORTHERN MARIANA ISLANDS", "name": "北马里亚纳群岛"},
|
||||
{"value": "PNG : PAPUA NEW GUINEA", "name": "巴布亚新几内亚"},
|
||||
{"value": "DZA : PEOPLE'S DEMOCRATIC REPUBLIC OF ALGERIA", "name": "阿尔及利亚"},
|
||||
{"value": "BGD : PEOPLE'S REPUBLIC OF BANGLADESH", "name": "孟加拉国"},
|
||||
{"value": "PCN : PITCAIRN", "name": "皮特凯恩"},
|
||||
{"value": "BOL : PLURINATIONAL STATE OF BOLIVIA", "name": "玻利维亚"},
|
||||
{"value": "PRT : PORTUGUESE REPUBLIC", "name": "葡萄牙"},
|
||||
{"value": "AND : PRINCIPALITY OF ANDORRA", "name": "安道尔"},
|
||||
{"value": "LIE : PRINCIPALITY OF LIECHTENSTEIN", "name": "列支敦士登"},
|
||||
{"value": "MCO : PRINCIPALITY OF MONACO", "name": "摩纳哥"},
|
||||
{"value": "PRI : PUERTO RICO", "name": "波多黎各"},
|
||||
{"value": "ALB : REPUBLIC OF ALBANIA", "name": "阿尔巴尼亚"},
|
||||
{"value": "AGO : REPUBLIC OF ANGOLA", "name": "安哥拉"},
|
||||
{"value": "ARM : REPUBLIC OF ARMENIA", "name": "亚美尼亚"},
|
||||
{"value": "AUT : REPUBLIC OF AUSTRIA", "name": "奥地利"},
|
||||
{"value": "AZE : REPUBLIC OF AZERBAIJAN", "name": "阿塞拜疆"},
|
||||
{"value": "BLR : REPUBLIC OF BELARUS", "name": "白俄罗斯"},
|
||||
{"value": "BEN : REPUBLIC OF BENIN", "name": "贝宁"},
|
||||
{"value": "BWA : REPUBLIC OF BOTSWANA", "name": "博茨瓦纳"},
|
||||
{"value": "BGR : REPUBLIC OF BULGARIA", "name": "保加利亚"},
|
||||
{"value": "BDI : REPUBLIC OF BURUNDI", "name": "布隆迪"},
|
||||
{"value": "CPV : REPUBLIC OF CABO VERDE", "name": "佛得角"},
|
||||
{"value": "CMR : REPUBLIC OF CAMEROON", "name": "喀麦隆"},
|
||||
{"value": "TCD : REPUBLIC OF CHAD", "name": "乍得"},
|
||||
{"value": "CHL : REPUBLIC OF CHILE", "name": "智利"},
|
||||
{"value": "COL : REPUBLIC OF COLOMBIA", "name": "哥伦比亚"},
|
||||
{"value": "CRI : REPUBLIC OF COSTA RICA", "name": "哥斯达黎加"},
|
||||
{"value": "CIV : REPUBLIC OF COTE D'IVOIRE", "name": "科特迪瓦"},
|
||||
{"value": "HRV : REPUBLIC OF CROATIA", "name": "克罗地亚"},
|
||||
{"value": "CUB : REPUBLIC OF CUBA", "name": "古巴"},
|
||||
{"value": "CYP : REPUBLIC OF CYPRUS", "name": "塞浦路斯"},
|
||||
{"value": "DJI : REPUBLIC OF DJIBOUTI", "name": "吉布提"},
|
||||
{"value": "ECU : REPUBLIC OF ECUADOR", "name": "厄瓜多尔"},
|
||||
{"value": "SLV : REPUBLIC OF EL SALVADOR", "name": "萨尔瓦多"},
|
||||
{"value": "GNQ : REPUBLIC OF EQUATORIAL GUINEA", "name": "赤道几内亚"},
|
||||
{"value": "FJI : REPUBLIC OF FIJI", "name": "斐济"},
|
||||
{"value": "FIN : REPUBLIC OF FINLAND", "name": "芬兰"},
|
||||
{"value": "GHA : REPUBLIC OF GHANA", "name": "加纳"},
|
||||
{"value": "GTM : REPUBLIC OF GUATEMALA", "name": "危地马拉"},
|
||||
{"value": "GIN : REPUBLIC OF GUINEA", "name": "几内亚"},
|
||||
{"value": "GNB : REPUBLIC OF GUINEA-BISSAU", "name": "几内亚比绍"},
|
||||
{"value": "HTI : REPUBLIC OF HAITI", "name": "海地"},
|
||||
{"value": "HND : REPUBLIC OF HONDURAS", "name": "洪都拉斯"},
|
||||
{"value": "HUN : REPUBLIC OF HUNGARY", "name": "匈牙利"},
|
||||
{"value": "ISL : REPUBLIC OF ICELAND", "name": "冰岛"},
|
||||
{"value": "IND : REPUBLIC OF INDIA", "name": "印度"},
|
||||
{"value": "IDN : REPUBLIC OF INDONESIA", "name": "印度尼西亚"},
|
||||
{"value": "IRQ : REPUBLIC OF IRAQ", "name": "伊拉克"},
|
||||
{"value": "KAZ : REPUBLIC OF KAZAKHSTAN", "name": "哈萨克斯坦"},
|
||||
{"value": "KEN : REPUBLIC OF KENYA", "name": "肯尼亚"},
|
||||
{"value": "KOR : REPUBLIC OF KOREA", "name": "韩国"},
|
||||
{"value": "SVN : REPUBLIC OF KOSOVO", "name": "科索沃"},
|
||||
{"value": "LVA : REPUBLIC OF LATVIA", "name": "拉脱维亚"},
|
||||
{"value": "LBR : REPUBLIC OF LIBERIA", "name": "利比里亚"},
|
||||
{"value": "LTU : REPUBLIC OF LITHUANIA", "name": "立陶宛"},
|
||||
{"value": "MDG : REPUBLIC OF MADAGASCAR", "name": "马达加斯加"},
|
||||
{"value": "MWI : REPUBLIC OF MALAWI", "name": "马拉维"},
|
||||
{"value": "MDV : REPUBLIC OF MALDIVES", "name": "马尔代夫"},
|
||||
{"value": "MLI : REPUBLIC OF MALI", "name": "马里"},
|
||||
{"value": "MLT : REPUBLIC OF MALTA", "name": "马耳他"},
|
||||
{"value": "MUS : REPUBLIC OF MAURITIUS", "name": "毛里求斯"},
|
||||
{"value": "MDA : REPUBLIC OF MOLDOVA", "name": "摩尔多瓦"},
|
||||
{"value": "MOZ : REPUBLIC OF MOZAMBIQUE", "name": "莫桑比克"},
|
||||
{"value": "NAM : REPUBLIC OF NAMIBIA", "name": "纳米比亚"},
|
||||
{"value": "NRU : REPUBLIC OF NAURU", "name": "瑙鲁"},
|
||||
{"value": "NIC : REPUBLIC OF NICARAGUA", "name": "尼加拉瓜"},
|
||||
{"value": "MKD : REPUBLIC OF NORTH MACEDONIA", "name": "北马其顿"},
|
||||
{"value": "PLW : REPUBLIC OF PALAU", "name": "帕劳"},
|
||||
{"value": "PAN : REPUBLIC OF PANAMA", "name": "巴拿马"},
|
||||
{"value": "PRY : REPUBLIC OF PARAGUAY", "name": "巴拉圭"},
|
||||
{"value": "PER : REPUBLIC OF PERU", "name": "秘鲁"},
|
||||
{"value": "POL : REPUBLIC OF POLAND", "name": "波兰"},
|
||||
{"value": "RWA : REPUBLIC OF RWANDA", "name": "卢旺达"},
|
||||
{"value": "SMR : REPUBLIC OF SAN MARINO", "name": "圣马力诺"},
|
||||
{"value": "SEN : REPUBLIC OF SENEGAL", "name": "塞内加尔"},
|
||||
{"value": "SYC : REPUBLIC OF SEYCHELLES", "name": "塞舌尔"},
|
||||
{"value": "SLE : REPUBLIC OF SIERRA LEONE", "name": "塞拉利昂"},
|
||||
{"value": "SVN : REPUBLIC OF SLOVENIA", "name": "斯洛文尼亚"},
|
||||
{"value": "ZAF : REPUBLIC OF SOUTH AFRICA", "name": "南非"},
|
||||
{"value": "SSD : REPUBLIC OF SOUTH SUDAN", "name": "南苏丹"},
|
||||
{"value": "SUR : REPUBLIC OF SURINAME", "name": "苏里南"},
|
||||
{"value": "TJK : REPUBLIC OF TAJIKISTAN", "name": "塔吉克斯坦"},
|
||||
{"value": "COG : REPUBLIC OF THE CONGO", "name": "刚果"},
|
||||
{"value": "GMB : REPUBLIC OF THE GAMBIA", "name": "冈比亚"},
|
||||
{"value": "MHL : REPUBLIC OF THE MARSHALL ISLANDS", "name": "马绍尔群岛"},
|
||||
{"value": "NER : REPUBLIC OF THE NIGER", "name": "尼日尔"},
|
||||
{"value": "PHL : REPUBLIC OF THE PHILIPPINES", "name": "菲律宾"},
|
||||
{"value": "SDN : REPUBLIC OF THE SUDAN", "name": "苏丹"},
|
||||
{"value": "MMR : REPUBLIC OF THE UNION OF MYANMAR", "name": "缅甸"},
|
||||
{"value": "TTO : REPUBLIC OF TRINIDAD AND TOBAGO", "name": "特立尼达和多巴哥"},
|
||||
{"value": "TUN : REPUBLIC OF TUNISIA", "name": "突尼斯"},
|
||||
{"value": "TUR : REPUBLIC OF TURKEY", "name": "土耳其"},
|
||||
{"value": "UGA : REPUBLIC OF UGANDA", "name": "乌干达"},
|
||||
{"value": "VUT : REPUBLIC OF VANUATU", "name": "瓦努阿图"},
|
||||
{"value": "YEM : REPUBLIC OF YEMEN", "name": "也门"},
|
||||
{"value": "ZMB : REPUBLIC OF ZAMBIA", "name": "赞比亚"},
|
||||
{"value": "ZWE : REPUBLIC OF ZIMBABWE", "name": "津巴布韦"},
|
||||
{"value": "REU : REUNION", "name": "留尼汪"},
|
||||
{"value": "ROU : ROMANIA", "name": "罗马尼亚"},
|
||||
{"value": "RUS : RUSSIAN FEDERATION", "name": "俄罗斯联邦"},
|
||||
{"value": "BLM : SAINT BARTHELEMY", "name": "圣巴瑟米"},
|
||||
{"value": "KNA : SAINT KITTS AND NEVIS", "name": "圣基茨和尼维斯"},
|
||||
{"value": "LCA : SAINT LUCIA", "name": "圣卢西亚"},
|
||||
{"value": "MAF : SAINT MARTIN (FRENCH PART)", "name": "圣马丁(法属部分)"},
|
||||
{"value": "VCT : SAINT VINCENT AND THE GRENADINES", "name": "圣文森特和格林纳丁斯"},
|
||||
{"value": "SRB : SERBIA", "name": "塞尔维亚"},
|
||||
{"value": "SXM : SINT MAARTEN (DUTCH PART)", "name": "荷属圣马丁"},
|
||||
{"value": "SVK : SLOVAK REPUBLIC", "name": "斯洛伐克"},
|
||||
{"value": "VNM : SOCIALIST REPUBLIC OF VIETNAM", "name": "越南"},
|
||||
{"value": "SLB : SOLOMON ISLANDS", "name": "所罗门群岛"},
|
||||
{"value": "SGS : SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS", "name": "南乔治亚岛和南桑威奇群岛"},
|
||||
{"value": "SHN : ST. HELENA", "name": "圣赫勒拿"},
|
||||
{"value": "SPM : ST. PEIRRE AND MIQUELON", "name": "圣皮埃尔和密克隆"},
|
||||
{"value": "ISR : STATE OF ISRAEL", "name": "以色列"},
|
||||
{"value": "KWT : STATE OF KUWAIT", "name": "科威特"},
|
||||
{"value": "LBY : STATE OF LIBYA", "name": "利比亚"},
|
||||
{"value": "PSE : STATE OF PALESTINE", "name": "巴勒斯坦"},
|
||||
{"value": "QAT : STATE OF QATAR", "name": "卡塔尔"},
|
||||
{"value": "OMN : SULTANATE OF OMAN", "name": "阿曼"},
|
||||
{"value": "SJM : SVALBARD AND JAN MAYEN ISLANDS", "name": "斯瓦尔巴群岛和扬马延岛"},
|
||||
{"value": "CHE : SWISS CONFEDERATION", "name": "瑞士"},
|
||||
{"value": "SYR : SYRIAN ARAB REPUBLIC", "name": "叙利亚阿拉伯共和国"},
|
||||
{"value": "DNK : THE KINGDOM OF DENMARK", "name": "丹麦王国"},
|
||||
{"value": "SGP : THE REPUBLIC OF SINGAPORE", "name": "新加坡共和国"},
|
||||
{"value": "UZB : THE REPUBLIC OF UZBEKISTANS", "name": "乌兹别克斯坦"},
|
||||
{"value": "ARE : THE UNITED ARAB EMIRATES", "name": "阿联酋"},
|
||||
{"value": "TGO : TOGOLESE REPUBLIC", "name": "多哥"},
|
||||
{"value": "TKL : TOKELAU", "name": "托克劳"},
|
||||
{"value": "TPI : TRUST TERRITORY OF THE PACIFIC ISLANDS", "name": "太平洋岛屿托管区"},
|
||||
{"value": "TKM : TURKMENISTAN", "name": "土库曼斯坦"},
|
||||
{"value": "TCA : TURKS AND CAICOS ISLANDS", "name": "特克斯和凯科斯群岛"},
|
||||
{"value": "TUV : TUVALU", "name": "图瓦卢"},
|
||||
{"value": "UKR : UKRAINE", "name": "乌克兰"},
|
||||
{"value": "COM : UNION OF THE COMOROS", "name": "科摩罗联盟"},
|
||||
{"value": "GBR : UNITED KINGDOM OF GREAT BRITAIN AND NORTHERN IRELAND", "name": "大不列颠及北爱尔兰联合王国"},
|
||||
{"value": "MEX : UNITED MEXICAN STATES", "name": "墨西哥合众国"},
|
||||
{"value": "TAN : UNITED REPUBLIC OF TANZANIA", "name": "坦桑尼亚联合共和国"},
|
||||
{"value": "UMI : UNITED STATES MINOR OUTLYING ISLANDS", "name": "美国本土外小岛屿"},
|
||||
{"value": "USA : UNITED STATES OF AMERICA", "name": "美利坚合众国"},
|
||||
{"value": "VIR : UNITED STATES VIRGIN ISLANDS", "name": "美属维尔京群岛"},
|
||||
{"value": "VAT : VATICAN CITY STATE", "name": "梵蒂冈城"},
|
||||
{"value": "WLF : WALLIS AND FUTUNA ISLANDS", "name": "瓦利斯和富图纳群岛"},
|
||||
{"value": "ESH : WESTERN SAHARA", "name": "西撒哈拉"}
|
||||
]
|
||||
252
public/json/country_en.json
Normal file
@@ -0,0 +1,252 @@
|
||||
[
|
||||
{"value": "CHN : PEOPLE'S REPUBLIC OF CHINA", "name": "China"},
|
||||
{"value": "HKG : HONGKONG SAR, CHINA", "name": "Hong Kong, China"},
|
||||
{"value": "MAC : MACAO SAR, CHINA", "name": "Macao, China"},
|
||||
{"value": "TWN : TAIWAN", "name": "Taiwan, China"},
|
||||
{"value": "ALA : ALAND ISLANDS", "name": "Åland Islands"},
|
||||
{"value": "ASM : AMERICAN SAMOA", "name": "American Samoa"},
|
||||
{"value": "AIA : ANGUILLA", "name": "Anguilla"},
|
||||
{"value": "ATG : ANTIGUA AND BARBUDA", "name": "Antigua and Barbuda"},
|
||||
{"value": "EGY : ARAB REPUBLIC OF EGYPT", "name": "Egypt"},
|
||||
{"value": "ARG : ARGENTINE REPUBLIC", "name": "Argentina"},
|
||||
{"value": "ABW : ARUBA", "name": "Aruba"},
|
||||
{"value": "AUS : AUSTRALIA", "name": "Australia"},
|
||||
{"value": "BRB : BARBADOS", "name": "Barbados"},
|
||||
{"value": "BLZ : BELIZE", "name": "Belize"},
|
||||
{"value": "BMU : BERMUDA", "name": "Bermuda"},
|
||||
{"value": "VEN : BOLIVARIAN REPUBLIC OF VENEZUELA", "name": "Venezuela"},
|
||||
{"value": "BES : BONAIRE, SINT EUSTATIUS AND SABA", "name": "Bonaire, Sint Eustatius and Saba"},
|
||||
{"value": "BIH : BOSNIA AND HERZEGOVINA", "name": "Bosnia and Herzegovina"},
|
||||
{"value": "BVT : BOUVET ISLAND", "name": "Bouvet Island"},
|
||||
{"value": "IOT : BRITISH INDIAN OCEAN TERR.", "name": "British Indian Ocean Territory"},
|
||||
{"value": "VGB : BRITISH VIRGIN ISLANDS", "name": "British Virgin Islands"},
|
||||
{"value": "BRN : BRUNEI DARUSSALAM", "name": "Brunei"},
|
||||
{"value": "BFA : BURKINA FASO", "name": "Burkina Faso"},
|
||||
{"value": "CAN : CANADA", "name": "Canada"},
|
||||
{"value": "CYM : CAYMAN ISLANDS", "name": "Cayman Islands"},
|
||||
{"value": "CAF : CENTRAL AFRICAN REPUBLIC", "name": "Central African Republic"},
|
||||
{"value": "CXR : CHRISTMAS ISLAND", "name": "Christmas Island"},
|
||||
{"value": "GUY : CO-OPERATIVE REPUBLIC OF GUYANA", "name": "Guyana"},
|
||||
{"value": "CCK : COCOS (KEELING) ISLANDS", "name": "Cocos (Keeling) Islands"},
|
||||
{"value": "DMA : COMMONWEALTH OF DOMINICA", "name": "Dominica"},
|
||||
{"value": "BHS : COMMONWEALTH OF THE BAHAMAS", "name": "Bahamas"},
|
||||
{"value": "COK : COOK ISLANDS", "name": "Cook Islands"},
|
||||
{"value": "MNE : CRNA GORA MONTENEGRO", "name": "Montenegro"},
|
||||
{"value": "CUW : CURACAO", "name": "Curaçao"},
|
||||
{"value": "CZE : CZECH REPUBLIC", "name": "Czech Republic"},
|
||||
{"value": "PRK : DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA", "name": "North Korea"},
|
||||
{"value": "STP : DEMOCRATIC REPUBLIC OF SAO TOME AND PRINCIPE", "name": "São Tomé and Príncipe"},
|
||||
{"value": "COD : DEMOCRATIC REPUBLIC OF THE CONGO", "name": "DR Congo"},
|
||||
{"value": "TLS : DEMOCRATIC REPUBLIC OF TIMOR-LESTE", "name": "Timor-Leste"},
|
||||
{"value": "LKA : DEMOCRATIC SOCIALIST REPUBLIC OF SRI LANKA", "name": "Sri Lanka"},
|
||||
{"value": "DOM : DOMINICAN REPUBLIC", "name": "Dominican Republic"},
|
||||
{"value": "URY : EASTERN REPUBLIC OF URUGUAY", "name": "Uruguay"},
|
||||
{"value": "ERI : ERITREA", "name": "Eritrea"},
|
||||
{"value": "EST : ESTONIA", "name": "Estonia"},
|
||||
{"value": "FLK : FALKLAND ISLANDS (MALVINAS)", "name": "Falkland Islands (Malvinas)"},
|
||||
{"value": "FRO : FAROE ISLANDS", "name": "Faroe Islands"},
|
||||
{"value": "ETH : FEDERAL DEMOCRATIC REPUBLIC OF ETHIOPIA", "name": "Ethiopia"},
|
||||
{"value": "NPL : FEDERAL DEMOCRATIC REPUBLIC OF NEPAL", "name": "Nepal"},
|
||||
{"value": "DEU : FEDERAL REPUBLIC OF GERMANY", "name": "Germany"},
|
||||
{"value": "NGA : FEDERAL REPUBLIC OF NIGERIA", "name": "Nigeria"},
|
||||
{"value": "SOM : FEDERAL REPUBLIC OF SOMALIA", "name": "Somalia"},
|
||||
{"value": "FSM : FEDERATED STATES OF MICRONESIA", "name": "Micronesia"},
|
||||
{"value": "BRA : FEDERATIVE REPUBLIC OF BRAZIL", "name": "Brazil"},
|
||||
{"value": "GUF : FRENCH GUIANA", "name": "French Guiana"},
|
||||
{"value": "PYF : FRENCH POLYNESIA", "name": "French Polynesia"},
|
||||
{"value": "FRA : FRENCH REPUBLIC", "name": "France"},
|
||||
{"value": "ATF : FRENCH SOUTHERN TERRIORIES", "name": "French Southern Territories"},
|
||||
{"value": "GAB : GABONESE REPUBLIC", "name": "Gabon"},
|
||||
{"value": "GEO : GEORGIA", "name": "Georgia"},
|
||||
{"value": "GIB : GIBRALTAR", "name": "Gibraltar"},
|
||||
{"value": "LUX : GRAND DUCHY OF LUXEMBOURG", "name": "Luxembourg"},
|
||||
{"value": "GRL : GREENLAND", "name": "Greenland"},
|
||||
{"value": "GRD : GRENADA", "name": "Grenada"},
|
||||
{"value": "GLP : GUADELOUPE", "name": "Guadeloupe"},
|
||||
{"value": "GUM : GUAM", "name": "Guam"},
|
||||
{"value": "GGY : GUERNSEY", "name": "Guernsey"},
|
||||
{"value": "JOR : HASHEMITE KINGDOM OF JORDAN", "name": "Jordan"},
|
||||
{"value": "HMD : HEARD AND MCDONALD ISLANDS", "name": "Heard Island and McDonald Islands"},
|
||||
{"value": "GRC : HELLENIC REPUBLIC", "name": "Greece"},
|
||||
{"value": "WSM : INDEPENDENT STATE OF SAMOA", "name": "Samoa"},
|
||||
{"value": "IRL : IRELAND", "name": "Ireland"},
|
||||
{"value": "AFG : ISLAMIC REPUBLIC OF AFGHANISTAN", "name": "Afghanistan"},
|
||||
{"value": "IRN : ISLAMIC REPUBLIC OF IRAN", "name": "Iran"},
|
||||
{"value": "MRT : ISLAMIC REPUBLIC OF MAURITANIA", "name": "Mauritania"},
|
||||
{"value": "PAK : ISLAMIC REPUBLIC OF PAKISTAN", "name": "Pakistan"},
|
||||
{"value": "IMN : ISLE OF MAN", "name": "Isle of Man"},
|
||||
{"value": "ITA : ITALIAN REPUBLIC", "name": "Italy"},
|
||||
{"value": "JAM : JAMAICA", "name": "Jamaica"},
|
||||
{"value": "JPN : JAPAN", "name": "Japan"},
|
||||
{"value": "JEY : JERSEY", "name": "Jersey"},
|
||||
{"value": "BHR : KINGDOM OF BAHRAIN", "name": "Bahrain"},
|
||||
{"value": "BEL : KINGDOM OF BELGIUM", "name": "Belgium"},
|
||||
{"value": "BTN : KINGDOM OF BHUTAN", "name": "Bhutan"},
|
||||
{"value": "KHM : KINGDOM OF CAMBODIA", "name": "Cambodia"},
|
||||
{"value": "SWZ : KINGDOM OF ESWATINI", "name": "Eswatini"},
|
||||
{"value": "LSO : KINGDOM OF LESOTHO", "name": "Lesotho"},
|
||||
{"value": "MAR : KINGDOM OF MOROCCO", "name": "Morocco"},
|
||||
{"value": "NOR : KINGDOM OF NORWAY", "name": "Norway"},
|
||||
{"value": "SAU : KINGDOM OF SAUDI ARABIA", "name": "Saudi Arabia"},
|
||||
{"value": "ESP : KINGDOM OF SPAIN", "name": "Spain"},
|
||||
{"value": "SWE : KINGDOM OF SWEDEN", "name": "Sweden"},
|
||||
{"value": "NLD : KINGDOM OF THE NETHERLANDS", "name": "Netherlands"},
|
||||
{"value": "TON : KINGDOM OF TONGA", "name": "Tonga"},
|
||||
{"value": "KIR : KIRIBATI", "name": "Kiribati"},
|
||||
{"value": "KGZ : KYRGYZ REPUBLIC", "name": "Kyrgyzstan"},
|
||||
{"value": "LAO : LAO PEOPLE'S DEMOCRATIC REPUBLIC", "name": "Laos"},
|
||||
{"value": "LBN : LEBANESE REPUBLIC", "name": "Lebanon"},
|
||||
{"value": "MYS : MALAYSIA", "name": "Malaysia"},
|
||||
{"value": "MTQ : MARTINIQUE", "name": "Martinique"},
|
||||
{"value": "MYT : MAYOTTE", "name": "Mayotte"},
|
||||
{"value": "MNG : MONGOLIA", "name": "Mongolia"},
|
||||
{"value": "MSR : MONTSERRAT", "name": "Montserrat"},
|
||||
{"value": "ANT : NETHERLANDS ANTILLES", "name": "Netherlands Antilles"},
|
||||
{"value": "NCL : NEW CALEDONIA", "name": "New Caledonia"},
|
||||
{"value": "NZL : NEW ZEALAND", "name": "New Zealand"},
|
||||
{"value": "NIU : NIUE", "name": "Niue"},
|
||||
{"value": "NFK : NORFOLK ISLAND", "name": "Norfolk Island"},
|
||||
{"value": "MNP : NORTHERN MARIANA ISLANDS", "name": "Northern Mariana Islands"},
|
||||
{"value": "PNG : PAPUA NEW GUINEA", "name": "Papua New Guinea"},
|
||||
{"value": "DZA : PEOPLE'S DEMOCRATIC REPUBLIC OF ALGERIA", "name": "Algeria"},
|
||||
{"value": "BGD : PEOPLE'S REPUBLIC OF BANGLADESH", "name": "Bangladesh"},
|
||||
{"value": "PCN : PITCAIRN", "name": "Pitcairn Islands"},
|
||||
{"value": "BOL : PLURINATIONAL STATE OF BOLIVIA", "name": "Bolivia"},
|
||||
{"value": "PRT : PORTUGUESE REPUBLIC", "name": "Portugal"},
|
||||
{"value": "AND : PRINCIPALITY OF ANDORRA", "name": "Andorra"},
|
||||
{"value": "LIE : PRINCIPALITY OF LIECHTENSTEIN", "name": "Liechtenstein"},
|
||||
{"value": "MCO : PRINCIPALITY OF MONACO", "name": "Monaco"},
|
||||
{"value": "PRI : PUERTO RICO", "name": "Puerto Rico"},
|
||||
{"value": "ALB : REPUBLIC OF ALBANIA", "name": "Albania"},
|
||||
{"value": "AGO : REPUBLIC OF ANGOLA", "name": "Angola"},
|
||||
{"value": "ARM : REPUBLIC OF ARMENIA", "name": "Armenia"},
|
||||
{"value": "AUT : REPUBLIC OF AUSTRIA", "name": "Austria"},
|
||||
{"value": "AZE : REPUBLIC OF AZERBAIJAN", "name": "Azerbaijan"},
|
||||
{"value": "BLR : REPUBLIC OF BELARUS", "name": "Belarus"},
|
||||
{"value": "BEN : REPUBLIC OF BENIN", "name": "Benin"},
|
||||
{"value": "BWA : REPUBLIC OF BOTSWANA", "name": "Botswana"},
|
||||
{"value": "BGR : REPUBLIC OF BULGARIA", "name": "Bulgaria"},
|
||||
{"value": "BDI : REPUBLIC OF BURUNDI", "name": "Burundi"},
|
||||
{"value": "CPV : REPUBLIC OF CABO VERDE", "name": "Cape Verde"},
|
||||
{"value": "CMR : REPUBLIC OF CAMEROON", "name": "Cameroon"},
|
||||
{"value": "TCD : REPUBLIC OF CHAD", "name": "Chad"},
|
||||
{"value": "CHL : REPUBLIC OF CHILE", "name": "Chile"},
|
||||
{"value": "COL : REPUBLIC OF COLOMBIA", "name": "Colombia"},
|
||||
{"value": "CRI : REPUBLIC OF COSTA RICA", "name": "Costa Rica"},
|
||||
{"value": "CIV : REPUBLIC OF COTE D'IVOIRE", "name": "Côte d'Ivoire"},
|
||||
{"value": "HRV : REPUBLIC OF CROATIA", "name": "Croatia"},
|
||||
{"value": "CUB : REPUBLIC OF CUBA", "name": "Cuba"},
|
||||
{"value": "CYP : REPUBLIC OF CYPRUS", "name": "Cyprus"},
|
||||
{"value": "DJI : REPUBLIC OF DJIBOUTI", "name": "Djibouti"},
|
||||
{"value": "ECU : REPUBLIC OF ECUADOR", "name": "Ecuador"},
|
||||
{"value": "SLV : REPUBLIC OF EL SALVADOR", "name": "El Salvador"},
|
||||
{"value": "GNQ : REPUBLIC OF EQUATORIAL GUINEA", "name": "Equatorial Guinea"},
|
||||
{"value": "FJI : REPUBLIC OF FIJI", "name": "Fiji"},
|
||||
{"value": "FIN : REPUBLIC OF FINLAND", "name": "Finland"},
|
||||
{"value": "GHA : REPUBLIC OF GHANA", "name": "Ghana"},
|
||||
{"value": "GTM : REPUBLIC OF GUATEMALA", "name": "Guatemala"},
|
||||
{"value": "GIN : REPUBLIC OF GUINEA", "name": "Guinea"},
|
||||
{"value": "GNB : REPUBLIC OF GUINEA-BISSAU", "name": "Guinea-Bissau"},
|
||||
{"value": "HTI : REPUBLIC OF HAITI", "name": "Haiti"},
|
||||
{"value": "HND : REPUBLIC OF HONDURAS", "name": "Honduras"},
|
||||
{"value": "HUN : REPUBLIC OF HUNGARY", "name": "Hungary"},
|
||||
{"value": "ISL : REPUBLIC OF ICELAND", "name": "Iceland"},
|
||||
{"value": "IND : REPUBLIC OF INDIA", "name": "India"},
|
||||
{"value": "IDN : REPUBLIC OF INDONESIA", "name": "Indonesia"},
|
||||
{"value": "IRQ : REPUBLIC OF IRAQ", "name": "Iraq"},
|
||||
{"value": "KAZ : REPUBLIC OF KAZAKHSTAN", "name": "Kazakhstan"},
|
||||
{"value": "KEN : REPUBLIC OF KENYA", "name": "Kenya"},
|
||||
{"value": "KOR : REPUBLIC OF KOREA", "name": "South Korea"},
|
||||
{"value": "SVN : REPUBLIC OF KOSOVO", "name": "Kosovo"},
|
||||
{"value": "LVA : REPUBLIC OF LATVIA", "name": "Latvia"},
|
||||
{"value": "LBR : REPUBLIC OF LIBERIA", "name": "Liberia"},
|
||||
{"value": "LTU : REPUBLIC OF LITHUANIA", "name": "Lithuania"},
|
||||
{"value": "MDG : REPUBLIC OF MADAGASCAR", "name": "Madagascar"},
|
||||
{"value": "MWI : REPUBLIC OF MALAWI", "name": "Malawi"},
|
||||
{"value": "MDV : REPUBLIC OF MALDIVES", "name": "Maldives"},
|
||||
{"value": "MLI : REPUBLIC OF MALI", "name": "Mali"},
|
||||
{"value": "MLT : REPUBLIC OF MALTA", "name": "Malta"},
|
||||
{"value": "MUS : REPUBLIC OF MAURITIUS", "name": "Mauritius"},
|
||||
{"value": "MDA : REPUBLIC OF MOLDOVA", "name": "Moldova"},
|
||||
{"value": "MOZ : REPUBLIC OF MOZAMBIQUE", "name": "Mozambique"},
|
||||
{"value": "NAM : REPUBLIC OF NAMIBIA", "name": "Namibia"},
|
||||
{"value": "NRU : REPUBLIC OF NAURU", "name": "Nauru"},
|
||||
{"value": "NIC : REPUBLIC OF NICARAGUA", "name": "Nicaragua"},
|
||||
{"value": "MKD : REPUBLIC OF NORTH MACEDONIA", "name": "North Macedonia"},
|
||||
{"value": "PLW : REPUBLIC OF PALAU", "name": "Palau"},
|
||||
{"value": "PAN : REPUBLIC OF PANAMA", "name": "Panama"},
|
||||
{"value": "PRY : REPUBLIC OF PARAGUAY", "name": "Paraguay"},
|
||||
{"value": "PER : REPUBLIC OF PERU", "name": "Peru"},
|
||||
{"value": "POL : REPUBLIC OF POLAND", "name": "Poland"},
|
||||
{"value": "RWA : REPUBLIC OF RWANDA", "name": "Rwanda"},
|
||||
{"value": "SMR : REPUBLIC OF SAN MARINO", "name": "San Marino"},
|
||||
{"value": "SEN : REPUBLIC OF SENEGAL", "name": "Senegal"},
|
||||
{"value": "SYC : REPUBLIC OF SEYCHELLES", "name": "Seychelles"},
|
||||
{"value": "SLE : REPUBLIC OF SIERRA LEONE", "name": "Sierra Leone"},
|
||||
{"value": "SVN : REPUBLIC OF SLOVENIA", "name": "Slovenia"},
|
||||
{"value": "ZAF : REPUBLIC OF SOUTH AFRICA", "name": "South Africa"},
|
||||
{"value": "SSD : REPUBLIC OF SOUTH SUDAN", "name": "South Sudan"},
|
||||
{"value": "SUR : REPUBLIC OF SURINAME", "name": "Suriname"},
|
||||
{"value": "TJK : REPUBLIC OF TAJIKISTAN", "name": "Tajikistan"},
|
||||
{"value": "COG : REPUBLIC OF THE CONGO", "name": "Republic of the Congo"},
|
||||
{"value": "GMB : REPUBLIC OF THE GAMBIA", "name": "Gambia"},
|
||||
{"value": "MHL : REPUBLIC OF THE MARSHALL ISLANDS", "name": "Marshall Islands"},
|
||||
{"value": "NER : REPUBLIC OF THE NIGER", "name": "Niger"},
|
||||
{"value": "PHL : REPUBLIC OF THE PHILIPPINES", "name": "Philippines"},
|
||||
{"value": "SDN : REPUBLIC OF THE SUDAN", "name": "Sudan"},
|
||||
{"value": "MMR : REPUBLIC OF THE UNION OF MYANMAR", "name": "Myanmar"},
|
||||
{"value": "TTO : REPUBLIC OF TRINIDAD AND TOBAGO", "name": "Trinidad and Tobago"},
|
||||
{"value": "TUN : REPUBLIC OF TUNISIA", "name": "Tunisia"},
|
||||
{"value": "TUR : REPUBLIC OF TURKEY", "name": "Turkey"},
|
||||
{"value": "UGA : REPUBLIC OF UGANDA", "name": "Uganda"},
|
||||
{"value": "VUT : REPUBLIC OF VANUATU", "name": "Vanuatu"},
|
||||
{"value": "YEM : REPUBLIC OF YEMEN", "name": "Yemen"},
|
||||
{"value": "ZMB : REPUBLIC OF ZAMBIA", "name": "Zambia"},
|
||||
{"value": "ZWE : REPUBLIC OF ZIMBABWE", "name": "Zimbabwe"},
|
||||
{"value": "REU : REUNION", "name": "Réunion"},
|
||||
{"value": "ROU : ROMANIA", "name": "Romania"},
|
||||
{"value": "RUS : RUSSIAN FEDERATION", "name": "Russia"},
|
||||
{"value": "BLM : SAINT BARTHELEMY", "name": "Saint Barthélemy"},
|
||||
{"value": "KNA : SAINT KITTS AND NEVIS", "name": "Saint Kitts and Ne维斯"},
|
||||
{"value": "LCA : SAUNT LUCIA", "name": "Saint Lucia"},
|
||||
{"value": "MAF : SAINT MARTIN (FRENCH PART)", "name": "Saint Martin (French part)"},
|
||||
{"value": "VCT : SAINT VINCENT AND THE GRENADINES", "name": "Saint Vincent and the Grenadines"},
|
||||
{"value": "SRB : SERBIA", "name": "Serbia"},
|
||||
{"value": "SXM : SINT MAARTEN (DUTCH PART)", "name": "Sint Maarten (Dutch part)"},
|
||||
{"value": "SVK : SLOVAK REPUBLIC", "name": "Slovakia"},
|
||||
{"value": "VNM : SOCIALIST REPUBLIC OF VIETNAM", "name": "Vietnam"},
|
||||
{"value": "SLB : SOLOMON ISLANDS", "name": "Solomon Islands"},
|
||||
{"value": "SGS : SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS", "name": "South Georgia and the South Sandwich Islands"},
|
||||
{"value": "SHN : ST. HELENA", "name": "Saint Helena"},
|
||||
{"value": "SPM : ST. PEIRRE AND MIQUELON", "name": "Saint Pierre and Miquelon"},
|
||||
{"value": "ISR : STATE OF ISRAEL", "name": "Israel"},
|
||||
{"value": "KWT : STATE OF KUWAIT", "name": "Kuwait"},
|
||||
{"value": "LBY : STATE OF LIBYA", "name": "Libya"},
|
||||
{"value": "PSE : STATE OF PALESTINE", "name": "Palestine"},
|
||||
{"value": "QAT : STATE OF QATAR", "name": "Qatar"},
|
||||
{"value": "OMN : SULTANATE OF OMAN", "name": "Oman"},
|
||||
{"value": "SJM : SVALBARD AND JAN MAYEN ISLANDS", "name": "Svalbard and Jan Mayen"},
|
||||
{"value": "CHE : SWISS CONFEDERATION", "name": "Switzerland"},
|
||||
{"value": "SYR : SYRIAN ARAB REPUBLIC", "name": "Syria"},
|
||||
{"value": "DNK : THE KINGDOM OF DENMARK", "name": "Denmark"},
|
||||
{"value": "SGP : THE REPUBLIC OF SINGAPORE", "name": "Singapore"},
|
||||
{"value": "UZB : THE REPUBLIC OF UZBEKISTANS", "name": "Uzbekistan"},
|
||||
{"value": "ARE : THE UNITED ARAB EMIRATES", "name": "United Arab Emirates"},
|
||||
{"value": "TGO : TOGOLESE REPUBLIC", "name": "Togo"},
|
||||
{"value": "TKL : TOKELAU", "name": "Tokelau"},
|
||||
{"value": "TPI : TRUST TERRITORY OF THE PACIFIC ISLANDS", "name": "Trust Territory of the Pacific Islands"},
|
||||
{"value": "TKM : TURKMENISTAN", "name": "Turkmenistan"},
|
||||
{"value": "TCA : TURKS AND CAICOS ISLANDS", "name": "Turks and Caicos Islands"},
|
||||
{"value": "TUV : TUVALU", "name": "Tuvalu"},
|
||||
{"value": "UKR : UKRAINE", "name": "Ukraine"},
|
||||
{"value": "COM : UNION OF THE COMOROS", "name": "Comoros"},
|
||||
{"value": "GBR : UNITED KINGDOM OF GREAT BRITAIN AND NORTHERN IRELAND", "name": "United Kingdom"},
|
||||
{"value": "MEX : UNITED MEXICAN STATES", "name": "Mexico"},
|
||||
{"value": "TAN : UNITED REPUBLIC OF TANZANIA", "name": "Tanzania"},
|
||||
{"value": "UMI : UNITED STATES MINOR OUTLYING ISLANDS", "name": "United States Minor Outlying Islands"},
|
||||
{"value": "USA : UNITED STATES OF AMERICA", "name": "United States"},
|
||||
{"value": "VIR : UNITED STATES VIRGIN ISLANDS", "name": "U.S. Virgin Islands"},
|
||||
{"value": "VAT : VATICAN CITY STATE", "name": "Vatican City"},
|
||||
{"value": "WLF : WALLIS AND FUTUNA ISLANDS", "name": "Wallis and Futuna"},
|
||||
{"value": "ESH : WESTERN SAHARA", "name": "Western Sahara"}
|
||||
]
|
||||
252
public/json/nation.json
Normal file
@@ -0,0 +1,252 @@
|
||||
[
|
||||
{"value": "CHN : CHINESE", "name": "中国"},
|
||||
{"value": "HKG : CHINA-HONG KONG", "name": "中国香港"},
|
||||
{"value": "MAC : MACAO", "name": "中国澳门"},
|
||||
{"value": "TWN : TAIWANESE", "name": "中国台湾"},
|
||||
{"value": "ABW : ARUBA", "name": "阿鲁巴"},
|
||||
{"value": "AFG : AFGHAN", "name": "阿富汗"},
|
||||
{"value": "AGO : ANGOLAN", "name": "安哥拉"},
|
||||
{"value": "AIA : ANGUILLA", "name": "安圭拉"},
|
||||
{"value": "ALA : ALANDIC", "name": "奥兰"},
|
||||
{"value": "ALB : ALBANIAN", "name": "阿尔巴尼亚"},
|
||||
{"value": "AND : ANDORAIN", "name": "安道尔"},
|
||||
{"value": "ANT : NETHERLANDS ANTILLES", "name": "荷属安的列斯"},
|
||||
{"value": "ARE : THE UNITED ARAB EMIRATES", "name": "阿拉伯联合酋长国"},
|
||||
{"value": "ARG : ARGENTINE", "name": "阿根廷"},
|
||||
{"value": "ARM : ARMENIAN", "name": "亚美尼亚"},
|
||||
{"value": "ASM : AMERICA SAMOA", "name": "美属萨摩亚"},
|
||||
{"value": "ATF : FRENCH SOUTHERN TERRIORIES", "name": "法属南部领地"},
|
||||
{"value": "ATG : ANTIGUAN AND BARBUDA", "name": "安提瓜和巴布达"},
|
||||
{"value": "AUS : AUSTRALIAN", "name": "澳大利亚"},
|
||||
{"value": "AUT : AUSTRIAN", "name": "奥地利"},
|
||||
{"value": "AZE : AZERBAIJANI", "name": "阿塞拜疆"},
|
||||
{"value": "BDI : BURUNDI", "name": "布隆迪"},
|
||||
{"value": "BEL : BELGIAN", "name": "比利时"},
|
||||
{"value": "BEN : BENINESE", "name": "贝宁"},
|
||||
{"value": "BES : STATIAN", "name": "荷属加勒比区"},
|
||||
{"value": "BFA : BURKINA FASO", "name": "布基纳法索"},
|
||||
{"value": "BGD : BANGLADESH", "name": "孟加拉国"},
|
||||
{"value": "BGR : BULGARIAN", "name": "保加利亚"},
|
||||
{"value": "BHR : BAHRAINI", "name": "巴林"},
|
||||
{"value": "BHS : BAHAMIAN", "name": "巴哈马"},
|
||||
{"value": "BIH : BOSNIA AND HERZEGOVINA", "name": "波斯尼亚和黑塞哥维那"},
|
||||
{"value": "BLM : SAINT BARTHELEMOIS", "name": "圣巴泰勒米"},
|
||||
{"value": "BLR : BELARUSIAN", "name": "白俄罗斯"},
|
||||
{"value": "BLZ : BELIZEAN", "name": "伯利兹"},
|
||||
{"value": "BMU : BERMUDAN", "name": "百慕大"},
|
||||
{"value": "BOL : BOLIVIAN", "name": "玻利维亚"},
|
||||
{"value": "BRA : BRAZILIAN", "name": "巴西"},
|
||||
{"value": "BRB : BARBADIAN", "name": "巴巴多斯"},
|
||||
{"value": "BRN : BRUNEI DARUSSALAM", "name": "文莱"},
|
||||
{"value": "BTN : BHUTANESE", "name": "不丹"},
|
||||
{"value": "BVT : BOUVET ISLAND", "name": "布韦岛"},
|
||||
{"value": "BWA : BOTSWANA", "name": "博茨瓦纳"},
|
||||
{"value": "CAF : CENTRAL AFRICAN", "name": "中非共和国"},
|
||||
{"value": "CAN : CANADIAN", "name": "加拿大"},
|
||||
{"value": "CCK : COCOS (KEELING) ISLANDS", "name": "科科斯(基林)群岛"},
|
||||
{"value": "CHE : SWISS", "name": "瑞士"},
|
||||
{"value": "CHL : CHILEAN", "name": "智利"},
|
||||
{"value": "CIV : Cote d’Ivoire", "name": "科特迪瓦"},
|
||||
{"value": "CMR : CAMEROONIAN", "name": "喀麦隆"},
|
||||
{"value": "COD : CONGOLESE", "name": "刚果(金)"},
|
||||
{"value": "COG : CONGOLESE", "name": "刚果(布)"},
|
||||
{"value": "COK : COOK ISLANDER", "name": "库克群岛"},
|
||||
{"value": "COL : COLOMBIAN", "name": "哥伦比亚"},
|
||||
{"value": "COM : COMOROS", "name": "科摩罗"},
|
||||
{"value": "CPV : CAPE VERDEAN", "name": "佛得角"},
|
||||
{"value": "CRI : COSTA RICAN", "name": "哥斯达黎加"},
|
||||
{"value": "CUB : CUBAN", "name": "古巴"},
|
||||
{"value": "CUW : CURACOAN", "name": "库拉索"},
|
||||
{"value": "CXR : CHRISTMAS ISLAND", "name": "圣诞岛"},
|
||||
{"value": "CYM : CAYMAN ISLANDER", "name": "开曼群岛"},
|
||||
{"value": "CYP : CYPRIOT", "name": "塞浦路斯"},
|
||||
{"value": "CZE : CZECH REPUBLIC", "name": "捷克"},
|
||||
{"value": "DEU : GERMAN", "name": "德国"},
|
||||
{"value": "DJI : DJIBOUTI", "name": "吉布提"},
|
||||
{"value": "DMA : DOMINICA", "name": "多米尼克"},
|
||||
{"value": "DNK : DANISH", "name": "丹麦"},
|
||||
{"value": "DOM : DOMINICAN", "name": "多米尼加"},
|
||||
{"value": "DZA : ALGERIAN", "name": "阿尔及利亚"},
|
||||
{"value": "ECU : ECUADORIAN", "name": "厄瓜多尔"},
|
||||
{"value": "EGY : EGYPTIAN", "name": "埃及"},
|
||||
{"value": "ERI : ERITREAN", "name": "厄立特里亚"},
|
||||
{"value": "ESH : SAHRAWI", "name": "西撒哈拉"},
|
||||
{"value": "ESP : SPANISH", "name": "西班牙"},
|
||||
{"value": "EST : ESTONIAN", "name": "爱沙尼亚"},
|
||||
{"value": "ETH : ETHIOPIAN", "name": "埃塞俄比亚"},
|
||||
{"value": "FIN : FINNISH", "name": "芬兰"},
|
||||
{"value": "FJI : FIJIAN", "name": "斐济"},
|
||||
{"value": "FLK : FALKLAND ISLANDS (MALVINAS)", "name": "福克兰群岛"},
|
||||
{"value": "FRA : FRENCH", "name": "法国"},
|
||||
{"value": "FRO : FAEROES ISLANDER", "name": "法罗群岛"},
|
||||
{"value": "FSM : MICRONESIAN", "name": "密克罗尼西亚"},
|
||||
{"value": "GAB : GABONESE", "name": "加蓬"},
|
||||
{"value": "GBR : BRITISH", "name": "英国"},
|
||||
{"value": "GEO : GEORGIAN", "name": "格鲁吉亚"},
|
||||
{"value": "GGY : GUERNSEY ISLANDER", "name": "根西岛"},
|
||||
{"value": "GHA : GHANAIAN", "name": "加纳"},
|
||||
{"value": "GIB : GIBRALTAR", "name": "直布罗陀"},
|
||||
{"value": "GIN : GUINEAN", "name": "几内亚"},
|
||||
{"value": "GLP : GUADELOUPEAN", "name": "瓜德罗普"},
|
||||
{"value": "GMB : GAMBIAN", "name": "冈比亚"},
|
||||
{"value": "GNB : GUINEA-BISSAUAN", "name": "几内亚比绍"},
|
||||
{"value": "GNQ : EQUATORIAL GUINEAN", "name": "赤道几内亚"},
|
||||
{"value": "GRC : GREEK", "name": "希腊"},
|
||||
{"value": "GRD : GRENADIAN", "name": "格林纳达"},
|
||||
{"value": "GRL : GREENLANDER", "name": "格陵兰"},
|
||||
{"value": "GTM : GUATEMALAN", "name": "危地马拉"},
|
||||
{"value": "GUF : FRENCH GUIANA", "name": "法属圭亚那"},
|
||||
{"value": "GUM : GUAMANIAN", "name": "关岛"},
|
||||
{"value": "GUY : GUYANESE", "name": "圭亚那"},
|
||||
{"value": "HMD : HEARD AND MCDONALD ISLANDS", "name": "赫德岛和麦克唐纳群岛"},
|
||||
{"value": "HND : HONDURAN", "name": "洪都拉斯"},
|
||||
{"value": "HRV : CROATIA", "name": "克罗地亚"},
|
||||
{"value": "HTI : HAITIAN", "name": "海地"},
|
||||
{"value": "HUN : HUNGARIAN", "name": "匈牙利"},
|
||||
{"value": "IDN : INDONESIAN", "name": "印度尼西亚"},
|
||||
{"value": "IMN : MANX", "name": "马恩岛"},
|
||||
{"value": "IND : INDIAN", "name": "印度"},
|
||||
{"value": "IOT : BRITISH INDIAN OCEAN TERR.", "name": "英属印度洋领地"},
|
||||
{"value": "IRL : IRISH", "name": "爱尔兰"},
|
||||
{"value": "IRN : IRANIAN", "name": "伊朗"},
|
||||
{"value": "IRQ : IRAQI", "name": "伊拉克"},
|
||||
{"value": "ISL : ICELANDIC", "name": "冰岛"},
|
||||
{"value": "ISR : ISRAELI", "name": "以色列"},
|
||||
{"value": "ITA : ITALIAN", "name": "意大利"},
|
||||
{"value": "JAM : JAMAICAN", "name": "牙买加"},
|
||||
{"value": "JEY : JERSEY ISLANDER", "name": "泽西岛"},
|
||||
{"value": "JOR : JORDANIAN", "name": "约旦"},
|
||||
{"value": "JPN : JAPANESE", "name": "日本"},
|
||||
{"value": "KAZ : KAZAKH", "name": "哈萨克斯坦"},
|
||||
{"value": "KEN : KENYAN", "name": "肯尼亚"},
|
||||
{"value": "KGZ : KYRGYZ", "name": "吉尔吉斯斯坦"},
|
||||
{"value": "KHM : CAMBODIAN", "name": "柬埔寨"},
|
||||
{"value": "KIR : KIRIBATIAN", "name": "基里巴斯"},
|
||||
{"value": "KNA : ST.CHRISTOPHERAN", "name": "圣基茨和尼维斯"},
|
||||
{"value": "KOR : SOUTH KOREAN", "name": "韩国"},
|
||||
{"value": "KWT : KUWAITI", "name": "科威特"},
|
||||
{"value": "LAO : LAO", "name": "老挝"},
|
||||
{"value": "LBN : LEBANESE", "name": "黎巴嫩"},
|
||||
{"value": "LBR : LIBERIAN", "name": "利比里亚"},
|
||||
{"value": "LBY : LIBYAN", "name": "利比亚"},
|
||||
{"value": "LCA : SAINT LUCIAN", "name": "圣卢西亚"},
|
||||
{"value": "LIE : LIECHTENSTEIN", "name": "列支敦士登"},
|
||||
{"value": "LKA : SRI LANKAN", "name": "斯里兰卡"},
|
||||
{"value": "LSO : LESOTHON", "name": "莱索托"},
|
||||
{"value": "LTU : LITHUANIAN", "name": "立陶宛"},
|
||||
{"value": "LUX : LUXEMBURGERG", "name": "卢森堡"},
|
||||
{"value": "LVA : LATVIAN", "name": "拉脱维亚"},
|
||||
{"value": "MAF : SAINT-MARTINOIS", "name": "法属圣马丁"},
|
||||
{"value": "MAR : MOROCCAN", "name": "摩洛哥"},
|
||||
{"value": "MCO : MONEGASQUE", "name": "摩纳哥"},
|
||||
{"value": "MDA : MOLDOVAN", "name": "摩尔多瓦"},
|
||||
{"value": "MDG : MALAGASY", "name": "马达加斯加"},
|
||||
{"value": "MDV : MALDIVIAN", "name": "马尔代夫"},
|
||||
{"value": "MEX : MEXICAN", "name": "墨西哥"},
|
||||
{"value": "MHL : MARSHALL ISLANDER", "name": "马绍尔群岛"},
|
||||
{"value": "MKD : MACEDONIA", "name": "马其顿"},
|
||||
{"value": "MLI : MALIIAN", "name": "马里"},
|
||||
{"value": "MLT : MALTESE", "name": "马耳他"},
|
||||
{"value": "MMR : MYANMAR", "name": "缅甸"},
|
||||
{"value": "MNE : CRNA GORA MONTENEGRO", "name": "黑山"},
|
||||
{"value": "MNG : MONGOLIA", "name": "蒙古"},
|
||||
{"value": "MNP : MARIANAN", "name": "北马里亚纳群岛"},
|
||||
{"value": "MOZ : MOZAMBICAN", "name": "莫桑比克"},
|
||||
{"value": "MRT : MAURITANIAN", "name": "毛里塔尼亚"},
|
||||
{"value": "MSR : MONTSERRAT", "name": "蒙特塞拉特"},
|
||||
{"value": "MTQ : MARTINIQUE", "name": "马提尼克"},
|
||||
{"value": "MUS : MAURITIAN", "name": "毛里求斯"},
|
||||
{"value": "MWI : MALAWIAN", "name": "马拉维"},
|
||||
{"value": "MYS : MALAYSIAN", "name": "马来西亚"},
|
||||
{"value": "MYT : MAYOTTE", "name": "马约特"},
|
||||
{"value": "NAM : NAMIBIAN", "name": "纳米比亚"},
|
||||
{"value": "NCL : NEW CALEDONIAN", "name": "新喀里多尼亚"},
|
||||
{"value": "NER : NIGER", "name": "尼日尔"},
|
||||
{"value": "NFK : NORFOLK ISLAND", "name": "诺福克岛"},
|
||||
{"value": "NGA : NIGERIAN", "name": "尼日利亚"},
|
||||
{"value": "NIC : NICARAGUAN", "name": "尼加拉瓜"},
|
||||
{"value": "NIU : NIUE", "name": "纽埃"},
|
||||
{"value": "NLD : DUTCH", "name": "荷兰"},
|
||||
{"value": "NOR : NORWEGIAN", "name": "挪威"},
|
||||
{"value": "NPL : NEPALESE", "name": "尼泊尔"},
|
||||
{"value": "NRU : NAURUAN", "name": "瑙鲁"},
|
||||
{"value": "NZL : NEW ZEALANDER", "name": "新西兰"},
|
||||
{"value": "OMN : OMANI", "name": "阿曼"},
|
||||
{"value": "PAK : PAKISTAN", "name": "巴基斯坦"},
|
||||
{"value": "PAN : PANAMANIAN", "name": "巴拿马"},
|
||||
{"value": "PCI : TRUST PACIFIC", "name": "太平洋信托群岛"},
|
||||
{"value": "PCN : PITCAIRN", "name": "皮特凯恩群岛"},
|
||||
{"value": "PER : PERUVIAN", "name": "秘鲁"},
|
||||
{"value": "PHL : PHILIPPINE", "name": "菲律宾"},
|
||||
{"value": "PLW : PALAUAN", "name": "帕劳"},
|
||||
{"value": "PNG : PAPUA NEW GUINEA", "name": "巴布亚新几内亚"},
|
||||
{"value": "POL : POLISH", "name": "波兰"},
|
||||
{"value": "PRI : PUERTO RICAN", "name": "波多黎各"},
|
||||
{"value": "PRK : NORTH KOREAN", "name": "朝鲜"},
|
||||
{"value": "PRT : PORTUGUESE", "name": "葡萄牙"},
|
||||
{"value": "PRY : PARAGUAYAN", "name": "巴拉圭"},
|
||||
{"value": "PSE : PALESTINIAN", "name": "巴勒斯坦"},
|
||||
{"value": "PYF : FRENCH POLYNESIA", "name": "法属波利尼西亚"},
|
||||
{"value": "QAT : QATAR", "name": "卡塔尔"},
|
||||
{"value": "REU : REUNION ISLANDER", "name": "留尼汪"},
|
||||
{"value": "ROU : ROMANIAN", "name": "罗马尼亚"},
|
||||
{"value": "RUS : RUSSIAN", "name": "俄罗斯"},
|
||||
{"value": "RWA : RWANDAN", "name": "卢旺达"},
|
||||
{"value": "SAU : SAUDI ARABIAN", "name": "沙特阿拉伯"},
|
||||
{"value": "SDN : SUDANESE", "name": "苏丹"},
|
||||
{"value": "SEN : SENEGALESE", "name": "塞内加尔"},
|
||||
{"value": "SGP : SINGAPOREAN", "name": "新加坡"},
|
||||
{"value": "SGS : SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS", "name": "南乔治亚岛和南桑威奇群岛"},
|
||||
{"value": "SHN : ST. HELENA", "name": "圣赫勒拿"},
|
||||
{"value": "SJM : SVALBARD AND JAN MAYEN ISLANDS", "name": "斯瓦尔巴和扬马延岛"},
|
||||
{"value": "SLB : SOLOMON ISLANDER", "name": "所罗门群岛"},
|
||||
{"value": "SLE : SIERRA LEONEAN", "name": "塞拉利昂"},
|
||||
{"value": "SLV : SALVADORAN", "name": "萨尔瓦多"},
|
||||
{"value": "SMR : SAN MARINO", "name": "圣马力诺"},
|
||||
{"value": "SOM : SOMALIAN", "name": "索马里"},
|
||||
{"value": "SPM : ST. PEIRRE AND MIQUELON", "name": "圣皮埃尔和密克隆群岛"},
|
||||
{"value": "SRB : SERBIA", "name": "塞尔维亚"},
|
||||
{"value": "SSD : REPUBLIC OF SOUTH SUDAN", "name": "南苏丹"},
|
||||
{"value": "STP : SAO TOME/PRINCIPE", "name": "圣多美和普林西比"},
|
||||
{"value": "SUR : SURINAM", "name": "苏里南"},
|
||||
{"value": "SVK : SLOVAK", "name": "斯洛伐克"},
|
||||
{"value": "SVN : SLOVENE", "name": "斯洛文尼亚"},
|
||||
{"value": "SWE : SWEDISH", "name": "瑞典"},
|
||||
{"value": "SWZ : SWAZI", "name": "斯威士兰"},
|
||||
{"value": "SXM : SINT MAARTENER", "name": "荷属圣马丁"},
|
||||
{"value": "SYC : SEYCHELLOIS", "name": "塞舌尔"},
|
||||
{"value": "SYR : SYRIAN", "name": "叙利亚"},
|
||||
{"value": "TCA : TURKS AND CAICOS ISLANDS", "name": "特克斯和凯科斯群岛"},
|
||||
{"value": "TCD : CHADIAN", "name": "乍得"},
|
||||
{"value": "TGO : TOGOLESE", "name": "多哥"},
|
||||
{"value": "TJK : TAJIK", "name": "塔吉克"},
|
||||
{"value": "TKL : TOKELAU", "name": "托克劳"},
|
||||
{"value": "TKM : TURKMEN", "name": "土库曼"},
|
||||
{"value": "TLS : TIMOR-LESTE", "name": "东帝汶"},
|
||||
{"value": "TON : TONGAN", "name": "汤加"},
|
||||
{"value": "TTO : TRINIDAD AND TOBAGO", "name": "特立尼达和多巴哥"},
|
||||
{"value": "TUN : TUNISIAN", "name": "突尼斯"},
|
||||
{"value": "TUR : TURKISH", "name": "土耳其"},
|
||||
{"value": "TUV : TUVALUAN", "name": "图瓦卢"},
|
||||
{"value": "TZA : TANZANIAN", "name": "坦桑尼亚"},
|
||||
{"value": "UGA : UGANDAN", "name": "乌干达"},
|
||||
{"value": "UKR : UKRANIAN", "name": "乌克兰"},
|
||||
{"value": "UMI : UNITED STATES MINOR OUTLYING ISLANDS", "name": "美国本土外岛"},
|
||||
{"value": "URY : URUGUAYAN", "name": "乌拉圭"},
|
||||
{"value": "USA : AMERICAN", "name": "美国"},
|
||||
{"value": "UZB : UZBEK", "name": "乌兹别克"},
|
||||
{"value": "VAT : THE HOLY SEE", "name": "梵蒂冈"},
|
||||
{"value": "VCT : SAINT VINCENT AND THE GRENADINES", "name": "圣文森特和格林纳丁斯"},
|
||||
{"value": "VEN : VENEZUELAN", "name": "委内瑞拉"},
|
||||
{"value": "VGB : BRITISH VIRGIN ISLANDER", "name": "英属维尔京群岛"},
|
||||
{"value": "VIR : U.S. VIRGIN ISLANDER", "name": "美属维尔京群岛"},
|
||||
{"value": "VNM : VIETNAMESE", "name": "越南"},
|
||||
{"value": "VUT : VANUATU", "name": "瓦努阿图"},
|
||||
{"value": "WLF : WALLIS AND FUTUNA ISLANDS", "name": "瓦利斯和富图纳群岛"},
|
||||
{"value": "WSM : SAMOAN", "name": "萨摩亚"},
|
||||
{"value": "XKX : KOSOVAN", "name": "科索沃"},
|
||||
{"value": "YEM : YEMENI", "name": "也门"},
|
||||
{"value": "ZAF : SOUTH AFRICAN", "name": "南非"},
|
||||
{"value": "ZMB : ZAMBIAN", "name": "赞比亚"},
|
||||
{"value": "ZWE : ZIMBABWEAN", "name": "津巴布韦"}
|
||||
]
|
||||
252
public/json/nation_en.json
Normal file
@@ -0,0 +1,252 @@
|
||||
[
|
||||
{"value": "CHN : CHINESE", "name": "China"},
|
||||
{"value": "HKG : CHINA-HONG KONG", "name": "Hong Kong, China"},
|
||||
{"value": "MAC : MACAO", "name": "Macao, China"},
|
||||
{"value": "TWN : TAIWANESE", "name": "Taiwan, China"},
|
||||
{"value": "ABW : ARUBA", "name": "Aruba"},
|
||||
{"value": "AFG : AFGHAN", "name": "Afghanistan"},
|
||||
{"value": "AGO : ANGOLAN", "name": "Angola"},
|
||||
{"value": "AIA : ANGUILLA", "name": "Anguilla"},
|
||||
{"value": "ALA : ALANDIC", "name": "Åland Islands"},
|
||||
{"value": "ALB : ALBANIAN", "name": "Albania"},
|
||||
{"value": "AND : ANDORAIN", "name": "Andorra"},
|
||||
{"value": "ANT : NETHERLANDS ANTILLES", "name": "Netherlands Antilles"},
|
||||
{"value": "ARE : THE UNITED ARAB EMIRATES", "name": "United Arab Emirates"},
|
||||
{"value": "ARG : ARGENTINE", "name": "Argentina"},
|
||||
{"value": "ARM : ARMENIAN", "name": "Armenia"},
|
||||
{"value": "ASM : AMERICA SAMOA", "name": "American Samoa"},
|
||||
{"value": "ATF : FRENCH SOUTHERN TERRIORIES", "name": "French Southern Territories"},
|
||||
{"value": "ATG : ANTIGUAN AND BARBUDA", "name": "Antigua and Barbuda"},
|
||||
{"value": "AUS : AUSTRALIAN", "name": "Australia"},
|
||||
{"value": "AUT : AUSTRIAN", "name": "Austria"},
|
||||
{"value": "AZE : AZERBAIJANI", "name": "Azerbaijan"},
|
||||
{"value": "BDI : BURUNDI", "name": "Burundi"},
|
||||
{"value": "BEL : BELGIAN", "name": "Belgium"},
|
||||
{"value": "BEN : BENINESE", "name": "Benin"},
|
||||
{"value": "BES : STATIAN", "name": "Caribbean Netherlands"},
|
||||
{"value": "BFA : BURKINA FASO", "name": "Burkina Faso"},
|
||||
{"value": "BGD : BANGLADESH", "name": "Bangladesh"},
|
||||
{"value": "BGR : BULGARIAN", "name": "Bulgaria"},
|
||||
{"value": "BHR : BAHRAINI", "name": "Bahrain"},
|
||||
{"value": "BHS : BAHAMIAN", "name": "Bahamas"},
|
||||
{"value": "BIH : BOSNIA AND HERZEGOVINA", "name": "Bosnia and Herzegovina"},
|
||||
{"value": "BLM : SAINT BARTHELEMOIS", "name": "Saint Barthélemy"},
|
||||
{"value": "BLR : BELARUSIAN", "name": "Belarus"},
|
||||
{"value": "BLZ : BELIZEAN", "name": "Belize"},
|
||||
{"value": "BMU : BERMUDAN", "name": "Bermuda"},
|
||||
{"value": "BOL : BOLIVIAN", "name": "Bolivia"},
|
||||
{"value": "BRA : BRAZILIAN", "name": "Brazil"},
|
||||
{"value": "BRB : BARBADIAN", "name": "Barbados"},
|
||||
{"value": "BRN : BRUNEI DARUSSALAM", "name": "Brunei"},
|
||||
{"value": "BTN : BHUTANESE", "name": "Bhutan"},
|
||||
{"value": "BVT : BOUVET ISLAND", "name": "Bouvet Island"},
|
||||
{"value": "BWA : BOTSWANA", "name": "Botswana"},
|
||||
{"value": "CAF : CENTRAL AFRICAN", "name": "Central African Republic"},
|
||||
{"value": "CAN : CANADIAN", "name": "Canada"},
|
||||
{"value": "CCK : COCOS (KEELING) ISLANDS", "name": "Cocos (Keeling) Islands"},
|
||||
{"value": "CHE : SWISS", "name": "Switzerland"},
|
||||
{"value": "CHL : CHILEAN", "name": "Chile"},
|
||||
{"value": "CIV : Cote d’Ivoire", "name": "Côte d'Ivoire"},
|
||||
{"value": "CMR : CAMEROONIAN", "name": "Cameroon"},
|
||||
{"value": "COD : CONGOLESE", "name": "DR Congo"},
|
||||
{"value": "COG : CONGOLESE", "name": "Republic of the Congo"},
|
||||
{"value": "COK : COOK ISLANDER", "name": "Cook Islands"},
|
||||
{"value": "COL : COLOMBIAN", "name": "Colombia"},
|
||||
{"value": "COM : COMOROS", "name": "Comoros"},
|
||||
{"value": "CPV : CAPE VERDEAN", "name": "Cape Verde"},
|
||||
{"value": "CRI : COSTA RICAN", "name": "Costa Rica"},
|
||||
{"value": "CUB : CUBAN", "name": "Cuba"},
|
||||
{"value": "CUW : CURACOAN", "name": "Curaçao"},
|
||||
{"value": "CXR : CHRISTMAS ISLAND", "name": "Christmas Island"},
|
||||
{"value": "CYM : CAYMAN ISLANDER", "name": "Cayman Islands"},
|
||||
{"value": "CYP : CYPRIOT", "name": "Cyprus"},
|
||||
{"value": "CZE : CZECH REPUBLIC", "name": "Czech Republic"},
|
||||
{"value": "DEU : GERMAN", "name": "Germany"},
|
||||
{"value": "DJI : DJIBOUTI", "name": "Djibouti"},
|
||||
{"value": "DMA : DOMINICA", "name": "Dominica"},
|
||||
{"value": "DNK : DANISH", "name": "Denmark"},
|
||||
{"value": "DOM : DOMINICAN", "name": "Dominican Republic"},
|
||||
{"value": "DZA : ALGERIAN", "name": "Algeria"},
|
||||
{"value": "ECU : ECUADORIAN", "name": "Ecuador"},
|
||||
{"value": "EGY : EGYPTIAN", "name": "Egypt"},
|
||||
{"value": "ERI : ERITREAN", "name": "Eritrea"},
|
||||
{"value": "ESH : SAHRAWI", "name": "Western Sahara"},
|
||||
{"value": "ESP : SPANISH", "name": "Spain"},
|
||||
{"value": "EST : ESTONIAN", "name": "Estonia"},
|
||||
{"value": "ETH : ETHIOPIAN", "name": "Ethiopia"},
|
||||
{"value": "FIN : FINNISH", "name": "Finland"},
|
||||
{"value": "FJI : FIJIAN", "name": "Fiji"},
|
||||
{"value": "FLK : FALKLAND ISLANDS (MALVINAS)", "name": "Falkland Islands"},
|
||||
{"value": "FRA : FRENCH", "name": "France"},
|
||||
{"value": "FRO : FAEROES ISLANDER", "name": "Faroe Islands"},
|
||||
{"value": "FSM : MICRONESIAN", "name": "Micronesia"},
|
||||
{"value": "GAB : GABONESE", "name": "Gabon"},
|
||||
{"value": "GBR : BRITISH", "name": "United Kingdom"},
|
||||
{"value": "GEO : GEORGIAN", "name": "Georgia"},
|
||||
{"value": "GGY : GUERNSEY ISLANDER", "name": "Guernsey"},
|
||||
{"value": "GHA : GHANAIAN", "name": "Ghana"},
|
||||
{"value": "GIB : GIBRALTAR", "name": "Gibraltar"},
|
||||
{"value": "GIN : GUINEAN", "name": "Guinea"},
|
||||
{"value": "GLP : GUADELOUPEAN", "name": "Guadeloupe"},
|
||||
{"value": "GMB : GAMBIAN", "name": "Gambia"},
|
||||
{"value": "GNB : GUINEA-BISSAUAN", "name": "Guinea-Bissau"},
|
||||
{"value": "GNQ : EQUATORIAL GUINEAN", "name": "Equatorial Guinea"},
|
||||
{"value": "GRC : GREEK", "name": "Greece"},
|
||||
{"value": "GRD : GRENADIAN", "name": "Grenada"},
|
||||
{"value": "GRL : GREENLANDER", "name": "Greenland"},
|
||||
{"value": "GTM : GUATEMALAN", "name": "Guatemala"},
|
||||
{"value": "GUF : FRENCH GUIANA", "name": "French Guiana"},
|
||||
{"value": "GUM : GUAMANIAN", "name": "Guam"},
|
||||
{"value": "GUY : GUYANESE", "name": "Guyana"},
|
||||
{"value": "HMD : HEARD AND MCDONALD ISLANDS", "name": "Heard Island and McDonald Islands"},
|
||||
{"value": "HND : HONDURAN", "name": "Honduras"},
|
||||
{"value": "HRV : CROATIA", "name": "Croatia"},
|
||||
{"value": "HTI : HAITIAN", "name": "Haiti"},
|
||||
{"value": "HUN : HUNGARIAN", "name": "Hungary"},
|
||||
{"value": "IDN : INDONESIAN", "name": "Indonesia"},
|
||||
{"value": "IMN : MANX", "name": "Isle of Man"},
|
||||
{"value": "IND : INDIAN", "name": "India"},
|
||||
{"value": "IOT : BRITISH INDIAN OCEAN TERR.", "name": "British Indian Ocean Territory"},
|
||||
{"value": "IRL : IRISH", "name": "Ireland"},
|
||||
{"value": "IRN : IRANIAN", "name": "Iran"},
|
||||
{"value": "IRQ : IRAQI", "name": "Iraq"},
|
||||
{"value": "ISL : ICELANDIC", "name": "Iceland"},
|
||||
{"value": "ISR : ISRAELI", "name": "Israel"},
|
||||
{"value": "ITA : ITALIAN", "name": "Italy"},
|
||||
{"value": "JAM : JAMAICAN", "name": "Jamaica"},
|
||||
{"value": "JEY : JERSEY ISLANDER", "name": "Jersey"},
|
||||
{"value": "JOR : JORDANIAN", "name": "Jordan"},
|
||||
{"value": "JPN : JAPANESE", "name": "Japan"},
|
||||
{"value": "KAZ : KAZAKH", "name": "Kazakhstan"},
|
||||
{"value": "KEN : KENYAN", "name": "Kenya"},
|
||||
{"value": "KGZ : KYRGYZ", "name": "Kyrgyzstan"},
|
||||
{"value": "KHM : CAMBODIAN", "name": "Cambodia"},
|
||||
{"value": "KIR : KIRIBATIAN", "name": "Kiribati"},
|
||||
{"value": "KNA : ST.CHRISTOPHERAN", "name": "Saint Kitts and Nevis"},
|
||||
{"value": "KOR : SOUTH KOREAN", "name": "South Korea"},
|
||||
{"value": "KWT : KUWAITI", "name": "Kuwait"},
|
||||
{"value": "LAO : LAO", "name": "Laos"},
|
||||
{"value": "LBN : LEBANESE", "name": "Lebanon"},
|
||||
{"value": "LBR : LIBERIAN", "name": "Liberia"},
|
||||
{"value": "LBY : LIBYAN", "name": "Libya"},
|
||||
{"value": "LCA : SAINT LUCIAN", "name": "Saint Lucia"},
|
||||
{"value": "LIE : LIECHTENSTEIN", "name": "Liechtenstein"},
|
||||
{"value": "LKA : SRI LANKAN", "name": "Sri Lanka"},
|
||||
{"value": "LSO : LESOTHON", "name": "Lesotho"},
|
||||
{"value": "LTU : LITHUANIAN", "name": "Lithuania"},
|
||||
{"value": "LUX : LUXEMBURGERG", "name": "Luxembourg"},
|
||||
{"value": "LVA : LATVIAN", "name": "Latvia"},
|
||||
{"value": "MAF : SAINT-MARTINOIS", "name": "Saint Martin"},
|
||||
{"value": "MAR : MOROCCAN", "name": "Morocco"},
|
||||
{"value": "MCO : MONEGASQUE", "name": "Monaco"},
|
||||
{"value": "MDA : MOLDOVAN", "name": "Moldova"},
|
||||
{"value": "MDG : MALAGASY", "name": "Madagascar"},
|
||||
{"value": "MDV : MALDIVIAN", "name": "Maldives"},
|
||||
{"value": "MEX : MEXICAN", "name": "Mexico"},
|
||||
{"value": "MHL : MARSHALL ISLANDER", "name": "Marshall Islands"},
|
||||
{"value": "MKD : MACEDONIA", "name": "North Macedonia"},
|
||||
{"value": "MLI : MALIIAN", "name": "Mali"},
|
||||
{"value": "MLT : MALTESE", "name": "Malta"},
|
||||
{"value": "MMR : MYANMAR", "name": "Myanmar"},
|
||||
{"value": "MNE : CRNA GORA MONTENEGRO", "name": "Montenegro"},
|
||||
{"value": "MNG : MONGOLIA", "name": "Mongolia"},
|
||||
{"value": "MNP : MARIANAN", "name": "Northern Mariana Islands"},
|
||||
{"value": "MOZ : MOZAMBICAN", "name": "Mozambique"},
|
||||
{"value": "MRT : MAURITANIAN", "name": "Mauritania"},
|
||||
{"value": "MSR : MONTSERRAT", "name": "Montserrat"},
|
||||
{"value": "MTQ : MARTINIQUE", "name": "Martinique"},
|
||||
{"value": "MUS : MAURITIAN", "name": "Mauritius"},
|
||||
{"value": "MWI : MALAWIAN", "name": "Malawi"},
|
||||
{"value": "MYS : MALAYSIAN", "name": "Malaysia"},
|
||||
{"value": "MYT : MAYOTTE", "name": "Mayotte"},
|
||||
{"value": "NAM : NAMIBIAN", "name": "Namibia"},
|
||||
{"value": "NCL : NEW CALEDONIAN", "name": "New Caledonia"},
|
||||
{"value": "NER : NIGER", "name": "Niger"},
|
||||
{"value": "NFK : NORFOLK ISLAND", "name": "Norfolk Island"},
|
||||
{"value": "NGA : NIGERIAN", "name": "Nigeria"},
|
||||
{"value": "NIC : NICARAGUAN", "name": "Nicaragua"},
|
||||
{"value": "NIU : NIUE", "name": "Niue"},
|
||||
{"value": "NLD : DUTCH", "name": "Netherlands"},
|
||||
{"value": "NOR : NORWEGIAN", "name": "Norway"},
|
||||
{"value": "NPL : NEPALESE", "name": "Nepal"},
|
||||
{"value": "NRU : NAURUAN", "name": "Nauru"},
|
||||
{"value": "NZL : NEW ZEALANDER", "name": "New Zealand"},
|
||||
{"value": "OMN : OMANI", "name": "Oman"},
|
||||
{"value": "PAK : PAKISTAN", "name": "Pakistan"},
|
||||
{"value": "PAN : PANAMANIAN", "name": "Panama"},
|
||||
{"value": "PCI : TRUST PACIFIC", "name": "Pacific Islands Trust Territory"},
|
||||
{"value": "PCN : PITCAIRN", "name": "Pitcairn Islands"},
|
||||
{"value": "PER : PERUVIAN", "name": "Peru"},
|
||||
{"value": "PHL : PHILIPPINE", "name": "Philippines"},
|
||||
{"value": "PLW : PALAUAN", "name": "Palau"},
|
||||
{"value": "PNG : PAPUA NEW GUINEA", "name": "Papua New Guinea"},
|
||||
{"value": "POL : POLISH", "name": "Poland"},
|
||||
{"value": "PRI : PUERTO RICAN", "name": "Puerto Rico"},
|
||||
{"value": "PRK : NORTH KOREAN", "name": "North Korea"},
|
||||
{"value": "PRT : PORTUGUESE", "name": "Portugal"},
|
||||
{"value": "PRY : PARAGUAYAN", "name": "Paraguay"},
|
||||
{"value": "PSE : PALESTINIAN", "name": "Palestine"},
|
||||
{"value": "PYF : FRENCH POLYNESIA", "name": "French Polynesia"},
|
||||
{"value": "QAT : QATAR", "name": "Qatar"},
|
||||
{"value": "REU : REUNION ISLANDER", "name": "Réunion"},
|
||||
{"value": "ROU : ROMANIAN", "name": "Romania"},
|
||||
{"value": "RUS : RUSSIAN", "name": "Russia"},
|
||||
{"value": "RWA : RWANDAN", "name": "Rwanda"},
|
||||
{"value": "SAU : SAUDI ARABIAN", "name": "Saudi Arabia"},
|
||||
{"value": "SDN : SUDANESE", "name": "Sudan"},
|
||||
{"value": "SEN : SENEGALESE", "name": "Senegal"},
|
||||
{"value": "SGP : SINGAPOREAN", "name": "Singapore"},
|
||||
{"value": "SGS : SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS", "name": "South Georgia and South Sandwich Islands"},
|
||||
{"value": "SHN : ST. HELENA", "name": "Saint Helena"},
|
||||
{"value": "SJM : SVALBARD AND JAN MAYEN ISLANDS", "name": "Svalbard and Jan Mayen"},
|
||||
{"value": "SLB : SOLOMON ISLANDER", "name": "Solomon Islands"},
|
||||
{"value": "SLE : SIERRA LEONEAN", "name": "Sierra Leone"},
|
||||
{"value": "SLV : SALVADORAN", "name": "El Salvador"},
|
||||
{"value": "SMR : SAN MARINO", "name": "San Marino"},
|
||||
{"value": "SOM : SOMALIAN", "name": "Somalia"},
|
||||
{"value": "SPM : ST. PEIRRE AND MIQUELON", "name": "Saint Pierre and Miquelon"},
|
||||
{"value": "SRB : SERBIA", "name": "Serbia"},
|
||||
{"value": "SSD : REPUBLIC OF SOUTH SUDAN", "name": "South Sudan"},
|
||||
{"value": "STP : SAO TOME/PRINCIPE", "name": "São Tomé and Príncipe"},
|
||||
{"value": "SUR : SURINAM", "name": "Suriname"},
|
||||
{"value": "SVK : SLOVAK", "name": "Slovakia"},
|
||||
{"value": "SVN : SLOVENE", "name": "Slovenia"},
|
||||
{"value": "SWE : SWEDISH", "name": "Sweden"},
|
||||
{"value": "SWZ : SWAZI", "name": "Eswatini"},
|
||||
{"value": "SXM : SINT MAARTENER", "name": "Sint Maarten"},
|
||||
{"value": "SYC : SEYCHELLOIS", "name": "Seychelles"},
|
||||
{"value": "SYR : SYRIAN", "name": "Syria"},
|
||||
{"value": "TCA : TURKS AND CAICOS ISLANDS", "name": "Turks and Caicos Islands"},
|
||||
{"value": "TCD : CHADIAN", "name": "Chad"},
|
||||
{"value": "TGO : TOGOLESE", "name": "Togo"},
|
||||
{"value": "TJK : TAJIK", "name": "Tajikistan"},
|
||||
{"value": "TKL : TOKELAU", "name": "Tokelau"},
|
||||
{"value": "TKM : TURKMEN", "name": "Turkmenistan"},
|
||||
{"value": "TLS : TIMOR-LESTE", "name": "Timor-Leste"},
|
||||
{"value": "TON : TONGAN", "name": "Tonga"},
|
||||
{"value": "TTO : TRINIDAD AND TOBAGO", "name": "Trinidad and Tobago"},
|
||||
{"value": "TUN : TUNISIAN", "name": "Tunisia"},
|
||||
{"value": "TUR : TURKISH", "name": "Turkey"},
|
||||
{"value": "TUV : TUVALUAN", "name": "Tuvalu"},
|
||||
{"value": "TZA : TANZANIAN", "name": "Tanzania"},
|
||||
{"value": "UGA : UGANDAN", "name": "Uganda"},
|
||||
{"value": "UKR : UKRANIAN", "name": "Ukraine"},
|
||||
{"value": "UMI : UNITED STATES MINOR OUTLYING ISLANDS", "name": "U.S. Minor Outlying Islands"},
|
||||
{"value": "URY : URUGUAYAN", "name": "Uruguay"},
|
||||
{"value": "USA : AMERICAN", "name": "United States"},
|
||||
{"value": "UZB : UZBEK", "name": "Uzbekistan"},
|
||||
{"value": "VAT : THE HOLY SEE", "name": "Vatican City"},
|
||||
{"value": "VCT : SAINT VINCENT AND THE GRENADINES", "name": "Saint Vincent and the Grenadines"},
|
||||
{"value": "VEN : VENEZUELAN", "name": "Venezuela"},
|
||||
{"value": "VGB : BRITISH VIRGIN ISLANDER", "name": "British Virgin Islands"},
|
||||
{"value": "VIR : U.S. VIRGIN ISLANDER", "name": "U.S. Virgin Islands"},
|
||||
{"value": "VNM : VIETNAMESE", "name": "Vietnam"},
|
||||
{"value": "VUT : VANUATU", "name": "Vanuatu"},
|
||||
{"value": "WLF : WALLIS AND FUTUNA ISLANDS", "name": "Wallis and Futuna"},
|
||||
{"value": "WSM : SAMOAN", "name": "Samoa"},
|
||||
{"value": "XKX : KOSOVAN", "name": "Kosovo"},
|
||||
{"value": "YEM : YEMENI", "name": "Yemen"},
|
||||
{"value": "ZAF : SOUTH AFRICAN", "name": "South Africa"},
|
||||
{"value": "ZMB : ZAMBIAN", "name": "Zambia"},
|
||||
{"value": "ZWE : ZIMBABWEAN", "name": "Zimbabwe"}
|
||||
]
|
||||
66
public/json/state.json
Normal file
@@ -0,0 +1,66 @@
|
||||
[
|
||||
{
|
||||
"id": "01",
|
||||
"text": "<option value='0100'>JOHOR 柔佛</option><option value='0101'>ASAHAN, JOHOR 亚沙汉, 柔佛</option><option value='0102'>AYER BALOI 亚逸巴罗</option><option value='0103'>AYER HITAM 亚逸依淡</option><option value='0104'>BAKRI 峇株巴辖</option><option value='0105'>BATU ANAM 巴株安南</option><option value='0106'>BATU PAHAT 峇株巴辖</option><option value='0107'>BEKOK 彼咯</option><option value='0108'>BENUT 笨珍</option><option value='0109'>BUKIT GAMBIR 武吉甘蜜</option><option value='0110'>BUKIT PASIR 武吉巴西</option><option value='0111'>CHAAH 查哈</option><option value='0112'>ENDAU 兴楼</option><option value='0113'>GELANG PATAH 振林山</option><option value='0114'>GEMAS 金马士</option><option value='0115'>GERSEK 格西</option><option value='0116'>G. TAIB ANDAK 泰益安达</option><option value='0117'>JEMENTAH 日叻务</option><option value='0118'>JOHOR BAHRU 新山</option><option value='0119'>KAHANG 加亨</option><option value='0120'>KLUANG 居銮</option><option value='0121'>KG KNGAN T DR 甘榜根登</option><option value='0122'>KOTA TINGGI 哥打丁宜</option><option value='0123'>KUKUP 龟咯</option><option value='0124'>KULAI 古来</option><option value='0125'>LABIS 拉美士</option><option value='0126'>LAYANG-LAYANG 拉央拉央</option><option value='0127'>MASAI 马西</option><option value='0128'>MERSING 丰盛港</option><option value='0129'>MUAR 麻坡</option><option value='0130'>PAGOH 巴莪</option><option value='0131'>PALOH 巴罗</option><option value='0132'>PANCHOR 班卒</option><option value='0133'>PARIT JAWA 巴力爪哇</option><option value='0134'>PARIT RAJA 巴力拉惹</option><option value='0135'>PARIT SULONG 巴力士隆</option><option value='0136'>PASIR GUDANG 巴西古当</option><option value='0137'>PEKAN NANAS 北干那那</option><option value='0138'>PENGERANG 边佳兰</option><option value='0139'>PONTIAN 笨珍</option><option value='0140'>RENGIT 龙引</option><option value='0141'>SEGAMAT 昔加末</option><option value='0142'>SKUDAI 士古来</option><option value='0143'>SEMERAH 四加亭</option><option value='0144'>SENAI 士乃</option><option value='0145'>SENGGARANG 新加兰</option><option value='0146'>SIMPANG RENGGAM 新邦令金</option><option value='0147'>SUNGAI MATI 双溪马立</option><option value='0148'>TANGKAK 东甲</option><option value='0149'>ULU TIRAM 乌鲁地南</option><option value='0150'>YONG PENG 永平</option><option value='0151'>SAGIL 沙吉</option><option value='0157'>BUKIT KEPONG 武吉甲洞</option><option value='0177'>LENGA 令金</option><option value='0191'>SUNGAI BALANG 双溪巴兰</option><option value='0192'>GEMAS BARU 金马士新镇</option><option value='0193'>RENGGAM 令金</option><option value='0194'>BANDAR PENAWAR 班台彭加兰</option><option value='0195'>LEDANG 礼让</option><option value='0196'>ISKANDAR PUTERI 依斯干达公主城</option><option value='0197'>KULAI JAYA 古来再也</option><option value='0198'>KANGKAR PULAI 江加埔莱</option>"
|
||||
},
|
||||
{
|
||||
"id": "02",
|
||||
"text": "<option value='0200'>KEDAH 吉打</option><option value='0201'>ALOR SETAR 亚罗士打</option><option value='0202'>BALING 华玲</option><option value='0203'>BANDAR BAHARU 万拉峇鲁</option><option value='0204'>BEDONG 美农</option><option value='0205'>GURUN 古润</option><option value='0206'>JITRA 日得拉</option><option value='0207'>KARANGAN 加央</option><option value='0208'>KEPALA BATAS 甲抛峇底</option><option value='0209'>KODIANG 高岭</option><option value='0210'>KOTA KUALA MUDA 哥打古鲁木</option><option value='0211'>KUALA KEDAH 吉打港口</option><option value='0212'>KUALA KETIL 瓜拉吉底</option><option value='0213'>KUALA NERANG 瓜拉尼浪</option><option value='0214'>KULIM 居林</option><option value='0215'>KUPANG 高巴</option><option value='0216'>LANGGAR 兰卡威</option><option value='0217'>LANGKAWI 浮罗交怡</option><option value='0218'>LUNAS 鲁乃</option><option value='0219'>MERBOK 美堡</option><option value='0220'>PADANG SERAI 巴东色海</option><option value='0221'>PENDANG 笨筒</option><option value='0222'>POKOK SENA 波各先那</option><option value='0223'>SERDANG 色当</option><option value='0224'>SIK 锡</option><option value='0225'>SUNGAI PETANI 双溪大年</option><option value='0226'>YAN 铅</option><option value='0234'>CHANGLOON 樟仑</option><option value='0281'>SG. BAKAP 双溪巴甲</option><option value='0284'>SIMPANG EMPAT 新邦安拔</option><option value='0285'>KOTA SARANG SEMUT 哥打沙拉姆</option><option value='0286'>JENIANG 仁岭</option><option value='0287'>SINTOK 新笃</option>"
|
||||
},
|
||||
{
|
||||
"id": "03",
|
||||
"text": "<option value='0300'>KELANTAN 吉兰丹</option><option value='0301'>AYER LANAS 亚逸拉那</option><option value='0302'>BACHOK 巴佐</option><option value='0303'>CHERANG RUKU 遮兰如库</option><option value='0304'>DABONG 达蓬</option><option value='0305'>GUA MUSANG 话望生</option><option value='0306'>JELI 日里</option><option value='0307'>K DESA PAHLAWAN 英雄村</option><option value='0308'>KETEREH 格底里</option><option value='0309'>KOTA BHARU 哥打巴鲁</option><option value='0310'>KUALA KRAI 瓜拉吉赖</option><option value='0311'>MACHANG 马樟</option><option value='0312'>MELOR 美罗</option><option value='0313'>PASIR MAS 巴西马</option><option value='0314'>PASIR PUTEH 巴西富地</option><option value='0315'>PULAI CHONDONG 布赖崇东</option><option value='0316'>RANTAU PANJANG 兰斗班让</option><option value='0317'>TANAH MERAH 丹那美拉</option><option value='0318'>TEMANGAN 德马昂</option><option value='0319'>TUMPAT 道北</option><option value='0320'>WAKAF BHARU 华卡峇鲁</option><option value='0321'>SELISING 士里辛</option><option value='0322'>KUALA BALAH 瓜拉巴拉</option>"
|
||||
},
|
||||
{
|
||||
"id": "04",
|
||||
"text": "<option value='0400'>MELAKA 马六甲</option><option value='0401'>ALOR GAJAH 亚罗牙也</option><option value='0402'>ASAHAN 亚沙汉</option><option value='0403'>BATANG MELAKA 巴登马六甲</option><option value='0404'>BEMBAN 文望</option><option value='0405'>DURIAN TUNGGAL 榴梿洞葛</option><option value='0406'>GEMAS 金马士</option><option value='0407'>JASIN 野新</option><option value='0408'>K/SUNGAI BARU 瓜拉双溪峇鲁</option><option value='0409'>LUBOK CHINA 鲁容</option><option value='0410'>MASJID TANAH 马士丹那</option><option value='0411'>MELAKA 马六甲</option><option value='0412'>MERLIMAU 万里茂</option><option value='0413'>SUNGAI RAMBAI 双溪南眉</option><option value='0414'>SUNGAI UDANG 双溪乌浪</option><option value='0415'>TAMPIN 淡边</option><option value='0416'>TANJONG KELING 丹绒吉宁</option><option value='0417'>SELANDAR 士兰道</option>"
|
||||
},
|
||||
{
|
||||
"id": "05",
|
||||
"text": "<option value='0500'>N SEMBILAN 森美兰</option><option value='0501'>ASAHAN 亚沙汉</option><option value='0502'>BAHAU 芙蓉</option><option value='0503'>BATANG MELAKA 巴登马六甲</option><option value='0504'>BATU KIKIR 巴都基基</option><option value='0505'>DURIAN TIPUS 榴梿蒂布</option><option value='0506'>GEMAS 金马士</option><option value='0507'>GEMENCHEH 日叻务</option><option value='0508'>JOHOL 汝来</option><option value='0509'>KOTA 哥打</option><option value='0510'>KUALA KLAWANG 瓜拉格拉旺</option><option value='0511'>KUALA PILAH 瓜拉庇劳</option><option value='0512'>LABU 拉务</option><option value='0513'>LENGGENG 林茂</option><option value='0514'>LINGGI 宁宜</option><option value='0515'>LUBOK CHINA 鲁容</option><option value='0516'>MANTIN 文丁</option><option value='0517'>NILAI 汝来</option><option value='0518'>PASIR PANJANG 巴西班让</option><option value='0519'>PEDAS 巴当</option><option value='0520'>PORT DICKSON 波德申</option><option value='0521'>RANTAU 仁保</option><option value='0522'>REMBAU 林茂</option><option value='0523'>ROMPIN 龙平</option><option value='0524'>SELIAU 士里奥</option><option value='0525'>SEREMBAN 芙蓉</option><option value='0526'>SRI MENANTI 斯里马南</option><option value='0527'>SI RUSA 士鲁沙</option><option value='0528'>SILIAU 士里奥</option><option value='0529'>SIMPANG PERTANG 新邦葫芦顶</option><option value='0530'>SUNGAI GADUT 双溪加笃</option><option value='0531'>TAMPIN 淡边</option><option value='0532'>TANJUNG IPOH 丹绒依波</option><option value='0533'>TITI 蒂蒂</option><option value='0534'>BUKIT PELANDOK 武吉巴弄</option><option value='0535'>CHUAH 朱湖</option><option value='0536'>LUKUT 芦骨</option><option value='0537'>TELUK KEMANG 直落甘望</option><option value='0538'>PENG.KEMPAS 彭加兰</option><option value='0539'>JELEBU 日叻务</option><option value='0540'>BANDAR SERI JEMPOL 斯里仁保</option><option value='0541'>JUASSEH 爪西</option><option value='0542'>B BARU JEMPOL 新仁保</option><option value='0543'>BANDAR ENSTEK 恩斯德</option><option value='0545'>PUSAT BANDAR PALONG 巴隆市中心</option>"
|
||||
},
|
||||
{
|
||||
"id": "06",
|
||||
"text": "<option value='0600'>PAHANG 彭亨</option><option value='0601'>BANDAR JENGKA 珍卡</option><option value='0602'>BENTA 文打</option><option value='0603'>BENTONG 文冬</option><option value='0604'>BESERAH 北索拉</option><option value='0605'>BUKIT FRASER 福隆港</option><option value='0606'>CHENOR 珍诺</option><option value='0607'>DONG 东</option><option value='0608'>GAMBANG 甘榜</option><option value='0609'>GENTING 云顶</option><option value='0610'>JERANTUT 而连突</option><option value='0611'>KARAK 加叻</option><option value='0612'>KEMAYAN 金马扬</option><option value='0613'>KUALA LIPIS 瓜拉立卑</option><option value='0614'>KUALA ROMPIN 瓜拉弄宾</option><option value='0615'>KUANTAN 关丹</option><option value='0616'>LANCHANG 兰樟</option><option value='0617'>LURAH BILUT 乌鲁比律</option><option value='0618'>MARAN 马兰</option><option value='0619'>MENGKARAK 孟加乐</option><option value='0620'>MENTAKAB 文德甲</option><option value='0621'>MERSING 丰盛港</option><option value='0622'>MUADZAM SHAH 慕阿占沙</option><option value='0623'>PADANG TENGKU 巴登东姑</option><option value='0624'>PEKAN 北根</option><option value='0625'>RAUB 劳勿</option><option value='0626'>RINGLET 林烈</option><option value='0627'>SEGAMAT 昔加末</option><option value='0628'>SUNGAI LEMBING 双溪林明</option><option value='0629'>SUNGAI RUAN 双溪如安</option><option value='0630'>TANAH RATA 丹那拉打</option><option value='0631'>TEMERLOH 淡马鲁</option><option value='0632'>TRIANG 直凉</option><option value='0633'>BDR TUN RAZAK 敦拉萨镇</option><option value='0634'>ROMPIN 龙平</option><option value='0635'>C HIGHLANDS 金马仑高原</option><option value='0636'>BANDAR BERA 百乐</option><option value='0637'>SEGA 士加</option><option value='0639'>BRINCHANG 布林章</option>"
|
||||
},
|
||||
{
|
||||
"id": "07",
|
||||
"text": "<option value='0700'>P PINANG 槟城</option><option value='0701'>AYER ITAM 亚依淡</option><option value='0702'>BALIK PULAU 浮罗山背</option><option value='0703'>BATU FERRINGHI 峇都丁宜</option><option value='0704'>BAYAN LEPAS 峇六拜</option><option value='0705'>BUKIT MERTAJAM 大山脚</option><option value='0706'>BUTTERWORTH 北海</option><option value='0707'>GELUGOR 日落洞</option><option value='0708'>GEORGETOWN 乔治市</option><option value='0709'>KEPALA BATAS 甲抛峇底</option><option value='0710'>NIBONG TEBAL 高渊</option><option value='0711'>PENAGA 槟榔</option><option value='0712'>PENANG HILL 槟城山</option><option value='0713'>PERAI 北赖</option><option value='0714'>PERMATANG PAUH 峇东埔</option><option value='0715'>PULAU PINANG 槟岛</option><option value='0716'>SIMPANG AMPAT 新邦安拔</option><option value='0717'>SUNGAI JAWI 双溪爪夷</option><option value='0718'>TANJONG BUNGAH 丹绒武雅</option><option value='0719'>TASEK GELUGOR 打昔汝莪</option><option value='0720'>USM P/PINANG 理科大学</option><option value='0721'>SUNGAI BAKAP 双溪巴甲</option><option value='0722'>JELUTONG 日落洞</option><option value='0723'>MINDEN 明登</option>"
|
||||
},
|
||||
{
|
||||
"id": "08",
|
||||
"text": "<option value='0800'>PERAK 霹雳</option><option value='0801'>AYER TAWAR 爱大华</option><option value='0802'>BAGAN DATOH 巴眼拿督</option><option value='0803'>BAGAN SERAI 巴眼士来</option><option value='0804'>BATU GAJAH 华都牙也</option><option value='0805'>BATU KURAU 巴都古劳</option><option value='0806'>BERUAS 乌鲁</option><option value='0807'>BIDOR 美罗</option><option value='0808'>BOTA 武吉</option><option value='0809'>CHKT KERUING 吉辇</option><option value='0810'>CHEMOR 积莪营</option><option value='0811'>CHENDERIANG 贞德隆</option><option value='0812'>CHENDERONG BALAI 贞德隆巴莱</option><option value='0813'>ENGGOR 英格</option><option value='0814'>GERIK 宜力</option><option value='0815'>GOPENG 务边</option><option value='0816'>HUTAN MELINTANG 森林美兰</option><option value='0817'>KLIAN INTAN 吉辇</option><option value='0818'>IPOH 怡保</option><option value='0819'>KAMPAR 金宝</option><option value='0820'>KAMPONG GAJAH 甘榜牙也</option><option value='0821'>KG KEPAYANG 甘榜甲巴央</option><option value='0822'>KAMUNTING 甘文丁</option><option value='0823'>KUALA KANGSAR 江沙</option><option value='0824'>KUALA SEPETANG 瓜拉十八丁</option><option value='0825'>LAHAT 拉哈</option><option value='0826'>LANGKAP 兰卡</option><option value='0827'>LENGGONG 玲珑</option><option value='0828'>LUMUT 红土坎</option><option value='0829'>MALIM NAWAR 万挠</option><option value='0830'>MAMBANG DIAWAN 万邦刁湾</option><option value='0831'>MANONG 马弄</option><option value='0832'>MATANG 马登</option><option value='0833'>MENGLEMBU 万里望</option><option value='0834'>PADANG RENGAS 巴登冷甲</option><option value='0835'>PANGKOR 邦咯</option><option value='0836'>PANTAI REMIS 班台</option><option value='0837'>PARIT 巴力</option><option value='0838'>PARIT BUNTAR 巴力文打</option><option value='0839'>PENGKALAN HULU 高乌</option><option value='0840'>PUSING 布先</option><option value='0841'>SAUK 沙威</option><option value='0842'>SELAMA 司南马</option><option value='0843'>SELEKOH 士力谷</option><option value='0844'>SEMANGGOL 实兆远</option><option value='0845'>SIMPANG 新邦</option><option value='0846'>SIMPANG AMPAT 新邦安拔</option><option value='0847'>SITIAWAN 实兆远</option><option value='0848'>SLIM RIVER 仕林河</option><option value='0849'>SUNGAI SIPUT 双溪西埔</option><option value='0850'>SUNGAI SUMUN 双溪苏门</option><option value='0851'>SUNGKAI 双溪甲巴央</option><option value='0852'>TAIPING 太平</option><option value='0853'>TANJUNG MALIM 丹绒马林</option><option value='0854'>TG.PIANDANG 丹绒比艾</option><option value='0855'>TG.RAMBUTAN 丹绒兰布丹</option><option value='0856'>TANJONG TUALANG 丹绒督亚冷</option><option value='0857'>TAPAH 打巴</option><option value='0858'>TAPAH ROAD 打巴路</option><option value='0859'>TELUK INTAN 安顺</option><option value='0860'>TEMOH 地摩</option><option value='0861'>TRONG 东</option><option value='0862'>TERONOH 地罗叻</option><option value='0863'>ULU KINTA 乌鲁近打</option><option value='0864'>ULU BERNAM 乌鲁冷岳</option><option value='0865'>SG SIPUT (U) 双溪西埔(乌鲁)</option><option value='0866'>BEHRANG STESEN 美冷</option><option value='0867'>TROLAK 督拉</option><option value='0880'>KUALA DIPANG 瓜拉迪邦</option><option value='0881'>KUALA KURAU 瓜拉古楼</option><option value='0882'>SERI MANJUNG 斯里曼绒</option><option value='0887'>CHIKUS 积莪营</option>"
|
||||
},
|
||||
{
|
||||
"id": "09",
|
||||
"text": "<option value='0900'>PERLIS 玻璃市</option><option value='0901'>ARAU 亚罗士打</option><option value='0902'>KAKI BUKIT 加基武吉</option><option value='0903'>KANGAR 加央</option><option value='0904'>KUALA PERLIS 瓜拉玻璃市</option><option value='0905'>PADANG BESAR 巴东勿刹</option><option value='0906'>SIMPANG AMPAT 新邦安拔</option>"
|
||||
},
|
||||
{
|
||||
"id": "10",
|
||||
"text": "<option value='1000'>SELANGOR 雪兰莪</option><option value='1001'>AMPANG 安邦</option><option value='1002'>BANTING 万津</option><option value='1003'>BTG.BERJUNTAI 巴生港口</option><option value='1004'>BATANG KALI 巴生</option><option value='1005'>BATU 9 CHERAS 蕉赖九英里</option><option value='1006'>BATU ARANG 煤炭山</option><option value='1007'>BATU CAVES 黑风洞</option><option value='1008'>BERANANG 万挠</option><option value='1009'>BUKIT ROTAN 武吉罗丹</option><option value='1010'>DENGKIL 龙溪</option><option value='1011'>HULU LANGAT 乌鲁冷岳</option><option value='1012'>JENJAROM 仁嘉隆</option><option value='1013'>JERAM 吉兰</option><option value='1014'>KAJANG 加影</option><option value='1015'>KAPAR 加埔</option><option value='1016'>KLANG 巴生</option><option value='1017'>KERLING 吉令</option><option value='1018'>K. KUBU BHARU 古布巴鲁</option><option value='1019'>KUALA LUMPUR 吉隆坡</option><option value='1020'>KUALA SELANGOR 瓜拉雪兰莪</option><option value='1021'>NILAI 汝来</option><option value='1022'>MANTIN 文丁</option><option value='1023'>PELABUHAN KLANG 巴生港口</option><option value='1024'>PETALING JAYA 八打灵再也</option><option value='1025'>PUCHONG 蒲种</option><option value='1026'>PULAU CAREY 加里岛</option><option value='1027'>PULAU KETAM 吉胆岛</option><option value='1028'>PULAU INDAH 英达岛</option><option value='1029'>RANTAU PANJANG 兰斗班让</option><option value='1030'>RASA 拉沙</option><option value='1031'>RAWANG 万挠</option><option value='1032'>SABAK BERNAM 沙白安南</option><option value='1033'>SEKINCAN 士基央</option><option value='1034'>SEMENYIH 士毛月</option><option value='1035'>SEPANG 雪邦</option><option value='1036'>SERENDAH 士林河</option><option value='1037'>SERI KEMBANGAN 斯里肯邦安</option><option value='1038'>SHAH ALAM 莎阿南</option><option value='1039'>SUBANG JAYA 梳邦再也</option><option value='1040'>SG AYER TAWAR 双溪亚依淡</option><option value='1041'>SUNGAI BESAR 双溪大年</option><option value='1042'>SUNGAI BULOH 双溪毛糯</option><option value='1043'>SUNGAI PELEK 双溪比力</option><option value='1044'>TANJONG KARANG 丹绒加弄</option><option value='1045'>TANJONG SEPAT 丹绒士拔</option><option value='1046'>TELOK P. GARANG 直落巴巷</option><option value='1047'>UKM BANGI 国立大学</option><option value='1048'>UPM SERDANG 博特拉大学</option><option value='1049'>HULU BERNAM 乌鲁冷岳</option><option value='1050'>BDR. BARU BANGI 万宜新镇</option><option value='1051'>PUTRAJAYA(SEBELUM 1.2.2001) 布城(2001年2月1日前)</option><option value='1052'>CYBERJAYA 赛城</option><option value='1053'>SELAYANG 士拉央</option><option value='1087'>BANDAR BARU SUNGAI BULOH 双溪毛糯新镇</option><option value='1088'>ULU YAM BARU 乌鲁音巴鲁</option><option value='1089'>GOMBAK 鹅唛</option><option value='1090'>SERDANG 士林河</option><option value='1092'>CHERAS 蕉赖</option><option value='1095'>BANDAR PUNCAK ALAM 万挠</option>"
|
||||
},
|
||||
{
|
||||
"id": "11",
|
||||
"text": "<option value='1100'>TERENGGANU 登嘉楼</option><option value='1101'>AJIL 亚依淡</option><option value='1102'>BESUT 勿述</option><option value='1103'>BUKIT BESI 武吉巴西</option><option value='1104'>DUNGUN 龙运</option><option value='1105'>JERTIH 日底</option><option value='1106'>BDR PERMAISURI 巴都拉惹</option><option value='1107'>KEMAMAN 甘马挽</option><option value='1108'>KEMASEK 甘马仕</option><option value='1109'>KIJAL 基惹</option><option value='1110'>KUALA BERANG 瓜拉伯浪</option><option value='1111'>KUALA BESUT 瓜拉勿述</option><option value='1112'>KUALA TERENGGANU 瓜拉登嘉楼</option><option value='1113'>MARANG 马江</option><option value='1114'>PAKA 巴加</option><option value='1115'>KERTEH 格底里</option><option value='1116'>MUKTAFI BILLAH SHAH 慕达比拉沙</option><option value='1117'>KAMPONG RAJA 甘榜拉惹</option><option value='1118'>CUKAI 朱盖</option><option value='1121'>KUALA NERUS 瓜拉尼鲁</option>"
|
||||
},
|
||||
{
|
||||
"id": "12",
|
||||
"text": "<option value='1200'>SABAH 沙巴</option><option value='1201'>BEAUFORT 保佛</option><option value='1202'>BELURAN 比鲁兰</option><option value='1203'>BONGAWAN 邦加湾</option><option value='1204'>INANAM 依那南</option><option value='1205'>KENINGAU 根地咬</option><option value='1206'>KOTA BELUD 古打毛律</option><option value='1207'>KOTA KINABALU 亚庇</option><option value='1208'>KOTA MARUDU 古打马鲁都</option><option value='1209'>KUALA PENYU 瓜拉班尤</option><option value='1210'>KUDAT 古达</option><option value='1211'>KUNAK 古纳</option><option value='1212'>LAHAD DATU 拿笃</option><option value='1213'>LAMAG 拉马</option><option value='1214'>LIKAS 里卡斯</option><option value='1215'>MEMBAKUT 孟巴卡</option><option value='1216'>MENUMBUK 孟努布</option><option value='1217'>NABAWAN 纳巴湾</option><option value='1218'>PAPAR 吧巴</option><option value='1219'>PENAMPANG 兵南邦</option><option value='1220'>RANAU 兰瑙</option><option value='1221'>SANDAKAN 山打根</option><option value='1222'>SEMPORNA 仙本那</option><option value='1223'>SIPITANG 实必丹</option><option value='1224'>TAMBUNAN 担布南</option><option value='1225'>TAMPARULI 担波罗里</option><option value='1226'>TANJUNG ARU 丹绒亚路</option><option value='1227'>TAWAU 斗湖</option><option value='1228'>TENOM 丹南</option><option value='1229'>TUARAN 斗亚兰</option><option value='1230'>K. KINABATANGAN 京那巴当岸</option><option value='1232'>PUTATAN 布打丹</option><option value='1233'>TELUPID 德鲁必</option>"
|
||||
},
|
||||
{
|
||||
"id": "13",
|
||||
"text": "<option value='1300'>SARAWAK 砂拉越</option><option value='1301'>ASAJAYA 亚沙再也</option><option value='1302'>BALINGIAN 巴林基安</option><option value='1303'>BARAM 巴南</option><option value='1304'>BAU 巴乌</option><option value='1305'>BEKENU 比克奴</option><option value='1306'>BELAGA 柏拉加</option><option value='1307'>BELAWAI 柏拉威</option><option value='1308'>BETONG 木中</option><option value='1309'>BINTANGOR 民都鲁</option><option value='1310'>BINTULU 民都鲁</option><option value='1311'>DALAT 达拉</option><option value='1312'>DARO 达罗</option><option value='1313'>DEBAK 德巴克</option><option value='1314'>ENGKILILI 英吉利里</option><option value='1315'>JULAU 如楼</option><option value='1316'>KABONG 加蓬</option><option value='1317'>KANOWIT 加纳逸</option><option value='1318'>KAPIT 加帛</option><option value='1319'>KOTA SAMARAHAN 古晋</option><option value='1320'>KUCHING 古晋</option><option value='1321'>LAWAS 老越</option><option value='1322'>LIMBANG 林梦</option><option value='1323'>LINGGA 林加</option><option value='1324'>LONG LAMA 隆拉玛</option><option value='1325'>LUBOK ANTU 鲁勃安都</option><option value='1326'>LUNDU 伦乐</option><option value='1327'>MATU 马都</option><option value='1328'>MIRI 美里</option><option value='1329'>MUKAH 木胶</option><option value='1330'>NANGA MEDAMIT 隆美达密</option><option value='1331'>NIAH 尼亚</option><option value='1332'>PEKENU 比克奴</option><option value='1333'>PUSA 布萨</option><option value='1334'>ROBAN 罗邦</option><option value='1335'>SARATOK 砂拉卓</option><option value='1336'>SARIKEI 泗里街</option><option value='1337'>SEBAUH 西布</option><option value='1338'>SEBUYAU 西布瑶</option><option value='1339'>SERIAN 实兰沟</option><option value='1340'>SIMUNJAN 实文然</option><option value='1341'>SONG 桑</option><option value='1342'>SPAOH 斯巴奥</option><option value='1343'>SRI AMAN 斯里阿曼</option><option value='1344'>SUNDAR 孙达</option><option value='1345'>TATAU 达岛</option><option value='1346'>TEBAKANG 德巴康</option><option value='1347'>SIBU 诗巫</option><option value='1348'>BINTANGOR 民都鲁</option><option value='1349'>TEBEDU 德比都</option><option value='1378'>PAKAN 巴干</option><option value='1379'>SIBUTI 西布地</option><option value='1380'>OYA 奥雅</option><option value='1381'>LAPANGAN TERBANG KOTA KINABALU 亚庇机场</option><option value='1382'>MARUDI 马鲁帝</option><option value='1383'>SIBURAN 西布兰</option>"
|
||||
},
|
||||
{
|
||||
"id": "14",
|
||||
"text": "<option value='1400'>W.PERSEKUTUAN 联邦直辖区</option><option value='1401'>KUALA LUMPUR 吉隆坡</option><option value='1402'>CHERAS 蕉赖</option><option value='1403'>BATU CAVES 黑风洞</option>"
|
||||
},
|
||||
{
|
||||
"id": "15",
|
||||
"text": "<option value='1501'>W.P LABUAN 纳闽</option>"
|
||||
},
|
||||
{
|
||||
"id": "16",
|
||||
"text": "<option value='1601'>PUTRAJAYA 布城</option>"
|
||||
}
|
||||
]
|
||||
4637
public/json/th_city.json
Normal file
37232
public/json/th_district.json
Normal file
310
public/json/th_province.json
Normal file
@@ -0,0 +1,310 @@
|
||||
[
|
||||
{
|
||||
"provinceCode": "AMNAT CHAROEN",
|
||||
"provinceNameEn": "AMNAT CHAROEN"
|
||||
},
|
||||
{
|
||||
"provinceCode": "ANG THONG",
|
||||
"provinceNameEn": "ANG THONG"
|
||||
},
|
||||
{
|
||||
"provinceCode": "BANGKOK",
|
||||
"provinceNameEn": "BANGKOK"
|
||||
},
|
||||
{
|
||||
"provinceCode": "BUENG KAN",
|
||||
"provinceNameEn": "BUENG KAN"
|
||||
},
|
||||
{
|
||||
"provinceCode": "BURI RAM",
|
||||
"provinceNameEn": "BURI RAM"
|
||||
},
|
||||
{
|
||||
"provinceCode": "CHACHOENGSAO",
|
||||
"provinceNameEn": "CHACHOENGSAO"
|
||||
},
|
||||
{
|
||||
"provinceCode": "CHAI NAT",
|
||||
"provinceNameEn": "CHAI NAT"
|
||||
},
|
||||
{
|
||||
"provinceCode": "CHAIYAPHUM",
|
||||
"provinceNameEn": "CHAIYAPHUM"
|
||||
},
|
||||
{
|
||||
"provinceCode": "CHANTHABURI",
|
||||
"provinceNameEn": "CHANTHABURI"
|
||||
},
|
||||
{
|
||||
"provinceCode": "CHIANG MAI",
|
||||
"provinceNameEn": "CHIANG MAI"
|
||||
},
|
||||
{
|
||||
"provinceCode": "CHIANG RAI",
|
||||
"provinceNameEn": "CHIANG RAI"
|
||||
},
|
||||
{
|
||||
"provinceCode": "CHON BURI",
|
||||
"provinceNameEn": "CHON BURI"
|
||||
},
|
||||
{
|
||||
"provinceCode": "CHUMPHON",
|
||||
"provinceNameEn": "CHUMPHON"
|
||||
},
|
||||
{
|
||||
"provinceCode": "KALASIN",
|
||||
"provinceNameEn": "KALASIN"
|
||||
},
|
||||
{
|
||||
"provinceCode": "KAMPHAENG PHET",
|
||||
"provinceNameEn": "KAMPHAENG PHET"
|
||||
},
|
||||
{
|
||||
"provinceCode": "KANCHANABURI",
|
||||
"provinceNameEn": "KANCHANABURI"
|
||||
},
|
||||
{
|
||||
"provinceCode": "KHON KAEN",
|
||||
"provinceNameEn": "KHON KAEN"
|
||||
},
|
||||
{
|
||||
"provinceCode": "KRABI",
|
||||
"provinceNameEn": "KRABI"
|
||||
},
|
||||
{
|
||||
"provinceCode": "LAMPANG",
|
||||
"provinceNameEn": "LAMPANG"
|
||||
},
|
||||
{
|
||||
"provinceCode": "LAMPHUN",
|
||||
"provinceNameEn": "LAMPHUN"
|
||||
},
|
||||
{
|
||||
"provinceCode": "LOEI",
|
||||
"provinceNameEn": "LOEI"
|
||||
},
|
||||
{
|
||||
"provinceCode": "LOP BURI",
|
||||
"provinceNameEn": "LOP BURI"
|
||||
},
|
||||
{
|
||||
"provinceCode": "MAE HONG SON",
|
||||
"provinceNameEn": "MAE HONG SON"
|
||||
},
|
||||
{
|
||||
"provinceCode": "MAHA SARAKHAM",
|
||||
"provinceNameEn": "MAHA SARAKHAM"
|
||||
},
|
||||
{
|
||||
"provinceCode": "MUKDAHAN",
|
||||
"provinceNameEn": "MUKDAHAN"
|
||||
},
|
||||
{
|
||||
"provinceCode": "NAKHON NAYOK",
|
||||
"provinceNameEn": "NAKHON NAYOK"
|
||||
},
|
||||
{
|
||||
"provinceCode": "NAKHON PATHOM",
|
||||
"provinceNameEn": "NAKHON PATHOM"
|
||||
},
|
||||
{
|
||||
"provinceCode": "NAKHON PHANOM",
|
||||
"provinceNameEn": "NAKHON PHANOM"
|
||||
},
|
||||
{
|
||||
"provinceCode": "NAKHON RATCHASIMA",
|
||||
"provinceNameEn": "NAKHON RATCHASIMA"
|
||||
},
|
||||
{
|
||||
"provinceCode": "NAKHON SAWAN",
|
||||
"provinceNameEn": "NAKHON SAWAN"
|
||||
},
|
||||
{
|
||||
"provinceCode": "NAKHON SI THAMMARAT",
|
||||
"provinceNameEn": "NAKHON SI THAMMARAT"
|
||||
},
|
||||
{
|
||||
"provinceCode": "NAN",
|
||||
"provinceNameEn": "NAN"
|
||||
},
|
||||
{
|
||||
"provinceCode": "NARATHIWAT",
|
||||
"provinceNameEn": "NARATHIWAT"
|
||||
},
|
||||
{
|
||||
"provinceCode": "NONG BUA LAM PHU",
|
||||
"provinceNameEn": "NONG BUA LAM PHU"
|
||||
},
|
||||
{
|
||||
"provinceCode": "NONG KHAI",
|
||||
"provinceNameEn": "NONG KHAI"
|
||||
},
|
||||
{
|
||||
"provinceCode": "NONTHABURI",
|
||||
"provinceNameEn": "NONTHABURI"
|
||||
},
|
||||
{
|
||||
"provinceCode": "PATHUM THANI",
|
||||
"provinceNameEn": "PATHUM THANI"
|
||||
},
|
||||
{
|
||||
"provinceCode": "PATTANI",
|
||||
"provinceNameEn": "PATTANI"
|
||||
},
|
||||
{
|
||||
"provinceCode": "PHANG NGA",
|
||||
"provinceNameEn": "PHANG NGA"
|
||||
},
|
||||
{
|
||||
"provinceCode": "PHATTHALUNG",
|
||||
"provinceNameEn": "PHATTHALUNG"
|
||||
},
|
||||
{
|
||||
"provinceCode": "PHAYAO",
|
||||
"provinceNameEn": "PHAYAO"
|
||||
},
|
||||
{
|
||||
"provinceCode": "PHETCHABUN",
|
||||
"provinceNameEn": "PHETCHABUN"
|
||||
},
|
||||
{
|
||||
"provinceCode": "PHETCHABURI",
|
||||
"provinceNameEn": "PHETCHABURI"
|
||||
},
|
||||
{
|
||||
"provinceCode": "PHICHIT",
|
||||
"provinceNameEn": "PHICHIT"
|
||||
},
|
||||
{
|
||||
"provinceCode": "PHITSANULOK",
|
||||
"provinceNameEn": "PHITSANULOK"
|
||||
},
|
||||
{
|
||||
"provinceCode": "PHRA NAKHON SI AYUTTHAYA",
|
||||
"provinceNameEn": "PHRA NAKHON SI AYUTTHAYA"
|
||||
},
|
||||
{
|
||||
"provinceCode": "PHRAE",
|
||||
"provinceNameEn": "PHRAE"
|
||||
},
|
||||
{
|
||||
"provinceCode": "PHUKET",
|
||||
"provinceNameEn": "PHUKET"
|
||||
},
|
||||
{
|
||||
"provinceCode": "PRACHIN BURI",
|
||||
"provinceNameEn": "PRACHIN BURI"
|
||||
},
|
||||
{
|
||||
"provinceCode": "PRACHUAP KHIRI KHAN",
|
||||
"provinceNameEn": "PRACHUAP KHIRI KHAN"
|
||||
},
|
||||
{
|
||||
"provinceCode": "RANONG",
|
||||
"provinceNameEn": "RANONG"
|
||||
},
|
||||
{
|
||||
"provinceCode": "RATCHABURI",
|
||||
"provinceNameEn": "RATCHABURI"
|
||||
},
|
||||
{
|
||||
"provinceCode": "RAYONG",
|
||||
"provinceNameEn": "RAYONG"
|
||||
},
|
||||
{
|
||||
"provinceCode": "ROI ET",
|
||||
"provinceNameEn": "ROI ET"
|
||||
},
|
||||
{
|
||||
"provinceCode": "SA KAEO",
|
||||
"provinceNameEn": "SA KAEO"
|
||||
},
|
||||
{
|
||||
"provinceCode": "SAKON NAKHON",
|
||||
"provinceNameEn": "SAKON NAKHON"
|
||||
},
|
||||
{
|
||||
"provinceCode": "SAMUT PRAKAN",
|
||||
"provinceNameEn": "SAMUT PRAKAN"
|
||||
},
|
||||
{
|
||||
"provinceCode": "SAMUT SAKHON",
|
||||
"provinceNameEn": "SAMUT SAKHON"
|
||||
},
|
||||
{
|
||||
"provinceCode": "SAMUT SONGKHRAM",
|
||||
"provinceNameEn": "SAMUT SONGKHRAM"
|
||||
},
|
||||
{
|
||||
"provinceCode": "SARABURI",
|
||||
"provinceNameEn": "SARABURI"
|
||||
},
|
||||
{
|
||||
"provinceCode": "SATUN",
|
||||
"provinceNameEn": "SATUN"
|
||||
},
|
||||
{
|
||||
"provinceCode": "SI SA KET",
|
||||
"provinceNameEn": "SI SA KET"
|
||||
},
|
||||
{
|
||||
"provinceCode": "SING BURI",
|
||||
"provinceNameEn": "SING BURI"
|
||||
},
|
||||
{
|
||||
"provinceCode": "SONGKHLA",
|
||||
"provinceNameEn": "SONGKHLA"
|
||||
},
|
||||
{
|
||||
"provinceCode": "SUKHOTHAI",
|
||||
"provinceNameEn": "SUKHOTHAI"
|
||||
},
|
||||
{
|
||||
"provinceCode": "SUPHAN BURI",
|
||||
"provinceNameEn": "SUPHAN BURI"
|
||||
},
|
||||
{
|
||||
"provinceCode": "SURAT THANI",
|
||||
"provinceNameEn": "SURAT THANI"
|
||||
},
|
||||
{
|
||||
"provinceCode": "SURIN",
|
||||
"provinceNameEn": "SURIN"
|
||||
},
|
||||
{
|
||||
"provinceCode": "TAK",
|
||||
"provinceNameEn": "TAK"
|
||||
},
|
||||
{
|
||||
"provinceCode": "TRANG",
|
||||
"provinceNameEn": "TRANG"
|
||||
},
|
||||
{
|
||||
"provinceCode": "TRAT",
|
||||
"provinceNameEn": "TRAT"
|
||||
},
|
||||
{
|
||||
"provinceCode": "UBON RATCHATHANI",
|
||||
"provinceNameEn": "UBON RATCHATHANI"
|
||||
},
|
||||
{
|
||||
"provinceCode": "UDON THANI",
|
||||
"provinceNameEn": "UDON THANI"
|
||||
},
|
||||
{
|
||||
"provinceCode": "UTHAI THANI",
|
||||
"provinceNameEn": "UTHAI THANI"
|
||||
},
|
||||
{
|
||||
"provinceCode": "UTTARADIT",
|
||||
"provinceNameEn": "UTTARADIT"
|
||||
},
|
||||
{
|
||||
"provinceCode": "YALA",
|
||||
"provinceNameEn": "YALA"
|
||||
},
|
||||
{
|
||||
"provinceCode": "YASOTHON",
|
||||
"provinceNameEn": "YASOTHON"
|
||||
}
|
||||
]
|
||||
15691
public/json/visa_nationality.json
Normal file
252
public/json/visa_nationality_map.json
Normal file
@@ -0,0 +1,252 @@
|
||||
{
|
||||
"CHN": "CHN : CHINESE",
|
||||
"HKG": "HKG : CHINA-HONG KONG",
|
||||
"MAC": "MAC : MACAO",
|
||||
"TWN": "TWN : TAIWANESE",
|
||||
"ABW": "ABW : ARUBA",
|
||||
"AFG": "AFG : AFGHAN",
|
||||
"AGO": "AGO : ANGOLAN",
|
||||
"AIA": "AIA : ANGUILLA",
|
||||
"ALA": "ALA : ALANDIC",
|
||||
"ALB": "ALB : ALBANIAN",
|
||||
"AND": "AND : ANDORAIN",
|
||||
"ANT": "ANT : NETHERLANDS ANTILLES",
|
||||
"ARE": "ARE : THE UNITED ARAB EMIRATES",
|
||||
"ARG": "ARG : ARGENTINE",
|
||||
"ARM": "ARM : ARMENIAN",
|
||||
"ASM": "ASM : AMERICA SAMOA",
|
||||
"ATF": "ATF : FRENCH SOUTHERN TERRIORIES",
|
||||
"ATG": "ATG : ANTIGUAN AND BARBUDA",
|
||||
"AUS": "AUS : AUSTRALIAN",
|
||||
"AUT": "AUT : AUSTRIAN",
|
||||
"AZE": "AZE : AZERBAIJANI",
|
||||
"BDI": "BDI : BURUNDI",
|
||||
"BEL": "BEL : BELGIAN",
|
||||
"BEN": "BEN : BENINESE",
|
||||
"BES": "BES : STATIAN",
|
||||
"BFA": "BFA : BURKINA FASO",
|
||||
"BGD": "BGD : BANGLADESH",
|
||||
"BGR": "BGR : BULGARIAN",
|
||||
"BHR": "BHR : BAHRAINI",
|
||||
"BHS": "BHS : BAHAMIAN",
|
||||
"BIH": "BIH : BOSNIA AND HERZEGOVINA",
|
||||
"BLM": "BLM : SAINT BARTHELEMOIS",
|
||||
"BLR": "BLR : BELARUSIAN",
|
||||
"BLZ": "BLZ : BELIZEAN",
|
||||
"BMU": "BMU : BERMUDAN",
|
||||
"BOL": "BOL : BOLIVIAN",
|
||||
"BRA": "BRA : BRAZILIAN",
|
||||
"BRB": "BRB : BARBADIAN",
|
||||
"BRN": "BRN : BRUNEI DARUSSALAM",
|
||||
"BTN": "BTN : BHUTANESE",
|
||||
"BVT": "BVT : BOUVET ISLAND",
|
||||
"BWA": "BWA : BOTSWANA",
|
||||
"CAF": "CAF : CENTRAL AFRICAN",
|
||||
"CAN": "CAN : CANADIAN",
|
||||
"CCK": "CCK : COCOS (KEELING) ISLANDS",
|
||||
"CHE": "CHE : SWISS",
|
||||
"CHL": "CHL : CHILEAN",
|
||||
"CIV": "CIV : Cote d’Ivoire",
|
||||
"CMR": "CMR : CAMEROONIAN",
|
||||
"COD": "COD : CONGOLESE",
|
||||
"COG": "COG : CONGOLESE",
|
||||
"COK": "COK : COOK ISLANDER",
|
||||
"COL": "COL : COLOMBIAN",
|
||||
"COM": "COM : COMOROS",
|
||||
"CPV": "CPV : CAPE VERDEAN",
|
||||
"CRI": "CRI : COSTA RICAN",
|
||||
"CUB": "CUB : CUBAN",
|
||||
"CUW": "CUW : CURACOAN",
|
||||
"CXR": "CXR : CHRISTMAS ISLAND",
|
||||
"CYM": "CYM : CAYMAN ISLANDER",
|
||||
"CYP": "CYP : CYPRIOT",
|
||||
"CZE": "CZE : CZECH REPUBLIC",
|
||||
"DEU": "DEU : GERMAN",
|
||||
"DJI": "DJI : DJIBOUTI",
|
||||
"DMA": "DMA : DOMINICA",
|
||||
"DNK": "DNK : DANISH",
|
||||
"DOM": "DOM : DOMINICAN",
|
||||
"DZA": "DZA : ALGERIAN",
|
||||
"ECU": "ECU : ECUADORIAN",
|
||||
"EGY": "EGY : EGYPTIAN",
|
||||
"ERI": "ERI : ERITREAN",
|
||||
"ESH": "ESH : SAHRAWI",
|
||||
"ESP": "ESP : SPANISH",
|
||||
"EST": "EST : ESTONIAN",
|
||||
"ETH": "ETH : ETHIOPIAN",
|
||||
"FIN": "FIN : FINNISH",
|
||||
"FJI": "FJI : FIJIAN",
|
||||
"FLK": "FLK : FALKLAND ISLANDS (MALVINAS)",
|
||||
"FRA": "FRA : FRENCH",
|
||||
"FRO": "FRO : FAEROES ISLANDER",
|
||||
"FSM": "FSM : MICRONESIAN",
|
||||
"GAB": "GAB : GABONESE",
|
||||
"GBR": "GBR : BRITISH",
|
||||
"GEO": "GEO : GEORGIAN",
|
||||
"GGY": "GGY : GUERNSEY ISLANDER",
|
||||
"GHA": "GHA : GHANAIAN",
|
||||
"GIB": "GIB : GIBRALTAR",
|
||||
"GIN": "GIN : GUINEAN",
|
||||
"GLP": "GLP : GUADELOUPEAN",
|
||||
"GMB": "GMB : GAMBIAN",
|
||||
"GNB": "GNB : GUINEA-BISSAUAN",
|
||||
"GNQ": "GNQ : EQUATORIAL GUINEAN",
|
||||
"GRC": "GRC : GREEK",
|
||||
"GRD": "GRD : GRENADIAN",
|
||||
"GRL": "GRL : GREENLANDER",
|
||||
"GTM": "GTM : GUATEMALAN",
|
||||
"GUF": "GUF : FRENCH GUIANA",
|
||||
"GUM": "GUM : GUAMANIAN",
|
||||
"GUY": "GUY : GUYANESE",
|
||||
"HMD": "HMD : HEARD AND MCDONALD ISLANDS",
|
||||
"HND": "HND : HONDURAN",
|
||||
"HRV": "HRV : CROATIA",
|
||||
"HTI": "HTI : HAITIAN",
|
||||
"HUN": "HUN : HUNGARIAN",
|
||||
"IDN": "IDN : INDONESIAN",
|
||||
"IMN": "IMN : MANX",
|
||||
"IND": "IND : INDIAN",
|
||||
"IOT": "IOT : BRITISH INDIAN OCEAN TERR.",
|
||||
"IRL": "IRL : IRISH",
|
||||
"IRN": "IRN : IRANIAN",
|
||||
"IRQ": "IRQ : IRAQI",
|
||||
"ISL": "ISL : ICELANDIC",
|
||||
"ISR": "ISR : ISRAELI",
|
||||
"ITA": "ITA : ITALIAN",
|
||||
"JAM": "JAM : JAMAICAN",
|
||||
"JEY": "JEY : JERSEY ISLANDER",
|
||||
"JOR": "JOR : JORDANIAN",
|
||||
"JPN": "JPN : JAPANESE",
|
||||
"KAZ": "KAZ : KAZAKH",
|
||||
"KEN": "KEN : KENYAN",
|
||||
"KGZ": "KGZ : KYRGYZ",
|
||||
"KHM": "KHM : CAMBODIAN",
|
||||
"KIR": "KIR : KIRIBATIAN",
|
||||
"KNA": "KNA : ST.CHRISTOPHERAN",
|
||||
"KOR": "KOR : SOUTH KOREAN",
|
||||
"KWT": "KWT : KUWAITI",
|
||||
"LAO": "LAO : LAO",
|
||||
"LBN": "LBN : LEBANESE",
|
||||
"LBR": "LBR : LIBERIAN",
|
||||
"LBY": "LBY : LIBYAN",
|
||||
"LCA": "LCA : SAINT LUCIAN",
|
||||
"LIE": "LIE : LIECHTENSTEIN",
|
||||
"LKA": "LKA : SRI LANKAN",
|
||||
"LSO": "LSO : LESOTHON",
|
||||
"LTU": "LTU : LITHUANIAN",
|
||||
"LUX": "LUX : LUXEMBURGERG",
|
||||
"LVA": "LVA : LATVIAN",
|
||||
"MAF": "MAF : SAINT-MARTINOIS",
|
||||
"MAR": "MAR : MOROCCAN",
|
||||
"MCO": "MCO : MONEGASQUE",
|
||||
"MDA": "MDA : MOLDOVAN",
|
||||
"MDG": "MDG : MALAGASY",
|
||||
"MDV": "MDV : MALDIVIAN",
|
||||
"MEX": "MEX : MEXICAN",
|
||||
"MHL": "MHL : MARSHALL ISLANDER",
|
||||
"MKD": "MKD : MACEDONIA",
|
||||
"MLI": "MLI : MALIIAN",
|
||||
"MLT": "MLT : MALTESE",
|
||||
"MMR": "MMR : MYANMAR",
|
||||
"MNE": "MNE : CRNA GORA MONTENEGRO",
|
||||
"MNG": "MNG : MONGOLIA",
|
||||
"MNP": "MNP : MARIANAN",
|
||||
"MOZ": "MOZ : MOZAMBICAN",
|
||||
"MRT": "MRT : MAURITANIAN",
|
||||
"MSR": "MSR : MONTSERRAT",
|
||||
"MTQ": "MTQ : MARTINIQUE",
|
||||
"MUS": "MUS : MAURITIAN",
|
||||
"MWI": "MWI : MALAWIAN",
|
||||
"MYS": "MYS : MALAYSIAN",
|
||||
"MYT": "MYT : MAYOTTE",
|
||||
"NAM": "NAM : NAMIBIAN",
|
||||
"NCL": "NCL : NEW CALEDONIAN",
|
||||
"NER": "NER : NIGER",
|
||||
"NFK": "NFK : NORFOLK ISLAND",
|
||||
"NGA": "NGA : NIGERIAN",
|
||||
"NIC": "NIC : NICARAGUAN",
|
||||
"NIU": "NIU : NIUE",
|
||||
"NLD": "NLD : DUTCH",
|
||||
"NOR": "NOR : NORWEGIAN",
|
||||
"NPL": "NPL : NEPALESE",
|
||||
"NRU": "NRU : NAURUAN",
|
||||
"NZL": "NZL : NEW ZEALANDER",
|
||||
"OMN": "OMN : OMANI",
|
||||
"PAK": "PAK : PAKISTAN",
|
||||
"PAN": "PAN : PANAMANIAN",
|
||||
"PCI": "PCI : TRUST PACIFIC",
|
||||
"PCN": "PCN : PITCAIRN",
|
||||
"PER": "PER : PERUVIAN",
|
||||
"PHL": "PHL : PHILIPPINE",
|
||||
"PLW": "PLW : PALAUAN",
|
||||
"PNG": "PNG : PAPUA NEW GUINEA",
|
||||
"POL": "POL : POLISH",
|
||||
"PRI": "PRI : PUERTO RICAN",
|
||||
"PRK": "PRK : NORTH KOREAN",
|
||||
"PRT": "PRT : PORTUGUESE",
|
||||
"PRY": "PRY : PARAGUAYAN",
|
||||
"PSE": "PSE : PALESTINIAN",
|
||||
"PYF": "PYF : FRENCH POLYNESIA",
|
||||
"QAT": "QAT : QATAR",
|
||||
"REU": "REU : REUNION ISLANDER",
|
||||
"ROU": "ROU : ROMANIAN",
|
||||
"RUS": "RUS : RUSSIAN",
|
||||
"RWA": "RWA : RWANDAN",
|
||||
"SAU": "SAU : SAUDI ARABIAN",
|
||||
"SDN": "SDN : SUDANESE",
|
||||
"SEN": "SEN : SENEGALESE",
|
||||
"SGP": "SGP : SINGAPOREAN",
|
||||
"SGS": "SGS : SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS",
|
||||
"SHN": "SHN : ST. HELENA",
|
||||
"SJM": "SJM : SVALBARD AND JAN MAYEN ISLANDS",
|
||||
"SLB": "SLB : SOLOMON ISLANDER",
|
||||
"SLE": "SLE : SIERRA LEONEAN",
|
||||
"SLV": "SLV : SALVADORAN",
|
||||
"SMR": "SMR : SAN MARINO",
|
||||
"SOM": "SOM : SOMALIAN",
|
||||
"SPM": "SPM : ST. PEIRRE AND MIQUELON",
|
||||
"SRB": "SRB : SERBIA",
|
||||
"SSD": "SSD : REPUBLIC OF SOUTH SUDAN",
|
||||
"STP": "STP : SAO TOME/PRINCIPE",
|
||||
"SUR": "SUR : SURINAM",
|
||||
"SVK": "SVK : SLOVAK",
|
||||
"SVN": "SVN : SLOVENE",
|
||||
"SWE": "SWE : SWEDISH",
|
||||
"SWZ": "SWZ : SWAZI",
|
||||
"SXM": "SXM : SINT MAARTENER",
|
||||
"SYC": "SYC : SEYCHELLOIS",
|
||||
"SYR": "SYR : SYRIAN",
|
||||
"TCA": "TCA : TURKS AND CAICOS ISLANDS",
|
||||
"TCD": "TCD : CHADIAN",
|
||||
"TGO": "TGO : TOGOLESE",
|
||||
"TJK": "TJK : TAJIK",
|
||||
"TKL": "TKL : TOKELAU",
|
||||
"TKM": "TKM : TURKMEN",
|
||||
"TLS": "TLS : TIMOR-LESTE",
|
||||
"TON": "TON : TONGAN",
|
||||
"TTO": "TTO : TRINIDAD AND TOBAGO",
|
||||
"TUN": "TUN : TUNISIAN",
|
||||
"TUR": "TUR : TURKISH",
|
||||
"TUV": "TUV : TUVALUAN",
|
||||
"TZA": "TZA : TANZANIAN",
|
||||
"UGA": "UGA : UGANDAN",
|
||||
"UKR": "UKR : UKRANIAN",
|
||||
"UMI": "UMI : UNITED STATES MINOR OUTLYING ISLANDS",
|
||||
"URY": "URY : URUGUAYAN",
|
||||
"USA": "USA : AMERICAN",
|
||||
"UZB": "UZB : UZBEK",
|
||||
"VAT": "VAT : THE HOLY SEE",
|
||||
"VCT": "VCT : SAINT VINCENT AND THE GRENADINES",
|
||||
"VEN": "VEN : VENEZUELAN",
|
||||
"VGB": "VGB : BRITISH VIRGIN ISLANDER",
|
||||
"VIR": "VIR : U.S. VIRGIN ISLANDER",
|
||||
"VNM": "VNM : VIETNAMESE",
|
||||
"VUT": "VUT : VANUATU",
|
||||
"WLF": "WLF : WALLIS AND FUTUNA ISLANDS",
|
||||
"WSM": "WSM : SAMOAN",
|
||||
"XKX": "XKX : KOSOVAN",
|
||||
"YEM": "YEM : YEMENI",
|
||||
"ZAF": "ZAF : SOUTH AFRICAN",
|
||||
"ZMB": "ZMB : ZAMBIAN",
|
||||
"ZWE": "ZWE : ZIMBABWEAN"
|
||||
}
|
||||
8
public/nginx.htaccess
Normal file
@@ -0,0 +1,8 @@
|
||||
location ~* (runtime|application)/{
|
||||
return 403;
|
||||
}
|
||||
location / {
|
||||
if (!-e $request_filename){
|
||||
rewrite ^(.*)$ /index.php?s=$1 last; break;
|
||||
}
|
||||
}
|
||||
2
public/robots.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
User-agent: *
|
||||
Disallow:
|
||||
19
public/router.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2006~2019 http://thinkphp.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: liu21st <liu21st@gmail.com>
|
||||
// +----------------------------------------------------------------------
|
||||
// $Id$
|
||||
|
||||
if (is_file($_SERVER["DOCUMENT_ROOT"] . $_SERVER["SCRIPT_NAME"])) {
|
||||
return false;
|
||||
} else {
|
||||
$_SERVER["SCRIPT_FILENAME"] = __DIR__ . '/index.php';
|
||||
|
||||
require __DIR__ . "/index.php";
|
||||
}
|
||||
5
public/static/bootstrap/css/bootstrap-icons.min.css
vendored
Normal file
6
public/static/bootstrap/css/bootstrap.min.css
vendored
Normal file
BIN
public/static/bootstrap/css/fonts/bootstrap-icons.woff
Normal file
BIN
public/static/bootstrap/css/fonts/bootstrap-icons.woff2
Normal file
7
public/static/bootstrap/js/bootstrap.bundle.min.js
vendored
Normal file
373
public/static/css/datetimepicker.css
Normal file
@@ -0,0 +1,373 @@
|
||||
/*!
|
||||
* Datetimepicker for Bootstrap
|
||||
*
|
||||
* Copyright 2012 Stefan Petre
|
||||
* Improvements by Andrew Rowls
|
||||
* Licensed under the Apache License v2.0
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*/
|
||||
.datetimepicker {
|
||||
padding: 4px;
|
||||
margin-top: 1px;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
direction: ltr;
|
||||
/*.dow {
|
||||
border-top: 1px solid #ddd !important;
|
||||
}*/
|
||||
|
||||
}
|
||||
.datetimepicker-inline {
|
||||
width: 220px;
|
||||
}
|
||||
.datetimepicker.datetimepicker-rtl {
|
||||
direction: rtl;
|
||||
}
|
||||
.datetimepicker.datetimepicker-rtl table tr td span {
|
||||
float: right;
|
||||
}
|
||||
.datetimepicker-dropdown, .datetimepicker-dropdown-left {
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
[class*=" datetimepicker-dropdown"]:before {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
border-left: 7px solid transparent;
|
||||
border-right: 7px solid transparent;
|
||||
border-bottom: 7px solid #ccc;
|
||||
border-bottom-color: rgba(0, 0, 0, 0.2);
|
||||
position: absolute;
|
||||
}
|
||||
[class*=" datetimepicker-dropdown"]:after {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
border-left: 6px solid transparent;
|
||||
border-right: 6px solid transparent;
|
||||
border-bottom: 6px solid #ffffff;
|
||||
position: absolute;
|
||||
}
|
||||
[class*=" datetimepicker-dropdown-top"]:before {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
border-left: 7px solid transparent;
|
||||
border-right: 7px solid transparent;
|
||||
border-top: 7px solid #ccc;
|
||||
border-top-color: rgba(0, 0, 0, 0.2);
|
||||
border-bottom: 0;
|
||||
}
|
||||
[class*=" datetimepicker-dropdown-top"]:after {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
border-left: 6px solid transparent;
|
||||
border-right: 6px solid transparent;
|
||||
border-top: 6px solid #ffffff;
|
||||
border-bottom: 0;
|
||||
}
|
||||
.datetimepicker-dropdown-bottom-left:before {
|
||||
top: -7px;
|
||||
right: 6px;
|
||||
}
|
||||
.datetimepicker-dropdown-bottom-left:after {
|
||||
top: -6px;
|
||||
right: 7px;
|
||||
}
|
||||
.datetimepicker-dropdown-bottom-right:before {
|
||||
top: -7px;
|
||||
left: 6px;
|
||||
}
|
||||
.datetimepicker-dropdown-bottom-right:after {
|
||||
top: -6px;
|
||||
left: 7px;
|
||||
}
|
||||
.datetimepicker-dropdown-top-left:before {
|
||||
bottom: -7px;
|
||||
right: 6px;
|
||||
}
|
||||
.datetimepicker-dropdown-top-left:after {
|
||||
bottom: -6px;
|
||||
right: 7px;
|
||||
}
|
||||
.datetimepicker-dropdown-top-right:before {
|
||||
bottom: -7px;
|
||||
left: 6px;
|
||||
}
|
||||
.datetimepicker-dropdown-top-right:after {
|
||||
bottom: -6px;
|
||||
left: 7px;
|
||||
}
|
||||
.datetimepicker > div {
|
||||
display: none;
|
||||
}
|
||||
.datetimepicker.minutes div.datetimepicker-minutes {
|
||||
display: block;
|
||||
}
|
||||
.datetimepicker.hours div.datetimepicker-hours {
|
||||
display: block;
|
||||
}
|
||||
.datetimepicker.days div.datetimepicker-days {
|
||||
display: block;
|
||||
}
|
||||
.datetimepicker.months div.datetimepicker-months {
|
||||
display: block;
|
||||
}
|
||||
.datetimepicker.years div.datetimepicker-years {
|
||||
display: block;
|
||||
}
|
||||
.datetimepicker table {
|
||||
margin: 0;
|
||||
}
|
||||
.datetimepicker td,
|
||||
.datetimepicker th {
|
||||
text-align: center;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
border: none;
|
||||
padding: 4px 5px;
|
||||
border-radius: 20px;
|
||||
}
|
||||
.table-striped .datetimepicker table tr td,
|
||||
.table-striped .datetimepicker table tr th {
|
||||
background-color: transparent;
|
||||
}
|
||||
.datetimepicker table tr td.minute:hover {
|
||||
background: #eeeeee;
|
||||
cursor: pointer;
|
||||
}
|
||||
.datetimepicker table tr td.hour:hover {
|
||||
background: #eeeeee;
|
||||
cursor: pointer;
|
||||
}
|
||||
.datetimepicker table tr td.day:hover {
|
||||
background: #eeeeee;
|
||||
cursor: pointer;
|
||||
}
|
||||
.datetimepicker table tr td.old,
|
||||
.datetimepicker table tr td.new {
|
||||
color: #999999;
|
||||
}
|
||||
.datetimepicker table tr td.disabled,
|
||||
.datetimepicker table tr td.disabled:hover {
|
||||
background: none;
|
||||
color: #999999;
|
||||
cursor: default;
|
||||
}
|
||||
.datetimepicker table tr td.today,
|
||||
.datetimepicker table tr td.today:hover,
|
||||
.datetimepicker table tr td.today.disabled,
|
||||
.datetimepicker table tr td.today.disabled:hover {
|
||||
background-color: #fde19a;
|
||||
background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a);
|
||||
background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a));
|
||||
background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a);
|
||||
background-image: -o-linear-gradient(top, #fdd49a, #fdf59a);
|
||||
background-image: linear-gradient(top, #fdd49a, #fdf59a);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);
|
||||
border-color: #fdf59a #fdf59a #fbed50;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
||||
}
|
||||
.datetimepicker table tr td.today:hover,
|
||||
.datetimepicker table tr td.today:hover:hover,
|
||||
.datetimepicker table tr td.today.disabled:hover,
|
||||
.datetimepicker table tr td.today.disabled:hover:hover,
|
||||
.datetimepicker table tr td.today:active,
|
||||
.datetimepicker table tr td.today:hover:active,
|
||||
.datetimepicker table tr td.today.disabled:active,
|
||||
.datetimepicker table tr td.today.disabled:hover:active,
|
||||
.datetimepicker table tr td.today.active,
|
||||
.datetimepicker table tr td.today:hover.active,
|
||||
.datetimepicker table tr td.today.disabled.active,
|
||||
.datetimepicker table tr td.today.disabled:hover.active,
|
||||
.datetimepicker table tr td.today.disabled,
|
||||
.datetimepicker table tr td.today:hover.disabled,
|
||||
.datetimepicker table tr td.today.disabled.disabled,
|
||||
.datetimepicker table tr td.today.disabled:hover.disabled,
|
||||
.datetimepicker table tr td.today[disabled],
|
||||
.datetimepicker table tr td.today:hover[disabled],
|
||||
.datetimepicker table tr td.today.disabled[disabled],
|
||||
.datetimepicker table tr td.today.disabled:hover[disabled] {
|
||||
background-color: #fdf59a;
|
||||
}
|
||||
.datetimepicker table tr td.today:active,
|
||||
.datetimepicker table tr td.today:hover:active,
|
||||
.datetimepicker table tr td.today.disabled:active,
|
||||
.datetimepicker table tr td.today.disabled:hover:active,
|
||||
.datetimepicker table tr td.today.active,
|
||||
.datetimepicker table tr td.today:hover.active,
|
||||
.datetimepicker table tr td.today.disabled.active,
|
||||
.datetimepicker table tr td.today.disabled:hover.active {
|
||||
background-color: #fbf069 \9;
|
||||
}
|
||||
.datetimepicker table tr td.active,
|
||||
.datetimepicker table tr td.active:hover,
|
||||
.datetimepicker table tr td.active.disabled,
|
||||
.datetimepicker table tr td.active.disabled:hover {
|
||||
/* background-color: #006dcc;
|
||||
background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
|
||||
background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
|
||||
background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
|
||||
background-image: -o-linear-gradient(top, #0088cc, #0044cc);
|
||||
background-image: linear-gradient(top, #0088cc, #0044cc);*/
|
||||
background: #4BBD00;
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
|
||||
border-color: #0044cc #0044cc #002a80;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
||||
color: #fff;
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||||
border-radius: 20px;
|
||||
}
|
||||
.datetimepicker table tr td.active:hover,
|
||||
.datetimepicker table tr td.active:hover:hover,
|
||||
.datetimepicker table tr td.active.disabled:hover,
|
||||
.datetimepicker table tr td.active.disabled:hover:hover,
|
||||
.datetimepicker table tr td.active:active,
|
||||
.datetimepicker table tr td.active:hover:active,
|
||||
.datetimepicker table tr td.active.disabled:active,
|
||||
.datetimepicker table tr td.active.disabled:hover:active,
|
||||
.datetimepicker table tr td.active.active,
|
||||
.datetimepicker table tr td.active:hover.active,
|
||||
.datetimepicker table tr td.active.disabled.active,
|
||||
.datetimepicker table tr td.active.disabled:hover.active,
|
||||
.datetimepicker table tr td.active.disabled,
|
||||
.datetimepicker table tr td.active:hover.disabled,
|
||||
.datetimepicker table tr td.active.disabled.disabled,
|
||||
.datetimepicker table tr td.active.disabled:hover.disabled,
|
||||
.datetimepicker table tr td.active[disabled],
|
||||
.datetimepicker table tr td.active:hover[disabled],
|
||||
.datetimepicker table tr td.active.disabled[disabled],
|
||||
.datetimepicker table tr td.active.disabled:hover[disabled] {
|
||||
/*background-color: #0044cc;*/
|
||||
background: #4BBD00;
|
||||
}
|
||||
.datetimepicker table tr td.active:active,
|
||||
.datetimepicker table tr td.active:hover:active,
|
||||
.datetimepicker table tr td.active.disabled:active,
|
||||
.datetimepicker table tr td.active.disabled:hover:active,
|
||||
.datetimepicker table tr td.active.active,
|
||||
.datetimepicker table tr td.active:hover.active,
|
||||
.datetimepicker table tr td.active.disabled.active,
|
||||
.datetimepicker table tr td.active.disabled:hover.active {
|
||||
background-color: #003399 \9;
|
||||
}
|
||||
.datetimepicker table tr td span {
|
||||
display: block;
|
||||
width: 23%;
|
||||
height: 54px;
|
||||
line-height: 54px;
|
||||
float: left;
|
||||
margin: 1%;
|
||||
cursor: pointer;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.datetimepicker .datetimepicker-hours span {
|
||||
height: 26px;
|
||||
line-height: 26px;
|
||||
}
|
||||
.datetimepicker .datetimepicker-hours table tr td span.hour_am,
|
||||
.datetimepicker .datetimepicker-hours table tr td span.hour_pm {
|
||||
width: 14.6%;
|
||||
}
|
||||
.datetimepicker .datetimepicker-hours fieldset legend,
|
||||
.datetimepicker .datetimepicker-minutes fieldset legend {
|
||||
margin-bottom: inherit;
|
||||
line-height: 30px;
|
||||
}
|
||||
.datetimepicker .datetimepicker-minutes span {
|
||||
height: 26px;
|
||||
line-height: 26px;
|
||||
}
|
||||
.datetimepicker table tr td span:hover {
|
||||
background: #eeeeee;
|
||||
}
|
||||
.datetimepicker table tr td span.disabled,
|
||||
.datetimepicker table tr td span.disabled:hover {
|
||||
background: none;
|
||||
color: #999999;
|
||||
cursor: default;
|
||||
}
|
||||
.datetimepicker table tr td span.active,
|
||||
.datetimepicker table tr td span.active:hover,
|
||||
.datetimepicker table tr td span.active.disabled,
|
||||
.datetimepicker table tr td span.active.disabled:hover {
|
||||
/* background-color: #006dcc;
|
||||
background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
|
||||
background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
|
||||
background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
|
||||
background-image: -o-linear-gradient(top, #0088cc, #0044cc);
|
||||
background-image: linear-gradient(top, #0088cc, #0044cc);*/
|
||||
background: #4BBD00;
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
|
||||
border-color: #0044cc #0044cc #002a80;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
||||
color: #fff;
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
.datetimepicker table tr td span.active:hover,
|
||||
.datetimepicker table tr td span.active:hover:hover,
|
||||
.datetimepicker table tr td span.active.disabled:hover,
|
||||
.datetimepicker table tr td span.active.disabled:hover:hover,
|
||||
.datetimepicker table tr td span.active:active,
|
||||
.datetimepicker table tr td span.active:hover:active,
|
||||
.datetimepicker table tr td span.active.disabled:active,
|
||||
.datetimepicker table tr td span.active.disabled:hover:active,
|
||||
.datetimepicker table tr td span.active.active,
|
||||
.datetimepicker table tr td span.active:hover.active,
|
||||
.datetimepicker table tr td span.active.disabled.active,
|
||||
.datetimepicker table tr td span.active.disabled:hover.active,
|
||||
.datetimepicker table tr td span.active.disabled,
|
||||
.datetimepicker table tr td span.active:hover.disabled,
|
||||
.datetimepicker table tr td span.active.disabled.disabled,
|
||||
.datetimepicker table tr td span.active.disabled:hover.disabled,
|
||||
.datetimepicker table tr td span.active[disabled],
|
||||
.datetimepicker table tr td span.active:hover[disabled],
|
||||
.datetimepicker table tr td span.active.disabled[disabled],
|
||||
.datetimepicker table tr td span.active.disabled:hover[disabled] {
|
||||
background-color: #4BBD00;
|
||||
}
|
||||
.datetimepicker table tr td span.active:active,
|
||||
.datetimepicker table tr td span.active:hover:active,
|
||||
.datetimepicker table tr td span.active.disabled:active,
|
||||
.datetimepicker table tr td span.active.disabled:hover:active,
|
||||
.datetimepicker table tr td span.active.active,
|
||||
.datetimepicker table tr td span.active:hover.active,
|
||||
.datetimepicker table tr td span.active.disabled.active,
|
||||
.datetimepicker table tr td span.active.disabled:hover.active {
|
||||
background-color: #003399 \9;
|
||||
}
|
||||
.datetimepicker table tr td span.old {
|
||||
color: #999999;
|
||||
}
|
||||
.datetimepicker th.switch {
|
||||
width: 145px;
|
||||
}
|
||||
.datetimepicker thead tr:first-child th,
|
||||
.datetimepicker tfoot tr:first-child th {
|
||||
cursor: pointer;
|
||||
}
|
||||
.datetimepicker thead tr:first-child th:hover,
|
||||
.datetimepicker tfoot tr:first-child th:hover {
|
||||
background: #eeeeee;
|
||||
}
|
||||
.input-append.date .add-on i,
|
||||
.input-prepend.date .add-on i {
|
||||
cursor: pointer;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
}
|
||||
232
public/static/css/dropdown.css
Normal file
@@ -0,0 +1,232 @@
|
||||
.caret {
|
||||
display: inline-block;
|
||||
width: 0;
|
||||
height: 0;
|
||||
vertical-align: top;
|
||||
border-top: 4px solid #000000;
|
||||
border-right: 4px solid transparent;
|
||||
border-left: 4px solid transparent;
|
||||
content: "";
|
||||
}
|
||||
|
||||
.dropdown .caret {
|
||||
margin-top: 8px;
|
||||
margin-left: 2px;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
left: 0;
|
||||
z-index: 1000;
|
||||
display: none;
|
||||
float: left;
|
||||
min-width: 160px;
|
||||
padding: 10px;
|
||||
margin: 2px 0 0;
|
||||
list-style: none;
|
||||
background-color: #ffffff;
|
||||
border: 1px solid #ccc;
|
||||
border: 1px solid rgba(0, 0, 0, 0.2);
|
||||
*border-right-width: 2px;
|
||||
*border-bottom-width: 2px;
|
||||
-webkit-border-radius: 6px;
|
||||
-moz-border-radius: 6px;
|
||||
border-radius: 6px;
|
||||
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
|
||||
-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
|
||||
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
|
||||
-webkit-background-clip: padding-box;
|
||||
-moz-background-clip: padding;
|
||||
background-clip: padding-box;
|
||||
}
|
||||
|
||||
.dropdown-menu.pull-right {
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
|
||||
.dropdown-menu .divider {
|
||||
*width: 100%;
|
||||
height: 1px;
|
||||
margin: 9px 1px;
|
||||
*margin: -5px 0 5px;
|
||||
overflow: hidden;
|
||||
background-color: #e5e5e5;
|
||||
border-bottom: 1px solid #ffffff;
|
||||
}
|
||||
|
||||
.dropdown-menu > li > a {
|
||||
display: block;
|
||||
padding: 3px 20px;
|
||||
clear: both;
|
||||
font-weight: normal;
|
||||
line-height: 20px;
|
||||
color: #333333;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.dropdown-menu > li > a:hover,
|
||||
.dropdown-menu > li > a:focus,
|
||||
.dropdown-submenu:hover > a,
|
||||
.dropdown-submenu:focus > a {
|
||||
color: #ffffff;
|
||||
text-decoration: none;
|
||||
background-color: #0081c2;
|
||||
background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
|
||||
background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
|
||||
background-image: -o-linear-gradient(top, #0088cc, #0077b3);
|
||||
background-image: linear-gradient(to bottom, #0088cc, #0077b3);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
|
||||
}
|
||||
|
||||
.dropdown-menu > .active > a,
|
||||
.dropdown-menu > .active > a:hover,
|
||||
.dropdown-menu > .active > a:focus {
|
||||
color: #ffffff;
|
||||
text-decoration: none;
|
||||
background-color: #0081c2;
|
||||
background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
|
||||
background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
|
||||
background-image: -o-linear-gradient(top, #0088cc, #0077b3);
|
||||
background-image: linear-gradient(to bottom, #0088cc, #0077b3);
|
||||
background-repeat: repeat-x;
|
||||
outline: 0;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
|
||||
}
|
||||
|
||||
.dropdown-menu > .disabled > a,
|
||||
.dropdown-menu > .disabled > a:hover,
|
||||
.dropdown-menu > .disabled > a:focus {
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
.dropdown-menu > .disabled > a:hover,
|
||||
.dropdown-menu > .disabled > a:focus {
|
||||
text-decoration: none;
|
||||
cursor: default;
|
||||
background-color: transparent;
|
||||
background-image: none;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
||||
}
|
||||
|
||||
.open {
|
||||
*z-index: 1000;
|
||||
}
|
||||
|
||||
.open > .dropdown-menu {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.dropdown-backdrop {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
z-index: 990;
|
||||
}
|
||||
|
||||
.pull-right > .dropdown-menu {
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
|
||||
.dropup .caret,
|
||||
.navbar-fixed-bottom .dropdown .caret {
|
||||
border-top: 0;
|
||||
border-bottom: 4px solid #000000;
|
||||
content: "";
|
||||
}
|
||||
|
||||
.dropup .dropdown-menu,
|
||||
.navbar-fixed-bottom .dropdown .dropdown-menu {
|
||||
top: auto;
|
||||
bottom: 100%;
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
|
||||
.dropdown-submenu {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.dropdown-submenu > .dropdown-menu {
|
||||
top: 0;
|
||||
left: 100%;
|
||||
margin-top: -6px;
|
||||
margin-left: -1px;
|
||||
-webkit-border-radius: 0 6px 6px 6px;
|
||||
-moz-border-radius: 0 6px 6px 6px;
|
||||
border-radius: 0 6px 6px 6px;
|
||||
}
|
||||
|
||||
.dropdown-submenu:hover > .dropdown-menu {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.dropup .dropdown-submenu > .dropdown-menu {
|
||||
top: auto;
|
||||
bottom: 0;
|
||||
margin-top: 0;
|
||||
margin-bottom: -2px;
|
||||
-webkit-border-radius: 5px 5px 5px 0;
|
||||
-moz-border-radius: 5px 5px 5px 0;
|
||||
border-radius: 5px 5px 5px 0;
|
||||
}
|
||||
|
||||
.dropdown-submenu > a:after {
|
||||
display: block;
|
||||
float: right;
|
||||
width: 0;
|
||||
height: 0;
|
||||
margin-top: 5px;
|
||||
margin-right: -10px;
|
||||
border-color: transparent;
|
||||
border-left-color: #cccccc;
|
||||
border-style: solid;
|
||||
border-width: 5px 0 5px 5px;
|
||||
content: " ";
|
||||
}
|
||||
|
||||
.dropdown-submenu:hover > a:after {
|
||||
border-left-color: #ffffff;
|
||||
}
|
||||
|
||||
.dropdown-submenu.pull-left {
|
||||
float: none;
|
||||
}
|
||||
|
||||
.dropdown-submenu.pull-left > .dropdown-menu {
|
||||
left: -100%;
|
||||
margin-left: 10px;
|
||||
-webkit-border-radius: 6px 0 6px 6px;
|
||||
-moz-border-radius: 6px 0 6px 6px;
|
||||
border-radius: 6px 0 6px 6px;
|
||||
}
|
||||
|
||||
.dropdown .dropdown-menu .nav-header {
|
||||
padding-right: 20px;
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
|
||||
[class^="icon-"], [class*=" icon-"] {
|
||||
display: inline-block;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
margin-top: 1px;
|
||||
line-height: 14px;
|
||||
vertical-align: text-top;
|
||||
background-image: url("../image/glyphicons-halflings.png");
|
||||
background-position: 14px 14px;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.icon-arrow-left {
|
||||
background-position: -240px -96px;
|
||||
}
|
||||
.icon-arrow-right {
|
||||
background-position: -264px -96px;
|
||||
}
|
||||
206
public/static/css/index.css
Normal file
@@ -0,0 +1,206 @@
|
||||
|
||||
.swiper{
|
||||
height: auto !important;
|
||||
background: unset !important;
|
||||
}
|
||||
.swiper-slide::after {
|
||||
/*content: '';*/
|
||||
position: absolute;
|
||||
top: 0; /* 根据需要调整阴影的位置 */
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: rgba(93, 77, 77, 0.5); /* 阴影颜色 */
|
||||
box-shadow: 0 0 20px rgba(148, 118, 118, 0.5); /* 给伪元素添加阴影 */
|
||||
pointer-events: none; /* 防止伪元素影响鼠标事件 */
|
||||
}
|
||||
|
||||
.services-table th {
|
||||
text-align: center !important;
|
||||
}
|
||||
|
||||
.services-table table tbody tr td {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.services-table table tbody tr td.cell--success {
|
||||
color: #22b573;
|
||||
background-color: #f1fff4;
|
||||
}
|
||||
|
||||
.services-table table {
|
||||
border-collapse: separate;
|
||||
border-spacing: 0;
|
||||
position: relative;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.services-table {
|
||||
width: 75%;
|
||||
margin: 0 auto;
|
||||
padding: 0 5px;
|
||||
font-size: 16px;
|
||||
font-weight: 400;
|
||||
font-stretch: normal;
|
||||
font-style: normal;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.a-title {
|
||||
margin-bottom: 32px;
|
||||
color: #151423;
|
||||
font-weight: 600;
|
||||
font-size: 32px;
|
||||
letter-spacing: .2px;
|
||||
}
|
||||
|
||||
/*@media (min-width: 1800px) {*/
|
||||
/* .advantages-section .content1 {*/
|
||||
/* width: 1170px;*/
|
||||
/* }*/
|
||||
/*}*/
|
||||
.advantages-section .content1 .advantages-container {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.advantages-section .content1 .advantages-container .advantages .advantage {
|
||||
display: flex;
|
||||
/*flex-direction: column;*/
|
||||
/*width: 100%;*/
|
||||
list-style: none;
|
||||
align-items: center;
|
||||
margin-bottom: 32px;
|
||||
flex-basis: 30%;
|
||||
}
|
||||
|
||||
.advantages-section .content1 .title {
|
||||
margin-bottom: 32px;
|
||||
font-size: 32px;
|
||||
font-weight: 600;
|
||||
font-family: Raleway, sans-serif;
|
||||
letter-spacing: .2px;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.advantages-section .content1 .advantages-container .advantages {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.advantages-section .content1 .advantages-container .advantages .advantage .text {
|
||||
font-family: Roboto;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
line-height: 1.5;
|
||||
letter-spacing: .2px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.advantages-section .content1 {
|
||||
max-width: 1110px;
|
||||
/*display: flex;*/
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.advantages-section {
|
||||
background: #153854;
|
||||
padding: 20px 5px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.middle-box2 {
|
||||
/*width: 60%;*/
|
||||
}
|
||||
|
||||
.desc-box {
|
||||
width: 60%;
|
||||
}
|
||||
|
||||
@media (max-width: 820px) {
|
||||
.header-services{
|
||||
width: 50%;
|
||||
}
|
||||
.middle-box2 {
|
||||
width: 95% !important;
|
||||
}
|
||||
.middle-box2 .right-box .item{
|
||||
padding: 10px 10px;
|
||||
}
|
||||
.middle-box2 h2 {
|
||||
font-size: 2.5rem;
|
||||
}
|
||||
.middle-box2 a {
|
||||
padding: 13px 20px;
|
||||
}
|
||||
.advantages-section .content1 .title{
|
||||
font-size: 28px;
|
||||
}
|
||||
|
||||
.desc-box {
|
||||
width: 90% !important;
|
||||
}
|
||||
|
||||
.info {
|
||||
font-size: 12px;
|
||||
line-height: 20px;
|
||||
height: 84px;
|
||||
}
|
||||
|
||||
.services-table {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.evus-main {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.advantages-section .content1 .advantages-container .advantages {
|
||||
flex-direction: column;
|
||||
height: 160px;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.advantages-section .content1 {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.dj-btn {
|
||||
width: 300px;
|
||||
height: 60px;
|
||||
background: linear-gradient(180deg, var(--main-color) 0, var(--main-color) 100%);
|
||||
color: #fff;
|
||||
border: none;
|
||||
border-radius: 14px;
|
||||
margin-top: 20px;
|
||||
font-size: 20px;
|
||||
letter-spacing: .2px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.dj-btn:hover {
|
||||
background: #a83723;
|
||||
}
|
||||
|
||||
.djcon {
|
||||
margin: 10% auto;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.djcon p {
|
||||
color: #fff;
|
||||
font-family: cursive;
|
||||
text-transform: none;
|
||||
text-shadow: 0 2px 8px rgba(0, 0, 0, .041);
|
||||
font-weight: 600;
|
||||
line-height: 1.25;
|
||||
letter-spacing: .2px;
|
||||
font-size: 32px;
|
||||
}
|
||||
143
public/static/css/invoice.css
Normal file
@@ -0,0 +1,143 @@
|
||||
.layui-form-label {
|
||||
width: 110px;
|
||||
}
|
||||
.layui-form{
|
||||
margin-right: 10px;
|
||||
}
|
||||
.login-bg{
|
||||
background: #f0f0f0;
|
||||
}
|
||||
.login-box{
|
||||
width: 460px;
|
||||
height: auto;
|
||||
padding: 40px 0 20px;
|
||||
background: #fff;
|
||||
box-shadow: 0 0 20px rgba(0,0,0,0.2);
|
||||
border-radius: 20px;
|
||||
position: relative;
|
||||
margin-top: 10px;
|
||||
}
|
||||
.login-logo{
|
||||
width: 180px;
|
||||
height: 70px;
|
||||
text-align: center;
|
||||
background: url(/static/home/images/loginbg3.png) no-repeat;
|
||||
background-size: 180px 60px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
margin-left: -90px;
|
||||
top: 0;
|
||||
margin-top: -30px;
|
||||
color: #fff;
|
||||
line-height: 60px;
|
||||
}
|
||||
.login-con{
|
||||
padding: 10px 20px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.login-row{
|
||||
width: 100%;
|
||||
min-height: 40px;
|
||||
border-bottom: 1px solid #ddd;
|
||||
margin-top: 10px;
|
||||
line-height: 40px;
|
||||
}
|
||||
.login-row input{
|
||||
padding: 0;
|
||||
box-shadow: none!important;
|
||||
font-size: 16px;
|
||||
}
|
||||
.login-row label{
|
||||
font-size: 14px;
|
||||
color: #666;
|
||||
}
|
||||
.login-row .login-text{
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
background: none;
|
||||
border: none;
|
||||
outline: none;
|
||||
line-height: 40px;
|
||||
}
|
||||
.login-row .login-text2{
|
||||
width: 75%;
|
||||
float: left;
|
||||
}
|
||||
.login-row .login-get{
|
||||
float: right;
|
||||
line-height: 36px;
|
||||
height: 36px;
|
||||
width: 25%;
|
||||
background: #14286d;
|
||||
border-radius: 5px;
|
||||
border: none;
|
||||
outline: none;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.login-row .login-get:disabled{
|
||||
background: #999;
|
||||
}
|
||||
.login-row .login-get:hover{
|
||||
opacity: 0.8;
|
||||
}
|
||||
.login-row .login-btn{
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
background: #14286d;
|
||||
border: none;
|
||||
outline: none;
|
||||
color: #fff;
|
||||
font-size: 18px;
|
||||
border-radius: 10px;
|
||||
margin-top: 15px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.login-row .login-btn:hover{
|
||||
opacity: 0.8;
|
||||
}
|
||||
.login-row a{
|
||||
text-align: center;
|
||||
margin: 0 auto;
|
||||
font-size: 14px;
|
||||
line-height: 40px;
|
||||
}
|
||||
.login-row .checkbox-inline input[type="checkbox"]:checked:after{
|
||||
top: 5px;
|
||||
}
|
||||
@media(max-width:700px) {
|
||||
.login-box{
|
||||
width: 350px;
|
||||
margin-bottom: 10px;
|
||||
margin-top: 60px;
|
||||
}
|
||||
.login-row{ font-size: 14px;}
|
||||
.login-row .login-text2{ width: 55%;}
|
||||
.login-row .login-get{ width: 35%;}
|
||||
}
|
||||
.layui-btn{
|
||||
background: #14286d;
|
||||
}
|
||||
.in-img{
|
||||
text-align: center;
|
||||
}
|
||||
.addBox {
|
||||
width: 90%;
|
||||
text-align: right;
|
||||
margin-top: 5px;
|
||||
}
|
||||
.addBox .layui-icon {
|
||||
font-size: 14px;
|
||||
color: #666;
|
||||
cursor: pointer;
|
||||
margin-left: 10px;
|
||||
}
|
||||
.input-button {
|
||||
width: 40%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.layui-layer-content img{
|
||||
width: 150px;
|
||||
}
|
||||
6
public/static/css/jquery-weui.min.css
vendored
Normal file
143
public/static/css/jump.css
Normal file
@@ -0,0 +1,143 @@
|
||||
.jump-page {
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background: #f5f7fb;
|
||||
}
|
||||
|
||||
.jump-shell {
|
||||
flex: 1;
|
||||
width: 100%;
|
||||
max-width: 1140px;
|
||||
margin: 0 auto;
|
||||
padding: 48px 15px 64px;
|
||||
}
|
||||
|
||||
.jump-panel {
|
||||
display: grid;
|
||||
grid-template-columns: 64px minmax(0, 1fr) auto;
|
||||
align-items: center;
|
||||
gap: 22px;
|
||||
padding: 30px 34px;
|
||||
background: #fff;
|
||||
border: 1px solid #e8edf3;
|
||||
border-left: 5px solid var(--main-color);
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 18px 45px rgba(20, 34, 54, .08);
|
||||
}
|
||||
|
||||
.jump-icon {
|
||||
width: 54px;
|
||||
height: 54px;
|
||||
border-radius: 50%;
|
||||
background: var(--main-color);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.jump-icon:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: 18px;
|
||||
top: 14px;
|
||||
width: 16px;
|
||||
height: 24px;
|
||||
border: solid #fff;
|
||||
border-width: 0 4px 4px 0;
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
|
||||
.jump-panel--error {
|
||||
border-left-color: #d63622;
|
||||
}
|
||||
|
||||
.jump-panel--error .jump-icon {
|
||||
background: #d63622;
|
||||
}
|
||||
|
||||
.jump-panel--error .jump-icon:before,
|
||||
.jump-panel--error .jump-icon:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: 17px;
|
||||
top: 25px;
|
||||
width: 20px;
|
||||
height: 4px;
|
||||
background: #fff;
|
||||
border: 0;
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
|
||||
.jump-panel--error .jump-icon:after {
|
||||
transform: rotate(-45deg);
|
||||
}
|
||||
|
||||
.jump-content {
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.jump-message {
|
||||
margin: 0 0 8px;
|
||||
color: #172033;
|
||||
font-size: 24px;
|
||||
line-height: 1.35;
|
||||
font-weight: 700;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.jump-countdown {
|
||||
margin: 0;
|
||||
color: #5f6977;
|
||||
font-size: 15px;
|
||||
line-height: 1.7;
|
||||
}
|
||||
|
||||
.jump-countdown span {
|
||||
color: var(--main-color);
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.jump-actions {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.jump-button {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-width: 132px;
|
||||
min-height: 44px;
|
||||
padding: 0 22px;
|
||||
color: #fff;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
text-decoration: none;
|
||||
background: var(--main-color);
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.jump-button:hover {
|
||||
color: #fff;
|
||||
opacity: .92;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 640px) {
|
||||
.jump-shell {
|
||||
padding: 28px 15px 42px;
|
||||
}
|
||||
|
||||
.jump-panel {
|
||||
grid-template-columns: 1fr;
|
||||
gap: 16px;
|
||||
padding: 28px 22px;
|
||||
}
|
||||
|
||||
.jump-message {
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
.jump-actions {
|
||||
justify-content: flex-start;
|
||||
}
|
||||
}
|
||||
1
public/static/css/layer.css
Normal file
156
public/static/css/lookup.css
Normal file
@@ -0,0 +1,156 @@
|
||||
.layui-infor {
|
||||
float: left;
|
||||
font-size: 12px;
|
||||
margin-top: 5px;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.content {
|
||||
padding: 0px !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
|
||||
.layui-form-checkbox[lay-skin="primary"] div {
|
||||
white-space: normal !important;
|
||||
word-wrap: break-word;
|
||||
width: 300px; /* 设置一个固定宽度 */
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.layui-form-radio > * {
|
||||
display: inline;
|
||||
vertical-align: middle;
|
||||
font-size: 14px;
|
||||
}
|
||||
.layui-container{
|
||||
height: auto;
|
||||
}
|
||||
.layui-table-header{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.container {
|
||||
padding-top: 15px;
|
||||
background: #fff;
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
|
||||
/* 自定义样式使标签在上方 */
|
||||
.label-above .layui-form-label {
|
||||
display: block;
|
||||
float: none;
|
||||
text-align: left;
|
||||
padding: 0 0 5px 0;
|
||||
width: auto !important;
|
||||
font-weight: 600;
|
||||
font-size: 18px;
|
||||
color: #505050;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
.layui-form input {
|
||||
height: 45px;
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
line-height: 1.428571429;
|
||||
color: #555;
|
||||
background-color: #fff;
|
||||
background-image: none;
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.layui-btn {
|
||||
background: var(--main-color);
|
||||
border: 1px solid var(--main-color);
|
||||
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .5);
|
||||
border-radius: 5px;
|
||||
font-size: 22px;
|
||||
color: #FFF;
|
||||
letter-spacing: 0;
|
||||
padding: 5px 20px;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.layui-input-wrap .layui-input-prefix + .layui-input, .layui-input-wrap .layui-input-prefix ~ * .layui-input {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control, fieldset[disabled] input[type=text], fieldset[disabled] input[type=email], fieldset[disabled] input[type=number], fieldset[disabled] input[type=password], fieldset[disabled] input[type=phone], fieldset[disabled] select, input[disabled][type=text], input[disabled][type=email], input[disabled][type=number], input[disabled][type=password], input[disabled][type=phone], input[readonly][type=text], input[readonly][type=email], input[readonly][type=number], input[readonly][type=password], input[readonly][type=phone], select[disabled], select[readonly] {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.layui-input-block {
|
||||
margin-left: 0;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
#confirm {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#confirm .item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
#confirm .item div {
|
||||
margin: 0px 10px;
|
||||
overflow-wrap: break-word;
|
||||
/*就是下面这一句,好像网上没有这一个的说明,但是浏览器都支持*/
|
||||
word-break: break-word;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
#Form2 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.layui-form-checked[lay-skin=primary] > i {
|
||||
border: 1px solid #438CBC;
|
||||
background: #438CBC;
|
||||
border-color: #438CBC !important;
|
||||
}
|
||||
|
||||
.serviceprice {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-height: unset !important;
|
||||
}
|
||||
|
||||
.layui-form-radio:hover > *, .layui-form-radioed, .layui-form-radioed > i {
|
||||
color: var(--main-color) !important;
|
||||
}
|
||||
|
||||
.container-tit {
|
||||
width: 100%;
|
||||
font-size: 20px;
|
||||
color: var(--main-color);
|
||||
line-height: 50px;
|
||||
}
|
||||
|
||||
.container-con {
|
||||
width: 100%;
|
||||
line-height: 24px;
|
||||
margin-bottom: 10px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.layui-table thead {
|
||||
color: #fff;
|
||||
background: var(--main-color);
|
||||
}
|
||||
.wrap {
|
||||
min-height: 100vh; /* 关键点:确保至少填满整个视口高度 */
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.content {
|
||||
flex: 1;
|
||||
}
|
||||
3
public/static/css/main.css
Normal file
@@ -0,0 +1,3 @@
|
||||
:root {
|
||||
--main-color: #1b6ca3;
|
||||
}
|
||||
697
public/static/css/newin.css
Normal file
@@ -0,0 +1,697 @@
|
||||
|
||||
:root{
|
||||
--brand: #1D2D6B;
|
||||
--brand-dark: #083a65;
|
||||
--accent: #f05a28;
|
||||
--text: #0f172a;
|
||||
--muted: #64748b;
|
||||
--card: #ffffff;
|
||||
--line: rgba(15,23,42,.10);
|
||||
--radius: 14px;
|
||||
--main-color:#1D2D6B
|
||||
}
|
||||
html, body{
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
body{
|
||||
min-height: 100vh;
|
||||
font-family: "Microsoft YaHei","PingFang SC",system-ui,-apple-system,Segoe UI,Roboto,Arial;
|
||||
color: var(--text);
|
||||
background: #fff;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.brand-wrap{
|
||||
display:flex; align-items:center; gap:10px;
|
||||
color:#fff; text-decoration:none;
|
||||
}
|
||||
.brand-badge{
|
||||
width:34px; height:34px; border-radius:50%;
|
||||
background: rgba(255,255,255,.18);
|
||||
display:flex; align-items:center; justify-content:center;
|
||||
border: 1px solid rgba(255,255,255,.28);
|
||||
}
|
||||
.brand-title{ font-weight:700; letter-spacing:.2px; line-height:1.1; }
|
||||
.brand-sub{ font-size:12px; opacity:.85; }
|
||||
|
||||
.navbar .nav-link{ color: rgba(255,255,255,.88); }
|
||||
.navbar .nav-link:hover{ color:#fff; }
|
||||
.lang-btn{
|
||||
border: 1px solid rgba(255,255,255,.35) !important;
|
||||
color:#fff !important;
|
||||
background: rgba(255,255,255,.08) !important;
|
||||
}
|
||||
|
||||
/* 防止品牌文字把右侧挤下去 */
|
||||
.brand-wrap{ display:flex; align-items:center; gap:10px; min-width:0; }
|
||||
.brand-title,.brand-sub{ white-space:nowrap; }
|
||||
|
||||
/* ===== Hero ===== */
|
||||
.hero{
|
||||
position: relative;
|
||||
min-height: clamp(360px, 54vh, 560px);
|
||||
padding: clamp(40px, 6vh, 72px) 0 clamp(28px, 4.5vh, 56px);
|
||||
background:
|
||||
url("../image/thabg.png") center top / cover no-repeat;
|
||||
display:flex;
|
||||
align-items:stretch;
|
||||
overflow: hidden;
|
||||
}
|
||||
.hero .container{
|
||||
position:relative;
|
||||
z-index:1;
|
||||
display:flex;
|
||||
align-items:center;
|
||||
justify-content:center;
|
||||
}
|
||||
|
||||
.hero-card{
|
||||
width: min(480px, 90vw);
|
||||
margin: 0 auto;
|
||||
background: rgba(255,255,255,.78);
|
||||
border: 1px solid rgba(255,255,255,.66);
|
||||
border-radius: 20px;
|
||||
box-shadow: 0 24px 50px rgba(2,6,23,.24);
|
||||
padding: 24px 24px 20px;
|
||||
backdrop-filter: blur(14px);
|
||||
text-align: center;
|
||||
}
|
||||
.hero-card h1{
|
||||
font-size: clamp(28px, 3vw, 44px);
|
||||
font-weight: 800;
|
||||
margin: 0 0 10px 0;
|
||||
letter-spacing: .2px;
|
||||
line-height: 1.15;
|
||||
}
|
||||
.hero-card p{
|
||||
margin: 0 0 18px 0;
|
||||
color: rgba(15,23,42,.80);
|
||||
line-height:1.7;
|
||||
font-size: 15px;
|
||||
text-wrap: balance;
|
||||
}
|
||||
.btn-primary-brand{
|
||||
--bs-btn-bg: var(--brand);
|
||||
--bs-btn-border-color: var(--brand);
|
||||
--bs-btn-hover-bg: var(--brand-dark);
|
||||
--bs-btn-hover-border-color: var(--brand-dark);
|
||||
--bs-btn-padding-x: 18px;
|
||||
--bs-btn-padding-y: 10px;
|
||||
border-radius: 10px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
@media (min-width: 1600px){
|
||||
.hero{
|
||||
min-height: 660px;
|
||||
background-position: center 14%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1200px) and (max-width: 1599.98px){
|
||||
.hero{
|
||||
min-height: 540px;
|
||||
background-position: center 10%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) and (max-width: 1199.98px){
|
||||
.hero{
|
||||
min-height: 500px;
|
||||
background-position: 50% 8%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 991.98px){
|
||||
.hero{
|
||||
min-height: 380px;
|
||||
padding: 34px 0 24px;
|
||||
background-position: 52% top;
|
||||
}
|
||||
|
||||
.hero-card{
|
||||
width: min(440px, 92vw);
|
||||
padding: 20px 18px 18px;
|
||||
border-radius: 18px;
|
||||
}
|
||||
|
||||
.hero-card p{
|
||||
font-size: 14px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 575.98px){
|
||||
.hero{
|
||||
min-height: 340px;
|
||||
padding: 24px 0 16px;
|
||||
background-position: 56% top;
|
||||
}
|
||||
|
||||
.hero-card{
|
||||
width: calc(100vw - 28px);
|
||||
padding: 18px 16px 16px;
|
||||
border-radius: 16px;
|
||||
}
|
||||
|
||||
.hero-card h1{
|
||||
font-size: 24px;
|
||||
}
|
||||
}
|
||||
|
||||
/* ===== Notice ===== */
|
||||
.notice{
|
||||
padding: 14px 0;
|
||||
border-bottom: 1px solid var(--line);
|
||||
}
|
||||
.notice .tip-title{
|
||||
color: #dc2626;
|
||||
font-weight: 800;
|
||||
margin-right: 6px;
|
||||
}
|
||||
.notice p{
|
||||
margin:0;
|
||||
color: rgba(15,23,42,.70);
|
||||
font-size: 13px;
|
||||
line-height: 1.7;
|
||||
}
|
||||
|
||||
/* ===== Section common ===== */
|
||||
.section{ padding: 44px 0; }
|
||||
.section-title{
|
||||
text-align:center;
|
||||
font-size: 18px;
|
||||
font-weight: 900;
|
||||
color: var(--brand);
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
|
||||
/* ===== Flow ===== */
|
||||
.flow-wrap{
|
||||
border: 1px solid var(--line);
|
||||
border-radius: var(--radius);
|
||||
background: #fff;
|
||||
padding: 22px 18px;
|
||||
}
|
||||
.flow-step{ text-align:center; padding: 8px 10px; }
|
||||
.flow-ico{
|
||||
width: 56px; height: 56px;
|
||||
margin: 0 auto 10px;
|
||||
border-radius: 14px;
|
||||
background: rgba(11,95,168,.08);
|
||||
border: 1px solid rgba(11,95,168,.18);
|
||||
display:flex; align-items:center; justify-content:center;
|
||||
color: var(--brand);
|
||||
font-size: 26px;
|
||||
}
|
||||
.flow-step h6{ margin:0 0 6px 0; font-weight: 900; }
|
||||
.flow-step p{ margin:0; color: var(--muted); font-size: 13px; }
|
||||
.flow-arrow{
|
||||
display:flex; align-items:center; justify-content:center;
|
||||
color: rgba(15,23,42,.25);
|
||||
font-size: 24px;
|
||||
}
|
||||
@media (max-width: 767px){
|
||||
.flow-arrow{ display:none; }
|
||||
}
|
||||
.brand-badge-logo{
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
background: url("../image/tdac_icon.png") center/contain no-repeat;
|
||||
}
|
||||
|
||||
/* ===== Intro ===== */
|
||||
.intro-card{
|
||||
border: 1px solid var(--line);
|
||||
border-radius: var(--radius);
|
||||
padding: 18px 18px 16px;
|
||||
background: #fff;
|
||||
}
|
||||
.intro-card h2{
|
||||
font-size: 26px;
|
||||
font-weight: 900;
|
||||
color: var(--brand);
|
||||
margin: 4px 0 10px 0;
|
||||
}
|
||||
.intro-card p{
|
||||
color: rgba(15,23,42,.72);
|
||||
line-height: 1.8;
|
||||
font-size: 14px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.btn-outline-brand{
|
||||
border: 1px solid rgba(11,95,168,.30);
|
||||
color: var(--brand);
|
||||
font-weight: 800;
|
||||
border-radius: 10px;
|
||||
padding: 10px 16px;
|
||||
}
|
||||
.btn-outline-brand:hover{
|
||||
background: rgba(11,95,168,.08);
|
||||
color: var(--brand-dark);
|
||||
border-color: rgba(11,95,168,.42);
|
||||
}
|
||||
|
||||
/* ===== Why us ===== */
|
||||
.why-title{
|
||||
text-align:center;
|
||||
font-size: 22px;
|
||||
font-weight: 1000;
|
||||
margin: 6px 0 4px;
|
||||
}
|
||||
.why-sub{
|
||||
text-align:center;
|
||||
color: var(--muted);
|
||||
margin-bottom: 18px;
|
||||
font-size: 13px;
|
||||
}
|
||||
.feature{
|
||||
background: #f8fafc;
|
||||
border: 1px solid rgba(15,23,42,.06);
|
||||
border-radius: var(--radius);
|
||||
padding: 18px 16px;
|
||||
height: 100%;
|
||||
}
|
||||
.feature .fi{
|
||||
width: 44px; height: 44px;
|
||||
border-radius: 12px;
|
||||
background: #fff;
|
||||
border: 1px solid rgba(15,23,42,.08);
|
||||
display:flex; align-items:center; justify-content:center;
|
||||
margin: 0 auto 10px;
|
||||
color: rgba(15,23,42,.70);
|
||||
font-size: 20px;
|
||||
}
|
||||
.feature h6{ text-align:center; font-weight: 900; margin: 0 0 6px; }
|
||||
.feature p{ text-align:center; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
|
||||
|
||||
/* ===== 新增:套餐模块 ===== */
|
||||
.plan{
|
||||
border: 1px solid var(--line);
|
||||
border-radius: var(--radius);
|
||||
background: #fff;
|
||||
padding: 18px 16px;
|
||||
height: 100%;
|
||||
}
|
||||
.plan .tag{
|
||||
display:inline-block;
|
||||
font-size: 12px;
|
||||
padding: 5px 10px;
|
||||
border-radius: 999px;
|
||||
border: 1px solid rgba(11,95,168,.18);
|
||||
background: rgba(11,95,168,.08);
|
||||
color: rgba(15,23,42,.72);
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.plan h5{ font-weight: 1000; margin: 0 0 6px; }
|
||||
.plan .meta{ color: rgba(15,23,42,.60); font-size: 13px; }
|
||||
.plan ul{
|
||||
margin: 10px 0 0;
|
||||
padding-left: 18px;
|
||||
color: rgba(15,23,42,.72);
|
||||
font-size: 13px;
|
||||
line-height: 1.85;
|
||||
}
|
||||
.btn-accent{
|
||||
background: var(--accent);
|
||||
border-color: var(--accent);
|
||||
font-weight: 900;
|
||||
border-radius: 12px;
|
||||
padding: 12px 26px;
|
||||
box-shadow: 0 12px 28px rgba(240,90,40,.30);
|
||||
}
|
||||
.btn-accent:hover{ filter: brightness(.95); }
|
||||
|
||||
/* ===== 新增:FAQ ===== */
|
||||
.accordion-item{
|
||||
border: 1px solid rgba(15,23,42,.10);
|
||||
border-radius: 16px !important;
|
||||
overflow:hidden;
|
||||
background:#fff;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.accordion-button{ font-weight: 900; }
|
||||
.accordion-button:not(.collapsed){
|
||||
background: rgba(11,95,168,.08);
|
||||
color: var(--brand-dark);
|
||||
}
|
||||
|
||||
/* ===== Dark section ===== */
|
||||
.dark-section{
|
||||
background: var(--brand-dark);
|
||||
color: rgba(255,255,255,.88);
|
||||
padding: 54px 0;
|
||||
}
|
||||
.dark-section h3{
|
||||
text-align:center;
|
||||
font-weight: 1000;
|
||||
margin: 0 0 12px;
|
||||
font-size: 26px;
|
||||
color:#fff;
|
||||
}
|
||||
.dark-section p{
|
||||
text-align:center;
|
||||
margin: 0 auto;
|
||||
max-width: 980px;
|
||||
line-height: 1.9;
|
||||
font-size: 14px;
|
||||
color: rgba(255,255,255,.78);
|
||||
}
|
||||
|
||||
/* ===== Footer ===== */
|
||||
footer{
|
||||
margin-top: auto;
|
||||
flex-shrink: 0;
|
||||
background: #0b1220;
|
||||
color: rgba(255,255,255,.75);
|
||||
padding: 26px 0 18px;
|
||||
font-size: 12px;
|
||||
}
|
||||
footer a{ color: rgba(255,255,255,.78); text-decoration:none; }
|
||||
footer a:hover{ color:#fff; text-decoration:underline; }
|
||||
.footer-divider{ height:1px; background: rgba(255,255,255,.10); margin: 14px 0; }
|
||||
|
||||
/* ===== 新增:悬浮客服按钮 ===== */
|
||||
.float-help{
|
||||
position: fixed;
|
||||
right: 18px;
|
||||
bottom: 18px;
|
||||
z-index: 2000;
|
||||
display:flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
}
|
||||
.float-btn{
|
||||
width: 46px; height: 46px;
|
||||
border-radius: 14px;
|
||||
border: 1px solid rgba(15,23,42,.12);
|
||||
background: #fff;
|
||||
box-shadow: 0 14px 30px rgba(2,6,23,.12);
|
||||
display:flex; align-items:center; justify-content:center;
|
||||
color: rgba(15,23,42,.75);
|
||||
}
|
||||
.float-btn:hover{ color: var(--brand); border-color: rgba(11,95,168,.25); }
|
||||
/* ===== Flow Stepper v2 ===== */
|
||||
.flow2{
|
||||
border: 1px solid var(--line);
|
||||
border-radius: var(--radius);
|
||||
background:#fff;
|
||||
padding: 22px;
|
||||
}
|
||||
.flow2 .step{
|
||||
display:flex;
|
||||
gap:14px;
|
||||
position:relative;
|
||||
padding: 10px 0;
|
||||
}
|
||||
.flow2 .step:not(:last-child)::after{
|
||||
content:"";
|
||||
position:absolute;
|
||||
left: 18px;
|
||||
top: 52px;
|
||||
bottom: -6px;
|
||||
width:2px;
|
||||
background: rgba(11,95,168,.18);
|
||||
}
|
||||
.flow2 .badge-num{
|
||||
width: 38px;
|
||||
height: 38px;
|
||||
border-radius: 14px;
|
||||
background: rgba(11,95,168,.10);
|
||||
border:1px solid rgba(11,95,168,.20);
|
||||
display:flex;
|
||||
align-items:center;
|
||||
justify-content:center;
|
||||
font-weight: 900;
|
||||
color: var(--brand);
|
||||
flex: 0 0 38px;
|
||||
}
|
||||
.flow2 .step h6{ margin: 2px 0 6px; font-weight: 900; }
|
||||
.flow2 .step p{
|
||||
margin:0;
|
||||
color: rgba(15,23,42,.70);
|
||||
font-size: 13px;
|
||||
line-height:1.8;
|
||||
}
|
||||
.flow2-side{
|
||||
border: 1px dashed rgba(11,95,168,.28);
|
||||
border-radius: var(--radius);
|
||||
padding: 16px 16px 14px;
|
||||
background: rgba(11,95,168,.04);
|
||||
height:100%;
|
||||
}
|
||||
.flow2-side .k{
|
||||
font-weight: 900;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
.flow2-side .i{
|
||||
font-size: 13px;
|
||||
color: rgba(15,23,42,.70);
|
||||
line-height: 1.9;
|
||||
}
|
||||
|
||||
/* ===== Intro v2: 信息块更像官网 ===== */
|
||||
.intro2{
|
||||
border: 1px solid var(--line);
|
||||
border-radius: var(--radius);
|
||||
background:#fff;
|
||||
overflow:hidden;
|
||||
}
|
||||
.intro2 .left{
|
||||
min-height: 240px;
|
||||
background: linear-gradient(120deg, rgba(11,95,168,.16), rgba(11,95,168,.03));
|
||||
position:relative;
|
||||
}
|
||||
.intro2 .left::before{
|
||||
content:"";
|
||||
position:absolute; inset:0;
|
||||
background: url("../image/taiguo.png") center/contain no-repeat;
|
||||
opacity:.95;
|
||||
}
|
||||
.intro2 .right{
|
||||
padding: 18px 18px 16px;
|
||||
}
|
||||
.intro2 h2{
|
||||
font-size: 24px;
|
||||
font-weight: 1000;
|
||||
color: var(--brand);
|
||||
margin: 2px 0 10px;
|
||||
text-align: center;
|
||||
}
|
||||
.intro2 .bul{
|
||||
display:grid;
|
||||
gap:8px;
|
||||
margin: 10px 0 14px;
|
||||
}
|
||||
.intro2 .bul div{
|
||||
display:flex;
|
||||
gap:10px;
|
||||
color: rgba(15,23,42,.72);
|
||||
font-size: 13px;
|
||||
line-height:1.8;
|
||||
}
|
||||
.intro2 .bul i{ color: var(--brand); }
|
||||
/* ===== Top bar (clean) ===== */
|
||||
.topbar{
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 1000;
|
||||
background: var(--brand);
|
||||
backdrop-filter: blur(8px);
|
||||
border-bottom: 1px solid rgba(255,255,255,.12);
|
||||
}
|
||||
|
||||
/* container:PC 单行不换行;手机允许换行让 #nav 到下一行 */
|
||||
.topbar .topbar-inner{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
flex-wrap: nowrap;
|
||||
}
|
||||
|
||||
/* 你现在的结构:topbar-head 里面是 brand + right */
|
||||
.topbar .topbar-head{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
width: auto; /* PC:不占满,避免把 #nav 顶下去 */
|
||||
flex: 0 0 auto;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.topbar .topbar-right{
|
||||
display:flex;
|
||||
align-items:center;
|
||||
gap: 8px;
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
|
||||
/* brand */
|
||||
.topbar .brand-wrap{
|
||||
display:flex;
|
||||
align-items:center;
|
||||
gap:10px;
|
||||
color:#fff;
|
||||
text-decoration:none;
|
||||
min-width: 0;
|
||||
}
|
||||
.topbar .brand-title{ font-weight:700; letter-spacing:.2px; line-height:1.1; }
|
||||
.topbar .brand-sub{ font-size:12px; opacity:.85; }
|
||||
.topbar .brand-title,
|
||||
.topbar .brand-sub{ white-space: nowrap; } /* 避免抖动 */
|
||||
|
||||
/* logo badge */
|
||||
.topbar .brand-badge{
|
||||
width:34px;
|
||||
height:34px;
|
||||
border-radius:50%;
|
||||
background: rgba(255,255,255,.18);
|
||||
display:flex;
|
||||
align-items:center;
|
||||
justify-content:center;
|
||||
border: 1px solid rgba(255,255,255,.28);
|
||||
}
|
||||
.topbar .brand-badge-logo{
|
||||
background: url("../image/tdac_icon.png") center/contain no-repeat;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
/* nav link */
|
||||
.topbar .navbar .nav-link{ color: rgba(255,255,255,.88); }
|
||||
.topbar .navbar .nav-link:hover{ color:#fff; }
|
||||
|
||||
.topbar .lang-btn{
|
||||
border: 1px solid rgba(255,255,255,.35) !important;
|
||||
color:#fff !important;
|
||||
background: rgba(255,255,255,.08) !important;
|
||||
}
|
||||
.navbar-collapse{
|
||||
text-align: center;
|
||||
}
|
||||
/* PC:#nav 在同一行靠右 */
|
||||
@media (min-width: 1200px){
|
||||
.topbar .topbar-inner{
|
||||
flex-wrap: nowrap; /* 不换行 */
|
||||
}
|
||||
.topbar .navbar-collapse{
|
||||
flex: 1 1 auto;
|
||||
justify-content: flex-end; /* 菜单靠右 */
|
||||
}
|
||||
|
||||
/* PC 不需要右侧(手机语言 + 汉堡),避免空盒子影响对齐 */
|
||||
.topbar .topbar-right{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.contact-page{
|
||||
padding: 28px 0 50px;
|
||||
}
|
||||
/* 手机:brand +(语言+汉堡)一行,#nav 展开到下一行(不抖) */
|
||||
@media (max-width: 1199.98px){
|
||||
.topbar .topbar-inner{
|
||||
flex-wrap: wrap; /* 允许换行,让 #nav 到下一行 */
|
||||
padding-left: 2px !important; /* 贴边 */
|
||||
padding-right: 2px !important;
|
||||
}
|
||||
|
||||
/* 手机:topbar-head 占满一行,左右分布 */
|
||||
.topbar .topbar-head{
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* 手机:#nav 永远在下一行展开 */
|
||||
.topbar .navbar-collapse{
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* 右侧按钮统一高度对齐 */
|
||||
.topbar .lang-btn{
|
||||
height: 34px;
|
||||
line-height: 34px;
|
||||
padding: 0 10px;
|
||||
}
|
||||
.topbar .navbar-toggler{
|
||||
padding: 0 !important;
|
||||
margin: 0 !important;
|
||||
line-height: 1;
|
||||
}
|
||||
.topbar .navbar-toggler-icon{
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* ===== Why v2: 从网格改成“条目式” ===== */
|
||||
.why2-item{
|
||||
border: 1px solid rgba(15,23,42,.08);
|
||||
border-radius: var(--radius);
|
||||
padding: 14px 14px 12px;
|
||||
background: #fff;
|
||||
height:100%;
|
||||
display:flex;
|
||||
gap:12px;
|
||||
}
|
||||
.why2-ico{
|
||||
width: 42px; height:42px;
|
||||
border-radius: 14px;
|
||||
background: rgba(11,95,168,.08);
|
||||
border:1px solid rgba(11,95,168,.18);
|
||||
display:flex; align-items:center; justify-content:center;
|
||||
color: var(--brand);
|
||||
flex: 0 0 42px;
|
||||
font-size: 20px;
|
||||
}
|
||||
.why2-item h6{ margin: 0 0 4px; font-weight: 900; }
|
||||
.why2-item p{ margin:0; color: rgba(15,23,42,.70); font-size: 13px; line-height:1.75; }
|
||||
|
||||
/* ---- Passport upload icon button ---- */
|
||||
.passport-wrap{ position:relative; }
|
||||
.passport-upload{
|
||||
position:absolute;
|
||||
right: 8px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 44px;
|
||||
border-radius: 6px;
|
||||
background: rgba(21,56,84,.06);
|
||||
border: 1px solid rgba(21,56,84,.20);
|
||||
display:flex;
|
||||
align-items:center;
|
||||
justify-content:center;
|
||||
cursor:pointer;
|
||||
}
|
||||
.passport-upload i{
|
||||
font-size: 22px;
|
||||
color: rgba(21,56,84,.85);
|
||||
}
|
||||
.passport-upload input[type="file"]{
|
||||
position:absolute;
|
||||
inset:0;
|
||||
opacity:0;
|
||||
cursor:pointer;
|
||||
}
|
||||
.passport-upload:hover{
|
||||
background: rgba(21,56,84,.10);
|
||||
border-color: rgba(21,56,84,.35);
|
||||
}
|
||||
|
||||
/* 真正的 file input 隐藏掉,不参与 hover */
|
||||
.passport-file{
|
||||
position:absolute;
|
||||
width:1px;
|
||||
height:1px;
|
||||
opacity:0;
|
||||
overflow:hidden;
|
||||
left:-9999px;
|
||||
}
|
||||
|
||||
/* label 就是按钮,cursor 一定是小手 */
|
||||
.passport-upload{ cursor:pointer; }
|
||||
.passport-upload .layui-icon{ pointer-events:none; }
|
||||
|
||||
|
||||
|
||||
|
||||
198
public/static/css/page-sqpay.css
Normal file
@@ -0,0 +1,198 @@
|
||||
body.sqpay-page {
|
||||
margin: 0;
|
||||
background: #f8f8f8;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.sqpay-layout {
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sqpay-main {
|
||||
flex: 1;
|
||||
padding: 36px 0 64px;
|
||||
}
|
||||
|
||||
.sqpay-shell {
|
||||
width: min(1140px, calc(100% - 32px));
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.sqpay-card {
|
||||
border: 1px solid #e8e8e8;
|
||||
border-radius: 8px;
|
||||
background: #fff;
|
||||
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.sqpay-heading {
|
||||
padding: 14px 20px;
|
||||
background: var(--main-color);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.sqpay-title {
|
||||
margin: 0 0 6px;
|
||||
font-size: clamp(22px, 3vw, 30px);
|
||||
line-height: 1.2;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.sqpay-order {
|
||||
margin: 0;
|
||||
font-size: 14px;
|
||||
line-height: 1.7;
|
||||
color: rgba(255, 255, 255, 0.92);
|
||||
}
|
||||
|
||||
.sqpay-amount {
|
||||
margin: 18px 20px 12px;
|
||||
padding: 12px 14px;
|
||||
border: 1px solid #e5e5e5;
|
||||
border-left: 4px solid var(--main-color);
|
||||
border-radius: 6px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.sqpay-amount-label {
|
||||
margin: 0;
|
||||
color: #666;
|
||||
font-size: 13px;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
.sqpay-amount-value {
|
||||
margin: 4px 0 0;
|
||||
color: #ff5722;
|
||||
font-size: clamp(24px, 3vw, 32px);
|
||||
font-weight: 700;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.sqpay-grid {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 2.1fr) minmax(0, 1fr);
|
||||
gap: 16px;
|
||||
padding: 10px 20px 20px;
|
||||
align-items: start;
|
||||
}
|
||||
|
||||
.sqpay-method,
|
||||
.sqpay-notice {
|
||||
border: 1px solid #e8e8e8;
|
||||
border-radius: 6px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.sqpay-method-head {
|
||||
padding: 12px 14px;
|
||||
border-bottom: 1px solid #efefef;
|
||||
background: #fafafa;
|
||||
}
|
||||
|
||||
.sqpay-method-title {
|
||||
margin: 0 0 8px;
|
||||
color: #333;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.sqpay-brand-list {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.sqpay-brand-list img {
|
||||
display: block;
|
||||
height: 20px;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.sqpay-method-body {
|
||||
padding: 14px;
|
||||
}
|
||||
|
||||
#card-container {
|
||||
min-height: 52px;
|
||||
padding: 10px 12px;
|
||||
border: 1px solid #dcdcdc;
|
||||
border-radius: 6px;
|
||||
background: #fff;
|
||||
transition: border-color 0.2s ease, box-shadow 0.2s ease;
|
||||
}
|
||||
|
||||
#card-container:focus-within {
|
||||
border-color: var(--main-color);
|
||||
box-shadow: 0 0 0 2px rgba(21, 56, 84, 0.12);
|
||||
}
|
||||
|
||||
.sqpay-pay-button {
|
||||
width: 100%;
|
||||
height: 48px;
|
||||
margin-top: 12px;
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
background: var(--main-color);
|
||||
color: #fff;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.2s ease;
|
||||
}
|
||||
|
||||
.sqpay-pay-button:hover {
|
||||
background: #102d42;
|
||||
}
|
||||
|
||||
.sqpay-pay-button:disabled {
|
||||
background: #a4b3bf;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
.sqpay-notice {
|
||||
padding-bottom: 6px;
|
||||
background: #fafafa;
|
||||
}
|
||||
|
||||
.sqpay-notice-head {
|
||||
margin: 0;
|
||||
padding: 12px 14px 8px;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
color: var(--main-color);
|
||||
}
|
||||
|
||||
.sqpay-notice-body {
|
||||
margin: 0;
|
||||
padding: 0 14px 10px;
|
||||
color: #555;
|
||||
font-size: 14px;
|
||||
line-height: 1.8;
|
||||
}
|
||||
|
||||
@media (max-width: 980px) {
|
||||
.sqpay-main {
|
||||
padding: 26px 0 48px;
|
||||
}
|
||||
|
||||
.sqpay-shell {
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
|
||||
.sqpay-grid {
|
||||
grid-template-columns: 1fr;
|
||||
padding: 10px 12px 14px;
|
||||
}
|
||||
|
||||
.sqpay-heading {
|
||||
padding: 12px 14px;
|
||||
}
|
||||
|
||||
.sqpay-amount {
|
||||
margin: 12px;
|
||||
}
|
||||
}
|
||||
73
public/static/css/pcpay.css
Normal file
@@ -0,0 +1,73 @@
|
||||
body {
|
||||
background-color: #f8f8f8;
|
||||
}
|
||||
|
||||
.payment-container {
|
||||
max-width: 1140px;
|
||||
margin: 60px auto;
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
.payment-header {
|
||||
background-color: var(--main-color);
|
||||
color: white;
|
||||
padding: 10px 15px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.payment-info {
|
||||
padding: 15px;
|
||||
border-bottom: 1px solid #eee;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.payment-amount {
|
||||
color: #FF5722;
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.payment-methods {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.qrcode-container {
|
||||
text-align: center;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.qrcode-img {
|
||||
width: 150px;
|
||||
height: 150px;
|
||||
border: 1px solid #ddd;
|
||||
margin: 10px auto;
|
||||
}
|
||||
|
||||
.payment-logo {
|
||||
height: 40px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 768px) {
|
||||
.payment-scan {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.dj-btn {
|
||||
width: 200px;
|
||||
height: 60px;
|
||||
background: linear-gradient(180deg, var(--main-color) 0, var(--main-color) 100%); color: #fff;
|
||||
color: #fff;
|
||||
border: none;
|
||||
border-radius: 14px;
|
||||
margin-top: 20px;
|
||||
font-size: 20px;
|
||||
font-family: Roboto;
|
||||
letter-spacing: .2px;
|
||||
font-weight: 500;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.dj-btn:hover {
|
||||
background: linear-gradient(180deg, var(--main-color) 0, var(--main-color) 100%);
|
||||
}
|
||||
12
public/static/css/swiper.min.css
vendored
Normal file
450
public/static/css/tur_index.css
Normal file
@@ -0,0 +1,450 @@
|
||||
a:link, a:visited {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a {
|
||||
cursor: pointer;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.djcon {
|
||||
float: right;
|
||||
margin: -50px 68px 20px 20px;
|
||||
}
|
||||
|
||||
@media (max-width: 1110px) {
|
||||
.context2 {
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
}
|
||||
.pd-20 {
|
||||
padding: 20px;
|
||||
}
|
||||
.dj-box {
|
||||
float: right;
|
||||
width: 350px;
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
border-radius: 5px;
|
||||
padding: 60px 20px;
|
||||
}
|
||||
.dj-box .dj-tabs {
|
||||
height: 60px;
|
||||
color: #ffffff;
|
||||
display: flex;
|
||||
}
|
||||
.dj-tabs .tab {
|
||||
line-height: 60px;
|
||||
width: 25%;
|
||||
text-align: center;
|
||||
background-color: #205493;
|
||||
}
|
||||
.dj-tabs .tab:first-child {
|
||||
border-top-left-radius: 5px
|
||||
}
|
||||
.dj-tabs .tab:last-child {
|
||||
border-top-right-radius: 5px
|
||||
}
|
||||
.dj-tabs .tab.active {
|
||||
background-color: #ffffff;
|
||||
color: #0a1e2c;
|
||||
}
|
||||
.dj-box a {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
text-align: center;
|
||||
line-height: 50px;
|
||||
color: #fff;
|
||||
font-size: 18px;
|
||||
background: var(--main-color);
|
||||
left: 50%;
|
||||
margin: 20px 0 0;
|
||||
border-radius: 5px;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.dj-box a:hover {
|
||||
background: #a83723;
|
||||
}
|
||||
|
||||
.dj-box .dj-cx {
|
||||
background: #fff;
|
||||
color: #438CBC;
|
||||
border: 2px solid #438CBC;
|
||||
}
|
||||
|
||||
.dj-box .dj-cx:hover {
|
||||
background: var(--main-color);
|
||||
color: #fff;
|
||||
}
|
||||
.form-cell {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.form-cell .icon {
|
||||
padding-top: 30px;
|
||||
}
|
||||
@media (min-width: 1110px) {
|
||||
.evus {
|
||||
height: 345px;
|
||||
}
|
||||
|
||||
/*.home-main{ margin-top: 50px;}*/
|
||||
.context2 {
|
||||
width: 1200px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.apply-item {
|
||||
width: 50%;
|
||||
|
||||
}
|
||||
.apply-item img{
|
||||
width: 85%;
|
||||
}
|
||||
.bt {
|
||||
margin: 40px auto;
|
||||
font-size: 30px;
|
||||
font-weight: bold;
|
||||
color: #15477c;
|
||||
letter-spacing: 2px;
|
||||
}
|
||||
/*.content {
|
||||
width: 100%;
|
||||
background: url("/public/static/home/images/indexbg1_2.jpg") center 50px no-repeat;
|
||||
background-size: 100% auto;
|
||||
}*/
|
||||
}
|
||||
|
||||
/*@media (min-width: 1300px) {
|
||||
.content {
|
||||
width: 100%;
|
||||
background: url("/public/static/home/images/indexbg1_2.jpg") center 80px no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
}*/
|
||||
|
||||
/*.evus{ background: url("/public/static/home/images/bg_02.jpg") left -150px;}*/
|
||||
|
||||
|
||||
/*.evus-main{ background: none;}*/
|
||||
.process {
|
||||
width: 100%;
|
||||
/*background: #f9f9f9;*/
|
||||
padding: 20px ;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.pro-con {
|
||||
max-width: 1110px;
|
||||
display: flex;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.ps-tit {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
font-size: 24px;
|
||||
color: #438CBC;
|
||||
padding: 20px 0;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.process .ps-item {
|
||||
display: inline-block;
|
||||
width: auto;
|
||||
height: auto;
|
||||
text-align: center;
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.ps-item2 {
|
||||
margin-top: 70px;
|
||||
}
|
||||
|
||||
.process .ps-item img {
|
||||
width: 26%;
|
||||
}
|
||||
|
||||
.process .ps-item2 img {
|
||||
margin-top: -75px;
|
||||
width: 34%;
|
||||
}
|
||||
|
||||
.process .ps-item .ps-text {
|
||||
width: 100%;
|
||||
font-size: 16px;
|
||||
text-align: center;
|
||||
line-height: 30px;
|
||||
color: #438CBC;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
@media (max-width: 740px) {
|
||||
.container-apply{
|
||||
flex-direction: column;
|
||||
}
|
||||
.apply-item{
|
||||
padding: 0 20px;
|
||||
}
|
||||
.advantages-section{
|
||||
padding: 20px 10px !important;
|
||||
}
|
||||
.einfor-con h3 {
|
||||
font-size: 20px;
|
||||
}
|
||||
.dj-tabs .tab.active {
|
||||
background-color: transparent;
|
||||
}
|
||||
.pc-ps-item {
|
||||
display: none !important;
|
||||
}
|
||||
.m-ps-item{
|
||||
display: inline-block !important;
|
||||
width: 5% !important;
|
||||
}
|
||||
.einfor {
|
||||
padding: 20px 0;
|
||||
}
|
||||
.m-title{
|
||||
display: none;
|
||||
}
|
||||
.container-apply.notice{
|
||||
margin-top: 70px !important;
|
||||
padding: 8px;
|
||||
}
|
||||
.process {
|
||||
height: auto;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.process .ps-item {
|
||||
width: 100%;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.process .ps-item img {
|
||||
width: 12%;
|
||||
}
|
||||
|
||||
.ps-tit{
|
||||
background: var(--main-color);
|
||||
font-size: 16px;
|
||||
color: #fff !important;
|
||||
}
|
||||
.ps-tit2{
|
||||
background: var(--main-color);
|
||||
color: #f8cd55;
|
||||
}
|
||||
.pro-con{
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.einfor-con {
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
||||
.context2 {
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
/*.content {
|
||||
background: url("/public/static/home/images/indexbg1_2.jpg") center 60px no-repeat;
|
||||
background-size: auto 100%;
|
||||
}*/
|
||||
|
||||
.text2 {
|
||||
width: 100%;
|
||||
display: block;
|
||||
padding: 20px 20px 5px;
|
||||
}
|
||||
|
||||
.text2 .tel {
|
||||
color: #e50000;
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
.pro-con {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.djcon {
|
||||
clear: all;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 0 10px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.process .ps-item .ps-text {
|
||||
line-height: 35px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.ps-tit {
|
||||
/*line-height: 40px;*/
|
||||
}
|
||||
|
||||
.ps-tit2 {
|
||||
padding-bottom: 10px !important;
|
||||
}
|
||||
|
||||
.dj-box {
|
||||
width: 100%;
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
border-radius: 8px;
|
||||
box-sizing: border-box;
|
||||
padding: 40px;
|
||||
}
|
||||
|
||||
.dj-box .dj-txt {
|
||||
font-size: 20px !important;
|
||||
}
|
||||
|
||||
.dj-box .dj-txt2 {
|
||||
font-size: 16px !important;
|
||||
}
|
||||
|
||||
.dj-box a {
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
text-align: center;
|
||||
line-height: 40px;
|
||||
color: #fff;
|
||||
font-size: 17px;
|
||||
background: var(--main-color);
|
||||
border-radius: 2px solid var(--main-color);
|
||||
}
|
||||
|
||||
.content .text {
|
||||
width: 100%;
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
|
||||
.einfor {
|
||||
width: 100%;
|
||||
max-width: 1170px;
|
||||
overflow: hidden;
|
||||
margin: 0 auto;
|
||||
line-height: 26px;
|
||||
padding: 20px 68px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
@media (max-width: 1110px) {
|
||||
.einfor {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.einfor ul {
|
||||
list-style-type: circle;
|
||||
margin-left: 45px;
|
||||
}
|
||||
|
||||
/*.einfor-con h3, .einfor-con > p {*/
|
||||
/* color: #438CBC;*/
|
||||
/*}*/
|
||||
|
||||
.einfor-con a {
|
||||
display: inline-block;
|
||||
padding: 8px 0;
|
||||
width: 324px;
|
||||
border-radius: 6px;
|
||||
background: #2e8540!important;
|
||||
color: #fff;
|
||||
font-size: 18px;
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
.einfor-con a:hover {
|
||||
color: #fff;
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
.einfor-con2 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.einfor-qrcode {
|
||||
width: 324px;
|
||||
padding: 20px 20px 15px 20px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 6px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.einfor-qrcode img {
|
||||
width: 200px;
|
||||
border-radius: 6px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.einfor-qrcode p {
|
||||
color: #438CBC;
|
||||
line-height: 22px;
|
||||
text-align: center;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
@media (min-width: 800px) {
|
||||
.einfor-con {
|
||||
width: 50%;
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 799px) {
|
||||
.einfor-con {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.einfor-con2 .einfor-qrcode2 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.einfor-con2 > div {
|
||||
float: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
.einfor-con .tel {
|
||||
background: none !important;
|
||||
color: #FF0303;
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
.einfor-qrcode a.dj-cx {
|
||||
background: #fff !important;
|
||||
color: #438CBC !important;
|
||||
border: 2px solid #438CBC !important;
|
||||
}
|
||||
.container-apply{
|
||||
display: flex;
|
||||
max-width: 1110px;
|
||||
margin: 0 auto;
|
||||
align-items: center;
|
||||
}
|
||||
@media (min-width: 740px) {
|
||||
.item-border {
|
||||
border: 1px solid #F2F2F2;
|
||||
padding: 20px;
|
||||
border-radius: 8px;
|
||||
}
|
||||
.ps-item.ps-item2 {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.nav_con a,.nav_con a:hover{
|
||||
font-size: 17px !important;
|
||||
}
|
||||
|
||||
}
|
||||
16496
public/static/css/tur_main.css
Normal file
119
public/static/css/tur_reset.css
Normal file
@@ -0,0 +1,119 @@
|
||||
|
||||
/* CSS Document */
|
||||
html, body, div, span, input, iframe, map, font, img, a img, samp, hr, h1, h2, h3, h4, h5, h6, b, p, blockquote, a, address, code, dl, dt, dd, ol, ul, li, form, label, table, tr, td, th {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 0;
|
||||
font-weight: normal;
|
||||
font-family: 'Microsoft YaHei', Arial, Helvetica, sans-serif;
|
||||
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
-moz-box-sizing: border-box; /* Firefox */
|
||||
-webkit-box-sizing: border-box; /* Safari */
|
||||
}
|
||||
|
||||
ol, ul {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-size: 100%;
|
||||
}
|
||||
|
||||
a:link {
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
a:visited {
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
a:active {
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
a:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
a.hidefocus {
|
||||
outline: none
|
||||
}
|
||||
|
||||
.fl {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.fr {
|
||||
float: right;
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 100% !important
|
||||
}
|
||||
|
||||
input[type=text], input[type=button], input[type=submit] {
|
||||
-webkit-appearance: none; /*去除iPhone input默认样式}*/
|
||||
}
|
||||
|
||||
input {
|
||||
font-family: 'Microsoft YaHei', Arial, Helvetica, sans-serif;
|
||||
}
|
||||
|
||||
.clearfix:after {
|
||||
clear: both;
|
||||
content: '.';
|
||||
display: block;
|
||||
width: 0;
|
||||
height: 0;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.clearfix {
|
||||
zoom: 1;
|
||||
}
|
||||
|
||||
.container {
|
||||
width: 1200px;
|
||||
margin: 0 auto
|
||||
}
|
||||
|
||||
.dis {
|
||||
display: none
|
||||
}
|
||||
|
||||
body {
|
||||
font-size: 14px;
|
||||
background: #fff
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
1190
public/static/css/tur_style.css
Normal file
452
public/static/css/tur_zh_top.css
Normal file
@@ -0,0 +1,452 @@
|
||||
*{
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.zh_content{
|
||||
width: 100%;
|
||||
position: relative;
|
||||
}
|
||||
.swiper{
|
||||
width: 100%;
|
||||
height: auto;
|
||||
max-height: 620px;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
.swiper-slide {
|
||||
text-align: center;
|
||||
font-size: 18px;
|
||||
background: #fff;
|
||||
}
|
||||
.swiper-slide img{
|
||||
width: 100%;
|
||||
height: 550px;
|
||||
object-fit: cover;
|
||||
object-position: 0 -125px;
|
||||
}
|
||||
.swiper-slide-img{
|
||||
width: 100%;
|
||||
height: 750px;
|
||||
background:url('../image/bg.png') no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
@media (max-width: 1800px) and (min-width: 1140px){
|
||||
.swiper-slide-img{
|
||||
height: 650px !important;
|
||||
}
|
||||
}
|
||||
.zh_top{
|
||||
width: 100%;
|
||||
height: auto;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 200;
|
||||
}
|
||||
.zh_head{
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
/* border-bottom: 1px solid #ddd; */
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.zh_hcon{
|
||||
width: 1170px;
|
||||
margin: 0 auto;
|
||||
padding: 0px 68px;
|
||||
}
|
||||
.zh_head .zh_logo,.zh_head .zh_logo img{
|
||||
height: 60px;
|
||||
float: left;
|
||||
}
|
||||
.zh_hr{
|
||||
float: right;
|
||||
line-height: 40px;
|
||||
color: #fff;
|
||||
}
|
||||
.login_info_div {
|
||||
display: none;
|
||||
}
|
||||
.zh_hr a,.zh_hr span{
|
||||
color: #fff;
|
||||
margin-left: 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
.zh_hr span em{
|
||||
font-style: normal;
|
||||
font-size: 16px;
|
||||
}
|
||||
.white{
|
||||
background: #fff;
|
||||
box-shadow: 0 0 5px 5px rgba(0,0,0,0.1);
|
||||
}
|
||||
.white a,.white span{
|
||||
color: #333 !important;
|
||||
}
|
||||
|
||||
.blackbg {
|
||||
background-color: var(--main-color);
|
||||
/*background: url('../picture/heng.png');*/
|
||||
}
|
||||
|
||||
.zh_nav{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 0;
|
||||
height: 40px;
|
||||
}
|
||||
.nav_con{
|
||||
width: 1170px;
|
||||
margin: 0 auto;
|
||||
height: 70px;
|
||||
line-height: 70px;
|
||||
list-style: none;
|
||||
padding: 0px 68px;
|
||||
}
|
||||
.nav_con a{
|
||||
color: #fff;
|
||||
float: left;
|
||||
font-size: 16px;
|
||||
margin-right: 40px;
|
||||
}
|
||||
.nav_con a:hover{
|
||||
color: #fff;
|
||||
float: left;
|
||||
font-size: 16px;
|
||||
margin-right: 40px;
|
||||
}
|
||||
.zh_nav_btn{
|
||||
display: none;
|
||||
}
|
||||
.evus-main{
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
z-index: 100;
|
||||
top: 15%;
|
||||
left: 0;
|
||||
}
|
||||
.djcon{
|
||||
width: 1040px;
|
||||
margin: 0 auto;
|
||||
float: none;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px){
|
||||
.swiper-slide img {
|
||||
height: 450px !important;
|
||||
object-position: top !important;
|
||||
}
|
||||
.zh_top{
|
||||
height: auto;
|
||||
width: 100%;
|
||||
background: var(--main-color);
|
||||
}
|
||||
.zh_head,.zh_hcon{
|
||||
width: auto;
|
||||
float: left;
|
||||
border: none;
|
||||
margin-left: 10px;
|
||||
}
|
||||
.zh_hr{
|
||||
display: none;
|
||||
}
|
||||
.login_info_div {
|
||||
display: block;
|
||||
}
|
||||
.zh_nav{
|
||||
width: 100%;
|
||||
height: auto;
|
||||
margin-top: 60px;
|
||||
right: 0;
|
||||
left: 0;
|
||||
}
|
||||
.zh_nav_btn{
|
||||
position: absolute;
|
||||
right: 20px;
|
||||
top: 20px;
|
||||
width: 30px;
|
||||
height: auto;
|
||||
display: block;
|
||||
}
|
||||
.nav_con{
|
||||
width: 100%;
|
||||
height: auto;
|
||||
display: none;
|
||||
overflow: hidden;
|
||||
padding: 0 10% 10px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.nav_con li{
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.nav_con li:hover,.nav_con li.selected{
|
||||
background: #f3b78d;
|
||||
}
|
||||
.nav_con a{
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
}
|
||||
@media (max-width: 1020px){
|
||||
.djcon{
|
||||
width: 100%;
|
||||
/*padding-right: 20px;*/
|
||||
box-sizing: border-box;
|
||||
}
|
||||
}
|
||||
@media (max-width: 740px){
|
||||
.swiper {
|
||||
height: 0 !important;
|
||||
}
|
||||
.swiper-slide img{
|
||||
height: 450px !important;
|
||||
object-position: top !important;
|
||||
}
|
||||
.swiper-slide-img{
|
||||
background:url('../image/mobile.png') no-repeat;
|
||||
background-size: 100% 100%;
|
||||
height: 350px;
|
||||
}
|
||||
.layui-form-item .layui-form-label{
|
||||
word-wrap: break-word; /* 允许长单词或URL地址换行到下一行 */
|
||||
word-break: break-all; /* 强制文本进行换行 */
|
||||
white-space: normal; /* 允许文本在任意字符处换行 */
|
||||
|
||||
}
|
||||
.layui-form-radio div{
|
||||
display: inline;
|
||||
}
|
||||
.evus-main{
|
||||
top: 10px;
|
||||
bottom: 0;
|
||||
height: auto;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: inherit;
|
||||
}
|
||||
.form-cell {
|
||||
display: block;
|
||||
}
|
||||
.dj-box .fromto-box {
|
||||
width: 100% !important;
|
||||
}
|
||||
.form-cell .icon {
|
||||
display: none !important;
|
||||
}
|
||||
.zh_content{
|
||||
top: 60px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
}
|
||||
@media (min-width: 740px) and (max-width: 1024px){
|
||||
.swiper-slide-img{
|
||||
background: url(../image/bg.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.middle-box2{
|
||||
width: 95% !important;
|
||||
margin-left: 0px !important;
|
||||
}
|
||||
}
|
||||
@media (max-width: 1020px) and (min-width: 740px){
|
||||
|
||||
.swiper-slide-img{
|
||||
background:url('../image/bg.png') no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.evus-main {
|
||||
top: 25%;
|
||||
right: 5%;
|
||||
left: unset;
|
||||
}
|
||||
}
|
||||
.layui-layer-dialog .layui-layer-content .layui-layer-face{
|
||||
/*top: 45%;*/
|
||||
}
|
||||
.desc-box {
|
||||
display: flex;
|
||||
width: 1200px;
|
||||
justify-content: space-evenly;
|
||||
margin: 20px auto;
|
||||
/*border-bottom: 1px solid #e3e2e2;*/
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.desc-box>p {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
text-align: center;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.desc-box strong {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.middle-box2 {
|
||||
width: 75%;
|
||||
margin: 0 auto 20px auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.middle-box2 .image-box {
|
||||
height: 234px;
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
.middle-box2 img {
|
||||
width: 528px;
|
||||
height: 100%;
|
||||
border-radius: 30px;
|
||||
}
|
||||
|
||||
.middle-box2 svg {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
}
|
||||
|
||||
.middle-box2 h2 {
|
||||
font-size: 30px;
|
||||
font-weight: 600;
|
||||
line-height: 56px;
|
||||
}
|
||||
|
||||
.middle-box2 p {
|
||||
font-size: 1rem;
|
||||
line-height: 28px;
|
||||
}
|
||||
|
||||
.middle-box2 a {
|
||||
background: var(--main-color);
|
||||
padding: 20px 40px;
|
||||
border-radius: 30px;
|
||||
color: #ffffff;
|
||||
transition: all 400ms;
|
||||
}
|
||||
.middle-box2 a:hover {
|
||||
color: #ffffff;
|
||||
background-color: var(--main-color);
|
||||
}
|
||||
.middle-box2 button {
|
||||
background: none;
|
||||
border: none;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.middle-box2 .wh16 {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
.middle-box2 .mt30 {
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.middle-box2 .right-box {
|
||||
margin: 0 auto;
|
||||
display: grid;
|
||||
flex-direction: column;
|
||||
box-sizing: border-box;
|
||||
grid-template-rows: repeat(2, minmax(0,1fr));
|
||||
grid-template-columns: repeat(4, minmax(0,1fr));
|
||||
max-width: 1110px;
|
||||
}
|
||||
|
||||
.middle-box2 .right-box .item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
text-align: center;
|
||||
align-items: center;
|
||||
background: rgba(241, 249, 252, 1);
|
||||
margin: 5px;
|
||||
padding: 30px 20px;
|
||||
border-radius: 10px;
|
||||
transition: all 400ms;
|
||||
}
|
||||
|
||||
.middle-box2 .right-box .item:hover {
|
||||
cursor: pointer;
|
||||
background-color: var(--main-color);
|
||||
color: #ffffff;
|
||||
}
|
||||
.middle-box2 .right-box .item h6 {
|
||||
font-size: 1.25rem;
|
||||
line-height: 34px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.middle-box2 .right-box .item p {
|
||||
font-size: .875rem;
|
||||
}
|
||||
@media (max-width: 740px){
|
||||
.desc-box {
|
||||
width: 100%;
|
||||
display: block;
|
||||
/*margin: 70px auto 20px auto;*/
|
||||
}
|
||||
.zh_hcon {
|
||||
padding: 0px 0px;
|
||||
}
|
||||
.zh_head .zh_logo, .zh_head .zh_logo img{
|
||||
height: 35px;
|
||||
}
|
||||
.flex-center {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
.middle-box2 {
|
||||
padding: 10px;
|
||||
width: 100%;
|
||||
flex-direction: column;
|
||||
}
|
||||
.middle-box2 .right-box {
|
||||
margin-left: 0;
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
}
|
||||
}
|
||||
.dj-box .fromto-box {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 43%;
|
||||
}
|
||||
|
||||
.dj-box .fromto-box input {
|
||||
padding: 10px;
|
||||
border-radius: 5px;
|
||||
width: 100%;
|
||||
border: 1px solid gray;
|
||||
}
|
||||
.dj-box .fromto-box.date label {
|
||||
color: #205493;
|
||||
}
|
||||
.mr20 {
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
|
||||
.mt20 {
|
||||
margin-top: 20px;
|
||||
}
|
||||
@media (min-width: 740px) {
|
||||
.zh_head{
|
||||
height: 70px;
|
||||
}
|
||||
}
|
||||
.layui-container {
|
||||
padding-bottom: 30px;
|
||||
}
|
||||
body{
|
||||
background: #f8f8f8 !important;
|
||||
}
|
||||
487
public/static/css/user.css
Normal file
@@ -0,0 +1,487 @@
|
||||
.content{
|
||||
background: none !important;
|
||||
}
|
||||
.usercon{
|
||||
width: 100%;
|
||||
min-height: 300px;
|
||||
overflow: hidden;
|
||||
margin-top: 20px;
|
||||
display: flex;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
.user-tit{
|
||||
height: 50px;
|
||||
background: var(--main-color);
|
||||
width: 100%;
|
||||
line-height: 50px;
|
||||
font-size: 16px;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
}
|
||||
.user-tit2{
|
||||
text-align: left;
|
||||
text-indent: 20px;
|
||||
}
|
||||
.user-l{
|
||||
float: left;
|
||||
width: 250px;
|
||||
min-height: 300px;
|
||||
background: #fff;
|
||||
margin-right: 15px;
|
||||
}
|
||||
.user-a{
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
display: block;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
border-bottom: 5px solid #f0f0f0;
|
||||
color: #000;
|
||||
}
|
||||
.user-a.user-on{
|
||||
color: var(--main-color);
|
||||
border-bottom: 5px solid var(--main-color);
|
||||
}
|
||||
.user-a:hover{
|
||||
border-bottom: 5px solid var(--main-color);
|
||||
}
|
||||
.user-r{
|
||||
flex: 1;
|
||||
min-height: 300px;
|
||||
background: #fff;
|
||||
}
|
||||
.user-none{
|
||||
line-height: 200px;
|
||||
text-align: center;
|
||||
}
|
||||
.user-c{
|
||||
width: 100%;
|
||||
margin-top: 10px;
|
||||
}
|
||||
ul li{
|
||||
list-style: none;
|
||||
}
|
||||
.user-xx{
|
||||
width: 94%;
|
||||
border: 1px solid #ddd;
|
||||
float: left;
|
||||
margin: 15px 0 15px 3%;
|
||||
line-height: 40px;
|
||||
border-radius: 4px;
|
||||
/*background: #eee;*/
|
||||
}
|
||||
.user-xx li{
|
||||
width: 100%;
|
||||
padding: 0 20px;
|
||||
box-sizing: border-box;
|
||||
overflow: hidden;
|
||||
}
|
||||
.user-xx li:nth-child(even){
|
||||
background: #fff;
|
||||
}
|
||||
.user-xx li span{
|
||||
width: 18%;
|
||||
float: left;
|
||||
display: block;
|
||||
}
|
||||
.user-xx li span:nth-child(even){
|
||||
width: 32%;
|
||||
}
|
||||
.user-xx li a{
|
||||
color: var(--main-color);
|
||||
float: right;
|
||||
padding: 0 15px;
|
||||
line-height: 28px;
|
||||
margin: 6px 0 6px 15px;
|
||||
display: inline-block;
|
||||
border-radius: 4px;
|
||||
background: var(--main-color);
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
}
|
||||
.user-xx li a:hover{
|
||||
color: #fff;
|
||||
}
|
||||
.dd-type{
|
||||
width: 94%;
|
||||
margin: 0 3%;
|
||||
box-sizing: border-box;
|
||||
height: 44px;
|
||||
background: #eee;
|
||||
border: 1px solid #ddd;
|
||||
display: block;
|
||||
}
|
||||
.dd-type span{
|
||||
float: left;
|
||||
width: 50%;
|
||||
height: 44px;
|
||||
line-height: 44px;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
.dd-type .dd-type-on{
|
||||
color: var(--main-color);
|
||||
height: 42px;
|
||||
border: 2px solid var(--main-color);
|
||||
}
|
||||
.xx-con{
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
.xx-con2{
|
||||
display: none;
|
||||
}
|
||||
.form-btn {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
text-align: center;
|
||||
line-height: 50px;
|
||||
color: #fff;
|
||||
font-size: 18px;
|
||||
background: var(--main-color);
|
||||
margin: 15px 0;
|
||||
border-radius: 8px;
|
||||
border-radius: 2px solid var(--main-color);
|
||||
}
|
||||
|
||||
|
||||
@media(max-width:700px) {
|
||||
.layui-container{
|
||||
margin-top:70px;
|
||||
}
|
||||
.usercon{
|
||||
margin-top: 30px;
|
||||
flex-direction: column;
|
||||
}
|
||||
.user-l{
|
||||
width: 100%;
|
||||
min-height:unset;
|
||||
display: flex;
|
||||
}
|
||||
.user-a{
|
||||
width: 50%;
|
||||
}
|
||||
.user-tit{
|
||||
display: none;
|
||||
}
|
||||
|
||||
}
|
||||
.input-group{
|
||||
width: 100%;
|
||||
}
|
||||
.submenu a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.user-a1 {
|
||||
display: block;
|
||||
padding-left: 20px !important;
|
||||
}
|
||||
|
||||
.mobile-menu-group {
|
||||
height: 50px;
|
||||
background: var(--main-color);
|
||||
width: 100%;
|
||||
line-height: 50px;
|
||||
font-size: 16px;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.menu-toggle {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.mobile-menu-group {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.menu-title {
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
padding-right: 30px !important;
|
||||
display: block;
|
||||
color: #fff;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.arrow-icon {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
transition: transform 0.3s;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-left: 5px solid transparent;
|
||||
border-right: 5px solid transparent;
|
||||
border-top: 5px solid #fff;
|
||||
}
|
||||
|
||||
.submenu {
|
||||
max-height: 0;
|
||||
overflow: visible;
|
||||
transition: max-height 0.3s ease-out;
|
||||
background: #fff;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.submenu a {
|
||||
color: #000;
|
||||
padding: 0 !important;
|
||||
line-height: 40px;
|
||||
height: 40px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.menu-toggle:checked ~ .submenu {
|
||||
max-height: 200px;
|
||||
}
|
||||
|
||||
.menu-toggle:checked ~ .menu-title .arrow-icon {
|
||||
transform: translateY(-50%) rotate(180deg);
|
||||
}
|
||||
|
||||
@media (max-width: 700px) {
|
||||
.submenu {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.arrow-icon {
|
||||
border-top: 5px solid #333;
|
||||
}
|
||||
|
||||
.submenu {
|
||||
background: var(--main-color);
|
||||
}
|
||||
|
||||
.menu-title {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.submenu a {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/* 移动端优先的响应式布局 */
|
||||
.user-l {
|
||||
flex-wrap: wrap; /* 菜单项自动换行 */
|
||||
padding: 10px 0;
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
|
||||
.user-a {
|
||||
width: 31%; /* 两列布局 */
|
||||
margin: 5px 1%;
|
||||
text-align: center;
|
||||
background: #f8f8f8;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.user-tit {
|
||||
width: 100%; /* 标题独占一行 */
|
||||
padding: 10px 0;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.user-r {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
body {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.user-xx li span {
|
||||
min-width: 30% !important;
|
||||
width: auto !important;
|
||||
}
|
||||
|
||||
.user-tit2 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.user-xx li {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.user-xx li:nth-child(even) {
|
||||
background: #fff !important;
|
||||
}
|
||||
|
||||
.user-xx li:nth-child(odd) {
|
||||
background: #eee !important;
|
||||
}
|
||||
|
||||
.usercon {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.container {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.user-r {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 700px) {
|
||||
.user-xx li span {
|
||||
min-width: 30% !important;
|
||||
width: auto !important;
|
||||
}
|
||||
|
||||
.user-xx li {
|
||||
width: 50%;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.user-xx li a {
|
||||
float: left;
|
||||
margin: 6px 15px 6px 0;
|
||||
}
|
||||
}
|
||||
.add {
|
||||
float: right;
|
||||
padding: 0 25px;
|
||||
line-height: 34px;
|
||||
margin: 10px 3% 0 0;
|
||||
display: inline-block;
|
||||
border-radius: 4px;
|
||||
background: var(--main-color);
|
||||
color: #fff;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.cont2,
|
||||
.cont3,
|
||||
.cont4,
|
||||
.cont5 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.djtable {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.djtable2 {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.container-tit {
|
||||
width: 100%;
|
||||
font-size: 20px;
|
||||
color: var(--main-color);
|
||||
line-height: 50px;
|
||||
}
|
||||
|
||||
.container-con {
|
||||
width: 100%;
|
||||
line-height: 24px;
|
||||
margin-bottom: 10px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.djtable {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.djtable table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
border: 2px solid var(--main-color);
|
||||
}
|
||||
|
||||
.djtable th,
|
||||
.djtable td {
|
||||
text-align: center;
|
||||
border: 1px solid var(--main-color);
|
||||
height: 40px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.djtable th {
|
||||
color: #fff;
|
||||
background: var(--main-color);
|
||||
}
|
||||
|
||||
.djtable td {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.djtable2 table {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
line-height: 36px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.djtable2 tr {
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
|
||||
.djtable2 th {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.djtable2 td {
|
||||
color: #666;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.formrow {
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.m-help ul {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.btn-primary:hover {
|
||||
background: #337ab7 !important;
|
||||
}
|
||||
|
||||
.modal-open .modal .modal-dialog.modal-txt {
|
||||
max-height: 550px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.nodata {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
padding: 20px 0px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.nodata a {
|
||||
width: 30%;
|
||||
height: 40px;
|
||||
margin: 10px;
|
||||
line-height: 40px;
|
||||
display: inline-block;
|
||||
border-radius: 4px;
|
||||
background: var(--main-color);
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@media (max-width: 700px) {
|
||||
.user-l {
|
||||
width: 100%;
|
||||
min-height: unset;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.user-tit {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.usercon {
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
193
public/static/css/visa.css
Normal file
@@ -0,0 +1,193 @@
|
||||
|
||||
#Form2, #Form3, #Form3 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 450px) {
|
||||
.layui-form-item .layui-input-inline {
|
||||
margin: 0;
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.layui-input-block {
|
||||
min-height: 44px;
|
||||
}
|
||||
|
||||
.layui-layer-photos {
|
||||
background: #FFFFFF;
|
||||
}
|
||||
|
||||
#person_img_preview {
|
||||
margin-top: 10px;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.image-item {
|
||||
position: relative;
|
||||
width: 120px;
|
||||
height: 120px;
|
||||
}
|
||||
|
||||
.image-item img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border: 1px solid #e6e6e6;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.image-item .delete-image {
|
||||
position: absolute;
|
||||
top: -15px;
|
||||
right: -15px;
|
||||
}
|
||||
|
||||
/* 修改选中项的背景颜色和字体颜色 */
|
||||
xm-select .xm-label .xm-label-block {
|
||||
background-color: var(--main-color) !important; /* 蓝色背景 */
|
||||
}
|
||||
|
||||
/* 修改下拉框选项的悬停背景颜色 */
|
||||
xm-select .xm-body .selected .xm-option-icon {
|
||||
color: var(--main-color) !important; /* 蓝色背景 */
|
||||
}
|
||||
|
||||
.layui-container {
|
||||
/*margin-top: 30px !important;*/
|
||||
}
|
||||
|
||||
.layui-form-item .layui-inline {
|
||||
width: 45%;
|
||||
}
|
||||
|
||||
.layui-input-block {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.layui-form-label {
|
||||
position: relative;
|
||||
float: none;
|
||||
display: block;
|
||||
padding: 9px 15px;
|
||||
width: 100%;
|
||||
font-weight: 400;
|
||||
line-height: 20px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.layui-form-mid.layui-word-aux {
|
||||
color: #999; /* 提示文字颜色 */
|
||||
font-size: 12px; /* 字号 */
|
||||
margin-top: 5px; /* 提示信息与输入框的间距 */
|
||||
}
|
||||
|
||||
.layui-input-group {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.layui-input-group .layui-input-group-prepend {
|
||||
width: 150px; /* 设置下拉框宽度 */
|
||||
}
|
||||
|
||||
.layui-btn {
|
||||
background-color: var(--main-color);
|
||||
}
|
||||
|
||||
/* 针对电脑端留空 */
|
||||
@media (min-width: 768px) {
|
||||
.layui-col-md6 {
|
||||
padding-right: 50px; /* 留空区域 */
|
||||
}
|
||||
|
||||
.layui-col-xs12 {
|
||||
padding-right: 20px; /* 在手机端,使用 margin-bottom 让元素之间有间隔 */
|
||||
}
|
||||
}
|
||||
|
||||
/* 针对手机端留空 */
|
||||
@media (max-width: 767px) {
|
||||
.layui-col-xs12 {
|
||||
padding-right: 20px; /* 在手机端,使用 margin-bottom 让元素之间有间隔 */
|
||||
}
|
||||
|
||||
.layui-container {
|
||||
/*margin-top: 80px !important;*/
|
||||
/*height: auto !important;*/
|
||||
}
|
||||
}
|
||||
|
||||
/* 修改radio选中时的整体颜色,包括圆圈和文字 */
|
||||
.layui-form-radioed,
|
||||
.layui-form-radioed > i {
|
||||
color: var(--main-color) !important; /* 修改选中状态的颜色 */
|
||||
}
|
||||
|
||||
/* 修改悬停时的整体颜色 */
|
||||
.layui-form-radio:hover,
|
||||
.layui-form-radio:hover > i,
|
||||
.layui-form-radio:hover > div {
|
||||
color: var(--main-color) !important; /* 修改悬停状态的颜色 */
|
||||
}
|
||||
|
||||
/* 修改未选中状态下的文字和圆圈颜色 */
|
||||
.layui-form-radio > i {
|
||||
color: var(--main-color) /* 默认状态的圆圈颜色 */
|
||||
}
|
||||
|
||||
.layui-laydate .layui-this, .layui-laydate .layui-this > div {
|
||||
background-color: var(--main-color) !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.layui-form-select dl dd.layui-this {
|
||||
background-color: #f8f8f8;
|
||||
color: var(--main-color);
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.layui-form-checked[lay-skin=primary] > i {
|
||||
border-color: var(--main-color) !important;
|
||||
background-color: var(--main-color);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.layui-layer-btn .layui-layer-btn0 {
|
||||
border-color: transparent;
|
||||
background-color: var(--main-color);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.layui-form-label {
|
||||
font-weight: 600;
|
||||
font-size: 18px;
|
||||
color: #505050;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
.layui-input-wrap {
|
||||
line-height: 44px;
|
||||
}
|
||||
|
||||
.layui-input {
|
||||
height: 44px !important;
|
||||
}
|
||||
|
||||
.select[readonly] {
|
||||
background-color: #fff;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control, fieldset[disabled] input[type=text], fieldset[disabled] input[type=email], fieldset[disabled] input[type=number], fieldset[disabled] input[type=password], fieldset[disabled] input[type=phone], fieldset[disabled] select, input[disabled][type=text], input[disabled][type=email], input[disabled][type=number], input[disabled][type=password], input[disabled][type=phone], input[readonly][type=text], input[readonly][type=email], input[readonly][type=number], input[readonly][type=password], input[readonly][type=phone], select[disabled], select[readonly] {
|
||||
background-color: #fff;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.layui-layer-page .layui-layer-content {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.layui-form-item span {
|
||||
color: #f00;
|
||||
}
|
||||
453
public/static/css/wepay.css
Normal file
@@ -0,0 +1,453 @@
|
||||
.wepay-page {
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background: #f5f7fb;
|
||||
}
|
||||
|
||||
.wepay-shell {
|
||||
flex: 1;
|
||||
width: 100%;
|
||||
padding: 48px 15px 64px;
|
||||
}
|
||||
|
||||
.wepay-card {
|
||||
max-width: 1120px;
|
||||
margin: 0 auto;
|
||||
overflow: hidden;
|
||||
background: #fff;
|
||||
border: 1px solid #e8edf3;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 18px 45px rgba(20, 34, 54, .08);
|
||||
}
|
||||
|
||||
.wepay-card__head {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 24px;
|
||||
padding: 28px 32px;
|
||||
color: #fff;
|
||||
background: var(--main-color);
|
||||
}
|
||||
|
||||
.wepay-card__head h1 {
|
||||
margin: 6px 0 0;
|
||||
font-size: 24px;
|
||||
line-height: 1.35;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.wepay-card__head img {
|
||||
height: 30px;
|
||||
max-width: 180px;
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
.wepay-eyebrow {
|
||||
margin: 0;
|
||||
font-size: 13px;
|
||||
line-height: 1.4;
|
||||
letter-spacing: 0;
|
||||
opacity: .82;
|
||||
}
|
||||
|
||||
.wepay-summary {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 1px;
|
||||
background: #e8edf3;
|
||||
}
|
||||
|
||||
.wepay-summary > div {
|
||||
padding: 20px 32px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.wepay-summary span {
|
||||
display: block;
|
||||
margin-bottom: 8px;
|
||||
color: #6d7785;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.wepay-summary strong {
|
||||
color: #172033;
|
||||
font-size: 20px;
|
||||
line-height: 1.3;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.wepay-summary .wepay-amount {
|
||||
color: #e25a2c;
|
||||
}
|
||||
|
||||
.wepay-methods {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(190px, 1fr) minmax(190px, 1fr) 320px;
|
||||
gap: 24px;
|
||||
padding: 32px;
|
||||
}
|
||||
|
||||
.wepay-method,
|
||||
.wepay-guide {
|
||||
border: 1px solid #e8edf3;
|
||||
border-radius: 8px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.wepay-method {
|
||||
padding: 22px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.wepay-method__title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 10px;
|
||||
min-height: 44px;
|
||||
margin-bottom: 18px;
|
||||
color: #172033;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.wepay-method__title img {
|
||||
max-width: 92px;
|
||||
max-height: 34px;
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
.wepay-qr {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 190px;
|
||||
height: 190px;
|
||||
padding: 12px;
|
||||
border: 1px solid #dfe5ec;
|
||||
border-radius: 8px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.wepay-qr img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
.wepay-guide {
|
||||
padding: 24px;
|
||||
background: #f9fbfd;
|
||||
}
|
||||
|
||||
.wepay-guide img {
|
||||
display: block;
|
||||
width: 150px;
|
||||
height: 210px;
|
||||
margin: 0 auto 16px;
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
.wepay-guide h2 {
|
||||
margin: 0 0 10px;
|
||||
color: #172033;
|
||||
font-size: 18px;
|
||||
line-height: 1.35;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.wepay-guide p {
|
||||
margin: 0;
|
||||
color: #5f6977;
|
||||
font-size: 14px;
|
||||
line-height: 1.7;
|
||||
}
|
||||
|
||||
.wepay-waiting {
|
||||
margin-top: 18px;
|
||||
padding: 10px 12px;
|
||||
color: var(--main-color);
|
||||
font-size: 14px;
|
||||
text-align: center;
|
||||
background: #fff;
|
||||
border: 1px solid #e8edf3;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.wepay-success {
|
||||
max-width: 820px;
|
||||
padding: 48px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.wepay-success__mark {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
margin-bottom: 18px;
|
||||
color: #fff;
|
||||
font-size: 40px;
|
||||
font-weight: 700;
|
||||
background: var(--main-color);
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.wepay-success h1 {
|
||||
margin: 8px 0 14px;
|
||||
color: #172033;
|
||||
font-size: 28px;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
.wepay-success__order,
|
||||
.wepay-success__desc {
|
||||
margin: 0 auto 12px;
|
||||
max-width: 680px;
|
||||
color: #4d5968;
|
||||
font-size: 16px;
|
||||
line-height: 1.7;
|
||||
}
|
||||
|
||||
.wepay-success__order strong {
|
||||
color: #e25a2c;
|
||||
}
|
||||
|
||||
.wepay-success__tips {
|
||||
margin: 28px auto 0;
|
||||
max-width: 720px;
|
||||
padding: 20px 24px;
|
||||
color: #4d5968;
|
||||
text-align: left;
|
||||
background: #f9fbfd;
|
||||
border: 1px solid #e8edf3;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.wepay-success__tips p {
|
||||
margin: 0 0 10px;
|
||||
font-size: 15px;
|
||||
line-height: 1.7;
|
||||
}
|
||||
|
||||
.wepay-success__tips p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.wepay-button {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-width: 168px;
|
||||
min-height: 46px;
|
||||
margin-top: 28px;
|
||||
padding: 0 24px;
|
||||
color: #fff;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
background: var(--main-color);
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.wepay-button:hover {
|
||||
color: #fff;
|
||||
opacity: .92;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 992px) {
|
||||
.wepay-methods {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
|
||||
.wepay-guide {
|
||||
grid-column: 1 / -1;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 640px) {
|
||||
.wepay-shell {
|
||||
padding-top: 28px;
|
||||
}
|
||||
|
||||
.wepay-card__head,
|
||||
.wepay-summary,
|
||||
.wepay-methods {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.wepay-card__head {
|
||||
padding: 24px 20px;
|
||||
}
|
||||
|
||||
.wepay-card__head img {
|
||||
margin-top: 18px;
|
||||
}
|
||||
|
||||
.wepay-summary > div {
|
||||
padding: 18px 20px;
|
||||
border-bottom: 1px solid #e8edf3;
|
||||
}
|
||||
|
||||
.wepay-methods {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.wepay-method,
|
||||
.wepay-guide {
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.wepay-qr {
|
||||
width: 180px;
|
||||
height: 180px;
|
||||
}
|
||||
|
||||
.wepay-success {
|
||||
padding: 36px 20px;
|
||||
}
|
||||
|
||||
.wepay-success h1 {
|
||||
font-size: 24px;
|
||||
}
|
||||
}
|
||||
|
||||
.wepay-result-card {
|
||||
max-width: 860px;
|
||||
margin: 0 auto;
|
||||
padding: 46px 48px;
|
||||
color: #172033;
|
||||
text-align: center;
|
||||
background: #fff;
|
||||
border: 1px solid #e8edf3;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 18px 45px rgba(20, 34, 54, .08);
|
||||
}
|
||||
|
||||
.wepay-result-icon {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
margin-bottom: 18px;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.wepay-result-icon--success {
|
||||
color: #fff;
|
||||
font-size: 40px;
|
||||
font-weight: 700;
|
||||
background: var(--main-color);
|
||||
}
|
||||
|
||||
.wepay-result-icon--pending {
|
||||
background: #f5f7fb;
|
||||
border: 1px solid #e8edf3;
|
||||
}
|
||||
|
||||
.wepay-success-detail h1,
|
||||
.payment-pending-title {
|
||||
margin: 8px 0 16px;
|
||||
color: #172033;
|
||||
font-size: 28px;
|
||||
line-height: 1.3;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.wepay-success-order,
|
||||
.payment-pending-order {
|
||||
margin: 0 auto 16px;
|
||||
max-width: 700px;
|
||||
color: #8a1f11;
|
||||
font-size: 18px;
|
||||
line-height: 1.7;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.wepay-success-text,
|
||||
.payment-pending-text {
|
||||
margin: 0 auto 12px;
|
||||
max-width: 720px;
|
||||
color: #4d5968;
|
||||
font-size: 16px;
|
||||
line-height: 1.8;
|
||||
}
|
||||
|
||||
.wepay-contact-text {
|
||||
margin: 22px auto 0;
|
||||
max-width: 720px;
|
||||
color: #d63622;
|
||||
font-size: 18px;
|
||||
line-height: 1.7;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.payment-pending {
|
||||
max-width: 760px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.payment-pending-status {
|
||||
display: inline-block;
|
||||
margin: 10px 0 12px;
|
||||
padding: 10px 14px;
|
||||
color: #9a5a00;
|
||||
font-size: 15px;
|
||||
line-height: 1.6;
|
||||
background: #fff8e7;
|
||||
border: 1px solid #f1dfb6;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.payment-spinner {
|
||||
display: inline-block;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
border: 3px solid #dfe5ec;
|
||||
border-top-color: var(--main-color);
|
||||
border-radius: 50%;
|
||||
animation: wepay-spin .8s linear infinite;
|
||||
}
|
||||
|
||||
.wepay-actions {
|
||||
margin-top: 28px;
|
||||
}
|
||||
|
||||
.wepay-button--ghost {
|
||||
color: var(--main-color);
|
||||
background: #fff;
|
||||
border: 1px solid var(--main-color);
|
||||
}
|
||||
|
||||
.wepay-button--ghost:hover {
|
||||
color: var(--main-color);
|
||||
background: #f7fbff;
|
||||
}
|
||||
|
||||
@keyframes wepay-spin {
|
||||
from {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
to {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 640px) {
|
||||
.wepay-result-card {
|
||||
padding: 34px 20px;
|
||||
}
|
||||
|
||||
.wepay-success-detail h1,
|
||||
.payment-pending-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.wepay-success-order,
|
||||
.payment-pending-order {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
5
public/static/css/weui.min.css
vendored
Normal file
BIN
public/static/image/bg.png
Normal file
|
After Width: | Height: | Size: 721 KiB |
BIN
public/static/image/icon-arrow.png
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
public/static/image/icon-down.png
Normal file
|
After Width: | Height: | Size: 9.6 KiB |
BIN
public/static/image/icon-infor.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
public/static/image/icon-up2.png
Normal file
|
After Width: | Height: | Size: 9.9 KiB |
BIN
public/static/image/icon.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
public/static/image/malaixiya.jpg
Normal file
|
After Width: | Height: | Size: 262 KiB |
BIN
public/static/image/map.jpg
Normal file
|
After Width: | Height: | Size: 83 KiB |
BIN
public/static/image/menu.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
public/static/image/micon-arrow.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
public/static/image/mobile.png
Normal file
|
After Width: | Height: | Size: 322 KiB |
BIN
public/static/image/pay/card-guide.png
Normal file
|
After Width: | Height: | Size: 1.6 MiB |
BIN
public/static/image/pay/logo_amex.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
public/static/image/pay/logo_cb.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
public/static/image/pay/logo_diners.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
public/static/image/pay/logo_discover.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
public/static/image/pay/logo_jcb.png
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
public/static/image/pay/logo_mastercard.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
public/static/image/pay/logo_paypal.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
31
public/static/image/pay/pay.svg
Normal file
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="246px" height="60px" viewBox="0 0 246 60" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 3.6 (26304) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>pp_fc_hl</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs>
|
||||
<path id="path-1" d="M0.0363636364,60 L245.244848,60 L245.244848,0.497575758 L0.0363636364,0.497575758 L0.0363636364,60 L0.0363636364,60 Z"></path>
|
||||
</defs>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="pp_fc_hl">
|
||||
<g id="pp_h_rgb">
|
||||
<path d="M190.421818,26.4321212 C189.684848,31.2727273 185.987879,31.2727273 182.412121,31.2727273 L180.377576,31.2727273 L181.804848,22.2351515 C181.890909,21.6890909 182.361818,21.2866667 182.915152,21.2866667 L183.847879,21.2866667 C186.281212,21.2866667 188.580606,21.2866667 189.766061,22.6733333 C190.475152,23.5030303 190.689697,24.7327273 190.421818,26.4321212 L190.421818,26.4321212 Z M188.865455,13.8036364 L175.38,13.8036364 C174.458182,13.8036364 173.673333,14.4745455 173.529697,15.3854545 L168.07697,49.9630303 C167.969091,50.6448485 168.496364,51.2618182 169.187273,51.2618182 L176.106061,51.2618182 C176.751515,51.2618182 177.301212,50.7921212 177.401212,50.1545455 L178.947879,40.3521212 C179.091515,39.4412121 179.876364,38.770303 180.798182,38.770303 L185.065455,38.770303 C193.947879,38.770303 199.073939,34.4715152 200.413939,25.9521212 C201.01697,22.2260606 200.438182,19.2981818 198.693333,17.2484848 C196.775758,14.9951515 193.37697,13.8036364 188.865455,13.8036364 L188.865455,13.8036364 Z" id="Fill-1" fill="#2790C3"></path>
|
||||
<path d="M94.2418182,26.4321212 C93.5048485,31.2727273 89.8078788,31.2727273 86.2327273,31.2727273 L84.1981818,31.2727273 L85.6248485,22.2351515 C85.7115152,21.6890909 86.1824242,21.2866667 86.7351515,21.2866667 L87.6678788,21.2866667 C90.1018182,21.2866667 92.4012121,21.2866667 93.5860606,22.6733333 C94.2957576,23.5030303 94.510303,24.7327273 94.2418182,26.4321212 L94.2418182,26.4321212 Z M92.6860606,13.8036364 L79.2006061,13.8036364 C78.2787879,13.8036364 77.4939394,14.4745455 77.350303,15.3854545 L71.8969697,49.9630303 C71.789697,50.6448485 72.3169697,51.2618182 73.0072727,51.2618182 L79.4460606,51.2618182 C80.3678788,51.2618182 81.1533333,50.5909091 81.2969697,49.6806061 L82.7684848,40.3521212 C82.9115152,39.4412121 83.6969697,38.770303 84.6187879,38.770303 L88.8860606,38.770303 C97.7678788,38.770303 102.894545,34.4715152 104.234545,25.9521212 C104.837576,22.2260606 104.258788,19.2981818 102.513939,17.2484848 C100.595758,14.9951515 97.1969697,13.8036364 92.6860606,13.8036364 L92.6860606,13.8036364 Z" id="Fill-2" fill="#27346A"></path>
|
||||
<path d="M123.992121,38.8454545 C123.368485,42.5351515 120.439394,45.0121212 116.703636,45.0121212 C114.830909,45.0121212 113.331515,44.409697 112.367879,43.2690909 C111.412727,42.1381818 111.053333,40.5272727 111.355758,38.7333333 C111.937576,35.0769697 114.913333,32.52 118.592121,32.52 C120.426061,32.52 121.914545,33.1284848 122.897576,34.2793939 C123.886667,35.4387879 124.275152,37.0606061 123.992121,38.8454545 L123.992121,38.8454545 Z M132.990909,26.2775758 L126.533939,26.2775758 C125.980606,26.2775758 125.509697,26.6793939 125.423636,27.2266667 L125.139394,29.0321212 L124.687879,28.3775758 C123.289697,26.3478788 120.173333,25.669697 117.061212,25.669697 C109.927273,25.669697 103.833333,31.0757576 102.647273,38.6581818 C102.029697,42.4406061 102.906061,46.0551515 105.050909,48.5781818 C107.021212,50.8963636 109.833333,51.8612121 113.183636,51.8612121 C118.933939,51.8612121 122.12303,48.1672727 122.12303,48.1672727 L121.834545,49.9618182 C121.726667,50.6442424 122.253939,51.2618182 122.944848,51.2618182 L128.76,51.2618182 C129.681818,51.2618182 130.466667,50.5915152 130.610303,49.6806061 L134.101212,27.5763636 C134.209091,26.8939394 133.681818,26.2775758 132.990909,26.2775758 L132.990909,26.2775758 Z" id="Fill-3" fill="#27346A"></path>
|
||||
<path d="M220.171515,38.8454545 C219.547879,42.5351515 216.619394,45.0121212 212.883636,45.0121212 C211.010303,45.0121212 209.511515,44.409697 208.547273,43.2690909 C207.592121,42.1381818 207.232727,40.5272727 207.535758,38.7333333 C208.11697,35.0769697 211.092727,32.52 214.772121,32.52 C216.605455,32.52 218.094545,33.1284848 219.07697,34.2793939 C220.066061,35.4387879 220.454545,37.0606061 220.171515,38.8454545 L220.171515,38.8454545 Z M229.170303,26.2775758 L222.713333,26.2775758 C222.16,26.2775758 221.689091,26.6793939 221.60303,27.2266667 L221.318788,29.0321212 L220.867879,28.3775758 C219.469091,26.3478788 216.352727,25.669697 213.240606,25.669697 C206.107273,25.669697 200.012727,31.0757576 198.826667,38.6581818 C198.209697,42.4406061 199.086061,46.0551515 201.230303,48.5781818 C203.201212,50.8963636 206.012727,51.8612121 209.36303,51.8612121 C215.113333,51.8612121 218.302424,48.1672727 218.302424,48.1672727 L218.014545,49.9618182 C217.906061,50.6442424 218.433333,51.2618182 219.124848,51.2618182 L224.939394,51.2618182 C225.861212,51.2618182 226.646061,50.5915152 226.790303,49.6806061 L230.280606,27.5763636 C230.388485,26.8939394 229.861212,26.2775758 229.170303,26.2775758 L229.170303,26.2775758 Z" id="Fill-4" fill="#2790C3"></path>
|
||||
<g id="Group-10">
|
||||
<mask id="mask-2" fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<g id="Clip-6"></g>
|
||||
<path d="M167.381818,26.2775758 L160.891515,26.2775758 C160.270909,26.2775758 159.690303,26.5854545 159.341818,27.0987879 L150.389091,40.2848485 L146.594545,27.6139394 C146.357576,26.8212121 145.627879,26.2775758 144.8,26.2775758 L138.42,26.2775758 C137.649697,26.2775758 137.107273,27.0351515 137.355758,27.7642424 L144.502424,48.7412121 L137.780606,58.2260606 C137.252727,58.970303 137.785455,60 138.697576,60 L145.181818,60 C145.796364,60 146.371515,59.6987879 146.721818,59.1933333 L168.306061,28.0424242 C168.822424,27.2969697 168.289091,26.2775758 167.381818,26.2775758" id="Fill-5" fill="#27346A" mask="url(#mask-2)"></path>
|
||||
<path d="M236.781212,14.7533333 L231.246667,49.9630303 C231.139394,50.6454545 231.666667,51.2618182 232.35697,51.2618182 L237.923636,51.2618182 C238.845455,51.2618182 239.630303,50.5909091 239.773939,49.6806061 L245.230909,15.1030303 C245.338788,14.4206061 244.811515,13.8036364 244.120606,13.8036364 L237.891515,13.8036364 C237.338182,13.8036364 236.867273,14.2066667 236.781212,14.7533333" id="Fill-7" fill="#2790C3" mask="url(#mask-2)"></path>
|
||||
<path d="M25.5466667,57.5484848 L27.3593939,46.0539394 L27.4763636,45.4169697 C27.5636364,44.8630303 27.8472727,44.3563636 28.2745455,43.9915152 C28.7018182,43.6266667 29.2466667,43.4254545 29.8084848,43.4254545 L31.2478788,43.4254545 C33.6472727,43.4254545 35.8515152,43.1690909 37.8,42.6636364 C39.8787879,42.1248485 41.7278788,41.2854545 43.2951515,40.1709091 C44.9569697,38.9890909 46.3527273,37.4612121 47.4442424,35.6309091 C48.5957576,33.7 49.4412121,31.3751515 49.9575758,28.7218182 C50.4139394,26.3787879 50.4993939,24.2812121 50.2127273,22.4866667 C49.9090909,20.5909091 49.1787879,18.9733333 48.0424242,17.6775758 C47.3533333,16.8927273 46.4715152,16.2127273 45.4218182,15.6563636 L45.3969697,15.6430303 L45.3963636,15.6127273 C45.7630303,13.2739394 45.7490909,11.3230303 45.3545455,9.64363636 C44.9581818,7.96060606 44.1557576,6.44606061 42.8993939,5.01454545 C40.2963636,2.04848485 35.5618182,0.544242424 28.8278788,0.544242424 L10.3339394,0.544242424 C9.71575758,0.544242424 9.11575758,0.765454545 8.64545455,1.16727273 C8.17515152,1.56909091 7.86363636,2.12727273 7.76666667,2.73818182 L0.0660606061,51.570303 C-0.00424242424,52.0157576 0.123636364,52.4684848 0.416969697,52.810303 C0.71030303,53.1539394 1.1369697,53.3509091 1.58787879,53.3509091 L13.0612121,53.3509091 L13.0509091,53.4054545 L12.2630303,58.4018182 C12.2024242,58.790303 12.3139394,59.1842424 12.5690909,59.4824242 C12.8242424,59.7812121 13.1957576,59.9533333 13.5884848,59.9533333 L23.2115152,59.9533333 C23.7515152,59.9533333 24.2745455,59.76 24.6848485,59.4090909 C25.0951515,59.0581818 25.3678788,58.5715152 25.4521212,58.0387879 L25.5466667,57.5484848" id="Fill-8" fill="#27346A" mask="url(#mask-2)"></path>
|
||||
<path d="M18.9539394,15.6763636 C19.0757576,14.9024242 19.5721212,14.2690909 20.2406061,13.9484848 C20.5448485,13.8030303 20.8842424,13.7218182 21.24,13.7218182 L35.7363636,13.7218182 C37.4539394,13.7218182 39.0551515,13.8345455 40.5193939,14.070303 C40.9375758,14.1375758 41.3442424,14.2151515 41.74,14.3030303 C42.1357576,14.3909091 42.5193939,14.4884848 42.8909091,14.5975758 C43.0769697,14.6515152 43.2593939,14.7084848 43.4393939,14.7684848 C44.1581818,15.0072727 44.8272727,15.2884848 45.4430303,15.6145455 C46.1690909,10.9860606 45.4381818,7.83636364 42.9345455,4.98363636 C40.1781818,1.8430303 35.1987879,0.497575758 28.8278788,0.497575758 L10.3339394,0.497575758 C9.03212121,0.497575758 7.92363636,1.44484848 7.72060606,2.73090909 L0.02,51.5630303 C-0.132121212,52.5266667 0.612727273,53.3975758 1.58787879,53.3975758 L13.0048485,53.3975758 L18.9539394,15.6763636" id="Fill-9" fill="#27346A" mask="url(#mask-2)"></path>
|
||||
</g>
|
||||
<path d="M45.4430303,15.6145455 L45.4430303,15.6145455 C45.3878788,15.9678788 45.3266667,16.3272727 45.2539394,16.6975758 C42.8157576,29.2193939 34.4715152,33.5484848 23.8145455,33.5484848 L18.3878788,33.5484848 C17.0860606,33.5484848 15.9866667,34.4963636 15.7836364,35.7824242 L12.2169697,58.3951515 C12.0842424,59.2375758 12.7357576,60 13.5884848,60 L23.2121212,60 C24.3509091,60 25.3206061,59.1715152 25.4981818,58.0460606 L25.5927273,57.5569697 L27.4054545,46.0612121 L27.5224242,45.4260606 C27.7,44.3006061 28.669697,43.4721212 29.8084848,43.4721212 L31.2478788,43.4721212 C40.5709091,43.4721212 47.8709091,39.6842424 50.0042424,28.730303 C50.8951515,24.1533333 50.4345455,20.3327273 48.0775758,17.6466667 C47.3648485,16.8345455 46.4775758,16.1624242 45.4430303,15.6145455" id="Fill-11" fill="#2790C3"></path>
|
||||
<path d="M42.8909091,14.5975758 C42.5193939,14.4884848 42.1357576,14.3909091 41.74,14.3030303 C41.3442424,14.2151515 40.9375758,14.1375758 40.5193939,14.070303 C39.0551515,13.8345455 37.4539394,13.7218182 35.7363636,13.7218182 L21.24,13.7218182 C20.8842424,13.7218182 20.5448485,13.8030303 20.2406061,13.9484848 C19.5721212,14.2690909 19.0757576,14.9024242 18.9539394,15.6763636 L15.8727273,35.2121212 L15.7836364,35.7824242 C15.9866667,34.4963636 17.0860606,33.5484848 18.3878788,33.5484848 L23.8145455,33.5484848 C34.4715152,33.5484848 42.8157576,29.2193939 45.2539394,16.6975758 C45.3266667,16.3272727 45.3878788,15.9678788 45.4430303,15.6145455 C44.8272727,15.2884848 44.1581818,15.0072727 43.4393939,14.7684848 C43.2593939,14.7084848 43.0769697,14.6515152 42.8909091,14.5975758" id="Fill-12" fill="#1F264F"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 11 KiB |
BIN
public/static/image/pay/visa.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
public/static/image/pdf.png
Normal file
|
After Width: | Height: | Size: 564 B |
BIN
public/static/image/phone2.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
public/static/image/saoyisao.png
Normal file
|
After Width: | Height: | Size: 108 KiB |
BIN
public/static/image/taiguo.png
Normal file
|
After Width: | Height: | Size: 554 KiB |
BIN
public/static/image/tdac_icon.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
public/static/image/thabg.png
Normal file
|
After Width: | Height: | Size: 666 KiB |
BIN
public/static/image/wx.png
Normal file
|
After Width: | Height: | Size: 464 KiB |
BIN
public/static/image/zf3.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
public/static/image/zfb.jpg
Normal file
|
After Width: | Height: | Size: 16 KiB |
73
public/static/js/analytics.js
Normal file
@@ -0,0 +1,73 @@
|
||||
(function(){var k=this,l=function(a,b){a=a.split(".");var c=k;a[0]in c||"undefined"==typeof c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)a.length||void 0===b?c=c[d]&&c[d]!==Object.prototype[d]?c[d]:c[d]={}:c[d]=b};var m=function(a){var b=[];if(Array.prototype.indexOf)return a=b.indexOf(a),"number"==typeof a?a:-1;for(var c=0;c<b.length;c++)if(b[c]===a)return c;return-1},n=function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])},q=function(a){for(var b in a)if(a.hasOwnProperty(b))return!0;return!1};var r=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;var t=window,u=document,v=function(a,b){u.addEventListener?u.addEventListener(a,b,!1):u.attachEvent&&u.attachEvent("on"+a,b)};var w=/:[0-9]+$/,y=function(a,b){var c=function(a){return a?a.replace(":","").toLowerCase():""};c=c(a.protocol)||c(t.location.protocol);b&&(b=String(b).toLowerCase());switch(b){case "url_no_fragment":a=x(a);break;case "protocol":a=c;break;case "host":a=(a.hostname||t.location.hostname).replace(w,"").toLowerCase();break;case "port":a=String(Number(a.hostname?a.port:t.location.port)||("http"==c?80:"https"==c?443:""));break;case "path":a="/"==a.pathname.substr(0,1)?a.pathname:"/"+a.pathname;a=a.split("/");
|
||||
0<=m(a[a.length-1])&&(a[a.length-1]="");a=a.join("/");break;case "query":a=a.search.replace("?","");break;case "extension":a=a.pathname.split(".");a=1<a.length?a[a.length-1]:"";a=a.split("/")[0];break;case "fragment":a=a.hash.replace("#","");break;default:a=a&&a.href}return a},x=function(a){var b="";a&&a.href&&(b=a.hash?a.href.replace(a.hash,""):a.href);return b},z=function(a){var b=document.createElement("a");a&&(r.test(a),b.href=a);a=b.pathname;"/"!==a[0]&&(a="/"+a);var c=b.hostname.replace(w,"");
|
||||
return{href:b.href,protocol:b.protocol,host:b.host,hostname:c,pathname:a,search:b.search,hash:b.hash,port:b.port}};function A(){for(var a=B,b={},c=0;c<a.length;++c)b[a[c]]=c;return b}function C(){var a="ABCDEFGHIJKLMNOPQRSTUVWXYZ";a+=a.toLowerCase()+"0123456789-_";return a+"."}
|
||||
var B,D,E=function(a){B=B||C();D=D||A();for(var b=[],c=0;c<a.length;c+=3){var d=c+1<a.length,e=c+2<a.length,g=a.charCodeAt(c),f=d?a.charCodeAt(c+1):0,h=e?a.charCodeAt(c+2):0,p=g>>2;g=(g&3)<<4|f>>4;f=(f&15)<<2|h>>6;h&=63;e||(h=64,d||(f=64));b.push(B[p],B[g],B[f],B[h])}return b.join("")},F=function(a){function b(b){for(;d<a.length;){var c=a.charAt(d++),e=D[c];if(null!=e)return e;if(!/^[\s\xa0]*$/.test(c))throw Error("Unknown base64 encoding at char: "+c);}return b}B=B||C();D=D||A();for(var c="",d=0;;){var e=
|
||||
b(-1),g=b(0),f=b(64),h=b(64);if(64===h&&-1===e)return c;c+=String.fromCharCode(e<<2|g>>4);64!=f&&(c+=String.fromCharCode(g<<4&240|f>>2),64!=h&&(c+=String.fromCharCode(f<<6&192|h)))}};var G;function H(a,b){if(!a||b===u.location.hostname)return!1;for(var c=0;c<a.length;c++)if(a[c]instanceof RegExp){if(a[c].test(b))return!0}else if(0<=b.indexOf(a[c]))return!0;return!1}var I=function(){var a={};var b=t.google_tag_data;t.google_tag_data=void 0===b?a:b;a=t.google_tag_data;b=a.gl;b&&b.decorators||(b={decorators:[]},a.gl=b);return b};var J=/(.*?)\*(.*?)\*(.*)/,K=/([^?#]+)(\?[^#]*)?(#.*)?/,L=/(.*?)(^|&)_gl=([^&]*)&?(.*)/,N=function(a){var b=[],c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];void 0!==d&&d===d&&null!==d&&"[object Object]"!==d.toString()&&(b.push(c),b.push(E(String(d))))}a=b.join("*");return["1",M(a),a].join("*")},M=function(a,b){a=[window.navigator.userAgent,(new Date).getTimezoneOffset(),window.navigator.userLanguage||window.navigator.language,Math.floor((new Date).getTime()/60/1E3)-(void 0===b?0:b),a].join("*");
|
||||
if(!(b=G)){b=Array(256);for(var c=0;256>c;c++){for(var d=c,e=0;8>e;e++)d=d&1?d>>>1^3988292384:d>>>1;b[c]=d}}G=b;b=4294967295;for(c=0;c<a.length;c++)b=b>>>8^G[(b^a.charCodeAt(c))&255];return((b^-1)>>>0).toString(36)},Q=function(a){return function(b){var c=z(t.location.href),d=c.search.replace("?","");a:{var e=d.split("&");for(var g=0;g<e.length;g++){var f=e[g].split("=");if("_gl"==decodeURIComponent(f[0]).replace(/\+/g," ")){e=f.slice(1).join("=");break a}}e=void 0}b.query=O(e||"")||{};e=y(c,"fragment");
|
||||
g=e.match(L);b.fragment=O(g&&g[3]||"")||{};a&&P(c,d,e)}};function R(a){var b=L.exec(a);if(b){var c=b[2],d=b[4];a=b[1];d&&(a=a+c+d)}return a}
|
||||
var P=function(a,b,c){function d(a,b){a=R(a);a.length&&(a=b+a);return a}t.history&&t.history.replaceState&&(L.test(b)||L.test(c))&&(a=y(a,"path"),b=d(b,"?"),c=d(c,"#"),t.history.replaceState({},void 0,""+a+b+c))},O=function(a){var b=void 0===b?3:b;try{if(a){a:{for(var c=0;3>c;++c){var d=J.exec(a);if(d){var e=d;break a}a=decodeURIComponent(a)}e=void 0}if(e&&"1"===e[1]){var g=e[2],f=e[3];a:{for(e=0;e<b;++e)if(g===M(f,e)){var h=!0;break a}h=!1}if(h){b={};var p=f?f.split("*"):[];for(f=0;f<p.length;f+=
|
||||
2)b[p[f]]=F(p[f+1]);return b}}}}catch(Y){}};function S(a,b,c){function d(a){a=R(a);var b=a.charAt(a.length-1);a&&"&"!==b&&(a+="&");return a+f}c=void 0===c?!1:c;var e=K.exec(b);if(!e)return"";b=e[1];var g=e[2]||"";e=e[3]||"";var f="_gl="+a;c?e="#"+d(e.substring(1)):g="?"+d(g.substring(1));return""+b+g+e}
|
||||
function T(a,b,c){for(var d={},e={},g=I().decorators,f=0;f<g.length;++f){var h=g[f];(!c||h.forms)&&H(h.domains,b)&&(h.fragment?n(e,h.callback()):n(d,h.callback()))}q(d)&&(b=N(d),c?U(b,a):V(b,a,!1));!c&&q(e)&&(c=N(e),V(c,a,!0))}function V(a,b,c){b.href&&(a=S(a,b.href,void 0===c?!1:c),r.test(a)&&(b.href=a))}
|
||||
function U(a,b){if(b&&b.action){var c=(b.method||"").toLowerCase();if("get"===c){c=b.childNodes||[];for(var d=!1,e=0;e<c.length;e++){var g=c[e];if("_gl"===g.name){g.setAttribute("value",a);d=!0;break}}d||(c=u.createElement("input"),c.setAttribute("type","hidden"),c.setAttribute("name","_gl"),c.setAttribute("value",a),b.appendChild(c))}else"post"===c&&(a=S(a,b.action),r.test(a)&&(b.action=a))}}
|
||||
var W=function(a){try{a:{var b=a.target||a.srcElement||{};for(a=100;b&&0<a;){if(b.href&&b.nodeName.match(/^a(?:rea)?$/i)){var c=b;break a}b=b.parentNode;a--}c=null}if(c){var d=c.protocol;"http:"!==d&&"https:"!==d||T(c,c.hostname,!1)}}catch(e){}},X=function(a){try{var b=a.target||a.srcElement||{};if(b.action){var c=y(z(b.action),"host");T(b,c,!0)}}catch(d){}};l("google_tag_data.glBridge.auto",function(a,b,c,d){var e=I();e.init||(v("mousedown",W),v("keyup",W),v("submit",X),e.init=!0);a={callback:a,domains:b,fragment:"fragment"===c,forms:!!d};I().decorators.push(a)});l("google_tag_data.glBridge.decorate",function(a,b,c){c=!!c;a=N(a);if(b.tagName){if("a"==b.tagName.toLowerCase())return V(a,b,c);if("form"==b.tagName.toLowerCase())return U(a,b)}if("string"==typeof b)return S(a,b,c)});l("google_tag_data.glBridge.generate",N);
|
||||
l("google_tag_data.glBridge.get",function(a,b){var c=Q(!!b);b=I();b.data||(b.data={query:{},fragment:{}},c(b.data));c={};if(b=b.data)n(c,b.query),a&&n(c,b.fragment);return c});})(window);
|
||||
(function(){function La(a){var b=1,c;if(a)for(b=0,c=a.length-1;0<=c;c--){var d=a.charCodeAt(c);b=(b<<6&268435455)+d+(d<<14);d=b&266338304;b=0!=d?b^d>>21:b}return b};var $c=function(a){this.w=a||[]};$c.prototype.set=function(a){this.w[a]=!0};$c.prototype.encode=function(){for(var a=[],b=0;b<this.w.length;b++)this.w[b]&&(a[Math.floor(b/6)]^=1<<b%6);for(b=0;b<a.length;b++)a[b]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".charAt(a[b]||0);return a.join("")+"~"};var vd=new $c;function J(a){vd.set(a)}var Td=function(a){a=Dd(a);a=new $c(a);for(var b=vd.w.slice(),c=0;c<a.w.length;c++)b[c]=b[c]||a.w[c];return(new $c(b)).encode()},Dd=function(a){a=a.get(Gd);ka(a)||(a=[]);return a};var ea=function(a){return"function"==typeof a},ka=function(a){return"[object Array]"==Object.prototype.toString.call(Object(a))},qa=function(a){return void 0!=a&&-1<(a.constructor+"").indexOf("String")},D=function(a,b){return 0==a.indexOf(b)},sa=function(a){return a?a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,""):""},ra=function(){for(var a=O.navigator.userAgent+(M.cookie?M.cookie:"")+(M.referrer?M.referrer:""),b=a.length,c=O.history.length;0<c;)a+=c--^b++;return[hd()^La(a)&2147483647,Math.round((new Date).getTime()/
|
||||
1E3)].join(".")},ta=function(a){var b=M.createElement("img");b.width=1;b.height=1;b.src=a;return b},ua=function(){},K=function(a){if(encodeURIComponent instanceof Function)return encodeURIComponent(a);J(28);return a},L=function(a,b,c,d){try{a.addEventListener?a.addEventListener(b,c,!!d):a.attachEvent&&a.attachEvent("on"+b,c)}catch(e){J(27)}},f=/^[\w\-:/.?=&%!\[\]]+$/,wa=function(a,b,c){a&&(c?(c="",b&&f.test(b)&&(c=' id="'+b+'"'),f.test(a)&&M.write("<script"+c+' src="'+a+'">\x3c/script>')):(c=M.createElement("script"),
|
||||
c.type="text/javascript",c.async=!0,c.src=a,b&&(c.id=b),a=M.getElementsByTagName("script")[0],a.parentNode.insertBefore(c,a)))},be=function(a,b){return E(M.location[b?"href":"search"],a)},E=function(a,b){return(a=a.match("(?:&|#|\\?)"+K(b).replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")+"=([^&#]*)"))&&2==a.length?a[1]:""},xa=function(){var a=""+M.location.hostname;return 0==a.indexOf("www.")?a.substring(4):a},de=function(a,b){var c=a.indexOf(b);if(5==c||6==c)if(a=a.charAt(c+b.length),"/"==a||"?"==a||
|
||||
""==a||":"==a)return!0;return!1},ya=function(a,b){var c=M.referrer;if(/^(https?|android-app):\/\//i.test(c)){if(a)return c;a="//"+M.location.hostname;if(!de(c,a))return b&&(b=a.replace(/\./g,"-")+".cdn.ampproject.org",de(c,b))?void 0:c}},za=function(a,b){if(1==b.length&&null!=b[0]&&"object"===typeof b[0])return b[0];for(var c={},d=Math.min(a.length+1,b.length),e=0;e<d;e++)if("object"===typeof b[e]){for(var g in b[e])b[e].hasOwnProperty(g)&&(c[g]=b[e][g]);break}else e<a.length&&(c[a[e]]=b[e]);return c};var ee=function(){this.keys=[];this.values={};this.m={}};ee.prototype.set=function(a,b,c){this.keys.push(a);c?this.m[":"+a]=b:this.values[":"+a]=b};ee.prototype.get=function(a){return this.m.hasOwnProperty(":"+a)?this.m[":"+a]:this.values[":"+a]};ee.prototype.map=function(a){for(var b=0;b<this.keys.length;b++){var c=this.keys[b],d=this.get(c);d&&a(c,d)}};var O=window,M=document,va=function(a,b){return setTimeout(a,b)};var F=window,Ea=document,G=function(a){var b=F._gaUserPrefs;if(b&&b.ioo&&b.ioo()||a&&!0===F["ga-disable-"+a])return!0;try{var c=F.external;if(c&&c._gaUserPrefs&&"oo"==c._gaUserPrefs)return!0}catch(g){}a=[];b=String(Ea.cookie||document.cookie).split(";");for(c=0;c<b.length;c++){var d=b[c].split("="),e=d[0].replace(/^\s*|\s*$/g,"");e&&"AMP_TOKEN"==e&&((d=d.slice(1).join("=").replace(/^\s*|\s*$/g,""))&&(d=decodeURIComponent(d)),a.push(d))}for(b=0;b<a.length;b++)if("$OPT_OUT"==a[b])return!0;return!1};var Ca=function(a){var b=[],c=M.cookie.split(";");a=new RegExp("^\\s*"+a+"=\\s*(.*?)\\s*$");for(var d=0;d<c.length;d++){var e=c[d].match(a);e&&b.push(e[1])}return b},zc=function(a,b,c,d,e,g){e=G(e)?!1:eb.test(M.location.hostname)||"/"==c&&vc.test(d)?!1:!0;if(!e)return!1;b&&1200<b.length&&(b=b.substring(0,1200));c=a+"="+b+"; path="+c+"; ";g&&(c+="expires="+(new Date((new Date).getTime()+g)).toGMTString()+"; ");d&&"none"!==d&&(c+="domain="+d+";");d=M.cookie;M.cookie=c;if(!(d=d!=M.cookie))a:{a=Ca(a);
|
||||
for(d=0;d<a.length;d++)if(b==a[d]){d=!0;break a}d=!1}return d},Cc=function(a){return encodeURIComponent?encodeURIComponent(a).replace(/\(/g,"%28").replace(/\)/g,"%29"):a},vc=/^(www\.)?google(\.com?)?(\.[a-z]{2})?$/,eb=/(^|\.)doubleclick\.net$/i;var oc,Id=/^.*Version\/?(\d+)[^\d].*$/i,ne=function(){if(void 0!==O.__ga4__)return O.__ga4__;if(void 0===oc){var a=O.navigator.userAgent;if(a){var b=a;try{b=decodeURIComponent(a)}catch(c){}if(a=!(0<=b.indexOf("Chrome"))&&!(0<=b.indexOf("CriOS"))&&(0<=b.indexOf("Safari/")||0<=b.indexOf("Safari,")))b=Id.exec(b),a=11<=(b?Number(b[1]):-1);oc=a}else oc=!1}return oc};var Fa,Ga,fb,Ab,ja=/^https?:\/\/[^/]*cdn\.ampproject\.org\//,Ue=/^(?:www\.|m\.|amp\.)+/,Ub=[],da=function(a){a:{if(ja.test(M.referrer)){var b=M.location.hostname.replace(Ue,"");b:{var c=M.referrer;c=c.replace(/^https?:\/\//,"");var d=c.replace(/^[^/]+/,"").split("/"),e=d[2];d=(d="s"==e?d[3]:e)?decodeURIComponent(d):d;if(!d){if(0==c.indexOf("xn--")){c="";break b}(c=c.match(/(.*)\.cdn\.ampproject\.org\/?$/))&&2==c.length&&(d=c[1].replace(/-/g,".").replace(/\.\./g,"-"))}c=d?d.replace(Ue,""):""}if(b==
|
||||
c){b=!0;break a}else J(78)}b=!1}if(b&&!1!==a[Kd]&&(void 0===Ab&&(b=(b=De.get())&&b._ga||void 0)&&(Ab=b,J(81)),void 0!==Ab))return a[Q]||(a[Q]=Ab),!1;if(a[Kd]){J(67);if(a[ac]&&"cookie"!=a[ac])return!1;if(void 0!==Ab)a[Q]||(a[Q]=Ab);else{a:if(b=String(a[W]||xa()),c=String(a[Yb]||"/"),d=Ca(String(a[U]||"_ga")),b=na(d,b,c),!b||jd.test(b))b=!0;else if(b=Ca("AMP_TOKEN"),0==b.length)b=!0;else{if(1==b.length&&(b=decodeURIComponent(b[0]),"$RETRIEVING"==b||"$OPT_OUT"==b||"$ERROR"==b||"$NOT_FOUND"==b)){b=!0;
|
||||
break a}b=!1}if(b&&tc(ic,String(a[Na])))return!0}}return!1},ic=function(){Z.D([ua])},tc=function(a,b){var c=Ca("AMP_TOKEN");if(1<c.length)return J(55),!1;c=decodeURIComponent(c[0]||"");if("$OPT_OUT"==c||"$ERROR"==c||G(b))return J(62),!1;if(!ja.test(M.referrer)&&"$NOT_FOUND"==c)return J(68),!1;if(void 0!==Ab)return J(56),va(function(){a(Ab)},0),!0;if(Fa)return Ub.push(a),!0;if("$RETRIEVING"==c)return J(57),va(function(){tc(a,b)},1E4),!0;Fa=!0;c&&"$"!=c[0]||(xc("$RETRIEVING",3E4),setTimeout(Mc,3E4),
|
||||
c="");return Pc(c,b)?(Ub.push(a),!0):!1},Pc=function(a,b,c){if(!window.JSON)return J(58),!1;var d=O.XMLHttpRequest;if(!d)return J(59),!1;var e=new d;if(!("withCredentials"in e))return J(60),!1;e.open("POST",(c||"https://ampcid.google.com/v1/publisher:getClientId")+"?key=AIzaSyA65lEHUEizIsNtlbNo-l2K18dT680nsaM",!0);e.withCredentials=!0;e.setRequestHeader("Content-Type","text/plain");e.onload=function(){Fa=!1;if(4==e.readyState){try{200!=e.status&&(J(61),Qc("","$ERROR",3E4));var d=JSON.parse(e.responseText);
|
||||
d.optOut?(J(63),Qc("","$OPT_OUT",31536E6)):d.clientId?Qc(d.clientId,d.securityToken,31536E6):!c&&d.alternateUrl?(Ga&&clearTimeout(Ga),Fa=!0,Pc(a,b,d.alternateUrl)):(J(64),Qc("","$NOT_FOUND",36E5))}catch(ca){J(65),Qc("","$ERROR",3E4)}e=null}};d={originScope:"AMP_ECID_GOOGLE"};a&&(d.securityToken=a);e.send(JSON.stringify(d));Ga=va(function(){J(66);Qc("","$ERROR",3E4)},1E4);return!0},Mc=function(){Fa=!1},xc=function(a,b){if(void 0===fb){fb="";for(var c=id(),d=0;d<c.length;d++){var e=c[d];if(zc("AMP_TOKEN",
|
||||
encodeURIComponent(a),"/",e,"",b)){fb=e;return}}}zc("AMP_TOKEN",encodeURIComponent(a),"/",fb,"",b)},Qc=function(a,b,c){Ga&&clearTimeout(Ga);b&&xc(b,c);Ab=a;b=Ub;Ub=[];for(c=0;c<b.length;c++)b[c](a)};var oe=function(){return(Ba||"https:"==M.location.protocol?"https:":"http:")+"//www.google-analytics.com"},Da=function(a){this.name="len";this.message=a+"-8192"},ba=function(a,b,c){c=c||ua;if(2036>=b.length)wc(a,b,c);else if(8192>=b.length)x(a,b,c)||wd(a,b,c)||wc(a,b,c);else throw ge("len",b.length),new Da(b.length);},pe=function(a,b,c,d){d=d||ua;wd(a+"?"+b,"",d,c)},wc=function(a,b,c){var d=ta(a+"?"+b);d.onload=d.onerror=function(){d.onload=null;d.onerror=null;c()}},wd=function(a,b,c,d){var e=O.XMLHttpRequest;
|
||||
if(!e)return!1;var g=new e;if(!("withCredentials"in g))return!1;a=a.replace(/^http:/,"https:");g.open("POST",a,!0);g.withCredentials=!0;g.setRequestHeader("Content-Type","text/plain");g.onreadystatechange=function(){if(4==g.readyState){if(d)try{var a=g.responseText;if(1>a.length)ge("xhr","ver","0"),c();else if("1"!=a.charAt(0))ge("xhr","ver",String(a.length)),c();else if(3<d.count++)ge("xhr","tmr",""+d.count),c();else if(1==a.length)c();else{var b=a.charAt(1);if("d"==b)pe("https://stats.g.doubleclick.net/j/collect",
|
||||
d.U,d,c);else if("g"==b){var e="https://www.google.%/ads/ga-audiences".replace("%","com");wc(e,d.google,c);var w=a.substring(2);if(w)if(/^[a-z.]{1,6}$/.test(w)){var ha="https://www.google.%/ads/ga-audiences".replace("%",w);wc(ha,d.google,ua)}else ge("tld","bcc",w)}else ge("xhr","brc",b),c()}}catch(ue){ge("xhr","rsp"),c()}else c();g=null}};g.send(b);return!0},x=function(a,b,c){return O.navigator.sendBeacon?O.navigator.sendBeacon(a,b)?(c(),!0):!1:!1},ge=function(a,b,c){1<=100*Math.random()||G("?")||
|
||||
(a=["t=error","_e="+a,"_v=j72","sr=1"],b&&a.push("_f="+b),c&&a.push("_m="+K(c.substring(0,100))),a.push("aip=1"),a.push("z="+hd()),wc("https://www.google-analytics.com/u/d",a.join("&"),ua))};var h=function(a){var b=O.gaData=O.gaData||{};return b[a]=b[a]||{}};var Ha=function(){this.M=[]};Ha.prototype.add=function(a){this.M.push(a)};Ha.prototype.D=function(a){try{for(var b=0;b<this.M.length;b++){var c=a.get(this.M[b]);c&&ea(c)&&c.call(O,a)}}catch(d){}b=a.get(Ia);b!=ua&&ea(b)&&(a.set(Ia,ua,!0),setTimeout(b,10))};function Ja(a){if(100!=a.get(Ka)&&La(P(a,Q))%1E4>=100*R(a,Ka))throw"abort";}function Ma(a){if(G(P(a,Na)))throw"abort";}function Oa(){var a=M.location.protocol;if("http:"!=a&&"https:"!=a)throw"abort";}
|
||||
function Pa(a){try{O.navigator.sendBeacon?J(42):O.XMLHttpRequest&&"withCredentials"in new O.XMLHttpRequest&&J(40)}catch(c){}a.set(ld,Td(a),!0);a.set(Ac,R(a,Ac)+1);var b=[];Qa.map(function(c,d){d.F&&(c=a.get(c),void 0!=c&&c!=d.defaultValue&&("boolean"==typeof c&&(c*=1),b.push(d.F+"="+K(""+c))))});b.push("z="+Bd());a.set(Ra,b.join("&"),!0)}
|
||||
function Sa(a){var b=P(a,gd)||oe()+"/collect",c=a.get(qe),d=P(a,fa);!d&&a.get(Vd)&&(d="beacon");if(c)pe(b,P(a,Ra),c,a.get(Ia));else if(d){c=d;d=P(a,Ra);var e=a.get(Ia);e=e||ua;"image"==c?wc(b,d,e):"xhr"==c&&wd(b,d,e)||"beacon"==c&&x(b,d,e)||ba(b,d,e)}else ba(b,P(a,Ra),a.get(Ia));b=a.get(Na);b=h(b);c=b.hitcount;b.hitcount=c?c+1:1;b=a.get(Na);delete h(b).pending_experiments;a.set(Ia,ua,!0)}
|
||||
function Hc(a){(O.gaData=O.gaData||{}).expId&&a.set(Nc,(O.gaData=O.gaData||{}).expId);(O.gaData=O.gaData||{}).expVar&&a.set(Oc,(O.gaData=O.gaData||{}).expVar);var b=a.get(Na);if(b=h(b).pending_experiments){var c=[];for(d in b)b.hasOwnProperty(d)&&b[d]&&c.push(encodeURIComponent(d)+"."+encodeURIComponent(b[d]));var d=c.join("!")}else d=void 0;d&&a.set(m,d,!0)}function cd(){if(O.navigator&&"preview"==O.navigator.loadPurpose)throw"abort";}
|
||||
function yd(a){var b=O.gaDevIds;ka(b)&&0!=b.length&&a.set("&did",b.join(","),!0)}function vb(a){if(!a.get(Na))throw"abort";};var hd=function(){return Math.round(2147483647*Math.random())},Bd=function(){try{var a=new Uint32Array(1);O.crypto.getRandomValues(a);return a[0]&2147483647}catch(b){return hd()}};function Ta(a){var b=R(a,Ua);500<=b&&J(15);var c=P(a,Va);if("transaction"!=c&&"item"!=c){c=R(a,Wa);var d=(new Date).getTime(),e=R(a,Xa);0==e&&a.set(Xa,d);e=Math.round(2*(d-e)/1E3);0<e&&(c=Math.min(c+e,20),a.set(Xa,d));if(0>=c)throw"abort";a.set(Wa,--c)}a.set(Ua,++b)};var Ya=function(){this.data=new ee},Qa=new ee,Za=[];Ya.prototype.get=function(a){var b=$a(a),c=this.data.get(a);b&&void 0==c&&(c=ea(b.defaultValue)?b.defaultValue():b.defaultValue);return b&&b.Z?b.Z(this,a,c):c};var P=function(a,b){a=a.get(b);return void 0==a?"":""+a},R=function(a,b){a=a.get(b);return void 0==a||""===a?0:1*a};Ya.prototype.set=function(a,b,c){if(a)if("object"==typeof a)for(var d in a)a.hasOwnProperty(d)&&ab(this,d,a[d],c);else ab(this,a,b,c)};
|
||||
var ab=function(a,b,c,d){if(void 0!=c)switch(b){case Na:wb.test(c)}var e=$a(b);e&&e.o?e.o(a,b,c,d):a.data.set(b,c,d)},bb=function(a,b,c,d,e){this.name=a;this.F=b;this.Z=d;this.o=e;this.defaultValue=c},$a=function(a){var b=Qa.get(a);if(!b)for(var c=0;c<Za.length;c++){var d=Za[c],e=d[0].exec(a);if(e){b=d[1](e);Qa.set(b.name,b);break}}return b},yc=function(a){var b;Qa.map(function(c,d){d.F==a&&(b=d)});return b&&b.name},S=function(a,b,c,d,e){a=new bb(a,b,c,d,e);Qa.set(a.name,a);return a.name},cb=function(a,
|
||||
b){Za.push([new RegExp("^"+a+"$"),b])},T=function(a,b,c){return S(a,b,c,void 0,db)},db=function(){};var gb=qa(window.GoogleAnalyticsObject)&&sa(window.GoogleAnalyticsObject)||"ga",jd=/^(?:utma\.)?\d+\.\d+$/,kd=/^amp-[\w.-]{22,64}$/,Ba=!1,hb=T("apiVersion","v"),ib=T("clientVersion","_v");S("anonymizeIp","aip");var jb=S("adSenseId","a"),Va=S("hitType","t"),Ia=S("hitCallback"),Ra=S("hitPayload");S("nonInteraction","ni");S("currencyCode","cu");S("dataSource","ds");var Vd=S("useBeacon",void 0,!1),fa=S("transport");S("sessionControl","sc","");S("sessionGroup","sg");S("queueTime","qt");var Ac=S("_s","_s");
|
||||
S("screenName","cd");var kb=S("location","dl",""),lb=S("referrer","dr"),mb=S("page","dp","");S("hostname","dh");var nb=S("language","ul"),ob=S("encoding","de");S("title","dt",function(){return M.title||void 0});cb("contentGroup([0-9]+)",function(a){return new bb(a[0],"cg"+a[1])});var pb=S("screenColors","sd"),qb=S("screenResolution","sr"),rb=S("viewportSize","vp"),sb=S("javaEnabled","je"),tb=S("flashVersion","fl");S("campaignId","ci");S("campaignName","cn");S("campaignSource","cs");
|
||||
S("campaignMedium","cm");S("campaignKeyword","ck");S("campaignContent","cc");
|
||||
var ub=S("eventCategory","ec"),xb=S("eventAction","ea"),yb=S("eventLabel","el"),zb=S("eventValue","ev"),Bb=S("socialNetwork","sn"),Cb=S("socialAction","sa"),Db=S("socialTarget","st"),Eb=S("l1","plt"),Fb=S("l2","pdt"),Gb=S("l3","dns"),Hb=S("l4","rrt"),Ib=S("l5","srt"),Jb=S("l6","tcp"),Kb=S("l7","dit"),Lb=S("l8","clt"),Ve=S("l9","_gst"),We=S("l10","_gbt"),Xe=S("l11","_cst"),Ye=S("l12","_cbt"),Mb=S("timingCategory","utc"),Nb=S("timingVar","utv"),Ob=S("timingLabel","utl"),Pb=S("timingValue","utt");
|
||||
S("appName","an");S("appVersion","av","");S("appId","aid","");S("appInstallerId","aiid","");S("exDescription","exd");S("exFatal","exf");var Nc=S("expId","xid"),Oc=S("expVar","xvar"),m=S("exp","exp"),Rc=S("_utma","_utma"),Sc=S("_utmz","_utmz"),Tc=S("_utmht","_utmht"),Ua=S("_hc",void 0,0),Xa=S("_ti",void 0,0),Wa=S("_to",void 0,20);cb("dimension([0-9]+)",function(a){return new bb(a[0],"cd"+a[1])});cb("metric([0-9]+)",function(a){return new bb(a[0],"cm"+a[1])});S("linkerParam",void 0,void 0,Bc,db);
|
||||
var Ze=T("_cd2l",void 0,!1),ld=S("usage","_u"),Gd=S("_um");S("forceSSL",void 0,void 0,function(){return Ba},function(a,b,c){J(34);Ba=!!c});var ed=S("_j1","jid"),ia=S("_j2","gjid");cb("\\&(.*)",function(a){var b=new bb(a[0],a[1]),c=yc(a[0].substring(1));c&&(b.Z=function(a){return a.get(c)},b.o=function(a,b,g,ca){a.set(c,g,ca)},b.F=void 0);return b});
|
||||
var Qb=T("_oot"),dd=S("previewTask"),Rb=S("checkProtocolTask"),md=S("validationTask"),Sb=S("checkStorageTask"),Uc=S("historyImportTask"),Tb=S("samplerTask"),Vb=S("_rlt"),Wb=S("buildHitTask"),Xb=S("sendHitTask"),Vc=S("ceTask"),zd=S("devIdTask"),Cd=S("timingTask"),Ld=S("displayFeaturesTask"),oa=S("customTask"),V=T("name"),Q=T("clientId","cid"),n=T("clientIdTime"),xd=T("storedClientId"),Ad=S("userId","uid"),Na=T("trackingId","tid"),U=T("cookieName",void 0,"_ga"),W=T("cookieDomain"),Yb=T("cookiePath",
|
||||
void 0,"/"),Zb=T("cookieExpires",void 0,63072E3),Hd=T("cookieUpdate",void 0,!0),$b=T("legacyCookieDomain"),Wc=T("legacyHistoryImport",void 0,!0),ac=T("storage",void 0,"cookie"),bc=T("allowLinker",void 0,!1),cc=T("allowAnchor",void 0,!0),Ka=T("sampleRate","sf",100),dc=T("siteSpeedSampleRate",void 0,1),ec=T("alwaysSendReferrer",void 0,!1),I=T("_gid","_gid"),la=T("_gcn"),Kd=T("useAmpClientId"),ce=T("_gclid"),fe=T("_gt"),he=T("_ge",void 0,7776E6),ie=T("_gclsrc"),je=T("storeGac",void 0,!0),gd=S("transportUrl"),
|
||||
Md=S("_r","_r"),qe=S("_dp"),Ud=S("allowAdFeatures",void 0,!0);function X(a,b,c,d){b[a]=function(){try{return d&&J(d),c.apply(this,arguments)}catch(e){throw ge("exc",a,e&&e.name),e;}}};var Od=function(){this.V=100;this.$=this.fa=!1;this.oa="detourexp";this.groups=1},Ed=function(a){var b=new Od,c;if(b.fa&&b.$)return 0;b.$=!0;if(a){if(b.oa&&void 0!==a.get(b.oa))return R(a,b.oa);if(0==a.get(dc))return 0}if(0==b.V)return 0;void 0===c&&(c=Bd());return 0==c%b.V?Math.floor(c/b.V)%b.groups+1:0};function fc(){var a,b;if((b=(b=O.navigator)?b.plugins:null)&&b.length)for(var c=0;c<b.length&&!a;c++){var d=b[c];-1<d.name.indexOf("Shockwave Flash")&&(a=d.description)}if(!a)try{var e=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");a=e.GetVariable("$version")}catch(g){}if(!a)try{e=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"),a="WIN 6,0,21,0",e.AllowScriptAccess="always",a=e.GetVariable("$version")}catch(g){}if(!a)try{e=new ActiveXObject("ShockwaveFlash.ShockwaveFlash"),a=e.GetVariable("$version")}catch(g){}a&&
|
||||
(e=a.match(/[\d]+/g))&&3<=e.length&&(a=e[0]+"."+e[1]+" r"+e[2]);return a||void 0};var aa=function(a){var b=Math.min(R(a,dc),100);return La(P(a,Q))%100>=b?!1:!0},gc=function(a){var b={};if(Ec(b)||Fc(b)){var c=b[Eb];void 0==c||Infinity==c||isNaN(c)||(0<c?(Y(b,Gb),Y(b,Jb),Y(b,Ib),Y(b,Fb),Y(b,Hb),Y(b,Kb),Y(b,Lb),Y(b,Ve),Y(b,We),Y(b,Xe),Y(b,Ye),va(function(){a(b)},10)):L(O,"load",function(){gc(a)},!1))}},Ec=function(a){var b=O.performance||O.webkitPerformance;b=b&&b.timing;if(!b)return!1;var c=b.navigationStart;if(0==c)return!1;a[Eb]=b.loadEventStart-c;a[Gb]=b.domainLookupEnd-b.domainLookupStart;
|
||||
a[Jb]=b.connectEnd-b.connectStart;a[Ib]=b.responseStart-b.requestStart;a[Fb]=b.responseEnd-b.responseStart;a[Hb]=b.fetchStart-c;a[Kb]=b.domInteractive-c;a[Lb]=b.domContentLoadedEventStart-c;a[Ve]=N.L-c;a[We]=N.ya-c;O.google_tag_manager&&O.google_tag_manager._li&&(b=O.google_tag_manager._li,a[Xe]=b.cst,a[Ye]=b.cbt);return!0},Fc=function(a){if(O.top!=O)return!1;var b=O.external,c=b&&b.onloadT;b&&!b.isValidLoadTime&&(c=void 0);2147483648<c&&(c=void 0);0<c&&b.setPageReadyTime();if(void 0==c)return!1;
|
||||
a[Eb]=c;return!0},Y=function(a,b){var c=a[b];if(isNaN(c)||Infinity==c||0>c)a[b]=void 0},Fd=function(a){return function(b){if("pageview"==b.get(Va)&&!a.I){a.I=!0;var c=aa(b),d=0<E(b.get(kb),"gclid").length;(c||d)&&gc(function(b){c&&a.send("timing",b);d&&a.send("adtiming",b)})}}};var hc=!1,mc=function(a){if("cookie"==P(a,ac)){if(a.get(Hd)||P(a,xd)!=P(a,Q)){var b=1E3*R(a,Zb);ma(a,Q,U,b)}ma(a,I,la,864E5);if(a.get(je)){var c=a.get(ce);if(c){var d=Math.min(R(a,he),1E3*R(a,Zb));d=Math.min(d,1E3*R(a,fe)+d-(new Date).getTime());a.data.set(he,d);b={};var e=a.get(fe),g=a.get(ie),ca=kc(P(a,Yb)),l=lc(P(a,W));a=P(a,Na);g&&"aw.ds"!=g?b&&(b.ua=!0):(c=["1",e,Cc(c)].join("."),0<d&&(b&&(b.ta=!0),zc("_gac_"+Cc(a),c,ca,l,a,d)));le(b)}}else J(75)}},ma=function(a,b,c,d){var e=nd(a,b);if(e){c=
|
||||
P(a,c);var g=kc(P(a,Yb)),ca=lc(P(a,W)),l=P(a,Na);if("auto"!=ca)zc(c,e,g,ca,l,d)&&(hc=!0);else{J(32);for(var k=id(),w=0;w<k.length;w++)if(ca=k[w],a.data.set(W,ca),e=nd(a,b),zc(c,e,g,ca,l,d)){hc=!0;return}a.data.set(W,"auto")}}},nc=function(a){if("cookie"==P(a,ac)&&!hc&&(mc(a),!hc))throw"abort";},Yc=function(a){if(a.get(Wc)){var b=P(a,W),c=P(a,$b)||xa(),d=Xc("__utma",c,b);d&&(J(19),a.set(Tc,(new Date).getTime(),!0),a.set(Rc,d.R),(b=Xc("__utmz",c,b))&&d.hash==b.hash&&a.set(Sc,b.R))}},nd=function(a,b){b=
|
||||
Cc(P(a,b));var c=lc(P(a,W)).split(".").length;a=jc(P(a,Yb));1<a&&(c+="-"+a);return b?["GA1",c,b].join("."):""},Xd=function(a,b){return na(b,P(a,W),P(a,Yb))},na=function(a,b,c){if(!a||1>a.length)J(12);else{for(var d=[],e=0;e<a.length;e++){var g=a[e];var ca=g.split(".");var l=ca.shift();("GA1"==l||"1"==l)&&1<ca.length?(g=ca.shift().split("-"),1==g.length&&(g[1]="1"),g[0]*=1,g[1]*=1,ca={H:g,s:ca.join(".")}):ca=kd.test(g)?{H:[0,0],s:g}:void 0;ca&&d.push(ca)}if(1==d.length)return J(13),d[0].s;if(0==d.length)J(12);
|
||||
else{J(14);d=Gc(d,lc(b).split(".").length,0);if(1==d.length)return d[0].s;d=Gc(d,jc(c),1);1<d.length&&J(41);return d[0]&&d[0].s}}},Gc=function(a,b,c){for(var d=[],e=[],g,ca=0;ca<a.length;ca++){var l=a[ca];l.H[c]==b?d.push(l):void 0==g||l.H[c]<g?(e=[l],g=l.H[c]):l.H[c]==g&&e.push(l)}return 0<d.length?d:e},lc=function(a){return 0==a.indexOf(".")?a.substr(1):a},id=function(){var a=[],b=xa().split(".");if(4==b.length){var c=b[b.length-1];if(parseInt(c,10)==c)return["none"]}for(c=b.length-2;0<=c;c--)a.push(b.slice(c).join("."));
|
||||
b=M.location.hostname;eb.test(b)||vc.test(b)||a.push("none");return a},kc=function(a){if(!a)return"/";1<a.length&&a.lastIndexOf("/")==a.length-1&&(a=a.substr(0,a.length-1));0!=a.indexOf("/")&&(a="/"+a);return a},jc=function(a){a=kc(a);return"/"==a?1:a.split("/").length},le=function(a){a.ta&&J(77);a.na&&J(74);a.pa&&J(73);a.ua&&J(69)};function Xc(a,b,c){"none"==b&&(b="");var d=[],e=Ca(a);a="__utma"==a?6:2;for(var g=0;g<e.length;g++){var ca=(""+e[g]).split(".");ca.length>=a&&d.push({hash:ca[0],R:e[g],O:ca})}if(0!=d.length)return 1==d.length?d[0]:Zc(b,d)||Zc(c,d)||Zc(null,d)||d[0]}function Zc(a,b){if(null==a)var c=a=1;else c=La(a),a=La(D(a,".")?a.substring(1):"."+a);for(var d=0;d<b.length;d++)if(b[d].hash==c||b[d].hash==a)return b[d]};var od=new RegExp(/^https?:\/\/([^\/:]+)/),De=O.google_tag_data.glBridge,pd=/(.*)([?&#])(?:_ga=[^&#]*)(?:&?)(.*)/,me=/(.*)([?&#])(?:_gac=[^&#]*)(?:&?)(.*)/;function Bc(a){if(a.get(Ze))return J(35),De.generate($e(a));var b=a.get(Q),c=a.get(I)||"";b="_ga=2."+K(pa(c+b,0)+"."+c+"-"+b);(a=af(a))?(J(44),a="&_gac=1."+K([pa(a.qa,0),a.timestamp,a.qa].join("."))):a="";return b+a}
|
||||
function Ic(a,b){var c=new Date,d=O.navigator,e=d.plugins||[];a=[a,d.userAgent,c.getTimezoneOffset(),c.getYear(),c.getDate(),c.getHours(),c.getMinutes()+b];for(b=0;b<e.length;++b)a.push(e[b].description);return La(a.join("."))}function pa(a,b){var c=new Date,d=O.navigator,e=c.getHours()+Math.floor((c.getMinutes()+b)/60);return La([a,d.userAgent,d.language||"",c.getTimezoneOffset(),c.getYear(),c.getDate()+Math.floor(e/24),(24+e)%24,(60+c.getMinutes()+b)%60].join("."))}
|
||||
var Dc=function(a){J(48);this.target=a;this.T=!1};Dc.prototype.ca=function(a,b){if(a){if(this.target.get(Ze))return De.decorate($e(this.target),a,b);if(a.tagName){if("a"==a.tagName.toLowerCase()){a.href&&(a.href=qd(this,a.href,b));return}if("form"==a.tagName.toLowerCase())return rd(this,a)}if("string"==typeof a)return qd(this,a,b)}};
|
||||
var qd=function(a,b,c){var d=pd.exec(b);d&&3<=d.length&&(b=d[1]+(d[3]?d[2]+d[3]:""));(d=me.exec(b))&&3<=d.length&&(b=d[1]+(d[3]?d[2]+d[3]:""));a=a.target.get("linkerParam");var e=b.indexOf("?");d=b.indexOf("#");c?b+=(-1==d?"#":"&")+a:(c=-1==e?"?":"&",b=-1==d?b+(c+a):b.substring(0,d)+c+a+b.substring(d));b=b.replace(/&+_ga=/,"&_ga=");return b=b.replace(/&+_gac=/,"&_gac=")},rd=function(a,b){if(b&&b.action)if("get"==b.method.toLowerCase()){a=a.target.get("linkerParam").split("&");for(var c=0;c<a.length;c++){var d=
|
||||
a[c].split("="),e=d[1];d=d[0];for(var g=b.childNodes||[],ca=!1,l=0;l<g.length;l++)if(g[l].name==d){g[l].setAttribute("value",e);ca=!0;break}ca||(g=M.createElement("input"),g.setAttribute("type","hidden"),g.setAttribute("name",d),g.setAttribute("value",e),b.appendChild(g))}}else"post"==b.method.toLowerCase()&&(b.action=qd(a,b.action))};
|
||||
Dc.prototype.S=function(a,b,c){function d(c){try{c=c||O.event;a:{var d=c.target||c.srcElement;for(c=100;d&&0<c;){if(d.href&&d.nodeName.match(/^a(?:rea)?$/i)){var g=d;break a}d=d.parentNode;c--}g={}}("http:"==g.protocol||"https:"==g.protocol)&&sd(a,g.hostname||"")&&g.href&&(g.href=qd(e,g.href,b))}catch(k){J(26)}}var e=this;this.target.get(Ze)?De.auto(function(){return $e(e.target)},a,b?"fragment":"",c):(this.T||(this.T=!0,L(M,"mousedown",d,!1),L(M,"keyup",d,!1)),c&&L(M,"submit",function(b){b=b||O.event;
|
||||
if((b=b.target||b.srcElement)&&b.action){var c=b.action.match(od);c&&sd(a,c[1])&&rd(e,b)}}))};function sd(a,b){if(b==M.location.hostname)return!1;for(var c=0;c<a.length;c++)if(a[c]instanceof RegExp){if(a[c].test(b))return!0}else if(0<=b.indexOf(a[c]))return!0;return!1}function ke(a,b){return b!=Ic(a,0)&&b!=Ic(a,-1)&&b!=Ic(a,-2)&&b!=pa(a,0)&&b!=pa(a,-1)&&b!=pa(a,-2)}function $e(a){var b=af(a);return{_ga:a.get(Q),_gid:a.get(I)||void 0,_gac:b?[b.qa,b.timestamp].join("."):void 0}}
|
||||
function af(a){function b(a){return void 0==a||""===a?0:Number(a)}var c=a.get(ce);if(c&&a.get(je)){var d=b(a.get(fe));if(1E3*d+b(a.get(he))<=(new Date).getTime())J(76);else return{timestamp:d,qa:c}}};var p=/^(GTM|OPT)-[A-Z0-9]+$/,q=/;_gaexp=[^;]*/g,r=/;((__utma=)|([^;=]+=GAX?\d+\.))[^;]*/g,Aa=/^https?:\/\/[\w\-.]+\.google.com(:\d+)?\/optimize\/opt-launch\.html\?.*$/,t=function(a){function b(a,b){b&&(c+="&"+a+"="+K(b))}var c="https://www.google-analytics.com/gtm/js?id="+K(a.id);"dataLayer"!=a.B&&b("l",a.B);b("t",a.target);b("cid",a.clientId);b("cidt",a.ka);b("gac",a.la);b("aip",a.ia);a.sync&&b("m","sync");b("cycle",a.G);a.qa&&b("gclid",a.qa);Aa.test(M.referrer)&&b("cb",String(hd()));return c};var Jd=function(a,b,c){this.aa=b;(b=c)||(b=(b=P(a,V))&&"t0"!=b?Wd.test(b)?"_gat_"+Cc(P(a,Na)):"_gat_"+Cc(b):"_gat");this.Y=b;this.ra=null},Rd=function(a,b){var c=b.get(Wb);b.set(Wb,function(b){Pd(a,b,ed);Pd(a,b,ia);var d=c(b);Qd(a,b);return d});var d=b.get(Xb);b.set(Xb,function(b){var c=d(b);if(se(b)){if(ne()!==H(a,b)){J(80);var e={U:re(a,b,1),google:re(a,b,2),count:0};pe("https://stats.g.doubleclick.net/j/collect",e.U,e)}else ta(re(a,b,0));b.set(ed,"",!0)}return c})},Pd=function(a,b,c){!1===b.get(Ud)||
|
||||
b.get(c)||("1"==Ca(a.Y)[0]?b.set(c,"",!0):b.set(c,""+hd(),!0))},Qd=function(a,b){se(b)&&zc(a.Y,"1",b.get(Yb),b.get(W),b.get(Na),6E4)},se=function(a){return!!a.get(ed)&&a.get(Ud)},re=function(a,b,c){var d=new ee,e=function(a){$a(a).F&&d.set($a(a).F,b.get(a))};e(hb);e(ib);e(Na);e(Q);e(ed);if(0==c||1==c)e(Ad),e(ia),e(I);d.set($a(ld).F,Td(b));var g="";d.map(function(a,b){g+=K(a)+"=";g+=K(""+b)+"&"});g+="z="+hd();0==c?g=a.aa+g:1==c?g="t=dc&aip=1&_r=3&"+g:2==c&&(g="t=sr&aip=1&_r=4&slf_rd=1&"+g);return g},
|
||||
H=function(a,b){null===a.ra&&(a.ra=1===Ed(b),a.ra&&J(33));return a.ra},Wd=/^gtm\d+$/;var fd=function(a,b){a=a.b;if(!a.get("dcLoaded")){var c=new $c(Dd(a));c.set(29);a.set(Gd,c.w);b=b||{};var d;b[U]&&(d=Cc(b[U]));b=new Jd(a,"https://stats.g.doubleclick.net/r/collect?t=dc&aip=1&_r=3&",d);Rd(b,a);a.set("dcLoaded",!0)}};var Sd=function(a){if(!a.get("dcLoaded")&&"cookie"==a.get(ac)){var b=new Jd(a);Pd(b,a,ed);Pd(b,a,ia);Qd(b,a);if(se(a)){var c=ne()!==H(b,a);a.set(Md,1,!0);c?(J(79),a.set(gd,oe()+"/j/collect",!0),a.set(qe,{U:re(b,a,1),google:re(b,a,2),count:0},!0)):a.set(gd,oe()+"/r/collect",!0)}}};var Lc=function(){var a=O.gaGlobal=O.gaGlobal||{};return a.hid=a.hid||hd()};var ad,bd=function(a,b,c){if(!ad){var d=M.location.hash;var e=O.name,g=/^#?gaso=([^&]*)/;if(e=(d=(d=d&&d.match(g)||e&&e.match(g))?d[1]:Ca("GASO")[0]||"")&&d.match(/^(?:!([-0-9a-z.]{1,40})!)?([-.\w]{10,1200})$/i))zc("GASO",""+d,c,b,a,0),window._udo||(window._udo=b),window._utcp||(window._utcp=c),a=e[1],wa("https://www.google.com/analytics/web/inpage/pub/inpage.js?"+(a?"prefix="+a+"&":"")+hd(),"_gasojs");ad=!0}};var wb=/^(UA|YT|MO|GP)-(\d+)-(\d+)$/,pc=function(a){function b(a,b){d.b.data.set(a,b)}function c(a,c){b(a,c);d.filters.add(a)}var d=this;this.b=new Ya;this.filters=new Ha;b(V,a[V]);b(Na,sa(a[Na]));b(U,a[U]);b(W,a[W]||xa());b(Yb,a[Yb]);b(Zb,a[Zb]);b(Hd,a[Hd]);b($b,a[$b]);b(Wc,a[Wc]);b(bc,a[bc]);b(cc,a[cc]);b(Ka,a[Ka]);b(dc,a[dc]);b(ec,a[ec]);b(ac,a[ac]);b(Ad,a[Ad]);b(n,a[n]);b(Kd,a[Kd]);b(je,a[je]);b(Ze,a[Ze]);b(hb,1);b(ib,"j72");c(Qb,Ma);c(oa,ua);c(dd,cd);c(Rb,Oa);c(md,vb);c(Sb,nc);c(Uc,Yc);c(Tb,
|
||||
Ja);c(Vb,Ta);c(Vc,Hc);c(zd,yd);c(Ld,Sd);c(Wb,Pa);c(Xb,Sa);c(Cd,Fd(this));Kc(this.b);Jc(this.b,a[Q]);this.b.set(jb,Lc());bd(this.b.get(Na),this.b.get(W),this.b.get(Yb))},Jc=function(a,b){var c=P(a,U);a.data.set(la,"_ga"==c?"_gid":c+"_gid");if("cookie"==P(a,ac)){hc=!1;c=Ca(P(a,U));c=Xd(a,c);if(!c){c=P(a,W);var d=P(a,$b)||xa();c=Xc("__utma",d,c);void 0!=c?(J(10),c=c.O[1]+"."+c.O[2]):c=void 0}c&&(hc=!0);if(d=c&&!a.get(Hd))if(d=c.split("."),2!=d.length)d=!1;else if(d=Number(d[1])){var e=R(a,Zb);d=d+e<
|
||||
(new Date).getTime()/1E3}else d=!1;d&&(c=void 0);c&&(a.data.set(xd,c),a.data.set(Q,c),c=Ca(P(a,la)),(c=Xd(a,c))&&a.data.set(I,c));if(a.get(je)&&(c=a.get(ce),d=a.get(ie),!c||d&&"aw.ds"!=d)){c={};if(M){d=[];e=M.cookie.split(";");for(var g=/^\s*_gac_(UA-\d+-\d+)=\s*(.+?)\s*$/,ca=0;ca<e.length;ca++){var l=e[ca].match(g);l&&d.push({ja:l[1],value:l[2]})}e={};if(d&&d.length)for(g=0;g<d.length;g++)(ca=d[g].value.split("."),"1"!=ca[0]||3!=ca.length)?c&&(c.na=!0):ca[1]&&(e[d[g].ja]?c&&(c.pa=!0):e[d[g].ja]=
|
||||
[],e[d[g].ja].push({timestamp:ca[1],qa:ca[2]}));d=e}else d={};d=d[P(a,Na)];le(c);d&&0!=d.length&&(c=d[0],a.data.set(fe,c.timestamp),a.data.set(ce,c.qa))}}if(a.get(Hd)&&(c=be("_ga",a.get(cc)),d=be("_gl",a.get(cc)),e=De.get(a.get(cc)),g=e._ga,d&&0<d.indexOf("_ga")&&!g&&J(30),c||g))if(c&&g&&J(36),a.get(bc)){if(g&&(J(38),a.data.set(Q,g),e._gid&&(J(51),a.data.set(I,e._gid)),e._gac&&(d=e._gac.split("."))&&2==d.length&&(J(37),a.data.set(ce,d[0]),a.data.set(fe,d[1]))),c)b:if(d=c.indexOf("."),-1==d)J(22);
|
||||
else{e=c.substring(0,d);g=c.substring(d+1);d=g.indexOf(".");c=g.substring(0,d);g=g.substring(d+1);if("1"==e){if(d=g,ke(d,c)){J(23);break b}}else if("2"==e){d=g.indexOf("-");e="";0<d?(e=g.substring(0,d),d=g.substring(d+1)):d=g.substring(1);if(ke(e+d,c)){J(53);break b}e&&(J(2),a.data.set(I,e))}else{J(22);break b}J(11);a.data.set(Q,d);if(c=be("_gac",a.get(cc)))c=c.split("."),"1"!=c[0]||4!=c.length?J(72):ke(c[3],c[1])?J(71):(a.data.set(ce,c[3]),a.data.set(fe,c[2]),J(70))}}else J(21);b&&(J(9),a.data.set(Q,
|
||||
K(b)));a.get(Q)||((b=(b=O.gaGlobal&&O.gaGlobal.vid)&&-1!=b.search(jd)?b:void 0)?(J(17),a.data.set(Q,b)):(J(8),a.data.set(Q,ra())));a.get(I)||(J(3),a.data.set(I,ra()));mc(a)},Kc=function(a){var b=O.navigator,c=O.screen,d=M.location;a.set(lb,ya(a.get(ec),a.get(Kd)));if(d){var e=d.pathname||"";"/"!=e.charAt(0)&&(J(31),e="/"+e);a.set(kb,d.protocol+"//"+d.hostname+e+d.search)}c&&a.set(qb,c.width+"x"+c.height);c&&a.set(pb,c.colorDepth+"-bit");c=M.documentElement;var g=(e=M.body)&&e.clientWidth&&e.clientHeight,
|
||||
ca=[];c&&c.clientWidth&&c.clientHeight&&("CSS1Compat"===M.compatMode||!g)?ca=[c.clientWidth,c.clientHeight]:g&&(ca=[e.clientWidth,e.clientHeight]);c=0>=ca[0]||0>=ca[1]?"":ca.join("x");a.set(rb,c);a.set(tb,fc());a.set(ob,M.characterSet||M.charset);a.set(sb,b&&"function"===typeof b.javaEnabled&&b.javaEnabled()||!1);a.set(nb,(b&&(b.language||b.browserLanguage)||"").toLowerCase());a.data.set(ce,be("gclid",!0));a.data.set(ie,be("gclsrc",!0));a.data.set(fe,Math.round((new Date).getTime()/1E3));if(d&&a.get(cc)&&
|
||||
(b=M.location.hash)){b=b.split(/[?&#]+/);d=[];for(c=0;c<b.length;++c)(D(b[c],"utm_id")||D(b[c],"utm_campaign")||D(b[c],"utm_source")||D(b[c],"utm_medium")||D(b[c],"utm_term")||D(b[c],"utm_content")||D(b[c],"gclid")||D(b[c],"dclid")||D(b[c],"gclsrc"))&&d.push(b[c]);0<d.length&&(b="#"+d.join("&"),a.set(kb,a.get(kb)+b))}};pc.prototype.get=function(a){return this.b.get(a)};pc.prototype.set=function(a,b){this.b.set(a,b)};var qc={pageview:[mb],event:[ub,xb,yb,zb],social:[Bb,Cb,Db],timing:[Mb,Nb,Pb,Ob]};
|
||||
pc.prototype.send=function(a){if(!(1>arguments.length)){if("string"===typeof arguments[0]){var b=arguments[0];var c=[].slice.call(arguments,1)}else b=arguments[0]&&arguments[0][Va],c=arguments;b&&(c=za(qc[b]||[],c),c[Va]=b,this.b.set(c,void 0,!0),this.filters.D(this.b),this.b.data.m={})}};pc.prototype.ma=function(a,b){var c=this;u(a,c,b)||(v(a,function(){u(a,c,b)}),y(String(c.get(V)),a,void 0,b,!0))};var rc=function(a){if("prerender"==M.visibilityState)return!1;a();return!0},z=function(a){if(!rc(a)){J(16);var b=!1,c=function(){if(!b&&rc(a)){b=!0;var d=c,e=M;e.removeEventListener?e.removeEventListener("visibilitychange",d,!1):e.detachEvent&&e.detachEvent("onvisibilitychange",d)}};L(M,"visibilitychange",c)}};var td=/^(?:(\w+)\.)?(?:(\w+):)?(\w+)$/,sc=function(a){if(ea(a[0]))this.u=a[0];else{var b=td.exec(a[0]);null!=b&&4==b.length&&(this.c=b[1]||"t0",this.K=b[2]||"",this.C=b[3],this.a=[].slice.call(a,1),this.K||(this.A="create"==this.C,this.i="require"==this.C,this.g="provide"==this.C,this.ba="remove"==this.C),this.i&&(3<=this.a.length?(this.X=this.a[1],this.W=this.a[2]):this.a[1]&&(qa(this.a[1])?this.X=this.a[1]:this.W=this.a[1])));b=a[1];a=a[2];if(!this.C)throw"abort";if(this.i&&(!qa(b)||""==b))throw"abort";
|
||||
if(this.g&&(!qa(b)||""==b||!ea(a)))throw"abort";if(ud(this.c)||ud(this.K))throw"abort";if(this.g&&"t0"!=this.c)throw"abort";}};function ud(a){return 0<=a.indexOf(".")||0<=a.indexOf(":")};var Yd,Zd,$d,A;Yd=new ee;$d=new ee;A=new ee;Zd={ec:45,ecommerce:46,linkid:47};
|
||||
var u=function(a,b,c){b==N||b.get(V);var d=Yd.get(a);if(!ea(d))return!1;b.plugins_=b.plugins_||new ee;if(b.plugins_.get(a))return!0;b.plugins_.set(a,new d(b,c||{}));return!0},y=function(a,b,c,d,e){if(!ea(Yd.get(b))&&!$d.get(b)){Zd.hasOwnProperty(b)&&J(Zd[b]);if(p.test(b)){J(52);a=N.j(a);if(!a)return!0;c=d||{};d={id:b,B:c.dataLayer||"dataLayer",ia:!!a.get("anonymizeIp"),sync:e,G:!1};a.get(">m")==b&&(d.G=!0);var g=String(a.get("name"));"t0"!=g&&(d.target=g);G(String(a.get("trackingId")))||(d.clientId=
|
||||
String(a.get(Q)),d.ka=Number(a.get(n)),c=c.palindrome?r:q,c=(c=M.cookie.replace(/^|(; +)/g,";").match(c))?c.sort().join("").substring(1):void 0,d.la=c,d.qa=E(a.b.get(kb)||"","gclid"));a=d.B;c=(new Date).getTime();O[a]=O[a]||[];c={"gtm.start":c};e||(c.event="gtm.js");O[a].push(c);c=t(d)}!c&&Zd.hasOwnProperty(b)?(J(39),c=b+".js"):J(43);c&&(c&&0<=c.indexOf("/")||(c=(Ba||"https:"==M.location.protocol?"https:":"http:")+"//www.google-analytics.com/plugins/ua/"+c),d=ae(c),a=d.protocol,c=M.location.protocol,
|
||||
("https:"==a||a==c||("http:"!=a?0:"http:"==c))&&B(d)&&(wa(d.url,void 0,e),$d.set(b,!0)))}},v=function(a,b){var c=A.get(a)||[];c.push(b);A.set(a,c)},C=function(a,b){Yd.set(a,b);b=A.get(a)||[];for(var c=0;c<b.length;c++)b[c]();A.set(a,[])},B=function(a){var b=ae(M.location.href);if(D(a.url,"https://www.google-analytics.com/gtm/js?id="))return!0;if(a.query||0<=a.url.indexOf("?")||0<=a.path.indexOf("://"))return!1;if(a.host==b.host&&a.port==b.port)return!0;b="http:"==a.protocol?80:443;return"www.google-analytics.com"==
|
||||
a.host&&(a.port||b)==b&&D(a.path,"/plugins/")?!0:!1},ae=function(a){function b(a){var b=a.hostname||"",c=0<=b.indexOf("]");b=b.split(c?"]":":")[0].toLowerCase();c&&(b+="]");c=(a.protocol||"").toLowerCase();c=1*a.port||("http:"==c?80:"https:"==c?443:"");a=a.pathname||"";D(a,"/")||(a="/"+a);return[b,""+c,a]}var c=M.createElement("a");c.href=M.location.href;var d=(c.protocol||"").toLowerCase(),e=b(c),g=c.search||"",ca=d+"//"+e[0]+(e[1]?":"+e[1]:"");D(a,"//")?a=d+a:D(a,"/")?a=ca+a:!a||D(a,"?")?a=ca+e[2]+
|
||||
(a||g):0>a.split("/")[0].indexOf(":")&&(a=ca+e[2].substring(0,e[2].lastIndexOf("/"))+"/"+a);c.href=a;d=b(c);return{protocol:(c.protocol||"").toLowerCase(),host:d[0],port:d[1],path:d[2],query:c.search||"",url:a||""}};var Z={ga:function(){Z.f=[]}};Z.ga();Z.D=function(a){var b=Z.J.apply(Z,arguments);b=Z.f.concat(b);for(Z.f=[];0<b.length&&!Z.v(b[0])&&!(b.shift(),0<Z.f.length););Z.f=Z.f.concat(b)};Z.J=function(a){for(var b=[],c=0;c<arguments.length;c++)try{var d=new sc(arguments[c]);d.g?C(d.a[0],d.a[1]):(d.i&&(d.ha=y(d.c,d.a[0],d.X,d.W)),b.push(d))}catch(e){}return b};
|
||||
Z.v=function(a){try{if(a.u)a.u.call(O,N.j("t0"));else{var b=a.c==gb?N:N.j(a.c);if(a.A){if("t0"==a.c&&(b=N.create.apply(N,a.a),null===b))return!0}else if(a.ba)N.remove(a.c);else if(b)if(a.i){if(a.ha&&(a.ha=y(a.c,a.a[0],a.X,a.W)),!u(a.a[0],b,a.W))return!0}else if(a.K){var c=a.C,d=a.a,e=b.plugins_.get(a.K);e[c].apply(e,d)}else b[a.C].apply(b,a.a)}}catch(g){}};var N=function(a){J(1);Z.D.apply(Z,[arguments])};N.h={};N.P=[];N.L=0;N.ya=0;N.answer=42;var uc=[Na,W,V];N.create=function(a){var b=za(uc,[].slice.call(arguments));b[V]||(b[V]="t0");var c=""+b[V];if(N.h[c])return N.h[c];if(da(b))return null;b=new pc(b);N.h[c]=b;N.P.push(b);return b};N.remove=function(a){for(var b=0;b<N.P.length;b++)if(N.P[b].get(V)==a){N.P.splice(b,1);N.h[a]=null;break}};N.j=function(a){return N.h[a]};N.getAll=function(){return N.P.slice(0)};
|
||||
N.N=function(){"ga"!=gb&&J(49);var a=O[gb];if(!a||42!=a.answer){N.L=a&&a.l;N.ya=1*new Date;N.loaded=!0;var b=O[gb]=N;X("create",b,b.create);X("remove",b,b.remove);X("getByName",b,b.j,5);X("getAll",b,b.getAll,6);b=pc.prototype;X("get",b,b.get,7);X("set",b,b.set,4);X("send",b,b.send);X("requireSync",b,b.ma);b=Ya.prototype;X("get",b,b.get);X("set",b,b.set);if("https:"!=M.location.protocol&&!Ba){a:{b=M.getElementsByTagName("script");for(var c=0;c<b.length&&100>c;c++){var d=b[c].src;if(d&&0==d.indexOf("https://www.google-analytics.com/analytics")){b=
|
||||
!0;break a}}b=!1}b&&(Ba=!0)}(O.gaplugins=O.gaplugins||{}).Linker=Dc;b=Dc.prototype;C("linker",Dc);X("decorate",b,b.ca,20);X("autoLink",b,b.S,25);C("displayfeatures",fd);C("adfeatures",fd);a=a&&a.q;ka(a)?Z.D.apply(N,a):J(50)}};N.da=function(){for(var a=N.getAll(),b=0;b<a.length;b++)a[b].get(V)};var Nd=N.N,te=O[gb];te&&te.r?Nd():z(Nd);z(function(){Z.D(["provide","render",ua])});})(window);
|
||||
7
public/static/js/ec.js
Normal file
@@ -0,0 +1,7 @@
|
||||
(function(){var e=window,f="push",k="length",l="prototype",q=function(a){if(a.get&&a.set){this.clear();var d=a.get("buildHitTask");a.set("buildHitTask",n(this,d));a.set("_rlt",p(this,a.get("_rlt")))}},r={action:"pa",promoAction:"promoa",id:"ti",affiliation:"ta",revenue:"tr",tax:"tt",shipping:"ts",coupon:"tcc",step:"cos",label:"col",option:"col",options:"col",list:"pal",listSource:"pls"},t={id:"id",name:"nm",brand:"br",category:"ca",variant:"va",position:"ps",price:"pr",quantity:"qt",coupon:"cc","dimension(\\d+)":"cd",
|
||||
"metric(\\d+)":"cm"},u={id:"id",name:"nm",creative:"cr",position:"ps"},v=function(a,d){this.name=a;this.source=d;this.e=[]},w="detail checkout checkout_option click add remove purchase refund".split(" ");q[l].clear=function(){this.b=void 0;this.f=[];this.a=[];this.g=[];this.d=void 0};q[l].h=function(a,d){var b=d||{};"promo_click"==a?b.promoAction="click":b.action=a;this.b=x(b)};q[l].j=function(a){(a=x(a))&&this.f[f](a)};
|
||||
q[l].i=function(a){var d=x(a);if(d){var b,c=a.list||"";a=a.listSource||"";for(var g=0;g<this.a[k];g++)if(this.a[g].name==c){b=this.a[g];break}b||(b=new v(c,a),this.a[f](b));b.e[f](d)}};q[l].c=function(a){(a=x(a))&&this.g[f](a)};var y=function(a,d,b){if("[object Array]"==Object[l].toString.call(Object(a)))for(var c=0;c<a[k];c++)d.call(b,a[c])};
|
||||
q[l].data=function(a){if(a&&a.ecommerce){a=a.ecommerce;a.promoView&&y(a.promoView.promotions,this.c,this);a.promoClick&&(this.h("promo_click",a.promoClick.actionField),y(a.promoClick.promotions,this.c,this));for(var d=0;d<w[k];d++){var b=a[w[d]];if(b){this.h(w[d],b.actionField);y(b.products,this.j,this);break}}y(a.impressions,this.i,this);a.currencyCode&&(this.d=a.currencyCode)}};
|
||||
var n=function(a,d){return function(b){var c,g,h;a.b&&z(r,a.b,b,"&");for(c=0;c<a.f[k];c++)g="&pr"+(c+1),z(t,a.f[c],b,g);for(c=0;c<a.a[k];c++){h=a.a[c];g="&il"+(c+1);h.name&&b.set(g+"nm",h.name,!0);h.source&&b.set(g+"ls",h.source,!0);for(var m=0;m<h.e[k];m++)z(t,h.e[m],b,g+"pi"+(m+1))}for(c=0;c<a.g[k];c++)g="&promo"+(c+1),z(u,a.g[c],b,g);a.d&&b.set("&cu",a.d,!0);a.clear();return d(b)}},p=function(a,d){return function(b){var c=a.b&&a.b.action;if("purchase"!=c&&"refund"!=c)return d(b)}},x=function(a){var d=
|
||||
0,b={};if(a&&"object"==typeof a)for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c],d++);return d?b:void 0},z=function(a,d,b,c){for(var g in d)if(d.hasOwnProperty(g))for(var h in a)if(a.hasOwnProperty(h)){var m=g.match("^"+h+"$");m&&b.set(c+a[h]+m.slice(1).join(""),d[g],!0)}};
|
||||
(function(){e.gaplugins=e.gaplugins||{};e.gaplugins.EC=q;q[l].setAction=q[l].h;q[l].addProduct=q[l].j;q[l].addImpression=q[l].i;q[l].addPromo=q[l].c;q[l].clear=q[l].clear;q[l].data=q[l].data;var a=e.GoogleAnalyticsObject||"ga";e[a]=e[a]||function(){(e[a].q=e[a].q||[])[f](arguments)};e[a]("provide","ec",q)})();})();
|
||||
42
public/static/js/footer.js
Normal file
@@ -0,0 +1,42 @@
|
||||
// $(window).scroll(function () {
|
||||
// var wid = $(document).width();
|
||||
// if (wid > 1200) {
|
||||
// if ($(document).scrollTop() > 50) {
|
||||
// if ($(".zh_top").hasClass("white")) {
|
||||
// } else {
|
||||
// $(".zh_top").addClass("white");
|
||||
// $(".zh_head").animate({"height": "50px"});
|
||||
// $(".zh_nav").animate({"height": "70px"});
|
||||
// }
|
||||
// }
|
||||
// ;
|
||||
// if ($(document).scrollTop() < 50) {
|
||||
// if ($(".zh_top").hasClass("white")) {
|
||||
// $(".zh_top").removeClass("white");
|
||||
// $(".zh_head").animate({"height": "60px"});
|
||||
// $(".zh_nav").animate({"height": "100px"});
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
// $(".zh_nav_btn").click(function () {
|
||||
// if ($(".nav_con").hasClass("open")) {
|
||||
// $(".nav_con").removeClass("open").slideUp();
|
||||
// } else {
|
||||
// $(".nav_con").addClass("open").slideDown();
|
||||
// }
|
||||
// })
|
||||
|
||||
$(window).scroll(function() {
|
||||
if ($(document).scrollTop() > 5) {
|
||||
$(".zh_top").animate({}, 500).addClass("blackbg");
|
||||
// $(".nav_con a").attr('style', 'color:#000')
|
||||
// $(".zh_hr a, .zh_hr span").attr('style', 'color:#000')
|
||||
// $(".swiper").attr('style', 'color:#000')
|
||||
} else {
|
||||
$(".zh_top").animate({}, 500).removeClass("blackbg");
|
||||
// $(".nav_con a").attr('style', 'color:#fff')
|
||||
// $(".zh_hr a, .zh_hr span").attr('style', 'color:#fff')
|
||||
// $(".swiper").attr('style', 'color:#fff')
|
||||
}
|
||||
})
|
||||
2
public/static/js/jquery-1.8.3.min.js
vendored
Normal file
13
public/static/js/jquery-weui.min.js
vendored
Normal file
6
public/static/js/jquery.js
vendored
Normal file
167
public/static/js/passport-ocr-sdk.min.js
vendored
Normal file
@@ -0,0 +1,167 @@
|
||||
;(function (global) {
|
||||
"use strict";
|
||||
|
||||
function isFileLike(v) {
|
||||
return (typeof File !== "undefined" && v instanceof File) ||
|
||||
(typeof Blob !== "undefined" && v instanceof Blob);
|
||||
}
|
||||
|
||||
function fileToDataURL(file) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
var reader = new FileReader();
|
||||
reader.onload = function () {
|
||||
resolve(reader.result);
|
||||
};
|
||||
reader.onerror = reject;
|
||||
reader.readAsDataURL(file);
|
||||
});
|
||||
}
|
||||
|
||||
async function normalizeImageInput(input) {
|
||||
if (typeof input === "string") {
|
||||
return {
|
||||
image_base64: input,
|
||||
filename: "upload_base64",
|
||||
content_type: null
|
||||
};
|
||||
}
|
||||
|
||||
if (isFileLike(input)) {
|
||||
var dataURL = await fileToDataURL(input);
|
||||
return {
|
||||
image_base64: dataURL,
|
||||
filename: input.name || "upload_file",
|
||||
content_type: input.type || null
|
||||
};
|
||||
}
|
||||
|
||||
throw new Error("只支持 base64 字符串、File 或 Blob");
|
||||
}
|
||||
|
||||
async function parseJSONResponse(resp) {
|
||||
var text = await resp.text();
|
||||
var data = null;
|
||||
|
||||
try {
|
||||
data = text ? JSON.parse(text) : null;
|
||||
} catch (e) {
|
||||
data = text;
|
||||
}
|
||||
|
||||
if (!resp.ok) {
|
||||
var msg = data && data.detail ? data.detail : text || ("HTTP " + resp.status);
|
||||
throw new Error(msg);
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
function normalizeSign(rawSign, fallbackAppId) {
|
||||
if (rawSign === undefined || rawSign === null || rawSign === "") {
|
||||
throw new Error("sign 不能为空,必须由客户后端传入签名字符串或对象");
|
||||
}
|
||||
|
||||
var data = rawSign;
|
||||
if (typeof rawSign === "string") {
|
||||
try {
|
||||
data = JSON.parse(rawSign);
|
||||
} catch (e) {
|
||||
throw new Error('sign 字符串必须是 JSON 字符串,例如 {"timestamp":"1718123456","signature":"xxxx"}');
|
||||
}
|
||||
}
|
||||
|
||||
if (!data || typeof data !== "object") {
|
||||
throw new Error("sign 必须是对象,或可解析为对象的 JSON 字符串");
|
||||
}
|
||||
|
||||
var appId = data.app_id || data.appId || fallbackAppId;
|
||||
var timestamp = data.timestamp;
|
||||
var signature = data.signature;
|
||||
|
||||
if (!appId || !timestamp || !signature) {
|
||||
throw new Error("sign 必须包含 timestamp 和 signature;app_id 可省略并回退到 config.appId");
|
||||
}
|
||||
|
||||
return {
|
||||
app_id: String(appId),
|
||||
timestamp: String(timestamp),
|
||||
signature: String(signature)
|
||||
};
|
||||
}
|
||||
|
||||
function PassportOCRClient(config) {
|
||||
this.apiBase = (config.apiBase || "").replace(/\/+$/, "");
|
||||
this.appId = config.appId || "";
|
||||
this.sign = config.sign;
|
||||
|
||||
if (!this.apiBase) {
|
||||
throw new Error("apiBase 不能为空");
|
||||
}
|
||||
if (!this.appId) {
|
||||
throw new Error("appId 不能为空");
|
||||
}
|
||||
}
|
||||
|
||||
PassportOCRClient.prototype.setSign = function (sign) {
|
||||
this.sign = sign;
|
||||
return this;
|
||||
};
|
||||
|
||||
PassportOCRClient.prototype.getSignature = function (signOverride) {
|
||||
var rawSign = signOverride !== undefined ? signOverride : this.sign;
|
||||
return normalizeSign(rawSign, this.appId);
|
||||
};
|
||||
|
||||
PassportOCRClient.prototype.callOCR = async function (path, input, options) {
|
||||
options = options || {};
|
||||
|
||||
var imageInfo = await normalizeImageInput(input);
|
||||
var payload = {
|
||||
filename: options.filename || imageInfo.filename,
|
||||
content_type: options.content_type || imageInfo.content_type,
|
||||
image_base64: imageInfo.image_base64,
|
||||
text_rec_score_thresh: options.text_rec_score_thresh ?? 0.3,
|
||||
mrz_text_rec_score_thresh: options.mrz_text_rec_score_thresh ?? 0.0,
|
||||
mrz_top_ratio: options.mrz_top_ratio ?? 0.68,
|
||||
return_debug: !!options.return_debug,
|
||||
auto_rotate: options.auto_rotate ?? true
|
||||
};
|
||||
|
||||
var signed = this.getSignature(options.sign);
|
||||
|
||||
var resp = await fetch(this.apiBase + path, {
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"X-App-Id": signed.app_id,
|
||||
"X-Timestamp": signed.timestamp,
|
||||
"X-Signature": signed.signature
|
||||
},
|
||||
body: JSON.stringify(payload)
|
||||
});
|
||||
|
||||
return await parseJSONResponse(resp);
|
||||
};
|
||||
|
||||
PassportOCRClient.prototype.recognizePassport = function (input, options) {
|
||||
return this.callOCR("/ocr/passport/base64", input, options);
|
||||
};
|
||||
|
||||
PassportOCRClient.prototype.recognizeMRZ = function (input, options) {
|
||||
return this.callOCR("/ocr/mrz/base64", input, options);
|
||||
};
|
||||
|
||||
PassportOCRClient.prototype.recognizeIdCard = function (input, options) {
|
||||
return this.callOCR("/ocr/idcard/base64", input, options);
|
||||
};
|
||||
|
||||
PassportOCRClient.prototype.recognizeVisaNumber = function (input, options) {
|
||||
return this.callOCR("/ocr/visa-number/base64", input, options);
|
||||
};
|
||||
|
||||
global.PassportOCRSDK = {
|
||||
create: function (config) {
|
||||
return new PassportOCRClient(config || {});
|
||||
}
|
||||
};
|
||||
})(window);
|
||||
45
public/static/js/pub.js
Normal file
@@ -0,0 +1,45 @@
|
||||
$(function(){
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// nav
|
||||
var _width=$(window).width();
|
||||
|
||||
|
||||
$('.menu-btn').click(function(event) {
|
||||
event.stopPropagation()
|
||||
$('.nav').stop().slideToggle();
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
})
|
||||
0
public/static/js/sgp.js
Normal file
405
public/static/js/th.js
Normal file
8
public/static/js/xm-select.js
Normal file
1
public/static/layui/css/layui.css
Normal file
BIN
public/static/layui/font/iconfont.eot
Normal file
409
public/static/layui/font/iconfont.svg
Normal file
|
After Width: | Height: | Size: 326 KiB |
BIN
public/static/layui/font/iconfont.ttf
Normal file
BIN
public/static/layui/font/iconfont.woff
Normal file
BIN
public/static/layui/font/iconfont.woff2
Normal file
1
public/static/layui/layui.js
Normal file
242
public/static/new_date/css/calendar.min.css
vendored
Normal file
@@ -0,0 +1,242 @@
|
||||
|
||||
|
||||
.dates_box .form-control,
|
||||
.dates_box input[type="text"],
|
||||
.dates_box input[type="email"],
|
||||
.dates_box input[type="number"],
|
||||
.dates_box input[type="password"],
|
||||
.dates_box input[type="tel"], /* 注意:phone 应该用 tel */
|
||||
.dates_box select {
|
||||
display: inline-block;
|
||||
height: auto;
|
||||
padding: 0;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.dates_box {
|
||||
position: absolute;
|
||||
width: 250px;
|
||||
border: 1px solid #ccc;
|
||||
-webkit-box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, .1);
|
||||
-moz-box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, .1);
|
||||
box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, .1);
|
||||
background: #fff;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.choose_btn, .dates_choose {
|
||||
float: left;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.dates_box_top {
|
||||
height: 26px;
|
||||
padding: 5px
|
||||
}
|
||||
|
||||
.dates_choose {
|
||||
width: 116px;
|
||||
border: 1px solid #ccc
|
||||
}
|
||||
|
||||
.choose_btn {
|
||||
width: 20px;
|
||||
height: 24px;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
background: #eee
|
||||
}
|
||||
|
||||
.dates_choose .sign {
|
||||
display: inline-block;
|
||||
height: 0;
|
||||
line-height: 0;
|
||||
width: 0;
|
||||
border: 4px dashed transparent;
|
||||
vertical-align: middle;
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
.prev_choose {
|
||||
border-right: 1px solid #ccc
|
||||
}
|
||||
|
||||
.next_choose {
|
||||
float: right;
|
||||
border-left: 1px solid #ccc
|
||||
}
|
||||
|
||||
.choose_btn .sign {
|
||||
margin-top: 7px
|
||||
}
|
||||
|
||||
.prev_choose .sign {
|
||||
border-left-width: 0;
|
||||
border-right-color: #333
|
||||
}
|
||||
|
||||
.next_choose .sign {
|
||||
border-right-width: 0;
|
||||
border-left-color: #333
|
||||
}
|
||||
|
||||
.ipt_wrap {
|
||||
float: left;
|
||||
width: 74px;
|
||||
height: 24px;
|
||||
line-height: 24px;
|
||||
background: #fff;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.ipt_wrap input {
|
||||
vertical-align: -1px
|
||||
}
|
||||
|
||||
.ipt_wrap .dlt_status {
|
||||
border: none !important;
|
||||
font-size: 12px !important;
|
||||
}
|
||||
|
||||
.ipt_wrap .sign {
|
||||
border-bottom-width: 0;
|
||||
border-top-color: #333;
|
||||
margin-right: 4px
|
||||
}
|
||||
|
||||
.dates_btn, .dates_hms, .dates_table {
|
||||
border: 1px solid #ccc
|
||||
}
|
||||
|
||||
.ipt_wrap small {
|
||||
font-size: 12px;
|
||||
margin-right: 5px
|
||||
}
|
||||
|
||||
.dates_mm {
|
||||
float: right
|
||||
}
|
||||
|
||||
.dates_table {
|
||||
margin: 0 auto;
|
||||
width: 238px;
|
||||
border-collapse: collapse;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.dates_table thead tr th {
|
||||
background: #eee;
|
||||
border-bottom: 1px solid #ccc;
|
||||
height: 24px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.dates_table tr td {
|
||||
height: 24px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.dates_mm_list span:hover, .dates_table tr td:hover, .dates_yy_list span:hover {
|
||||
background: #f2f2f2;
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
.other_day {
|
||||
color: #aaa
|
||||
}
|
||||
|
||||
.disable_day {
|
||||
color: #ddd;
|
||||
background: #f7f7f7
|
||||
}
|
||||
|
||||
.current_day, .dates_mm_list span.current, .dates_yy_list span.current {
|
||||
background: #ebebeb
|
||||
}
|
||||
|
||||
.dates_btn a, .dates_click, .time_tag {
|
||||
background: #eee
|
||||
}
|
||||
|
||||
.dates_bottom {
|
||||
padding: 5px;
|
||||
height: 36px;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
.time_tag {
|
||||
padding: 0 4px;
|
||||
margin-right: 4px
|
||||
}
|
||||
|
||||
.dates_hms {
|
||||
float: left;
|
||||
width: 114px;
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.dates_hms li {
|
||||
float: left;
|
||||
height: 24px;
|
||||
line-height: 24px;
|
||||
vertical-align: middle
|
||||
}
|
||||
|
||||
.dates_hms li input {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
line-height: 14px;
|
||||
text-align: center;
|
||||
vertical-align: middle
|
||||
}
|
||||
|
||||
.dates_hms li input.dlt_status {
|
||||
width: 18px;
|
||||
border: none !important;
|
||||
font-size: 12px !important;
|
||||
}
|
||||
|
||||
.dates_btn {
|
||||
float: right;
|
||||
width: 118px;
|
||||
border-right: none
|
||||
}
|
||||
|
||||
.dates_btn a {
|
||||
float: left;
|
||||
cursor: pointer;
|
||||
height: 24px;
|
||||
line-height: 24px;
|
||||
padding: 0 7px;
|
||||
border-right: 1px solid #ccc;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.choose_btn:hover, .dates_btn a:hover {
|
||||
background: #fefefe
|
||||
}
|
||||
|
||||
.dates_mm_list, .dates_yy_list {
|
||||
width: 116px;
|
||||
height: 175px;
|
||||
overflow-y: auto;
|
||||
position: absolute;
|
||||
left: -1px;
|
||||
top: 24px;
|
||||
background: #fff;
|
||||
border: 1px solid #ccc
|
||||
}
|
||||
|
||||
.dates_mm_list span {
|
||||
float: left;
|
||||
line-height: 24px;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.dates_yy_list span {
|
||||
display: block;
|
||||
line-height: 24px;
|
||||
text-align: center;
|
||||
font-size: 12px
|
||||
}
|
||||
359
public/static/new_date/js/calendar.min.js
vendored
Normal file
@@ -0,0 +1,359 @@
|
||||
!function (a) {
|
||||
"function" == typeof define ? define("xvDate", [], function (b, c, d) {
|
||||
var e = {};
|
||||
a(e), d.exports = e.xvDate
|
||||
}) : a(window)
|
||||
}(function (a) {
|
||||
var b = {};
|
||||
a.xvDate = function (a) {
|
||||
var c = a.trigger || a.target;
|
||||
if ("object" == typeof c && c.length) for (var d = [], e = 0; e < c.length; e++) d.push(c[e]), b.enable(d[e], d, a);
|
||||
else d = c, b.enable(d, d, a)
|
||||
}, b.fn = b.prototype = {
|
||||
init: function (a) {
|
||||
this.creatView(a), this.initTimes(!1)
|
||||
}, gb: {}, creatView: function (a) {
|
||||
var c, d = a || {}, e = this, f = d.target || document.querySelector("#dates"), g = f;
|
||||
if (e.gb.algin = d.align ? d.align : g,e.gb.done = d.done, e.gb.format = d.format || "-", e.gb.hms = null, e.gb.zIndex = d.zIndex || 9999, e.gb.trigger = d.trigger, e.limitTime(d.min, "minTime"), e.limitTime(d.max, "maxTime"), e.gb.datesBox) e.gb.target === g || e.ishd(e.gb.datesBox) ? e.shde(e.gb.datesBox) : (b.removeEvent(document, "click", e.docArea), e.shde(e.gb.datesBox, 2)), e.gb.target = g, e.setPosition(e.gb.algin, e.gb.datesBox, {
|
||||
left: 0, top: 0
|
||||
}), e.setPosition(e.gb.algin, e.gb.datesBox), c = {that: e}, b.removeEvent(document, "click", e.docArea), b.addEvent(document, "click", e.docArea, c), e.gb.datesBox.style.zIndex = e.gb.zIndex; else {
|
||||
var h = e.gb.datesBox = e.creatEle("div");
|
||||
e.gb.datesBox.id = "xv_Dates_box", e.gb.target = g, e.gb.datesBox.className = "dates_box", e.gb.datesBox.style.display = "block", e.gb.datesBox.style.zIndex = e.gb.zIndex, e.append(e.gb.datesBox), h.innerHTML = "<div class='dates_box_top'><div class='dates_yy dates_choose'><span class='prev_choose choose_btn xv_Yy_prev' ><i class='sign'></i></span><span class='ipt_wrap xv_Year_wrap' ><input class='dlt_status xv_Ipt_year' style='width:32px;margin-left:4px;' type='text'><small>年</small><i class='sign'></i></span><span class='next_choose choose_btn xv_Yy_next' ><i class='sign'></i></span><div class='dates_yy_list xv_Dates_yy_list' style='display:none'>" + function () {
|
||||
for (var a = "", b = 1920; b < 2100; b++) a += "<span dateValue = " + b + ">" + b + "</span>";
|
||||
return a
|
||||
}() + "</div></div><div class='dates_mm dates_choose'><span class='prev_choose choose_btn xv_Mm_prev'><i class='sign'></i></span><span class='ipt_wrap xv_Moth_wrap' ><input class='dlt_status xv_Ipt_month' style='width:16px;margin-left:10px;' type='text'><small>月</small><i class='sign'></i></span><span class='next_choose choose_btn xv_Mm_next' ><i class='sign'></i></span><div class='dates_mm_list xv_Dates_mm_list' style='display:none'>" + function () {
|
||||
for (var a = "", b = 1; b < 13; b++) a += b < 10 ? "<span dateValue =" + b + ">0" + b + "月</span>" : "<span dateValue =" + b + ">" + b + "月</span>";
|
||||
return a
|
||||
}() + "</div></div></div>" + this.viewTb() + "<div class='dates_bottom'><ul class='dates_hms dates_hms'><li class='time_tag'>时间</li><li><input type='text' class='dlt_status xv_Hours'><span>:</span></li><li><input type='text' class='dlt_status xv_Minutes'><span>:</span></li><li><input type='text' class='dlt_status xv_Seconds'><span> </span></li></ul><div class='dates_btn'><a class='xv_Dates_clear'>清空</a><a class='xv_Dates_today'>今天</a><a class='xv_Dates_ok'>确认</a></div></div>", e.handleTime(), e.gb.datesHms = document.querySelector(".dates_hms"), e.setPosition(e.gb.algin, e.gb.datesBox, {
|
||||
left: 0, top: 0
|
||||
}), e.setPosition(e.gb.algin, e.gb.datesBox), c = {that: e}, b.addEvent(document, "click", e.docArea, c)
|
||||
}
|
||||
// 强制隐藏下拉框(确保每次打开都隐藏)
|
||||
if (e.gb.els) {
|
||||
e.gb.els.yyList.style.display = "none";
|
||||
e.gb.els.mmList.style.display = "none";
|
||||
}
|
||||
var i = this.gb.datesHms;
|
||||
i ? this.shde(i, 2) : this.shde(i, 1);
|
||||
var j = d.trigger || d.target;
|
||||
if ("object" == typeof j && j.length) {
|
||||
e.gb.trigger = [];
|
||||
for (var k = 0; k < j.length; k++) e.gb.trigger.push(j[k])
|
||||
} else e.gb.trigger = j
|
||||
}, docArea: function (a) {
|
||||
var b = a.srcElement || a.target, c = a.datas.that;
|
||||
!c.ishd(c.gb.datesBox) && !c.contain(c.gb.datesBox, b) && b !== c.gb.target && !c.isExistObj(c.gb.trigger, b) && c.shde(c.gb.datesBox, 1)
|
||||
}, limitTime: function (a, b) {
|
||||
var c = this.checkTime(a);
|
||||
this.gb[b] = c ? this.datesSplit(c) : null
|
||||
}, datesSplit: function (a) {
|
||||
return a ? (datesTimeArr = a.split(" "), datesArr = datesTimeArr[0].split(/[-\/]/), timesArr = this.gb.hms && datesTimeArr[1] ? datesTimeArr[1].split(":") : null, {
|
||||
year: datesArr[0],
|
||||
month: datesArr[1],
|
||||
date: datesArr[2],
|
||||
hours: timesArr ? timesArr[0] : 0,
|
||||
minutes: timesArr ? timesArr[1] : 0,
|
||||
seconds: timesArr ? timesArr[2] : 0
|
||||
}) : a
|
||||
}, handleTime: function () {
|
||||
var a = this;
|
||||
a.gb.td = document.querySelector("#dates_table").getElementsByTagName("td");
|
||||
for (var c = a.gb.els = {
|
||||
yearWrap: document.querySelector(".xv_Year_wrap"),
|
||||
monthWrap: document.querySelector(".xv_Moth_wrap"),
|
||||
yyList: document.querySelector(".xv_Dates_yy_list"),
|
||||
mmList: document.querySelector(".xv_Dates_mm_list"),
|
||||
yyConList: document.querySelector(".xv_Dates_yy_list").getElementsByTagName("span"),
|
||||
mmConList: document.querySelector(".xv_Dates_mm_list").getElementsByTagName("span"),
|
||||
yyPrev: document.querySelector(".xv_Yy_prev"),
|
||||
yyNext: document.querySelector(".xv_Yy_next"),
|
||||
mmPrev: document.querySelector(".xv_Mm_prev"),
|
||||
mmNext: document.querySelector(".xv_Mm_next"),
|
||||
datesClear: document.querySelector(".xv_Dates_clear"),
|
||||
datesToday: document.querySelector(".xv_Dates_today"),
|
||||
datesOk: document.querySelector(".xv_Dates_ok"),
|
||||
iptYear: document.querySelector(".xv_Ipt_year"),
|
||||
iptMonth: document.querySelector(".xv_Ipt_month"),
|
||||
iptHours: document.querySelector(".xv_Hours"),
|
||||
iptMinutes: document.querySelector(".xv_Minutes"),
|
||||
iptSeconds: document.querySelector(".xv_Seconds")
|
||||
}, d = [c.iptYear, c.iptMonth, c.iptHours, c.iptMinutes, c.iptSeconds], e = 0; e < d.length; e++) b.addEvent(d[e], "click", a.focusStatus);
|
||||
b.addEvent(c.iptYear, "blur", function () {
|
||||
var b = "^((19[0-9]{2})|(2[0-9]{3}))$", c = this, d = a.checkFocus(b, c, a.gb.time.year);
|
||||
d && (a.gb.time.year = d, a.insertDate())
|
||||
}), b.addEvent(c.iptMonth, "blur", function () {
|
||||
var b = "^((0[1-9])|(1[0-2])|[1-9])$", c = this, d = a.checkFocus(b, c, a.formatTime(a.gb.time.month));
|
||||
d && (a.gb.time.month = d, a.insertDate())
|
||||
}), b.addEvent(c.iptHours, "blur", function () {
|
||||
var b = this;
|
||||
a.gb.time.hours = a.checkFocus("^(([0-1][0-9])|(2[0-3])|[0-9])$", b, "00")
|
||||
}), b.addEvent(c.iptMinutes, "blur", function () {
|
||||
var b = this;
|
||||
a.gb.time.minutes = a.checkFocus("^(([0-5][0-9])|[0-9])$", b, "00")
|
||||
}), b.addEvent(c.iptSeconds, "blur", function () {
|
||||
var b = this;
|
||||
a.gb.time.seconds = a.checkFocus("^(([0-5][0-9])|[0-9])$", b, "00")
|
||||
}), b.addEvent(c.datesClear, "click", function () {
|
||||
a.gb.target.value = ""
|
||||
}), b.addEvent(c.datesOk, "click", function () {
|
||||
var b = a.gb.hms ? "hms" : "ymd", c = a.gb.time;
|
||||
a.compareTime(c.year, c.month, c.date, b) && a.getOkTime()
|
||||
}), b.addEvent(c.datesToday, "click", function () {
|
||||
a.initTimes(!0)
|
||||
}), b.addEvent(c.yearWrap, "click", a.yearLst, {
|
||||
els: c, that: a
|
||||
}), b.addEvent(a.gb.datesBox, "click", a.ymLst, {
|
||||
els: c, that: a
|
||||
}), a.ymClick(c.yyConList, c.yyList, "year"), a.ymClick(c.mmConList, c.mmList, "month"), b.addEvent(c.monthWrap, "click", function () {
|
||||
"none" === c.mmList.style.display ? document.activeElement !== c.iptMonth && (c.mmList.style.display = "block") : c.mmList.style.display = "none"
|
||||
});
|
||||
var f = {mmPrev: [-1, "month"], mmNext: [1, "month"], yyPrev: [-1, "year"], yyNext: [1, "year"]};
|
||||
for (e in f) b.addEvent(c[e], "click", a.datesBtn, {that: a, direction: f[e][0], type: f[e][1]});
|
||||
for (e = 0; e < a.gb.td.length; e++) b.addEvent(a.gb.td[e], "click", a.getDate, {that: a})
|
||||
}, getDate: function (a) {
|
||||
var b, c = this.innerHTML, d = a.datas.that, e = parseInt(this.getAttribute("m"), 10);
|
||||
b = 1 === d.gb.time.month && 12 === e ? d.gb.time.year - 1 : 12 === d.gb.time.month && 1 === e ? d.gb.time.year + 1 : d.gb.time.year, d.compareTime(b, e, c) && (d.gb.time.year = b, d.gb.time.month = e, d.gb.time.date = c, d.insertDate(), d.getOkTime())
|
||||
}, yearLst: function (a) {
|
||||
var b = a.datas.els, c = a.datas.that;
|
||||
if ("none" === b.yyList.style.display) {
|
||||
if (document.activeElement !== b.iptYear) {
|
||||
// 先显示下拉框
|
||||
b.yyList.style.display = "block";
|
||||
/************关键修改:在下拉框显示后,异步计算滚动位置 *********/
|
||||
setTimeout(function () {
|
||||
for (var d = 0; d < b.yyConList.length; d++) {
|
||||
if (b.yyConList[d].getAttribute("dateValue") == c.gb.time.year) {
|
||||
// 1. 获取元素位置并滚动到中间
|
||||
var e = b.yyConList[d].offsetTop;
|
||||
b.yyList.scrollTop = e - (b.yyList.clientHeight / 2);
|
||||
|
||||
// 2. 添加选中高亮样式(新增部分)
|
||||
// 先清除其他年份的选中状态
|
||||
for (var i = 0; i < b.yyConList.length; i++) {
|
||||
b.yyConList[i].classList.remove('current');
|
||||
}
|
||||
// 为当前年份添加选中样式
|
||||
b.yyConList[d].classList.add('current');
|
||||
break;
|
||||
}
|
||||
}
|
||||
}, 10);
|
||||
/*********关键修改:在下拉框显示后,异步计算滚动位置 *********/
|
||||
}
|
||||
} else {
|
||||
b.yyList.style.display = "none";
|
||||
}
|
||||
}, ymLst: function (a) {
|
||||
var b = a.srcElement || a.target, c = a.datas.els, d = a.datas.that;
|
||||
d.contain(c.yearWrap, b) || d.ishd(c.yyList) || (c.yyList.style.display = "none"), d.contain(c.monthWrap, b) || d.ishd(c.mmList) || (c.mmList.style.display = "none")
|
||||
/************关键修改:在下拉框显示后,异步计算滚动位置 *********/
|
||||
setTimeout(function () {
|
||||
for (var i = 0; i < c.mmConList.length; i++) {
|
||||
if (c.mmConList[i].getAttribute("dateValue") == parseFloat(d.gb.time.month)) {
|
||||
for (var j = 0; j < c.mmConList.length; j++) {
|
||||
c.mmConList[j].classList.remove('current');
|
||||
}
|
||||
// 为当前年份添加选中样式
|
||||
c.mmConList[i].classList.add('current');
|
||||
break;
|
||||
}
|
||||
}
|
||||
}, 10);
|
||||
/*********关键修改:在下拉框显示后,异步计算滚动位置 *********/
|
||||
}, focusStatus: function () {
|
||||
this.focus && (this.select(), this.className = "")
|
||||
}, combineTime: function (a, b) {
|
||||
var c;
|
||||
if (!a) return !1;
|
||||
var d = a.year.toString(), e = this.formatTime(a.month.toString()), f = this.formatTime(a.date.toString()),
|
||||
g = this.formatTime(a.hours.toString()), h = this.formatTime(a.minutes.toString()),
|
||||
i = this.formatTime(a.seconds.toString());
|
||||
switch (b) {
|
||||
case"hms":
|
||||
c = d + e + f + g + h + i;
|
||||
break;
|
||||
case"ymd":
|
||||
c = d + e + f;
|
||||
break;
|
||||
case"ym":
|
||||
c = d + e;
|
||||
break;
|
||||
case"y":
|
||||
c = d;
|
||||
break;
|
||||
default:
|
||||
c = d + e + f
|
||||
}
|
||||
return parseInt(c, 10)
|
||||
}, compareTime: function (a, b, c, d) {
|
||||
var e = this, f = e.gb.time, g = e.combineTime({
|
||||
year: a, month: b, date: c, hours: f.hours, minutes: f.seconds, seconds: f.minutes
|
||||
}, d), h = e.combineTime(e.gb.minTime, d) || "", i = e.combineTime(e.gb.maxTime, d) || "";
|
||||
return h && !i ? !(g < h) || null : !h && i ? !(g > i) || null : !h || !i || (!(g > i || g < h) || null)
|
||||
}, initTimes: function (a) {
|
||||
var b, c, d, e, f, g, h, i, j = this.gb.target, k = this.checkTime(j.value);
|
||||
|
||||
// 无论是否有预设值或限制,都优先使用当前日期
|
||||
i = new Date;
|
||||
b = i.getDate();
|
||||
c = i.getFullYear();
|
||||
d = i.getMonth() + 1;
|
||||
e = i.getHours();
|
||||
f = i.getMinutes();
|
||||
g = i.getSeconds();
|
||||
|
||||
// 保留原有的值检查逻辑(但不再作为主要取值来源)
|
||||
k && (k = this.datesSplit(k));
|
||||
|
||||
// 如果存在有效输入值,则使用输入值(否则使用当前日期)
|
||||
if (k && this.checkTime(j.value)) {
|
||||
b = k.date;
|
||||
c = k.year;
|
||||
d = k.month;
|
||||
e = k.hours;
|
||||
f = k.minutes;
|
||||
g = k.seconds;
|
||||
}
|
||||
|
||||
// 应用日期时间
|
||||
this.gb.time = {
|
||||
year: c, month: d, date: b, hours: e, minutes: f, seconds: g
|
||||
};
|
||||
this.insertDate();
|
||||
}, viewTb: function () {
|
||||
var a = ["日", "一", "二", "三", "四", "五", "六"], b = [], c = 0, d = this.creatEle("table"),
|
||||
e = this.creatEle("thead"), f = this.creatEle("tbody");
|
||||
d.className = "dates_table", d.id = "dates_table";
|
||||
for (var g = 1; g < 8; g++) {
|
||||
var h = this.creatEle("th");
|
||||
this.append(h, e), h.innerHTML = a[g - 1]
|
||||
}
|
||||
for (g = 1; g < 7; g++) {
|
||||
b[g] = this.creatEle("tr"), this.append(b[g], f);
|
||||
for (var i = 1; i < 8; i++) {
|
||||
var j = this.creatEle("td");
|
||||
j.setAttribute("index", c++), this.append(j, b[g])
|
||||
}
|
||||
}
|
||||
return this.append(e, d), this.append(f, d), d.outerHTML
|
||||
}, insertDate: function () {
|
||||
var a, b, c = this.gb.els, d = this.gb.time, e = c.yyConList, f = c.mmConList, g = c.iptYear,
|
||||
h = c.iptMonth, i = c.iptHours, j = c.iptMinutes, k = c.iptSeconds, l = d.year,
|
||||
m = parseInt(d.month, 10), n = d.date, o = d.hours, p = d.minutes, q = d.seconds, r = this.gb.td,
|
||||
s = new Date;
|
||||
s.setFullYear(l, m - 1), s.setDate(1);
|
||||
var t = s.getDay(), u = this.getDays(l, m - 1);
|
||||
this.dateStatus(f, m, "current"), this.dateStatus(e, l, "current");
|
||||
for (var v = 0; v < u; v++) r[t + v].innerHTML = v + 1, r[t + v].className = "", v + 1 === n ? r[t + v].className = "current_day" : n > u && (r[t + u - 1].className = "current_day", this.gb.time.date = u), r[t + v].setAttribute("m", m), r[t + v].setAttribute("y", l);
|
||||
/************************ 高亮选中的日期(直接使用 existing current_day 类) **************************/
|
||||
for (var v = 0; v < this.gb.td.length; v++) {
|
||||
var td = this.gb.td[v];
|
||||
td.className = ""; // 清除所有样式
|
||||
// 如果是当前月份的日期,并且匹配选中的日期
|
||||
if (parseInt(td.getAttribute("m")) === parseInt(this.gb.time.month) && parseInt(td.getAttribute("y")) === parseInt(this.gb.time.year) && parseInt(td.innerHTML) === parseInt(this.gb.time.date)) {
|
||||
td.className = "current_day"; // 直接使用 existing 类
|
||||
}
|
||||
}
|
||||
/********************** 高亮选中的日期(直接使用 existing current_day 类) ***************************/
|
||||
for (v = 0; v < t; v++) r[t - v - 1].className = "other_day", r[t - v - 1].innerHTML = this.getDays(l, m - 2) - v, m - 1 > 0 ? (a = m - 1, b = l) : (a = 12, b = l - 1), r[t - v - 1].setAttribute("m", a), r[t - v - 1].setAttribute("y", b);
|
||||
for (v = 0; v < r.length - t - u; v++) r[t + u + v].className = "other_day", r[t + u + v].innerHTML = v + 1, m + 1 > 12 ? (a = 1, b = l + 1) : (a = m + 1, b = l), r[t + u + v].setAttribute("m", a), r[t + u + v].setAttribute("y", b);
|
||||
var w = this.combineTime(this.gb.minTime) || "", x = this.combineTime(this.gb.maxTime) || "",
|
||||
y = {year: l, month: m, date: n, hours: this.gb.time.hours, minutes: this.gb.time.minutes, seconds: q};
|
||||
if (w) {
|
||||
for (v = 0; v < r.length; v++) y.year = r[v].getAttribute("y"), y.date = r[v].innerHTML, y.month = r[v].getAttribute("m"), this.combineTime(y) < w && (r[v].className = "disable_day");
|
||||
for (v = 0; v < e.length; v++) e[v].getAttribute("dateValue") < this.gb.minTime.year && (e[v].className = "disable_day");
|
||||
for (v = 0; v < f.length; v++) d.year + this.formatTime(f[v].getAttribute("dateValue")) < this.combineTime(this.gb.minTime, "ym") && (f[v].className = "disable_day")
|
||||
}
|
||||
if (x) {
|
||||
for (v = 0; v < r.length; v++) y.year = r[v].getAttribute("y"), y.date = r[v].innerHTML, y.month = r[v].getAttribute("m"), this.combineTime(y) > x && (r[v].className = "disable_day");
|
||||
for (v = 0; v < e.length; v++) e[v].getAttribute("dateValue") > this.gb.maxTime.year && (e[v].className = "disable_day");
|
||||
for (v = 0; v < f.length; v++) d.year + this.formatTime(f[v].getAttribute("dateValue")) > this.combineTime(this.gb.maxTime, "ym") && (f[v].className = "disable_day")
|
||||
}
|
||||
g.value = l, h.value = this.formatTime(m), i.value = this.formatTime(o), j.value = this.formatTime(p), k.value = this.formatTime(q)
|
||||
}, ymClick: function (a, b, c) {
|
||||
function d() {
|
||||
"month" === c ? (f = this.getAttribute("dateValue"), e = h.gb.time.year, g = h.gb.time.date) : "year" === c && (e = this.getAttribute("dateValue"), f = h.gb.time.month, g = h.gb.time.date), h.compareTime(e, f, g) && (h.gb.time.year = e, h.gb.time.month = f, h.gb.time.date = g, h.removeStatus(a), this.className = "current", b.style.display = "none", h.insertDate())
|
||||
}
|
||||
|
||||
for (var e, f, g, h = this, i = 0; i < a.length; i++) a[i].onclick = d
|
||||
}, ishd: function (a) {
|
||||
return "none" === a.style.display || null
|
||||
}, shde: function (a, b) {
|
||||
b ? 1 === b ? a.style.display = "none" : 2 === b && (a.style.display = "block") : a.style.display = "block" === a.style.display ? "none" : "block"
|
||||
}, isExistObj: function (a, b) {
|
||||
if ("object" == typeof a && a.length) {
|
||||
for (var c = 0; c < a.length; c++) if (a[c] === b) return !0
|
||||
} else if (a === b) return !0;
|
||||
return !1
|
||||
}, checkFocus: function (a, b, c, d) {
|
||||
b.className = "dlt_status";
|
||||
var e = b.value;
|
||||
return new RegExp(a).test(e) ? (this.gb.time[d] = this.formatTime(e), b.value = this.gb.time[d]) : b.value = c, b.value
|
||||
}, datesBtn: function (a) {
|
||||
var b = a.datas.that, c = b.gb.time.year, d = b.gb.time.month, e = parseInt(c, 10), f = parseInt(d, 10),
|
||||
g = b.gb.time.date, h = a.datas.type, i = a.datas.direction;
|
||||
if ("month" === h) {
|
||||
1 === f && i < 0 ? (d = 12, c = e + i) : 12 === f && i > 0 ? (d = 1, c = e + 1) : d = f + i;
|
||||
var j = b.getDays(c, d - 1);
|
||||
g > j && (g = j)
|
||||
} else "year" === h && (c = e + i);
|
||||
b.gb.time.year = c, b.gb.time.month = d, b.gb.time.date = g, b.insertDate()
|
||||
}, removeStatus: function (a) {
|
||||
for (var b = 0; b < a.length; b++) a[b].className = ""
|
||||
}, dateStatus: function (a, b, c) {
|
||||
for (var d = 0; d < a.length; d++) a[d].className = "", a[d].getAttribute("dateValue") === b && (a[d].className = c)
|
||||
}, getOkTime: function () {
|
||||
var a, b, c = {}, d = this.gb.format;
|
||||
for (var e in this.gb.time) c[e] = this.formatTime(this.gb.time[e]);
|
||||
b = " " + c.hours + ":" + c.minutes + ":" + c.seconds;
|
||||
a = this.gb.hms ? b : "";
|
||||
|
||||
// 设置最终值
|
||||
var selectedDate = c.year + d + c.month + d + c.date + a;
|
||||
this.gb.target.value = selectedDate;
|
||||
// ✅ 新增:触发回调(如果配置了 done)
|
||||
if (typeof this.gb.done === 'function') {
|
||||
this.gb.done(selectedDate); // 将选择的日期传给回调
|
||||
}
|
||||
|
||||
this.shde(this.gb.datesBox); // 关闭弹窗
|
||||
}, checkTime: function (a) {
|
||||
var b = "[-/]", c = this.gb.hms ? "(\\s){1}((0?[0-9])|(1[0-9])|(2[0-3])):([0-5][0-9]):([0-5][0-9])" : "",
|
||||
d = a ? a.replace(/^(\s*)|(\s*)$/g, "").replace(/(\s)+/g, " ") : "";
|
||||
return !!new RegExp("^((19[0-9]{2})|(2[0-9]{3}))" + b + "((0?[1-9])|(1[0-2]))" + b + "((0?[1-9])|(1[0-9])|(2[0-9])|(3[0-1]))" + c + "$").test(d) && d
|
||||
}, formatTime: function (a) {
|
||||
return /^(\d){1}$/.test(a) ? "0" + a : a
|
||||
}, getDays: function (a, b) {
|
||||
var c;
|
||||
return b < 0 ? (b = 11, a -= 1) : b > 11 && (b = 0, a += 1), b + 1 === 2 && (c = a % 4 == 0 && a % 100 != 0 || a % 400 == 0 ? 29 : 28), [31, c, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][b]
|
||||
}, creatEle: function (a, b) {
|
||||
return (b || document).createElement(a)
|
||||
}, append: function (a, b) {
|
||||
return (b || document.body).appendChild(a)
|
||||
}, setPosition: function (a, b, c) {
|
||||
if (c && "object" == typeof c) return b.style.left = 0, b.style.top = 0, !1;
|
||||
var d = this.getOffset(a), e = d.left, f = d.top, g = b.offsetHeight, h = a.offsetHeight,
|
||||
i = this.resetSizeAttr("scrollTop"), j = this.resetSizeAttr("offsetHeight"), k = f - i;
|
||||
b.style.top = j - k > g ? f + h - 1 + "px" : f - g + 1 + "px", b.style.left = e + "px"
|
||||
}, resetSizeAttr: function (a, b) {
|
||||
return (b || document.body)[a] || document.documentElement && document.documentElement[a]
|
||||
}, getOffset: function (a, b) {
|
||||
var c = b || {left: 0, top: 0};
|
||||
return a && (c.left += a.offsetLeft, c.top += a.offsetTop, a.offsetParent && (a = a.offsetParent, arguments.callee(a, c))), c
|
||||
}, contain: function (a, b) {
|
||||
return document.all ? a.contains(b) : 20 === a.compareDocumentPosition(b) || a === b || null
|
||||
}
|
||||
}, b.enable = function (c, d, e) {
|
||||
b.addEvent(c, "click", function () {
|
||||
a.xvDate.Dates ? a.xvDate.Dates.init(e, d) : a.xvDate.Dates = new b.fn.init(e, d)
|
||||
})
|
||||
}, b.getId = function (a, b) {
|
||||
return a; // 直接返回传入的元素
|
||||
}, b.addEvent = function (a, b, c, d) {
|
||||
a["evt" + b + c] = a["evt" + b + c] || null, a["evt" + b + c] || (a["evt" + b + c] = function (b) {
|
||||
b = b || window.event, b.datas = d || {}, c.call(a, b)
|
||||
}), a.addEventListener ? a.addEventListener(b, a["evt" + b + c], !1) : a.attachEvent && a.attachEvent("on" + b, a["evt" + b + c])
|
||||
}, b.removeEvent = function (a, b, c) {
|
||||
void 0 !== a.removeEventListener ? a.removeEventListener(b, a["evt" + b + c], !1) : void 0 !== a.detachEvent && c && a["evt" + b + c] && a.detachEvent("on" + b, a["evt" + b + c])
|
||||
}, b.fn.init.prototype = b.fn
|
||||
});
|
||||