pre>+import shortuuid 7
+from curtail_uuid import CurtailUUID
3 8
 from django.conf import settings
4 9
 from django.core.files.storage import default_storage
5 10
 from django.db import connection, transaction
6 11
 from django.http import JsonResponse
7 12
 from django.shortcuts import render
8
-
9 13
 from rest_framework import viewsets
14
+from TimeConvert import TimeConvert as tc
10 15
 
11 16
 from account.models import UserInfo
12
-from group.models import GroupInfo, GroupUserInfo, GroupPhotoInfo, PhotoCommentInfo, PhotoThumbUpInfo
17
+from group.models import (GroupInfo, GroupPhotoInfo, GroupUserInfo,
18
+                          PhotoCommentInfo, PhotoThumbUpInfo)
19
+from group.serializers import (GroupInfoSerializer, GroupPhotoInfoSerializer,
20
+                               GroupUserInfoSerializer)
13 21
 from message.models import UserMessageInfo
14
-
15
-from group.serializers import GroupInfoSerializer, GroupUserInfoSerializer, GroupPhotoInfoSerializer
16
-
17
-from utils.page_utils import pagination
18
-from utils.thumbnail_utils import make_thumbnail
19
-from utils.url_utils import img_url
20
-
21
-from utils.error.errno_utils import UserStatusCode, GroupStatusCode, GroupUserStatusCode, GroupPhotoStatusCode
22
+from utils.error.errno_utils import (GroupPhotoStatusCode, GroupStatusCode,
23
+                                     GroupUserStatusCode, UserStatusCode)
22 24
 from utils.error.response_utils import response
23
-
24
-from utils.redis.rkeys import (
25
-    GROUP_USERS_APPLYING_SET, GROUP_USERS_PASSED_SET, GROUP_USERS_REFUSED_SET, GROUP_USERS_DELETED_SET,
26
-    GROUP_USERS_QUIT_SET,
27
-)
28
-from utils.redis.rkeys import GROUP_LAST_PHOTO_PK
29
-from utils.redis.rkeys import LENSMAN_PHOTO_PRICE, LENSMAN_PHOTO_HAGGLE_TIMES
30
-from utils.redis.rgroup import set_group_info, get_group_info, set_group_users_info, get_group_users_info
31
-from utils.redis.rgroup import set_group_photo_thumbup_flag, del_group_photo_thumbup_flag, get_group_photo_thumbup_flag
25
+from utils.page_utils import pagination
26
+from utils.redis.rgroup import (del_group_photo_thumbup_flag, get_group_info,
27
+                                get_group_photo_thumbup_flag,
28
+                                get_group_users_info, set_group_info,
29
+                                set_group_photo_thumbup_flag,
30
+                                set_group_users_info)
31
+from utils.redis.rkeys import (GROUP_LAST_PHOTO_PK, GROUP_USERS_APPLYING_SET,
32
+                               GROUP_USERS_DELETED_SET, GROUP_USERS_PASSED_SET,
33
+                               GROUP_USERS_QUIT_SET, GROUP_USERS_REFUSED_SET,
34
+                               LENSMAN_PHOTO_HAGGLE_TIMES, LENSMAN_PHOTO_PRICE)
32 35
 from utils.redis.rorder import get_lensman_order_record
33
-
34 36
 from utils.sql.raw import PAI2_HOME_API
35
-
36
-from curtail_uuid import CurtailUUID
37
-
38
-from TimeConvert import TimeConvert as tc
39
-
40
-import os
41
-import random
42
-import shortuuid
43
-
37
+from utils.thumbnail_utils import make_thumbnail
38
+from utils.url_utils import img_url
44 39
 
45 40
 r = settings.REDIS_CACHE
46 41
 

+ 3 - 0
isort.sh

@@ -0,0 +1,3 @@
1
+#!/bin/bash
2
+
3
+isort -rc --settings-path .isort.cfg .

+ 2 - 1
message/admin.py

@@ -2,7 +2,8 @@
2 2
 
3 3
 from django.contrib import admin
4 4
 
5
-from message.models import UserMessageInfo, SystemMessageInfo, SystemMessageReadInfo, SystemMessageDeleteInfo
5
+from message.models import (SystemMessageDeleteInfo, SystemMessageInfo,
6
+                            SystemMessageReadInfo, UserMessageInfo)
6 7
 
7 8
 
8 9
 class UserMessageInfoAdmin(admin.ModelAdmin):

+ 1 - 2
message/models.py

@@ -4,9 +4,8 @@ from django.conf import settings
4 4
 from django.db import models
5 5
 from django.utils.translation import ugettext_lazy as _
6 6
 
7
-from pai2.basemodels import CreateUpdateMixin
8
-
9 7
 from group.models import GroupPhotoInfo
8
+from pai2.basemodels import CreateUpdateMixin
10 9
 
11 10
 
12 11
 class UserMessageInfo(CreateUpdateMixin):

+ 8 - 8
message/views.py

@@ -4,15 +4,15 @@ from django.conf import settings
4 4
 from django.http import JsonResponse
5 5
 
6 6
 from account.models import UserInfo
