@@ -0,0 +1,29 @@  | 
            ||
| 1 | 
                +# EditorConfig is awesome: http://EditorConfig.org  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +# top-most EditorConfig file  | 
            |
| 4 | 
                +root = true  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +# Unix-style newlines with a newline ending every file  | 
            |
| 7 | 
                +[*]  | 
            |
| 8 | 
                +end_of_line = lf  | 
            |
| 9 | 
                +insert_final_newline = false  | 
            |
| 10 | 
                +  | 
            |
| 11 | 
                +# 4 space indentation  | 
            |
| 12 | 
                +[*.py]  | 
            |
| 13 | 
                +indent_style = space  | 
            |
| 14 | 
                +indent_size = 4  | 
            |
| 15 | 
                +  | 
            |
| 16 | 
                +# Tab indentation (no size specified)  | 
            |
| 17 | 
                +[*.js]  | 
            |
| 18 | 
                +indent_style = space  | 
            |
| 19 | 
                +indent_size = 4  | 
            |
| 20 | 
                +  | 
            |
| 21 | 
                +# Tab indentation (no size specified)  | 
            |
| 22 | 
                +[*.html]  | 
            |
| 23 | 
                +indent_style = space  | 
            |
| 24 | 
                +indent_size = 4  | 
            |
| 25 | 
                +  | 
            |
| 26 | 
                +# Matches the exact files either package.json or .travis.yml  | 
            |
| 27 | 
                +[{package.json,.travis.yml}]
               | 
            |
| 28 | 
                +indent_style = space  | 
            |
| 29 | 
                +indent_size = 2  | 
            
                @@ -0,0 +1,29 @@  | 
            ||
| 1 | 
                +*.db  | 
            |
| 2 | 
                +*.pyc  | 
            |
| 3 | 
                +*.swp  | 
            |
| 4 | 
                +*.idea  | 
            |
| 5 | 
                +*.sqlite3  | 
            |
| 6 | 
                +*.DS_Store  | 
            |
| 7 | 
                +*.python-version  | 
            |
| 8 | 
                +  | 
            |
| 9 | 
                +build  | 
            |
| 10 | 
                +  | 
            |
| 11 | 
                +# Compiled python modules.  | 
            |
| 12 | 
                +*.pyc  | 
            |
| 13 | 
                +  | 
            |
| 14 | 
                +# Setuptools distribution folder.  | 
            |
| 15 | 
                +/dist/  | 
            |
| 16 | 
                +  | 
            |
| 17 | 
                +# Python egg metadata, regenerated from source files by setuptools.  | 
            |
| 18 | 
                +/*.egg-info  | 
            |
| 19 | 
                +/*.egg  | 
            |
| 20 | 
                +  | 
            |
| 21 | 
                +# Locked file for Excel etc  | 
            |
| 22 | 
                +.~lock.*  | 
            |
| 23 | 
                +  | 
            |
| 24 | 
                +# Django File  | 
            |
| 25 | 
                +local_settings.py  | 
            |
| 26 | 
                +local_settings_dev.py  | 
            |
| 27 | 
                +# Django Dir  | 
            |
| 28 | 
                +media/  | 
            |
| 29 | 
                +collect_static/  | 
            
                @@ -0,0 +1,8 @@  | 
            ||
| 1 | 
                +# See the menu of settings available here:  | 
            |
| 2 | 
                +# https://github.com/timothycrosley/isort/wiki/isort-Settings  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +[settings]  | 
            |
| 5 | 
                +indent=' '  | 
            |
| 6 | 
                +line_length=120  | 
            |
| 7 | 
                +lines_after_imports=2  | 
            |
| 8 | 
                +skip=build,migrations,.tox  | 
            
                @@ -0,0 +1,7 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +from __future__ import unicode_literals  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +from django.contrib import admin  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +# Register your models here.  | 
            
                @@ -0,0 +1,8 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +from __future__ import unicode_literals  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +from django.apps import AppConfig  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +class ApiConfig(AppConfig):  | 
            |
| 8 | 
                + name = 'api'  | 
            
                @@ -0,0 +1,51 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +from __future__ import division  | 
            |
| 4 | 
                +  | 
            |
| 5 | 
                +import random  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +from utils.algorithm.b64 import b64_decrypt, b64_encrypt  | 
            |
| 8 | 
                +from utils.algorithm.rsalg import rsa_decrypt, rsa_encrypt  | 
            |
| 9 | 
                +from utils.error.response_utils import response  | 
            |
| 10 | 
                +  | 
            |
| 11 | 
                +  | 
            |
| 12 | 
                +CIPHER_ALGORITHM = ('B64', 'RSA')
               | 
            |
| 13 | 
                +  | 
            |
| 14 | 
                +CIPHER_PREFIX = {
               | 
            |
| 15 | 
                + 'B64': 'alg1',  | 
            |
| 16 | 
                + 'RSA': 'alg2',  | 
            |
| 17 | 
                +}  | 
            |
| 18 | 
                +  | 
            |
| 19 | 
                +  | 
            |
| 20 | 
                +def encrypt(request):  | 
            |
| 21 | 
                +    plaintext = request.POST.get('plaintext', '')
               | 
            |
| 22 | 
                +  | 
            |
| 23 | 
                + alg = random.choice(CIPHER_ALGORITHM)  | 
            |
| 24 | 
                +  | 
            |
| 25 | 
                + if alg == 'B64':  | 
            |
| 26 | 
                + ciphertext = b64_encrypt(plaintext)  | 
            |
| 27 | 
                + elif alg == 'RSA':  | 
            |
| 28 | 
                + ciphertext = rsa_encrypt(plaintext)  | 
            |
| 29 | 
                + else:  | 
            |
| 30 | 
                + ciphertext = plaintext  | 
            |
| 31 | 
                +  | 
            |
| 32 | 
                +    return response(200, data={
               | 
            |
| 33 | 
                + 'ciphertext': u'%s+%s' % (CIPHER_PREFIX.get(alg, ''), ciphertext),  | 
            |
| 34 | 
                + })  | 
            |
| 35 | 
                +  | 
            |
| 36 | 
                +  | 
            |
| 37 | 
                +def decrypt(request):  | 
            |
| 38 | 
                +    ciphertext = request.POST.get('ciphertext', '')
               | 
            |
| 39 | 
                +  | 
            |
| 40 | 
                +    alg, ciphertext = ciphertext.split('+', 1)
               | 
            |
| 41 | 
                +  | 
            |
| 42 | 
                + if alg == CIPHER_PREFIX['B64']:  | 
            |
| 43 | 
                + plaintext = b64_decrypt(ciphertext)  | 
            |
| 44 | 
                + elif alg == CIPHER_PREFIX['RSA']:  | 
            |
| 45 | 
                + plaintext = rsa_decrypt(ciphertext)  | 
            |
| 46 | 
                + else:  | 
            |
| 47 | 
                + plaintext = ciphertext  | 
            |
| 48 | 
                +  | 
            |
| 49 | 
                +    return response(200, data={
               | 
            |
| 50 | 
                + 'plaintext': plaintext,  | 
            |
| 51 | 
                + })  | 
            
                @@ -0,0 +1,33 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +from __future__ import division  | 
            |
| 4 | 
                +  | 
            |
| 5 | 
                +from mch.models import BrandInfo, DistributorInfo, ModelInfo  | 
            |
| 6 | 
                +from utils.error.response_utils import response  | 
            |
| 7 | 
                +  | 
            |
| 8 | 
                +  | 
            |
| 9 | 
                +def brands_list(request):  | 
            |
| 10 | 
                + brands = BrandInfo.objects.filter(status=True)  | 
            |
| 11 | 
                + brands = [brand.data for brand in brands]  | 
            |
| 12 | 
                +  | 
            |
| 13 | 
                +    return response(200, data={
               | 
            |
| 14 | 
                + 'brands': brands,  | 
            |
| 15 | 
                + })  | 
            |
| 16 | 
                +  | 
            |
| 17 | 
                +  | 
            |
| 18 | 
                +def models_list(request):  | 
            |
| 19 | 
                + models = ModelInfo.objects.filter(status=True)  | 
            |
| 20 | 
                + models = [model.data for model in models]  | 
            |
| 21 | 
                +  | 
            |
| 22 | 
                +    return response(200, data={
               | 
            |
| 23 | 
                + 'models': models,  | 
            |
| 24 | 
                + })  | 
            |
| 25 | 
                +  | 
            |
| 26 | 
                +  | 
            |
| 27 | 
                +def distributors_list(request):  | 
            |
| 28 | 
                + distributors = DistributorInfo.objects.filter(status=True)  | 
            |
| 29 | 
                + distributors = [distributor.data for distributor in distributors]  | 
            |
| 30 | 
                +  | 
            |
| 31 | 
                +    return response(200, data={
               | 
            |
| 32 | 
                + 'distributors': distributors,  | 
            |
| 33 | 
                + })  | 
            
                @@ -0,0 +1,7 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +from __future__ import unicode_literals  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +from django.db import models  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +# Create your models here.  | 
            
                @@ -0,0 +1,27 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +from __future__ import division  | 
            |
| 4 | 
                +  | 
            |
| 5 | 
                +from django.conf import settings  | 
            |
| 6 | 
                +from django.core.urlresolvers import reverse  | 
            |
| 7 | 
                +from django.db import transaction  | 
            |
| 8 | 
                +from django.shortcuts import redirect  | 
            |
| 9 | 
                +from furl import furl  | 
            |
| 10 | 
                +  | 
            |
| 11 | 
                +from utils.redis.connect import r  | 
            |
| 12 | 
                +from utils.user.userinfo_save import userinfo_save  | 
            |
| 13 | 
                +  | 
            |
| 14 | 
                +  | 
            |
| 15 | 
                +@transaction.atomic  | 
            |
| 16 | 
                +def oauth_redirect(request):  | 
            |
| 17 | 
                + # Save profile or something else  | 
            |
| 18 | 
                + user = userinfo_save(request.GET)  | 
            |
| 19 | 
                +  | 
            |
| 20 | 
                + token_check_key = getattr(user, settings.TOKEN_CHECK_KEY)  | 
            |
| 21 | 
                +  | 
            |
| 22 | 
                +    query_params = {
               | 
            |
| 23 | 
                + settings.TOKEN_CHECK_KEY: token_check_key,  | 
            |
| 24 | 
                + 'vtoken': r.token(token_check_key, ex=False, buf=False),  | 
            |
| 25 | 
                + }  | 
            |
| 26 | 
                +  | 
            |
| 27 | 
                +    return redirect(furl(reverse('page:user_oauth')).add(request.GET).add(query_params).url)
               | 
            
                @@ -0,0 +1,7 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +from __future__ import unicode_literals  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +from django.test import TestCase  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +# Create your tests here.  | 
            
                @@ -0,0 +1,25 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +from django.conf.urls import url  | 
            |
| 4 | 
                +  | 
            |
| 5 | 
                +from api import encrypt_views, mch_views, oauth_views  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +  | 
            |
| 8 | 
                +urlpatterns = [  | 
            |
| 9 | 
                +]  | 
            |
| 10 | 
                +  | 
            |
| 11 | 
                +urlpatterns += [  | 
            |
| 12 | 
                + url(r'^3rd/or$', oauth_views.oauth_redirect, name='3rd_or'),  | 
            |
| 13 | 
                + url(r'^3rd/oauth_redirect$', oauth_views.oauth_redirect, name='3rd_oauth_redirect'),  | 
            |
| 14 | 
                +]  | 
            |
| 15 | 
                +  | 
            |
| 16 | 
                +urlpatterns += [  | 
            |
| 17 | 
                + url(r'^brands$', mch_views.brands_list, name='brands_list'),  | 
            |
| 18 | 
                + url(r'^models$', mch_views.models_list, name='models_list'),  | 
            |
| 19 | 
                + url(r'^distributors$', mch_views.distributors_list, name='distributors_list'),  | 
            |
| 20 | 
                +]  | 
            |
| 21 | 
                +  | 
            |
| 22 | 
                +urlpatterns += [  | 
            |
| 23 | 
                + url(r'^encrypt$', encrypt_views.encrypt, name='encrypt'),  | 
            |
| 24 | 
                + url(r'^decrypt$', encrypt_views.decrypt, name='decrypt'),  | 
            |
| 25 | 
                +]  | 
            
                @@ -0,0 +1,4 @@  | 
            ||
| 1 | 
                +from django.shortcuts import render  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +# Create your views here.  | 
            
                @@ -0,0 +1,9 @@  | 
            ||
| 1 | 
                +#!/bin/bash  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +echo '>> iSort'  | 
            |
| 4 | 
                +./isort.sh  | 
            |
| 5 | 
                +echo  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +echo '>> PEP8'  | 
            |
| 8 | 
                +./pep8.sh  | 
            |
| 9 | 
                +echo  | 
            
                @@ -0,0 +1,7 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +from __future__ import unicode_literals  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +from django.contrib import admin  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +# Register your models here.  | 
            
                @@ -0,0 +1,8 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +from __future__ import unicode_literals  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +from django.apps import AppConfig  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +class DataConfig(AppConfig):  | 
            |
| 8 | 
                + name = 'data'  | 
            
                @@ -0,0 +1,7 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +from __future__ import unicode_literals  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +from django.db import models  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +# Create your models here.  | 
            
                @@ -0,0 +1,3982 @@  | 
            ||
| 1 | 
                +{
               | 
            |
| 2 | 
                +  "86": {
               | 
            |
| 3 | 
                + "110000": "北京市",  | 
            |
| 4 | 
                + "120000": "天津市",  | 
            |
| 5 | 
                + "130000": "河北省",  | 
            |
| 6 | 
                + "140000": "山西省",  | 
            |
| 7 | 
                + "150000": "内蒙古自治区",  | 
            |
| 8 | 
                + "210000": "辽宁省",  | 
            |
| 9 | 
                + "220000": "吉林省",  | 
            |
| 10 | 
                + "230000": "黑龙江省",  | 
            |
| 11 | 
                + "310000": "上海市",  | 
            |
| 12 | 
                + "320000": "江苏省",  | 
            |
| 13 | 
                + "330000": "浙江省",  | 
            |
| 14 | 
                + "340000": "安徽省",  | 
            |
| 15 | 
                + "350000": "福建省",  | 
            |
| 16 | 
                + "360000": "江西省",  | 
            |
| 17 | 
                + "370000": "山东省",  | 
            |
| 18 | 
                + "410000": "河南省",  | 
            |
| 19 | 
                + "420000": "湖北省",  | 
            |
| 20 | 
                + "430000": "湖南省",  | 
            |
| 21 | 
                + "440000": "广东省",  | 
            |
| 22 | 
                + "450000": "广西壮族自治区",  | 
            |
| 23 | 
                + "460000": "海南省",  | 
            |
| 24 | 
                + "500000": "重庆市",  | 
            |
| 25 | 
                + "510000": "四川省",  | 
            |
| 26 | 
                + "520000": "贵州省",  | 
            |
| 27 | 
                + "530000": "云南省",  | 
            |
| 28 | 
                + "540000": "西藏自治区",  | 
            |
| 29 | 
                + "610000": "陕西省",  | 
            |
| 30 | 
                + "620000": "甘肃省",  | 
            |
| 31 | 
                + "630000": "青海省",  | 
            |
| 32 | 
                + "640000": "宁夏回族自治区",  | 
            |
| 33 | 
                + "650000": "新疆维吾尔自治区",  | 
            |
| 34 | 
                + "710000": "台湾省",  | 
            |
| 35 | 
                + "810000": "香港特别行政区",  | 
            |
| 36 | 
                + "820000": "澳门特别行政区"  | 
            |
| 37 | 
                + },  | 
            |
| 38 | 
                +  "110000": {
               | 
            |
| 39 | 
                + "110100": "市辖区"  | 
            |
| 40 | 
                + },  | 
            |
| 41 | 
                +  "110100": {
               | 
            |
| 42 | 
                + "110101": "东城区",  | 
            |
| 43 | 
                + "110102": "西城区",  | 
            |
| 44 | 
                + "110105": "朝阳区",  | 
            |
| 45 | 
                + "110106": "丰台区",  | 
            |
| 46 | 
                + "110107": "石景山区",  | 
            |
| 47 | 
                + "110108": "海淀区",  | 
            |
| 48 | 
                + "110109": "门头沟区",  | 
            |
| 49 | 
                + "110111": "房山区",  | 
            |
| 50 | 
                + "110112": "通州区",  | 
            |
| 51 | 
                + "110113": "顺义区",  | 
            |
| 52 | 
                + "110114": "昌平区",  | 
            |
| 53 | 
                + "110115": "大兴区",  | 
            |
| 54 | 
                + "110116": "怀柔区",  | 
            |
| 55 | 
                + "110117": "平谷区",  | 
            |
| 56 | 
                + "110118": "密云区",  | 
            |
| 57 | 
                + "110119": "延庆区"  | 
            |
| 58 | 
                + },  | 
            |
| 59 | 
                +  "120000": {
               | 
            |
| 60 | 
                + "120100": "市辖区"  | 
            |
| 61 | 
                + },  | 
            |
| 62 | 
                +  "120100": {
               | 
            |
| 63 | 
                + "120101": "和平区",  | 
            |
| 64 | 
                + "120102": "河东区",  | 
            |
| 65 | 
                + "120103": "河西区",  | 
            |
| 66 | 
                + "120104": "南开区",  | 
            |
| 67 | 
                + "120105": "河北区",  | 
            |
| 68 | 
                + "120106": "红桥区",  | 
            |
| 69 | 
                + "120110": "东丽区",  | 
            |
| 70 | 
                + "120111": "西青区",  | 
            |
| 71 | 
                + "120112": "津南区",  | 
            |
| 72 | 
                + "120113": "北辰区",  | 
            |
| 73 | 
                + "120114": "武清区",  | 
            |
| 74 | 
                + "120115": "宝坻区",  | 
            |
| 75 | 
                + "120116": "滨海新区",  | 
            |
| 76 | 
                + "120117": "宁河区",  | 
            |
| 77 | 
                + "120118": "静海区",  | 
            |
| 78 | 
                + "120119": "蓟州区"  | 
            |
| 79 | 
                + },  | 
            |
| 80 | 
                +  "130000": {
               | 
            |
| 81 | 
                + "130100": "石家庄市",  | 
            |
| 82 | 
                + "130200": "唐山市",  | 
            |
| 83 | 
                + "130300": "秦皇岛市",  | 
            |
| 84 | 
                + "130400": "邯郸市",  | 
            |
| 85 | 
                + "130500": "邢台市",  | 
            |
| 86 | 
                + "130600": "保定市",  | 
            |
| 87 | 
                + "130700": "张家口市",  | 
            |
| 88 | 
                + "130800": "承德市",  | 
            |
| 89 | 
                + "130900": "沧州市",  | 
            |
| 90 | 
                + "131000": "廊坊市",  | 
            |
| 91 | 
                + "131100": "衡水市",  | 
            |
| 92 | 
                + "139001": "定州市",  | 
            |
| 93 | 
                + "139002": "辛集市"  | 
            |
| 94 | 
                + },  | 
            |
| 95 | 
                +  "130100": {
               | 
            |
| 96 | 
                + "130102": "长安区",  | 
            |
| 97 | 
                + "130104": "桥西区",  | 
            |
| 98 | 
                + "130105": "新华区",  | 
            |
| 99 | 
                + "130107": "井陉矿区",  | 
            |
| 100 | 
                + "130108": "裕华区",  | 
            |
| 101 | 
                + "130109": "藁城区",  | 
            |
| 102 | 
                + "130110": "鹿泉区",  | 
            |
| 103 | 
                + "130111": "栾城区",  | 
            |
| 104 | 
                + "130121": "井陉县",  | 
            |
| 105 | 
                + "130123": "正定县",  | 
            |
| 106 | 
                + "130125": "行唐县",  | 
            |
| 107 | 
                + "130126": "灵寿县",  | 
            |
| 108 | 
                + "130127": "高邑县",  | 
            |
| 109 | 
                + "130128": "深泽县",  | 
            |
| 110 | 
                + "130129": "赞皇县",  | 
            |
| 111 | 
                + "130130": "无极县",  | 
            |
| 112 | 
                + "130131": "平山县",  | 
            |
| 113 | 
                + "130132": "元氏县",  | 
            |
| 114 | 
                + "130133": "赵县",  | 
            |
| 115 | 
                + "130183": "晋州市",  | 
            |
| 116 | 
                + "130184": "新乐市"  | 
            |
| 117 | 
                + },  | 
            |
| 118 | 
                +  "130200": {
               | 
            |
| 119 | 
                + "130202": "路南区",  | 
            |
| 120 | 
                + "130203": "路北区",  | 
            |
| 121 | 
                + "130204": "古冶区",  | 
            |
| 122 | 
                + "130205": "开平区",  | 
            |
| 123 | 
                + "130207": "丰南区",  | 
            |
| 124 | 
                + "130208": "丰润区",  | 
            |
| 125 | 
                + "130209": "曹妃甸区",  | 
            |
| 126 | 
                + "130223": "滦县",  | 
            |
| 127 | 
                + "130224": "滦南县",  | 
            |
| 128 | 
                + "130225": "乐亭县",  | 
            |
| 129 | 
                + "130227": "迁西县",  | 
            |
| 130 | 
                + "130229": "玉田县",  | 
            |
| 131 | 
                + "130281": "遵化市",  | 
            |
| 132 | 
                + "130283": "迁安市"  | 
            |
| 133 | 
                + },  | 
            |
| 134 | 
                +  "130300": {
               | 
            |
| 135 | 
                + "130302": "海港区",  | 
            |
| 136 | 
                + "130303": "山海关区",  | 
            |
| 137 | 
                + "130304": "北戴河区",  | 
            |
| 138 | 
                + "130306": "抚宁区",  | 
            |
| 139 | 
                + "130321": "青龙满族自治县",  | 
            |
| 140 | 
                + "130322": "昌黎县",  | 
            |
| 141 | 
                + "130324": "卢龙县"  | 
            |
| 142 | 
                + },  | 
            |
| 143 | 
                +  "130400": {
               | 
            |
| 144 | 
                + "130402": "邯山区",  | 
            |
| 145 | 
                + "130403": "丛台区",  | 
            |
| 146 | 
                + "130404": "复兴区",  | 
            |
| 147 | 
                + "130406": "峰峰矿区",  | 
            |
| 148 | 
                + "130421": "邯郸县",  | 
            |
| 149 | 
                + "130423": "临漳县",  | 
            |
| 150 | 
                + "130424": "成安县",  | 
            |
| 151 | 
                + "130425": "大名县",  | 
            |
| 152 | 
                + "130426": "涉县",  | 
            |
| 153 | 
                + "130427": "磁县",  | 
            |
| 154 | 
                + "130428": "肥乡县",  | 
            |
| 155 | 
                + "130429": "永年县",  | 
            |
| 156 | 
                + "130430": "邱县",  | 
            |
| 157 | 
                + "130431": "鸡泽县",  | 
            |
| 158 | 
                + "130432": "广平县",  | 
            |
| 159 | 
                + "130433": "馆陶县",  | 
            |
| 160 | 
                + "130434": "魏县",  | 
            |
| 161 | 
                + "130435": "曲周县",  | 
            |
| 162 | 
                + "130481": "武安市"  | 
            |
| 163 | 
                + },  | 
            |
| 164 | 
                +  "130500": {
               | 
            |
| 165 | 
                + "130502": "桥东区",  | 
            |
| 166 | 
                + "130503": "桥西区",  | 
            |
| 167 | 
                + "130521": "邢台县",  | 
            |
| 168 | 
                + "130522": "临城县",  | 
            |
| 169 | 
                + "130523": "内丘县",  | 
            |
| 170 | 
                + "130524": "柏乡县",  | 
            |
| 171 | 
                + "130525": "隆尧县",  | 
            |
| 172 | 
                + "130526": "任县",  | 
            |
| 173 | 
                + "130527": "南和县",  | 
            |
| 174 | 
                + "130528": "宁晋县",  | 
            |
| 175 | 
                + "130529": "巨鹿县",  | 
            |
| 176 | 
                + "130530": "新河县",  | 
            |
| 177 | 
                + "130531": "广宗县",  | 
            |
| 178 | 
                + "130532": "平乡县",  | 
            |
| 179 | 
                + "130533": "威县",  | 
            |
| 180 | 
                + "130534": "清河县",  | 
            |
| 181 | 
                + "130535": "临西县",  | 
            |
| 182 | 
                + "130581": "南宫市",  | 
            |
| 183 | 
                + "130582": "沙河市"  | 
            |
| 184 | 
                + },  | 
            |
| 185 | 
                +  "130600": {
               | 
            |
| 186 | 
                + "130602": "竞秀区",  | 
            |
| 187 | 
                + "130606": "莲池区",  | 
            |
| 188 | 
                + "130607": "满城区",  | 
            |
| 189 | 
                + "130608": "清苑区",  | 
            |
| 190 | 
                + "130609": "徐水区",  | 
            |
| 191 | 
                + "130623": "涞水县",  | 
            |
| 192 | 
                + "130624": "阜平县",  | 
            |
| 193 | 
                + "130626": "定兴县",  | 
            |
| 194 | 
                + "130627": "唐县",  | 
            |
| 195 | 
                + "130628": "高阳县",  | 
            |
| 196 | 
                + "130629": "容城县",  | 
            |
| 197 | 
                + "130630": "涞源县",  | 
            |
| 198 | 
                + "130631": "望都县",  | 
            |
| 199 | 
                + "130632": "安新县",  | 
            |
| 200 | 
                + "130633": "易县",  | 
            |
| 201 | 
                + "130634": "曲阳县",  | 
            |
| 202 | 
                + "130635": "蠡县",  | 
            |
| 203 | 
                + "130636": "顺平县",  | 
            |
| 204 | 
                + "130637": "博野县",  | 
            |
| 205 | 
                + "130638": "雄县",  | 
            |
| 206 | 
                + "130681": "涿州市",  | 
            |
| 207 | 
                + "130683": "安国市",  | 
            |
| 208 | 
                + "130684": "高碑店市"  | 
            |
| 209 | 
                + },  | 
            |
| 210 | 
                +  "130700": {
               | 
            |
| 211 | 
                + "130702": "桥东区",  | 
            |
| 212 | 
                + "130703": "桥西区",  | 
            |
| 213 | 
                + "130705": "宣化区",  | 
            |
| 214 | 
                + "130706": "下花园区",  | 
            |
| 215 | 
                + "130708": "万全区",  | 
            |
| 216 | 
                + "130709": "崇礼区",  | 
            |
| 217 | 
                + "130722": "张北县",  | 
            |
| 218 | 
                + "130723": "康保县",  | 
            |
| 219 | 
                + "130724": "沽源县",  | 
            |
| 220 | 
                + "130725": "尚义县",  | 
            |
| 221 | 
                + "130726": "蔚县",  | 
            |
| 222 | 
                + "130727": "阳原县",  | 
            |
| 223 | 
                + "130728": "怀安县",  | 
            |
| 224 | 
                + "130730": "怀来县",  | 
            |
| 225 | 
                + "130731": "涿鹿县",  | 
            |
| 226 | 
                + "130732": "赤城县"  | 
            |
| 227 | 
                + },  | 
            |
| 228 | 
                +  "130800": {
               | 
            |
| 229 | 
                + "130802": "双桥区",  | 
            |
| 230 | 
                + "130803": "双滦区",  | 
            |
| 231 | 
                + "130804": "鹰手营子矿区",  | 
            |
| 232 | 
                + "130821": "承德县",  | 
            |
| 233 | 
                + "130822": "兴隆县",  | 
            |
| 234 | 
                + "130823": "平泉县",  | 
            |
| 235 | 
                + "130824": "滦平县",  | 
            |
| 236 | 
                + "130825": "隆化县",  | 
            |
| 237 | 
                + "130826": "丰宁满族自治县",  | 
            |
| 238 | 
                + "130827": "宽城满族自治县",  | 
            |
| 239 | 
                + "130828": "围场满族蒙古族自治县"  | 
            |
| 240 | 
                + },  | 
            |
| 241 | 
                +  "130900": {
               | 
            |
| 242 | 
                + "130902": "新华区",  | 
            |
| 243 | 
                + "130903": "运河区",  | 
            |
| 244 | 
                + "130921": "沧县",  | 
            |
| 245 | 
                + "130922": "青县",  | 
            |
| 246 | 
                + "130923": "东光县",  | 
            |
| 247 | 
                + "130924": "海兴县",  | 
            |
| 248 | 
                + "130925": "盐山县",  | 
            |
| 249 | 
                + "130926": "肃宁县",  | 
            |
| 250 | 
                + "130927": "南皮县",  | 
            |
| 251 | 
                + "130928": "吴桥县",  | 
            |
| 252 | 
                + "130929": "献县",  | 
            |
| 253 | 
                + "130930": "孟村回族自治县",  | 
            |
| 254 | 
                + "130981": "泊头市",  | 
            |
| 255 | 
                + "130982": "任丘市",  | 
            |
| 256 | 
                + "130983": "黄骅市",  | 
            |
| 257 | 
                + "130984": "河间市"  | 
            |
| 258 | 
                + },  | 
            |
| 259 | 
                +  "131000": {
               | 
            |
| 260 | 
                + "131002": "安次区",  | 
            |
| 261 | 
                + "131003": "广阳区",  | 
            |
| 262 | 
                + "131022": "固安县",  | 
            |
| 263 | 
                + "131023": "永清县",  | 
            |
| 264 | 
                + "131024": "香河县",  | 
            |
| 265 | 
                + "131025": "大城县",  | 
            |
| 266 | 
                + "131026": "文安县",  | 
            |
| 267 | 
                + "131028": "大厂回族自治县",  | 
            |
| 268 | 
                + "131081": "霸州市",  | 
            |
| 269 | 
                + "131082": "三河市"  | 
            |
| 270 | 
                + },  | 
            |
| 271 | 
                +  "131100": {
               | 
            |
| 272 | 
                + "131102": "桃城区",  | 
            |
| 273 | 
                + "131103": "冀州区",  | 
            |
| 274 | 
                + "131121": "枣强县",  | 
            |
| 275 | 
                + "131122": "武邑县",  | 
            |
| 276 | 
                + "131123": "武强县",  | 
            |
| 277 | 
                + "131124": "饶阳县",  | 
            |
| 278 | 
                + "131125": "安平县",  | 
            |
| 279 | 
                + "131126": "故城县",  | 
            |
| 280 | 
                + "131127": "景县",  | 
            |
| 281 | 
                + "131128": "阜城县",  | 
            |
| 282 | 
                + "131182": "深州市"  | 
            |
| 283 | 
                + },  | 
            |
| 284 | 
                +  "140000": {
               | 
            |
| 285 | 
                + "140100": "太原市",  | 
            |
| 286 | 
                + "140200": "大同市",  | 
            |
| 287 | 
                + "140300": "阳泉市",  | 
            |
| 288 | 
                + "140400": "长治市",  | 
            |
| 289 | 
                + "140500": "晋城市",  | 
            |
| 290 | 
                + "140600": "朔州市",  | 
            |
| 291 | 
                + "140700": "晋中市",  | 
            |
| 292 | 
                + "140800": "运城市",  | 
            |
| 293 | 
                + "140900": "忻州市",  | 
            |
| 294 | 
                + "141000": "临汾市",  | 
            |
| 295 | 
                + "141100": "吕梁市"  | 
            |
| 296 | 
                + },  | 
            |
| 297 | 
                +  "140100": {
               | 
            |
| 298 | 
                + "140105": "小店区",  | 
            |
| 299 | 
                + "140106": "迎泽区",  | 
            |
| 300 | 
                + "140107": "杏花岭区",  | 
            |
| 301 | 
                + "140108": "尖草坪区",  | 
            |
| 302 | 
                + "140109": "万柏林区",  | 
            |
| 303 | 
                + "140110": "晋源区",  | 
            |
| 304 | 
                + "140121": "清徐县",  | 
            |
| 305 | 
                + "140122": "阳曲县",  | 
            |
| 306 | 
                + "140123": "娄烦县",  | 
            |
| 307 | 
                + "140181": "古交市"  | 
            |
| 308 | 
                + },  | 
            |
| 309 | 
                +  "140200": {
               | 
            |
| 310 | 
                + "140202": "城区",  | 
            |
| 311 | 
                + "140203": "矿区",  | 
            |
| 312 | 
                + "140211": "南郊区",  | 
            |
| 313 | 
                + "140212": "新荣区",  | 
            |
| 314 | 
                + "140221": "阳高县",  | 
            |
| 315 | 
                + "140222": "天镇县",  | 
            |
| 316 | 
                + "140223": "广灵县",  | 
            |
| 317 | 
                + "140224": "灵丘县",  | 
            |
| 318 | 
                + "140225": "浑源县",  | 
            |
| 319 | 
                + "140226": "左云县",  | 
            |
| 320 | 
                + "140227": "大同县"  | 
            |
| 321 | 
                + },  | 
            |
| 322 | 
                +  "140300": {
               | 
            |
| 323 | 
                + "140302": "城区",  | 
            |
| 324 | 
                + "140303": "矿区",  | 
            |
| 325 | 
                + "140311": "郊区",  | 
            |
| 326 | 
                + "140321": "平定县",  | 
            |
| 327 | 
                + "140322": "盂县"  | 
            |
| 328 | 
                + },  | 
            |
| 329 | 
                +  "140400": {
               | 
            |
| 330 | 
                + "140402": "城区",  | 
            |
| 331 | 
                + "140411": "郊区",  | 
            |
| 332 | 
                + "140421": "长治县",  | 
            |
| 333 | 
                + "140423": "襄垣县",  | 
            |
| 334 | 
                + "140424": "屯留县",  | 
            |
| 335 | 
                + "140425": "平顺县",  | 
            |
| 336 | 
                + "140426": "黎城县",  | 
            |
| 337 | 
                + "140427": "壶关县",  | 
            |
| 338 | 
                + "140428": "长子县",  | 
            |
| 339 | 
                + "140429": "武乡县",  | 
            |
| 340 | 
                + "140430": "沁县",  | 
            |
| 341 | 
                + "140431": "沁源县",  | 
            |
| 342 | 
                + "140481": "潞城市"  | 
            |
| 343 | 
                + },  | 
            |
| 344 | 
                +  "140500": {
               | 
            |
| 345 | 
                + "140502": "城区",  | 
            |
| 346 | 
                + "140521": "沁水县",  | 
            |
| 347 | 
                + "140522": "阳城县",  | 
            |
| 348 | 
                + "140524": "陵川县",  | 
            |
| 349 | 
                + "140525": "泽州县",  | 
            |
| 350 | 
                + "140581": "高平市"  | 
            |
| 351 | 
                + },  | 
            |
| 352 | 
                +  "140600": {
               | 
            |
| 353 | 
                + "140602": "朔城区",  | 
            |
| 354 | 
                + "140603": "平鲁区",  | 
            |
| 355 | 
                + "140621": "山阴县",  | 
            |
| 356 | 
                + "140622": "应县",  | 
            |
| 357 | 
                + "140623": "右玉县",  | 
            |
| 358 | 
                + "140624": "怀仁县"  | 
            |
| 359 | 
                + },  | 
            |
| 360 | 
                +  "140700": {
               | 
            |
| 361 | 
                + "140702": "榆次区",  | 
            |
| 362 | 
                + "140721": "榆社县",  | 
            |
| 363 | 
                + "140722": "左权县",  | 
            |
| 364 | 
                + "140723": "和顺县",  | 
            |
| 365 | 
                + "140724": "昔阳县",  | 
            |
| 366 | 
                + "140725": "寿阳县",  | 
            |
| 367 | 
                + "140726": "太谷县",  | 
            |
| 368 | 
                + "140727": "祁县",  | 
            |
| 369 | 
                + "140728": "平遥县",  | 
            |
| 370 | 
                + "140729": "灵石县",  | 
            |
| 371 | 
                + "140781": "介休市"  | 
            |
| 372 | 
                + },  | 
            |
| 373 | 
                +  "140800": {
               | 
            |
| 374 | 
                + "140802": "盐湖区",  | 
            |
| 375 | 
                + "140821": "临猗县",  | 
            |
| 376 | 
                + "140822": "万荣县",  | 
            |
| 377 | 
                + "140823": "闻喜县",  | 
            |
| 378 | 
                + "140824": "稷山县",  | 
            |
| 379 | 
                + "140825": "新绛县",  | 
            |
| 380 | 
                + "140826": "绛县",  | 
            |
| 381 | 
                + "140827": "垣曲县",  | 
            |
| 382 | 
                + "140828": "夏县",  | 
            |
| 383 | 
                + "140829": "平陆县",  | 
            |
| 384 | 
                + "140830": "芮城县",  | 
            |
| 385 | 
                + "140881": "永济市",  | 
            |
| 386 | 
                + "140882": "河津市"  | 
            |
| 387 | 
                + },  | 
            |
| 388 | 
                +  "140900": {
               | 
            |
| 389 | 
                + "140902": "忻府区",  | 
            |
| 390 | 
                + "140921": "定襄县",  | 
            |
| 391 | 
                + "140922": "五台县",  | 
            |
| 392 | 
                + "140923": "代县",  | 
            |
| 393 | 
                + "140924": "繁峙县",  | 
            |
| 394 | 
                + "140925": "宁武县",  | 
            |
| 395 | 
                + "140926": "静乐县",  | 
            |
| 396 | 
                + "140927": "神池县",  | 
            |
| 397 | 
                + "140928": "五寨县",  | 
            |
| 398 | 
                + "140929": "岢岚县",  | 
            |
| 399 | 
                + "140930": "河曲县",  | 
            |
| 400 | 
                + "140931": "保德县",  | 
            |
| 401 | 
                + "140932": "偏关县",  | 
            |
| 402 | 
                + "140981": "原平市"  | 
            |
| 403 | 
                + },  | 
            |
| 404 | 
                +  "141000": {
               | 
            |
| 405 | 
                + "141002": "尧都区",  | 
            |
| 406 | 
                + "141021": "曲沃县",  | 
            |
| 407 | 
                + "141022": "翼城县",  | 
            |
| 408 | 
                + "141023": "襄汾县",  | 
            |
| 409 | 
                + "141024": "洪洞县",  | 
            |
| 410 | 
                + "141025": "古县",  | 
            |
| 411 | 
                + "141026": "安泽县",  | 
            |
| 412 | 
                + "141027": "浮山县",  | 
            |
| 413 | 
                + "141028": "吉县",  | 
            |
| 414 | 
                + "141029": "乡宁县",  | 
            |
| 415 | 
                + "141030": "大宁县",  | 
            |
| 416 | 
                + "141031": "隰县",  | 
            |
| 417 | 
                + "141032": "永和县",  | 
            |
| 418 | 
                + "141033": "蒲县",  | 
            |
| 419 | 
                + "141034": "汾西县",  | 
            |
| 420 | 
                + "141081": "侯马市",  | 
            |
| 421 | 
                + "141082": "霍州市"  | 
            |
| 422 | 
                + },  | 
            |
| 423 | 
                +  "141100": {
               | 
            |
| 424 | 
                + "141102": "离石区",  | 
            |
| 425 | 
                + "141121": "文水县",  | 
            |
| 426 | 
                + "141122": "交城县",  | 
            |
| 427 | 
                + "141123": "兴县",  | 
            |
| 428 | 
                + "141124": "临县",  | 
            |
| 429 | 
                + "141125": "柳林县",  | 
            |
| 430 | 
                + "141126": "石楼县",  | 
            |
| 431 | 
                + "141127": "岚县",  | 
            |
| 432 | 
                + "141128": "方山县",  | 
            |
| 433 | 
                + "141129": "中阳县",  | 
            |
| 434 | 
                + "141130": "交口县",  | 
            |
| 435 | 
                + "141181": "孝义市",  | 
            |
| 436 | 
                + "141182": "汾阳市"  | 
            |
| 437 | 
                + },  | 
            |
| 438 | 
                +  "150000": {
               | 
            |
| 439 | 
                + "150100": "呼和浩特市",  | 
            |
| 440 | 
                + "150200": "包头市",  | 
            |
| 441 | 
                + "150300": "乌海市",  | 
            |
| 442 | 
                + "150400": "赤峰市",  | 
            |
| 443 | 
                + "150500": "通辽市",  | 
            |
| 444 | 
                + "150600": "鄂尔多斯市",  | 
            |
| 445 | 
                + "150700": "呼伦贝尔市",  | 
            |
| 446 | 
                + "150800": "巴彦淖尔市",  | 
            |
| 447 | 
                + "150900": "乌兰察布市",  | 
            |
| 448 | 
                + "152200": "兴安盟",  | 
            |
| 449 | 
                + "152500": "锡林郭勒盟",  | 
            |
| 450 | 
                + "152900": "阿拉善盟"  | 
            |
| 451 | 
                + },  | 
            |
| 452 | 
                +  "150100": {
               | 
            |
| 453 | 
                + "150102": "新城区",  | 
            |
| 454 | 
                + "150103": "回民区",  | 
            |
| 455 | 
                + "150104": "玉泉区",  | 
            |
| 456 | 
                + "150105": "赛罕区",  | 
            |
| 457 | 
                + "150121": "土默特左旗",  | 
            |
| 458 | 
                + "150122": "托克托县",  | 
            |
| 459 | 
                + "150123": "和林格尔县",  | 
            |
| 460 | 
                + "150124": "清水河县",  | 
            |
| 461 | 
                + "150125": "武川县"  | 
            |
| 462 | 
                + },  | 
            |
| 463 | 
                +  "150200": {
               | 
            |
| 464 | 
                + "150202": "东河区",  | 
            |
| 465 | 
                + "150203": "昆都仑区",  | 
            |
| 466 | 
                + "150204": "青山区",  | 
            |
| 467 | 
                + "150205": "石拐区",  | 
            |
| 468 | 
                + "150206": "白云鄂博矿区",  | 
            |
| 469 | 
                + "150207": "九原区",  | 
            |
| 470 | 
                + "150221": "土默特右旗",  | 
            |
| 471 | 
                + "150222": "固阳县",  | 
            |
| 472 | 
                + "150223": "达尔罕茂明安联合旗"  | 
            |
| 473 | 
                + },  | 
            |
| 474 | 
                +  "150300": {
               | 
            |
| 475 | 
                + "150302": "海勃湾区",  | 
            |
| 476 | 
                + "150303": "海南区",  | 
            |
| 477 | 
                + "150304": "乌达区"  | 
            |
| 478 | 
                + },  | 
            |
| 479 | 
                +  "150400": {
               | 
            |
| 480 | 
                + "150402": "红山区",  | 
            |
| 481 | 
                + "150403": "元宝山区",  | 
            |
| 482 | 
                + "150404": "松山区",  | 
            |
| 483 | 
                + "150421": "阿鲁科尔沁旗",  | 
            |
| 484 | 
                + "150422": "巴林左旗",  | 
            |
| 485 | 
                + "150423": "巴林右旗",  | 
            |
| 486 | 
                + "150424": "林西县",  | 
            |
| 487 | 
                + "150425": "克什克腾旗",  | 
            |
| 488 | 
                + "150426": "翁牛特旗",  | 
            |
| 489 | 
                + "150428": "喀喇沁旗",  | 
            |
| 490 | 
                + "150429": "宁城县",  | 
            |
| 491 | 
                + "150430": "敖汉旗"  | 
            |
| 492 | 
                + },  | 
            |
| 493 | 
                +  "150500": {
               | 
            |
| 494 | 
                + "150502": "科尔沁区",  | 
            |
| 495 | 
                + "150521": "科尔沁左翼中旗",  | 
            |
| 496 | 
                + "150522": "科尔沁左翼后旗",  | 
            |
| 497 | 
                + "150523": "开鲁县",  | 
            |
| 498 | 
                + "150524": "库伦旗",  | 
            |
| 499 | 
                + "150525": "奈曼旗",  | 
            |
| 500 | 
                + "150526": "扎鲁特旗",  | 
            |
| 501 | 
                + "150581": "霍林郭勒市"  | 
            |
| 502 | 
                + },  | 
            |
| 503 | 
                +  "150600": {
               | 
            |
| 504 | 
                + "150602": "东胜区",  | 
            |
| 505 | 
                + "150603": "康巴什区",  | 
            |
| 506 | 
                + "150621": "达拉特旗",  | 
            |
| 507 | 
                + "150622": "准格尔旗",  | 
            |
| 508 | 
                + "150623": "鄂托克前旗",  | 
            |
| 509 | 
                + "150624": "鄂托克旗",  | 
            |
| 510 | 
                + "150625": "杭锦旗",  | 
            |
| 511 | 
                + "150626": "乌审旗",  | 
            |
| 512 | 
                + "150627": "伊金霍洛旗"  | 
            |
| 513 | 
                + },  | 
            |
| 514 | 
                +  "150700": {
               | 
            |
| 515 | 
                + "150702": "海拉尔区",  | 
            |
| 516 | 
                + "150703": "扎赉诺尔区",  | 
            |
| 517 | 
                + "150721": "阿荣旗",  | 
            |
| 518 | 
                + "150722": "莫力达瓦达斡尔族自治旗",  | 
            |
| 519 | 
                + "150723": "鄂伦春自治旗",  | 
            |
| 520 | 
                + "150724": "鄂温克族自治旗",  | 
            |
| 521 | 
                + "150725": "陈巴尔虎旗",  | 
            |
| 522 | 
                + "150726": "新巴尔虎左旗",  | 
            |
| 523 | 
                + "150727": "新巴尔虎右旗",  | 
            |
| 524 | 
                + "150781": "满洲里市",  | 
            |
| 525 | 
                + "150782": "牙克石市",  | 
            |
| 526 | 
                + "150783": "扎兰屯市",  | 
            |
| 527 | 
                + "150784": "额尔古纳市",  | 
            |
| 528 | 
                + "150785": "根河市"  | 
            |
| 529 | 
                + },  | 
            |
| 530 | 
                +  "150800": {
               | 
            |
| 531 | 
                + "150802": "临河区",  | 
            |
| 532 | 
                + "150821": "五原县",  | 
            |
| 533 | 
                + "150822": "磴口县",  | 
            |
| 534 | 
                + "150823": "乌拉特前旗",  | 
            |
| 535 | 
                + "150824": "乌拉特中旗",  | 
            |
| 536 | 
                + "150825": "乌拉特后旗",  | 
            |
| 537 | 
                + "150826": "杭锦后旗"  | 
            |
| 538 | 
                + },  | 
            |
| 539 | 
                +  "150900": {
               | 
            |
| 540 | 
                + "150902": "集宁区",  | 
            |
| 541 | 
                + "150921": "卓资县",  | 
            |
| 542 | 
                + "150922": "化德县",  | 
            |
| 543 | 
                + "150923": "商都县",  | 
            |
| 544 | 
                + "150924": "兴和县",  | 
            |
| 545 | 
                + "150925": "凉城县",  | 
            |
| 546 | 
                + "150926": "察哈尔右翼前旗",  | 
            |
| 547 | 
                + "150927": "察哈尔右翼中旗",  | 
            |
| 548 | 
                + "150928": "察哈尔右翼后旗",  | 
            |
| 549 | 
                + "150929": "四子王旗",  | 
            |
| 550 | 
                + "150981": "丰镇市"  | 
            |
| 551 | 
                + },  | 
            |
| 552 | 
                +  "152200": {
               | 
            |
| 553 | 
                + "152201": "乌兰浩特市",  | 
            |
| 554 | 
                + "152202": "阿尔山市",  | 
            |
| 555 | 
                + "152221": "科尔沁右翼前旗",  | 
            |
| 556 | 
                + "152222": "科尔沁右翼中旗",  | 
            |
| 557 | 
                + "152223": "扎赉特旗",  | 
            |
| 558 | 
                + "152224": "突泉县"  | 
            |
| 559 | 
                + },  | 
            |
| 560 | 
                +  "152500": {
               | 
            |
| 561 | 
                + "152501": "二连浩特市",  | 
            |
| 562 | 
                + "152502": "锡林浩特市",  | 
            |
| 563 | 
                + "152522": "阿巴嘎旗",  | 
            |
| 564 | 
                + "152523": "苏尼特左旗",  | 
            |
| 565 | 
                + "152524": "苏尼特右旗",  | 
            |
| 566 | 
                + "152525": "东乌珠穆沁旗",  | 
            |
| 567 | 
                + "152526": "西乌珠穆沁旗",  | 
            |
| 568 | 
                + "152527": "太仆寺旗",  | 
            |
| 569 | 
                + "152528": "镶黄旗",  | 
            |
| 570 | 
                + "152529": "正镶白旗",  | 
            |
| 571 | 
                + "152530": "正蓝旗",  | 
            |
| 572 | 
                + "152531": "多伦县"  | 
            |
| 573 | 
                + },  | 
            |
| 574 | 
                +  "152900": {
               | 
            |
| 575 | 
                + "152921": "阿拉善左旗",  | 
            |
| 576 | 
                + "152922": "阿拉善右旗",  | 
            |
| 577 | 
                + "152923": "额济纳旗"  | 
            |
| 578 | 
                + },  | 
            |
| 579 | 
                +  "210000": {
               | 
            |
| 580 | 
                + "210100": "沈阳市",  | 
            |
| 581 | 
                + "210200": "大连市",  | 
            |
| 582 | 
                + "210300": "鞍山市",  | 
            |
| 583 | 
                + "210400": "抚顺市",  | 
            |
| 584 | 
                + "210500": "本溪市",  | 
            |
| 585 | 
                + "210600": "丹东市",  | 
            |
| 586 | 
                + "210700": "锦州市",  | 
            |
| 587 | 
                + "210800": "营口市",  | 
            |
| 588 | 
                + "210900": "阜新市",  | 
            |
| 589 | 
                + "211000": "辽阳市",  | 
            |
| 590 | 
                + "211100": "盘锦市",  | 
            |
| 591 | 
                + "211200": "铁岭市",  | 
            |
| 592 | 
                + "211300": "朝阳市",  | 
            |
| 593 | 
                + "211400": "葫芦岛市"  | 
            |
| 594 | 
                + },  | 
            |
| 595 | 
                +  "210100": {
               | 
            |
| 596 | 
                + "210102": "和平区",  | 
            |
| 597 | 
                + "210103": "沈河区",  | 
            |
| 598 | 
                + "210104": "大东区",  | 
            |
| 599 | 
                + "210105": "皇姑区",  | 
            |
| 600 | 
                + "210106": "铁西区",  | 
            |
| 601 | 
                + "210111": "苏家屯区",  | 
            |
| 602 | 
                + "210112": "浑南区",  | 
            |
| 603 | 
                + "210113": "沈北新区",  | 
            |
| 604 | 
                + "210114": "于洪区",  | 
            |
| 605 | 
                + "210115": "辽中区",  | 
            |
| 606 | 
                + "210123": "康平县",  | 
            |
| 607 | 
                + "210124": "法库县",  | 
            |
| 608 | 
                + "210181": "新民市"  | 
            |
| 609 | 
                + },  | 
            |
| 610 | 
                +  "210200": {
               | 
            |
| 611 | 
                + "210202": "中山区",  | 
            |
| 612 | 
                + "210203": "西岗区",  | 
            |
| 613 | 
                + "210204": "沙河口区",  | 
            |
| 614 | 
                + "210211": "甘井子区",  | 
            |
| 615 | 
                + "210212": "旅顺口区",  | 
            |
| 616 | 
                + "210213": "金州区",  | 
            |
| 617 | 
                + "210214": "普兰店区",  | 
            |
| 618 | 
                + "210224": "长海县",  | 
            |
| 619 | 
                + "210281": "瓦房店市",  | 
            |
| 620 | 
                + "210283": "庄河市"  | 
            |
| 621 | 
                + },  | 
            |
| 622 | 
                +  "210300": {
               | 
            |
| 623 | 
                + "210302": "铁东区",  | 
            |
| 624 | 
                + "210303": "铁西区",  | 
            |
| 625 | 
                + "210304": "立山区",  | 
            |
| 626 | 
                + "210311": "千山区",  | 
            |
| 627 | 
                + "210321": "台安县",  | 
            |
| 628 | 
                + "210323": "岫岩满族自治县",  | 
            |
| 629 | 
                + "210381": "海城市"  | 
            |
| 630 | 
                + },  | 
            |
| 631 | 
                +  "210400": {
               | 
            |
| 632 | 
                + "210402": "新抚区",  | 
            |
| 633 | 
                + "210403": "东洲区",  | 
            |
| 634 | 
                + "210404": "望花区",  | 
            |
| 635 | 
                + "210411": "顺城区",  | 
            |
| 636 | 
                + "210421": "抚顺县",  | 
            |
| 637 | 
                + "210422": "新宾满族自治县",  | 
            |
| 638 | 
                + "210423": "清原满族自治县"  | 
            |
| 639 | 
                + },  | 
            |
| 640 | 
                +  "210500": {
               | 
            |
| 641 | 
                + "210502": "平山区",  | 
            |
| 642 | 
                + "210503": "溪湖区",  | 
            |
| 643 | 
                + "210504": "明山区",  | 
            |
| 644 | 
                + "210505": "南芬区",  | 
            |
| 645 | 
                + "210521": "本溪满族自治县",  | 
            |
| 646 | 
                + "210522": "桓仁满族自治县"  | 
            |
| 647 | 
                + },  | 
            |
| 648 | 
                +  "210600": {
               | 
            |
| 649 | 
                + "210602": "元宝区",  | 
            |
| 650 | 
                + "210603": "振兴区",  | 
            |
| 651 | 
                + "210604": "振安区",  | 
            |
| 652 | 
                + "210624": "宽甸满族自治县",  | 
            |
| 653 | 
                + "210681": "东港市",  | 
            |
| 654 | 
                + "210682": "凤城市"  | 
            |
| 655 | 
                + },  | 
            |
| 656 | 
                +  "210700": {
               | 
            |
| 657 | 
                + "210702": "古塔区",  | 
            |
| 658 | 
                + "210703": "凌河区",  | 
            |
| 659 | 
                + "210711": "太和区",  | 
            |
| 660 | 
                + "210726": "黑山县",  | 
            |
| 661 | 
                + "210727": "义县",  | 
            |
| 662 | 
                + "210781": "凌海市",  | 
            |
| 663 | 
                + "210782": "北镇市"  | 
            |
| 664 | 
                + },  | 
            |
| 665 | 
                +  "210800": {
               | 
            |
| 666 | 
                + "210802": "站前区",  | 
            |
| 667 | 
                + "210803": "西市区",  | 
            |
| 668 | 
                + "210804": "鲅鱼圈区",  | 
            |
| 669 | 
                + "210811": "老边区",  | 
            |
| 670 | 
                + "210881": "盖州市",  | 
            |
| 671 | 
                + "210882": "大石桥市"  | 
            |
| 672 | 
                + },  | 
            |
| 673 | 
                +  "210900": {
               | 
            |
| 674 | 
                + "210902": "海州区",  | 
            |
| 675 | 
                + "210903": "新邱区",  | 
            |
| 676 | 
                + "210904": "太平区",  | 
            |
| 677 | 
                + "210905": "清河门区",  | 
            |
| 678 | 
                + "210911": "细河区",  | 
            |
| 679 | 
                + "210921": "阜新蒙古族自治县",  | 
            |
| 680 | 
                + "210922": "彰武县"  | 
            |
| 681 | 
                + },  | 
            |
| 682 | 
                +  "211000": {
               | 
            |
| 683 | 
                + "211002": "白塔区",  | 
            |
| 684 | 
                + "211003": "文圣区",  | 
            |
| 685 | 
                + "211004": "宏伟区",  | 
            |
| 686 | 
                + "211005": "弓长岭区",  | 
            |
| 687 | 
                + "211011": "太子河区",  | 
            |
| 688 | 
                + "211021": "辽阳县",  | 
            |
| 689 | 
                + "211081": "灯塔市"  | 
            |
| 690 | 
                + },  | 
            |
| 691 | 
                +  "211100": {
               | 
            |
| 692 | 
                + "211102": "双台子区",  | 
            |
| 693 | 
                + "211103": "兴隆台区",  | 
            |
| 694 | 
                + "211104": "大洼区",  | 
            |
| 695 | 
                + "211122": "盘山县"  | 
            |
| 696 | 
                + },  | 
            |
| 697 | 
                +  "211200": {
               | 
            |
| 698 | 
                + "211202": "银州区",  | 
            |
| 699 | 
                + "211204": "清河区",  | 
            |
| 700 | 
                + "211221": "铁岭县",  | 
            |
| 701 | 
                + "211223": "西丰县",  | 
            |
| 702 | 
                + "211224": "昌图县",  | 
            |
| 703 | 
                + "211281": "调兵山市",  | 
            |
| 704 | 
                + "211282": "开原市"  | 
            |
| 705 | 
                + },  | 
            |
| 706 | 
                +  "211300": {
               | 
            |
| 707 | 
                + "211302": "双塔区",  | 
            |
| 708 | 
                + "211303": "龙城区",  | 
            |
| 709 | 
                + "211321": "朝阳县",  | 
            |
| 710 | 
                + "211322": "建平县",  | 
            |
| 711 | 
                + "211324": "喀喇沁左翼蒙古族自治县",  | 
            |
| 712 | 
                + "211381": "北票市",  | 
            |
| 713 | 
                + "211382": "凌源市"  | 
            |
| 714 | 
                + },  | 
            |
| 715 | 
                +  "211400": {
               | 
            |
| 716 | 
                + "211402": "连山区",  | 
            |
| 717 | 
                + "211403": "龙港区",  | 
            |
| 718 | 
                + "211404": "南票区",  | 
            |
| 719 | 
                + "211421": "绥中县",  | 
            |
| 720 | 
                + "211422": "建昌县",  | 
            |
| 721 | 
                + "211481": "兴城市"  | 
            |
| 722 | 
                + },  | 
            |
| 723 | 
                +  "220000": {
               | 
            |
| 724 | 
                + "220100": "长春市",  | 
            |
| 725 | 
                + "220200": "吉林市",  | 
            |
| 726 | 
                + "220300": "四平市",  | 
            |
| 727 | 
                + "220400": "辽源市",  | 
            |
| 728 | 
                + "220500": "通化市",  | 
            |
| 729 | 
                + "220600": "白山市",  | 
            |
| 730 | 
                + "220700": "松原市",  | 
            |
| 731 | 
                + "220800": "白城市",  | 
            |
| 732 | 
                + "222400": "延边朝鲜族自治州"  | 
            |
| 733 | 
                + },  | 
            |
| 734 | 
                +  "220100": {
               | 
            |
| 735 | 
                + "220102": "南关区",  | 
            |
| 736 | 
                + "220103": "宽城区",  | 
            |
| 737 | 
                + "220104": "朝阳区",  | 
            |
| 738 | 
                + "220105": "二道区",  | 
            |
| 739 | 
                + "220106": "绿园区",  | 
            |
| 740 | 
                + "220112": "双阳区",  | 
            |
| 741 | 
                + "220113": "九台区",  | 
            |
| 742 | 
                + "220122": "农安县",  | 
            |
| 743 | 
                + "220182": "榆树市",  | 
            |
| 744 | 
                + "220183": "德惠市"  | 
            |
| 745 | 
                + },  | 
            |
| 746 | 
                +  "220200": {
               | 
            |
| 747 | 
                + "220202": "昌邑区",  | 
            |
| 748 | 
                + "220203": "龙潭区",  | 
            |
| 749 | 
                + "220204": "船营区",  | 
            |
| 750 | 
                + "220211": "丰满区",  | 
            |
| 751 | 
                + "220221": "永吉县",  | 
            |
| 752 | 
                + "220281": "蛟河市",  | 
            |
| 753 | 
                + "220282": "桦甸市",  | 
            |
| 754 | 
                + "220283": "舒兰市",  | 
            |
| 755 | 
                + "220284": "磐石市"  | 
            |
| 756 | 
                + },  | 
            |
| 757 | 
                +  "220300": {
               | 
            |
| 758 | 
                + "220302": "铁西区",  | 
            |
| 759 | 
                + "220303": "铁东区",  | 
            |
| 760 | 
                + "220322": "梨树县",  | 
            |
| 761 | 
                + "220323": "伊通满族自治县",  | 
            |
| 762 | 
                + "220381": "公主岭市",  | 
            |
| 763 | 
                + "220382": "双辽市"  | 
            |
| 764 | 
                + },  | 
            |
| 765 | 
                +  "220400": {
               | 
            |
| 766 | 
                + "220402": "龙山区",  | 
            |
| 767 | 
                + "220403": "西安区",  | 
            |
| 768 | 
                + "220421": "东丰县",  | 
            |
| 769 | 
                + "220422": "东辽县"  | 
            |
| 770 | 
                + },  | 
            |
| 771 | 
                +  "220500": {
               | 
            |
| 772 | 
                + "220502": "东昌区",  | 
            |
| 773 | 
                + "220503": "二道江区",  | 
            |
| 774 | 
                + "220521": "通化县",  | 
            |
| 775 | 
                + "220523": "辉南县",  | 
            |
| 776 | 
                + "220524": "柳河县",  | 
            |
| 777 | 
                + "220581": "梅河口市",  | 
            |
| 778 | 
                + "220582": "集安市"  | 
            |
| 779 | 
                + },  | 
            |
| 780 | 
                +  "220600": {
               | 
            |
| 781 | 
                + "220602": "浑江区",  | 
            |
| 782 | 
                + "220605": "江源区",  | 
            |
| 783 | 
                + "220621": "抚松县",  | 
            |
| 784 | 
                + "220622": "靖宇县",  | 
            |
| 785 | 
                + "220623": "长白朝鲜族自治县",  | 
            |
| 786 | 
                + "220681": "临江市"  | 
            |
| 787 | 
                + },  | 
            |
| 788 | 
                +  "220700": {
               | 
            |
| 789 | 
                + "220702": "宁江区",  | 
            |
| 790 | 
                + "220721": "前郭尔罗斯蒙古族自治县",  | 
            |
| 791 | 
                + "220722": "长岭县",  | 
            |
| 792 | 
                + "220723": "乾安县",  | 
            |
| 793 | 
                + "220781": "扶余市"  | 
            |
| 794 | 
                + },  | 
            |
| 795 | 
                +  "220800": {
               | 
            |
| 796 | 
                + "220802": "洮北区",  | 
            |
| 797 | 
                + "220821": "镇赉县",  | 
            |
| 798 | 
                + "220822": "通榆县",  | 
            |
| 799 | 
                + "220881": "洮南市",  | 
            |
| 800 | 
                + "220882": "大安市"  | 
            |
| 801 | 
                + },  | 
            |
| 802 | 
                +  "222400": {
               | 
            |
| 803 | 
                + "222401": "延吉市",  | 
            |
| 804 | 
                + "222402": "图们市",  | 
            |
| 805 | 
                + "222403": "敦化市",  | 
            |
| 806 | 
                + "222404": "珲春市",  | 
            |
| 807 | 
                + "222405": "龙井市",  | 
            |
| 808 | 
                + "222406": "和龙市",  | 
            |
| 809 | 
                + "222424": "汪清县",  | 
            |
| 810 | 
                + "222426": "安图县"  | 
            |
| 811 | 
                + },  | 
            |
| 812 | 
                +  "230000": {
               | 
            |
| 813 | 
                + "230100": "哈尔滨市",  | 
            |
| 814 | 
                + "230200": "齐齐哈尔市",  | 
            |
| 815 | 
                + "230300": "鸡西市",  | 
            |
| 816 | 
                + "230400": "鹤岗市",  | 
            |
| 817 | 
                + "230500": "双鸭山市",  | 
            |
| 818 | 
                + "230600": "大庆市",  | 
            |
| 819 | 
                + "230700": "伊春市",  | 
            |
| 820 | 
                + "230800": "佳木斯市",  | 
            |
| 821 | 
                + "230900": "七台河市",  | 
            |
| 822 | 
                + "231000": "牡丹江市",  | 
            |
| 823 | 
                + "231100": "黑河市",  | 
            |
| 824 | 
                + "231200": "绥化市",  | 
            |
| 825 | 
                + "232700": "大兴安岭地区"  | 
            |
| 826 | 
                + },  | 
            |
| 827 | 
                +  "230100": {
               | 
            |
| 828 | 
                + "230102": "道里区",  | 
            |
| 829 | 
                + "230103": "南岗区",  | 
            |
| 830 | 
                + "230104": "道外区",  | 
            |
| 831 | 
                + "230108": "平房区",  | 
            |
| 832 | 
                + "230109": "松北区",  | 
            |
| 833 | 
                + "230110": "香坊区",  | 
            |
| 834 | 
                + "230111": "呼兰区",  | 
            |
| 835 | 
                + "230112": "阿城区",  | 
            |
| 836 | 
                + "230113": "双城区",  | 
            |
| 837 | 
                + "230123": "依兰县",  | 
            |
| 838 | 
                + "230124": "方正县",  | 
            |
| 839 | 
                + "230125": "宾县",  | 
            |
| 840 | 
                + "230126": "巴彦县",  | 
            |
| 841 | 
                + "230127": "木兰县",  | 
            |
| 842 | 
                + "230128": "通河县",  | 
            |
| 843 | 
                + "230129": "延寿县",  | 
            |
| 844 | 
                + "230183": "尚志市",  | 
            |
| 845 | 
                + "230184": "五常市"  | 
            |
| 846 | 
                + },  | 
            |
| 847 | 
                +  "230200": {
               | 
            |
| 848 | 
                + "230202": "龙沙区",  | 
            |
| 849 | 
                + "230203": "建华区",  | 
            |
| 850 | 
                + "230204": "铁锋区",  | 
            |
| 851 | 
                + "230205": "昂昂溪区",  | 
            |
| 852 | 
                + "230206": "富拉尔基区",  | 
            |
| 853 | 
                + "230207": "碾子山区",  | 
            |
| 854 | 
                + "230208": "梅里斯达斡尔族区",  | 
            |
| 855 | 
                + "230221": "龙江县",  | 
            |
| 856 | 
                + "230223": "依安县",  | 
            |
| 857 | 
                + "230224": "泰来县",  | 
            |
| 858 | 
                + "230225": "甘南县",  | 
            |
| 859 | 
                + "230227": "富裕县",  | 
            |
| 860 | 
                + "230229": "克山县",  | 
            |
| 861 | 
                + "230230": "克东县",  | 
            |
| 862 | 
                + "230231": "拜泉县",  | 
            |
| 863 | 
                + "230281": "讷河市"  | 
            |
| 864 | 
                + },  | 
            |
| 865 | 
                +  "230300": {
               | 
            |
| 866 | 
                + "230302": "鸡冠区",  | 
            |
| 867 | 
                + "230303": "恒山区",  | 
            |
| 868 | 
                + "230304": "滴道区",  | 
            |
| 869 | 
                + "230305": "梨树区",  | 
            |
| 870 | 
                + "230306": "城子河区",  | 
            |
| 871 | 
                + "230307": "麻山区",  | 
            |
| 872 | 
                + "230321": "鸡东县",  | 
            |
| 873 | 
                + "230381": "虎林市",  | 
            |
| 874 | 
                + "230382": "密山市"  | 
            |
| 875 | 
                + },  | 
            |
| 876 | 
                +  "230400": {
               | 
            |
| 877 | 
                + "230402": "向阳区",  | 
            |
| 878 | 
                + "230403": "工农区",  | 
            |
| 879 | 
                + "230404": "南山区",  | 
            |
| 880 | 
                + "230405": "兴安区",  | 
            |
| 881 | 
                + "230406": "东山区",  | 
            |
| 882 | 
                + "230407": "兴山区",  | 
            |
| 883 | 
                + "230421": "萝北县",  | 
            |
| 884 | 
                + "230422": "绥滨县"  | 
            |
| 885 | 
                + },  | 
            |
| 886 | 
                +  "230500": {
               | 
            |
| 887 | 
                + "230502": "尖山区",  | 
            |
| 888 | 
                + "230503": "岭东区",  | 
            |
| 889 | 
                + "230505": "四方台区",  | 
            |
| 890 | 
                + "230506": "宝山区",  | 
            |
| 891 | 
                + "230521": "集贤县",  | 
            |
| 892 | 
                + "230522": "友谊县",  | 
            |
| 893 | 
                + "230523": "宝清县",  | 
            |
| 894 | 
                + "230524": "饶河县"  | 
            |
| 895 | 
                + },  | 
            |
| 896 | 
                +  "230600": {
               | 
            |
| 897 | 
                + "230602": "萨尔图区",  | 
            |
| 898 | 
                + "230603": "龙凤区",  | 
            |
| 899 | 
                + "230604": "让胡路区",  | 
            |
| 900 | 
                + "230605": "红岗区",  | 
            |
| 901 | 
                + "230606": "大同区",  | 
            |
| 902 | 
                + "230621": "肇州县",  | 
            |
| 903 | 
                + "230622": "肇源县",  | 
            |
| 904 | 
                + "230623": "林甸县",  | 
            |
| 905 | 
                + "230624": "杜尔伯特蒙古族自治县"  | 
            |
| 906 | 
                + },  | 
            |
| 907 | 
                +  "230700": {
               | 
            |
| 908 | 
                + "230702": "伊春区",  | 
            |
| 909 | 
                + "230703": "南岔区",  | 
            |
| 910 | 
                + "230704": "友好区",  | 
            |
| 911 | 
                + "230705": "西林区",  | 
            |
| 912 | 
                + "230706": "翠峦区",  | 
            |
| 913 | 
                + "230707": "新青区",  | 
            |
| 914 | 
                + "230708": "美溪区",  | 
            |
| 915 | 
                + "230709": "金山屯区",  | 
            |
| 916 | 
                + "230710": "五营区",  | 
            |
| 917 | 
                + "230711": "乌马河区",  | 
            |
| 918 | 
                + "230712": "汤旺河区",  | 
            |
| 919 | 
                + "230713": "带岭区",  | 
            |
| 920 | 
                + "230714": "乌伊岭区",  | 
            |
| 921 | 
                + "230715": "红星区",  | 
            |
| 922 | 
                + "230716": "上甘岭区",  | 
            |
| 923 | 
                + "230722": "嘉荫县",  | 
            |
| 924 | 
                + "230781": "铁力市"  | 
            |
| 925 | 
                + },  | 
            |
| 926 | 
                +  "230800": {
               | 
            |
| 927 | 
                + "230803": "向阳区",  | 
            |
| 928 | 
                + "230804": "前进区",  | 
            |
| 929 | 
                + "230805": "东风区",  | 
            |
| 930 | 
                + "230811": "郊区",  | 
            |
| 931 | 
                + "230822": "桦南县",  | 
            |
| 932 | 
                + "230826": "桦川县",  | 
            |
| 933 | 
                + "230828": "汤原县",  | 
            |
| 934 | 
                + "230881": "同江市",  | 
            |
| 935 | 
                + "230882": "富锦市",  | 
            |
| 936 | 
                + "230883": "抚远市"  | 
            |
| 937 | 
                + },  | 
            |
| 938 | 
                +  "230900": {
               | 
            |
| 939 | 
                + "230902": "新兴区",  | 
            |
| 940 | 
                + "230903": "桃山区",  | 
            |
| 941 | 
                + "230904": "茄子河区",  | 
            |
| 942 | 
                + "230921": "勃利县"  | 
            |
| 943 | 
                + },  | 
            |
| 944 | 
                +  "231000": {
               | 
            |
| 945 | 
                + "231002": "东安区",  | 
            |
| 946 | 
                + "231003": "阳明区",  | 
            |
| 947 | 
                + "231004": "爱民区",  | 
            |
| 948 | 
                + "231005": "西安区",  | 
            |
| 949 | 
                + "231025": "林口县",  | 
            |
| 950 | 
                + "231081": "绥芬河市",  | 
            |
| 951 | 
                + "231083": "海林市",  | 
            |
| 952 | 
                + "231084": "宁安市",  | 
            |
| 953 | 
                + "231085": "穆棱市",  | 
            |
| 954 | 
                + "231086": "东宁市"  | 
            |
| 955 | 
                + },  | 
            |
| 956 | 
                +  "231100": {
               | 
            |
| 957 | 
                + "231102": "爱辉区",  | 
            |
| 958 | 
                + "231121": "嫩江县",  | 
            |
| 959 | 
                + "231123": "逊克县",  | 
            |
| 960 | 
                + "231124": "孙吴县",  | 
            |
| 961 | 
                + "231181": "北安市",  | 
            |
| 962 | 
                + "231182": "五大连池市"  | 
            |
| 963 | 
                + },  | 
            |
| 964 | 
                +  "231200": {
               | 
            |
| 965 | 
                + "231202": "北林区",  | 
            |
| 966 | 
                + "231221": "望奎县",  | 
            |
| 967 | 
                + "231222": "兰西县",  | 
            |
| 968 | 
                + "231223": "青冈县",  | 
            |
| 969 | 
                + "231224": "庆安县",  | 
            |
| 970 | 
                + "231225": "明水县",  | 
            |
| 971 | 
                + "231226": "绥棱县",  | 
            |
| 972 | 
                + "231281": "安达市",  | 
            |
| 973 | 
                + "231282": "肇东市",  | 
            |
| 974 | 
                + "231283": "海伦市"  | 
            |
| 975 | 
                + },  | 
            |
| 976 | 
                +  "232700": {
               | 
            |
| 977 | 
                + "232721": "呼玛县",  | 
            |
| 978 | 
                + "232722": "塔河县",  | 
            |
| 979 | 
                + "232723": "漠河县"  | 
            |
| 980 | 
                + },  | 
            |
| 981 | 
                +  "310000": {
               | 
            |
| 982 | 
                + "310100": "市辖区"  | 
            |
| 983 | 
                + },  | 
            |
| 984 | 
                +  "310100": {
               | 
            |
| 985 | 
                + "310101": "黄浦区",  | 
            |
| 986 | 
                + "310104": "徐汇区",  | 
            |
| 987 | 
                + "310105": "长宁区",  | 
            |
| 988 | 
                + "310106": "静安区",  | 
            |
| 989 | 
                + "310107": "普陀区",  | 
            |
| 990 | 
                + "310109": "虹口区",  | 
            |
| 991 | 
                + "310110": "杨浦区",  | 
            |
| 992 | 
                + "310112": "闵行区",  | 
            |
| 993 | 
                + "310113": "宝山区",  | 
            |
| 994 | 
                + "310114": "嘉定区",  | 
            |
| 995 | 
                + "310115": "浦东新区",  | 
            |
| 996 | 
                + "310116": "金山区",  | 
            |
| 997 | 
                + "310117": "松江区",  | 
            |
| 998 | 
                + "310118": "青浦区",  | 
            |
| 999 | 
                + "310120": "奉贤区",  | 
            |
| 1000 | 
                + "310151": "崇明区"  | 
            |
| 1001 | 
                + },  | 
            |
| 1002 | 
                +  "320000": {
               | 
            |
| 1003 | 
                + "320100": "南京市",  | 
            |
| 1004 | 
                + "320200": "无锡市",  | 
            |
| 1005 | 
                + "320300": "徐州市",  | 
            |
| 1006 | 
                + "320400": "常州市",  | 
            |
| 1007 | 
                + "320500": "苏州市",  | 
            |
| 1008 | 
                + "320600": "南通市",  | 
            |
| 1009 | 
                + "320700": "连云港市",  | 
            |
| 1010 | 
                + "320800": "淮安市",  | 
            |
| 1011 | 
                + "320900": "盐城市",  | 
            |
| 1012 | 
                + "321000": "扬州市",  | 
            |
| 1013 | 
                + "321100": "镇江市",  | 
            |
| 1014 | 
                + "321200": "泰州市",  | 
            |
| 1015 | 
                + "321300": "宿迁市"  | 
            |
| 1016 | 
                + },  | 
            |
| 1017 | 
                +  "320100": {
               | 
            |
| 1018 | 
                + "320102": "玄武区",  | 
            |
| 1019 | 
                + "320104": "秦淮区",  | 
            |
| 1020 | 
                + "320105": "建邺区",  | 
            |
| 1021 | 
                + "320106": "鼓楼区",  | 
            |
| 1022 | 
                + "320111": "浦口区",  | 
            |
| 1023 | 
                + "320113": "栖霞区",  | 
            |
| 1024 | 
                + "320114": "雨花台区",  | 
            |
| 1025 | 
                + "320115": "江宁区",  | 
            |
| 1026 | 
                + "320116": "六合区",  | 
            |
| 1027 | 
                + "320117": "溧水区",  | 
            |
| 1028 | 
                + "320118": "高淳区"  | 
            |
| 1029 | 
                + },  | 
            |
| 1030 | 
                +  "320200": {
               | 
            |
| 1031 | 
                + "320205": "锡山区",  | 
            |
| 1032 | 
                + "320206": "惠山区",  | 
            |
| 1033 | 
                + "320211": "滨湖区",  | 
            |
| 1034 | 
                + "320213": "梁溪区",  | 
            |
| 1035 | 
                + "320214": "新吴区",  | 
            |
| 1036 | 
                + "320281": "江阴市",  | 
            |
| 1037 | 
                + "320282": "宜兴市"  | 
            |
| 1038 | 
                + },  | 
            |
| 1039 | 
                +  "320300": {
               | 
            |
| 1040 | 
                + "320302": "鼓楼区",  | 
            |
| 1041 | 
                + "320303": "云龙区",  | 
            |
| 1042 | 
                + "320305": "贾汪区",  | 
            |
| 1043 | 
                + "320311": "泉山区",  | 
            |
| 1044 | 
                + "320312": "铜山区",  | 
            |
| 1045 | 
                + "320321": "丰县",  | 
            |
| 1046 | 
                + "320322": "沛县",  | 
            |
| 1047 | 
                + "320324": "睢宁县",  | 
            |
| 1048 | 
                + "320381": "新沂市",  | 
            |
| 1049 | 
                + "320382": "邳州市"  | 
            |
| 1050 | 
                + },  | 
            |
| 1051 | 
                +  "320400": {
               | 
            |
| 1052 | 
                + "320402": "天宁区",  | 
            |
| 1053 | 
                + "320404": "钟楼区",  | 
            |
| 1054 | 
                + "320411": "新北区",  | 
            |
| 1055 | 
                + "320412": "武进区",  | 
            |
| 1056 | 
                + "320413": "金坛区",  | 
            |
| 1057 | 
                + "320481": "溧阳市"  | 
            |
| 1058 | 
                + },  | 
            |
| 1059 | 
                +  "320500": {
               | 
            |
| 1060 | 
                + "320505": "虎丘区",  | 
            |
| 1061 | 
                + "320506": "吴中区",  | 
            |
| 1062 | 
                + "320507": "相城区",  | 
            |
| 1063 | 
                + "320508": "姑苏区",  | 
            |
| 1064 | 
                + "320509": "吴江区",  | 
            |
| 1065 | 
                + "320581": "常熟市",  | 
            |
| 1066 | 
                + "320582": "张家港市",  | 
            |
| 1067 | 
                + "320583": "昆山市",  | 
            |
| 1068 | 
                + "320585": "太仓市"  | 
            |
| 1069 | 
                + },  | 
            |
| 1070 | 
                +  "320600": {
               | 
            |
| 1071 | 
                + "320602": "崇川区",  | 
            |
| 1072 | 
                + "320611": "港闸区",  | 
            |
| 1073 | 
                + "320612": "通州区",  | 
            |
| 1074 | 
                + "320621": "海安县",  | 
            |
| 1075 | 
                + "320623": "如东县",  | 
            |
| 1076 | 
                + "320681": "启东市",  | 
            |
| 1077 | 
                + "320682": "如皋市",  | 
            |
| 1078 | 
                + "320684": "海门市"  | 
            |
| 1079 | 
                + },  | 
            |
| 1080 | 
                +  "320700": {
               | 
            |
| 1081 | 
                + "320703": "连云区",  | 
            |
| 1082 | 
                + "320706": "海州区",  | 
            |
| 1083 | 
                + "320707": "赣榆区",  | 
            |
| 1084 | 
                + "320722": "东海县",  | 
            |
| 1085 | 
                + "320723": "灌云县",  | 
            |
| 1086 | 
                + "320724": "灌南县"  | 
            |
| 1087 | 
                + },  | 
            |
| 1088 | 
                +  "320800": {
               | 
            |
| 1089 | 
                + "320803": "淮安区",  | 
            |
| 1090 | 
                + "320804": "淮阴区",  | 
            |
| 1091 | 
                + "320812": "清江浦区",  | 
            |
| 1092 | 
                + "320813": "洪泽区",  | 
            |
| 1093 | 
                + "320826": "涟水县",  | 
            |
| 1094 | 
                + "320830": "盱眙县",  | 
            |
| 1095 | 
                + "320831": "金湖县"  | 
            |
| 1096 | 
                + },  | 
            |
| 1097 | 
                +  "320900": {
               | 
            |
| 1098 | 
                + "320902": "亭湖区",  | 
            |
| 1099 | 
                + "320903": "盐都区",  | 
            |
| 1100 | 
                + "320904": "大丰区",  | 
            |
| 1101 | 
                + "320921": "响水县",  | 
            |
| 1102 | 
                + "320922": "滨海县",  | 
            |
| 1103 | 
                + "320923": "阜宁县",  | 
            |
| 1104 | 
                + "320924": "射阳县",  | 
            |
| 1105 | 
                + "320925": "建湖县",  | 
            |
| 1106 | 
                + "320981": "东台市"  | 
            |
| 1107 | 
                + },  | 
            |
| 1108 | 
                +  "321000": {
               | 
            |
| 1109 | 
                + "321002": "广陵区",  | 
            |
| 1110 | 
                + "321003": "邗江区",  | 
            |
| 1111 | 
                + "321012": "江都区",  | 
            |
| 1112 | 
                + "321023": "宝应县",  | 
            |
| 1113 | 
                + "321081": "仪征市",  | 
            |
| 1114 | 
                + "321084": "高邮市"  | 
            |
| 1115 | 
                + },  | 
            |
| 1116 | 
                +  "321100": {
               | 
            |
| 1117 | 
                + "321102": "京口区",  | 
            |
| 1118 | 
                + "321111": "润州区",  | 
            |
| 1119 | 
                + "321112": "丹徒区",  | 
            |
| 1120 | 
                + "321181": "丹阳市",  | 
            |
| 1121 | 
                + "321182": "扬中市",  | 
            |
| 1122 | 
                + "321183": "句容市"  | 
            |
| 1123 | 
                + },  | 
            |
| 1124 | 
                +  "321200": {
               | 
            |
| 1125 | 
                + "321202": "海陵区",  | 
            |
| 1126 | 
                + "321203": "高港区",  | 
            |
| 1127 | 
                + "321204": "姜堰区",  | 
            |
| 1128 | 
                + "321281": "兴化市",  | 
            |
| 1129 | 
                + "321282": "靖江市",  | 
            |
| 1130 | 
                + "321283": "泰兴市"  | 
            |
| 1131 | 
                + },  | 
            |
| 1132 | 
                +  "321300": {
               | 
            |
| 1133 | 
                + "321302": "宿城区",  | 
            |
| 1134 | 
                + "321311": "宿豫区",  | 
            |
| 1135 | 
                + "321322": "沭阳县",  | 
            |
| 1136 | 
                + "321323": "泗阳县",  | 
            |
| 1137 | 
                + "321324": "泗洪县"  | 
            |
| 1138 | 
                + },  | 
            |
| 1139 | 
                +  "330000": {
               | 
            |
| 1140 | 
                + "330100": "杭州市",  | 
            |
| 1141 | 
                + "330200": "宁波市",  | 
            |
| 1142 | 
                + "330300": "温州市",  | 
            |
| 1143 | 
                + "330400": "嘉兴市",  | 
            |
| 1144 | 
                + "330500": "湖州市",  | 
            |
| 1145 | 
                + "330600": "绍兴市",  | 
            |
| 1146 | 
                + "330700": "金华市",  | 
            |
| 1147 | 
                + "330800": "衢州市",  | 
            |
| 1148 | 
                + "330900": "舟山市",  | 
            |
| 1149 | 
                + "331000": "台州市",  | 
            |
| 1150 | 
                + "331100": "丽水市"  | 
            |
| 1151 | 
                + },  | 
            |
| 1152 | 
                +  "330100": {
               | 
            |
| 1153 | 
                + "330102": "上城区",  | 
            |
| 1154 | 
                + "330103": "下城区",  | 
            |
| 1155 | 
                + "330104": "江干区",  | 
            |
| 1156 | 
                + "330105": "拱墅区",  | 
            |
| 1157 | 
                + "330106": "西湖区",  | 
            |
| 1158 | 
                + "330108": "滨江区",  | 
            |
| 1159 | 
                + "330109": "萧山区",  | 
            |
| 1160 | 
                + "330110": "余杭区",  | 
            |
| 1161 | 
                + "330111": "富阳区",  | 
            |
| 1162 | 
                + "330122": "桐庐县",  | 
            |
| 1163 | 
                + "330127": "淳安县",  | 
            |
| 1164 | 
                + "330182": "建德市",  | 
            |
| 1165 | 
                + "330185": "临安市"  | 
            |
| 1166 | 
                + },  | 
            |
| 1167 | 
                +  "330200": {
               | 
            |
| 1168 | 
                + "330203": "海曙区",  | 
            |
| 1169 | 
                + "330204": "江东区",  | 
            |
| 1170 | 
                + "330205": "江北区",  | 
            |
| 1171 | 
                + "330206": "北仑区",  | 
            |
| 1172 | 
                + "330211": "镇海区",  | 
            |
| 1173 | 
                + "330212": "鄞州区",  | 
            |
| 1174 | 
                + "330225": "象山县",  | 
            |
| 1175 | 
                + "330226": "宁海县",  | 
            |
| 1176 | 
                + "330281": "余姚市",  | 
            |
| 1177 | 
                + "330282": "慈溪市",  | 
            |
| 1178 | 
                + "330283": "奉化市"  | 
            |
| 1179 | 
                + },  | 
            |
| 1180 | 
                +  "330300": {
               | 
            |
| 1181 | 
                + "330302": "鹿城区",  | 
            |
| 1182 | 
                + "330303": "龙湾区",  | 
            |
| 1183 | 
                + "330304": "瓯海区",  | 
            |
| 1184 | 
                + "330305": "洞头区",  | 
            |
| 1185 | 
                + "330324": "永嘉县",  | 
            |
| 1186 | 
                + "330326": "平阳县",  | 
            |
| 1187 | 
                + "330327": "苍南县",  | 
            |
| 1188 | 
                + "330328": "文成县",  | 
            |
| 1189 | 
                + "330329": "泰顺县",  | 
            |
| 1190 | 
                + "330381": "瑞安市",  | 
            |
| 1191 | 
                + "330382": "乐清市"  | 
            |
| 1192 | 
                + },  | 
            |
| 1193 | 
                +  "330400": {
               | 
            |
| 1194 | 
                + "330402": "南湖区",  | 
            |
| 1195 | 
                + "330411": "秀洲区",  | 
            |
| 1196 | 
                + "330421": "嘉善县",  | 
            |
| 1197 | 
                + "330424": "海盐县",  | 
            |
| 1198 | 
                + "330481": "海宁市",  | 
            |
| 1199 | 
                + "330482": "平湖市",  | 
            |
| 1200 | 
                + "330483": "桐乡市"  | 
            |
| 1201 | 
                + },  | 
            |
| 1202 | 
                +  "330500": {
               | 
            |
| 1203 | 
                + "330502": "吴兴区",  | 
            |
| 1204 | 
                + "330503": "南浔区",  | 
            |
| 1205 | 
                + "330521": "德清县",  | 
            |
| 1206 | 
                + "330522": "长兴县",  | 
            |
| 1207 | 
                + "330523": "安吉县"  | 
            |
| 1208 | 
                + },  | 
            |
| 1209 | 
                +  "330600": {
               | 
            |
| 1210 | 
                + "330602": "越城区",  | 
            |
| 1211 | 
                + "330603": "柯桥区",  | 
            |
| 1212 | 
                + "330604": "上虞区",  | 
            |
| 1213 | 
                + "330624": "新昌县",  | 
            |
| 1214 | 
                + "330681": "诸暨市",  | 
            |
| 1215 | 
                + "330683": "嵊州市"  | 
            |
| 1216 | 
                + },  | 
            |
| 1217 | 
                +  "330700": {
               | 
            |
| 1218 | 
                + "330702": "婺城区",  | 
            |
| 1219 | 
                + "330703": "金东区",  | 
            |
| 1220 | 
                + "330723": "武义县",  | 
            |
| 1221 | 
                + "330726": "浦江县",  | 
            |
| 1222 | 
                + "330727": "磐安县",  | 
            |
| 1223 | 
                + "330781": "兰溪市",  | 
            |
| 1224 | 
                + "330782": "义乌市",  | 
            |
| 1225 | 
                + "330783": "东阳市",  | 
            |
| 1226 | 
                + "330784": "永康市"  | 
            |
| 1227 | 
                + },  | 
            |
| 1228 | 
                +  "330800": {
               | 
            |
| 1229 | 
                + "330802": "柯城区",  | 
            |
| 1230 | 
                + "330803": "衢江区",  | 
            |
| 1231 | 
                + "330822": "常山县",  | 
            |
| 1232 | 
                + "330824": "开化县",  | 
            |
| 1233 | 
                + "330825": "龙游县",  | 
            |
| 1234 | 
                + "330881": "江山市"  | 
            |
| 1235 | 
                + },  | 
            |
| 1236 | 
                +  "330900": {
               | 
            |
| 1237 | 
                + "330902": "定海区",  | 
            |
| 1238 | 
                + "330903": "普陀区",  | 
            |
| 1239 | 
                + "330921": "岱山县",  | 
            |
| 1240 | 
                + "330922": "嵊泗县"  | 
            |
| 1241 | 
                + },  | 
            |
| 1242 | 
                +  "331000": {
               | 
            |
| 1243 | 
                + "331002": "椒江区",  | 
            |
| 1244 | 
                + "331003": "黄岩区",  | 
            |
| 1245 | 
                + "331004": "路桥区",  | 
            |
| 1246 | 
                + "331021": "玉环县",  | 
            |
| 1247 | 
                + "331022": "三门县",  | 
            |
| 1248 | 
                + "331023": "天台县",  | 
            |
| 1249 | 
                + "331024": "仙居县",  | 
            |
| 1250 | 
                + "331081": "温岭市",  | 
            |
| 1251 | 
                + "331082": "临海市"  | 
            |
| 1252 | 
                + },  | 
            |
| 1253 | 
                +  "331100": {
               | 
            |
| 1254 | 
                + "331102": "莲都区",  | 
            |
| 1255 | 
                + "331121": "青田县",  | 
            |
| 1256 | 
                + "331122": "缙云县",  | 
            |
| 1257 | 
                + "331123": "遂昌县",  | 
            |
| 1258 | 
                + "331124": "松阳县",  | 
            |
| 1259 | 
                + "331125": "云和县",  | 
            |
| 1260 | 
                + "331126": "庆元县",  | 
            |
| 1261 | 
                + "331127": "景宁畲族自治县",  | 
            |
| 1262 | 
                + "331181": "龙泉市"  | 
            |
| 1263 | 
                + },  | 
            |
| 1264 | 
                +  "340000": {
               | 
            |
| 1265 | 
                + "340100": "合肥市",  | 
            |
| 1266 | 
                + "340200": "芜湖市",  | 
            |
| 1267 | 
                + "340300": "蚌埠市",  | 
            |
| 1268 | 
                + "340400": "淮南市",  | 
            |
| 1269 | 
                + "340500": "马鞍山市",  | 
            |
| 1270 | 
                + "340600": "淮北市",  | 
            |
| 1271 | 
                + "340700": "铜陵市",  | 
            |
| 1272 | 
                + "340800": "安庆市",  | 
            |
| 1273 | 
                + "341000": "黄山市",  | 
            |
| 1274 | 
                + "341100": "滁州市",  | 
            |
| 1275 | 
                + "341200": "阜阳市",  | 
            |
| 1276 | 
                + "341300": "宿州市",  | 
            |
| 1277 | 
                + "341500": "六安市",  | 
            |
| 1278 | 
                + "341600": "亳州市",  | 
            |
| 1279 | 
                + "341700": "池州市",  | 
            |
| 1280 | 
                + "341800": "宣城市"  | 
            |
| 1281 | 
                + },  | 
            |
| 1282 | 
                +  "340100": {
               | 
            |
| 1283 | 
                + "340102": "瑶海区",  | 
            |
| 1284 | 
                + "340103": "庐阳区",  | 
            |
| 1285 | 
                + "340104": "蜀山区",  | 
            |
| 1286 | 
                + "340111": "包河区",  | 
            |
| 1287 | 
                + "340121": "长丰县",  | 
            |
| 1288 | 
                + "340122": "肥东县",  | 
            |
| 1289 | 
                + "340123": "肥西县",  | 
            |
| 1290 | 
                + "340124": "庐江县",  | 
            |
| 1291 | 
                + "340181": "巢湖市"  | 
            |
| 1292 | 
                + },  | 
            |
| 1293 | 
                +  "340200": {
               | 
            |
| 1294 | 
                + "340202": "镜湖区",  | 
            |
| 1295 | 
                + "340203": "弋江区",  | 
            |
| 1296 | 
                + "340207": "鸠江区",  | 
            |
| 1297 | 
                + "340208": "三山区",  | 
            |
| 1298 | 
                + "340221": "芜湖县",  | 
            |
| 1299 | 
                + "340222": "繁昌县",  | 
            |
| 1300 | 
                + "340223": "南陵县",  | 
            |
| 1301 | 
                + "340225": "无为县"  | 
            |
| 1302 | 
                + },  | 
            |
| 1303 | 
                +  "340300": {
               | 
            |
| 1304 | 
                + "340302": "龙子湖区",  | 
            |
| 1305 | 
                + "340303": "蚌山区",  | 
            |
| 1306 | 
                + "340304": "禹会区",  | 
            |
| 1307 | 
                + "340311": "淮上区",  | 
            |
| 1308 | 
                + "340321": "怀远县",  | 
            |
| 1309 | 
                + "340322": "五河县",  | 
            |
| 1310 | 
                + "340323": "固镇县"  | 
            |
| 1311 | 
                + },  | 
            |
| 1312 | 
                +  "340400": {
               | 
            |
| 1313 | 
                + "340402": "大通区",  | 
            |
| 1314 | 
                + "340403": "田家庵区",  | 
            |
| 1315 | 
                + "340404": "谢家集区",  | 
            |
| 1316 | 
                + "340405": "八公山区",  | 
            |
| 1317 | 
                + "340406": "潘集区",  | 
            |
| 1318 | 
                + "340421": "凤台县",  | 
            |
| 1319 | 
                + "340422": "寿县"  | 
            |
| 1320 | 
                + },  | 
            |
| 1321 | 
                +  "340500": {
               | 
            |
| 1322 | 
                + "340503": "花山区",  | 
            |
| 1323 | 
                + "340504": "雨山区",  | 
            |
| 1324 | 
                + "340506": "博望区",  | 
            |
| 1325 | 
                + "340521": "当涂县",  | 
            |
| 1326 | 
                + "340522": "含山县",  | 
            |
| 1327 | 
                + "340523": "和县"  | 
            |
| 1328 | 
                + },  | 
            |
| 1329 | 
                +  "340600": {
               | 
            |
| 1330 | 
                + "340602": "杜集区",  | 
            |
| 1331 | 
                + "340603": "相山区",  | 
            |
| 1332 | 
                + "340604": "烈山区",  | 
            |
| 1333 | 
                + "340621": "濉溪县"  | 
            |
| 1334 | 
                + },  | 
            |
| 1335 | 
                +  "340700": {
               | 
            |
| 1336 | 
                + "340705": "铜官区",  | 
            |
| 1337 | 
                + "340706": "义安区",  | 
            |
| 1338 | 
                + "340711": "郊区",  | 
            |
| 1339 | 
                + "340722": "枞阳县"  | 
            |
| 1340 | 
                + },  | 
            |
| 1341 | 
                +  "340800": {
               | 
            |
| 1342 | 
                + "340802": "迎江区",  | 
            |
| 1343 | 
                + "340803": "大观区",  | 
            |
| 1344 | 
                + "340811": "宜秀区",  | 
            |
| 1345 | 
                + "340822": "怀宁县",  | 
            |
| 1346 | 
                + "340824": "潜山县",  | 
            |
| 1347 | 
                + "340825": "太湖县",  | 
            |
| 1348 | 
                + "340826": "宿松县",  | 
            |
| 1349 | 
                + "340827": "望江县",  | 
            |
| 1350 | 
                + "340828": "岳西县",  | 
            |
| 1351 | 
                + "340881": "桐城市"  | 
            |
| 1352 | 
                + },  | 
            |
| 1353 | 
                +  "341000": {
               | 
            |
| 1354 | 
                + "341002": "屯溪区",  | 
            |
| 1355 | 
                + "341003": "黄山区",  | 
            |
| 1356 | 
                + "341004": "徽州区",  | 
            |
| 1357 | 
                + "341021": "歙县",  | 
            |
| 1358 | 
                + "341022": "休宁县",  | 
            |
| 1359 | 
                + "341023": "黟县",  | 
            |
| 1360 | 
                + "341024": "祁门县"  | 
            |
| 1361 | 
                + },  | 
            |
| 1362 | 
                +  "341100": {
               | 
            |
| 1363 | 
                + "341102": "琅琊区",  | 
            |
| 1364 | 
                + "341103": "南谯区",  | 
            |
| 1365 | 
                + "341122": "来安县",  | 
            |
| 1366 | 
                + "341124": "全椒县",  | 
            |
| 1367 | 
                + "341125": "定远县",  | 
            |
| 1368 | 
                + "341126": "凤阳县",  | 
            |
| 1369 | 
                + "341181": "天长市",  | 
            |
| 1370 | 
                + "341182": "明光市"  | 
            |
| 1371 | 
                + },  | 
            |
| 1372 | 
                +  "341200": {
               | 
            |
| 1373 | 
                + "341202": "颍州区",  | 
            |
| 1374 | 
                + "341203": "颍东区",  | 
            |
| 1375 | 
                + "341204": "颍泉区",  | 
            |
| 1376 | 
                + "341221": "临泉县",  | 
            |
| 1377 | 
                + "341222": "太和县",  | 
            |
| 1378 | 
                + "341225": "阜南县",  | 
            |
| 1379 | 
                + "341226": "颍上县",  | 
            |
| 1380 | 
                + "341282": "界首市"  | 
            |
| 1381 | 
                + },  | 
            |
| 1382 | 
                +  "341300": {
               | 
            |
| 1383 | 
                + "341302": "埇桥区",  | 
            |
| 1384 | 
                + "341321": "砀山县",  | 
            |
| 1385 | 
                + "341322": "萧县",  | 
            |
| 1386 | 
                + "341323": "灵璧县",  | 
            |
| 1387 | 
                + "341324": "泗县"  | 
            |
| 1388 | 
                + },  | 
            |
| 1389 | 
                +  "341500": {
               | 
            |
| 1390 | 
                + "341502": "金安区",  | 
            |
| 1391 | 
                + "341503": "裕安区",  | 
            |
| 1392 | 
                + "341504": "叶集区",  | 
            |
| 1393 | 
                + "341522": "霍邱县",  | 
            |
| 1394 | 
                + "341523": "舒城县",  | 
            |
| 1395 | 
                + "341524": "金寨县",  | 
            |
| 1396 | 
                + "341525": "霍山县"  | 
            |
| 1397 | 
                + },  | 
            |
| 1398 | 
                +  "341600": {
               | 
            |
| 1399 | 
                + "341602": "谯城区",  | 
            |
| 1400 | 
                + "341621": "涡阳县",  | 
            |
| 1401 | 
                + "341622": "蒙城县",  | 
            |
| 1402 | 
                + "341623": "利辛县"  | 
            |
| 1403 | 
                + },  | 
            |
| 1404 | 
                +  "341700": {
               | 
            |
| 1405 | 
                + "341702": "贵池区",  | 
            |
| 1406 | 
                + "341721": "东至县",  | 
            |
| 1407 | 
                + "341722": "石台县",  | 
            |
| 1408 | 
                + "341723": "青阳县"  | 
            |
| 1409 | 
                + },  | 
            |
| 1410 | 
                +  "341800": {
               | 
            |
| 1411 | 
                + "341802": "宣州区",  | 
            |
| 1412 | 
                + "341821": "郎溪县",  | 
            |
| 1413 | 
                + "341822": "广德县",  | 
            |
| 1414 | 
                + "341823": "泾县",  | 
            |
| 1415 | 
                + "341824": "绩溪县",  | 
            |
| 1416 | 
                + "341825": "旌德县",  | 
            |
| 1417 | 
                + "341881": "宁国市"  | 
            |
| 1418 | 
                + },  | 
            |
| 1419 | 
                +  "350000": {
               | 
            |
| 1420 | 
                + "350100": "福州市",  | 
            |
| 1421 | 
                + "350200": "厦门市",  | 
            |
| 1422 | 
                + "350300": "莆田市",  | 
            |
| 1423 | 
                + "350400": "三明市",  | 
            |
| 1424 | 
                + "350500": "泉州市",  | 
            |
| 1425 | 
                + "350600": "漳州市",  | 
            |
| 1426 | 
                + "350700": "南平市",  | 
            |
| 1427 | 
                + "350800": "龙岩市",  | 
            |
| 1428 | 
                + "350900": "宁德市"  | 
            |
| 1429 | 
                + },  | 
            |
| 1430 | 
                +  "350100": {
               | 
            |
| 1431 | 
                + "350102": "鼓楼区",  | 
            |
| 1432 | 
                + "350103": "台江区",  | 
            |
| 1433 | 
                + "350104": "仓山区",  | 
            |
| 1434 | 
                + "350105": "马尾区",  | 
            |
| 1435 | 
                + "350111": "晋安区",  | 
            |
| 1436 | 
                + "350121": "闽侯县",  | 
            |
| 1437 | 
                + "350122": "连江县",  | 
            |
| 1438 | 
                + "350123": "罗源县",  | 
            |
| 1439 | 
                + "350124": "闽清县",  | 
            |
| 1440 | 
                + "350125": "永泰县",  | 
            |
| 1441 | 
                + "350128": "平潭县",  | 
            |
| 1442 | 
                + "350181": "福清市",  | 
            |
| 1443 | 
                + "350182": "长乐市"  | 
            |
| 1444 | 
                + },  | 
            |
| 1445 | 
                +  "350200": {
               | 
            |
| 1446 | 
                + "350203": "思明区",  | 
            |
| 1447 | 
                + "350205": "海沧区",  | 
            |
| 1448 | 
                + "350206": "湖里区",  | 
            |
| 1449 | 
                + "350211": "集美区",  | 
            |
| 1450 | 
                + "350212": "同安区",  | 
            |
| 1451 | 
                + "350213": "翔安区"  | 
            |
| 1452 | 
                + },  | 
            |
| 1453 | 
                +  "350300": {
               | 
            |
| 1454 | 
                + "350302": "城厢区",  | 
            |
| 1455 | 
                + "350303": "涵江区",  | 
            |
| 1456 | 
                + "350304": "荔城区",  | 
            |
| 1457 | 
                + "350305": "秀屿区",  | 
            |
| 1458 | 
                + "350322": "仙游县"  | 
            |
| 1459 | 
                + },  | 
            |
| 1460 | 
                +  "350400": {
               | 
            |
| 1461 | 
                + "350402": "梅列区",  | 
            |
| 1462 | 
                + "350403": "三元区",  | 
            |
| 1463 | 
                + "350421": "明溪县",  | 
            |
| 1464 | 
                + "350423": "清流县",  | 
            |
| 1465 | 
                + "350424": "宁化县",  | 
            |
| 1466 | 
                + "350425": "大田县",  | 
            |
| 1467 | 
                + "350426": "尤溪县",  | 
            |
| 1468 | 
                + "350427": "沙县",  | 
            |
| 1469 | 
                + "350428": "将乐县",  | 
            |
| 1470 | 
                + "350429": "泰宁县",  | 
            |
| 1471 | 
                + "350430": "建宁县",  | 
            |
| 1472 | 
                + "350481": "永安市"  | 
            |
| 1473 | 
                + },  | 
            |
| 1474 | 
                +  "350500": {
               | 
            |
| 1475 | 
                + "350502": "鲤城区",  | 
            |
| 1476 | 
                + "350503": "丰泽区",  | 
            |
| 1477 | 
                + "350504": "洛江区",  | 
            |
| 1478 | 
                + "350505": "泉港区",  | 
            |
| 1479 | 
                + "350521": "惠安县",  | 
            |
| 1480 | 
                + "350524": "安溪县",  | 
            |
| 1481 | 
                + "350525": "永春县",  | 
            |
| 1482 | 
                + "350526": "德化县",  | 
            |
| 1483 | 
                + "350527": "金门县",  | 
            |
| 1484 | 
                + "350581": "石狮市",  | 
            |
| 1485 | 
                + "350582": "晋江市",  | 
            |
| 1486 | 
                + "350583": "南安市"  | 
            |
| 1487 | 
                + },  | 
            |
| 1488 | 
                +  "350600": {
               | 
            |
| 1489 | 
                + "350602": "芗城区",  | 
            |
| 1490 | 
                + "350603": "龙文区",  | 
            |
| 1491 | 
                + "350622": "云霄县",  | 
            |
| 1492 | 
                + "350623": "漳浦县",  | 
            |
| 1493 | 
                + "350624": "诏安县",  | 
            |
| 1494 | 
                + "350625": "长泰县",  | 
            |
| 1495 | 
                + "350626": "东山县",  | 
            |
| 1496 | 
                + "350627": "南靖县",  | 
            |
| 1497 | 
                + "350628": "平和县",  | 
            |
| 1498 | 
                + "350629": "华安县",  | 
            |
| 1499 | 
                + "350681": "龙海市"  | 
            |
| 1500 | 
                + },  | 
            |
| 1501 | 
                +  "350700": {
               | 
            |
| 1502 | 
                + "350702": "延平区",  | 
            |
| 1503 | 
                + "350703": "建阳区",  | 
            |
| 1504 | 
                + "350721": "顺昌县",  | 
            |
| 1505 | 
                + "350722": "浦城县",  | 
            |
| 1506 | 
                + "350723": "光泽县",  | 
            |
| 1507 | 
                + "350724": "松溪县",  | 
            |
| 1508 | 
                + "350725": "政和县",  | 
            |
| 1509 | 
                + "350781": "邵武市",  | 
            |
| 1510 | 
                + "350782": "武夷山市",  | 
            |
| 1511 | 
                + "350783": "建瓯市"  | 
            |
| 1512 | 
                + },  | 
            |
| 1513 | 
                +  "350800": {
               | 
            |
| 1514 | 
                + "350802": "新罗区",  | 
            |
| 1515 | 
                + "350803": "永定区",  | 
            |
| 1516 | 
                + "350821": "长汀县",  | 
            |
| 1517 | 
                + "350823": "上杭县",  | 
            |
| 1518 | 
                + "350824": "武平县",  | 
            |
| 1519 | 
                + "350825": "连城县",  | 
            |
| 1520 | 
                + "350881": "漳平市"  | 
            |
| 1521 | 
                + },  | 
            |
| 1522 | 
                +  "350900": {
               | 
            |
| 1523 | 
                + "350902": "蕉城区",  | 
            |
| 1524 | 
                + "350921": "霞浦县",  | 
            |
| 1525 | 
                + "350922": "古田县",  | 
            |
| 1526 | 
                + "350923": "屏南县",  | 
            |
| 1527 | 
                + "350924": "寿宁县",  | 
            |
| 1528 | 
                + "350925": "周宁县",  | 
            |
| 1529 | 
                + "350926": "柘荣县",  | 
            |
| 1530 | 
                + "350981": "福安市",  | 
            |
| 1531 | 
                + "350982": "福鼎市"  | 
            |
| 1532 | 
                + },  | 
            |
| 1533 | 
                +  "360000": {
               | 
            |
| 1534 | 
                + "360100": "南昌市",  | 
            |
| 1535 | 
                + "360200": "景德镇市",  | 
            |
| 1536 | 
                + "360300": "萍乡市",  | 
            |
| 1537 | 
                + "360400": "九江市",  | 
            |
| 1538 | 
                + "360500": "新余市",  | 
            |
| 1539 | 
                + "360600": "鹰潭市",  | 
            |
| 1540 | 
                + "360700": "赣州市",  | 
            |
| 1541 | 
                + "360800": "吉安市",  | 
            |
| 1542 | 
                + "360900": "宜春市",  | 
            |
| 1543 | 
                + "361000": "抚州市",  | 
            |
| 1544 | 
                + "361100": "上饶市"  | 
            |
| 1545 | 
                + },  | 
            |
| 1546 | 
                +  "360100": {
               | 
            |
| 1547 | 
                + "360102": "东湖区",  | 
            |
| 1548 | 
                + "360103": "西湖区",  | 
            |
| 1549 | 
                + "360104": "青云谱区",  | 
            |
| 1550 | 
                + "360105": "湾里区",  | 
            |
| 1551 | 
                + "360111": "青山湖区",  | 
            |
| 1552 | 
                + "360112": "新建区",  | 
            |
| 1553 | 
                + "360121": "南昌县",  | 
            |
| 1554 | 
                + "360123": "安义县",  | 
            |
| 1555 | 
                + "360124": "进贤县"  | 
            |
| 1556 | 
                + },  | 
            |
| 1557 | 
                +  "360200": {
               | 
            |
| 1558 | 
                + "360202": "昌江区",  | 
            |
| 1559 | 
                + "360203": "珠山区",  | 
            |
| 1560 | 
                + "360222": "浮梁县",  | 
            |
| 1561 | 
                + "360281": "乐平市"  | 
            |
| 1562 | 
                + },  | 
            |
| 1563 | 
                +  "360300": {
               | 
            |
| 1564 | 
                + "360302": "安源区",  | 
            |
| 1565 | 
                + "360313": "湘东区",  | 
            |
| 1566 | 
                + "360321": "莲花县",  | 
            |
| 1567 | 
                + "360322": "上栗县",  | 
            |
| 1568 | 
                + "360323": "芦溪县"  | 
            |
| 1569 | 
                + },  | 
            |
| 1570 | 
                +  "360400": {
               | 
            |
| 1571 | 
                + "360402": "濂溪区",  | 
            |
| 1572 | 
                + "360403": "浔阳区",  | 
            |
| 1573 | 
                + "360421": "九江县",  | 
            |
| 1574 | 
                + "360423": "武宁县",  | 
            |
| 1575 | 
                + "360424": "修水县",  | 
            |
| 1576 | 
                + "360425": "永修县",  | 
            |
| 1577 | 
                + "360426": "德安县",  | 
            |
| 1578 | 
                + "360428": "都昌县",  | 
            |
| 1579 | 
                + "360429": "湖口县",  | 
            |
| 1580 | 
                + "360430": "彭泽县",  | 
            |
| 1581 | 
                + "360481": "瑞昌市",  | 
            |
| 1582 | 
                + "360482": "共青城市",  | 
            |
| 1583 | 
                + "360483": "庐山市"  | 
            |
| 1584 | 
                + },  | 
            |
| 1585 | 
                +  "360500": {
               | 
            |
| 1586 | 
                + "360502": "渝水区",  | 
            |
| 1587 | 
                + "360521": "分宜县"  | 
            |
| 1588 | 
                + },  | 
            |
| 1589 | 
                +  "360600": {
               | 
            |
| 1590 | 
                + "360602": "月湖区",  | 
            |
| 1591 | 
                + "360622": "余江县",  | 
            |
| 1592 | 
                + "360681": "贵溪市"  | 
            |
| 1593 | 
                + },  | 
            |
| 1594 | 
                +  "360700": {
               | 
            |
| 1595 | 
                + "360702": "章贡区",  | 
            |
| 1596 | 
                + "360703": "南康区",  | 
            |
| 1597 | 
                + "360721": "赣县",  | 
            |
| 1598 | 
                + "360722": "信丰县",  | 
            |
| 1599 | 
                + "360723": "大余县",  | 
            |
| 1600 | 
                + "360724": "上犹县",  | 
            |
| 1601 | 
                + "360725": "崇义县",  | 
            |
| 1602 | 
                + "360726": "安远县",  | 
            |
| 1603 | 
                + "360727": "龙南县",  | 
            |
| 1604 | 
                + "360728": "定南县",  | 
            |
| 1605 | 
                + "360729": "全南县",  | 
            |
| 1606 | 
                + "360730": "宁都县",  | 
            |
| 1607 | 
                + "360731": "于都县",  | 
            |
| 1608 | 
                + "360732": "兴国县",  | 
            |
| 1609 | 
                + "360733": "会昌县",  | 
            |
| 1610 | 
                + "360734": "寻乌县",  | 
            |
| 1611 | 
                + "360735": "石城县",  | 
            |
| 1612 | 
                + "360781": "瑞金市"  | 
            |
| 1613 | 
                + },  | 
            |
| 1614 | 
                +  "360800": {
               | 
            |
| 1615 | 
                + "360802": "吉州区",  | 
            |
| 1616 | 
                + "360803": "青原区",  | 
            |
| 1617 | 
                + "360821": "吉安县",  | 
            |
| 1618 | 
                + "360822": "吉水县",  | 
            |
| 1619 | 
                + "360823": "峡江县",  | 
            |
| 1620 | 
                + "360824": "新干县",  | 
            |
| 1621 | 
                + "360825": "永丰县",  | 
            |
| 1622 | 
                + "360826": "泰和县",  | 
            |
| 1623 | 
                + "360827": "遂川县",  | 
            |
| 1624 | 
                + "360828": "万安县",  | 
            |
| 1625 | 
                + "360829": "安福县",  | 
            |
| 1626 | 
                + "360830": "永新县",  | 
            |
| 1627 | 
                + "360881": "井冈山市"  | 
            |
| 1628 | 
                + },  | 
            |
| 1629 | 
                +  "360900": {
               | 
            |
| 1630 | 
                + "360902": "袁州区",  | 
            |
| 1631 | 
                + "360921": "奉新县",  | 
            |
| 1632 | 
                + "360922": "万载县",  | 
            |
| 1633 | 
                + "360923": "上高县",  | 
            |
| 1634 | 
                + "360924": "宜丰县",  | 
            |
| 1635 | 
                + "360925": "靖安县",  | 
            |
| 1636 | 
                + "360926": "铜鼓县",  | 
            |
| 1637 | 
                + "360981": "丰城市",  | 
            |
| 1638 | 
                + "360982": "樟树市",  | 
            |
| 1639 | 
                + "360983": "高安市"  | 
            |
| 1640 | 
                + },  | 
            |
| 1641 | 
                +  "361000": {
               | 
            |
| 1642 | 
                + "361002": "临川区",  | 
            |
| 1643 | 
                + "361021": "南城县",  | 
            |
| 1644 | 
                + "361022": "黎川县",  | 
            |
| 1645 | 
                + "361023": "南丰县",  | 
            |
| 1646 | 
                + "361024": "崇仁县",  | 
            |
| 1647 | 
                + "361025": "乐安县",  | 
            |
| 1648 | 
                + "361026": "宜黄县",  | 
            |
| 1649 | 
                + "361027": "金溪县",  | 
            |
| 1650 | 
                + "361028": "资溪县",  | 
            |
| 1651 | 
                + "361029": "东乡县",  | 
            |
| 1652 | 
                + "361030": "广昌县"  | 
            |
| 1653 | 
                + },  | 
            |
| 1654 | 
                +  "361100": {
               | 
            |
| 1655 | 
                + "361102": "信州区",  | 
            |
| 1656 | 
                + "361103": "广丰区",  | 
            |
| 1657 | 
                + "361121": "上饶县",  | 
            |
| 1658 | 
                + "361123": "玉山县",  | 
            |
| 1659 | 
                + "361124": "铅山县",  | 
            |
| 1660 | 
                + "361125": "横峰县",  | 
            |
| 1661 | 
                + "361126": "弋阳县",  | 
            |
| 1662 | 
                + "361127": "余干县",  | 
            |
| 1663 | 
                + "361128": "鄱阳县",  | 
            |
| 1664 | 
                + "361129": "万年县",  | 
            |
| 1665 | 
                + "361130": "婺源县",  | 
            |
| 1666 | 
                + "361181": "德兴市"  | 
            |
| 1667 | 
                + },  | 
            |
| 1668 | 
                +  "370000": {
               | 
            |
| 1669 | 
                + "370100": "济南市",  | 
            |
| 1670 | 
                + "370200": "青岛市",  | 
            |
| 1671 | 
                + "370300": "淄博市",  | 
            |
| 1672 | 
                + "370400": "枣庄市",  | 
            |
| 1673 | 
                + "370500": "东营市",  | 
            |
| 1674 | 
                + "370600": "烟台市",  | 
            |
| 1675 | 
                + "370700": "潍坊市",  | 
            |
| 1676 | 
                + "370800": "济宁市",  | 
            |
| 1677 | 
                + "370900": "泰安市",  | 
            |
| 1678 | 
                + "371000": "威海市",  | 
            |
| 1679 | 
                + "371100": "日照市",  | 
            |
| 1680 | 
                + "371200": "莱芜市",  | 
            |
| 1681 | 
                + "371300": "临沂市",  | 
            |
| 1682 | 
                + "371400": "德州市",  | 
            |
| 1683 | 
                + "371500": "聊城市",  | 
            |
| 1684 | 
                + "371600": "滨州市",  | 
            |
| 1685 | 
                + "371700": "菏泽市"  | 
            |
| 1686 | 
                + },  | 
            |
| 1687 | 
                +  "370100": {
               | 
            |
| 1688 | 
                + "370102": "历下区",  | 
            |
| 1689 | 
                + "370103": "市中区",  | 
            |
| 1690 | 
                + "370104": "槐荫区",  | 
            |
| 1691 | 
                + "370105": "天桥区",  | 
            |
| 1692 | 
                + "370112": "历城区",  | 
            |
| 1693 | 
                + "370113": "长清区",  | 
            |
| 1694 | 
                + "370124": "平阴县",  | 
            |
| 1695 | 
                + "370125": "济阳县",  | 
            |
| 1696 | 
                + "370126": "商河县",  | 
            |
| 1697 | 
                + "370181": "章丘市"  | 
            |
| 1698 | 
                + },  | 
            |
| 1699 | 
                +  "370200": {
               | 
            |
| 1700 | 
                + "370202": "市南区",  | 
            |
| 1701 | 
                + "370203": "市北区",  | 
            |
| 1702 | 
                + "370211": "黄岛区",  | 
            |
| 1703 | 
                + "370212": "崂山区",  | 
            |
| 1704 | 
                + "370213": "李沧区",  | 
            |
| 1705 | 
                + "370214": "城阳区",  | 
            |
| 1706 | 
                + "370281": "胶州市",  | 
            |
| 1707 | 
                + "370282": "即墨市",  | 
            |
| 1708 | 
                + "370283": "平度市",  | 
            |
| 1709 | 
                + "370285": "莱西市"  | 
            |
| 1710 | 
                + },  | 
            |
| 1711 | 
                +  "370300": {
               | 
            |
| 1712 | 
                + "370302": "淄川区",  | 
            |
| 1713 | 
                + "370303": "张店区",  | 
            |
| 1714 | 
                + "370304": "博山区",  | 
            |
| 1715 | 
                + "370305": "临淄区",  | 
            |
| 1716 | 
                + "370306": "周村区",  | 
            |
| 1717 | 
                + "370321": "桓台县",  | 
            |
| 1718 | 
                + "370322": "高青县",  | 
            |
| 1719 | 
                + "370323": "沂源县"  | 
            |
| 1720 | 
                + },  | 
            |
| 1721 | 
                +  "370400": {
               | 
            |
| 1722 | 
                + "370402": "市中区",  | 
            |
| 1723 | 
                + "370403": "薛城区",  | 
            |
| 1724 | 
                + "370404": "峄城区",  | 
            |
| 1725 | 
                + "370405": "台儿庄区",  | 
            |
| 1726 | 
                + "370406": "山亭区",  | 
            |
| 1727 | 
                + "370481": "滕州市"  | 
            |
| 1728 | 
                + },  | 
            |
| 1729 | 
                +  "370500": {
               | 
            |
| 1730 | 
                + "370502": "东营区",  | 
            |
| 1731 | 
                + "370503": "河口区",  | 
            |
| 1732 | 
                + "370505": "垦利区",  | 
            |
| 1733 | 
                + "370522": "利津县",  | 
            |
| 1734 | 
                + "370523": "广饶县"  | 
            |
| 1735 | 
                + },  | 
            |
| 1736 | 
                +  "370600": {
               | 
            |
| 1737 | 
                + "370602": "芝罘区",  | 
            |
| 1738 | 
                + "370611": "福山区",  | 
            |
| 1739 | 
                + "370612": "牟平区",  | 
            |
| 1740 | 
                + "370613": "莱山区",  | 
            |
| 1741 | 
                + "370634": "长岛县",  | 
            |
| 1742 | 
                + "370681": "龙口市",  | 
            |
| 1743 | 
                + "370682": "莱阳市",  | 
            |
| 1744 | 
                + "370683": "莱州市",  | 
            |
| 1745 | 
                + "370684": "蓬莱市",  | 
            |
| 1746 | 
                + "370685": "招远市",  | 
            |
| 1747 | 
                + "370686": "栖霞市",  | 
            |
| 1748 | 
                + "370687": "海阳市"  | 
            |
| 1749 | 
                + },  | 
            |
| 1750 | 
                +  "370700": {
               | 
            |
| 1751 | 
                + "370702": "潍城区",  | 
            |
| 1752 | 
                + "370703": "寒亭区",  | 
            |
| 1753 | 
                + "370704": "坊子区",  | 
            |
| 1754 | 
                + "370705": "奎文区",  | 
            |
| 1755 | 
                + "370724": "临朐县",  | 
            |
| 1756 | 
                + "370725": "昌乐县",  | 
            |
| 1757 | 
                + "370781": "青州市",  | 
            |
| 1758 | 
                + "370782": "诸城市",  | 
            |
| 1759 | 
                + "370783": "寿光市",  | 
            |
| 1760 | 
                + "370784": "安丘市",  | 
            |
| 1761 | 
                + "370785": "高密市",  | 
            |
| 1762 | 
                + "370786": "昌邑市"  | 
            |
| 1763 | 
                + },  | 
            |
| 1764 | 
                +  "370800": {
               | 
            |
| 1765 | 
                + "370811": "任城区",  | 
            |
| 1766 | 
                + "370812": "兖州区",  | 
            |
| 1767 | 
                + "370826": "微山县",  | 
            |
| 1768 | 
                + "370827": "鱼台县",  | 
            |
| 1769 | 
                + "370828": "金乡县",  | 
            |
| 1770 | 
                + "370829": "嘉祥县",  | 
            |
| 1771 | 
                + "370830": "汶上县",  | 
            |
| 1772 | 
                + "370831": "泗水县",  | 
            |
| 1773 | 
                + "370832": "梁山县",  | 
            |
| 1774 | 
                + "370881": "曲阜市",  | 
            |
| 1775 | 
                + "370883": "邹城市"  | 
            |
| 1776 | 
                + },  | 
            |
| 1777 | 
                +  "370900": {
               | 
            |
| 1778 | 
                + "370902": "泰山区",  | 
            |
| 1779 | 
                + "370911": "岱岳区",  | 
            |
| 1780 | 
                + "370921": "宁阳县",  | 
            |
| 1781 | 
                + "370923": "东平县",  | 
            |
| 1782 | 
                + "370982": "新泰市",  | 
            |
| 1783 | 
                + "370983": "肥城市"  | 
            |
| 1784 | 
                + },  | 
            |
| 1785 | 
                +  "371000": {
               | 
            |
| 1786 | 
                + "371002": "环翠区",  | 
            |
| 1787 | 
                + "371003": "文登区",  | 
            |
| 1788 | 
                + "371082": "荣成市",  | 
            |
| 1789 | 
                + "371083": "乳山市"  | 
            |
| 1790 | 
                + },  | 
            |
| 1791 | 
                +  "371100": {
               | 
            |
| 1792 | 
                + "371102": "东港区",  | 
            |
| 1793 | 
                + "371103": "岚山区",  | 
            |
| 1794 | 
                + "371121": "五莲县",  | 
            |
| 1795 | 
                + "371122": "莒县"  | 
            |
| 1796 | 
                + },  | 
            |
| 1797 | 
                +  "371200": {
               | 
            |
| 1798 | 
                + "371202": "莱城区",  | 
            |
| 1799 | 
                + "371203": "钢城区"  | 
            |
| 1800 | 
                + },  | 
            |
| 1801 | 
                +  "371300": {
               | 
            |
| 1802 | 
                + "371302": "兰山区",  | 
            |
| 1803 | 
                + "371311": "罗庄区",  | 
            |
| 1804 | 
                + "371312": "河东区",  | 
            |
| 1805 | 
                + "371321": "沂南县",  | 
            |
| 1806 | 
                + "371322": "郯城县",  | 
            |
| 1807 | 
                + "371323": "沂水县",  | 
            |
| 1808 | 
                + "371324": "兰陵县",  | 
            |
| 1809 | 
                + "371325": "费县",  | 
            |
| 1810 | 
                + "371326": "平邑县",  | 
            |
| 1811 | 
                + "371327": "莒南县",  | 
            |
| 1812 | 
                + "371328": "蒙阴县",  | 
            |
| 1813 | 
                + "371329": "临沭县"  | 
            |
| 1814 | 
                + },  | 
            |
| 1815 | 
                +  "371400": {
               | 
            |
| 1816 | 
                + "371402": "德城区",  | 
            |
| 1817 | 
                + "371403": "陵城区",  | 
            |
| 1818 | 
                + "371422": "宁津县",  | 
            |
| 1819 | 
                + "371423": "庆云县",  | 
            |
| 1820 | 
                + "371424": "临邑县",  | 
            |
| 1821 | 
                + "371425": "齐河县",  | 
            |
| 1822 | 
                + "371426": "平原县",  | 
            |
| 1823 | 
                + "371427": "夏津县",  | 
            |
| 1824 | 
                + "371428": "武城县",  | 
            |
| 1825 | 
                + "371481": "乐陵市",  | 
            |
| 1826 | 
                + "371482": "禹城市"  | 
            |
| 1827 | 
                + },  | 
            |
| 1828 | 
                +  "371500": {
               | 
            |
| 1829 | 
                + "371502": "东昌府区",  | 
            |
| 1830 | 
                + "371521": "阳谷县",  | 
            |
| 1831 | 
                + "371522": "莘县",  | 
            |
| 1832 | 
                + "371523": "茌平县",  | 
            |
| 1833 | 
                + "371524": "东阿县",  | 
            |
| 1834 | 
                + "371525": "冠县",  | 
            |
| 1835 | 
                + "371526": "高唐县",  | 
            |
| 1836 | 
                + "371581": "临清市"  | 
            |
| 1837 | 
                + },  | 
            |
| 1838 | 
                +  "371600": {
               | 
            |
| 1839 | 
                + "371602": "滨城区",  | 
            |
| 1840 | 
                + "371603": "沾化区",  | 
            |
| 1841 | 
                + "371621": "惠民县",  | 
            |
| 1842 | 
                + "371622": "阳信县",  | 
            |
| 1843 | 
                + "371623": "无棣县",  | 
            |
| 1844 | 
                + "371625": "博兴县",  | 
            |
| 1845 | 
                + "371626": "邹平县"  | 
            |
| 1846 | 
                + },  | 
            |
| 1847 | 
                +  "371700": {
               | 
            |
| 1848 | 
                + "371702": "牡丹区",  | 
            |
| 1849 | 
                + "371703": "定陶区",  | 
            |
| 1850 | 
                + "371721": "曹县",  | 
            |
| 1851 | 
                + "371722": "单县",  | 
            |
| 1852 | 
                + "371723": "成武县",  | 
            |
| 1853 | 
                + "371724": "巨野县",  | 
            |
| 1854 | 
                + "371725": "郓城县",  | 
            |
| 1855 | 
                + "371726": "鄄城县",  | 
            |
| 1856 | 
                + "371728": "东明县"  | 
            |
| 1857 | 
                + },  | 
            |
| 1858 | 
                +  "410000": {
               | 
            |
| 1859 | 
                + "410100": "郑州市",  | 
            |
| 1860 | 
                + "410200": "开封市",  | 
            |
| 1861 | 
                + "410300": "洛阳市",  | 
            |
| 1862 | 
                + "410400": "平顶山市",  | 
            |
| 1863 | 
                + "410500": "安阳市",  | 
            |
| 1864 | 
                + "410600": "鹤壁市",  | 
            |
| 1865 | 
                + "410700": "新乡市",  | 
            |
| 1866 | 
                + "410800": "焦作市",  | 
            |
| 1867 | 
                + "410900": "濮阳市",  | 
            |
| 1868 | 
                + "411000": "许昌市",  | 
            |
| 1869 | 
                + "411100": "漯河市",  | 
            |
| 1870 | 
                + "411200": "三门峡市",  | 
            |
| 1871 | 
                + "411300": "南阳市",  | 
            |
| 1872 | 
                + "411400": "商丘市",  | 
            |
| 1873 | 
                + "411500": "信阳市",  | 
            |
| 1874 | 
                + "411600": "周口市",  | 
            |
| 1875 | 
                + "411700": "驻马店市",  | 
            |
| 1876 | 
                + "419001": "济源市"  | 
            |
| 1877 | 
                + },  | 
            |
| 1878 | 
                +  "410100": {
               | 
            |
| 1879 | 
                + "410102": "中原区",  | 
            |
| 1880 | 
                + "410103": "二七区",  | 
            |
| 1881 | 
                + "410104": "管城回族区",  | 
            |
| 1882 | 
                + "410105": "金水区",  | 
            |
| 1883 | 
                + "410106": "上街区",  | 
            |
| 1884 | 
                + "410108": "惠济区",  | 
            |
| 1885 | 
                + "410122": "中牟县",  | 
            |
| 1886 | 
                + "410181": "巩义市",  | 
            |
| 1887 | 
                + "410182": "荥阳市",  | 
            |
| 1888 | 
                + "410183": "新密市",  | 
            |
| 1889 | 
                + "410184": "新郑市",  | 
            |
| 1890 | 
                + "410185": "登封市"  | 
            |
| 1891 | 
                + },  | 
            |
| 1892 | 
                +  "410200": {
               | 
            |
| 1893 | 
                + "410202": "龙亭区",  | 
            |
| 1894 | 
                + "410203": "顺河回族区",  | 
            |
| 1895 | 
                + "410204": "鼓楼区",  | 
            |
| 1896 | 
                + "410205": "禹王台区",  | 
            |
| 1897 | 
                + "410211": "金明区",  | 
            |
| 1898 | 
                + "410212": "祥符区",  | 
            |
| 1899 | 
                + "410221": "杞县",  | 
            |
| 1900 | 
                + "410222": "通许县",  | 
            |
| 1901 | 
                + "410223": "尉氏县",  | 
            |
| 1902 | 
                + "410225": "兰考县"  | 
            |
| 1903 | 
                + },  | 
            |
| 1904 | 
                +  "410300": {
               | 
            |
| 1905 | 
                + "410302": "老城区",  | 
            |
| 1906 | 
                + "410303": "西工区",  | 
            |
| 1907 | 
                + "410304": "瀍河回族区",  | 
            |
| 1908 | 
                + "410305": "涧西区",  | 
            |
| 1909 | 
                + "410306": "吉利区",  | 
            |
| 1910 | 
                + "410311": "洛龙区",  | 
            |
| 1911 | 
                + "410322": "孟津县",  | 
            |
| 1912 | 
                + "410323": "新安县",  | 
            |
| 1913 | 
                + "410324": "栾川县",  | 
            |
| 1914 | 
                + "410325": "嵩县",  | 
            |
| 1915 | 
                + "410326": "汝阳县",  | 
            |
| 1916 | 
                + "410327": "宜阳县",  | 
            |
| 1917 | 
                + "410328": "洛宁县",  | 
            |
| 1918 | 
                + "410329": "伊川县",  | 
            |
| 1919 | 
                + "410381": "偃师市"  | 
            |
| 1920 | 
                + },  | 
            |
| 1921 | 
                +  "410400": {
               | 
            |
| 1922 | 
                + "410402": "新华区",  | 
            |
| 1923 | 
                + "410403": "卫东区",  | 
            |
| 1924 | 
                + "410404": "石龙区",  | 
            |
| 1925 | 
                + "410411": "湛河区",  | 
            |
| 1926 | 
                + "410421": "宝丰县",  | 
            |
| 1927 | 
                + "410422": "叶县",  | 
            |
| 1928 | 
                + "410423": "鲁山县",  | 
            |
| 1929 | 
                + "410425": "郏县",  | 
            |
| 1930 | 
                + "410481": "舞钢市",  | 
            |
| 1931 | 
                + "410482": "汝州市"  | 
            |
| 1932 | 
                + },  | 
            |
| 1933 | 
                +  "410500": {
               | 
            |
| 1934 | 
                + "410502": "文峰区",  | 
            |
| 1935 | 
                + "410503": "北关区",  | 
            |
| 1936 | 
                + "410505": "殷都区",  | 
            |
| 1937 | 
                + "410506": "龙安区",  | 
            |
| 1938 | 
                + "410522": "安阳县",  | 
            |
| 1939 | 
                + "410523": "汤阴县",  | 
            |
| 1940 | 
                + "410526": "滑县",  | 
            |
| 1941 | 
                + "410527": "内黄县",  | 
            |
| 1942 | 
                + "410581": "林州市"  | 
            |
| 1943 | 
                + },  | 
            |
| 1944 | 
                +  "410600": {
               | 
            |
| 1945 | 
                + "410602": "鹤山区",  | 
            |
| 1946 | 
                + "410603": "山城区",  | 
            |
| 1947 | 
                + "410611": "淇滨区",  | 
            |
| 1948 | 
                + "410621": "浚县",  | 
            |
| 1949 | 
                + "410622": "淇县"  | 
            |
| 1950 | 
                + },  | 
            |
| 1951 | 
                +  "410700": {
               | 
            |
| 1952 | 
                + "410702": "红旗区",  | 
            |
| 1953 | 
                + "410703": "卫滨区",  | 
            |
| 1954 | 
                + "410704": "凤泉区",  | 
            |
| 1955 | 
                + "410711": "牧野区",  | 
            |
| 1956 | 
                + "410721": "新乡县",  | 
            |
| 1957 | 
                + "410724": "获嘉县",  | 
            |
| 1958 | 
                + "410725": "原阳县",  | 
            |
| 1959 | 
                + "410726": "延津县",  | 
            |
| 1960 | 
                + "410727": "封丘县",  | 
            |
| 1961 | 
                + "410728": "长垣县",  | 
            |
| 1962 | 
                + "410781": "卫辉市",  | 
            |
| 1963 | 
                + "410782": "辉县市"  | 
            |
| 1964 | 
                + },  | 
            |
| 1965 | 
                +  "410800": {
               | 
            |
| 1966 | 
                + "410802": "解放区",  | 
            |
| 1967 | 
                + "410803": "中站区",  | 
            |
| 1968 | 
                + "410804": "马村区",  | 
            |
| 1969 | 
                + "410811": "山阳区",  | 
            |
| 1970 | 
                + "410821": "修武县",  | 
            |
| 1971 | 
                + "410822": "博爱县",  | 
            |
| 1972 | 
                + "410823": "武陟县",  | 
            |
| 1973 | 
                + "410825": "温县",  | 
            |
| 1974 | 
                + "410882": "沁阳市",  | 
            |
| 1975 | 
                + "410883": "孟州市"  | 
            |
| 1976 | 
                + },  | 
            |
| 1977 | 
                +  "410900": {
               | 
            |
| 1978 | 
                + "410902": "华龙区",  | 
            |
| 1979 | 
                + "410922": "清丰县",  | 
            |
| 1980 | 
                + "410923": "南乐县",  | 
            |
| 1981 | 
                + "410926": "范县",  | 
            |
| 1982 | 
                + "410927": "台前县",  | 
            |
| 1983 | 
                + "410928": "濮阳县"  | 
            |
| 1984 | 
                + },  | 
            |
| 1985 | 
                +  "411000": {
               | 
            |
| 1986 | 
                + "411002": "魏都区",  | 
            |
| 1987 | 
                + "411023": "许昌县",  | 
            |
| 1988 | 
                + "411024": "鄢陵县",  | 
            |
| 1989 | 
                + "411025": "襄城县",  | 
            |
| 1990 | 
                + "411081": "禹州市",  | 
            |
| 1991 | 
                + "411082": "长葛市"  | 
            |
| 1992 | 
                + },  | 
            |
| 1993 | 
                +  "411100": {
               | 
            |
| 1994 | 
                + "411102": "源汇区",  | 
            |
| 1995 | 
                + "411103": "郾城区",  | 
            |
| 1996 | 
                + "411104": "召陵区",  | 
            |
| 1997 | 
                + "411121": "舞阳县",  | 
            |
| 1998 | 
                + "411122": "临颍县"  | 
            |
| 1999 | 
                + },  | 
            |
| 2000 | 
                +  "411200": {
               | 
            |
| 2001 | 
                + "411202": "湖滨区",  | 
            |
| 2002 | 
                + "411203": "陕州区",  | 
            |
| 2003 | 
                + "411221": "渑池县",  | 
            |
| 2004 | 
                + "411224": "卢氏县",  | 
            |
| 2005 | 
                + "411281": "义马市",  | 
            |
| 2006 | 
                + "411282": "灵宝市"  | 
            |
| 2007 | 
                + },  | 
            |
| 2008 | 
                +  "411300": {
               | 
            |
| 2009 | 
                + "411302": "宛城区",  | 
            |
| 2010 | 
                + "411303": "卧龙区",  | 
            |
| 2011 | 
                + "411321": "南召县",  | 
            |
| 2012 | 
                + "411322": "方城县",  | 
            |
| 2013 | 
                + "411323": "西峡县",  | 
            |
| 2014 | 
                + "411324": "镇平县",  | 
            |
| 2015 | 
                + "411325": "内乡县",  | 
            |
| 2016 | 
                + "411326": "淅川县",  | 
            |
| 2017 | 
                + "411327": "社旗县",  | 
            |
| 2018 | 
                + "411328": "唐河县",  | 
            |
| 2019 | 
                + "411329": "新野县",  | 
            |
| 2020 | 
                + "411330": "桐柏县",  | 
            |
| 2021 | 
                + "411381": "邓州市"  | 
            |
| 2022 | 
                + },  | 
            |
| 2023 | 
                +  "411400": {
               | 
            |
| 2024 | 
                + "411402": "梁园区",  | 
            |
| 2025 | 
                + "411403": "睢阳区",  | 
            |
| 2026 | 
                + "411421": "民权县",  | 
            |
| 2027 | 
                + "411422": "睢县",  | 
            |
| 2028 | 
                + "411423": "宁陵县",  | 
            |
| 2029 | 
                + "411424": "柘城县",  | 
            |
| 2030 | 
                + "411425": "虞城县",  | 
            |
| 2031 | 
                + "411426": "夏邑县",  | 
            |
| 2032 | 
                + "411481": "永城市"  | 
            |
| 2033 | 
                + },  | 
            |
| 2034 | 
                +  "411500": {
               | 
            |
| 2035 | 
                + "411502": "浉河区",  | 
            |
| 2036 | 
                + "411503": "平桥区",  | 
            |
| 2037 | 
                + "411521": "罗山县",  | 
            |
| 2038 | 
                + "411522": "光山县",  | 
            |
| 2039 | 
                + "411523": "新县",  | 
            |
| 2040 | 
                + "411524": "商城县",  | 
            |
| 2041 | 
                + "411525": "固始县",  | 
            |
| 2042 | 
                + "411526": "潢川县",  | 
            |
| 2043 | 
                + "411527": "淮滨县",  | 
            |
| 2044 | 
                + "411528": "息县"  | 
            |
| 2045 | 
                + },  | 
            |
| 2046 | 
                +  "411600": {
               | 
            |
| 2047 | 
                + "411602": "川汇区",  | 
            |
| 2048 | 
                + "411621": "扶沟县",  | 
            |
| 2049 | 
                + "411622": "西华县",  | 
            |
| 2050 | 
                + "411623": "商水县",  | 
            |
| 2051 | 
                + "411624": "沈丘县",  | 
            |
| 2052 | 
                + "411625": "郸城县",  | 
            |
| 2053 | 
                + "411626": "淮阳县",  | 
            |
| 2054 | 
                + "411627": "太康县",  | 
            |
| 2055 | 
                + "411628": "鹿邑县",  | 
            |
| 2056 | 
                + "411681": "项城市"  | 
            |
| 2057 | 
                + },  | 
            |
| 2058 | 
                +  "411700": {
               | 
            |
| 2059 | 
                + "411702": "驿城区",  | 
            |
| 2060 | 
                + "411721": "西平县",  | 
            |
| 2061 | 
                + "411722": "上蔡县",  | 
            |
| 2062 | 
                + "411723": "平舆县",  | 
            |
| 2063 | 
                + "411724": "正阳县",  | 
            |
| 2064 | 
                + "411725": "确山县",  | 
            |
| 2065 | 
                + "411726": "泌阳县",  | 
            |
| 2066 | 
                + "411727": "汝南县",  | 
            |
| 2067 | 
                + "411728": "遂平县",  | 
            |
| 2068 | 
                + "411729": "新蔡县"  | 
            |
| 2069 | 
                + },  | 
            |
| 2070 | 
                +  "420000": {
               | 
            |
| 2071 | 
                + "420100": "武汉市",  | 
            |
| 2072 | 
                + "420200": "黄石市",  | 
            |
| 2073 | 
                + "420300": "十堰市",  | 
            |
| 2074 | 
                + "420500": "宜昌市",  | 
            |
| 2075 | 
                + "420600": "襄阳市",  | 
            |
| 2076 | 
                + "420700": "鄂州市",  | 
            |
| 2077 | 
                + "420800": "荆门市",  | 
            |
| 2078 | 
                + "420900": "孝感市",  | 
            |
| 2079 | 
                + "421000": "荆州市",  | 
            |
| 2080 | 
                + "421100": "黄冈市",  | 
            |
| 2081 | 
                + "421200": "咸宁市",  | 
            |
| 2082 | 
                + "421300": "随州市",  | 
            |
| 2083 | 
                + "422800": "恩施土家族苗族自治州",  | 
            |
| 2084 | 
                + "429004": "仙桃市",  | 
            |
| 2085 | 
                + "429005": "潜江市",  | 
            |
| 2086 | 
                + "429006": "天门市",  | 
            |
| 2087 | 
                + "429021": "神农架林区"  | 
            |
| 2088 | 
                + },  | 
            |
| 2089 | 
                +  "420100": {
               | 
            |
| 2090 | 
                + "420102": "江岸区",  | 
            |
| 2091 | 
                + "420103": "江汉区",  | 
            |
| 2092 | 
                + "420104": "硚口区",  | 
            |
| 2093 | 
                + "420105": "汉阳区",  | 
            |
| 2094 | 
                + "420106": "武昌区",  | 
            |
| 2095 | 
                + "420107": "青山区",  | 
            |
| 2096 | 
                + "420111": "洪山区",  | 
            |
| 2097 | 
                + "420112": "东西湖区",  | 
            |
| 2098 | 
                + "420113": "汉南区",  | 
            |
| 2099 | 
                + "420114": "蔡甸区",  | 
            |
| 2100 | 
                + "420115": "江夏区",  | 
            |
| 2101 | 
                + "420116": "黄陂区",  | 
            |
| 2102 | 
                + "420117": "新洲区"  | 
            |
| 2103 | 
                + },  | 
            |
| 2104 | 
                +  "420200": {
               | 
            |
| 2105 | 
                + "420202": "黄石港区",  | 
            |
| 2106 | 
                + "420203": "西塞山区",  | 
            |
| 2107 | 
                + "420204": "下陆区",  | 
            |
| 2108 | 
                + "420205": "铁山区",  | 
            |
| 2109 | 
                + "420222": "阳新县",  | 
            |
| 2110 | 
                + "420281": "大冶市"  | 
            |
| 2111 | 
                + },  | 
            |
| 2112 | 
                +  "420300": {
               | 
            |
| 2113 | 
                + "420302": "茅箭区",  | 
            |
| 2114 | 
                + "420303": "张湾区",  | 
            |
| 2115 | 
                + "420304": "郧阳区",  | 
            |
| 2116 | 
                + "420322": "郧西县",  | 
            |
| 2117 | 
                + "420323": "竹山县",  | 
            |
| 2118 | 
                + "420324": "竹溪县",  | 
            |
| 2119 | 
                + "420325": "房县",  | 
            |
| 2120 | 
                + "420381": "丹江口市"  | 
            |
| 2121 | 
                + },  | 
            |
| 2122 | 
                +  "420500": {
               | 
            |
| 2123 | 
                + "420502": "西陵区",  | 
            |
| 2124 | 
                + "420503": "伍家岗区",  | 
            |
| 2125 | 
                + "420504": "点军区",  | 
            |
| 2126 | 
                + "420505": "猇亭区",  | 
            |
| 2127 | 
                + "420506": "夷陵区",  | 
            |
| 2128 | 
                + "420525": "远安县",  | 
            |
| 2129 | 
                + "420526": "兴山县",  | 
            |
| 2130 | 
                + "420527": "秭归县",  | 
            |
| 2131 | 
                + "420528": "长阳土家族自治县",  | 
            |
| 2132 | 
                + "420529": "五峰土家族自治县",  | 
            |
| 2133 | 
                + "420581": "宜都市",  | 
            |
| 2134 | 
                + "420582": "当阳市",  | 
            |
| 2135 | 
                + "420583": "枝江市"  | 
            |
| 2136 | 
                + },  | 
            |
| 2137 | 
                +  "420600": {
               | 
            |
| 2138 | 
                + "420602": "襄城区",  | 
            |
| 2139 | 
                + "420606": "樊城区",  | 
            |
| 2140 | 
                + "420607": "襄州区",  | 
            |
| 2141 | 
                + "420624": "南漳县",  | 
            |
| 2142 | 
                + "420625": "谷城县",  | 
            |
| 2143 | 
                + "420626": "保康县",  | 
            |
| 2144 | 
                + "420682": "老河口市",  | 
            |
| 2145 | 
                + "420683": "枣阳市",  | 
            |
| 2146 | 
                + "420684": "宜城市"  | 
            |
| 2147 | 
                + },  | 
            |
| 2148 | 
                +  "420700": {
               | 
            |
| 2149 | 
                + "420702": "梁子湖区",  | 
            |
| 2150 | 
                + "420703": "华容区",  | 
            |
| 2151 | 
                + "420704": "鄂城区"  | 
            |
| 2152 | 
                + },  | 
            |
| 2153 | 
                +  "420800": {
               | 
            |
| 2154 | 
                + "420802": "东宝区",  | 
            |
| 2155 | 
                + "420804": "掇刀区",  | 
            |
| 2156 | 
                + "420821": "京山县",  | 
            |
| 2157 | 
                + "420822": "沙洋县",  | 
            |
| 2158 | 
                + "420881": "钟祥市"  | 
            |
| 2159 | 
                + },  | 
            |
| 2160 | 
                +  "420900": {
               | 
            |
| 2161 | 
                + "420902": "孝南区",  | 
            |
| 2162 | 
                + "420921": "孝昌县",  | 
            |
| 2163 | 
                + "420922": "大悟县",  | 
            |
| 2164 | 
                + "420923": "云梦县",  | 
            |
| 2165 | 
                + "420981": "应城市",  | 
            |
| 2166 | 
                + "420982": "安陆市",  | 
            |
| 2167 | 
                + "420984": "汉川市"  | 
            |
| 2168 | 
                + },  | 
            |
| 2169 | 
                +  "421000": {
               | 
            |
| 2170 | 
                + "421002": "沙市区",  | 
            |
| 2171 | 
                + "421003": "荆州区",  | 
            |
| 2172 | 
                + "421022": "公安县",  | 
            |
| 2173 | 
                + "421023": "监利县",  | 
            |
| 2174 | 
                + "421024": "江陵县",  | 
            |
| 2175 | 
                + "421081": "石首市",  | 
            |
| 2176 | 
                + "421083": "洪湖市",  | 
            |
| 2177 | 
                + "421087": "松滋市"  | 
            |
| 2178 | 
                + },  | 
            |
| 2179 | 
                +  "421100": {
               | 
            |
| 2180 | 
                + "421102": "黄州区",  | 
            |
| 2181 | 
                + "421121": "团风县",  | 
            |
| 2182 | 
                + "421122": "红安县",  | 
            |
| 2183 | 
                + "421123": "罗田县",  | 
            |
| 2184 | 
                + "421124": "英山县",  | 
            |
| 2185 | 
                + "421125": "浠水县",  | 
            |
| 2186 | 
                + "421126": "蕲春县",  | 
            |
| 2187 | 
                + "421127": "黄梅县",  | 
            |
| 2188 | 
                + "421181": "麻城市",  | 
            |
| 2189 | 
                + "421182": "武穴市"  | 
            |
| 2190 | 
                + },  | 
            |
| 2191 | 
                +  "421200": {
               | 
            |
| 2192 | 
                + "421202": "咸安区",  | 
            |
| 2193 | 
                + "421221": "嘉鱼县",  | 
            |
| 2194 | 
                + "421222": "通城县",  | 
            |
| 2195 | 
                + "421223": "崇阳县",  | 
            |
| 2196 | 
                + "421224": "通山县",  | 
            |
| 2197 | 
                + "421281": "赤壁市"  | 
            |
| 2198 | 
                + },  | 
            |
| 2199 | 
                +  "421300": {
               | 
            |
| 2200 | 
                + "421303": "曾都区",  | 
            |
| 2201 | 
                + "421321": "随县",  | 
            |
| 2202 | 
                + "421381": "广水市"  | 
            |
| 2203 | 
                + },  | 
            |
| 2204 | 
                +  "422800": {
               | 
            |
| 2205 | 
                + "422801": "恩施市",  | 
            |
| 2206 | 
                + "422802": "利川市",  | 
            |
| 2207 | 
                + "422822": "建始县",  | 
            |
| 2208 | 
                + "422823": "巴东县",  | 
            |
| 2209 | 
                + "422825": "宣恩县",  | 
            |
| 2210 | 
                + "422826": "咸丰县",  | 
            |
| 2211 | 
                + "422827": "来凤县",  | 
            |
| 2212 | 
                + "422828": "鹤峰县"  | 
            |
| 2213 | 
                + },  | 
            |
| 2214 | 
                +  "430000": {
               | 
            |
| 2215 | 
                + "430100": "长沙市",  | 
            |
| 2216 | 
                + "430200": "株洲市",  | 
            |
| 2217 | 
                + "430300": "湘潭市",  | 
            |
| 2218 | 
                + "430400": "衡阳市",  | 
            |
| 2219 | 
                + "430500": "邵阳市",  | 
            |
| 2220 | 
                + "430600": "岳阳市",  | 
            |
| 2221 | 
                + "430700": "常德市",  | 
            |
| 2222 | 
                + "430800": "张家界市",  | 
            |
| 2223 | 
                + "430900": "益阳市",  | 
            |
| 2224 | 
                + "431000": "郴州市",  | 
            |
| 2225 | 
                + "431100": "永州市",  | 
            |
| 2226 | 
                + "431200": "怀化市",  | 
            |
| 2227 | 
                + "431300": "娄底市",  | 
            |
| 2228 | 
                + "433100": "湘西土家族苗族自治州"  | 
            |
| 2229 | 
                + },  | 
            |
| 2230 | 
                +  "430100": {
               | 
            |
| 2231 | 
                + "430102": "芙蓉区",  | 
            |
| 2232 | 
                + "430103": "天心区",  | 
            |
| 2233 | 
                + "430104": "岳麓区",  | 
            |
| 2234 | 
                + "430105": "开福区",  | 
            |
| 2235 | 
                + "430111": "雨花区",  | 
            |
| 2236 | 
                + "430112": "望城区",  | 
            |
| 2237 | 
                + "430121": "长沙县",  | 
            |
| 2238 | 
                + "430124": "宁乡县",  | 
            |
| 2239 | 
                + "430181": "浏阳市"  | 
            |
| 2240 | 
                + },  | 
            |
| 2241 | 
                +  "430200": {
               | 
            |
| 2242 | 
                + "430202": "荷塘区",  | 
            |
| 2243 | 
                + "430203": "芦淞区",  | 
            |
| 2244 | 
                + "430204": "石峰区",  | 
            |
| 2245 | 
                + "430211": "天元区",  | 
            |
| 2246 | 
                + "430221": "株洲县",  | 
            |
| 2247 | 
                + "430223": "攸县",  | 
            |
| 2248 | 
                + "430224": "茶陵县",  | 
            |
| 2249 | 
                + "430225": "炎陵县",  | 
            |
| 2250 | 
                + "430281": "醴陵市"  | 
            |
| 2251 | 
                + },  | 
            |
| 2252 | 
                +  "430300": {
               | 
            |
| 2253 | 
                + "430302": "雨湖区",  | 
            |
| 2254 | 
                + "430304": "岳塘区",  | 
            |
| 2255 | 
                + "430321": "湘潭县",  | 
            |
| 2256 | 
                + "430381": "湘乡市",  | 
            |
| 2257 | 
                + "430382": "韶山市"  | 
            |
| 2258 | 
                + },  | 
            |
| 2259 | 
                +  "430400": {
               | 
            |
| 2260 | 
                + "430405": "珠晖区",  | 
            |
| 2261 | 
                + "430406": "雁峰区",  | 
            |
| 2262 | 
                + "430407": "石鼓区",  | 
            |
| 2263 | 
                + "430408": "蒸湘区",  | 
            |
| 2264 | 
                + "430412": "南岳区",  | 
            |
| 2265 | 
                + "430421": "衡阳县",  | 
            |
| 2266 | 
                + "430422": "衡南县",  | 
            |
| 2267 | 
                + "430423": "衡山县",  | 
            |
| 2268 | 
                + "430424": "衡东县",  | 
            |
| 2269 | 
                + "430426": "祁东县",  | 
            |
| 2270 | 
                + "430481": "耒阳市",  | 
            |
| 2271 | 
                + "430482": "常宁市"  | 
            |
| 2272 | 
                + },  | 
            |
| 2273 | 
                +  "430500": {
               | 
            |
| 2274 | 
                + "430502": "双清区",  | 
            |
| 2275 | 
                + "430503": "大祥区",  | 
            |
| 2276 | 
                + "430511": "北塔区",  | 
            |
| 2277 | 
                + "430521": "邵东县",  | 
            |
| 2278 | 
                + "430522": "新邵县",  | 
            |
| 2279 | 
                + "430523": "邵阳县",  | 
            |
| 2280 | 
                + "430524": "隆回县",  | 
            |
| 2281 | 
                + "430525": "洞口县",  | 
            |
| 2282 | 
                + "430527": "绥宁县",  | 
            |
| 2283 | 
                + "430528": "新宁县",  | 
            |
| 2284 | 
                + "430529": "城步苗族自治县",  | 
            |
| 2285 | 
                + "430581": "武冈市"  | 
            |
| 2286 | 
                + },  | 
            |
| 2287 | 
                +  "430600": {
               | 
            |
| 2288 | 
                + "430602": "岳阳楼区",  | 
            |
| 2289 | 
                + "430603": "云溪区",  | 
            |
| 2290 | 
                + "430611": "君山区",  | 
            |
| 2291 | 
                + "430621": "岳阳县",  | 
            |
| 2292 | 
                + "430623": "华容县",  | 
            |
| 2293 | 
                + "430624": "湘阴县",  | 
            |
| 2294 | 
                + "430626": "平江县",  | 
            |
| 2295 | 
                + "430681": "汨罗市",  | 
            |
| 2296 | 
                + "430682": "临湘市"  | 
            |
| 2297 | 
                + },  | 
            |
| 2298 | 
                +  "430700": {
               | 
            |
| 2299 | 
                + "430702": "武陵区",  | 
            |
| 2300 | 
                + "430703": "鼎城区",  | 
            |
| 2301 | 
                + "430721": "安乡县",  | 
            |
| 2302 | 
                + "430722": "汉寿县",  | 
            |
| 2303 | 
                + "430723": "澧县",  | 
            |
| 2304 | 
                + "430724": "临澧县",  | 
            |
| 2305 | 
                + "430725": "桃源县",  | 
            |
| 2306 | 
                + "430726": "石门县",  | 
            |
| 2307 | 
                + "430781": "津市市"  | 
            |
| 2308 | 
                + },  | 
            |
| 2309 | 
                +  "430800": {
               | 
            |
| 2310 | 
                + "430802": "永定区",  | 
            |
| 2311 | 
                + "430811": "武陵源区",  | 
            |
| 2312 | 
                + "430821": "慈利县",  | 
            |
| 2313 | 
                + "430822": "桑植县"  | 
            |
| 2314 | 
                + },  | 
            |
| 2315 | 
                +  "430900": {
               | 
            |
| 2316 | 
                + "430902": "资阳区",  | 
            |
| 2317 | 
                + "430903": "赫山区",  | 
            |
| 2318 | 
                + "430921": "南县",  | 
            |
| 2319 | 
                + "430922": "桃江县",  | 
            |
| 2320 | 
                + "430923": "安化县",  | 
            |
| 2321 | 
                + "430981": "沅江市"  | 
            |
| 2322 | 
                + },  | 
            |
| 2323 | 
                +  "431000": {
               | 
            |
| 2324 | 
                + "431002": "北湖区",  | 
            |
| 2325 | 
                + "431003": "苏仙区",  | 
            |
| 2326 | 
                + "431021": "桂阳县",  | 
            |
| 2327 | 
                + "431022": "宜章县",  | 
            |
| 2328 | 
                + "431023": "永兴县",  | 
            |
| 2329 | 
                + "431024": "嘉禾县",  | 
            |
| 2330 | 
                + "431025": "临武县",  | 
            |
| 2331 | 
                + "431026": "汝城县",  | 
            |
| 2332 | 
                + "431027": "桂东县",  | 
            |
| 2333 | 
                + "431028": "安仁县",  | 
            |
| 2334 | 
                + "431081": "资兴市"  | 
            |
| 2335 | 
                + },  | 
            |
| 2336 | 
                +  "431100": {
               | 
            |
| 2337 | 
                + "431102": "零陵区",  | 
            |
| 2338 | 
                + "431103": "冷水滩区",  | 
            |
| 2339 | 
                + "431121": "祁阳县",  | 
            |
| 2340 | 
                + "431122": "东安县",  | 
            |
| 2341 | 
                + "431123": "双牌县",  | 
            |
| 2342 | 
                + "431124": "道县",  | 
            |
| 2343 | 
                + "431125": "江永县",  | 
            |
| 2344 | 
                + "431126": "宁远县",  | 
            |
| 2345 | 
                + "431127": "蓝山县",  | 
            |
| 2346 | 
                + "431128": "新田县",  | 
            |
| 2347 | 
                + "431129": "江华瑶族自治县"  | 
            |
| 2348 | 
                + },  | 
            |
| 2349 | 
                +  "431200": {
               | 
            |
| 2350 | 
                + "431202": "鹤城区",  | 
            |
| 2351 | 
                + "431221": "中方县",  | 
            |
| 2352 | 
                + "431222": "沅陵县",  | 
            |
| 2353 | 
                + "431223": "辰溪县",  | 
            |
| 2354 | 
                + "431224": "溆浦县",  | 
            |
| 2355 | 
                + "431225": "会同县",  | 
            |
| 2356 | 
                + "431226": "麻阳苗族自治县",  | 
            |
| 2357 | 
                + "431227": "新晃侗族自治县",  | 
            |
| 2358 | 
                + "431228": "芷江侗族自治县",  | 
            |
| 2359 | 
                + "431229": "靖州苗族侗族自治县",  | 
            |
| 2360 | 
                + "431230": "通道侗族自治县",  | 
            |
| 2361 | 
                + "431281": "洪江市"  | 
            |
| 2362 | 
                + },  | 
            |
| 2363 | 
                +  "431300": {
               | 
            |
| 2364 | 
                + "431302": "娄星区",  | 
            |
| 2365 | 
                + "431321": "双峰县",  | 
            |
| 2366 | 
                + "431322": "新化县",  | 
            |
| 2367 | 
                + "431381": "冷水江市",  | 
            |
| 2368 | 
                + "431382": "涟源市"  | 
            |
| 2369 | 
                + },  | 
            |
| 2370 | 
                +  "433100": {
               | 
            |
| 2371 | 
                + "433101": "吉首市",  | 
            |
| 2372 | 
                + "433122": "泸溪县",  | 
            |
| 2373 | 
                + "433123": "凤凰县",  | 
            |
| 2374 | 
                + "433124": "花垣县",  | 
            |
| 2375 | 
                + "433125": "保靖县",  | 
            |
| 2376 | 
                + "433126": "古丈县",  | 
            |
| 2377 | 
                + "433127": "永顺县",  | 
            |
| 2378 | 
                + "433130": "龙山县"  | 
            |
| 2379 | 
                + },  | 
            |
| 2380 | 
                +  "440000": {
               | 
            |
| 2381 | 
                + "440100": "广州市",  | 
            |
| 2382 | 
                + "440200": "韶关市",  | 
            |
| 2383 | 
                + "440300": "深圳市",  | 
            |
| 2384 | 
                + "440400": "珠海市",  | 
            |
| 2385 | 
                + "440500": "汕头市",  | 
            |
| 2386 | 
                + "440600": "佛山市",  | 
            |
| 2387 | 
                + "440700": "江门市",  | 
            |
| 2388 | 
                + "440800": "湛江市",  | 
            |
| 2389 | 
                + "440900": "茂名市",  | 
            |
| 2390 | 
                + "441200": "肇庆市",  | 
            |
| 2391 | 
                + "441300": "惠州市",  | 
            |
| 2392 | 
                + "441400": "梅州市",  | 
            |
| 2393 | 
                + "441500": "汕尾市",  | 
            |
| 2394 | 
                + "441600": "河源市",  | 
            |
| 2395 | 
                + "441700": "阳江市",  | 
            |
| 2396 | 
                + "441800": "清远市",  | 
            |
| 2397 | 
                + "441900": "东莞市",  | 
            |
| 2398 | 
                + "442000": "中山市",  | 
            |
| 2399 | 
                + "445100": "潮州市",  | 
            |
| 2400 | 
                + "445200": "揭阳市",  | 
            |
| 2401 | 
                + "445300": "云浮市"  | 
            |
| 2402 | 
                + },  | 
            |
| 2403 | 
                +  "440100": {
               | 
            |
| 2404 | 
                + "440103": "荔湾区",  | 
            |
| 2405 | 
                + "440104": "越秀区",  | 
            |
| 2406 | 
                + "440105": "海珠区",  | 
            |
| 2407 | 
                + "440106": "天河区",  | 
            |
| 2408 | 
                + "440111": "白云区",  | 
            |
| 2409 | 
                + "440112": "黄埔区",  | 
            |
| 2410 | 
                + "440113": "番禺区",  | 
            |
| 2411 | 
                + "440114": "花都区",  | 
            |
| 2412 | 
                + "440115": "南沙区",  | 
            |
| 2413 | 
                + "440117": "从化区",  | 
            |
| 2414 | 
                + "440118": "增城区"  | 
            |
| 2415 | 
                + },  | 
            |
| 2416 | 
                +  "440200": {
               | 
            |
| 2417 | 
                + "440203": "武江区",  | 
            |
| 2418 | 
                + "440204": "浈江区",  | 
            |
| 2419 | 
                + "440205": "曲江区",  | 
            |
| 2420 | 
                + "440222": "始兴县",  | 
            |
| 2421 | 
                + "440224": "仁化县",  | 
            |
| 2422 | 
                + "440229": "翁源县",  | 
            |
| 2423 | 
                + "440232": "乳源瑶族自治县",  | 
            |
| 2424 | 
                + "440233": "新丰县",  | 
            |
| 2425 | 
                + "440281": "乐昌市",  | 
            |
| 2426 | 
                + "440282": "南雄市"  | 
            |
| 2427 | 
                + },  | 
            |
| 2428 | 
                +  "440300": {
               | 
            |
| 2429 | 
                + "440303": "罗湖区",  | 
            |
| 2430 | 
                + "440304": "福田区",  | 
            |
| 2431 | 
                + "440305": "南山区",  | 
            |
| 2432 | 
                + "440306": "宝安区",  | 
            |
| 2433 | 
                + "440307": "龙岗区",  | 
            |
| 2434 | 
                + "440308": "盐田区"  | 
            |
| 2435 | 
                + },  | 
            |
| 2436 | 
                +  "440400": {
               | 
            |
| 2437 | 
                + "440402": "香洲区",  | 
            |
| 2438 | 
                + "440403": "斗门区",  | 
            |
| 2439 | 
                + "440404": "金湾区"  | 
            |
| 2440 | 
                + },  | 
            |
| 2441 | 
                +  "440500": {
               | 
            |
| 2442 | 
                + "440507": "龙湖区",  | 
            |
| 2443 | 
                + "440511": "金平区",  | 
            |
| 2444 | 
                + "440512": "濠江区",  | 
            |
| 2445 | 
                + "440513": "潮阳区",  | 
            |
| 2446 | 
                + "440514": "潮南区",  | 
            |
| 2447 | 
                + "440515": "澄海区",  | 
            |
| 2448 | 
                + "440523": "南澳县"  | 
            |
| 2449 | 
                + },  | 
            |
| 2450 | 
                +  "440600": {
               | 
            |
| 2451 | 
                + "440604": "禅城区",  | 
            |
| 2452 | 
                + "440605": "南海区",  | 
            |
| 2453 | 
                + "440606": "顺德区",  | 
            |
| 2454 | 
                + "440607": "三水区",  | 
            |
| 2455 | 
                + "440608": "高明区"  | 
            |
| 2456 | 
                + },  | 
            |
| 2457 | 
                +  "440700": {
               | 
            |
| 2458 | 
                + "440703": "蓬江区",  | 
            |
| 2459 | 
                + "440704": "江海区",  | 
            |
| 2460 | 
                + "440705": "新会区",  | 
            |
| 2461 | 
                + "440781": "台山市",  | 
            |
| 2462 | 
                + "440783": "开平市",  | 
            |
| 2463 | 
                + "440784": "鹤山市",  | 
            |
| 2464 | 
                + "440785": "恩平市"  | 
            |
| 2465 | 
                + },  | 
            |
| 2466 | 
                +  "440800": {
               | 
            |
| 2467 | 
                + "440802": "赤坎区",  | 
            |
| 2468 | 
                + "440803": "霞山区",  | 
            |
| 2469 | 
                + "440804": "坡头区",  | 
            |
| 2470 | 
                + "440811": "麻章区",  | 
            |
| 2471 | 
                + "440823": "遂溪县",  | 
            |
| 2472 | 
                + "440825": "徐闻县",  | 
            |
| 2473 | 
                + "440881": "廉江市",  | 
            |
| 2474 | 
                + "440882": "雷州市",  | 
            |
| 2475 | 
                + "440883": "吴川市"  | 
            |
| 2476 | 
                + },  | 
            |
| 2477 | 
                +  "440900": {
               | 
            |
| 2478 | 
                + "440902": "茂南区",  | 
            |
| 2479 | 
                + "440904": "电白区",  | 
            |
| 2480 | 
                + "440981": "高州市",  | 
            |
| 2481 | 
                + "440982": "化州市",  | 
            |
| 2482 | 
                + "440983": "信宜市"  | 
            |
| 2483 | 
                + },  | 
            |
| 2484 | 
                +  "441200": {
               | 
            |
| 2485 | 
                + "441202": "端州区",  | 
            |
| 2486 | 
                + "441203": "鼎湖区",  | 
            |
| 2487 | 
                + "441204": "高要区",  | 
            |
| 2488 | 
                + "441223": "广宁县",  | 
            |
| 2489 | 
                + "441224": "怀集县",  | 
            |
| 2490 | 
                + "441225": "封开县",  | 
            |
| 2491 | 
                + "441226": "德庆县",  | 
            |
| 2492 | 
                + "441284": "四会市"  | 
            |
| 2493 | 
                + },  | 
            |
| 2494 | 
                +  "441300": {
               | 
            |
| 2495 | 
                + "441302": "惠城区",  | 
            |
| 2496 | 
                + "441303": "惠阳区",  | 
            |
| 2497 | 
                + "441322": "博罗县",  | 
            |
| 2498 | 
                + "441323": "惠东县",  | 
            |
| 2499 | 
                + "441324": "龙门县"  | 
            |
| 2500 | 
                + },  | 
            |
| 2501 | 
                +  "441400": {
               | 
            |
| 2502 | 
                + "441402": "梅江区",  | 
            |
| 2503 | 
                + "441403": "梅县区",  | 
            |
| 2504 | 
                + "441422": "大埔县",  | 
            |
| 2505 | 
                + "441423": "丰顺县",  | 
            |
| 2506 | 
                + "441424": "五华县",  | 
            |
| 2507 | 
                + "441426": "平远县",  | 
            |
| 2508 | 
                + "441427": "蕉岭县",  | 
            |
| 2509 | 
                + "441481": "兴宁市"  | 
            |
| 2510 | 
                + },  | 
            |
| 2511 | 
                +  "441500": {
               | 
            |
| 2512 | 
                + "441502": "城区",  | 
            |
| 2513 | 
                + "441521": "海丰县",  | 
            |
| 2514 | 
                + "441523": "陆河县",  | 
            |
| 2515 | 
                + "441581": "陆丰市"  | 
            |
| 2516 | 
                + },  | 
            |
| 2517 | 
                +  "441600": {
               | 
            |
| 2518 | 
                + "441602": "源城区",  | 
            |
| 2519 | 
                + "441621": "紫金县",  | 
            |
| 2520 | 
                + "441622": "龙川县",  | 
            |
| 2521 | 
                + "441623": "连平县",  | 
            |
| 2522 | 
                + "441624": "和平县",  | 
            |
| 2523 | 
                + "441625": "东源县"  | 
            |
| 2524 | 
                + },  | 
            |
| 2525 | 
                +  "441700": {
               | 
            |
| 2526 | 
                + "441702": "江城区",  | 
            |
| 2527 | 
                + "441704": "阳东区",  | 
            |
| 2528 | 
                + "441721": "阳西县",  | 
            |
| 2529 | 
                + "441781": "阳春市"  | 
            |
| 2530 | 
                + },  | 
            |
| 2531 | 
                +  "441800": {
               | 
            |
| 2532 | 
                + "441802": "清城区",  | 
            |
| 2533 | 
                + "441803": "清新区",  | 
            |
| 2534 | 
                + "441821": "佛冈县",  | 
            |
| 2535 | 
                + "441823": "阳山县",  | 
            |
| 2536 | 
                + "441825": "连山壮族瑶族自治县",  | 
            |
| 2537 | 
                + "441826": "连南瑶族自治县",  | 
            |
| 2538 | 
                + "441881": "英德市",  | 
            |
| 2539 | 
                + "441882": "连州市"  | 
            |
| 2540 | 
                + },  | 
            |
| 2541 | 
                +  "445100": {
               | 
            |
| 2542 | 
                + "445102": "湘桥区",  | 
            |
| 2543 | 
                + "445103": "潮安区",  | 
            |
| 2544 | 
                + "445122": "饶平县"  | 
            |
| 2545 | 
                + },  | 
            |
| 2546 | 
                +  "445200": {
               | 
            |
| 2547 | 
                + "445202": "榕城区",  | 
            |
| 2548 | 
                + "445203": "揭东区",  | 
            |
| 2549 | 
                + "445222": "揭西县",  | 
            |
| 2550 | 
                + "445224": "惠来县",  | 
            |
| 2551 | 
                + "445281": "普宁市"  | 
            |
| 2552 | 
                + },  | 
            |
| 2553 | 
                +  "445300": {
               | 
            |
| 2554 | 
                + "445302": "云城区",  | 
            |
| 2555 | 
                + "445303": "云安区",  | 
            |
| 2556 | 
                + "445321": "新兴县",  | 
            |
| 2557 | 
                + "445322": "郁南县",  | 
            |
| 2558 | 
                + "445381": "罗定市"  | 
            |
| 2559 | 
                + },  | 
            |
| 2560 | 
                +  "450000": {
               | 
            |
| 2561 | 
                + "450100": "南宁市",  | 
            |
| 2562 | 
                + "450200": "柳州市",  | 
            |
| 2563 | 
                + "450300": "桂林市",  | 
            |
| 2564 | 
                + "450400": "梧州市",  | 
            |
| 2565 | 
                + "450500": "北海市",  | 
            |
| 2566 | 
                + "450600": "防城港市",  | 
            |
| 2567 | 
                + "450700": "钦州市",  | 
            |
| 2568 | 
                + "450800": "贵港市",  | 
            |
| 2569 | 
                + "450900": "玉林市",  | 
            |
| 2570 | 
                + "451000": "百色市",  | 
            |
| 2571 | 
                + "451100": "贺州市",  | 
            |
| 2572 | 
                + "451200": "河池市",  | 
            |
| 2573 | 
                + "451300": "来宾市",  | 
            |
| 2574 | 
                + "451400": "崇左市"  | 
            |
| 2575 | 
                + },  | 
            |
| 2576 | 
                +  "450100": {
               | 
            |
| 2577 | 
                + "450102": "兴宁区",  | 
            |
| 2578 | 
                + "450103": "青秀区",  | 
            |
| 2579 | 
                + "450105": "江南区",  | 
            |
| 2580 | 
                + "450107": "西乡塘区",  | 
            |
| 2581 | 
                + "450108": "良庆区",  | 
            |
| 2582 | 
                + "450109": "邕宁区",  | 
            |
| 2583 | 
                + "450110": "武鸣区",  | 
            |
| 2584 | 
                + "450123": "隆安县",  | 
            |
| 2585 | 
                + "450124": "马山县",  | 
            |
| 2586 | 
                + "450125": "上林县",  | 
            |
| 2587 | 
                + "450126": "宾阳县",  | 
            |
| 2588 | 
                + "450127": "横县"  | 
            |
| 2589 | 
                + },  | 
            |
| 2590 | 
                +  "450200": {
               | 
            |
| 2591 | 
                + "450202": "城中区",  | 
            |
| 2592 | 
                + "450203": "鱼峰区",  | 
            |
| 2593 | 
                + "450204": "柳南区",  | 
            |
| 2594 | 
                + "450205": "柳北区",  | 
            |
| 2595 | 
                + "450206": "柳江区",  | 
            |
| 2596 | 
                + "450222": "柳城县",  | 
            |
| 2597 | 
                + "450223": "鹿寨县",  | 
            |
| 2598 | 
                + "450224": "融安县",  | 
            |
| 2599 | 
                + "450225": "融水苗族自治县",  | 
            |
| 2600 | 
                + "450226": "三江侗族自治县"  | 
            |
| 2601 | 
                + },  | 
            |
| 2602 | 
                +  "450300": {
               | 
            |
| 2603 | 
                + "450302": "秀峰区",  | 
            |
| 2604 | 
                + "450303": "叠彩区",  | 
            |
| 2605 | 
                + "450304": "象山区",  | 
            |
| 2606 | 
                + "450305": "七星区",  | 
            |
| 2607 | 
                + "450311": "雁山区",  | 
            |
| 2608 | 
                + "450312": "临桂区",  | 
            |
| 2609 | 
                + "450321": "阳朔县",  | 
            |
| 2610 | 
                + "450323": "灵川县",  | 
            |
| 2611 | 
                + "450324": "全州县",  | 
            |
| 2612 | 
                + "450325": "兴安县",  | 
            |
| 2613 | 
                + "450326": "永福县",  | 
            |
| 2614 | 
                + "450327": "灌阳县",  | 
            |
| 2615 | 
                + "450328": "龙胜各族自治县",  | 
            |
| 2616 | 
                + "450329": "资源县",  | 
            |
| 2617 | 
                + "450330": "平乐县",  | 
            |
| 2618 | 
                + "450331": "荔浦县",  | 
            |
| 2619 | 
                + "450332": "恭城瑶族自治县"  | 
            |
| 2620 | 
                + },  | 
            |
| 2621 | 
                +  "450400": {
               | 
            |
| 2622 | 
                + "450403": "万秀区",  | 
            |
| 2623 | 
                + "450405": "长洲区",  | 
            |
| 2624 | 
                + "450406": "龙圩区",  | 
            |
| 2625 | 
                + "450421": "苍梧县",  | 
            |
| 2626 | 
                + "450422": "藤县",  | 
            |
| 2627 | 
                + "450423": "蒙山县",  | 
            |
| 2628 | 
                + "450481": "岑溪市"  | 
            |
| 2629 | 
                + },  | 
            |
| 2630 | 
                +  "450500": {
               | 
            |
| 2631 | 
                + "450502": "海城区",  | 
            |
| 2632 | 
                + "450503": "银海区",  | 
            |
| 2633 | 
                + "450512": "铁山港区",  | 
            |
| 2634 | 
                + "450521": "合浦县"  | 
            |
| 2635 | 
                + },  | 
            |
| 2636 | 
                +  "450600": {
               | 
            |
| 2637 | 
                + "450602": "港口区",  | 
            |
| 2638 | 
                + "450603": "防城区",  | 
            |
| 2639 | 
                + "450621": "上思县",  | 
            |
| 2640 | 
                + "450681": "东兴市"  | 
            |
| 2641 | 
                + },  | 
            |
| 2642 | 
                +  "450700": {
               | 
            |
| 2643 | 
                + "450702": "钦南区",  | 
            |
| 2644 | 
                + "450703": "钦北区",  | 
            |
| 2645 | 
                + "450721": "灵山县",  | 
            |
| 2646 | 
                + "450722": "浦北县"  | 
            |
| 2647 | 
                + },  | 
            |
| 2648 | 
                +  "450800": {
               | 
            |
| 2649 | 
                + "450802": "港北区",  | 
            |
| 2650 | 
                + "450803": "港南区",  | 
            |
| 2651 | 
                + "450804": "覃塘区",  | 
            |
| 2652 | 
                + "450821": "平南县",  | 
            |
| 2653 | 
                + "450881": "桂平市"  | 
            |
| 2654 | 
                + },  | 
            |
| 2655 | 
                +  "450900": {
               | 
            |
| 2656 | 
                + "450902": "玉州区",  | 
            |
| 2657 | 
                + "450903": "福绵区",  | 
            |
| 2658 | 
                + "450921": "容县",  | 
            |
| 2659 | 
                + "450922": "陆川县",  | 
            |
| 2660 | 
                + "450923": "博白县",  | 
            |
| 2661 | 
                + "450924": "兴业县",  | 
            |
| 2662 | 
                + "450981": "北流市"  | 
            |
| 2663 | 
                + },  | 
            |
| 2664 | 
                +  "451000": {
               | 
            |
| 2665 | 
                + "451002": "右江区",  | 
            |
| 2666 | 
                + "451021": "田阳县",  | 
            |
| 2667 | 
                + "451022": "田东县",  | 
            |
| 2668 | 
                + "451023": "平果县",  | 
            |
| 2669 | 
                + "451024": "德保县",  | 
            |
| 2670 | 
                + "451026": "那坡县",  | 
            |
| 2671 | 
                + "451027": "凌云县",  | 
            |
| 2672 | 
                + "451028": "乐业县",  | 
            |
| 2673 | 
                + "451029": "田林县",  | 
            |
| 2674 | 
                + "451030": "西林县",  | 
            |
| 2675 | 
                + "451031": "隆林各族自治县",  | 
            |
| 2676 | 
                + "451081": "靖西市"  | 
            |
| 2677 | 
                + },  | 
            |
| 2678 | 
                +  "451100": {
               | 
            |
| 2679 | 
                + "451102": "八步区",  | 
            |
| 2680 | 
                + "451103": "平桂区",  | 
            |
| 2681 | 
                + "451121": "昭平县",  | 
            |
| 2682 | 
                + "451122": "钟山县",  | 
            |
| 2683 | 
                + "451123": "富川瑶族自治县"  | 
            |
| 2684 | 
                + },  | 
            |
| 2685 | 
                +  "451200": {
               | 
            |
| 2686 | 
                + "451202": "金城江区",  | 
            |
| 2687 | 
                + "451221": "南丹县",  | 
            |
| 2688 | 
                + "451222": "天峨县",  | 
            |
| 2689 | 
                + "451223": "凤山县",  | 
            |
| 2690 | 
                + "451224": "东兰县",  | 
            |
| 2691 | 
                + "451225": "罗城仫佬族自治县",  | 
            |
| 2692 | 
                + "451226": "环江毛南族自治县",  | 
            |
| 2693 | 
                + "451227": "巴马瑶族自治县",  | 
            |
| 2694 | 
                + "451228": "都安瑶族自治县",  | 
            |
| 2695 | 
                + "451229": "大化瑶族自治县",  | 
            |
| 2696 | 
                + "451281": "宜州市"  | 
            |
| 2697 | 
                + },  | 
            |
| 2698 | 
                +  "451300": {
               | 
            |
| 2699 | 
                + "451302": "兴宾区",  | 
            |
| 2700 | 
                + "451321": "忻城县",  | 
            |
| 2701 | 
                + "451322": "象州县",  | 
            |
| 2702 | 
                + "451323": "武宣县",  | 
            |
| 2703 | 
                + "451324": "金秀瑶族自治县",  | 
            |
| 2704 | 
                + "451381": "合山市"  | 
            |
| 2705 | 
                + },  | 
            |
| 2706 | 
                +  "451400": {
               | 
            |
| 2707 | 
                + "451402": "江州区",  | 
            |
| 2708 | 
                + "451421": "扶绥县",  | 
            |
| 2709 | 
                + "451422": "宁明县",  | 
            |
| 2710 | 
                + "451423": "龙州县",  | 
            |
| 2711 | 
                + "451424": "大新县",  | 
            |
| 2712 | 
                + "451425": "天等县",  | 
            |
| 2713 | 
                + "451481": "凭祥市"  | 
            |
| 2714 | 
                + },  | 
            |
| 2715 | 
                +  "460000": {
               | 
            |
| 2716 | 
                + "460100": "海口市",  | 
            |
| 2717 | 
                + "460200": "三亚市",  | 
            |
| 2718 | 
                + "460300": "三沙市",  | 
            |
| 2719 | 
                + "460400": "儋州市",  | 
            |
| 2720 | 
                + "469001": "五指山市",  | 
            |
| 2721 | 
                + "469002": "琼海市",  | 
            |
| 2722 | 
                + "469005": "文昌市",  | 
            |
| 2723 | 
                + "469006": "万宁市",  | 
            |
| 2724 | 
                + "469007": "东方市",  | 
            |
| 2725 | 
                + "469021": "定安县",  | 
            |
| 2726 | 
                + "469022": "屯昌县",  | 
            |
| 2727 | 
                + "469023": "澄迈县",  | 
            |
| 2728 | 
                + "469024": "临高县",  | 
            |
| 2729 | 
                + "469025": "白沙黎族自治县",  | 
            |
| 2730 | 
                + "469026": "昌江黎族自治县",  | 
            |
| 2731 | 
                + "469027": "乐东黎族自治县",  | 
            |
| 2732 | 
                + "469028": "陵水黎族自治县",  | 
            |
| 2733 | 
                + "469029": "保亭黎族苗族自治县",  | 
            |
| 2734 | 
                + "469030": "琼中黎族苗族自治县"  | 
            |
| 2735 | 
                + },  | 
            |
| 2736 | 
                +  "460100": {
               | 
            |
| 2737 | 
                + "460105": "秀英区",  | 
            |
| 2738 | 
                + "460106": "龙华区",  | 
            |
| 2739 | 
                + "460107": "琼山区",  | 
            |
| 2740 | 
                + "460108": "美兰区"  | 
            |
| 2741 | 
                + },  | 
            |
| 2742 | 
                +  "460200": {
               | 
            |
| 2743 | 
                + "460202": "海棠区",  | 
            |
| 2744 | 
                + "460203": "吉阳区",  | 
            |
| 2745 | 
                + "460204": "天涯区",  | 
            |
| 2746 | 
                + "460205": "崖州区"  | 
            |
| 2747 | 
                + },  | 
            |
| 2748 | 
                +  "500000": {
               | 
            |
| 2749 | 
                + "500100": "市辖区"  | 
            |
| 2750 | 
                + },  | 
            |
| 2751 | 
                +  "500100": {
               | 
            |
| 2752 | 
                + "500101": "万州区",  | 
            |
| 2753 | 
                + "500102": "涪陵区",  | 
            |
| 2754 | 
                + "500103": "渝中区",  | 
            |
| 2755 | 
                + "500104": "大渡口区",  | 
            |
| 2756 | 
                + "500105": "江北区",  | 
            |
| 2757 | 
                + "500106": "沙坪坝区",  | 
            |
| 2758 | 
                + "500107": "九龙坡区",  | 
            |
| 2759 | 
                + "500108": "南岸区",  | 
            |
| 2760 | 
                + "500109": "北碚区",  | 
            |
| 2761 | 
                + "500110": "綦江区",  | 
            |
| 2762 | 
                + "500111": "大足区",  | 
            |
| 2763 | 
                + "500112": "渝北区",  | 
            |
| 2764 | 
                + "500113": "巴南区",  | 
            |
| 2765 | 
                + "500114": "黔江区",  | 
            |
| 2766 | 
                + "500115": "长寿区",  | 
            |
| 2767 | 
                + "500116": "江津区",  | 
            |
| 2768 | 
                + "500117": "合川区",  | 
            |
| 2769 | 
                + "500118": "永川区",  | 
            |
| 2770 | 
                + "500119": "南川区",  | 
            |
| 2771 | 
                + "500120": "璧山区",  | 
            |
| 2772 | 
                + "500151": "铜梁区",  | 
            |
| 2773 | 
                + "500152": "潼南区",  | 
            |
| 2774 | 
                + "500153": "荣昌区",  | 
            |
| 2775 | 
                + "500154": "开州区",  | 
            |
| 2776 | 
                + "500228": "梁平县",  | 
            |
| 2777 | 
                + "500229": "城口县",  | 
            |
| 2778 | 
                + "500230": "丰都县",  | 
            |
| 2779 | 
                + "500231": "垫江县",  | 
            |
| 2780 | 
                + "500232": "武隆县",  | 
            |
| 2781 | 
                + "500233": "忠县",  | 
            |
| 2782 | 
                + "500235": "云阳县",  | 
            |
| 2783 | 
                + "500236": "奉节县",  | 
            |
| 2784 | 
                + "500237": "巫山县",  | 
            |
| 2785 | 
                + "500238": "巫溪县",  | 
            |
| 2786 | 
                + "500240": "石柱土家族自治县",  | 
            |
| 2787 | 
                + "500241": "秀山土家族苗族自治县",  | 
            |
| 2788 | 
                + "500242": "酉阳土家族苗族自治县",  | 
            |
| 2789 | 
                + "500243": "彭水苗族土家族自治县"  | 
            |
| 2790 | 
                + },  | 
            |
| 2791 | 
                +  "510000": {
               | 
            |
| 2792 | 
                + "510100": "成都市",  | 
            |
| 2793 | 
                + "510300": "自贡市",  | 
            |
| 2794 | 
                + "510400": "攀枝花市",  | 
            |
| 2795 | 
                + "510500": "泸州市",  | 
            |
| 2796 | 
                + "510600": "德阳市",  | 
            |
| 2797 | 
                + "510700": "绵阳市",  | 
            |
| 2798 | 
                + "510800": "广元市",  | 
            |
| 2799 | 
                + "510900": "遂宁市",  | 
            |
| 2800 | 
                + "511000": "内江市",  | 
            |
| 2801 | 
                + "511100": "乐山市",  | 
            |
| 2802 | 
                + "511300": "南充市",  | 
            |
| 2803 | 
                + "511400": "眉山市",  | 
            |
| 2804 | 
                + "511500": "宜宾市",  | 
            |
| 2805 | 
                + "511600": "广安市",  | 
            |
| 2806 | 
                + "511700": "达州市",  | 
            |
| 2807 | 
                + "511800": "雅安市",  | 
            |
| 2808 | 
                + "511900": "巴中市",  | 
            |
| 2809 | 
                + "512000": "资阳市",  | 
            |
| 2810 | 
                + "513200": "阿坝藏族羌族自治州",  | 
            |
| 2811 | 
                + "513300": "甘孜藏族自治州",  | 
            |
| 2812 | 
                + "513400": "凉山彝族自治州"  | 
            |
| 2813 | 
                + },  | 
            |
| 2814 | 
                +  "510100": {
               | 
            |
| 2815 | 
                + "510104": "锦江区",  | 
            |
| 2816 | 
                + "510105": "青羊区",  | 
            |
| 2817 | 
                + "510106": "金牛区",  | 
            |
| 2818 | 
                + "510107": "武侯区",  | 
            |
| 2819 | 
                + "510108": "成华区",  | 
            |
| 2820 | 
                + "510112": "龙泉驿区",  | 
            |
| 2821 | 
                + "510113": "青白江区",  | 
            |
| 2822 | 
                + "510114": "新都区",  | 
            |
| 2823 | 
                + "510115": "温江区",  | 
            |
| 2824 | 
                + "510116": "双流区",  | 
            |
| 2825 | 
                + "510121": "金堂县",  | 
            |
| 2826 | 
                + "510124": "郫县",  | 
            |
| 2827 | 
                + "510129": "大邑县",  | 
            |
| 2828 | 
                + "510131": "蒲江县",  | 
            |
| 2829 | 
                + "510132": "新津县",  | 
            |
| 2830 | 
                + "510181": "都江堰市",  | 
            |
| 2831 | 
                + "510182": "彭州市",  | 
            |
| 2832 | 
                + "510183": "邛崃市",  | 
            |
| 2833 | 
                + "510184": "崇州市",  | 
            |
| 2834 | 
                + "510185": "简阳市"  | 
            |
| 2835 | 
                + },  | 
            |
| 2836 | 
                +  "510300": {
               | 
            |
| 2837 | 
                + "510302": "自流井区",  | 
            |
| 2838 | 
                + "510303": "贡井区",  | 
            |
| 2839 | 
                + "510304": "大安区",  | 
            |
| 2840 | 
                + "510311": "沿滩区",  | 
            |
| 2841 | 
                + "510321": "荣县",  | 
            |
| 2842 | 
                + "510322": "富顺县"  | 
            |
| 2843 | 
                + },  | 
            |
| 2844 | 
                +  "510400": {
               | 
            |
| 2845 | 
                + "510402": "东区",  | 
            |
| 2846 | 
                + "510403": "西区",  | 
            |
| 2847 | 
                + "510411": "仁和区",  | 
            |
| 2848 | 
                + "510421": "米易县",  | 
            |
| 2849 | 
                + "510422": "盐边县"  | 
            |
| 2850 | 
                + },  | 
            |
| 2851 | 
                +  "510500": {
               | 
            |
| 2852 | 
                + "510502": "江阳区",  | 
            |
| 2853 | 
                + "510503": "纳溪区",  | 
            |
| 2854 | 
                + "510504": "龙马潭区",  | 
            |
| 2855 | 
                + "510521": "泸县",  | 
            |
| 2856 | 
                + "510522": "合江县",  | 
            |
| 2857 | 
                + "510524": "叙永县",  | 
            |
| 2858 | 
                + "510525": "古蔺县"  | 
            |
| 2859 | 
                + },  | 
            |
| 2860 | 
                +  "510600": {
               | 
            |
| 2861 | 
                + "510603": "旌阳区",  | 
            |
| 2862 | 
                + "510623": "中江县",  | 
            |
| 2863 | 
                + "510626": "罗江县",  | 
            |
| 2864 | 
                + "510681": "广汉市",  | 
            |
| 2865 | 
                + "510682": "什邡市",  | 
            |
| 2866 | 
                + "510683": "绵竹市"  | 
            |
| 2867 | 
                + },  | 
            |
| 2868 | 
                +  "510700": {
               | 
            |
| 2869 | 
                + "510703": "涪城区",  | 
            |
| 2870 | 
                + "510704": "游仙区",  | 
            |
| 2871 | 
                + "510705": "安州区",  | 
            |
| 2872 | 
                + "510722": "三台县",  | 
            |
| 2873 | 
                + "510723": "盐亭县",  | 
            |
| 2874 | 
                + "510725": "梓潼县",  | 
            |
| 2875 | 
                + "510726": "北川羌族自治县",  | 
            |
| 2876 | 
                + "510727": "平武县",  | 
            |
| 2877 | 
                + "510781": "江油市"  | 
            |
| 2878 | 
                + },  | 
            |
| 2879 | 
                +  "510800": {
               | 
            |
| 2880 | 
                + "510802": "利州区",  | 
            |
| 2881 | 
                + "510811": "昭化区",  | 
            |
| 2882 | 
                + "510812": "朝天区",  | 
            |
| 2883 | 
                + "510821": "旺苍县",  | 
            |
| 2884 | 
                + "510822": "青川县",  | 
            |
| 2885 | 
                + "510823": "剑阁县",  | 
            |
| 2886 | 
                + "510824": "苍溪县"  | 
            |
| 2887 | 
                + },  | 
            |
| 2888 | 
                +  "510900": {
               | 
            |
| 2889 | 
                + "510903": "船山区",  | 
            |
| 2890 | 
                + "510904": "安居区",  | 
            |
| 2891 | 
                + "510921": "蓬溪县",  | 
            |
| 2892 | 
                + "510922": "射洪县",  | 
            |
| 2893 | 
                + "510923": "大英县"  | 
            |
| 2894 | 
                + },  | 
            |
| 2895 | 
                +  "511000": {
               | 
            |
| 2896 | 
                + "511002": "市中区",  | 
            |
| 2897 | 
                + "511011": "东兴区",  | 
            |
| 2898 | 
                + "511024": "威远县",  | 
            |
| 2899 | 
                + "511025": "资中县",  | 
            |
| 2900 | 
                + "511028": "隆昌县"  | 
            |
| 2901 | 
                + },  | 
            |
| 2902 | 
                +  "511100": {
               | 
            |
| 2903 | 
                + "511102": "市中区",  | 
            |
| 2904 | 
                + "511111": "沙湾区",  | 
            |
| 2905 | 
                + "511112": "五通桥区",  | 
            |
| 2906 | 
                + "511113": "金口河区",  | 
            |
| 2907 | 
                + "511123": "犍为县",  | 
            |
| 2908 | 
                + "511124": "井研县",  | 
            |
| 2909 | 
                + "511126": "夹江县",  | 
            |
| 2910 | 
                + "511129": "沐川县",  | 
            |
| 2911 | 
                + "511132": "峨边彝族自治县",  | 
            |
| 2912 | 
                + "511133": "马边彝族自治县",  | 
            |
| 2913 | 
                + "511181": "峨眉山市"  | 
            |
| 2914 | 
                + },  | 
            |
| 2915 | 
                +  "511300": {
               | 
            |
| 2916 | 
                + "511302": "顺庆区",  | 
            |
| 2917 | 
                + "511303": "高坪区",  | 
            |
| 2918 | 
                + "511304": "嘉陵区",  | 
            |
| 2919 | 
                + "511321": "南部县",  | 
            |
| 2920 | 
                + "511322": "营山县",  | 
            |
| 2921 | 
                + "511323": "蓬安县",  | 
            |
| 2922 | 
                + "511324": "仪陇县",  | 
            |
| 2923 | 
                + "511325": "西充县",  | 
            |
| 2924 | 
                + "511381": "阆中市"  | 
            |
| 2925 | 
                + },  | 
            |
| 2926 | 
                +  "511400": {
               | 
            |
| 2927 | 
                + "511402": "东坡区",  | 
            |
| 2928 | 
                + "511403": "彭山区",  | 
            |
| 2929 | 
                + "511421": "仁寿县",  | 
            |
| 2930 | 
                + "511423": "洪雅县",  | 
            |
| 2931 | 
                + "511424": "丹棱县",  | 
            |
| 2932 | 
                + "511425": "青神县"  | 
            |
| 2933 | 
                + },  | 
            |
| 2934 | 
                +  "511500": {
               | 
            |
| 2935 | 
                + "511502": "翠屏区",  | 
            |
| 2936 | 
                + "511503": "南溪区",  | 
            |
| 2937 | 
                + "511521": "宜宾县",  | 
            |
| 2938 | 
                + "511523": "江安县",  | 
            |
| 2939 | 
                + "511524": "长宁县",  | 
            |
| 2940 | 
                + "511525": "高县",  | 
            |
| 2941 | 
                + "511526": "珙县",  | 
            |
| 2942 | 
                + "511527": "筠连县",  | 
            |
| 2943 | 
                + "511528": "兴文县",  | 
            |
| 2944 | 
                + "511529": "屏山县"  | 
            |
| 2945 | 
                + },  | 
            |
| 2946 | 
                +  "511600": {
               | 
            |
| 2947 | 
                + "511602": "广安区",  | 
            |
| 2948 | 
                + "511603": "前锋区",  | 
            |
| 2949 | 
                + "511621": "岳池县",  | 
            |
| 2950 | 
                + "511622": "武胜县",  | 
            |
| 2951 | 
                + "511623": "邻水县",  | 
            |
| 2952 | 
                + "511681": "华蓥市"  | 
            |
| 2953 | 
                + },  | 
            |
| 2954 | 
                +  "511700": {
               | 
            |
| 2955 | 
                + "511702": "通川区",  | 
            |
| 2956 | 
                + "511703": "达川区",  | 
            |
| 2957 | 
                + "511722": "宣汉县",  | 
            |
| 2958 | 
                + "511723": "开江县",  | 
            |
| 2959 | 
                + "511724": "大竹县",  | 
            |
| 2960 | 
                + "511725": "渠县",  | 
            |
| 2961 | 
                + "511781": "万源市"  | 
            |
| 2962 | 
                + },  | 
            |
| 2963 | 
                +  "511800": {
               | 
            |
| 2964 | 
                + "511802": "雨城区",  | 
            |
| 2965 | 
                + "511803": "名山区",  | 
            |
| 2966 | 
                + "511822": "荥经县",  | 
            |
| 2967 | 
                + "511823": "汉源县",  | 
            |
| 2968 | 
                + "511824": "石棉县",  | 
            |
| 2969 | 
                + "511825": "天全县",  | 
            |
| 2970 | 
                + "511826": "芦山县",  | 
            |
| 2971 | 
                + "511827": "宝兴县"  | 
            |
| 2972 | 
                + },  | 
            |
| 2973 | 
                +  "511900": {
               | 
            |
| 2974 | 
                + "511902": "巴州区",  | 
            |
| 2975 | 
                + "511903": "恩阳区",  | 
            |
| 2976 | 
                + "511921": "通江县",  | 
            |
| 2977 | 
                + "511922": "南江县",  | 
            |
| 2978 | 
                + "511923": "平昌县"  | 
            |
| 2979 | 
                + },  | 
            |
| 2980 | 
                +  "512000": {
               | 
            |
| 2981 | 
                + "512002": "雁江区",  | 
            |
| 2982 | 
                + "512021": "安岳县",  | 
            |
| 2983 | 
                + "512022": "乐至县"  | 
            |
| 2984 | 
                + },  | 
            |
| 2985 | 
                +  "513200": {
               | 
            |
| 2986 | 
                + "513201": "马尔康市",  | 
            |
| 2987 | 
                + "513221": "汶川县",  | 
            |
| 2988 | 
                + "513222": "理县",  | 
            |
| 2989 | 
                + "513223": "茂县",  | 
            |
| 2990 | 
                + "513224": "松潘县",  | 
            |
| 2991 | 
                + "513225": "九寨沟县",  | 
            |
| 2992 | 
                + "513226": "金川县",  | 
            |
| 2993 | 
                + "513227": "小金县",  | 
            |
| 2994 | 
                + "513228": "黑水县",  | 
            |
| 2995 | 
                + "513230": "壤塘县",  | 
            |
| 2996 | 
                + "513231": "阿坝县",  | 
            |
| 2997 | 
                + "513232": "若尔盖县",  | 
            |
| 2998 | 
                + "513233": "红原县"  | 
            |
| 2999 | 
                + },  | 
            |
| 3000 | 
                +  "513300": {
               | 
            |
| 3001 | 
                + "513301": "康定市",  | 
            |
| 3002 | 
                + "513322": "泸定县",  | 
            |
| 3003 | 
                + "513323": "丹巴县",  | 
            |
| 3004 | 
                + "513324": "九龙县",  | 
            |
| 3005 | 
                + "513325": "雅江县",  | 
            |
| 3006 | 
                + "513326": "道孚县",  | 
            |
| 3007 | 
                + "513327": "炉霍县",  | 
            |
| 3008 | 
                + "513328": "甘孜县",  | 
            |
| 3009 | 
                + "513329": "新龙县",  | 
            |
| 3010 | 
                + "513330": "德格县",  | 
            |
| 3011 | 
                + "513331": "白玉县",  | 
            |
| 3012 | 
                + "513332": "石渠县",  | 
            |
| 3013 | 
                + "513333": "色达县",  | 
            |
| 3014 | 
                + "513334": "理塘县",  | 
            |
| 3015 | 
                + "513335": "巴塘县",  | 
            |
| 3016 | 
                + "513336": "乡城县",  | 
            |
| 3017 | 
                + "513337": "稻城县",  | 
            |
| 3018 | 
                + "513338": "得荣县"  | 
            |
| 3019 | 
                + },  | 
            |
| 3020 | 
                +  "513400": {
               | 
            |
| 3021 | 
                + "513401": "西昌市",  | 
            |
| 3022 | 
                + "513422": "木里藏族自治县",  | 
            |
| 3023 | 
                + "513423": "盐源县",  | 
            |
| 3024 | 
                + "513424": "德昌县",  | 
            |
| 3025 | 
                + "513425": "会理县",  | 
            |
| 3026 | 
                + "513426": "会东县",  | 
            |
| 3027 | 
                + "513427": "宁南县",  | 
            |
| 3028 | 
                + "513428": "普格县",  | 
            |
| 3029 | 
                + "513429": "布拖县",  | 
            |
| 3030 | 
                + "513430": "金阳县",  | 
            |
| 3031 | 
                + "513431": "昭觉县",  | 
            |
| 3032 | 
                + "513432": "喜德县",  | 
            |
| 3033 | 
                + "513433": "冕宁县",  | 
            |
| 3034 | 
                + "513434": "越西县",  | 
            |
| 3035 | 
                + "513435": "甘洛县",  | 
            |
| 3036 | 
                + "513436": "美姑县",  | 
            |
| 3037 | 
                + "513437": "雷波县"  | 
            |
| 3038 | 
                + },  | 
            |
| 3039 | 
                +  "520000": {
               | 
            |
| 3040 | 
                + "520100": "贵阳市",  | 
            |
| 3041 | 
                + "520200": "六盘水市",  | 
            |
| 3042 | 
                + "520300": "遵义市",  | 
            |
| 3043 | 
                + "520400": "安顺市",  | 
            |
| 3044 | 
                + "520500": "毕节市",  | 
            |
| 3045 | 
                + "520600": "铜仁市",  | 
            |
| 3046 | 
                + "522300": "黔西南布依族苗族自治州",  | 
            |
| 3047 | 
                + "522600": "黔东南苗族侗族自治州",  | 
            |
| 3048 | 
                + "522700": "黔南布依族苗族自治州"  | 
            |
| 3049 | 
                + },  | 
            |
| 3050 | 
                +  "520100": {
               | 
            |
| 3051 | 
                + "520102": "南明区",  | 
            |
| 3052 | 
                + "520103": "云岩区",  | 
            |
| 3053 | 
                + "520111": "花溪区",  | 
            |
| 3054 | 
                + "520112": "乌当区",  | 
            |
| 3055 | 
                + "520113": "白云区",  | 
            |
| 3056 | 
                + "520115": "观山湖区",  | 
            |
| 3057 | 
                + "520121": "开阳县",  | 
            |
| 3058 | 
                + "520122": "息烽县",  | 
            |
| 3059 | 
                + "520123": "修文县",  | 
            |
| 3060 | 
                + "520181": "清镇市"  | 
            |
| 3061 | 
                + },  | 
            |
| 3062 | 
                +  "520200": {
               | 
            |
| 3063 | 
                + "520201": "钟山区",  | 
            |
| 3064 | 
                + "520203": "六枝特区",  | 
            |
| 3065 | 
                + "520221": "水城县",  | 
            |
| 3066 | 
                + "520222": "盘县"  | 
            |
| 3067 | 
                + },  | 
            |
| 3068 | 
                +  "520300": {
               | 
            |
| 3069 | 
                + "520302": "红花岗区",  | 
            |
| 3070 | 
                + "520303": "汇川区",  | 
            |
| 3071 | 
                + "520304": "播州区",  | 
            |
| 3072 | 
                + "520322": "桐梓县",  | 
            |
| 3073 | 
                + "520323": "绥阳县",  | 
            |
| 3074 | 
                + "520324": "正安县",  | 
            |
| 3075 | 
                + "520325": "道真仡佬族苗族自治县",  | 
            |
| 3076 | 
                + "520326": "务川仡佬族苗族自治县",  | 
            |
| 3077 | 
                + "520327": "凤冈县",  | 
            |
| 3078 | 
                + "520328": "湄潭县",  | 
            |
| 3079 | 
                + "520329": "余庆县",  | 
            |
| 3080 | 
                + "520330": "习水县",  | 
            |
| 3081 | 
                + "520381": "赤水市",  | 
            |
| 3082 | 
                + "520382": "仁怀市"  | 
            |
| 3083 | 
                + },  | 
            |
| 3084 | 
                +  "520400": {
               | 
            |
| 3085 | 
                + "520402": "西秀区",  | 
            |
| 3086 | 
                + "520403": "平坝区",  | 
            |
| 3087 | 
                + "520422": "普定县",  | 
            |
| 3088 | 
                + "520423": "镇宁布依族苗族自治县",  | 
            |
| 3089 | 
                + "520424": "关岭布依族苗族自治县",  | 
            |
| 3090 | 
                + "520425": "紫云苗族布依族自治县"  | 
            |
| 3091 | 
                + },  | 
            |
| 3092 | 
                +  "520500": {
               | 
            |
| 3093 | 
                + "520502": "七星关区",  | 
            |
| 3094 | 
                + "520521": "大方县",  | 
            |
| 3095 | 
                + "520522": "黔西县",  | 
            |
| 3096 | 
                + "520523": "金沙县",  | 
            |
| 3097 | 
                + "520524": "织金县",  | 
            |
| 3098 | 
                + "520525": "纳雍县",  | 
            |
| 3099 | 
                + "520526": "威宁彝族回族苗族自治县",  | 
            |
| 3100 | 
                + "520527": "赫章县"  | 
            |
| 3101 | 
                + },  | 
            |
| 3102 | 
                +  "520600": {
               | 
            |
| 3103 | 
                + "520602": "碧江区",  | 
            |
| 3104 | 
                + "520603": "万山区",  | 
            |
| 3105 | 
                + "520621": "江口县",  | 
            |
| 3106 | 
                + "520622": "玉屏侗族自治县",  | 
            |
| 3107 | 
                + "520623": "石阡县",  | 
            |
| 3108 | 
                + "520624": "思南县",  | 
            |
| 3109 | 
                + "520625": "印江土家族苗族自治县",  | 
            |
| 3110 | 
                + "520626": "德江县",  | 
            |
| 3111 | 
                + "520627": "沿河土家族自治县",  | 
            |
| 3112 | 
                + "520628": "松桃苗族自治县"  | 
            |
| 3113 | 
                + },  | 
            |
| 3114 | 
                +  "522300": {
               | 
            |
| 3115 | 
                + "522301": "兴义市",  | 
            |
| 3116 | 
                + "522322": "兴仁县",  | 
            |
| 3117 | 
                + "522323": "普安县",  | 
            |
| 3118 | 
                + "522324": "晴隆县",  | 
            |
| 3119 | 
                + "522325": "贞丰县",  | 
            |
| 3120 | 
                + "522326": "望谟县",  | 
            |
| 3121 | 
                + "522327": "册亨县",  | 
            |
| 3122 | 
                + "522328": "安龙县"  | 
            |
| 3123 | 
                + },  | 
            |
| 3124 | 
                +  "522600": {
               | 
            |
| 3125 | 
                + "522601": "凯里市",  | 
            |
| 3126 | 
                + "522622": "黄平县",  | 
            |
| 3127 | 
                + "522623": "施秉县",  | 
            |
| 3128 | 
                + "522624": "三穗县",  | 
            |
| 3129 | 
                + "522625": "镇远县",  | 
            |
| 3130 | 
                + "522626": "岑巩县",  | 
            |
| 3131 | 
                + "522627": "天柱县",  | 
            |
| 3132 | 
                + "522628": "锦屏县",  | 
            |
| 3133 | 
                + "522629": "剑河县",  | 
            |
| 3134 | 
                + "522630": "台江县",  | 
            |
| 3135 | 
                + "522631": "黎平县",  | 
            |
| 3136 | 
                + "522632": "榕江县",  | 
            |
| 3137 | 
                + "522633": "从江县",  | 
            |
| 3138 | 
                + "522634": "雷山县",  | 
            |
| 3139 | 
                + "522635": "麻江县",  | 
            |
| 3140 | 
                + "522636": "丹寨县"  | 
            |
| 3141 | 
                + },  | 
            |
| 3142 | 
                +  "522700": {
               | 
            |
| 3143 | 
                + "522701": "都匀市",  | 
            |
| 3144 | 
                + "522702": "福泉市",  | 
            |
| 3145 | 
                + "522722": "荔波县",  | 
            |
| 3146 | 
                + "522723": "贵定县",  | 
            |
| 3147 | 
                + "522725": "瓮安县",  | 
            |
| 3148 | 
                + "522726": "独山县",  | 
            |
| 3149 | 
                + "522727": "平塘县",  | 
            |
| 3150 | 
                + "522728": "罗甸县",  | 
            |
| 3151 | 
                + "522729": "长顺县",  | 
            |
| 3152 | 
                + "522730": "龙里县",  | 
            |
| 3153 | 
                + "522731": "惠水县",  | 
            |
| 3154 | 
                + "522732": "三都水族自治县"  | 
            |
| 3155 | 
                + },  | 
            |
| 3156 | 
                +  "530000": {
               | 
            |
| 3157 | 
                + "530100": "昆明市",  | 
            |
| 3158 | 
                + "530300": "曲靖市",  | 
            |
| 3159 | 
                + "530400": "玉溪市",  | 
            |
| 3160 | 
                + "530500": "保山市",  | 
            |
| 3161 | 
                + "530600": "昭通市",  | 
            |
| 3162 | 
                + "530700": "丽江市",  | 
            |
| 3163 | 
                + "530800": "普洱市",  | 
            |
| 3164 | 
                + "530900": "临沧市",  | 
            |
| 3165 | 
                + "532300": "楚雄彝族自治州",  | 
            |
| 3166 | 
                + "532500": "红河哈尼族彝族自治州",  | 
            |
| 3167 | 
                + "532600": "文山壮族苗族自治州",  | 
            |
| 3168 | 
                + "532800": "西双版纳傣族自治州",  | 
            |
| 3169 | 
                + "532900": "大理白族自治州",  | 
            |
| 3170 | 
                + "533100": "德宏傣族景颇族自治州",  | 
            |
| 3171 | 
                + "533300": "怒江傈僳族自治州",  | 
            |
| 3172 | 
                + "533400": "迪庆藏族自治州"  | 
            |
| 3173 | 
                + },  | 
            |
| 3174 | 
                +  "530100": {
               | 
            |
| 3175 | 
                + "530102": "五华区",  | 
            |
| 3176 | 
                + "530103": "盘龙区",  | 
            |
| 3177 | 
                + "530111": "官渡区",  | 
            |
| 3178 | 
                + "530112": "西山区",  | 
            |
| 3179 | 
                + "530113": "东川区",  | 
            |
| 3180 | 
                + "530114": "呈贡区",  | 
            |
| 3181 | 
                + "530122": "晋宁县",  | 
            |
| 3182 | 
                + "530124": "富民县",  | 
            |
| 3183 | 
                + "530125": "宜良县",  | 
            |
| 3184 | 
                + "530126": "石林彝族自治县",  | 
            |
| 3185 | 
                + "530127": "嵩明县",  | 
            |
| 3186 | 
                + "530128": "禄劝彝族苗族自治县",  | 
            |
| 3187 | 
                + "530129": "寻甸回族彝族自治县",  | 
            |
| 3188 | 
                + "530181": "安宁市"  | 
            |
| 3189 | 
                + },  | 
            |
| 3190 | 
                +  "530300": {
               | 
            |
| 3191 | 
                + "530302": "麒麟区",  | 
            |
| 3192 | 
                + "530303": "沾益区",  | 
            |
| 3193 | 
                + "530321": "马龙县",  | 
            |
| 3194 | 
                + "530322": "陆良县",  | 
            |
| 3195 | 
                + "530323": "师宗县",  | 
            |
| 3196 | 
                + "530324": "罗平县",  | 
            |
| 3197 | 
                + "530325": "富源县",  | 
            |
| 3198 | 
                + "530326": "会泽县",  | 
            |
| 3199 | 
                + "530381": "宣威市"  | 
            |
| 3200 | 
                + },  | 
            |
| 3201 | 
                +  "530400": {
               | 
            |
| 3202 | 
                + "530402": "红塔区",  | 
            |
| 3203 | 
                + "530403": "江川区",  | 
            |
| 3204 | 
                + "530422": "澄江县",  | 
            |
| 3205 | 
                + "530423": "通海县",  | 
            |
| 3206 | 
                + "530424": "华宁县",  | 
            |
| 3207 | 
                + "530425": "易门县",  | 
            |
| 3208 | 
                + "530426": "峨山彝族自治县",  | 
            |
| 3209 | 
                + "530427": "新平彝族傣族自治县",  | 
            |
| 3210 | 
                + "530428": "元江哈尼族彝族傣族自治县"  | 
            |
| 3211 | 
                + },  | 
            |
| 3212 | 
                +  "530500": {
               | 
            |
| 3213 | 
                + "530502": "隆阳区",  | 
            |
| 3214 | 
                + "530521": "施甸县",  | 
            |
| 3215 | 
                + "530523": "龙陵县",  | 
            |
| 3216 | 
                + "530524": "昌宁县",  | 
            |
| 3217 | 
                + "530581": "腾冲市"  | 
            |
| 3218 | 
                + },  | 
            |
| 3219 | 
                +  "530600": {
               | 
            |
| 3220 | 
                + "530602": "昭阳区",  | 
            |
| 3221 | 
                + "530621": "鲁甸县",  | 
            |
| 3222 | 
                + "530622": "巧家县",  | 
            |
| 3223 | 
                + "530623": "盐津县",  | 
            |
| 3224 | 
                + "530624": "大关县",  | 
            |
| 3225 | 
                + "530625": "永善县",  | 
            |
| 3226 | 
                + "530626": "绥江县",  | 
            |
| 3227 | 
                + "530627": "镇雄县",  | 
            |
| 3228 | 
                + "530628": "彝良县",  | 
            |
| 3229 | 
                + "530629": "威信县",  | 
            |
| 3230 | 
                + "530630": "水富县"  | 
            |
| 3231 | 
                + },  | 
            |
| 3232 | 
                +  "530700": {
               | 
            |
| 3233 | 
                + "530702": "古城区",  | 
            |
| 3234 | 
                + "530721": "玉龙纳西族自治县",  | 
            |
| 3235 | 
                + "530722": "永胜县",  | 
            |
| 3236 | 
                + "530723": "华坪县",  | 
            |
| 3237 | 
                + "530724": "宁蒗彝族自治县"  | 
            |
| 3238 | 
                + },  | 
            |
| 3239 | 
                +  "530800": {
               | 
            |
| 3240 | 
                + "530802": "思茅区",  | 
            |
| 3241 | 
                + "530821": "宁洱哈尼族彝族自治县",  | 
            |
| 3242 | 
                + "530822": "墨江哈尼族自治县",  | 
            |
| 3243 | 
                + "530823": "景东彝族自治县",  | 
            |
| 3244 | 
                + "530824": "景谷傣族彝族自治县",  | 
            |
| 3245 | 
                + "530825": "镇沅彝族哈尼族拉祜族自治县",  | 
            |
| 3246 | 
                + "530826": "江城哈尼族彝族自治县",  | 
            |
| 3247 | 
                + "530827": "孟连傣族拉祜族佤族自治县",  | 
            |
| 3248 | 
                + "530828": "澜沧拉祜族自治县",  | 
            |
| 3249 | 
                + "530829": "西盟佤族自治县"  | 
            |
| 3250 | 
                + },  | 
            |
| 3251 | 
                +  "530900": {
               | 
            |
| 3252 | 
                + "530902": "临翔区",  | 
            |
| 3253 | 
                + "530921": "凤庆县",  | 
            |
| 3254 | 
                + "530922": "云县",  | 
            |
| 3255 | 
                + "530923": "永德县",  | 
            |
| 3256 | 
                + "530924": "镇康县",  | 
            |
| 3257 | 
                + "530925": "双江拉祜族佤族布朗族傣族自治县",  | 
            |
| 3258 | 
                + "530926": "耿马傣族佤族自治县",  | 
            |
| 3259 | 
                + "530927": "沧源佤族自治县"  | 
            |
| 3260 | 
                + },  | 
            |
| 3261 | 
                +  "532300": {
               | 
            |
| 3262 | 
                + "532301": "楚雄市",  | 
            |
| 3263 | 
                + "532322": "双柏县",  | 
            |
| 3264 | 
                + "532323": "牟定县",  | 
            |
| 3265 | 
                + "532324": "南华县",  | 
            |
| 3266 | 
                + "532325": "姚安县",  | 
            |
| 3267 | 
                + "532326": "大姚县",  | 
            |
| 3268 | 
                + "532327": "永仁县",  | 
            |
| 3269 | 
                + "532328": "元谋县",  | 
            |
| 3270 | 
                + "532329": "武定县",  | 
            |
| 3271 | 
                + "532331": "禄丰县"  | 
            |
| 3272 | 
                + },  | 
            |
| 3273 | 
                +  "532500": {
               | 
            |
| 3274 | 
                + "532501": "个旧市",  | 
            |
| 3275 | 
                + "532502": "开远市",  | 
            |
| 3276 | 
                + "532503": "蒙自市",  | 
            |
| 3277 | 
                + "532504": "弥勒市",  | 
            |
| 3278 | 
                + "532523": "屏边苗族自治县",  | 
            |
| 3279 | 
                + "532524": "建水县",  | 
            |
| 3280 | 
                + "532525": "石屏县",  | 
            |
| 3281 | 
                + "532527": "泸西县",  | 
            |
| 3282 | 
                + "532528": "元阳县",  | 
            |
| 3283 | 
                + "532529": "红河县",  | 
            |
| 3284 | 
                + "532530": "金平苗族瑶族傣族自治县",  | 
            |
| 3285 | 
                + "532531": "绿春县",  | 
            |
| 3286 | 
                + "532532": "河口瑶族自治县"  | 
            |
| 3287 | 
                + },  | 
            |
| 3288 | 
                +  "532600": {
               | 
            |
| 3289 | 
                + "532601": "文山市",  | 
            |
| 3290 | 
                + "532622": "砚山县",  | 
            |
| 3291 | 
                + "532623": "西畴县",  | 
            |
| 3292 | 
                + "532624": "麻栗坡县",  | 
            |
| 3293 | 
                + "532625": "马关县",  | 
            |
| 3294 | 
                + "532626": "丘北县",  | 
            |
| 3295 | 
                + "532627": "广南县",  | 
            |
| 3296 | 
                + "532628": "富宁县"  | 
            |
| 3297 | 
                + },  | 
            |
| 3298 | 
                +  "532800": {
               | 
            |
| 3299 | 
                + "532801": "景洪市",  | 
            |
| 3300 | 
                + "532822": "勐海县",  | 
            |
| 3301 | 
                + "532823": "勐腊县"  | 
            |
| 3302 | 
                + },  | 
            |
| 3303 | 
                +  "532900": {
               | 
            |
| 3304 | 
                + "532901": "大理市",  | 
            |
| 3305 | 
                + "532922": "漾濞彝族自治县",  | 
            |
| 3306 | 
                + "532923": "祥云县",  | 
            |
| 3307 | 
                + "532924": "宾川县",  | 
            |
| 3308 | 
                + "532925": "弥渡县",  | 
            |
| 3309 | 
                + "532926": "南涧彝族自治县",  | 
            |
| 3310 | 
                + "532927": "巍山彝族回族自治县",  | 
            |
| 3311 | 
                + "532928": "永平县",  | 
            |
| 3312 | 
                + "532929": "云龙县",  | 
            |
| 3313 | 
                + "532930": "洱源县",  | 
            |
| 3314 | 
                + "532931": "剑川县",  | 
            |
| 3315 | 
                + "532932": "鹤庆县"  | 
            |
| 3316 | 
                + },  | 
            |
| 3317 | 
                +  "533100": {
               | 
            |
| 3318 | 
                + "533102": "瑞丽市",  | 
            |
| 3319 | 
                + "533103": "芒市",  | 
            |
| 3320 | 
                + "533122": "梁河县",  | 
            |
| 3321 | 
                + "533123": "盈江县",  | 
            |
| 3322 | 
                + "533124": "陇川县"  | 
            |
| 3323 | 
                + },  | 
            |
| 3324 | 
                +  "533300": {
               | 
            |
| 3325 | 
                + "533301": "泸水市",  | 
            |
| 3326 | 
                + "533323": "福贡县",  | 
            |
| 3327 | 
                + "533324": "贡山独龙族怒族自治县",  | 
            |
| 3328 | 
                + "533325": "兰坪白族普米族自治县"  | 
            |
| 3329 | 
                + },  | 
            |
| 3330 | 
                +  "533400": {
               | 
            |
| 3331 | 
                + "533401": "香格里拉市",  | 
            |
| 3332 | 
                + "533422": "德钦县",  | 
            |
| 3333 | 
                + "533423": "维西傈僳族自治县"  | 
            |
| 3334 | 
                + },  | 
            |
| 3335 | 
                +  "540000": {
               | 
            |
| 3336 | 
                + "540100": "拉萨市",  | 
            |
| 3337 | 
                + "540200": "日喀则市",  | 
            |
| 3338 | 
                + "540300": "昌都市",  | 
            |
| 3339 | 
                + "540400": "林芝市",  | 
            |
| 3340 | 
                + "540500": "山南市",  | 
            |
| 3341 | 
                + "542400": "那曲地区",  | 
            |
| 3342 | 
                + "542500": "阿里地区"  | 
            |
| 3343 | 
                + },  | 
            |
| 3344 | 
                +  "540100": {
               | 
            |
| 3345 | 
                + "540102": "城关区",  | 
            |
| 3346 | 
                + "540103": "堆龙德庆区",  | 
            |
| 3347 | 
                + "540121": "林周县",  | 
            |
| 3348 | 
                + "540122": "当雄县",  | 
            |
| 3349 | 
                + "540123": "尼木县",  | 
            |
| 3350 | 
                + "540124": "曲水县",  | 
            |
| 3351 | 
                + "540126": "达孜县",  | 
            |
| 3352 | 
                + "540127": "墨竹工卡县"  | 
            |
| 3353 | 
                + },  | 
            |
| 3354 | 
                +  "540200": {
               | 
            |
| 3355 | 
                + "540202": "桑珠孜区",  | 
            |
| 3356 | 
                + "540221": "南木林县",  | 
            |
| 3357 | 
                + "540222": "江孜县",  | 
            |
| 3358 | 
                + "540223": "定日县",  | 
            |
| 3359 | 
                + "540224": "萨迦县",  | 
            |
| 3360 | 
                + "540225": "拉孜县",  | 
            |
| 3361 | 
                + "540226": "昂仁县",  | 
            |
| 3362 | 
                + "540227": "谢通门县",  | 
            |
| 3363 | 
                + "540228": "白朗县",  | 
            |
| 3364 | 
                + "540229": "仁布县",  | 
            |
| 3365 | 
                + "540230": "康马县",  | 
            |
| 3366 | 
                + "540231": "定结县",  | 
            |
| 3367 | 
                + "540232": "仲巴县",  | 
            |
| 3368 | 
                + "540233": "亚东县",  | 
            |
| 3369 | 
                + "540234": "吉隆县",  | 
            |
| 3370 | 
                + "540235": "聂拉木县",  | 
            |
| 3371 | 
                + "540236": "萨嘎县",  | 
            |
| 3372 | 
                + "540237": "岗巴县"  | 
            |
| 3373 | 
                + },  | 
            |
| 3374 | 
                +  "540300": {
               | 
            |
| 3375 | 
                + "540302": "卡若区",  | 
            |
| 3376 | 
                + "540321": "江达县",  | 
            |
| 3377 | 
                + "540322": "贡觉县",  | 
            |
| 3378 | 
                + "540323": "类乌齐县",  | 
            |
| 3379 | 
                + "540324": "丁青县",  | 
            |
| 3380 | 
                + "540325": "察雅县",  | 
            |
| 3381 | 
                + "540326": "八宿县",  | 
            |
| 3382 | 
                + "540327": "左贡县",  | 
            |
| 3383 | 
                + "540328": "芒康县",  | 
            |
| 3384 | 
                + "540329": "洛隆县",  | 
            |
| 3385 | 
                + "540330": "边坝县"  | 
            |
| 3386 | 
                + },  | 
            |
| 3387 | 
                +  "540400": {
               | 
            |
| 3388 | 
                + "540402": "巴宜区",  | 
            |
| 3389 | 
                + "540421": "工布江达县",  | 
            |
| 3390 | 
                + "540422": "米林县",  | 
            |
| 3391 | 
                + "540423": "墨脱县",  | 
            |
| 3392 | 
                + "540424": "波密县",  | 
            |
| 3393 | 
                + "540425": "察隅县",  | 
            |
| 3394 | 
                + "540426": "朗县"  | 
            |
| 3395 | 
                + },  | 
            |
| 3396 | 
                +  "540500": {
               | 
            |
| 3397 | 
                + "540502": "乃东区",  | 
            |
| 3398 | 
                + "540521": "扎囊县",  | 
            |
| 3399 | 
                + "540522": "贡嘎县",  | 
            |
| 3400 | 
                + "540523": "桑日县",  | 
            |
| 3401 | 
                + "540524": "琼结县",  | 
            |
| 3402 | 
                + "540525": "曲松县",  | 
            |
| 3403 | 
                + "540526": "措美县",  | 
            |
| 3404 | 
                + "540527": "洛扎县",  | 
            |
| 3405 | 
                + "540528": "加查县",  | 
            |
| 3406 | 
                + "540529": "隆子县",  | 
            |
| 3407 | 
                + "540530": "错那县",  | 
            |
| 3408 | 
                + "540531": "浪卡子县"  | 
            |
| 3409 | 
                + },  | 
            |
| 3410 | 
                +  "542400": {
               | 
            |
| 3411 | 
                + "542421": "那曲县",  | 
            |
| 3412 | 
                + "542422": "嘉黎县",  | 
            |
| 3413 | 
                + "542423": "比如县",  | 
            |
| 3414 | 
                + "542424": "聂荣县",  | 
            |
| 3415 | 
                + "542425": "安多县",  | 
            |
| 3416 | 
                + "542426": "申扎县",  | 
            |
| 3417 | 
                + "542427": "索县",  | 
            |
| 3418 | 
                + "542428": "班戈县",  | 
            |
| 3419 | 
                + "542429": "巴青县",  | 
            |
| 3420 | 
                + "542430": "尼玛县",  | 
            |
| 3421 | 
                + "542431": "双湖县"  | 
            |
| 3422 | 
                + },  | 
            |
| 3423 | 
                +  "542500": {
               | 
            |
| 3424 | 
                + "542521": "普兰县",  | 
            |
| 3425 | 
                + "542522": "札达县",  | 
            |
| 3426 | 
                + "542523": "噶尔县",  | 
            |
| 3427 | 
                + "542524": "日土县",  | 
            |
| 3428 | 
                + "542525": "革吉县",  | 
            |
| 3429 | 
                + "542526": "改则县",  | 
            |
| 3430 | 
                + "542527": "措勤县"  | 
            |
| 3431 | 
                + },  | 
            |
| 3432 | 
                +  "610000": {
               | 
            |
| 3433 | 
                + "610100": "西安市",  | 
            |
| 3434 | 
                + "610200": "铜川市",  | 
            |
| 3435 | 
                + "610300": "宝鸡市",  | 
            |
| 3436 | 
                + "610400": "咸阳市",  | 
            |
| 3437 | 
                + "610500": "渭南市",  | 
            |
| 3438 | 
                + "610600": "延安市",  | 
            |
| 3439 | 
                + "610700": "汉中市",  | 
            |
| 3440 | 
                + "610800": "榆林市",  | 
            |
| 3441 | 
                + "610900": "安康市",  | 
            |
| 3442 | 
                + "611000": "商洛市"  | 
            |
| 3443 | 
                + },  | 
            |
| 3444 | 
                +  "610100": {
               | 
            |
| 3445 | 
                + "610102": "新城区",  | 
            |
| 3446 | 
                + "610103": "碑林区",  | 
            |
| 3447 | 
                + "610104": "莲湖区",  | 
            |
| 3448 | 
                + "610111": "灞桥区",  | 
            |
| 3449 | 
                + "610112": "未央区",  | 
            |
| 3450 | 
                + "610113": "雁塔区",  | 
            |
| 3451 | 
                + "610114": "阎良区",  | 
            |
| 3452 | 
                + "610115": "临潼区",  | 
            |
| 3453 | 
                + "610116": "长安区",  | 
            |
| 3454 | 
                + "610117": "高陵区",  | 
            |
| 3455 | 
                + "610122": "蓝田县",  | 
            |
| 3456 | 
                + "610124": "周至县",  | 
            |
| 3457 | 
                + "610125": "户县"  | 
            |
| 3458 | 
                + },  | 
            |
| 3459 | 
                +  "610200": {
               | 
            |
| 3460 | 
                + "610202": "王益区",  | 
            |
| 3461 | 
                + "610203": "印台区",  | 
            |
| 3462 | 
                + "610204": "耀州区",  | 
            |
| 3463 | 
                + "610222": "宜君县"  | 
            |
| 3464 | 
                + },  | 
            |
| 3465 | 
                +  "610300": {
               | 
            |
| 3466 | 
                + "610302": "渭滨区",  | 
            |
| 3467 | 
                + "610303": "金台区",  | 
            |
| 3468 | 
                + "610304": "陈仓区",  | 
            |
| 3469 | 
                + "610322": "凤翔县",  | 
            |
| 3470 | 
                + "610323": "岐山县",  | 
            |
| 3471 | 
                + "610324": "扶风县",  | 
            |
| 3472 | 
                + "610326": "眉县",  | 
            |
| 3473 | 
                + "610327": "陇县",  | 
            |
| 3474 | 
                + "610328": "千阳县",  | 
            |
| 3475 | 
                + "610329": "麟游县",  | 
            |
| 3476 | 
                + "610330": "凤县",  | 
            |
| 3477 | 
                + "610331": "太白县"  | 
            |
| 3478 | 
                + },  | 
            |
| 3479 | 
                +  "610400": {
               | 
            |
| 3480 | 
                + "610402": "秦都区",  | 
            |
| 3481 | 
                + "610403": "杨陵区",  | 
            |
| 3482 | 
                + "610404": "渭城区",  | 
            |
| 3483 | 
                + "610422": "三原县",  | 
            |
| 3484 | 
                + "610423": "泾阳县",  | 
            |
| 3485 | 
                + "610424": "乾县",  | 
            |
| 3486 | 
                + "610425": "礼泉县",  | 
            |
| 3487 | 
                + "610426": "永寿县",  | 
            |
| 3488 | 
                + "610427": "彬县",  | 
            |
| 3489 | 
                + "610428": "长武县",  | 
            |
| 3490 | 
                + "610429": "旬邑县",  | 
            |
| 3491 | 
                + "610430": "淳化县",  | 
            |
| 3492 | 
                + "610431": "武功县",  | 
            |
| 3493 | 
                + "610481": "兴平市"  | 
            |
| 3494 | 
                + },  | 
            |
| 3495 | 
                +  "610500": {
               | 
            |
| 3496 | 
                + "610502": "临渭区",  | 
            |
| 3497 | 
                + "610503": "华州区",  | 
            |
| 3498 | 
                + "610522": "潼关县",  | 
            |
| 3499 | 
                + "610523": "大荔县",  | 
            |
| 3500 | 
                + "610524": "合阳县",  | 
            |
| 3501 | 
                + "610525": "澄城县",  | 
            |
| 3502 | 
                + "610526": "蒲城县",  | 
            |
| 3503 | 
                + "610527": "白水县",  | 
            |
| 3504 | 
                + "610528": "富平县",  | 
            |
| 3505 | 
                + "610581": "韩城市",  | 
            |
| 3506 | 
                + "610582": "华阴市"  | 
            |
| 3507 | 
                + },  | 
            |
| 3508 | 
                +  "610600": {
               | 
            |
| 3509 | 
                + "610602": "宝塔区",  | 
            |
| 3510 | 
                + "610603": "安塞区",  | 
            |
| 3511 | 
                + "610621": "延长县",  | 
            |
| 3512 | 
                + "610622": "延川县",  | 
            |
| 3513 | 
                + "610623": "子长县",  | 
            |
| 3514 | 
                + "610625": "志丹县",  | 
            |
| 3515 | 
                + "610626": "吴起县",  | 
            |
| 3516 | 
                + "610627": "甘泉县",  | 
            |
| 3517 | 
                + "610628": "富县",  | 
            |
| 3518 | 
                + "610629": "洛川县",  | 
            |
| 3519 | 
                + "610630": "宜川县",  | 
            |
| 3520 | 
                + "610631": "黄龙县",  | 
            |
| 3521 | 
                + "610632": "黄陵县"  | 
            |
| 3522 | 
                + },  | 
            |
| 3523 | 
                +  "610700": {
               | 
            |
| 3524 | 
                + "610702": "汉台区",  | 
            |
| 3525 | 
                + "610721": "南郑县",  | 
            |
| 3526 | 
                + "610722": "城固县",  | 
            |
| 3527 | 
                + "610723": "洋县",  | 
            |
| 3528 | 
                + "610724": "西乡县",  | 
            |
| 3529 | 
                + "610725": "勉县",  | 
            |
| 3530 | 
                + "610726": "宁强县",  | 
            |
| 3531 | 
                + "610727": "略阳县",  | 
            |
| 3532 | 
                + "610728": "镇巴县",  | 
            |
| 3533 | 
                + "610729": "留坝县",  | 
            |
| 3534 | 
                + "610730": "佛坪县"  | 
            |
| 3535 | 
                + },  | 
            |
| 3536 | 
                +  "610800": {
               | 
            |
| 3537 | 
                + "610802": "榆阳区",  | 
            |
| 3538 | 
                + "610803": "横山区",  | 
            |
| 3539 | 
                + "610821": "神木县",  | 
            |
| 3540 | 
                + "610822": "府谷县",  | 
            |
| 3541 | 
                + "610824": "靖边县",  | 
            |
| 3542 | 
                + "610825": "定边县",  | 
            |
| 3543 | 
                + "610826": "绥德县",  | 
            |
| 3544 | 
                + "610827": "米脂县",  | 
            |
| 3545 | 
                + "610828": "佳县",  | 
            |
| 3546 | 
                + "610829": "吴堡县",  | 
            |
| 3547 | 
                + "610830": "清涧县",  | 
            |
| 3548 | 
                + "610831": "子洲县"  | 
            |
| 3549 | 
                + },  | 
            |
| 3550 | 
                +  "610900": {
               | 
            |
| 3551 | 
                + "610902": "汉滨区",  | 
            |
| 3552 | 
                + "610921": "汉阴县",  | 
            |
| 3553 | 
                + "610922": "石泉县",  | 
            |
| 3554 | 
                + "610923": "宁陕县",  | 
            |
| 3555 | 
                + "610924": "紫阳县",  | 
            |
| 3556 | 
                + "610925": "岚皋县",  | 
            |
| 3557 | 
                + "610926": "平利县",  | 
            |
| 3558 | 
                + "610927": "镇坪县",  | 
            |
| 3559 | 
                + "610928": "旬阳县",  | 
            |
| 3560 | 
                + "610929": "白河县"  | 
            |
| 3561 | 
                + },  | 
            |
| 3562 | 
                +  "611000": {
               | 
            |
| 3563 | 
                + "611002": "商州区",  | 
            |
| 3564 | 
                + "611021": "洛南县",  | 
            |
| 3565 | 
                + "611022": "丹凤县",  | 
            |
| 3566 | 
                + "611023": "商南县",  | 
            |
| 3567 | 
                + "611024": "山阳县",  | 
            |
| 3568 | 
                + "611025": "镇安县",  | 
            |
| 3569 | 
                + "611026": "柞水县"  | 
            |
| 3570 | 
                + },  | 
            |
| 3571 | 
                +  "620000": {
               | 
            |
| 3572 | 
                + "620100": "兰州市",  | 
            |
| 3573 | 
                + "620200": "嘉峪关市",  | 
            |
| 3574 | 
                + "620300": "金昌市",  | 
            |
| 3575 | 
                + "620400": "白银市",  | 
            |
| 3576 | 
                + "620500": "天水市",  | 
            |
| 3577 | 
                + "620600": "武威市",  | 
            |
| 3578 | 
                + "620700": "张掖市",  | 
            |
| 3579 | 
                + "620800": "平凉市",  | 
            |
| 3580 | 
                + "620900": "酒泉市",  | 
            |
| 3581 | 
                + "621000": "庆阳市",  | 
            |
| 3582 | 
                + "621100": "定西市",  | 
            |
| 3583 | 
                + "621200": "陇南市",  | 
            |
| 3584 | 
                + "622900": "临夏回族自治州",  | 
            |
| 3585 | 
                + "623000": "甘南藏族自治州"  | 
            |
| 3586 | 
                + },  | 
            |
| 3587 | 
                +  "620100": {
               | 
            |
| 3588 | 
                + "620102": "城关区",  | 
            |
| 3589 | 
                + "620103": "七里河区",  | 
            |
| 3590 | 
                + "620104": "西固区",  | 
            |
| 3591 | 
                + "620105": "安宁区",  | 
            |
| 3592 | 
                + "620111": "红古区",  | 
            |
| 3593 | 
                + "620121": "永登县",  | 
            |
| 3594 | 
                + "620122": "皋兰县",  | 
            |
| 3595 | 
                + "620123": "榆中县"  | 
            |
| 3596 | 
                + },  | 
            |
| 3597 | 
                +  "620300": {
               | 
            |
| 3598 | 
                + "620302": "金川区",  | 
            |
| 3599 | 
                + "620321": "永昌县"  | 
            |
| 3600 | 
                + },  | 
            |
| 3601 | 
                +  "620400": {
               | 
            |
| 3602 | 
                + "620402": "白银区",  | 
            |
| 3603 | 
                + "620403": "平川区",  | 
            |
| 3604 | 
                + "620421": "靖远县",  | 
            |
| 3605 | 
                + "620422": "会宁县",  | 
            |
| 3606 | 
                + "620423": "景泰县"  | 
            |
| 3607 | 
                + },  | 
            |
| 3608 | 
                +  "620500": {
               | 
            |
| 3609 | 
                + "620502": "秦州区",  | 
            |
| 3610 | 
                + "620503": "麦积区",  | 
            |
| 3611 | 
                + "620521": "清水县",  | 
            |
| 3612 | 
                + "620522": "秦安县",  | 
            |
| 3613 | 
                + "620523": "甘谷县",  | 
            |
| 3614 | 
                + "620524": "武山县",  | 
            |
| 3615 | 
                + "620525": "张家川回族自治县"  | 
            |
| 3616 | 
                + },  | 
            |
| 3617 | 
                +  "620600": {
               | 
            |
| 3618 | 
                + "620602": "凉州区",  | 
            |
| 3619 | 
                + "620621": "民勤县",  | 
            |
| 3620 | 
                + "620622": "古浪县",  | 
            |
| 3621 | 
                + "620623": "天祝藏族自治县"  | 
            |
| 3622 | 
                + },  | 
            |
| 3623 | 
                +  "620700": {
               | 
            |
| 3624 | 
                + "620702": "甘州区",  | 
            |
| 3625 | 
                + "620721": "肃南裕固族自治县",  | 
            |
| 3626 | 
                + "620722": "民乐县",  | 
            |
| 3627 | 
                + "620723": "临泽县",  | 
            |
| 3628 | 
                + "620724": "高台县",  | 
            |
| 3629 | 
                + "620725": "山丹县"  | 
            |
| 3630 | 
                + },  | 
            |
| 3631 | 
                +  "620800": {
               | 
            |
| 3632 | 
                + "620802": "崆峒区",  | 
            |
| 3633 | 
                + "620821": "泾川县",  | 
            |
| 3634 | 
                + "620822": "灵台县",  | 
            |
| 3635 | 
                + "620823": "崇信县",  | 
            |
| 3636 | 
                + "620824": "华亭县",  | 
            |
| 3637 | 
                + "620825": "庄浪县",  | 
            |
| 3638 | 
                + "620826": "静宁县"  | 
            |
| 3639 | 
                + },  | 
            |
| 3640 | 
                +  "620900": {
               | 
            |
| 3641 | 
                + "620902": "肃州区",  | 
            |
| 3642 | 
                + "620921": "金塔县",  | 
            |
| 3643 | 
                + "620922": "瓜州县",  | 
            |
| 3644 | 
                + "620923": "肃北蒙古族自治县",  | 
            |
| 3645 | 
                + "620924": "阿克塞哈萨克族自治县",  | 
            |
| 3646 | 
                + "620981": "玉门市",  | 
            |
| 3647 | 
                + "620982": "敦煌市"  | 
            |
| 3648 | 
                + },  | 
            |
| 3649 | 
                +  "621000": {
               | 
            |
| 3650 | 
                + "621002": "西峰区",  | 
            |
| 3651 | 
                + "621021": "庆城县",  | 
            |
| 3652 | 
                + "621022": "环县",  | 
            |
| 3653 | 
                + "621023": "华池县",  | 
            |
| 3654 | 
                + "621024": "合水县",  | 
            |
| 3655 | 
                + "621025": "正宁县",  | 
            |
| 3656 | 
                + "621026": "宁县",  | 
            |
| 3657 | 
                + "621027": "镇原县"  | 
            |
| 3658 | 
                + },  | 
            |
| 3659 | 
                +  "621100": {
               | 
            |
| 3660 | 
                + "621102": "安定区",  | 
            |
| 3661 | 
                + "621121": "通渭县",  | 
            |
| 3662 | 
                + "621122": "陇西县",  | 
            |
| 3663 | 
                + "621123": "渭源县",  | 
            |
| 3664 | 
                + "621124": "临洮县",  | 
            |
| 3665 | 
                + "621125": "漳县",  | 
            |
| 3666 | 
                + "621126": "岷县"  | 
            |
| 3667 | 
                + },  | 
            |
| 3668 | 
                +  "621200": {
               | 
            |
| 3669 | 
                + "621202": "武都区",  | 
            |
| 3670 | 
                + "621221": "成县",  | 
            |
| 3671 | 
                + "621222": "文县",  | 
            |
| 3672 | 
                + "621223": "宕昌县",  | 
            |
| 3673 | 
                + "621224": "康县",  | 
            |
| 3674 | 
                + "621225": "西和县",  | 
            |
| 3675 | 
                + "621226": "礼县",  | 
            |
| 3676 | 
                + "621227": "徽县",  | 
            |
| 3677 | 
                + "621228": "两当县"  | 
            |
| 3678 | 
                + },  | 
            |
| 3679 | 
                +  "622900": {
               | 
            |
| 3680 | 
                + "622901": "临夏市",  | 
            |
| 3681 | 
                + "622921": "临夏县",  | 
            |
| 3682 | 
                + "622922": "康乐县",  | 
            |
| 3683 | 
                + "622923": "永靖县",  | 
            |
| 3684 | 
                + "622924": "广河县",  | 
            |
| 3685 | 
                + "622925": "和政县",  | 
            |
| 3686 | 
                + "622926": "东乡族自治县",  | 
            |
| 3687 | 
                + "622927": "积石山保安族东乡族撒拉族自治县"  | 
            |
| 3688 | 
                + },  | 
            |
| 3689 | 
                +  "623000": {
               | 
            |
| 3690 | 
                + "623001": "合作市",  | 
            |
| 3691 | 
                + "623021": "临潭县",  | 
            |
| 3692 | 
                + "623022": "卓尼县",  | 
            |
| 3693 | 
                + "623023": "舟曲县",  | 
            |
| 3694 | 
                + "623024": "迭部县",  | 
            |
| 3695 | 
                + "623025": "玛曲县",  | 
            |
| 3696 | 
                + "623026": "碌曲县",  | 
            |
| 3697 | 
                + "623027": "夏河县"  | 
            |
| 3698 | 
                + },  | 
            |
| 3699 | 
                +  "630000": {
               | 
            |
| 3700 | 
                + "630100": "西宁市",  | 
            |
| 3701 | 
                + "630200": "海东市",  | 
            |
| 3702 | 
                + "632200": "海北藏族自治州",  | 
            |
| 3703 | 
                + "632300": "黄南藏族自治州",  | 
            |
| 3704 | 
                + "632500": "海南藏族自治州",  | 
            |
| 3705 | 
                + "632600": "果洛藏族自治州",  | 
            |
| 3706 | 
                + "632700": "玉树藏族自治州",  | 
            |
| 3707 | 
                + "632800": "海西蒙古族藏族自治州"  | 
            |
| 3708 | 
                + },  | 
            |
| 3709 | 
                +  "630100": {
               | 
            |
| 3710 | 
                + "630102": "城东区",  | 
            |
| 3711 | 
                + "630103": "城中区",  | 
            |
| 3712 | 
                + "630104": "城西区",  | 
            |
| 3713 | 
                + "630105": "城北区",  | 
            |
| 3714 | 
                + "630121": "大通回族土族自治县",  | 
            |
| 3715 | 
                + "630122": "湟中县",  | 
            |
| 3716 | 
                + "630123": "湟源县"  | 
            |
| 3717 | 
                + },  | 
            |
| 3718 | 
                +  "630200": {
               | 
            |
| 3719 | 
                + "630202": "乐都区",  | 
            |
| 3720 | 
                + "630203": "平安区",  | 
            |
| 3721 | 
                + "630222": "民和回族土族自治县",  | 
            |
| 3722 | 
                + "630223": "互助土族自治县",  | 
            |
| 3723 | 
                + "630224": "化隆回族自治县",  | 
            |
| 3724 | 
                + "630225": "循化撒拉族自治县"  | 
            |
| 3725 | 
                + },  | 
            |
| 3726 | 
                +  "632200": {
               | 
            |
| 3727 | 
                + "632221": "门源回族自治县",  | 
            |
| 3728 | 
                + "632222": "祁连县",  | 
            |
| 3729 | 
                + "632223": "海晏县",  | 
            |
| 3730 | 
                + "632224": "刚察县"  | 
            |
| 3731 | 
                + },  | 
            |
| 3732 | 
                +  "632300": {
               | 
            |
| 3733 | 
                + "632321": "同仁县",  | 
            |
| 3734 | 
                + "632322": "尖扎县",  | 
            |
| 3735 | 
                + "632323": "泽库县",  | 
            |
| 3736 | 
                + "632324": "河南蒙古族自治县"  | 
            |
| 3737 | 
                + },  | 
            |
| 3738 | 
                +  "632500": {
               | 
            |
| 3739 | 
                + "632521": "共和县",  | 
            |
| 3740 | 
                + "632522": "同德县",  | 
            |
| 3741 | 
                + "632523": "贵德县",  | 
            |
| 3742 | 
                + "632524": "兴海县",  | 
            |
| 3743 | 
                + "632525": "贵南县"  | 
            |
| 3744 | 
                + },  | 
            |
| 3745 | 
                +  "632600": {
               | 
            |
| 3746 | 
                + "632621": "玛沁县",  | 
            |
| 3747 | 
                + "632622": "班玛县",  | 
            |
| 3748 | 
                + "632623": "甘德县",  | 
            |
| 3749 | 
                + "632624": "达日县",  | 
            |
| 3750 | 
                + "632625": "久治县",  | 
            |
| 3751 | 
                + "632626": "玛多县"  | 
            |
| 3752 | 
                + },  | 
            |
| 3753 | 
                +  "632700": {
               | 
            |
| 3754 | 
                + "632701": "玉树市",  | 
            |
| 3755 | 
                + "632722": "杂多县",  | 
            |
| 3756 | 
                + "632723": "称多县",  | 
            |
| 3757 | 
                + "632724": "治多县",  | 
            |
| 3758 | 
                + "632725": "囊谦县",  | 
            |
| 3759 | 
                + "632726": "曲麻莱县"  | 
            |
| 3760 | 
                + },  | 
            |
| 3761 | 
                +  "632800": {
               | 
            |
| 3762 | 
                + "632801": "格尔木市",  | 
            |
| 3763 | 
                + "632802": "德令哈市",  | 
            |
| 3764 | 
                + "632821": "乌兰县",  | 
            |
| 3765 | 
                + "632822": "都兰县",  | 
            |
| 3766 | 
                + "632823": "天峻县"  | 
            |
| 3767 | 
                + },  | 
            |
| 3768 | 
                +  "640000": {
               | 
            |
| 3769 | 
                + "640100": "银川市",  | 
            |
| 3770 | 
                + "640200": "石嘴山市",  | 
            |
| 3771 | 
                + "640300": "吴忠市",  | 
            |
| 3772 | 
                + "640400": "固原市",  | 
            |
| 3773 | 
                + "640500": "中卫市"  | 
            |
| 3774 | 
                + },  | 
            |
| 3775 | 
                +  "640100": {
               | 
            |
| 3776 | 
                + "640104": "兴庆区",  | 
            |
| 3777 | 
                + "640105": "西夏区",  | 
            |
| 3778 | 
                + "640106": "金凤区",  | 
            |
| 3779 | 
                + "640121": "永宁县",  | 
            |
| 3780 | 
                + "640122": "贺兰县",  | 
            |
| 3781 | 
                + "640181": "灵武市"  | 
            |
| 3782 | 
                + },  | 
            |
| 3783 | 
                +  "640200": {
               | 
            |
| 3784 | 
                + "640202": "大武口区",  | 
            |
| 3785 | 
                + "640205": "惠农区",  | 
            |
| 3786 | 
                + "640221": "平罗县"  | 
            |
| 3787 | 
                + },  | 
            |
| 3788 | 
                +  "640300": {
               | 
            |
| 3789 | 
                + "640302": "利通区",  | 
            |
| 3790 | 
                + "640303": "红寺堡区",  | 
            |
| 3791 | 
                + "640323": "盐池县",  | 
            |
| 3792 | 
                + "640324": "同心县",  | 
            |
| 3793 | 
                + "640381": "青铜峡市"  | 
            |
| 3794 | 
                + },  | 
            |
| 3795 | 
                +  "640400": {
               | 
            |
| 3796 | 
                + "640402": "原州区",  | 
            |
| 3797 | 
                + "640422": "西吉县",  | 
            |
| 3798 | 
                + "640423": "隆德县",  | 
            |
| 3799 | 
                + "640424": "泾源县",  | 
            |
| 3800 | 
                + "640425": "彭阳县"  | 
            |
| 3801 | 
                + },  | 
            |
| 3802 | 
                +  "640500": {
               | 
            |
| 3803 | 
                + "640502": "沙坡头区",  | 
            |
| 3804 | 
                + "640521": "中宁县",  | 
            |
| 3805 | 
                + "640522": "海原县"  | 
            |
| 3806 | 
                + },  | 
            |
| 3807 | 
                +  "650000": {
               | 
            |
| 3808 | 
                + "650100": "乌鲁木齐市",  | 
            |
| 3809 | 
                + "650200": "克拉玛依市",  | 
            |
| 3810 | 
                + "650400": "吐鲁番市",  | 
            |
| 3811 | 
                + "650500": "哈密市",  | 
            |
| 3812 | 
                + "652300": "昌吉回族自治州",  | 
            |
| 3813 | 
                + "652700": "博尔塔拉蒙古自治州",  | 
            |
| 3814 | 
                + "652800": "巴音郭楞蒙古自治州",  | 
            |
| 3815 | 
                + "652900": "阿克苏地区",  | 
            |
| 3816 | 
                + "653000": "克孜勒苏柯尔克孜自治州",  | 
            |
| 3817 | 
                + "653100": "喀什地区",  | 
            |
| 3818 | 
                + "653200": "和田地区",  | 
            |
| 3819 | 
                + "654000": "伊犁哈萨克自治州",  | 
            |
| 3820 | 
                + "654200": "塔城地区",  | 
            |
| 3821 | 
                + "654300": "阿勒泰地区",  | 
            |
| 3822 | 
                + "659001": "石河子市",  | 
            |
| 3823 | 
                + "659002": "阿拉尔市",  | 
            |
| 3824 | 
                + "659003": "图木舒克市",  | 
            |
| 3825 | 
                + "659004": "五家渠市",  | 
            |
| 3826 | 
                + "659006": "铁门关市"  | 
            |
| 3827 | 
                + },  | 
            |
| 3828 | 
                +  "650100": {
               | 
            |
| 3829 | 
                + "650102": "天山区",  | 
            |
| 3830 | 
                + "650103": "沙依巴克区",  | 
            |
| 3831 | 
                + "650104": "新市区",  | 
            |
| 3832 | 
                + "650105": "水磨沟区",  | 
            |
| 3833 | 
                + "650106": "头屯河区",  | 
            |
| 3834 | 
                + "650107": "达坂城区",  | 
            |
| 3835 | 
                + "650109": "米东区",  | 
            |
| 3836 | 
                + "650121": "乌鲁木齐县"  | 
            |
| 3837 | 
                + },  | 
            |
| 3838 | 
                +  "650200": {
               | 
            |
| 3839 | 
                + "650202": "独山子区",  | 
            |
| 3840 | 
                + "650203": "克拉玛依区",  | 
            |
| 3841 | 
                + "650204": "白碱滩区",  | 
            |
| 3842 | 
                + "650205": "乌尔禾区"  | 
            |
| 3843 | 
                + },  | 
            |
| 3844 | 
                +  "650400": {
               | 
            |
| 3845 | 
                + "650402": "高昌区",  | 
            |
| 3846 | 
                + "650421": "鄯善县",  | 
            |
| 3847 | 
                + "650422": "托克逊县"  | 
            |
| 3848 | 
                + },  | 
            |
| 3849 | 
                +  "650500": {
               | 
            |
| 3850 | 
                + "650502": "伊州区",  | 
            |
| 3851 | 
                + "650521": "巴里坤哈萨克自治县",  | 
            |
| 3852 | 
                + "650522": "伊吾县"  | 
            |
| 3853 | 
                + },  | 
            |
| 3854 | 
                +  "652300": {
               | 
            |
| 3855 | 
                + "652301": "昌吉市",  | 
            |
| 3856 | 
                + "652302": "阜康市",  | 
            |
| 3857 | 
                + "652323": "呼图壁县",  | 
            |
| 3858 | 
                + "652324": "玛纳斯县",  | 
            |
| 3859 | 
                + "652325": "奇台县",  | 
            |
| 3860 | 
                + "652327": "吉木萨尔县",  | 
            |
| 3861 | 
                + "652328": "木垒哈萨克自治县"  | 
            |
| 3862 | 
                + },  | 
            |
| 3863 | 
                +  "652700": {
               | 
            |
| 3864 | 
                + "652701": "博乐市",  | 
            |
| 3865 | 
                + "652702": "阿拉山口市",  | 
            |
| 3866 | 
                + "652722": "精河县",  | 
            |
| 3867 | 
                + "652723": "温泉县"  | 
            |
| 3868 | 
                + },  | 
            |
| 3869 | 
                +  "652800": {
               | 
            |
| 3870 | 
                + "652801": "库尔勒市",  | 
            |
| 3871 | 
                + "652822": "轮台县",  | 
            |
| 3872 | 
                + "652823": "尉犁县",  | 
            |
| 3873 | 
                + "652824": "若羌县",  | 
            |
| 3874 | 
                + "652825": "且末县",  | 
            |
| 3875 | 
                + "652826": "焉耆回族自治县",  | 
            |
| 3876 | 
                + "652827": "和静县",  | 
            |
| 3877 | 
                + "652828": "和硕县",  | 
            |
| 3878 | 
                + "652829": "博湖县"  | 
            |
| 3879 | 
                + },  | 
            |
| 3880 | 
                +  "652900": {
               | 
            |
| 3881 | 
                + "652901": "阿克苏市",  | 
            |
| 3882 | 
                + "652922": "温宿县",  | 
            |
| 3883 | 
                + "652923": "库车县",  | 
            |
| 3884 | 
                + "652924": "沙雅县",  | 
            |
| 3885 | 
                + "652925": "新和县",  | 
            |
| 3886 | 
                + "652926": "拜城县",  | 
            |
| 3887 | 
                + "652927": "乌什县",  | 
            |
| 3888 | 
                + "652928": "阿瓦提县",  | 
            |
| 3889 | 
                + "652929": "柯坪县"  | 
            |
| 3890 | 
                + },  | 
            |
| 3891 | 
                +  "653000": {
               | 
            |
| 3892 | 
                + "653001": "阿图什市",  | 
            |
| 3893 | 
                + "653022": "阿克陶县",  | 
            |
| 3894 | 
                + "653023": "阿合奇县",  | 
            |
| 3895 | 
                + "653024": "乌恰县"  | 
            |
| 3896 | 
                + },  | 
            |
| 3897 | 
                +  "653100": {
               | 
            |
| 3898 | 
                + "653101": "喀什市",  | 
            |
| 3899 | 
                + "653121": "疏附县",  | 
            |
| 3900 | 
                + "653122": "疏勒县",  | 
            |
| 3901 | 
                + "653123": "英吉沙县",  | 
            |
| 3902 | 
                + "653124": "泽普县",  | 
            |
| 3903 | 
                + "653125": "莎车县",  | 
            |
| 3904 | 
                + "653126": "叶城县",  | 
            |
| 3905 | 
                + "653127": "麦盖提县",  | 
            |
| 3906 | 
                + "653128": "岳普湖县",  | 
            |
| 3907 | 
                + "653129": "伽师县",  | 
            |
| 3908 | 
                + "653130": "巴楚县",  | 
            |
| 3909 | 
                + "653131": "塔什库尔干塔吉克自治县"  | 
            |
| 3910 | 
                + },  | 
            |
| 3911 | 
                +  "653200": {
               | 
            |
| 3912 | 
                + "653201": "和田市",  | 
            |
| 3913 | 
                + "653221": "和田县",  | 
            |
| 3914 | 
                + "653222": "墨玉县",  | 
            |
| 3915 | 
                + "653223": "皮山县",  | 
            |
| 3916 | 
                + "653224": "洛浦县",  | 
            |
| 3917 | 
                + "653225": "策勒县",  | 
            |
| 3918 | 
                + "653226": "于田县",  | 
            |
| 3919 | 
                + "653227": "民丰县"  | 
            |
| 3920 | 
                + },  | 
            |
| 3921 | 
                +  "654000": {
               | 
            |
| 3922 | 
                + "654002": "伊宁市",  | 
            |
| 3923 | 
                + "654003": "奎屯市",  | 
            |
| 3924 | 
                + "654004": "霍尔果斯市",  | 
            |
| 3925 | 
                + "654021": "伊宁县",  | 
            |
| 3926 | 
                + "654022": "察布查尔锡伯自治县",  | 
            |
| 3927 | 
                + "654023": "霍城县",  | 
            |
| 3928 | 
                + "654024": "巩留县",  | 
            |
| 3929 | 
                + "654025": "新源县",  | 
            |
| 3930 | 
                + "654026": "昭苏县",  | 
            |
| 3931 | 
                + "654027": "特克斯县",  | 
            |
| 3932 | 
                + "654028": "尼勒克县"  | 
            |
| 3933 | 
                + },  | 
            |
| 3934 | 
                +  "654200": {
               | 
            |
| 3935 | 
                + "654201": "塔城市",  | 
            |
| 3936 | 
                + "654202": "乌苏市",  | 
            |
| 3937 | 
                + "654221": "额敏县",  | 
            |
| 3938 | 
                + "654223": "沙湾县",  | 
            |
| 3939 | 
                + "654224": "托里县",  | 
            |
| 3940 | 
                + "654225": "裕民县",  | 
            |
| 3941 | 
                + "654226": "和布克赛尔蒙古自治县"  | 
            |
| 3942 | 
                + },  | 
            |
| 3943 | 
                +  "654300": {
               | 
            |
| 3944 | 
                + "654301": "阿勒泰市",  | 
            |
| 3945 | 
                + "654321": "布尔津县",  | 
            |
| 3946 | 
                + "654322": "富蕴县",  | 
            |
| 3947 | 
                + "654323": "福海县",  | 
            |
| 3948 | 
                + "654324": "哈巴河县",  | 
            |
| 3949 | 
                + "654325": "青河县",  | 
            |
| 3950 | 
                + "654326": "吉木乃县"  | 
            |
| 3951 | 
                + },  | 
            |
| 3952 | 
                +  "810000": {
               | 
            |
| 3953 | 
                + "810001": "中西區",  | 
            |
| 3954 | 
                + "810002": "灣仔區",  | 
            |
| 3955 | 
                + "810003": "東區",  | 
            |
| 3956 | 
                + "810004": "南區",  | 
            |
| 3957 | 
                + "810005": "油尖旺區",  | 
            |
| 3958 | 
                + "810006": "深水埗區",  | 
            |
| 3959 | 
                + "810007": "九龍城區",  | 
            |
| 3960 | 
                + "810008": "黃大仙區",  | 
            |
| 3961 | 
                + "810009": "觀塘區",  | 
            |
| 3962 | 
                + "810010": "荃灣區",  | 
            |
| 3963 | 
                + "810011": "屯門區",  | 
            |
| 3964 | 
                + "810012": "元朗區",  | 
            |
| 3965 | 
                + "810013": "北區",  | 
            |
| 3966 | 
                + "810014": "大埔區",  | 
            |
| 3967 | 
                + "810015": "西貢區",  | 
            |
| 3968 | 
                + "810016": "沙田區",  | 
            |
| 3969 | 
                + "810017": "葵青區",  | 
            |
| 3970 | 
                + "810018": "離島區"  | 
            |
| 3971 | 
                + },  | 
            |
| 3972 | 
                +  "820000": {
               | 
            |
| 3973 | 
                + "820001": "花地瑪堂區",  | 
            |
| 3974 | 
                + "820002": "花王堂區",  | 
            |
| 3975 | 
                + "820003": "望德堂區",  | 
            |
| 3976 | 
                + "820004": "大堂區",  | 
            |
| 3977 | 
                + "820005": "風順堂區",  | 
            |
| 3978 | 
                + "820006": "嘉模堂區",  | 
            |
| 3979 | 
                + "820007": "路氹填海區",  | 
            |
| 3980 | 
                + "820008": "聖方濟各堂區"  | 
            |
| 3981 | 
                + }  | 
            |
| 3982 | 
                +}  | 
            
                @@ -0,0 +1,7 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +from __future__ import unicode_literals  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +from django.test import TestCase  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +# Create your tests here.  | 
            
                @@ -0,0 +1,7 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +from __future__ import unicode_literals  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +from django.shortcuts import render  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +# Create your views here.  | 
            
                @@ -0,0 +1,7 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +from __future__ import unicode_literals  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +from django.contrib import admin  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +# Register your models here.  | 
            
                @@ -0,0 +1,8 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +from __future__ import unicode_literals  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +from django.apps import AppConfig  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +class EncryptConfig(AppConfig):  | 
            |
| 8 | 
                + name = 'encrypt'  | 
            
                @@ -0,0 +1,33 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +# Generated by Django 1.11.3 on 2017-12-30 13:37  | 
            |
| 3 | 
                +from __future__ import unicode_literals  | 
            |
| 4 | 
                +  | 
            |
| 5 | 
                +from django.db import migrations, models  | 
            |
| 6 | 
                +import shortuuidfield.fields  | 
            |
| 7 | 
                +  | 
            |
| 8 | 
                +  | 
            |
| 9 | 
                +class Migration(migrations.Migration):  | 
            |
| 10 | 
                +  | 
            |
| 11 | 
                + initial = True  | 
            |
| 12 | 
                +  | 
            |
| 13 | 
                + dependencies = [  | 
            |
| 14 | 
                + ]  | 
            |
| 15 | 
                +  | 
            |
| 16 | 
                + operations = [  | 
            |
| 17 | 
                + migrations.CreateModel(  | 
            |
| 18 | 
                + name='EncryptTextInfo',  | 
            |
| 19 | 
                + fields=[  | 
            |
| 20 | 
                +                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
               | 
            |
| 21 | 
                +                ('status', models.BooleanField(db_index=True, default=True, help_text='Status', verbose_name='status')),
               | 
            |
| 22 | 
                +                ('created_at', models.DateTimeField(auto_now_add=True, help_text='Create Time', verbose_name='created_at')),
               | 
            |
| 23 | 
                +                ('updated_at', models.DateTimeField(auto_now=True, help_text='Update Time', verbose_name='updated_at')),
               | 
            |
| 24 | 
                +                ('ciphertext', shortuuidfield.fields.ShortUUIDField(blank=True, db_index=True, editable=False, help_text='\u5bc6\u6587', max_length=22, null=True)),
               | 
            |
| 25 | 
                +                ('plaintext', models.TextField(blank=True, help_text='\u660e\u6587', null=True, verbose_name='plaintext')),
               | 
            |
| 26 | 
                +                ('plaintext_md5', models.CharField(blank=True, help_text='\u660e\u6587MD5', max_length=32, null=True, verbose_name='plaintext')),
               | 
            |
| 27 | 
                + ],  | 
            |
| 28 | 
                +            options={
               | 
            |
| 29 | 
                + 'verbose_name': 'encrypttextinfo',  | 
            |
| 30 | 
                + 'verbose_name_plural': 'encrypttextinfo',  | 
            |
| 31 | 
                + },  | 
            |
| 32 | 
                + ),  | 
            |
| 33 | 
                + ]  | 
            
                @@ -0,0 +1,19 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +from django.db import models  | 
            |
| 4 | 
                +from django.utils.translation import ugettext_lazy as _  | 
            |
| 5 | 
                +from models_ext.basemodels import BaseModelMixin  | 
            |
| 6 | 
                +from shortuuidfield import ShortUUIDField  | 
            |
| 7 | 
                +  | 
            |
| 8 | 
                +  | 
            |
| 9 | 
                +class EncryptTextInfo(BaseModelMixin):  | 
            |
| 10 | 
                + ciphertext = ShortUUIDField(_(u'ciphertext'), max_length=32, blank=True, null=True, help_text=u'密文', db_index=True)  | 
            |
| 11 | 
                + plaintext = models.TextField(_(u'plaintext'), blank=True, null=True, help_text=_(u'明文'))  | 
            |
| 12 | 
                + plaintext_md5 = models.CharField(_(u'plaintext'), max_length=32, blank=True, null=True, help_text=_(u'明文MD5'))  | 
            |
| 13 | 
                +  | 
            |
| 14 | 
                + class Meta:  | 
            |
| 15 | 
                + verbose_name = _(u'encrypttextinfo')  | 
            |
| 16 | 
                + verbose_name_plural = _(u'encrypttextinfo')  | 
            |
| 17 | 
                +  | 
            |
| 18 | 
                + def __unicode__(self):  | 
            |
| 19 | 
                +        return u'{0.pk}'.format(self)
               | 
            
                @@ -0,0 +1,7 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +from __future__ import unicode_literals  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +from django.test import TestCase  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +# Create your tests here.  | 
            
                @@ -0,0 +1,7 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +from __future__ import unicode_literals  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +from django.shortcuts import render  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +# Create your views here.  | 
            
                @@ -0,0 +1,3 @@  | 
            ||
| 1 | 
                +#!/bin/bash  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +isort -rc -sp . .  | 
            
                @@ -0,0 +1,54 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +from functools import wraps  | 
            |
| 4 | 
                +  | 
            |
| 5 | 
                +from django.conf import settings  | 
            |
| 6 | 
                +from django.shortcuts import redirect  | 
            |
| 7 | 
                +from furl import furl  | 
            |
| 8 | 
                +from pywe_oauth import get_oauth_redirect_url  | 
            |
| 9 | 
                +from pywe_sign import check_signature  | 
            |
| 10 | 
                +  | 
            |
| 11 | 
                +from utils.error.errno_utils import SignatureStatusCode  | 
            |
| 12 | 
                +from utils.error.response_utils import response  | 
            |
| 13 | 
                +from utils.redis.connect import r  | 
            |
| 14 | 
                +  | 
            |
| 15 | 
                +  | 
            |
| 16 | 
                +def check_token(func=None, entry=None):  | 
            |
| 17 | 
                + def decorator(func):  | 
            |
| 18 | 
                + @wraps(func)  | 
            |
| 19 | 
                + def returned_wrapper(request, *args, **kwargs):  | 
            |
| 20 | 
                + if not settings.DEBUG and request.wechat:  | 
            |
| 21 | 
                +                vtoken = request.GET.get('vtoken', '') or request.POST.get('vtoken', '')
               | 
            |
| 22 | 
                + token_check_key = request.GET.get(settings.TOKEN_CHECK_KEY, '') or request.POST.get(settings.TOKEN_CHECK_KEY, '')  | 
            |
| 23 | 
                + if not r.token_exists(token_check_key, vtoken):  | 
            |
| 24 | 
                + # 3rd OAuth  | 
            |
| 25 | 
                + # return redirect(settings.WECHAT_OAUTH2_REDIRECT_URL)  | 
            |
| 26 | 
                + # Current OAuth  | 
            |
| 27 | 
                +                    redirect_url = furl(entry or settings.WECHAT_OAUTH2_REDIRECT_ENTRY).add({}).url
               | 
            |
| 28 | 
                + return redirect(get_oauth_redirect_url(settings.WECHAT_OAUTH2_REDIRECT_URI, 'snsapi_userinfo', redirect_url))  | 
            |
| 29 | 
                + return func(request, *args, **kwargs)  | 
            |
| 30 | 
                + return returned_wrapper  | 
            |
| 31 | 
                +  | 
            |
| 32 | 
                + if not func:  | 
            |
| 33 | 
                + def foo(func):  | 
            |
| 34 | 
                + return decorator(func)  | 
            |
| 35 | 
                + return foo  | 
            |
| 36 | 
                +  | 
            |
| 37 | 
                + return decorator(func)  | 
            |
| 38 | 
                +  | 
            |
| 39 | 
                +  | 
            |
| 40 | 
                +def check_sign(func=None, method='POST'):  | 
            |
| 41 | 
                + def decorator(func):  | 
            |
| 42 | 
                + @wraps(func)  | 
            |
| 43 | 
                + def returned_wrapper(request, *args, **kwargs):  | 
            |
| 44 | 
                + if not settings.DEBUG and not check_signature(getattr(request, method).dict(), settings.PARAMS_SIGN_KEY):  | 
            |
| 45 | 
                + return response(SignatureStatusCode.SIGNATURE_ERROR)  | 
            |
| 46 | 
                + return func(request, *args, **kwargs)  | 
            |
| 47 | 
                + return returned_wrapper  | 
            |
| 48 | 
                +  | 
            |
| 49 | 
                + if not func:  | 
            |
| 50 | 
                + def foo(func):  | 
            |
| 51 | 
                + return decorator(func)  | 
            |
| 52 | 
                + return foo  | 
            |
| 53 | 
                +  | 
            |
| 54 | 
                + return decorator(func)  | 
            
                @@ -0,0 +1,27 @@  | 
            ||
| 1 | 
                +# kodo_uwsgi.ini file  | 
            |
| 2 | 
                +[uwsgi]  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +# Django-related settings  | 
            |
| 5 | 
                +# the base directory (full path)  | 
            |
| 6 | 
                +chdir = /home/paiai/work/kodo  | 
            |
| 7 | 
                +# Django's wsgi file  | 
            |
| 8 | 
                +module = kodo.wsgi  | 
            |
| 9 | 
                +# the virtualenv (full path)  | 
            |
| 10 | 
                +# home = /path/to/virtualenv  | 
            |
| 11 | 
                +  | 
            |
| 12 | 
                +# process-related settings  | 
            |
| 13 | 
                +# master  | 
            |
| 14 | 
                +master = true  | 
            |
| 15 | 
                +# maximum number of worker processes  | 
            |
| 16 | 
                +processes = 10  | 
            |
| 17 | 
                +# the socket (use the full path to be safe  | 
            |
| 18 | 
                +socket = /home/paiai/work/kodo/kodo/deploy/kodo.sock  | 
            |
| 19 | 
                +# ... with appropriate permissions - may be needed  | 
            |
| 20 | 
                +chmod-socket = 777  | 
            |
| 21 | 
                +# clear environment on exit  | 
            |
| 22 | 
                +vacuum = true  | 
            |
| 23 | 
                +  | 
            |
| 24 | 
                +# 11: Resource temporarily unavailable  | 
            |
| 25 | 
                +reload-mercy = 64  | 
            |
| 26 | 
                +max-requests = 8192  | 
            |
| 27 | 
                +listen = 4096  | 
            
                @@ -0,0 +1,40 @@  | 
            ||
| 1 | 
                +# kodo_nginx.conf  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +# the upstream component nginx needs to connect to  | 
            |
| 4 | 
                +upstream kodo {
               | 
            |
| 5 | 
                + # server unix:///home/paiai/work/kodo/kodo/deploy/kodo.sock; # for a file socket  | 
            |
| 6 | 
                + server 127.0.0.1:8888; # for a web port socket (we'll use this first)  | 
            |
| 7 | 
                +}  | 
            |
| 8 | 
                +  | 
            |
| 9 | 
                +# configuration of the server  | 
            |
| 10 | 
                +server {
               | 
            |
| 11 | 
                + # the port your site will be served on  | 
            |
| 12 | 
                + listen 80;  | 
            |
| 13 | 
                + # the domain name it will serve for  | 
            |
| 14 | 
                + server_name .a.com; # substitute your machine's IP address or FQDN  | 
            |
| 15 | 
                + charset utf-8;  | 
            |
| 16 | 
                +  | 
            |
| 17 | 
                + # max upload size  | 
            |
| 18 | 
                + client_max_body_size 75M; # adjust to taste  | 
            |
| 19 | 
                +  | 
            |
| 20 | 
                + # JS接口安全域名 & 业务域名 验证  | 
            |
| 21 | 
                +    location /xxx.txt {
               | 
            |
| 22 | 
                + alias /home/paiai/work/kodo/docs/we/xxx.txt;  | 
            |
| 23 | 
                + }  | 
            |
| 24 | 
                +  | 
            |
| 25 | 
                + # Django media  | 
            |
| 26 | 
                +    location /media  {
               | 
            |
| 27 | 
                + alias /home/paiai/work/kodo/media; # your Django project's media files - amend as required  | 
            |
| 28 | 
                + }  | 
            |
| 29 | 
                +  | 
            |
| 30 | 
                +    location /static {
               | 
            |
| 31 | 
                + alias /home/paiai/work/kodo/collect_static; # your Django project's static files - amend as required  | 
            |
| 32 | 
                + }  | 
            |
| 33 | 
                +  | 
            |
| 34 | 
                + # Finally, send all non-media requests to the Django server.  | 
            |
| 35 | 
                +    location / {
               | 
            |
| 36 | 
                + # uwsgi_pass kodo;  | 
            |
| 37 | 
                + proxy_pass http://kodo;  | 
            |
| 38 | 
                + include /home/paiai/work/kodo/kodo/deploy/uwsgi_params; # the uwsgi_params file you installed  | 
            |
| 39 | 
                + }  | 
            |
| 40 | 
                +}  | 
            
                @@ -0,0 +1,10 @@  | 
            ||
| 1 | 
                +[program:kodo]  | 
            |
| 2 | 
                +command=/home/paiai/env/bin/uwsgi --ini /home/diors/work/kodo/kodo/deploy/kodo.ini  | 
            |
| 3 | 
                +autostart=true  | 
            |
| 4 | 
                +autorestart=true  | 
            |
| 5 | 
                +startretries=3  | 
            |
| 6 | 
                +exitcodes=0,1,2  | 
            |
| 7 | 
                +stopsignal=QUIT  | 
            |
| 8 | 
                +stdout_logfile=/var/log/supervisor_kodo_access.log  | 
            |
| 9 | 
                +stderr_logfile=/var/log/supervisor_kodo_error.log  | 
            |
| 10 | 
                +user=diors  | 
            
                @@ -0,0 +1,15 @@  | 
            ||
| 1 | 
                +uwsgi_param QUERY_STRING $query_string;  | 
            |
| 2 | 
                +uwsgi_param REQUEST_METHOD $request_method;  | 
            |
| 3 | 
                +uwsgi_param CONTENT_TYPE $content_type;  | 
            |
| 4 | 
                +uwsgi_param CONTENT_LENGTH $content_length;  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +uwsgi_param REQUEST_URI $request_uri;  | 
            |
| 7 | 
                +uwsgi_param PATH_INFO $document_uri;  | 
            |
| 8 | 
                +uwsgi_param DOCUMENT_ROOT $document_root;  | 
            |
| 9 | 
                +uwsgi_param SERVER_PROTOCOL $server_protocol;  | 
            |
| 10 | 
                +uwsgi_param UWSGI_SCHEME $scheme;  | 
            |
| 11 | 
                +  | 
            |
| 12 | 
                +uwsgi_param REMOTE_ADDR $remote_addr;  | 
            |
| 13 | 
                +uwsgi_param REMOTE_PORT $remote_port;  | 
            |
| 14 | 
                +uwsgi_param SERVER_PORT $server_port;  | 
            |
| 15 | 
                +uwsgi_param SERVER_NAME $server_name;  | 
            
                @@ -0,0 +1,16 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +import redis_extensions as redis  | 
            |
| 4 | 
                +  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +def redis_conf(conf):  | 
            |
| 7 | 
                +    return {
               | 
            |
| 8 | 
                +        'host': conf.get('HOST', 'localhost'),
               | 
            |
| 9 | 
                +        'port': conf.get('PORT', 6379),
               | 
            |
| 10 | 
                +        'password': '{0}:{1}'.format(conf.get('USER', ''), conf.get('PASSWORD', '')) if conf.get('USER') else '',
               | 
            |
| 11 | 
                +        'db': conf.get('db', 0),
               | 
            |
| 12 | 
                + }  | 
            |
| 13 | 
                +  | 
            |
| 14 | 
                +  | 
            |
| 15 | 
                +def redis_connect(conf):  | 
            |
| 16 | 
                + return redis.StrictRedisExtensions(connection_pool=redis.ConnectionPool(**redis_conf(conf)))  | 
            
                @@ -0,0 +1,17 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +# DEBUG = False  | 
            |
| 4 | 
                +  | 
            |
| 5 | 
                +ALLOWED_HOSTS = ['127.0.0.1', 'localhost', 'kodo']  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +# DOMAIN  | 
            |
| 8 | 
                +DOMAIN = 'http://a.com'  | 
            |
| 9 | 
                +  | 
            |
| 10 | 
                +# 邮件设置  | 
            |
| 11 | 
                +# 只有当 DEBUG = False 的时候,才会邮件发送报错信息  | 
            |
| 12 | 
                +SERVER_EMAIL = 'error.notify@exmail.com'  | 
            |
| 13 | 
                +EMAIL_HOST_USER = 'error.notify@exmail.com'  | 
            |
| 14 | 
                +EMAIL_HOST_PASSWORD = '<^_^>pwd<^_^>'  | 
            |
| 15 | 
                +DEFAULT_FROM_EMAIL = 'error.notify <error.notify@exmail.com>'  | 
            |
| 16 | 
                +ADMINS = [('Zhang San', 'san.zhang@exmail.com'), ('Li Si', 'si.li@exmail.com')]
               | 
            |
| 17 | 
                +EMAIL_SUBJECT_PREFIX = u'[Kodo] '  | 
            
                @@ -0,0 +1,27 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +import os  | 
            |
| 4 | 
                +  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))  | 
            |
| 7 | 
                +PROJ_DIR = os.path.abspath(os.path.dirname(os.path.abspath(__file__)))  | 
            |
| 8 | 
                +  | 
            |
| 9 | 
                +TEMPLATES = [  | 
            |
| 10 | 
                +    {
               | 
            |
| 11 | 
                + 'BACKEND': 'django.template.backends.django.DjangoTemplates',  | 
            |
| 12 | 
                + 'DIRS': [os.path.join(BASE_DIR, 'templates')],  | 
            |
| 13 | 
                + # 'APP_DIRS': True,  | 
            |
| 14 | 
                +        'OPTIONS': {
               | 
            |
| 15 | 
                + 'context_processors': [  | 
            |
| 16 | 
                + 'django.template.context_processors.debug',  | 
            |
| 17 | 
                + 'django.template.context_processors.request',  | 
            |
| 18 | 
                + 'django.contrib.auth.context_processors.auth',  | 
            |
| 19 | 
                + 'django.contrib.messages.context_processors.messages',  | 
            |
| 20 | 
                + ],  | 
            |
| 21 | 
                + 'loaders': [  | 
            |
| 22 | 
                + 'django.template.loaders.filesystem.Loader',  | 
            |
| 23 | 
                + 'django.template.loaders.app_directories.Loader',  | 
            |
| 24 | 
                + ],  | 
            |
| 25 | 
                + },  | 
            |
| 26 | 
                + },  | 
            |
| 27 | 
                +]  | 
            
                @@ -0,0 +1,44 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +def DJANGO_WE_CFG_FUNC(request, state=None):  | 
            |
| 5 | 
                + """ WeChat CFG Callback Func """  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +  | 
            |
| 8 | 
                +def DJANGO_WE_QUOTE_STATE_FUNC(request, state):  | 
            |
| 9 | 
                + """ WeChat Quote Callback Func """  | 
            |
| 10 | 
                + from utils.redis.connect import r  | 
            |
| 11 | 
                + return r.quote(state)  | 
            |
| 12 | 
                +  | 
            |
| 13 | 
                +  | 
            |
| 14 | 
                +def DJANGO_WE_UNQUOTE_STATE_FUNC(request, state):  | 
            |
| 15 | 
                + """ WeChat UnQuote Callback Func """  | 
            |
| 16 | 
                + from utils.redis.connect import r  | 
            |
| 17 | 
                + return r.unquote(state) or state  | 
            |
| 18 | 
                +  | 
            |
| 19 | 
                +  | 
            |
| 20 | 
                +def DJANGO_WE_BASE_FUNC(code, state, access_info=None):  | 
            |
| 21 | 
                + """ WeChat Base Redirect Callback Func """  | 
            |
| 22 | 
                +  | 
            |
| 23 | 
                +  | 
            |
| 24 | 
                +def DJANGO_WE_USERINFO_FUNC(code, state, access_info=None, userinfo=None):  | 
            |
| 25 | 
                + """ WeChat Userinfo Redirect Callback Func """  | 
            |
| 26 | 
                + from django.conf import settings  | 
            |
| 27 | 
                + from utils.redis.connect import r  | 
            |
| 28 | 
                + from utils.user.userinfo_save import userinfo_save  | 
            |
| 29 | 
                +  | 
            |
| 30 | 
                + # Save profile or something else  | 
            |
| 31 | 
                + user = userinfo_save(userinfo)  | 
            |
| 32 | 
                +  | 
            |
| 33 | 
                + token_check_key = getattr(user, settings.TOKEN_CHECK_KEY)  | 
            |
| 34 | 
                +  | 
            |
| 35 | 
                +    return {
               | 
            |
| 36 | 
                + settings.TOKEN_CHECK_KEY: token_check_key,  | 
            |
| 37 | 
                + 'vtoken': r.token(token_check_key, ex=False, buf=False),  | 
            |
| 38 | 
                + }  | 
            |
| 39 | 
                +  | 
            |
| 40 | 
                +  | 
            |
| 41 | 
                +def DJANGO_WE_SHARE_FUNC(request, state=None):  | 
            |
| 42 | 
                + """ WeChat Share Callback Func """  | 
            |
| 43 | 
                + # from django.conf import settings  | 
            |
| 44 | 
                + # return settings.WECHAT_OAUTH2_REDIRECT_URL  | 
            
                @@ -0,0 +1,321 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +"""  | 
            |
| 4 | 
                +Django settings for kodo project.  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +Generated by 'django-admin startproject' using Django 1.11.3.  | 
            |
| 7 | 
                +  | 
            |
| 8 | 
                +For more information on this file, see  | 
            |
| 9 | 
                +https://docs.djangoproject.com/en/1.11/topics/settings/  | 
            |
| 10 | 
                +  | 
            |
| 11 | 
                +For the full list of settings and their values, see  | 
            |
| 12 | 
                +https://docs.djangoproject.com/en/1.11/ref/settings/  | 
            |
| 13 | 
                +"""  | 
            |
| 14 | 
                +  | 
            |
| 15 | 
                +import os  | 
            |
| 16 | 
                +  | 
            |
| 17 | 
                +  | 
            |
| 18 | 
                +# Build paths inside the project like this: os.path.join(BASE_DIR, ...)  | 
            |
| 19 | 
                +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))  | 
            |
| 20 | 
                +PROJ_DIR = os.path.abspath(os.path.dirname(os.path.abspath(__file__)))  | 
            |
| 21 | 
                +  | 
            |
| 22 | 
                +  | 
            |
| 23 | 
                +# Quick-start development settings - unsuitable for production  | 
            |
| 24 | 
                +# See https://docs.djangoproject.com/en/1.11/howto/deployment/checklist/  | 
            |
| 25 | 
                +  | 
            |
| 26 | 
                +# SECURITY WARNING: keep the secret key used in production secret!  | 
            |
| 27 | 
                +SECRET_KEY = '0=hpv21&am(7(k5ab!^zjvvl=ntj)^i@7)87t47uzumt_5rq$+'  | 
            |
| 28 | 
                +  | 
            |
| 29 | 
                +# SECURITY WARNING: don't run with debug turned on in production!  | 
            |
| 30 | 
                +DEBUG = True  | 
            |
| 31 | 
                +  | 
            |
| 32 | 
                +ALLOWED_HOSTS = []  | 
            |
| 33 | 
                +  | 
            |
| 34 | 
                +  | 
            |
| 35 | 
                +# Application definition  | 
            |
| 36 | 
                +  | 
            |
| 37 | 
                +INSTALLED_APPS = [  | 
            |
| 38 | 
                + 'django.contrib.admin',  | 
            |
| 39 | 
                + 'django.contrib.auth',  | 
            |
| 40 | 
                + 'django.contrib.contenttypes',  | 
            |
| 41 | 
                + 'django.contrib.sessions',  | 
            |
| 42 | 
                + 'django.contrib.messages',  | 
            |
| 43 | 
                + 'django.contrib.staticfiles',  | 
            |
| 44 | 
                + # 'django_short_url',  | 
            |
| 45 | 
                + 'django_uniapi',  | 
            |
| 46 | 
                + 'django_we',  | 
            |
| 47 | 
                + 'api',  | 
            |
| 48 | 
                + 'encrypt',  | 
            |
| 49 | 
                + 'mch',  | 
            |
| 50 | 
                +]  | 
            |
| 51 | 
                +  | 
            |
| 52 | 
                +MIDDLEWARE = [  | 
            |
| 53 | 
                + 'django.middleware.security.SecurityMiddleware',  | 
            |
| 54 | 
                + 'django.contrib.sessions.middleware.SessionMiddleware',  | 
            |
| 55 | 
                + 'django.middleware.common.CommonMiddleware',  | 
            |
| 56 | 
                + # 'django.middleware.csrf.CsrfViewMiddleware',  | 
            |
| 57 | 
                + 'django.contrib.auth.middleware.AuthenticationMiddleware',  | 
            |
| 58 | 
                + 'django.contrib.messages.middleware.MessageMiddleware',  | 
            |
| 59 | 
                + 'django.middleware.clickjacking.XFrameOptionsMiddleware',  | 
            |
| 60 | 
                + 'detect.middleware.UserAgentDetectionMiddleware',  | 
            |
| 61 | 
                +]  | 
            |
| 62 | 
                +  | 
            |
| 63 | 
                +ROOT_URLCONF = 'kodo.urls'  | 
            |
| 64 | 
                +  | 
            |
| 65 | 
                +TEMPLATES = [  | 
            |
| 66 | 
                +    {
               | 
            |
| 67 | 
                + 'BACKEND': 'django.template.backends.django.DjangoTemplates',  | 
            |
| 68 | 
                + 'DIRS': [os.path.join(BASE_DIR, 'templates')],  | 
            |
| 69 | 
                + # 'APP_DIRS': True,  | 
            |
| 70 | 
                +        'OPTIONS': {
               | 
            |
| 71 | 
                + 'context_processors': [  | 
            |
| 72 | 
                + 'django.template.context_processors.debug',  | 
            |
| 73 | 
                + 'django.template.context_processors.request',  | 
            |
| 74 | 
                + 'django.contrib.auth.context_processors.auth',  | 
            |
| 75 | 
                + 'django.contrib.messages.context_processors.messages',  | 
            |
| 76 | 
                + ],  | 
            |
| 77 | 
                + 'loaders': [  | 
            |
| 78 | 
                +                ('django.template.loaders.cached.Loader', [
               | 
            |
| 79 | 
                + 'django.template.loaders.filesystem.Loader',  | 
            |
| 80 | 
                + 'django.template.loaders.app_directories.Loader',  | 
            |
| 81 | 
                + ]),  | 
            |
| 82 | 
                + ],  | 
            |
| 83 | 
                + },  | 
            |
| 84 | 
                + },  | 
            |
| 85 | 
                +]  | 
            |
| 86 | 
                +  | 
            |
| 87 | 
                +WSGI_APPLICATION = 'kodo.wsgi.application'  | 
            |
| 88 | 
                +  | 
            |
| 89 | 
                +  | 
            |
| 90 | 
                +# Database  | 
            |
| 91 | 
                +# https://docs.djangoproject.com/en/1.11/ref/settings/#databases  | 
            |
| 92 | 
                +  | 
            |
| 93 | 
                +DATABASES = {
               | 
            |
| 94 | 
                +    'default': {
               | 
            |
| 95 | 
                + 'ENGINE': 'django.db.backends.mysql',  | 
            |
| 96 | 
                + 'NAME': 'kodo',  | 
            |
| 97 | 
                + 'USER': 'root',  | 
            |
| 98 | 
                + 'PASSWORD': '',  | 
            |
| 99 | 
                + 'HOST': '127.0.0.1',  | 
            |
| 100 | 
                + 'PORT': 3306,  | 
            |
| 101 | 
                + 'CONN_MAX_AGE': 600,  | 
            |
| 102 | 
                +        'OPTIONS': {
               | 
            |
| 103 | 
                + # Utf8mb4 for Emoji  | 
            |
| 104 | 
                + #  | 
            |
| 105 | 
                + # Nickname  | 
            |
| 106 | 
                + #  | 
            |
| 107 | 
                + # account.WechatInfo ==> nickname  | 
            |
| 108 | 
                + # ALTER TABLE account_wechatinfo MODIFY COLUMN nickname VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;  | 
            |
| 109 | 
                + 'charset': 'utf8mb4',  | 
            |
| 110 | 
                + },  | 
            |
| 111 | 
                + }  | 
            |
| 112 | 
                +}  | 
            |
| 113 | 
                +  | 
            |
| 114 | 
                +  | 
            |
| 115 | 
                +# Password validation  | 
            |
| 116 | 
                +# https://docs.djangoproject.com/en/1.11/ref/settings/#auth-password-validators  | 
            |
| 117 | 
                +  | 
            |
| 118 | 
                +AUTH_PASSWORD_VALIDATORS = [  | 
            |
| 119 | 
                +    {
               | 
            |
| 120 | 
                + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',  | 
            |
| 121 | 
                + },  | 
            |
| 122 | 
                +    {
               | 
            |
| 123 | 
                + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',  | 
            |
| 124 | 
                + },  | 
            |
| 125 | 
                +    {
               | 
            |
| 126 | 
                + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',  | 
            |
| 127 | 
                + },  | 
            |
| 128 | 
                +    {
               | 
            |
| 129 | 
                + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',  | 
            |
| 130 | 
                + },  | 
            |
| 131 | 
                +]  | 
            |
| 132 | 
                +  | 
            |
| 133 | 
                +  | 
            |
| 134 | 
                +# Internationalization  | 
            |
| 135 | 
                +# https://docs.djangoproject.com/en/1.11/topics/i18n/  | 
            |
| 136 | 
                +  | 
            |
| 137 | 
                +LANGUAGE_CODE = 'zh-Hans'  | 
            |
| 138 | 
                +  | 
            |
| 139 | 
                +TIME_ZONE = 'Asia/Shanghai'  | 
            |
| 140 | 
                +  | 
            |
| 141 | 
                +USE_I18N = True  | 
            |
| 142 | 
                +  | 
            |
| 143 | 
                +USE_L10N = True  | 
            |
| 144 | 
                +  | 
            |
| 145 | 
                +USE_TZ = True  | 
            |
| 146 | 
                +  | 
            |
| 147 | 
                +  | 
            |
| 148 | 
                +# Static files (CSS, JavaScript, Images)  | 
            |
| 149 | 
                +# https://docs.djangoproject.com/en/1.11/howto/static-files/  | 
            |
| 150 | 
                +  | 
            |
| 151 | 
                +STATICFILES_DIRS = (  | 
            |
| 152 | 
                +    os.path.join(PROJ_DIR, 'static').replace('\\', '/'),
               | 
            |
| 153 | 
                +)  | 
            |
| 154 | 
                +  | 
            |
| 155 | 
                +STATIC_ROOT = os.path.join(BASE_DIR, 'collect_static').replace('\\', '/')
               | 
            |
| 156 | 
                +  | 
            |
| 157 | 
                +STATIC_URL = '/static/'  | 
            |
| 158 | 
                +  | 
            |
| 159 | 
                +STATICFILES_FINDERS = (  | 
            |
| 160 | 
                + 'django.contrib.staticfiles.finders.FileSystemFinder',  | 
            |
| 161 | 
                + 'django.contrib.staticfiles.finders.AppDirectoriesFinder',  | 
            |
| 162 | 
                + # 'django.contrib.staticfiles.finders.DefaultStorageFinder',  | 
            |
| 163 | 
                +)  | 
            |
| 164 | 
                +  | 
            |
| 165 | 
                +MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace('\\', '/')
               | 
            |
| 166 | 
                +  | 
            |
| 167 | 
                +MEDIA_URL = '/media/'  | 
            |
| 168 | 
                +  | 
            |
| 169 | 
                +# File 设置  | 
            |
| 170 | 
                +FILE_UPLOAD_MAX_MEMORY_SIZE = 5242880 # InMemoryUploadedFile 文件最大值,设置为 5 MB  | 
            |
| 171 | 
                +FILE_UPLOAD_PERMISSIONS = 0o644 # TemporaryUploadedFile 文件权限设置  | 
            |
| 172 | 
                +  | 
            |
| 173 | 
                +# DOMAIN  | 
            |
| 174 | 
                +DOMAIN = 'http://a.com'  | 
            |
| 175 | 
                +  | 
            |
| 176 | 
                +# Redis 设置  | 
            |
| 177 | 
                +REDIS = {
               | 
            |
| 178 | 
                +    'default': {
               | 
            |
| 179 | 
                + 'HOST': '127.0.0.1',  | 
            |
| 180 | 
                + 'PORT': 6379,  | 
            |
| 181 | 
                + 'USER': '',  | 
            |
| 182 | 
                + 'PASSWORD': '',  | 
            |
| 183 | 
                + 'db': 0,  | 
            |
| 184 | 
                + }  | 
            |
| 185 | 
                +}  | 
            |
| 186 | 
                +  | 
            |
| 187 | 
                +# 微信设置  | 
            |
| 188 | 
                +WECHAT = {
               | 
            |
| 189 | 
                +    'JSAPI': {
               | 
            |
| 190 | 
                + 'token': '5201314',  | 
            |
| 191 | 
                + 'appID': '',  | 
            |
| 192 | 
                + 'appsecret': '',  | 
            |
| 193 | 
                + 'mchID': '',  | 
            |
| 194 | 
                + 'apiKey': '',  | 
            |
| 195 | 
                + 'mch_cert': '',  | 
            |
| 196 | 
                + 'mch_key': '',  | 
            |
| 197 | 
                +        'redpack': {
               | 
            |
| 198 | 
                +  | 
            |
| 199 | 
                + }  | 
            |
| 200 | 
                + },  | 
            |
| 201 | 
                +}  | 
            |
| 202 | 
                +  | 
            |
| 203 | 
                +# 微信唯一标识  | 
            |
| 204 | 
                +# Choices: 'unionid' or 'openid'  | 
            |
| 205 | 
                +#  | 
            |
| 206 | 
                +# models.py  | 
            |
| 207 | 
                +# 'unique_identifier': self.unionid if settings.WECHAT_UNIQUE_IDENTIFICATION == 'unionid' else self.openid,  | 
            |
| 208 | 
                +# views.py  | 
            |
| 209 | 
                +# unique_identifier = request.POST.get(settings.WECHAT_UNIQUE_IDENTIFICATION, '')  | 
            |
| 210 | 
                +#   profile = Profile.objects.get(**{settings.WECHAT_UNIQUE_IDENTIFICATION: unique_identifier})
               | 
            |
| 211 | 
                +WECHAT_UNIQUE_IDENTIFICATION = 'unionid'  | 
            |
| 212 | 
                +  | 
            |
| 213 | 
                +# Token 错误重授权设置  | 
            |
| 214 | 
                +TOKEN_CHECK_KEY = ''  | 
            |
| 215 | 
                +# TOKEN_CHECK_KEY = 'user_id'  | 
            |
| 216 | 
                +WECHAT_OAUTH2_REDIRECT_ENTRY = ''  | 
            |
| 217 | 
                +WECHAT_OAUTH2_REDIRECT_URL = ''  | 
            |
| 218 | 
                +  | 
            |
| 219 | 
                +# 邮件设置  | 
            |
| 220 | 
                +# https://docs.djangoproject.com/en/1.11/howto/error-reporting/#email-reports  | 
            |
| 221 | 
                +# When DEBUG is False, Django will email the users listed in the ADMINS setting  | 
            |
| 222 | 
                +# whenever your code raises an unhandled exception and results in an internal server error (HTTP status code 500).  | 
            |
| 223 | 
                +# 只有当 DEBUG = False 的时候,才会邮件发送报错信息  | 
            |
| 224 | 
                +# Email address that error messages come from.  | 
            |
| 225 | 
                +SERVER_EMAIL = 'error.notify@exmail.com'  | 
            |
| 226 | 
                +# The email backend to use. For possible shortcuts see django.core.mail.  | 
            |
| 227 | 
                +# The default is to use the SMTP backend.  | 
            |
| 228 | 
                +# Third-party backends can be specified by providing a Python path  | 
            |
| 229 | 
                +# to a module that defines an EmailBackend class.  | 
            |
| 230 | 
                +EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'  | 
            |
| 231 | 
                +# Host for sending email.  | 
            |
| 232 | 
                +EMAIL_HOST = 'smtp.exmail.qq.com'  | 
            |
| 233 | 
                +# Port for sending email.  | 
            |
| 234 | 
                +EMAIL_PORT = 25  | 
            |
| 235 | 
                +# Optional SMTP authentication information for EMAIL_HOST.  | 
            |
| 236 | 
                +EMAIL_HOST_USER = 'error.notify@exmail.com'  | 
            |
| 237 | 
                +EMAIL_HOST_PASSWORD = '<^_^>pwd<^_^>'  | 
            |
| 238 | 
                +EMAIL_USE_TLS = False  | 
            |
| 239 | 
                +EMAIL_USE_SSL = False  | 
            |
| 240 | 
                +EMAIL_SSL_CERTFILE = None  | 
            |
| 241 | 
                +EMAIL_SSL_KEYFILE = None  | 
            |
| 242 | 
                +EMAIL_TIMEOUT = None  | 
            |
| 243 | 
                +# Default email address to use for various automated correspondence from  | 
            |
| 244 | 
                +# the site managers.  | 
            |
| 245 | 
                +DEFAULT_FROM_EMAIL = 'error.notify <error.notify@exmail.com>'  | 
            |
| 246 | 
                +# People who get code error notifications.  | 
            |
| 247 | 
                +# In the format [('Full Name', 'email@example.com'), ('Full Name', 'anotheremail@example.com')]
               | 
            |
| 248 | 
                +ADMINS = [('Zhang San', 'san.zhang@exmail.com'), ('Li Si', 'si.li@exmail.com')]
               | 
            |
| 249 | 
                +# Not-necessarily-technical managers of the site. They get broken link  | 
            |
| 250 | 
                +# notifications and other various emails.  | 
            |
| 251 | 
                +MANAGERS = ADMINS  | 
            |
| 252 | 
                +# Subject-line prefix for email messages send with django.core.mail.mail_admins  | 
            |
| 253 | 
                +# or ...mail_managers. Make sure to include the trailing space.  | 
            |
| 254 | 
                +EMAIL_SUBJECT_PREFIX = u'[Kodo] '  | 
            |
| 255 | 
                +  | 
            |
| 256 | 
                +# Admin Settings  | 
            |
| 257 | 
                +DISABLE_ACTION = False  | 
            |
| 258 | 
                +  | 
            |
| 259 | 
                +# 开发调试相关配置  | 
            |
| 260 | 
                +if DEBUG:  | 
            |
| 261 | 
                + try:  | 
            |
| 262 | 
                + from local_settings_dev import *  | 
            |
| 263 | 
                + except ImportError:  | 
            |
| 264 | 
                + pass  | 
            |
| 265 | 
                +  | 
            |
| 266 | 
                +try:  | 
            |
| 267 | 
                + from local_settings import *  | 
            |
| 268 | 
                +except ImportError:  | 
            |
| 269 | 
                + pass  | 
            |
| 270 | 
                +  | 
            |
| 271 | 
                +try:  | 
            |
| 272 | 
                + from oauth_settings import *  | 
            |
| 273 | 
                +except ImportError:  | 
            |
| 274 | 
                + pass  | 
            |
| 275 | 
                +  | 
            |
| 276 | 
                +# 依赖 local_settings 中的配置  | 
            |
| 277 | 
                +# 微信授权设置  | 
            |
| 278 | 
                +# WECHAT_OAUTH2_REDIRECT_URI = '{0}/we/oauth2?scope={{0}}&redirect_url={{1}}'.format(DOMAIN)
               | 
            |
| 279 | 
                +# Shorten URL  | 
            |
| 280 | 
                +# ``o`` is short for oauth2  | 
            |
| 281 | 
                +# ``r`` is short for redirect_url  | 
            |
| 282 | 
                +WECHAT_OAUTH2_REDIRECT_URI = '{0}/we/o?scope={{0}}&r={{1}}'.format(DOMAIN)
               | 
            |
| 283 | 
                +WECHAT_OAUTH2_USERINFO_REDIRECT_URI = '{0}/we/o?r={{0}}'.format(DOMAIN)  # Scope default snsapi_userinfo
               | 
            |
| 284 | 
                +WECHAT_BASE_REDIRECT_URI = '{0}/we/base_redirect'.format(DOMAIN)
               | 
            |
| 285 | 
                +WECHAT_USERINFO_REDIRECT_URI = '{0}/we/userinfo_redirect'.format(DOMAIN)
               | 
            |
| 286 | 
                +WECHAT_DIRECT_BASE_REDIRECT_URI = '{0}/we/direct_base_redirect'.format(DOMAIN)
               | 
            |
| 287 | 
                +WECHAT_DIRECT_USERINFO_REDIRECT_URI = '{0}/we/direct_userinfo_redirect'.format(DOMAIN)
               | 
            |
| 288 | 
                +  | 
            |
| 289 | 
                +try:  | 
            |
| 290 | 
                + from func_settings import redis_connect  | 
            |
| 291 | 
                +    REDIS_CACHE = redis_connect(REDIS.get('default', {}))
               | 
            |
| 292 | 
                +except ImportError:  | 
            |
| 293 | 
                + REDIS_CACHE = None  | 
            |
| 294 | 
                +  | 
            |
| 295 | 
                +# LOGGER 设置  | 
            |
| 296 | 
                +LOGGING = {
               | 
            |
| 297 | 
                + 'version': 1,  | 
            |
| 298 | 
                + 'disable_existing_loggers': False,  | 
            |
| 299 | 
                +    'formatters': {
               | 
            |
| 300 | 
                +        'verbose': {
               | 
            |
| 301 | 
                + 'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'  | 
            |
| 302 | 
                + },  | 
            |
| 303 | 
                +        'simple': {
               | 
            |
| 304 | 
                + 'format': '%(levelname)s %(message)s'  | 
            |
| 305 | 
                + },  | 
            |
| 306 | 
                + },  | 
            |
| 307 | 
                +    'handlers': {
               | 
            |
| 308 | 
                +        'console': {
               | 
            |
| 309 | 
                + 'level': 'DEBUG',  | 
            |
| 310 | 
                + 'class': 'logging.StreamHandler',  | 
            |
| 311 | 
                + 'formatter': 'verbose'  | 
            |
| 312 | 
                + },  | 
            |
| 313 | 
                + },  | 
            |
| 314 | 
                +    'loggers': {
               | 
            |
| 315 | 
                +        'console': {
               | 
            |
| 316 | 
                + 'handlers': ['console'],  | 
            |
| 317 | 
                + 'level': 'DEBUG',  | 
            |
| 318 | 
                + 'propagate': True,  | 
            |
| 319 | 
                + },  | 
            |
| 320 | 
                + },  | 
            |
| 321 | 
                +}  | 
            
                @@ -0,0 +1,574 @@  | 
            ||
| 1 | 
                +!(function(e, t) {
               | 
            |
| 2 | 
                +    var config = {
               | 
            |
| 3 | 
                + wxconfig: 'http://api.tt4it.com/wx/jsapi_signature',  | 
            |
| 4 | 
                + callback: 'callback'  | 
            |
| 5 | 
                +    }, wxData = {
               | 
            |
| 6 | 
                + debug: false,  | 
            |
| 7 | 
                + imgUrl: '',  | 
            |
| 8 | 
                + link: '',  | 
            |
| 9 | 
                + desc: '',  | 
            |
| 10 | 
                + title: '',  | 
            |
| 11 | 
                + timeLine: ''  | 
            |
| 12 | 
                +    }, wxConfig = {
               | 
            |
| 13 | 
                + hide: false,  | 
            |
| 14 | 
                + baseFlag: false,  | 
            |
| 15 | 
                + baseHide: false,  | 
            |
| 16 | 
                + close: false,  | 
            |
| 17 | 
                + hideMenuItems: [],  | 
            |
| 18 | 
                + showMenuItems: []  | 
            |
| 19 | 
                + }, jsApiList = [  | 
            |
| 20 | 
                + 'checkJsApi',  | 
            |
| 21 | 
                + 'onMenuShareTimeline',  | 
            |
| 22 | 
                + 'onMenuShareAppMessage',  | 
            |
| 23 | 
                + 'onMenuShareQQ',  | 
            |
| 24 | 
                + 'onMenuShareWeibo',  | 
            |
| 25 | 
                + 'onMenuShareQZone',  | 
            |
| 26 | 
                + 'hideMenuItems',  | 
            |
| 27 | 
                + 'showMenuItems',  | 
            |
| 28 | 
                + 'hideAllNonBaseMenuItem',  | 
            |
| 29 | 
                + 'showAllNonBaseMenuItem',  | 
            |
| 30 | 
                + 'translateVoice',  | 
            |
| 31 | 
                + 'startRecord',  | 
            |
| 32 | 
                + 'stopRecord',  | 
            |
| 33 | 
                + 'onRecordEnd',  | 
            |
| 34 | 
                + 'playVoice',  | 
            |
| 35 | 
                + 'pauseVoice',  | 
            |
| 36 | 
                + 'stopVoice',  | 
            |
| 37 | 
                + 'uploadVoice',  | 
            |
| 38 | 
                + 'downloadVoice',  | 
            |
| 39 | 
                + 'chooseImage',  | 
            |
| 40 | 
                + 'previewImage',  | 
            |
| 41 | 
                + 'uploadImage',  | 
            |
| 42 | 
                + 'downloadImage',  | 
            |
| 43 | 
                + 'getLocalImgData',  | 
            |
| 44 | 
                + 'getNetworkType',  | 
            |
| 45 | 
                + 'openLocation',  | 
            |
| 46 | 
                + 'getLocation',  | 
            |
| 47 | 
                + 'hideOptionMenu',  | 
            |
| 48 | 
                + 'showOptionMenu',  | 
            |
| 49 | 
                + 'closeWindow',  | 
            |
| 50 | 
                + 'scanQRCode',  | 
            |
| 51 | 
                + 'chooseWXPay',  | 
            |
| 52 | 
                + 'openEnterpriseRedPacket',  | 
            |
| 53 | 
                + 'openProductSpecificView',  | 
            |
| 54 | 
                + 'addCard',  | 
            |
| 55 | 
                + 'chooseCard',  | 
            |
| 56 | 
                + 'openCard'  | 
            |
| 57 | 
                + ], wxApiFun  | 
            |
| 58 | 
                +  | 
            |
| 59 | 
                +    function isEmpty(obj) {
               | 
            |
| 60 | 
                + if (obj == null) return true  | 
            |
| 61 | 
                + if (obj.length > 0) return false  | 
            |
| 62 | 
                + if (obj.length === 0) return true  | 
            |
| 63 | 
                +        for (var key in obj) {
               | 
            |
| 64 | 
                + if (Object.prototype.hasOwnProperty.call(obj, key)) return false  | 
            |
| 65 | 
                + }  | 
            |
| 66 | 
                + return true  | 
            |
| 67 | 
                + }  | 
            |
| 68 | 
                +  | 
            |
| 69 | 
                +    function isNotEmpty(obj) {
               | 
            |
| 70 | 
                + return !isEmpty(obj)  | 
            |
| 71 | 
                + }  | 
            |
| 72 | 
                +  | 
            |
| 73 | 
                +    function isOpenOnPC() {  // 判断当前网页是否在 PC 浏览器中打开
               | 
            |
| 74 | 
                + var ua = navigator.userAgent  | 
            |
| 75 | 
                + return /windows nt/i.test(ua) || /macintosh/i.test(ua) || /linux x86_64/i.test(ua)  | 
            |
| 76 | 
                + }  | 
            |
| 77 | 
                +  | 
            |
| 78 | 
                +    function isOpenInWeixin() {  // 判断当前网页是否在微信内置浏览器中打开
               | 
            |
| 79 | 
                + return /micromessenger/i.test(navigator.userAgent)  | 
            |
| 80 | 
                + }  | 
            |
| 81 | 
                +  | 
            |
| 82 | 
                +    function getWeixinVersion() {
               | 
            |
| 83 | 
                + var ua = navigator.userAgent,  | 
            |
| 84 | 
                + mt = ua.match(/micromessenger\/([\d.]+)/i)  | 
            |
| 85 | 
                + return (mt ? mt[1] : '')  | 
            |
| 86 | 
                + }  | 
            |
| 87 | 
                +  | 
            |
| 88 | 
                + // This function checks whether Wechat is the appointed version or not  | 
            |
| 89 | 
                + // Cmp: http://jsperf.com/regexp-test-vs-indexof-ignore-upper-and-lower  | 
            |
| 90 | 
                +    function isWeixinVersion(version) {
               | 
            |
| 91 | 
                +        // return new RegExp('micromessenger/' + version , 'i').test(navigator.userAgent)
               | 
            |
| 92 | 
                +        return navigator.userAgent.toLowerCase().indexOf('micromessenger/' + version) != -1
               | 
            |
| 93 | 
                + }  | 
            |
| 94 | 
                +  | 
            |
| 95 | 
                +    function hideOptionMenu() {
               | 
            |
| 96 | 
                + wxConfig.hide = true  | 
            |
| 97 | 
                + fixedWxData()  | 
            |
| 98 | 
                + }  | 
            |
| 99 | 
                +  | 
            |
| 100 | 
                +    function showOptionMenu() {
               | 
            |
| 101 | 
                + wxConfig.hide = false  | 
            |
| 102 | 
                + fixedWxData()  | 
            |
| 103 | 
                + }  | 
            |
| 104 | 
                +  | 
            |
| 105 | 
                +    function hideMenuItems(items) {
               | 
            |
| 106 | 
                + wxConfig.hideMenuItems = items  | 
            |
| 107 | 
                + fixedWxData()  | 
            |
| 108 | 
                + }  | 
            |
| 109 | 
                +  | 
            |
| 110 | 
                +    function showMenuItems(items) {
               | 
            |
| 111 | 
                + wxConfig.showMenuItems = items  | 
            |
| 112 | 
                + fixedWxData()  | 
            |
| 113 | 
                + }  | 
            |
| 114 | 
                +  | 
            |
| 115 | 
                +    function hideAllNonBaseMenuItem() {
               | 
            |
| 116 | 
                + wxConfig.baseFlag = true  | 
            |
| 117 | 
                + wxConfig.baseHide = true  | 
            |
| 118 | 
                + fixedWxData()  | 
            |
| 119 | 
                + }  | 
            |
| 120 | 
                +  | 
            |
| 121 | 
                +    function showAllNonBaseMenuItem() {
               | 
            |
| 122 | 
                + wxConfig.baseFlag = true  | 
            |
| 123 | 
                + wxConfig.baseHide = false  | 
            |
| 124 | 
                + fixedWxData()  | 
            |
| 125 | 
                + }  | 
            |
| 126 | 
                +  | 
            |
| 127 | 
                +    function closeWindow() {
               | 
            |
| 128 | 
                + wxConfig.close = true  | 
            |
| 129 | 
                + fixedWxData()  | 
            |
| 130 | 
                + }  | 
            |
| 131 | 
                +  | 
            |
| 132 | 
                +    function wxReady(data) {
               | 
            |
| 133 | 
                + data = typeof data === 'object' ? data : JSON.parse(data)  | 
            |
| 134 | 
                +        wx.config({
               | 
            |
| 135 | 
                + debug: wxData.debug,  | 
            |
| 136 | 
                + appId: data.appId,  | 
            |
| 137 | 
                + timestamp: data.timestamp,  | 
            |
| 138 | 
                + nonceStr: data.nonceStr,  | 
            |
| 139 | 
                + signature: data.signature,  | 
            |
| 140 | 
                + jsApiList: jsApiList  | 
            |
| 141 | 
                + })  | 
            |
| 142 | 
                +  | 
            |
| 143 | 
                +        var callbacks = {
               | 
            |
| 144 | 
                +            trigger: function (res) {
               | 
            |
| 145 | 
                +                // alert('用户点击发送给朋友')
               | 
            |
| 146 | 
                +                if (JSWE.wxTrigger) {JSWE.wxTrigger(res)}
               | 
            |
| 147 | 
                + },  | 
            |
| 148 | 
                +            success: function (res) {
               | 
            |
| 149 | 
                +                // alert('已分享')
               | 
            |
| 150 | 
                +                if (JSWE.wxSuccess) {JSWE.wxSuccess(res)}
               | 
            |
| 151 | 
                + },  | 
            |
| 152 | 
                +            cancel: function (res) {
               | 
            |
| 153 | 
                +                // alert('已取消')
               | 
            |
| 154 | 
                +                if (JSWE.wxCancel) {JSWE.wxCancel(res)}
               | 
            |
| 155 | 
                + },  | 
            |
| 156 | 
                +            fail: function (res) {
               | 
            |
| 157 | 
                + // alert(JSON.stringify(res))  | 
            |
| 158 | 
                +                if (JSWE.wxFail) {JSWE.wxFail(res)}
               | 
            |
| 159 | 
                + }  | 
            |
| 160 | 
                +        }, shareInfo = function(flag) {
               | 
            |
| 161 | 
                +            var _share = {
               | 
            |
| 162 | 
                + title: flag ? wxData.title : (wxData.timeLine || wxData.desc),  | 
            |
| 163 | 
                + link: wxData.link,  | 
            |
| 164 | 
                + imgUrl: wxData.imgUrl,  | 
            |
| 165 | 
                + trigger: callbacks.trigger,  | 
            |
| 166 | 
                + success: callbacks.success,  | 
            |
| 167 | 
                + cancel: callbacks.cancel,  | 
            |
| 168 | 
                + fail: callbacks.fail  | 
            |
| 169 | 
                + }  | 
            |
| 170 | 
                + if (flag) _share.desc = wxData.desc  | 
            |
| 171 | 
                + return _share  | 
            |
| 172 | 
                +        }, wxShareApi = function() {
               | 
            |
| 173 | 
                + // 2. 分享接口  | 
            |
| 174 | 
                + // 2.1 监听“分享给朋友”,按钮点击、自定义分享内容及分享结果接口  | 
            |
| 175 | 
                + wx.onMenuShareAppMessage(shareInfo(1))  | 
            |
| 176 | 
                + // 2.2 监听“分享到朋友圈”按钮点击、自定义分享内容及分享结果接口  | 
            |
| 177 | 
                + wx.onMenuShareTimeline(shareInfo(0))  | 
            |
| 178 | 
                + // 2.3 监听“分享到QQ”按钮点击、自定义分享内容及分享结果接口  | 
            |
| 179 | 
                + wx.onMenuShareQQ(shareInfo(1))  | 
            |
| 180 | 
                + // 2.4 监听“分享到微博”按钮点击、自定义分享内容及分享结果接口  | 
            |
| 181 | 
                + wx.onMenuShareWeibo(shareInfo(1))  | 
            |
| 182 | 
                + // 2.5 监听“分享到QQ空间”按钮点击、自定义分享内容及分享结果接口  | 
            |
| 183 | 
                + wx.onMenuShareQZone(shareInfo(1))  | 
            |
| 184 | 
                +        }, wxMenuApi = function () {
               | 
            |
| 185 | 
                + // 8. 界面操作接口  | 
            |
| 186 | 
                + // 8.1 隐藏右上角菜单  | 
            |
| 187 | 
                + // 8.2 显示右上角菜单  | 
            |
| 188 | 
                +            if (wxConfig.hide) {wx.hideOptionMenu()} else {wx.showOptionMenu()}
               | 
            |
| 189 | 
                + // 8.3 批量隐藏菜单项  | 
            |
| 190 | 
                +            if (isNotEmpty(wxConfig.hideMenuItems)) {
               | 
            |
| 191 | 
                +                wx.hideMenuItems({
               | 
            |
| 192 | 
                + menuList: wxConfig.hideMenuItems,  | 
            |
| 193 | 
                +                    success: function (res) {
               | 
            |
| 194 | 
                +                        if (JSWE.wxHideMenuItemsSuccess) {JSWE.wxHideMenuItemsSuccess(res)}
               | 
            |
| 195 | 
                + },  | 
            |
| 196 | 
                +                    fail: function (res) {
               | 
            |
| 197 | 
                +                        if (JSWE.wxHideMenuItemsFail) {JSWE.wxHideMenuItemsFail(res)}
               | 
            |
| 198 | 
                + }  | 
            |
| 199 | 
                + })  | 
            |
| 200 | 
                + }  | 
            |
| 201 | 
                + // 8.4 批量显示菜单项  | 
            |
| 202 | 
                +            if (isNotEmpty(wxConfig.showMenuItems)) {
               | 
            |
| 203 | 
                +                wx.showMenuItems({
               | 
            |
| 204 | 
                + menuList: wxConfig.showMenuItems,  | 
            |
| 205 | 
                +                    success: function (res) {
               | 
            |
| 206 | 
                +                        if (JSWE.wxShowMenuItemsSuccess) {JSWE.wxShowMenuItemsSuccess(res)}
               | 
            |
| 207 | 
                + },  | 
            |
| 208 | 
                +                    fail: function (res) {
               | 
            |
| 209 | 
                +                        if (JSWE.wxShowMenuItemsFail) {JSWE.wxShowMenuItemsFail(res)}
               | 
            |
| 210 | 
                + }  | 
            |
| 211 | 
                + })  | 
            |
| 212 | 
                + }  | 
            |
| 213 | 
                + // 8.5 隐藏所有非基本菜单项  | 
            |
| 214 | 
                + // 8.6 显示所有被隐藏的非基本菜单项  | 
            |
| 215 | 
                +            if (wxConfig.baseFlag) {
               | 
            |
| 216 | 
                +                if (wxConfig.baseHide) {wx.hideAllNonBaseMenuItem()} else {wx.showAllNonBaseMenuItem()}
               | 
            |
| 217 | 
                + }  | 
            |
| 218 | 
                + // 8.7 关闭当前窗口  | 
            |
| 219 | 
                +            if (wxConfig.close) {wx.closeWindow()}
               | 
            |
| 220 | 
                +        }, wxVoiceApi = function() {
               | 
            |
| 221 | 
                + // 4.3 监听录音自动停止  | 
            |
| 222 | 
                +            wx.onVoiceRecordEnd({
               | 
            |
| 223 | 
                +                complete: function (res) {
               | 
            |
| 224 | 
                + voice.localId = res.localId  | 
            |
| 225 | 
                +                    if (JSWE.wxVoiceRecordEnd) {JSWE.wxVoiceRecordEnd(res)}
               | 
            |
| 226 | 
                + }  | 
            |
| 227 | 
                + })  | 
            |
| 228 | 
                + // 4.7 监听录音播放停止  | 
            |
| 229 | 
                +            wx.onVoicePlayEnd({
               | 
            |
| 230 | 
                +                complete: function (res) {
               | 
            |
| 231 | 
                +                    if (JSWE.wxVoicePlayEnd) {JSWE.wxVoicePlayEnd(res)}
               | 
            |
| 232 | 
                + }  | 
            |
| 233 | 
                + })  | 
            |
| 234 | 
                +        }, wxApi = function () {
               | 
            |
| 235 | 
                + wxShareApi()  | 
            |
| 236 | 
                + wxMenuApi()  | 
            |
| 237 | 
                + wxVoiceApi()  | 
            |
| 238 | 
                + }  | 
            |
| 239 | 
                +  | 
            |
| 240 | 
                + wx.ready(wxApi)  | 
            |
| 241 | 
                +  | 
            |
| 242 | 
                + return wxApiFun = wxApi  | 
            |
| 243 | 
                + }  | 
            |
| 244 | 
                +  | 
            |
| 245 | 
                +    if (isOpenInWeixin() || isOpenOnPC()) {
               | 
            |
| 246 | 
                +        if ('undefined' !== typeof JSWE_CONF_UPDATE) JSWE_CONF_UPDATE(config)
               | 
            |
| 247 | 
                +        $.ajax({
               | 
            |
| 248 | 
                + url: config.wxconfig,  | 
            |
| 249 | 
                + type: 'get',  | 
            |
| 250 | 
                + dataType: 'jsonp',  | 
            |
| 251 | 
                + jsonpCallback: config.callback,  | 
            |
| 252 | 
                +            data: {
               | 
            |
| 253 | 
                +                url: window.location.href.split('#')[0]
               | 
            |
| 254 | 
                + },  | 
            |
| 255 | 
                + success: wxReady  | 
            |
| 256 | 
                + })  | 
            |
| 257 | 
                + }  | 
            |
| 258 | 
                +  | 
            |
| 259 | 
                +    function initWxData(data, flag) {
               | 
            |
| 260 | 
                +        for(var d in data) {if (d in wxData) wxData[d] = data[d]}
               | 
            |
| 261 | 
                + if (flag) fixedWxData()  | 
            |
| 262 | 
                + }  | 
            |
| 263 | 
                +  | 
            |
| 264 | 
                +    function changeWxData(key, value, flag) {
               | 
            |
| 265 | 
                +        if (key in falDwxDataata) {wxData[key] = value}
               | 
            |
| 266 | 
                + if (flag) fixedWxData()  | 
            |
| 267 | 
                + }  | 
            |
| 268 | 
                +  | 
            |
| 269 | 
                +    function fixedWxData() {
               | 
            |
| 270 | 
                +        if ('undefined' !== typeof wxApiFun) wxApiFun()
               | 
            |
| 271 | 
                + }  | 
            |
| 272 | 
                +  | 
            |
| 273 | 
                + // 3 智能接口  | 
            |
| 274 | 
                +    var voice = {
               | 
            |
| 275 | 
                + localId: '',  | 
            |
| 276 | 
                + serverId: ''  | 
            |
| 277 | 
                + }  | 
            |
| 278 | 
                + // 3.1 识别音频并返回识别结果  | 
            |
| 279 | 
                +    function translateVoice() {
               | 
            |
| 280 | 
                +        if (voice.localId == '') {
               | 
            |
| 281 | 
                +            if (JSWE.wxTranslateVoiceEmpty) {JSWE.wxTranslateVoiceEmpty()}
               | 
            |
| 282 | 
                + return  | 
            |
| 283 | 
                + }  | 
            |
| 284 | 
                +        wx.translateVoice({
               | 
            |
| 285 | 
                + localId: voice.localId,  | 
            |
| 286 | 
                +            complete: function (res) {
               | 
            |
| 287 | 
                +                if (JSWE.wxTranslateVoiceComplete) {JSWE.wxTranslateVoiceComplete(res)}
               | 
            |
| 288 | 
                + }  | 
            |
| 289 | 
                + })  | 
            |
| 290 | 
                + }  | 
            |
| 291 | 
                +  | 
            |
| 292 | 
                + // 4 音频接口  | 
            |
| 293 | 
                + // 4.1 开始录音  | 
            |
| 294 | 
                +    function startRecord() {
               | 
            |
| 295 | 
                +        wx.startRecord({
               | 
            |
| 296 | 
                +            cancel: function () {
               | 
            |
| 297 | 
                +                if (JSWE.wxStartRecordCancel) {JSWE.wxStartRecordCancel(res)}
               | 
            |
| 298 | 
                + }  | 
            |
| 299 | 
                + })  | 
            |
| 300 | 
                + }  | 
            |
| 301 | 
                +  | 
            |
| 302 | 
                + // 4.2 停止录音  | 
            |
| 303 | 
                +    function stopRecord() {
               | 
            |
| 304 | 
                +        wx.stopRecord({
               | 
            |
| 305 | 
                +          success: function (res) {
               | 
            |
| 306 | 
                + voice.localId = res.localId  | 
            |
| 307 | 
                +              if (JSWE.wxStopRecordSuccess) {JSWE.wxStopRecordSuccess(res)}
               | 
            |
| 308 | 
                + },  | 
            |
| 309 | 
                +          fail: function (res) {
               | 
            |
| 310 | 
                +              if (JSWE.wxStopRecordFail) {JSWE.wxStopRecordFail(res)}
               | 
            |
| 311 | 
                + }  | 
            |
| 312 | 
                + })  | 
            |
| 313 | 
                + }  | 
            |
| 314 | 
                +  | 
            |
| 315 | 
                + // 4.4 播放音频  | 
            |
| 316 | 
                +    function playVoice() {
               | 
            |
| 317 | 
                +        if (voice.localId == '') {
               | 
            |
| 318 | 
                +            if (JSWE.wxPlayVoiceEmpty) {JSWE.wxPlayVoiceEmpty()}
               | 
            |
| 319 | 
                + return  | 
            |
| 320 | 
                + }  | 
            |
| 321 | 
                +        wx.playVoice({
               | 
            |
| 322 | 
                + localId: voice.localId  | 
            |
| 323 | 
                + })  | 
            |
| 324 | 
                + }  | 
            |
| 325 | 
                +  | 
            |
| 326 | 
                + // 4.5 暂停播放音频  | 
            |
| 327 | 
                +    function pauseVoice() {
               | 
            |
| 328 | 
                +        if (voice.localId == '') {
               | 
            |
| 329 | 
                +            if (JSWE.wxPauseVoiceEmpty) {JSWE.wxPauseVoiceEmpty()}
               | 
            |
| 330 | 
                + return  | 
            |
| 331 | 
                + }  | 
            |
| 332 | 
                +        wx.pauseVoice({
               | 
            |
| 333 | 
                + localId: voice.localId  | 
            |
| 334 | 
                + })  | 
            |
| 335 | 
                + }  | 
            |
| 336 | 
                +  | 
            |
| 337 | 
                + // 4.6 停止播放音频  | 
            |
| 338 | 
                +    function stopVoice() {
               | 
            |
| 339 | 
                +        if (voice.localId == '') {
               | 
            |
| 340 | 
                +            if (JSWE.wxStopVoiceEmpty) {JSWE.wxStopVoiceEmpty()}
               | 
            |
| 341 | 
                + return  | 
            |
| 342 | 
                + }  | 
            |
| 343 | 
                +        wx.stopVoice({
               | 
            |
| 344 | 
                + localId: voice.localId  | 
            |
| 345 | 
                + })  | 
            |
| 346 | 
                + }  | 
            |
| 347 | 
                +  | 
            |
| 348 | 
                + // 4.8 上传语音  | 
            |
| 349 | 
                +    function uploadVoice() {
               | 
            |
| 350 | 
                + var localId = voice.localId  | 
            |
| 351 | 
                +        if (localId == '') {
               | 
            |
| 352 | 
                +            if (JSWE.wxUploadVoiceEmpty) {JSWE.wxUploadVoiceEmpty()}
               | 
            |
| 353 | 
                + return  | 
            |
| 354 | 
                + }  | 
            |
| 355 | 
                +        wx.uploadVoice({
               | 
            |
| 356 | 
                + localId: localId,  | 
            |
| 357 | 
                +            success: function (res) {
               | 
            |
| 358 | 
                + voice.serverId = res.serverId  | 
            |
| 359 | 
                +                if (JSWE.wxUploadVoiceSuccess) {JSWE.wxUploadVoiceSuccess(res, localId)}
               | 
            |
| 360 | 
                + }  | 
            |
| 361 | 
                + })  | 
            |
| 362 | 
                + }  | 
            |
| 363 | 
                +  | 
            |
| 364 | 
                + // 4.9 下载语音  | 
            |
| 365 | 
                +    function downloadVoice() {
               | 
            |
| 366 | 
                + var serverId = voice.serverId  | 
            |
| 367 | 
                +        if (serverId == '') {
               | 
            |
| 368 | 
                +            if (JSWE.wxDownloadVoiceEmpty) {JSWE.wxDownloadVoiceEmpty()}
               | 
            |
| 369 | 
                + return  | 
            |
| 370 | 
                + }  | 
            |
| 371 | 
                +        wx.downloadVoice({
               | 
            |
| 372 | 
                + serverId: serverId,  | 
            |
| 373 | 
                +            success: function (res) {
               | 
            |
| 374 | 
                + voice.localId = res.localId  | 
            |
| 375 | 
                +                if (JSWE.wxDownloadVoiceSuccess) {JSWE.wxDownloadVoiceSuccess(res, serverId)}
               | 
            |
| 376 | 
                + }  | 
            |
| 377 | 
                + })  | 
            |
| 378 | 
                + }  | 
            |
| 379 | 
                +  | 
            |
| 380 | 
                + // 5 图片接口  | 
            |
| 381 | 
                +    var images = {
               | 
            |
| 382 | 
                + localIds: [],  | 
            |
| 383 | 
                + serverIds: []  | 
            |
| 384 | 
                + }  | 
            |
| 385 | 
                + // 5.1 拍照、本地选图  | 
            |
| 386 | 
                +    function chooseImage(choose_params) {
               | 
            |
| 387 | 
                +        if ('undefined' === typeof choose_params) choose_params = {}
               | 
            |
| 388 | 
                +        wx.chooseImage({
               | 
            |
| 389 | 
                + count: choose_params.count || 9, // 默认9  | 
            |
| 390 | 
                + sizeType: choose_params.sizeType || ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有  | 
            |
| 391 | 
                + sourceType: choose_params.sourceType || ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有  | 
            |
| 392 | 
                +            success: function (res) {
               | 
            |
| 393 | 
                + images.localIds = res.localIds // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片  | 
            |
| 394 | 
                + // 判断是否直接上传  | 
            |
| 395 | 
                +                if (choose_params.directUpload) {setTimeout(uploadImages({localIds: images.localIds, isShowProgressTips: choose_params.isShowProgressTips || 1}), 100)}
               | 
            |
| 396 | 
                + // 拍照、本地选图成功后的回调函数  | 
            |
| 397 | 
                +                if (JSWE.wxChooseImageSuccess) {JSWE.wxChooseImageSuccess(res, choose_params.extras || {})}
               | 
            |
| 398 | 
                + }  | 
            |
| 399 | 
                + })  | 
            |
| 400 | 
                + }  | 
            |
| 401 | 
                +  | 
            |
| 402 | 
                + // 5.2 图片预览  | 
            |
| 403 | 
                +    function previewImage(preview_params) {
               | 
            |
| 404 | 
                +        wx.previewImage({
               | 
            |
| 405 | 
                + current: preview_params.current, // 当前显示图片的链接,不填则默认为 urls 的第一张  | 
            |
| 406 | 
                + urls: preview_params.urls // 需要预览的图片链接列表  | 
            |
| 407 | 
                + })  | 
            |
| 408 | 
                + }  | 
            |
| 409 | 
                +  | 
            |
| 410 | 
                + // 5.3 上传图片  | 
            |
| 411 | 
                +    function uploadImage(upload_params) {
               | 
            |
| 412 | 
                + // 上传图片为异步处理,重复上传同一图片,返回的serverId也是不同的  | 
            |
| 413 | 
                + var localId = upload_params.localId  | 
            |
| 414 | 
                +        wx.uploadImage({
               | 
            |
| 415 | 
                + localId: localId, // 需要上传的图片的本地ID,由chooseImage接口获得  | 
            |
| 416 | 
                + isShowProgressTips: upload_params.isShowProgressTips || 1, // 默认为1,显示进度提示  | 
            |
| 417 | 
                +            success: function (res) {
               | 
            |
| 418 | 
                + images.serverIds.push(res.serverId) // 返回图片的服务器端ID  | 
            |
| 419 | 
                + // 上传图片成功后的回调函数  | 
            |
| 420 | 
                +                if (JSWE.wxUploadImageSuccess) {JSWE.wxUploadImageSuccess(res, localId)}
               | 
            |
| 421 | 
                + }  | 
            |
| 422 | 
                + })  | 
            |
| 423 | 
                + }  | 
            |
| 424 | 
                +  | 
            |
| 425 | 
                +    function uploadImages(upload_params) {
               | 
            |
| 426 | 
                + var localIds = upload_params.localIds, isShowProgressTips = upload_params.isShowProgressTips || 1  | 
            |
| 427 | 
                + images.serverIds = []  | 
            |
| 428 | 
                +        for (var idx in localIds) {uploadImage({localId: localIds[idx], isShowProgressTips: isShowProgressTips})}
               | 
            |
| 429 | 
                + }  | 
            |
| 430 | 
                +  | 
            |
| 431 | 
                + // 5.4 下载图片  | 
            |
| 432 | 
                +    function downloadImage(download_params) {
               | 
            |
| 433 | 
                + var serverId = download_params.serverId  | 
            |
| 434 | 
                +        wx.downloadImage({
               | 
            |
| 435 | 
                + serverId: serverId, // 需要下载的图片的服务器端ID,由uploadImage接口获得  | 
            |
| 436 | 
                + isShowProgressTips: download_params.isShowProgressTips || 1, // 默认为1,显示进度提示  | 
            |
| 437 | 
                +            success: function (res) {
               | 
            |
| 438 | 
                + images.localId.push(res.localId)  | 
            |
| 439 | 
                +                if (JSWE.wxDownloadImageSuccess) {JSWE.wxDownloadImageSuccess(res, serverId)}
               | 
            |
| 440 | 
                + }  | 
            |
| 441 | 
                + })  | 
            |
| 442 | 
                + }  | 
            |
| 443 | 
                +  | 
            |
| 444 | 
                +    function downloadImages(download_params) {
               | 
            |
| 445 | 
                + var serverIds = download_params.serverIds, isShowProgressTips = download_params.isShowProgressTips || 1  | 
            |
| 446 | 
                + images.localIds = []  | 
            |
| 447 | 
                +        for (var idx in serverIds) {downloadImage({serverId: serverIds[idx], isShowProgressTips: isShowProgressTips})}
               | 
            |
| 448 | 
                + }  | 
            |
| 449 | 
                +  | 
            |
| 450 | 
                +    function getLocalImgData(localId) {
               | 
            |
| 451 | 
                +        wx.getLocalImgData({
               | 
            |
| 452 | 
                + localId: localId, // 图片的localID  | 
            |
| 453 | 
                +            success: function (res) {
               | 
            |
| 454 | 
                + // var localData = res.localData; // localData是图片的base64数据,可以用img标签显示  | 
            |
| 455 | 
                +                if (JSWE.wxGetLocalImgDataSuccess) {JSWE.wxGetLocalImgDataSuccess(res)}
               | 
            |
| 456 | 
                + }  | 
            |
| 457 | 
                + })  | 
            |
| 458 | 
                + }  | 
            |
| 459 | 
                +  | 
            |
| 460 | 
                + // 9 微信原生接口  | 
            |
| 461 | 
                + // 9.1.1 扫描二维码并返回结果  | 
            |
| 462 | 
                + // 9.1.2 扫描二维码并返回结果  | 
            |
| 463 | 
                +    function scanQRCode(scan_params) {
               | 
            |
| 464 | 
                +        if ('undefined' === typeof scan_params) scan_params = {}
               | 
            |
| 465 | 
                +        wx.scanQRCode({
               | 
            |
| 466 | 
                + needResult: scan_params.needResult || 0, // 默认为0,0扫描结果由微信处理,1直接返回扫描结果  | 
            |
| 467 | 
                + scanType: scan_params.scanType || ['qrCode', 'barCode'], // 可以指定扫二维码还是一维码,默认二者都有  | 
            |
| 468 | 
                +            success: function (res) {  // 当 needResult 为 1 时,扫码返回的结果
               | 
            |
| 469 | 
                +                if (JSWE.wxScanQRCodeSuccess) {JSWE.wxScanQRCodeSuccess(res)}
               | 
            |
| 470 | 
                + }  | 
            |
| 471 | 
                + })  | 
            |
| 472 | 
                + }  | 
            |
| 473 | 
                +  | 
            |
| 474 | 
                + // QRCode & BarCode is different  | 
            |
| 475 | 
                +    function parseScanQRCodeResultStr(resultStr) {
               | 
            |
| 476 | 
                +        var strs = resultStr.split(',')
               | 
            |
| 477 | 
                + return strs[strs.length - 1]  | 
            |
| 478 | 
                + }  | 
            |
| 479 | 
                +  | 
            |
| 480 | 
                + // 10 微信支付接口  | 
            |
| 481 | 
                + // 10.1 发起一个支付请求  | 
            |
| 482 | 
                +    function chooseWXPay(wxpay_params) {
               | 
            |
| 483 | 
                +        wx.chooseWXPay({
               | 
            |
| 484 | 
                + timestamp: wxpay_params.timeStamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符  | 
            |
| 485 | 
                + nonceStr: wxpay_params.nonceStr, // 支付签名随机串,不长于 32 位  | 
            |
| 486 | 
                + package: wxpay_params.package, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)  | 
            |
| 487 | 
                + signType: wxpay_params.signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'  | 
            |
| 488 | 
                + paySign: wxpay_params.paySign, // 支付签名  | 
            |
| 489 | 
                +            success: function (res) {
               | 
            |
| 490 | 
                + // 支付成功后的回调函数  | 
            |
| 491 | 
                +                if (JSWE.wxPaySuccess) {JSWE.wxPaySuccess(res)}
               | 
            |
| 492 | 
                + }  | 
            |
| 493 | 
                + })  | 
            |
| 494 | 
                + }  | 
            |
| 495 | 
                +  | 
            |
| 496 | 
                + // xx 微信原生企业红包接口  | 
            |
| 497 | 
                + // xx.1 发起一个发送原生企业红包请求  | 
            |
| 498 | 
                +    function openEnterpriseRedPacket(wxredpack_params) {
               | 
            |
| 499 | 
                +        wx.openEnterpriseRedPacket({
               | 
            |
| 500 | 
                + timeStamp: wxredpack_params.timeStamp, // 红包签名时间戳,注意原生企业红包接口timeStamp字段名需大写其中的S字符,而支付接口timeStamp字段名无需大写其中的S字符。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符  | 
            |
| 501 | 
                + nonceStr: wxredpack_params.nonceStr, // 红包签名随机串,不长于 32 位  | 
            |
| 502 | 
                + package: encodeURIComponent(wxredpack_params.package), // 发放红包接口返回的prepay_id参数值,提交格式如:prepay_id=***)  | 
            |
| 503 | 
                + signType: wxredpack_params.signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'  | 
            |
| 504 | 
                + paySign: wxredpack_params.paySign, // 红包签名  | 
            |
| 505 | 
                +            success: function (res) {
               | 
            |
| 506 | 
                + // 发送原生企业红包成功后的回调函数  | 
            |
| 507 | 
                +                if (JSWE.wxEnterpriseRedPacketSuccess) {JSWE.wxEnterpriseRedPacketSuccess(res)}
               | 
            |
| 508 | 
                + }  | 
            |
| 509 | 
                + })  | 
            |
| 510 | 
                + }  | 
            |
| 511 | 
                +  | 
            |
| 512 | 
                +    var v = {
               | 
            |
| 513 | 
                + version: '1.0.5',  | 
            |
| 514 | 
                +  | 
            |
| 515 | 
                + // Basic Vars  | 
            |
| 516 | 
                + config: config,  | 
            |
| 517 | 
                + wxData: wxData,  | 
            |
| 518 | 
                + jsApiList: jsApiList,  | 
            |
| 519 | 
                +  | 
            |
| 520 | 
                + isEmpty: isEmpty,  | 
            |
| 521 | 
                + isNotEmpty: isNotEmpty,  | 
            |
| 522 | 
                +  | 
            |
| 523 | 
                + // Weixin Function  | 
            |
| 524 | 
                + isOpenInWeixin: isOpenInWeixin,  | 
            |
| 525 | 
                + getWeixinVersion: getWeixinVersion,  | 
            |
| 526 | 
                + isWeixinVersion: isWeixinVersion,  | 
            |
| 527 | 
                +  | 
            |
| 528 | 
                + // Menu Function  | 
            |
| 529 | 
                + hideOptionMenu: hideOptionMenu,  | 
            |
| 530 | 
                + showOptionMenu: showOptionMenu,  | 
            |
| 531 | 
                + hideMenuItems: hideMenuItems,  | 
            |
| 532 | 
                + showMenuItems: showMenuItems,  | 
            |
| 533 | 
                + hideAllNonBaseMenuItem: hideAllNonBaseMenuItem,  | 
            |
| 534 | 
                + showAllNonBaseMenuItem: showAllNonBaseMenuItem,  | 
            |
| 535 | 
                + closeWindow: closeWindow,  | 
            |
| 536 | 
                +  | 
            |
| 537 | 
                + // Share Function  | 
            |
| 538 | 
                + initWxData: initWxData,  | 
            |
| 539 | 
                + changeWxData: changeWxData,  | 
            |
| 540 | 
                + fixedWxData: fixedWxData,  | 
            |
| 541 | 
                +  | 
            |
| 542 | 
                + // Voice Function  | 
            |
| 543 | 
                + voice: voice,  | 
            |
| 544 | 
                + translateVoice: translateVoice,  | 
            |
| 545 | 
                + startRecord: startRecord,  | 
            |
| 546 | 
                + stopRecord: stopRecord,  | 
            |
| 547 | 
                + playVoice: playVoice,  | 
            |
| 548 | 
                + pauseVoice: pauseVoice,  | 
            |
| 549 | 
                + stopVoice: stopVoice,  | 
            |
| 550 | 
                + uploadVoice: uploadVoice,  | 
            |
| 551 | 
                + downloadVoice: downloadVoice,  | 
            |
| 552 | 
                +  | 
            |
| 553 | 
                + // Image Function  | 
            |
| 554 | 
                + images: images,  | 
            |
| 555 | 
                + chooseImage: chooseImage,  | 
            |
| 556 | 
                + previewImage: previewImage,  | 
            |
| 557 | 
                + uploadImage: uploadImage,  | 
            |
| 558 | 
                + uploadImages: uploadImages,  | 
            |
| 559 | 
                + downloadImage: downloadImage,  | 
            |
| 560 | 
                + downloadImages: downloadImages,  | 
            |
| 561 | 
                + getLocalImgData: getLocalImgData,  | 
            |
| 562 | 
                +  | 
            |
| 563 | 
                + // Scan Function  | 
            |
| 564 | 
                + scanQRCode: scanQRCode,  | 
            |
| 565 | 
                + parseScanQRCodeResultStr: parseScanQRCodeResultStr,  | 
            |
| 566 | 
                +  | 
            |
| 567 | 
                + // Pay Function  | 
            |
| 568 | 
                + chooseWXPay: chooseWXPay,  | 
            |
| 569 | 
                +  | 
            |
| 570 | 
                + // EnterpriseRedPacket Function  | 
            |
| 571 | 
                + openEnterpriseRedPacket: openEnterpriseRedPacket  | 
            |
| 572 | 
                + }  | 
            |
| 573 | 
                + e.JSWE = e.V = v  | 
            |
| 574 | 
                +})(window)  | 
            
                @@ -0,0 +1,5 @@  | 
            ||
| 1 | 
                +{% extends "admin/change_form.html" %}
               | 
            |
| 2 | 
                +{% load i18n %}
               | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +{% block submit_buttons_bottom %}
               | 
            |
| 5 | 
                +{% endblock %}
               | 
            
                @@ -0,0 +1,36 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +"""kodo URL Configuration  | 
            |
| 4 | 
                +  | 
            |
| 5 | 
                +The `urlpatterns` list routes URLs to views. For more information please see:  | 
            |
| 6 | 
                + https://docs.djangoproject.com/en/1.11/topics/http/urls/  | 
            |
| 7 | 
                +Examples:  | 
            |
| 8 | 
                +Function views  | 
            |
| 9 | 
                + 1. Add an import: from my_app import views  | 
            |
| 10 | 
                + 2. Add a URL to urlpatterns: url(r'^$', views.home, name='home')  | 
            |
| 11 | 
                +Class-based views  | 
            |
| 12 | 
                + 1. Add an import: from other_app.views import Home  | 
            |
| 13 | 
                + 2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home')  | 
            |
| 14 | 
                +Including another URLconf  | 
            |
| 15 | 
                + 1. Import the include() function: from django.conf.urls import url, include  | 
            |
| 16 | 
                +    2. Add a URL to urlpatterns:  url(r'^blog/', include('blog.urls'))
               | 
            |
| 17 | 
                +"""  | 
            |
| 18 | 
                +from django.conf import settings  | 
            |
| 19 | 
                +from django.conf.urls import include, url  | 
            |
| 20 | 
                +from django.conf.urls.static import static  | 
            |
| 21 | 
                +from django.contrib import admin  | 
            |
| 22 | 
                +  | 
            |
| 23 | 
                +  | 
            |
| 24 | 
                +urlpatterns = [  | 
            |
| 25 | 
                + url(r'^admin/', admin.site.urls),  | 
            |
| 26 | 
                +    url(r'^api/', include('api.urls', namespace='api')),
               | 
            |
| 27 | 
                +    # url(r'^s/', include('django_short_url.urls', namespace='django_short_url')),
               | 
            |
| 28 | 
                +    url(r'^uniapi/', include('django_uniapi.urls', namespace='uniapi')),
               | 
            |
| 29 | 
                +    url(r'^we/', include('django_we.urls', namespace='wechat')),
               | 
            |
| 30 | 
                +]  | 
            |
| 31 | 
                +  | 
            |
| 32 | 
                +urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)  | 
            |
| 33 | 
                +urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)  | 
            |
| 34 | 
                +  | 
            |
| 35 | 
                +# AdminSite  | 
            |
| 36 | 
                +admin.site.site_header = 'My administration'  | 
            
                @@ -0,0 +1,17 @@  | 
            ||
| 1 | 
                +"""  | 
            |
| 2 | 
                +WSGI config for kodo project.  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +It exposes the WSGI callable as a module-level variable named ``application``.  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +For more information on this file, see  | 
            |
| 7 | 
                +https://docs.djangoproject.com/en/1.11/howto/deployment/wsgi/  | 
            |
| 8 | 
                +"""  | 
            |
| 9 | 
                +  | 
            |
| 10 | 
                +import os  | 
            |
| 11 | 
                +  | 
            |
| 12 | 
                +from django.core.wsgi import get_wsgi_application  | 
            |
| 13 | 
                +  | 
            |
| 14 | 
                +  | 
            |
| 15 | 
                +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "kodo.settings")
               | 
            |
| 16 | 
                +  | 
            |
| 17 | 
                +application = get_wsgi_application()  | 
            
                @@ -0,0 +1,23 @@  | 
            ||
| 1 | 
                +#!/usr/bin/env python  | 
            |
| 2 | 
                +import os  | 
            |
| 3 | 
                +import sys  | 
            |
| 4 | 
                +  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +if __name__ == "__main__":  | 
            |
| 7 | 
                +    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "kodo.settings")
               | 
            |
| 8 | 
                + try:  | 
            |
| 9 | 
                + from django.core.management import execute_from_command_line  | 
            |
| 10 | 
                + except ImportError:  | 
            |
| 11 | 
                + # The above import may fail for some other reason. Ensure that the  | 
            |
| 12 | 
                + # issue is really that Django is missing to avoid masking other  | 
            |
| 13 | 
                + # exceptions on Python 2.  | 
            |
| 14 | 
                + try:  | 
            |
| 15 | 
                + import django  | 
            |
| 16 | 
                + except ImportError:  | 
            |
| 17 | 
                + raise ImportError(  | 
            |
| 18 | 
                + "Couldn't import Django. Are you sure it's installed and "  | 
            |
| 19 | 
                + "available on your PYTHONPATH environment variable? Did you "  | 
            |
| 20 | 
                + "forget to activate a virtual environment?"  | 
            |
| 21 | 
                + )  | 
            |
| 22 | 
                + raise  | 
            |
| 23 | 
                + execute_from_command_line(sys.argv)  | 
            
                @@ -0,0 +1,22 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +from django.contrib import admin  | 
            |
| 4 | 
                +  | 
            |
| 5 | 
                +from mch.models import BrandInfo, DistributorInfo, ModelInfo  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +  | 
            |
| 8 | 
                +class BrandInfoAdmin(admin.ModelAdmin):  | 
            |
| 9 | 
                +    list_display = ('brand_id', 'brand_name', 'brand_descr', 'position', 'status', 'created_at', 'updated_at')
               | 
            |
| 10 | 
                +  | 
            |
| 11 | 
                +  | 
            |
| 12 | 
                +class ModelInfoAdmin(admin.ModelAdmin):  | 
            |
| 13 | 
                +    list_display = ('model_id', 'model_name', 'model_descr', 'position', 'status', 'created_at', 'updated_at')
               | 
            |
| 14 | 
                +  | 
            |
| 15 | 
                +  | 
            |
| 16 | 
                +class DistributorInfoAdmin(admin.ModelAdmin):  | 
            |
| 17 | 
                +    list_display = ('distributor_id', 'distributor_name', 'distributor_descr', 'position', 'status', 'created_at', 'updated_at')
               | 
            |
| 18 | 
                +  | 
            |
| 19 | 
                +  | 
            |
| 20 | 
                +admin.site.register(BrandInfo, BrandInfoAdmin)  | 
            |
| 21 | 
                +admin.site.register(ModelInfo, ModelInfoAdmin)  | 
            |
| 22 | 
                +admin.site.register(DistributorInfo, DistributorInfoAdmin)  | 
            
                @@ -0,0 +1,8 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +from __future__ import unicode_literals  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +from django.apps import AppConfig  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +class MchConfig(AppConfig):  | 
            |
| 8 | 
                + name = 'mch'  | 
            
                @@ -0,0 +1,68 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +# Generated by Django 1.11.3 on 2017-12-30 13:37  | 
            |
| 3 | 
                +from __future__ import unicode_literals  | 
            |
| 4 | 
                +  | 
            |
| 5 | 
                +from django.db import migrations, models  | 
            |
| 6 | 
                +import shortuuidfield.fields  | 
            |
| 7 | 
                +  | 
            |
| 8 | 
                +  | 
            |
| 9 | 
                +class Migration(migrations.Migration):  | 
            |
| 10 | 
                +  | 
            |
| 11 | 
                + initial = True  | 
            |
| 12 | 
                +  | 
            |
| 13 | 
                + dependencies = [  | 
            |
| 14 | 
                + ]  | 
            |
| 15 | 
                +  | 
            |
| 16 | 
                + operations = [  | 
            |
| 17 | 
                + migrations.CreateModel(  | 
            |
| 18 | 
                + name='BrandInfo',  | 
            |
| 19 | 
                + fields=[  | 
            |
| 20 | 
                +                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
               | 
            |
| 21 | 
                +                ('status', models.BooleanField(db_index=True, default=True, help_text='Status', verbose_name='status')),
               | 
            |
| 22 | 
                +                ('created_at', models.DateTimeField(auto_now_add=True, help_text='Create Time', verbose_name='created_at')),
               | 
            |
| 23 | 
                +                ('updated_at', models.DateTimeField(auto_now=True, help_text='Update Time', verbose_name='updated_at')),
               | 
            |
| 24 | 
                +                ('brand_id', shortuuidfield.fields.ShortUUIDField(blank=True, db_index=True, editable=False, help_text='\u54c1\u724c\u552f\u4e00\u6807\u8bc6', max_length=22, unique=True)),
               | 
            |
| 25 | 
                +                ('brand_name', models.CharField(blank=True, help_text='\u54c1\u724c\u540d\u79f0', max_length=255, null=True, verbose_name='brand_name')),
               | 
            |
| 26 | 
                +                ('brand_descr', models.TextField(blank=True, help_text='\u54c1\u724c\u63cf\u8ff0', max_length=255, null=True, verbose_name='brand_descr')),
               | 
            |
| 27 | 
                +                ('position', models.IntegerField(default=1, help_text='\u6392\u5e8f', verbose_name='position')),
               | 
            |
| 28 | 
                + ],  | 
            |
| 29 | 
                +            options={
               | 
            |
| 30 | 
                + 'verbose_name': '\u54c1\u724c\u4fe1\u606f',  | 
            |
| 31 | 
                + 'verbose_name_plural': '\u54c1\u724c\u4fe1\u606f',  | 
            |
| 32 | 
                + },  | 
            |
| 33 | 
                + ),  | 
            |
| 34 | 
                + migrations.CreateModel(  | 
            |
| 35 | 
                + name='DistributorInfo',  | 
            |
| 36 | 
                + fields=[  | 
            |
| 37 | 
                +                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
               | 
            |
| 38 | 
                +                ('status', models.BooleanField(db_index=True, default=True, help_text='Status', verbose_name='status')),
               | 
            |
| 39 | 
                +                ('created_at', models.DateTimeField(auto_now_add=True, help_text='Create Time', verbose_name='created_at')),
               | 
            |
| 40 | 
                +                ('updated_at', models.DateTimeField(auto_now=True, help_text='Update Time', verbose_name='updated_at')),
               | 
            |
| 41 | 
                +                ('distributor_id', shortuuidfield.fields.ShortUUIDField(blank=True, db_index=True, editable=False, help_text='\u7ecf\u9500\u5546\u552f\u4e00\u6807\u8bc6', max_length=22, unique=True)),
               | 
            |
| 42 | 
                +                ('distributor_name', models.CharField(blank=True, help_text='\u7ecf\u9500\u5546\u540d\u79f0', max_length=255, null=True, verbose_name='distributor_name')),
               | 
            |
| 43 | 
                +                ('distributor_descr', models.TextField(blank=True, help_text='\u7ecf\u9500\u5546\u63cf\u8ff0', max_length=255, null=True, verbose_name='distributor_descr')),
               | 
            |
| 44 | 
                +                ('position', models.IntegerField(default=1, help_text='\u6392\u5e8f', verbose_name='position')),
               | 
            |
| 45 | 
                + ],  | 
            |
| 46 | 
                +            options={
               | 
            |
| 47 | 
                + 'verbose_name': '\u7ecf\u9500\u5546\u4fe1\u606f',  | 
            |
| 48 | 
                + 'verbose_name_plural': '\u7ecf\u9500\u5546\u4fe1\u606f',  | 
            |
| 49 | 
                + },  | 
            |
| 50 | 
                + ),  | 
            |
| 51 | 
                + migrations.CreateModel(  | 
            |
| 52 | 
                + name='ModelInfo',  | 
            |
| 53 | 
                + fields=[  | 
            |
| 54 | 
                +                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
               | 
            |
| 55 | 
                +                ('status', models.BooleanField(db_index=True, default=True, help_text='Status', verbose_name='status')),
               | 
            |
| 56 | 
                +                ('created_at', models.DateTimeField(auto_now_add=True, help_text='Create Time', verbose_name='created_at')),
               | 
            |
| 57 | 
                +                ('updated_at', models.DateTimeField(auto_now=True, help_text='Update Time', verbose_name='updated_at')),
               | 
            |
| 58 | 
                +                ('model_id', shortuuidfield.fields.ShortUUIDField(blank=True, db_index=True, editable=False, help_text='\u578b\u53f7\u552f\u4e00\u6807\u8bc6', max_length=22, unique=True)),
               | 
            |
| 59 | 
                +                ('model_name', models.CharField(blank=True, help_text='\u578b\u53f7\u540d\u79f0', max_length=255, null=True, verbose_name='model_name')),
               | 
            |
| 60 | 
                +                ('model_descr', models.TextField(blank=True, help_text='\u578b\u53f7\u63cf\u8ff0', max_length=255, null=True, verbose_name='model_descr')),
               | 
            |
| 61 | 
                +                ('position', models.IntegerField(default=1, help_text='\u6392\u5e8f', verbose_name='position')),
               | 
            |
| 62 | 
                + ],  | 
            |
| 63 | 
                +            options={
               | 
            |
| 64 | 
                + 'verbose_name': '\u578b\u53f7\u4fe1\u606f',  | 
            |
| 65 | 
                + 'verbose_name_plural': '\u578b\u53f7\u4fe1\u606f',  | 
            |
| 66 | 
                + },  | 
            |
| 67 | 
                + ),  | 
            |
| 68 | 
                + ]  | 
            
                @@ -0,0 +1,75 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +from django.db import models  | 
            |
| 4 | 
                +from django.utils.translation import ugettext_lazy as _  | 
            |
| 5 | 
                +from models_ext import BaseModelMixin  | 
            |
| 6 | 
                +from shortuuidfield import ShortUUIDField  | 
            |
| 7 | 
                +  | 
            |
| 8 | 
                +  | 
            |
| 9 | 
                +class BrandInfo(BaseModelMixin):  | 
            |
| 10 | 
                + brand_id = ShortUUIDField(_(u'brand_id'), max_length=32, help_text=u'品牌唯一标识', db_index=True, unique=True)  | 
            |
| 11 | 
                + brand_name = models.CharField(_(u'brand_name'), max_length=255, blank=True, null=True, help_text=u'品牌名称')  | 
            |
| 12 | 
                + brand_descr = models.TextField(_(u'brand_descr'), max_length=255, blank=True, null=True, help_text=u'品牌描述')  | 
            |
| 13 | 
                +  | 
            |
| 14 | 
                + position = models.IntegerField(_(u'position'), default=1, help_text=u'排序')  | 
            |
| 15 | 
                +  | 
            |
| 16 | 
                + class Meta:  | 
            |
| 17 | 
                + verbose_name = _(u'品牌信息')  | 
            |
| 18 | 
                + verbose_name_plural = _(u'品牌信息')  | 
            |
| 19 | 
                +  | 
            |
| 20 | 
                + def __unicode__(self):  | 
            |
| 21 | 
                + return unicode(self.pk)  | 
            |
| 22 | 
                +  | 
            |
| 23 | 
                + @property  | 
            |
| 24 | 
                + def data(self):  | 
            |
| 25 | 
                +        return {
               | 
            |
| 26 | 
                + 'brand_id': self.brand_id,  | 
            |
| 27 | 
                + 'brand_name': self.brand_name,  | 
            |
| 28 | 
                + 'brand_descr': self.brand_descr,  | 
            |
| 29 | 
                + }  | 
            |
| 30 | 
                +  | 
            |
| 31 | 
                +  | 
            |
| 32 | 
                +class ModelInfo(BaseModelMixin):  | 
            |
| 33 | 
                + model_id = ShortUUIDField(_(u'model_id'), max_length=32, help_text=u'型号唯一标识', db_index=True, unique=True)  | 
            |
| 34 | 
                + model_name = models.CharField(_(u'model_name'), max_length=255, blank=True, null=True, help_text=u'型号名称')  | 
            |
| 35 | 
                + model_descr = models.TextField(_(u'model_descr'), max_length=255, blank=True, null=True, help_text=u'型号描述')  | 
            |
| 36 | 
                +  | 
            |
| 37 | 
                + position = models.IntegerField(_(u'position'), default=1, help_text=u'排序')  | 
            |
| 38 | 
                +  | 
            |
| 39 | 
                + class Meta:  | 
            |
| 40 | 
                + verbose_name = _(u'型号信息')  | 
            |
| 41 | 
                + verbose_name_plural = _(u'型号信息')  | 
            |
| 42 | 
                +  | 
            |
| 43 | 
                + def __unicode__(self):  | 
            |
| 44 | 
                + return unicode(self.pk)  | 
            |
| 45 | 
                +  | 
            |
| 46 | 
                + @property  | 
            |
| 47 | 
                + def data(self):  | 
            |
| 48 | 
                +        return {
               | 
            |
| 49 | 
                + 'model_id': self.model_id,  | 
            |
| 50 | 
                + 'model_name': self.model_name,  | 
            |
| 51 | 
                + 'model_descr': self.model_descr,  | 
            |
| 52 | 
                + }  | 
            |
| 53 | 
                +  | 
            |
| 54 | 
                +  | 
            |
| 55 | 
                +class DistributorInfo(BaseModelMixin):  | 
            |
| 56 | 
                + distributor_id = ShortUUIDField(_(u'distributor_id'), max_length=32, help_text=u'经销商唯一标识', db_index=True, unique=True)  | 
            |
| 57 | 
                + distributor_name = models.CharField(_(u'distributor_name'), max_length=255, blank=True, null=True, help_text=u'经销商名称')  | 
            |
| 58 | 
                + distributor_descr = models.TextField(_(u'distributor_descr'), max_length=255, blank=True, null=True, help_text=u'经销商描述')  | 
            |
| 59 | 
                +  | 
            |
| 60 | 
                + position = models.IntegerField(_(u'position'), default=1, help_text=u'排序')  | 
            |
| 61 | 
                +  | 
            |
| 62 | 
                + class Meta:  | 
            |
| 63 | 
                + verbose_name = _(u'经销商信息')  | 
            |
| 64 | 
                + verbose_name_plural = _(u'经销商信息')  | 
            |
| 65 | 
                +  | 
            |
| 66 | 
                + def __unicode__(self):  | 
            |
| 67 | 
                + return unicode(self.pk)  | 
            |
| 68 | 
                +  | 
            |
| 69 | 
                + @property  | 
            |
| 70 | 
                + def data(self):  | 
            |
| 71 | 
                +        return {
               | 
            |
| 72 | 
                + 'distributor_id': self.distributor_id,  | 
            |
| 73 | 
                + 'distributor_name': self.distributor_name,  | 
            |
| 74 | 
                + 'distributor_descr': self.distributor_descr,  | 
            |
| 75 | 
                + }  | 
            
                @@ -0,0 +1,7 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +from __future__ import unicode_literals  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +from django.test import TestCase  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +# Create your tests here.  | 
            
                @@ -0,0 +1,7 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +from __future__ import unicode_literals  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +from django.shortcuts import render  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +# Create your views here.  | 
            
                @@ -0,0 +1,9 @@  | 
            ||
| 1 | 
                +#!/bin/bash  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +# Ignoring autogenerated files  | 
            |
| 4 | 
                +# -- Migration directories  | 
            |
| 5 | 
                +# Ignoring error codes  | 
            |
| 6 | 
                +# -- E128 continuation line under-indented for visual indent  | 
            |
| 7 | 
                +# -- E501 line too long  | 
            |
| 8 | 
                +  | 
            |
| 9 | 
                +pycodestyle --exclude=build,migrations,.tox --ignore=E128,E501 .  | 
            
                @@ -0,0 +1,18 @@  | 
            ||
| 1 | 
                +Django==1.11.3  | 
            |
| 2 | 
                +StatusCode==1.0.0  | 
            |
| 3 | 
                +django-admin==1.1.0  | 
            |
| 4 | 
                +django-detect==1.0.5  | 
            |
| 5 | 
                +django-json-render==1.0.0  | 
            |
| 6 | 
                +django-json-response==1.1.5  | 
            |
| 7 | 
                +django-models-ext==1.0.5  | 
            |
| 8 | 
                +django-short-url==1.0.2  | 
            |
| 9 | 
                +django-uniapi==1.0.0  | 
            |
| 10 | 
                +django-we==1.1.2  | 
            |
| 11 | 
                +furl==1.0.1  | 
            |
| 12 | 
                +hiredis==0.2.0  | 
            |
| 13 | 
                +mysqlclient==1.3.12  | 
            |
| 14 | 
                +pywe-oauth==1.0.5  | 
            |
| 15 | 
                +pywe-pay==1.0.11  | 
            |
| 16 | 
                +redis==2.10.6  | 
            |
| 17 | 
                +redis-extensions==1.1.6  | 
            |
| 18 | 
                +rsa==3.4.2  | 
            
                @@ -0,0 +1,13 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +import base64  | 
            |
| 4 | 
                +  | 
            |
| 5 | 
                +from CodeConvert import CodeConvert as cc  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +  | 
            |
| 8 | 
                +def b64_encrypt(plaintext):  | 
            |
| 9 | 
                + return base64.urlsafe_b64encode(cc.Convert2Utf8(plaintext))  | 
            |
| 10 | 
                +  | 
            |
| 11 | 
                +  | 
            |
| 12 | 
                +def b64_decrypt(ciphertext):  | 
            |
| 13 | 
                + return cc.Convert2Unicode(base64.urlsafe_b64decode(ciphertext))  | 
            
                @@ -0,0 +1,18 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +import base64  | 
            |
| 4 | 
                +  | 
            |
| 5 | 
                +import rsa  | 
            |
| 6 | 
                +from CodeConvert import CodeConvert as cc  | 
            |
| 7 | 
                +  | 
            |
| 8 | 
                +  | 
            |
| 9 | 
                +pubkey = rsa.PublicKey(7733936986002684982484845608354489436048239676995253266549456282870195715569430535348099548536388503919509506510435040149560886821029985877148893951171111, 65537)  | 
            |
| 10 | 
                +privkey = rsa.PrivateKey(7733936986002684982484845608354489436048239676995253266549456282870195715569430535348099548536388503919509506510435040149560886821029985877148893951171111, 65537, 316971401565576878144472516350155768882090601834219605321449556369521730928872332388800749109622843453327077688969025635980606763507018292148749534091473, 4517492317789178911663214752269837474466539823144998211438927363654134055916886851, 1711997816918835594017245862832442114582648667392542139046338517030653261)  | 
            |
| 11 | 
                +  | 
            |
| 12 | 
                +  | 
            |
| 13 | 
                +def rsa_encrypt(plaintext):  | 
            |
| 14 | 
                + return base64.urlsafe_b64encode(rsa.encrypt(cc.Convert2Utf8(plaintext), pubkey))  | 
            |
| 15 | 
                +  | 
            |
| 16 | 
                +  | 
            |
| 17 | 
                +def rsa_decrypt(ciphertext):  | 
            |
| 18 | 
                + return rsa.decrypt(base64.urlsafe_b64decode(cc.Convert2Utf8(ciphertext)), privkey)  | 
            
                @@ -0,0 +1,72 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +from StatusCode import BaseStatusCode, StatusCodeField  | 
            |
| 4 | 
                +  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +class ProfileStatusCode(BaseStatusCode):  | 
            |
| 7 | 
                + """ 4001xx 用户相关错误码 """  | 
            |
| 8 | 
                + PROFILE_NOT_FOUND = StatusCodeField(400101, 'Profile Not Found', description=u'用户不存在')  | 
            |
| 9 | 
                +  | 
            |
| 10 | 
                +  | 
            |
| 11 | 
                +class PhoneStatusCode(BaseStatusCode):  | 
            |
| 12 | 
                + """ 4002xx 手机相关错误码 """  | 
            |
| 13 | 
                + INVALID_PHONE = StatusCodeField(400200, 'Invalid Phone', description=u'非法手机号')  | 
            |
| 14 | 
                + PHONE_NOT_FOUND = StatusCodeField(400201, 'Phone Not Found', description=u'手机号不存在')  | 
            |
| 15 | 
                + PHONE_ALREADY_EXISTS = StatusCodeField(400202, 'Phone Already Exists', description=u'手机号已存在')  | 
            |
| 16 | 
                +  | 
            |
| 17 | 
                +  | 
            |
| 18 | 
                +class OrderStatusCode(BaseStatusCode):  | 
            |
| 19 | 
                + """ 4040xx 订单/支付相关错误码 """  | 
            |
| 20 | 
                + UNIFIED_ORDER_FAIL = StatusCodeField(404000, 'Unified Order Fail', description=u'统一下单失败')  | 
            |
| 21 | 
                + ORDER_NOT_FOUND = StatusCodeField(404001, 'Order Not Found', description=u'订单不存在')  | 
            |
| 22 | 
                + # 订单支付状态  | 
            |
| 23 | 
                + ORDER_NOT_PAY = StatusCodeField(404011, 'Order Not Pay', description=u'订单未支付')  | 
            |
| 24 | 
                + ORDER_PAYING = StatusCodeField(404012, 'Order Paying', description=u'订单支付中')  | 
            |
| 25 | 
                + ORDER_PAY_FAIL = StatusCodeField(404013, 'Order Pay Fail', description=u'微信支付失败')  | 
            |
| 26 | 
                + # 通知校验状态  | 
            |
| 27 | 
                + SIGN_CHECK_FAIL = StatusCodeField(404090, 'Sign Check Fail', description=u'签名校验失败')  | 
            |
| 28 | 
                + FEE_CHECK_FAIL = StatusCodeField(404091, 'FEE Check Fail', description=u'金额校验失败')  | 
            |
| 29 | 
                +  | 
            |
| 30 | 
                +  | 
            |
| 31 | 
                +class PayStatusCode(BaseStatusCode):  | 
            |
| 32 | 
                + """ 4041xx 支付相关错误码 """  | 
            |
| 33 | 
                +  | 
            |
| 34 | 
                +  | 
            |
| 35 | 
                +class WithdrawStatusCode(BaseStatusCode):  | 
            |
| 36 | 
                + """ 4042xx 提现相关错误码 """  | 
            |
| 37 | 
                + BALANCE_INSUFFICIENT = StatusCodeField(404200, 'Balance Insufficient', description=u'提现金额不足')  | 
            |
| 38 | 
                +  | 
            |
| 39 | 
                +  | 
            |
| 40 | 
                +class TokenStatusCode(BaseStatusCode):  | 
            |
| 41 | 
                + """ 4090xx 票据相关错误码 """  | 
            |
| 42 | 
                + TOKEN_NOT_FOUND = StatusCodeField(409001, 'Token Not Found', description=u'票据不存在')  | 
            |
| 43 | 
                +  | 
            |
| 44 | 
                +  | 
            |
| 45 | 
                +class SignatureStatusCode(BaseStatusCode):  | 
            |
| 46 | 
                + """ 4091xx 签名校验错误 """  | 
            |
| 47 | 
                + SIGNATURE_ERROR = StatusCodeField(409101, 'Signature Error', description=u'签名错误')  | 
            |
| 48 | 
                +  | 
            |
| 49 | 
                +  | 
            |
| 50 | 
                +class GVCodeStatusCode(BaseStatusCode):  | 
            |
| 51 | 
                + """ 4095xx 图形验证码相关错误码 """  | 
            |
| 52 | 
                + GRAPHIC_VCODE_ERROR = StatusCodeField(409101, 'Graphic VCode Error', description=u'图形验证码错误')  | 
            |
| 53 | 
                +  | 
            |
| 54 | 
                +  | 
            |
| 55 | 
                +class SVCodeStatusCode(BaseStatusCode):  | 
            |
| 56 | 
                + """ 4092xx 短信验证码相关错误码 """  | 
            |
| 57 | 
                + SMS_QUOTA_LIMIT = StatusCodeField(409200, 'SMS Quota Limit', description=u'短信次数超限')  | 
            |
| 58 | 
                + SMS_VCODE_ERROR = StatusCodeField(409201, 'SMS VCode Error', description=u'验证码错误,请稍后重试')  | 
            |
| 59 | 
                + SMS_VCODE_HAS_SEND = StatusCodeField(409202, 'SMS VCode Has Send', description=u'验证码已发送,请勿重复获取')  | 
            |
| 60 | 
                +  | 
            |
| 61 | 
                +  | 
            |
| 62 | 
                +class InsufficientStatusCode(BaseStatusCode):  | 
            |
| 63 | 
                + """ 4095xx 不足相关错误码 """  | 
            |
| 64 | 
                + BALANCE_INSUFFICIENT = StatusCodeField(409501, 'Balance Insufficient', description=u'余额不足')  | 
            |
| 65 | 
                + INTEGRAL_INSUFFICIENT = StatusCodeField(409502, 'Integral Insufficient', description=u'积分不足')  | 
            |
| 66 | 
                +  | 
            |
| 67 | 
                +  | 
            |
| 68 | 
                +class PermissionStatusCode(BaseStatusCode):  | 
            |
| 69 | 
                + """ 4099xx 权限相关错误码 """  | 
            |
| 70 | 
                + PERMISSION_DENIED = StatusCodeField(409900, 'Permission Denied', description=u'权限不足')  | 
            |
| 71 | 
                + UPLOAD_PERMISSION_DENIED = StatusCodeField(409910, 'Upload Permission Denied', description=u'上传权限不足')  | 
            |
| 72 | 
                + UPDATE_PERMISSION_DENIED = StatusCodeField(409930, 'Update Permission Denied', description=u'更新权限不足')  | 
            
                @@ -0,0 +1,18 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +from django.http import JsonResponse  | 
            |
| 4 | 
                +from StatusCode import StatusCodeField  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +def response_data(status_code=200, message=None, description=None, data={}, **kwargs):
               | 
            |
| 8 | 
                +    return dict({
               | 
            |
| 9 | 
                + 'status': status_code,  | 
            |
| 10 | 
                + 'message': message,  | 
            |
| 11 | 
                + 'description': description,  | 
            |
| 12 | 
                + 'data': data,  | 
            |
| 13 | 
                + }, **kwargs)  | 
            |
| 14 | 
                +  | 
            |
| 15 | 
                +  | 
            |
| 16 | 
                +def response(status_code=200, message=None, description=None, data={}, **kwargs):
               | 
            |
| 17 | 
                + message, description = (message or status_code.message, description or status_code.description) if isinstance(status_code, StatusCodeField) else (message, description)  | 
            |
| 18 | 
                + return JsonResponse(response_data(status_code, message, description, data, **kwargs), safe=False)  | 
            
                @@ -0,0 +1,6 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +from django.conf import settings  | 
            |
| 4 | 
                +  | 
            |
| 5 | 
                +  | 
            |
| 6 | 
                +r = settings.REDIS_CACHE  | 
            
                @@ -0,0 +1 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            
                @@ -0,0 +1,18 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +def userinfo_save(userinfo):  | 
            |
| 5 | 
                + """ Save profile or something else """  | 
            |
| 6 | 
                + # from account.models import UserInfo  | 
            |
| 7 | 
                + # from django.conf import settings  | 
            |
| 8 | 
                + #  | 
            |
| 9 | 
                + # unique_identifier = userinfo.get(settings.WECHAT_UNIQUE_IDENTIFICATION, '')  | 
            |
| 10 | 
                + #  | 
            |
| 11 | 
                +    # user, created = UserInfo.objects.select_for_update().get_or_create(**{settings.WECHAT_UNIQUE_IDENTIFICATION: unique_identifier})
               | 
            |
| 12 | 
                +    # user.unionid = userinfo.get('unionid', '')
               | 
            |
| 13 | 
                +    # user.openid = userinfo.get('openid', '')
               | 
            |
| 14 | 
                +    # user.nickname = userinfo.get('nickname', '')
               | 
            |
| 15 | 
                +    # user.avatar = userinfo.get('headimgurl', '')
               | 
            |
| 16 | 
                + # user.save()  | 
            |
| 17 | 
                + #  | 
            |
| 18 | 
                + # return user  |