From dc5fba137cee542b0f9600b9c38d95ea16797816 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=BF=97=E5=BC=BA?= <357099073@qq.com> Date: Wed, 6 Aug 2025 17:17:48 +0800 Subject: [PATCH] first commit --- .gitignore | 2 + .hbuilderx/launch.json | 26 + App.vue | 93 + LICENSE | 21 + androidPrivacy.json | 28 + api/activity.js | 98 + api/app.js | 140 + api/new.js | 29 + api/order.js | 85 + api/store.js | 171 + api/user.js | 394 + apple-app-site-association | 11 + autoRelease.sh | 17 + .../pages/activity_detail/activity_detail.vue | 161 + .../after_sales_detail/after_sales_detail.vue | 341 + bundle/pages/apply_refund/apply_refund.vue | 394 + .../balance_transfer/balance_transfer.vue | 244 + bundle/pages/bargain/bargain.vue | 136 + bundle/pages/bargain_code/bargain_code.vue | 84 + .../pages/bargain_process/bargain_process.vue | 717 + .../pages/contact_offical/contact_offical.vue | 157 + .../pages/forget_pay_pwd/forget_pay_pwd.vue | 184 + .../goods_combination/goods_combination.vue | 169 + .../goods_comment_list/goods_comment_list.vue | 48 + .../pages/goods_logistics/goods_logistics.vue | 258 + bundle/pages/goods_reviews/goods_reviews.vue | 258 + bundle/pages/goods_seckill/goods_seckill.vue | 288 + bundle/pages/hot_list/hot_list.vue | 108 + .../input_express_info/input_express_info.vue | 208 + bundle/pages/invite_fans/invite_fans.vue | 153 + bundle/pages/license/license.vue | 71 + .../pages/live_broadcast/live_broadcast.vue | 155 + bundle/pages/luckly_wheel/luckly_wheel.vue | 262 + .../pages/message_center/message_center.vue | 88 + bundle/pages/notice/notice.vue | 149 + bundle/pages/post_sale/post_sale.vue | 177 + bundle/pages/prize_record/prize_record.vue | 104 + bundle/pages/recharge_code/recharge_code.vue | 81 + bundle/pages/server_explan/server_explan.vue | 120 + bundle/pages/set_pay_pwd/set_pay_pwd.vue | 154 + bundle/pages/sign_detail/sign_detail.vue | 116 + bundle/pages/sign_rule/sign_rule.vue | 60 + bundle/pages/store_list/store_list.vue | 263 + .../pages/transfer_record/transfer_record.vue | 170 + bundle/pages/user_bill/user_bill.vue | 185 + bundle/pages/user_fans/user_fans.vue | 313 + bundle/pages/user_group/user_group.vue | 71 + bundle/pages/user_payment/user_payment.vue | 330 + bundle/pages/user_profile/user_profile.vue | 702 + bundle/pages/user_set/user_set.vue | 615 + bundle/pages/user_sign/user_sign.vue | 353 + bundle/pages/user_spread/user_spread.vue | 745 + .../user_spread_month_bill.vue | 118 + .../user_spread_month_bill_detail.vue | 282 + .../user_spread_order/user_spread_order.vue | 98 + bundle/pages/user_wallet/user_wallet.vue | 165 + bundle/pages/user_withdraw/user_withdraw.vue | 442 + .../user_withdraw_code/user_withdraw_code.vue | 119 + .../widthdraw_result/widthdraw_result.vue | 184 + .../pages/win_prize_code/win_prize_code.vue | 85 + .../pages/writeoff_detail/writeoff_detail.vue | 107 + .../pages/writeoff_order/writeoff_order.vue | 169 + bundle/static/images/activity_detail_bg.png | Bin 0 -> 19313 bytes bundle/static/images/bg_kanjia.png | Bin 0 -> 7400 bytes bundle/static/images/choujiang_bg.png | Bin 0 -> 151548 bytes bundle/static/images/choujiang_name_list.png | Bin 0 -> 509 bytes bundle/static/images/coupon_button.png | Bin 0 -> 3051 bytes bundle/static/images/default_avatar.png | Bin 0 -> 4745 bytes bundle/static/images/group_bg.png | Bin 0 -> 29880 bytes bundle/static/images/hot_list_bg.png | Bin 0 -> 23062 bytes bundle/static/images/icon_call.png | Bin 0 -> 8623 bytes bundle/static/images/icon_cashOut_wait.png | Bin 0 -> 2873 bytes bundle/static/images/icon_close.png | Bin 0 -> 570 bytes bundle/static/images/icon_consume.png | Bin 0 -> 440 bytes bundle/static/images/icon_czjl.png | Bin 0 -> 614 bytes bundle/static/images/icon_fenxiao.png | Bin 0 -> 757 bytes bundle/static/images/icon_group_white.png | Bin 0 -> 730 bytes bundle/static/images/icon_invite.png | Bin 0 -> 1221 bytes bundle/static/images/icon_jifen.png | Bin 0 -> 1169 bytes bundle/static/images/icon_jifen_invite.png | Bin 0 -> 2450 bytes bundle/static/images/icon_jifen_pay.png | Bin 0 -> 2970 bytes bundle/static/images/icon_jifen_qiandao.png | Bin 0 -> 1749 bytes bundle/static/images/icon_lipin.png | Bin 0 -> 914 bytes bundle/static/images/icon_marker.png | Bin 0 -> 3266 bytes bundle/static/images/icon_notice.png | Bin 0 -> 666 bytes bundle/static/images/icon_paixu.png | Bin 0 -> 556 bytes bundle/static/images/icon_payFail.png | Bin 0 -> 6115 bytes bundle/static/images/icon_shop.png | Bin 0 -> 3848 bytes bundle/static/images/icon_time.png | Bin 0 -> 2586 bytes bundle/static/images/icon_tixian.png | Bin 0 -> 1952 bytes bundle/static/images/icon_tixian_code.png | Bin 0 -> 1909 bytes bundle/static/images/icon_yezz.png | Bin 0 -> 691 bytes bundle/static/images/icon_zhangdan.png | Bin 0 -> 1457 bytes bundle/static/images/icon_zhmx.png | Bin 0 -> 204 bytes bundle/static/images/icon_zzjl.png | Bin 0 -> 765 bytes bundle/static/images/img_activity_jifen.png | Bin 0 -> 24881 bytes bundle/static/images/jifen_icon_data.png | Bin 0 -> 141 bytes bundle/static/images/jifen_icon_help.png | Bin 0 -> 653 bytes bundle/static/images/jifen_icon_select.png | Bin 0 -> 1113 bytes bundle/static/images/jifen_popBg.png | Bin 0 -> 16698 bytes bundle/static/images/logistics_address.png | Bin 0 -> 2059 bytes .../static/images/logistics_address_gray.png | Bin 0 -> 987 bytes bundle/static/images/logistics_delivered.png | Bin 0 -> 2164 bytes bundle/static/images/logistics_pay.png | Bin 0 -> 2209 bytes bundle/static/images/logistics_success.png | Bin 0 -> 1796 bytes bundle/static/images/logistics_transit.png | Bin 0 -> 2210 bytes bundle/static/images/lottery_bg.png | Bin 0 -> 26031 bytes bundle/static/images/null_gift.png | Bin 0 -> 5984 bytes bundle/static/images/recharge_success.png | Bin 0 -> 3036 bytes bundle/static/images/wechat-btn-icon.png | Bin 0 -> 1214 bytes components/active-area/active-area.vue | 121 + components/address-item/address-item.vue | 46 + .../after-sales-list/after-sales-list.vue | 423 + components/bargain-list/bargain-list.vue | 148 + components/bubble-tips/bubble-tips.vue | 178 + components/cate-four/cate-four.vue | 319 + components/cate-list/cate-list.vue | 300 + components/cate-one/cate-one.vue | 48 + components/cate-three/cate-three.vue | 162 + components/cate-two/cate-two.vue | 48 + components/comment-list/comment-list.vue | 211 + components/coupon-list/coupon-list.vue | 211 + components/coupon-obj/coupon-obj.vue | 115 + components/cu-progress/cu-progress.vue | 76 + components/custom-image/custom-image.vue | 157 + components/download-nav/download-nav.vue | 67 + components/goods-bargain/goods-bargain.vue | 53 + components/goods-like/goods-like.vue | 119 + components/goods-list/goods-list.vue | 195 + components/group-list/group-list.vue | 170 + components/home-coupon/home-coupon.vue | 218 + components/invite-poster/invite-poster.vue | 84 + components/j-video/j-video.vue | 119 + components/lime-painter/changelog.md | 54 + .../components/common/relation.js | 141 + .../l-painter-image/l-painter-image.vue | 27 + .../l-painter-qrcode/l-painter-qrcode.vue | 27 + .../l-painter-text/l-painter-text.vue | 28 + .../l-painter-view/l-painter-view.vue | 26 + .../components/l-painter/l-painter.vue | 523 + .../lime-painter/components/l-painter/nvue.js | 103 + .../components/l-painter/painter.js | 15 + .../components/l-painter/utils.js | 414 + .../components/lime-painter/index.vue | 0 components/lime-painter/readme.md | 756 + components/loading-footer/loading-footer.vue | 64 + components/loading-view/loading-view.vue | 52 + components/loading/loading.vue | 203 + components/lyg-popup/lyg-popup.vue | 188 + components/mplogin-popup/mplogin-popup.vue | 196 + components/my-coupons/my-coupons.vue | 79 + components/my-lottery/my-lottery.vue | 239 + components/navbar/navbar.vue | 172 + components/order-dialog/order-dialog.vue | 79 + components/order-goods/order-goods.vue | 218 + components/order-list/order-list.vue | 479 + components/pick-regions/pick-regions.vue | 137 + components/pick-regions/regions.json | 21616 ++++++++++++++++ components/price-format/price-format.vue | 82 + components/privacy-popup/privacy-popup.vue | 117 + components/product-swiper/product-swiper.vue | 283 + components/recommend/recommend.vue | 95 + components/set-pay-pwd/set-pay-pwd.vue | 183 + components/share-popup/poster.vue | 155 + components/share-popup/share-popup.vue | 279 + components/spec-popup/spec-popup.vue | 493 + components/spread-order/spread-order.vue | 200 + components/swipers/swipers.vue | 178 + components/tab/tab.vue | 98 + components/tabs/tabs.vue | 252 + components/tki-qrcode/qrcode.js | 1201 + components/tki-qrcode/tki-qrcode.vue | 210 + components/trigonometry/trigonometry.vue | 55 + components/uploader/uploader.vue | 142 + components/uview-ui/LICENSE | 21 + components/uview-ui/README.md | 106 + .../u-action-sheet/u-action-sheet.vue | 190 + .../components/u-alert-tips/u-alert-tips.vue | 256 + .../u-avatar-cropper/u-avatar-cropper.vue | 290 + .../components/u-avatar-cropper/weCropper.js | 1265 + .../uview-ui/components/u-avatar/u-avatar.vue | 244 + .../components/u-back-top/u-back-top.vue | 153 + .../uview-ui/components/u-badge/u-badge.vue | 216 + .../uview-ui/components/u-button/u-button.vue | 596 + .../components/u-calendar/u-calendar.vue | 639 + .../u-car-keyboard/u-car-keyboard.vue | 257 + .../uview-ui/components/u-card/u-card.vue | 299 + .../components/u-cell-group/u-cell-group.vue | 70 + .../components/u-cell-item/u-cell-item.vue | 316 + .../u-checkbox-group/u-checkbox-group.vue | 123 + .../components/u-checkbox/u-checkbox.vue | 284 + .../u-circle-progress/u-circle-progress.vue | 220 + .../uview-ui/components/u-col/u-col.vue | 156 + .../u-collapse-item/u-collapse-item.vue | 204 + .../components/u-collapse/u-collapse.vue | 99 + .../u-column-notice/u-column-notice.vue | 237 + .../components/u-count-down/u-count-down.vue | 321 + .../components/u-count-to/u-count-to.vue | 241 + .../components/u-divider/u-divider.vue | 153 + .../u-dropdown-item/u-dropdown-item.vue | 132 + .../components/u-dropdown/u-dropdown.vue | 298 + .../uview-ui/components/u-empty/u-empty.vue | 193 + .../uview-ui/components/u-field/u-field.vue | 384 + .../components/u-form-item/u-form-item.vue | 431 + .../uview-ui/components/u-form/u-form.vue | 134 + .../u-full-screen/u-full-screen.vue | 52 + .../uview-ui/components/u-gap/u-gap.vue | 54 + .../components/u-grid-item/u-grid-item.vue | 126 + .../uview-ui/components/u-grid/u-grid.vue | 108 + .../uview-ui/components/u-icon/u-icon.vue | 336 + .../uview-ui/components/u-image/u-image.vue | 266 + .../u-index-anchor/u-index-anchor.vue | 89 + .../components/u-index-list/u-index-list.vue | 315 + .../uview-ui/components/u-input/u-input.vue | 387 + .../components/u-keyboard/u-keyboard.vue | 217 + .../components/u-lazy-load/u-lazy-load.vue | 244 + .../u-line-progress/u-line-progress.vue | 147 + .../uview-ui/components/u-line/u-line.vue | 84 + .../uview-ui/components/u-link/u-link.vue | 89 + .../u-loading-page/u-loading-page.vue | 25 + .../components/u-loading/u-loading.vue | 103 + .../components/u-loadmore/u-loadmore.vue | 203 + .../uview-ui/components/u-mask/u-mask.vue | 123 + .../u-message-input/u-message-input.vue | 311 + .../uview-ui/components/u-modal/u-modal.vue | 283 + .../uview-ui/components/u-navbar/u-navbar.vue | 324 + .../components/u-no-network/u-no-network.vue | 256 + .../components/u-notice-bar/u-notice-bar.vue | 272 + .../components/u-number-box/u-number-box.vue | 361 + .../u-number-keyboard/u-number-keyboard.vue | 158 + .../components/u-parse/libs/CssHandler.js | 100 + .../components/u-parse/libs/MpHtmlParser.js | 580 + .../components/u-parse/libs/config.js | 80 + .../components/u-parse/libs/handler.wxs | 22 + .../components/u-parse/libs/trees.vue | 505 + .../uview-ui/components/u-parse/u-parse.vue | 645 + .../uview-ui/components/u-picker/u-picker.vue | 679 + .../uview-ui/components/u-popup/u-popup.vue | 455 + .../u-radio-group/u-radio-group.vue | 128 + .../uview-ui/components/u-radio/u-radio.vue | 271 + .../uview-ui/components/u-rate/u-rate.vue | 275 + .../components/u-read-more/u-read-more.vue | 179 + .../components/u-row-notice/u-row-notice.vue | 269 + .../uview-ui/components/u-row/u-row.vue | 84 + .../uview-ui/components/u-search/u-search.vue | 351 + .../components/u-section/u-section.vue | 154 + .../uview-ui/components/u-select/u-select.vue | 417 + .../components/u-skeleton/u-skeleton.vue | 199 + .../uview-ui/components/u-slider/u-slider.vue | 257 + .../uview-ui/components/u-steps/u-steps.vue | 200 + .../uview-ui/components/u-sticky/u-sticky.vue | 157 + .../components/u-subsection/u-subsection.vue | 355 + .../u-swipe-action/u-swipe-action.vue | 255 + .../uview-ui/components/u-swiper/u-swiper.vue | 340 + .../uview-ui/components/u-switch/u-switch.vue | 163 + .../uview-ui/components/u-tabbar/u-tabbar.vue | 330 + .../uview-ui/components/u-table/u-table.vue | 84 + .../u-tabs-swiper/u-tabs-swiper.vue | 488 + .../uview-ui/components/u-tabs/u-tabs.vue | 371 + .../uview-ui/components/u-tag/u-tag.vue | 293 + components/uview-ui/components/u-td/u-td.vue | 66 + components/uview-ui/components/u-th/u-th.vue | 62 + .../u-time-line-item/u-time-line-item.vue | 83 + .../components/u-time-line/u-time-line.vue | 43 + .../uview-ui/components/u-toast/u-toast.vue | 220 + .../components/u-top-tips/u-top-tips.vue | 121 + components/uview-ui/components/u-tr/u-tr.vue | 25 + .../uview-ui/components/u-upload/u-upload.vue | 654 + .../u-verification-code.vue | 164 + .../components/u-waterfall/u-waterfall.vue | 176 + components/uview-ui/iconfont.css | 910 + components/uview-ui/index.js | 141 + components/uview-ui/index.scss | 23 + components/uview-ui/libs/config/config.js | 15 + components/uview-ui/libs/config/zIndex.js | 20 + components/uview-ui/libs/css/color.scss | 155 + components/uview-ui/libs/css/common.scss | 176 + .../uview-ui/libs/css/style.components.scss | 7 + components/uview-ui/libs/css/style.h5.scss | 8 + components/uview-ui/libs/css/style.mp.scss | 72 + components/uview-ui/libs/css/style.nvue.scss | 3 + components/uview-ui/libs/css/style.vue.scss | 175 + components/uview-ui/libs/function/$parent.js | 18 + components/uview-ui/libs/function/addUnit.js | 8 + components/uview-ui/libs/function/bem.js | 5 + components/uview-ui/libs/function/color.js | 37 + .../uview-ui/libs/function/colorGradient.js | 134 + components/uview-ui/libs/function/debounce.js | 29 + .../uview-ui/libs/function/deepClone.js | 23 + .../uview-ui/libs/function/deepMerge.js | 30 + .../uview-ui/libs/function/getParent.js | 47 + components/uview-ui/libs/function/guid.js | 41 + components/uview-ui/libs/function/md5.js | 385 + .../uview-ui/libs/function/queryParams.js | 58 + components/uview-ui/libs/function/random.js | 10 + .../uview-ui/libs/function/randomArray.js | 7 + components/uview-ui/libs/function/route.js | 122 + components/uview-ui/libs/function/sys.js | 9 + components/uview-ui/libs/function/test.js | 232 + components/uview-ui/libs/function/throttle.js | 32 + .../uview-ui/libs/function/timeFormat.js | 51 + components/uview-ui/libs/function/timeFrom.js | 47 + components/uview-ui/libs/function/toast.js | 9 + components/uview-ui/libs/function/trim.js | 15 + .../uview-ui/libs/function/type2icon.js | 35 + components/uview-ui/libs/mixin/mixin.js | 64 + components/uview-ui/libs/mixin/mpShare.js | 18 + components/uview-ui/libs/request/index.js | 169 + components/uview-ui/libs/store/index.js | 19 + components/uview-ui/libs/util/area.js | 1 + .../uview-ui/libs/util/async-validator.js | 1356 + components/uview-ui/libs/util/city.js | 1 + components/uview-ui/libs/util/emitter.js | 51 + components/uview-ui/libs/util/province.js | 1 + components/uview-ui/package.json | 39 + components/uview-ui/theme.scss | 38 + config/app.js | 29 + config/cachekey.js | 7 + js_sdk/jweixin-module/index.js | 1 + js_sdk/xtshadow-axios/axios.js | 640 + js_sdk/xtshadow-axios/axios.min.js | 1 + main.js | 21 + manifest.json | 223 + mixins/app.js | 87 + my-release-key.keystore | Bin 0 -> 2216 bytes package-lock.json | 13 + package.json | 14 + pages.json | 528 + pages/address_edit/address_edit.vue | 335 + pages/all_comments/all_comments.vue | 275 + pages/confirm_order/confirm_order.vue | 729 + pages/forget_pwd/forget_pwd.vue | 230 + pages/goods_details/goods_details.vue | 980 + pages/goods_search/goods_search.vue | 316 + pages/index/index.vue | 841 + pages/login/login.vue | 613 + pages/news_details/news_details.vue | 117 + pages/news_list/news_list.vue | 212 + pages/order_details/order_details.vue | 788 + pages/pay_result/pay_result.vue | 160 + pages/payment/payment.vue | 340 + pages/register/register.vue | 340 + pages/shop_cart/shop_cart.vue | 402 + pages/sort/sort.vue | 95 + pages/user/user.vue | 435 + pages/user_address/user_address.vue | 306 + pages/user_collection/user_collection.vue | 205 + pages/user_coupon/user_coupon.vue | 52 + pages/user_getcoupon/user_getcoupon.vue | 66 + pages/user_order/user_order.vue | 94 + pages/user_vip/user_vip.vue | 249 + pages/webview/webview.vue | 36 + project.config.json | 72 + static/images/No.0.png | Bin 0 -> 2941 bytes static/images/No.1.png | Bin 0 -> 2804 bytes static/images/No.2.png | Bin 0 -> 2612 bytes static/images/No.3.png | Bin 0 -> 2245 bytes static/images/address_null.png | Bin 0 -> 3165 bytes static/images/arrow_right.png | Bin 0 -> 411 bytes static/images/bg_hometop.png | Bin 0 -> 31766 bytes static/images/bg_member_grade.png | Bin 0 -> 961 bytes static/images/bg_packet_img.png | Bin 0 -> 3350 bytes static/images/bg_seckill.png | Bin 0 -> 1864 bytes static/images/cart_null.png | Bin 0 -> 5970 bytes static/images/choujiang_block.png | Bin 0 -> 814 bytes static/images/choujiang_button.png | Bin 0 -> 3312 bytes static/images/choujiang_light.png | Bin 0 -> 7098 bytes static/images/coupon_bg.png | Bin 0 -> 1542 bytes static/images/coupon_bg_grey.png | Bin 0 -> 667 bytes static/images/coupon_null.png | Bin 0 -> 3978 bytes static/images/coupon_receive.png | Bin 0 -> 1837 bytes static/images/delivery_die.png | Bin 0 -> 2581 bytes static/images/goods_null.png | Bin 0 -> 5822 bytes static/images/home_bg_coupon.png | Bin 0 -> 1793 bytes static/images/home_bg_coupon_gray.png | Bin 0 -> 744 bytes static/images/home_bg_coupon_red.png | Bin 0 -> 747 bytes static/images/home_coupon_bg.png | Bin 0 -> 32386 bytes static/images/home_img_ receive.png | Bin 0 -> 1844 bytes static/images/home_seckill_bg.png | Bin 0 -> 2750 bytes static/images/hot_title.png | Bin 0 -> 7803 bytes static/images/icon_address.png | Bin 0 -> 2495 bytes static/images/icon_back.png | Bin 0 -> 238 bytes static/images/icon_cart.png | Bin 0 -> 562 bytes static/images/icon_carts.png | Bin 0 -> 806 bytes static/images/icon_close.png | Bin 0 -> 395 bytes static/images/icon_collection.png | Bin 0 -> 1393 bytes static/images/icon_collection_s.png | Bin 0 -> 439 bytes static/images/icon_contact.png | Bin 0 -> 1507 bytes static/images/icon_del.png | Bin 0 -> 2236 bytes static/images/icon_del_1.png | Bin 0 -> 1264 bytes static/images/icon_double.png | Bin 0 -> 276 bytes static/images/icon_edit.png | Bin 0 -> 1432 bytes static/images/icon_generate_poster.png | Bin 0 -> 2644 bytes static/images/icon_go_red.png | Bin 0 -> 543 bytes static/images/icon_group.png | Bin 0 -> 637 bytes static/images/icon_home.png | Bin 0 -> 771 bytes static/images/icon_like.png | Bin 0 -> 1005 bytes static/images/icon_list.png | Bin 0 -> 204 bytes static/images/icon_member.png | Bin 0 -> 468 bytes static/images/icon_my_fahuo.png | Bin 0 -> 331 bytes static/images/icon_my_news.png | Bin 0 -> 1320 bytes static/images/icon_my_payment.png | Bin 0 -> 680 bytes static/images/icon_my_pingjia.png | Bin 0 -> 578 bytes static/images/icon_my_setting.png | Bin 0 -> 1040 bytes static/images/icon_my_shouhou.png | Bin 0 -> 600 bytes static/images/icon_my_shouhuo.png | Bin 0 -> 787 bytes static/images/icon_new_recommend.png | Bin 0 -> 839 bytes static/images/icon_news.png | Bin 0 -> 614 bytes static/images/icon_news_b.png | Bin 0 -> 614 bytes static/images/icon_one.png | Bin 0 -> 276 bytes static/images/icon_paySuccess.png | Bin 0 -> 6450 bytes static/images/icon_play.png | Bin 0 -> 946 bytes static/images/icon_search.png | Bin 0 -> 1220 bytes static/images/icon_share.png | Bin 0 -> 4260 bytes static/images/icon_toutiao.png | Bin 0 -> 2144 bytes static/images/icon_user.png | Bin 0 -> 1049 bytes static/images/icon_warning.png | Bin 0 -> 861 bytes static/images/icon_wechat.png | Bin 0 -> 6005 bytes static/images/my_portrait_empty.png | Bin 0 -> 3419 bytes static/images/my_topbg.png | Bin 0 -> 16012 bytes static/images/new_title.png | Bin 0 -> 6059 bytes static/images/news_null.png | Bin 0 -> 3565 bytes static/images/order_null.png | Bin 0 -> 5055 bytes static/images/pintuan_bg.png | Bin 0 -> 12820 bytes static/images/pop_bg_coupon.png | Bin 0 -> 739 bytes static/images/profit_null.png | Bin 0 -> 3817 bytes static/images/share_arrow.png | Bin 0 -> 1959 bytes static/images/tab_cart.png | Bin 0 -> 925 bytes static/images/tab_cart_s.png | Bin 0 -> 933 bytes static/images/tab_home.png | Bin 0 -> 1011 bytes static/images/tab_home_s.png | Bin 0 -> 1022 bytes static/images/tab_sort.png | Bin 0 -> 465 bytes static/images/tab_sort_s.png | Bin 0 -> 465 bytes static/images/tab_user.png | Bin 0 -> 1918 bytes static/images/tab_user_s.png | Bin 0 -> 2061 bytes static/images/uploader_icon.png | Bin 0 -> 1143 bytes static/images/vip_grade_bg.png | Bin 0 -> 976 bytes store/getters.js | 8 + store/index.js | 13 + store/modules/app.js | 102 + store/modules/index.js | 5 + styles/base.scss | 433 + styles/builder.scss | 7 + uni.scss | 71 + utils/area.js | 6 + utils/cache.js | 41 + utils/login.js | 104 + utils/pay.js | 110 + utils/permission.js | 348 + utils/request.js | 87 + utils/tools.js | 405 + utils/type.js | 114 + utils/wechath5.js | 159 + 453 files changed, 85995 insertions(+) create mode 100644 .gitignore create mode 100644 .hbuilderx/launch.json create mode 100644 App.vue create mode 100644 LICENSE create mode 100644 androidPrivacy.json create mode 100644 api/activity.js create mode 100644 api/app.js create mode 100644 api/new.js create mode 100644 api/order.js create mode 100644 api/store.js create mode 100644 api/user.js create mode 100644 apple-app-site-association create mode 100644 autoRelease.sh create mode 100644 bundle/pages/activity_detail/activity_detail.vue create mode 100644 bundle/pages/after_sales_detail/after_sales_detail.vue create mode 100644 bundle/pages/apply_refund/apply_refund.vue create mode 100644 bundle/pages/balance_transfer/balance_transfer.vue create mode 100644 bundle/pages/bargain/bargain.vue create mode 100644 bundle/pages/bargain_code/bargain_code.vue create mode 100644 bundle/pages/bargain_process/bargain_process.vue create mode 100644 bundle/pages/contact_offical/contact_offical.vue create mode 100644 bundle/pages/forget_pay_pwd/forget_pay_pwd.vue create mode 100644 bundle/pages/goods_combination/goods_combination.vue create mode 100644 bundle/pages/goods_comment_list/goods_comment_list.vue create mode 100644 bundle/pages/goods_logistics/goods_logistics.vue create mode 100644 bundle/pages/goods_reviews/goods_reviews.vue create mode 100644 bundle/pages/goods_seckill/goods_seckill.vue create mode 100644 bundle/pages/hot_list/hot_list.vue create mode 100644 bundle/pages/input_express_info/input_express_info.vue create mode 100644 bundle/pages/invite_fans/invite_fans.vue create mode 100644 bundle/pages/license/license.vue create mode 100644 bundle/pages/live_broadcast/live_broadcast.vue create mode 100644 bundle/pages/luckly_wheel/luckly_wheel.vue create mode 100644 bundle/pages/message_center/message_center.vue create mode 100644 bundle/pages/notice/notice.vue create mode 100644 bundle/pages/post_sale/post_sale.vue create mode 100644 bundle/pages/prize_record/prize_record.vue create mode 100644 bundle/pages/recharge_code/recharge_code.vue create mode 100644 bundle/pages/server_explan/server_explan.vue create mode 100644 bundle/pages/set_pay_pwd/set_pay_pwd.vue create mode 100644 bundle/pages/sign_detail/sign_detail.vue create mode 100644 bundle/pages/sign_rule/sign_rule.vue create mode 100644 bundle/pages/store_list/store_list.vue create mode 100644 bundle/pages/transfer_record/transfer_record.vue create mode 100644 bundle/pages/user_bill/user_bill.vue create mode 100644 bundle/pages/user_fans/user_fans.vue create mode 100644 bundle/pages/user_group/user_group.vue create mode 100644 bundle/pages/user_payment/user_payment.vue create mode 100644 bundle/pages/user_profile/user_profile.vue create mode 100644 bundle/pages/user_set/user_set.vue create mode 100644 bundle/pages/user_sign/user_sign.vue create mode 100644 bundle/pages/user_spread/user_spread.vue create mode 100644 bundle/pages/user_spread_month_bill/user_spread_month_bill.vue create mode 100644 bundle/pages/user_spread_month_bill_detail/user_spread_month_bill_detail.vue create mode 100644 bundle/pages/user_spread_order/user_spread_order.vue create mode 100644 bundle/pages/user_wallet/user_wallet.vue create mode 100644 bundle/pages/user_withdraw/user_withdraw.vue create mode 100644 bundle/pages/user_withdraw_code/user_withdraw_code.vue create mode 100644 bundle/pages/widthdraw_result/widthdraw_result.vue create mode 100644 bundle/pages/win_prize_code/win_prize_code.vue create mode 100644 bundle/pages/writeoff_detail/writeoff_detail.vue create mode 100644 bundle/pages/writeoff_order/writeoff_order.vue create mode 100644 bundle/static/images/activity_detail_bg.png create mode 100644 bundle/static/images/bg_kanjia.png create mode 100644 bundle/static/images/choujiang_bg.png create mode 100644 bundle/static/images/choujiang_name_list.png create mode 100644 bundle/static/images/coupon_button.png create mode 100644 bundle/static/images/default_avatar.png create mode 100644 bundle/static/images/group_bg.png create mode 100644 bundle/static/images/hot_list_bg.png create mode 100644 bundle/static/images/icon_call.png create mode 100644 bundle/static/images/icon_cashOut_wait.png create mode 100644 bundle/static/images/icon_close.png create mode 100644 bundle/static/images/icon_consume.png create mode 100644 bundle/static/images/icon_czjl.png create mode 100644 bundle/static/images/icon_fenxiao.png create mode 100644 bundle/static/images/icon_group_white.png create mode 100644 bundle/static/images/icon_invite.png create mode 100644 bundle/static/images/icon_jifen.png create mode 100644 bundle/static/images/icon_jifen_invite.png create mode 100644 bundle/static/images/icon_jifen_pay.png create mode 100644 bundle/static/images/icon_jifen_qiandao.png create mode 100644 bundle/static/images/icon_lipin.png create mode 100644 bundle/static/images/icon_marker.png create mode 100644 bundle/static/images/icon_notice.png create mode 100644 bundle/static/images/icon_paixu.png create mode 100644 bundle/static/images/icon_payFail.png create mode 100644 bundle/static/images/icon_shop.png create mode 100644 bundle/static/images/icon_time.png create mode 100644 bundle/static/images/icon_tixian.png create mode 100644 bundle/static/images/icon_tixian_code.png create mode 100644 bundle/static/images/icon_yezz.png create mode 100644 bundle/static/images/icon_zhangdan.png create mode 100644 bundle/static/images/icon_zhmx.png create mode 100644 bundle/static/images/icon_zzjl.png create mode 100644 bundle/static/images/img_activity_jifen.png create mode 100644 bundle/static/images/jifen_icon_data.png create mode 100644 bundle/static/images/jifen_icon_help.png create mode 100644 bundle/static/images/jifen_icon_select.png create mode 100644 bundle/static/images/jifen_popBg.png create mode 100644 bundle/static/images/logistics_address.png create mode 100644 bundle/static/images/logistics_address_gray.png create mode 100644 bundle/static/images/logistics_delivered.png create mode 100644 bundle/static/images/logistics_pay.png create mode 100644 bundle/static/images/logistics_success.png create mode 100644 bundle/static/images/logistics_transit.png create mode 100644 bundle/static/images/lottery_bg.png create mode 100644 bundle/static/images/null_gift.png create mode 100644 bundle/static/images/recharge_success.png create mode 100644 bundle/static/images/wechat-btn-icon.png create mode 100644 components/active-area/active-area.vue create mode 100644 components/address-item/address-item.vue create mode 100644 components/after-sales-list/after-sales-list.vue create mode 100644 components/bargain-list/bargain-list.vue create mode 100644 components/bubble-tips/bubble-tips.vue create mode 100644 components/cate-four/cate-four.vue create mode 100644 components/cate-list/cate-list.vue create mode 100644 components/cate-one/cate-one.vue create mode 100644 components/cate-three/cate-three.vue create mode 100644 components/cate-two/cate-two.vue create mode 100644 components/comment-list/comment-list.vue create mode 100644 components/coupon-list/coupon-list.vue create mode 100644 components/coupon-obj/coupon-obj.vue create mode 100644 components/cu-progress/cu-progress.vue create mode 100644 components/custom-image/custom-image.vue create mode 100644 components/download-nav/download-nav.vue create mode 100644 components/goods-bargain/goods-bargain.vue create mode 100644 components/goods-like/goods-like.vue create mode 100644 components/goods-list/goods-list.vue create mode 100644 components/group-list/group-list.vue create mode 100644 components/home-coupon/home-coupon.vue create mode 100644 components/invite-poster/invite-poster.vue create mode 100644 components/j-video/j-video.vue create mode 100644 components/lime-painter/changelog.md create mode 100644 components/lime-painter/components/common/relation.js create mode 100644 components/lime-painter/components/l-painter-image/l-painter-image.vue create mode 100644 components/lime-painter/components/l-painter-qrcode/l-painter-qrcode.vue create mode 100644 components/lime-painter/components/l-painter-text/l-painter-text.vue create mode 100644 components/lime-painter/components/l-painter-view/l-painter-view.vue create mode 100644 components/lime-painter/components/l-painter/l-painter.vue create mode 100644 components/lime-painter/components/l-painter/nvue.js create mode 100644 components/lime-painter/components/l-painter/painter.js create mode 100644 components/lime-painter/components/l-painter/utils.js create mode 100644 components/lime-painter/components/lime-painter/index.vue create mode 100644 components/lime-painter/readme.md create mode 100644 components/loading-footer/loading-footer.vue create mode 100644 components/loading-view/loading-view.vue create mode 100644 components/loading/loading.vue create mode 100644 components/lyg-popup/lyg-popup.vue create mode 100644 components/mplogin-popup/mplogin-popup.vue create mode 100644 components/my-coupons/my-coupons.vue create mode 100644 components/my-lottery/my-lottery.vue create mode 100644 components/navbar/navbar.vue create mode 100644 components/order-dialog/order-dialog.vue create mode 100644 components/order-goods/order-goods.vue create mode 100644 components/order-list/order-list.vue create mode 100644 components/pick-regions/pick-regions.vue create mode 100644 components/pick-regions/regions.json create mode 100644 components/price-format/price-format.vue create mode 100644 components/privacy-popup/privacy-popup.vue create mode 100644 components/product-swiper/product-swiper.vue create mode 100644 components/recommend/recommend.vue create mode 100644 components/set-pay-pwd/set-pay-pwd.vue create mode 100644 components/share-popup/poster.vue create mode 100644 components/share-popup/share-popup.vue create mode 100644 components/spec-popup/spec-popup.vue create mode 100644 components/spread-order/spread-order.vue create mode 100644 components/swipers/swipers.vue create mode 100644 components/tab/tab.vue create mode 100644 components/tabs/tabs.vue create mode 100644 components/tki-qrcode/qrcode.js create mode 100644 components/tki-qrcode/tki-qrcode.vue create mode 100644 components/trigonometry/trigonometry.vue create mode 100644 components/uploader/uploader.vue create mode 100644 components/uview-ui/LICENSE create mode 100644 components/uview-ui/README.md create mode 100644 components/uview-ui/components/u-action-sheet/u-action-sheet.vue create mode 100644 components/uview-ui/components/u-alert-tips/u-alert-tips.vue create mode 100644 components/uview-ui/components/u-avatar-cropper/u-avatar-cropper.vue create mode 100644 components/uview-ui/components/u-avatar-cropper/weCropper.js create mode 100644 components/uview-ui/components/u-avatar/u-avatar.vue create mode 100644 components/uview-ui/components/u-back-top/u-back-top.vue create mode 100644 components/uview-ui/components/u-badge/u-badge.vue create mode 100644 components/uview-ui/components/u-button/u-button.vue create mode 100644 components/uview-ui/components/u-calendar/u-calendar.vue create mode 100644 components/uview-ui/components/u-car-keyboard/u-car-keyboard.vue create mode 100644 components/uview-ui/components/u-card/u-card.vue create mode 100644 components/uview-ui/components/u-cell-group/u-cell-group.vue create mode 100644 components/uview-ui/components/u-cell-item/u-cell-item.vue create mode 100644 components/uview-ui/components/u-checkbox-group/u-checkbox-group.vue create mode 100644 components/uview-ui/components/u-checkbox/u-checkbox.vue create mode 100644 components/uview-ui/components/u-circle-progress/u-circle-progress.vue create mode 100644 components/uview-ui/components/u-col/u-col.vue create mode 100644 components/uview-ui/components/u-collapse-item/u-collapse-item.vue create mode 100644 components/uview-ui/components/u-collapse/u-collapse.vue create mode 100644 components/uview-ui/components/u-column-notice/u-column-notice.vue create mode 100644 components/uview-ui/components/u-count-down/u-count-down.vue create mode 100644 components/uview-ui/components/u-count-to/u-count-to.vue create mode 100644 components/uview-ui/components/u-divider/u-divider.vue create mode 100644 components/uview-ui/components/u-dropdown-item/u-dropdown-item.vue create mode 100644 components/uview-ui/components/u-dropdown/u-dropdown.vue create mode 100644 components/uview-ui/components/u-empty/u-empty.vue create mode 100644 components/uview-ui/components/u-field/u-field.vue create mode 100644 components/uview-ui/components/u-form-item/u-form-item.vue create mode 100644 components/uview-ui/components/u-form/u-form.vue create mode 100644 components/uview-ui/components/u-full-screen/u-full-screen.vue create mode 100644 components/uview-ui/components/u-gap/u-gap.vue create mode 100644 components/uview-ui/components/u-grid-item/u-grid-item.vue create mode 100644 components/uview-ui/components/u-grid/u-grid.vue create mode 100644 components/uview-ui/components/u-icon/u-icon.vue create mode 100644 components/uview-ui/components/u-image/u-image.vue create mode 100644 components/uview-ui/components/u-index-anchor/u-index-anchor.vue create mode 100644 components/uview-ui/components/u-index-list/u-index-list.vue create mode 100644 components/uview-ui/components/u-input/u-input.vue create mode 100644 components/uview-ui/components/u-keyboard/u-keyboard.vue create mode 100644 components/uview-ui/components/u-lazy-load/u-lazy-load.vue create mode 100644 components/uview-ui/components/u-line-progress/u-line-progress.vue create mode 100644 components/uview-ui/components/u-line/u-line.vue create mode 100644 components/uview-ui/components/u-link/u-link.vue create mode 100644 components/uview-ui/components/u-loading-page/u-loading-page.vue create mode 100644 components/uview-ui/components/u-loading/u-loading.vue create mode 100644 components/uview-ui/components/u-loadmore/u-loadmore.vue create mode 100644 components/uview-ui/components/u-mask/u-mask.vue create mode 100644 components/uview-ui/components/u-message-input/u-message-input.vue create mode 100644 components/uview-ui/components/u-modal/u-modal.vue create mode 100644 components/uview-ui/components/u-navbar/u-navbar.vue create mode 100644 components/uview-ui/components/u-no-network/u-no-network.vue create mode 100644 components/uview-ui/components/u-notice-bar/u-notice-bar.vue create mode 100644 components/uview-ui/components/u-number-box/u-number-box.vue create mode 100644 components/uview-ui/components/u-number-keyboard/u-number-keyboard.vue create mode 100644 components/uview-ui/components/u-parse/libs/CssHandler.js create mode 100644 components/uview-ui/components/u-parse/libs/MpHtmlParser.js create mode 100644 components/uview-ui/components/u-parse/libs/config.js create mode 100644 components/uview-ui/components/u-parse/libs/handler.wxs create mode 100644 components/uview-ui/components/u-parse/libs/trees.vue create mode 100644 components/uview-ui/components/u-parse/u-parse.vue create mode 100644 components/uview-ui/components/u-picker/u-picker.vue create mode 100644 components/uview-ui/components/u-popup/u-popup.vue create mode 100644 components/uview-ui/components/u-radio-group/u-radio-group.vue create mode 100644 components/uview-ui/components/u-radio/u-radio.vue create mode 100644 components/uview-ui/components/u-rate/u-rate.vue create mode 100644 components/uview-ui/components/u-read-more/u-read-more.vue create mode 100644 components/uview-ui/components/u-row-notice/u-row-notice.vue create mode 100644 components/uview-ui/components/u-row/u-row.vue create mode 100644 components/uview-ui/components/u-search/u-search.vue create mode 100644 components/uview-ui/components/u-section/u-section.vue create mode 100644 components/uview-ui/components/u-select/u-select.vue create mode 100644 components/uview-ui/components/u-skeleton/u-skeleton.vue create mode 100644 components/uview-ui/components/u-slider/u-slider.vue create mode 100644 components/uview-ui/components/u-steps/u-steps.vue create mode 100644 components/uview-ui/components/u-sticky/u-sticky.vue create mode 100644 components/uview-ui/components/u-subsection/u-subsection.vue create mode 100644 components/uview-ui/components/u-swipe-action/u-swipe-action.vue create mode 100644 components/uview-ui/components/u-swiper/u-swiper.vue create mode 100644 components/uview-ui/components/u-switch/u-switch.vue create mode 100644 components/uview-ui/components/u-tabbar/u-tabbar.vue create mode 100644 components/uview-ui/components/u-table/u-table.vue create mode 100644 components/uview-ui/components/u-tabs-swiper/u-tabs-swiper.vue create mode 100644 components/uview-ui/components/u-tabs/u-tabs.vue create mode 100644 components/uview-ui/components/u-tag/u-tag.vue create mode 100644 components/uview-ui/components/u-td/u-td.vue create mode 100644 components/uview-ui/components/u-th/u-th.vue create mode 100644 components/uview-ui/components/u-time-line-item/u-time-line-item.vue create mode 100644 components/uview-ui/components/u-time-line/u-time-line.vue create mode 100644 components/uview-ui/components/u-toast/u-toast.vue create mode 100644 components/uview-ui/components/u-top-tips/u-top-tips.vue create mode 100644 components/uview-ui/components/u-tr/u-tr.vue create mode 100644 components/uview-ui/components/u-upload/u-upload.vue create mode 100644 components/uview-ui/components/u-verification-code/u-verification-code.vue create mode 100644 components/uview-ui/components/u-waterfall/u-waterfall.vue create mode 100644 components/uview-ui/iconfont.css create mode 100644 components/uview-ui/index.js create mode 100644 components/uview-ui/index.scss create mode 100644 components/uview-ui/libs/config/config.js create mode 100644 components/uview-ui/libs/config/zIndex.js create mode 100644 components/uview-ui/libs/css/color.scss create mode 100644 components/uview-ui/libs/css/common.scss create mode 100644 components/uview-ui/libs/css/style.components.scss create mode 100644 components/uview-ui/libs/css/style.h5.scss create mode 100644 components/uview-ui/libs/css/style.mp.scss create mode 100644 components/uview-ui/libs/css/style.nvue.scss create mode 100644 components/uview-ui/libs/css/style.vue.scss create mode 100644 components/uview-ui/libs/function/$parent.js create mode 100644 components/uview-ui/libs/function/addUnit.js create mode 100644 components/uview-ui/libs/function/bem.js create mode 100644 components/uview-ui/libs/function/color.js create mode 100644 components/uview-ui/libs/function/colorGradient.js create mode 100644 components/uview-ui/libs/function/debounce.js create mode 100644 components/uview-ui/libs/function/deepClone.js create mode 100644 components/uview-ui/libs/function/deepMerge.js create mode 100644 components/uview-ui/libs/function/getParent.js create mode 100644 components/uview-ui/libs/function/guid.js create mode 100644 components/uview-ui/libs/function/md5.js create mode 100644 components/uview-ui/libs/function/queryParams.js create mode 100644 components/uview-ui/libs/function/random.js create mode 100644 components/uview-ui/libs/function/randomArray.js create mode 100644 components/uview-ui/libs/function/route.js create mode 100644 components/uview-ui/libs/function/sys.js create mode 100644 components/uview-ui/libs/function/test.js create mode 100644 components/uview-ui/libs/function/throttle.js create mode 100644 components/uview-ui/libs/function/timeFormat.js create mode 100644 components/uview-ui/libs/function/timeFrom.js create mode 100644 components/uview-ui/libs/function/toast.js create mode 100644 components/uview-ui/libs/function/trim.js create mode 100644 components/uview-ui/libs/function/type2icon.js create mode 100644 components/uview-ui/libs/mixin/mixin.js create mode 100644 components/uview-ui/libs/mixin/mpShare.js create mode 100644 components/uview-ui/libs/request/index.js create mode 100644 components/uview-ui/libs/store/index.js create mode 100644 components/uview-ui/libs/util/area.js create mode 100644 components/uview-ui/libs/util/async-validator.js create mode 100644 components/uview-ui/libs/util/city.js create mode 100644 components/uview-ui/libs/util/emitter.js create mode 100644 components/uview-ui/libs/util/province.js create mode 100644 components/uview-ui/package.json create mode 100644 components/uview-ui/theme.scss create mode 100644 config/app.js create mode 100644 config/cachekey.js create mode 100644 js_sdk/jweixin-module/index.js create mode 100644 js_sdk/xtshadow-axios/axios.js create mode 100644 js_sdk/xtshadow-axios/axios.min.js create mode 100644 main.js create mode 100644 manifest.json create mode 100644 mixins/app.js create mode 100644 my-release-key.keystore create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 pages.json create mode 100644 pages/address_edit/address_edit.vue create mode 100644 pages/all_comments/all_comments.vue create mode 100644 pages/confirm_order/confirm_order.vue create mode 100644 pages/forget_pwd/forget_pwd.vue create mode 100644 pages/goods_details/goods_details.vue create mode 100644 pages/goods_search/goods_search.vue create mode 100644 pages/index/index.vue create mode 100644 pages/login/login.vue create mode 100644 pages/news_details/news_details.vue create mode 100644 pages/news_list/news_list.vue create mode 100644 pages/order_details/order_details.vue create mode 100644 pages/pay_result/pay_result.vue create mode 100644 pages/payment/payment.vue create mode 100644 pages/register/register.vue create mode 100644 pages/shop_cart/shop_cart.vue create mode 100644 pages/sort/sort.vue create mode 100644 pages/user/user.vue create mode 100644 pages/user_address/user_address.vue create mode 100644 pages/user_collection/user_collection.vue create mode 100644 pages/user_coupon/user_coupon.vue create mode 100644 pages/user_getcoupon/user_getcoupon.vue create mode 100644 pages/user_order/user_order.vue create mode 100644 pages/user_vip/user_vip.vue create mode 100644 pages/webview/webview.vue create mode 100644 project.config.json create mode 100644 static/images/No.0.png create mode 100644 static/images/No.1.png create mode 100644 static/images/No.2.png create mode 100644 static/images/No.3.png create mode 100644 static/images/address_null.png create mode 100644 static/images/arrow_right.png create mode 100644 static/images/bg_hometop.png create mode 100644 static/images/bg_member_grade.png create mode 100644 static/images/bg_packet_img.png create mode 100644 static/images/bg_seckill.png create mode 100644 static/images/cart_null.png create mode 100644 static/images/choujiang_block.png create mode 100644 static/images/choujiang_button.png create mode 100644 static/images/choujiang_light.png create mode 100644 static/images/coupon_bg.png create mode 100644 static/images/coupon_bg_grey.png create mode 100644 static/images/coupon_null.png create mode 100644 static/images/coupon_receive.png create mode 100644 static/images/delivery_die.png create mode 100644 static/images/goods_null.png create mode 100644 static/images/home_bg_coupon.png create mode 100644 static/images/home_bg_coupon_gray.png create mode 100644 static/images/home_bg_coupon_red.png create mode 100644 static/images/home_coupon_bg.png create mode 100644 static/images/home_img_ receive.png create mode 100644 static/images/home_seckill_bg.png create mode 100644 static/images/hot_title.png create mode 100644 static/images/icon_address.png create mode 100644 static/images/icon_back.png create mode 100644 static/images/icon_cart.png create mode 100644 static/images/icon_carts.png create mode 100644 static/images/icon_close.png create mode 100644 static/images/icon_collection.png create mode 100644 static/images/icon_collection_s.png create mode 100644 static/images/icon_contact.png create mode 100644 static/images/icon_del.png create mode 100644 static/images/icon_del_1.png create mode 100644 static/images/icon_double.png create mode 100644 static/images/icon_edit.png create mode 100644 static/images/icon_generate_poster.png create mode 100644 static/images/icon_go_red.png create mode 100644 static/images/icon_group.png create mode 100644 static/images/icon_home.png create mode 100644 static/images/icon_like.png create mode 100644 static/images/icon_list.png create mode 100644 static/images/icon_member.png create mode 100644 static/images/icon_my_fahuo.png create mode 100644 static/images/icon_my_news.png create mode 100644 static/images/icon_my_payment.png create mode 100644 static/images/icon_my_pingjia.png create mode 100644 static/images/icon_my_setting.png create mode 100644 static/images/icon_my_shouhou.png create mode 100644 static/images/icon_my_shouhuo.png create mode 100644 static/images/icon_new_recommend.png create mode 100644 static/images/icon_news.png create mode 100644 static/images/icon_news_b.png create mode 100644 static/images/icon_one.png create mode 100644 static/images/icon_paySuccess.png create mode 100644 static/images/icon_play.png create mode 100644 static/images/icon_search.png create mode 100644 static/images/icon_share.png create mode 100644 static/images/icon_toutiao.png create mode 100644 static/images/icon_user.png create mode 100644 static/images/icon_warning.png create mode 100644 static/images/icon_wechat.png create mode 100644 static/images/my_portrait_empty.png create mode 100644 static/images/my_topbg.png create mode 100644 static/images/new_title.png create mode 100644 static/images/news_null.png create mode 100644 static/images/order_null.png create mode 100644 static/images/pintuan_bg.png create mode 100644 static/images/pop_bg_coupon.png create mode 100644 static/images/profit_null.png create mode 100644 static/images/share_arrow.png create mode 100644 static/images/tab_cart.png create mode 100644 static/images/tab_cart_s.png create mode 100644 static/images/tab_home.png create mode 100644 static/images/tab_home_s.png create mode 100644 static/images/tab_sort.png create mode 100644 static/images/tab_sort_s.png create mode 100644 static/images/tab_user.png create mode 100644 static/images/tab_user_s.png create mode 100644 static/images/uploader_icon.png create mode 100644 static/images/vip_grade_bg.png create mode 100644 store/getters.js create mode 100644 store/index.js create mode 100644 store/modules/app.js create mode 100644 store/modules/index.js create mode 100644 styles/base.scss create mode 100644 styles/builder.scss create mode 100644 uni.scss create mode 100644 utils/area.js create mode 100644 utils/cache.js create mode 100644 utils/login.js create mode 100644 utils/pay.js create mode 100644 utils/permission.js create mode 100644 utils/request.js create mode 100644 utils/tools.js create mode 100644 utils/type.js create mode 100644 utils/wechath5.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4403627 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +unpackage +node_modules/ \ No newline at end of file diff --git a/.hbuilderx/launch.json b/.hbuilderx/launch.json new file mode 100644 index 0000000..1e1eb6a --- /dev/null +++ b/.hbuilderx/launch.json @@ -0,0 +1,26 @@ +{ + // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/ + // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数 + "version" : "0.0", + "configurations" : [ + { + "app-plus" : { + "launchtype" : "remote" + }, + "default" : { + "launchtype" : "remote" + }, + "h5" : { + "launchtype" : "remote" + }, + "mp-weixin" : { + "launchtype" : "remote" + }, + "type" : "uniCloud" + }, + { + "playground" : "standard", + "type" : "uni-app:app-android" + } + ] +} diff --git a/App.vue b/App.vue new file mode 100644 index 0000000..371cc19 --- /dev/null +++ b/App.vue @@ -0,0 +1,93 @@ + + + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..12a6ce9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Xaber + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/androidPrivacy.json b/androidPrivacy.json new file mode 100644 index 0000000..24817bf --- /dev/null +++ b/androidPrivacy.json @@ -0,0 +1,28 @@ +{ + "version" : "1", + "prompt" : "template", + "title" : "用户协议和隐私政策", + "message" : "  请你务必审慎阅读、充分理解“用户协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。
  你可阅读《用户协议》《隐私政策》了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。", + "buttonAccept" : "同意并接受", + "buttonRefuse" : "暂不同意", + "hrefLoader" : "system|default", + "second" : { + "title" : "确认提示", + "message" : "  进入应用前,你需先同意《用户协议》《隐私政策》,否则将退出应用。", + "buttonAccept" : "同意并继续", + "buttonRefuse" : "退出应用" + }, + "styles" : { + "backgroundColor" : "#ffffff", + "borderRadius" : "5px", + "title" : { + "color" : "#FF2C3C" + }, + "buttonAccept" : { + "color" : "#FF2C3C" + }, + "buttonRefuse" : { + "color" : "#545454" + } + } +} diff --git a/api/activity.js b/api/activity.js new file mode 100644 index 0000000..271733f --- /dev/null +++ b/api/activity.js @@ -0,0 +1,98 @@ +import request from '@/utils/request' +import {client} from '@/utils/tools' +//获取商品的优惠券 +export function getGoodsCoupon(data) { + return request.get("coupon/getGoodsCoupon", {params: data}); +} + +//领券中心 +export function getCouponList(data) { + return request.get("coupon/couponList", {params: data}); +} + +// 获取活动专区商品列表 +export function getActivityGoodsLists(data) { + return request.get("activity_area/activityGoodsList", {params: data}) +} + + +// 获取秒杀时间段 +export function getSeckillTime() { + return request.get("seckill/seckillTime"); +} + +// 获取秒杀商品 +export function getSeckillGoods(params) { + return request.get("seckill/seckillGoods", {params}) +} + + + +export function getGroupList(params) { + return request.get('team/teamGoodsList', {params}); +} + +//我的拼团 +export function getUserGroup(params) { + return request.get('user/myTeam', {params}); +} + +//拼团详情 +export function getTeamInfo(params) { + return request.get('team/teamInfo', {params}); +} + +//参与拼团验证 +export function teamCheck(data) { + return request.post('team/check', data); +} + + //拼团下单 +export function teamBuy(data) { + return request.post("team/buy",data); +} + +// 获取砍价列表 +export function getBargainList(data) { + return request.get('bargain/lists', {params: data}) +} + +// 获取砍价详情 +export function getBargainDetail(data) { + return request.get('bargain/detail', {params: data}) +} + +// 获取砍价成功人数 +export function getBargainNumber() { + return request.get("bargain/barginNumber") +} + +// 发起砍价 +export function launchBargain(data) { + return request.post('bargain/sponsor', data) +} + +// 获取砍价活动商品列表 +export function getBargainActivityList(data) { + return request.get('bargain/orderList', {params: data}) +} + +// 砍价详情 +export function getBargainActivityDetail(data) { + return request.get("bargain/bargainDetail", {params: data}) +} + +// 砍价海报 +export function getBargainPost(data) { + return request.get("share/shareBargain", {params: data}) +} + +// 好友助力 +export function helpBargain(data) { + return request.post('bargain/knife', data) +} + +// 关闭结算订单 +export function closeBargainOrder(data) { + return request.get("bargain/closeBargain", {params: data}) +} \ No newline at end of file diff --git a/api/app.js b/api/app.js new file mode 100644 index 0000000..9b4a492 --- /dev/null +++ b/api/app.js @@ -0,0 +1,140 @@ +import request from "@/utils/request"; +import wechath5 from "@/utils/wechath5"; +import { client } from "@/utils/tools"; + +//小程序授权登录 +export function authLogin(data) { + return request.post("account/authLogin", data); +} +//小程序静默登录 +export function silentLogin(data) { + return request.post("account/silentLogin", data); +} + +//更新小程序头像昵称 +export function updateUser(data, token) { + return request.post("account/updateUser", data, { header: { token } }); +} +// app登录 +export function opLogin(data) { + return request.post("account/uinAppLogin", { ...data, client }); +} + +//预支付接口 +export function prepay(data) { + return request.post("payment/prepay", { ...data, order_source: client }); +} + +//小程序订阅 +export function getMnpNotice(data) { + return request.get("subscribe/lists", { + params: data, + }); +} + +//账号登录 +export function accountLogin(data) { + return request.post("account/login", { ...data, client }); +} + +export function getWechatConfig() { + return request.get("wechat/config", { + url: encodeURIComponent(wechat.signLink()), + }); +} + +// 登录 +export function wechatLogin(data) { + return request.post("account/oalogin", data); +} + +// 获取获取向微信请求code的链接 +export function getCodeUrl() { + return request.get("account/codeurl", { + params: { + url: encodeURIComponent(location.href), + }, + }); +} + +//微信sdk配置 +export function getJsconfig() { + return request.get("we_chat/jsconfig", { + params: { + url: encodeURIComponent(wechath5.signLink()), + }, + }); +} + +// 忘记密码 +export function forgetPwd(data) { + return request.post("login_password/forget", { ...data, client }); +} + +// 发送短信 +export function sendSms(data) { + return request.post("sms/send", { ...data, client }); +} + +// Html5 注册账号 +export function register(data) { + return request.post("account/register", { ...data, client }); +} + +// 获取服务协议 +export function getServerProto() { + return request.get("policy/service"); +} + +// 获取隐私政策 +export function getPrivatePolicy() { + return request.get("policy/privacy"); +} + +// 售后保障 +export function getAfterSaleGuar() { + return request.get("policy/afterSale"); +} + +//客服 +export function getService() { + return request.get("service/lists"); +} + +// 足迹气泡 +export function getBubbleLists() { + return request.get("footprint/lists"); +} + +// 用户自定义分享 +export function userShare(params) { + return request.get("index/share", { + params: { + ...params, + client, + }, + }); +} + +// 验证码登录 +export function smsCodeLogin(data) { + return request.post("account/smsLogin", { ...data, client }); +} +export function getConfig() { + return request.get("index/config"); +} + +// 注册赠送优惠券 +export function getRegisterCoupon() { + return request.get("coupon/registerSendCoupon"); +} + +// 获取支付配置 +export function getPayway(params) { + return request.get("payment/payway", { params }); +} + +// 获取微信小程序码-生成海报需使用 +export function getShareMnQrcode(params) { + return request.get("share/getMnQrcode", { params }); +} diff --git a/api/new.js b/api/new.js new file mode 100644 index 0000000..1fe6f49 --- /dev/null +++ b/api/new.js @@ -0,0 +1,29 @@ +import request from '@/utils/request' +import {client} from '@/utils/tools' +//文章分类 +export function getCategoryList(data) { + let {type} = data + let url = type ? 'help/category' : 'article/category' + delete data.type + return request.get(url) +} + +//文章列表 +export function getArticleList(data) { + let {type} = data + let url = type ? 'help/lists' : 'article/lists' + delete data.type + return request.get(url, { + params: data + }) +} + +// 文章详情 +export function getArticleDetail(data) { + let {type} = data + let url = type ? 'help/detail' : 'article/detail' + delete data.type + return request.get(url, { + params: { id: data.id } + }) +} \ No newline at end of file diff --git a/api/order.js b/api/order.js new file mode 100644 index 0000000..8ac69af --- /dev/null +++ b/api/order.js @@ -0,0 +1,85 @@ +import request from "@/utils/request"; +import { client } from "@/utils/tools"; + +//下单 +export function orderBuy(data) { + return request.post("order/buy", data); +} +//删除订单 +export function delOrder(id) { + return request.post("order/del", { + id, + }); +} + +// 获取配送方式 +export function getDelivery() { + return request.get("order/getDeliveryType"); +} + +//订单列表 +export function getOrderList(data) { + return request.get("order/lists", { + params: data, + }); +} +//订单详情 +export function getOrderDetail(id) { + return request.get("order/detail", { + params: { + id, + }, + }); +} + +//取消订单 +export function cancelOrder(id) { + return request.post("order/cancel", { + id, + }); +} + +//物流 +export function orderTraces(id) { + return request.get("order/orderTraces", { + params: { + id, + }, + }); +} + +//确认收货 +export function confirmOrder(id) { + return request.post("order/confirm", { + id, + }); +} + +//下单获取优惠券 +export function getOrderCoupon(data) { + return request.post("coupon/orderCoupon", data); +} + +// 核销订单 +export function getVerifyLists(data) { + return request.get("order/verificationLists", { + params: data, + }); +} +// 核销详情 +export function verification(data) { + return request.post("order/verification", data); +} + +// 确认核销 +export function verificationConfirm(data) { + return request.post("order/verificationConfirm", data); +} +//确认收货组件 +export function getwxReceiveDetail(params) { + return request.get("order/wxReceiveDetail", { params }); +} +//查询确认收货 +export function getwechatSyncCheck(params) { + return request.get("order/wechatSyncCheck", { params }); +} diff --git a/api/store.js b/api/store.js new file mode 100644 index 0000000..f26084e --- /dev/null +++ b/api/store.js @@ -0,0 +1,171 @@ +import request from '@/utils/request' +import {client} from '@/utils/tools' +//获取首页数据接口 +export function getHome() { + return request.get('index/lists') +} + +//获取菜单 +export function getMenu(data) { + return request.get('menu/lists', { + params: data, + }); +} + +//广告位 +export function getAdList(data) { + return request.get('ad_content/lists', { + params: data + }); +} + +// 购物车列表 +export function getCartList() { + return request.get('cart/lists') +} + + +//获取好物优选商品列表 +export function getBestList(data) { + return request.get('goods/getBestList', { + params: data + }); +} + +// 商品分类 +export function getCatrgory() { + return request.get('goods_category/lists'); +} + + +//商品详情 +export function getGoodsDetail(data) { + return request.get('goods/getGoodsDetail', { + params: data + }); +} + +// 商品搜索 + +export function getGoodsSearch(data) { + return request.get('goods/getGoodsList', { + params: data + }); +} +//搜索页,热门搜索列表,和历史搜索列表 + +export function getSearchpage(data) { + return request.get('goods/getSearchPage', { + params: data + }); +} +// 清空历史搜索 + +export function clearSearch() { + return request.get('goods/clearSearch'); +} + +//评价列表 +export function getCommentList(data) { + return request.get("goods_comment/lists", { + params: data + }) +} + +// 获取评价列表 +export function getOrderCommentList(data) { + return request.get("goods_comment/getOrderGoods", { + params: data + }) +} + +// 购物车数量更改 +export function changeGoodsCount(data) { + return request.post("cart/change", data) +} + +// 单选/全选/店铺选择 +export function selectedOpt(data) { + return request.post("cart/selected", data) +} + +// 删除商品 +export function deleteGoods(data) { + return request.post("cart/del", data); +} + +//购物车选中状态 +export function changeCartSelect(data) { + return request.post('cart/selected', data) +} + +//评价分类 +export function getCommentCategory(id) { + return request.get("/goods_comment/category", { + params: { + goods_id: id + } + }) +} + +//加入购物车 + +export function addCart(data) { + return request.post('cart/add', data); +} + + //购物车数量 + +export function getCartNum(params) { + return request.get("cart/num", {params}); +} + + +//获取商品热搜榜单 +export function getHotGoods(data) { + return request.get("goods/getHostList", {params: data}); +} + +// 获取秒杀时间段 +export function getSeckillTime() { + return request.get("/seckill/seckillTime"); +} + +// 获取秒杀商品 +export function getSeckillGoods(params) { + return request.get("/seckill/seckillGoods", {params}) +} + +// 消息中心首页 +export function getMessageLists() { + return request.get("notice/index") +} + +// 消息通知 +export function getNoticeLists(params) { + return request.get("notice/lists", {params}) +} + + +//商品海报 + +export function getPoster(data) { + return request.get("share/sharegoods", { + params: data + }); +} + +// 门店自提列表 + +export function getStoreList(data) { + return request.get("selffetch_shop/lists", { + params: data + }); +} + +// 直播列表 +export function getLiveRoom(data) { + return request.get("live_room/lists", { + params: data + }); +} diff --git a/api/user.js b/api/user.js new file mode 100644 index 0000000..3717a11 --- /dev/null +++ b/api/user.js @@ -0,0 +1,394 @@ +// +---------------------------------------------------------------------- +// | likeshop开源商城系统 +// +---------------------------------------------------------------------- +// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力 +// | gitee下载:https://gitee.com/likeshop_gitee +// | github下载:https://github.com/likeshop-github +// | 访问官网:https://www.likeshop.cn +// | 访问社区:https://home.likeshop.cn +// | 访问手册:http://doc.likeshop.cn +// | 微信公众号:likeshop技术社区 +// | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识 +// | likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识 +// | 禁止对系统程序代码以任何目的,任何形式的再发布 +// | likeshop团队版权所有并拥有最终解释权 +// +---------------------------------------------------------------------- +// | author: likeshop.cn.team +// +---------------------------------------------------------------------- +import request from '../utils/request' +import { client } from '@/utils/tools' +//个人中心 +export function getUser() { + return request.get('user/center') +} + +//用户领取优惠券 +export function getCoupon(id) { + return request.post('coupon/getCoupon', { id }) +} + +// 地址列表 +export function getAddressLists() { + return request.get('user_address/lists') +} + +// 添加编辑地址 +export function editAddress(data) { + return request.post('user_address/update', data) +} + +export function addAddress(data) { + return request.post('user_address/add', data) +} + +// 删除地址 +export function delAddress(id) { + return request.post('user_address/del', { id }) +} + +// 获取单个地址 +export function getOneAddress(id) { + return request.get('user_address/detail', { params: { id } }) +} + +// 获取默认地址 +export function getDefaultAddress(id) { + return request.get('user_address/getDefault', { params: { id } }) +} + +// 设置默认地址 +export function setDefaultAddress(id) { + return request.post('user_address/setDefault', { id }) +} + +//传省市区字符串判读是否有code +export function hasRegionCode(data) { + return request.post('user_address/handleRegion', data) +} + +//我的优惠券 +export function getMyCoupon(data) { + return request.get('coupon/myCoupon', { + params: data + }) +} + +// 获取商品的收藏列表 +export function getCollectGoods(data) { + return request.get('collect/getCollectGoods', { + params: data + }) +} + +// 商品的增添取消收藏 +export function collectGoods(data) { + return request.post('collect/handleCollectGoods', data) +} + +//删除订单 +export function delOrder(id) { + return request.post('order/del', { id }) +} +//订单列表 +export function getOrderList(data) { + return request.get('order/lists', { params: data }) +} +//订单详情 +export function getOrderDetail(id) { + return request.get('order/detail', { id }) +} + +//取消订单 +export function cancelOrder(id) { + return request.post('order/cancel', { id }) +} + +//物流 +export function orderTraces(id) { + return request.get('order/orderTraces', { params: { id } }) +} + +//确认收货 +export function confirmOrder(id) { + return request.post('order/confirm', { id }) +} + +// 充值模板 +export function rechargeTemplate() { + return request.get('recharge/rechargeTemplate') +} + +// 获取售后列表 +export function getAfterSaleList(params) { + return request.get('after_sale/lists', { params }) +} + +// 申请售后 +export function applyAfterSale(data) { + return request.post('after_sale/add', data) +} + +// 获取商品信息 +export function getGoodsInfo(params) { + return request.get('after_sale/goodsInfo', { params }) +} + +// 填写快递信息 +export function inputExpressInfo(data) { + return request.post('after_sale/express', data) +} + +// 撤销申请 +export function cancelApply(data) { + return request.post('after_sale/cancel', data) +} + +// 售后详情 +export function afterSaleDetail(params) { + return request.get('after_sale/detail', { params }) +} + +// 重新申请 +export function applyAgain(data) { + return request.post('after_sale/again', data) +} + +// 账户明细 积分明细 +export function getAccountLog(params) { + return request.get('user/accountLog', { params }) +} + +//充值 +export function recharge(data) { + return request.post('recharge/recharge', data) +} + +export function getRechargeRecord(params) { + return request.get('recharge/rechargeRecord', { params }) +} + +// 填写邀请码 +export function inputInviteCode(data) { + return request.post('distribution/code', data) +} + +// 分销会员申请 +export function applyVip(data) { + return request.post('distribution/apple', data) +} + +// 分销入口验证 +export function veryfiyDistribute() { + return request.post('distribution/check') +} + +// 最新分销会员申请详情 +export function applyVipDetail() { + return request.post('distribution/appledetail') +} + +// 邀请人信息 +export function getInviteInfo() { + return request.get('distribution/myleader') +} + +// 获取评价信息 +export function getCommentInfo(data) { + return request.get('goods_comment/getGoods', { params: data }) +} + +// 分销主页 +export function getPromoteHome() { + return request.get('distribution/index') +} + +// 分销订单列表 +export function getPromoteOrder(data) { + return request.get('distribution/order', { params: data }) +} + +//商品评价 +export function goodsComment(data) { + return request.post('goods_comment/addGoodsComment', data) +} + +// 获取个人详情 +export function getUserInfo() { + return request.get('user/info') +} + +// 设置个人信息 +export function setUserInfo(data) { + return request.post('user/setInfo', data) +} + +// 更换手机号 +export function changeUserMobile(data) { + // #ifdef MP-WEIXIN + return request.post('user/getMobile', data) + // #endif + // #ifdef H5 || APP-PLUS + return request.post('user/changeMobile', { ...data, client }) + // #endif +} + +//会员中心 +export function getLevelList() { + return request.get('user_level/lists') +} +// 我的粉丝 +export function getUserFans(data) { + return request.get('user/fans', { params: data }) +} + +// 佣金提现 +export function applyWithdraw(data) { + return request.post('withdraw/apply', data) +} + +// 提现记录列表 +export function getWithdrawRecords(params) { + return request.get('withdraw/records', { params }) +} + +// 提现详情 +export function getWithdrawDetail(params) { + return request.get('withdraw/info', { params }) +} + +// 提现页信息 +export function getWithdrawConfig() { + return request.get('withdraw/config') +} + +// 月度账单 +export function getMonthBill(params) { + return request.get('distribution/monthbill', { params }) +} + +// 月度账单明细 +export function getMonthOrderDetail(params) { + return request.get('distribution/monthDetail', { params }) +} + +// 邀请海报 +export function getInviteBanner(data) { + return request.get('share/userPoster', { params: data }) +} + +// 用户钱包 +export function getWallet() { + return request.get('user/myWallet') +} + +// 获取签到列表 +export function getSignList() { + return request.get('sign/lists') +} + +// 签到 +export function userSign() { + return request.get('sign/sign') +} + +// 获取签到规则 +export function getSignRule() { + return request.get('sign/rule') +} + +// 退出登录 +export function userLogout(data) { + return request.post('account/logout', data) +} + +// 获取抽奖配置 +export function getPrize(data) { + return request.get('Luckdraw/prize', { + params: data + }) +} + +// 抽奖记录 +export function getUserRecord(data) { + return request.get('Luckdraw/record', { + params: data + }) +} + +// 抽奖 +export function userLottery(data) { + return request.get('Luckdraw/draw', { + params: data + }) +} + +// 中奖名单 +export function luckyDrawWinningList(data) { + return request.get('Luckdraw/winList', { + params: data + }) +} + +//更新微信信息 + +export function setWechatInfo(data) { + return request.post('user/setWechatInfo', data) +} + +//设置交易密码 +export function setPassword(data) { + return request.post('user/setPayPassword', data) +} +//修改支付密码 +export function changePayPassword(data) { + return request.post('user/changePayPassword', data) +} +//判断是否设置交易密码 +export function hasPayPassword() { + return request.get('user/hasPayPassword') +} + +//会员转账 +export function transfer(data) { + return request.post('user/transfer', data) +} + +//最近转账会员 +export function getTransferRecent() { + return request.get('user/transferRecent') +} + +//会员转账记录 +export function transferRecord(params) { + return request.get('user/transferRecord', { params }) +} + +//发送验证码 +export function send(data) { + return request.post('user/send', data) +} + +// 找回密码 +export function retrievePayPassword(data) { + return request.post('user/retrievePayPassword', data) +} + +//获取会员信息 +export function transferToInfo(params) { + return request.get('user/transferToInfo', { params }) +} + +// 获取微信小程序码-生成海报需使用 +export function apiDistributionPoster() { + return request.get('distribution/getPoster') +} + +// 资质信息 +export function getCopyright() { + return request.get('index/copyright') +} + +// 绑定微信 +export function bindOawechat(data) { + return request.post('account/oaAuthLogin', data) +} diff --git a/apple-app-site-association b/apple-app-site-association new file mode 100644 index 0000000..618b7df --- /dev/null +++ b/apple-app-site-association @@ -0,0 +1,11 @@ +{ + "applinks": { + "apps": [], + "details": [ + { + "appID": "8656MXP6VT.com.gzyx.likeshop", + "paths": [ "/ulink/*"] + } + ] + } +} \ No newline at end of file diff --git a/autoRelease.sh b/autoRelease.sh new file mode 100644 index 0000000..e445a85 --- /dev/null +++ b/autoRelease.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# 文件原路径 +srcPath="./unpackage/dist/build/web" +# 发布路径文件夹 +releasePath="../server/public/mobile" + +#删除发布目录下的mobile文件 +rm -r $releasePath +echo "已删除 ==> $releasePath 下的目录文件" +mkdir $releasePath +echo "已新建 ==> $releasePath 目录" + +# 复制打包目录内的文件到发布目录 +cp -r $srcPath/* $releasePath +echo "已复制 $srcPath/* ==> $releasePath" + +cp $releasePath/../favicon.ico $releasePath \ No newline at end of file diff --git a/bundle/pages/activity_detail/activity_detail.vue b/bundle/pages/activity_detail/activity_detail.vue new file mode 100644 index 0000000..9d17d88 --- /dev/null +++ b/bundle/pages/activity_detail/activity_detail.vue @@ -0,0 +1,161 @@ +// +---------------------------------------------------------------------- +// | likeshop开源商城系统 +// +---------------------------------------------------------------------- +// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力 +// | gitee下载:https://gitee.com/likeshop_gitee +// | github下载:https://github.com/likeshop-github +// | 访问官网:https://www.likeshop.cn +// | 访问社区:https://home.likeshop.cn +// | 访问手册:http://doc.likeshop.cn +// | 微信公众号:likeshop技术社区 +// | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识 +// | likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识 +// | 禁止对系统程序代码以任何目的,任何形式的再发布 +// | likeshop团队版权所有并拥有最终解释权 +// +---------------------------------------------------------------------- +// | author: likeshop.cn.team +// +---------------------------------------------------------------------- + + + + + \ No newline at end of file diff --git a/bundle/pages/after_sales_detail/after_sales_detail.vue b/bundle/pages/after_sales_detail/after_sales_detail.vue new file mode 100644 index 0000000..96ae1cc --- /dev/null +++ b/bundle/pages/after_sales_detail/after_sales_detail.vue @@ -0,0 +1,341 @@ + + + + diff --git a/bundle/pages/apply_refund/apply_refund.vue b/bundle/pages/apply_refund/apply_refund.vue new file mode 100644 index 0000000..221f845 --- /dev/null +++ b/bundle/pages/apply_refund/apply_refund.vue @@ -0,0 +1,394 @@ + + + + diff --git a/bundle/pages/balance_transfer/balance_transfer.vue b/bundle/pages/balance_transfer/balance_transfer.vue new file mode 100644 index 0000000..4b657da --- /dev/null +++ b/bundle/pages/balance_transfer/balance_transfer.vue @@ -0,0 +1,244 @@ + + + + + diff --git a/bundle/pages/bargain/bargain.vue b/bundle/pages/bargain/bargain.vue new file mode 100644 index 0000000..22cecd9 --- /dev/null +++ b/bundle/pages/bargain/bargain.vue @@ -0,0 +1,136 @@ + + + + + \ No newline at end of file diff --git a/bundle/pages/bargain_code/bargain_code.vue b/bundle/pages/bargain_code/bargain_code.vue new file mode 100644 index 0000000..e6c6c9e --- /dev/null +++ b/bundle/pages/bargain_code/bargain_code.vue @@ -0,0 +1,84 @@ + + + + + diff --git a/bundle/pages/bargain_process/bargain_process.vue b/bundle/pages/bargain_process/bargain_process.vue new file mode 100644 index 0000000..d61a2b2 --- /dev/null +++ b/bundle/pages/bargain_process/bargain_process.vue @@ -0,0 +1,717 @@ + + + + + \ No newline at end of file diff --git a/bundle/pages/contact_offical/contact_offical.vue b/bundle/pages/contact_offical/contact_offical.vue new file mode 100644 index 0000000..97b6392 --- /dev/null +++ b/bundle/pages/contact_offical/contact_offical.vue @@ -0,0 +1,157 @@ + + + + + diff --git a/bundle/pages/forget_pay_pwd/forget_pay_pwd.vue b/bundle/pages/forget_pay_pwd/forget_pay_pwd.vue new file mode 100644 index 0000000..36c7f6f --- /dev/null +++ b/bundle/pages/forget_pay_pwd/forget_pay_pwd.vue @@ -0,0 +1,184 @@ + + + + + diff --git a/bundle/pages/goods_combination/goods_combination.vue b/bundle/pages/goods_combination/goods_combination.vue new file mode 100644 index 0000000..9cd26ec --- /dev/null +++ b/bundle/pages/goods_combination/goods_combination.vue @@ -0,0 +1,169 @@ +// +---------------------------------------------------------------------- +// | likeshop开源商城系统 +// +---------------------------------------------------------------------- +// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力 +// | gitee下载:https://gitee.com/likeshop_gitee +// | github下载:https://github.com/likeshop-github +// | 访问官网:https://www.likeshop.cn +// | 访问社区:https://home.likeshop.cn +// | 访问手册:http://doc.likeshop.cn +// | 微信公众号:likeshop技术社区 +// | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识 +// | likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识 +// | 禁止对系统程序代码以任何目的,任何形式的再发布 +// | likeshop团队版权所有并拥有最终解释权 +// +---------------------------------------------------------------------- +// | author: likeshop.cn.team +// +---------------------------------------------------------------------- + + + + + diff --git a/bundle/pages/goods_comment_list/goods_comment_list.vue b/bundle/pages/goods_comment_list/goods_comment_list.vue new file mode 100644 index 0000000..af86be5 --- /dev/null +++ b/bundle/pages/goods_comment_list/goods_comment_list.vue @@ -0,0 +1,48 @@ + + + + \ No newline at end of file diff --git a/bundle/pages/goods_logistics/goods_logistics.vue b/bundle/pages/goods_logistics/goods_logistics.vue new file mode 100644 index 0000000..2bec7ae --- /dev/null +++ b/bundle/pages/goods_logistics/goods_logistics.vue @@ -0,0 +1,258 @@ +// +---------------------------------------------------------------------- +// | likeshop开源商城系统 +// +---------------------------------------------------------------------- +// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力 +// | gitee下载:https://gitee.com/likeshop_gitee +// | github下载:https://github.com/likeshop-github +// | 访问官网:https://www.likeshop.cn +// | 访问社区:https://home.likeshop.cn +// | 访问手册:http://doc.likeshop.cn +// | 微信公众号:likeshop技术社区 +// | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识 +// | likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识 +// | 禁止对系统程序代码以任何目的,任何形式的再发布 +// | likeshop团队版权所有并拥有最终解释权 +// +---------------------------------------------------------------------- +// | author: likeshop.cn.team +// +---------------------------------------------------------------------- + + + + + + \ No newline at end of file diff --git a/bundle/pages/goods_reviews/goods_reviews.vue b/bundle/pages/goods_reviews/goods_reviews.vue new file mode 100644 index 0000000..d218b46 --- /dev/null +++ b/bundle/pages/goods_reviews/goods_reviews.vue @@ -0,0 +1,258 @@ + + + + diff --git a/bundle/pages/goods_seckill/goods_seckill.vue b/bundle/pages/goods_seckill/goods_seckill.vue new file mode 100644 index 0000000..354d78a --- /dev/null +++ b/bundle/pages/goods_seckill/goods_seckill.vue @@ -0,0 +1,288 @@ + + + + \ No newline at end of file diff --git a/bundle/pages/hot_list/hot_list.vue b/bundle/pages/hot_list/hot_list.vue new file mode 100644 index 0000000..61e8843 --- /dev/null +++ b/bundle/pages/hot_list/hot_list.vue @@ -0,0 +1,108 @@ +// +---------------------------------------------------------------------- +// | likeshop开源商城系统 +// +---------------------------------------------------------------------- +// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力 +// | gitee下载:https://gitee.com/likeshop_gitee +// | github下载:https://github.com/likeshop-github +// | 访问官网:https://www.likeshop.cn +// | 访问社区:https://home.likeshop.cn +// | 访问手册:http://doc.likeshop.cn +// | 微信公众号:likeshop技术社区 +// | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识 +// | likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识 +// | 禁止对系统程序代码以任何目的,任何形式的再发布 +// | likeshop团队版权所有并拥有最终解释权 +// +---------------------------------------------------------------------- +// | author: likeshop.cn.team +// +---------------------------------------------------------------------- + + + + + diff --git a/bundle/pages/input_express_info/input_express_info.vue b/bundle/pages/input_express_info/input_express_info.vue new file mode 100644 index 0000000..8862bbc --- /dev/null +++ b/bundle/pages/input_express_info/input_express_info.vue @@ -0,0 +1,208 @@ + + + + \ No newline at end of file diff --git a/bundle/pages/invite_fans/invite_fans.vue b/bundle/pages/invite_fans/invite_fans.vue new file mode 100644 index 0000000..ef911af --- /dev/null +++ b/bundle/pages/invite_fans/invite_fans.vue @@ -0,0 +1,153 @@ + + + + diff --git a/bundle/pages/license/license.vue b/bundle/pages/license/license.vue new file mode 100644 index 0000000..6defe7f --- /dev/null +++ b/bundle/pages/license/license.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/bundle/pages/live_broadcast/live_broadcast.vue b/bundle/pages/live_broadcast/live_broadcast.vue new file mode 100644 index 0000000..882c9e6 --- /dev/null +++ b/bundle/pages/live_broadcast/live_broadcast.vue @@ -0,0 +1,155 @@ + + + + + diff --git a/bundle/pages/luckly_wheel/luckly_wheel.vue b/bundle/pages/luckly_wheel/luckly_wheel.vue new file mode 100644 index 0000000..faeb7b3 --- /dev/null +++ b/bundle/pages/luckly_wheel/luckly_wheel.vue @@ -0,0 +1,262 @@ + + + + + diff --git a/bundle/pages/message_center/message_center.vue b/bundle/pages/message_center/message_center.vue new file mode 100644 index 0000000..615c116 --- /dev/null +++ b/bundle/pages/message_center/message_center.vue @@ -0,0 +1,88 @@ + + + + \ No newline at end of file diff --git a/bundle/pages/notice/notice.vue b/bundle/pages/notice/notice.vue new file mode 100644 index 0000000..f6808b3 --- /dev/null +++ b/bundle/pages/notice/notice.vue @@ -0,0 +1,149 @@ + + + + \ No newline at end of file diff --git a/bundle/pages/post_sale/post_sale.vue b/bundle/pages/post_sale/post_sale.vue new file mode 100644 index 0000000..f8c5a99 --- /dev/null +++ b/bundle/pages/post_sale/post_sale.vue @@ -0,0 +1,177 @@ + + + + \ No newline at end of file diff --git a/bundle/pages/prize_record/prize_record.vue b/bundle/pages/prize_record/prize_record.vue new file mode 100644 index 0000000..78af27d --- /dev/null +++ b/bundle/pages/prize_record/prize_record.vue @@ -0,0 +1,104 @@ + + + + diff --git a/bundle/pages/recharge_code/recharge_code.vue b/bundle/pages/recharge_code/recharge_code.vue new file mode 100644 index 0000000..b11c157 --- /dev/null +++ b/bundle/pages/recharge_code/recharge_code.vue @@ -0,0 +1,81 @@ + + + + + diff --git a/bundle/pages/server_explan/server_explan.vue b/bundle/pages/server_explan/server_explan.vue new file mode 100644 index 0000000..dab1f40 --- /dev/null +++ b/bundle/pages/server_explan/server_explan.vue @@ -0,0 +1,120 @@ + + + + \ No newline at end of file diff --git a/bundle/pages/set_pay_pwd/set_pay_pwd.vue b/bundle/pages/set_pay_pwd/set_pay_pwd.vue new file mode 100644 index 0000000..8630151 --- /dev/null +++ b/bundle/pages/set_pay_pwd/set_pay_pwd.vue @@ -0,0 +1,154 @@ + + + + + diff --git a/bundle/pages/sign_detail/sign_detail.vue b/bundle/pages/sign_detail/sign_detail.vue new file mode 100644 index 0000000..39ee733 --- /dev/null +++ b/bundle/pages/sign_detail/sign_detail.vue @@ -0,0 +1,116 @@ + + + + \ No newline at end of file diff --git a/bundle/pages/sign_rule/sign_rule.vue b/bundle/pages/sign_rule/sign_rule.vue new file mode 100644 index 0000000..a0af772 --- /dev/null +++ b/bundle/pages/sign_rule/sign_rule.vue @@ -0,0 +1,60 @@ + + + + \ No newline at end of file diff --git a/bundle/pages/store_list/store_list.vue b/bundle/pages/store_list/store_list.vue new file mode 100644 index 0000000..12abad5 --- /dev/null +++ b/bundle/pages/store_list/store_list.vue @@ -0,0 +1,263 @@ + + + + + diff --git a/bundle/pages/transfer_record/transfer_record.vue b/bundle/pages/transfer_record/transfer_record.vue new file mode 100644 index 0000000..8b43241 --- /dev/null +++ b/bundle/pages/transfer_record/transfer_record.vue @@ -0,0 +1,170 @@ + + + + diff --git a/bundle/pages/user_bill/user_bill.vue b/bundle/pages/user_bill/user_bill.vue new file mode 100644 index 0000000..34ebd50 --- /dev/null +++ b/bundle/pages/user_bill/user_bill.vue @@ -0,0 +1,185 @@ + + + + \ No newline at end of file diff --git a/bundle/pages/user_fans/user_fans.vue b/bundle/pages/user_fans/user_fans.vue new file mode 100644 index 0000000..9c260eb --- /dev/null +++ b/bundle/pages/user_fans/user_fans.vue @@ -0,0 +1,313 @@ + + + + \ No newline at end of file diff --git a/bundle/pages/user_group/user_group.vue b/bundle/pages/user_group/user_group.vue new file mode 100644 index 0000000..4a9ad12 --- /dev/null +++ b/bundle/pages/user_group/user_group.vue @@ -0,0 +1,71 @@ + + + + \ No newline at end of file diff --git a/bundle/pages/user_payment/user_payment.vue b/bundle/pages/user_payment/user_payment.vue new file mode 100644 index 0000000..8c6b4cf --- /dev/null +++ b/bundle/pages/user_payment/user_payment.vue @@ -0,0 +1,330 @@ + + + + diff --git a/bundle/pages/user_profile/user_profile.vue b/bundle/pages/user_profile/user_profile.vue new file mode 100644 index 0000000..4a98eff --- /dev/null +++ b/bundle/pages/user_profile/user_profile.vue @@ -0,0 +1,702 @@ + + + + + diff --git a/bundle/pages/user_set/user_set.vue b/bundle/pages/user_set/user_set.vue new file mode 100644 index 0000000..8233c19 --- /dev/null +++ b/bundle/pages/user_set/user_set.vue @@ -0,0 +1,615 @@ + + + + + diff --git a/bundle/pages/user_sign/user_sign.vue b/bundle/pages/user_sign/user_sign.vue new file mode 100644 index 0000000..5dd1569 --- /dev/null +++ b/bundle/pages/user_sign/user_sign.vue @@ -0,0 +1,353 @@ + + + + \ No newline at end of file diff --git a/bundle/pages/user_spread/user_spread.vue b/bundle/pages/user_spread/user_spread.vue new file mode 100644 index 0000000..f522c28 --- /dev/null +++ b/bundle/pages/user_spread/user_spread.vue @@ -0,0 +1,745 @@ + + + + \ No newline at end of file diff --git a/bundle/pages/user_spread_month_bill/user_spread_month_bill.vue b/bundle/pages/user_spread_month_bill/user_spread_month_bill.vue new file mode 100644 index 0000000..a3685a1 --- /dev/null +++ b/bundle/pages/user_spread_month_bill/user_spread_month_bill.vue @@ -0,0 +1,118 @@ + + + + \ No newline at end of file diff --git a/bundle/pages/user_spread_month_bill_detail/user_spread_month_bill_detail.vue b/bundle/pages/user_spread_month_bill_detail/user_spread_month_bill_detail.vue new file mode 100644 index 0000000..fcb27c7 --- /dev/null +++ b/bundle/pages/user_spread_month_bill_detail/user_spread_month_bill_detail.vue @@ -0,0 +1,282 @@ + + + + \ No newline at end of file diff --git a/bundle/pages/user_spread_order/user_spread_order.vue b/bundle/pages/user_spread_order/user_spread_order.vue new file mode 100644 index 0000000..f179d40 --- /dev/null +++ b/bundle/pages/user_spread_order/user_spread_order.vue @@ -0,0 +1,98 @@ + + + + \ No newline at end of file diff --git a/bundle/pages/user_wallet/user_wallet.vue b/bundle/pages/user_wallet/user_wallet.vue new file mode 100644 index 0000000..e9da3d0 --- /dev/null +++ b/bundle/pages/user_wallet/user_wallet.vue @@ -0,0 +1,165 @@ + + + + \ No newline at end of file diff --git a/bundle/pages/user_withdraw/user_withdraw.vue b/bundle/pages/user_withdraw/user_withdraw.vue new file mode 100644 index 0000000..926038b --- /dev/null +++ b/bundle/pages/user_withdraw/user_withdraw.vue @@ -0,0 +1,442 @@ + + + + diff --git a/bundle/pages/user_withdraw_code/user_withdraw_code.vue b/bundle/pages/user_withdraw_code/user_withdraw_code.vue new file mode 100644 index 0000000..5847f88 --- /dev/null +++ b/bundle/pages/user_withdraw_code/user_withdraw_code.vue @@ -0,0 +1,119 @@ + + + + \ No newline at end of file diff --git a/bundle/pages/widthdraw_result/widthdraw_result.vue b/bundle/pages/widthdraw_result/widthdraw_result.vue new file mode 100644 index 0000000..de03785 --- /dev/null +++ b/bundle/pages/widthdraw_result/widthdraw_result.vue @@ -0,0 +1,184 @@ + + + + diff --git a/bundle/pages/win_prize_code/win_prize_code.vue b/bundle/pages/win_prize_code/win_prize_code.vue new file mode 100644 index 0000000..860b92a --- /dev/null +++ b/bundle/pages/win_prize_code/win_prize_code.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/bundle/pages/writeoff_detail/writeoff_detail.vue b/bundle/pages/writeoff_detail/writeoff_detail.vue new file mode 100644 index 0000000..c872c65 --- /dev/null +++ b/bundle/pages/writeoff_detail/writeoff_detail.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/bundle/pages/writeoff_order/writeoff_order.vue b/bundle/pages/writeoff_order/writeoff_order.vue new file mode 100644 index 0000000..038f4b6 --- /dev/null +++ b/bundle/pages/writeoff_order/writeoff_order.vue @@ -0,0 +1,169 @@ + + + + + diff --git a/bundle/static/images/activity_detail_bg.png b/bundle/static/images/activity_detail_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..2440be1ff1fab2184f1c06ae9f3eb058c3640629 GIT binary patch literal 19313 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 LNkvXXu0mjfvgSyu literal 0 HcmV?d00001 diff --git a/bundle/static/images/bg_kanjia.png b/bundle/static/images/bg_kanjia.png new file mode 100644 index 0000000000000000000000000000000000000000..3f832654c22015e7280d5e5ff6c9311aac41dc41 GIT binary patch literal 7400 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 M)b-Tff$Spx1D#rKBme*a literal 0 HcmV?d00001 diff --git a/bundle/static/images/choujiang_bg.png b/bundle/static/images/choujiang_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..047e74f5d1ef679bd2277cf12a27912d8a694ddd GIT binary patch literal 151548 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�B%iIz)k^M|hkKK1X-V9l1Q@zD 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ⅇhJ_&eXt|ylgal#N+hJ`ZA#_t$5v(TAB7vgIiRxi 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 CDDdb2 literal 0 HcmV?d00001 diff --git a/bundle/static/images/hot_list_bg.png b/bundle/static/images/hot_list_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..45b3522764f7603cf2e73e8a258f85739321cfd9 GIT binary patch literal 23062 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 JPDHLkV1gj`ucQC~ literal 0 HcmV?d00001 diff --git a/bundle/static/images/icon_call.png b/bundle/static/images/icon_call.png new file mode 100644 index 0000000000000000000000000000000000000000..77765d06ced4235b4add4ae8c1253f719e2d8e02 GIT binary patch literal 8623 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 Bs%HQI literal 0 HcmV?d00001 diff --git a/bundle/static/images/icon_cashOut_wait.png b/bundle/static/images/icon_cashOut_wait.png new file mode 100644 index 0000000000000000000000000000000000000000..922797179d5847e96952f44464f1e415fdcb41c3 GIT binary patch literal 2873 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 literal 0 HcmV?d00001 diff --git a/bundle/static/images/icon_close.png b/bundle/static/images/icon_close.png new file mode 100644 index 0000000000000000000000000000000000000000..93cac2078b5ea293a16b228e82a4f38ba7b428d6 GIT binary patch literal 570 zcmeAS@N?(olHy`uVBq!ia0vp^5g^RL3?$vW53m8LmH?j+S0D`pp`oD;4h}#vAt50x zEiE}Y8Azt2q@;pDdU`sLhI8Qzpc)_mO2HXer63C6Br*fSp8e#7Fwha&B|(0{42;Yy zY#jVLx)xUU&MvOO5s}gP1;r(`^^GmdSFT;ZdCRu#J9h5cy?g(GKZP+%G8h;btvp>E zLn02py&fHW$UuPgftF);L-;Bs4e?CI@BjbXZ(K4rVA7j4mV4e-+WnL>dil=ew24%& z+v1BcD%+3F(C_Vvd9_dA;+&Uv&UDl*yRP)T@82g`{oGfV0$BD7>&wUf5;(|z+<6O^ z*{|&A%4v5$iYw2)BsMMFXvcLKo$A2tCYRC$rwZR$G3SZf6Blz0_1)`o7OYc#&vWJL z35D-IZ98QpU(7oZaDC$U=oPO|By87yd?#4)rQDNMh1&znjdl05A3C{ zcP@N#ZLQXdH#NuSX>t|r{Ve&2>FMT5wn?_dLQ2)o^&R-md`+?3p)d6Ggq+u;#lLkO z)4o01pIRrcpOdKAJpawcQu~O^C+>nasdvNbgbyD6bw({N>gv+QKkT0-YoFy`+W95& n$x+*Qsr}Dp0zIDr41=@!Tl@+|1Rm}fuoB!9c`mbsIU&rRZw$*DcIBpUe)lNwFlzFPMRejYmL8L_%6d%fQ0H$<4znBrGB!DJ`d9B^>fqIpxU|>M;EOBxbI_R+0vf)<ik zad39=2v0~($;d9QZf@_MJ%91?)!X+UK7RWAJi-l4e9-oo0^lSrAmw5dcborzq%cdqj3?>78mpw?QUA*cKDM3GFo{vz9dCl_r_<=vUG;Y9Y|u(V0~C(cY= zWIbuIk*MXVSplmYjBEZ}Vr;qle5zhcvxxlBnM@OzB|7g4g|csCoVcoL&&M5qGn}qT z+MiisB>d+iTd$?Shv)b?*ep^Su-*s^63MX_^d%yfD4%g&_3?nj%zfBuY0=UA2<`v? literal 0 HcmV?d00001 diff --git a/bundle/static/images/icon_fenxiao.png b/bundle/static/images/icon_fenxiao.png new file mode 100644 index 0000000000000000000000000000000000000000..3e4338635fc0ac78b39dc7c9a2c3c20331f6b877 GIT binary patch literal 757 zcmXYudq|T}6u>_pxuuO*f2b9`Mqw=3cklf~EGscKOdDpkQZd_SY34I~O@=+x(zU*b zbfj7464PwCF-jag$kl>^AceH7s4UPCXcigqy}Lq(d(J)Qa5?99&#`A^rl}&AL=ps{ zO5dvAiSML2Rfb{f%y|`05Fu$!yCz9PryaxCND7GQd1BHt~bRpq96uXer4%q`b z=_=&RI>81wGbuPA-;4x1_7KUIl582tRgm0az*Pb6DBz9*&H}hSZjP+#TaYIzhXXeZq(~cAFuA@n1xuPX;_kuW;dA%wacsf>G zSyA=#Yfr?%naarwdUmq(xx$fMy$o2@BZ2W;uc@(o`-LMb?rqH2&@_?yM%mIIzsFjT zHQa8@i`bU)aGXwTiiq|Zqo4Jnj*#eWZQp08*uD0m+E0xCho1Inyi3(N2}S**m1{Hn znwI(G)Z;L9ve(a-`C|cevh7R)p(=SV-J*5#&C-^G+AA@jPYO6 z(>9GaOg;8QS-w4dU|r}(bzKGHAJEgkuQ!)?{f(=M$%US%`tFzCX7Z1XPTTBpLk)_- ZafM-3%-g}4eL*~QBHfUw_iUl-{{dD-Zan}1 literal 0 HcmV?d00001 diff --git a/bundle/static/images/icon_group_white.png b/bundle/static/images/icon_group_white.png new file mode 100644 index 0000000000000000000000000000000000000000..3d0db42cb96375be71e82b7c5d83247ce862e2da GIT binary patch literal 730 zcmeAS@N?(olHy`uVBq!ia0vp^79h;Q3?%1AoYnzSfdM`tu0Z-fRRM?j^EjZPQYArt z!3+Wl1`Yx73Hb%}4gC}5FIc}}|AF%t?mu|{!FuX(aRvq^IZqeI5Rc<$r=8xk*nr0+ zwMSnu<`4tp7n%JhANabF+tgr| zM8CPYId&=q2?`JKXe^CF8n&n*MHP7x>y{CMy44m8|KefUUB+w-mOL3D&AjJxVn7RM#a(_OKij~XO=vk(k*54 zwIQ^#_0Xr9wy%myJ=$`vWl6=(*neS%>+_KPYYsnI=X%`dR^j^9If+(tJwLPTpEikA zb@Q?L%4g@t+AS5!kUlrzS?9H5Gv(#n6g$^AnadXFKiQ#@XlwBA&5Ji358||Y^4eyJ zz4dU}#CPEMk21!s0Wk@exnvz=^LZ~Xcy=R1nyJxl_a&C~{E3Gh%WsNKwbKYZ@6 z(M1Z93Ddb@aMS39;B?b4CJuv%&bdv&x#^toL8c-p_ndoo$}i`U@5^`o=l`9Y56w9l zQQ?ciF${~!G^Sb5t_{qYA!zL^940X=INWTqrK6BT!+>#(7>DDW0q2}J*NAg@60U6C zxEWMxS|SIPVZ%cra)lPhQPrA#RSQk5WA z4%}i;Edce)fJ_e*G+0jnj}Q=gpr(OWgz|ou1dw{5p}`soSY)tB3RkLNh6+}Qm@+Z6 z$l*3ItPn!45EjUwgXD54m_un8ZF}$GIjC5MZjDIw8~KixJZZu zi>0UrtS4c%lG(bP@rXd79F!8!N(I7g%bD$BW`~$TEqg=(k!m5cOTg3y^aED&<$?NQ zbde0KmjZ_r$%2g}a1&q?0X9oOnFOY2V5$bDt6_#38dWe$1x@HFlyHq=+6)!2O(wFk zL{_e66?#^sV>LRK*0NeH>V-|B*%b+Fa)R+t+&1(Z>MJcdR*c8v%|t{-Mn^}-#Kht_ zE*6VPQk|4$G?`3RtIcLBC@fsN)^4|#l$37XzP%zqO-)Th!|wfvgP#QO`FtH;2I%SO zIdkUxg$v*PFmUbW?b~?`fV)GyZxK!2~$gBaOqbpy!!sDYn>!kFQQRVp3wm z{*+%EeOUb4tas-3F53_x>2+4^b~@?q&j&+KsTX+vOTI{}#>dFo`@j3!pImJ_+*c?0zSUK7r9?dwpU4WO=KT_Zd$KhCy@woDQDf~b z-mBcXM&D?&|IEcDO_hJxdA%Ne@YAzJGpa|bv_V^Zqmv3;)A@6QY$jBCn zQil$d<8#i1dXH5c5)rQUIS&nc_bhlCyYzBN_~E3~B|}{wM2Fvn6CP7Xv4IkNEv zb(0PLY6&d|zSel0s4puD{;Tdy>Oh>F?0=wnwDR0!$9sb{7$<@Nx75vCQoBsz1Q#ot^ literal 0 HcmV?d00001 diff --git a/bundle/static/images/icon_jifen.png b/bundle/static/images/icon_jifen.png new file mode 100644 index 0000000000000000000000000000000000000000..c40c845d7ee475ea6e134984c559007576da997e GIT binary patch literal 1169 zcmV;C1aA9@P)b~c;ubKqbRd{v&Xgj9o zV!;E1c0bZ2AkrPMOMGtwsxhr*K-PMV+1Pyk+>WGHJuQb=^hul+VU`PA1n3Hq8`uGG zD`?7kN2MEEe2i3Jt1G?{bE}XFFmqQB{Blc@7@G;A4{Orqzhpa$N73dg0DoRRQC-&n zq!6=h^bPKo)x_7}G_RK`>LBVPplthweeqo zalLw;=gKi;pULVocLJa8H{^-Ah{>aKgfN6C00^6^9XfS zMMV45%W7x54K^3Cm}b^!MpeSL&m2M|c@IV@Vk$5wO`^3|WtB)9IhEL;>D9+=+th6O z#GU}22Ud8={EfJ#-7z-cSVm)Rz2>j;LdI$fqmYw_g=0Z^$h(XiiV;E9j5tonF^oo> z`<=am_IIqUj7R9J5@atUO#$=9^QD(eXZ!JXRgGAK+$IXP9FPdpJ!ku9Ucl&o$6<-t z7!QKG89MIsG<0hCY8#R5MB0t9AL9^#ymdh`g*=b-;28tM*V+Je;fhHhG=C0XC7S z9$`Y|Z!AU3o-qc6_hH2r!Pby1Wqa8p~T0J_RFkFaOfN601KOg@mFPT4)uEV1`e|UO} zU0_==tAk(aQ(UDkUJh%cZoQa&*ZD+0eq!oU9mxDc>kz8aU zrW43=ur4ow?l_o4depObAko-rWOrngICE#6vrL1h=Z)FnIm)XVLz_y`ip$Juzye1Dt`%1-U4WQ2AS>@?0DB@BNi j2y2=2?a}UDY<}5)L;So`Sq!Um00000NkvXXu0mjf@*y$T literal 0 HcmV?d00001 diff --git a/bundle/static/images/icon_jifen_invite.png b/bundle/static/images/icon_jifen_invite.png new file mode 100644 index 0000000000000000000000000000000000000000..d35367e09c0a3922a5d67a6bc950fe81debe9e29 GIT binary patch literal 2450 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 Q`~Uy|07*qoM6N<$f{dMtU;qFB literal 0 HcmV?d00001 diff --git a/bundle/static/images/icon_jifen_qiandao.png b/bundle/static/images/icon_jifen_qiandao.png new file mode 100644 index 0000000000000000000000000000000000000000..81e18cb3059c4f4aa71a52731c5d70a5fa30e6bd GIT binary patch literal 1749 zcmX|>3piBy8^@2_wUc{l3xDi{F&8ybBpKsQn9M9?Ztje3NPn%gvWP;BKbdW`Ylzjw zEvsCL6-x%wW#y7KX07nAwkc$0j+wJ(hNtH_=l#9E_xFB3-}gM{d4Bo9f!+w6uXO+b zK=}H29D>&p#jB+XNB6%(Zva3=5F9}EgtrjC2 z5XBN=+CxV$5ZwkkyhCwx7!6Tvp(D0ps-2jQ6H~DgCPqR-OTz7>Oq7(0mD12sCKjY) zK!!a?!+|sm$V7t-EJ#IzOstrJme4T@2^}k;<0MS1gn^OLVHF&4QU-QCR}^tl8cwlg zU=&6SteB1!(_jKd%)r69goaZ<7%*oo!c0X)$yrA!g=<=c1ct2jC{;KKV~w!RQ8ui% ztyw5szF4d$N);?z^MxH1!>p;kBnl&?7d#jY|I(~jp*s)9~4Xu z4GU*5Bcq~YV&mdjiN}tgIGL1^nwFWJlY1fWQen~MEB`Ag<8aHbSMX|Y)-^OXwYGIU z==!a@umADjuwdlH*!aZD$=6fU!oTL`--$kcT3q@pmPo->nH;^Z4g~;eyL>$e*YrPE-o9>bPX8cSvD5m$?amR0dn=m?hAj|3ZUaXq<&AGx`4#*73;t}j z;r;l&o?p(|3qV2;iqX7TUx~6U_7%PX1vTsW&-eC9WAX z%p>*TB8oS)SmY+`&yI55lgEh_6`*Vv&LegT8YWq_b9uyTQCw&JG6(B!yv0aT<1O_h z|3N~{cfC88LGCU6G4elg?aY}=ca6QcMM0JV$xmBb;yb-x{b88TaswiD_FTV9bejme zz?16bE#+K8>0K$wspupS3IP|A7DbK35LURVx{%VFS%3lm4yOp~=8my>Qmdhc$~7gM zpvh%ZC60)VG0Rnc`iwcK=lURSVGT=mlDMD|Bght+J_ zPb`gToZ`|k9eeb>e2~F?3O1Phvt7~W6iHzc&2BZpZ`fWIoLD0 zGNY{Vwk4j_l{!JvzcxP=+U1sVajRpck>*Vox09wj_}x3 z``bt3-rTLb;a_*Qs9&Re^9!ky?%S=i4Y%-*CP!k7`1bd@kfNh!;H6Y2PQTSCbF%gF z(}1sA4K%ACcLRtRAk?urWBIwP)MUS?-t1|l88aqmp@M}kT_Rws4ZWs0ooaR#g->hR z4%jjSU&Qn2NIMRNXZfpMoB3$yiTed-&9V~Y(P>E?+8g*r6B^T|--nPBHwb%!Ue^o^ z&5s(Gl!>oh^;=1N)P3d%<-=5ccH(k;5227o7vWpXUR|Bj#)S-R_DZGt46a1or?fXc zejVLaIhuJZEvqG=GVEbS*l75@nmvd29vm(%2zlodGFEI4cFjJZ#ya%uOV(;%F-A1m zBaGQCP5}>H1G!5xv8XfNkJHJZYS{7LC!L!G0o6@x8Sz0KzBD=%**;LaoLXJ8qsp&1 xW#ixnhtr?KV;vp}o0k6T+8$2laPOS!g~oHPtQ4tW&ce4D;OiOaQSZ*o`WHTnTeAQF literal 0 HcmV?d00001 diff --git a/bundle/static/images/icon_lipin.png b/bundle/static/images/icon_lipin.png new file mode 100644 index 0000000000000000000000000000000000000000..d92ace7b8ced815d328cb9d571adbe2c3db97339 GIT binary patch literal 914 zcmeAS@N?(olHy`uVBq!ia0vp^Q9vBY!3-ojA03{@z`&>z;1l8s`S|P5&zy|5vj9uW0pO#p=JZ<$n#E|Ed=MHLd=uT0z-b7XLLY|7%%;1l6to zYXccz5pCQ5>XsluEuc#4|5`vbHei)N5nGT5NF`Vn$N(asthUvEZ5yajAVDD8>c0+{ z0bzp_KvY7sz@=>d>i|^(O#q7n6~m1}5dI0zM91dt zvfOlFcqNwv`2{mDGO_Rp2nxx_%E`$qtEg$}7#N$ITiMz6`Knc`)^6XvW5@2@`wksFdH(XXn|FcW!Gp(7 zp1*qc?&H@VzuoPA$^xTllc$SgNW|f{H#7YYIS8;laQwh9C6lrHTJ%SkqtdQ>^ns+n ztBdFU|L3n`NETVT>GiQAXMSf|`_9XmmAiX3Bg2QE&OcUjmi}O1I3Vr7%2~k}WfkaY z6}>=IbgAf{RT=gzAr}=LQWIxoE}NM)>t(%{`}X&zj~CyncJzPJb@Z=e<*xgSo=3NP zUCwV^DP$SmpK|`hrK*X3B_`iwZ>{vJ>3y+=f2-)Gc9oZ`n+|n!6n6KSxSW}=x1*zD zd5MOne84U%1Fn)KiEVL@uD*6X<$Y;(iSWw4D&1QVO1ssv#kXjC9@p6vG+9l_Ev-W) z%G|d&L1|*$f+oe?PK%=bzqo3xPW&ipR28}I=*q(ClPT-WO76Xz`!8$c(Yc!k8|$}!_UcwIwtz7I)9K3Dyvth1bfbYLH?bW zYZT^|E)Q<{vc}q0$s@ZwuOzI(+Vab#8S5k-SzmqVrToiEZ8PV!>Ff6`eEVmQT5X=m zzF%+4K089fC$l^%^7%UN)cqTMMenl7h3<{zZ!lls#8<`0VDt9i{dbGmZ`(4gZ`@+^ V!TNu!9x$;mc)I$ztaD0e0su2pqjUfO literal 0 HcmV?d00001 diff --git a/bundle/static/images/icon_marker.png b/bundle/static/images/icon_marker.png new file mode 100644 index 0000000000000000000000000000000000000000..e648d92d6b22df525545651f9ef011b55858e0b2 GIT binary patch literal 3266 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 LS3j3^P6G*3Z(xJN^n({B?Ra=qmm%M zUDDQCi<%4s-0Y`xdHmhJ){A@PqL!4krtkk3>~+XW5-QRwV=7jg zJ@c&i14onFo4P)C<)#b9_{>;P&oVpW(2gl73f)IcrZwpt2{N}+v7GRpKiOH%Z0d26QxtqUuD z<8+Ge{<5U`9S>8qzIAF91aJKQD9`nNx4rqL?9-g>6N(O`dz{?Jp~=nDV#u&}Td~ZG zExQ@7EL=27^a+&HcAdTYudqbXkun|KJ3M>~xlsD{GXd zwOO5;pS-_+?RLe~St^mQY7*O4KdQ)^^?73i@7DYE*Wb;Ze@9PgBQRtcJYD@<);T3K F0RXMzH2wep literal 0 HcmV?d00001 diff --git a/bundle/static/images/icon_payFail.png b/bundle/static/images/icon_payFail.png new file mode 100644 index 0000000000000000000000000000000000000000..5784a341d554e159fe84df3c83d8c3a8cdd46f24 GIT binary patch literal 6115 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 literal 0 HcmV?d00001 diff --git a/bundle/static/images/icon_shop.png b/bundle/static/images/icon_shop.png new file mode 100644 index 0000000000000000000000000000000000000000..0c0651b298f2e52690fdc91608eb3fa7c44d590b GIT binary patch literal 3848 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 KMNUMnLSTaE9v1-s literal 0 HcmV?d00001 diff --git a/bundle/static/images/icon_time.png b/bundle/static/images/icon_time.png new file mode 100644 index 0000000000000000000000000000000000000000..3939e1239935446ca8b76d54db786f6666a55255 GIT binary patch literal 2586 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 literal 0 HcmV?d00001 diff --git a/bundle/static/images/icon_tixian.png b/bundle/static/images/icon_tixian.png new file mode 100644 index 0000000000000000000000000000000000000000..054efcb3763c29a4a5a557616473d37a36b62ae0 GIT binary patch literal 1952 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 U$VL8VOut@X$a3EK;EhNB1(FX66#xJL literal 0 HcmV?d00001 diff --git a/bundle/static/images/icon_zhmx.png b/bundle/static/images/icon_zhmx.png new file mode 100644 index 0000000000000000000000000000000000000000..c81b46cd47625ebfb8014034e3d5bbd271781a2d GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^CLqkh3?$9N*lqwR=>VS)S0Mdg&GNsB`F{<|{~8wm zwQZnC$0l?BhD@L|M@f)hFoU#=y~Fa=uXhAnX#m9{JY5_^EKVmUNSHJj?q%kk!sW2^ zinW1*V2BoT@G4QQ(2GrZt?t%SE?#WVJ9^PDX32!+Cas{w{}wgxU!h?tBV6WcylV=p sj=uW?J;o1Hqt<8 literal 0 HcmV?d00001 diff --git a/bundle/static/images/icon_zzjl.png b/bundle/static/images/icon_zzjl.png new file mode 100644 index 0000000000000000000000000000000000000000..1b0a582311e7deac6185bb2cb5c553fe5f425b8f GIT binary patch literal 765 zcmeAS@N?(olHy`uVBq!ia0vp^CLqkg3?x4-dwml~eF*RgaRt)zkuVeXN3#bK*fC@ltFsTD1t^aG=fJiN%dK-|*IzR?Q0Z5qW_$e)w^Jh>|jR8DX$ym(qY=D@@STqRt4w>)sYV8*gSrr=8a7KR9M*&|ba zvc{%pugko>EjRyP&$BJpqV&^WcL*_5ZP=I7_3Db8o9m${$A)tZ^{eeIYcjmbPVIN9 zUN}9h(Kb-}EyEr8b-CejjoOKatuCe?zBlXA>W!Bqd`@gq+~0ES*wN(Gh0mYV9ZZO{ zz801JHqF89?PrbqOHN2iN$eB3>u~z>p7aIQ+OBdLOP}q&5F0Y{LdN7iAs?+(Y7(qx zR1}4JvYM_=QSjqqZ literal 0 HcmV?d00001 diff --git a/bundle/static/images/img_activity_jifen.png b/bundle/static/images/img_activity_jifen.png new file mode 100644 index 0000000000000000000000000000000000000000..347742d147fee29147b2c3d006923ed4868cd65e GIT binary patch literal 24881 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 P5C94?s?v3mCL#X=q=uRB literal 0 HcmV?d00001 diff --git a/bundle/static/images/jifen_icon_data.png b/bundle/static/images/jifen_icon_data.png new file mode 100644 index 0000000000000000000000000000000000000000..a0bca72863a6b306e49ee642b990f1a83aae065e GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI23?!pd0{;Rj(Ey(iS0Mc#19+UzWdTaCl?3?( zGfbX7`}^+*=Z?)l5k*fI#}J9j$q5Q_2CYjS8yO}XXM4QFlA-d9M$r|Q1;uxZFzBc%FShIn^95vmr+|0+kd$I$rL`6+8$$j?U z{tP=4i_P-ihu-nsJoC=4;n)!){Z)VWX??AX=Imul7utBMw7@z?MB ztuH^TuSi73#ME}jif==^`v&UL8hT56hjqrZ03R0a#>_q)4SFrFw|cwkOV7HhD+ zh-U1aCwlqr_qt^-hxvS*5SC+YC^tPx_sN9+Y9dArS0-HS(r@Hj&zc0}zPqvj7)1=8u6{1-oD!MzRw0~ z;r=oUB=U6@*N-{e-)4i*4*`{x|)@3WzTK#}jWdA`r#`7sAb0@)yqAjLp7n1Lh+ zQU);uXdpxvNDT;q^#VzdQM^E9-{)0p@?(+Mk454?76XyQ&n1#Sm&yEGF8gb_+^>}izg8*zTCMzhjoR+4LW}|>iyXSMEZZX82#O9{CAt_-)&}px10alVfk+-5Lx}(W&Llr z?Y}*C|M%Gc-|G~a*$yEaDJM`7gw*QO(MUHPMP>@m^D!*;Krm4VP;N~CUtCMv;F_S|L=kW z%Z?X1+wafSzqkJFj=RO@8TV*>K7FfgU#dj(ueNPA>m7`;YUW;DbGYxZ&`!VS7glZj zxL=dobB%KInC3+4UX6WpWbO2@bd~^5QR!N#$#sioNLjzQ8S_-1Gby}i zbIs0xjEgN>xVUY0M!dUpq~vsWdg`XE$u4iQKAkaMt><}k?YydYPB+y~-blS)aky2_ zb9ppJ^)ut^ix@JWx_zF#DqulK5VNG#t%ECKdFEc&%Es!G{4~PNtF|-#|F0dp?dR;T z(_~_}@Ji^@gR5s(f4}!fI_8=wLqNBX{9(s`Tn*`OAGRM1VJHj^OL}_zL!Tu3hI`Yd zPLKO9dGFUuMv-fir|R?Bn6_(nTw6BLWvj-twJTL3%NNS}sjgh9c>CkMAAc+J?@yh0 z<)l-2&Fh!nwzA)IwGW%LSowYJiRsq=nhfJ6&2E3V_g~4~@En#&Cq7)x@88?%rE&7Z z{(|*Y^(jX$o&Eh^t;ju0=j26y-*YGSiF?0FSy-#SZm;UJD_16L>Bv7iX^rZ+=k}YJ zJhy7(U*uim@omPT*jLBHR9b{A)4XJsFHTU*b5*qy(WvE|w^^AFk!Iq%l1oV7HQnW-Z? z(Q=K7QO@}+K0a;V?EX}tRc`{_JN0Z&y}I4Dac%n6r5g1e{~3RDeST7Edh!G?Ni%r5 L`njxgN@xNAJzzT2 literal 0 HcmV?d00001 diff --git a/bundle/static/images/jifen_popBg.png b/bundle/static/images/jifen_popBg.png new file mode 100644 index 0000000000000000000000000000000000000000..421efb4d09ab676b8dbe74544e624439ee1292c9 GIT binary patch literal 16698 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 J3JH_I{|7q(F<<}y literal 0 HcmV?d00001 diff --git a/bundle/static/images/logistics_address.png b/bundle/static/images/logistics_address.png new file mode 100644 index 0000000000000000000000000000000000000000..7138e13267c5a146e5dbf7855bf3b5e9b1d55ad4 GIT binary patch literal 2059 zcmV+m2=w=fP)8gj4J3qzwW8IkSZmbQ*4DNR!5Nep$P9D_Is=&j%m8PQ{4@`^-#+mL z$xR^ShG*8=OOku;Is5E;?gI)wDg8871!Cj(!b8z)ywX?)jJn&OKtpReRzE4 zwv#ROar?qYYEdp%u>VSju2^qNO`k}k0=`^P;d?FxWlIoksdUv{TGauTFm#GVF=tye z3Dvf|`nS7`ske;8CW2C%ILx4MrGH33pPX<$=){S*P5D$UYTXr7+zLofB~X#zIE7VL zNOz^;T~{ix*+B7*I8TXqs5+^n&yIL6(24s*#p_7L%Wei_W*C&iL^cWpZ+5dFF%Lj4 zW7}ZnPP}o7$fS~lV0u?ZzhY$oTGTo!94#FR-NG zsD*|Xp?%c6;o7MAR+7B9T%kq8sjF(80y-xM?s^;E=bB?*OPc31NR#1@EQLb5Q$)uE z!4)vHPyT`{V8T3K08NHE+Kh`-Q~|LLm3_-h0aJQh0zQgZ8!TWcuXjo?P8j^yQSHaW z^%Z$NeB&q-s^cOPML?%mXmC#nV-@d-3p5I;KCFGKFpL4GgdNobo*g%Skl#|?cc6ve zYFw@(0UGf)k0N&7_jwi=!$K;k;KHqabdMJU$?#UQeZftEwUVlk~WG zLM#9Jx2EdOTAsxPcWsSf2VU2r1&p7kskp>Sm=K~r9fJ-=rowJs!3KvjBu4_F9 zYx_gKKAi%pM&C$Jk$|MxtAOij(^*G@0B{M9YWKlEeMwNZmRk?Qpgtnd|`&QQw-kD%bmu79AwR3*+Cy zp5dG=<<9R@x#jug^iPY){|K-92za3cs@VPe?z!YdF>^=v zY&g4F|MZ2ZB6H&a0`AFmdk;5)z!fHjofp=w>^o>Xd;YVZE3Cl0_>k)~>b0>6xGNhZ z059QT1tfT@kb5LTMJ6qvwU@mh0n2s;4+McLOhvwRD%t9wPnU;{VeQES-|oStEix}I zpxtAs3vy^xYZ4rEP)Q>KMipi_|! zk@yvY>#+ocK&&DK{+@%{k`|CO^O86012o2fbI^YlqiS&W<-hQKR}HVU~>p++>67zhqjL#utyK5_q?*!%Q=14Ym%X zD*PBCc#}rKC9ffn2E#FcAK!0hYT3ZA)skSAmTC6b-h|{PnHmZtHg_rfyE-s3rbEC? z!`6Z~3$J)RxC-k75pQGg9{g218gc6g#tDNfAfB5?nR`c*wD3W8tEnC6KSV@#x5vOx zoT!|`W<&odjo@6EfCEU9xTrjRU<`;Db}n_RH;Q=BWY9UcpX4z*CJ1g)Pi;X{7j2i3 z;vBgfi*I)}k1@+4@*OlQIAk*o>ja$>0ypM!`*B9^9c}xoRJKk~F{8wSFX!Ynd7Azs z_-I7`u^~ndqz!;20sAPk?nQ6Ac_Q7o9FC3^^RL00zU*Tkd z(ObPEUDh|LZheEZg@hFE2iLD6;+??a3D`=By4)G~h{;5-32C02QJFXA}G>zmSNQr$cQ zff)wnkecKL5*lEbKS5}gK%CE{>Gt73yWU#@|$VV;BdG{EJuTqAC&S-PyBOVx*881)GWN3n@RYSu6Fd`UwE zTq7yN{Eg(2#JO8-*Az1~j~69o{aLOf*_QbS35x)HxjyGrw6OKkK7Ut!_`Q5V0^o1s p5t#NKk?7fT`;+Yj^_}#(_CLM`1K%qLx@7XXXfkJ0nL>z3GxeO5Ku6%ckmC0PbjEw=$|lu!TJsR51hYn|H1nYWmDn; z85o$QJzX3_A`Wkzk-K=40#6%j|IB4+ou^L!|3BYfX%<)WLfhX(Yl6djdS~Z)J~IFG zeZ}s)5P9j{>+1eYe6nX^^j+=KzkZeRRaJAb&ZxMzNW5Hr>h)vQBJUJKE*xQgTWO~? zrPq?n-MV#KpVBn-ke1E|O4*{BTkWOxc5R#YXWDb+WlnRACNjOYKKWbV~$$w+}>mo^m~rz^F0zQad?I(Up2sIoptlY8l z)askbFZ2=&4^(Du`q6fqHAktz>R_pm&db@u4w+Vyu0$()g`ahP zuWy|jwy@Q#a9@t@%i8~IH@C?KayjNdJL;&YvMb}cw@J|Ci)}Mf?!;~pe#ahm&E}Eko4(1y zHIFApe(snTweIaM+h^>4Q!}qcf1XgHzjpUC!H({AZ1(l>Uo!u`-_3!?-Z{JH7 zwCf$a@jxmmMuG3$#txg)lMiTU*m_RUv{)ro_xye3qX+UOX7(qhJGZ&#E^+bk)ja%J zA}Pg6chchm8S^W1lY$lhObfkoU@ym-N#Yk5|K7toedm?Rk7tfeobFsaDQ%mvw)C+r i|L1I6cE(BiJO93unFjS4|&q@q+x+=f<= zND&G~g107(+O$#>NEH>8K>g6FR_FzZ;1VFJU7AZPVJe=e+#=7MGxPO3vkS5DuGyWP zwRd*+NPm5Pw14`|oO9+}915*qgDzzi*)Da^?#Kw~mPRqhG4GL1`9o`~bd7F}&XSJk zEY@qJL;jGq%O}ZZ`MBLKkJ8PtVX{f;07Y39s;34$ktS{z(4+R%oDD$0Gb`CiJYWup zubL?V5TXk&Fa{z(TXi9VEh~rE-?Gd@ljeubLGgWS0AaB(fWb2m9EC*(C#JmzO-)}} z9(cRH`BiHdf6m;6=Is(8@CL@P#t>puod8k%T4mu4hMzPC`A^M3gf^J7uQm+KLDc^N zlKzd#z}wxl3gJy>;R#T42Fh4v7vdC1(rSO<9Sl8a?&inM-3SX)vj%1Xf)mls`Z{|t zhxo&odGKo5KyV}-Y*9b#&p0o`eaB2Aydi{EF9sq&kPLu`nkow(85RtLXPIe)R%Zq} z5jVGiSK{8@d*5z(d@jS^v@!^*P7P!bK{Reci~M-$@4Ym4%FOUCy!tf|A&Ll5&`*{2 z=%)F&IgH>CVBH(YAPV?C6yto+0OvB?glk`k2GS!hfOGRYRAX}{FM>0i@n)cimD9(I zvu~uO&9$#Y1L>i?Q1xwg7M%WsHv?H()V5;mJ9h_ODF!;9T!0`n=i~`*2J#4y(kOGt<5v;<45m>SB!zy^W6}*#vWs@269-##^_>z8ScCn z1MOdqK_J_6-}P=FXPjR+Z5vwmC<1i67#Ot2_wHkS=1e&TI}B!l{Me zH4I$Bz%bTzhPrt6(J-($1H)L?X}zJjG`GKDphp9rGWO&6k3ZZn(4&D*#SgOq^xF*s zJsbFT_Ty>8K(7XlGXtk;%E155g7fpA0^GQ<90pzrA*@@qWT5k_6WKM9?k(V4`+H># zY%y*X1{hQWZ_FUP_Ux)$S7C_080Z2l^az(>p#6u_zO2gGFYa5~wo4Z=lZ)e8m|Kx6 z1koP@rwVr>Wfqvh4!CeEL*Iub$FRUM1{3$=^y)eE5?-=O3_G)E&;bvnrWTnF+ zwbTnc=O$c$h0OESz-E0UL`JyI#!STPJ22iBf@jt|wrD-1F&8f8i?j(%xwFc7SLDhx z(D~#eaIUgkoL6(XvN*x}A{`$uye3?xf%M?slE;Den@0m?;Jig8b0oahPXoQ|543;q zY;X(=>kh1Iee~Xi^{Ev#@SQh7hM9&%BeJzTL@!Va&Yg+?4{kTp%A8$ffz2T=;qauX!?=%Uf@OlSq`hLzUv=TiPuj z?t**cq>^i(%^N={{jg!0`}$m(`)A{fHAQt08)zDxt{0PDuvyy^Y^#*FHX{+i{2*)3(zN?Q1 zgeT0T@aw8HP*WTP_%5jG6IFkkFG&an=@&0li-FWoE`Sk>2JIs52WUV4w3!e;TR8)j z�~ptVj>*>s9c5e4OlzypHguDsJFVh-7&zjrwR0000zK9FpjW6fdW79%tN5>aB~`VlBXUF`uI zVD2-MT*B-XUod(jd2_1>=GF+9J*7~1TM%M*qyW$CECKvKymqYZMTivOJUpxjkR%Wy zhBRTNiO2F*TzVcFqs_oD_pM%V40A8pF77ar!avQ&5n3<8+9m?o7AXKEC5S6FkOFL` zk&6JEur`*W%3p#iW$53ss^F1cz8ArLY9>W6D7*r|62wXy*eDg@#i@;0HH;!(fLN@@ z_uz~^K{oq@zZ=^HFt;P9WGU4$5aHRHLQMo)Re;Fy2O!Iu@4)E;e7*jJaKd~-0EAe8 zhX#Ug3{(pif~_D-8LKQGhltwXkIS{6&l>##G5bsK`Vg8=4YUwo5h7MuB@j`btY#;1 zkKWJ!%IN38pzzSX)ng!52_a&vsPs$vSv($^)ZdSn?H`Q+9?Suu0B{u=2zCr>3~NMr z8|v!5;|;uF@w>(#_dbPZ6yU9L11ZEPg(&BM=f783cq5@l^&#$(F^JFx5mv1j7%fFq zzW`DFL1o~j>((K>yfK9EXll+ttdRo5X%NNr?!tSHxmO?NPZ_BayjnF70YXFrTTo8A zI(yMm{Dhw3U=Cny8(4_Ns}t_bE{3_MFklSxux1QIfFNi9tUR4-%B+-d}EmV${0aFUK`lg0x)|GZf|5~+EW8< z9xJDP1r5=M%fIi9aL0@h4)hYdiWoSU0Q;}UVI|EzcNVNvvO)$TM2fxPhwSaX>K>nPTv zSdSeAH=BL(1lYen0QT=_4$jv@#aPcg19p46Lj$pf)lKhow8q&t^G;owX?I!~%EbGW5kY}I9Y1|%w|6FnJpR-~EwbQpw z+cKLT)H7k*PX<=9xnQ6T8?=XRwr`h_MOc0^u!7A61942K?V2C^jfPKAc!7b-G%$=1 z8%i^i!lU}pupSs#wt+f4Dz0aYbXeB2ECdFYX&{BTNs}3UER>`G0|U!6FoboJlBD;) z-GPA)4SY=7%^ z(7<|ij4{W;U4em4?}70I1E~!U;cUeA+`#|NfOYH*u#Vyw4r9HJ6=S`IbuI_N#<8G% znaGpd+@Fao6QVm$q~r68jS3w}Fc&V0_ado*VeX5%&$8@#twxgKER3#s_a(7lTteFYke~*TBAT7VJ+J$@xWc?kt*iXI(Bl zmkd08=h6=PWIE`Dm%BD*fu$Yv?OZSpT;|Gz1r`_4EuS|s?3KX4yR8q@rk7aWi-YRG zz$FcYu+p{k0`pNW7Z|vRfp=TtJGaFlFmPc58x(cE6hiYzVBnmA z1TWw6PWeCsrvd|u23oB4O8J`&N5kJofd4AjK>N$Q{|zi>p9rh|8~8?NXDJv%VF3;N zwj2Y=&vyEo-l0Qf>{L>&1FP^W+^x=yl)G1s?ArZ&y?e{rD~Aw= zT-x%_POP~d>uzoNpF4CS#r|c@oSESEp%cZ^ip2GLivPzNFwp&DPv%c83T;GqS8LWl zQMn3XZ9`>GFQTjZ2XLlRa|S9WJUh^~baLB7tr%#D%6`vJa4YoA{ao4{;PusOpnM&o z@(@$aX7+O`+IVHv85mP$AQod8KQ!nGJz)0p&l`Qb?t24eSx1O3Kq&rz|BgORa*ybJ z!k>LPrg7XyhZodGQtS#1Y#-$RnZpx!H9uAYI?WrUZi zN)PMmQSe*EIKun2u}z$=xPgsQ9Zh0#JvdbL#&ny1`?8p<*cUY zvo-l;1a~_PxCFF?bVssQm$;8~MJ7o{ZDQ?^pnwO+}00000NkvXXu0mjfkDD98 literal 0 HcmV?d00001 diff --git a/bundle/static/images/logistics_success.png b/bundle/static/images/logistics_success.png new file mode 100644 index 0000000000000000000000000000000000000000..ddbbe5a5abe372618ba1c53e4da820c6cad378c0 GIT binary patch literal 1796 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 literal 0 HcmV?d00001 diff --git a/bundle/static/images/lottery_bg.png b/bundle/static/images/lottery_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..0afcabe37df1dcb421167625d2df308f71ba0fa3 GIT binary patch literal 26031 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 ZZ&n*Gm$RcF;6p4V`r5`?KQtVp{|lCc&z1lH literal 0 HcmV?d00001 diff --git a/bundle/static/images/null_gift.png b/bundle/static/images/null_gift.png new file mode 100644 index 0000000000000000000000000000000000000000..1d39af8bfa427b5e19e14084a93c42cfeb7f8b0a GIT binary patch literal 5984 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 literal 0 HcmV?d00001 diff --git a/bundle/static/images/recharge_success.png b/bundle/static/images/recharge_success.png new file mode 100644 index 0000000000000000000000000000000000000000..c6df9db68554611d9c1e417db17bd7ebcbc2aa37 GIT binary patch literal 3036 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 tpGg|Z|3gIYUOmRZ&@oH1{lE7=# + + + + + + + + + + + + + + + {{item.name}} + + + + + + + + + + + + + diff --git a/components/address-item/address-item.vue b/components/address-item/address-item.vue new file mode 100644 index 0000000..32a5909 --- /dev/null +++ b/components/address-item/address-item.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/components/after-sales-list/after-sales-list.vue b/components/after-sales-list/after-sales-list.vue new file mode 100644 index 0000000..eda348d --- /dev/null +++ b/components/after-sales-list/after-sales-list.vue @@ -0,0 +1,423 @@ + + + + diff --git a/components/bargain-list/bargain-list.vue b/components/bargain-list/bargain-list.vue new file mode 100644 index 0000000..108e706 --- /dev/null +++ b/components/bargain-list/bargain-list.vue @@ -0,0 +1,148 @@ + + + + + diff --git a/components/bubble-tips/bubble-tips.vue b/components/bubble-tips/bubble-tips.vue new file mode 100644 index 0000000..cc5377e --- /dev/null +++ b/components/bubble-tips/bubble-tips.vue @@ -0,0 +1,178 @@ + + + + + diff --git a/components/cate-four/cate-four.vue b/components/cate-four/cate-four.vue new file mode 100644 index 0000000..49c0db4 --- /dev/null +++ b/components/cate-four/cate-four.vue @@ -0,0 +1,319 @@ + + + + + diff --git a/components/cate-list/cate-list.vue b/components/cate-list/cate-list.vue new file mode 100644 index 0000000..4a40d17 --- /dev/null +++ b/components/cate-list/cate-list.vue @@ -0,0 +1,300 @@ + + + + + diff --git a/components/cate-one/cate-one.vue b/components/cate-one/cate-one.vue new file mode 100644 index 0000000..aa62f96 --- /dev/null +++ b/components/cate-one/cate-one.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/components/cate-three/cate-three.vue b/components/cate-three/cate-three.vue new file mode 100644 index 0000000..3b82a6e --- /dev/null +++ b/components/cate-three/cate-three.vue @@ -0,0 +1,162 @@ + + + + + diff --git a/components/cate-two/cate-two.vue b/components/cate-two/cate-two.vue new file mode 100644 index 0000000..38a710e --- /dev/null +++ b/components/cate-two/cate-two.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/components/comment-list/comment-list.vue b/components/comment-list/comment-list.vue new file mode 100644 index 0000000..55864fe --- /dev/null +++ b/components/comment-list/comment-list.vue @@ -0,0 +1,211 @@ + + + + diff --git a/components/coupon-list/coupon-list.vue b/components/coupon-list/coupon-list.vue new file mode 100644 index 0000000..784c847 --- /dev/null +++ b/components/coupon-list/coupon-list.vue @@ -0,0 +1,211 @@ + + + + + \ No newline at end of file diff --git a/components/coupon-obj/coupon-obj.vue b/components/coupon-obj/coupon-obj.vue new file mode 100644 index 0000000..2e000fc --- /dev/null +++ b/components/coupon-obj/coupon-obj.vue @@ -0,0 +1,115 @@ + + + + diff --git a/components/cu-progress/cu-progress.vue b/components/cu-progress/cu-progress.vue new file mode 100644 index 0000000..839113d --- /dev/null +++ b/components/cu-progress/cu-progress.vue @@ -0,0 +1,76 @@ + + + + \ No newline at end of file diff --git a/components/custom-image/custom-image.vue b/components/custom-image/custom-image.vue new file mode 100644 index 0000000..2ab586a --- /dev/null +++ b/components/custom-image/custom-image.vue @@ -0,0 +1,157 @@ + + + + + diff --git a/components/download-nav/download-nav.vue b/components/download-nav/download-nav.vue new file mode 100644 index 0000000..f68c0a9 --- /dev/null +++ b/components/download-nav/download-nav.vue @@ -0,0 +1,67 @@ + + + + + diff --git a/components/goods-bargain/goods-bargain.vue b/components/goods-bargain/goods-bargain.vue new file mode 100644 index 0000000..f857663 --- /dev/null +++ b/components/goods-bargain/goods-bargain.vue @@ -0,0 +1,53 @@ + + + + + diff --git a/components/goods-like/goods-like.vue b/components/goods-like/goods-like.vue new file mode 100644 index 0000000..987eb7f --- /dev/null +++ b/components/goods-like/goods-like.vue @@ -0,0 +1,119 @@ + + + + diff --git a/components/goods-list/goods-list.vue b/components/goods-list/goods-list.vue new file mode 100644 index 0000000..c7f4d39 --- /dev/null +++ b/components/goods-list/goods-list.vue @@ -0,0 +1,195 @@ + + + + + diff --git a/components/group-list/group-list.vue b/components/group-list/group-list.vue new file mode 100644 index 0000000..747a0cf --- /dev/null +++ b/components/group-list/group-list.vue @@ -0,0 +1,170 @@ + + + + + diff --git a/components/home-coupon/home-coupon.vue b/components/home-coupon/home-coupon.vue new file mode 100644 index 0000000..484bdfd --- /dev/null +++ b/components/home-coupon/home-coupon.vue @@ -0,0 +1,218 @@ +// +---------------------------------------------------------------------- +// | likeshop开源商城系统 +// +---------------------------------------------------------------------- +// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力 +// | gitee下载:https://gitee.com/likeshop_gitee +// | github下载:https://github.com/likeshop-github +// | 访问官网:https://www.likeshop.cn +// | 访问社区:https://home.likeshop.cn +// | 访问手册:http://doc.likeshop.cn +// | 微信公众号:likeshop技术社区 +// | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识 +// | likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识 +// | 禁止对系统程序代码以任何目的,任何形式的再发布 +// | likeshop团队版权所有并拥有最终解释权 +// +---------------------------------------------------------------------- +// | author: likeshop.cn.team +// +---------------------------------------------------------------------- + + + + + diff --git a/components/invite-poster/invite-poster.vue b/components/invite-poster/invite-poster.vue new file mode 100644 index 0000000..d22aa87 --- /dev/null +++ b/components/invite-poster/invite-poster.vue @@ -0,0 +1,84 @@ + + + + + diff --git a/components/j-video/j-video.vue b/components/j-video/j-video.vue new file mode 100644 index 0000000..ea2fb2e --- /dev/null +++ b/components/j-video/j-video.vue @@ -0,0 +1,119 @@ + + + + + diff --git a/components/lime-painter/changelog.md b/components/lime-painter/changelog.md new file mode 100644 index 0000000..298c3cf --- /dev/null +++ b/components/lime-painter/changelog.md @@ -0,0 +1,54 @@ +## 1.8.5.5(2021-08-17) +- chore: 更新文档,删除 replace +- fix: 修复 text 值为 number时报错 +## 1.8.5.4(2021-08-16) +- fix: 字节小程序兼容 +## 1.8.5.3(2021-08-15) +- fix: 修复线性渐变与css现实效果不一致的问题 +- chore: 更新文档 +## 1.8.5.2(2021-08-13) +- chore: 增加`background-image`、`background-repeat` 能力,主要用于背景纹理的绘制,并不是代替`image`。例如:大面积的重复平铺的水印 +- 注意:这个功能H5暂时无法使用,因为[官方的API有BUG](https://ask.dcloud.net.cn/question/128793),待官方修复!!! +## 1.8.5.1(2021-08-10) +- fix: 修复因`margin`报错问题 +## 1.8.5(2021-08-09) +- chore: 增加margin支持`auto`,以达到居中效果 +## 1.8.4(2021-08-06) +- chore: 增加判断缓存文件条件 +- fix: 修复css 多余空格报错问题 +## 1.8.3(2021-08-04) +- tips: 1.6.x 以下的版本升级到1.8.x后要为每个元素都加上定位:position: 'absolute' +- fix: 修复只有一个view子元素时不计算高度的问题 +## 1.8.2(2021-08-03) +- fix: 修复 path-type 为 `url` 无效问题 +- fix: 修复 qrcode `text` 为空时报错问题 +- fix: 修复 image `src` 动态设置时不生效问题 +- feat: 增加 css 属性 `min-width` `max-width` +## 1.8.1(2021-08-02) +- fix: 修复无法加载本地图片 +## 1.8.0(2021-08-02) +- chore 文档更新 +- 使用旧版的同学不要升级! +## 1.8.0-beta(2021-07-30) +- ## 全新布局方式 不兼容旧版! +- chore: 布局方式变更 +- tips: 微信canvas 2d 不支持真机调试 +## 1.6.6(2021-07-09) +- chore: 统一命名规范,无须主动引入组件 +## 1.6.5(2021-06-08) +- chore: 去掉console +## 1.6.4(2021-06-07) +- fix: 修复 数字 为纯字符串时不转换的BUG +## 1.6.3(2021-06-06) +- fix: 修复 PC 端放大的BUG +## 1.6.2(2021-05-31) +- fix: 修复 报`adaptor is not a function`错误 +- fix: 修复 text 多行高度 +- fix: 优化 默认文字的基准线 +- feat: `@progress`事件,监听绘制进度 +## 1.6.1(2021-02-28) +- 删除多余节点 +## 1.6.0(2021-02-26) +- 调整为uni_modules目录规范 +- 修复:transform的rotate不能为负数问题 +- 新增:`pathType` 指定生成图片返回的路径类型,可选值有 `base64`、`url` diff --git a/components/lime-painter/components/common/relation.js b/components/lime-painter/components/common/relation.js new file mode 100644 index 0000000..895d4e1 --- /dev/null +++ b/components/lime-painter/components/common/relation.js @@ -0,0 +1,141 @@ +import {base64ToPath} from '../l-painter/utils.js' + +const styles = (v = '') => v.split(';').filter(v => v && !/^[\n\s]+$/.test(v)).map(v => { + const item = v.split(':'); + return { + [item[0] + .replace(/-([a-z])/g, function() { + return arguments[1].toUpperCase() + }) + .replace(/\s+/g, '') + ]: item?. [1]?.replace(/^\s+/, '')?.replace(/\s+$/, '') || '' + } +}) +export function parent(parent) { + return { + provide() { + return { + [parent]: this + } + }, + data() { + return { + el: { + css: {}, + views: [] + }, + } + }, + watch: { + css: { + handler(v) { + if (this.canvasId) { + this.el.css = typeof v == 'object' ? v : v && Object.assign(...styles(v)) || {} + this.canvasWidth = this.el.css?.width || this.canvasWidth + this.canvasHeight = this.el.css?.height || this.canvasHeight + } + }, + immediate: true + } + } + } +} +export function children(parent, options = {}) { + const indexKey = options.indexKey || 'index' + return { + inject: { + [parent]: { + default: null + } + }, + watch: { + el: { + handler(v, o) { + if (JSON.stringify(v) != JSON.stringify(o)) + this.bindRelation() + }, + deep: true, + immediate: true + }, + src: { + handler(v, o) { + if (v != o) + this.bindRelation() + }, + immediate: true + }, + text: { + handler(v, o) { + if (v != o) this.bindRelation() + }, + immediate: true + }, + css: { + handler(v, o) { + if (v != o) + this.el.css = typeof v == 'object' ? v : v && Object.assign(...styles(v)) || {} + }, + immediate: true + }, + replace: { + handler(v, o) { + if (JSON.stringify(v) != JSON.stringify(o)) + this.bindRelation() + }, + deep: true, + immediate: true + }, + }, + created() { + Object.defineProperty(this, 'parent', { + get: () => { + return this[parent] + }, + }) + Object.defineProperty(this, 'index', { + get: () => { + this.bindRelation(); + return this.parent?.el.views?.indexOf(this.el) + }, + }); + this.el.type = this.type + }, + beforeDestroy() { + if (this.parent) { + this.parent.el.views = this.parent.el.views.filter( + (item) => item._uid !== this._uid + ); + } + }, + methods: { + bindRelation() { + if (!this.el._uid) { + this.el._uid = this._uid + } + if (['text', 'qrcode'].includes(this.type)) { + this.el.text = this.$slots?.default?. [0]?.text || this.text?.replace(/\\n/g, '\n') + } + if (this.type == 'text' && this.replace) { + this.el.replace = this.replace + } + if (this.type == 'image') { + this.el.src = this.src + } + // || this.parent.el.views.indexOf(this.el) !== -1 + if (!this.parent) { + return; + } + + let views = this.parent.el.views || []; + if (views.indexOf(this.el) !== -1) { + this.parent.el.views = views.map(v => v._uid == this._uid ? this.el : v) + } else { + this.parent.el.views = [...views, this.el]; + } + } + }, + mounted() { + this.bindRelation() + }, + } +} diff --git a/components/lime-painter/components/l-painter-image/l-painter-image.vue b/components/lime-painter/components/l-painter-image/l-painter-image.vue new file mode 100644 index 0000000..72437da --- /dev/null +++ b/components/lime-painter/components/l-painter-image/l-painter-image.vue @@ -0,0 +1,27 @@ + + + + + diff --git a/components/lime-painter/components/l-painter-qrcode/l-painter-qrcode.vue b/components/lime-painter/components/l-painter-qrcode/l-painter-qrcode.vue new file mode 100644 index 0000000..599f27b --- /dev/null +++ b/components/lime-painter/components/l-painter-qrcode/l-painter-qrcode.vue @@ -0,0 +1,27 @@ + + + + + diff --git a/components/lime-painter/components/l-painter-text/l-painter-text.vue b/components/lime-painter/components/l-painter-text/l-painter-text.vue new file mode 100644 index 0000000..602f64f --- /dev/null +++ b/components/lime-painter/components/l-painter-text/l-painter-text.vue @@ -0,0 +1,28 @@ + + + + + diff --git a/components/lime-painter/components/l-painter-view/l-painter-view.vue b/components/lime-painter/components/l-painter-view/l-painter-view.vue new file mode 100644 index 0000000..01448b8 --- /dev/null +++ b/components/lime-painter/components/l-painter-view/l-painter-view.vue @@ -0,0 +1,26 @@ + + + + + diff --git a/components/lime-painter/components/l-painter/l-painter.vue b/components/lime-painter/components/l-painter/l-painter.vue new file mode 100644 index 0000000..5e4528e --- /dev/null +++ b/components/lime-painter/components/l-painter/l-painter.vue @@ -0,0 +1,523 @@ + + + + + \ No newline at end of file diff --git a/components/lime-painter/components/l-painter/nvue.js b/components/lime-painter/components/l-painter/nvue.js new file mode 100644 index 0000000..c8a7fd4 --- /dev/null +++ b/components/lime-painter/components/l-painter/nvue.js @@ -0,0 +1,103 @@ +const painterContent = ` + var cache = []; + var painter = null; + var canvas = null; + var context = null; + var timer = null; + var pixelRatio = 1; + console.log = function(...args) { + postMessage(args); + }; + function stringify(key, value) { + if (typeof value === 'object' && value !== null) { + if (cache.indexOf(value) !== -1) { + return; + } + cache.push(value); + } + return value; + }; + function emit(event, data) { + let dataStr = typeof data !== 'object' && data !== null ? data : JSON.stringify(data, stringify); + postMessage({ + event, + data: dataStr + }); + cache = []; + }; + function postMessage(data) { + uni.postMessage({ + data + }); + }; + function init() { + canvas = document.querySelector('#lime-painter'); + context = canvas.getContext('2d'); + pixelRatio = window.devicePixelRatio; + painter = new Painter({ + id: 'lime-painter', + context, + canvas, + pixelRatio, + width: canvas.offsetWidth, + height: canvas.offsetHeight + }); + emit('inited', true); + painter.listen('progressChange', (v) => { + emit('progressChange', v); + }); + }; + function save(args) { + delete args.success; + delete args.fail; + clearTimeout(timer); + timer = setTimeout(() => { + const path = painter.save(args); + if(typeof path == 'string') { + const index = Math.ceil(path.length / 8); + for (var i = 0; i < 8; i++) { + if(i == 7) { + emit('success', path.substr(i * index, index)); + } else { + emit('file', path.substr(i * index, index)); + } + }; + } else { + emit('fail', ''); + }; + }, 30); + }; + async function source(args) { + let res = await painter.source(args); + emit('layoutChange', res); + await painter.render(); + }; +` +export default ` + document.write("不支持cavnas"); + let meta = document.createElement('meta'); + meta.name = 'viewport'; + meta.content = 'width=device-width, initial-scale=1.0'; + document.head.appendChild(meta); + let styleEl = document.createElement('style'); + styleEl.setAttribute('type', 'text/css'); + styleEl.textContent='html,body,#lime-painter{padding: 0; margin: 0; width:100%;height:100%}'; + document.head.appendChild(styleEl); + + var script = document.createElement("script"); + script.language = "javascript"; + script.src = "https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js"; + script.onload = function() { + var script = document.createElement("script"); + script.language = "javascript"; + script.src = "https://cdn.jsdelivr.net/gh/liangei/image@latest/lime-ui/lime-painter/painter.js"; + script.onload = function() {init()}; + document.head.appendChild(script); + }; + document.head.appendChild(script); + + var script = document.createElement("script"); + script.language = "javascript"; + script.text = "${painterContent}"; + document.body.appendChild(script); +` diff --git a/components/lime-painter/components/l-painter/painter.js b/components/lime-painter/components/l-painter/painter.js new file mode 100644 index 0000000..fdf69cd --- /dev/null +++ b/components/lime-painter/components/l-painter/painter.js @@ -0,0 +1,15 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Painter={})}(this,(function(t){"use strict"; +/*! ***************************************************************************** + Copyright (c) Microsoft Corporation. + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + ***************************************************************************** */var e,i=function(){return(i=Object.assign||function(t){for(var e,i=1,o=arguments.length;i0&&r[r.length-1])||6!==n[0]&&2!==n[0])){s=0;continue}if(3===n[0]&&(!r||n[1]>r[0]&&n[1]0;break}}return r}("Android"===plus.os.name?"1.9.9.80627":"1.9.9.80472",plus.runtime.innerVersion))return void plus.io.resolveLocalFileSystemURL(u,(function(i){i.getDirectory(f,{create:!0,exclusive:!1},(function(i){i.getFile(c,{create:!0,exclusive:!1},(function(i){i.createWriter((function(i){var o;i.onwrite=function(){t(g)},i.onerror=e,i.seek(0),i.writeAsBinary((o=h.split(","))[o.length-1])}),e)}),e)}),e)}),e);var v=new plus.nativeObj.Bitmap(c);v.loadBase64Data(h,(function(){v.save(g,{},(function(){v.clear(),t(g)}),(function(t){v.clear(),e(t)}))}),(function(t){v.clear(),e(t)}))}})))];case 2:return e=r.sent(),[3,4];case 3:return o=r.sent(),console.log(o),[3,4];case 4:return a.getImageInfo({src:e,success:function(t){return i(t)},fail:function(t){return n(t)}}),[2]}var h}))}))}))}var u=function(t){return!(!t||!t.startsWith("linear")&&!t.startsWith("radial"))},f=function(t,e,i,o,r,n){t.startsWith("linear")?function(t,e,i,o,r,n){for(var s=function(t,e,i,o,r){void 0===o&&(o=0);void 0===r&&(r=0);var n=t.match(/([-]?\d{1,3})deg/),s=n&&n[1]?parseFloat(n[1]):0;s>=360&&(s-=360);s<0&&(s+=360);if(0===(s=Math.round(s)))return{x0:Math.round(e/2)+o,y0:i+r,x1:Math.round(e/2)+o,y1:r};if(180===s)return{x0:Math.round(e/2)+o,y0:r,x1:Math.round(e/2)+o,y1:i+r};if(90===s)return{x0:o,y0:Math.round(i/2)+r,x1:e+o,y1:Math.round(i/2)+r};if(270===s)return{x0:e+o,y0:Math.round(i/2)+r,x1:o,y1:Math.round(i/2)+r};var a=Math.round(180*Math.asin(e/Math.sqrt(Math.pow(e,2)+Math.pow(i,2)))/Math.PI);if(s===a)return{x0:o,y0:i+r,x1:e+o,y1:r};if(s===180-a)return{x0:o,y0:r,x1:e+o,y1:i+r};if(s===180+a)return{x0:e+o,y0:r,x1:o,y1:i+r};if(s===360-a)return{x0:e+o,y0:i+r,x1:o,y1:r};var h=0,d=0,l=0,c=0;if(s180-a&&s<180||s>180&&s<180+a||s>360-a){var u=s*Math.PI/180,f=s360-a?i/2:-i/2,g=Math.tan(u)*f,v=s180-a&&s<180?e/2-g:-e/2-g;h=-(l=g+(p=Math.pow(Math.sin(u),2)*v)),d=-(c=f+p/Math.tan(u))}if(s>a&&s<90||s>90&&s<90+a||s>180+a&&s<270||s>270&&s<360-a){var p;u=(90-s)*Math.PI/180,g=s>a&&s<90||s>90&&s<90+a?e/2:-e/2,f=Math.tan(u)*g,v=s>a&&s<90||s>270&&s<360-a?i/2-f:-i/2-f;h=-(l=g+(p=Math.pow(Math.sin(u),2)*v)/Math.tan(u)),d=-(c=f+p)}return h=Math.round(h+e/2)+o,d=Math.round(i/2-d)+r,l=Math.round(l+e/2)+o,c=Math.round(i/2-c)+r,{x0:h,y0:d,x1:l,y1:c}}(r,t,e,i,o),a=s.x0,h=s.y0,d=s.x1,l=s.y1,c=n.createLinearGradient(a,h,d,l),u=r.match(/linear-gradient\((.+)\)/)[1],f=g(u.substring(u.indexOf(",")+1)),v=0;vh.left+h.width+l;if(this.getBoxState(u,b)||S){var z,B,R,M;if(b.style.left+=n,(null==(z=u)?void 0:z.offsetSize.height)>=(null==(B=f)?void 0:B.offsetSize.height))b.style.top+=u.offsetSize.top+u.offsetSize.height||0;else b.style.top+=(null==(R=f)?void 0:R.offsetSize.top)+(null==(M=f)?void 0:M.offsetSize.height)||0;b.getBoxPosition(),u=b,f=b,g=!0}else b.style.left+=u.offsetSize.left+u.offsetSize.width,b.style.top+=g?u.offsetSize.top:a,b.getBoxPosition(),u=b}}this.layoutBoxUpdate(h,e)}else this.layoutBoxUpdate(h,e);return this.layoutBox},e.setMaxLineHeight=function(t,e,i){for(var o=t;o>=0&&!e[o].contentSize.maxLineHeight;)e[o].contentSize.maxLineHeight=i,o--},e.getBoxState=function(t,e){return"view"==e.name&&"inline-block"!==e.style.display||"view"==(null==t?void 0:t.name)&&"inline-block"!==(null==t?void 0:t.style.display)||"block"==e.style.display||"block"==(null==t?void 0:t.style.display)},e.getBoxHieght=function(){var t,e=this,i=this.name,o=this.computedStyle,r=this.attributes,n=this.parent,s=this.getChildren(),a=o.top,h=o.bottom,d=o.height,c=void 0===d?0:d,u=o.fontSize,f=void 0===u?14:u,g=o.position,v=o.lineHeight,b=void 0===v?"1.4em":v;o.lineClamp;var m=p({},this.contentSize);if("image"==i&&null==c){var w=r.width,x=r.height;r.mode,m.height=Math.round(m.width*x/w)||0,this.layoutBoxUpdate(m,o,"height")}else if(c)if(s.length){var y=null,S=0;s.forEach((function(t,i){var o,r,n=i==s.length-1;t.getBoxHieght();var a=(null==(o=y)?void 0:o.offsetSize.left)+(null==(r=y)?void 0:r.offsetSize.width)+t.offsetSize.width>m.left+m.width,h=e.getBoxState(y,t);if(a||h){if(a){for(var d=i-1;d>=0&&!s[d].contentSize.maxLineHeight;)S=0&&!s[l].contentSize.maxLineHeight;)Sm.width;if(a||n){var h,d,l=0;return a||M&&("view"!==(null==(h=M)?void 0:h.name)||"inline-block"==(null==(d=M)?void 0:d.style.display))?(r&&(e.setMaxLineHeight(o-1,s,R),R+=i.offsetSize.height),l=t+R,R=i.offsetSize.height,k=i.offsetSize.width,M=i,l):(k=0,R=0,t+i.offsetSize.height)}return k+=i.offsetSize.width,R=Math.max(R,i.offsetSize.height)||0,r?(e.setMaxLineHeight(o,s,R),t+R):(M=i,t)}),0),z&&(m.height=z),this.layoutBoxUpdate(m,o)}else z&&(m.height=z),this.layoutBoxUpdate(m,o,"height")}if(o.borderRadius&&null!=(t=this.borderSize)&&t.width)for(var P in o.borderRadius)Object.hasOwnProperty.call(o.borderRadius,P)&&(o.borderRadius[P]=l(o.borderRadius[P],this.borderSize.width));return this.layoutBox},e.contrastSize=function(t,e,i){var o=t;return i&&(o=Math.min(o,i)),e&&(o=Math.max(o,e)),o},e.measureText=function(t,e){var i=this.ctx.measureText(t);return{width:i.width,fontHeight:(i.actualBoundingBoxAscent||.7*e)+1}},e.getBoxWidth=function(){var t,e=this,i=this.name,o=this.computedStyle,r=this.attributes,n=this.parent,s=void 0===n?{}:n,a=this.ctx,h=this.getChildren(),d=o.left,c=void 0===d?0:d;o.top;var u=o.right,f=o.width,g=void 0===f?0:f,v=o.minWidth,p=o.maxWidth,b=o.height,m=void 0===b?0:b,w=o.fontSize,x=void 0===w?14:w,y=o.fontWeight,S=o.fontFamily,z=o.textStyle,B=o.position,R=o.display,M=o.lineClamp,k=o.padding,P=void 0===k?{}:k,O=o.margin,T=void 0===O?{}:O,L=o.border,W=(L=void 0===L?{}:L).borderWidth,I=void 0===W?0:W,j=o.borderRight,C=(j=void 0===j?{}:j).borderRightWidth,F=void 0===C?I:C,A=o.borderLeft,H=(A=void 0===A?{}:A).borderLeftWidth,$=void 0===H?I:H;if(/%$/.test(g)&&s.contentSize.width&&(g=l(g,s.contentSize.width,!0)),/%$/.test(m)&&s.contentSize.height&&(m=l(m,s.contentSize.height)),/%$/.test(v)&&s.contentSize.width&&(v=l(v,s.contentSize.width,!0)),/%$/.test(p)&&s.contentSize.width&&(p=l(p,s.contentSize.width,!0)),o.padding&&null!=(t=s.contentSize)&&t.width)for(var E in o.padding)Object.hasOwnProperty.call(o.padding,E)&&(o.padding[E]=l(o.padding[E],s.contentSize.width));var U=P.paddingRight,_=void 0===U?0:U,D=P.paddingLeft,N=void 0===D?0:D;if(o.margin&&[o.margin.marginLeft,o.margin.marginRight].includes("auto"))if(g){var V=s.contentSize.width-g-_-N-$-F||0;o.margin.marginLeft==o.margin.marginRight?o.margin.marginLeft=o.margin.marginRight=V/2:"auto"==o.margin.marginLeft?o.margin.marginLeft=V:o.margin.marginRight=V}else o.margin.marginLeft=o.margin.marginRight=0;var X=T.marginRight,q=void 0===X?0:X,G=T.marginLeft,J={width:g,height:m,left:0,top:0},Y=N+_+$+F+(void 0===G?0:G)+q;if("text"==i&&!this.attributes.widths){var Q=r.text||"";a.save(),a.setFonts({fontFamily:S,fontSize:x,fontWeight:y,textStyle:z}),Q.split("\n").map((function(t){var i=t.split("").map((function(t){return e.measureText(t,x).width}));e.attributes.fontHeight=e.measureText(t,x).fontHeight,e.attributes.widths||(e.attributes.widths=[]),e.attributes.widths.push({widths:i,total:i.reduce((function(t,e){return t+e}),0)})})),a.restore()}if("image"==i&&null==g){var Z=r.width,K=r.height;J.width=this.contrastSize(Math.round(Z*m/K)||0,v,p),this.layoutBoxUpdate(J,o,"width")}else if(g)h.length?(this.layoutBoxUpdate(J,o,"width"),h.forEach((function(t){t.getBoxWidth()}))):this.layoutBoxUpdate(J,o,"width");else{var tt=0;if((this.isAbsolute||this.isFixed)&&s.contentSize.width){var et="absolute"==B?s.contentSize.width:this.root.width;tt=et-(/%$/.test(c)?l(c,et):c)-(/%$/.test(u)?l(u,et):u)}if("text"==i){var it=this.attributes.widths,ot=Math.max.apply(Math,it.map((function(t){return t.total})));if(s&&s.contentSize.width>0&&(ot>s.contentSize.width||"block"==R)&&!this.isAbsolute&&!this.isFixed)ot=s.contentSize.width-Y;J.width=tt||this.contrastSize(ot,v,p),this.layoutBoxUpdate(J,o,"width")}else if("view"!=i||!s||"inline-block"===R||this.isAbsolute||this.isFixed)if(h.length){for(var rt=0,nt=null,st=0;h.length>st;){var at=h[st],ht=st==h.length-1,dt=this.getBoxState(nt,at);if(!at.isFixed&&!at.isAbsolute)if(!nt||dt){var lt=at.getBoxWidth();rt=Math.max(rt,lt.width)||0,nt=at}else if(nt.offsetSize.left+nt.offsetSize.width+at.offsetSize.widthJ.width?(ut++,e):t+e}),0)})),ut=M&&ut>M?M:ut,this.attributes.lines=ut}return this.layoutBox},e.layout=function(){return this.getBoxWidth(),this.getBoxHieght(),this.getBoxPosition(),this.offsetSize},t}(),x=function(){var t,e,i,o,r,n,s=[0,11,15,19,23,27,31,16,18,20,22,24,26,28,20,22,24,24,26,28,28,22,24,24,26,26,28,28,24,24,26,26,26,28,28,24,26,26,26,28,28],a=[3220,1468,2713,1235,3062,1890,2119,1549,2344,2936,1117,2583,1330,2470,1667,2249,2028,3780,481,4011,142,3098,831,3445,592,2517,1776,2234,1951,2827,1070,2660,1345,3177],h=[30660,29427,32170,30877,26159,25368,27713,26998,21522,20773,24188,23371,17913,16590,20375,19104,13663,12392,16177,14854,9396,8579,11994,11245,5769,5054,7399,6608,1890,597,3340,2107],d=[1,0,19,7,1,0,16,10,1,0,13,13,1,0,9,17,1,0,34,10,1,0,28,16,1,0,22,22,1,0,16,28,1,0,55,15,1,0,44,26,2,0,17,18,2,0,13,22,1,0,80,20,2,0,32,18,2,0,24,26,4,0,9,16,1,0,108,26,2,0,43,24,2,2,15,18,2,2,11,22,2,0,68,18,4,0,27,16,4,0,19,24,4,0,15,28,2,0,78,20,4,0,31,18,2,4,14,18,4,1,13,26,2,0,97,24,2,2,38,22,4,2,18,22,4,2,14,26,2,0,116,30,3,2,36,22,4,4,16,20,4,4,12,24,2,2,68,18,4,1,43,26,6,2,19,24,6,2,15,28,4,0,81,20,1,4,50,30,4,4,22,28,3,8,12,24,2,2,92,24,6,2,36,22,4,6,20,26,7,4,14,28,4,0,107,26,8,1,37,22,8,4,20,24,12,4,11,22,3,1,115,30,4,5,40,24,11,5,16,20,11,5,12,24,5,1,87,22,5,5,41,24,5,7,24,30,11,7,12,24,5,1,98,24,7,3,45,28,15,2,19,24,3,13,15,30,1,5,107,28,10,1,46,28,1,15,22,28,2,17,14,28,5,1,120,30,9,4,43,26,17,1,22,28,2,19,14,28,3,4,113,28,3,11,44,26,17,4,21,26,9,16,13,26,3,5,107,28,3,13,41,26,15,5,24,30,15,10,15,28,4,4,116,28,17,0,42,26,17,6,22,28,19,6,16,30,2,7,111,28,17,0,46,28,7,16,24,30,34,0,13,24,4,5,121,30,4,14,47,28,11,14,24,30,16,14,15,30,6,4,117,30,6,14,45,28,11,16,24,30,30,2,16,30,8,4,106,26,8,13,47,28,7,22,24,30,22,13,15,30,10,2,114,28,19,4,46,28,28,6,22,28,33,4,16,30,8,4,122,30,22,3,45,28,8,26,23,30,12,28,15,30,3,10,117,30,3,23,45,28,4,31,24,30,11,31,15,30,7,7,116,30,21,7,45,28,1,37,23,30,19,26,15,30,5,10,115,30,19,10,47,28,15,25,24,30,23,25,15,30,13,3,115,30,2,29,46,28,42,1,24,30,23,28,15,30,17,0,115,30,10,23,46,28,10,35,24,30,19,35,15,30,17,1,115,30,14,21,46,28,29,19,24,30,11,46,15,30,13,6,115,30,14,23,46,28,44,7,24,30,59,1,16,30,12,7,121,30,12,26,47,28,39,14,24,30,22,41,15,30,6,14,121,30,6,34,47,28,46,10,24,30,2,64,15,30,17,4,122,30,29,14,46,28,49,10,24,30,24,46,15,30,4,18,122,30,13,32,46,28,48,14,24,30,42,32,15,30,20,4,117,30,40,7,47,28,43,22,24,30,10,67,15,30,19,6,118,30,18,31,47,28,34,34,24,30,20,61,15,30],l=[255,0,1,25,2,50,26,198,3,223,51,238,27,104,199,75,4,100,224,14,52,141,239,129,28,193,105,248,200,8,76,113,5,138,101,47,225,36,15,33,53,147,142,218,240,18,130,69,29,181,194,125,106,39,249,185,201,154,9,120,77,228,114,166,6,191,139,98,102,221,48,253,226,152,37,179,16,145,34,136,54,208,148,206,143,150,219,189,241,210,19,92,131,56,70,64,30,66,182,163,195,72,126,110,107,58,40,84,250,133,186,61,202,94,155,159,10,21,121,43,78,212,229,172,115,243,167,87,7,112,192,247,140,128,99,13,103,74,222,237,49,197,254,24,227,165,153,119,38,184,180,124,17,68,146,217,35,32,137,46,55,63,209,91,149,188,207,205,144,135,151,178,220,252,190,97,242,86,211,171,20,42,93,158,132,60,57,83,71,109,65,162,31,45,67,216,183,123,164,118,196,23,73,236,127,12,111,246,108,161,59,82,41,157,85,170,251,96,134,177,187,204,62,90,203,89,95,176,156,169,160,81,11,245,22,235,122,117,44,215,79,174,213,233,230,231,173,232,116,214,244,234,168,80,88,175],c=[1,2,4,8,16,32,64,128,29,58,116,232,205,135,19,38,76,152,45,90,180,117,234,201,143,3,6,12,24,48,96,192,157,39,78,156,37,74,148,53,106,212,181,119,238,193,159,35,70,140,5,10,20,40,80,160,93,186,105,210,185,111,222,161,95,190,97,194,153,47,94,188,101,202,137,15,30,60,120,240,253,231,211,187,107,214,177,127,254,225,223,163,91,182,113,226,217,175,67,134,17,34,68,136,13,26,52,104,208,189,103,206,129,31,62,124,248,237,199,147,59,118,236,197,151,51,102,204,133,23,46,92,184,109,218,169,79,158,33,66,132,21,42,84,168,77,154,41,82,164,85,170,73,146,57,114,228,213,183,115,230,209,191,99,198,145,63,126,252,229,215,179,123,246,241,255,227,219,171,75,150,49,98,196,149,55,110,220,165,87,174,65,130,25,50,100,200,141,7,14,28,56,112,224,221,167,83,166,81,162,89,178,121,242,249,239,195,155,43,86,172,69,138,9,18,36,72,144,61,122,244,245,247,243,251,235,203,139,11,22,44,88,176,125,250,233,207,131,27,54,108,216,173,71,142,0],u=[],f=[],g=[],v=[],p=[],b=2;function m(t,e){var i;t>e&&(i=t,t=e,e=i),i=e,i*=e,i+=e,i>>=1,v[i+=t]=1}function w(t,i){var o;for(g[t+e*i]=1,o=-2;o<2;o++)g[t+o+e*(i-2)]=1,g[t-2+e*(i+o+1)]=1,g[t+2+e*(i+o)]=1,g[t+o+1+e*(i+2)]=1;for(o=0;o<2;o++)m(t-1,i+o),m(t+1,i-o),m(t-o,i-1),m(t+o,i+1)}function x(t){for(;t>=255;)t=((t-=255)>>8)+(255&t);return t}var y=[];function S(t,e,i,o){var r,n,s;for(r=0;re&&(i=t,t=e,e=i),i=e,i+=e*e,i>>=1,v[i+=t]}function B(t){var i,o,r,n;switch(t){case 0:for(o=0;o>1&1,i=0;i=5&&(i+=3+p[e]-5);for(e=3;et||3*p[e-3]>=4*p[e]||3*p[e+3]>=4*p[e])&&(i+=40);return i}function M(){var t,i,o,r,n,s=0,a=0;for(i=0;ie*e;)h-=e*e,d++;for(s+=10*d,t=0;t1)for(O=s[t],k=e-7;;){for(R=e-7;R>O-3&&(w(R,k),!(R6)for(O=a[t-7],P=17,R=0;R<6;R++)for(k=0;k<3;k++,P--)1&(P>11?t>>P-12:O>>P)?(g[5-R+e*(2-k+e-11)]=1,g[2-k+e-11+e*(5-R)]=1):(m(5-R,2-k+e-11),m(2-k+e-11,5-R));for(k=0;k=(R=r*(i+o)+o)-2&&(T=R-2,t>9&&T--),L=T,t>9){for(u[L+2]=0,u[L+3]=0;L--;)O=u[L],u[L+3]|=255&O<<4,u[L+2]=O>>4;u[2]|=255&T<<4,u[1]=T>>4,u[0]=64|T>>12}else{for(u[L+1]=0,u[L+2]=0;L--;)O=u[L],u[L+2]|=255&O<<4,u[L+1]=O>>4;u[1]|=255&T<<4,u[0]=64|T>>4}for(L=T+3-(t<10);L0;W--)y[W]=y[W]?y[W-1]^c[x(l[y[W]]+L)]:y[W-1];y[0]=c[x(l[y[0]]+L)]}for(L=0;L<=n;L++)y[L]=l[y[L]];for(P=R,k=0,L=0;L>=1)1&k&&(g[e-1-P+8*e]=1,P<6?g[8+e*P]=1:g[8+e*(P+1)]=1);for(P=0;P<7;P++,k>>=1)1&k&&(g[8+e*(e-7+P)]=1,P?g[6-P+8*e]=1:g[7+8*e]=1);return g}(p)},utf16to8:function(t){var e,i,o,r;for(e="",o=t.length,i=0;i=1&&r<=127?e+=t.charAt(i):r>2047?(e+=String.fromCharCode(224|r>>12&15),e+=String.fromCharCode(128|r>>6&63),e+=String.fromCharCode(128|r>>0&63)):(e+=String.fromCharCode(192|r>>6&31),e+=String.fromCharCode(128|r>>0&63));return e},draw:function(t,i,o,r,n){i.drawView(o,r);var s=i.ctx,a=o.contentSize,h=a.width,d=a.height;r.borderRadius,r.backgroundColor;var l=r.color,c=void 0===l?"#000000":l;r.border;var u=o.contentSize.left-o.borderSize.left,f=o.contentSize.top-o.borderSize.top;if(b=n||b,s){s.save(),i.setOpacity(r);var g=i.setTransform(o,r),v=g.x,p=g.y;v+=u,p+=f;var m=Math.min(h,d);t=this.utf16to8(t);var w=this.getFrame(t),x=m/e;s.setFillStyle(c);for(var y=0;y0?1:-1)*r.x+(B+v)/c,y:k*(f>0?1:-1)*r.y+(R+b)/f};return s.translate(T.x,T.y),w&&s.rotate(w*Math.PI/180),(y||z)&&s.transform(1,Math.tan(z*Math.PI/180),Math.tan(y*Math.PI/180),1,0,0),{x:-M*r.x,y:-k*r.y,w:M,h:k}},t.prototype.setBackground=function(t,e,i,o,r){var n=this.ctx;t&&"transparent"!=t?u(t)?f(t,e,i,o,r,n):n.setFillStyle(t):["mp-toutiao","mp-baidu"].includes(this.platform)?n.setFillStyle("transparent"):n.setFillStyle("rgba(0,0,0,0)")},t.prototype.setShadow=function(t){var e=t.boxShadow,i=void 0===e?[]:e,o=this.ctx;if(i.length){var r=i[0],n=i[1],s=i[2],a=i[3];o.setShadow(r,n,s,a)}},t.prototype.setBorder=function(t,e){var i=this,o=this.ctx,r=t.width,n=t.height,s=e.border,a=e.borderBottom,h=e.borderTop,d=e.borderRight,l=e.borderLeft,c=e.borderRadius,u=s||{},f=u.borderWidth,g=void 0===f?0:f,v=u.borderStyle,p=u.borderColor,b=a||{},m=b.borderBottomWidth,w=void 0===m?g:m,x=b.borderBottomStyle,y=void 0===x?v:x,S=b.borderBottomColor,z=void 0===S?p:S,B=h||{},R=B.borderTopWidth,M=void 0===R?g:R,k=B.borderTopStyle,P=void 0===k?v:k,O=B.borderTopColor,T=void 0===O?p:O,L=d||{},W=L.borderRightWidth,I=void 0===W?g:W,j=L.borderRightStyle,C=void 0===j?v:j,F=L.borderRightColor,A=void 0===F?p:F,H=l||{},$=H.borderLeftWidth,E=void 0===$?g:$,U=H.borderLeftStyle,_=void 0===U?v:U,D=H.borderLeftColor,N=void 0===D?p:D,V=c||{},X=V.borderTopLeftRadius,q=void 0===X?c||0:X,G=V.borderTopRightRadius,J=void 0===G?c||0:G,Y=V.borderBottomRightRadius,Q=void 0===Y?c||0:Y,Z=V.borderBottomLeftRadius,K=void 0===Z?c||0:Z;if(a||l||h||d||s){var tt=function(t,e,r){"dashed"==e?/mp/.test(i.platform)?o.setLineDash([Math.ceil(4*t/3),Math.ceil(4*t/3)]):o.setLineDash([Math.ceil(6*t),Math.ceil(6*t)]):"dotted"==e&&o.setLineDash([t,t]),o.setStrokeStyle(r)},et=function(t,e,i,r,n,s,a,h,d,l,c,u,f,g){o.save(),o.setLineWidth(u),tt(u,f,g),o.beginPath(),o.arc(t,e,a,Math.PI*d,Math.PI*l),o.lineTo(i,r),o.arc(n,s,h,Math.PI*l,Math.PI*c),o.stroke(),o.restore()};o.save(),this.setOpacity(e);var it=this.setTransform(t,e),ot=it.x,rt=it.y;s&&(o.setLineWidth(g),tt(g,v,p),this.roundRect(ot,rt,r,n,c,!1,!!p),o.restore()),a&&et(ot+r-Q,rt+n-Q,ot+K,rt+n,ot+K,rt+n-K,Q,K,.25,.5,.75,w,y,z),l&&et(ot+K,rt+n-K,ot,rt+q,ot+q,rt+q,K,q,.75,1,1.25,E,_,N),h&&et(ot+q,rt+q,ot+r-J,rt,ot+r-J,rt+J,q,J,1.25,1.5,1.75,M,P,T),d&&et(ot+r-J,rt+J,ot+r,rt+n-Q,ot+r-Q,rt+n-Q,J,Q,1.75,2,.25,I,C,A)}},t.prototype.setOpacity=function(t){var e=t.opacity,i=void 0===e?1:e;this.ctx.setGlobalAlpha(i)},t.prototype.drawPattern=function(t,e,i){return o(this,void 0,void 0,(function(){var n=this;return r(this,(function(s){return[2,new Promise((function(s,a){var h=n,d=h.ctx,l=h.canvas,c=e.width,u=e.height,f=i||{},g=f.borderRadius,v=void 0===g?0:g,p=f.backgroundColor,b=void 0===p?"transparent":p,m=f.backgroundImage,w=f.backgroundRepeat,x=void 0===w?"repeat":w;d.save(),n.setOpacity(i);var y=n.setTransform(e,i),S=y.x,z=y.y;n.setShadow(i),n.setBackground(b,c,u,S,z),n.roundRect(S,z,c,u,v,!0,!1);var B=function(t){var o=d.createPattern(t.src,x);d.setFillStyle(o),n.roundRect(S,z,c,u,v,!0,!1),n.setBorder(e,i),d.restore(),s()};if(m)if(l.createImage||"web"==n.platform){var R=null;(R=l.createImage?l.createImage():new Image).onload=function(){t.src=R,B(t)},R.onerror=function(){return o(n,void 0,void 0,(function(){return r(this,(function(e){return console.log("createImage fail: "+JSON.stringify(t)),s(),[2]}))}))},R.src=t.path}else B(t)}))]}))}))},t.prototype.drawView=function(t,e,i,o,r){void 0===i&&(i=!0),void 0===o&&(o=!0),void 0===r&&(r=!0);var n=this.ctx,s=t.width,a=t.height,h=e||{},d=h.borderRadius,l=void 0===d?0:d,c=h.backgroundColor,u=void 0===c?"transparent":c;n.save(),this.setOpacity(e);var f=this.setTransform(t,e),g=f.x,v=f.y;r&&this.setShadow(e),i&&this.setBackground(u,s,a,g,v),this.roundRect(g,v,s,a,l,i,!1),n.restore(),o&&this.setBorder(t,e)},t.prototype.drawImage=function(t,e,i,n){return void 0===e&&(e={}),void 0===i&&(i={}),void 0===n&&(n=!0),o(this,void 0,void 0,(function(){var s=this;return r(this,(function(a){switch(a.label){case 0:return[4,new Promise((function(a,h){return o(s,void 0,void 0,(function(){var s,h,d,u,f,g,v,p,b,m,w,x,y,S,z,B,R,M,k,P,O,T,L,W,I,j,C,F=this;return r(this,(function(A){switch(A.label){case 0:return i.boxShadow&&this.drawView(e,Object.assign(i,{backgroundColor:i.backgroundColor||i.boxShadow&&(i.backgroundColor||"#ffffff")}),!0,!1,!0),h=(s=this).ctx,d=s.sleep,u=s.canvas,f=i.borderRadius,g=void 0===f?0:f,v=i.backgroundColor,p=void 0===v?"transparent":v,b=i.objectFit,m=void 0===b?"fill":b,w=i.objectPosition,x=e.width,y=e.height,S=e.left,z=e.top,h.save(),B=e.contentSize.left-e.borderSize.left,R=e.contentSize.top-e.borderSize.top,n||(this.setOpacity(i),M=this.setTransform(e,i),k=M.x,P=M.y,this.setBackground(p,x,y,S,z),S=k,z=P,this.roundRect(S,z,x,y,g,!!g,!1)),S+=B,z+=R,h.clip(),O=function(t){if("fill"!==m){var i=function(t,e,i){var o=t.objectFit,r=t.objectPosition,n=e.width/e.height,s=i.width/i.height,a=1;"contain"==o&&n>=s||"cover"==o&&n=s)&&(a=e.width/i.width);var h=i.width*a,d=i.height*a,c=/^\d+px|rpx$/.test(null==r?void 0:r[0])?l(null==r?void 0:r[0],e.width):(e.width-h)*(/%$/.test(null==r?void 0:r[0])?l(null==r?void 0:r[0],1,!0):{left:0,center:.5,right:1}[(null==r?void 0:r[0])||"center"]),u=/^\d+px|rpx$/.test(null==r?void 0:r[1])?l(null==r?void 0:r[1],e.height):(e.height-d)*(/%$/.test(null==r?void 0:r[1])?l(null==r?void 0:r[1],1,!0):{top:0,center:.5,bottom:1}[(null==r?void 0:r[1])||"center"]),f=function(t,e){return[(t-c)/a,(e-u)/a]},g=f(0,0),v=g[0],p=g[1],b=f(e.width,e.height),m=b[0],w=b[1];return{sx:Math.max(v,0),sy:Math.max(p,0),sw:Math.min(m-v,i.width),sh:Math.min(w-p,i.height),dx:Math.max(c,0),dy:Math.max(u,0),dw:Math.min(h,e.width),dh:Math.min(d,e.height)}}({objectFit:m,objectPosition:w},e.contentSize,t),o=i.sx,r=i.sy,n=i.sh,s=i.sw,a=i.dx,d=i.dy,c=i.dh,u=i.dw;"mp-baidu"==F.platform?h.drawImage(t.src,a+S,d+z,u,c,o,r,s,n):h.drawImage(t.src,o,r,s,n,a+S,d+z,u,c)}else h.drawImage(t.src,S,z,x,y)},T=function(){h.restore(),F.drawView(e,i,!1,!0,!1),setTimeout(a,d)},L=function(t){if(u.createImage||"web"==F.platform){var e=null;(e=u.createImage?u.createImage():new Image).onload=function(){t.src=e,O(t),T()},e.onerror=function(){return o(F,void 0,void 0,(function(){return r(this,(function(e){return console.log("createImage fail: "+JSON.stringify(t)),a(!0),[2]}))}))},e.src=t.path}else O(t),T()},"string"!=typeof t?[3,2]:[4,c(t)];case 1:return W=A.sent(),I=W.path,j=W.width,C=W.height,L({path:I,src:I,width:j,height:C}),[3,3];case 2:L(t),A.label=3;case 3:return[2]}}))}))}))];case 1:return a.sent(),[2]}}))}))},t.prototype.drawText=function(t,e,i,o){this.drawView(e,i);var r=this.ctx,n=e.borderSize,s=e.contentSize,a=s.width,h=s.height,d=s.left-n.left,c=s.top-n.top,u=i.color,f=void 0===u?"#000000":u,g=i.lineHeight,v=void 0===g?"1.4em":g,p=i.fontSize,b=void 0===p?14:p,m=i.fontWeight,w=i.fontFamily,x=i.textStyle,y=i.textAlign,S=void 0===y?"left":y,z=i.verticalAlign,B=void 0===z?"middle":z;i.backgroundColor;var R=i.lineClamp,M=i.textDecoration;if(v=l(v,b),t){r.save(),this.setOpacity(i);var k=this.setTransform(e,i),P=k.x,O=k.y;switch(P+=d,O+=c,r.setFonts({fontFamily:w,fontSize:b,fontWeight:m,textStyle:x}),r.setTextBaseline("middle"),r.setTextAlign(S),r.setFillStyle(f),O+=b/2,S){case"left":break;case"center":P+=.5*a;break;case"right":P+=a}var T=o.lines*v,L=Math.ceil((h-T)/2);switch(L<0&&(L=0),B){case"top":break;case"middle":O+=L;break;case"bottom":O+=2*L}var W=(v-o.fontHeight)/2,I=function(t,e,i){var n=t;switch(S){case"left":t=t,n+=i;break;case"center":n=(t-=i/2)+i;break;case"right":n=t,t-=i}M&&(r.setLineWidth(b/13),r.beginPath(),e-=W,/\bunderline\b/.test(M)&&(r.moveTo(t,e-.5*o.fontHeight),r.lineTo(n,e-.5*o.fontHeight)),/\boverline\b/.test(M)&&(r.moveTo(t,e-1.5*o.fontHeight),r.lineTo(n,e-1.5*o.fontHeight)),/\bline-through\b/.test(M)&&(r.moveTo(t,e-o.fontHeight),r.lineTo(n,e-o.fontHeight)),r.closePath(),r.setStrokeStyle(f),r.stroke())};if(1==o.widths.lenght&&o.widths[0].total<=s.width)return r.fillText(t,P,O+W),I(P,O+=v,o.widths[0].total),r.restore(),void this.setBorder(e,i);for(var j=t.split(""),C=O,F=P,A="",H=0,$=0;$<=j.length;$++){var E=j[$]||"",U="\n"===E,_=""==E,D=A+(E=U?"":E),N=r.measureText(D).width;if(H>=R)break;if(F=P,(N=N)>s.width||U||_){if(H++,A=_&&N<=s.width?D:A,H===R&&N>a){for(;r.measureText(A+"...").width>s.width&&!(A.length<=1);)A=A.substring(0,A.length-1);A+="..."}if(r.fillText(A,F,O+W),I(F,O+=v,N),A=E,O+v>C+h)break}else A=D}r.restore()}},t.prototype.source=function(t){var e;return o(this,void 0,void 0,(function(){var i,o;return r(this,(function(r){switch(r.label){case 0:if("{}"==JSON.stringify(t))return[2];if(!t.type)for(i in t.type="view",t.css=t.css||{},t)["views","children","type","css"].includes(i)||(t.css[i]=t[i],delete t[i]);return(null===(e=null==t?void 0:t.css)||void 0===e?void 0:e.width)||(t.css?t.css.width=this.root.width:t.css={width:this.root.width}),[4,this.create(t)];case 1:return o=r.sent(),this.size=o.layout(),this.node=o,[2,this.size]}}))}))},t.prototype.create=function(t,e){var i,n,s,a;return o(this,void 0,void 0,(function(){var o,h,d,l,u,f,g,v,p,b,m,x;return r(this,(function(r){switch(r.label){case 0:if("image"==t.type&&!t.src&&!t.url||"qrcode"==t.type&&!t.text)return[2];if("none"==(null===(i=null==t?void 0:t.css)||void 0===i?void 0:i.display))return console.error("element display none"),[2];r.label=1;case 1:return r.trys.push([1,4,,5]),"image"==t.type||"view"==t.type&&(null===(n=t.css)||void 0===n?void 0:n.backgroundImage)?(o=null,h=/url\((.+)\)/,t.css.backgroundImage&&(null===(s=h.exec(t.css.backgroundImage))||void 0===s?void 0:s[1])&&(o=null===(a=h.exec(t.css.backgroundImage))||void 0===a?void 0:a[1]),[4,c(t.src||o)]):[3,3];case 2:d=r.sent(),l=d.width,u=d.height,f=d.path,["mp-weixin","mp-baidu","mp-qq","mp-toutiao"].includes(this.platform)&&(f=/^\.|^\/(?=[^\/])/.test(t.src||o)?"/"+f:f),t.attributes=Object.assign(t.attributes||{},{width:l,height:u,path:f,src:f,naturalSrc:t.src||o}),r.label=3;case 3:return[3,5];case 4:return g=r.sent(),console.log(g),[2];case 5:if(this.count+=1,v=new w(t,e,this.root,this.ctx),!(p=t.views||t.children))return[3,9];b=0,r.label=6;case 6:return b /^data:image\/(\w+);base64/.test(path); +export function sleep(delay) { + return new Promise(resolve => setTimeout(resolve, delay)) +} +const isDev = ['devtools'].includes(uni.getSystemInfoSync().platform) +// 缓存图片 +let cache = {} +export function isNumber(value) { + return /^-?\d+(\.\d+)?$/.test(value); +} +export function toPx(value, baseSize, isDecimal = false) { + // 如果是数字 + if (typeof value === 'number') { + return value + } + // 如果是字符串数字 + if (isNumber(value)) { + return value * 1 + } + // 如果有单位 + if (typeof value === 'string') { + const reg = /^-?([0-9]+)?([.]{1}[0-9]+){0,1}(em|rpx|px|%)$/g + const results = reg.exec(value); + if (!value || !results) { + return 0; + } + const unit = results[3]; + value = parseFloat(value); + let res = 0; + if (unit === 'rpx') { + res = uni.upx2px(value); + } else if (unit === 'px') { + res = value * 1; + } else if (unit === '%') { + res = value * toPx(baseSize) / 100; + } else if (unit === 'em') { + res =value * toPx(baseSize || 14); + } + return isDecimal ? res.toFixed(2) * 1 : Math.round(res); + } + return 0 +} + +// 计算版本 +export function compareVersion(v1, v2) { + v1 = v1.split('.') + v2 = v2.split('.') + const len = Math.max(v1.length, v2.length) + while (v1.length < len) { + v1.push('0') + } + while (v2.length < len) { + v2.push('0') + } + for (let i = 0; i < len; i++) { + const num1 = parseInt(v1[i], 10) + const num2 = parseInt(v2[i], 10) + + if (num1 > num2) { + return 1 + } else if (num1 < num2) { + return -1 + } + } + return 0 +} +// #ifdef MP +export const prefix = () => { + // #ifdef MP-TOUTIAO + return tt + // #endif + // #ifdef MP-WEIXIN + return wx + // #endif + // #ifdef MP-BAIDU + return swan + // #endif + // #ifdef MP-ALIPAY + return my + // #endif + // #ifdef MP-QQ + return qq + // #endif + // #ifdef MP-360 + return qh + // #endif +} +// #endif + +const base64ToArrayBuffer = (data) => { + // #ifndef MP-WEIXIN || APP-PLUS + /** + * Base64Binary.decode(base64_string); + * Base64Binary.decodeArrayBuffer(base64_string); + */ + const Base64Binary = { + _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", + /* will return a Uint8Array type */ + decodeArrayBuffer(input) { + const bytes = (input.length/4) * 3; + const ab = new ArrayBuffer(bytes); + this.decode(input, ab); + return ab; + }, + removePaddingChars(input) { + const lkey = this._keyStr.indexOf(input.charAt(input.length - 1)); + if(lkey == 64){ + return input.substring(0,input.length - 1); + } + return input; + }, + decode(input, arrayBuffer) { + //get last chars to see if are valid + input = this.removePaddingChars(input); + input = this.removePaddingChars(input); + + const bytes = parseInt((input.length / 4) * 3, 10); + + let uarray; + let chr1, chr2, chr3; + let enc1, enc2, enc3, enc4; + let i = 0; + let j = 0; + + if (arrayBuffer) + uarray = new Uint8Array(arrayBuffer); + else + uarray = new Uint8Array(bytes); + + input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); + + for (i=0; i> 4); + chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); + chr3 = ((enc3 & 3) << 6) | enc4; + + uarray[i] = chr1; + if (enc3 != 64) uarray[i+1] = chr2; + if (enc4 != 64) uarray[i+2] = chr3; + } + return uarray; + } + } + return Base64Binary.decodeArrayBuffer(data) + // #endif + // #ifdef MP-WEIXIN || APP-PLUS + return uni.base64ToArrayBuffer(data) + // #endif +} + + +/** + * base64转路径 + * @param {Object} base64 + */ +export function base64ToPath(base64) { + const [, format, bodyData] = /data:image\/(\w+);base64,(.*)/.exec(base64) || []; + + return new Promise((resolve, reject) => { + // #ifdef MP + const fs = uni.getFileSystemManager() + //自定义文件名 + if (!format) { + console.error('ERROR_BASE64SRC_PARSE') + reject(new Error('ERROR_BASE64SRC_PARSE')) + } + const time = new Date().getTime(); + let pre = prefix() + const filePath = `${pre.env.USER_DATA_PATH}/${time}.${format}` + //let buffer = base64ToArrayBuffer(bodyData) + console.log(filePath) + fs.writeFile({ + filePath, + data: base64.replace(/^data:\S+\/\S+;base64,/, ''), + encoding: 'base64', + // data: buffer, + // encoding: 'binary', + success() { + resolve(filePath) + }, + fail(err) { + + console.log(base64,'!!!!!!') + console.error('获取base64图片失败', JSON.stringify(err)) + reject(err) + } + }) + // #endif + + // #ifdef H5 + // mime类型 + let mimeString = base64.split(',')[0].split(':')[1].split(';')[0]; + //base64 解码 + let byteString = atob(base64.split(',')[1]); + //创建缓冲数组 + let arrayBuffer = new ArrayBuffer(byteString.length); + //创建视图 + let intArray = new Uint8Array(arrayBuffer); + for (let i = 0; i < byteString.length; i++) { + intArray[i] = byteString.charCodeAt(i); + } + resolve(URL.createObjectURL(new Blob([intArray], { type: mimeString }))) + // #endif + + // #ifdef APP-PLUS + const bitmap = new plus.nativeObj.Bitmap('bitmap' + Date.now()) + bitmap.loadBase64Data(base64, () => { + if (!format) { + reject(new Error('ERROR_BASE64SRC_PARSE')) + } + const time = new Date().getTime(); + const filePath = `_doc/uniapp_temp/${time}.${format}` + bitmap.save(filePath, {}, + () => { + bitmap.clear() + resolve(filePath) + }, + (error) => { + bitmap.clear() + console.error(`${JSON.stringify(error)}`) + reject(error) + }) + }, (error) => { + bitmap.clear() + console.error(`${JSON.stringify(error)}`) + reject(error) + }) + // #endif + }) +} + +/** + * 路径转base64 + * @param {Object} string + */ +export function pathToBase64(path) { + if(/^data:/.test(path)) return path + return new Promise((resolve, reject) => { + // #ifdef H5 + const _canvas = ()=> { + let image = new Image(); + image.setAttribute("crossOrigin",'Anonymous'); + image.onload = function() { + let canvas = document.createElement('canvas'); + // 获取图片原始宽高 + canvas.width = this.naturalWidth; + canvas.height = this.naturalHeight; + // 将图片插入画布并开始绘制 + canvas.getContext('2d').drawImage(image, 0, 0); + let result = canvas.toDataURL('image/png') + resolve(result); + canvas.height = canvas.width = 0 + } + image.src = path + image.onerror = (error) => { + console.error(`urlToBase64 error: ${path}`, JSON.stringify(error)) + reject(new Error('urlToBase64 error')); + }; + } + const _fileReader = (blob) => { + const fileReader = new FileReader(); + fileReader.onload = (e) => { + resolve(e.target.result); + }; + fileReader.readAsDataURL(blob); + fileReader.onerror = (error) => { + console.error('blobToBase64 error:', JSON.stringify(error)) + reject(new Error('blobToBase64 error')); + }; + } + const isFileReader = typeof FileReader === 'function' + if(networkReg.test(path) && isFileReader ) { + window.URL = window.URL || window.webkitURL; + const xhr = new XMLHttpRequest(); + xhr.open("get", path, true); + xhr.timeout = 2000; + xhr.responseType = "blob"; + xhr.onload = function() { + if(this.status == 200) { + _fileReader(this.response) + } else { + _canvas() + } + } + xhr.onreadystatechange = function() { + if(this.status === 0) { + console.error('图片跨域了,得后端处理咯') + } + } + xhr.send(); + } else if(/^blob/.test(path) && isFileReader){ + _fileReader(path) + } else { + _canvas() + } + // #endif + + // #ifdef MP + if(uni.canIUse('getFileSystemManager')) { + uni.getFileSystemManager().readFile({ + filePath: path, + encoding: 'base64', + success: (res) => { + resolve('data:image/png;base64,' + res.data) + }, + fail: (error) => { + console.error('urlToBase64 error:', JSON.stringify(error)) + reject(error) + } + }) + } + // #endif + + // #ifdef APP-PLUS + plus.io.resolveLocalFileSystemURL(getLocalFilePath(path), (entry) => { + entry.file((file) => { + const fileReader = new plus.io.FileReader() + fileReader.onload = (data) => { resolve(data.target.result)} + fileReader.onerror = (error) => { + console.error('pathToBase64 error:', JSON.stringify(error)) + reject(error) + } + fileReader.readAsDataURL(file) + }, (error) => { + console.error('pathToBase64 error:', JSON.stringify(error)) + reject(error) + }) + }, (error) => { + console.error('pathToBase64 error:', JSON.stringify(error)) + reject(error) + }) + // #endif + }) +} + +// #ifdef APP-PLUS +const getLocalFilePath = (path)=> { + if (path.indexOf('_www') === 0 || path.indexOf('_doc') === 0 || path.indexOf('_documents') === 0 || path.indexOf('_downloads') === 0) { + return path + } + if (path.indexOf('file://') === 0) { + return path + } + if (path.indexOf('/storage/emulated/0/') === 0) { + return path + } + if (path.indexOf('/') === 0) { + const localFilePath = plus.io.convertAbsoluteFileSystem(path) + if (localFilePath !== path) { + return localFilePath + } else { + path = path.substr(1) + } + } + return '_www/' + path +} +// #endif + +export function getImageInfo(img, isH5PathToBase64 = false) { + return new Promise(async (resolve, reject) => { + // const base64Reg = /^data:image\/(\w+);base64/ + const localReg = /^\.|^\/(?=[^\/])/; + // #ifdef H5 + if(networkReg.test(img) && isH5PathToBase64) { + img = await pathToBase64(img) + } + // #endif + // #ifndef MP-ALIPAY + if(isBase64(img)) { + + if(isDev || !cache[img]) { + const imgName = img + img = await base64ToPath(img) + cache[imgName] = img + } else { + img = cache[img] + } + } + // #endif + if(cache[img] && cache[img].errMsg) { + resolve(cache[img]) + } else { + uni.getImageInfo({ + src: img, + success: (image) => { + // #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-TOUTIAO + image.path = localReg.test(img) ? `/${image.path}` : image.path; + // #endif + // #ifdef H5 + image.path = image.path.replace(/^\./, window.location.origin) + // #endif + image.naturalSrc = img + if(isDev) { + resolve(image) + } else { + cache[img] = image + resolve(cache[img]) + } + }, + fail(err) { + resolve({path: img}) + console.error(`getImageInfo:fail ${img} failed ${JSON.stringify(err)}`); + } + }) + } + }) +} \ No newline at end of file diff --git a/components/lime-painter/components/lime-painter/index.vue b/components/lime-painter/components/lime-painter/index.vue new file mode 100644 index 0000000..e69de29 diff --git a/components/lime-painter/readme.md b/components/lime-painter/readme.md new file mode 100644 index 0000000..90e0a1d --- /dev/null +++ b/components/lime-painter/readme.md @@ -0,0 +1,756 @@ +# Painter 画板 测试版 +> uniapp 海报画板,更优雅的海报生成方案 +> [查看更多 站点1](https://limeui.qcoon.cn/#/painter) +> [查看更多 站点2](http://liangei.gitee.io/limeui/#/painter) +> Q群:806744170 + +## 平台兼容 +| H5 | 微信小程序 | 支付宝小程序 | 百度小程序 | 头条小程序 | QQ 小程序 | App | +| --- | ---------- | ------------ | ---------- | ---------- | --------- | --- | +| √ | √ | √ | 未测 | √ | √ | √ | + + +## 代码演示 +### 基本用法 +- 插件提供JSON及HTML的方式绘制海报 +- 插件参考了 css 块状流布局模拟css schema方式,放弃了之前使用的绝对定位布局。 + +#### 方式一 HTML +- 插件提供了`l-painter-view`、`l-painter-text`、`l-painter-image`、`l-painter-qrcode`四种类型组件 +- 通过 `css` 属性绘制样式,与style使用方式保持一致。 因为style是保留字段,所以命名为`css`,如果有大佬知道如何破解请告之。 + + +```html + + + + + +``` + +#### 方式二 JSON schema +- 在json里四种类型组件的`type`为`view`、`text`、`image`、`qrcode` +- 通过 `board` 设置海报所需的 JSON schema 数据进行绘制 +- 所有类型的schema都具有`css`字段,css的样式属性key值使用驼峰命名如:`lineHeight` + + +```html + +``` +```js +data() { + return { + poster: { + css: { + // json 方式务必填写画板宽度 + width: '750rpx' + }, + views: [ + { + css: { + background: "#07c160", + height: "120rpx", + width: "120rpx", + display: "inline-block" + }, + type: "view" + }, + { + css: { + background: "#1989fa", + height: "120rpx", + width: "120rpx", + borderTopRightRadius: "60rpx", + borderBottomLeftRadius: "60rpx", + display: "inline-block", + margin: "0 30rpx" + }, + views: [], + type: "view" + }, + { + css: { + background: "#ff9d00", + height: "120rpx", + width: "120rpx", + borderRadius: "50%", + display: "inline-block" + }, + views: [], + type: "view" + }, + ] + } + } +} +``` + +### View 容器 +- 类似于 `div` 可以嵌套承载更多的 view、text、image,qrcode共同构建一颗完整的节点树 +- 在JSON schema里具有 `views` 的数组字段,用于嵌套承载节点。 + + +#### 方式一 HTML + + +```html + + + + + + +``` +#### 方式二 JSON schema + + +```js +{ + css: { + width: '750rpx' + }, + views: [ + { + type: 'view', + css: { + background: '#f0f0f0', + paddingTop: '100rpx' + }, + views: [ + { + type: 'view', + css: { + background: '#d9d9d9', + width: '33.33%', + height: '100rpx', + display: 'inline-block' + } + }, + { + type: 'view', + css: { + background: '#bfbfbf', + width: '66.66%', + height: '100rpx', + display: 'inline-block' + } + } + ], + + } + ] +} +``` + +### Text 文本 +- 通过 `text` 属性填写文本内容。 +- 支持`\n`换行符 +- 支持省略号,使用css的`line-clamp`设置行数,当文字内容超过会显示省略号。 +- 支持`text-decoration` + +#### 方式一 HTML +```html + + + + + + + + +``` +#### 方式二 JSON schema +```js +// 基础用法 +{ + type: 'text', + text: '登鹳雀楼\n白日依山尽,黄河入海流\n欲穷千里目,更上一层楼', +}, +{ + type: 'text', + text: '登鹳雀楼\n白日依山尽,黄河入海流\n欲穷千里目,更上一层楼', + css: { + // 设置居中对齐 + textAlign: 'center', + // 设置中划线 + textDecoration: 'line-through' + } +}, +{ + type: 'text', + text: '登鹳雀楼\n白日依山尽,黄河入海流\n欲穷千里目,更上一层楼', + css: { + // 设置右对齐 + textAlign: 'right', + } +}, +{ + type: 'text', + text: '登鹳雀楼\n白日依山尽,黄河入海流\n欲穷千里目,更上一层楼', + css: { + // 设置行数,超出显示省略号 + lineClamp: 3, + } +} +``` + +### Image 图片 +- 通过 `src` 属性填写图片路径。 +- 图片路径支持:网络图片,本地static里的图片路径,缓存路径 +- 通过 `css` 的 `object-fit`属性可以设置图片的填充方式,可选值见下方CSS表格。 +- 通过 `css` 的 `object-position`配合 `object-fit` 可以设置图片的对齐方式,类似于`background-position`,详情见下方CSS表格。 +- 使用网络图片时:小程序需要去公众平台配置 [downloadFile](https://mp.weixin.qq.com/) 域名 +- 使用网络图片时:**H5需要决跨域问题** + +#### 方式一 HTML +```html + + + + + + + + + + +``` +#### 方式二 JSON schema +```js +// 基础用法 +{ + type: 'image', + src: 'https://m.360buyimg.com/babel/jfs/t1/196317/32/13733/288158/60f4ea39E6fb378ed/d69205b1a8ed3c97.jpg', + css: { + width: '200rpx', + height: '200rpx' + } +}, +// 填充方式 +// css objectFit 设置 填充方式 见下方表格 +{ + type: 'image', + src: 'https://m.360buyimg.com/babel/jfs/t1/196317/32/13733/288158/60f4ea39E6fb378ed/d69205b1a8ed3c97.jpg', + css: { + width: '200rpx', + height: '200rpx', + objectFit: 'contain' + } +}, +// css objectPosition 设置 图片的对齐方式 +{ + type: 'image', + src: 'https://m.360buyimg.com/babel/jfs/t1/196317/32/13733/288158/60f4ea39E6fb378ed/d69205b1a8ed3c97.jpg', + css: { + width: '200rpx', + height: '200rpx', + objectFit: 'contain', + objectPosition: '50% 50%' + } +} +``` +### Qrcode 二维码 +- 通过`text`属性填写需要生成二维码的文本。 +- 通过 `css` 里的 `color` 可设置生成码点的颜色。 +- 通过 `css` 里的 `background`可设置背景色。 +- 通过 `css `里的 `width`、`height`设置尺寸。 + + +#### 方式一 HTML +```html + + + +``` +#### 方式二 JSON schema +```js +{ + type: 'qrcode', + text: 'limeui.qcoon.cn', + css: { + width: '200rpx', + height: '200rpx', + } +} +``` +### 生成图片 +- 1、通过设置`isCanvasToTempFilePath`自动生成图片并在 `@success` 事件里接收海报临时路径 +- 2、通过调用内部方法生成图片: + + +```html +...code +``` +```js +// 主动调用方式只能在绘制完成之后 +// @done 事件表示绘制完成 +this.$refs.painter.canvasToTempFilePath({ + // 在nvue里是jpeg + fileType: 'jpg', + quality: 1, + success: (res) => { + console.log(res.tempFilePath) + } +}) +``` + + +### 海报示例 +- 提供一份示例,只把插件当成生成图片的工具,弹窗之类的功能另外寻找。 +- 通过设置`isCanvasToTempFilePath`主动生成图片,再由 `@success` 事件接收海报临时路径 +- 使用`custom-style`样式把画板移到屏幕之外,因为可能canvas的层级比较高,无法覆盖。 +- **注意**:海报画板不能隐藏 否则无法生成图片。 + +#### 方式一 HTML +```html + + + + + + + + + + + + + + + + + + + + + + + + + + + +``` + +```js +data() { + return { + path: '' + } +} +``` +#### 方式二 JSON schema +```html + + +``` +```js +data() { + return { + path: '', + poster: { + css: { + width: "750rpx", + paddingBottom: "40rpx", + background: "linear-gradient(,#000 0%, #ff5000 100%)" + }, + views: [ + { + src: "https://cdn.jsdelivr.net/gh/liangei/image@latest/avatar-1.jpeg", + type: "image", + css: { + background: "#fff", + objectFit: "cover", + marginLeft: "40rpx", + marginTop: "40rpx", + width: "84rpx", + border: "2rpx solid #fff", + boxSizing: "border-box", + height: "84rpx", + borderRadius: "50%" + } + }, + { + type: "view", + css: { + marginTop: "40rpx", + paddingLeft: "20rpx", + display: "inline-block" + }, + views: [ + { + text: "隔壁老王", + type: "text", + css: { + display: "block", + paddingBottom: "10rpx", + color: "#fff", + fontSize: "32rpx", + fontWeight: "bold" + } + }, + { + text: "为您挑选了一个好物", + type: "text", + css: { + color: "rgba(255,255,255,.7)", + fontSize: "24rpx" + }, + } + ], + }, + { + css: { + marginLeft: "40rpx", + marginTop: "30rpx", + padding: "32rpx", + boxSizing: "border-box", + background: "#fff", + borderRadius: "16rpx", + width: "670rpx", + boxShadow: "0 20rpx 58rpx rgba(0,0,0,.15)" + }, + views: [ + { + src: "https://m.360buyimg.com/babel/jfs/t1/196317/32/13733/288158/60f4ea39E6fb378ed/d69205b1a8ed3c97.jpg", + type: "image", + css: { + objectFit: "cover", + objectPosition: "50% 50%", + width: "606rpx", + height: "606rpx" + }, + }, { + css: { + marginTop: "32rpx", + color: "#FF0000", + fontWeight: "bold", + fontSize: "28rpx", + lineHeight: "1em" + }, + views: [{ + text: "¥", + type: "text", + css: { + verticalAlign: "bottom" + }, + }, { + text: "39", + type: "text", + css: { + verticalAlign: "bottom", + fontSize: "58rpx" + }, + }, { + text: ".39", + type: "text", + css: { + verticalAlign: "bottom" + }, + }, { + text: "¥59.99", + type: "text", + css: { + verticalAlign: "bottom", + paddingLeft: "10rpx", + fontWeight: "normal", + textDecoration: "line-through", + color: "#999999" + } + }], + + type: "view" + }, { + css: { + marginTop: "32rpx", + fontSize: "26rpx", + color: "#8c5400" + }, + views: [{ + text: "自营", + type: "text", + css: { + color: "#212121", + background: "#ffb400" + }, + }, { + text: "30天最低价", + type: "text", + css: { + marginLeft: "16rpx", + background: "#fff4d9", + textDecoration: "line-through" + }, + }, { + text: "满减优惠", + type: "text", + css: { + marginLeft: "16rpx", + background: "#fff4d9" + }, + }, { + text: "超高好评", + type: "text", + css: { + marginLeft: "16rpx", + background: "#fff4d9" + }, + + }], + + type: "view" + }, { + css: { + marginTop: "30rpx" + }, + views: [ + { + text: "360儿童电话手表9X 智能语音问答定位支付手表 4G全网通20米游泳级防水视频通话拍照手表男女孩星空蓝", + type: "text", + css: { + paddingRight: "32rpx", + boxSizing: "border-box", + lineClamp: 2, + color: "#333333", + lineHeight: "1.8em", + fontSize: "36rpx", + width: "478rpx" + }, + }, { + text: "limeui.qcoon.cn", + type: "qrcode", + css: { + width: "128rpx", + height: "128rpx", + }, + + }], + type: "view" + }], + type: "view" + } + ] + } + } +} +``` + +### 原生小程序 +- 插件里的`painter.js`支持在原生小程序中使用 +- new Painter之后在`source`里传入JSON schema +- 再调用`render`绘制海报 +- 如需生成图片,请查看微信小程序cavnas的[canvasToTempFilePath](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.canvasToTempFilePath.html) + +```html + +``` +```js +import {Painter} from './painter' +page({ + data: { + poster: { + css: { + width: '750rpx' + }, + views: [ + { + type: 'view', + css: { + background: '#d2d4c8', + paddingTop: '100rpx' + }, + views: [ + { + type: 'view', + css: { + background: '#5f7470', + width: '33.33%', + height: '100rpx', + display: 'inline-block' + } + }, + { + type: 'view', + css: { + background: '#889696', + width: '33.33%', + height: '100rpx', + display: 'inline-block' + } + }, + { + type: 'view', + css: { + background: '#b8bdb5', + width: '33.33%', + height: '100rpx', + display: 'inline-block' + } + } + ], + + } + ] + } + }, + async onLoad() { + const res = await this.getCentext() + const painter = new Painter(res) + // 返回计算布局后的整个内容尺寸 + const {width, height} = await painter.source(this.data.poster) + // 得到计算后的尺寸后 可给canvas尺寸赋值,达到动态响应效果 + // 渲染 + await painter.render() + }, + // 获取canvas 2d + // 非2d也可以使用这里只是举个例子 + getCentext() { + return new Promise(resolve => { + wx.createSelectorQuery() + .select(`#painter`) + .node() + .exec(res => { + let { node: canvas } = res[0]; + resolve({ + canvas, + context: canvas.getContext('2d'), + width: canvas.width, + height: canvas.height, + pixelRatio: 2 + }) + }) + }) + }, +}) +``` +### Nvue +- 插件是通过 `web-view` 支持 `app-nvue` +- 默认是远端的文件,如果需要本地化,请按下方步骤: +- 1、去码云把[hybrid](https://gitee.com/liangei/lime-painter/tree/master/examples/uni/hybrid)目录的文件,放到自己项目的根目录。 +- 2、给插件文件`l-painter.vue`里`web-view`的`src`加上根目录的`hybrid路径`并注释`this.webViewInit()` + + +```html +// 只加上路径 其它参数不要改 + +``` +```js +// 153行 注释该方法 +// this.webViewInit() +``` + +### 旧版更新(1.6.x) +- 由于1.8.x版放弃了以定位的方式,所以1.6.x版更新之后要每个样式都加上`position: absolute` +- 旧版的 `image` mode 模式被放弃,使用`object-fit` +- 旧版的 `isRenderImage` 改成 `is-canvas-to-temp-filePath` +- 旧版的 `maxLines` 改成 `line-clamp` + +## API + +### Props + +| 参数 | 说明 | 类型 | 默认值 | +| ------------- | ------------ | ---------------- | ------------ | +| board | JSON schema方式的海报元素对象集 | object | - | +| css | 海报最外层的样式,可以理解为`body` | object | 参数请向下看 | +| custom-style | canvas自定义样式 | string | | +| is-canvas-to-temp-filePath | 是否生成图片,在`@success`事件接收图片地址 | boolean | `false` | +| after-delay | 生成图片错乱,可延时生成图片 | number | `100` | +| type | canvas 类型,对微信头条支付宝小程序可有效,可选值:`2d`、`` | string | `2d` | +| file-type | 生成图片的后缀类型, 可选值:`png`、`jpg`,在nvue里是`jpeg` | string | `png` | +| path-type | 生成图片路径类型,可选值`url`、`base64` | string | `-` | +| pixel-ratio | 生成图片的像素密度,默认为对应手机的像素密度 | number | `-` | + + + +### css +| 属性名 | 支持的值或类型 | 默认值 | +| ------------- | ------------ | ---------------- | +| (min\max)width | 支持`%`、`rpx`、`px` | - | +| height | 同上 | - | +| color | `string` | - | +| position | 定位,可选值:`absolute`、`fixed` | - | +| ↳ left、top、right、bottom | 配合`position`才生效,支持`%`、`rpx`、`px` | - | +| margin | 可简写或各方向分别写,如:`margin-top`,支持`auto`、`rpx`、`px` | - | +| padding | 可简写或各方向分别写,支持`rpx`、`px` | - | +| border | 可简写或各个值分开写:`border-width`、`border-style` 、`border-color`,简写请按顺序写| - | +| line-clamp | `number`,超过行数显示省略号 | - | +| background | 支持渐变,但必须写百分比!如:`linear-gradient(,#ff971b 0%, #ff5000 100%)`、`radial-gradient(#0ff 15%, #f0f 60%)`,目前radial-gradient 渐变的圆心为元素中点,半径为最长边,不支持设置 | - | +| vertical-align | 文字垂直对齐,可选值:`bottom`、`top`、`middle` | `middle` | +| line-height | 文字行高,支持`rpx`、`px`、`em`| `1.4em` | +| font-weight | 文字粗细,可选值:`normal`、`bold`| `normal` | +| font-size | 文字大小,`string`,支持`rpx`、`px` | `14px` | +| text-decoration | 文本修饰,可选值:`underline` 、`line-through`、`overline`| - | +| text-align | 文本水平对齐,可选值:`right` 、`center`| - | +| display | 框类型,可选值:`block`、`inline-block`、`none`,当为`none`时是不渲染该段 | - | +| border-radius | 圆角边框,支持`%`、`rpx`、`px` | - | +| box-sizing | 可选值:`border-box` | - | +| box-shadow | 投影 | - | +| background-image | view元素设置背景纹理,注意这里的背景纹理一般是用于纹理平铺,无法代替`image`元素。如:水印 | - | +| background-repeat | 设置是否及如何重复背景纹理,可选值:`repeat`、`repeat-x`、`repeat-y`、`no-repeat` | `repeat` | +| [object-fit](https://developer.mozilla.org/zh-CN/docs/Web/CSS/object-fit/) | 图片元素适应容器方式,类似于`mode`,可选值:`cover`、 `contain`、 `fill`、 `none` | - | +| [object-position](https://developer.mozilla.org/zh-CN/docs/Web/CSS/object-position) | 图片的对齐方式,配合`object-fit`使用 | - | + +### 图片填充模式 object-fit +| 名称 | 含义 | +| ------- | ------------ | +| contain | 保持宽高缩放图片,使图片的长边能完全显示出来 | +| cover | 保持宽高缩放图片,使图片的短边能完全显示出来,裁剪长边 | +| fill | 拉伸图片,使图片填满元素 | +| none | 保持图片原有尺寸 | + +### 事件 Events + +| 事件名 | 说明 | 回调 | +| ------- | ------------ | -------------- | +| success | 生成图片成功,若使用了`is-canvas-to-temp-filePath` 可以接收图片地址 | path | +| fail | 生成图片失败 | {error: error} | +| done | 绘制成功 | | +| progress | 绘制进度 | number | + +## 常见问题 +- 1、H5端使用网络图片需要解决跨域问题。 +- 2、小程序使用网络图片需要去公众平台增加下载白名单!二级域名也需要配! +- 3、H5端生成图片是base64,有时显示只有一半可以使用原生标签`` +- 4、发生保存图片倾斜变形或提示native buffer exceed size limit时,使用pixel-ratio="2"参数,降分辨率。 +- 5、h5保存图片不需要调接口,提示用户长按图片保存。 +- 6、IOS APP 请勿使用HBX2.9.3.20201014的版本!这个版本无法生成图片。 +- 7、组件不能隐藏,包含`v-if`,`v-show`、`display:none`、`opacity:0` +- 8、微信小程序 canvas 2d不支持真机调试,请使用真机预览方式。 +- 9、华为手机APP上无法生成图片,请使用HBX2.9.11++ +- 10、苹果微信7.0.20存在闪退和图片无法onload为微信bug,请到码云上升级本插件 + +## 打赏 +如果你觉得本插件,解决了你的问题,赠人玫瑰,手留余香。 + +![输入图片说明](https://cdn.jsdelivr.net/gh/liangei/image@latest/222521_bb543f96_518581.jpeg "微信图片编辑_20201122220352.jpg") \ No newline at end of file diff --git a/components/loading-footer/loading-footer.vue b/components/loading-footer/loading-footer.vue new file mode 100644 index 0000000..1fce2af --- /dev/null +++ b/components/loading-footer/loading-footer.vue @@ -0,0 +1,64 @@ + + + + \ No newline at end of file diff --git a/components/loading-view/loading-view.vue b/components/loading-view/loading-view.vue new file mode 100644 index 0000000..509bc00 --- /dev/null +++ b/components/loading-view/loading-view.vue @@ -0,0 +1,52 @@ + + + + \ No newline at end of file diff --git a/components/loading/loading.vue b/components/loading/loading.vue new file mode 100644 index 0000000..5c8a0c6 --- /dev/null +++ b/components/loading/loading.vue @@ -0,0 +1,203 @@ + + + + diff --git a/components/lyg-popup/lyg-popup.vue b/components/lyg-popup/lyg-popup.vue new file mode 100644 index 0000000..5fc6e4b --- /dev/null +++ b/components/lyg-popup/lyg-popup.vue @@ -0,0 +1,188 @@ + + + + + diff --git a/components/mplogin-popup/mplogin-popup.vue b/components/mplogin-popup/mplogin-popup.vue new file mode 100644 index 0000000..c704755 --- /dev/null +++ b/components/mplogin-popup/mplogin-popup.vue @@ -0,0 +1,196 @@ + + + + + diff --git a/components/my-coupons/my-coupons.vue b/components/my-coupons/my-coupons.vue new file mode 100644 index 0000000..21e39ee --- /dev/null +++ b/components/my-coupons/my-coupons.vue @@ -0,0 +1,79 @@ + + + + \ No newline at end of file diff --git a/components/my-lottery/my-lottery.vue b/components/my-lottery/my-lottery.vue new file mode 100644 index 0000000..acacdd0 --- /dev/null +++ b/components/my-lottery/my-lottery.vue @@ -0,0 +1,239 @@ + + + + diff --git a/components/navbar/navbar.vue b/components/navbar/navbar.vue new file mode 100644 index 0000000..f41bdeb --- /dev/null +++ b/components/navbar/navbar.vue @@ -0,0 +1,172 @@ + + + + + diff --git a/components/order-dialog/order-dialog.vue b/components/order-dialog/order-dialog.vue new file mode 100644 index 0000000..757b11c --- /dev/null +++ b/components/order-dialog/order-dialog.vue @@ -0,0 +1,79 @@ + + + + + diff --git a/components/order-goods/order-goods.vue b/components/order-goods/order-goods.vue new file mode 100644 index 0000000..a7a7c41 --- /dev/null +++ b/components/order-goods/order-goods.vue @@ -0,0 +1,218 @@ + + + + diff --git a/components/order-list/order-list.vue b/components/order-list/order-list.vue new file mode 100644 index 0000000..54753fa --- /dev/null +++ b/components/order-list/order-list.vue @@ -0,0 +1,479 @@ +// +---------------------------------------------------------------------- // | +likeshop开源商城系统 // ++---------------------------------------------------------------------- // | +欢迎阅读学习系统程序代码,建议反馈是我们前进的动力 // | +gitee下载:https://gitee.com/likeshop_gitee // | +github下载:https://github.com/likeshop-github // | +访问官网:https://www.likeshop.cn // | 访问社区:https://home.likeshop.cn // | +访问手册:http://doc.likeshop.cn // | 微信公众号:likeshop技术社区 // | +likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识 +// | +likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识 +// | 禁止对系统程序代码以任何目的,任何形式的再发布 // | +likeshop团队版权所有并拥有最终解释权 // ++---------------------------------------------------------------------- // | +author: likeshop.cn.team // ++---------------------------------------------------------------------- + + + + + diff --git a/components/pick-regions/pick-regions.vue b/components/pick-regions/pick-regions.vue new file mode 100644 index 0000000..dcbf676 --- /dev/null +++ b/components/pick-regions/pick-regions.vue @@ -0,0 +1,137 @@ + + + diff --git a/components/pick-regions/regions.json b/components/pick-regions/regions.json new file mode 100644 index 0000000..dff7204 --- /dev/null +++ b/components/pick-regions/regions.json @@ -0,0 +1,21616 @@ +[{ + "value": 110000, + "name": "北京", + "pid": 110000, + "child": [{ + "value": 110100, + "name": "北京市", + "pid": 110000, + "child": [{ + "value": 110101, + "name": "东城区", + "pid": 110100, + "child": [] + }, { + "value": 110102, + "name": "西城区", + "pid": 110100, + "child": [] + }, { + "value": 110105, + "name": "朝阳区", + "pid": 110100, + "child": [] + }, { + "value": 110106, + "name": "丰台区", + "pid": 110100, + "child": [] + }, { + "value": 110107, + "name": "石景山区", + "pid": 110100, + "child": [] + }, { + "value": 110108, + "name": "海淀区", + "pid": 110100, + "child": [] + }, { + "value": 110109, + "name": "门头沟区", + "pid": 110100, + "child": [] + }, { + "value": 110111, + "name": "房山区", + "pid": 110100, + "child": [] + }, { + "value": 110112, + "name": "通州区", + "pid": 110100, + "child": [] + }, { + "value": 110113, + "name": "顺义区", + "pid": 110100, + "child": [] + }, { + "value": 110114, + "name": "昌平区", + "pid": 110100, + "child": [] + }, { + "value": 110115, + "name": "大兴区", + "pid": 110100, + "child": [] + }, { + "value": 110116, + "name": "怀柔区", + "pid": 110100, + "child": [] + }, { + "value": 110117, + "name": "平谷区", + "pid": 110100, + "child": [] + }, { + "value": 110118, + "name": "密云区", + "pid": 110100, + "child": [] + }, { + "value": 110119, + "name": "延庆区", + "pid": 110100, + "child": [] + }, { + "value": 110120, + "name": "中关村科技园区", + "pid": 110100, + "child": [] + }] + }] +}, { + "value": 120000, + "name": "天津", + "pid": 0, + "child": [{ + "value": 120100, + "name": "天津市", + "pid": 120000, + "child": [{ + "value": 120101, + "name": "和平区", + "pid": 120100, + "child": [] + }, { + "value": 120102, + "name": "河东区", + "pid": 120100, + "child": [] + }, { + "value": 120103, + "name": "河西区", + "pid": 120100, + "child": [] + }, { + "value": 120104, + "name": "南开区", + "pid": 120100, + "child": [] + }, { + "value": 120105, + "name": "河北区", + "pid": 120100, + "child": [] + }, { + "value": 120106, + "name": "红桥区", + "pid": 120100, + "child": [] + }, { + "value": 120110, + "name": "东丽区", + "pid": 120100, + "child": [] + }, { + "value": 120111, + "name": "西青区", + "pid": 120100, + "child": [] + }, { + "value": 120112, + "name": "津南区", + "pid": 120100, + "child": [] + }, { + "value": 120113, + "name": "北辰区", + "pid": 120100, + "child": [] + }, { + "value": 120114, + "name": "武清区", + "pid": 120100, + "child": [] + }, { + "value": 120115, + "name": "宝坻区", + "pid": 120100, + "child": [] + }, { + "value": 120116, + "name": "滨海新区", + "pid": 120100, + "child": [] + }, { + "value": 120117, + "name": "宁河区", + "pid": 120100, + "child": [] + }, { + "value": 120118, + "name": "静海区", + "pid": 120100, + "child": [] + }, { + "value": 120119, + "name": "蓟州区", + "pid": 120100, + "child": [] + }, { + "value": 120120, + "name": "滨海高新区", + "pid": 120100, + "child": [] + }] + }] +}, { + "value": 130000, + "name": "河北省", + "pid": 0, + "child": [{ + "value": 130100, + "name": "石家庄市", + "pid": 130000, + "child": [{ + "value": 130102, + "name": "长安区", + "pid": 130100, + "child": [] + }, { + "value": 130104, + "name": "桥西区", + "pid": 130100, + "child": [] + }, { + "value": 130105, + "name": "新华区", + "pid": 130100, + "child": [] + }, { + "value": 130107, + "name": "井陉矿区", + "pid": 130100, + "child": [] + }, { + "value": 130108, + "name": "裕华区", + "pid": 130100, + "child": [] + }, { + "value": 130109, + "name": "藁城区", + "pid": 130100, + "child": [] + }, { + "value": 130110, + "name": "鹿泉区", + "pid": 130100, + "child": [] + }, { + "value": 130111, + "name": "栾城区", + "pid": 130100, + "child": [] + }, { + "value": 130121, + "name": "井陉县", + "pid": 130100, + "child": [] + }, { + "value": 130123, + "name": "正定县", + "pid": 130100, + "child": [] + }, { + "value": 130125, + "name": "行唐县", + "pid": 130100, + "child": [] + }, { + "value": 130126, + "name": "灵寿县", + "pid": 130100, + "child": [] + }, { + "value": 130127, + "name": "高邑县", + "pid": 130100, + "child": [] + }, { + "value": 130128, + "name": "深泽县", + "pid": 130100, + "child": [] + }, { + "value": 130129, + "name": "赞皇县", + "pid": 130100, + "child": [] + }, { + "value": 130130, + "name": "无极县", + "pid": 130100, + "child": [] + }, { + "value": 130131, + "name": "平山县", + "pid": 130100, + "child": [] + }, { + "value": 130132, + "name": "元氏县", + "pid": 130100, + "child": [] + }, { + "value": 130133, + "name": "赵县", + "pid": 130100, + "child": [] + }, { + "value": 130181, + "name": "辛集市", + "pid": 130100, + "child": [] + }, { + "value": 130183, + "name": "晋州市", + "pid": 130100, + "child": [] + }, { + "value": 130184, + "name": "新乐市", + "pid": 130100, + "child": [] + }, { + "value": 130185, + "name": "高新区", + "pid": 130100, + "child": [] + }, { + "value": 130186, + "name": "经济开发区", + "pid": 130100, + "child": [] + }, { + "value": 130187, + "name": "循环化工园区", + "pid": 130100, + "child": [] + }] + }, { + "value": 130200, + "name": "唐山市", + "pid": 130000, + "child": [{ + "value": 130202, + "name": "路南区", + "pid": 130200, + "child": [] + }, { + "value": 130203, + "name": "路北区", + "pid": 130200, + "child": [] + }, { + "value": 130204, + "name": "古冶区", + "pid": 130200, + "child": [] + }, { + "value": 130205, + "name": "开平区", + "pid": 130200, + "child": [] + }, { + "value": 130207, + "name": "丰南区", + "pid": 130200, + "child": [] + }, { + "value": 130208, + "name": "丰润区", + "pid": 130200, + "child": [] + }, { + "value": 130209, + "name": "曹妃甸区", + "pid": 130200, + "child": [] + }, { + "value": 130224, + "name": "滦南县", + "pid": 130200, + "child": [] + }, { + "value": 130225, + "name": "乐亭县", + "pid": 130200, + "child": [] + }, { + "value": 130227, + "name": "迁西县", + "pid": 130200, + "child": [] + }, { + "value": 130229, + "name": "玉田县", + "pid": 130200, + "child": [] + }, { + "value": 130281, + "name": "遵化市", + "pid": 130200, + "child": [] + }, { + "value": 130283, + "name": "迁安市", + "pid": 130200, + "child": [] + }, { + "value": 130284, + "name": "滦州市", + "pid": 130200, + "child": [] + }, { + "value": 130291, + "name": "高新区", + "pid": 130200, + "child": [] + }, { + "value": 130292, + "name": "芦台开发区", + "pid": 130200, + "child": [] + }, { + "value": 130293, + "name": "海港经济开发区", + "pid": 130200, + "child": [] + }, { + "value": 130294, + "name": "汉沽管理区", + "pid": 130200, + "child": [] + }] + }, { + "value": 130300, + "name": "秦皇岛市", + "pid": 130000, + "child": [{ + "value": 130302, + "name": "海港区", + "pid": 130300, + "child": [] + }, { + "value": 130303, + "name": "山海关区", + "pid": 130300, + "child": [] + }, { + "value": 130304, + "name": "北戴河区", + "pid": 130300, + "child": [] + }, { + "value": 130306, + "name": "抚宁区", + "pid": 130300, + "child": [] + }, { + "value": 130321, + "name": "青龙满族自治县", + "pid": 130300, + "child": [] + }, { + "value": 130322, + "name": "昌黎县", + "pid": 130300, + "child": [] + }, { + "value": 130324, + "name": "卢龙县", + "pid": 130300, + "child": [] + }, { + "value": 130371, + "name": "经济技术开发区", + "pid": 130300, + "child": [] + }, { + "value": 130372, + "name": "北戴河新区", + "pid": 130300, + "child": [] + }] + }, { + "value": 130400, + "name": "邯郸市", + "pid": 130000, + "child": [{ + "value": 130402, + "name": "邯山区", + "pid": 130400, + "child": [] + }, { + "value": 130403, + "name": "丛台区", + "pid": 130400, + "child": [] + }, { + "value": 130404, + "name": "复兴区", + "pid": 130400, + "child": [] + }, { + "value": 130406, + "name": "峰峰矿区", + "pid": 130400, + "child": [] + }, { + "value": 130407, + "name": "肥乡区", + "pid": 130400, + "child": [] + }, { + "value": 130408, + "name": "永年区", + "pid": 130400, + "child": [] + }, { + "value": 130423, + "name": "临漳县", + "pid": 130400, + "child": [] + }, { + "value": 130424, + "name": "成安县", + "pid": 130400, + "child": [] + }, { + "value": 130425, + "name": "大名县", + "pid": 130400, + "child": [] + }, { + "value": 130426, + "name": "涉县", + "pid": 130400, + "child": [] + }, { + "value": 130427, + "name": "磁县", + "pid": 130400, + "child": [] + }, { + "value": 130430, + "name": "邱县", + "pid": 130400, + "child": [] + }, { + "value": 130431, + "name": "鸡泽县", + "pid": 130400, + "child": [] + }, { + "value": 130432, + "name": "广平县", + "pid": 130400, + "child": [] + }, { + "value": 130433, + "name": "馆陶县", + "pid": 130400, + "child": [] + }, { + "value": 130434, + "name": "魏县", + "pid": 130400, + "child": [] + }, { + "value": 130435, + "name": "曲周县", + "pid": 130400, + "child": [] + }, { + "value": 130481, + "name": "武安市", + "pid": 130400, + "child": [] + }, { + "value": 130482, + "name": "冀南新区", + "pid": 130400, + "child": [] + }, { + "value": 130483, + "name": "高新技术产业开发区", + "pid": 130400, + "child": [] + }] + }, { + "value": 130500, + "name": "邢台市", + "pid": 130000, + "child": [{ + "value": 130502, + "name": "桥东区", + "pid": 130500, + "child": [] + }, { + "value": 130503, + "name": "桥西区", + "pid": 130500, + "child": [] + }, { + "value": 130521, + "name": "邢台县", + "pid": 130500, + "child": [] + }, { + "value": 130522, + "name": "临城县", + "pid": 130500, + "child": [] + }, { + "value": 130523, + "name": "内丘县", + "pid": 130500, + "child": [] + }, { + "value": 130524, + "name": "柏乡县", + "pid": 130500, + "child": [] + }, { + "value": 130525, + "name": "隆尧县", + "pid": 130500, + "child": [] + }, { + "value": 130526, + "name": "任县", + "pid": 130500, + "child": [] + }, { + "value": 130527, + "name": "南和县", + "pid": 130500, + "child": [] + }, { + "value": 130528, + "name": "宁晋县", + "pid": 130500, + "child": [] + }, { + "value": 130529, + "name": "巨鹿县", + "pid": 130500, + "child": [] + }, { + "value": 130530, + "name": "新河县", + "pid": 130500, + "child": [] + }, { + "value": 130531, + "name": "广宗县", + "pid": 130500, + "child": [] + }, { + "value": 130532, + "name": "平乡县", + "pid": 130500, + "child": [] + }, { + "value": 130533, + "name": "威县", + "pid": 130500, + "child": [] + }, { + "value": 130534, + "name": "清河县", + "pid": 130500, + "child": [] + }, { + "value": 130535, + "name": "临西县", + "pid": 130500, + "child": [] + }, { + "value": 130581, + "name": "南宫市", + "pid": 130500, + "child": [] + }, { + "value": 130582, + "name": "沙河市", + "pid": 130500, + "child": [] + }, { + "value": 130583, + "name": "经济开发区", + "pid": 130500, + "child": [] + }] + }, { + "value": 130600, + "name": "保定市", + "pid": 130000, + "child": [{ + "value": 130602, + "name": "竞秀区", + "pid": 130600, + "child": [] + }, { + "value": 130606, + "name": "莲池区", + "pid": 130600, + "child": [] + }, { + "value": 130607, + "name": "满城区", + "pid": 130600, + "child": [] + }, { + "value": 130608, + "name": "清苑区", + "pid": 130600, + "child": [] + }, { + "value": 130609, + "name": "徐水区", + "pid": 130600, + "child": [] + }, { + "value": 130623, + "name": "涞水县", + "pid": 130600, + "child": [] + }, { + "value": 130624, + "name": "阜平县", + "pid": 130600, + "child": [] + }, { + "value": 130626, + "name": "定兴县", + "pid": 130600, + "child": [] + }, { + "value": 130627, + "name": "唐县", + "pid": 130600, + "child": [] + }, { + "value": 130628, + "name": "高阳县", + "pid": 130600, + "child": [] + }, { + "value": 130629, + "name": "容城县", + "pid": 130600, + "child": [] + }, { + "value": 130630, + "name": "涞源县", + "pid": 130600, + "child": [] + }, { + "value": 130631, + "name": "望都县", + "pid": 130600, + "child": [] + }, { + "value": 130632, + "name": "安新县", + "pid": 130600, + "child": [] + }, { + "value": 130633, + "name": "易县", + "pid": 130600, + "child": [] + }, { + "value": 130634, + "name": "曲阳县", + "pid": 130600, + "child": [] + }, { + "value": 130635, + "name": "蠡县", + "pid": 130600, + "child": [] + }, { + "value": 130636, + "name": "顺平县", + "pid": 130600, + "child": [] + }, { + "value": 130637, + "name": "博野县", + "pid": 130600, + "child": [] + }, { + "value": 130638, + "name": "雄县", + "pid": 130600, + "child": [] + }, { + "value": 130681, + "name": "涿州市", + "pid": 130600, + "child": [] + }, { + "value": 130682, + "name": "定州市", + "pid": 130600, + "child": [] + }, { + "value": 130683, + "name": "安国市", + "pid": 130600, + "child": [] + }, { + "value": 130684, + "name": "高碑店市", + "pid": 130600, + "child": [] + }, { + "value": 130685, + "name": "雄安新区", + "pid": 130600, + "child": [] + }, { + "value": 130686, + "name": "高新区", + "pid": 130600, + "child": [] + }, { + "value": 130687, + "name": "白沟新城", + "pid": 130600, + "child": [] + }] + }, { + "value": 130700, + "name": "张家口市", + "pid": 130000, + "child": [{ + "value": 130702, + "name": "桥东区", + "pid": 130700, + "child": [] + }, { + "value": 130703, + "name": "桥西区", + "pid": 130700, + "child": [] + }, { + "value": 130705, + "name": "宣化区", + "pid": 130700, + "child": [] + }, { + "value": 130706, + "name": "下花园区", + "pid": 130700, + "child": [] + }, { + "value": 130708, + "name": "万全区", + "pid": 130700, + "child": [] + }, { + "value": 130709, + "name": "崇礼区", + "pid": 130700, + "child": [] + }, { + "value": 130722, + "name": "张北县", + "pid": 130700, + "child": [] + }, { + "value": 130723, + "name": "康保县", + "pid": 130700, + "child": [] + }, { + "value": 130724, + "name": "沽源县", + "pid": 130700, + "child": [] + }, { + "value": 130725, + "name": "尚义县", + "pid": 130700, + "child": [] + }, { + "value": 130726, + "name": "蔚县", + "pid": 130700, + "child": [] + }, { + "value": 130727, + "name": "阳原县", + "pid": 130700, + "child": [] + }, { + "value": 130728, + "name": "怀安县", + "pid": 130700, + "child": [] + }, { + "value": 130730, + "name": "怀来县", + "pid": 130700, + "child": [] + }, { + "value": 130731, + "name": "涿鹿县", + "pid": 130700, + "child": [] + }, { + "value": 130732, + "name": "赤城县", + "pid": 130700, + "child": [] + }, { + "value": 130771, + "name": "高新区", + "pid": 130700, + "child": [] + }, { + "value": 130772, + "name": "察北管理区", + "pid": 130700, + "child": [] + }, { + "value": 130773, + "name": "塞北管理区", + "pid": 130700, + "child": [] + }] + }, { + "value": 130800, + "name": "承德市", + "pid": 130000, + "child": [{ + "value": 130802, + "name": "双桥区", + "pid": 130800, + "child": [] + }, { + "value": 130803, + "name": "双滦区", + "pid": 130800, + "child": [] + }, { + "value": 130804, + "name": "鹰手营子矿区", + "pid": 130800, + "child": [] + }, { + "value": 130821, + "name": "承德县", + "pid": 130800, + "child": [] + }, { + "value": 130822, + "name": "兴隆县", + "pid": 130800, + "child": [] + }, { + "value": 130824, + "name": "滦平县", + "pid": 130800, + "child": [] + }, { + "value": 130825, + "name": "隆化县", + "pid": 130800, + "child": [] + }, { + "value": 130826, + "name": "丰宁满族自治县", + "pid": 130800, + "child": [] + }, { + "value": 130827, + "name": "宽城满族自治县", + "pid": 130800, + "child": [] + }, { + "value": 130828, + "name": "围场满族蒙古族自治县", + "pid": 130800, + "child": [] + }, { + "value": 130881, + "name": "平泉市", + "pid": 130800, + "child": [] + }, { + "value": 130882, + "name": "高新区", + "pid": 130800, + "child": [] + }] + }, { + "value": 130900, + "name": "沧州市", + "pid": 130000, + "child": [{ + "value": 130902, + "name": "新华区", + "pid": 130900, + "child": [] + }, { + "value": 130903, + "name": "运河区", + "pid": 130900, + "child": [] + }, { + "value": 130921, + "name": "沧县", + "pid": 130900, + "child": [] + }, { + "value": 130922, + "name": "青县", + "pid": 130900, + "child": [] + }, { + "value": 130923, + "name": "东光县", + "pid": 130900, + "child": [] + }, { + "value": 130924, + "name": "海兴县", + "pid": 130900, + "child": [] + }, { + "value": 130925, + "name": "盐山县", + "pid": 130900, + "child": [] + }, { + "value": 130926, + "name": "肃宁县", + "pid": 130900, + "child": [] + }, { + "value": 130927, + "name": "南皮县", + "pid": 130900, + "child": [] + }, { + "value": 130928, + "name": "吴桥县", + "pid": 130900, + "child": [] + }, { + "value": 130929, + "name": "献县", + "pid": 130900, + "child": [] + }, { + "value": 130930, + "name": "孟村回族自治县", + "pid": 130900, + "child": [] + }, { + "value": 130981, + "name": "泊头市", + "pid": 130900, + "child": [] + }, { + "value": 130982, + "name": "任丘市", + "pid": 130900, + "child": [] + }, { + "value": 130983, + "name": "黄骅市", + "pid": 130900, + "child": [] + }, { + "value": 130984, + "name": "河间市", + "pid": 130900, + "child": [] + }, { + "value": 130985, + "name": "渤海新区", + "pid": 130900, + "child": [] + }, { + "value": 130986, + "name": "高新区", + "pid": 130900, + "child": [] + }, { + "value": 130987, + "name": "临港开发区", + "pid": 130900, + "child": [] + }] + }, { + "value": 131000, + "name": "廊坊市", + "pid": 130000, + "child": [{ + "value": 131002, + "name": "安次区", + "pid": 131000, + "child": [] + }, { + "value": 131003, + "name": "广阳区", + "pid": 131000, + "child": [] + }, { + "value": 131022, + "name": "固安县", + "pid": 131000, + "child": [] + }, { + "value": 131023, + "name": "永清县", + "pid": 131000, + "child": [] + }, { + "value": 131024, + "name": "香河县", + "pid": 131000, + "child": [] + }, { + "value": 131025, + "name": "大城县", + "pid": 131000, + "child": [] + }, { + "value": 131026, + "name": "文安县", + "pid": 131000, + "child": [] + }, { + "value": 131028, + "name": "大厂回族自治县", + "pid": 131000, + "child": [] + }, { + "value": 131081, + "name": "霸州市", + "pid": 131000, + "child": [] + }, { + "value": 131082, + "name": "三河市", + "pid": 131000, + "child": [] + }, { + "value": 131083, + "name": "经济技术开发区", + "pid": 131000, + "child": [] + }] + }, { + "value": 131100, + "name": "衡水市", + "pid": 130000, + "child": [{ + "value": 131102, + "name": "桃城区", + "pid": 131100, + "child": [] + }, { + "value": 131103, + "name": "冀州区", + "pid": 131100, + "child": [] + }, { + "value": 131121, + "name": "枣强县", + "pid": 131100, + "child": [] + }, { + "value": 131122, + "name": "武邑县", + "pid": 131100, + "child": [] + }, { + "value": 131123, + "name": "武强县", + "pid": 131100, + "child": [] + }, { + "value": 131124, + "name": "饶阳县", + "pid": 131100, + "child": [] + }, { + "value": 131125, + "name": "安平县", + "pid": 131100, + "child": [] + }, { + "value": 131126, + "name": "故城县", + "pid": 131100, + "child": [] + }, { + "value": 131127, + "name": "景县", + "pid": 131100, + "child": [] + }, { + "value": 131128, + "name": "阜城县", + "pid": 131100, + "child": [] + }, { + "value": 131182, + "name": "深州市", + "pid": 131100, + "child": [] + }, { + "value": 131183, + "name": "经济开发区", + "pid": 131100, + "child": [] + }, { + "value": 131184, + "name": "滨湖新区", + "pid": 131100, + "child": [] + }] + }] +}, { + "value": 140000, + "name": "山西省", + "pid": 0, + "child": [{ + "value": 140100, + "name": "太原市", + "pid": 140000, + "child": [{ + "value": 140105, + "name": "小店区", + "pid": 140100, + "child": [] + }, { + "value": 140106, + "name": "迎泽区", + "pid": 140100, + "child": [] + }, { + "value": 140107, + "name": "杏花岭区", + "pid": 140100, + "child": [] + }, { + "value": 140108, + "name": "尖草坪区", + "pid": 140100, + "child": [] + }, { + "value": 140109, + "name": "万柏林区", + "pid": 140100, + "child": [] + }, { + "value": 140110, + "name": "晋源区", + "pid": 140100, + "child": [] + }, { + "value": 140121, + "name": "清徐县", + "pid": 140100, + "child": [] + }, { + "value": 140122, + "name": "阳曲县", + "pid": 140100, + "child": [] + }, { + "value": 140123, + "name": "娄烦县", + "pid": 140100, + "child": [] + }, { + "value": 140181, + "name": "古交市", + "pid": 140100, + "child": [] + }, { + "value": 140182, + "name": "高新阳曲园区", + "pid": 140100, + "child": [] + }, { + "value": 140183, + "name": "高新汾东园区", + "pid": 140100, + "child": [] + }, { + "value": 140184, + "name": "高新姚村园区", + "pid": 140100, + "child": [] + }] + }, { + "value": 140200, + "name": "大同市", + "pid": 140000, + "child": [{ + "value": 140212, + "name": "新荣区", + "pid": 140200, + "child": [] + }, { + "value": 140213, + "name": "平城区", + "pid": 140200, + "child": [] + }, { + "value": 140214, + "name": "云冈区", + "pid": 140200, + "child": [] + }, { + "value": 140215, + "name": "云州区", + "pid": 140200, + "child": [] + }, { + "value": 140221, + "name": "阳高县", + "pid": 140200, + "child": [] + }, { + "value": 140222, + "name": "天镇县", + "pid": 140200, + "child": [] + }, { + "value": 140223, + "name": "广灵县", + "pid": 140200, + "child": [] + }, { + "value": 140224, + "name": "灵丘县", + "pid": 140200, + "child": [] + }, { + "value": 140225, + "name": "浑源县", + "pid": 140200, + "child": [] + }, { + "value": 140226, + "name": "左云县", + "pid": 140200, + "child": [] + }, { + "value": 140228, + "name": "经济开发区", + "pid": 140200, + "child": [] + }] + }, { + "value": 140300, + "name": "阳泉市", + "pid": 140000, + "child": [{ + "value": 140302, + "name": "城区", + "pid": 140300, + "child": [] + }, { + "value": 140303, + "name": "矿区", + "pid": 140300, + "child": [] + }, { + "value": 140311, + "name": "郊区", + "pid": 140300, + "child": [] + }, { + "value": 140321, + "name": "平定县", + "pid": 140300, + "child": [] + }, { + "value": 140322, + "name": "盂县", + "pid": 140300, + "child": [] + }] + }, { + "value": 140400, + "name": "长治市", + "pid": 140000, + "child": [{ + "value": 140403, + "name": "潞州区", + "pid": 140400, + "child": [] + }, { + "value": 140404, + "name": "上党区", + "pid": 140400, + "child": [] + }, { + "value": 140405, + "name": "屯留区", + "pid": 140400, + "child": [] + }, { + "value": 140406, + "name": "潞城区", + "pid": 140400, + "child": [] + }, { + "value": 140423, + "name": "襄垣县", + "pid": 140400, + "child": [] + }, { + "value": 140425, + "name": "平顺县", + "pid": 140400, + "child": [] + }, { + "value": 140426, + "name": "黎城县", + "pid": 140400, + "child": [] + }, { + "value": 140427, + "name": "壶关县", + "pid": 140400, + "child": [] + }, { + "value": 140428, + "name": "长子县", + "pid": 140400, + "child": [] + }, { + "value": 140429, + "name": "武乡县", + "pid": 140400, + "child": [] + }, { + "value": 140430, + "name": "沁县", + "pid": 140400, + "child": [] + }, { + "value": 140431, + "name": "沁源县", + "pid": 140400, + "child": [] + }] + }, { + "value": 140500, + "name": "晋城市", + "pid": 140000, + "child": [{ + "value": 140502, + "name": "城区", + "pid": 140500, + "child": [] + }, { + "value": 140521, + "name": "沁水县", + "pid": 140500, + "child": [] + }, { + "value": 140522, + "name": "阳城县", + "pid": 140500, + "child": [] + }, { + "value": 140524, + "name": "陵川县", + "pid": 140500, + "child": [] + }, { + "value": 140525, + "name": "泽州县", + "pid": 140500, + "child": [] + }, { + "value": 140581, + "name": "高平市", + "pid": 140500, + "child": [] + }, { + "value": 140582, + "name": "经济开发区", + "pid": 140500, + "child": [] + }] + }, { + "value": 140600, + "name": "朔州市", + "pid": 140000, + "child": [{ + "value": 140602, + "name": "朔城区", + "pid": 140600, + "child": [] + }, { + "value": 140603, + "name": "平鲁区", + "pid": 140600, + "child": [] + }, { + "value": 140621, + "name": "山阴县", + "pid": 140600, + "child": [] + }, { + "value": 140622, + "name": "应县", + "pid": 140600, + "child": [] + }, { + "value": 140623, + "name": "右玉县", + "pid": 140600, + "child": [] + }, { + "value": 140681, + "name": "怀仁市", + "pid": 140600, + "child": [] + }] + }, { + "value": 140700, + "name": "晋中市", + "pid": 140000, + "child": [{ + "value": 140702, + "name": "榆次区", + "pid": 140700, + "child": [] + }, { + "value": 140721, + "name": "榆社县", + "pid": 140700, + "child": [] + }, { + "value": 140722, + "name": "左权县", + "pid": 140700, + "child": [] + }, { + "value": 140723, + "name": "和顺县", + "pid": 140700, + "child": [] + }, { + "value": 140724, + "name": "昔阳县", + "pid": 140700, + "child": [] + }, { + "value": 140725, + "name": "寿阳县", + "pid": 140700, + "child": [] + }, { + "value": 140726, + "name": "太谷县", + "pid": 140700, + "child": [] + }, { + "value": 140727, + "name": "祁县", + "pid": 140700, + "child": [] + }, { + "value": 140728, + "name": "平遥县", + "pid": 140700, + "child": [] + }, { + "value": 140729, + "name": "灵石县", + "pid": 140700, + "child": [] + }, { + "value": 140781, + "name": "介休市", + "pid": 140700, + "child": [] + }] + }, { + "value": 140800, + "name": "运城市", + "pid": 140000, + "child": [{ + "value": 140802, + "name": "盐湖区", + "pid": 140800, + "child": [] + }, { + "value": 140821, + "name": "临猗县", + "pid": 140800, + "child": [] + }, { + "value": 140822, + "name": "万荣县", + "pid": 140800, + "child": [] + }, { + "value": 140823, + "name": "闻喜县", + "pid": 140800, + "child": [] + }, { + "value": 140824, + "name": "稷山县", + "pid": 140800, + "child": [] + }, { + "value": 140825, + "name": "新绛县", + "pid": 140800, + "child": [] + }, { + "value": 140826, + "name": "绛县", + "pid": 140800, + "child": [] + }, { + "value": 140827, + "name": "垣曲县", + "pid": 140800, + "child": [] + }, { + "value": 140828, + "name": "夏县", + "pid": 140800, + "child": [] + }, { + "value": 140829, + "name": "平陆县", + "pid": 140800, + "child": [] + }, { + "value": 140830, + "name": "芮城县", + "pid": 140800, + "child": [] + }, { + "value": 140881, + "name": "永济市", + "pid": 140800, + "child": [] + }, { + "value": 140882, + "name": "河津市", + "pid": 140800, + "child": [] + }] + }, { + "value": 140900, + "name": "忻州市", + "pid": 140000, + "child": [{ + "value": 140902, + "name": "忻府区", + "pid": 140900, + "child": [] + }, { + "value": 140921, + "name": "定襄县", + "pid": 140900, + "child": [] + }, { + "value": 140922, + "name": "五台县", + "pid": 140900, + "child": [] + }, { + "value": 140923, + "name": "代县", + "pid": 140900, + "child": [] + }, { + "value": 140924, + "name": "繁峙县", + "pid": 140900, + "child": [] + }, { + "value": 140925, + "name": "宁武县", + "pid": 140900, + "child": [] + }, { + "value": 140926, + "name": "静乐县", + "pid": 140900, + "child": [] + }, { + "value": 140927, + "name": "神池县", + "pid": 140900, + "child": [] + }, { + "value": 140928, + "name": "五寨县", + "pid": 140900, + "child": [] + }, { + "value": 140929, + "name": "岢岚县", + "pid": 140900, + "child": [] + }, { + "value": 140930, + "name": "河曲县", + "pid": 140900, + "child": [] + }, { + "value": 140931, + "name": "保德县", + "pid": 140900, + "child": [] + }, { + "value": 140932, + "name": "偏关县", + "pid": 140900, + "child": [] + }, { + "value": 140981, + "name": "原平市", + "pid": 140900, + "child": [] + }] + }, { + "value": 141000, + "name": "临汾市", + "pid": 140000, + "child": [{ + "value": 141002, + "name": "尧都区", + "pid": 141000, + "child": [] + }, { + "value": 141021, + "name": "曲沃县", + "pid": 141000, + "child": [] + }, { + "value": 141022, + "name": "翼城县", + "pid": 141000, + "child": [] + }, { + "value": 141023, + "name": "襄汾县", + "pid": 141000, + "child": [] + }, { + "value": 141024, + "name": "洪洞县", + "pid": 141000, + "child": [] + }, { + "value": 141025, + "name": "古县", + "pid": 141000, + "child": [] + }, { + "value": 141026, + "name": "安泽县", + "pid": 141000, + "child": [] + }, { + "value": 141027, + "name": "浮山县", + "pid": 141000, + "child": [] + }, { + "value": 141028, + "name": "吉县", + "pid": 141000, + "child": [] + }, { + "value": 141029, + "name": "乡宁县", + "pid": 141000, + "child": [] + }, { + "value": 141030, + "name": "大宁县", + "pid": 141000, + "child": [] + }, { + "value": 141031, + "name": "隰县", + "pid": 141000, + "child": [] + }, { + "value": 141032, + "name": "永和县", + "pid": 141000, + "child": [] + }, { + "value": 141033, + "name": "蒲县", + "pid": 141000, + "child": [] + }, { + "value": 141034, + "name": "汾西县", + "pid": 141000, + "child": [] + }, { + "value": 141081, + "name": "侯马市", + "pid": 141000, + "child": [] + }, { + "value": 141082, + "name": "霍州市", + "pid": 141000, + "child": [] + }] + }, { + "value": 141100, + "name": "吕梁市", + "pid": 140000, + "child": [{ + "value": 141102, + "name": "离石区", + "pid": 141100, + "child": [] + }, { + "value": 141121, + "name": "文水县", + "pid": 141100, + "child": [] + }, { + "value": 141122, + "name": "交城县", + "pid": 141100, + "child": [] + }, { + "value": 141123, + "name": "兴县", + "pid": 141100, + "child": [] + }, { + "value": 141124, + "name": "临县", + "pid": 141100, + "child": [] + }, { + "value": 141125, + "name": "柳林县", + "pid": 141100, + "child": [] + }, { + "value": 141126, + "name": "石楼县", + "pid": 141100, + "child": [] + }, { + "value": 141127, + "name": "岚县", + "pid": 141100, + "child": [] + }, { + "value": 141128, + "name": "方山县", + "pid": 141100, + "child": [] + }, { + "value": 141129, + "name": "中阳县", + "pid": 141100, + "child": [] + }, { + "value": 141130, + "name": "交口县", + "pid": 141100, + "child": [] + }, { + "value": 141181, + "name": "孝义市", + "pid": 141100, + "child": [] + }, { + "value": 141182, + "name": "汾阳市", + "pid": 141100, + "child": [] + }] + }] +}, { + "value": 150000, + "name": "内蒙古自治区", + "pid": 0, + "child": [{ + "value": 150100, + "name": "呼和浩特市", + "pid": 150000, + "child": [{ + "value": 150102, + "name": "新城区", + "pid": 150100, + "child": [] + }, { + "value": 150103, + "name": "回民区", + "pid": 150100, + "child": [] + }, { + "value": 150104, + "name": "玉泉区", + "pid": 150100, + "child": [] + }, { + "value": 150105, + "name": "赛罕区", + "pid": 150100, + "child": [] + }, { + "value": 150121, + "name": "土默特左旗", + "pid": 150100, + "child": [] + }, { + "value": 150122, + "name": "托克托县", + "pid": 150100, + "child": [] + }, { + "value": 150123, + "name": "和林格尔县", + "pid": 150100, + "child": [] + }, { + "value": 150124, + "name": "清水河县", + "pid": 150100, + "child": [] + }, { + "value": 150125, + "name": "武川县", + "pid": 150100, + "child": [] + }, { + "value": 150171, + "name": "金海工业园区", + "pid": 150100, + "child": [] + }, { + "value": 150172, + "name": "经济技术开发区", + "pid": 150100, + "child": [] + }] + }, { + "value": 150200, + "name": "包头市", + "pid": 150000, + "child": [{ + "value": 150202, + "name": "东河区", + "pid": 150200, + "child": [] + }, { + "value": 150203, + "name": "昆都仑区", + "pid": 150200, + "child": [] + }, { + "value": 150204, + "name": "青山区", + "pid": 150200, + "child": [] + }, { + "value": 150205, + "name": "石拐区", + "pid": 150200, + "child": [] + }, { + "value": 150206, + "name": "白云鄂博矿区", + "pid": 150200, + "child": [] + }, { + "value": 150207, + "name": "九原区", + "pid": 150200, + "child": [] + }, { + "value": 150221, + "name": "土默特右旗", + "pid": 150200, + "child": [] + }, { + "value": 150222, + "name": "固阳县", + "pid": 150200, + "child": [] + }, { + "value": 150223, + "name": "达尔罕茂明安联合旗", + "pid": 150200, + "child": [] + }] + }, { + "value": 150300, + "name": "乌海市", + "pid": 150000, + "child": [{ + "value": 150302, + "name": "海勃湾区", + "pid": 150300, + "child": [] + }, { + "value": 150303, + "name": "海南区", + "pid": 150300, + "child": [] + }, { + "value": 150304, + "name": "乌达区", + "pid": 150300, + "child": [] + }] + }, { + "value": 150400, + "name": "赤峰市", + "pid": 150000, + "child": [{ + "value": 150402, + "name": "红山区", + "pid": 150400, + "child": [] + }, { + "value": 150403, + "name": "元宝山区", + "pid": 150400, + "child": [] + }, { + "value": 150404, + "name": "松山区", + "pid": 150400, + "child": [] + }, { + "value": 150421, + "name": "阿鲁科尔沁旗", + "pid": 150400, + "child": [] + }, { + "value": 150422, + "name": "巴林左旗", + "pid": 150400, + "child": [] + }, { + "value": 150423, + "name": "巴林右旗", + "pid": 150400, + "child": [] + }, { + "value": 150424, + "name": "林西县", + "pid": 150400, + "child": [] + }, { + "value": 150425, + "name": "克什克腾旗", + "pid": 150400, + "child": [] + }, { + "value": 150426, + "name": "翁牛特旗", + "pid": 150400, + "child": [] + }, { + "value": 150428, + "name": "喀喇沁旗", + "pid": 150400, + "child": [] + }, { + "value": 150429, + "name": "宁城县", + "pid": 150400, + "child": [] + }, { + "value": 150430, + "name": "敖汉旗", + "pid": 150400, + "child": [] + }] + }, { + "value": 150500, + "name": "通辽市", + "pid": 150000, + "child": [{ + "value": 150502, + "name": "科尔沁区", + "pid": 150500, + "child": [] + }, { + "value": 150521, + "name": "科尔沁左翼中旗", + "pid": 150500, + "child": [] + }, { + "value": 150522, + "name": "科尔沁左翼后旗", + "pid": 150500, + "child": [] + }, { + "value": 150523, + "name": "开鲁县", + "pid": 150500, + "child": [] + }, { + "value": 150524, + "name": "库伦旗", + "pid": 150500, + "child": [] + }, { + "value": 150525, + "name": "奈曼旗", + "pid": 150500, + "child": [] + }, { + "value": 150526, + "name": "扎鲁特旗", + "pid": 150500, + "child": [] + }, { + "value": 150581, + "name": "霍林郭勒市", + "pid": 150500, + "child": [] + }] + }, { + "value": 150600, + "name": "鄂尔多斯市", + "pid": 150000, + "child": [{ + "value": 150602, + "name": "东胜区", + "pid": 150600, + "child": [] + }, { + "value": 150603, + "name": "康巴什区", + "pid": 150600, + "child": [] + }, { + "value": 150621, + "name": "达拉特旗", + "pid": 150600, + "child": [] + }, { + "value": 150622, + "name": "准格尔旗", + "pid": 150600, + "child": [] + }, { + "value": 150623, + "name": "鄂托克前旗", + "pid": 150600, + "child": [] + }, { + "value": 150624, + "name": "鄂托克旗", + "pid": 150600, + "child": [] + }, { + "value": 150625, + "name": "杭锦旗", + "pid": 150600, + "child": [] + }, { + "value": 150626, + "name": "乌审旗", + "pid": 150600, + "child": [] + }, { + "value": 150627, + "name": "伊金霍洛旗", + "pid": 150600, + "child": [] + }] + }, { + "value": 150700, + "name": "呼伦贝尔市", + "pid": 150000, + "child": [{ + "value": 150702, + "name": "海拉尔区", + "pid": 150700, + "child": [] + }, { + "value": 150703, + "name": "扎赉诺尔区", + "pid": 150700, + "child": [] + }, { + "value": 150721, + "name": "阿荣旗", + "pid": 150700, + "child": [] + }, { + "value": 150722, + "name": "莫力达瓦达斡尔族自治旗", + "pid": 150700, + "child": [] + }, { + "value": 150723, + "name": "鄂伦春自治旗", + "pid": 150700, + "child": [] + }, { + "value": 150724, + "name": "鄂温克族自治旗", + "pid": 150700, + "child": [] + }, { + "value": 150725, + "name": "陈巴尔虎旗", + "pid": 150700, + "child": [] + }, { + "value": 150726, + "name": "新巴尔虎左旗", + "pid": 150700, + "child": [] + }, { + "value": 150727, + "name": "新巴尔虎右旗", + "pid": 150700, + "child": [] + }, { + "value": 150781, + "name": "满洲里市", + "pid": 150700, + "child": [] + }, { + "value": 150782, + "name": "牙克石市", + "pid": 150700, + "child": [] + }, { + "value": 150783, + "name": "扎兰屯市", + "pid": 150700, + "child": [] + }, { + "value": 150784, + "name": "额尔古纳市", + "pid": 150700, + "child": [] + }, { + "value": 150785, + "name": "根河市", + "pid": 150700, + "child": [] + }] + }, { + "value": 150800, + "name": "巴彦淖尔市", + "pid": 150000, + "child": [{ + "value": 150802, + "name": "临河区", + "pid": 150800, + "child": [] + }, { + "value": 150821, + "name": "五原县", + "pid": 150800, + "child": [] + }, { + "value": 150822, + "name": "磴口县", + "pid": 150800, + "child": [] + }, { + "value": 150823, + "name": "乌拉特前旗", + "pid": 150800, + "child": [] + }, { + "value": 150824, + "name": "乌拉特中旗", + "pid": 150800, + "child": [] + }, { + "value": 150825, + "name": "乌拉特后旗", + "pid": 150800, + "child": [] + }, { + "value": 150826, + "name": "杭锦后旗", + "pid": 150800, + "child": [] + }] + }, { + "value": 150900, + "name": "乌兰察布市", + "pid": 150000, + "child": [{ + "value": 150902, + "name": "集宁区", + "pid": 150900, + "child": [] + }, { + "value": 150921, + "name": "卓资县", + "pid": 150900, + "child": [] + }, { + "value": 150922, + "name": "化德县", + "pid": 150900, + "child": [] + }, { + "value": 150923, + "name": "商都县", + "pid": 150900, + "child": [] + }, { + "value": 150924, + "name": "兴和县", + "pid": 150900, + "child": [] + }, { + "value": 150925, + "name": "凉城县", + "pid": 150900, + "child": [] + }, { + "value": 150926, + "name": "察哈尔右翼前旗", + "pid": 150900, + "child": [] + }, { + "value": 150927, + "name": "察哈尔右翼中旗", + "pid": 150900, + "child": [] + }, { + "value": 150928, + "name": "察哈尔右翼后旗", + "pid": 150900, + "child": [] + }, { + "value": 150929, + "name": "四子王旗", + "pid": 150900, + "child": [] + }, { + "value": 150981, + "name": "丰镇市", + "pid": 150900, + "child": [] + }] + }, { + "value": 152200, + "name": "兴安盟", + "pid": 150000, + "child": [{ + "value": 152201, + "name": "乌兰浩特市", + "pid": 152200, + "child": [] + }, { + "value": 152202, + "name": "阿尔山市", + "pid": 152200, + "child": [] + }, { + "value": 152221, + "name": "科尔沁右翼前旗", + "pid": 152200, + "child": [] + }, { + "value": 152222, + "name": "科尔沁右翼中旗", + "pid": 152200, + "child": [] + }, { + "value": 152223, + "name": "扎赉特旗", + "pid": 152200, + "child": [] + }, { + "value": 152224, + "name": "突泉县", + "pid": 152200, + "child": [] + }] + }, { + "value": 152500, + "name": "锡林郭勒盟", + "pid": 150000, + "child": [{ + "value": 152501, + "name": "二连浩特市", + "pid": 152500, + "child": [] + }, { + "value": 152502, + "name": "锡林浩特市", + "pid": 152500, + "child": [] + }, { + "value": 152522, + "name": "阿巴嘎旗", + "pid": 152500, + "child": [] + }, { + "value": 152523, + "name": "苏尼特左旗", + "pid": 152500, + "child": [] + }, { + "value": 152524, + "name": "苏尼特右旗", + "pid": 152500, + "child": [] + }, { + "value": 152525, + "name": "东乌珠穆沁旗", + "pid": 152500, + "child": [] + }, { + "value": 152526, + "name": "西乌珠穆沁旗", + "pid": 152500, + "child": [] + }, { + "value": 152527, + "name": "太仆寺旗", + "pid": 152500, + "child": [] + }, { + "value": 152528, + "name": "镶黄旗", + "pid": 152500, + "child": [] + }, { + "value": 152529, + "name": "正镶白旗", + "pid": 152500, + "child": [] + }, { + "value": 152530, + "name": "正蓝旗", + "pid": 152500, + "child": [] + }, { + "value": 152531, + "name": "多伦县", + "pid": 152500, + "child": [] + }] + }, { + "value": 152900, + "name": "阿拉善盟", + "pid": 150000, + "child": [{ + "value": 152921, + "name": "阿拉善左旗", + "pid": 152900, + "child": [] + }, { + "value": 152922, + "name": "阿拉善右旗", + "pid": 152900, + "child": [] + }, { + "value": 152923, + "name": "额济纳旗", + "pid": 152900, + "child": [] + }] + }] +}, { + "value": 210000, + "name": "辽宁省", + "pid": 0, + "child": [{ + "value": 210100, + "name": "沈阳市", + "pid": 210000, + "child": [{ + "value": 210102, + "name": "和平区", + "pid": 210100, + "child": [] + }, { + "value": 210103, + "name": "沈河区", + "pid": 210100, + "child": [] + }, { + "value": 210104, + "name": "大东区", + "pid": 210100, + "child": [] + }, { + "value": 210105, + "name": "皇姑区", + "pid": 210100, + "child": [] + }, { + "value": 210106, + "name": "铁西区", + "pid": 210100, + "child": [] + }, { + "value": 210111, + "name": "苏家屯区", + "pid": 210100, + "child": [] + }, { + "value": 210112, + "name": "浑南区", + "pid": 210100, + "child": [] + }, { + "value": 210113, + "name": "沈北新区", + "pid": 210100, + "child": [] + }, { + "value": 210114, + "name": "于洪区", + "pid": 210100, + "child": [] + }, { + "value": 210115, + "name": "辽中区", + "pid": 210100, + "child": [] + }, { + "value": 210123, + "name": "康平县", + "pid": 210100, + "child": [] + }, { + "value": 210124, + "name": "法库县", + "pid": 210100, + "child": [] + }, { + "value": 210181, + "name": "新民市", + "pid": 210100, + "child": [] + }, { + "value": 210182, + "name": "高新区", + "pid": 210100, + "child": [] + }] + }, { + "value": 210200, + "name": "大连市", + "pid": 210000, + "child": [{ + "value": 210202, + "name": "中山区", + "pid": 210200, + "child": [] + }, { + "value": 210203, + "name": "西岗区", + "pid": 210200, + "child": [] + }, { + "value": 210204, + "name": "沙河口区", + "pid": 210200, + "child": [] + }, { + "value": 210211, + "name": "甘井子区", + "pid": 210200, + "child": [] + }, { + "value": 210212, + "name": "旅顺口区", + "pid": 210200, + "child": [] + }, { + "value": 210213, + "name": "金州区", + "pid": 210200, + "child": [] + }, { + "value": 210214, + "name": "普兰店区", + "pid": 210200, + "child": [] + }, { + "value": 210224, + "name": "长海县", + "pid": 210200, + "child": [] + }, { + "value": 210281, + "name": "瓦房店市", + "pid": 210200, + "child": [] + }, { + "value": 210283, + "name": "庄河市", + "pid": 210200, + "child": [] + }, { + "value": 210284, + "name": "高新区", + "pid": 210200, + "child": [] + }, { + "value": 210285, + "name": "经济开发区", + "pid": 210200, + "child": [] + }, { + "value": 210286, + "name": "金普新区", + "pid": 210200, + "child": [] + }] + }, { + "value": 210300, + "name": "鞍山市", + "pid": 210000, + "child": [{ + "value": 210302, + "name": "铁东区", + "pid": 210300, + "child": [] + }, { + "value": 210303, + "name": "铁西区", + "pid": 210300, + "child": [] + }, { + "value": 210304, + "name": "立山区", + "pid": 210300, + "child": [] + }, { + "value": 210311, + "name": "千山区", + "pid": 210300, + "child": [] + }, { + "value": 210321, + "name": "台安县", + "pid": 210300, + "child": [] + }, { + "value": 210323, + "name": "岫岩满族自治县", + "pid": 210300, + "child": [] + }, { + "value": 210381, + "name": "海城市", + "pid": 210300, + "child": [] + }, { + "value": 210382, + "name": "高新区", + "pid": 210300, + "child": [] + }] + }, { + "value": 210400, + "name": "抚顺市", + "pid": 210000, + "child": [{ + "value": 210402, + "name": "新抚区", + "pid": 210400, + "child": [] + }, { + "value": 210403, + "name": "东洲区", + "pid": 210400, + "child": [] + }, { + "value": 210404, + "name": "望花区", + "pid": 210400, + "child": [] + }, { + "value": 210411, + "name": "顺城区", + "pid": 210400, + "child": [] + }, { + "value": 210421, + "name": "抚顺县", + "pid": 210400, + "child": [] + }, { + "value": 210422, + "name": "新宾满族自治县", + "pid": 210400, + "child": [] + }, { + "value": 210423, + "name": "清原满族自治县", + "pid": 210400, + "child": [] + }] + }, { + "value": 210500, + "name": "本溪市", + "pid": 210000, + "child": [{ + "value": 210502, + "name": "平山区", + "pid": 210500, + "child": [] + }, { + "value": 210503, + "name": "溪湖区", + "pid": 210500, + "child": [] + }, { + "value": 210504, + "name": "明山区", + "pid": 210500, + "child": [] + }, { + "value": 210505, + "name": "南芬区", + "pid": 210500, + "child": [] + }, { + "value": 210521, + "name": "本溪满族自治县", + "pid": 210500, + "child": [] + }, { + "value": 210522, + "name": "桓仁满族自治县", + "pid": 210500, + "child": [] + }] + }, { + "value": 210600, + "name": "丹东市", + "pid": 210000, + "child": [{ + "value": 210602, + "name": "元宝区", + "pid": 210600, + "child": [] + }, { + "value": 210603, + "name": "振兴区", + "pid": 210600, + "child": [] + }, { + "value": 210604, + "name": "振安区", + "pid": 210600, + "child": [] + }, { + "value": 210624, + "name": "宽甸满族自治县", + "pid": 210600, + "child": [] + }, { + "value": 210681, + "name": "东港市", + "pid": 210600, + "child": [] + }, { + "value": 210682, + "name": "凤城市", + "pid": 210600, + "child": [] + }] + }, { + "value": 210700, + "name": "锦州市", + "pid": 210000, + "child": [{ + "value": 210702, + "name": "古塔区", + "pid": 210700, + "child": [] + }, { + "value": 210703, + "name": "凌河区", + "pid": 210700, + "child": [] + }, { + "value": 210711, + "name": "太和区", + "pid": 210700, + "child": [] + }, { + "value": 210726, + "name": "黑山县", + "pid": 210700, + "child": [] + }, { + "value": 210727, + "name": "义县", + "pid": 210700, + "child": [] + }, { + "value": 210781, + "name": "凌海市", + "pid": 210700, + "child": [] + }, { + "value": 210782, + "name": "北镇市", + "pid": 210700, + "child": [] + }, { + "value": 210783, + "name": "松山新区", + "pid": 210700, + "child": [] + }, { + "value": 210784, + "name": "龙栖湾新区", + "pid": 210700, + "child": [] + }, { + "value": 210785, + "name": "经济技术开发区", + "pid": 210700, + "child": [] + }] + }, { + "value": 210800, + "name": "营口市", + "pid": 210000, + "child": [{ + "value": 210802, + "name": "站前区", + "pid": 210800, + "child": [] + }, { + "value": 210803, + "name": "西市区", + "pid": 210800, + "child": [] + }, { + "value": 210804, + "name": "鲅鱼圈区", + "pid": 210800, + "child": [] + }, { + "value": 210811, + "name": "老边区", + "pid": 210800, + "child": [] + }, { + "value": 210881, + "name": "盖州市", + "pid": 210800, + "child": [] + }, { + "value": 210882, + "name": "大石桥市", + "pid": 210800, + "child": [] + }] + }, { + "value": 210900, + "name": "阜新市", + "pid": 210000, + "child": [{ + "value": 210902, + "name": "海州区", + "pid": 210900, + "child": [] + }, { + "value": 210903, + "name": "新邱区", + "pid": 210900, + "child": [] + }, { + "value": 210904, + "name": "太平区", + "pid": 210900, + "child": [] + }, { + "value": 210905, + "name": "清河门区", + "pid": 210900, + "child": [] + }, { + "value": 210911, + "name": "细河区", + "pid": 210900, + "child": [] + }, { + "value": 210921, + "name": "阜新蒙古族自治县", + "pid": 210900, + "child": [] + }, { + "value": 210922, + "name": "彰武县", + "pid": 210900, + "child": [] + }] + }, { + "value": 211000, + "name": "辽阳市", + "pid": 210000, + "child": [{ + "value": 211002, + "name": "白塔区", + "pid": 211000, + "child": [] + }, { + "value": 211003, + "name": "文圣区", + "pid": 211000, + "child": [] + }, { + "value": 211004, + "name": "宏伟区", + "pid": 211000, + "child": [] + }, { + "value": 211005, + "name": "弓长岭区", + "pid": 211000, + "child": [] + }, { + "value": 211011, + "name": "太子河区", + "pid": 211000, + "child": [] + }, { + "value": 211021, + "name": "辽阳县", + "pid": 211000, + "child": [] + }, { + "value": 211081, + "name": "灯塔市", + "pid": 211000, + "child": [] + }] + }, { + "value": 211100, + "name": "盘锦市", + "pid": 210000, + "child": [{ + "value": 211102, + "name": "双台子区", + "pid": 211100, + "child": [] + }, { + "value": 211103, + "name": "兴隆台区", + "pid": 211100, + "child": [] + }, { + "value": 211104, + "name": "大洼区", + "pid": 211100, + "child": [] + }, { + "value": 211122, + "name": "盘山县", + "pid": 211100, + "child": [] + }] + }, { + "value": 211200, + "name": "铁岭市", + "pid": 210000, + "child": [{ + "value": 211202, + "name": "银州区", + "pid": 211200, + "child": [] + }, { + "value": 211204, + "name": "清河区", + "pid": 211200, + "child": [] + }, { + "value": 211221, + "name": "铁岭县", + "pid": 211200, + "child": [] + }, { + "value": 211223, + "name": "西丰县", + "pid": 211200, + "child": [] + }, { + "value": 211224, + "name": "昌图县", + "pid": 211200, + "child": [] + }, { + "value": 211281, + "name": "调兵山市", + "pid": 211200, + "child": [] + }, { + "value": 211282, + "name": "开原市", + "pid": 211200, + "child": [] + }] + }, { + "value": 211300, + "name": "朝阳市", + "pid": 210000, + "child": [{ + "value": 211302, + "name": "双塔区", + "pid": 211300, + "child": [] + }, { + "value": 211303, + "name": "龙城区", + "pid": 211300, + "child": [] + }, { + "value": 211321, + "name": "朝阳县", + "pid": 211300, + "child": [] + }, { + "value": 211322, + "name": "建平县", + "pid": 211300, + "child": [] + }, { + "value": 211324, + "name": "喀喇沁左翼蒙古族自治县", + "pid": 211300, + "child": [] + }, { + "value": 211381, + "name": "北票市", + "pid": 211300, + "child": [] + }, { + "value": 211382, + "name": "凌源市", + "pid": 211300, + "child": [] + }] + }, { + "value": 211400, + "name": "葫芦岛市", + "pid": 210000, + "child": [{ + "value": 211402, + "name": "连山区", + "pid": 211400, + "child": [] + }, { + "value": 211403, + "name": "龙港区", + "pid": 211400, + "child": [] + }, { + "value": 211404, + "name": "南票区", + "pid": 211400, + "child": [] + }, { + "value": 211421, + "name": "绥中县", + "pid": 211400, + "child": [] + }, { + "value": 211422, + "name": "建昌县", + "pid": 211400, + "child": [] + }, { + "value": 211481, + "name": "兴城市", + "pid": 211400, + "child": [] + }] + }] +}, { + "value": 220000, + "name": "吉林省", + "pid": 0, + "child": [{ + "value": 220100, + "name": "长春市", + "pid": 220000, + "child": [{ + "value": 220102, + "name": "南关区", + "pid": 220100, + "child": [] + }, { + "value": 220103, + "name": "宽城区", + "pid": 220100, + "child": [] + }, { + "value": 220104, + "name": "朝阳区", + "pid": 220100, + "child": [] + }, { + "value": 220105, + "name": "二道区", + "pid": 220100, + "child": [] + }, { + "value": 220106, + "name": "绿园区", + "pid": 220100, + "child": [] + }, { + "value": 220112, + "name": "双阳区", + "pid": 220100, + "child": [] + }, { + "value": 220113, + "name": "九台区", + "pid": 220100, + "child": [] + }, { + "value": 220122, + "name": "农安县", + "pid": 220100, + "child": [] + }, { + "value": 220182, + "name": "榆树市", + "pid": 220100, + "child": [] + }, { + "value": 220183, + "name": "德惠市", + "pid": 220100, + "child": [] + }, { + "value": 220184, + "name": "长春新区", + "pid": 220100, + "child": [] + }, { + "value": 220185, + "name": "高新区", + "pid": 220100, + "child": [] + }, { + "value": 220186, + "name": "经济技术开发区", + "pid": 220100, + "child": [] + }, { + "value": 220187, + "name": "汽车产业开发区", + "pid": 220100, + "child": [] + }, { + "value": 220188, + "name": "兴隆综合保税区", + "pid": 220100, + "child": [] + }] + }, { + "value": 220200, + "name": "吉林市", + "pid": 220000, + "child": [{ + "value": 220202, + "name": "昌邑区", + "pid": 220200, + "child": [] + }, { + "value": 220203, + "name": "龙潭区", + "pid": 220200, + "child": [] + }, { + "value": 220204, + "name": "船营区", + "pid": 220200, + "child": [] + }, { + "value": 220211, + "name": "丰满区", + "pid": 220200, + "child": [] + }, { + "value": 220221, + "name": "永吉县", + "pid": 220200, + "child": [] + }, { + "value": 220281, + "name": "蛟河市", + "pid": 220200, + "child": [] + }, { + "value": 220282, + "name": "桦甸市", + "pid": 220200, + "child": [] + }, { + "value": 220283, + "name": "舒兰市", + "pid": 220200, + "child": [] + }, { + "value": 220284, + "name": "磐石市", + "pid": 220200, + "child": [] + }, { + "value": 220285, + "name": "高新区", + "pid": 220200, + "child": [] + }] + }, { + "value": 220300, + "name": "四平市", + "pid": 220000, + "child": [{ + "value": 220302, + "name": "铁西区", + "pid": 220300, + "child": [] + }, { + "value": 220303, + "name": "铁东区", + "pid": 220300, + "child": [] + }, { + "value": 220322, + "name": "梨树县", + "pid": 220300, + "child": [] + }, { + "value": 220323, + "name": "伊通满族自治县", + "pid": 220300, + "child": [] + }, { + "value": 220381, + "name": "公主岭市", + "pid": 220300, + "child": [] + }, { + "value": 220382, + "name": "双辽市", + "pid": 220300, + "child": [] + }] + }, { + "value": 220400, + "name": "辽源市", + "pid": 220000, + "child": [{ + "value": 220402, + "name": "龙山区", + "pid": 220400, + "child": [] + }, { + "value": 220403, + "name": "西安区", + "pid": 220400, + "child": [] + }, { + "value": 220421, + "name": "东丰县", + "pid": 220400, + "child": [] + }, { + "value": 220422, + "name": "东辽县", + "pid": 220400, + "child": [] + }] + }, { + "value": 220500, + "name": "通化市", + "pid": 220000, + "child": [{ + "value": 220502, + "name": "东昌区", + "pid": 220500, + "child": [] + }, { + "value": 220503, + "name": "二道江区", + "pid": 220500, + "child": [] + }, { + "value": 220521, + "name": "通化县", + "pid": 220500, + "child": [] + }, { + "value": 220523, + "name": "辉南县", + "pid": 220500, + "child": [] + }, { + "value": 220524, + "name": "柳河县", + "pid": 220500, + "child": [] + }, { + "value": 220581, + "name": "梅河口市", + "pid": 220500, + "child": [] + }, { + "value": 220582, + "name": "集安市", + "pid": 220500, + "child": [] + }] + }, { + "value": 220600, + "name": "白山市", + "pid": 220000, + "child": [{ + "value": 220602, + "name": "浑江区", + "pid": 220600, + "child": [] + }, { + "value": 220605, + "name": "江源区", + "pid": 220600, + "child": [] + }, { + "value": 220621, + "name": "抚松县", + "pid": 220600, + "child": [] + }, { + "value": 220622, + "name": "靖宇县", + "pid": 220600, + "child": [] + }, { + "value": 220623, + "name": "长白朝鲜族自治县", + "pid": 220600, + "child": [] + }, { + "value": 220681, + "name": "临江市", + "pid": 220600, + "child": [] + }] + }, { + "value": 220700, + "name": "松原市", + "pid": 220000, + "child": [{ + "value": 220702, + "name": "宁江区", + "pid": 220700, + "child": [] + }, { + "value": 220721, + "name": "前郭尔罗斯蒙古族自治县", + "pid": 220700, + "child": [] + }, { + "value": 220722, + "name": "长岭县", + "pid": 220700, + "child": [] + }, { + "value": 220723, + "name": "乾安县", + "pid": 220700, + "child": [] + }, { + "value": 220781, + "name": "扶余市", + "pid": 220700, + "child": [] + }] + }, { + "value": 220800, + "name": "白城市", + "pid": 220000, + "child": [{ + "value": 220802, + "name": "洮北区", + "pid": 220800, + "child": [] + }, { + "value": 220821, + "name": "镇赉县", + "pid": 220800, + "child": [] + }, { + "value": 220822, + "name": "通榆县", + "pid": 220800, + "child": [] + }, { + "value": 220881, + "name": "洮南市", + "pid": 220800, + "child": [] + }, { + "value": 220882, + "name": "大安市", + "pid": 220800, + "child": [] + }] + }, { + "value": 222400, + "name": "延边朝鲜族自治州", + "pid": 220000, + "child": [{ + "value": 222401, + "name": "延吉市", + "pid": 222400, + "child": [] + }, { + "value": 222402, + "name": "图们市", + "pid": 222400, + "child": [] + }, { + "value": 222403, + "name": "敦化市", + "pid": 222400, + "child": [] + }, { + "value": 222404, + "name": "珲春市", + "pid": 222400, + "child": [] + }, { + "value": 222405, + "name": "龙井市", + "pid": 222400, + "child": [] + }, { + "value": 222406, + "name": "和龙市", + "pid": 222400, + "child": [] + }, { + "value": 222424, + "name": "汪清县", + "pid": 222400, + "child": [] + }, { + "value": 222426, + "name": "安图县", + "pid": 222400, + "child": [] + }] + }] +}, { + "value": 230000, + "name": "黑龙江省", + "pid": 0, + "child": [{ + "value": 230100, + "name": "哈尔滨市", + "pid": 230000, + "child": [{ + "value": 230102, + "name": "道里区", + "pid": 230100, + "child": [] + }, { + "value": 230103, + "name": "南岗区", + "pid": 230100, + "child": [] + }, { + "value": 230104, + "name": "道外区", + "pid": 230100, + "child": [] + }, { + "value": 230108, + "name": "平房区", + "pid": 230100, + "child": [] + }, { + "value": 230109, + "name": "松北区", + "pid": 230100, + "child": [] + }, { + "value": 230110, + "name": "香坊区", + "pid": 230100, + "child": [] + }, { + "value": 230111, + "name": "呼兰区", + "pid": 230100, + "child": [] + }, { + "value": 230112, + "name": "阿城区", + "pid": 230100, + "child": [] + }, { + "value": 230113, + "name": "双城区", + "pid": 230100, + "child": [] + }, { + "value": 230123, + "name": "依兰县", + "pid": 230100, + "child": [] + }, { + "value": 230124, + "name": "方正县", + "pid": 230100, + "child": [] + }, { + "value": 230125, + "name": "宾县", + "pid": 230100, + "child": [] + }, { + "value": 230126, + "name": "巴彦县", + "pid": 230100, + "child": [] + }, { + "value": 230127, + "name": "木兰县", + "pid": 230100, + "child": [] + }, { + "value": 230128, + "name": "通河县", + "pid": 230100, + "child": [] + }, { + "value": 230129, + "name": "延寿县", + "pid": 230100, + "child": [] + }, { + "value": 230183, + "name": "尚志市", + "pid": 230100, + "child": [] + }, { + "value": 230184, + "name": "五常市", + "pid": 230100, + "child": [] + }, { + "value": 230185, + "name": "哈尔滨新区", + "pid": 230100, + "child": [] + }, { + "value": 230186, + "name": "高新区", + "pid": 230100, + "child": [] + }] + }, { + "value": 230200, + "name": "齐齐哈尔市", + "pid": 230000, + "child": [{ + "value": 230202, + "name": "龙沙区", + "pid": 230200, + "child": [] + }, { + "value": 230203, + "name": "建华区", + "pid": 230200, + "child": [] + }, { + "value": 230204, + "name": "铁锋区", + "pid": 230200, + "child": [] + }, { + "value": 230205, + "name": "昂昂溪区", + "pid": 230200, + "child": [] + }, { + "value": 230206, + "name": "富拉尔基区", + "pid": 230200, + "child": [] + }, { + "value": 230207, + "name": "碾子山区", + "pid": 230200, + "child": [] + }, { + "value": 230208, + "name": "梅里斯达斡尔族区", + "pid": 230200, + "child": [] + }, { + "value": 230221, + "name": "龙江县", + "pid": 230200, + "child": [] + }, { + "value": 230223, + "name": "依安县", + "pid": 230200, + "child": [] + }, { + "value": 230224, + "name": "泰来县", + "pid": 230200, + "child": [] + }, { + "value": 230225, + "name": "甘南县", + "pid": 230200, + "child": [] + }, { + "value": 230227, + "name": "富裕县", + "pid": 230200, + "child": [] + }, { + "value": 230229, + "name": "克山县", + "pid": 230200, + "child": [] + }, { + "value": 230230, + "name": "克东县", + "pid": 230200, + "child": [] + }, { + "value": 230231, + "name": "拜泉县", + "pid": 230200, + "child": [] + }, { + "value": 230281, + "name": "讷河市", + "pid": 230200, + "child": [] + }, { + "value": 230282, + "name": "高新区", + "pid": 230200, + "child": [] + }] + }, { + "value": 230300, + "name": "鸡西市", + "pid": 230000, + "child": [{ + "value": 230302, + "name": "鸡冠区", + "pid": 230300, + "child": [] + }, { + "value": 230303, + "name": "恒山区", + "pid": 230300, + "child": [] + }, { + "value": 230304, + "name": "滴道区", + "pid": 230300, + "child": [] + }, { + "value": 230305, + "name": "梨树区", + "pid": 230300, + "child": [] + }, { + "value": 230306, + "name": "城子河区", + "pid": 230300, + "child": [] + }, { + "value": 230307, + "name": "麻山区", + "pid": 230300, + "child": [] + }, { + "value": 230321, + "name": "鸡东县", + "pid": 230300, + "child": [] + }, { + "value": 230381, + "name": "虎林市", + "pid": 230300, + "child": [] + }, { + "value": 230382, + "name": "密山市", + "pid": 230300, + "child": [] + }] + }, { + "value": 230400, + "name": "鹤岗市", + "pid": 230000, + "child": [{ + "value": 230402, + "name": "向阳区", + "pid": 230400, + "child": [] + }, { + "value": 230403, + "name": "工农区", + "pid": 230400, + "child": [] + }, { + "value": 230404, + "name": "南山区", + "pid": 230400, + "child": [] + }, { + "value": 230405, + "name": "兴安区", + "pid": 230400, + "child": [] + }, { + "value": 230406, + "name": "东山区", + "pid": 230400, + "child": [] + }, { + "value": 230407, + "name": "兴山区", + "pid": 230400, + "child": [] + }, { + "value": 230421, + "name": "萝北县", + "pid": 230400, + "child": [] + }, { + "value": 230422, + "name": "绥滨县", + "pid": 230400, + "child": [] + }] + }, { + "value": 230500, + "name": "双鸭山市", + "pid": 230000, + "child": [{ + "value": 230502, + "name": "尖山区", + "pid": 230500, + "child": [] + }, { + "value": 230503, + "name": "岭东区", + "pid": 230500, + "child": [] + }, { + "value": 230505, + "name": "四方台区", + "pid": 230500, + "child": [] + }, { + "value": 230506, + "name": "宝山区", + "pid": 230500, + "child": [] + }, { + "value": 230521, + "name": "集贤县", + "pid": 230500, + "child": [] + }, { + "value": 230522, + "name": "友谊县", + "pid": 230500, + "child": [] + }, { + "value": 230523, + "name": "宝清县", + "pid": 230500, + "child": [] + }, { + "value": 230524, + "name": "饶河县", + "pid": 230500, + "child": [] + }] + }, { + "value": 230600, + "name": "大庆市", + "pid": 230000, + "child": [{ + "value": 230602, + "name": "萨尔图区", + "pid": 230600, + "child": [] + }, { + "value": 230603, + "name": "龙凤区", + "pid": 230600, + "child": [] + }, { + "value": 230604, + "name": "让胡路区", + "pid": 230600, + "child": [] + }, { + "value": 230605, + "name": "红岗区", + "pid": 230600, + "child": [] + }, { + "value": 230606, + "name": "大同区", + "pid": 230600, + "child": [] + }, { + "value": 230621, + "name": "肇州县", + "pid": 230600, + "child": [] + }, { + "value": 230622, + "name": "肇源县", + "pid": 230600, + "child": [] + }, { + "value": 230623, + "name": "林甸县", + "pid": 230600, + "child": [] + }, { + "value": 230624, + "name": "杜尔伯特蒙古族自治县", + "pid": 230600, + "child": [] + }, { + "value": 230625, + "name": "高新区", + "pid": 230600, + "child": [] + }] + }, { + "value": 230700, + "name": "伊春市", + "pid": 230000, + "child": [{ + "value": 230702, + "name": "伊春区", + "pid": 230700, + "child": [] + }, { + "value": 230703, + "name": "南岔区", + "pid": 230700, + "child": [] + }, { + "value": 230704, + "name": "友好区", + "pid": 230700, + "child": [] + }, { + "value": 230705, + "name": "西林区", + "pid": 230700, + "child": [] + }, { + "value": 230706, + "name": "翠峦区", + "pid": 230700, + "child": [] + }, { + "value": 230707, + "name": "新青区", + "pid": 230700, + "child": [] + }, { + "value": 230708, + "name": "美溪区", + "pid": 230700, + "child": [] + }, { + "value": 230709, + "name": "金山屯区", + "pid": 230700, + "child": [] + }, { + "value": 230710, + "name": "五营区", + "pid": 230700, + "child": [] + }, { + "value": 230711, + "name": "乌马河区", + "pid": 230700, + "child": [] + }, { + "value": 230712, + "name": "汤旺河区", + "pid": 230700, + "child": [] + }, { + "value": 230713, + "name": "带岭区", + "pid": 230700, + "child": [] + }, { + "value": 230714, + "name": "乌伊岭区", + "pid": 230700, + "child": [] + }, { + "value": 230715, + "name": "红星区", + "pid": 230700, + "child": [] + }, { + "value": 230716, + "name": "上甘岭区", + "pid": 230700, + "child": [] + }, { + "value": 230722, + "name": "嘉荫县", + "pid": 230700, + "child": [] + }, { + "value": 230781, + "name": "铁力市", + "pid": 230700, + "child": [] + }] + }, { + "value": 230800, + "name": "佳木斯市", + "pid": 230000, + "child": [{ + "value": 230803, + "name": "向阳区", + "pid": 230800, + "child": [] + }, { + "value": 230804, + "name": "前进区", + "pid": 230800, + "child": [] + }, { + "value": 230805, + "name": "东风区", + "pid": 230800, + "child": [] + }, { + "value": 230811, + "name": "郊区", + "pid": 230800, + "child": [] + }, { + "value": 230822, + "name": "桦南县", + "pid": 230800, + "child": [] + }, { + "value": 230826, + "name": "桦川县", + "pid": 230800, + "child": [] + }, { + "value": 230828, + "name": "汤原县", + "pid": 230800, + "child": [] + }, { + "value": 230881, + "name": "同江市", + "pid": 230800, + "child": [] + }, { + "value": 230882, + "name": "富锦市", + "pid": 230800, + "child": [] + }, { + "value": 230883, + "name": "抚远市", + "pid": 230800, + "child": [] + }] + }, { + "value": 230900, + "name": "七台河市", + "pid": 230000, + "child": [{ + "value": 230902, + "name": "新兴区", + "pid": 230900, + "child": [] + }, { + "value": 230903, + "name": "桃山区", + "pid": 230900, + "child": [] + }, { + "value": 230904, + "name": "茄子河区", + "pid": 230900, + "child": [] + }, { + "value": 230921, + "name": "勃利县", + "pid": 230900, + "child": [] + }] + }, { + "value": 231000, + "name": "牡丹江市", + "pid": 230000, + "child": [{ + "value": 231002, + "name": "东安区", + "pid": 231000, + "child": [] + }, { + "value": 231003, + "name": "阳明区", + "pid": 231000, + "child": [] + }, { + "value": 231004, + "name": "爱民区", + "pid": 231000, + "child": [] + }, { + "value": 231005, + "name": "西安区", + "pid": 231000, + "child": [] + }, { + "value": 231025, + "name": "林口县", + "pid": 231000, + "child": [] + }, { + "value": 231081, + "name": "绥芬河市", + "pid": 231000, + "child": [] + }, { + "value": 231083, + "name": "海林市", + "pid": 231000, + "child": [] + }, { + "value": 231084, + "name": "宁安市", + "pid": 231000, + "child": [] + }, { + "value": 231085, + "name": "穆棱市", + "pid": 231000, + "child": [] + }, { + "value": 231086, + "name": "东宁市", + "pid": 231000, + "child": [] + }] + }, { + "value": 231100, + "name": "黑河市", + "pid": 230000, + "child": [{ + "value": 231102, + "name": "爱辉区", + "pid": 231100, + "child": [] + }, { + "value": 231121, + "name": "嫩江县", + "pid": 231100, + "child": [] + }, { + "value": 231123, + "name": "逊克县", + "pid": 231100, + "child": [] + }, { + "value": 231124, + "name": "孙吴县", + "pid": 231100, + "child": [] + }, { + "value": 231181, + "name": "北安市", + "pid": 231100, + "child": [] + }, { + "value": 231182, + "name": "五大连池市", + "pid": 231100, + "child": [] + }] + }, { + "value": 231200, + "name": "绥化市", + "pid": 230000, + "child": [{ + "value": 231202, + "name": "北林区", + "pid": 231200, + "child": [] + }, { + "value": 231221, + "name": "望奎县", + "pid": 231200, + "child": [] + }, { + "value": 231222, + "name": "兰西县", + "pid": 231200, + "child": [] + }, { + "value": 231223, + "name": "青冈县", + "pid": 231200, + "child": [] + }, { + "value": 231224, + "name": "庆安县", + "pid": 231200, + "child": [] + }, { + "value": 231225, + "name": "明水县", + "pid": 231200, + "child": [] + }, { + "value": 231226, + "name": "绥棱县", + "pid": 231200, + "child": [] + }, { + "value": 231281, + "name": "安达市", + "pid": 231200, + "child": [] + }, { + "value": 231282, + "name": "肇东市", + "pid": 231200, + "child": [] + }, { + "value": 231283, + "name": "海伦市", + "pid": 231200, + "child": [] + }] + }, { + "value": 232700, + "name": "大兴安岭地区", + "pid": 230000, + "child": [{ + "value": 232701, + "name": "漠河市", + "pid": 232700, + "child": [] + }, { + "value": 232721, + "name": "呼玛县", + "pid": 232700, + "child": [] + }, { + "value": 232722, + "name": "塔河县", + "pid": 232700, + "child": [] + }, { + "value": 232761, + "name": "加格达奇区", + "pid": 232700, + "child": [] + }, { + "value": 232762, + "name": "松岭区", + "pid": 232700, + "child": [] + }, { + "value": 232763, + "name": "新林区", + "pid": 232700, + "child": [] + }, { + "value": 232764, + "name": "呼中区", + "pid": 232700, + "child": [] + }] + }] +}, { + "value": 310000, + "name": "上海", + "pid": 0, + "child": [{ + "value": 310100, + "name": "上海市", + "pid": 310000, + "child": [{ + "value": 310101, + "name": "黄浦区", + "pid": 310100, + "child": [] + }, { + "value": 310104, + "name": "徐汇区", + "pid": 310100, + "child": [] + }, { + "value": 310105, + "name": "长宁区", + "pid": 310100, + "child": [] + }, { + "value": 310106, + "name": "静安区", + "pid": 310100, + "child": [] + }, { + "value": 310107, + "name": "普陀区", + "pid": 310100, + "child": [] + }, { + "value": 310109, + "name": "虹口区", + "pid": 310100, + "child": [] + }, { + "value": 310110, + "name": "杨浦区", + "pid": 310100, + "child": [] + }, { + "value": 310112, + "name": "闵行区", + "pid": 310100, + "child": [] + }, { + "value": 310113, + "name": "宝山区", + "pid": 310100, + "child": [] + }, { + "value": 310114, + "name": "嘉定区", + "pid": 310100, + "child": [] + }, { + "value": 310115, + "name": "浦东新区", + "pid": 310100, + "child": [] + }, { + "value": 310116, + "name": "金山区", + "pid": 310100, + "child": [] + }, { + "value": 310117, + "name": "松江区", + "pid": 310100, + "child": [] + }, { + "value": 310118, + "name": "青浦区", + "pid": 310100, + "child": [] + }, { + "value": 310120, + "name": "奉贤区", + "pid": 310100, + "child": [] + }, { + "value": 310151, + "name": "崇明区", + "pid": 310100, + "child": [] + }, { + "value": 310231, + "name": "张江高新区", + "pid": 310100, + "child": [] + }, { + "value": 310232, + "name": "紫竹高新区", + "pid": 310100, + "child": [] + }, { + "value": 310233, + "name": "漕河泾开发区", + "pid": 310100, + "child": [] + }] + }] +}, { + "value": 320000, + "name": "江苏省", + "pid": 0, + "child": [{ + "value": 320100, + "name": "南京市", + "pid": 320000, + "child": [{ + "value": 320102, + "name": "玄武区", + "pid": 320100, + "child": [] + }, { + "value": 320104, + "name": "秦淮区", + "pid": 320100, + "child": [] + }, { + "value": 320105, + "name": "建邺区", + "pid": 320100, + "child": [] + }, { + "value": 320106, + "name": "鼓楼区", + "pid": 320100, + "child": [] + }, { + "value": 320111, + "name": "浦口区", + "pid": 320100, + "child": [] + }, { + "value": 320113, + "name": "栖霞区", + "pid": 320100, + "child": [] + }, { + "value": 320114, + "name": "雨花台区", + "pid": 320100, + "child": [] + }, { + "value": 320115, + "name": "江宁区", + "pid": 320100, + "child": [] + }, { + "value": 320116, + "name": "六合区", + "pid": 320100, + "child": [] + }, { + "value": 320117, + "name": "溧水区", + "pid": 320100, + "child": [] + }, { + "value": 320118, + "name": "高淳区", + "pid": 320100, + "child": [] + }, { + "value": 320119, + "name": "江北新区", + "pid": 320100, + "child": [] + }, { + "value": 320120, + "name": "高新区", + "pid": 320100, + "child": [] + }] + }, { + "value": 320200, + "name": "无锡市", + "pid": 320000, + "child": [{ + "value": 320205, + "name": "锡山区", + "pid": 320200, + "child": [] + }, { + "value": 320206, + "name": "惠山区", + "pid": 320200, + "child": [] + }, { + "value": 320211, + "name": "滨湖区", + "pid": 320200, + "child": [] + }, { + "value": 320213, + "name": "梁溪区", + "pid": 320200, + "child": [] + }, { + "value": 320214, + "name": "新吴区", + "pid": 320200, + "child": [] + }, { + "value": 320281, + "name": "江阴市", + "pid": 320200, + "child": [] + }, { + "value": 320282, + "name": "宜兴市", + "pid": 320200, + "child": [] + }] + }, { + "value": 320300, + "name": "徐州市", + "pid": 320000, + "child": [{ + "value": 320302, + "name": "鼓楼区", + "pid": 320300, + "child": [] + }, { + "value": 320303, + "name": "云龙区", + "pid": 320300, + "child": [] + }, { + "value": 320305, + "name": "贾汪区", + "pid": 320300, + "child": [] + }, { + "value": 320311, + "name": "泉山区", + "pid": 320300, + "child": [] + }, { + "value": 320312, + "name": "铜山区", + "pid": 320300, + "child": [] + }, { + "value": 320321, + "name": "丰县", + "pid": 320300, + "child": [] + }, { + "value": 320322, + "name": "沛县", + "pid": 320300, + "child": [] + }, { + "value": 320324, + "name": "睢宁县", + "pid": 320300, + "child": [] + }, { + "value": 320381, + "name": "新沂市", + "pid": 320300, + "child": [] + }, { + "value": 320382, + "name": "邳州市", + "pid": 320300, + "child": [] + }, { + "value": 320383, + "name": "经济技术开发区", + "pid": 320300, + "child": [] + }, { + "value": 320384, + "name": "高新区", + "pid": 320300, + "child": [] + }, { + "value": 320385, + "name": "软件园", + "pid": 320300, + "child": [] + }] + }, { + "value": 320400, + "name": "常州市", + "pid": 320000, + "child": [{ + "value": 320402, + "name": "天宁区", + "pid": 320400, + "child": [] + }, { + "value": 320404, + "name": "钟楼区", + "pid": 320400, + "child": [] + }, { + "value": 320411, + "name": "新北区", + "pid": 320400, + "child": [] + }, { + "value": 320412, + "name": "武进区", + "pid": 320400, + "child": [] + }, { + "value": 320413, + "name": "金坛区", + "pid": 320400, + "child": [] + }, { + "value": 320481, + "name": "溧阳市", + "pid": 320400, + "child": [] + }, { + "value": 320482, + "name": "高新区", + "pid": 320400, + "child": [] + }] + }, { + "value": 320500, + "name": "苏州市", + "pid": 320000, + "child": [{ + "value": 320505, + "name": "虎丘区", + "pid": 320500, + "child": [] + }, { + "value": 320506, + "name": "吴中区", + "pid": 320500, + "child": [] + }, { + "value": 320507, + "name": "相城区", + "pid": 320500, + "child": [] + }, { + "value": 320508, + "name": "姑苏区", + "pid": 320500, + "child": [] + }, { + "value": 320509, + "name": "吴江区", + "pid": 320500, + "child": [] + }, { + "value": 320581, + "name": "常熟市", + "pid": 320500, + "child": [] + }, { + "value": 320582, + "name": "张家港市", + "pid": 320500, + "child": [] + }, { + "value": 320583, + "name": "昆山市", + "pid": 320500, + "child": [] + }, { + "value": 320585, + "name": "太仓市", + "pid": 320500, + "child": [] + }, { + "value": 320586, + "name": "苏州新区", + "pid": 320500, + "child": [] + }, { + "value": 320587, + "name": "工业园区", + "pid": 320500, + "child": [] + }, { + "value": 320588, + "name": "高新区", + "pid": 320500, + "child": [] + }] + }, { + "value": 320600, + "name": "南通市", + "pid": 320000, + "child": [{ + "value": 320602, + "name": "崇川区", + "pid": 320600, + "child": [] + }, { + "value": 320611, + "name": "港闸区", + "pid": 320600, + "child": [] + }, { + "value": 320612, + "name": "通州区", + "pid": 320600, + "child": [] + }, { + "value": 320623, + "name": "如东县", + "pid": 320600, + "child": [] + }, { + "value": 320681, + "name": "启东市", + "pid": 320600, + "child": [] + }, { + "value": 320682, + "name": "如皋市", + "pid": 320600, + "child": [] + }, { + "value": 320684, + "name": "海门市", + "pid": 320600, + "child": [] + }, { + "value": 320685, + "name": "海安市", + "pid": 320600, + "child": [] + }, { + "value": 320686, + "name": "经济技术开发区", + "pid": 320600, + "child": [] + }] + }, { + "value": 320700, + "name": "连云港市", + "pid": 320000, + "child": [{ + "value": 320703, + "name": "连云区", + "pid": 320700, + "child": [] + }, { + "value": 320706, + "name": "海州区", + "pid": 320700, + "child": [] + }, { + "value": 320707, + "name": "赣榆区", + "pid": 320700, + "child": [] + }, { + "value": 320722, + "name": "东海县", + "pid": 320700, + "child": [] + }, { + "value": 320723, + "name": "灌云县", + "pid": 320700, + "child": [] + }, { + "value": 320724, + "name": "灌南县", + "pid": 320700, + "child": [] + }, { + "value": 320725, + "name": "新海新区", + "pid": 320700, + "child": [] + }, { + "value": 320726, + "name": "连云新城", + "pid": 320700, + "child": [] + }, { + "value": 320727, + "name": "徐圩新区", + "pid": 320700, + "child": [] + }, { + "value": 320728, + "name": "济技术开发区", + "pid": 320700, + "child": [] + }] + }, { + "value": 320800, + "name": "淮安市", + "pid": 320000, + "child": [{ + "value": 320803, + "name": "淮安区", + "pid": 320800, + "child": [] + }, { + "value": 320804, + "name": "淮阴区", + "pid": 320800, + "child": [] + }, { + "value": 320812, + "name": "清江浦区", + "pid": 320800, + "child": [] + }, { + "value": 320813, + "name": "洪泽区", + "pid": 320800, + "child": [] + }, { + "value": 320826, + "name": "涟水县", + "pid": 320800, + "child": [] + }, { + "value": 320830, + "name": "盱眙县", + "pid": 320800, + "child": [] + }, { + "value": 320831, + "name": "金湖县", + "pid": 320800, + "child": [] + }, { + "value": 320832, + "name": "经济开发区", + "pid": 320800, + "child": [] + }] + }, { + "value": 320900, + "name": "盐城市", + "pid": 320000, + "child": [{ + "value": 320902, + "name": "亭湖区", + "pid": 320900, + "child": [] + }, { + "value": 320903, + "name": "盐都区", + "pid": 320900, + "child": [] + }, { + "value": 320904, + "name": "大丰区", + "pid": 320900, + "child": [] + }, { + "value": 320921, + "name": "响水县", + "pid": 320900, + "child": [] + }, { + "value": 320922, + "name": "滨海县", + "pid": 320900, + "child": [] + }, { + "value": 320923, + "name": "阜宁县", + "pid": 320900, + "child": [] + }, { + "value": 320924, + "name": "射阳县", + "pid": 320900, + "child": [] + }, { + "value": 320925, + "name": "建湖县", + "pid": 320900, + "child": [] + }, { + "value": 320981, + "name": "东台市", + "pid": 320900, + "child": [] + }] + }, { + "value": 321000, + "name": "扬州市", + "pid": 320000, + "child": [{ + "value": 321002, + "name": "广陵区", + "pid": 321000, + "child": [] + }, { + "value": 321003, + "name": "邗江区", + "pid": 321000, + "child": [] + }, { + "value": 321012, + "name": "江都区", + "pid": 321000, + "child": [] + }, { + "value": 321023, + "name": "宝应县", + "pid": 321000, + "child": [] + }, { + "value": 321081, + "name": "仪征市", + "pid": 321000, + "child": [] + }, { + "value": 321084, + "name": "高邮市", + "pid": 321000, + "child": [] + }] + }, { + "value": 321100, + "name": "镇江市", + "pid": 320000, + "child": [{ + "value": 321102, + "name": "京口区", + "pid": 321100, + "child": [] + }, { + "value": 321111, + "name": "润州区", + "pid": 321100, + "child": [] + }, { + "value": 321112, + "name": "丹徒区", + "pid": 321100, + "child": [] + }, { + "value": 321181, + "name": "丹阳市", + "pid": 321100, + "child": [] + }, { + "value": 321182, + "name": "扬中市", + "pid": 321100, + "child": [] + }, { + "value": 321183, + "name": "句容市", + "pid": 321100, + "child": [] + }, { + "value": 321184, + "name": "镇江新区", + "pid": 321100, + "child": [] + }, { + "value": 321185, + "name": "镇江新区", + "pid": 321100, + "child": [] + }, { + "value": 321186, + "name": "经济开发区", + "pid": 321100, + "child": [] + }] + }, { + "value": 321200, + "name": "泰州市", + "pid": 320000, + "child": [{ + "value": 321202, + "name": "海陵区", + "pid": 321200, + "child": [] + }, { + "value": 321203, + "name": "高港区", + "pid": 321200, + "child": [] + }, { + "value": 321204, + "name": "姜堰区", + "pid": 321200, + "child": [] + }, { + "value": 321281, + "name": "兴化市", + "pid": 321200, + "child": [] + }, { + "value": 321282, + "name": "靖江市", + "pid": 321200, + "child": [] + }, { + "value": 321283, + "name": "泰兴市", + "pid": 321200, + "child": [] + }] + }, { + "value": 321300, + "name": "宿迁市", + "pid": 320000, + "child": [{ + "value": 321302, + "name": "宿城区", + "pid": 321300, + "child": [] + }, { + "value": 321311, + "name": "宿豫区", + "pid": 321300, + "child": [] + }, { + "value": 321322, + "name": "沭阳县", + "pid": 321300, + "child": [] + }, { + "value": 321323, + "name": "泗阳县", + "pid": 321300, + "child": [] + }, { + "value": 321324, + "name": "泗洪县", + "pid": 321300, + "child": [] + }, { + "value": 321325, + "name": "高新区", + "pid": 321300, + "child": [] + }] + }] +}, { + "value": 330000, + "name": "浙江省", + "pid": 0, + "child": [{ + "value": 330100, + "name": "杭州市", + "pid": 330000, + "child": [{ + "value": 330102, + "name": "上城区", + "pid": 330100, + "child": [] + }, { + "value": 330103, + "name": "下城区", + "pid": 330100, + "child": [] + }, { + "value": 330104, + "name": "江干区", + "pid": 330100, + "child": [] + }, { + "value": 330105, + "name": "拱墅区", + "pid": 330100, + "child": [] + }, { + "value": 330106, + "name": "西湖区", + "pid": 330100, + "child": [] + }, { + "value": 330108, + "name": "滨江区", + "pid": 330100, + "child": [] + }, { + "value": 330109, + "name": "萧山区", + "pid": 330100, + "child": [] + }, { + "value": 330110, + "name": "余杭区", + "pid": 330100, + "child": [] + }, { + "value": 330111, + "name": "富阳区", + "pid": 330100, + "child": [] + }, { + "value": 330112, + "name": "临安区", + "pid": 330100, + "child": [] + }, { + "value": 330122, + "name": "桐庐县", + "pid": 330100, + "child": [] + }, { + "value": 330127, + "name": "淳安县", + "pid": 330100, + "child": [] + }, { + "value": 330182, + "name": "建德市", + "pid": 330100, + "child": [] + }, { + "value": 330186, + "name": "高新区", + "pid": 330100, + "child": [] + }] + }, { + "value": 330200, + "name": "宁波市", + "pid": 330000, + "child": [{ + "value": 330203, + "name": "海曙区", + "pid": 330200, + "child": [] + }, { + "value": 330205, + "name": "江北区", + "pid": 330200, + "child": [] + }, { + "value": 330206, + "name": "北仑区", + "pid": 330200, + "child": [] + }, { + "value": 330211, + "name": "镇海区", + "pid": 330200, + "child": [] + }, { + "value": 330212, + "name": "鄞州区", + "pid": 330200, + "child": [] + }, { + "value": 330213, + "name": "奉化区", + "pid": 330200, + "child": [] + }, { + "value": 330225, + "name": "象山县", + "pid": 330200, + "child": [] + }, { + "value": 330226, + "name": "宁海县", + "pid": 330200, + "child": [] + }, { + "value": 330281, + "name": "余姚市", + "pid": 330200, + "child": [] + }, { + "value": 330282, + "name": "慈溪市", + "pid": 330200, + "child": [] + }, { + "value": 330284, + "name": "杭州湾新区", + "pid": 330200, + "child": [] + }, { + "value": 330285, + "name": "高新区", + "pid": 330200, + "child": [] + }] + }, { + "value": 330300, + "name": "温州市", + "pid": 330000, + "child": [{ + "value": 330302, + "name": "鹿城区", + "pid": 330300, + "child": [] + }, { + "value": 330303, + "name": "龙湾区", + "pid": 330300, + "child": [] + }, { + "value": 330304, + "name": "瓯海区", + "pid": 330300, + "child": [] + }, { + "value": 330305, + "name": "洞头区", + "pid": 330300, + "child": [] + }, { + "value": 330324, + "name": "永嘉县", + "pid": 330300, + "child": [] + }, { + "value": 330326, + "name": "平阳县", + "pid": 330300, + "child": [] + }, { + "value": 330327, + "name": "苍南县", + "pid": 330300, + "child": [] + }, { + "value": 330328, + "name": "文成县", + "pid": 330300, + "child": [] + }, { + "value": 330329, + "name": "泰顺县", + "pid": 330300, + "child": [] + }, { + "value": 330381, + "name": "瑞安市", + "pid": 330300, + "child": [] + }, { + "value": 330382, + "name": "乐清市", + "pid": 330300, + "child": [] + }] + }, { + "value": 330400, + "name": "嘉兴市", + "pid": 330000, + "child": [{ + "value": 330402, + "name": "南湖区", + "pid": 330400, + "child": [] + }, { + "value": 330411, + "name": "秀洲区", + "pid": 330400, + "child": [] + }, { + "value": 330421, + "name": "嘉善县", + "pid": 330400, + "child": [] + }, { + "value": 330424, + "name": "海盐县", + "pid": 330400, + "child": [] + }, { + "value": 330481, + "name": "海宁市", + "pid": 330400, + "child": [] + }, { + "value": 330482, + "name": "平湖市", + "pid": 330400, + "child": [] + }, { + "value": 330483, + "name": "桐乡市", + "pid": 330400, + "child": [] + }] + }, { + "value": 330500, + "name": "湖州市", + "pid": 330000, + "child": [{ + "value": 330502, + "name": "吴兴区", + "pid": 330500, + "child": [] + }, { + "value": 330503, + "name": "南浔区", + "pid": 330500, + "child": [] + }, { + "value": 330521, + "name": "德清县", + "pid": 330500, + "child": [] + }, { + "value": 330522, + "name": "长兴县", + "pid": 330500, + "child": [] + }, { + "value": 330523, + "name": "安吉县", + "pid": 330500, + "child": [] + }] + }, { + "value": 330600, + "name": "绍兴市", + "pid": 330000, + "child": [{ + "value": 330602, + "name": "越城区", + "pid": 330600, + "child": [] + }, { + "value": 330603, + "name": "柯桥区", + "pid": 330600, + "child": [] + }, { + "value": 330604, + "name": "上虞区", + "pid": 330600, + "child": [] + }, { + "value": 330624, + "name": "新昌县", + "pid": 330600, + "child": [] + }, { + "value": 330681, + "name": "诸暨市", + "pid": 330600, + "child": [] + }, { + "value": 330683, + "name": "嵊州市", + "pid": 330600, + "child": [] + }] + }, { + "value": 330700, + "name": "金华市", + "pid": 330000, + "child": [{ + "value": 330702, + "name": "婺城区", + "pid": 330700, + "child": [] + }, { + "value": 330703, + "name": "金东区", + "pid": 330700, + "child": [] + }, { + "value": 330723, + "name": "武义县", + "pid": 330700, + "child": [] + }, { + "value": 330726, + "name": "浦江县", + "pid": 330700, + "child": [] + }, { + "value": 330727, + "name": "磐安县", + "pid": 330700, + "child": [] + }, { + "value": 330781, + "name": "兰溪市", + "pid": 330700, + "child": [] + }, { + "value": 330782, + "name": "义乌市", + "pid": 330700, + "child": [] + }, { + "value": 330783, + "name": "东阳市", + "pid": 330700, + "child": [] + }, { + "value": 330784, + "name": "永康市", + "pid": 330700, + "child": [] + }] + }, { + "value": 330800, + "name": "衢州市", + "pid": 330000, + "child": [{ + "value": 330802, + "name": "柯城区", + "pid": 330800, + "child": [] + }, { + "value": 330803, + "name": "衢江区", + "pid": 330800, + "child": [] + }, { + "value": 330822, + "name": "常山县", + "pid": 330800, + "child": [] + }, { + "value": 330824, + "name": "开化县", + "pid": 330800, + "child": [] + }, { + "value": 330825, + "name": "龙游县", + "pid": 330800, + "child": [] + }, { + "value": 330881, + "name": "江山市", + "pid": 330800, + "child": [] + }] + }, { + "value": 330900, + "name": "舟山市", + "pid": 330000, + "child": [{ + "value": 330902, + "name": "定海区", + "pid": 330900, + "child": [] + }, { + "value": 330903, + "name": "普陀区", + "pid": 330900, + "child": [] + }, { + "value": 330921, + "name": "岱山县", + "pid": 330900, + "child": [] + }, { + "value": 330922, + "name": "嵊泗县", + "pid": 330900, + "child": [] + }] + }, { + "value": 331000, + "name": "台州市", + "pid": 330000, + "child": [{ + "value": 331002, + "name": "椒江区", + "pid": 331000, + "child": [] + }, { + "value": 331003, + "name": "黄岩区", + "pid": 331000, + "child": [] + }, { + "value": 331004, + "name": "路桥区", + "pid": 331000, + "child": [] + }, { + "value": 331022, + "name": "三门县", + "pid": 331000, + "child": [] + }, { + "value": 331023, + "name": "天台县", + "pid": 331000, + "child": [] + }, { + "value": 331024, + "name": "仙居县", + "pid": 331000, + "child": [] + }, { + "value": 331081, + "name": "温岭市", + "pid": 331000, + "child": [] + }, { + "value": 331082, + "name": "临海市", + "pid": 331000, + "child": [] + }, { + "value": 331083, + "name": "玉环市", + "pid": 331000, + "child": [] + }] + }, { + "value": 331100, + "name": "丽水市", + "pid": 330000, + "child": [{ + "value": 331102, + "name": "莲都区", + "pid": 331100, + "child": [] + }, { + "value": 331121, + "name": "青田县", + "pid": 331100, + "child": [] + }, { + "value": 331122, + "name": "缙云县", + "pid": 331100, + "child": [] + }, { + "value": 331123, + "name": "遂昌县", + "pid": 331100, + "child": [] + }, { + "value": 331124, + "name": "松阳县", + "pid": 331100, + "child": [] + }, { + "value": 331125, + "name": "云和县", + "pid": 331100, + "child": [] + }, { + "value": 331126, + "name": "庆元县", + "pid": 331100, + "child": [] + }, { + "value": 331127, + "name": "景宁畲族自治县", + "pid": 331100, + "child": [] + }, { + "value": 331181, + "name": "龙泉市", + "pid": 331100, + "child": [] + }] + }, { + "value": 331200, + "name": "舟山群岛新区", + "pid": 330000, + "child": [{ + "value": 331201, + "name": "金塘岛", + "pid": 331200, + "child": [] + }, { + "value": 331202, + "name": "六横岛", + "pid": 331200, + "child": [] + }, { + "value": 331203, + "name": "衢山岛", + "pid": 331200, + "child": [] + }, { + "value": 331204, + "name": "舟山本岛西北部", + "pid": 331200, + "child": [] + }, { + "value": 331205, + "name": "岱山岛西南部", + "pid": 331200, + "child": [] + }, { + "value": 331206, + "name": "泗礁岛", + "pid": 331200, + "child": [] + }, { + "value": 331207, + "name": "朱家尖岛", + "pid": 331200, + "child": [] + }, { + "value": 331208, + "name": "洋山岛", + "pid": 331200, + "child": [] + }, { + "value": 331209, + "name": "长涂岛", + "pid": 331200, + "child": [] + }, { + "value": 331210, + "name": "虾峙岛", + "pid": 331200, + "child": [] + }] + }] +}, { + "value": 340000, + "name": "安徽省", + "pid": 0, + "child": [{ + "value": 340100, + "name": "合肥市", + "pid": 340000, + "child": [{ + "value": 340102, + "name": "瑶海区", + "pid": 340100, + "child": [] + }, { + "value": 340103, + "name": "庐阳区", + "pid": 340100, + "child": [] + }, { + "value": 340104, + "name": "蜀山区", + "pid": 340100, + "child": [] + }, { + "value": 340111, + "name": "包河区", + "pid": 340100, + "child": [] + }, { + "value": 340121, + "name": "长丰县", + "pid": 340100, + "child": [] + }, { + "value": 340122, + "name": "肥东县", + "pid": 340100, + "child": [] + }, { + "value": 340123, + "name": "肥西县", + "pid": 340100, + "child": [] + }, { + "value": 340124, + "name": "庐江县", + "pid": 340100, + "child": [] + }, { + "value": 340181, + "name": "巢湖市", + "pid": 340100, + "child": [] + }, { + "value": 340184, + "name": "经济开发区", + "pid": 340100, + "child": [] + }, { + "value": 340185, + "name": "高新区", + "pid": 340100, + "child": [] + }, { + "value": 340186, + "name": "北城新区", + "pid": 340100, + "child": [] + }, { + "value": 340187, + "name": "滨湖新区", + "pid": 340100, + "child": [] + }, { + "value": 340188, + "name": "政务文化新区", + "pid": 340100, + "child": [] + }, { + "value": 340189, + "name": "新站综合开发试验区", + "pid": 340100, + "child": [] + }] + }, { + "value": 340200, + "name": "芜湖市", + "pid": 340000, + "child": [{ + "value": 340202, + "name": "镜湖区", + "pid": 340200, + "child": [] + }, { + "value": 340203, + "name": "弋江区", + "pid": 340200, + "child": [] + }, { + "value": 340207, + "name": "鸠江区", + "pid": 340200, + "child": [] + }, { + "value": 340208, + "name": "三山区", + "pid": 340200, + "child": [] + }, { + "value": 340221, + "name": "芜湖县", + "pid": 340200, + "child": [] + }, { + "value": 340222, + "name": "繁昌县", + "pid": 340200, + "child": [] + }, { + "value": 340223, + "name": "南陵县", + "pid": 340200, + "child": [] + }, { + "value": 340225, + "name": "无为县", + "pid": 340200, + "child": [] + }, { + "value": 340226, + "name": "经济开发区", + "pid": 340200, + "child": [] + }, { + "value": 340227, + "name": "城东新区", + "pid": 340200, + "child": [] + }] + }, { + "value": 340300, + "name": "蚌埠市", + "pid": 340000, + "child": [{ + "value": 340302, + "name": "龙子湖区", + "pid": 340300, + "child": [] + }, { + "value": 340303, + "name": "蚌山区", + "pid": 340300, + "child": [] + }, { + "value": 340304, + "name": "禹会区", + "pid": 340300, + "child": [] + }, { + "value": 340311, + "name": "淮上区", + "pid": 340300, + "child": [] + }, { + "value": 340321, + "name": "怀远县", + "pid": 340300, + "child": [] + }, { + "value": 340322, + "name": "五河县", + "pid": 340300, + "child": [] + }, { + "value": 340323, + "name": "固镇县", + "pid": 340300, + "child": [] + }, { + "value": 340324, + "name": "高新区", + "pid": 340300, + "child": [] + }] + }, { + "value": 340400, + "name": "淮南市", + "pid": 340000, + "child": [{ + "value": 340402, + "name": "大通区", + "pid": 340400, + "child": [] + }, { + "value": 340403, + "name": "田家庵区", + "pid": 340400, + "child": [] + }, { + "value": 340404, + "name": "谢家集区", + "pid": 340400, + "child": [] + }, { + "value": 340405, + "name": "八公山区", + "pid": 340400, + "child": [] + }, { + "value": 340406, + "name": "潘集区", + "pid": 340400, + "child": [] + }, { + "value": 340421, + "name": "凤台县", + "pid": 340400, + "child": [] + }, { + "value": 340422, + "name": "寿县", + "pid": 340400, + "child": [] + }, { + "value": 340423, + "name": "山南新区", + "pid": 340400, + "child": [] + }, { + "value": 340424, + "name": "毛集实验区", + "pid": 340400, + "child": [] + }, { + "value": 340425, + "name": "经济开发区", + "pid": 340400, + "child": [] + }] + }, { + "value": 340500, + "name": "马鞍山市", + "pid": 340000, + "child": [{ + "value": 340503, + "name": "花山区", + "pid": 340500, + "child": [] + }, { + "value": 340504, + "name": "雨山区", + "pid": 340500, + "child": [] + }, { + "value": 340506, + "name": "博望区", + "pid": 340500, + "child": [] + }, { + "value": 340521, + "name": "当涂县", + "pid": 340500, + "child": [] + }, { + "value": 340522, + "name": "含山县", + "pid": 340500, + "child": [] + }, { + "value": 340523, + "name": "和县", + "pid": 340500, + "child": [] + }] + }, { + "value": 340600, + "name": "淮北市", + "pid": 340000, + "child": [{ + "value": 340602, + "name": "杜集区", + "pid": 340600, + "child": [] + }, { + "value": 340603, + "name": "相山区", + "pid": 340600, + "child": [] + }, { + "value": 340604, + "name": "烈山区", + "pid": 340600, + "child": [] + }, { + "value": 340621, + "name": "濉溪县", + "pid": 340600, + "child": [] + }] + }, { + "value": 340700, + "name": "铜陵市", + "pid": 340000, + "child": [{ + "value": 340705, + "name": "铜官区", + "pid": 340700, + "child": [] + }, { + "value": 340706, + "name": "义安区", + "pid": 340700, + "child": [] + }, { + "value": 340711, + "name": "郊区", + "pid": 340700, + "child": [] + }, { + "value": 340722, + "name": "枞阳县", + "pid": 340700, + "child": [] + }] + }, { + "value": 340800, + "name": "安庆市", + "pid": 340000, + "child": [{ + "value": 340802, + "name": "迎江区", + "pid": 340800, + "child": [] + }, { + "value": 340803, + "name": "大观区", + "pid": 340800, + "child": [] + }, { + "value": 340811, + "name": "宜秀区", + "pid": 340800, + "child": [] + }, { + "value": 340822, + "name": "怀宁县", + "pid": 340800, + "child": [] + }, { + "value": 340825, + "name": "太湖县", + "pid": 340800, + "child": [] + }, { + "value": 340826, + "name": "宿松县", + "pid": 340800, + "child": [] + }, { + "value": 340827, + "name": "望江县", + "pid": 340800, + "child": [] + }, { + "value": 340828, + "name": "岳西县", + "pid": 340800, + "child": [] + }, { + "value": 340881, + "name": "桐城市", + "pid": 340800, + "child": [] + }, { + "value": 340882, + "name": "潜山市", + "pid": 340800, + "child": [] + }] + }, { + "value": 341000, + "name": "黄山市", + "pid": 340000, + "child": [{ + "value": 341002, + "name": "屯溪区", + "pid": 341000, + "child": [] + }, { + "value": 341003, + "name": "黄山区", + "pid": 341000, + "child": [] + }, { + "value": 341004, + "name": "徽州区", + "pid": 341000, + "child": [] + }, { + "value": 341021, + "name": "歙县", + "pid": 341000, + "child": [] + }, { + "value": 341022, + "name": "休宁县", + "pid": 341000, + "child": [] + }, { + "value": 341023, + "name": "黟县", + "pid": 341000, + "child": [] + }, { + "value": 341024, + "name": "祁门县", + "pid": 341000, + "child": [] + }] + }, { + "value": 341100, + "name": "滁州市", + "pid": 340000, + "child": [{ + "value": 341102, + "name": "琅琊区", + "pid": 341100, + "child": [] + }, { + "value": 341103, + "name": "南谯区", + "pid": 341100, + "child": [] + }, { + "value": 341122, + "name": "来安县", + "pid": 341100, + "child": [] + }, { + "value": 341124, + "name": "全椒县", + "pid": 341100, + "child": [] + }, { + "value": 341125, + "name": "定远县", + "pid": 341100, + "child": [] + }, { + "value": 341126, + "name": "凤阳县", + "pid": 341100, + "child": [] + }, { + "value": 341181, + "name": "天长市", + "pid": 341100, + "child": [] + }, { + "value": 341182, + "name": "明光市", + "pid": 341100, + "child": [] + }] + }, { + "value": 341200, + "name": "阜阳市", + "pid": 340000, + "child": [{ + "value": 341202, + "name": "颍州区", + "pid": 341200, + "child": [] + }, { + "value": 341203, + "name": "颍东区", + "pid": 341200, + "child": [] + }, { + "value": 341204, + "name": "颍泉区", + "pid": 341200, + "child": [] + }, { + "value": 341221, + "name": "临泉县", + "pid": 341200, + "child": [] + }, { + "value": 341222, + "name": "太和县", + "pid": 341200, + "child": [] + }, { + "value": 341225, + "name": "阜南县", + "pid": 341200, + "child": [] + }, { + "value": 341226, + "name": "颍上县", + "pid": 341200, + "child": [] + }, { + "value": 341282, + "name": "界首市", + "pid": 341200, + "child": [] + }, { + "value": 341283, + "name": "经济开发区", + "pid": 341200, + "child": [] + }, { + "value": 341284, + "name": "苏滁现代产业园", + "pid": 341200, + "child": [] + }] + }, { + "value": 341300, + "name": "宿州市", + "pid": 340000, + "child": [{ + "value": 341302, + "name": "埇桥区", + "pid": 341300, + "child": [] + }, { + "value": 341321, + "name": "砀山县", + "pid": 341300, + "child": [] + }, { + "value": 341322, + "name": "萧县", + "pid": 341300, + "child": [] + }, { + "value": 341323, + "name": "灵璧县", + "pid": 341300, + "child": [] + }, { + "value": 341324, + "name": "泗县", + "pid": 341300, + "child": [] + }, { + "value": 341325, + "name": "经济开发区", + "pid": 341300, + "child": [] + }, { + "value": 341371, + "name": "宿马现代产业园", + "pid": 341300, + "child": [] + }] + }, { + "value": 341500, + "name": "六安市", + "pid": 340000, + "child": [{ + "value": 341502, + "name": "金安区", + "pid": 341500, + "child": [] + }, { + "value": 341503, + "name": "裕安区", + "pid": 341500, + "child": [] + }, { + "value": 341504, + "name": "叶集区", + "pid": 341500, + "child": [] + }, { + "value": 341522, + "name": "霍邱县", + "pid": 341500, + "child": [] + }, { + "value": 341523, + "name": "舒城县", + "pid": 341500, + "child": [] + }, { + "value": 341524, + "name": "金寨县", + "pid": 341500, + "child": [] + }, { + "value": 341525, + "name": "霍山县", + "pid": 341500, + "child": [] + }] + }, { + "value": 341600, + "name": "亳州市", + "pid": 340000, + "child": [{ + "value": 341602, + "name": "谯城区", + "pid": 341600, + "child": [] + }, { + "value": 341621, + "name": "涡阳县", + "pid": 341600, + "child": [] + }, { + "value": 341622, + "name": "蒙城县", + "pid": 341600, + "child": [] + }, { + "value": 341623, + "name": "利辛县", + "pid": 341600, + "child": [] + }] + }, { + "value": 341700, + "name": "池州市", + "pid": 340000, + "child": [{ + "value": 341702, + "name": "贵池区", + "pid": 341700, + "child": [] + }, { + "value": 341721, + "name": "东至县", + "pid": 341700, + "child": [] + }, { + "value": 341722, + "name": "石台县", + "pid": 341700, + "child": [] + }, { + "value": 341723, + "name": "青阳县", + "pid": 341700, + "child": [] + }] + }, { + "value": 341800, + "name": "宣城市", + "pid": 340000, + "child": [{ + "value": 341802, + "name": "宣州区", + "pid": 341800, + "child": [] + }, { + "value": 341821, + "name": "郎溪县", + "pid": 341800, + "child": [] + }, { + "value": 341822, + "name": "广德县", + "pid": 341800, + "child": [] + }, { + "value": 341823, + "name": "泾县", + "pid": 341800, + "child": [] + }, { + "value": 341824, + "name": "绩溪县", + "pid": 341800, + "child": [] + }, { + "value": 341825, + "name": "旌德县", + "pid": 341800, + "child": [] + }, { + "value": 341881, + "name": "宁国市", + "pid": 341800, + "child": [] + }] + }] +}, { + "value": 350000, + "name": "福建省", + "pid": 0, + "child": [{ + "value": 350100, + "name": "福州市", + "pid": 350000, + "child": [{ + "value": 350102, + "name": "鼓楼区", + "pid": 350100, + "child": [] + }, { + "value": 350103, + "name": "台江区", + "pid": 350100, + "child": [] + }, { + "value": 350104, + "name": "仓山区", + "pid": 350100, + "child": [] + }, { + "value": 350105, + "name": "马尾区", + "pid": 350100, + "child": [] + }, { + "value": 350111, + "name": "晋安区", + "pid": 350100, + "child": [] + }, { + "value": 350112, + "name": "长乐区", + "pid": 350100, + "child": [] + }, { + "value": 350121, + "name": "闽侯县", + "pid": 350100, + "child": [] + }, { + "value": 350122, + "name": "连江县", + "pid": 350100, + "child": [] + }, { + "value": 350123, + "name": "罗源县", + "pid": 350100, + "child": [] + }, { + "value": 350124, + "name": "闽清县", + "pid": 350100, + "child": [] + }, { + "value": 350125, + "name": "永泰县", + "pid": 350100, + "child": [] + }, { + "value": 350128, + "name": "平潭县", + "pid": 350100, + "child": [] + }, { + "value": 350181, + "name": "福清市", + "pid": 350100, + "child": [] + }, { + "value": 350183, + "name": "福州新区", + "pid": 350100, + "child": [] + }] + }, { + "value": 350200, + "name": "厦门市", + "pid": 350000, + "child": [{ + "value": 350203, + "name": "思明区", + "pid": 350200, + "child": [] + }, { + "value": 350205, + "name": "海沧区", + "pid": 350200, + "child": [] + }, { + "value": 350206, + "name": "湖里区", + "pid": 350200, + "child": [] + }, { + "value": 350211, + "name": "集美区", + "pid": 350200, + "child": [] + }, { + "value": 350212, + "name": "同安区", + "pid": 350200, + "child": [] + }, { + "value": 350213, + "name": "翔安区", + "pid": 350200, + "child": [] + }] + }, { + "value": 350300, + "name": "莆田市", + "pid": 350000, + "child": [{ + "value": 350302, + "name": "城厢区", + "pid": 350300, + "child": [] + }, { + "value": 350303, + "name": "涵江区", + "pid": 350300, + "child": [] + }, { + "value": 350304, + "name": "荔城区", + "pid": 350300, + "child": [] + }, { + "value": 350305, + "name": "秀屿区", + "pid": 350300, + "child": [] + }, { + "value": 350322, + "name": "仙游县", + "pid": 350300, + "child": [] + }] + }, { + "value": 350400, + "name": "三明市", + "pid": 350000, + "child": [{ + "value": 350402, + "name": "梅列区", + "pid": 350400, + "child": [] + }, { + "value": 350403, + "name": "三元区", + "pid": 350400, + "child": [] + }, { + "value": 350421, + "name": "明溪县", + "pid": 350400, + "child": [] + }, { + "value": 350423, + "name": "清流县", + "pid": 350400, + "child": [] + }, { + "value": 350424, + "name": "宁化县", + "pid": 350400, + "child": [] + }, { + "value": 350425, + "name": "大田县", + "pid": 350400, + "child": [] + }, { + "value": 350426, + "name": "尤溪县", + "pid": 350400, + "child": [] + }, { + "value": 350427, + "name": "沙县", + "pid": 350400, + "child": [] + }, { + "value": 350428, + "name": "将乐县", + "pid": 350400, + "child": [] + }, { + "value": 350429, + "name": "泰宁县", + "pid": 350400, + "child": [] + }, { + "value": 350430, + "name": "建宁县", + "pid": 350400, + "child": [] + }, { + "value": 350481, + "name": "永安市", + "pid": 350400, + "child": [] + }] + }, { + "value": 350500, + "name": "泉州市", + "pid": 350000, + "child": [{ + "value": 350502, + "name": "鲤城区", + "pid": 350500, + "child": [] + }, { + "value": 350503, + "name": "丰泽区", + "pid": 350500, + "child": [] + }, { + "value": 350504, + "name": "洛江区", + "pid": 350500, + "child": [] + }, { + "value": 350505, + "name": "泉港区", + "pid": 350500, + "child": [] + }, { + "value": 350521, + "name": "惠安县", + "pid": 350500, + "child": [] + }, { + "value": 350524, + "name": "安溪县", + "pid": 350500, + "child": [] + }, { + "value": 350525, + "name": "永春县", + "pid": 350500, + "child": [] + }, { + "value": 350526, + "name": "德化县", + "pid": 350500, + "child": [] + }, { + "value": 350527, + "name": "金门县", + "pid": 350500, + "child": [] + }, { + "value": 350581, + "name": "石狮市", + "pid": 350500, + "child": [] + }, { + "value": 350582, + "name": "晋江市", + "pid": 350500, + "child": [] + }, { + "value": 350583, + "name": "南安市", + "pid": 350500, + "child": [] + }, { + "value": 350584, + "name": "台商投资区", + "pid": 350500, + "child": [] + }, { + "value": 350585, + "name": "经济技术开发区", + "pid": 350500, + "child": [] + }, { + "value": 350586, + "name": "高新区", + "pid": 350500, + "child": [] + }, { + "value": 350587, + "name": "综合保税区", + "pid": 350500, + "child": [] + }] + }, { + "value": 350600, + "name": "漳州市", + "pid": 350000, + "child": [{ + "value": 350602, + "name": "芗城区", + "pid": 350600, + "child": [] + }, { + "value": 350603, + "name": "龙文区", + "pid": 350600, + "child": [] + }, { + "value": 350622, + "name": "云霄县", + "pid": 350600, + "child": [] + }, { + "value": 350623, + "name": "漳浦县", + "pid": 350600, + "child": [] + }, { + "value": 350624, + "name": "诏安县", + "pid": 350600, + "child": [] + }, { + "value": 350625, + "name": "长泰县", + "pid": 350600, + "child": [] + }, { + "value": 350626, + "name": "东山县", + "pid": 350600, + "child": [] + }, { + "value": 350627, + "name": "南靖县", + "pid": 350600, + "child": [] + }, { + "value": 350628, + "name": "平和县", + "pid": 350600, + "child": [] + }, { + "value": 350629, + "name": "华安县", + "pid": 350600, + "child": [] + }, { + "value": 350681, + "name": "龙海市", + "pid": 350600, + "child": [] + }] + }, { + "value": 350700, + "name": "南平市", + "pid": 350000, + "child": [{ + "value": 350702, + "name": "延平区", + "pid": 350700, + "child": [] + }, { + "value": 350703, + "name": "建阳区", + "pid": 350700, + "child": [] + }, { + "value": 350721, + "name": "顺昌县", + "pid": 350700, + "child": [] + }, { + "value": 350722, + "name": "浦城县", + "pid": 350700, + "child": [] + }, { + "value": 350723, + "name": "光泽县", + "pid": 350700, + "child": [] + }, { + "value": 350724, + "name": "松溪县", + "pid": 350700, + "child": [] + }, { + "value": 350725, + "name": "政和县", + "pid": 350700, + "child": [] + }, { + "value": 350781, + "name": "邵武市", + "pid": 350700, + "child": [] + }, { + "value": 350782, + "name": "武夷山市", + "pid": 350700, + "child": [] + }, { + "value": 350783, + "name": "建瓯市", + "pid": 350700, + "child": [] + }] + }, { + "value": 350800, + "name": "龙岩市", + "pid": 350000, + "child": [{ + "value": 350802, + "name": "新罗区", + "pid": 350800, + "child": [] + }, { + "value": 350803, + "name": "永定区", + "pid": 350800, + "child": [] + }, { + "value": 350821, + "name": "长汀县", + "pid": 350800, + "child": [] + }, { + "value": 350823, + "name": "上杭县", + "pid": 350800, + "child": [] + }, { + "value": 350824, + "name": "武平县", + "pid": 350800, + "child": [] + }, { + "value": 350825, + "name": "连城县", + "pid": 350800, + "child": [] + }, { + "value": 350881, + "name": "漳平市", + "pid": 350800, + "child": [] + }] + }, { + "value": 350900, + "name": "宁德市", + "pid": 350000, + "child": [{ + "value": 350902, + "name": "蕉城区", + "pid": 350900, + "child": [] + }, { + "value": 350921, + "name": "霞浦县", + "pid": 350900, + "child": [] + }, { + "value": 350922, + "name": "古田县", + "pid": 350900, + "child": [] + }, { + "value": 350923, + "name": "屏南县", + "pid": 350900, + "child": [] + }, { + "value": 350924, + "name": "寿宁县", + "pid": 350900, + "child": [] + }, { + "value": 350925, + "name": "周宁县", + "pid": 350900, + "child": [] + }, { + "value": 350926, + "name": "柘荣县", + "pid": 350900, + "child": [] + }, { + "value": 350981, + "name": "福安市", + "pid": 350900, + "child": [] + }, { + "value": 350982, + "name": "福鼎市", + "pid": 350900, + "child": [] + }, { + "value": 350983, + "name": "东侨开发区", + "pid": 350900, + "child": [] + }] + }] +}, { + "value": 360000, + "name": "江西省", + "pid": 0, + "child": [{ + "value": 360100, + "name": "南昌市", + "pid": 360000, + "child": [{ + "value": 360102, + "name": "东湖区", + "pid": 360100, + "child": [] + }, { + "value": 360103, + "name": "西湖区", + "pid": 360100, + "child": [] + }, { + "value": 360104, + "name": "青云谱区", + "pid": 360100, + "child": [] + }, { + "value": 360105, + "name": "湾里区", + "pid": 360100, + "child": [] + }, { + "value": 360111, + "name": "青山湖区", + "pid": 360100, + "child": [] + }, { + "value": 360112, + "name": "新建区", + "pid": 360100, + "child": [] + }, { + "value": 360121, + "name": "南昌县", + "pid": 360100, + "child": [] + }, { + "value": 360123, + "name": "安义县", + "pid": 360100, + "child": [] + }, { + "value": 360124, + "name": "进贤县", + "pid": 360100, + "child": [] + }, { + "value": 360125, + "name": "红谷滩新区", + "pid": 360100, + "child": [] + }, { + "value": 360126, + "name": "高新区", + "pid": 360100, + "child": [] + }, { + "value": 360127, + "name": "经济开发区", + "pid": 360100, + "child": [] + }, { + "value": 360128, + "name": "小蓝开发区", + "pid": 360100, + "child": [] + }, { + "value": 360129, + "name": "桑海开发区", + "pid": 360100, + "child": [] + }, { + "value": 360130, + "name": "望城新区", + "pid": 360100, + "child": [] + }, { + "value": 360131, + "name": "赣江新区", + "pid": 360100, + "child": [] + }] + }, { + "value": 360200, + "name": "景德镇市", + "pid": 360000, + "child": [{ + "value": 360202, + "name": "昌江区", + "pid": 360200, + "child": [] + }, { + "value": 360203, + "name": "珠山区", + "pid": 360200, + "child": [] + }, { + "value": 360222, + "name": "浮梁县", + "pid": 360200, + "child": [] + }, { + "value": 360281, + "name": "乐平市", + "pid": 360200, + "child": [] + }] + }, { + "value": 360300, + "name": "萍乡市", + "pid": 360000, + "child": [{ + "value": 360302, + "name": "安源区", + "pid": 360300, + "child": [] + }, { + "value": 360313, + "name": "湘东区", + "pid": 360300, + "child": [] + }, { + "value": 360321, + "name": "莲花县", + "pid": 360300, + "child": [] + }, { + "value": 360322, + "name": "上栗县", + "pid": 360300, + "child": [] + }, { + "value": 360323, + "name": "芦溪县", + "pid": 360300, + "child": [] + }] + }, { + "value": 360400, + "name": "九江市", + "pid": 360000, + "child": [{ + "value": 360402, + "name": "濂溪区", + "pid": 360400, + "child": [] + }, { + "value": 360403, + "name": "浔阳区", + "pid": 360400, + "child": [] + }, { + "value": 360404, + "name": "柴桑区", + "pid": 360400, + "child": [] + }, { + "value": 360423, + "name": "武宁县", + "pid": 360400, + "child": [] + }, { + "value": 360424, + "name": "修水县", + "pid": 360400, + "child": [] + }, { + "value": 360425, + "name": "永修县", + "pid": 360400, + "child": [] + }, { + "value": 360426, + "name": "德安县", + "pid": 360400, + "child": [] + }, { + "value": 360428, + "name": "都昌县", + "pid": 360400, + "child": [] + }, { + "value": 360429, + "name": "湖口县", + "pid": 360400, + "child": [] + }, { + "value": 360430, + "name": "彭泽县", + "pid": 360400, + "child": [] + }, { + "value": 360481, + "name": "瑞昌市", + "pid": 360400, + "child": [] + }, { + "value": 360482, + "name": "共青城市", + "pid": 360400, + "child": [] + }, { + "value": 360483, + "name": "庐山市", + "pid": 360400, + "child": [] + }, { + "value": 360484, + "name": "经济技术开发区", + "pid": 360400, + "child": [] + }, { + "value": 360485, + "name": "八里湖新区", + "pid": 360400, + "child": [] + }, { + "value": 360486, + "name": "庐山风景名胜区", + "pid": 360400, + "child": [] + }] + }, { + "value": 360500, + "name": "新余市", + "pid": 360000, + "child": [{ + "value": 360502, + "name": "渝水区", + "pid": 360500, + "child": [] + }, { + "value": 360521, + "name": "分宜县", + "pid": 360500, + "child": [] + }] + }, { + "value": 360600, + "name": "鹰潭市", + "pid": 360000, + "child": [{ + "value": 360602, + "name": "月湖区", + "pid": 360600, + "child": [] + }, { + "value": 360603, + "name": "余江区", + "pid": 360600, + "child": [] + }, { + "value": 360681, + "name": "贵溪市", + "pid": 360600, + "child": [] + }, { + "value": 360682, + "name": "高新区", + "pid": 360600, + "child": [] + }] + }, { + "value": 360700, + "name": "赣州市", + "pid": 360000, + "child": [{ + "value": 360702, + "name": "章贡区", + "pid": 360700, + "child": [] + }, { + "value": 360703, + "name": "南康区", + "pid": 360700, + "child": [] + }, { + "value": 360704, + "name": "赣县区", + "pid": 360700, + "child": [] + }, { + "value": 360722, + "name": "信丰县", + "pid": 360700, + "child": [] + }, { + "value": 360723, + "name": "大余县", + "pid": 360700, + "child": [] + }, { + "value": 360724, + "name": "上犹县", + "pid": 360700, + "child": [] + }, { + "value": 360725, + "name": "崇义县", + "pid": 360700, + "child": [] + }, { + "value": 360726, + "name": "安远县", + "pid": 360700, + "child": [] + }, { + "value": 360727, + "name": "龙南县", + "pid": 360700, + "child": [] + }, { + "value": 360728, + "name": "定南县", + "pid": 360700, + "child": [] + }, { + "value": 360729, + "name": "全南县", + "pid": 360700, + "child": [] + }, { + "value": 360730, + "name": "宁都县", + "pid": 360700, + "child": [] + }, { + "value": 360731, + "name": "于都县", + "pid": 360700, + "child": [] + }, { + "value": 360732, + "name": "兴国县", + "pid": 360700, + "child": [] + }, { + "value": 360733, + "name": "会昌县", + "pid": 360700, + "child": [] + }, { + "value": 360734, + "name": "寻乌县", + "pid": 360700, + "child": [] + }, { + "value": 360735, + "name": "石城县", + "pid": 360700, + "child": [] + }, { + "value": 360781, + "name": "瑞金市", + "pid": 360700, + "child": [] + }, { + "value": 360782, + "name": "章康新区", + "pid": 360700, + "child": [] + }] + }, { + "value": 360800, + "name": "吉安市", + "pid": 360000, + "child": [{ + "value": 360802, + "name": "吉州区", + "pid": 360800, + "child": [] + }, { + "value": 360803, + "name": "青原区", + "pid": 360800, + "child": [] + }, { + "value": 360821, + "name": "吉安县", + "pid": 360800, + "child": [] + }, { + "value": 360822, + "name": "吉水县", + "pid": 360800, + "child": [] + }, { + "value": 360823, + "name": "峡江县", + "pid": 360800, + "child": [] + }, { + "value": 360824, + "name": "新干县", + "pid": 360800, + "child": [] + }, { + "value": 360825, + "name": "永丰县", + "pid": 360800, + "child": [] + }, { + "value": 360826, + "name": "泰和县", + "pid": 360800, + "child": [] + }, { + "value": 360827, + "name": "遂川县", + "pid": 360800, + "child": [] + }, { + "value": 360828, + "name": "万安县", + "pid": 360800, + "child": [] + }, { + "value": 360829, + "name": "安福县", + "pid": 360800, + "child": [] + }, { + "value": 360830, + "name": "永新县", + "pid": 360800, + "child": [] + }, { + "value": 360881, + "name": "井冈山市", + "pid": 360800, + "child": [] + }] + }, { + "value": 360900, + "name": "宜春市", + "pid": 360000, + "child": [{ + "value": 360902, + "name": "袁州区", + "pid": 360900, + "child": [] + }, { + "value": 360921, + "name": "奉新县", + "pid": 360900, + "child": [] + }, { + "value": 360922, + "name": "万载县", + "pid": 360900, + "child": [] + }, { + "value": 360923, + "name": "上高县", + "pid": 360900, + "child": [] + }, { + "value": 360924, + "name": "宜丰县", + "pid": 360900, + "child": [] + }, { + "value": 360925, + "name": "靖安县", + "pid": 360900, + "child": [] + }, { + "value": 360926, + "name": "铜鼓县", + "pid": 360900, + "child": [] + }, { + "value": 360981, + "name": "丰城市", + "pid": 360900, + "child": [] + }, { + "value": 360982, + "name": "樟树市", + "pid": 360900, + "child": [] + }, { + "value": 360983, + "name": "高安市", + "pid": 360900, + "child": [] + }] + }, { + "value": 361000, + "name": "抚州市", + "pid": 360000, + "child": [{ + "value": 361002, + "name": "临川区", + "pid": 361000, + "child": [] + }, { + "value": 361003, + "name": "东乡区", + "pid": 361000, + "child": [] + }, { + "value": 361021, + "name": "南城县", + "pid": 361000, + "child": [] + }, { + "value": 361022, + "name": "黎川县", + "pid": 361000, + "child": [] + }, { + "value": 361023, + "name": "南丰县", + "pid": 361000, + "child": [] + }, { + "value": 361024, + "name": "崇仁县", + "pid": 361000, + "child": [] + }, { + "value": 361025, + "name": "乐安县", + "pid": 361000, + "child": [] + }, { + "value": 361026, + "name": "宜黄县", + "pid": 361000, + "child": [] + }, { + "value": 361027, + "name": "金溪县", + "pid": 361000, + "child": [] + }, { + "value": 361028, + "name": "资溪县", + "pid": 361000, + "child": [] + }, { + "value": 361030, + "name": "广昌县", + "pid": 361000, + "child": [] + }] + }, { + "value": 361100, + "name": "上饶市", + "pid": 360000, + "child": [{ + "value": 361102, + "name": "信州区", + "pid": 361100, + "child": [] + }, { + "value": 361103, + "name": "广丰区", + "pid": 361100, + "child": [] + }, { + "value": 361121, + "name": "上饶县", + "pid": 361100, + "child": [] + }, { + "value": 361123, + "name": "玉山县", + "pid": 361100, + "child": [] + }, { + "value": 361124, + "name": "铅山县", + "pid": 361100, + "child": [] + }, { + "value": 361125, + "name": "横峰县", + "pid": 361100, + "child": [] + }, { + "value": 361126, + "name": "弋阳县", + "pid": 361100, + "child": [] + }, { + "value": 361127, + "name": "余干县", + "pid": 361100, + "child": [] + }, { + "value": 361128, + "name": "鄱阳县", + "pid": 361100, + "child": [] + }, { + "value": 361129, + "name": "万年县", + "pid": 361100, + "child": [] + }, { + "value": 361130, + "name": "婺源县", + "pid": 361100, + "child": [] + }, { + "value": 361181, + "name": "德兴市", + "pid": 361100, + "child": [] + }] + }] +}, { + "value": 370000, + "name": "山东省", + "pid": 0, + "child": [{ + "value": 370100, + "name": "济南市", + "pid": 370000, + "child": [{ + "value": 370102, + "name": "历下区", + "pid": 370100, + "child": [] + }, { + "value": 370103, + "name": "市中区", + "pid": 370100, + "child": [] + }, { + "value": 370104, + "name": "槐荫区", + "pid": 370100, + "child": [] + }, { + "value": 370105, + "name": "天桥区", + "pid": 370100, + "child": [] + }, { + "value": 370112, + "name": "历城区", + "pid": 370100, + "child": [] + }, { + "value": 370113, + "name": "长清区", + "pid": 370100, + "child": [] + }, { + "value": 370114, + "name": "章丘区", + "pid": 370100, + "child": [] + }, { + "value": 370115, + "name": "济阳区", + "pid": 370100, + "child": [] + }, { + "value": 370116, + "name": "莱芜区", + "pid": 370100, + "child": [] + }, { + "value": 370117, + "name": "钢城区", + "pid": 370100, + "child": [] + }, { + "value": 370124, + "name": "平阴县", + "pid": 370100, + "child": [] + }, { + "value": 370126, + "name": "商河县", + "pid": 370100, + "child": [] + }, { + "value": 370182, + "name": "高新区", + "pid": 370100, + "child": [] + }] + }, { + "value": 370200, + "name": "青岛市", + "pid": 370000, + "child": [{ + "value": 370202, + "name": "市南区", + "pid": 370200, + "child": [] + }, { + "value": 370203, + "name": "市北区", + "pid": 370200, + "child": [] + }, { + "value": 370211, + "name": "黄岛区", + "pid": 370200, + "child": [] + }, { + "value": 370212, + "name": "崂山区", + "pid": 370200, + "child": [] + }, { + "value": 370213, + "name": "李沧区", + "pid": 370200, + "child": [] + }, { + "value": 370214, + "name": "城阳区", + "pid": 370200, + "child": [] + }, { + "value": 370215, + "name": "即墨区", + "pid": 370200, + "child": [] + }, { + "value": 370281, + "name": "胶州市", + "pid": 370200, + "child": [] + }, { + "value": 370283, + "name": "平度市", + "pid": 370200, + "child": [] + }, { + "value": 370285, + "name": "莱西市", + "pid": 370200, + "child": [] + }, { + "value": 370286, + "name": "西海岸新区", + "pid": 370200, + "child": [] + }, { + "value": 370287, + "name": "高新区", + "pid": 370200, + "child": [] + }] + }, { + "value": 370300, + "name": "淄博市", + "pid": 370000, + "child": [{ + "value": 370302, + "name": "淄川区", + "pid": 370300, + "child": [] + }, { + "value": 370303, + "name": "张店区", + "pid": 370300, + "child": [] + }, { + "value": 370304, + "name": "博山区", + "pid": 370300, + "child": [] + }, { + "value": 370305, + "name": "临淄区", + "pid": 370300, + "child": [] + }, { + "value": 370306, + "name": "周村区", + "pid": 370300, + "child": [] + }, { + "value": 370321, + "name": "桓台县", + "pid": 370300, + "child": [] + }, { + "value": 370322, + "name": "高青县", + "pid": 370300, + "child": [] + }, { + "value": 370323, + "name": "沂源县", + "pid": 370300, + "child": [] + }, { + "value": 370324, + "name": "高新区", + "pid": 370300, + "child": [] + }] + }, { + "value": 370400, + "name": "枣庄市", + "pid": 370000, + "child": [{ + "value": 370402, + "name": "市中区", + "pid": 370400, + "child": [] + }, { + "value": 370403, + "name": "薛城区", + "pid": 370400, + "child": [] + }, { + "value": 370404, + "name": "峄城区", + "pid": 370400, + "child": [] + }, { + "value": 370405, + "name": "台儿庄区", + "pid": 370400, + "child": [] + }, { + "value": 370406, + "name": "山亭区", + "pid": 370400, + "child": [] + }, { + "value": 370481, + "name": "滕州市", + "pid": 370400, + "child": [] + }, { + "value": 370482, + "name": "高新区", + "pid": 370400, + "child": [] + }] + }, { + "value": 370500, + "name": "东营市", + "pid": 370000, + "child": [{ + "value": 370502, + "name": "东营区", + "pid": 370500, + "child": [] + }, { + "value": 370503, + "name": "河口区", + "pid": 370500, + "child": [] + }, { + "value": 370505, + "name": "垦利区", + "pid": 370500, + "child": [] + }, { + "value": 370522, + "name": "利津县", + "pid": 370500, + "child": [] + }, { + "value": 370523, + "name": "广饶县", + "pid": 370500, + "child": [] + }] + }, { + "value": 370600, + "name": "烟台市", + "pid": 370000, + "child": [{ + "value": 370602, + "name": "芝罘区", + "pid": 370600, + "child": [] + }, { + "value": 370611, + "name": "福山区", + "pid": 370600, + "child": [] + }, { + "value": 370612, + "name": "牟平区", + "pid": 370600, + "child": [] + }, { + "value": 370613, + "name": "莱山区", + "pid": 370600, + "child": [] + }, { + "value": 370634, + "name": "长岛县", + "pid": 370600, + "child": [] + }, { + "value": 370681, + "name": "龙口市", + "pid": 370600, + "child": [] + }, { + "value": 370682, + "name": "莱阳市", + "pid": 370600, + "child": [] + }, { + "value": 370683, + "name": "莱州市", + "pid": 370600, + "child": [] + }, { + "value": 370684, + "name": "蓬莱市", + "pid": 370600, + "child": [] + }, { + "value": 370685, + "name": "招远市", + "pid": 370600, + "child": [] + }, { + "value": 370686, + "name": "栖霞市", + "pid": 370600, + "child": [] + }, { + "value": 370687, + "name": "海阳市", + "pid": 370600, + "child": [] + }, { + "value": 370688, + "name": "高新区", + "pid": 370600, + "child": [] + }, { + "value": 370689, + "name": "经济开发区", + "pid": 370600, + "child": [] + }] + }, { + "value": 370700, + "name": "潍坊市", + "pid": 370000, + "child": [{ + "value": 370702, + "name": "潍城区", + "pid": 370700, + "child": [] + }, { + "value": 370703, + "name": "寒亭区", + "pid": 370700, + "child": [] + }, { + "value": 370704, + "name": "坊子区", + "pid": 370700, + "child": [] + }, { + "value": 370705, + "name": "奎文区", + "pid": 370700, + "child": [] + }, { + "value": 370724, + "name": "临朐县", + "pid": 370700, + "child": [] + }, { + "value": 370725, + "name": "昌乐县", + "pid": 370700, + "child": [] + }, { + "value": 370781, + "name": "青州市", + "pid": 370700, + "child": [] + }, { + "value": 370782, + "name": "诸城市", + "pid": 370700, + "child": [] + }, { + "value": 370783, + "name": "寿光市", + "pid": 370700, + "child": [] + }, { + "value": 370784, + "name": "安丘市", + "pid": 370700, + "child": [] + }, { + "value": 370785, + "name": "高密市", + "pid": 370700, + "child": [] + }, { + "value": 370786, + "name": "昌邑市", + "pid": 370700, + "child": [] + }, { + "value": 370787, + "name": "高新区", + "pid": 370700, + "child": [] + }] + }, { + "value": 370800, + "name": "济宁市", + "pid": 370000, + "child": [{ + "value": 370811, + "name": "任城区", + "pid": 370800, + "child": [] + }, { + "value": 370812, + "name": "兖州区", + "pid": 370800, + "child": [] + }, { + "value": 370826, + "name": "微山县", + "pid": 370800, + "child": [] + }, { + "value": 370827, + "name": "鱼台县", + "pid": 370800, + "child": [] + }, { + "value": 370828, + "name": "金乡县", + "pid": 370800, + "child": [] + }, { + "value": 370829, + "name": "嘉祥县", + "pid": 370800, + "child": [] + }, { + "value": 370830, + "name": "汶上县", + "pid": 370800, + "child": [] + }, { + "value": 370831, + "name": "泗水县", + "pid": 370800, + "child": [] + }, { + "value": 370832, + "name": "梁山县", + "pid": 370800, + "child": [] + }, { + "value": 370881, + "name": "曲阜市", + "pid": 370800, + "child": [] + }, { + "value": 370883, + "name": "邹城市", + "pid": 370800, + "child": [] + }, { + "value": 370884, + "name": "高新区", + "pid": 370800, + "child": [] + }] + }, { + "value": 370900, + "name": "泰安市", + "pid": 370000, + "child": [{ + "value": 370902, + "name": "泰山区", + "pid": 370900, + "child": [] + }, { + "value": 370911, + "name": "岱岳区", + "pid": 370900, + "child": [] + }, { + "value": 370921, + "name": "宁阳县", + "pid": 370900, + "child": [] + }, { + "value": 370923, + "name": "东平县", + "pid": 370900, + "child": [] + }, { + "value": 370982, + "name": "新泰市", + "pid": 370900, + "child": [] + }, { + "value": 370983, + "name": "肥城市", + "pid": 370900, + "child": [] + }] + }, { + "value": 371000, + "name": "威海市", + "pid": 370000, + "child": [{ + "value": 371002, + "name": "环翠区", + "pid": 371000, + "child": [] + }, { + "value": 371003, + "name": "文登区", + "pid": 371000, + "child": [] + }, { + "value": 371082, + "name": "荣成市", + "pid": 371000, + "child": [] + }, { + "value": 371083, + "name": "乳山市", + "pid": 371000, + "child": [] + }, { + "value": 371084, + "name": "火炬高新区", + "pid": 371000, + "child": [] + }, { + "value": 371085, + "name": "经济技术开发区", + "pid": 371000, + "child": [] + }, { + "value": 371086, + "name": "临港经济技术开发区", + "pid": 371000, + "child": [] + }] + }, { + "value": 371100, + "name": "日照市", + "pid": 370000, + "child": [{ + "value": 371102, + "name": "东港区", + "pid": 371100, + "child": [] + }, { + "value": 371103, + "name": "岚山区", + "pid": 371100, + "child": [] + }, { + "value": 371121, + "name": "五莲县", + "pid": 371100, + "child": [] + }, { + "value": 371122, + "name": "莒县", + "pid": 371100, + "child": [] + }] + }, { + "value": 371300, + "name": "临沂市", + "pid": 370000, + "child": [{ + "value": 371302, + "name": "兰山区", + "pid": 371300, + "child": [] + }, { + "value": 371311, + "name": "罗庄区", + "pid": 371300, + "child": [] + }, { + "value": 371312, + "name": "河东区", + "pid": 371300, + "child": [] + }, { + "value": 371321, + "name": "沂南县", + "pid": 371300, + "child": [] + }, { + "value": 371322, + "name": "郯城县", + "pid": 371300, + "child": [] + }, { + "value": 371323, + "name": "沂水县", + "pid": 371300, + "child": [] + }, { + "value": 371324, + "name": "兰陵县", + "pid": 371300, + "child": [] + }, { + "value": 371325, + "name": "费县", + "pid": 371300, + "child": [] + }, { + "value": 371326, + "name": "平邑县", + "pid": 371300, + "child": [] + }, { + "value": 371327, + "name": "莒南县", + "pid": 371300, + "child": [] + }, { + "value": 371328, + "name": "蒙阴县", + "pid": 371300, + "child": [] + }, { + "value": 371329, + "name": "临沭县", + "pid": 371300, + "child": [] + }] + }, { + "value": 371400, + "name": "德州市", + "pid": 370000, + "child": [{ + "value": 371402, + "name": "德城区", + "pid": 371400, + "child": [] + }, { + "value": 371403, + "name": "陵城区", + "pid": 371400, + "child": [] + }, { + "value": 371422, + "name": "宁津县", + "pid": 371400, + "child": [] + }, { + "value": 371423, + "name": "庆云县", + "pid": 371400, + "child": [] + }, { + "value": 371424, + "name": "临邑县", + "pid": 371400, + "child": [] + }, { + "value": 371425, + "name": "齐河县", + "pid": 371400, + "child": [] + }, { + "value": 371426, + "name": "平原县", + "pid": 371400, + "child": [] + }, { + "value": 371427, + "name": "夏津县", + "pid": 371400, + "child": [] + }, { + "value": 371428, + "name": "武城县", + "pid": 371400, + "child": [] + }, { + "value": 371481, + "name": "乐陵市", + "pid": 371400, + "child": [] + }, { + "value": 371482, + "name": "禹城市", + "pid": 371400, + "child": [] + }] + }, { + "value": 371500, + "name": "聊城市", + "pid": 370000, + "child": [{ + "value": 371502, + "name": "东昌府区", + "pid": 371500, + "child": [] + }, { + "value": 371521, + "name": "阳谷县", + "pid": 371500, + "child": [] + }, { + "value": 371522, + "name": "莘县", + "pid": 371500, + "child": [] + }, { + "value": 371523, + "name": "茌平县", + "pid": 371500, + "child": [] + }, { + "value": 371524, + "name": "东阿县", + "pid": 371500, + "child": [] + }, { + "value": 371525, + "name": "冠县", + "pid": 371500, + "child": [] + }, { + "value": 371526, + "name": "高唐县", + "pid": 371500, + "child": [] + }, { + "value": 371581, + "name": "临清市", + "pid": 371500, + "child": [] + }] + }, { + "value": 371600, + "name": "滨州市", + "pid": 370000, + "child": [{ + "value": 371602, + "name": "滨城区", + "pid": 371600, + "child": [] + }, { + "value": 371603, + "name": "沾化区", + "pid": 371600, + "child": [] + }, { + "value": 371621, + "name": "惠民县", + "pid": 371600, + "child": [] + }, { + "value": 371622, + "name": "阳信县", + "pid": 371600, + "child": [] + }, { + "value": 371623, + "name": "无棣县", + "pid": 371600, + "child": [] + }, { + "value": 371625, + "name": "博兴县", + "pid": 371600, + "child": [] + }, { + "value": 371681, + "name": "邹平市", + "pid": 371600, + "child": [] + }, { + "value": 371682, + "name": "北海新区", + "pid": 371600, + "child": [] + }] + }, { + "value": 371700, + "name": "菏泽市", + "pid": 370000, + "child": [{ + "value": 371702, + "name": "牡丹区", + "pid": 371700, + "child": [] + }, { + "value": 371703, + "name": "定陶区", + "pid": 371700, + "child": [] + }, { + "value": 371721, + "name": "曹县", + "pid": 371700, + "child": [] + }, { + "value": 371722, + "name": "单县", + "pid": 371700, + "child": [] + }, { + "value": 371723, + "name": "成武县", + "pid": 371700, + "child": [] + }, { + "value": 371724, + "name": "巨野县", + "pid": 371700, + "child": [] + }, { + "value": 371725, + "name": "郓城县", + "pid": 371700, + "child": [] + }, { + "value": 371726, + "name": "鄄城县", + "pid": 371700, + "child": [] + }, { + "value": 371728, + "name": "东明县", + "pid": 371700, + "child": [] + }, { + "value": 371772, + "name": "高新开发区", + "pid": 371700, + "child": [] + }] + }] +}, { + "value": 410000, + "name": "河南省", + "pid": 0, + "child": [{ + "value": 410100, + "name": "郑州市", + "pid": 410000, + "child": [{ + "value": 410102, + "name": "中原区", + "pid": 410100, + "child": [] + }, { + "value": 410103, + "name": "二七区", + "pid": 410100, + "child": [] + }, { + "value": 410104, + "name": "管城回族区", + "pid": 410100, + "child": [] + }, { + "value": 410105, + "name": "金水区", + "pid": 410100, + "child": [] + }, { + "value": 410106, + "name": "上街区", + "pid": 410100, + "child": [] + }, { + "value": 410108, + "name": "惠济区", + "pid": 410100, + "child": [] + }, { + "value": 410122, + "name": "中牟县", + "pid": 410100, + "child": [] + }, { + "value": 410181, + "name": "巩义市", + "pid": 410100, + "child": [] + }, { + "value": 410182, + "name": "荥阳市", + "pid": 410100, + "child": [] + }, { + "value": 410183, + "name": "新密市", + "pid": 410100, + "child": [] + }, { + "value": 410184, + "name": "新郑市", + "pid": 410100, + "child": [] + }, { + "value": 410185, + "name": "登封市", + "pid": 410100, + "child": [] + }, { + "value": 410186, + "name": "郑东新区", + "pid": 410100, + "child": [] + }, { + "value": 410187, + "name": "郑汴新区", + "pid": 410100, + "child": [] + }, { + "value": 410188, + "name": "高新开发区", + "pid": 410100, + "child": [] + }, { + "value": 410189, + "name": "经济开发区", + "pid": 410100, + "child": [] + }, { + "value": 410190, + "name": "航空港区", + "pid": 410100, + "child": [] + }] + }, { + "value": 410200, + "name": "开封市", + "pid": 410000, + "child": [{ + "value": 410202, + "name": "龙亭区", + "pid": 410200, + "child": [] + }, { + "value": 410203, + "name": "顺河回族区", + "pid": 410200, + "child": [] + }, { + "value": 410204, + "name": "鼓楼区", + "pid": 410200, + "child": [] + }, { + "value": 410205, + "name": "禹王台区", + "pid": 410200, + "child": [] + }, { + "value": 410212, + "name": "祥符区", + "pid": 410200, + "child": [] + }, { + "value": 410221, + "name": "杞县", + "pid": 410200, + "child": [] + }, { + "value": 410222, + "name": "通许县", + "pid": 410200, + "child": [] + }, { + "value": 410223, + "name": "尉氏县", + "pid": 410200, + "child": [] + }, { + "value": 410225, + "name": "兰考县", + "pid": 410200, + "child": [] + }, { + "value": 410226, + "name": "经济技术开发区", + "pid": 410200, + "child": [] + }] + }, { + "value": 410300, + "name": "洛阳市", + "pid": 410000, + "child": [{ + "value": 410302, + "name": "老城区", + "pid": 410300, + "child": [] + }, { + "value": 410303, + "name": "西工区", + "pid": 410300, + "child": [] + }, { + "value": 410304, + "name": "瀍河回族区", + "pid": 410300, + "child": [] + }, { + "value": 410305, + "name": "涧西区", + "pid": 410300, + "child": [] + }, { + "value": 410306, + "name": "吉利区", + "pid": 410300, + "child": [] + }, { + "value": 410311, + "name": "洛龙区", + "pid": 410300, + "child": [] + }, { + "value": 410322, + "name": "孟津县", + "pid": 410300, + "child": [] + }, { + "value": 410323, + "name": "新安县", + "pid": 410300, + "child": [] + }, { + "value": 410324, + "name": "栾川县", + "pid": 410300, + "child": [] + }, { + "value": 410325, + "name": "嵩县", + "pid": 410300, + "child": [] + }, { + "value": 410326, + "name": "汝阳县", + "pid": 410300, + "child": [] + }, { + "value": 410327, + "name": "宜阳县", + "pid": 410300, + "child": [] + }, { + "value": 410328, + "name": "洛宁县", + "pid": 410300, + "child": [] + }, { + "value": 410329, + "name": "伊川县", + "pid": 410300, + "child": [] + }, { + "value": 410381, + "name": "偃师市", + "pid": 410300, + "child": [] + }, { + "value": 410382, + "name": "洛阳新区", + "pid": 410300, + "child": [] + }, { + "value": 410383, + "name": "高新区", + "pid": 410300, + "child": [] + }] + }, { + "value": 410400, + "name": "平顶山市", + "pid": 410000, + "child": [{ + "value": 410402, + "name": "新华区", + "pid": 410400, + "child": [] + }, { + "value": 410403, + "name": "卫东区", + "pid": 410400, + "child": [] + }, { + "value": 410404, + "name": "石龙区", + "pid": 410400, + "child": [] + }, { + "value": 410411, + "name": "湛河区", + "pid": 410400, + "child": [] + }, { + "value": 410421, + "name": "宝丰县", + "pid": 410400, + "child": [] + }, { + "value": 410422, + "name": "叶县", + "pid": 410400, + "child": [] + }, { + "value": 410423, + "name": "鲁山县", + "pid": 410400, + "child": [] + }, { + "value": 410425, + "name": "郏县", + "pid": 410400, + "child": [] + }, { + "value": 410481, + "name": "舞钢市", + "pid": 410400, + "child": [] + }, { + "value": 410482, + "name": "汝州市", + "pid": 410400, + "child": [] + }, { + "value": 410483, + "name": "高新区", + "pid": 410400, + "child": [] + }, { + "value": 410484, + "name": "新城区", + "pid": 410400, + "child": [] + }] + }, { + "value": 410500, + "name": "安阳市", + "pid": 410000, + "child": [{ + "value": 410502, + "name": "文峰区", + "pid": 410500, + "child": [] + }, { + "value": 410503, + "name": "北关区", + "pid": 410500, + "child": [] + }, { + "value": 410505, + "name": "殷都区", + "pid": 410500, + "child": [] + }, { + "value": 410506, + "name": "龙安区", + "pid": 410500, + "child": [] + }, { + "value": 410522, + "name": "安阳县", + "pid": 410500, + "child": [] + }, { + "value": 410523, + "name": "汤阴县", + "pid": 410500, + "child": [] + }, { + "value": 410526, + "name": "滑县", + "pid": 410500, + "child": [] + }, { + "value": 410527, + "name": "内黄县", + "pid": 410500, + "child": [] + }, { + "value": 410581, + "name": "林州市", + "pid": 410500, + "child": [] + }, { + "value": 410582, + "name": "安阳新区", + "pid": 410500, + "child": [] + }] + }, { + "value": 410600, + "name": "鹤壁市", + "pid": 410000, + "child": [{ + "value": 410602, + "name": "鹤山区", + "pid": 410600, + "child": [] + }, { + "value": 410603, + "name": "山城区", + "pid": 410600, + "child": [] + }, { + "value": 410611, + "name": "淇滨区", + "pid": 410600, + "child": [] + }, { + "value": 410621, + "name": "浚县", + "pid": 410600, + "child": [] + }, { + "value": 410622, + "name": "淇县", + "pid": 410600, + "child": [] + }] + }, { + "value": 410700, + "name": "新乡市", + "pid": 410000, + "child": [{ + "value": 410702, + "name": "红旗区", + "pid": 410700, + "child": [] + }, { + "value": 410703, + "name": "卫滨区", + "pid": 410700, + "child": [] + }, { + "value": 410704, + "name": "凤泉区", + "pid": 410700, + "child": [] + }, { + "value": 410711, + "name": "牧野区", + "pid": 410700, + "child": [] + }, { + "value": 410721, + "name": "新乡县", + "pid": 410700, + "child": [] + }, { + "value": 410724, + "name": "获嘉县", + "pid": 410700, + "child": [] + }, { + "value": 410725, + "name": "原阳县", + "pid": 410700, + "child": [] + }, { + "value": 410726, + "name": "延津县", + "pid": 410700, + "child": [] + }, { + "value": 410727, + "name": "封丘县", + "pid": 410700, + "child": [] + }, { + "value": 410728, + "name": "长垣县", + "pid": 410700, + "child": [] + }, { + "value": 410781, + "name": "卫辉市", + "pid": 410700, + "child": [] + }, { + "value": 410782, + "name": "辉县市", + "pid": 410700, + "child": [] + }] + }, { + "value": 410800, + "name": "焦作市", + "pid": 410000, + "child": [{ + "value": 410802, + "name": "解放区", + "pid": 410800, + "child": [] + }, { + "value": 410803, + "name": "中站区", + "pid": 410800, + "child": [] + }, { + "value": 410804, + "name": "马村区", + "pid": 410800, + "child": [] + }, { + "value": 410811, + "name": "山阳区", + "pid": 410800, + "child": [] + }, { + "value": 410821, + "name": "修武县", + "pid": 410800, + "child": [] + }, { + "value": 410822, + "name": "博爱县", + "pid": 410800, + "child": [] + }, { + "value": 410823, + "name": "武陟县", + "pid": 410800, + "child": [] + }, { + "value": 410825, + "name": "温县", + "pid": 410800, + "child": [] + }, { + "value": 410882, + "name": "沁阳市", + "pid": 410800, + "child": [] + }, { + "value": 410883, + "name": "孟州市", + "pid": 410800, + "child": [] + }] + }, { + "value": 410900, + "name": "濮阳市", + "pid": 410000, + "child": [{ + "value": 410902, + "name": "华龙区", + "pid": 410900, + "child": [] + }, { + "value": 410922, + "name": "清丰县", + "pid": 410900, + "child": [] + }, { + "value": 410923, + "name": "南乐县", + "pid": 410900, + "child": [] + }, { + "value": 410926, + "name": "范县", + "pid": 410900, + "child": [] + }, { + "value": 410927, + "name": "台前县", + "pid": 410900, + "child": [] + }, { + "value": 410928, + "name": "濮阳县", + "pid": 410900, + "child": [] + }] + }, { + "value": 411000, + "name": "许昌市", + "pid": 410000, + "child": [{ + "value": 411002, + "name": "魏都区", + "pid": 411000, + "child": [] + }, { + "value": 411003, + "name": "建安区", + "pid": 411000, + "child": [] + }, { + "value": 411024, + "name": "鄢陵县", + "pid": 411000, + "child": [] + }, { + "value": 411025, + "name": "襄城县", + "pid": 411000, + "child": [] + }, { + "value": 411081, + "name": "禹州市", + "pid": 411000, + "child": [] + }, { + "value": 411082, + "name": "长葛市", + "pid": 411000, + "child": [] + }] + }, { + "value": 411100, + "name": "漯河市", + "pid": 410000, + "child": [{ + "value": 411102, + "name": "源汇区", + "pid": 411100, + "child": [] + }, { + "value": 411103, + "name": "郾城区", + "pid": 411100, + "child": [] + }, { + "value": 411104, + "name": "召陵区", + "pid": 411100, + "child": [] + }, { + "value": 411121, + "name": "舞阳县", + "pid": 411100, + "child": [] + }, { + "value": 411122, + "name": "临颍县", + "pid": 411100, + "child": [] + }] + }, { + "value": 411200, + "name": "三门峡市", + "pid": 410000, + "child": [{ + "value": 411202, + "name": "湖滨区", + "pid": 411200, + "child": [] + }, { + "value": 411203, + "name": "陕州区", + "pid": 411200, + "child": [] + }, { + "value": 411221, + "name": "渑池县", + "pid": 411200, + "child": [] + }, { + "value": 411224, + "name": "卢氏县", + "pid": 411200, + "child": [] + }, { + "value": 411281, + "name": "义马市", + "pid": 411200, + "child": [] + }, { + "value": 411282, + "name": "灵宝市", + "pid": 411200, + "child": [] + }] + }, { + "value": 411300, + "name": "南阳市", + "pid": 410000, + "child": [{ + "value": 411302, + "name": "宛城区", + "pid": 411300, + "child": [] + }, { + "value": 411303, + "name": "卧龙区", + "pid": 411300, + "child": [] + }, { + "value": 411321, + "name": "南召县", + "pid": 411300, + "child": [] + }, { + "value": 411322, + "name": "方城县", + "pid": 411300, + "child": [] + }, { + "value": 411323, + "name": "西峡县", + "pid": 411300, + "child": [] + }, { + "value": 411324, + "name": "镇平县", + "pid": 411300, + "child": [] + }, { + "value": 411325, + "name": "内乡县", + "pid": 411300, + "child": [] + }, { + "value": 411326, + "name": "淅川县", + "pid": 411300, + "child": [] + }, { + "value": 411327, + "name": "社旗县", + "pid": 411300, + "child": [] + }, { + "value": 411328, + "name": "唐河县", + "pid": 411300, + "child": [] + }, { + "value": 411329, + "name": "新野县", + "pid": 411300, + "child": [] + }, { + "value": 411330, + "name": "桐柏县", + "pid": 411300, + "child": [] + }, { + "value": 411381, + "name": "邓州市", + "pid": 411300, + "child": [] + }] + }, { + "value": 411400, + "name": "商丘市", + "pid": 410000, + "child": [{ + "value": 411402, + "name": "梁园区", + "pid": 411400, + "child": [] + }, { + "value": 411403, + "name": "睢阳区", + "pid": 411400, + "child": [] + }, { + "value": 411421, + "name": "民权县", + "pid": 411400, + "child": [] + }, { + "value": 411422, + "name": "睢县", + "pid": 411400, + "child": [] + }, { + "value": 411423, + "name": "宁陵县", + "pid": 411400, + "child": [] + }, { + "value": 411424, + "name": "柘城县", + "pid": 411400, + "child": [] + }, { + "value": 411425, + "name": "虞城县", + "pid": 411400, + "child": [] + }, { + "value": 411426, + "name": "夏邑县", + "pid": 411400, + "child": [] + }, { + "value": 411481, + "name": "永城市", + "pid": 411400, + "child": [] + }] + }, { + "value": 411500, + "name": "信阳市", + "pid": 410000, + "child": [{ + "value": 411502, + "name": "浉河区", + "pid": 411500, + "child": [] + }, { + "value": 411503, + "name": "平桥区", + "pid": 411500, + "child": [] + }, { + "value": 411521, + "name": "罗山县", + "pid": 411500, + "child": [] + }, { + "value": 411522, + "name": "光山县", + "pid": 411500, + "child": [] + }, { + "value": 411523, + "name": "新县", + "pid": 411500, + "child": [] + }, { + "value": 411524, + "name": "商城县", + "pid": 411500, + "child": [] + }, { + "value": 411525, + "name": "固始县", + "pid": 411500, + "child": [] + }, { + "value": 411526, + "name": "潢川县", + "pid": 411500, + "child": [] + }, { + "value": 411527, + "name": "淮滨县", + "pid": 411500, + "child": [] + }, { + "value": 411528, + "name": "息县", + "pid": 411500, + "child": [] + }] + }, { + "value": 411600, + "name": "周口市", + "pid": 410000, + "child": [{ + "value": 411602, + "name": "川汇区", + "pid": 411600, + "child": [] + }, { + "value": 411621, + "name": "扶沟县", + "pid": 411600, + "child": [] + }, { + "value": 411622, + "name": "西华县", + "pid": 411600, + "child": [] + }, { + "value": 411623, + "name": "商水县", + "pid": 411600, + "child": [] + }, { + "value": 411624, + "name": "沈丘县", + "pid": 411600, + "child": [] + }, { + "value": 411625, + "name": "郸城县", + "pid": 411600, + "child": [] + }, { + "value": 411626, + "name": "淮阳县", + "pid": 411600, + "child": [] + }, { + "value": 411627, + "name": "太康县", + "pid": 411600, + "child": [] + }, { + "value": 411628, + "name": "鹿邑县", + "pid": 411600, + "child": [] + }, { + "value": 411681, + "name": "项城市", + "pid": 411600, + "child": [] + }, { + "value": 411682, + "name": "东新区", + "pid": 411600, + "child": [] + }, { + "value": 411683, + "name": "经济开发区", + "pid": 411600, + "child": [] + }] + }, { + "value": 411700, + "name": "驻马店市", + "pid": 410000, + "child": [{ + "value": 411702, + "name": "驿城区", + "pid": 411700, + "child": [] + }, { + "value": 411721, + "name": "西平县", + "pid": 411700, + "child": [] + }, { + "value": 411722, + "name": "上蔡县", + "pid": 411700, + "child": [] + }, { + "value": 411723, + "name": "平舆县", + "pid": 411700, + "child": [] + }, { + "value": 411724, + "name": "正阳县", + "pid": 411700, + "child": [] + }, { + "value": 411725, + "name": "确山县", + "pid": 411700, + "child": [] + }, { + "value": 411726, + "name": "泌阳县", + "pid": 411700, + "child": [] + }, { + "value": 411727, + "name": "汝南县", + "pid": 411700, + "child": [] + }, { + "value": 411728, + "name": "遂平县", + "pid": 411700, + "child": [] + }, { + "value": 411729, + "name": "新蔡县", + "pid": 411700, + "child": [] + }, { + "value": 411771, + "name": "经济开发区", + "pid": 411700, + "child": [] + }] + }, { + "value": 419001, + "name": "济源市", + "pid": 410000, + "child": [{ + "value": 419011, + "name": "沁园街道", + "pid": 419001, + "child": [] + }, { + "value": 419012, + "name": "济水街道", + "pid": 419001, + "child": [] + }, { + "value": 419013, + "name": "北海街道", + "pid": 419001, + "child": [] + }, { + "value": 419014, + "name": "天坛街道", + "pid": 419001, + "child": [] + }, { + "value": 419015, + "name": "玉泉街道", + "pid": 419001, + "child": [] + }, { + "value": 419016, + "name": "克井镇", + "pid": 419001, + "child": [] + }, { + "value": 419017, + "name": "五龙口镇", + "pid": 419001, + "child": [] + }, { + "value": 419018, + "name": "梨林镇", + "pid": 419001, + "child": [] + }, { + "value": 419019, + "name": "轵城镇", + "pid": 419001, + "child": [] + }, { + "value": 419020, + "name": "承留镇", + "pid": 419001, + "child": [] + }, { + "value": 419021, + "name": "坡头镇", + "pid": 419001, + "child": [] + }, { + "value": 419022, + "name": "大峪镇", + "pid": 419001, + "child": [] + }, { + "value": 419023, + "name": "邵原镇", + "pid": 419001, + "child": [] + }, { + "value": 419024, + "name": "思礼镇", + "pid": 419001, + "child": [] + }, { + "value": 419025, + "name": "王屋镇", + "pid": 419001, + "child": [] + }, { + "value": 419026, + "name": "下冶镇", + "pid": 419001, + "child": [] + }] + }] +}, { + "value": 420000, + "name": "湖北省", + "pid": 0, + "child": [{ + "value": 420100, + "name": "武汉市", + "pid": 420000, + "child": [{ + "value": 420102, + "name": "江岸区", + "pid": 420100, + "child": [] + }, { + "value": 420103, + "name": "江汉区", + "pid": 420100, + "child": [] + }, { + "value": 420104, + "name": "硚口区", + "pid": 420100, + "child": [] + }, { + "value": 420105, + "name": "汉阳区", + "pid": 420100, + "child": [] + }, { + "value": 420106, + "name": "武昌区", + "pid": 420100, + "child": [] + }, { + "value": 420107, + "name": "青山区", + "pid": 420100, + "child": [] + }, { + "value": 420111, + "name": "洪山区", + "pid": 420100, + "child": [] + }, { + "value": 420112, + "name": "东西湖区", + "pid": 420100, + "child": [] + }, { + "value": 420113, + "name": "汉南区", + "pid": 420100, + "child": [] + }, { + "value": 420114, + "name": "蔡甸区", + "pid": 420100, + "child": [] + }, { + "value": 420115, + "name": "江夏区", + "pid": 420100, + "child": [] + }, { + "value": 420116, + "name": "黄陂区", + "pid": 420100, + "child": [] + }, { + "value": 420117, + "name": "新洲区", + "pid": 420100, + "child": [] + }, { + "value": 420118, + "name": "经济技术开发区", + "pid": 420100, + "child": [] + }] + }, { + "value": 420200, + "name": "黄石市", + "pid": 420000, + "child": [{ + "value": 420202, + "name": "黄石港区", + "pid": 420200, + "child": [] + }, { + "value": 420203, + "name": "西塞山区", + "pid": 420200, + "child": [] + }, { + "value": 420204, + "name": "下陆区", + "pid": 420200, + "child": [] + }, { + "value": 420205, + "name": "铁山区", + "pid": 420200, + "child": [] + }, { + "value": 420222, + "name": "阳新县", + "pid": 420200, + "child": [] + }, { + "value": 420281, + "name": "大冶市", + "pid": 420200, + "child": [] + }, { + "value": 420282, + "name": "经济开发区", + "pid": 420200, + "child": [] + }] + }, { + "value": 420300, + "name": "十堰市", + "pid": 420000, + "child": [{ + "value": 420302, + "name": "茅箭区", + "pid": 420300, + "child": [] + }, { + "value": 420303, + "name": "张湾区", + "pid": 420300, + "child": [] + }, { + "value": 420304, + "name": "郧阳区", + "pid": 420300, + "child": [] + }, { + "value": 420322, + "name": "郧西县", + "pid": 420300, + "child": [] + }, { + "value": 420323, + "name": "竹山县", + "pid": 420300, + "child": [] + }, { + "value": 420324, + "name": "竹溪县", + "pid": 420300, + "child": [] + }, { + "value": 420325, + "name": "房县", + "pid": 420300, + "child": [] + }, { + "value": 420381, + "name": "丹江口市", + "pid": 420300, + "child": [] + }] + }, { + "value": 420500, + "name": "宜昌市", + "pid": 420000, + "child": [{ + "value": 420502, + "name": "西陵区", + "pid": 420500, + "child": [] + }, { + "value": 420503, + "name": "伍家岗区", + "pid": 420500, + "child": [] + }, { + "value": 420504, + "name": "点军区", + "pid": 420500, + "child": [] + }, { + "value": 420505, + "name": "猇亭区", + "pid": 420500, + "child": [] + }, { + "value": 420506, + "name": "夷陵区", + "pid": 420500, + "child": [] + }, { + "value": 420525, + "name": "远安县", + "pid": 420500, + "child": [] + }, { + "value": 420526, + "name": "兴山县", + "pid": 420500, + "child": [] + }, { + "value": 420527, + "name": "秭归县", + "pid": 420500, + "child": [] + }, { + "value": 420528, + "name": "长阳土家族自治县", + "pid": 420500, + "child": [] + }, { + "value": 420529, + "name": "五峰土家族自治县", + "pid": 420500, + "child": [] + }, { + "value": 420581, + "name": "宜都市", + "pid": 420500, + "child": [] + }, { + "value": 420582, + "name": "当阳市", + "pid": 420500, + "child": [] + }, { + "value": 420583, + "name": "枝江市", + "pid": 420500, + "child": [] + }, { + "value": 420584, + "name": "宜昌新区", + "pid": 420500, + "child": [] + }] + }, { + "value": 420600, + "name": "襄阳市", + "pid": 420000, + "child": [{ + "value": 420602, + "name": "襄城区", + "pid": 420600, + "child": [] + }, { + "value": 420606, + "name": "樊城区", + "pid": 420600, + "child": [] + }, { + "value": 420607, + "name": "襄州区", + "pid": 420600, + "child": [] + }, { + "value": 420624, + "name": "南漳县", + "pid": 420600, + "child": [] + }, { + "value": 420625, + "name": "谷城县", + "pid": 420600, + "child": [] + }, { + "value": 420626, + "name": "保康县", + "pid": 420600, + "child": [] + }, { + "value": 420682, + "name": "老河口市", + "pid": 420600, + "child": [] + }, { + "value": 420683, + "name": "枣阳市", + "pid": 420600, + "child": [] + }, { + "value": 420684, + "name": "宜城市", + "pid": 420600, + "child": [] + }, { + "value": 420685, + "name": "高新区", + "pid": 420600, + "child": [] + }, { + "value": 420686, + "name": "经济开发区", + "pid": 420600, + "child": [] + }] + }, { + "value": 420700, + "name": "鄂州市", + "pid": 420000, + "child": [{ + "value": 420702, + "name": "梁子湖区", + "pid": 420700, + "child": [] + }, { + "value": 420703, + "name": "华容区", + "pid": 420700, + "child": [] + }, { + "value": 420704, + "name": "鄂城区", + "pid": 420700, + "child": [] + }] + }, { + "value": 420800, + "name": "荆门市", + "pid": 420000, + "child": [{ + "value": 420802, + "name": "东宝区", + "pid": 420800, + "child": [] + }, { + "value": 420804, + "name": "掇刀区", + "pid": 420800, + "child": [] + }, { + "value": 420822, + "name": "沙洋县", + "pid": 420800, + "child": [] + }, { + "value": 420881, + "name": "钟祥市", + "pid": 420800, + "child": [] + }, { + "value": 420882, + "name": "京山市", + "pid": 420800, + "child": [] + }] + }, { + "value": 420900, + "name": "孝感市", + "pid": 420000, + "child": [{ + "value": 420902, + "name": "孝南区", + "pid": 420900, + "child": [] + }, { + "value": 420921, + "name": "孝昌县", + "pid": 420900, + "child": [] + }, { + "value": 420922, + "name": "大悟县", + "pid": 420900, + "child": [] + }, { + "value": 420923, + "name": "云梦县", + "pid": 420900, + "child": [] + }, { + "value": 420981, + "name": "应城市", + "pid": 420900, + "child": [] + }, { + "value": 420982, + "name": "安陆市", + "pid": 420900, + "child": [] + }, { + "value": 420984, + "name": "汉川市", + "pid": 420900, + "child": [] + }] + }, { + "value": 421000, + "name": "荆州市", + "pid": 420000, + "child": [{ + "value": 421002, + "name": "沙市区", + "pid": 421000, + "child": [] + }, { + "value": 421003, + "name": "荆州区", + "pid": 421000, + "child": [] + }, { + "value": 421022, + "name": "公安县", + "pid": 421000, + "child": [] + }, { + "value": 421023, + "name": "监利县", + "pid": 421000, + "child": [] + }, { + "value": 421024, + "name": "江陵县", + "pid": 421000, + "child": [] + }, { + "value": 421081, + "name": "石首市", + "pid": 421000, + "child": [] + }, { + "value": 421083, + "name": "洪湖市", + "pid": 421000, + "child": [] + }, { + "value": 421087, + "name": "松滋市", + "pid": 421000, + "child": [] + }] + }, { + "value": 421100, + "name": "黄冈市", + "pid": 420000, + "child": [{ + "value": 421102, + "name": "黄州区", + "pid": 421100, + "child": [] + }, { + "value": 421121, + "name": "团风县", + "pid": 421100, + "child": [] + }, { + "value": 421122, + "name": "红安县", + "pid": 421100, + "child": [] + }, { + "value": 421123, + "name": "罗田县", + "pid": 421100, + "child": [] + }, { + "value": 421124, + "name": "英山县", + "pid": 421100, + "child": [] + }, { + "value": 421125, + "name": "浠水县", + "pid": 421100, + "child": [] + }, { + "value": 421126, + "name": "蕲春县", + "pid": 421100, + "child": [] + }, { + "value": 421127, + "name": "黄梅县", + "pid": 421100, + "child": [] + }, { + "value": 421181, + "name": "麻城市", + "pid": 421100, + "child": [] + }, { + "value": 421182, + "name": "武穴市", + "pid": 421100, + "child": [] + }, { + "value": 421183, + "name": "城东新区", + "pid": 421100, + "child": [] + }] + }, { + "value": 421200, + "name": "咸宁市", + "pid": 420000, + "child": [{ + "value": 421202, + "name": "咸安区", + "pid": 421200, + "child": [] + }, { + "value": 421221, + "name": "嘉鱼县", + "pid": 421200, + "child": [] + }, { + "value": 421222, + "name": "通城县", + "pid": 421200, + "child": [] + }, { + "value": 421223, + "name": "崇阳县", + "pid": 421200, + "child": [] + }, { + "value": 421224, + "name": "通山县", + "pid": 421200, + "child": [] + }, { + "value": 421281, + "name": "赤壁市", + "pid": 421200, + "child": [] + }] + }, { + "value": 421300, + "name": "随州市", + "pid": 420000, + "child": [{ + "value": 421303, + "name": "曾都区", + "pid": 421300, + "child": [] + }, { + "value": 421321, + "name": "随县", + "pid": 421300, + "child": [] + }, { + "value": 421381, + "name": "广水市", + "pid": 421300, + "child": [] + }] + }, { + "value": 422800, + "name": "恩施土家族苗族自治州", + "pid": 420000, + "child": [{ + "value": 422801, + "name": "恩施市", + "pid": 422800, + "child": [] + }, { + "value": 422802, + "name": "利川市", + "pid": 422800, + "child": [] + }, { + "value": 422822, + "name": "建始县", + "pid": 422800, + "child": [] + }, { + "value": 422823, + "name": "巴东县", + "pid": 422800, + "child": [] + }, { + "value": 422825, + "name": "宣恩县", + "pid": 422800, + "child": [] + }, { + "value": 422826, + "name": "咸丰县", + "pid": 422800, + "child": [] + }, { + "value": 422827, + "name": "来凤县", + "pid": 422800, + "child": [] + }, { + "value": 422828, + "name": "鹤峰县", + "pid": 422800, + "child": [] + }] + }, { + "value": 429004, + "name": "仙桃市", + "pid": 420000, + "child": [{ + "value": 429401, + "name": "沙嘴街道", + "pid": 429004, + "child": [] + }, { + "value": 429402, + "name": "干河街道", + "pid": 429004, + "child": [] + }, { + "value": 429403, + "name": "龙华山街道", + "pid": 429004, + "child": [] + }, { + "value": 429404, + "name": "郑场镇", + "pid": 429004, + "child": [] + }, { + "value": 429405, + "name": "毛嘴镇", + "pid": 429004, + "child": [] + }, { + "value": 429406, + "name": "豆河镇", + "pid": 429004, + "child": [] + }, { + "value": 429407, + "name": "三伏潭镇", + "pid": 429004, + "child": [] + }, { + "value": 429408, + "name": "胡场镇", + "pid": 429004, + "child": [] + }, { + "value": 429409, + "name": "长埫口镇", + "pid": 429004, + "child": [] + }, { + "value": 429410, + "name": "西流河镇", + "pid": 429004, + "child": [] + }, { + "value": 429411, + "name": "沙湖镇", + "pid": 429004, + "child": [] + }, { + "value": 429412, + "name": "杨林尾镇", + "pid": 429004, + "child": [] + }, { + "value": 429413, + "name": "彭场镇", + "pid": 429004, + "child": [] + }, { + "value": 429414, + "name": "张沟镇", + "pid": 429004, + "child": [] + }, { + "value": 429415, + "name": "郭河镇", + "pid": 429004, + "child": [] + }, { + "value": 429416, + "name": "沔城镇", + "pid": 429004, + "child": [] + }, { + "value": 429417, + "name": "通海口镇", + "pid": 429004, + "child": [] + }, { + "value": 429418, + "name": "陈场镇", + "pid": 429004, + "child": [] + }, { + "value": 429419, + "name": "高新区", + "pid": 429004, + "child": [] + }, { + "value": 429420, + "name": "经济开发区", + "pid": 429004, + "child": [] + }, { + "value": 429421, + "name": "工业园区", + "pid": 429004, + "child": [] + }, { + "value": 429422, + "name": "九合垸原种场", + "pid": 429004, + "child": [] + }, { + "value": 429423, + "name": "沙湖原种场", + "pid": 429004, + "child": [] + }, { + "value": 429424, + "name": "排湖渔场", + "pid": 429004, + "child": [] + }, { + "value": 429425, + "name": "五湖渔场", + "pid": 429004, + "child": [] + }, { + "value": 429426, + "name": "赵西垸林场", + "pid": 429004, + "child": [] + }, { + "value": 429427, + "name": "刘家垸林场", + "pid": 429004, + "child": [] + }, { + "value": 429428, + "name": "畜禽良种场", + "pid": 429004, + "child": [] + }] + }, { + "value": 429005, + "name": "潜江市", + "pid": 420000, + "child": [{ + "value": 429501, + "name": "园林", + "pid": 429005, + "child": [] + }, { + "value": 429502, + "name": "广华", + "pid": 429005, + "child": [] + }, { + "value": 429503, + "name": "杨市", + "pid": 429005, + "child": [] + }, { + "value": 429504, + "name": "周矶", + "pid": 429005, + "child": [] + }, { + "value": 429505, + "name": "泽口", + "pid": 429005, + "child": [] + }, { + "value": 429506, + "name": "泰丰", + "pid": 429005, + "child": [] + }, { + "value": 429507, + "name": "高场", + "pid": 429005, + "child": [] + }, { + "value": 429508, + "name": "熊口镇", + "pid": 429005, + "child": [] + }, { + "value": 429509, + "name": "竹根滩镇", + "pid": 429005, + "child": [] + }, { + "value": 429510, + "name": "高石碑镇", + "pid": 429005, + "child": [] + }, { + "value": 429511, + "name": "老新镇", + "pid": 429005, + "child": [] + }, { + "value": 429512, + "name": "王场镇", + "pid": 429005, + "child": [] + }, { + "value": 429513, + "name": "渔洋镇", + "pid": 429005, + "child": [] + }, { + "value": 429514, + "name": "龙湾镇", + "pid": 429005, + "child": [] + }, { + "value": 429515, + "name": "浩口镇", + "pid": 429005, + "child": [] + }, { + "value": 429516, + "name": "积玉口镇", + "pid": 429005, + "child": [] + }, { + "value": 429517, + "name": "张金镇", + "pid": 429005, + "child": [] + }, { + "value": 429518, + "name": "白鹭湖管理区", + "pid": 429005, + "child": [] + }, { + "value": 429519, + "name": "总口管理区", + "pid": 429005, + "child": [] + }, { + "value": 429520, + "name": "熊口农场管理区", + "pid": 429005, + "child": [] + }, { + "value": 429521, + "name": "运粮湖管理区", + "pid": 429005, + "child": [] + }, { + "value": 429522, + "name": "后湖管理区", + "pid": 429005, + "child": [] + }, { + "value": 429523, + "name": "周矶管理区", + "pid": 429005, + "child": [] + }, { + "value": 429524, + "name": "经济开发区", + "pid": 429005, + "child": [] + }] + }, { + "value": 429006, + "name": "天门市", + "pid": 420000, + "child": [{ + "value": 429601, + "name": "竟陵街道", + "pid": 429006, + "child": [] + }, { + "value": 429602, + "name": "杨林街道", + "pid": 429006, + "child": [] + }, { + "value": 429603, + "name": "佛子山镇", + "pid": 429006, + "child": [] + }, { + "value": 429604, + "name": "多宝镇", + "pid": 429006, + "child": [] + }, { + "value": 429605, + "name": "拖市镇", + "pid": 429006, + "child": [] + }, { + "value": 429606, + "name": "张港镇", + "pid": 429006, + "child": [] + }, { + "value": 429607, + "name": "蒋场镇", + "pid": 429006, + "child": [] + }, { + "value": 429608, + "name": "汪场镇", + "pid": 429006, + "child": [] + }, { + "value": 429609, + "name": "渔薪镇", + "pid": 429006, + "child": [] + }, { + "value": 429610, + "name": "黄潭镇", + "pid": 429006, + "child": [] + }, { + "value": 429611, + "name": "岳口镇", + "pid": 429006, + "child": [] + }, { + "value": 429612, + "name": "横林镇", + "pid": 429006, + "child": [] + }, { + "value": 429613, + "name": "彭市镇", + "pid": 429006, + "child": [] + }, { + "value": 429614, + "name": "麻洋镇", + "pid": 429006, + "child": [] + }, { + "value": 429615, + "name": "多祥镇", + "pid": 429006, + "child": [] + }, { + "value": 429616, + "name": "干驿镇", + "pid": 429006, + "child": [] + }, { + "value": 429617, + "name": "马湾镇", + "pid": 429006, + "child": [] + }, { + "value": 429618, + "name": "卢市镇", + "pid": 429006, + "child": [] + }, { + "value": 429619, + "name": "小板镇", + "pid": 429006, + "child": [] + }, { + "value": 429620, + "name": "九真镇", + "pid": 429006, + "child": [] + }, { + "value": 429621, + "name": "皂市镇", + "pid": 429006, + "child": [] + }, { + "value": 429622, + "name": "胡市镇", + "pid": 429006, + "child": [] + }, { + "value": 429623, + "name": "石河镇", + "pid": 429006, + "child": [] + }, { + "value": 429624, + "name": "净潭乡", + "pid": 429006, + "child": [] + }, { + "value": 429625, + "name": "蒋湖农场", + "pid": 429006, + "child": [] + }, { + "value": 429626, + "name": "白茅湖农场", + "pid": 429006, + "child": [] + }, { + "value": 429627, + "name": "沉湖林业科技示范区", + "pid": 429006, + "child": [] + }, { + "value": 429628, + "name": "天门工业园", + "pid": 429006, + "child": [] + }, { + "value": 429629, + "name": "侨乡街道开发区", + "pid": 429006, + "child": [] + }] + }, { + "value": 429021, + "name": "神农架林区", + "pid": 420000, + "child": [{ + "value": 429022, + "name": "松柏镇", + "pid": 429021, + "child": [] + }, { + "value": 429023, + "name": "阳日镇", + "pid": 429021, + "child": [] + }, { + "value": 429024, + "name": "木鱼镇", + "pid": 429021, + "child": [] + }, { + "value": 429025, + "name": "红坪镇", + "pid": 429021, + "child": [] + }, { + "value": 429026, + "name": "新华镇", + "pid": 429021, + "child": [] + }, { + "value": 429027, + "name": "大九湖", + "pid": 429021, + "child": [] + }, { + "value": 429028, + "name": "宋洛", + "pid": 429021, + "child": [] + }, { + "value": 429029, + "name": "下谷坪乡", + "pid": 429021, + "child": [] + }] + }] +}, { + "value": 430000, + "name": "湖南省", + "pid": 0, + "child": [{ + "value": 430100, + "name": "长沙市", + "pid": 430000, + "child": [{ + "value": 430102, + "name": "芙蓉区", + "pid": 430100, + "child": [] + }, { + "value": 430103, + "name": "天心区", + "pid": 430100, + "child": [] + }, { + "value": 430104, + "name": "岳麓区", + "pid": 430100, + "child": [] + }, { + "value": 430105, + "name": "开福区", + "pid": 430100, + "child": [] + }, { + "value": 430111, + "name": "雨花区", + "pid": 430100, + "child": [] + }, { + "value": 430112, + "name": "望城区", + "pid": 430100, + "child": [] + }, { + "value": 430121, + "name": "长沙县", + "pid": 430100, + "child": [] + }, { + "value": 430181, + "name": "浏阳市", + "pid": 430100, + "child": [] + }, { + "value": 430182, + "name": "宁乡市", + "pid": 430100, + "child": [] + }, { + "value": 430183, + "name": "湘江新区", + "pid": 430100, + "child": [] + }] + }, { + "value": 430200, + "name": "株洲市", + "pid": 430000, + "child": [{ + "value": 430202, + "name": "荷塘区", + "pid": 430200, + "child": [] + }, { + "value": 430203, + "name": "芦淞区", + "pid": 430200, + "child": [] + }, { + "value": 430204, + "name": "石峰区", + "pid": 430200, + "child": [] + }, { + "value": 430211, + "name": "天元区", + "pid": 430200, + "child": [] + }, { + "value": 430212, + "name": "渌口区", + "pid": 430200, + "child": [] + }, { + "value": 430223, + "name": "攸县", + "pid": 430200, + "child": [] + }, { + "value": 430224, + "name": "茶陵县", + "pid": 430200, + "child": [] + }, { + "value": 430225, + "name": "炎陵县", + "pid": 430200, + "child": [] + }, { + "value": 430281, + "name": "醴陵市", + "pid": 430200, + "child": [] + }] + }, { + "value": 430300, + "name": "湘潭市", + "pid": 430000, + "child": [{ + "value": 430302, + "name": "雨湖区", + "pid": 430300, + "child": [] + }, { + "value": 430304, + "name": "岳塘区", + "pid": 430300, + "child": [] + }, { + "value": 430321, + "name": "湘潭县", + "pid": 430300, + "child": [] + }, { + "value": 430381, + "name": "湘乡市", + "pid": 430300, + "child": [] + }, { + "value": 430382, + "name": "韶山市", + "pid": 430300, + "child": [] + }, { + "value": 430383, + "name": "高新区", + "pid": 430300, + "child": [] + }] + }, { + "value": 430400, + "name": "衡阳市", + "pid": 430000, + "child": [{ + "value": 430405, + "name": "珠晖区", + "pid": 430400, + "child": [] + }, { + "value": 430406, + "name": "雁峰区", + "pid": 430400, + "child": [] + }, { + "value": 430407, + "name": "石鼓区", + "pid": 430400, + "child": [] + }, { + "value": 430408, + "name": "蒸湘区", + "pid": 430400, + "child": [] + }, { + "value": 430412, + "name": "南岳区", + "pid": 430400, + "child": [] + }, { + "value": 430421, + "name": "衡阳县", + "pid": 430400, + "child": [] + }, { + "value": 430422, + "name": "衡南县", + "pid": 430400, + "child": [] + }, { + "value": 430423, + "name": "衡山县", + "pid": 430400, + "child": [] + }, { + "value": 430424, + "name": "衡东县", + "pid": 430400, + "child": [] + }, { + "value": 430426, + "name": "祁东县", + "pid": 430400, + "child": [] + }, { + "value": 430481, + "name": "耒阳市", + "pid": 430400, + "child": [] + }, { + "value": 430482, + "name": "常宁市", + "pid": 430400, + "child": [] + }, { + "value": 430483, + "name": "高新区", + "pid": 430400, + "child": [] + }, { + "value": 430484, + "name": "综合保税区", + "pid": 430400, + "child": [] + }] + }, { + "value": 430500, + "name": "邵阳市", + "pid": 430000, + "child": [{ + "value": 430502, + "name": "双清区", + "pid": 430500, + "child": [] + }, { + "value": 430503, + "name": "大祥区", + "pid": 430500, + "child": [] + }, { + "value": 430511, + "name": "北塔区", + "pid": 430500, + "child": [] + }, { + "value": 430521, + "name": "邵东县", + "pid": 430500, + "child": [] + }, { + "value": 430522, + "name": "新邵县", + "pid": 430500, + "child": [] + }, { + "value": 430523, + "name": "邵阳县", + "pid": 430500, + "child": [] + }, { + "value": 430524, + "name": "隆回县", + "pid": 430500, + "child": [] + }, { + "value": 430525, + "name": "洞口县", + "pid": 430500, + "child": [] + }, { + "value": 430527, + "name": "绥宁县", + "pid": 430500, + "child": [] + }, { + "value": 430528, + "name": "新宁县", + "pid": 430500, + "child": [] + }, { + "value": 430529, + "name": "城步苗族自治县", + "pid": 430500, + "child": [] + }, { + "value": 430581, + "name": "武冈市", + "pid": 430500, + "child": [] + }] + }, { + "value": 430600, + "name": "岳阳市", + "pid": 430000, + "child": [{ + "value": 430602, + "name": "岳阳楼区", + "pid": 430600, + "child": [] + }, { + "value": 430603, + "name": "云溪区", + "pid": 430600, + "child": [] + }, { + "value": 430611, + "name": "君山区", + "pid": 430600, + "child": [] + }, { + "value": 430621, + "name": "岳阳县", + "pid": 430600, + "child": [] + }, { + "value": 430623, + "name": "华容县", + "pid": 430600, + "child": [] + }, { + "value": 430624, + "name": "湘阴县", + "pid": 430600, + "child": [] + }, { + "value": 430626, + "name": "平江县", + "pid": 430600, + "child": [] + }, { + "value": 430681, + "name": "汨罗市", + "pid": 430600, + "child": [] + }, { + "value": 430682, + "name": "临湘市", + "pid": 430600, + "child": [] + }] + }, { + "value": 430700, + "name": "常德市", + "pid": 430000, + "child": [{ + "value": 430702, + "name": "武陵区", + "pid": 430700, + "child": [] + }, { + "value": 430703, + "name": "鼎城区", + "pid": 430700, + "child": [] + }, { + "value": 430721, + "name": "安乡县", + "pid": 430700, + "child": [] + }, { + "value": 430722, + "name": "汉寿县", + "pid": 430700, + "child": [] + }, { + "value": 430723, + "name": "澧县", + "pid": 430700, + "child": [] + }, { + "value": 430724, + "name": "临澧县", + "pid": 430700, + "child": [] + }, { + "value": 430725, + "name": "桃源县", + "pid": 430700, + "child": [] + }, { + "value": 430726, + "name": "石门县", + "pid": 430700, + "child": [] + }, { + "value": 430781, + "name": "津市市", + "pid": 430700, + "child": [] + }] + }, { + "value": 430800, + "name": "张家界市", + "pid": 430000, + "child": [{ + "value": 430802, + "name": "永定区", + "pid": 430800, + "child": [] + }, { + "value": 430811, + "name": "武陵源区", + "pid": 430800, + "child": [] + }, { + "value": 430821, + "name": "慈利县", + "pid": 430800, + "child": [] + }, { + "value": 430822, + "name": "桑植县", + "pid": 430800, + "child": [] + }] + }, { + "value": 430900, + "name": "益阳市", + "pid": 430000, + "child": [{ + "value": 430902, + "name": "资阳区", + "pid": 430900, + "child": [] + }, { + "value": 430903, + "name": "赫山区", + "pid": 430900, + "child": [] + }, { + "value": 430921, + "name": "南县", + "pid": 430900, + "child": [] + }, { + "value": 430922, + "name": "桃江县", + "pid": 430900, + "child": [] + }, { + "value": 430923, + "name": "安化县", + "pid": 430900, + "child": [] + }, { + "value": 430981, + "name": "沅江市", + "pid": 430900, + "child": [] + }] + }, { + "value": 431000, + "name": "郴州市", + "pid": 430000, + "child": [{ + "value": 431002, + "name": "北湖区", + "pid": 431000, + "child": [] + }, { + "value": 431003, + "name": "苏仙区", + "pid": 431000, + "child": [] + }, { + "value": 431021, + "name": "桂阳县", + "pid": 431000, + "child": [] + }, { + "value": 431022, + "name": "宜章县", + "pid": 431000, + "child": [] + }, { + "value": 431023, + "name": "永兴县", + "pid": 431000, + "child": [] + }, { + "value": 431024, + "name": "嘉禾县", + "pid": 431000, + "child": [] + }, { + "value": 431025, + "name": "临武县", + "pid": 431000, + "child": [] + }, { + "value": 431026, + "name": "汝城县", + "pid": 431000, + "child": [] + }, { + "value": 431027, + "name": "桂东县", + "pid": 431000, + "child": [] + }, { + "value": 431028, + "name": "安仁县", + "pid": 431000, + "child": [] + }, { + "value": 431081, + "name": "资兴市", + "pid": 431000, + "child": [] + }] + }, { + "value": 431100, + "name": "永州市", + "pid": 430000, + "child": [{ + "value": 431102, + "name": "零陵区", + "pid": 431100, + "child": [] + }, { + "value": 431103, + "name": "冷水滩区", + "pid": 431100, + "child": [] + }, { + "value": 431121, + "name": "祁阳县", + "pid": 431100, + "child": [] + }, { + "value": 431122, + "name": "东安县", + "pid": 431100, + "child": [] + }, { + "value": 431123, + "name": "双牌县", + "pid": 431100, + "child": [] + }, { + "value": 431124, + "name": "道县", + "pid": 431100, + "child": [] + }, { + "value": 431125, + "name": "江永县", + "pid": 431100, + "child": [] + }, { + "value": 431126, + "name": "宁远县", + "pid": 431100, + "child": [] + }, { + "value": 431127, + "name": "蓝山县", + "pid": 431100, + "child": [] + }, { + "value": 431128, + "name": "新田县", + "pid": 431100, + "child": [] + }, { + "value": 431129, + "name": "江华瑶族自治县", + "pid": 431100, + "child": [] + }] + }, { + "value": 431200, + "name": "怀化市", + "pid": 430000, + "child": [{ + "value": 431202, + "name": "鹤城区", + "pid": 431200, + "child": [] + }, { + "value": 431221, + "name": "中方县", + "pid": 431200, + "child": [] + }, { + "value": 431222, + "name": "沅陵县", + "pid": 431200, + "child": [] + }, { + "value": 431223, + "name": "辰溪县", + "pid": 431200, + "child": [] + }, { + "value": 431224, + "name": "溆浦县", + "pid": 431200, + "child": [] + }, { + "value": 431225, + "name": "会同县", + "pid": 431200, + "child": [] + }, { + "value": 431226, + "name": "麻阳苗族自治县", + "pid": 431200, + "child": [] + }, { + "value": 431227, + "name": "新晃侗族自治县", + "pid": 431200, + "child": [] + }, { + "value": 431228, + "name": "芷江侗族自治县", + "pid": 431200, + "child": [] + }, { + "value": 431229, + "name": "靖州苗族侗族自治县", + "pid": 431200, + "child": [] + }, { + "value": 431230, + "name": "通道侗族自治县", + "pid": 431200, + "child": [] + }, { + "value": 431281, + "name": "洪江市", + "pid": 431200, + "child": [] + }] + }, { + "value": 431300, + "name": "娄底市", + "pid": 430000, + "child": [{ + "value": 431302, + "name": "娄星区", + "pid": 431300, + "child": [] + }, { + "value": 431321, + "name": "双峰县", + "pid": 431300, + "child": [] + }, { + "value": 431322, + "name": "新化县", + "pid": 431300, + "child": [] + }, { + "value": 431381, + "name": "冷水江市", + "pid": 431300, + "child": [] + }, { + "value": 431382, + "name": "涟源市", + "pid": 431300, + "child": [] + }] + }, { + "value": 433100, + "name": "湘西土家族苗族自治州", + "pid": 430000, + "child": [{ + "value": 433101, + "name": "吉首市", + "pid": 433100, + "child": [] + }, { + "value": 433122, + "name": "泸溪县", + "pid": 433100, + "child": [] + }, { + "value": 433123, + "name": "凤凰县", + "pid": 433100, + "child": [] + }, { + "value": 433124, + "name": "花垣县", + "pid": 433100, + "child": [] + }, { + "value": 433125, + "name": "保靖县", + "pid": 433100, + "child": [] + }, { + "value": 433126, + "name": "古丈县", + "pid": 433100, + "child": [] + }, { + "value": 433127, + "name": "永顺县", + "pid": 433100, + "child": [] + }, { + "value": 433130, + "name": "龙山县", + "pid": 433100, + "child": [] + }] + }] +}, { + "value": 440000, + "name": "广东省", + "pid": 0, + "child": [{ + "value": 440100, + "name": "广州市", + "pid": 440000, + "child": [{ + "value": 440103, + "name": "荔湾区", + "pid": 440100, + "child": [] + }, { + "value": 440104, + "name": "越秀区", + "pid": 440100, + "child": [] + }, { + "value": 440105, + "name": "海珠区", + "pid": 440100, + "child": [] + }, { + "value": 440106, + "name": "天河区", + "pid": 440100, + "child": [] + }, { + "value": 440111, + "name": "白云区", + "pid": 440100, + "child": [] + }, { + "value": 440112, + "name": "黄埔区", + "pid": 440100, + "child": [] + }, { + "value": 440113, + "name": "番禺区", + "pid": 440100, + "child": [] + }, { + "value": 440114, + "name": "花都区", + "pid": 440100, + "child": [] + }, { + "value": 440115, + "name": "南沙区", + "pid": 440100, + "child": [] + }, { + "value": 440117, + "name": "从化区", + "pid": 440100, + "child": [] + }, { + "value": 440118, + "name": "增城区", + "pid": 440100, + "child": [] + }] + }, { + "value": 440200, + "name": "韶关市", + "pid": 440000, + "child": [{ + "value": 440203, + "name": "武江区", + "pid": 440200, + "child": [] + }, { + "value": 440204, + "name": "浈江区", + "pid": 440200, + "child": [] + }, { + "value": 440205, + "name": "曲江区", + "pid": 440200, + "child": [] + }, { + "value": 440222, + "name": "始兴县", + "pid": 440200, + "child": [] + }, { + "value": 440224, + "name": "仁化县", + "pid": 440200, + "child": [] + }, { + "value": 440229, + "name": "翁源县", + "pid": 440200, + "child": [] + }, { + "value": 440232, + "name": "乳源瑶族自治县", + "pid": 440200, + "child": [] + }, { + "value": 440233, + "name": "新丰县", + "pid": 440200, + "child": [] + }, { + "value": 440281, + "name": "乐昌市", + "pid": 440200, + "child": [] + }, { + "value": 440282, + "name": "南雄市", + "pid": 440200, + "child": [] + }] + }, { + "value": 440300, + "name": "深圳市", + "pid": 440000, + "child": [{ + "value": 440303, + "name": "罗湖区", + "pid": 440300, + "child": [] + }, { + "value": 440304, + "name": "福田区", + "pid": 440300, + "child": [] + }, { + "value": 440305, + "name": "南山区", + "pid": 440300, + "child": [] + }, { + "value": 440306, + "name": "宝安区", + "pid": 440300, + "child": [] + }, { + "value": 440307, + "name": "龙岗区", + "pid": 440300, + "child": [] + }, { + "value": 440308, + "name": "盐田区", + "pid": 440300, + "child": [] + }, { + "value": 440309, + "name": "龙华区", + "pid": 440300, + "child": [] + }, { + "value": 440310, + "name": "坪山区", + "pid": 440300, + "child": [] + }, { + "value": 440311, + "name": "光明区", + "pid": 440300, + "child": [] + }, { + "value": 440312, + "name": "大鹏新区", + "pid": 440300, + "child": [] + }] + }, { + "value": 440400, + "name": "珠海市", + "pid": 440000, + "child": [{ + "value": 440402, + "name": "香洲区", + "pid": 440400, + "child": [] + }, { + "value": 440403, + "name": "斗门区", + "pid": 440400, + "child": [] + }, { + "value": 440404, + "name": "金湾区", + "pid": 440400, + "child": [] + }, { + "value": 440405, + "name": "横琴新区", + "pid": 440400, + "child": [] + }, { + "value": 440406, + "name": "经济开发区", + "pid": 440400, + "child": [] + }] + }, { + "value": 440500, + "name": "汕头市", + "pid": 440000, + "child": [{ + "value": 440507, + "name": "龙湖区", + "pid": 440500, + "child": [] + }, { + "value": 440511, + "name": "金平区", + "pid": 440500, + "child": [] + }, { + "value": 440512, + "name": "濠江区", + "pid": 440500, + "child": [] + }, { + "value": 440513, + "name": "潮阳区", + "pid": 440500, + "child": [] + }, { + "value": 440514, + "name": "潮南区", + "pid": 440500, + "child": [] + }, { + "value": 440515, + "name": "澄海区", + "pid": 440500, + "child": [] + }, { + "value": 440523, + "name": "南澳县", + "pid": 440500, + "child": [] + }] + }, { + "value": 440600, + "name": "佛山市", + "pid": 440000, + "child": [{ + "value": 440604, + "name": "禅城区", + "pid": 440600, + "child": [] + }, { + "value": 440605, + "name": "南海区", + "pid": 440600, + "child": [] + }, { + "value": 440606, + "name": "顺德区", + "pid": 440600, + "child": [] + }, { + "value": 440607, + "name": "三水区", + "pid": 440600, + "child": [] + }, { + "value": 440608, + "name": "高明区", + "pid": 440600, + "child": [] + }] + }, { + "value": 440700, + "name": "江门市", + "pid": 440000, + "child": [{ + "value": 440703, + "name": "蓬江区", + "pid": 440700, + "child": [] + }, { + "value": 440704, + "name": "江海区", + "pid": 440700, + "child": [] + }, { + "value": 440705, + "name": "新会区", + "pid": 440700, + "child": [] + }, { + "value": 440781, + "name": "台山市", + "pid": 440700, + "child": [] + }, { + "value": 440783, + "name": "开平市", + "pid": 440700, + "child": [] + }, { + "value": 440784, + "name": "鹤山市", + "pid": 440700, + "child": [] + }, { + "value": 440785, + "name": "恩平市", + "pid": 440700, + "child": [] + }] + }, { + "value": 440800, + "name": "湛江市", + "pid": 440000, + "child": [{ + "value": 440802, + "name": "赤坎区", + "pid": 440800, + "child": [] + }, { + "value": 440803, + "name": "霞山区", + "pid": 440800, + "child": [] + }, { + "value": 440804, + "name": "坡头区", + "pid": 440800, + "child": [] + }, { + "value": 440811, + "name": "麻章区", + "pid": 440800, + "child": [] + }, { + "value": 440823, + "name": "遂溪县", + "pid": 440800, + "child": [] + }, { + "value": 440825, + "name": "徐闻县", + "pid": 440800, + "child": [] + }, { + "value": 440881, + "name": "廉江市", + "pid": 440800, + "child": [] + }, { + "value": 440882, + "name": "雷州市", + "pid": 440800, + "child": [] + }, { + "value": 440883, + "name": "吴川市", + "pid": 440800, + "child": [] + }, { + "value": 440884, + "name": "经济开发区", + "pid": 440800, + "child": [] + }] + }, { + "value": 440900, + "name": "茂名市", + "pid": 440000, + "child": [{ + "value": 440902, + "name": "茂南区", + "pid": 440900, + "child": [] + }, { + "value": 440904, + "name": "电白区", + "pid": 440900, + "child": [] + }, { + "value": 440981, + "name": "高州市", + "pid": 440900, + "child": [] + }, { + "value": 440982, + "name": "化州市", + "pid": 440900, + "child": [] + }, { + "value": 440983, + "name": "信宜市", + "pid": 440900, + "child": [] + }] + }, { + "value": 441200, + "name": "肇庆市", + "pid": 440000, + "child": [{ + "value": 441202, + "name": "端州区", + "pid": 441200, + "child": [] + }, { + "value": 441203, + "name": "鼎湖区", + "pid": 441200, + "child": [] + }, { + "value": 441204, + "name": "高要区", + "pid": 441200, + "child": [] + }, { + "value": 441223, + "name": "广宁县", + "pid": 441200, + "child": [] + }, { + "value": 441224, + "name": "怀集县", + "pid": 441200, + "child": [] + }, { + "value": 441225, + "name": "封开县", + "pid": 441200, + "child": [] + }, { + "value": 441226, + "name": "德庆县", + "pid": 441200, + "child": [] + }, { + "value": 441284, + "name": "四会市", + "pid": 441200, + "child": [] + }] + }, { + "value": 441300, + "name": "惠州市", + "pid": 440000, + "child": [{ + "value": 441302, + "name": "惠城区", + "pid": 441300, + "child": [] + }, { + "value": 441303, + "name": "惠阳区", + "pid": 441300, + "child": [] + }, { + "value": 441322, + "name": "博罗县", + "pid": 441300, + "child": [] + }, { + "value": 441323, + "name": "惠东县", + "pid": 441300, + "child": [] + }, { + "value": 441324, + "name": "龙门县", + "pid": 441300, + "child": [] + }, { + "value": 441325, + "name": "大亚湾区", + "pid": 441300, + "child": [] + }] + }, { + "value": 441400, + "name": "梅州市", + "pid": 440000, + "child": [{ + "value": 441402, + "name": "梅江区", + "pid": 441400, + "child": [] + }, { + "value": 441403, + "name": "梅县区", + "pid": 441400, + "child": [] + }, { + "value": 441422, + "name": "大埔县", + "pid": 441400, + "child": [] + }, { + "value": 441423, + "name": "丰顺县", + "pid": 441400, + "child": [] + }, { + "value": 441424, + "name": "五华县", + "pid": 441400, + "child": [] + }, { + "value": 441426, + "name": "平远县", + "pid": 441400, + "child": [] + }, { + "value": 441427, + "name": "蕉岭县", + "pid": 441400, + "child": [] + }, { + "value": 441481, + "name": "兴宁市", + "pid": 441400, + "child": [] + }] + }, { + "value": 441500, + "name": "汕尾市", + "pid": 440000, + "child": [{ + "value": 441502, + "name": "城区", + "pid": 441500, + "child": [] + }, { + "value": 441521, + "name": "海丰县", + "pid": 441500, + "child": [] + }, { + "value": 441523, + "name": "陆河县", + "pid": 441500, + "child": [] + }, { + "value": 441581, + "name": "陆丰市", + "pid": 441500, + "child": [] + }] + }, { + "value": 441600, + "name": "河源市", + "pid": 440000, + "child": [{ + "value": 441602, + "name": "源城区", + "pid": 441600, + "child": [] + }, { + "value": 441621, + "name": "紫金县", + "pid": 441600, + "child": [] + }, { + "value": 441622, + "name": "龙川县", + "pid": 441600, + "child": [] + }, { + "value": 441623, + "name": "连平县", + "pid": 441600, + "child": [] + }, { + "value": 441624, + "name": "和平县", + "pid": 441600, + "child": [] + }, { + "value": 441625, + "name": "东源县", + "pid": 441600, + "child": [] + }] + }, { + "value": 441700, + "name": "阳江市", + "pid": 440000, + "child": [{ + "value": 441702, + "name": "江城区", + "pid": 441700, + "child": [] + }, { + "value": 441704, + "name": "阳东区", + "pid": 441700, + "child": [] + }, { + "value": 441721, + "name": "阳西县", + "pid": 441700, + "child": [] + }, { + "value": 441781, + "name": "阳春市", + "pid": 441700, + "child": [] + }] + }, { + "value": 441800, + "name": "清远市", + "pid": 440000, + "child": [{ + "value": 441802, + "name": "清城区", + "pid": 441800, + "child": [] + }, { + "value": 441803, + "name": "清新区", + "pid": 441800, + "child": [] + }, { + "value": 441821, + "name": "佛冈县", + "pid": 441800, + "child": [] + }, { + "value": 441823, + "name": "阳山县", + "pid": 441800, + "child": [] + }, { + "value": 441825, + "name": "连山壮族瑶族自治县", + "pid": 441800, + "child": [] + }, { + "value": 441826, + "name": "连南瑶族自治县", + "pid": 441800, + "child": [] + }, { + "value": 441881, + "name": "英德市", + "pid": 441800, + "child": [] + }, { + "value": 441882, + "name": "连州市", + "pid": 441800, + "child": [] + }] + }, { + "value": 441900, + "name": "东莞市", + "pid": 440000, + "child": [{ + "value": 441901, + "name": "莞城区", + "pid": 441900, + "child": [] + }, { + "value": 441902, + "name": "南城区", + "pid": 441900, + "child": [] + }, { + "value": 441903, + "name": "东城区", + "pid": 441900, + "child": [] + }, { + "value": 441904, + "name": "万江区", + "pid": 441900, + "child": [] + }, { + "value": 441905, + "name": "石碣镇", + "pid": 441900, + "child": [] + }, { + "value": 441906, + "name": "石龙镇", + "pid": 441900, + "child": [] + }, { + "value": 441907, + "name": "茶山镇", + "pid": 441900, + "child": [] + }, { + "value": 441908, + "name": "石排镇", + "pid": 441900, + "child": [] + }, { + "value": 441909, + "name": "企石镇", + "pid": 441900, + "child": [] + }, { + "value": 441910, + "name": "横沥镇", + "pid": 441900, + "child": [] + }, { + "value": 441911, + "name": "桥头镇", + "pid": 441900, + "child": [] + }, { + "value": 441912, + "name": "谢岗镇", + "pid": 441900, + "child": [] + }, { + "value": 441913, + "name": "东坑镇", + "pid": 441900, + "child": [] + }, { + "value": 441914, + "name": "常平镇", + "pid": 441900, + "child": [] + }, { + "value": 441915, + "name": "寮步镇", + "pid": 441900, + "child": [] + }, { + "value": 441916, + "name": "大朗镇", + "pid": 441900, + "child": [] + }, { + "value": 441917, + "name": "麻涌镇", + "pid": 441900, + "child": [] + }, { + "value": 441918, + "name": "中堂镇", + "pid": 441900, + "child": [] + }, { + "value": 441919, + "name": "高埗镇", + "pid": 441900, + "child": [] + }, { + "value": 441920, + "name": "樟木头镇", + "pid": 441900, + "child": [] + }, { + "value": 441921, + "name": "大岭山镇", + "pid": 441900, + "child": [] + }, { + "value": 441922, + "name": "望牛墩镇", + "pid": 441900, + "child": [] + }, { + "value": 441923, + "name": "黄江镇", + "pid": 441900, + "child": [] + }, { + "value": 441924, + "name": "洪梅镇", + "pid": 441900, + "child": [] + }, { + "value": 441925, + "name": "清溪镇", + "pid": 441900, + "child": [] + }, { + "value": 441926, + "name": "沙田镇", + "pid": 441900, + "child": [] + }, { + "value": 441927, + "name": "道滘镇", + "pid": 441900, + "child": [] + }, { + "value": 441928, + "name": "塘厦镇", + "pid": 441900, + "child": [] + }, { + "value": 441929, + "name": "虎门镇", + "pid": 441900, + "child": [] + }, { + "value": 441930, + "name": "厚街镇", + "pid": 441900, + "child": [] + }, { + "value": 441931, + "name": "凤岗镇", + "pid": 441900, + "child": [] + }, { + "value": 441932, + "name": "长安镇", + "pid": 441900, + "child": [] + }, { + "value": 441933, + "name": "松山湖高新区", + "pid": 441900, + "child": [] + }] + }, { + "value": 442000, + "name": "中山市", + "pid": 440000, + "child": [{ + "value": 442001, + "name": "石岐区", + "pid": 442000, + "child": [] + }, { + "value": 442002, + "name": "东区", + "pid": 442000, + "child": [] + }, { + "value": 442003, + "name": "西区", + "pid": 442000, + "child": [] + }, { + "value": 442004, + "name": "南区", + "pid": 442000, + "child": [] + }, { + "value": 442005, + "name": "五桂山区", + "pid": 442000, + "child": [] + }, { + "value": 442006, + "name": "火炬开发区", + "pid": 442000, + "child": [] + }, { + "value": 442007, + "name": "黄圃镇", + "pid": 442000, + "child": [] + }, { + "value": 442008, + "name": "南头镇", + "pid": 442000, + "child": [] + }, { + "value": 442009, + "name": "东凤镇", + "pid": 442000, + "child": [] + }, { + "value": 442010, + "name": "阜沙镇", + "pid": 442000, + "child": [] + }, { + "value": 442011, + "name": "小榄镇", + "pid": 442000, + "child": [] + }, { + "value": 442012, + "name": "东升镇", + "pid": 442000, + "child": [] + }, { + "value": 442013, + "name": "古镇镇", + "pid": 442000, + "child": [] + }, { + "value": 442014, + "name": "横栏镇", + "pid": 442000, + "child": [] + }, { + "value": 442015, + "name": "三角镇", + "pid": 442000, + "child": [] + }, { + "value": 442016, + "name": "民众镇", + "pid": 442000, + "child": [] + }, { + "value": 442017, + "name": "南朗镇", + "pid": 442000, + "child": [] + }, { + "value": 442018, + "name": "港口镇", + "pid": 442000, + "child": [] + }, { + "value": 442019, + "name": "大涌镇", + "pid": 442000, + "child": [] + }, { + "value": 442020, + "name": "沙溪镇", + "pid": 442000, + "child": [] + }, { + "value": 442021, + "name": "三乡镇", + "pid": 442000, + "child": [] + }, { + "value": 442022, + "name": "板芙镇", + "pid": 442000, + "child": [] + }, { + "value": 442023, + "name": "神湾镇", + "pid": 442000, + "child": [] + }, { + "value": 442024, + "name": "坦洲镇", + "pid": 442000, + "child": [] + }] + }, { + "value": 445100, + "name": "潮州市", + "pid": 440000, + "child": [{ + "value": 445102, + "name": "湘桥区", + "pid": 445100, + "child": [] + }, { + "value": 445103, + "name": "潮安区", + "pid": 445100, + "child": [] + }, { + "value": 445122, + "name": "饶平县", + "pid": 445100, + "child": [] + }] + }, { + "value": 445200, + "name": "揭阳市", + "pid": 440000, + "child": [{ + "value": 445202, + "name": "榕城区", + "pid": 445200, + "child": [] + }, { + "value": 445203, + "name": "揭东区", + "pid": 445200, + "child": [] + }, { + "value": 445222, + "name": "揭西县", + "pid": 445200, + "child": [] + }, { + "value": 445224, + "name": "惠来县", + "pid": 445200, + "child": [] + }, { + "value": 445281, + "name": "普宁市", + "pid": 445200, + "child": [] + }] + }, { + "value": 445300, + "name": "云浮市", + "pid": 440000, + "child": [{ + "value": 445302, + "name": "云城区", + "pid": 445300, + "child": [] + }, { + "value": 445303, + "name": "云安区", + "pid": 445300, + "child": [] + }, { + "value": 445321, + "name": "新兴县", + "pid": 445300, + "child": [] + }, { + "value": 445322, + "name": "郁南县", + "pid": 445300, + "child": [] + }, { + "value": 445381, + "name": "罗定市", + "pid": 445300, + "child": [] + }] + }] +}, { + "value": 450000, + "name": "广西壮族自治区", + "pid": 0, + "child": [{ + "value": 450100, + "name": "南宁市", + "pid": 450000, + "child": [{ + "value": 450102, + "name": "兴宁区", + "pid": 450100, + "child": [] + }, { + "value": 450103, + "name": "青秀区", + "pid": 450100, + "child": [] + }, { + "value": 450105, + "name": "江南区", + "pid": 450100, + "child": [] + }, { + "value": 450107, + "name": "西乡塘区", + "pid": 450100, + "child": [] + }, { + "value": 450108, + "name": "良庆区", + "pid": 450100, + "child": [] + }, { + "value": 450109, + "name": "邕宁区", + "pid": 450100, + "child": [] + }, { + "value": 450110, + "name": "武鸣区", + "pid": 450100, + "child": [] + }, { + "value": 450123, + "name": "隆安县", + "pid": 450100, + "child": [] + }, { + "value": 450124, + "name": "马山县", + "pid": 450100, + "child": [] + }, { + "value": 450125, + "name": "上林县", + "pid": 450100, + "child": [] + }, { + "value": 450126, + "name": "宾阳县", + "pid": 450100, + "child": [] + }, { + "value": 450127, + "name": "横县", + "pid": 450100, + "child": [] + }, { + "value": 450128, + "name": "埌东新区", + "pid": 450100, + "child": [] + }] + }, { + "value": 450200, + "name": "柳州市", + "pid": 450000, + "child": [{ + "value": 450202, + "name": "城中区", + "pid": 450200, + "child": [] + }, { + "value": 450203, + "name": "鱼峰区", + "pid": 450200, + "child": [] + }, { + "value": 450204, + "name": "柳南区", + "pid": 450200, + "child": [] + }, { + "value": 450205, + "name": "柳北区", + "pid": 450200, + "child": [] + }, { + "value": 450206, + "name": "柳江区", + "pid": 450200, + "child": [] + }, { + "value": 450222, + "name": "柳城县", + "pid": 450200, + "child": [] + }, { + "value": 450223, + "name": "鹿寨县", + "pid": 450200, + "child": [] + }, { + "value": 450224, + "name": "融安县", + "pid": 450200, + "child": [] + }, { + "value": 450225, + "name": "融水苗族自治县", + "pid": 450200, + "child": [] + }, { + "value": 450226, + "name": "三江侗族自治县", + "pid": 450200, + "child": [] + }, { + "value": 450227, + "name": "柳东新区", + "pid": 450200, + "child": [] + }] + }, { + "value": 450300, + "name": "桂林市", + "pid": 450000, + "child": [{ + "value": 450302, + "name": "秀峰区", + "pid": 450300, + "child": [] + }, { + "value": 450303, + "name": "叠彩区", + "pid": 450300, + "child": [] + }, { + "value": 450304, + "name": "象山区", + "pid": 450300, + "child": [] + }, { + "value": 450305, + "name": "七星区", + "pid": 450300, + "child": [] + }, { + "value": 450311, + "name": "雁山区", + "pid": 450300, + "child": [] + }, { + "value": 450312, + "name": "临桂区", + "pid": 450300, + "child": [] + }, { + "value": 450321, + "name": "阳朔县", + "pid": 450300, + "child": [] + }, { + "value": 450323, + "name": "灵川县", + "pid": 450300, + "child": [] + }, { + "value": 450324, + "name": "全州县", + "pid": 450300, + "child": [] + }, { + "value": 450325, + "name": "兴安县", + "pid": 450300, + "child": [] + }, { + "value": 450326, + "name": "永福县", + "pid": 450300, + "child": [] + }, { + "value": 450327, + "name": "灌阳县", + "pid": 450300, + "child": [] + }, { + "value": 450328, + "name": "龙胜各族自治县", + "pid": 450300, + "child": [] + }, { + "value": 450329, + "name": "资源县", + "pid": 450300, + "child": [] + }, { + "value": 450330, + "name": "平乐县", + "pid": 450300, + "child": [] + }, { + "value": 450332, + "name": "恭城瑶族自治县", + "pid": 450300, + "child": [] + }, { + "value": 450381, + "name": "荔浦市", + "pid": 450300, + "child": [] + }] + }, { + "value": 450400, + "name": "梧州市", + "pid": 450000, + "child": [{ + "value": 450403, + "name": "万秀区", + "pid": 450400, + "child": [] + }, { + "value": 450405, + "name": "长洲区", + "pid": 450400, + "child": [] + }, { + "value": 450406, + "name": "龙圩区", + "pid": 450400, + "child": [] + }, { + "value": 450421, + "name": "苍梧县", + "pid": 450400, + "child": [] + }, { + "value": 450422, + "name": "藤县", + "pid": 450400, + "child": [] + }, { + "value": 450423, + "name": "蒙山县", + "pid": 450400, + "child": [] + }, { + "value": 450481, + "name": "岑溪市", + "pid": 450400, + "child": [] + }] + }, { + "value": 450500, + "name": "北海市", + "pid": 450000, + "child": [{ + "value": 450502, + "name": "海城区", + "pid": 450500, + "child": [] + }, { + "value": 450503, + "name": "银海区", + "pid": 450500, + "child": [] + }, { + "value": 450512, + "name": "铁山港区", + "pid": 450500, + "child": [] + }, { + "value": 450521, + "name": "合浦县", + "pid": 450500, + "child": [] + }] + }, { + "value": 450600, + "name": "防城港市", + "pid": 450000, + "child": [{ + "value": 450602, + "name": "港口区", + "pid": 450600, + "child": [] + }, { + "value": 450603, + "name": "防城区", + "pid": 450600, + "child": [] + }, { + "value": 450621, + "name": "上思县", + "pid": 450600, + "child": [] + }, { + "value": 450681, + "name": "东兴市", + "pid": 450600, + "child": [] + }] + }, { + "value": 450700, + "name": "钦州市", + "pid": 450000, + "child": [{ + "value": 450702, + "name": "钦南区", + "pid": 450700, + "child": [] + }, { + "value": 450703, + "name": "钦北区", + "pid": 450700, + "child": [] + }, { + "value": 450721, + "name": "灵山县", + "pid": 450700, + "child": [] + }, { + "value": 450722, + "name": "浦北县", + "pid": 450700, + "child": [] + }] + }, { + "value": 450800, + "name": "贵港市", + "pid": 450000, + "child": [{ + "value": 450802, + "name": "港北区", + "pid": 450800, + "child": [] + }, { + "value": 450803, + "name": "港南区", + "pid": 450800, + "child": [] + }, { + "value": 450804, + "name": "覃塘区", + "pid": 450800, + "child": [] + }, { + "value": 450821, + "name": "平南县", + "pid": 450800, + "child": [] + }, { + "value": 450881, + "name": "桂平市", + "pid": 450800, + "child": [] + }] + }, { + "value": 450900, + "name": "玉林市", + "pid": 450000, + "child": [{ + "value": 450902, + "name": "玉州区", + "pid": 450900, + "child": [] + }, { + "value": 450903, + "name": "福绵区", + "pid": 450900, + "child": [] + }, { + "value": 450921, + "name": "容县", + "pid": 450900, + "child": [] + }, { + "value": 450922, + "name": "陆川县", + "pid": 450900, + "child": [] + }, { + "value": 450923, + "name": "博白县", + "pid": 450900, + "child": [] + }, { + "value": 450924, + "name": "兴业县", + "pid": 450900, + "child": [] + }, { + "value": 450981, + "name": "北流市", + "pid": 450900, + "child": [] + }, { + "value": 450982, + "name": "玉东新区", + "pid": 450900, + "child": [] + }, { + "value": 450983, + "name": "高新区", + "pid": 450900, + "child": [] + }] + }, { + "value": 451000, + "name": "百色市", + "pid": 450000, + "child": [{ + "value": 451002, + "name": "右江区", + "pid": 451000, + "child": [] + }, { + "value": 451021, + "name": "田阳县", + "pid": 451000, + "child": [] + }, { + "value": 451022, + "name": "田东县", + "pid": 451000, + "child": [] + }, { + "value": 451023, + "name": "平果县", + "pid": 451000, + "child": [] + }, { + "value": 451024, + "name": "德保县", + "pid": 451000, + "child": [] + }, { + "value": 451026, + "name": "那坡县", + "pid": 451000, + "child": [] + }, { + "value": 451027, + "name": "凌云县", + "pid": 451000, + "child": [] + }, { + "value": 451028, + "name": "乐业县", + "pid": 451000, + "child": [] + }, { + "value": 451029, + "name": "田林县", + "pid": 451000, + "child": [] + }, { + "value": 451030, + "name": "西林县", + "pid": 451000, + "child": [] + }, { + "value": 451031, + "name": "隆林各族自治县", + "pid": 451000, + "child": [] + }, { + "value": 451081, + "name": "靖西市", + "pid": 451000, + "child": [] + }] + }, { + "value": 451100, + "name": "贺州市", + "pid": 450000, + "child": [{ + "value": 451102, + "name": "八步区", + "pid": 451100, + "child": [] + }, { + "value": 451103, + "name": "平桂区", + "pid": 451100, + "child": [] + }, { + "value": 451121, + "name": "昭平县", + "pid": 451100, + "child": [] + }, { + "value": 451122, + "name": "钟山县", + "pid": 451100, + "child": [] + }, { + "value": 451123, + "name": "富川瑶族自治县", + "pid": 451100, + "child": [] + }] + }, { + "value": 451200, + "name": "河池市", + "pid": 450000, + "child": [{ + "value": 451202, + "name": "金城江区", + "pid": 451200, + "child": [] + }, { + "value": 451203, + "name": "宜州区", + "pid": 451200, + "child": [] + }, { + "value": 451221, + "name": "南丹县", + "pid": 451200, + "child": [] + }, { + "value": 451222, + "name": "天峨县", + "pid": 451200, + "child": [] + }, { + "value": 451223, + "name": "凤山县", + "pid": 451200, + "child": [] + }, { + "value": 451224, + "name": "东兰县", + "pid": 451200, + "child": [] + }, { + "value": 451225, + "name": "罗城仫佬族自治县", + "pid": 451200, + "child": [] + }, { + "value": 451226, + "name": "环江毛南族自治县", + "pid": 451200, + "child": [] + }, { + "value": 451227, + "name": "巴马瑶族自治县", + "pid": 451200, + "child": [] + }, { + "value": 451228, + "name": "都安瑶族自治县", + "pid": 451200, + "child": [] + }, { + "value": 451229, + "name": "大化瑶族自治县", + "pid": 451200, + "child": [] + }] + }, { + "value": 451300, + "name": "来宾市", + "pid": 450000, + "child": [{ + "value": 451302, + "name": "兴宾区", + "pid": 451300, + "child": [] + }, { + "value": 451321, + "name": "忻城县", + "pid": 451300, + "child": [] + }, { + "value": 451322, + "name": "象州县", + "pid": 451300, + "child": [] + }, { + "value": 451323, + "name": "武宣县", + "pid": 451300, + "child": [] + }, { + "value": 451324, + "name": "金秀瑶族自治县", + "pid": 451300, + "child": [] + }, { + "value": 451381, + "name": "合山市", + "pid": 451300, + "child": [] + }] + }, { + "value": 451400, + "name": "崇左市", + "pid": 450000, + "child": [{ + "value": 451402, + "name": "江州区", + "pid": 451400, + "child": [] + }, { + "value": 451421, + "name": "扶绥县", + "pid": 451400, + "child": [] + }, { + "value": 451422, + "name": "宁明县", + "pid": 451400, + "child": [] + }, { + "value": 451423, + "name": "龙州县", + "pid": 451400, + "child": [] + }, { + "value": 451424, + "name": "大新县", + "pid": 451400, + "child": [] + }, { + "value": 451425, + "name": "天等县", + "pid": 451400, + "child": [] + }, { + "value": 451481, + "name": "凭祥市", + "pid": 451400, + "child": [] + }] + }] +}, { + "value": 460000, + "name": "海南省", + "pid": 0, + "child": [{ + "value": 460100, + "name": "海口市", + "pid": 460000, + "child": [{ + "value": 460105, + "name": "秀英区", + "pid": 460100, + "child": [] + }, { + "value": 460106, + "name": "龙华区", + "pid": 460100, + "child": [] + }, { + "value": 460107, + "name": "琼山区", + "pid": 460100, + "child": [] + }, { + "value": 460108, + "name": "美兰区", + "pid": 460100, + "child": [] + }, { + "value": 460109, + "name": "江东新区", + "pid": 460100, + "child": [] + }] + }, { + "value": 460200, + "name": "三亚市", + "pid": 460000, + "child": [{ + "value": 460202, + "name": "海棠区", + "pid": 460200, + "child": [] + }, { + "value": 460203, + "name": "吉阳区", + "pid": 460200, + "child": [] + }, { + "value": 460204, + "name": "天涯区", + "pid": 460200, + "child": [] + }, { + "value": 460205, + "name": "崖州区", + "pid": 460200, + "child": [] + }] + }, { + "value": 460300, + "name": "三沙市", + "pid": 460000, + "child": [{ + "value": 460321, + "name": "西沙群岛", + "pid": 460300, + "child": [] + }, { + "value": 460322, + "name": "南沙群岛", + "pid": 460300, + "child": [] + }, { + "value": 460323, + "name": "中沙群岛", + "pid": 460300, + "child": [] + }] + }, { + "value": 460400, + "name": "儋州市", + "pid": 460000, + "child": [{ + "value": 460401, + "name": "洋浦经济开发区", + "pid": 460400, + "child": [] + }, { + "value": 460402, + "name": "那大镇", + "pid": 460400, + "child": [] + }, { + "value": 460403, + "name": "南丰镇", + "pid": 460400, + "child": [] + }, { + "value": 460404, + "name": "雅星镇", + "pid": 460400, + "child": [] + }, { + "value": 460405, + "name": "和庆镇", + "pid": 460400, + "child": [] + }, { + "value": 460406, + "name": "大成镇", + "pid": 460400, + "child": [] + }, { + "value": 460407, + "name": "新州镇", + "pid": 460400, + "child": [] + }, { + "value": 460408, + "name": "光村镇", + "pid": 460400, + "child": [] + }, { + "value": 460409, + "name": "东成镇", + "pid": 460400, + "child": [] + }, { + "value": 460410, + "name": "中和镇", + "pid": 460400, + "child": [] + }, { + "value": 460411, + "name": "峨蔓镇", + "pid": 460400, + "child": [] + }, { + "value": 460412, + "name": "兰洋镇", + "pid": 460400, + "child": [] + }, { + "value": 460413, + "name": "王五镇", + "pid": 460400, + "child": [] + }, { + "value": 460414, + "name": "排浦镇", + "pid": 460400, + "child": [] + }, { + "value": 460415, + "name": "海头镇", + "pid": 460400, + "child": [] + }, { + "value": 460416, + "name": "木棠镇", + "pid": 460400, + "child": [] + }, { + "value": 460417, + "name": "白马井镇", + "pid": 460400, + "child": [] + }, { + "value": 460418, + "name": "三都镇", + "pid": 460400, + "child": [] + }, { + "value": 460419, + "name": "西培农场", + "pid": 460400, + "child": [] + }, { + "value": 460420, + "name": "西联农场", + "pid": 460400, + "child": [] + }, { + "value": 460421, + "name": "蓝洋农场", + "pid": 460400, + "child": [] + }, { + "value": 460422, + "name": "八一农场", + "pid": 460400, + "child": [] + }, { + "value": 460423, + "name": "西华农场", + "pid": 460400, + "child": [] + }, { + "value": 460424, + "name": "西庆农场", + "pid": 460400, + "child": [] + }, { + "value": 460425, + "name": "西流农场", + "pid": 460400, + "child": [] + }, { + "value": 460426, + "name": "新盈农场", + "pid": 460400, + "child": [] + }, { + "value": 460427, + "name": "龙山农场", + "pid": 460400, + "child": [] + }, { + "value": 460428, + "name": "红岭农场", + "pid": 460400, + "child": [] + }] + }, { + "value": 469001, + "name": "五指山市", + "pid": 460000, + "child": [{ + "value": 469101, + "name": "通什镇", + "pid": 469001, + "child": [] + }, { + "value": 469102, + "name": "南圣镇", + "pid": 469001, + "child": [] + }, { + "value": 469103, + "name": "毛阳镇", + "pid": 469001, + "child": [] + }, { + "value": 469104, + "name": "番阳镇", + "pid": 469001, + "child": [] + }, { + "value": 469105, + "name": "畅好乡", + "pid": 469001, + "child": [] + }, { + "value": 469106, + "name": "毛道乡", + "pid": 469001, + "child": [] + }, { + "value": 469107, + "name": "水满乡", + "pid": 469001, + "child": [] + }] + }, { + "value": 469002, + "name": "琼海市", + "pid": 460000, + "child": [{ + "value": 469201, + "name": "嘉积镇", + "pid": 469002, + "child": [] + }, { + "value": 469202, + "name": "万泉镇", + "pid": 469002, + "child": [] + }, { + "value": 469203, + "name": "石壁镇", + "pid": 469002, + "child": [] + }, { + "value": 469204, + "name": "中原镇", + "pid": 469002, + "child": [] + }, { + "value": 469205, + "name": "博鳌镇", + "pid": 469002, + "child": [] + }, { + "value": 469206, + "name": "阳江镇", + "pid": 469002, + "child": [] + }, { + "value": 469207, + "name": "龙江镇", + "pid": 469002, + "child": [] + }, { + "value": 469208, + "name": "潭门镇", + "pid": 469002, + "child": [] + }, { + "value": 469209, + "name": "塔洋镇", + "pid": 469002, + "child": [] + }, { + "value": 469210, + "name": "长坡镇", + "pid": 469002, + "child": [] + }, { + "value": 469211, + "name": "大路镇", + "pid": 469002, + "child": [] + }, { + "value": 469212, + "name": "会山镇", + "pid": 469002, + "child": [] + }, { + "value": 469213, + "name": "东太农场", + "pid": 469002, + "child": [] + }, { + "value": 469214, + "name": "东红农场", + "pid": 469002, + "child": [] + }, { + "value": 469215, + "name": "东升农场", + "pid": 469002, + "child": [] + }, { + "value": 469216, + "name": "南俸农场", + "pid": 469002, + "child": [] + }, { + "value": 469217, + "name": "彬村山华侨农场", + "pid": 469002, + "child": [] + }] + }, { + "value": 469005, + "name": "文昌市", + "pid": 460000, + "child": [{ + "value": 469501, + "name": "文城镇", + "pid": 469005, + "child": [] + }, { + "value": 469502, + "name": "重兴镇", + "pid": 469005, + "child": [] + }, { + "value": 469503, + "name": "蓬莱镇", + "pid": 469005, + "child": [] + }, { + "value": 469504, + "name": "会文镇", + "pid": 469005, + "child": [] + }, { + "value": 469505, + "name": "东路镇", + "pid": 469005, + "child": [] + }, { + "value": 469506, + "name": "潭牛镇", + "pid": 469005, + "child": [] + }, { + "value": 469507, + "name": "东阁镇", + "pid": 469005, + "child": [] + }, { + "value": 469508, + "name": "文教镇", + "pid": 469005, + "child": [] + }, { + "value": 469509, + "name": "东郊镇", + "pid": 469005, + "child": [] + }, { + "value": 469510, + "name": "龙楼镇", + "pid": 469005, + "child": [] + }, { + "value": 469511, + "name": "昌洒镇", + "pid": 469005, + "child": [] + }, { + "value": 469512, + "name": "翁田镇", + "pid": 469005, + "child": [] + }, { + "value": 469513, + "name": "抱罗镇", + "pid": 469005, + "child": [] + }, { + "value": 469514, + "name": "冯坡镇", + "pid": 469005, + "child": [] + }, { + "value": 469515, + "name": "锦山镇", + "pid": 469005, + "child": [] + }, { + "value": 469516, + "name": "铺前镇", + "pid": 469005, + "child": [] + }, { + "value": 469517, + "name": "公坡镇", + "pid": 469005, + "child": [] + }, { + "value": 469518, + "name": "迈号镇", + "pid": 469005, + "child": [] + }, { + "value": 469519, + "name": "清谰镇", + "pid": 469005, + "child": [] + }, { + "value": 469520, + "name": "南阳镇", + "pid": 469005, + "child": [] + }, { + "value": 469521, + "name": "新桥镇", + "pid": 469005, + "child": [] + }, { + "value": 469522, + "name": "头苑镇", + "pid": 469005, + "child": [] + }, { + "value": 469523, + "name": "宝芳乡", + "pid": 469005, + "child": [] + }, { + "value": 469524, + "name": "龙马乡", + "pid": 469005, + "child": [] + }, { + "value": 469525, + "name": "湖山乡", + "pid": 469005, + "child": [] + }, { + "value": 469526, + "name": "东路农场", + "pid": 469005, + "child": [] + }, { + "value": 469527, + "name": "南阳农场", + "pid": 469005, + "child": [] + }, { + "value": 469528, + "name": "罗豆农场", + "pid": 469005, + "child": [] + }] + }, { + "value": 469006, + "name": "万宁市", + "pid": 460000, + "child": [{ + "value": 469601, + "name": "万城镇", + "pid": 469006, + "child": [] + }, { + "value": 469602, + "name": "龙滚镇", + "pid": 469006, + "child": [] + }, { + "value": 469603, + "name": "和乐镇", + "pid": 469006, + "child": [] + }, { + "value": 469604, + "name": "后安镇", + "pid": 469006, + "child": [] + }, { + "value": 469605, + "name": "大茂镇", + "pid": 469006, + "child": [] + }, { + "value": 469606, + "name": "东澳镇", + "pid": 469006, + "child": [] + }, { + "value": 469607, + "name": "礼纪镇", + "pid": 469006, + "child": [] + }, { + "value": 469608, + "name": "长丰镇", + "pid": 469006, + "child": [] + }, { + "value": 469609, + "name": "山根镇", + "pid": 469006, + "child": [] + }, { + "value": 469610, + "name": "北大镇", + "pid": 469006, + "child": [] + }, { + "value": 469611, + "name": "南桥镇", + "pid": 469006, + "child": [] + }, { + "value": 469612, + "name": "三更罗镇", + "pid": 469006, + "child": [] + }, { + "value": 469613, + "name": "东岭农场", + "pid": 469006, + "child": [] + }, { + "value": 469614, + "name": "南林农场", + "pid": 469006, + "child": [] + }, { + "value": 469615, + "name": "东兴农场", + "pid": 469006, + "child": [] + }, { + "value": 469616, + "name": "东和农场", + "pid": 469006, + "child": [] + }, { + "value": 469617, + "name": "新中农场", + "pid": 469006, + "child": [] + }, { + "value": 469618, + "name": "兴隆华侨农场", + "pid": 469006, + "child": [] + }] + }, { + "value": 469007, + "name": "东方市", + "pid": 460000, + "child": [{ + "value": 469701, + "name": "八所镇", + "pid": 469007, + "child": [] + }, { + "value": 469702, + "name": "东河镇", + "pid": 469007, + "child": [] + }, { + "value": 469703, + "name": "大田镇", + "pid": 469007, + "child": [] + }, { + "value": 469704, + "name": "感城镇", + "pid": 469007, + "child": [] + }, { + "value": 469705, + "name": "板桥镇", + "pid": 469007, + "child": [] + }, { + "value": 469706, + "name": "三家镇", + "pid": 469007, + "child": [] + }, { + "value": 469707, + "name": "四更镇", + "pid": 469007, + "child": [] + }, { + "value": 469708, + "name": "新龙镇", + "pid": 469007, + "child": [] + }, { + "value": 469709, + "name": "天安乡", + "pid": 469007, + "child": [] + }, { + "value": 469710, + "name": "江边乡", + "pid": 469007, + "child": [] + }, { + "value": 469711, + "name": "广坝农场", + "pid": 469007, + "child": [] + }, { + "value": 469712, + "name": "东方华侨农场", + "pid": 469007, + "child": [] + }] + }, { + "value": 469021, + "name": "定安县", + "pid": 460000, + "child": [{ + "value": 469801, + "name": "定城镇", + "pid": 469021, + "child": [] + }, { + "value": 469802, + "name": "新竹镇", + "pid": 469021, + "child": [] + }, { + "value": 469803, + "name": "龙湖镇", + "pid": 469021, + "child": [] + }, { + "value": 469804, + "name": "雷鸣镇", + "pid": 469021, + "child": [] + }, { + "value": 469805, + "name": "龙门镇", + "pid": 469021, + "child": [] + }, { + "value": 469806, + "name": "龙河镇", + "pid": 469021, + "child": [] + }, { + "value": 469807, + "name": "岭口镇", + "pid": 469021, + "child": [] + }, { + "value": 469808, + "name": "翰林镇", + "pid": 469021, + "child": [] + }, { + "value": 469809, + "name": "富文镇", + "pid": 469021, + "child": [] + }, { + "value": 469810, + "name": "黄竹镇", + "pid": 469021, + "child": [] + }, { + "value": 469811, + "name": "金鸡岭农场", + "pid": 469021, + "child": [] + }, { + "value": 469812, + "name": "中瑞农场", + "pid": 469021, + "child": [] + }, { + "value": 469813, + "name": "南海农场", + "pid": 469021, + "child": [] + }, { + "value": 469814, + "name": "城区", + "pid": 469021, + "child": [] + }] + }, { + "value": 469022, + "name": "屯昌县", + "pid": 460000, + "child": [{ + "value": 469821, + "name": "屯城镇", + "pid": 469022, + "child": [] + }, { + "value": 469822, + "name": "新兴镇", + "pid": 469022, + "child": [] + }, { + "value": 469823, + "name": "枫木镇", + "pid": 469022, + "child": [] + }, { + "value": 469824, + "name": "乌坡镇", + "pid": 469022, + "child": [] + }, { + "value": 469825, + "name": "南吕镇", + "pid": 469022, + "child": [] + }, { + "value": 469826, + "name": "南坤镇", + "pid": 469022, + "child": [] + }, { + "value": 469827, + "name": "坡心镇", + "pid": 469022, + "child": [] + }, { + "value": 469828, + "name": "西昌镇", + "pid": 469022, + "child": [] + }, { + "value": 469829, + "name": "中建农场", + "pid": 469022, + "child": [] + }, { + "value": 469830, + "name": "中坤农场", + "pid": 469022, + "child": [] + }, { + "value": 469831, + "name": "县城内", + "pid": 469022, + "child": [] + }] + }, { + "value": 469023, + "name": "澄迈县", + "pid": 460000, + "child": [{ + "value": 469841, + "name": "金江镇", + "pid": 469023, + "child": [] + }, { + "value": 469842, + "name": "老城镇", + "pid": 469023, + "child": [] + }, { + "value": 469843, + "name": "瑞溪镇", + "pid": 469023, + "child": [] + }, { + "value": 469844, + "name": "永发镇", + "pid": 469023, + "child": [] + }, { + "value": 469845, + "name": "加乐镇", + "pid": 469023, + "child": [] + }, { + "value": 469846, + "name": "文儒镇", + "pid": 469023, + "child": [] + }, { + "value": 469847, + "name": "中兴镇", + "pid": 469023, + "child": [] + }, { + "value": 469848, + "name": "仁兴镇", + "pid": 469023, + "child": [] + }, { + "value": 469849, + "name": "福山镇", + "pid": 469023, + "child": [] + }, { + "value": 469850, + "name": "桥头镇", + "pid": 469023, + "child": [] + }, { + "value": 469851, + "name": "大丰镇", + "pid": 469023, + "child": [] + }, { + "value": 469852, + "name": "红光农场", + "pid": 469023, + "child": [] + }, { + "value": 469853, + "name": "西达农场", + "pid": 469023, + "child": [] + }, { + "value": 469854, + "name": "金安农场", + "pid": 469023, + "child": [] + }, { + "value": 469855, + "name": "城区", + "pid": 469023, + "child": [] + }] + }, { + "value": 469024, + "name": "临高县", + "pid": 460000, + "child": [{ + "value": 469861, + "name": "临城镇", + "pid": 469024, + "child": [] + }, { + "value": 469862, + "name": "波莲镇", + "pid": 469024, + "child": [] + }, { + "value": 469863, + "name": "东英镇", + "pid": 469024, + "child": [] + }, { + "value": 469864, + "name": "博厚镇", + "pid": 469024, + "child": [] + }, { + "value": 469865, + "name": "皇桐镇", + "pid": 469024, + "child": [] + }, { + "value": 469866, + "name": "多文镇", + "pid": 469024, + "child": [] + }, { + "value": 469867, + "name": "和舍镇", + "pid": 469024, + "child": [] + }, { + "value": 469868, + "name": "南宝镇", + "pid": 469024, + "child": [] + }, { + "value": 469869, + "name": "新盈镇", + "pid": 469024, + "child": [] + }, { + "value": 469870, + "name": "调楼镇", + "pid": 469024, + "child": [] + }, { + "value": 469871, + "name": "加来镇", + "pid": 469024, + "child": [] + }, { + "value": 469872, + "name": "红华农场", + "pid": 469024, + "child": [] + }, { + "value": 469873, + "name": "加来农场", + "pid": 469024, + "child": [] + }, { + "value": 469874, + "name": "城区", + "pid": 469024, + "child": [] + }] + }, { + "value": 469025, + "name": "白沙黎族自治县", + "pid": 460000, + "child": [{ + "value": 469881, + "name": "牙叉镇", + "pid": 469025, + "child": [] + }, { + "value": 469882, + "name": "七坊镇", + "pid": 469025, + "child": [] + }, { + "value": 469883, + "name": "邦溪镇", + "pid": 469025, + "child": [] + }, { + "value": 469884, + "name": "打安镇", + "pid": 469025, + "child": [] + }, { + "value": 469885, + "name": "细水乡", + "pid": 469025, + "child": [] + }, { + "value": 469886, + "name": "元门乡", + "pid": 469025, + "child": [] + }, { + "value": 469887, + "name": "南开乡", + "pid": 469025, + "child": [] + }, { + "value": 469888, + "name": "阜龙乡", + "pid": 469025, + "child": [] + }, { + "value": 469889, + "name": "青松乡", + "pid": 469025, + "child": [] + }, { + "value": 469890, + "name": "金波乡", + "pid": 469025, + "child": [] + }, { + "value": 469891, + "name": "荣邦乡", + "pid": 469025, + "child": [] + }, { + "value": 469892, + "name": "白沙农场", + "pid": 469025, + "child": [] + }, { + "value": 469893, + "name": "龙江农场", + "pid": 469025, + "child": [] + }, { + "value": 469894, + "name": "邦溪农场", + "pid": 469025, + "child": [] + }, { + "value": 469895, + "name": "城区", + "pid": 469025, + "child": [] + }] + }, { + "value": 469026, + "name": "昌江黎族自治县", + "pid": 460000, + "child": [{ + "value": 469901, + "name": "石碌镇", + "pid": 469026, + "child": [] + }, { + "value": 469902, + "name": "叉河镇", + "pid": 469026, + "child": [] + }, { + "value": 469903, + "name": "十月田镇", + "pid": 469026, + "child": [] + }, { + "value": 469904, + "name": "乌烈镇", + "pid": 469026, + "child": [] + }, { + "value": 469905, + "name": "海尾镇", + "pid": 469026, + "child": [] + }, { + "value": 469906, + "name": "南罗镇", + "pid": 469026, + "child": [] + }, { + "value": 469907, + "name": "太坡镇", + "pid": 469026, + "child": [] + }, { + "value": 469908, + "name": "昌化镇", + "pid": 469026, + "child": [] + }, { + "value": 469909, + "name": "七叉镇", + "pid": 469026, + "child": [] + }, { + "value": 469910, + "name": "保平乡", + "pid": 469026, + "child": [] + }, { + "value": 469911, + "name": "昌城乡", + "pid": 469026, + "child": [] + }, { + "value": 469912, + "name": "王下乡", + "pid": 469026, + "child": [] + }, { + "value": 469913, + "name": "霸王岭林场", + "pid": 469026, + "child": [] + }, { + "value": 469914, + "name": "红林农场", + "pid": 469026, + "child": [] + }, { + "value": 469915, + "name": "城区", + "pid": 469026, + "child": [] + }] + }, { + "value": 469027, + "name": "乐东黎族自治县", + "pid": 460000, + "child": [{ + "value": 469920, + "name": "抱由镇", + "pid": 469027, + "child": [] + }, { + "value": 469921, + "name": "万冲镇", + "pid": 469027, + "child": [] + }, { + "value": 469922, + "name": "大安镇", + "pid": 469027, + "child": [] + }, { + "value": 469923, + "name": "志仲镇", + "pid": 469027, + "child": [] + }, { + "value": 469924, + "name": "千家镇", + "pid": 469027, + "child": [] + }, { + "value": 469925, + "name": "九所镇", + "pid": 469027, + "child": [] + }, { + "value": 469926, + "name": "利国镇", + "pid": 469027, + "child": [] + }, { + "value": 469927, + "name": "黄流镇", + "pid": 469027, + "child": [] + }, { + "value": 469928, + "name": "佛罗镇", + "pid": 469027, + "child": [] + }, { + "value": 469929, + "name": "尖峰镇", + "pid": 469027, + "child": [] + }, { + "value": 469930, + "name": "莺歌海镇", + "pid": 469027, + "child": [] + }, { + "value": 469931, + "name": "乐中农场", + "pid": 469027, + "child": [] + }, { + "value": 469932, + "name": "山荣农场", + "pid": 469027, + "child": [] + }, { + "value": 469933, + "name": "乐光农场", + "pid": 469027, + "child": [] + }, { + "value": 469934, + "name": "报伦农场", + "pid": 469027, + "child": [] + }, { + "value": 469935, + "name": "福报农场", + "pid": 469027, + "child": [] + }, { + "value": 469936, + "name": "保国农场", + "pid": 469027, + "child": [] + }, { + "value": 469937, + "name": "保显农场", + "pid": 469027, + "child": [] + }, { + "value": 469938, + "name": "尖峰岭林业", + "pid": 469027, + "child": [] + }, { + "value": 469939, + "name": "莺歌海盐场", + "pid": 469027, + "child": [] + }, { + "value": 469940, + "name": "城区", + "pid": 469027, + "child": [] + }] + }, { + "value": 469028, + "name": "陵水黎族自治县", + "pid": 460000, + "child": [{ + "value": 469941, + "name": "椰林镇", + "pid": 469028, + "child": [] + }, { + "value": 469942, + "name": "光坡镇", + "pid": 469028, + "child": [] + }, { + "value": 469943, + "name": "三才镇", + "pid": 469028, + "child": [] + }, { + "value": 469944, + "name": "英州镇", + "pid": 469028, + "child": [] + }, { + "value": 469945, + "name": "隆广镇", + "pid": 469028, + "child": [] + }, { + "value": 469946, + "name": "文罗镇", + "pid": 469028, + "child": [] + }, { + "value": 469947, + "name": "本号镇", + "pid": 469028, + "child": [] + }, { + "value": 469948, + "name": "新村镇", + "pid": 469028, + "child": [] + }, { + "value": 469949, + "name": "黎安镇", + "pid": 469028, + "child": [] + }, { + "value": 469950, + "name": "提蒙乡", + "pid": 469028, + "child": [] + }, { + "value": 469951, + "name": "群英乡", + "pid": 469028, + "child": [] + }, { + "value": 469952, + "name": "岭门农场", + "pid": 469028, + "child": [] + }, { + "value": 469953, + "name": "南平农场", + "pid": 469028, + "child": [] + }, { + "value": 469954, + "name": "城区", + "pid": 469028, + "child": [] + }] + }, { + "value": 469029, + "name": "保亭黎族苗族自治县", + "pid": 460000, + "child": [{ + "value": 469961, + "name": "保城镇", + "pid": 469029, + "child": [] + }, { + "value": 469962, + "name": "什玲镇", + "pid": 469029, + "child": [] + }, { + "value": 469963, + "name": "加茂镇", + "pid": 469029, + "child": [] + }, { + "value": 469964, + "name": "响水镇", + "pid": 469029, + "child": [] + }, { + "value": 469965, + "name": "新政镇", + "pid": 469029, + "child": [] + }, { + "value": 469966, + "name": "三道镇", + "pid": 469029, + "child": [] + }, { + "value": 469967, + "name": "六弓乡", + "pid": 469029, + "child": [] + }, { + "value": 469968, + "name": "南林乡", + "pid": 469029, + "child": [] + }, { + "value": 469969, + "name": "毛感乡", + "pid": 469029, + "child": [] + }, { + "value": 469970, + "name": "新星农场", + "pid": 469029, + "child": [] + }, { + "value": 469971, + "name": "金江农场", + "pid": 469029, + "child": [] + }, { + "value": 469972, + "name": "三道农场", + "pid": 469029, + "child": [] + }] + }, { + "value": 469030, + "name": "琼中黎族苗族自治县", + "pid": 460000, + "child": [{ + "value": 469981, + "name": "营根镇", + "pid": 469030, + "child": [] + }, { + "value": 469982, + "name": "湾岭镇", + "pid": 469030, + "child": [] + }, { + "value": 469983, + "name": "黎母山镇", + "pid": 469030, + "child": [] + }, { + "value": 469984, + "name": "和平镇", + "pid": 469030, + "child": [] + }, { + "value": 469985, + "name": "长征镇", + "pid": 469030, + "child": [] + }, { + "value": 469986, + "name": "红毛镇", + "pid": 469030, + "child": [] + }, { + "value": 469987, + "name": "中平镇", + "pid": 469030, + "child": [] + }, { + "value": 469988, + "name": "上安乡", + "pid": 469030, + "child": [] + }, { + "value": 469989, + "name": "什运乡", + "pid": 469030, + "child": [] + }, { + "value": 469990, + "name": "吊罗山乡", + "pid": 469030, + "child": [] + }, { + "value": 469991, + "name": "阳江农场", + "pid": 469030, + "child": [] + }, { + "value": 469992, + "name": "乌石农场", + "pid": 469030, + "child": [] + }, { + "value": 469993, + "name": "加钗农场", + "pid": 469030, + "child": [] + }, { + "value": 469994, + "name": "长征农场", + "pid": 469030, + "child": [] + }, { + "value": 469995, + "name": "城区", + "pid": 469030, + "child": [] + }] + }] +}, { + "value": 500000, + "name": "重庆", + "pid": 0, + "child": [{ + "value": 500100, + "name": "重庆市", + "pid": 500000, + "child": [{ + "value": 500101, + "name": "万州区", + "pid": 500100, + "child": [] + }, { + "value": 500102, + "name": "涪陵区", + "pid": 500100, + "child": [] + }, { + "value": 500103, + "name": "渝中区", + "pid": 500100, + "child": [] + }, { + "value": 500104, + "name": "大渡口区", + "pid": 500100, + "child": [] + }, { + "value": 500105, + "name": "江北区", + "pid": 500100, + "child": [] + }, { + "value": 500106, + "name": "沙坪坝区", + "pid": 500100, + "child": [] + }, { + "value": 500107, + "name": "九龙坡区", + "pid": 500100, + "child": [] + }, { + "value": 500108, + "name": "南岸区", + "pid": 500100, + "child": [] + }, { + "value": 500109, + "name": "北碚区", + "pid": 500100, + "child": [] + }, { + "value": 500110, + "name": "綦江区", + "pid": 500100, + "child": [] + }, { + "value": 500111, + "name": "大足区", + "pid": 500100, + "child": [] + }, { + "value": 500112, + "name": "渝北区", + "pid": 500100, + "child": [] + }, { + "value": 500113, + "name": "巴南区", + "pid": 500100, + "child": [] + }, { + "value": 500114, + "name": "黔江区", + "pid": 500100, + "child": [] + }, { + "value": 500115, + "name": "长寿区", + "pid": 500100, + "child": [] + }, { + "value": 500116, + "name": "江津区", + "pid": 500100, + "child": [] + }, { + "value": 500117, + "name": "合川区", + "pid": 500100, + "child": [] + }, { + "value": 500118, + "name": "永川区", + "pid": 500100, + "child": [] + }, { + "value": 500119, + "name": "南川区", + "pid": 500100, + "child": [] + }, { + "value": 500120, + "name": "璧山区", + "pid": 500100, + "child": [] + }, { + "value": 500151, + "name": "铜梁区", + "pid": 500100, + "child": [] + }, { + "value": 500152, + "name": "潼南区", + "pid": 500100, + "child": [] + }, { + "value": 500153, + "name": "荣昌区", + "pid": 500100, + "child": [] + }, { + "value": 500154, + "name": "开州区", + "pid": 500100, + "child": [] + }, { + "value": 500155, + "name": "梁平区", + "pid": 500100, + "child": [] + }, { + "value": 500156, + "name": "武隆区", + "pid": 500100, + "child": [] + }, { + "value": 500229, + "name": "城口县", + "pid": 500100, + "child": [] + }, { + "value": 500230, + "name": "丰都县", + "pid": 500100, + "child": [] + }, { + "value": 500231, + "name": "垫江县", + "pid": 500100, + "child": [] + }, { + "value": 500233, + "name": "忠县", + "pid": 500100, + "child": [] + }, { + "value": 500235, + "name": "云阳县", + "pid": 500100, + "child": [] + }, { + "value": 500236, + "name": "奉节县", + "pid": 500100, + "child": [] + }, { + "value": 500237, + "name": "巫山县", + "pid": 500100, + "child": [] + }, { + "value": 500238, + "name": "巫溪县", + "pid": 500100, + "child": [] + }, { + "value": 500240, + "name": "石柱土家族自治县", + "pid": 500100, + "child": [] + }, { + "value": 500241, + "name": "秀山土家族苗族自治县", + "pid": 500100, + "child": [] + }, { + "value": 500242, + "name": "酉阳土家族苗族自治县", + "pid": 500100, + "child": [] + }, { + "value": 500243, + "name": "彭水苗族土家族自治县", + "pid": 500100, + "child": [] + }, { + "value": 500300, + "name": "两江新区", + "pid": 500100, + "child": [] + }, { + "value": 500301, + "name": "高新区", + "pid": 500100, + "child": [] + }, { + "value": 500302, + "name": "璧山高新区", + "pid": 500100, + "child": [] + }] + }] +}, { + "value": 510000, + "name": "四川省", + "pid": 0, + "child": [{ + "value": 510100, + "name": "成都市", + "pid": 510000, + "child": [{ + "value": 510104, + "name": "锦江区", + "pid": 510100, + "child": [] + }, { + "value": 510105, + "name": "青羊区", + "pid": 510100, + "child": [] + }, { + "value": 510106, + "name": "金牛区", + "pid": 510100, + "child": [] + }, { + "value": 510107, + "name": "武侯区", + "pid": 510100, + "child": [] + }, { + "value": 510108, + "name": "成华区", + "pid": 510100, + "child": [] + }, { + "value": 510112, + "name": "龙泉驿区", + "pid": 510100, + "child": [] + }, { + "value": 510113, + "name": "青白江区", + "pid": 510100, + "child": [] + }, { + "value": 510114, + "name": "新都区", + "pid": 510100, + "child": [] + }, { + "value": 510115, + "name": "温江区", + "pid": 510100, + "child": [] + }, { + "value": 510116, + "name": "双流区", + "pid": 510100, + "child": [] + }, { + "value": 510117, + "name": "郫都区", + "pid": 510100, + "child": [] + }, { + "value": 510121, + "name": "金堂县", + "pid": 510100, + "child": [] + }, { + "value": 510129, + "name": "大邑县", + "pid": 510100, + "child": [] + }, { + "value": 510131, + "name": "蒲江县", + "pid": 510100, + "child": [] + }, { + "value": 510132, + "name": "新津县", + "pid": 510100, + "child": [] + }, { + "value": 510181, + "name": "都江堰市", + "pid": 510100, + "child": [] + }, { + "value": 510182, + "name": "彭州市", + "pid": 510100, + "child": [] + }, { + "value": 510183, + "name": "邛崃市", + "pid": 510100, + "child": [] + }, { + "value": 510184, + "name": "崇州市", + "pid": 510100, + "child": [] + }, { + "value": 510185, + "name": "简阳市", + "pid": 510100, + "child": [] + }, { + "value": 510186, + "name": "天府新区", + "pid": 510100, + "child": [] + }, { + "value": 510187, + "name": "高新南区", + "pid": 510100, + "child": [] + }, { + "value": 510188, + "name": "高新西区", + "pid": 510100, + "child": [] + }] + }, { + "value": 510300, + "name": "自贡市", + "pid": 510000, + "child": [{ + "value": 510302, + "name": "自流井区", + "pid": 510300, + "child": [] + }, { + "value": 510303, + "name": "贡井区", + "pid": 510300, + "child": [] + }, { + "value": 510304, + "name": "大安区", + "pid": 510300, + "child": [] + }, { + "value": 510311, + "name": "沿滩区", + "pid": 510300, + "child": [] + }, { + "value": 510321, + "name": "荣县", + "pid": 510300, + "child": [] + }, { + "value": 510322, + "name": "富顺县", + "pid": 510300, + "child": [] + }, { + "value": 510323, + "name": "高新区", + "pid": 510300, + "child": [] + }] + }, { + "value": 510400, + "name": "攀枝花市", + "pid": 510000, + "child": [{ + "value": 510402, + "name": "东区", + "pid": 510400, + "child": [] + }, { + "value": 510403, + "name": "西区", + "pid": 510400, + "child": [] + }, { + "value": 510411, + "name": "仁和区", + "pid": 510400, + "child": [] + }, { + "value": 510421, + "name": "米易县", + "pid": 510400, + "child": [] + }, { + "value": 510422, + "name": "盐边县", + "pid": 510400, + "child": [] + }] + }, { + "value": 510500, + "name": "泸州市", + "pid": 510000, + "child": [{ + "value": 510502, + "name": "江阳区", + "pid": 510500, + "child": [] + }, { + "value": 510503, + "name": "纳溪区", + "pid": 510500, + "child": [] + }, { + "value": 510504, + "name": "龙马潭区", + "pid": 510500, + "child": [] + }, { + "value": 510521, + "name": "泸县", + "pid": 510500, + "child": [] + }, { + "value": 510522, + "name": "合江县", + "pid": 510500, + "child": [] + }, { + "value": 510524, + "name": "叙永县", + "pid": 510500, + "child": [] + }, { + "value": 510525, + "name": "古蔺县", + "pid": 510500, + "child": [] + }] + }, { + "value": 510600, + "name": "德阳市", + "pid": 510000, + "child": [{ + "value": 510603, + "name": "旌阳区", + "pid": 510600, + "child": [] + }, { + "value": 510604, + "name": "罗江区", + "pid": 510600, + "child": [] + }, { + "value": 510623, + "name": "中江县", + "pid": 510600, + "child": [] + }, { + "value": 510681, + "name": "广汉市", + "pid": 510600, + "child": [] + }, { + "value": 510682, + "name": "什邡市", + "pid": 510600, + "child": [] + }, { + "value": 510683, + "name": "绵竹市", + "pid": 510600, + "child": [] + }] + }, { + "value": 510700, + "name": "绵阳市", + "pid": 510000, + "child": [{ + "value": 510703, + "name": "涪城区", + "pid": 510700, + "child": [] + }, { + "value": 510704, + "name": "游仙区", + "pid": 510700, + "child": [] + }, { + "value": 510705, + "name": "安州区", + "pid": 510700, + "child": [] + }, { + "value": 510722, + "name": "三台县", + "pid": 510700, + "child": [] + }, { + "value": 510723, + "name": "盐亭县", + "pid": 510700, + "child": [] + }, { + "value": 510725, + "name": "梓潼县", + "pid": 510700, + "child": [] + }, { + "value": 510726, + "name": "北川羌族自治县", + "pid": 510700, + "child": [] + }, { + "value": 510727, + "name": "平武县", + "pid": 510700, + "child": [] + }, { + "value": 510781, + "name": "江油市", + "pid": 510700, + "child": [] + }, { + "value": 510782, + "name": "高新区", + "pid": 510700, + "child": [] + }, { + "value": 510783, + "name": "经开区", + "pid": 510700, + "child": [] + }] + }, { + "value": 510800, + "name": "广元市", + "pid": 510000, + "child": [{ + "value": 510802, + "name": "利州区", + "pid": 510800, + "child": [] + }, { + "value": 510811, + "name": "昭化区", + "pid": 510800, + "child": [] + }, { + "value": 510812, + "name": "朝天区", + "pid": 510800, + "child": [] + }, { + "value": 510821, + "name": "旺苍县", + "pid": 510800, + "child": [] + }, { + "value": 510822, + "name": "青川县", + "pid": 510800, + "child": [] + }, { + "value": 510823, + "name": "剑阁县", + "pid": 510800, + "child": [] + }, { + "value": 510824, + "name": "苍溪县", + "pid": 510800, + "child": [] + }] + }, { + "value": 510900, + "name": "遂宁市", + "pid": 510000, + "child": [{ + "value": 510903, + "name": "船山区", + "pid": 510900, + "child": [] + }, { + "value": 510904, + "name": "安居区", + "pid": 510900, + "child": [] + }, { + "value": 510921, + "name": "蓬溪县", + "pid": 510900, + "child": [] + }, { + "value": 510922, + "name": "射洪县", + "pid": 510900, + "child": [] + }, { + "value": 510923, + "name": "大英县", + "pid": 510900, + "child": [] + }, { + "value": 510924, + "name": "经济技术开发区", + "pid": 510900, + "child": [] + }] + }, { + "value": 511000, + "name": "内江市", + "pid": 510000, + "child": [{ + "value": 511002, + "name": "市中区", + "pid": 511000, + "child": [] + }, { + "value": 511011, + "name": "东兴区", + "pid": 511000, + "child": [] + }, { + "value": 511024, + "name": "威远县", + "pid": 511000, + "child": [] + }, { + "value": 511025, + "name": "资中县", + "pid": 511000, + "child": [] + }, { + "value": 511083, + "name": "隆昌市", + "pid": 511000, + "child": [] + }] + }, { + "value": 511100, + "name": "乐山市", + "pid": 510000, + "child": [{ + "value": 511102, + "name": "市中区", + "pid": 511100, + "child": [] + }, { + "value": 511111, + "name": "沙湾区", + "pid": 511100, + "child": [] + }, { + "value": 511112, + "name": "五通桥区", + "pid": 511100, + "child": [] + }, { + "value": 511113, + "name": "金口河区", + "pid": 511100, + "child": [] + }, { + "value": 511123, + "name": "犍为县", + "pid": 511100, + "child": [] + }, { + "value": 511124, + "name": "井研县", + "pid": 511100, + "child": [] + }, { + "value": 511126, + "name": "夹江县", + "pid": 511100, + "child": [] + }, { + "value": 511129, + "name": "沐川县", + "pid": 511100, + "child": [] + }, { + "value": 511132, + "name": "峨边彝族自治县", + "pid": 511100, + "child": [] + }, { + "value": 511133, + "name": "马边彝族自治县", + "pid": 511100, + "child": [] + }, { + "value": 511181, + "name": "峨眉山市", + "pid": 511100, + "child": [] + }] + }, { + "value": 511300, + "name": "南充市", + "pid": 510000, + "child": [{ + "value": 511302, + "name": "顺庆区", + "pid": 511300, + "child": [] + }, { + "value": 511303, + "name": "高坪区", + "pid": 511300, + "child": [] + }, { + "value": 511304, + "name": "嘉陵区", + "pid": 511300, + "child": [] + }, { + "value": 511321, + "name": "南部县", + "pid": 511300, + "child": [] + }, { + "value": 511322, + "name": "营山县", + "pid": 511300, + "child": [] + }, { + "value": 511323, + "name": "蓬安县", + "pid": 511300, + "child": [] + }, { + "value": 511324, + "name": "仪陇县", + "pid": 511300, + "child": [] + }, { + "value": 511325, + "name": "西充县", + "pid": 511300, + "child": [] + }, { + "value": 511381, + "name": "阆中市", + "pid": 511300, + "child": [] + }] + }, { + "value": 511400, + "name": "眉山市", + "pid": 510000, + "child": [{ + "value": 511402, + "name": "东坡区", + "pid": 511400, + "child": [] + }, { + "value": 511403, + "name": "彭山区", + "pid": 511400, + "child": [] + }, { + "value": 511421, + "name": "仁寿县", + "pid": 511400, + "child": [] + }, { + "value": 511423, + "name": "洪雅县", + "pid": 511400, + "child": [] + }, { + "value": 511424, + "name": "丹棱县", + "pid": 511400, + "child": [] + }, { + "value": 511425, + "name": "青神县", + "pid": 511400, + "child": [] + }] + }, { + "value": 511500, + "name": "宜宾市", + "pid": 510000, + "child": [{ + "value": 511502, + "name": "翠屏区", + "pid": 511500, + "child": [] + }, { + "value": 511503, + "name": "南溪区", + "pid": 511500, + "child": [] + }, { + "value": 511504, + "name": "叙州区", + "pid": 511500, + "child": [] + }, { + "value": 511523, + "name": "江安县", + "pid": 511500, + "child": [] + }, { + "value": 511524, + "name": "长宁县", + "pid": 511500, + "child": [] + }, { + "value": 511525, + "name": "高县", + "pid": 511500, + "child": [] + }, { + "value": 511526, + "name": "珙县", + "pid": 511500, + "child": [] + }, { + "value": 511527, + "name": "筠连县", + "pid": 511500, + "child": [] + }, { + "value": 511528, + "name": "兴文县", + "pid": 511500, + "child": [] + }, { + "value": 511529, + "name": "屏山县", + "pid": 511500, + "child": [] + }] + }, { + "value": 511600, + "name": "广安市", + "pid": 510000, + "child": [{ + "value": 511602, + "name": "广安区", + "pid": 511600, + "child": [] + }, { + "value": 511603, + "name": "前锋区", + "pid": 511600, + "child": [] + }, { + "value": 511621, + "name": "岳池县", + "pid": 511600, + "child": [] + }, { + "value": 511622, + "name": "武胜县", + "pid": 511600, + "child": [] + }, { + "value": 511623, + "name": "邻水县", + "pid": 511600, + "child": [] + }, { + "value": 511681, + "name": "华蓥市", + "pid": 511600, + "child": [] + }] + }, { + "value": 511700, + "name": "达州市", + "pid": 510000, + "child": [{ + "value": 511702, + "name": "通川区", + "pid": 511700, + "child": [] + }, { + "value": 511703, + "name": "达川区", + "pid": 511700, + "child": [] + }, { + "value": 511722, + "name": "宣汉县", + "pid": 511700, + "child": [] + }, { + "value": 511723, + "name": "开江县", + "pid": 511700, + "child": [] + }, { + "value": 511724, + "name": "大竹县", + "pid": 511700, + "child": [] + }, { + "value": 511725, + "name": "渠县", + "pid": 511700, + "child": [] + }, { + "value": 511781, + "name": "万源市", + "pid": 511700, + "child": [] + }] + }, { + "value": 511800, + "name": "雅安市", + "pid": 510000, + "child": [{ + "value": 511802, + "name": "雨城区", + "pid": 511800, + "child": [] + }, { + "value": 511803, + "name": "名山区", + "pid": 511800, + "child": [] + }, { + "value": 511822, + "name": "荥经县", + "pid": 511800, + "child": [] + }, { + "value": 511823, + "name": "汉源县", + "pid": 511800, + "child": [] + }, { + "value": 511824, + "name": "石棉县", + "pid": 511800, + "child": [] + }, { + "value": 511825, + "name": "天全县", + "pid": 511800, + "child": [] + }, { + "value": 511826, + "name": "芦山县", + "pid": 511800, + "child": [] + }, { + "value": 511827, + "name": "宝兴县", + "pid": 511800, + "child": [] + }] + }, { + "value": 511900, + "name": "巴中市", + "pid": 510000, + "child": [{ + "value": 511902, + "name": "巴州区", + "pid": 511900, + "child": [] + }, { + "value": 511903, + "name": "恩阳区", + "pid": 511900, + "child": [] + }, { + "value": 511921, + "name": "通江县", + "pid": 511900, + "child": [] + }, { + "value": 511922, + "name": "南江县", + "pid": 511900, + "child": [] + }, { + "value": 511923, + "name": "平昌县", + "pid": 511900, + "child": [] + }] + }, { + "value": 512000, + "name": "资阳市", + "pid": 510000, + "child": [{ + "value": 512002, + "name": "雁江区", + "pid": 512000, + "child": [] + }, { + "value": 512021, + "name": "安岳县", + "pid": 512000, + "child": [] + }, { + "value": 512022, + "name": "乐至县", + "pid": 512000, + "child": [] + }] + }, { + "value": 513200, + "name": "阿坝藏族羌族自治州", + "pid": 510000, + "child": [{ + "value": 513201, + "name": "马尔康市", + "pid": 513200, + "child": [] + }, { + "value": 513221, + "name": "汶川县", + "pid": 513200, + "child": [] + }, { + "value": 513222, + "name": "理县", + "pid": 513200, + "child": [] + }, { + "value": 513223, + "name": "茂县", + "pid": 513200, + "child": [] + }, { + "value": 513224, + "name": "松潘县", + "pid": 513200, + "child": [] + }, { + "value": 513225, + "name": "九寨沟县", + "pid": 513200, + "child": [] + }, { + "value": 513226, + "name": "金川县", + "pid": 513200, + "child": [] + }, { + "value": 513227, + "name": "小金县", + "pid": 513200, + "child": [] + }, { + "value": 513228, + "name": "黑水县", + "pid": 513200, + "child": [] + }, { + "value": 513230, + "name": "壤塘县", + "pid": 513200, + "child": [] + }, { + "value": 513231, + "name": "阿坝县", + "pid": 513200, + "child": [] + }, { + "value": 513232, + "name": "若尔盖县", + "pid": 513200, + "child": [] + }, { + "value": 513233, + "name": "红原县", + "pid": 513200, + "child": [] + }] + }, { + "value": 513300, + "name": "甘孜藏族自治州", + "pid": 510000, + "child": [{ + "value": 513301, + "name": "康定市", + "pid": 513300, + "child": [] + }, { + "value": 513322, + "name": "泸定县", + "pid": 513300, + "child": [] + }, { + "value": 513323, + "name": "丹巴县", + "pid": 513300, + "child": [] + }, { + "value": 513324, + "name": "九龙县", + "pid": 513300, + "child": [] + }, { + "value": 513325, + "name": "雅江县", + "pid": 513300, + "child": [] + }, { + "value": 513326, + "name": "道孚县", + "pid": 513300, + "child": [] + }, { + "value": 513327, + "name": "炉霍县", + "pid": 513300, + "child": [] + }, { + "value": 513328, + "name": "甘孜县", + "pid": 513300, + "child": [] + }, { + "value": 513329, + "name": "新龙县", + "pid": 513300, + "child": [] + }, { + "value": 513330, + "name": "德格县", + "pid": 513300, + "child": [] + }, { + "value": 513331, + "name": "白玉县", + "pid": 513300, + "child": [] + }, { + "value": 513332, + "name": "石渠县", + "pid": 513300, + "child": [] + }, { + "value": 513333, + "name": "色达县", + "pid": 513300, + "child": [] + }, { + "value": 513334, + "name": "理塘县", + "pid": 513300, + "child": [] + }, { + "value": 513335, + "name": "巴塘县", + "pid": 513300, + "child": [] + }, { + "value": 513336, + "name": "乡城县", + "pid": 513300, + "child": [] + }, { + "value": 513337, + "name": "稻城县", + "pid": 513300, + "child": [] + }, { + "value": 513338, + "name": "得荣县", + "pid": 513300, + "child": [] + }] + }, { + "value": 513400, + "name": "凉山彝族自治州", + "pid": 510000, + "child": [{ + "value": 513401, + "name": "西昌市", + "pid": 513400, + "child": [] + }, { + "value": 513422, + "name": "木里藏族自治县", + "pid": 513400, + "child": [] + }, { + "value": 513423, + "name": "盐源县", + "pid": 513400, + "child": [] + }, { + "value": 513424, + "name": "德昌县", + "pid": 513400, + "child": [] + }, { + "value": 513425, + "name": "会理县", + "pid": 513400, + "child": [] + }, { + "value": 513426, + "name": "会东县", + "pid": 513400, + "child": [] + }, { + "value": 513427, + "name": "宁南县", + "pid": 513400, + "child": [] + }, { + "value": 513428, + "name": "普格县", + "pid": 513400, + "child": [] + }, { + "value": 513429, + "name": "布拖县", + "pid": 513400, + "child": [] + }, { + "value": 513430, + "name": "金阳县", + "pid": 513400, + "child": [] + }, { + "value": 513431, + "name": "昭觉县", + "pid": 513400, + "child": [] + }, { + "value": 513432, + "name": "喜德县", + "pid": 513400, + "child": [] + }, { + "value": 513433, + "name": "冕宁县", + "pid": 513400, + "child": [] + }, { + "value": 513434, + "name": "越西县", + "pid": 513400, + "child": [] + }, { + "value": 513435, + "name": "甘洛县", + "pid": 513400, + "child": [] + }, { + "value": 513436, + "name": "美姑县", + "pid": 513400, + "child": [] + }, { + "value": 513437, + "name": "雷波县", + "pid": 513400, + "child": [] + }] + }] +}, { + "value": 520000, + "name": "贵州省", + "pid": 0, + "child": [{ + "value": 520100, + "name": "贵阳市", + "pid": 520000, + "child": [{ + "value": 520102, + "name": "南明区", + "pid": 520100, + "child": [] + }, { + "value": 520103, + "name": "云岩区", + "pid": 520100, + "child": [] + }, { + "value": 520111, + "name": "花溪区", + "pid": 520100, + "child": [] + }, { + "value": 520112, + "name": "乌当区", + "pid": 520100, + "child": [] + }, { + "value": 520113, + "name": "白云区", + "pid": 520100, + "child": [] + }, { + "value": 520115, + "name": "观山湖区", + "pid": 520100, + "child": [] + }, { + "value": 520121, + "name": "开阳县", + "pid": 520100, + "child": [] + }, { + "value": 520122, + "name": "息烽县", + "pid": 520100, + "child": [] + }, { + "value": 520123, + "name": "修文县", + "pid": 520100, + "child": [] + }, { + "value": 520181, + "name": "清镇市", + "pid": 520100, + "child": [] + }, { + "value": 520182, + "name": "贵安新区", + "pid": 520100, + "child": [] + }, { + "value": 520183, + "name": "高新区", + "pid": 520100, + "child": [] + }] + }, { + "value": 520200, + "name": "六盘水市", + "pid": 520000, + "child": [{ + "value": 520201, + "name": "钟山区", + "pid": 520200, + "child": [] + }, { + "value": 520203, + "name": "六枝特区", + "pid": 520200, + "child": [] + }, { + "value": 520221, + "name": "水城县", + "pid": 520200, + "child": [] + }, { + "value": 520281, + "name": "盘州市", + "pid": 520200, + "child": [] + }] + }, { + "value": 520300, + "name": "遵义市", + "pid": 520000, + "child": [{ + "value": 520302, + "name": "红花岗区", + "pid": 520300, + "child": [] + }, { + "value": 520303, + "name": "汇川区", + "pid": 520300, + "child": [] + }, { + "value": 520304, + "name": "播州区", + "pid": 520300, + "child": [] + }, { + "value": 520322, + "name": "桐梓县", + "pid": 520300, + "child": [] + }, { + "value": 520323, + "name": "绥阳县", + "pid": 520300, + "child": [] + }, { + "value": 520324, + "name": "正安县", + "pid": 520300, + "child": [] + }, { + "value": 520325, + "name": "道真仡佬族苗族自治县", + "pid": 520300, + "child": [] + }, { + "value": 520326, + "name": "务川仡佬族苗族自治县", + "pid": 520300, + "child": [] + }, { + "value": 520327, + "name": "凤冈县", + "pid": 520300, + "child": [] + }, { + "value": 520328, + "name": "湄潭县", + "pid": 520300, + "child": [] + }, { + "value": 520329, + "name": "余庆县", + "pid": 520300, + "child": [] + }, { + "value": 520330, + "name": "习水县", + "pid": 520300, + "child": [] + }, { + "value": 520381, + "name": "赤水市", + "pid": 520300, + "child": [] + }, { + "value": 520382, + "name": "仁怀市", + "pid": 520300, + "child": [] + }] + }, { + "value": 520400, + "name": "安顺市", + "pid": 520000, + "child": [{ + "value": 520402, + "name": "西秀区", + "pid": 520400, + "child": [] + }, { + "value": 520403, + "name": "平坝区", + "pid": 520400, + "child": [] + }, { + "value": 520422, + "name": "普定县", + "pid": 520400, + "child": [] + }, { + "value": 520423, + "name": "镇宁布依族苗族自治县", + "pid": 520400, + "child": [] + }, { + "value": 520424, + "name": "关岭布依族苗族自治县", + "pid": 520400, + "child": [] + }, { + "value": 520425, + "name": "紫云苗族布依族自治县", + "pid": 520400, + "child": [] + }] + }, { + "value": 520500, + "name": "毕节市", + "pid": 520000, + "child": [{ + "value": 520502, + "name": "七星关区", + "pid": 520500, + "child": [] + }, { + "value": 520521, + "name": "大方县", + "pid": 520500, + "child": [] + }, { + "value": 520522, + "name": "黔西县", + "pid": 520500, + "child": [] + }, { + "value": 520523, + "name": "金沙县", + "pid": 520500, + "child": [] + }, { + "value": 520524, + "name": "织金县", + "pid": 520500, + "child": [] + }, { + "value": 520525, + "name": "纳雍县", + "pid": 520500, + "child": [] + }, { + "value": 520526, + "name": "威宁彝族回族苗族自治县", + "pid": 520500, + "child": [] + }, { + "value": 520527, + "name": "赫章县", + "pid": 520500, + "child": [] + }] + }, { + "value": 520600, + "name": "铜仁市", + "pid": 520000, + "child": [{ + "value": 520602, + "name": "碧江区", + "pid": 520600, + "child": [] + }, { + "value": 520603, + "name": "万山区", + "pid": 520600, + "child": [] + }, { + "value": 520621, + "name": "江口县", + "pid": 520600, + "child": [] + }, { + "value": 520622, + "name": "玉屏侗族自治县", + "pid": 520600, + "child": [] + }, { + "value": 520623, + "name": "石阡县", + "pid": 520600, + "child": [] + }, { + "value": 520624, + "name": "思南县", + "pid": 520600, + "child": [] + }, { + "value": 520625, + "name": "印江土家族苗族自治县", + "pid": 520600, + "child": [] + }, { + "value": 520626, + "name": "德江县", + "pid": 520600, + "child": [] + }, { + "value": 520627, + "name": "沿河土家族自治县", + "pid": 520600, + "child": [] + }, { + "value": 520628, + "name": "松桃苗族自治县", + "pid": 520600, + "child": [] + }] + }, { + "value": 522300, + "name": "黔西南布依族苗族自治州", + "pid": 520000, + "child": [{ + "value": 522301, + "name": "兴义市 ", + "pid": 522300, + "child": [] + }, { + "value": 522302, + "name": "兴仁市", + "pid": 522300, + "child": [] + }, { + "value": 522323, + "name": "普安县", + "pid": 522300, + "child": [] + }, { + "value": 522324, + "name": "晴隆县", + "pid": 522300, + "child": [] + }, { + "value": 522325, + "name": "贞丰县", + "pid": 522300, + "child": [] + }, { + "value": 522326, + "name": "望谟县", + "pid": 522300, + "child": [] + }, { + "value": 522327, + "name": "册亨县", + "pid": 522300, + "child": [] + }, { + "value": 522328, + "name": "安龙县", + "pid": 522300, + "child": [] + }] + }, { + "value": 522600, + "name": "黔东南苗族侗族自治州", + "pid": 520000, + "child": [{ + "value": 522601, + "name": "凯里市", + "pid": 522600, + "child": [] + }, { + "value": 522622, + "name": "黄平县", + "pid": 522600, + "child": [] + }, { + "value": 522623, + "name": "施秉县", + "pid": 522600, + "child": [] + }, { + "value": 522624, + "name": "三穗县", + "pid": 522600, + "child": [] + }, { + "value": 522625, + "name": "镇远县", + "pid": 522600, + "child": [] + }, { + "value": 522626, + "name": "岑巩县", + "pid": 522600, + "child": [] + }, { + "value": 522627, + "name": "天柱县", + "pid": 522600, + "child": [] + }, { + "value": 522628, + "name": "锦屏县", + "pid": 522600, + "child": [] + }, { + "value": 522629, + "name": "剑河县", + "pid": 522600, + "child": [] + }, { + "value": 522630, + "name": "台江县", + "pid": 522600, + "child": [] + }, { + "value": 522631, + "name": "黎平县", + "pid": 522600, + "child": [] + }, { + "value": 522632, + "name": "榕江县", + "pid": 522600, + "child": [] + }, { + "value": 522633, + "name": "从江县", + "pid": 522600, + "child": [] + }, { + "value": 522634, + "name": "雷山县", + "pid": 522600, + "child": [] + }, { + "value": 522635, + "name": "麻江县", + "pid": 522600, + "child": [] + }, { + "value": 522636, + "name": "丹寨县", + "pid": 522600, + "child": [] + }] + }, { + "value": 522700, + "name": "黔南布依族苗族自治州", + "pid": 520000, + "child": [{ + "value": 522701, + "name": "都匀市", + "pid": 522700, + "child": [] + }, { + "value": 522702, + "name": "福泉市", + "pid": 522700, + "child": [] + }, { + "value": 522722, + "name": "荔波县", + "pid": 522700, + "child": [] + }, { + "value": 522723, + "name": "贵定县", + "pid": 522700, + "child": [] + }, { + "value": 522725, + "name": "瓮安县", + "pid": 522700, + "child": [] + }, { + "value": 522726, + "name": "独山县", + "pid": 522700, + "child": [] + }, { + "value": 522727, + "name": "平塘县", + "pid": 522700, + "child": [] + }, { + "value": 522728, + "name": "罗甸县", + "pid": 522700, + "child": [] + }, { + "value": 522729, + "name": "长顺县", + "pid": 522700, + "child": [] + }, { + "value": 522730, + "name": "龙里县", + "pid": 522700, + "child": [] + }, { + "value": 522731, + "name": "惠水县", + "pid": 522700, + "child": [] + }, { + "value": 522732, + "name": "三都水族自治县", + "pid": 522700, + "child": [] + }] + }] +}, { + "value": 530000, + "name": "云南省", + "pid": 0, + "child": [{ + "value": 530100, + "name": "昆明市", + "pid": 530000, + "child": [{ + "value": 530102, + "name": "五华区", + "pid": 530100, + "child": [] + }, { + "value": 530103, + "name": "盘龙区", + "pid": 530100, + "child": [] + }, { + "value": 530111, + "name": "官渡区", + "pid": 530100, + "child": [] + }, { + "value": 530112, + "name": "西山区", + "pid": 530100, + "child": [] + }, { + "value": 530113, + "name": "东川区", + "pid": 530100, + "child": [] + }, { + "value": 530114, + "name": "呈贡区", + "pid": 530100, + "child": [] + }, { + "value": 530115, + "name": "晋宁区", + "pid": 530100, + "child": [] + }, { + "value": 530124, + "name": "富民县", + "pid": 530100, + "child": [] + }, { + "value": 530125, + "name": "宜良县", + "pid": 530100, + "child": [] + }, { + "value": 530126, + "name": "石林彝族自治县", + "pid": 530100, + "child": [] + }, { + "value": 530127, + "name": "嵩明县", + "pid": 530100, + "child": [] + }, { + "value": 530128, + "name": "禄劝彝族苗族自治县", + "pid": 530100, + "child": [] + }, { + "value": 530129, + "name": "寻甸回族彝族自治县 ", + "pid": 530100, + "child": [] + }, { + "value": 530181, + "name": "安宁市", + "pid": 530100, + "child": [] + }, { + "value": 530182, + "name": "滇中新区", + "pid": 530100, + "child": [] + }, { + "value": 530183, + "name": "高新区", + "pid": 530100, + "child": [] + }] + }, { + "value": 530300, + "name": "曲靖市", + "pid": 530000, + "child": [{ + "value": 530302, + "name": "麒麟区", + "pid": 530300, + "child": [] + }, { + "value": 530303, + "name": "沾益区", + "pid": 530300, + "child": [] + }, { + "value": 530304, + "name": "马龙区", + "pid": 530300, + "child": [] + }, { + "value": 530322, + "name": "陆良县", + "pid": 530300, + "child": [] + }, { + "value": 530323, + "name": "师宗县", + "pid": 530300, + "child": [] + }, { + "value": 530324, + "name": "罗平县", + "pid": 530300, + "child": [] + }, { + "value": 530325, + "name": "富源县", + "pid": 530300, + "child": [] + }, { + "value": 530326, + "name": "会泽县", + "pid": 530300, + "child": [] + }, { + "value": 530381, + "name": "宣威市", + "pid": 530300, + "child": [] + }] + }, { + "value": 530400, + "name": "玉溪市", + "pid": 530000, + "child": [{ + "value": 530402, + "name": "红塔区", + "pid": 530400, + "child": [] + }, { + "value": 530403, + "name": "江川区", + "pid": 530400, + "child": [] + }, { + "value": 530422, + "name": "澄江县", + "pid": 530400, + "child": [] + }, { + "value": 530423, + "name": "通海县", + "pid": 530400, + "child": [] + }, { + "value": 530424, + "name": "华宁县", + "pid": 530400, + "child": [] + }, { + "value": 530425, + "name": "易门县", + "pid": 530400, + "child": [] + }, { + "value": 530426, + "name": "峨山彝族自治县", + "pid": 530400, + "child": [] + }, { + "value": 530427, + "name": "新平彝族傣族自治县", + "pid": 530400, + "child": [] + }, { + "value": 530428, + "name": "元江哈尼族彝族傣族自治县", + "pid": 530400, + "child": [] + }] + }, { + "value": 530500, + "name": "保山市", + "pid": 530000, + "child": [{ + "value": 530502, + "name": "隆阳区", + "pid": 530500, + "child": [] + }, { + "value": 530521, + "name": "施甸县", + "pid": 530500, + "child": [] + }, { + "value": 530523, + "name": "龙陵县", + "pid": 530500, + "child": [] + }, { + "value": 530524, + "name": "昌宁县", + "pid": 530500, + "child": [] + }, { + "value": 530581, + "name": "腾冲市", + "pid": 530500, + "child": [] + }] + }, { + "value": 530600, + "name": "昭通市", + "pid": 530000, + "child": [{ + "value": 530602, + "name": "昭阳区", + "pid": 530600, + "child": [] + }, { + "value": 530621, + "name": "鲁甸县", + "pid": 530600, + "child": [] + }, { + "value": 530622, + "name": "巧家县", + "pid": 530600, + "child": [] + }, { + "value": 530623, + "name": "盐津县", + "pid": 530600, + "child": [] + }, { + "value": 530624, + "name": "大关县", + "pid": 530600, + "child": [] + }, { + "value": 530625, + "name": "永善县", + "pid": 530600, + "child": [] + }, { + "value": 530626, + "name": "绥江县", + "pid": 530600, + "child": [] + }, { + "value": 530627, + "name": "镇雄县", + "pid": 530600, + "child": [] + }, { + "value": 530628, + "name": "彝良县", + "pid": 530600, + "child": [] + }, { + "value": 530629, + "name": "威信县", + "pid": 530600, + "child": [] + }, { + "value": 530681, + "name": "水富市", + "pid": 530600, + "child": [] + }] + }, { + "value": 530700, + "name": "丽江市", + "pid": 530000, + "child": [{ + "value": 530702, + "name": "古城区", + "pid": 530700, + "child": [] + }, { + "value": 530721, + "name": "玉龙纳西族自治县", + "pid": 530700, + "child": [] + }, { + "value": 530722, + "name": "永胜县", + "pid": 530700, + "child": [] + }, { + "value": 530723, + "name": "华坪县", + "pid": 530700, + "child": [] + }, { + "value": 530724, + "name": "宁蒗彝族自治县", + "pid": 530700, + "child": [] + }] + }, { + "value": 530800, + "name": "普洱市", + "pid": 530000, + "child": [{ + "value": 530802, + "name": "思茅区", + "pid": 530800, + "child": [] + }, { + "value": 530821, + "name": "宁洱哈尼族彝族自治县", + "pid": 530800, + "child": [] + }, { + "value": 530822, + "name": "墨江哈尼族自治县", + "pid": 530800, + "child": [] + }, { + "value": 530823, + "name": "景东彝族自治县", + "pid": 530800, + "child": [] + }, { + "value": 530824, + "name": "景谷傣族彝族自治县", + "pid": 530800, + "child": [] + }, { + "value": 530825, + "name": "镇沅彝族哈尼族拉祜族自治县", + "pid": 530800, + "child": [] + }, { + "value": 530826, + "name": "江城哈尼族彝族自治县", + "pid": 530800, + "child": [] + }, { + "value": 530827, + "name": "孟连傣族拉祜族佤族自治县", + "pid": 530800, + "child": [] + }, { + "value": 530828, + "name": "澜沧拉祜族自治县", + "pid": 530800, + "child": [] + }, { + "value": 530829, + "name": "西盟佤族自治县", + "pid": 530800, + "child": [] + }] + }, { + "value": 530900, + "name": "临沧市", + "pid": 530000, + "child": [{ + "value": 530902, + "name": "临翔区", + "pid": 530900, + "child": [] + }, { + "value": 530921, + "name": "凤庆县", + "pid": 530900, + "child": [] + }, { + "value": 530922, + "name": "云县", + "pid": 530900, + "child": [] + }, { + "value": 530923, + "name": "永德县", + "pid": 530900, + "child": [] + }, { + "value": 530924, + "name": "镇康县", + "pid": 530900, + "child": [] + }, { + "value": 530925, + "name": "双江拉祜族佤族布朗族傣族自治县", + "pid": 530900, + "child": [] + }, { + "value": 530926, + "name": "耿马傣族佤族自治县", + "pid": 530900, + "child": [] + }, { + "value": 530927, + "name": "沧源佤族自治县", + "pid": 530900, + "child": [] + }] + }, { + "value": 532300, + "name": "楚雄彝族自治州", + "pid": 530000, + "child": [{ + "value": 532301, + "name": "楚雄市", + "pid": 532300, + "child": [] + }, { + "value": 532322, + "name": "双柏县", + "pid": 532300, + "child": [] + }, { + "value": 532323, + "name": "牟定县", + "pid": 532300, + "child": [] + }, { + "value": 532324, + "name": "南华县", + "pid": 532300, + "child": [] + }, { + "value": 532325, + "name": "姚安县", + "pid": 532300, + "child": [] + }, { + "value": 532326, + "name": "大姚县", + "pid": 532300, + "child": [] + }, { + "value": 532327, + "name": "永仁县", + "pid": 532300, + "child": [] + }, { + "value": 532328, + "name": "元谋县", + "pid": 532300, + "child": [] + }, { + "value": 532329, + "name": "武定县", + "pid": 532300, + "child": [] + }, { + "value": 532331, + "name": "禄丰县", + "pid": 532300, + "child": [] + }] + }, { + "value": 532500, + "name": "红河哈尼族彝族自治州", + "pid": 530000, + "child": [{ + "value": 532501, + "name": "个旧市", + "pid": 532500, + "child": [] + }, { + "value": 532502, + "name": "开远市", + "pid": 532500, + "child": [] + }, { + "value": 532503, + "name": "蒙自市", + "pid": 532500, + "child": [] + }, { + "value": 532504, + "name": "弥勒市", + "pid": 532500, + "child": [] + }, { + "value": 532523, + "name": "屏边苗族自治县", + "pid": 532500, + "child": [] + }, { + "value": 532524, + "name": "建水县", + "pid": 532500, + "child": [] + }, { + "value": 532525, + "name": "石屏县", + "pid": 532500, + "child": [] + }, { + "value": 532527, + "name": "泸西县", + "pid": 532500, + "child": [] + }, { + "value": 532528, + "name": "元阳县", + "pid": 532500, + "child": [] + }, { + "value": 532529, + "name": "红河县", + "pid": 532500, + "child": [] + }, { + "value": 532530, + "name": "金平苗族瑶族傣族自治县", + "pid": 532500, + "child": [] + }, { + "value": 532531, + "name": "绿春县", + "pid": 532500, + "child": [] + }, { + "value": 532532, + "name": "河口瑶族自治县", + "pid": 532500, + "child": [] + }] + }, { + "value": 532600, + "name": "文山壮族苗族自治州", + "pid": 530000, + "child": [{ + "value": 532601, + "name": "文山市", + "pid": 532600, + "child": [] + }, { + "value": 532622, + "name": "砚山县", + "pid": 532600, + "child": [] + }, { + "value": 532623, + "name": "西畴县", + "pid": 532600, + "child": [] + }, { + "value": 532624, + "name": "麻栗坡县", + "pid": 532600, + "child": [] + }, { + "value": 532625, + "name": "马关县", + "pid": 532600, + "child": [] + }, { + "value": 532626, + "name": "丘北县", + "pid": 532600, + "child": [] + }, { + "value": 532627, + "name": "广南县", + "pid": 532600, + "child": [] + }, { + "value": 532628, + "name": "富宁县", + "pid": 532600, + "child": [] + }] + }, { + "value": 532800, + "name": "西双版纳傣族自治州", + "pid": 530000, + "child": [{ + "value": 532801, + "name": "景洪市", + "pid": 532800, + "child": [] + }, { + "value": 532822, + "name": "勐海县", + "pid": 532800, + "child": [] + }, { + "value": 532823, + "name": "勐腊县", + "pid": 532800, + "child": [] + }] + }, { + "value": 532900, + "name": "大理白族自治州", + "pid": 530000, + "child": [{ + "value": 532901, + "name": "大理市", + "pid": 532900, + "child": [] + }, { + "value": 532922, + "name": "漾濞彝族自治县", + "pid": 532900, + "child": [] + }, { + "value": 532923, + "name": "祥云县", + "pid": 532900, + "child": [] + }, { + "value": 532924, + "name": "宾川县", + "pid": 532900, + "child": [] + }, { + "value": 532925, + "name": "弥渡县", + "pid": 532900, + "child": [] + }, { + "value": 532926, + "name": "南涧彝族自治县", + "pid": 532900, + "child": [] + }, { + "value": 532927, + "name": "巍山彝族回族自治县", + "pid": 532900, + "child": [] + }, { + "value": 532928, + "name": "永平县", + "pid": 532900, + "child": [] + }, { + "value": 532929, + "name": "云龙县", + "pid": 532900, + "child": [] + }, { + "value": 532930, + "name": "洱源县", + "pid": 532900, + "child": [] + }, { + "value": 532931, + "name": "剑川县", + "pid": 532900, + "child": [] + }, { + "value": 532932, + "name": "鹤庆县", + "pid": 532900, + "child": [] + }] + }, { + "value": 533100, + "name": "德宏傣族景颇族自治州", + "pid": 530000, + "child": [{ + "value": 533102, + "name": "瑞丽市", + "pid": 533100, + "child": [] + }, { + "value": 533103, + "name": "芒市", + "pid": 533100, + "child": [] + }, { + "value": 533122, + "name": "梁河县", + "pid": 533100, + "child": [] + }, { + "value": 533123, + "name": "盈江县", + "pid": 533100, + "child": [] + }, { + "value": 533124, + "name": "陇川县", + "pid": 533100, + "child": [] + }] + }, { + "value": 533300, + "name": "怒江傈僳族自治州", + "pid": 530000, + "child": [{ + "value": 533301, + "name": "泸水市", + "pid": 533300, + "child": [] + }, { + "value": 533323, + "name": "福贡县", + "pid": 533300, + "child": [] + }, { + "value": 533324, + "name": "贡山独龙族怒族自治县", + "pid": 533300, + "child": [] + }, { + "value": 533325, + "name": "兰坪白族普米族自治县", + "pid": 533300, + "child": [] + }] + }, { + "value": 533400, + "name": "迪庆藏族自治州", + "pid": 530000, + "child": [{ + "value": 533401, + "name": "香格里拉市", + "pid": 533400, + "child": [] + }, { + "value": 533422, + "name": "德钦县", + "pid": 533400, + "child": [] + }, { + "value": 533423, + "name": "维西傈僳族自治县", + "pid": 533400, + "child": [] + }] + }] +}, { + "value": 540000, + "name": "西藏自治区", + "pid": 0, + "child": [{ + "value": 540100, + "name": "拉萨市", + "pid": 540000, + "child": [{ + "value": 540102, + "name": "城关区", + "pid": 540100, + "child": [] + }, { + "value": 540103, + "name": "堆龙德庆区", + "pid": 540100, + "child": [] + }, { + "value": 540104, + "name": "达孜区", + "pid": 540100, + "child": [] + }, { + "value": 540121, + "name": "林周县", + "pid": 540100, + "child": [] + }, { + "value": 540122, + "name": "当雄县", + "pid": 540100, + "child": [] + }, { + "value": 540123, + "name": "尼木县", + "pid": 540100, + "child": [] + }, { + "value": 540124, + "name": "曲水县", + "pid": 540100, + "child": [] + }, { + "value": 540127, + "name": "墨竹工卡县", + "pid": 540100, + "child": [] + }, { + "value": 540171, + "name": "格尔木藏青工业园区", + "pid": 540100, + "child": [] + }, { + "value": 540173, + "name": "西藏文化旅游创意园区", + "pid": 540100, + "child": [] + }, { + "value": 540174, + "name": "达孜工业园区", + "pid": 540100, + "child": [] + }] + }, { + "value": 540200, + "name": "日喀则市", + "pid": 540000, + "child": [{ + "value": 540202, + "name": "桑珠孜区", + "pid": 540200, + "child": [] + }, { + "value": 540221, + "name": "南木林县", + "pid": 540200, + "child": [] + }, { + "value": 540222, + "name": "江孜县", + "pid": 540200, + "child": [] + }, { + "value": 540223, + "name": "定日县", + "pid": 540200, + "child": [] + }, { + "value": 540224, + "name": "萨迦县", + "pid": 540200, + "child": [] + }, { + "value": 540225, + "name": "拉孜县", + "pid": 540200, + "child": [] + }, { + "value": 540226, + "name": "昂仁县", + "pid": 540200, + "child": [] + }, { + "value": 540227, + "name": "谢通门县", + "pid": 540200, + "child": [] + }, { + "value": 540228, + "name": "白朗县", + "pid": 540200, + "child": [] + }, { + "value": 540229, + "name": "仁布县", + "pid": 540200, + "child": [] + }, { + "value": 540230, + "name": "康马县", + "pid": 540200, + "child": [] + }, { + "value": 540231, + "name": "定结县", + "pid": 540200, + "child": [] + }, { + "value": 540232, + "name": "仲巴县", + "pid": 540200, + "child": [] + }, { + "value": 540233, + "name": "亚东县", + "pid": 540200, + "child": [] + }, { + "value": 540234, + "name": "吉隆县", + "pid": 540200, + "child": [] + }, { + "value": 540235, + "name": "聂拉木县", + "pid": 540200, + "child": [] + }, { + "value": 540236, + "name": "萨嘎县", + "pid": 540200, + "child": [] + }, { + "value": 540237, + "name": "岗巴县", + "pid": 540200, + "child": [] + }] + }, { + "value": 540300, + "name": "昌都市", + "pid": 540000, + "child": [{ + "value": 540302, + "name": "卡若区", + "pid": 540300, + "child": [] + }, { + "value": 540321, + "name": "江达县", + "pid": 540300, + "child": [] + }, { + "value": 540322, + "name": "贡觉县", + "pid": 540300, + "child": [] + }, { + "value": 540323, + "name": "类乌齐县", + "pid": 540300, + "child": [] + }, { + "value": 540324, + "name": "丁青县", + "pid": 540300, + "child": [] + }, { + "value": 540325, + "name": "察雅县", + "pid": 540300, + "child": [] + }, { + "value": 540326, + "name": "八宿县", + "pid": 540300, + "child": [] + }, { + "value": 540327, + "name": "左贡县", + "pid": 540300, + "child": [] + }, { + "value": 540328, + "name": "芒康县", + "pid": 540300, + "child": [] + }, { + "value": 540329, + "name": "洛隆县", + "pid": 540300, + "child": [] + }, { + "value": 540330, + "name": "边坝县", + "pid": 540300, + "child": [] + }] + }, { + "value": 540400, + "name": "林芝市", + "pid": 540000, + "child": [{ + "value": 540402, + "name": "巴宜区", + "pid": 540400, + "child": [] + }, { + "value": 540421, + "name": "工布江达县", + "pid": 540400, + "child": [] + }, { + "value": 540422, + "name": "米林县", + "pid": 540400, + "child": [] + }, { + "value": 540423, + "name": "墨脱县", + "pid": 540400, + "child": [] + }, { + "value": 540424, + "name": "波密县", + "pid": 540400, + "child": [] + }, { + "value": 540425, + "name": "察隅县", + "pid": 540400, + "child": [] + }, { + "value": 540426, + "name": "朗县", + "pid": 540400, + "child": [] + }] + }, { + "value": 540500, + "name": "山南市", + "pid": 540000, + "child": [{ + "value": 540502, + "name": "乃东区", + "pid": 540500, + "child": [] + }, { + "value": 540521, + "name": "扎囊县", + "pid": 540500, + "child": [] + }, { + "value": 540522, + "name": "贡嘎县", + "pid": 540500, + "child": [] + }, { + "value": 540523, + "name": "桑日县", + "pid": 540500, + "child": [] + }, { + "value": 540524, + "name": "琼结县", + "pid": 540500, + "child": [] + }, { + "value": 540525, + "name": "曲松县", + "pid": 540500, + "child": [] + }, { + "value": 540526, + "name": "措美县", + "pid": 540500, + "child": [] + }, { + "value": 540527, + "name": "洛扎县", + "pid": 540500, + "child": [] + }, { + "value": 540528, + "name": "加查县", + "pid": 540500, + "child": [] + }, { + "value": 540529, + "name": "隆子县", + "pid": 540500, + "child": [] + }, { + "value": 540530, + "name": "错那县", + "pid": 540500, + "child": [] + }, { + "value": 540531, + "name": "浪卡子县", + "pid": 540500, + "child": [] + }] + }, { + "value": 540600, + "name": "那曲市", + "pid": 540000, + "child": [{ + "value": 540602, + "name": "色尼区", + "pid": 540600, + "child": [] + }, { + "value": 540621, + "name": "嘉黎县", + "pid": 540600, + "child": [] + }, { + "value": 540622, + "name": "比如县", + "pid": 540600, + "child": [] + }, { + "value": 540623, + "name": "聂荣县", + "pid": 540600, + "child": [] + }, { + "value": 540624, + "name": "安多县", + "pid": 540600, + "child": [] + }, { + "value": 540625, + "name": "申扎县", + "pid": 540600, + "child": [] + }, { + "value": 540626, + "name": "索县", + "pid": 540600, + "child": [] + }, { + "value": 540627, + "name": "班戈县", + "pid": 540600, + "child": [] + }, { + "value": 540628, + "name": "巴青县", + "pid": 540600, + "child": [] + }, { + "value": 540629, + "name": "尼玛县", + "pid": 540600, + "child": [] + }, { + "value": 540630, + "name": "双湖县", + "pid": 540600, + "child": [] + }] + }, { + "value": 542500, + "name": "阿里地区", + "pid": 540000, + "child": [{ + "value": 542521, + "name": "普兰县", + "pid": 542500, + "child": [] + }, { + "value": 542522, + "name": "札达县", + "pid": 542500, + "child": [] + }, { + "value": 542523, + "name": "噶尔县", + "pid": 542500, + "child": [] + }, { + "value": 542524, + "name": "日土县", + "pid": 542500, + "child": [] + }, { + "value": 542525, + "name": "革吉县", + "pid": 542500, + "child": [] + }, { + "value": 542526, + "name": "改则县", + "pid": 542500, + "child": [] + }, { + "value": 542527, + "name": "措勤县", + "pid": 542500, + "child": [] + }] + }] +}, { + "value": 610000, + "name": "陕西省", + "pid": 0, + "child": [{ + "value": 610100, + "name": "西安市", + "pid": 610000, + "child": [{ + "value": 610102, + "name": "新城区", + "pid": 610100, + "child": [] + }, { + "value": 610103, + "name": "碑林区", + "pid": 610100, + "child": [] + }, { + "value": 610104, + "name": "莲湖区", + "pid": 610100, + "child": [] + }, { + "value": 610111, + "name": "灞桥区", + "pid": 610100, + "child": [] + }, { + "value": 610112, + "name": "未央区", + "pid": 610100, + "child": [] + }, { + "value": 610113, + "name": "雁塔区", + "pid": 610100, + "child": [] + }, { + "value": 610114, + "name": "阎良区", + "pid": 610100, + "child": [] + }, { + "value": 610115, + "name": "临潼区", + "pid": 610100, + "child": [] + }, { + "value": 610116, + "name": "长安区", + "pid": 610100, + "child": [] + }, { + "value": 610117, + "name": "高陵区", + "pid": 610100, + "child": [] + }, { + "value": 610118, + "name": "鄠邑区", + "pid": 610100, + "child": [] + }, { + "value": 610122, + "name": "蓝田县", + "pid": 610100, + "child": [] + }, { + "value": 610124, + "name": "周至县", + "pid": 610100, + "child": [] + }, { + "value": 610125, + "name": "西咸新区", + "pid": 610100, + "child": [] + }, { + "value": 610127, + "name": "曲江新区", + "pid": 610100, + "child": [] + }, { + "value": 610128, + "name": "高新区", + "pid": 610100, + "child": [] + }] + }, { + "value": 610200, + "name": "铜川市", + "pid": 610000, + "child": [{ + "value": 610202, + "name": "王益区", + "pid": 610200, + "child": [] + }, { + "value": 610203, + "name": "印台区", + "pid": 610200, + "child": [] + }, { + "value": 610204, + "name": "耀州区", + "pid": 610200, + "child": [] + }, { + "value": 610222, + "name": "宜君县", + "pid": 610200, + "child": [] + }] + }, { + "value": 610300, + "name": "宝鸡市", + "pid": 610000, + "child": [{ + "value": 610302, + "name": "渭滨区", + "pid": 610300, + "child": [] + }, { + "value": 610303, + "name": "金台区", + "pid": 610300, + "child": [] + }, { + "value": 610304, + "name": "陈仓区", + "pid": 610300, + "child": [] + }, { + "value": 610322, + "name": "凤翔县", + "pid": 610300, + "child": [] + }, { + "value": 610323, + "name": "岐山县", + "pid": 610300, + "child": [] + }, { + "value": 610324, + "name": "扶风县", + "pid": 610300, + "child": [] + }, { + "value": 610326, + "name": "眉县", + "pid": 610300, + "child": [] + }, { + "value": 610327, + "name": "陇县", + "pid": 610300, + "child": [] + }, { + "value": 610328, + "name": "千阳县", + "pid": 610300, + "child": [] + }, { + "value": 610329, + "name": "麟游县", + "pid": 610300, + "child": [] + }, { + "value": 610330, + "name": "凤县", + "pid": 610300, + "child": [] + }, { + "value": 610331, + "name": "太白县", + "pid": 610300, + "child": [] + }, { + "value": 610332, + "name": "高新区", + "pid": 610300, + "child": [] + }] + }, { + "value": 610400, + "name": "咸阳市", + "pid": 610000, + "child": [{ + "value": 610402, + "name": "秦都区", + "pid": 610400, + "child": [] + }, { + "value": 610403, + "name": "杨陵区", + "pid": 610400, + "child": [] + }, { + "value": 610404, + "name": "渭城区", + "pid": 610400, + "child": [] + }, { + "value": 610422, + "name": "三原县", + "pid": 610400, + "child": [] + }, { + "value": 610423, + "name": "泾阳县", + "pid": 610400, + "child": [] + }, { + "value": 610424, + "name": "乾县", + "pid": 610400, + "child": [] + }, { + "value": 610425, + "name": "礼泉县", + "pid": 610400, + "child": [] + }, { + "value": 610426, + "name": "永寿县", + "pid": 610400, + "child": [] + }, { + "value": 610428, + "name": "长武县", + "pid": 610400, + "child": [] + }, { + "value": 610429, + "name": "旬邑县", + "pid": 610400, + "child": [] + }, { + "value": 610430, + "name": "淳化县", + "pid": 610400, + "child": [] + }, { + "value": 610431, + "name": "武功县", + "pid": 610400, + "child": [] + }, { + "value": 610481, + "name": "兴平市", + "pid": 610400, + "child": [] + }, { + "value": 610482, + "name": "彬州市", + "pid": 610400, + "child": [] + }, { + "value": 610483, + "name": "高新区", + "pid": 610400, + "child": [] + }] + }, { + "value": 610500, + "name": "渭南市", + "pid": 610000, + "child": [{ + "value": 610502, + "name": "临渭区", + "pid": 610500, + "child": [] + }, { + "value": 610503, + "name": "华州区", + "pid": 610500, + "child": [] + }, { + "value": 610522, + "name": "潼关县", + "pid": 610500, + "child": [] + }, { + "value": 610523, + "name": "大荔县", + "pid": 610500, + "child": [] + }, { + "value": 610524, + "name": "合阳县", + "pid": 610500, + "child": [] + }, { + "value": 610525, + "name": "澄城县", + "pid": 610500, + "child": [] + }, { + "value": 610526, + "name": "蒲城县", + "pid": 610500, + "child": [] + }, { + "value": 610527, + "name": "白水县", + "pid": 610500, + "child": [] + }, { + "value": 610528, + "name": "富平县", + "pid": 610500, + "child": [] + }, { + "value": 610581, + "name": "韩城市", + "pid": 610500, + "child": [] + }, { + "value": 610582, + "name": "华阴市", + "pid": 610500, + "child": [] + }] + }, { + "value": 610600, + "name": "延安市", + "pid": 610000, + "child": [{ + "value": 610602, + "name": "宝塔区", + "pid": 610600, + "child": [] + }, { + "value": 610603, + "name": "安塞区", + "pid": 610600, + "child": [] + }, { + "value": 610621, + "name": "延长县", + "pid": 610600, + "child": [] + }, { + "value": 610622, + "name": "延川县", + "pid": 610600, + "child": [] + }, { + "value": 610623, + "name": "子长县", + "pid": 610600, + "child": [] + }, { + "value": 610625, + "name": "志丹县", + "pid": 610600, + "child": [] + }, { + "value": 610626, + "name": "吴起县", + "pid": 610600, + "child": [] + }, { + "value": 610627, + "name": "甘泉县", + "pid": 610600, + "child": [] + }, { + "value": 610628, + "name": "富县", + "pid": 610600, + "child": [] + }, { + "value": 610629, + "name": "洛川县", + "pid": 610600, + "child": [] + }, { + "value": 610630, + "name": "宜川县", + "pid": 610600, + "child": [] + }, { + "value": 610631, + "name": "黄龙县", + "pid": 610600, + "child": [] + }, { + "value": 610632, + "name": "黄陵县", + "pid": 610600, + "child": [] + }] + }, { + "value": 610700, + "name": "汉中市", + "pid": 610000, + "child": [{ + "value": 610702, + "name": "汉台区", + "pid": 610700, + "child": [] + }, { + "value": 610703, + "name": "南郑区", + "pid": 610700, + "child": [] + }, { + "value": 610722, + "name": "城固县", + "pid": 610700, + "child": [] + }, { + "value": 610723, + "name": "洋县", + "pid": 610700, + "child": [] + }, { + "value": 610724, + "name": "西乡县", + "pid": 610700, + "child": [] + }, { + "value": 610725, + "name": "勉县", + "pid": 610700, + "child": [] + }, { + "value": 610726, + "name": "宁强县", + "pid": 610700, + "child": [] + }, { + "value": 610727, + "name": "略阳县", + "pid": 610700, + "child": [] + }, { + "value": 610728, + "name": "镇巴县", + "pid": 610700, + "child": [] + }, { + "value": 610729, + "name": "留坝县", + "pid": 610700, + "child": [] + }, { + "value": 610730, + "name": "佛坪县", + "pid": 610700, + "child": [] + }] + }, { + "value": 610800, + "name": "榆林市", + "pid": 610000, + "child": [{ + "value": 610802, + "name": "榆阳区", + "pid": 610800, + "child": [] + }, { + "value": 610803, + "name": "横山区", + "pid": 610800, + "child": [] + }, { + "value": 610822, + "name": "府谷县", + "pid": 610800, + "child": [] + }, { + "value": 610824, + "name": "靖边县", + "pid": 610800, + "child": [] + }, { + "value": 610825, + "name": "定边县", + "pid": 610800, + "child": [] + }, { + "value": 610826, + "name": "绥德县", + "pid": 610800, + "child": [] + }, { + "value": 610827, + "name": "米脂县", + "pid": 610800, + "child": [] + }, { + "value": 610828, + "name": "佳县", + "pid": 610800, + "child": [] + }, { + "value": 610829, + "name": "吴堡县", + "pid": 610800, + "child": [] + }, { + "value": 610830, + "name": "清涧县", + "pid": 610800, + "child": [] + }, { + "value": 610831, + "name": "子洲县", + "pid": 610800, + "child": [] + }, { + "value": 610881, + "name": "神木市", + "pid": 610800, + "child": [] + }] + }, { + "value": 610900, + "name": "安康市", + "pid": 610000, + "child": [{ + "value": 610902, + "name": "汉滨区", + "pid": 610900, + "child": [] + }, { + "value": 610921, + "name": "汉阴县", + "pid": 610900, + "child": [] + }, { + "value": 610922, + "name": "石泉县", + "pid": 610900, + "child": [] + }, { + "value": 610923, + "name": "宁陕县", + "pid": 610900, + "child": [] + }, { + "value": 610924, + "name": "紫阳县", + "pid": 610900, + "child": [] + }, { + "value": 610925, + "name": "岚皋县", + "pid": 610900, + "child": [] + }, { + "value": 610926, + "name": "平利县", + "pid": 610900, + "child": [] + }, { + "value": 610927, + "name": "镇坪县", + "pid": 610900, + "child": [] + }, { + "value": 610928, + "name": "旬阳县", + "pid": 610900, + "child": [] + }, { + "value": 610929, + "name": "白河县", + "pid": 610900, + "child": [] + }] + }, { + "value": 611000, + "name": "商洛市", + "pid": 610000, + "child": [{ + "value": 611002, + "name": "商州区", + "pid": 611000, + "child": [] + }, { + "value": 611021, + "name": "洛南县", + "pid": 611000, + "child": [] + }, { + "value": 611022, + "name": "丹凤县", + "pid": 611000, + "child": [] + }, { + "value": 611023, + "name": "商南县", + "pid": 611000, + "child": [] + }, { + "value": 611024, + "name": "山阳县", + "pid": 611000, + "child": [] + }, { + "value": 611025, + "name": "镇安县", + "pid": 611000, + "child": [] + }, { + "value": 611026, + "name": "柞水县", + "pid": 611000, + "child": [] + }] + }] +}, { + "value": 620000, + "name": "甘肃省", + "pid": 0, + "child": [{ + "value": 620100, + "name": "兰州市", + "pid": 620000, + "child": [{ + "value": 620102, + "name": "城关区", + "pid": 620100, + "child": [] + }, { + "value": 620103, + "name": "七里河区", + "pid": 620100, + "child": [] + }, { + "value": 620104, + "name": "西固区", + "pid": 620100, + "child": [] + }, { + "value": 620105, + "name": "安宁区", + "pid": 620100, + "child": [] + }, { + "value": 620111, + "name": "红古区", + "pid": 620100, + "child": [] + }, { + "value": 620121, + "name": "永登县", + "pid": 620100, + "child": [] + }, { + "value": 620122, + "name": "皋兰县", + "pid": 620100, + "child": [] + }, { + "value": 620123, + "name": "榆中县", + "pid": 620100, + "child": [] + }, { + "value": 620124, + "name": "兰州新区", + "pid": 620100, + "child": [] + }, { + "value": 620125, + "name": "高新区", + "pid": 620100, + "child": [] + }, { + "value": 620126, + "name": "经济开发区", + "pid": 620100, + "child": [] + }] + }, { + "value": 620200, + "name": "嘉峪关市", + "pid": 620000, + "child": [{ + "value": 620201, + "name": "雄关区", + "pid": 620200, + "child": [] + }, { + "value": 620202, + "name": "长城区", + "pid": 620200, + "child": [] + }, { + "value": 620203, + "name": "镜铁区", + "pid": 620200, + "child": [] + }] + }, { + "value": 620300, + "name": "金昌市", + "pid": 620000, + "child": [{ + "value": 620302, + "name": "金川区", + "pid": 620300, + "child": [] + }, { + "value": 620321, + "name": "永昌县", + "pid": 620300, + "child": [] + }] + }, { + "value": 620400, + "name": "白银市", + "pid": 620000, + "child": [{ + "value": 620402, + "name": "白银区", + "pid": 620400, + "child": [] + }, { + "value": 620403, + "name": "平川区", + "pid": 620400, + "child": [] + }, { + "value": 620421, + "name": "靖远县", + "pid": 620400, + "child": [] + }, { + "value": 620422, + "name": "会宁县", + "pid": 620400, + "child": [] + }, { + "value": 620423, + "name": "景泰县", + "pid": 620400, + "child": [] + }] + }, { + "value": 620500, + "name": "天水市", + "pid": 620000, + "child": [{ + "value": 620502, + "name": "秦州区", + "pid": 620500, + "child": [] + }, { + "value": 620503, + "name": "麦积区", + "pid": 620500, + "child": [] + }, { + "value": 620521, + "name": "清水县", + "pid": 620500, + "child": [] + }, { + "value": 620522, + "name": "秦安县", + "pid": 620500, + "child": [] + }, { + "value": 620523, + "name": "甘谷县", + "pid": 620500, + "child": [] + }, { + "value": 620524, + "name": "武山县", + "pid": 620500, + "child": [] + }, { + "value": 620525, + "name": "张家川回族自治县", + "pid": 620500, + "child": [] + }] + }, { + "value": 620600, + "name": "武威市", + "pid": 620000, + "child": [{ + "value": 620602, + "name": "凉州区", + "pid": 620600, + "child": [] + }, { + "value": 620621, + "name": "民勤县", + "pid": 620600, + "child": [] + }, { + "value": 620622, + "name": "古浪县", + "pid": 620600, + "child": [] + }, { + "value": 620623, + "name": "天祝藏族自治县", + "pid": 620600, + "child": [] + }] + }, { + "value": 620700, + "name": "张掖市", + "pid": 620000, + "child": [{ + "value": 620702, + "name": "甘州区", + "pid": 620700, + "child": [] + }, { + "value": 620721, + "name": "肃南裕固族自治县", + "pid": 620700, + "child": [] + }, { + "value": 620722, + "name": "民乐县", + "pid": 620700, + "child": [] + }, { + "value": 620723, + "name": "临泽县", + "pid": 620700, + "child": [] + }, { + "value": 620724, + "name": "高台县", + "pid": 620700, + "child": [] + }, { + "value": 620725, + "name": "山丹县", + "pid": 620700, + "child": [] + }] + }, { + "value": 620800, + "name": "平凉市", + "pid": 620000, + "child": [{ + "value": 620802, + "name": "崆峒区", + "pid": 620800, + "child": [] + }, { + "value": 620821, + "name": "泾川县", + "pid": 620800, + "child": [] + }, { + "value": 620822, + "name": "灵台县", + "pid": 620800, + "child": [] + }, { + "value": 620823, + "name": "崇信县", + "pid": 620800, + "child": [] + }, { + "value": 620825, + "name": "庄浪县", + "pid": 620800, + "child": [] + }, { + "value": 620826, + "name": "静宁县", + "pid": 620800, + "child": [] + }, { + "value": 620881, + "name": "华亭市", + "pid": 620800, + "child": [] + }] + }, { + "value": 620900, + "name": "酒泉市", + "pid": 620000, + "child": [{ + "value": 620902, + "name": "肃州区", + "pid": 620900, + "child": [] + }, { + "value": 620921, + "name": "金塔县", + "pid": 620900, + "child": [] + }, { + "value": 620922, + "name": "瓜州县", + "pid": 620900, + "child": [] + }, { + "value": 620923, + "name": "肃北蒙古族自治县", + "pid": 620900, + "child": [] + }, { + "value": 620924, + "name": "阿克塞哈萨克族自治县", + "pid": 620900, + "child": [] + }, { + "value": 620981, + "name": "玉门市", + "pid": 620900, + "child": [] + }, { + "value": 620982, + "name": "敦煌市", + "pid": 620900, + "child": [] + }] + }, { + "value": 621000, + "name": "庆阳市", + "pid": 620000, + "child": [{ + "value": 621002, + "name": "西峰区", + "pid": 621000, + "child": [] + }, { + "value": 621021, + "name": "庆城县", + "pid": 621000, + "child": [] + }, { + "value": 621022, + "name": "环县", + "pid": 621000, + "child": [] + }, { + "value": 621023, + "name": "华池县", + "pid": 621000, + "child": [] + }, { + "value": 621024, + "name": "合水县", + "pid": 621000, + "child": [] + }, { + "value": 621025, + "name": "正宁县", + "pid": 621000, + "child": [] + }, { + "value": 621026, + "name": "宁县", + "pid": 621000, + "child": [] + }, { + "value": 621027, + "name": "镇原县", + "pid": 621000, + "child": [] + }] + }, { + "value": 621100, + "name": "定西市", + "pid": 620000, + "child": [{ + "value": 621102, + "name": "安定区", + "pid": 621100, + "child": [] + }, { + "value": 621121, + "name": "通渭县", + "pid": 621100, + "child": [] + }, { + "value": 621122, + "name": "陇西县", + "pid": 621100, + "child": [] + }, { + "value": 621123, + "name": "渭源县", + "pid": 621100, + "child": [] + }, { + "value": 621124, + "name": "临洮县", + "pid": 621100, + "child": [] + }, { + "value": 621125, + "name": "漳县", + "pid": 621100, + "child": [] + }, { + "value": 621126, + "name": "岷县", + "pid": 621100, + "child": [] + }] + }, { + "value": 621200, + "name": "陇南市", + "pid": 620000, + "child": [{ + "value": 621202, + "name": "武都区", + "pid": 621200, + "child": [] + }, { + "value": 621221, + "name": "成县", + "pid": 621200, + "child": [] + }, { + "value": 621222, + "name": "文县", + "pid": 621200, + "child": [] + }, { + "value": 621223, + "name": "宕昌县", + "pid": 621200, + "child": [] + }, { + "value": 621224, + "name": "康县", + "pid": 621200, + "child": [] + }, { + "value": 621225, + "name": "西和县", + "pid": 621200, + "child": [] + }, { + "value": 621226, + "name": "礼县", + "pid": 621200, + "child": [] + }, { + "value": 621227, + "name": "徽县", + "pid": 621200, + "child": [] + }, { + "value": 621228, + "name": "两当县", + "pid": 621200, + "child": [] + }] + }, { + "value": 622900, + "name": "临夏回族自治州", + "pid": 620000, + "child": [{ + "value": 622901, + "name": "临夏市", + "pid": 622900, + "child": [] + }, { + "value": 622921, + "name": "临夏县", + "pid": 622900, + "child": [] + }, { + "value": 622922, + "name": "康乐县", + "pid": 622900, + "child": [] + }, { + "value": 622923, + "name": "永靖县", + "pid": 622900, + "child": [] + }, { + "value": 622924, + "name": "广河县", + "pid": 622900, + "child": [] + }, { + "value": 622925, + "name": "和政县", + "pid": 622900, + "child": [] + }, { + "value": 622926, + "name": "东乡族自治县", + "pid": 622900, + "child": [] + }, { + "value": 622927, + "name": "积石山保安族东乡族撒拉族自治县", + "pid": 622900, + "child": [] + }] + }, { + "value": 623000, + "name": "甘南藏族自治州", + "pid": 620000, + "child": [{ + "value": 623001, + "name": "合作市", + "pid": 623000, + "child": [] + }, { + "value": 623021, + "name": "临潭县", + "pid": 623000, + "child": [] + }, { + "value": 623022, + "name": "卓尼县", + "pid": 623000, + "child": [] + }, { + "value": 623023, + "name": "舟曲县", + "pid": 623000, + "child": [] + }, { + "value": 623024, + "name": "迭部县", + "pid": 623000, + "child": [] + }, { + "value": 623025, + "name": "玛曲县", + "pid": 623000, + "child": [] + }, { + "value": 623026, + "name": "碌曲县", + "pid": 623000, + "child": [] + }, { + "value": 623027, + "name": "夏河县", + "pid": 623000, + "child": [] + }] + }] +}, { + "value": 630000, + "name": "青海省", + "pid": 0, + "child": [{ + "value": 630100, + "name": "西宁市", + "pid": 630000, + "child": [{ + "value": 630102, + "name": "城东区", + "pid": 630100, + "child": [] + }, { + "value": 630103, + "name": "城中区", + "pid": 630100, + "child": [] + }, { + "value": 630104, + "name": "城西区", + "pid": 630100, + "child": [] + }, { + "value": 630105, + "name": "城北区", + "pid": 630100, + "child": [] + }, { + "value": 630121, + "name": "大通回族土族自治县", + "pid": 630100, + "child": [] + }, { + "value": 630122, + "name": "湟中县", + "pid": 630100, + "child": [] + }, { + "value": 630123, + "name": "湟源县", + "pid": 630100, + "child": [] + }] + }, { + "value": 630200, + "name": "海东市", + "pid": 630000, + "child": [{ + "value": 630202, + "name": "乐都区", + "pid": 630200, + "child": [] + }, { + "value": 630203, + "name": "平安区", + "pid": 630200, + "child": [] + }, { + "value": 630222, + "name": "民和回族土族自治县", + "pid": 630200, + "child": [] + }, { + "value": 630223, + "name": "互助土族自治县", + "pid": 630200, + "child": [] + }, { + "value": 630224, + "name": "化隆回族自治县", + "pid": 630200, + "child": [] + }, { + "value": 630225, + "name": "循化撒拉族自治县", + "pid": 630200, + "child": [] + }] + }, { + "value": 632200, + "name": "海北藏族自治州", + "pid": 630000, + "child": [{ + "value": 632221, + "name": "门源回族自治县", + "pid": 632200, + "child": [] + }, { + "value": 632222, + "name": "祁连县", + "pid": 632200, + "child": [] + }, { + "value": 632223, + "name": "海晏县", + "pid": 632200, + "child": [] + }, { + "value": 632224, + "name": "刚察县", + "pid": 632200, + "child": [] + }] + }, { + "value": 632300, + "name": "黄南藏族自治州", + "pid": 630000, + "child": [{ + "value": 632321, + "name": "同仁县", + "pid": 632300, + "child": [] + }, { + "value": 632322, + "name": "尖扎县", + "pid": 632300, + "child": [] + }, { + "value": 632323, + "name": "泽库县", + "pid": 632300, + "child": [] + }, { + "value": 632324, + "name": "河南蒙古族自治县", + "pid": 632300, + "child": [] + }] + }, { + "value": 632500, + "name": "海南藏族自治州", + "pid": 630000, + "child": [{ + "value": 632521, + "name": "共和县", + "pid": 632500, + "child": [] + }, { + "value": 632522, + "name": "同德县", + "pid": 632500, + "child": [] + }, { + "value": 632523, + "name": "贵德县", + "pid": 632500, + "child": [] + }, { + "value": 632524, + "name": "兴海县", + "pid": 632500, + "child": [] + }, { + "value": 632525, + "name": "贵南县", + "pid": 632500, + "child": [] + }] + }, { + "value": 632600, + "name": "果洛藏族自治州", + "pid": 630000, + "child": [{ + "value": 632621, + "name": "玛沁县", + "pid": 632600, + "child": [] + }, { + "value": 632622, + "name": "班玛县", + "pid": 632600, + "child": [] + }, { + "value": 632623, + "name": "甘德县", + "pid": 632600, + "child": [] + }, { + "value": 632624, + "name": "达日县", + "pid": 632600, + "child": [] + }, { + "value": 632625, + "name": "久治县", + "pid": 632600, + "child": [] + }, { + "value": 632626, + "name": "玛多县", + "pid": 632600, + "child": [] + }] + }, { + "value": 632700, + "name": "玉树藏族自治州", + "pid": 630000, + "child": [{ + "value": 632701, + "name": "玉树市", + "pid": 632700, + "child": [] + }, { + "value": 632722, + "name": "杂多县", + "pid": 632700, + "child": [] + }, { + "value": 632723, + "name": "称多县", + "pid": 632700, + "child": [] + }, { + "value": 632724, + "name": "治多县", + "pid": 632700, + "child": [] + }, { + "value": 632725, + "name": "囊谦县", + "pid": 632700, + "child": [] + }, { + "value": 632726, + "name": "曲麻莱县", + "pid": 632700, + "child": [] + }] + }, { + "value": 632800, + "name": "海西蒙古族藏族自治州", + "pid": 630000, + "child": [{ + "value": 632801, + "name": "格尔木市", + "pid": 632800, + "child": [] + }, { + "value": 632802, + "name": "德令哈市", + "pid": 632800, + "child": [] + }, { + "value": 632803, + "name": "茫崖市", + "pid": 632800, + "child": [] + }, { + "value": 632821, + "name": "乌兰县", + "pid": 632800, + "child": [] + }, { + "value": 632822, + "name": "都兰县", + "pid": 632800, + "child": [] + }, { + "value": 632823, + "name": "天峻县", + "pid": 632800, + "child": [] + }] + }] +}, { + "value": 640000, + "name": "宁夏回族自治区", + "pid": 0, + "child": [{ + "value": 640100, + "name": "银川市", + "pid": 640000, + "child": [{ + "value": 640104, + "name": "兴庆区", + "pid": 640100, + "child": [] + }, { + "value": 640105, + "name": "西夏区", + "pid": 640100, + "child": [] + }, { + "value": 640106, + "name": "金凤区", + "pid": 640100, + "child": [] + }, { + "value": 640121, + "name": "永宁县", + "pid": 640100, + "child": [] + }, { + "value": 640122, + "name": "贺兰县", + "pid": 640100, + "child": [] + }, { + "value": 640181, + "name": "灵武市", + "pid": 640100, + "child": [] + }, { + "value": 640182, + "name": "经济开发区", + "pid": 640100, + "child": [] + }] + }, { + "value": 640200, + "name": "石嘴山市", + "pid": 640000, + "child": [{ + "value": 640202, + "name": "大武口区", + "pid": 640200, + "child": [] + }, { + "value": 640205, + "name": "惠农区", + "pid": 640200, + "child": [] + }, { + "value": 640221, + "name": "平罗县", + "pid": 640200, + "child": [] + }, { + "value": 640222, + "name": "经济开发区", + "pid": 640200, + "child": [] + }] + }, { + "value": 640300, + "name": "吴忠市", + "pid": 640000, + "child": [{ + "value": 640302, + "name": "利通区", + "pid": 640300, + "child": [] + }, { + "value": 640303, + "name": "红寺堡区", + "pid": 640300, + "child": [] + }, { + "value": 640323, + "name": "盐池县", + "pid": 640300, + "child": [] + }, { + "value": 640324, + "name": "同心县", + "pid": 640300, + "child": [] + }, { + "value": 640381, + "name": "青铜峡市", + "pid": 640300, + "child": [] + }] + }, { + "value": 640400, + "name": "固原市", + "pid": 640000, + "child": [{ + "value": 640402, + "name": "原州区", + "pid": 640400, + "child": [] + }, { + "value": 640422, + "name": "西吉县", + "pid": 640400, + "child": [] + }, { + "value": 640423, + "name": "隆德县", + "pid": 640400, + "child": [] + }, { + "value": 640424, + "name": "泾源县", + "pid": 640400, + "child": [] + }, { + "value": 640425, + "name": "彭阳县", + "pid": 640400, + "child": [] + }] + }, { + "value": 640500, + "name": "中卫市", + "pid": 640000, + "child": [{ + "value": 640502, + "name": "沙坡头区", + "pid": 640500, + "child": [] + }, { + "value": 640521, + "name": "中宁县", + "pid": 640500, + "child": [] + }, { + "value": 640522, + "name": "海原县", + "pid": 640500, + "child": [] + }] + }] +}, { + "value": 650000, + "name": "新疆维吾尔自治区", + "pid": 0, + "child": [{ + "value": 650100, + "name": "乌鲁木齐市", + "pid": 650000, + "child": [{ + "value": 650102, + "name": "天山区", + "pid": 650100, + "child": [] + }, { + "value": 650103, + "name": "沙依巴克区", + "pid": 650100, + "child": [] + }, { + "value": 650104, + "name": "新市区", + "pid": 650100, + "child": [] + }, { + "value": 650105, + "name": "水磨沟区", + "pid": 650100, + "child": [] + }, { + "value": 650106, + "name": "头屯河区", + "pid": 650100, + "child": [] + }, { + "value": 650107, + "name": "达坂城区", + "pid": 650100, + "child": [] + }, { + "value": 650109, + "name": "米东区", + "pid": 650100, + "child": [] + }, { + "value": 650121, + "name": "乌鲁木齐县", + "pid": 650100, + "child": [] + }, { + "value": 650171, + "name": "经济技术开发区", + "pid": 650100, + "child": [] + }, { + "value": 650172, + "name": "高新区", + "pid": 650100, + "child": [] + }] + }, { + "value": 650200, + "name": "克拉玛依市", + "pid": 650000, + "child": [{ + "value": 650202, + "name": "独山子区", + "pid": 650200, + "child": [] + }, { + "value": 650203, + "name": "克拉玛依区", + "pid": 650200, + "child": [] + }, { + "value": 650204, + "name": "白碱滩区", + "pid": 650200, + "child": [] + }, { + "value": 650205, + "name": "乌尔禾区", + "pid": 650200, + "child": [] + }] + }, { + "value": 650400, + "name": "吐鲁番市", + "pid": 650000, + "child": [{ + "value": 650402, + "name": "高昌区", + "pid": 650400, + "child": [] + }, { + "value": 650421, + "name": "鄯善县", + "pid": 650400, + "child": [] + }, { + "value": 650422, + "name": "托克逊县", + "pid": 650400, + "child": [] + }] + }, { + "value": 650500, + "name": "哈密市", + "pid": 650000, + "child": [{ + "value": 650502, + "name": "伊州区", + "pid": 650500, + "child": [] + }, { + "value": 650521, + "name": "巴里坤哈萨克自治县", + "pid": 650500, + "child": [] + }, { + "value": 650522, + "name": "伊吾县", + "pid": 650500, + "child": [] + }] + }, { + "value": 652300, + "name": "昌吉回族自治州", + "pid": 650000, + "child": [{ + "value": 652301, + "name": "昌吉市", + "pid": 652300, + "child": [] + }, { + "value": 652302, + "name": "阜康市", + "pid": 652300, + "child": [] + }, { + "value": 652323, + "name": "呼图壁县", + "pid": 652300, + "child": [] + }, { + "value": 652324, + "name": "玛纳斯县", + "pid": 652300, + "child": [] + }, { + "value": 652325, + "name": "奇台县", + "pid": 652300, + "child": [] + }, { + "value": 652327, + "name": "吉木萨尔县", + "pid": 652300, + "child": [] + }, { + "value": 652328, + "name": "木垒哈萨克自治县", + "pid": 652300, + "child": [] + }] + }, { + "value": 652700, + "name": "博尔塔拉蒙古自治州", + "pid": 650000, + "child": [{ + "value": 652701, + "name": "博乐市", + "pid": 652700, + "child": [] + }, { + "value": 652702, + "name": "阿拉山口市", + "pid": 652700, + "child": [] + }, { + "value": 652722, + "name": "精河县", + "pid": 652700, + "child": [] + }, { + "value": 652723, + "name": "温泉县", + "pid": 652700, + "child": [] + }] + }, { + "value": 652800, + "name": "巴音郭楞蒙古自治州", + "pid": 650000, + "child": [{ + "value": 652801, + "name": "库尔勒市", + "pid": 652800, + "child": [] + }, { + "value": 652822, + "name": "轮台县", + "pid": 652800, + "child": [] + }, { + "value": 652823, + "name": "尉犁县", + "pid": 652800, + "child": [] + }, { + "value": 652824, + "name": "若羌县", + "pid": 652800, + "child": [] + }, { + "value": 652825, + "name": "且末县", + "pid": 652800, + "child": [] + }, { + "value": 652826, + "name": "焉耆回族自治县", + "pid": 652800, + "child": [] + }, { + "value": 652827, + "name": "和静县", + "pid": 652800, + "child": [] + }, { + "value": 652828, + "name": "和硕县", + "pid": 652800, + "child": [] + }, { + "value": 652829, + "name": "博湖县", + "pid": 652800, + "child": [] + }, { + "value": 652871, + "name": "库尔勒开发区", + "pid": 652800, + "child": [] + }] + }, { + "value": 652900, + "name": "阿克苏地区", + "pid": 650000, + "child": [{ + "value": 652901, + "name": "阿克苏市", + "pid": 652900, + "child": [] + }, { + "value": 652922, + "name": "温宿县", + "pid": 652900, + "child": [] + }, { + "value": 652923, + "name": "库车县", + "pid": 652900, + "child": [] + }, { + "value": 652924, + "name": "沙雅县", + "pid": 652900, + "child": [] + }, { + "value": 652925, + "name": "新和县", + "pid": 652900, + "child": [] + }, { + "value": 652926, + "name": "拜城县", + "pid": 652900, + "child": [] + }, { + "value": 652927, + "name": "乌什县", + "pid": 652900, + "child": [] + }, { + "value": 652928, + "name": "阿瓦提县", + "pid": 652900, + "child": [] + }, { + "value": 652929, + "name": "柯坪县", + "pid": 652900, + "child": [] + }] + }, { + "value": 653000, + "name": "克孜勒苏柯尔克孜自治州", + "pid": 650000, + "child": [{ + "value": 653001, + "name": "阿图什市", + "pid": 653000, + "child": [] + }, { + "value": 653022, + "name": "阿克陶县", + "pid": 653000, + "child": [] + }, { + "value": 653023, + "name": "阿合奇县", + "pid": 653000, + "child": [] + }, { + "value": 653024, + "name": "乌恰县", + "pid": 653000, + "child": [] + }] + }, { + "value": 653100, + "name": "喀什地区", + "pid": 650000, + "child": [{ + "value": 653101, + "name": "喀什市", + "pid": 653100, + "child": [] + }, { + "value": 653121, + "name": "疏附县", + "pid": 653100, + "child": [] + }, { + "value": 653122, + "name": "疏勒县", + "pid": 653100, + "child": [] + }, { + "value": 653123, + "name": "英吉沙县", + "pid": 653100, + "child": [] + }, { + "value": 653124, + "name": "泽普县", + "pid": 653100, + "child": [] + }, { + "value": 653125, + "name": "莎车县", + "pid": 653100, + "child": [] + }, { + "value": 653126, + "name": "叶城县", + "pid": 653100, + "child": [] + }, { + "value": 653127, + "name": "麦盖提县", + "pid": 653100, + "child": [] + }, { + "value": 653128, + "name": "岳普湖县", + "pid": 653100, + "child": [] + }, { + "value": 653129, + "name": "伽师县", + "pid": 653100, + "child": [] + }, { + "value": 653130, + "name": "巴楚县", + "pid": 653100, + "child": [] + }, { + "value": 653131, + "name": "塔什库尔干塔吉克自治县", + "pid": 653100, + "child": [] + }] + }, { + "value": 653200, + "name": "和田地区", + "pid": 650000, + "child": [{ + "value": 653201, + "name": "和田市", + "pid": 653200, + "child": [] + }, { + "value": 653221, + "name": "和田县", + "pid": 653200, + "child": [] + }, { + "value": 653222, + "name": "墨玉县", + "pid": 653200, + "child": [] + }, { + "value": 653223, + "name": "皮山县", + "pid": 653200, + "child": [] + }, { + "value": 653224, + "name": "洛浦县", + "pid": 653200, + "child": [] + }, { + "value": 653225, + "name": "策勒县", + "pid": 653200, + "child": [] + }, { + "value": 653226, + "name": "于田县", + "pid": 653200, + "child": [] + }, { + "value": 653227, + "name": "民丰县", + "pid": 653200, + "child": [] + }] + }, { + "value": 654000, + "name": "伊犁哈萨克自治州", + "pid": 650000, + "child": [{ + "value": 654002, + "name": "伊宁市", + "pid": 654000, + "child": [] + }, { + "value": 654003, + "name": "奎屯市", + "pid": 654000, + "child": [] + }, { + "value": 654004, + "name": "霍尔果斯市", + "pid": 654000, + "child": [] + }, { + "value": 654021, + "name": "伊宁县", + "pid": 654000, + "child": [] + }, { + "value": 654022, + "name": "察布查尔锡伯自治县", + "pid": 654000, + "child": [] + }, { + "value": 654023, + "name": "霍城县", + "pid": 654000, + "child": [] + }, { + "value": 654024, + "name": "巩留县", + "pid": 654000, + "child": [] + }, { + "value": 654025, + "name": "新源县", + "pid": 654000, + "child": [] + }, { + "value": 654026, + "name": "昭苏县", + "pid": 654000, + "child": [] + }, { + "value": 654027, + "name": "特克斯县", + "pid": 654000, + "child": [] + }, { + "value": 654028, + "name": "尼勒克县", + "pid": 654000, + "child": [] + }] + }, { + "value": 654200, + "name": "塔城地区", + "pid": 650000, + "child": [{ + "value": 654201, + "name": "塔城市", + "pid": 654200, + "child": [] + }, { + "value": 654202, + "name": "乌苏市", + "pid": 654200, + "child": [] + }, { + "value": 654221, + "name": "额敏县", + "pid": 654200, + "child": [] + }, { + "value": 654223, + "name": "沙湾县", + "pid": 654200, + "child": [] + }, { + "value": 654224, + "name": "托里县", + "pid": 654200, + "child": [] + }, { + "value": 654225, + "name": "裕民县", + "pid": 654200, + "child": [] + }, { + "value": 654226, + "name": "和布克赛尔蒙古自治县", + "pid": 654200, + "child": [] + }] + }, { + "value": 654300, + "name": "阿勒泰地区", + "pid": 650000, + "child": [{ + "value": 654301, + "name": "阿勒泰市", + "pid": 654300, + "child": [] + }, { + "value": 654321, + "name": "布尔津县", + "pid": 654300, + "child": [] + }, { + "value": 654322, + "name": "富蕴县", + "pid": 654300, + "child": [] + }, { + "value": 654323, + "name": "福海县", + "pid": 654300, + "child": [] + }, { + "value": 654324, + "name": "哈巴河县", + "pid": 654300, + "child": [] + }, { + "value": 654325, + "name": "青河县", + "pid": 654300, + "child": [] + }, { + "value": 654326, + "name": "吉木乃县", + "pid": 654300, + "child": [] + }] + }, { + "value": 659001, + "name": "石河子市", + "pid": 650000, + "child": [{ + "value": 659101, + "name": "新城街道", + "pid": 659001, + "child": [] + }, { + "value": 659102, + "name": "向阳街道", + "pid": 659001, + "child": [] + }, { + "value": 659103, + "name": "红山街道", + "pid": 659001, + "child": [] + }, { + "value": 659104, + "name": "老街街道", + "pid": 659001, + "child": [] + }, { + "value": 659105, + "name": "东城街道", + "pid": 659001, + "child": [] + }, { + "value": 659106, + "name": "北泉镇", + "pid": 659001, + "child": [] + }, { + "value": 659107, + "name": "石河子乡", + "pid": 659001, + "child": [] + }, { + "value": 659108, + "name": "一五二团", + "pid": 659001, + "child": [] + }] + }, { + "value": 659002, + "name": "阿拉尔市", + "pid": 650000, + "child": [{ + "value": 659201, + "name": "幸福路街道", + "pid": 659002, + "child": [] + }, { + "value": 659202, + "name": "金银川路街道", + "pid": 659002, + "child": [] + }, { + "value": 659203, + "name": "青松路街道", + "pid": 659002, + "child": [] + }, { + "value": 659204, + "name": "南口街道", + "pid": 659002, + "child": [] + }, { + "value": 659205, + "name": "托喀依乡", + "pid": 659002, + "child": [] + }, { + "value": 659206, + "name": "金银川镇", + "pid": 659002, + "child": [] + }] + }, { + "value": 659003, + "name": "图木舒克市", + "pid": 650000, + "child": [{ + "value": 659301, + "name": "图木舒克市区", + "pid": 659003, + "child": [] + }, { + "value": 659302, + "name": "兵团四十四团", + "pid": 659003, + "child": [] + }, { + "value": 659303, + "name": "兵团四十九团", + "pid": 659003, + "child": [] + }, { + "value": 659304, + "name": "兵团五十团", + "pid": 659003, + "child": [] + }, { + "value": 659305, + "name": "兵团五十一团", + "pid": 659003, + "child": [] + }, { + "value": 659306, + "name": "兵团五十二团", + "pid": 659003, + "child": [] + }, { + "value": 659307, + "name": "兵团五十三团", + "pid": 659003, + "child": [] + }, { + "value": 659308, + "name": "喀拉拜勒镇", + "pid": 659003, + "child": [] + }, { + "value": 659309, + "name": "永安坝", + "pid": 659003, + "child": [] + }] + }, { + "value": 659004, + "name": "五家渠市", + "pid": 650000, + "child": [{ + "value": 659401, + "name": "城区", + "pid": 659004, + "child": [] + }, { + "value": 659402, + "name": "一零一团", + "pid": 659004, + "child": [] + }, { + "value": 659403, + "name": "一零二团", + "pid": 659004, + "child": [] + }, { + "value": 659404, + "name": "一零三团", + "pid": 659004, + "child": [] + }] + }, { + "value": 659005, + "name": "北屯市", + "pid": 650000, + "child": [{ + "value": 659501, + "name": "新城区", + "pid": 659005, + "child": [] + }, { + "value": 659502, + "name": "老城区", + "pid": 659005, + "child": [] + }, { + "value": 659503, + "name": "工业园区", + "pid": 659005, + "child": [] + }, { + "value": 659504, + "name": "海川镇", + "pid": 659005, + "child": [] + }, { + "value": 659505, + "name": "丰庆镇", + "pid": 659005, + "child": [] + }, { + "value": 659506, + "name": "锡伯渡镇", + "pid": 659005, + "child": [] + }] + }, { + "value": 659006, + "name": "铁门关市", + "pid": 650000, + "child": [{ + "value": 659601, + "name": "二十九团场", + "pid": 659006, + "child": [] + }, { + "value": 659602, + "name": "库西经济工业园", + "pid": 659006, + "child": [] + }, { + "value": 659603, + "name": "博古其镇", + "pid": 659006, + "child": [] + }, { + "value": 659604, + "name": "双丰镇", + "pid": 659006, + "child": [] + }] + }, { + "value": 659007, + "name": "双河市", + "pid": 650000, + "child": [{ + "value": 659701, + "name": "八十一团", + "pid": 659007, + "child": [] + }, { + "value": 659702, + "name": "八十四团", + "pid": 659007, + "child": [] + }, { + "value": 659703, + "name": "八十五团", + "pid": 659007, + "child": [] + }, { + "value": 659704, + "name": "八十六团", + "pid": 659007, + "child": [] + }, { + "value": 659705, + "name": "八十九团", + "pid": 659007, + "child": [] + }, { + "value": 659706, + "name": "九十团", + "pid": 659007, + "child": [] + }] + }, { + "value": 659008, + "name": "可克达拉市", + "pid": 650000, + "child": [{ + "value": 659801, + "name": "63团", + "pid": 659008, + "child": [] + }, { + "value": 659802, + "name": "64团", + "pid": 659008, + "child": [] + }, { + "value": 659803, + "name": "66团", + "pid": 659008, + "child": [] + }, { + "value": 659804, + "name": "67团", + "pid": 659008, + "child": [] + }, { + "value": 659805, + "name": "68团", + "pid": 659008, + "child": [] + }] + }, { + "value": 659009, + "name": "昆玉市", + "pid": 650000, + "child": [{ + "value": 659901, + "name": "皮山农场", + "pid": 659009, + "child": [] + }, { + "value": 659902, + "name": "二二四团", + "pid": 659009, + "child": [] + }, { + "value": 659903, + "name": "四十七团", + "pid": 659009, + "child": [] + }, { + "value": 659904, + "name": "一牧场", + "pid": 659009, + "child": [] + }] + }] +}, { + "value": 710000, + "name": "台湾", + "pid": 0, + "child": [{ + "value": 710100, + "name": "台北市", + "pid": 710000, + "child": [{ + "value": 710101, + "name": "松山区", + "pid": 710100, + "child": [] + }, { + "value": 710102, + "name": "信义区", + "pid": 710100, + "child": [] + }, { + "value": 710103, + "name": "大安区", + "pid": 710100, + "child": [] + }, { + "value": 710104, + "name": "中山区", + "pid": 710100, + "child": [] + }, { + "value": 710105, + "name": "中正区", + "pid": 710100, + "child": [] + }, { + "value": 710106, + "name": "大同区", + "pid": 710100, + "child": [] + }, { + "value": 710107, + "name": "万华区", + "pid": 710100, + "child": [] + }, { + "value": 710108, + "name": "文山区", + "pid": 710100, + "child": [] + }, { + "value": 710109, + "name": "南港区", + "pid": 710100, + "child": [] + }, { + "value": 710110, + "name": "内湖区", + "pid": 710100, + "child": [] + }, { + "value": 710111, + "name": "士林区", + "pid": 710100, + "child": [] + }, { + "value": 710112, + "name": "北投区", + "pid": 710100, + "child": [] + }] + }, { + "value": 710200, + "name": "高雄市", + "pid": 710000, + "child": [{ + "value": 710201, + "name": "盐埕区", + "pid": 710200, + "child": [] + }, { + "value": 710202, + "name": "鼓山区", + "pid": 710200, + "child": [] + }, { + "value": 710203, + "name": "左营区", + "pid": 710200, + "child": [] + }, { + "value": 710204, + "name": "楠梓区", + "pid": 710200, + "child": [] + }, { + "value": 710205, + "name": "三民区", + "pid": 710200, + "child": [] + }, { + "value": 710206, + "name": "新兴区", + "pid": 710200, + "child": [] + }, { + "value": 710207, + "name": "前金区", + "pid": 710200, + "child": [] + }, { + "value": 710208, + "name": "苓雅区", + "pid": 710200, + "child": [] + }, { + "value": 710209, + "name": "前镇区", + "pid": 710200, + "child": [] + }, { + "value": 710210, + "name": "旗津区", + "pid": 710200, + "child": [] + }, { + "value": 710211, + "name": "小港区", + "pid": 710200, + "child": [] + }, { + "value": 710212, + "name": "凤山区", + "pid": 710200, + "child": [] + }, { + "value": 710213, + "name": "林园区", + "pid": 710200, + "child": [] + }, { + "value": 710214, + "name": "大寮区", + "pid": 710200, + "child": [] + }, { + "value": 710215, + "name": "大树区", + "pid": 710200, + "child": [] + }, { + "value": 710216, + "name": "大社区", + "pid": 710200, + "child": [] + }, { + "value": 710217, + "name": "仁武区", + "pid": 710200, + "child": [] + }, { + "value": 710218, + "name": "鸟松区", + "pid": 710200, + "child": [] + }, { + "value": 710219, + "name": "冈山区", + "pid": 710200, + "child": [] + }, { + "value": 710220, + "name": "桥头区", + "pid": 710200, + "child": [] + }, { + "value": 710221, + "name": "燕巢区", + "pid": 710200, + "child": [] + }, { + "value": 710222, + "name": "田寮区", + "pid": 710200, + "child": [] + }, { + "value": 710223, + "name": "阿莲区", + "pid": 710200, + "child": [] + }, { + "value": 710224, + "name": "路竹区", + "pid": 710200, + "child": [] + }, { + "value": 710225, + "name": "湖内区", + "pid": 710200, + "child": [] + }, { + "value": 710226, + "name": "茄萣区", + "pid": 710200, + "child": [] + }, { + "value": 710227, + "name": "永安区", + "pid": 710200, + "child": [] + }, { + "value": 710228, + "name": "弥陀区", + "pid": 710200, + "child": [] + }, { + "value": 710229, + "name": "梓官区", + "pid": 710200, + "child": [] + }, { + "value": 710230, + "name": "旗山区", + "pid": 710200, + "child": [] + }, { + "value": 710231, + "name": "美浓区", + "pid": 710200, + "child": [] + }, { + "value": 710232, + "name": "六龟区", + "pid": 710200, + "child": [] + }, { + "value": 710233, + "name": "甲仙区", + "pid": 710200, + "child": [] + }, { + "value": 710234, + "name": "杉林区", + "pid": 710200, + "child": [] + }, { + "value": 710235, + "name": "内门区", + "pid": 710200, + "child": [] + }, { + "value": 710236, + "name": "茂林区", + "pid": 710200, + "child": [] + }, { + "value": 710237, + "name": "桃源区", + "pid": 710200, + "child": [] + }, { + "value": 710238, + "name": "那玛夏区", + "pid": 710200, + "child": [] + }] + }, { + "value": 710300, + "name": "基隆市", + "pid": 710000, + "child": [{ + "value": 710301, + "name": "中正区", + "pid": 710300, + "child": [] + }, { + "value": 710302, + "name": "七堵区", + "pid": 710300, + "child": [] + }, { + "value": 710303, + "name": "暖暖区", + "pid": 710300, + "child": [] + }, { + "value": 710304, + "name": "仁爱区", + "pid": 710300, + "child": [] + }, { + "value": 710305, + "name": "中山区", + "pid": 710300, + "child": [] + }, { + "value": 710306, + "name": "安乐区", + "pid": 710300, + "child": [] + }, { + "value": 710307, + "name": "信义区", + "pid": 710300, + "child": [] + }] + }, { + "value": 710400, + "name": "台中市", + "pid": 710000, + "child": [{ + "value": 710401, + "name": "中区", + "pid": 710400, + "child": [] + }, { + "value": 710402, + "name": "东区", + "pid": 710400, + "child": [] + }, { + "value": 710403, + "name": "南区", + "pid": 710400, + "child": [] + }, { + "value": 710404, + "name": "西区", + "pid": 710400, + "child": [] + }, { + "value": 710405, + "name": "北区", + "pid": 710400, + "child": [] + }, { + "value": 710406, + "name": "西屯区", + "pid": 710400, + "child": [] + }, { + "value": 710407, + "name": "南屯区", + "pid": 710400, + "child": [] + }, { + "value": 710408, + "name": "北屯区", + "pid": 710400, + "child": [] + }, { + "value": 710409, + "name": "丰原区", + "pid": 710400, + "child": [] + }, { + "value": 710410, + "name": "东势区", + "pid": 710400, + "child": [] + }, { + "value": 710411, + "name": "大甲区", + "pid": 710400, + "child": [] + }, { + "value": 710412, + "name": "清水区", + "pid": 710400, + "child": [] + }, { + "value": 710413, + "name": "沙鹿区", + "pid": 710400, + "child": [] + }, { + "value": 710414, + "name": "梧栖区", + "pid": 710400, + "child": [] + }, { + "value": 710415, + "name": "后里区", + "pid": 710400, + "child": [] + }, { + "value": 710416, + "name": "神冈区", + "pid": 710400, + "child": [] + }, { + "value": 710417, + "name": "潭子区", + "pid": 710400, + "child": [] + }, { + "value": 710418, + "name": "大雅区", + "pid": 710400, + "child": [] + }, { + "value": 710419, + "name": "新社区", + "pid": 710400, + "child": [] + }, { + "value": 710420, + "name": "石冈区", + "pid": 710400, + "child": [] + }, { + "value": 710421, + "name": "外埔区", + "pid": 710400, + "child": [] + }, { + "value": 710422, + "name": "大安区", + "pid": 710400, + "child": [] + }, { + "value": 710423, + "name": "乌日区", + "pid": 710400, + "child": [] + }, { + "value": 710424, + "name": "大肚区", + "pid": 710400, + "child": [] + }, { + "value": 710425, + "name": "龙井区", + "pid": 710400, + "child": [] + }, { + "value": 710426, + "name": "雾峰区", + "pid": 710400, + "child": [] + }, { + "value": 710427, + "name": "太平区", + "pid": 710400, + "child": [] + }, { + "value": 710428, + "name": "大里区", + "pid": 710400, + "child": [] + }, { + "value": 710429, + "name": "和平区", + "pid": 710400, + "child": [] + }] + }, { + "value": 710500, + "name": "台南市", + "pid": 710000, + "child": [{ + "value": 710501, + "name": "东区", + "pid": 710500, + "child": [] + }, { + "value": 710502, + "name": "南区", + "pid": 710500, + "child": [] + }, { + "value": 710504, + "name": "北区", + "pid": 710500, + "child": [] + }, { + "value": 710506, + "name": "安南区", + "pid": 710500, + "child": [] + }, { + "value": 710507, + "name": "安平区", + "pid": 710500, + "child": [] + }, { + "value": 710508, + "name": "中西区", + "pid": 710500, + "child": [] + }, { + "value": 710509, + "name": "新营区", + "pid": 710500, + "child": [] + }, { + "value": 710510, + "name": "盐水区", + "pid": 710500, + "child": [] + }, { + "value": 710511, + "name": "白河区", + "pid": 710500, + "child": [] + }, { + "value": 710512, + "name": "柳营区", + "pid": 710500, + "child": [] + }, { + "value": 710513, + "name": "后壁区", + "pid": 710500, + "child": [] + }, { + "value": 710514, + "name": "东山区", + "pid": 710500, + "child": [] + }, { + "value": 710515, + "name": "麻豆区", + "pid": 710500, + "child": [] + }, { + "value": 710516, + "name": "下营区", + "pid": 710500, + "child": [] + }, { + "value": 710517, + "name": "六甲区", + "pid": 710500, + "child": [] + }, { + "value": 710518, + "name": "官田区", + "pid": 710500, + "child": [] + }, { + "value": 710519, + "name": "大内区", + "pid": 710500, + "child": [] + }, { + "value": 710520, + "name": "佳里区", + "pid": 710500, + "child": [] + }, { + "value": 710521, + "name": "学甲区", + "pid": 710500, + "child": [] + }, { + "value": 710522, + "name": "西港区", + "pid": 710500, + "child": [] + }, { + "value": 710523, + "name": "七股区", + "pid": 710500, + "child": [] + }, { + "value": 710524, + "name": "将军区", + "pid": 710500, + "child": [] + }, { + "value": 710525, + "name": "北门区", + "pid": 710500, + "child": [] + }, { + "value": 710526, + "name": "新化区", + "pid": 710500, + "child": [] + }, { + "value": 710527, + "name": "善化区", + "pid": 710500, + "child": [] + }, { + "value": 710528, + "name": "新市区", + "pid": 710500, + "child": [] + }, { + "value": 710529, + "name": "安定区", + "pid": 710500, + "child": [] + }, { + "value": 710530, + "name": "山上区", + "pid": 710500, + "child": [] + }, { + "value": 710531, + "name": "玉井区", + "pid": 710500, + "child": [] + }, { + "value": 710532, + "name": "楠西区", + "pid": 710500, + "child": [] + }, { + "value": 710533, + "name": "南化区", + "pid": 710500, + "child": [] + }, { + "value": 710534, + "name": "左镇区", + "pid": 710500, + "child": [] + }, { + "value": 710535, + "name": "仁德区", + "pid": 710500, + "child": [] + }, { + "value": 710536, + "name": "归仁区", + "pid": 710500, + "child": [] + }, { + "value": 710537, + "name": "关庙区", + "pid": 710500, + "child": [] + }, { + "value": 710538, + "name": "龙崎区", + "pid": 710500, + "child": [] + }, { + "value": 710539, + "name": "永康区", + "pid": 710500, + "child": [] + }] + }, { + "value": 710600, + "name": "新竹市", + "pid": 710000, + "child": [{ + "value": 710601, + "name": "东区", + "pid": 710600, + "child": [] + }, { + "value": 710602, + "name": "北区", + "pid": 710600, + "child": [] + }, { + "value": 710603, + "name": "香山区", + "pid": 710600, + "child": [] + }] + }, { + "value": 710700, + "name": "嘉义市", + "pid": 710000, + "child": [{ + "value": 710701, + "name": "东区", + "pid": 710700, + "child": [] + }, { + "value": 710702, + "name": "西区", + "pid": 710700, + "child": [] + }] + }, { + "value": 710800, + "name": "新北市", + "pid": 710000, + "child": [{ + "value": 710801, + "name": "板桥区", + "pid": 710800, + "child": [] + }, { + "value": 710802, + "name": "三重区", + "pid": 710800, + "child": [] + }, { + "value": 710803, + "name": "中和区", + "pid": 710800, + "child": [] + }, { + "value": 710804, + "name": "永和区", + "pid": 710800, + "child": [] + }, { + "value": 710805, + "name": "新庄区", + "pid": 710800, + "child": [] + }, { + "value": 710806, + "name": "新店区", + "pid": 710800, + "child": [] + }, { + "value": 710807, + "name": "树林区", + "pid": 710800, + "child": [] + }, { + "value": 710808, + "name": "莺歌区", + "pid": 710800, + "child": [] + }, { + "value": 710809, + "name": "三峡区", + "pid": 710800, + "child": [] + }, { + "value": 710810, + "name": "淡水区", + "pid": 710800, + "child": [] + }, { + "value": 710811, + "name": "汐止区", + "pid": 710800, + "child": [] + }, { + "value": 710812, + "name": "瑞芳区", + "pid": 710800, + "child": [] + }, { + "value": 710813, + "name": "土城区", + "pid": 710800, + "child": [] + }, { + "value": 710814, + "name": "芦洲区", + "pid": 710800, + "child": [] + }, { + "value": 710815, + "name": "五股区", + "pid": 710800, + "child": [] + }, { + "value": 710816, + "name": "泰山区", + "pid": 710800, + "child": [] + }, { + "value": 710817, + "name": "林口区", + "pid": 710800, + "child": [] + }, { + "value": 710818, + "name": "深坑区", + "pid": 710800, + "child": [] + }, { + "value": 710819, + "name": "石碇区", + "pid": 710800, + "child": [] + }, { + "value": 710820, + "name": "坪林区", + "pid": 710800, + "child": [] + }, { + "value": 710821, + "name": "三芝区", + "pid": 710800, + "child": [] + }, { + "value": 710822, + "name": "石门区", + "pid": 710800, + "child": [] + }, { + "value": 710823, + "name": "八里区", + "pid": 710800, + "child": [] + }, { + "value": 710824, + "name": "平溪区", + "pid": 710800, + "child": [] + }, { + "value": 710825, + "name": "双溪区", + "pid": 710800, + "child": [] + }, { + "value": 710826, + "name": "贡寮区", + "pid": 710800, + "child": [] + }, { + "value": 710827, + "name": "金山区", + "pid": 710800, + "child": [] + }, { + "value": 710828, + "name": "万里区", + "pid": 710800, + "child": [] + }, { + "value": 710829, + "name": "乌来区", + "pid": 710800, + "child": [] + }] + }, { + "value": 712200, + "name": "宜兰县", + "pid": 710000, + "child": [{ + "value": 712201, + "name": "宜兰市", + "pid": 712200, + "child": [] + }, { + "value": 712221, + "name": "罗东镇", + "pid": 712200, + "child": [] + }, { + "value": 712222, + "name": "苏澳镇", + "pid": 712200, + "child": [] + }, { + "value": 712223, + "name": "头城镇", + "pid": 712200, + "child": [] + }, { + "value": 712224, + "name": "礁溪乡", + "pid": 712200, + "child": [] + }, { + "value": 712225, + "name": "壮围乡", + "pid": 712200, + "child": [] + }, { + "value": 712226, + "name": "员山乡", + "pid": 712200, + "child": [] + }, { + "value": 712227, + "name": "冬山乡", + "pid": 712200, + "child": [] + }, { + "value": 712228, + "name": "五结乡", + "pid": 712200, + "child": [] + }, { + "value": 712229, + "name": "三星乡", + "pid": 712200, + "child": [] + }, { + "value": 712230, + "name": "大同乡", + "pid": 712200, + "child": [] + }, { + "value": 712231, + "name": "南澳乡", + "pid": 712200, + "child": [] + }] + }, { + "value": 712300, + "name": "桃园市", + "pid": 710000, + "child": [{ + "value": 712301, + "name": "桃园市", + "pid": 712300, + "child": [] + }, { + "value": 712302, + "name": "中坜市", + "pid": 712300, + "child": [] + }, { + "value": 712303, + "name": "平镇市", + "pid": 712300, + "child": [] + }, { + "value": 712304, + "name": "八德市", + "pid": 712300, + "child": [] + }, { + "value": 712305, + "name": "杨梅市", + "pid": 712300, + "child": [] + }, { + "value": 712306, + "name": "芦竹市", + "pid": 712300, + "child": [] + }, { + "value": 712321, + "name": "大溪镇", + "pid": 712300, + "child": [] + }, { + "value": 712324, + "name": "大园乡", + "pid": 712300, + "child": [] + }, { + "value": 712325, + "name": "龟山乡", + "pid": 712300, + "child": [] + }, { + "value": 712327, + "name": "龙潭乡", + "pid": 712300, + "child": [] + }, { + "value": 712329, + "name": "新屋乡", + "pid": 712300, + "child": [] + }, { + "value": 712330, + "name": "观音乡", + "pid": 712300, + "child": [] + }, { + "value": 712331, + "name": "复兴乡", + "pid": 712300, + "child": [] + }] + }, { + "value": 712400, + "name": "新竹县", + "pid": 710000, + "child": [{ + "value": 712401, + "name": "竹北市", + "pid": 712400, + "child": [] + }, { + "value": 712421, + "name": "竹东镇", + "pid": 712400, + "child": [] + }, { + "value": 712422, + "name": "新埔镇", + "pid": 712400, + "child": [] + }, { + "value": 712423, + "name": "关西镇", + "pid": 712400, + "child": [] + }, { + "value": 712424, + "name": "湖口乡", + "pid": 712400, + "child": [] + }, { + "value": 712425, + "name": "新丰乡", + "pid": 712400, + "child": [] + }, { + "value": 712426, + "name": "芎林乡", + "pid": 712400, + "child": [] + }, { + "value": 712427, + "name": "横山乡", + "pid": 712400, + "child": [] + }, { + "value": 712428, + "name": "北埔乡", + "pid": 712400, + "child": [] + }, { + "value": 712429, + "name": "宝山乡", + "pid": 712400, + "child": [] + }, { + "value": 712430, + "name": "峨眉乡", + "pid": 712400, + "child": [] + }, { + "value": 712431, + "name": "尖石乡", + "pid": 712400, + "child": [] + }, { + "value": 712432, + "name": "五峰乡", + "pid": 712400, + "child": [] + }] + }, { + "value": 712500, + "name": "苗栗县", + "pid": 710000, + "child": [{ + "value": 712501, + "name": "苗栗市", + "pid": 712500, + "child": [] + }, { + "value": 712521, + "name": "苑里镇", + "pid": 712500, + "child": [] + }, { + "value": 712522, + "name": "通霄镇", + "pid": 712500, + "child": [] + }, { + "value": 712523, + "name": "竹南镇", + "pid": 712500, + "child": [] + }, { + "value": 712524, + "name": "头份市", + "pid": 712500, + "child": [] + }, { + "value": 712525, + "name": "后龙镇", + "pid": 712500, + "child": [] + }, { + "value": 712526, + "name": "卓兰镇", + "pid": 712500, + "child": [] + }, { + "value": 712527, + "name": "大湖乡", + "pid": 712500, + "child": [] + }, { + "value": 712528, + "name": "公馆乡", + "pid": 712500, + "child": [] + }, { + "value": 712529, + "name": "铜锣乡", + "pid": 712500, + "child": [] + }, { + "value": 712530, + "name": "南庄乡", + "pid": 712500, + "child": [] + }, { + "value": 712531, + "name": "头屋乡", + "pid": 712500, + "child": [] + }, { + "value": 712532, + "name": "三义乡", + "pid": 712500, + "child": [] + }, { + "value": 712533, + "name": "西湖乡", + "pid": 712500, + "child": [] + }, { + "value": 712534, + "name": "造桥乡", + "pid": 712500, + "child": [] + }, { + "value": 712535, + "name": "三湾乡", + "pid": 712500, + "child": [] + }, { + "value": 712536, + "name": "狮潭乡", + "pid": 712500, + "child": [] + }, { + "value": 712537, + "name": "泰安乡", + "pid": 712500, + "child": [] + }] + }, { + "value": 712700, + "name": "彰化县", + "pid": 710000, + "child": [{ + "value": 712701, + "name": "彰化市", + "pid": 712700, + "child": [] + }, { + "value": 712721, + "name": "鹿港镇", + "pid": 712700, + "child": [] + }, { + "value": 712722, + "name": "和美镇", + "pid": 712700, + "child": [] + }, { + "value": 712723, + "name": "线西乡", + "pid": 712700, + "child": [] + }, { + "value": 712724, + "name": "伸港乡", + "pid": 712700, + "child": [] + }, { + "value": 712725, + "name": "福兴乡", + "pid": 712700, + "child": [] + }, { + "value": 712726, + "name": "秀水乡", + "pid": 712700, + "child": [] + }, { + "value": 712727, + "name": "花坛乡", + "pid": 712700, + "child": [] + }, { + "value": 712728, + "name": "芬园乡", + "pid": 712700, + "child": [] + }, { + "value": 712729, + "name": "员林市", + "pid": 712700, + "child": [] + }, { + "value": 712730, + "name": "溪湖镇", + "pid": 712700, + "child": [] + }, { + "value": 712731, + "name": "田中镇", + "pid": 712700, + "child": [] + }, { + "value": 712732, + "name": "大村乡", + "pid": 712700, + "child": [] + }, { + "value": 712733, + "name": "埔盐乡", + "pid": 712700, + "child": [] + }, { + "value": 712734, + "name": "埔心乡", + "pid": 712700, + "child": [] + }, { + "value": 712735, + "name": "永靖乡", + "pid": 712700, + "child": [] + }, { + "value": 712736, + "name": "社头乡", + "pid": 712700, + "child": [] + }, { + "value": 712737, + "name": "二水乡", + "pid": 712700, + "child": [] + }, { + "value": 712738, + "name": "北斗镇", + "pid": 712700, + "child": [] + }, { + "value": 712739, + "name": "二林镇", + "pid": 712700, + "child": [] + }, { + "value": 712740, + "name": "田尾乡", + "pid": 712700, + "child": [] + }, { + "value": 712741, + "name": "埤头乡", + "pid": 712700, + "child": [] + }, { + "value": 712742, + "name": "芳苑乡", + "pid": 712700, + "child": [] + }, { + "value": 712743, + "name": "大城乡", + "pid": 712700, + "child": [] + }, { + "value": 712744, + "name": "竹塘乡", + "pid": 712700, + "child": [] + }, { + "value": 712745, + "name": "溪州乡", + "pid": 712700, + "child": [] + }] + }, { + "value": 712800, + "name": "南投县", + "pid": 710000, + "child": [{ + "value": 712801, + "name": "南投市", + "pid": 712800, + "child": [] + }, { + "value": 712821, + "name": "埔里镇", + "pid": 712800, + "child": [] + }, { + "value": 712822, + "name": "草屯镇", + "pid": 712800, + "child": [] + }, { + "value": 712823, + "name": "竹山镇", + "pid": 712800, + "child": [] + }, { + "value": 712824, + "name": "集集镇", + "pid": 712800, + "child": [] + }, { + "value": 712825, + "name": "名间乡", + "pid": 712800, + "child": [] + }, { + "value": 712826, + "name": "鹿谷乡", + "pid": 712800, + "child": [] + }, { + "value": 712827, + "name": "中寮乡", + "pid": 712800, + "child": [] + }, { + "value": 712828, + "name": "鱼池乡", + "pid": 712800, + "child": [] + }, { + "value": 712829, + "name": "国姓乡", + "pid": 712800, + "child": [] + }, { + "value": 712830, + "name": "水里乡", + "pid": 712800, + "child": [] + }, { + "value": 712831, + "name": "信义乡", + "pid": 712800, + "child": [] + }, { + "value": 712832, + "name": "仁爱乡", + "pid": 712800, + "child": [] + }] + }, { + "value": 712900, + "name": "云林县", + "pid": 710000, + "child": [{ + "value": 712901, + "name": "斗六市", + "pid": 712900, + "child": [] + }, { + "value": 712921, + "name": "斗南镇", + "pid": 712900, + "child": [] + }, { + "value": 712922, + "name": "虎尾镇", + "pid": 712900, + "child": [] + }, { + "value": 712923, + "name": "西螺镇", + "pid": 712900, + "child": [] + }, { + "value": 712924, + "name": "土库镇", + "pid": 712900, + "child": [] + }, { + "value": 712925, + "name": "北港镇", + "pid": 712900, + "child": [] + }, { + "value": 712926, + "name": "古坑乡", + "pid": 712900, + "child": [] + }, { + "value": 712927, + "name": "大埤乡", + "pid": 712900, + "child": [] + }, { + "value": 712928, + "name": "莿桐乡", + "pid": 712900, + "child": [] + }, { + "value": 712929, + "name": "林内乡", + "pid": 712900, + "child": [] + }, { + "value": 712930, + "name": "二仑乡", + "pid": 712900, + "child": [] + }, { + "value": 712931, + "name": "仑背乡", + "pid": 712900, + "child": [] + }, { + "value": 712932, + "name": "麦寮乡", + "pid": 712900, + "child": [] + }, { + "value": 712933, + "name": "东势乡", + "pid": 712900, + "child": [] + }, { + "value": 712934, + "name": "褒忠乡", + "pid": 712900, + "child": [] + }, { + "value": 712935, + "name": "台西乡", + "pid": 712900, + "child": [] + }, { + "value": 712936, + "name": "元长乡", + "pid": 712900, + "child": [] + }, { + "value": 712937, + "name": "四湖乡", + "pid": 712900, + "child": [] + }, { + "value": 712938, + "name": "口湖乡", + "pid": 712900, + "child": [] + }, { + "value": 712939, + "name": "水林乡", + "pid": 712900, + "child": [] + }] + }, { + "value": 713000, + "name": "嘉义县", + "pid": 710000, + "child": [{ + "value": 713001, + "name": "太保市", + "pid": 713000, + "child": [] + }, { + "value": 713002, + "name": "朴子市", + "pid": 713000, + "child": [] + }, { + "value": 713023, + "name": "布袋镇", + "pid": 713000, + "child": [] + }, { + "value": 713024, + "name": "大林镇", + "pid": 713000, + "child": [] + }, { + "value": 713025, + "name": "民雄乡", + "pid": 713000, + "child": [] + }, { + "value": 713026, + "name": "溪口乡", + "pid": 713000, + "child": [] + }, { + "value": 713027, + "name": "新港乡", + "pid": 713000, + "child": [] + }, { + "value": 713028, + "name": "六脚乡", + "pid": 713000, + "child": [] + }, { + "value": 713029, + "name": "东石乡", + "pid": 713000, + "child": [] + }, { + "value": 713030, + "name": "义竹乡", + "pid": 713000, + "child": [] + }, { + "value": 713031, + "name": "鹿草乡", + "pid": 713000, + "child": [] + }, { + "value": 713032, + "name": "水上乡", + "pid": 713000, + "child": [] + }, { + "value": 713033, + "name": "中埔乡", + "pid": 713000, + "child": [] + }, { + "value": 713034, + "name": "竹崎乡", + "pid": 713000, + "child": [] + }, { + "value": 713035, + "name": "梅山乡", + "pid": 713000, + "child": [] + }, { + "value": 713036, + "name": "番路乡", + "pid": 713000, + "child": [] + }, { + "value": 713037, + "name": "大埔乡", + "pid": 713000, + "child": [] + }, { + "value": 713038, + "name": "阿里山乡", + "pid": 713000, + "child": [] + }] + }, { + "value": 713300, + "name": "屏东县", + "pid": 710000, + "child": [{ + "value": 713301, + "name": "屏东市", + "pid": 713300, + "child": [] + }, { + "value": 713321, + "name": "潮州镇", + "pid": 713300, + "child": [] + }, { + "value": 713322, + "name": "东港镇", + "pid": 713300, + "child": [] + }, { + "value": 713323, + "name": "恒春镇", + "pid": 713300, + "child": [] + }, { + "value": 713324, + "name": "万丹乡", + "pid": 713300, + "child": [] + }, { + "value": 713325, + "name": "长治乡", + "pid": 713300, + "child": [] + }, { + "value": 713326, + "name": "麟洛乡", + "pid": 713300, + "child": [] + }, { + "value": 713327, + "name": "九如乡", + "pid": 713300, + "child": [] + }, { + "value": 713328, + "name": "里港乡", + "pid": 713300, + "child": [] + }, { + "value": 713329, + "name": "盐埔乡", + "pid": 713300, + "child": [] + }, { + "value": 713330, + "name": "高树乡", + "pid": 713300, + "child": [] + }, { + "value": 713331, + "name": "万峦乡", + "pid": 713300, + "child": [] + }, { + "value": 713332, + "name": "内埔乡", + "pid": 713300, + "child": [] + }, { + "value": 713333, + "name": "竹田乡", + "pid": 713300, + "child": [] + }, { + "value": 713334, + "name": "新埤乡", + "pid": 713300, + "child": [] + }, { + "value": 713335, + "name": "枋寮乡", + "pid": 713300, + "child": [] + }, { + "value": 713336, + "name": "新园乡", + "pid": 713300, + "child": [] + }, { + "value": 713337, + "name": "崁顶乡", + "pid": 713300, + "child": [] + }, { + "value": 713338, + "name": "林边乡", + "pid": 713300, + "child": [] + }, { + "value": 713339, + "name": "南州乡", + "pid": 713300, + "child": [] + }, { + "value": 713340, + "name": "佳冬乡", + "pid": 713300, + "child": [] + }, { + "value": 713341, + "name": "琉球乡", + "pid": 713300, + "child": [] + }, { + "value": 713342, + "name": "车城乡", + "pid": 713300, + "child": [] + }, { + "value": 713343, + "name": "满州乡", + "pid": 713300, + "child": [] + }, { + "value": 713344, + "name": "枋山乡", + "pid": 713300, + "child": [] + }, { + "value": 713345, + "name": "三地门乡", + "pid": 713300, + "child": [] + }, { + "value": 713346, + "name": "雾台乡", + "pid": 713300, + "child": [] + }, { + "value": 713347, + "name": "玛家乡", + "pid": 713300, + "child": [] + }, { + "value": 713348, + "name": "泰武乡", + "pid": 713300, + "child": [] + }, { + "value": 713349, + "name": "来义乡", + "pid": 713300, + "child": [] + }, { + "value": 713350, + "name": "春日乡", + "pid": 713300, + "child": [] + }, { + "value": 713351, + "name": "狮子乡", + "pid": 713300, + "child": [] + }, { + "value": 713352, + "name": "牡丹乡", + "pid": 713300, + "child": [] + }] + }, { + "value": 713400, + "name": "台东县", + "pid": 710000, + "child": [{ + "value": 713401, + "name": "台东市", + "pid": 713400, + "child": [] + }, { + "value": 713421, + "name": "成功镇", + "pid": 713400, + "child": [] + }, { + "value": 713422, + "name": "关山镇", + "pid": 713400, + "child": [] + }, { + "value": 713423, + "name": "卑南乡", + "pid": 713400, + "child": [] + }, { + "value": 713424, + "name": "鹿野乡", + "pid": 713400, + "child": [] + }, { + "value": 713425, + "name": "池上乡", + "pid": 713400, + "child": [] + }, { + "value": 713426, + "name": "东河乡", + "pid": 713400, + "child": [] + }, { + "value": 713427, + "name": "长滨乡", + "pid": 713400, + "child": [] + }, { + "value": 713428, + "name": "太麻里乡", + "pid": 713400, + "child": [] + }, { + "value": 713429, + "name": "大武乡", + "pid": 713400, + "child": [] + }, { + "value": 713430, + "name": "绿岛乡", + "pid": 713400, + "child": [] + }, { + "value": 713431, + "name": "海端乡", + "pid": 713400, + "child": [] + }, { + "value": 713432, + "name": "延平乡", + "pid": 713400, + "child": [] + }, { + "value": 713433, + "name": "金峰乡", + "pid": 713400, + "child": [] + }, { + "value": 713434, + "name": "达仁乡", + "pid": 713400, + "child": [] + }, { + "value": 713435, + "name": "兰屿乡", + "pid": 713400, + "child": [] + }] + }, { + "value": 713500, + "name": "花莲县", + "pid": 710000, + "child": [{ + "value": 713501, + "name": "花莲市", + "pid": 713500, + "child": [] + }, { + "value": 713521, + "name": "凤林镇", + "pid": 713500, + "child": [] + }, { + "value": 713522, + "name": "玉里镇", + "pid": 713500, + "child": [] + }, { + "value": 713523, + "name": "新城乡", + "pid": 713500, + "child": [] + }, { + "value": 713524, + "name": "吉安乡", + "pid": 713500, + "child": [] + }, { + "value": 713525, + "name": "寿丰乡", + "pid": 713500, + "child": [] + }, { + "value": 713526, + "name": "光复乡", + "pid": 713500, + "child": [] + }, { + "value": 713527, + "name": "丰滨乡", + "pid": 713500, + "child": [] + }, { + "value": 713528, + "name": "瑞穗乡", + "pid": 713500, + "child": [] + }, { + "value": 713529, + "name": "富里乡", + "pid": 713500, + "child": [] + }, { + "value": 713530, + "name": "秀林乡", + "pid": 713500, + "child": [] + }, { + "value": 713531, + "name": "万荣乡", + "pid": 713500, + "child": [] + }, { + "value": 713532, + "name": "卓溪乡", + "pid": 713500, + "child": [] + }] + }, { + "value": 713600, + "name": "澎湖县", + "pid": 710000, + "child": [{ + "value": 713601, + "name": "马公市", + "pid": 713600, + "child": [] + }, { + "value": 713621, + "name": "湖西乡", + "pid": 713600, + "child": [] + }, { + "value": 713622, + "name": "白沙乡", + "pid": 713600, + "child": [] + }, { + "value": 713623, + "name": "西屿乡", + "pid": 713600, + "child": [] + }, { + "value": 713624, + "name": "望安乡", + "pid": 713600, + "child": [] + }, { + "value": 713625, + "name": "七美乡", + "pid": 713600, + "child": [] + }] + }, { + "value": 713700, + "name": "金门县", + "pid": 710000, + "child": [{ + "value": 713701, + "name": "金城镇", + "pid": 713700, + "child": [] + }, { + "value": 713702, + "name": "金湖镇", + "pid": 713700, + "child": [] + }, { + "value": 713703, + "name": "金沙镇", + "pid": 713700, + "child": [] + }, { + "value": 713704, + "name": "金宁乡", + "pid": 713700, + "child": [] + }, { + "value": 713705, + "name": "烈屿乡", + "pid": 713700, + "child": [] + }, { + "value": 713706, + "name": "乌丘乡", + "pid": 713700, + "child": [] + }] + }, { + "value": 713800, + "name": "连江县", + "pid": 710000, + "child": [{ + "value": 713801, + "name": "南竿乡", + "pid": 713800, + "child": [] + }, { + "value": 713802, + "name": "北竿乡", + "pid": 713800, + "child": [] + }, { + "value": 713803, + "name": "莒光乡", + "pid": 713800, + "child": [] + }, { + "value": 713804, + "name": "东引乡", + "pid": 713800, + "child": [] + }] + }] +}, { + "value": 810000, + "name": "香港特别行政区", + "pid": 0, + "child": [{ + "value": 810100, + "name": "香港岛", + "pid": 810000, + "child": [{ + "value": 810101, + "name": "中西区", + "pid": 810100, + "child": [] + }, { + "value": 810102, + "name": "湾仔区", + "pid": 810100, + "child": [] + }, { + "value": 810103, + "name": "东区", + "pid": 810100, + "child": [] + }, { + "value": 810104, + "name": "南区", + "pid": 810100, + "child": [] + }] + }, { + "value": 810200, + "name": "九龙", + "pid": 810000, + "child": [{ + "value": 810201, + "name": "油尖旺区", + "pid": 810200, + "child": [] + }, { + "value": 810202, + "name": "深水埗区", + "pid": 810200, + "child": [] + }, { + "value": 810203, + "name": "九龙城区", + "pid": 810200, + "child": [] + }, { + "value": 810204, + "name": "黄大仙区", + "pid": 810200, + "child": [] + }, { + "value": 810205, + "name": "观塘区", + "pid": 810200, + "child": [] + }] + }, { + "value": 810300, + "name": "新界", + "pid": 810000, + "child": [{ + "value": 810301, + "name": "荃湾区", + "pid": 810300, + "child": [] + }, { + "value": 810302, + "name": "屯门区", + "pid": 810300, + "child": [] + }, { + "value": 810303, + "name": "元朗区", + "pid": 810300, + "child": [] + }, { + "value": 810304, + "name": "北区", + "pid": 810300, + "child": [] + }, { + "value": 810305, + "name": "大埔区", + "pid": 810300, + "child": [] + }, { + "value": 810306, + "name": "西贡区", + "pid": 810300, + "child": [] + }, { + "value": 810307, + "name": "沙田区", + "pid": 810300, + "child": [] + }, { + "value": 810308, + "name": "葵青区", + "pid": 810300, + "child": [] + }, { + "value": 810309, + "name": "离岛区", + "pid": 810300, + "child": [] + }] + }] +}, { + "value": 820000, + "name": "澳门特别行政区", + "pid": 0, + "child": [{ + "value": 820100, + "name": "澳门半岛", + "pid": 820000, + "child": [{ + "value": 820101, + "name": "花地玛堂区", + "pid": 820100, + "child": [] + }, { + "value": 820102, + "name": "圣安多尼堂区", + "pid": 820100, + "child": [] + }, { + "value": 820103, + "name": "大堂区", + "pid": 820100, + "child": [] + }, { + "value": 820104, + "name": "望德堂区", + "pid": 820100, + "child": [] + }, { + "value": 820105, + "name": "风顺堂区", + "pid": 820100, + "child": [] + }] + }, { + "value": 820200, + "name": "氹仔岛", + "pid": 820000, + "child": [{ + "value": 820201, + "name": "嘉模堂区", + "pid": 820200, + "child": [] + }] + }, { + "value": 820300, + "name": "路环岛", + "pid": 820000, + "child": [{ + "value": 820301, + "name": "圣方济各堂区", + "pid": 820300, + "child": [] + }] + }] +}] \ No newline at end of file diff --git a/components/price-format/price-format.vue b/components/price-format/price-format.vue new file mode 100644 index 0000000..9c67ce6 --- /dev/null +++ b/components/price-format/price-format.vue @@ -0,0 +1,82 @@ + + + + \ No newline at end of file diff --git a/components/privacy-popup/privacy-popup.vue b/components/privacy-popup/privacy-popup.vue new file mode 100644 index 0000000..eefeda7 --- /dev/null +++ b/components/privacy-popup/privacy-popup.vue @@ -0,0 +1,117 @@ + + + diff --git a/components/product-swiper/product-swiper.vue b/components/product-swiper/product-swiper.vue new file mode 100644 index 0000000..e1b9fc4 --- /dev/null +++ b/components/product-swiper/product-swiper.vue @@ -0,0 +1,283 @@ + + + + diff --git a/components/recommend/recommend.vue b/components/recommend/recommend.vue new file mode 100644 index 0000000..f5c3a32 --- /dev/null +++ b/components/recommend/recommend.vue @@ -0,0 +1,95 @@ + + + + \ No newline at end of file diff --git a/components/set-pay-pwd/set-pay-pwd.vue b/components/set-pay-pwd/set-pay-pwd.vue new file mode 100644 index 0000000..0b6642f --- /dev/null +++ b/components/set-pay-pwd/set-pay-pwd.vue @@ -0,0 +1,183 @@ + + + + + diff --git a/components/share-popup/poster.vue b/components/share-popup/poster.vue new file mode 100644 index 0000000..b6e53d6 --- /dev/null +++ b/components/share-popup/poster.vue @@ -0,0 +1,155 @@ + + + + + diff --git a/components/share-popup/share-popup.vue b/components/share-popup/share-popup.vue new file mode 100644 index 0000000..11a3bd3 --- /dev/null +++ b/components/share-popup/share-popup.vue @@ -0,0 +1,279 @@ + + + + + diff --git a/components/spec-popup/spec-popup.vue b/components/spec-popup/spec-popup.vue new file mode 100644 index 0000000..25e22e0 --- /dev/null +++ b/components/spec-popup/spec-popup.vue @@ -0,0 +1,493 @@ + + + + diff --git a/components/spread-order/spread-order.vue b/components/spread-order/spread-order.vue new file mode 100644 index 0000000..7723c38 --- /dev/null +++ b/components/spread-order/spread-order.vue @@ -0,0 +1,200 @@ + + + + \ No newline at end of file diff --git a/components/swipers/swipers.vue b/components/swipers/swipers.vue new file mode 100644 index 0000000..b0c6f33 --- /dev/null +++ b/components/swipers/swipers.vue @@ -0,0 +1,178 @@ + + + + diff --git a/components/tab/tab.vue b/components/tab/tab.vue new file mode 100644 index 0000000..fad37bf --- /dev/null +++ b/components/tab/tab.vue @@ -0,0 +1,98 @@ + + + + + diff --git a/components/tabs/tabs.vue b/components/tabs/tabs.vue new file mode 100644 index 0000000..6802a9f --- /dev/null +++ b/components/tabs/tabs.vue @@ -0,0 +1,252 @@ + + + + + diff --git a/components/tki-qrcode/qrcode.js b/components/tki-qrcode/qrcode.js new file mode 100644 index 0000000..6ea6553 --- /dev/null +++ b/components/tki-qrcode/qrcode.js @@ -0,0 +1,1201 @@ +let QRCode = {}; +(function () { + /** + * 获取单个字符的utf8编码 + * unicode BMP平面约65535个字符 + * @param {num} code + * return {array} + */ + function unicodeFormat8(code) { + // 1 byte + var c0, c1, c2; + if (code < 128) { + return [code]; + // 2 bytes + } else if (code < 2048) { + c0 = 192 + (code >> 6); + c1 = 128 + (code & 63); + return [c0, c1]; + // 3 bytes + } else { + c0 = 224 + (code >> 12); + c1 = 128 + (code >> 6 & 63); + c2 = 128 + (code & 63); + return [c0, c1, c2]; + } + } + /** + * 获取字符串的utf8编码字节串 + * @param {string} string + * @return {array} + */ + function getUTF8Bytes(string) { + var utf8codes = []; + for (var i = 0; i < string.length; i++) { + var code = string.charCodeAt(i); + var utf8 = unicodeFormat8(code); + for (var j = 0; j < utf8.length; j++) { + utf8codes.push(utf8[j]); + } + } + return utf8codes; + } + /** + * 二维码算法实现 + * @param {string} data 要编码的信息字符串 + * @param {num} errorCorrectLevel 纠错等级 + */ + function QRCodeAlg(data, errorCorrectLevel) { + this.typeNumber = -1; //版本 + this.errorCorrectLevel = errorCorrectLevel; + this.modules = null; //二维矩阵,存放最终结果 + this.moduleCount = 0; //矩阵大小 + this.dataCache = null; //数据缓存 + this.rsBlocks = null; //版本数据信息 + this.totalDataCount = -1; //可使用的数据量 + this.data = data; + this.utf8bytes = getUTF8Bytes(data); + this.make(); + } + QRCodeAlg.prototype = { + constructor: QRCodeAlg, + /** + * 获取二维码矩阵大小 + * @return {num} 矩阵大小 + */ + getModuleCount: function () { + return this.moduleCount; + }, + /** + * 编码 + */ + make: function () { + this.getRightType(); + this.dataCache = this.createData(); + this.createQrcode(); + }, + /** + * 设置二位矩阵功能图形 + * @param {bool} test 表示是否在寻找最好掩膜阶段 + * @param {num} maskPattern 掩膜的版本 + */ + makeImpl: function (maskPattern) { + this.moduleCount = this.typeNumber * 4 + 17; + this.modules = new Array(this.moduleCount); + for (var row = 0; row < this.moduleCount; row++) { + this.modules[row] = new Array(this.moduleCount); + } + this.setupPositionProbePattern(0, 0); + this.setupPositionProbePattern(this.moduleCount - 7, 0); + this.setupPositionProbePattern(0, this.moduleCount - 7); + this.setupPositionAdjustPattern(); + this.setupTimingPattern(); + this.setupTypeInfo(true, maskPattern); + if (this.typeNumber >= 7) { + this.setupTypeNumber(true); + } + this.mapData(this.dataCache, maskPattern); + }, + /** + * 设置二维码的位置探测图形 + * @param {num} row 探测图形的中心横坐标 + * @param {num} col 探测图形的中心纵坐标 + */ + setupPositionProbePattern: function (row, col) { + for (var r = -1; r <= 7; r++) { + if (row + r <= -1 || this.moduleCount <= row + r) continue; + for (var c = -1; c <= 7; c++) { + if (col + c <= -1 || this.moduleCount <= col + c) continue; + if ((0 <= r && r <= 6 && (c == 0 || c == 6)) || (0 <= c && c <= 6 && (r == 0 || r == 6)) || (2 <= r && r <= 4 && 2 <= c && c <= 4)) { + this.modules[row + r][col + c] = true; + } else { + this.modules[row + r][col + c] = false; + } + } + } + }, + /** + * 创建二维码 + * @return {[type]} [description] + */ + createQrcode: function () { + var minLostPoint = 0; + var pattern = 0; + var bestModules = null; + for (var i = 0; i < 8; i++) { + this.makeImpl(i); + var lostPoint = QRUtil.getLostPoint(this); + if (i == 0 || minLostPoint > lostPoint) { + minLostPoint = lostPoint; + pattern = i; + bestModules = this.modules; + } + } + this.modules = bestModules; + this.setupTypeInfo(false, pattern); + if (this.typeNumber >= 7) { + this.setupTypeNumber(false); + } + }, + /** + * 设置定位图形 + * @return {[type]} [description] + */ + setupTimingPattern: function () { + for (var r = 8; r < this.moduleCount - 8; r++) { + if (this.modules[r][6] != null) { + continue; + } + this.modules[r][6] = (r % 2 == 0); + if (this.modules[6][r] != null) { + continue; + } + this.modules[6][r] = (r % 2 == 0); + } + }, + /** + * 设置矫正图形 + * @return {[type]} [description] + */ + setupPositionAdjustPattern: function () { + var pos = QRUtil.getPatternPosition(this.typeNumber); + for (var i = 0; i < pos.length; i++) { + for (var j = 0; j < pos.length; j++) { + var row = pos[i]; + var col = pos[j]; + if (this.modules[row][col] != null) { + continue; + } + for (var r = -2; r <= 2; r++) { + for (var c = -2; c <= 2; c++) { + if (r == -2 || r == 2 || c == -2 || c == 2 || (r == 0 && c == 0)) { + this.modules[row + r][col + c] = true; + } else { + this.modules[row + r][col + c] = false; + } + } + } + } + } + }, + /** + * 设置版本信息(7以上版本才有) + * @param {bool} test 是否处于判断最佳掩膜阶段 + * @return {[type]} [description] + */ + setupTypeNumber: function (test) { + var bits = QRUtil.getBCHTypeNumber(this.typeNumber); + for (var i = 0; i < 18; i++) { + var mod = (!test && ((bits >> i) & 1) == 1); + this.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = mod; + this.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod; + } + }, + /** + * 设置格式信息(纠错等级和掩膜版本) + * @param {bool} test + * @param {num} maskPattern 掩膜版本 + * @return {} + */ + setupTypeInfo: function (test, maskPattern) { + var data = (QRErrorCorrectLevel[this.errorCorrectLevel] << 3) | maskPattern; + var bits = QRUtil.getBCHTypeInfo(data); + // vertical + for (var i = 0; i < 15; i++) { + var mod = (!test && ((bits >> i) & 1) == 1); + if (i < 6) { + this.modules[i][8] = mod; + } else if (i < 8) { + this.modules[i + 1][8] = mod; + } else { + this.modules[this.moduleCount - 15 + i][8] = mod; + } + // horizontal + var mod = (!test && ((bits >> i) & 1) == 1); + if (i < 8) { + this.modules[8][this.moduleCount - i - 1] = mod; + } else if (i < 9) { + this.modules[8][15 - i - 1 + 1] = mod; + } else { + this.modules[8][15 - i - 1] = mod; + } + } + // fixed module + this.modules[this.moduleCount - 8][8] = (!test); + }, + /** + * 数据编码 + * @return {[type]} [description] + */ + createData: function () { + var buffer = new QRBitBuffer(); + var lengthBits = this.typeNumber > 9 ? 16 : 8; + buffer.put(4, 4); //添加模式 + buffer.put(this.utf8bytes.length, lengthBits); + for (var i = 0, l = this.utf8bytes.length; i < l; i++) { + buffer.put(this.utf8bytes[i], 8); + } + if (buffer.length + 4 <= this.totalDataCount * 8) { + buffer.put(0, 4); + } + // padding + while (buffer.length % 8 != 0) { + buffer.putBit(false); + } + // padding + while (true) { + if (buffer.length >= this.totalDataCount * 8) { + break; + } + buffer.put(QRCodeAlg.PAD0, 8); + if (buffer.length >= this.totalDataCount * 8) { + break; + } + buffer.put(QRCodeAlg.PAD1, 8); + } + return this.createBytes(buffer); + }, + /** + * 纠错码编码 + * @param {buffer} buffer 数据编码 + * @return {[type]} + */ + createBytes: function (buffer) { + var offset = 0; + var maxDcCount = 0; + var maxEcCount = 0; + var length = this.rsBlock.length / 3; + var rsBlocks = new Array(); + for (var i = 0; i < length; i++) { + var count = this.rsBlock[i * 3 + 0]; + var totalCount = this.rsBlock[i * 3 + 1]; + var dataCount = this.rsBlock[i * 3 + 2]; + for (var j = 0; j < count; j++) { + rsBlocks.push([dataCount, totalCount]); + } + } + var dcdata = new Array(rsBlocks.length); + var ecdata = new Array(rsBlocks.length); + for (var r = 0; r < rsBlocks.length; r++) { + var dcCount = rsBlocks[r][0]; + var ecCount = rsBlocks[r][1] - dcCount; + maxDcCount = Math.max(maxDcCount, dcCount); + maxEcCount = Math.max(maxEcCount, ecCount); + dcdata[r] = new Array(dcCount); + for (var i = 0; i < dcdata[r].length; i++) { + dcdata[r][i] = 0xff & buffer.buffer[i + offset]; + } + offset += dcCount; + var rsPoly = QRUtil.getErrorCorrectPolynomial(ecCount); + var rawPoly = new QRPolynomial(dcdata[r], rsPoly.getLength() - 1); + var modPoly = rawPoly.mod(rsPoly); + ecdata[r] = new Array(rsPoly.getLength() - 1); + for (var i = 0; i < ecdata[r].length; i++) { + var modIndex = i + modPoly.getLength() - ecdata[r].length; + ecdata[r][i] = (modIndex >= 0) ? modPoly.get(modIndex) : 0; + } + } + var data = new Array(this.totalDataCount); + var index = 0; + for (var i = 0; i < maxDcCount; i++) { + for (var r = 0; r < rsBlocks.length; r++) { + if (i < dcdata[r].length) { + data[index++] = dcdata[r][i]; + } + } + } + for (var i = 0; i < maxEcCount; i++) { + for (var r = 0; r < rsBlocks.length; r++) { + if (i < ecdata[r].length) { + data[index++] = ecdata[r][i]; + } + } + } + return data; + + }, + /** + * 布置模块,构建最终信息 + * @param {} data + * @param {} maskPattern + * @return {} + */ + mapData: function (data, maskPattern) { + var inc = -1; + var row = this.moduleCount - 1; + var bitIndex = 7; + var byteIndex = 0; + for (var col = this.moduleCount - 1; col > 0; col -= 2) { + if (col == 6) col--; + while (true) { + for (var c = 0; c < 2; c++) { + if (this.modules[row][col - c] == null) { + var dark = false; + if (byteIndex < data.length) { + dark = (((data[byteIndex] >>> bitIndex) & 1) == 1); + } + var mask = QRUtil.getMask(maskPattern, row, col - c); + if (mask) { + dark = !dark; + } + this.modules[row][col - c] = dark; + bitIndex--; + if (bitIndex == -1) { + byteIndex++; + bitIndex = 7; + } + } + } + row += inc; + if (row < 0 || this.moduleCount <= row) { + row -= inc; + inc = -inc; + break; + } + } + } + } + }; + /** + * 填充字段 + */ + QRCodeAlg.PAD0 = 0xEC; + QRCodeAlg.PAD1 = 0x11; + //--------------------------------------------------------------------- + // 纠错等级对应的编码 + //--------------------------------------------------------------------- + var QRErrorCorrectLevel = [1, 0, 3, 2]; + //--------------------------------------------------------------------- + // 掩膜版本 + //--------------------------------------------------------------------- + var QRMaskPattern = { + PATTERN000: 0, + PATTERN001: 1, + PATTERN010: 2, + PATTERN011: 3, + PATTERN100: 4, + PATTERN101: 5, + PATTERN110: 6, + PATTERN111: 7 + }; + //--------------------------------------------------------------------- + // 工具类 + //--------------------------------------------------------------------- + var QRUtil = { + /* + 每个版本矫正图形的位置 + */ + PATTERN_POSITION_TABLE: [ + [], + [6, 18], + [6, 22], + [6, 26], + [6, 30], + [6, 34], + [6, 22, 38], + [6, 24, 42], + [6, 26, 46], + [6, 28, 50], + [6, 30, 54], + [6, 32, 58], + [6, 34, 62], + [6, 26, 46, 66], + [6, 26, 48, 70], + [6, 26, 50, 74], + [6, 30, 54, 78], + [6, 30, 56, 82], + [6, 30, 58, 86], + [6, 34, 62, 90], + [6, 28, 50, 72, 94], + [6, 26, 50, 74, 98], + [6, 30, 54, 78, 102], + [6, 28, 54, 80, 106], + [6, 32, 58, 84, 110], + [6, 30, 58, 86, 114], + [6, 34, 62, 90, 118], + [6, 26, 50, 74, 98, 122], + [6, 30, 54, 78, 102, 126], + [6, 26, 52, 78, 104, 130], + [6, 30, 56, 82, 108, 134], + [6, 34, 60, 86, 112, 138], + [6, 30, 58, 86, 114, 142], + [6, 34, 62, 90, 118, 146], + [6, 30, 54, 78, 102, 126, 150], + [6, 24, 50, 76, 102, 128, 154], + [6, 28, 54, 80, 106, 132, 158], + [6, 32, 58, 84, 110, 136, 162], + [6, 26, 54, 82, 110, 138, 166], + [6, 30, 58, 86, 114, 142, 170] + ], + G15: (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0), + G18: (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0), + G15_MASK: (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1), + /* + BCH编码格式信息 + */ + getBCHTypeInfo: function (data) { + var d = data << 10; + while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) { + d ^= (QRUtil.G15 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15))); + } + return ((data << 10) | d) ^ QRUtil.G15_MASK; + }, + /* + BCH编码版本信息 + */ + getBCHTypeNumber: function (data) { + var d = data << 12; + while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) { + d ^= (QRUtil.G18 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18))); + } + return (data << 12) | d; + }, + /* + 获取BCH位信息 + */ + getBCHDigit: function (data) { + var digit = 0; + while (data != 0) { + digit++; + data >>>= 1; + } + return digit; + }, + /* + 获取版本对应的矫正图形位置 + */ + getPatternPosition: function (typeNumber) { + return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1]; + }, + /* + 掩膜算法 + */ + getMask: function (maskPattern, i, j) { + switch (maskPattern) { + case QRMaskPattern.PATTERN000: + return (i + j) % 2 == 0; + case QRMaskPattern.PATTERN001: + return i % 2 == 0; + case QRMaskPattern.PATTERN010: + return j % 3 == 0; + case QRMaskPattern.PATTERN011: + return (i + j) % 3 == 0; + case QRMaskPattern.PATTERN100: + return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 == 0; + case QRMaskPattern.PATTERN101: + return (i * j) % 2 + (i * j) % 3 == 0; + case QRMaskPattern.PATTERN110: + return ((i * j) % 2 + (i * j) % 3) % 2 == 0; + case QRMaskPattern.PATTERN111: + return ((i * j) % 3 + (i + j) % 2) % 2 == 0; + default: + throw new Error("bad maskPattern:" + maskPattern); + } + }, + /* + 获取RS的纠错多项式 + */ + getErrorCorrectPolynomial: function (errorCorrectLength) { + var a = new QRPolynomial([1], 0); + for (var i = 0; i < errorCorrectLength; i++) { + a = a.multiply(new QRPolynomial([1, QRMath.gexp(i)], 0)); + } + return a; + }, + /* + 获取评价 + */ + getLostPoint: function (qrCode) { + var moduleCount = qrCode.getModuleCount(), + lostPoint = 0, + darkCount = 0; + for (var row = 0; row < moduleCount; row++) { + var sameCount = 0; + var head = qrCode.modules[row][0]; + for (var col = 0; col < moduleCount; col++) { + var current = qrCode.modules[row][col]; + //level 3 评价 + if (col < moduleCount - 6) { + if (current && !qrCode.modules[row][col + 1] && qrCode.modules[row][col + 2] && qrCode.modules[row][col + 3] && qrCode.modules[row][col + 4] && !qrCode.modules[row][col + 5] && qrCode.modules[row][col + 6]) { + if (col < moduleCount - 10) { + if (qrCode.modules[row][col + 7] && qrCode.modules[row][col + 8] && qrCode.modules[row][col + 9] && qrCode.modules[row][col + 10]) { + lostPoint += 40; + } + } else if (col > 3) { + if (qrCode.modules[row][col - 1] && qrCode.modules[row][col - 2] && qrCode.modules[row][col - 3] && qrCode.modules[row][col - 4]) { + lostPoint += 40; + } + } + } + } + //level 2 评价 + if ((row < moduleCount - 1) && (col < moduleCount - 1)) { + var count = 0; + if (current) count++; + if (qrCode.modules[row + 1][col]) count++; + if (qrCode.modules[row][col + 1]) count++; + if (qrCode.modules[row + 1][col + 1]) count++; + if (count == 0 || count == 4) { + lostPoint += 3; + } + } + //level 1 评价 + if (head ^ current) { + sameCount++; + } else { + head = current; + if (sameCount >= 5) { + lostPoint += (3 + sameCount - 5); + } + sameCount = 1; + } + //level 4 评价 + if (current) { + darkCount++; + } + } + } + for (var col = 0; col < moduleCount; col++) { + var sameCount = 0; + var head = qrCode.modules[0][col]; + for (var row = 0; row < moduleCount; row++) { + var current = qrCode.modules[row][col]; + //level 3 评价 + if (row < moduleCount - 6) { + if (current && !qrCode.modules[row + 1][col] && qrCode.modules[row + 2][col] && qrCode.modules[row + 3][col] && qrCode.modules[row + 4][col] && !qrCode.modules[row + 5][col] && qrCode.modules[row + 6][col]) { + if (row < moduleCount - 10) { + if (qrCode.modules[row + 7][col] && qrCode.modules[row + 8][col] && qrCode.modules[row + 9][col] && qrCode.modules[row + 10][col]) { + lostPoint += 40; + } + } else if (row > 3) { + if (qrCode.modules[row - 1][col] && qrCode.modules[row - 2][col] && qrCode.modules[row - 3][col] && qrCode.modules[row - 4][col]) { + lostPoint += 40; + } + } + } + } + //level 1 评价 + if (head ^ current) { + sameCount++; + } else { + head = current; + if (sameCount >= 5) { + lostPoint += (3 + sameCount - 5); + } + sameCount = 1; + } + } + } + // LEVEL4 + var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5; + lostPoint += ratio * 10; + return lostPoint; + } + + }; + //--------------------------------------------------------------------- + // QRMath使用的数学工具 + //--------------------------------------------------------------------- + var QRMath = { + /* + 将n转化为a^m + */ + glog: function (n) { + if (n < 1) { + throw new Error("glog(" + n + ")"); + } + return QRMath.LOG_TABLE[n]; + }, + /* + 将a^m转化为n + */ + gexp: function (n) { + while (n < 0) { + n += 255; + } + while (n >= 256) { + n -= 255; + } + return QRMath.EXP_TABLE[n]; + }, + EXP_TABLE: new Array(256), + LOG_TABLE: new Array(256) + + }; + for (var i = 0; i < 8; i++) { + QRMath.EXP_TABLE[i] = 1 << i; + } + for (var i = 8; i < 256; i++) { + QRMath.EXP_TABLE[i] = QRMath.EXP_TABLE[i - 4] ^ QRMath.EXP_TABLE[i - 5] ^ QRMath.EXP_TABLE[i - 6] ^ QRMath.EXP_TABLE[i - 8]; + } + for (var i = 0; i < 255; i++) { + QRMath.LOG_TABLE[QRMath.EXP_TABLE[i]] = i; + } + //--------------------------------------------------------------------- + // QRPolynomial 多项式 + //--------------------------------------------------------------------- + /** + * 多项式类 + * @param {Array} num 系数 + * @param {num} shift a^shift + */ + function QRPolynomial(num, shift) { + if (num.length == undefined) { + throw new Error(num.length + "/" + shift); + } + var offset = 0; + while (offset < num.length && num[offset] == 0) { + offset++; + } + this.num = new Array(num.length - offset + shift); + for (var i = 0; i < num.length - offset; i++) { + this.num[i] = num[i + offset]; + } + } + QRPolynomial.prototype = { + get: function (index) { + return this.num[index]; + }, + getLength: function () { + return this.num.length; + }, + /** + * 多项式乘法 + * @param {QRPolynomial} e 被乘多项式 + * @return {[type]} [description] + */ + multiply: function (e) { + var num = new Array(this.getLength() + e.getLength() - 1); + for (var i = 0; i < this.getLength(); i++) { + for (var j = 0; j < e.getLength(); j++) { + num[i + j] ^= QRMath.gexp(QRMath.glog(this.get(i)) + QRMath.glog(e.get(j))); + } + } + return new QRPolynomial(num, 0); + }, + /** + * 多项式模运算 + * @param {QRPolynomial} e 模多项式 + * @return {} + */ + mod: function (e) { + var tl = this.getLength(), + el = e.getLength(); + if (tl - el < 0) { + return this; + } + var num = new Array(tl); + for (var i = 0; i < tl; i++) { + num[i] = this.get(i); + } + while (num.length >= el) { + var ratio = QRMath.glog(num[0]) - QRMath.glog(e.get(0)); + + for (var i = 0; i < e.getLength(); i++) { + num[i] ^= QRMath.gexp(QRMath.glog(e.get(i)) + ratio); + } + while (num[0] == 0) { + num.shift(); + } + } + return new QRPolynomial(num, 0); + } + }; + + //--------------------------------------------------------------------- + // RS_BLOCK_TABLE + //--------------------------------------------------------------------- + /* + 二维码各个版本信息[块数, 每块中的数据块数, 每块中的信息块数] + */ + var RS_BLOCK_TABLE = [ + // L + // M + // Q + // H + // 1 + [1, 26, 19], + [1, 26, 16], + [1, 26, 13], + [1, 26, 9], + + // 2 + [1, 44, 34], + [1, 44, 28], + [1, 44, 22], + [1, 44, 16], + + // 3 + [1, 70, 55], + [1, 70, 44], + [2, 35, 17], + [2, 35, 13], + + // 4 + [1, 100, 80], + [2, 50, 32], + [2, 50, 24], + [4, 25, 9], + + // 5 + [1, 134, 108], + [2, 67, 43], + [2, 33, 15, 2, 34, 16], + [2, 33, 11, 2, 34, 12], + + // 6 + [2, 86, 68], + [4, 43, 27], + [4, 43, 19], + [4, 43, 15], + + // 7 + [2, 98, 78], + [4, 49, 31], + [2, 32, 14, 4, 33, 15], + [4, 39, 13, 1, 40, 14], + + // 8 + [2, 121, 97], + [2, 60, 38, 2, 61, 39], + [4, 40, 18, 2, 41, 19], + [4, 40, 14, 2, 41, 15], + + // 9 + [2, 146, 116], + [3, 58, 36, 2, 59, 37], + [4, 36, 16, 4, 37, 17], + [4, 36, 12, 4, 37, 13], + + // 10 + [2, 86, 68, 2, 87, 69], + [4, 69, 43, 1, 70, 44], + [6, 43, 19, 2, 44, 20], + [6, 43, 15, 2, 44, 16], + + // 11 + [4, 101, 81], + [1, 80, 50, 4, 81, 51], + [4, 50, 22, 4, 51, 23], + [3, 36, 12, 8, 37, 13], + + // 12 + [2, 116, 92, 2, 117, 93], + [6, 58, 36, 2, 59, 37], + [4, 46, 20, 6, 47, 21], + [7, 42, 14, 4, 43, 15], + + // 13 + [4, 133, 107], + [8, 59, 37, 1, 60, 38], + [8, 44, 20, 4, 45, 21], + [12, 33, 11, 4, 34, 12], + + // 14 + [3, 145, 115, 1, 146, 116], + [4, 64, 40, 5, 65, 41], + [11, 36, 16, 5, 37, 17], + [11, 36, 12, 5, 37, 13], + + // 15 + [5, 109, 87, 1, 110, 88], + [5, 65, 41, 5, 66, 42], + [5, 54, 24, 7, 55, 25], + [11, 36, 12], + + // 16 + [5, 122, 98, 1, 123, 99], + [7, 73, 45, 3, 74, 46], + [15, 43, 19, 2, 44, 20], + [3, 45, 15, 13, 46, 16], + + // 17 + [1, 135, 107, 5, 136, 108], + [10, 74, 46, 1, 75, 47], + [1, 50, 22, 15, 51, 23], + [2, 42, 14, 17, 43, 15], + + // 18 + [5, 150, 120, 1, 151, 121], + [9, 69, 43, 4, 70, 44], + [17, 50, 22, 1, 51, 23], + [2, 42, 14, 19, 43, 15], + + // 19 + [3, 141, 113, 4, 142, 114], + [3, 70, 44, 11, 71, 45], + [17, 47, 21, 4, 48, 22], + [9, 39, 13, 16, 40, 14], + + // 20 + [3, 135, 107, 5, 136, 108], + [3, 67, 41, 13, 68, 42], + [15, 54, 24, 5, 55, 25], + [15, 43, 15, 10, 44, 16], + + // 21 + [4, 144, 116, 4, 145, 117], + [17, 68, 42], + [17, 50, 22, 6, 51, 23], + [19, 46, 16, 6, 47, 17], + + // 22 + [2, 139, 111, 7, 140, 112], + [17, 74, 46], + [7, 54, 24, 16, 55, 25], + [34, 37, 13], + + // 23 + [4, 151, 121, 5, 152, 122], + [4, 75, 47, 14, 76, 48], + [11, 54, 24, 14, 55, 25], + [16, 45, 15, 14, 46, 16], + + // 24 + [6, 147, 117, 4, 148, 118], + [6, 73, 45, 14, 74, 46], + [11, 54, 24, 16, 55, 25], + [30, 46, 16, 2, 47, 17], + + // 25 + [8, 132, 106, 4, 133, 107], + [8, 75, 47, 13, 76, 48], + [7, 54, 24, 22, 55, 25], + [22, 45, 15, 13, 46, 16], + + // 26 + [10, 142, 114, 2, 143, 115], + [19, 74, 46, 4, 75, 47], + [28, 50, 22, 6, 51, 23], + [33, 46, 16, 4, 47, 17], + + // 27 + [8, 152, 122, 4, 153, 123], + [22, 73, 45, 3, 74, 46], + [8, 53, 23, 26, 54, 24], + [12, 45, 15, 28, 46, 16], + + // 28 + [3, 147, 117, 10, 148, 118], + [3, 73, 45, 23, 74, 46], + [4, 54, 24, 31, 55, 25], + [11, 45, 15, 31, 46, 16], + + // 29 + [7, 146, 116, 7, 147, 117], + [21, 73, 45, 7, 74, 46], + [1, 53, 23, 37, 54, 24], + [19, 45, 15, 26, 46, 16], + + // 30 + [5, 145, 115, 10, 146, 116], + [19, 75, 47, 10, 76, 48], + [15, 54, 24, 25, 55, 25], + [23, 45, 15, 25, 46, 16], + + // 31 + [13, 145, 115, 3, 146, 116], + [2, 74, 46, 29, 75, 47], + [42, 54, 24, 1, 55, 25], + [23, 45, 15, 28, 46, 16], + + // 32 + [17, 145, 115], + [10, 74, 46, 23, 75, 47], + [10, 54, 24, 35, 55, 25], + [19, 45, 15, 35, 46, 16], + + // 33 + [17, 145, 115, 1, 146, 116], + [14, 74, 46, 21, 75, 47], + [29, 54, 24, 19, 55, 25], + [11, 45, 15, 46, 46, 16], + + // 34 + [13, 145, 115, 6, 146, 116], + [14, 74, 46, 23, 75, 47], + [44, 54, 24, 7, 55, 25], + [59, 46, 16, 1, 47, 17], + + // 35 + [12, 151, 121, 7, 152, 122], + [12, 75, 47, 26, 76, 48], + [39, 54, 24, 14, 55, 25], + [22, 45, 15, 41, 46, 16], + + // 36 + [6, 151, 121, 14, 152, 122], + [6, 75, 47, 34, 76, 48], + [46, 54, 24, 10, 55, 25], + [2, 45, 15, 64, 46, 16], + + // 37 + [17, 152, 122, 4, 153, 123], + [29, 74, 46, 14, 75, 47], + [49, 54, 24, 10, 55, 25], + [24, 45, 15, 46, 46, 16], + + // 38 + [4, 152, 122, 18, 153, 123], + [13, 74, 46, 32, 75, 47], + [48, 54, 24, 14, 55, 25], + [42, 45, 15, 32, 46, 16], + + // 39 + [20, 147, 117, 4, 148, 118], + [40, 75, 47, 7, 76, 48], + [43, 54, 24, 22, 55, 25], + [10, 45, 15, 67, 46, 16], + + // 40 + [19, 148, 118, 6, 149, 119], + [18, 75, 47, 31, 76, 48], + [34, 54, 24, 34, 55, 25], + [20, 45, 15, 61, 46, 16] + ]; + + /** + * 根据数据获取对应版本 + * @return {[type]} [description] + */ + QRCodeAlg.prototype.getRightType = function () { + for (var typeNumber = 1; typeNumber < 41; typeNumber++) { + var rsBlock = RS_BLOCK_TABLE[(typeNumber - 1) * 4 + this.errorCorrectLevel]; + if (rsBlock == undefined) { + throw new Error("bad rs block @ typeNumber:" + typeNumber + "/errorCorrectLevel:" + this.errorCorrectLevel); + } + var length = rsBlock.length / 3; + var totalDataCount = 0; + for (var i = 0; i < length; i++) { + var count = rsBlock[i * 3 + 0]; + var dataCount = rsBlock[i * 3 + 2]; + totalDataCount += dataCount * count; + } + var lengthBytes = typeNumber > 9 ? 2 : 1; + if (this.utf8bytes.length + lengthBytes < totalDataCount || typeNumber == 40) { + this.typeNumber = typeNumber; + this.rsBlock = rsBlock; + this.totalDataCount = totalDataCount; + break; + } + } + }; + + //--------------------------------------------------------------------- + // QRBitBuffer + //--------------------------------------------------------------------- + function QRBitBuffer() { + this.buffer = new Array(); + this.length = 0; + } + QRBitBuffer.prototype = { + get: function (index) { + var bufIndex = Math.floor(index / 8); + return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1); + }, + put: function (num, length) { + for (var i = 0; i < length; i++) { + this.putBit(((num >>> (length - i - 1)) & 1)); + } + }, + putBit: function (bit) { + var bufIndex = Math.floor(this.length / 8); + if (this.buffer.length <= bufIndex) { + this.buffer.push(0); + } + if (bit) { + this.buffer[bufIndex] |= (0x80 >>> (this.length % 8)); + } + this.length++; + } + }; + + + + // xzedit + let qrcodeAlgObjCache = []; + /** + * 二维码构造函数,主要用于绘制 + * @param {参数列表} opt 传递参数 + * @return {} + */ + QRCode = function (opt) { + //设置默认参数 + this.options = { + text: '', + size: 256, + correctLevel: 3, + background: '#ffffff', + foreground: '#000000', + pdground: '#000000', + image: '', + imageSize: 30, + canvasId: opt.canvasId, + context: opt.context, + usingComponents: opt.usingComponents, + showLoading: opt.showLoading, + loadingText: opt.loadingText, + }; + if (typeof opt === 'string') { // 只编码ASCII字符串 + opt = { + text: opt + }; + } + if (opt) { + for (var i in opt) { + this.options[i] = opt[i]; + } + } + //使用QRCodeAlg创建二维码结构 + var qrCodeAlg = null; + for (var i = 0, l = qrcodeAlgObjCache.length; i < l; i++) { + if (qrcodeAlgObjCache[i].text == this.options.text && qrcodeAlgObjCache[i].text.correctLevel == this.options.correctLevel) { + qrCodeAlg = qrcodeAlgObjCache[i].obj; + break; + } + } + if (i == l) { + qrCodeAlg = new QRCodeAlg(this.options.text, this.options.correctLevel); + qrcodeAlgObjCache.push({ + text: this.options.text, + correctLevel: this.options.correctLevel, + obj: qrCodeAlg + }); + } + /** + * 计算矩阵点的前景色 + * @param {Obj} config + * @param {Number} config.row 点x坐标 + * @param {Number} config.col 点y坐标 + * @param {Number} config.count 矩阵大小 + * @param {Number} config.options 组件的options + * @return {String} + */ + let getForeGround = function (config) { + var options = config.options; + if (options.pdground && ( + (config.row > 1 && config.row < 5 && config.col > 1 && config.col < 5) || + (config.row > (config.count - 6) && config.row < (config.count - 2) && config.col > 1 && config.col < 5) || + (config.row > 1 && config.row < 5 && config.col > (config.count - 6) && config.col < (config.count - 2)) + )) { + return options.pdground; + } + return options.foreground; + } + // 创建canvas + let createCanvas = function (options) { + if (options.showLoading) { + uni.showLoading({ + title: options.loadingText, + mask: true + }); + } + var ctx = uni.createCanvasContext(options.canvasId, options.context); + var count = qrCodeAlg.getModuleCount(); + var ratioSize = options.size; + var ratioImgSize = options.imageSize; + //计算每个点的长宽 + var tileW = (ratioSize / count).toPrecision(4); + var tileH = (ratioSize / count).toPrecision(4); + //绘制 + for (var row = 0; row < count; row++) { + for (var col = 0; col < count; col++) { + var w = (Math.ceil((col + 1) * tileW) - Math.floor(col * tileW)); + var h = (Math.ceil((row + 1) * tileW) - Math.floor(row * tileW)); + var foreground = getForeGround({ + row: row, + col: col, + count: count, + options: options + }); + ctx.setFillStyle(qrCodeAlg.modules[row][col] ? foreground : options.background); + ctx.fillRect(Math.round(col * tileW), Math.round(row * tileH), w, h); + } + } + if (options.image) { + var x = Number(((ratioSize - ratioImgSize) / 2).toFixed(2)); + var y = Number(((ratioSize - ratioImgSize) / 2).toFixed(2)); + drawRoundedRect(ctx, x, y, ratioImgSize, ratioImgSize, 2, 6, true, true) + ctx.drawImage(options.image, x, y, ratioImgSize, ratioImgSize); + // 画圆角矩形 + function drawRoundedRect(ctxi, x, y, width, height, r, lineWidth, fill, stroke) { + ctxi.setLineWidth(lineWidth); + ctxi.setFillStyle(options.background); + ctxi.setStrokeStyle(options.background); + ctxi.beginPath(); // draw top and top right corner + ctxi.moveTo(x + r, y); + ctxi.arcTo(x + width, y, x + width, y + r, r); // draw right side and bottom right corner + ctxi.arcTo(x + width, y + height, x + width - r, y + height, r); // draw bottom and bottom left corner + ctxi.arcTo(x, y + height, x, y + height - r, r); // draw left and top left corner + ctxi.arcTo(x, y, x + r, y, r); + ctxi.closePath(); + if (fill) { + ctxi.fill(); + } + if (stroke) { + ctxi.stroke(); + } + } + } + setTimeout(() => { + ctx.draw(true, () => { + // 保存到临时区域 + setTimeout(() => { + uni.canvasToTempFilePath({ + width: options.width, + height: options.height, + destWidth: options.width, + destHeight: options.height, + canvasId: options.canvasId, + quality: Number(1), + success: function (res) { + if (options.cbResult) { + options.cbResult(res.tempFilePath) + } + }, + fail: function (res) { + if (options.cbResult) { + options.cbResult(res) + } + }, + complete: function () { + if (options.showLoading){ + uni.hideLoading(); + } + }, + }, options.context); + }, options.text.length + 100); + }); + }, options.usingComponents ? 0 : 150); + } + createCanvas(this.options); + // 空判定 + let empty = function (v) { + let tp = typeof v, + rt = false; + if (tp == "number" && String(v) == "") { + rt = true + } else if (tp == "undefined") { + rt = true + } else if (tp == "object") { + if (JSON.stringify(v) == "{}" || JSON.stringify(v) == "[]" || v == null) rt = true + } else if (tp == "string") { + if (v == "" || v == "undefined" || v == "null" || v == "{}" || v == "[]") rt = true + } else if (tp == "function") { + rt = false + } + return rt + } + }; + QRCode.prototype.clear = function (fn) { + var ctx = uni.createCanvasContext(this.options.canvasId, this.options.context) + ctx.clearRect(0, 0, this.options.size, this.options.size) + ctx.draw(false, () => { + if (fn) { + fn() + } + }) + }; +})() + +export default QRCode \ No newline at end of file diff --git a/components/tki-qrcode/tki-qrcode.vue b/components/tki-qrcode/tki-qrcode.vue new file mode 100644 index 0000000..f1bb6de --- /dev/null +++ b/components/tki-qrcode/tki-qrcode.vue @@ -0,0 +1,210 @@ + + + + diff --git a/components/trigonometry/trigonometry.vue b/components/trigonometry/trigonometry.vue new file mode 100644 index 0000000..5242112 --- /dev/null +++ b/components/trigonometry/trigonometry.vue @@ -0,0 +1,55 @@ + + + + \ No newline at end of file diff --git a/components/uploader/uploader.vue b/components/uploader/uploader.vue new file mode 100644 index 0000000..3788427 --- /dev/null +++ b/components/uploader/uploader.vue @@ -0,0 +1,142 @@ + + + + + diff --git a/components/uview-ui/LICENSE b/components/uview-ui/LICENSE new file mode 100644 index 0000000..8e39ead --- /dev/null +++ b/components/uview-ui/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 www.uviewui.com + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/components/uview-ui/README.md b/components/uview-ui/README.md new file mode 100644 index 0000000..06d5676 --- /dev/null +++ b/components/uview-ui/README.md @@ -0,0 +1,106 @@ +

+ logo +

+

uView

+

多平台快速开发的UI框架

+ + +## 说明 + +uView UI,是[uni-app](https://uniapp.dcloud.io/)生态优秀的UI框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水 + +## 特性 + +- 兼容安卓,iOS,微信小程序,H5,QQ小程序,百度小程序,支付宝小程序,头条小程序 +- 60+精选组件,功能丰富,多端兼容,让您快速集成,开箱即用 +- 众多贴心的JS利器,让您飞镖在手,召之即来,百步穿杨 +- 众多的常用页面和布局,让您专注逻辑,事半功倍 +- 详尽的文档支持,现代化的演示效果 +- 按需引入,精简打包体积 + + +## 安装 + +```bash +# npm方式安装 +npm i uview-ui +``` + +## 快速上手 + +1. `main.js`引入uView库 +```js +// main.js +import uView from 'uview-ui'; +Vue.use(uView); +``` + +2. `App.vue`引入基础样式(注意style标签需声明scss属性支持) +```css +/* App.vue */ + +``` + +3. `uni.scss`引入全局scss变量文件 +```css +/* uni.scss */ +@import "uview-ui/theme.scss"; +``` + +4. `pages.json`配置easycom规则(按需引入) + +```js +// pages.json +{ + "easycom": { + // npm安装的方式不需要前面的"@/",下载安装的方式需要"@/" + // npm安装方式 + "^u-(.*)": "uview-ui/components/u-$1/u-$1.vue" + // 下载安装方式 + // "^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue" + }, + // 此为本身已有的内容 + "pages": [ + // ...... + ] +} +``` + +请通过[快速上手](https://uviewui.com/components/quickstart.html)了解更详细的内容 + +## 使用方法 +配置easycom规则后,自动按需引入,无需`import`组件,直接引用即可。 + +```html + +``` + +请通过[快速上手](https://uviewui.com/components/quickstart.html)了解更详细的内容 + +## 链接 + +- [官方文档](https://uviewui.com/) +- [更新日志](https://uviewui.com/components/changelog.html) +- [升级指南](https://uviewui.com/components/changelog.html) +- [关于我们](https://uviewui.com/cooperation/about.html) + +## 预览 + +您可以通过**微信**扫码,查看最佳的演示效果。 +
+
+ + + +## 版权信息 +uView遵循[MIT](https://en.wikipedia.org/wiki/MIT_License)开源协议,意味着您无需支付任何费用,也无需授权,即可将uView应用到您的产品中。 diff --git a/components/uview-ui/components/u-action-sheet/u-action-sheet.vue b/components/uview-ui/components/u-action-sheet/u-action-sheet.vue new file mode 100644 index 0000000..722b668 --- /dev/null +++ b/components/uview-ui/components/u-action-sheet/u-action-sheet.vue @@ -0,0 +1,190 @@ + + + + + diff --git a/components/uview-ui/components/u-alert-tips/u-alert-tips.vue b/components/uview-ui/components/u-alert-tips/u-alert-tips.vue new file mode 100644 index 0000000..e81fc37 --- /dev/null +++ b/components/uview-ui/components/u-alert-tips/u-alert-tips.vue @@ -0,0 +1,256 @@ + + + + + diff --git a/components/uview-ui/components/u-avatar-cropper/u-avatar-cropper.vue b/components/uview-ui/components/u-avatar-cropper/u-avatar-cropper.vue new file mode 100644 index 0000000..a48dd54 --- /dev/null +++ b/components/uview-ui/components/u-avatar-cropper/u-avatar-cropper.vue @@ -0,0 +1,290 @@ + + + + + diff --git a/components/uview-ui/components/u-avatar-cropper/weCropper.js b/components/uview-ui/components/u-avatar-cropper/weCropper.js new file mode 100644 index 0000000..df02483 --- /dev/null +++ b/components/uview-ui/components/u-avatar-cropper/weCropper.js @@ -0,0 +1,1265 @@ +/** + * we-cropper v1.3.9 + * (c) 2020 dlhandsome + * @license MIT + */ +(function(global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global.WeCropper = factory()); +}(this, (function() { + 'use strict'; + + var device = void 0; + var TOUCH_STATE = ['touchstarted', 'touchmoved', 'touchended']; + + function firstLetterUpper(str) { + return str.charAt(0).toUpperCase() + str.slice(1) + } + + function setTouchState(instance) { + var arg = [], + len = arguments.length - 1; + while (len-- > 0) arg[len] = arguments[len + 1]; + + TOUCH_STATE.forEach(function(key, i) { + if (arg[i] !== undefined) { + instance[key] = arg[i]; + } + }); + } + + function validator(instance, o) { + Object.defineProperties(instance, o); + } + + function getDevice() { + if (!device) { + device = uni.getSystemInfoSync(); + } + return device + } + + var tmp = {}; + + var ref = getDevice(); + var pixelRatio = ref.pixelRatio; + + var DEFAULT = { + id: { + default: 'cropper', + get: function get() { + return tmp.id + }, + set: function set(value) { + if (typeof(value) !== 'string') { + console.error(("id:" + value + " is invalid")); + } + tmp.id = value; + } + }, + width: { + default: 750, + get: function get() { + return tmp.width + }, + set: function set(value) { + if (typeof(value) !== 'number') { + console.error(("width:" + value + " is invalid")); + } + tmp.width = value; + } + }, + height: { + default: 750, + get: function get() { + return tmp.height + }, + set: function set(value) { + if (typeof(value) !== 'number') { + console.error(("height:" + value + " is invalid")); + } + tmp.height = value; + } + }, + pixelRatio: { + default: pixelRatio, + get: function get() { + return tmp.pixelRatio + }, + set: function set(value) { + if (typeof(value) !== 'number') { + console.error(("pixelRatio:" + value + " is invalid")); + } + tmp.pixelRatio = value; + } + }, + scale: { + default: 2.5, + get: function get() { + return tmp.scale + }, + set: function set(value) { + if (typeof(value) !== 'number') { + console.error(("scale:" + value + " is invalid")); + } + tmp.scale = value; + } + }, + zoom: { + default: 5, + get: function get() { + return tmp.zoom + }, + set: function set(value) { + if (typeof(value) !== 'number') { + console.error(("zoom:" + value + " is invalid")); + } else if (value < 0 || value > 10) { + console.error("zoom should be ranged in 0 ~ 10"); + } + tmp.zoom = value; + } + }, + src: { + default: '', + get: function get() { + return tmp.src + }, + set: function set(value) { + if (typeof(value) !== 'string') { + console.error(("src:" + value + " is invalid")); + } + tmp.src = value; + } + }, + cut: { + default: {}, + get: function get() { + return tmp.cut + }, + set: function set(value) { + if (typeof(value) !== 'object') { + console.error(("cut:" + value + " is invalid")); + } + tmp.cut = value; + } + }, + boundStyle: { + default: {}, + get: function get() { + return tmp.boundStyle + }, + set: function set(value) { + if (typeof(value) !== 'object') { + console.error(("boundStyle:" + value + " is invalid")); + } + tmp.boundStyle = value; + } + }, + onReady: { + default: null, + get: function get() { + return tmp.ready + }, + set: function set(value) { + tmp.ready = value; + } + }, + onBeforeImageLoad: { + default: null, + get: function get() { + return tmp.beforeImageLoad + }, + set: function set(value) { + tmp.beforeImageLoad = value; + } + }, + onImageLoad: { + default: null, + get: function get() { + return tmp.imageLoad + }, + set: function set(value) { + tmp.imageLoad = value; + } + }, + onBeforeDraw: { + default: null, + get: function get() { + return tmp.beforeDraw + }, + set: function set(value) { + tmp.beforeDraw = value; + } + } + }; + + var ref$1 = getDevice(); + var windowWidth = ref$1.windowWidth; + + function prepare() { + var self = this; + + // v1.4.0 版本中将不再自动绑定we-cropper实例 + self.attachPage = function() { + var pages = getCurrentPages(); + // 获取到当前page上下文 + var pageContext = pages[pages.length - 1]; + // 把this依附在Page上下文的wecropper属性上,便于在page钩子函数中访问 + Object.defineProperty(pageContext, 'wecropper', { + get: function get() { + console.warn( + 'Instance will not be automatically bound to the page after v1.4.0\n\n' + + 'Please use a custom instance name instead\n\n' + + 'Example: \n' + + 'this.mycropper = new WeCropper(options)\n\n' + + '// ...\n' + + 'this.mycropper.getCropperImage()' + ); + return self + }, + configurable: true + }); + }; + + self.createCtx = function() { + var id = self.id; + var targetId = self.targetId; + + if (id) { + self.ctx = self.ctx || uni.createCanvasContext(id); + self.targetCtx = self.targetCtx || uni.createCanvasContext(targetId); + } else { + console.error("constructor: create canvas context failed, 'id' must be valuable"); + } + }; + + self.deviceRadio = windowWidth / 750; + } + + var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== + 'undefined' ? self : {}; + + + + + + function createCommonjsModule(fn, module) { + return module = { + exports: {} + }, fn(module, module.exports), module.exports; + } + + var tools = createCommonjsModule(function(module, exports) { + /** + * String type check + */ + exports.isStr = function(v) { + return typeof v === 'string'; + }; + /** + * Number type check + */ + exports.isNum = function(v) { + return typeof v === 'number'; + }; + /** + * Array type check + */ + exports.isArr = Array.isArray; + /** + * undefined type check + */ + exports.isUndef = function(v) { + return v === undefined; + }; + + exports.isTrue = function(v) { + return v === true; + }; + + exports.isFalse = function(v) { + return v === false; + }; + /** + * Function type check + */ + exports.isFunc = function(v) { + return typeof v === 'function'; + }; + /** + * Quick object check - this is primarily used to tell + * Objects from primitive values when we know the value + * is a JSON-compliant type. + */ + exports.isObj = exports.isObject = function(obj) { + return obj !== null && typeof obj === 'object' + }; + + /** + * Strict object type check. Only returns true + * for plain JavaScript objects. + */ + var _toString = Object.prototype.toString; + exports.isPlainObject = function(obj) { + return _toString.call(obj) === '[object Object]' + }; + + /** + * Check whether the object has the property. + */ + var hasOwnProperty = Object.prototype.hasOwnProperty; + exports.hasOwn = function(obj, key) { + return hasOwnProperty.call(obj, key) + }; + + /** + * Perform no operation. + * Stubbing args to make Flow happy without leaving useless transpiled code + * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/) + */ + exports.noop = function(a, b, c) {}; + + /** + * Check if val is a valid array index. + */ + exports.isValidArrayIndex = function(val) { + var n = parseFloat(String(val)); + return n >= 0 && Math.floor(n) === n && isFinite(val) + }; + }); + + var tools_7 = tools.isFunc; + var tools_10 = tools.isPlainObject; + + var EVENT_TYPE = ['ready', 'beforeImageLoad', 'beforeDraw', 'imageLoad']; + + function observer() { + var self = this; + + self.on = function(event, fn) { + if (EVENT_TYPE.indexOf(event) > -1) { + if (tools_7(fn)) { + event === 'ready' ? + fn(self) : + self[("on" + (firstLetterUpper(event)))] = fn; + } + } else { + console.error(("event: " + event + " is invalid")); + } + return self + }; + } + + function wxPromise(fn) { + return function(obj) { + var args = [], + len = arguments.length - 1; + while (len-- > 0) args[len] = arguments[len + 1]; + + if (obj === void 0) obj = {}; + return new Promise(function(resolve, reject) { + obj.success = function(res) { + resolve(res); + }; + obj.fail = function(err) { + reject(err); + }; + fn.apply(void 0, [obj].concat(args)); + }) + } + } + + function draw(ctx, reserve) { + if (reserve === void 0) reserve = false; + + return new Promise(function(resolve) { + ctx.draw(reserve, resolve); + }) + } + + var getImageInfo = wxPromise(uni.getImageInfo); + + var canvasToTempFilePath = wxPromise(uni.canvasToTempFilePath); + + var base64 = createCommonjsModule(function(module, exports) { + /*! http://mths.be/base64 v0.1.0 by @mathias | MIT license */ + (function(root) { + + // Detect free variables `exports`. + var freeExports = 'object' == 'object' && exports; + + // Detect free variable `module`. + var freeModule = 'object' == 'object' && module && + module.exports == freeExports && module; + + // Detect free variable `global`, from Node.js or Browserified code, and use + // it as `root`. + var freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal; + if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) { + root = freeGlobal; + } + + /*--------------------------------------------------------------------------*/ + + var InvalidCharacterError = function(message) { + this.message = message; + }; + InvalidCharacterError.prototype = new Error; + InvalidCharacterError.prototype.name = 'InvalidCharacterError'; + + var error = function(message) { + // Note: the error messages used throughout this file match those used by + // the native `atob`/`btoa` implementation in Chromium. + throw new InvalidCharacterError(message); + }; + + var TABLE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + // http://whatwg.org/html/common-microsyntaxes.html#space-character + var REGEX_SPACE_CHARACTERS = /[\t\n\f\r ]/g; + + // `decode` is designed to be fully compatible with `atob` as described in the + // HTML Standard. http://whatwg.org/html/webappapis.html#dom-windowbase64-atob + // The optimized base64-decoding algorithm used is based on @atk’s excellent + // implementation. https://gist.github.com/atk/1020396 + var decode = function(input) { + input = String(input) + .replace(REGEX_SPACE_CHARACTERS, ''); + var length = input.length; + if (length % 4 == 0) { + input = input.replace(/==?$/, ''); + length = input.length; + } + if ( + length % 4 == 1 || + // http://whatwg.org/C#alphanumeric-ascii-characters + /[^+a-zA-Z0-9/]/.test(input) + ) { + error( + 'Invalid character: the string to be decoded is not correctly encoded.' + ); + } + var bitCounter = 0; + var bitStorage; + var buffer; + var output = ''; + var position = -1; + while (++position < length) { + buffer = TABLE.indexOf(input.charAt(position)); + bitStorage = bitCounter % 4 ? bitStorage * 64 + buffer : buffer; + // Unless this is the first of a group of 4 characters… + if (bitCounter++ % 4) { + // …convert the first 8 bits to a single ASCII character. + output += String.fromCharCode( + 0xFF & bitStorage >> (-2 * bitCounter & 6) + ); + } + } + return output; + }; + + // `encode` is designed to be fully compatible with `btoa` as described in the + // HTML Standard: http://whatwg.org/html/webappapis.html#dom-windowbase64-btoa + var encode = function(input) { + input = String(input); + if (/[^\0-\xFF]/.test(input)) { + // Note: no need to special-case astral symbols here, as surrogates are + // matched, and the input is supposed to only contain ASCII anyway. + error( + 'The string to be encoded contains characters outside of the ' + + 'Latin1 range.' + ); + } + var padding = input.length % 3; + var output = ''; + var position = -1; + var a; + var b; + var c; + var buffer; + // Make sure any padding is handled outside of the loop. + var length = input.length - padding; + + while (++position < length) { + // Read three bytes, i.e. 24 bits. + a = input.charCodeAt(position) << 16; + b = input.charCodeAt(++position) << 8; + c = input.charCodeAt(++position); + buffer = a + b + c; + // Turn the 24 bits into four chunks of 6 bits each, and append the + // matching character for each of them to the output. + output += ( + TABLE.charAt(buffer >> 18 & 0x3F) + + TABLE.charAt(buffer >> 12 & 0x3F) + + TABLE.charAt(buffer >> 6 & 0x3F) + + TABLE.charAt(buffer & 0x3F) + ); + } + + if (padding == 2) { + a = input.charCodeAt(position) << 8; + b = input.charCodeAt(++position); + buffer = a + b; + output += ( + TABLE.charAt(buffer >> 10) + + TABLE.charAt((buffer >> 4) & 0x3F) + + TABLE.charAt((buffer << 2) & 0x3F) + + '=' + ); + } else if (padding == 1) { + buffer = input.charCodeAt(position); + output += ( + TABLE.charAt(buffer >> 2) + + TABLE.charAt((buffer << 4) & 0x3F) + + '==' + ); + } + + return output; + }; + + var base64 = { + 'encode': encode, + 'decode': decode, + 'version': '0.1.0' + }; + + // Some AMD build optimizers, like r.js, check for specific condition patterns + // like the following: + if ( + typeof undefined == 'function' && + typeof undefined.amd == 'object' && + undefined.amd + ) { + undefined(function() { + return base64; + }); + } else if (freeExports && !freeExports.nodeType) { + if (freeModule) { // in Node.js or RingoJS v0.8.0+ + freeModule.exports = base64; + } else { // in Narwhal or RingoJS v0.7.0- + for (var key in base64) { + base64.hasOwnProperty(key) && (freeExports[key] = base64[key]); + } + } + } else { // in Rhino or a web browser + root.base64 = base64; + } + + }(commonjsGlobal)); + }); + + function makeURI(strData, type) { + return 'data:' + type + ';base64,' + strData + } + + function fixType(type) { + type = type.toLowerCase().replace(/jpg/i, 'jpeg'); + var r = type.match(/png|jpeg|bmp|gif/)[0]; + return 'image/' + r + } + + function encodeData(data) { + var str = ''; + if (typeof data === 'string') { + str = data; + } else { + for (var i = 0; i < data.length; i++) { + str += String.fromCharCode(data[i]); + } + } + return base64.encode(str) + } + + /** + * 获取图像区域隐含的像素数据 + * @param canvasId canvas标识 + * @param x 将要被提取的图像数据矩形区域的左上角 x 坐标 + * @param y 将要被提取的图像数据矩形区域的左上角 y 坐标 + * @param width 将要被提取的图像数据矩形区域的宽度 + * @param height 将要被提取的图像数据矩形区域的高度 + * @param done 完成回调 + */ + function getImageData(canvasId, x, y, width, height, done) { + uni.canvasGetImageData({ + canvasId: canvasId, + x: x, + y: y, + width: width, + height: height, + success: function success(res) { + done(res, null); + }, + fail: function fail(res) { + done(null, res); + } + }); + } + + /** + * 生成bmp格式图片 + * 按照规则生成图片响应头和响应体 + * @param oData 用来描述 canvas 区域隐含的像素数据 { data, width, height } = oData + * @returns {*} base64字符串 + */ + function genBitmapImage(oData) { + // + // BITMAPFILEHEADER: http://msdn.microsoft.com/en-us/library/windows/desktop/dd183374(v=vs.85).aspx + // BITMAPINFOHEADER: http://msdn.microsoft.com/en-us/library/dd183376.aspx + // + var biWidth = oData.width; + var biHeight = oData.height; + var biSizeImage = biWidth * biHeight * 3; + var bfSize = biSizeImage + 54; // total header size = 54 bytes + + // + // typedef struct tagBITMAPFILEHEADER { + // WORD bfType; + // DWORD bfSize; + // WORD bfReserved1; + // WORD bfReserved2; + // DWORD bfOffBits; + // } BITMAPFILEHEADER; + // + var BITMAPFILEHEADER = [ + // WORD bfType -- The file type signature; must be "BM" + 0x42, 0x4D, + // DWORD bfSize -- The size, in bytes, of the bitmap file + bfSize & 0xff, bfSize >> 8 & 0xff, bfSize >> 16 & 0xff, bfSize >> 24 & 0xff, + // WORD bfReserved1 -- Reserved; must be zero + 0, 0, + // WORD bfReserved2 -- Reserved; must be zero + 0, 0, + // DWORD bfOffBits -- The offset, in bytes, from the beginning of the BITMAPFILEHEADER structure to the bitmap bits. + 54, 0, 0, 0 + ]; + + // + // typedef struct tagBITMAPINFOHEADER { + // DWORD biSize; + // LONG biWidth; + // LONG biHeight; + // WORD biPlanes; + // WORD biBitCount; + // DWORD biCompression; + // DWORD biSizeImage; + // LONG biXPelsPerMeter; + // LONG biYPelsPerMeter; + // DWORD biClrUsed; + // DWORD biClrImportant; + // } BITMAPINFOHEADER, *PBITMAPINFOHEADER; + // + var BITMAPINFOHEADER = [ + // DWORD biSize -- The number of bytes required by the structure + 40, 0, 0, 0, + // LONG biWidth -- The width of the bitmap, in pixels + biWidth & 0xff, biWidth >> 8 & 0xff, biWidth >> 16 & 0xff, biWidth >> 24 & 0xff, + // LONG biHeight -- The height of the bitmap, in pixels + biHeight & 0xff, biHeight >> 8 & 0xff, biHeight >> 16 & 0xff, biHeight >> 24 & 0xff, + // WORD biPlanes -- The number of planes for the target device. This value must be set to 1 + 1, 0, + // WORD biBitCount -- The number of bits-per-pixel, 24 bits-per-pixel -- the bitmap + // has a maximum of 2^24 colors (16777216, Truecolor) + 24, 0, + // DWORD biCompression -- The type of compression, BI_RGB (code 0) -- uncompressed + 0, 0, 0, 0, + // DWORD biSizeImage -- The size, in bytes, of the image. This may be set to zero for BI_RGB bitmaps + biSizeImage & 0xff, biSizeImage >> 8 & 0xff, biSizeImage >> 16 & 0xff, biSizeImage >> 24 & 0xff, + // LONG biXPelsPerMeter, unused + 0, 0, 0, 0, + // LONG biYPelsPerMeter, unused + 0, 0, 0, 0, + // DWORD biClrUsed, the number of color indexes of palette, unused + 0, 0, 0, 0, + // DWORD biClrImportant, unused + 0, 0, 0, 0 + ]; + + var iPadding = (4 - ((biWidth * 3) % 4)) % 4; + + var aImgData = oData.data; + + var strPixelData = ''; + var biWidth4 = biWidth << 2; + var y = biHeight; + var fromCharCode = String.fromCharCode; + + do { + var iOffsetY = biWidth4 * (y - 1); + var strPixelRow = ''; + for (var x = 0; x < biWidth; x++) { + var iOffsetX = x << 2; + strPixelRow += fromCharCode(aImgData[iOffsetY + iOffsetX + 2]) + + fromCharCode(aImgData[iOffsetY + iOffsetX + 1]) + + fromCharCode(aImgData[iOffsetY + iOffsetX]); + } + + for (var c = 0; c < iPadding; c++) { + strPixelRow += String.fromCharCode(0); + } + + strPixelData += strPixelRow; + } while (--y) + + var strEncoded = encodeData(BITMAPFILEHEADER.concat(BITMAPINFOHEADER)) + encodeData(strPixelData); + + return strEncoded + } + + /** + * 转换为图片base64 + * @param canvasId canvas标识 + * @param x 将要被提取的图像数据矩形区域的左上角 x 坐标 + * @param y 将要被提取的图像数据矩形区域的左上角 y 坐标 + * @param width 将要被提取的图像数据矩形区域的宽度 + * @param height 将要被提取的图像数据矩形区域的高度 + * @param type 转换图片类型 + * @param done 完成回调 + */ + function convertToImage(canvasId, x, y, width, height, type, done) { + if (done === void 0) done = function() {}; + + if (type === undefined) { + type = 'png'; + } + type = fixType(type); + if (/bmp/.test(type)) { + getImageData(canvasId, x, y, width, height, function(data, err) { + var strData = genBitmapImage(data); + tools_7(done) && done(makeURI(strData, 'image/' + type), err); + }); + } else { + console.error('暂不支持生成\'' + type + '\'类型的base64图片'); + } + } + + var CanvasToBase64 = { + convertToImage: convertToImage, + // convertToPNG: function (width, height, done) { + // return convertToImage(width, height, 'png', done) + // }, + // convertToJPEG: function (width, height, done) { + // return convertToImage(width, height, 'jpeg', done) + // }, + // convertToGIF: function (width, height, done) { + // return convertToImage(width, height, 'gif', done) + // }, + convertToBMP: function(ref, done) { + if (ref === void 0) ref = {}; + var canvasId = ref.canvasId; + var x = ref.x; + var y = ref.y; + var width = ref.width; + var height = ref.height; + if (done === void 0) done = function() {}; + + return convertToImage(canvasId, x, y, width, height, 'bmp', done) + } + }; + + function methods() { + var self = this; + + var boundWidth = self.width; // 裁剪框默认宽度,即整个画布宽度 + var boundHeight = self.height; // 裁剪框默认高度,即整个画布高度 + + var id = self.id; + var targetId = self.targetId; + var pixelRatio = self.pixelRatio; + + var ref = self.cut; + var x = ref.x; + if (x === void 0) x = 0; + var y = ref.y; + if (y === void 0) y = 0; + var width = ref.width; + if (width === void 0) width = boundWidth; + var height = ref.height; + if (height === void 0) height = boundHeight; + + self.updateCanvas = function(done) { + if (self.croperTarget) { + // 画布绘制图片 + self.ctx.drawImage( + self.croperTarget, + self.imgLeft, + self.imgTop, + self.scaleWidth, + self.scaleHeight + ); + } + tools_7(self.onBeforeDraw) && self.onBeforeDraw(self.ctx, self); + + self.setBoundStyle(self.boundStyle); // 设置边界样式 + + self.ctx.draw(false, done); + return self + }; + + self.pushOrigin = self.pushOrign = function(src) { + self.src = src; + + tools_7(self.onBeforeImageLoad) && self.onBeforeImageLoad(self.ctx, self); + + return getImageInfo({ + src: src + }) + .then(function(res) { + var innerAspectRadio = res.width / res.height; + var customAspectRadio = width / height; + + self.croperTarget = res.path; + + if (innerAspectRadio < customAspectRadio) { + self.rectX = x; + self.baseWidth = width; + self.baseHeight = width / innerAspectRadio; + self.rectY = y - Math.abs((height - self.baseHeight) / 2); + } else { + self.rectY = y; + self.baseWidth = height * innerAspectRadio; + self.baseHeight = height; + self.rectX = x - Math.abs((width - self.baseWidth) / 2); + } + + self.imgLeft = self.rectX; + self.imgTop = self.rectY; + self.scaleWidth = self.baseWidth; + self.scaleHeight = self.baseHeight; + + self.update(); + + return new Promise(function(resolve) { + self.updateCanvas(resolve); + }) + }) + .then(function() { + tools_7(self.onImageLoad) && self.onImageLoad(self.ctx, self); + }) + }; + + self.removeImage = function() { + self.src = ''; + self.croperTarget = ''; + return draw(self.ctx) + }; + + self.getCropperBase64 = function(done) { + if (done === void 0) done = function() {}; + + CanvasToBase64.convertToBMP({ + canvasId: id, + x: x, + y: y, + width: width, + height: height + }, done); + }; + + self.getCropperImage = function(opt, fn) { + var customOptions = opt; + + var canvasOptions = { + canvasId: id, + x: x, + y: y, + width: width, + height: height + }; + + var task = function() { + return Promise.resolve(); + }; + + if ( + tools_10(customOptions) && + customOptions.original + ) { + // original mode + task = function() { + self.targetCtx.drawImage( + self.croperTarget, + self.imgLeft * pixelRatio, + self.imgTop * pixelRatio, + self.scaleWidth * pixelRatio, + self.scaleHeight * pixelRatio + ); + + canvasOptions = { + canvasId: targetId, + x: x * pixelRatio, + y: y * pixelRatio, + width: width * pixelRatio, + height: height * pixelRatio + }; + + return draw(self.targetCtx) + }; + } + + return task() + .then(function() { + if (tools_10(customOptions)) { + canvasOptions = Object.assign({}, canvasOptions, customOptions); + } + + if (tools_7(customOptions)) { + fn = customOptions; + } + + var arg = canvasOptions.componentContext ? + [canvasOptions, canvasOptions.componentContext] : + [canvasOptions]; + + return canvasToTempFilePath.apply(null, arg) + }) + .then(function(res) { + var tempFilePath = res.tempFilePath; + + return tools_7(fn) ? + fn.call(self, tempFilePath, null) : + tempFilePath + }) + .catch(function(err) { + if (tools_7(fn)) { + fn.call(self, null, err); + } else { + throw err + } + }) + }; + } + + /** + * 获取最新缩放值 + * @param oldScale 上一次触摸结束后的缩放值 + * @param oldDistance 上一次触摸结束后的双指距离 + * @param zoom 缩放系数 + * @param touch0 第一指touch对象 + * @param touch1 第二指touch对象 + * @returns {*} + */ + var getNewScale = function(oldScale, oldDistance, zoom, touch0, touch1) { + var xMove, yMove, newDistance; + // 计算二指最新距离 + xMove = Math.round(touch1.x - touch0.x); + yMove = Math.round(touch1.y - touch0.y); + newDistance = Math.round(Math.sqrt(xMove * xMove + yMove * yMove)); + + return oldScale + 0.001 * zoom * (newDistance - oldDistance) + }; + + function update() { + var self = this; + + if (!self.src) { + return + } + + self.__oneTouchStart = function(touch) { + self.touchX0 = Math.round(touch.x); + self.touchY0 = Math.round(touch.y); + }; + + self.__oneTouchMove = function(touch) { + var xMove, yMove; + // 计算单指移动的距离 + if (self.touchended) { + return self.updateCanvas() + } + xMove = Math.round(touch.x - self.touchX0); + yMove = Math.round(touch.y - self.touchY0); + + var imgLeft = Math.round(self.rectX + xMove); + var imgTop = Math.round(self.rectY + yMove); + + self.outsideBound(imgLeft, imgTop); + + self.updateCanvas(); + }; + + self.__twoTouchStart = function(touch0, touch1) { + var xMove, yMove, oldDistance; + + self.touchX1 = Math.round(self.rectX + self.scaleWidth / 2); + self.touchY1 = Math.round(self.rectY + self.scaleHeight / 2); + + // 计算两指距离 + xMove = Math.round(touch1.x - touch0.x); + yMove = Math.round(touch1.y - touch0.y); + oldDistance = Math.round(Math.sqrt(xMove * xMove + yMove * yMove)); + + self.oldDistance = oldDistance; + }; + + self.__twoTouchMove = function(touch0, touch1) { + var oldScale = self.oldScale; + var oldDistance = self.oldDistance; + var scale = self.scale; + var zoom = self.zoom; + + self.newScale = getNewScale(oldScale, oldDistance, zoom, touch0, touch1); + + // 设定缩放范围 + self.newScale <= 1 && (self.newScale = 1); + self.newScale >= scale && (self.newScale = scale); + + self.scaleWidth = Math.round(self.newScale * self.baseWidth); + self.scaleHeight = Math.round(self.newScale * self.baseHeight); + var imgLeft = Math.round(self.touchX1 - self.scaleWidth / 2); + var imgTop = Math.round(self.touchY1 - self.scaleHeight / 2); + + self.outsideBound(imgLeft, imgTop); + + self.updateCanvas(); + }; + + self.__xtouchEnd = function() { + self.oldScale = self.newScale; + self.rectX = self.imgLeft; + self.rectY = self.imgTop; + }; + } + + var handle = { + // 图片手势初始监测 + touchStart: function touchStart(e) { + var self = this; + var ref = e.touches; + var touch0 = ref[0]; + var touch1 = ref[1]; + + if (!self.src) { + return + } + + setTouchState(self, true, null, null); + + // 计算第一个触摸点的位置,并参照改点进行缩放 + self.__oneTouchStart(touch0); + + // 两指手势触发 + if (e.touches.length >= 2) { + self.__twoTouchStart(touch0, touch1); + } + }, + + // 图片手势动态缩放 + touchMove: function touchMove(e) { + var self = this; + var ref = e.touches; + var touch0 = ref[0]; + var touch1 = ref[1]; + + if (!self.src) { + return + } + + setTouchState(self, null, true); + + // 单指手势时触发 + if (e.touches.length === 1) { + self.__oneTouchMove(touch0); + } + // 两指手势触发 + if (e.touches.length >= 2) { + self.__twoTouchMove(touch0, touch1); + } + }, + + touchEnd: function touchEnd(e) { + var self = this; + + if (!self.src) { + return + } + + setTouchState(self, false, false, true); + self.__xtouchEnd(); + } + }; + + function cut() { + var self = this; + var boundWidth = self.width; // 裁剪框默认宽度,即整个画布宽度 + var boundHeight = self.height; + // 裁剪框默认高度,即整个画布高度 + var ref = self.cut; + var x = ref.x; + if (x === void 0) x = 0; + var y = ref.y; + if (y === void 0) y = 0; + var width = ref.width; + if (width === void 0) width = boundWidth; + var height = ref.height; + if (height === void 0) height = boundHeight; + + /** + * 设置边界 + * @param imgLeft 图片左上角横坐标值 + * @param imgTop 图片左上角纵坐标值 + */ + self.outsideBound = function(imgLeft, imgTop) { + self.imgLeft = imgLeft >= x ? + x : + self.scaleWidth + imgLeft - x <= width ? + x + width - self.scaleWidth : + imgLeft; + + self.imgTop = imgTop >= y ? + y : + self.scaleHeight + imgTop - y <= height ? + y + height - self.scaleHeight : + imgTop; + }; + + /** + * 设置边界样式 + * @param color 边界颜色 + */ + self.setBoundStyle = function(ref) { + if (ref === void 0) ref = {}; + var color = ref.color; + if (color === void 0) color = '#04b00f'; + var mask = ref.mask; + if (mask === void 0) mask = 'rgba(0, 0, 0, 0.3)'; + var lineWidth = ref.lineWidth; + if (lineWidth === void 0) lineWidth = 1; + + var half = lineWidth / 2; + var boundOption = [{ + start: { + x: x - half, + y: y + 10 - half + }, + step1: { + x: x - half, + y: y - half + }, + step2: { + x: x + 10 - half, + y: y - half + } + }, + { + start: { + x: x - half, + y: y + height - 10 + half + }, + step1: { + x: x - half, + y: y + height + half + }, + step2: { + x: x + 10 - half, + y: y + height + half + } + }, + { + start: { + x: x + width - 10 + half, + y: y - half + }, + step1: { + x: x + width + half, + y: y - half + }, + step2: { + x: x + width + half, + y: y + 10 - half + } + }, + { + start: { + x: x + width + half, + y: y + height - 10 + half + }, + step1: { + x: x + width + half, + y: y + height + half + }, + step2: { + x: x + width - 10 + half, + y: y + height + half + } + } + ]; + + // 绘制半透明层 + self.ctx.beginPath(); + self.ctx.setFillStyle(mask); + self.ctx.fillRect(0, 0, x, boundHeight); + self.ctx.fillRect(x, 0, width, y); + self.ctx.fillRect(x, y + height, width, boundHeight - y - height); + self.ctx.fillRect(x + width, 0, boundWidth - x - width, boundHeight); + self.ctx.fill(); + + boundOption.forEach(function(op) { + self.ctx.beginPath(); + self.ctx.setStrokeStyle(color); + self.ctx.setLineWidth(lineWidth); + self.ctx.moveTo(op.start.x, op.start.y); + self.ctx.lineTo(op.step1.x, op.step1.y); + self.ctx.lineTo(op.step2.x, op.step2.y); + self.ctx.stroke(); + }); + }; + } + + var version = "1.3.9"; + + var WeCropper = function WeCropper(params) { + var self = this; + var _default = {}; + + validator(self, DEFAULT); + + Object.keys(DEFAULT).forEach(function(key) { + _default[key] = DEFAULT[key].default; + }); + Object.assign(self, _default, params); + + self.prepare(); + self.attachPage(); + self.createCtx(); + self.observer(); + self.cutt(); + self.methods(); + self.init(); + self.update(); + + return self + }; + + WeCropper.prototype.init = function init() { + var self = this; + var src = self.src; + + self.version = version; + + typeof self.onReady === 'function' && self.onReady(self.ctx, self); + + if (src) { + self.pushOrign(src); + } else { + self.updateCanvas(); + } + setTouchState(self, false, false, false); + + self.oldScale = 1; + self.newScale = 1; + + return self + }; + + Object.assign(WeCropper.prototype, handle); + + WeCropper.prototype.prepare = prepare; + WeCropper.prototype.observer = observer; + WeCropper.prototype.methods = methods; + WeCropper.prototype.cutt = cut; + WeCropper.prototype.update = update; + + return WeCropper; + +}))); diff --git a/components/uview-ui/components/u-avatar/u-avatar.vue b/components/uview-ui/components/u-avatar/u-avatar.vue new file mode 100644 index 0000000..289b9b0 --- /dev/null +++ b/components/uview-ui/components/u-avatar/u-avatar.vue @@ -0,0 +1,244 @@ + + + + + diff --git a/components/uview-ui/components/u-back-top/u-back-top.vue b/components/uview-ui/components/u-back-top/u-back-top.vue new file mode 100644 index 0000000..7970fc7 --- /dev/null +++ b/components/uview-ui/components/u-back-top/u-back-top.vue @@ -0,0 +1,153 @@ + + + + + diff --git a/components/uview-ui/components/u-badge/u-badge.vue b/components/uview-ui/components/u-badge/u-badge.vue new file mode 100644 index 0000000..e85b133 --- /dev/null +++ b/components/uview-ui/components/u-badge/u-badge.vue @@ -0,0 +1,216 @@ + + + + + \ No newline at end of file diff --git a/components/uview-ui/components/u-button/u-button.vue b/components/uview-ui/components/u-button/u-button.vue new file mode 100644 index 0000000..82c3a6f --- /dev/null +++ b/components/uview-ui/components/u-button/u-button.vue @@ -0,0 +1,596 @@ + + + + + diff --git a/components/uview-ui/components/u-calendar/u-calendar.vue b/components/uview-ui/components/u-calendar/u-calendar.vue new file mode 100644 index 0000000..6602bd0 --- /dev/null +++ b/components/uview-ui/components/u-calendar/u-calendar.vue @@ -0,0 +1,639 @@ + + + + \ No newline at end of file diff --git a/components/uview-ui/components/u-car-keyboard/u-car-keyboard.vue b/components/uview-ui/components/u-car-keyboard/u-car-keyboard.vue new file mode 100644 index 0000000..84b1467 --- /dev/null +++ b/components/uview-ui/components/u-car-keyboard/u-car-keyboard.vue @@ -0,0 +1,257 @@ + + + + + diff --git a/components/uview-ui/components/u-card/u-card.vue b/components/uview-ui/components/u-card/u-card.vue new file mode 100644 index 0000000..a3cb2aa --- /dev/null +++ b/components/uview-ui/components/u-card/u-card.vue @@ -0,0 +1,299 @@ + + + + + diff --git a/components/uview-ui/components/u-cell-group/u-cell-group.vue b/components/uview-ui/components/u-cell-group/u-cell-group.vue new file mode 100644 index 0000000..3fbca72 --- /dev/null +++ b/components/uview-ui/components/u-cell-group/u-cell-group.vue @@ -0,0 +1,70 @@ + + + + + diff --git a/components/uview-ui/components/u-cell-item/u-cell-item.vue b/components/uview-ui/components/u-cell-item/u-cell-item.vue new file mode 100644 index 0000000..055af3a --- /dev/null +++ b/components/uview-ui/components/u-cell-item/u-cell-item.vue @@ -0,0 +1,316 @@ + + + + + diff --git a/components/uview-ui/components/u-checkbox-group/u-checkbox-group.vue b/components/uview-ui/components/u-checkbox-group/u-checkbox-group.vue new file mode 100644 index 0000000..6a149b3 --- /dev/null +++ b/components/uview-ui/components/u-checkbox-group/u-checkbox-group.vue @@ -0,0 +1,123 @@ + + + + + diff --git a/components/uview-ui/components/u-checkbox/u-checkbox.vue b/components/uview-ui/components/u-checkbox/u-checkbox.vue new file mode 100644 index 0000000..9414461 --- /dev/null +++ b/components/uview-ui/components/u-checkbox/u-checkbox.vue @@ -0,0 +1,284 @@ + + + + + diff --git a/components/uview-ui/components/u-circle-progress/u-circle-progress.vue b/components/uview-ui/components/u-circle-progress/u-circle-progress.vue new file mode 100644 index 0000000..46e7c18 --- /dev/null +++ b/components/uview-ui/components/u-circle-progress/u-circle-progress.vue @@ -0,0 +1,220 @@ + + + + + diff --git a/components/uview-ui/components/u-col/u-col.vue b/components/uview-ui/components/u-col/u-col.vue new file mode 100644 index 0000000..3b6cc64 --- /dev/null +++ b/components/uview-ui/components/u-col/u-col.vue @@ -0,0 +1,156 @@ + + + + + diff --git a/components/uview-ui/components/u-collapse-item/u-collapse-item.vue b/components/uview-ui/components/u-collapse-item/u-collapse-item.vue new file mode 100644 index 0000000..3b66bfa --- /dev/null +++ b/components/uview-ui/components/u-collapse-item/u-collapse-item.vue @@ -0,0 +1,204 @@ + + + + + diff --git a/components/uview-ui/components/u-collapse/u-collapse.vue b/components/uview-ui/components/u-collapse/u-collapse.vue new file mode 100644 index 0000000..8572957 --- /dev/null +++ b/components/uview-ui/components/u-collapse/u-collapse.vue @@ -0,0 +1,99 @@ + + + + + diff --git a/components/uview-ui/components/u-column-notice/u-column-notice.vue b/components/uview-ui/components/u-column-notice/u-column-notice.vue new file mode 100644 index 0000000..dd8bd31 --- /dev/null +++ b/components/uview-ui/components/u-column-notice/u-column-notice.vue @@ -0,0 +1,237 @@ + + + + + diff --git a/components/uview-ui/components/u-count-down/u-count-down.vue b/components/uview-ui/components/u-count-down/u-count-down.vue new file mode 100644 index 0000000..39284d1 --- /dev/null +++ b/components/uview-ui/components/u-count-down/u-count-down.vue @@ -0,0 +1,321 @@ + + + + + diff --git a/components/uview-ui/components/u-count-to/u-count-to.vue b/components/uview-ui/components/u-count-to/u-count-to.vue new file mode 100644 index 0000000..053dc5f --- /dev/null +++ b/components/uview-ui/components/u-count-to/u-count-to.vue @@ -0,0 +1,241 @@ + + + + + diff --git a/components/uview-ui/components/u-divider/u-divider.vue b/components/uview-ui/components/u-divider/u-divider.vue new file mode 100644 index 0000000..6f8d7e6 --- /dev/null +++ b/components/uview-ui/components/u-divider/u-divider.vue @@ -0,0 +1,153 @@ + + + + + diff --git a/components/uview-ui/components/u-dropdown-item/u-dropdown-item.vue b/components/uview-ui/components/u-dropdown-item/u-dropdown-item.vue new file mode 100644 index 0000000..ba60d8f --- /dev/null +++ b/components/uview-ui/components/u-dropdown-item/u-dropdown-item.vue @@ -0,0 +1,132 @@ + + + + + diff --git a/components/uview-ui/components/u-dropdown/u-dropdown.vue b/components/uview-ui/components/u-dropdown/u-dropdown.vue new file mode 100644 index 0000000..a62e469 --- /dev/null +++ b/components/uview-ui/components/u-dropdown/u-dropdown.vue @@ -0,0 +1,298 @@ + + + + + diff --git a/components/uview-ui/components/u-empty/u-empty.vue b/components/uview-ui/components/u-empty/u-empty.vue new file mode 100644 index 0000000..2c77b24 --- /dev/null +++ b/components/uview-ui/components/u-empty/u-empty.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/components/uview-ui/components/u-field/u-field.vue b/components/uview-ui/components/u-field/u-field.vue new file mode 100644 index 0000000..b562798 --- /dev/null +++ b/components/uview-ui/components/u-field/u-field.vue @@ -0,0 +1,384 @@ +