4409 lines
117 KiB
JavaScript
4409 lines
117 KiB
JavaScript
|
||
let bleDevice;
|
||
let gattServer;
|
||
let epdService;
|
||
let rxtxService;
|
||
let epdCharacteristic;
|
||
let rxtxCharacteristic;
|
||
let reconnectTrys = 0;
|
||
const my_step = 480;
|
||
function delay(delayInMs) {
|
||
return new Promise(resolve => {
|
||
setTimeout(() => {
|
||
resolve(2);
|
||
}, delayInMs);
|
||
});
|
||
}
|
||
function resetVariables() {
|
||
gattServer = null;
|
||
epdService = null;
|
||
epdCharacteristic = null;
|
||
rxtxCharacteristic = null;
|
||
rxtxService = null;
|
||
document.getElementById("log").value = '';
|
||
}
|
||
async function handleError(error) {
|
||
console.log(error);
|
||
resetVariables();
|
||
if (bleDevice == null)
|
||
return;
|
||
if (reconnectTrys <= 5) {
|
||
reconnectTrys++;
|
||
await connect();
|
||
} else {
|
||
addLog("Was not able to connect, aborting");
|
||
reconnectTrys = 0;
|
||
}
|
||
}
|
||
async function sendCommand(cmd) {
|
||
if (epdCharacteristic) {
|
||
await epdCharacteristic.writeValueWithResponse(cmd)
|
||
} else {
|
||
addLog('服务不可用。蓝牙链接上了吗?')
|
||
}
|
||
}
|
||
async function clearScreen(cmd) {
|
||
addLog('刷屏')
|
||
await triggerEpdCmd(`00${cmd}`);
|
||
await triggerEpdCmd('01')
|
||
}
|
||
async function rxTxSendCommand(cmd) {
|
||
if (rxtxCharacteristic) {
|
||
await rxtxCharacteristic.writeValueWithResponse(cmd);
|
||
//addLog(`✅ [RXTX发送] 已发送 ${cmd.length} 字节`);
|
||
|
||
// 可选:等待100ms后读取响应
|
||
setTimeout(async () => {
|
||
try {
|
||
const value = await rxtxCharacteristic.readValue();
|
||
if (value && value.byteLength > 0) {
|
||
const formatted = formatReceivedData(value);
|
||
addLog(`📥 [RXTX响应] ${formatted}`);
|
||
|
||
const rxtxRxDiv = document.getElementById('rxtxRxData');
|
||
if (rxtxRxDiv) {
|
||
rxtxRxDiv.innerHTML = `📎 读取响应:\n${formatted}`;
|
||
}
|
||
}
|
||
} catch(e) {
|
||
// 忽略读取失败(可能设备没有返回数据)
|
||
}
|
||
}, 100);
|
||
} else {
|
||
addLog('服务不可用。蓝牙链接上了吗?');
|
||
}
|
||
}
|
||
async function SendCommand(cmd) {
|
||
let code;
|
||
for (let i; i < cmd.length; i += 2) {
|
||
code = '' + cmd[i] + cmd[i + 1];
|
||
triggerRxTxCmd(code);
|
||
await delay(1000);
|
||
}
|
||
}
|
||
async function rxTxSendCommand2(cmd) {
|
||
if (rxtxCharacteristic) {
|
||
await rxtxCharacteristic.writeValueWith(cmd);
|
||
} else {
|
||
addLog('服务不可用。蓝牙链接上了吗?')
|
||
}
|
||
}
|
||
|
||
async function sendBufferData(value, type) {
|
||
addLog(`开始发送图片模式:${type}, 大小 ${value.length}byte`);
|
||
let code = 'ff';
|
||
if (type === 'bwr') {
|
||
code = '00';
|
||
}
|
||
let cod = '03';
|
||
if (value.length == 7000 || value.length == 18000) { cod = '04'; }
|
||
const step = my_step;
|
||
let partIndex = 0;
|
||
for (let i = 0; i < value.length; i += step) {
|
||
addLog(`正在发送第${partIndex + 1}块. 块大小: ${step / 2 + 4}byte. 起始位置: ${i / 2}`);
|
||
await sendCommand(hexToBytes(cod + code + intToHex(i / 2, 2) + value.substring(i, i + step)));
|
||
partIndex += 1;
|
||
}
|
||
}
|
||
function updateCanvasSize() {
|
||
const sizeSelect = document.getElementById('screen-size');
|
||
const canvas = document.getElementById('canvas');
|
||
const ctx = canvas.getContext("2d");
|
||
let width, height;
|
||
if (sizeSelect.value == "4.2传图") {
|
||
width = 400;
|
||
height = 300;
|
||
} else if (sizeSelect.value === "2.9传图") {
|
||
width = 296;
|
||
height =128;
|
||
} else if (sizeSelect.value === "日历小图") {
|
||
width = 280;
|
||
height = 100;
|
||
} else if (sizeSelect.value === "7.5传图") {
|
||
width = 800;
|
||
height = 480;
|
||
} else if (sizeSelect.value === "7.5日历小图") {
|
||
width = 400;
|
||
height = 180;
|
||
} else if (sizeSelect.value === "2.13传图") {
|
||
width = 212;
|
||
height =128;
|
||
}else if (sizeSelect.value === "2.13高分传图") {
|
||
width = 250;
|
||
height =128;
|
||
}
|
||
canvas.width = width;
|
||
canvas.height = height;
|
||
ctx.fillStyle = 'white';
|
||
ctx.fillRect(0, 0, width, height);
|
||
update_image();
|
||
addLog(`画布尺寸已更新为: ${width}x${height}`);
|
||
}
|
||
|
||
|
||
async function upload_image() {
|
||
const canvas = document.getElementById('canvas');
|
||
const startTime = new Date().getTime();
|
||
if(canvas.width==296){
|
||
|
||
await sendBufferData(bytesToHex(canvas2bytes_bw(canvas)), 'bw')
|
||
await sendBufferData(bytesToHex(canvas2bytes_bw(canvas, 'bwr')), 'bwr')
|
||
}else if(canvas.width==250 ||canvas.width==212){
|
||
await sendBufferData(bytesToHex(canvas2bytes_bw(canvas)), 'bw')
|
||
}else{
|
||
await sendBufferData(bytesToHex(canvas2bytes(canvas)), 'bw')
|
||
await sendBufferData(bytesToHex(canvas2bytes(canvas, 'bwr')), 'bwr')
|
||
}
|
||
|
||
await delay(300);
|
||
if (canvas.width == 280 || canvas.height == 180) { await sendCommand(hexToBytes("AA")) }
|
||
else { await sendCommand(hexToBytes("01")) }
|
||
addLog(`上传完成,耗时${(new Date().getTime() - startTime) / 1000}s`);
|
||
}
|
||
|
||
async function update_imagemb(imageSource) {
|
||
|
||
if (imageSource){
|
||
const canvas = document.getElementById("unifiedCanvas");
|
||
const ctx = canvas.getContext("2d");
|
||
const image = new Image();
|
||
image.src = imageSource;
|
||
image.onload = function (event) {
|
||
URL.revokeObjectURL(this.src);
|
||
currentImage = image;
|
||
drawImageWithRotation(image);
|
||
applyImageAdjustments(canvas);
|
||
convert_dithering(canvas);
|
||
|
||
}
|
||
return;
|
||
}
|
||
|
||
}
|
||
function resetAll_mb() {
|
||
brightnessSlider.value = '-30';
|
||
contrastSlider.value = '100';
|
||
saturationSlider.value = '100';
|
||
diffusionSlider.value = '0';
|
||
// 更新显示数值
|
||
brightnessValue.textContent = -30;
|
||
contrastValue.textContent = 100;
|
||
saturationValue.textContent = 100;
|
||
diffusionValue.textContent = 0;
|
||
const canvas = document.getElementById('unifiedCanvas');
|
||
applyImageAdjustments(canvas);
|
||
}
|
||
function resetAll_mb2() {
|
||
brightnessSlider.value = '0';
|
||
contrastSlider.value = '100';
|
||
saturationSlider.value = '100';
|
||
diffusionSlider.value = '0';
|
||
// 更新显示数值
|
||
brightnessValue.textContent = 0;
|
||
contrastValue.textContent = 100;
|
||
saturationValue.textContent = 100;
|
||
diffusionValue.textContent = 0;
|
||
const canvas = document.getElementById('unifiedCanvas');
|
||
applyImageAdjustments(canvas);
|
||
}
|
||
async function upload_image_moban(bat) {
|
||
const canvas = document.getElementById('unifiedCanvas');
|
||
resetAll_mb();
|
||
|
||
cmd='EA0'+bat;
|
||
await rxTxSendCommand(hexToBytes(cmd));
|
||
const startTime = new Date().getTime();
|
||
|
||
if(canvas.width==296){
|
||
|
||
await sendBufferData(bytesToHex(canvas2bytes_bw(canvas)), 'bw')
|
||
await sendBufferData(bytesToHex(canvas2bytes_bw(canvas, 'bwr')), 'bwr')}
|
||
else { await sendBufferData(bytesToHex(canvas2bytes(canvas)), 'bw')
|
||
await sendBufferData(bytesToHex(canvas2bytes(canvas, 'bwr')), 'bwr')}
|
||
|
||
|
||
|
||
|
||
resetAll_mb2();
|
||
resetAll();
|
||
await delay(300);
|
||
await sendCommand(hexToBytes("01"));
|
||
addLog(`上传完成,耗时${(new Date().getTime() - startTime) / 1000}s`);
|
||
}
|
||
|
||
|
||
|
||
async function upload_image_lb(cmd) {
|
||
cmd='EA0'+cmd;
|
||
await rxTxSendCommand(hexToBytes(cmd));
|
||
upload_image();
|
||
}
|
||
async function upload_image_lb_num(cmd) {
|
||
if(cmd>4)cmd=4;
|
||
if(cmd<1)cmd=1;
|
||
addLog(`轮播数量已更新为: ${cmd}个!`);
|
||
cmd=cmd-1;
|
||
cmd='EA000'+cmd;
|
||
await rxTxSendCommand(hexToBytes(cmd));
|
||
addLog(`轮播数量更新成功!`);
|
||
}
|
||
|
||
async function setTime() {
|
||
const { unixNow, localeTimeString, year, month, day, week } = getUnixTime();
|
||
addLog("时间设置为: " + localeTimeString + " : dd" + intToHex(unixNow, 4));
|
||
await rxTxSendCommand(hexToBytes('dd' +
|
||
[intToHex(unixNow, 4), intToHex(year, 2), intToHex(month, 1), intToHex(day, 1), intToHex(week, 1)].join('')));
|
||
await rxTxSendCommand(hexToBytes('e2'))
|
||
}
|
||
|
||
const chinaCities = {
|
||
"北京": "101010100",
|
||
"海淀": "101010200",
|
||
"朝阳": "101010300",
|
||
"顺义": "101010400",
|
||
"怀柔": "101010500",
|
||
"通州": "101010600",
|
||
"昌平": "101010700",
|
||
"延庆": "101010800",
|
||
"丰台": "101010900",
|
||
"石景山": "101011000",
|
||
"大兴": "101011100",
|
||
"房山": "101011200",
|
||
"密云": "101011300",
|
||
"门头沟": "101011400",
|
||
"平谷": "101011500",
|
||
"东城": "101011600",
|
||
"西城": "101011700",
|
||
"上海": "101020100",
|
||
"闵行": "101020200",
|
||
"宝山": "101020300",
|
||
"黄浦": "101020400",
|
||
"嘉定": "101020500",
|
||
"浦东新区": "101020600",
|
||
"金山": "101020700",
|
||
"青浦": "101020800",
|
||
"松江": "101020900",
|
||
"奉贤": "101021000",
|
||
"崇明": "101021100",
|
||
"徐汇": "101021200",
|
||
"长宁": "101021300",
|
||
"静安": "101021400",
|
||
"普陀": "101021500",
|
||
"虹口": "101021600",
|
||
"杨浦": "101021700",
|
||
"天津": "101030100",
|
||
"武清": "101030200",
|
||
"宝坻": "101030300",
|
||
"东丽": "101030400",
|
||
"西青": "101030500",
|
||
"北辰": "101030600",
|
||
"宁河": "101030700",
|
||
"和平": "101030800",
|
||
"静海": "101030900",
|
||
"津南": "101031000",
|
||
"滨海新区": "101031100",
|
||
"河东": "101031200",
|
||
"河西": "101031300",
|
||
"蓟州": "101031400",
|
||
"南开": "101031500",
|
||
"河北": "101031600",
|
||
"红桥": "101031700",
|
||
"重庆": "101040100",
|
||
"永川": "101040200",
|
||
"合川": "101040300",
|
||
"南川": "101040400",
|
||
"江津": "101040500",
|
||
"北碚": "101040800",
|
||
"巴南": "101040900",
|
||
"长寿": "101041000",
|
||
"黔江": "101041100",
|
||
"渝中": "101041200",
|
||
"万州": "101041300",
|
||
"涪陵": "101041400",
|
||
"城口": "101041600",
|
||
"云阳": "101041700",
|
||
"巫溪": "101041800",
|
||
"奉节": "101041900",
|
||
"巫山": "101042000",
|
||
"潼南": "101042100",
|
||
"垫江": "101042200",
|
||
"梁平": "101042300",
|
||
"忠县": "101042400",
|
||
"石柱": "101042500",
|
||
"大足": "101042600",
|
||
"荣昌": "101042700",
|
||
"铜梁": "101042800",
|
||
"璧山": "101042900",
|
||
"丰都": "101043000",
|
||
"武隆": "101043100",
|
||
"彭水": "101043200",
|
||
"綦江": "101043300",
|
||
"酉阳": "101043400",
|
||
"大渡口": "101043500",
|
||
"秀山": "101043600",
|
||
"沙坪坝": "101043800",
|
||
"九龙坡": "101043900",
|
||
"南岸": "101044000",
|
||
"开州": "101044100",
|
||
"两江新区": "101044200",
|
||
"哈尔滨": "101050101",
|
||
"双城": "101050102",
|
||
"呼兰": "101050103",
|
||
"阿城": "101050104",
|
||
"宾县": "101050105",
|
||
"依兰": "101050106",
|
||
"巴彦": "101050107",
|
||
"通河": "101050108",
|
||
"方正": "101050109",
|
||
"延寿": "101050110",
|
||
"尚志": "101050111",
|
||
"五常": "101050112",
|
||
"木兰": "101050113",
|
||
"道里": "101050114",
|
||
"南岗": "101050115",
|
||
"道外": "101050116",
|
||
"平房": "101050117",
|
||
"松北": "101050118",
|
||
"香坊": "101050119",
|
||
"齐齐哈尔": "101050201",
|
||
"讷河": "101050202",
|
||
"龙江": "101050203",
|
||
"甘南": "101050204",
|
||
"富裕": "101050205",
|
||
"依安": "101050206",
|
||
"拜泉": "101050207",
|
||
"克山": "101050208",
|
||
"克东": "101050209",
|
||
"泰来": "101050210",
|
||
"龙沙": "101050211",
|
||
"建华": "101050212",
|
||
"铁锋": "101050213",
|
||
"昂昂溪": "101050214",
|
||
"富拉尔基": "101050215",
|
||
"碾子山": "101050216",
|
||
"梅里斯": "101050217",
|
||
"牡丹江": "101050301",
|
||
"海林": "101050302",
|
||
"穆棱": "101050303",
|
||
"林口": "101050304",
|
||
"绥芬河": "101050305",
|
||
"宁安": "101050306",
|
||
"东宁": "101050307",
|
||
"东安": "101050308",
|
||
"阳明": "101050309",
|
||
"爱民": "101050310",
|
||
"西安": "101050311",
|
||
"佳木斯": "101050401",
|
||
"汤原": "101050402",
|
||
"抚远": "101050403",
|
||
"桦川": "101050404",
|
||
"桦南": "101050405",
|
||
"同江": "101050406",
|
||
"富锦": "101050407",
|
||
"向阳": "101050408",
|
||
"前进": "101050409",
|
||
"东风": "101050410",
|
||
"郊区": "101050411",
|
||
"绥化": "101050501",
|
||
"肇东": "101050502",
|
||
"安达": "101050503",
|
||
"海伦": "101050504",
|
||
"明水": "101050505",
|
||
"望奎": "101050506",
|
||
"兰西": "101050507",
|
||
"青冈": "101050508",
|
||
"庆安": "101050509",
|
||
"绥棱": "101050510",
|
||
"北林": "101050511",
|
||
"黑河": "101050601",
|
||
"嫩江": "101050602",
|
||
"孙吴": "101050603",
|
||
"逊克": "101050604",
|
||
"五大连池": "101050605",
|
||
"北安": "101050606",
|
||
"爱辉": "101050607",
|
||
"大兴安岭": "101050701",
|
||
"塔河": "101050702",
|
||
"漠河": "101050703",
|
||
"呼玛": "101050704",
|
||
"加格达奇区": "101050708",
|
||
"伊春": "101050801",
|
||
"铁力": "101050804",
|
||
"嘉荫": "101050805",
|
||
"南岔": "101050806",
|
||
"友好": "101050807",
|
||
"金林": "101050808",
|
||
"伊美": "101050811",
|
||
"乌翠": "101050813",
|
||
"汤旺县": "101050814",
|
||
"大箐山县": "101050815",
|
||
"丰林": "101050816",
|
||
"大庆": "101050901",
|
||
"林甸": "101050902",
|
||
"肇州": "101050903",
|
||
"肇源": "101050904",
|
||
"杜尔伯特": "101050905",
|
||
"萨尔图": "101050906",
|
||
"龙凤": "101050907",
|
||
"让胡路": "101050908",
|
||
"红岗": "101050909",
|
||
"大同": "101050910",
|
||
"新兴": "101051001",
|
||
"七台河": "101051002",
|
||
"勃利": "101051003",
|
||
"桃山": "101051004",
|
||
"茄子河": "101051005",
|
||
"鸡西": "101051101",
|
||
"虎林": "101051102",
|
||
"密山": "101051103",
|
||
"鸡东": "101051104",
|
||
"鸡冠": "101051105",
|
||
"恒山": "101051106",
|
||
"滴道": "101051107",
|
||
"梨树": "101051108",
|
||
"城子河": "101051109",
|
||
"麻山": "101051110",
|
||
"鹤岗": "101051201",
|
||
"绥滨": "101051202",
|
||
"萝北": "101051203",
|
||
"向阳": "101051204",
|
||
"工农": "101051205",
|
||
"南山": "101051206",
|
||
"兴安": "101051207",
|
||
"东山": "101051208",
|
||
"兴山": "101051209",
|
||
"双鸭山": "101051301",
|
||
"集贤": "101051302",
|
||
"宝清": "101051303",
|
||
"饶河": "101051304",
|
||
"友谊": "101051305",
|
||
"尖山": "101051306",
|
||
"岭东": "101051307",
|
||
"四方台": "101051308",
|
||
"宝山": "101051309",
|
||
"长春": "101060101",
|
||
"农安": "101060102",
|
||
"德惠": "101060103",
|
||
"九台": "101060104",
|
||
"榆树": "101060105",
|
||
"双阳": "101060106",
|
||
"二道": "101060107",
|
||
"南关": "101060108",
|
||
"宽城": "101060109",
|
||
"朝阳": "101060110",
|
||
"绿园": "101060111",
|
||
"吉林": "101060201",
|
||
"舒兰": "101060202",
|
||
"永吉": "101060203",
|
||
"蛟河": "101060204",
|
||
"磐石": "101060205",
|
||
"桦甸": "101060206",
|
||
"昌邑": "101060207",
|
||
"龙潭": "101060208",
|
||
"船营": "101060209",
|
||
"丰满": "101060210",
|
||
"延吉": "101060301",
|
||
"敦化": "101060302",
|
||
"安图": "101060303",
|
||
"汪清": "101060304",
|
||
"和龙": "101060305",
|
||
"延边": "101060306",
|
||
"龙井": "101060307",
|
||
"珲春": "101060308",
|
||
"图们": "101060309",
|
||
"四平": "101060401",
|
||
"双辽": "101060402",
|
||
"梨树": "101060403",
|
||
"公主岭": "101060404",
|
||
"伊通": "101060405",
|
||
"铁西": "101060406",
|
||
"铁东": "101060407",
|
||
"通化": "101060501",
|
||
"梅河口": "101060502",
|
||
"柳河": "101060503",
|
||
"辉南": "101060504",
|
||
"集安": "101060505",
|
||
"通化县": "101060506",
|
||
"东昌": "101060507",
|
||
"二道江": "101060508",
|
||
"白城": "101060601",
|
||
"洮南": "101060602",
|
||
"大安": "101060603",
|
||
"镇赉": "101060604",
|
||
"通榆": "101060605",
|
||
"洮北": "101060606",
|
||
"辽源": "101060701",
|
||
"东丰": "101060702",
|
||
"东辽": "101060703",
|
||
"龙山": "101060704",
|
||
"西安": "101060705",
|
||
"松原": "101060801",
|
||
"乾安": "101060802",
|
||
"前郭": "101060803",
|
||
"长岭": "101060804",
|
||
"扶余": "101060805",
|
||
"宁江": "101060806",
|
||
"白山": "101060901",
|
||
"靖宇": "101060902",
|
||
"临江": "101060903",
|
||
"长白": "101060905",
|
||
"抚松": "101060906",
|
||
"江源": "101060907",
|
||
"浑江": "101060908",
|
||
"沈阳": "101070101",
|
||
"浑南": "101070102",
|
||
"辽中": "101070103",
|
||
"康平": "101070104",
|
||
"法库": "101070105",
|
||
"新民": "101070106",
|
||
"和平": "101070107",
|
||
"沈河": "101070108",
|
||
"大东": "101070109",
|
||
"皇姑": "101070110",
|
||
"铁西": "101070111",
|
||
"苏家屯": "101070112",
|
||
"沈北新区": "101070113",
|
||
"于洪": "101070114",
|
||
"大连": "101070201",
|
||
"瓦房店": "101070202",
|
||
"金州": "101070203",
|
||
"普兰店": "101070204",
|
||
"旅顺": "101070205",
|
||
"长海": "101070206",
|
||
"庄河": "101070207",
|
||
"中山": "101070208",
|
||
"西岗": "101070209",
|
||
"沙河口": "101070210",
|
||
"甘井子": "101070211",
|
||
"鞍山": "101070301",
|
||
"台安": "101070302",
|
||
"岫岩": "101070303",
|
||
"海城": "101070304",
|
||
"铁东": "101070305",
|
||
"铁西": "101070306",
|
||
"立山": "101070307",
|
||
"千山": "101070308",
|
||
"抚顺": "101070401",
|
||
"新宾": "101070402",
|
||
"清原": "101070403",
|
||
"新抚": "101070405",
|
||
"东洲": "101070406",
|
||
"望花": "101070407",
|
||
"顺城": "101070408",
|
||
"抚顺县": "101070409",
|
||
"本溪": "101070501",
|
||
"本溪县": "101070502",
|
||
"平山": "101070503",
|
||
"桓仁": "101070504",
|
||
"溪湖": "101070505",
|
||
"明山": "101070506",
|
||
"南芬": "101070507",
|
||
"丹东": "101070601",
|
||
"凤城": "101070602",
|
||
"宽甸": "101070603",
|
||
"东港": "101070604",
|
||
"元宝": "101070605",
|
||
"振兴": "101070606",
|
||
"振安": "101070607",
|
||
"锦州": "101070701",
|
||
"凌海": "101070702",
|
||
"古塔": "101070703",
|
||
"义县": "101070704",
|
||
"黑山": "101070705",
|
||
"北镇": "101070706",
|
||
"凌河": "101070707",
|
||
"太和": "101070708",
|
||
"营口": "101070801",
|
||
"大石桥": "101070802",
|
||
"盖州": "101070803",
|
||
"站前": "101070804",
|
||
"西市": "101070805",
|
||
"鲅鱼圈": "101070806",
|
||
"老边": "101070807",
|
||
"阜新": "101070901",
|
||
"彰武": "101070902",
|
||
"海州": "101070903",
|
||
"新邱": "101070904",
|
||
"太平": "101070905",
|
||
"清河门": "101070906",
|
||
"细河": "101070907",
|
||
"阜新县": "101070908",
|
||
"辽阳": "101071001",
|
||
"辽阳县": "101071002",
|
||
"灯塔": "101071003",
|
||
"弓长岭": "101071004",
|
||
"白塔": "101071005",
|
||
"文圣": "101071006",
|
||
"宏伟": "101071007",
|
||
"太子河": "101071008",
|
||
"铁岭": "101071101",
|
||
"开原": "101071102",
|
||
"昌图": "101071103",
|
||
"西丰": "101071104",
|
||
"调兵山": "101071105",
|
||
"银州": "101071106",
|
||
"清河": "101071107",
|
||
"铁岭县": "101071108",
|
||
"朝阳": "101071201",
|
||
"双塔": "101071202",
|
||
"凌源": "101071203",
|
||
"喀左": "101071204",
|
||
"北票": "101071205",
|
||
"龙城": "101071206",
|
||
"建平县": "101071207",
|
||
"朝阳县": "101071208",
|
||
"盘锦": "101071301",
|
||
"大洼": "101071302",
|
||
"盘山": "101071303",
|
||
"双台子": "101071304",
|
||
"兴隆台": "101071305",
|
||
"葫芦岛": "101071401",
|
||
"建昌": "101071402",
|
||
"绥中": "101071403",
|
||
"兴城": "101071404",
|
||
"连山": "101071405",
|
||
"龙港": "101071406",
|
||
"南票": "101071407",
|
||
"呼和浩特": "101080101",
|
||
"土左旗": "101080102",
|
||
"托克托": "101080103",
|
||
"和林": "101080104",
|
||
"清水河": "101080105",
|
||
"赛罕": "101080106",
|
||
"武川": "101080107",
|
||
"新城": "101080108",
|
||
"回民": "101080109",
|
||
"玉泉": "101080110",
|
||
"包头": "101080201",
|
||
"白云鄂博": "101080202",
|
||
"土右旗": "101080204",
|
||
"固阳": "101080205",
|
||
"达茂旗": "101080206",
|
||
"东河": "101080208",
|
||
"昆都仑": "101080209",
|
||
"青山": "101080210",
|
||
"石拐": "101080211",
|
||
"九原": "101080212",
|
||
"乌海": "101080301",
|
||
"海勃湾": "101080302",
|
||
"海南": "101080303",
|
||
"乌达": "101080304",
|
||
"集宁": "101080401",
|
||
"卓资": "101080402",
|
||
"化德": "101080403",
|
||
"商都": "101080404",
|
||
"乌兰察布": "101080405",
|
||
"兴和": "101080406",
|
||
"凉城": "101080407",
|
||
"察右前旗": "101080408",
|
||
"察右中旗": "101080409",
|
||
"察右后旗": "101080410",
|
||
"四子王旗": "101080411",
|
||
"丰镇": "101080412",
|
||
"通辽": "101080501",
|
||
"科左中旗": "101080503",
|
||
"科左后旗": "101080504",
|
||
"开鲁": "101080506",
|
||
"库伦": "101080507",
|
||
"奈曼": "101080508",
|
||
"扎鲁特": "101080509",
|
||
"科尔沁": "101080510",
|
||
"霍林郭勒": "101080512",
|
||
"赤峰": "101080601",
|
||
"红山": "101080602",
|
||
"阿鲁旗": "101080603",
|
||
"巴林左旗": "101080605",
|
||
"巴林右旗": "101080606",
|
||
"林西": "101080607",
|
||
"克什克腾": "101080608",
|
||
"翁牛特": "101080609",
|
||
"喀喇沁": "101080611",
|
||
"宁城": "101080613",
|
||
"敖汉": "101080614",
|
||
"元宝山": "101080616",
|
||
"松山": "101080617",
|
||
"鄂尔多斯": "101080701",
|
||
"达拉特": "101080703",
|
||
"准格尔": "101080704",
|
||
"鄂前旗": "101080705",
|
||
"鄂托克": "101080708",
|
||
"杭锦旗": "101080709",
|
||
"乌审旗": "101080710",
|
||
"伊金霍洛": "101080711",
|
||
"东胜": "101080713",
|
||
"康巴什": "101080714",
|
||
"临河": "101080801",
|
||
"五原": "101080802",
|
||
"磴口": "101080803",
|
||
"乌前旗": "101080804",
|
||
"乌中旗": "101080806",
|
||
"乌后旗": "101080807",
|
||
"杭锦后旗": "101080810",
|
||
"巴彦淖尔": "101080811",
|
||
"锡林浩特": "101080901",
|
||
"锡林郭勒": "101080902",
|
||
"二连浩特": "101080903",
|
||
"阿巴嘎": "101080904",
|
||
"苏左旗": "101080906",
|
||
"苏右旗": "101080907",
|
||
"东乌旗": "101080909",
|
||
"西乌旗": "101080910",
|
||
"太仆寺": "101080911",
|
||
"镶黄旗": "101080912",
|
||
"正镶白旗": "101080913",
|
||
"正蓝旗": "101080914",
|
||
"多伦": "101080915",
|
||
"海拉尔": "101081001",
|
||
"阿荣旗": "101081003",
|
||
"莫力达瓦": "101081004",
|
||
"鄂伦春旗": "101081005",
|
||
"鄂温克旗": "101081006",
|
||
"陈旗": "101081007",
|
||
"新左旗": "101081008",
|
||
"新右旗": "101081009",
|
||
"满洲里": "101081010",
|
||
"牙克石": "101081011",
|
||
"扎兰屯": "101081012",
|
||
"呼伦贝尔": "101081013",
|
||
"额尔古纳": "101081014",
|
||
"根河": "101081015",
|
||
"扎赉诺尔": "101081017",
|
||
"乌兰浩特": "101081101",
|
||
"阿尔山": "101081102",
|
||
"科右中旗": "101081103",
|
||
"扎赉特": "101081105",
|
||
"突泉": "101081107",
|
||
"兴安盟": "101081108",
|
||
"科右前旗": "101081109",
|
||
"阿左旗": "101081201",
|
||
"阿右旗": "101081202",
|
||
"额济纳": "101081203",
|
||
"阿拉善盟": "101081213",
|
||
"石家庄": "101090101",
|
||
"井陉": "101090102",
|
||
"正定": "101090103",
|
||
"栾城": "101090104",
|
||
"行唐": "101090105",
|
||
"灵寿": "101090106",
|
||
"高邑": "101090107",
|
||
"深泽": "101090108",
|
||
"赞皇": "101090109",
|
||
"无极": "101090110",
|
||
"平山": "101090111",
|
||
"元氏": "101090112",
|
||
"赵县": "101090113",
|
||
"辛集": "101090114",
|
||
"藁城": "101090115",
|
||
"晋州": "101090116",
|
||
"新乐": "101090117",
|
||
"鹿泉": "101090118",
|
||
"长安": "101090119",
|
||
"桥西": "101090120",
|
||
"新华": "101090121",
|
||
"井陉矿区": "101090122",
|
||
"裕华": "101090123",
|
||
"保定": "101090201",
|
||
"满城": "101090202",
|
||
"阜平": "101090203",
|
||
"徐水": "101090204",
|
||
"唐县": "101090205",
|
||
"高阳": "101090206",
|
||
"竞秀": "101090208",
|
||
"涞源": "101090209",
|
||
"望都": "101090210",
|
||
"易县": "101090212",
|
||
"莲池": "101090213",
|
||
"曲阳": "101090214",
|
||
"蠡县": "101090215",
|
||
"顺平": "101090216",
|
||
"涿州": "101090218",
|
||
"定州": "101090219",
|
||
"安国": "101090220",
|
||
"高碑店": "101090221",
|
||
"涞水": "101090222",
|
||
"定兴": "101090223",
|
||
"清苑": "101090224",
|
||
"博野": "101090225",
|
||
"张家口": "101090301",
|
||
"宣化": "101090302",
|
||
"张北": "101090303",
|
||
"康保": "101090304",
|
||
"沽源": "101090305",
|
||
"尚义": "101090306",
|
||
"蔚县": "101090307",
|
||
"阳原": "101090308",
|
||
"怀安": "101090309",
|
||
"万全": "101090310",
|
||
"怀来": "101090311",
|
||
"涿鹿": "101090312",
|
||
"赤城": "101090313",
|
||
"崇礼": "101090314",
|
||
"桥东": "101090315",
|
||
"桥西": "101090316",
|
||
"下花园": "101090317",
|
||
"双桥": "101090401",
|
||
"承德": "101090402",
|
||
"承德县": "101090403",
|
||
"兴隆": "101090404",
|
||
"平泉": "101090405",
|
||
"滦平": "101090406",
|
||
"隆化": "101090407",
|
||
"丰宁": "101090408",
|
||
"宽城": "101090409",
|
||
"围场": "101090410",
|
||
"双滦": "101090411",
|
||
"鹰手营子矿": "101090412",
|
||
"唐山": "101090501",
|
||
"丰南": "101090502",
|
||
"丰润": "101090503",
|
||
"滦州": "101090504",
|
||
"滦南": "101090505",
|
||
"乐亭": "101090506",
|
||
"迁西": "101090507",
|
||
"玉田": "101090508",
|
||
"曹妃甸": "101090509",
|
||
"遵化": "101090510",
|
||
"迁安": "101090511",
|
||
"路南": "101090513",
|
||
"路北": "101090514",
|
||
"古冶": "101090515",
|
||
"开平": "101090516",
|
||
"廊坊": "101090601",
|
||
"固安": "101090602",
|
||
"永清": "101090603",
|
||
"香河": "101090604",
|
||
"大城": "101090605",
|
||
"文安": "101090606",
|
||
"大厂": "101090607",
|
||
"霸州": "101090608",
|
||
"三河": "101090609",
|
||
"安次": "101090610",
|
||
"广阳": "101090611",
|
||
"沧州": "101090701",
|
||
"青县": "101090702",
|
||
"东光": "101090703",
|
||
"海兴": "101090704",
|
||
"盐山": "101090705",
|
||
"肃宁": "101090706",
|
||
"南皮": "101090707",
|
||
"吴桥": "101090708",
|
||
"献县": "101090709",
|
||
"孟村": "101090710",
|
||
"泊头": "101090711",
|
||
"任丘": "101090712",
|
||
"黄骅": "101090713",
|
||
"河间": "101090714",
|
||
"新华": "101090715",
|
||
"沧县": "101090716",
|
||
"运河": "101090717",
|
||
"衡水": "101090801",
|
||
"枣强": "101090802",
|
||
"武邑": "101090803",
|
||
"武强": "101090804",
|
||
"饶阳": "101090805",
|
||
"安平": "101090806",
|
||
"故城": "101090807",
|
||
"景县": "101090808",
|
||
"阜城": "101090809",
|
||
"冀州": "101090810",
|
||
"深州": "101090811",
|
||
"桃城": "101090812",
|
||
"邢台": "101090901",
|
||
"临城": "101090902",
|
||
"襄都": "101090903",
|
||
"内丘": "101090904",
|
||
"柏乡": "101090905",
|
||
"隆尧": "101090906",
|
||
"南和": "101090907",
|
||
"宁晋": "101090908",
|
||
"巨鹿": "101090909",
|
||
"新河": "101090910",
|
||
"广宗": "101090911",
|
||
"平乡": "101090912",
|
||
"威县": "101090913",
|
||
"清河": "101090914",
|
||
"临西": "101090915",
|
||
"南宫": "101090916",
|
||
"沙河": "101090917",
|
||
"任泽": "101090918",
|
||
"信都": "101090919",
|
||
"邯郸": "101091001",
|
||
"峰峰": "101091002",
|
||
"临漳": "101091003",
|
||
"成安": "101091004",
|
||
"大名": "101091005",
|
||
"涉县": "101091006",
|
||
"磁县": "101091007",
|
||
"肥乡": "101091008",
|
||
"永年": "101091009",
|
||
"邱县": "101091010",
|
||
"鸡泽": "101091011",
|
||
"广平": "101091012",
|
||
"馆陶": "101091013",
|
||
"魏县": "101091014",
|
||
"曲周": "101091015",
|
||
"武安": "101091016",
|
||
"邯山": "101091017",
|
||
"丛台": "101091018",
|
||
"复兴": "101091019",
|
||
"秦皇岛": "101091101",
|
||
"青龙": "101091102",
|
||
"昌黎": "101091103",
|
||
"抚宁": "101091104",
|
||
"卢龙": "101091105",
|
||
"北戴河": "101091106",
|
||
"海港": "101091107",
|
||
"山海关": "101091108",
|
||
"雄安新区": "101091201",
|
||
"容城": "101091202",
|
||
"安新": "101091203",
|
||
"雄县": "101091204",
|
||
"太原": "101100101",
|
||
"清徐": "101100102",
|
||
"阳曲": "101100103",
|
||
"娄烦": "101100104",
|
||
"古交": "101100105",
|
||
"尖草坪区": "101100106",
|
||
"小店区": "101100107",
|
||
"迎泽": "101100108",
|
||
"杏花岭": "101100109",
|
||
"万柏林": "101100110",
|
||
"晋源": "101100111",
|
||
"大同": "101100201",
|
||
"阳高": "101100202",
|
||
"云州": "101100203",
|
||
"天镇": "101100204",
|
||
"广灵": "101100205",
|
||
"灵丘": "101100206",
|
||
"浑源": "101100207",
|
||
"左云": "101100208",
|
||
"云冈": "101100209",
|
||
"新荣": "101100211",
|
||
"平城": "101100214",
|
||
"阳泉": "101100301",
|
||
"盂县": "101100302",
|
||
"平定": "101100303",
|
||
"矿区": "101100304",
|
||
"郊区": "101100305",
|
||
"城区": "101100306",
|
||
"晋中": "101100401",
|
||
"榆次": "101100402",
|
||
"榆社": "101100403",
|
||
"左权": "101100404",
|
||
"和顺": "101100405",
|
||
"昔阳": "101100406",
|
||
"寿阳": "101100407",
|
||
"太谷": "101100408",
|
||
"祁县": "101100409",
|
||
"平遥": "101100410",
|
||
"灵石": "101100411",
|
||
"介休": "101100412",
|
||
"长治": "101100501",
|
||
"黎城": "101100502",
|
||
"屯留": "101100503",
|
||
"潞城": "101100504",
|
||
"襄垣": "101100505",
|
||
"平顺": "101100506",
|
||
"武乡": "101100507",
|
||
"沁县": "101100508",
|
||
"长子": "101100509",
|
||
"沁源": "101100510",
|
||
"壶关": "101100511",
|
||
"潞州": "101100512",
|
||
"上党": "101100513",
|
||
"晋城": "101100601",
|
||
"沁水": "101100602",
|
||
"阳城": "101100603",
|
||
"陵川": "101100604",
|
||
"高平": "101100605",
|
||
"泽州": "101100606",
|
||
"城区": "101100607",
|
||
"临汾": "101100701",
|
||
"曲沃": "101100702",
|
||
"永和": "101100703",
|
||
"隰县": "101100704",
|
||
"大宁": "101100705",
|
||
"吉县": "101100706",
|
||
"襄汾": "101100707",
|
||
"蒲县": "101100708",
|
||
"汾西": "101100709",
|
||
"洪洞": "101100710",
|
||
"霍州": "101100711",
|
||
"乡宁": "101100712",
|
||
"翼城": "101100713",
|
||
"侯马": "101100714",
|
||
"浮山": "101100715",
|
||
"安泽": "101100716",
|
||
"古县": "101100717",
|
||
"尧都": "101100718",
|
||
"运城": "101100801",
|
||
"临猗": "101100802",
|
||
"稷山": "101100803",
|
||
"万荣": "101100804",
|
||
"河津": "101100805",
|
||
"新绛": "101100806",
|
||
"绛县": "101100807",
|
||
"闻喜": "101100808",
|
||
"垣曲": "101100809",
|
||
"永济": "101100810",
|
||
"芮城": "101100811",
|
||
"夏县": "101100812",
|
||
"平陆": "101100813",
|
||
"盐湖": "101100814",
|
||
"朔州": "101100901",
|
||
"平鲁": "101100902",
|
||
"山阴": "101100903",
|
||
"右玉": "101100904",
|
||
"应县": "101100905",
|
||
"怀仁": "101100906",
|
||
"朔城": "101100907",
|
||
"忻州": "101101001",
|
||
"定襄": "101101002",
|
||
"五台县": "101101003",
|
||
"河曲": "101101004",
|
||
"偏关": "101101005",
|
||
"神池": "101101006",
|
||
"宁武": "101101007",
|
||
"代县": "101101008",
|
||
"繁峙": "101101009",
|
||
"保德": "101101011",
|
||
"静乐": "101101012",
|
||
"岢岚": "101101013",
|
||
"五寨": "101101014",
|
||
"原平": "101101015",
|
||
"忻府": "101101016",
|
||
"吕梁": "101101100",
|
||
"离石": "101101101",
|
||
"临县": "101101102",
|
||
"兴县": "101101103",
|
||
"岚县": "101101104",
|
||
"柳林": "101101105",
|
||
"石楼": "101101106",
|
||
"方山": "101101107",
|
||
"交口": "101101108",
|
||
"中阳": "101101109",
|
||
"孝义": "101101110",
|
||
"汾阳": "101101111",
|
||
"文水": "101101112",
|
||
"交城": "101101113",
|
||
"西安": "101110101",
|
||
"长安": "101110102",
|
||
"临潼": "101110103",
|
||
"蓝田": "101110104",
|
||
"周至": "101110105",
|
||
"鄠邑": "101110106",
|
||
"高陵": "101110107",
|
||
"新城": "101110108",
|
||
"碑林": "101110109",
|
||
"莲湖": "101110110",
|
||
"灞桥": "101110111",
|
||
"未央": "101110112",
|
||
"雁塔": "101110113",
|
||
"阎良": "101110114",
|
||
"咸阳": "101110200",
|
||
"三原": "101110201",
|
||
"礼泉": "101110202",
|
||
"永寿": "101110203",
|
||
"淳化": "101110204",
|
||
"泾阳": "101110205",
|
||
"武功": "101110206",
|
||
"乾县": "101110207",
|
||
"彬州": "101110208",
|
||
"长武": "101110209",
|
||
"旬邑": "101110210",
|
||
"兴平": "101110211",
|
||
"秦都": "101110212",
|
||
"渭城": "101110213",
|
||
"延安": "101110300",
|
||
"延长": "101110301",
|
||
"延川": "101110302",
|
||
"子长": "101110303",
|
||
"宜川": "101110304",
|
||
"富县": "101110305",
|
||
"志丹": "101110306",
|
||
"安塞": "101110307",
|
||
"甘泉": "101110308",
|
||
"洛川": "101110309",
|
||
"黄陵": "101110310",
|
||
"黄龙": "101110311",
|
||
"吴起": "101110312",
|
||
"宝塔": "101110313",
|
||
"榆林": "101110401",
|
||
"府谷": "101110402",
|
||
"神木": "101110403",
|
||
"佳县": "101110404",
|
||
"定边": "101110405",
|
||
"靖边": "101110406",
|
||
"横山": "101110407",
|
||
"米脂": "101110408",
|
||
"子洲": "101110409",
|
||
"绥德": "101110410",
|
||
"吴堡": "101110411",
|
||
"清涧": "101110412",
|
||
"榆阳": "101110413",
|
||
"渭南": "101110501",
|
||
"潼关": "101110503",
|
||
"大荔": "101110504",
|
||
"白水": "101110505",
|
||
"富平": "101110506",
|
||
"蒲城": "101110507",
|
||
"澄城": "101110508",
|
||
"合阳": "101110509",
|
||
"韩城": "101110510",
|
||
"华阴": "101110511",
|
||
"临渭": "101110512",
|
||
"华州": "101110513",
|
||
"商洛": "101110601",
|
||
"洛南": "101110602",
|
||
"柞水": "101110603",
|
||
"商州": "101110604",
|
||
"镇安": "101110605",
|
||
"丹凤": "101110606",
|
||
"商南": "101110607",
|
||
"山阳": "101110608",
|
||
"安康": "101110701",
|
||
"紫阳": "101110702",
|
||
"石泉": "101110703",
|
||
"汉阴": "101110704",
|
||
"旬阳": "101110705",
|
||
"岚皋": "101110706",
|
||
"平利": "101110707",
|
||
"白河": "101110708",
|
||
"镇坪": "101110709",
|
||
"宁陕": "101110710",
|
||
"汉滨": "101110711",
|
||
"汉中": "101110801",
|
||
"略阳": "101110802",
|
||
"勉县": "101110803",
|
||
"留坝": "101110804",
|
||
"洋县": "101110805",
|
||
"城固": "101110806",
|
||
"西乡": "101110807",
|
||
"佛坪": "101110808",
|
||
"宁强": "101110809",
|
||
"南郑": "101110810",
|
||
"镇巴": "101110811",
|
||
"汉台": "101110812",
|
||
"宝鸡": "101110901",
|
||
"渭滨": "101110902",
|
||
"千阳": "101110903",
|
||
"麟游": "101110904",
|
||
"岐山": "101110905",
|
||
"凤翔": "101110906",
|
||
"扶风": "101110907",
|
||
"眉县": "101110908",
|
||
"太白": "101110909",
|
||
"凤县": "101110910",
|
||
"陇县": "101110911",
|
||
"陈仓": "101110912",
|
||
"金台": "101110913",
|
||
"铜川": "101111001",
|
||
"宜君": "101111003",
|
||
"耀州": "101111004",
|
||
"王益": "101111005",
|
||
"印台": "101111006",
|
||
"杨陵": "101111102",
|
||
"济南": "101120101",
|
||
"长清": "101120102",
|
||
"商河": "101120103",
|
||
"章丘": "101120104",
|
||
"平阴": "101120105",
|
||
"济阳": "101120106",
|
||
"历下": "101120107",
|
||
"市中": "101120108",
|
||
"槐荫": "101120109",
|
||
"天桥": "101120110",
|
||
"历城": "101120111",
|
||
"青岛": "101120201",
|
||
"崂山": "101120202",
|
||
"市南": "101120203",
|
||
"即墨": "101120204",
|
||
"胶州": "101120205",
|
||
"黄岛": "101120206",
|
||
"莱西": "101120207",
|
||
"平度": "101120208",
|
||
"市北": "101120209",
|
||
"李沧": "101120210",
|
||
"城阳": "101120211",
|
||
"淄博": "101120301",
|
||
"淄川": "101120302",
|
||
"博山": "101120303",
|
||
"高青": "101120304",
|
||
"周村": "101120305",
|
||
"沂源": "101120306",
|
||
"桓台": "101120307",
|
||
"临淄": "101120308",
|
||
"张店": "101120309",
|
||
"德州": "101120401",
|
||
"武城": "101120402",
|
||
"临邑": "101120403",
|
||
"齐河": "101120405",
|
||
"乐陵": "101120406",
|
||
"庆云": "101120407",
|
||
"平原": "101120408",
|
||
"宁津": "101120409",
|
||
"夏津": "101120410",
|
||
"禹城": "101120411",
|
||
"德城": "101120412",
|
||
"陵城": "101120413",
|
||
"烟台": "101120501",
|
||
"莱州": "101120502",
|
||
"蓬莱": "101120504",
|
||
"龙口": "101120505",
|
||
"招远": "101120506",
|
||
"栖霞": "101120507",
|
||
"福山": "101120508",
|
||
"牟平": "101120509",
|
||
"莱阳": "101120510",
|
||
"海阳": "101120511",
|
||
"芝罘": "101120512",
|
||
"莱山": "101120513",
|
||
"潍坊": "101120601",
|
||
"青州": "101120602",
|
||
"寿光": "101120603",
|
||
"临朐": "101120604",
|
||
"昌乐": "101120605",
|
||
"昌邑": "101120606",
|
||
"安丘": "101120607",
|
||
"高密": "101120608",
|
||
"诸城": "101120609",
|
||
"潍城": "101120610",
|
||
"寒亭": "101120611",
|
||
"坊子": "101120612",
|
||
"奎文": "101120613",
|
||
"济宁": "101120701",
|
||
"嘉祥": "101120702",
|
||
"微山": "101120703",
|
||
"鱼台": "101120704",
|
||
"兖州": "101120705",
|
||
"金乡": "101120706",
|
||
"汶上": "101120707",
|
||
"泗水": "101120708",
|
||
"梁山": "101120709",
|
||
"曲阜": "101120710",
|
||
"邹城": "101120711",
|
||
"任城": "101120712",
|
||
"泰安": "101120801",
|
||
"新泰": "101120802",
|
||
"泰山": "101120803",
|
||
"肥城": "101120804",
|
||
"东平": "101120805",
|
||
"宁阳": "101120806",
|
||
"岱岳": "101120807",
|
||
"临沂": "101120901",
|
||
"莒南": "101120902",
|
||
"沂南": "101120903",
|
||
"兰陵": "101120904",
|
||
"临沭": "101120905",
|
||
"郯城": "101120906",
|
||
"蒙阴": "101120907",
|
||
"平邑": "101120908",
|
||
"费县": "101120909",
|
||
"沂水": "101120910",
|
||
"兰山": "101120911",
|
||
"罗庄": "101120912",
|
||
"河东": "101120913",
|
||
"菏泽": "101121001",
|
||
"鄄城": "101121002",
|
||
"郓城": "101121003",
|
||
"东明": "101121004",
|
||
"定陶": "101121005",
|
||
"巨野": "101121006",
|
||
"曹县": "101121007",
|
||
"成武": "101121008",
|
||
"单县": "101121009",
|
||
"牡丹": "101121010",
|
||
"滨州": "101121101",
|
||
"博兴": "101121102",
|
||
"无棣": "101121103",
|
||
"阳信": "101121104",
|
||
"惠民": "101121105",
|
||
"沾化": "101121106",
|
||
"邹平": "101121107",
|
||
"滨城": "101121108",
|
||
"东营": "101121201",
|
||
"河口": "101121202",
|
||
"垦利": "101121203",
|
||
"利津": "101121204",
|
||
"广饶": "101121205",
|
||
"东营区": "101121206",
|
||
"威海": "101121301",
|
||
"文登": "101121302",
|
||
"荣成": "101121303",
|
||
"乳山": "101121304",
|
||
"环翠": "101121307",
|
||
"枣庄": "101121401",
|
||
"薛城": "101121402",
|
||
"峄城": "101121403",
|
||
"台儿庄": "101121404",
|
||
"滕州": "101121405",
|
||
"市中": "101121406",
|
||
"山亭": "101121407",
|
||
"日照": "101121501",
|
||
"五莲": "101121502",
|
||
"莒县": "101121503",
|
||
"东港": "101121504",
|
||
"岚山": "101121505",
|
||
"莱芜": "101121601",
|
||
"钢城": "101121603",
|
||
"聊城": "101121701",
|
||
"冠县": "101121702",
|
||
"阳谷": "101121703",
|
||
"高唐": "101121704",
|
||
"茌平": "101121705",
|
||
"东阿": "101121706",
|
||
"临清": "101121707",
|
||
"东昌府": "101121708",
|
||
"莘县": "101121709",
|
||
"乌鲁木齐": "101130101",
|
||
"天山": "101130102",
|
||
"沙依巴克": "101130104",
|
||
"达坂城": "101130105",
|
||
"新市": "101130106",
|
||
"水磨沟": "101130107",
|
||
"头屯河": "101130111",
|
||
"米东": "101130112",
|
||
"乌鲁木齐县": "101130113",
|
||
"克拉玛依": "101130201",
|
||
"乌尔禾": "101130202",
|
||
"白碱滩": "101130203",
|
||
"独山子": "101130204",
|
||
"克拉玛依区": "101130205",
|
||
"石河子": "101130301",
|
||
"昌吉": "101130401",
|
||
"呼图壁": "101130402",
|
||
"阜康": "101130404",
|
||
"吉木萨尔": "101130405",
|
||
"奇台": "101130406",
|
||
"玛纳斯": "101130407",
|
||
"木垒": "101130408",
|
||
"昌吉市": "101130410",
|
||
"吐鲁番": "101130501",
|
||
"托克逊": "101130502",
|
||
"高昌": "101130503",
|
||
"鄯善": "101130504",
|
||
"库尔勒": "101130601",
|
||
"轮台": "101130602",
|
||
"尉犁": "101130603",
|
||
"若羌": "101130604",
|
||
"且末": "101130605",
|
||
"和静": "101130606",
|
||
"焉耆": "101130607",
|
||
"和硕": "101130608",
|
||
"巴音郭楞": "101130609",
|
||
"博湖": "101130612",
|
||
"阿拉尔": "101130701",
|
||
"阿克苏": "101130801",
|
||
"乌什": "101130802",
|
||
"温宿": "101130803",
|
||
"拜城": "101130804",
|
||
"新和": "101130805",
|
||
"沙雅": "101130806",
|
||
"库车": "101130807",
|
||
"柯坪": "101130808",
|
||
"阿瓦提": "101130809",
|
||
"阿克苏市": "101130810",
|
||
"喀什地区": "101130901",
|
||
"英吉沙": "101130902",
|
||
"塔什库尔干": "101130903",
|
||
"麦盖提": "101130904",
|
||
"莎车": "101130905",
|
||
"叶城": "101130906",
|
||
"泽普": "101130907",
|
||
"巴楚": "101130908",
|
||
"岳普湖": "101130909",
|
||
"伽师": "101130910",
|
||
"疏附": "101130911",
|
||
"疏勒": "101130912",
|
||
"喀什市": "101130913",
|
||
"伊宁": "101131001",
|
||
"察布查尔": "101131002",
|
||
"尼勒克": "101131003",
|
||
"伊宁县": "101131004",
|
||
"巩留": "101131005",
|
||
"新源": "101131006",
|
||
"昭苏": "101131007",
|
||
"特克斯": "101131008",
|
||
"霍城": "101131009",
|
||
"霍尔果斯": "101131010",
|
||
"奎屯": "101131011",
|
||
"伊犁": "101131012",
|
||
"塔城地区": "101131101",
|
||
"裕民": "101131102",
|
||
"额敏": "101131103",
|
||
"和布克赛尔": "101131104",
|
||
"托里": "101131105",
|
||
"乌苏": "101131106",
|
||
"沙湾": "101131107",
|
||
"塔城市": "101131108",
|
||
"哈密": "101131201",
|
||
"伊州": "101131202",
|
||
"巴里坤": "101131203",
|
||
"伊吾": "101131204",
|
||
"和田地区": "101131301",
|
||
"皮山": "101131302",
|
||
"策勒": "101131303",
|
||
"墨玉": "101131304",
|
||
"洛浦": "101131305",
|
||
"民丰": "101131306",
|
||
"于田": "101131307",
|
||
"和田市": "101131308",
|
||
"和田县": "101131309",
|
||
"阿勒泰地区": "101131401",
|
||
"哈巴河": "101131402",
|
||
"吉木乃": "101131405",
|
||
"布尔津": "101131406",
|
||
"福海": "101131407",
|
||
"富蕴": "101131408",
|
||
"青河": "101131409",
|
||
"阿勒泰市": "101131410",
|
||
"阿图什": "101131501",
|
||
"乌恰": "101131502",
|
||
"阿克陶": "101131503",
|
||
"阿合奇": "101131504",
|
||
"克州": "101131505",
|
||
"博乐": "101131601",
|
||
"温泉": "101131602",
|
||
"精河": "101131603",
|
||
"博尔塔拉": "101131604",
|
||
"阿拉山口": "101131606",
|
||
"图木舒克": "101131701",
|
||
"五家渠": "101131801",
|
||
"铁门关": "101131901",
|
||
"昆玉": "101131920",
|
||
"北屯": "101132101",
|
||
"双河": "101132201",
|
||
"可克达拉": "101132301",
|
||
"胡杨河": "101132401",
|
||
"新星市": "101132501",
|
||
"白杨市": "101132601",
|
||
"拉萨": "101140101",
|
||
"当雄": "101140102",
|
||
"尼木": "101140103",
|
||
"林周": "101140104",
|
||
"堆龙德庆": "101140105",
|
||
"曲水": "101140106",
|
||
"达孜": "101140107",
|
||
"墨竹工卡": "101140108",
|
||
"城关": "101140109",
|
||
"日喀则": "101140201",
|
||
"拉孜": "101140202",
|
||
"南木林": "101140203",
|
||
"聂拉木": "101140204",
|
||
"定日": "101140205",
|
||
"江孜": "101140206",
|
||
"仲巴": "101140208",
|
||
"萨嘎": "101140209",
|
||
"吉隆": "101140210",
|
||
"昂仁": "101140211",
|
||
"定结": "101140212",
|
||
"萨迦": "101140213",
|
||
"谢通门": "101140214",
|
||
"桑珠孜": "101140215",
|
||
"岗巴": "101140216",
|
||
"白朗": "101140217",
|
||
"亚东": "101140218",
|
||
"康马": "101140219",
|
||
"仁布": "101140220",
|
||
"山南": "101140301",
|
||
"贡嘎": "101140302",
|
||
"扎囊": "101140303",
|
||
"加查": "101140304",
|
||
"浪卡子": "101140305",
|
||
"错那": "101140306",
|
||
"隆子": "101140307",
|
||
"乃东": "101140309",
|
||
"桑日": "101140310",
|
||
"洛扎": "101140311",
|
||
"措美": "101140312",
|
||
"琼结": "101140313",
|
||
"曲松": "101140314",
|
||
"林芝": "101140401",
|
||
"波密": "101140402",
|
||
"米林": "101140403",
|
||
"察隅": "101140404",
|
||
"工布江达": "101140405",
|
||
"朗县": "101140406",
|
||
"墨脱": "101140407",
|
||
"巴宜": "101140408",
|
||
"昌都": "101140501",
|
||
"丁青": "101140502",
|
||
"边坝": "101140503",
|
||
"洛隆": "101140504",
|
||
"左贡": "101140505",
|
||
"芒康": "101140506",
|
||
"类乌齐": "101140507",
|
||
"八宿": "101140508",
|
||
"江达": "101140509",
|
||
"察雅": "101140510",
|
||
"贡觉": "101140511",
|
||
"卡若": "101140512",
|
||
"那曲": "101140601",
|
||
"尼玛": "101140602",
|
||
"嘉黎": "101140603",
|
||
"班戈": "101140604",
|
||
"安多": "101140605",
|
||
"索县": "101140606",
|
||
"聂荣": "101140607",
|
||
"巴青": "101140608",
|
||
"比如": "101140609",
|
||
"双湖": "101140610",
|
||
"申扎": "101140611",
|
||
"色尼": "101140612",
|
||
"阿里地区": "101140701",
|
||
"改则": "101140702",
|
||
"普兰": "101140705",
|
||
"札达": "101140706",
|
||
"噶尔": "101140707",
|
||
"日土": "101140708",
|
||
"革吉": "101140709",
|
||
"措勤": "101140710",
|
||
"西宁": "101150101",
|
||
"大通": "101150102",
|
||
"湟源": "101150103",
|
||
"湟中": "101150104",
|
||
"城东": "101150105",
|
||
"城中": "101150106",
|
||
"城西": "101150107",
|
||
"城北": "101150108",
|
||
"平安": "101150201",
|
||
"乐都": "101150202",
|
||
"民和": "101150203",
|
||
"互助": "101150204",
|
||
"化隆": "101150205",
|
||
"循化": "101150206",
|
||
"海东": "101150207",
|
||
"同仁": "101150301",
|
||
"尖扎": "101150302",
|
||
"泽库": "101150303",
|
||
"河南": "101150304",
|
||
"黄南": "101150305",
|
||
"共和": "101150401",
|
||
"海南": "101150402",
|
||
"贵德": "101150404",
|
||
"兴海": "101150406",
|
||
"贵南": "101150407",
|
||
"同德": "101150408",
|
||
"玛沁": "101150501",
|
||
"班玛": "101150502",
|
||
"甘德": "101150503",
|
||
"达日": "101150504",
|
||
"久治": "101150505",
|
||
"玛多": "101150506",
|
||
"果洛": "101150507",
|
||
"玉树州": "101150601",
|
||
"称多": "101150602",
|
||
"治多": "101150603",
|
||
"杂多": "101150604",
|
||
"囊谦": "101150605",
|
||
"曲麻莱": "101150606",
|
||
"玉树市": "101150607",
|
||
"德令哈": "101150701",
|
||
"海西": "101150702",
|
||
"天峻": "101150708",
|
||
"乌兰": "101150709",
|
||
"茫崖": "101150712",
|
||
"大柴旦": "101150713",
|
||
"格尔木": "101150714",
|
||
"都兰": "101150715",
|
||
"海晏": "101150801",
|
||
"门源": "101150802",
|
||
"祁连": "101150803",
|
||
"海北": "101150804",
|
||
"刚察": "101150806",
|
||
"兰州": "101160101",
|
||
"皋兰": "101160102",
|
||
"永登": "101160103",
|
||
"榆中": "101160104",
|
||
"城关": "101160105",
|
||
"七里河": "101160106",
|
||
"西固": "101160107",
|
||
"安宁": "101160108",
|
||
"红古": "101160109",
|
||
"定西": "101160201",
|
||
"通渭": "101160202",
|
||
"陇西": "101160203",
|
||
"渭源": "101160204",
|
||
"临洮": "101160205",
|
||
"漳县": "101160206",
|
||
"岷县": "101160207",
|
||
"安定": "101160208",
|
||
"平凉": "101160301",
|
||
"泾川": "101160302",
|
||
"灵台": "101160303",
|
||
"崇信": "101160304",
|
||
"华亭": "101160305",
|
||
"庄浪": "101160306",
|
||
"静宁": "101160307",
|
||
"崆峒": "101160308",
|
||
"庆阳": "101160401",
|
||
"西峰": "101160402",
|
||
"环县": "101160403",
|
||
"华池": "101160404",
|
||
"合水": "101160405",
|
||
"正宁": "101160406",
|
||
"宁县": "101160407",
|
||
"镇原": "101160408",
|
||
"庆城": "101160409",
|
||
"武威": "101160501",
|
||
"民勤": "101160502",
|
||
"古浪": "101160503",
|
||
"凉州": "101160504",
|
||
"天祝": "101160505",
|
||
"金昌": "101160601",
|
||
"永昌": "101160602",
|
||
"金川": "101160603",
|
||
"张掖": "101160701",
|
||
"肃南": "101160702",
|
||
"民乐": "101160703",
|
||
"临泽": "101160704",
|
||
"高台": "101160705",
|
||
"山丹": "101160706",
|
||
"甘州": "101160707",
|
||
"酒泉": "101160801",
|
||
"肃州": "101160802",
|
||
"金塔": "101160803",
|
||
"阿克塞": "101160804",
|
||
"瓜州": "101160805",
|
||
"肃北": "101160806",
|
||
"玉门": "101160807",
|
||
"敦煌": "101160808",
|
||
"天水": "101160901",
|
||
"秦州": "101160902",
|
||
"清水": "101160903",
|
||
"秦安": "101160904",
|
||
"甘谷": "101160905",
|
||
"武山": "101160906",
|
||
"张家川": "101160907",
|
||
"麦积": "101160908",
|
||
"武都": "101161001",
|
||
"成县": "101161002",
|
||
"文县": "101161003",
|
||
"宕昌": "101161004",
|
||
"康县": "101161005",
|
||
"西和": "101161006",
|
||
"礼县": "101161007",
|
||
"徽县": "101161008",
|
||
"两当": "101161009",
|
||
"陇南": "101161010",
|
||
"临夏": "101161101",
|
||
"康乐": "101161102",
|
||
"永靖": "101161103",
|
||
"广河": "101161104",
|
||
"和政": "101161105",
|
||
"东乡": "101161106",
|
||
"积石山": "101161107",
|
||
"临夏市": "101161108",
|
||
"临夏县": "101161109",
|
||
"合作": "101161201",
|
||
"临潭": "101161202",
|
||
"卓尼": "101161203",
|
||
"舟曲": "101161204",
|
||
"迭部": "101161205",
|
||
"玛曲": "101161206",
|
||
"碌曲": "101161207",
|
||
"夏河": "101161208",
|
||
"甘南": "101161209",
|
||
"白银": "101161301",
|
||
"靖远": "101161302",
|
||
"会宁": "101161303",
|
||
"平川": "101161304",
|
||
"景泰": "101161305",
|
||
"白银区": "101161306",
|
||
"嘉峪关": "101161401",
|
||
"银川": "101170101",
|
||
"永宁": "101170102",
|
||
"灵武": "101170103",
|
||
"贺兰": "101170104",
|
||
"兴庆": "101170105",
|
||
"西夏": "101170106",
|
||
"金凤": "101170107",
|
||
"石嘴山": "101170201",
|
||
"惠农": "101170202",
|
||
"平罗": "101170203",
|
||
"大武口": "101170205",
|
||
"吴忠": "101170301",
|
||
"同心": "101170302",
|
||
"盐池": "101170303",
|
||
"利通": "101170304",
|
||
"红寺堡": "101170305",
|
||
"青铜峡": "101170306",
|
||
"固原": "101170401",
|
||
"西吉": "101170402",
|
||
"隆德": "101170403",
|
||
"泾源": "101170404",
|
||
"原州": "101170405",
|
||
"彭阳": "101170406",
|
||
"中卫": "101170501",
|
||
"中宁": "101170502",
|
||
"沙坡头": "101170503",
|
||
"海原": "101170504",
|
||
"郑州": "101180101",
|
||
"巩义": "101180102",
|
||
"荥阳": "101180103",
|
||
"登封": "101180104",
|
||
"新密": "101180105",
|
||
"新郑": "101180106",
|
||
"中牟": "101180107",
|
||
"上街": "101180108",
|
||
"中原": "101180109",
|
||
"二七": "101180110",
|
||
"管城": "101180111",
|
||
"金水": "101180112",
|
||
"惠济": "101180113",
|
||
"安阳": "101180201",
|
||
"汤阴": "101180202",
|
||
"滑县": "101180203",
|
||
"内黄": "101180204",
|
||
"林州": "101180205",
|
||
"文峰": "101180206",
|
||
"北关": "101180207",
|
||
"殷都": "101180208",
|
||
"龙安": "101180209",
|
||
"安阳县": "101180210",
|
||
"新乡": "101180301",
|
||
"获嘉": "101180302",
|
||
"原阳": "101180303",
|
||
"辉县": "101180304",
|
||
"卫辉": "101180305",
|
||
"延津": "101180306",
|
||
"封丘": "101180307",
|
||
"长垣": "101180308",
|
||
"红旗": "101180309",
|
||
"卫滨": "101180310",
|
||
"凤泉": "101180311",
|
||
"牧野": "101180312",
|
||
"新乡县": "101180313",
|
||
"许昌": "101180401",
|
||
"鄢陵": "101180402",
|
||
"襄城": "101180403",
|
||
"长葛": "101180404",
|
||
"禹州": "101180405",
|
||
"魏都": "101180406",
|
||
"建安": "101180407",
|
||
"平顶山": "101180501",
|
||
"郏县": "101180502",
|
||
"宝丰": "101180503",
|
||
"汝州": "101180504",
|
||
"叶县": "101180505",
|
||
"舞钢": "101180506",
|
||
"鲁山": "101180507",
|
||
"石龙": "101180508",
|
||
"新华": "101180509",
|
||
"卫东": "101180510",
|
||
"湛河": "101180511",
|
||
"信阳": "101180601",
|
||
"息县": "101180602",
|
||
"罗山": "101180603",
|
||
"光山": "101180604",
|
||
"新县": "101180605",
|
||
"淮滨": "101180606",
|
||
"潢川": "101180607",
|
||
"固始": "101180608",
|
||
"商城": "101180609",
|
||
"浉河": "101180610",
|
||
"平桥": "101180611",
|
||
"南阳": "101180701",
|
||
"南召": "101180702",
|
||
"方城": "101180703",
|
||
"社旗": "101180704",
|
||
"西峡": "101180705",
|
||
"内乡": "101180706",
|
||
"镇平": "101180707",
|
||
"淅川": "101180708",
|
||
"新野": "101180709",
|
||
"唐河": "101180710",
|
||
"邓州": "101180711",
|
||
"桐柏": "101180712",
|
||
"宛城": "101180713",
|
||
"卧龙": "101180714",
|
||
"开封": "101180801",
|
||
"杞县": "101180802",
|
||
"尉氏": "101180803",
|
||
"通许": "101180804",
|
||
"兰考": "101180805",
|
||
"龙亭": "101180806",
|
||
"顺河": "101180807",
|
||
"鼓楼": "101180808",
|
||
"禹王台": "101180809",
|
||
"祥符": "101180810",
|
||
"洛阳": "101180901",
|
||
"新安": "101180902",
|
||
"宜阳": "101180904",
|
||
"洛宁": "101180905",
|
||
"伊川": "101180906",
|
||
"嵩县": "101180907",
|
||
"偃师": "101180908",
|
||
"栾川": "101180909",
|
||
"汝阳": "101180910",
|
||
"孟津": "101180911",
|
||
"老城": "101180912",
|
||
"西工": "101180913",
|
||
"瀍河": "101180914",
|
||
"涧西": "101180915",
|
||
"洛龙": "101180916",
|
||
"商丘": "101181001",
|
||
"梁园": "101181002",
|
||
"睢县": "101181003",
|
||
"民权": "101181004",
|
||
"虞城": "101181005",
|
||
"柘城": "101181006",
|
||
"宁陵": "101181007",
|
||
"夏邑": "101181008",
|
||
"永城": "101181009",
|
||
"睢阳": "101181010",
|
||
"焦作": "101181101",
|
||
"修武": "101181102",
|
||
"武陟": "101181103",
|
||
"沁阳": "101181104",
|
||
"解放": "101181105",
|
||
"博爱": "101181106",
|
||
"温县": "101181107",
|
||
"孟州": "101181108",
|
||
"中站": "101181109",
|
||
"马村": "101181110",
|
||
"山阳": "101181111",
|
||
"鹤壁": "101181201",
|
||
"浚县": "101181202",
|
||
"淇县": "101181203",
|
||
"鹤山": "101181204",
|
||
"山城": "101181205",
|
||
"淇滨": "101181206",
|
||
"濮阳": "101181301",
|
||
"台前": "101181302",
|
||
"南乐": "101181303",
|
||
"清丰": "101181304",
|
||
"范县": "101181305",
|
||
"华龙": "101181306",
|
||
"濮阳县": "101181307",
|
||
"周口": "101181401",
|
||
"扶沟": "101181402",
|
||
"太康": "101181403",
|
||
"淮阳": "101181404",
|
||
"西华": "101181405",
|
||
"商水": "101181406",
|
||
"项城": "101181407",
|
||
"郸城": "101181408",
|
||
"鹿邑": "101181409",
|
||
"沈丘": "101181410",
|
||
"川汇": "101181411",
|
||
"漯河": "101181501",
|
||
"临颍": "101181502",
|
||
"舞阳": "101181503",
|
||
"源汇": "101181504",
|
||
"郾城": "101181505",
|
||
"召陵": "101181506",
|
||
"驻马店": "101181601",
|
||
"西平": "101181602",
|
||
"遂平": "101181603",
|
||
"上蔡": "101181604",
|
||
"汝南": "101181605",
|
||
"泌阳": "101181606",
|
||
"平舆": "101181607",
|
||
"新蔡": "101181608",
|
||
"确山": "101181609",
|
||
"正阳": "101181610",
|
||
"驿城": "101181611",
|
||
"三门峡": "101181701",
|
||
"灵宝": "101181702",
|
||
"渑池": "101181703",
|
||
"卢氏": "101181704",
|
||
"义马": "101181705",
|
||
"湖滨": "101181707",
|
||
"陕州": "101181708",
|
||
"济源": "101181801",
|
||
"南京": "101190101",
|
||
"溧水": "101190102",
|
||
"高淳": "101190103",
|
||
"江宁": "101190104",
|
||
"六合": "101190105",
|
||
"浦口": "101190107",
|
||
"玄武": "101190108",
|
||
"秦淮": "101190109",
|
||
"建邺": "101190110",
|
||
"鼓楼": "101190111",
|
||
"栖霞": "101190112",
|
||
"雨花台": "101190113",
|
||
"无锡": "101190201",
|
||
"江阴": "101190202",
|
||
"宜兴": "101190203",
|
||
"锡山": "101190204",
|
||
"惠山": "101190205",
|
||
"滨湖": "101190206",
|
||
"梁溪": "101190207",
|
||
"新吴": "101190208",
|
||
"镇江": "101190301",
|
||
"丹阳": "101190302",
|
||
"扬中": "101190303",
|
||
"句容": "101190304",
|
||
"丹徒": "101190305",
|
||
"京口": "101190306",
|
||
"润州": "101190307",
|
||
"苏州": "101190401",
|
||
"常熟": "101190402",
|
||
"张家港": "101190403",
|
||
"昆山": "101190404",
|
||
"吴中": "101190405",
|
||
"虎丘": "101190406",
|
||
"吴江": "101190407",
|
||
"太仓": "101190408",
|
||
"相城": "101190409",
|
||
"姑苏": "101190410",
|
||
"南通": "101190501",
|
||
"海安": "101190502",
|
||
"如皋": "101190503",
|
||
"如东": "101190504",
|
||
"崇川": "101190505",
|
||
"启东": "101190507",
|
||
"海门": "101190508",
|
||
"通州": "101190509",
|
||
"扬州": "101190601",
|
||
"宝应": "101190602",
|
||
"仪征": "101190603",
|
||
"高邮": "101190604",
|
||
"江都": "101190605",
|
||
"邗江": "101190606",
|
||
"广陵": "101190607",
|
||
"盐城": "101190701",
|
||
"响水": "101190702",
|
||
"滨海": "101190703",
|
||
"阜宁": "101190704",
|
||
"射阳": "101190705",
|
||
"建湖": "101190706",
|
||
"东台": "101190707",
|
||
"大丰": "101190708",
|
||
"盐都": "101190709",
|
||
"亭湖": "101190710",
|
||
"徐州": "101190801",
|
||
"铜山": "101190802",
|
||
"丰县": "101190803",
|
||
"沛县": "101190804",
|
||
"邳州": "101190805",
|
||
"睢宁": "101190806",
|
||
"新沂": "101190807",
|
||
"鼓楼": "101190808",
|
||
"云龙": "101190809",
|
||
"贾汪": "101190810",
|
||
"泉山": "101190811",
|
||
"淮安": "101190901",
|
||
"金湖": "101190902",
|
||
"盱眙": "101190903",
|
||
"洪泽": "101190904",
|
||
"涟水": "101190905",
|
||
"淮阴区": "101190906",
|
||
"清江浦": "101190907",
|
||
"淮安区": "101190908",
|
||
"连云港": "101191001",
|
||
"东海": "101191002",
|
||
"赣榆": "101191003",
|
||
"灌云": "101191004",
|
||
"灌南": "101191005",
|
||
"海州": "101191006",
|
||
"连云": "101191007",
|
||
"常州": "101191101",
|
||
"溧阳": "101191102",
|
||
"金坛": "101191103",
|
||
"武进": "101191104",
|
||
"天宁": "101191105",
|
||
"钟楼": "101191106",
|
||
"新北": "101191107",
|
||
"泰州": "101191201",
|
||
"兴化": "101191202",
|
||
"泰兴": "101191203",
|
||
"姜堰": "101191204",
|
||
"靖江": "101191205",
|
||
"海陵": "101191206",
|
||
"高港": "101191207",
|
||
"宿迁": "101191301",
|
||
"沭阳": "101191302",
|
||
"泗阳": "101191303",
|
||
"泗洪": "101191304",
|
||
"宿豫": "101191305",
|
||
"宿城": "101191306",
|
||
"武汉": "101200101",
|
||
"蔡甸": "101200102",
|
||
"黄陂": "101200103",
|
||
"新洲": "101200104",
|
||
"江夏": "101200105",
|
||
"东西湖": "101200106",
|
||
"江岸": "101200107",
|
||
"江汉": "101200108",
|
||
"硚口": "101200109",
|
||
"汉阳": "101200110",
|
||
"武昌": "101200111",
|
||
"青山": "101200112",
|
||
"洪山": "101200113",
|
||
"汉南": "101200114",
|
||
"襄阳": "101200201",
|
||
"襄州": "101200202",
|
||
"保康": "101200203",
|
||
"南漳": "101200204",
|
||
"宜城": "101200205",
|
||
"老河口": "101200206",
|
||
"谷城": "101200207",
|
||
"枣阳": "101200208",
|
||
"襄城": "101200209",
|
||
"樊城": "101200210",
|
||
"鄂州": "101200301",
|
||
"梁子湖": "101200302",
|
||
"华容": "101200303",
|
||
"鄂城": "101200304",
|
||
"孝感": "101200401",
|
||
"安陆": "101200402",
|
||
"云梦": "101200403",
|
||
"大悟": "101200404",
|
||
"应城": "101200405",
|
||
"汉川": "101200406",
|
||
"孝昌": "101200407",
|
||
"孝南": "101200408",
|
||
"黄冈": "101200501",
|
||
"红安": "101200502",
|
||
"麻城": "101200503",
|
||
"罗田": "101200504",
|
||
"英山": "101200505",
|
||
"浠水": "101200506",
|
||
"蕲春": "101200507",
|
||
"黄梅": "101200508",
|
||
"武穴": "101200509",
|
||
"团风": "101200510",
|
||
"黄州": "101200511",
|
||
"黄石": "101200601",
|
||
"大冶": "101200602",
|
||
"阳新": "101200603",
|
||
"铁山": "101200604",
|
||
"下陆": "101200605",
|
||
"西塞山": "101200606",
|
||
"黄石港": "101200607",
|
||
"咸宁": "101200701",
|
||
"赤壁": "101200702",
|
||
"嘉鱼": "101200703",
|
||
"崇阳": "101200704",
|
||
"通城": "101200705",
|
||
"通山": "101200706",
|
||
"咸安": "101200707",
|
||
"荆州": "101200801",
|
||
"江陵": "101200802",
|
||
"公安": "101200803",
|
||
"石首": "101200804",
|
||
"监利": "101200805",
|
||
"洪湖": "101200806",
|
||
"松滋": "101200807",
|
||
"沙市": "101200808",
|
||
"荆州区": "101200809",
|
||
"宜昌": "101200901",
|
||
"远安": "101200902",
|
||
"秭归": "101200903",
|
||
"兴山": "101200904",
|
||
"西陵": "101200905",
|
||
"五峰": "101200906",
|
||
"当阳": "101200907",
|
||
"长阳": "101200908",
|
||
"宜都": "101200909",
|
||
"枝江": "101200910",
|
||
"夷陵": "101200912",
|
||
"伍家岗": "101200913",
|
||
"点军": "101200914",
|
||
"猇亭": "101200915",
|
||
"恩施州": "101201001",
|
||
"利川": "101201002",
|
||
"建始": "101201003",
|
||
"咸丰": "101201004",
|
||
"宣恩": "101201005",
|
||
"鹤峰": "101201006",
|
||
"来凤": "101201007",
|
||
"巴东": "101201008",
|
||
"恩施市": "101201009",
|
||
"十堰": "101201101",
|
||
"竹溪": "101201102",
|
||
"郧西": "101201103",
|
||
"郧阳": "101201104",
|
||
"竹山": "101201105",
|
||
"房县": "101201106",
|
||
"丹江口": "101201107",
|
||
"茅箭": "101201108",
|
||
"张湾": "101201109",
|
||
"神农架": "101201201",
|
||
"随州": "101201301",
|
||
"广水": "101201302",
|
||
"曾都": "101201303",
|
||
"随县": "101201304",
|
||
"荆门": "101201401",
|
||
"钟祥": "101201402",
|
||
"京山": "101201403",
|
||
"掇刀": "101201404",
|
||
"沙洋": "101201405",
|
||
"东宝": "101201406",
|
||
"天门": "101201501",
|
||
"仙桃": "101201601",
|
||
"潜江": "101201701",
|
||
"杭州": "101210101",
|
||
"萧山": "101210102",
|
||
"桐庐": "101210103",
|
||
"淳安": "101210104",
|
||
"建德": "101210105",
|
||
"余杭": "101210106",
|
||
"临安": "101210107",
|
||
"富阳": "101210108",
|
||
"上城": "101210109",
|
||
"钱塘": "101210111",
|
||
"拱墅": "101210112",
|
||
"西湖": "101210113",
|
||
"滨江": "101210114",
|
||
"临平": "101210115",
|
||
"湖州": "101210201",
|
||
"长兴": "101210202",
|
||
"安吉": "101210203",
|
||
"德清": "101210204",
|
||
"吴兴": "101210205",
|
||
"南浔": "101210206",
|
||
"嘉兴": "101210301",
|
||
"嘉善": "101210302",
|
||
"海宁": "101210303",
|
||
"桐乡": "101210304",
|
||
"平湖": "101210305",
|
||
"海盐": "101210306",
|
||
"南湖": "101210307",
|
||
"秀洲": "101210308",
|
||
"宁波": "101210401",
|
||
"海曙": "101210402",
|
||
"慈溪": "101210403",
|
||
"余姚": "101210404",
|
||
"奉化": "101210405",
|
||
"象山": "101210406",
|
||
"宁海": "101210408",
|
||
"江北": "101210409",
|
||
"北仑": "101210410",
|
||
"鄞州": "101210411",
|
||
"镇海": "101210412",
|
||
"越城": "101210501",
|
||
"诸暨": "101210502",
|
||
"上虞": "101210503",
|
||
"新昌": "101210504",
|
||
"嵊州": "101210505",
|
||
"柯桥": "101210506",
|
||
"绍兴": "101210507",
|
||
"台州": "101210601",
|
||
"玉环": "101210603",
|
||
"三门": "101210604",
|
||
"天台": "101210605",
|
||
"仙居": "101210606",
|
||
"温岭": "101210607",
|
||
"临海": "101210610",
|
||
"椒江": "101210611",
|
||
"黄岩": "101210612",
|
||
"路桥": "101210613",
|
||
"温州": "101210701",
|
||
"泰顺": "101210702",
|
||
"文成": "101210703",
|
||
"平阳": "101210704",
|
||
"瑞安": "101210705",
|
||
"洞头": "101210706",
|
||
"乐清": "101210707",
|
||
"永嘉": "101210708",
|
||
"苍南": "101210709",
|
||
"鹿城": "101210710",
|
||
"龙湾": "101210711",
|
||
"瓯海": "101210712",
|
||
"龙港": "101210713",
|
||
"丽水": "101210801",
|
||
"遂昌": "101210802",
|
||
"龙泉": "101210803",
|
||
"缙云": "101210804",
|
||
"青田": "101210805",
|
||
"云和": "101210806",
|
||
"庆元": "101210807",
|
||
"松阳": "101210808",
|
||
"景宁": "101210809",
|
||
"莲都": "101210810",
|
||
"金华": "101210901",
|
||
"浦江": "101210902",
|
||
"兰溪": "101210903",
|
||
"义乌": "101210904",
|
||
"东阳": "101210905",
|
||
"武义": "101210906",
|
||
"永康": "101210907",
|
||
"磐安": "101210908",
|
||
"婺城": "101210909",
|
||
"金东": "101210910",
|
||
"衢州": "101211001",
|
||
"常山": "101211002",
|
||
"开化": "101211003",
|
||
"龙游": "101211004",
|
||
"江山": "101211005",
|
||
"衢江": "101211006",
|
||
"柯城": "101211007",
|
||
"舟山": "101211101",
|
||
"嵊泗": "101211102",
|
||
"岱山": "101211104",
|
||
"普陀": "101211105",
|
||
"定海": "101211106",
|
||
"合肥": "101220101",
|
||
"长丰": "101220102",
|
||
"肥东": "101220103",
|
||
"肥西": "101220104",
|
||
"巢湖": "101220105",
|
||
"庐江": "101220106",
|
||
"瑶海": "101220107",
|
||
"庐阳": "101220108",
|
||
"蜀山": "101220109",
|
||
"包河": "101220110",
|
||
"蚌埠": "101220201",
|
||
"怀远": "101220202",
|
||
"固镇": "101220203",
|
||
"五河": "101220204",
|
||
"龙子湖": "101220205",
|
||
"蚌山": "101220206",
|
||
"禹会": "101220207",
|
||
"淮上": "101220208",
|
||
"芜湖": "101220301",
|
||
"繁昌": "101220302",
|
||
"湾沚": "101220303",
|
||
"南陵": "101220304",
|
||
"无为": "101220305",
|
||
"镜湖": "101220306",
|
||
"弋江": "101220307",
|
||
"鸠江": "101220308",
|
||
"淮南": "101220401",
|
||
"凤台": "101220402",
|
||
"潘集": "101220403",
|
||
"大通": "101220404",
|
||
"田家庵": "101220405",
|
||
"谢家集": "101220406",
|
||
"八公山": "101220407",
|
||
"寿县": "101220408",
|
||
"马鞍山": "101220501",
|
||
"当涂": "101220502",
|
||
"含山": "101220503",
|
||
"和县": "101220504",
|
||
"花山": "101220505",
|
||
"雨山": "101220506",
|
||
"博望": "101220507",
|
||
"安庆": "101220601",
|
||
"太湖": "101220603",
|
||
"潜山": "101220604",
|
||
"怀宁": "101220605",
|
||
"宿松": "101220606",
|
||
"望江": "101220607",
|
||
"岳西": "101220608",
|
||
"桐城": "101220609",
|
||
"迎江": "101220610",
|
||
"大观": "101220611",
|
||
"宜秀": "101220612",
|
||
"宿州": "101220701",
|
||
"砀山": "101220702",
|
||
"灵璧": "101220703",
|
||
"泗县": "101220704",
|
||
"萧县": "101220705",
|
||
"埇桥": "101220706",
|
||
"阜阳": "101220801",
|
||
"阜南": "101220802",
|
||
"颍上": "101220803",
|
||
"临泉": "101220804",
|
||
"界首": "101220805",
|
||
"太和": "101220806",
|
||
"颍州": "101220807",
|
||
"颍东": "101220808",
|
||
"颍泉": "101220809",
|
||
"亳州": "101220901",
|
||
"涡阳": "101220902",
|
||
"利辛": "101220903",
|
||
"蒙城": "101220904",
|
||
"谯城": "101220905",
|
||
"黄山": "101221001",
|
||
"黄山区": "101221002",
|
||
"屯溪": "101221003",
|
||
"祁门": "101221004",
|
||
"黟县": "101221005",
|
||
"歙县": "101221006",
|
||
"休宁": "101221007",
|
||
"徽州": "101221009",
|
||
"滁州": "101221101",
|
||
"凤阳": "101221102",
|
||
"明光": "101221103",
|
||
"定远": "101221104",
|
||
"全椒": "101221105",
|
||
"来安": "101221106",
|
||
"天长": "101221107",
|
||
"琅琊": "101221108",
|
||
"南谯": "101221109",
|
||
"淮北": "101221201",
|
||
"濉溪": "101221202",
|
||
"杜集": "101221203",
|
||
"相山": "101221204",
|
||
"烈山": "101221205",
|
||
"铜陵": "101221301",
|
||
"铜官": "101221302",
|
||
"义安": "101221303",
|
||
"郊区": "101221304",
|
||
"枞阳": "101221305",
|
||
"宣城": "101221401",
|
||
"泾县": "101221402",
|
||
"旌德": "101221403",
|
||
"宁国": "101221404",
|
||
"绩溪": "101221405",
|
||
"广德": "101221406",
|
||
"郎溪": "101221407",
|
||
"宣州": "101221408",
|
||
"六安": "101221501",
|
||
"霍邱": "101221502",
|
||
"金安": "101221504",
|
||
"金寨": "101221505",
|
||
"霍山": "101221506",
|
||
"舒城": "101221507",
|
||
"裕安": "101221508",
|
||
"叶集": "101221509",
|
||
"池州": "101221701",
|
||
"东至": "101221702",
|
||
"青阳": "101221703",
|
||
"石台": "101221705",
|
||
"贵池": "101221706",
|
||
"福州": "101230101",
|
||
"闽清": "101230102",
|
||
"闽侯": "101230103",
|
||
"罗源": "101230104",
|
||
"连江": "101230105",
|
||
"鼓楼": "101230106",
|
||
"永泰": "101230107",
|
||
"平潭": "101230108",
|
||
"台江": "101230109",
|
||
"长乐": "101230110",
|
||
"福清": "101230111",
|
||
"仓山": "101230112",
|
||
"马尾": "101230113",
|
||
"晋安": "101230114",
|
||
"厦门": "101230201",
|
||
"同安": "101230202",
|
||
"思明": "101230203",
|
||
"海沧": "101230204",
|
||
"湖里": "101230205",
|
||
"集美": "101230206",
|
||
"翔安": "101230207",
|
||
"宁德": "101230301",
|
||
"古田": "101230302",
|
||
"霞浦": "101230303",
|
||
"寿宁": "101230304",
|
||
"周宁": "101230305",
|
||
"福安": "101230306",
|
||
"柘荣": "101230307",
|
||
"福鼎": "101230308",
|
||
"屏南": "101230309",
|
||
"蕉城": "101230310",
|
||
"莆田": "101230401",
|
||
"仙游": "101230402",
|
||
"涵江": "101230404",
|
||
"秀屿": "101230405",
|
||
"荔城": "101230406",
|
||
"城厢": "101230407",
|
||
"泉州": "101230501",
|
||
"安溪": "101230502",
|
||
"金门": "101230503",
|
||
"永春": "101230504",
|
||
"德化": "101230505",
|
||
"南安": "101230506",
|
||
"惠安": "101230508",
|
||
"晋江": "101230509",
|
||
"石狮": "101230510",
|
||
"鲤城": "101230511",
|
||
"丰泽": "101230512",
|
||
"洛江": "101230513",
|
||
"泉港": "101230514",
|
||
"漳州": "101230601",
|
||
"长泰": "101230602",
|
||
"南靖": "101230603",
|
||
"平和": "101230604",
|
||
"龙海": "101230605",
|
||
"漳浦": "101230606",
|
||
"诏安": "101230607",
|
||
"东山": "101230608",
|
||
"云霄": "101230609",
|
||
"华安": "101230610",
|
||
"芗城": "101230611",
|
||
"龙文": "101230612",
|
||
"龙岩": "101230701",
|
||
"长汀": "101230702",
|
||
"连城": "101230703",
|
||
"武平": "101230704",
|
||
"上杭": "101230705",
|
||
"永定": "101230706",
|
||
"漳平": "101230707",
|
||
"新罗": "101230708",
|
||
"三明": "101230801",
|
||
"宁化": "101230802",
|
||
"清流": "101230803",
|
||
"泰宁": "101230804",
|
||
"将乐": "101230805",
|
||
"建宁": "101230806",
|
||
"明溪": "101230807",
|
||
"沙县": "101230808",
|
||
"尤溪": "101230809",
|
||
"永安": "101230810",
|
||
"大田": "101230811",
|
||
"三元": "101230813",
|
||
"南平": "101230901",
|
||
"顺昌": "101230902",
|
||
"光泽": "101230903",
|
||
"邵武": "101230904",
|
||
"武夷山": "101230905",
|
||
"浦城": "101230906",
|
||
"建阳": "101230907",
|
||
"松溪": "101230908",
|
||
"政和": "101230909",
|
||
"建瓯": "101230910",
|
||
"延平": "101230911",
|
||
"南昌": "101240101",
|
||
"新建": "101240102",
|
||
"南昌县": "101240103",
|
||
"安义": "101240104",
|
||
"进贤": "101240105",
|
||
"东湖": "101240106",
|
||
"西湖": "101240107",
|
||
"青云谱": "101240108",
|
||
"红谷滩": "101240109",
|
||
"青山湖": "101240110",
|
||
"九江": "101240201",
|
||
"瑞昌": "101240202",
|
||
"庐山": "101240203",
|
||
"武宁": "101240204",
|
||
"德安": "101240205",
|
||
"永修": "101240206",
|
||
"湖口": "101240207",
|
||
"彭泽": "101240208",
|
||
"都昌": "101240210",
|
||
"浔阳": "101240211",
|
||
"修水": "101240212",
|
||
"共青城": "101240213",
|
||
"濂溪": "101240214",
|
||
"柴桑": "101240215",
|
||
"上饶": "101240301",
|
||
"鄱阳": "101240302",
|
||
"婺源": "101240303",
|
||
"信州": "101240304",
|
||
"余干": "101240305",
|
||
"万年": "101240306",
|
||
"德兴": "101240307",
|
||
"广信": "101240308",
|
||
"弋阳": "101240309",
|
||
"横峰": "101240310",
|
||
"铅山": "101240311",
|
||
"玉山": "101240312",
|
||
"广丰": "101240313",
|
||
"抚州": "101240401",
|
||
"广昌": "101240402",
|
||
"乐安": "101240403",
|
||
"崇仁": "101240404",
|
||
"金溪": "101240405",
|
||
"资溪": "101240406",
|
||
"宜黄": "101240407",
|
||
"南城": "101240408",
|
||
"南丰": "101240409",
|
||
"黎川": "101240410",
|
||
"东乡": "101240411",
|
||
"临川": "101240412",
|
||
"宜春": "101240501",
|
||
"铜鼓": "101240502",
|
||
"宜丰": "101240503",
|
||
"万载": "101240504",
|
||
"上高": "101240505",
|
||
"靖安": "101240506",
|
||
"奉新": "101240507",
|
||
"高安": "101240508",
|
||
"樟树": "101240509",
|
||
"丰城": "101240510",
|
||
"袁州": "101240511",
|
||
"吉安": "101240601",
|
||
"吉安县": "101240602",
|
||
"吉水": "101240603",
|
||
"新干": "101240604",
|
||
"峡江": "101240605",
|
||
"永丰": "101240606",
|
||
"永新": "101240607",
|
||
"井冈山": "101240608",
|
||
"万安": "101240609",
|
||
"遂川": "101240610",
|
||
"泰和": "101240611",
|
||
"安福": "101240612",
|
||
"吉州": "101240614",
|
||
"青原": "101240615",
|
||
"赣州": "101240701",
|
||
"崇义": "101240702",
|
||
"上犹": "101240703",
|
||
"南康": "101240704",
|
||
"大余": "101240705",
|
||
"信丰": "101240706",
|
||
"宁都": "101240707",
|
||
"石城": "101240708",
|
||
"瑞金": "101240709",
|
||
"于都": "101240710",
|
||
"会昌": "101240711",
|
||
"安远": "101240712",
|
||
"全南": "101240713",
|
||
"龙南": "101240714",
|
||
"定南": "101240715",
|
||
"寻乌": "101240716",
|
||
"兴国": "101240717",
|
||
"赣县": "101240718",
|
||
"章贡": "101240719",
|
||
"景德镇": "101240801",
|
||
"乐平": "101240802",
|
||
"浮梁": "101240803",
|
||
"昌江": "101240804",
|
||
"珠山": "101240805",
|
||
"萍乡": "101240901",
|
||
"莲花": "101240902",
|
||
"上栗": "101240903",
|
||
"安源": "101240904",
|
||
"芦溪": "101240905",
|
||
"湘东": "101240906",
|
||
"新余": "101241001",
|
||
"分宜": "101241002",
|
||
"渝水": "101241003",
|
||
"鹰潭": "101241101",
|
||
"余江": "101241102",
|
||
"贵溪": "101241103",
|
||
"月湖": "101241104",
|
||
"长沙": "101250101",
|
||
"宁乡": "101250102",
|
||
"浏阳": "101250103",
|
||
"望城": "101250105",
|
||
"长沙县": "101250106",
|
||
"芙蓉": "101250107",
|
||
"天心": "101250108",
|
||
"岳麓": "101250109",
|
||
"开福": "101250110",
|
||
"雨花": "101250111",
|
||
"湘潭": "101250201",
|
||
"韶山": "101250202",
|
||
"湘乡": "101250203",
|
||
"雨湖": "101250204",
|
||
"岳塘": "101250205",
|
||
"湘潭县": "101250206",
|
||
"株洲": "101250301",
|
||
"攸县": "101250302",
|
||
"醴陵": "101250303",
|
||
"荷塘": "101250304",
|
||
"茶陵": "101250305",
|
||
"炎陵": "101250306",
|
||
"芦淞": "101250307",
|
||
"石峰": "101250308",
|
||
"天元": "101250309",
|
||
"渌口": "101250310",
|
||
"衡阳": "101250401",
|
||
"衡山": "101250402",
|
||
"衡东": "101250403",
|
||
"祁东": "101250404",
|
||
"衡阳县": "101250405",
|
||
"常宁": "101250406",
|
||
"衡南": "101250407",
|
||
"耒阳": "101250408",
|
||
"南岳": "101250409",
|
||
"珠晖": "101250410",
|
||
"雁峰": "101250411",
|
||
"石鼓": "101250412",
|
||
"蒸湘": "101250413",
|
||
"郴州": "101250501",
|
||
"桂阳": "101250502",
|
||
"嘉禾": "101250503",
|
||
"宜章": "101250504",
|
||
"临武": "101250505",
|
||
"北湖": "101250506",
|
||
"资兴": "101250507",
|
||
"汝城": "101250508",
|
||
"安仁": "101250509",
|
||
"永兴": "101250510",
|
||
"桂东": "101250511",
|
||
"苏仙": "101250512",
|
||
"常德": "101250601",
|
||
"安乡": "101250602",
|
||
"桃源": "101250603",
|
||
"汉寿": "101250604",
|
||
"澧县": "101250605",
|
||
"临澧": "101250606",
|
||
"石门": "101250607",
|
||
"津市": "101250608",
|
||
"武陵": "101250609",
|
||
"鼎城": "101250610",
|
||
"益阳": "101250700",
|
||
"赫山区": "101250701",
|
||
"南县": "101250702",
|
||
"桃江": "101250703",
|
||
"安化": "101250704",
|
||
"沅江": "101250705",
|
||
"资阳": "101250706",
|
||
"娄底": "101250801",
|
||
"双峰": "101250802",
|
||
"冷水江": "101250803",
|
||
"娄星": "101250804",
|
||
"新化": "101250805",
|
||
"涟源": "101250806",
|
||
"邵阳": "101250901",
|
||
"隆回": "101250902",
|
||
"洞口": "101250903",
|
||
"新邵": "101250904",
|
||
"邵东": "101250905",
|
||
"绥宁": "101250906",
|
||
"新宁": "101250907",
|
||
"武冈": "101250908",
|
||
"城步": "101250909",
|
||
"邵阳县": "101250910",
|
||
"双清": "101250911",
|
||
"大祥": "101250912",
|
||
"北塔": "101250913",
|
||
"岳阳": "101251001",
|
||
"华容": "101251002",
|
||
"湘阴": "101251003",
|
||
"汨罗": "101251004",
|
||
"平江": "101251005",
|
||
"临湘": "101251006",
|
||
"岳阳楼区": "101251007",
|
||
"云溪": "101251008",
|
||
"君山": "101251009",
|
||
"岳阳县": "101251010",
|
||
"张家界": "101251101",
|
||
"桑植": "101251102",
|
||
"慈利": "101251103",
|
||
"武陵源": "101251104",
|
||
"永定": "101251105",
|
||
"怀化": "101251201",
|
||
"鹤城": "101251202",
|
||
"沅陵": "101251203",
|
||
"辰溪": "101251204",
|
||
"靖州": "101251205",
|
||
"会同": "101251206",
|
||
"通道": "101251207",
|
||
"麻阳": "101251208",
|
||
"新晃": "101251209",
|
||
"芷江": "101251210",
|
||
"溆浦": "101251211",
|
||
"中方": "101251212",
|
||
"洪江": "101251213",
|
||
"永州": "101251401",
|
||
"祁阳": "101251402",
|
||
"东安": "101251403",
|
||
"双牌": "101251404",
|
||
"道县": "101251405",
|
||
"宁远": "101251406",
|
||
"江永": "101251407",
|
||
"蓝山": "101251408",
|
||
"新田": "101251409",
|
||
"江华": "101251410",
|
||
"冷水滩": "101251411",
|
||
"零陵": "101251412",
|
||
"吉首": "101251501",
|
||
"保靖": "101251502",
|
||
"永顺": "101251503",
|
||
"古丈": "101251504",
|
||
"凤凰": "101251505",
|
||
"泸溪": "101251506",
|
||
"龙山": "101251507",
|
||
"花垣": "101251508",
|
||
"湘西": "101251509",
|
||
"贵阳": "101260101",
|
||
"白云": "101260102",
|
||
"花溪": "101260103",
|
||
"乌当": "101260104",
|
||
"息烽": "101260105",
|
||
"开阳": "101260106",
|
||
"修文": "101260107",
|
||
"清镇": "101260108",
|
||
"云岩": "101260110",
|
||
"南明": "101260111",
|
||
"观山湖": "101260112",
|
||
"遵义": "101260201",
|
||
"仁怀": "101260203",
|
||
"绥阳": "101260204",
|
||
"湄潭": "101260205",
|
||
"凤冈": "101260206",
|
||
"桐梓": "101260207",
|
||
"赤水": "101260208",
|
||
"习水": "101260209",
|
||
"道真": "101260210",
|
||
"正安": "101260211",
|
||
"务川": "101260212",
|
||
"余庆": "101260213",
|
||
"汇川": "101260214",
|
||
"红花岗": "101260215",
|
||
"播州": "101260216",
|
||
"安顺": "101260301",
|
||
"普定": "101260302",
|
||
"镇宁": "101260303",
|
||
"平坝": "101260304",
|
||
"紫云": "101260305",
|
||
"关岭": "101260306",
|
||
"西秀": "101260307",
|
||
"都匀": "101260401",
|
||
"贵定": "101260402",
|
||
"瓮安": "101260403",
|
||
"长顺": "101260404",
|
||
"福泉": "101260405",
|
||
"惠水": "101260406",
|
||
"龙里": "101260407",
|
||
"罗甸": "101260408",
|
||
"平塘": "101260409",
|
||
"独山": "101260410",
|
||
"三都": "101260411",
|
||
"荔波": "101260412",
|
||
"黔南": "101260413",
|
||
"凯里": "101260501",
|
||
"岑巩": "101260502",
|
||
"施秉": "101260503",
|
||
"镇远": "101260504",
|
||
"黄平": "101260505",
|
||
"黔东南": "101260506",
|
||
"麻江": "101260507",
|
||
"丹寨": "101260508",
|
||
"三穗": "101260509",
|
||
"台江": "101260510",
|
||
"剑河": "101260511",
|
||
"雷山": "101260512",
|
||
"黎平": "101260513",
|
||
"天柱": "101260514",
|
||
"锦屏": "101260515",
|
||
"榕江": "101260516",
|
||
"从江": "101260517",
|
||
"铜仁": "101260601",
|
||
"江口": "101260602",
|
||
"玉屏": "101260603",
|
||
"万山": "101260604",
|
||
"思南": "101260605",
|
||
"碧江": "101260606",
|
||
"印江": "101260607",
|
||
"石阡": "101260608",
|
||
"沿河": "101260609",
|
||
"德江": "101260610",
|
||
"松桃": "101260611",
|
||
"毕节": "101260701",
|
||
"赫章": "101260702",
|
||
"金沙": "101260703",
|
||
"威宁": "101260704",
|
||
"大方": "101260705",
|
||
"纳雍": "101260706",
|
||
"织金": "101260707",
|
||
"黔西": "101260708",
|
||
"七星关": "101260709",
|
||
"水城": "101260801",
|
||
"六枝": "101260802",
|
||
"六盘水": "101260803",
|
||
"盘州": "101260804",
|
||
"钟山": "101260805",
|
||
"兴义": "101260901",
|
||
"晴隆": "101260902",
|
||
"兴仁": "101260903",
|
||
"贞丰": "101260904",
|
||
"望谟": "101260905",
|
||
"黔西南": "101260906",
|
||
"安龙": "101260907",
|
||
"册亨": "101260908",
|
||
"普安": "101260909",
|
||
"成都": "101270101",
|
||
"龙泉驿": "101270102",
|
||
"新都": "101270103",
|
||
"温江": "101270104",
|
||
"金堂": "101270105",
|
||
"双流": "101270106",
|
||
"郫都": "101270107",
|
||
"大邑": "101270108",
|
||
"蒲江": "101270109",
|
||
"新津": "101270110",
|
||
"都江堰": "101270111",
|
||
"彭州": "101270112",
|
||
"邛崃": "101270113",
|
||
"崇州": "101270114",
|
||
"青白江": "101270115",
|
||
"锦江": "101270116",
|
||
"青羊": "101270117",
|
||
"金牛": "101270118",
|
||
"武侯": "101270119",
|
||
"成华": "101270120",
|
||
"简阳": "101270121",
|
||
"攀枝花": "101270201",
|
||
"仁和": "101270202",
|
||
"米易": "101270203",
|
||
"盐边": "101270204",
|
||
"东区": "101270205",
|
||
"西区": "101270206",
|
||
"自贡": "101270301",
|
||
"富顺": "101270302",
|
||
"荣县": "101270303",
|
||
"自流井": "101270304",
|
||
"贡井": "101270305",
|
||
"大安": "101270306",
|
||
"沿滩": "101270307",
|
||
"绵阳": "101270401",
|
||
"三台": "101270402",
|
||
"盐亭": "101270403",
|
||
"梓潼": "101270405",
|
||
"北川": "101270406",
|
||
"平武": "101270407",
|
||
"江油": "101270408",
|
||
"涪城": "101270409",
|
||
"游仙": "101270410",
|
||
"安州": "101270411",
|
||
"南充": "101270501",
|
||
"南部": "101270502",
|
||
"营山": "101270503",
|
||
"蓬安": "101270504",
|
||
"仪陇": "101270505",
|
||
"西充": "101270506",
|
||
"阆中": "101270507",
|
||
"顺庆": "101270508",
|
||
"高坪": "101270509",
|
||
"嘉陵": "101270510",
|
||
"达州": "101270601",
|
||
"宣汉": "101270602",
|
||
"开江": "101270603",
|
||
"大竹": "101270604",
|
||
"渠县": "101270605",
|
||
"万源": "101270606",
|
||
"通川": "101270607",
|
||
"达川": "101270608",
|
||
"遂宁": "101270701",
|
||
"蓬溪": "101270702",
|
||
"射洪": "101270703",
|
||
"船山": "101270704",
|
||
"安居": "101270705",
|
||
"大英": "101270706",
|
||
"广安": "101270801",
|
||
"岳池": "101270802",
|
||
"武胜": "101270803",
|
||
"邻水": "101270804",
|
||
"华蓥": "101270805",
|
||
"前锋": "101270806",
|
||
"广安区": "101270807",
|
||
"巴中": "101270901",
|
||
"通江": "101270902",
|
||
"南江": "101270903",
|
||
"平昌": "101270904",
|
||
"巴州": "101270905",
|
||
"恩阳": "101270906",
|
||
"泸州": "101271001",
|
||
"江阳": "101271002",
|
||
"泸县": "101271003",
|
||
"合江": "101271004",
|
||
"叙永": "101271005",
|
||
"古蔺": "101271006",
|
||
"纳溪": "101271007",
|
||
"龙马潭": "101271008",
|
||
"宜宾": "101271101",
|
||
"翠屏": "101271102",
|
||
"叙州区": "101271103",
|
||
"南溪": "101271104",
|
||
"江安": "101271105",
|
||
"长宁": "101271106",
|
||
"高县": "101271107",
|
||
"珙县": "101271108",
|
||
"筠连": "101271109",
|
||
"兴文": "101271110",
|
||
"屏山": "101271111",
|
||
"内江": "101271201",
|
||
"东兴": "101271202",
|
||
"威远": "101271203",
|
||
"资中": "101271204",
|
||
"隆昌": "101271205",
|
||
"市中": "101271206",
|
||
"资阳": "101271301",
|
||
"安岳": "101271302",
|
||
"乐至": "101271303",
|
||
"雁江": "101271305",
|
||
"乐山": "101271401",
|
||
"犍为": "101271402",
|
||
"井研": "101271403",
|
||
"夹江": "101271404",
|
||
"沐川": "101271405",
|
||
"峨边": "101271406",
|
||
"马边": "101271407",
|
||
"市中": "101271410",
|
||
"沙湾": "101271411",
|
||
"五通桥": "101271412",
|
||
"金口河": "101271413",
|
||
"峨眉山市": "101271414",
|
||
"眉山": "101271501",
|
||
"仁寿": "101271502",
|
||
"彭山": "101271503",
|
||
"洪雅": "101271504",
|
||
"丹棱": "101271505",
|
||
"青神": "101271506",
|
||
"东坡": "101271507",
|
||
"凉山": "101271601",
|
||
"木里": "101271603",
|
||
"盐源": "101271604",
|
||
"德昌": "101271605",
|
||
"会理": "101271606",
|
||
"会东": "101271607",
|
||
"宁南": "101271608",
|
||
"普格": "101271609",
|
||
"西昌": "101271610",
|
||
"金阳": "101271611",
|
||
"昭觉": "101271612",
|
||
"喜德": "101271613",
|
||
"冕宁": "101271614",
|
||
"越西": "101271615",
|
||
"甘洛": "101271616",
|
||
"雷波": "101271617",
|
||
"美姑": "101271618",
|
||
"布拖": "101271619",
|
||
"雅安": "101271701",
|
||
"名山": "101271702",
|
||
"荥经": "101271703",
|
||
"汉源": "101271704",
|
||
"石棉": "101271705",
|
||
"天全": "101271706",
|
||
"芦山": "101271707",
|
||
"宝兴": "101271708",
|
||
"雨城": "101271709",
|
||
"甘孜": "101271801",
|
||
"康定": "101271802",
|
||
"泸定": "101271803",
|
||
"丹巴": "101271804",
|
||
"九龙": "101271805",
|
||
"雅江": "101271806",
|
||
"道孚": "101271807",
|
||
"炉霍": "101271808",
|
||
"新龙": "101271809",
|
||
"德格": "101271810",
|
||
"白玉": "101271811",
|
||
"石渠": "101271812",
|
||
"色达": "101271813",
|
||
"理塘": "101271814",
|
||
"巴塘": "101271815",
|
||
"乡城": "101271816",
|
||
"稻城": "101271817",
|
||
"得荣": "101271818",
|
||
"甘孜县": "101271819",
|
||
"阿坝": "101271901",
|
||
"汶川": "101271902",
|
||
"理县": "101271903",
|
||
"茂县": "101271904",
|
||
"松潘": "101271905",
|
||
"九寨沟": "101271906",
|
||
"金川": "101271907",
|
||
"小金": "101271908",
|
||
"黑水": "101271909",
|
||
"马尔康": "101271910",
|
||
"壤塘": "101271911",
|
||
"若尔盖": "101271912",
|
||
"红原": "101271913",
|
||
"阿坝县": "101271914",
|
||
"德阳": "101272001",
|
||
"中江": "101272002",
|
||
"广汉": "101272003",
|
||
"什邡": "101272004",
|
||
"绵竹": "101272005",
|
||
"罗江": "101272006",
|
||
"旌阳": "101272007",
|
||
"广元": "101272101",
|
||
"旺苍": "101272102",
|
||
"青川": "101272103",
|
||
"剑阁": "101272104",
|
||
"苍溪": "101272105",
|
||
"利州": "101272106",
|
||
"昭化": "101272107",
|
||
"朝天": "101272108",
|
||
"广州": "101280101",
|
||
"番禺": "101280102",
|
||
"从化": "101280103",
|
||
"增城": "101280104",
|
||
"花都": "101280105",
|
||
"荔湾": "101280106",
|
||
"越秀": "101280107",
|
||
"海珠": "101280108",
|
||
"天河": "101280109",
|
||
"白云": "101280110",
|
||
"黄埔": "101280111",
|
||
"南沙": "101280112",
|
||
"韶关": "101280201",
|
||
"乳源": "101280202",
|
||
"始兴": "101280203",
|
||
"翁源": "101280204",
|
||
"乐昌": "101280205",
|
||
"仁化": "101280206",
|
||
"南雄": "101280207",
|
||
"新丰": "101280208",
|
||
"曲江": "101280209",
|
||
"浈江": "101280210",
|
||
"武江": "101280211",
|
||
"惠州": "101280301",
|
||
"博罗": "101280302",
|
||
"惠阳": "101280303",
|
||
"惠东": "101280304",
|
||
"龙门": "101280305",
|
||
"惠城": "101280306",
|
||
"梅州": "101280401",
|
||
"兴宁": "101280402",
|
||
"蕉岭": "101280403",
|
||
"大埔": "101280404",
|
||
"梅江": "101280405",
|
||
"丰顺": "101280406",
|
||
"平远": "101280407",
|
||
"五华": "101280408",
|
||
"梅县": "101280409",
|
||
"汕头": "101280501",
|
||
"潮阳": "101280502",
|
||
"澄海": "101280503",
|
||
"南澳": "101280504",
|
||
"龙湖": "101280505",
|
||
"金平": "101280506",
|
||
"濠江": "101280507",
|
||
"潮南": "101280508",
|
||
"深圳": "101280601",
|
||
"罗湖": "101280602",
|
||
"福田": "101280603",
|
||
"南山": "101280604",
|
||
"宝安": "101280605",
|
||
"龙岗": "101280606",
|
||
"盐田": "101280607",
|
||
"龙华": "101280608",
|
||
"坪山": "101280609",
|
||
"光明": "101280610",
|
||
"珠海": "101280701",
|
||
"斗门": "101280702",
|
||
"金湾": "101280703",
|
||
"香洲": "101280704",
|
||
"佛山": "101280800",
|
||
"顺德": "101280801",
|
||
"三水": "101280802",
|
||
"南海": "101280803",
|
||
"高明": "101280804",
|
||
"禅城": "101280805",
|
||
"肇庆": "101280901",
|
||
"广宁": "101280902",
|
||
"四会": "101280903",
|
||
"端州": "101280904",
|
||
"德庆": "101280905",
|
||
"怀集": "101280906",
|
||
"封开": "101280907",
|
||
"高要": "101280908",
|
||
"鼎湖": "101280909",
|
||
"湛江": "101281001",
|
||
"吴川": "101281002",
|
||
"雷州": "101281003",
|
||
"徐闻": "101281004",
|
||
"廉江": "101281005",
|
||
"赤坎": "101281006",
|
||
"遂溪": "101281007",
|
||
"坡头": "101281008",
|
||
"霞山": "101281009",
|
||
"麻章": "101281010",
|
||
"江门": "101281101",
|
||
"开平": "101281103",
|
||
"新会": "101281104",
|
||
"恩平": "101281105",
|
||
"台山": "101281106",
|
||
"蓬江": "101281107",
|
||
"鹤山": "101281108",
|
||
"江海": "101281109",
|
||
"河源": "101281201",
|
||
"紫金": "101281202",
|
||
"连平": "101281203",
|
||
"和平": "101281204",
|
||
"龙川": "101281205",
|
||
"东源": "101281206",
|
||
"源城": "101281207",
|
||
"清远": "101281301",
|
||
"连南": "101281302",
|
||
"连州": "101281303",
|
||
"连山": "101281304",
|
||
"阳山": "101281305",
|
||
"佛冈": "101281306",
|
||
"英德": "101281307",
|
||
"清新": "101281308",
|
||
"清城": "101281309",
|
||
"云浮": "101281401",
|
||
"罗定": "101281402",
|
||
"新兴": "101281403",
|
||
"郁南": "101281404",
|
||
"云城": "101281405",
|
||
"云安": "101281406",
|
||
"潮州": "101281501",
|
||
"饶平": "101281502",
|
||
"潮安": "101281503",
|
||
"湘桥": "101281504",
|
||
"东莞": "101281601",
|
||
"中山": "101281701",
|
||
"阳江": "101281801",
|
||
"阳春": "101281802",
|
||
"阳东": "101281803",
|
||
"阳西": "101281804",
|
||
"江城": "101281805",
|
||
"揭阳": "101281901",
|
||
"揭西": "101281902",
|
||
"普宁": "101281903",
|
||
"惠来": "101281904",
|
||
"揭东": "101281905",
|
||
"榕城": "101281906",
|
||
"茂名": "101282001",
|
||
"高州": "101282002",
|
||
"化州": "101282003",
|
||
"电白": "101282004",
|
||
"信宜": "101282005",
|
||
"茂南": "101282007",
|
||
"汕尾": "101282101",
|
||
"海丰": "101282102",
|
||
"陆丰": "101282103",
|
||
"陆河": "101282104",
|
||
"城区": "101282105",
|
||
"昆明": "101290101",
|
||
"五华": "101290102",
|
||
"东川": "101290103",
|
||
"寻甸": "101290104",
|
||
"晋宁": "101290105",
|
||
"宜良": "101290106",
|
||
"石林": "101290107",
|
||
"呈贡": "101290108",
|
||
"富民": "101290109",
|
||
"嵩明": "101290110",
|
||
"禄劝": "101290111",
|
||
"安宁": "101290112",
|
||
"盘龙": "101290114",
|
||
"官渡": "101290115",
|
||
"西山": "101290116",
|
||
"大理州": "101290201",
|
||
"云龙": "101290202",
|
||
"漾濞": "101290203",
|
||
"永平": "101290204",
|
||
"宾川": "101290205",
|
||
"弥渡": "101290206",
|
||
"祥云": "101290207",
|
||
"巍山": "101290208",
|
||
"剑川": "101290209",
|
||
"洱源": "101290210",
|
||
"鹤庆": "101290211",
|
||
"南涧": "101290212",
|
||
"大理市": "101290213",
|
||
"红河": "101290301",
|
||
"石屏": "101290302",
|
||
"建水": "101290303",
|
||
"弥勒": "101290304",
|
||
"元阳": "101290305",
|
||
"绿春": "101290306",
|
||
"开远": "101290307",
|
||
"个旧": "101290308",
|
||
"蒙自": "101290309",
|
||
"屏边": "101290310",
|
||
"泸西": "101290311",
|
||
"金平": "101290312",
|
||
"河口": "101290313",
|
||
"红河县": "101290314",
|
||
"曲靖": "101290401",
|
||
"沾益": "101290402",
|
||
"陆良": "101290403",
|
||
"富源": "101290404",
|
||
"马龙": "101290405",
|
||
"师宗": "101290406",
|
||
"罗平": "101290407",
|
||
"会泽": "101290408",
|
||
"宣威": "101290409",
|
||
"麒麟": "101290410",
|
||
"保山": "101290501",
|
||
"隆阳": "101290502",
|
||
"龙陵": "101290503",
|
||
"施甸": "101290504",
|
||
"昌宁": "101290505",
|
||
"腾冲": "101290506",
|
||
"文山州": "101290601",
|
||
"西畴": "101290602",
|
||
"马关": "101290603",
|
||
"麻栗坡": "101290604",
|
||
"砚山": "101290605",
|
||
"丘北": "101290606",
|
||
"广南": "101290607",
|
||
"富宁": "101290608",
|
||
"文山市": "101290609",
|
||
"玉溪": "101290701",
|
||
"澄江": "101290702",
|
||
"江川": "101290703",
|
||
"通海": "101290704",
|
||
"华宁": "101290705",
|
||
"新平": "101290706",
|
||
"易门": "101290707",
|
||
"峨山": "101290708",
|
||
"元江": "101290709",
|
||
"红塔": "101290710",
|
||
"楚雄州": "101290801",
|
||
"大姚": "101290802",
|
||
"元谋": "101290803",
|
||
"姚安": "101290804",
|
||
"牟定": "101290805",
|
||
"南华": "101290806",
|
||
"武定": "101290807",
|
||
"禄丰": "101290808",
|
||
"双柏": "101290809",
|
||
"永仁": "101290810",
|
||
"楚雄市": "101290811",
|
||
"普洱": "101290901",
|
||
"景谷": "101290902",
|
||
"景东": "101290903",
|
||
"澜沧": "101290904",
|
||
"思茅": "101290905",
|
||
"墨江": "101290906",
|
||
"江城": "101290907",
|
||
"孟连": "101290908",
|
||
"西盟": "101290909",
|
||
"镇沅": "101290911",
|
||
"宁洱": "101290912",
|
||
"昭通": "101291001",
|
||
"鲁甸": "101291002",
|
||
"彝良": "101291003",
|
||
"镇雄": "101291004",
|
||
"威信": "101291005",
|
||
"巧家": "101291006",
|
||
"绥江": "101291007",
|
||
"永善": "101291008",
|
||
"盐津": "101291009",
|
||
"大关": "101291010",
|
||
"水富": "101291011",
|
||
"昭阳": "101291012",
|
||
"临沧": "101291101",
|
||
"沧源": "101291102",
|
||
"耿马": "101291103",
|
||
"双江": "101291104",
|
||
"凤庆": "101291105",
|
||
"永德": "101291106",
|
||
"云县": "101291107",
|
||
"镇康": "101291108",
|
||
"临翔": "101291109",
|
||
"怒江": "101291201",
|
||
"福贡": "101291203",
|
||
"兰坪": "101291204",
|
||
"泸水": "101291205",
|
||
"贡山": "101291207",
|
||
"香格里拉": "101291301",
|
||
"德钦": "101291302",
|
||
"维西": "101291303",
|
||
"迪庆": "101291305",
|
||
"丽江": "101291401",
|
||
"永胜": "101291402",
|
||
"华坪": "101291403",
|
||
"宁蒗": "101291404",
|
||
"古城": "101291405",
|
||
"玉龙": "101291406",
|
||
"德宏": "101291501",
|
||
"陇川": "101291503",
|
||
"盈江": "101291504",
|
||
"瑞丽": "101291506",
|
||
"梁河": "101291507",
|
||
"芒市": "101291508",
|
||
"景洪": "101291601",
|
||
"西双版纳": "101291602",
|
||
"勐海": "101291603",
|
||
"勐腊": "101291605",
|
||
"南宁": "101300101",
|
||
"兴宁": "101300102",
|
||
"邕宁": "101300103",
|
||
"横州": "101300104",
|
||
"隆安": "101300105",
|
||
"马山": "101300106",
|
||
"上林": "101300107",
|
||
"武鸣": "101300108",
|
||
"宾阳": "101300109",
|
||
"青秀": "101300110",
|
||
"江南": "101300111",
|
||
"西乡塘": "101300112",
|
||
"良庆": "101300113",
|
||
"崇左": "101300201",
|
||
"天等": "101300202",
|
||
"龙州": "101300203",
|
||
"凭祥": "101300204",
|
||
"大新": "101300205",
|
||
"扶绥": "101300206",
|
||
"宁明": "101300207",
|
||
"江州": "101300208",
|
||
"柳州": "101300301",
|
||
"柳城": "101300302",
|
||
"城中": "101300303",
|
||
"鹿寨": "101300304",
|
||
"柳江": "101300305",
|
||
"融安": "101300306",
|
||
"融水": "101300307",
|
||
"三江": "101300308",
|
||
"鱼峰": "101300309",
|
||
"柳南": "101300310",
|
||
"柳北": "101300311",
|
||
"来宾": "101300401",
|
||
"忻城": "101300402",
|
||
"金秀": "101300403",
|
||
"象州": "101300404",
|
||
"武宣": "101300405",
|
||
"合山": "101300406",
|
||
"兴宾": "101300407",
|
||
"桂林": "101300501",
|
||
"秀峰": "101300502",
|
||
"龙胜": "101300503",
|
||
"永福": "101300504",
|
||
"临桂": "101300505",
|
||
"兴安": "101300506",
|
||
"灵川": "101300507",
|
||
"全州": "101300508",
|
||
"灌阳": "101300509",
|
||
"阳朔": "101300510",
|
||
"恭城": "101300511",
|
||
"平乐": "101300512",
|
||
"荔浦": "101300513",
|
||
"资源": "101300514",
|
||
"叠彩": "101300515",
|
||
"象山": "101300516",
|
||
"七星": "101300517",
|
||
"雁山": "101300518",
|
||
"梧州": "101300601",
|
||
"藤县": "101300602",
|
||
"万秀": "101300603",
|
||
"苍梧": "101300604",
|
||
"蒙山": "101300605",
|
||
"岑溪": "101300606",
|
||
"长洲": "101300607",
|
||
"龙圩": "101300608",
|
||
"贺州": "101300701",
|
||
"昭平": "101300702",
|
||
"富川": "101300703",
|
||
"钟山": "101300704",
|
||
"八步": "101300705",
|
||
"平桂": "101300706",
|
||
"贵港": "101300801",
|
||
"桂平": "101300802",
|
||
"平南": "101300803",
|
||
"港北": "101300804",
|
||
"港南": "101300805",
|
||
"覃塘": "101300806",
|
||
"玉林": "101300901",
|
||
"博白": "101300902",
|
||
"北流": "101300903",
|
||
"容县": "101300904",
|
||
"陆川": "101300905",
|
||
"兴业": "101300906",
|
||
"玉州": "101300907",
|
||
"福绵": "101300908",
|
||
"百色": "101301001",
|
||
"那坡": "101301002",
|
||
"田阳": "101301003",
|
||
"德保": "101301004",
|
||
"靖西": "101301005",
|
||
"田东": "101301006",
|
||
"平果": "101301007",
|
||
"隆林": "101301008",
|
||
"西林": "101301009",
|
||
"乐业": "101301010",
|
||
"凌云": "101301011",
|
||
"田林": "101301012",
|
||
"右江": "101301013",
|
||
"钦州": "101301101",
|
||
"浦北": "101301102",
|
||
"灵山": "101301103",
|
||
"钦南": "101301104",
|
||
"钦北": "101301105",
|
||
"河池": "101301201",
|
||
"天峨": "101301202",
|
||
"东兰": "101301203",
|
||
"巴马": "101301204",
|
||
"环江": "101301205",
|
||
"罗城": "101301206",
|
||
"宜州": "101301207",
|
||
"凤山": "101301208",
|
||
"南丹": "101301209",
|
||
"都安": "101301210",
|
||
"大化": "101301211",
|
||
"金城江": "101301212",
|
||
"北海": "101301301",
|
||
"合浦": "101301302",
|
||
"海城": "101301304",
|
||
"银海": "101301305",
|
||
"铁山港": "101301306",
|
||
"防城港": "101301401",
|
||
"上思": "101301402",
|
||
"东兴": "101301403",
|
||
"港口": "101301404",
|
||
"防城": "101301405",
|
||
"海口": "101310101",
|
||
"秀英": "101310102",
|
||
"龙华": "101310103",
|
||
"琼山": "101310104",
|
||
"美兰": "101310105",
|
||
"三亚": "101310201",
|
||
"东方": "101310202",
|
||
"临高": "101310203",
|
||
"澄迈": "101310204",
|
||
"儋州": "101310205",
|
||
"昌江": "101310206",
|
||
"白沙": "101310207",
|
||
"琼中": "101310208",
|
||
"定安": "101310209",
|
||
"屯昌": "101310210",
|
||
"琼海": "101310211",
|
||
"文昌": "101310212",
|
||
"海棠": "101310213",
|
||
"保亭": "101310214",
|
||
"万宁": "101310215",
|
||
"陵水": "101310216",
|
||
"吉阳": "101310218",
|
||
"天涯": "101310219",
|
||
"乐东": "101310221",
|
||
"五指山": "101310222",
|
||
"崖州": "101310223",
|
||
"三沙": "101310301",
|
||
"西沙": "101310302",
|
||
"南沙": "101310304",
|
||
"香港": "101320101",
|
||
"新界": "101320103",
|
||
"油尖旺": "14606",
|
||
"东区": "1B6D3",
|
||
"中西区": "1D255",
|
||
"屯门": "1DC87",
|
||
"大埔": "275A5",
|
||
"深水埗": "28FE1",
|
||
"九龙城": "2BBD1",
|
||
"葵青": "2BC09",
|
||
"元朗": "39CD9",
|
||
"湾仔": "407DA",
|
||
"西贡": "4622E",
|
||
"沙田": "55E7E",
|
||
"观塘": "8A9CA",
|
||
"北区": "8E1C5",
|
||
"离岛": "9173",
|
||
"黄大仙": "D5EC3",
|
||
"荃湾": "DD9B5",
|
||
"南区": "E87DC",
|
||
"澳门": "101330101",
|
||
"氹仔岛": "101330102",
|
||
"路环岛": "101330103",
|
||
"路凼城": "1444B",
|
||
"风顺堂区": "2E3F1",
|
||
"嘉模堂区": "4B3A7",
|
||
"望德堂区": "5102",
|
||
"大堂区": "7C47E",
|
||
"圣方济各堂区": "83145",
|
||
"花王堂区": "AEF10",
|
||
"花地玛堂区": "D3B7A",
|
||
"钓鱼岛": "101231001",
|
||
"台北": "101340101",
|
||
"桃园": "101340102",
|
||
"新竹": "101340103",
|
||
"宜兰市": "101340104",
|
||
"高雄": "101340201",
|
||
"嘉义市": "101340202",
|
||
"台南市": "101340203",
|
||
"台东市": "101340204",
|
||
"屏东市": "101340205",
|
||
"台中市": "101340401",
|
||
"苗栗市": "101340402",
|
||
"彰化市": "101340403",
|
||
"南投市": "101340404",
|
||
"花莲市": "101340405",
|
||
"来义乡": "1064D",
|
||
"楠西区": "1131A",
|
||
"冬山乡": "125A0",
|
||
"后里区": "12705",
|
||
"鸟松区": "12AC3",
|
||
"林口区": "1353E",
|
||
"太平区": "14A62",
|
||
"秀林乡": "14B6",
|
||
"关山镇": "15F5F",
|
||
"中正区": "15FC8",
|
||
"中西区": "16946",
|
||
"朴子市": "1851B",
|
||
"苓雅区": "1860C",
|
||
"峨眉乡": "198CA",
|
||
"莺歌区": "1A131",
|
||
"丰滨乡": "1AFB5",
|
||
"大安区": "1BD97",
|
||
"卑南乡": "1C2F9",
|
||
"清水区": "1C370",
|
||
"三峽区": "1CB96",
|
||
"茂林区": "1D33",
|
||
"高树乡": "1EA6F",
|
||
"九如乡": "1ECA0",
|
||
"仁爱乡": "1F7E2",
|
||
"深坑区": "1F906",
|
||
"阿莲区": "1FCAC",
|
||
"乌日区": "2.2E+51",
|
||
"东势乡": "2008A",
|
||
"伸港乡": "2045E",
|
||
"士林区": "215EB",
|
||
"龙井区": "232B2",
|
||
"五结乡": "25B67",
|
||
"埔心乡": "27297",
|
||
"大肚区": "274A6",
|
||
"田寮区": "2787E",
|
||
"水林乡": "2897F",
|
||
"芦竹区": "28C50",
|
||
"竹崎乡": "2A0EA",
|
||
"平镇区": "2A17C",
|
||
"梓官区": "2A7A9",
|
||
"南化区": "2ADEC",
|
||
"官田区": "2B8F1",
|
||
"牡丹乡": "2BD74",
|
||
"土城区": "2BF61",
|
||
"暖暖区": "2CA40",
|
||
"新埔镇": "2CEDF",
|
||
"口湖乡": "2DD33",
|
||
"关庙区": "2DF8D",
|
||
"长滨乡": "2E+301",
|
||
"埤头乡": "2F677",
|
||
"香山区": "300A2",
|
||
"仁德区": "30712",
|
||
"苏澳镇": "30EB5",
|
||
"海端乡": "33D54",
|
||
"北投区": "34272",
|
||
"阿里山乡": "34B85",
|
||
"泰安乡": "3561E",
|
||
"长治乡": "35EA",
|
||
"中和区": "36039",
|
||
"集集镇": "36375",
|
||
"大村乡": "37981",
|
||
"楠梓区": "394EA",
|
||
"文山区": "3981F",
|
||
"瑞芳区": "39A9E",
|
||
"满州乡": "3A2F4",
|
||
"安平区": "3A428",
|
||
"大里区": "3B30D",
|
||
"中埔乡": "3B81C",
|
||
"北屯区": "3BD59",
|
||
"六脚乡": "3D16B",
|
||
"仑背乡": "3EC6B",
|
||
"二水乡": "3ED2D",
|
||
"七股区": "3FC8E",
|
||
"八德区": "4297D",
|
||
"溪口乡": "42F72",
|
||
"车城乡": "42F75",
|
||
"里港乡": "43E4E",
|
||
"西湖乡": "441DA",
|
||
"桃源区": "442FB",
|
||
"梅山乡": "44BA1",
|
||
"潭子区": "44BC2",
|
||
"狮潭乡": "4515E",
|
||
"大城乡": "46843",
|
||
"崁顶乡": "4786",
|
||
"安南区": "485D2",
|
||
"永康区": "48D19",
|
||
"复兴区": "490B9",
|
||
"古坑乡": "4A86F",
|
||
"七堵区": "4A9E4",
|
||
"西湖乡": "4B6DC",
|
||
"和美镇": "4CA1B",
|
||
"美浓区": "4D0CD",
|
||
"中山区": "4D45B",
|
||
"名间乡": "4D55F",
|
||
"佳里区": "4D572",
|
||
"杨梅区": "4E71A",
|
||
"番路乡": "4E999",
|
||
"太保市": "4EB49",
|
||
"南区": "4EE12",
|
||
"樹林区": "4F7B8",
|
||
"员山乡": "4FB12",
|
||
"东山区": "4FC38",
|
||
"土库镇": "5029C",
|
||
"麦寮乡": "503D8",
|
||
"八里区": "50460",
|
||
"永靖乡": "50886",
|
||
"礁溪乡": "52116",
|
||
"永安区": "522A8",
|
||
"金峰乡": "528C1",
|
||
"龟山区": "5327F",
|
||
"国姓乡": "53937",
|
||
"绿岛乡": "53C0D",
|
||
"大湖乡": "545BD",
|
||
"田中镇": "55AF3",
|
||
"芳苑乡": "56FB2",
|
||
"金山区": "5A624",
|
||
"布袋镇": "5B01A",
|
||
"燕巢区": "5B14E",
|
||
"柳营区": "5D1AC",
|
||
"竹田乡": "5DCD0",
|
||
"平渓区": "5DE8A",
|
||
"莿桐乡": "5F054",
|
||
"斗南镇": "5F767",
|
||
"信义区": "5FA11",
|
||
"太麻里乡": "5FFC8",
|
||
"玉井区": "601C9",
|
||
"新丰乡": "60301",
|
||
"义竹乡": "607B7",
|
||
"路竹区": "60C6E",
|
||
"池上乡": "6149A",
|
||
"万里区": "618B3",
|
||
"观音区": "62622",
|
||
"石门区": "62C94",
|
||
"将军区": "640E",
|
||
"大埔乡": "64722",
|
||
"前金区": "64DF4",
|
||
"西港区": "65449",
|
||
"南区": "65B59",
|
||
"狮子乡": "6781C",
|
||
"林园区": "685A4",
|
||
"吉安乡": "687D9",
|
||
"大寮区": "69041",
|
||
"旗山区": "6946C",
|
||
"瑞穗乡": "69C7D",
|
||
"汐止区": "6A009",
|
||
"潮州镇": "6C288",
|
||
"佳冬乡": "6D813",
|
||
"西区": "6DB7C",
|
||
"三湾乡": "6F1CA",
|
||
"盐水区": "6F8E8",
|
||
"新港乡": "707A5",
|
||
"南澳乡": "71A41",
|
||
"坪林区": "72D3F",
|
||
"横山乡": "7412D",
|
||
"南港区": "74604",
|
||
"杉林区": "74A65",
|
||
"中区": "75272",
|
||
"龙崎区": "7527B",
|
||
"马公市": "753A2",
|
||
"万荣乡": "77487",
|
||
"恒春镇": "77836",
|
||
"大安区": "77922",
|
||
"大甲区": "77B7",
|
||
"大树区": "786AD",
|
||
"埔里镇": "78C5D",
|
||
"新北市": "79754",
|
||
"头城镇": "7AC15",
|
||
"旗津区": "7AC37",
|
||
"东区": "7AD1B",
|
||
"白河区": "7B4D7",
|
||
"卓兰镇": "7CD4B",
|
||
"新城乡": "7CE62",
|
||
"宝山乡": "7E+53",
|
||
"麻豆区": "7E91B",
|
||
"前镇区": "7EF65",
|
||
"湖内区": "7F2B8",
|
||
"石冈区": "7F7CD",
|
||
"学甲区": "81AE3",
|
||
"枋山乡": "82644",
|
||
"万華区": "8296C",
|
||
"草屯镇": "83F45",
|
||
"埔盐乡": "849C0",
|
||
"尖石乡": "8647F",
|
||
"秀水乡": "86861",
|
||
"二林镇": "86AEC",
|
||
"北斗镇": "87DA",
|
||
"斗六市": "884E",
|
||
"西屯区": "88DAC",
|
||
"盐埕区": "89FCB",
|
||
"大园区": "8A667",
|
||
"五股区": "8B37C",
|
||
"林内乡": "8C73A",
|
||
"竹塘乡": "8D63C",
|
||
"冈山区": "8E+183",
|
||
"万丹乡": "8E9AA",
|
||
"三地门乡": "8ECB0",
|
||
"竹东镇": "9.6E+32",
|
||
"公馆乡": "92813",
|
||
"南州乡": "93143",
|
||
"内门区": "9346C",
|
||
"新社区": "95178",
|
||
"苑里镇": "954F5",
|
||
"新营区": "955CC",
|
||
"三重区": "95B3C",
|
||
"达仁乡": "96121",
|
||
"雾台乡": "963DA",
|
||
"鹿野乡": "97619",
|
||
"后龙镇": "97B1A",
|
||
"线西乡": "97F69",
|
||
"大埤乡": "98DE7",
|
||
"大内区": "98EF7",
|
||
"台西乡": "9AB11",
|
||
"北区": "9B388",
|
||
"乌来区": "9B92A",
|
||
"望安乡": "9C6B3",
|
||
"永和区": "9D3E5",
|
||
"山上区": "9DAAA",
|
||
"溪州乡": "9DD7F",
|
||
"新化区": "9E358",
|
||
"芬园乡": "9E5DD",
|
||
"社头乡": "9F928",
|
||
"松山区": "A033A",
|
||
"湖西乡": "A06E6",
|
||
"安定区": "A3EFD",
|
||
"通霄镇": "A503E",
|
||
"六龟区": "A7AA7",
|
||
"雾峰区": "A7B14",
|
||
"田尾乡": "A9903",
|
||
"兰屿乡": "A9A12",
|
||
"新园乡": "A9C2C",
|
||
"基隆市": "A9E1",
|
||
"麟洛乡": "AACD9",
|
||
"弥陀区": "AACF5",
|
||
"鹿港镇": "AD033",
|
||
"员林镇": "AD179",
|
||
"万峦乡": "AD515",
|
||
"壮围乡": "AE2EB",
|
||
"凤山区": "AEA05",
|
||
"后壁区": "AF42E",
|
||
"造桥乡": "AF6DE",
|
||
"东势区": "B1954",
|
||
"林边乡": "B1B72",
|
||
"大社区": "B25DD",
|
||
"沙鹿区": "B263B",
|
||
"貢寮区": "B28D3",
|
||
"新市区": "B345C",
|
||
"四湖乡": "B40F3",
|
||
"大同区": "B4131",
|
||
"元长乡": "B4967",
|
||
"东港镇": "B509A",
|
||
"三义乡": "B57C7",
|
||
"卓溪乡": "B75BB",
|
||
"寿丰乡": "B7A02",
|
||
"竹山镇": "B7B31",
|
||
"信义乡": "B82B7",
|
||
"枋寮乡": "B8DEC",
|
||
"新兴区": "B93FB",
|
||
"大雅区": "B99C9",
|
||
"春日乡": "BA103",
|
||
"西螺镇": "BAD4D",
|
||
"光复乡": "BB61B",
|
||
"梧栖区": "BBB19",
|
||
"褒忠乡": "BBE60",
|
||
"泰山区": "BCAE1",
|
||
"白沙乡": "BCF10",
|
||
"南屯区": "BD890",
|
||
"三芝区": "BDA5B",
|
||
"大武乡": "BE9AC",
|
||
"小港区": "BEA9E",
|
||
"水里乡": "BF01C",
|
||
"淡水区": "BFA38",
|
||
"北门区": "BFFEA",
|
||
"玛家乡": "C1078",
|
||
"竹北市": "C30C",
|
||
"中山区": "C346",
|
||
"内埔乡": "C4AF1",
|
||
"龙潭区": "C4BED",
|
||
"外埔区": "C532F",
|
||
"罗东镇": "C5445",
|
||
"水上乡": "C5473",
|
||
"五峰乡": "C87FF",
|
||
"头份镇": "CA3",
|
||
"凤林镇": "CA83B",
|
||
"三民区": "CAE8D",
|
||
"六甲区": "CB526",
|
||
"善化区": "CB5C1",
|
||
"左营区": "CD807",
|
||
"北埔乡": "CF68C",
|
||
"东势乡": "CFCC4",
|
||
"民雄乡": "D05D7",
|
||
"西屿乡": "D0809",
|
||
"石碇区": "D0B00",
|
||
"信义区": "D13AC",
|
||
"竹南镇": "D257A",
|
||
"七美乡": "D2EBD",
|
||
"安乐区": "D3A0D",
|
||
"中正区": "D3A1D",
|
||
"鹿草乡": "D4650",
|
||
"内湖区": "D54D9",
|
||
"中坜区": "D6C2D",
|
||
"鹿谷乡": "D7481",
|
||
"东河乡": "D7D8E",
|
||
"甲仙区": "D8B7D",
|
||
"蘆洲区": "D9469",
|
||
"板桥区": "D96E9",
|
||
"大林镇": "D9B1A",
|
||
"芎林乡": "DA4C5",
|
||
"铜锣乡": "DACF8",
|
||
"中寮乡": "DB374",
|
||
"二仑乡": "DBA28",
|
||
"北区": "DCECC",
|
||
"南庄乡": "DE049",
|
||
"湖口乡": "DE3B7",
|
||
"成功镇": "DE8A4",
|
||
"东区": "DED29",
|
||
"泰武乡": "DFB95",
|
||
"头屋乡": "E00DD",
|
||
"那玛夏区": "E3120",
|
||
"三星乡": "E427E",
|
||
"下营区": "E4AB6",
|
||
"左镇区": "E5098",
|
||
"虎尾镇": "E5452",
|
||
"花坛乡": "E6107",
|
||
"福兴乡": "E8B22",
|
||
"丰原区": "E8BA8",
|
||
"新埤乡": "E9D19",
|
||
"茄萣区": "E9D4F",
|
||
"新庄区": "E9DC2",
|
||
"富里乡": "EA346",
|
||
"鱼池乡": "EB721",
|
||
"大同乡": "EBC37",
|
||
"玉里镇": "EBCEC",
|
||
"琉球乡": "EC5FB",
|
||
"鼓山区": "ED37A",
|
||
"大溪区": "ED785",
|
||
"仁武区": "EDE8C",
|
||
"延平乡": "EE096",
|
||
"关西镇": "EE328",
|
||
"和平区": "EED7A",
|
||
"新店区": "EFBAC",
|
||
"归仁区": "F0DE1",
|
||
"仁爱区": "F116A",
|
||
"桥头区": "F178D",
|
||
"双渓区": "F21E4",
|
||
"神冈区": "F2FA2",
|
||
"北港镇": "F35CF",
|
||
"盐埔乡": "F4F1",
|
||
"新屋区": "F69B",
|
||
};
|
||
// 发送十六进制字符串(如 "6666tfgf" 转十六进制)
|
||
async function sendHexString(wifi_ssd,wifi_pass,city) {
|
||
if (!rxtxCharacteristic) {
|
||
addLog('❌ 服务不可用,请先连接蓝牙');
|
||
return false;
|
||
}
|
||
// 或者简写
|
||
if (!chinaCities[city]||!wifi_ssd||!wifi_pass) {
|
||
alert(`注意你配置的数据是否正确!账号名:${wifi_ssd},密码:${wifi_pass},城市:${city}!`);
|
||
return false;
|
||
}
|
||
|
||
try {
|
||
const encoder = new TextEncoder();
|
||
wifi='WIFI_SSID:'+wifi_ssd+';WIFI_PASS:'+wifi_pass+';CITY:'+chinaCities[city];
|
||
const ssd = encoder.encode(wifi);
|
||
await rxtxCharacteristic.writeValueWithResponse(ssd);
|
||
addLog(`✅ 发送十六进制: ${wifi} (${ssd.length} bytes)`);
|
||
|
||
|
||
return true;
|
||
} catch (error) {
|
||
addLog(`❌ 发送失败: ${error.message}`);
|
||
return false;
|
||
}
|
||
}
|
||
|
||
|
||
const API_BASE_URL = 'http://4638e813e4.qicp.vip:8889/key_generator.php';
|
||
|
||
|
||
function extractActivationCode(response) {
|
||
const patterns = [/激活码1[::]\s*([A-Fa-f0-9]{32,})/, /激活码[::]\s*([A-Fa-f0-9]{32,})/, /[A-Fa-f0-9]{32,}/];
|
||
for (let p of patterns) {
|
||
const m = response.match(p);
|
||
if (m && m[1]) return m[1].replace(/[^A-Fa-f0-9]/g, '');
|
||
}
|
||
throw new Error('无法提取激活码');
|
||
}
|
||
|
||
|
||
async function requestActivationCode(fixedId, deviceKeyId) {
|
||
const url = `${API_BASE_URL}?id=${encodeURIComponent(fixedId)}&key=${encodeURIComponent(deviceKeyId)}`;
|
||
addLog(`请求激活码...`);
|
||
const res = await fetch(url);
|
||
if (!res.ok) throw new Error(`HTTP ${res.status}`);
|
||
const text = await res.text();
|
||
return extractActivationCode(text);
|
||
}
|
||
|
||
|
||
async function sendActivationToDevice(code) {
|
||
const clean = code.replace(/^EF/i, '');
|
||
const cmd = 'EF' + clean.toUpperCase();
|
||
addLog(`开始激活....`);
|
||
|
||
|
||
if (await rxTxSendCommand(hexToBytes(cmd))) {
|
||
await delay(400);
|
||
await rxTxSendCommand(hexToBytes('e2'));
|
||
addLog('激活完成');
|
||
return true;
|
||
}
|
||
return false;
|
||
}
|
||
|
||
|
||
let isWaitingForDeviceId = false;
|
||
let deviceIdResolve = null;
|
||
let pendingIdBytes = [];
|
||
|
||
function getDeviceIdFromScreen() {
|
||
return new Promise(async (resolve, reject) => {
|
||
if (!rxtxCharacteristic) return reject('蓝牙未连接');
|
||
|
||
isWaitingForDeviceId = true;
|
||
pendingIdBytes = [];
|
||
deviceIdResolve = resolve;
|
||
|
||
const timeout = setTimeout(() => {
|
||
isWaitingForDeviceId = false;
|
||
deviceIdResolve = null;
|
||
reject('读取设备ID超时');
|
||
}, 8000);
|
||
|
||
addLog('开始获取设备ID!');
|
||
await rxTxSendCommand(hexToBytes('EFEF'));
|
||
|
||
|
||
window._deviceIdTimeout = timeout;
|
||
});
|
||
}
|
||
|
||
|
||
async function fullAutoActivate() {
|
||
if (!rxtxCharacteristic) { addLog('请先连接蓝牙'); return; }
|
||
const fixedId = document.getElementById('fixedId').value.trim();
|
||
if (!fixedId) { addLog('请输入固定ID'); return; }
|
||
|
||
addLog('=== 开始一键激活 ===');
|
||
try {
|
||
const deviceId = await getDeviceIdFromScreen();
|
||
|
||
const code = await requestActivationCode(fixedId, deviceId);
|
||
addLog(`获取到激活码: ${code}`);
|
||
|
||
await sendActivationToDevice(code);
|
||
addLog('✅ 激活成功');
|
||
await delay(500);
|
||
await rxTxSendCommand(hexToBytes('e2'))
|
||
} catch(e) {
|
||
addLog(`❌ 失败: ${e.message}`);
|
||
} finally {
|
||
clearTimeout(window._deviceIdTimeout);
|
||
isWaitingForDeviceId = false;
|
||
pendingIdBytes = [];
|
||
}
|
||
}
|
||
async function setri(cmd) {
|
||
addLog(`指令: ${cmd}`)
|
||
await rxTxSendCommand(hexToBytes(cmd));
|
||
await delay(300);
|
||
addLog(`指令: e2`)
|
||
await rxTxSendCommand(hexToBytes('e2'))
|
||
}
|
||
async function triggerRxTxCmd(cmd) {
|
||
addLog(`发送指令: ${cmd}`)
|
||
await rxTxSendCommand(hexToBytes(cmd));
|
||
}
|
||
async function triggerRxTxCmd2(cmd) {
|
||
addLog(`发送指令: ${cmd}`)
|
||
await rxTxSendCommand2(hexToBytes(cmd));
|
||
}
|
||
async function triggerEpdCmd(cmd) {
|
||
addLog(`发送指令: ${cmd}`)
|
||
await sendCommand(hexToBytes(cmd));
|
||
}
|
||
async function triggerEpdRed_lut(cmd) {
|
||
if(cmd==0) return;
|
||
addLog(`开始红色校准: ${cmd}`)
|
||
cmd = 'E6' + cmd;
|
||
await rxTxSendCommand(hexToBytes(cmd));
|
||
}
|
||
async function triggerEpdJH(cmd) {
|
||
addLog(`激活指令: ${cmd}`)
|
||
cmd = 'EF' + cmd;
|
||
await rxTxSendCommand(hexToBytes(cmd));
|
||
await delay(500);
|
||
await rxTxSendCommand(hexToBytes('e2'))
|
||
}
|
||
async function triggerEpdCHEPAI(cmd) {
|
||
addLog(`号码: ${cmd}`)
|
||
let cp = '';
|
||
for (let index = 0; index < cmd.length; index++) {
|
||
cp = cp + cmd[index] + cmd[index];
|
||
}
|
||
cp = 'EF' + cp;
|
||
await rxTxSendCommand(hexToBytes(cp));
|
||
await delay(500);
|
||
await rxTxSendCommand(hexToBytes('e2'))
|
||
}
|
||
async function triggerRxTxCmd_LED(cmd) {
|
||
let color = document.getElementById('led_color').value;
|
||
let D_S_hour = document.getElementById('D_S_hour').value;
|
||
let D_S_min = document.getElementById('D_S_min').value;
|
||
D_S_hour = D_S_hour > 9 ? D_S_hour : '0' + D_S_hour;
|
||
D_S_min = D_S_min > 9 ? D_S_min : '0' + D_S_min;
|
||
let note = color != '07' ? '01' : '00';
|
||
cmd = cmd + note + color + D_S_hour + D_S_min;
|
||
addLog(`LED: ${cmd}`)
|
||
await rxTxSendCommand(hexToBytes(cmd));
|
||
}
|
||
async function triggerRxTxCmd_XM(cmd) {
|
||
|
||
let D_S_hour = document.getElementById('D_S_hour').value;
|
||
let D_S_min = document.getElementById('D_S_min').value;
|
||
D_S_hour = D_S_hour > 9 ? D_S_hour : '0' + D_S_hour;
|
||
D_S_min = D_S_min > 9 ? D_S_min : '0' + D_S_min;
|
||
|
||
cmd = cmd + D_S_hour + D_S_min;
|
||
addLog(`设置不刷新时间段: ${cmd}`)
|
||
await rxTxSendCommand(hexToBytes(cmd));
|
||
}
|
||
|
||
async function triggerRxTxCmd_LB(cmd) {
|
||
|
||
let L_B_H = document.getElementById('L_B_NUM').value;
|
||
const hexDigits = '0123456789ABCDEF';
|
||
let hex = '';
|
||
let num = L_B_H;
|
||
|
||
while (num > 0) {
|
||
const remainder = num % 16;
|
||
hex = hexDigits[remainder] + hex;
|
||
num = Math.floor(num / 16);
|
||
}
|
||
|
||
cmd = 'e901'+ hex +cmd;
|
||
addLog(`设置图片轮播: ${cmd}`)
|
||
await rxTxSendCommand(hexToBytes(cmd));
|
||
}
|
||
|
||
function disconnect() {
|
||
resetVariables();
|
||
addLog('链接已断开.');
|
||
document.getElementById("connectbutton").innerHTML = '链接';
|
||
}
|
||
async function preConnect() {
|
||
if (gattServer != null && gattServer.connected) {
|
||
if (bleDevice != null && bleDevice.gatt.connected)
|
||
bleDevice.gatt.disconnect();
|
||
} else {
|
||
reconnectTrys = 0;
|
||
bleDevice = await navigator.bluetooth.requestDevice({
|
||
filters: [
|
||
{ namePrefix: 'NRF-' }
|
||
], optionalServices: ['0000221f-0000-1000-8000-00805f9b34fb', '00001f10-0000-1000-8000-00805f9b34fb', '13187b10-eba9-a3ba-044e-83d3217d9a38']
|
||
});
|
||
await bleDevice.addEventListener('gattserverdisconnected', disconnect);
|
||
try {
|
||
await connect();
|
||
} catch (e) {
|
||
await handleError(e);
|
||
}
|
||
}
|
||
}
|
||
function formatReceivedData(data) {
|
||
let buffer;
|
||
|
||
if (data instanceof DataView) {
|
||
buffer = data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);
|
||
} else if (data instanceof ArrayBuffer) {
|
||
buffer = data;
|
||
} else if (data instanceof Uint8Array) {
|
||
buffer = data.buffer;
|
||
} else {
|
||
return "(不支持的数据类型)";
|
||
}
|
||
|
||
const bytes = new Uint8Array(buffer);
|
||
if (bytes.length === 0) return "(空数据)";
|
||
|
||
let hexPart = Array.from(bytes).map(b => b.toString(16).padStart(2, '0').toUpperCase()).join(' ');
|
||
let asciiPart = "";
|
||
for (let i = 0; i < Math.min(bytes.length, 64); i++) {
|
||
let c = bytes[i];
|
||
if (c >= 32 && c <= 126) asciiPart += String.fromCharCode(c);
|
||
else asciiPart += '.';
|
||
}
|
||
if (bytes.length > 64) asciiPart += "…";
|
||
|
||
let textPart = "";
|
||
try {
|
||
const decoder = new TextDecoder('utf-8');
|
||
const text = decoder.decode(bytes);
|
||
if (/[\x20-\x7E\u4e00-\u9fa5]/.test(text)) {
|
||
textPart = `\n TEXT: ${text}`;
|
||
}
|
||
} catch(e) {}
|
||
|
||
return `[${bytes.length} 字节] HEX: ${hexPart}\n ASCII: ${asciiPart}${textPart}`;
|
||
}
|
||
async function connectRXTX() {
|
||
rxtxService = await gattServer.getPrimaryService('00001f10-0000-1000-8000-00805f9b34fb');
|
||
addLog('> rxtxService 找到串口服务');
|
||
rxtxCharacteristic = await rxtxService.getCharacteristic('00001f1f-0000-1000-8000-00805f9b34fb');
|
||
addLog('> rxtxCharacteristic 串口服务已链接');
|
||
|
||
|
||
// ========== 新增:启用 RXTX 通知监听 ==========
|
||
await rxtxCharacteristic.startNotifications();
|
||
rxtxCharacteristic.addEventListener('characteristicvaluechanged', (event) => {
|
||
const value = event.target.value;
|
||
const bytes = new Uint8Array(value.buffer, value.byteOffset, value.byteLength);
|
||
const hexStr = Array.from(bytes).map(b => b.toString(16).padStart(2, '0').toUpperCase()).join(' ');
|
||
const textStr = new TextDecoder('utf-8').decode(bytes);
|
||
|
||
addLog(`📥 [RXTX接收] HEX: ${hexStr}`);
|
||
if (textStr.trim()) {
|
||
addLog(`📥 [RXTX接收] TEXT: ${textStr}`);
|
||
}
|
||
|
||
// 如果有等待设备ID的回调,处理它
|
||
if (isWaitingForDeviceId && deviceIdResolve) {
|
||
for (let b of bytes) pendingIdBytes.push(b);
|
||
const EXPECTED_ID_BYTES = 14;
|
||
if (pendingIdBytes.length >= EXPECTED_ID_BYTES) {
|
||
clearTimeout(window._deviceIdTimeout);
|
||
const idBytes = pendingIdBytes.slice(0, EXPECTED_ID_BYTES);
|
||
let id = '';
|
||
for (let b of idBytes) {
|
||
id += (b >= 32 && b <= 126) ? String.fromCharCode(b) : b.toString(16).padStart(2,'0').toUpperCase();
|
||
}
|
||
id = id.replace(/[^A-Fa-f0-9]/g, '') || bytesToHex(idBytes.buffer);
|
||
addLog(`解析到设备ID: ${id}`);
|
||
isWaitingForDeviceId = false;
|
||
deviceIdResolve(id);
|
||
deviceIdResolve = null;
|
||
pendingIdBytes = [];
|
||
}
|
||
return;
|
||
}
|
||
// 将数据显示在界面上(如果有显示区域)
|
||
const rxtxRxDiv = document.getElementById('rxtxRxData');
|
||
if (rxtxRxDiv) {
|
||
const formatted = formatReceivedData(value);
|
||
rxtxRxDiv.innerHTML = `📎 接收数据:\n${formatted}`;
|
||
}
|
||
});
|
||
addLog('> rxtxCharacteristic 通知已启用');
|
||
|
||
}
|
||
async function reConnect() {
|
||
connectTrys = 0;
|
||
if (bleDevice != null && bleDevice.gatt.connected)
|
||
bleDevice.gatt.disconnect();
|
||
resetVariables();
|
||
addLog("重新链接");
|
||
setTimeout(async function () { await connect(); }, 300);
|
||
}
|
||
async function connect() {
|
||
if (epdCharacteristic == null) {
|
||
addLog("正在链接: " + bleDevice.name);
|
||
gattServer = await bleDevice.gatt.connect();
|
||
addLog('> 找到GATT服务器');
|
||
epdService = await gattServer.getPrimaryService('13187b10-eba9-a3ba-044e-83d3217d9a38');
|
||
addLog('> epdService 找到可用服务');
|
||
epdCharacteristic = await epdService.getCharacteristic('4b646063-6264-f3a7-8941-e65356ea82fe');
|
||
addLog('> epdCharacteristic 服务已连接');
|
||
await epdCharacteristic.startNotifications();
|
||
epdCharacteristic.addEventListener('characteristicvaluechanged', (event) => {
|
||
const bytes = new Uint8Array(event.target.value.buffer);
|
||
const hexStr = bytesToHex(event.target.value.buffer);
|
||
console.log('epd ret', hexStr);
|
||
|
||
|
||
if (isWaitingForDeviceId && deviceIdResolve) {
|
||
for (let b of bytes) pendingIdBytes.push(b);
|
||
|
||
const EXPECTED_ID_BYTES = 14;
|
||
if (pendingIdBytes.length >= EXPECTED_ID_BYTES) {
|
||
clearTimeout(window._deviceIdTimeout);
|
||
|
||
const idBytes = pendingIdBytes.slice(0, EXPECTED_ID_BYTES);
|
||
let id = '';
|
||
for (let b of idBytes) {
|
||
|
||
id += (b >= 32 && b <= 126) ? String.fromCharCode(b) : b.toString(16).padStart(2,'0').toUpperCase();
|
||
}
|
||
|
||
id = id.replace(/[^A-Fa-f0-9]/g, '') || bytesToHex(idBytes.buffer);
|
||
|
||
addLog(`解析到设备ID: ${id}`);
|
||
isWaitingForDeviceId = false;
|
||
deviceIdResolve(id);
|
||
deviceIdResolve = null;
|
||
pendingIdBytes = [];
|
||
}
|
||
return;
|
||
}
|
||
// ----------------------------------------------------
|
||
|
||
|
||
const count = parseInt('0x' + hexStr);
|
||
if (!isNaN(count)) {
|
||
addLog(`> [来自屏幕]: 收到${count} byte数据!值:${hexStr}!`);
|
||
}
|
||
});
|
||
document.getElementById("connectbutton").innerHTML = '断开';
|
||
await connectRXTX();
|
||
}
|
||
}
|
||
function setStatus(statusText) {
|
||
document.getElementById("status").innerHTML = statusText;
|
||
}
|
||
function addLog(logTXT) {
|
||
const today = new Date();
|
||
const time = ("0" + today.getHours()).slice(-2) + ":" + ("0" + today.getMinutes()).slice(-2) + ":" + ("0" + today.getSeconds()).slice(-2) + " : ";
|
||
const dom = document.getElementById("log");
|
||
dom.innerHTML += time + logTXT + '<br>';
|
||
dom.scrollTop = dom.scrollHeight;
|
||
}
|
||
function getUnixTime() {
|
||
const hourOffset = 0;//document.getElementById('hour-offset').value;
|
||
const unixNow = Math.round(Date.now() / 1000) + (60 * 60 * hourOffset) - new Date().getTimezoneOffset() * 60;
|
||
const date = new Date((unixNow + new Date().getTimezoneOffset() * 60) * 1000);
|
||
const localeTimeString = date.toLocaleTimeString();
|
||
return { unixNow, localeTimeString, year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate(), week: date.getDay() || 7 }
|
||
}
|
||
let currentRotation = 0;
|
||
let currentImage = null;
|
||
let degrees1 = 0;
|
||
function rotateImage(degrees) {
|
||
if(degrees){
|
||
currentRotation = (currentRotation + degrees) % 360;}
|
||
else {currentRotation =0;}
|
||
degrees1 = currentRotation;
|
||
if (currentImage) {
|
||
drawImageWithRotation(currentImage);
|
||
update_image();
|
||
}
|
||
}
|
||
let currentScaleX = 1.0;
|
||
let currentScaleY = 1.0;
|
||
function stretchToCanvas() {
|
||
if (!currentImage) return;
|
||
const canvas = document.getElementById("canvas");
|
||
if (degrees1 == 0 || degrees1 == 180) {
|
||
currentScaleX = canvas.width / currentImage.width;
|
||
currentScaleY= canvas.height / currentImage.height;
|
||
} else {
|
||
currentScaleX = canvas.height/ currentImage.width;
|
||
currentScaleY = canvas.width / currentImage.height;
|
||
}
|
||
|
||
updateScaleDisplay();
|
||
drawImageWithRotation(currentImage);
|
||
update_image();
|
||
}
|
||
function updateScale(value) {
|
||
currentScale = value / 100;
|
||
updateScaleDisplay();
|
||
if (currentImage) {
|
||
drawImageWithRotation(currentImage);
|
||
update_image();
|
||
}
|
||
}
|
||
let currentScale = 1.0;
|
||
function updateScaleDisplay() {
|
||
document.getElementById('scaleValue').textContent = `${Math.round(currentScale * 100)}%`;
|
||
document.getElementById('scaleSlider').value = currentScale * 100;
|
||
}
|
||
let imageSource = null;
|
||
let imageSource1 = null;
|
||
async function update_image1() {
|
||
imageSource1=null;
|
||
update_image();
|
||
|
||
}
|
||
async function update_image(imageSource) {
|
||
const image_file = document.getElementById('image_file');
|
||
if(imageSource)imageSource1 =imageSource;
|
||
if (imageSource1){
|
||
const canvas = document.getElementById("canvas");
|
||
const ctx = canvas.getContext("2d");
|
||
const image = new Image();
|
||
image.src = imageSource1;
|
||
image.onload = function (event) {
|
||
URL.revokeObjectURL(this.src);
|
||
currentImage = image;
|
||
drawImageWithRotation(image);
|
||
applyImageAdjustments(canvas);
|
||
convert_dithering(canvas );
|
||
|
||
}
|
||
return;
|
||
}
|
||
if (image_file.files.length > 0) {
|
||
const file = image_file.files[0];
|
||
const canvas = document.getElementById("canvas");
|
||
const ctx = canvas.getContext("2d");
|
||
const image = new Image();
|
||
image.src = URL.createObjectURL(file);
|
||
image.onload = function (event) {
|
||
URL.revokeObjectURL(this.src);
|
||
currentImage = image;
|
||
drawImageWithRotation(image);
|
||
applyImageAdjustments(canvas);
|
||
convert_dithering(canvas );
|
||
}
|
||
}
|
||
}
|
||
function updateRotation(value) {
|
||
currentRotation = parseInt(value);
|
||
document.getElementById('rotationValue').textContent = value + '°';
|
||
if (currentImage) {
|
||
drawImageWithRotation(currentImage);
|
||
update_image();
|
||
}
|
||
}
|
||
function drawImageWithRotation(image) {
|
||
const canvas = document.getElementById("canvas");
|
||
const ctx = canvas.getContext("2d");
|
||
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
||
ctx.save();
|
||
ctx.translate(canvas.width / 2, canvas.height / 2);
|
||
ctx.rotate(currentRotation * Math.PI / 180);
|
||
ctx.scale(currentScale, currentScale);
|
||
ctx.scale(currentScaleX, currentScaleY);
|
||
const width = image.width;
|
||
const height = image.height;
|
||
ctx.drawImage(
|
||
image,
|
||
-width / 2, -height / 2,
|
||
width, height
|
||
);
|
||
ctx.restore();
|
||
}
|
||
function get_position(canvas, x, y) {
|
||
let rect = canvas.getBoundingClientRect()
|
||
return {
|
||
x: x - rect.left * (canvas.width / rect.width),
|
||
y: y - rect.top * (canvas.height / rect.height)
|
||
}
|
||
}
|
||
function clear_canvas() {
|
||
if (confirm('确认清除屏幕?')) {
|
||
const canvas = document.getElementById('canvas');
|
||
const ctx = canvas.getContext("2d");
|
||
ctx.fillStyle = 'white';
|
||
ctx.fillRect(0, 0, canvas.width, canvas.height);
|
||
}
|
||
}
|
||
function convert_dithering(canvas) {
|
||
// const canvas = document.getElementById('canvas');
|
||
const ctx = canvas.getContext("2d");
|
||
const mode = document.getElementById('dithering').value;
|
||
const threshold = parseInt(document.getElementById('threshold').value);
|
||
dithering(ctx, canvas.width, canvas.height, threshold, mode);
|
||
}
|
||
document.body.onload = () => {
|
||
setInterval(() => {
|
||
const { localeTimeString, year, month, day, week } = getUnixTime();
|
||
document.getElementById('time-setter').innerText = `设置时间为:${year}-${month}-${day} ${localeTimeString} 星期${week}`;
|
||
}, 1000);
|
||
showConnectPrompt();
|
||
|
||
const connectBtn = document.getElementById("connectbutton");
|
||
let interval = null;
|
||
|
||
if(connectBtn) {
|
||
let count = 0;
|
||
interval = setInterval(() => {
|
||
connectBtn.style.backgroundColor = count % 2 === 0 ? '#ff0000' : '';
|
||
count++;
|
||
if(count > 60) clearInterval(interval);
|
||
}, 500);
|
||
|
||
|
||
addLog('请点击上方【链接】按钮连接蓝牙设备');
|
||
|
||
|
||
const stopBlinkAndHint = () => {
|
||
if(interval) {
|
||
clearInterval(interval);
|
||
interval = null;
|
||
}
|
||
connectBtn.style.backgroundColor = '';
|
||
|
||
addLog('正在连接蓝牙设备...');
|
||
|
||
connectBtn.removeEventListener('click', stopBlinkAndHint);
|
||
};
|
||
connectBtn.addEventListener('click', stopBlinkAndHint);
|
||
}
|
||
}
|
||
|
||
function showConnectPrompt() {
|
||
const promptDiv = document.createElement('div');
|
||
promptDiv.style.cssText = 'position:fixed;top:20px;left:50%;transform:translateX(-50%);background:#000;color:#fff;padding:12px 24px;border-radius:8px;z-index:9999;cursor:pointer;border:2px solid #ff0000;';
|
||
promptDiv.innerHTML = '🔵 操作设备需要先链接蓝牙!';
|
||
promptDiv.onclick = () => {
|
||
preConnect();
|
||
promptDiv.remove();
|
||
};
|
||
document.body.appendChild(promptDiv);
|
||
|
||
|
||
setTimeout(() => {
|
||
if(promptDiv.parentNode) promptDiv.remove();
|
||
}, 10000);
|
||
} |