Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
1d23a9eaf0
BIN
src/assets/img/bookmark.png
Normal file
BIN
src/assets/img/bookmark.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.5 KiB |
933
src/assets/js/china.js
Normal file
933
src/assets/js/china.js
Normal file
@ -0,0 +1,933 @@
|
|||||||
|
/* eslint-disable no-undef */
|
||||||
|
(function (root, factory) {
|
||||||
|
if (typeof define === 'function' && define.amd) {
|
||||||
|
// AMD. Register as an anonymous module.
|
||||||
|
define(['exports', 'echarts'], factory);
|
||||||
|
} else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') {
|
||||||
|
// CommonJS
|
||||||
|
factory(exports, require('echarts'));
|
||||||
|
} else {
|
||||||
|
// Browser globals
|
||||||
|
factory({}, root.echarts);
|
||||||
|
}
|
||||||
|
})(this, function (exports, echarts) {
|
||||||
|
var log = function (msg) {
|
||||||
|
if (typeof console !== 'undefined') {
|
||||||
|
console && console.error && console.error(msg);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
if (!echarts) {
|
||||||
|
log('ECharts is not Loaded');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!echarts.registerMap) {
|
||||||
|
log('ECharts Map is not loaded');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
echarts.registerMap('china', {
|
||||||
|
type: 'FeatureCollection',
|
||||||
|
features: [
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '710000',
|
||||||
|
properties: {
|
||||||
|
id: '710000',
|
||||||
|
cp: [121.509062, 24.044332],
|
||||||
|
name: '台湾',
|
||||||
|
childNum: 6,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'MultiPolygon',
|
||||||
|
coordinates: [
|
||||||
|
['@@°Ü¯Û'],
|
||||||
|
[
|
||||||
|
'@@ƛĴÕƊÉɼģºðʀ\\ƎsÆNŌÔĚänÜƤɊĂǀĆĴĤNJŨxĚĮǂƺòƌâÔ®ĮXŦţƸZûÐƕƑGđ¨ĭMó·ęcëƝɉlÝƯֹÅŃ^Ó·śŃNjƏďíåɛGɉ¿@ăƑ¥ĘWǬÏĶŁâ',
|
||||||
|
],
|
||||||
|
['@@\\p|WoYG¿¥Ij@¢'],
|
||||||
|
['@@
¡@V^RqBbAnTXeRz¤L«³I'],
|
||||||
|
['@@ÆEEkWqë @'],
|
||||||
|
['@@fced'],
|
||||||
|
['@@¯ɜÄèaì¯ØǓIġĽ'],
|
||||||
|
['@@çûĖëĄhòř '],
|
||||||
|
],
|
||||||
|
encodeOffsets: [
|
||||||
|
[[122886, 24033]],
|
||||||
|
[[123335, 22980]],
|
||||||
|
[[122375, 24193]],
|
||||||
|
[[122518, 24117]],
|
||||||
|
[[124427, 22618]],
|
||||||
|
[[124862, 26043]],
|
||||||
|
[[126259, 26318]],
|
||||||
|
[[127671, 26683]],
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '130000',
|
||||||
|
properties: {
|
||||||
|
id: '130000',
|
||||||
|
cp: [114.502461, 38.045474],
|
||||||
|
name: '河北',
|
||||||
|
childNum: 3,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'MultiPolygon',
|
||||||
|
coordinates: [
|
||||||
|
['@@o~Z]ªrºc_ħ²G¼s`jΟnüsÂłNX_M`ǽÓnUK
Ĝēs¤©yrý§uģcJe'],
|
||||||
|
['@@U`Ts¿mÂ'],
|
||||||
|
[
|
||||||
|
'@@oºƋÄdeVDJj£J|ÅdzÂFt~KŨ¸IÆv|¢r}èonb}`RÎÄn°ÒdÞ²^®lnÐèĄlðÓ×]ªÆ}LiñÖ`^°Ç¶p®đDcŋ`ZÔ¶êqvFÆN®ĆTH®¦O¾IbÐã´BĐɢŴÆíȦpĐÞXR·nndO¤OÀĈƒQgµFo|gȒęSWb©osx|hYhgŃfmÖĩnºTÌSp¢dYĤ¶UĈjlǐpäìë|³kÛfw²Xjz~ÂqbTÑěŨ@|oMzv¢ZrÃVw¬ŧĖ¸f°ÐTªqs{S¯r æÝlNd®²Ğ džiGĘJ¼lr}~K¨ŸƐÌWöÆzR¤lêmĞLÎ@¡|q]SvKÑcwpÏÏĿćènĪWlĄkT}J¤~ÈTdpddʾĬBVtEÀ¢ôPĎƗè@~kü\\rÊĔÖæW_§¼F´©òDòjYÈrbĞāøŀG{ƀ|¦ðrb|ÀH`pʞkvGpuARhÞÆǶgĘTǼƹS£¨¡ù³ŘÍ]¿ÂyôEP xX¶¹ÜO¡gÚ¡IwÃé¦ÅBÏ|Ç°
N«úmH¯âDùyŜŲIÄuШD¸dɂFOhđ©OiÃ`ww^ÌkÑH«ƇǤŗĺtFu
{Z}Ö@U´
ʚLg®¯Oı°Ãw ^VbÉsmA
ê]]w§RRl£ȭµu¯b{ÍDěïÿȧuT£ġěŗƃĝQ¨fVƋƅna@³@ďyýIĹÊKŭfċŰóxV@tƯJ]eR¾fe|rHA|h~Ėƍl§ÏlTíb ØoÅbbx³^zÃĶ¶Sj®AyÂhðk`«P˵EFÛ¬Y¨Ļrõqi¼Wi°§Ð±´°^[À|ĠO@ÆxO\\ta\\tĕtû{ġȧXýĪÓjùÎRb^ÎfK[ÝděYfíÙTyuUSyŌŏů@Oi½éŅaVcř§ax¹XŻácWU£ôãºQ¨÷Ñws¥qEHÙ|šYQoŕÇyáĂ£MðoťÊP¡mWO¡v{ôvîēÜISpÌhp¨ jdeŔQÖjX³àĈ[n`Yp@UcM`RKhEbpŞlNut®EtqnsÁgAiúoHqCXhfgu~ÏWP½¢G^}¯ÅīGCÑ^ãziMáļMTÃƘrMc|O_¯Ŏ´|morDkO\\mĆJfl@cĢ¬¢aĦtRıÒ¾ùƀ^juųœKUFyƝ
īÛ÷ąV×qƥV¿aȉd³BqPBmaËđŻģmÅ®V¹d^KKonYg¯XhqaLdu¥ÍpDž¡KąÅkĝęěhq}HyÃ]¹ǧ£
Í÷¿qᵧg¤o^á¾ZE¤i`ij{nOl»WÝĔįhgF[¿¡ßkOüš_ūiDZàUtėGyl}ÓM}jpEC~¡FtoQiHkk{Ãmï',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
encodeOffsets: [[[119712, 40641]], [[121616, 39981]], [[116462, 37237]]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '140000',
|
||||||
|
properties: {
|
||||||
|
id: '140000',
|
||||||
|
cp: [111.849248, 36.857014],
|
||||||
|
name: '山西',
|
||||||
|
childNum: 1,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'Polygon',
|
||||||
|
coordinates: [
|
||||||
|
'@@ÞĩÒSra}ÁyWix±Üe´lèßÓǏokćiµVZģ¡coTS˹ĪmnÕńehZg{gtwªpXaĚThȑp{¶Eh®RćƑP¿£Pmc¸mQÝWďȥoÅîɡųAďä³aÏJ½¥PGąSM
EÅruµéYÓŌ_dĒCoȵ]¯_²ÕjāK~©ÅØ^ÔkïçămÏk]±cݯÑÃmQÍ~_apm
~ç¡qu{JÅŧ·Ls}EyÁÆcI{¤IiCfUcƌÃp§]ě«vD@¡SÀµMÅwuYY¡DbÑc¡h×]nkoQdaMç~eDÛtT©±@¥ù@É¡ZcW|WqOJmĩl«ħşvOÓ«IqăV¥D[mI~Ó¢cehiÍ]Ɠ~ĥqX·eƷn±}v[ěďŕ]_œ`¹§ÕōIo©bs^}Ét±ū«³p£ÿ·Wµ|¡¥ăFÏs×¥ŅxÊdÒ{ºvĴÎêÌɊ²¶ü¨|ÞƸµȲLLúÉƎ¤ϊęĔV`_bªS^|dzY|dz¥pZbÆ£¶ÒK}tĦÔņƠPYznÍvX¶Ěn ĠÔzý¦ª÷ÑĸÙUȌ¸dòÜJð´ìúNM¬XZ´¤ŊǸ_tldI{¦ƀðĠȤ¥NehXnYGR° ƬDj¬¸|CĞKqºfƐiĺ©ª~ĆOQª ¤@ìǦɌ²æBÊTŸʂōĖĴŞȀÆÿȄlŤĒötνî¼ĨXh|ªM¤Ðz',
|
||||||
|
],
|
||||||
|
encodeOffsets: [[116874, 41716]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '150000',
|
||||||
|
properties: {
|
||||||
|
id: '150000',
|
||||||
|
cp: [111.670801, 41.818311],
|
||||||
|
name: '内蒙古',
|
||||||
|
childNum: 2,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'MultiPolygon',
|
||||||
|
coordinates: [
|
||||||
|
[
|
||||||
|
'@@¯PqFB
|S³C|kñHdiÄ¥sʼnÅ
PóÑÑE^ÅPpy_YtShQ·aHwsOnʼnÃs©iqjUSiº]ïW«gW¡ARë¥_sgÁnUI«m
]jvV¼euhwqAaW_µj
»çjioQR¹ēÃßt@r³[ÛlćË^ÍÉáGOUÛOB±XkŹ£k|e]olkVͼÕqtaÏõjgÁ£§U^RLËnX°ÇBz^~wfvypV ¯ƫĉ˭ȫƗŷɿÿĿƑ˃ĝÿÃǃßËőó©ǐȍŒĖM×ÍEyxþp]ÉvïèvƀnÂĴÖ@V~Ĉv¦wĖtējyÄDXÄxGQuv_i¦aBçw˛wD©{tāmQ{EJ§KPśƘƿ¥@sCTÉ}ɃwƇy±gÑ}T[÷kÐ禫
SÒ¥¸ëBX½HáŵÀğtSÝÂa[ƣ°¯¦Pï¡]£ġÒk®G²èQ°óMq}EóƐÇ\\@áügQÍu¥FTÕ¿Jû]|mvāÎYua^WoÀa·ząÒot׶CLƗi¯¤mƎHNJ¤îìɾŊìTdåwsRÖgĒųúÍġäÕ}Q¶¿A[¡{d×uQAMxVvMOmăl«ct[wº_ÇÊjb£ĦS_éQZ_lwgOiýe`YYLq§IÁdz£ÙË[ÕªuƏ³ÍTs·bÁĽäė[b[ŗfãcn¥îC¿÷µ[ŏÀQōĉm¿Á^£mJVmL[{Ï_£F¥Ö{ŹA}
×Wu©ÅaųijƳhB{·TQqÙIķËZđ©Yc|M¡
LeVUóK_QWk_ĥ¿ãZ»X\\ĴuUèlG®ěłTĠğDŃOrÍdÆÍz]±
ŭ©Å]ÅÐ}UË¥©TċïxgckfWgi\\ÏĒ¥HkµEë{»ÏetcG±ahUiñiWsɁ·cCÕk]wȑ|ća}w
VaĚá G°ùnM¬¯{ÈÐÆA¥ÄêJxÙ¢hP¢ÛºµwWOóFÁz^ÀŗÎú´§¢T¤ǻƺSėǵhÝÅQgvBHouʝl_o¿Ga{ïq{¥|ſĿHĂ÷aĝÇqZñiñC³ª
»E`¨åXēÕqÉû[l}ç@čƘóO¿¡FUsAʽīccocÇS}£IS~ălkĩXçmĈ
ŀÐoÐdxÒuL^T{r@¢ÍĝKén£kQyÅõËXŷƏL§~}kq»IHėDžjĝ»ÑÞoå°qTt|r©ÏS¯·eŨĕx«È[eM¿yupN~¹ÏyN£{©għWí»Í¾səšDž_ÃĀɗ±ąijĉʍŌŷSÉA±åǥɋ@ë£R©ąP©}ĹªƏj¹erLDĝ·{i«ƫC£µsKC
GS|úþXgp{ÁX¿ć{ƱȏñZáĔyoÁhA}ŅĆfdʼn_¹Y°ėǩÑ¡H¯¶oMQqð¡Ë|Ñ`ƭŁX½·óÛxğįÅcQs«tȋDžFù^it«Č¯[hAi©á¥ÇĚ×l|¹y¯YȵƓñǙµïċĻ|Düȭ¶¡oŽäÕG\\ÄT¿Òõr¯LguÏYęRƩɷŌO\\İТæ^Ŋ IJȶȆbÜGĝ¬¿ĚVĎgª^íu½jÿĕęjık@Ľ]ėl¥ËĭûÁėéV©±ćn©ȇÍq¯½YÃÔʼnÉNÑÅÝy¹NqáʅDǡËñƁYÅy̱os§ȋµʽǘǏƬɱàưN¢ƔÊuľýľώȪƺɂļxZĈ}ÌʼnŪĺœĭFЛĽ̅ȣͽÒŵìƩÇϋÿȮǡŏçƑůĕ~ǼȳÐUfdIxÿ\\G zâɏÙOº·pqy£@qþ@Ǟ˽IBäƣzsÂZÁàĻdñ°ŕzéØűzșCìDȐĴĺf®Àľưø@ɜÖÞKĊŇƄ§͑těï͡VAġÑÑ»d³öǍÝXĉĕÖ{þĉu¸ËʅğU̎éhɹƆ̗̮ȘNJ֥ड़ࡰţાíϲäʮW¬®ҌeרūȠkɬɻ̼ãüfƠSצɩςåȈHϚÎKdzͲOðÏȆƘ¼CϚǚ࢚˼ФÔ¤ƌĞ̪Qʤ´¼mȠJˀƲÀɠmǐnǔĎȆÞǠN~ʢĜ¶ƌĆĘźʆȬ˪ĚĒ¸ĞGȖƴƀj`ĢçĶāàŃºēĢĖćYÀŎüôQÐÂŎŞdžŞêƖoˆDĤÕºÑǘÛˤ³̀gńƘĔÀ^ªƂ`ªt¾äƚêĦĀ¼ÐĔǎ¨Ȕ»͠^ˮÊȦƤøxRrŜH¤¸ÂxDÄ|ø˂˜ƮЬɚwɲFjĔ²Äw°dždÀÉ_ĸdîàŎjÊêTЪŌŜWÈ|tqĢUB~´°ÎFCU¼pĀēƄN¦¾O¶łKĊOjĚj´ĜYp{¦SĚÍ\\TתV÷Ší¨ÅDK°ßtŇĔK¨ǵÂcḷ̌ĚǣȄĽFlġUĵŇȣFʉɁMğįʏƶɷØŭOǽ«ƽū¹Ʊő̝Ȩ§ȞʘĖiɜɶʦ}¨֪ࠜ̀ƇǬ¹ǨE˦ĥªÔêFxúQEr´Wrh¤Ɛ \\talĈDJÜ|[Pll̚¸ƎGú´P¬W¦^¦H]prRn|or¾wLVnÇIujkmon£cX^Bh`¥V¦U¤¸}xRj[^xN[~ªxQ[`ªHÆÂExx^wN¶Ê|¨ìMrdYpoRzNyÀDs~bcfÌ`L¾n|¾T°c¨È¢ar¤`[|òDŞĔöxElÖdHÀI`Ď\\Àì~ÆR¼tf¦^¢ķ¶eÐÚMptgjɡČÅyġLûŇV®ÄÈƀĎ°P|ªVVªj¬ĚÒêp¬E|ŬÂc|ÀtƐK f{ĘFĒƌXƲąo½Ę\\¥o}Ûu£çkX{uĩ«āíÓUŅßŢqŤ¥lyň[oi{¦LńðFȪȖĒL¿Ìf£K£ʺoqNwğc`uetOj×°KJ±qÆġmĚŗos¬
qehqsuH{¸kH¡
ÊRǪÇƌbȆ¢´äÜ¢NìÉʖ¦â©Ġu¦öČ^â£ĂhĖMÈÄw\\fŦ°W ¢¾luŸDw\\̀ʉÌÛM
Ā[bÓEn}¶Vc
ês',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
encodeOffsets: [[[129102, 52189]]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '210000',
|
||||||
|
properties: {
|
||||||
|
id: '210000',
|
||||||
|
cp: [123.429096, 41.796767],
|
||||||
|
name: '辽宁',
|
||||||
|
childNum: 16,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'MultiPolygon',
|
||||||
|
coordinates: [
|
||||||
|
['@@L@@sa'],
|
||||||
|
['@@MnNm'],
|
||||||
|
['@@dc'],
|
||||||
|
['@@eÀC@b'],
|
||||||
|
['@@f
XwkbrÄ`qg'],
|
||||||
|
['@@^jtWQ'],
|
||||||
|
['@@~ Y]c'],
|
||||||
|
['@@G`ĔN^_¿ZÃM'],
|
||||||
|
['@@iX¶BY'],
|
||||||
|
['@@YZ'],
|
||||||
|
['@@L_{Epf'],
|
||||||
|
['@@^WqCT\\'],
|
||||||
|
['@@\\[§t|¤_'],
|
||||||
|
['@@m`n_'],
|
||||||
|
['@@Ïxnj{q_×^Giip'],
|
||||||
|
[
|
||||||
|
'@@@é^BntaÊU]x ¯ÄPIJ°hʙK³VÕ@Y~|EvĹsǦL^pòŸÒG Ël]xxÄ_fT¤Ď¤cPC¨¸TVjbgH²sdÎdHt`B²¬GJję¶[ÐhjeXdlwhðSȦªVÊÏÆZÆŶ®²^ÎyÅÎcPqńĚDMħĜŁHkçvV[ij¼WYÀäĦ`XlR`ôLUVfK¢{NZdĒªYĸÌÚJRr¸SA|ƴgŴĴÆbvªØX~źB|¦ÕE¤Ð`\\|KUnnI]¤ÀÂĊnŎR®Ő¿¶\\ÀøíDm¦ÎbŨabaĘ\\ľã¸atÎSƐ´©v\\ÖÚÌǴ¤Â¨JKrZ_ZfjþhPkx`YRIjJcVf~sCN¤ EhæmsHy¨SðÑÌ\\\\ĐRZk°IS§fqŒßýáĞÙÉÖ[^¯ǤŲê´\\¦¬ĆPM¯£»uïpùzExanµyoluqe¦W^£ÊL}ñrkqWňûPUP¡ôJoo·U}£[·¨@XĸDXmÛݺGUCÁª½{íĂ^cjk¶Ã[q¤LÉö³cux«zZf²BWÇ®Yß½ve±ÃCý£W{Ú^q^sÑ·¨ÍOt¹·C¥GDrí@wÕKţëV·i}xËÍ÷i©ĝɝǡ]{c±OW³Ya±_ç©HĕoƫŇqr³Lys[ñ³¯OSďOMisZ±ÅFC¥Pq{Ã[Pg}\\¿ghćO
k^ģÁFıĉĥMoEqqZûěʼn³F¦oĵhÕP{¯~TÍlªNßYÐ{Ps{ÃVUeĎwk±ʼnVÓ½ŽJãÇÇ»Jm°dhcÀffdF~ĀeĖd`sx² ®EżĀdQÂd^~ăÔH¦\\LKpĄVez¤NP ǹÓRÆąJSha[¦´ÂghwmBШźhI|VV|p] ¼èNä¶ÜBÖ¼L`¼bØæKVpoúNZÞÒKxpw|ÊEMnzEQIZZNBčÚFÜçmĩWĪñtÞĵÇñZ«uD±|Əlij¥ãn·±PmÍada CLǑkùó¡³Ï«QaċÏOÃ¥ÕđQȥċƭy³ÃA',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
encodeOffsets: [
|
||||||
|
[[123686, 41445]],
|
||||||
|
[[126019, 40435]],
|
||||||
|
[[124393, 40128]],
|
||||||
|
[[126117, 39963]],
|
||||||
|
[[125322, 40140]],
|
||||||
|
[[126686, 40700]],
|
||||||
|
[[126041, 40374]],
|
||||||
|
[[125584, 40168]],
|
||||||
|
[[125453, 40165]],
|
||||||
|
[[125362, 40214]],
|
||||||
|
[[125280, 40291]],
|
||||||
|
[[125774, 39997]],
|
||||||
|
[[125976, 40496]],
|
||||||
|
[[125822, 39993]],
|
||||||
|
[[125509, 40217]],
|
||||||
|
[[122731, 40949]],
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '220000',
|
||||||
|
properties: {
|
||||||
|
id: '220000',
|
||||||
|
cp: [125.3245, 43.886841],
|
||||||
|
name: '吉林',
|
||||||
|
childNum: 1,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'Polygon',
|
||||||
|
coordinates: [
|
||||||
|
'@@pä³PClFbbÍzwBGĭZÅi»lYċ²SgkÇ£^Sqd¯R
©é£¯S\\cZ¹iűƏCuƍÓXoR}M^o£
R}oªUF
uuXHlEÅÏ©¤ÛmTþ¤D²ÄufàÀXXȱAeyYw¬dvõ´KÊ£\\rµÄlidā]|DÂVH¹Þ®ÜWnCķ W§@\\¸~¤Vp¸póIO¢VOŇürXql~òÉK]¤¥Xrfkvzpm¶bwyFoúv𼤠N°ąO¥«³[éǡű_°Õ\\ÚÊĝþâőàerR¨JYlďQ[ ÏYëЧTGztnß¡gFkMāGÁ¤ia Éȹ`\\xs¬dĆkNnuNUuP@vRY¾\\¢
GªóĄ~RãÖÎĢùđŴÕhQxtcæëSɽʼníëlj£ƍG£nj°KƘµDsØÑpyƸ®¿bXp]vbÍZuĂ{n^IüÀSÖ¦EvRÎûh@â[ƏÈô~FNr¯ôçR±HÑlĢ^¤¢OðævxsŒ]ÞÁTĠs¶¿âÆGW¾ìA¦·TѬè¥ÏÐJ¨¼ÒÖ¼ƦɄxÊ~StD@Ă¼Ŵ¡jlºWvÐzƦZвCH AxiukdGgetqmcÛ£Ozy¥cE}|
¾cZ
k¿uŐã[oxGikfeäT@
SUwpiÚFM©£è^Ú`@v¶eňf heP¶täOlÃUgÞzŸU`l}ÔÆUvØ_Ō¬Öi^ĉi§²ÃB~¡ĈÚEgc|DC_Ȧm²rBx¼MÔ¦ŮdĨÃâYxƘDVÇĺĿg¿cwÅ\\¹¥Yĭl¤OvLjM_a W`zļMž·\\swqÝSAqŚij¯°kRē°wx^ĐkǂÒ\\]nrĂ}²ĊŲÒøãh·M{yMzysěnĒġV·°G³¼XÀ¤¹i´o¤ŃÈ`ÌDzÄUĞd\\iÖmÈBĤÜɲDEh LG¾ƀľ{WaYÍÈĢĘÔRîĐj}ÇccjoUb½{h§Ǿ{KƖµÎ÷GĀÖŠåưÎslyiē«`å§H¥Ae^§GK}iã\\c]v©ģZmÃ|[M}ģTɟĵÂÂ`ÀçmFK¥ÚíÁbX³ÌQÒHof{]ept·GŋĜYünĎųVY^ydõkÅZW«WUa~U·SbwGçǑiW^qFuNĝ·EwUtW·Ýďæ©PuqEzwAVXRãQ`©GMehccďÏd©ÑW_ÏYƅ»
é\\ɹ~ǙG³mØ©BšuT§Ĥ½¢Ã_ýL¡ýqT^rme\\PpZZbyuybQefµ]UhĿDCmûvaÙNSkCwncćfv~
YÇG',
|
||||||
|
],
|
||||||
|
encodeOffsets: [[130196, 42528]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '230000',
|
||||||
|
properties: {
|
||||||
|
id: '230000',
|
||||||
|
cp: [128.642464, 46.756967],
|
||||||
|
name: '黑龙江',
|
||||||
|
childNum: 2,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'MultiPolygon',
|
||||||
|
coordinates: [
|
||||||
|
[
|
||||||
|
'@@UµNÿ¥īèçHÍøƕ¶Lǽ|g¨|a¾pVidd~ÈiíďÓQġėÇZÎXb½|ſÃH½KFgɱCģÛÇAnjÕc[VĝDZÃËÇ_ £ń³pj£º¿»WH´¯U¸đĢmtĜyzzNN|g¸÷äűѱĉā~mq^[ǁÑďlw]¯xQĔ¯l°řĴrBÞTxr[tŽ¸ĻN_yX`biNKu
P£kZĮ¦[ºxÆÀdhĹŀUÈƗCwáZħÄŭcÓ¥»NAw±qȥnD`{ChdÙFć}¢A±Äj¨]ĊÕjŋ«×`VuÓÅ~_kŷVÝyhVkÄãPsOµfgeŇ
µf@u_Ù ÙcªNªÙEojVxT@ãSefjlwH\\pŏäÀvlY½d{F~¦dyz¤PÜndsrhfHcvlwjF£G±DÏƥYyÏu¹XikĿ¦ÏqƗǀOŜ¨LI|FRĂn sª|C˜zxAè¥bfudTrFWÁ¹Am|ĔĕsķÆF´N}ć
UÕ@Áijſmuçuð^ÊýowFzØÎĕNőǏȎôªÌŒDŽàĀÄ˄ĞŀƒʀĀƘŸˮȬƬĊ°Uzouxe]}
AyÈW¯ÌmKQ]Īºif¸ÄX|sZt|½ÚUÎ lk^p{f¤lºlÆW A²PVÜPHÊâ]ÎĈÌÜk´\\@qàsĔÄQºpRij¼èi`¶bXrBgxfv»uUi^v~J¬mVp´£´VWrnP½ì¢BX¬hðX¹^TjVriªjtŊÄmtPGx¸bgRsT`ZozÆO]ÒFôÒOÆŊvÅpcGêsx´DR{AEOr°x|íb³Wm~DVjºéNNËܲɶGxŷCSt}]ûōSmtuÇÃĕNāg»íT«u}ç½BĵÞʣ¥ëÊ¡MÛ³ãȅ¡ƋaǩÈÉQG¢·lG|tvgrrf«ptęŘnÅĢrI²¯LiØsPf_vĠdxM prʹL¤¤eËÀđKïÙVY§]Ióáĥ]ķK¥j|pŇ\\kzţ¦šnņäÔVĂîĪ¬|vW®l¤èØrxm¶ă~lÄƯĄ̈́öȄEÔ¤ØQĄĄ»ƢjȦOǺ¨ìSŖÆƬyQv`cwZSÌ®ü±DŽ]ŀç¬B¬©ńzƺŷɄeeOĨSfm ĊƀP̎ēz©ĊÄÕÊmgÇsJ¥ƔŊśæÎÑqv¿íUOµªÂnĦÁ_½ä@êí
£P}Ġ[@gġ}gɊ×ûÏWXá¢užƻÌsNͽƎÁ§čŐAēeL³àydl¦ĘVçŁpśdžĽĺſÊQíÜçÛġÔsĕ¬Ǹ¯YßċġHµ ¡eå`ļrĉŘóƢFìĎWøxÊkƈdƬv|I|·©NqńRŀ¤éeŊŀàŀU²ŕƀBQ£Ď}L¹Îk@©ĈuǰųǨÚ§ƈnTËÇéƟÊcfčŤ^XmHĊĕË«W·ċëx³ǔķÐċJāwİ_ĸȀ^ôWr°oú¬Ħ
ŨK~ȰCĐ´Ƕ£fNÎèâw¢XnŮeÂÆĶ¾¾xäLĴĘlļO¤ÒĨA¢Êɚ¨®ØCÔ ŬGƠƦYĜĘÜƬDJg_ͥœ@čŅĻA¶¯@wÎqC½Ĉ»NăëKďÍQÙƫ[«ÃígßÔÇOÝáWñuZ¯ĥŕā¡ÑķJu¤E 寰WKɱ_d_}}vyõu¬ï¹ÓU±½@gÏ¿rýDg
Cdµ°MFYxw¿CG£Rƛ½Õ{]L§{qqą¿BÇƻğëܭNJË|c²}Fµ}ÙRsÓpg±QNqǫŋRwŕnéÑÉK«SeYR
ŋ@{¤SJ}D Ûǖ֍]gr¡µŷjqWÛham³~S«Þ]',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
encodeOffsets: [[[134456, 44547]]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '320000',
|
||||||
|
properties: {
|
||||||
|
id: '320000',
|
||||||
|
cp: [119.767413, 33.041544],
|
||||||
|
name: '江苏',
|
||||||
|
childNum: 1,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'Polygon',
|
||||||
|
coordinates: [
|
||||||
|
'@@cþÅPi`ZRu¥É\\]~°Y`µÓ^phÁbnÀşúòaĬºTÖŒbe¦¦{¸ZâćNp©Hr|^mjhSEb\\afv`sz^lkljÄtg¤D¾X¿À|ĐiZȀåB·î}GL¢õcßjayBFµÏC^ĭcÙt¿sğH]j{s©HM¢QnDÀ©DaÜÞ·jgàiDbPufjDk`dPOîhw¡ĥ¥GP²ĐobºrYî¶aHŢ´ ]´rılw³r_{£DB_Ûdåuk|Ũ¯F Cºyr{XFye³Þċ¿ÂkĭB¿MvÛpm`rÚã@Ę¹hågËÖƿxnlč¶Åì½Ot¾dJlVJĂǀŞqvnO^JZż·Q}êÍÅmµÒ]ƍ¦Dq}¬R^èĂ´ŀĻĊIÔtIJyQŐĠMNtR®òLhĚs©»}OÓGZz¶A\\jĨFäOĤHYJvÞHNiÜaĎÉnFQlNM¤B´ĄNöɂtpŬdfå
qm¿QûùŞÚb¤uŃJŴu»¹ĄlȖħŴw̌ŵ²ǹǠ͛hĭłƕrçü±Yxcitğ®jű¢KOķCoy`å®VTa_Ā]ŐÝɞï²ʯÊ^]afYǸÃĆēĪȣJđ͍ôƋÄÄÍīçÛɈǥ£ÛmY`ó£Z«§°Ó³QafusNıDž_k}¢m[ÝóDµ¡RLčiXyÅNïă¡¸iĔÏNÌŕoēdōîåŤûHcs}~Ûwbù¹£¦ÓCtOPrE^ÒogĉIµÛÅʹK
¤½phMü`oæŀ',
|
||||||
|
],
|
||||||
|
encodeOffsets: [[121740, 32276]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '330000',
|
||||||
|
properties: {
|
||||||
|
id: '330000',
|
||||||
|
cp: [120.153576, 29.287459],
|
||||||
|
name: '浙江',
|
||||||
|
childNum: 45,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'MultiPolygon',
|
||||||
|
coordinates: [
|
||||||
|
['@@E^dQ]K'],
|
||||||
|
['@@jX^j'],
|
||||||
|
['@@sfbU'],
|
||||||
|
['@@qP\\xz[ck'],
|
||||||
|
['@@R¢FX}°[s_'],
|
||||||
|
['@@Cb\\}'],
|
||||||
|
['@@e|v\\la{u'],
|
||||||
|
['@@v~u}'],
|
||||||
|
['@@QxÂF¯}'],
|
||||||
|
['@@¹nvÞs¯o'],
|
||||||
|
['@@rSkUEj'],
|
||||||
|
['@@biZP'],
|
||||||
|
['@@p[}INf'],
|
||||||
|
['@@À¿'],
|
||||||
|
['@@¹dnb
'],
|
||||||
|
['@@rSBnR'],
|
||||||
|
['@@g~h}'],
|
||||||
|
['@@FlEk'],
|
||||||
|
['@@OdPc'],
|
||||||
|
['@@v[u\\'],
|
||||||
|
['@@FjâL~wyoo~sµL\\'],
|
||||||
|
['@@¬e¹aN'],
|
||||||
|
['@@\\nÔ¡q]L³ë\\ÿ®QÖ'],
|
||||||
|
['@@ÊA©[¬'],
|
||||||
|
['@@Kxv'],
|
||||||
|
['@@@hlIk]'],
|
||||||
|
['@@pW{o||j'],
|
||||||
|
['@@Md|_mC'],
|
||||||
|
['@@¢
X£ÏylD¼XtH'],
|
||||||
|
['@@hlÜ[LykAvyfw^E¤'],
|
||||||
|
['@@fp¤MusR'],
|
||||||
|
['@@®_ma~LÁ¬Z'],
|
||||||
|
['@@iMxZ'],
|
||||||
|
['@@ZcYd'],
|
||||||
|
['@@Z~dOSo|A¿qZv'],
|
||||||
|
['@@@`EN¡v'],
|
||||||
|
['@@|TY{'],
|
||||||
|
['@@@n@m'],
|
||||||
|
['@@XWkCT\\'],
|
||||||
|
['@@ºwZRkĕWO¢'],
|
||||||
|
['@@X®±Grƪ\\ÔáXq{'],
|
||||||
|
['@@ůTG°ĄLHm°UC'],
|
||||||
|
[
|
||||||
|
'@@¤aÜx~}dtüGæţŎíĔcŖpMËÐjē¢·ðĄÆMzjWKĎ¢Q¶À_ê_Bıi«pZgf¤Nrq]§ĂN®«H±yƳí¾×ŸīàLłčŴǝĂíÀBŖÕªÁŖHŗʼnåqûõi¨hÜ·ñt»¹ýv_[«¸mYL¯Qª
mĉÅdMgÇjcº«ę¬K´B«Âącoċ\\xKd¡gěŧ«®á[~ıxu·ÅKsËÉc¢Ù\\ĭƛëbf¹ģSĜkáƉÔĈZB{aMµfzʼnfåÂŧįƋǝÊĕġć£g³neą»@¦S®\\ßðChiqªĭiAuAµ_W¥ƣO\\lċĢttC¨£t`PZäuXßBsĻyekOđġĵHuXBµ]×\\°®¬F¢¾pµ¼kŘó¬Wät¸|@L¨¸µrºù³Ù~§WIZW®±Ð¨ÒÉx`²pĜrOògtÁZ}þÙ]¡FKwsPlU[}¦Rvn`hq¬\\nQ´ĘRWb_ rtČFIÖkĦPJ¶ÖÀÖJĈĄTĚòC ²@Pú
Øz©PCÈÚĒ±hŖl¬â~nm¨f©iļ«mntuÖZÜÄjL®EÌFª²iÊxبIÈhhst',
|
||||||
|
],
|
||||||
|
['@@o\\VzRZ}y'],
|
||||||
|
['@@@°¡mÛGĕ¨§Ianá[ýƤjfæØLäGr'],
|
||||||
|
],
|
||||||
|
encodeOffsets: [
|
||||||
|
[[125592, 31553]],
|
||||||
|
[[125785, 31436]],
|
||||||
|
[[125729, 31431]],
|
||||||
|
[[125513, 31380]],
|
||||||
|
[[125223, 30438]],
|
||||||
|
[[125115, 30114]],
|
||||||
|
[[124815, 29155]],
|
||||||
|
[[124419, 28746]],
|
||||||
|
[[124095, 28635]],
|
||||||
|
[[124005, 28609]],
|
||||||
|
[[125e3, 30713]],
|
||||||
|
[[125111, 30698]],
|
||||||
|
[[125078, 30682]],
|
||||||
|
[[125150, 30684]],
|
||||||
|
[[124014, 28103]],
|
||||||
|
[[125008, 31331]],
|
||||||
|
[[125411, 31468]],
|
||||||
|
[[125329, 31479]],
|
||||||
|
[[125626, 30916]],
|
||||||
|
[[125417, 30956]],
|
||||||
|
[[125254, 30976]],
|
||||||
|
[[125199, 30997]],
|
||||||
|
[[125095, 31058]],
|
||||||
|
[[125083, 30915]],
|
||||||
|
[[124885, 31015]],
|
||||||
|
[[125218, 30798]],
|
||||||
|
[[124867, 30838]],
|
||||||
|
[[124755, 30788]],
|
||||||
|
[[124802, 30809]],
|
||||||
|
[[125267, 30657]],
|
||||||
|
[[125218, 30578]],
|
||||||
|
[[125200, 30562]],
|
||||||
|
[[124968, 30474]],
|
||||||
|
[[125167, 30396]],
|
||||||
|
[[124955, 29879]],
|
||||||
|
[[124714, 29781]],
|
||||||
|
[[124762, 29462]],
|
||||||
|
[[124325, 28754]],
|
||||||
|
[[123990, 28459]],
|
||||||
|
[[125366, 31477]],
|
||||||
|
[[125115, 30363]],
|
||||||
|
[[125369, 31139]],
|
||||||
|
[[122495, 31878]],
|
||||||
|
[[125329, 30690]],
|
||||||
|
[[125192, 30787]],
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '340000',
|
||||||
|
properties: {
|
||||||
|
id: '340000',
|
||||||
|
cp: [117.283042, 31.26119],
|
||||||
|
name: '安徽',
|
||||||
|
childNum: 3,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'MultiPolygon',
|
||||||
|
coordinates: [
|
||||||
|
['@@^iuLX^'],
|
||||||
|
['@@e©Ehl'],
|
||||||
|
[
|
||||||
|
'@@°ZÆëϵmkǀwÌÕæhºgBĝâqÙĊzÖgņtÀÁĂÆáhEz|WzqD¹°Eŧl{ævÜcA`¤C`|´qxIJkq^³³GšµbíZ
¹qpa±ď OH¦Ħx¢gPícOl_iCveaOjCh߸iÝbÛªCC¿mRV§¢A|t^iĠGÀtÚsd]ĮÐDE¶zAb àiödK¡~H¸íæAǿYj{ď¿À½W®£ChÃsikkly]_teu[bFaTign{]GqªoĈMYá|·¥f¥őaSÕėNµñĞ«Im_m¿Âa]uĜp
Z_§{Cäg¤°r[_YjÆOdý[I[á·¥Q_nùgL¾mvˊBÜƶĊJhpc¹O]iŠ]¥ jtsggJǧw×jÉ©±EFËKiÛÃÕYv
sm¬njĻª§emná}k«ŕgđ²ÙDÇ¤í¡ªOy×Où±@DñSęćăÕIÕ¿IµĥOjNÕËT¡¿tNæŇàåyķrĕq§ÄĩsWÆßF¶X®¿mw
RIÞfßoG³¾©uyHį{Ɓħ¯AFnuP
ÍÔzVdàôº^Ðæd´oG¤{S¬ćxã}ŧ×Kǥĩ«ÕOEзÖdÖsƘѨ[Û^Xr¢¼§xvÄƵ`K§ tÒ´Cvlo¸fzŨð¾NY´ı~ÉĔē
ßúLÃÃ_ÈÏ|]ÂÏFlg`ben¾¢pUh~ƴĖ¶_r sĄ~cƈ]|r c~`¼{À{ȒiJjz`îÀT¥Û³
]u}f
ïQl{skloNdjäËzDvčoQďHI¦rbtHĔ~BmlRV_ħTLnñH±DL¼Lªl§Ťa¸ĚlK²\\RòvDcÎJbt[¤D@®hh~kt°ǾzÖ@¾ªdbYhüóZ ň¶vHrľ\\ÊJuxAT|dmÀO[ÃÔG·ĚąĐlŪÚpSJ¨ĸLvÞcPæķŨ®mÐálwKhïgA¢ųÆ©Þ¤OÈm°K´',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
encodeOffsets: [[[121722, 32278]], [[119475, 30423]], [[119168, 35472]]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '350000',
|
||||||
|
properties: {
|
||||||
|
id: '350000',
|
||||||
|
cp: [118.306239, 26.075302],
|
||||||
|
name: '福建',
|
||||||
|
childNum: 18,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'MultiPolygon',
|
||||||
|
coordinates: [
|
||||||
|
['@@zht´]'],
|
||||||
|
['@@aj^~ĆG©O'],
|
||||||
|
['@@ed¨C}}i'],
|
||||||
|
['@@@vPGsQ'],
|
||||||
|
['@@sBzddW]Q'],
|
||||||
|
['@@S¨Q{'],
|
||||||
|
['@@NVucW'],
|
||||||
|
['@@qptBAq'],
|
||||||
|
['@@¸[mu'],
|
||||||
|
['@@Q\\pD]_'],
|
||||||
|
['@@jSwUadpF'],
|
||||||
|
['@@eXª~'],
|
||||||
|
['@@AjvFso'],
|
||||||
|
['@@fT_Çí\\v|ba¦jZÆy°'],
|
||||||
|
['@@IjJi'],
|
||||||
|
['@@wJIx«¼AoNe{M'],
|
||||||
|
['@@K±¡ÓČäeZ'],
|
||||||
|
[
|
||||||
|
'@@k¡¹Eh~c®wBkUplÀ¡I~Māe£bN¨gZý¡a±Öcp©PhI¢Qq
ÇGj|¥U g[Ky¬ŏv@OptÉEF\\@ åA¬V{XģĐBy
cpě
¼³Ăp·¤¥ohqqÚ¡ŅLs^á§qlÀhH¨MCe»åÇGD¥zPO£čÙkJA¼ßėuĕeûÒiÁŧSW¥Qûŗ½ùěcݧSùĩąSWó«íęACµeRåǃRCÒÇZÍ¢ź±^dlstjD¸ZpuÔâÃH¾oLUêÃÔjjēò´ĄWƛ
^Ñ¥Ħ@ÇòmOw¡õyJyD}¢ďÑÈġfZda©º²z£NjD°Ötj¶¬ZSÎ~¾c°¶ÐmxO¸¢Pl´SL|¥AȪĖMņIJg®áIJČĒü` QF¬h|ĂJ@zµ |ê³È ¸UÖŬŬÀEttĸr]ðM¤ĶIJHtÏ AĬkvsq^aÎbvdfÊòSD´Z^xPsĂrvƞŀjJd×ŘÉ ®AΦĤdxĆqAZRÀMźnĊ»İÐZ YXæJyĊ²·¶q§·K@·{sXãô«lŗ¶»o½E¡«¢±¨Y®Ø¶^AvWĶGĒĢPlzfļtàAvWYãO_¤sD§ssČġ[kƤPX¦`¶®BBvĪjv©jx[L¥àï[F
¼ÍË»ğV`«Ip}ccÅĥZEãoP
´B@D¸m±z«Ƴ¿å³BRضWlâþäą`]Z£Tc ĹGµ¶Hm@_©k¾xĨôȉðX«½đCIbćqK³ÁÄš¬OAwã»aLʼnËĥW[ÂGIÂNxij¤D¢îĎÎB§°_JGs¥E@
¤uć
PåcuMuw¢BI¿]zG¹guĮck\\_',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
encodeOffsets: [
|
||||||
|
[[123250, 27563]],
|
||||||
|
[[122541, 27268]],
|
||||||
|
[[123020, 27189]],
|
||||||
|
[[122916, 27125]],
|
||||||
|
[[122887, 26845]],
|
||||||
|
[[122808, 26762]],
|
||||||
|
[[122568, 25912]],
|
||||||
|
[[122778, 26197]],
|
||||||
|
[[122515, 26757]],
|
||||||
|
[[122816, 26587]],
|
||||||
|
[[123388, 27005]],
|
||||||
|
[[122450, 26243]],
|
||||||
|
[[122578, 25962]],
|
||||||
|
[[121255, 25103]],
|
||||||
|
[[120987, 24903]],
|
||||||
|
[[122339, 25802]],
|
||||||
|
[[121042, 25093]],
|
||||||
|
[[122439, 26024]],
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '360000',
|
||||||
|
properties: {
|
||||||
|
id: '360000',
|
||||||
|
cp: [115.592151, 27.676493],
|
||||||
|
name: '江西',
|
||||||
|
childNum: 1,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'Polygon',
|
||||||
|
coordinates: [
|
||||||
|
'@@ĢĨƐgļ¼ÂMD~ņªe^\\^§ý©j×cZبzdÒa¶lÒJìõ`oz÷@¤u޸´ôęöY¼HČƶajlÞƩ¥éZ[|h}^U ¥pĄžƦO lt¸Æ Q\\aÆ|CnÂOjtĚĤdÈF`¶@Ðë ¦ōÒ¨SêvHĢûXD®
QgÄWiØPÞìºr¤džNĠ¢lĄtZoCƞÔºCxrpĠV®Ê{f_Y`_eq®Aot`@oDXfkp¨|s¬\\DÄSfè©Hn¬
^DhÆyøJhØxĢĀLÊƠPżċĄwȠ̦G®ǒĤäTŠÆ~Ħw«|TF¡nc³Ïå¹]ĉđxe{ÎÓvOEm°BƂĨİ|Gvz½ª´HàpeJÝQxnÀWEµàXÅĪt¨ÃĖrÄwÀFÎ|ňÓMå¼ibµ¯»åDT±m[r«_gmQu~¥V\\OkxtL E¢Ú^~ýêPóqoě±_Êw§ÑªåƗā¼mĉŹ¿NQ
YBąrwģcÍ¥BŗÊcØiIƝĿuqtāwO]³YCñTeÉcaubÍ]trluī
BÐGsĵıN£ï^ķqss¿FūūVÕ·´Ç{éĈýÿOER_đûIċâJhŅıNȩĕB
¦K{Tk³¡OP·wnµÏd¯}½TÍ«YiµÕsC¯iM¤¦¯P|ÿUHvhe¥oFTuõ\\OSsMòđƇiaºćXĊĵà·çhƃ÷Ç{ígu^đgm[×zkKN¶Õ»lčÓ{XSÆv©_ÈëJbVkĔVÀ¤P¾ºÈMÖxlò~ªÚàGĂ¢B±ÌKyáV¼Ã~
`gsÙfIƋlę¹e|~udjuTlXµf`¿Jd[\\L²',
|
||||||
|
],
|
||||||
|
encodeOffsets: [[116689, 26234]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '370000',
|
||||||
|
properties: {
|
||||||
|
id: '370000',
|
||||||
|
cp: [118.000923, 36.275807],
|
||||||
|
name: '山东',
|
||||||
|
childNum: 13,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'MultiPolygon',
|
||||||
|
coordinates: [
|
||||||
|
['@@Xjd]{K'],
|
||||||
|
['@@itbFHy'],
|
||||||
|
['@@HlGk'],
|
||||||
|
['@@TGy'],
|
||||||
|
['@@K¬U'],
|
||||||
|
['@@WdXc'],
|
||||||
|
['@@PtOs'],
|
||||||
|
['@@LnXhc'],
|
||||||
|
['@@ppVu]Or'],
|
||||||
|
['@@cdzAUa'],
|
||||||
|
['@@udRhnCI'],
|
||||||
|
['@@oIpR'],
|
||||||
|
[
|
||||||
|
'@@Ľč{fzƤîKÎMĮ]ZF½Y]â£ph¶¨râøÀÎǨ¤^ºÄGz~grĚĜlĞÆLĆdž¢Îo¦cvKbgr°WhmZp L]LºcUÆnżĤÌĒbAnrOA´ȊcÀbƦUØrĆUÜøĬƞEzVL®öØBkŖÝĐĖ¹ŧ̄±ÀbÎÉnb²ĦhņBĖįĦåXćì@L¯´ywƕCéõė ƿ¸lµ¾Z|ZWyFY¨Mf~C¿`à_RÇzwƌfQnny´INoƬèôº|sTJULîVjǎ¾ĒØDz²XPn±ŴPè¸ŔLƔÜƺ_TüÃĤBBċÈöA´faM¨{«M`¶d¡ôÖ°mȰBÔjj´PM|c^d¤u¤Û´ä«ƢfPk¶Môl]Lb}su^ke{lC
MrDÇ]NÑFsmoõľHyGă{{çrnÓEƕZGª¹Fj¢ïW
uøCǷë¡ąuhÛ¡^KxC`C\\bÅxì²ĝÝ¿_NīCȽĿåB¥¢·IŖÕy\\¹kxãČ×GDyäÁçFQ¡KtŵƋ]CgÏAùSedcÚźuYfyMmhUWpSyGwMPqŀÁ¼zK¶GY§Ë@´śÇµƕBm@IogZ¯uTMx}CVKï{éƵP_K«pÛÙqċtkkù]gTğwoɁsMõ³ăAN£MRkmEÊčÛbMjÝGu
IZGPģãħE[iµBEuDPÔ~ª¼ęt]ûG§¡QMsğNPŏįzs£Ug{đJĿļā³]ç«Qr~¥CƎÑ^n¶ÆéÎR~Ż¸YI] PumŝrƿIā[xedzL¯v¯s¬ÁY
~}
ťuŁgƋpÝĄ_ņī¶ÏSR´ÁP~¿Cyċßdwk´SsX|t`Ä ÈðAªìÎT°¦Dda^lĎDĶÚY°`ĪŴǒàŠv\\ebZHŖR¬ŢƱùęOÑM³FÛWp[',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
encodeOffsets: [
|
||||||
|
[[123806, 39303]],
|
||||||
|
[[123821, 39266]],
|
||||||
|
[[123742, 39256]],
|
||||||
|
[[123702, 39203]],
|
||||||
|
[[123649, 39066]],
|
||||||
|
[[123847, 38933]],
|
||||||
|
[[123580, 38839]],
|
||||||
|
[[123894, 37288]],
|
||||||
|
[[123043, 36624]],
|
||||||
|
[[123344, 38676]],
|
||||||
|
[[123522, 38857]],
|
||||||
|
[[123628, 38858]],
|
||||||
|
[[118260, 36742]],
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '410000',
|
||||||
|
properties: {
|
||||||
|
id: '410000',
|
||||||
|
cp: [113.665412, 33.757975],
|
||||||
|
name: '河南',
|
||||||
|
childNum: 1,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'Polygon',
|
||||||
|
coordinates: [
|
||||||
|
'@@ýLùµP³swIÓxcŢĞð´E®ÚPtĴXØx¶@«ŕŕQGYfa[şußǩđš_X³ijÕčC]kbc¥CS¯ëÍB©÷³Si_}mYTt³xlàcČzÀD}ÂOQ³ÐTĨ¯ƗòËŖ[hłŦv~}ÂZ«¤lPÇ£ªÝŴÅR§ØnhctâknÏľŹUÓÝdKuķI§oTũÙďkęĆH¸Ó\\Ä¿PcnS{wBIvÉĽ[GqµuŇôYgûZca©@½Õǽys¯}lgg@C\\£asIdÍuCQñ[L±ęk·ţb¨©kK»KC²òGKmĨS`UQnk}AGēsqaJ¥ĐGRĎpCuÌy ã iMcplk|tRkðev~^´¦ÜSí¿_iyjI|ȑ|¿_»d}q^{Ƈdă}tqµ`Ƴĕg}V¡om½faÇo³TTj¥tĠRyK{ùÓjuµ{t}uËRivGçJFjµÍyqÎàQÂFewixGw½Yŷpµú³XU½ġyłåkÚwZX·l¢Á¢KzOÎÎjc¼htoDHr
|J½}JZ_¯iPq{tę½ĕ¦Zpĵø«kQ
Ť]MÛfaQpě±ǽ¾]uFu÷nčįADp}AjmcEÇaª³o³ÆÍSƇĈÙDIzËčľ^KLiÞñ[aA²zzÌ÷D|[íijgfÕÞd®|`Ć~oĠƑô³ŊD×°¯CsøÀ«ìUMhTº¨¸ǡîSÔDruÂÇZÖEvPZW~ØÐtĄE¢¦Ðy¸bô´oŬ¬²Ês~]®tªapŎJ¨Öº_Ŕ`Ŗ^Đ\\Ĝu~m²Ƹ¸fWĦrƔ}Î^gjdfÔ¡J}\\n C¦þWxªJRÔŠu¬ĨĨmFdM{\\d\\YÊ¢ú@@¦ª²SÜsC}fNècbpRmlØ^gd¢aÒ¢CZZxvƶN¿¢T@uC¬^ĊðÄn|lGlRjsp¢ED}Fio~ÔN~zkĘHVsDzßjŬŢ`Pûàl¢\\ÀEhİgÞē X¼Pk|m',
|
||||||
|
],
|
||||||
|
encodeOffsets: [[118256, 37017]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '420000',
|
||||||
|
properties: {
|
||||||
|
id: '420000',
|
||||||
|
cp: [113.298572, 30.684355],
|
||||||
|
name: '湖北',
|
||||||
|
childNum: 3,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'MultiPolygon',
|
||||||
|
coordinates: [
|
||||||
|
['@@AB'],
|
||||||
|
['@@lskt'],
|
||||||
|
[
|
||||||
|
'@@¾«}{ra®pîÃ\\{øCËyyB±b\\òÝjKL ]ĎĽÌJyÚCƈćÎT´Å´pb©ÈdFin~BCo°BĎÃømv®E^vǾ½Ĝ²RobÜeN^ĺ£R¬lĶ÷YoĖ¥Ě¾|sOr°jY`~I¾®I{GqpCgyl{£ÍÍyPL¡¡¸kWxYlÙæŁĢz¾V´W¶ùŸo¾ZHxjwfxGNÁ³Xéæl¶EièIH ujÌQ~v|sv¶Ôi|ú¢FhQsğ¦SiŠBgÐE^ÁÐ{čnOÂÈUÎóĔÊēIJ}Z³½Mŧïeyp·uk³DsѨL¶_Åuèw»¡WqÜ]\\Ò§tƗcÕ¸ÕFÏǝĉăxŻČƟOKÉġÿ×wg÷IÅzCg]m«ªGeçÃTC«[t§{loWeC@ps_Bprf_``Z|ei¡oċMqow¹DƝÓDYpûsYkıǃ}s¥ç³[§cY§HK«Qy]¢wwö¸ïx¼ņ¾Xv®ÇÀµRĠÐHM±cÏdƒǍũȅȷ±DSyúĝ£ŤĀàtÖÿï[îb\\}pĭÉI±Ñy
¿³x¯No|¹HÏÛmjúË~TuęjCöAwě¬Rđl¯ ÑbŇTĿ_[IčĄʿnM¦ğ\\É[T·k¹©oĕ@A¾wya¥Y\\¥Âaz¯ãÁ¡k¥ne£ÛwE©Êō¶˓uoj_U¡cF¹[WvP©whuÕyBF`RqJUw\\i¡{jEPïÿ½fć
QÑÀQ{°fLÔ~wXgītêݾĺHd³fJd]HJ²
EoU¥HhwQsƐ»Xmg±çve]DmÍPoCc¾_hhøYrŊU¶eD°Č_N~øĹĚ·`z]Äþp¼
äÌQv\\rCé¾TnkžŐÚÜa¼ÝƆĢ¶Ûo
d
ĔňТJqPb ¾|J¾fXƐîĨ_Z¯À}úƲN_ĒÄ^ĈaŐyp»CÇÄKñL³ġM²wrIÒŭxjb[n«øæà ^²h¯ÚŐªÞ¸Y²ĒVø}Ā^İ´LÚm¥ÀJÞ{JVųÞŃx×sxxƈē ģMřÚðòIfĊŒ\\Ʈ±ŒdʧĘDvČ_Àæ~Dċ´A®µ¨ØLV¦êHÒ¤',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
encodeOffsets: [[[113712, 34e3]], [[115612, 30507]], [[113649, 34054]]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '430000',
|
||||||
|
properties: {
|
||||||
|
id: '430000',
|
||||||
|
cp: [111.782279, 28.09409],
|
||||||
|
name: '湖南',
|
||||||
|
childNum: 3,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'MultiPolygon',
|
||||||
|
coordinates: [
|
||||||
|
['@@nFTs'],
|
||||||
|
['@@ßÅÆá½ÔXrCO
ËRïÿĩTooQyÓ[ŅBE¬ÎÓXaį§Ã¸G °ITxpúxÚij¥ÏĢ¾edÄ©ĸG
àGhM¤Â_U}Ċ}¢pczfþg¤ÇòAVM'],
|
||||||
|
[
|
||||||
|
'@@©KA·³CQ±Á«³BUƑ¹AtćOwD]JiØSm¯b£ylX
HËѱH«C^õľAŧ¤É¥ïyuǙuA¢^{ÌC´¦ŷJ£^[ª¿ĕ~Ƈ
N
skóā¹¿ï]ă~÷O§@Vm¡Qđ¦¢Ĥ{ºjÔª¥nf´~Õo×ÛąMąıuZmZcÒ IJĪ²SÊDŽŶ¨ƚCÖŎªQؼrŭ«}NÏürʬmjr@ĘrTW SsdHzƓ^ÇÂyUi¯DÅYlŹu{hT}mĉ¹¥ěDÿë©ıÓ[Oº£¥ótł¹MÕƪ`P
DiÛU¾ÅâìUñBÈ£ýhedy¡oċ`pfmjP~kZa
ZsÐd°wj§@Ĵ®w~^kÀÅKvNmX\\¨aŃqvíó¿F¤¡@ũÑVw}S@j}¾«pĂrªg àÀ²NJ¶¶Dô
K|^ª°LX¾ŴäPĪ±£EXd^¶IJÞÜ~u¸ǔMRhsR
e`ÄofIÔ\\Ø ićymnú¨cj ¢»GČìƊÿШXeĈĀ¾Oð Fi ¢|[jVxrIQ_EzAN¦zLU`cªxOTu RLÄ¢dVi`p˔vŎµªÉF~Ød¢ºgİàw¸Áb[¦Zb¦z½xBĖ@ªpºlS¸Ö\\Ĕ[N¥ˀmĎăJ\\ŀ`
ňSÚĖÁĐiOĜ«BxDõĚivSÌ}iùÜnкG{p°M´wÀÒzJ²ò¨ oTçüöoÛÿñőФùTz²CȆȸǎŪƑÐc°dPÎğ˶[Ƚu¯½WM¡ÉB·rínZÒ `¨GA¾\\pēXhÃRCüWGġu
Té§ŎÑ©ò³I±³}_EÃħg®ęisÁPDmÅ{b[RÅs·kPŽƥóRoOV~]{g\\êYƪ¦kÝbiċƵGZ»Ěõ
ó·³vŝ£ø@pyö_ëIkѵbcѧy
×dYتiþ¨[]f]Ņ©C}ÁN»hĻħƏĩ',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
encodeOffsets: [[[115640, 30489]], [[112543, 27312]], [[116690, 26230]]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '440000',
|
||||||
|
properties: {
|
||||||
|
id: '440000',
|
||||||
|
cp: [113.280637, 23.125178],
|
||||||
|
name: '广东',
|
||||||
|
childNum: 24,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'MultiPolygon',
|
||||||
|
coordinates: [
|
||||||
|
['@@QdAua'],
|
||||||
|
['@@lxDLo'],
|
||||||
|
['@@sbhNLo'],
|
||||||
|
['@@Ă ā'],
|
||||||
|
['@@WltO[['],
|
||||||
|
['@@Kr]S'],
|
||||||
|
['@@eI]y'],
|
||||||
|
['@@I|Mym'],
|
||||||
|
['@@Û³LS¼Y'],
|
||||||
|
['@@nvºBëui©`¾'],
|
||||||
|
['@@zdÛJw®'],
|
||||||
|
['@@°
¯'],
|
||||||
|
['@@a yAª¸ËJIxØ@ĀHAmÃV¡ofuo'],
|
||||||
|
['@@sŗÃÔėAƁZÄ ~°ČPäh'],
|
||||||
|
['@@¶ÝÌvmĞhıQ'],
|
||||||
|
['@@HdSjĒ¢D}war
u«ZqadYM'],
|
||||||
|
['@@el\\LqqU'],
|
||||||
|
['@@~rMo\\'],
|
||||||
|
['@@f^C'],
|
||||||
|
['@@øPªoj÷ÍÝħXČx°Q¨ıXNv'],
|
||||||
|
['@@gÇƳo[~tly'],
|
||||||
|
['@@EÆC¿'],
|
||||||
|
['@@OP'],
|
||||||
|
[
|
||||||
|
'@@wđógĝ[³¡VÙæÅöM̳¹pÁaËýý©D©ÜJŹƕģGą¤{Ùū
ÇO²«BƱéAÒĥ¡«BhlmtÃPµyU¯ucd·w_bŝcīímGO|KPȏŹãŝIŕŭŕ@Óoo¿ē±ß}
ŭIJWÈCőâUâǙIğʼn©IijE×
Á³AówXJþ±ÌÜÓĨ£L]ĈÙƺZǾĆĖMĸĤfÎĵlŨnÈĐtFFĤêk¶^k°f¶g}®Faf`vXŲxl¦ÔÁ²¬Ð¦pqÊ̲iXØRDÎ}Ä@ZĠsx®AR~®ETtĄZƈfŠŠHâÒÐAµ\\S¸^wĖkRzalŜ|E¨ÈNĀňZTpBh£\\ĎƀuXĖtKL¶G|»ĺEļĞ~ÜĢÛĊrOÙîvd]n¬VÊĜ°RÖpMƂªFbwEÀ©\\
¤]ŸI®¥D³|Ë]CöAŤ¦
æ´¥¸Lv¼¢ĽBaôF~®²GÌÒEYzk¤°ahlVÕI^CxĈPsBƒºV¸@¾ªR²ĨN]´_eavSivc}p}Đ¼ƌkJÚe th_¸ ºx±ò_xN˲@ă¡ßH©Ùñ}wkNÕ¹ÇO½¿£ĕ]ly_WìIǪ`uTÅxYĒÖ¼kÖµMjJÚwn\\hĒv]îh|ÈƄøèg¸Ķß ĉĈWb¹ƀdéĘNTtP[öSvrCZaGubo´ŖÒÇĐ~¡zCI
özx¢PnÈñ @ĥÒ¦]ƞV}³ăĔñiiÄÓVépKG½ÄÓávYoC·sitiaÀyŧΡÈYDÑům}ý|m[węõĉZÅxUO}÷N¹³ĉo_qtăqwµŁYÙǝŕ¹tïÛUïmRCº
ĭ|µÕÊK½Rē ó]GªęAx»HO£|ām¡diď×YïYWªʼnOeÚtĐ«zđ¹T
āúEá²\\ķÍ}jYàÙÆſ¿Çdğ·ùTßÇţʄ¡XgWÀLJğ·¿ÃOj YÇ÷Qěi',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
encodeOffsets: [
|
||||||
|
[[117381, 22988]],
|
||||||
|
[[116552, 22934]],
|
||||||
|
[[116790, 22617]],
|
||||||
|
[[116973, 22545]],
|
||||||
|
[[116444, 22536]],
|
||||||
|
[[116931, 22515]],
|
||||||
|
[[116496, 22490]],
|
||||||
|
[[116453, 22449]],
|
||||||
|
[[113301, 21439]],
|
||||||
|
[[118726, 21604]],
|
||||||
|
[[118709, 21486]],
|
||||||
|
[[113210, 20816]],
|
||||||
|
[[115482, 22082]],
|
||||||
|
[[113171, 21585]],
|
||||||
|
[[113199, 21590]],
|
||||||
|
[[115232, 22102]],
|
||||||
|
[[115739, 22373]],
|
||||||
|
[[115134, 22184]],
|
||||||
|
[[113056, 21175]],
|
||||||
|
[[119573, 21271]],
|
||||||
|
[[119957, 24020]],
|
||||||
|
[[115859, 22356]],
|
||||||
|
[[116561, 22649]],
|
||||||
|
[[116285, 22746]],
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '450000',
|
||||||
|
properties: {
|
||||||
|
id: '450000',
|
||||||
|
cp: [108.320004, 22.82402],
|
||||||
|
name: '广西',
|
||||||
|
childNum: 2,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'MultiPolygon',
|
||||||
|
coordinates: [
|
||||||
|
['@@H TQ§A'],
|
||||||
|
[
|
||||||
|
'@@ĨʪLƊDÎĹĐCǦė¸zÚGn£¾rªŀÜt¬@ÖÚSx~øOŒŶÐÂæȠ\\ÈÜObĖw^oÞLf¬°bI lTØBÌF£Ć¹gñĤaYt¿¤VSñK¸¤nM¼JE±½¸ñoÜCƆæĪ^ĚQÖ¦^f´QüÜÊz¯lzUĺš@ìp¶n]sxtx¶@~ÒĂJb©gk{°~c°`Ô¬rV\\la¼¤ôá`¯¹LCÆbxEræOv[H[~|aB£ÖsºdAĐzNÂðsÞÆ
Ĥªbab`ho¡³F«èVlo¤ÔRzpp®SĪº¨ÖºN
ijd`a¦¤F³ºDÎńĀìCĜº¦Ċ~nS|gźvZkCÆj°zVÈÁƔ]LÊFZg
čPkini«qÇczÍY®¬Ů»qR×ō©DÕ§ƙǃŵTÉĩ±ıdÑnYYIJvNĆĆØÜ Öp}e³¦m©iÓ|¹ħņ|ª¦QF¢Â¬ʖovg¿em^ucà÷gÕuíÙćĝ}FĻ¼Ĺ{µHKsLSđƃrč¤[AgoSŇYMÿ§Ç{FśbkylQxĕ]T·¶[B
ÑÏGáşşƇe
ăYSsFQ}BwtYğÃ@~
CÍQ ×Wj˱rÉ¥oÏ ±«ÓÂ¥kwWűmcih³K~µh¯e]lµélEģEďsmÇŧē`ãògK_ÛsUʝćğ¶höO¤Ǜn³c`¡y¦CezYwa[ďĵűMę§]XÎ_íÛ]éÛUćİÕBƣ±
dy¹T^dûÅÑŦ·PĻþÙ`K¦
¢ÍeĥR¿³£[~äu¼dltW¸oRM¢ď\\z}Æzdvň{ÎXF¶°Â_ÒÂÏL©ÖTmu¼ãlīkiqéfA·Êµ\\őDc¥ÝFyÔćcűH_hLÜêĺШc}rn`½Ì@¸¶ªVLhŒ\\Ţĺk~Ġið°|gtTĭĸ^xvKVGréAébUuMJVÃO¡
qĂXËSģãlýà_juYÛÒBG^éÖ¶§EGÅzěƯ¤EkN[kdåucé¬dnYpAyČ{`]þ¯TbÜÈk¡ĠvàhÂƄ¢J',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
encodeOffsets: [[[111707, 21520]], [[107619, 25527]]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '460000',
|
||||||
|
properties: {
|
||||||
|
id: '460000',
|
||||||
|
cp: [109.83119, 19.031971],
|
||||||
|
name: '海南',
|
||||||
|
childNum: 1,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'Polygon',
|
||||||
|
coordinates: [
|
||||||
|
'@@¦Ŝil¢XƦƞòïè§ŞCêɕrŧůÇąĻõ·ĉ³œ̅kÇm@ċȧŧĥĽʉƅſȓÒ˦ŝE}ºƑ[ÍĜȋ gÎfǐÏĤ¨êƺ\\Ɔ¸ĠĎvʄȀоjNðĀÒRZdžzÐŘΰH¨Ƣb²_Ġ ',
|
||||||
|
],
|
||||||
|
encodeOffsets: [[112750, 20508]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '510000',
|
||||||
|
properties: {
|
||||||
|
id: '510000',
|
||||||
|
cp: [104.065735, 30.659462],
|
||||||
|
name: '四川',
|
||||||
|
childNum: 2,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'MultiPolygon',
|
||||||
|
coordinates: [
|
||||||
|
['@@LqKr'],
|
||||||
|
[
|
||||||
|
'@@[ĻéV£_ţġñpG réÏ·~ąSfy×Í·ºſƽiÍıƣıĻmHH}siaX@iÇ°ÁÃ×t«T¤JJJyJÈ`Ohߦ¡uËhIyCjmÿw
ZG
TiSsOB²fNmsPa{M{õE^Hj}gYpaeu¯oáwHjÁ½M¡pMuåmni{fk\\oÎqCwEZ¼KĝAy{m÷LwO×SimRI¯rKõBS«sFe]fµ¢óY_ÆPRcue°Cbo×bd£ŌIHgtrnyPt¦foaXďxlBowz_{ÊéWiêEGhܸºuFĈIxf®Y½ĀǙ]¤EyF²ċw¸¿@g¢§RGv»áW`ÃĵJwi]t¥wO½a[×]`ÃiüL¦LabbTÀåc}ÍhÆh®BHî|îºÉk¤Sy£ia©taį·Ɖ`ō¥UhO
ĝLk}©Fos´JmµlŁu
ønÑJWΪYÀïAetTŅÓGË«bo{ıwodƟ½OġܵxàNÖ¾P²§HKv¾]|BÆåoZ`¡Ø`ÀmºĠ~ÌЧnÇ
¿¤]wğ@srğu~Io[é±¹ ¿ſđÓ@qg¹zƱřaí°KtǤV»Ã[ĩǭƑ^ÇÓ@áťsZÏÅĭƋěpwDóÖáŻneQËq·GCœýS]x·ýq³OÕ¶Qzßti{řáÍÇWŝŭñzÇWpç¿JXĩè½cFÂLiVjx}\\NŇĖ¥GeJA¼ÄHfÈu~¸Æ«dE³ÉMA|bÒ
ćhG¬CMõƤąAvüVéŀ_V̳ĐwQj´·ZeÈÁ¨X´Æ¡Qu·»ÕZ³ġqDoy`L¬gdp°şp¦ėìÅĮZ°Iähzĵf²å ĚÑKpIN|Ñz]ń
·FU×é»R³MÉ»GM«kiér}Ã`¹ăÞmÈnÁîRǀ³ĜoİzŔwǶVÚ£À]ɜ»ĆlƂ²Ġ
þTº·àUȞÏʦ¶I«dĽĢdĬ¿»Ĕ×h\\c¬ä²GêëĤł¥ÀǿżÃÆMº}BÕĢyFVvwxBèĻĒ©ĈtCĢɽŠȣ¦āæ·HĽîôNÔ~^¤Ɗu^s¼{TA¼ø°¢İªDè¾Ň¶ÝJ®Z´ğ~Sn|ªWÚ©òzPOȸbð¢|øĞŒQìÛÐ@ĞǎRS¤Á§d
i´ezÝúØã]HqkIþËQǦÃsǤ[E¬ÉŪÍxXƒ·ÖƁİlƞ¹ª¹|XÊwnÆƄmÀêErĒtD®ċæcQE®³^ĭ¥©l}äQtoŖÜqÆkµªÔĻĴ¡@Ċ°B²Èw^^RsºTĀ£ŚæQPJvÄz^Đ¹Æ¯fLà´GC²dtĀRt¼¤ĦOðğfÔðDŨŁĞƘïPÈ®âbMüÀXZ ¸£@Å»»QÉ]dsÖ×_Í_ÌêŮPrĔĐÕGĂeZÜîĘqBhtO ¤tE[h|YÔZśÎs´xº±Uñt|OĩĠºNbgþJy^dÂY Į]Řz¦gC³R`Āz¢Aj¸CL¤RÆ»@Ŏk\\Ç´£YW}z@Z}öoû¶]´^NÒ}èNªPÍy¹`S°´ATeVamdUĐwʄvĮÕ\\uÆŗ¨Yp¹àZÂmWh{á}WØǍÉüwga§áCNęÎ[ĀÕĪgÖɪXøx¬½Ů¦¦[NÎLÜUÖ´òrÙŠxR^JkijnDX{U~ET{ļº¦PZcjF²Ė@pg¨B{u¨ŦyhoÚD®¯¢ WòàFΤ¨GDäz¦kŮPġqË¥À]eâÚ´ªKxīPÖ|æ[xäJÞĥsNÖ½I¬nĨY´®ÐƐmDŝuäđđEb
ee_v¡}ìęNJē}qÉåT¯µRs¡M@}ůaa¯wvƉåZw\\Z{åû^',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
encodeOffsets: [[[108815, 30935]], [[110617, 31811]]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '520000',
|
||||||
|
properties: {
|
||||||
|
id: '520000',
|
||||||
|
cp: [106.713478, 26.578343],
|
||||||
|
name: '贵州',
|
||||||
|
childNum: 3,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'MultiPolygon',
|
||||||
|
coordinates: [
|
||||||
|
['@@G\\lY£in'],
|
||||||
|
['@@q|mc¯tÏVSÎ'],
|
||||||
|
[
|
||||||
|
'@@hÑ£IsNgßHHªķÃh_¹¡ĝħń¦uÙùgS¯JH|sÝÅtÁïyMDč»eÕtA¤{b\\}G®u\\åPFqwÅaD
K°ºâ_£ùbµmÁÛĹM[q|hlaªāI}ѵ@swtwm^oµD鼊yVky°ÉûÛR
³e¥]RÕěħ[ƅåÛDpJiVÂF²I
»mN·£LbÒYbWsÀbpkiTZĄă¶Hq`
ĥ_J¯ae«KpÝx]aĕÛPÇȟ[ÁåŵÏő÷Pw}TÙ@Õs«ĿÛq©½m¤ÙH·yǥĘĉBµĨÕnđ]K©œáG级ÕßgǗĦTèƤƺ{¶ÉHÎd¾ŚÊ·OÐjXWrãLyzÉAL¾ę¢bĶėy_qMĔąro¼hĊw¶øV¤w²Ĉ]ÊKx|`ź¦ÂÈdrcÈbe¸`I¼čTF´¼Óýȃr¹ÍJ©k_șl³´_pĐ`oÒh¶pa^ÓĔ}D»^Xy`d[Kv
JPhèhCrĂĚÂ^Êƌ wZLĠ£ÁbrzOIlMMĪŐžËr×ÎeŦtw|¢mKjSǘňĂStÎŦEtqFT¾E쬬ôxÌO¢ K³ŀºäYPVgŎ¦Ŋm޼VZwVlz¤
£Tl®ctĽÚó{GAÇge~Îd¿æaSba¥KKûj®_Ä^\\ؾbP®¦x^sxjĶI_Ä Xâ¼Hu¨Qh¡À@Ëô}±GNìĎlT¸
`V~R°tbÕĊ`¸úÛtÏFDu[MfqGH·¥yAztMFe|R_GkChZeÚ°tov`xbDnÐ{E}ZèxNEÞREn[Pv@{~rĆAB§EO¿|UZ~ìUf¨J²ĂÝÆsªB`s¶fvö¦Õ~dÔq¨¸º»uù[[§´sb¤¢zþF¢Æ
ÀhÂW\\ıËIÝo±ĭŠ£þÊs}¡R]ěDg´VG¢j±®èºÃmpU[Á뺰rÜbNu¸}º¼`niºÔXĄ¤¼ÔdaµÁ_Ã
ftQQgR·Ǔv}Ý×ĵ]µWc¤F²OĩųãW½¯K©
]{LóµCIµ±Mß¿h©āq¬o½~@i~TUxŪÒ¢@£ÀEîôruńb[§nWuMÆLl¿]x}ij½',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
encodeOffsets: [[[112158, 27383]], [[112105, 27474]], [[112095, 27476]]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '530000',
|
||||||
|
properties: {
|
||||||
|
id: '530000',
|
||||||
|
cp: [101.512251, 24.740609],
|
||||||
|
name: '云南',
|
||||||
|
childNum: 1,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'Polygon',
|
||||||
|
coordinates: [
|
||||||
|
'@@[ùx½}ÑRHYīĺûsÍniEoã½Ya²ė{c¬ĝgĂsAØÅwďõzFjw}«Dx¿}Uũlê@HÅF¨ÇoJ´Ónũuą¡Ã¢pÒÅØ TF²xa²ËXcÊlHîAßËŁkŻƑŷÉ©hWæßUËs¡¦}teèƶStÇÇ}Fd£jĈZĆƤTč\\D}O÷£U§~ŃGåŃDĝ¸Tsd¶¶Bª¤u¢ŌĎo~t¾ÍŶÒtD¦ÚiôözØX²ghįh½Û±¯ÿm·zR¦Ɵ`ªŊÃh¢rOÔ´£Ym¼èêf¯ŪĽncÚbw\\zlvWªâ ¦gmĿBĹ£¢ƹřbĥkǫßeeZkÙIKueT»sVesbaĕ ¶®dNĄÄpªy¼³BE®lGŭCǶwêżĔÂepÍÀQƞpC¼ŲÈAÎô¶RäQ^Øu¬°_Èôc´¹ò¨P΢hlϦ´ĦÆ´sâÇŲPnÊD^¯°Upv}®BP̪jǬxSöwlfòªvqĸ|`HviļndĜĆhňem·FyÞqóSį¯³X_ĞçêtryvL¤§z¦c¦¥jnŞklD¤øz½ĜàĂŧMÅ|áƆàÊcðÂFÜáŢ¥\\\\ºİøÒÐJĴîD¦zK²ǏÎEh~CDhMn^ÌöÄ©ČZÀaüfɭyœpį´ěFűk]Ôě¢qlÅĆÙa¶~ÄqêljN¬¼HÊNQ´ê¼VظE^ŃÒyM{JLoÒęæe±Ķygã¯JYÆĭĘëo¥Šo¯hcK«z_prC´ĢÖY¼ v¸¢RÅW³Â§fǸYi³xR´ďUË`êĿUûuĆBƣöNDH«ĈgÑaB{ÊNF´¬c·Åv}eÇÃGB»If¦HňĕM
~[iwjUÁKE¾dĪçWIèÀoÈXòyŞŮÈXâÎŚj|àsRyµÖPr´þ ¸^wþTDŔHr¸RÌmfżÕâCôoxĜƌÆĮÐYtâŦÔ@]ÈǮƒ\\Ī¼Ä£UsȯLbîƲŚºyhr@ĒÔƀÀ²º\\êpJ}ĠvqtĠ@^xÀ£È¨mËÏğ}n¹_¿¢×Y_æpÅA^{½Lu¨GO±Õ½ßM¶wÁĢÛPƢ¼pcIJx|ap̬HÐŊSfsðBZ¿©XÏÒKk÷Eû¿S
rEFsÕūkóVǥʼniTL¡n{uxţÏhôŝ¬ğōNNJkyPaqÂğ¤K®YxÉƋÁ]āęDqçgOgILu\\_gz]W¼~CÔē]bµogpÑ_oď`´³Țkl`IªºÎȄqÔþ»E³ĎSJ»_f·adÇqÇc¥Á_Źw{L^ɱćxU£µ÷xgĉp»ĆqNē`rĘzaĵĚ¡K½ÊBzyäKXqiWPÏɸ½řÍcÊG|µƕƣGË÷k°_^ý|_zċBZocmø¯hhcæ\\lMFlư£ĜÆyHF¨µêÕ]HA
àÓ^it `þßäkĤÎT~Wlÿ¨ÔPzUCNVv [jâôDôď[}z¿msSh¯{jïğl}šĹ[őgK©U·µË@¾m_~q¡f¹
ÅË^»f³ø}Q¡Ö˳gͱ^Ç
\\ëÃA_¿bWÏ[¶ƛé£F{īZgm@|kHǭƁć¦UĔť×ë}ǝeďºȡȘÏíBÉ£āĘPªij¶ʼnÿy©nď£G¹¡I±LÉĺÑdĉÜW¥}gÁ{aqÃ¥aıęÏZï`',
|
||||||
|
],
|
||||||
|
encodeOffsets: [[104636, 22969]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '540000',
|
||||||
|
properties: {
|
||||||
|
id: '540000',
|
||||||
|
cp: [89.132212, 30.860361],
|
||||||
|
name: '西藏',
|
||||||
|
childNum: 1,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'Polygon',
|
||||||
|
coordinates: [
|
||||||
|
'@@ÂhľxŖxÒVºÅâAĪÝȆµę¯Ňa±r_w~uSÕňqOj]ɄQ
£Z
UDûoY»©M[L¼qãË{VÍçWVi]ë©Ä÷àyƛhÚU°adcQ~Mx¥cc¡ÙaSyFÖkuRýq¿ÔµQĽ³aG{¿FµëªéĜÿª@¬·K·àariĕĀ«V»ŶĴūgèLǴŇƶaftèBŚ£^âǐÝ®M¦ÁǞÿ¬LhJ¾óƾƺcxwf]Y
´¦|QLn°adĊ
\\¨oǀÍŎ´ĩĀd`tÊQŞŕ|¨C^©Ĉ¦¦ÎJĊ{ëĎjª²rÐl`¼Ą[t|¦Stè¾PÜK¸dƄı]s¤î_v¹ÎVòŦj£Əsc¬_Ğ´|Ł¦Av¦w`ăaÝaa¢e¤ı²©ªSªÈMĄwÉØŔì@T¤Ę\\õª@þo´xA sÂtŎKzó´ÇĊµ¢r^nĊƬ×üG¢³ {âĊ]G~bÀgVjzlhǶfOfdªB]pjTOtĊn¤}®¦Č¥d¢¼»ddY¼t¢eȤJ¤}Ǿ¡°§¤AÐlc@ĝsªćļđAçwxUuzEÖġ~AN¹ÄÅȀŻ¦¿ģŁéì±H
ãd«g[ؼēÀcīľġ¬cJµ
ÐʥVȝ¸ßS¹ý±ğkƁ¼ą^ɛ¤Ûÿb[}¬ōõÃ]ËNm®g@Bg}ÍF±ǐyL¥íCIijÏ÷Ñį[¹¦[âšEÛïÁÉdƅß{âNÆāŨß¾ě÷yC£k´ÓH@¹TZ¥¢į·ÌAЧ®Zc
v½Z¹|ÅWZqgW|ieZÅYVÓqdqbc²R@c¥Rã»GeeƃīQ}J[ÒK
¬Ə|oėjġĠÑN¡ð¯EBčnwôɍėª²CλŹġǝʅįĭạ̃ūȹ]ΓͧgšsgȽóϧµǛęgſ¶ҍć`ĘąŌJÞä¤rÅň¥ÖÁUětęuůÞiĊÄÀ\\Æs¦ÓRb|Â^řÌkÄŷ¶½÷f±iMÝ@ĥ°G¬ÃM¥n£Øąğ¯ß§aëbéüÑOčk£{\\eµª×MÉfm«Ƒ{Å×Gŏǩãy³©WÑăû··Qòı}¯ãIéÕÂZ¨īès¶ZÈsæĔTŘvgÌsN@îá¾ó@ÙwU±ÉT廣TđWxq¹Zobs[ׯcĩvėŧ³BM|¹kªħ¥TzNYnÝßpęrñĠĉRS~½ěVVµõ«M££µBĉ¥áºae~³AuĐh`ܳç@BÛïĿa©|z²Ý¼D£àč²ŸIûI āóK¥}rÝ_Á´éMaň¨~ªSĈ½½KÙóĿeƃÆB·¬ën×W|Uº}LJrƳlŒµ`bÔ`QÐÓ@s¬ñIÍ@ûws¡åQÑßÁ`ŋĴ{ĪTÚÅTSijYo|Ç[ǾµMW¢ĭiÕØ¿@Mh
pÕ]jéò¿OƇĆƇpêĉâlØwěsǩĵ¸c
bU¹ř¨WavquSMzeo_^gsÏ·¥Ó@~¯¿RiīB\\qTGªÇĜçPoÿfñòą¦óQīÈáPābß{ZŗĸIæÅhnszÁCËìñÏ·ąĚÝUm®óL·ăUÈíoù´Êj°ŁŤ_uµ^°ìÇ@tĶĒ¡ÆM³Ģ«İĨÅ®ğRāðggheÆ¢zÊ©Ô\\°ÝĎz~ź¤PnMĪÖB£kn駿ćĆKĒ°¼L¶èâz¨u¦¥LDĘz¬ýÎmĘd¾ßFzhg²Fy¦ĝ¤ċņbÎ@yĄæm°NĮZRÖíJ²öLĸÒ¨Y®ƌÐVàtt_ÚÂyĠz]ŢhzĎ{ÂĢXc|ÐqfO¢¤ögÌHNPKŖUú´xx[xvĐCûĀìÖT¬¸^}Ìsòd´_KgžLĴ
ÀBon|H@Êx¦BpŰŌ¿fµƌA¾zLjRx¶FkĄźRzŀ~¶[´HnªVƞuĒȨƎcƽÌm¸ÁÈM¦x͊ëÀxdžBú^´W£dkɾĬpw˂ØɦļĬIŚÊnŔa¸~J°îlɌxĤÊÈðhÌ®gT´øàCÀ^ªerrƘd¢İP|Ė ŸWªĦ^¶´ÂLaT±üWƜǀRÂŶUńĖ[QhlLüAÜ\\qRĄ©',
|
||||||
|
],
|
||||||
|
encodeOffsets: [[90849, 37210]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '610000',
|
||||||
|
properties: {
|
||||||
|
id: '610000',
|
||||||
|
cp: [108.948024, 34.263161],
|
||||||
|
name: '陕西',
|
||||||
|
childNum: 1,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'Polygon',
|
||||||
|
coordinates: [
|
||||||
|
'@@p¢ȮµûGĦ}Ħðǚ¶òƄjɂz°{ºØkÈęâ¦jªBg\\ċ°s¬]jú EȌdž¬stRÆdĠİwܸôW¾ƮłÒ_{Ìû¼jº¹¢GǪÒ¯ĘZ`ºŊecņą~BÂgzpâēòYǠȰÌTΨÂW|fcă§uF@N¢XLRMº[ğȣſï|¥Jkc`sʼnǷY¹W@µ÷K
ãï³ÛIcñ·VȋÚÒķø©þ¥yÓğęmWµÎumZyOŅƟĥÓ~sÑL¤µaÅ
Y¦ocyZ{y c]{Ta©`U_Ěē£ωÊƍKùK¶ȱÝƷ§{û»ÅÁȹÍéuij|¹cÑdìUYOuFÕÈYvÁCqÓTǢí§·S¹NgV¬ë÷Át°DدC´ʼnƒópģ}ċcEË
FéGU¥×K
§¶³BČ}C¿åċ`wġB·¤őcƭ²ő[Å^axwQO
ÿEËߌĤNĔwƇÄńwĪo[_KÓª³ÙnKÇěÿ]ďă_d©·©Ýŏ°Ù®g]±ßå¬÷m\\iaǑkěX{¢|ZKlçhLtŇîŵœè[É@ƉĄEtƇϳħZ«mJ
×¾MtÝĦ£IwÄå\\Õ{OwĬ©LÙ³ÙgBƕŀrÌĢŭO¥lãyC§HÍ£ßEñX¡°ÙCgpťzb`wIvA|§hoĕ@E±iYd¥OĻ¹S|}F@¾oAO²{tfÜ¢FǂÒW²°BĤh^Wx{@¬F¸¡ķn£P|ªĴ@^ĠĈæbÔc¶lYi
^MicĎ°Â[ävï¶gv@ÀĬ·lJ¸sn|¼u~a]ÆÈtŌºJpþ£KKf~¦UbyäIĺãnÔ¿^ŵMThĠܤko¼Ŏìąǜh`[tRd²IJ_XPrɲlXiL§à¹H°Ȧqº®QCbAŌJ¸ĕÚ³ĺ§ `d¨YjiZvRĺ±öVKkjGȊÄePĞZmļKÀ[`ösìhïÎoĬdtKÞ{¬èÒÒBÔpIJÇĬJŊ¦±J«Y§@·pHµàåVKepWftsAÅqC·¬ko«pHÆuK@oHĆÛķhxenS³àǍrqƶRbzy¸ËÐl¼EºpĤ¼x¼½~Ğà@ÚüdK^mÌSj',
|
||||||
|
],
|
||||||
|
encodeOffsets: [[110234, 38774]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '620000',
|
||||||
|
properties: {
|
||||||
|
id: '620000',
|
||||||
|
cp: [103.823557, 36.058039],
|
||||||
|
name: '甘肃',
|
||||||
|
childNum: 2,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'MultiPolygon',
|
||||||
|
coordinates: [
|
||||||
|
['@@VuUv'],
|
||||||
|
[
|
||||||
|
'@@ũEĠtt~nkh`Q¦ÅÄÜdwAb×ĠąJ¤DüègĺqBqj°lI¡ĨÒ¤úSHbjÎB°aZ¢KJO[|A£Dx}NìHUnrk kp¼Y kMJn[aGáÚÏ[½rc}aQxOgsPMnUsncZ
sKúvAtÞġ£®ĀYKdnFw¢JE°Latf`¼h¬we|Æbj}GA·~W`¢MC¤tL©IJ°qdfObÞĬ¹ttu`^ZúE`[@Æsîz®¡CƳƜG²R¢RmfwĸgÜą G@pzJM½mhVy¸uÈÔO±¨{LfæU¶ßGĂq\\ª¬²I¥IʼnÈīoıÓÑAçÑ|«LÝcspīðÍg
të_õ\\ĉñLYnĝgRǡÁiHLlõUĹ²uQjYi§Z_c¨´ĹĖÙ·ŋI
aBDR¹ȥr¯GºßK¨jWkɱOqWij\\aQ\\sg_ĆǛōëp»£lğÛgSŶN®À]ÓämĹãJaz¥V}Le¤Lýo¹IsŋÅÇ^bz
³tmEÁ´a¹cčecÇNĊãÁ\\č¯dNj]jZµkÓdaćå]ğij@ ©O{¤ĸm¢E·®«|@Xwg]Aģ±¯XǁÑdzªcwQÚŝñsÕ³ÛV_ý¥\\ů¥©¾÷w©WÕÊĩhÿÖÁRo¸V¬âDb¨hûxÊ×nj~Zâg|XÁnßYoº§ZÅŘv[ĭÖʃuďxcVbnUSf
B¯³_TzºÎO©çMÑ~M³]µ^püµÄY~y@X~¤Z³[Èōl@®Å¼£QK·Di¡ByÿQ_´D¥hŗy^ĭÁZ]cIzýah¹MĪğPs{ò²Vw¹t³ŜË[Ñ}X\\gsF£sPAgěp×ëfYHāďÖqēŭOÏëdLü\\it^c®Rʺ¶¢H°mrY£B¹čIoľu¶uI]vģSQ{UŻÅ}QÂ|Ì°ƅ¤ĩŪU ęĄÌZÒ\\v²PĔ»ƢNHĂyAmƂwVm`]ÈbH`Ì¢²ILvĜH®¤Dlt_¢JJÄämèÔDëþgºƫaʎÌrêYi~ ÎݤNpÀA¾Ĕ¼b
ð÷®üszMzÖĖQdȨýv§Tè|ªHþa¸|Ð ƒwKĢx¦ivr^ÿ ¸l öæfƟĴ·PJv}n\\h¹¶v·À|\\ƁĚN´ĜçèÁz]ġ¤²¨QÒŨTIlªťØ}¼˗ƦvÄùØE«FïËIqōTvāÜŏíÛßÛVj³âwGăÂíNOPìyV³ʼnĖýZso§HÑiYw[ß\\X¦¥c]ÔƩÜ·«jÐqvÁ¦m^ċ±R¦ƈťĚgÀ»IïĨʗƮ°ƝĻþÍAƉſ±tÍEÕÞāNUÍ¡\\ſčåÒʻĘm ƭÌŹöʥëQ¤µÇcƕªoIýIÉ_mkl³ăƓ¦j¡YzŇi}Msßõīʋ }ÁVm_[n}eıUĥ¼ªI{ΧDÓƻėojqYhĹT©oūĶ£]ďxĩǑMĝq`B´ƃ˺Чç~²ņj@¥@đ´ί}ĥtPńǾV¬ufÓÉCtÓ̻
¹£G³]ƖƾŎĪŪĘ̖¨ʈĢƂlɘ۪üºňUðǜȢƢż̌ȦǼĤŊɲĖÂKq´ï¦ºĒDzņɾªǀÞĈĂD½ĄĎÌŗĞrôñnN¼â¾ʄľԆ|DŽ֦ज़ȗlj̘̭ɺƅêgV̍ʆĠ·ÌĊv|ýĖÕWĊǎÞ´õ¼cÒÒBĢ͢UĜð͒s¨ňƃLĉÕÝ@ɛƯ÷¿ĽĹeȏijëCȚDŲyê×Ŗyò¯ļcÂßY
tÁƤyAã˾J@ǝrý@¤
rz¸oP¹ɐÚyáHĀ[Jw
cVeȴÏ»ÈĖ}ƒŰŐèȭǢόĀƪÈŶë;Ñ̆ȤМľĮEŔĹŊũ~ËUă{ĻƹɁύȩþĽvĽƓÉ@ēĽɲßǐƫʾǗĒpäWÐxnsÀ^ƆwW©¦cÅ¡Ji§vúF¶¨c~c¼īeXǚ\\đ¾JwÀďksãAfÕ¦L}waoZD½Ml«]eÒÅaɲáo½FõÛ]ĻÒ¡wYR£¢rvÓ®y®LFLzĈôe]gx}|KK}xklL]c¦£fRtív¦PĤoH{tK',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
encodeOffsets: [[[108619, 36299]], [[108589, 36341]]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '630000',
|
||||||
|
properties: {
|
||||||
|
id: '630000',
|
||||||
|
cp: [96.778916, 35.623178],
|
||||||
|
name: '青海',
|
||||||
|
childNum: 2,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'MultiPolygon',
|
||||||
|
coordinates: [
|
||||||
|
['@@InJm'],
|
||||||
|
[
|
||||||
|
'@@CƽOŃĦsΰ~Ē³¦@@Ņi±è}ШƄ˹A³r_ĞǒNĪĐw¤^ŬĵªpĺSZgrpiƼĘÔ¨C|ÍJ©Ħ»®VIJ~f\\m `UnÂ~ʌĬàöNt~ňjy¢ZiƔ¥Ąk´nl`JÊJþ©pdƖ®È£¶ìRʦźõƮËnʼėæÑƀĎ[¢VÎĂMÖÝÎF²sƊƀÎBļýƞ¯ʘƭðħ¼Jh¿ŦęΌƇ¥²Q]Č¥nuÂÏri¸¬ƪÛ^Ó¦d¥[Wà
x\\ZjÒ¨GtpþYŊĕ´zUOëPîMĄÁxH´áiÜUàîÜŐĂÛSuŎrJð̬EFÁú×uÃÎkrĒ{V}İ«O_ÌËĬ©ÓŧSRѱ§Ģ£^ÂyèçěM³Ƃę{[¸¿u
ºµ[gt£¸OƤĿéYõ·kĀq]juw¥DĩƍõÇPéĽG©ã¤G
uȧþRcÕĕNyyûtøï»a½ē¿BMoį£Íj}éZËqbʍƬh¹ìÿÓAçãnIáI`ks£CGěUy×Cy
@¶ʡÊBnāzGơMē¼±O÷õJËĚăVĪũƆ£¯{ËL½ÌzżVR|ĠTbuvJvµhĻĖHAëáa
OÇðñęNw
œľ·LmI±íĠĩPÉ×®ÿscB³±JKßĊ«`
ađ»·QAmOVţéÿ¤¹SQt]]Çx±¯A@ĉij¢Óļ©l¶ÅÛrŕspãRk~¦ª]Į´FRådČsCqđéFn¿ÅƃmÉx{W©ºƝºįkÕƂƑ¸wWūЩÈF£\\tÈ¥ÄRÈýÌJ lGr^×äùyÞ³fjc¨£ÂZ|ǓMĝÏ@ëÜőRĝ÷¡{aïȷPu°ËXÙ{©TmĠ}Y³ÞIňµç½©C¡į÷¯B»|St»]vųs»}MÓ ÿʪƟǭA¡fs»PY¼c¡»¦cċ¥£~msĉPSi^o©AecPeǵkgyUi¿h}aHĉ^|á´¡HØûÅ«ĉ®]m¡qĉ¶³ÈyôōLÁstB®wn±ă¥HSòė£Së@לÊăxÇN©©T±ª£IJ¡fb®Þbb_Ą¥xu¥B{łĝ³«`dƐt¤ťiñÍUuºí`£^tƃIJc·ÛLO½sç¥Ts{ă\\_»kϱq©čiìĉ|ÍI¥ć¥]ª§D{ŝŖÉR_sÿc³ĪōƿΧp[ĉc¯bKmR¥{³Ze^wx¹dƽŽôIg §Mĕ ƹĴ¿ǣÜÍ]Ý]snåA{eƭ`ǻŊĿ\\ijŬűYÂÿ¬jĖqßb¸L«¸©@ěĀ©ê¶ìÀEH|´bRľÓ¶rÀQþvl®ÕETzÜdb hw¤{LRdcb¯ÙVgƜßzÃôì®^jUèXÎ|UäÌ»rK\\ªN¼pZCüVY¤ɃRi^rPŇTÖ}|br°qňbĚ°ªiƶGQ¾²x¦PmlŜ[Ĥ¡ΞsĦÔÏâ\\ªÚŒU\\f
¢N²§x|¤§xĔsZPòʛ²SÐqF`ªVÞŜĶƨVZÌL`¢dŐIqr\\oäõF礻Ŷ×h¹]ClÙ\\¦ďÌį¬řtTӺƙgQÇÓHţĒ´ÃbEÄlbʔC|CŮkƮ[ʼ¬ň´KŮÈΰÌĪ¶ƶlðļATUvdTGº̼ÔsÊDÔveOg',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
encodeOffsets: [[[105308, 37219]], [[95370, 40081]]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '640000',
|
||||||
|
properties: {
|
||||||
|
id: '640000',
|
||||||
|
cp: [106.278179, 37.26637],
|
||||||
|
name: '宁夏',
|
||||||
|
childNum: 2,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'MultiPolygon',
|
||||||
|
coordinates: [
|
||||||
|
[
|
||||||
|
'@@KëÀęĞ«Oęȿȕı]ʼn¡åįÕÔ«ǴõƪĚQÐZhv K°öqÀÑS[ÃÖHƖčËnL]ûc
Ùß@ĝ¾}w»»oģF¹»kÌÏ·{zP§B¢íyÅt@@á]Yv_ssģ¼ißĻL¾ġsKD£¡N_
X¸}B~HaiÅf{«x»ge_bsKF¯¡IxmELcÿZ¤ĢÝsuBLùtYdmVtNmtOPhRw~bd
¾qÐ\\âÙH\\bImlNZ»loqlVmGā§~QCw¤{A\\PKNY¯bFkC¥sks_Ã\\ă«¢ħkJi¯rrAhĹûç£CUĕĊ_ÔBixÅÙĄnªÑaM~ħpOu¥sîeQ¥¤^dkKwlL~{L~hw^ófćKyEKzuÔ¡qQ¤xZÑ¢^ļöܾEp±âbÊÑÆ^fk¬
NC¾YpxbK~¥eÖäBlt¿Đx½I[ĒǙWf»Ĭ}d§dµùEuj¨IÆ¢¥dXªƅx¿]mtÏwßRĶX¢͎vÆzƂZò®ǢÌʆCrâºMÞzÆMÒÊÓŊZľr°Î®Ȉmª²ĈUªĚîøºĮ¦ÌĘk^FłĬhĚiĀĖ¾iİbjÕ',
|
||||||
|
],
|
||||||
|
['@@mfwěwMrŢªv@G'],
|
||||||
|
],
|
||||||
|
encodeOffsets: [[[109366, 40242]], [[108600, 36303]]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '650000',
|
||||||
|
properties: {
|
||||||
|
id: '650000',
|
||||||
|
cp: [85.617733, 40.792818],
|
||||||
|
name: '新疆',
|
||||||
|
childNum: 1,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'Polygon',
|
||||||
|
coordinates: [
|
||||||
|
'@@QØĔ²X¨~ǘBºjʐßØvKƔX¨vĊO÷¢i@~cĝe_«E}QxgɪëÏÃ@sÅyXoŖ{ô«ŸuX
êÎf`C¹ÂÿÐGĮÕĞXŪōŸMźÈƺQèĽôe|¿ƸJR¤ĘEjcUóº¯Ĩ_ŘÁMª÷Ð¥OéÈ¿ÖğǤǷÂFÒzÉx[]Ĥĝœ¦EP}ûƥé¿İƷTėƫœŕƅƱB»Đ±ēO
¦E}`cȺrĦáŖuÒª«IJπdƺÏØZƴwʄ¤ĖGĐǂZĶèH¶}ÚZצʥĪï|ÇĦMŔ»İĝLjì¥Βba¯¥ǕǚkĆŵĦɑĺƯxūД̵nơʃĽá½M»òmqóŘĝč˾ăC
ćāƿÝɽ©DZŅ¹đ¥³ðLrÁ®ɱĕģʼnǻ̋ȥơŻǛȡVï¹Ň۩ûkɗġƁ§ʇė̕ĩũƽō^ƕUv£ƁQïƵkŏ½ΉÃŭdzLŇʻ«ƭ\\lŭD{ʓDkaFÃÄa³ŤđÔGRÈƚhSӹŚsİ«ĐË[¥ÚDkº^Øg¼ŵ¸£EÍöůʼnT¡c_ËKYƧUśĵÝU_©rETÏʜ±OñtYwē¨{£¨uM³x½şL©Ùá[ÓÐĥ Νtģ¢\\śnkOw¥±T»ƷFɯàĩÞáB¹Æ
ÑUwŕĽw[mG½Èå~Æ÷QyěCFmĭZīŵVÁƿQƛûXS²b½KϽĉS©ŷXĕ{ĕK·¥Ɨcqq©f¿]ßDõU³hgËÇïģÉɋwk¯í}I·œbmÉřīJɥĻˁ×xoɹīlc
¤³Xù]DžA¿w͉ì¥wÇN·ÂËnƾƍdǧđ®ƝvUm©³G\\}µĿQyŹlăµEwLJQ½yƋBe¶ŋÀůo¥AÉw@{Gpm¿AijŽKLh³`ñcËtW±»ÕSëüÿďDu\\wwwù³VLŕOMËGh£õP¡erÏd{ġWÁ
č|yšg^ğyÁzÙs`s|ÉåªÇ}m¢Ń¨`x¥ù^}Ì¥H«YªƅAйn~ź¯f¤áÀzgÇDIÔ´AňĀÒ¶ûEYospõD[{ù°]uJqU|Soċxţ[õÔĥkŋÞŭZ˺óYËüċrw ÞkrťË¿XGÉbřaDü·Ē÷Aê[ÄäI®BÕĐÞ_¢āĠpÛÄȉĖġDKwbmÄNôfƫVÉvidzHQµâFùÂœ³¦{YGd¢ĚÜO {Ö¦ÞÍÀP^bƾl[vt×ĈÍE˨¡Đ~´î¸ùÎhuè`¸HÕŔVºwĠââWò@{ÙNÝ´ə²ȕn{¿¥{l÷eé^eďXj©î\\ªÑòÜìc\\üqÕ[Č¡xoÂċªbØø|¶ȴZdÆÂońéG\\¼C°ÌÆn´nxÊOĨŪƴĸ¢¸òTxÊǪMīĞÖŲÃɎOvʦƢ~FRěò¿ġ~åŊúN¸qĘ[Ĕ¶ÂćnÒPĒÜvúĀÊbÖ{Äî¸~Ŕünp¤ÂH¾ĄYÒ©ÊfºmÔĘcDoĬMŬS¤s²ʘÚžȂVŦ èW°ªB|IJXŔþÈJĦÆæFĚêYĂªĂ]øªŖNÞüAfɨJ¯ÎrDDĤ`mz\\§~D¬{vJ«lµĂb¤pŌŰNĄ¨ĊXW|ų ¿¾ɄĦƐMTòP÷fØĶK¢ȝ˔Sô¹òEð`Ɩ½ǒÂň×äı§ĤƝ§C~¡hlåǺŦŞkâ~}FøàIJaĞfƠ¥Ŕd®U¸źXv¢aƆúŪtŠųƠjdƺƺÅìnrh\\ĺ¯äɝĦ]èpĄ¦´LƞĬ´ƤǬ˼Ēɸ¤rºǼ²¨zÌPðŀbþ¹ļD¢¹\\ĜÑŚ¶ZƄ³àjĨoâȴLÊȮĐĚăÀêZǚŐ¤qȂ\\L¢ŌİfÆs|zºeªÙæ§{Ā´ƐÚ¬¨Ĵà²łhʺKÞºÖTiƢ¾ªì°`öøu®Ê¾ãØ',
|
||||||
|
],
|
||||||
|
encodeOffsets: [[88824, 50096]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '110000',
|
||||||
|
properties: {
|
||||||
|
id: '110000',
|
||||||
|
cp: [116.405285, 40.104989],
|
||||||
|
name: '北京',
|
||||||
|
childNum: 1,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'Polygon',
|
||||||
|
coordinates: [
|
||||||
|
'@@ĽOÁûtŷmiÍt_H»Ĩ±d`¹{bw
Yr³S]§§o¹qGtm_SŧoaFLgQN_dV@Zom_ć\\ßc±x¯oœRcfe
£o§ËgToÛJíĔóu
|wP¤XnO¢ÉŦ¯rNÄā¤zâŖÈRpŢZÚ{GrFt¦Òx§ø¹RóäV¤XdżâºWbwŚ¨Ud®bêņ¾jnŎGŃŶnzÚSeîĜZczî¾i]ÍQaúÍÔiþĩȨWĢü|Ėu[qb[swP@ÅğP¿{\\¥A¨ÏѨj¯X\\¯MKpA³[H
īu}}',
|
||||||
|
],
|
||||||
|
encodeOffsets: [[120023, 41045]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '120000',
|
||||||
|
properties: {
|
||||||
|
id: '120000',
|
||||||
|
cp: [117.190182, 38.825596],
|
||||||
|
name: '天津',
|
||||||
|
childNum: 1,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'Polygon',
|
||||||
|
coordinates: [
|
||||||
|
'@@ŬgX§Ü«E
¶F̬O_ïlÁgz±AXeµÄĵ{¶]gitgIj·¥îakS¨ÐƎk}ĕ{gBqGf{¿aU^fIư³õ{YıëNĿk©ïËZŏR§òoY×Ógc
ĥs¡bġ«@dekąI[nlPqCnp{ō³°`{PNdƗqSÄĻNNâyj]äÒD ĬH°Æ]~¡HO¾X}ÐxgpgWrDGpù^LrzWxZ^¨´T\\|~@IzbĤjeĊªz£®ĔvěLmV¾Ô_ÈNW~zbĬvG²ZmDM~~',
|
||||||
|
],
|
||||||
|
encodeOffsets: [[120237, 41215]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '310000',
|
||||||
|
properties: {
|
||||||
|
id: '310000',
|
||||||
|
cp: [121.472644, 31.231706],
|
||||||
|
name: '上海',
|
||||||
|
childNum: 6,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'MultiPolygon',
|
||||||
|
coordinates: [
|
||||||
|
['@@ɧư¬EpƸÁxc'],
|
||||||
|
['@@©ª'],
|
||||||
|
['@@MA'],
|
||||||
|
['@@QpİE§ÉC¾'],
|
||||||
|
['@@bŝÕÕEȣÚƥêImɇǦèÜĠÚÃƌÃ͎ó'],
|
||||||
|
['@@ǜûȬɋŭ×^sYɍDŋŽąñCG²«ªč@h_p¯A{oloY¬j@IJ`gQÚhr|ǀ^MIJvtbe´R¯Ô¬¨Yô¤r]ìƬį'],
|
||||||
|
],
|
||||||
|
encodeOffsets: [
|
||||||
|
[[124702, 32062]],
|
||||||
|
[[124547, 32200]],
|
||||||
|
[[124808, 31991]],
|
||||||
|
[[124726, 32110]],
|
||||||
|
[[124903, 32376]],
|
||||||
|
[[124438, 32149]],
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '500000',
|
||||||
|
properties: {
|
||||||
|
id: '500000',
|
||||||
|
cp: [107.304962, 29.533155],
|
||||||
|
name: '重庆',
|
||||||
|
childNum: 2,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'MultiPolygon',
|
||||||
|
coordinates: [
|
||||||
|
[
|
||||||
|
'@@vjG~nGŘŬĶȂƀƾ¹¸ØÎezĆT¸}êÐqHðqĖä¥^CÆIj²p
\\_ æüY|[YxƊæu°xb®
Űb@~¢NQt°¶Sæ Ê~rljĔëĚ¢~uf`faĔJåĊnÖ]jƎćÊ@£¾a®£Ű{ŶĕFègLk{Y|¡ĜWƔtƬJÑxq±ĢN´òKLÈüD|s`ŋć]Ã`đMûƱ½~Y°ħ`ƏíW½eI½{aOIrÏ¡ĕŇapµÜƅġ^ÖÛbÙŽŏml½SêqDu[RãË»ÿw`»y¸_ĺę}÷`M¯ċfCVµqʼn÷Zgg`d½pDOÎCn^uf²ènh¼WtƏxRGg¦
pVFI±G^Ic´ecGĹÞ½sëĬhxW}KÓeXsbkF¦LØgTkïƵNï¶}Gyw\\oñ¡nmĈzj@Óc£»Wă¹Ój_m»¹·~MvÛaq»ê\\ÂoVnÓØͲ«bq¿efE Ĝ^Q~ Évýş¤²ĮpEİ}zcĺL½¿gÅ¡ýE¡ya£³t\\¨\\vú»¼§·Ñr_oÒý¥u_n»_At©Þűā§IVeëY}{VPÀFA¨ąB}q@|Ou\\FmQFÝ
Mwå}]|FmÏCawu_p¯sfÙgY
DHl`{QEfNysB¦zG¸rHeN\\CvEsÐùÜ_·ÖĉsaQ¯}_UxÃđqNH¬Äd^ÝŰR¬ã°wećJE·vÝ·HgéFXjÉê`|ypxkAwWĐpb¥eOsmzwqChóUQl¥F^lafanòsrEvfQdÁUVfÎvÜ^eftET¬ôA\\¢sJnQTjPØxøK|nBzĞ»LY
FDxÓvr[ehľvN¢o¾NiÂxGpâ¬zbfZo~hGi]öF||NbtOMn eA±tPTLjpYQ|SHYĀxinzDJÌg¢và¥Pg_ÇzIIII£®S¬Øsμ£N',
|
||||||
|
],
|
||||||
|
['@@ifjN@s'],
|
||||||
|
],
|
||||||
|
encodeOffsets: [[[109628, 30765]], [[111725, 31320]]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '810000',
|
||||||
|
properties: {
|
||||||
|
id: '810000',
|
||||||
|
cp: [116.173355, 22.320048],
|
||||||
|
name: '香港',
|
||||||
|
childNum: 5,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'MultiPolygon',
|
||||||
|
coordinates: [
|
||||||
|
['@@AlBk'],
|
||||||
|
['@@mn'],
|
||||||
|
['@@EpFo'],
|
||||||
|
['@@ea¢pl¸Eõ¹hj[]ÔCÎ@lj¡uBX
´AI¹
[yDU]W`çwZkmc
MpÅv}IoJlcafŃK°ä¬XJmÐ đhI®æÔtSHnEÒrÈc'],
|
||||||
|
['@@rMUwAS®e'],
|
||||||
|
],
|
||||||
|
encodeOffsets: [
|
||||||
|
[[117111, 23002]],
|
||||||
|
[[117072, 22876]],
|
||||||
|
[[117045, 22887]],
|
||||||
|
[[116975, 23082]],
|
||||||
|
[[116882, 22747]],
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Feature',
|
||||||
|
id: '820000',
|
||||||
|
properties: {
|
||||||
|
id: '820000',
|
||||||
|
cp: [112.84909, 21.198951],
|
||||||
|
name: '澳门',
|
||||||
|
childNum: 1,
|
||||||
|
},
|
||||||
|
geometry: {
|
||||||
|
type: 'Polygon',
|
||||||
|
coordinates: ['@@kÊd°å§s'],
|
||||||
|
encodeOffsets: [[116279, 22639]],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
UTF8Encoding: !0,
|
||||||
|
});
|
||||||
|
});
|
@ -1,4 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<div class="wrapper">
|
||||||
|
<LeftSide :category="category"></LeftSide>
|
||||||
<div class="DefinedPage" >
|
<div class="DefinedPage" >
|
||||||
<div class="LeftPart" style="overflow: auto">
|
<div class="LeftPart" style="overflow: auto">
|
||||||
<div class="JustBack" style="width:670px;display:flex; flex-direction: row; flex-wrap: nowrap;height:430px !important;">
|
<div class="JustBack" style="width:670px;display:flex; flex-direction: row; flex-wrap: nowrap;height:430px !important;">
|
||||||
@ -129,7 +131,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import HotRecomment from "@/components/detail/HotRecomment.vue";
|
import HotRecomment from "@/components/detail/HotRecomment.vue";
|
||||||
@ -139,13 +141,15 @@ import UserComment from "@/components/detail/UserComment.vue";
|
|||||||
import Vue from "vue";
|
import Vue from "vue";
|
||||||
import * as echarts from 'echarts'
|
import * as echarts from 'echarts'
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
|
import LeftSide from "@/components/home/LeftSide.vue";
|
||||||
Vue.prototype.$echarts = echarts;
|
Vue.prototype.$echarts = echarts;
|
||||||
export default {
|
export default {
|
||||||
name:"NavDetail",
|
name:"NavDetail",
|
||||||
// eslint-disable-next-line vue/no-unused-components
|
// eslint-disable-next-line vue/no-unused-components
|
||||||
components: {HotRecomment,NewRecomment,RandomRecomment,UserComment},
|
components: {LeftSide, HotRecomment,NewRecomment,RandomRecomment,UserComment},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
category:[],
|
||||||
visible: false,
|
visible: false,
|
||||||
//返回数据:时间列表
|
//返回数据:时间列表
|
||||||
TimeList:[],
|
TimeList:[],
|
||||||
@ -167,6 +171,7 @@ export default {
|
|||||||
this.initPage();
|
this.initPage();
|
||||||
this.GetNav(this.UrlId);
|
this.GetNav(this.UrlId);
|
||||||
this.initEchart();
|
this.initEchart();
|
||||||
|
this.getCategories();
|
||||||
|
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@ -176,6 +181,28 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
getCategories() {
|
||||||
|
let _this = this;
|
||||||
|
axios({
|
||||||
|
method: 'post',
|
||||||
|
url: '/api/UrlAndCate/disposeBookmarkExhibitedToJson',
|
||||||
|
}).then(function (res) {
|
||||||
|
// console.log(res);
|
||||||
|
if (res.data.data) {
|
||||||
|
_this.category = res.data.data;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}).catch((error) => {
|
||||||
|
Vue.prototype.$notify.error({
|
||||||
|
title: '错误',
|
||||||
|
message: error,
|
||||||
|
offset: 0
|
||||||
|
});
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
// 时间转换:
|
// 时间转换:
|
||||||
getFormatDate() {
|
getFormatDate() {
|
||||||
var that = this;
|
var that = this;
|
||||||
|
@ -17,13 +17,24 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="upload-div">
|
<el-tooltip class="item" effect="dark" content="上传书签" placement="bottom">
|
||||||
|
<div class="upload-div" @click="upload">
|
||||||
<i class="upload el-icon-upload"></i>
|
<i class="upload el-icon-upload"></i>
|
||||||
</div>
|
</div>
|
||||||
|
</el-tooltip>
|
||||||
<div v-show="isLogin" class="login-div">
|
<div v-show="isLogin" class="login-div">
|
||||||
<i @click="openLoginDialog" class="login el-icon-s-custom"></i>
|
<i @click="openLoginDialog" class="login el-icon-s-custom"></i>
|
||||||
</div>
|
</div>
|
||||||
|
<el-dropdown @command="handleCommand">
|
||||||
|
<div class="avatar-div"
|
||||||
|
style="border-radius: 50px;width: 44px;height: 44px;margin-left: 20px;cursor: pointer" v-show="!isLogin">
|
||||||
|
<el-avatar> user</el-avatar>
|
||||||
|
</div>
|
||||||
|
<el-dropdown-menu slot="dropdown">
|
||||||
|
<el-dropdown-item command="setting">书签设置</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="signOut">退出登录</el-dropdown-item>
|
||||||
|
</el-dropdown-menu>
|
||||||
|
</el-dropdown>
|
||||||
</div>
|
</div>
|
||||||
<!--登录弹窗-->
|
<!--登录弹窗-->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
@ -242,11 +253,14 @@ import $ from 'jquery'
|
|||||||
import Vue from "vue";
|
import Vue from "vue";
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import {mapMutations} from "vuex";
|
import {mapMutations} from "vuex";
|
||||||
|
// import {getUserIP} from '@/utils/getIp'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "HomeHeader",
|
name: "HomeHeader",
|
||||||
components: {},
|
components: {},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
visible: false,
|
||||||
TabsValue: '1',
|
TabsValue: '1',
|
||||||
tabList: [
|
tabList: [
|
||||||
{path: '/home', libel: '首页'},
|
{path: '/home', libel: '首页'},
|
||||||
@ -304,7 +318,8 @@ export default {
|
|||||||
activeCode: [{required: true, message: "请输入验证码", trigger: "blur"}],
|
activeCode: [{required: true, message: "请输入验证码", trigger: "blur"}],
|
||||||
},
|
},
|
||||||
userToken: '',
|
userToken: '',
|
||||||
isLogin:true,
|
isLogin: true,
|
||||||
|
ip:'',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@ -314,17 +329,74 @@ export default {
|
|||||||
this.changeImg();
|
this.changeImg();
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
|
||||||
},
|
},
|
||||||
computed: {},
|
computed: {},
|
||||||
methods: {
|
methods: {
|
||||||
...mapMutations(['changeLogin']),
|
...mapMutations(['changeLogin', 'setUserId', 'setUserRole']),
|
||||||
|
|
||||||
|
upload(){
|
||||||
|
if(localStorage.getItem('Authorization')&&localStorage.getItem('userId')){
|
||||||
|
this.$router.push({
|
||||||
|
path:'/importExport',
|
||||||
|
})
|
||||||
|
}else {
|
||||||
|
Vue.prototype.$notify.error({
|
||||||
|
title: '错误',
|
||||||
|
message: "登录状态失效,请重新登录!",
|
||||||
|
offset: 0
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleCommand(cmditem) {
|
||||||
|
if (!cmditem) {
|
||||||
|
this.$message("菜单选项缺少command属性");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
switch (cmditem) {
|
||||||
|
case "signOut":
|
||||||
|
this.signOut();
|
||||||
|
break;
|
||||||
|
case "setting":
|
||||||
|
this.goToSetting();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
goToSetting(){
|
||||||
|
if(localStorage.getItem('Authorization')&&localStorage.getItem('userId')){
|
||||||
|
this.$router.push({
|
||||||
|
path:'/admin',
|
||||||
|
})
|
||||||
|
}else {
|
||||||
|
Vue.prototype.$notify.error({
|
||||||
|
title: '错误',
|
||||||
|
message: "登录状态失效,请重新登录!",
|
||||||
|
offset: 0
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
signOut(){
|
||||||
|
localStorage.removeItem("Authorization")
|
||||||
|
localStorage.removeItem("userId")
|
||||||
|
localStorage.removeItem("userRole")
|
||||||
|
this.$router.push({
|
||||||
|
path:'/home',
|
||||||
|
})
|
||||||
|
setTimeout(()=>{
|
||||||
|
window.location.reload()
|
||||||
|
},1000)
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
//切换到找回密码
|
//切换到找回密码
|
||||||
toRePassword() {
|
toRePassword() {
|
||||||
this.TabsValue = '3';
|
this.TabsValue = '3';
|
||||||
},
|
},
|
||||||
closeLoginDialog() {
|
closeLoginDialog() {
|
||||||
this.loginDialogVisible=false;
|
this.loginDialogVisible = false;
|
||||||
},
|
},
|
||||||
// 打开登陆注册
|
// 打开登陆注册
|
||||||
openLoginDialog() {
|
openLoginDialog() {
|
||||||
@ -371,7 +443,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 登录提交
|
// 登录提交
|
||||||
submitLoginForm(formName) {
|
submitLoginForm(formName) {
|
||||||
let _this=this;
|
let _this = this;
|
||||||
this.$refs[formName].validate((valid) => {
|
this.$refs[formName].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
axios({
|
axios({
|
||||||
@ -379,37 +451,42 @@ export default {
|
|||||||
url: '/api/login',
|
url: '/api/login',
|
||||||
params: this.loginForm
|
params: this.loginForm
|
||||||
}).then(function (res) {
|
}).then(function (res) {
|
||||||
if(res.data.code!==200){
|
if (res.data.code !== 200) {
|
||||||
Vue.prototype.$notify.error({
|
Vue.prototype.$notify.error({
|
||||||
title: '错误',
|
title: '错误',
|
||||||
message: res.data.msg,
|
message: res.data.msg,
|
||||||
offset: 0
|
offset: 0
|
||||||
});
|
});
|
||||||
}else{
|
} else {
|
||||||
Vue.prototype.$notify({
|
Vue.prototype.$notify({
|
||||||
title: '成功',
|
title: '成功',
|
||||||
message: ('i', {style: 'color: teal'}, "登录成功!"),
|
message: ('i', {style: 'color: teal'}, "登录成功!"),
|
||||||
type: 'success',
|
type: 'success',
|
||||||
offset: 0
|
offset: 0
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// console.log(res);
|
||||||
// _this.userToken = 'Bearer ' + res.data.token;
|
// _this.userToken = 'Bearer ' + res.data.token;
|
||||||
_this.userToken = res.data.token;
|
_this.userToken = res.data.token;
|
||||||
_this.changeLogin({ Authorization: _this.userToken });
|
_this.changeLogin({Authorization: _this.userToken});
|
||||||
|
_this.setUserId({userId: res.data.Id});
|
||||||
|
_this.setUserRole({userRole: res.data.roleId});
|
||||||
_this.closeLoginDialog();
|
_this.closeLoginDialog();
|
||||||
setTimeout(()=>{
|
setTimeout(() => {
|
||||||
window.location.reload();
|
window.location.reload();
|
||||||
},2000)
|
}, 1000)
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}).catch((error)=>{
|
}).catch((error) => {
|
||||||
Vue.prototype.$notify.error({
|
Vue.prototype.$notify.error({
|
||||||
title: '错误',
|
title: '错误',
|
||||||
message: error===null?'':error,
|
message: error === null ? '' : error,
|
||||||
offset: 0
|
offset: 0
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
}else {
|
} else {
|
||||||
Vue.prototype.$notify.error({
|
Vue.prototype.$notify.error({
|
||||||
title: '错误',
|
title: '错误',
|
||||||
message: "请填写完整信息!",
|
message: "请填写完整信息!",
|
||||||
@ -422,7 +499,7 @@ export default {
|
|||||||
submitRegisterForm(formName) {
|
submitRegisterForm(formName) {
|
||||||
this.$refs[formName].validate((valid) => {
|
this.$refs[formName].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.registerFrom.userPassword===this.registerFrom.repassword){
|
if (this.registerFrom.userPassword === this.registerFrom.repassword) {
|
||||||
axios({
|
axios({
|
||||||
method: 'get',
|
method: 'get',
|
||||||
url: '/api/register',
|
url: '/api/register',
|
||||||
@ -435,21 +512,21 @@ export default {
|
|||||||
type: 'success',
|
type: 'success',
|
||||||
offset: 0
|
offset: 0
|
||||||
});
|
});
|
||||||
}).catch((error)=>{
|
}).catch((error) => {
|
||||||
Vue.prototype.$notify.error({
|
Vue.prototype.$notify.error({
|
||||||
title: '错误',
|
title: '错误',
|
||||||
message: error,
|
message: error,
|
||||||
offset: 0
|
offset: 0
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
}else {
|
} else {
|
||||||
Vue.prototype.$notify.error({
|
Vue.prototype.$notify.error({
|
||||||
title: '错误',
|
title: '错误',
|
||||||
message: "密码不一致",
|
message: "密码不一致",
|
||||||
offset: 0
|
offset: 0
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}else {
|
} else {
|
||||||
Vue.prototype.$notify.error({
|
Vue.prototype.$notify.error({
|
||||||
title: '错误',
|
title: '错误',
|
||||||
message: "请填写完整信息!",
|
message: "请填写完整信息!",
|
||||||
@ -459,25 +536,25 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 找回密码
|
// 找回密码
|
||||||
submitRePasswordForm(formName){
|
submitRePasswordForm(formName) {
|
||||||
let _this=this;
|
let _this = this;
|
||||||
this.$refs[formName].validate((valid) => {
|
this.$refs[formName].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.repasswordForm.userPassword===this.repasswordForm.repassword){
|
if (this.repasswordForm.userPassword === this.repasswordForm.repassword) {
|
||||||
axios({
|
axios({
|
||||||
method: 'post',
|
method: 'post',
|
||||||
url: '/api/findThePassword',
|
url: '/api/findThePassword',
|
||||||
params: this.repasswordForm
|
params: this.repasswordForm
|
||||||
}).then(function (res) {
|
}).then(function (res) {
|
||||||
if(res.data.msg==="重置成功"){
|
if (res.data.msg === "重置成功") {
|
||||||
Vue.prototype.$notify({
|
Vue.prototype.$notify({
|
||||||
title: '成功',
|
title: '成功',
|
||||||
message: ('i', {style: 'color: teal'}, res.data.msg),
|
message: ('i', {style: 'color: teal'}, res.data.msg),
|
||||||
type: 'success',
|
type: 'success',
|
||||||
offset: 0
|
offset: 0
|
||||||
});
|
});
|
||||||
_this.TabsValue='1';
|
_this.TabsValue = '1';
|
||||||
}else{
|
} else {
|
||||||
Vue.prototype.$notify({
|
Vue.prototype.$notify({
|
||||||
title: '成功',
|
title: '成功',
|
||||||
message: ('i', {style: 'color: teal'}, res.data.msg),
|
message: ('i', {style: 'color: teal'}, res.data.msg),
|
||||||
@ -486,21 +563,21 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
}).catch((error)=>{
|
}).catch((error) => {
|
||||||
Vue.prototype.$notify.error({
|
Vue.prototype.$notify.error({
|
||||||
title: '错误',
|
title: '错误',
|
||||||
message: error,
|
message: error,
|
||||||
offset: 0
|
offset: 0
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
}else {
|
} else {
|
||||||
Vue.prototype.$notify.error({
|
Vue.prototype.$notify.error({
|
||||||
title: '错误',
|
title: '错误',
|
||||||
message: "密码不一致",
|
message: "密码不一致",
|
||||||
offset: 0
|
offset: 0
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}else {
|
} else {
|
||||||
Vue.prototype.$notify.error({
|
Vue.prototype.$notify.error({
|
||||||
title: '错误',
|
title: '错误',
|
||||||
message: "请填写完整信息!",
|
message: "请填写完整信息!",
|
||||||
@ -515,7 +592,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 发送邮箱验证码
|
// 发送邮箱验证码
|
||||||
sendRegisterEmail() {
|
sendRegisterEmail() {
|
||||||
let _this=this;
|
let _this = this;
|
||||||
if (this.registerFrom.userEmail !== null) {
|
if (this.registerFrom.userEmail !== null) {
|
||||||
axios({
|
axios({
|
||||||
method: 'get',
|
method: 'get',
|
||||||
@ -542,7 +619,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}, 1000);
|
}, 1000);
|
||||||
}
|
}
|
||||||
}).catch((error)=>{
|
}).catch((error) => {
|
||||||
Vue.prototype.$notify.error({
|
Vue.prototype.$notify.error({
|
||||||
title: '错误',
|
title: '错误',
|
||||||
message: error,
|
message: error,
|
||||||
@ -550,7 +627,7 @@ export default {
|
|||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
|
||||||
}else {
|
} else {
|
||||||
Vue.prototype.$notify.error({
|
Vue.prototype.$notify.error({
|
||||||
title: '错误',
|
title: '错误',
|
||||||
message: '请填写邮箱!',
|
message: '请填写邮箱!',
|
||||||
@ -561,7 +638,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 发送邮箱验证码
|
// 发送邮箱验证码
|
||||||
sendRePasswordEmail() {
|
sendRePasswordEmail() {
|
||||||
let _this=this;
|
let _this = this;
|
||||||
if (this.repasswordForm.userEmail !== null) {
|
if (this.repasswordForm.userEmail !== null) {
|
||||||
axios({
|
axios({
|
||||||
method: 'get',
|
method: 'get',
|
||||||
@ -588,7 +665,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}, 1000);
|
}, 1000);
|
||||||
}
|
}
|
||||||
}).catch((error)=>{
|
}).catch((error) => {
|
||||||
Vue.prototype.$notify.error({
|
Vue.prototype.$notify.error({
|
||||||
title: '错误',
|
title: '错误',
|
||||||
message: error,
|
message: error,
|
||||||
@ -596,7 +673,7 @@ export default {
|
|||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
|
||||||
}else {
|
} else {
|
||||||
Vue.prototype.$notify.error({
|
Vue.prototype.$notify.error({
|
||||||
title: '错误',
|
title: '错误',
|
||||||
message: '请填写邮箱!',
|
message: '请填写邮箱!',
|
||||||
@ -605,10 +682,10 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
changeImg(){
|
changeImg() {
|
||||||
setTimeout(()=>{
|
setTimeout(() => {
|
||||||
this.codeUrl = "http://localhost:8080/verifyCode?" + new Date().getTime();
|
this.codeUrl = "http://localhost:8080/verifyCode?" + new Date().getTime();
|
||||||
},30000)
|
}, 30000)
|
||||||
},
|
},
|
||||||
//点击图片更换验证码
|
//点击图片更换验证码
|
||||||
resetImg() {
|
resetImg() {
|
||||||
@ -632,12 +709,14 @@ export default {
|
|||||||
.el-dialog__header {
|
.el-dialog__header {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
.login{
|
|
||||||
|
.login {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-size: 25px;
|
font-size: 25px;
|
||||||
color: var(--theme-color);
|
color: var(--theme-color);
|
||||||
}
|
}
|
||||||
.login-div{
|
|
||||||
|
.login-div {
|
||||||
border-radius: 50px;
|
border-radius: 50px;
|
||||||
width: 32px;
|
width: 32px;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
@ -646,17 +725,20 @@ export default {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
.login-div:hover{
|
|
||||||
|
.login-div:hover {
|
||||||
border: 2px solid var(--theme-color);
|
border: 2px solid var(--theme-color);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
.upload{
|
|
||||||
|
.upload {
|
||||||
font-size: 25px;
|
font-size: 25px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: var(--theme-color);
|
color: var(--theme-color);
|
||||||
|
|
||||||
}
|
}
|
||||||
.upload-div{
|
|
||||||
|
.upload-div {
|
||||||
border-radius: 50px;
|
border-radius: 50px;
|
||||||
width: 32px;
|
width: 32px;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
@ -665,16 +747,19 @@ export default {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
.upload-div:hover{
|
|
||||||
|
.upload-div:hover {
|
||||||
border: 2px solid var(--theme-color);
|
border: 2px solid var(--theme-color);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
.notice{
|
|
||||||
|
.notice {
|
||||||
font-size: 25px;
|
font-size: 25px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: var(--theme-color);
|
color: var(--theme-color);
|
||||||
}
|
}
|
||||||
.notice-div{
|
|
||||||
|
.notice-div {
|
||||||
border-radius: 50px;
|
border-radius: 50px;
|
||||||
width: 32px;
|
width: 32px;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
@ -682,8 +767,13 @@ export default {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
.notice-div:hover{
|
|
||||||
|
.notice-div:hover {
|
||||||
border: 2px solid var(--theme-color);
|
border: 2px solid var(--theme-color);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.avatar-div:hover {
|
||||||
|
border: 2px solid var(--theme-color);
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<div class="wrapper">
|
||||||
|
<LeftSide :category="category"></LeftSide>
|
||||||
<div class="main-container">
|
<div class="main-container">
|
||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<div>
|
<div>
|
||||||
@ -6,7 +8,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<NoticeComponent></NoticeComponent>
|
<NoticeComponent></NoticeComponent>
|
||||||
<div v-for="(item,index) in navList" :key="index" class="content-section">
|
<div v-for="(item,index) in navList" :key="index" class="content-section">
|
||||||
<div class="HeadLine" style="margin-top:15px;margin-left:-5px;">
|
<div :id="item.name" class="HeadLine" style="margin-top:15px;margin-left:-5px;">
|
||||||
<div class="HeadSquare"></div>
|
<div class="HeadSquare"></div>
|
||||||
<div class="TitleFont" style="color:var(--theme-color)"><i class="el-icon-s-unfold"></i>{{item.name}}</div>
|
<div class="TitleFont" style="color:var(--theme-color)"><i class="el-icon-s-unfold"></i>{{item.name}}</div>
|
||||||
</div>
|
</div>
|
||||||
@ -16,6 +18,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@ -25,17 +28,26 @@ import NavList from "@/components/home/NavList.vue";
|
|||||||
import NoticeComponent from "@/components/home/Notice.vue";
|
import NoticeComponent from "@/components/home/Notice.vue";
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import Vue from "vue";
|
import Vue from "vue";
|
||||||
|
import LeftSide from "@/components/home/LeftSide.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name:"HomePage",
|
name: "HomePage",
|
||||||
components:{
|
components: {
|
||||||
|
LeftSide,
|
||||||
NoticeComponent,
|
NoticeComponent,
|
||||||
NavList,
|
NavList,
|
||||||
CarouselComponent
|
CarouselComponent
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
navList:[],
|
navList: [],
|
||||||
}},
|
category: [],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 监听,当路由发生变化的时候执行
|
||||||
|
watch: {
|
||||||
|
'$route': 'getPath'
|
||||||
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.fun1();
|
this.fun1();
|
||||||
this.fun2();
|
this.fun2();
|
||||||
@ -43,28 +55,54 @@ export default {
|
|||||||
this.fun4();
|
this.fun4();
|
||||||
this.dropdownFun();
|
this.dropdownFun();
|
||||||
this.getNavList();
|
this.getNavList();
|
||||||
|
this.getCategories();
|
||||||
|
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {},
|
||||||
|
|
||||||
},
|
|
||||||
methods: {
|
methods: {
|
||||||
|
getCategories() {
|
||||||
|
let _this = this;
|
||||||
|
axios({
|
||||||
|
method: 'post',
|
||||||
|
url: '/api/UrlAndCate/disposeBookmarkExhibitedToJson',
|
||||||
|
}).then(function (res) {
|
||||||
|
// console.log(res);
|
||||||
|
if (res.data.data) {
|
||||||
|
_this.category = res.data.data;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}).catch((error) => {
|
||||||
|
Vue.prototype.$notify.error({
|
||||||
|
title: '错误',
|
||||||
|
message: error,
|
||||||
|
offset: 0
|
||||||
|
});
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
getPath() {
|
||||||
|
document.querySelector(this.$route.query.name).scrollIntoView(true)
|
||||||
|
},
|
||||||
|
|
||||||
// 获取导航详情列表
|
// 获取导航详情列表
|
||||||
getNavList() {
|
getNavList() {
|
||||||
let _this=this;
|
let _this = this;
|
||||||
axios({
|
axios({
|
||||||
method: 'post',
|
method: 'post',
|
||||||
url: '/api/UrlAndCate/disposeBookmarkExhibitedToJsonNew',
|
url: '/api/UrlAndCate/disposeBookmarkExhibitedToJsonNew',
|
||||||
}).then(function (res) {
|
}).then(function (res) {
|
||||||
if(res.data){
|
if (res.data) {
|
||||||
_this.navList=res.data;
|
_this.navList = res.data;
|
||||||
}
|
}
|
||||||
}).catch((error)=>{
|
}).catch((error) => {
|
||||||
Vue.prototype.$notify.error({
|
Vue.prototype.$notify.error({
|
||||||
title: '错误',
|
title: '错误',
|
||||||
message: error===null?'':error,
|
message: error === null ? '' : error,
|
||||||
offset: 0
|
offset: 0
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
@ -72,7 +110,7 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
fun1(){
|
fun1() {
|
||||||
$(document).click(function (e) {
|
$(document).click(function (e) {
|
||||||
var container = $(".status-button");
|
var container = $(".status-button");
|
||||||
var dd = $(".dropdown");
|
var dd = $(".dropdown");
|
||||||
@ -81,7 +119,7 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
fun2(){
|
fun2() {
|
||||||
$(".status-button:not(.open)").on("click", function () {
|
$(".status-button:not(.open)").on("click", function () {
|
||||||
$(".overlay-app").addClass("is-active");
|
$(".overlay-app").addClass("is-active");
|
||||||
});
|
});
|
||||||
@ -89,17 +127,17 @@ export default {
|
|||||||
$(".overlay-app").removeClass("is-active");
|
$(".overlay-app").removeClass("is-active");
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
fun3(){
|
fun3() {
|
||||||
$(".status-button:not(.open)").click(function () {
|
$(".status-button:not(.open)").click(function () {
|
||||||
$(".pop-up").addClass("visible");
|
$(".pop-up").addClass("visible");
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
fun4(){
|
fun4() {
|
||||||
$(".pop-up .close").click(function () {
|
$(".pop-up .close").click(function () {
|
||||||
$(".pop-up").removeClass("visible");
|
$(".pop-up").removeClass("visible");
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
dropdownFun(){
|
dropdownFun() {
|
||||||
const dropdowns = document.querySelectorAll(".dropdown");
|
const dropdowns = document.querySelectorAll(".dropdown");
|
||||||
dropdowns.forEach(dropdown => {
|
dropdowns.forEach(dropdown => {
|
||||||
dropdown.addEventListener("click", e => {
|
dropdown.addEventListener("click", e => {
|
||||||
@ -110,6 +148,5 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
@ -1,71 +1,25 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="left-side">
|
<div class="left-side">
|
||||||
<!-- <div class="side-wrapper">-->
|
|
||||||
<!-- <div class="side-title">Apps</div>-->
|
|
||||||
<!-- <div class="side-menu">-->
|
|
||||||
<!-- <a href="#">-->
|
|
||||||
<!-- <svg viewBox="0 0 512 512">-->
|
|
||||||
<!-- <g xmlns="http://www.w3.org/2000/svg" fill="currentColor">-->
|
|
||||||
<!-- <path d="M0 0h128v128H0zm0 0M192 0h128v128H192zm0 0M384 0h128v128H384zm0 0M0 192h128v128H0zm0 0" data-original="#bfc9d1"></path>-->
|
|
||||||
<!-- </g>-->
|
|
||||||
<!-- <path xmlns="http://www.w3.org/2000/svg" d="M192 192h128v128H192zm0 0" fill="currentColor" data-original="#82b1ff"></path>-->
|
|
||||||
<!-- <path xmlns="http://www.w3.org/2000/svg" d="M384 192h128v128H384zm0 0M0 384h128v128H0zm0 0M192 384h128v128H192zm0 0M384 384h128v128H384zm0 0" fill="currentColor" data-original="#bfc9d1"></path>-->
|
|
||||||
<!-- </svg>-->
|
|
||||||
<!-- All Apps-->
|
|
||||||
<!-- </a>-->
|
|
||||||
<!-- <a href="#">-->
|
|
||||||
<!-- <svg viewBox="0 0 488.932 488.932" fill="currentColor">-->
|
|
||||||
<!-- <path d="M243.158 61.361v-57.6c0-3.2 4-4.9 6.7-2.9l118.4 87c2 1.5 2 4.4 0 5.9l-118.4 87c-2.7 2-6.7.2-6.7-2.9v-57.5c-87.8 1.4-158.1 76-152.1 165.4 5.1 76.8 67.7 139.1 144.5 144 81.4 5.2 150.6-53 163-129.9 2.3-14.3 14.7-24.7 29.2-24.7 17.9 0 31.8 15.9 29 33.5-17.4 109.7-118.5 192-235.7 178.9-98-11-176.7-89.4-187.8-187.4-14.7-128.2 84.9-237.4 209.9-238.8z"></path>-->
|
|
||||||
<!-- </svg>-->
|
|
||||||
<!-- Updates-->
|
|
||||||
<!-- <span class="notification-number updates">3</span>-->
|
|
||||||
<!-- </a>-->
|
|
||||||
<!-- </div>-->
|
|
||||||
<!-- </div>-->
|
|
||||||
<div class="HeadLine" style="margin-top:10px;margin-left:-5px;">
|
<div class="HeadLine" style="margin-top:10px;margin-left:-5px;">
|
||||||
<div class="HeadSquare"></div>
|
<div class="HeadSquare"></div>
|
||||||
<div class="TitleFont" style="color:var(--theme-color)"><i class="el-icon-s-home"></i>快速导航</div>
|
<div class="TitleFont" style="color:var(--theme-color)"><i class="el-icon-s-home"></i>快速导航</div>
|
||||||
</div>
|
</div>
|
||||||
<el-tree :data="category" :props="defaultProps" style="width:200px;margin-top:30px;" >
|
<el-tree :data="category"
|
||||||
|
:props="defaultProps"
|
||||||
|
style="width:200px;margin-top:30px;"
|
||||||
|
@node-click="handleTreeNodeClick"
|
||||||
|
:expand-on-click-node="false"
|
||||||
|
>
|
||||||
</el-tree>
|
</el-tree>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
::v-deep .el-tree{
|
|
||||||
background-color: rgb(255 255 255 / 31%);
|
|
||||||
border-radius:8px;
|
|
||||||
font-family: SimHei;
|
|
||||||
font-size:15px;
|
|
||||||
font-weight:600;
|
|
||||||
color: #3d3d3d;
|
|
||||||
border-color:var(--border-color);
|
|
||||||
border-width: 5px;
|
|
||||||
}
|
|
||||||
::v-deep .el-tree-node__content{
|
|
||||||
height:50px;
|
|
||||||
border-radius:8px;
|
|
||||||
border-bottom: solid 1.5px var(--border-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
::v-deep .el-tree-node__label{
|
|
||||||
margin-left:10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
::v-deep .el-tree .el-icon-caret-right:before{
|
|
||||||
content: url("../../assets/img/arrowRight.svg");
|
|
||||||
}
|
|
||||||
::v-deep .el-tree-node:focus>.el-tree-node__content{
|
|
||||||
background-color: #8fd3ff !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
name:"LeftSide",
|
name: "LeftSide",
|
||||||
props:{
|
props: {
|
||||||
category:Array
|
category: Array
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -73,19 +27,96 @@ export default {
|
|||||||
children: 'childUC',
|
children: 'childUC',
|
||||||
label: 'name'
|
label: 'name'
|
||||||
}
|
}
|
||||||
}},
|
}
|
||||||
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {},
|
||||||
|
|
||||||
},
|
|
||||||
methods: {
|
methods: {
|
||||||
|
handleTreeNodeClick(node) {
|
||||||
|
if(this.$route.path==='/home'){
|
||||||
|
if (node.name) {
|
||||||
|
this.$router.push({
|
||||||
|
path: '/home',
|
||||||
|
query: {
|
||||||
|
name: `#${node.name}`,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}else if(this.$route.path==='/myNav'){
|
||||||
|
if (node.name) {
|
||||||
|
this.$router.push({
|
||||||
|
path: '/myNav',
|
||||||
|
query: {
|
||||||
|
name: `#${node.name}`,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}else if(this.$route.path==='/news') {
|
||||||
|
if (node.name) {
|
||||||
|
this.$router.push({
|
||||||
|
path: '/home',
|
||||||
|
query: {
|
||||||
|
name: `#${node.name}`,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}else if(this.$route.path==='/nav'){
|
||||||
|
if (node.name) {
|
||||||
|
this.$router.push({
|
||||||
|
path: '/home',
|
||||||
|
query: {
|
||||||
|
name: `#${node.name}`,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
::v-deep .el-tree {
|
||||||
|
background-color: rgb(255 255 255 / 31%);
|
||||||
|
border-radius: 8px;
|
||||||
|
font-family: SimHei;
|
||||||
|
font-size: 15px;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #3d3d3d;
|
||||||
|
border-color: var(--border-color);
|
||||||
|
border-width: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .el-tree-node__content {
|
||||||
|
height: 50px;
|
||||||
|
border-radius: 8px;
|
||||||
|
border-bottom: solid 1.5px var(--border-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .el-tree-node__label {
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .el-tree .el-icon-caret-right:before {
|
||||||
|
content: url("../../assets/img/arrowRight.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .el-tree-node:focus > .el-tree-node__content {
|
||||||
|
background-color: #8fd3ff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
@ -5,7 +5,7 @@
|
|||||||
<div class="content-card">
|
<div class="content-card">
|
||||||
|
|
||||||
<el-tooltip v-if="nav.name" class="item" effect="dark" :content="nav.name" placement="top">
|
<el-tooltip v-if="nav.name" class="item" effect="dark" :content="nav.name" placement="top">
|
||||||
<span v-if="nav.name" class="content-title">{{ nav.name}}</span>
|
<span v-if="nav.name" class="content-title">{{ nav.name }}</span>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip v-if="nav.desc" class="item" effect="dark" :content="nav.desc" placement="bottom">
|
<el-tooltip v-if="nav.desc" class="item" effect="dark" :content="nav.desc" placement="bottom">
|
||||||
<span v-if="nav.desc" class="content-desc">{{ nav.desc.substr(0, 8) + '...' }}</span>
|
<span v-if="nav.desc" class="content-desc">{{ nav.desc.substr(0, 8) + '...' }}</span>
|
||||||
@ -26,8 +26,10 @@
|
|||||||
trigger="hover"
|
trigger="hover"
|
||||||
effect="dark" close-delay="2000">
|
effect="dark" close-delay="2000">
|
||||||
<div class="MyPopover" slot="content">
|
<div class="MyPopover" slot="content">
|
||||||
<span style="font-size:12px !important;">【{{nav.name}}】手机二维码</span><br/><br/>
|
<span style="font-size:12px !important;">【{{ nav.name }}】手机二维码</span><br/><br/>
|
||||||
<div style="width:100% ;text-align: center"><img style="width:150px" :src="'data:image/jpg;base64,'+getQR(nav.urlId,nav.icon)" /></div>
|
<div style="width:100% ;text-align: center"><img style="width:150px"
|
||||||
|
:src="getQR(nav.urlId,nav.icon)"/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<i class="qr el-icon-s-grid"></i>
|
<i class="qr el-icon-s-grid"></i>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
@ -46,50 +48,51 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
imageCode:'',
|
imageCode: '',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.getQR(1,'https://imgbed.landaiqing.space/img/1/2023/12/23/1_6586a9f967d58_1703324152309_20231223.webp');
|
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
|
||||||
},
|
},
|
||||||
computed: {},
|
computed: {},
|
||||||
methods: {
|
methods: {
|
||||||
// getQR(url_id,icon_url) {
|
getQR(url_id, icon_url) {
|
||||||
// let _this=this;
|
let _this = this;
|
||||||
// axios({
|
axios({
|
||||||
// method: 'post',
|
method: 'post',
|
||||||
// url: '/api/qrcode/qrc_return',
|
url: '/api/qrcode/qrc_return',
|
||||||
// params:{
|
data: {
|
||||||
// url_id:url_id,
|
url_id: url_id,
|
||||||
// icon_url:icon_url
|
icon_url: icon_url
|
||||||
// }
|
}
|
||||||
// }).then(function (res) {
|
}).then(function (res) {
|
||||||
// if(res.data){
|
if (res.data) {
|
||||||
// _this.navList=res.data;
|
_this.imageCode = "data:image/jpg;base64," + res.data;
|
||||||
// }
|
}
|
||||||
// }).catch((error)=>{
|
return false;
|
||||||
// Vue.prototype.$notify.error({
|
}).catch((error) => {
|
||||||
// title: '错误',
|
Vue.prototype.$notify.error({
|
||||||
// message: error===null?'':error,
|
title: '错误',
|
||||||
// offset: 0
|
message: error === null ? '' : error,
|
||||||
// });
|
offset: 0
|
||||||
// })
|
});
|
||||||
//
|
})
|
||||||
// },
|
return this.imageCode
|
||||||
goToNavDetail(){
|
},
|
||||||
if(this.nav.urlId){
|
goToNavDetail() {
|
||||||
|
if (this.nav.urlId) {
|
||||||
let pathInfo = this.$router.resolve({
|
let pathInfo = this.$router.resolve({
|
||||||
path: '/nav',
|
path: '/nav',
|
||||||
query:{
|
query: {
|
||||||
uid:this.nav.urlId,
|
uid: this.nav.urlId,
|
||||||
refresh:true,
|
refresh: true,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
window.open(pathInfo.href, '_self');
|
window.open(pathInfo.href, '_self');
|
||||||
}else{
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -117,7 +120,7 @@ export default {
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
overflow-x: scroll;
|
overflow-x: scroll;
|
||||||
color: var(--theme-color);
|
color: var(--theme-color);
|
||||||
/*background-color: var(--theme-bg-color);*/
|
/*background-color: var(--theme-bg-color);*/
|
||||||
}
|
}
|
||||||
|
|
||||||
.content-desc {
|
.content-desc {
|
||||||
@ -129,17 +132,20 @@ export default {
|
|||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
overflow-x: scroll;
|
overflow-x: scroll;
|
||||||
/*background-color: var(--theme-bg-color);*/
|
/*background-color: var(--theme-bg-color);*/
|
||||||
}
|
}
|
||||||
.card-icon{
|
|
||||||
|
.card-icon {
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: var(--theme-color);
|
color: var(--theme-color);
|
||||||
}
|
}
|
||||||
.card-icon:hover{
|
|
||||||
|
.card-icon:hover {
|
||||||
color: #5ddcff;
|
color: #5ddcff;
|
||||||
}
|
}
|
||||||
.qr:hover{
|
|
||||||
|
.qr:hover {
|
||||||
color: #5ddcff;
|
color: #5ddcff;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
@ -1,4 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<div class="wrapper">
|
||||||
|
<LeftSide :category="category"></LeftSide>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<NewsCard :loading="loading" :news="baidu"></NewsCard>
|
<NewsCard :loading="loading" :news="baidu"></NewsCard>
|
||||||
<NewsCard :loading="loading" :news="douying"></NewsCard>
|
<NewsCard :loading="loading" :news="douying"></NewsCard>
|
||||||
@ -7,47 +9,51 @@
|
|||||||
<NewsCard :loading="loading" :news="bili"></NewsCard>
|
<NewsCard :loading="loading" :news="bili"></NewsCard>
|
||||||
<NewsCard :loading="loading" :news="toutiao"></NewsCard>
|
<NewsCard :loading="loading" :news="toutiao"></NewsCard>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import NewsCard from "@/components/hotNews/NewsCard.vue";
|
import NewsCard from "@/components/hotNews/NewsCard.vue";
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import Vue from "vue";
|
import Vue from "vue";
|
||||||
|
import LeftSide from "@/components/home/LeftSide.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "HotNews",
|
name: "HotNews",
|
||||||
components: {NewsCard},
|
components: {LeftSide, NewsCard},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loading:true,
|
loading: true,
|
||||||
baidu:{
|
category:[],
|
||||||
title:"百度热搜榜",
|
baidu: {
|
||||||
hot:[],
|
title: "百度热搜榜",
|
||||||
icon:'https://imgbed.landaiqing.space/img/1/2023/12/23/1_6586a2ba0bd25_1703322296568_20231223.webp',
|
hot: [],
|
||||||
|
icon: 'https://imgbed.landaiqing.space/img/1/2023/12/23/1_6586a2ba0bd25_1703322296568_20231223.webp',
|
||||||
},
|
},
|
||||||
douying:{
|
douying: {
|
||||||
title:"抖音热搜榜",
|
title: "抖音热搜榜",
|
||||||
hot:[],
|
hot: [],
|
||||||
icon:'https://imgbed.landaiqing.space/img/1/2023/12/23/1_6586a50348009_1703322881030_20231223.webp',
|
icon: 'https://imgbed.landaiqing.space/img/1/2023/12/23/1_6586a50348009_1703322881030_20231223.webp',
|
||||||
},
|
},
|
||||||
weibo:{
|
weibo: {
|
||||||
title:"微博热搜榜",
|
title: "微博热搜榜",
|
||||||
hot:[],
|
hot: [],
|
||||||
icon:'https://imgbed.landaiqing.space/img/1/2023/12/23/1_6586a7fe6bebd_1703323645679_20231223.webp',
|
icon: 'https://imgbed.landaiqing.space/img/1/2023/12/23/1_6586a7fe6bebd_1703323645679_20231223.webp',
|
||||||
},
|
},
|
||||||
zhihu:{
|
zhihu: {
|
||||||
title:"知乎热搜榜",
|
title: "知乎热搜榜",
|
||||||
hot:[],
|
hot: [],
|
||||||
icon:'https://imgbed.landaiqing.space/img/1/2023/12/23/1_6586a93b167e7_1703323961912_20231223.webp',
|
icon: 'https://imgbed.landaiqing.space/img/1/2023/12/23/1_6586a93b167e7_1703323961912_20231223.webp',
|
||||||
},
|
},
|
||||||
bili:{
|
bili: {
|
||||||
title:"哔哩哔哩热搜榜",
|
title: "哔哩哔哩热搜榜",
|
||||||
hot:[],
|
hot: [],
|
||||||
icon:'https://imgbed.landaiqing.space/img/1/2023/12/23/1_6586a9f967d58_1703324152309_20231223.webp',
|
icon: 'https://imgbed.landaiqing.space/img/1/2023/12/23/1_6586a9f967d58_1703324152309_20231223.webp',
|
||||||
},
|
},
|
||||||
toutiao:{
|
toutiao: {
|
||||||
title:"今日头条热搜榜",
|
title: "今日头条热搜榜",
|
||||||
hot:[],
|
hot: [],
|
||||||
icon:'https://imgbed.landaiqing.space/img/1/2023/12/23/1_6586aa87a24ab_1703324293242_20231223.webp',
|
icon: 'https://imgbed.landaiqing.space/img/1/2023/12/23/1_6586aa87a24ab_1703324293242_20231223.webp',
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -58,12 +64,35 @@ export default {
|
|||||||
this.getZhiHuHot();
|
this.getZhiHuHot();
|
||||||
this.getBiliHot();
|
this.getBiliHot();
|
||||||
this.getTouTiaoHot();
|
this.getTouTiaoHot();
|
||||||
|
this.getCategories();
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
|
||||||
},
|
},
|
||||||
computed: {},
|
computed: {},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
||||||
|
getCategories() {
|
||||||
|
let _this = this;
|
||||||
|
axios({
|
||||||
|
method: 'post',
|
||||||
|
url: '/api/UrlAndCate/disposeBookmarkExhibitedToJson',
|
||||||
|
}).then(function (res) {
|
||||||
|
// console.log(res);
|
||||||
|
if (res.data.data) {
|
||||||
|
_this.category = res.data.data;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}).catch((error) => {
|
||||||
|
Vue.prototype.$notify.error({
|
||||||
|
title: '错误',
|
||||||
|
message: error,
|
||||||
|
offset: 0
|
||||||
|
});
|
||||||
|
})
|
||||||
|
},
|
||||||
getBaiDuHot() {
|
getBaiDuHot() {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
axios({
|
axios({
|
||||||
@ -77,8 +106,8 @@ export default {
|
|||||||
offset: 0
|
offset: 0
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
_this.loading=false;
|
_this.loading = false;
|
||||||
_this.baidu.hot=res.data.data;
|
_this.baidu.hot = res.data.data;
|
||||||
}
|
}
|
||||||
|
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
@ -102,8 +131,8 @@ export default {
|
|||||||
offset: 0
|
offset: 0
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
_this.douying.hot=res.data.data;
|
_this.douying.hot = res.data.data;
|
||||||
_this.loading=false;
|
_this.loading = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
@ -127,8 +156,8 @@ export default {
|
|||||||
offset: 0
|
offset: 0
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
_this.weibo.hot=res.data.data;
|
_this.weibo.hot = res.data.data;
|
||||||
_this.loading=false;
|
_this.loading = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
@ -152,8 +181,8 @@ export default {
|
|||||||
offset: 0
|
offset: 0
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
_this.zhihu.hot=res.data.data;
|
_this.zhihu.hot = res.data.data;
|
||||||
_this.loading=false;
|
_this.loading = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
@ -177,8 +206,8 @@ export default {
|
|||||||
offset: 0
|
offset: 0
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
_this.bili.hot=res.data.data;
|
_this.bili.hot = res.data.data;
|
||||||
_this.loading=false;
|
_this.loading = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
@ -202,8 +231,8 @@ export default {
|
|||||||
offset: 0
|
offset: 0
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
_this.toutiao.hot=res.data.data;
|
_this.toutiao.hot = res.data.data;
|
||||||
_this.loading=false;
|
_this.loading = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
|
@ -1,56 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<div class="wrapper">
|
||||||
|
<LeftSide :category="category"></LeftSide>
|
||||||
<div class="main-container">
|
<div class="main-container">
|
||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<div class="content-section">
|
<div v-for="(item,index) in userNavList" :key="index" class="content-section">
|
||||||
<div class="content-section-title">Apps in your plan</div>
|
<div :id="item.name" class="content-section-title">{{ item.name }}</div>
|
||||||
<div class="apps-card">
|
<div class="apps-card">
|
||||||
<div class="app-card">
|
<NavList v-if="item.childUC" v-for="(item,index2) in item.childUC" :key="index2" :nav="item"></NavList>
|
||||||
<span>
|
|
||||||
<svg viewBox="0 0 512 512" style="border: 1px solid #a059a9">
|
|
||||||
<path xmlns="http://www.w3.org/2000/svg" d="M480 0H32C14.368 0 0 14.368 0 32v448c0 17.664 14.368 32 32 32h448c17.664 0 32-14.336 32-32V32c0-17.632-14.336-32-32-32z" fill="#210027" data-original="#7b1fa2"></path>
|
|
||||||
<g xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M192 64h-80c-8.832 0-16 7.168-16 16v352c0 8.832 7.168 16 16 16s16-7.168 16-16V256h64c52.928 0 96-43.072 96-96s-43.072-96-96-96zm0 160h-64V96h64c35.296 0 64 28.704 64 64s-28.704 64-64 64zM400 256h-32c-18.08 0-34.592 6.24-48 16.384V272c0-8.864-7.168-16-16-16s-16 7.136-16 16v160c0 8.832 7.168 16 16 16s16-7.168 16-16v-96c0-26.464 21.536-48 48-48h32c8.832 0 16-7.168 16-16s-7.168-16-16-16z" fill="#f6e7fa" data-original="#e1bee7"></path>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
Premiere Pro
|
|
||||||
</span>
|
|
||||||
<div class="app-card__subtext">Edit, master and create fully proffesional videos</div>
|
|
||||||
<div class="app-card-buttons">
|
|
||||||
<button class="content-button status-button">Update</button>
|
|
||||||
<div class="menu"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="app-card">
|
|
||||||
<span>
|
|
||||||
<svg viewBox="0 0 52 52" style="border: 1px solid #c1316d">
|
|
||||||
<g xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M40.824 52H11.176C5.003 52 0 46.997 0 40.824V11.176C0 5.003 5.003 0 11.176 0h29.649C46.997 0 52 5.003 52 11.176v29.649C52 46.997 46.997 52 40.824 52z" fill="#2f0015" data-original="#6f2b41"></path>
|
|
||||||
<path d="M18.08 39H15.2V13.72l-2.64-.08V11h5.52v28zM27.68 19.4c1.173-.507 2.593-.761 4.26-.761s3.073.374 4.22 1.12V11h2.88v28c-2.293.32-4.414.48-6.36.48-1.947 0-3.707-.4-5.28-1.2-2.08-1.066-3.12-2.92-3.12-5.561v-7.56c0-2.799 1.133-4.719 3.4-5.759zm8.48 3.12c-1.387-.746-2.907-1.119-4.56-1.119-1.574 0-2.714.406-3.42 1.22-.707.813-1.06 1.847-1.06 3.1v7.12c0 1.227.44 2.188 1.32 2.88.96.719 2.146 1.079 3.56 1.079 1.413 0 2.8-.106 4.16-.319V22.52z" fill="#e1c1cf" data-original="#ff70bd"></path>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
InDesign
|
|
||||||
</span>
|
|
||||||
<div class="app-card__subtext">Design and publish great projects & mockups</div>
|
|
||||||
<div class="app-card-buttons">
|
|
||||||
<button class="content-button status-button">Update</button>
|
|
||||||
<div class="menu"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="app-card">
|
|
||||||
<span>
|
|
||||||
<svg viewBox="0 0 52 52" style="border: 1px solid #C75DEB">
|
|
||||||
<g xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M40.824 52H11.176C5.003 52 0 46.997 0 40.824V11.176C0 5.003 5.003 0 11.176 0h29.649C46.997 0 52 5.003 52 11.176v29.649C52 46.997 46.997 52 40.824 52z" fill="#3a3375" data-original="#3a3375"></path>
|
|
||||||
<path d="M27.44 39H24.2l-2.76-9.04h-8.32L10.48 39H7.36l8.24-28h3.32l8.52 28zm-6.72-12l-3.48-11.36L13.88 27h6.84zM31.48 33.48c0 2.267 1.333 3.399 4 3.399 1.653 0 3.466-.546 5.44-1.64L42 37.6c-2.054 1.254-4.2 1.881-6.44 1.881-4.64 0-6.96-1.946-6.96-5.841v-8.2c0-2.16.673-3.841 2.02-5.04 1.346-1.2 3.126-1.801 5.34-1.801s3.94.594 5.18 1.78c1.24 1.187 1.86 2.834 1.86 4.94V30.8l-11.52.6v2.08zm8.6-5.24v-3.08c0-1.413-.44-2.42-1.32-3.021-.88-.6-1.907-.899-3.08-.899-1.174 0-2.167.359-2.98 1.08-.814.72-1.22 1.773-1.22 3.16v3.199l8.6-.439z" fill="#e4d1eb" data-original="#e7adfb"></path>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
After Effects
|
|
||||||
</span>
|
|
||||||
<div class="app-card__subtext">Industry Standart motion graphics & visual effects</div>
|
|
||||||
<div class="app-card-buttons">
|
|
||||||
<button class="content-button status-button">Update</button>
|
|
||||||
<div class="menu"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -60,31 +16,112 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import $ from 'jquery'
|
import $ from 'jquery'
|
||||||
|
import NavList from "@/components/home/NavList.vue";
|
||||||
|
import axios from "axios";
|
||||||
|
import Vue from "vue";
|
||||||
|
import LeftSide from "@/components/home/LeftSide.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name:"MyNav",
|
name: "MyNav",
|
||||||
components:{
|
components: {
|
||||||
|
LeftSide,
|
||||||
|
NavList
|
||||||
// MainHeader
|
// MainHeader
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
userNavList: [],
|
||||||
}},
|
category: [],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 监听,当路由发生变化的时候执行
|
||||||
|
watch: {
|
||||||
|
'$route': 'getPath'
|
||||||
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.Fun1();
|
this.Fun1();
|
||||||
this.Fun2();
|
this.Fun2();
|
||||||
this.Fun3();
|
this.Fun3();
|
||||||
this.Fun4();
|
this.Fun4();
|
||||||
this.dropdownFun();
|
this.dropdownFun();
|
||||||
|
this.getUserNav();
|
||||||
|
this.getCategoriesByUser();
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {},
|
||||||
|
methods: {
|
||||||
|
getCategoriesByUser(){
|
||||||
|
let _this = this;
|
||||||
|
if(localStorage.getItem('userId')&&localStorage.getItem('Authorization')){
|
||||||
|
axios({
|
||||||
|
method: 'post',
|
||||||
|
url: '/api/UrlAndCate/disposeBookmarkToJsonByUserId',
|
||||||
|
params:{
|
||||||
|
userId:localStorage.getItem('userId')
|
||||||
|
}
|
||||||
|
}).then(function (res) {
|
||||||
|
if (res.data.data) {
|
||||||
|
_this.category = res.data.data;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}).catch((error) => {
|
||||||
|
Vue.prototype.$notify.error({
|
||||||
|
title: '错误',
|
||||||
|
message: error,
|
||||||
|
offset: 0
|
||||||
|
});
|
||||||
|
})
|
||||||
|
}else {
|
||||||
|
Vue.prototype.$notify.error({
|
||||||
|
title: '错误',
|
||||||
|
message: "登录信息失效,请重新登录",
|
||||||
|
offset: 0
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
|
||||||
Fun1(){
|
getPath() {
|
||||||
|
document.querySelector(this.$route.query.name).scrollIntoView(true)
|
||||||
|
},
|
||||||
|
|
||||||
|
getUserNav() {
|
||||||
|
let _this = this;
|
||||||
|
if (localStorage.getItem("userId")) {
|
||||||
|
axios({
|
||||||
|
method: 'post',
|
||||||
|
url: '/api/UrlAndCate/disposeBookmarkToJson',
|
||||||
|
params: {
|
||||||
|
userId: localStorage.getItem("userId"),
|
||||||
|
}
|
||||||
|
}).then(function (res) {
|
||||||
|
if (res.data) {
|
||||||
|
_this.userNavList = res.data;
|
||||||
|
}
|
||||||
|
|
||||||
|
}).catch((error) => {
|
||||||
|
Vue.prototype.$notify.error({
|
||||||
|
title: '错误',
|
||||||
|
message: error === null ? '' : error,
|
||||||
|
offset: 0
|
||||||
|
});
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
Vue.prototype.$notify.error({
|
||||||
|
title: '错误',
|
||||||
|
message: "请先登录!",
|
||||||
|
offset: 0
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
Fun1() {
|
||||||
$(document).click(function (e) {
|
$(document).click(function (e) {
|
||||||
var container = $(".status-button");
|
var container = $(".status-button");
|
||||||
var dd = $(".dropdown");
|
var dd = $(".dropdown");
|
||||||
@ -93,7 +130,7 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
Fun2(){
|
Fun2() {
|
||||||
$(".status-button:not(.open)").on("click", function () {
|
$(".status-button:not(.open)").on("click", function () {
|
||||||
$(".overlay-app").addClass("is-active");
|
$(".overlay-app").addClass("is-active");
|
||||||
});
|
});
|
||||||
@ -101,17 +138,17 @@ export default {
|
|||||||
$(".overlay-app").removeClass("is-active");
|
$(".overlay-app").removeClass("is-active");
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
Fun3(){
|
Fun3() {
|
||||||
$(".status-button:not(.open)").click(function () {
|
$(".status-button:not(.open)").click(function () {
|
||||||
$(".pop-up").addClass("visible");
|
$(".pop-up").addClass("visible");
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
Fun4(){
|
Fun4() {
|
||||||
$(".pop-up .close").click(function () {
|
$(".pop-up .close").click(function () {
|
||||||
$(".pop-up").removeClass("visible");
|
$(".pop-up").removeClass("visible");
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
dropdownFun(){
|
dropdownFun() {
|
||||||
const dropdowns = document.querySelectorAll(".dropdown");
|
const dropdowns = document.querySelectorAll(".dropdown");
|
||||||
dropdowns.forEach(dropdown => {
|
dropdowns.forEach(dropdown => {
|
||||||
dropdown.addEventListener("click", e => {
|
dropdown.addEventListener("click", e => {
|
||||||
@ -120,7 +157,7 @@ export default {
|
|||||||
dropdown.classList.add("is-active");
|
dropdown.classList.add("is-active");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
263
src/components/setting/home/HomeEChart.vue
Normal file
263
src/components/setting/home/HomeEChart.vue
Normal file
@ -0,0 +1,263 @@
|
|||||||
|
<template>
|
||||||
|
<div id="main">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import * as echarts from 'echarts'
|
||||||
|
import Vue from "vue";
|
||||||
|
Vue.prototype.$echarts = echarts;
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "HomeEChart",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
dataList :
|
||||||
|
[{
|
||||||
|
name: "南海诸岛",
|
||||||
|
value: 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '北京',
|
||||||
|
value: 54
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '天津',
|
||||||
|
value: 13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '上海',
|
||||||
|
value: 40
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '重庆',
|
||||||
|
value: 75
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '河北',
|
||||||
|
value: 13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '河南',
|
||||||
|
value: 83
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '云南',
|
||||||
|
value: 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '辽宁',
|
||||||
|
value: 19
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '黑龙江',
|
||||||
|
value: 15
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '湖南',
|
||||||
|
value: 69
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '安徽',
|
||||||
|
value: 60
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '山东',
|
||||||
|
value: 39
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '新疆',
|
||||||
|
value: 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '江苏',
|
||||||
|
value: 31
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '浙江',
|
||||||
|
value: 104
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '江西',
|
||||||
|
value: 36
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '湖北',
|
||||||
|
value: 1052
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '广西',
|
||||||
|
value: 33
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '甘肃',
|
||||||
|
value: 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '山西',
|
||||||
|
value: 9
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '内蒙古',
|
||||||
|
value: 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '陕西',
|
||||||
|
value: 22
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '吉林',
|
||||||
|
value: 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '福建',
|
||||||
|
value: 18
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '贵州',
|
||||||
|
value: 5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '广东',
|
||||||
|
value: 98
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '青海',
|
||||||
|
value: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '西藏',
|
||||||
|
value: 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '四川',
|
||||||
|
value: 44
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '宁夏',
|
||||||
|
value: 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '海南',
|
||||||
|
value: 22
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '台湾',
|
||||||
|
value: 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '香港',
|
||||||
|
value: 5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '澳门',
|
||||||
|
value: 5
|
||||||
|
}
|
||||||
|
],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.eChartChina();
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
computed: {},
|
||||||
|
methods: {
|
||||||
|
eChartChina(){
|
||||||
|
var myChart = echarts.init(document.getElementById('main'));
|
||||||
|
|
||||||
|
var option = {
|
||||||
|
tooltip: {
|
||||||
|
triggerOn: "click",
|
||||||
|
formatter: function(e, t, n) {
|
||||||
|
return .5 == e.value ? e.name + ":登录次数" : e.seriesName + "<br />" + e.name + ":" + e.value
|
||||||
|
}
|
||||||
|
},
|
||||||
|
visualMap: {
|
||||||
|
min: 0,
|
||||||
|
max: 1000,
|
||||||
|
top: 10,
|
||||||
|
// left: 26,
|
||||||
|
// bottom: 40,
|
||||||
|
showLabel: !0,
|
||||||
|
text: ["高", "低"],
|
||||||
|
pieces: [{
|
||||||
|
gt: 100,
|
||||||
|
label: "> 100 次",
|
||||||
|
color: "#7f1100"
|
||||||
|
}, {
|
||||||
|
gte: 10,
|
||||||
|
lte: 100,
|
||||||
|
label: "10 - 100 次",
|
||||||
|
color: "#ff5428"
|
||||||
|
}, {
|
||||||
|
gte: 1,
|
||||||
|
lt: 10,
|
||||||
|
label: "1 - 9 次",
|
||||||
|
color: "#ff8c71"
|
||||||
|
}, {
|
||||||
|
value: 0,
|
||||||
|
color: "#ffffff"
|
||||||
|
}],
|
||||||
|
show: !0
|
||||||
|
},
|
||||||
|
geo: {
|
||||||
|
map: "china",
|
||||||
|
roam: !1,
|
||||||
|
scaleLimit: {
|
||||||
|
min: 1,
|
||||||
|
max: 2
|
||||||
|
},
|
||||||
|
zoom: 1,
|
||||||
|
top: 50,
|
||||||
|
label: {
|
||||||
|
normal: {
|
||||||
|
show: !0,
|
||||||
|
fontSize: "14",
|
||||||
|
color: "rgba(0,0,0,0.7)"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
itemStyle: {
|
||||||
|
normal: {
|
||||||
|
//shadowBlur: 50,
|
||||||
|
//shadowColor: 'rgba(0, 0, 0, 0.2)',
|
||||||
|
borderColor: "rgba(0, 0, 0, 0.2)"
|
||||||
|
},
|
||||||
|
emphasis: {
|
||||||
|
areaColor: "#f2d5ad",
|
||||||
|
shadowOffsetX: 0,
|
||||||
|
shadowOffsetY: 0,
|
||||||
|
borderWidth: 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
series: [{
|
||||||
|
name: "登录次数",
|
||||||
|
type: "map",
|
||||||
|
geoIndex: 0,
|
||||||
|
data: this.dataList
|
||||||
|
}]
|
||||||
|
};
|
||||||
|
|
||||||
|
myChart.clear();
|
||||||
|
myChart.setOption(option, true);
|
||||||
|
//图表大小变动从新渲染,动态自适应
|
||||||
|
window.addEventListener("resize", function () {
|
||||||
|
myChart.resize();
|
||||||
|
});
|
||||||
|
myChart.resize({
|
||||||
|
width: 600,
|
||||||
|
height: 500
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
.main{
|
||||||
|
width: 600px;
|
||||||
|
height: 500px;
|
||||||
|
}
|
||||||
|
</style>
|
64
src/components/setting/home/InfoCard.vue
Normal file
64
src/components/setting/home/InfoCard.vue
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
<template>
|
||||||
|
<div class="info-card">
|
||||||
|
<div class="icon">
|
||||||
|
<img style="width: 70px;height: 70px;margin-left: 10px" src="@/assets/img/bookmark.png">
|
||||||
|
</div>
|
||||||
|
<div class="content">
|
||||||
|
<span class="content-info">4655 /个</span>
|
||||||
|
<span class="content-tag">书签个数</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "InfoCard",
|
||||||
|
data() {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
computed: {},
|
||||||
|
methods: {}
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
.info-card{
|
||||||
|
justify-content: space-between;
|
||||||
|
width: 300px;
|
||||||
|
height: 100px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
border-radius: 20px;
|
||||||
|
border: 1px solid;
|
||||||
|
border-color:var(--border-color);
|
||||||
|
background-color: var(--theme-bg-color);
|
||||||
|
color: var(--theme-color);
|
||||||
|
}
|
||||||
|
.icon{
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.content{
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
margin-right: 20px;
|
||||||
|
}
|
||||||
|
.content-info{
|
||||||
|
font-weight: bolder;
|
||||||
|
font-size: 30px;
|
||||||
|
color: var(--theme-color);
|
||||||
|
}
|
||||||
|
.content-tag{
|
||||||
|
text-align: end;
|
||||||
|
font-size: 18px;
|
||||||
|
color: var(--theme-color);
|
||||||
|
font-weight: bolder;
|
||||||
|
}
|
||||||
|
</style>
|
@ -1,29 +1,46 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
|
<div style="display: flex">
|
||||||
|
<div>
|
||||||
<PersonalInfoCard></PersonalInfoCard>
|
<PersonalInfoCard></PersonalInfoCard>
|
||||||
</div>
|
</div>
|
||||||
|
<div style="flex-direction: column;display: flex">
|
||||||
|
<div style="display: flex;flex-direction: row;margin-left: 40px;margin-top: 10px">
|
||||||
|
<InfoCard></InfoCard>
|
||||||
|
<InfoCard style="margin-left: 10px"></InfoCard>
|
||||||
|
</div>
|
||||||
|
<HomeEChart style="margin-left: 40px"></HomeEChart>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import PersonalInfoCard from "@/components/setting/home/PersonalInfoCard.vue";
|
import PersonalInfoCard from "@/components/setting/home/PersonalInfoCard.vue";
|
||||||
|
import InfoCard from "@/components/setting/home/InfoCard.vue";
|
||||||
|
import HomeEChart from "@/components/setting/home/HomeEChart.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "PersonalHomePage",
|
name: "PersonalHomePage",
|
||||||
components: {PersonalInfoCard},
|
components: {HomeEChart, InfoCard, PersonalInfoCard},
|
||||||
data() {
|
data() {
|
||||||
return {}
|
return {}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
|
||||||
},
|
},
|
||||||
computed: {},
|
computed: {},
|
||||||
methods: {
|
methods: {}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
.main {
|
||||||
|
//display: flex; //align-items: center; //flex-direction: row;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
@ -2,10 +2,6 @@
|
|||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="menu-circle"></div>
|
<div class="menu-circle"></div>
|
||||||
<div class="header-menu">
|
<div class="header-menu">
|
||||||
<!-- <router-link to="/home"><a class="menu-link is-active" >ALL</a></router-link>-->
|
|
||||||
<!-- <router-link to="/hotNews"><a class="menu-link notify">HotNews</a></router-link>-->
|
|
||||||
<!-- <router-link to="/navDetail"><a class="menu-link">Discover</a></router-link>-->
|
|
||||||
<!-- <a class="menu-link notify" href="#">Market</a>-->
|
|
||||||
</div>
|
</div>
|
||||||
<div class="search-bar">
|
<div class="search-bar">
|
||||||
<input type="text" placeholder="Search">
|
<input type="text" placeholder="Search">
|
||||||
@ -13,19 +9,31 @@
|
|||||||
<div class="header-profile">
|
<div class="header-profile">
|
||||||
<div class="notification">
|
<div class="notification">
|
||||||
<span class="notification-number">3</span>
|
<span class="notification-number">3</span>
|
||||||
<svg viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-bell">
|
<div class="notice-div">
|
||||||
<path d="M18 8A6 6 0 006 8c0 7-3 9-3 9h18s-3-2-3-9M13.73 21a2 2 0 01-3.46 0"></path>
|
<i class="notice el-icon-message-solid"></i>
|
||||||
</svg>
|
|
||||||
</div>
|
</div>
|
||||||
<svg viewBox="0 0 512 512" fill="currentColor">
|
</div>
|
||||||
<path d="M448.773 235.551A135.893 135.893 0 00451 211c0-74.443-60.557-135-135-135-47.52 0-91.567 25.313-115.766 65.537-32.666-10.59-66.182-6.049-93.794 12.979-27.612 19.013-44.092 49.116-45.425 82.031C24.716 253.788 0 290.497 0 331c0 7.031 1.703 13.887 3.006 20.537l.015.015C12.719 400.492 56.034 436 106 436h300c57.891 0 106-47.109 106-105 0-40.942-25.053-77.798-63.227-95.449z"></path>
|
<el-tooltip class="item" effect="dark" content="上传书签" placement="bottom">
|
||||||
</svg>
|
<div class="upload-div" @click="upload">
|
||||||
<img @click="openLoginDialog" class="profile-img" src="https://images.unsplash.com/photo-1600353068440-6361ef3a86e8?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1000&q=80" alt="">
|
<i class="upload el-icon-upload"></i>
|
||||||
|
</div>
|
||||||
|
</el-tooltip>
|
||||||
|
<el-dropdown @command="handleCommand">
|
||||||
|
<div class="avatar-div"
|
||||||
|
style="border-radius: 50px;width: 44px;height: 44px;margin-left: 20px;cursor: pointer">
|
||||||
|
<el-avatar> user</el-avatar>
|
||||||
|
</div>
|
||||||
|
<el-dropdown-menu slot="dropdown">
|
||||||
|
<el-dropdown-item command="home">返回首页</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="signOut">退出登录</el-dropdown-item>
|
||||||
|
</el-dropdown-menu>
|
||||||
|
</el-dropdown>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import $ from 'jquery'
|
import $ from 'jquery'
|
||||||
|
import Vue from "vue";
|
||||||
export default {
|
export default {
|
||||||
name:"SettingHeader",
|
name:"SettingHeader",
|
||||||
components:{
|
components:{
|
||||||
@ -46,10 +54,55 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
openLoginDialog(){
|
handleCommand(cmditem) {
|
||||||
this.loginDialogVisible=true;
|
if (!cmditem) {
|
||||||
|
this.$message("菜单选项缺少command属性");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
switch (cmditem) {
|
||||||
|
case "signOut":
|
||||||
|
this.signOut();
|
||||||
|
break;
|
||||||
|
case "home":
|
||||||
|
this.goToHome();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
goToHome(){
|
||||||
|
this.$router.push({
|
||||||
|
path:'/home',
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
signOut(){
|
||||||
|
localStorage.removeItem("Authorization")
|
||||||
|
localStorage.removeItem("userId")
|
||||||
|
localStorage.removeItem("userRole")
|
||||||
|
this.$router.push({
|
||||||
|
path:'/home',
|
||||||
|
})
|
||||||
|
// setTimeout(()=>{
|
||||||
|
// window.location.reload()
|
||||||
|
// },1000)
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
upload(){
|
||||||
|
if(localStorage.getItem('Authorization')&&localStorage.getItem('userId')){
|
||||||
|
this.$router.push({
|
||||||
|
path:'/importExport',
|
||||||
|
})
|
||||||
|
}else {
|
||||||
|
Vue.prototype.$notify.error({
|
||||||
|
title: '错误',
|
||||||
|
message: "登录状态失效,请重新登录!",
|
||||||
|
offset: 0
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
toggleActive(){
|
toggleActive(){
|
||||||
$(function () {
|
$(function () {
|
||||||
$(".menu-link").click(function () {
|
$(".menu-link").click(function () {
|
||||||
@ -58,19 +111,51 @@ export default {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// reacherBarFun(){
|
|
||||||
// $(".search-bar input").
|
|
||||||
// focus(function () {
|
|
||||||
// $(".header").addClass("wide");
|
|
||||||
// }).
|
|
||||||
// blur(function () {
|
|
||||||
// $(".header").removeClass("wide");
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
.upload {
|
||||||
|
font-size: 25px;
|
||||||
|
font-weight: bold;
|
||||||
|
color: var(--theme-color);
|
||||||
|
|
||||||
|
}
|
||||||
|
.notice {
|
||||||
|
font-size: 25px;
|
||||||
|
font-weight: bold;
|
||||||
|
color: var(--theme-color);
|
||||||
|
}
|
||||||
|
.upload-div {
|
||||||
|
border-radius: 50px;
|
||||||
|
width: 32px;
|
||||||
|
height: 32px;
|
||||||
|
margin-left: 20px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.upload-div:hover {
|
||||||
|
border: 2px solid var(--theme-color);
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.notice-div {
|
||||||
|
border-radius: 50px;
|
||||||
|
width: 32px;
|
||||||
|
height: 32px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notice-div:hover {
|
||||||
|
border: 2px solid var(--theme-color);
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.avatar-div:hover {
|
||||||
|
border: 2px solid var(--theme-color);
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -42,6 +42,7 @@ const $ = require('jquery');
|
|||||||
window.$ = $;
|
window.$ = $;
|
||||||
|
|
||||||
import * as echarts from 'echarts';//引入echarts
|
import * as echarts from 'echarts';//引入echarts
|
||||||
|
import '@/assets/js/china';
|
||||||
Vue.prototype.$echarts = echarts //引入组件
|
Vue.prototype.$echarts = echarts //引入组件
|
||||||
|
|
||||||
Vue.config.productionTip = false
|
Vue.config.productionTip = false
|
||||||
|
@ -6,6 +6,8 @@ Vue.use(Vuex)
|
|||||||
export default new Vuex.Store({
|
export default new Vuex.Store({
|
||||||
state: {
|
state: {
|
||||||
theme:'dark',
|
theme:'dark',
|
||||||
|
userId:localStorage.getItem('userId') ? localStorage.getItem('userId') : '',
|
||||||
|
userRole:localStorage.getItem('userRole') ? localStorage.getItem('userRole') : '',
|
||||||
// 存储token
|
// 存储token
|
||||||
Authorization: localStorage.getItem('Authorization') ? localStorage.getItem('Authorization') : '',
|
Authorization: localStorage.getItem('Authorization') ? localStorage.getItem('Authorization') : '',
|
||||||
},
|
},
|
||||||
@ -19,7 +21,15 @@ export default new Vuex.Store({
|
|||||||
changeLogin (state, user) {
|
changeLogin (state, user) {
|
||||||
state.Authorization = user.Authorization;
|
state.Authorization = user.Authorization;
|
||||||
localStorage.setItem('Authorization', user.Authorization);
|
localStorage.setItem('Authorization', user.Authorization);
|
||||||
}
|
},
|
||||||
|
setUserId(state,user){
|
||||||
|
state.userId=user.userId;
|
||||||
|
localStorage.setItem('userId',user.userId);
|
||||||
|
},
|
||||||
|
setUserRole(state,user){
|
||||||
|
state.userRole=user.userRole;
|
||||||
|
localStorage.setItem('userRole',user.userRole);
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
27
src/utils/getIp.js
Normal file
27
src/utils/getIp.js
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
export function getUserIP(onNewIP) {
|
||||||
|
let MyPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
|
||||||
|
let pc = new MyPeerConnection({
|
||||||
|
iceServers: []
|
||||||
|
});
|
||||||
|
let noop = () => {
|
||||||
|
};
|
||||||
|
let localIPs = {};
|
||||||
|
let ipRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g;
|
||||||
|
let iterateIP = (ip) => {
|
||||||
|
if (!localIPs[ip]) onNewIP(ip);
|
||||||
|
localIPs[ip] = true;
|
||||||
|
};
|
||||||
|
pc.createDataChannel('');
|
||||||
|
pc.createOffer().then((sdp) => {
|
||||||
|
sdp.sdp.split('\n').forEach(function (line) {
|
||||||
|
if (line.indexOf('candidate') < 0) return;
|
||||||
|
line.match(ipRegex).forEach(iterateIP);
|
||||||
|
});
|
||||||
|
pc.setLocalDescription(sdp, noop, noop);
|
||||||
|
}).catch((reason) => {
|
||||||
|
});
|
||||||
|
pc.onicecandidate = (ice) => {
|
||||||
|
if (!ice || !ice.candidate || !ice.candidate.candidate || !ice.candidate.candidate.match(ipRegex)) return;
|
||||||
|
ice.candidate.candidate.match(ipRegex).forEach(iterateIP);
|
||||||
|
};
|
||||||
|
}
|
@ -1,45 +0,0 @@
|
|||||||
/**** http.js ****/
|
|
||||||
// 导入封装好的axios实例
|
|
||||||
import request from './request'
|
|
||||||
|
|
||||||
const http ={
|
|
||||||
/**
|
|
||||||
* methods: 请求
|
|
||||||
* @param url 请求地址
|
|
||||||
* @param params 请求参数
|
|
||||||
*/
|
|
||||||
get(url,params){
|
|
||||||
const config = {
|
|
||||||
method: 'get',
|
|
||||||
url:url
|
|
||||||
}
|
|
||||||
if(params) config.params = params
|
|
||||||
return request(config)
|
|
||||||
},
|
|
||||||
post(url,params){
|
|
||||||
const config = {
|
|
||||||
method: 'post',
|
|
||||||
url:url
|
|
||||||
}
|
|
||||||
if(params) config.data = params
|
|
||||||
return request(config)
|
|
||||||
},
|
|
||||||
put(url,params){
|
|
||||||
const config = {
|
|
||||||
method: 'put',
|
|
||||||
url:url
|
|
||||||
}
|
|
||||||
if(params) config.params = params
|
|
||||||
return request(config)
|
|
||||||
},
|
|
||||||
delete(url,params){
|
|
||||||
const config = {
|
|
||||||
method: 'delete',
|
|
||||||
url:url
|
|
||||||
}
|
|
||||||
if(params) config.params = params
|
|
||||||
return request(config)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//导出
|
|
||||||
export default http
|
|
@ -1,97 +0,0 @@
|
|||||||
/**** request.js ****/
|
|
||||||
// 导入axios
|
|
||||||
import axios from 'axios'
|
|
||||||
// 使用element-ui Message做消息提醒
|
|
||||||
import { Message} from 'element-ui';
|
|
||||||
//1. 创建新的axios实例,
|
|
||||||
const service = axios.create({
|
|
||||||
// 公共接口--这里注意后面会讲
|
|
||||||
baseURL: '/api',
|
|
||||||
// 超时时间 单位是ms,这里设置了3s的超时时间
|
|
||||||
timeout: 3 * 1000
|
|
||||||
})
|
|
||||||
// 2.请求拦截器
|
|
||||||
service.interceptors.request.use(config => {
|
|
||||||
//发请求前做的一些处理,数据转化,配置请求头,设置token,设置loading等,根据需求去添加
|
|
||||||
config.data = JSON.stringify(config.data); //数据转化,也可以使用qs转换
|
|
||||||
config.headers = {
|
|
||||||
'Access-Control-Allow-Origin': '*',
|
|
||||||
"Content-Type": "application/json;charset=utf-8"
|
|
||||||
}
|
|
||||||
//如有需要:注意使用token的时候需要引入cookie方法或者用本地localStorage等方法,推荐js-cookie
|
|
||||||
//const token = getCookie('名称');//这里取token之前,你肯定需要先拿到token,存一下
|
|
||||||
//if(token){
|
|
||||||
//config.params = {'token':token} //如果要求携带在参数中
|
|
||||||
//config.headers.token= token; //如果要求携带在请求头中
|
|
||||||
//}
|
|
||||||
return config
|
|
||||||
}, error => {
|
|
||||||
Promise.reject(error)
|
|
||||||
})
|
|
||||||
|
|
||||||
// 3.响应拦截器
|
|
||||||
service.interceptors.response.use(response => {
|
|
||||||
//接收到响应数据并成功后的一些共有的处理,关闭loading等
|
|
||||||
|
|
||||||
return response
|
|
||||||
}, error => {
|
|
||||||
/***** 接收到异常响应的处理开始 *****/
|
|
||||||
if (error && error.response) {
|
|
||||||
// 1.公共错误处理
|
|
||||||
// 2.根据响应码具体处理
|
|
||||||
switch (error.response.status) {
|
|
||||||
case 400:
|
|
||||||
error.message = '错误请求'
|
|
||||||
break;
|
|
||||||
case 401:
|
|
||||||
error.message = '未授权,请重新登录'
|
|
||||||
break;
|
|
||||||
case 403:
|
|
||||||
error.message = '拒绝访问'
|
|
||||||
break;
|
|
||||||
case 404:
|
|
||||||
error.message = '请求错误,未找到该资源'
|
|
||||||
window.location.href = "/404"
|
|
||||||
break;
|
|
||||||
case 405:
|
|
||||||
error.message = '请求方法未允许'
|
|
||||||
break;
|
|
||||||
case 408:
|
|
||||||
error.message = '请求超时'
|
|
||||||
break;
|
|
||||||
case 500:
|
|
||||||
error.message = '服务器端出错'
|
|
||||||
break;
|
|
||||||
case 501:
|
|
||||||
error.message = '网络未实现'
|
|
||||||
break;
|
|
||||||
case 502:
|
|
||||||
error.message = '网络错误'
|
|
||||||
break;
|
|
||||||
case 503:
|
|
||||||
error.message = '服务不可用'
|
|
||||||
break;
|
|
||||||
case 504:
|
|
||||||
error.message = '网络超时'
|
|
||||||
break;
|
|
||||||
case 505:
|
|
||||||
error.message = 'http版本不支持该请求'
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
error.message = `连接错误${error.response.status}`
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// 超时处理
|
|
||||||
if (JSON.stringify(error).includes('timeout')) {
|
|
||||||
Message.error('服务器响应超时,请刷新当前页')
|
|
||||||
}
|
|
||||||
error.message = '连接服务器失败'
|
|
||||||
}
|
|
||||||
|
|
||||||
Message.error(error.message)
|
|
||||||
/***** 处理结束 *****/
|
|
||||||
//如果不需要错误处理,以上的处理过程都可省略
|
|
||||||
return Promise.resolve(error.response)
|
|
||||||
})
|
|
||||||
//4.导入文件
|
|
||||||
export default service
|
|
@ -1,233 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 通用js方法封装处理
|
|
||||||
* Copyright (c) 2019 tszh
|
|
||||||
*/
|
|
||||||
|
|
||||||
// 日期格式化
|
|
||||||
export function parseTime(time, pattern) {
|
|
||||||
if (arguments.length === 0 || !time) {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}'
|
|
||||||
let date
|
|
||||||
if (typeof time === 'object') {
|
|
||||||
date = time
|
|
||||||
} else {
|
|
||||||
if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
|
|
||||||
time = parseInt(time)
|
|
||||||
} else if (typeof time === 'string') {
|
|
||||||
time = time.replace(new RegExp(/-/gm), '/').replace('T', ' ').replace(new RegExp(/\.[\d]{3}/gm), '');
|
|
||||||
}
|
|
||||||
if ((typeof time === 'number') && (time.toString().length === 10)) {
|
|
||||||
time = time * 1000
|
|
||||||
}
|
|
||||||
date = new Date(time)
|
|
||||||
}
|
|
||||||
const formatObj = {
|
|
||||||
y: date.getFullYear(),
|
|
||||||
m: date.getMonth() + 1,
|
|
||||||
d: date.getDate(),
|
|
||||||
h: date.getHours(),
|
|
||||||
i: date.getMinutes(),
|
|
||||||
s: date.getSeconds(),
|
|
||||||
a: date.getDay()
|
|
||||||
}
|
|
||||||
const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
|
|
||||||
let value = formatObj[key]
|
|
||||||
// Note: getDay() returns 0 on Sunday
|
|
||||||
if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value] }
|
|
||||||
if (result.length > 0 && value < 10) {
|
|
||||||
value = '0' + value
|
|
||||||
}
|
|
||||||
return value || 0
|
|
||||||
})
|
|
||||||
return time_str
|
|
||||||
}
|
|
||||||
|
|
||||||
// 表单重置
|
|
||||||
export function resetForm(refName) {
|
|
||||||
if (this.$refs[refName]) {
|
|
||||||
this.$refs[refName].resetFields();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 添加日期范围
|
|
||||||
export function addDateRange(params, dateRange, propName) {
|
|
||||||
let search = params;
|
|
||||||
search.params = typeof (search.params) === 'object' && search.params !== null && !Array.isArray(search.params) ? search.params : {};
|
|
||||||
dateRange = Array.isArray(dateRange) ? dateRange : [];
|
|
||||||
if (typeof (propName) === 'undefined') {
|
|
||||||
search.params['beginTime'] = dateRange[0];
|
|
||||||
search.params['endTime'] = dateRange[1];
|
|
||||||
} else {
|
|
||||||
search.params['begin' + propName] = dateRange[0];
|
|
||||||
search.params['end' + propName] = dateRange[1];
|
|
||||||
}
|
|
||||||
return search;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 回显数据字典
|
|
||||||
export function selectDictLabel(datas, value) {
|
|
||||||
if (value === undefined) {
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
var actions = [];
|
|
||||||
Object.keys(datas).some((key) => {
|
|
||||||
if (datas[key].value == ('' + value)) {
|
|
||||||
actions.push(datas[key].label);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
})
|
|
||||||
if (actions.length === 0) {
|
|
||||||
actions.push(value);
|
|
||||||
}
|
|
||||||
return actions.join('');
|
|
||||||
}
|
|
||||||
|
|
||||||
// 回显数据字典(字符串、数组)
|
|
||||||
export function selectDictLabels(datas, value, separator) {
|
|
||||||
if (value === undefined || value.length ===0) {
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
if (Array.isArray(value)) {
|
|
||||||
value = value.join(",");
|
|
||||||
}
|
|
||||||
var actions = [];
|
|
||||||
var currentSeparator = undefined === separator ? "," : separator;
|
|
||||||
var temp = value.split(currentSeparator);
|
|
||||||
Object.keys(value.split(currentSeparator)).some((val) => {
|
|
||||||
var match = false;
|
|
||||||
Object.keys(datas).some((key) => {
|
|
||||||
if (datas[key].value == ('' + temp[val])) {
|
|
||||||
actions.push(datas[key].label + currentSeparator);
|
|
||||||
match = true;
|
|
||||||
}
|
|
||||||
})
|
|
||||||
if (!match) {
|
|
||||||
actions.push(temp[val] + currentSeparator);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
return actions.join('').substring(0, actions.join('').length - 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 字符串格式化(%s )
|
|
||||||
export function sprintf(str) {
|
|
||||||
var args = arguments, flag = true, i = 1;
|
|
||||||
str = str.replace(/%s/g, function () {
|
|
||||||
var arg = args[i++];
|
|
||||||
if (typeof arg === 'undefined') {
|
|
||||||
flag = false;
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
return arg;
|
|
||||||
});
|
|
||||||
return flag ? str : '';
|
|
||||||
}
|
|
||||||
|
|
||||||
// 转换字符串,undefined,null等转化为""
|
|
||||||
export function parseStrEmpty(str) {
|
|
||||||
if (!str || str == "undefined" || str == "null") {
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
return str;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 数据合并
|
|
||||||
export function mergeRecursive(source, target) {
|
|
||||||
for (var p in target) {
|
|
||||||
try {
|
|
||||||
if (target[p].constructor == Object) {
|
|
||||||
source[p] = mergeRecursive(source[p], target[p]);
|
|
||||||
} else {
|
|
||||||
source[p] = target[p];
|
|
||||||
}
|
|
||||||
} catch (e) {
|
|
||||||
source[p] = target[p];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return source;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 构造树型结构数据
|
|
||||||
* @param {*} data 数据源
|
|
||||||
* @param {*} id id字段 默认 'id'
|
|
||||||
* @param {*} parentId 父节点字段 默认 'parentId'
|
|
||||||
* @param {*} children 孩子节点字段 默认 'children'
|
|
||||||
*/
|
|
||||||
export function handleTree(data, id, parentId, children) {
|
|
||||||
let config = {
|
|
||||||
id: id || 'id',
|
|
||||||
parentId: parentId || 'parentId',
|
|
||||||
childrenList: children || 'children'
|
|
||||||
};
|
|
||||||
|
|
||||||
var childrenListMap = {};
|
|
||||||
var nodeIds = {};
|
|
||||||
var tree = [];
|
|
||||||
|
|
||||||
for (let d of data) {
|
|
||||||
let parentId = d[config.parentId];
|
|
||||||
if (childrenListMap[parentId] == null) {
|
|
||||||
childrenListMap[parentId] = [];
|
|
||||||
}
|
|
||||||
nodeIds[d[config.id]] = d;
|
|
||||||
childrenListMap[parentId].push(d);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (let d of data) {
|
|
||||||
let parentId = d[config.parentId];
|
|
||||||
if (nodeIds[parentId] == null) {
|
|
||||||
tree.push(d);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (let t of tree) {
|
|
||||||
adaptToChildrenList(t);
|
|
||||||
}
|
|
||||||
|
|
||||||
function adaptToChildrenList(o) {
|
|
||||||
if (childrenListMap[o[config.id]] !== null) {
|
|
||||||
o[config.childrenList] = childrenListMap[o[config.id]];
|
|
||||||
}
|
|
||||||
if (o[config.childrenList]) {
|
|
||||||
for (let c of o[config.childrenList]) {
|
|
||||||
adaptToChildrenList(c);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return tree;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 参数处理
|
|
||||||
* @param {*} params 参数
|
|
||||||
*/
|
|
||||||
export function tansParams(params) {
|
|
||||||
let result = ''
|
|
||||||
for (const propName of Object.keys(params)) {
|
|
||||||
const value = params[propName];
|
|
||||||
var part = encodeURIComponent(propName) + "=";
|
|
||||||
if (value !== null && value !== "" && typeof (value) !== "undefined") {
|
|
||||||
if (typeof value === 'object') {
|
|
||||||
for (const key of Object.keys(value)) {
|
|
||||||
if (value[key] !== null && value[key] !== "" && typeof (value[key]) !== 'undefined') {
|
|
||||||
let params = propName + '[' + key + ']';
|
|
||||||
var subPart = encodeURIComponent(params) + "=";
|
|
||||||
result += subPart + encodeURIComponent(value[key]) + "&";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
result += part + encodeURIComponent(value) + "&";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
|
|
||||||
// 验证是否为blob格式
|
|
||||||
export function blobValidate(data) {
|
|
||||||
return data.type !== 'application/json'
|
|
||||||
}
|
|
@ -1,83 +0,0 @@
|
|||||||
/**
|
|
||||||
* @param {string} path
|
|
||||||
* @returns {Boolean}
|
|
||||||
*/
|
|
||||||
export function isExternal(path) {
|
|
||||||
return /^(https?:|mailto:|tel:)/.test(path)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param {string} str
|
|
||||||
* @returns {Boolean}
|
|
||||||
*/
|
|
||||||
export function validUsername(str) {
|
|
||||||
const valid_map = ['admin', 'editor']
|
|
||||||
return valid_map.indexOf(str.trim()) >= 0
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param {string} url
|
|
||||||
* @returns {Boolean}
|
|
||||||
*/
|
|
||||||
export function validURL(url) {
|
|
||||||
const reg = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
|
|
||||||
return reg.test(url)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param {string} str
|
|
||||||
* @returns {Boolean}
|
|
||||||
*/
|
|
||||||
export function validLowerCase(str) {
|
|
||||||
const reg = /^[a-z]+$/
|
|
||||||
return reg.test(str)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param {string} str
|
|
||||||
* @returns {Boolean}
|
|
||||||
*/
|
|
||||||
export function validUpperCase(str) {
|
|
||||||
const reg = /^[A-Z]+$/
|
|
||||||
return reg.test(str)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param {string} str
|
|
||||||
* @returns {Boolean}
|
|
||||||
*/
|
|
||||||
export function validAlphabets(str) {
|
|
||||||
const reg = /^[A-Za-z]+$/
|
|
||||||
return reg.test(str)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param {string} email
|
|
||||||
* @returns {Boolean}
|
|
||||||
*/
|
|
||||||
export function validEmail(email) {
|
|
||||||
const reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
|
|
||||||
return reg.test(email)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param {string} str
|
|
||||||
* @returns {Boolean}
|
|
||||||
*/
|
|
||||||
export function isString(str) {
|
|
||||||
if (typeof str === 'string' || str instanceof String) {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param {Array} arg
|
|
||||||
* @returns {Boolean}
|
|
||||||
*/
|
|
||||||
export function isArray(arg) {
|
|
||||||
if (typeof Array.isArray === 'undefined') {
|
|
||||||
return Object.prototype.toString.call(arg) === '[object Array]'
|
|
||||||
}
|
|
||||||
return Array.isArray(arg)
|
|
||||||
}
|
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<!-- <div class="home">-->
|
<!-- <div class="home">-->
|
||||||
<!-- <HomePage></HomePage>-->
|
<!-- <HomePage></HomePage>-->
|
||||||
<!-- </div>-->
|
<!-- </div>-->
|
||||||
<body translate="no">
|
<body translate="no">
|
||||||
<div class="video-bg">
|
<div class="video-bg">
|
||||||
<video width="320" height="240" autoplay="" loop="" muted="" __idm_id__="1581057">
|
<video width="320" height="240" autoplay="" loop="" muted="" __idm_id__="1581057">
|
||||||
@ -17,11 +17,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="app">
|
<div class="app">
|
||||||
<HomeHeader></HomeHeader>
|
<HomeHeader></HomeHeader>
|
||||||
<!-- <router-view></router-view>-->
|
<!-- <router-view></router-view>-->
|
||||||
<div class="wrapper">
|
|
||||||
<LeftSide :category="category"></LeftSide>
|
|
||||||
<router-view></router-view>
|
<router-view></router-view>
|
||||||
</div>
|
|
||||||
<div class="overlay-app"></div>
|
<div class="overlay-app"></div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
@ -43,45 +40,48 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
isLight:false,
|
isLight: false,
|
||||||
darkMode:window.sessionStorage.getItem('theme'),
|
darkMode: window.sessionStorage.getItem('theme'),
|
||||||
folderTrue:[],
|
folderTrue: [],
|
||||||
folderFalse:[],
|
folderFalse: [],
|
||||||
category:[],
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|
||||||
this.getCategories();
|
|
||||||
let nowDate=new Date()
|
let nowDate = new Date()
|
||||||
let hour=nowDate.getHours()
|
let hour = nowDate.getHours()
|
||||||
//黑夜时
|
//黑夜时
|
||||||
if(hour>18&&hour<=24||hour<6){
|
if (hour > 18 && hour <= 24 || hour < 6) {
|
||||||
this.goDark()
|
this.goDark()
|
||||||
}
|
}
|
||||||
//根据本地存储状态哦按段
|
//根据本地存储状态哦按段
|
||||||
if(this.darkMode==='dark'){ this.goDark()}
|
if (this.darkMode === 'dark') {
|
||||||
|
this.goDark()
|
||||||
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
|
||||||
},
|
},
|
||||||
computed: {},
|
computed: {},
|
||||||
methods:{
|
methods: {
|
||||||
goDark() {
|
goDark() {
|
||||||
//黑夜的
|
//黑夜的
|
||||||
document.body.classList.remove('light-mode')
|
document.body.classList.remove('light-mode')
|
||||||
window.sessionStorage.setItem('theme', 'dark')
|
window.sessionStorage.setItem('theme', 'dark')
|
||||||
},
|
},
|
||||||
goLight(){
|
goLight() {
|
||||||
//白天的
|
//白天的
|
||||||
document.body.classList.add('light-mode')
|
document.body.classList.add('light-mode')
|
||||||
window.sessionStorage.setItem('theme','light')
|
window.sessionStorage.setItem('theme', 'light')
|
||||||
},
|
},
|
||||||
changeStyle(){
|
changeStyle() {
|
||||||
this.isLight=!this.isLight
|
this.isLight = !this.isLight
|
||||||
if(this.isLight!==true){
|
if (this.isLight !== true) {
|
||||||
this.goDark();
|
this.goDark();
|
||||||
}else{
|
} else {
|
||||||
this.goLight();
|
this.goLight();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -92,38 +92,9 @@ export default {
|
|||||||
// document.body.classList.toggle('light-mode');
|
// document.body.classList.toggle('light-mode');
|
||||||
// });
|
// });
|
||||||
// }
|
// }
|
||||||
getCategories(){
|
|
||||||
let _this=this;
|
|
||||||
axios({
|
|
||||||
method: 'post',
|
|
||||||
url: '/api//UrlAndCate/disposeBookmarkExhibitedToJson',
|
|
||||||
}).then(function (res) {
|
|
||||||
console.log(res);
|
|
||||||
_this.category=res.data.data;
|
|
||||||
_this.extractData(res.data.data,_this.folderTrue,_this.folderFalse);
|
|
||||||
console.log(_this.folderTrue);
|
|
||||||
console.log(_this.folderFalse);
|
|
||||||
}).catch((error)=>{
|
|
||||||
Vue.prototype.$notify.error({
|
|
||||||
title: '错误',
|
|
||||||
message: error,
|
|
||||||
offset: 0
|
|
||||||
});
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
extractData(data, trueArray,falseArray) {
|
|
||||||
data.forEach((item) => {
|
|
||||||
if (item.floder === 'true') {
|
|
||||||
trueArray.push(item);
|
|
||||||
if (item.childUC && item.childUC.length > 0) {
|
|
||||||
this.extractData(item.childUC, trueArray,falseArray);
|
|
||||||
}
|
|
||||||
} else if (item.floder === 'false') {
|
|
||||||
falseArray.push(item);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
Loading…
Reference in New Issue
Block a user