7
-from message.models import UserMessageInfo, SystemMessageInfo, SystemMessageReadInfo, SystemMessageDeleteInfo
8
-
9
-from utils.page_utils import pagination
10
-
11
-from utils.error.errno_utils import UserStatusCode, MessageStatusCode
7
+from message.models import (SystemMessageDeleteInfo, SystemMessageInfo,
8
+                            SystemMessageReadInfo, UserMessageInfo)
9
+from utils.error.errno_utils import MessageStatusCode, UserStatusCode
12 10
 from utils.error.response_utils import response
13
-
14
-from utils.redis.rmessage import set_system_message_read_info, get_system_message_read_info
15
-from utils.redis.rmessage import set_system_message_delete_info, get_system_message_delete_info
11
+from utils.page_utils import pagination
12
+from utils.redis.rmessage import (get_system_message_delete_info,
13
+                                  get_system_message_read_info,
14
+                                  set_system_message_delete_info,
15
+                                  set_system_message_read_info)
16 16
 
17 17
 
18 18
 def message_list_api(request):

+ 1 - 1
operation/admin.py

@@ -2,7 +2,7 @@
2 2
 
3 3
 from django.contrib import admin
4 4
 
5
-from operation.models import LatestAppInfo, SplashInfo, FeedbackInfo
5
+from operation.models import FeedbackInfo, LatestAppInfo, SplashInfo
6 6
 
7 7
 
8 8
 class LatestAppInfoAdmin(admin.ModelAdmin):

+ 4 - 4
operation/models.py

@@ -1,15 +1,15 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3
+import datetime
4
+import os
5
+import time
6
+
3 7
 from django.conf import settings
4 8
 from django.db import models
5 9
 from django.utils.translation import ugettext_lazy as _
6 10
 
7 11
 from pai2.basemodels import CreateUpdateMixin
8 12
 
9
-import datetime
10
-import os
11
-import time
12
-
13 13
 
14 14
 def upload_path(instance, old_filename):
15 15
     extension = os.path.splitext(old_filename)[1].lower()

+ 1 - 4
operation/views.py

@@ -3,13 +3,10 @@
3 3
 from django.http import JsonResponse
4 4
 
5 5
 from account.models import UserInfo
6
-from operation.models import FeedbackInfo
7
-
6
+from operation.models import FeedbackInfo, LatestAppInfo, SplashInfo
8 7
 from utils.error.errno_utils import UserStatusCode
9 8
 from utils.error.response_utils import response
10 9
 
11
-from operation.models import LatestAppInfo, SplashInfo
12
-
13 10
 
14 11
 def upgrade_api(request):
15 12
     """

+ 1 - 1
pai2/urls.py

@@ -19,8 +19,8 @@ from django.conf import settings
19 19
 from django.conf.urls import include, url
20 20
 from django.conf.urls.static import static
21 21
 from django.contrib import admin
22
-
23 22
 from rest_framework import routers
23
+
24 24
 from account import views as account_views
25 25
 from group import views as group_views
26 26
 from page import views as page_views

+ 0 - 1
pai2/urls_api.py

@@ -3,7 +3,6 @@
3 3
 from django.conf import settings
4 4
 from django.conf.urls import include, url
5 5
 
6
-
7 6
 urlpatterns = [
8 7
     url(r'^', include('api.urls', namespace='api')),
9 8
 ]

+ 1 - 3
pay/models.py

@@ -3,12 +3,10 @@
3 3
 from django.conf import settings
4 4
 from django.db import models
5 5
 from django.utils.translation import ugettext_lazy as _
6
-
7 6
 from shortuuidfield import ShortUUIDField
8 7
 
9
-from pai2.basemodels import CreateUpdateMixin
10
-
11 8
 from group.models import GroupPhotoInfo
9
+from pai2.basemodels import CreateUpdateMixin
12 10
 
13 11
 
14 12
 class OrderInfo(CreateUpdateMixin):

+ 5 - 12
pay/views.py

@@ -1,30 +1,23 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3
+import xmltodict
3 4
 from django.conf import settings
4 5
 from django.db import transaction
5 6
 from django.http import JsonResponse
6 7
 from django.shortcuts import HttpResponse
8
+from logit import logit
9
+from TimeConvert import TimeConvert as tc
10
+from wechatpy import WeChatPay, WeChatPayException
7 11
 
8 12
 from group.models import GroupPhotoInfo, GroupPhotoOrderInfo
9 13
 from pay.models import OrderInfo
10 14
 from photo.models import PhotosInfo
11
-
12
-from utils.page_utils import pagination
13
-
14 15
 from utils.error.errno_utils import GroupPhotoStatusCode, OrderStatusCode
15 16
 from utils.error.response_utils import response
16
-
17
+from utils.page_utils import pagination
17 18
 from utils.redis.rkeys import LENSMAN_PHOTO_PRICE
18 19
 from utils.redis.rorder import set_lensman_order_record
19 20
 
20
-from logit import logit
21
-
22
-from TimeConvert import TimeConvert as tc
23
-from wechatpy import WeChatPay, WeChatPayException
24
-
25
-import xmltodict
26
-
27
-
28 21
 r = settings.REDIS_CACHE
29 22
 WECHAT = settings.WECHAT
30 23
 

+ 1 - 1
photo/admin.py

@@ -2,7 +2,7 @@
2 2
 
3 3
 from django.contrib import admin
4 4
 
5
-from photo.models import UUIDInfo, PhotosInfo
5
+from photo.models import PhotosInfo, UUIDInfo
6 6
 
7 7
 
8 8
 class UUIDInfoAdmin(admin.ModelAdmin):

+ 0 - 1
photo/models.py

@@ -5,7 +5,6 @@ from django.db import models
5 5
 from django.utils.translation import ugettext_lazy as _
6 6
 
7 7
 from pai2.basemodels import CreateUpdateMixin
8
-
9 8
 from utils.url_utils import img_url
10 9
 
11 10
 

+ 2 - 1
photo/serializers.py

@@ -1,8 +1,9 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3
-from photo.models import PhotosInfo
4 3
 from rest_framework import serializers
5 4
 
5
+from photo.models import PhotosInfo
6
+
6 7
 
7 8
 class PhotosInfoSerializer(serializers.HyperlinkedModelSerializer):
8 9
     class Meta:

+ 12 - 19
photo/views.py

@@ -1,36 +1,29 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3
+import os
4
+
5
+import shortuuid
6
+from curtail_uuid import CurtailUUID
3 7
 from django.conf import settings
4 8
 from django.core.files.storage import default_storage
5 9
 from django.db import transaction
6 10
 from django.http import JsonResponse
7 11
 from django.shortcuts import render
8
-
9 12
 from rest_framework import viewsets
13
+from TimeConvert import TimeConvert as tc
10 14
 
11 15
 from account.models import LensmanInfo, UserInfo
12
-from group.models import GroupInfo, GroupUserInfo, GroupPhotoInfo
13
-from photo.models import UUIDInfo, PhotosInfo
16
+from group.models import GroupInfo, GroupPhotoInfo, GroupUserInfo
17
+from photo.models import PhotosInfo, UUIDInfo
14 18
 from photo.serializers import PhotosInfoSerializer
15
-
16
-from utils.ip_utils import ip_addr
17
-from utils.thumbnail_utils import make_thumbnail
18
-from utils.watermark_utils import watermark_wrap
19
-
20 19
 from utils.error.errno_utils import PhotoStatusCode
21 20
 from utils.error.response_utils import response
22
-
21
+from utils.ip_utils import ip_addr
22
+from utils.redis.rgroup import (get_group_info, get_group_users_info,
23
+                                set_group_info, set_group_users_info)
23 24
 from utils.redis.rkeys import GROUP_LAST_PHOTO_PK
24
-from utils.redis.rgroup import get_group_info, get_group_users_info
25
-from utils.redis.rgroup import set_group_info, set_group_users_info
26
-
27
-from curtail_uuid import CurtailUUID
28
-
29
-from TimeConvert import TimeConvert as tc
30
-
31
-import os
32
-import shortuuid
33
-
25
+from utils.thumbnail_utils import make_thumbnail
26
+from utils.watermark_utils import watermark_wrap
34 27
 
35 28
 r = settings.REDIS_CACHE
36 29
 

+ 4 - 5
utils/redis/retrieve.py

@@ -2,11 +2,10 @@
2 2
 
3 3
 from django.conf import settings
4 4
 
5
-from group.models import GroupInfo, GroupUserInfo, GroupPhotoInfo
6
-
7
-from utils.redis.rkeys import GROUP_USERS_APPLYING_SET, GROUP_USERS_PASSED_SET, GROUP_USERS_REFUSED_SET, GROUP_USERS_DELETED_SET
8
-from utils.redis.rkeys import GROUP_LAST_PHOTO_PK
9
-
5
+from group.models import GroupInfo, GroupPhotoInfo, GroupUserInfo
6
+from utils.redis.rkeys import (GROUP_LAST_PHOTO_PK, GROUP_USERS_APPLYING_SET,
7
+                               GROUP_USERS_DELETED_SET, GROUP_USERS_PASSED_SET,
8
+                               GROUP_USERS_REFUSED_SET)
10 9
 
11 10
 r = settings.REDIS_CACHE
12 11
 

+ 4 - 4
utils/redis/rgroup.py

@@ -1,12 +1,12 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3
+import json
4
+
3 5
 from django.conf import settings
4 6
 from django.core.serializers.json import DjangoJSONEncoder
5 7
 
6
-from utils.redis.rkeys import GROUP_INFO, GROUP_USERS_INFO, GROUP_PHOTO_THUMB_UP
7
-
8
-import json
9
-
8
+from utils.redis.rkeys import (GROUP_INFO, GROUP_PHOTO_THUMB_UP,
9
+                               GROUP_USERS_INFO)
10 10
 
11 11
 r = settings.REDIS_CACHE
12 12
 

+ 5 - 6
utils/redis/rmessage.py

@@ -1,13 +1,12 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3
-from django.conf import settings
4
-
5
-from message.models import SystemMessageReadInfo, SystemMessageDeleteInfo
6
-
7
-from utils.redis.rkeys import SYSTEM_MESSAGE_READ_INFO, SYSTEM_MESSAGE_DELETED_INFO
8
-
9 3
 import json
10 4
 
5
+from django.conf import settings
6
+
7
+from message.models import SystemMessageDeleteInfo, SystemMessageReadInfo
8
+from utils.redis.rkeys import (SYSTEM_MESSAGE_DELETED_INFO,
9
+                               SYSTEM_MESSAGE_READ_INFO)
11 10
 
12 11
 r = settings.REDIS_CACHE
13 12
 

+ 2 - 3
utils/redis/rorder.py

@@ -1,13 +1,12 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3
+import json
4
+
3 5
 from django.conf import settings
4 6
 from django.core.serializers.json import DjangoJSONEncoder
5 7
 
6 8
 from utils.redis.rkeys import LENSMAN_PHOTO_ORDER_RECORD
7 9
 
8
-import json
9
-
10
-
11 10
 r = settings.REDIS_CACHE
12 11
 
13 12
 

adminSystem - Gogs: Go Git Service

No Description

shanghai.js 12KB

    !function(B,A){"function"==typeof define&&define.amd?define(["exports","echarts"],A):"object"==typeof exports&&"string"!=typeof exports.nodeName?A(exports,require("echarts")):A({},B.echarts)}(this,function(B,A){var D=function(B){"undefined"!=typeof console&&console&&console.error&&console.error(B)};A?A.registerMap?A.registerMap("上海",{type:"FeatureCollection",features:[{id:"310101",type:"Feature",geometry:{type:"Polygon",coordinates:["@@AHV@BDCPEPLENFHCJHFBNCAGBGXWFIBGCGMUKKCCcGCDGBALCPIAAPGR"],encodeOffsets:[[124373,31970]]},properties:{cp:[121.490317,31.222771],name:"黄浦区",childNum:1}},{id:"310104",type:"Feature",geometry:{type:"Polygon",coordinates:["@@CEAMMAA@C@AFA@@BC@ABC@@BD@@BH@@BB@EHDDCBECADGEEAEBFNET]CMRELQjOEGRFBAHDBAHH@@B@BDA`H@F@BC@AB@FD@DD@@@CH@DDAFDD^LEPF@DFTDPHHQBOJBDOBKHADCOGCEAE@EFOBMAEUW@GBEHILMBE@KGM"],encodeOffsets:[[124381,31859]]},properties:{cp:[121.43752,31.179973],name:"徐汇区",childNum:1}},{id:"310105",type:"Feature",geometry:{type:"Polygon",coordinates:["@@@AACE@FO]KCCBECCG@@D@@CCmBSAcKG@EBAEGC@DC@QE@CA@@BEBMTNFAFDBA`D@BDA@AA@FFBBLD@@@IBDBABDB@@DBADB@CHA@@DC@C@@@BBABFDH@AHD@ACDA@FD@BCA@@CJCNWJ@BCHAFEF@XCV@DFH@VFBBCFD@HEFFFBB@@IDAJFBABIFK"],encodeOffsets:[[124354,31964]]},properties:{cp:[121.4222,31.218123],name:"长宁区",childNum:1}},{id:"310106",type:"Feature",geometry:{type:"Polygon",coordinates:["@@AB@PCJBNG@ABBDBB@DNBAJJ@@FB@@H@@@DF@ENB@BDD@BAT@BENDFDPB@AF@A]G@BOCKCEBA@G@KBEDCLMVQ@EACDECABCDKECGDMEKFFODOACU@BGOGUCELAJABIECBBNFHJBTLHB@BADDD@FB@@DC@BHOVUJCFIG"],encodeOffsets:[[124340,32022]]},properties:{cp:[121.448224,31.229003],name:"静安区",childNum:1}},{id:"310107",type:"Feature",geometry:{type:"Polygon",coordinates:["@@DB@DHBBCDBB@A@DF@@DFDDHGBDDALZCB@@EBA@ACQ@@DGBEFBB@FD@J@BFMBCCCDID@AODAEIDBDEBABBB@DC@AF@@AFGACBADBB@@NFADD@@BB@B@BAB@@@BBDA@HBB@AJ@@AD@@BB@AFHBDCJFHBGQAAJA@ALCBBF@@AB@@BD@@@JABDABD@@BHBBBNACEJA@ADAAA@B@ADAAAJBIQB@FCBBD@AGJ@@EJA@EHADDAB@BFANNDEVIPUAGD@@CA@@ECCBC@AGASKIAEGACA@EAEEA@EFC@DEAAUEG@CEU@WDE@EFGBADI@MV"],encodeOffsets:[[124267,31987]]},properties:{cp:[121.392499,31.241701],name:"普陀区",childNum:1}},{id:"310109",type:"Feature",geometry:{type:"Polygon",coordinates:["@@@OHWVFBABIKK@MJCJGBKV[C@@I[AOEODCACCCLADDBCFBD@FURQT@J@F@HABDFDLAPH@BTVCLBBE"],encodeOffsets:[[124402,32064]]},properties:{cp:[121.491832,31.26097],name:"虹口区",childNum:1}},{id:"310110",type:"Feature",geometry:{type:"Polygon",coordinates:["@@@JD@U\\ALIHID@NLLAJABUEGX@PVA@ZDDADGFX`ZKDHFAFHpSNGDCDGDM@cBGL[BKAGEGMOcY[GWA"],encodeOffsets:[[124433,31997]]},properties:{cp:[121.522797,31.270755],name:"杨浦区",childNum:1}},{id:"310112",type:"Feature",geometry:{type:"Polygon",coordinates:["@@@EBAD@@A@E_GCB@A@AG@BGCABGEAHQPFRiFKNQ^DFSEMFAFBHFBCFDDACCFGA@@AG@@AC@@AD@BAD@@AB@BED@B@F@B@FBBNDFLCDBCBFB@DFG@CBBABDB@CDBAFCB@DABD@B@DB@BD@@B@BB@B@@FJ@DKLFB@DMDBBABBCFDB@@HB@BBABBDCBGNBDAB@@BPDBAF@@AB@@AB@@CDB@BF@DGB@@CD@FDADF@BADDDCBBDCAAC@BCFEAAB@FECABC@ADBBEB@@EGCABAB@@CAA@CAIABAAA@@ECDGD@BCBBD@BBHBFALABAFBD@@CGA@BC@BCEAA@A@@AEA@@AAA@G@DCG@CCBAAA@ADBDAEAC@ACE@BCC@BG@ACBBAEAAA@B@CECDEAEBAB@BDB@DBD@BBD@FDBGBBFCAABCBDBCEC@UBACA@AAA@ABB@CCCE@AA@ADCD@@BF@@FB@@BDB@CDB@ED@DFB@ABB@HDAADCBE@CCACC@CACIABA@@@BD@@AD@DICABCECFA@AMEO@@CC@ABA@@ABA@GCACBADCDA@@BAAAB@BICADE@@BEAABC@GHC@E@@FD@@BA@CFC@@BC@AASEKG@ACAIZBFGDYCIAKGKAU@OCGAKIMIMCOEeC‘WOBQHI@C@CBB\\HBPTBHJHABECM@ADBB@J@F@D@B@FBDAD@NBBBN@T@DBBADFCFDDGTDJFAFNB@DB@EFFBADD@@DFDDCDBADERCDAB@DELGAADMCEPHB@AB@@BHF@@GNQV@DEJCDC@ADD@@BCFABADA@@FCB@DCD@DABA@EJEF@BEJCLGJABCHAB@BABCFCB@BED@BA@@BABADGFAAA@@CAAKGCAKAUTC@CDDBADIHDFCF@@CDBDCHDBAHGDBDCDABCAABAFKACBDDABBF@@@BHBBDDBC@BDFFFBBDD@@AH@HB@EFC@ABC@FFCFBB@LCFBBAEGFEDABGJMJCL@XGNFH@PDBB@FHDBAAA@@D@D@@CB@DGA@BCCA@@CABACAJA@@C@AKEA@EBBB@ACC@B_CABEMENSFA@AB@@DRFD@@CHDBFFAH@dLTBjA"],encodeOffsets:[[124327,31940]]},properties:{cp:[121.375972,31.111658],name:"闵行区",childNum:1}},{id:"310113",type:"Feature",geometry:{type:"Polygon",coordinates:["@@@JE@@BOAECMCAFS@ABC@ACA@FME@@C@@@GA@@EI@BIMA@CCA@CBAH@AMDI@OBACEEB@ABACCGB@FIB@FI@BHC@AAEDA@JRIABBCB@B@ABBCB@BIBDFMBAAGA@AC@BAACIB@@C@@AA@@BE@AAKD@BIBBBHRC@ICCCCDGABEA@@AC@@BI@@BAA@GCBAAA@ABBBCDAAEJFDB@P\\J@@FB@@DGA@FD@@DAAADCF@@ABBBCDDB@DF@CLCAEFEB@DG@@HD@DB@BB@@FHD@BADA@CFCFABDB@BED@BCDEFFBABB@ADG@GNCBFHAFA@@DCAIB@DB@@FBBEF^JBAH@AFD@A@@DA@@BFDABD@@JB@@BA@AD@DB@@FCJ@FA@C@ABAAABENDB@BCDCFG@ADDBEDDDABA@ADB@ADF@BD@BEACD@BCBJF@BABA@BBCFE@ABCLABBBAFEB@A@BCDEBADD@CBBBBAADBBD@B@BBADFADDDA@ED@ACB@FF@DFBBCB@@AC@@GF@B@AFD@@DB@@AD@@BD@\\PfK^I|]BAEGBE\\Q`W|i\\UdSXUBD@DFAEG\\UQQQY@QJONIVIEGEBCGYLW_HEBCCC@YUBAFKAUD"],encodeOffsets:[[124384,32068]]},properties:{cp:[121.489934,31.398896],name:"宝山区",childNum:1}},{id:"310114",type:"Feature",geometry:{type:"Polygon",coordinates:["@@A@A@@AC@BCME@@AABCDAHBBE@@BED@@CAABAFAACJCBFPC@BJCDCDDNAAEI@C@@EAAFEHA@CR@BDB@FA@@DAKYCBACGHCCCE@@CEB@A@CAADGA@CCAADGB@DB@ADC@@ECBBDC@BGG@CCIC@EAAOCG@OEUHK@IDINAHCBEFFHABEAKDA@EAED@EAD@BED@FGAG@@BC@@AC@@DA@@CCBEA@DGAKFOB@CG@@BAA@CGCBAEA@CA@@DEA@FCFB@ABAAABAC@AAACFGEBCABCCABCCABCAB@@CC@ADGDEEC@EDCA@BA@BDA@ACEFECABC@@BB@BDC@AJIJCAADC@CGEB@@AB@BDF@JDD@DHBABD@B@@BCHE@@BC@@DCA@DC@@DDBADA@EDFBIPCFIIBCMAE@AJ@B@FAB@DAJDB@DDB@FD@@BCBBBB@@DABAB@DCBBBAHBB@FMCKB@HF@EHIACBE@BFCBBLAH@DD@@CD@D@BFNBCDGBAFTHBEBB@DB@@AJD@ANFABBBD@ABD@@ANDBDCD@BABA@ABLDCFDBF@ABC@ABDB@BFDADJDDCCDBDCDAAABBB@BC@ABA@ABC@@HA@C@@DJ@@DFB@BD@HB@AD@ABBDFA@HA@@CA@BDABOBMFAFB@ADBDAB\\LDAHBBADBHAPFJFAFBFFD@BJHRD@FHFNHDACCLADBH@DDFABHCB@BHJF@AJ@@FAFDB@AEFE@CBIHB@AC@@AA@DEHD@BD@ADB@BDB@AKD@@DBA@@@AD@DBBDBBDBD@@FDDBA@CDAHDBBHDADB@FA@BD@DCD@BFFCJD@DA@FBBDFADC@A@BFABEAABADKBAF@DEAAB@BA@AIEDA@ADCFB@AACE@BCA@BCB@BACCFCCABCH@DEDC@ACAFMBABBBAD@B@@EDI@EA@@CBCB@@AA@@IC@BAEC@AB@@CB@C@BEG@AB]IFEAA@EA@@CJADB@CB@BEEGDAHMH@BCA@BAEAFEDC@AFC@ACABALQGC@ECCE@@GH@@CFAFEDBDKE@@CCADCAABA@@DEBCBB@CC@@EHB@CA@@EI@GMEMICFIBBBABAAA"],encodeOffsets:[[124249,32046]]},properties:{cp:[121.250333,31.383524],name:"嘉定区",childNum:1}},{id:"310115",type:"Feature",geometry:{type:"MultiPolygon",coordinates:[["@@bM²WLCļÑNI^_È€sJQ¶±`e`Z¡LƒD‡CsEWOWs@GBI\\wsYg|QNUBģFq„AZHZB@@JHBAJFRA@BB@HABB@@J@HBDBLAJC@@BD@ABA@B@AD@FB@@BA@@BA@G@@FC@AB@DA@ABCAC@@DEA@DD@BDEF@FQJE@CAGJA@ABCAEDBDGHADWR_TYJI@G@SD@AA@@AA@IDGB@A@BQBmAA@CBOAGFELC@AAaDACS@C@@AIAABKA@BEBFDADDBCJC@@BC@@A@@ABJBBD@DDDDB@DAFCDBBGCA@BAA@CEC@@FCA@DCA@AA@@EE@@AC@CD@BBBF@DD@DAA@BBB@BDBAB@VFDADACADBBEDAAAHECC@AAC@CAA@ACA@ABBFCFFD@D@ABBFBABDA@BAHD@ADF@BDD@FBCBCA@BBBABDDH@CDH@B@BB@@FB@BB@B@FBADD@@AHB@DC@EAABKBEBGAAAC@AAADC@CHFD@@BBABJBDBB@DB@@BABAHD@FA@AFCA@BADDBEFA@BBEFADD@BBCDAACDCCABE@BCECC@@DA@CHE@@ACA@DA@@BA@@BE@ABOC@AA@CBMAAHCDAAAB@AGA@@CADEAAABCACNA@KECLC@E@@EA@A@@A@AC@@AAAA@A@C@BA@CDABEAAADCABAAA@DEH@CEADACAKDHN@LAFKNGJAF@D@DBFNLHLANEP@FBFJJJDdHDDLLNVDHAHEJWXAF@FJFHDtDXHhZNPFHBHALK\\AH@dCNCHCDMHoTUJMJIP@RRZRR"],["@@PDNAvOFGBKCeEQGEI@IBMNY\\GJELATBJ"],["@@HRHJNBX@XCRGfEFGBM@eYuGIgCIAK@KDMPIREVCXARBP"]],encodeOffsets:[[[124438,32149]],[[124808,31991]],[[124870,31965]]]},properties:{cp:[121.567706,31.245944],name:"浦东新区",childNum:3}},{id:"310116",type:"Feature",geometry:{type:"MultiPolygon",coordinates:[["@@DBBAGCBD"],["@@HADA@AGCKHBBF@"],["@@FACAAD"],["@@DB@EB@@CB@@GEQ@IEKAM@ATE@EHADF@GDCFFPD^BBED@@BD@@DPBB@@CDB@BLC@ADB@BF@@CF@@DB@BDCDA@@DCACBC@AB@HDBRTHGBCHBDB@AF@B@NACQ@@@AC@@CC@CIEE@CFCFHDBHABDN@BED@BDNA@HAF@FCBADDLD@DAAC@AB@@ANC@ANC@TDBL@DGJC^BDBDBJ@^F\\VHGPB@CD@BAF@DKDBBCA@BAC@FK@E@BD@@BNABCF@@AFB@AD@BADB@GA@@AF@BCFBDKB@@BDBB@BEDBBDF@@CFB@HD@@F@@@HA@BBA@BDC@BJADBBLB@AA@@ED@DIHA@BB@BDDBBCBA@@@BF@@CB@ABFBBCFB@BD@FCF@DBBAD@BAD@BABBBAHDJ@ABDDABDBHCBDJIBOFE@IDKJAFCBAJELAAEBCBKAA@GD@AIBEAIDOK@@EDEAABA@A@BB@@@B@B@AAD@@ADA@EJ@@CB@H@BLDBFA@@B@@GEB@EB@@CB@DETAAADA@GH@BHLAPA@ABBD@JU@ABBFCB@‚£«ugW›OCOCgB‡DaAE`@HCBBFCBAJA@AFDFAFFD@FDFCFBBA@BBAFBDA@CDAAA@STCBWLAAABBBCBAACB@AABBBIFAPCHCFBBCB@HA@CAABGPIBO@ICCEDMGAILADACCBCA@CECEAKCADCBADAAKAEC@HEBCAEDQBACEAAB@BGCYDEJCB@BBFN@B@@JDbHRJL@D@FA@@CCB@DABBDEFACSDA@AAA@DDBLFHAB@BABCAIDADABCEKCABC@CDABBBC@@B@BA@BBcO[@MGDCC@DK_KFMGBCFGADEA@AGCA@@DAD@AFB@BCB@DGOCCLKR]JADEAMMABBCA@CB@BABCAACB@CEAB@CAAGBDFGFHFGBBDFHF@BDB@ABBFDADFF@DHD@DFFADDGDDDADDABDA@DDCDFFBDEBFFDCDBCBDDEBBDB@@@CDCDI@GB@BBFAB]DAHCDDH@DDBHB@DHABDB@@FG@CABJBl@FEFCFBB@LB@J@@GPDA@DD@AD@D@@CCA@BCA@CB@A@@AF@BGFAADDB@ARF"]],encodeOffsets:[[[124321,31442]],[[124337,31429]],[[124341,31419]],[[123933,31687]]]},properties:{cp:[121.330736,30.724697],name:"金山区",childNum:4}},{id:"310117",type:"Feature",geometry:{type:"Polygon",coordinates:["@@@DLB@BFTHAFB@DABHFELFBBAH@DIHB@GB@@CB@BEDAB@LAPB@DFBADD@@BBBN@@DRB@BADALHABlH@@\\ABAFQPOLDBDBDCJBBJFA@FCJC@@DCAABDDBDKHB@CDBDEBCEINHDABFB@DDDD@F@@ABCAA@EB@@CH@B@BCBABD@DLBBCB@R@ADD@BAJ@BBBB@BA@@NG@AFELC@AB@@CBA@KJAAA@CAC@CLD@ABBBGJDBBDCFBBDCFDADBBDCABB@@BA@HHDBABFFDCBBDCB@BABB@AFEBBBED@FEDDBED@BALB@CD@DEHBBGDBBCB@BFB@@LC@@FJA@AJB@@B@@FB@@HH@@BJ@CJDDADDBB@B@BCJD@DB@AB@FC@@FC@@D@FDA@X\\ILF@CAA@ABBJ@DEXFPBI_CM@CF@NFF@BBB@BAADBLFBJABHKB@@L@BHXCAGBAF@@BB@@BCFBDDBD@BB^ENNEFEAEHCC@DBB@BB@AH@BFCD@B@ABDB@@FAF@ABXFnNHKB@BA@CDC@CDA@EB@BCBADE@AC@BCD@DCFI@CRUHM@@GE@AA@@BGAFONDBCHBFK@CBAHODICACDEC@CC@BCEAFEA@@CMABEIESCCHECEDBCAA@WAMAA@MBCAC@E@A@C@E@IAABCN@FDBAIGAGOSGAA[DAD@J@XIJ@PDDI@ODK@UD@BCAAGADSG@CAA@AABAAAA@@BECBC@IFCBC@CIG@A@AGDCABACCBAA@@@G@GCCB@AABC@ABC@ABCAE@EDC@@AEAADEABAA@@DE@@A@@ABADCAACA@@AGBCJC@@FB@@BMCBCAID@ACB@AAB@@G@@@EC@@GEA@DE@ACCAAFA@CA@AA@CLEAADE@@BB@@HCAABC@@BEA@BE@ADMB@AC@@A@FELD@ABB@ADCACLE@ABC@@DOAGH[U]EI@CACA]AIDCHK@CA@SMD@BMD@BA@@BBDCBC@CKBCDA@EBE@GMBACC@AFM@ACGBCAEGED@DFFDJD@@DD@@B@@DRMBA@E@@BCAGAADGHQSCA@GBAD@DADB@CB@DCACA@@CE@@DE@@ACA@BKD@ACA@DA@OA@CC@@AC@AF]AOCEECD@HCEGB@FSF@BBNFL@JFR@HA@@DA@@FCA"],encodeOffsets:[[123933,31687]]},properties:{cp:[121.223543,31.03047],name:"松江区",childNum:1}},{id:"310118",type:"Feature",geometry:{type:"Polygon",coordinates:["@@@GCIBA@@FADHD@BCDBJIBID@ACA@@AD@BAFDFEBDB@ACB@@ADBFCD@FFHCBCD@@DA@DBBADDBADDBAADHFDEBB@BBDBABBBAA@DE@EFB@CB@@DFBABHD@DBB@AH@@DPALEHB@CFBDA@DB@@CD@AAEAEEACD@CAACGA@A@@AEBACCDALBBEBADBBADCACHCBGCADGACDC@@DECEJGBCCADCD@VSLBDBLHBB@DB@BBFCDEBA@AB@@AFC@ADADEBA@ABADGBAHIDKJOmMWEBAE@EB@@CABAA@C@ED@ABGA@@AAA@CDDFGFBFEMM]FAAC@CAACDE@AA@@AE@ABBHWDAGK@@@LAAGIBEAAKBCABA@AAE@MEE@@DDNJ`OAWECFI@AA@BBB@DKE[J@WCB@E@CD@@ED@@EBAA@@CICADA@A@CABCCCDII@@AG@@GA@@EA@@@IA@BIB@ED@@KA@AEA@ADCAAHGACFC@@DKAABC@AFCCEFC@AFAAEF@BAAABA@CDAACDEEBACAGGB@@AA@BACDAABCECCDAADGAACAHIAABAC@@EDEB@HBBBLIB@DA@@BAD@FKBEH@@MB@@AAAAAI@ABC@BCQ@A@ADKA@CACABADA@G@@DA@@FBBAD@BE@C@CC@CEABAGCJMDFFAACDCA@LGACCCBADB@CD@DI@EEBAIIACDCACAPKROBEBA@[G@AkGBBKBC@AQA@CM@AA@AC@BCEA@COAKBA@CBAFA@@DA@@HGACJG@ABEAFKGEBA@CEAGBEUKA@CQE@BCABCEBAHE@@BB@A@@DDB@ADB@DC@C@@BCCB@OC@HM@AHC@AHF@CHBF@BC@@DB@ADBB@BNB@BB@@FDB@DC@A@CRA@CFBBAFGAADDB@HA@@DB@@D@@ADBBEJDBM@ADg@ABFFABGBCNGBC@CACBAADAAEFACK[AAAJK@AC@GBEDG@ACOFOEAD@JQ@@FBdCDEL@FCD@H@JHXBPHABDEJ@BEDCACHCFAHA@@EG@QB@BBDE@@DE@AAE@@CG@ABADA@ABCAABCDBLD@DHNJDD@HDHHHJFdDPCTD\\JnE€MPDvBJHADHBBD@BD@@EHBFCBEDB@AD@HREB@FHD@DHBBGD@H@ABDBL@@AB@@AD@@CFA@BAFFD@BBB@CB@@FHDADB@@DEAADJB@DCHEAABBB@BFBAFEFADJDABIAADFB@DAB@B@BDBABCB@BE@@DD@Kz@DD@@HD@@DC@ADA@A@AFFB@HBA@BAB@FC@@AIBDBDABD@NA@BBBBABBRA@@@dFFDDHEBBHDNFFABDBDADCB@@AB@BCFO@ABCHCD@BBC@@@FDPRF@FA@DB@@AHAACFCHA@DFAACD@BBDAAABAD@BBD@@CDALBFB"],encodeOffsets:[[124062,32028]]},properties:{cp:[121.113021,31.151209],name:"青浦区",childNum:1}},{id:"310120",type:"Feature",geometry:{type:"Polygon",coordinates:["@@LBBAJB@BD@T@BDbCBBD@FKHEPBDAB@nBRA@A@BHAJCB@@BB@@BTCH@J@ZI`SXQBCHGACFCDBBAB@HIDBF@NGDA@EFEACC@@CFB@CD@DBBAB@@CBAD@@EH@B@@AB@@AA@@EBCA@B@BAC@@AD@BIAKAC@G@IA@BA@GAAB@EQBIGA@IA@GYBYrƒĥDƒEŸU¡_‰[g¤A@EDAA@BIVC@AA@BOBKBAGG@@HCBBBSBCFA@@DA@@FFA@HA@@@EBCAAKG@A@@DI@@FCB@BC@BBA@A@@@A@@A@BABBBCF@FL@CPBJAFBJC@@HBBALADBFKBIFABEDIBCL@JEFAPKJHFBFADED@JADFD@AB@BBABBBB@DBH@CTHBBBADC@@VCL@PCJ‚TfD^JNJLJHBPDV@LBLHJBZDHCAEJYDB@BLHTFBBD@@AD@DEB@@AC@@EF@D@HGD@BAFB@AF@BCJD@ABABB@AB@DCBCDADB@HAB@BB@BAD@@DP@NF"],encodeOffsets:[[124489,31743]]},properties:{cp:[121.458472,30.912345],name:"奉贤区",childNum:1}},{type:"Feature",properties:{name:"崇明区"},geometry:{id:"310151",type:"MultiPolygon",coordinates:[["@@Ɯp@dG¶ƒY€IЏtuÆu¬RWˆWckĜyPVĆgðÕTUm…U¥c}S“H¥|÷Œ^oGĝ¬åеxƒb™žcAXor‘š]dš€"],["@@”MšURm@kYiD[YRwRmdS^ChQv"],["@@¬Q˜SzoMUægLShQ”e^sFwS_aL“’ïž{d\\ungZeNGZ"]],encodeOffsets:[[[124119,32586]],[[124716,32134]],[[124427,32249]]]}}],UTF8Encoding:!0}):D("ECharts Map is not loaded"):D("ECharts is not Loaded")});