From 90db3fd233ae9124acf2ee9b2ba32dd5304dad47 Mon Sep 17 00:00:00 2001 From: xcw <727612669@qq.com> Date: Fri, 11 Oct 2024 15:13:13 +0800 Subject: [PATCH] conmit message --- .hbuilderx/launch.json | 16 + App.vue | 67 + api/index.js | 164 + api/water.js | 47 + commons/animate.min.css | 12 + commons/common.css | 4613 ++++++++++ commons/icon-font.css | 155 + commons/loading.css | 1054 +++ commons/style.css | 505 ++ components/address-one/address-one.css | 107 + components/address-one/address-one.js | 1 + components/address-one/address-one.vue | 233 + components/foot-bar/foot-bar.vue | 112 + components/goods-list/goods-list.vue | 231 + .../maramlee-waterfalls-flow.vue | 350 + components/nothing/nothing-page.vue | 41 + components/nothing/pitera.vue | 54 + components/status-nav/status-nav.vue | 187 + components/swipers/swiper-lamp.vue | 62 + components/swipers/swiper-pu.vue | 168 + .../tui-bottom-popup/tui-bottom-popup.vue | 107 + .../tui-bubble-popup/tui-bubble-popup.vue | 204 + components/thorui/tui-button/tui-button.vue | 520 ++ .../thorui/tui-calendar/tui-calendar.js | 562 ++ .../thorui/tui-calendar/tui-calendar.vue | 915 ++ components/thorui/tui-card/tui-card.vue | 212 + .../tui-cascade-selection.vue | 513 ++ .../tui-circular-progress.vue | 265 + .../thorui/tui-collapse/tui-collapse.vue | 167 + .../thorui/tui-countdown/tui-countdown.vue | 343 + components/thorui/tui-divider/tui-divider.vue | 103 + components/thorui/tui-drawer/tui-drawer.vue | 140 + components/thorui/tui-icon/tui-icon.js | 190 + components/thorui/tui-icon/tui-icon.vue | 81 + components/thorui/tui-loading/tui-loading.vue | 78 + .../thorui/tui-loadmore/tui-loadmore.vue | 161 + components/thorui/tui-modal/tui-modal.vue | 408 + components/thorui/tui-no-data/tui-no-data.vue | 118 + components/thorui/tui-nomore/tui-nomore.vue | 115 + .../thorui/tui-numberbox/tui-numberbox.vue | 231 + components/thorui/tui-rate/tui-rate.vue | 168 + .../tui-slide-verify/tui-slide-verify.vue | 218 + .../tui-slide-verify/tui-slide-verify.wxs | 73 + components/thorui/tui-steps/tui-steps.vue | 253 + .../thorui/tui-sticky-wxs/tui-sticky-wxs.vue | 125 + .../thorui/tui-sticky-wxs/tui-sticky.wxs | 44 + components/thorui/tui-sticky/tui-sticky.vue | 155 + components/thorui/tui-tag/tui-tag.vue | 360 + components/thorui/tui-tips/tui-tips.vue | 129 + components/thorui/tui-toast/tui-toast.vue | 121 + components/uview-ui/LICENSE | 21 + components/uview-ui/README.md | 66 + components/uview-ui/changelog.md | 374 + .../uview-ui/components/u--form/u--form.vue | 78 + .../uview-ui/components/u--image/u--image.vue | 47 + .../uview-ui/components/u--input/u--input.vue | 73 + .../uview-ui/components/u--text/u--text.vue | 44 + .../components/u--textarea/u--textarea.vue | 48 + .../components/u-action-sheet/props.js | 54 + .../u-action-sheet/u-action-sheet.vue | 278 + .../uview-ui/components/u-album/props.js | 59 + .../uview-ui/components/u-album/u-album.vue | 259 + .../components/u-alert-tips/u-alert-tips.vue | 256 + .../uview-ui/components/u-alert/props.js | 44 + .../uview-ui/components/u-alert/u-alert.vue | 243 + .../u-avatar-cropper/u-avatar-cropper.vue | 290 + .../components/u-avatar-cropper/weCropper.js | 1265 +++ .../components/u-avatar-group/props.js | 52 + .../u-avatar-group/u-avatar-group.vue | 103 + .../uview-ui/components/u-avatar/props.js | 78 + .../uview-ui/components/u-avatar/u-avatar.vue | 173 + .../uview-ui/components/u-back-top/props.js | 54 + .../components/u-back-top/u-back-top.vue | 129 + .../uview-ui/components/u-badge/props.js | 72 + .../uview-ui/components/u-badge/u-badge.vue | 171 + .../uview-ui/components/u-button/nvue.scss | 46 + .../uview-ui/components/u-button/props.js | 161 + .../uview-ui/components/u-button/u-button.vue | 495 ++ .../uview-ui/components/u-button/vue.scss | 80 + .../uview-ui/components/u-calendar/header.vue | 99 + .../uview-ui/components/u-calendar/month.vue | 579 ++ .../uview-ui/components/u-calendar/props.js | 144 + .../components/u-calendar/u-calendar.vue | 384 + .../uview-ui/components/u-calendar/util.js | 85 + .../components/u-car-keyboard/props.js | 14 + .../u-car-keyboard/u-car-keyboard.vue | 311 + .../uview-ui/components/u-card/u-card.vue | 299 + .../uview-ui/components/u-cell-group/props.js | 14 + .../components/u-cell-group/u-cell-group.vue | 61 + .../components/u-cell-item/u-cell-item.vue | 316 + .../uview-ui/components/u-cell/props.js | 110 + .../uview-ui/components/u-cell/u-cell.vue | 229 + .../components/u-checkbox-group/props.js | 82 + .../u-checkbox-group/u-checkbox-group.vue | 103 + .../uview-ui/components/u-checkbox/props.js | 69 + .../components/u-checkbox/u-checkbox.vue | 344 + .../components/u-circle-progress/props.js | 8 + .../u-circle-progress/u-circle-progress.vue | 198 + .../uview-ui/components/u-code-input/props.js | 79 + .../components/u-code-input/u-code-input.vue | 252 + .../uview-ui/components/u-code/props.js | 34 + .../uview-ui/components/u-code/u-code.vue | 129 + components/uview-ui/components/u-col/props.js | 29 + .../uview-ui/components/u-col/u-col.vue | 162 + .../components/u-collapse-item/props.js | 59 + .../u-collapse-item/u-collapse-item.vue | 225 + .../uview-ui/components/u-collapse/props.js | 19 + .../components/u-collapse/u-collapse.vue | 90 + .../components/u-column-notice/props.js | 55 + .../u-column-notice/u-column-notice.vue | 160 + .../uview-ui/components/u-count-down/props.js | 24 + .../components/u-count-down/u-count-down.vue | 163 + .../uview-ui/components/u-count-down/utils.js | 62 + .../uview-ui/components/u-count-to/props.js | 59 + .../components/u-count-to/u-count-to.vue | 184 + .../components/u-datetime-picker/props.js | 116 + .../u-datetime-picker/u-datetime-picker.vue | 360 + .../uview-ui/components/u-divider/props.js | 44 + .../components/u-divider/u-divider.vue | 116 + .../components/u-dropdown-item/props.js | 36 + .../u-dropdown-item/u-dropdown-item.vue | 127 + .../uview-ui/components/u-dropdown/props.js | 65 + .../components/u-dropdown/u-dropdown.vue | 127 + .../uview-ui/components/u-empty/props.js | 59 + .../uview-ui/components/u-empty/u-empty.vue | 128 + .../uview-ui/components/u-field/u-field.vue | 390 + .../uview-ui/components/u-form-item/props.js | 48 + .../components/u-form-item/u-form-item.vue | 235 + .../uview-ui/components/u-form/props.js | 45 + .../uview-ui/components/u-form/u-form.vue | 214 + .../u-full-screen/u-full-screen.vue | 52 + components/uview-ui/components/u-gap/props.js | 24 + .../uview-ui/components/u-gap/u-gap.vue | 38 + .../uview-ui/components/u-grid-item/props.js | 14 + .../components/u-grid-item/u-grid-item.vue | 209 + .../uview-ui/components/u-grid/props.js | 19 + .../uview-ui/components/u-grid/u-grid.vue | 97 + .../uview-ui/components/u-icon/icons.js | 214 + .../uview-ui/components/u-icon/props.js | 89 + .../uview-ui/components/u-icon/u-icon.vue | 234 + .../uview-ui/components/u-image/props.js | 84 + .../uview-ui/components/u-image/u-image.vue | 232 + .../components/u-index-anchor/props.js | 29 + .../u-index-anchor/u-index-anchor.vue | 91 + .../uview-ui/components/u-index-item/props.js | 5 + .../components/u-index-item/u-index-item.vue | 87 + .../uview-ui/components/u-index-list/props.js | 29 + .../components/u-index-list/u-index-list.vue | 440 + .../uview-ui/components/u-input/props.js | 187 + .../uview-ui/components/u-input/u-input.vue | 354 + .../uview-ui/components/u-keyboard/props.js | 84 + .../components/u-keyboard/u-keyboard.vue | 164 + .../components/u-lazy-load/u-lazy-load.vue | 245 + .../components/u-line-progress/props.js | 28 + .../u-line-progress/u-line-progress.vue | 144 + .../uview-ui/components/u-line/props.js | 33 + .../uview-ui/components/u-line/u-line.vue | 62 + .../uview-ui/components/u-link/props.js | 39 + .../uview-ui/components/u-link/u-link.vue | 83 + .../uview-ui/components/u-list-item/props.js | 9 + .../components/u-list-item/u-list-item.vue | 116 + .../uview-ui/components/u-list/props.js | 76 + .../uview-ui/components/u-list/u-list.vue | 157 + .../components/u-loading-icon/props.js | 59 + .../u-loading-icon/u-loading-icon.vue | 343 + .../components/u-loading-page/props.js | 49 + .../u-loading-page/u-loading-page.vue | 115 + .../components/u-loading/u-loading.vue | 103 + .../uview-ui/components/u-loadmore/props.js | 94 + .../components/u-loadmore/u-loadmore.vue | 150 + .../uview-ui/components/u-mask/u-mask.vue | 123 + .../u-message-input/u-message-input.vue | 311 + .../uview-ui/components/u-modal/props.js | 89 + .../uview-ui/components/u-modal/u-modal.vue | 228 + .../uview-ui/components/u-navbar/props.js | 84 + .../uview-ui/components/u-navbar/u-navbar.vue | 186 + .../uview-ui/components/u-no-network/props.js | 19 + .../components/u-no-network/u-no-network.vue | 220 + .../uview-ui/components/u-notice-bar/props.js | 70 + .../components/u-notice-bar/u-notice-bar.vue | 101 + .../uview-ui/components/u-notify/props.js | 49 + .../uview-ui/components/u-notify/u-notify.vue | 211 + .../uview-ui/components/u-number-box/props.js | 109 + .../components/u-number-box/u-number-box.vue | 416 + .../components/u-number-keyboard/props.js | 19 + .../u-number-keyboard/u-number-keyboard.vue | 196 + .../uview-ui/components/u-overlay/props.js | 24 + .../components/u-overlay/u-overlay.vue | 68 + .../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/node/node.vue | 499 ++ .../uview-ui/components/u-parse/parser.js | 1075 +++ .../uview-ui/components/u-parse/props.js | 45 + .../uview-ui/components/u-parse/u-parse.vue | 366 + .../components/u-picker-column/props.js | 5 + .../u-picker-column/u-picker-column.vue | 27 + .../uview-ui/components/u-picker/props.js | 79 + .../uview-ui/components/u-picker/u-picker.vue | 286 + .../uview-ui/components/u-popup/props.js | 79 + .../uview-ui/components/u-popup/u-popup.vue | 304 + .../components/u-radio-group/props.js | 85 + .../u-radio-group/u-radio-group.vue | 108 + .../uview-ui/components/u-radio/props.js | 64 + .../uview-ui/components/u-radio/u-radio.vue | 339 + .../uview-ui/components/u-rate/props.js | 69 + .../uview-ui/components/u-rate/u-rate.vue | 306 + .../uview-ui/components/u-read-more/props.js | 61 + .../components/u-read-more/u-read-more.vue | 157 + .../uview-ui/components/u-row-notice/props.js | 39 + .../components/u-row-notice/u-row-notice.vue | 330 + components/uview-ui/components/u-row/props.js | 19 + .../uview-ui/components/u-row/u-row.vue | 93 + .../components/u-safe-bottom/props.js | 5 + .../u-safe-bottom/u-safe-bottom.vue | 56 + .../uview-ui/components/u-scroll-list/nvue.js | 28 + .../components/u-scroll-list/other.js | 0 .../components/u-scroll-list/props.js | 34 + .../components/u-scroll-list/scrollWxs.wxs | 50 + .../u-scroll-list/u-scroll-list.vue | 224 + .../uview-ui/components/u-search/props.js | 118 + .../uview-ui/components/u-search/u-search.vue | 303 + .../components/u-section/u-section.vue | 154 + .../uview-ui/components/u-select/u-select.vue | 417 + .../uview-ui/components/u-skeleton/props.js | 59 + .../components/u-skeleton/u-skeleton.vue | 244 + .../uview-ui/components/u-slider/mpother.js | 113 + .../uview-ui/components/u-slider/mpwxs.js | 42 + .../uview-ui/components/u-slider/mpwxs.wxs | 121 + .../components/u-slider/nvue - 副本.js | 180 + .../uview-ui/components/u-slider/nvue.js | 193 + .../uview-ui/components/u-slider/props.js | 54 + .../uview-ui/components/u-slider/u-slider.vue | 55 + .../uview-ui/components/u-status-bar/props.js | 8 + .../components/u-status-bar/u-status-bar.vue | 46 + .../uview-ui/components/u-steps-item/props.js | 24 + .../components/u-steps-item/u-steps-item.vue | 316 + .../uview-ui/components/u-steps/props.js | 39 + .../uview-ui/components/u-steps/u-steps.vue | 80 + .../uview-ui/components/u-sticky/props.js | 40 + .../uview-ui/components/u-sticky/u-sticky.vue | 212 + .../uview-ui/components/u-subsection/props.js | 49 + .../components/u-subsection/u-subsection.vue | 299 + .../u-swipe-action-item/index - backup.wxs | 256 + .../components/u-swipe-action-item/index.wxs | 225 + .../u-swipe-action-item/nvue - backup.js | 270 + .../components/u-swipe-action-item/nvue.js | 174 + .../components/u-swipe-action-item/props.js | 41 + .../u-swipe-action-item.vue | 190 + .../components/u-swipe-action-item/wxs.js | 15 + .../components/u-swipe-action/props.js | 9 + .../u-swipe-action/u-swipe-action.vue | 67 + .../components/u-swiper-indicator/props.js | 29 + .../u-swiper-indicator/u-swiper-indicator.vue | 110 + .../uview-ui/components/u-swiper/props.js | 125 + .../uview-ui/components/u-swiper/u-swiper.vue | 255 + .../uview-ui/components/u-switch/props.js | 54 + .../uview-ui/components/u-switch/u-switch.vue | 177 + .../components/u-tabbar-item/props.js | 35 + .../u-tabbar-item/u-tabbar-item.vue | 142 + .../uview-ui/components/u-tabbar/props.js | 44 + .../uview-ui/components/u-tabbar/u-tabbar.vue | 141 + .../uview-ui/components/u-table/props.js | 5 + .../uview-ui/components/u-table/u-table.vue | 29 + .../uview-ui/components/u-tabs-item/props.js | 5 + .../components/u-tabs-item/u-tabs-item.vue | 29 + .../u-tabs-swiper/u-tabs-swiper.vue | 488 ++ .../uview-ui/components/u-tabs/props.js | 64 + .../uview-ui/components/u-tabs/u-tabs.vue | 363 + components/uview-ui/components/u-tag/props.js | 84 + .../uview-ui/components/u-tag/u-tag.vue | 358 + components/uview-ui/components/u-td/props.js | 5 + components/uview-ui/components/u-td/u-td.vue | 31 + .../uview-ui/components/u-text/props.js | 110 + .../uview-ui/components/u-text/u-text.vue | 223 + .../uview-ui/components/u-text/value.js | 85 + .../uview-ui/components/u-textarea/props.js | 119 + .../components/u-textarea/u-textarea.vue | 239 + 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 | 291 + .../uview-ui/components/u-toolbar/props.js | 34 + .../components/u-toolbar/u-toolbar.vue | 102 + .../components/u-tooltip/clipboard.min.js | 58 + .../uview-ui/components/u-tooltip/props.js | 59 + .../components/u-tooltip/u-tooltip.vue | 365 + .../components/u-top-tips/u-top-tips.vue | 121 + components/uview-ui/components/u-tr/props.js | 5 + components/uview-ui/components/u-tr/u-tr.vue | 31 + .../components/u-transition/nvue.ani-map.js | 68 + .../uview-ui/components/u-transition/props.js | 24 + .../components/u-transition/transition.js | 157 + .../components/u-transition/u-transition.vue | 92 + .../u-transition/vue.ani-style.scss | 113 + .../uview-ui/components/u-upload/mixin.js | 21 + .../uview-ui/components/u-upload/props.js | 124 + .../uview-ui/components/u-upload/u-upload.vue | 558 ++ .../uview-ui/components/u-upload/utils.js | 151 + .../u-verification-code.vue | 164 + .../components/u-waterfall/u-waterfall.vue | 176 + .../uview-ui/components/uview-ui/uview-ui.vue | 15 + components/uview-ui/iconfont.css | 910 ++ components/uview-ui/index.js | 79 + components/uview-ui/index.scss | 23 + components/uview-ui/libs/config/color.js | 17 + components/uview-ui/libs/config/config.js | 34 + components/uview-ui/libs/config/props.js | 190 + .../uview-ui/libs/config/props/actionSheet.js | 25 + .../uview-ui/libs/config/props/album.js | 25 + .../uview-ui/libs/config/props/alert.js | 22 + .../uview-ui/libs/config/props/avatar.js | 28 + .../uview-ui/libs/config/props/avatarGroup.js | 23 + .../uview-ui/libs/config/props/backtop.js | 27 + .../uview-ui/libs/config/props/badge.js | 27 + .../uview-ui/libs/config/props/button.js | 42 + .../uview-ui/libs/config/props/calendar.js | 42 + .../uview-ui/libs/config/props/carKeyboard.js | 15 + components/uview-ui/libs/config/props/cell.js | 35 + .../uview-ui/libs/config/props/cellGroup.js | 17 + .../uview-ui/libs/config/props/checkbox.js | 27 + .../libs/config/props/checkboxGroup.js | 29 + .../libs/config/props/circleProgress.js | 15 + components/uview-ui/libs/config/props/code.js | 21 + .../uview-ui/libs/config/props/codeInput.js | 29 + components/uview-ui/libs/config/props/col.js | 19 + .../uview-ui/libs/config/props/collapse.js | 17 + .../libs/config/props/collapseItem.js | 25 + .../libs/config/props/columnNotice.js | 24 + .../uview-ui/libs/config/props/countDown.js | 18 + .../uview-ui/libs/config/props/countTo.js | 25 + .../libs/config/props/datetimePicker.js | 36 + .../uview-ui/libs/config/props/divider.js | 23 + .../uview-ui/libs/config/props/empty.js | 26 + components/uview-ui/libs/config/props/form.js | 22 + .../uview-ui/libs/config/props/formItem.js | 23 + components/uview-ui/libs/config/props/gap.js | 19 + components/uview-ui/libs/config/props/grid.js | 17 + .../uview-ui/libs/config/props/gridItem.js | 16 + components/uview-ui/libs/config/props/icon.js | 36 + .../uview-ui/libs/config/props/image.js | 30 + .../uview-ui/libs/config/props/indexAnchor.js | 19 + .../uview-ui/libs/config/props/indexList.js | 19 + .../uview-ui/libs/config/props/input.js | 48 + .../uview-ui/libs/config/props/keyboard.js | 30 + components/uview-ui/libs/config/props/line.js | 20 + .../libs/config/props/lineProgress.js | 19 + components/uview-ui/libs/config/props/link.js | 26 + components/uview-ui/libs/config/props/list.js | 28 + .../uview-ui/libs/config/props/listItem.js | 15 + .../uview-ui/libs/config/props/loadingIcon.js | 30 + .../uview-ui/libs/config/props/loadingPage.js | 23 + .../uview-ui/libs/config/props/loadmore.js | 32 + .../uview-ui/libs/config/props/modal.js | 31 + .../uview-ui/libs/config/props/navbar.js | 32 + .../uview-ui/libs/config/props/noNetwork.js | 18 + .../uview-ui/libs/config/props/noticeBar.js | 27 + .../uview-ui/libs/config/props/notify.js | 22 + .../uview-ui/libs/config/props/numberBox.js | 35 + .../libs/config/props/numberKeyboard.js | 17 + .../uview-ui/libs/config/props/overlay.js | 18 + .../uview-ui/libs/config/props/parse.js | 22 + .../uview-ui/libs/config/props/picker.js | 29 + .../uview-ui/libs/config/props/popup.js | 29 + .../uview-ui/libs/config/props/radio.js | 27 + .../uview-ui/libs/config/props/radioGroup.js | 30 + components/uview-ui/libs/config/props/rate.js | 26 + .../uview-ui/libs/config/props/readMore.js | 22 + components/uview-ui/libs/config/props/row.js | 17 + .../uview-ui/libs/config/props/rowNotice.js | 21 + .../uview-ui/libs/config/props/scrollList.js | 20 + .../uview-ui/libs/config/props/search.js | 37 + .../uview-ui/libs/config/props/section.js | 24 + .../uview-ui/libs/config/props/skeleton.js | 25 + .../uview-ui/libs/config/props/slider.js | 25 + .../uview-ui/libs/config/props/statusBar.js | 15 + .../uview-ui/libs/config/props/steps.js | 21 + .../uview-ui/libs/config/props/stepsItem.js | 18 + .../uview-ui/libs/config/props/sticky.js | 20 + .../uview-ui/libs/config/props/subsection.js | 23 + .../uview-ui/libs/config/props/swipeAction.js | 15 + .../libs/config/props/swipeActionItem.js | 21 + .../uview-ui/libs/config/props/swiper.js | 39 + .../libs/config/props/swipterIndicator.js | 19 + .../uview-ui/libs/config/props/switch.js | 24 + .../uview-ui/libs/config/props/tabbar.js | 22 + .../uview-ui/libs/config/props/tabbarItem.js | 20 + components/uview-ui/libs/config/props/tabs.js | 32 + components/uview-ui/libs/config/props/tag.js | 29 + components/uview-ui/libs/config/props/text.js | 38 + .../uview-ui/libs/config/props/textarea.js | 36 + .../uview-ui/libs/config/props/toast.js | 30 + .../uview-ui/libs/config/props/toolbar.js | 21 + .../uview-ui/libs/config/props/tooltip.js | 25 + .../uview-ui/libs/config/props/transition.js | 18 + .../uview-ui/libs/config/props/upload.js | 36 + components/uview-ui/libs/config/zIndex.js | 20 + components/uview-ui/libs/css/color.scss | 155 + components/uview-ui/libs/css/common.scss | 97 + components/uview-ui/libs/css/components.scss | 15 + components/uview-ui/libs/css/flex.scss | 257 + components/uview-ui/libs/css/h5.scss | 0 components/uview-ui/libs/css/mixin.scss | 8 + components/uview-ui/libs/css/mp.scss | 0 components/uview-ui/libs/css/nvue.scss | 0 .../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/css/vue.scss | 27 + 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 + components/uview-ui/libs/function/digit.js | 167 + .../uview-ui/libs/function/getParent.js | 47 + components/uview-ui/libs/function/guid.js | 41 + components/uview-ui/libs/function/index.js | 731 ++ components/uview-ui/libs/function/md5.js | 385 + components/uview-ui/libs/function/platform.js | 75 + .../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 | 288 + components/uview-ui/libs/function/throttle.js | 30 + .../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 + .../libs/luch-request/adapters/index.js | 97 + .../luch-request/core/InterceptorManager.js | 50 + .../libs/luch-request/core/Request.js | 198 + .../libs/luch-request/core/buildFullPath.js | 20 + .../libs/luch-request/core/defaults.js | 29 + .../libs/luch-request/core/dispatchRequest.js | 3 + .../libs/luch-request/core/mergeConfig.js | 103 + .../uview-ui/libs/luch-request/core/settle.js | 16 + .../libs/luch-request/helpers/buildURL.js | 69 + .../libs/luch-request/helpers/combineURLs.js | 14 + .../luch-request/helpers/isAbsoluteURL.js | 14 + .../uview-ui/libs/luch-request/index.d.ts | 116 + .../uview-ui/libs/luch-request/index.js | 3 + .../uview-ui/libs/luch-request/utils.js | 131 + .../uview-ui/libs/luch-request/utils/clone.js | 264 + components/uview-ui/libs/mixin/button.js | 13 + components/uview-ui/libs/mixin/mixin.js | 160 + components/uview-ui/libs/mixin/mpMixin.js | 8 + components/uview-ui/libs/mixin/mpShare.js | 13 + components/uview-ui/libs/mixin/openType.js | 25 + components/uview-ui/libs/mixin/style.js | 228 + components/uview-ui/libs/mixin/touch.js | 59 + 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 | 1343 +++ components/uview-ui/libs/util/calendar.js | 546 ++ components/uview-ui/libs/util/city.js | 1 + components/uview-ui/libs/util/dayjs.js | 308 + components/uview-ui/libs/util/emitter.js | 51 + components/uview-ui/libs/util/province.js | 1 + components/uview-ui/libs/util/route.js | 124 + components/uview-ui/package.json | 87 + components/uview-ui/theme.scss | 44 + components/wakary-input/bottom.jpeg | Bin 0 -> 18942 bytes components/wakary-input/box.jpeg | Bin 0 -> 19210 bytes .../components/wakary-input/wakary-input.vue | 163 + components/wakary-input/middle.jpeg | Bin 0 -> 18132 bytes components/wakary-input/readme.md | 172 + components/wakary-input/wakary-input.zip | Bin 0 -> 47134 bytes jsFile/base64-src.js | 201 + jsFile/map/qqmap-wx-jssdk.min.js | 891 ++ jsFile/public-api.js | 19 + jsFile/requst-water.js | 98 + jsFile/requst.js | 155 + jsFile/style.scss | 1717 ++++ jsFile/tools.js | 624 ++ js_sdk/wa-permission/permission.js | 272 + main.js | 50 + manifest.json | 97 + package-lock.json | 15 + package.json | 25 + pages.json | 211 + pages/cart/cart.vue | 427 + pages/cart/orderConfirm.vue | 436 + pages/cate/cate.vue | 213 + pages/home/home.vue | 358 + pages/index/index.vue | 509 ++ pages/my/information.vue | 135 + pages/my/my.vue | 385 + pagesA/addCard/addCard.vue | 244 + pagesA/address/addAddress.vue | 183 + pagesA/address/address.vue | 102 + pagesA/fetchWater/fetchWater.vue | 737 ++ pagesA/giftCard/giftCard.vue | 377 + pagesA/login/login.vue | 474 + pagesA/order/detail.vue | 270 + pagesA/order/logistics.vue | 269 + pagesA/order/order.vue | 251 + pagesA/search/search.vue | 225 + pagesA/waterCard/waterCard.vue | 867 ++ pagesB/collection/collection.vue | 55 + pagesB/goodsDetail/goodsDetail.vue | 523 ++ pagesB/integral/integral.vue | 168 + pagesB/news/news.vue | 102 + pagesB/news/newsDetail.vue | 74 + pagesB/recharge/recharge.vue | 146 + pagesB/singlePage/address.vue | 153 + static/cate/cate-01.png | Bin 0 -> 11756 bytes static/cate/cate-02.png | Bin 0 -> 11384 bytes static/cate/cate-03.png | Bin 0 -> 11585 bytes static/cate/cate-04.png | Bin 0 -> 12481 bytes static/cate/cate-05.png | Bin 0 -> 10946 bytes static/cate/cate-06.png | Bin 0 -> 9822 bytes static/cate/cate-07.png | Bin 0 -> 11015 bytes static/cate/cate-08.png | Bin 0 -> 10659 bytes static/cate/cate-09.png | Bin 0 -> 9375 bytes static/cate/cate-10.png | Bin 0 -> 11736 bytes static/distribution/icon_delet.png | Bin 0 -> 4296 bytes static/distribution/icon_invite.png | Bin 0 -> 2406 bytes static/distribution/icon_yongjin.png | Bin 0 -> 2981 bytes static/foot-bar/cart-active.png | Bin 0 -> 2028 bytes static/foot-bar/cart.png | Bin 0 -> 2027 bytes static/foot-bar/cate-active.png | Bin 0 -> 1758 bytes static/foot-bar/cate.png | Bin 0 -> 1750 bytes static/foot-bar/index-active.png | Bin 0 -> 1721 bytes static/foot-bar/index.png | Bin 0 -> 1720 bytes static/foot-bar/integral-active.png | Bin 0 -> 9989 bytes static/foot-bar/integral.png | Bin 0 -> 9714 bytes static/foot-bar/my-active.png | Bin 0 -> 2250 bytes static/foot-bar/my.png | Bin 0 -> 2251 bytes static/icon/huang.png | Bin 0 -> 7697 bytes static/icon/icon-add-cart.png | Bin 0 -> 1862 bytes static/icon/icon-addr.png | Bin 0 -> 1323 bytes static/icon/icon-address-other.png | Bin 0 -> 2015 bytes static/icon/icon-address.png | Bin 0 -> 1737 bytes static/icon/icon-arrow-01.png | Bin 0 -> 1120 bytes static/icon/icon-arrow-down.png | Bin 0 -> 1097 bytes static/icon/icon-arrow-right.png | Bin 0 -> 1321 bytes static/icon/icon-arrow-top.png | Bin 0 -> 1187 bytes static/icon/icon-arrow-up.png | Bin 0 -> 1118 bytes static/icon/icon-back-top.jpg | Bin 0 -> 2708 bytes static/icon/icon-cart.png | Bin 0 -> 1480 bytes static/icon/icon-checked.png | Bin 0 -> 1177 bytes static/icon/icon-close.png | Bin 0 -> 1504 bytes static/icon/icon-collection-01.png | Bin 0 -> 1606 bytes static/icon/icon-collection-active.png | Bin 0 -> 1317 bytes static/icon/icon-collection.png | Bin 0 -> 1607 bytes static/icon/icon-del.png | Bin 0 -> 1395 bytes static/icon/icon-edit.png | Bin 0 -> 2055 bytes static/icon/icon-jia.png | Bin 0 -> 1074 bytes static/icon/icon-jian.png | Bin 0 -> 963 bytes static/icon/icon-layout-other.png | Bin 0 -> 1674 bytes static/icon/icon-layout.png | Bin 0 -> 1555 bytes static/icon/icon-notice.png | Bin 0 -> 1405 bytes static/icon/icon-phone.png | Bin 0 -> 1835 bytes static/icon/icon-radius.png | Bin 0 -> 1040 bytes static/icon/icon-refresh.png | Bin 0 -> 1478 bytes static/icon/icon-screen.png | Bin 0 -> 1349 bytes static/icon/icon-search.png | Bin 0 -> 1833 bytes static/icon/icon-share.png | Bin 0 -> 1314 bytes static/icon/icon-spot-blue.png | Bin 0 -> 1057 bytes static/icon/icon-spot.png | Bin 0 -> 1047 bytes static/icon/icon-wechat-line.png | Bin 0 -> 1830 bytes static/icon/icon-wechat.png | Bin 0 -> 1845 bytes static/logistics/icon-call.png | Bin 0 -> 1351 bytes static/logistics/icon-logistics-01.png | Bin 0 -> 1247 bytes static/logistics/icon-logistics-02.png | Bin 0 -> 1266 bytes static/logistics/icon-logistics-03.png | Bin 0 -> 1772 bytes static/logistics/icon-logistics-04.png | Bin 0 -> 1474 bytes static/logistics/list.png | Bin 0 -> 17619 bytes static/my/nav-01.png | Bin 0 -> 1749 bytes static/my/nav-02.png | Bin 0 -> 1951 bytes static/my/nav-03.png | Bin 0 -> 1769 bytes static/my/nav-04.png | Bin 0 -> 1658 bytes static/my/nav-05.png | Bin 0 -> 1521 bytes static/my/nav-06.png | Bin 0 -> 1922 bytes static/my/nav-07.png | Bin 0 -> 1563 bytes static/my/order-01.png | Bin 0 -> 1548 bytes static/my/order-02.png | Bin 0 -> 2040 bytes static/my/order-03.png | Bin 0 -> 2633 bytes static/my/order-04.png | Bin 0 -> 1601 bytes static/public/blue-bg2.jpg | Bin 0 -> 19308 bytes static/public/blue-bg3.jpg | Bin 0 -> 21541 bytes static/public/close.png | Bin 0 -> 2219 bytes static/public/home-icon1.png | Bin 0 -> 1375 bytes static/public/home-icon2.png | Bin 0 -> 1356 bytes static/public/home-img1.png | Bin 0 -> 9688 bytes static/public/home-img2.png | Bin 0 -> 10435 bytes static/public/home-img3.png | Bin 0 -> 12094 bytes static/public/home-img4.png | Bin 0 -> 12294 bytes static/public/income.png | Bin 0 -> 14108 bytes static/public/logo-avatar.png | Bin 0 -> 7853 bytes static/public/logo.png | Bin 0 -> 60428 bytes static/public/my-bg.jpg | Bin 0 -> 24262 bytes static/public/notice.png | Bin 0 -> 2392 bytes static/public/redeem.png | Bin 0 -> 113575 bytes store/actions.js | 1 + store/index.js | 16 + store/modules/moduleA.js | 112 + store/modules/moduleB.js | 87 + store/mutations.js | 1 + store/readme.md | 119 + uni.scss | 82 + .../.automator/mp-weixin/.automator.json | 0 unpackage/dist/build/mp-weixin/app.js | 4 + unpackage/dist/build/mp-weixin/app.json | 67 + unpackage/dist/build/mp-weixin/app.wxss | 3 + unpackage/dist/build/mp-weixin/common/main.js | 1 + .../dist/build/mp-weixin/common/main.wxss | 49 + .../dist/build/mp-weixin/common/runtime.js | 4 + .../dist/build/mp-weixin/common/vendor.js | 14 + .../components/address-one/address-one.js | 10 + .../components/address-one/address-one.json | 4 + .../components/address-one/address-one.wxml | 1 + .../components/address-one/address-one.wxss | 1 + .../mp-weixin/components/foot-bar/foot-bar.js | 10 + .../components/foot-bar/foot-bar.json | 4 + .../components/foot-bar/foot-bar.wxml | 1 + .../components/foot-bar/foot-bar.wxss | 1 + .../components/goods-list/goods-list.js | 10 + .../components/goods-list/goods-list.json | 4 + .../components/goods-list/goods-list.wxml | 1 + .../components/goods-list/goods-list.wxss | 3 + .../components/nothing/nothing-page.js | 10 + .../components/nothing/nothing-page.json | 4 + .../components/nothing/nothing-page.wxml | 1 + .../components/nothing/nothing-page.wxss | 1 + .../components/status-nav/status-nav.js | 10 + .../components/status-nav/status-nav.json | 4 + .../components/status-nav/status-nav.wxml | 1 + .../components/status-nav/status-nav.wxss | 1 + .../components/swipers/swiper-lamp.js | 10 + .../components/swipers/swiper-lamp.json | 4 + .../components/swipers/swiper-lamp.wxml | 1 + .../components/swipers/swiper-lamp.wxss | 1 + .../mp-weixin/components/swipers/swiper-pu.js | 10 + .../components/swipers/swiper-pu.json | 4 + .../components/swipers/swiper-pu.wxml | 1 + .../components/swipers/swiper-pu.wxss | 1 + .../thorui/tui-button/tui-button.js | 10 + .../thorui/tui-button/tui-button.json | 4 + .../thorui/tui-button/tui-button.wxml | 1 + .../thorui/tui-button/tui-button.wxss | 1 + .../components/thorui/tui-modal/tui-modal.js | 10 + .../thorui/tui-modal/tui-modal.json | 4 + .../thorui/tui-modal/tui-modal.wxml | 1 + .../thorui/tui-modal/tui-modal.wxss | 1 + .../mp-weixin/components/vip-card/vip-card.js | 10 + .../components/vip-card/vip-card.json | 4 + .../components/vip-card/vip-card.wxml | 1 + .../components/vip-card/vip-card.wxss | 1 + .../components/wakary-input/wakary-input.js | 10 + .../components/wakary-input/wakary-input.json | 4 + .../components/wakary-input/wakary-input.wxml | 1 + .../components/wakary-input/wakary-input.wxss | 1 + .../dist/build/mp-weixin/pages/cart/cart.js | 1 + .../dist/build/mp-weixin/pages/cart/cart.json | 10 + .../dist/build/mp-weixin/pages/cart/cart.wxml | 1 + .../mp-weixin/pages/cart/orderConfirm.js | 1 + .../mp-weixin/pages/cart/orderConfirm.json | 7 + .../mp-weixin/pages/cart/orderConfirm.wxml | 1 + .../dist/build/mp-weixin/pages/cate/cate.js | 1 + .../dist/build/mp-weixin/pages/cate/cate.json | 10 + .../dist/build/mp-weixin/pages/cate/cate.wxml | 1 + .../dist/build/mp-weixin/pages/cate/cate.wxss | 1 + .../dist/build/mp-weixin/pages/index/index.js | 1 + .../build/mp-weixin/pages/index/index.json | 12 + .../build/mp-weixin/pages/index/index.wxml | 1 + .../build/mp-weixin/pages/my/information.js | 1 + .../build/mp-weixin/pages/my/information.json | 7 + .../build/mp-weixin/pages/my/information.wxml | 1 + unpackage/dist/build/mp-weixin/pages/my/my.js | 1 + .../dist/build/mp-weixin/pages/my/my.json | 8 + .../dist/build/mp-weixin/pages/my/my.wxml | 1 + .../dist/build/mp-weixin/pages/my/my.wxss | 1 + .../mp-weixin/pagesA/address/addAddress.js | 1 + .../mp-weixin/pagesA/address/addAddress.json | 8 + .../mp-weixin/pagesA/address/addAddress.wxml | 1 + .../build/mp-weixin/pagesA/address/address.js | 1 + .../mp-weixin/pagesA/address/address.json | 8 + .../mp-weixin/pagesA/address/address.wxml | 1 + .../pagesA/clerkEntrance/clerkEntrance.js | 1 + .../pagesA/clerkEntrance/clerkEntrance.json | 7 + .../pagesA/clerkEntrance/clerkEntrance.wxml | 1 + .../pagesA/clerkEntrance/clerkEntrance.wxss | 1 + .../clerkEntrance/clerkEntranceDetail.js | 1 + .../clerkEntrance/clerkEntranceDetail.json | 9 + .../clerkEntrance/clerkEntranceDetail.wxml | 1 + .../clerkEntrance/clerkEntranceDetail.wxss | 1 + .../build/mp-weixin/pagesA/login/login.js | 1 + .../build/mp-weixin/pagesA/login/login.json | 7 + .../build/mp-weixin/pagesA/login/login.wxml | 1 + .../build/mp-weixin/pagesA/login/login.wxss | 1 + .../build/mp-weixin/pagesA/myCard/myCard.js | 1 + .../build/mp-weixin/pagesA/myCard/myCard.json | 7 + .../build/mp-weixin/pagesA/myCard/myCard.wxml | 1 + .../build/mp-weixin/pagesA/myCard/myCard.wxss | 1 + .../build/mp-weixin/pagesA/myCard/writeOff.js | 1 + .../mp-weixin/pagesA/myCard/writeOff.json | 7 + .../mp-weixin/pagesA/myCard/writeOff.wxml | 1 + .../mp-weixin/pagesA/myCard/writeOff.wxss | 1 + .../build/mp-weixin/pagesA/order/detail.js | 1 + .../build/mp-weixin/pagesA/order/detail.json | 8 + .../build/mp-weixin/pagesA/order/detail.wxml | 1 + .../build/mp-weixin/pagesA/order/logistics.js | 1 + .../mp-weixin/pagesA/order/logistics.json | 7 + .../mp-weixin/pagesA/order/logistics.wxml | 1 + .../mp-weixin/pagesA/order/logistics.wxss | 1 + .../build/mp-weixin/pagesA/order/order.js | 1 + .../build/mp-weixin/pagesA/order/order.json | 8 + .../build/mp-weixin/pagesA/order/order.wxml | 1 + .../build/mp-weixin/pagesA/search/search.js | 1 + .../build/mp-weixin/pagesA/search/search.json | 9 + .../build/mp-weixin/pagesA/search/search.wxml | 1 + .../mp-weixin/pagesA/shopOwner/shopOwner.js | 1 + .../mp-weixin/pagesA/shopOwner/shopOwner.json | 7 + .../mp-weixin/pagesA/shopOwner/shopOwner.wxml | 1 + .../mp-weixin/pagesA/shopOwner/shopOwner.wxss | 1 + .../build/mp-weixin/pagesA/vipCard/vipCard.js | 1 + .../mp-weixin/pagesA/vipCard/vipCard.json | 9 + .../mp-weixin/pagesA/vipCard/vipCard.wxml | 1 + .../mp-weixin/pagesA/vipCard/vipCard.wxss | 1 + .../mp-weixin/pagesA/vipCard/vipCardDetail.js | 1 + .../pagesA/vipCard/vipCardDetail.json | 9 + .../pagesA/vipCard/vipCardDetail.wxml | 1 + .../pagesA/vipCard/vipCardDetail.wxss | 1 + .../build/mp-weixin/pagesB/balance/balance.js | 1 + .../mp-weixin/pagesB/balance/balance.json | 7 + .../mp-weixin/pagesB/balance/balance.wxml | 1 + .../mp-weixin/pagesB/balance/balance.wxss | 1 + .../mp-weixin/pagesB/collection/collection.js | 1 + .../pagesB/collection/collection.json | 8 + .../pagesB/collection/collection.wxml | 1 + .../pagesB/goodsDetail/goodsDetail.js | 1 + .../pagesB/goodsDetail/goodsDetail.json | 9 + .../pagesB/goodsDetail/goodsDetail.wxml | 1 + .../mp-weixin/pagesB/integral/integral.js | 1 + .../mp-weixin/pagesB/integral/integral.json | 7 + .../mp-weixin/pagesB/integral/integral.wxml | 1 + .../mp-weixin/pagesB/integral/integral.wxss | 1 + .../dist/build/mp-weixin/pagesB/news/news.js | 1 + .../build/mp-weixin/pagesB/news/news.json | 7 + .../build/mp-weixin/pagesB/news/news.wxml | 1 + .../build/mp-weixin/pagesB/news/news.wxss | 1 + .../build/mp-weixin/pagesB/news/newsDetail.js | 1 + .../mp-weixin/pagesB/news/newsDetail.json | 7 + .../mp-weixin/pagesB/news/newsDetail.wxml | 1 + .../mp-weixin/pagesB/news/newsDetail.wxss | 1 + .../pagesB/password/forgetPassword.js | 1 + .../pagesB/password/forgetPassword.json | 8 + .../pagesB/password/forgetPassword.wxml | 1 + .../pagesB/password/forgetPassword.wxss | 1 + .../pagesB/password/modifyPassword.js | 1 + .../pagesB/password/modifyPassword.json | 7 + .../pagesB/password/modifyPassword.wxml | 1 + .../pagesB/password/modifyPassword.wxss | 1 + .../mp-weixin/pagesB/recharge/recharge.js | 1 + .../mp-weixin/pagesB/recharge/recharge.json | 5 + .../mp-weixin/pagesB/recharge/recharge.wxml | 1 + .../mp-weixin/pagesB/recharge/recharge.wxss | 1 + .../mp-weixin/pagesB/register/register.js | 1 + .../mp-weixin/pagesB/register/register.json | 7 + .../mp-weixin/pagesB/register/register.wxml | 1 + .../mp-weixin/pagesB/register/register.wxss | 1 + .../mp-weixin/pagesB/singlePage/address.js | 1 + .../mp-weixin/pagesB/singlePage/address.json | 7 + .../mp-weixin/pagesB/singlePage/address.wxml | 1 + .../mp-weixin/pagesB/singlePage/address.wxss | 1 + .../dist/build/mp-weixin/project.config.json | 29 + .../dist/build/mp-weixin/static/bar-code.png | Bin 0 -> 4369 bytes .../dist/build/mp-weixin/static/cate-top.jpg | Bin 0 -> 117758 bytes .../build/mp-weixin/static/cate/cate-01.png | Bin 0 -> 11756 bytes .../build/mp-weixin/static/cate/cate-02.png | Bin 0 -> 11384 bytes .../build/mp-weixin/static/cate/cate-03.png | Bin 0 -> 11585 bytes .../build/mp-weixin/static/cate/cate-04.png | Bin 0 -> 12481 bytes .../build/mp-weixin/static/cate/cate-05.png | Bin 0 -> 10946 bytes .../build/mp-weixin/static/cate/cate-06.png | Bin 0 -> 9822 bytes .../build/mp-weixin/static/cate/cate-07.png | Bin 0 -> 11015 bytes .../build/mp-weixin/static/cate/cate-08.png | Bin 0 -> 10659 bytes .../build/mp-weixin/static/cate/cate-09.png | Bin 0 -> 9375 bytes .../build/mp-weixin/static/cate/cate-10.png | Bin 0 -> 11736 bytes .../mp-weixin/static/foot-bar/cart-active.png | Bin 0 -> 1567 bytes .../build/mp-weixin/static/foot-bar/cart.png | Bin 0 -> 1559 bytes .../mp-weixin/static/foot-bar/cate-active.png | Bin 0 -> 1587 bytes .../build/mp-weixin/static/foot-bar/cate.png | Bin 0 -> 1583 bytes .../static/foot-bar/index-active.png | Bin 0 -> 1305 bytes .../build/mp-weixin/static/foot-bar/index.png | Bin 0 -> 1306 bytes .../mp-weixin/static/foot-bar/my-active.png | Bin 0 -> 1650 bytes .../build/mp-weixin/static/foot-bar/my.png | Bin 0 -> 1649 bytes .../build/mp-weixin/static/icon/huang.png | Bin 0 -> 7697 bytes .../mp-weixin/static/icon/icon-add-cart.png | Bin 0 -> 1859 bytes .../build/mp-weixin/static/icon/icon-addr.png | Bin 0 -> 1323 bytes .../static/icon/icon-address-other.png | Bin 0 -> 2015 bytes .../mp-weixin/static/icon/icon-address.png | Bin 0 -> 1737 bytes .../mp-weixin/static/icon/icon-arrow-01.png | Bin 0 -> 1120 bytes .../mp-weixin/static/icon/icon-arrow-down.png | Bin 0 -> 1097 bytes .../static/icon/icon-arrow-right.png | Bin 0 -> 1321 bytes .../mp-weixin/static/icon/icon-arrow-top.png | Bin 0 -> 1187 bytes .../mp-weixin/static/icon/icon-arrow-up.png | Bin 0 -> 1118 bytes .../mp-weixin/static/icon/icon-back-top.jpg | Bin 0 -> 2708 bytes .../build/mp-weixin/static/icon/icon-cart.png | Bin 0 -> 1480 bytes .../mp-weixin/static/icon/icon-checked.png | Bin 0 -> 1177 bytes .../mp-weixin/static/icon/icon-close.png | Bin 0 -> 1504 bytes .../static/icon/icon-collection-01.png | Bin 0 -> 1604 bytes .../static/icon/icon-collection-active.png | Bin 0 -> 1317 bytes .../mp-weixin/static/icon/icon-collection.png | Bin 0 -> 1607 bytes .../build/mp-weixin/static/icon/icon-del.png | Bin 0 -> 1394 bytes .../build/mp-weixin/static/icon/icon-edit.png | Bin 0 -> 2055 bytes .../build/mp-weixin/static/icon/icon-jia.png | Bin 0 -> 1074 bytes .../build/mp-weixin/static/icon/icon-jian.png | Bin 0 -> 963 bytes .../static/icon/icon-layout-other.png | Bin 0 -> 1674 bytes .../mp-weixin/static/icon/icon-layout.png | Bin 0 -> 1555 bytes .../mp-weixin/static/icon/icon-notice.png | Bin 0 -> 1405 bytes .../mp-weixin/static/icon/icon-phone.png | Bin 0 -> 1835 bytes .../mp-weixin/static/icon/icon-radius.png | Bin 0 -> 1040 bytes .../mp-weixin/static/icon/icon-refresh.png | Bin 0 -> 1478 bytes .../mp-weixin/static/icon/icon-screen.png | Bin 0 -> 1349 bytes .../mp-weixin/static/icon/icon-search.png | Bin 0 -> 1833 bytes .../mp-weixin/static/icon/icon-share.png | Bin 0 -> 1314 bytes .../mp-weixin/static/icon/icon-spot-blue.png | Bin 0 -> 1056 bytes .../build/mp-weixin/static/icon/icon-spot.png | Bin 0 -> 1047 bytes .../static/icon/icon-wechat-line.png | Bin 0 -> 1830 bytes .../mp-weixin/static/icon/icon-wechat.png | Bin 0 -> 1845 bytes .../mp-weixin/static/logistics/icon-call.png | Bin 0 -> 1351 bytes .../static/logistics/icon-logistics-01.png | Bin 0 -> 1247 bytes .../static/logistics/icon-logistics-02.png | Bin 0 -> 1266 bytes .../static/logistics/icon-logistics-03.png | Bin 0 -> 1772 bytes .../static/logistics/icon-logistics-04.png | Bin 0 -> 1474 bytes .../dist/build/mp-weixin/static/my/nav-01.png | Bin 0 -> 1749 bytes .../dist/build/mp-weixin/static/my/nav-02.png | Bin 0 -> 1951 bytes .../dist/build/mp-weixin/static/my/nav-03.png | Bin 0 -> 1769 bytes .../dist/build/mp-weixin/static/my/nav-04.png | Bin 0 -> 1658 bytes .../dist/build/mp-weixin/static/my/nav-05.png | Bin 0 -> 1521 bytes .../dist/build/mp-weixin/static/my/nav-06.png | Bin 0 -> 1922 bytes .../dist/build/mp-weixin/static/my/nav-07.png | Bin 0 -> 1563 bytes .../build/mp-weixin/static/my/order-01.png | Bin 0 -> 1548 bytes .../build/mp-weixin/static/my/order-02.png | Bin 0 -> 2040 bytes .../build/mp-weixin/static/my/order-03.png | Bin 0 -> 2633 bytes .../build/mp-weixin/static/my/order-04.png | Bin 0 -> 1601 bytes .../build/mp-weixin/static/public/avatar.png | Bin 0 -> 4898 bytes .../build/mp-weixin/static/public/blue-bg.jpg | Bin 0 -> 46993 bytes .../mp-weixin/static/public/blue-bg2.jpg | Bin 0 -> 55497 bytes .../mp-weixin/static/public/login-bg.jpg | Bin 0 -> 15226 bytes .../build/mp-weixin/static/public/logo.png | Bin 0 -> 18185 bytes .../build/mp-weixin/static/public/my-bg.jpg | Bin 0 -> 70784 bytes .../build/mp-weixin/static/public/notice.png | Bin 0 -> 2392 bytes .../mp-weixin/static/public/scan-btn.png | Bin 0 -> 2235 bytes .../dist/build/mp-weixin/static/qr-code.png | Bin 0 -> 6836 bytes .../dev/.automator/mp-weixin/.automator.json | 0 .../.sourcemap/mp-weixin/common/main.js.map | 1 + .../mp-weixin/common/runtime.js.map | 1 + .../.sourcemap/mp-weixin/common/vendor.js.map | 1 + .../components/address-one/address-one.js.map | 1 + .../components/foot-bar/foot-bar.js.map | 1 + .../components/goods-list/goods-list.js.map | 1 + .../maramlee-waterfalls-flow.js.map | 1 + .../components/nothing/nothing-page.js.map | 1 + .../components/status-nav/status-nav.js.map | 1 + .../components/swipers/swiper-lamp.js.map | 1 + .../components/swipers/swiper-pu.js.map | 1 + .../thorui/tui-button/tui-button.js.map | 1 + .../thorui/tui-modal/tui-modal.js.map | 1 + .../components/u--input/u--input.js.map | 1 + .../components/u-badge/u-badge.js.map | 1 + .../components/u-button/u-button.js.map | 1 + .../u-cell-group/u-cell-group.js.map | 1 + .../uview-ui/components/u-cell/u-cell.js.map | 1 + .../u-checkbox-group/u-checkbox-group.js.map | 1 + .../components/u-checkbox/u-checkbox.js.map | 1 + .../uview-ui/components/u-col/u-col.js.map | 1 + .../components/u-empty/u-empty.js.map | 1 + .../components/u-form-item/u-form-item.js.map | 1 + .../uview-ui/components/u-form/u-form.js.map | 1 + .../uview-ui/components/u-icon/u-icon.js.map | 1 + .../components/u-input/u-input.js.map | 1 + .../uview-ui/components/u-line/u-line.js.map | 1 + .../u-loading-icon/u-loading-icon.js.map | 1 + .../components/u-modal/u-modal.js.map | 1 + .../u-number-box/u-number-box.js.map | 1 + .../components/u-overlay/u-overlay.js.map | 1 + .../components/u-parse/node/node.js.map | 1 + .../components/u-parse/u-parse.js.map | 1 + .../components/u-picker/u-picker.js.map | 1 + .../components/u-popup/u-popup.js.map | 1 + .../u-radio-group/u-radio-group.js.map | 1 + .../components/u-radio/u-radio.js.map | 1 + .../uview-ui/components/u-row/u-row.js.map | 1 + .../u-safe-bottom/u-safe-bottom.js.map | 1 + .../components/u-skeleton/u-skeleton.js.map | 1 + .../u-status-bar/u-status-bar.js.map | 1 + .../components/u-sticky/u-sticky.js.map | 1 + .../uview-ui/components/u-tabs/u-tabs.js.map | 1 + .../components/u-toolbar/u-toolbar.js.map | 1 + .../u-transition/u-transition.js.map | 1 + .../components/vip-card/vip-card.js.map | 1 + .../wakary-input/wakary-input.js.map | 1 + .../mp-weixin/pages/cart/cart.js.map | 1 + .../mp-weixin/pages/cart/orderConfirm.js.map | 1 + .../mp-weixin/pages/cate/cate.js.map | 1 + .../mp-weixin/pages/home/home.js.map | 1 + .../mp-weixin/pages/index/index.js.map | 1 + .../pages/integration/integration.js.map | 1 + .../mp-weixin/pages/login/login.js.map | 1 + .../mp-weixin/pages/my/information.js.map | 1 + .../.sourcemap/mp-weixin/pages/my/my.js.map | 1 + .../mp-weixin/pagesA/addCard/addCard.js.map | 1 + .../pagesA/address/addAddress.js.map | 1 + .../mp-weixin/pagesA/address/address.js.map | 1 + .../pagesA/clerkEntrance/clerkEntrance.js.map | 1 + .../clerkEntrance/clerkEntranceDetail.js.map | 1 + .../pagesA/fetchWater/fetchWater.js.map | 1 + .../mp-weixin/pagesA/giftCard/giftCard.js.map | 1 + .../mp-weixin/pagesA/login/login.js.map | 1 + .../mp-weixin/pagesA/login1/login1.js.map | 1 + .../mp-weixin/pagesA/myCard/myCard.js.map | 1 + .../mp-weixin/pagesA/myCard/writeOff.js.map | 1 + .../mp-weixin/pagesA/order/detail.js.map | 1 + .../mp-weixin/pagesA/order/logistics.js.map | 1 + .../mp-weixin/pagesA/order/order.js.map | 1 + .../mp-weixin/pagesA/order/orderDetail.js.map | 1 + .../mp-weixin/pagesA/search/search.js.map | 1 + .../pagesA/shopOwner/shopOwner.js.map | 1 + .../mp-weixin/pagesA/vipCard/vipCard.js.map | 1 + .../pagesA/vipCard/vipCardDetail.js.map | 1 + .../pagesA/waterCard/waterCard.js.map | 1 + .../mp-weixin/pagesB/balance/balance.js.map | 1 + .../pagesB/collection/collection.js.map | 1 + .../pagesB/goodsDetail/goodsDetail.js.map | 1 + .../mp-weixin/pagesB/integral/integral.js.map | 1 + .../mp-weixin/pagesB/news/news.js.map | 1 + .../mp-weixin/pagesB/news/newsDetail.js.map | 1 + .../pagesB/password/forgetPassword.js.map | 1 + .../pagesB/password/modifyPassword.js.map | 1 + .../mp-weixin/pagesB/recharge/recharge.js.map | 1 + .../mp-weixin/pagesB/register/register.js.map | 1 + .../pagesB/singlePage/address.js.map | 1 + unpackage/dist/dev/mp-weixin/app.js | 4 + unpackage/dist/dev/mp-weixin/app.json | 68 + unpackage/dist/dev/mp-weixin/app.wxss | 3 + unpackage/dist/dev/mp-weixin/common/main.js | 2 + unpackage/dist/dev/mp-weixin/common/main.wxss | 7789 +++++++++++++++++ .../dist/dev/mp-weixin/common/runtime.js | 5 + unpackage/dist/dev/mp-weixin/common/vendor.js | 24 + .../components/address-one/address-one.js | 11 + .../components/address-one/address-one.json | 4 + .../components/address-one/address-one.wxml | 1 + .../components/address-one/address-one.wxss | 113 + .../mp-weixin/components/foot-bar/foot-bar.js | 11 + .../components/foot-bar/foot-bar.json | 4 + .../components/foot-bar/foot-bar.wxml | 1 + .../components/foot-bar/foot-bar.wxss | 36 + .../components/goods-list/goods-list.js | 11 + .../components/goods-list/goods-list.json | 4 + .../components/goods-list/goods-list.wxml | 1 + .../components/goods-list/goods-list.wxss | 147 + .../maramlee-waterfalls-flow.js | 11 + .../maramlee-waterfalls-flow.json | 4 + .../maramlee-waterfalls-flow.wxml | 1 + .../maramlee-waterfalls-flow.wxss | 173 + .../components/nothing/nothing-page.js | 11 + .../components/nothing/nothing-page.json | 4 + .../components/nothing/nothing-page.wxml | 1 + .../components/nothing/nothing-page.wxss | 7 + .../components/status-nav/status-nav.js | 11 + .../components/status-nav/status-nav.json | 4 + .../components/status-nav/status-nav.wxml | 1 + .../components/status-nav/status-nav.wxss | 43 + .../components/swipers/swiper-lamp.js | 11 + .../components/swipers/swiper-lamp.json | 4 + .../components/swipers/swiper-lamp.wxml | 1 + .../components/swipers/swiper-lamp.wxss | 7 + .../mp-weixin/components/swipers/swiper-pu.js | 11 + .../components/swipers/swiper-pu.json | 4 + .../components/swipers/swiper-pu.wxml | 1 + .../components/swipers/swiper-pu.wxss | 48 + .../uview-ui/components/u-badge/u-badge.js | 11 + .../uview-ui/components/u-badge/u-badge.json | 4 + .../uview-ui/components/u-badge/u-badge.wxml | 1 + .../uview-ui/components/u-badge/u-badge.wxss | 95 + .../uview-ui/components/u-button/u-button.js | 11 + .../components/u-button/u-button.json | 7 + .../components/u-button/u-button.wxml | 1 + .../components/u-button/u-button.wxss | 187 + .../u-checkbox-group/u-checkbox-group.js | 11 + .../u-checkbox-group/u-checkbox-group.json | 4 + .../u-checkbox-group/u-checkbox-group.wxml | 1 + .../u-checkbox-group/u-checkbox-group.wxss | 48 + .../components/u-checkbox/u-checkbox.js | 11 + .../components/u-checkbox/u-checkbox.json | 6 + .../components/u-checkbox/u-checkbox.wxml | 1 + .../components/u-checkbox/u-checkbox.wxss | 98 + .../uview-ui/components/u-col/u-col.js | 11 + .../uview-ui/components/u-col/u-col.json | 4 + .../uview-ui/components/u-col/u-col.wxml | 1 + .../uview-ui/components/u-col/u-col.wxss | 84 + .../uview-ui/components/u-empty/u-empty.js | 11 + .../uview-ui/components/u-empty/u-empty.json | 6 + .../uview-ui/components/u-empty/u-empty.wxml | 1 + .../uview-ui/components/u-empty/u-empty.wxss | 61 + .../uview-ui/components/u-icon/u-icon.js | 11 + .../uview-ui/components/u-icon/u-icon.json | 4 + .../uview-ui/components/u-icon/u-icon.wxml | 1 + .../uview-ui/components/u-icon/u-icon.wxss | 93 + .../uview-ui/components/u-line/u-line.js | 11 + .../uview-ui/components/u-line/u-line.json | 4 + .../uview-ui/components/u-line/u-line.wxml | 1 + .../uview-ui/components/u-line/u-line.wxss | 43 + .../u-loading-icon/u-loading-icon.js | 11 + .../u-loading-icon/u-loading-icon.json | 4 + .../u-loading-icon/u-loading-icon.wxml | 1 + .../u-loading-icon/u-loading-icon.wxss | 197 + .../uview-ui/components/u-modal/u-modal.js | 11 + .../uview-ui/components/u-modal/u-modal.json | 8 + .../uview-ui/components/u-modal/u-modal.wxml | 1 + .../uview-ui/components/u-modal/u-modal.wxss | 93 + .../components/u-number-box/u-number-box.js | 11 + .../components/u-number-box/u-number-box.json | 6 + .../components/u-number-box/u-number-box.wxml | 1 + .../components/u-number-box/u-number-box.wxss | 86 + .../components/u-overlay/u-overlay.js | 11 + .../components/u-overlay/u-overlay.json | 6 + .../components/u-overlay/u-overlay.wxml | 1 + .../components/u-overlay/u-overlay.wxss | 48 + .../uview-ui/components/u-picker/u-picker.js | 11 + .../components/u-picker/u-picker.json | 8 + .../components/u-picker/u-picker.wxml | 1 + .../components/u-picker/u-picker.wxss | 76 + .../uview-ui/components/u-popup/u-popup.js | 11 + .../uview-ui/components/u-popup/u-popup.json | 10 + .../uview-ui/components/u-popup/u-popup.wxml | 1 + .../uview-ui/components/u-popup/u-popup.wxss | 99 + .../components/u-radio-group/u-radio-group.js | 11 + .../u-radio-group/u-radio-group.json | 4 + .../u-radio-group/u-radio-group.wxml | 1 + .../u-radio-group/u-radio-group.wxss | 51 + .../uview-ui/components/u-radio/u-radio.js | 11 + .../uview-ui/components/u-radio/u-radio.json | 6 + .../uview-ui/components/u-radio/u-radio.wxml | 1 + .../uview-ui/components/u-radio/u-radio.wxss | 98 + .../uview-ui/components/u-row/u-row.js | 11 + .../uview-ui/components/u-row/u-row.json | 4 + .../uview-ui/components/u-row/u-row.wxml | 1 + .../uview-ui/components/u-row/u-row.wxss | 44 + .../components/u-safe-bottom/u-safe-bottom.js | 11 + .../u-safe-bottom/u-safe-bottom.json | 4 + .../u-safe-bottom/u-safe-bottom.wxml | 1 + .../u-safe-bottom/u-safe-bottom.wxss | 34 + .../components/u-skeleton/u-skeleton.js | 11 + .../components/u-skeleton/u-skeleton.json | 4 + .../components/u-skeleton/u-skeleton.wxml | 1 + .../components/u-skeleton/u-skeleton.wxss | 86 + .../components/u-status-bar/u-status-bar.js | 11 + .../components/u-status-bar/u-status-bar.json | 4 + .../components/u-status-bar/u-status-bar.wxml | 1 + .../components/u-status-bar/u-status-bar.wxss | 34 + .../uview-ui/components/u-tabs/u-tabs.js | 11 + .../uview-ui/components/u-tabs/u-tabs.json | 6 + .../uview-ui/components/u-tabs/u-tabs.wxml | 1 + .../uview-ui/components/u-tabs/u-tabs.wxss | 88 + .../components/u-toolbar/u-toolbar.js | 11 + .../components/u-toolbar/u-toolbar.json | 4 + .../components/u-toolbar/u-toolbar.wxml | 1 + .../components/u-toolbar/u-toolbar.wxss | 64 + .../components/u-transition/u-transition.js | 11 + .../components/u-transition/u-transition.json | 4 + .../components/u-transition/u-transition.wxml | 1 + .../components/u-transition/u-transition.wxss | 153 + .../dist/dev/mp-weixin/pages/cart/cart.js | 2 + .../dist/dev/mp-weixin/pages/cart/cart.json | 10 + .../dist/dev/mp-weixin/pages/cart/cart.wxml | 1 + .../dev/mp-weixin/pages/cart/orderConfirm.js | 2 + .../mp-weixin/pages/cart/orderConfirm.json | 9 + .../mp-weixin/pages/cart/orderConfirm.wxml | 1 + .../dist/dev/mp-weixin/pages/cate/cate.js | 2 + .../dist/dev/mp-weixin/pages/cate/cate.json | 10 + .../dist/dev/mp-weixin/pages/cate/cate.wxml | 1 + .../dist/dev/mp-weixin/pages/cate/cate.wxss | 18 + .../dist/dev/mp-weixin/pages/home/home.js | 2 + .../dist/dev/mp-weixin/pages/home/home.json | 13 + .../dist/dev/mp-weixin/pages/home/home.wxml | 1 + .../dist/dev/mp-weixin/pages/home/home.wxss | 63 + .../dist/dev/mp-weixin/pages/index/index.js | 2 + .../dist/dev/mp-weixin/pages/index/index.json | 13 + .../dist/dev/mp-weixin/pages/index/index.wxml | 1 + .../dev/mp-weixin/pages/my/information.js | 2 + .../dev/mp-weixin/pages/my/information.json | 7 + .../dev/mp-weixin/pages/my/information.wxml | 1 + unpackage/dist/dev/mp-weixin/pages/my/my.js | 2 + unpackage/dist/dev/mp-weixin/pages/my/my.json | 8 + unpackage/dist/dev/mp-weixin/pages/my/my.wxml | 1 + unpackage/dist/dev/mp-weixin/pages/my/my.wxss | 206 + .../dev/mp-weixin/pagesA/addCard/addCard.js | 2 + .../dev/mp-weixin/pagesA/addCard/addCard.json | 10 + .../dev/mp-weixin/pagesA/addCard/addCard.wxml | 1 + .../dev/mp-weixin/pagesA/addCard/addCard.wxss | 77 + .../mp-weixin/pagesA/address/addAddress.js | 2 + .../mp-weixin/pagesA/address/addAddress.json | 8 + .../mp-weixin/pagesA/address/addAddress.wxml | 1 + .../dev/mp-weixin/pagesA/address/address.js | 2 + .../dev/mp-weixin/pagesA/address/address.json | 8 + .../dev/mp-weixin/pagesA/address/address.wxml | 1 + .../mp-weixin/pagesA/fetchWater/fetchWater.js | 2 + .../pagesA/fetchWater/fetchWater.json | 12 + .../pagesA/fetchWater/fetchWater.wxml | 1 + .../pagesA/fetchWater/fetchWater.wxss | 389 + .../dev/mp-weixin/pagesA/giftCard/giftCard.js | 2 + .../mp-weixin/pagesA/giftCard/giftCard.json | 10 + .../mp-weixin/pagesA/giftCard/giftCard.wxml | 1 + .../mp-weixin/pagesA/giftCard/giftCard.wxss | 232 + .../dist/dev/mp-weixin/pagesA/login/login.js | 2 + .../dev/mp-weixin/pagesA/login/login.json | 10 + .../dev/mp-weixin/pagesA/login/login.wxml | 1 + .../dev/mp-weixin/pagesA/login/login.wxss | 174 + .../dist/dev/mp-weixin/pagesA/order/detail.js | 2 + .../dev/mp-weixin/pagesA/order/detail.json | 7 + .../dev/mp-weixin/pagesA/order/detail.wxml | 1 + .../dev/mp-weixin/pagesA/order/logistics.js | 2 + .../dev/mp-weixin/pagesA/order/logistics.json | 7 + .../dev/mp-weixin/pagesA/order/logistics.wxml | 1 + .../dev/mp-weixin/pagesA/order/logistics.wxss | 152 + .../dist/dev/mp-weixin/pagesA/order/order.js | 2 + .../dev/mp-weixin/pagesA/order/order.json | 9 + .../dev/mp-weixin/pagesA/order/order.wxml | 1 + .../dev/mp-weixin/pagesA/search/search.js | 2 + .../dev/mp-weixin/pagesA/search/search.json | 9 + .../dev/mp-weixin/pagesA/search/search.wxml | 1 + .../mp-weixin/pagesA/waterCard/waterCard.js | 2 + .../mp-weixin/pagesA/waterCard/waterCard.json | 15 + .../mp-weixin/pagesA/waterCard/waterCard.wxml | 1 + .../mp-weixin/pagesA/waterCard/waterCard.wxss | 352 + .../mp-weixin/pagesB/collection/collection.js | 2 + .../pagesB/collection/collection.json | 8 + .../pagesB/collection/collection.wxml | 1 + .../pagesB/goodsDetail/goodsDetail.js | 2 + .../pagesB/goodsDetail/goodsDetail.json | 12 + .../pagesB/goodsDetail/goodsDetail.wxml | 1 + .../pagesB/goodsDetail/goodsDetail.wxss | 133 + .../dev/mp-weixin/pagesB/integral/integral.js | 2 + .../mp-weixin/pagesB/integral/integral.json | 7 + .../mp-weixin/pagesB/integral/integral.wxml | 1 + .../mp-weixin/pagesB/integral/integral.wxss | 60 + .../dist/dev/mp-weixin/pagesB/news/news.js | 2 + .../dist/dev/mp-weixin/pagesB/news/news.json | 7 + .../dist/dev/mp-weixin/pagesB/news/news.wxml | 1 + .../dist/dev/mp-weixin/pagesB/news/news.wxss | 35 + .../dev/mp-weixin/pagesB/news/newsDetail.js | 2 + .../dev/mp-weixin/pagesB/news/newsDetail.json | 7 + .../dev/mp-weixin/pagesB/news/newsDetail.wxml | 1 + .../dev/mp-weixin/pagesB/news/newsDetail.wxss | 25 + .../mp-weixin/pagesB/singlePage/address.js | 2 + .../mp-weixin/pagesB/singlePage/address.json | 7 + .../mp-weixin/pagesB/singlePage/address.wxml | 1 + .../mp-weixin/pagesB/singlePage/address.wxss | 67 + .../dist/dev/mp-weixin/project.config.json | 53 + .../dev/mp-weixin/project.private.config.json | 218 + .../dev/mp-weixin/static/cate/cate-01.png | Bin 0 -> 11756 bytes .../dev/mp-weixin/static/cate/cate-02.png | Bin 0 -> 11384 bytes .../dev/mp-weixin/static/cate/cate-03.png | Bin 0 -> 11585 bytes .../dev/mp-weixin/static/cate/cate-04.png | Bin 0 -> 12481 bytes .../dev/mp-weixin/static/cate/cate-05.png | Bin 0 -> 10946 bytes .../dev/mp-weixin/static/cate/cate-06.png | Bin 0 -> 9822 bytes .../dev/mp-weixin/static/cate/cate-07.png | Bin 0 -> 11015 bytes .../dev/mp-weixin/static/cate/cate-08.png | Bin 0 -> 10659 bytes .../dev/mp-weixin/static/cate/cate-09.png | Bin 0 -> 9375 bytes .../dev/mp-weixin/static/cate/cate-10.png | Bin 0 -> 11736 bytes .../static/distribution/icon_delet.png | Bin 0 -> 4296 bytes .../static/distribution/icon_invite.png | Bin 0 -> 2406 bytes .../static/distribution/icon_yongjin.png | Bin 0 -> 2981 bytes .../mp-weixin/static/foot-bar/cart-active.png | Bin 0 -> 2028 bytes .../dev/mp-weixin/static/foot-bar/cart.png | Bin 0 -> 2027 bytes .../mp-weixin/static/foot-bar/cate-active.png | Bin 0 -> 1758 bytes .../dev/mp-weixin/static/foot-bar/cate.png | Bin 0 -> 1750 bytes .../static/foot-bar/index-active.png | Bin 0 -> 1721 bytes .../dev/mp-weixin/static/foot-bar/index.png | Bin 0 -> 1720 bytes .../static/foot-bar/integral-active.png | Bin 0 -> 9989 bytes .../mp-weixin/static/foot-bar/integral.png | Bin 0 -> 9714 bytes .../mp-weixin/static/foot-bar/my-active.png | Bin 0 -> 2250 bytes .../dist/dev/mp-weixin/static/foot-bar/my.png | Bin 0 -> 2251 bytes .../dist/dev/mp-weixin/static/icon/huang.png | Bin 0 -> 7697 bytes .../mp-weixin/static/icon/icon-add-cart.png | Bin 0 -> 1862 bytes .../dev/mp-weixin/static/icon/icon-addr.png | Bin 0 -> 1323 bytes .../static/icon/icon-address-other.png | Bin 0 -> 2015 bytes .../mp-weixin/static/icon/icon-address.png | Bin 0 -> 1737 bytes .../mp-weixin/static/icon/icon-arrow-01.png | Bin 0 -> 1120 bytes .../mp-weixin/static/icon/icon-arrow-down.png | Bin 0 -> 1097 bytes .../static/icon/icon-arrow-right.png | Bin 0 -> 1321 bytes .../mp-weixin/static/icon/icon-arrow-top.png | Bin 0 -> 1187 bytes .../mp-weixin/static/icon/icon-arrow-up.png | Bin 0 -> 1118 bytes .../mp-weixin/static/icon/icon-back-top.jpg | Bin 0 -> 2708 bytes .../dev/mp-weixin/static/icon/icon-cart.png | Bin 0 -> 1480 bytes .../mp-weixin/static/icon/icon-checked.png | Bin 0 -> 1177 bytes .../dev/mp-weixin/static/icon/icon-close.png | Bin 0 -> 1504 bytes .../static/icon/icon-collection-01.png | Bin 0 -> 1606 bytes .../static/icon/icon-collection-active.png | Bin 0 -> 1317 bytes .../mp-weixin/static/icon/icon-collection.png | Bin 0 -> 1607 bytes .../dev/mp-weixin/static/icon/icon-del.png | Bin 0 -> 1395 bytes .../dev/mp-weixin/static/icon/icon-edit.png | Bin 0 -> 2055 bytes .../dev/mp-weixin/static/icon/icon-jia.png | Bin 0 -> 1074 bytes .../dev/mp-weixin/static/icon/icon-jian.png | Bin 0 -> 963 bytes .../static/icon/icon-layout-other.png | Bin 0 -> 1674 bytes .../dev/mp-weixin/static/icon/icon-layout.png | Bin 0 -> 1555 bytes .../dev/mp-weixin/static/icon/icon-notice.png | Bin 0 -> 1405 bytes .../dev/mp-weixin/static/icon/icon-phone.png | Bin 0 -> 1835 bytes .../dev/mp-weixin/static/icon/icon-radius.png | Bin 0 -> 1040 bytes .../mp-weixin/static/icon/icon-refresh.png | Bin 0 -> 1478 bytes .../dev/mp-weixin/static/icon/icon-screen.png | Bin 0 -> 1349 bytes .../dev/mp-weixin/static/icon/icon-search.png | Bin 0 -> 1833 bytes .../dev/mp-weixin/static/icon/icon-share.png | Bin 0 -> 1314 bytes .../mp-weixin/static/icon/icon-spot-blue.png | Bin 0 -> 1057 bytes .../dev/mp-weixin/static/icon/icon-spot.png | Bin 0 -> 1047 bytes .../static/icon/icon-wechat-line.png | Bin 0 -> 1830 bytes .../dev/mp-weixin/static/icon/icon-wechat.png | Bin 0 -> 1845 bytes .../mp-weixin/static/logistics/icon-call.png | Bin 0 -> 1351 bytes .../static/logistics/icon-logistics-01.png | Bin 0 -> 1247 bytes .../static/logistics/icon-logistics-02.png | Bin 0 -> 1266 bytes .../static/logistics/icon-logistics-03.png | Bin 0 -> 1772 bytes .../static/logistics/icon-logistics-04.png | Bin 0 -> 1474 bytes .../dev/mp-weixin/static/logistics/list.png | Bin 0 -> 17619 bytes .../dist/dev/mp-weixin/static/my/nav-01.png | Bin 0 -> 1749 bytes .../dist/dev/mp-weixin/static/my/nav-02.png | Bin 0 -> 1951 bytes .../dist/dev/mp-weixin/static/my/nav-03.png | Bin 0 -> 1769 bytes .../dist/dev/mp-weixin/static/my/nav-04.png | Bin 0 -> 1658 bytes .../dist/dev/mp-weixin/static/my/nav-05.png | Bin 0 -> 1521 bytes .../dist/dev/mp-weixin/static/my/nav-06.png | Bin 0 -> 1922 bytes .../dist/dev/mp-weixin/static/my/nav-07.png | Bin 0 -> 1563 bytes .../dist/dev/mp-weixin/static/my/order-01.png | Bin 0 -> 1548 bytes .../dist/dev/mp-weixin/static/my/order-02.png | Bin 0 -> 2040 bytes .../dist/dev/mp-weixin/static/my/order-03.png | Bin 0 -> 2633 bytes .../dist/dev/mp-weixin/static/my/order-04.png | Bin 0 -> 1601 bytes .../dev/mp-weixin/static/public/blue-bg2.jpg | Bin 0 -> 19308 bytes .../dev/mp-weixin/static/public/blue-bg3.jpg | Bin 0 -> 21541 bytes .../dev/mp-weixin/static/public/close.png | Bin 0 -> 2219 bytes .../mp-weixin/static/public/home-icon1.png | Bin 0 -> 1375 bytes .../mp-weixin/static/public/home-icon2.png | Bin 0 -> 1356 bytes .../dev/mp-weixin/static/public/home-img1.png | Bin 0 -> 9688 bytes .../dev/mp-weixin/static/public/home-img2.png | Bin 0 -> 10435 bytes .../dev/mp-weixin/static/public/home-img3.png | Bin 0 -> 12094 bytes .../dev/mp-weixin/static/public/home-img4.png | Bin 0 -> 12294 bytes .../dev/mp-weixin/static/public/income.png | Bin 0 -> 14108 bytes .../mp-weixin/static/public/logo-avatar.png | Bin 0 -> 7853 bytes .../dist/dev/mp-weixin/static/public/logo.png | Bin 0 -> 60428 bytes .../dev/mp-weixin/static/public/my-bg.jpg | Bin 0 -> 24262 bytes .../dev/mp-weixin/static/public/notice.png | Bin 0 -> 2392 bytes .../dev/mp-weixin/static/public/redeem.png | Bin 0 -> 113575 bytes 1254 files changed, 89837 insertions(+) create mode 100644 .hbuilderx/launch.json create mode 100644 App.vue create mode 100644 api/index.js create mode 100644 api/water.js create mode 100644 commons/animate.min.css create mode 100644 commons/common.css create mode 100644 commons/icon-font.css create mode 100644 commons/loading.css create mode 100644 commons/style.css create mode 100644 components/address-one/address-one.css create mode 100644 components/address-one/address-one.js create mode 100644 components/address-one/address-one.vue create mode 100644 components/foot-bar/foot-bar.vue create mode 100644 components/goods-list/goods-list.vue create mode 100644 components/maramlee-waterfalls-flow/maramlee-waterfalls-flow.vue create mode 100644 components/nothing/nothing-page.vue create mode 100644 components/nothing/pitera.vue create mode 100644 components/status-nav/status-nav.vue create mode 100644 components/swipers/swiper-lamp.vue create mode 100644 components/swipers/swiper-pu.vue create mode 100644 components/thorui/tui-bottom-popup/tui-bottom-popup.vue create mode 100644 components/thorui/tui-bubble-popup/tui-bubble-popup.vue create mode 100644 components/thorui/tui-button/tui-button.vue create mode 100644 components/thorui/tui-calendar/tui-calendar.js create mode 100644 components/thorui/tui-calendar/tui-calendar.vue create mode 100644 components/thorui/tui-card/tui-card.vue create mode 100644 components/thorui/tui-cascade-selection/tui-cascade-selection.vue create mode 100644 components/thorui/tui-circular-progress/tui-circular-progress.vue create mode 100644 components/thorui/tui-collapse/tui-collapse.vue create mode 100644 components/thorui/tui-countdown/tui-countdown.vue create mode 100644 components/thorui/tui-divider/tui-divider.vue create mode 100644 components/thorui/tui-drawer/tui-drawer.vue create mode 100644 components/thorui/tui-icon/tui-icon.js create mode 100644 components/thorui/tui-icon/tui-icon.vue create mode 100644 components/thorui/tui-loading/tui-loading.vue create mode 100644 components/thorui/tui-loadmore/tui-loadmore.vue create mode 100644 components/thorui/tui-modal/tui-modal.vue create mode 100644 components/thorui/tui-no-data/tui-no-data.vue create mode 100644 components/thorui/tui-nomore/tui-nomore.vue create mode 100644 components/thorui/tui-numberbox/tui-numberbox.vue create mode 100644 components/thorui/tui-rate/tui-rate.vue create mode 100644 components/thorui/tui-slide-verify/tui-slide-verify.vue create mode 100644 components/thorui/tui-slide-verify/tui-slide-verify.wxs create mode 100644 components/thorui/tui-steps/tui-steps.vue create mode 100644 components/thorui/tui-sticky-wxs/tui-sticky-wxs.vue create mode 100644 components/thorui/tui-sticky-wxs/tui-sticky.wxs create mode 100644 components/thorui/tui-sticky/tui-sticky.vue create mode 100644 components/thorui/tui-tag/tui-tag.vue create mode 100644 components/thorui/tui-tips/tui-tips.vue create mode 100644 components/thorui/tui-toast/tui-toast.vue create mode 100644 components/uview-ui/LICENSE create mode 100644 components/uview-ui/README.md create mode 100644 components/uview-ui/changelog.md create mode 100644 components/uview-ui/components/u--form/u--form.vue create mode 100644 components/uview-ui/components/u--image/u--image.vue create mode 100644 components/uview-ui/components/u--input/u--input.vue create mode 100644 components/uview-ui/components/u--text/u--text.vue create mode 100644 components/uview-ui/components/u--textarea/u--textarea.vue create mode 100644 components/uview-ui/components/u-action-sheet/props.js create mode 100644 components/uview-ui/components/u-action-sheet/u-action-sheet.vue create mode 100644 components/uview-ui/components/u-album/props.js create mode 100644 components/uview-ui/components/u-album/u-album.vue create mode 100644 components/uview-ui/components/u-alert-tips/u-alert-tips.vue create mode 100644 components/uview-ui/components/u-alert/props.js create mode 100644 components/uview-ui/components/u-alert/u-alert.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-group/props.js create mode 100644 components/uview-ui/components/u-avatar-group/u-avatar-group.vue create mode 100644 components/uview-ui/components/u-avatar/props.js create mode 100644 components/uview-ui/components/u-avatar/u-avatar.vue create mode 100644 components/uview-ui/components/u-back-top/props.js create mode 100644 components/uview-ui/components/u-back-top/u-back-top.vue create mode 100644 components/uview-ui/components/u-badge/props.js create mode 100644 components/uview-ui/components/u-badge/u-badge.vue create mode 100644 components/uview-ui/components/u-button/nvue.scss create mode 100644 components/uview-ui/components/u-button/props.js create mode 100644 components/uview-ui/components/u-button/u-button.vue create mode 100644 components/uview-ui/components/u-button/vue.scss create mode 100644 components/uview-ui/components/u-calendar/header.vue create mode 100644 components/uview-ui/components/u-calendar/month.vue create mode 100644 components/uview-ui/components/u-calendar/props.js create mode 100644 components/uview-ui/components/u-calendar/u-calendar.vue create mode 100644 components/uview-ui/components/u-calendar/util.js create mode 100644 components/uview-ui/components/u-car-keyboard/props.js 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/props.js 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-cell/props.js create mode 100644 components/uview-ui/components/u-cell/u-cell.vue create mode 100644 components/uview-ui/components/u-checkbox-group/props.js create mode 100644 components/uview-ui/components/u-checkbox-group/u-checkbox-group.vue create mode 100644 components/uview-ui/components/u-checkbox/props.js create mode 100644 components/uview-ui/components/u-checkbox/u-checkbox.vue create mode 100644 components/uview-ui/components/u-circle-progress/props.js create mode 100644 components/uview-ui/components/u-circle-progress/u-circle-progress.vue create mode 100644 components/uview-ui/components/u-code-input/props.js create mode 100644 components/uview-ui/components/u-code-input/u-code-input.vue create mode 100644 components/uview-ui/components/u-code/props.js create mode 100644 components/uview-ui/components/u-code/u-code.vue create mode 100644 components/uview-ui/components/u-col/props.js create mode 100644 components/uview-ui/components/u-col/u-col.vue create mode 100644 components/uview-ui/components/u-collapse-item/props.js create mode 100644 components/uview-ui/components/u-collapse-item/u-collapse-item.vue create mode 100644 components/uview-ui/components/u-collapse/props.js create mode 100644 components/uview-ui/components/u-collapse/u-collapse.vue create mode 100644 components/uview-ui/components/u-column-notice/props.js create mode 100644 components/uview-ui/components/u-column-notice/u-column-notice.vue create mode 100644 components/uview-ui/components/u-count-down/props.js create mode 100644 components/uview-ui/components/u-count-down/u-count-down.vue create mode 100644 components/uview-ui/components/u-count-down/utils.js create mode 100644 components/uview-ui/components/u-count-to/props.js create mode 100644 components/uview-ui/components/u-count-to/u-count-to.vue create mode 100644 components/uview-ui/components/u-datetime-picker/props.js create mode 100644 components/uview-ui/components/u-datetime-picker/u-datetime-picker.vue create mode 100644 components/uview-ui/components/u-divider/props.js create mode 100644 components/uview-ui/components/u-divider/u-divider.vue create mode 100644 components/uview-ui/components/u-dropdown-item/props.js create mode 100644 components/uview-ui/components/u-dropdown-item/u-dropdown-item.vue create mode 100644 components/uview-ui/components/u-dropdown/props.js create mode 100644 components/uview-ui/components/u-dropdown/u-dropdown.vue create mode 100644 components/uview-ui/components/u-empty/props.js 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/props.js create mode 100644 components/uview-ui/components/u-form-item/u-form-item.vue create mode 100644 components/uview-ui/components/u-form/props.js 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/props.js create mode 100644 components/uview-ui/components/u-gap/u-gap.vue create mode 100644 components/uview-ui/components/u-grid-item/props.js create mode 100644 components/uview-ui/components/u-grid-item/u-grid-item.vue create mode 100644 components/uview-ui/components/u-grid/props.js create mode 100644 components/uview-ui/components/u-grid/u-grid.vue create mode 100644 components/uview-ui/components/u-icon/icons.js create mode 100644 components/uview-ui/components/u-icon/props.js create mode 100644 components/uview-ui/components/u-icon/u-icon.vue create mode 100644 components/uview-ui/components/u-image/props.js create mode 100644 components/uview-ui/components/u-image/u-image.vue create mode 100644 components/uview-ui/components/u-index-anchor/props.js create mode 100644 components/uview-ui/components/u-index-anchor/u-index-anchor.vue create mode 100644 components/uview-ui/components/u-index-item/props.js create mode 100644 components/uview-ui/components/u-index-item/u-index-item.vue create mode 100644 components/uview-ui/components/u-index-list/props.js create mode 100644 components/uview-ui/components/u-index-list/u-index-list.vue create mode 100644 components/uview-ui/components/u-input/props.js create mode 100644 components/uview-ui/components/u-input/u-input.vue create mode 100644 components/uview-ui/components/u-keyboard/props.js 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/props.js create mode 100644 components/uview-ui/components/u-line-progress/u-line-progress.vue create mode 100644 components/uview-ui/components/u-line/props.js create mode 100644 components/uview-ui/components/u-line/u-line.vue create mode 100644 components/uview-ui/components/u-link/props.js create mode 100644 components/uview-ui/components/u-link/u-link.vue create mode 100644 components/uview-ui/components/u-list-item/props.js create mode 100644 components/uview-ui/components/u-list-item/u-list-item.vue create mode 100644 components/uview-ui/components/u-list/props.js create mode 100644 components/uview-ui/components/u-list/u-list.vue create mode 100644 components/uview-ui/components/u-loading-icon/props.js create mode 100644 components/uview-ui/components/u-loading-icon/u-loading-icon.vue create mode 100644 components/uview-ui/components/u-loading-page/props.js 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/props.js 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/props.js create mode 100644 components/uview-ui/components/u-modal/u-modal.vue create mode 100644 components/uview-ui/components/u-navbar/props.js create mode 100644 components/uview-ui/components/u-navbar/u-navbar.vue create mode 100644 components/uview-ui/components/u-no-network/props.js create mode 100644 components/uview-ui/components/u-no-network/u-no-network.vue create mode 100644 components/uview-ui/components/u-notice-bar/props.js create mode 100644 components/uview-ui/components/u-notice-bar/u-notice-bar.vue create mode 100644 components/uview-ui/components/u-notify/props.js create mode 100644 components/uview-ui/components/u-notify/u-notify.vue create mode 100644 components/uview-ui/components/u-number-box/props.js create mode 100644 components/uview-ui/components/u-number-box/u-number-box.vue create mode 100644 components/uview-ui/components/u-number-keyboard/props.js create mode 100644 components/uview-ui/components/u-number-keyboard/u-number-keyboard.vue create mode 100644 components/uview-ui/components/u-overlay/props.js create mode 100644 components/uview-ui/components/u-overlay/u-overlay.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/node/node.vue create mode 100644 components/uview-ui/components/u-parse/parser.js create mode 100644 components/uview-ui/components/u-parse/props.js create mode 100644 components/uview-ui/components/u-parse/u-parse.vue create mode 100644 components/uview-ui/components/u-picker-column/props.js create mode 100644 components/uview-ui/components/u-picker-column/u-picker-column.vue create mode 100644 components/uview-ui/components/u-picker/props.js create mode 100644 components/uview-ui/components/u-picker/u-picker.vue create mode 100644 components/uview-ui/components/u-popup/props.js create mode 100644 components/uview-ui/components/u-popup/u-popup.vue create mode 100644 components/uview-ui/components/u-radio-group/props.js create mode 100644 components/uview-ui/components/u-radio-group/u-radio-group.vue create mode 100644 components/uview-ui/components/u-radio/props.js create mode 100644 components/uview-ui/components/u-radio/u-radio.vue create mode 100644 components/uview-ui/components/u-rate/props.js create mode 100644 components/uview-ui/components/u-rate/u-rate.vue create mode 100644 components/uview-ui/components/u-read-more/props.js create mode 100644 components/uview-ui/components/u-read-more/u-read-more.vue create mode 100644 components/uview-ui/components/u-row-notice/props.js create mode 100644 components/uview-ui/components/u-row-notice/u-row-notice.vue create mode 100644 components/uview-ui/components/u-row/props.js create mode 100644 components/uview-ui/components/u-row/u-row.vue create mode 100644 components/uview-ui/components/u-safe-bottom/props.js create mode 100644 components/uview-ui/components/u-safe-bottom/u-safe-bottom.vue create mode 100644 components/uview-ui/components/u-scroll-list/nvue.js create mode 100644 components/uview-ui/components/u-scroll-list/other.js create mode 100644 components/uview-ui/components/u-scroll-list/props.js create mode 100644 components/uview-ui/components/u-scroll-list/scrollWxs.wxs create mode 100644 components/uview-ui/components/u-scroll-list/u-scroll-list.vue create mode 100644 components/uview-ui/components/u-search/props.js 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/props.js create mode 100644 components/uview-ui/components/u-skeleton/u-skeleton.vue create mode 100644 components/uview-ui/components/u-slider/mpother.js create mode 100644 components/uview-ui/components/u-slider/mpwxs.js create mode 100644 components/uview-ui/components/u-slider/mpwxs.wxs create mode 100644 components/uview-ui/components/u-slider/nvue - 副本.js create mode 100644 components/uview-ui/components/u-slider/nvue.js create mode 100644 components/uview-ui/components/u-slider/props.js create mode 100644 components/uview-ui/components/u-slider/u-slider.vue create mode 100644 components/uview-ui/components/u-status-bar/props.js create mode 100644 components/uview-ui/components/u-status-bar/u-status-bar.vue create mode 100644 components/uview-ui/components/u-steps-item/props.js create mode 100644 components/uview-ui/components/u-steps-item/u-steps-item.vue create mode 100644 components/uview-ui/components/u-steps/props.js create mode 100644 components/uview-ui/components/u-steps/u-steps.vue create mode 100644 components/uview-ui/components/u-sticky/props.js create mode 100644 components/uview-ui/components/u-sticky/u-sticky.vue create mode 100644 components/uview-ui/components/u-subsection/props.js create mode 100644 components/uview-ui/components/u-subsection/u-subsection.vue create mode 100644 components/uview-ui/components/u-swipe-action-item/index - backup.wxs create mode 100644 components/uview-ui/components/u-swipe-action-item/index.wxs create mode 100644 components/uview-ui/components/u-swipe-action-item/nvue - backup.js create mode 100644 components/uview-ui/components/u-swipe-action-item/nvue.js create mode 100644 components/uview-ui/components/u-swipe-action-item/props.js create mode 100644 components/uview-ui/components/u-swipe-action-item/u-swipe-action-item.vue create mode 100644 components/uview-ui/components/u-swipe-action-item/wxs.js create mode 100644 components/uview-ui/components/u-swipe-action/props.js create mode 100644 components/uview-ui/components/u-swipe-action/u-swipe-action.vue create mode 100644 components/uview-ui/components/u-swiper-indicator/props.js create mode 100644 components/uview-ui/components/u-swiper-indicator/u-swiper-indicator.vue create mode 100644 components/uview-ui/components/u-swiper/props.js create mode 100644 components/uview-ui/components/u-swiper/u-swiper.vue create mode 100644 components/uview-ui/components/u-switch/props.js create mode 100644 components/uview-ui/components/u-switch/u-switch.vue create mode 100644 components/uview-ui/components/u-tabbar-item/props.js create mode 100644 components/uview-ui/components/u-tabbar-item/u-tabbar-item.vue create mode 100644 components/uview-ui/components/u-tabbar/props.js create mode 100644 components/uview-ui/components/u-tabbar/u-tabbar.vue create mode 100644 components/uview-ui/components/u-table/props.js create mode 100644 components/uview-ui/components/u-table/u-table.vue create mode 100644 components/uview-ui/components/u-tabs-item/props.js create mode 100644 components/uview-ui/components/u-tabs-item/u-tabs-item.vue create mode 100644 components/uview-ui/components/u-tabs-swiper/u-tabs-swiper.vue create mode 100644 components/uview-ui/components/u-tabs/props.js create mode 100644 components/uview-ui/components/u-tabs/u-tabs.vue create mode 100644 components/uview-ui/components/u-tag/props.js create mode 100644 components/uview-ui/components/u-tag/u-tag.vue create mode 100644 components/uview-ui/components/u-td/props.js create mode 100644 components/uview-ui/components/u-td/u-td.vue create mode 100644 components/uview-ui/components/u-text/props.js create mode 100644 components/uview-ui/components/u-text/u-text.vue create mode 100644 components/uview-ui/components/u-text/value.js create mode 100644 components/uview-ui/components/u-textarea/props.js create mode 100644 components/uview-ui/components/u-textarea/u-textarea.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-toolbar/props.js create mode 100644 components/uview-ui/components/u-toolbar/u-toolbar.vue create mode 100644 components/uview-ui/components/u-tooltip/clipboard.min.js create mode 100644 components/uview-ui/components/u-tooltip/props.js create mode 100644 components/uview-ui/components/u-tooltip/u-tooltip.vue create mode 100644 components/uview-ui/components/u-top-tips/u-top-tips.vue create mode 100644 components/uview-ui/components/u-tr/props.js create mode 100644 components/uview-ui/components/u-tr/u-tr.vue create mode 100644 components/uview-ui/components/u-transition/nvue.ani-map.js create mode 100644 components/uview-ui/components/u-transition/props.js create mode 100644 components/uview-ui/components/u-transition/transition.js create mode 100644 components/uview-ui/components/u-transition/u-transition.vue create mode 100644 components/uview-ui/components/u-transition/vue.ani-style.scss create mode 100644 components/uview-ui/components/u-upload/mixin.js create mode 100644 components/uview-ui/components/u-upload/props.js create mode 100644 components/uview-ui/components/u-upload/u-upload.vue create mode 100644 components/uview-ui/components/u-upload/utils.js 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/components/uview-ui/uview-ui.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/color.js create mode 100644 components/uview-ui/libs/config/config.js create mode 100644 components/uview-ui/libs/config/props.js create mode 100644 components/uview-ui/libs/config/props/actionSheet.js create mode 100644 components/uview-ui/libs/config/props/album.js create mode 100644 components/uview-ui/libs/config/props/alert.js create mode 100644 components/uview-ui/libs/config/props/avatar.js create mode 100644 components/uview-ui/libs/config/props/avatarGroup.js create mode 100644 components/uview-ui/libs/config/props/backtop.js create mode 100644 components/uview-ui/libs/config/props/badge.js create mode 100644 components/uview-ui/libs/config/props/button.js create mode 100644 components/uview-ui/libs/config/props/calendar.js create mode 100644 components/uview-ui/libs/config/props/carKeyboard.js create mode 100644 components/uview-ui/libs/config/props/cell.js create mode 100644 components/uview-ui/libs/config/props/cellGroup.js create mode 100644 components/uview-ui/libs/config/props/checkbox.js create mode 100644 components/uview-ui/libs/config/props/checkboxGroup.js create mode 100644 components/uview-ui/libs/config/props/circleProgress.js create mode 100644 components/uview-ui/libs/config/props/code.js create mode 100644 components/uview-ui/libs/config/props/codeInput.js create mode 100644 components/uview-ui/libs/config/props/col.js create mode 100644 components/uview-ui/libs/config/props/collapse.js create mode 100644 components/uview-ui/libs/config/props/collapseItem.js create mode 100644 components/uview-ui/libs/config/props/columnNotice.js create mode 100644 components/uview-ui/libs/config/props/countDown.js create mode 100644 components/uview-ui/libs/config/props/countTo.js create mode 100644 components/uview-ui/libs/config/props/datetimePicker.js create mode 100644 components/uview-ui/libs/config/props/divider.js create mode 100644 components/uview-ui/libs/config/props/empty.js create mode 100644 components/uview-ui/libs/config/props/form.js create mode 100644 components/uview-ui/libs/config/props/formItem.js create mode 100644 components/uview-ui/libs/config/props/gap.js create mode 100644 components/uview-ui/libs/config/props/grid.js create mode 100644 components/uview-ui/libs/config/props/gridItem.js create mode 100644 components/uview-ui/libs/config/props/icon.js create mode 100644 components/uview-ui/libs/config/props/image.js create mode 100644 components/uview-ui/libs/config/props/indexAnchor.js create mode 100644 components/uview-ui/libs/config/props/indexList.js create mode 100644 components/uview-ui/libs/config/props/input.js create mode 100644 components/uview-ui/libs/config/props/keyboard.js create mode 100644 components/uview-ui/libs/config/props/line.js create mode 100644 components/uview-ui/libs/config/props/lineProgress.js create mode 100644 components/uview-ui/libs/config/props/link.js create mode 100644 components/uview-ui/libs/config/props/list.js create mode 100644 components/uview-ui/libs/config/props/listItem.js create mode 100644 components/uview-ui/libs/config/props/loadingIcon.js create mode 100644 components/uview-ui/libs/config/props/loadingPage.js create mode 100644 components/uview-ui/libs/config/props/loadmore.js create mode 100644 components/uview-ui/libs/config/props/modal.js create mode 100644 components/uview-ui/libs/config/props/navbar.js create mode 100644 components/uview-ui/libs/config/props/noNetwork.js create mode 100644 components/uview-ui/libs/config/props/noticeBar.js create mode 100644 components/uview-ui/libs/config/props/notify.js create mode 100644 components/uview-ui/libs/config/props/numberBox.js create mode 100644 components/uview-ui/libs/config/props/numberKeyboard.js create mode 100644 components/uview-ui/libs/config/props/overlay.js create mode 100644 components/uview-ui/libs/config/props/parse.js create mode 100644 components/uview-ui/libs/config/props/picker.js create mode 100644 components/uview-ui/libs/config/props/popup.js create mode 100644 components/uview-ui/libs/config/props/radio.js create mode 100644 components/uview-ui/libs/config/props/radioGroup.js create mode 100644 components/uview-ui/libs/config/props/rate.js create mode 100644 components/uview-ui/libs/config/props/readMore.js create mode 100644 components/uview-ui/libs/config/props/row.js create mode 100644 components/uview-ui/libs/config/props/rowNotice.js create mode 100644 components/uview-ui/libs/config/props/scrollList.js create mode 100644 components/uview-ui/libs/config/props/search.js create mode 100644 components/uview-ui/libs/config/props/section.js create mode 100644 components/uview-ui/libs/config/props/skeleton.js create mode 100644 components/uview-ui/libs/config/props/slider.js create mode 100644 components/uview-ui/libs/config/props/statusBar.js create mode 100644 components/uview-ui/libs/config/props/steps.js create mode 100644 components/uview-ui/libs/config/props/stepsItem.js create mode 100644 components/uview-ui/libs/config/props/sticky.js create mode 100644 components/uview-ui/libs/config/props/subsection.js create mode 100644 components/uview-ui/libs/config/props/swipeAction.js create mode 100644 components/uview-ui/libs/config/props/swipeActionItem.js create mode 100644 components/uview-ui/libs/config/props/swiper.js create mode 100644 components/uview-ui/libs/config/props/swipterIndicator.js create mode 100644 components/uview-ui/libs/config/props/switch.js create mode 100644 components/uview-ui/libs/config/props/tabbar.js create mode 100644 components/uview-ui/libs/config/props/tabbarItem.js create mode 100644 components/uview-ui/libs/config/props/tabs.js create mode 100644 components/uview-ui/libs/config/props/tag.js create mode 100644 components/uview-ui/libs/config/props/text.js create mode 100644 components/uview-ui/libs/config/props/textarea.js create mode 100644 components/uview-ui/libs/config/props/toast.js create mode 100644 components/uview-ui/libs/config/props/toolbar.js create mode 100644 components/uview-ui/libs/config/props/tooltip.js create mode 100644 components/uview-ui/libs/config/props/transition.js create mode 100644 components/uview-ui/libs/config/props/upload.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/components.scss create mode 100644 components/uview-ui/libs/css/flex.scss create mode 100644 components/uview-ui/libs/css/h5.scss create mode 100644 components/uview-ui/libs/css/mixin.scss create mode 100644 components/uview-ui/libs/css/mp.scss create mode 100644 components/uview-ui/libs/css/nvue.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/css/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/digit.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/index.js create mode 100644 components/uview-ui/libs/function/md5.js create mode 100644 components/uview-ui/libs/function/platform.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/luch-request/adapters/index.js create mode 100644 components/uview-ui/libs/luch-request/core/InterceptorManager.js create mode 100644 components/uview-ui/libs/luch-request/core/Request.js create mode 100644 components/uview-ui/libs/luch-request/core/buildFullPath.js create mode 100644 components/uview-ui/libs/luch-request/core/defaults.js create mode 100644 components/uview-ui/libs/luch-request/core/dispatchRequest.js create mode 100644 components/uview-ui/libs/luch-request/core/mergeConfig.js create mode 100644 components/uview-ui/libs/luch-request/core/settle.js create mode 100644 components/uview-ui/libs/luch-request/helpers/buildURL.js create mode 100644 components/uview-ui/libs/luch-request/helpers/combineURLs.js create mode 100644 components/uview-ui/libs/luch-request/helpers/isAbsoluteURL.js create mode 100644 components/uview-ui/libs/luch-request/index.d.ts create mode 100644 components/uview-ui/libs/luch-request/index.js create mode 100644 components/uview-ui/libs/luch-request/utils.js create mode 100644 components/uview-ui/libs/luch-request/utils/clone.js create mode 100644 components/uview-ui/libs/mixin/button.js create mode 100644 components/uview-ui/libs/mixin/mixin.js create mode 100644 components/uview-ui/libs/mixin/mpMixin.js create mode 100644 components/uview-ui/libs/mixin/mpShare.js create mode 100644 components/uview-ui/libs/mixin/openType.js create mode 100644 components/uview-ui/libs/mixin/style.js create mode 100644 components/uview-ui/libs/mixin/touch.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/calendar.js create mode 100644 components/uview-ui/libs/util/city.js create mode 100644 components/uview-ui/libs/util/dayjs.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/libs/util/route.js create mode 100644 components/uview-ui/package.json create mode 100644 components/uview-ui/theme.scss create mode 100644 components/wakary-input/bottom.jpeg create mode 100644 components/wakary-input/box.jpeg create mode 100644 components/wakary-input/components/wakary-input/wakary-input.vue create mode 100644 components/wakary-input/middle.jpeg create mode 100644 components/wakary-input/readme.md create mode 100644 components/wakary-input/wakary-input.zip create mode 100644 jsFile/base64-src.js create mode 100644 jsFile/map/qqmap-wx-jssdk.min.js create mode 100644 jsFile/public-api.js create mode 100644 jsFile/requst-water.js create mode 100644 jsFile/requst.js create mode 100644 jsFile/style.scss create mode 100644 jsFile/tools.js create mode 100644 js_sdk/wa-permission/permission.js create mode 100644 main.js create mode 100644 manifest.json create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 pages.json create mode 100644 pages/cart/cart.vue create mode 100644 pages/cart/orderConfirm.vue create mode 100644 pages/cate/cate.vue create mode 100644 pages/home/home.vue create mode 100644 pages/index/index.vue create mode 100644 pages/my/information.vue create mode 100644 pages/my/my.vue create mode 100644 pagesA/addCard/addCard.vue create mode 100644 pagesA/address/addAddress.vue create mode 100644 pagesA/address/address.vue create mode 100644 pagesA/fetchWater/fetchWater.vue create mode 100644 pagesA/giftCard/giftCard.vue create mode 100644 pagesA/login/login.vue create mode 100644 pagesA/order/detail.vue create mode 100644 pagesA/order/logistics.vue create mode 100644 pagesA/order/order.vue create mode 100644 pagesA/search/search.vue create mode 100644 pagesA/waterCard/waterCard.vue create mode 100644 pagesB/collection/collection.vue create mode 100644 pagesB/goodsDetail/goodsDetail.vue create mode 100644 pagesB/integral/integral.vue create mode 100644 pagesB/news/news.vue create mode 100644 pagesB/news/newsDetail.vue create mode 100644 pagesB/recharge/recharge.vue create mode 100644 pagesB/singlePage/address.vue create mode 100644 static/cate/cate-01.png create mode 100644 static/cate/cate-02.png create mode 100644 static/cate/cate-03.png create mode 100644 static/cate/cate-04.png create mode 100644 static/cate/cate-05.png create mode 100644 static/cate/cate-06.png create mode 100644 static/cate/cate-07.png create mode 100644 static/cate/cate-08.png create mode 100644 static/cate/cate-09.png create mode 100644 static/cate/cate-10.png create mode 100644 static/distribution/icon_delet.png create mode 100644 static/distribution/icon_invite.png create mode 100644 static/distribution/icon_yongjin.png create mode 100644 static/foot-bar/cart-active.png create mode 100644 static/foot-bar/cart.png create mode 100644 static/foot-bar/cate-active.png create mode 100644 static/foot-bar/cate.png create mode 100644 static/foot-bar/index-active.png create mode 100644 static/foot-bar/index.png create mode 100644 static/foot-bar/integral-active.png create mode 100644 static/foot-bar/integral.png create mode 100644 static/foot-bar/my-active.png create mode 100644 static/foot-bar/my.png create mode 100644 static/icon/huang.png create mode 100644 static/icon/icon-add-cart.png create mode 100644 static/icon/icon-addr.png create mode 100644 static/icon/icon-address-other.png create mode 100644 static/icon/icon-address.png create mode 100644 static/icon/icon-arrow-01.png create mode 100644 static/icon/icon-arrow-down.png create mode 100644 static/icon/icon-arrow-right.png create mode 100644 static/icon/icon-arrow-top.png create mode 100644 static/icon/icon-arrow-up.png create mode 100644 static/icon/icon-back-top.jpg create mode 100644 static/icon/icon-cart.png create mode 100644 static/icon/icon-checked.png create mode 100644 static/icon/icon-close.png create mode 100644 static/icon/icon-collection-01.png create mode 100644 static/icon/icon-collection-active.png create mode 100644 static/icon/icon-collection.png create mode 100644 static/icon/icon-del.png create mode 100644 static/icon/icon-edit.png create mode 100644 static/icon/icon-jia.png create mode 100644 static/icon/icon-jian.png create mode 100644 static/icon/icon-layout-other.png create mode 100644 static/icon/icon-layout.png create mode 100644 static/icon/icon-notice.png create mode 100644 static/icon/icon-phone.png create mode 100644 static/icon/icon-radius.png create mode 100644 static/icon/icon-refresh.png create mode 100644 static/icon/icon-screen.png create mode 100644 static/icon/icon-search.png create mode 100644 static/icon/icon-share.png create mode 100644 static/icon/icon-spot-blue.png create mode 100644 static/icon/icon-spot.png create mode 100644 static/icon/icon-wechat-line.png create mode 100644 static/icon/icon-wechat.png create mode 100644 static/logistics/icon-call.png create mode 100644 static/logistics/icon-logistics-01.png create mode 100644 static/logistics/icon-logistics-02.png create mode 100644 static/logistics/icon-logistics-03.png create mode 100644 static/logistics/icon-logistics-04.png create mode 100644 static/logistics/list.png create mode 100644 static/my/nav-01.png create mode 100644 static/my/nav-02.png create mode 100644 static/my/nav-03.png create mode 100644 static/my/nav-04.png create mode 100644 static/my/nav-05.png create mode 100644 static/my/nav-06.png create mode 100644 static/my/nav-07.png create mode 100644 static/my/order-01.png create mode 100644 static/my/order-02.png create mode 100644 static/my/order-03.png create mode 100644 static/my/order-04.png create mode 100644 static/public/blue-bg2.jpg create mode 100644 static/public/blue-bg3.jpg create mode 100644 static/public/close.png create mode 100644 static/public/home-icon1.png create mode 100644 static/public/home-icon2.png create mode 100644 static/public/home-img1.png create mode 100644 static/public/home-img2.png create mode 100644 static/public/home-img3.png create mode 100644 static/public/home-img4.png create mode 100644 static/public/income.png create mode 100644 static/public/logo-avatar.png create mode 100644 static/public/logo.png create mode 100644 static/public/my-bg.jpg create mode 100644 static/public/notice.png create mode 100644 static/public/redeem.png create mode 100644 store/actions.js create mode 100644 store/index.js create mode 100644 store/modules/moduleA.js create mode 100644 store/modules/moduleB.js create mode 100644 store/mutations.js create mode 100644 store/readme.md create mode 100644 uni.scss create mode 100644 unpackage/dist/build/.automator/mp-weixin/.automator.json create mode 100644 unpackage/dist/build/mp-weixin/app.js create mode 100644 unpackage/dist/build/mp-weixin/app.json create mode 100644 unpackage/dist/build/mp-weixin/app.wxss create mode 100644 unpackage/dist/build/mp-weixin/common/main.js create mode 100644 unpackage/dist/build/mp-weixin/common/main.wxss create mode 100644 unpackage/dist/build/mp-weixin/common/runtime.js create mode 100644 unpackage/dist/build/mp-weixin/common/vendor.js create mode 100644 unpackage/dist/build/mp-weixin/components/address-one/address-one.js create mode 100644 unpackage/dist/build/mp-weixin/components/address-one/address-one.json create mode 100644 unpackage/dist/build/mp-weixin/components/address-one/address-one.wxml create mode 100644 unpackage/dist/build/mp-weixin/components/address-one/address-one.wxss create mode 100644 unpackage/dist/build/mp-weixin/components/foot-bar/foot-bar.js create mode 100644 unpackage/dist/build/mp-weixin/components/foot-bar/foot-bar.json create mode 100644 unpackage/dist/build/mp-weixin/components/foot-bar/foot-bar.wxml create mode 100644 unpackage/dist/build/mp-weixin/components/foot-bar/foot-bar.wxss create mode 100644 unpackage/dist/build/mp-weixin/components/goods-list/goods-list.js create mode 100644 unpackage/dist/build/mp-weixin/components/goods-list/goods-list.json create mode 100644 unpackage/dist/build/mp-weixin/components/goods-list/goods-list.wxml create mode 100644 unpackage/dist/build/mp-weixin/components/goods-list/goods-list.wxss create mode 100644 unpackage/dist/build/mp-weixin/components/nothing/nothing-page.js create mode 100644 unpackage/dist/build/mp-weixin/components/nothing/nothing-page.json create mode 100644 unpackage/dist/build/mp-weixin/components/nothing/nothing-page.wxml create mode 100644 unpackage/dist/build/mp-weixin/components/nothing/nothing-page.wxss create mode 100644 unpackage/dist/build/mp-weixin/components/status-nav/status-nav.js create mode 100644 unpackage/dist/build/mp-weixin/components/status-nav/status-nav.json create mode 100644 unpackage/dist/build/mp-weixin/components/status-nav/status-nav.wxml create mode 100644 unpackage/dist/build/mp-weixin/components/status-nav/status-nav.wxss create mode 100644 unpackage/dist/build/mp-weixin/components/swipers/swiper-lamp.js create mode 100644 unpackage/dist/build/mp-weixin/components/swipers/swiper-lamp.json create mode 100644 unpackage/dist/build/mp-weixin/components/swipers/swiper-lamp.wxml create mode 100644 unpackage/dist/build/mp-weixin/components/swipers/swiper-lamp.wxss create mode 100644 unpackage/dist/build/mp-weixin/components/swipers/swiper-pu.js create mode 100644 unpackage/dist/build/mp-weixin/components/swipers/swiper-pu.json create mode 100644 unpackage/dist/build/mp-weixin/components/swipers/swiper-pu.wxml create mode 100644 unpackage/dist/build/mp-weixin/components/swipers/swiper-pu.wxss create mode 100644 unpackage/dist/build/mp-weixin/components/thorui/tui-button/tui-button.js create mode 100644 unpackage/dist/build/mp-weixin/components/thorui/tui-button/tui-button.json create mode 100644 unpackage/dist/build/mp-weixin/components/thorui/tui-button/tui-button.wxml create mode 100644 unpackage/dist/build/mp-weixin/components/thorui/tui-button/tui-button.wxss create mode 100644 unpackage/dist/build/mp-weixin/components/thorui/tui-modal/tui-modal.js create mode 100644 unpackage/dist/build/mp-weixin/components/thorui/tui-modal/tui-modal.json create mode 100644 unpackage/dist/build/mp-weixin/components/thorui/tui-modal/tui-modal.wxml create mode 100644 unpackage/dist/build/mp-weixin/components/thorui/tui-modal/tui-modal.wxss create mode 100644 unpackage/dist/build/mp-weixin/components/vip-card/vip-card.js create mode 100644 unpackage/dist/build/mp-weixin/components/vip-card/vip-card.json create mode 100644 unpackage/dist/build/mp-weixin/components/vip-card/vip-card.wxml create mode 100644 unpackage/dist/build/mp-weixin/components/vip-card/vip-card.wxss create mode 100644 unpackage/dist/build/mp-weixin/components/wakary-input/components/wakary-input/wakary-input.js create mode 100644 unpackage/dist/build/mp-weixin/components/wakary-input/components/wakary-input/wakary-input.json create mode 100644 unpackage/dist/build/mp-weixin/components/wakary-input/components/wakary-input/wakary-input.wxml create mode 100644 unpackage/dist/build/mp-weixin/components/wakary-input/components/wakary-input/wakary-input.wxss create mode 100644 unpackage/dist/build/mp-weixin/pages/cart/cart.js create mode 100644 unpackage/dist/build/mp-weixin/pages/cart/cart.json create mode 100644 unpackage/dist/build/mp-weixin/pages/cart/cart.wxml create mode 100644 unpackage/dist/build/mp-weixin/pages/cart/orderConfirm.js create mode 100644 unpackage/dist/build/mp-weixin/pages/cart/orderConfirm.json create mode 100644 unpackage/dist/build/mp-weixin/pages/cart/orderConfirm.wxml create mode 100644 unpackage/dist/build/mp-weixin/pages/cate/cate.js create mode 100644 unpackage/dist/build/mp-weixin/pages/cate/cate.json create mode 100644 unpackage/dist/build/mp-weixin/pages/cate/cate.wxml create mode 100644 unpackage/dist/build/mp-weixin/pages/cate/cate.wxss create mode 100644 unpackage/dist/build/mp-weixin/pages/index/index.js create mode 100644 unpackage/dist/build/mp-weixin/pages/index/index.json create mode 100644 unpackage/dist/build/mp-weixin/pages/index/index.wxml create mode 100644 unpackage/dist/build/mp-weixin/pages/my/information.js create mode 100644 unpackage/dist/build/mp-weixin/pages/my/information.json create mode 100644 unpackage/dist/build/mp-weixin/pages/my/information.wxml create mode 100644 unpackage/dist/build/mp-weixin/pages/my/my.js create mode 100644 unpackage/dist/build/mp-weixin/pages/my/my.json create mode 100644 unpackage/dist/build/mp-weixin/pages/my/my.wxml create mode 100644 unpackage/dist/build/mp-weixin/pages/my/my.wxss create mode 100644 unpackage/dist/build/mp-weixin/pagesA/address/addAddress.js create mode 100644 unpackage/dist/build/mp-weixin/pagesA/address/addAddress.json create mode 100644 unpackage/dist/build/mp-weixin/pagesA/address/addAddress.wxml create mode 100644 unpackage/dist/build/mp-weixin/pagesA/address/address.js create mode 100644 unpackage/dist/build/mp-weixin/pagesA/address/address.json create mode 100644 unpackage/dist/build/mp-weixin/pagesA/address/address.wxml create mode 100644 unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntrance.js create mode 100644 unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntrance.json create mode 100644 unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntrance.wxml create mode 100644 unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntrance.wxss create mode 100644 unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntranceDetail.js create mode 100644 unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntranceDetail.json create mode 100644 unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntranceDetail.wxml create mode 100644 unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntranceDetail.wxss create mode 100644 unpackage/dist/build/mp-weixin/pagesA/login/login.js create mode 100644 unpackage/dist/build/mp-weixin/pagesA/login/login.json create mode 100644 unpackage/dist/build/mp-weixin/pagesA/login/login.wxml create mode 100644 unpackage/dist/build/mp-weixin/pagesA/login/login.wxss create mode 100644 unpackage/dist/build/mp-weixin/pagesA/myCard/myCard.js create mode 100644 unpackage/dist/build/mp-weixin/pagesA/myCard/myCard.json create mode 100644 unpackage/dist/build/mp-weixin/pagesA/myCard/myCard.wxml create mode 100644 unpackage/dist/build/mp-weixin/pagesA/myCard/myCard.wxss create mode 100644 unpackage/dist/build/mp-weixin/pagesA/myCard/writeOff.js create mode 100644 unpackage/dist/build/mp-weixin/pagesA/myCard/writeOff.json create mode 100644 unpackage/dist/build/mp-weixin/pagesA/myCard/writeOff.wxml create mode 100644 unpackage/dist/build/mp-weixin/pagesA/myCard/writeOff.wxss create mode 100644 unpackage/dist/build/mp-weixin/pagesA/order/detail.js create mode 100644 unpackage/dist/build/mp-weixin/pagesA/order/detail.json create mode 100644 unpackage/dist/build/mp-weixin/pagesA/order/detail.wxml create mode 100644 unpackage/dist/build/mp-weixin/pagesA/order/logistics.js create mode 100644 unpackage/dist/build/mp-weixin/pagesA/order/logistics.json create mode 100644 unpackage/dist/build/mp-weixin/pagesA/order/logistics.wxml create mode 100644 unpackage/dist/build/mp-weixin/pagesA/order/logistics.wxss create mode 100644 unpackage/dist/build/mp-weixin/pagesA/order/order.js create mode 100644 unpackage/dist/build/mp-weixin/pagesA/order/order.json create mode 100644 unpackage/dist/build/mp-weixin/pagesA/order/order.wxml create mode 100644 unpackage/dist/build/mp-weixin/pagesA/search/search.js create mode 100644 unpackage/dist/build/mp-weixin/pagesA/search/search.json create mode 100644 unpackage/dist/build/mp-weixin/pagesA/search/search.wxml create mode 100644 unpackage/dist/build/mp-weixin/pagesA/shopOwner/shopOwner.js create mode 100644 unpackage/dist/build/mp-weixin/pagesA/shopOwner/shopOwner.json create mode 100644 unpackage/dist/build/mp-weixin/pagesA/shopOwner/shopOwner.wxml create mode 100644 unpackage/dist/build/mp-weixin/pagesA/shopOwner/shopOwner.wxss create mode 100644 unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCard.js create mode 100644 unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCard.json create mode 100644 unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCard.wxml create mode 100644 unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCard.wxss create mode 100644 unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCardDetail.js create mode 100644 unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCardDetail.json create mode 100644 unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCardDetail.wxml create mode 100644 unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCardDetail.wxss create mode 100644 unpackage/dist/build/mp-weixin/pagesB/balance/balance.js create mode 100644 unpackage/dist/build/mp-weixin/pagesB/balance/balance.json create mode 100644 unpackage/dist/build/mp-weixin/pagesB/balance/balance.wxml create mode 100644 unpackage/dist/build/mp-weixin/pagesB/balance/balance.wxss create mode 100644 unpackage/dist/build/mp-weixin/pagesB/collection/collection.js create mode 100644 unpackage/dist/build/mp-weixin/pagesB/collection/collection.json create mode 100644 unpackage/dist/build/mp-weixin/pagesB/collection/collection.wxml create mode 100644 unpackage/dist/build/mp-weixin/pagesB/goodsDetail/goodsDetail.js create mode 100644 unpackage/dist/build/mp-weixin/pagesB/goodsDetail/goodsDetail.json create mode 100644 unpackage/dist/build/mp-weixin/pagesB/goodsDetail/goodsDetail.wxml create mode 100644 unpackage/dist/build/mp-weixin/pagesB/integral/integral.js create mode 100644 unpackage/dist/build/mp-weixin/pagesB/integral/integral.json create mode 100644 unpackage/dist/build/mp-weixin/pagesB/integral/integral.wxml create mode 100644 unpackage/dist/build/mp-weixin/pagesB/integral/integral.wxss create mode 100644 unpackage/dist/build/mp-weixin/pagesB/news/news.js create mode 100644 unpackage/dist/build/mp-weixin/pagesB/news/news.json create mode 100644 unpackage/dist/build/mp-weixin/pagesB/news/news.wxml create mode 100644 unpackage/dist/build/mp-weixin/pagesB/news/news.wxss create mode 100644 unpackage/dist/build/mp-weixin/pagesB/news/newsDetail.js create mode 100644 unpackage/dist/build/mp-weixin/pagesB/news/newsDetail.json create mode 100644 unpackage/dist/build/mp-weixin/pagesB/news/newsDetail.wxml create mode 100644 unpackage/dist/build/mp-weixin/pagesB/news/newsDetail.wxss create mode 100644 unpackage/dist/build/mp-weixin/pagesB/password/forgetPassword.js create mode 100644 unpackage/dist/build/mp-weixin/pagesB/password/forgetPassword.json create mode 100644 unpackage/dist/build/mp-weixin/pagesB/password/forgetPassword.wxml create mode 100644 unpackage/dist/build/mp-weixin/pagesB/password/forgetPassword.wxss create mode 100644 unpackage/dist/build/mp-weixin/pagesB/password/modifyPassword.js create mode 100644 unpackage/dist/build/mp-weixin/pagesB/password/modifyPassword.json create mode 100644 unpackage/dist/build/mp-weixin/pagesB/password/modifyPassword.wxml create mode 100644 unpackage/dist/build/mp-weixin/pagesB/password/modifyPassword.wxss create mode 100644 unpackage/dist/build/mp-weixin/pagesB/recharge/recharge.js create mode 100644 unpackage/dist/build/mp-weixin/pagesB/recharge/recharge.json create mode 100644 unpackage/dist/build/mp-weixin/pagesB/recharge/recharge.wxml create mode 100644 unpackage/dist/build/mp-weixin/pagesB/recharge/recharge.wxss create mode 100644 unpackage/dist/build/mp-weixin/pagesB/register/register.js create mode 100644 unpackage/dist/build/mp-weixin/pagesB/register/register.json create mode 100644 unpackage/dist/build/mp-weixin/pagesB/register/register.wxml create mode 100644 unpackage/dist/build/mp-weixin/pagesB/register/register.wxss create mode 100644 unpackage/dist/build/mp-weixin/pagesB/singlePage/address.js create mode 100644 unpackage/dist/build/mp-weixin/pagesB/singlePage/address.json create mode 100644 unpackage/dist/build/mp-weixin/pagesB/singlePage/address.wxml create mode 100644 unpackage/dist/build/mp-weixin/pagesB/singlePage/address.wxss create mode 100644 unpackage/dist/build/mp-weixin/project.config.json create mode 100644 unpackage/dist/build/mp-weixin/static/bar-code.png create mode 100644 unpackage/dist/build/mp-weixin/static/cate-top.jpg create mode 100644 unpackage/dist/build/mp-weixin/static/cate/cate-01.png create mode 100644 unpackage/dist/build/mp-weixin/static/cate/cate-02.png create mode 100644 unpackage/dist/build/mp-weixin/static/cate/cate-03.png create mode 100644 unpackage/dist/build/mp-weixin/static/cate/cate-04.png create mode 100644 unpackage/dist/build/mp-weixin/static/cate/cate-05.png create mode 100644 unpackage/dist/build/mp-weixin/static/cate/cate-06.png create mode 100644 unpackage/dist/build/mp-weixin/static/cate/cate-07.png create mode 100644 unpackage/dist/build/mp-weixin/static/cate/cate-08.png create mode 100644 unpackage/dist/build/mp-weixin/static/cate/cate-09.png create mode 100644 unpackage/dist/build/mp-weixin/static/cate/cate-10.png create mode 100644 unpackage/dist/build/mp-weixin/static/foot-bar/cart-active.png create mode 100644 unpackage/dist/build/mp-weixin/static/foot-bar/cart.png create mode 100644 unpackage/dist/build/mp-weixin/static/foot-bar/cate-active.png create mode 100644 unpackage/dist/build/mp-weixin/static/foot-bar/cate.png create mode 100644 unpackage/dist/build/mp-weixin/static/foot-bar/index-active.png create mode 100644 unpackage/dist/build/mp-weixin/static/foot-bar/index.png create mode 100644 unpackage/dist/build/mp-weixin/static/foot-bar/my-active.png create mode 100644 unpackage/dist/build/mp-weixin/static/foot-bar/my.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/huang.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-add-cart.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-addr.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-address-other.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-address.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-arrow-01.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-arrow-down.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-arrow-right.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-arrow-top.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-arrow-up.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-back-top.jpg create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-cart.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-checked.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-close.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-collection-01.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-collection-active.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-collection.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-del.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-edit.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-jia.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-jian.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-layout-other.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-layout.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-notice.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-phone.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-radius.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-refresh.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-screen.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-search.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-share.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-spot-blue.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-spot.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-wechat-line.png create mode 100644 unpackage/dist/build/mp-weixin/static/icon/icon-wechat.png create mode 100644 unpackage/dist/build/mp-weixin/static/logistics/icon-call.png create mode 100644 unpackage/dist/build/mp-weixin/static/logistics/icon-logistics-01.png create mode 100644 unpackage/dist/build/mp-weixin/static/logistics/icon-logistics-02.png create mode 100644 unpackage/dist/build/mp-weixin/static/logistics/icon-logistics-03.png create mode 100644 unpackage/dist/build/mp-weixin/static/logistics/icon-logistics-04.png create mode 100644 unpackage/dist/build/mp-weixin/static/my/nav-01.png create mode 100644 unpackage/dist/build/mp-weixin/static/my/nav-02.png create mode 100644 unpackage/dist/build/mp-weixin/static/my/nav-03.png create mode 100644 unpackage/dist/build/mp-weixin/static/my/nav-04.png create mode 100644 unpackage/dist/build/mp-weixin/static/my/nav-05.png create mode 100644 unpackage/dist/build/mp-weixin/static/my/nav-06.png create mode 100644 unpackage/dist/build/mp-weixin/static/my/nav-07.png create mode 100644 unpackage/dist/build/mp-weixin/static/my/order-01.png create mode 100644 unpackage/dist/build/mp-weixin/static/my/order-02.png create mode 100644 unpackage/dist/build/mp-weixin/static/my/order-03.png create mode 100644 unpackage/dist/build/mp-weixin/static/my/order-04.png create mode 100644 unpackage/dist/build/mp-weixin/static/public/avatar.png create mode 100644 unpackage/dist/build/mp-weixin/static/public/blue-bg.jpg create mode 100644 unpackage/dist/build/mp-weixin/static/public/blue-bg2.jpg create mode 100644 unpackage/dist/build/mp-weixin/static/public/login-bg.jpg create mode 100644 unpackage/dist/build/mp-weixin/static/public/logo.png create mode 100644 unpackage/dist/build/mp-weixin/static/public/my-bg.jpg create mode 100644 unpackage/dist/build/mp-weixin/static/public/notice.png create mode 100644 unpackage/dist/build/mp-weixin/static/public/scan-btn.png create mode 100644 unpackage/dist/build/mp-weixin/static/qr-code.png create mode 100644 unpackage/dist/dev/.automator/mp-weixin/.automator.json create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/address-one/address-one.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/foot-bar/foot-bar.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/goods-list/goods-list.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/maramlee-waterfalls-flow/maramlee-waterfalls-flow.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/nothing/nothing-page.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/status-nav/status-nav.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/swipers/swiper-lamp.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/swipers/swiper-pu.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/thorui/tui-button/tui-button.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/thorui/tui-modal/tui-modal.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u--input/u--input.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-badge/u-badge.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-button/u-button.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-cell-group/u-cell-group.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-cell/u-cell.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-checkbox-group/u-checkbox-group.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-checkbox/u-checkbox.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-col/u-col.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-empty/u-empty.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-form-item/u-form-item.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-form/u-form.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-icon/u-icon.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-input/u-input.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-line/u-line.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-loading-icon/u-loading-icon.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-modal/u-modal.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-number-box/u-number-box.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-overlay/u-overlay.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-parse/node/node.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-parse/u-parse.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-picker/u-picker.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-popup/u-popup.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-radio-group/u-radio-group.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-radio/u-radio.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-row/u-row.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-safe-bottom/u-safe-bottom.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-skeleton/u-skeleton.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-status-bar/u-status-bar.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-sticky/u-sticky.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-tabs/u-tabs.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-toolbar/u-toolbar.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/uview-ui/components/u-transition/u-transition.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/vip-card/vip-card.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/wakary-input/components/wakary-input/wakary-input.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pages/cart/cart.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pages/cart/orderConfirm.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pages/cate/cate.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pages/home/home.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pages/integration/integration.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/information.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/my.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesA/addCard/addCard.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesA/address/addAddress.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesA/address/address.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesA/clerkEntrance/clerkEntrance.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesA/clerkEntrance/clerkEntranceDetail.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesA/fetchWater/fetchWater.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesA/giftCard/giftCard.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesA/login/login.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesA/login1/login1.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesA/myCard/myCard.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesA/myCard/writeOff.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesA/order/detail.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesA/order/logistics.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesA/order/order.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesA/order/orderDetail.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesA/search/search.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesA/shopOwner/shopOwner.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesA/vipCard/vipCard.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesA/vipCard/vipCardDetail.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesA/waterCard/waterCard.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesB/balance/balance.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesB/collection/collection.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesB/goodsDetail/goodsDetail.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesB/integral/integral.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesB/news/news.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesB/news/newsDetail.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesB/password/forgetPassword.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesB/password/modifyPassword.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesB/recharge/recharge.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesB/register/register.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pagesB/singlePage/address.js.map create mode 100644 unpackage/dist/dev/mp-weixin/app.js create mode 100644 unpackage/dist/dev/mp-weixin/app.json create mode 100644 unpackage/dist/dev/mp-weixin/app.wxss create mode 100644 unpackage/dist/dev/mp-weixin/common/main.js create mode 100644 unpackage/dist/dev/mp-weixin/common/main.wxss create mode 100644 unpackage/dist/dev/mp-weixin/common/runtime.js create mode 100644 unpackage/dist/dev/mp-weixin/common/vendor.js create mode 100644 unpackage/dist/dev/mp-weixin/components/address-one/address-one.js create mode 100644 unpackage/dist/dev/mp-weixin/components/address-one/address-one.json create mode 100644 unpackage/dist/dev/mp-weixin/components/address-one/address-one.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/address-one/address-one.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/foot-bar/foot-bar.js create mode 100644 unpackage/dist/dev/mp-weixin/components/foot-bar/foot-bar.json create mode 100644 unpackage/dist/dev/mp-weixin/components/foot-bar/foot-bar.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/foot-bar/foot-bar.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/goods-list/goods-list.js create mode 100644 unpackage/dist/dev/mp-weixin/components/goods-list/goods-list.json create mode 100644 unpackage/dist/dev/mp-weixin/components/goods-list/goods-list.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/goods-list/goods-list.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/maramlee-waterfalls-flow/maramlee-waterfalls-flow.js create mode 100644 unpackage/dist/dev/mp-weixin/components/maramlee-waterfalls-flow/maramlee-waterfalls-flow.json create mode 100644 unpackage/dist/dev/mp-weixin/components/maramlee-waterfalls-flow/maramlee-waterfalls-flow.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/maramlee-waterfalls-flow/maramlee-waterfalls-flow.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/nothing/nothing-page.js create mode 100644 unpackage/dist/dev/mp-weixin/components/nothing/nothing-page.json create mode 100644 unpackage/dist/dev/mp-weixin/components/nothing/nothing-page.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/nothing/nothing-page.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/status-nav/status-nav.js create mode 100644 unpackage/dist/dev/mp-weixin/components/status-nav/status-nav.json create mode 100644 unpackage/dist/dev/mp-weixin/components/status-nav/status-nav.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/status-nav/status-nav.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/swipers/swiper-lamp.js create mode 100644 unpackage/dist/dev/mp-weixin/components/swipers/swiper-lamp.json create mode 100644 unpackage/dist/dev/mp-weixin/components/swipers/swiper-lamp.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/swipers/swiper-lamp.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/swipers/swiper-pu.js create mode 100644 unpackage/dist/dev/mp-weixin/components/swipers/swiper-pu.json create mode 100644 unpackage/dist/dev/mp-weixin/components/swipers/swiper-pu.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/swipers/swiper-pu.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-badge/u-badge.js create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-badge/u-badge.json create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-badge/u-badge.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-badge/u-badge.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-button/u-button.js create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-button/u-button.json create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-button/u-button.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-button/u-button.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-checkbox-group/u-checkbox-group.js create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-checkbox-group/u-checkbox-group.json create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-checkbox-group/u-checkbox-group.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-checkbox-group/u-checkbox-group.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-checkbox/u-checkbox.js create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-checkbox/u-checkbox.json create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-checkbox/u-checkbox.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-checkbox/u-checkbox.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-col/u-col.js create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-col/u-col.json create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-col/u-col.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-col/u-col.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-empty/u-empty.js create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-empty/u-empty.json create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-empty/u-empty.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-empty/u-empty.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-icon/u-icon.js create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-icon/u-icon.json create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-icon/u-icon.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-icon/u-icon.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-line/u-line.js create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-line/u-line.json create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-line/u-line.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-line/u-line.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-loading-icon/u-loading-icon.js create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-loading-icon/u-loading-icon.json create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-loading-icon/u-loading-icon.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-loading-icon/u-loading-icon.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-modal/u-modal.js create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-modal/u-modal.json create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-modal/u-modal.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-modal/u-modal.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-number-box/u-number-box.js create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-number-box/u-number-box.json create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-number-box/u-number-box.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-number-box/u-number-box.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-overlay/u-overlay.js create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-overlay/u-overlay.json create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-overlay/u-overlay.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-overlay/u-overlay.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-picker/u-picker.js create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-picker/u-picker.json create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-picker/u-picker.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-picker/u-picker.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-popup/u-popup.js create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-popup/u-popup.json create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-popup/u-popup.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-popup/u-popup.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-radio-group/u-radio-group.js create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-radio-group/u-radio-group.json create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-radio-group/u-radio-group.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-radio-group/u-radio-group.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-radio/u-radio.js create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-radio/u-radio.json create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-radio/u-radio.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-radio/u-radio.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-row/u-row.js create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-row/u-row.json create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-row/u-row.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-row/u-row.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-safe-bottom/u-safe-bottom.js create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-safe-bottom/u-safe-bottom.json create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-safe-bottom/u-safe-bottom.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-safe-bottom/u-safe-bottom.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-skeleton/u-skeleton.js create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-skeleton/u-skeleton.json create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-skeleton/u-skeleton.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-skeleton/u-skeleton.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-status-bar/u-status-bar.js create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-status-bar/u-status-bar.json create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-status-bar/u-status-bar.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-status-bar/u-status-bar.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-tabs/u-tabs.js create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-tabs/u-tabs.json create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-tabs/u-tabs.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-tabs/u-tabs.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-toolbar/u-toolbar.js create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-toolbar/u-toolbar.json create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-toolbar/u-toolbar.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-toolbar/u-toolbar.wxss create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-transition/u-transition.js create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-transition/u-transition.json create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-transition/u-transition.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/uview-ui/components/u-transition/u-transition.wxss create mode 100644 unpackage/dist/dev/mp-weixin/pages/cart/cart.js create mode 100644 unpackage/dist/dev/mp-weixin/pages/cart/cart.json create mode 100644 unpackage/dist/dev/mp-weixin/pages/cart/cart.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pages/cart/orderConfirm.js create mode 100644 unpackage/dist/dev/mp-weixin/pages/cart/orderConfirm.json create mode 100644 unpackage/dist/dev/mp-weixin/pages/cart/orderConfirm.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pages/cate/cate.js create mode 100644 unpackage/dist/dev/mp-weixin/pages/cate/cate.json create mode 100644 unpackage/dist/dev/mp-weixin/pages/cate/cate.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pages/cate/cate.wxss create mode 100644 unpackage/dist/dev/mp-weixin/pages/home/home.js create mode 100644 unpackage/dist/dev/mp-weixin/pages/home/home.json create mode 100644 unpackage/dist/dev/mp-weixin/pages/home/home.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pages/home/home.wxss create mode 100644 unpackage/dist/dev/mp-weixin/pages/index/index.js create mode 100644 unpackage/dist/dev/mp-weixin/pages/index/index.json create mode 100644 unpackage/dist/dev/mp-weixin/pages/index/index.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pages/my/information.js create mode 100644 unpackage/dist/dev/mp-weixin/pages/my/information.json create mode 100644 unpackage/dist/dev/mp-weixin/pages/my/information.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pages/my/my.js create mode 100644 unpackage/dist/dev/mp-weixin/pages/my/my.json create mode 100644 unpackage/dist/dev/mp-weixin/pages/my/my.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pages/my/my.wxss create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/addCard/addCard.js create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/addCard/addCard.json create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/addCard/addCard.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/addCard/addCard.wxss create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/address/addAddress.js create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/address/addAddress.json create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/address/addAddress.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/address/address.js create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/address/address.json create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/address/address.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/fetchWater/fetchWater.js create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/fetchWater/fetchWater.json create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/fetchWater/fetchWater.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/fetchWater/fetchWater.wxss create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/giftCard/giftCard.js create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/giftCard/giftCard.json create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/giftCard/giftCard.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/giftCard/giftCard.wxss create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/login/login.js create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/login/login.json create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/login/login.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/login/login.wxss create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/order/detail.js create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/order/detail.json create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/order/detail.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/order/logistics.js create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/order/logistics.json create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/order/logistics.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/order/logistics.wxss create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/order/order.js create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/order/order.json create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/order/order.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/search/search.js create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/search/search.json create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/search/search.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/waterCard/waterCard.js create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/waterCard/waterCard.json create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/waterCard/waterCard.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pagesA/waterCard/waterCard.wxss create mode 100644 unpackage/dist/dev/mp-weixin/pagesB/collection/collection.js create mode 100644 unpackage/dist/dev/mp-weixin/pagesB/collection/collection.json create mode 100644 unpackage/dist/dev/mp-weixin/pagesB/collection/collection.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pagesB/goodsDetail/goodsDetail.js create mode 100644 unpackage/dist/dev/mp-weixin/pagesB/goodsDetail/goodsDetail.json create mode 100644 unpackage/dist/dev/mp-weixin/pagesB/goodsDetail/goodsDetail.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pagesB/goodsDetail/goodsDetail.wxss create mode 100644 unpackage/dist/dev/mp-weixin/pagesB/integral/integral.js create mode 100644 unpackage/dist/dev/mp-weixin/pagesB/integral/integral.json create mode 100644 unpackage/dist/dev/mp-weixin/pagesB/integral/integral.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pagesB/integral/integral.wxss create mode 100644 unpackage/dist/dev/mp-weixin/pagesB/news/news.js create mode 100644 unpackage/dist/dev/mp-weixin/pagesB/news/news.json create mode 100644 unpackage/dist/dev/mp-weixin/pagesB/news/news.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pagesB/news/news.wxss create mode 100644 unpackage/dist/dev/mp-weixin/pagesB/news/newsDetail.js create mode 100644 unpackage/dist/dev/mp-weixin/pagesB/news/newsDetail.json create mode 100644 unpackage/dist/dev/mp-weixin/pagesB/news/newsDetail.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pagesB/news/newsDetail.wxss create mode 100644 unpackage/dist/dev/mp-weixin/pagesB/singlePage/address.js create mode 100644 unpackage/dist/dev/mp-weixin/pagesB/singlePage/address.json create mode 100644 unpackage/dist/dev/mp-weixin/pagesB/singlePage/address.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pagesB/singlePage/address.wxss create mode 100644 unpackage/dist/dev/mp-weixin/project.config.json create mode 100644 unpackage/dist/dev/mp-weixin/project.private.config.json create mode 100644 unpackage/dist/dev/mp-weixin/static/cate/cate-01.png create mode 100644 unpackage/dist/dev/mp-weixin/static/cate/cate-02.png create mode 100644 unpackage/dist/dev/mp-weixin/static/cate/cate-03.png create mode 100644 unpackage/dist/dev/mp-weixin/static/cate/cate-04.png create mode 100644 unpackage/dist/dev/mp-weixin/static/cate/cate-05.png create mode 100644 unpackage/dist/dev/mp-weixin/static/cate/cate-06.png create mode 100644 unpackage/dist/dev/mp-weixin/static/cate/cate-07.png create mode 100644 unpackage/dist/dev/mp-weixin/static/cate/cate-08.png create mode 100644 unpackage/dist/dev/mp-weixin/static/cate/cate-09.png create mode 100644 unpackage/dist/dev/mp-weixin/static/cate/cate-10.png create mode 100644 unpackage/dist/dev/mp-weixin/static/distribution/icon_delet.png create mode 100644 unpackage/dist/dev/mp-weixin/static/distribution/icon_invite.png create mode 100644 unpackage/dist/dev/mp-weixin/static/distribution/icon_yongjin.png create mode 100644 unpackage/dist/dev/mp-weixin/static/foot-bar/cart-active.png create mode 100644 unpackage/dist/dev/mp-weixin/static/foot-bar/cart.png create mode 100644 unpackage/dist/dev/mp-weixin/static/foot-bar/cate-active.png create mode 100644 unpackage/dist/dev/mp-weixin/static/foot-bar/cate.png create mode 100644 unpackage/dist/dev/mp-weixin/static/foot-bar/index-active.png create mode 100644 unpackage/dist/dev/mp-weixin/static/foot-bar/index.png create mode 100644 unpackage/dist/dev/mp-weixin/static/foot-bar/integral-active.png create mode 100644 unpackage/dist/dev/mp-weixin/static/foot-bar/integral.png create mode 100644 unpackage/dist/dev/mp-weixin/static/foot-bar/my-active.png create mode 100644 unpackage/dist/dev/mp-weixin/static/foot-bar/my.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/huang.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-add-cart.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-addr.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-address-other.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-address.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-arrow-01.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-arrow-down.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-arrow-right.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-arrow-top.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-arrow-up.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-back-top.jpg create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-cart.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-checked.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-close.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-collection-01.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-collection-active.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-collection.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-del.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-edit.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-jia.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-jian.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-layout-other.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-layout.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-notice.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-phone.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-radius.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-refresh.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-screen.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-search.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-share.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-spot-blue.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-spot.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-wechat-line.png create mode 100644 unpackage/dist/dev/mp-weixin/static/icon/icon-wechat.png create mode 100644 unpackage/dist/dev/mp-weixin/static/logistics/icon-call.png create mode 100644 unpackage/dist/dev/mp-weixin/static/logistics/icon-logistics-01.png create mode 100644 unpackage/dist/dev/mp-weixin/static/logistics/icon-logistics-02.png create mode 100644 unpackage/dist/dev/mp-weixin/static/logistics/icon-logistics-03.png create mode 100644 unpackage/dist/dev/mp-weixin/static/logistics/icon-logistics-04.png create mode 100644 unpackage/dist/dev/mp-weixin/static/logistics/list.png create mode 100644 unpackage/dist/dev/mp-weixin/static/my/nav-01.png create mode 100644 unpackage/dist/dev/mp-weixin/static/my/nav-02.png create mode 100644 unpackage/dist/dev/mp-weixin/static/my/nav-03.png create mode 100644 unpackage/dist/dev/mp-weixin/static/my/nav-04.png create mode 100644 unpackage/dist/dev/mp-weixin/static/my/nav-05.png create mode 100644 unpackage/dist/dev/mp-weixin/static/my/nav-06.png create mode 100644 unpackage/dist/dev/mp-weixin/static/my/nav-07.png create mode 100644 unpackage/dist/dev/mp-weixin/static/my/order-01.png create mode 100644 unpackage/dist/dev/mp-weixin/static/my/order-02.png create mode 100644 unpackage/dist/dev/mp-weixin/static/my/order-03.png create mode 100644 unpackage/dist/dev/mp-weixin/static/my/order-04.png create mode 100644 unpackage/dist/dev/mp-weixin/static/public/blue-bg2.jpg create mode 100644 unpackage/dist/dev/mp-weixin/static/public/blue-bg3.jpg create mode 100644 unpackage/dist/dev/mp-weixin/static/public/close.png create mode 100644 unpackage/dist/dev/mp-weixin/static/public/home-icon1.png create mode 100644 unpackage/dist/dev/mp-weixin/static/public/home-icon2.png create mode 100644 unpackage/dist/dev/mp-weixin/static/public/home-img1.png create mode 100644 unpackage/dist/dev/mp-weixin/static/public/home-img2.png create mode 100644 unpackage/dist/dev/mp-weixin/static/public/home-img3.png create mode 100644 unpackage/dist/dev/mp-weixin/static/public/home-img4.png create mode 100644 unpackage/dist/dev/mp-weixin/static/public/income.png create mode 100644 unpackage/dist/dev/mp-weixin/static/public/logo-avatar.png create mode 100644 unpackage/dist/dev/mp-weixin/static/public/logo.png create mode 100644 unpackage/dist/dev/mp-weixin/static/public/my-bg.jpg create mode 100644 unpackage/dist/dev/mp-weixin/static/public/notice.png create mode 100644 unpackage/dist/dev/mp-weixin/static/public/redeem.png diff --git a/.hbuilderx/launch.json b/.hbuilderx/launch.json new file mode 100644 index 0000000..81f13f4 --- /dev/null +++ b/.hbuilderx/launch.json @@ -0,0 +1,16 @@ +{ // 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": [{ + "default" : + { + "launchtype" : "local" + }, + "mp-weixin" : + { + "launchtype" : "local" + }, + "type" : "uniCloud" + } + ] +} diff --git a/App.vue b/App.vue new file mode 100644 index 0000000..1493960 --- /dev/null +++ b/App.vue @@ -0,0 +1,67 @@ + + + + diff --git a/api/index.js b/api/index.js new file mode 100644 index 0000000..e3a3df7 --- /dev/null +++ b/api/index.js @@ -0,0 +1,164 @@ +import request from '@/jsFile/requst.js' + +// 基础配置 +export function getInfo(params) { + return request.get('/api.base/config', params); +} +// 获取个人信息 +export function postUserInfo(data) { + return request.post('/api.user/info', data); +} +// 修改个人信息 +export function postEditInfo(data) { + return request.post('/api.user/update', data); +} +// 上传文件 +export function postUpload(data) { + return request.upload('/api.upload/image', data); +} +// 绑定手机号 +export function postBindPhone(data) { + return request.post('/api.user/bindPhone', data); +} +// 用户协议 +export function getStatement(params) { + return request.get('/api.base/statement', params); +} +// 隐私协议 +export function getAbout(params) { + return request.get('/api.base/about', params); +} + + +// 首页banner +export function getBanner(params) { + return request.get('/api.base/banner', params); +} + + + + + +// 商品分类 +export function getGoodsCategory(params) { + return request.get('/api.goods/category', params); +} +// 商品列表 +export function getSpuList(params) { + return request.get('/api.goods/list', params); +} + +// 商品详情 +export function getGoodsDetail(params) { + return request.get('/api.goods/detail', params); +} + + +// 最近自提点列表 +export function getNearestPoint(params) { + return request.get('/api.device/getNearestPoint', params); +} +// 地址列表 +export function getAddress(params) { + return request.get('/api.address/index', params); +} +// 地址详情 +export function getAddressInfo(params) { + return request.get('/api.address/info', params); +} +// 编辑地址 +export function postAddressSave(data) { + return request.post('/api.address/save', data); +} + +// 删除地址 +export function postAddressDel(data) { + return request.post('/api.address/del', data); +} +// 提交订单 +export function postOrderCreate(data) { + return request.post('/api.order/create', data); +} +// 查询是否付款 +export function postOrderCheck(data) { + return request.post('/api.order/check', data); +} +// 提交订单前的商品信息 +export function postPrepare(data) { + return request.post('/api.order/prepare', data); +} + + +// 获取订单状态 +export function getOrderStatus(params) { + return request.get('/api.order/status', params); +} +// 订单列表 +export function getOrderMy(params) { + return request.get('/api.order/my', params); +} + +// 订单详情 +export function postOrderDetail(data) { + return request.post('/api.order/detail', data); +} +// 发起支付-基于订单编号 +export function postOrderPay(data) { + return request.post('/api.order/pay', data); +} +// 确认收货 +export function postOrderComplete(data) { + return request.post('/api.order/complete', data); +} + + + + +// 获取服务商列表 +export function getSaler(params) { + return request.get('/api.device/getSaler', params); +} +// 添加水卡--绑卡 +export function postCardAdd(data) { + return request.post('/api.card/add', data); +} +// 获取水卡列表 +export function getCardList(params) { + return request.get('/api.card/list', params); +} +// 卡片挂失 +export function postCardLost(data) { + return request.post('/api.card/lost', data); +} +// 卡片删除 +export function postCardDel(data) { + return request.post('/api.card/del', data); +} +// 获取礼品卡信息 +export function getGiftInfo(params) { + return request.get('/api.gift/info', params); +} + +// 使用礼品卡 +export function postGiftUse(data) { + return request.post('/api.gift/use', data); +} + +// 获取最近的设备点 +export function getNearest(params) { + return request.get('/api.device/getNearest', params); +} + +// 获取服务商信息 +export function getCardSaler(params) { + return request.get('/api.card/saler', params); +} + + + + +// 隐藏接口 +// 加入购物车 +export function postCartAdd(data) { + return request.post('/api.cart/add', data); +} \ No newline at end of file diff --git a/api/water.js b/api/water.js new file mode 100644 index 0000000..b9e3996 --- /dev/null +++ b/api/water.js @@ -0,0 +1,47 @@ +import request from '@/jsFile/requst-water.js' + + +// 获取卡片列表 +export function getCardList(params) { + return request.get('/card/getlist', params); +} + +// 获取卡片详情 +export function getCardinfo(params) { + return request.get('/cardinfo', params); +} +// 卡片挂失 +export function getLossreport(params) { + return request.get('/card/lossreport', params); +} +// 获取卡片充值记录 +export function getaddvalue(params) { + return request.get('/getaddvalue', params); +} + +// 获取卡片消费记录 +export function getconsume(params) { + return request.get('/getconsume', params); +} + +// 获取充值套餐与时效套餐列表 +export function getproducts(params) { + return request.get('/getproducts', params); +} + +// 卡片充值 +export function postAddvalue(data) { + return request.post('/addvalue', data); +} + +// 卡片远程灌装水 +export function postNotify(data) { + return request.post('/notify', data); +} + + +// 卡片远程停止灌装 +export function getCardStop(params) { + return request.get('/card/stop', params); +} + diff --git a/commons/animate.min.css b/commons/animate.min.css new file mode 100644 index 0000000..8ae4afd --- /dev/null +++ b/commons/animate.min.css @@ -0,0 +1,12 @@ +@charset "UTF-8";/*! +Animate.css - http://daneden.me/animate +Licensed under the MIT license + +Copyright (c) 2013 Daniel Eden + +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. +*/.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}@-webkit-keyframes bounce{0%,100%,20%,50%,80%{-webkit-transform:translateY(0);transform:translateY(0)}40%{-webkit-transform:translateY(-30px);transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px);transform:translateY(-15px)}}@keyframes bounce{0%,100%,20%,50%,80%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}40%{-webkit-transform:translateY(-30px);-ms-transform:translateY(-30px);transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px);-ms-transform:translateY(-15px);transform:translateY(-15px)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce}@-webkit-keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes pulse{0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}100%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scale(1);transform:scale(1)}30%{-webkit-transform:scaleX(1.25) scaleY(0.75);transform:scaleX(1.25) scaleY(0.75)}40%{-webkit-transform:scaleX(0.75) scaleY(1.25);transform:scaleX(0.75) scaleY(1.25)}60%{-webkit-transform:scaleX(1.15) scaleY(0.85);transform:scaleX(1.15) scaleY(0.85)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes rubberBand{0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}30%{-webkit-transform:scaleX(1.25) scaleY(0.75);-ms-transform:scaleX(1.25) scaleY(0.75);transform:scaleX(1.25) scaleY(0.75)}40%{-webkit-transform:scaleX(0.75) scaleY(1.25);-ms-transform:scaleX(0.75) scaleY(1.25);transform:scaleX(0.75) scaleY(1.25)}60%{-webkit-transform:scaleX(1.15) scaleY(0.85);-ms-transform:scaleX(1.15) scaleY(0.85);transform:scaleX(1.15) scaleY(0.85)}100%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}100%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);-ms-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);-ms-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);-ms-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);-ms-transform:rotate(-5deg);transform:rotate(-5deg)}100%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}}.swing{-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scale(1);transform:scale(1)}10%,20%{-webkit-transform:scale(0.9) rotate(-3deg);transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg);transform:scale(1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg);transform:scale(1.1) rotate(-3deg)}100%{-webkit-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}}@keyframes tada{0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}10%,20%{-webkit-transform:scale(0.9) rotate(-3deg);-ms-transform:scale(0.9) rotate(-3deg);transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg);-ms-transform:scale(1.1) rotate(3deg);transform:scale(1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg);-ms-transform:scale(1.1) rotate(-3deg);transform:scale(1.1) rotate(-3deg)}100%{-webkit-transform:scale(1) rotate(0);-ms-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateX(0%);transform:translateX(0%)}15%{-webkit-transform:translateX(-25%) rotate(-5deg);transform:translateX(-25%) rotate(-5deg)}30%{-webkit-transform:translateX(20%) rotate(3deg);transform:translateX(20%) rotate(3deg)}45%{-webkit-transform:translateX(-15%) rotate(-3deg);transform:translateX(-15%) rotate(-3deg)}60%{-webkit-transform:translateX(10%) rotate(2deg);transform:translateX(10%) rotate(2deg)}75%{-webkit-transform:translateX(-5%) rotate(-1deg);transform:translateX(-5%) rotate(-1deg)}100%{-webkit-transform:translateX(0%);transform:translateX(0%)}}@keyframes wobble{0%{-webkit-transform:translateX(0%);-ms-transform:translateX(0%);transform:translateX(0%)}15%{-webkit-transform:translateX(-25%) rotate(-5deg);-ms-transform:translateX(-25%) rotate(-5deg);transform:translateX(-25%) rotate(-5deg)}30%{-webkit-transform:translateX(20%) rotate(3deg);-ms-transform:translateX(20%) rotate(3deg);transform:translateX(20%) rotate(3deg)}45%{-webkit-transform:translateX(-15%) rotate(-3deg);-ms-transform:translateX(-15%) rotate(-3deg);transform:translateX(-15%) rotate(-3deg)}60%{-webkit-transform:translateX(10%) rotate(2deg);-ms-transform:translateX(10%) rotate(2deg);transform:translateX(10%) rotate(2deg)}75%{-webkit-transform:translateX(-5%) rotate(-1deg);-ms-transform:translateX(-5%) rotate(-1deg);transform:translateX(-5%) rotate(-1deg)}100%{-webkit-transform:translateX(0%);-ms-transform:translateX(0%);transform:translateX(0%)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes bounceIn{0%{opacity:0;-webkit-transform:scale(.3);transform:scale(.3)}50%{opacity:1;-webkit-transform:scale(1.05);transform:scale(1.05)}70%{-webkit-transform:scale(.9);transform:scale(.9)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;-webkit-transform:scale(.3);-ms-transform:scale(.3);transform:scale(.3)}50%{opacity:1;-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}70%{-webkit-transform:scale(.9);-ms-transform:scale(.9);transform:scale(.9)}100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}60%{opacity:1;-webkit-transform:translateY(30px);transform:translateY(30px)}80%{-webkit-transform:translateY(-10px);transform:translateY(-10px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes bounceInDown{0%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}60%{opacity:1;-webkit-transform:translateY(30px);-ms-transform:translateY(30px);transform:translateY(30px)}80%{-webkit-transform:translateY(-10px);-ms-transform:translateY(-10px);transform:translateY(-10px)}100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}60%{opacity:1;-webkit-transform:translateX(30px);transform:translateX(30px)}80%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes bounceInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}60%{opacity:1;-webkit-transform:translateX(30px);-ms-transform:translateX(30px);transform:translateX(30px)}80%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}60%{opacity:1;-webkit-transform:translateX(-30px);transform:translateX(-30px)}80%{-webkit-transform:translateX(10px);transform:translateX(10px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes bounceInRight{0%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}60%{opacity:1;-webkit-transform:translateX(-30px);-ms-transform:translateX(-30px);transform:translateX(-30px)}80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}60%{opacity:1;-webkit-transform:translateY(-30px);transform:translateY(-30px)}80%{-webkit-transform:translateY(10px);transform:translateY(10px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes bounceInUp{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}60%{opacity:1;-webkit-transform:translateY(-30px);-ms-transform:translateY(-30px);transform:translateY(-30px)}80%{-webkit-transform:translateY(10px);-ms-transform:translateY(10px);transform:translateY(10px)}100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{0%{-webkit-transform:scale(1);transform:scale(1)}25%{-webkit-transform:scale(.95);transform:scale(.95)}50%{opacity:1;-webkit-transform:scale(1.1);transform:scale(1.1)}100%{opacity:0;-webkit-transform:scale(.3);transform:scale(.3)}}@keyframes bounceOut{0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}25%{-webkit-transform:scale(.95);-ms-transform:scale(.95);transform:scale(.95)}50%{opacity:1;-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}100%{opacity:0;-webkit-transform:scale(.3);-ms-transform:scale(.3);transform:scale(.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{0%{-webkit-transform:translateY(0);transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(-20px);transform:translateY(-20px)}100%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}}@keyframes bounceOutDown{0%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(-20px);-ms-transform:translateY(-20px);transform:translateY(-20px)}100%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(20px);transform:translateX(20px)}100%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}}@keyframes bounceOutLeft{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(20px);-ms-transform:translateX(20px);transform:translateX(20px)}100%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}}@keyframes bounceOutRight{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(-20px);-ms-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(20px);transform:translateY(20px)}100%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}}@keyframes bounceOutUp{0%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px)}100%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-20px);-ms-transform:translateY(-20px);transform:translateY(-20px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translateX(-20px);-ms-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translateX(20px);transform:translateX(20px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translateX(20px);-ms-transform:translateX(20px);transform:translateX(20px)}100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}}@keyframes fadeOutDown{0%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}}@keyframes fadeOutDownBig{0%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-20px);transform:translateX(-20px)}}@keyframes fadeOutLeft{0%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-20px);-ms-transform:translateX(-20px);transform:translateX(-20px)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}}@keyframes fadeOutLeftBig{0%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(20px);transform:translateX(20px)}}@keyframes fadeOutRight{0%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(20px);-ms-transform:translateX(20px);transform:translateX(20px)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}}@keyframes fadeOutRightBig{0%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}}@keyframes fadeOutUp{0%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-20px);-ms-transform:translateY(-20px);transform:translateY(-20px)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}}@keyframes fadeOutUpBig{0%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) translateZ(0) rotateY(0) scale(1);transform:perspective(400px) translateZ(0) rotateY(0) scale(1);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(170deg) scale(1);transform:perspective(400px) translateZ(150px) rotateY(170deg) scale(1);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) translateZ(0) rotateY(360deg) scale(.95);transform:perspective(400px) translateZ(0) rotateY(360deg) scale(.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px) translateZ(0) rotateY(360deg) scale(1);transform:perspective(400px) translateZ(0) rotateY(360deg) scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) translateZ(0) rotateY(0) scale(1);-ms-transform:perspective(400px) translateZ(0) rotateY(0) scale(1);transform:perspective(400px) translateZ(0) rotateY(0) scale(1);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(170deg) scale(1);-ms-transform:perspective(400px) translateZ(150px) rotateY(170deg) scale(1);transform:perspective(400px) translateZ(150px) rotateY(170deg) scale(1);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-ms-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) translateZ(0) rotateY(360deg) scale(.95);-ms-transform:perspective(400px) translateZ(0) rotateY(360deg) scale(.95);transform:perspective(400px) translateZ(0) rotateY(360deg) scale(.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px) translateZ(0) rotateY(360deg) scale(1);-ms-transform:perspective(400px) translateZ(0) rotateY(360deg) scale(1);transform:perspective(400px) translateZ(0) rotateY(360deg) scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;-ms-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-10deg);transform:perspective(400px) rotateX(-10deg)}70%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg)}100%{-webkit-transform:perspective(400px) rotateX(0deg);transform:perspective(400px) rotateX(0deg);opacity:1}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);-ms-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-10deg);-ms-transform:perspective(400px) rotateX(-10deg);transform:perspective(400px) rotateX(-10deg)}70%{-webkit-transform:perspective(400px) rotateX(10deg);-ms-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg)}100%{-webkit-transform:perspective(400px) rotateX(0deg);-ms-transform:perspective(400px) rotateX(0deg);transform:perspective(400px) rotateX(0deg);opacity:1}}.flipInX{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-10deg);transform:perspective(400px) rotateY(-10deg)}70%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg)}100%{-webkit-transform:perspective(400px) rotateY(0deg);transform:perspective(400px) rotateY(0deg);opacity:1}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);-ms-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-10deg);-ms-transform:perspective(400px) rotateY(-10deg);transform:perspective(400px) rotateY(-10deg)}70%{-webkit-transform:perspective(400px) rotateY(10deg);-ms-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg)}100%{-webkit-transform:perspective(400px) rotateY(0deg);-ms-transform:perspective(400px) rotateY(0deg);transform:perspective(400px) rotateY(0deg);opacity:1}}.flipInY{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px) rotateX(0deg);transform:perspective(400px) rotateX(0deg);opacity:1}100%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px) rotateX(0deg);-ms-transform:perspective(400px) rotateX(0deg);transform:perspective(400px) rotateX(0deg);opacity:1}100%{-webkit-transform:perspective(400px) rotateX(90deg);-ms-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px) rotateY(0deg);transform:perspective(400px) rotateY(0deg);opacity:1}100%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px) rotateY(0deg);-ms-transform:perspective(400px) rotateY(0deg);transform:perspective(400px) rotateY(0deg);opacity:1}100%{-webkit-transform:perspective(400px) rotateY(90deg);-ms-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translateX(100%) skewX(-30deg);transform:translateX(100%) skewX(-30deg);opacity:0}60%{-webkit-transform:translateX(-20%) skewX(30deg);transform:translateX(-20%) skewX(30deg);opacity:1}80%{-webkit-transform:translateX(0%) skewX(-15deg);transform:translateX(0%) skewX(-15deg);opacity:1}100%{-webkit-transform:translateX(0%) skewX(0deg);transform:translateX(0%) skewX(0deg);opacity:1}}@keyframes lightSpeedIn{0%{-webkit-transform:translateX(100%) skewX(-30deg);-ms-transform:translateX(100%) skewX(-30deg);transform:translateX(100%) skewX(-30deg);opacity:0}60%{-webkit-transform:translateX(-20%) skewX(30deg);-ms-transform:translateX(-20%) skewX(30deg);transform:translateX(-20%) skewX(30deg);opacity:1}80%{-webkit-transform:translateX(0%) skewX(-15deg);-ms-transform:translateX(0%) skewX(-15deg);transform:translateX(0%) skewX(-15deg);opacity:1}100%{-webkit-transform:translateX(0%) skewX(0deg);-ms-transform:translateX(0%) skewX(0deg);transform:translateX(0%) skewX(0deg);opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{-webkit-transform:translateX(0%) skewX(0deg);transform:translateX(0%) skewX(0deg);opacity:1}100%{-webkit-transform:translateX(100%) skewX(-30deg);transform:translateX(100%) skewX(-30deg);opacity:0}}@keyframes lightSpeedOut{0%{-webkit-transform:translateX(0%) skewX(0deg);-ms-transform:translateX(0%) skewX(0deg);transform:translateX(0%) skewX(0deg);opacity:1}100%{-webkit-transform:translateX(100%) skewX(-30deg);-ms-transform:translateX(100%) skewX(-30deg);transform:translateX(100%) skewX(-30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center center;transform-origin:center center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}100%{-webkit-transform-origin:center center;transform-origin:center center;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}}@keyframes rotateIn{0%{-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;-webkit-transform:rotate(-200deg);-ms-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}100%{-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center center;transform-origin:center center;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:center center;transform-origin:center center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;-webkit-transform:rotate(200deg);-ms-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes slideInDown{0%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}}@keyframes slideOutLeft{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}}@keyframes slideOutRight{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}}@keyframes slideOutUp{0%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}@-webkit-keyframes slideInUp{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}}@keyframes slideOutDown{0%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes hinge{0%{-webkit-transform:rotate(0);transform:rotate(0);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}80%{-webkit-transform:rotate(60deg) translateY(0);transform:rotate(60deg) translateY(0);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translateY(700px);transform:translateY(700px);opacity:0}}@keyframes hinge{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);-ms-transform:rotate(80deg);transform:rotate(80deg);-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%{-webkit-transform:rotate(60deg);-ms-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}80%{-webkit-transform:rotate(60deg) translateY(0);-ms-transform:rotate(60deg) translateY(0);transform:rotate(60deg) translateY(0);-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translateY(700px);-ms-transform:translateY(700px);transform:translateY(700px);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg);transform:translateX(0px) rotate(0deg)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg);-ms-transform:translateX(0px) rotate(0deg);transform:translateX(0px) rotate(0deg)}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg);transform:translateX(0px) rotate(0deg)}100%{opacity:0;-webkit-transform:translateX(100%) rotate(120deg);transform:translateX(100%) rotate(120deg)}}@keyframes rollOut{0%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg);-ms-transform:translateX(0px) rotate(0deg);transform:translateX(0px) rotate(0deg)}100%{opacity:0;-webkit-transform:translateX(100%) rotate(120deg);-ms-transform:translateX(100%) rotate(120deg);transform:translateX(100%) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale(.3);transform:scale(.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale(.3);-ms-transform:scale(.3);transform:scale(.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale(.1) translateX(2000px);transform:scale(.1) translateX(2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(-48px);transform:scale(.475) translateX(-48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale(.1) translateX(2000px);-ms-transform:scale(.1) translateX(2000px);transform:scale(.1) translateX(2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(-48px);-ms-transform:scale(.475) translateX(-48px);transform:scale(.475) translateX(-48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale(.1) translateY(2000px);transform:scale(.1) translateY(2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(-60px);transform:scale(.475) translateY(-60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale(.1) translateY(2000px);-ms-transform:scale(.1) translateY(2000px);transform:scale(.1) translateY(2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(-60px);-ms-transform:scale(.475) translateY(-60px);transform:scale(.475) translateY(-60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:0;-webkit-transform:scale(.3);transform:scale(.3)}100%{opacity:0}}@keyframes zoomOut{0%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}50%{opacity:0;-webkit-transform:scale(.3);-ms-transform:scale(.3);transform:scale(.3)}100%{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale(.475) translateY(-60px);transform:scale(.475) translateY(-60px);-webkit-animation-timing-function:linear;animation-timing-function:linear}100%{opacity:0;-webkit-transform:scale(.1) translateY(2000px);transform:scale(.1) translateY(2000px);-webkit-transform-origin:center bottom;transform-origin:center bottom}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale(.475) translateY(-60px);-ms-transform:scale(.475) translateY(-60px);transform:scale(.475) translateY(-60px);-webkit-animation-timing-function:linear;animation-timing-function:linear}100%{opacity:0;-webkit-transform:scale(.1) translateY(2000px);-ms-transform:scale(.1) translateY(2000px);transform:scale(.1) translateY(2000px);-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale(.475) translateX(42px);transform:scale(.475) translateX(42px);-webkit-animation-timing-function:linear;animation-timing-function:linear}100%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale(.475) translateX(42px);-ms-transform:scale(.475) translateX(42px);transform:scale(.475) translateX(42px);-webkit-animation-timing-function:linear;animation-timing-function:linear}100%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-transform-origin:left center;-ms-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale(.475) translateX(-42px);transform:scale(.475) translateX(-42px);-webkit-animation-timing-function:linear;animation-timing-function:linear}100%{opacity:0;-webkit-transform:scale(.1) translateX(2000px);transform:scale(.1) translateX(2000px);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale(.475) translateX(-42px);-ms-transform:scale(.475) translateX(-42px);transform:scale(.475) translateX(-42px);-webkit-animation-timing-function:linear;animation-timing-function:linear}100%{opacity:0;-webkit-transform:scale(.1) translateX(2000px);-ms-transform:scale(.1) translateX(2000px);transform:scale(.1) translateX(2000px);-webkit-transform-origin:right center;-ms-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:linear;animation-timing-function:linear}100%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-transform-origin:center top;transform-origin:center top}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:linear;animation-timing-function:linear}100%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-transform-origin:center top;-ms-transform-origin:center top;transform-origin:center top}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp} \ No newline at end of file diff --git a/commons/common.css b/commons/common.css new file mode 100644 index 0000000..e141bd6 --- /dev/null +++ b/commons/common.css @@ -0,0 +1,4613 @@ +page { + /* 定义一些主题色及基础样式 */ + font-family: PingFang SC, Arial, Hiragino Sans GB, Microsoft YaHei, sans-serif; + font-size: 28rpx; + color: #333333; + padding-bottom: env(safe-area-inset-bottom); + background-color: #f7f7f7; +} +.bold { + font-weight: bold; +} +/* 定义字体颜色 */ +.primary { + color: #FF2C3C; +} +.black { + color: #101010; +} +.white { + color: #ffffff; +} +.normal { + color: #333333; +} +.lighter { + color: #666666; +} +.muted { + color: #999999; +} +/* 定义背景颜色 */ +.bg-primary { + background-color: #FF2C3C; +} +.bg-white { + background-color: #ffffff; +} +.bg-body { + background-color: #F6F6F6; +} +.bg-gray { + background-color: #E5E5E5; +} +/* 定义字体大小 */ +.fs24 { + font-size: 24rpx; +} + +.fs26 { + font-size: 26rpx; +} + +.fs28 { + font-size: 28rpx; +} + +.fs30 { + font-size: 30rpx; +} + +.fs32 { + font-size: 32rpx; +} + +.fs36 { + font-size: 36rpx; +} + +.fs40 { + font-size: 40rpx; +} + +.fs50 { + font-size: 50rpx; +} + +.xxl { + font-size: 36rpx; +} +.xl { + font-size: 34rpx; +} +.lg { + font-size: 32rpx; +} +.md { + font-size: 30rpx; +} +.nr { + font-size: 28rpx; +} +.sm { + font-size: 26rpx; +} +.xs { + font-size: 24rpx; +} +.xxs { + font-size: 22rpx; +} +.m-0 { + margin: 0rpx; +} +.p-0 { + padding: 0rpx; +} +.m-l-0 { + margin-left: 0rpx; +} +.p-l-0 { + padding-left: 0rpx; +} +.m-t-0 { + margin-top: 0rpx; +} +.p-t-0 { + padding-top: 0rpx; +} +.m-r-0 { + margin-right: 0rpx; +} +.p-r-0 { + padding-right: 0rpx; +} +.m-b-0 { + margin-bottom: 0rpx; +} +.p-b-0 { + padding-bottom: 0rpx; +} +.m-2 { + margin: 2rpx; +} +.p-2 { + padding: 2rpx; +} +.m-l-2 { + margin-left: 2rpx; +} +.p-l-2 { + padding-left: 2rpx; +} +.m-t-2 { + margin-top: 2rpx; +} +.p-t-2 { + padding-top: 2rpx; +} +.m-r-2 { + margin-right: 2rpx; +} +.p-r-2 { + padding-right: 2rpx; +} +.m-b-2 { + margin-bottom: 2rpx; +} +.p-b-2 { + padding-bottom: 2rpx; +} +.m-4 { + margin: 4rpx; +} +.p-4 { + padding: 4rpx; +} +.m-l-4 { + margin-left: 4rpx; +} +.p-l-4 { + padding-left: 4rpx; +} +.m-t-4 { + margin-top: 4rpx; +} +.p-t-4 { + padding-top: 4rpx; +} +.m-r-4 { + margin-right: 4rpx; +} +.p-r-4 { + padding-right: 4rpx; +} +.m-b-4 { + margin-bottom: 4rpx; +} +.p-b-4 { + padding-bottom: 4rpx; +} +.m-5 { + margin: 5rpx; +} +.p-5 { + padding: 5rpx; +} +.m-l-5 { + margin-left: 5rpx; +} +.p-l-5 { + padding-left: 5rpx; +} +.m-t-5 { + margin-top: 5rpx; +} +.p-t-5 { + padding-top: 5rpx; +} +.m-r-5 { + margin-right: 5rpx; +} +.p-r-5 { + padding-right: 5rpx; +} +.m-b-5 { + margin-bottom: 5rpx; +} +.p-b-5 { + padding-bottom: 5rpx; +} +.m-6 { + margin: 6rpx; +} +.p-6 { + padding: 6rpx; +} +.m-l-6 { + margin-left: 6rpx; +} +.p-l-6 { + padding-left: 6rpx; +} +.m-t-6 { + margin-top: 6rpx; +} +.p-t-6 { + padding-top: 6rpx; +} +.m-r-6 { + margin-right: 6rpx; +} +.p-r-6 { + padding-right: 6rpx; +} +.m-b-6 { + margin-bottom: 6rpx; +} +.p-b-6 { + padding-bottom: 6rpx; +} +.m-8 { + margin: 8rpx; +} +.p-8 { + padding: 8rpx; +} +.m-l-8 { + margin-left: 8rpx; +} +.p-l-8 { + padding-left: 8rpx; +} +.m-t-8 { + margin-top: 8rpx; +} +.p-t-8 { + padding-top: 8rpx; +} +.m-r-8 { + margin-right: 8rpx; +} +.p-r-8 { + padding-right: 8rpx; +} +.m-b-8 { + margin-bottom: 8rpx; +} +.p-b-8 { + padding-bottom: 8rpx; +} +.m-10 { + margin: 10rpx; +} +.p-10 { + padding: 10rpx; +} +.m-l-10 { + margin-left: 10rpx; +} +.p-l-10 { + padding-left: 10rpx; +} +.m-t-10 { + margin-top: 10rpx; +} +.p-t-10 { + padding-top: 10rpx; +} +.m-r-10 { + margin-right: 10rpx; +} +.p-r-10 { + padding-right: 10rpx; +} +.m-b-10 { + margin-bottom: 10rpx; +} +.p-b-10 { + padding-bottom: 10rpx; +} +.m-12 { + margin: 12rpx; +} +.p-12 { + padding: 12rpx; +} +.m-l-12 { + margin-left: 12rpx; +} +.p-l-12 { + padding-left: 12rpx; +} +.m-t-12 { + margin-top: 12rpx; +} +.p-t-12 { + padding-top: 12rpx; +} +.m-r-12 { + margin-right: 12rpx; +} +.p-r-12 { + padding-right: 12rpx; +} +.m-b-12 { + margin-bottom: 12rpx; +} +.p-b-12 { + padding-bottom: 12rpx; +} +.m-14 { + margin: 14rpx; +} +.p-14 { + padding: 14rpx; +} +.m-l-14 { + margin-left: 14rpx; +} +.p-l-14 { + padding-left: 14rpx; +} +.m-t-14 { + margin-top: 14rpx; +} +.p-t-14 { + padding-top: 14rpx; +} +.m-r-14 { + margin-right: 14rpx; +} +.p-r-14 { + padding-right: 14rpx; +} +.m-b-14 { + margin-bottom: 14rpx; +} +.p-b-14 { + padding-bottom: 14rpx; +} +.m-15 { + margin: 15rpx; +} +.p-15 { + padding: 15rpx; +} +.m-l-15 { + margin-left: 15rpx; +} +.p-l-15 { + padding-left: 15rpx; +} +.m-t-15 { + margin-top: 15rpx; +} +.p-t-15 { + padding-top: 15rpx; +} +.m-r-15 { + margin-right: 15rpx; +} +.p-r-15 { + padding-right: 15rpx; +} +.m-b-15 { + margin-bottom: 15rpx; +} +.p-b-15 { + padding-bottom: 15rpx; +} +.m-16 { + margin: 16rpx; +} +.p-16 { + padding: 16rpx; +} +.m-l-16 { + margin-left: 16rpx; +} +.p-l-16 { + padding-left: 16rpx; +} +.m-t-16 { + margin-top: 16rpx; +} +.p-t-16 { + padding-top: 16rpx; +} +.m-r-16 { + margin-right: 16rpx; +} +.p-r-16 { + padding-right: 16rpx; +} +.m-b-16 { + margin-bottom: 16rpx; +} +.p-b-16 { + padding-bottom: 16rpx; +} +.m-18 { + margin: 18rpx; +} +.p-18 { + padding: 18rpx; +} +.m-l-18 { + margin-left: 18rpx; +} +.p-l-18 { + padding-left: 18rpx; +} +.m-t-18 { + margin-top: 18rpx; +} +.p-t-18 { + padding-top: 18rpx; +} +.m-r-18 { + margin-right: 18rpx; +} +.p-r-18 { + padding-right: 18rpx; +} +.m-b-18 { + margin-bottom: 18rpx; +} +.p-b-18 { + padding-bottom: 18rpx; +} +.m-20 { + margin: 20rpx; +} +.p-20 { + padding: 20rpx; +} +.m-l-20 { + margin-left: 20rpx; +} +.p-l-20 { + padding-left: 20rpx; +} +.m-t-20 { + margin-top: 20rpx; +} +.p-t-20 { + padding-top: 20rpx; +} +.m-r-20 { + margin-right: 20rpx; +} +.p-r-20 { + padding-right: 20rpx; +} +.m-b-20 { + margin-bottom: 20rpx; +} +.p-b-20 { + padding-bottom: 20rpx; +} +.m-22 { + margin: 22rpx; +} +.p-22 { + padding: 22rpx; +} +.m-l-22 { + margin-left: 22rpx; +} +.p-l-22 { + padding-left: 22rpx; +} +.m-t-22 { + margin-top: 22rpx; +} +.p-t-22 { + padding-top: 22rpx; +} +.m-r-22 { + margin-right: 22rpx; +} +.p-r-22 { + padding-right: 22rpx; +} +.m-b-22 { + margin-bottom: 22rpx; +} +.p-b-22 { + padding-bottom: 22rpx; +} +.m-24 { + margin: 24rpx; +} +.p-24 { + padding: 24rpx; +} +.m-l-24 { + margin-left: 24rpx; +} +.p-l-24 { + padding-left: 24rpx; +} +.m-t-24 { + margin-top: 24rpx; +} +.p-t-24 { + padding-top: 24rpx; +} +.m-r-24 { + margin-right: 24rpx; +} +.p-r-24 { + padding-right: 24rpx; +} +.m-b-24 { + margin-bottom: 24rpx; +} +.p-b-24 { + padding-bottom: 24rpx; +} +.m-25 { + margin: 25rpx; +} +.p-25 { + padding: 25rpx; +} +.m-l-25 { + margin-left: 25rpx; +} +.p-l-25 { + padding-left: 25rpx; +} +.m-t-25 { + margin-top: 25rpx; +} +.p-t-25 { + padding-top: 25rpx; +} +.m-r-25 { + margin-right: 25rpx; +} +.p-r-25 { + padding-right: 25rpx; +} +.m-b-25 { + margin-bottom: 25rpx; +} +.p-b-25 { + padding-bottom: 25rpx; +} +.m-26 { + margin: 26rpx; +} +.p-26 { + padding: 26rpx; +} +.m-l-26 { + margin-left: 26rpx; +} +.p-l-26 { + padding-left: 26rpx; +} +.m-t-26 { + margin-top: 26rpx; +} +.p-t-26 { + padding-top: 26rpx; +} +.m-r-26 { + margin-right: 26rpx; +} +.p-r-26 { + padding-right: 26rpx; +} +.m-b-26 { + margin-bottom: 26rpx; +} +.p-b-26 { + padding-bottom: 26rpx; +} +.m-28 { + margin: 28rpx; +} +.p-28 { + padding: 28rpx; +} +.m-l-28 { + margin-left: 28rpx; +} +.p-l-28 { + padding-left: 28rpx; +} +.m-t-28 { + margin-top: 28rpx; +} +.p-t-28 { + padding-top: 28rpx; +} +.m-r-28 { + margin-right: 28rpx; +} +.p-r-28 { + padding-right: 28rpx; +} +.m-b-28 { + margin-bottom: 28rpx; +} +.p-b-28 { + padding-bottom: 28rpx; +} +.m-30 { + margin: 30rpx; +} +.p-30 { + padding: 30rpx; +} +.m-l-30 { + margin-left: 30rpx; +} +.p-l-30 { + padding-left: 30rpx; +} +.m-t-30 { + margin-top: 30rpx; +} +.p-t-30 { + padding-top: 30rpx; +} +.m-r-30 { + margin-right: 30rpx; +} +.p-r-30 { + padding-right: 30rpx; +} +.m-b-30 { + margin-bottom: 30rpx; +} +.p-b-30 { + padding-bottom: 30rpx; +} +.m-32 { + margin: 32rpx; +} +.p-32 { + padding: 32rpx; +} +.m-l-32 { + margin-left: 32rpx; +} +.p-l-32 { + padding-left: 32rpx; +} +.m-t-32 { + margin-top: 32rpx; +} +.p-t-32 { + padding-top: 32rpx; +} +.m-r-32 { + margin-right: 32rpx; +} +.p-r-32 { + padding-right: 32rpx; +} +.m-b-32 { + margin-bottom: 32rpx; +} +.p-b-32 { + padding-bottom: 32rpx; +} +.m-34 { + margin: 34rpx; +} +.p-34 { + padding: 34rpx; +} +.m-l-34 { + margin-left: 34rpx; +} +.p-l-34 { + padding-left: 34rpx; +} +.m-t-34 { + margin-top: 34rpx; +} +.p-t-34 { + padding-top: 34rpx; +} +.m-r-34 { + margin-right: 34rpx; +} +.p-r-34 { + padding-right: 34rpx; +} +.m-b-34 { + margin-bottom: 34rpx; +} +.p-b-34 { + padding-bottom: 34rpx; +} +.m-35 { + margin: 35rpx; +} +.p-35 { + padding: 35rpx; +} +.m-l-35 { + margin-left: 35rpx; +} +.p-l-35 { + padding-left: 35rpx; +} +.m-t-35 { + margin-top: 35rpx; +} +.p-t-35 { + padding-top: 35rpx; +} +.m-r-35 { + margin-right: 35rpx; +} +.p-r-35 { + padding-right: 35rpx; +} +.m-b-35 { + margin-bottom: 35rpx; +} +.p-b-35 { + padding-bottom: 35rpx; +} +.m-36 { + margin: 36rpx; +} +.p-36 { + padding: 36rpx; +} +.m-l-36 { + margin-left: 36rpx; +} +.p-l-36 { + padding-left: 36rpx; +} +.m-t-36 { + margin-top: 36rpx; +} +.p-t-36 { + padding-top: 36rpx; +} +.m-r-36 { + margin-right: 36rpx; +} +.p-r-36 { + padding-right: 36rpx; +} +.m-b-36 { + margin-bottom: 36rpx; +} +.p-b-36 { + padding-bottom: 36rpx; +} +.m-38 { + margin: 38rpx; +} +.p-38 { + padding: 38rpx; +} +.m-l-38 { + margin-left: 38rpx; +} +.p-l-38 { + padding-left: 38rpx; +} +.m-t-38 { + margin-top: 38rpx; +} +.p-t-38 { + padding-top: 38rpx; +} +.m-r-38 { + margin-right: 38rpx; +} +.p-r-38 { + padding-right: 38rpx; +} +.m-b-38 { + margin-bottom: 38rpx; +} +.p-b-38 { + padding-bottom: 38rpx; +} +.m-40 { + margin: 40rpx; +} +.p-40 { + padding: 40rpx; +} +.m-l-40 { + margin-left: 40rpx; +} +.p-l-40 { + padding-left: 40rpx; +} +.m-t-40 { + margin-top: 40rpx; +} +.p-t-40 { + padding-top: 40rpx; +} +.m-r-40 { + margin-right: 40rpx; +} +.p-r-40 { + padding-right: 40rpx; +} +.m-b-40 { + margin-bottom: 40rpx; +} +.p-b-40 { + padding-bottom: 40rpx; +} +.m-42 { + margin: 42rpx; +} +.p-42 { + padding: 42rpx; +} +.m-l-42 { + margin-left: 42rpx; +} +.p-l-42 { + padding-left: 42rpx; +} +.m-t-42 { + margin-top: 42rpx; +} +.p-t-42 { + padding-top: 42rpx; +} +.m-r-42 { + margin-right: 42rpx; +} +.p-r-42 { + padding-right: 42rpx; +} +.m-b-42 { + margin-bottom: 42rpx; +} +.p-b-42 { + padding-bottom: 42rpx; +} +.m-44 { + margin: 44rpx; +} +.p-44 { + padding: 44rpx; +} +.m-l-44 { + margin-left: 44rpx; +} +.p-l-44 { + padding-left: 44rpx; +} +.m-t-44 { + margin-top: 44rpx; +} +.p-t-44 { + padding-top: 44rpx; +} +.m-r-44 { + margin-right: 44rpx; +} +.p-r-44 { + padding-right: 44rpx; +} +.m-b-44 { + margin-bottom: 44rpx; +} +.p-b-44 { + padding-bottom: 44rpx; +} +.m-45 { + margin: 45rpx; +} +.p-45 { + padding: 45rpx; +} +.m-l-45 { + margin-left: 45rpx; +} +.p-l-45 { + padding-left: 45rpx; +} +.m-t-45 { + margin-top: 45rpx; +} +.p-t-45 { + padding-top: 45rpx; +} +.m-r-45 { + margin-right: 45rpx; +} +.p-r-45 { + padding-right: 45rpx; +} +.m-b-45 { + margin-bottom: 45rpx; +} +.p-b-45 { + padding-bottom: 45rpx; +} +.m-46 { + margin: 46rpx; +} +.p-46 { + padding: 46rpx; +} +.m-l-46 { + margin-left: 46rpx; +} +.p-l-46 { + padding-left: 46rpx; +} +.m-t-46 { + margin-top: 46rpx; +} +.p-t-46 { + padding-top: 46rpx; +} +.m-r-46 { + margin-right: 46rpx; +} +.p-r-46 { + padding-right: 46rpx; +} +.m-b-46 { + margin-bottom: 46rpx; +} +.p-b-46 { + padding-bottom: 46rpx; +} +.m-48 { + margin: 48rpx; +} +.p-48 { + padding: 48rpx; +} +.m-l-48 { + margin-left: 48rpx; +} +.p-l-48 { + padding-left: 48rpx; +} +.m-t-48 { + margin-top: 48rpx; +} +.p-t-48 { + padding-top: 48rpx; +} +.m-r-48 { + margin-right: 48rpx; +} +.p-r-48 { + padding-right: 48rpx; +} +.m-b-48 { + margin-bottom: 48rpx; +} +.p-b-48 { + padding-bottom: 48rpx; +} +.m-50 { + margin: 50rpx; +} +.p-50 { + padding: 50rpx; +} +.m-l-50 { + margin-left: 50rpx; +} +.p-l-50 { + padding-left: 50rpx; +} +.m-t-50 { + margin-top: 50rpx; +} +.p-t-50 { + padding-top: 50rpx; +} +.m-r-50 { + margin-right: 50rpx; +} +.p-r-50 { + padding-right: 50rpx; +} +.m-b-50 { + margin-bottom: 50rpx; +} +.p-b-50 { + padding-bottom: 50rpx; +} +.m-52 { + margin: 52rpx; +} +.p-52 { + padding: 52rpx; +} +.m-l-52 { + margin-left: 52rpx; +} +.p-l-52 { + padding-left: 52rpx; +} +.m-t-52 { + margin-top: 52rpx; +} +.p-t-52 { + padding-top: 52rpx; +} +.m-r-52 { + margin-right: 52rpx; +} +.p-r-52 { + padding-right: 52rpx; +} +.m-b-52 { + margin-bottom: 52rpx; +} +.p-b-52 { + padding-bottom: 52rpx; +} +.m-54 { + margin: 54rpx; +} +.p-54 { + padding: 54rpx; +} +.m-l-54 { + margin-left: 54rpx; +} +.p-l-54 { + padding-left: 54rpx; +} +.m-t-54 { + margin-top: 54rpx; +} +.p-t-54 { + padding-top: 54rpx; +} +.m-r-54 { + margin-right: 54rpx; +} +.p-r-54 { + padding-right: 54rpx; +} +.m-b-54 { + margin-bottom: 54rpx; +} +.p-b-54 { + padding-bottom: 54rpx; +} +.m-55 { + margin: 55rpx; +} +.p-55 { + padding: 55rpx; +} +.m-l-55 { + margin-left: 55rpx; +} +.p-l-55 { + padding-left: 55rpx; +} +.m-t-55 { + margin-top: 55rpx; +} +.p-t-55 { + padding-top: 55rpx; +} +.m-r-55 { + margin-right: 55rpx; +} +.p-r-55 { + padding-right: 55rpx; +} +.m-b-55 { + margin-bottom: 55rpx; +} +.p-b-55 { + padding-bottom: 55rpx; +} +.m-56 { + margin: 56rpx; +} +.p-56 { + padding: 56rpx; +} +.m-l-56 { + margin-left: 56rpx; +} +.p-l-56 { + padding-left: 56rpx; +} +.m-t-56 { + margin-top: 56rpx; +} +.p-t-56 { + padding-top: 56rpx; +} +.m-r-56 { + margin-right: 56rpx; +} +.p-r-56 { + padding-right: 56rpx; +} +.m-b-56 { + margin-bottom: 56rpx; +} +.p-b-56 { + padding-bottom: 56rpx; +} +.m-58 { + margin: 58rpx; +} +.p-58 { + padding: 58rpx; +} +.m-l-58 { + margin-left: 58rpx; +} +.p-l-58 { + padding-left: 58rpx; +} +.m-t-58 { + margin-top: 58rpx; +} +.p-t-58 { + padding-top: 58rpx; +} +.m-r-58 { + margin-right: 58rpx; +} +.p-r-58 { + padding-right: 58rpx; +} +.m-b-58 { + margin-bottom: 58rpx; +} +.p-b-58 { + padding-bottom: 58rpx; +} +.m-60 { + margin: 60rpx; +} +.p-60 { + padding: 60rpx; +} +.m-l-60 { + margin-left: 60rpx; +} +.p-l-60 { + padding-left: 60rpx; +} +.m-t-60 { + margin-top: 60rpx; +} +.p-t-60 { + padding-top: 60rpx; +} +.m-r-60 { + margin-right: 60rpx; +} +.p-r-60 { + padding-right: 60rpx; +} +.m-b-60 { + margin-bottom: 60rpx; +} +.p-b-60 { + padding-bottom: 60rpx; +} +.inline { + display: inline-block; +} +/* 定义常用的弹性布局 */ +.flex { + display: flex; + flex-direction: row; + align-items: center; +} +.flex-wrap { + flex-wrap: wrap; +} +.flex-nowrap { + flex-wrap: nowrap; +} +.col-baseline { + align-items: baseline; +} +.col-center { + align-items: center; +} +.col-top { + align-items: flex-start; +} +.col-bottom { + align-items: flex-end; +} +.col-stretch { + align-items: stretch; +} +.row-center { + justify-content: center; +} +.row-left { + justify-content: flex-start; +} +.row-right { + justify-content: flex-end; +} +.row-between { + justify-content: space-between; +} +.row-around { + justify-content: space-around; +} +.text-left { + text-align: left; +} +.text-center { + text-align: center; +} +.text-right { + text-align: right; +} +.flex-col { + display: flex; + flex-direction: column; +} +.flex-0 { + flex: 0; +} +.flex-1 { + flex: 1; +} +.flex-2 { + flex: 2; +} +.flex-3 { + flex: 3; +} +.flex-4 { + flex: 4; +} +.flex-5 { + flex: 5; +} +.flex-none { + flex: none; +} +.font-size-38 { + font-size: 38rpx; +} +.font-size-40 { + font-size: 40rpx; +} +.font-size-42 { + font-size: 42rpx; +} +.font-size-44 { + font-size: 44rpx; +} +.font-size-46 { + font-size: 46rpx; +} +.font-size-48 { + font-size: 48rpx; +} +.font-size-50 { + font-size: 50rpx; +} +.font-size-52 { + font-size: 52rpx; +} +.font-size-54 { + font-size: 54rpx; +} +.font-size-56 { + font-size: 56rpx; +} +.font-size-58 { + font-size: 58rpx; +} +.font-size-60 { + font-size: 60rpx; +} +/* 超出隐藏 */ +/* start--文本行数限制--start */ +.line-1 { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.line-2 { + -webkit-line-clamp: 2; +} +.line-3 { + -webkit-line-clamp: 3; +} +.line-2, .line-3 { + overflow: hidden; + word-break: break-all; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-box-orient: vertical; +} +/* 中划线 */ +.line-through { + text-decoration: line-through; +} +/* br60 */ +.br60 { + border-radius: 60rpx; +} +/* 初始化按钮 */ +page button { + padding: 0; + margin: 0; + background-color: transparent; + font-weight: normal; + font-size: 28rpx; + overflow: unset; + margin-left: 0; + margin-right: 0; +} +page button::after { + border: none; +} +button[type=primary] { + background-color: #FF2C3C; +} +.button-hover[type=primary] { + background-color: #FF2C3C; +} +/* 按钮大小 */ +button[size="xs"] { + line-height: 58rpx; + height: 58rpx; + font-size: 26rpx; + padding: 0 30rpx; +} +button[size="sm"] { + line-height: 62rpx; + height: 62rpx; + font-size: 28rpx; + padding: 0 30rpx; +} +button[size="md"] { + line-height: 70rpx; + height: 70rpx; + font-size: 30rpx; + padding: 0 30rpx; +} +button[size="lg"] { + line-height: 80rpx; + height: 80rpx; + font-size: 32rpx; + padding: 0 30rpx; +} +.icon-xs { + min-height: 28rpx; + min-width: 28rpx; + height: 28rpx; + width: 28rpx; + vertical-align: middle; +} +.icon-sm { + min-height: 30rpx; + min-width: 30rpx; + height: 30rpx; + width: 30rpx; + vertical-align: middle; +} +.icon { + min-height: 34rpx; + min-width: 34rpx; + height: 34rpx; + width: 34rpx; + vertical-align: middle; +} +.icon-md { + min-height: 44rpx; + min-width: 44rpx; + height: 44rpx; + width: 44rpx; + vertical-align: middle; +} +.icon-lg { + min-height: 52rpx; + min-width: 52rpx; + height: 52rpx; + width: 52rpx; + vertical-align: middle; +} +.icon-xl { + min-height: 64rpx; + min-width: 64rpx; + height: 64rpx; + width: 64rpx; + vertical-align: middle; +} +.icon-xxl { + min-height: 120rpx; + min-width: 120rpx; + height: 120rpx; + width: 120rpx; + vertical-align: middle; +} +.img-null { + width: 300rpx; + height: 300rpx; +} +/* 隐藏滚动条 */ +::-webkit-scrollbar { + width: 0; + height: 0; + color: transparent; +} +.u-relative, +.u-rela { + position: relative; +} +.u-absolute, +.u-abso { + position: absolute; +} +image { + display: inline-block; +} +view, +text { + box-sizing: border-box; +} +.u-font-xs { + font-size: 22rpx; +} +.u-font-sm { + font-size: 26rpx; +} +.u-font-md { + font-size: 28rpx; +} +.u-font-lg { + font-size: 30rpx; +} +.u-font-xl { + font-size: 34rpx; +} +.u-flex { + display: flex; + flex-direction: row; + align-items: center; +} +.u-flex-wrap { + flex-wrap: wrap; +} +.u-flex-nowrap { + flex-wrap: nowrap; +} +.u-col-center { + align-items: center; +} +.u-col-top { + align-items: flex-start; +} +.u-col-bottom { + align-items: flex-end; +} +.u-row-center { + justify-content: center; +} +.u-row-left { + justify-content: flex-start; +} +.u-row-right { + justify-content: flex-end; +} +.u-row-between { + justify-content: space-between; +} +.u-row-around { + justify-content: space-around; +} +.u-text-left { + text-align: left; +} +.u-text-center { + text-align: center; +} +.u-text-right { + text-align: right; +} +.u-flex-col { + display: flex; + flex-direction: column; +} +.u-flex-0 { + flex: 0; +} +.u-flex-1 { + flex: 1; +} +.u-flex-2 { + flex: 2; +} +.u-flex-3 { + flex: 3; +} +.u-flex-4 { + flex: 4; +} +.u-flex-5 { + flex: 5; +} +.u-flex-6 { + flex: 6; +} +.u-flex-7 { + flex: 7; +} +.u-flex-8 { + flex: 8; +} +.u-flex-9 { + flex: 9; +} +.u-flex-10 { + flex: 10; +} +.u-flex-11 { + flex: 11; +} +.u-flex-12 { + flex: 12; +} +.u-font-9 { + font-size: 9px; +} +.u-font-10 { + font-size: 10px; +} +.u-font-11 { + font-size: 11px; +} +.u-font-12 { + font-size: 12px; +} +.u-font-13 { + font-size: 13px; +} +.u-font-14 { + font-size: 14px; +} +.u-font-15 { + font-size: 15px; +} +.u-font-16 { + font-size: 16px; +} +.u-font-17 { + font-size: 17px; +} +.u-font-18 { + font-size: 18px; +} +.u-font-19 { + font-size: 19px; +} +.u-font-20 { + font-size: 20rpx; +} +.u-font-21 { + font-size: 21rpx; +} +.u-font-22 { + font-size: 22rpx; +} +.u-font-23 { + font-size: 23rpx; +} +.u-font-24 { + font-size: 24rpx; +} +.u-font-25 { + font-size: 25rpx; +} +.u-font-26 { + font-size: 26rpx; +} +.u-font-27 { + font-size: 27rpx; +} +.u-font-28 { + font-size: 28rpx; +} +.u-font-29 { + font-size: 29rpx; +} +.u-font-30 { + font-size: 30rpx; +} +.u-font-31 { + font-size: 31rpx; +} +.u-font-32 { + font-size: 32rpx; +} +.u-font-33 { + font-size: 33rpx; +} +.u-font-34 { + font-size: 34rpx; +} +.u-font-35 { + font-size: 35rpx; +} +.u-font-36 { + font-size: 36rpx; +} +.u-font-37 { + font-size: 37rpx; +} +.u-font-38 { + font-size: 38rpx; +} +.u-font-39 { + font-size: 39rpx; +} +.u-font-40 { + font-size: 40rpx; +} +.u-margin-0, .u-m-0 { + margin: 0rpx !important; +} +.u-padding-0, .u-p-0 { + padding: 0rpx !important; +} +.u-m-l-0 { + margin-left: 0rpx !important; +} +.u-p-l-0 { + padding-left: 0rpx !important; +} +.u-margin-left-0 { + margin-left: 0rpx !important; +} +.u-padding-left-0 { + padding-left: 0rpx !important; +} +.u-m-t-0 { + margin-top: 0rpx !important; +} +.u-p-t-0 { + padding-top: 0rpx !important; +} +.u-margin-top-0 { + margin-top: 0rpx !important; +} +.u-padding-top-0 { + padding-top: 0rpx !important; +} +.u-m-r-0 { + margin-right: 0rpx !important; +} +.u-p-r-0 { + padding-right: 0rpx !important; +} +.u-margin-right-0 { + margin-right: 0rpx !important; +} +.u-padding-right-0 { + padding-right: 0rpx !important; +} +.u-m-b-0 { + margin-bottom: 0rpx !important; +} +.u-p-b-0 { + padding-bottom: 0rpx !important; +} +.u-margin-bottom-0 { + margin-bottom: 0rpx !important; +} +.u-padding-bottom-0 { + padding-bottom: 0rpx !important; +} +.u-margin-2, .u-m-2 { + margin: 2rpx !important; +} +.u-padding-2, .u-p-2 { + padding: 2rpx !important; +} +.u-m-l-2 { + margin-left: 2rpx !important; +} +.u-p-l-2 { + padding-left: 2rpx !important; +} +.u-margin-left-2 { + margin-left: 2rpx !important; +} +.u-padding-left-2 { + padding-left: 2rpx !important; +} +.u-m-t-2 { + margin-top: 2rpx !important; +} +.u-p-t-2 { + padding-top: 2rpx !important; +} +.u-margin-top-2 { + margin-top: 2rpx !important; +} +.u-padding-top-2 { + padding-top: 2rpx !important; +} +.u-m-r-2 { + margin-right: 2rpx !important; +} +.u-p-r-2 { + padding-right: 2rpx !important; +} +.u-margin-right-2 { + margin-right: 2rpx !important; +} +.u-padding-right-2 { + padding-right: 2rpx !important; +} +.u-m-b-2 { + margin-bottom: 2rpx !important; +} +.u-p-b-2 { + padding-bottom: 2rpx !important; +} +.u-margin-bottom-2 { + margin-bottom: 2rpx !important; +} +.u-padding-bottom-2 { + padding-bottom: 2rpx !important; +} +.u-margin-4, .u-m-4 { + margin: 4rpx !important; +} +.u-padding-4, .u-p-4 { + padding: 4rpx !important; +} +.u-m-l-4 { + margin-left: 4rpx !important; +} +.u-p-l-4 { + padding-left: 4rpx !important; +} +.u-margin-left-4 { + margin-left: 4rpx !important; +} +.u-padding-left-4 { + padding-left: 4rpx !important; +} +.u-m-t-4 { + margin-top: 4rpx !important; +} +.u-p-t-4 { + padding-top: 4rpx !important; +} +.u-margin-top-4 { + margin-top: 4rpx !important; +} +.u-padding-top-4 { + padding-top: 4rpx !important; +} +.u-m-r-4 { + margin-right: 4rpx !important; +} +.u-p-r-4 { + padding-right: 4rpx !important; +} +.u-margin-right-4 { + margin-right: 4rpx !important; +} +.u-padding-right-4 { + padding-right: 4rpx !important; +} +.u-m-b-4 { + margin-bottom: 4rpx !important; +} +.u-p-b-4 { + padding-bottom: 4rpx !important; +} +.u-margin-bottom-4 { + margin-bottom: 4rpx !important; +} +.u-padding-bottom-4 { + padding-bottom: 4rpx !important; +} +.u-margin-5, .u-m-5 { + margin: 5rpx !important; +} +.u-padding-5, .u-p-5 { + padding: 5rpx !important; +} +.u-m-l-5 { + margin-left: 5rpx !important; +} +.u-p-l-5 { + padding-left: 5rpx !important; +} +.u-margin-left-5 { + margin-left: 5rpx !important; +} +.u-padding-left-5 { + padding-left: 5rpx !important; +} +.u-m-t-5 { + margin-top: 5rpx !important; +} +.u-p-t-5 { + padding-top: 5rpx !important; +} +.u-margin-top-5 { + margin-top: 5rpx !important; +} +.u-padding-top-5 { + padding-top: 5rpx !important; +} +.u-m-r-5 { + margin-right: 5rpx !important; +} +.u-p-r-5 { + padding-right: 5rpx !important; +} +.u-margin-right-5 { + margin-right: 5rpx !important; +} +.u-padding-right-5 { + padding-right: 5rpx !important; +} +.u-m-b-5 { + margin-bottom: 5rpx !important; +} +.u-p-b-5 { + padding-bottom: 5rpx !important; +} +.u-margin-bottom-5 { + margin-bottom: 5rpx !important; +} +.u-padding-bottom-5 { + padding-bottom: 5rpx !important; +} +.u-margin-6, .u-m-6 { + margin: 6rpx !important; +} +.u-padding-6, .u-p-6 { + padding: 6rpx !important; +} +.u-m-l-6 { + margin-left: 6rpx !important; +} +.u-p-l-6 { + padding-left: 6rpx !important; +} +.u-margin-left-6 { + margin-left: 6rpx !important; +} +.u-padding-left-6 { + padding-left: 6rpx !important; +} +.u-m-t-6 { + margin-top: 6rpx !important; +} +.u-p-t-6 { + padding-top: 6rpx !important; +} +.u-margin-top-6 { + margin-top: 6rpx !important; +} +.u-padding-top-6 { + padding-top: 6rpx !important; +} +.u-m-r-6 { + margin-right: 6rpx !important; +} +.u-p-r-6 { + padding-right: 6rpx !important; +} +.u-margin-right-6 { + margin-right: 6rpx !important; +} +.u-padding-right-6 { + padding-right: 6rpx !important; +} +.u-m-b-6 { + margin-bottom: 6rpx !important; +} +.u-p-b-6 { + padding-bottom: 6rpx !important; +} +.u-margin-bottom-6 { + margin-bottom: 6rpx !important; +} +.u-padding-bottom-6 { + padding-bottom: 6rpx !important; +} +.u-margin-8, .u-m-8 { + margin: 8rpx !important; +} +.u-padding-8, .u-p-8 { + padding: 8rpx !important; +} +.u-m-l-8 { + margin-left: 8rpx !important; +} +.u-p-l-8 { + padding-left: 8rpx !important; +} +.u-margin-left-8 { + margin-left: 8rpx !important; +} +.u-padding-left-8 { + padding-left: 8rpx !important; +} +.u-m-t-8 { + margin-top: 8rpx !important; +} +.u-p-t-8 { + padding-top: 8rpx !important; +} +.u-margin-top-8 { + margin-top: 8rpx !important; +} +.u-padding-top-8 { + padding-top: 8rpx !important; +} +.u-m-r-8 { + margin-right: 8rpx !important; +} +.u-p-r-8 { + padding-right: 8rpx !important; +} +.u-margin-right-8 { + margin-right: 8rpx !important; +} +.u-padding-right-8 { + padding-right: 8rpx !important; +} +.u-m-b-8 { + margin-bottom: 8rpx !important; +} +.u-p-b-8 { + padding-bottom: 8rpx !important; +} +.u-margin-bottom-8 { + margin-bottom: 8rpx !important; +} +.u-padding-bottom-8 { + padding-bottom: 8rpx !important; +} +.u-margin-10, .u-m-10 { + margin: 10rpx !important; +} +.u-padding-10, .u-p-10 { + padding: 10rpx !important; +} +.u-m-l-10 { + margin-left: 10rpx !important; +} +.u-p-l-10 { + padding-left: 10rpx !important; +} +.u-margin-left-10 { + margin-left: 10rpx !important; +} +.u-padding-left-10 { + padding-left: 10rpx !important; +} +.u-m-t-10 { + margin-top: 10rpx !important; +} +.u-p-t-10 { + padding-top: 10rpx !important; +} +.u-margin-top-10 { + margin-top: 10rpx !important; +} +.u-padding-top-10 { + padding-top: 10rpx !important; +} +.u-m-r-10 { + margin-right: 10rpx !important; +} +.u-p-r-10 { + padding-right: 10rpx !important; +} +.u-margin-right-10 { + margin-right: 10rpx !important; +} +.u-padding-right-10 { + padding-right: 10rpx !important; +} +.u-m-b-10 { + margin-bottom: 10rpx !important; +} +.u-p-b-10 { + padding-bottom: 10rpx !important; +} +.u-margin-bottom-10 { + margin-bottom: 10rpx !important; +} +.u-padding-bottom-10 { + padding-bottom: 10rpx !important; +} +.u-margin-12, .u-m-12 { + margin: 12rpx !important; +} +.u-padding-12, .u-p-12 { + padding: 12rpx !important; +} +.u-m-l-12 { + margin-left: 12rpx !important; +} +.u-p-l-12 { + padding-left: 12rpx !important; +} +.u-margin-left-12 { + margin-left: 12rpx !important; +} +.u-padding-left-12 { + padding-left: 12rpx !important; +} +.u-m-t-12 { + margin-top: 12rpx !important; +} +.u-p-t-12 { + padding-top: 12rpx !important; +} +.u-margin-top-12 { + margin-top: 12rpx !important; +} +.u-padding-top-12 { + padding-top: 12rpx !important; +} +.u-m-r-12 { + margin-right: 12rpx !important; +} +.u-p-r-12 { + padding-right: 12rpx !important; +} +.u-margin-right-12 { + margin-right: 12rpx !important; +} +.u-padding-right-12 { + padding-right: 12rpx !important; +} +.u-m-b-12 { + margin-bottom: 12rpx !important; +} +.u-p-b-12 { + padding-bottom: 12rpx !important; +} +.u-margin-bottom-12 { + margin-bottom: 12rpx !important; +} +.u-padding-bottom-12 { + padding-bottom: 12rpx !important; +} +.u-margin-14, .u-m-14 { + margin: 14rpx !important; +} +.u-padding-14, .u-p-14 { + padding: 14rpx !important; +} +.u-m-l-14 { + margin-left: 14rpx !important; +} +.u-p-l-14 { + padding-left: 14rpx !important; +} +.u-margin-left-14 { + margin-left: 14rpx !important; +} +.u-padding-left-14 { + padding-left: 14rpx !important; +} +.u-m-t-14 { + margin-top: 14rpx !important; +} +.u-p-t-14 { + padding-top: 14rpx !important; +} +.u-margin-top-14 { + margin-top: 14rpx !important; +} +.u-padding-top-14 { + padding-top: 14rpx !important; +} +.u-m-r-14 { + margin-right: 14rpx !important; +} +.u-p-r-14 { + padding-right: 14rpx !important; +} +.u-margin-right-14 { + margin-right: 14rpx !important; +} +.u-padding-right-14 { + padding-right: 14rpx !important; +} +.u-m-b-14 { + margin-bottom: 14rpx !important; +} +.u-p-b-14 { + padding-bottom: 14rpx !important; +} +.u-margin-bottom-14 { + margin-bottom: 14rpx !important; +} +.u-padding-bottom-14 { + padding-bottom: 14rpx !important; +} +.u-margin-15, .u-m-15 { + margin: 15rpx !important; +} +.u-padding-15, .u-p-15 { + padding: 15rpx !important; +} +.u-m-l-15 { + margin-left: 15rpx !important; +} +.u-p-l-15 { + padding-left: 15rpx !important; +} +.u-margin-left-15 { + margin-left: 15rpx !important; +} +.u-padding-left-15 { + padding-left: 15rpx !important; +} +.u-m-t-15 { + margin-top: 15rpx !important; +} +.u-p-t-15 { + padding-top: 15rpx !important; +} +.u-margin-top-15 { + margin-top: 15rpx !important; +} +.u-padding-top-15 { + padding-top: 15rpx !important; +} +.u-m-r-15 { + margin-right: 15rpx !important; +} +.u-p-r-15 { + padding-right: 15rpx !important; +} +.u-margin-right-15 { + margin-right: 15rpx !important; +} +.u-padding-right-15 { + padding-right: 15rpx !important; +} +.u-m-b-15 { + margin-bottom: 15rpx !important; +} +.u-p-b-15 { + padding-bottom: 15rpx !important; +} +.u-margin-bottom-15 { + margin-bottom: 15rpx !important; +} +.u-padding-bottom-15 { + padding-bottom: 15rpx !important; +} +.u-margin-16, .u-m-16 { + margin: 16rpx !important; +} +.u-padding-16, .u-p-16 { + padding: 16rpx !important; +} +.u-m-l-16 { + margin-left: 16rpx !important; +} +.u-p-l-16 { + padding-left: 16rpx !important; +} +.u-margin-left-16 { + margin-left: 16rpx !important; +} +.u-padding-left-16 { + padding-left: 16rpx !important; +} +.u-m-t-16 { + margin-top: 16rpx !important; +} +.u-p-t-16 { + padding-top: 16rpx !important; +} +.u-margin-top-16 { + margin-top: 16rpx !important; +} +.u-padding-top-16 { + padding-top: 16rpx !important; +} +.u-m-r-16 { + margin-right: 16rpx !important; +} +.u-p-r-16 { + padding-right: 16rpx !important; +} +.u-margin-right-16 { + margin-right: 16rpx !important; +} +.u-padding-right-16 { + padding-right: 16rpx !important; +} +.u-m-b-16 { + margin-bottom: 16rpx !important; +} +.u-p-b-16 { + padding-bottom: 16rpx !important; +} +.u-margin-bottom-16 { + margin-bottom: 16rpx !important; +} +.u-padding-bottom-16 { + padding-bottom: 16rpx !important; +} +.u-margin-18, .u-m-18 { + margin: 18rpx !important; +} +.u-padding-18, .u-p-18 { + padding: 18rpx !important; +} +.u-m-l-18 { + margin-left: 18rpx !important; +} +.u-p-l-18 { + padding-left: 18rpx !important; +} +.u-margin-left-18 { + margin-left: 18rpx !important; +} +.u-padding-left-18 { + padding-left: 18rpx !important; +} +.u-m-t-18 { + margin-top: 18rpx !important; +} +.u-p-t-18 { + padding-top: 18rpx !important; +} +.u-margin-top-18 { + margin-top: 18rpx !important; +} +.u-padding-top-18 { + padding-top: 18rpx !important; +} +.u-m-r-18 { + margin-right: 18rpx !important; +} +.u-p-r-18 { + padding-right: 18rpx !important; +} +.u-margin-right-18 { + margin-right: 18rpx !important; +} +.u-padding-right-18 { + padding-right: 18rpx !important; +} +.u-m-b-18 { + margin-bottom: 18rpx !important; +} +.u-p-b-18 { + padding-bottom: 18rpx !important; +} +.u-margin-bottom-18 { + margin-bottom: 18rpx !important; +} +.u-padding-bottom-18 { + padding-bottom: 18rpx !important; +} +.u-margin-20, .u-m-20 { + margin: 20rpx !important; +} +.u-padding-20, .u-p-20 { + padding: 20rpx !important; +} +.u-m-l-20 { + margin-left: 20rpx !important; +} +.u-p-l-20 { + padding-left: 20rpx !important; +} +.u-margin-left-20 { + margin-left: 20rpx !important; +} +.u-padding-left-20 { + padding-left: 20rpx !important; +} +.u-m-t-20 { + margin-top: 20rpx !important; +} +.u-p-t-20 { + padding-top: 20rpx !important; +} +.u-margin-top-20 { + margin-top: 20rpx !important; +} +.u-padding-top-20 { + padding-top: 20rpx !important; +} +.u-m-r-20 { + margin-right: 20rpx !important; +} +.u-p-r-20 { + padding-right: 20rpx !important; +} +.u-margin-right-20 { + margin-right: 20rpx !important; +} +.u-padding-right-20 { + padding-right: 20rpx !important; +} +.u-m-b-20 { + margin-bottom: 20rpx !important; +} +.u-p-b-20 { + padding-bottom: 20rpx !important; +} +.u-margin-bottom-20 { + margin-bottom: 20rpx !important; +} +.u-padding-bottom-20 { + padding-bottom: 20rpx !important; +} +.u-margin-22, .u-m-22 { + margin: 22rpx !important; +} +.u-padding-22, .u-p-22 { + padding: 22rpx !important; +} +.u-m-l-22 { + margin-left: 22rpx !important; +} +.u-p-l-22 { + padding-left: 22rpx !important; +} +.u-margin-left-22 { + margin-left: 22rpx !important; +} +.u-padding-left-22 { + padding-left: 22rpx !important; +} +.u-m-t-22 { + margin-top: 22rpx !important; +} +.u-p-t-22 { + padding-top: 22rpx !important; +} +.u-margin-top-22 { + margin-top: 22rpx !important; +} +.u-padding-top-22 { + padding-top: 22rpx !important; +} +.u-m-r-22 { + margin-right: 22rpx !important; +} +.u-p-r-22 { + padding-right: 22rpx !important; +} +.u-margin-right-22 { + margin-right: 22rpx !important; +} +.u-padding-right-22 { + padding-right: 22rpx !important; +} +.u-m-b-22 { + margin-bottom: 22rpx !important; +} +.u-p-b-22 { + padding-bottom: 22rpx !important; +} +.u-margin-bottom-22 { + margin-bottom: 22rpx !important; +} +.u-padding-bottom-22 { + padding-bottom: 22rpx !important; +} +.u-margin-24, .u-m-24 { + margin: 24rpx !important; +} +.u-padding-24, .u-p-24 { + padding: 24rpx !important; +} +.u-m-l-24 { + margin-left: 24rpx !important; +} +.u-p-l-24 { + padding-left: 24rpx !important; +} +.u-margin-left-24 { + margin-left: 24rpx !important; +} +.u-padding-left-24 { + padding-left: 24rpx !important; +} +.u-m-t-24 { + margin-top: 24rpx !important; +} +.u-p-t-24 { + padding-top: 24rpx !important; +} +.u-margin-top-24 { + margin-top: 24rpx !important; +} +.u-padding-top-24 { + padding-top: 24rpx !important; +} +.u-m-r-24 { + margin-right: 24rpx !important; +} +.u-p-r-24 { + padding-right: 24rpx !important; +} +.u-margin-right-24 { + margin-right: 24rpx !important; +} +.u-padding-right-24 { + padding-right: 24rpx !important; +} +.u-m-b-24 { + margin-bottom: 24rpx !important; +} +.u-p-b-24 { + padding-bottom: 24rpx !important; +} +.u-margin-bottom-24 { + margin-bottom: 24rpx !important; +} +.u-padding-bottom-24 { + padding-bottom: 24rpx !important; +} +.u-margin-25, .u-m-25 { + margin: 25rpx !important; +} +.u-padding-25, .u-p-25 { + padding: 25rpx !important; +} +.u-m-l-25 { + margin-left: 25rpx !important; +} +.u-p-l-25 { + padding-left: 25rpx !important; +} +.u-margin-left-25 { + margin-left: 25rpx !important; +} +.u-padding-left-25 { + padding-left: 25rpx !important; +} +.u-m-t-25 { + margin-top: 25rpx !important; +} +.u-p-t-25 { + padding-top: 25rpx !important; +} +.u-margin-top-25 { + margin-top: 25rpx !important; +} +.u-padding-top-25 { + padding-top: 25rpx !important; +} +.u-m-r-25 { + margin-right: 25rpx !important; +} +.u-p-r-25 { + padding-right: 25rpx !important; +} +.u-margin-right-25 { + margin-right: 25rpx !important; +} +.u-padding-right-25 { + padding-right: 25rpx !important; +} +.u-m-b-25 { + margin-bottom: 25rpx !important; +} +.u-p-b-25 { + padding-bottom: 25rpx !important; +} +.u-margin-bottom-25 { + margin-bottom: 25rpx !important; +} +.u-padding-bottom-25 { + padding-bottom: 25rpx !important; +} +.u-margin-26, .u-m-26 { + margin: 26rpx !important; +} +.u-padding-26, .u-p-26 { + padding: 26rpx !important; +} +.u-m-l-26 { + margin-left: 26rpx !important; +} +.u-p-l-26 { + padding-left: 26rpx !important; +} +.u-margin-left-26 { + margin-left: 26rpx !important; +} +.u-padding-left-26 { + padding-left: 26rpx !important; +} +.u-m-t-26 { + margin-top: 26rpx !important; +} +.u-p-t-26 { + padding-top: 26rpx !important; +} +.u-margin-top-26 { + margin-top: 26rpx !important; +} +.u-padding-top-26 { + padding-top: 26rpx !important; +} +.u-m-r-26 { + margin-right: 26rpx !important; +} +.u-p-r-26 { + padding-right: 26rpx !important; +} +.u-margin-right-26 { + margin-right: 26rpx !important; +} +.u-padding-right-26 { + padding-right: 26rpx !important; +} +.u-m-b-26 { + margin-bottom: 26rpx !important; +} +.u-p-b-26 { + padding-bottom: 26rpx !important; +} +.u-margin-bottom-26 { + margin-bottom: 26rpx !important; +} +.u-padding-bottom-26 { + padding-bottom: 26rpx !important; +} +.u-margin-28, .u-m-28 { + margin: 28rpx !important; +} +.u-padding-28, .u-p-28 { + padding: 28rpx !important; +} +.u-m-l-28 { + margin-left: 28rpx !important; +} +.u-p-l-28 { + padding-left: 28rpx !important; +} +.u-margin-left-28 { + margin-left: 28rpx !important; +} +.u-padding-left-28 { + padding-left: 28rpx !important; +} +.u-m-t-28 { + margin-top: 28rpx !important; +} +.u-p-t-28 { + padding-top: 28rpx !important; +} +.u-margin-top-28 { + margin-top: 28rpx !important; +} +.u-padding-top-28 { + padding-top: 28rpx !important; +} +.u-m-r-28 { + margin-right: 28rpx !important; +} +.u-p-r-28 { + padding-right: 28rpx !important; +} +.u-margin-right-28 { + margin-right: 28rpx !important; +} +.u-padding-right-28 { + padding-right: 28rpx !important; +} +.u-m-b-28 { + margin-bottom: 28rpx !important; +} +.u-p-b-28 { + padding-bottom: 28rpx !important; +} +.u-margin-bottom-28 { + margin-bottom: 28rpx !important; +} +.u-padding-bottom-28 { + padding-bottom: 28rpx !important; +} +.u-margin-30, .u-m-30 { + margin: 30rpx !important; +} +.u-padding-30, .u-p-30 { + padding: 30rpx !important; +} +.u-m-l-30 { + margin-left: 30rpx !important; +} +.u-p-l-30 { + padding-left: 30rpx !important; +} +.u-margin-left-30 { + margin-left: 30rpx !important; +} +.u-padding-left-30 { + padding-left: 30rpx !important; +} +.u-m-t-30 { + margin-top: 30rpx !important; +} +.u-p-t-30 { + padding-top: 30rpx !important; +} +.u-margin-top-30 { + margin-top: 30rpx !important; +} +.u-padding-top-30 { + padding-top: 30rpx !important; +} +.u-m-r-30 { + margin-right: 30rpx !important; +} +.u-p-r-30 { + padding-right: 30rpx !important; +} +.u-margin-right-30 { + margin-right: 30rpx !important; +} +.u-padding-right-30 { + padding-right: 30rpx !important; +} +.u-m-b-30 { + margin-bottom: 30rpx !important; +} +.u-p-b-30 { + padding-bottom: 30rpx !important; +} +.u-margin-bottom-30 { + margin-bottom: 30rpx !important; +} +.u-padding-bottom-30 { + padding-bottom: 30rpx !important; +} +.u-margin-32, .u-m-32 { + margin: 32rpx !important; +} +.u-padding-32, .u-p-32 { + padding: 32rpx !important; +} +.u-m-l-32 { + margin-left: 32rpx !important; +} +.u-p-l-32 { + padding-left: 32rpx !important; +} +.u-margin-left-32 { + margin-left: 32rpx !important; +} +.u-padding-left-32 { + padding-left: 32rpx !important; +} +.u-m-t-32 { + margin-top: 32rpx !important; +} +.u-p-t-32 { + padding-top: 32rpx !important; +} +.u-margin-top-32 { + margin-top: 32rpx !important; +} +.u-padding-top-32 { + padding-top: 32rpx !important; +} +.u-m-r-32 { + margin-right: 32rpx !important; +} +.u-p-r-32 { + padding-right: 32rpx !important; +} +.u-margin-right-32 { + margin-right: 32rpx !important; +} +.u-padding-right-32 { + padding-right: 32rpx !important; +} +.u-m-b-32 { + margin-bottom: 32rpx !important; +} +.u-p-b-32 { + padding-bottom: 32rpx !important; +} +.u-margin-bottom-32 { + margin-bottom: 32rpx !important; +} +.u-padding-bottom-32 { + padding-bottom: 32rpx !important; +} +.u-margin-34, .u-m-34 { + margin: 34rpx !important; +} +.u-padding-34, .u-p-34 { + padding: 34rpx !important; +} +.u-m-l-34 { + margin-left: 34rpx !important; +} +.u-p-l-34 { + padding-left: 34rpx !important; +} +.u-margin-left-34 { + margin-left: 34rpx !important; +} +.u-padding-left-34 { + padding-left: 34rpx !important; +} +.u-m-t-34 { + margin-top: 34rpx !important; +} +.u-p-t-34 { + padding-top: 34rpx !important; +} +.u-margin-top-34 { + margin-top: 34rpx !important; +} +.u-padding-top-34 { + padding-top: 34rpx !important; +} +.u-m-r-34 { + margin-right: 34rpx !important; +} +.u-p-r-34 { + padding-right: 34rpx !important; +} +.u-margin-right-34 { + margin-right: 34rpx !important; +} +.u-padding-right-34 { + padding-right: 34rpx !important; +} +.u-m-b-34 { + margin-bottom: 34rpx !important; +} +.u-p-b-34 { + padding-bottom: 34rpx !important; +} +.u-margin-bottom-34 { + margin-bottom: 34rpx !important; +} +.u-padding-bottom-34 { + padding-bottom: 34rpx !important; +} +.u-margin-35, .u-m-35 { + margin: 35rpx !important; +} +.u-padding-35, .u-p-35 { + padding: 35rpx !important; +} +.u-m-l-35 { + margin-left: 35rpx !important; +} +.u-p-l-35 { + padding-left: 35rpx !important; +} +.u-margin-left-35 { + margin-left: 35rpx !important; +} +.u-padding-left-35 { + padding-left: 35rpx !important; +} +.u-m-t-35 { + margin-top: 35rpx !important; +} +.u-p-t-35 { + padding-top: 35rpx !important; +} +.u-margin-top-35 { + margin-top: 35rpx !important; +} +.u-padding-top-35 { + padding-top: 35rpx !important; +} +.u-m-r-35 { + margin-right: 35rpx !important; +} +.u-p-r-35 { + padding-right: 35rpx !important; +} +.u-margin-right-35 { + margin-right: 35rpx !important; +} +.u-padding-right-35 { + padding-right: 35rpx !important; +} +.u-m-b-35 { + margin-bottom: 35rpx !important; +} +.u-p-b-35 { + padding-bottom: 35rpx !important; +} +.u-margin-bottom-35 { + margin-bottom: 35rpx !important; +} +.u-padding-bottom-35 { + padding-bottom: 35rpx !important; +} +.u-margin-36, .u-m-36 { + margin: 36rpx !important; +} +.u-padding-36, .u-p-36 { + padding: 36rpx !important; +} +.u-m-l-36 { + margin-left: 36rpx !important; +} +.u-p-l-36 { + padding-left: 36rpx !important; +} +.u-margin-left-36 { + margin-left: 36rpx !important; +} +.u-padding-left-36 { + padding-left: 36rpx !important; +} +.u-m-t-36 { + margin-top: 36rpx !important; +} +.u-p-t-36 { + padding-top: 36rpx !important; +} +.u-margin-top-36 { + margin-top: 36rpx !important; +} +.u-padding-top-36 { + padding-top: 36rpx !important; +} +.u-m-r-36 { + margin-right: 36rpx !important; +} +.u-p-r-36 { + padding-right: 36rpx !important; +} +.u-margin-right-36 { + margin-right: 36rpx !important; +} +.u-padding-right-36 { + padding-right: 36rpx !important; +} +.u-m-b-36 { + margin-bottom: 36rpx !important; +} +.u-p-b-36 { + padding-bottom: 36rpx !important; +} +.u-margin-bottom-36 { + margin-bottom: 36rpx !important; +} +.u-padding-bottom-36 { + padding-bottom: 36rpx !important; +} +.u-margin-38, .u-m-38 { + margin: 38rpx !important; +} +.u-padding-38, .u-p-38 { + padding: 38rpx !important; +} +.u-m-l-38 { + margin-left: 38rpx !important; +} +.u-p-l-38 { + padding-left: 38rpx !important; +} +.u-margin-left-38 { + margin-left: 38rpx !important; +} +.u-padding-left-38 { + padding-left: 38rpx !important; +} +.u-m-t-38 { + margin-top: 38rpx !important; +} +.u-p-t-38 { + padding-top: 38rpx !important; +} +.u-margin-top-38 { + margin-top: 38rpx !important; +} +.u-padding-top-38 { + padding-top: 38rpx !important; +} +.u-m-r-38 { + margin-right: 38rpx !important; +} +.u-p-r-38 { + padding-right: 38rpx !important; +} +.u-margin-right-38 { + margin-right: 38rpx !important; +} +.u-padding-right-38 { + padding-right: 38rpx !important; +} +.u-m-b-38 { + margin-bottom: 38rpx !important; +} +.u-p-b-38 { + padding-bottom: 38rpx !important; +} +.u-margin-bottom-38 { + margin-bottom: 38rpx !important; +} +.u-padding-bottom-38 { + padding-bottom: 38rpx !important; +} +.u-margin-40, .u-m-40 { + margin: 40rpx !important; +} +.u-padding-40, .u-p-40 { + padding: 40rpx !important; +} +.u-m-l-40 { + margin-left: 40rpx !important; +} +.u-p-l-40 { + padding-left: 40rpx !important; +} +.u-margin-left-40 { + margin-left: 40rpx !important; +} +.u-padding-left-40 { + padding-left: 40rpx !important; +} +.u-m-t-40 { + margin-top: 40rpx !important; +} +.u-p-t-40 { + padding-top: 40rpx !important; +} +.u-margin-top-40 { + margin-top: 40rpx !important; +} +.u-padding-top-40 { + padding-top: 40rpx !important; +} +.u-m-r-40 { + margin-right: 40rpx !important; +} +.u-p-r-40 { + padding-right: 40rpx !important; +} +.u-margin-right-40 { + margin-right: 40rpx !important; +} +.u-padding-right-40 { + padding-right: 40rpx !important; +} +.u-m-b-40 { + margin-bottom: 40rpx !important; +} +.u-p-b-40 { + padding-bottom: 40rpx !important; +} +.u-margin-bottom-40 { + margin-bottom: 40rpx !important; +} +.u-padding-bottom-40 { + padding-bottom: 40rpx !important; +} +.u-margin-42, .u-m-42 { + margin: 42rpx !important; +} +.u-padding-42, .u-p-42 { + padding: 42rpx !important; +} +.u-m-l-42 { + margin-left: 42rpx !important; +} +.u-p-l-42 { + padding-left: 42rpx !important; +} +.u-margin-left-42 { + margin-left: 42rpx !important; +} +.u-padding-left-42 { + padding-left: 42rpx !important; +} +.u-m-t-42 { + margin-top: 42rpx !important; +} +.u-p-t-42 { + padding-top: 42rpx !important; +} +.u-margin-top-42 { + margin-top: 42rpx !important; +} +.u-padding-top-42 { + padding-top: 42rpx !important; +} +.u-m-r-42 { + margin-right: 42rpx !important; +} +.u-p-r-42 { + padding-right: 42rpx !important; +} +.u-margin-right-42 { + margin-right: 42rpx !important; +} +.u-padding-right-42 { + padding-right: 42rpx !important; +} +.u-m-b-42 { + margin-bottom: 42rpx !important; +} +.u-p-b-42 { + padding-bottom: 42rpx !important; +} +.u-margin-bottom-42 { + margin-bottom: 42rpx !important; +} +.u-padding-bottom-42 { + padding-bottom: 42rpx !important; +} +.u-margin-44, .u-m-44 { + margin: 44rpx !important; +} +.u-padding-44, .u-p-44 { + padding: 44rpx !important; +} +.u-m-l-44 { + margin-left: 44rpx !important; +} +.u-p-l-44 { + padding-left: 44rpx !important; +} +.u-margin-left-44 { + margin-left: 44rpx !important; +} +.u-padding-left-44 { + padding-left: 44rpx !important; +} +.u-m-t-44 { + margin-top: 44rpx !important; +} +.u-p-t-44 { + padding-top: 44rpx !important; +} +.u-margin-top-44 { + margin-top: 44rpx !important; +} +.u-padding-top-44 { + padding-top: 44rpx !important; +} +.u-m-r-44 { + margin-right: 44rpx !important; +} +.u-p-r-44 { + padding-right: 44rpx !important; +} +.u-margin-right-44 { + margin-right: 44rpx !important; +} +.u-padding-right-44 { + padding-right: 44rpx !important; +} +.u-m-b-44 { + margin-bottom: 44rpx !important; +} +.u-p-b-44 { + padding-bottom: 44rpx !important; +} +.u-margin-bottom-44 { + margin-bottom: 44rpx !important; +} +.u-padding-bottom-44 { + padding-bottom: 44rpx !important; +} +.u-margin-45, .u-m-45 { + margin: 45rpx !important; +} +.u-padding-45, .u-p-45 { + padding: 45rpx !important; +} +.u-m-l-45 { + margin-left: 45rpx !important; +} +.u-p-l-45 { + padding-left: 45rpx !important; +} +.u-margin-left-45 { + margin-left: 45rpx !important; +} +.u-padding-left-45 { + padding-left: 45rpx !important; +} +.u-m-t-45 { + margin-top: 45rpx !important; +} +.u-p-t-45 { + padding-top: 45rpx !important; +} +.u-margin-top-45 { + margin-top: 45rpx !important; +} +.u-padding-top-45 { + padding-top: 45rpx !important; +} +.u-m-r-45 { + margin-right: 45rpx !important; +} +.u-p-r-45 { + padding-right: 45rpx !important; +} +.u-margin-right-45 { + margin-right: 45rpx !important; +} +.u-padding-right-45 { + padding-right: 45rpx !important; +} +.u-m-b-45 { + margin-bottom: 45rpx !important; +} +.u-p-b-45 { + padding-bottom: 45rpx !important; +} +.u-margin-bottom-45 { + margin-bottom: 45rpx !important; +} +.u-padding-bottom-45 { + padding-bottom: 45rpx !important; +} +.u-margin-46, .u-m-46 { + margin: 46rpx !important; +} +.u-padding-46, .u-p-46 { + padding: 46rpx !important; +} +.u-m-l-46 { + margin-left: 46rpx !important; +} +.u-p-l-46 { + padding-left: 46rpx !important; +} +.u-margin-left-46 { + margin-left: 46rpx !important; +} +.u-padding-left-46 { + padding-left: 46rpx !important; +} +.u-m-t-46 { + margin-top: 46rpx !important; +} +.u-p-t-46 { + padding-top: 46rpx !important; +} +.u-margin-top-46 { + margin-top: 46rpx !important; +} +.u-padding-top-46 { + padding-top: 46rpx !important; +} +.u-m-r-46 { + margin-right: 46rpx !important; +} +.u-p-r-46 { + padding-right: 46rpx !important; +} +.u-margin-right-46 { + margin-right: 46rpx !important; +} +.u-padding-right-46 { + padding-right: 46rpx !important; +} +.u-m-b-46 { + margin-bottom: 46rpx !important; +} +.u-p-b-46 { + padding-bottom: 46rpx !important; +} +.u-margin-bottom-46 { + margin-bottom: 46rpx !important; +} +.u-padding-bottom-46 { + padding-bottom: 46rpx !important; +} +.u-margin-48, .u-m-48 { + margin: 48rpx !important; +} +.u-padding-48, .u-p-48 { + padding: 48rpx !important; +} +.u-m-l-48 { + margin-left: 48rpx !important; +} +.u-p-l-48 { + padding-left: 48rpx !important; +} +.u-margin-left-48 { + margin-left: 48rpx !important; +} +.u-padding-left-48 { + padding-left: 48rpx !important; +} +.u-m-t-48 { + margin-top: 48rpx !important; +} +.u-p-t-48 { + padding-top: 48rpx !important; +} +.u-margin-top-48 { + margin-top: 48rpx !important; +} +.u-padding-top-48 { + padding-top: 48rpx !important; +} +.u-m-r-48 { + margin-right: 48rpx !important; +} +.u-p-r-48 { + padding-right: 48rpx !important; +} +.u-margin-right-48 { + margin-right: 48rpx !important; +} +.u-padding-right-48 { + padding-right: 48rpx !important; +} +.u-m-b-48 { + margin-bottom: 48rpx !important; +} +.u-p-b-48 { + padding-bottom: 48rpx !important; +} +.u-margin-bottom-48 { + margin-bottom: 48rpx !important; +} +.u-padding-bottom-48 { + padding-bottom: 48rpx !important; +} +.u-margin-50, .u-m-50 { + margin: 50rpx !important; +} +.u-padding-50, .u-p-50 { + padding: 50rpx !important; +} +.u-m-l-50 { + margin-left: 50rpx !important; +} +.u-p-l-50 { + padding-left: 50rpx !important; +} +.u-margin-left-50 { + margin-left: 50rpx !important; +} +.u-padding-left-50 { + padding-left: 50rpx !important; +} +.u-m-t-50 { + margin-top: 50rpx !important; +} +.u-p-t-50 { + padding-top: 50rpx !important; +} +.u-margin-top-50 { + margin-top: 50rpx !important; +} +.u-padding-top-50 { + padding-top: 50rpx !important; +} +.u-m-r-50 { + margin-right: 50rpx !important; +} +.u-p-r-50 { + padding-right: 50rpx !important; +} +.u-margin-right-50 { + margin-right: 50rpx !important; +} +.u-padding-right-50 { + padding-right: 50rpx !important; +} +.u-m-b-50 { + margin-bottom: 50rpx !important; +} +.u-p-b-50 { + padding-bottom: 50rpx !important; +} +.u-margin-bottom-50 { + margin-bottom: 50rpx !important; +} +.u-padding-bottom-50 { + padding-bottom: 50rpx !important; +} +.u-margin-52, .u-m-52 { + margin: 52rpx !important; +} +.u-padding-52, .u-p-52 { + padding: 52rpx !important; +} +.u-m-l-52 { + margin-left: 52rpx !important; +} +.u-p-l-52 { + padding-left: 52rpx !important; +} +.u-margin-left-52 { + margin-left: 52rpx !important; +} +.u-padding-left-52 { + padding-left: 52rpx !important; +} +.u-m-t-52 { + margin-top: 52rpx !important; +} +.u-p-t-52 { + padding-top: 52rpx !important; +} +.u-margin-top-52 { + margin-top: 52rpx !important; +} +.u-padding-top-52 { + padding-top: 52rpx !important; +} +.u-m-r-52 { + margin-right: 52rpx !important; +} +.u-p-r-52 { + padding-right: 52rpx !important; +} +.u-margin-right-52 { + margin-right: 52rpx !important; +} +.u-padding-right-52 { + padding-right: 52rpx !important; +} +.u-m-b-52 { + margin-bottom: 52rpx !important; +} +.u-p-b-52 { + padding-bottom: 52rpx !important; +} +.u-margin-bottom-52 { + margin-bottom: 52rpx !important; +} +.u-padding-bottom-52 { + padding-bottom: 52rpx !important; +} +.u-margin-54, .u-m-54 { + margin: 54rpx !important; +} +.u-padding-54, .u-p-54 { + padding: 54rpx !important; +} +.u-m-l-54 { + margin-left: 54rpx !important; +} +.u-p-l-54 { + padding-left: 54rpx !important; +} +.u-margin-left-54 { + margin-left: 54rpx !important; +} +.u-padding-left-54 { + padding-left: 54rpx !important; +} +.u-m-t-54 { + margin-top: 54rpx !important; +} +.u-p-t-54 { + padding-top: 54rpx !important; +} +.u-margin-top-54 { + margin-top: 54rpx !important; +} +.u-padding-top-54 { + padding-top: 54rpx !important; +} +.u-m-r-54 { + margin-right: 54rpx !important; +} +.u-p-r-54 { + padding-right: 54rpx !important; +} +.u-margin-right-54 { + margin-right: 54rpx !important; +} +.u-padding-right-54 { + padding-right: 54rpx !important; +} +.u-m-b-54 { + margin-bottom: 54rpx !important; +} +.u-p-b-54 { + padding-bottom: 54rpx !important; +} +.u-margin-bottom-54 { + margin-bottom: 54rpx !important; +} +.u-padding-bottom-54 { + padding-bottom: 54rpx !important; +} +.u-margin-55, .u-m-55 { + margin: 55rpx !important; +} +.u-padding-55, .u-p-55 { + padding: 55rpx !important; +} +.u-m-l-55 { + margin-left: 55rpx !important; +} +.u-p-l-55 { + padding-left: 55rpx !important; +} +.u-margin-left-55 { + margin-left: 55rpx !important; +} +.u-padding-left-55 { + padding-left: 55rpx !important; +} +.u-m-t-55 { + margin-top: 55rpx !important; +} +.u-p-t-55 { + padding-top: 55rpx !important; +} +.u-margin-top-55 { + margin-top: 55rpx !important; +} +.u-padding-top-55 { + padding-top: 55rpx !important; +} +.u-m-r-55 { + margin-right: 55rpx !important; +} +.u-p-r-55 { + padding-right: 55rpx !important; +} +.u-margin-right-55 { + margin-right: 55rpx !important; +} +.u-padding-right-55 { + padding-right: 55rpx !important; +} +.u-m-b-55 { + margin-bottom: 55rpx !important; +} +.u-p-b-55 { + padding-bottom: 55rpx !important; +} +.u-margin-bottom-55 { + margin-bottom: 55rpx !important; +} +.u-padding-bottom-55 { + padding-bottom: 55rpx !important; +} +.u-margin-56, .u-m-56 { + margin: 56rpx !important; +} +.u-padding-56, .u-p-56 { + padding: 56rpx !important; +} +.u-m-l-56 { + margin-left: 56rpx !important; +} +.u-p-l-56 { + padding-left: 56rpx !important; +} +.u-margin-left-56 { + margin-left: 56rpx !important; +} +.u-padding-left-56 { + padding-left: 56rpx !important; +} +.u-m-t-56 { + margin-top: 56rpx !important; +} +.u-p-t-56 { + padding-top: 56rpx !important; +} +.u-margin-top-56 { + margin-top: 56rpx !important; +} +.u-padding-top-56 { + padding-top: 56rpx !important; +} +.u-m-r-56 { + margin-right: 56rpx !important; +} +.u-p-r-56 { + padding-right: 56rpx !important; +} +.u-margin-right-56 { + margin-right: 56rpx !important; +} +.u-padding-right-56 { + padding-right: 56rpx !important; +} +.u-m-b-56 { + margin-bottom: 56rpx !important; +} +.u-p-b-56 { + padding-bottom: 56rpx !important; +} +.u-margin-bottom-56 { + margin-bottom: 56rpx !important; +} +.u-padding-bottom-56 { + padding-bottom: 56rpx !important; +} +.u-margin-58, .u-m-58 { + margin: 58rpx !important; +} +.u-padding-58, .u-p-58 { + padding: 58rpx !important; +} +.u-m-l-58 { + margin-left: 58rpx !important; +} +.u-p-l-58 { + padding-left: 58rpx !important; +} +.u-margin-left-58 { + margin-left: 58rpx !important; +} +.u-padding-left-58 { + padding-left: 58rpx !important; +} +.u-m-t-58 { + margin-top: 58rpx !important; +} +.u-p-t-58 { + padding-top: 58rpx !important; +} +.u-margin-top-58 { + margin-top: 58rpx !important; +} +.u-padding-top-58 { + padding-top: 58rpx !important; +} +.u-m-r-58 { + margin-right: 58rpx !important; +} +.u-p-r-58 { + padding-right: 58rpx !important; +} +.u-margin-right-58 { + margin-right: 58rpx !important; +} +.u-padding-right-58 { + padding-right: 58rpx !important; +} +.u-m-b-58 { + margin-bottom: 58rpx !important; +} +.u-p-b-58 { + padding-bottom: 58rpx !important; +} +.u-margin-bottom-58 { + margin-bottom: 58rpx !important; +} +.u-padding-bottom-58 { + padding-bottom: 58rpx !important; +} +.u-margin-60, .u-m-60 { + margin: 60rpx !important; +} +.u-padding-60, .u-p-60 { + padding: 60rpx !important; +} +.u-m-l-60 { + margin-left: 60rpx !important; +} +.u-p-l-60 { + padding-left: 60rpx !important; +} +.u-margin-left-60 { + margin-left: 60rpx !important; +} +.u-padding-left-60 { + padding-left: 60rpx !important; +} +.u-m-t-60 { + margin-top: 60rpx !important; +} +.u-p-t-60 { + padding-top: 60rpx !important; +} +.u-margin-top-60 { + margin-top: 60rpx !important; +} +.u-padding-top-60 { + padding-top: 60rpx !important; +} +.u-m-r-60 { + margin-right: 60rpx !important; +} +.u-p-r-60 { + padding-right: 60rpx !important; +} +.u-margin-right-60 { + margin-right: 60rpx !important; +} +.u-padding-right-60 { + padding-right: 60rpx !important; +} +.u-m-b-60 { + margin-bottom: 60rpx !important; +} +.u-p-b-60 { + padding-bottom: 60rpx !important; +} +.u-margin-bottom-60 { + margin-bottom: 60rpx !important; +} +.u-padding-bottom-60 { + padding-bottom: 60rpx !important; +} +.u-margin-62, .u-m-62 { + margin: 62rpx !important; +} +.u-padding-62, .u-p-62 { + padding: 62rpx !important; +} +.u-m-l-62 { + margin-left: 62rpx !important; +} +.u-p-l-62 { + padding-left: 62rpx !important; +} +.u-margin-left-62 { + margin-left: 62rpx !important; +} +.u-padding-left-62 { + padding-left: 62rpx !important; +} +.u-m-t-62 { + margin-top: 62rpx !important; +} +.u-p-t-62 { + padding-top: 62rpx !important; +} +.u-margin-top-62 { + margin-top: 62rpx !important; +} +.u-padding-top-62 { + padding-top: 62rpx !important; +} +.u-m-r-62 { + margin-right: 62rpx !important; +} +.u-p-r-62 { + padding-right: 62rpx !important; +} +.u-margin-right-62 { + margin-right: 62rpx !important; +} +.u-padding-right-62 { + padding-right: 62rpx !important; +} +.u-m-b-62 { + margin-bottom: 62rpx !important; +} +.u-p-b-62 { + padding-bottom: 62rpx !important; +} +.u-margin-bottom-62 { + margin-bottom: 62rpx !important; +} +.u-padding-bottom-62 { + padding-bottom: 62rpx !important; +} +.u-margin-64, .u-m-64 { + margin: 64rpx !important; +} +.u-padding-64, .u-p-64 { + padding: 64rpx !important; +} +.u-m-l-64 { + margin-left: 64rpx !important; +} +.u-p-l-64 { + padding-left: 64rpx !important; +} +.u-margin-left-64 { + margin-left: 64rpx !important; +} +.u-padding-left-64 { + padding-left: 64rpx !important; +} +.u-m-t-64 { + margin-top: 64rpx !important; +} +.u-p-t-64 { + padding-top: 64rpx !important; +} +.u-margin-top-64 { + margin-top: 64rpx !important; +} +.u-padding-top-64 { + padding-top: 64rpx !important; +} +.u-m-r-64 { + margin-right: 64rpx !important; +} +.u-p-r-64 { + padding-right: 64rpx !important; +} +.u-margin-right-64 { + margin-right: 64rpx !important; +} +.u-padding-right-64 { + padding-right: 64rpx !important; +} +.u-m-b-64 { + margin-bottom: 64rpx !important; +} +.u-p-b-64 { + padding-bottom: 64rpx !important; +} +.u-margin-bottom-64 { + margin-bottom: 64rpx !important; +} +.u-padding-bottom-64 { + padding-bottom: 64rpx !important; +} +.u-margin-65, .u-m-65 { + margin: 65rpx !important; +} +.u-padding-65, .u-p-65 { + padding: 65rpx !important; +} +.u-m-l-65 { + margin-left: 65rpx !important; +} +.u-p-l-65 { + padding-left: 65rpx !important; +} +.u-margin-left-65 { + margin-left: 65rpx !important; +} +.u-padding-left-65 { + padding-left: 65rpx !important; +} +.u-m-t-65 { + margin-top: 65rpx !important; +} +.u-p-t-65 { + padding-top: 65rpx !important; +} +.u-margin-top-65 { + margin-top: 65rpx !important; +} +.u-padding-top-65 { + padding-top: 65rpx !important; +} +.u-m-r-65 { + margin-right: 65rpx !important; +} +.u-p-r-65 { + padding-right: 65rpx !important; +} +.u-margin-right-65 { + margin-right: 65rpx !important; +} +.u-padding-right-65 { + padding-right: 65rpx !important; +} +.u-m-b-65 { + margin-bottom: 65rpx !important; +} +.u-p-b-65 { + padding-bottom: 65rpx !important; +} +.u-margin-bottom-65 { + margin-bottom: 65rpx !important; +} +.u-padding-bottom-65 { + padding-bottom: 65rpx !important; +} +.u-margin-66, .u-m-66 { + margin: 66rpx !important; +} +.u-padding-66, .u-p-66 { + padding: 66rpx !important; +} +.u-m-l-66 { + margin-left: 66rpx !important; +} +.u-p-l-66 { + padding-left: 66rpx !important; +} +.u-margin-left-66 { + margin-left: 66rpx !important; +} +.u-padding-left-66 { + padding-left: 66rpx !important; +} +.u-m-t-66 { + margin-top: 66rpx !important; +} +.u-p-t-66 { + padding-top: 66rpx !important; +} +.u-margin-top-66 { + margin-top: 66rpx !important; +} +.u-padding-top-66 { + padding-top: 66rpx !important; +} +.u-m-r-66 { + margin-right: 66rpx !important; +} +.u-p-r-66 { + padding-right: 66rpx !important; +} +.u-margin-right-66 { + margin-right: 66rpx !important; +} +.u-padding-right-66 { + padding-right: 66rpx !important; +} +.u-m-b-66 { + margin-bottom: 66rpx !important; +} +.u-p-b-66 { + padding-bottom: 66rpx !important; +} +.u-margin-bottom-66 { + margin-bottom: 66rpx !important; +} +.u-padding-bottom-66 { + padding-bottom: 66rpx !important; +} +.u-margin-68, .u-m-68 { + margin: 68rpx !important; +} +.u-padding-68, .u-p-68 { + padding: 68rpx !important; +} +.u-m-l-68 { + margin-left: 68rpx !important; +} +.u-p-l-68 { + padding-left: 68rpx !important; +} +.u-margin-left-68 { + margin-left: 68rpx !important; +} +.u-padding-left-68 { + padding-left: 68rpx !important; +} +.u-m-t-68 { + margin-top: 68rpx !important; +} +.u-p-t-68 { + padding-top: 68rpx !important; +} +.u-margin-top-68 { + margin-top: 68rpx !important; +} +.u-padding-top-68 { + padding-top: 68rpx !important; +} +.u-m-r-68 { + margin-right: 68rpx !important; +} +.u-p-r-68 { + padding-right: 68rpx !important; +} +.u-margin-right-68 { + margin-right: 68rpx !important; +} +.u-padding-right-68 { + padding-right: 68rpx !important; +} +.u-m-b-68 { + margin-bottom: 68rpx !important; +} +.u-p-b-68 { + padding-bottom: 68rpx !important; +} +.u-margin-bottom-68 { + margin-bottom: 68rpx !important; +} +.u-padding-bottom-68 { + padding-bottom: 68rpx !important; +} +.u-margin-70, .u-m-70 { + margin: 70rpx !important; +} +.u-padding-70, .u-p-70 { + padding: 70rpx !important; +} +.u-m-l-70 { + margin-left: 70rpx !important; +} +.u-p-l-70 { + padding-left: 70rpx !important; +} +.u-margin-left-70 { + margin-left: 70rpx !important; +} +.u-padding-left-70 { + padding-left: 70rpx !important; +} +.u-m-t-70 { + margin-top: 70rpx !important; +} +.u-p-t-70 { + padding-top: 70rpx !important; +} +.u-margin-top-70 { + margin-top: 70rpx !important; +} +.u-padding-top-70 { + padding-top: 70rpx !important; +} +.u-m-r-70 { + margin-right: 70rpx !important; +} +.u-p-r-70 { + padding-right: 70rpx !important; +} +.u-margin-right-70 { + margin-right: 70rpx !important; +} +.u-padding-right-70 { + padding-right: 70rpx !important; +} +.u-m-b-70 { + margin-bottom: 70rpx !important; +} +.u-p-b-70 { + padding-bottom: 70rpx !important; +} +.u-margin-bottom-70 { + margin-bottom: 70rpx !important; +} +.u-padding-bottom-70 { + padding-bottom: 70rpx !important; +} +.u-margin-72, .u-m-72 { + margin: 72rpx !important; +} +.u-padding-72, .u-p-72 { + padding: 72rpx !important; +} +.u-m-l-72 { + margin-left: 72rpx !important; +} +.u-p-l-72 { + padding-left: 72rpx !important; +} +.u-margin-left-72 { + margin-left: 72rpx !important; +} +.u-padding-left-72 { + padding-left: 72rpx !important; +} +.u-m-t-72 { + margin-top: 72rpx !important; +} +.u-p-t-72 { + padding-top: 72rpx !important; +} +.u-margin-top-72 { + margin-top: 72rpx !important; +} +.u-padding-top-72 { + padding-top: 72rpx !important; +} +.u-m-r-72 { + margin-right: 72rpx !important; +} +.u-p-r-72 { + padding-right: 72rpx !important; +} +.u-margin-right-72 { + margin-right: 72rpx !important; +} +.u-padding-right-72 { + padding-right: 72rpx !important; +} +.u-m-b-72 { + margin-bottom: 72rpx !important; +} +.u-p-b-72 { + padding-bottom: 72rpx !important; +} +.u-margin-bottom-72 { + margin-bottom: 72rpx !important; +} +.u-padding-bottom-72 { + padding-bottom: 72rpx !important; +} +.u-margin-74, .u-m-74 { + margin: 74rpx !important; +} +.u-padding-74, .u-p-74 { + padding: 74rpx !important; +} +.u-m-l-74 { + margin-left: 74rpx !important; +} +.u-p-l-74 { + padding-left: 74rpx !important; +} +.u-margin-left-74 { + margin-left: 74rpx !important; +} +.u-padding-left-74 { + padding-left: 74rpx !important; +} +.u-m-t-74 { + margin-top: 74rpx !important; +} +.u-p-t-74 { + padding-top: 74rpx !important; +} +.u-margin-top-74 { + margin-top: 74rpx !important; +} +.u-padding-top-74 { + padding-top: 74rpx !important; +} +.u-m-r-74 { + margin-right: 74rpx !important; +} +.u-p-r-74 { + padding-right: 74rpx !important; +} +.u-margin-right-74 { + margin-right: 74rpx !important; +} +.u-padding-right-74 { + padding-right: 74rpx !important; +} +.u-m-b-74 { + margin-bottom: 74rpx !important; +} +.u-p-b-74 { + padding-bottom: 74rpx !important; +} +.u-margin-bottom-74 { + margin-bottom: 74rpx !important; +} +.u-padding-bottom-74 { + padding-bottom: 74rpx !important; +} +.u-margin-75, .u-m-75 { + margin: 75rpx !important; +} +.u-padding-75, .u-p-75 { + padding: 75rpx !important; +} +.u-m-l-75 { + margin-left: 75rpx !important; +} +.u-p-l-75 { + padding-left: 75rpx !important; +} +.u-margin-left-75 { + margin-left: 75rpx !important; +} +.u-padding-left-75 { + padding-left: 75rpx !important; +} +.u-m-t-75 { + margin-top: 75rpx !important; +} +.u-p-t-75 { + padding-top: 75rpx !important; +} +.u-margin-top-75 { + margin-top: 75rpx !important; +} +.u-padding-top-75 { + padding-top: 75rpx !important; +} +.u-m-r-75 { + margin-right: 75rpx !important; +} +.u-p-r-75 { + padding-right: 75rpx !important; +} +.u-margin-right-75 { + margin-right: 75rpx !important; +} +.u-padding-right-75 { + padding-right: 75rpx !important; +} +.u-m-b-75 { + margin-bottom: 75rpx !important; +} +.u-p-b-75 { + padding-bottom: 75rpx !important; +} +.u-margin-bottom-75 { + margin-bottom: 75rpx !important; +} +.u-padding-bottom-75 { + padding-bottom: 75rpx !important; +} +.u-margin-76, .u-m-76 { + margin: 76rpx !important; +} +.u-padding-76, .u-p-76 { + padding: 76rpx !important; +} +.u-m-l-76 { + margin-left: 76rpx !important; +} +.u-p-l-76 { + padding-left: 76rpx !important; +} +.u-margin-left-76 { + margin-left: 76rpx !important; +} +.u-padding-left-76 { + padding-left: 76rpx !important; +} +.u-m-t-76 { + margin-top: 76rpx !important; +} +.u-p-t-76 { + padding-top: 76rpx !important; +} +.u-margin-top-76 { + margin-top: 76rpx !important; +} +.u-padding-top-76 { + padding-top: 76rpx !important; +} +.u-m-r-76 { + margin-right: 76rpx !important; +} +.u-p-r-76 { + padding-right: 76rpx !important; +} +.u-margin-right-76 { + margin-right: 76rpx !important; +} +.u-padding-right-76 { + padding-right: 76rpx !important; +} +.u-m-b-76 { + margin-bottom: 76rpx !important; +} +.u-p-b-76 { + padding-bottom: 76rpx !important; +} +.u-margin-bottom-76 { + margin-bottom: 76rpx !important; +} +.u-padding-bottom-76 { + padding-bottom: 76rpx !important; +} +.u-margin-78, .u-m-78 { + margin: 78rpx !important; +} +.u-padding-78, .u-p-78 { + padding: 78rpx !important; +} +.u-m-l-78 { + margin-left: 78rpx !important; +} +.u-p-l-78 { + padding-left: 78rpx !important; +} +.u-margin-left-78 { + margin-left: 78rpx !important; +} +.u-padding-left-78 { + padding-left: 78rpx !important; +} +.u-m-t-78 { + margin-top: 78rpx !important; +} +.u-p-t-78 { + padding-top: 78rpx !important; +} +.u-margin-top-78 { + margin-top: 78rpx !important; +} +.u-padding-top-78 { + padding-top: 78rpx !important; +} +.u-m-r-78 { + margin-right: 78rpx !important; +} +.u-p-r-78 { + padding-right: 78rpx !important; +} +.u-margin-right-78 { + margin-right: 78rpx !important; +} +.u-padding-right-78 { + padding-right: 78rpx !important; +} +.u-m-b-78 { + margin-bottom: 78rpx !important; +} +.u-p-b-78 { + padding-bottom: 78rpx !important; +} +.u-margin-bottom-78 { + margin-bottom: 78rpx !important; +} +.u-padding-bottom-78 { + padding-bottom: 78rpx !important; +} +.u-margin-80, .u-m-80 { + margin: 80rpx !important; +} +.u-padding-80, .u-p-80 { + padding: 80rpx !important; +} +.u-m-l-80 { + margin-left: 80rpx !important; +} +.u-p-l-80 { + padding-left: 80rpx !important; +} +.u-margin-left-80 { + margin-left: 80rpx !important; +} +.u-padding-left-80 { + padding-left: 80rpx !important; +} +.u-m-t-80 { + margin-top: 80rpx !important; +} +.u-p-t-80 { + padding-top: 80rpx !important; +} +.u-margin-top-80 { + margin-top: 80rpx !important; +} +.u-padding-top-80 { + padding-top: 80rpx !important; +} +.u-m-r-80 { + margin-right: 80rpx !important; +} +.u-p-r-80 { + padding-right: 80rpx !important; +} +.u-margin-right-80 { + margin-right: 80rpx !important; +} +.u-padding-right-80 { + padding-right: 80rpx !important; +} +.u-m-b-80 { + margin-bottom: 80rpx !important; +} +.u-p-b-80 { + padding-bottom: 80rpx !important; +} +.u-margin-bottom-80 { + margin-bottom: 80rpx !important; +} +.u-padding-bottom-80 { + padding-bottom: 80rpx !important; +} +.u-reset-nvue { + flex-direction: row; + align-items: center; +} +.u-type-primary-light { + color: #ecf5ff; +} +.u-type-warning-light { + color: #fdf6ec; +} +.u-type-success-light { + color: #dbf1e1; +} +.u-type-error-light { + color: #fef0f0; +} +.u-type-info-light { + color: #f4f4f5; +} +.u-type-primary-light-bg { + background-color: #ecf5ff; +} +.u-type-warning-light-bg { + background-color: #fdf6ec; +} +.u-type-success-light-bg { + background-color: #dbf1e1; +} +.u-type-error-light-bg { + background-color: #fef0f0; +} +.u-type-info-light-bg { + background-color: #f4f4f5; +} +.u-type-primary-dark { + color: #2b85e4; +} +.u-type-warning-dark { + color: #f29100; +} +.u-type-success-dark { + color: #18b566; +} +.u-type-error-dark { + color: #dd6161; +} +.u-type-info-dark { + color: #82848a; +} +.u-type-primary-dark-bg { + background-color: #2b85e4; +} +.u-type-warning-dark-bg { + background-color: #f29100; +} +.u-type-success-dark-bg { + background-color: #18b566; +} +.u-type-error-dark-bg { + background-color: #dd6161; +} +.u-type-info-dark-bg { + background-color: #82848a; +} +.u-type-primary-disabled { + color: #a0cfff; +} +.u-type-warning-disabled { + color: #fcbd71; +} +.u-type-success-disabled { + color: #71d5a1; +} +.u-type-error-disabled { + color: #fab6b6; +} +.u-type-info-disabled { + color: #c8c9cc; +} +.u-type-primary { + color: #ff2c3c; +} +.u-type-warning { + color: #ff9900; +} +.u-type-success { + color: #19be6b; +} +.u-type-error { + color: #fa3534; +} +.u-type-info { + color: #909399; +} +.u-type-primary-bg { + background-color: #ff2c3c; +} +.u-type-warning-bg { + background-color: #ff9900; +} +.u-type-success-bg { + background-color: #19be6b; +} +.u-type-error-bg { + background-color: #fa3534; +} +.u-type-info-bg { + background-color: #909399; +} +.u-main-color { + color: #303133; +} +.u-content-color { + color: #606266; +} +.u-tips-color { + color: #909399; +} +.u-light-color { + color: #c0c4cc; +} +page { + color: #303133; + font-size: 28rpx; +} +/* start--去除webkit的默认样式--start */ +.u-fix-ios-appearance { + -webkit-appearance: none; +} +/* end--去除webkit的默认样式--end */ +/* start--icon图标外层套一个view,让其达到更好的垂直居中的效果--start */ +.u-icon-wrap { + display: flex; + align-items: center; +} +/* end-icon图标外层套一个view,让其达到更好的垂直居中的效果--end */ +/* start--iPhoneX底部安全区定义--start */ +.safe-area-inset-bottom { + padding-bottom: 0; + padding-bottom: constant(safe-area-inset-bottom); + padding-bottom: env(safe-area-inset-bottom); +} +/* end-iPhoneX底部安全区定义--end */ +/* start--各种hover点击反馈相关的类名-start */ +.u-hover-class { + opacity: 0.6; +} +.u-cell-hover { + background-color: #f7f8f9 !important; +} +/* end--各种hover点击反馈相关的类名--end */ +/* start--文本行数限制--start */ +.u-line-1 { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.u-line-2 { + -webkit-line-clamp: 2; +} +.u-line-3 { + -webkit-line-clamp: 3; +} +.u-line-4 { + -webkit-line-clamp: 4; +} +.u-line-5 { + -webkit-line-clamp: 5; +} +.u-line-2, .u-line-3, .u-line-4, .u-line-5 { + overflow: hidden; + word-break: break-all; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-box-orient: vertical; +} +/* end--文本行数限制--end */ +/* start--Retina 屏幕下的 1px 边框--start */ +.u-border, +.u-border-bottom, +.u-border-left, +.u-border-right, +.u-border-top, +.u-border-top-bottom { + position: relative; +} +.u-border-bottom:after, +.u-border-left:after, +.u-border-right:after, +.u-border-top-bottom:after, +.u-border-top:after, +.u-border:after { + content: ' '; + position: absolute; + left: 0; + top: 0; + pointer-events: none; + box-sizing: border-box; + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + width: 199.8%; + height: 199.7%; + -webkit-transform: scale(0.5, 0.5); + transform: scale(0.5, 0.5); + border: 0 solid #e4e7ed; + z-index: 2; +} +.u-border-top:after { + border-top-width: 1px; +} +.u-border-left:after { + border-left-width: 1px; +} +.u-border-right:after { + border-right-width: 1px; +} +.u-border-bottom:after { + border-bottom-width: 1px; +} +.u-border-top-bottom:after { + border-width: 1px 0; +} +.u-border:after { + border-width: 1px; +} +/* end--Retina 屏幕下的 1px 边框--end */ +/* start--clearfix--start */ +.u-clearfix:after, +.clearfix:after { + content: ''; + display: table; + clear: both; +} +/* end--clearfix--end */ +/* start--高斯模糊tabbar底部处理--start */ +.u-blur-effect-inset { + width: 750rpx; + height: 0px; + background-color: #FFFFFF; +} +/* end--高斯模糊tabbar底部处理--end */ +/* start--提升H5端uni.toast()的层级,避免被uView的modal等遮盖--start */ +/* end--提升H5端uni.toast()的层级,避免被uView的modal等遮盖--end */ +/* start--去除button的所有默认样式--start */ +.u-reset-button { + padding: 0; + font-size: inherit; + line-height: inherit; + background-color: transparent; + color: inherit; +} +.u-reset-button::after { + border: none; +} +/* end--去除button的所有默认样式--end */ +/* start--微信小程序编译后页面有组件名的元素,特别处理--start */ +u-td, u-th { + flex: 1; + align-self: stretch; +} +.u-td { + height: 100%; +} +u-icon { + display: inline-flex; + align-items: center; +} +u-grid { + width: 100%; + flex: 0 0 100%; +} +u-line { + flex: 1; +} +u-switch { + display: inline-flex; + align-items: center; +} +u-dropdown { + flex: 1; +} +/* end-微信小程序编译后页面有组件名的元素,特别处理--end */ +/* start--头条小程序编译后页面有组件名的元素,特别处理--start */ +/* end-头条小程序编译后页面有组件名的元素,特别处理--end */ +/*每个页面公共css */ + + + +/* 图片处理 */ +image { + /* 照顾低版本浏览器 如果图片外面包含了链接会有边框的问题 */ + border: 0; + /* 取消图片底侧有空白缝隙的问题 ① */ + vertical-align: middle; + /* 取消图片底侧有空白缝隙的问题 ② */ + object-fit: cover; +} diff --git a/commons/icon-font.css b/commons/icon-font.css new file mode 100644 index 0000000..6270de7 --- /dev/null +++ b/commons/icon-font.css @@ -0,0 +1,155 @@ +@font-face { + font-family: "iconfont"; /* Project id 3180711 */ + src: url('https://at.alicdn.com/t/font_3180711_atv5gkgm4w4.woff2?t=1651830764889') format('woff2'), + url('https://at.alicdn.com/t/font_3180711_atv5gkgm4w4.woff?t=1651830764889') format('woff'), + url('https://at.alicdn.com/t/font_3180711_atv5gkgm4w4.ttf?t=1651830764889') format('truetype'); +} + +.icon { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-del:before { + content: "\e718"; +} + +.icon-cut:before { + content: "\e609"; +} + +.icon-add:before { + content: "\e60a"; +} + +.icon-add-picture05:before { + content: "\e639"; +} + +.icon-add-picture04:before { + content: "\e636"; +} + +.icon-add-picture03:before { + content: "\e642"; +} + +.icon-add-picture02:before { + content: "\e8bc"; +} + +.icon-add-picture01:before { + content: "\e62c"; +} + +.icon-sandian:before { + content: "\e769"; +} + +.icon-nothing-collection:before { + content: "\e610"; +} + +.icon-nothing-more:before { + content: "\e624"; +} + +.icon-nothing-data:before { + content: "\e60c"; +} + +.icon-address-check:before { + content: "\e6c2"; +} + +.icon-address-unchecked:before { + content: "\e623"; +} + +.icon-navigate-now:before { + content: "\e640"; +} + +.icon-send-goods:before { + content: "\e601"; +} + +.icon-payment:before { + content: "\e602"; +} + +.icon-finish:before { + content: "\e63f"; +} + +.icon-take:before { + content: "\e649"; +} + +.icon-refund:before { + content: "\e613"; +} + +.icon-customer-black:before { + content: "\ec2e"; +} + +.icon-customer:before { + content: "\e628"; +} + +.icon-check:before { + content: "\e61e"; +} + +.icon-del-white:before { + content: "\e61f"; +} + +.icon-screen:before { + content: "\e60b"; +} + +.icon-search:before { + content: "\e653"; +} + +.icon-caidan-mo:before { + content: "\e73e"; +} + +.icon-renwu-mo:before { + content: "\e73f"; +} + +.icon-shop-cart:before { + content: "\e73d"; +} + +.icon-caidan-active:before { + content: "\e608"; +} + +.icon-renwu-acitve:before { + content: "\e67c"; +} + +.icon-home-mo:before { + content: "\e673"; +} + +.icon-home-active:before { + content: "\e674"; +} + +.icon-return:before { + content: "\e600"; +} + +.icon-next:before { + content: "\e60e"; +} + diff --git a/commons/loading.css b/commons/loading.css new file mode 100644 index 0000000..9a3191a --- /dev/null +++ b/commons/loading.css @@ -0,0 +1,1054 @@ +.loading-box { + display: flex; + justify-content: center; + width: 100%; + padding-top: 20px; + font-size: 30px; + color: rgba(253, 82, 75, 1); + vertical-align: top; + -webkit-transition: .3s color, .3s border; + transition: .3s color, .3s border; +} + +/* .loading-box:hover { + color: #d60b52; + font-size: 0; + padding: 0; + border-width: 3px; + line-height: 200px; +} +.loading-box:hover [class*="loader-"] { + font-size: 70px; + line-height: 200px; +} */ + +[class*="loader-"] { + display: inline-block; + width: 1em; + height: 1em; + color: inherit; + vertical-align: middle; + pointer-events: none; +} + +.loader-01 { + border: .2em dotted currentcolor; + border-radius: 50%; + -webkit-animation: 1s loader-01 linear infinite; + animation: 1s loader-01 linear infinite; +} + +@-webkit-keyframes loader-01 { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes loader-01 { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +.loader-02 { + border: .2em solid transparent; + border-left-color: currentcolor; + border-right-color: currentcolor; + border-radius: 50%; + -webkit-animation: 1s loader-02 linear infinite; + animation: 1s loader-02 linear infinite; +} + +@-webkit-keyframes loader-02 { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes loader-02 { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +.loader-03 { + border: .2em solid currentcolor; + border-bottom-color: transparent; + border-radius: 50%; + -webkit-animation: 1s loader-03 linear infinite; + animation: 1s loader-03 linear infinite; + position: relative; +} + +@-webkit-keyframes loader-03 { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes loader-03 { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +.loader-04 { + border: 1px solid currentcolor; + border-radius: 50%; + -webkit-animation: 1s loader-04 linear infinite; + animation: 1s loader-04 linear infinite; + position: relative; +} + +.loader-04:before { + content: ''; + display: block; + width: 0; + height: 0; + position: absolute; + top: -.2em; + left: 50%; + border: .2em solid currentcolor; + border-radius: 50%; +} + +@-webkit-keyframes loader-04 { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes loader-04 { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +.loader-05 { + border: .2em solid transparent; + border-top-color: currentcolor; + border-radius: 50%; + -webkit-animation: 1s loader-05 linear infinite; + animation: 1s loader-05 linear infinite; + position: relative; +} + +.loader-05:before { + content: ''; + display: block; + width: inherit; + height: inherit; + position: absolute; + top: -.2em; + left: -.2em; + border: .2em solid currentcolor; + border-radius: 50%; + opacity: .5; +} + +@-webkit-keyframes loader-05 { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes loader-05 { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +.loader-06 { + border: .2em solid currentcolor; + border-radius: 50%; + -webkit-animation: loader-06 1s ease-out infinite; + animation: loader-06 1s ease-out infinite; +} + +@-webkit-keyframes loader-06 { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + opacity: 0; + } + + 50% { + opacity: 1; + } + + 100% { + -webkit-transform: scale(1); + transform: scale(1); + opacity: 0; + } +} + +@keyframes loader-06 { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + opacity: 0; + } + + 50% { + opacity: 1; + } + + 100% { + -webkit-transform: scale(1); + transform: scale(1); + opacity: 0; + } +} + +.loader-07 { + border: 0 solid transparent; + border-radius: 50%; + position: relative; +} + +.loader-07:before, +.loader-07:after { + content: ''; + border: .2em solid currentcolor; + border-radius: 50%; + width: inherit; + height: inherit; + position: absolute; + top: 0; + left: 0; + -webkit-animation: loader-07 1s linear infinite; + animation: loader-07 1s linear infinite; + opacity: 0; +} + +.loader-07:before { + -webkit-animation-delay: 1s; + animation-delay: 1s; +} + +.loader-07:after { + -webkit-animation-delay: .5s; + animation-delay: .5s; +} + +@-webkit-keyframes loader-07 { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + opacity: 0; + } + + 50% { + opacity: 1; + } + + 100% { + -webkit-transform: scale(1); + transform: scale(1); + opacity: 0; + } +} + +@keyframes loader-07 { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + opacity: 0; + } + + 50% { + opacity: 1; + } + + 100% { + -webkit-transform: scale(1); + transform: scale(1); + opacity: 0; + } +} + +.loader-08 { + position: relative; +} + +.loader-08:before, +.loader-08:after { + content: ''; + width: inherit; + height: inherit; + border-radius: 50%; + background-color: currentcolor; + opacity: 0.6; + position: absolute; + top: 0; + left: 0; + -webkit-animation: loader-08 2.0s infinite ease-in-out; + animation: loader-08 2.0s infinite ease-in-out; +} + +.loader-08:after { + -webkit-animation-delay: -1.0s; + animation-delay: -1.0s; +} + +@-webkit-keyframes loader-08 { + + 0%, + 100% { + -webkit-transform: scale(0); + transform: scale(0); + } + + 50% { + -webkit-transform: scale(1); + transform: scale(1); + } +} + +@keyframes loader-08 { + + 0%, + 100% { + -webkit-transform: scale(0); + transform: scale(0); + } + + 50% { + -webkit-transform: scale(1); + transform: scale(1); + } +} + +.loader-09 { + background-color: currentcolor; + border-radius: 50%; + -webkit-animation: loader-09 1.0s infinite ease-in-out; + animation: loader-09 1.0s infinite ease-in-out; +} + +@-webkit-keyframes loader-09 { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + + 100% { + -webkit-transform: scale(1); + transform: scale(1); + opacity: 0; + } +} + +@keyframes loader-09 { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + + 100% { + -webkit-transform: scale(1); + transform: scale(1); + opacity: 0; + } +} + +.loader-10 { + position: relative; + -webkit-animation: loader-10-1 2.0s infinite linear; + animation: loader-10-1 2.0s infinite linear; +} + +.loader-10:before, +.loader-10:after { + content: ''; + width: 0; + height: 0; + border: .5em solid currentcolor; + display: block; + position: absolute; + border-radius: 100%; + -webkit-animation: loader-10-2 2s infinite ease-in-out; + animation: loader-10-2 2s infinite ease-in-out; +} + +.loader-10:before { + top: 0; + left: 50%; +} + +.loader-10:after { + bottom: 0; + right: 50%; + -webkit-animation-delay: -1s; + animation-delay: -1s; +} + +@-webkit-keyframes loader-10-1 { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes loader-10-1 { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@-webkit-keyframes loader-10-2 { + + 0%, + 100% { + -webkit-transform: scale(0); + transform: scale(0); + } + + 50% { + -webkit-transform: scale(1); + transform: scale(1); + } +} + +@keyframes loader-10-2 { + + 0%, + 100% { + -webkit-transform: scale(0); + transform: scale(0); + } + + 50% { + -webkit-transform: scale(1); + transform: scale(1); + } +} + +.loader-11 { + background-color: currentcolor; + -webkit-animation: loader-11 1.2s infinite ease-in-out; + animation: loader-11 1.2s infinite ease-in-out; +} + +@-webkit-keyframes loader-11 { + 0% { + -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg); + transform: perspective(120px) rotateX(0deg) rotateY(0deg); + } + + 50% { + -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); + transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); + } + + 100% { + -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); + transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); + } +} + +@keyframes loader-11 { + 0% { + -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg); + transform: perspective(120px) rotateX(0deg) rotateY(0deg); + } + + 50% { + -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); + transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); + } + + 100% { + -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); + transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); + } +} + +.loader-12 { + position: relative; +} + +.loader-12:before, +.loader-12:after { + content: ''; + display: block; + position: absolute; + background-color: currentcolor; + left: 50%; + right: 0; + top: 0; + bottom: 50%; + box-shadow: -.5em 0 0 currentcolor; + -webkit-animation: loader-12 1s linear infinite; + animation: loader-12 1s linear infinite; +} + +.loader-12:after { + top: 50%; + bottom: 0; + -webkit-animation-delay: .25s; + animation-delay: .25s; +} + +@-webkit-keyframes loader-12 { + + 0%, + 100% { + box-shadow: -.5em 0 0 transparent; + background-color: currentcolor; + } + + 50% { + box-shadow: -.5em 0 0 currentcolor; + background-color: transparent; + } +} + +@keyframes loader-12 { + + 0%, + 100% { + box-shadow: -.5em 0 0 transparent; + background-color: currentcolor; + } + + 50% { + box-shadow: -.5em 0 0 currentcolor; + background-color: transparent; + } +} + +.loader-13:before, +.loader-13:after, +.loader-13 { + border-radius: 50%; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; + -webkit-animation: loader-13 1.8s infinite ease-in-out; + animation: loader-13 1.8s infinite ease-in-out; +} + +.loader-13 { + color: currentcolor; + position: relative; + -webkit-transform: translateZ(0); + transform: translateZ(0); + -webkit-animation-delay: -0.16s; + animation-delay: -0.16s; + top: -1em; +} + +.loader-13:before { + right: 100%; + -webkit-animation-delay: -0.32s; + animation-delay: -0.32s; +} + +.loader-13:after { + left: 100%; +} + +.loader-13:before, +.loader-13:after { + content: ''; + display: block; + position: absolute; + top: 0; + width: inherit; + height: inherit; +} + +@-webkit-keyframes loader-13 { + + 0%, + 80%, + 100% { + box-shadow: 0 1em 0 -1em; + } + + 40% { + box-shadow: 0 1em 0 -.2em; + } +} + +@keyframes loader-13 { + + 0%, + 80%, + 100% { + box-shadow: 0 1em 0 -1em; + } + + 40% { + box-shadow: 0 1em 0 -.2em; + } +} + +.loader-14 { + border-radius: 50%; + box-shadow: 0 1em 0 -.2em currentcolor; + position: relative; + -webkit-animation: loader-14 0.8s ease-in-out alternate infinite; + animation: loader-14 0.8s ease-in-out alternate infinite; + -webkit-animation-delay: 0.32s; + animation-delay: 0.32s; + top: -1em; +} + +.loader-14:after, +.loader-14:before { + content: ''; + position: absolute; + width: inherit; + height: inherit; + border-radius: inherit; + box-shadow: inherit; + -webkit-animation: inherit; + animation: inherit; +} + +.loader-14:before { + left: -1em; + -webkit-animation-delay: 0.48s; + animation-delay: 0.48s; +} + +.loader-14:after { + right: -1em; + -webkit-animation-delay: 0.16s; + animation-delay: 0.16s; +} + +@-webkit-keyframes loader-14 { + 0% { + box-shadow: 0 2em 0 -.2em currentcolor; + } + + 100% { + box-shadow: 0 1em 0 -.2em currentcolor; + } +} + +@keyframes loader-14 { + 0% { + box-shadow: 0 2em 0 -.2em currentcolor; + } + + 100% { + box-shadow: 0 1em 0 -.2em currentcolor; + } +} + +.loader-15 { + background: currentcolor; + position: relative; + -webkit-animation: loader-15 1s ease-in-out infinite; + animation: loader-15 1s ease-in-out infinite; + -webkit-animation-delay: 0.4s; + animation-delay: 0.4s; + width: .25em; + height: .5em; +} + +.loader-15:after, +.loader-15:before { + content: ''; + position: absolute; + width: inherit; + height: inherit; + background: inherit; + -webkit-animation: inherit; + animation: inherit; +} + +.loader-15:before { + right: .5em; + -webkit-animation-delay: 0.2s; + animation-delay: 0.2s; +} + +.loader-15:after { + left: .5em; + -webkit-animation-delay: 0.6s; + animation-delay: 0.6s; +} + +@-webkit-keyframes loader-15 { + + 0%, + 100% { + box-shadow: 0 0 0 currentcolor, 0 0 0 currentcolor; + } + + 50% { + box-shadow: 0 -.25em 0 currentcolor, 0 .25em 0 currentcolor; + } +} + +@keyframes loader-15 { + + 0%, + 100% { + box-shadow: 0 0 0 currentcolor, 0 0 0 currentcolor; + } + + 50% { + box-shadow: 0 -.25em 0 currentcolor, 0 .25em 0 currentcolor; + } +} + +.loader-16 { + -webkit-transform: rotateZ(45deg); + transform: rotateZ(45deg); + -webkit-perspective: 1000px; + perspective: 1000px; + border-radius: 50%; +} + +.loader-16:before, +.loader-16:after { + content: ''; + display: block; + position: absolute; + top: 0; + left: 0; + width: inherit; + height: inherit; + border-radius: 50%; + -webkit-animation: 1s spin linear infinite; + animation: 1s spin linear infinite; +} + +.loader-16:before { + -webkit-transform: rotateX(70deg); + transform: rotateX(70deg); +} + +.loader-16:after { + -webkit-transform: rotateY(70deg); + transform: rotateY(70deg); + -webkit-animation-delay: .4s; + animation-delay: .4s; +} + +@-webkit-keyframes rotate { + 0% { + -webkit-transform: translate(-50%, -50%) rotateZ(0deg); + transform: translate(-50%, -50%) rotateZ(0deg); + } + + 100% { + -webkit-transform: translate(-50%, -50%) rotateZ(360deg); + transform: translate(-50%, -50%) rotateZ(360deg); + } +} + +@keyframes rotate { + 0% { + -webkit-transform: translate(-50%, -50%) rotateZ(0deg); + transform: translate(-50%, -50%) rotateZ(0deg); + } + + 100% { + -webkit-transform: translate(-50%, -50%) rotateZ(360deg); + transform: translate(-50%, -50%) rotateZ(360deg); + } +} + +@-webkit-keyframes rotateccw { + 0% { + -webkit-transform: translate(-50%, -50%) rotate(0deg); + transform: translate(-50%, -50%) rotate(0deg); + } + + 100% { + -webkit-transform: translate(-50%, -50%) rotate(-360deg); + transform: translate(-50%, -50%) rotate(-360deg); + } +} + +@keyframes rotateccw { + 0% { + -webkit-transform: translate(-50%, -50%) rotate(0deg); + transform: translate(-50%, -50%) rotate(0deg); + } + + 100% { + -webkit-transform: translate(-50%, -50%) rotate(-360deg); + transform: translate(-50%, -50%) rotate(-360deg); + } +} + +@-webkit-keyframes spin { + + 0%, + 100% { + box-shadow: .2em 0px 0 0px currentcolor; + } + + 12% { + box-shadow: .2em .2em 0 0 currentcolor; + } + + 25% { + box-shadow: 0 .2em 0 0px currentcolor; + } + + 37% { + box-shadow: -.2em .2em 0 0 currentcolor; + } + + 50% { + box-shadow: -.2em 0 0 0 currentcolor; + } + + 62% { + box-shadow: -.2em -.2em 0 0 currentcolor; + } + + 75% { + box-shadow: 0px -.2em 0 0 currentcolor; + } + + 87% { + box-shadow: .2em -.2em 0 0 currentcolor; + } +} + +@keyframes spin { + + 0%, + 100% { + box-shadow: .2em 0px 0 0px currentcolor; + } + + 12% { + box-shadow: .2em .2em 0 0 currentcolor; + } + + 25% { + box-shadow: 0 .2em 0 0px currentcolor; + } + + 37% { + box-shadow: -.2em .2em 0 0 currentcolor; + } + + 50% { + box-shadow: -.2em 0 0 0 currentcolor; + } + + 62% { + box-shadow: -.2em -.2em 0 0 currentcolor; + } + + 75% { + box-shadow: 0px -.2em 0 0 currentcolor; + } + + 87% { + box-shadow: .2em -.2em 0 0 currentcolor; + } +} + +.loader-17 { + position: relative; + background-color: currentcolor; + border-radius: 50%; +} + +.loader-17:after, +.loader-17:before { + content: ""; + position: absolute; + width: .25em; + height: .25em; + border-radius: 50%; + opacity: .8; +} + +.loader-17:after { + left: -.5em; + top: -.25em; + background-color: currentcolor; + -webkit-transform-origin: .75em 1em; + transform-origin: .75em 1em; + -webkit-animation: loader-17 1s linear infinite; + animation: loader-17 1s linear infinite; + opacity: .6; +} + +.loader-17:before { + left: -1.25em; + top: -.75em; + background-color: currentcolor; + -webkit-transform-origin: 1.5em 1em; + transform-origin: 1.5em 1em; + -webkit-animation: loader-17 2s linear infinite; + animation: loader-17 2s linear infinite; +} + +@-webkit-keyframes loader-17 { + 0% { + -webkit-transform: rotateZ(0deg) translate3d(0, 0, 0); + transform: rotateZ(0deg) translate3d(0, 0, 0); + } + + 100% { + -webkit-transform: rotateZ(360deg) translate3d(0, 0, 0); + transform: rotateZ(360deg) translate3d(0, 0, 0); + } +} + +@keyframes loader-17 { + 0% { + -webkit-transform: rotateZ(0deg) translate3d(0, 0, 0); + transform: rotateZ(0deg) translate3d(0, 0, 0); + } + + 100% { + -webkit-transform: rotateZ(360deg) translate3d(0, 0, 0); + transform: rotateZ(360deg) translate3d(0, 0, 0); + } +} + +.loader-18 { + position: relative; +} + +.loader-18:before, +.loader-18:after { + content: ''; + display: block; + position: absolute; + border-radius: 50%; + border: .1em solid transparent; + border-bottom-color: currentcolor; + top: 0; + left: 0; + -webkit-animation: 1s loader-18 linear infinite; + animation: 1s loader-18 linear infinite; +} + +.loader-18:before { + width: 1em; + height: 1em; +} + +.loader-18:after { + width: .8em; + height: .8em; + top: .1em; + left: .1em; + -webkit-animation-direction: reverse; + animation-direction: reverse; +} + +@-webkit-keyframes loader-18 { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes loader-18 { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +.loader-19 { + border-top: .2em solid currentcolor; + border-right: .2em solid transparent; + -webkit-animation: loader-19 1s linear infinite; + animation: loader-19 1s linear infinite; + border-radius: 100%; + position: relative; +} + +@-webkit-keyframes loader-19 { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes loader-19 { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} diff --git a/commons/style.css b/commons/style.css new file mode 100644 index 0000000..2f4ee1f --- /dev/null +++ b/commons/style.css @@ -0,0 +1,505 @@ +/* 图片处理 */ +image { + /* 照顾低版本浏览器 如果图片外面包含了链接会有边框的问题 */ + border: 0; + /* 取消图片底侧有空白缝隙的问题 ① */ + vertical-align: middle; + /* 取消图片底侧有空白缝隙的问题 ② */ + object-fit: cover; +} + +/* 去除滚动条 */ +scroll-view ::-webkit-scrollbar { + display: none !important; + width: 0 !important; + height: 0 !important; + -webkit-appearance: none; + background: transparent; +} + +/* 文字行数 */ +.clips { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 1; + overflow: hidden; + text-overflow: ellipsis; + word-wrap: break-word; + word-break: break-all; +} + +[v-cloak] { + display: none; +} + +/* 页面样式 */ +page { + color: #333333; +} + +.main { + padding-bottom: 120rpx; + background: #f7f7f7; +} + +/* 输入默认提示 */ +::-webkit-input-placeholder { + /* WebKit browsers,webkit内核浏览器 */ + color: #8f989f; +} + +:-moz-placeholder { + /* Mozilla Firefox 4 to 18 */ + color: #8f989f; +} + +::-moz-placeholder { + /* Mozilla Firefox 19+ */ + color: #8f989f; +} + +:-ms-input-placeholder { + /* Internet Explorer 10+ */ + color: #8f989f; +} + +img { + border: 0; +} + +ul { + list-style: none; +} + + +.fs12 { + font-size: 24rpx; +} + +.fs13 { + font-size: 26rpx; +} + +.fs14 { + font-size: 28rpx; +} + +.fs15 { + font-size: 30rpx; +} + +.fs16 { + font-size: 32rpx; +} + +.fs18 { + font-size: 36rpx; +} + +.fs20 { + font-size: 40rpx; +} + +.fs25 { + font-size: 50rpx; +} + + +.w50 { + width: 100rpx; +} + +.w80 { + width: 160rpx; +} + +.w120 { + width: 240rpx; +} + +.w150 { + width: 300rpx; +} + +.w200 { + width: 400rpx; +} + +.w230 { + width: 460rpx; +} + +.w250 { + width: 500rpx; +} + +.w300 { + width: 600rpx; +} + +.mt5 { + margin-top: 10rpx; +} + +.mb5 { + margin-bottom: 10rpx; +} + +.ml5 { + margin-left: 10rpx; +} + +.mr5 { + margin-left: 10rpx; +} + +.mt10 { + margin-top: 20rpx; +} + +.mb10 { + margin-bottom: 20rpx; +} + +.ml10 { + margin-left: 20rpx; +} + +.mr10 { + margin-right: 20rpx; +} + +.mt15 { + margin-top: 30rpx; +} + +.mb15 { + margin-bottom: 30rpx; +} + +.ml15 { + margin-left: 30rpx; +} + +.mr15 { + margin-right: 30rpx; +} + +.mt20 { + margin-top: 40rpx; +} + +.mb20 { + margin-bottom: 40rpx; +} + +.ml20 { + margin-left: 40rpx; +} + +.mr20 { + margin-right: 40rpx; +} + +.mt25 { + margin-top: 50rpx; +} + +.mb25 { + margin-bottom: 50rpx; +} + +.ml25 { + margin-left: 50rpx; +} + +.mr25 { + margin-right: 50rpx; +} + +.mt30 { + margin-top: 60rpx; +} + +.mb30 { + margin-bottom: 60rpx; +} + +.ml30 { + margin-left: 60rpx; +} + +.mr30 { + margin-right: 60rpx; +} + +.mt35 { + margin-top: 70rpx; +} + +.mb35 { + margin-bottom: 70rpx; +} + +.ml35 { + margin-left: 70rpx; +} + +.mr35 { + margin-right: 70rpx; +} + +.mt40 { + margin-top: 80rpx; +} + +.ml40 { + margin-left: 80rpx; +} + +.mr40 { + margin-right: 80rpx; +} + +.mb40 { + margin-bottom: 80rpx; +} + +.mt45 { + margin-top: 90rpx; +} + +.ml45 { + margin-left: 90rpx; +} + +.mr45 { + margin-right: 90rpx; +} + +.mb45 { + margin-bottom: 90rpx; +} + +.mt50 { + margin-top: 100rpx; +} + +.ml50 { + margin-left: 100rpx; +} + +.mr50 { + margin-right: 100rpx; +} + +.mb50 { + margin-bottom: 100rpx; +} + +.pt10 { + padding-top: 20rpx; +} + +.pb10 { + padding-bottom: 20rpx; +} + +.pl10 { + padding-left: 20rpx; +} + +.pr10 { + padding-right: 20rpx; +} + +.pt20 { + padding-top: 40rpx; +} + +.pb20 { + padding-bottom: 40rpx; +} + +.pl20 { + padding-left: 40rpx; +} + +.pr20 { + padding-right: 40rpx; +} + +.pt25 { + padding-top: 50rpx; +} + +.pb25 { + padding-bottom: 50rpx; +} + +.pl25 { + padding-left: 50rpx; +} + +.pr25 { + padding-right: 50rpx; +} + +.pt30 { + padding-top: 60rpx; +} + +.pb30 { + padding-bottom: 60rpx; +} + +.pl30 { + padding-left: 60rpx; +} + +.pr30 { + padding-right: 60rpx; +} + +.pt40 { + padding-top: 80rpx; +} + +.pb40 { + padding-bottom: 80rpx; +} + +.pl40 { + padding-left: 80rpx; +} + +.pr40 { + padding-right: 80rpx; +} + +.pt50 { + padding-top: 100rpx; +} + +.pb50 { + padding-bottom: 100rpx; +} + +.pl50 { + padding-left: 100rpx; +} + +.pr50 { + padding-right: 100rpx; +} + +.clr { + clear: both; +} + +.fl { + float: left; +} + +.fr { + float: right; +} + +.tc { + text-align: center; +} + +.tl { + text-align: left; +} + +.tr { + text-align: right; +} + + +.pr { + position: relative; +} + +.pa { + position: absolute; +} + +.red { + color: #ce0000; +} + +.white { + color: #FFF !important; +} + +.black { + color: #000 !important; +} + +.gray { + color: #CCC !important; +} + +.dark { + color: #999 !important; +} + +.orange { + color: #F60 !important; +} + +.green { + color: #008000 !important; +} + +.blue { + color: #06F !important; +} + +.bf5 { + background-color: #f5f5f5 !important; +} + +.f5 { + background: #ddd; +} + +.bred { + background: #ce0000; +} + +.bwhite { + background: #FFF; +} + +.bblack { + background: #000; +} + +.bgray { + background: #CCC; +} + +.borange { + background: #F60; +} + +.bgreen { + background: #008000; +} + +.bblue { + background: #06F; +} + + +.bd-bottom { + border-bottom: 1px solid #ddd; +} + +.flex { + display: flex; + align-items: center; +} \ No newline at end of file diff --git a/components/address-one/address-one.css b/components/address-one/address-one.css new file mode 100644 index 0000000..398e5be --- /dev/null +++ b/components/address-one/address-one.css @@ -0,0 +1,107 @@ +.lotus-address-picker { + font-size: 26rpx; + padding-top: 30rpx; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 1; + -webkit-box-orient: vertical; + line-height: normal; + padding-right: 30rpx; + box-sizing: border-box; +} +.lotus-address-picker-box { + /*display: -webkit-box; + display: -webkit-flex;*/ + display: flex; + align-items: center; + justify-content: center; + justify-content: flex-start; + padding-top: 10rpx; + padding-bottom: 10rpx; +} +.lotus-address-picker-box-item { + height: 600upx; + overflow-y: auto; + width: 33.333%; + padding-left: 20rpx; + padding-right: 20rpx; + box-sizing: border-box; +} +.lotus-address-picker2 { + color: #03affb; + position: relative; +} +.lotus-address-picker2:after { + content: ''; + position: absolute; + right: 0; + top: 65%; + transform: translateY(-35%) rotate(-45deg); + width: 20rpx; + height: 10rpx; + border-left-width: 4rpx; + border-bottom-width: 4rpx; + border-left-style: solid; + border-bottom-style: solid; + border-left-color: #03affb; + border-bottom-color: #03affb; +} +.lotus-address-mask { + position: fixed; + left: 0; + top: 0; + width: 100%; + height: 100%; + z-index: 999; + background: rgba(0, 0, 0, 0.5); +} +.lotus-address-box { + background: #fff; + position: absolute; + left: 0; + bottom: 0; + width: 100%; + height: auto; +} +.lotus-address-action { + font-size: 30rpx; + /*display: -webkit-box; + display: -webkit-flex;*/ + display: flex; + align-items: center; + justify-content: center; + justify-content: space-between; + padding: 25rpx 30rpx; + position: relative; +} +.lotus-address-action:after { + content: " "; + position: absolute; + left: 0; + top: 0; + right: 0; + height: 1px; + border-top: 1px solid #eee; + color: #eee; + transform-origin: 0 0; + transform: scaleY(0.5); +} +.lotus-address-action:before { + content: " "; + position: absolute; + left: 0; + bottom: 0; + right: 0; + height: 1px; + border-bottom: 1px solid #eee; + color: #eee; + transform-origin: 0 100%; + transform: scaleY(0.5); +} +.lotus-address-action-cancel { + color: #969696; +} +.lotus-address-action-affirm { + color: #03affb; +} diff --git a/components/address-one/address-one.js b/components/address-one/address-one.js new file mode 100644 index 0000000..7ffd730 --- /dev/null +++ b/components/address-one/address-one.js @@ -0,0 +1 @@ +export let lotusAddressJson=[{value:"110000",name:"北京"},{value:"120000",name:"天津"},{value:"130000",name:"河北省"},{value:"140000",name:"山西省"},{value:"150000",name:"内蒙古自治区"},{value:"210000",name:"辽宁省"},{value:"220000",name:"吉林省"},{value:"230000",name:"黑龙江省"},{value:"310000",name:"上海"},{value:"320000",name:"江苏省"},{value:"330000",name:"浙江省"},{value:"340000",name:"安徽省"},{value:"350000",name:"福建省"},{value:"360000",name:"江西省"},{value:"370000",name:"山东省"},{value:"410000",name:"河南省"},{value:"420000",name:"湖北省"},{value:"430000",name:"湖南省"},{value:"440000",name:"广东省"},{value:"450000",name:"广西壮族自治区"},{value:"460000",name:"海南省"},{value:"500000",name:"重庆"},{value:"510000",name:"四川省"},{value:"520000",name:"贵州省"},{value:"530000",name:"云南省"},{value:"540000",name:"西藏自治区"},{value:"610000",name:"陕西省"},{value:"620000",name:"甘肃省"},{value:"630000",name:"青海省"},{value:"640000",name:"宁夏回族自治区"},{value:"650000",name:"新疆维吾尔自治区"},{value:"710000",name:"台湾"},{value:"810000",name:"香港特别行政区"},{value:"820000",name:"澳门特别行政区"},{value:"990000",name:"海外"},{value:"110100",name:"北京市",parent:"110000"},{value:"120100",name:"天津市",parent:"120000"},{value:"130100",name:"石家庄市",parent:"130000"},{value:"130200",name:"唐山市",parent:"130000"},{value:"130300",name:"秦皇岛市",parent:"130000"},{value:"130400",name:"邯郸市",parent:"130000"},{value:"130500",name:"邢台市",parent:"130000"},{value:"130600",name:"保定市",parent:"130000"},{value:"130700",name:"张家口市",parent:"130000"},{value:"130800",name:"承德市",parent:"130000"},{value:"130900",name:"沧州市",parent:"130000"},{value:"131000",name:"廊坊市",parent:"130000"},{value:"131100",name:"衡水市",parent:"130000"},{value:"140100",name:"太原市",parent:"140000"},{value:"140200",name:"大同市",parent:"140000"},{value:"140300",name:"阳泉市",parent:"140000"},{value:"140400",name:"长治市",parent:"140000"},{value:"140500",name:"晋城市",parent:"140000"},{value:"140600",name:"朔州市",parent:"140000"},{value:"140700",name:"晋中市",parent:"140000"},{value:"140800",name:"运城市",parent:"140000"},{value:"140900",name:"忻州市",parent:"140000"},{value:"141000",name:"临汾市",parent:"140000"},{value:"141100",name:"吕梁市",parent:"140000"},{value:"150100",name:"呼和浩特市",parent:"150000"},{value:"150200",name:"包头市",parent:"150000"},{value:"150300",name:"乌海市",parent:"150000"},{value:"150400",name:"赤峰市",parent:"150000"},{value:"150500",name:"通辽市",parent:"150000"},{value:"150600",name:"鄂尔多斯市",parent:"150000"},{value:"150700",name:"呼伦贝尔市",parent:"150000"},{value:"150800",name:"巴彦淖尔市",parent:"150000"},{value:"150900",name:"乌兰察布市",parent:"150000"},{value:"152200",name:"兴安盟",parent:"150000"},{value:"152500",name:"锡林郭勒盟",parent:"150000"},{value:"152900",name:"阿拉善盟",parent:"150000"},{value:"210100",name:"沈阳市",parent:"210000"},{value:"210200",name:"大连市",parent:"210000"},{value:"210300",name:"鞍山市",parent:"210000"},{value:"210400",name:"抚顺市",parent:"210000"},{value:"210500",name:"本溪市",parent:"210000"},{value:"210600",name:"丹东市",parent:"210000"},{value:"210700",name:"锦州市",parent:"210000"},{value:"210800",name:"营口市",parent:"210000"},{value:"210900",name:"阜新市",parent:"210000"},{value:"211000",name:"辽阳市",parent:"210000"},{value:"211100",name:"盘锦市",parent:"210000"},{value:"211200",name:"铁岭市",parent:"210000"},{value:"211300",name:"朝阳市",parent:"210000"},{value:"211400",name:"葫芦岛市",parent:"210000"},{value:"220100",name:"长春市",parent:"220000"},{value:"220200",name:"吉林市",parent:"220000"},{value:"220300",name:"四平市",parent:"220000"},{value:"220400",name:"辽源市",parent:"220000"},{value:"220500",name:"通化市",parent:"220000"},{value:"220600",name:"白山市",parent:"220000"},{value:"220700",name:"松原市",parent:"220000"},{value:"220800",name:"白城市",parent:"220000"},{value:"222400",name:"延边朝鲜族自治州",parent:"220000"},{value:"230100",name:"哈尔滨市",parent:"230000"},{value:"230200",name:"齐齐哈尔市",parent:"230000"},{value:"230300",name:"鸡西市",parent:"230000"},{value:"230400",name:"鹤岗市",parent:"230000"},{value:"230500",name:"双鸭山市",parent:"230000"},{value:"230600",name:"大庆市",parent:"230000"},{value:"230700",name:"伊春市",parent:"230000"},{value:"230800",name:"佳木斯市",parent:"230000"},{value:"230900",name:"七台河市",parent:"230000"},{value:"231000",name:"牡丹江市",parent:"230000"},{value:"231100",name:"黑河市",parent:"230000"},{value:"231200",name:"绥化市",parent:"230000"},{value:"232700",name:"大兴安岭地区",parent:"230000"},{value:"310100",name:"上海市",parent:"310000"},{value:"320100",name:"南京市",parent:"320000"},{value:"320200",name:"无锡市",parent:"320000"},{value:"320300",name:"徐州市",parent:"320000"},{value:"320400",name:"常州市",parent:"320000"},{value:"320500",name:"苏州市",parent:"320000"},{value:"320600",name:"南通市",parent:"320000"},{value:"320700",name:"连云港市",parent:"320000"},{value:"320800",name:"淮安市",parent:"320000"},{value:"320900",name:"盐城市",parent:"320000"},{value:"321000",name:"扬州市",parent:"320000"},{value:"321100",name:"镇江市",parent:"320000"},{value:"321200",name:"泰州市",parent:"320000"},{value:"321300",name:"宿迁市",parent:"320000"},{value:"330100",name:"杭州市",parent:"330000"},{value:"330200",name:"宁波市",parent:"330000"},{value:"330300",name:"温州市",parent:"330000"},{value:"330400",name:"嘉兴市",parent:"330000"},{value:"330500",name:"湖州市",parent:"330000"},{value:"330600",name:"绍兴市",parent:"330000"},{value:"330700",name:"金华市",parent:"330000"},{value:"330800",name:"衢州市",parent:"330000"},{value:"330900",name:"舟山市",parent:"330000"},{value:"331000",name:"台州市",parent:"330000"},{value:"331100",name:"丽水市",parent:"330000"},{value:"340100",name:"合肥市",parent:"340000"},{value:"340200",name:"芜湖市",parent:"340000"},{value:"340300",name:"蚌埠市",parent:"340000"},{value:"340400",name:"淮南市",parent:"340000"},{value:"340500",name:"马鞍山市",parent:"340000"},{value:"340600",name:"淮北市",parent:"340000"},{value:"340700",name:"铜陵市",parent:"340000"},{value:"340800",name:"安庆市",parent:"340000"},{value:"341000",name:"黄山市",parent:"340000"},{value:"341100",name:"滁州市",parent:"340000"},{value:"341200",name:"阜阳市",parent:"340000"},{value:"341300",name:"宿州市",parent:"340000"},{value:"341500",name:"六安市",parent:"340000"},{value:"341600",name:"亳州市",parent:"340000"},{value:"341700",name:"池州市",parent:"340000"},{value:"341800",name:"宣城市",parent:"340000"},{value:"350100",name:"福州市",parent:"350000"},{value:"350200",name:"厦门市",parent:"350000"},{value:"350300",name:"莆田市",parent:"350000"},{value:"350400",name:"三明市",parent:"350000"},{value:"350500",name:"泉州市",parent:"350000"},{value:"350600",name:"漳州市",parent:"350000"},{value:"350700",name:"南平市",parent:"350000"},{value:"350800",name:"龙岩市",parent:"350000"},{value:"350900",name:"宁德市",parent:"350000"},{value:"360100",name:"南昌市",parent:"360000"},{value:"360200",name:"景德镇市",parent:"360000"},{value:"360300",name:"萍乡市",parent:"360000"},{value:"360400",name:"九江市",parent:"360000"},{value:"360500",name:"新余市",parent:"360000"},{value:"360600",name:"鹰潭市",parent:"360000"},{value:"360700",name:"赣州市",parent:"360000"},{value:"360800",name:"吉安市",parent:"360000"},{value:"360900",name:"宜春市",parent:"360000"},{value:"361000",name:"抚州市",parent:"360000"},{value:"361100",name:"上饶市",parent:"360000"},{value:"370100",name:"济南市",parent:"370000"},{value:"370200",name:"青岛市",parent:"370000"},{value:"370300",name:"淄博市",parent:"370000"},{value:"370400",name:"枣庄市",parent:"370000"},{value:"370500",name:"东营市",parent:"370000"},{value:"370600",name:"烟台市",parent:"370000"},{value:"370700",name:"潍坊市",parent:"370000"},{value:"370800",name:"济宁市",parent:"370000"},{value:"370900",name:"泰安市",parent:"370000"},{value:"371000",name:"威海市",parent:"370000"},{value:"371100",name:"日照市",parent:"370000"},{value:"371200",name:"莱芜市",parent:"370000"},{value:"371300",name:"临沂市",parent:"370000"},{value:"371400",name:"德州市",parent:"370000"},{value:"371500",name:"聊城市",parent:"370000"},{value:"371600",name:"滨州市",parent:"370000"},{value:"371700",name:"菏泽市",parent:"370000"},{value:"410100",name:"郑州市",parent:"410000"},{value:"410200",name:"开封市",parent:"410000"},{value:"410300",name:"洛阳市",parent:"410000"},{value:"410400",name:"平顶山市",parent:"410000"},{value:"410500",name:"安阳市",parent:"410000"},{value:"410600",name:"鹤壁市",parent:"410000"},{value:"410700",name:"新乡市",parent:"410000"},{value:"410800",name:"焦作市",parent:"410000"},{value:"410900",name:"濮阳市",parent:"410000"},{value:"411000",name:"许昌市",parent:"410000"},{value:"411100",name:"漯河市",parent:"410000"},{value:"411200",name:"三门峡市",parent:"410000"},{value:"411300",name:"南阳市",parent:"410000"},{value:"411400",name:"商丘市",parent:"410000"},{value:"411500",name:"信阳市",parent:"410000"},{value:"411600",name:"周口市",parent:"410000"},{value:"411700",name:"驻马店市",parent:"410000"},{value:"420100",name:"武汉市",parent:"420000"},{value:"420200",name:"黄石市",parent:"420000"},{value:"420300",name:"十堰市",parent:"420000"},{value:"420500",name:"宜昌市",parent:"420000"},{value:"420600",name:"襄阳市",parent:"420000"},{value:"420700",name:"鄂州市",parent:"420000"},{value:"420800",name:"荆门市",parent:"420000"},{value:"420900",name:"孝感市",parent:"420000"},{value:"421000",name:"荆州市",parent:"420000"},{value:"421100",name:"黄冈市",parent:"420000"},{value:"421200",name:"咸宁市",parent:"420000"},{value:"421300",name:"随州市",parent:"420000"},{value:"422800",name:"恩施土家族苗族自治州",parent:"420000"},{value:"430100",name:"长沙市",parent:"430000"},{value:"430200",name:"株洲市",parent:"430000"},{value:"430300",name:"湘潭市",parent:"430000"},{value:"430400",name:"衡阳市",parent:"430000"},{value:"430500",name:"邵阳市",parent:"430000"},{value:"430600",name:"岳阳市",parent:"430000"},{value:"430700",name:"常德市",parent:"430000"},{value:"430800",name:"张家界市",parent:"430000"},{value:"430900",name:"益阳市",parent:"430000"},{value:"431000",name:"郴州市",parent:"430000"},{value:"431100",name:"永州市",parent:"430000"},{value:"431200",name:"怀化市",parent:"430000"},{value:"431300",name:"娄底市",parent:"430000"},{value:"433100",name:"湘西土家族苗族自治州",parent:"430000"},{value:"440100",name:"广州市",parent:"440000"},{value:"440200",name:"韶关市",parent:"440000"},{value:"440300",name:"深圳市",parent:"440000"},{value:"440400",name:"珠海市",parent:"440000"},{value:"440500",name:"汕头市",parent:"440000"},{value:"440600",name:"佛山市",parent:"440000"},{value:"440700",name:"江门市",parent:"440000"},{value:"440800",name:"湛江市",parent:"440000"},{value:"440900",name:"茂名市",parent:"440000"},{value:"441200",name:"肇庆市",parent:"440000"},{value:"441300",name:"惠州市",parent:"440000"},{value:"441400",name:"梅州市",parent:"440000"},{value:"441500",name:"汕尾市",parent:"440000"},{value:"441600",name:"河源市",parent:"440000"},{value:"441700",name:"阳江市",parent:"440000"},{value:"441800",name:"清远市",parent:"440000"},{value:"441900",name:"东莞市",parent:"440000"},{value:"442000",name:"中山市",parent:"440000"},{value:"442101",name:"东沙群岛",parent:"440000"},{value:"445100",name:"潮州市",parent:"440000"},{value:"445200",name:"揭阳市",parent:"440000"},{value:"445300",name:"云浮市",parent:"440000"},{value:"450100",name:"南宁市",parent:"450000"},{value:"450200",name:"柳州市",parent:"450000"},{value:"450300",name:"桂林市",parent:"450000"},{value:"450400",name:"梧州市",parent:"450000"},{value:"450500",name:"北海市",parent:"450000"},{value:"450600",name:"防城港市",parent:"450000"},{value:"450700",name:"钦州市",parent:"450000"},{value:"450800",name:"贵港市",parent:"450000"},{value:"450900",name:"玉林市",parent:"450000"},{value:"451000",name:"百色市",parent:"450000"},{value:"451100",name:"贺州市",parent:"450000"},{value:"451200",name:"河池市",parent:"450000"},{value:"451300",name:"来宾市",parent:"450000"},{value:"451400",name:"崇左市",parent:"450000"},{value:"460100",name:"海口市",parent:"460000"},{value:"460200",name:"三亚市",parent:"460000"},{value:"460300",name:"三沙市",parent:"460000"},{value:"500100",name:"重庆市",parent:"500000"},{value:"510100",name:"成都市",parent:"510000"},{value:"510300",name:"自贡市",parent:"510000"},{value:"510400",name:"攀枝花市",parent:"510000"},{value:"510500",name:"泸州市",parent:"510000"},{value:"510600",name:"德阳市",parent:"510000"},{value:"510700",name:"绵阳市",parent:"510000"},{value:"510800",name:"广元市",parent:"510000"},{value:"510900",name:"遂宁市",parent:"510000"},{value:"511000",name:"内江市",parent:"510000"},{value:"511100",name:"乐山市",parent:"510000"},{value:"511300",name:"南充市",parent:"510000"},{value:"511400",name:"眉山市",parent:"510000"},{value:"511500",name:"宜宾市",parent:"510000"},{value:"511600",name:"广安市",parent:"510000"},{value:"511700",name:"达州市",parent:"510000"},{value:"511800",name:"雅安市",parent:"510000"},{value:"511900",name:"巴中市",parent:"510000"},{value:"512000",name:"资阳市",parent:"510000"},{value:"513200",name:"阿坝藏族羌族自治州",parent:"510000"},{value:"513300",name:"甘孜藏族自治州",parent:"510000"},{value:"513400",name:"凉山彝族自治州",parent:"510000"},{value:"520100",name:"贵阳市",parent:"520000"},{value:"520200",name:"六盘水市",parent:"520000"},{value:"520300",name:"遵义市",parent:"520000"},{value:"520400",name:"安顺市",parent:"520000"},{value:"522200",name:"铜仁市",parent:"520000"},{value:"522300",name:"黔西南布依族苗族自治州",parent:"520000"},{value:"522400",name:"毕节市",parent:"520000"},{value:"522600",name:"黔东南苗族侗族自治州",parent:"520000"},{value:"522700",name:"黔南布依族苗族自治州",parent:"520000"},{value:"530100",name:"昆明市",parent:"530000"},{value:"530300",name:"曲靖市",parent:"530000"},{value:"530400",name:"玉溪市",parent:"530000"},{value:"530500",name:"保山市",parent:"530000"},{value:"530600",name:"昭通市",parent:"530000"},{value:"530700",name:"丽江市",parent:"530000"},{value:"530800",name:"普洱市",parent:"530000"},{value:"530900",name:"临沧市",parent:"530000"},{value:"532300",name:"楚雄彝族自治州",parent:"530000"},{value:"532500",name:"红河哈尼族彝族自治州",parent:"530000"},{value:"532600",name:"文山壮族苗族自治州",parent:"530000"},{value:"532800",name:"西双版纳傣族自治州",parent:"530000"},{value:"532900",name:"大理白族自治州",parent:"530000"},{value:"533100",name:"德宏傣族景颇族自治州",parent:"530000"},{value:"533300",name:"怒江傈僳族自治州",parent:"530000"},{value:"533400",name:"迪庆藏族自治州",parent:"530000"},{value:"540100",name:"拉萨市",parent:"540000"},{value:"542100",name:"昌都市",parent:"540000"},{value:"542200",name:"山南地区",parent:"540000"},{value:"542300",name:"日喀则市",parent:"540000"},{value:"542400",name:"那曲地区",parent:"540000"},{value:"542500",name:"阿里地区",parent:"540000"},{value:"542600",name:"林芝市",parent:"540000"},{value:"610100",name:"西安市",parent:"610000"},{value:"610200",name:"铜川市",parent:"610000"},{value:"610300",name:"宝鸡市",parent:"610000"},{value:"610400",name:"咸阳市",parent:"610000"},{value:"610500",name:"渭南市",parent:"610000"},{value:"610600",name:"延安市",parent:"610000"},{value:"610700",name:"汉中市",parent:"610000"},{value:"610800",name:"榆林市",parent:"610000"},{value:"610900",name:"安康市",parent:"610000"},{value:"611000",name:"商洛市",parent:"610000"},{value:"620100",name:"兰州市",parent:"620000"},{value:"620200",name:"嘉峪关市",parent:"620000"},{value:"620300",name:"金昌市",parent:"620000"},{value:"620400",name:"白银市",parent:"620000"},{value:"620500",name:"天水市",parent:"620000"},{value:"620600",name:"武威市",parent:"620000"},{value:"620700",name:"张掖市",parent:"620000"},{value:"620800",name:"平凉市",parent:"620000"},{value:"620900",name:"酒泉市",parent:"620000"},{value:"621000",name:"庆阳市",parent:"620000"},{value:"621100",name:"定西市",parent:"620000"},{value:"621200",name:"陇南市",parent:"620000"},{value:"622900",name:"临夏回族自治州",parent:"620000"},{value:"623000",name:"甘南藏族自治州",parent:"620000"},{value:"630100",name:"西宁市",parent:"630000"},{value:"632100",name:"海东市",parent:"630000"},{value:"632200",name:"海北藏族自治州",parent:"630000"},{value:"632300",name:"黄南藏族自治州",parent:"630000"},{value:"632500",name:"海南藏族自治州",parent:"630000"},{value:"632600",name:"果洛藏族自治州",parent:"630000"},{value:"632700",name:"玉树藏族自治州",parent:"630000"},{value:"632800",name:"海西蒙古族藏族自治州",parent:"630000"},{value:"640100",name:"银川市",parent:"640000"},{value:"640200",name:"石嘴山市",parent:"640000"},{value:"640300",name:"吴忠市",parent:"640000"},{value:"640400",name:"固原市",parent:"640000"},{value:"640500",name:"中卫市",parent:"640000"},{value:"650100",name:"乌鲁木齐市",parent:"650000"},{value:"650200",name:"克拉玛依市",parent:"650000"},{value:"652100",name:"吐鲁番市",parent:"650000"},{value:"652200",name:"哈密地区",parent:"650000"},{value:"652300",name:"昌吉回族自治州",parent:"650000"},{value:"652700",name:"博尔塔拉蒙古自治州",parent:"650000"},{value:"652800",name:"巴音郭楞蒙古自治州",parent:"650000"},{value:"652900",name:"阿克苏地区",parent:"650000"},{value:"653000",name:"克孜勒苏柯尔克孜自治州",parent:"650000"},{value:"653100",name:"喀什地区",parent:"650000"},{value:"653200",name:"和田地区",parent:"650000"},{value:"654000",name:"伊犁哈萨克自治州",parent:"650000"},{value:"654200",name:"塔城地区",parent:"650000"},{value:"654300",name:"阿勒泰地区",parent:"650000"},{value:"659000",name:"可克达拉市",parent:"650000"},{value:"710100",name:"台北市",parent:"710000"},{value:"710200",name:"高雄市",parent:"710000"},{value:"710300",name:"台南市",parent:"710000"},{value:"710400",name:"台中市",parent:"710000"},{value:"710500",name:"金门县",parent:"710000"},{value:"710600",name:"南投县",parent:"710000"},{value:"710700",name:"基隆市",parent:"710000"},{value:"710800",name:"新竹市",parent:"710000"},{value:"710900",name:"嘉义市",parent:"710000"},{value:"711100",name:"新北市",parent:"710000"},{value:"711200",name:"宜兰县",parent:"710000"},{value:"711300",name:"新竹县",parent:"710000"},{value:"711400",name:"桃园县",parent:"710000"},{value:"711500",name:"苗栗县",parent:"710000"},{value:"711700",name:"彰化县",parent:"710000"},{value:"711900",name:"嘉义县",parent:"710000"},{value:"712100",name:"云林县",parent:"710000"},{value:"712400",name:"屏东县",parent:"710000"},{value:"712500",name:"台东县",parent:"710000"},{value:"712600",name:"花莲县",parent:"710000"},{value:"712700",name:"澎湖县",parent:"710000"},{value:"712800",name:"连江县",parent:"710000"},{value:"810100",name:"香港岛",parent:"810000"},{value:"810200",name:"九龙",parent:"810000"},{value:"810300",name:"新界",parent:"810000"},{value:"820100",name:"澳门半岛",parent:"820000"},{value:"820200",name:"离岛",parent:"820000"},{value:"990100",name:"海外",parent:"990000"},{value:"110101",name:"东城区",parent:"110100"},{value:"110102",name:"西城区",parent:"110100"},{value:"110103",name:"崇文区",parent:"110100"},{value:"110104",name:"宣武区",parent:"110100"},{value:"110105",name:"朝阳区",parent:"110100"},{value:"110106",name:"丰台区",parent:"110100"},{value:"110107",name:"石景山区",parent:"110100"},{value:"110108",name:"海淀区",parent:"110100"},{value:"110109",name:"门头沟区",parent:"110100"},{value:"110111",name:"房山区",parent:"110100"},{value:"110112",name:"通州区",parent:"110100"},{value:"110113",name:"顺义区",parent:"110100"},{value:"110114",name:"昌平区",parent:"110100"},{value:"110115",name:"大兴区",parent:"110100"},{value:"110116",name:"怀柔区",parent:"110100"},{value:"110117",name:"平谷区",parent:"110100"},{value:"110228",name:"密云县",parent:"110100"},{value:"110229",name:"延庆县",parent:"110100"},{value:"110230",name:"其它区",parent:"110100"},{value:"120101",name:"和平区",parent:"120100"},{value:"120102",name:"河东区",parent:"120100"},{value:"120103",name:"河西区",parent:"120100"},{value:"120104",name:"南开区",parent:"120100"},{value:"120105",name:"河北区",parent:"120100"},{value:"120106",name:"红桥区",parent:"120100"},{value:"120107",name:"塘沽区",parent:"120100"},{value:"120108",name:"汉沽区",parent:"120100"},{value:"120109",name:"大港区",parent:"120100"},{value:"120110",name:"东丽区",parent:"120100"},{value:"120111",name:"西青区",parent:"120100"},{value:"120112",name:"津南区",parent:"120100"},{value:"120113",name:"北辰区",parent:"120100"},{value:"120114",name:"武清区",parent:"120100"},{value:"120115",name:"宝坻区",parent:"120100"},{value:"120116",name:"滨海新区",parent:"120100"},{value:"120221",name:"宁河县",parent:"120100"},{value:"120223",name:"静海县",parent:"120100"},{value:"120225",name:"蓟县",parent:"120100"},{value:"120226",name:"其它区",parent:"120100"},{value:"130102",name:"长安区",parent:"130100"},{value:"130103",name:"桥东区",parent:"130100"},{value:"130104",name:"桥西区",parent:"130100"},{value:"130105",name:"新华区",parent:"130100"},{value:"130107",name:"井陉矿区",parent:"130100"},{value:"130108",name:"裕华区",parent:"130100"},{value:"130121",name:"井陉县",parent:"130100"},{value:"130123",name:"正定县",parent:"130100"},{value:"130124",name:"栾城区",parent:"130100"},{value:"130125",name:"行唐县",parent:"130100"},{value:"130126",name:"灵寿县",parent:"130100"},{value:"130127",name:"高邑县",parent:"130100"},{value:"130128",name:"深泽县",parent:"130100"},{value:"130129",name:"赞皇县",parent:"130100"},{value:"130130",name:"无极县",parent:"130100"},{value:"130131",name:"平山县",parent:"130100"},{value:"130132",name:"元氏县",parent:"130100"},{value:"130133",name:"赵县",parent:"130100"},{value:"130181",name:"辛集市",parent:"130100"},{value:"130182",name:"藁城区",parent:"130100"},{value:"130183",name:"晋州市",parent:"130100"},{value:"130184",name:"新乐市",parent:"130100"},{value:"130185",name:"鹿泉区",parent:"130100"},{value:"130186",name:"其它区",parent:"130100"},{value:"130202",name:"路南区",parent:"130200"},{value:"130203",name:"路北区",parent:"130200"},{value:"130204",name:"古冶区",parent:"130200"},{value:"130205",name:"开平区",parent:"130200"},{value:"130207",name:"丰南区",parent:"130200"},{value:"130208",name:"丰润区",parent:"130200"},{value:"130223",name:"滦县",parent:"130200"},{value:"130224",name:"滦南县",parent:"130200"},{value:"130225",name:"乐亭县",parent:"130200"},{value:"130227",name:"迁西县",parent:"130200"},{value:"130229",name:"玉田县",parent:"130200"},{value:"130230",name:"曹妃甸区",parent:"130200"},{value:"130281",name:"遵化市",parent:"130200"},{value:"130283",name:"迁安市",parent:"130200"},{value:"130284",name:"其它区",parent:"130200"},{value:"130302",name:"海港区",parent:"130300"},{value:"130303",name:"山海关区",parent:"130300"},{value:"130304",name:"北戴河区",parent:"130300"},{value:"130321",name:"青龙满族自治县",parent:"130300"},{value:"130322",name:"昌黎县",parent:"130300"},{value:"130323",name:"抚宁县",parent:"130300"},{value:"130324",name:"卢龙县",parent:"130300"},{value:"130398",name:"其它区",parent:"130300"},{value:"130399",name:"经济技术开发区",parent:"130300"},{value:"130402",name:"邯山区",parent:"130400"},{value:"130403",name:"丛台区",parent:"130400"},{value:"130404",name:"复兴区",parent:"130400"},{value:"130406",name:"峰峰矿区",parent:"130400"},{value:"130421",name:"邯郸县",parent:"130400"},{value:"130423",name:"临漳县",parent:"130400"},{value:"130424",name:"成安县",parent:"130400"},{value:"130425",name:"大名县",parent:"130400"},{value:"130426",name:"涉县",parent:"130400"},{value:"130427",name:"磁县",parent:"130400"},{value:"130428",name:"肥乡县",parent:"130400"},{value:"130429",name:"永年县",parent:"130400"},{value:"130430",name:"邱县",parent:"130400"},{value:"130431",name:"鸡泽县",parent:"130400"},{value:"130432",name:"广平县",parent:"130400"},{value:"130433",name:"馆陶县",parent:"130400"},{value:"130434",name:"魏县",parent:"130400"},{value:"130435",name:"曲周县",parent:"130400"},{value:"130481",name:"武安市",parent:"130400"},{value:"130482",name:"其它区",parent:"130400"},{value:"130502",name:"桥东区",parent:"130500"},{value:"130503",name:"桥西区",parent:"130500"},{value:"130521",name:"邢台县",parent:"130500"},{value:"130522",name:"临城县",parent:"130500"},{value:"130523",name:"内丘县",parent:"130500"},{value:"130524",name:"柏乡县",parent:"130500"},{value:"130525",name:"隆尧县",parent:"130500"},{value:"130526",name:"任县",parent:"130500"},{value:"130527",name:"南和县",parent:"130500"},{value:"130528",name:"宁晋县",parent:"130500"},{value:"130529",name:"巨鹿县",parent:"130500"},{value:"130530",name:"新河县",parent:"130500"},{value:"130531",name:"广宗县",parent:"130500"},{value:"130532",name:"平乡县",parent:"130500"},{value:"130533",name:"威县",parent:"130500"},{value:"130534",name:"清河县",parent:"130500"},{value:"130535",name:"临西县",parent:"130500"},{value:"130581",name:"南宫市",parent:"130500"},{value:"130582",name:"沙河市",parent:"130500"},{value:"130583",name:"其它区",parent:"130500"},{value:"130602",name:"新市区",parent:"130600"},{value:"130603",name:"北市区",parent:"130600"},{value:"130604",name:"南市区",parent:"130600"},{value:"130621",name:"满城县",parent:"130600"},{value:"130622",name:"清苑县",parent:"130600"},{value:"130623",name:"涞水县",parent:"130600"},{value:"130624",name:"阜平县",parent:"130600"},{value:"130625",name:"徐水县",parent:"130600"},{value:"130626",name:"定兴县",parent:"130600"},{value:"130627",name:"唐县",parent:"130600"},{value:"130628",name:"高阳县",parent:"130600"},{value:"130629",name:"容城县",parent:"130600"},{value:"130630",name:"涞源县",parent:"130600"},{value:"130631",name:"望都县",parent:"130600"},{value:"130632",name:"安新县",parent:"130600"},{value:"130633",name:"易县",parent:"130600"},{value:"130634",name:"曲阳县",parent:"130600"},{value:"130635",name:"蠡县",parent:"130600"},{value:"130636",name:"顺平县",parent:"130600"},{value:"130637",name:"博野县",parent:"130600"},{value:"130638",name:"雄县",parent:"130600"},{value:"130681",name:"涿州市",parent:"130600"},{value:"130682",name:"定州市",parent:"130600"},{value:"130683",name:"安国市",parent:"130600"},{value:"130684",name:"高碑店市",parent:"130600"},{value:"130698",name:"高开区",parent:"130600"},{value:"130699",name:"其它区",parent:"130600"},{value:"130702",name:"桥东区",parent:"130700"},{value:"130703",name:"桥西区",parent:"130700"},{value:"130705",name:"宣化区",parent:"130700"},{value:"130706",name:"下花园区",parent:"130700"},{value:"130721",name:"宣化县",parent:"130700"},{value:"130722",name:"张北县",parent:"130700"},{value:"130723",name:"康保县",parent:"130700"},{value:"130724",name:"沽源县",parent:"130700"},{value:"130725",name:"尚义县",parent:"130700"},{value:"130726",name:"蔚县",parent:"130700"},{value:"130727",name:"阳原县",parent:"130700"},{value:"130728",name:"怀安县",parent:"130700"},{value:"130729",name:"万全县",parent:"130700"},{value:"130730",name:"怀来县",parent:"130700"},{value:"130731",name:"涿鹿县",parent:"130700"},{value:"130732",name:"赤城县",parent:"130700"},{value:"130733",name:"崇礼县",parent:"130700"},{value:"130734",name:"其它区",parent:"130700"},{value:"130802",name:"双桥区",parent:"130800"},{value:"130803",name:"双滦区",parent:"130800"},{value:"130804",name:"鹰手营子矿区",parent:"130800"},{value:"130821",name:"承德县",parent:"130800"},{value:"130822",name:"兴隆县",parent:"130800"},{value:"130823",name:"平泉县",parent:"130800"},{value:"130824",name:"滦平县",parent:"130800"},{value:"130825",name:"隆化县",parent:"130800"},{value:"130826",name:"丰宁满族自治县",parent:"130800"},{value:"130827",name:"宽城满族自治县",parent:"130800"},{value:"130828",name:"围场满族蒙古族自治县",parent:"130800"},{value:"130829",name:"其它区",parent:"130800"},{value:"130902",name:"新华区",parent:"130900"},{value:"130903",name:"运河区",parent:"130900"},{value:"130921",name:"沧县",parent:"130900"},{value:"130922",name:"青县",parent:"130900"},{value:"130923",name:"东光县",parent:"130900"},{value:"130924",name:"海兴县",parent:"130900"},{value:"130925",name:"盐山县",parent:"130900"},{value:"130926",name:"肃宁县",parent:"130900"},{value:"130927",name:"南皮县",parent:"130900"},{value:"130928",name:"吴桥县",parent:"130900"},{value:"130929",name:"献县",parent:"130900"},{value:"130930",name:"孟村回族自治县",parent:"130900"},{value:"130981",name:"泊头市",parent:"130900"},{value:"130982",name:"任丘市",parent:"130900"},{value:"130983",name:"黄骅市",parent:"130900"},{value:"130984",name:"河间市",parent:"130900"},{value:"130985",name:"其它区",parent:"130900"},{value:"131002",name:"安次区",parent:"131000"},{value:"131003",name:"广阳区",parent:"131000"},{value:"131022",name:"固安县",parent:"131000"},{value:"131023",name:"永清县",parent:"131000"},{value:"131024",name:"香河县",parent:"131000"},{value:"131025",name:"大城县",parent:"131000"},{value:"131026",name:"文安县",parent:"131000"},{value:"131028",name:"大厂回族自治县",parent:"131000"},{value:"131051",name:"开发区",parent:"131000"},{value:"131052",name:"燕郊经济技术开发区",parent:"131000"},{value:"131081",name:"霸州市",parent:"131000"},{value:"131082",name:"三河市",parent:"131000"},{value:"131083",name:"其它区",parent:"131000"},{value:"131102",name:"桃城区",parent:"131100"},{value:"131121",name:"枣强县",parent:"131100"},{value:"131122",name:"武邑县",parent:"131100"},{value:"131123",name:"武强县",parent:"131100"},{value:"131124",name:"饶阳县",parent:"131100"},{value:"131125",name:"安平县",parent:"131100"},{value:"131126",name:"故城县",parent:"131100"},{value:"131127",name:"景县",parent:"131100"},{value:"131128",name:"阜城县",parent:"131100"},{value:"131181",name:"冀州市",parent:"131100"},{value:"131182",name:"深州市",parent:"131100"},{value:"131183",name:"其它区",parent:"131100"},{value:"140105",name:"小店区",parent:"140100"},{value:"140106",name:"迎泽区",parent:"140100"},{value:"140107",name:"杏花岭区",parent:"140100"},{value:"140108",name:"尖草坪区",parent:"140100"},{value:"140109",name:"万柏林区",parent:"140100"},{value:"140110",name:"晋源区",parent:"140100"},{value:"140121",name:"清徐县",parent:"140100"},{value:"140122",name:"阳曲县",parent:"140100"},{value:"140123",name:"娄烦县",parent:"140100"},{value:"140181",name:"古交市",parent:"140100"},{value:"140182",name:"其它区",parent:"140100"},{value:"140202",name:"城区",parent:"140200"},{value:"140203",name:"矿区",parent:"140200"},{value:"140211",name:"南郊区",parent:"140200"},{value:"140212",name:"新荣区",parent:"140200"},{value:"140221",name:"阳高县",parent:"140200"},{value:"140222",name:"天镇县",parent:"140200"},{value:"140223",name:"广灵县",parent:"140200"},{value:"140224",name:"灵丘县",parent:"140200"},{value:"140225",name:"浑源县",parent:"140200"},{value:"140226",name:"左云县",parent:"140200"},{value:"140227",name:"大同县",parent:"140200"},{value:"140228",name:"其它区",parent:"140200"},{value:"140302",name:"城区",parent:"140300"},{value:"140303",name:"矿区",parent:"140300"},{value:"140311",name:"郊区",parent:"140300"},{value:"140321",name:"平定县",parent:"140300"},{value:"140322",name:"盂县",parent:"140300"},{value:"140323",name:"其它区",parent:"140300"},{value:"140421",name:"长治县",parent:"140400"},{value:"140423",name:"襄垣县",parent:"140400"},{value:"140424",name:"屯留县",parent:"140400"},{value:"140425",name:"平顺县",parent:"140400"},{value:"140426",name:"黎城县",parent:"140400"},{value:"140427",name:"壶关县",parent:"140400"},{value:"140428",name:"长子县",parent:"140400"},{value:"140429",name:"武乡县",parent:"140400"},{value:"140430",name:"沁县",parent:"140400"},{value:"140431",name:"沁源县",parent:"140400"},{value:"140481",name:"潞城市",parent:"140400"},{value:"140482",name:"城区",parent:"140400"},{value:"140483",name:"郊区",parent:"140400"},{value:"140484",name:"高新区",parent:"140400"},{value:"140485",name:"其它区",parent:"140400"},{value:"140502",name:"城区",parent:"140500"},{value:"140521",name:"沁水县",parent:"140500"},{value:"140522",name:"阳城县",parent:"140500"},{value:"140524",name:"陵川县",parent:"140500"},{value:"140525",name:"泽州县",parent:"140500"},{value:"140581",name:"高平市",parent:"140500"},{value:"140582",name:"其它区",parent:"140500"},{value:"140602",name:"朔城区",parent:"140600"},{value:"140603",name:"平鲁区",parent:"140600"},{value:"140621",name:"山阴县",parent:"140600"},{value:"140622",name:"应县",parent:"140600"},{value:"140623",name:"右玉县",parent:"140600"},{value:"140624",name:"怀仁县",parent:"140600"},{value:"140625",name:"其它区",parent:"140600"},{value:"140702",name:"榆次区",parent:"140700"},{value:"140721",name:"榆社县",parent:"140700"},{value:"140722",name:"左权县",parent:"140700"},{value:"140723",name:"和顺县",parent:"140700"},{value:"140724",name:"昔阳县",parent:"140700"},{value:"140725",name:"寿阳县",parent:"140700"},{value:"140726",name:"太谷县",parent:"140700"},{value:"140727",name:"祁县",parent:"140700"},{value:"140728",name:"平遥县",parent:"140700"},{value:"140729",name:"灵石县",parent:"140700"},{value:"140781",name:"介休市",parent:"140700"},{value:"140782",name:"其它区",parent:"140700"},{value:"140802",name:"盐湖区",parent:"140800"},{value:"140821",name:"临猗县",parent:"140800"},{value:"140822",name:"万荣县",parent:"140800"},{value:"140823",name:"闻喜县",parent:"140800"},{value:"140824",name:"稷山县",parent:"140800"},{value:"140825",name:"新绛县",parent:"140800"},{value:"140826",name:"绛县",parent:"140800"},{value:"140827",name:"垣曲县",parent:"140800"},{value:"140828",name:"夏县",parent:"140800"},{value:"140829",name:"平陆县",parent:"140800"},{value:"140830",name:"芮城县",parent:"140800"},{value:"140881",name:"永济市",parent:"140800"},{value:"140882",name:"河津市",parent:"140800"},{value:"140883",name:"其它区",parent:"140800"},{value:"140902",name:"忻府区",parent:"140900"},{value:"140921",name:"定襄县",parent:"140900"},{value:"140922",name:"五台县",parent:"140900"},{value:"140923",name:"代县",parent:"140900"},{value:"140924",name:"繁峙县",parent:"140900"},{value:"140925",name:"宁武县",parent:"140900"},{value:"140926",name:"静乐县",parent:"140900"},{value:"140927",name:"神池县",parent:"140900"},{value:"140928",name:"五寨县",parent:"140900"},{value:"140929",name:"岢岚县",parent:"140900"},{value:"140930",name:"河曲县",parent:"140900"},{value:"140931",name:"保德县",parent:"140900"},{value:"140932",name:"偏关县",parent:"140900"},{value:"140981",name:"原平市",parent:"140900"},{value:"140982",name:"其它区",parent:"140900"},{value:"141002",name:"尧都区",parent:"141000"},{value:"141021",name:"曲沃县",parent:"141000"},{value:"141022",name:"翼城县",parent:"141000"},{value:"141023",name:"襄汾县",parent:"141000"},{value:"141024",name:"洪洞县",parent:"141000"},{value:"141025",name:"古县",parent:"141000"},{value:"141026",name:"安泽县",parent:"141000"},{value:"141027",name:"浮山县",parent:"141000"},{value:"141028",name:"吉县",parent:"141000"},{value:"141029",name:"乡宁县",parent:"141000"},{value:"141030",name:"大宁县",parent:"141000"},{value:"141031",name:"隰县",parent:"141000"},{value:"141032",name:"永和县",parent:"141000"},{value:"141033",name:"蒲县",parent:"141000"},{value:"141034",name:"汾西县",parent:"141000"},{value:"141081",name:"侯马市",parent:"141000"},{value:"141082",name:"霍州市",parent:"141000"},{value:"141083",name:"其它区",parent:"141000"},{value:"141102",name:"离石区",parent:"141100"},{value:"141121",name:"文水县",parent:"141100"},{value:"141122",name:"交城县",parent:"141100"},{value:"141123",name:"兴县",parent:"141100"},{value:"141124",name:"临县",parent:"141100"},{value:"141125",name:"柳林县",parent:"141100"},{value:"141126",name:"石楼县",parent:"141100"},{value:"141127",name:"岚县",parent:"141100"},{value:"141128",name:"方山县",parent:"141100"},{value:"141129",name:"中阳县",parent:"141100"},{value:"141130",name:"交口县",parent:"141100"},{value:"141181",name:"孝义市",parent:"141100"},{value:"141182",name:"汾阳市",parent:"141100"},{value:"141183",name:"其它区",parent:"141100"},{value:"150102",name:"新城区",parent:"150100"},{value:"150103",name:"回民区",parent:"150100"},{value:"150104",name:"玉泉区",parent:"150100"},{value:"150105",name:"赛罕区",parent:"150100"},{value:"150121",name:"土默特左旗",parent:"150100"},{value:"150122",name:"托克托县",parent:"150100"},{value:"150123",name:"和林格尔县",parent:"150100"},{value:"150124",name:"清水河县",parent:"150100"},{value:"150125",name:"武川县",parent:"150100"},{value:"150126",name:"其它区",parent:"150100"},{value:"150202",name:"东河区",parent:"150200"},{value:"150203",name:"昆都仑区",parent:"150200"},{value:"150204",name:"青山区",parent:"150200"},{value:"150205",name:"石拐区",parent:"150200"},{value:"150206",name:"白云鄂博矿区",parent:"150200"},{value:"150207",name:"九原区",parent:"150200"},{value:"150221",name:"土默特右旗",parent:"150200"},{value:"150222",name:"固阳县",parent:"150200"},{value:"150223",name:"达尔罕茂明安联合旗",parent:"150200"},{value:"150224",name:"其它区",parent:"150200"},{value:"150302",name:"海勃湾区",parent:"150300"},{value:"150303",name:"海南区",parent:"150300"},{value:"150304",name:"乌达区",parent:"150300"},{value:"150305",name:"其它区",parent:"150300"},{value:"150402",name:"红山区",parent:"150400"},{value:"150403",name:"元宝山区",parent:"150400"},{value:"150404",name:"松山区",parent:"150400"},{value:"150421",name:"阿鲁科尔沁旗",parent:"150400"},{value:"150422",name:"巴林左旗",parent:"150400"},{value:"150423",name:"巴林右旗",parent:"150400"},{value:"150424",name:"林西县",parent:"150400"},{value:"150425",name:"克什克腾旗",parent:"150400"},{value:"150426",name:"翁牛特旗",parent:"150400"},{value:"150428",name:"喀喇沁旗",parent:"150400"},{value:"150429",name:"宁城县",parent:"150400"},{value:"150430",name:"敖汉旗",parent:"150400"},{value:"150431",name:"其它区",parent:"150400"},{value:"150502",name:"科尔沁区",parent:"150500"},{value:"150521",name:"科尔沁左翼中旗",parent:"150500"},{value:"150522",name:"科尔沁左翼后旗",parent:"150500"},{value:"150523",name:"开鲁县",parent:"150500"},{value:"150524",name:"库伦旗",parent:"150500"},{value:"150525",name:"奈曼旗",parent:"150500"},{value:"150526",name:"扎鲁特旗",parent:"150500"},{value:"150581",name:"霍林郭勒市",parent:"150500"},{value:"150582",name:"其它区",parent:"150500"},{value:"150602",name:"东胜区",parent:"150600"},{value:"150621",name:"达拉特旗",parent:"150600"},{value:"150622",name:"准格尔旗",parent:"150600"},{value:"150623",name:"鄂托克前旗",parent:"150600"},{value:"150624",name:"鄂托克旗",parent:"150600"},{value:"150625",name:"杭锦旗",parent:"150600"},{value:"150626",name:"乌审旗",parent:"150600"},{value:"150627",name:"伊金霍洛旗",parent:"150600"},{value:"150628",name:"其它区",parent:"150600"},{value:"150702",name:"海拉尔区",parent:"150700"},{value:"150703",name:"扎赉诺尔区",parent:"150700"},{value:"150721",name:"阿荣旗",parent:"150700"},{value:"150722",name:"莫力达瓦达斡尔族自治旗",parent:"150700"},{value:"150723",name:"鄂伦春自治旗",parent:"150700"},{value:"150724",name:"鄂温克族自治旗",parent:"150700"},{value:"150725",name:"陈巴尔虎旗",parent:"150700"},{value:"150726",name:"新巴尔虎左旗",parent:"150700"},{value:"150727",name:"新巴尔虎右旗",parent:"150700"},{value:"150781",name:"满洲里市",parent:"150700"},{value:"150782",name:"牙克石市",parent:"150700"},{value:"150783",name:"扎兰屯市",parent:"150700"},{value:"150784",name:"额尔古纳市",parent:"150700"},{value:"150785",name:"根河市",parent:"150700"},{value:"150786",name:"其它区",parent:"150700"},{value:"150802",name:"临河区",parent:"150800"},{value:"150821",name:"五原县",parent:"150800"},{value:"150822",name:"磴口县",parent:"150800"},{value:"150823",name:"乌拉特前旗",parent:"150800"},{value:"150824",name:"乌拉特中旗",parent:"150800"},{value:"150825",name:"乌拉特后旗",parent:"150800"},{value:"150826",name:"杭锦后旗",parent:"150800"},{value:"150827",name:"其它区",parent:"150800"},{value:"150902",name:"集宁区",parent:"150900"},{value:"150921",name:"卓资县",parent:"150900"},{value:"150922",name:"化德县",parent:"150900"},{value:"150923",name:"商都县",parent:"150900"},{value:"150924",name:"兴和县",parent:"150900"},{value:"150925",name:"凉城县",parent:"150900"},{value:"150926",name:"察哈尔右翼前旗",parent:"150900"},{value:"150927",name:"察哈尔右翼中旗",parent:"150900"},{value:"150928",name:"察哈尔右翼后旗",parent:"150900"},{value:"150929",name:"四子王旗",parent:"150900"},{value:"150981",name:"丰镇市",parent:"150900"},{value:"150982",name:"其它区",parent:"150900"},{value:"152201",name:"乌兰浩特市",parent:"152200"},{value:"152202",name:"阿尔山市",parent:"152200"},{value:"152221",name:"科尔沁右翼前旗",parent:"152200"},{value:"152222",name:"科尔沁右翼中旗",parent:"152200"},{value:"152223",name:"扎赉特旗",parent:"152200"},{value:"152224",name:"突泉县",parent:"152200"},{value:"152225",name:"其它区",parent:"152200"},{value:"152501",name:"二连浩特市",parent:"152500"},{value:"152502",name:"锡林浩特市",parent:"152500"},{value:"152522",name:"阿巴嘎旗",parent:"152500"},{value:"152523",name:"苏尼特左旗",parent:"152500"},{value:"152524",name:"苏尼特右旗",parent:"152500"},{value:"152525",name:"东乌珠穆沁旗",parent:"152500"},{value:"152526",name:"西乌珠穆沁旗",parent:"152500"},{value:"152527",name:"太仆寺旗",parent:"152500"},{value:"152528",name:"镶黄旗",parent:"152500"},{value:"152529",name:"正镶白旗",parent:"152500"},{value:"152530",name:"正蓝旗",parent:"152500"},{value:"152531",name:"多伦县",parent:"152500"},{value:"152532",name:"其它区",parent:"152500"},{value:"152921",name:"阿拉善左旗",parent:"152900"},{value:"152922",name:"阿拉善右旗",parent:"152900"},{value:"152923",name:"额济纳旗",parent:"152900"},{value:"152924",name:"其它区",parent:"152900"},{value:"210102",name:"和平区",parent:"210100"},{value:"210103",name:"沈河区",parent:"210100"},{value:"210104",name:"大东区",parent:"210100"},{value:"210105",name:"皇姑区",parent:"210100"},{value:"210106",name:"铁西区",parent:"210100"},{value:"210111",name:"苏家屯区",parent:"210100"},{value:"210112",name:"浑南区",parent:"210100"},{value:"210113",name:"新城子区",parent:"210100"},{value:"210114",name:"于洪区",parent:"210100"},{value:"210122",name:"辽中县",parent:"210100"},{value:"210123",name:"康平县",parent:"210100"},{value:"210124",name:"法库县",parent:"210100"},{value:"210181",name:"新民市",parent:"210100"},{value:"210182",name:"浑南新区",parent:"210100"},{value:"210183",name:"张士开发区",parent:"210100"},{value:"210184",name:"沈北新区",parent:"210100"},{value:"210185",name:"其它区",parent:"210100"},{value:"210202",name:"中山区",parent:"210200"},{value:"210203",name:"西岗区",parent:"210200"},{value:"210204",name:"沙河口区",parent:"210200"},{value:"210211",name:"甘井子区",parent:"210200"},{value:"210212",name:"旅顺口区",parent:"210200"},{value:"210213",name:"金州区",parent:"210200"},{value:"210224",name:"长海县",parent:"210200"},{value:"210251",name:"开发区",parent:"210200"},{value:"210281",name:"瓦房店市",parent:"210200"},{value:"210282",name:"普兰店市",parent:"210200"},{value:"210283",name:"庄河市",parent:"210200"},{value:"210297",name:"岭前区",parent:"210200"},{value:"210298",name:"其它区",parent:"210200"},{value:"210302",name:"铁东区",parent:"210300"},{value:"210303",name:"铁西区",parent:"210300"},{value:"210304",name:"立山区",parent:"210300"},{value:"210311",name:"千山区",parent:"210300"},{value:"210321",name:"台安县",parent:"210300"},{value:"210323",name:"岫岩满族自治县",parent:"210300"},{value:"210351",name:"高新区",parent:"210300"},{value:"210381",name:"海城市",parent:"210300"},{value:"210382",name:"其它区",parent:"210300"},{value:"210402",name:"新抚区",parent:"210400"},{value:"210403",name:"东洲区",parent:"210400"},{value:"210404",name:"望花区",parent:"210400"},{value:"210411",name:"顺城区",parent:"210400"},{value:"210421",name:"抚顺县",parent:"210400"},{value:"210422",name:"新宾满族自治县",parent:"210400"},{value:"210423",name:"清原满族自治县",parent:"210400"},{value:"210424",name:"其它区",parent:"210400"},{value:"210502",name:"平山区",parent:"210500"},{value:"210503",name:"溪湖区",parent:"210500"},{value:"210504",name:"明山区",parent:"210500"},{value:"210505",name:"南芬区",parent:"210500"},{value:"210521",name:"本溪满族自治县",parent:"210500"},{value:"210522",name:"桓仁满族自治县",parent:"210500"},{value:"210523",name:"其它区",parent:"210500"},{value:"210602",name:"元宝区",parent:"210600"},{value:"210603",name:"振兴区",parent:"210600"},{value:"210604",name:"振安区",parent:"210600"},{value:"210624",name:"宽甸满族自治县",parent:"210600"},{value:"210681",name:"东港市",parent:"210600"},{value:"210682",name:"凤城市",parent:"210600"},{value:"210683",name:"其它区",parent:"210600"},{value:"210702",name:"古塔区",parent:"210700"},{value:"210703",name:"凌河区",parent:"210700"},{value:"210711",name:"太和区",parent:"210700"},{value:"210726",name:"黑山县",parent:"210700"},{value:"210727",name:"义县",parent:"210700"},{value:"210781",name:"凌海市",parent:"210700"},{value:"210782",name:"北镇市",parent:"210700"},{value:"210783",name:"其它区",parent:"210700"},{value:"210802",name:"站前区",parent:"210800"},{value:"210803",name:"西市区",parent:"210800"},{value:"210804",name:"鲅鱼圈区",parent:"210800"},{value:"210811",name:"老边区",parent:"210800"},{value:"210881",name:"盖州市",parent:"210800"},{value:"210882",name:"大石桥市",parent:"210800"},{value:"210883",name:"其它区",parent:"210800"},{value:"210902",name:"海州区",parent:"210900"},{value:"210903",name:"新邱区",parent:"210900"},{value:"210904",name:"太平区",parent:"210900"},{value:"210905",name:"清河门区",parent:"210900"},{value:"210911",name:"细河区",parent:"210900"},{value:"210921",name:"阜新蒙古族自治县",parent:"210900"},{value:"210922",name:"彰武县",parent:"210900"},{value:"210923",name:"其它区",parent:"210900"},{value:"211002",name:"白塔区",parent:"211000"},{value:"211003",name:"文圣区",parent:"211000"},{value:"211004",name:"宏伟区",parent:"211000"},{value:"211005",name:"弓长岭区",parent:"211000"},{value:"211011",name:"太子河区",parent:"211000"},{value:"211021",name:"辽阳县",parent:"211000"},{value:"211081",name:"灯塔市",parent:"211000"},{value:"211082",name:"其它区",parent:"211000"},{value:"211102",name:"双台子区",parent:"211100"},{value:"211103",name:"兴隆台区",parent:"211100"},{value:"211121",name:"大洼县",parent:"211100"},{value:"211122",name:"盘山县",parent:"211100"},{value:"211123",name:"其它区",parent:"211100"},{value:"211202",name:"银州区",parent:"211200"},{value:"211204",name:"清河区",parent:"211200"},{value:"211221",name:"铁岭县",parent:"211200"},{value:"211223",name:"西丰县",parent:"211200"},{value:"211224",name:"昌图县",parent:"211200"},{value:"211281",name:"调兵山市",parent:"211200"},{value:"211282",name:"开原市",parent:"211200"},{value:"211283",name:"其它区",parent:"211200"},{value:"211302",name:"双塔区",parent:"211300"},{value:"211303",name:"龙城区",parent:"211300"},{value:"211321",name:"朝阳县",parent:"211300"},{value:"211322",name:"建平县",parent:"211300"},{value:"211324",name:"喀喇沁左翼蒙古族自治县",parent:"211300"},{value:"211381",name:"北票市",parent:"211300"},{value:"211382",name:"凌源市",parent:"211300"},{value:"211383",name:"其它区",parent:"211300"},{value:"211402",name:"连山区",parent:"211400"},{value:"211403",name:"龙港区",parent:"211400"},{value:"211404",name:"南票区",parent:"211400"},{value:"211421",name:"绥中县",parent:"211400"},{value:"211422",name:"建昌县",parent:"211400"},{value:"211481",name:"兴城市",parent:"211400"},{value:"211482",name:"其它区",parent:"211400"},{value:"220102",name:"南关区",parent:"220100"},{value:"220103",name:"宽城区",parent:"220100"},{value:"220104",name:"朝阳区",parent:"220100"},{value:"220105",name:"二道区",parent:"220100"},{value:"220106",name:"绿园区",parent:"220100"},{value:"220112",name:"双阳区",parent:"220100"},{value:"220122",name:"农安县",parent:"220100"},{value:"220181",name:"九台区",parent:"220100"},{value:"220182",name:"榆树市",parent:"220100"},{value:"220183",name:"德惠市",parent:"220100"},{value:"220184",name:"高新技术产业开发区",parent:"220100"},{value:"220185",name:"汽车产业开发区",parent:"220100"},{value:"220186",name:"经济技术开发区",parent:"220100"},{value:"220187",name:"净月旅游开发区",parent:"220100"},{value:"220188",name:"其它区",parent:"220100"},{value:"220202",name:"昌邑区",parent:"220200"},{value:"220203",name:"龙潭区",parent:"220200"},{value:"220204",name:"船营区",parent:"220200"},{value:"220211",name:"丰满区",parent:"220200"},{value:"220221",name:"永吉县",parent:"220200"},{value:"220281",name:"蛟河市",parent:"220200"},{value:"220282",name:"桦甸市",parent:"220200"},{value:"220283",name:"舒兰市",parent:"220200"},{value:"220284",name:"磐石市",parent:"220200"},{value:"220285",name:"其它区",parent:"220200"},{value:"220302",name:"铁西区",parent:"220300"},{value:"220303",name:"铁东区",parent:"220300"},{value:"220322",name:"梨树县",parent:"220300"},{value:"220323",name:"伊通满族自治县",parent:"220300"},{value:"220381",name:"公主岭市",parent:"220300"},{value:"220382",name:"双辽市",parent:"220300"},{value:"220383",name:"其它区",parent:"220300"},{value:"220402",name:"龙山区",parent:"220400"},{value:"220403",name:"西安区",parent:"220400"},{value:"220421",name:"东丰县",parent:"220400"},{value:"220422",name:"东辽县",parent:"220400"},{value:"220423",name:"其它区",parent:"220400"},{value:"220502",name:"东昌区",parent:"220500"},{value:"220503",name:"二道江区",parent:"220500"},{value:"220521",name:"通化县",parent:"220500"},{value:"220523",name:"辉南县",parent:"220500"},{value:"220524",name:"柳河县",parent:"220500"},{value:"220581",name:"梅河口市",parent:"220500"},{value:"220582",name:"集安市",parent:"220500"},{value:"220583",name:"其它区",parent:"220500"},{value:"220602",name:"浑江区",parent:"220600"},{value:"220621",name:"抚松县",parent:"220600"},{value:"220622",name:"靖宇县",parent:"220600"},{value:"220623",name:"长白朝鲜族自治县",parent:"220600"},{value:"220625",name:"江源区",parent:"220600"},{value:"220681",name:"临江市",parent:"220600"},{value:"220682",name:"其它区",parent:"220600"},{value:"220702",name:"宁江区",parent:"220700"},{value:"220721",name:"前郭尔罗斯蒙古族自治县",parent:"220700"},{value:"220722",name:"长岭县",parent:"220700"},{value:"220723",name:"乾安县",parent:"220700"},{value:"220724",name:"扶余市",parent:"220700"},{value:"220725",name:"其它区",parent:"220700"},{value:"220802",name:"洮北区",parent:"220800"},{value:"220821",name:"镇赉县",parent:"220800"},{value:"220822",name:"通榆县",parent:"220800"},{value:"220881",name:"洮南市",parent:"220800"},{value:"220882",name:"大安市",parent:"220800"},{value:"220883",name:"其它区",parent:"220800"},{value:"222401",name:"延吉市",parent:"222400"},{value:"222402",name:"图们市",parent:"222400"},{value:"222403",name:"敦化市",parent:"222400"},{value:"222404",name:"珲春市",parent:"222400"},{value:"222405",name:"龙井市",parent:"222400"},{value:"222406",name:"和龙市",parent:"222400"},{value:"222424",name:"汪清县",parent:"222400"},{value:"222426",name:"安图县",parent:"222400"},{value:"222427",name:"其它区",parent:"222400"},{value:"230102",name:"道里区",parent:"230100"},{value:"230103",name:"南岗区",parent:"230100"},{value:"230104",name:"道外区",parent:"230100"},{value:"230106",name:"香坊区",parent:"230100"},{value:"230107",name:"动力区",parent:"230100"},{value:"230108",name:"平房区",parent:"230100"},{value:"230109",name:"松北区",parent:"230100"},{value:"230111",name:"呼兰区",parent:"230100"},{value:"230123",name:"依兰县",parent:"230100"},{value:"230124",name:"方正县",parent:"230100"},{value:"230125",name:"宾县",parent:"230100"},{value:"230126",name:"巴彦县",parent:"230100"},{value:"230127",name:"木兰县",parent:"230100"},{value:"230128",name:"通河县",parent:"230100"},{value:"230129",name:"延寿县",parent:"230100"},{value:"230181",name:"阿城区",parent:"230100"},{value:"230182",name:"双城区",parent:"230100"},{value:"230183",name:"尚志市",parent:"230100"},{value:"230184",name:"五常市",parent:"230100"},{value:"230185",name:"阿城市",parent:"230100"},{value:"230186",name:"其它区",parent:"230100"},{value:"230202",name:"龙沙区",parent:"230200"},{value:"230203",name:"建华区",parent:"230200"},{value:"230204",name:"铁锋区",parent:"230200"},{value:"230205",name:"昂昂溪区",parent:"230200"},{value:"230206",name:"富拉尔基区",parent:"230200"},{value:"230207",name:"碾子山区",parent:"230200"},{value:"230208",name:"梅里斯达斡尔族区",parent:"230200"},{value:"230221",name:"龙江县",parent:"230200"},{value:"230223",name:"依安县",parent:"230200"},{value:"230224",name:"泰来县",parent:"230200"},{value:"230225",name:"甘南县",parent:"230200"},{value:"230227",name:"富裕县",parent:"230200"},{value:"230229",name:"克山县",parent:"230200"},{value:"230230",name:"克东县",parent:"230200"},{value:"230231",name:"拜泉县",parent:"230200"},{value:"230281",name:"讷河市",parent:"230200"},{value:"230282",name:"其它区",parent:"230200"},{value:"230302",name:"鸡冠区",parent:"230300"},{value:"230303",name:"恒山区",parent:"230300"},{value:"230304",name:"滴道区",parent:"230300"},{value:"230305",name:"梨树区",parent:"230300"},{value:"230306",name:"城子河区",parent:"230300"},{value:"230307",name:"麻山区",parent:"230300"},{value:"230321",name:"鸡东县",parent:"230300"},{value:"230381",name:"虎林市",parent:"230300"},{value:"230382",name:"密山市",parent:"230300"},{value:"230383",name:"其它区",parent:"230300"},{value:"230402",name:"向阳区",parent:"230400"},{value:"230403",name:"工农区",parent:"230400"},{value:"230404",name:"南山区",parent:"230400"},{value:"230405",name:"兴安区",parent:"230400"},{value:"230406",name:"东山区",parent:"230400"},{value:"230407",name:"兴山区",parent:"230400"},{value:"230421",name:"萝北县",parent:"230400"},{value:"230422",name:"绥滨县",parent:"230400"},{value:"230423",name:"其它区",parent:"230400"},{value:"230502",name:"尖山区",parent:"230500"},{value:"230503",name:"岭东区",parent:"230500"},{value:"230505",name:"四方台区",parent:"230500"},{value:"230506",name:"宝山区",parent:"230500"},{value:"230521",name:"集贤县",parent:"230500"},{value:"230522",name:"友谊县",parent:"230500"},{value:"230523",name:"宝清县",parent:"230500"},{value:"230524",name:"饶河县",parent:"230500"},{value:"230525",name:"其它区",parent:"230500"},{value:"230602",name:"萨尔图区",parent:"230600"},{value:"230603",name:"龙凤区",parent:"230600"},{value:"230604",name:"让胡路区",parent:"230600"},{value:"230605",name:"红岗区",parent:"230600"},{value:"230606",name:"大同区",parent:"230600"},{value:"230621",name:"肇州县",parent:"230600"},{value:"230622",name:"肇源县",parent:"230600"},{value:"230623",name:"林甸县",parent:"230600"},{value:"230624",name:"杜尔伯特蒙古族自治县",parent:"230600"},{value:"230625",name:"其它区",parent:"230600"},{value:"230702",name:"伊春区",parent:"230700"},{value:"230703",name:"南岔区",parent:"230700"},{value:"230704",name:"友好区",parent:"230700"},{value:"230705",name:"西林区",parent:"230700"},{value:"230706",name:"翠峦区",parent:"230700"},{value:"230707",name:"新青区",parent:"230700"},{value:"230708",name:"美溪区",parent:"230700"},{value:"230709",name:"金山屯区",parent:"230700"},{value:"230710",name:"五营区",parent:"230700"},{value:"230711",name:"乌马河区",parent:"230700"},{value:"230712",name:"汤旺河区",parent:"230700"},{value:"230713",name:"带岭区",parent:"230700"},{value:"230714",name:"乌伊岭区",parent:"230700"},{value:"230715",name:"红星区",parent:"230700"},{value:"230716",name:"上甘岭区",parent:"230700"},{value:"230722",name:"嘉荫县",parent:"230700"},{value:"230781",name:"铁力市",parent:"230700"},{value:"230782",name:"其它区",parent:"230700"},{value:"230802",name:"永红区",parent:"230800"},{value:"230803",name:"向阳区",parent:"230800"},{value:"230804",name:"前进区",parent:"230800"},{value:"230805",name:"东风区",parent:"230800"},{value:"230811",name:"郊区",parent:"230800"},{value:"230822",name:"桦南县",parent:"230800"},{value:"230826",name:"桦川县",parent:"230800"},{value:"230828",name:"汤原县",parent:"230800"},{value:"230833",name:"抚远县",parent:"230800"},{value:"230881",name:"同江市",parent:"230800"},{value:"230882",name:"富锦市",parent:"230800"},{value:"230883",name:"其它区",parent:"230800"},{value:"230902",name:"新兴区",parent:"230900"},{value:"230903",name:"桃山区",parent:"230900"},{value:"230904",name:"茄子河区",parent:"230900"},{value:"230921",name:"勃利县",parent:"230900"},{value:"230922",name:"其它区",parent:"230900"},{value:"231002",name:"东安区",parent:"231000"},{value:"231003",name:"阳明区",parent:"231000"},{value:"231004",name:"爱民区",parent:"231000"},{value:"231005",name:"西安区",parent:"231000"},{value:"231024",name:"东宁县",parent:"231000"},{value:"231025",name:"林口县",parent:"231000"},{value:"231081",name:"绥芬河市",parent:"231000"},{value:"231083",name:"海林市",parent:"231000"},{value:"231084",name:"宁安市",parent:"231000"},{value:"231085",name:"穆棱市",parent:"231000"},{value:"231086",name:"其它区",parent:"231000"},{value:"231102",name:"爱辉区",parent:"231100"},{value:"231121",name:"嫩江县",parent:"231100"},{value:"231123",name:"逊克县",parent:"231100"},{value:"231124",name:"孙吴县",parent:"231100"},{value:"231181",name:"北安市",parent:"231100"},{value:"231182",name:"五大连池市",parent:"231100"},{value:"231183",name:"其它区",parent:"231100"},{value:"231202",name:"北林区",parent:"231200"},{value:"231221",name:"望奎县",parent:"231200"},{value:"231222",name:"兰西县",parent:"231200"},{value:"231223",name:"青冈县",parent:"231200"},{value:"231224",name:"庆安县",parent:"231200"},{value:"231225",name:"明水县",parent:"231200"},{value:"231226",name:"绥棱县",parent:"231200"},{value:"231281",name:"安达市",parent:"231200"},{value:"231282",name:"肇东市",parent:"231200"},{value:"231283",name:"海伦市",parent:"231200"},{value:"231284",name:"其它区",parent:"231200"},{value:"232702",name:"松岭区",parent:"232700"},{value:"232703",name:"新林区",parent:"232700"},{value:"232704",name:"呼中区",parent:"232700"},{value:"232721",name:"呼玛县",parent:"232700"},{value:"232722",name:"塔河县",parent:"232700"},{value:"232723",name:"漠河县",parent:"232700"},{value:"232724",name:"加格达奇区",parent:"232700"},{value:"232725",name:"其它区",parent:"232700"},{value:"310101",name:"黄浦区",parent:"310100"},{value:"310103",name:"卢湾区",parent:"310100"},{value:"310104",name:"徐汇区",parent:"310100"},{value:"310105",name:"长宁区",parent:"310100"},{value:"310106",name:"静安区",parent:"310100"},{value:"310107",name:"普陀区",parent:"310100"},{value:"310108",name:"闸北区",parent:"310100"},{value:"310109",name:"虹口区",parent:"310100"},{value:"310110",name:"杨浦区",parent:"310100"},{value:"310112",name:"闵行区",parent:"310100"},{value:"310113",name:"宝山区",parent:"310100"},{value:"310114",name:"嘉定区",parent:"310100"},{value:"310115",name:"浦东新区",parent:"310100"},{value:"310116",name:"金山区",parent:"310100"},{value:"310117",name:"松江区",parent:"310100"},{value:"310118",name:"青浦区",parent:"310100"},{value:"310119",name:"南汇区",parent:"310100"},{value:"310120",name:"奉贤区",parent:"310100"},{value:"310152",name:"川沙区",parent:"310100"},{value:"310230",name:"崇明县",parent:"310100"},{value:"310231",name:"其它区",parent:"310100"},{value:"320102",name:"玄武区",parent:"320100"},{value:"320103",name:"白下区",parent:"320100"},{value:"320104",name:"秦淮区",parent:"320100"},{value:"320105",name:"建邺区",parent:"320100"},{value:"320106",name:"鼓楼区",parent:"320100"},{value:"320107",name:"下关区",parent:"320100"},{value:"320111",name:"浦口区",parent:"320100"},{value:"320113",name:"栖霞区",parent:"320100"},{value:"320114",name:"雨花台区",parent:"320100"},{value:"320115",name:"江宁区",parent:"320100"},{value:"320116",name:"六合区",parent:"320100"},{value:"320124",name:"溧水区",parent:"320100"},{value:"320125",name:"高淳区",parent:"320100"},{value:"320126",name:"其它区",parent:"320100"},{value:"320202",name:"崇安区",parent:"320200"},{value:"320203",name:"南长区",parent:"320200"},{value:"320204",name:"北塘区",parent:"320200"},{value:"320205",name:"锡山区",parent:"320200"},{value:"320206",name:"惠山区",parent:"320200"},{value:"320211",name:"滨湖区",parent:"320200"},{value:"320213",name:"梁溪区",parent:"320200"},{value:"320214",name:"新吴区",parent:"320200"},{value:"320281",name:"江阴市",parent:"320200"},{value:"320282",name:"宜兴市",parent:"320200"},{value:"320296",name:"新区",parent:"320200"},{value:"320297",name:"其它区",parent:"320200"},{value:"320302",name:"鼓楼区",parent:"320300"},{value:"320303",name:"云龙区",parent:"320300"},{value:"320304",name:"九里区",parent:"320300"},{value:"320305",name:"贾汪区",parent:"320300"},{value:"320311",name:"泉山区",parent:"320300"},{value:"320321",name:"丰县",parent:"320300"},{value:"320322",name:"沛县",parent:"320300"},{value:"320323",name:"铜山区",parent:"320300"},{value:"320324",name:"睢宁县",parent:"320300"},{value:"320381",name:"新沂市",parent:"320300"},{value:"320382",name:"邳州市",parent:"320300"},{value:"320383",name:"其它区",parent:"320300"},{value:"320402",name:"天宁区",parent:"320400"},{value:"320404",name:"钟楼区",parent:"320400"},{value:"320405",name:"戚墅堰区",parent:"320400"},{value:"320411",name:"新北区",parent:"320400"},{value:"320412",name:"武进区",parent:"320400"},{value:"320481",name:"溧阳市",parent:"320400"},{value:"320482",name:"金坛市",parent:"320400"},{value:"320483",name:"其它区",parent:"320400"},{value:"320502",name:"沧浪区",parent:"320500"},{value:"320503",name:"平江区",parent:"320500"},{value:"320504",name:"金阊区",parent:"320500"},{value:"320505",name:"虎丘区",parent:"320500"},{value:"320506",name:"吴中区",parent:"320500"},{value:"320507",name:"相城区",parent:"320500"},{value:"320508",name:"姑苏区",parent:"320500"},{value:"320581",name:"常熟市",parent:"320500"},{value:"320582",name:"张家港市",parent:"320500"},{value:"320583",name:"昆山市",parent:"320500"},{value:"320584",name:"吴江区",parent:"320500"},{value:"320585",name:"太仓市",parent:"320500"},{value:"320594",name:"新区",parent:"320500"},{value:"320595",name:"园区",parent:"320500"},{value:"320596",name:"其它区",parent:"320500"},{value:"320602",name:"崇川区",parent:"320600"},{value:"320611",name:"港闸区",parent:"320600"},{value:"320612",name:"通州区",parent:"320600"},{value:"320621",name:"海安县",parent:"320600"},{value:"320623",name:"如东县",parent:"320600"},{value:"320681",name:"启东市",parent:"320600"},{value:"320682",name:"如皋市",parent:"320600"},{value:"320683",name:"通州市",parent:"320600"},{value:"320684",name:"海门市",parent:"320600"},{value:"320693",name:"开发区",parent:"320600"},{value:"320694",name:"其它区",parent:"320600"},{value:"320703",name:"连云区",parent:"320700"},{value:"320705",name:"新浦区",parent:"320700"},{value:"320706",name:"海州区",parent:"320700"},{value:"320721",name:"赣榆区",parent:"320700"},{value:"320722",name:"东海县",parent:"320700"},{value:"320723",name:"灌云县",parent:"320700"},{value:"320724",name:"灌南县",parent:"320700"},{value:"320725",name:"其它区",parent:"320700"},{value:"320802",name:"清河区",parent:"320800"},{value:"320803",name:"淮安区",parent:"320800"},{value:"320804",name:"淮阴区",parent:"320800"},{value:"320811",name:"清浦区",parent:"320800"},{value:"320826",name:"涟水县",parent:"320800"},{value:"320829",name:"洪泽县",parent:"320800"},{value:"320830",name:"盱眙县",parent:"320800"},{value:"320831",name:"金湖县",parent:"320800"},{value:"320832",name:"其它区",parent:"320800"},{value:"320902",name:"亭湖区",parent:"320900"},{value:"320903",name:"盐都区",parent:"320900"},{value:"320921",name:"响水县",parent:"320900"},{value:"320922",name:"滨海县",parent:"320900"},{value:"320923",name:"阜宁县",parent:"320900"},{value:"320924",name:"射阳县",parent:"320900"},{value:"320925",name:"建湖县",parent:"320900"},{value:"320981",name:"东台市",parent:"320900"},{value:"320982",name:"大丰市",parent:"320900"},{value:"320983",name:"其它区",parent:"320900"},{value:"321002",name:"广陵区",parent:"321000"},{value:"321003",name:"邗江区",parent:"321000"},{value:"321011",name:"维扬区",parent:"321000"},{value:"321023",name:"宝应县",parent:"321000"},{value:"321081",name:"仪征市",parent:"321000"},{value:"321084",name:"高邮市",parent:"321000"},{value:"321088",name:"江都区",parent:"321000"},{value:"321092",name:"经济开发区",parent:"321000"},{value:"321093",name:"其它区",parent:"321000"},{value:"321102",name:"京口区",parent:"321100"},{value:"321111",name:"润州区",parent:"321100"},{value:"321112",name:"丹徒区",parent:"321100"},{value:"321181",name:"丹阳市",parent:"321100"},{value:"321182",name:"扬中市",parent:"321100"},{value:"321183",name:"句容市",parent:"321100"},{value:"321184",name:"其它区",parent:"321100"},{value:"321202",name:"海陵区",parent:"321200"},{value:"321203",name:"高港区",parent:"321200"},{value:"321281",name:"兴化市",parent:"321200"},{value:"321282",name:"靖江市",parent:"321200"},{value:"321283",name:"泰兴市",parent:"321200"},{value:"321284",name:"姜堰区",parent:"321200"},{value:"321285",name:"其它区",parent:"321200"},{value:"321302",name:"宿城区",parent:"321300"},{value:"321311",name:"宿豫区",parent:"321300"},{value:"321322",name:"沭阳县",parent:"321300"},{value:"321323",name:"泗阳县",parent:"321300"},{value:"321324",name:"泗洪县",parent:"321300"},{value:"321325",name:"其它区",parent:"321300"},{value:"330102",name:"上城区",parent:"330100"},{value:"330103",name:"下城区",parent:"330100"},{value:"330104",name:"江干区",parent:"330100"},{value:"330105",name:"拱墅区",parent:"330100"},{value:"330106",name:"西湖区",parent:"330100"},{value:"330108",name:"滨江区",parent:"330100"},{value:"330109",name:"萧山区",parent:"330100"},{value:"330110",name:"余杭区",parent:"330100"},{value:"330122",name:"桐庐县",parent:"330100"},{value:"330127",name:"淳安县",parent:"330100"},{value:"330182",name:"建德市",parent:"330100"},{value:"330183",name:"富阳区",parent:"330100"},{value:"330185",name:"临安市",parent:"330100"},{value:"330186",name:"其它区",parent:"330100"},{value:"330203",name:"海曙区",parent:"330200"},{value:"330204",name:"江东区",parent:"330200"},{value:"330205",name:"江北区",parent:"330200"},{value:"330206",name:"北仑区",parent:"330200"},{value:"330211",name:"镇海区",parent:"330200"},{value:"330212",name:"鄞州区",parent:"330200"},{value:"330225",name:"象山县",parent:"330200"},{value:"330226",name:"宁海县",parent:"330200"},{value:"330281",name:"余姚市",parent:"330200"},{value:"330282",name:"慈溪市",parent:"330200"},{value:"330283",name:"奉化市",parent:"330200"},{value:"330284",name:"其它区",parent:"330200"},{value:"330302",name:"鹿城区",parent:"330300"},{value:"330303",name:"龙湾区",parent:"330300"},{value:"330304",name:"瓯海区",parent:"330300"},{value:"330322",name:"洞头县",parent:"330300"},{value:"330324",name:"永嘉县",parent:"330300"},{value:"330326",name:"平阳县",parent:"330300"},{value:"330327",name:"苍南县",parent:"330300"},{value:"330328",name:"文成县",parent:"330300"},{value:"330329",name:"泰顺县",parent:"330300"},{value:"330381",name:"瑞安市",parent:"330300"},{value:"330382",name:"乐清市",parent:"330300"},{value:"330383",name:"其它区",parent:"330300"},{value:"330402",name:"南湖区",parent:"330400"},{value:"330411",name:"秀洲区",parent:"330400"},{value:"330421",name:"嘉善县",parent:"330400"},{value:"330424",name:"海盐县",parent:"330400"},{value:"330481",name:"海宁市",parent:"330400"},{value:"330482",name:"平湖市",parent:"330400"},{value:"330483",name:"桐乡市",parent:"330400"},{value:"330484",name:"其它区",parent:"330400"},{value:"330502",name:"吴兴区",parent:"330500"},{value:"330503",name:"南浔区",parent:"330500"},{value:"330521",name:"德清县",parent:"330500"},{value:"330522",name:"长兴县",parent:"330500"},{value:"330523",name:"安吉县",parent:"330500"},{value:"330524",name:"其它区",parent:"330500"},{value:"330602",name:"越城区",parent:"330600"},{value:"330621",name:"柯桥区",parent:"330600"},{value:"330624",name:"新昌县",parent:"330600"},{value:"330681",name:"诸暨市",parent:"330600"},{value:"330682",name:"上虞区",parent:"330600"},{value:"330683",name:"嵊州市",parent:"330600"},{value:"330684",name:"其它区",parent:"330600"},{value:"330702",name:"婺城区",parent:"330700"},{value:"330703",name:"金东区",parent:"330700"},{value:"330723",name:"武义县",parent:"330700"},{value:"330726",name:"浦江县",parent:"330700"},{value:"330727",name:"磐安县",parent:"330700"},{value:"330781",name:"兰溪市",parent:"330700"},{value:"330782",name:"义乌市",parent:"330700"},{value:"330783",name:"东阳市",parent:"330700"},{value:"330784",name:"永康市",parent:"330700"},{value:"330785",name:"其它区",parent:"330700"},{value:"330802",name:"柯城区",parent:"330800"},{value:"330803",name:"衢江区",parent:"330800"},{value:"330822",name:"常山县",parent:"330800"},{value:"330824",name:"开化县",parent:"330800"},{value:"330825",name:"龙游县",parent:"330800"},{value:"330881",name:"江山市",parent:"330800"},{value:"330882",name:"其它区",parent:"330800"},{value:"330902",name:"定海区",parent:"330900"},{value:"330903",name:"普陀区",parent:"330900"},{value:"330921",name:"岱山县",parent:"330900"},{value:"330922",name:"嵊泗县",parent:"330900"},{value:"330923",name:"其它区",parent:"330900"},{value:"331002",name:"椒江区",parent:"331000"},{value:"331003",name:"黄岩区",parent:"331000"},{value:"331004",name:"路桥区",parent:"331000"},{value:"331021",name:"玉环县",parent:"331000"},{value:"331022",name:"三门县",parent:"331000"},{value:"331023",name:"天台县",parent:"331000"},{value:"331024",name:"仙居县",parent:"331000"},{value:"331081",name:"温岭市",parent:"331000"},{value:"331082",name:"临海市",parent:"331000"},{value:"331083",name:"其它区",parent:"331000"},{value:"331102",name:"莲都区",parent:"331100"},{value:"331121",name:"青田县",parent:"331100"},{value:"331122",name:"缙云县",parent:"331100"},{value:"331123",name:"遂昌县",parent:"331100"},{value:"331124",name:"松阳县",parent:"331100"},{value:"331125",name:"云和县",parent:"331100"},{value:"331126",name:"庆元县",parent:"331100"},{value:"331127",name:"景宁畲族自治县",parent:"331100"},{value:"331181",name:"龙泉市",parent:"331100"},{value:"331182",name:"其它区",parent:"331100"},{value:"340102",name:"瑶海区",parent:"340100"},{value:"340103",name:"庐阳区",parent:"340100"},{value:"340104",name:"蜀山区",parent:"340100"},{value:"340111",name:"包河区",parent:"340100"},{value:"340121",name:"长丰县",parent:"340100"},{value:"340122",name:"肥东县",parent:"340100"},{value:"340123",name:"肥西县",parent:"340100"},{value:"340151",name:"高新区",parent:"340100"},{value:"340191",name:"中区",parent:"340100"},{value:"340192",name:"其它区",parent:"340100"},{value:"340202",name:"镜湖区",parent:"340200"},{value:"340203",name:"弋江区",parent:"340200"},{value:"340207",name:"鸠江区",parent:"340200"},{value:"340208",name:"三山区",parent:"340200"},{value:"340221",name:"芜湖县",parent:"340200"},{value:"340222",name:"繁昌县",parent:"340200"},{value:"340223",name:"南陵县",parent:"340200"},{value:"340224",name:"其它区",parent:"340200"},{value:"340302",name:"龙子湖区",parent:"340300"},{value:"340303",name:"蚌山区",parent:"340300"},{value:"340304",name:"禹会区",parent:"340300"},{value:"340311",name:"淮上区",parent:"340300"},{value:"340321",name:"怀远县",parent:"340300"},{value:"340322",name:"五河县",parent:"340300"},{value:"340323",name:"固镇县",parent:"340300"},{value:"340324",name:"其它区",parent:"340300"},{value:"340402",name:"大通区",parent:"340400"},{value:"340403",name:"田家庵区",parent:"340400"},{value:"340404",name:"谢家集区",parent:"340400"},{value:"340405",name:"八公山区",parent:"340400"},{value:"340406",name:"潘集区",parent:"340400"},{value:"340421",name:"凤台县",parent:"340400"},{value:"340422",name:"其它区",parent:"340400"},{value:"340499",name:"寿县",parent:"340400"},{value:"340502",name:"金家庄区",parent:"340500"},{value:"340503",name:"花山区",parent:"340500"},{value:"340504",name:"雨山区",parent:"340500"},{value:"340506",name:"博望区",parent:"340500"},{value:"340521",name:"当涂县",parent:"340500"},{value:"340522",name:"其它区",parent:"340500"},{value:"340602",name:"杜集区",parent:"340600"},{value:"340603",name:"相山区",parent:"340600"},{value:"340604",name:"烈山区",parent:"340600"},{value:"340621",name:"濉溪县",parent:"340600"},{value:"340622",name:"其它区",parent:"340600"},{value:"340702",name:"铜官山区",parent:"340700"},{value:"340703",name:"狮子山区",parent:"340700"},{value:"340705",name:"铜官区",parent:"340700"},{value:"340711",name:"郊区",parent:"340700"},{value:"340721",name:"铜陵县",parent:"340700"},{value:"340722",name:"其它区",parent:"340700"},{value:"340799",name:"枞阳县",parent:"340700"},{value:"340802",name:"迎江区",parent:"340800"},{value:"340803",name:"大观区",parent:"340800"},{value:"340811",name:"宜秀区",parent:"340800"},{value:"340822",name:"怀宁县",parent:"340800"},{value:"340823",name:"枞阳县",parent:"340800"},{value:"340824",name:"潜山县",parent:"340800"},{value:"340825",name:"太湖县",parent:"340800"},{value:"340826",name:"宿松县",parent:"340800"},{value:"340827",name:"望江县",parent:"340800"},{value:"340828",name:"岳西县",parent:"340800"},{value:"340881",name:"桐城市",parent:"340800"},{value:"340882",name:"其它区",parent:"340800"},{value:"341002",name:"屯溪区",parent:"341000"},{value:"341003",name:"黄山区",parent:"341000"},{value:"341004",name:"徽州区",parent:"341000"},{value:"341021",name:"歙县",parent:"341000"},{value:"341022",name:"休宁县",parent:"341000"},{value:"341023",name:"黟县",parent:"341000"},{value:"341024",name:"祁门县",parent:"341000"},{value:"341025",name:"其它区",parent:"341000"},{value:"341102",name:"琅琊区",parent:"341100"},{value:"341103",name:"南谯区",parent:"341100"},{value:"341122",name:"来安县",parent:"341100"},{value:"341124",name:"全椒县",parent:"341100"},{value:"341125",name:"定远县",parent:"341100"},{value:"341126",name:"凤阳县",parent:"341100"},{value:"341181",name:"天长市",parent:"341100"},{value:"341182",name:"明光市",parent:"341100"},{value:"341183",name:"其它区",parent:"341100"},{value:"341202",name:"颍州区",parent:"341200"},{value:"341203",name:"颍东区",parent:"341200"},{value:"341204",name:"颍泉区",parent:"341200"},{value:"341221",name:"临泉县",parent:"341200"},{value:"341222",name:"太和县",parent:"341200"},{value:"341225",name:"阜南县",parent:"341200"},{value:"341226",name:"颍上县",parent:"341200"},{value:"341282",name:"界首市",parent:"341200"},{value:"341283",name:"其它区",parent:"341200"},{value:"341302",name:"埇桥区",parent:"341300"},{value:"341321",name:"砀山县",parent:"341300"},{value:"341322",name:"萧县",parent:"341300"},{value:"341323",name:"灵璧县",parent:"341300"},{value:"341324",name:"泗县",parent:"341300"},{value:"341325",name:"其它区",parent:"341300"},{value:"341400",name:"巢湖市",parent:"340100"},{value:"341402",name:"居巢区",parent:"340100"},{value:"341421",name:"庐江县",parent:"340100"},{value:"341422",name:"无为县",parent:"340200"},{value:"341423",name:"含山县",parent:"340500"},{value:"341424",name:"和县",parent:"340500"},{value:"341502",name:"金安区",parent:"341500"},{value:"341503",name:"裕安区",parent:"341500"},{value:"341504",name:"叶集区",parent:"341500"},{value:"341521",name:"寿县",parent:"341500"},{value:"341522",name:"霍邱县",parent:"341500"},{value:"341523",name:"舒城县",parent:"341500"},{value:"341524",name:"金寨县",parent:"341500"},{value:"341525",name:"霍山县",parent:"341500"},{value:"341526",name:"其它区",parent:"341500"},{value:"341602",name:"谯城区",parent:"341600"},{value:"341621",name:"涡阳县",parent:"341600"},{value:"341622",name:"蒙城县",parent:"341600"},{value:"341623",name:"利辛县",parent:"341600"},{value:"341624",name:"其它区",parent:"341600"},{value:"341702",name:"贵池区",parent:"341700"},{value:"341721",name:"东至县",parent:"341700"},{value:"341722",name:"石台县",parent:"341700"},{value:"341723",name:"青阳县",parent:"341700"},{value:"341724",name:"其它区",parent:"341700"},{value:"341802",name:"宣州区",parent:"341800"},{value:"341821",name:"郎溪县",parent:"341800"},{value:"341822",name:"广德县",parent:"341800"},{value:"341823",name:"泾县",parent:"341800"},{value:"341824",name:"绩溪县",parent:"341800"},{value:"341825",name:"旌德县",parent:"341800"},{value:"341881",name:"宁国市",parent:"341800"},{value:"341882",name:"其它区",parent:"341800"},{value:"350102",name:"鼓楼区",parent:"350100"},{value:"350103",name:"台江区",parent:"350100"},{value:"350104",name:"仓山区",parent:"350100"},{value:"350105",name:"马尾区",parent:"350100"},{value:"350111",name:"晋安区",parent:"350100"},{value:"350121",name:"闽侯县",parent:"350100"},{value:"350122",name:"连江县",parent:"350100"},{value:"350123",name:"罗源县",parent:"350100"},{value:"350124",name:"闽清县",parent:"350100"},{value:"350125",name:"永泰县",parent:"350100"},{value:"350128",name:"平潭县",parent:"350100"},{value:"350181",name:"福清市",parent:"350100"},{value:"350182",name:"长乐市",parent:"350100"},{value:"350183",name:"其它区",parent:"350100"},{value:"350203",name:"思明区",parent:"350200"},{value:"350205",name:"海沧区",parent:"350200"},{value:"350206",name:"湖里区",parent:"350200"},{value:"350211",name:"集美区",parent:"350200"},{value:"350212",name:"同安区",parent:"350200"},{value:"350213",name:"翔安区",parent:"350200"},{value:"350214",name:"其它区",parent:"350200"},{value:"350302",name:"城厢区",parent:"350300"},{value:"350303",name:"涵江区",parent:"350300"},{value:"350304",name:"荔城区",parent:"350300"},{value:"350305",name:"秀屿区",parent:"350300"},{value:"350322",name:"仙游县",parent:"350300"},{value:"350323",name:"其它区",parent:"350300"},{value:"350402",name:"梅列区",parent:"350400"},{value:"350403",name:"三元区",parent:"350400"},{value:"350421",name:"明溪县",parent:"350400"},{value:"350423",name:"清流县",parent:"350400"},{value:"350424",name:"宁化县",parent:"350400"},{value:"350425",name:"大田县",parent:"350400"},{value:"350426",name:"尤溪县",parent:"350400"},{value:"350427",name:"沙县",parent:"350400"},{value:"350428",name:"将乐县",parent:"350400"},{value:"350429",name:"泰宁县",parent:"350400"},{value:"350430",name:"建宁县",parent:"350400"},{value:"350481",name:"永安市",parent:"350400"},{value:"350482",name:"其它区",parent:"350400"},{value:"350502",name:"鲤城区",parent:"350500"},{value:"350503",name:"丰泽区",parent:"350500"},{value:"350504",name:"洛江区",parent:"350500"},{value:"350505",name:"泉港区",parent:"350500"},{value:"350521",name:"惠安县",parent:"350500"},{value:"350524",name:"安溪县",parent:"350500"},{value:"350525",name:"永春县",parent:"350500"},{value:"350526",name:"德化县",parent:"350500"},{value:"350527",name:"金门县",parent:"350500"},{value:"350581",name:"石狮市",parent:"350500"},{value:"350582",name:"晋江市",parent:"350500"},{value:"350583",name:"南安市",parent:"350500"},{value:"350584",name:"其它区",parent:"350500"},{value:"350602",name:"芗城区",parent:"350600"},{value:"350603",name:"龙文区",parent:"350600"},{value:"350622",name:"云霄县",parent:"350600"},{value:"350623",name:"漳浦县",parent:"350600"},{value:"350624",name:"诏安县",parent:"350600"},{value:"350625",name:"长泰县",parent:"350600"},{value:"350626",name:"东山县",parent:"350600"},{value:"350627",name:"南靖县",parent:"350600"},{value:"350628",name:"平和县",parent:"350600"},{value:"350629",name:"华安县",parent:"350600"},{value:"350681",name:"龙海市",parent:"350600"},{value:"350682",name:"其它区",parent:"350600"},{value:"350702",name:"延平区",parent:"350700"},{value:"350721",name:"顺昌县",parent:"350700"},{value:"350722",name:"浦城县",parent:"350700"},{value:"350723",name:"光泽县",parent:"350700"},{value:"350724",name:"松溪县",parent:"350700"},{value:"350725",name:"政和县",parent:"350700"},{value:"350781",name:"邵武市",parent:"350700"},{value:"350782",name:"武夷山市",parent:"350700"},{value:"350783",name:"建瓯市",parent:"350700"},{value:"350784",name:"建阳区",parent:"350700"},{value:"350785",name:"其它区",parent:"350700"},{value:"350802",name:"新罗区",parent:"350800"},{value:"350821",name:"长汀县",parent:"350800"},{value:"350822",name:"永定区",parent:"350800"},{value:"350823",name:"上杭县",parent:"350800"},{value:"350824",name:"武平县",parent:"350800"},{value:"350825",name:"连城县",parent:"350800"},{value:"350881",name:"漳平市",parent:"350800"},{value:"350882",name:"其它区",parent:"350800"},{value:"350902",name:"蕉城区",parent:"350900"},{value:"350921",name:"霞浦县",parent:"350900"},{value:"350922",name:"古田县",parent:"350900"},{value:"350923",name:"屏南县",parent:"350900"},{value:"350924",name:"寿宁县",parent:"350900"},{value:"350925",name:"周宁县",parent:"350900"},{value:"350926",name:"柘荣县",parent:"350900"},{value:"350981",name:"福安市",parent:"350900"},{value:"350982",name:"福鼎市",parent:"350900"},{value:"350983",name:"其它区",parent:"350900"},{value:"360102",name:"东湖区",parent:"360100"},{value:"360103",name:"西湖区",parent:"360100"},{value:"360104",name:"青云谱区",parent:"360100"},{value:"360105",name:"湾里区",parent:"360100"},{value:"360111",name:"青山湖区",parent:"360100"},{value:"360121",name:"南昌县",parent:"360100"},{value:"360122",name:"新建县",parent:"360100"},{value:"360123",name:"安义县",parent:"360100"},{value:"360124",name:"进贤县",parent:"360100"},{value:"360125",name:"红谷滩新区",parent:"360100"},{value:"360126",name:"经济技术开发区",parent:"360100"},{value:"360127",name:"昌北区",parent:"360100"},{value:"360128",name:"其它区",parent:"360100"},{value:"360202",name:"昌江区",parent:"360200"},{value:"360203",name:"珠山区",parent:"360200"},{value:"360222",name:"浮梁县",parent:"360200"},{value:"360281",name:"乐平市",parent:"360200"},{value:"360282",name:"其它区",parent:"360200"},{value:"360302",name:"安源区",parent:"360300"},{value:"360313",name:"湘东区",parent:"360300"},{value:"360321",name:"莲花县",parent:"360300"},{value:"360322",name:"上栗县",parent:"360300"},{value:"360323",name:"芦溪县",parent:"360300"},{value:"360324",name:"其它区",parent:"360300"},{value:"360402",name:"庐山区",parent:"360400"},{value:"360403",name:"浔阳区",parent:"360400"},{value:"360421",name:"九江县",parent:"360400"},{value:"360423",name:"武宁县",parent:"360400"},{value:"360424",name:"修水县",parent:"360400"},{value:"360425",name:"永修县",parent:"360400"},{value:"360426",name:"德安县",parent:"360400"},{value:"360427",name:"星子县",parent:"360400"},{value:"360428",name:"都昌县",parent:"360400"},{value:"360429",name:"湖口县",parent:"360400"},{value:"360430",name:"彭泽县",parent:"360400"},{value:"360481",name:"瑞昌市",parent:"360400"},{value:"360482",name:"其它区",parent:"360400"},{value:"360483",name:"共青城市",parent:"360400"},{value:"360502",name:"渝水区",parent:"360500"},{value:"360521",name:"分宜县",parent:"360500"},{value:"360522",name:"其它区",parent:"360500"},{value:"360602",name:"月湖区",parent:"360600"},{value:"360622",name:"余江县",parent:"360600"},{value:"360681",name:"贵溪市",parent:"360600"},{value:"360682",name:"其它区",parent:"360600"},{value:"360702",name:"章贡区",parent:"360700"},{value:"360721",name:"赣县",parent:"360700"},{value:"360722",name:"信丰县",parent:"360700"},{value:"360723",name:"大余县",parent:"360700"},{value:"360724",name:"上犹县",parent:"360700"},{value:"360725",name:"崇义县",parent:"360700"},{value:"360726",name:"安远县",parent:"360700"},{value:"360727",name:"龙南县",parent:"360700"},{value:"360728",name:"定南县",parent:"360700"},{value:"360729",name:"全南县",parent:"360700"},{value:"360730",name:"宁都县",parent:"360700"},{value:"360731",name:"于都县",parent:"360700"},{value:"360732",name:"兴国县",parent:"360700"},{value:"360733",name:"会昌县",parent:"360700"},{value:"360734",name:"寻乌县",parent:"360700"},{value:"360735",name:"石城县",parent:"360700"},{value:"360751",name:"黄金区",parent:"360700"},{value:"360781",name:"瑞金市",parent:"360700"},{value:"360782",name:"南康区",parent:"360700"},{value:"360783",name:"其它区",parent:"360700"},{value:"360802",name:"吉州区",parent:"360800"},{value:"360803",name:"青原区",parent:"360800"},{value:"360821",name:"吉安县",parent:"360800"},{value:"360822",name:"吉水县",parent:"360800"},{value:"360823",name:"峡江县",parent:"360800"},{value:"360824",name:"新干县",parent:"360800"},{value:"360825",name:"永丰县",parent:"360800"},{value:"360826",name:"泰和县",parent:"360800"},{value:"360827",name:"遂川县",parent:"360800"},{value:"360828",name:"万安县",parent:"360800"},{value:"360829",name:"安福县",parent:"360800"},{value:"360830",name:"永新县",parent:"360800"},{value:"360881",name:"井冈山市",parent:"360800"},{value:"360882",name:"其它区",parent:"360800"},{value:"360902",name:"袁州区",parent:"360900"},{value:"360921",name:"奉新县",parent:"360900"},{value:"360922",name:"万载县",parent:"360900"},{value:"360923",name:"上高县",parent:"360900"},{value:"360924",name:"宜丰县",parent:"360900"},{value:"360925",name:"靖安县",parent:"360900"},{value:"360926",name:"铜鼓县",parent:"360900"},{value:"360981",name:"丰城市",parent:"360900"},{value:"360982",name:"樟树市",parent:"360900"},{value:"360983",name:"高安市",parent:"360900"},{value:"360984",name:"其它区",parent:"360900"},{value:"361002",name:"临川区",parent:"361000"},{value:"361021",name:"南城县",parent:"361000"},{value:"361022",name:"黎川县",parent:"361000"},{value:"361023",name:"南丰县",parent:"361000"},{value:"361024",name:"崇仁县",parent:"361000"},{value:"361025",name:"乐安县",parent:"361000"},{value:"361026",name:"宜黄县",parent:"361000"},{value:"361027",name:"金溪县",parent:"361000"},{value:"361028",name:"资溪县",parent:"361000"},{value:"361029",name:"东乡县",parent:"361000"},{value:"361030",name:"广昌县",parent:"361000"},{value:"361031",name:"其它区",parent:"361000"},{value:"361102",name:"信州区",parent:"361100"},{value:"361121",name:"上饶县",parent:"361100"},{value:"361122",name:"广丰区",parent:"361100"},{value:"361123",name:"玉山县",parent:"361100"},{value:"361124",name:"铅山县",parent:"361100"},{value:"361125",name:"横峰县",parent:"361100"},{value:"361126",name:"弋阳县",parent:"361100"},{value:"361127",name:"余干县",parent:"361100"},{value:"361128",name:"鄱阳县",parent:"361100"},{value:"361129",name:"万年县",parent:"361100"},{value:"361130",name:"婺源县",parent:"361100"},{value:"361181",name:"德兴市",parent:"361100"},{value:"361182",name:"其它区",parent:"361100"},{value:"370102",name:"历下区",parent:"370100"},{value:"370103",name:"市中区",parent:"370100"},{value:"370104",name:"槐荫区",parent:"370100"},{value:"370105",name:"天桥区",parent:"370100"},{value:"370112",name:"历城区",parent:"370100"},{value:"370113",name:"长清区",parent:"370100"},{value:"370124",name:"平阴县",parent:"370100"},{value:"370125",name:"济阳县",parent:"370100"},{value:"370126",name:"商河县",parent:"370100"},{value:"370181",name:"章丘市",parent:"370100"},{value:"370182",name:"其它区",parent:"370100"},{value:"370202",name:"市南区",parent:"370200"},{value:"370203",name:"市北区",parent:"370200"},{value:"370205",name:"四方区",parent:"370200"},{value:"370211",name:"黄岛区",parent:"370200"},{value:"370212",name:"崂山区",parent:"370200"},{value:"370213",name:"李沧区",parent:"370200"},{value:"370214",name:"城阳区",parent:"370200"},{value:"370251",name:"开发区",parent:"370200"},{value:"370281",name:"胶州市",parent:"370200"},{value:"370282",name:"即墨市",parent:"370200"},{value:"370283",name:"平度市",parent:"370200"},{value:"370284",name:"胶南市",parent:"370200"},{value:"370285",name:"莱西市",parent:"370200"},{value:"370286",name:"其它区",parent:"370200"},{value:"370302",name:"淄川区",parent:"370300"},{value:"370303",name:"张店区",parent:"370300"},{value:"370304",name:"博山区",parent:"370300"},{value:"370305",name:"临淄区",parent:"370300"},{value:"370306",name:"周村区",parent:"370300"},{value:"370321",name:"桓台县",parent:"370300"},{value:"370322",name:"高青县",parent:"370300"},{value:"370323",name:"沂源县",parent:"370300"},{value:"370324",name:"其它区",parent:"370300"},{value:"370402",name:"市中区",parent:"370400"},{value:"370403",name:"薛城区",parent:"370400"},{value:"370404",name:"峄城区",parent:"370400"},{value:"370405",name:"台儿庄区",parent:"370400"},{value:"370406",name:"山亭区",parent:"370400"},{value:"370481",name:"滕州市",parent:"370400"},{value:"370482",name:"其它区",parent:"370400"},{value:"370502",name:"东营区",parent:"370500"},{value:"370503",name:"河口区",parent:"370500"},{value:"370521",name:"垦利县",parent:"370500"},{value:"370522",name:"利津县",parent:"370500"},{value:"370523",name:"广饶县",parent:"370500"},{value:"370589",name:"西城区",parent:"370500"},{value:"370590",name:"东城区",parent:"370500"},{value:"370591",name:"其它区",parent:"370500"},{value:"370602",name:"芝罘区",parent:"370600"},{value:"370611",name:"福山区",parent:"370600"},{value:"370612",name:"牟平区",parent:"370600"},{value:"370613",name:"莱山区",parent:"370600"},{value:"370634",name:"长岛县",parent:"370600"},{value:"370681",name:"龙口市",parent:"370600"},{value:"370682",name:"莱阳市",parent:"370600"},{value:"370683",name:"莱州市",parent:"370600"},{value:"370684",name:"蓬莱市",parent:"370600"},{value:"370685",name:"招远市",parent:"370600"},{value:"370686",name:"栖霞市",parent:"370600"},{value:"370687",name:"海阳市",parent:"370600"},{value:"370688",name:"其它区",parent:"370600"},{value:"370702",name:"潍城区",parent:"370700"},{value:"370703",name:"寒亭区",parent:"370700"},{value:"370704",name:"坊子区",parent:"370700"},{value:"370705",name:"奎文区",parent:"370700"},{value:"370724",name:"临朐县",parent:"370700"},{value:"370725",name:"昌乐县",parent:"370700"},{value:"370751",name:"开发区",parent:"370700"},{value:"370781",name:"青州市",parent:"370700"},{value:"370782",name:"诸城市",parent:"370700"},{value:"370783",name:"寿光市",parent:"370700"},{value:"370784",name:"安丘市",parent:"370700"},{value:"370785",name:"高密市",parent:"370700"},{value:"370786",name:"昌邑市",parent:"370700"},{value:"370787",name:"其它区",parent:"370700"},{value:"370802",name:"市中区",parent:"370800"},{value:"370811",name:"任城区",parent:"370800"},{value:"370826",name:"微山县",parent:"370800"},{value:"370827",name:"鱼台县",parent:"370800"},{value:"370828",name:"金乡县",parent:"370800"},{value:"370829",name:"嘉祥县",parent:"370800"},{value:"370830",name:"汶上县",parent:"370800"},{value:"370831",name:"泗水县",parent:"370800"},{value:"370832",name:"梁山县",parent:"370800"},{value:"370881",name:"曲阜市",parent:"370800"},{value:"370882",name:"兖州区",parent:"370800"},{value:"370883",name:"邹城市",parent:"370800"},{value:"370884",name:"其它区",parent:"370800"},{value:"370902",name:"泰山区",parent:"370900"},{value:"370903",name:"岱岳区",parent:"370900"},{value:"370921",name:"宁阳县",parent:"370900"},{value:"370923",name:"东平县",parent:"370900"},{value:"370982",name:"新泰市",parent:"370900"},{value:"370983",name:"肥城市",parent:"370900"},{value:"370984",name:"其它区",parent:"370900"},{value:"371002",name:"环翠区",parent:"371000"},{value:"371081",name:"文登区",parent:"371000"},{value:"371082",name:"荣成市",parent:"371000"},{value:"371083",name:"乳山市",parent:"371000"},{value:"371084",name:"其它区",parent:"371000"},{value:"371102",name:"东港区",parent:"371100"},{value:"371103",name:"岚山区",parent:"371100"},{value:"371121",name:"五莲县",parent:"371100"},{value:"371122",name:"莒县",parent:"371100"},{value:"371123",name:"其它区",parent:"371100"},{value:"371202",name:"莱城区",parent:"371200"},{value:"371203",name:"钢城区",parent:"371200"},{value:"371204",name:"其它区",parent:"371200"},{value:"371302",name:"兰山区",parent:"371300"},{value:"371311",name:"罗庄区",parent:"371300"},{value:"371312",name:"河东区",parent:"371300"},{value:"371321",name:"沂南县",parent:"371300"},{value:"371322",name:"郯城县",parent:"371300"},{value:"371323",name:"沂水县",parent:"371300"},{value:"371324",name:"兰陵县",parent:"371300"},{value:"371325",name:"费县",parent:"371300"},{value:"371326",name:"平邑县",parent:"371300"},{value:"371327",name:"莒南县",parent:"371300"},{value:"371328",name:"蒙阴县",parent:"371300"},{value:"371329",name:"临沭县",parent:"371300"},{value:"371330",name:"其它区",parent:"371300"},{value:"371402",name:"德城区",parent:"371400"},{value:"371421",name:"陵城区",parent:"371400"},{value:"371422",name:"宁津县",parent:"371400"},{value:"371423",name:"庆云县",parent:"371400"},{value:"371424",name:"临邑县",parent:"371400"},{value:"371425",name:"齐河县",parent:"371400"},{value:"371426",name:"平原县",parent:"371400"},{value:"371427",name:"夏津县",parent:"371400"},{value:"371428",name:"武城县",parent:"371400"},{value:"371451",name:"开发区",parent:"371400"},{value:"371481",name:"乐陵市",parent:"371400"},{value:"371482",name:"禹城市",parent:"371400"},{value:"371483",name:"其它区",parent:"371400"},{value:"371502",name:"东昌府区",parent:"371500"},{value:"371521",name:"阳谷县",parent:"371500"},{value:"371522",name:"莘县",parent:"371500"},{value:"371523",name:"茌平县",parent:"371500"},{value:"371524",name:"东阿县",parent:"371500"},{value:"371525",name:"冠县",parent:"371500"},{value:"371526",name:"高唐县",parent:"371500"},{value:"371581",name:"临清市",parent:"371500"},{value:"371582",name:"其它区",parent:"371500"},{value:"371602",name:"滨城区",parent:"371600"},{value:"371621",name:"惠民县",parent:"371600"},{value:"371622",name:"阳信县",parent:"371600"},{value:"371623",name:"无棣县",parent:"371600"},{value:"371624",name:"沾化区",parent:"371600"},{value:"371625",name:"博兴县",parent:"371600"},{value:"371626",name:"邹平县",parent:"371600"},{value:"371627",name:"其它区",parent:"371600"},{value:"371702",name:"牡丹区",parent:"371700"},{value:"371721",name:"曹县",parent:"371700"},{value:"371722",name:"单县",parent:"371700"},{value:"371723",name:"成武县",parent:"371700"},{value:"371724",name:"巨野县",parent:"371700"},{value:"371725",name:"郓城县",parent:"371700"},{value:"371726",name:"鄄城县",parent:"371700"},{value:"371727",name:"定陶县",parent:"371700"},{value:"371728",name:"东明县",parent:"371700"},{value:"371729",name:"其它区",parent:"371700"},{value:"410102",name:"中原区",parent:"410100"},{value:"410103",name:"二七区",parent:"410100"},{value:"410104",name:"管城回族区",parent:"410100"},{value:"410105",name:"金水区",parent:"410100"},{value:"410106",name:"上街区",parent:"410100"},{value:"410108",name:"惠济区",parent:"410100"},{value:"410122",name:"中牟县",parent:"410100"},{value:"410181",name:"巩义市",parent:"410100"},{value:"410182",name:"荥阳市",parent:"410100"},{value:"410183",name:"新密市",parent:"410100"},{value:"410184",name:"新郑市",parent:"410100"},{value:"410185",name:"登封市",parent:"410100"},{value:"410186",name:"郑东新区",parent:"410100"},{value:"410187",name:"高新区",parent:"410100"},{value:"410188",name:"其它区",parent:"410100"},{value:"410202",name:"龙亭区",parent:"410200"},{value:"410203",name:"顺河回族区",parent:"410200"},{value:"410204",name:"鼓楼区",parent:"410200"},{value:"410205",name:"禹王台区",parent:"410200"},{value:"410211",name:"金明区",parent:"410200"},{value:"410221",name:"杞县",parent:"410200"},{value:"410222",name:"通许县",parent:"410200"},{value:"410223",name:"尉氏县",parent:"410200"},{value:"410224",name:"祥符区",parent:"410200"},{value:"410225",name:"兰考县",parent:"410200"},{value:"410226",name:"其它区",parent:"410200"},{value:"410302",name:"老城区",parent:"410300"},{value:"410303",name:"西工区",parent:"410300"},{value:"410304",name:"瀍河回族区",parent:"410300"},{value:"410305",name:"涧西区",parent:"410300"},{value:"410306",name:"吉利区",parent:"410300"},{value:"410307",name:"洛龙区",parent:"410300"},{value:"410322",name:"孟津县",parent:"410300"},{value:"410323",name:"新安县",parent:"410300"},{value:"410324",name:"栾川县",parent:"410300"},{value:"410325",name:"嵩县",parent:"410300"},{value:"410326",name:"汝阳县",parent:"410300"},{value:"410327",name:"宜阳县",parent:"410300"},{value:"410328",name:"洛宁县",parent:"410300"},{value:"410329",name:"伊川县",parent:"410300"},{value:"410381",name:"偃师市",parent:"410300"},{value:"410402",name:"新华区",parent:"410400"},{value:"410403",name:"卫东区",parent:"410400"},{value:"410404",name:"石龙区",parent:"410400"},{value:"410411",name:"湛河区",parent:"410400"},{value:"410421",name:"宝丰县",parent:"410400"},{value:"410422",name:"叶县",parent:"410400"},{value:"410423",name:"鲁山县",parent:"410400"},{value:"410425",name:"郏县",parent:"410400"},{value:"410481",name:"舞钢市",parent:"410400"},{value:"410482",name:"汝州市",parent:"410400"},{value:"410483",name:"其它区",parent:"410400"},{value:"410502",name:"文峰区",parent:"410500"},{value:"410503",name:"北关区",parent:"410500"},{value:"410505",name:"殷都区",parent:"410500"},{value:"410506",name:"龙安区",parent:"410500"},{value:"410522",name:"安阳县",parent:"410500"},{value:"410523",name:"汤阴县",parent:"410500"},{value:"410526",name:"滑县",parent:"410500"},{value:"410527",name:"内黄县",parent:"410500"},{value:"410581",name:"林州市",parent:"410500"},{value:"410582",name:"其它区",parent:"410500"},{value:"410602",name:"鹤山区",parent:"410600"},{value:"410603",name:"山城区",parent:"410600"},{value:"410611",name:"淇滨区",parent:"410600"},{value:"410621",name:"浚县",parent:"410600"},{value:"410622",name:"淇县",parent:"410600"},{value:"410623",name:"其它区",parent:"410600"},{value:"410702",name:"红旗区",parent:"410700"},{value:"410703",name:"卫滨区",parent:"410700"},{value:"410704",name:"凤泉区",parent:"410700"},{value:"410711",name:"牧野区",parent:"410700"},{value:"410721",name:"新乡县",parent:"410700"},{value:"410724",name:"获嘉县",parent:"410700"},{value:"410725",name:"原阳县",parent:"410700"},{value:"410726",name:"延津县",parent:"410700"},{value:"410727",name:"封丘县",parent:"410700"},{value:"410728",name:"长垣县",parent:"410700"},{value:"410781",name:"卫辉市",parent:"410700"},{value:"410782",name:"辉县市",parent:"410700"},{value:"410783",name:"其它区",parent:"410700"},{value:"410802",name:"解放区",parent:"410800"},{value:"410803",name:"中站区",parent:"410800"},{value:"410804",name:"马村区",parent:"410800"},{value:"410811",name:"山阳区",parent:"410800"},{value:"410821",name:"修武县",parent:"410800"},{value:"410822",name:"博爱县",parent:"410800"},{value:"410823",name:"武陟县",parent:"410800"},{value:"410825",name:"温县",parent:"410800"},{value:"410881",name:"济源市",parent:"410000"},{value:"410882",name:"沁阳市",parent:"410800"},{value:"410883",name:"孟州市",parent:"410800"},{value:"410884",name:"其它区",parent:"410800"},{value:"410902",name:"华龙区",parent:"410900"},{value:"410922",name:"清丰县",parent:"410900"},{value:"410923",name:"南乐县",parent:"410900"},{value:"410926",name:"范县",parent:"410900"},{value:"410927",name:"台前县",parent:"410900"},{value:"410928",name:"濮阳县",parent:"410900"},{value:"410929",name:"其它区",parent:"410900"},{value:"411002",name:"魏都区",parent:"411000"},{value:"411023",name:"许昌县",parent:"411000"},{value:"411024",name:"鄢陵县",parent:"411000"},{value:"411025",name:"襄城县",parent:"411000"},{value:"411081",name:"禹州市",parent:"411000"},{value:"411082",name:"长葛市",parent:"411000"},{value:"411083",name:"其它区",parent:"411000"},{value:"411102",name:"源汇区",parent:"411100"},{value:"411103",name:"郾城区",parent:"411100"},{value:"411104",name:"召陵区",parent:"411100"},{value:"411121",name:"舞阳县",parent:"411100"},{value:"411122",name:"临颍县",parent:"411100"},{value:"411123",name:"其它区",parent:"411100"},{value:"411202",name:"湖滨区",parent:"411200"},{value:"411221",name:"渑池县",parent:"411200"},{value:"411222",name:"陕州区",parent:"411200"},{value:"411224",name:"卢氏县",parent:"411200"},{value:"411281",name:"义马市",parent:"411200"},{value:"411282",name:"灵宝市",parent:"411200"},{value:"411283",name:"其它区",parent:"411200"},{value:"411302",name:"宛城区",parent:"411300"},{value:"411303",name:"卧龙区",parent:"411300"},{value:"411321",name:"南召县",parent:"411300"},{value:"411322",name:"方城县",parent:"411300"},{value:"411323",name:"西峡县",parent:"411300"},{value:"411324",name:"镇平县",parent:"411300"},{value:"411325",name:"内乡县",parent:"411300"},{value:"411326",name:"淅川县",parent:"411300"},{value:"411327",name:"社旗县",parent:"411300"},{value:"411328",name:"唐河县",parent:"411300"},{value:"411329",name:"新野县",parent:"411300"},{value:"411330",name:"桐柏县",parent:"411300"},{value:"411381",name:"邓州市",parent:"411300"},{value:"411382",name:"其它区",parent:"411300"},{value:"411402",name:"梁园区",parent:"411400"},{value:"411403",name:"睢阳区",parent:"411400"},{value:"411421",name:"民权县",parent:"411400"},{value:"411422",name:"睢县",parent:"411400"},{value:"411423",name:"宁陵县",parent:"411400"},{value:"411424",name:"柘城县",parent:"411400"},{value:"411425",name:"虞城县",parent:"411400"},{value:"411426",name:"夏邑县",parent:"411400"},{value:"411481",name:"永城市",parent:"411400"},{value:"411482",name:"其它区",parent:"411400"},{value:"411502",name:"浉河区",parent:"411500"},{value:"411503",name:"平桥区",parent:"411500"},{value:"411521",name:"罗山县",parent:"411500"},{value:"411522",name:"光山县",parent:"411500"},{value:"411523",name:"新县",parent:"411500"},{value:"411524",name:"商城县",parent:"411500"},{value:"411525",name:"固始县",parent:"411500"},{value:"411526",name:"潢川县",parent:"411500"},{value:"411527",name:"淮滨县",parent:"411500"},{value:"411528",name:"息县",parent:"411500"},{value:"411529",name:"其它区",parent:"411500"},{value:"411602",name:"川汇区",parent:"411600"},{value:"411621",name:"扶沟县",parent:"411600"},{value:"411622",name:"西华县",parent:"411600"},{value:"411623",name:"商水县",parent:"411600"},{value:"411624",name:"沈丘县",parent:"411600"},{value:"411625",name:"郸城县",parent:"411600"},{value:"411626",name:"淮阳县",parent:"411600"},{value:"411627",name:"太康县",parent:"411600"},{value:"411628",name:"鹿邑县",parent:"411600"},{value:"411681",name:"项城市",parent:"411600"},{value:"411682",name:"其它区",parent:"411600"},{value:"411702",name:"驿城区",parent:"411700"},{value:"411721",name:"西平县",parent:"411700"},{value:"411722",name:"上蔡县",parent:"411700"},{value:"411723",name:"平舆县",parent:"411700"},{value:"411724",name:"正阳县",parent:"411700"},{value:"411725",name:"确山县",parent:"411700"},{value:"411726",name:"泌阳县",parent:"411700"},{value:"411727",name:"汝南县",parent:"411700"},{value:"411728",name:"遂平县",parent:"411700"},{value:"411729",name:"新蔡县",parent:"411700"},{value:"411730",name:"其它区",parent:"411700"},{value:"420102",name:"江岸区",parent:"420100"},{value:"420103",name:"江汉区",parent:"420100"},{value:"420104",name:"硚口区",parent:"420100"},{value:"420105",name:"汉阳区",parent:"420100"},{value:"420106",name:"武昌区",parent:"420100"},{value:"420107",name:"青山区",parent:"420100"},{value:"420111",name:"洪山区",parent:"420100"},{value:"420112",name:"东西湖区",parent:"420100"},{value:"420113",name:"汉南区",parent:"420100"},{value:"420114",name:"蔡甸区",parent:"420100"},{value:"420115",name:"江夏区",parent:"420100"},{value:"420116",name:"黄陂区",parent:"420100"},{value:"420117",name:"新洲区",parent:"420100"},{value:"420118",name:"其它区",parent:"420100"},{value:"420202",name:"黄石港区",parent:"420200"},{value:"420203",name:"西塞山区",parent:"420200"},{value:"420204",name:"下陆区",parent:"420200"},{value:"420205",name:"铁山区",parent:"420200"},{value:"420222",name:"阳新县",parent:"420200"},{value:"420281",name:"大冶市",parent:"420200"},{value:"420282",name:"其它区",parent:"420200"},{value:"420302",name:"茅箭区",parent:"420300"},{value:"420303",name:"张湾区",parent:"420300"},{value:"420321",name:"郧阳区",parent:"420300"},{value:"420322",name:"郧西县",parent:"420300"},{value:"420323",name:"竹山县",parent:"420300"},{value:"420324",name:"竹溪县",parent:"420300"},{value:"420325",name:"房县",parent:"420300"},{value:"420381",name:"丹江口市",parent:"420300"},{value:"420382",name:"城区",parent:"420300"},{value:"420383",name:"其它区",parent:"420300"},{value:"420502",name:"西陵区",parent:"420500"},{value:"420503",name:"伍家岗区",parent:"420500"},{value:"420504",name:"点军区",parent:"420500"},{value:"420505",name:"猇亭区",parent:"420500"},{value:"420506",name:"夷陵区",parent:"420500"},{value:"420525",name:"远安县",parent:"420500"},{value:"420526",name:"兴山县",parent:"420500"},{value:"420527",name:"秭归县",parent:"420500"},{value:"420528",name:"长阳土家族自治县",parent:"420500"},{value:"420529",name:"五峰土家族自治县",parent:"420500"},{value:"420551",name:"葛洲坝区",parent:"420500"},{value:"420552",name:"开发区",parent:"420500"},{value:"420581",name:"宜都市",parent:"420500"},{value:"420582",name:"当阳市",parent:"420500"},{value:"420583",name:"枝江市",parent:"420500"},{value:"420584",name:"其它区",parent:"420500"},{value:"420602",name:"襄城区",parent:"420600"},{value:"420606",name:"樊城区",parent:"420600"},{value:"420607",name:"襄州区",parent:"420600"},{value:"420624",name:"南漳县",parent:"420600"},{value:"420625",name:"谷城县",parent:"420600"},{value:"420626",name:"保康县",parent:"420600"},{value:"420682",name:"老河口市",parent:"420600"},{value:"420683",name:"枣阳市",parent:"420600"},{value:"420684",name:"宜城市",parent:"420600"},{value:"420685",name:"其它区",parent:"420600"},{value:"420702",name:"梁子湖区",parent:"420700"},{value:"420703",name:"华容区",parent:"420700"},{value:"420704",name:"鄂城区",parent:"420700"},{value:"420705",name:"其它区",parent:"420700"},{value:"420802",name:"东宝区",parent:"420800"},{value:"420804",name:"掇刀区",parent:"420800"},{value:"420821",name:"京山县",parent:"420800"},{value:"420822",name:"沙洋县",parent:"420800"},{value:"420881",name:"钟祥市",parent:"420800"},{value:"420882",name:"其它区",parent:"420800"},{value:"420902",name:"孝南区",parent:"420900"},{value:"420921",name:"孝昌县",parent:"420900"},{value:"420922",name:"大悟县",parent:"420900"},{value:"420923",name:"云梦县",parent:"420900"},{value:"420981",name:"应城市",parent:"420900"},{value:"420982",name:"安陆市",parent:"420900"},{value:"420984",name:"汉川市",parent:"420900"},{value:"420985",name:"其它区",parent:"420900"},{value:"421002",name:"沙市区",parent:"421000"},{value:"421003",name:"荆州区",parent:"421000"},{value:"421022",name:"公安县",parent:"421000"},{value:"421023",name:"监利县",parent:"421000"},{value:"421024",name:"江陵县",parent:"421000"},{value:"421081",name:"石首市",parent:"421000"},{value:"421083",name:"洪湖市",parent:"421000"},{value:"421087",name:"松滋市",parent:"421000"},{value:"421088",name:"其它区",parent:"421000"},{value:"421102",name:"黄州区",parent:"421100"},{value:"421121",name:"团风县",parent:"421100"},{value:"421122",name:"红安县",parent:"421100"},{value:"421123",name:"罗田县",parent:"421100"},{value:"421124",name:"英山县",parent:"421100"},{value:"421125",name:"浠水县",parent:"421100"},{value:"421126",name:"蕲春县",parent:"421100"},{value:"421127",name:"黄梅县",parent:"421100"},{value:"421181",name:"麻城市",parent:"421100"},{value:"421182",name:"武穴市",parent:"421100"},{value:"421183",name:"其它区",parent:"421100"},{value:"421202",name:"咸安区",parent:"421200"},{value:"421221",name:"嘉鱼县",parent:"421200"},{value:"421222",name:"通城县",parent:"421200"},{value:"421223",name:"崇阳县",parent:"421200"},{value:"421224",name:"通山县",parent:"421200"},{value:"421281",name:"赤壁市",parent:"421200"},{value:"421282",name:"温泉城区",parent:"421200"},{value:"421283",name:"其它区",parent:"421200"},{value:"421302",name:"曾都区",parent:"421300"},{value:"421321",name:"随县",parent:"421300"},{value:"421381",name:"广水市",parent:"421300"},{value:"421382",name:"其它区",parent:"421300"},{value:"422801",name:"恩施市",parent:"422800"},{value:"422802",name:"利川市",parent:"422800"},{value:"422822",name:"建始县",parent:"422800"},{value:"422823",name:"巴东县",parent:"422800"},{value:"422825",name:"宣恩县",parent:"422800"},{value:"422826",name:"咸丰县",parent:"422800"},{value:"422827",name:"来凤县",parent:"422800"},{value:"422828",name:"鹤峰县",parent:"422800"},{value:"422829",name:"其它区",parent:"422800"},{value:"429004",name:"仙桃市",parent:"420000"},{value:"429005",name:"潜江市",parent:"420000"},{value:"429006",name:"天门市",parent:"420000"},{value:"429021",name:"神农架林区",parent:"420000"},{value:"430102",name:"芙蓉区",parent:"430100"},{value:"430103",name:"天心区",parent:"430100"},{value:"430104",name:"岳麓区",parent:"430100"},{value:"430105",name:"开福区",parent:"430100"},{value:"430111",name:"雨花区",parent:"430100"},{value:"430121",name:"长沙县",parent:"430100"},{value:"430122",name:"望城区",parent:"430100"},{value:"430124",name:"宁乡县",parent:"430100"},{value:"430181",name:"浏阳市",parent:"430100"},{value:"430182",name:"其它区",parent:"430100"},{value:"430202",name:"荷塘区",parent:"430200"},{value:"430203",name:"芦淞区",parent:"430200"},{value:"430204",name:"石峰区",parent:"430200"},{value:"430211",name:"天元区",parent:"430200"},{value:"430221",name:"株洲县",parent:"430200"},{value:"430223",name:"攸县",parent:"430200"},{value:"430224",name:"茶陵县",parent:"430200"},{value:"430225",name:"炎陵县",parent:"430200"},{value:"430281",name:"醴陵市",parent:"430200"},{value:"430282",name:"其它区",parent:"430200"},{value:"430302",name:"雨湖区",parent:"430300"},{value:"430304",name:"岳塘区",parent:"430300"},{value:"430321",name:"湘潭县",parent:"430300"},{value:"430381",name:"湘乡市",parent:"430300"},{value:"430382",name:"韶山市",parent:"430300"},{value:"430383",name:"其它区",parent:"430300"},{value:"430405",name:"珠晖区",parent:"430400"},{value:"430406",name:"雁峰区",parent:"430400"},{value:"430407",name:"石鼓区",parent:"430400"},{value:"430408",name:"蒸湘区",parent:"430400"},{value:"430412",name:"南岳区",parent:"430400"},{value:"430421",name:"衡阳县",parent:"430400"},{value:"430422",name:"衡南县",parent:"430400"},{value:"430423",name:"衡山县",parent:"430400"},{value:"430424",name:"衡东县",parent:"430400"},{value:"430426",name:"祁东县",parent:"430400"},{value:"430481",name:"耒阳市",parent:"430400"},{value:"430482",name:"常宁市",parent:"430400"},{value:"430483",name:"其它区",parent:"430400"},{value:"430502",name:"双清区",parent:"430500"},{value:"430503",name:"大祥区",parent:"430500"},{value:"430511",name:"北塔区",parent:"430500"},{value:"430521",name:"邵东县",parent:"430500"},{value:"430522",name:"新邵县",parent:"430500"},{value:"430523",name:"邵阳县",parent:"430500"},{value:"430524",name:"隆回县",parent:"430500"},{value:"430525",name:"洞口县",parent:"430500"},{value:"430527",name:"绥宁县",parent:"430500"},{value:"430528",name:"新宁县",parent:"430500"},{value:"430529",name:"城步苗族自治县",parent:"430500"},{value:"430581",name:"武冈市",parent:"430500"},{value:"430582",name:"其它区",parent:"430500"},{value:"430602",name:"岳阳楼区",parent:"430600"},{value:"430603",name:"云溪区",parent:"430600"},{value:"430611",name:"君山区",parent:"430600"},{value:"430621",name:"岳阳县",parent:"430600"},{value:"430623",name:"华容县",parent:"430600"},{value:"430624",name:"湘阴县",parent:"430600"},{value:"430626",name:"平江县",parent:"430600"},{value:"430681",name:"汨罗市",parent:"430600"},{value:"430682",name:"临湘市",parent:"430600"},{value:"430683",name:"其它区",parent:"430600"},{value:"430702",name:"武陵区",parent:"430700"},{value:"430703",name:"鼎城区",parent:"430700"},{value:"430721",name:"安乡县",parent:"430700"},{value:"430722",name:"汉寿县",parent:"430700"},{value:"430723",name:"澧县",parent:"430700"},{value:"430724",name:"临澧县",parent:"430700"},{value:"430725",name:"桃源县",parent:"430700"},{value:"430726",name:"石门县",parent:"430700"},{value:"430781",name:"津市市",parent:"430700"},{value:"430782",name:"其它区",parent:"430700"},{value:"430802",name:"永定区",parent:"430800"},{value:"430811",name:"武陵源区",parent:"430800"},{value:"430821",name:"慈利县",parent:"430800"},{value:"430822",name:"桑植县",parent:"430800"},{value:"430823",name:"其它区",parent:"430800"},{value:"430902",name:"资阳区",parent:"430900"},{value:"430903",name:"赫山区",parent:"430900"},{value:"430921",name:"南县",parent:"430900"},{value:"430922",name:"桃江县",parent:"430900"},{value:"430923",name:"安化县",parent:"430900"},{value:"430981",name:"沅江市",parent:"430900"},{value:"430982",name:"其它区",parent:"430900"},{value:"431002",name:"北湖区",parent:"431000"},{value:"431003",name:"苏仙区",parent:"431000"},{value:"431021",name:"桂阳县",parent:"431000"},{value:"431022",name:"宜章县",parent:"431000"},{value:"431023",name:"永兴县",parent:"431000"},{value:"431024",name:"嘉禾县",parent:"431000"},{value:"431025",name:"临武县",parent:"431000"},{value:"431026",name:"汝城县",parent:"431000"},{value:"431027",name:"桂东县",parent:"431000"},{value:"431028",name:"安仁县",parent:"431000"},{value:"431081",name:"资兴市",parent:"431000"},{value:"431082",name:"其它区",parent:"431000"},{value:"431102",name:"零陵区",parent:"431100"},{value:"431103",name:"冷水滩区",parent:"431100"},{value:"431121",name:"祁阳县",parent:"431100"},{value:"431122",name:"东安县",parent:"431100"},{value:"431123",name:"双牌县",parent:"431100"},{value:"431124",name:"道县",parent:"431100"},{value:"431125",name:"江永县",parent:"431100"},{value:"431126",name:"宁远县",parent:"431100"},{value:"431127",name:"蓝山县",parent:"431100"},{value:"431128",name:"新田县",parent:"431100"},{value:"431129",name:"江华瑶族自治县",parent:"431100"},{value:"431130",name:"其它区",parent:"431100"},{value:"431202",name:"鹤城区",parent:"431200"},{value:"431221",name:"中方县",parent:"431200"},{value:"431222",name:"沅陵县",parent:"431200"},{value:"431223",name:"辰溪县",parent:"431200"},{value:"431224",name:"溆浦县",parent:"431200"},{value:"431225",name:"会同县",parent:"431200"},{value:"431226",name:"麻阳苗族自治县",parent:"431200"},{value:"431227",name:"新晃侗族自治县",parent:"431200"},{value:"431228",name:"芷江侗族自治县",parent:"431200"},{value:"431229",name:"靖州苗族侗族自治县",parent:"431200"},{value:"431230",name:"通道侗族自治县",parent:"431200"},{value:"431281",name:"洪江市",parent:"431200"},{value:"431282",name:"其它区",parent:"431200"},{value:"431302",name:"娄星区",parent:"431300"},{value:"431321",name:"双峰县",parent:"431300"},{value:"431322",name:"新化县",parent:"431300"},{value:"431381",name:"冷水江市",parent:"431300"},{value:"431382",name:"涟源市",parent:"431300"},{value:"431383",name:"其它区",parent:"431300"},{value:"433101",name:"吉首市",parent:"433100"},{value:"433122",name:"泸溪县",parent:"433100"},{value:"433123",name:"凤凰县",parent:"433100"},{value:"433124",name:"花垣县",parent:"433100"},{value:"433125",name:"保靖县",parent:"433100"},{value:"433126",name:"古丈县",parent:"433100"},{value:"433127",name:"永顺县",parent:"433100"},{value:"433130",name:"龙山县",parent:"433100"},{value:"433131",name:"其它区",parent:"433100"},{value:"440103",name:"荔湾区",parent:"440100"},{value:"440104",name:"越秀区",parent:"440100"},{value:"440105",name:"海珠区",parent:"440100"},{value:"440106",name:"天河区",parent:"440100"},{value:"440111",name:"白云区",parent:"440100"},{value:"440112",name:"黄埔区",parent:"440100"},{value:"440113",name:"番禺区",parent:"440100"},{value:"440114",name:"花都区",parent:"440100"},{value:"440115",name:"南沙区",parent:"440100"},{value:"440116",name:"萝岗区",parent:"440100"},{value:"440183",name:"增城区",parent:"440100"},{value:"440184",name:"从化区",parent:"440100"},{value:"440188",name:"东山区",parent:"440100"},{value:"440189",name:"其它区",parent:"440100"},{value:"440203",name:"武江区",parent:"440200"},{value:"440204",name:"浈江区",parent:"440200"},{value:"440205",name:"曲江区",parent:"440200"},{value:"440222",name:"始兴县",parent:"440200"},{value:"440224",name:"仁化县",parent:"440200"},{value:"440229",name:"翁源县",parent:"440200"},{value:"440232",name:"乳源瑶族自治县",parent:"440200"},{value:"440233",name:"新丰县",parent:"440200"},{value:"440281",name:"乐昌市",parent:"440200"},{value:"440282",name:"南雄市",parent:"440200"},{value:"440283",name:"其它区",parent:"440200"},{value:"440303",name:"罗湖区",parent:"440300"},{value:"440304",name:"福田区",parent:"440300"},{value:"440305",name:"南山区",parent:"440300"},{value:"440306",name:"宝安区",parent:"440300"},{value:"440307",name:"龙岗区",parent:"440300"},{value:"440308",name:"盐田区",parent:"440300"},{value:"440309",name:"其它区",parent:"440300"},{value:"440320",name:"光明新区",parent:"440300"},{value:"440321",name:"坪山新区",parent:"440300"},{value:"440322",name:"大鹏新区",parent:"440300"},{value:"440323",name:"龙华新区",parent:"440300"},{value:"440402",name:"香洲区",parent:"440400"},{value:"440403",name:"斗门区",parent:"440400"},{value:"440404",name:"金湾区",parent:"440400"},{value:"440486",name:"金唐区",parent:"440400"},{value:"440487",name:"南湾区",parent:"440400"},{value:"440488",name:"其它区",parent:"440400"},{value:"440507",name:"龙湖区",parent:"440500"},{value:"440511",name:"金平区",parent:"440500"},{value:"440512",name:"濠江区",parent:"440500"},{value:"440513",name:"潮阳区",parent:"440500"},{value:"440514",name:"潮南区",parent:"440500"},{value:"440515",name:"澄海区",parent:"440500"},{value:"440523",name:"南澳县",parent:"440500"},{value:"440524",name:"其它区",parent:"440500"},{value:"440604",name:"禅城区",parent:"440600"},{value:"440605",name:"南海区",parent:"440600"},{value:"440606",name:"顺德区",parent:"440600"},{value:"440607",name:"三水区",parent:"440600"},{value:"440608",name:"高明区",parent:"440600"},{value:"440609",name:"其它区",parent:"440600"},{value:"440703",name:"蓬江区",parent:"440700"},{value:"440704",name:"江海区",parent:"440700"},{value:"440705",name:"新会区",parent:"440700"},{value:"440781",name:"台山市",parent:"440700"},{value:"440783",name:"开平市",parent:"440700"},{value:"440784",name:"鹤山市",parent:"440700"},{value:"440785",name:"恩平市",parent:"440700"},{value:"440786",name:"其它区",parent:"440700"},{value:"440802",name:"赤坎区",parent:"440800"},{value:"440803",name:"霞山区",parent:"440800"},{value:"440804",name:"坡头区",parent:"440800"},{value:"440811",name:"麻章区",parent:"440800"},{value:"440823",name:"遂溪县",parent:"440800"},{value:"440825",name:"徐闻县",parent:"440800"},{value:"440881",name:"廉江市",parent:"440800"},{value:"440882",name:"雷州市",parent:"440800"},{value:"440883",name:"吴川市",parent:"440800"},{value:"440884",name:"其它区",parent:"440800"},{value:"440902",name:"茂南区",parent:"440900"},{value:"440903",name:"电白区",parent:"440900"},{value:"440923",name:"电白县",parent:"440900"},{value:"440981",name:"高州市",parent:"440900"},{value:"440982",name:"化州市",parent:"440900"},{value:"440983",name:"信宜市",parent:"440900"},{value:"440984",name:"其它区",parent:"440900"},{value:"441202",name:"端州区",parent:"441200"},{value:"441203",name:"鼎湖区",parent:"441200"},{value:"441223",name:"广宁县",parent:"441200"},{value:"441224",name:"怀集县",parent:"441200"},{value:"441225",name:"封开县",parent:"441200"},{value:"441226",name:"德庆县",parent:"441200"},{value:"441283",name:"高要市",parent:"441200"},{value:"441284",name:"四会市",parent:"441200"},{value:"441285",name:"其它区",parent:"441200"},{value:"441302",name:"惠城区",parent:"441300"},{value:"441303",name:"惠阳区",parent:"441300"},{value:"441322",name:"博罗县",parent:"441300"},{value:"441323",name:"惠东县",parent:"441300"},{value:"441324",name:"龙门县",parent:"441300"},{value:"441325",name:"其它区",parent:"441300"},{value:"441402",name:"梅江区",parent:"441400"},{value:"441421",name:"梅县区",parent:"441400"},{value:"441422",name:"大埔县",parent:"441400"},{value:"441423",name:"丰顺县",parent:"441400"},{value:"441424",name:"五华县",parent:"441400"},{value:"441426",name:"平远县",parent:"441400"},{value:"441427",name:"蕉岭县",parent:"441400"},{value:"441481",name:"兴宁市",parent:"441400"},{value:"441482",name:"其它区",parent:"441400"},{value:"441502",name:"城区",parent:"441500"},{value:"441521",name:"海丰县",parent:"441500"},{value:"441523",name:"陆河县",parent:"441500"},{value:"441581",name:"陆丰市",parent:"441500"},{value:"441582",name:"其它区",parent:"441500"},{value:"441602",name:"源城区",parent:"441600"},{value:"441621",name:"紫金县",parent:"441600"},{value:"441622",name:"龙川县",parent:"441600"},{value:"441623",name:"连平县",parent:"441600"},{value:"441624",name:"和平县",parent:"441600"},{value:"441625",name:"东源县",parent:"441600"},{value:"441626",name:"其它区",parent:"441600"},{value:"441702",name:"江城区",parent:"441700"},{value:"441721",name:"阳西县",parent:"441700"},{value:"441723",name:"阳东区",parent:"441700"},{value:"441781",name:"阳春市",parent:"441700"},{value:"441782",name:"其它区",parent:"441700"},{value:"441802",name:"清城区",parent:"441800"},{value:"441821",name:"佛冈县",parent:"441800"},{value:"441823",name:"阳山县",parent:"441800"},{value:"441825",name:"连山壮族瑶族自治县",parent:"441800"},{value:"441826",name:"连南瑶族自治县",parent:"441800"},{value:"441827",name:"清新区",parent:"441800"},{value:"441881",name:"英德市",parent:"441800"},{value:"441882",name:"连州市",parent:"441800"},{value:"441883",name:"其它区",parent:"441800"},{value:"445102",name:"湘桥区",parent:"445100"},{value:"445121",name:"潮安区",parent:"445100"},{value:"445122",name:"饶平县",parent:"445100"},{value:"445185",name:"枫溪区",parent:"445100"},{value:"445186",name:"其它区",parent:"445100"},{value:"445202",name:"榕城区",parent:"445200"},{value:"445221",name:"揭东区",parent:"445200"},{value:"445222",name:"揭西县",parent:"445200"},{value:"445224",name:"惠来县",parent:"445200"},{value:"445281",name:"普宁市",parent:"445200"},{value:"445284",name:"东山区",parent:"445200"},{value:"445285",name:"其它区",parent:"445200"},{value:"445302",name:"云城区",parent:"445300"},{value:"445321",name:"新兴县",parent:"445300"},{value:"445322",name:"郁南县",parent:"445300"},{value:"445323",name:"云安区",parent:"445300"},{value:"445381",name:"罗定市",parent:"445300"},{value:"445382",name:"其它区",parent:"445300"},{value:"450102",name:"兴宁区",parent:"450100"},{value:"450103",name:"青秀区",parent:"450100"},{value:"450105",name:"江南区",parent:"450100"},{value:"450107",name:"西乡塘区",parent:"450100"},{value:"450108",name:"良庆区",parent:"450100"},{value:"450109",name:"邕宁区",parent:"450100"},{value:"450122",name:"武鸣区",parent:"450100"},{value:"450123",name:"隆安县",parent:"450100"},{value:"450124",name:"马山县",parent:"450100"},{value:"450125",name:"上林县",parent:"450100"},{value:"450126",name:"宾阳县",parent:"450100"},{value:"450127",name:"横县",parent:"450100"},{value:"450128",name:"其它区",parent:"450100"},{value:"450202",name:"城中区",parent:"450200"},{value:"450203",name:"鱼峰区",parent:"450200"},{value:"450204",name:"柳南区",parent:"450200"},{value:"450205",name:"柳北区",parent:"450200"},{value:"450221",name:"柳江县",parent:"450200"},{value:"450222",name:"柳城县",parent:"450200"},{value:"450223",name:"鹿寨县",parent:"450200"},{value:"450224",name:"融安县",parent:"450200"},{value:"450225",name:"融水苗族自治县",parent:"450200"},{value:"450226",name:"三江侗族自治县",parent:"450200"},{value:"450227",name:"其它区",parent:"450200"},{value:"450302",name:"秀峰区",parent:"450300"},{value:"450303",name:"叠彩区",parent:"450300"},{value:"450304",name:"象山区",parent:"450300"},{value:"450305",name:"七星区",parent:"450300"},{value:"450311",name:"雁山区",parent:"450300"},{value:"450321",name:"阳朔县",parent:"450300"},{value:"450322",name:"临桂区",parent:"450300"},{value:"450323",name:"灵川县",parent:"450300"},{value:"450324",name:"全州县",parent:"450300"},{value:"450325",name:"兴安县",parent:"450300"},{value:"450326",name:"永福县",parent:"450300"},{value:"450327",name:"灌阳县",parent:"450300"},{value:"450328",name:"龙胜各族自治县",parent:"450300"},{value:"450329",name:"资源县",parent:"450300"},{value:"450330",name:"平乐县",parent:"450300"},{value:"450331",name:"荔浦县",parent:"450300"},{value:"450332",name:"恭城瑶族自治县",parent:"450300"},{value:"450333",name:"其它区",parent:"450300"},{value:"450403",name:"万秀区",parent:"450400"},{value:"450404",name:"蝶山区",parent:"450400"},{value:"450405",name:"长洲区",parent:"450400"},{value:"450406",name:"龙圩区",parent:"450400"},{value:"450421",name:"苍梧县",parent:"450400"},{value:"450422",name:"藤县",parent:"450400"},{value:"450423",name:"蒙山县",parent:"450400"},{value:"450481",name:"岑溪市",parent:"450400"},{value:"450482",name:"其它区",parent:"450400"},{value:"450502",name:"海城区",parent:"450500"},{value:"450503",name:"银海区",parent:"450500"},{value:"450512",name:"铁山港区",parent:"450500"},{value:"450521",name:"合浦县",parent:"450500"},{value:"450522",name:"其它区",parent:"450500"},{value:"450602",name:"港口区",parent:"450600"},{value:"450603",name:"防城区",parent:"450600"},{value:"450621",name:"上思县",parent:"450600"},{value:"450681",name:"东兴市",parent:"450600"},{value:"450682",name:"其它区",parent:"450600"},{value:"450702",name:"钦南区",parent:"450700"},{value:"450703",name:"钦北区",parent:"450700"},{value:"450721",name:"灵山县",parent:"450700"},{value:"450722",name:"浦北县",parent:"450700"},{value:"450723",name:"其它区",parent:"450700"},{value:"450802",name:"港北区",parent:"450800"},{value:"450803",name:"港南区",parent:"450800"},{value:"450804",name:"覃塘区",parent:"450800"},{value:"450821",name:"平南县",parent:"450800"},{value:"450881",name:"桂平市",parent:"450800"},{value:"450882",name:"其它区",parent:"450800"},{value:"450902",name:"玉州区",parent:"450900"},{value:"450903",name:"福绵区",parent:"450900"},{value:"450921",name:"容县",parent:"450900"},{value:"450922",name:"陆川县",parent:"450900"},{value:"450923",name:"博白县",parent:"450900"},{value:"450924",name:"兴业县",parent:"450900"},{value:"450981",name:"北流市",parent:"450900"},{value:"450982",name:"其它区",parent:"450900"},{value:"451002",name:"右江区",parent:"451000"},{value:"451021",name:"田阳县",parent:"451000"},{value:"451022",name:"田东县",parent:"451000"},{value:"451023",name:"平果县",parent:"451000"},{value:"451024",name:"德保县",parent:"451000"},{value:"451025",name:"靖西县",parent:"451000"},{value:"451026",name:"那坡县",parent:"451000"},{value:"451027",name:"凌云县",parent:"451000"},{value:"451028",name:"乐业县",parent:"451000"},{value:"451029",name:"田林县",parent:"451000"},{value:"451030",name:"西林县",parent:"451000"},{value:"451031",name:"隆林各族自治县",parent:"451000"},{value:"451032",name:"其它区",parent:"451000"},{value:"451102",name:"八步区",parent:"451100"},{value:"451119",name:"平桂管理区",parent:"451100"},{value:"451121",name:"昭平县",parent:"451100"},{value:"451122",name:"钟山县",parent:"451100"},{value:"451123",name:"富川瑶族自治县",parent:"451100"},{value:"451124",name:"其它区",parent:"451100"},{value:"451202",name:"金城江区",parent:"451200"},{value:"451221",name:"南丹县",parent:"451200"},{value:"451222",name:"天峨县",parent:"451200"},{value:"451223",name:"凤山县",parent:"451200"},{value:"451224",name:"东兰县",parent:"451200"},{value:"451225",name:"罗城仫佬族自治县",parent:"451200"},{value:"451226",name:"环江毛南族自治县",parent:"451200"},{value:"451227",name:"巴马瑶族自治县",parent:"451200"},{value:"451228",name:"都安瑶族自治县",parent:"451200"},{value:"451229",name:"大化瑶族自治县",parent:"451200"},{value:"451281",name:"宜州市",parent:"451200"},{value:"451282",name:"其它区",parent:"451200"},{value:"451302",name:"兴宾区",parent:"451300"},{value:"451321",name:"忻城县",parent:"451300"},{value:"451322",name:"象州县",parent:"451300"},{value:"451323",name:"武宣县",parent:"451300"},{value:"451324",name:"金秀瑶族自治县",parent:"451300"},{value:"451381",name:"合山市",parent:"451300"},{value:"451382",name:"其它区",parent:"451300"},{value:"451402",name:"江州区",parent:"451400"},{value:"451421",name:"扶绥县",parent:"451400"},{value:"451422",name:"宁明县",parent:"451400"},{value:"451423",name:"龙州县",parent:"451400"},{value:"451424",name:"大新县",parent:"451400"},{value:"451425",name:"天等县",parent:"451400"},{value:"451481",name:"凭祥市",parent:"451400"},{value:"451482",name:"其它区",parent:"451400"},{value:"460105",name:"秀英区",parent:"460100"},{value:"460106",name:"龙华区",parent:"460100"},{value:"460107",name:"琼山区",parent:"460100"},{value:"460108",name:"美兰区",parent:"460100"},{value:"460109",name:"其它区",parent:"460100"},{value:"460321",name:"西沙群岛",parent:"460300"},{value:"460322",name:"南沙群岛",parent:"460300"},{value:"460323",name:"中沙群岛的岛礁及其海域",parent:"460300"},{value:"469001",name:"五指山市",parent:"460000"},{value:"469002",name:"琼海市",parent:"460000"},{value:"469003",name:"儋州市",parent:"460000"},{value:"469005",name:"文昌市",parent:"460000"},{value:"469006",name:"万宁市",parent:"460000"},{value:"469007",name:"东方市",parent:"460000"},{value:"469025",name:"定安县",parent:"460000"},{value:"469026",name:"屯昌县",parent:"460000"},{value:"469027",name:"澄迈县",parent:"460000"},{value:"469028",name:"临高县",parent:"460000"},{value:"469030",name:"白沙黎族自治县",parent:"460000"},{value:"469031",name:"昌江黎族自治县",parent:"460000"},{value:"469033",name:"乐东黎族自治县",parent:"460000"},{value:"469034",name:"陵水黎族自治县",parent:"460000"},{value:"469035",name:"保亭黎族苗族自治县",parent:"460000"},{value:"469036",name:"琼中黎族苗族自治县",parent:"460000"},{value:"469037",name:"西沙群岛",parent:"460000"},{value:"469038",name:"南沙群岛",parent:"460000"},{value:"469039",name:"中沙群岛的岛礁及其海域",parent:"460000"},{value:"471004",name:"高新区",parent:"410300"},{value:"471005",name:"其它区",parent:"410300"},{value:"500101",name:"万州区",parent:"500100"},{value:"500102",name:"涪陵区",parent:"500100"},{value:"500103",name:"渝中区",parent:"500100"},{value:"500104",name:"大渡口区",parent:"500100"},{value:"500105",name:"江北区",parent:"500100"},{value:"500106",name:"沙坪坝区",parent:"500100"},{value:"500107",name:"九龙坡区",parent:"500100"},{value:"500108",name:"南岸区",parent:"500100"},{value:"500109",name:"北碚区",parent:"500100"},{value:"500110",name:"万盛区",parent:"500100"},{value:"500111",name:"双桥区",parent:"500100"},{value:"500112",name:"渝北区",parent:"500100"},{value:"500113",name:"巴南区",parent:"500100"},{value:"500114",name:"黔江区",parent:"500100"},{value:"500115",name:"长寿区",parent:"500100"},{value:"500222",name:"綦江区",parent:"500100"},{value:"500223",name:"潼南县",parent:"500100"},{value:"500224",name:"铜梁区",parent:"500100"},{value:"500225",name:"大足区",parent:"500100"},{value:"500226",name:"荣昌县",parent:"500100"},{value:"500227",name:"璧山区",parent:"500100"},{value:"500228",name:"梁平县",parent:"500100"},{value:"500229",name:"城口县",parent:"500100"},{value:"500230",name:"丰都县",parent:"500100"},{value:"500231",name:"垫江县",parent:"500100"},{value:"500232",name:"武隆县",parent:"500100"},{value:"500233",name:"忠县",parent:"500100"},{value:"500234",name:"开县",parent:"500100"},{value:"500235",name:"云阳县",parent:"500100"},{value:"500236",name:"奉节县",parent:"500100"},{value:"500237",name:"巫山县",parent:"500100"},{value:"500238",name:"巫溪县",parent:"500100"},{value:"500240",name:"石柱土家族自治县",parent:"500100"},{value:"500241",name:"秀山土家族苗族自治县",parent:"500100"},{value:"500242",name:"酉阳土家族苗族自治县",parent:"500100"},{value:"500243",name:"彭水苗族土家族自治县",parent:"500100"},{value:"500381",name:"江津区",parent:"500100"},{value:"500382",name:"合川区",parent:"500100"},{value:"500383",name:"永川区",parent:"500100"},{value:"500384",name:"南川区",parent:"500100"},{value:"500385",name:"其它区",parent:"500100"},{value:"510104",name:"锦江区",parent:"510100"},{value:"510105",name:"青羊区",parent:"510100"},{value:"510106",name:"金牛区",parent:"510100"},{value:"510107",name:"武侯区",parent:"510100"},{value:"510108",name:"成华区",parent:"510100"},{value:"510112",name:"龙泉驿区",parent:"510100"},{value:"510113",name:"青白江区",parent:"510100"},{value:"510114",name:"新都区",parent:"510100"},{value:"510115",name:"温江区",parent:"510100"},{value:"510121",name:"金堂县",parent:"510100"},{value:"510122",name:"双流县",parent:"510100"},{value:"510124",name:"郫县",parent:"510100"},{value:"510129",name:"大邑县",parent:"510100"},{value:"510131",name:"蒲江县",parent:"510100"},{value:"510132",name:"新津县",parent:"510100"},{value:"510181",name:"都江堰市",parent:"510100"},{value:"510182",name:"彭州市",parent:"510100"},{value:"510183",name:"邛崃市",parent:"510100"},{value:"510184",name:"崇州市",parent:"510100"},{value:"510185",name:"其它区",parent:"510100"},{value:"510302",name:"自流井区",parent:"510300"},{value:"510303",name:"贡井区",parent:"510300"},{value:"510304",name:"大安区",parent:"510300"},{value:"510311",name:"沿滩区",parent:"510300"},{value:"510321",name:"荣县",parent:"510300"},{value:"510322",name:"富顺县",parent:"510300"},{value:"510323",name:"其它区",parent:"510300"},{value:"510402",name:"东区",parent:"510400"},{value:"510403",name:"西区",parent:"510400"},{value:"510411",name:"仁和区",parent:"510400"},{value:"510421",name:"米易县",parent:"510400"},{value:"510422",name:"盐边县",parent:"510400"},{value:"510423",name:"其它区",parent:"510400"},{value:"510502",name:"江阳区",parent:"510500"},{value:"510503",name:"纳溪区",parent:"510500"},{value:"510504",name:"龙马潭区",parent:"510500"},{value:"510521",name:"泸县",parent:"510500"},{value:"510522",name:"合江县",parent:"510500"},{value:"510524",name:"叙永县",parent:"510500"},{value:"510525",name:"古蔺县",parent:"510500"},{value:"510526",name:"其它区",parent:"510500"},{value:"510603",name:"旌阳区",parent:"510600"},{value:"510623",name:"中江县",parent:"510600"},{value:"510626",name:"罗江县",parent:"510600"},{value:"510681",name:"广汉市",parent:"510600"},{value:"510682",name:"什邡市",parent:"510600"},{value:"510683",name:"绵竹市",parent:"510600"},{value:"510684",name:"其它区",parent:"510600"},{value:"510703",name:"涪城区",parent:"510700"},{value:"510704",name:"游仙区",parent:"510700"},{value:"510722",name:"三台县",parent:"510700"},{value:"510723",name:"盐亭县",parent:"510700"},{value:"510724",name:"安县",parent:"510700"},{value:"510725",name:"梓潼县",parent:"510700"},{value:"510726",name:"北川羌族自治县",parent:"510700"},{value:"510727",name:"平武县",parent:"510700"},{value:"510751",name:"高新区",parent:"510700"},{value:"510781",name:"江油市",parent:"510700"},{value:"510782",name:"其它区",parent:"510700"},{value:"510802",name:"利州区",parent:"510800"},{value:"510811",name:"昭化区",parent:"510800"},{value:"510812",name:"朝天区",parent:"510800"},{value:"510821",name:"旺苍县",parent:"510800"},{value:"510822",name:"青川县",parent:"510800"},{value:"510823",name:"剑阁县",parent:"510800"},{value:"510824",name:"苍溪县",parent:"510800"},{value:"510825",name:"其它区",parent:"510800"},{value:"510903",name:"船山区",parent:"510900"},{value:"510904",name:"安居区",parent:"510900"},{value:"510921",name:"蓬溪县",parent:"510900"},{value:"510922",name:"射洪县",parent:"510900"},{value:"510923",name:"大英县",parent:"510900"},{value:"510924",name:"其它区",parent:"510900"},{value:"511002",name:"市中区",parent:"511000"},{value:"511011",name:"东兴区",parent:"511000"},{value:"511024",name:"威远县",parent:"511000"},{value:"511025",name:"资中县",parent:"511000"},{value:"511028",name:"隆昌县",parent:"511000"},{value:"511029",name:"其它区",parent:"511000"},{value:"511102",name:"市中区",parent:"511100"},{value:"511111",name:"沙湾区",parent:"511100"},{value:"511112",name:"五通桥区",parent:"511100"},{value:"511113",name:"金口河区",parent:"511100"},{value:"511123",name:"犍为县",parent:"511100"},{value:"511124",name:"井研县",parent:"511100"},{value:"511126",name:"夹江县",parent:"511100"},{value:"511129",name:"沐川县",parent:"511100"},{value:"511132",name:"峨边彝族自治县",parent:"511100"},{value:"511133",name:"马边彝族自治县",parent:"511100"},{value:"511181",name:"峨眉山市",parent:"511100"},{value:"511182",name:"其它区",parent:"511100"},{value:"511302",name:"顺庆区",parent:"511300"},{value:"511303",name:"高坪区",parent:"511300"},{value:"511304",name:"嘉陵区",parent:"511300"},{value:"511321",name:"南部县",parent:"511300"},{value:"511322",name:"营山县",parent:"511300"},{value:"511323",name:"蓬安县",parent:"511300"},{value:"511324",name:"仪陇县",parent:"511300"},{value:"511325",name:"西充县",parent:"511300"},{value:"511381",name:"阆中市",parent:"511300"},{value:"511382",name:"其它区",parent:"511300"},{value:"511402",name:"东坡区",parent:"511400"},{value:"511421",name:"仁寿县",parent:"511400"},{value:"511422",name:"彭山区",parent:"511400"},{value:"511423",name:"洪雅县",parent:"511400"},{value:"511424",name:"丹棱县",parent:"511400"},{value:"511425",name:"青神县",parent:"511400"},{value:"511426",name:"其它区",parent:"511400"},{value:"511502",name:"翠屏区",parent:"511500"},{value:"511521",name:"宜宾县",parent:"511500"},{value:"511522",name:"南溪区",parent:"511500"},{value:"511523",name:"江安县",parent:"511500"},{value:"511524",name:"长宁县",parent:"511500"},{value:"511525",name:"高县",parent:"511500"},{value:"511526",name:"珙县",parent:"511500"},{value:"511527",name:"筠连县",parent:"511500"},{value:"511528",name:"兴文县",parent:"511500"},{value:"511529",name:"屏山县",parent:"511500"},{value:"511530",name:"其它区",parent:"511500"},{value:"511602",name:"广安区",parent:"511600"},{value:"511603",name:"前锋区",parent:"511600"},{value:"511621",name:"岳池县",parent:"511600"},{value:"511622",name:"武胜县",parent:"511600"},{value:"511623",name:"邻水县",parent:"511600"},{value:"511681",name:"华蓥市",parent:"511600"},{value:"511682",name:"市辖区",parent:"511600"},{value:"511683",name:"其它区",parent:"511600"},{value:"511702",name:"通川区",parent:"511700"},{value:"511721",name:"达川区",parent:"511700"},{value:"511722",name:"宣汉县",parent:"511700"},{value:"511723",name:"开江县",parent:"511700"},{value:"511724",name:"大竹县",parent:"511700"},{value:"511725",name:"渠县",parent:"511700"},{value:"511781",name:"万源市",parent:"511700"},{value:"511782",name:"其它区",parent:"511700"},{value:"511802",name:"雨城区",parent:"511800"},{value:"511821",name:"名山区",parent:"511800"},{value:"511822",name:"荥经县",parent:"511800"},{value:"511823",name:"汉源县",parent:"511800"},{value:"511824",name:"石棉县",parent:"511800"},{value:"511825",name:"天全县",parent:"511800"},{value:"511826",name:"芦山县",parent:"511800"},{value:"511827",name:"宝兴县",parent:"511800"},{value:"511828",name:"其它区",parent:"511800"},{value:"511902",name:"巴州区",parent:"511900"},{value:"511903",name:"恩阳区",parent:"511900"},{value:"511921",name:"通江县",parent:"511900"},{value:"511922",name:"南江县",parent:"511900"},{value:"511923",name:"平昌县",parent:"511900"},{value:"511924",name:"其它区",parent:"511900"},{value:"512002",name:"雁江区",parent:"512000"},{value:"512021",name:"安岳县",parent:"512000"},{value:"512022",name:"乐至县",parent:"512000"},{value:"512081",name:"简阳市",parent:"512000"},{value:"512082",name:"其它区",parent:"512000"},{value:"513221",name:"汶川县",parent:"513200"},{value:"513222",name:"理县",parent:"513200"},{value:"513223",name:"茂县",parent:"513200"},{value:"513224",name:"松潘县",parent:"513200"},{value:"513225",name:"九寨沟县",parent:"513200"},{value:"513226",name:"金川县",parent:"513200"},{value:"513227",name:"小金县",parent:"513200"},{value:"513228",name:"黑水县",parent:"513200"},{value:"513229",name:"马尔康县",parent:"513200"},{value:"513230",name:"壤塘县",parent:"513200"},{value:"513231",name:"阿坝县",parent:"513200"},{value:"513232",name:"若尔盖县",parent:"513200"},{value:"513233",name:"红原县",parent:"513200"},{value:"513234",name:"其它区",parent:"513200"},{value:"513321",name:"康定市",parent:"513300"},{value:"513322",name:"泸定县",parent:"513300"},{value:"513323",name:"丹巴县",parent:"513300"},{value:"513324",name:"九龙县",parent:"513300"},{value:"513325",name:"雅江县",parent:"513300"},{value:"513326",name:"道孚县",parent:"513300"},{value:"513327",name:"炉霍县",parent:"513300"},{value:"513328",name:"甘孜县",parent:"513300"},{value:"513329",name:"新龙县",parent:"513300"},{value:"513330",name:"德格县",parent:"513300"},{value:"513331",name:"白玉县",parent:"513300"},{value:"513332",name:"石渠县",parent:"513300"},{value:"513333",name:"色达县",parent:"513300"},{value:"513334",name:"理塘县",parent:"513300"},{value:"513335",name:"巴塘县",parent:"513300"},{value:"513336",name:"乡城县",parent:"513300"},{value:"513337",name:"稻城县",parent:"513300"},{value:"513338",name:"得荣县",parent:"513300"},{value:"513339",name:"其它区",parent:"513300"},{value:"513401",name:"西昌市",parent:"513400"},{value:"513422",name:"木里藏族自治县",parent:"513400"},{value:"513423",name:"盐源县",parent:"513400"},{value:"513424",name:"德昌县",parent:"513400"},{value:"513425",name:"会理县",parent:"513400"},{value:"513426",name:"会东县",parent:"513400"},{value:"513427",name:"宁南县",parent:"513400"},{value:"513428",name:"普格县",parent:"513400"},{value:"513429",name:"布拖县",parent:"513400"},{value:"513430",name:"金阳县",parent:"513400"},{value:"513431",name:"昭觉县",parent:"513400"},{value:"513432",name:"喜德县",parent:"513400"},{value:"513433",name:"冕宁县",parent:"513400"},{value:"513434",name:"越西县",parent:"513400"},{value:"513435",name:"甘洛县",parent:"513400"},{value:"513436",name:"美姑县",parent:"513400"},{value:"513437",name:"雷波县",parent:"513400"},{value:"513438",name:"其它区",parent:"513400"},{value:"520102",name:"南明区",parent:"520100"},{value:"520103",name:"云岩区",parent:"520100"},{value:"520111",name:"花溪区",parent:"520100"},{value:"520112",name:"乌当区",parent:"520100"},{value:"520113",name:"白云区",parent:"520100"},{value:"520114",name:"小河区",parent:"520100"},{value:"520121",name:"开阳县",parent:"520100"},{value:"520122",name:"息烽县",parent:"520100"},{value:"520123",name:"修文县",parent:"520100"},{value:"520151",name:"观山湖区",parent:"520100"},{value:"520181",name:"清镇市",parent:"520100"},{value:"520182",name:"其它区",parent:"520100"},{value:"520201",name:"钟山区",parent:"520200"},{value:"520203",name:"六枝特区",parent:"520200"},{value:"520221",name:"水城县",parent:"520200"},{value:"520222",name:"盘县",parent:"520200"},{value:"520223",name:"其它区",parent:"520200"},{value:"520302",name:"红花岗区",parent:"520300"},{value:"520303",name:"汇川区",parent:"520300"},{value:"520321",name:"遵义县",parent:"520300"},{value:"520322",name:"桐梓县",parent:"520300"},{value:"520323",name:"绥阳县",parent:"520300"},{value:"520324",name:"正安县",parent:"520300"},{value:"520325",name:"道真仡佬族苗族自治县",parent:"520300"},{value:"520326",name:"务川仡佬族苗族自治县",parent:"520300"},{value:"520327",name:"凤冈县",parent:"520300"},{value:"520328",name:"湄潭县",parent:"520300"},{value:"520329",name:"余庆县",parent:"520300"},{value:"520330",name:"习水县",parent:"520300"},{value:"520381",name:"赤水市",parent:"520300"},{value:"520382",name:"仁怀市",parent:"520300"},{value:"520383",name:"其它区",parent:"520300"},{value:"520402",name:"西秀区",parent:"520400"},{value:"520421",name:"平坝区",parent:"520400"},{value:"520422",name:"普定县",parent:"520400"},{value:"520423",name:"镇宁布依族苗族自治县",parent:"520400"},{value:"520424",name:"关岭布依族苗族自治县",parent:"520400"},{value:"520425",name:"紫云苗族布依族自治县",parent:"520400"},{value:"520426",name:"其它区",parent:"520400"},{value:"522201",name:"碧江区",parent:"522200"},{value:"522222",name:"江口县",parent:"522200"},{value:"522223",name:"玉屏侗族自治县",parent:"522200"},{value:"522224",name:"石阡县",parent:"522200"},{value:"522225",name:"思南县",parent:"522200"},{value:"522226",name:"印江土家族苗族自治县",parent:"522200"},{value:"522227",name:"德江县",parent:"522200"},{value:"522228",name:"沿河土家族自治县",parent:"522200"},{value:"522229",name:"松桃苗族自治县",parent:"522200"},{value:"522230",name:"万山区",parent:"522200"},{value:"522231",name:"其它区",parent:"522200"},{value:"522301",name:"兴义市",parent:"522300"},{value:"522322",name:"兴仁县",parent:"522300"},{value:"522323",name:"普安县",parent:"522300"},{value:"522324",name:"晴隆县",parent:"522300"},{value:"522325",name:"贞丰县",parent:"522300"},{value:"522326",name:"望谟县",parent:"522300"},{value:"522327",name:"册亨县",parent:"522300"},{value:"522328",name:"安龙县",parent:"522300"},{value:"522329",name:"其它区",parent:"522300"},{value:"522401",name:"七星关区",parent:"522400"},{value:"522422",name:"大方县",parent:"522400"},{value:"522423",name:"黔西县",parent:"522400"},{value:"522424",name:"金沙县",parent:"522400"},{value:"522425",name:"织金县",parent:"522400"},{value:"522426",name:"纳雍县",parent:"522400"},{value:"522427",name:"威宁彝族回族苗族自治县",parent:"522400"},{value:"522428",name:"赫章县",parent:"522400"},{value:"522429",name:"其它区",parent:"522400"},{value:"522601",name:"凯里市",parent:"522600"},{value:"522622",name:"黄平县",parent:"522600"},{value:"522623",name:"施秉县",parent:"522600"},{value:"522624",name:"三穗县",parent:"522600"},{value:"522625",name:"镇远县",parent:"522600"},{value:"522626",name:"岑巩县",parent:"522600"},{value:"522627",name:"天柱县",parent:"522600"},{value:"522628",name:"锦屏县",parent:"522600"},{value:"522629",name:"剑河县",parent:"522600"},{value:"522630",name:"台江县",parent:"522600"},{value:"522631",name:"黎平县",parent:"522600"},{value:"522632",name:"榕江县",parent:"522600"},{value:"522633",name:"从江县",parent:"522600"},{value:"522634",name:"雷山县",parent:"522600"},{value:"522635",name:"麻江县",parent:"522600"},{value:"522636",name:"丹寨县",parent:"522600"},{value:"522637",name:"其它区",parent:"522600"},{value:"522701",name:"都匀市",parent:"522700"},{value:"522702",name:"福泉市",parent:"522700"},{value:"522722",name:"荔波县",parent:"522700"},{value:"522723",name:"贵定县",parent:"522700"},{value:"522725",name:"瓮安县",parent:"522700"},{value:"522726",name:"独山县",parent:"522700"},{value:"522727",name:"平塘县",parent:"522700"},{value:"522728",name:"罗甸县",parent:"522700"},{value:"522729",name:"长顺县",parent:"522700"},{value:"522730",name:"龙里县",parent:"522700"},{value:"522731",name:"惠水县",parent:"522700"},{value:"522732",name:"三都水族自治县",parent:"522700"},{value:"522733",name:"其它区",parent:"522700"},{value:"530102",name:"五华区",parent:"530100"},{value:"530103",name:"盘龙区",parent:"530100"},{value:"530111",name:"官渡区",parent:"530100"},{value:"530112",name:"西山区",parent:"530100"},{value:"530113",name:"东川区",parent:"530100"},{value:"530121",name:"呈贡区",parent:"530100"},{value:"530122",name:"晋宁县",parent:"530100"},{value:"530124",name:"富民县",parent:"530100"},{value:"530125",name:"宜良县",parent:"530100"},{value:"530126",name:"石林彝族自治县",parent:"530100"},{value:"530127",name:"嵩明县",parent:"530100"},{value:"530128",name:"禄劝彝族苗族自治县",parent:"530100"},{value:"530129",name:"寻甸回族彝族自治县",parent:"530100"},{value:"530181",name:"安宁市",parent:"530100"},{value:"530182",name:"其它区",parent:"530100"},{value:"530302",name:"麒麟区",parent:"530300"},{value:"530321",name:"马龙县",parent:"530300"},{value:"530322",name:"陆良县",parent:"530300"},{value:"530323",name:"师宗县",parent:"530300"},{value:"530324",name:"罗平县",parent:"530300"},{value:"530325",name:"富源县",parent:"530300"},{value:"530326",name:"会泽县",parent:"530300"},{value:"530328",name:"沾益县",parent:"530300"},{value:"530381",name:"宣威市",parent:"530300"},{value:"530382",name:"其它区",parent:"530300"},{value:"530402",name:"红塔区",parent:"530400"},{value:"530421",name:"江川县",parent:"530400"},{value:"530422",name:"澄江县",parent:"530400"},{value:"530423",name:"通海县",parent:"530400"},{value:"530424",name:"华宁县",parent:"530400"},{value:"530425",name:"易门县",parent:"530400"},{value:"530426",name:"峨山彝族自治县",parent:"530400"},{value:"530427",name:"新平彝族傣族自治县",parent:"530400"},{value:"530428",name:"元江哈尼族彝族傣族自治县",parent:"530400"},{value:"530429",name:"其它区",parent:"530400"},{value:"530502",name:"隆阳区",parent:"530500"},{value:"530521",name:"施甸县",parent:"530500"},{value:"530522",name:"腾冲县",parent:"530500"},{value:"530523",name:"龙陵县",parent:"530500"},{value:"530524",name:"昌宁县",parent:"530500"},{value:"530525",name:"其它区",parent:"530500"},{value:"530602",name:"昭阳区",parent:"530600"},{value:"530621",name:"鲁甸县",parent:"530600"},{value:"530622",name:"巧家县",parent:"530600"},{value:"530623",name:"盐津县",parent:"530600"},{value:"530624",name:"大关县",parent:"530600"},{value:"530625",name:"永善县",parent:"530600"},{value:"530626",name:"绥江县",parent:"530600"},{value:"530627",name:"镇雄县",parent:"530600"},{value:"530628",name:"彝良县",parent:"530600"},{value:"530629",name:"威信县",parent:"530600"},{value:"530630",name:"水富县",parent:"530600"},{value:"530631",name:"其它区",parent:"530600"},{value:"530702",name:"古城区",parent:"530700"},{value:"530721",name:"玉龙纳西族自治县",parent:"530700"},{value:"530722",name:"永胜县",parent:"530700"},{value:"530723",name:"华坪县",parent:"530700"},{value:"530724",name:"宁蒗彝族自治县",parent:"530700"},{value:"530725",name:"其它区",parent:"530700"},{value:"530802",name:"思茅区",parent:"530800"},{value:"530821",name:"宁洱哈尼族彝族自治县",parent:"530800"},{value:"530822",name:"墨江哈尼族自治县",parent:"530800"},{value:"530823",name:"景东彝族自治县",parent:"530800"},{value:"530824",name:"景谷傣族彝族自治县",parent:"530800"},{value:"530825",name:"镇沅彝族哈尼族拉祜族自治县",parent:"530800"},{value:"530826",name:"江城哈尼族彝族自治县",parent:"530800"},{value:"530827",name:"孟连傣族拉祜族佤族自治县",parent:"530800"},{value:"530828",name:"澜沧拉祜族自治县",parent:"530800"},{value:"530829",name:"西盟佤族自治县",parent:"530800"},{value:"530830",name:"其它区",parent:"530800"},{value:"530902",name:"临翔区",parent:"530900"},{value:"530921",name:"凤庆县",parent:"530900"},{value:"530922",name:"云县",parent:"530900"},{value:"530923",name:"永德县",parent:"530900"},{value:"530924",name:"镇康县",parent:"530900"},{value:"530925",name:"双江拉祜族佤族布朗族傣族自治县",parent:"530900"},{value:"530926",name:"耿马傣族佤族自治县",parent:"530900"},{value:"530927",name:"沧源佤族自治县",parent:"530900"},{value:"530928",name:"其它区",parent:"530900"},{value:"532301",name:"楚雄市",parent:"532300"},{value:"532322",name:"双柏县",parent:"532300"},{value:"532323",name:"牟定县",parent:"532300"},{value:"532324",name:"南华县",parent:"532300"},{value:"532325",name:"姚安县",parent:"532300"},{value:"532326",name:"大姚县",parent:"532300"},{value:"532327",name:"永仁县",parent:"532300"},{value:"532328",name:"元谋县",parent:"532300"},{value:"532329",name:"武定县",parent:"532300"},{value:"532331",name:"禄丰县",parent:"532300"},{value:"532332",name:"其它区",parent:"532300"},{value:"532501",name:"个旧市",parent:"532500"},{value:"532502",name:"开远市",parent:"532500"},{value:"532522",name:"蒙自市",parent:"532500"},{value:"532523",name:"屏边苗族自治县",parent:"532500"},{value:"532524",name:"建水县",parent:"532500"},{value:"532525",name:"石屏县",parent:"532500"},{value:"532526",name:"弥勒市",parent:"532500"},{value:"532527",name:"泸西县",parent:"532500"},{value:"532528",name:"元阳县",parent:"532500"},{value:"532529",name:"红河县",parent:"532500"},{value:"532530",name:"金平苗族瑶族傣族自治县",parent:"532500"},{value:"532531",name:"绿春县",parent:"532500"},{value:"532532",name:"河口瑶族自治县",parent:"532500"},{value:"532533",name:"其它区",parent:"532500"},{value:"532621",name:"文山市",parent:"532600"},{value:"532622",name:"砚山县",parent:"532600"},{value:"532623",name:"西畴县",parent:"532600"},{value:"532624",name:"麻栗坡县",parent:"532600"},{value:"532625",name:"马关县",parent:"532600"},{value:"532626",name:"丘北县",parent:"532600"},{value:"532627",name:"广南县",parent:"532600"},{value:"532628",name:"富宁县",parent:"532600"},{value:"532629",name:"其它区",parent:"532600"},{value:"532801",name:"景洪市",parent:"532800"},{value:"532822",name:"勐海县",parent:"532800"},{value:"532823",name:"勐腊县",parent:"532800"},{value:"532824",name:"其它区",parent:"532800"},{value:"532901",name:"大理市",parent:"532900"},{value:"532922",name:"漾濞彝族自治县",parent:"532900"},{value:"532923",name:"祥云县",parent:"532900"},{value:"532924",name:"宾川县",parent:"532900"},{value:"532925",name:"弥渡县",parent:"532900"},{value:"532926",name:"南涧彝族自治县",parent:"532900"},{value:"532927",name:"巍山彝族回族自治县",parent:"532900"},{value:"532928",name:"永平县",parent:"532900"},{value:"532929",name:"云龙县",parent:"532900"},{value:"532930",name:"洱源县",parent:"532900"},{value:"532931",name:"剑川县",parent:"532900"},{value:"532932",name:"鹤庆县",parent:"532900"},{value:"532933",name:"其它区",parent:"532900"},{value:"533102",name:"瑞丽市",parent:"533100"},{value:"533103",name:"芒市",parent:"533100"},{value:"533122",name:"梁河县",parent:"533100"},{value:"533123",name:"盈江县",parent:"533100"},{value:"533124",name:"陇川县",parent:"533100"},{value:"533125",name:"其它区",parent:"533100"},{value:"533321",name:"泸水县",parent:"533300"},{value:"533323",name:"福贡县",parent:"533300"},{value:"533324",name:"贡山独龙族怒族自治县",parent:"533300"},{value:"533325",name:"兰坪白族普米族自治县",parent:"533300"},{value:"533326",name:"其它区",parent:"533300"},{value:"533421",name:"香格里拉市",parent:"533400"},{value:"533422",name:"德钦县",parent:"533400"},{value:"533423",name:"维西傈僳族自治县",parent:"533400"},{value:"533424",name:"其它区",parent:"533400"},{value:"540102",name:"城关区",parent:"540100"},{value:"540121",name:"林周县",parent:"540100"},{value:"540122",name:"当雄县",parent:"540100"},{value:"540123",name:"尼木县",parent:"540100"},{value:"540124",name:"曲水县",parent:"540100"},{value:"540125",name:"堆龙德庆县",parent:"540100"},{value:"540126",name:"达孜县",parent:"540100"},{value:"540127",name:"墨竹工卡县",parent:"540100"},{value:"540128",name:"其它区",parent:"540100"},{value:"542121",name:"卡若区",parent:"542100"},{value:"542122",name:"江达县",parent:"542100"},{value:"542123",name:"贡觉县",parent:"542100"},{value:"542124",name:"类乌齐县",parent:"542100"},{value:"542125",name:"丁青县",parent:"542100"},{value:"542126",name:"察雅县",parent:"542100"},{value:"542127",name:"八宿县",parent:"542100"},{value:"542128",name:"左贡县",parent:"542100"},{value:"542129",name:"芒康县",parent:"542100"},{value:"542132",name:"洛隆县",parent:"542100"},{value:"542133",name:"边坝县",parent:"542100"},{value:"542134",name:"其它区",parent:"542100"},{value:"542221",name:"乃东县",parent:"542200"},{value:"542222",name:"扎囊县",parent:"542200"},{value:"542223",name:"贡嘎县",parent:"542200"},{value:"542224",name:"桑日县",parent:"542200"},{value:"542225",name:"琼结县",parent:"542200"},{value:"542226",name:"曲松县",parent:"542200"},{value:"542227",name:"措美县",parent:"542200"},{value:"542228",name:"洛扎县",parent:"542200"},{value:"542229",name:"加查县",parent:"542200"},{value:"542231",name:"隆子县",parent:"542200"},{value:"542232",name:"错那县",parent:"542200"},{value:"542233",name:"浪卡子县",parent:"542200"},{value:"542234",name:"其它区",parent:"542200"},{value:"542301",name:"桑珠孜区",parent:"542300"},{value:"542322",name:"南木林县",parent:"542300"},{value:"542323",name:"江孜县",parent:"542300"},{value:"542324",name:"定日县",parent:"542300"},{value:"542325",name:"萨迦县",parent:"542300"},{value:"542326",name:"拉孜县",parent:"542300"},{value:"542327",name:"昂仁县",parent:"542300"},{value:"542328",name:"谢通门县",parent:"542300"},{value:"542329",name:"白朗县",parent:"542300"},{value:"542330",name:"仁布县",parent:"542300"},{value:"542331",name:"康马县",parent:"542300"},{value:"542332",name:"定结县",parent:"542300"},{value:"542333",name:"仲巴县",parent:"542300"},{value:"542334",name:"亚东县",parent:"542300"},{value:"542335",name:"吉隆县",parent:"542300"},{value:"542336",name:"聂拉木县",parent:"542300"},{value:"542337",name:"萨嘎县",parent:"542300"},{value:"542338",name:"岗巴县",parent:"542300"},{value:"542339",name:"其它区",parent:"542300"},{value:"542421",name:"那曲县",parent:"542400"},{value:"542422",name:"嘉黎县",parent:"542400"},{value:"542423",name:"比如县",parent:"542400"},{value:"542424",name:"聂荣县",parent:"542400"},{value:"542425",name:"安多县",parent:"542400"},{value:"542426",name:"申扎县",parent:"542400"},{value:"542427",name:"索县",parent:"542400"},{value:"542428",name:"班戈县",parent:"542400"},{value:"542429",name:"巴青县",parent:"542400"},{value:"542430",name:"尼玛县",parent:"542400"},{value:"542431",name:"其它区",parent:"542400"},{value:"542432",name:"双湖县",parent:"542400"},{value:"542521",name:"普兰县",parent:"542500"},{value:"542522",name:"札达县",parent:"542500"},{value:"542523",name:"噶尔县",parent:"542500"},{value:"542524",name:"日土县",parent:"542500"},{value:"542525",name:"革吉县",parent:"542500"},{value:"542526",name:"改则县",parent:"542500"},{value:"542527",name:"措勤县",parent:"542500"},{value:"542528",name:"其它区",parent:"542500"},{value:"542621",name:"巴宜区",parent:"542600"},{value:"542622",name:"工布江达县",parent:"542600"},{value:"542623",name:"米林县",parent:"542600"},{value:"542624",name:"墨脱县",parent:"542600"},{value:"542625",name:"波密县",parent:"542600"},{value:"542626",name:"察隅县",parent:"542600"},{value:"542627",name:"朗县",parent:"542600"},{value:"542628",name:"其它区",parent:"542600"},{value:"610102",name:"新城区",parent:"610100"},{value:"610103",name:"碑林区",parent:"610100"},{value:"610104",name:"莲湖区",parent:"610100"},{value:"610111",name:"灞桥区",parent:"610100"},{value:"610112",name:"未央区",parent:"610100"},{value:"610113",name:"雁塔区",parent:"610100"},{value:"610114",name:"阎良区",parent:"610100"},{value:"610115",name:"临潼区",parent:"610100"},{value:"610116",name:"长安区",parent:"610100"},{value:"610122",name:"蓝田县",parent:"610100"},{value:"610124",name:"周至县",parent:"610100"},{value:"610125",name:"户县",parent:"610100"},{value:"610126",name:"高陵区",parent:"610100"},{value:"610127",name:"其它区",parent:"610100"},{value:"610202",name:"王益区",parent:"610200"},{value:"610203",name:"印台区",parent:"610200"},{value:"610204",name:"耀州区",parent:"610200"},{value:"610222",name:"宜君县",parent:"610200"},{value:"610223",name:"其它区",parent:"610200"},{value:"610302",name:"渭滨区",parent:"610300"},{value:"610303",name:"金台区",parent:"610300"},{value:"610304",name:"陈仓区",parent:"610300"},{value:"610322",name:"凤翔县",parent:"610300"},{value:"610323",name:"岐山县",parent:"610300"},{value:"610324",name:"扶风县",parent:"610300"},{value:"610326",name:"眉县",parent:"610300"},{value:"610327",name:"陇县",parent:"610300"},{value:"610328",name:"千阳县",parent:"610300"},{value:"610329",name:"麟游县",parent:"610300"},{value:"610330",name:"凤县",parent:"610300"},{value:"610331",name:"太白县",parent:"610300"},{value:"610332",name:"其它区",parent:"610300"},{value:"610402",name:"秦都区",parent:"610400"},{value:"610403",name:"杨陵区",parent:"610400"},{value:"610404",name:"渭城区",parent:"610400"},{value:"610422",name:"三原县",parent:"610400"},{value:"610423",name:"泾阳县",parent:"610400"},{value:"610424",name:"乾县",parent:"610400"},{value:"610425",name:"礼泉县",parent:"610400"},{value:"610426",name:"永寿县",parent:"610400"},{value:"610427",name:"彬县",parent:"610400"},{value:"610428",name:"长武县",parent:"610400"},{value:"610429",name:"旬邑县",parent:"610400"},{value:"610430",name:"淳化县",parent:"610400"},{value:"610431",name:"武功县",parent:"610400"},{value:"610481",name:"兴平市",parent:"610400"},{value:"610482",name:"其它区",parent:"610400"},{value:"610502",name:"临渭区",parent:"610500"},{value:"610521",name:"华县",parent:"610500"},{value:"610522",name:"潼关县",parent:"610500"},{value:"610523",name:"大荔县",parent:"610500"},{value:"610524",name:"合阳县",parent:"610500"},{value:"610525",name:"澄城县",parent:"610500"},{value:"610526",name:"蒲城县",parent:"610500"},{value:"610527",name:"白水县",parent:"610500"},{value:"610528",name:"富平县",parent:"610500"},{value:"610581",name:"韩城市",parent:"610500"},{value:"610582",name:"华阴市",parent:"610500"},{value:"610583",name:"其它区",parent:"610500"},{value:"610602",name:"宝塔区",parent:"610600"},{value:"610621",name:"延长县",parent:"610600"},{value:"610622",name:"延川县",parent:"610600"},{value:"610623",name:"子长县",parent:"610600"},{value:"610624",name:"安塞县",parent:"610600"},{value:"610625",name:"志丹县",parent:"610600"},{value:"610626",name:"吴起县",parent:"610600"},{value:"610627",name:"甘泉县",parent:"610600"},{value:"610628",name:"富县",parent:"610600"},{value:"610629",name:"洛川县",parent:"610600"},{value:"610630",name:"宜川县",parent:"610600"},{value:"610631",name:"黄龙县",parent:"610600"},{value:"610632",name:"黄陵县",parent:"610600"},{value:"610633",name:"其它区",parent:"610600"},{value:"610702",name:"汉台区",parent:"610700"},{value:"610721",name:"南郑县",parent:"610700"},{value:"610722",name:"城固县",parent:"610700"},{value:"610723",name:"洋县",parent:"610700"},{value:"610724",name:"西乡县",parent:"610700"},{value:"610725",name:"勉县",parent:"610700"},{value:"610726",name:"宁强县",parent:"610700"},{value:"610727",name:"略阳县",parent:"610700"},{value:"610728",name:"镇巴县",parent:"610700"},{value:"610729",name:"留坝县",parent:"610700"},{value:"610730",name:"佛坪县",parent:"610700"},{value:"610731",name:"其它区",parent:"610700"},{value:"610802",name:"榆阳区",parent:"610800"},{value:"610821",name:"神木县",parent:"610800"},{value:"610822",name:"府谷县",parent:"610800"},{value:"610823",name:"横山县",parent:"610800"},{value:"610824",name:"靖边县",parent:"610800"},{value:"610825",name:"定边县",parent:"610800"},{value:"610826",name:"绥德县",parent:"610800"},{value:"610827",name:"米脂县",parent:"610800"},{value:"610828",name:"佳县",parent:"610800"},{value:"610829",name:"吴堡县",parent:"610800"},{value:"610830",name:"清涧县",parent:"610800"},{value:"610831",name:"子洲县",parent:"610800"},{value:"610832",name:"其它区",parent:"610800"},{value:"610902",name:"汉滨区",parent:"610900"},{value:"610921",name:"汉阴县",parent:"610900"},{value:"610922",name:"石泉县",parent:"610900"},{value:"610923",name:"宁陕县",parent:"610900"},{value:"610924",name:"紫阳县",parent:"610900"},{value:"610925",name:"岚皋县",parent:"610900"},{value:"610926",name:"平利县",parent:"610900"},{value:"610927",name:"镇坪县",parent:"610900"},{value:"610928",name:"旬阳县",parent:"610900"},{value:"610929",name:"白河县",parent:"610900"},{value:"610930",name:"其它区",parent:"610900"},{value:"611002",name:"商州区",parent:"611000"},{value:"611021",name:"洛南县",parent:"611000"},{value:"611022",name:"丹凤县",parent:"611000"},{value:"611023",name:"商南县",parent:"611000"},{value:"611024",name:"山阳县",parent:"611000"},{value:"611025",name:"镇安县",parent:"611000"},{value:"611026",name:"柞水县",parent:"611000"},{value:"611027",name:"其它区",parent:"611000"},{value:"620102",name:"城关区",parent:"620100"},{value:"620103",name:"七里河区",parent:"620100"},{value:"620104",name:"西固区",parent:"620100"},{value:"620105",name:"安宁区",parent:"620100"},{value:"620111",name:"红古区",parent:"620100"},{value:"620121",name:"永登县",parent:"620100"},{value:"620122",name:"皋兰县",parent:"620100"},{value:"620123",name:"榆中县",parent:"620100"},{value:"620124",name:"其它区",parent:"620100"},{value:"620302",name:"金川区",parent:"620300"},{value:"620321",name:"永昌县",parent:"620300"},{value:"620322",name:"其它区",parent:"620300"},{value:"620402",name:"白银区",parent:"620400"},{value:"620403",name:"平川区",parent:"620400"},{value:"620421",name:"靖远县",parent:"620400"},{value:"620422",name:"会宁县",parent:"620400"},{value:"620423",name:"景泰县",parent:"620400"},{value:"620424",name:"其它区",parent:"620400"},{value:"620502",name:"秦州区",parent:"620500"},{value:"620503",name:"麦积区",parent:"620500"},{value:"620521",name:"清水县",parent:"620500"},{value:"620522",name:"秦安县",parent:"620500"},{value:"620523",name:"甘谷县",parent:"620500"},{value:"620524",name:"武山县",parent:"620500"},{value:"620525",name:"张家川回族自治县",parent:"620500"},{value:"620526",name:"其它区",parent:"620500"},{value:"620602",name:"凉州区",parent:"620600"},{value:"620621",name:"民勤县",parent:"620600"},{value:"620622",name:"古浪县",parent:"620600"},{value:"620623",name:"天祝藏族自治县",parent:"620600"},{value:"620624",name:"其它区",parent:"620600"},{value:"620702",name:"甘州区",parent:"620700"},{value:"620721",name:"肃南裕固族自治县",parent:"620700"},{value:"620722",name:"民乐县",parent:"620700"},{value:"620723",name:"临泽县",parent:"620700"},{value:"620724",name:"高台县",parent:"620700"},{value:"620725",name:"山丹县",parent:"620700"},{value:"620726",name:"其它区",parent:"620700"},{value:"620802",name:"崆峒区",parent:"620800"},{value:"620821",name:"泾川县",parent:"620800"},{value:"620822",name:"灵台县",parent:"620800"},{value:"620823",name:"崇信县",parent:"620800"},{value:"620824",name:"华亭县",parent:"620800"},{value:"620825",name:"庄浪县",parent:"620800"},{value:"620826",name:"静宁县",parent:"620800"},{value:"620827",name:"其它区",parent:"620800"},{value:"620902",name:"肃州区",parent:"620900"},{value:"620921",name:"金塔县",parent:"620900"},{value:"620922",name:"瓜州县",parent:"620900"},{value:"620923",name:"肃北蒙古族自治县",parent:"620900"},{value:"620924",name:"阿克塞哈萨克族自治县",parent:"620900"},{value:"620981",name:"玉门市",parent:"620900"},{value:"620982",name:"敦煌市",parent:"620900"},{value:"620983",name:"其它区",parent:"620900"},{value:"621002",name:"西峰区",parent:"621000"},{value:"621021",name:"庆城县",parent:"621000"},{value:"621022",name:"环县",parent:"621000"},{value:"621023",name:"华池县",parent:"621000"},{value:"621024",name:"合水县",parent:"621000"},{value:"621025",name:"正宁县",parent:"621000"},{value:"621026",name:"宁县",parent:"621000"},{value:"621027",name:"镇原县",parent:"621000"},{value:"621028",name:"其它区",parent:"621000"},{value:"621102",name:"安定区",parent:"621100"},{value:"621121",name:"通渭县",parent:"621100"},{value:"621122",name:"陇西县",parent:"621100"},{value:"621123",name:"渭源县",parent:"621100"},{value:"621124",name:"临洮县",parent:"621100"},{value:"621125",name:"漳县",parent:"621100"},{value:"621126",name:"岷县",parent:"621100"},{value:"621127",name:"其它区",parent:"621100"},{value:"621202",name:"武都区",parent:"621200"},{value:"621221",name:"成县",parent:"621200"},{value:"621222",name:"文县",parent:"621200"},{value:"621223",name:"宕昌县",parent:"621200"},{value:"621224",name:"康县",parent:"621200"},{value:"621225",name:"西和县",parent:"621200"},{value:"621226",name:"礼县",parent:"621200"},{value:"621227",name:"徽县",parent:"621200"},{value:"621228",name:"两当县",parent:"621200"},{value:"621229",name:"其它区",parent:"621200"},{value:"622901",name:"临夏市",parent:"622900"},{value:"622921",name:"临夏县",parent:"622900"},{value:"622922",name:"康乐县",parent:"622900"},{value:"622923",name:"永靖县",parent:"622900"},{value:"622924",name:"广河县",parent:"622900"},{value:"622925",name:"和政县",parent:"622900"},{value:"622926",name:"东乡族自治县",parent:"622900"},{value:"622927",name:"积石山保安族东乡族撒拉族自治县",parent:"622900"},{value:"622928",name:"其它区",parent:"622900"},{value:"623001",name:"合作市",parent:"623000"},{value:"623021",name:"临潭县",parent:"623000"},{value:"623022",name:"卓尼县",parent:"623000"},{value:"623023",name:"舟曲县",parent:"623000"},{value:"623024",name:"迭部县",parent:"623000"},{value:"623025",name:"玛曲县",parent:"623000"},{value:"623026",name:"碌曲县",parent:"623000"},{value:"623027",name:"夏河县",parent:"623000"},{value:"623028",name:"其它区",parent:"623000"},{value:"630102",name:"城东区",parent:"630100"},{value:"630103",name:"城中区",parent:"630100"},{value:"630104",name:"城西区",parent:"630100"},{value:"630105",name:"城北区",parent:"630100"},{value:"630121",name:"大通回族土族自治县",parent:"630100"},{value:"630122",name:"湟中县",parent:"630100"},{value:"630123",name:"湟源县",parent:"630100"},{value:"630124",name:"其它区",parent:"630100"},{value:"632121",name:"平安区",parent:"632100"},{value:"632122",name:"民和回族土族自治县",parent:"632100"},{value:"632123",name:"乐都区",parent:"632100"},{value:"632126",name:"互助土族自治县",parent:"632100"},{value:"632127",name:"化隆回族自治县",parent:"632100"},{value:"632128",name:"循化撒拉族自治县",parent:"632100"},{value:"632129",name:"其它区",parent:"632100"},{value:"632221",name:"门源回族自治县",parent:"632200"},{value:"632222",name:"祁连县",parent:"632200"},{value:"632223",name:"海晏县",parent:"632200"},{value:"632224",name:"刚察县",parent:"632200"},{value:"632225",name:"其它区",parent:"632200"},{value:"632321",name:"同仁县",parent:"632300"},{value:"632322",name:"尖扎县",parent:"632300"},{value:"632323",name:"泽库县",parent:"632300"},{value:"632324",name:"河南蒙古族自治县",parent:"632300"},{value:"632325",name:"其它区",parent:"632300"},{value:"632521",name:"共和县",parent:"632500"},{value:"632522",name:"同德县",parent:"632500"},{value:"632523",name:"贵德县",parent:"632500"},{value:"632524",name:"兴海县",parent:"632500"},{value:"632525",name:"贵南县",parent:"632500"},{value:"632526",name:"其它区",parent:"632500"},{value:"632621",name:"玛沁县",parent:"632600"},{value:"632622",name:"班玛县",parent:"632600"},{value:"632623",name:"甘德县",parent:"632600"},{value:"632624",name:"达日县",parent:"632600"},{value:"632625",name:"久治县",parent:"632600"},{value:"632626",name:"玛多县",parent:"632600"},{value:"632627",name:"其它区",parent:"632600"},{value:"632721",name:"玉树市",parent:"632700"},{value:"632722",name:"杂多县",parent:"632700"},{value:"632723",name:"称多县",parent:"632700"},{value:"632724",name:"治多县",parent:"632700"},{value:"632725",name:"囊谦县",parent:"632700"},{value:"632726",name:"曲麻莱县",parent:"632700"},{value:"632727",name:"其它区",parent:"632700"},{value:"632801",name:"格尔木市",parent:"632800"},{value:"632802",name:"德令哈市",parent:"632800"},{value:"632821",name:"乌兰县",parent:"632800"},{value:"632822",name:"都兰县",parent:"632800"},{value:"632823",name:"天峻县",parent:"632800"},{value:"632824",name:"其它区",parent:"632800"},{value:"640104",name:"兴庆区",parent:"640100"},{value:"640105",name:"西夏区",parent:"640100"},{value:"640106",name:"金凤区",parent:"640100"},{value:"640121",name:"永宁县",parent:"640100"},{value:"640122",name:"贺兰县",parent:"640100"},{value:"640181",name:"灵武市",parent:"640100"},{value:"640182",name:"其它区",parent:"640100"},{value:"640202",name:"大武口区",parent:"640200"},{value:"640205",name:"惠农区",parent:"640200"},{value:"640221",name:"平罗县",parent:"640200"},{value:"640222",name:"其它区",parent:"640200"},{value:"640302",name:"利通区",parent:"640300"},{value:"640303",name:"红寺堡区",parent:"640300"},{value:"640323",name:"盐池县",parent:"640300"},{value:"640324",name:"同心县",parent:"640300"},{value:"640381",name:"青铜峡市",parent:"640300"},{value:"640382",name:"其它区",parent:"640300"},{value:"640402",name:"原州区",parent:"640400"},{value:"640422",name:"西吉县",parent:"640400"},{value:"640423",name:"隆德县",parent:"640400"},{value:"640424",name:"泾源县",parent:"640400"},{value:"640425",name:"彭阳县",parent:"640400"},{value:"640426",name:"其它区",parent:"640400"},{value:"640502",name:"沙坡头区",parent:"640500"},{value:"640521",name:"中宁县",parent:"640500"},{value:"640522",name:"海原县",parent:"640500"},{value:"640523",name:"其它区",parent:"640500"},{value:"650102",name:"天山区",parent:"650100"},{value:"650103",name:"沙依巴克区",parent:"650100"},{value:"650104",name:"新市区",parent:"650100"},{value:"650105",name:"水磨沟区",parent:"650100"},{value:"650106",name:"头屯河区",parent:"650100"},{value:"650107",name:"达坂城区",parent:"650100"},{value:"650108",name:"东山区",parent:"650100"},{value:"650109",name:"米东区",parent:"650100"},{value:"650121",name:"乌鲁木齐县",parent:"650100"},{value:"650122",name:"其它区",parent:"650100"},{value:"650202",name:"独山子区",parent:"650200"},{value:"650203",name:"克拉玛依区",parent:"650200"},{value:"650204",name:"白碱滩区",parent:"650200"},{value:"650205",name:"乌尔禾区",parent:"650200"},{value:"650206",name:"其它区",parent:"650200"},{value:"652101",name:"高昌区",parent:"652100"},{value:"652122",name:"鄯善县",parent:"652100"},{value:"652123",name:"托克逊县",parent:"652100"},{value:"652124",name:"其它区",parent:"652100"},{value:"652201",name:"哈密市",parent:"652200"},{value:"652222",name:"巴里坤哈萨克自治县",parent:"652200"},{value:"652223",name:"伊吾县",parent:"652200"},{value:"652224",name:"其它区",parent:"652200"},{value:"652301",name:"昌吉市",parent:"652300"},{value:"652302",name:"阜康市",parent:"652300"},{value:"652303",name:"米泉市",parent:"652300"},{value:"652323",name:"呼图壁县",parent:"652300"},{value:"652324",name:"玛纳斯县",parent:"652300"},{value:"652325",name:"奇台县",parent:"652300"},{value:"652327",name:"吉木萨尔县",parent:"652300"},{value:"652328",name:"木垒哈萨克自治县",parent:"652300"},{value:"652329",name:"其它区",parent:"652300"},{value:"652701",name:"博乐市",parent:"652700"},{value:"652702",name:"阿拉山口市",parent:"652700"},{value:"652722",name:"精河县",parent:"652700"},{value:"652723",name:"温泉县",parent:"652700"},{value:"652724",name:"其它区",parent:"652700"},{value:"652801",name:"库尔勒市",parent:"652800"},{value:"652822",name:"轮台县",parent:"652800"},{value:"652823",name:"尉犁县",parent:"652800"},{value:"652824",name:"若羌县",parent:"652800"},{value:"652825",name:"且末县",parent:"652800"},{value:"652826",name:"焉耆回族自治县",parent:"652800"},{value:"652827",name:"和静县",parent:"652800"},{value:"652828",name:"和硕县",parent:"652800"},{value:"652829",name:"博湖县",parent:"652800"},{value:"652830",name:"其它区",parent:"652800"},{value:"652901",name:"阿克苏市",parent:"652900"},{value:"652922",name:"温宿县",parent:"652900"},{value:"652923",name:"库车县",parent:"652900"},{value:"652924",name:"沙雅县",parent:"652900"},{value:"652925",name:"新和县",parent:"652900"},{value:"652926",name:"拜城县",parent:"652900"},{value:"652927",name:"乌什县",parent:"652900"},{value:"652928",name:"阿瓦提县",parent:"652900"},{value:"652929",name:"柯坪县",parent:"652900"},{value:"652930",name:"其它区",parent:"652900"},{value:"653001",name:"阿图什市",parent:"653000"},{value:"653022",name:"阿克陶县",parent:"653000"},{value:"653023",name:"阿合奇县",parent:"653000"},{value:"653024",name:"乌恰县",parent:"653000"},{value:"653025",name:"其它区",parent:"653000"},{value:"653101",name:"喀什市",parent:"653100"},{value:"653121",name:"疏附县",parent:"653100"},{value:"653122",name:"疏勒县",parent:"653100"},{value:"653123",name:"英吉沙县",parent:"653100"},{value:"653124",name:"泽普县",parent:"653100"},{value:"653125",name:"莎车县",parent:"653100"},{value:"653126",name:"叶城县",parent:"653100"},{value:"653127",name:"麦盖提县",parent:"653100"},{value:"653128",name:"岳普湖县",parent:"653100"},{value:"653129",name:"伽师县",parent:"653100"},{value:"653130",name:"巴楚县",parent:"653100"},{value:"653131",name:"塔什库尔干塔吉克自治县",parent:"653100"},{value:"653132",name:"其它区",parent:"653100"},{value:"653201",name:"和田市",parent:"653200"},{value:"653221",name:"和田县",parent:"653200"},{value:"653222",name:"墨玉县",parent:"653200"},{value:"653223",name:"皮山县",parent:"653200"},{value:"653224",name:"洛浦县",parent:"653200"},{value:"653225",name:"策勒县",parent:"653200"},{value:"653226",name:"于田县",parent:"653200"},{value:"653227",name:"民丰县",parent:"653200"},{value:"653228",name:"其它区",parent:"653200"},{value:"654002",name:"伊宁市",parent:"654000"},{value:"654003",name:"奎屯市",parent:"654000"},{value:"654004",name:"霍尔果斯市",parent:"654000"},{value:"654021",name:"伊宁县",parent:"654000"},{value:"654022",name:"察布查尔锡伯自治县",parent:"654000"},{value:"654023",name:"霍城县",parent:"654000"},{value:"654024",name:"巩留县",parent:"654000"},{value:"654025",name:"新源县",parent:"654000"},{value:"654026",name:"昭苏县",parent:"654000"},{value:"654027",name:"特克斯县",parent:"654000"},{value:"654028",name:"尼勒克县",parent:"654000"},{value:"654029",name:"其它区",parent:"654000"},{value:"654201",name:"塔城市",parent:"654200"},{value:"654202",name:"乌苏市",parent:"654200"},{value:"654221",name:"额敏县",parent:"654200"},{value:"654223",name:"沙湾县",parent:"654200"},{value:"654224",name:"托里县",parent:"654200"},{value:"654225",name:"裕民县",parent:"654200"},{value:"654226",name:"和布克赛尔蒙古自治县",parent:"654200"},{value:"654227",name:"其它区",parent:"654200"},{value:"654301",name:"阿勒泰市",parent:"654300"},{value:"654321",name:"布尔津县",parent:"654300"},{value:"654322",name:"富蕴县",parent:"654300"},{value:"654323",name:"福海县",parent:"654300"},{value:"654324",name:"哈巴河县",parent:"654300"},{value:"654325",name:"青河县",parent:"654300"},{value:"654326",name:"吉木乃县",parent:"654300"},{value:"654327",name:"其它区",parent:"654300"},{value:"659001",name:"石河子市",parent:"650000"},{value:"659002",name:"阿拉尔市",parent:"650000"},{value:"659003",name:"图木舒克市",parent:"650000"},{value:"659004",name:"五家渠市",parent:"650000"},{value:"659007",name:"双河市",parent:"659000"},{value:"659008",name:"可克达拉市",parent:"659000"},{value:"710101",name:"中正区",parent:"710100"},{value:"710102",name:"大同区",parent:"710100"},{value:"710103",name:"中山区",parent:"710100"},{value:"710104",name:"松山区",parent:"710100"},{value:"710105",name:"大安区",parent:"710100"},{value:"710106",name:"万华区",parent:"710100"},{value:"710107",name:"信义区",parent:"710100"},{value:"710108",name:"士林区",parent:"710100"},{value:"710109",name:"北投区",parent:"710100"},{value:"710110",name:"内湖区",parent:"710100"},{value:"710111",name:"南港区",parent:"710100"},{value:"710112",name:"文山区",parent:"710100"},{value:"710113",name:"其它区",parent:"710100"},{value:"710201",name:"新兴区",parent:"710200"},{value:"710202",name:"前金区",parent:"710200"},{value:"710203",name:"芩雅区",parent:"710200"},{value:"710204",name:"盐埕区",parent:"710200"},{value:"710205",name:"鼓山区",parent:"710200"},{value:"710206",name:"旗津区",parent:"710200"},{value:"710207",name:"前镇区",parent:"710200"},{value:"710208",name:"三民区",parent:"710200"},{value:"710209",name:"左营区",parent:"710200"},{value:"710210",name:"楠梓区",parent:"710200"},{value:"710211",name:"小港区",parent:"710200"},{value:"710212",name:"其它区",parent:"710200"},{value:"710241",name:"苓雅区",parent:"710200"},{value:"710242",name:"仁武区",parent:"710200"},{value:"710243",name:"大社区",parent:"710200"},{value:"710244",name:"冈山区",parent:"710200"},{value:"710245",name:"路竹区",parent:"710200"},{value:"710246",name:"阿莲区",parent:"710200"},{value:"710247",name:"田寮区",parent:"710200"},{value:"710248",name:"燕巢区",parent:"710200"},{value:"710249",name:"桥头区",parent:"710200"},{value:"710250",name:"梓官区",parent:"710200"},{value:"710251",name:"弥陀区",parent:"710200"},{value:"710252",name:"永安区",parent:"710200"},{value:"710253",name:"湖内区",parent:"710200"},{value:"710254",name:"凤山区",parent:"710200"},{value:"710255",name:"大寮区",parent:"710200"},{value:"710256",name:"林园区",parent:"710200"},{value:"710257",name:"鸟松区",parent:"710200"},{value:"710258",name:"大树区",parent:"710200"},{value:"710259",name:"旗山区",parent:"710200"},{value:"710260",name:"美浓区",parent:"710200"},{value:"710261",name:"六龟区",parent:"710200"},{value:"710262",name:"内门区",parent:"710200"},{value:"710263",name:"杉林区",parent:"710200"},{value:"710264",name:"甲仙区",parent:"710200"},{value:"710265",name:"桃源区",parent:"710200"},{value:"710266",name:"那玛夏区",parent:"710200"},{value:"710267",name:"茂林区",parent:"710200"},{value:"710268",name:"茄萣区",parent:"710200"},{value:"710301",name:"中西区",parent:"710300"},{value:"710302",name:"东区",parent:"710300"},{value:"710303",name:"南区",parent:"710300"},{value:"710304",name:"北区",parent:"710300"},{value:"710305",name:"安平区",parent:"710300"},{value:"710306",name:"安南区",parent:"710300"},{value:"710307",name:"其它区",parent:"710300"},{value:"710339",name:"永康区",parent:"710300"},{value:"710340",name:"归仁区",parent:"710300"},{value:"710341",name:"新化区",parent:"710300"},{value:"710342",name:"左镇区",parent:"710300"},{value:"710343",name:"玉井区",parent:"710300"},{value:"710344",name:"楠西区",parent:"710300"},{value:"710345",name:"南化区",parent:"710300"},{value:"710346",name:"仁德区",parent:"710300"},{value:"710347",name:"关庙区",parent:"710300"},{value:"710348",name:"龙崎区",parent:"710300"},{value:"710349",name:"官田区",parent:"710300"},{value:"710350",name:"麻豆区",parent:"710300"},{value:"710351",name:"佳里区",parent:"710300"},{value:"710352",name:"西港区",parent:"710300"},{value:"710353",name:"七股区",parent:"710300"},{value:"710354",name:"将军区",parent:"710300"},{value:"710355",name:"学甲区",parent:"710300"},{value:"710356",name:"北门区",parent:"710300"},{value:"710357",name:"新营区",parent:"710300"},{value:"710358",name:"后壁区",parent:"710300"},{value:"710359",name:"白河区",parent:"710300"},{value:"710360",name:"东山区",parent:"710300"},{value:"710361",name:"六甲区",parent:"710300"},{value:"710362",name:"下营区",parent:"710300"},{value:"710363",name:"柳营区",parent:"710300"},{value:"710364",name:"盐水区",parent:"710300"},{value:"710365",name:"善化区",parent:"710300"},{value:"710366",name:"大内区",parent:"710300"},{value:"710367",name:"山上区",parent:"710300"},{value:"710368",name:"新市区",parent:"710300"},{value:"710369",name:"安定区",parent:"710300"},{value:"710401",name:"中区",parent:"710400"},{value:"710402",name:"东区",parent:"710400"},{value:"710403",name:"南区",parent:"710400"},{value:"710404",name:"西区",parent:"710400"},{value:"710405",name:"北区",parent:"710400"},{value:"710406",name:"北屯区",parent:"710400"},{value:"710407",name:"西屯区",parent:"710400"},{value:"710408",name:"南屯区",parent:"710400"},{value:"710409",name:"其它区",parent:"710400"},{value:"710431",name:"太平区",parent:"710400"},{value:"710432",name:"大里区",parent:"710400"},{value:"710433",name:"雾峰区",parent:"710400"},{value:"710434",name:"乌日区",parent:"710400"},{value:"710435",name:"丰原区",parent:"710400"},{value:"710436",name:"后里区",parent:"710400"},{value:"710437",name:"石冈区",parent:"710400"},{value:"710438",name:"东势区",parent:"710400"},{value:"710439",name:"和平区",parent:"710400"},{value:"710440",name:"新社区",parent:"710400"},{value:"710441",name:"潭子区",parent:"710400"},{value:"710442",name:"大雅区",parent:"710400"},{value:"710443",name:"神冈区",parent:"710400"},{value:"710444",name:"大肚区",parent:"710400"},{value:"710445",name:"沙鹿区",parent:"710400"},{value:"710446",name:"龙井区",parent:"710400"},{value:"710447",name:"梧栖区",parent:"710400"},{value:"710448",name:"清水区",parent:"710400"},{value:"710449",name:"大甲区",parent:"710400"},{value:"710450",name:"外埔区",parent:"710400"},{value:"710451",name:"大安区",parent:"710400"},{value:"710507",name:"金沙镇",parent:"710500"},{value:"710508",name:"金湖镇",parent:"710500"},{value:"710509",name:"金宁乡",parent:"710500"},{value:"710510",name:"金城镇",parent:"710500"},{value:"710511",name:"烈屿乡",parent:"710500"},{value:"710512",name:"乌坵乡",parent:"710500"},{value:"710614",name:"南投市",parent:"710600"},{value:"710615",name:"中寮乡",parent:"710600"},{value:"710616",name:"草屯镇",parent:"710600"},{value:"710617",name:"国姓乡",parent:"710600"},{value:"710618",name:"埔里镇",parent:"710600"},{value:"710619",name:"仁爱乡",parent:"710600"},{value:"710620",name:"名间乡",parent:"710600"},{value:"710621",name:"集集镇",parent:"710600"},{value:"710622",name:"水里乡",parent:"710600"},{value:"710623",name:"鱼池乡",parent:"710600"},{value:"710624",name:"信义乡",parent:"710600"},{value:"710625",name:"竹山镇",parent:"710600"},{value:"710626",name:"鹿谷乡",parent:"710600"},{value:"710701",name:"仁爱区",parent:"710700"},{value:"710702",name:"信义区",parent:"710700"},{value:"710703",name:"中正区",parent:"710700"},{value:"710704",name:"中山区",parent:"710700"},{value:"710705",name:"安乐区",parent:"710700"},{value:"710706",name:"暖暖区",parent:"710700"},{value:"710707",name:"七堵区",parent:"710700"},{value:"710708",name:"其它区",parent:"710700"},{value:"710801",name:"东区",parent:"710800"},{value:"710802",name:"北区",parent:"710800"},{value:"710803",name:"香山区",parent:"710800"},{value:"710804",name:"其它区",parent:"710800"},{value:"710901",name:"东区",parent:"710900"},{value:"710902",name:"西区",parent:"710900"},{value:"710903",name:"其它区",parent:"710900"},{value:"711130",name:"万里区",parent:"711100"},{value:"711131",name:"金山区",parent:"711100"},{value:"711132",name:"板桥区",parent:"711100"},{value:"711133",name:"汐止区",parent:"711100"},{value:"711134",name:"深坑区",parent:"711100"},{value:"711135",name:"石碇区",parent:"711100"},{value:"711136",name:"瑞芳区",parent:"711100"},{value:"711137",name:"平溪区",parent:"711100"},{value:"711138",name:"双溪区",parent:"711100"},{value:"711139",name:"贡寮区",parent:"711100"},{value:"711140",name:"新店区",parent:"711100"},{value:"711141",name:"坪林区",parent:"711100"},{value:"711142",name:"乌来区",parent:"711100"},{value:"711143",name:"永和区",parent:"711100"},{value:"711144",name:"中和区",parent:"711100"},{value:"711145",name:"土城区",parent:"711100"},{value:"711146",name:"三峡区",parent:"711100"},{value:"711147",name:"树林区",parent:"711100"},{value:"711148",name:"莺歌区",parent:"711100"},{value:"711149",name:"三重区",parent:"711100"},{value:"711150",name:"新庄区",parent:"711100"},{value:"711151",name:"泰山区",parent:"711100"},{value:"711152",name:"林口区",parent:"711100"},{value:"711153",name:"芦洲区",parent:"711100"},{value:"711154",name:"五股区",parent:"711100"},{value:"711155",name:"八里区",parent:"711100"},{value:"711156",name:"淡水区",parent:"711100"},{value:"711157",name:"三芝区",parent:"711100"},{value:"711158",name:"石门区",parent:"711100"},{value:"711214",name:"宜兰市",parent:"711200"},{value:"711215",name:"头城镇",parent:"711200"},{value:"711216",name:"礁溪乡",parent:"711200"},{value:"711217",name:"壮围乡",parent:"711200"},{value:"711218",name:"员山乡",parent:"711200"},{value:"711219",name:"罗东镇",parent:"711200"},{value:"711220",name:"三星乡",parent:"711200"},{value:"711221",name:"大同乡",parent:"711200"},{value:"711222",name:"五结乡",parent:"711200"},{value:"711223",name:"冬山乡",parent:"711200"},{value:"711224",name:"苏澳镇",parent:"711200"},{value:"711225",name:"南澳乡",parent:"711200"},{value:"711226",name:"钓鱼台",parent:"711200"},{value:"711314",name:"竹北市",parent:"711300"},{value:"711315",name:"湖口乡",parent:"711300"},{value:"711316",name:"新丰乡",parent:"711300"},{value:"711317",name:"新埔镇",parent:"711300"},{value:"711318",name:"关西镇",parent:"711300"},{value:"711319",name:"芎林乡",parent:"711300"},{value:"711320",name:"宝山乡",parent:"711300"},{value:"711321",name:"竹东镇",parent:"711300"},{value:"711322",name:"五峰乡",parent:"711300"},{value:"711323",name:"横山乡",parent:"711300"},{value:"711324",name:"尖石乡",parent:"711300"},{value:"711325",name:"北埔乡",parent:"711300"},{value:"711326",name:"峨眉乡",parent:"711300"},{value:"711414",name:"中坜市",parent:"711400"},{value:"711415",name:"平镇市",parent:"711400"},{value:"711416",name:"龙潭乡",parent:"711400"},{value:"711417",name:"杨梅市",parent:"711400"},{value:"711418",name:"新屋乡",parent:"711400"},{value:"711419",name:"观音乡",parent:"711400"},{value:"711420",name:"桃园市",parent:"711400"},{value:"711421",name:"龟山乡",parent:"711400"},{value:"711422",name:"八德市",parent:"711400"},{value:"711423",name:"大溪镇",parent:"711400"},{value:"711424",name:"复兴乡",parent:"711400"},{value:"711425",name:"大园乡",parent:"711400"},{value:"711426",name:"芦竹乡",parent:"711400"},{value:"711519",name:"竹南镇",parent:"711500"},{value:"711520",name:"头份镇",parent:"711500"},{value:"711521",name:"三湾乡",parent:"711500"},{value:"711522",name:"南庄乡",parent:"711500"},{value:"711523",name:"狮潭乡",parent:"711500"},{value:"711524",name:"后龙镇",parent:"711500"},{value:"711525",name:"通霄镇",parent:"711500"},{value:"711526",name:"苑里镇",parent:"711500"},{value:"711527",name:"苗栗市",parent:"711500"},{value:"711528",name:"造桥乡",parent:"711500"},{value:"711529",name:"头屋乡",parent:"711500"},{value:"711530",name:"公馆乡",parent:"711500"},{value:"711531",name:"大湖乡",parent:"711500"},{value:"711532",name:"泰安乡",parent:"711500"},{value:"711533",name:"铜锣乡",parent:"711500"},{value:"711534",name:"三义乡",parent:"711500"},{value:"711535",name:"西湖乡",parent:"711500"},{value:"711536",name:"卓兰镇",parent:"711500"},{value:"711727",name:"彰化市",parent:"711700"},{value:"711728",name:"芬园乡",parent:"711700"},{value:"711729",name:"花坛乡",parent:"711700"},{value:"711730",name:"秀水乡",parent:"711700"},{value:"711731",name:"鹿港镇",parent:"711700"},{value:"711732",name:"福兴乡",parent:"711700"},{value:"711733",name:"线西乡",parent:"711700"},{value:"711734",name:"和美镇",parent:"711700"},{value:"711735",name:"伸港乡",parent:"711700"},{value:"711736",name:"员林镇",parent:"711700"},{value:"711737",name:"社头乡",parent:"711700"},{value:"711738",name:"永靖乡",parent:"711700"},{value:"711739",name:"埔心乡",parent:"711700"},{value:"711740",name:"溪湖镇",parent:"711700"},{value:"711741",name:"大村乡",parent:"711700"},{value:"711742",name:"埔盐乡",parent:"711700"},{value:"711743",name:"田中镇",parent:"711700"},{value:"711744",name:"北斗镇",parent:"711700"},{value:"711745",name:"田尾乡",parent:"711700"},{value:"711746",name:"埤头乡",parent:"711700"},{value:"711747",name:"溪州乡",parent:"711700"},{value:"711748",name:"竹塘乡",parent:"711700"},{value:"711749",name:"二林镇",parent:"711700"},{value:"711750",name:"大城乡",parent:"711700"},{value:"711751",name:"芳苑乡",parent:"711700"},{value:"711752",name:"二水乡",parent:"711700"},{value:"711919",name:"番路乡",parent:"711900"},{value:"711920",name:"梅山乡",parent:"711900"},{value:"711921",name:"竹崎乡",parent:"711900"},{value:"711922",name:"阿里山乡",parent:"711900"},{value:"711923",name:"中埔乡",parent:"711900"},{value:"711924",name:"大埔乡",parent:"711900"},{value:"711925",name:"水上乡",parent:"711900"},{value:"711926",name:"鹿草乡",parent:"711900"},{value:"711927",name:"太保市",parent:"711900"},{value:"711928",name:"朴子市",parent:"711900"},{value:"711929",name:"东石乡",parent:"711900"},{value:"711930",name:"六脚乡",parent:"711900"},{value:"711931",name:"新港乡",parent:"711900"},{value:"711932",name:"民雄乡",parent:"711900"},{value:"711933",name:"大林镇",parent:"711900"},{value:"711934",name:"溪口乡",parent:"711900"},{value:"711935",name:"义竹乡",parent:"711900"},{value:"711936",name:"布袋镇",parent:"711900"},{value:"712121",name:"斗南镇",parent:"712100"},{value:"712122",name:"大埤乡",parent:"712100"},{value:"712123",name:"虎尾镇",parent:"712100"},{value:"712124",name:"土库镇",parent:"712100"},{value:"712125",name:"褒忠乡",parent:"712100"},{value:"712126",name:"东势乡",parent:"712100"},{value:"712127",name:"台西乡",parent:"712100"},{value:"712128",name:"仑背乡",parent:"712100"},{value:"712129",name:"麦寮乡",parent:"712100"},{value:"712130",name:"斗六市",parent:"712100"},{value:"712131",name:"林内乡",parent:"712100"},{value:"712132",name:"古坑乡",parent:"712100"},{value:"712133",name:"莿桐乡",parent:"712100"},{value:"712134",name:"西螺镇",parent:"712100"},{value:"712135",name:"二仑乡",parent:"712100"},{value:"712136",name:"北港镇",parent:"712100"},{value:"712137",name:"水林乡",parent:"712100"},{value:"712138",name:"口湖乡",parent:"712100"},{value:"712139",name:"四湖乡",parent:"712100"},{value:"712140",name:"元长乡",parent:"712100"},{value:"712434",name:"屏东市",parent:"712400"},{value:"712435",name:"三地门乡",parent:"712400"},{value:"712436",name:"雾台乡",parent:"712400"},{value:"712437",name:"玛家乡",parent:"712400"},{value:"712438",name:"九如乡",parent:"712400"},{value:"712439",name:"里港乡",parent:"712400"},{value:"712440",name:"高树乡",parent:"712400"},{value:"712441",name:"盐埔乡",parent:"712400"},{value:"712442",name:"长治乡",parent:"712400"},{value:"712443",name:"麟洛乡",parent:"712400"},{value:"712444",name:"竹田乡",parent:"712400"},{value:"712445",name:"内埔乡",parent:"712400"},{value:"712446",name:"万丹乡",parent:"712400"},{value:"712447",name:"潮州镇",parent:"712400"},{value:"712448",name:"泰武乡",parent:"712400"},{value:"712449",name:"来义乡",parent:"712400"},{value:"712450",name:"万峦乡",parent:"712400"},{value:"712451",name:"崁顶乡",parent:"712400"},{value:"712452",name:"新埤乡",parent:"712400"},{value:"712453",name:"南州乡",parent:"712400"},{value:"712454",name:"林边乡",parent:"712400"},{value:"712455",name:"东港镇",parent:"712400"},{value:"712456",name:"琉球乡",parent:"712400"},{value:"712457",name:"佳冬乡",parent:"712400"},{value:"712458",name:"新园乡",parent:"712400"},{value:"712459",name:"枋寮乡",parent:"712400"},{value:"712460",name:"枋山乡",parent:"712400"},{value:"712461",name:"春日乡",parent:"712400"},{value:"712462",name:"狮子乡",parent:"712400"},{value:"712463",name:"车城乡",parent:"712400"},{value:"712464",name:"牡丹乡",parent:"712400"},{value:"712465",name:"恒春镇",parent:"712400"},{value:"712466",name:"满州乡",parent:"712400"},{value:"712517",name:"台东市",parent:"712500"},{value:"712518",name:"绿岛乡",parent:"712500"},{value:"712519",name:"兰屿乡",parent:"712500"},{value:"712520",name:"延平乡",parent:"712500"},{value:"712521",name:"卑南乡",parent:"712500"},{value:"712522",name:"鹿野乡",parent:"712500"},{value:"712523",name:"关山镇",parent:"712500"},{value:"712524",name:"海端乡",parent:"712500"},{value:"712525",name:"池上乡",parent:"712500"},{value:"712526",name:"东河乡",parent:"712500"},{value:"712527",name:"成功镇",parent:"712500"},{value:"712528",name:"长滨乡",parent:"712500"},{value:"712529",name:"金峰乡",parent:"712500"},{value:"712530",name:"大武乡",parent:"712500"},{value:"712531",name:"达仁乡",parent:"712500"},{value:"712532",name:"太麻里乡",parent:"712500"},{value:"712615",name:"花莲市",parent:"712600"},{value:"712616",name:"新城乡",parent:"712600"},{value:"712617",name:"太鲁阁",parent:"712600"},{value:"712618",name:"秀林乡",parent:"712600"},{value:"712619",name:"吉安乡",parent:"712600"},{value:"712620",name:"寿丰乡",parent:"712600"},{value:"712621",name:"凤林镇",parent:"712600"},{value:"712622",name:"光复乡",parent:"712600"},{value:"712623",name:"丰滨乡",parent:"712600"},{value:"712624",name:"瑞穗乡",parent:"712600"},{value:"712625",name:"万荣乡",parent:"712600"},{value:"712626",name:"玉里镇",parent:"712600"},{value:"712627",name:"卓溪乡",parent:"712600"},{value:"712628",name:"富里乡",parent:"712600"},{value:"712707",name:"马公市",parent:"712700"},{value:"712708",name:"西屿乡",parent:"712700"},{value:"712709",name:"望安乡",parent:"712700"},{value:"712710",name:"七美乡",parent:"712700"},{value:"712711",name:"白沙乡",parent:"712700"},{value:"712712",name:"湖西乡",parent:"712700"},{value:"712805",name:"南竿乡",parent:"712800"},{value:"712806",name:"北竿乡",parent:"712800"},{value:"712807",name:"莒光乡",parent:"712800"},{value:"712808",name:"东引乡",parent:"712800"},{value:"810101",name:"中西区",parent:"810100"},{value:"810102",name:"湾仔",parent:"810100"},{value:"810103",name:"东区",parent:"810100"},{value:"810104",name:"南区",parent:"810100"},{value:"810201",name:"九龙城区",parent:"810200"},{value:"810202",name:"油尖旺区",parent:"810200"},{value:"810203",name:"深水埗区",parent:"810200"},{value:"810204",name:"黄大仙区",parent:"810200"},{value:"810205",name:"观塘区",parent:"810200"},{value:"810301",name:"北区",parent:"810300"},{value:"810302",name:"大埔区",parent:"810300"},{value:"810303",name:"沙田区",parent:"810300"},{value:"810304",name:"西贡区",parent:"810300"},{value:"810305",name:"元朗区",parent:"810300"},{value:"810306",name:"屯门区",parent:"810300"},{value:"810307",name:"荃湾区",parent:"810300"},{value:"810308",name:"葵青区",parent:"810300"},{value:"810309",name:"离岛区",parent:"810300"},{value:"441901",parent:"441900",name:"莞城区"},{value:"441902",parent:"441900",name:"南城区"},{value:"441904",parent:"441900",name:"万江区"},{value:"441905",parent:"441900",name:"石碣镇"},{value:"441906",parent:"441900",name:"石龙镇"},{value:"441907",parent:"441900",name:"茶山镇"},{value:"441908",parent:"441900",name:"石排镇"},{value:"441909",parent:"441900",name:"企石镇"},{value:"441910",parent:"441900",name:"横沥镇"},{value:"441911",parent:"441900",name:"桥头镇"},{value:"441912",parent:"441900",name:"谢岗镇"},{value:"441913",parent:"441900",name:"东坑镇"},{value:"441914",parent:"441900",name:"常平镇"},{value:"441915",parent:"441900",name:"寮步镇"},{value:"441916",parent:"441900",name:"大朗镇"},{value:"441917",parent:"441900",name:"麻涌镇"},{value:"441918",parent:"441900",name:"中堂镇"},{value:"441919",parent:"441900",name:"高埗镇"},{value:"441920",parent:"441900",name:"樟木头镇"},{value:"441921",parent:"441900",name:"大岭山镇"},{value:"441922",parent:"441900",name:"望牛墩镇"},{value:"441923",parent:"441900",name:"黄江镇"},{value:"441924",parent:"441900",name:"洪梅镇"},{value:"441925",parent:"441900",name:"清溪镇"},{value:"441926",parent:"441900",name:"沙田镇"},{value:"441927",parent:"441900",name:"道滘镇"},{value:"441928",parent:"441900",name:"塘厦镇"},{value:"441929",parent:"441900",name:"虎门镇"},{value:"441930",parent:"441900",name:"厚街镇"},{value:"441931",parent:"441900",name:"凤岗镇"},{value:"441932",parent:"441900",name:"长安镇"},{value:"442001",parent:"442000",name:"石岐区"},{value:"442004",parent:"442000",name:"南区"},{value:"442005",parent:"442000",name:"五桂山区"},{value:"442006",parent:"442000",name:"火炬开发区"},{value:"442007",parent:"442000",name:"黄圃镇"},{value:"442008",parent:"442000",name:"南头镇"},{value:"442009",parent:"442000",name:"东凤镇"},{value:"442010",parent:"442000",name:"阜沙镇"},{value:"442011",parent:"442000",name:"小榄镇"},{value:"442012",parent:"442000",name:"东升镇"},{value:"442013",parent:"442000",name:"古镇镇"},{value:"442014",parent:"442000",name:"横栏镇"},{value:"442015",parent:"442000",name:"三角镇"},{value:"442016",parent:"442000",name:"民众镇"},{value:"442017",parent:"442000",name:"南朗镇"},{value:"442018",parent:"442000",name:"港口镇"},{value:"442019",parent:"442000",name:"大涌镇"},{value:"442020",parent:"442000",name:"沙溪镇"},{value:"442021",parent:"442000",name:"三乡镇"},{value:"442022",parent:"442000",name:"板芙镇"},{value:"442023",parent:"442000",name:"神湾镇"},{value:"442024",parent:"442000",name:"坦洲镇"}]; \ No newline at end of file diff --git a/components/address-one/address-one.vue b/components/address-one/address-one.vue new file mode 100644 index 0000000..771c510 --- /dev/null +++ b/components/address-one/address-one.vue @@ -0,0 +1,233 @@ + + + + + diff --git a/components/foot-bar/foot-bar.vue b/components/foot-bar/foot-bar.vue new file mode 100644 index 0000000..de2dc32 --- /dev/null +++ b/components/foot-bar/foot-bar.vue @@ -0,0 +1,112 @@ + + + + + diff --git a/components/goods-list/goods-list.vue b/components/goods-list/goods-list.vue new file mode 100644 index 0000000..dfddaa2 --- /dev/null +++ b/components/goods-list/goods-list.vue @@ -0,0 +1,231 @@ + + + + + diff --git a/components/maramlee-waterfalls-flow/maramlee-waterfalls-flow.vue b/components/maramlee-waterfalls-flow/maramlee-waterfalls-flow.vue new file mode 100644 index 0000000..9e9493a --- /dev/null +++ b/components/maramlee-waterfalls-flow/maramlee-waterfalls-flow.vue @@ -0,0 +1,350 @@ + + + \ No newline at end of file diff --git a/components/nothing/nothing-page.vue b/components/nothing/nothing-page.vue new file mode 100644 index 0000000..b0c34ae --- /dev/null +++ b/components/nothing/nothing-page.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/components/nothing/pitera.vue b/components/nothing/pitera.vue new file mode 100644 index 0000000..25b6cc7 --- /dev/null +++ b/components/nothing/pitera.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/components/status-nav/status-nav.vue b/components/status-nav/status-nav.vue new file mode 100644 index 0000000..b4b9ea4 --- /dev/null +++ b/components/status-nav/status-nav.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/components/swipers/swiper-lamp.vue b/components/swipers/swiper-lamp.vue new file mode 100644 index 0000000..147c73b --- /dev/null +++ b/components/swipers/swiper-lamp.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/components/swipers/swiper-pu.vue b/components/swipers/swiper-pu.vue new file mode 100644 index 0000000..9cd87a0 --- /dev/null +++ b/components/swipers/swiper-pu.vue @@ -0,0 +1,168 @@ + + + + + diff --git a/components/thorui/tui-bottom-popup/tui-bottom-popup.vue b/components/thorui/tui-bottom-popup/tui-bottom-popup.vue new file mode 100644 index 0000000..97b676c --- /dev/null +++ b/components/thorui/tui-bottom-popup/tui-bottom-popup.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/components/thorui/tui-bubble-popup/tui-bubble-popup.vue b/components/thorui/tui-bubble-popup/tui-bubble-popup.vue new file mode 100644 index 0000000..3ac3f32 --- /dev/null +++ b/components/thorui/tui-bubble-popup/tui-bubble-popup.vue @@ -0,0 +1,204 @@ + + + + diff --git a/components/thorui/tui-button/tui-button.vue b/components/thorui/tui-button/tui-button.vue new file mode 100644 index 0000000..160560b --- /dev/null +++ b/components/thorui/tui-button/tui-button.vue @@ -0,0 +1,520 @@ + + + + + diff --git a/components/thorui/tui-calendar/tui-calendar.js b/components/thorui/tui-calendar/tui-calendar.js new file mode 100644 index 0000000..86522f1 --- /dev/null +++ b/components/thorui/tui-calendar/tui-calendar.js @@ -0,0 +1,562 @@ +/** + * @1900-2100区间内的公历、农历互转 + * @公历转农历:solar2lunar(1987,11,01); + * @农历转公历:lunar2solar(1987,09,10); + */ +let calendar = { + /** + * 农历1900-2100的润大小信息表 + * @Array Of Property + * @return Hex + */ + lunarInfo: [0x04bd8, 0x04ae0, 0x0a570, 0x054d5, 0x0d260, 0x0d950, 0x16554, 0x056a0, 0x09ad0, 0x055d2, //1900-1909 + 0x04ae0, 0x0a5b6, 0x0a4d0, 0x0d250, 0x1d255, 0x0b540, 0x0d6a0, 0x0ada2, 0x095b0, 0x14977, //1910-1919 + 0x04970, 0x0a4b0, 0x0b4b5, 0x06a50, 0x06d40, 0x1ab54, 0x02b60, 0x09570, 0x052f2, 0x04970, //1920-1929 + 0x06566, 0x0d4a0, 0x0ea50, 0x06e95, 0x05ad0, 0x02b60, 0x186e3, 0x092e0, 0x1c8d7, 0x0c950, //1930-1939 + 0x0d4a0, 0x1d8a6, 0x0b550, 0x056a0, 0x1a5b4, 0x025d0, 0x092d0, 0x0d2b2, 0x0a950, 0x0b557, //1940-1949 + 0x06ca0, 0x0b550, 0x15355, 0x04da0, 0x0a5b0, 0x14573, 0x052b0, 0x0a9a8, 0x0e950, 0x06aa0, //1950-1959 + 0x0aea6, 0x0ab50, 0x04b60, 0x0aae4, 0x0a570, 0x05260, 0x0f263, 0x0d950, 0x05b57, 0x056a0, //1960-1969 + 0x096d0, 0x04dd5, 0x04ad0, 0x0a4d0, 0x0d4d4, 0x0d250, 0x0d558, 0x0b540, 0x0b6a0, 0x195a6, //1970-1979 + 0x095b0, 0x049b0, 0x0a974, 0x0a4b0, 0x0b27a, 0x06a50, 0x06d40, 0x0af46, 0x0ab60, 0x09570, //1980-1989 + 0x04af5, 0x04970, 0x064b0, 0x074a3, 0x0ea50, 0x06b58, 0x055c0, 0x0ab60, 0x096d5, 0x092e0, //1990-1999 + 0x0c960, 0x0d954, 0x0d4a0, 0x0da50, 0x07552, 0x056a0, 0x0abb7, 0x025d0, 0x092d0, 0x0cab5, //2000-2009 + 0x0a950, 0x0b4a0, 0x0baa4, 0x0ad50, 0x055d9, 0x04ba0, 0x0a5b0, 0x15176, 0x052b0, 0x0a930, //2010-2019 + 0x07954, 0x06aa0, 0x0ad50, 0x05b52, 0x04b60, 0x0a6e6, 0x0a4e0, 0x0d260, 0x0ea65, 0x0d530, //2020-2029 + 0x05aa0, 0x076a3, 0x096d0, 0x04afb, 0x04ad0, 0x0a4d0, 0x1d0b6, 0x0d250, 0x0d520, 0x0dd45, //2030-2039 + 0x0b5a0, 0x056d0, 0x055b2, 0x049b0, 0x0a577, 0x0a4b0, 0x0aa50, 0x1b255, 0x06d20, 0x0ada0, //2040-2049 + 0x14b63, 0x09370, 0x049f8, 0x04970, 0x064b0, 0x168a6, 0x0ea50, 0x06b20, 0x1a6c4, 0x0aae0, //2050-2059 + 0x0a2e0, 0x0d2e3, 0x0c960, 0x0d557, 0x0d4a0, 0x0da50, 0x05d55, 0x056a0, 0x0a6d0, 0x055d4, //2060-2069 + 0x052d0, 0x0a9b8, 0x0a950, 0x0b4a0, 0x0b6a6, 0x0ad50, 0x055a0, 0x0aba4, 0x0a5b0, 0x052b0, //2070-2079 + 0x0b273, 0x06930, 0x07337, 0x06aa0, 0x0ad50, 0x14b55, 0x04b60, 0x0a570, 0x054e4, 0x0d160, //2080-2089 + 0x0e968, 0x0d520, 0x0daa0, 0x16aa6, 0x056d0, 0x04ae0, 0x0a9d4, 0x0a2d0, 0x0d150, 0x0f252, //2090-2099 + 0x0d520 + ], //2100 + /** + * 公历每个月份的天数普通表 + * @Array Of Property + * @return Number + */ + solarMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], + /** + * 天干地支之天干速查表 + * @Array Of Property trans["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"] + * @return Cn string + */ + Gan: ["\u7532", "\u4e59", "\u4e19", "\u4e01", "\u620a", "\u5df1", "\u5e9a", "\u8f9b", "\u58ec", "\u7678"], + /** + * 天干地支之地支速查表 + * @Array Of Property + * @trans["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"] + * @return Cn string + */ + Zhi: ["\u5b50", "\u4e11", "\u5bc5", "\u536f", "\u8fb0", "\u5df3", "\u5348", "\u672a", "\u7533", "\u9149", "\u620c", + "\u4ea5" + ], + /** + * 天干地支之地支速查表<=>生肖 + * @Array Of Property + * @trans["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"] + * @return Cn string + */ + Animals: ["\u9f20", "\u725b", "\u864e", "\u5154", "\u9f99", "\u86c7", "\u9a6c", "\u7f8a", "\u7334", "\u9e21", + "\u72d7", "\u732a" + ], + /** + * 24节气速查表 + * @Array Of Property + * @trans["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"] + * @return Cn string + */ + solarTerm: ["\u5c0f\u5bd2", "\u5927\u5bd2", "\u7acb\u6625", "\u96e8\u6c34", "\u60ca\u86f0", "\u6625\u5206", + "\u6e05\u660e", "\u8c37\u96e8", "\u7acb\u590f", "\u5c0f\u6ee1", "\u8292\u79cd", "\u590f\u81f3", "\u5c0f\u6691", + "\u5927\u6691", "\u7acb\u79cb", "\u5904\u6691", "\u767d\u9732", "\u79cb\u5206", "\u5bd2\u9732", "\u971c\u964d", + "\u7acb\u51ac", "\u5c0f\u96ea", "\u5927\u96ea", "\u51ac\u81f3" + ], + /** + * 1900-2100各年的24节气日期速查表 + * @Array Of Property + * @return 0x string For splice + */ + sTermInfo: ['9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', + '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', + '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', + 'b027097bd097c36b0b6fc9274c91aa', '9778397bd19801ec9210c965cc920e', '97b6b97bd19801ec95f8c965cc920f', + '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd197c36c9210c9274c91aa', + '97b6b97bd19801ec95f8c965cc920e', '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', + '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec95f8c965cc920e', '97bcf97c3598082c95f8e1cfcc920f', + '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', + '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', + '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', + '97bcf97c359801ec95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd097bd07f595b0b6fc920fb0722', + '9778397bd097c36b0b6fc9210c8dc2', '9778397bd19801ec9210c9274c920e', '97b6b97bd19801ec95f8c965cc920f', + '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e', + '97b6b97bd19801ec95f8c965cc920f', '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', + '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bd07f1487f595b0b0bc920fb0722', + '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', + '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f531b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', + '97bcf7f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', + '9778397bd097c36b0b6fc9210c91aa', '97b6b97bd197c36c9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e', + '97b6b7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', + '9778397bd097c36b0b70c9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b7f0e47f531b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', + '9778397bd097c36b0b6fc9210c91aa', '97b6b7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '977837f0e37f149b0723b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c35b0b6fc9210c8dc2', + '977837f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc9210c8dc2', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '977837f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', + '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', + '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', + '977837f0e37f14998082b0723b06bd', '7f07e7f0e37f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f595b0b0bb0b6fb0722', '7f0e37f0e37f14898082b0723b02d5', + '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f531b0b0bb0b6fb0722', + '7f0e37f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e37f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', + '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f149b0723b0787b0721', + '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0723b06bd', + '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e37f0e366aa89801eb072297c35', + '7ec967f0e37f14998082b0723b06bd', '7f07e7f0e37f14998083b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', + '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14898082b0723b02d5', '7f07e7f0e37f14998082b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66aa89801e9808297c35', '665f67f0e37f14898082b0723b02d5', + '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66a449801e9808297c35', + '665f67f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e36665b66a449801e9808297c35', '665f67f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721', '7f0e26665b66a449801e9808297c35', '665f67f0e37f1489801eb072297c35', + '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722' + ], + /** + * 数字转中文速查表 + * @Array Of Property + * @trans ['日','一','二','三','四','五','六','七','八','九','十'] + * @return Cn string + */ + nStr1: ["\u65e5", "\u4e00", "\u4e8c", "\u4e09", "\u56db", "\u4e94", "\u516d", "\u4e03", "\u516b", "\u4e5d", "\u5341"], + /** + * 日期转农历称呼速查表 + * @Array Of Property + * @trans ['初','十','廿','卅'] + * @return Cn string + */ + nStr2: ["\u521d", "\u5341", "\u5eff", "\u5345"], + /** + * 月份转农历称呼速查表 + * @Array Of Property + * @trans ['正','一','二','三','四','五','六','七','八','九','十','冬','腊'] + * @return Cn string + */ + nStr3: ["\u6b63", "\u4e8c", "\u4e09", "\u56db", "\u4e94", "\u516d", "\u4e03", "\u516b", "\u4e5d", "\u5341", "\u51ac", + "\u814a" + ], + /** + * 返回农历y年一整年的总天数 + * @param lunar Year + * @return Number + * @eg:let count = calendar.lYearDays(1987) ;//count=387 + */ + lYearDays: function(y) { + let i, sum = 348; + for (i = 0x8000; i > 0x8; i >>= 1) { + sum += (calendar.lunarInfo[y - 1900] & i) ? 1 : 0; + } + return (sum + calendar.leapDays(y)); + }, + /** + * 返回农历y年闰月是哪个月;若y年没有闰月 则返回0 + * @param lunar Year + * @return Number (0-12) + * @eg:let leapMonth = calendar.leapMonth(1987) ;//leapMonth=6 + */ + leapMonth: function(y) { //闰字编码 \u95f0 + return (calendar.lunarInfo[y - 1900] & 0xf); + }, + /** + * 返回农历y年闰月的天数 若该年没有闰月则返回0 + * @param lunar Year + * @return Number (0、29、30) + * @eg:let leapMonthDay = calendar.leapDays(1987) ;//leapMonthDay=29 + */ + leapDays: function(y) { + if (calendar.leapMonth(y)) { + return ((calendar.lunarInfo[y - 1900] & 0x10000) ? 30 : 29); + } + return (0); + }, + /** + * 返回农历y年m月(非闰月)的总天数,计算m为闰月时的天数请使用leapDays方法 + * @param lunar Year + * @return Number (-1、29、30) + * @eg:let MonthDay = calendar.monthDays(1987,9) ;//MonthDay=29 + */ + monthDays: function(y, m) { + if (m > 12 || m < 1) { + return -1 + } //月份参数从1至12,参数错误返回-1 + return ((calendar.lunarInfo[y - 1900] & (0x10000 >> m)) ? 30 : 29); + }, + /** + * 返回公历(!)y年m月的天数 + * @param solar Year + * @return Number (-1、28、29、30、31) + * @eg:let solarMonthDay = calendar.leapDays(1987) ;//solarMonthDay=30 + */ + solarDays: function(y, m) { + if (m > 12 || m < 1) { + return -1 + } //若参数错误 返回-1 + let ms = m - 1; + if (ms == 1) { //2月份的闰平规律测算后确认返回28或29 + return (((y % 4 == 0) && (y % 100 != 0) || (y % 400 == 0)) ? 29 : 28); + } else { + return (calendar.solarMonth[ms]); + } + }, + /** + * 农历年份转换为干支纪年 + * @param lYear 农历年的年份数 + * @return Cn string + */ + toGanZhiYear: function(lYear) { + let ganKey = (lYear - 3) % 10; + let zhiKey = (lYear - 3) % 12; + if (ganKey == 0) ganKey = 10; //如果余数为0则为最后一个天干 + if (zhiKey == 0) zhiKey = 12; //如果余数为0则为最后一个地支 + return calendar.Gan[ganKey - 1] + calendar.Zhi[zhiKey - 1]; + }, + /** + * 公历月、日判断所属星座 + * @param cMonth [description] + * @param cDay [description] + * @return Cn string + */ + toAstro: function(cMonth, cDay) { + let s = + "\u9b54\u7faf\u6c34\u74f6\u53cc\u9c7c\u767d\u7f8a\u91d1\u725b\u53cc\u5b50\u5de8\u87f9\u72ee\u5b50\u5904\u5973\u5929\u79e4\u5929\u874e\u5c04\u624b\u9b54\u7faf"; + let arr = [20, 19, 21, 21, 21, 22, 23, 23, 23, 23, 22, 22]; + return s.substr(cMonth * 2 - (cDay < arr[cMonth - 1] ? 2 : 0), 2) + "\u5ea7"; //座 + }, + /** + * 传入offset偏移量返回干支 + * @param offset 相对甲子的偏移量 + * @return Cn string + */ + toGanZhi: function(offset) { + return calendar.Gan[offset % 10] + calendar.Zhi[offset % 12]; + }, + /** + * 传入公历(!)y年获得该年第n个节气的公历日期 + * @param y公历年(1900-2100);n二十四节气中的第几个节气(1~24);从n=1(小寒)算起 + * @return day Number + * @eg:let _24 = calendar.getTerm(1987,3) ;//_24=4;意即1987年2月4日立春 + */ + getTerm: function(y, n) { + if (y < 1900 || y > 2100) { + return -1; + } + if (n < 1 || n > 24) { + return -1; + } + let _table = calendar.sTermInfo[y - 1900]; + let _info = [ + parseInt('0x' + _table.substr(0, 5)).toString(), + parseInt('0x' + _table.substr(5, 5)).toString(), + parseInt('0x' + _table.substr(10, 5)).toString(), + parseInt('0x' + _table.substr(15, 5)).toString(), + parseInt('0x' + _table.substr(20, 5)).toString(), + parseInt('0x' + _table.substr(25, 5)).toString() + ]; + let _calday = [ + _info[0].substr(0, 1), + _info[0].substr(1, 2), + _info[0].substr(3, 1), + _info[0].substr(4, 2), + _info[1].substr(0, 1), + _info[1].substr(1, 2), + _info[1].substr(3, 1), + _info[1].substr(4, 2), + _info[2].substr(0, 1), + _info[2].substr(1, 2), + _info[2].substr(3, 1), + _info[2].substr(4, 2), + _info[3].substr(0, 1), + _info[3].substr(1, 2), + _info[3].substr(3, 1), + _info[3].substr(4, 2), + _info[4].substr(0, 1), + _info[4].substr(1, 2), + _info[4].substr(3, 1), + _info[4].substr(4, 2), + _info[5].substr(0, 1), + _info[5].substr(1, 2), + _info[5].substr(3, 1), + _info[5].substr(4, 2), + ]; + return parseInt(_calday[n - 1]); + }, + /** + * 传入农历数字月份返回汉语通俗表示法 + * @param lunar month + * @return Cn string + * @eg:let cnMonth = calendar.toChinaMonth(12) ;//cnMonth='腊月' + */ + toChinaMonth: function(m) { // 月 => \u6708 + if (m > 12 || m < 1) { + return -1 + } //若参数错误 返回-1 + let s = calendar.nStr3[m - 1]; + s += "\u6708"; //加上月字 + return s; + }, + /** + * 传入农历日期数字返回汉字表示法 + * @param lunar day + * @return Cn string + * @eg:let cnDay = calendar.toChinaDay(21) ;//cnMonth='廿一' + */ + toChinaDay: function(d) { //日 => \u65e5 + let s; + switch (d) { + case 10: + s = '\u521d\u5341'; + break; + case 20: + s = '\u4e8c\u5341'; + break; + break; + case 30: + s = '\u4e09\u5341'; + break; + break; + default: + s = calendar.nStr2[Math.floor(d / 10)]; + s += calendar.nStr1[d % 10]; + } + return (s); + }, + /** + * 年份转生肖[!仅能大致转换] => 精确划分生肖分界线是“立春” + * @param y year + * @return Cn string + * @eg:let animal = calendar.getAnimal(1987) ;//animal='兔' + */ + getAnimal: function(y) { + return calendar.Animals[(y - 4) % 12] + }, + /** + * 传入阳历年月日获得详细的公历、农历object信息 <=>JSON + * @param y solar year + * @param m solar month + * @param d solar day + * @return JSON object + * @eg:console.log(calendar.solar2lunar(1987,11,01)); + */ + solar2lunar: function(y, m, d) { //参数区间1900.1.31~2100.12.31 + if (y < 1900 || y > 2100) { + return -1; + } //年份限定、上限 + if (y == 1900 && m == 1 && d < 31) { + return -1; + } //下限 + let objDate; + if (!y) { //未传参 获得当天 + objDate = new Date(); + } else { + objDate = new Date(y, parseInt(m) - 1, d) + } + let i, leap = 0, + temp = 0; + //修正ymd参数 + y = objDate.getFullYear(); + m = objDate.getMonth() + 1; + d = objDate.getDate(); + let offset = (Date.UTC(objDate.getFullYear(), objDate.getMonth(), objDate.getDate()) - Date.UTC(1900, 0, 31)) / + 86400000; + for (i = 1900; i < 2101 && offset > 0; i++) { + temp = calendar.lYearDays(i); + offset -= temp; + } + if (offset < 0) { + offset += temp; + i--; + } + //是否今天 + let isTodayObj = new Date(), + isToday = false; + if (isTodayObj.getFullYear() == y && isTodayObj.getMonth() + 1 == m && isTodayObj.getDate() == d) { + isToday = true; + } + //星期几 + let nWeek = objDate.getDay(), + cWeek = calendar.nStr1[nWeek]; + if (nWeek == 0) { + nWeek = 7; + } //数字表示周几顺应天朝周一开始的惯例 + //农历年 + let year = i; + leap = calendar.leapMonth(i); //闰哪个月 + let isLeap = false; + //效验闰月 + for (i = 1; i < 13 && offset > 0; i++) { + //闰月 + if (leap > 0 && i == (leap + 1) && isLeap == false) { + --i; + isLeap = true; + temp = calendar.leapDays(year); //计算农历闰月天数 + } else { + temp = calendar.monthDays(year, i); //计算农历普通月天数 + } + //解除闰月 + if (isLeap == true && i == (leap + 1)) { + isLeap = false; + } + offset -= temp; + } + if (offset == 0 && leap > 0 && i == leap + 1) + if (isLeap) { + isLeap = false; + } else { + isLeap = true; + --i; + } + if (offset < 0) { + offset += temp; + --i; + } + //农历月 + let month = i; + //农历日 + let day = offset + 1; + //天干地支处理 + let sm = m - 1; + let gzY = calendar.toGanZhiYear(year); + //月柱 1900年1月小寒以前为 丙子月(60进制12) + let firstNode = calendar.getTerm(year, (m * 2 - 1)); //返回当月「节」为几日开始 + let secondNode = calendar.getTerm(year, (m * 2)); //返回当月「节」为几日开始 + //依据12节气修正干支月 + let gzM = calendar.toGanZhi((y - 1900) * 12 + m + 11); + if (d >= firstNode) { + gzM = calendar.toGanZhi((y - 1900) * 12 + m + 12); + } + //传入的日期的节气与否 + let isTerm = false; + let Term = null; + if (firstNode == d) { + isTerm = true; + Term = calendar.solarTerm[m * 2 - 2]; + } + if (secondNode == d) { + isTerm = true; + Term = calendar.solarTerm[m * 2 - 1]; + } + //日柱 当月一日与 1900/1/1 相差天数 + let dayCyclical = Date.UTC(y, sm, 1, 0, 0, 0, 0) / 86400000 + 25567 + 10; + let gzD = calendar.toGanZhi(dayCyclical + d - 1); + //该日期所属的星座 + let astro = calendar.toAstro(m, d); + return { + 'lYear': year, + 'lMonth': month, + 'lDay': day, + 'Animal': calendar.getAnimal(year), + 'IMonthCn': (isLeap ? "\u95f0" : '') + calendar.toChinaMonth(month), + 'IDayCn': calendar.toChinaDay(day), + 'cYear': y, + 'cMonth': m, + 'cDay': d, + 'gzYear': gzY, + 'gzMonth': gzM, + 'gzDay': gzD, + 'isToday': isToday, + 'isLeap': isLeap, + 'nWeek': nWeek, + 'ncWeek': "\u661f\u671f" + cWeek, + 'isTerm': isTerm, + 'Term': Term, + 'astro': astro + }; + }, + /** + * 传入农历年月日以及传入的月份是否闰月获得详细的公历、农历object信息 <=>JSON + * @param y lunar year + * @param m lunar month + * @param d lunar day + * @param isLeapMonth lunar month is leap or not.[如果是农历闰月第四个参数赋值true即可] + * @return JSON object + * @eg:console.log(calendar.lunar2solar(1987,9,10)); + */ + lunar2solar: function(y, m, d, isLeapMonth) { //参数区间1900.1.31~2100.12.1 + isLeapMonth = !!isLeapMonth; + let leapOffset = 0; + let leapMonth = calendar.leapMonth(y); + let leapDay = calendar.leapDays(y); + if (isLeapMonth && (leapMonth != m)) { + return -1; + } //传参要求计算该闰月公历 但该年得出的闰月与传参的月份并不同 + if (y == 2100 && m == 12 && d > 1 || y == 1900 && m == 1 && d < 31) { + return -1; + } //超出了最大极限值 + let day = calendar.monthDays(y, m); + let _day = day; + //bugFix 2016-9-25 + //if month is leap, _day use leapDays method + if (isLeapMonth) { + _day = calendar.leapDays(y, m); + } + if (y < 1900 || y > 2100 || d > _day) { + return -1; + } //参数合法性效验 + //计算农历的时间差 + let offset = 0; + for (let i = 1900; i < y; i++) { + offset += calendar.lYearDays(i); + } + let leap = 0, + isAdd = false; + for (let i = 1; i < m; i++) { + leap = calendar.leapMonth(y); + if (!isAdd) { //处理闰月 + if (leap <= i && leap > 0) { + offset += calendar.leapDays(y); + isAdd = true; + } + } + offset += calendar.monthDays(y, i); + } + //转换闰月农历 需补充该年闰月的前一个月的时差 + if (isLeapMonth) { + offset += day; + } + //1900年农历正月一日的公历时间为1900年1月30日0时0分0秒(该时间也是本农历的最开始起始点) + let stmap = Date.UTC(1900, 1, 30, 0, 0, 0); + let calObj = new Date((offset + d - 31) * 86400000 + stmap); + let cY = calObj.getUTCFullYear(); + let cM = calObj.getUTCMonth() + 1; + let cD = calObj.getUTCDate(); + return calendar.solar2lunar(cY, cM, cD); + } +}; + +export default { + solar2lunar: calendar.solar2lunar, + lunar2solar: calendar.lunar2solar +}; diff --git a/components/thorui/tui-calendar/tui-calendar.vue b/components/thorui/tui-calendar/tui-calendar.vue new file mode 100644 index 0000000..10bafea --- /dev/null +++ b/components/thorui/tui-calendar/tui-calendar.vue @@ -0,0 +1,915 @@ + + + + diff --git a/components/thorui/tui-card/tui-card.vue b/components/thorui/tui-card/tui-card.vue new file mode 100644 index 0000000..ef2b470 --- /dev/null +++ b/components/thorui/tui-card/tui-card.vue @@ -0,0 +1,212 @@ + + + + + diff --git a/components/thorui/tui-cascade-selection/tui-cascade-selection.vue b/components/thorui/tui-cascade-selection/tui-cascade-selection.vue new file mode 100644 index 0000000..2f084df --- /dev/null +++ b/components/thorui/tui-cascade-selection/tui-cascade-selection.vue @@ -0,0 +1,513 @@ + + + + + diff --git a/components/thorui/tui-circular-progress/tui-circular-progress.vue b/components/thorui/tui-circular-progress/tui-circular-progress.vue new file mode 100644 index 0000000..3aa00db --- /dev/null +++ b/components/thorui/tui-circular-progress/tui-circular-progress.vue @@ -0,0 +1,265 @@ + + + + + \ No newline at end of file diff --git a/components/thorui/tui-collapse/tui-collapse.vue b/components/thorui/tui-collapse/tui-collapse.vue new file mode 100644 index 0000000..446c854 --- /dev/null +++ b/components/thorui/tui-collapse/tui-collapse.vue @@ -0,0 +1,167 @@ + + + + + diff --git a/components/thorui/tui-countdown/tui-countdown.vue b/components/thorui/tui-countdown/tui-countdown.vue new file mode 100644 index 0000000..a4ff640 --- /dev/null +++ b/components/thorui/tui-countdown/tui-countdown.vue @@ -0,0 +1,343 @@ + + + + + diff --git a/components/thorui/tui-divider/tui-divider.vue b/components/thorui/tui-divider/tui-divider.vue new file mode 100644 index 0000000..ec96112 --- /dev/null +++ b/components/thorui/tui-divider/tui-divider.vue @@ -0,0 +1,103 @@ + + + + + diff --git a/components/thorui/tui-drawer/tui-drawer.vue b/components/thorui/tui-drawer/tui-drawer.vue new file mode 100644 index 0000000..da36970 --- /dev/null +++ b/components/thorui/tui-drawer/tui-drawer.vue @@ -0,0 +1,140 @@ + + + + + diff --git a/components/thorui/tui-icon/tui-icon.js b/components/thorui/tui-icon/tui-icon.js new file mode 100644 index 0000000..36549d2 --- /dev/null +++ b/components/thorui/tui-icon/tui-icon.js @@ -0,0 +1,190 @@ +export default { + "about": "\ue772", + "about-fill": "\ue771", + "add": "\ue770", + "add-fill": "\ue76f", + "addmessage": "\ue76e", + "addressbook": "\ue76d", + "agree": "\ue76c", + "agree-fill": "\ue76b", + "alarm": "\ue76a", + "alarm-fill": "\ue769", + "alipay": "\ue768", + "android": "\ue767", + "applets": "\ue766", + "arrowdown": "\ue765", + "arrowleft": "\ue764", + "arrowright": "\ue763", + "arrowup": "\ue762", + "attestation": "\ue761", + "back": "\ue760", + "bag": "\ue75f", + "bag-fill": "\ue75e", + "balloon": "\ue75d", + "bankcard": "\ue75c", + "bankcard-fill": "\ue75b", + "bottom": "\ue75a", + "calendar": "\ue759", + "camera": "\ue758", + "camera-fill": "\ue757", + "camera-add": "\ue756", + "card": "\ue755", + "card-fill": "\ue754", + "cart": "\ue753", + "cart-fill": "\ue752", + "category": "\ue751", + "category-fill": "\ue750", + "check": "\ue74f", + "circle": "\ue74e", + "circle-fill": "\ue74d", + "circle-selected": "\ue74c", + "clock": "\ue74b", + "clock-fill": "\ue74a", + "close": "\ue749", + "close-fill": "\ue748", + "community": "\ue747", + "community-fill": "\ue746", + "computer": "\ue745", + "computer-fill": "\ue744", + "coupon": "\ue743", + "delete": "\ue742", + "deletekey": "\ue741", + "dingtalk": "\ue740", + "dissatisfied": "\ue73f", + "down": "\ue73e", + "download": "\ue73d", + "edit": "\ue73c", + "ellipsis": "\ue73b", + "enlarge": "\ue73a", + "evaluate": "\ue739", + "exchange": "\ue738", + "explain": "\ue737", + "explain-fill": "\ue736", + "explore": "\ue735", + "explore-fill": "\ue734", + "eye": "\ue733", + "feedback": "\ue732", + "fingerprint": "\ue730", + "friendadd": "\ue72f", + "friendadd-fill": "\ue72e", + "gps": "\ue72d", + "histogram": "\ue72c", + "home": "\ue72b", + "home-fill": "\ue72a", + "house": "\ue729", + "imface": "\ue728", + "imkeyboard": "\ue727", + "immore": "\ue726", + "imvoice": "\ue725", + "ios": "\ue724", + "kefu": "\ue723", + "label": "\ue722", + "label-fill": "\ue721", + "like": "\ue720", + "like-fill": "\ue71f", + "link": "\ue71e", + "listview": "\ue71d", + "loading": "\ue71c", + "location": "\ue71b", + "mail": "\ue71a", + "mail-fill": "\ue719", + "manage": "\ue718", + "manage-fill": "\ue717", + "member": "\ue716", + "member-fill": "\ue715", + "message": "\ue714", + "message-fill": "\ue713", + "mobile": "\ue712", + "moments": "\ue711", + "more": "\ue710", + "more-fill": "\ue70f", + "narrow": "\ue70e", + "news": "\ue70d", + "news-fill": "\ue70c", + "nodata": "\ue70b", + "notice": "\ue699", + "notice-fill": "\ue698", + "offline": "\ue697", + "offline-fill": "\ue696", + "oppose": "\ue695", + "oppose-fill": "\ue694", + "order": "\ue693", + "partake": "\ue692", + "people": "\ue691", + "people-fill": "\ue690", + "pic": "\ue68f", + "pic-fill": "\ue68e", + "picture": "\ue68d", + "pie": "\ue68c", + "plus": "\ue689", + "polygonal": "\ue688", + "position": "\ue686", + "pwd": "\ue685", + "qq": "\ue684", + "qrcode": "\ue682", + "redpacket": "\ue681", + "redpacket-fill": "\ue680", + "reduce": "\ue67f", + "refresh": "\ue67e", + "revoke": "\ue67d", + "satisfied": "\ue67c", + "screen": "\ue67b", + "search": "\ue67a", + "search-2": "\ue679", + "send": "\ue678", + "service": "\ue677", + "service-fill": "\ue676", + "setup": "\ue675", + "setup-fill": "\ue674", + "share": "\ue673", + "share-fill": "\ue672", + "shield": "\ue671", + "shop": "\ue670", + "shop-fill": "\ue66f", + "shut": "\ue66e", + "signin": "\ue66d", + "sina": "\ue66c", + "skin": "\ue66b", + "soso": "\ue669", + "square": "\ue668", + "square-fill": "\ue667", + "square-selected": "\ue666", + "star": "\ue665", + "star-fill": "\ue664", + "strategy": "\ue663", + "sweep": "\ue662", + "time": "\ue661", + "time-fill": "\ue660", + "todown": "\ue65f", + "toleft": "\ue65e", + "tool": "\ue65d", + "top": "\ue65c", + "toright": "\ue65b", + "towardsleft": "\ue65a", + "towardsright": "\ue659", + "towardsright-fill": "\ue658", + "transport": "\ue657", + "transport-fill": "\ue656", + "turningdown": "\ue654", + "turningleft": "\ue653", + "turningright": "\ue652", + "turningup": "\ue651", + "unreceive": "\ue650", + "seen": "\ue7d2", + "unseen": "\ue7d1", + "up": "\ue64e", + "upload": "\ue64c", + "video": "\ue64b", + "voice": "\ue649", + "voice-fill": "\ue648", + "voipphone": "\ue647", + "wallet": "\ue646", + "warning": "\ue645", + "wealth": "\ue644", + "wealth-fill": "\ue643", + "weather": "\ue642", + "wechat": "\ue641", + "wifi": "\ue640", + "play": "\ue7d5", + "suspend": "\ue7d4" +} diff --git a/components/thorui/tui-icon/tui-icon.vue b/components/thorui/tui-icon/tui-icon.vue new file mode 100644 index 0000000..ec9c955 --- /dev/null +++ b/components/thorui/tui-icon/tui-icon.vue @@ -0,0 +1,81 @@ + + + + + diff --git a/components/thorui/tui-loading/tui-loading.vue b/components/thorui/tui-loading/tui-loading.vue new file mode 100644 index 0000000..4c38a09 --- /dev/null +++ b/components/thorui/tui-loading/tui-loading.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/components/thorui/tui-loadmore/tui-loadmore.vue b/components/thorui/tui-loadmore/tui-loadmore.vue new file mode 100644 index 0000000..4c9ab65 --- /dev/null +++ b/components/thorui/tui-loadmore/tui-loadmore.vue @@ -0,0 +1,161 @@ + + + + + diff --git a/components/thorui/tui-modal/tui-modal.vue b/components/thorui/tui-modal/tui-modal.vue new file mode 100644 index 0000000..008c09d --- /dev/null +++ b/components/thorui/tui-modal/tui-modal.vue @@ -0,0 +1,408 @@ + + + + + diff --git a/components/thorui/tui-no-data/tui-no-data.vue b/components/thorui/tui-no-data/tui-no-data.vue new file mode 100644 index 0000000..1406ca8 --- /dev/null +++ b/components/thorui/tui-no-data/tui-no-data.vue @@ -0,0 +1,118 @@ + + + + + diff --git a/components/thorui/tui-nomore/tui-nomore.vue b/components/thorui/tui-nomore/tui-nomore.vue new file mode 100644 index 0000000..25d7d2c --- /dev/null +++ b/components/thorui/tui-nomore/tui-nomore.vue @@ -0,0 +1,115 @@ + + + + + diff --git a/components/thorui/tui-numberbox/tui-numberbox.vue b/components/thorui/tui-numberbox/tui-numberbox.vue new file mode 100644 index 0000000..811e8b4 --- /dev/null +++ b/components/thorui/tui-numberbox/tui-numberbox.vue @@ -0,0 +1,231 @@ + + + + + diff --git a/components/thorui/tui-rate/tui-rate.vue b/components/thorui/tui-rate/tui-rate.vue new file mode 100644 index 0000000..997a3d9 --- /dev/null +++ b/components/thorui/tui-rate/tui-rate.vue @@ -0,0 +1,168 @@ + + + + + diff --git a/components/thorui/tui-slide-verify/tui-slide-verify.vue b/components/thorui/tui-slide-verify/tui-slide-verify.vue new file mode 100644 index 0000000..196090d --- /dev/null +++ b/components/thorui/tui-slide-verify/tui-slide-verify.vue @@ -0,0 +1,218 @@ + + + + + diff --git a/components/thorui/tui-slide-verify/tui-slide-verify.wxs b/components/thorui/tui-slide-verify/tui-slide-verify.wxs new file mode 100644 index 0000000..1ab80e7 --- /dev/null +++ b/components/thorui/tui-slide-verify/tui-slide-verify.wxs @@ -0,0 +1,73 @@ +var slideBarWidth = 200; +var slideBlockWidth = 32; +var errorRange = 2 +var disabled = false + +function bool(str) { + return str === 'true' || str == true ? true : false +} + +function touchstart(e, ins) { + var state=e.instance.getState() + var touch = e.touches[0] || e.changedTouches[0] + var dataset = e.instance.getDataset() + state.startX = touch.pageX + slideBarWidth = +dataset.slidebarwidth + slideBlockWidth = +dataset.slideblockwidth + errorRange = +dataset.errorrange + disabled = bool(dataset.disabled) +} + +function styleChange(left, ins) { + if (!ins) return; + ins.selectComponent('.tui-slider-block').setStyle({ + transform: 'translate3d(' + left + 'px,0,0)' + }) + ins.selectComponent('.tui-slide-glided').setStyle({ + width: left + 'px' + }) +} + +function touchmove(e, ins) { + if (disabled) return; + var state=e.instance.getState() + var touch = e.touches[0] || e.changedTouches[0] + var pageX = touch.pageX; + var left = pageX - state.startX + (state.lastLeft || 0); + left = left < 0 ? 0 : left; + var width = slideBarWidth - slideBlockWidth; + left = left >= width ? width : left; + state.startX = pageX + state.lastLeft = left + styleChange(left, ins) +} + +function touchend(e, ins) { + if (disabled) return; + var state=e.instance.getState() + let left = slideBarWidth - slideBlockWidth + if (left - state.lastLeft <= errorRange) { + styleChange(left, ins) + ins.callMethod('success') + } else { + state.startX = 0; + state.lastLeft = 0; + styleChange(0, ins) + } +} + +function slidereset(reset, oldreset, owner, ins) { + var state=ins.getState() + if (reset > 0) { + state.startX = 0; + state.lastLeft = 0; + styleChange(0, owner) + } +} + +module.exports = { + touchstart: touchstart, + touchmove: touchmove, + touchend: touchend, + slidereset: slidereset +} \ No newline at end of file diff --git a/components/thorui/tui-steps/tui-steps.vue b/components/thorui/tui-steps/tui-steps.vue new file mode 100644 index 0000000..4cfb063 --- /dev/null +++ b/components/thorui/tui-steps/tui-steps.vue @@ -0,0 +1,253 @@ + + + + + diff --git a/components/thorui/tui-sticky-wxs/tui-sticky-wxs.vue b/components/thorui/tui-sticky-wxs/tui-sticky-wxs.vue new file mode 100644 index 0000000..c770b10 --- /dev/null +++ b/components/thorui/tui-sticky-wxs/tui-sticky-wxs.vue @@ -0,0 +1,125 @@ + + + + + diff --git a/components/thorui/tui-sticky-wxs/tui-sticky.wxs b/components/thorui/tui-sticky-wxs/tui-sticky.wxs new file mode 100644 index 0000000..0a04563 --- /dev/null +++ b/components/thorui/tui-sticky-wxs/tui-sticky.wxs @@ -0,0 +1,44 @@ +var stickyChange = function(scrollTop, oldScrollTop, ownerInstance, ins) { + if (!oldScrollTop && scrollTop === 0) return false; + var dataset = ins.getDataset() + var top = +dataset.top; + var height = +dataset.height; + var stickyTop = +dataset.stickytop; + var isNativeHeader = dataset.isnativeheader; + var isFixed = false; + var distance = stickyTop + // #ifdef H5 + if (isNativeHeader) { + distance = distance - 44 + distance = distance < 0 ? 0 : distance + } + // #endif + if (dataset.container) { + isFixed = (scrollTop + distance >= top && scrollTop + distance < top + height) ? true : false + } else { + isFixed = scrollTop + distance >= top ? true : false + } + if (isFixed) { + ownerInstance.selectComponent('.tui-sticky-bar').setStyle({ + "top": stickyTop + 'px' + }).addClass('tui-sticky-fixed') + ownerInstance.selectComponent('.tui-sticky-seat').setStyle({ + "display": 'block' + }) + } else { + ownerInstance.selectComponent('.tui-sticky-bar').setStyle({ + "top": 'auto' + }).removeClass('tui-sticky-fixed') + ownerInstance.selectComponent('.tui-sticky-seat').setStyle({ + "display": 'none' + }) + } + ownerInstance.triggerEvent("sticky", [{ + isFixed: isFixed, + index: parseInt(dataset.index) + }]) +} + +module.exports = { + stickyChange: stickyChange +} diff --git a/components/thorui/tui-sticky/tui-sticky.vue b/components/thorui/tui-sticky/tui-sticky.vue new file mode 100644 index 0000000..a7e8e91 --- /dev/null +++ b/components/thorui/tui-sticky/tui-sticky.vue @@ -0,0 +1,155 @@ + + + + + diff --git a/components/thorui/tui-tag/tui-tag.vue b/components/thorui/tui-tag/tui-tag.vue new file mode 100644 index 0000000..89c8a9a --- /dev/null +++ b/components/thorui/tui-tag/tui-tag.vue @@ -0,0 +1,360 @@ + + + + + diff --git a/components/thorui/tui-tips/tui-tips.vue b/components/thorui/tui-tips/tui-tips.vue new file mode 100644 index 0000000..bd6900a --- /dev/null +++ b/components/thorui/tui-tips/tui-tips.vue @@ -0,0 +1,129 @@ + + + + + diff --git a/components/thorui/tui-toast/tui-toast.vue b/components/thorui/tui-toast/tui-toast.vue new file mode 100644 index 0000000..31b6f8f --- /dev/null +++ b/components/thorui/tui-toast/tui-toast.vue @@ -0,0 +1,121 @@ + + + + + diff --git a/components/uview-ui/LICENSE b/components/uview-ui/LICENSE new file mode 100644 index 0000000..4db40ef --- /dev/null +++ b/components/uview-ui/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 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. diff --git a/components/uview-ui/README.md b/components/uview-ui/README.md new file mode 100644 index 0000000..c78ff47 --- /dev/null +++ b/components/uview-ui/README.md @@ -0,0 +1,66 @@ +

+ logo +

+

uView 2.0

+

多平台快速开发的UI框架

+ +[![stars](https://img.shields.io/github/stars/umicro/uView2.0?style=flat-square&logo=GitHub)](https://github.com/umicro/uView2.0) +[![forks](https://img.shields.io/github/forks/umicro/uView2.0?style=flat-square&logo=GitHub)](https://github.com/umicro/uView2.0) +[![issues](https://img.shields.io/github/issues/umicro/uView2.0?style=flat-square&logo=GitHub)](https://github.com/umicro/uView2.0/issues) +[![Website](https://img.shields.io/badge/uView-up-blue?style=flat-square)](https://uviewui.com) +[![release](https://img.shields.io/github/v/release/umicro/uView2.0?style=flat-square)](https://gitee.com/umicro/uView2.0/releases) +[![license](https://img.shields.io/github/license/umicro/uView2.0?style=flat-square)](https://en.wikipedia.org/wiki/MIT_License) + +## 说明 + +uView UI,是[uni-app](https://uniapp.dcloud.io/)全面兼容nvue的uni-app生态框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水 + +## [官方文档:https://uviewui.com](https://uviewui.com) + + +## 预览 + +您可以通过**微信**扫码,查看最佳的演示效果。 +
+
+ + + +## 链接 + +- [官方文档](https://www.uviewui.com/) +- [更新日志](https://www.uviewui.com/components/changelog.html) +- [升级指南](https://www.uviewui.com/components/changeGuide.html) +- [关于我们](https://www.uviewui.com/cooperation/about.html) + +## 交流反馈 + +欢迎加入我们的QQ群交流反馈:[点此跳转](https://www.uviewui.com/components/addQQGroup.html) + +## 关于PR + +> 我们非常乐意接受各位的优质PR,但在此之前我希望您了解uView2.0是一个需要兼容多个平台的(小程序、h5、ios app、android app)包括nvue页面、vue页面。 +> 所以希望在您修复bug并提交之前尽可能的去这些平台测试一下兼容性。最好能携带测试截图以方便审核。非常感谢! + +## 安装 + +#### **uni-app插件市场链接** —— [https://ext.dcloud.net.cn/plugin?id=1593](https://ext.dcloud.net.cn/plugin?id=1593) + +请通过[官网安装文档](https://www.uviewui.com/components/install.html)了解更详细的内容 + +## 快速上手 + +请通过[快速上手](https://uviewui.com/components/quickstart.html)了解更详细的内容 + +## 使用方法 +配置easycom规则后,自动按需引入,无需`import`组件,直接引用即可。 + +```html + +``` + +## 版权信息 +uView遵循[MIT](https://en.wikipedia.org/wiki/MIT_License)开源协议,意味着您无需支付任何费用,也无需授权,即可将uView应用到您的产品中。 + diff --git a/components/uview-ui/changelog.md b/components/uview-ui/changelog.md new file mode 100644 index 0000000..16fb337 --- /dev/null +++ b/components/uview-ui/changelog.md @@ -0,0 +1,374 @@ +## 2.0.37(2024-03-17) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复表单校验`trigger`触发器参数无效问题 +2. 修复`u-input`组件的`password`属性在动态切换为`false`时失效的问题 +3. 添加微信小程序用户同意隐私协议事件回调 +4. 修复支付宝小程序picker样式问题 +5. `u-modal`添加`duration`字段控制动画过度时间 +6. 修复`picker` `lastIndex`异常导致的`column`异常问题 +7. `tabs`增加长按事件支持 +8. 修复`u-avatar` `square`属性在小程序`open-data`下无效问题 +9. 其他一些修复 +## 2.0.36(2023-03-27) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 重构`deepClone` & `deepMerge`方法 +2. 其他优化 +## 2.0.34(2022-09-24) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. `u-input`、`u-textarea`增加`ignoreCompositionEvent`属性 +2. 修复`route`方法调用可能报错的问题 +3. 修复`u-no-network`组件`z-index`无效的问题 +4. 修复`textarea`组件在h5上confirmType=""报错的问题 +5. `u-rate`适配`nvue` +6. 优化验证手机号码的正则表达式(根据工信部发布的《电信网编号计划(2017年版)》进行修改。) +7. `form-item`添加`labelPosition`属性 +8. `u-calendar`修复`maxDate`设置为当前日期,并且当前时间大于08:00时无法显示日期列表的问题 (#724) +9. `u-radio`增加一个默认插槽用于自定义修改label内容 (#680) +10. 修复`timeFormat`函数在safari重的兼容性问题 (#664) +## 2.0.33(2022-06-17) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复`loadmore`组件`lineColor`类型错误问题 +2. 修复`u-parse`组件`imgtap`、`linktap`不生效问题 +## 2.0.32(2022-06-16) +# uView2.0重磅发布,利剑出鞘,一统江湖 +1. `u-loadmore`新增自定义颜色、虚/实线 +2. 修复`u-swiper-action`组件部分平台不能上下滑动的问题 +3. 修复`u-list`回弹问题 +4. 修复`notice-bar`组件动画在低端安卓机可能会抖动的问题 +5. `u-loading-page`添加控制图标大小的属性`iconSize` +6. 修复`u-tooltip`组件`color`参数不生效的问题 +7. 修复`u--input`组件使用`blur`事件输出为`undefined`的bug +8. `u-code-input`组件新增键盘弹起时,是否自动上推页面参数`adjustPosition` +9. 修复`image`组件`load`事件无回调对象问题 +10. 修复`button`组件`loadingSize`设置无效问题 +10. 其他修复 +## 2.0.31(2022-04-19) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复`upload`在`vue`页面上传成功后没有成功标志的问题 +2. 解决演示项目中微信小程序模拟上传图片一直出于上传中问题 +3. 修复`u-code-input`组件在`nvue`页面编译到`app`平台上光标异常问题(`app`去除此功能) +4. 修复`actionSheet`组件标题关闭按钮点击事件名称错误的问题 +5. 其他修复 +## 2.0.30(2022-04-04) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. `u-rate`增加`readonly`属性 +2. `tabs`滑块支持设置背景图片 +3. 修复`u-subsection` `mode`为`subsection`时,滑块样式不正确的问题 +4. `u-code-input`添加光标效果动画 +5. 修复`popup`的`open`事件不触发 +6. 修复`u-flex-column`无效的问题 +7. 修复`u-datetime-picker`索引在特定场合异常问题 +8. 修复`u-datetime-picker`最小时间字符串模板错误问题 +9. `u-swiper`添加`m3u8`验证 +10. `u-swiper`修改判断image和video逻辑 +11. 修复`swiper`无法使用本地图片问题,增加`type`参数 +12. 修复`u-row-notice`格式错误问题 +13. 修复`u-switch`组件当`unit`为`rpx`时,`nodeStyle`消失的问题 +14. 修复`datetime-picker`组件`showToolbar`与`visibleItemCount`属性无效的问题 +15. 修复`upload`组件条件编译位置判断错误,导致`previewImage`属性设置为`false`时,整个组件都会被隐藏的问题 +16. 修复`u-checkbox-group`设置`shape`属性无效的问题 +17. 修复`u-upload`的`capture`传入字符串的时候不生效的问题 +18. 修复`u-action-sheet`组件,关闭事件逻辑错误的问题 +19. 修复`u-list`触顶事件的触发错误的问题 +20. 修复`u-text`只有手机号可拨打的问题 +21. 修复`u-textarea`不能换行的问题 +22. 其他修复 +## 2.0.29(2022-03-13) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复`u--text`组件设置`decoration`属性未生效的问题 +2. 修复`u-datetime-picker`使用`formatter`后返回值不正确 +3. 修复`u-datetime-picker` `intercept` 可能为undefined +4. 修复已设置单位 uni..config.unit = 'rpx'时,线型指示器 `transform` 的位置翻倍,导致指示器超出宽度 +5. 修复mixin中bem方法生成的类名在支付宝和字节小程序中失效 +6. 修复默认值传值为空的时候,打开`u-datetime-picker`报错,不能选中第一列时间的bug +7. 修复`u-datetime-picker`使用`formatter`后返回值不正确 +8. 修复`u-image`组件`loading`无效果的问题 +9. 修复`config.unit`属性设为`rpx`时,导航栏占用高度不足导致塌陷的问题 +10. 修复`u-datetime-picker`组件`itemHeight`无效问题 +11. 其他修复 +## 2.0.28(2022-02-22) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. search组件新增searchIconSize属性 +2. 兼容Safari/Webkit中传入时间格式如2022-02-17 12:00:56 +3. 修复text value.js 判断日期出format错误问题 +4. priceFormat格式化金额出现精度错误 +5. priceFormat在部分情况下出现精度损失问题 +6. 优化表单rules提示 +7. 修复avatar组件src为空时,展示状态不对 +8. 其他修复 +## 2.0.27(2022-01-28) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1.样式修复 +## 2.0.26(2022-01-28) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1.样式修复 +## 2.0.25(2022-01-27) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复text组件mode=price时,可能会导致精度错误的问题 +2. 添加$u.setConfig()方法,可设置uView内置的config, props, zIndex, color属性,详见:[修改uView内置配置方案](https://uviewui.com/components/setting.html#%E9%BB%98%E8%AE%A4%E5%8D%95%E4%BD%8D%E9%85%8D%E7%BD%AE) +3. 优化form组件在errorType=toast时,如果输入错误页面会有抖动的问题 +4. 修复$u.addUnit()对配置默认单位可能无效的问题 +## 2.0.24(2022-01-25) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复swiper在current指定非0时缩放有误 +2. 修复u-icon添加stop属性的时候报错 +3. 优化遗留的通过正则判断rpx单位的问题 +4. 优化Layout布局 vue使用gutter时,会超出固定区域 +5. 优化search组件高度单位问题(rpx -> px) +6. 修复u-image slot 加载和错误的图片失去了高度 +7. 修复u-index-list中footer插槽与header插槽存在性判断错误 +8. 修复部分机型下u-popup关闭时会闪烁 +9. 修复u-image在nvue-app下失去宽高 +10. 修复u-popup运行报错 +11. 修复u-tooltip报错 +12. 修复box-sizing在app下的警告 +13. 修复u-navbar在小程序中报运行时错误 +14. 其他修复 +## 2.0.23(2022-01-24) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复image组件在hx3.3.9的nvue下可能会显示异常的问题 +2. 修复col组件gutter参数带rpx单位处理不正确的问题 +3. 修复text组件单行时无法显示省略号的问题 +4. navbar添加titleStyle参数 +5. 升级到hx3.3.9可消除nvue下控制台样式警告的问题 +## 2.0.22(2022-01-19) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. $u.page()方法优化,避免在特殊场景可能报错的问题 +2. picker组件添加immediateChange参数 +3. 新增$u.pages()方法 +## 2.0.21(2022-01-19) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 优化:form组件在用户设置rules的时候提示用户model必传 +2. 优化遗留的通过正则判断rpx单位的问题 +3. 修复微信小程序环境中tabbar组件开启safeAreaInsetBottom属性后,placeholder高度填充不正确 +4. 修复swiper在current指定非0时缩放有误 +5. 修复u-icon添加stop属性的时候报错 +6. 修复upload组件在accept=all的时候没有作用 +7. 修复在text组件mode为phone时call属性无效的问题 +8. 处理u-form clearValidate方法 +9. 其他修复 +## 2.0.20(2022-01-14) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复calendar默认会选择一个日期,如果直接点确定的话,无法取到值的问题 +2. 修复Slider缺少disabled props 还有注释 +3. 修复u-notice-bar点击事件无法拿到index索引值的问题 +4. 修复u-collapse-item在vue文件下,app端自定义插槽不生效的问题 +5. 优化头像为空时显示默认头像 +6. 修复图片地址赋值后判断加载状态为完成问题 +7. 修复日历滚动到默认日期月份区域 +8. search组件暴露点击左边icon事件 +9. 修复u-form clearValidate方法不生效 +10. upload h5端增加返回文件参数(文件的name参数) +11. 处理upload选择文件后url为blob类型无法预览的问题 +12. u-code-input 修复输入框没有往左移出一半屏幕 +13. 修复Upload上传 disabled为true时,控制台报hoverClass类型错误 +14. 临时处理ios app下grid点击坍塌问题 +15. 其他修复 +## 2.0.19(2021-12-29) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 优化微信小程序包体积可在微信中预览,请升级HbuilderX3.3.4,同时在“运行->运行到小程序模拟器”中勾选“运行时是否压缩代码” +2. 优化微信小程序setData性能,处理某些方法如$u.route()无法在模板中使用的问题 +3. navbar添加autoBack参数 +4. 允许avatar组件的事件冒泡 +5. 修复cell组件报错问题 +6. 其他修复 +## 2.0.18(2021-12-28) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复app端编译报错问题 +2. 重新处理微信小程序端setData过大的性能问题 +3. 修复边框问题 +4. 修复最大最小月份不大于0则没有数据出现的问题 +5. 修复SwipeAction微信小程序端无法上下滑动问题 +6. 修复input的placeholder在小程序端默认显示为true问题 +7. 修复divider组件click事件无效问题 +8. 修复u-code-input maxlength 属性值为 String 类型时显示异常 +9. 修复当 grid只有 1到2时 在小程序端algin设置无效的问题 +10. 处理form-item的label为top时,取消错误提示的左边距 +11. 其他修复 +## 2.0.17(2021-12-26) +## uView正在参与开源中国的“年度最佳项目”评选,之前投过票的现在也可以投票,恳请同学们投一票,[点此帮助uView](https://www.oschina.net/project/top_cn_2021/?id=583) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 解决HBuilderX3.3.3.20211225版本导致的样式问题 +2. calendar日历添加monthNum参数 +3. navbar添加center slot +## 2.0.16(2021-12-25) +## uView正在参与开源中国的“年度最佳项目”评选,之前投过票的现在也可以投票,恳请同学们投一票,[点此帮助uView](https://www.oschina.net/project/top_cn_2021/?id=583) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 解决微信小程序setData性能问题 +2. 修复count-down组件change事件不触发问题 +## 2.0.15(2021-12-21) +## uView正在参与开源中国的“年度最佳项目”评选,之前投过票的现在也可以投票,恳请同学们投一票,[点此帮助uView](https://www.oschina.net/project/top_cn_2021/?id=583) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复Cell单元格titleWidth无效 +2. 修复cheakbox组件ischecked不更新 +3. 修复keyboard是否显示"."按键默认值问题 +4. 修复number-keyboard是否显示键盘的"."符号问题 +5. 修复Input输入框 readonly无效 +6. 修复u-avatar 导致打包app、H5时候报错问题 +7. 修复Upload上传deletable无效 +8. 修复upload当设置maxSize时无效的问题 +9. 修复tabs lineWidth传入带单位的字符串的时候偏移量计算错误问题 +10. 修复rate组件在有padding的view内,显示的星星位置和可触摸区域不匹配,无法正常选中星星 +## 2.0.13(2021-12-14) +## [点击加群交流反馈:364463526](https://jq.qq.com/?_chanwv=1027&k=mCxS3TGY) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复配置默认单位为rpx可能会导致自定义导航栏高度异常的问题 +## 2.0.12(2021-12-14) +## [点击加群交流反馈:364463526](https://jq.qq.com/?_chanwv=1027&k=mCxS3TGY) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复tabs组件在vue环境下划线消失的问题 +2. 修复upload组件在安卓小程序无法选择视频的问题 +3. 添加uni.$u.config.unit配置,用于配置参数默认单位,详见:[默认单位配置](https://www.uviewui.com/components/setting.html#%E9%BB%98%E8%AE%A4%E5%8D%95%E4%BD%8D%E9%85%8D%E7%BD%AE) +4. 修复textarea组件在没绑定v-model时,字符统计不生效问题 +5. 修复nvue下控制是否出现滚动条失效问题 +## 2.0.11(2021-12-13) +## [点击加群交流反馈:364463526](https://jq.qq.com/?_chanwv=1027&k=mCxS3TGY) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. text组件align参数无效的问题 +2. subsection组件添加keyName参数 +3. upload组件无法判断[Object file]类型的问题 +4. 处理notify层级过低问题 +5. codeInput组件添加disabledDot参数 +6. 处理actionSheet组件round参数无效的问题 +7. calendar组件添加round参数用于控制圆角值 +8. 处理swipeAction组件在vue环境下默认被打开的问题 +9. button组件的throttleTime节流参数无效的问题 +10. 解决u-notify手动关闭方法close()无效的问题 +11. input组件readonly不生效问题 +12. tag组件type参数为info不生效问题 +## 2.0.10(2021-12-08) +## [点击加群交流反馈:364463526](https://jq.qq.com/?_chanwv=1027&k=mCxS3TGY) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复button sendMessagePath属性不生效 +2. 修复DatetimePicker选择器title无效 +3. 修复u-toast设置loading=true不生效 +4. 修复u-text金额模式传0报错 +5. 修复u-toast组件的icon属性配置不生效 +6. button的icon在特殊场景下的颜色优化 +7. IndexList优化,增加# +## 2.0.9(2021-12-01) +## [点击加群交流反馈:232041042](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 优化swiper的height支持100%值(仅vue有效),修复嵌入视频时click事件无法触发的问题 +2. 优化tabs组件对list值为空的判断,或者动态变化list时重新计算相关尺寸的问题 +3. 优化datetime-picker组件逻辑,让其后续打开的默认值为上一次的选中值,需要通过v-model绑定值才有效 +4. 修复upload内嵌在其他组件中,选择图片可能不会换行的问题 +## 2.0.8(2021-12-01) +## [点击加群交流反馈:232041042](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复toast的position参数无效问题 +2. 处理input在ios nvue上无法获得焦点的问题 +3. avatar-group组件添加extraValue参数,让剩余展示数量可手动控制 +4. tabs组件添加keyName参数用于配置从对象中读取的键名 +5. 处理text组件名字脱敏默认配置无效的问题 +6. 处理picker组件item文本太长换行问题 +## 2.0.7(2021-11-30) +## [点击加群交流反馈:232041042](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复radio和checkbox动态改变v-model无效的问题。 +2. 优化form规则validator在微信小程序用法 +3. 修复backtop组件mode参数在微信小程序无效的问题 +4. 处理Album的previewFullImage属性无效的问题 +5. 处理u-datetime-picker组件mode='time'在选择改变时间时,控制台报错的问题 +## 2.0.6(2021-11-27) +## [点击加群交流反馈:232041042](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 处理tag组件在vue下边框无效的问题。 +2. 处理popup组件圆角参数可能无效的问题。 +3. 处理tabs组件lineColor参数可能无效的问题。 +4. propgress组件在值很小时,显示异常的问题。 +## 2.0.5(2021-11-25) +## [点击加群交流反馈:232041042](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. calendar在vue下显示异常问题。 +2. form组件labelPosition和errorType参数无效的问题 +3. input组件inputAlign无效的问题 +4. 其他一些修复 +## 2.0.4(2021-11-23) +## [点击加群交流反馈:232041042](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +0. input组件缺失@confirm事件,以及subfix和prefix无效问题 +1. component.scss文件样式在vue下干扰全局布局问题 +2. 修复subsection在vue环境下表现异常的问题 +3. tag组件的bgColor等参数无效的问题 +4. upload组件不换行的问题 +5. 其他的一些修复处理 +## 2.0.3(2021-11-16) +## [点击加群交流反馈:1129077272](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. uView2.0已实现全面兼容nvue +2. uView2.0对1.x进行了架构重构,细节和性能都有极大提升 +3. 目前uView2.0为公测阶段,相关细节可能会有变动 +4. 我们写了一份与1.x的对比指南,详见[对比1.x](https://www.uviewui.com/components/diff1.x.html) +5. 处理modal的confirm回调事件拼写错误问题 +6. 处理input组件@input事件参数错误问题 +7. 其他一些修复 +## 2.0.2(2021-11-16) +## [点击加群交流反馈:1129077272](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. uView2.0已实现全面兼容nvue +2. uView2.0对1.x进行了架构重构,细节和性能都有极大提升 +3. 目前uView2.0为公测阶段,相关细节可能会有变动 +4. 我们写了一份与1.x的对比指南,详见[对比1.x](https://www.uviewui.com/components/diff1.x.html) +5. 修复input组件formatter参数缺失问题 +6. 优化loading-icon组件的scss写法问题,防止不兼容新版本scss +## 2.0.0(2020-11-15) +## [点击加群交流反馈:1129077272](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. uView2.0已实现全面兼容nvue +2. uView2.0对1.x进行了架构重构,细节和性能都有极大提升 +3. 目前uView2.0为公测阶段,相关细节可能会有变动 +4. 我们写了一份与1.x的对比指南,详见[对比1.x](https://www.uviewui.com/components/diff1.x.html) +5. 修复input组件formatter参数缺失问题 + + diff --git a/components/uview-ui/components/u--form/u--form.vue b/components/uview-ui/components/u--form/u--form.vue new file mode 100644 index 0000000..d534ece --- /dev/null +++ b/components/uview-ui/components/u--form/u--form.vue @@ -0,0 +1,78 @@ + + + diff --git a/components/uview-ui/components/u--image/u--image.vue b/components/uview-ui/components/u--image/u--image.vue new file mode 100644 index 0000000..21b7ab1 --- /dev/null +++ b/components/uview-ui/components/u--image/u--image.vue @@ -0,0 +1,47 @@ + + + \ No newline at end of file diff --git a/components/uview-ui/components/u--input/u--input.vue b/components/uview-ui/components/u--input/u--input.vue new file mode 100644 index 0000000..1e58b01 --- /dev/null +++ b/components/uview-ui/components/u--input/u--input.vue @@ -0,0 +1,73 @@ + + + \ No newline at end of file diff --git a/components/uview-ui/components/u--text/u--text.vue b/components/uview-ui/components/u--text/u--text.vue new file mode 100644 index 0000000..44ee52a --- /dev/null +++ b/components/uview-ui/components/u--text/u--text.vue @@ -0,0 +1,44 @@ + + + diff --git a/components/uview-ui/components/u--textarea/u--textarea.vue b/components/uview-ui/components/u--textarea/u--textarea.vue new file mode 100644 index 0000000..f4df0b9 --- /dev/null +++ b/components/uview-ui/components/u--textarea/u--textarea.vue @@ -0,0 +1,48 @@ + + + diff --git a/components/uview-ui/components/u-action-sheet/props.js b/components/uview-ui/components/u-action-sheet/props.js new file mode 100644 index 0000000..e96e04f --- /dev/null +++ b/components/uview-ui/components/u-action-sheet/props.js @@ -0,0 +1,54 @@ +export default { + props: { + // 操作菜单是否展示 (默认false) + show: { + type: Boolean, + default: uni.$u.props.actionSheet.show + }, + // 标题 + title: { + type: String, + default: uni.$u.props.actionSheet.title + }, + // 选项上方的描述信息 + description: { + type: String, + default: uni.$u.props.actionSheet.description + }, + // 数据 + actions: { + type: Array, + default: uni.$u.props.actionSheet.actions + }, + // 取消按钮的文字,不为空时显示按钮 + cancelText: { + type: String, + default: uni.$u.props.actionSheet.cancelText + }, + // 点击某个菜单项时是否关闭弹窗 + closeOnClickAction: { + type: Boolean, + default: uni.$u.props.actionSheet.closeOnClickAction + }, + // 处理底部安全区(默认true) + safeAreaInsetBottom: { + type: Boolean, + default: uni.$u.props.actionSheet.safeAreaInsetBottom + }, + // 小程序的打开方式 + openType: { + type: String, + default: uni.$u.props.actionSheet.openType + }, + // 点击遮罩是否允许关闭 (默认true) + closeOnClickOverlay: { + type: Boolean, + default: uni.$u.props.actionSheet.closeOnClickOverlay + }, + // 圆角值 + round: { + type: [Boolean, String, Number], + default: uni.$u.props.actionSheet.round + } + } +} 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..26d5d8d --- /dev/null +++ b/components/uview-ui/components/u-action-sheet/u-action-sheet.vue @@ -0,0 +1,278 @@ + + + + + + diff --git a/components/uview-ui/components/u-album/props.js b/components/uview-ui/components/u-album/props.js new file mode 100644 index 0000000..75cdb37 --- /dev/null +++ b/components/uview-ui/components/u-album/props.js @@ -0,0 +1,59 @@ +export default { + props: { + // 图片地址,Array|Array形式 + urls: { + type: Array, + default: uni.$u.props.album.urls + }, + // 指定从数组的对象元素中读取哪个属性作为图片地址 + keyName: { + type: String, + default: uni.$u.props.album.keyName + }, + // 单图时,图片长边的长度 + singleSize: { + type: [String, Number], + default: uni.$u.props.album.singleSize + }, + // 多图时,图片边长 + multipleSize: { + type: [String, Number], + default: uni.$u.props.album.multipleSize + }, + // 多图时,图片水平和垂直之间的间隔 + space: { + type: [String, Number], + default: uni.$u.props.album.space + }, + // 单图时,图片缩放裁剪的模式 + singleMode: { + type: String, + default: uni.$u.props.album.singleMode + }, + // 多图时,图片缩放裁剪的模式 + multipleMode: { + type: String, + default: uni.$u.props.album.multipleMode + }, + // 最多展示的图片数量,超出时最后一个位置将会显示剩余图片数量 + maxCount: { + type: [String, Number], + default: uni.$u.props.album.maxCount + }, + // 是否可以预览图片 + previewFullImage: { + type: Boolean, + default: uni.$u.props.album.previewFullImage + }, + // 每行展示图片数量,如设置,singleSize和multipleSize将会无效 + rowCount: { + type: [String, Number], + default: uni.$u.props.album.rowCount + }, + // 超出maxCount时是否显示查看更多的提示 + showMore: { + type: Boolean, + default: uni.$u.props.album.showMore + } + } +} diff --git a/components/uview-ui/components/u-album/u-album.vue b/components/uview-ui/components/u-album/u-album.vue new file mode 100644 index 0000000..687e2d5 --- /dev/null +++ b/components/uview-ui/components/u-album/u-album.vue @@ -0,0 +1,259 @@ + + + + + \ No newline at end of file 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-alert/props.js b/components/uview-ui/components/u-alert/props.js new file mode 100644 index 0000000..4297e2c --- /dev/null +++ b/components/uview-ui/components/u-alert/props.js @@ -0,0 +1,44 @@ +export default { + props: { + // 显示文字 + title: { + type: String, + default: uni.$u.props.alert.title + }, + // 主题,success/warning/info/error + type: { + type: String, + default: uni.$u.props.alert.type + }, + // 辅助性文字 + description: { + type: String, + default: uni.$u.props.alert.description + }, + // 是否可关闭 + closable: { + type: Boolean, + default: uni.$u.props.alert.closable + }, + // 是否显示图标 + showIcon: { + type: Boolean, + default: uni.$u.props.alert.showIcon + }, + // 浅或深色调,light-浅色,dark-深色 + effect: { + type: String, + default: uni.$u.props.alert.effect + }, + // 文字是否居中 + center: { + type: Boolean, + default: uni.$u.props.alert.center + }, + // 字体大小 + fontSize: { + type: [String, Number], + default: uni.$u.props.alert.fontSize + } + } +} diff --git a/components/uview-ui/components/u-alert/u-alert.vue b/components/uview-ui/components/u-alert/u-alert.vue new file mode 100644 index 0000000..81f7d43 --- /dev/null +++ b/components/uview-ui/components/u-alert/u-alert.vue @@ -0,0 +1,243 @@ + + + + + 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-group/props.js b/components/uview-ui/components/u-avatar-group/props.js new file mode 100644 index 0000000..58b42ac --- /dev/null +++ b/components/uview-ui/components/u-avatar-group/props.js @@ -0,0 +1,52 @@ +export default { + props: { + // 头像图片组 + urls: { + type: Array, + default: uni.$u.props.avatarGroup.urls + }, + // 最多展示的头像数量 + maxCount: { + type: [String, Number], + default: uni.$u.props.avatarGroup.maxCount + }, + // 头像形状 + shape: { + type: String, + default: uni.$u.props.avatarGroup.shape + }, + // 图片裁剪模式 + mode: { + type: String, + default: uni.$u.props.avatarGroup.mode + }, + // 超出maxCount时是否显示查看更多的提示 + showMore: { + type: Boolean, + default: uni.$u.props.avatarGroup.showMore + }, + // 头像大小 + size: { + type: [String, Number], + default: uni.$u.props.avatarGroup.size + }, + // 指定从数组的对象元素中读取哪个属性作为图片地址 + keyName: { + type: String, + default: uni.$u.props.avatarGroup.keyName + }, + // 头像之间的遮挡比例 + gap: { + type: [String, Number], + validator(value) { + return value >= 0 && value <= 1 + }, + default: uni.$u.props.avatarGroup.gap + }, + // 需额外显示的值 + extraValue: { + type: [Number, String], + default: uni.$u.props.avatarGroup.extraValue + } + } +} diff --git a/components/uview-ui/components/u-avatar-group/u-avatar-group.vue b/components/uview-ui/components/u-avatar-group/u-avatar-group.vue new file mode 100644 index 0000000..7e996d7 --- /dev/null +++ b/components/uview-ui/components/u-avatar-group/u-avatar-group.vue @@ -0,0 +1,103 @@ + + + + + diff --git a/components/uview-ui/components/u-avatar/props.js b/components/uview-ui/components/u-avatar/props.js new file mode 100644 index 0000000..34ca0f2 --- /dev/null +++ b/components/uview-ui/components/u-avatar/props.js @@ -0,0 +1,78 @@ +export default { + props: { + // 头像图片路径(不能为相对路径) + src: { + type: String, + default: uni.$u.props.avatar.src + }, + // 头像形状,circle-圆形,square-方形 + shape: { + type: String, + default: uni.$u.props.avatar.shape + }, + // 头像尺寸 + size: { + type: [String, Number], + default: uni.$u.props.avatar.size + }, + // 裁剪模式 + mode: { + type: String, + default: uni.$u.props.avatar.mode + }, + // 显示的文字 + text: { + type: String, + default: uni.$u.props.avatar.text + }, + // 背景色 + bgColor: { + type: String, + default: uni.$u.props.avatar.bgColor + }, + // 文字颜色 + color: { + type: String, + default: uni.$u.props.avatar.color + }, + // 文字大小 + fontSize: { + type: [String, Number], + default: uni.$u.props.avatar.fontSize + }, + // 显示的图标 + icon: { + type: String, + default: uni.$u.props.avatar.icon + }, + // 显示小程序头像,只对百度,微信,QQ小程序有效 + mpAvatar: { + type: Boolean, + default: uni.$u.props.avatar.mpAvatar + }, + // 是否使用随机背景色 + randomBgColor: { + type: Boolean, + default: uni.$u.props.avatar.randomBgColor + }, + // 加载失败的默认头像(组件有内置默认图片) + defaultUrl: { + type: String, + default: uni.$u.props.avatar.defaultUrl + }, + // 如果配置了randomBgColor为true,且配置了此值,则从默认的背景色数组中取出对应索引的颜色值,取值0-19之间 + colorIndex: { + type: [String, Number], + // 校验参数规则,索引在0-19之间 + validator(n) { + return uni.$u.test.range(n, [0, 19]) || n === '' + }, + default: uni.$u.props.avatar.colorIndex + }, + // 组件标识符 + name: { + type: String, + default: uni.$u.props.avatar.name + } + } +} 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..d38d8a6 --- /dev/null +++ b/components/uview-ui/components/u-avatar/u-avatar.vue @@ -0,0 +1,173 @@ + + + + + diff --git a/components/uview-ui/components/u-back-top/props.js b/components/uview-ui/components/u-back-top/props.js new file mode 100644 index 0000000..6c702c2 --- /dev/null +++ b/components/uview-ui/components/u-back-top/props.js @@ -0,0 +1,54 @@ +export default { + props: { + // 返回顶部的形状,circle-圆形,square-方形 + mode: { + type: String, + default: uni.$u.props.backtop.mode + }, + // 自定义图标 + icon: { + type: String, + default: uni.$u.props.backtop.icon + }, + // 提示文字 + text: { + type: String, + default: uni.$u.props.backtop.text + }, + // 返回顶部滚动时间 + duration: { + type: [String, Number], + default: uni.$u.props.backtop.duration + }, + // 滚动距离 + scrollTop: { + type: [String, Number], + default: uni.$u.props.backtop.scrollTop + }, + // 距离顶部多少距离显示,单位px + top: { + type: [String, Number], + default: uni.$u.props.backtop.top + }, + // 返回顶部按钮到底部的距离,单位px + bottom: { + type: [String, Number], + default: uni.$u.props.backtop.bottom + }, + // 返回顶部按钮到右边的距离,单位px + right: { + type: [String, Number], + default: uni.$u.props.backtop.right + }, + // 层级 + zIndex: { + type: [String, Number], + default: uni.$u.props.backtop.zIndex + }, + // 图标的样式,对象形式 + iconStyle: { + type: Object, + default: uni.$u.props.backtop.iconStyle + } + } +} 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..2d07566 --- /dev/null +++ b/components/uview-ui/components/u-back-top/u-back-top.vue @@ -0,0 +1,129 @@ + + + + + diff --git a/components/uview-ui/components/u-badge/props.js b/components/uview-ui/components/u-badge/props.js new file mode 100644 index 0000000..74c032c --- /dev/null +++ b/components/uview-ui/components/u-badge/props.js @@ -0,0 +1,72 @@ +export default { + props: { + // 是否显示圆点 + isDot: { + type: Boolean, + default: uni.$u.props.badge.isDot + }, + // 显示的内容 + value: { + type: [Number, String], + default: uni.$u.props.badge.value + }, + // 是否显示 + show: { + type: Boolean, + default: uni.$u.props.badge.show + }, + // 最大值,超过最大值会显示 '{max}+' + max: { + type: [Number, String], + default: uni.$u.props.badge.max + }, + // 主题类型,error|warning|success|primary + type: { + type: String, + default: uni.$u.props.badge.type + }, + // 当数值为 0 时,是否展示 Badge + showZero: { + type: Boolean, + default: uni.$u.props.badge.showZero + }, + // 背景颜色,优先级比type高,如设置,type参数会失效 + bgColor: { + type: [String, null], + default: uni.$u.props.badge.bgColor + }, + // 字体颜色 + color: { + type: [String, null], + default: uni.$u.props.badge.color + }, + // 徽标形状,circle-四角均为圆角,horn-左下角为直角 + shape: { + type: String, + default: uni.$u.props.badge.shape + }, + // 设置数字的显示方式,overflow|ellipsis|limit + // overflow会根据max字段判断,超出显示`${max}+` + // ellipsis会根据max判断,超出显示`${max}...` + // limit会依据1000作为判断条件,超出1000,显示`${value/1000}K`,比如2.2k、3.34w,最多保留2位小数 + numberType: { + type: String, + default: uni.$u.props.badge.numberType + }, + // 设置badge的位置偏移,格式为 [x, y],也即设置的为top和right的值,absolute为true时有效 + offset: { + type: Array, + default: uni.$u.props.badge.offset + }, + // 是否反转背景和字体颜色 + inverted: { + type: Boolean, + default: uni.$u.props.badge.inverted + }, + // 是否绝对定位 + absolute: { + type: Boolean, + default: uni.$u.props.badge.absolute + } + } +} 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..53cfc81 --- /dev/null +++ b/components/uview-ui/components/u-badge/u-badge.vue @@ -0,0 +1,171 @@ + + + + + diff --git a/components/uview-ui/components/u-button/nvue.scss b/components/uview-ui/components/u-button/nvue.scss new file mode 100644 index 0000000..490db7d --- /dev/null +++ b/components/uview-ui/components/u-button/nvue.scss @@ -0,0 +1,46 @@ +$u-button-active-opacity:0.75 !default; +$u-button-loading-text-margin-left:4px !default; +$u-button-text-color: #FFFFFF !default; +$u-button-text-plain-error-color:$u-error !default; +$u-button-text-plain-warning-color:$u-warning !default; +$u-button-text-plain-success-color:$u-success !default; +$u-button-text-plain-info-color:$u-info !default; +$u-button-text-plain-primary-color:$u-primary !default; +.u-button { + &--active { + opacity: $u-button-active-opacity; + } + + &--active--plain { + background-color: rgb(217, 217, 217); + } + + &__loading-text { + margin-left:$u-button-loading-text-margin-left; + } + + &__text, + &__loading-text { + color:$u-button-text-color; + } + + &__text--plain--error { + color:$u-button-text-plain-error-color; + } + + &__text--plain--warning { + color:$u-button-text-plain-warning-color; + } + + &__text--plain--success{ + color:$u-button-text-plain-success-color; + } + + &__text--plain--info { + color:$u-button-text-plain-info-color; + } + + &__text--plain--primary { + color:$u-button-text-plain-primary-color; + } +} \ No newline at end of file diff --git a/components/uview-ui/components/u-button/props.js b/components/uview-ui/components/u-button/props.js new file mode 100644 index 0000000..07fd844 --- /dev/null +++ b/components/uview-ui/components/u-button/props.js @@ -0,0 +1,161 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-16 10:04:04 + * @LastAuthor : LQ + * @lastTime : 2021-08-16 10:04:24 + * @FilePath : /u-view2.0/uview-ui/components/u-button/props.js + */ +export default { + props: { + // 是否细边框 + hairline: { + type: Boolean, + default: uni.$u.props.button.hairline + }, + // 按钮的预置样式,info,primary,error,warning,success + type: { + type: String, + default: uni.$u.props.button.type + }, + // 按钮尺寸,large,normal,small,mini + size: { + type: String, + default: uni.$u.props.button.size + }, + // 按钮形状,circle(两边为半圆),square(带圆角) + shape: { + type: String, + default: uni.$u.props.button.shape + }, + // 按钮是否镂空 + plain: { + type: Boolean, + default: uni.$u.props.button.plain + }, + // 是否禁止状态 + disabled: { + type: Boolean, + default: uni.$u.props.button.disabled + }, + // 是否加载中 + loading: { + type: Boolean, + default: uni.$u.props.button.loading + }, + // 加载中提示文字 + loadingText: { + type: [String, Number], + default: uni.$u.props.button.loadingText + }, + // 加载状态图标类型 + loadingMode: { + type: String, + default: uni.$u.props.button.loadingMode + }, + // 加载图标大小 + loadingSize: { + type: [String, Number], + default: uni.$u.props.button.loadingSize + }, + // 开放能力,具体请看uniapp稳定关于button组件部分说明 + // https://uniapp.dcloud.io/component/button + openType: { + type: String, + default: uni.$u.props.button.openType + }, + // 用于
组件,点击分别会触发 组件的 submit/reset 事件 + // 取值为submit(提交表单),reset(重置表单) + formType: { + type: String, + default: uni.$u.props.button.formType + }, + // 打开 APP 时,向 APP 传递的参数,open-type=launchApp时有效 + // 只微信小程序、QQ小程序有效 + appParameter: { + type: String, + default: uni.$u.props.button.appParameter + }, + // 指定是否阻止本节点的祖先节点出现点击态,微信小程序有效 + hoverStopPropagation: { + type: Boolean, + default: uni.$u.props.button.hoverStopPropagation + }, + // 指定返回用户信息的语言,zh_CN 简体中文,zh_TW 繁体中文,en 英文。只微信小程序有效 + lang: { + type: String, + default: uni.$u.props.button.lang + }, + // 会话来源,open-type="contact"时有效。只微信小程序有效 + sessionFrom: { + type: String, + default: uni.$u.props.button.sessionFrom + }, + // 会话内消息卡片标题,open-type="contact"时有效 + // 默认当前标题,只微信小程序有效 + sendMessageTitle: { + type: String, + default: uni.$u.props.button.sendMessageTitle + }, + // 会话内消息卡片点击跳转小程序路径,open-type="contact"时有效 + // 默认当前分享路径,只微信小程序有效 + sendMessagePath: { + type: String, + default: uni.$u.props.button.sendMessagePath + }, + // 会话内消息卡片图片,open-type="contact"时有效 + // 默认当前页面截图,只微信小程序有效 + sendMessageImg: { + type: String, + default: uni.$u.props.button.sendMessageImg + }, + // 是否显示会话内消息卡片,设置此参数为 true,用户进入客服会话会在右下角显示"可能要发送的小程序"提示, + // 用户点击后可以快速发送小程序消息,open-type="contact"时有效 + showMessageCard: { + type: Boolean, + default: uni.$u.props.button.showMessageCard + }, + // 额外传参参数,用于小程序的data-xxx属性,通过target.dataset.name获取 + dataName: { + type: String, + default: uni.$u.props.button.dataName + }, + // 节流,一定时间内只能触发一次 + throttleTime: { + type: [String, Number], + default: uni.$u.props.button.throttleTime + }, + // 按住后多久出现点击态,单位毫秒 + hoverStartTime: { + type: [String, Number], + default: uni.$u.props.button.hoverStartTime + }, + // 手指松开后点击态保留时间,单位毫秒 + hoverStayTime: { + type: [String, Number], + default: uni.$u.props.button.hoverStayTime + }, + // 按钮文字,之所以通过props传入,是因为slot传入的话 + // nvue中无法控制文字的样式 + text: { + type: [String, Number], + default: uni.$u.props.button.text + }, + // 按钮图标 + icon: { + type: String, + default: uni.$u.props.button.icon + }, + // 按钮图标 + iconColor: { + type: String, + default: uni.$u.props.button.icon + }, + // 按钮颜色,支持传入linear-gradient渐变色 + color: { + type: String, + default: uni.$u.props.button.color + } + } +} 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..d60f73e --- /dev/null +++ b/components/uview-ui/components/u-button/u-button.vue @@ -0,0 +1,495 @@ + + + + + diff --git a/components/uview-ui/components/u-button/vue.scss b/components/uview-ui/components/u-button/vue.scss new file mode 100644 index 0000000..32019b2 --- /dev/null +++ b/components/uview-ui/components/u-button/vue.scss @@ -0,0 +1,80 @@ +// nvue下hover-class无效 +$u-button-before-top:50% !default; +$u-button-before-left:50% !default; +$u-button-before-width:100% !default; +$u-button-before-height:100% !default; +$u-button-before-transform:translate(-50%, -50%) !default; +$u-button-before-opacity:0 !default; +$u-button-before-background-color:#000 !default; +$u-button-before-border-color:#000 !default; +$u-button-active-before-opacity:.15 !default; +$u-button-icon-margin-left:4px !default; +$u-button-plain-u-button-info-color:$u-info; +$u-button-plain-u-button-success-color:$u-success; +$u-button-plain-u-button-error-color:$u-error; +$u-button-plain-u-button-warning-color:$u-error; + +.u-button { + width: 100%; + + &__text { + white-space: nowrap; + line-height: 1; + } + + &:before { + position: absolute; + top:$u-button-before-top; + left:$u-button-before-left; + width:$u-button-before-width; + height:$u-button-before-height; + border: inherit; + border-radius: inherit; + transform:$u-button-before-transform; + opacity:$u-button-before-opacity; + content: " "; + background-color:$u-button-before-background-color; + border-color:$u-button-before-border-color; + } + + &--active { + &:before { + opacity: .15 + } + } + + &__icon+&__text:not(:empty), + &__loading-text { + margin-left:$u-button-icon-margin-left; + } + + &--plain { + &.u-button--primary { + color: $u-primary; + } + } + + &--plain { + &.u-button--info { + color:$u-button-plain-u-button-info-color; + } + } + + &--plain { + &.u-button--success { + color:$u-button-plain-u-button-success-color; + } + } + + &--plain { + &.u-button--error { + color:$u-button-plain-u-button-error-color; + } + } + + &--plain { + &.u-button--warning { + color:$u-button-plain-u-button-warning-color; + } + } +} diff --git a/components/uview-ui/components/u-calendar/header.vue b/components/uview-ui/components/u-calendar/header.vue new file mode 100644 index 0000000..dc4f7d0 --- /dev/null +++ b/components/uview-ui/components/u-calendar/header.vue @@ -0,0 +1,99 @@ + + + + + diff --git a/components/uview-ui/components/u-calendar/month.vue b/components/uview-ui/components/u-calendar/month.vue new file mode 100644 index 0000000..c20937f --- /dev/null +++ b/components/uview-ui/components/u-calendar/month.vue @@ -0,0 +1,579 @@ + + + + + diff --git a/components/uview-ui/components/u-calendar/props.js b/components/uview-ui/components/u-calendar/props.js new file mode 100644 index 0000000..2ad7bc7 --- /dev/null +++ b/components/uview-ui/components/u-calendar/props.js @@ -0,0 +1,144 @@ +export default { + props: { + // 日历顶部标题 + title: { + type: String, + default: uni.$u.props.calendar.title + }, + // 是否显示标题 + showTitle: { + type: Boolean, + default: uni.$u.props.calendar.showTitle + }, + // 是否显示副标题 + showSubtitle: { + type: Boolean, + default: uni.$u.props.calendar.showSubtitle + }, + // 日期类型选择,single-选择单个日期,multiple-可以选择多个日期,range-选择日期范围 + mode: { + type: String, + default: uni.$u.props.calendar.mode + }, + // mode=range时,第一个日期底部的提示文字 + startText: { + type: String, + default: uni.$u.props.calendar.startText + }, + // mode=range时,最后一个日期底部的提示文字 + endText: { + type: String, + default: uni.$u.props.calendar.endText + }, + // 自定义列表 + customList: { + type: Array, + default: uni.$u.props.calendar.customList + }, + // 主题色,对底部按钮和选中日期有效 + color: { + type: String, + default: uni.$u.props.calendar.color + }, + // 最小的可选日期 + minDate: { + type: [String, Number], + default: uni.$u.props.calendar.minDate + }, + // 最大可选日期 + maxDate: { + type: [String, Number], + default: uni.$u.props.calendar.maxDate + }, + // 默认选中的日期,mode为multiple或range是必须为数组格式 + defaultDate: { + type: [Array, String, Date, null], + default: uni.$u.props.calendar.defaultDate + }, + // mode=multiple时,最多可选多少个日期 + maxCount: { + type: [String, Number], + default: uni.$u.props.calendar.maxCount + }, + // 日期行高 + rowHeight: { + type: [String, Number], + default: uni.$u.props.calendar.rowHeight + }, + // 日期格式化函数 + formatter: { + type: [Function, null], + default: uni.$u.props.calendar.formatter + }, + // 是否显示农历 + showLunar: { + type: Boolean, + default: uni.$u.props.calendar.showLunar + }, + // 是否显示月份背景色 + showMark: { + type: Boolean, + default: uni.$u.props.calendar.showMark + }, + // 确定按钮的文字 + confirmText: { + type: String, + default: uni.$u.props.calendar.confirmText + }, + // 确认按钮处于禁用状态时的文字 + confirmDisabledText: { + type: String, + default: uni.$u.props.calendar.confirmDisabledText + }, + // 是否显示日历弹窗 + show: { + type: Boolean, + default: uni.$u.props.calendar.show + }, + // 是否允许点击遮罩关闭日历 + closeOnClickOverlay: { + type: Boolean, + default: uni.$u.props.calendar.closeOnClickOverlay + }, + // 是否为只读状态,只读状态下禁止选择日期 + readonly: { + type: Boolean, + default: uni.$u.props.calendar.readonly + }, + // 是否展示确认按钮 + showConfirm: { + type: Boolean, + default: uni.$u.props.calendar.showConfirm + }, + // 日期区间最多可选天数,默认无限制,mode = range时有效 + maxRange: { + type: [Number, String], + default: uni.$u.props.calendar.maxRange + }, + // 范围选择超过最多可选天数时的提示文案,mode = range时有效 + rangePrompt: { + type: String, + default: uni.$u.props.calendar.rangePrompt + }, + // 范围选择超过最多可选天数时,是否展示提示文案,mode = range时有效 + showRangePrompt: { + type: Boolean, + default: uni.$u.props.calendar.showRangePrompt + }, + // 是否允许日期范围的起止时间为同一天,mode = range时有效 + allowSameDay: { + type: Boolean, + default: uni.$u.props.calendar.allowSameDay + }, + // 圆角值 + round: { + type: [Boolean, String, Number], + default: uni.$u.props.calendar.round + }, + // 最多展示月份数量 + monthNum: { + type: [Number, String], + default: 3 + } + } +} 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..511f993 --- /dev/null +++ b/components/uview-ui/components/u-calendar/u-calendar.vue @@ -0,0 +1,384 @@ + + + + + diff --git a/components/uview-ui/components/u-calendar/util.js b/components/uview-ui/components/u-calendar/util.js new file mode 100644 index 0000000..ca4736b --- /dev/null +++ b/components/uview-ui/components/u-calendar/util.js @@ -0,0 +1,85 @@ +export default { + methods: { + // 设置月份数据 + setMonth() { + // 月初是周几 + const day = dayjs(this.date).date(1).day() + const start = day == 0 ? 6 : day - 1 + + // 本月天数 + const days = dayjs(this.date).endOf('month').format('D') + + // 上个月天数 + const prevDays = dayjs(this.date).endOf('month').subtract(1, 'month').format('D') + + // 日期数据 + const arr = [] + // 清空表格 + this.month = [] + + // 添加上月数据 + arr.push( + ...new Array(start).fill(1).map((e, i) => { + const day = prevDays - start + i + 1 + + return { + value: day, + disabled: true, + date: dayjs(this.date).subtract(1, 'month').date(day).format('YYYY-MM-DD') + } + }) + ) + + // 添加本月数据 + arr.push( + ...new Array(days - 0).fill(1).map((e, i) => { + const day = i + 1 + + return { + value: day, + date: dayjs(this.date).date(day).format('YYYY-MM-DD') + } + }) + ) + + // 添加下个月 + arr.push( + ...new Array(42 - days - start).fill(1).map((e, i) => { + const day = i + 1 + + return { + value: day, + disabled: true, + date: dayjs(this.date).add(1, 'month').date(day).format('YYYY-MM-DD') + } + }) + ) + + // 分割数组 + for (let n = 0; n < arr.length; n += 7) { + this.month.push( + arr.slice(n, n + 7).map((e, i) => { + e.index = i + n + + // 自定义信息 + const custom = this.customList.find((c) => c.date == e.date) + + // 农历 + if (this.lunar) { + const { + IDayCn, + IMonthCn + } = this.getLunar(e.date) + e.lunar = IDayCn == '初一' ? IMonthCn : IDayCn + } + + return { + ...e, + ...custom + } + }) + ) + } + } + } +} diff --git a/components/uview-ui/components/u-car-keyboard/props.js b/components/uview-ui/components/u-car-keyboard/props.js new file mode 100644 index 0000000..3553647 --- /dev/null +++ b/components/uview-ui/components/u-car-keyboard/props.js @@ -0,0 +1,14 @@ +export default { + props: { + // 是否打乱键盘按键的顺序 + random: { + type: Boolean, + default: false + }, + // 输入一个中文后,是否自动切换到英文 + autoChange: { + type: Boolean, + default: false + } + } +} 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..51175b5 --- /dev/null +++ b/components/uview-ui/components/u-car-keyboard/u-car-keyboard.vue @@ -0,0 +1,311 @@ + + + + + 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/props.js b/components/uview-ui/components/u-cell-group/props.js new file mode 100644 index 0000000..350ef40 --- /dev/null +++ b/components/uview-ui/components/u-cell-group/props.js @@ -0,0 +1,14 @@ +export default { + props: { + // 分组标题 + title: { + type: String, + default: uni.$u.props.cellGroup.title + }, + // 是否显示外边框 + border: { + type: Boolean, + default: uni.$u.props.cellGroup.border + } + } +} 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..a9508c0 --- /dev/null +++ b/components/uview-ui/components/u-cell-group/u-cell-group.vue @@ -0,0 +1,61 @@ + + + + + + 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-cell/props.js b/components/uview-ui/components/u-cell/props.js new file mode 100644 index 0000000..da03330 --- /dev/null +++ b/components/uview-ui/components/u-cell/props.js @@ -0,0 +1,110 @@ +export default { + props: { + // 标题 + title: { + type: [String, Number], + default: uni.$u.props.cell.title + }, + // 标题下方的描述信息 + label: { + type: [String, Number], + default: uni.$u.props.cell.label + }, + // 右侧的内容 + value: { + type: [String, Number], + default: uni.$u.props.cell.value + }, + // 左侧图标名称,或者图片链接(本地文件建议使用绝对地址) + icon: { + type: String, + default: uni.$u.props.cell.icon + }, + // 是否禁用cell + disabled: { + type: Boolean, + default: uni.$u.props.cell.disabled + }, + // 是否显示下边框 + border: { + type: Boolean, + default: uni.$u.props.cell.border + }, + // 内容是否垂直居中(主要是针对右侧的value部分) + center: { + type: Boolean, + default: uni.$u.props.cell.center + }, + // 点击后跳转的URL地址 + url: { + type: String, + default: uni.$u.props.cell.url + }, + // 链接跳转的方式,内部使用的是uView封装的route方法,可能会进行拦截操作 + linkType: { + type: String, + default: uni.$u.props.cell.linkType + }, + // 是否开启点击反馈(表现为点击时加上灰色背景) + clickable: { + type: Boolean, + default: uni.$u.props.cell.clickable + }, + // 是否展示右侧箭头并开启点击反馈 + isLink: { + type: Boolean, + default: uni.$u.props.cell.isLink + }, + // 是否显示表单状态下的必填星号(此组件可能会内嵌入input组件) + required: { + type: Boolean, + default: uni.$u.props.cell.required + }, + // 右侧的图标箭头 + rightIcon: { + type: String, + default: uni.$u.props.cell.rightIcon + }, + // 右侧箭头的方向,可选值为:left,up,down + arrowDirection: { + type: String, + default: uni.$u.props.cell.arrowDirection + }, + // 左侧图标样式 + iconStyle: { + type: [Object, String], + default: () => { + return uni.$u.props.cell.iconStyle + } + }, + // 右侧箭头图标的样式 + rightIconStyle: { + type: [Object, String], + default: () => { + return uni.$u.props.cell.rightIconStyle + } + }, + // 标题的样式 + titleStyle: { + type: [Object, String], + default: () => { + return uni.$u.props.cell.titleStyle + } + }, + // 单位元的大小,可选值为large + size: { + type: String, + default: uni.$u.props.cell.size + }, + // 点击cell是否阻止事件传播 + stop: { + type: Boolean, + default: uni.$u.props.cell.stop + }, + // 标识符,cell被点击时返回 + name: { + type: [Number, String], + default: uni.$u.props.cell.name + } + } +} diff --git a/components/uview-ui/components/u-cell/u-cell.vue b/components/uview-ui/components/u-cell/u-cell.vue new file mode 100644 index 0000000..b099c90 --- /dev/null +++ b/components/uview-ui/components/u-cell/u-cell.vue @@ -0,0 +1,229 @@ + + + + + diff --git a/components/uview-ui/components/u-checkbox-group/props.js b/components/uview-ui/components/u-checkbox-group/props.js new file mode 100644 index 0000000..2f818a1 --- /dev/null +++ b/components/uview-ui/components/u-checkbox-group/props.js @@ -0,0 +1,82 @@ +export default { + props: { + // 标识符 + name: { + type: String, + default: uni.$u.props.checkboxGroup.name + }, + // 绑定的值 + value: { + type: Array, + default: uni.$u.props.checkboxGroup.value + }, + // 形状,circle-圆形,square-方形 + shape: { + type: String, + default: uni.$u.props.checkboxGroup.shape + }, + // 是否禁用全部checkbox + disabled: { + type: Boolean, + default: uni.$u.props.checkboxGroup.disabled + }, + + // 选中状态下的颜色,如设置此值,将会覆盖parent的activeColor值 + activeColor: { + type: String, + default: uni.$u.props.checkboxGroup.activeColor + }, + // 未选中的颜色 + inactiveColor: { + type: String, + default: uni.$u.props.checkboxGroup.inactiveColor + }, + + // 整个组件的尺寸,默认px + size: { + type: [String, Number], + default: uni.$u.props.checkboxGroup.size + }, + // 布局方式,row-横向,column-纵向 + placement: { + type: String, + default: uni.$u.props.checkboxGroup.placement + }, + // label的字体大小,px单位 + labelSize: { + type: [String, Number], + default: uni.$u.props.checkboxGroup.labelSize + }, + // label的字体颜色 + labelColor: { + type: [String], + default: uni.$u.props.checkboxGroup.labelColor + }, + // 是否禁止点击文本操作 + labelDisabled: { + type: Boolean, + default: uni.$u.props.checkboxGroup.labelDisabled + }, + // 图标颜色 + iconColor: { + type: String, + default: uni.$u.props.checkboxGroup.iconColor + }, + // 图标的大小,单位px + iconSize: { + type: [String, Number], + default: uni.$u.props.checkboxGroup.iconSize + }, + // 勾选图标的对齐方式,left-左边,right-右边 + iconPlacement: { + type: String, + default: uni.$u.props.checkboxGroup.iconPlacement + }, + // 竖向配列时,是否显示下划线 + borderBottom: { + type: Boolean, + default: uni.$u.props.checkboxGroup.borderBottom + } + + } +} 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..7a6b4fa --- /dev/null +++ b/components/uview-ui/components/u-checkbox-group/u-checkbox-group.vue @@ -0,0 +1,103 @@ + + + + + diff --git a/components/uview-ui/components/u-checkbox/props.js b/components/uview-ui/components/u-checkbox/props.js new file mode 100644 index 0000000..93f4fd9 --- /dev/null +++ b/components/uview-ui/components/u-checkbox/props.js @@ -0,0 +1,69 @@ +export default { + props: { + // checkbox的名称 + name: { + type: [String, Number, Boolean], + default: uni.$u.props.checkbox.name + }, + // 形状,square为方形,circle为圆型 + shape: { + type: String, + default: uni.$u.props.checkbox.shape + }, + // 整体的大小 + size: { + type: [String, Number], + default: uni.$u.props.checkbox.size + }, + // 是否默认选中 + checked: { + type: Boolean, + default: uni.$u.props.checkbox.checked + }, + // 是否禁用 + disabled: { + type: [String, Boolean], + default: uni.$u.props.checkbox.disabled + }, + // 选中状态下的颜色,如设置此值,将会覆盖parent的activeColor值 + activeColor: { + type: String, + default: uni.$u.props.checkbox.activeColor + }, + // 未选中的颜色 + inactiveColor: { + type: String, + default: uni.$u.props.checkbox.inactiveColor + }, + // 图标的大小,单位px + iconSize: { + type: [String, Number], + default: uni.$u.props.checkbox.iconSize + }, + // 图标颜色 + iconColor: { + type: String, + default: uni.$u.props.checkbox.iconColor + }, + // label提示文字,因为nvue下,直接slot进来的文字,由于特殊的结构,无法修改样式 + label: { + type: [String, Number], + default: uni.$u.props.checkbox.label + }, + // label的字体大小,px单位 + labelSize: { + type: [String, Number], + default: uni.$u.props.checkbox.labelSize + }, + // label的颜色 + labelColor: { + type: String, + default: uni.$u.props.checkbox.labelColor + }, + // 是否禁止点击提示语选中复选框 + labelDisabled: { + type: [String, Boolean], + default: uni.$u.props.checkbox.labelDisabled + } + } +} 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..6429cca --- /dev/null +++ b/components/uview-ui/components/u-checkbox/u-checkbox.vue @@ -0,0 +1,344 @@ + + + + + diff --git a/components/uview-ui/components/u-circle-progress/props.js b/components/uview-ui/components/u-circle-progress/props.js new file mode 100644 index 0000000..d776cfb --- /dev/null +++ b/components/uview-ui/components/u-circle-progress/props.js @@ -0,0 +1,8 @@ +export default { + props: { + percentage: { + type: [String, Number], + default: uni.$u.props.circleProgress.percentage + } + } +} 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..d1ee286 --- /dev/null +++ b/components/uview-ui/components/u-circle-progress/u-circle-progress.vue @@ -0,0 +1,198 @@ + + + + + diff --git a/components/uview-ui/components/u-code-input/props.js b/components/uview-ui/components/u-code-input/props.js new file mode 100644 index 0000000..0f016ee --- /dev/null +++ b/components/uview-ui/components/u-code-input/props.js @@ -0,0 +1,79 @@ +export default { + props: { + // 键盘弹起时,是否自动上推页面 + adjustPosition: { + type: Boolean, + default: uni.$u.props.codeInput.adjustPosition + }, + // 最大输入长度 + maxlength: { + type: [String, Number], + default: uni.$u.props.codeInput.maxlength + }, + // 是否用圆点填充 + dot: { + type: Boolean, + default: uni.$u.props.codeInput.dot + }, + // 显示模式,box-盒子模式,line-底部横线模式 + mode: { + type: String, + default: uni.$u.props.codeInput.mode + }, + // 是否细边框 + hairline: { + type: Boolean, + default: uni.$u.props.codeInput.hairline + }, + // 字符间的距离 + space: { + type: [String, Number], + default: uni.$u.props.codeInput.space + }, + // 预置值 + value: { + type: [String, Number], + default: uni.$u.props.codeInput.value + }, + // 是否自动获取焦点 + focus: { + type: Boolean, + default: uni.$u.props.codeInput.focus + }, + // 字体是否加粗 + bold: { + type: Boolean, + default: uni.$u.props.codeInput.bold + }, + // 字体颜色 + color: { + type: String, + default: uni.$u.props.codeInput.color + }, + // 字体大小 + fontSize: { + type: [String, Number], + default: uni.$u.props.codeInput.fontSize + }, + // 输入框的大小,宽等于高 + size: { + type: [String, Number], + default: uni.$u.props.codeInput.size + }, + // 是否隐藏原生键盘,如果想用自定义键盘的话,需设置此参数为true + disabledKeyboard: { + type: Boolean, + default: uni.$u.props.codeInput.disabledKeyboard + }, + // 边框和线条颜色 + borderColor: { + type: String, + default: uni.$u.props.codeInput.borderColor + }, + // 是否禁止输入"."符号 + disabledDot: { + type: Boolean, + default: uni.$u.props.codeInput.disabledDot + } + } +} diff --git a/components/uview-ui/components/u-code-input/u-code-input.vue b/components/uview-ui/components/u-code-input/u-code-input.vue new file mode 100644 index 0000000..96241cf --- /dev/null +++ b/components/uview-ui/components/u-code-input/u-code-input.vue @@ -0,0 +1,252 @@ + + + + + diff --git a/components/uview-ui/components/u-code/props.js b/components/uview-ui/components/u-code/props.js new file mode 100644 index 0000000..eaf80d0 --- /dev/null +++ b/components/uview-ui/components/u-code/props.js @@ -0,0 +1,34 @@ +export default { + props: { + // 倒计时总秒数 + seconds: { + type: [String, Number], + default: uni.$u.props.code.seconds + }, + // 尚未开始时提示 + startText: { + type: String, + default: uni.$u.props.code.startText + }, + // 正在倒计时中的提示 + changeText: { + type: String, + default: uni.$u.props.code.changeText + }, + // 倒计时结束时的提示 + endText: { + type: String, + default: uni.$u.props.code.endText + }, + // 是否在H5刷新或各端返回再进入时继续倒计时 + keepRunning: { + type: Boolean, + default: uni.$u.props.code.keepRunning + }, + // 为了区分多个页面,或者一个页面多个倒计时组件本地存储的继续倒计时变了 + uniqueKey: { + type: String, + default: uni.$u.props.code.uniqueKey + } + } +} diff --git a/components/uview-ui/components/u-code/u-code.vue b/components/uview-ui/components/u-code/u-code.vue new file mode 100644 index 0000000..f79a09a --- /dev/null +++ b/components/uview-ui/components/u-code/u-code.vue @@ -0,0 +1,129 @@ + + + + + diff --git a/components/uview-ui/components/u-col/props.js b/components/uview-ui/components/u-col/props.js new file mode 100644 index 0000000..0622251 --- /dev/null +++ b/components/uview-ui/components/u-col/props.js @@ -0,0 +1,29 @@ +export default { + props: { + // 占父容器宽度的多少等分,总分为12份 + span: { + type: [String, Number], + default: uni.$u.props.col.span + }, + // 指定栅格左侧的间隔数(总12栏) + offset: { + type: [String, Number], + default: uni.$u.props.col.offset + }, + // 水平排列方式,可选值为`start`(或`flex-start`)、`end`(或`flex-end`)、`center`、`around`(或`space-around`)、`between`(或`space-between`) + justify: { + type: String, + default: uni.$u.props.col.justify + }, + // 垂直对齐方式,可选值为top、center、bottom、stretch + align: { + type: String, + default: uni.$u.props.col.align + }, + // 文字对齐方式 + textAlign: { + type: String, + default: uni.$u.props.col.textAlign + } + } +} 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..8be1517 --- /dev/null +++ b/components/uview-ui/components/u-col/u-col.vue @@ -0,0 +1,162 @@ + + + + + diff --git a/components/uview-ui/components/u-collapse-item/props.js b/components/uview-ui/components/u-collapse-item/props.js new file mode 100644 index 0000000..bd5749b --- /dev/null +++ b/components/uview-ui/components/u-collapse-item/props.js @@ -0,0 +1,59 @@ +export default { + props: { + // 标题 + title: { + type: String, + default: uni.$u.props.collapseItem.title + }, + // 标题右侧内容 + value: { + type: String, + default: uni.$u.props.collapseItem.value + }, + // 标题下方的描述信息 + label: { + type: String, + default: uni.$u.props.collapseItem.label + }, + // 是否禁用折叠面板 + disabled: { + type: Boolean, + default: uni.$u.props.collapseItem.disabled + }, + // 是否展示右侧箭头并开启点击反馈 + isLink: { + type: Boolean, + default: uni.$u.props.collapseItem.isLink + }, + // 是否开启点击反馈 + clickable: { + type: Boolean, + default: uni.$u.props.collapseItem.clickable + }, + // 是否显示内边框 + border: { + type: Boolean, + default: uni.$u.props.collapseItem.border + }, + // 标题的对齐方式 + align: { + type: String, + default: uni.$u.props.collapseItem.align + }, + // 唯一标识符 + name: { + type: [String, Number], + default: uni.$u.props.collapseItem.name + }, + // 标题左侧图片,可为绝对路径的图片或内置图标 + icon: { + type: String, + default: uni.$u.props.collapseItem.icon + }, + // 面板展开收起的过渡时间,单位ms + duration: { + type: Number, + default: uni.$u.props.collapseItem.duration + } + } +} 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..0e1b703 --- /dev/null +++ b/components/uview-ui/components/u-collapse-item/u-collapse-item.vue @@ -0,0 +1,225 @@ + + + + + diff --git a/components/uview-ui/components/u-collapse/props.js b/components/uview-ui/components/u-collapse/props.js new file mode 100644 index 0000000..7ee6d31 --- /dev/null +++ b/components/uview-ui/components/u-collapse/props.js @@ -0,0 +1,19 @@ +export default { + props: { + // 当前展开面板的name,非手风琴模式:[],手风琴模式:string | number + value: { + type: [String, Number, Array, null], + default: uni.$u.props.collapse.value + }, + // 是否手风琴模式 + accordion: { + type: Boolean, + default: uni.$u.props.collapse.accordion + }, + // 是否显示外边框 + border: { + type: Boolean, + default: uni.$u.props.collapse.border + } + } +} 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..fc188a2 --- /dev/null +++ b/components/uview-ui/components/u-collapse/u-collapse.vue @@ -0,0 +1,90 @@ + + + + + diff --git a/components/uview-ui/components/u-column-notice/props.js b/components/uview-ui/components/u-column-notice/props.js new file mode 100644 index 0000000..4809154 --- /dev/null +++ b/components/uview-ui/components/u-column-notice/props.js @@ -0,0 +1,55 @@ +export default { + props: { + // 显示的内容,字符串 + text: { + type: [Array], + default: uni.$u.props.columnNotice.text + }, + // 是否显示左侧的音量图标 + icon: { + type: String, + default: uni.$u.props.columnNotice.icon + }, + // 通告模式,link-显示右箭头,closable-显示右侧关闭图标 + mode: { + type: String, + default: uni.$u.props.columnNotice.mode + }, + // 文字颜色,各图标也会使用文字颜色 + color: { + type: String, + default: uni.$u.props.columnNotice.color + }, + // 背景颜色 + bgColor: { + type: String, + default: uni.$u.props.columnNotice.bgColor + }, + // 字体大小,单位px + fontSize: { + type: [String, Number], + default: uni.$u.props.columnNotice.fontSize + }, + // 水平滚动时的滚动速度,即每秒滚动多少px(px),这有利于控制文字无论多少时,都能有一个恒定的速度 + speed: { + type: [String, Number], + default: uni.$u.props.columnNotice.speed + }, + // direction = row时,是否使用步进形式滚动 + step: { + type: Boolean, + default: uni.$u.props.columnNotice.step + }, + // 滚动一个周期的时间长,单位ms + duration: { + type: [String, Number], + default: uni.$u.props.columnNotice.duration + }, + // 是否禁止用手滑动切换 + // 目前HX2.6.11,只支持App 2.5.5+、H5 2.5.5+、支付宝小程序、字节跳动小程序 + disableTouch: { + type: Boolean, + default: uni.$u.props.columnNotice.disableTouch + } + } +} 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..fc39532 --- /dev/null +++ b/components/uview-ui/components/u-column-notice/u-column-notice.vue @@ -0,0 +1,160 @@ + + + + + diff --git a/components/uview-ui/components/u-count-down/props.js b/components/uview-ui/components/u-count-down/props.js new file mode 100644 index 0000000..d62f025 --- /dev/null +++ b/components/uview-ui/components/u-count-down/props.js @@ -0,0 +1,24 @@ +export default { + props: { + // 倒计时时长,单位ms + time: { + type: [String, Number], + default: uni.$u.props.countDown.time + }, + // 时间格式,DD-日,HH-时,mm-分,ss-秒,SSS-毫秒 + format: { + type: String, + default: uni.$u.props.countDown.format + }, + // 是否自动开始倒计时 + autoStart: { + type: Boolean, + default: uni.$u.props.countDown.autoStart + }, + // 是否展示毫秒倒计时 + millisecond: { + type: Boolean, + default: uni.$u.props.countDown.millisecond + } + } +} 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..b5e85a6 --- /dev/null +++ b/components/uview-ui/components/u-count-down/u-count-down.vue @@ -0,0 +1,163 @@ + + + + + diff --git a/components/uview-ui/components/u-count-down/utils.js b/components/uview-ui/components/u-count-down/utils.js new file mode 100644 index 0000000..8c75005 --- /dev/null +++ b/components/uview-ui/components/u-count-down/utils.js @@ -0,0 +1,62 @@ +// 补0,如1 -> 01 +function padZero(num, targetLength = 2) { + let str = `${num}` + while (str.length < targetLength) { + str = `0${str}` + } + return str +} +const SECOND = 1000 +const MINUTE = 60 * SECOND +const HOUR = 60 * MINUTE +const DAY = 24 * HOUR +export function parseTimeData(time) { + const days = Math.floor(time / DAY) + const hours = Math.floor((time % DAY) / HOUR) + const minutes = Math.floor((time % HOUR) / MINUTE) + const seconds = Math.floor((time % MINUTE) / SECOND) + const milliseconds = Math.floor(time % SECOND) + return { + days, + hours, + minutes, + seconds, + milliseconds + } +} +export function parseFormat(format, timeData) { + let { + days, + hours, + minutes, + seconds, + milliseconds + } = timeData + // 如果格式化字符串中不存在DD(天),则将天的时间转为小时中去 + if (format.indexOf('DD') === -1) { + hours += days * 24 + } else { + // 对天补0 + format = format.replace('DD', padZero(days)) + } + // 其他同理于DD的格式化处理方式 + if (format.indexOf('HH') === -1) { + minutes += hours * 60 + } else { + format = format.replace('HH', padZero(hours)) + } + if (format.indexOf('mm') === -1) { + seconds += minutes * 60 + } else { + format = format.replace('mm', padZero(minutes)) + } + if (format.indexOf('ss') === -1) { + milliseconds += seconds * 1000 + } else { + format = format.replace('ss', padZero(seconds)) + } + return format.replace('SSS', padZero(milliseconds, 3)) +} +export function isSameSecond(time1, time2) { + return Math.floor(time1 / 1000) === Math.floor(time2 / 1000) +} diff --git a/components/uview-ui/components/u-count-to/props.js b/components/uview-ui/components/u-count-to/props.js new file mode 100644 index 0000000..86873c1 --- /dev/null +++ b/components/uview-ui/components/u-count-to/props.js @@ -0,0 +1,59 @@ +export default { + props: { + // 开始的数值,默认从0增长到某一个数 + startVal: { + type: [String, Number], + default: uni.$u.props.countTo.startVal + }, + // 要滚动的目标数值,必须 + endVal: { + type: [String, Number], + default: uni.$u.props.countTo.endVal + }, + // 滚动到目标数值的动画持续时间,单位为毫秒(ms) + duration: { + type: [String, Number], + default: uni.$u.props.countTo.duration + }, + // 设置数值后是否自动开始滚动 + autoplay: { + type: Boolean, + default: uni.$u.props.countTo.autoplay + }, + // 要显示的小数位数 + decimals: { + type: [String, Number], + default: uni.$u.props.countTo.decimals + }, + // 是否在即将到达目标数值的时候,使用缓慢滚动的效果 + useEasing: { + type: Boolean, + default: uni.$u.props.countTo.useEasing + }, + // 十进制分割 + decimal: { + type: [String, Number], + default: uni.$u.props.countTo.decimal + }, + // 字体颜色 + color: { + type: String, + default: uni.$u.props.countTo.color + }, + // 字体大小 + fontSize: { + type: [String, Number], + default: uni.$u.props.countTo.fontSize + }, + // 是否加粗字体 + bold: { + type: Boolean, + default: uni.$u.props.countTo.bold + }, + // 千位分隔符,类似金额的分割(¥23,321.05中的",") + separator: { + type: String, + default: uni.$u.props.countTo.separator + } + } +} 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..417b732 --- /dev/null +++ b/components/uview-ui/components/u-count-to/u-count-to.vue @@ -0,0 +1,184 @@ + + + + + diff --git a/components/uview-ui/components/u-datetime-picker/props.js b/components/uview-ui/components/u-datetime-picker/props.js new file mode 100644 index 0000000..f44c0f9 --- /dev/null +++ b/components/uview-ui/components/u-datetime-picker/props.js @@ -0,0 +1,116 @@ +export default { + props: { + // 是否打开组件 + show: { + type: Boolean, + default: uni.$u.props.datetimePicker.show + }, + // 是否展示顶部的操作栏 + showToolbar: { + type: Boolean, + default: uni.$u.props.datetimePicker.showToolbar + }, + // 绑定值 + value: { + type: [String, Number], + default: uni.$u.props.datetimePicker.value + }, + // 顶部标题 + title: { + type: String, + default: uni.$u.props.datetimePicker.title + }, + // 展示格式,mode=date为日期选择,mode=time为时间选择,mode=year-month为年月选择,mode=datetime为日期时间选择 + mode: { + type: String, + default: uni.$u.props.datetimePicker.mode + }, + // 可选的最大时间 + maxDate: { + type: Number, + // 最大默认值为后10年 + default: uni.$u.props.datetimePicker.maxDate + }, + // 可选的最小时间 + minDate: { + type: Number, + // 最小默认值为前10年 + default: uni.$u.props.datetimePicker.minDate + }, + // 可选的最小小时,仅mode=time有效 + minHour: { + type: Number, + default: uni.$u.props.datetimePicker.minHour + }, + // 可选的最大小时,仅mode=time有效 + maxHour: { + type: Number, + default: uni.$u.props.datetimePicker.maxHour + }, + // 可选的最小分钟,仅mode=time有效 + minMinute: { + type: Number, + default: uni.$u.props.datetimePicker.minMinute + }, + // 可选的最大分钟,仅mode=time有效 + maxMinute: { + type: Number, + default: uni.$u.props.datetimePicker.maxMinute + }, + // 选项过滤函数 + filter: { + type: [Function, null], + default: uni.$u.props.datetimePicker.filter + }, + // 选项格式化函数 + formatter: { + type: [Function, null], + default: uni.$u.props.datetimePicker.formatter + }, + // 是否显示加载中状态 + loading: { + type: Boolean, + default: uni.$u.props.datetimePicker.loading + }, + // 各列中,单个选项的高度 + itemHeight: { + type: [String, Number], + default: uni.$u.props.datetimePicker.itemHeight + }, + // 取消按钮的文字 + cancelText: { + type: String, + default: uni.$u.props.datetimePicker.cancelText + }, + // 确认按钮的文字 + confirmText: { + type: String, + default: uni.$u.props.datetimePicker.confirmText + }, + // 取消按钮的颜色 + cancelColor: { + type: String, + default: uni.$u.props.datetimePicker.cancelColor + }, + // 确认按钮的颜色 + confirmColor: { + type: String, + default: uni.$u.props.datetimePicker.confirmColor + }, + // 每列中可见选项的数量 + visibleItemCount: { + type: [String, Number], + default: uni.$u.props.datetimePicker.visibleItemCount + }, + // 是否允许点击遮罩关闭选择器 + closeOnClickOverlay: { + type: Boolean, + default: uni.$u.props.datetimePicker.closeOnClickOverlay + }, + // 各列的默认索引 + defaultIndex: { + type: Array, + default: uni.$u.props.datetimePicker.defaultIndex + } + } +} diff --git a/components/uview-ui/components/u-datetime-picker/u-datetime-picker.vue b/components/uview-ui/components/u-datetime-picker/u-datetime-picker.vue new file mode 100644 index 0000000..18d8dcc --- /dev/null +++ b/components/uview-ui/components/u-datetime-picker/u-datetime-picker.vue @@ -0,0 +1,360 @@ + + + + + diff --git a/components/uview-ui/components/u-divider/props.js b/components/uview-ui/components/u-divider/props.js new file mode 100644 index 0000000..1fa8359 --- /dev/null +++ b/components/uview-ui/components/u-divider/props.js @@ -0,0 +1,44 @@ +export default { + props: { + // 是否虚线 + dashed: { + type: Boolean, + default: uni.$u.props.divider.dashed + }, + // 是否细线 + hairline: { + type: Boolean, + default: uni.$u.props.divider.hairline + }, + // 是否以点替代文字,优先于text字段起作用 + dot: { + type: Boolean, + default: uni.$u.props.divider.dot + }, + // 内容文本的位置,left-左边,center-中间,right-右边 + textPosition: { + type: String, + default: uni.$u.props.divider.textPosition + }, + // 文本内容 + text: { + type: [String, Number], + default: uni.$u.props.divider.text + }, + // 文本大小 + textSize: { + type: [String, Number], + default: uni.$u.props.divider.textSize + }, + // 文本颜色 + textColor: { + type: String, + default: uni.$u.props.divider.textColor + }, + // 线条颜色 + lineColor: { + type: String, + default: uni.$u.props.divider.lineColor + } + } +} 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..b629da6 --- /dev/null +++ b/components/uview-ui/components/u-divider/u-divider.vue @@ -0,0 +1,116 @@ + + + + + diff --git a/components/uview-ui/components/u-dropdown-item/props.js b/components/uview-ui/components/u-dropdown-item/props.js new file mode 100644 index 0000000..501a1f0 --- /dev/null +++ b/components/uview-ui/components/u-dropdown-item/props.js @@ -0,0 +1,36 @@ +export default { + props: { + // 当前选中项的value值 + value: { + type: [Number, String, Array], + default: '' + }, + // 菜单项标题 + title: { + type: [String, Number], + default: '' + }, + // 选项数据,如果传入了默认slot,此参数无效 + options: { + type: Array, + default() { + return [] + } + }, + // 是否禁用此菜单项 + disabled: { + type: Boolean, + default: false + }, + // 下拉弹窗的高度 + height: { + type: [Number, String], + default: 'auto' + }, + // 点击遮罩是否可以收起弹窗 + closeOnClickOverlay: { + type: Boolean, + default: true + } + } +} 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..f830291 --- /dev/null +++ b/components/uview-ui/components/u-dropdown-item/u-dropdown-item.vue @@ -0,0 +1,127 @@ + + + + + diff --git a/components/uview-ui/components/u-dropdown/props.js b/components/uview-ui/components/u-dropdown/props.js new file mode 100644 index 0000000..5f8465e --- /dev/null +++ b/components/uview-ui/components/u-dropdown/props.js @@ -0,0 +1,65 @@ +export default { + props: { + // 标题选中时的样式 + activeStyle: { + type: [String, Object], + default: () => ({ + color: '#2979ff', + fontSize: '14px' + }) + }, + // 标题未选中时的样式 + inactiveStyle: { + type: [String, Object], + default: () => ({ + color: '#606266', + fontSize: '14px' + }) + }, + // 点击遮罩是否关闭菜单 + closeOnClickMask: { + type: Boolean, + default: true + }, + // 点击当前激活项标题是否关闭菜单 + closeOnClickSelf: { + type: Boolean, + default: true + }, + // 过渡时间 + duration: { + type: [Number, String], + default: 300 + }, + // 标题菜单的高度 + height: { + type: [Number, String], + default: 40 + }, + // 是否显示下边框 + borderBottom: { + type: Boolean, + default: false + }, + // 标题的字体大小 + titleSize: { + type: [Number, String], + default: 14 + }, + // 下拉出来的内容部分的圆角值 + borderRadius: { + type: [Number, String], + default: 0 + }, + // 菜单右侧的icon图标 + menuIcon: { + type: String, + default: 'arrow-down' + }, + // 菜单右侧图标的大小 + menuIconSize: { + type: [Number, String], + default: 14 + } + } +} 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..f830291 --- /dev/null +++ b/components/uview-ui/components/u-dropdown/u-dropdown.vue @@ -0,0 +1,127 @@ + + + + + diff --git a/components/uview-ui/components/u-empty/props.js b/components/uview-ui/components/u-empty/props.js new file mode 100644 index 0000000..78662f8 --- /dev/null +++ b/components/uview-ui/components/u-empty/props.js @@ -0,0 +1,59 @@ +export default { + props: { + // 内置图标名称,或图片路径,建议绝对路径 + icon: { + type: String, + default: uni.$u.props.empty.icon + }, + // 提示文字 + text: { + type: String, + default: uni.$u.props.empty.text + }, + // 文字颜色 + textColor: { + type: String, + default: uni.$u.props.empty.textColor + }, + // 文字大小 + textSize: { + type: [String, Number], + default: uni.$u.props.empty.textSize + }, + // 图标的颜色 + iconColor: { + type: String, + default: uni.$u.props.empty.iconColor + }, + // 图标的大小 + iconSize: { + type: [String, Number], + default: uni.$u.props.empty.iconSize + }, + // 选择预置的图标类型 + mode: { + type: String, + default: uni.$u.props.empty.mode + }, + // 图标宽度,单位px + width: { + type: [String, Number], + default: uni.$u.props.empty.width + }, + // 图标高度,单位px + height: { + type: [String, Number], + default: uni.$u.props.empty.height + }, + // 是否显示组件 + show: { + type: Boolean, + default: uni.$u.props.empty.show + }, + // 组件距离上一个元素之间的距离,默认px单位 + marginTop: { + type: [String, Number], + default: uni.$u.props.empty.marginTop + } + } +} 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..03d6a27 --- /dev/null +++ b/components/uview-ui/components/u-empty/u-empty.vue @@ -0,0 +1,128 @@ + + + + + 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..b79accc --- /dev/null +++ b/components/uview-ui/components/u-field/u-field.vue @@ -0,0 +1,390 @@ + + + + + diff --git a/components/uview-ui/components/u-th/u-th.vue b/components/uview-ui/components/u-th/u-th.vue new file mode 100644 index 0000000..9fe5a16 --- /dev/null +++ b/components/uview-ui/components/u-th/u-th.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/components/uview-ui/components/u-time-line-item/u-time-line-item.vue b/components/uview-ui/components/u-time-line-item/u-time-line-item.vue new file mode 100644 index 0000000..be86fdc --- /dev/null +++ b/components/uview-ui/components/u-time-line-item/u-time-line-item.vue @@ -0,0 +1,83 @@ + + + + + diff --git a/components/uview-ui/components/u-time-line/u-time-line.vue b/components/uview-ui/components/u-time-line/u-time-line.vue new file mode 100644 index 0000000..f3c7587 --- /dev/null +++ b/components/uview-ui/components/u-time-line/u-time-line.vue @@ -0,0 +1,43 @@ + + + + + diff --git a/components/uview-ui/components/u-toast/u-toast.vue b/components/uview-ui/components/u-toast/u-toast.vue new file mode 100644 index 0000000..f194830 --- /dev/null +++ b/components/uview-ui/components/u-toast/u-toast.vue @@ -0,0 +1,291 @@ + + + + + diff --git a/components/uview-ui/components/u-toolbar/props.js b/components/uview-ui/components/u-toolbar/props.js new file mode 100644 index 0000000..1b72966 --- /dev/null +++ b/components/uview-ui/components/u-toolbar/props.js @@ -0,0 +1,34 @@ +export default { + props: { + // 是否展示工具条 + show: { + type: Boolean, + default: uni.$u.props.toolbar.show + }, + // 取消按钮的文字 + cancelText: { + type: String, + default: uni.$u.props.toolbar.cancelText + }, + // 确认按钮的文字 + confirmText: { + type: String, + default: uni.$u.props.toolbar.confirmText + }, + // 取消按钮的颜色 + cancelColor: { + type: String, + default: uni.$u.props.toolbar.cancelColor + }, + // 确认按钮的颜色 + confirmColor: { + type: String, + default: uni.$u.props.toolbar.confirmColor + }, + // 标题文字 + title: { + type: String, + default: uni.$u.props.toolbar.title + } + } +} diff --git a/components/uview-ui/components/u-toolbar/u-toolbar.vue b/components/uview-ui/components/u-toolbar/u-toolbar.vue new file mode 100644 index 0000000..290b771 --- /dev/null +++ b/components/uview-ui/components/u-toolbar/u-toolbar.vue @@ -0,0 +1,102 @@ + + + + + diff --git a/components/uview-ui/components/u-tooltip/clipboard.min.js b/components/uview-ui/components/u-tooltip/clipboard.min.js new file mode 100644 index 0000000..b7bff12 --- /dev/null +++ b/components/uview-ui/components/u-tooltip/clipboard.min.js @@ -0,0 +1,58 @@ +/*! + * clipboard.js v1.6.1 + * https://zenorocha.github.io/clipboard.js + * + * Licensed MIT © Zeno Rocha + */ +!(function (e) { if (typeof exports === 'object' && typeof module !== 'undefined')module.exports = e(); else if (typeof define === 'function' && define.amd)define([], e); else { let t; t = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : this, t.Clipboard = e() } }(() => { + let e; let t; let n; return (function e(t, n, o) { function i(a, c) { if (!n[a]) { if (!t[a]) { const l = typeof require === 'function' && require; if (!c && l) return l(a, !0); if (r) return r(a, !0); const u = new Error(`Cannot find module '${a}'`); throw u.code = 'MODULE_NOT_FOUND', u } const s = n[a] = { exports: {} }; t[a][0].call(s.exports, (e) => { const n = t[a][1][e]; return i(n || e) }, s, s.exports, e, t, n, o) } return n[a].exports } for (var r = typeof require === 'function' && require, a = 0; a < o.length; a++)i(o[a]); return i }({ + 1: [function (e, t, n) { function o(e, t) { for (;e && e.nodeType !== i;) { if (e.matches(t)) return e; e = e.parentNode } } var i = 9; if (typeof Element !== 'undefined' && !Element.prototype.matches) { const r = Element.prototype; r.matches = r.matchesSelector || r.mozMatchesSelector || r.msMatchesSelector || r.oMatchesSelector || r.webkitMatchesSelector }t.exports = o }, {}], + 2: [function (e, t, n) { function o(e, t, n, o, r) { const a = i.apply(this, arguments); return e.addEventListener(n, a, r), { destroy() { e.removeEventListener(n, a, r) } } } function i(e, t, n, o) { return function (n) { n.delegateTarget = r(n.target, t), n.delegateTarget && o.call(e, n) } } var r = e('./closest'); t.exports = o }, { './closest': 1 }], + 3: [function (e, t, n) { n.node = function (e) { return void 0 !== e && e instanceof HTMLElement && e.nodeType === 1 }, n.nodeList = function (e) { const t = Object.prototype.toString.call(e); return void 0 !== e && (t === '[object NodeList]' || t === '[object HTMLCollection]') && 'length' in e && (e.length === 0 || n.node(e[0])) }, n.string = function (e) { return typeof e === 'string' || e instanceof String }, n.fn = function (e) { const t = Object.prototype.toString.call(e); return t === '[object Function]' } }, {}], + 4: [function (e, t, n) { function o(e, t, n) { if (!e && !t && !n) throw new Error('Missing required arguments'); if (!c.string(t)) throw new TypeError('Second argument must be a String'); if (!c.fn(n)) throw new TypeError('Third argument must be a Function'); if (c.node(e)) return i(e, t, n); if (c.nodeList(e)) return r(e, t, n); if (c.string(e)) return a(e, t, n); throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList') } function i(e, t, n) { return e.addEventListener(t, n), { destroy() { e.removeEventListener(t, n) } } } function r(e, t, n) { return Array.prototype.forEach.call(e, (e) => { e.addEventListener(t, n) }), { destroy() { Array.prototype.forEach.call(e, (e) => { e.removeEventListener(t, n) }) } } } function a(e, t, n) { return l(document.body, e, t, n) } var c = e('./is'); var l = e('delegate'); t.exports = o }, { './is': 3, delegate: 2 }], + 5: [function (e, t, n) { function o(e) { let t; if (e.nodeName === 'SELECT')e.focus(), t = e.value; else if (e.nodeName === 'INPUT' || e.nodeName === 'TEXTAREA') { const n = e.hasAttribute('readonly'); n || e.setAttribute('readonly', ''), e.select(), e.setSelectionRange(0, e.value.length), n || e.removeAttribute('readonly'), t = e.value } else { e.hasAttribute('contenteditable') && e.focus(); const o = window.getSelection(); const i = document.createRange(); i.selectNodeContents(e), o.removeAllRanges(), o.addRange(i), t = o.toString() } return t }t.exports = o }, {}], + 6: [function (e, t, n) { + function o() {}o.prototype = { + on(e, t, n) { const o = this.e || (this.e = {}); return (o[e] || (o[e] = [])).push({ fn: t, ctx: n }), this }, once(e, t, n) { function o() { i.off(e, o), t.apply(n, arguments) } var i = this; return o._ = t, this.on(e, o, n) }, emit(e) { const t = [].slice.call(arguments, 1); const n = ((this.e || (this.e = {}))[e] || []).slice(); let o = 0; const i = n.length; for (o; o < i; o++)n[o].fn.apply(n[o].ctx, t); return this }, off(e, t) { const n = this.e || (this.e = {}); const o = n[e]; const i = []; if (o && t) for (let r = 0, a = o.length; r < a; r++)o[r].fn !== t && o[r].fn._ !== t && i.push(o[r]); return i.length ? n[e] = i : delete n[e], this } + }, t.exports = o + }, {}], + 7: [function (t, n, o) { + !(function (i, r) { if (typeof e === 'function' && e.amd)e(['module', 'select'], r); else if (typeof o !== 'undefined')r(n, t('select')); else { const a = { exports: {} }; r(a, i.select), i.clipboardAction = a.exports } }(this, (e, t) => { + 'use strict' + + function n(e) { return e && e.__esModule ? e : { default: e } } function o(e, t) { if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function') } const i = n(t); const r = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (e) { return typeof e } : function (e) { return e && typeof Symbol === 'function' && e.constructor === Symbol && e !== Symbol.prototype ? 'symbol' : typeof e }; const a = (function () { function e(e, t) { for (let n = 0; n < t.length; n++) { const o = t[n]; o.enumerable = o.enumerable || !1, o.configurable = !0, 'value' in o && (o.writable = !0), Object.defineProperty(e, o.key, o) } } return function (t, n, o) { return n && e(t.prototype, n), o && e(t, o), t } }()); const c = (function () { + function e(t) { o(this, e), this.resolveOptions(t), this.initSelection() } return a(e, [{ key: 'resolveOptions', value: function e() { const t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; this.action = t.action, this.emitter = t.emitter, this.target = t.target, this.text = t.text, this.trigger = t.trigger, this.selectedText = '' } }, { key: 'initSelection', value: function e() { this.text ? this.selectFake() : this.target && this.selectTarget() } }, { key: 'selectFake', value: function e() { const t = this; const n = document.documentElement.getAttribute('dir') == 'rtl'; this.removeFake(), this.fakeHandlerCallback = function () { return t.removeFake() }, this.fakeHandler = document.body.addEventListener('click', this.fakeHandlerCallback) || !0, this.fakeElem = document.createElement('textarea'), this.fakeElem.style.fontSize = '12pt', this.fakeElem.style.border = '0', this.fakeElem.style.padding = '0', this.fakeElem.style.margin = '0', this.fakeElem.style.position = 'absolute', this.fakeElem.style[n ? 'right' : 'left'] = '-9999px'; const o = window.pageYOffset || document.documentElement.scrollTop; this.fakeElem.style.top = `${o}px`, this.fakeElem.setAttribute('readonly', ''), this.fakeElem.value = this.text, document.body.appendChild(this.fakeElem), this.selectedText = (0, i.default)(this.fakeElem), this.copyText() } }, { key: 'removeFake', value: function e() { this.fakeHandler && (document.body.removeEventListener('click', this.fakeHandlerCallback), this.fakeHandler = null, this.fakeHandlerCallback = null), this.fakeElem && (document.body.removeChild(this.fakeElem), this.fakeElem = null) } }, { key: 'selectTarget', value: function e() { this.selectedText = (0, i.default)(this.target), this.copyText() } }, { key: 'copyText', value: function e() { let t = void 0; try { t = document.execCommand(this.action) } catch (e) { t = !1 } this.handleResult(t) } }, { + key: 'handleResult', + value: function e(t) { + this.emitter.emit(t ? 'success' : 'error', { + action: this.action, text: this.selectedText, trigger: this.trigger, clearSelection: this.clearSelection.bind(this) + }) + } + }, { key: 'clearSelection', value: function e() { this.target && this.target.blur(), window.getSelection().removeAllRanges() } }, { key: 'destroy', value: function e() { this.removeFake() } }, { key: 'action', set: function e() { const t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 'copy'; if (this._action = t, this._action !== 'copy' && this._action !== 'cut') throw new Error('Invalid "action" value, use either "copy" or "cut"') }, get: function e() { return this._action } }, { key: 'target', set: function e(t) { if (void 0 !== t) { if (!t || (typeof t === 'undefined' ? 'undefined' : r(t)) !== 'object' || t.nodeType !== 1) throw new Error('Invalid "target" value, use a valid Element'); if (this.action === 'copy' && t.hasAttribute('disabled')) throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute'); if (this.action === 'cut' && (t.hasAttribute('readonly') || t.hasAttribute('disabled'))) throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes'); this._target = t } }, get: function e() { return this._target } }]), e + }()); e.exports = c + })) + }, { select: 5 }], + 8: [function (t, n, o) { + !(function (i, r) { if (typeof e === 'function' && e.amd)e(['module', './clipboard-action', 'tiny-emitter', 'good-listener'], r); else if (typeof o !== 'undefined')r(n, t('./clipboard-action'), t('tiny-emitter'), t('good-listener')); else { const a = { exports: {} }; r(a, i.clipboardAction, i.tinyEmitter, i.goodListener), i.clipboard = a.exports } }(this, (e, t, n, o) => { + 'use strict' + + function i(e) { return e && e.__esModule ? e : { default: e } } function r(e, t) { if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function') } function a(e, t) { if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return !t || typeof t !== 'object' && typeof t !== 'function' ? e : t } function c(e, t) { + if (typeof t !== 'function' && t !== null) throw new TypeError(`Super expression must either be null or a function, not ${typeof t}`); e.prototype = Object.create(t && t.prototype, { + constructor: { + value: e, enumerable: !1, writable: !0, configurable: !0 + } + }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t) + } function l(e, t) { const n = `data-clipboard-${e}`; if (t.hasAttribute(n)) return t.getAttribute(n) } const u = i(t); const s = i(n); const f = i(o); const d = (function () { function e(e, t) { for (let n = 0; n < t.length; n++) { const o = t[n]; o.enumerable = o.enumerable || !1, o.configurable = !0, 'value' in o && (o.writable = !0), Object.defineProperty(e, o.key, o) } } return function (t, n, o) { return n && e(t.prototype, n), o && e(t, o), t } }()); const h = (function (e) { + function t(e, n) { r(this, t); const o = a(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this)); return o.resolveOptions(n), o.listenClick(e), o } return c(t, e), d(t, [{ key: 'resolveOptions', value: function e() { const t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; this.action = typeof t.action === 'function' ? t.action : this.defaultAction, this.target = typeof t.target === 'function' ? t.target : this.defaultTarget, this.text = typeof t.text === 'function' ? t.text : this.defaultText } }, { key: 'listenClick', value: function e(t) { const n = this; this.listener = (0, f.default)(t, 'click', (e) => n.onClick(e)) } }, { + key: 'onClick', + value: function e(t) { + const n = t.delegateTarget || t.currentTarget; this.clipboardAction && (this.clipboardAction = null), this.clipboardAction = new u.default({ + action: this.action(n), target: this.target(n), text: this.text(n), trigger: n, emitter: this + }) + } + }, { key: 'defaultAction', value: function e(t) { return l('action', t) } }, { key: 'defaultTarget', value: function e(t) { const n = l('target', t); if (n) return document.querySelector(n) } }, { key: 'defaultText', value: function e(t) { return l('text', t) } }, { key: 'destroy', value: function e() { this.listener.destroy(), this.clipboardAction && (this.clipboardAction.destroy(), this.clipboardAction = null) } }], [{ key: 'isSupported', value: function e() { const t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : ['copy', 'cut']; const n = typeof t === 'string' ? [t] : t; let o = !!document.queryCommandSupported; return n.forEach((e) => { o = o && !!document.queryCommandSupported(e) }), o } }]), t + }(s.default)); e.exports = h + })) + }, { './clipboard-action': 7, 'good-listener': 4, 'tiny-emitter': 6 }] + }, {}, [8]))(8) +})) diff --git a/components/uview-ui/components/u-tooltip/props.js b/components/uview-ui/components/u-tooltip/props.js new file mode 100644 index 0000000..16aecbc --- /dev/null +++ b/components/uview-ui/components/u-tooltip/props.js @@ -0,0 +1,59 @@ +export default { + props: { + // 需要显示的提示文字 + text: { + type: [String, Number], + default: uni.$u.props.tooltip.text + }, + // 点击复制按钮时,复制的文本,为空则使用text值 + copyText: { + type: [String, Number], + default: uni.$u.props.tooltip.copyText + }, + // 文本大小 + size: { + type: [String, Number], + default: uni.$u.props.tooltip.size + }, + // 字体颜色 + color: { + type: String, + default: uni.$u.props.tooltip.color + }, + // 弹出提示框时,文本的背景色 + bgColor: { + type: String, + default: uni.$u.props.tooltip.bgColor + }, + // 弹出提示的方向,top-上方,bottom-下方 + direction: { + type: String, + default: uni.$u.props.tooltip.direction + }, + // 弹出提示的z-index,nvue无效 + zIndex: { + type: [String, Number], + default: uni.$u.props.tooltip.zIndex + }, + // 是否显示复制按钮 + showCopy: { + type: Boolean, + default: uni.$u.props.tooltip.showCopy + }, + // 扩展的按钮组 + buttons: { + type: Array, + default: uni.$u.props.tooltip.buttons + }, + // 是否显示透明遮罩以防止触摸穿透 + overlay: { + type: Boolean, + default: uni.$u.props.tooltip.overlay + }, + // 是否显示复制成功或者失败的toast + showToast: { + type: Boolean, + default: uni.$u.props.tooltip.showToast + } + } +} diff --git a/components/uview-ui/components/u-tooltip/u-tooltip.vue b/components/uview-ui/components/u-tooltip/u-tooltip.vue new file mode 100644 index 0000000..4bd8fc9 --- /dev/null +++ b/components/uview-ui/components/u-tooltip/u-tooltip.vue @@ -0,0 +1,365 @@ + + + + + diff --git a/components/uview-ui/components/u-top-tips/u-top-tips.vue b/components/uview-ui/components/u-top-tips/u-top-tips.vue new file mode 100644 index 0000000..98d58df --- /dev/null +++ b/components/uview-ui/components/u-top-tips/u-top-tips.vue @@ -0,0 +1,121 @@ + + + + + diff --git a/components/uview-ui/components/u-tr/props.js b/components/uview-ui/components/u-tr/props.js new file mode 100644 index 0000000..7c11331 --- /dev/null +++ b/components/uview-ui/components/u-tr/props.js @@ -0,0 +1,5 @@ +export default { + props: { + + } +} diff --git a/components/uview-ui/components/u-tr/u-tr.vue b/components/uview-ui/components/u-tr/u-tr.vue new file mode 100644 index 0000000..dbbca08 --- /dev/null +++ b/components/uview-ui/components/u-tr/u-tr.vue @@ -0,0 +1,31 @@ + + + + + diff --git a/components/uview-ui/components/u-transition/nvue.ani-map.js b/components/uview-ui/components/u-transition/nvue.ani-map.js new file mode 100644 index 0000000..b86b962 --- /dev/null +++ b/components/uview-ui/components/u-transition/nvue.ani-map.js @@ -0,0 +1,68 @@ +export default { + fade: { + enter: { opacity: 0 }, + 'enter-to': { opacity: 1 }, + leave: { opacity: 1 }, + 'leave-to': { opacity: 0 } + }, + 'fade-up': { + enter: { opacity: 0, transform: 'translateY(100%)' }, + 'enter-to': { opacity: 1, transform: 'translateY(0)' }, + leave: { opacity: 1, transform: 'translateY(0)' }, + 'leave-to': { opacity: 0, transform: 'translateY(100%)' } + }, + 'fade-down': { + enter: { opacity: 0, transform: 'translateY(-100%)' }, + 'enter-to': { opacity: 1, transform: 'translateY(0)' }, + leave: { opacity: 1, transform: 'translateY(0)' }, + 'leave-to': { opacity: 0, transform: 'translateY(-100%)' } + }, + 'fade-left': { + enter: { opacity: 0, transform: 'translateX(-100%)' }, + 'enter-to': { opacity: 1, transform: 'translateY(0)' }, + leave: { opacity: 1, transform: 'translateY(0)' }, + 'leave-to': { opacity: 0, transform: 'translateX(-100%)' } + }, + 'fade-right': { + enter: { opacity: 0, transform: 'translateX(100%)' }, + 'enter-to': { opacity: 1, transform: 'translateY(0)' }, + leave: { opacity: 1, transform: 'translateY(0)' }, + 'leave-to': { opacity: 0, transform: 'translateX(100%)' } + }, + 'slide-up': { + enter: { transform: 'translateY(100%)' }, + 'enter-to': { transform: 'translateY(0)' }, + leave: { transform: 'translateY(0)' }, + 'leave-to': { transform: 'translateY(100%)' } + }, + 'slide-down': { + enter: { transform: 'translateY(-100%)' }, + 'enter-to': { transform: 'translateY(0)' }, + leave: { transform: 'translateY(0)' }, + 'leave-to': { transform: 'translateY(-100%)' } + }, + 'slide-left': { + enter: { transform: 'translateX(-100%)' }, + 'enter-to': { transform: 'translateY(0)' }, + leave: { transform: 'translateY(0)' }, + 'leave-to': { transform: 'translateX(-100%)' } + }, + 'slide-right': { + enter: { transform: 'translateX(100%)' }, + 'enter-to': { transform: 'translateY(0)' }, + leave: { transform: 'translateY(0)' }, + 'leave-to': { transform: 'translateX(100%)' } + }, + zoom: { + enter: { transform: 'scale(0.95)' }, + 'enter-to': { transform: 'scale(1)' }, + leave: { transform: 'scale(1)' }, + 'leave-to': { transform: 'scale(0.95)' } + }, + 'fade-zoom': { + enter: { opacity: 0, transform: 'scale(0.95)' }, + 'enter-to': { opacity: 1, transform: 'scale(1)' }, + leave: { opacity: 1, transform: 'scale(1)' }, + 'leave-to': { opacity: 0, transform: 'scale(0.95)' } + } +} diff --git a/components/uview-ui/components/u-transition/props.js b/components/uview-ui/components/u-transition/props.js new file mode 100644 index 0000000..f7b1c22 --- /dev/null +++ b/components/uview-ui/components/u-transition/props.js @@ -0,0 +1,24 @@ +export default { + props: { + // 是否展示组件 + show: { + type: Boolean, + default: uni.$u.props.transition.show + }, + // 使用的动画模式 + mode: { + type: String, + default: uni.$u.props.transition.mode + }, + // 动画的执行时间,单位ms + duration: { + type: [String, Number], + default: uni.$u.props.transition.duration + }, + // 使用的动画过渡函数 + timingFunction: { + type: String, + default: uni.$u.props.transition.timingFunction + } + } +} diff --git a/components/uview-ui/components/u-transition/transition.js b/components/uview-ui/components/u-transition/transition.js new file mode 100644 index 0000000..92e5681 --- /dev/null +++ b/components/uview-ui/components/u-transition/transition.js @@ -0,0 +1,157 @@ +// 定义一个一定时间后自动成功的promise,让调用nextTick方法处,进入下一个then方法 +const nextTick = () => new Promise(resolve => setTimeout(resolve, 1000 / 50)) +// nvue动画模块实现细节抽离在外部文件 +import animationMap from './nvue.ani-map.js' + +// #ifndef APP-NVUE +// 定义类名,通过给元素动态切换类名,赋予元素一定的css动画样式 +const getClassNames = (name) => ({ + enter: `u-${name}-enter u-${name}-enter-active`, + 'enter-to': `u-${name}-enter-to u-${name}-enter-active`, + leave: `u-${name}-leave u-${name}-leave-active`, + 'leave-to': `u-${name}-leave-to u-${name}-leave-active` +}) +// #endif + +// #ifdef APP-NVUE +// 引入nvue(weex)的animation动画模块,文档见: +// https://weex.apache.org/zh/docs/modules/animation.html#transition +const animation = uni.requireNativePlugin('animation') +const getStyle = (name) => animationMap[name] +// #endif + +export default { + methods: { + // 组件被点击发出事件 + clickHandler() { + this.$emit('click') + }, + // #ifndef APP-NVUE + // vue版本的组件进场处理 + vueEnter() { + // 动画进入时的类名 + const classNames = getClassNames(this.mode) + // 定义状态和发出动画进入前事件 + this.status = 'enter' + this.$emit('beforeEnter') + this.inited = true + this.display = true + this.classes = classNames.enter + this.$nextTick(async () => { + // #ifdef H5 + await uni.$u.sleep(20) + // #endif + // 标识动画尚未结束 + this.$emit('enter') + this.transitionEnded = false + // 组件动画进入后触发的事件 + this.$emit('afterEnter') + // 赋予组件enter-to类名 + this.classes = classNames['enter-to'] + }) + }, + // 动画离场处理 + vueLeave() { + // 如果不是展示状态,无需执行逻辑 + if (!this.display) return + const classNames = getClassNames(this.mode) + // 标记离开状态和发出事件 + this.status = 'leave' + this.$emit('beforeLeave') + // 获得类名 + this.classes = classNames.leave + + this.$nextTick(() => { + // 动画正在离场的状态 + this.transitionEnded = false + this.$emit('leave') + // 组件执行动画,到了执行的执行时间后,执行一些额外处理 + setTimeout(this.onTransitionEnd, this.duration) + this.classes = classNames['leave-to'] + }) + }, + // #endif + // #ifdef APP-NVUE + // nvue版本动画进场 + nvueEnter() { + // 获得样式的名称 + const currentStyle = getStyle(this.mode) + // 组件动画状态和发出事件 + this.status = 'enter' + this.$emit('beforeEnter') + // 展示生成组件元素 + this.inited = true + this.display = true + // 在nvue安卓上,由于渲染速度慢,在弹窗,键盘,日历等组件中,渲染其中的内容需要时间 + // 导致出现弹窗卡顿,这里让其一开始为透明状态,等一定时间渲染完成后,再让其隐藏起来,再让其按正常逻辑出现 + this.viewStyle = { + opacity: 0 + } + // 等待弹窗内容渲染完成 + this.$nextTick(() => { + // 合并样式 + this.viewStyle = currentStyle.enter + Promise.resolve() + .then(nextTick) + .then(() => { + // 组件开始进入前的事件 + this.$emit('enter') + // nvue的transition动画模块需要通过ref调用组件,注意此处的ref不同于vue的this.$refs['u-transition']用法 + animation.transition(this.$refs['u-transition'].ref, { + styles: currentStyle['enter-to'], + duration: this.duration, + timingFunction: this.timingFunction, + needLayout: false, + delay: 0 + }, () => { + // 动画执行完毕,发出事件 + this.$emit('afterEnter') + }) + }) + .catch(() => {}) + }) + }, + nvueLeave() { + if (!this.display) { + return + } + const currentStyle = getStyle(this.mode) + // 定义状态和事件 + this.status = 'leave' + this.$emit('beforeLeave') + // 合并样式 + this.viewStyle = currentStyle.leave + // 放到promise中处理执行过程 + Promise.resolve() + .then(nextTick) // 等待几十ms + .then(() => { + this.transitionEnded = false + // 动画正在离场的状态 + this.$emit('leave') + animation.transition(this.$refs['u-transition'].ref, { + styles: currentStyle['leave-to'], + duration: this.duration, + timingFunction: this.timingFunction, + needLayout: false, + delay: 0 + }, () => { + this.onTransitionEnd() + }) + }) + .catch(() => {}) + }, + // #endif + // 完成过渡后触发 + onTransitionEnd() { + // 如果已经是结束的状态,无需再处理 + if (this.transitionEnded) return + this.transitionEnded = true + // 发出组件动画执行后的事件 + this.$emit(this.status === 'leave' ? 'afterLeave' : 'afterEnter') + if (!this.show && this.display) { + this.display = false + this.inited = false + } + } + } +} diff --git a/components/uview-ui/components/u-transition/u-transition.vue b/components/uview-ui/components/u-transition/u-transition.vue new file mode 100644 index 0000000..22831dc --- /dev/null +++ b/components/uview-ui/components/u-transition/u-transition.vue @@ -0,0 +1,92 @@ + + + + + diff --git a/components/uview-ui/components/u-transition/vue.ani-style.scss b/components/uview-ui/components/u-transition/vue.ani-style.scss new file mode 100644 index 0000000..a31d88b --- /dev/null +++ b/components/uview-ui/components/u-transition/vue.ani-style.scss @@ -0,0 +1,113 @@ +/** + * vue版本动画内置的动画模式有如下: + * fade:淡入 + * zoom:缩放 + * fade-zoom:缩放淡入 + * fade-up:上滑淡入 + * fade-down:下滑淡入 + * fade-left:左滑淡入 + * fade-right:右滑淡入 + * slide-up:上滑进入 + * slide-down:下滑进入 + * slide-left:左滑进入 + * slide-right:右滑进入 + */ + +$u-zoom-scale: scale(0.95); + +.u-fade-enter-active, +.u-fade-leave-active { + transition-property: opacity; +} + +.u-fade-enter, +.u-fade-leave-to { + opacity: 0 +} + +.u-fade-zoom-enter, +.u-fade-zoom-leave-to { + transform: $u-zoom-scale; + opacity: 0; +} + +.u-fade-zoom-enter-active, +.u-fade-zoom-leave-active { + transition-property: transform, opacity; +} + +.u-fade-down-enter-active, +.u-fade-down-leave-active, +.u-fade-left-enter-active, +.u-fade-left-leave-active, +.u-fade-right-enter-active, +.u-fade-right-leave-active, +.u-fade-up-enter-active, +.u-fade-up-leave-active { + transition-property: opacity, transform; +} + +.u-fade-up-enter, +.u-fade-up-leave-to { + transform: translate3d(0, 100%, 0); + opacity: 0 +} + +.u-fade-down-enter, +.u-fade-down-leave-to { + transform: translate3d(0, -100%, 0); + opacity: 0 +} + +.u-fade-left-enter, +.u-fade-left-leave-to { + transform: translate3d(-100%, 0, 0); + opacity: 0 +} + +.u-fade-right-enter, +.u-fade-right-leave-to { + transform: translate3d(100%, 0, 0); + opacity: 0 +} + +.u-slide-down-enter-active, +.u-slide-down-leave-active, +.u-slide-left-enter-active, +.u-slide-left-leave-active, +.u-slide-right-enter-active, +.u-slide-right-leave-active, +.u-slide-up-enter-active, +.u-slide-up-leave-active { + transition-property: transform; +} + +.u-slide-up-enter, +.u-slide-up-leave-to { + transform: translate3d(0, 100%, 0) +} + +.u-slide-down-enter, +.u-slide-down-leave-to { + transform: translate3d(0, -100%, 0) +} + +.u-slide-left-enter, +.u-slide-left-leave-to { + transform: translate3d(-100%, 0, 0) +} + +.u-slide-right-enter, +.u-slide-right-leave-to { + transform: translate3d(100%, 0, 0) +} + +.u-zoom-enter-active, +.u-zoom-leave-active { + transition-property: transform +} + +.u-zoom-enter, +.u-zoom-leave-to { + transform: $u-zoom-scale +} diff --git a/components/uview-ui/components/u-upload/mixin.js b/components/uview-ui/components/u-upload/mixin.js new file mode 100644 index 0000000..410c775 --- /dev/null +++ b/components/uview-ui/components/u-upload/mixin.js @@ -0,0 +1,21 @@ +export default { + watch: { + // 监听accept的变化,判断是否符合个平台要求 + // 只有微信小程序才支持选择媒体,文件类型,所以这里做一个判断提示 + accept: { + immediate: true, + handler(val) { + // #ifndef MP-WEIXIN + if (val === 'all' || val === 'media') { + uni.$u.error('只有微信小程序才支持把accept配置为all、media之一') + } + // #endif + // #ifndef H5 || MP-WEIXIN + if (val === 'file') { + uni.$u.error('只有微信小程序和H5(HX2.9.9)才支持把accept配置为file') + } + // #endif + } + } + } +} diff --git a/components/uview-ui/components/u-upload/props.js b/components/uview-ui/components/u-upload/props.js new file mode 100644 index 0000000..b106ae7 --- /dev/null +++ b/components/uview-ui/components/u-upload/props.js @@ -0,0 +1,124 @@ +export default { + props: { + // 接受的文件类型, 可选值为all media image file video + accept: { + type: String, + default: uni.$u.props.upload.accept + }, + // 图片或视频拾取模式,当accept为image类型时设置capture可选额外camera可以直接调起摄像头 + capture: { + type: [String, Array], + default: uni.$u.props.upload.capture + }, + // 当accept为video时生效,是否压缩视频,默认为true + compressed: { + type: Boolean, + default: uni.$u.props.upload.compressed + }, + // 当accept为video时生效,可选值为back或front + camera: { + type: String, + default: uni.$u.props.upload.camera + }, + // 当accept为video时生效,拍摄视频最长拍摄时间,单位秒 + maxDuration: { + type: Number, + default: uni.$u.props.upload.maxDuration + }, + // 上传区域的图标,只能内置图标 + uploadIcon: { + type: String, + default: uni.$u.props.upload.uploadIcon + }, + // 上传区域的图标的颜色,默认 + uploadIconColor: { + type: String, + default: uni.$u.props.upload.uploadIconColor + }, + // 是否开启文件读取前事件 + useBeforeRead: { + type: Boolean, + default: uni.$u.props.upload.useBeforeRead + }, + // 读取后的处理函数 + afterRead: { + type: Function, + default: null + }, + // 读取前的处理函数 + beforeRead: { + type: Function, + default: null + }, + // 是否显示组件自带的图片预览功能 + previewFullImage: { + type: Boolean, + default: uni.$u.props.upload.previewFullImage + }, + // 最大上传数量 + maxCount: { + type: [String, Number], + default: uni.$u.props.upload.maxCount + }, + // 是否启用 + disabled: { + type: Boolean, + default: uni.$u.props.upload.disabled + }, + // 预览上传的图片时的裁剪模式,和image组件mode属性一致 + imageMode: { + type: String, + default: uni.$u.props.upload.imageMode + }, + // 标识符,可以在回调函数的第二项参数中获取 + name: { + type: String, + default: uni.$u.props.upload.name + }, + // 所选的图片的尺寸, 可选值为original compressed + sizeType: { + type: Array, + default: uni.$u.props.upload.sizeType + }, + // 是否开启图片多选,部分安卓机型不支持 + multiple: { + type: Boolean, + default: uni.$u.props.upload.multiple + }, + // 是否展示删除按钮 + deletable: { + type: Boolean, + default: uni.$u.props.upload.deletable + }, + // 文件大小限制,单位为byte + maxSize: { + type: [String, Number], + default: uni.$u.props.upload.maxSize + }, + // 显示已上传的文件列表 + fileList: { + type: Array, + default: uni.$u.props.upload.fileList + }, + // 上传区域的提示文字 + uploadText: { + type: String, + default: uni.$u.props.upload.uploadText + }, + // 内部预览图片区域和选择图片按钮的区域宽度 + width: { + type: [String, Number], + default: uni.$u.props.upload.width + }, + // 内部预览图片区域和选择图片按钮的区域高度 + height: { + type: [String, Number], + default: uni.$u.props.upload.height + }, + // 是否在上传完成后展示预览图 + previewImage: { + type: Boolean, + default: uni.$u.props.upload.previewImage + } + } +} diff --git a/components/uview-ui/components/u-upload/u-upload.vue b/components/uview-ui/components/u-upload/u-upload.vue new file mode 100644 index 0000000..1dac8a7 --- /dev/null +++ b/components/uview-ui/components/u-upload/u-upload.vue @@ -0,0 +1,558 @@ + + + + + diff --git a/components/uview-ui/components/u-upload/utils.js b/components/uview-ui/components/u-upload/utils.js new file mode 100644 index 0000000..88cb602 --- /dev/null +++ b/components/uview-ui/components/u-upload/utils.js @@ -0,0 +1,151 @@ +function pickExclude(obj, keys) { + // 某些情况下,type可能会为 + if (!['[object Object]', '[object File]'].includes(Object.prototype.toString.call(obj))) { + return {} + } + return Object.keys(obj).reduce((prev, key) => { + if (!keys.includes(key)) { + prev[key] = obj[key] + } + return prev + }, {}) +} + +function formatImage(res) { + return res.tempFiles.map((item) => ({ + ...pickExclude(item, ['path']), + type: 'image', + url: item.path, + thumb: item.path, + size: item.size, + // #ifdef H5 + name: item.name + // #endif + })) +} + +function formatVideo(res) { + return [ + { + ...pickExclude(res, ['tempFilePath', 'thumbTempFilePath', 'errMsg']), + type: 'video', + url: res.tempFilePath, + thumb: res.thumbTempFilePath, + size: res.size, + // #ifdef H5 + name: res.name + // #endif + } + ] +} + +function formatMedia(res) { + return res.tempFiles.map((item) => ({ + ...pickExclude(item, ['fileType', 'thumbTempFilePath', 'tempFilePath']), + type: res.type, + url: item.tempFilePath, + thumb: res.type === 'video' ? item.thumbTempFilePath : item.tempFilePath, + size: item.size + })) +} + +function formatFile(res) { + return res.tempFiles.map((item) => ({ + ...pickExclude(item, ['path']), + url: item.path, + size:item.size, + // #ifdef H5 + name: item.name, + type: item.type + // #endif + })) +} +export function chooseFile({ + accept, + multiple, + capture, + compressed, + maxDuration, + sizeType, + camera, + maxCount +}) { + return new Promise((resolve, reject) => { + switch (accept) { + case 'image': + uni.chooseImage({ + count: multiple ? Math.min(maxCount, 9) : 1, + sourceType: capture, + sizeType, + success: (res) => resolve(formatImage(res)), + fail: reject + }) + break + // #ifdef MP-WEIXIN + // 只有微信小程序才支持chooseMedia接口 + case 'media': + wx.chooseMedia({ + count: multiple ? Math.min(maxCount, 9) : 1, + sourceType: capture, + maxDuration, + sizeType, + camera, + success: (res) => resolve(formatMedia(res)), + fail: reject + }) + break + // #endif + case 'video': + uni.chooseVideo({ + sourceType: capture, + compressed, + maxDuration, + camera, + success: (res) => resolve(formatVideo(res)), + fail: reject + }) + break + // #ifdef MP-WEIXIN || H5 + // 只有微信小程序才支持chooseMessageFile接口 + case 'file': + // #ifdef MP-WEIXIN + wx.chooseMessageFile({ + count: multiple ? maxCount : 1, + type: accept, + success: (res) => resolve(formatFile(res)), + fail: reject + }) + // #endif + // #ifdef H5 + // 需要hx2.9.9以上才支持uni.chooseFile + uni.chooseFile({ + count: multiple ? maxCount : 1, + type: accept, + success: (res) => resolve(formatFile(res)), + fail: reject + }) + // #endif + break + // #endif + default: + // 此为保底选项,在accept不为上面任意一项的时候选取全部文件 + // #ifdef MP-WEIXIN + wx.chooseMessageFile({ + count: multiple ? maxCount : 1, + type: 'all', + success: (res) => resolve(formatFile(res)), + fail: reject + }) + // #endif + // #ifdef H5 + // 需要hx2.9.9以上才支持uni.chooseFile + uni.chooseFile({ + count: multiple ? maxCount : 1, + type: 'all', + success: (res) => resolve(formatFile(res)), + fail: reject + }) + // #endif + } + }) +} diff --git a/components/uview-ui/components/u-verification-code/u-verification-code.vue b/components/uview-ui/components/u-verification-code/u-verification-code.vue new file mode 100644 index 0000000..b3079f4 --- /dev/null +++ b/components/uview-ui/components/u-verification-code/u-verification-code.vue @@ -0,0 +1,164 @@ + + + + + diff --git a/components/uview-ui/components/u-waterfall/u-waterfall.vue b/components/uview-ui/components/u-waterfall/u-waterfall.vue new file mode 100644 index 0000000..21135a8 --- /dev/null +++ b/components/uview-ui/components/u-waterfall/u-waterfall.vue @@ -0,0 +1,176 @@ + + + + + \ No newline at end of file diff --git a/components/uview-ui/components/uview-ui/uview-ui.vue b/components/uview-ui/components/uview-ui/uview-ui.vue new file mode 100644 index 0000000..bcd3662 --- /dev/null +++ b/components/uview-ui/components/uview-ui/uview-ui.vue @@ -0,0 +1,15 @@ + + + + + + + diff --git a/components/uview-ui/iconfont.css b/components/uview-ui/iconfont.css new file mode 100644 index 0000000..836c718 --- /dev/null +++ b/components/uview-ui/iconfont.css @@ -0,0 +1,910 @@ +/* #ifdef APP-PLUS */ +@font-face { + font-family: "uicon-iconfont"; + font-weight: normal; + font-style: normal; + font-display: auto; + src: url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'); +} + +/* #endif */ + +/* 支付宝,百度,头条小程序目前读取大的本地字体文件,导致无法显示图标,故用在线加载的方式-2020-05-12 */ +/* #ifndef APP-PLUS */ +@font-face { + font-family: "uicon-iconfont"; + src: url('//at.alicdn.com/t/font_1529455_k4s6di1d1.eot?t=1596960292384'); + /* IE9 */ + src: url('//at.alicdn.com/t/font_1529455_k4s6di1d1.eot?t=1596960292384#iefix') format('embedded-opentype'), + /* IE6-IE8 */ + url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'), + url('//at.alicdn.com/t/font_1529455_k4s6di1d1.woff?t=1596960292384') format('woff'), + url('//at.alicdn.com/t/font_1529455_k4s6di1d1.ttf?t=1596960292384') format('truetype'), + /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ + url('//at.alicdn.com/t/font_1529455_k4s6di1d1.svg?t=1596960292384#iconfont') format('svg'); +} + +/* #endif */ + +.u-iconfont { + position: relative; + display: flex; + font: normal normal normal 14px/1 "uicon-iconfont"; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.u-iconfont::before { + display: flex; + align-items: center; +} + +.uicon-en:before { + content: "\e70a"; +} + +.uicon-zh:before { + content: "\e692"; +} + +.uicon-level:before { + content: "\e693"; +} + +.uicon-woman:before { + content: "\e69c"; +} + +.uicon-man:before { + content: "\e697"; +} + +.uicon-column-line:before { + content: "\e68e"; +} + +.uicon-empty-page:before { + content: "\e627"; +} + +.uicon-empty-data:before { + content: "\e62f"; +} + +.uicon-empty-car:before { + content: "\e602"; +} + +.uicon-empty-order:before { + content: "\e639"; +} + +.uicon-empty-address:before { + content: "\e646"; +} + +.uicon-empty-message:before { + content: "\e6a9"; +} + +.uicon-empty-search:before { + content: "\e664"; +} + +.uicon-empty-favor:before { + content: "\e67c"; +} + +.uicon-empty-coupon:before { + content: "\e682"; +} + +.uicon-empty-history:before { + content: "\e684"; +} + +.uicon-empty-permission:before { + content: "\e686"; +} + +.uicon-empty-news:before { + content: "\e687"; +} + +.uicon-empty-wifi:before { + content: "\e688"; +} + +.uicon-empty-list:before { + content: "\e68b"; +} + +.uicon-arrow-left-double:before { + content: "\e68c"; +} + +.uicon-arrow-right-double:before { + content: "\e68d"; +} + +.uicon-red-packet:before { + content: "\e691"; +} + +.uicon-red-packet-fill:before { + content: "\e690"; +} + +.uicon-order:before { + content: "\e68f"; +} + +.uicon-nav-back-arrow:before { + content: "\e67f"; +} + +.uicon-nav-back:before { + content: "\e683"; +} + +.uicon-checkbox-mark:before { + content: "\e6a8"; +} + +.uicon-arrow-up-fill:before { + content: "\e6b0"; +} + +.uicon-arrow-down-fill:before { + content: "\e600"; +} + +.uicon-backspace:before { + content: "\e67b"; +} + +.uicon-android-circle-fill:before { + content: "\e67e"; +} + +.uicon-android-fill:before { + content: "\e67d"; +} + +.uicon-question:before { + content: "\e715"; +} + +.uicon-pause:before { + content: "\e8fa"; +} + +.uicon-close:before { + content: "\e685"; +} + +.uicon-volume-up:before { + content: "\e633"; +} + +.uicon-volume-off:before { + content: "\e644"; +} + +.uicon-info:before { + content: "\e653"; +} + +.uicon-error:before { + content: "\e6d3"; +} + +.uicon-lock-opened-fill:before { + content: "\e974"; +} + +.uicon-lock-fill:before { + content: "\e979"; +} + +.uicon-lock:before { + content: "\e97a"; +} + +.uicon-photo-fill:before { + content: "\e98b"; +} + +.uicon-photo:before { + content: "\e98d"; +} + +.uicon-account-fill:before { + content: "\e614"; +} + +.uicon-minus-people-fill:before { + content: "\e615"; +} + +.uicon-plus-people-fill:before { + content: "\e626"; +} + +.uicon-account:before { + content: "\e628"; +} + +.uicon-thumb-down-fill:before { + content: "\e726"; +} + +.uicon-thumb-down:before { + content: "\e727"; +} + +.uicon-thumb-up-fill:before { + content: "\e72f"; +} + +.uicon-thumb-up:before { + content: "\e733"; +} + +.uicon-person-delete-fill:before { + content: "\e66a"; +} + +.uicon-cut:before { + content: "\e948"; +} + +.uicon-fingerprint:before { + content: "\e955"; +} + +.uicon-home-fill:before { + content: "\e964"; +} + +.uicon-home:before { + content: "\e965"; +} + +.uicon-hourglass-half-fill:before { + content: "\e966"; +} + +.uicon-hourglass:before { + content: "\e967"; +} + +.uicon-lock-open:before { + content: "\e973"; +} + +.uicon-integral-fill:before { + content: "\e703"; +} + +.uicon-integral:before { + content: "\e704"; +} + +.uicon-coupon:before { + content: "\e8ae"; +} + +.uicon-coupon-fill:before { + content: "\e8c4"; +} + +.uicon-kefu-ermai:before { + content: "\e656"; +} + +.uicon-scan:before { + content: "\e662"; +} + +.uicon-rmb:before { + content: "\e608"; +} + +.uicon-rmb-circle-fill:before { + content: "\e657"; +} + +.uicon-rmb-circle:before { + content: "\e677"; +} + +.uicon-gift:before { + content: "\e65b"; +} + +.uicon-gift-fill:before { + content: "\e65c"; +} + +.uicon-bookmark-fill:before { + content: "\e63b"; +} + +.uicon-zhuanfa:before { + content: "\e60b"; +} + +.uicon-eye-off-outline:before { + content: "\e62b"; +} + +.uicon-eye-off:before { + content: "\e648"; +} + +.uicon-pause-circle:before { + content: "\e643"; +} + +.uicon-play-circle:before { + content: "\e647"; +} + +.uicon-pause-circle-fill:before { + content: "\e654"; +} + +.uicon-play-circle-fill:before { + content: "\e655"; +} + +.uicon-grid:before { + content: "\e673"; +} + +.uicon-play-right:before { + content: "\e610"; +} + +.uicon-play-left:before { + content: "\e66d"; +} + +.uicon-calendar:before { + content: "\e66e"; +} + +.uicon-rewind-right:before { + content: "\e66f"; +} + +.uicon-rewind-left:before { + content: "\e671"; +} + +.uicon-skip-forward-right:before { + content: "\e672"; +} + +.uicon-skip-back-left:before { + content: "\e674"; +} + +.uicon-play-left-fill:before { + content: "\e675"; +} + +.uicon-play-right-fill:before { + content: "\e676"; +} + +.uicon-grid-fill:before { + content: "\e678"; +} + +.uicon-rewind-left-fill:before { + content: "\e679"; +} + +.uicon-rewind-right-fill:before { + content: "\e67a"; +} + +.uicon-pushpin:before { + content: "\e7e3"; +} + +.uicon-star:before { + content: "\e65f"; +} + +.uicon-star-fill:before { + content: "\e669"; +} + +.uicon-server-fill:before { + content: "\e751"; +} + +.uicon-server-man:before { + content: "\e6bc"; +} + +.uicon-edit-pen:before { + content: "\e612"; +} + +.uicon-edit-pen-fill:before { + content: "\e66b"; +} + +.uicon-wifi:before { + content: "\e667"; +} + +.uicon-wifi-off:before { + content: "\e668"; +} + +.uicon-file-text:before { + content: "\e663"; +} + +.uicon-file-text-fill:before { + content: "\e665"; +} + +.uicon-more-dot-fill:before { + content: "\e630"; +} + +.uicon-minus:before { + content: "\e618"; +} + +.uicon-minus-circle:before { + content: "\e61b"; +} + +.uicon-plus:before { + content: "\e62d"; +} + +.uicon-plus-circle:before { + content: "\e62e"; +} + +.uicon-minus-circle-fill:before { + content: "\e652"; +} + +.uicon-plus-circle-fill:before { + content: "\e661"; +} + +.uicon-email:before { + content: "\e611"; +} + +.uicon-email-fill:before { + content: "\e642"; +} + +.uicon-phone:before { + content: "\e622"; +} + +.uicon-phone-fill:before { + content: "\e64f"; +} + +.uicon-clock:before { + content: "\e60f"; +} + +.uicon-car:before { + content: "\e60c"; +} + +.uicon-car-fill:before { + content: "\e636"; +} + +.uicon-warning:before { + content: "\e694"; +} + +.uicon-warning-fill:before { + content: "\e64d"; +} + +.uicon-search:before { + content: "\e62a"; +} + +.uicon-baidu-circle-fill:before { + content: "\e680"; +} + +.uicon-baidu:before { + content: "\e681"; +} + +.uicon-facebook:before { + content: "\e689"; +} + +.uicon-facebook-circle-fill:before { + content: "\e68a"; +} + +.uicon-qzone:before { + content: "\e695"; +} + +.uicon-qzone-circle-fill:before { + content: "\e696"; +} + +.uicon-moments-circel-fill:before { + content: "\e69a"; +} + +.uicon-moments:before { + content: "\e69b"; +} + +.uicon-qq-circle-fill:before { + content: "\e6a0"; +} + +.uicon-qq-fill:before { + content: "\e6a1"; +} + +.uicon-weibo:before { + content: "\e6a4"; +} + +.uicon-weibo-circle-fill:before { + content: "\e6a5"; +} + +.uicon-taobao:before { + content: "\e6a6"; +} + +.uicon-taobao-circle-fill:before { + content: "\e6a7"; +} + +.uicon-twitter:before { + content: "\e6aa"; +} + +.uicon-twitter-circle-fill:before { + content: "\e6ab"; +} + +.uicon-weixin-circle-fill:before { + content: "\e6b1"; +} + +.uicon-weixin-fill:before { + content: "\e6b2"; +} + +.uicon-zhifubao-circle-fill:before { + content: "\e6b8"; +} + +.uicon-zhifubao:before { + content: "\e6b9"; +} + +.uicon-zhihu:before { + content: "\e6ba"; +} + +.uicon-zhihu-circle-fill:before { + content: "\e709"; +} + +.uicon-list:before { + content: "\e650"; +} + +.uicon-list-dot:before { + content: "\e616"; +} + +.uicon-setting:before { + content: "\e61f"; +} + +.uicon-bell:before { + content: "\e609"; +} + +.uicon-bell-fill:before { + content: "\e640"; +} + +.uicon-attach:before { + content: "\e632"; +} + +.uicon-shopping-cart:before { + content: "\e621"; +} + +.uicon-shopping-cart-fill:before { + content: "\e65d"; +} + +.uicon-tags:before { + content: "\e629"; +} + +.uicon-share:before { + content: "\e631"; +} + +.uicon-question-circle-fill:before { + content: "\e666"; +} + +.uicon-question-circle:before { + content: "\e625"; +} + +.uicon-error-circle:before { + content: "\e624"; +} + +.uicon-checkmark-circle:before { + content: "\e63d"; +} + +.uicon-close-circle:before { + content: "\e63f"; +} + +.uicon-info-circle:before { + content: "\e660"; +} + +.uicon-md-person-add:before { + content: "\e6e4"; +} + +.uicon-md-person-fill:before { + content: "\e6ea"; +} + +.uicon-bag-fill:before { + content: "\e617"; +} + +.uicon-bag:before { + content: "\e619"; +} + +.uicon-chat-fill:before { + content: "\e61e"; +} + +.uicon-chat:before { + content: "\e620"; +} + +.uicon-more-circle:before { + content: "\e63e"; +} + +.uicon-more-circle-fill:before { + content: "\e645"; +} + +.uicon-volume:before { + content: "\e66c"; +} + +.uicon-volume-fill:before { + content: "\e670"; +} + +.uicon-reload:before { + content: "\e788"; +} + +.uicon-camera:before { + content: "\e7d7"; +} + +.uicon-heart:before { + content: "\e7df"; +} + +.uicon-heart-fill:before { + content: "\e851"; +} + +.uicon-minus-square-fill:before { + content: "\e855"; +} + +.uicon-plus-square-fill:before { + content: "\e856"; +} + +.uicon-pushpin-fill:before { + content: "\e86e"; +} + +.uicon-camera-fill:before { + content: "\e870"; +} + +.uicon-setting-fill:before { + content: "\e872"; +} + +.uicon-google:before { + content: "\e87a"; +} + +.uicon-ie:before { + content: "\e87b"; +} + +.uicon-apple-fill:before { + content: "\e881"; +} + +.uicon-chrome-circle-fill:before { + content: "\e885"; +} + +.uicon-github-circle-fill:before { + content: "\e887"; +} + +.uicon-IE-circle-fill:before { + content: "\e889"; +} + +.uicon-google-circle-fill:before { + content: "\e88a"; +} + +.uicon-arrow-down:before { + content: "\e60d"; +} + +.uicon-arrow-left:before { + content: "\e60e"; +} + +.uicon-map:before { + content: "\e61d"; +} + +.uicon-man-add-fill:before { + content: "\e64c"; +} + +.uicon-tags-fill:before { + content: "\e651"; +} + +.uicon-arrow-leftward:before { + content: "\e601"; +} + +.uicon-arrow-rightward:before { + content: "\e603"; +} + +.uicon-arrow-downward:before { + content: "\e604"; +} + +.uicon-arrow-right:before { + content: "\e605"; +} + +.uicon-arrow-up:before { + content: "\e606"; +} + +.uicon-arrow-upward:before { + content: "\e607"; +} + +.uicon-bookmark:before { + content: "\e60a"; +} + +.uicon-eye:before { + content: "\e613"; +} + +.uicon-man-delete:before { + content: "\e61a"; +} + +.uicon-man-add:before { + content: "\e61c"; +} + +.uicon-trash:before { + content: "\e623"; +} + +.uicon-error-circle-fill:before { + content: "\e62c"; +} + +.uicon-calendar-fill:before { + content: "\e634"; +} + +.uicon-checkmark-circle-fill:before { + content: "\e635"; +} + +.uicon-close-circle-fill:before { + content: "\e637"; +} + +.uicon-clock-fill:before { + content: "\e638"; +} + +.uicon-checkmark:before { + content: "\e63a"; +} + +.uicon-download:before { + content: "\e63c"; +} + +.uicon-eye-fill:before { + content: "\e641"; +} + +.uicon-mic-off:before { + content: "\e649"; +} + +.uicon-mic:before { + content: "\e64a"; +} + +.uicon-info-circle-fill:before { + content: "\e64b"; +} + +.uicon-map-fill:before { + content: "\e64e"; +} + +.uicon-trash-fill:before { + content: "\e658"; +} + +.uicon-volume-off-fill:before { + content: "\e659"; +} + +.uicon-volume-up-fill:before { + content: "\e65a"; +} + +.uicon-share-fill:before { + content: "\e65e"; +} diff --git a/components/uview-ui/index.js b/components/uview-ui/index.js new file mode 100644 index 0000000..651c090 --- /dev/null +++ b/components/uview-ui/index.js @@ -0,0 +1,79 @@ +// 看到此报错,是因为没有配置vue.config.js的【transpileDependencies】,详见:https://www.uviewui.com/components/npmSetting.html#_5-cli模式额外配置 +const pleaseSetTranspileDependencies = {}, babelTest = pleaseSetTranspileDependencies?.test + + + +// 引入全局mixin +import mixin from './libs/mixin/mixin.js' +// 小程序特有的mixin +import mpMixin from './libs/mixin/mpMixin.js' +// 全局挂载引入http相关请求拦截插件 +import Request from './libs/luch-request' + +// 路由封装 +import route from './libs/util/route.js' +// 颜色渐变相关,colorGradient-颜色渐变,hexToRgb-十六进制颜色转rgb颜色,rgbToHex-rgb转十六进制 +import colorGradient from './libs/function/colorGradient.js' + +// 规则检验 +import test from './libs/function/test.js' +// 防抖方法 +import debounce from './libs/function/debounce.js' +// 节流方法 +import throttle from './libs/function/throttle.js' +// 公共文件写入的方法 +import index from './libs/function/index.js' + +// 配置信息 +import config from './libs/config/config.js' +// props配置信息 +import props from './libs/config/props.js' +// 各个需要fixed的地方的z-index配置文件 +import zIndex from './libs/config/zIndex.js' +// 关于颜色的配置,特殊场景使用 +import color from './libs/config/color.js' +// 平台 +import platform from './libs/function/platform' + +const $u = { + route, + date: index.timeFormat, // 另名date + colorGradient: colorGradient.colorGradient, + hexToRgb: colorGradient.hexToRgb, + rgbToHex: colorGradient.rgbToHex, + colorToRgba: colorGradient.colorToRgba, + test, + type: ['primary', 'success', 'error', 'warning', 'info'], + http: new Request(), + config, // uView配置信息相关,比如版本号 + zIndex, + debounce, + throttle, + mixin, + mpMixin, + props, + ...index, + color, + platform +} + +// $u挂载到uni对象上 +uni.$u = $u + +const install = (Vue) => { + // 时间格式化,同时两个名称,date和timeFormat + Vue.filter('timeFormat', (timestamp, format) => uni.$u.timeFormat(timestamp, format)) + Vue.filter('date', (timestamp, format) => uni.$u.timeFormat(timestamp, format)) + // 将多久以前的方法,注入到全局过滤器 + Vue.filter('timeFrom', (timestamp, format) => uni.$u.timeFrom(timestamp, format)) + // 同时挂载到uni和Vue.prototype中 + // #ifndef APP-NVUE + // 只有vue,挂载到Vue.prototype才有意义,因为nvue中全局Vue.prototype和Vue.mixin是无效的 + Vue.prototype.$u = $u + Vue.mixin(mixin) + // #endif +} + +export default { + install +} diff --git a/components/uview-ui/index.scss b/components/uview-ui/index.scss new file mode 100644 index 0000000..8fcfa83 --- /dev/null +++ b/components/uview-ui/index.scss @@ -0,0 +1,23 @@ +// 引入公共基础类 +@import "./libs/css/common.scss"; +@import "./libs/css/color.scss"; + +// 非nvue的样式 +/* #ifndef APP-NVUE */ +@import "./libs/css/vue.scss"; +/* #endif */ + +// nvue的特有样式 +/* #ifdef APP-NVUE */ +@import "./libs/css/nvue.scss"; +/* #endif */ + +// 小程序特有的样式 +/* #ifdef MP */ +@import "./libs/css/mp.scss"; +/* #endif */ + +// H5特有的样式 +/* #ifdef H5 */ +@import "./libs/css/h5.scss"; +/* #endif */ \ No newline at end of file diff --git a/components/uview-ui/libs/config/color.js b/components/uview-ui/libs/config/color.js new file mode 100644 index 0000000..56b4187 --- /dev/null +++ b/components/uview-ui/libs/config/color.js @@ -0,0 +1,17 @@ +// 为了让用户能够自定义主题,会逐步弃用此文件,各颜色通过css提供 +// 为了给某些特殊场景使用和向后兼容,无需删除此文件(2020-06-20) +const color = { + primary: '#3c9cff', + info: '#909399', + default: '#909399', + warning: '#f9ae3d', + error: '#f56c6c', + success: '#5ac725', + mainColor: '#303133', + contentColor: '#606266', + tipsColor: '#909399', + lightColor: '#c0c4cc', + borderColor: '#e4e7ed' +} + +export default color diff --git a/components/uview-ui/libs/config/config.js b/components/uview-ui/libs/config/config.js new file mode 100644 index 0000000..82b3c69 --- /dev/null +++ b/components/uview-ui/libs/config/config.js @@ -0,0 +1,34 @@ +// 此版本发布于2024-03-17 +const version = '2.0.37' + +// 开发环境才提示,生产环境不会提示 +if (process.env.NODE_ENV === 'development') { + console.log(`\n %c uView V${version} %c https://uviewui.com/ \n\n`, 'color: #ffffff; background: #3c9cff; padding:5px 0; border-radius: 5px;'); +} + +export default { + v: version, + version, + // 主题名称 + type: [ + 'primary', + 'success', + 'info', + 'error', + 'warning' + ], + // 颜色部分,本来可以通过scss的:export导出供js使用,但是奈何nvue不支持 + color: { + 'u-primary': '#2979ff', + 'u-warning': '#ff9900', + 'u-success': '#19be6b', + 'u-error': '#fa3534', + 'u-info': '#909399', + 'u-main-color': '#303133', + 'u-content-color': '#606266', + 'u-tips-color': '#909399', + 'u-light-color': '#c0c4cc' + }, + // 默认单位,可以通过配置为rpx,那么在用于传入组件大小参数为数值时,就默认为rpx + unit: 'px' +} diff --git a/components/uview-ui/libs/config/props.js b/components/uview-ui/libs/config/props.js new file mode 100644 index 0000000..6930d48 --- /dev/null +++ b/components/uview-ui/libs/config/props.js @@ -0,0 +1,190 @@ +/** + * 此文件的作用为统一配置所有组件的props参数 + * 借此用户可以全局覆盖组件的props默认值 + * 无需在每个引入组件的页面中都配置一次 + */ +import config from './config' + +import actionSheet from './props/actionSheet.js' +import album from './props/album.js' +import alert from './props/alert.js' +import avatar from './props/avatar' +import avatarGroup from './props/avatarGroup' +import backtop from './props/backtop' +import badge from './props/badge' +import button from './props/button' +import calendar from './props/calendar' +import carKeyboard from './props/carKeyboard' +import cell from './props/cell' +import cellGroup from './props/cellGroup' +import checkbox from './props/checkbox' +import checkboxGroup from './props/checkboxGroup' +import circleProgress from './props/circleProgress' +import code from './props/code' +import codeInput from './props/codeInput' +import col from './props/col' +import collapse from './props/collapse' +import collapseItem from './props/collapseItem' +import columnNotice from './props/columnNotice' +import countDown from './props/countDown' +import countTo from './props/countTo' +import datetimePicker from './props/datetimePicker' +import divider from './props/divider' +import empty from './props/empty' +import form from './props/form' +import formItem from './props/formItem' +import gap from './props/gap' +import grid from './props/grid' +import gridItem from './props/gridItem' +import icon from './props/icon' +import image from './props/image' +import indexAnchor from './props/indexAnchor' +import indexList from './props/indexList' +import input from './props/input' +import keyboard from './props/keyboard' +import line from './props/line' +import lineProgress from './props/lineProgress' +import link from './props/link' +import list from './props/list' +import listItem from './props/listItem' +import loadingIcon from './props/loadingIcon' +import loadingPage from './props/loadingPage' +import loadmore from './props/loadmore' +import modal from './props/modal' +import navbar from './props/navbar' +import noNetwork from './props/noNetwork' +import noticeBar from './props/noticeBar' +import notify from './props/notify' +import numberBox from './props/numberBox' +import numberKeyboard from './props/numberKeyboard' +import overlay from './props/overlay' +import parse from './props/parse' +import picker from './props/picker' +import popup from './props/popup' +import radio from './props/radio' +import radioGroup from './props/radioGroup' +import rate from './props/rate' +import readMore from './props/readMore' +import row from './props/row' +import rowNotice from './props/rowNotice' +import scrollList from './props/scrollList' +import search from './props/search' +import section from './props/section' +import skeleton from './props/skeleton' +import slider from './props/slider' +import statusBar from './props/statusBar' +import steps from './props/steps' +import stepsItem from './props/stepsItem' +import sticky from './props/sticky' +import subsection from './props/subsection' +import swipeAction from './props/swipeAction' +import swipeActionItem from './props/swipeActionItem' +import swiper from './props/swiper' +import swipterIndicator from './props/swipterIndicator' +import _switch from './props/switch' +import tabbar from './props/tabbar' +import tabbarItem from './props/tabbarItem' +import tabs from './props/tabs' +import tag from './props/tag' +import text from './props/text' +import textarea from './props/textarea' +import toast from './props/toast' +import toolbar from './props/toolbar' +import tooltip from './props/tooltip' +import transition from './props/transition' +import upload from './props/upload' + +const { + color +} = config + +export default { + ...actionSheet, + ...album, + ...alert, + ...avatar, + ...avatarGroup, + ...backtop, + ...badge, + ...button, + ...calendar, + ...carKeyboard, + ...cell, + ...cellGroup, + ...checkbox, + ...checkboxGroup, + ...circleProgress, + ...code, + ...codeInput, + ...col, + ...collapse, + ...collapseItem, + ...columnNotice, + ...countDown, + ...countTo, + ...datetimePicker, + ...divider, + ...empty, + ...form, + ...formItem, + ...gap, + ...grid, + ...gridItem, + ...icon, + ...image, + ...indexAnchor, + ...indexList, + ...input, + ...keyboard, + ...line, + ...lineProgress, + ...link, + ...list, + ...listItem, + ...loadingIcon, + ...loadingPage, + ...loadmore, + ...modal, + ...navbar, + ...noNetwork, + ...noticeBar, + ...notify, + ...numberBox, + ...numberKeyboard, + ...overlay, + ...parse, + ...picker, + ...popup, + ...radio, + ...radioGroup, + ...rate, + ...readMore, + ...row, + ...rowNotice, + ...scrollList, + ...search, + ...section, + ...skeleton, + ...slider, + ...statusBar, + ...steps, + ...stepsItem, + ...sticky, + ...subsection, + ...swipeAction, + ...swipeActionItem, + ...swiper, + ...swipterIndicator, + ..._switch, + ...tabbar, + ...tabbarItem, + ...tabs, + ...tag, + ...text, + ...textarea, + ...toast, + ...toolbar, + ...tooltip, + ...transition, + ...upload +} diff --git a/components/uview-ui/libs/config/props/actionSheet.js b/components/uview-ui/libs/config/props/actionSheet.js new file mode 100644 index 0000000..d8061a7 --- /dev/null +++ b/components/uview-ui/libs/config/props/actionSheet.js @@ -0,0 +1,25 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 16:44:35 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/actionSheet.js + */ +export default { + // action-sheet组件 + actionSheet: { + show: false, + title: '', + description: '', + actions: () => [], + index: '', + cancelText: '', + closeOnClickAction: true, + safeAreaInsetBottom: true, + openType: '', + closeOnClickOverlay: true, + round: 0 + } +} diff --git a/components/uview-ui/libs/config/props/album.js b/components/uview-ui/libs/config/props/album.js new file mode 100644 index 0000000..8877326 --- /dev/null +++ b/components/uview-ui/libs/config/props/album.js @@ -0,0 +1,25 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 16:47:24 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/album.js + */ +export default { + // album 组件 + album: { + urls: () => [], + keyName: '', + singleSize: 180, + multipleSize: 70, + space: 6, + singleMode: 'scaleToFill', + multipleMode: 'aspectFill', + maxCount: 9, + previewFullImage: true, + rowCount: 3, + showMore: true + } +} diff --git a/components/uview-ui/libs/config/props/alert.js b/components/uview-ui/libs/config/props/alert.js new file mode 100644 index 0000000..8f8182c --- /dev/null +++ b/components/uview-ui/libs/config/props/alert.js @@ -0,0 +1,22 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 16:48:53 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/alert.js + */ +export default { + // alert警告组件 + alert: { + title: '', + type: 'warning', + description: '', + closable: false, + showIcon: false, + effect: 'light', + center: false, + fontSize: 14 + } +} diff --git a/components/uview-ui/libs/config/props/avatar.js b/components/uview-ui/libs/config/props/avatar.js new file mode 100644 index 0000000..c097d4e --- /dev/null +++ b/components/uview-ui/libs/config/props/avatar.js @@ -0,0 +1,28 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 16:49:22 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/avatar.js + */ +export default { + // avatar 组件 + avatar: { + src: '', + shape: 'circle', + size: 40, + mode: 'scaleToFill', + text: '', + bgColor: '#c0c4cc', + color: '#ffffff', + fontSize: 18, + icon: '', + mpAvatar: false, + randomBgColor: false, + defaultUrl: '', + colorIndex: '', + name: '' + } +} diff --git a/components/uview-ui/libs/config/props/avatarGroup.js b/components/uview-ui/libs/config/props/avatarGroup.js new file mode 100644 index 0000000..f4a66c3 --- /dev/null +++ b/components/uview-ui/libs/config/props/avatarGroup.js @@ -0,0 +1,23 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 16:49:55 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/avatarGroup.js + */ +export default { + // avatarGroup 组件 + avatarGroup: { + urls: () => [], + maxCount: 5, + shape: 'circle', + mode: 'scaleToFill', + showMore: true, + size: 40, + keyName: '', + gap: 0.5, + extraValue: 0 + } +} diff --git a/components/uview-ui/libs/config/props/backtop.js b/components/uview-ui/libs/config/props/backtop.js new file mode 100644 index 0000000..80f17d0 --- /dev/null +++ b/components/uview-ui/libs/config/props/backtop.js @@ -0,0 +1,27 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 16:50:18 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/backtop.js + */ +export default { + // backtop组件 + backtop: { + mode: 'circle', + icon: 'arrow-upward', + text: '', + duration: 100, + scrollTop: 0, + top: 400, + bottom: 100, + right: 20, + zIndex: 9, + iconStyle: () => ({ + color: '#909399', + fontSize: '19px' + }) + } +} diff --git a/components/uview-ui/libs/config/props/badge.js b/components/uview-ui/libs/config/props/badge.js new file mode 100644 index 0000000..44ee7cc --- /dev/null +++ b/components/uview-ui/libs/config/props/badge.js @@ -0,0 +1,27 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-23 19:51:50 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/badge.js + */ +export default { + // 徽标数组件 + badge: { + isDot: false, + value: '', + show: true, + max: 999, + type: 'error', + showZero: false, + bgColor: null, + color: null, + shape: 'circle', + numberType: 'overflow', + offset: () => [], + inverted: false, + absolute: false + } +} diff --git a/components/uview-ui/libs/config/props/button.js b/components/uview-ui/libs/config/props/button.js new file mode 100644 index 0000000..acd65fc --- /dev/null +++ b/components/uview-ui/libs/config/props/button.js @@ -0,0 +1,42 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 16:51:27 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/button.js + */ +export default { + // button组件 + button: { + hairline: false, + type: 'info', + size: 'normal', + shape: 'square', + plain: false, + disabled: false, + loading: false, + loadingText: '', + loadingMode: 'spinner', + loadingSize: 15, + openType: '', + formType: '', + appParameter: '', + hoverStopPropagation: true, + lang: 'en', + sessionFrom: '', + sendMessageTitle: '', + sendMessagePath: '', + sendMessageImg: '', + showMessageCard: false, + dataName: '', + throttleTime: 0, + hoverStartTime: 0, + hoverStayTime: 200, + text: '', + icon: '', + iconColor: '', + color: '' + } +} diff --git a/components/uview-ui/libs/config/props/calendar.js b/components/uview-ui/libs/config/props/calendar.js new file mode 100644 index 0000000..bfd2bd6 --- /dev/null +++ b/components/uview-ui/libs/config/props/calendar.js @@ -0,0 +1,42 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 16:52:43 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/calendar.js + */ +export default { + // calendar 组件 + calendar: { + title: '日期选择', + showTitle: true, + showSubtitle: true, + mode: 'single', + startText: '开始', + endText: '结束', + customList: () => [], + color: '#3c9cff', + minDate: 0, + maxDate: 0, + defaultDate: null, + maxCount: Number.MAX_SAFE_INTEGER, // Infinity + rowHeight: 56, + formatter: null, + showLunar: false, + showMark: true, + confirmText: '确定', + confirmDisabledText: '确定', + show: false, + closeOnClickOverlay: false, + readonly: false, + showConfirm: true, + maxRange: Number.MAX_SAFE_INTEGER, // Infinity + rangePrompt: '', + showRangePrompt: true, + allowSameDay: false, + round: 0, + monthNum: 3 + } +} diff --git a/components/uview-ui/libs/config/props/carKeyboard.js b/components/uview-ui/libs/config/props/carKeyboard.js new file mode 100644 index 0000000..af1baa0 --- /dev/null +++ b/components/uview-ui/libs/config/props/carKeyboard.js @@ -0,0 +1,15 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 16:53:20 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/carKeyboard.js + */ +export default { + // 车牌号键盘 + carKeyboard: { + random: false + } +} diff --git a/components/uview-ui/libs/config/props/cell.js b/components/uview-ui/libs/config/props/cell.js new file mode 100644 index 0000000..425ea3f --- /dev/null +++ b/components/uview-ui/libs/config/props/cell.js @@ -0,0 +1,35 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-23 20:53:09 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/cell.js + */ +export default { + // cell组件的props + cell: { + customClass: '', + title: '', + label: '', + value: '', + icon: '', + disabled: false, + border: true, + center: false, + url: '', + linkType: 'navigateTo', + clickable: false, + isLink: false, + required: false, + arrowDirection: '', + iconStyle: {}, + rightIconStyle: {}, + rightIcon: 'arrow-right', + titleStyle: {}, + size: '', + stop: true, + name: '' + } +} diff --git a/components/uview-ui/libs/config/props/cellGroup.js b/components/uview-ui/libs/config/props/cellGroup.js new file mode 100644 index 0000000..d48a9cd --- /dev/null +++ b/components/uview-ui/libs/config/props/cellGroup.js @@ -0,0 +1,17 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 16:54:16 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/cellGroup.js + */ +export default { + // cell-group组件的props + cellGroup: { + title: '', + border: true, + customStyle: {} + } +} diff --git a/components/uview-ui/libs/config/props/checkbox.js b/components/uview-ui/libs/config/props/checkbox.js new file mode 100644 index 0000000..2310901 --- /dev/null +++ b/components/uview-ui/libs/config/props/checkbox.js @@ -0,0 +1,27 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-23 21:06:59 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/checkbox.js + */ +export default { + // checkbox组件 + checkbox: { + name: '', + shape: '', + size: '', + checkbox: false, + disabled: '', + activeColor: '', + inactiveColor: '', + iconSize: '', + iconColor: '', + label: '', + labelSize: '', + labelColor: '', + labelDisabled: '' + } +} diff --git a/components/uview-ui/libs/config/props/checkboxGroup.js b/components/uview-ui/libs/config/props/checkboxGroup.js new file mode 100644 index 0000000..8798fa4 --- /dev/null +++ b/components/uview-ui/libs/config/props/checkboxGroup.js @@ -0,0 +1,29 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 16:54:47 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/checkboxGroup.js + */ +export default { + // checkbox-group组件 + checkboxGroup: { + name: '', + value: () => [], + shape: 'square', + disabled: false, + activeColor: '#2979ff', + inactiveColor: '#c8c9cc', + size: 18, + placement: 'row', + labelSize: 14, + labelColor: '#303133', + labelDisabled: false, + iconColor: '#ffffff', + iconSize: 12, + iconPlacement: 'left', + borderBottom: false + } +} diff --git a/components/uview-ui/libs/config/props/circleProgress.js b/components/uview-ui/libs/config/props/circleProgress.js new file mode 100644 index 0000000..b3a9b43 --- /dev/null +++ b/components/uview-ui/libs/config/props/circleProgress.js @@ -0,0 +1,15 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 16:55:02 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/circleProgress.js + */ +export default { + // circleProgress 组件 + circleProgress: { + percentage: 30 + } +} diff --git a/components/uview-ui/libs/config/props/code.js b/components/uview-ui/libs/config/props/code.js new file mode 100644 index 0000000..693417a --- /dev/null +++ b/components/uview-ui/libs/config/props/code.js @@ -0,0 +1,21 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 16:55:27 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/code.js + */ + +export default { + // code 组件 + code: { + seconds: 60, + startText: '获取验证码', + changeText: 'X秒重新获取', + endText: '重新获取', + keepRunning: false, + uniqueKey: '' + } +} diff --git a/components/uview-ui/libs/config/props/codeInput.js b/components/uview-ui/libs/config/props/codeInput.js new file mode 100644 index 0000000..cac9265 --- /dev/null +++ b/components/uview-ui/libs/config/props/codeInput.js @@ -0,0 +1,29 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 16:55:58 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/codeInput.js + */ +export default { + // codeInput 组件 + codeInput: { + adjustPosition: true, + maxlength: 6, + dot: false, + mode: 'box', + hairline: false, + space: 10, + value: '', + focus: false, + bold: false, + color: '#606266', + fontSize: 18, + size: 35, + disabledKeyboard: false, + borderColor: '#c9cacc', + disabledDot: true + } +} diff --git a/components/uview-ui/libs/config/props/col.js b/components/uview-ui/libs/config/props/col.js new file mode 100644 index 0000000..7621653 --- /dev/null +++ b/components/uview-ui/libs/config/props/col.js @@ -0,0 +1,19 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 16:56:12 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/col.js + */ +export default { + // col 组件 + col: { + span: 12, + offset: 0, + justify: 'start', + align: 'stretch', + textAlign: 'left' + } +} diff --git a/components/uview-ui/libs/config/props/collapse.js b/components/uview-ui/libs/config/props/collapse.js new file mode 100644 index 0000000..c2b9fdd --- /dev/null +++ b/components/uview-ui/libs/config/props/collapse.js @@ -0,0 +1,17 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 16:56:30 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/collapse.js + */ +export default { + // collapse 组件 + collapse: { + value: null, + accordion: false, + border: true + } +} diff --git a/components/uview-ui/libs/config/props/collapseItem.js b/components/uview-ui/libs/config/props/collapseItem.js new file mode 100644 index 0000000..74ce682 --- /dev/null +++ b/components/uview-ui/libs/config/props/collapseItem.js @@ -0,0 +1,25 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 16:56:42 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/collapseItem.js + */ +export default { + // collapseItem 组件 + collapseItem: { + title: '', + value: '', + label: '', + disabled: false, + isLink: true, + clickable: true, + border: true, + align: 'left', + name: '', + icon: '', + duration: 300 + } +} diff --git a/components/uview-ui/libs/config/props/columnNotice.js b/components/uview-ui/libs/config/props/columnNotice.js new file mode 100644 index 0000000..147c0aa --- /dev/null +++ b/components/uview-ui/libs/config/props/columnNotice.js @@ -0,0 +1,24 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 16:57:16 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/columnNotice.js + */ +export default { + // columnNotice 组件 + columnNotice: { + text: '', + icon: 'volume', + mode: '', + color: '#f9ae3d', + bgColor: '#fdf6ec', + fontSize: 14, + speed: 80, + step: false, + duration: 1500, + disableTouch: true + } +} diff --git a/components/uview-ui/libs/config/props/countDown.js b/components/uview-ui/libs/config/props/countDown.js new file mode 100644 index 0000000..81e33b1 --- /dev/null +++ b/components/uview-ui/libs/config/props/countDown.js @@ -0,0 +1,18 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:11:29 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/countDown.js + */ +export default { + // u-count-down 计时器组件 + countDown: { + time: 0, + format: 'HH:mm:ss', + autoStart: true, + millisecond: false + } +} diff --git a/components/uview-ui/libs/config/props/countTo.js b/components/uview-ui/libs/config/props/countTo.js new file mode 100644 index 0000000..a536cde --- /dev/null +++ b/components/uview-ui/libs/config/props/countTo.js @@ -0,0 +1,25 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 16:57:32 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/countTo.js + */ +export default { + // countTo 组件 + countTo: { + startVal: 0, + endVal: 0, + duration: 2000, + autoplay: true, + decimals: 0, + useEasing: true, + decimal: '.', + color: '#606266', + fontSize: 22, + bold: false, + separator: '' + } +} diff --git a/components/uview-ui/libs/config/props/datetimePicker.js b/components/uview-ui/libs/config/props/datetimePicker.js new file mode 100644 index 0000000..4f90966 --- /dev/null +++ b/components/uview-ui/libs/config/props/datetimePicker.js @@ -0,0 +1,36 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 16:57:48 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/datetimePicker.js + */ +export default { + // datetimePicker 组件 + datetimePicker: { + show: false, + showToolbar: true, + value: '', + title: '', + mode: 'datetime', + maxDate: new Date(new Date().getFullYear() + 10, 0, 1).getTime(), + minDate: new Date(new Date().getFullYear() - 10, 0, 1).getTime(), + minHour: 0, + maxHour: 23, + minMinute: 0, + maxMinute: 59, + filter: null, + formatter: null, + loading: false, + itemHeight: 44, + cancelText: '取消', + confirmText: '确认', + cancelColor: '#909193', + confirmColor: '#3c9cff', + visibleItemCount: 5, + closeOnClickOverlay: false, + defaultIndex: () => [] + } +} diff --git a/components/uview-ui/libs/config/props/divider.js b/components/uview-ui/libs/config/props/divider.js new file mode 100644 index 0000000..55a8ce4 --- /dev/null +++ b/components/uview-ui/libs/config/props/divider.js @@ -0,0 +1,23 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 16:58:03 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/divider.js + */ +export default { + // divider组件 + divider: { + dashed: false, + hairline: true, + dot: false, + textPosition: 'center', + text: '', + textSize: 14, + textColor: '#909399', + lineColor: '#dcdfe6' + } + +} diff --git a/components/uview-ui/libs/config/props/empty.js b/components/uview-ui/libs/config/props/empty.js new file mode 100644 index 0000000..fe20445 --- /dev/null +++ b/components/uview-ui/libs/config/props/empty.js @@ -0,0 +1,26 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:03:27 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/empty.js + */ +export default { + // empty组件 + empty: { + icon: '', + text: '', + textColor: '#c0c4cc', + textSize: 14, + iconColor: '#c0c4cc', + iconSize: 90, + mode: 'data', + width: 160, + height: 160, + show: true, + marginTop: 0 + } + +} diff --git a/components/uview-ui/libs/config/props/form.js b/components/uview-ui/libs/config/props/form.js new file mode 100644 index 0000000..41b122e --- /dev/null +++ b/components/uview-ui/libs/config/props/form.js @@ -0,0 +1,22 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:03:49 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/form.js + */ +export default { + // form 组件 + form: { + model: () => ({}), + rules: () => ({}), + errorType: 'message', + borderBottom: true, + labelPosition: 'left', + labelWidth: 45, + labelAlign: 'left', + labelStyle: () => ({}) + } +} diff --git a/components/uview-ui/libs/config/props/formItem.js b/components/uview-ui/libs/config/props/formItem.js new file mode 100644 index 0000000..4b7c90a --- /dev/null +++ b/components/uview-ui/libs/config/props/formItem.js @@ -0,0 +1,23 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:04:32 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/formItem.js + */ +export default { + // formItem 组件 + formItem: { + label: '', + prop: '', + borderBottom: '', + labelPosition: '', + labelWidth: '', + rightIcon: '', + leftIcon: '', + required: false, + leftIconStyle: '', + } +} diff --git a/components/uview-ui/libs/config/props/gap.js b/components/uview-ui/libs/config/props/gap.js new file mode 100644 index 0000000..60a21af --- /dev/null +++ b/components/uview-ui/libs/config/props/gap.js @@ -0,0 +1,19 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:05:25 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/gap.js + */ +export default { + // gap组件 + gap: { + bgColor: 'transparent', + height: 20, + marginTop: 0, + marginBottom: 0, + customStyle: {} + } +} diff --git a/components/uview-ui/libs/config/props/grid.js b/components/uview-ui/libs/config/props/grid.js new file mode 100644 index 0000000..60abeb7 --- /dev/null +++ b/components/uview-ui/libs/config/props/grid.js @@ -0,0 +1,17 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:05:57 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/grid.js + */ +export default { + // grid组件 + grid: { + col: 3, + border: false, + align: 'left' + } +} diff --git a/components/uview-ui/libs/config/props/gridItem.js b/components/uview-ui/libs/config/props/gridItem.js new file mode 100644 index 0000000..1b747f4 --- /dev/null +++ b/components/uview-ui/libs/config/props/gridItem.js @@ -0,0 +1,16 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:06:13 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/gridItem.js + */ +export default { + // grid-item组件 + gridItem: { + name: null, + bgColor: 'transparent' + } +} diff --git a/components/uview-ui/libs/config/props/icon.js b/components/uview-ui/libs/config/props/icon.js new file mode 100644 index 0000000..1d81d2d --- /dev/null +++ b/components/uview-ui/libs/config/props/icon.js @@ -0,0 +1,36 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 18:00:14 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/icon.js + */ +import config from '../config' + +const { + color +} = config +export default { + // icon组件 + icon: { + name: '', + color: color['u-content-color'], + size: '16px', + bold: false, + index: '', + hoverClass: '', + customPrefix: 'uicon', + label: '', + labelPos: 'right', + labelSize: '15px', + labelColor: color['u-content-color'], + space: '3px', + imgMode: '', + width: '', + height: '', + top: 0, + stop: false + } +} diff --git a/components/uview-ui/libs/config/props/image.js b/components/uview-ui/libs/config/props/image.js new file mode 100644 index 0000000..2552db6 --- /dev/null +++ b/components/uview-ui/libs/config/props/image.js @@ -0,0 +1,30 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:01:51 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/image.js + */ +export default { + // image组件 + image: { + src: '', + mode: 'aspectFill', + width: '300', + height: '225', + shape: 'square', + radius: 0, + lazyLoad: true, + showMenuByLongpress: true, + loadingIcon: 'photo', + errorIcon: 'error-circle', + showLoading: true, + showError: true, + fade: true, + webp: false, + duration: 500, + bgColor: '#f3f4f6' + } +} diff --git a/components/uview-ui/libs/config/props/indexAnchor.js b/components/uview-ui/libs/config/props/indexAnchor.js new file mode 100644 index 0000000..bb20d46 --- /dev/null +++ b/components/uview-ui/libs/config/props/indexAnchor.js @@ -0,0 +1,19 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:13:15 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/indexAnchor.js + */ +export default { + // indexAnchor 组件 + indexAnchor: { + text: '', + color: '#606266', + size: 14, + bgColor: '#dedede', + height: 32 + } +} diff --git a/components/uview-ui/libs/config/props/indexList.js b/components/uview-ui/libs/config/props/indexList.js new file mode 100644 index 0000000..dc6ce94 --- /dev/null +++ b/components/uview-ui/libs/config/props/indexList.js @@ -0,0 +1,19 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:13:35 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/indexList.js + */ +export default { + // indexList 组件 + indexList: { + inactiveColor: '#606266', + activeColor: '#5677fc', + indexList: () => [], + sticky: true, + customNavHeight: 0 + } +} diff --git a/components/uview-ui/libs/config/props/input.js b/components/uview-ui/libs/config/props/input.js new file mode 100644 index 0000000..4f0edc6 --- /dev/null +++ b/components/uview-ui/libs/config/props/input.js @@ -0,0 +1,48 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:13:55 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/input.js + */ +export default { + // index 组件 + input: { + value: '', + type: 'text', + fixed: false, + disabled: false, + disabledColor: '#f5f7fa', + clearable: false, + password: false, + maxlength: -1, + placeholder: null, + placeholderClass: 'input-placeholder', + placeholderStyle: 'color: #c0c4cc', + showWordLimit: false, + confirmType: 'done', + confirmHold: false, + holdKeyboard: false, + focus: false, + autoBlur: false, + disableDefaultPadding: false, + cursor: -1, + cursorSpacing: 30, + selectionStart: -1, + selectionEnd: -1, + adjustPosition: true, + inputAlign: 'left', + fontSize: '15px', + color: '#303133', + prefixIcon: '', + prefixIconStyle: '', + suffixIcon: '', + suffixIconStyle: '', + border: 'surround', + readonly: false, + shape: 'square', + formatter: null + } +} diff --git a/components/uview-ui/libs/config/props/keyboard.js b/components/uview-ui/libs/config/props/keyboard.js new file mode 100644 index 0000000..57182bd --- /dev/null +++ b/components/uview-ui/libs/config/props/keyboard.js @@ -0,0 +1,30 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:07:49 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/keyboard.js + */ +export default { + // 键盘组件 + keyboard: { + mode: 'number', + dotDisabled: false, + tooltip: true, + showTips: true, + tips: '', + showCancel: true, + showConfirm: true, + random: false, + safeAreaInsetBottom: true, + closeOnClickOverlay: true, + show: false, + overlay: true, + zIndex: 10075, + cancelText: '取消', + confirmText: '确定', + autoChange: false + } +} diff --git a/components/uview-ui/libs/config/props/line.js b/components/uview-ui/libs/config/props/line.js new file mode 100644 index 0000000..2c87af2 --- /dev/null +++ b/components/uview-ui/libs/config/props/line.js @@ -0,0 +1,20 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:04:49 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/line.js + */ +export default { + // line组件 + line: { + color: '#d6d7d9', + length: '100%', + direction: 'row', + hairline: true, + margin: 0, + dashed: false + } +} diff --git a/components/uview-ui/libs/config/props/lineProgress.js b/components/uview-ui/libs/config/props/lineProgress.js new file mode 100644 index 0000000..cdfcb0e --- /dev/null +++ b/components/uview-ui/libs/config/props/lineProgress.js @@ -0,0 +1,19 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:14:11 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/lineProgress.js + */ +export default { + // lineProgress 组件 + lineProgress: { + activeColor: '#19be6b', + inactiveColor: '#ececec', + percentage: 0, + showText: true, + height: 12 + } +} diff --git a/components/uview-ui/libs/config/props/link.js b/components/uview-ui/libs/config/props/link.js new file mode 100644 index 0000000..6c4c883 --- /dev/null +++ b/components/uview-ui/libs/config/props/link.js @@ -0,0 +1,26 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:45:36 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/link.js + */ +import config from '../config' + +const { + color +} = config +export default { + // link超链接组件props参数 + link: { + color: color['u-primary'], + fontSize: 15, + underLine: false, + href: '', + mpTips: '链接已复制,请在浏览器打开', + lineColor: '', + text: '' + } +} diff --git a/components/uview-ui/libs/config/props/list.js b/components/uview-ui/libs/config/props/list.js new file mode 100644 index 0000000..a830c32 --- /dev/null +++ b/components/uview-ui/libs/config/props/list.js @@ -0,0 +1,28 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:14:53 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/list.js + */ +export default { + // list 组件 + list: { + showScrollbar: false, + lowerThreshold: 50, + upperThreshold: 0, + scrollTop: 0, + offsetAccuracy: 10, + enableFlex: false, + pagingEnabled: false, + scrollable: true, + scrollIntoView: '', + scrollWithAnimation: false, + enableBackToTop: false, + height: 0, + width: 0, + preLoadScreen: 1 + } +} diff --git a/components/uview-ui/libs/config/props/listItem.js b/components/uview-ui/libs/config/props/listItem.js new file mode 100644 index 0000000..7fe2166 --- /dev/null +++ b/components/uview-ui/libs/config/props/listItem.js @@ -0,0 +1,15 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:15:40 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/listItem.js + */ +export default { + // listItem 组件 + listItem: { + anchor: '' + } +} diff --git a/components/uview-ui/libs/config/props/loadingIcon.js b/components/uview-ui/libs/config/props/loadingIcon.js new file mode 100644 index 0000000..f4739c4 --- /dev/null +++ b/components/uview-ui/libs/config/props/loadingIcon.js @@ -0,0 +1,30 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:45:47 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/loadingIcon.js + */ +import config from '../config' + +const { + color +} = config +export default { + // loading-icon加载中图标组件 + loadingIcon: { + show: true, + color: color['u-tips-color'], + textColor: color['u-tips-color'], + vertical: false, + mode: 'spinner', + size: 24, + textSize: 15, + text: '', + timingFunction: 'ease-in-out', + duration: 1200, + inactiveColor: '' + } +} diff --git a/components/uview-ui/libs/config/props/loadingPage.js b/components/uview-ui/libs/config/props/loadingPage.js new file mode 100644 index 0000000..dc53109 --- /dev/null +++ b/components/uview-ui/libs/config/props/loadingPage.js @@ -0,0 +1,23 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:00:23 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/loadingPage.js + */ +export default { + // loading-page组件 + loadingPage: { + loadingText: '正在加载', + image: '', + loadingMode: 'circle', + loading: false, + bgColor: '#ffffff', + color: '#C8C8C8', + fontSize: 19, + iconSize: 28, + loadingColor: '#C8C8C8' + } +} diff --git a/components/uview-ui/libs/config/props/loadmore.js b/components/uview-ui/libs/config/props/loadmore.js new file mode 100644 index 0000000..67c1160 --- /dev/null +++ b/components/uview-ui/libs/config/props/loadmore.js @@ -0,0 +1,32 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:15:26 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/loadmore.js + */ +export default { + // loadmore 组件 + loadmore: { + status: 'loadmore', + bgColor: 'transparent', + icon: true, + fontSize: 14, + iconSize: 17, + color: '#606266', + loadingIcon: 'spinner', + loadmoreText: '加载更多', + loadingText: '正在加载...', + nomoreText: '没有更多了', + isDot: false, + iconColor: '#b7b7b7', + marginTop: 10, + marginBottom: 10, + height: 'auto', + line: false, + lineColor: '#E6E8EB', + dashed: false, + } +} diff --git a/components/uview-ui/libs/config/props/modal.js b/components/uview-ui/libs/config/props/modal.js new file mode 100644 index 0000000..a6db667 --- /dev/null +++ b/components/uview-ui/libs/config/props/modal.js @@ -0,0 +1,31 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:15:59 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/modal.js + */ +export default { + // modal 组件 + modal: { + show: false, + title: '', + content: '', + confirmText: '确认', + cancelText: '取消', + showConfirmButton: true, + showCancelButton: false, + confirmColor: '#2979ff', + cancelColor: '#606266', + buttonReverse: false, + zoom: true, + asyncClose: false, + closeOnClickOverlay: false, + negativeTop: 0, + width: '650rpx', + confirmButtonShape: '', + duration:400, + } +} diff --git a/components/uview-ui/libs/config/props/navbar.js b/components/uview-ui/libs/config/props/navbar.js new file mode 100644 index 0000000..614a99d --- /dev/null +++ b/components/uview-ui/libs/config/props/navbar.js @@ -0,0 +1,32 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:16:18 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/navbar.js + */ +import color from '../color' +export default { + // navbar 组件 + navbar: { + safeAreaInsetTop: true, + placeholder: false, + fixed: true, + border: false, + leftIcon: 'arrow-left', + leftText: '', + rightText: '', + rightIcon: '', + title: '', + bgColor: '#ffffff', + titleWidth: '400rpx', + height: '44px', + leftIconSize: 20, + leftIconColor: color.mainColor, + autoBack: false, + titleStyle: '' + } + +} diff --git a/components/uview-ui/libs/config/props/noNetwork.js b/components/uview-ui/libs/config/props/noNetwork.js new file mode 100644 index 0000000..74dba1b --- /dev/null +++ b/components/uview-ui/libs/config/props/noNetwork.js @@ -0,0 +1,18 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:16:39 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/noNetwork.js + */ +export default { + // noNetwork + noNetwork: { + tips: '哎呀,网络信号丢失', + zIndex: '', + image: 'data:image/png;base64,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' + } + +} diff --git a/components/uview-ui/libs/config/props/noticeBar.js b/components/uview-ui/libs/config/props/noticeBar.js new file mode 100644 index 0000000..02c660a --- /dev/null +++ b/components/uview-ui/libs/config/props/noticeBar.js @@ -0,0 +1,27 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:17:13 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/noticeBar.js + */ +export default { + // noticeBar + noticeBar: { + text: () => [], + direction: 'row', + step: false, + icon: 'volume', + mode: '', + color: '#f9ae3d', + bgColor: '#fdf6ec', + speed: 80, + fontSize: 14, + duration: 2000, + disableTouch: true, + url: '', + linkType: 'navigateTo' + } +} diff --git a/components/uview-ui/libs/config/props/notify.js b/components/uview-ui/libs/config/props/notify.js new file mode 100644 index 0000000..1042d2a --- /dev/null +++ b/components/uview-ui/libs/config/props/notify.js @@ -0,0 +1,22 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:10:21 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/notify.js + */ +export default { + // notify组件 + notify: { + top: 0, + type: 'primary', + color: '#ffffff', + bgColor: '', + message: '', + duration: 3000, + fontSize: 15, + safeAreaInsetTop: false + } +} diff --git a/components/uview-ui/libs/config/props/numberBox.js b/components/uview-ui/libs/config/props/numberBox.js new file mode 100644 index 0000000..424f0ca --- /dev/null +++ b/components/uview-ui/libs/config/props/numberBox.js @@ -0,0 +1,35 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:11:46 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/numberBox.js + */ +export default { + // 步进器组件 + numberBox: { + name: '', + value: 0, + min: 1, + max: Number.MAX_SAFE_INTEGER, + step: 1, + integer: false, + disabled: false, + disabledInput: false, + asyncChange: false, + inputWidth: 35, + showMinus: true, + showPlus: true, + decimalLength: null, + longPress: true, + color: '#323233', + buttonSize: 30, + bgColor: '#EBECEE', + cursorSpacing: 100, + disableMinus: false, + disablePlus: false, + iconStyle: '' + } +} diff --git a/components/uview-ui/libs/config/props/numberKeyboard.js b/components/uview-ui/libs/config/props/numberKeyboard.js new file mode 100644 index 0000000..7b45065 --- /dev/null +++ b/components/uview-ui/libs/config/props/numberKeyboard.js @@ -0,0 +1,17 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:08:05 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/numberKeyboard.js + */ +export default { + // 数字键盘 + numberKeyboard: { + mode: 'number', + dotDisabled: false, + random: false + } +} diff --git a/components/uview-ui/libs/config/props/overlay.js b/components/uview-ui/libs/config/props/overlay.js new file mode 100644 index 0000000..c26d068 --- /dev/null +++ b/components/uview-ui/libs/config/props/overlay.js @@ -0,0 +1,18 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:06:50 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/overlay.js + */ +export default { + // overlay组件 + overlay: { + show: false, + zIndex: 10070, + duration: 300, + opacity: 0.5 + } +} diff --git a/components/uview-ui/libs/config/props/parse.js b/components/uview-ui/libs/config/props/parse.js new file mode 100644 index 0000000..feb22b9 --- /dev/null +++ b/components/uview-ui/libs/config/props/parse.js @@ -0,0 +1,22 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:17:33 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/parse.js + */ +export default { + // parse + parse: { + copyLink: true, + errorImg: '', + lazyLoad: false, + loadingImg: '', + pauseVideo: true, + previewImg: true, + setTitle: true, + showImgMenu: true + } +} diff --git a/components/uview-ui/libs/config/props/picker.js b/components/uview-ui/libs/config/props/picker.js new file mode 100644 index 0000000..f06b321 --- /dev/null +++ b/components/uview-ui/libs/config/props/picker.js @@ -0,0 +1,29 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:18:20 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/picker.js + */ +export default { + // picker + picker: { + show: false, + showToolbar: true, + title: '', + columns: () => [], + loading: false, + itemHeight: 44, + cancelText: '取消', + confirmText: '确定', + cancelColor: '#909193', + confirmColor: '#3c9cff', + visibleItemCount: 5, + keyName: 'text', + closeOnClickOverlay: false, + defaultIndex: () => [], + immediateChange: false + } +} diff --git a/components/uview-ui/libs/config/props/popup.js b/components/uview-ui/libs/config/props/popup.js new file mode 100644 index 0000000..0cc1bc0 --- /dev/null +++ b/components/uview-ui/libs/config/props/popup.js @@ -0,0 +1,29 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:06:33 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/popup.js + */ +export default { + // popup组件 + popup: { + show: false, + overlay: true, + mode: 'bottom', + duration: 300, + closeable: false, + overlayStyle: () => {}, + closeOnClickOverlay: true, + zIndex: 10075, + safeAreaInsetBottom: true, + safeAreaInsetTop: false, + closeIconPos: 'top-right', + round: 0, + zoom: true, + bgColor: '', + overlayOpacity: 0.5 + } +} diff --git a/components/uview-ui/libs/config/props/radio.js b/components/uview-ui/libs/config/props/radio.js new file mode 100644 index 0000000..4df200f --- /dev/null +++ b/components/uview-ui/libs/config/props/radio.js @@ -0,0 +1,27 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:02:34 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/radio.js + */ +export default { + // radio组件 + radio: { + name: '', + shape: '', + disabled: '', + labelDisabled: '', + activeColor: '', + inactiveColor: '', + iconSize: '', + labelSize: '', + label: '', + labelColor: '', + size: '', + iconColor: '', + placement: '' + } +} diff --git a/components/uview-ui/libs/config/props/radioGroup.js b/components/uview-ui/libs/config/props/radioGroup.js new file mode 100644 index 0000000..728e9db --- /dev/null +++ b/components/uview-ui/libs/config/props/radioGroup.js @@ -0,0 +1,30 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:03:12 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/radioGroup.js + */ +export default { + // radio-group组件 + radioGroup: { + value: '', + disabled: false, + shape: 'circle', + activeColor: '#2979ff', + inactiveColor: '#c8c9cc', + name: '', + size: 18, + placement: 'row', + label: '', + labelColor: '#303133', + labelSize: 14, + labelDisabled: false, + iconColor: '#ffffff', + iconSize: 12, + borderBottom: false, + iconPlacement: 'left' + } +} diff --git a/components/uview-ui/libs/config/props/rate.js b/components/uview-ui/libs/config/props/rate.js new file mode 100644 index 0000000..d31c61a --- /dev/null +++ b/components/uview-ui/libs/config/props/rate.js @@ -0,0 +1,26 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:05:09 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/rate.js + */ +export default { + // rate组件 + rate: { + value: 1, + count: 5, + disabled: false, + size: 18, + inactiveColor: '#b2b2b2', + activeColor: '#FA3534', + gutter: 4, + minCount: 1, + allowHalf: false, + activeIcon: 'star-fill', + inactiveIcon: 'star', + touchable: true + } +} diff --git a/components/uview-ui/libs/config/props/readMore.js b/components/uview-ui/libs/config/props/readMore.js new file mode 100644 index 0000000..09b11cc --- /dev/null +++ b/components/uview-ui/libs/config/props/readMore.js @@ -0,0 +1,22 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:18:41 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/readMore.js + */ +export default { + // readMore + readMore: { + showHeight: 400, + toggle: false, + closeText: '展开阅读全文', + openText: '收起', + color: '#2979ff', + fontSize: 14, + textIndent: '2em', + name: '' + } +} diff --git a/components/uview-ui/libs/config/props/row.js b/components/uview-ui/libs/config/props/row.js new file mode 100644 index 0000000..573a431 --- /dev/null +++ b/components/uview-ui/libs/config/props/row.js @@ -0,0 +1,17 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:18:58 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/row.js + */ +export default { + // row + row: { + gutter: 0, + justify: 'start', + align: 'center' + } +} diff --git a/components/uview-ui/libs/config/props/rowNotice.js b/components/uview-ui/libs/config/props/rowNotice.js new file mode 100644 index 0000000..cd9d0a0 --- /dev/null +++ b/components/uview-ui/libs/config/props/rowNotice.js @@ -0,0 +1,21 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:19:13 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/rowNotice.js + */ +export default { + // rowNotice + rowNotice: { + text: '', + icon: 'volume', + mode: '', + color: '#f9ae3d', + bgColor: '#fdf6ec', + fontSize: 14, + speed: 80 + } +} diff --git a/components/uview-ui/libs/config/props/scrollList.js b/components/uview-ui/libs/config/props/scrollList.js new file mode 100644 index 0000000..441e63a --- /dev/null +++ b/components/uview-ui/libs/config/props/scrollList.js @@ -0,0 +1,20 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:19:28 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/scrollList.js + */ +export default { + // scrollList + scrollList: { + indicatorWidth: 50, + indicatorBarWidth: 20, + indicator: true, + indicatorColor: '#f2f2f2', + indicatorActiveColor: '#3c9cff', + indicatorStyle: '' + } +} diff --git a/components/uview-ui/libs/config/props/search.js b/components/uview-ui/libs/config/props/search.js new file mode 100644 index 0000000..2699954 --- /dev/null +++ b/components/uview-ui/libs/config/props/search.js @@ -0,0 +1,37 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:19:45 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/search.js + */ +export default { + // search + search: { + shape: 'round', + bgColor: '#f2f2f2', + placeholder: '请输入关键字', + clearabled: true, + focus: false, + showAction: true, + actionStyle: () => ({}), + actionText: '搜索', + inputAlign: 'left', + inputStyle: () => ({}), + disabled: false, + borderColor: 'transparent', + searchIconColor: '#909399', + searchIconSize: 22, + color: '#606266', + placeholderColor: '#909399', + searchIcon: 'search', + margin: '0', + animation: false, + value: '', + maxlength: '-1', + height: 32, + label: null + } +} diff --git a/components/uview-ui/libs/config/props/section.js b/components/uview-ui/libs/config/props/section.js new file mode 100644 index 0000000..f432648 --- /dev/null +++ b/components/uview-ui/libs/config/props/section.js @@ -0,0 +1,24 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:07:33 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/section.js + */ +export default { + // u-section组件 + section: { + title: '', + subTitle: '更多', + right: true, + fontSize: 15, + bold: true, + color: '#303133', + subColor: '#909399', + showLine: true, + lineColor: '', + arrow: true + } +} diff --git a/components/uview-ui/libs/config/props/skeleton.js b/components/uview-ui/libs/config/props/skeleton.js new file mode 100644 index 0000000..83b777d --- /dev/null +++ b/components/uview-ui/libs/config/props/skeleton.js @@ -0,0 +1,25 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:20:14 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/skeleton.js + */ +export default { + // skeleton + skeleton: { + loading: true, + animate: true, + rows: 0, + rowsWidth: '100%', + rowsHeight: 18, + title: true, + titleWidth: '50%', + titleHeight: 18, + avatar: false, + avatarSize: 32, + avatarShape: 'circle' + } +} diff --git a/components/uview-ui/libs/config/props/slider.js b/components/uview-ui/libs/config/props/slider.js new file mode 100644 index 0000000..50cc37f --- /dev/null +++ b/components/uview-ui/libs/config/props/slider.js @@ -0,0 +1,25 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:08:25 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/slider.js + */ +export default { + // slider组件 + slider: { + value: 0, + blockSize: 18, + min: 0, + max: 100, + step: 1, + activeColor: '#2979ff', + inactiveColor: '#c0c4cc', + blockColor: '#ffffff', + showValue: false, + disabled:false, + blockStyle: () => {} + } +} diff --git a/components/uview-ui/libs/config/props/statusBar.js b/components/uview-ui/libs/config/props/statusBar.js new file mode 100644 index 0000000..d237a83 --- /dev/null +++ b/components/uview-ui/libs/config/props/statusBar.js @@ -0,0 +1,15 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:20:39 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/statusBar.js + */ +export default { + // statusBar + statusBar: { + bgColor: 'transparent' + } +} diff --git a/components/uview-ui/libs/config/props/steps.js b/components/uview-ui/libs/config/props/steps.js new file mode 100644 index 0000000..881c39e --- /dev/null +++ b/components/uview-ui/libs/config/props/steps.js @@ -0,0 +1,21 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:12:37 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/steps.js + */ +export default { + // steps组件 + steps: { + direction: 'row', + current: 0, + activeColor: '#3c9cff', + inactiveColor: '#969799', + activeIcon: '', + inactiveIcon: '', + dot: false + } +} diff --git a/components/uview-ui/libs/config/props/stepsItem.js b/components/uview-ui/libs/config/props/stepsItem.js new file mode 100644 index 0000000..5dba8f4 --- /dev/null +++ b/components/uview-ui/libs/config/props/stepsItem.js @@ -0,0 +1,18 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:12:55 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/stepsItem.js + */ +export default { + // steps-item组件 + stepsItem: { + title: '', + desc: '', + iconSize: 17, + error: false + } +} diff --git a/components/uview-ui/libs/config/props/sticky.js b/components/uview-ui/libs/config/props/sticky.js new file mode 100644 index 0000000..b034604 --- /dev/null +++ b/components/uview-ui/libs/config/props/sticky.js @@ -0,0 +1,20 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:01:30 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/sticky.js + */ +export default { + // sticky组件 + sticky: { + offsetTop: 0, + customNavHeight: 0, + disabled: false, + bgColor: 'transparent', + zIndex: '', + index: '' + } +} diff --git a/components/uview-ui/libs/config/props/subsection.js b/components/uview-ui/libs/config/props/subsection.js new file mode 100644 index 0000000..9a165ff --- /dev/null +++ b/components/uview-ui/libs/config/props/subsection.js @@ -0,0 +1,23 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:12:20 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/subsection.js + */ +export default { + // subsection组件 + subsection: { + list: [], + current: 0, + activeColor: '#3c9cff', + inactiveColor: '#303133', + mode: 'button', + fontSize: 12, + bold: true, + bgColor: '#eeeeef', + keyName: 'name' + } +} diff --git a/components/uview-ui/libs/config/props/swipeAction.js b/components/uview-ui/libs/config/props/swipeAction.js new file mode 100644 index 0000000..25051b8 --- /dev/null +++ b/components/uview-ui/libs/config/props/swipeAction.js @@ -0,0 +1,15 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:00:42 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/swipeAction.js + */ +export default { + // swipe-action组件 + swipeAction: { + autoClose: true + } +} diff --git a/components/uview-ui/libs/config/props/swipeActionItem.js b/components/uview-ui/libs/config/props/swipeActionItem.js new file mode 100644 index 0000000..40ef27c --- /dev/null +++ b/components/uview-ui/libs/config/props/swipeActionItem.js @@ -0,0 +1,21 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:01:13 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/swipeActionItem.js + */ +export default { + // swipeActionItem 组件 + swipeActionItem: { + show: false, + name: '', + disabled: false, + threshold: 20, + autoClose: true, + options: [], + duration: 300 + } +} diff --git a/components/uview-ui/libs/config/props/swiper.js b/components/uview-ui/libs/config/props/swiper.js new file mode 100644 index 0000000..0e6a3b7 --- /dev/null +++ b/components/uview-ui/libs/config/props/swiper.js @@ -0,0 +1,39 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:21:38 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/swiper.js + */ +export default { + // swiper 组件 + swiper: { + list: () => [], + indicator: false, + indicatorActiveColor: '#FFFFFF', + indicatorInactiveColor: 'rgba(255, 255, 255, 0.35)', + indicatorStyle: '', + indicatorMode: 'line', + autoplay: true, + current: 0, + currentItemId: '', + interval: 3000, + duration: 300, + circular: false, + previousMargin: 0, + nextMargin: 0, + acceleration: false, + displayMultipleItems: 1, + easingFunction: 'default', + keyName: 'url', + imgMode: 'aspectFill', + height: 130, + bgColor: '#f3f4f6', + radius: 4, + loading: false, + showTitle: false + } + +} diff --git a/components/uview-ui/libs/config/props/swipterIndicator.js b/components/uview-ui/libs/config/props/swipterIndicator.js new file mode 100644 index 0000000..4b59e6e --- /dev/null +++ b/components/uview-ui/libs/config/props/swipterIndicator.js @@ -0,0 +1,19 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:22:07 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/swiperIndicator.js + */ +export default { + // swiperIndicator 组件 + swiperIndicator: { + length: 0, + current: 0, + indicatorActiveColor: '', + indicatorInactiveColor: '', + indicatorMode: 'line' + } +} diff --git a/components/uview-ui/libs/config/props/switch.js b/components/uview-ui/libs/config/props/switch.js new file mode 100644 index 0000000..e6400b4 --- /dev/null +++ b/components/uview-ui/libs/config/props/switch.js @@ -0,0 +1,24 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:22:24 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/switch.js + */ +export default { + // switch + switch: { + loading: false, + disabled: false, + size: 25, + activeColor: '#2979ff', + inactiveColor: '#ffffff', + value: false, + activeValue: true, + inactiveValue: false, + asyncChange: false, + space: 0 + } +} diff --git a/components/uview-ui/libs/config/props/tabbar.js b/components/uview-ui/libs/config/props/tabbar.js new file mode 100644 index 0000000..187112d --- /dev/null +++ b/components/uview-ui/libs/config/props/tabbar.js @@ -0,0 +1,22 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:22:40 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/tabbar.js + */ +export default { + // tabbar + tabbar: { + value: null, + safeAreaInsetBottom: true, + border: true, + zIndex: 1, + activeColor: '#1989fa', + inactiveColor: '#7d7e80', + fixed: true, + placeholder: true + } +} diff --git a/components/uview-ui/libs/config/props/tabbarItem.js b/components/uview-ui/libs/config/props/tabbarItem.js new file mode 100644 index 0000000..d036ce5 --- /dev/null +++ b/components/uview-ui/libs/config/props/tabbarItem.js @@ -0,0 +1,20 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:22:55 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/tabbarItem.js + */ +export default { + // + tabbarItem: { + name: null, + icon: '', + badge: null, + dot: false, + text: '', + badgeStyle: 'top: 6px;right:2px;' + } +} diff --git a/components/uview-ui/libs/config/props/tabs.js b/components/uview-ui/libs/config/props/tabs.js new file mode 100644 index 0000000..81c794a --- /dev/null +++ b/components/uview-ui/libs/config/props/tabs.js @@ -0,0 +1,32 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:23:14 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/tabs.js + */ +export default { + // + tabs: { + duration: 300, + list: () => [], + lineColor: '#3c9cff', + activeStyle: () => ({ + color: '#303133' + }), + inactiveStyle: () => ({ + color: '#606266' + }), + lineWidth: 20, + lineHeight: 3, + lineBgSize: 'cover', + itemStyle: () => ({ + height: '44px' + }), + scrollable: true, + current: 0, + keyName: 'name' + } +} diff --git a/components/uview-ui/libs/config/props/tag.js b/components/uview-ui/libs/config/props/tag.js new file mode 100644 index 0000000..125ce94 --- /dev/null +++ b/components/uview-ui/libs/config/props/tag.js @@ -0,0 +1,29 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:23:37 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/tag.js + */ +export default { + // tag 组件 + tag: { + type: 'primary', + disabled: false, + size: 'medium', + shape: 'square', + text: '', + bgColor: '', + color: '', + borderColor: '', + closeColor: '#C6C7CB', + name: '', + plainFill: false, + plain: false, + closable: false, + show: true, + icon: '' + } +} diff --git a/components/uview-ui/libs/config/props/text.js b/components/uview-ui/libs/config/props/text.js new file mode 100644 index 0000000..7e73606 --- /dev/null +++ b/components/uview-ui/libs/config/props/text.js @@ -0,0 +1,38 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:23:58 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/text.js + */ +export default { + // text 组件 + text: { + type: '', + show: true, + text: '', + prefixIcon: '', + suffixIcon: '', + mode: '', + href: '', + format: '', + call: false, + openType: '', + bold: false, + block: false, + lines: '', + color: '#303133', + size: 15, + iconStyle: () => ({ + fontSize: '15px' + }), + decoration: 'none', + margin: 0, + lineHeight: '', + align: 'left', + wordWrap: 'normal' + } + +} diff --git a/components/uview-ui/libs/config/props/textarea.js b/components/uview-ui/libs/config/props/textarea.js new file mode 100644 index 0000000..44519f9 --- /dev/null +++ b/components/uview-ui/libs/config/props/textarea.js @@ -0,0 +1,36 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:24:32 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/textarea.js + */ +export default { + // textarea 组件 + textarea: { + value: '', + placeholder: '', + placeholderClass: 'textarea-placeholder', + placeholderStyle: 'color: #c0c4cc', + height: 70, + confirmType: 'done', + disabled: false, + count: false, + focus: false, + autoHeight: false, + fixed: false, + cursorSpacing: 0, + cursor: '', + showConfirmBar: true, + selectionStart: -1, + selectionEnd: -1, + adjustPosition: true, + disableDefaultPadding: false, + holdKeyboard: false, + maxlength: 140, + border: 'surround', + formatter: null + } +} diff --git a/components/uview-ui/libs/config/props/toast.js b/components/uview-ui/libs/config/props/toast.js new file mode 100644 index 0000000..a50134b --- /dev/null +++ b/components/uview-ui/libs/config/props/toast.js @@ -0,0 +1,30 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:07:07 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/toast.js + */ +export default { + // toast组件 + toast: { + zIndex: 10090, + loading: false, + text: '', + icon: '', + type: '', + loadingMode: '', + show: '', + overlay: false, + position: 'center', + params: () => {}, + duration: 2000, + isTab: false, + url: '', + callback: null, + back: false + } + +} diff --git a/components/uview-ui/libs/config/props/toolbar.js b/components/uview-ui/libs/config/props/toolbar.js new file mode 100644 index 0000000..3289967 --- /dev/null +++ b/components/uview-ui/libs/config/props/toolbar.js @@ -0,0 +1,21 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:24:55 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/toolbar.js + */ +export default { + // toolbar 组件 + toolbar: { + show: true, + cancelText: '取消', + confirmText: '确认', + cancelColor: '#909193', + confirmColor: '#3c9cff', + title: '' + } + +} diff --git a/components/uview-ui/libs/config/props/tooltip.js b/components/uview-ui/libs/config/props/tooltip.js new file mode 100644 index 0000000..115e030 --- /dev/null +++ b/components/uview-ui/libs/config/props/tooltip.js @@ -0,0 +1,25 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:25:14 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/tooltip.js + */ +export default { + // tooltip 组件 + tooltip: { + text: '', + copyText: '', + size: 14, + color: '#606266', + bgColor: 'transparent', + direction: 'top', + zIndex: 10071, + showCopy: true, + buttons: () => [], + overlay: true, + showToast: true + } +} diff --git a/components/uview-ui/libs/config/props/transition.js b/components/uview-ui/libs/config/props/transition.js new file mode 100644 index 0000000..0fad118 --- /dev/null +++ b/components/uview-ui/libs/config/props/transition.js @@ -0,0 +1,18 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 16:59:00 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/transition.js + */ +export default { + // transition动画组件的props + transition: { + show: false, + mode: 'fade', + duration: '300', + timingFunction: 'ease-out' + } +} diff --git a/components/uview-ui/libs/config/props/upload.js b/components/uview-ui/libs/config/props/upload.js new file mode 100644 index 0000000..fc7ca92 --- /dev/null +++ b/components/uview-ui/libs/config/props/upload.js @@ -0,0 +1,36 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-20 16:44:21 + * @LastAuthor : LQ + * @lastTime : 2021-08-20 17:09:50 + * @FilePath : /u-view2.0/uview-ui/libs/config/props/upload.js + */ +export default { + // upload组件 + upload: { + accept: 'image', + capture: () => ['album', 'camera'], + compressed: true, + camera: 'back', + maxDuration: 60, + uploadIcon: 'camera-fill', + uploadIconColor: '#D3D4D6', + useBeforeRead: false, + previewFullImage: true, + maxCount: 52, + disabled: false, + imageMode: 'aspectFill', + name: '', + sizeType: () => ['original', 'compressed'], + multiple: false, + deletable: true, + maxSize: Number.MAX_VALUE, + fileList: () => [], + uploadText: '', + width: 80, + height: 80, + previewImage: true + } +} diff --git a/components/uview-ui/libs/config/zIndex.js b/components/uview-ui/libs/config/zIndex.js new file mode 100644 index 0000000..5fc3682 --- /dev/null +++ b/components/uview-ui/libs/config/zIndex.js @@ -0,0 +1,20 @@ +// uniapp在H5中各API的z-index值如下: +/** + * actionsheet: 999 + * modal: 999 + * navigate: 998 + * tabbar: 998 + * toast: 999 + */ + +export default { + toast: 10090, + noNetwork: 10080, + // popup包含popup,actionsheet,keyboard,picker的值 + popup: 10075, + mask: 10070, + navbar: 980, + topTips: 975, + sticky: 970, + indexListSticky: 965 +} diff --git a/components/uview-ui/libs/css/color.scss b/components/uview-ui/libs/css/color.scss new file mode 100644 index 0000000..3237ba4 --- /dev/null +++ b/components/uview-ui/libs/css/color.scss @@ -0,0 +1,155 @@ +.u-primary-light { + color: $u-primary-light; +} + +.u-warning-light { + color: $u-warning-light; +} + +.u-success-light { + color: $u-success-light; +} + +.u-error-light { + color: $u-error-light; +} + +.u-info-light { + color: $u-info-light; +} + +.u-primary-light-bg { + background-color: $u-primary-light; +} + +.u-warning-light-bg { + background-color: $u-warning-light; +} + +.u-success-light-bg { + background-color: $u-success-light; +} + +.u-error-light-bg { + background-color: $u-error-light; +} + +.u-info-light-bg { + background-color: $u-info-light; +} + +.u-primary-dark { + color: $u-primary-dark; +} + +.u-warning-dark { + color: $u-warning-dark; +} + +.u-success-dark { + color: $u-success-dark; +} + +.u-error-dark { + color: $u-error-dark; +} + +.u-info-dark { + color: $u-info-dark; +} + +.u-primary-dark-bg { + background-color: $u-primary-dark; +} + +.u-warning-dark-bg { + background-color: $u-warning-dark; +} + +.u-success-dark-bg { + background-color: $u-success-dark; +} + +.u-error-dark-bg { + background-color: $u-error-dark; +} + +.u-info-dark-bg { + background-color: $u-info-dark; +} + +.u-primary-disabled { + color: $u-primary-disabled; +} + +.u-warning-disabled { + color: $u-warning-disabled; +} + +.u-success-disabled { + color: $u-success-disabled; +} + +.u-error-disabled { + color: $u-error-disabled; +} + +.u-info-disabled { + color: $u-info-disabled; +} + +.u-primary { + color: $u-primary; +} + +.u-warning { + color: $u-warning; +} + +.u-success { + color: $u-success; +} + +.u-error { + color: $u-error; +} + +.u-info { + color: $u-info; +} + +.u-primary-bg { + background-color: $u-primary; +} + +.u-warning-bg { + background-color: $u-warning; +} + +.u-success-bg { + background-color: $u-success; +} + +.u-error-bg { + background-color: $u-error; +} + +.u-info-bg { + background-color: $u-info; +} + +.u-main-color { + color: $u-main-color; +} + +.u-content-color { + color: $u-content-color; +} + +.u-tips-color { + color: $u-tips-color; +} + +.u-light-color { + color: $u-light-color; +} diff --git a/components/uview-ui/libs/css/common.scss b/components/uview-ui/libs/css/common.scss new file mode 100644 index 0000000..11f1e53 --- /dev/null +++ b/components/uview-ui/libs/css/common.scss @@ -0,0 +1,97 @@ +// 超出行数,自动显示行尾省略号,最多5行 +// 来自uView的温馨提示:当您在控制台看到此报错,说明需要在App.vue的style标签加上【lang="scss"】 +@for $i from 1 through 5 { + .u-line-#{$i} { + /* #ifdef APP-NVUE */ + // nvue下,可以直接使用lines属性,这是weex特有样式 + lines: $i; + text-overflow: ellipsis; + overflow: hidden; + flex: 1; + /* #endif */ + + /* #ifndef APP-NVUE */ + // vue下,单行和多行显示省略号需要单独处理 + @if $i == '1' { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } @else { + display: -webkit-box!important; + overflow: hidden; + text-overflow: ellipsis; + word-break: break-all; + -webkit-line-clamp: $i; + -webkit-box-orient: vertical!important; + } + /* #endif */ + } +} + + +// 此处加上!important并非随意乱用,而是因为目前*.nvue页面编译到H5时, +// App.vue的样式会被uni-app的view元素的自带border属性覆盖,导致无效 +// 综上,这是uni-app的缺陷导致我们为了多端兼容,而必须要加上!important +// 移动端兼容性较好,直接使用0.5px去实现细边框,不使用伪元素形式实现 +.u-border { + border-width: 0.5px!important; + border-color: $u-border-color!important; + border-style: solid; +} + +.u-border-top { + border-top-width: 0.5px!important; + border-color: $u-border-color!important; + border-top-style: solid; +} + +.u-border-left { + border-left-width: 0.5px!important; + border-color: $u-border-color!important; + border-left-style: solid; +} + +.u-border-right { + border-right-width: 0.5px!important; + border-color: $u-border-color!important; + border-right-style: solid; +} + +.u-border-bottom { + border-bottom-width: 0.5px!important; + border-color: $u-border-color!important; + border-bottom-style: solid; +} + +.u-border-top-bottom { + border-top-width: 0.5px!important; + border-bottom-width: 0.5px!important; + border-color: $u-border-color!important; + border-top-style: solid; + border-bottom-style: solid; +} + +// 去除button的所有默认样式,让其表现跟普通的view、text元素一样 +.u-reset-button { + padding: 0; + background-color: transparent; + /* #ifndef APP-PLUS */ + font-size: inherit; + line-height: inherit; + color: inherit; + /* #endif */ + /* #ifdef APP-NVUE */ + border-width: 0; + /* #endif */ +} + +/* #ifndef APP-NVUE */ +.u-reset-button::after { + border: none; +} +/* #endif */ + +.u-hover-class { + opacity: 0.7; +} + diff --git a/components/uview-ui/libs/css/components.scss b/components/uview-ui/libs/css/components.scss new file mode 100644 index 0000000..766679e --- /dev/null +++ b/components/uview-ui/libs/css/components.scss @@ -0,0 +1,15 @@ +@import "./mixin.scss"; + +/* #ifndef APP-NVUE */ +// 由于uView是基于nvue环境进行开发的,此环境中普通元素默认为flex-direction: column; +// 所以在非nvue中,需要对元素进行重置为flex-direction: column; 否则可能会表现异常 +view, scroll-view, swiper-item { + display: flex; + flex-direction: column; + flex-shrink: 0; + flex-grow: 0; + flex-basis: auto; + align-items: stretch; + align-content: flex-start; +} +/* #endif */ diff --git a/components/uview-ui/libs/css/flex.scss b/components/uview-ui/libs/css/flex.scss new file mode 100644 index 0000000..6d61be9 --- /dev/null +++ b/components/uview-ui/libs/css/flex.scss @@ -0,0 +1,257 @@ +// .u-flex { +// @include vue-flex(row); +// } + +// .u-flex-x { +// @include vue-flex(row); +// } + +// .u-flex-y { +// @include vue-flex(column); +// } + +// .u-flex-xy-center { +// @include vue-flex(row); +// justify-content: center; +// align-items: center; +// } + +// .u-flex-x-center { +// @include vue-flex(row); +// justify-content: center; +// } + +// .u-flex-y-center { +// @include vue-flex(column); +// justify-content: center; +// } + + +// flex布局 +.u-flex, +.u-flex-row, +.u-flex-x { + @include flex; +} + +.u-flex-y, +.u-flex-column { + @include flex(column); +} + +.u-flex-x-center { + @include flex; + justify-content: center; +} + +.u-flex-xy-center { + @include flex; + justify-content: center; + align-items: center; +} + +.u-flex-y-center { + @include flex; + align-items: center; +} + +.u-flex-x-left { + @include flex; +} + +.u-flex-x-reverse, +.u-flex-row-reverse { + flex-direction: row-reverse; +} + +.u-flex-y-reverse, +.u-flex-column-reverse { + flex-direction: column-reverse; +} + +/* #ifndef APP-NVUE */ +// 此处为vue版本的简写,因为nvue不支持同时作用于两个类名的样式写法 +// nvue下只能写成class="u-flex-x u-flex-x-reverse的形式" +.u-flex.u-flex-reverse, +.u-flex-row.u-flex-reverse, +.u-flex-x.u-flex-reverse { + flex-direction: row-reverse; +} + +.u-flex-column.u-flex-reverse, +.u-flex-y.u-flex-reverse { + flex-direction: column-reverse; +} + +// 自动伸缩 +.u-flex-fill { + flex: 1 1 auto +} + +// 边界自动伸缩 +.u-margin-top-auto, +.u-m-t-auto { + margin-top: auto !important +} + +.u-margin-right-auto, +.u-m-r-auto { + margin-right: auto !important +} + +.u-margin-bottom-auto, +.u-m-b-auto { + margin-bottom: auto !important +} + +.u-margin-left-auto, +.u-m-l-auto { + margin-left: auto !important +} + +.u-margin-center-auto, +.u-m-c-auto { + margin-left: auto !important; + margin-right: auto !important +} + +.u-margin-middle-auto, +.u-m-m-auto { + margin-top: auto !important; + margin-bottom: auto !important +} +/* #endif */ + +// 换行 +.u-flex-wrap { + flex-wrap: wrap; +} + +// 反向换行 +.u-flex-wrap-reverse { + flex-wrap: wrap-reverse; +} + +// 主轴起点对齐 +.u-flex-start { + justify-content: flex-start +} + +// 主轴中间对齐 +.u-flex-center { + justify-content: center +} + +// 主轴终点对齐 +.u-flex-end { + justify-content: flex-end +} + +// 主轴等比间距 +.u-flex-between { + justify-content: space-between +} + +// 主轴均分间距 +.u-flex-around { + justify-content: space-around +} + +// 交叉轴起点对齐 +.u-flex-items-start { + align-items: flex-start +} + +// 交叉轴中间对齐 +.u-flex-items-center { + align-items: center +} + +// 交叉轴终点对齐 +.u-flex-items-end { + align-items: flex-end +} + +// 交叉轴第一行文字基线对齐 +.u-flex-items-baseline { + align-items: baseline +} + +// 交叉轴方向拉伸对齐 +.u-flex-items-stretch { + align-items: stretch +} + + +// 以下属于项目(子元素)的类 + +// 子元素交叉轴起点对齐 +.u-flex-self-start { + align-self: flex-start +} + +// 子元素交叉轴居中对齐 +.u-flex-self-center { + align-self: center +} + +// 子元素交叉轴终点对齐 +.u-flex-self-end { + align-self: flex-end +} + +// 子元素交叉轴第一行文字基线对齐 +.u-flex-self-baseline { + align-self: baseline +} + +// 子元素交叉轴方向拉伸对齐 +.u-flex-self-stretch { + align-self: stretch +} + +// 多轴交叉时的对齐方式 + +// 起点对齐 +.u-flex-content-start { + align-content: flex-start +} + +// 居中对齐 +.u-flex-content-center { + align-content: center +} + +// 终点对齐 +.u-flex-content-end { + align-content: flex-end +} + +// 两端对齐 +.u-flex-content-between { + align-content: space-between +} + +// 均分间距 +.u-flex-content-around { + align-content: space-around +} + +// 全部居中对齐 +.u-flex-middle { + justify-content: center; + align-items: center; + align-self: center; + align-content: center +} + +// 是否可以放大 +.u-flex-grow { + flex-grow: 1 +} + +// 是否可以缩小 +.u-flex-shrink { + flex-shrink: 1 +} + diff --git a/components/uview-ui/libs/css/h5.scss b/components/uview-ui/libs/css/h5.scss new file mode 100644 index 0000000..e69de29 diff --git a/components/uview-ui/libs/css/mixin.scss b/components/uview-ui/libs/css/mixin.scss new file mode 100644 index 0000000..7e35b3b --- /dev/null +++ b/components/uview-ui/libs/css/mixin.scss @@ -0,0 +1,8 @@ +// 通过scss的mixin功能,把原来需要写4行的css,变成一行 +// 目的是保持代码干净整洁,不至于在nvue下,到处都要写display:flex的条件编译 +@mixin flex($direction: row) { + /* #ifndef APP-NVUE */ + display: flex; + /* #endif */ + flex-direction: $direction; +} diff --git a/components/uview-ui/libs/css/mp.scss b/components/uview-ui/libs/css/mp.scss new file mode 100644 index 0000000..e69de29 diff --git a/components/uview-ui/libs/css/nvue.scss b/components/uview-ui/libs/css/nvue.scss new file mode 100644 index 0000000..e69de29 diff --git a/components/uview-ui/libs/css/style.components.scss b/components/uview-ui/libs/css/style.components.scss new file mode 100644 index 0000000..6835876 --- /dev/null +++ b/components/uview-ui/libs/css/style.components.scss @@ -0,0 +1,7 @@ +// 定义混入指令,用于在非nvue环境下的flex定义,因为nvue没有display属性,会报错 +@mixin vue-flex($direction: row) { + /* #ifndef APP-NVUE */ + display: flex; + flex-direction: $direction; + /* #endif */ +} \ No newline at end of file diff --git a/components/uview-ui/libs/css/style.h5.scss b/components/uview-ui/libs/css/style.h5.scss new file mode 100644 index 0000000..62839eb --- /dev/null +++ b/components/uview-ui/libs/css/style.h5.scss @@ -0,0 +1,8 @@ +/* H5的时候,隐藏滚动条 */ +::-webkit-scrollbar { + display: none; + width: 0 !important; + height: 0 !important; + -webkit-appearance: none; + background: transparent; +} diff --git a/components/uview-ui/libs/css/style.mp.scss b/components/uview-ui/libs/css/style.mp.scss new file mode 100644 index 0000000..ca1d3e0 --- /dev/null +++ b/components/uview-ui/libs/css/style.mp.scss @@ -0,0 +1,72 @@ +/* start--微信小程序编译后页面有组件名的元素,特别处理--start */ +/* #ifdef MP-WEIXIN || MP-QQ */ +u-td, u-th { + flex: 1; + align-self: stretch; +} + +.u-td { + height: 100%; +} + +u-icon { + display: inline-flex; + align-items: center; +} + +// 各家小程序宫格组件外层设置为100%,避免受到父元素display: flex;的影响 +u-grid { + width: 100%; + flex: 0 0 100%; +} + +// 避免小程序线条组件因为父组件display: flex;而失效 +u-line { + flex: 1; +} + +u-switch { + display: inline-flex; + align-items: center; +} + +u-dropdown { + flex: 1; +} +/* #endif */ +/* end-微信小程序编译后页面有组件名的元素,特别处理--end */ + + +/* #ifdef MP-QQ || MP-TOUTIAO */ +// 需要做这一切额外的兼容,都是因为TX的无能 +u-icon { + line-height: 0; +} +/* #endif */ + +/* start--头条小程序编译后页面有组件名的元素,特别处理--start */ +// 由于头条小程序不支持直接组件名形式写样式,目前只能在写组件的时候给组件加上对应的类名 +/* #ifdef MP-TOUTIAO */ +.u-td, .u-th, .u-tr { + flex: 1; + align-self: stretch; +} + +.u-row, .u-col { + flex: 1; + align-self: stretch; +} + +// 避免小程序线条组件因为父组件display: flex;而失效 +.u-line { + flex: 1; +} + +.u-dropdown { + flex: 1; +} +/* #endif */ +/* end-头条小程序编译后页面有组件名的元素,特别处理--end */ + + + diff --git a/components/uview-ui/libs/css/style.nvue.scss b/components/uview-ui/libs/css/style.nvue.scss new file mode 100644 index 0000000..4a6192a --- /dev/null +++ b/components/uview-ui/libs/css/style.nvue.scss @@ -0,0 +1,3 @@ +.nvue { + font-size: 24rpx; +} \ No newline at end of file diff --git a/components/uview-ui/libs/css/style.vue.scss b/components/uview-ui/libs/css/style.vue.scss new file mode 100644 index 0000000..1ab3707 --- /dev/null +++ b/components/uview-ui/libs/css/style.vue.scss @@ -0,0 +1,175 @@ +page { + color: $u-main-color; + font-size: 28rpx; +} + +/* start--去除webkit的默认样式--start */ +.u-fix-ios-appearance { + -webkit-appearance:none; +} +/* end--去除webkit的默认样式--end */ + +/* start--icon图标外层套一个view,让其达到更好的垂直居中的效果--start */ +.u-icon-wrap { + display: flex; + align-items: center; +} +/* end-icon图标外层套一个view,让其达到更好的垂直居中的效果--end */ + +/* start--iPhoneX底部安全区定义--start */ +.safe-area-inset-bottom { + padding-bottom: 0; + padding-bottom: constant(safe-area-inset-bottom); + padding-bottom: env(safe-area-inset-bottom); +} +/* end-iPhoneX底部安全区定义--end */ + +/* start--各种hover点击反馈相关的类名-start */ +.u-hover-class { + // background-color: #f7f8f9!important; + opacity: 0.6; +} + +.u-cell-hover { + background-color: #f7f8f9!important; +} +/* end--各种hover点击反馈相关的类名--end */ + +/* start--文本行数限制--start */ +.u-line-1 { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.u-line-2 { + -webkit-line-clamp: 2; +} + +.u-line-3 { + -webkit-line-clamp: 3; +} + +.u-line-4 { + -webkit-line-clamp: 4; +} + +.u-line-5 { + -webkit-line-clamp: 5; +} + +.u-line-2, .u-line-3, .u-line-4, .u-line-5 { + overflow: hidden; + word-break: break-all; + text-overflow: ellipsis; + display: -webkit-box; // 弹性伸缩盒 + -webkit-box-orient: vertical; // 设置伸缩盒子元素排列方式 +} + +/* end--文本行数限制--end */ + + +/* start--Retina 屏幕下的 1px 边框--start */ +.u-border, +.u-border-bottom, +.u-border-left, +.u-border-right, +.u-border-top, +.u-border-top-bottom { + position: relative +} + +.u-border-bottom:after, +.u-border-left:after, +.u-border-right:after, +.u-border-top-bottom:after, +.u-border-top:after, +.u-border:after { + /* #ifndef APP-NVUE */ + content: ' '; + /* #endif */ + position: absolute; + left: 0; + top: 0; + pointer-events: none; + box-sizing: border-box; + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + // 多加0.1%,能解决有时候边框缺失的问题 + width: 199.8%; + height: 199.7%; + transform: scale(0.5, 0.5); + border: 0 solid $u-border-color; + z-index: 2; +} + +.u-border-top:after { + border-top-width: 1px +} + +.u-border-left:after { + border-left-width: 1px +} + +.u-border-right:after { + border-right-width: 1px +} + +.u-border-bottom:after { + border-bottom-width: 1px +} + +.u-border-top-bottom:after { + border-width: 1px 0 +} + +.u-border:after { + border-width: 1px +} +/* end--Retina 屏幕下的 1px 边框--end */ + + +/* start--clearfix--start */ +.u-clearfix:after, +.clearfix:after { + /* #ifndef APP-NVUE */ + content: ''; + /* #endif */ + display: table; + clear: both +} +/* end--clearfix--end */ + +/* start--高斯模糊tabbar底部处理--start */ +.u-blur-effect-inset { + width: 750rpx; + height: var(--window-bottom); + background-color: #FFFFFF; +} +/* end--高斯模糊tabbar底部处理--end */ + +/* start--提升H5端uni.toast()的层级,避免被uView的modal等遮盖--start */ +/* #ifdef H5 */ +uni-toast { + z-index: 10090; +} +uni-toast .uni-toast { + z-index: 10090; +} +/* #endif */ +/* end--提升H5端uni.toast()的层级,避免被uView的modal等遮盖--end */ + +/* start--去除button的所有默认样式--start */ +.u-reset-button { + padding: 0; + font-size: inherit; + line-height: inherit; + background-color: transparent; + color: inherit; +} + +.u-reset-button::after { + border: none; +} +/* end--去除button的所有默认样式--end */ + diff --git a/components/uview-ui/libs/css/vue.scss b/components/uview-ui/libs/css/vue.scss new file mode 100644 index 0000000..3ae4d29 --- /dev/null +++ b/components/uview-ui/libs/css/vue.scss @@ -0,0 +1,27 @@ +// 历遍生成4个方向的底部安全区 +@each $d in top, right, bottom, left { + .u-safe-area-inset-#{$d} { + padding-#{$d}: 0; + padding-#{$d}: constant(safe-area-inset-#{$d}); + padding-#{$d}: env(safe-area-inset-#{$d}); + } +} + +//提升H5端uni.toast()的层级,避免被uView的modal等遮盖 +/* #ifdef H5 */ +uni-toast { + z-index: 10090; +} +uni-toast .uni-toast { + z-index: 10090; +} +/* #endif */ + +// 隐藏scroll-view的滚动条 +::-webkit-scrollbar { + display: none; + width: 0 !important; + height: 0 !important; + -webkit-appearance: none; + background: transparent; +} \ No newline at end of file diff --git a/components/uview-ui/libs/function/$parent.js b/components/uview-ui/libs/function/$parent.js new file mode 100644 index 0000000..80515c4 --- /dev/null +++ b/components/uview-ui/libs/function/$parent.js @@ -0,0 +1,18 @@ +// 获取父组件的参数,因为支付宝小程序不支持provide/inject的写法 +// this.$parent在非H5中,可以准确获取到父组件,但是在H5中,需要多次this.$parent.$parent.xxx +// 这里默认值等于undefined有它的含义,因为最顶层元素(组件)的$parent就是undefined,意味着不传name +// 值(默认为undefined),就是查找最顶层的$parent +export default function $parent(name = undefined) { + let parent = this.$parent; + // 通过while历遍,这里主要是为了H5需要多层解析的问题 + while (parent) { + // 父组件 + if (parent.$options && parent.$options.name !== name) { + // 如果组件的name不相等,继续上一级寻找 + parent = parent.$parent; + } else { + return parent; + } + } + return false; +} \ No newline at end of file diff --git a/components/uview-ui/libs/function/addUnit.js b/components/uview-ui/libs/function/addUnit.js new file mode 100644 index 0000000..247fae2 --- /dev/null +++ b/components/uview-ui/libs/function/addUnit.js @@ -0,0 +1,8 @@ +import validation from './test.js'; + +// 添加单位,如果有rpx,%,px等单位结尾或者值为auto,直接返回,否则加上rpx单位结尾 +export default function addUnit(value = 'auto', unit = 'rpx') { + value = String(value); + // 用uView内置验证规则中的number判断是否为数值 + return validation.number(value) ? `${value}${unit}` : value; +} \ No newline at end of file diff --git a/components/uview-ui/libs/function/bem.js b/components/uview-ui/libs/function/bem.js new file mode 100644 index 0000000..05d1a36 --- /dev/null +++ b/components/uview-ui/libs/function/bem.js @@ -0,0 +1,5 @@ +function bem(name, conf) { + +} + +module.exports.bem = bem; diff --git a/components/uview-ui/libs/function/color.js b/components/uview-ui/libs/function/color.js new file mode 100644 index 0000000..dafb8c1 --- /dev/null +++ b/components/uview-ui/libs/function/color.js @@ -0,0 +1,37 @@ +// 为了让用户能够自定义主题,会逐步弃用此文件,各颜色通过css提供 +// 为了给某些特殊场景使用和向后兼容,无需删除此文件(2020-06-20) +let color = { + primary: "#2979ff", + primaryDark: "#2b85e4", + primaryDisabled: "#a0cfff", + primaryLight: "#ecf5ff", + bgColor: "#f3f4f6", + + info: "#909399", + infoDark: "#82848a", + infoDisabled: "#c8c9cc", + infoLight: "#f4f4f5", + + warning: "#ff9900", + warningDark: "#f29100", + warningDisabled: "#fcbd71", + warningLight: "#fdf6ec", + + error: "#fa3534", + errorDark: "#dd6161", + errorDisabled: "#fab6b6", + errorLight: "#fef0f0", + + success: "#19be6b", + successDark: "#18b566", + successDisabled: "#71d5a1", + successLight: "#dbf1e1", + + mainColor: "#303133", + contentColor: "#606266", + tipsColor: "#909399", + lightColor: "#c0c4cc", + borderColor: "#e4e7ed" +} + +export default color; \ No newline at end of file diff --git a/components/uview-ui/libs/function/colorGradient.js b/components/uview-ui/libs/function/colorGradient.js new file mode 100644 index 0000000..9727732 --- /dev/null +++ b/components/uview-ui/libs/function/colorGradient.js @@ -0,0 +1,134 @@ +/** + * 求两个颜色之间的渐变值 + * @param {string} startColor 开始的颜色 + * @param {string} endColor 结束的颜色 + * @param {number} step 颜色等分的份额 + * */ +function colorGradient(startColor = 'rgb(0, 0, 0)', endColor = 'rgb(255, 255, 255)', step = 10) { + const startRGB = hexToRgb(startColor, false) // 转换为rgb数组模式 + const startR = startRGB[0] + const startG = startRGB[1] + const startB = startRGB[2] + + const endRGB = hexToRgb(endColor, false) + const endR = endRGB[0] + const endG = endRGB[1] + const endB = endRGB[2] + + const sR = (endR - startR) / step // 总差值 + const sG = (endG - startG) / step + const sB = (endB - startB) / step + const colorArr = [] + for (let i = 0; i < step; i++) { + // 计算每一步的hex值 + let hex = rgbToHex(`rgb(${Math.round((sR * i + startR))},${Math.round((sG * i + startG))},${Math.round((sB + * i + startB))})`) + // 确保第一个颜色值为startColor的值 + if (i === 0) hex = rgbToHex(startColor) + // 确保最后一个颜色值为endColor的值 + if (i === step - 1) hex = rgbToHex(endColor) + colorArr.push(hex) + } + return colorArr +} + +// 将hex表示方式转换为rgb表示方式(这里返回rgb数组模式) +function hexToRgb(sColor, str = true) { + const reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/ + sColor = String(sColor).toLowerCase() + if (sColor && reg.test(sColor)) { + if (sColor.length === 4) { + let sColorNew = '#' + for (let i = 1; i < 4; i += 1) { + sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1)) + } + sColor = sColorNew + } + // 处理六位的颜色值 + const sColorChange = [] + for (let i = 1; i < 7; i += 2) { + sColorChange.push(parseInt(`0x${sColor.slice(i, i + 2)}`)) + } + if (!str) { + return sColorChange + } + return `rgb(${sColorChange[0]},${sColorChange[1]},${sColorChange[2]})` + } if (/^(rgb|RGB)/.test(sColor)) { + const arr = sColor.replace(/(?:\(|\)|rgb|RGB)*/g, '').split(',') + return arr.map((val) => Number(val)) + } + return sColor +} + +// 将rgb表示方式转换为hex表示方式 +function rgbToHex(rgb) { + const _this = rgb + const reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/ + if (/^(rgb|RGB)/.test(_this)) { + const aColor = _this.replace(/(?:\(|\)|rgb|RGB)*/g, '').split(',') + let strHex = '#' + for (let i = 0; i < aColor.length; i++) { + let hex = Number(aColor[i]).toString(16) + hex = String(hex).length == 1 ? `${0}${hex}` : hex // 保证每个rgb的值为2位 + if (hex === '0') { + hex += hex + } + strHex += hex + } + if (strHex.length !== 7) { + strHex = _this + } + return strHex + } if (reg.test(_this)) { + const aNum = _this.replace(/#/, '').split('') + if (aNum.length === 6) { + return _this + } if (aNum.length === 3) { + let numHex = '#' + for (let i = 0; i < aNum.length; i += 1) { + numHex += (aNum[i] + aNum[i]) + } + return numHex + } + } else { + return _this + } +} + +/** +* JS颜色十六进制转换为rgb或rgba,返回的格式为 rgba(255,255,255,0.5)字符串 +* sHex为传入的十六进制的色值 +* alpha为rgba的透明度 +*/ +function colorToRgba(color, alpha) { + color = rgbToHex(color) + // 十六进制颜色值的正则表达式 + const reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/ + /* 16进制颜色转为RGB格式 */ + let sColor = String(color).toLowerCase() + if (sColor && reg.test(sColor)) { + if (sColor.length === 4) { + let sColorNew = '#' + for (let i = 1; i < 4; i += 1) { + sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1)) + } + sColor = sColorNew + } + // 处理六位的颜色值 + const sColorChange = [] + for (let i = 1; i < 7; i += 2) { + sColorChange.push(parseInt(`0x${sColor.slice(i, i + 2)}`)) + } + // return sColorChange.join(',') + return `rgba(${sColorChange.join(',')},${alpha})` + } + + return sColor +} + +export default { + colorGradient, + hexToRgb, + rgbToHex, + colorToRgba +} diff --git a/components/uview-ui/libs/function/debounce.js b/components/uview-ui/libs/function/debounce.js new file mode 100644 index 0000000..ad3996b --- /dev/null +++ b/components/uview-ui/libs/function/debounce.js @@ -0,0 +1,29 @@ +let timeout = null + +/** + * 防抖原理:一定时间内,只有最后一次操作,再过wait毫秒后才执行函数 + * + * @param {Function} func 要执行的回调函数 + * @param {Number} wait 延时的时间 + * @param {Boolean} immediate 是否立即执行 + * @return null + */ +function debounce(func, wait = 500, immediate = false) { + // 清除定时器 + if (timeout !== null) clearTimeout(timeout) + // 立即执行,此类情况一般用不到 + if (immediate) { + const callNow = !timeout + timeout = setTimeout(() => { + timeout = null + }, wait) + if (callNow) typeof func === 'function' && func() + } else { + // 设置定时器,当最后一次操作后,timeout不会再被清除,所以在延时wait毫秒后执行func回调方法 + timeout = setTimeout(() => { + typeof func === 'function' && func() + }, wait) + } +} + +export default debounce diff --git a/components/uview-ui/libs/function/deepClone.js b/components/uview-ui/libs/function/deepClone.js new file mode 100644 index 0000000..3db999a --- /dev/null +++ b/components/uview-ui/libs/function/deepClone.js @@ -0,0 +1,23 @@ +// 判断arr是否为一个数组,返回一个bool值 +function isArray (arr) { + return Object.prototype.toString.call(arr) === '[object Array]'; +} + +// 深度克隆 +function deepClone (obj) { + // 对常见的“非”值,直接返回原来值 + if([null, undefined, NaN, false].includes(obj)) return obj; + if(typeof obj !== "object" && typeof obj !== 'function') { + //原始类型直接返回 + return obj; + } + var o = isArray(obj) ? [] : {}; + for(let i in obj) { + if(obj.hasOwnProperty(i)){ + o[i] = typeof obj[i] === "object" ? deepClone(obj[i]) : obj[i]; + } + } + return o; +} + +export default deepClone; diff --git a/components/uview-ui/libs/function/deepMerge.js b/components/uview-ui/libs/function/deepMerge.js new file mode 100644 index 0000000..81d2d18 --- /dev/null +++ b/components/uview-ui/libs/function/deepMerge.js @@ -0,0 +1,30 @@ +import deepClone from "./deepClone"; + +// JS对象深度合并 +function deepMerge(target = {}, source = {}) { + target = deepClone(target); + if (typeof target !== 'object' || typeof source !== 'object') return false; + for (var prop in source) { + if (!source.hasOwnProperty(prop)) continue; + if (prop in target) { + if (typeof target[prop] !== 'object') { + target[prop] = source[prop]; + } else { + if (typeof source[prop] !== 'object') { + target[prop] = source[prop]; + } else { + if (target[prop].concat && source[prop].concat) { + target[prop] = target[prop].concat(source[prop]); + } else { + target[prop] = deepMerge(target[prop], source[prop]); + } + } + } + } else { + target[prop] = source[prop]; + } + } + return target; +} + +export default deepMerge; \ No newline at end of file diff --git a/components/uview-ui/libs/function/digit.js b/components/uview-ui/libs/function/digit.js new file mode 100644 index 0000000..c8260a0 --- /dev/null +++ b/components/uview-ui/libs/function/digit.js @@ -0,0 +1,167 @@ +let _boundaryCheckingState = true; // 是否进行越界检查的全局开关 + +/** + * 把错误的数据转正 + * @private + * @example strip(0.09999999999999998)=0.1 + */ +function strip(num, precision = 15) { + return +parseFloat(Number(num).toPrecision(precision)); +} + +/** + * Return digits length of a number + * @private + * @param {*number} num Input number + */ +function digitLength(num) { + // Get digit length of e + const eSplit = num.toString().split(/[eE]/); + const len = (eSplit[0].split('.')[1] || '').length - +(eSplit[1] || 0); + return len > 0 ? len : 0; +} + +/** + * 把小数转成整数,如果是小数则放大成整数 + * @private + * @param {*number} num 输入数 + */ +function float2Fixed(num) { + if (num.toString().indexOf('e') === -1) { + return Number(num.toString().replace('.', '')); + } + const dLen = digitLength(num); + return dLen > 0 ? strip(Number(num) * Math.pow(10, dLen)) : Number(num); +} + +/** + * 检测数字是否越界,如果越界给出提示 + * @private + * @param {*number} num 输入数 + */ +function checkBoundary(num) { + if (_boundaryCheckingState) { + if (num > Number.MAX_SAFE_INTEGER || num < Number.MIN_SAFE_INTEGER) { + console.warn(`${num} 超出了精度限制,结果可能不正确`); + } + } +} + +/** + * 把递归操作扁平迭代化 + * @param {number[]} arr 要操作的数字数组 + * @param {function} operation 迭代操作 + * @private + */ +function iteratorOperation(arr, operation) { + const [num1, num2, ...others] = arr; + let res = operation(num1, num2); + + others.forEach((num) => { + res = operation(res, num); + }); + + return res; +} + +/** + * 高精度乘法 + * @export + */ +export function times(...nums) { + if (nums.length > 2) { + return iteratorOperation(nums, times); + } + + const [num1, num2] = nums; + const num1Changed = float2Fixed(num1); + const num2Changed = float2Fixed(num2); + const baseNum = digitLength(num1) + digitLength(num2); + const leftValue = num1Changed * num2Changed; + + checkBoundary(leftValue); + + return leftValue / Math.pow(10, baseNum); +} + +/** + * 高精度加法 + * @export + */ +export function plus(...nums) { + if (nums.length > 2) { + return iteratorOperation(nums, plus); + } + + const [num1, num2] = nums; + // 取最大的小数位 + const baseNum = Math.pow(10, Math.max(digitLength(num1), digitLength(num2))); + // 把小数都转为整数然后再计算 + return (times(num1, baseNum) + times(num2, baseNum)) / baseNum; +} + +/** + * 高精度减法 + * @export + */ +export function minus(...nums) { + if (nums.length > 2) { + return iteratorOperation(nums, minus); + } + + const [num1, num2] = nums; + const baseNum = Math.pow(10, Math.max(digitLength(num1), digitLength(num2))); + return (times(num1, baseNum) - times(num2, baseNum)) / baseNum; +} + +/** + * 高精度除法 + * @export + */ +export function divide(...nums) { + if (nums.length > 2) { + return iteratorOperation(nums, divide); + } + + const [num1, num2] = nums; + const num1Changed = float2Fixed(num1); + const num2Changed = float2Fixed(num2); + checkBoundary(num1Changed); + checkBoundary(num2Changed); + // 重要,这里必须用strip进行修正 + return times(num1Changed / num2Changed, strip(Math.pow(10, digitLength(num2) - digitLength(num1)))); +} + +/** + * 四舍五入 + * @export + */ +export function round(num, ratio) { + const base = Math.pow(10, ratio); + let result = divide(Math.round(Math.abs(times(num, base))), base); + if (num < 0 && result !== 0) { + result = times(result, -1); + } + // 位数不足则补0 + return result; +} + +/** + * 是否进行边界检查,默认开启 + * @param flag 标记开关,true 为开启,false 为关闭,默认为 true + * @export + */ +export function enableBoundaryChecking(flag = true) { + _boundaryCheckingState = flag; +} + + +export default { + times, + plus, + minus, + divide, + round, + enableBoundaryChecking, +}; + diff --git a/components/uview-ui/libs/function/getParent.js b/components/uview-ui/libs/function/getParent.js new file mode 100644 index 0000000..9cb45c4 --- /dev/null +++ b/components/uview-ui/libs/function/getParent.js @@ -0,0 +1,47 @@ +// 获取父组件的参数,因为支付宝小程序不支持provide/inject的写法 +// this.$parent在非H5中,可以准确获取到父组件,但是在H5中,需要多次this.$parent.$parent.xxx +export default function getParent(name, keys) { + let parent = this.$parent; + // 通过while历遍,这里主要是为了H5需要多层解析的问题 + while (parent) { + // 父组件 + if (parent.$options.name !== name) { + // 如果组件的name不相等,继续上一级寻找 + parent = parent.$parent; + } else { + let data = {}; + // 判断keys是否数组,如果传过来的是一个数组,那么直接使用数组元素值当做键值去父组件寻找 + if(Array.isArray(keys)) { + keys.map(val => { + data[val] = parent[val] ? parent[val] : ''; + }) + } else { + // 历遍传过来的对象参数 + for(let i in keys) { + // 如果子组件有此值则用,无此值则用父组件的值 + // 判断是否空数组,如果是,则用父组件的值,否则用子组件的值 + if(Array.isArray(keys[i])) { + if(keys[i].length) { + data[i] = keys[i]; + } else { + data[i] = parent[i]; + } + } else if(keys[i].constructor === Object) { + // 判断是否对象,如果是对象,且有属性,那么使用子组件的值,否则使用父组件的值 + if(Object.keys(keys[i]).length) { + data[i] = keys[i]; + } else { + data[i] = parent[i]; + } + } else { + // 只要子组件有传值,即使是false值,也是“传值”了,也需要覆盖父组件的同名参数 + data[i] = (keys[i] || keys[i] === false) ? keys[i] : parent[i]; + } + } + } + return data; + } + } + + return {}; +} \ No newline at end of file diff --git a/components/uview-ui/libs/function/guid.js b/components/uview-ui/libs/function/guid.js new file mode 100644 index 0000000..8497664 --- /dev/null +++ b/components/uview-ui/libs/function/guid.js @@ -0,0 +1,41 @@ +/** + * 本算法来源于简书开源代码,详见:https://www.jianshu.com/p/fdbf293d0a85 + * 全局唯一标识符(uuid,Globally Unique Identifier),也称作 uuid(Universally Unique IDentifier) + * 一般用于多个组件之间,给它一个唯一的标识符,或者v-for循环的时候,如果使用数组的index可能会导致更新列表出现问题 + * 最可能的情况是左滑删除item或者对某条信息流"不喜欢"并去掉它的时候,会导致组件内的数据可能出现错乱 + * v-for的时候,推荐使用后端返回的id而不是循环的index + * @param {Number} len uuid的长度 + * @param {Boolean} firstU 将返回的首字母置为"u" + * @param {Nubmer} radix 生成uuid的基数(意味着返回的字符串都是这个基数),2-二进制,8-八进制,10-十进制,16-十六进制 + */ +function guid(len = 32, firstU = true, radix = null) { + let chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split(''); + let uuid = []; + radix = radix || chars.length; + + if (len) { + // 如果指定uuid长度,只是取随机的字符,0|x为位运算,能去掉x的小数位,返回整数位 + for (let i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix]; + } else { + let r; + // rfc4122标准要求返回的uuid中,某些位为固定的字符 + uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-'; + uuid[14] = '4'; + + for (let i = 0; i < 36; i++) { + if (!uuid[i]) { + r = 0 | Math.random() * 16; + uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r]; + } + } + } + // 移除第一个字符,并用u替代,因为第一个字符为数值时,该guuid不能用作id或者class + if (firstU) { + uuid.shift(); + return 'u' + uuid.join(''); + } else { + return uuid.join(''); + } +} + +export default guid; diff --git a/components/uview-ui/libs/function/index.js b/components/uview-ui/libs/function/index.js new file mode 100644 index 0000000..bd80ee7 --- /dev/null +++ b/components/uview-ui/libs/function/index.js @@ -0,0 +1,731 @@ +import test from './test.js' +import { round } from './digit.js' +/** + * @description 如果value小于min,取min;如果value大于max,取max + * @param {number} min + * @param {number} max + * @param {number} value + */ +function range(min = 0, max = 0, value = 0) { + return Math.max(min, Math.min(max, Number(value))) +} + +/** + * @description 用于获取用户传递值的px值 如果用户传递了"xxpx"或者"xxrpx",取出其数值部分,如果是"xxxrpx"还需要用过uni.upx2px进行转换 + * @param {number|string} value 用户传递值的px值 + * @param {boolean} unit + * @returns {number|string} + */ +function getPx(value, unit = false) { + if (test.number(value)) { + return unit ? `${value}px` : Number(value) + } + // 如果带有rpx,先取出其数值部分,再转为px值 + if (/(rpx|upx)$/.test(value)) { + return unit ? `${uni.upx2px(parseInt(value))}px` : Number(uni.upx2px(parseInt(value))) + } + return unit ? `${parseInt(value)}px` : parseInt(value) +} + +/** + * @description 进行延时,以达到可以简写代码的目的 比如: await uni.$u.sleep(20)将会阻塞20ms + * @param {number} value 堵塞时间 单位ms 毫秒 + * @returns {Promise} 返回promise + */ +function sleep(value = 30) { + return new Promise((resolve) => { + setTimeout(() => { + resolve() + }, value) + }) +} +/** + * @description 运行期判断平台 + * @returns {string} 返回所在平台(小写) + * @link 运行期判断平台 https://uniapp.dcloud.io/frame?id=判断平台 + */ +function os() { + return uni.getSystemInfoSync().platform.toLowerCase() +} +/** + * @description 获取系统信息同步接口 + * @link 获取系统信息同步接口 https://uniapp.dcloud.io/api/system/info?id=getsysteminfosync + */ +function sys() { + return uni.getSystemInfoSync() +} + +/** + * @description 取一个区间数 + * @param {Number} min 最小值 + * @param {Number} max 最大值 + */ +function random(min, max) { + if (min >= 0 && max > 0 && max >= min) { + const gab = max - min + 1 + return Math.floor(Math.random() * gab + min) + } + return 0 +} + +/** + * @param {Number} len uuid的长度 + * @param {Boolean} firstU 将返回的首字母置为"u" + * @param {Nubmer} radix 生成uuid的基数(意味着返回的字符串都是这个基数),2-二进制,8-八进制,10-十进制,16-十六进制 + */ +function guid(len = 32, firstU = true, radix = null) { + const chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('') + const uuid = [] + radix = radix || chars.length + + if (len) { + // 如果指定uuid长度,只是取随机的字符,0|x为位运算,能去掉x的小数位,返回整数位 + for (let i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix] + } else { + let r + // rfc4122标准要求返回的uuid中,某些位为固定的字符 + uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-' + uuid[14] = '4' + + for (let i = 0; i < 36; i++) { + if (!uuid[i]) { + r = 0 | Math.random() * 16 + uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r] + } + } + } + // 移除第一个字符,并用u替代,因为第一个字符为数值时,该guuid不能用作id或者class + if (firstU) { + uuid.shift() + return `u${uuid.join('')}` + } + return uuid.join('') +} + +/** +* @description 获取父组件的参数,因为支付宝小程序不支持provide/inject的写法 + this.$parent在非H5中,可以准确获取到父组件,但是在H5中,需要多次this.$parent.$parent.xxx + 这里默认值等于undefined有它的含义,因为最顶层元素(组件)的$parent就是undefined,意味着不传name + 值(默认为undefined),就是查找最顶层的$parent +* @param {string|undefined} name 父组件的参数名 +*/ +function $parent(name = undefined) { + let parent = this.$parent + // 通过while历遍,这里主要是为了H5需要多层解析的问题 + while (parent) { + // 父组件 + if (parent.$options && parent.$options.name !== name) { + // 如果组件的name不相等,继续上一级寻找 + parent = parent.$parent + } else { + return parent + } + } + return false +} + +/** + * @description 样式转换 + * 对象转字符串,或者字符串转对象 + * @param {object | string} customStyle 需要转换的目标 + * @param {String} target 转换的目的,object-转为对象,string-转为字符串 + * @returns {object|string} + */ +function addStyle(customStyle, target = 'object') { + // 字符串转字符串,对象转对象情形,直接返回 + if (test.empty(customStyle) || typeof(customStyle) === 'object' && target === 'object' || target === 'string' && + typeof(customStyle) === 'string') { + return customStyle + } + // 字符串转对象 + if (target === 'object') { + // 去除字符串样式中的两端空格(中间的空格不能去掉,比如padding: 20px 0如果去掉了就错了),空格是无用的 + customStyle = trim(customStyle) + // 根据";"将字符串转为数组形式 + const styleArray = customStyle.split(';') + const style = {} + // 历遍数组,拼接成对象 + for (let i = 0; i < styleArray.length; i++) { + // 'font-size:20px;color:red;',如此最后字符串有";"的话,会导致styleArray最后一个元素为空字符串,这里需要过滤 + if (styleArray[i]) { + const item = styleArray[i].split(':') + style[trim(item[0])] = trim(item[1]) + } + } + return style + } + // 这里为对象转字符串形式 + let string = '' + for (const i in customStyle) { + // 驼峰转为中划线的形式,否则css内联样式,无法识别驼峰样式属性名 + const key = i.replace(/([A-Z])/g, '-$1').toLowerCase() + string += `${key}:${customStyle[i]};` + } + // 去除两端空格 + return trim(string) +} + +/** + * @description 添加单位,如果有rpx,upx,%,px等单位结尾或者值为auto,直接返回,否则加上px单位结尾 + * @param {string|number} value 需要添加单位的值 + * @param {string} unit 添加的单位名 比如px + */ +function addUnit(value = 'auto', unit = uni?.$u?.config?.unit ?? 'px') { + value = String(value) + // 用uView内置验证规则中的number判断是否为数值 + return test.number(value) ? `${value}${unit}` : value +} + +/** + * @description 深度克隆 + * @param {object} obj 需要深度克隆的对象 + * @param cache 缓存 + * @returns {*} 克隆后的对象或者原值(不是对象) + */ +function deepClone(obj, cache = new WeakMap()) { + if (obj === null || typeof obj !== 'object') return obj; + if (cache.has(obj)) return cache.get(obj); + let clone; + if (obj instanceof Date) { + clone = new Date(obj.getTime()); + } else if (obj instanceof RegExp) { + clone = new RegExp(obj); + } else if (obj instanceof Map) { + clone = new Map(Array.from(obj, ([key, value]) => [key, deepClone(value, cache)])); + } else if (obj instanceof Set) { + clone = new Set(Array.from(obj, value => deepClone(value, cache))); + } else if (Array.isArray(obj)) { + clone = obj.map(value => deepClone(value, cache)); + } else if (Object.prototype.toString.call(obj) === '[object Object]') { + clone = Object.create(Object.getPrototypeOf(obj)); + cache.set(obj, clone); + for (const [key, value] of Object.entries(obj)) { + clone[key] = deepClone(value, cache); + } + } else { + clone = Object.assign({}, obj); + } + cache.set(obj, clone); + return clone; +} + +/** + * @description JS对象深度合并 + * @param {object} target 需要拷贝的对象 + * @param {object} source 拷贝的来源对象 + * @returns {object|boolean} 深度合并后的对象或者false(入参有不是对象) + */ +function deepMerge(target = {}, source = {}) { + target = deepClone(target) + if (typeof target !== 'object' || target === null || typeof source !== 'object' || source === null) return target; + const merged = Array.isArray(target) ? target.slice() : Object.assign({}, target); + for (const prop in source) { + if (!source.hasOwnProperty(prop)) continue; + const sourceValue = source[prop]; + const targetValue = merged[prop]; + if (sourceValue instanceof Date) { + merged[prop] = new Date(sourceValue); + } else if (sourceValue instanceof RegExp) { + merged[prop] = new RegExp(sourceValue); + } else if (sourceValue instanceof Map) { + merged[prop] = new Map(sourceValue); + } else if (sourceValue instanceof Set) { + merged[prop] = new Set(sourceValue); + } else if (typeof sourceValue === 'object' && sourceValue !== null) { + merged[prop] = deepMerge(targetValue, sourceValue); + } else { + merged[prop] = sourceValue; + } + } + return merged; +} + +/** + * @description error提示 + * @param {*} err 错误内容 + */ +function error(err) { + // 开发环境才提示,生产环境不会提示 + if (process.env.NODE_ENV === 'development') { + console.error(`uView提示:${err}`) + } +} + +/** + * @description 打乱数组 + * @param {array} array 需要打乱的数组 + * @returns {array} 打乱后的数组 + */ +function randomArray(array = []) { + // 原理是sort排序,Math.random()产生0<= x < 1之间的数,会导致x-0.05大于或者小于0 + return array.sort(() => Math.random() - 0.5) +} + +// padStart 的 polyfill,因为某些机型或情况,还无法支持es7的padStart,比如电脑版的微信小程序 +// 所以这里做一个兼容polyfill的兼容处理 +if (!String.prototype.padStart) { + // 为了方便表示这里 fillString 用了ES6 的默认参数,不影响理解 + String.prototype.padStart = function(maxLength, fillString = ' ') { + if (Object.prototype.toString.call(fillString) !== '[object String]') { + throw new TypeError( + 'fillString must be String' + ) + } + const str = this + // 返回 String(str) 这里是为了使返回的值是字符串字面量,在控制台中更符合直觉 + if (str.length >= maxLength) return String(str) + + const fillLength = maxLength - str.length + let times = Math.ceil(fillLength / fillString.length) + while (times >>= 1) { + fillString += fillString + if (times === 1) { + fillString += fillString + } + } + return fillString.slice(0, fillLength) + str + } +} + +/** + * @description 格式化时间 + * @param {String|Number} dateTime 需要格式化的时间戳 + * @param {String} fmt 格式化规则 yyyy:mm:dd|yyyy:mm|yyyy年mm月dd日|yyyy年mm月dd日 hh时MM分等,可自定义组合 默认yyyy-mm-dd + * @returns {string} 返回格式化后的字符串 + */ + function timeFormat(dateTime = null, formatStr = 'yyyy-mm-dd') { + let date + // 若传入时间为假值,则取当前时间 + if (!dateTime) { + date = new Date() + } + // 若为unix秒时间戳,则转为毫秒时间戳(逻辑有点奇怪,但不敢改,以保证历史兼容) + else if (/^\d{10}$/.test(dateTime?.toString().trim())) { + date = new Date(dateTime * 1000) + } + // 若用户传入字符串格式时间戳,new Date无法解析,需做兼容 + else if (typeof dateTime === 'string' && /^\d+$/.test(dateTime.trim())) { + date = new Date(Number(dateTime)) + } + // 处理平台性差异,在Safari/Webkit中,new Date仅支持/作为分割符的字符串时间 + // 处理 '2022-07-10 01:02:03',跳过 '2022-07-10T01:02:03' + else if (typeof dateTime === 'string' && dateTime.includes('-') && !dateTime.includes('T')) { + date = new Date(dateTime.replace(/-/g, '/')) + } + // 其他都认为符合 RFC 2822 规范 + else { + date = new Date(dateTime) + } + + const timeSource = { + 'y': date.getFullYear().toString(), // 年 + 'm': (date.getMonth() + 1).toString().padStart(2, '0'), // 月 + 'd': date.getDate().toString().padStart(2, '0'), // 日 + 'h': date.getHours().toString().padStart(2, '0'), // 时 + 'M': date.getMinutes().toString().padStart(2, '0'), // 分 + 's': date.getSeconds().toString().padStart(2, '0') // 秒 + // 有其他格式化字符需求可以继续添加,必须转化成字符串 + } + + for (const key in timeSource) { + const [ret] = new RegExp(`${key}+`).exec(formatStr) || [] + if (ret) { + // 年可能只需展示两位 + const beginIndex = key === 'y' && ret.length === 2 ? 2 : 0 + formatStr = formatStr.replace(ret, timeSource[key].slice(beginIndex)) + } + } + + return formatStr +} + +/** + * @description 时间戳转为多久之前 + * @param {String|Number} timestamp 时间戳 + * @param {String|Boolean} format + * 格式化规则如果为时间格式字符串,超出一定时间范围,返回固定的时间格式; + * 如果为布尔值false,无论什么时间,都返回多久以前的格式 + * @returns {string} 转化后的内容 + */ +function timeFrom(timestamp = null, format = 'yyyy-mm-dd') { + if (timestamp == null) timestamp = Number(new Date()) + timestamp = parseInt(timestamp) + // 判断用户输入的时间戳是秒还是毫秒,一般前端js获取的时间戳是毫秒(13位),后端传过来的为秒(10位) + if (timestamp.toString().length == 10) timestamp *= 1000 + let timer = (new Date()).getTime() - timestamp + timer = parseInt(timer / 1000) + // 如果小于5分钟,则返回"刚刚",其他以此类推 + let tips = '' + switch (true) { + case timer < 300: + tips = '刚刚' + break + case timer >= 300 && timer < 3600: + tips = `${parseInt(timer / 60)}分钟前` + break + case timer >= 3600 && timer < 86400: + tips = `${parseInt(timer / 3600)}小时前` + break + case timer >= 86400 && timer < 2592000: + tips = `${parseInt(timer / 86400)}天前` + break + default: + // 如果format为false,则无论什么时间戳,都显示xx之前 + if (format === false) { + if (timer >= 2592000 && timer < 365 * 86400) { + tips = `${parseInt(timer / (86400 * 30))}个月前` + } else { + tips = `${parseInt(timer / (86400 * 365))}年前` + } + } else { + tips = timeFormat(timestamp, format) + } + } + return tips +} + +/** + * @description 去除空格 + * @param String str 需要去除空格的字符串 + * @param String pos both(左右)|left|right|all 默认both + */ +function trim(str, pos = 'both') { + str = String(str) + if (pos == 'both') { + return str.replace(/^\s+|\s+$/g, '') + } + if (pos == 'left') { + return str.replace(/^\s*/, '') + } + if (pos == 'right') { + return str.replace(/(\s*$)/g, '') + } + if (pos == 'all') { + return str.replace(/\s+/g, '') + } + return str +} + +/** + * @description 对象转url参数 + * @param {object} data,对象 + * @param {Boolean} isPrefix,是否自动加上"?" + * @param {string} arrayFormat 规则 indices|brackets|repeat|comma + */ +function queryParams(data = {}, isPrefix = true, arrayFormat = 'brackets') { + const prefix = isPrefix ? '?' : '' + const _result = [] + if (['indices', 'brackets', 'repeat', 'comma'].indexOf(arrayFormat) == -1) arrayFormat = 'brackets' + for (const key in data) { + const value = data[key] + // 去掉为空的参数 + if (['', undefined, null].indexOf(value) >= 0) { + continue + } + // 如果值为数组,另行处理 + if (value.constructor === Array) { + // e.g. {ids: [1, 2, 3]} + switch (arrayFormat) { + case 'indices': + // 结果: ids[0]=1&ids[1]=2&ids[2]=3 + for (let i = 0; i < value.length; i++) { + _result.push(`${key}[${i}]=${value[i]}`) + } + break + case 'brackets': + // 结果: ids[]=1&ids[]=2&ids[]=3 + value.forEach((_value) => { + _result.push(`${key}[]=${_value}`) + }) + break + case 'repeat': + // 结果: ids=1&ids=2&ids=3 + value.forEach((_value) => { + _result.push(`${key}=${_value}`) + }) + break + case 'comma': + // 结果: ids=1,2,3 + let commaStr = '' + value.forEach((_value) => { + commaStr += (commaStr ? ',' : '') + _value + }) + _result.push(`${key}=${commaStr}`) + break + default: + value.forEach((_value) => { + _result.push(`${key}[]=${_value}`) + }) + } + } else { + _result.push(`${key}=${value}`) + } + } + return _result.length ? prefix + _result.join('&') : '' +} + +/** + * 显示消息提示框 + * @param {String} title 提示的内容,长度与 icon 取值有关。 + * @param {Number} duration 提示的延迟时间,单位毫秒,默认:2000 + */ +function toast(title, duration = 2000) { + uni.showToast({ + title: String(title), + icon: 'none', + duration + }) +} + +/** + * @description 根据主题type值,获取对应的图标 + * @param {String} type 主题名称,primary|info|error|warning|success + * @param {boolean} fill 是否使用fill填充实体的图标 + */ +function type2icon(type = 'success', fill = false) { + // 如果非预置值,默认为success + if (['primary', 'info', 'error', 'warning', 'success'].indexOf(type) == -1) type = 'success' + let iconName = '' + // 目前(2019-12-12),info和primary使用同一个图标 + switch (type) { + case 'primary': + iconName = 'info-circle' + break + case 'info': + iconName = 'info-circle' + break + case 'error': + iconName = 'close-circle' + break + case 'warning': + iconName = 'error-circle' + break + case 'success': + iconName = 'checkmark-circle' + break + default: + iconName = 'checkmark-circle' + } + // 是否是实体类型,加上-fill,在icon组件库中,实体的类名是后面加-fill的 + if (fill) iconName += '-fill' + return iconName +} + +/** + * @description 数字格式化 + * @param {number|string} number 要格式化的数字 + * @param {number} decimals 保留几位小数 + * @param {string} decimalPoint 小数点符号 + * @param {string} thousandsSeparator 千分位符号 + * @returns {string} 格式化后的数字 + */ +function priceFormat(number, decimals = 0, decimalPoint = '.', thousandsSeparator = ',') { + number = (`${number}`).replace(/[^0-9+-Ee.]/g, '') + const n = !isFinite(+number) ? 0 : +number + const prec = !isFinite(+decimals) ? 0 : Math.abs(decimals) + const sep = (typeof thousandsSeparator === 'undefined') ? ',' : thousandsSeparator + const dec = (typeof decimalPoint === 'undefined') ? '.' : decimalPoint + let s = '' + + s = (prec ? round(n, prec) + '' : `${Math.round(n)}`).split('.') + const re = /(-?\d+)(\d{3})/ + while (re.test(s[0])) { + s[0] = s[0].replace(re, `$1${sep}$2`) + } + + if ((s[1] || '').length < prec) { + s[1] = s[1] || '' + s[1] += new Array(prec - s[1].length + 1).join('0') + } + return s.join(dec) +} + +/** + * @description 获取duration值 + * 如果带有ms或者s直接返回,如果大于一定值,认为是ms单位,小于一定值,认为是s单位 + * 比如以30位阈值,那么300大于30,可以理解为用户想要的是300ms,而不是想花300s去执行一个动画 + * @param {String|number} value 比如: "1s"|"100ms"|1|100 + * @param {boolean} unit 提示: 如果是false 默认返回number + * @return {string|number} + */ +function getDuration(value, unit = true) { + const valueNum = parseInt(value) + if (unit) { + if (/s$/.test(value)) return value + return value > 30 ? `${value}ms` : `${value}s` + } + if (/ms$/.test(value)) return valueNum + if (/s$/.test(value)) return valueNum > 30 ? valueNum : valueNum * 1000 + return valueNum +} + +/** + * @description 日期的月或日补零操作 + * @param {String} value 需要补零的值 + */ +function padZero(value) { + return `00${value}`.slice(-2) +} + +/** + * @description 在u-form的子组件内容发生变化,或者失去焦点时,尝试通知u-form执行校验方法 + * @param {*} instance + * @param {*} event + */ +function formValidate(instance, event) { + const formItem = uni.$u.$parent.call(instance, 'u-form-item') + const form = uni.$u.$parent.call(instance, 'u-form') + // 如果发生变化的input或者textarea等,其父组件中有u-form-item或者u-form等,就执行form的validate方法 + // 同时将form-item的pros传递给form,让其进行精确对象验证 + if (formItem && form) { + form.validateField(formItem.prop, () => {}, event) + } +} + +/** + * @description 获取某个对象下的属性,用于通过类似'a.b.c'的形式去获取一个对象的的属性的形式 + * @param {object} obj 对象 + * @param {string} key 需要获取的属性字段 + * @returns {*} + */ +function getProperty(obj, key) { + if (!obj) { + return + } + if (typeof key !== 'string' || key === '') { + return '' + } + if (key.indexOf('.') !== -1) { + const keys = key.split('.') + let firstObj = obj[keys[0]] || {} + + for (let i = 1; i < keys.length; i++) { + if (firstObj) { + firstObj = firstObj[keys[i]] + } + } + return firstObj + } + return obj[key] +} + +/** + * @description 设置对象的属性值,如果'a.b.c'的形式进行设置 + * @param {object} obj 对象 + * @param {string} key 需要设置的属性 + * @param {string} value 设置的值 + */ +function setProperty(obj, key, value) { + if (!obj) { + return + } + // 递归赋值 + const inFn = function(_obj, keys, v) { + // 最后一个属性key + if (keys.length === 1) { + _obj[keys[0]] = v + return + } + // 0~length-1个key + while (keys.length > 1) { + const k = keys[0] + if (!_obj[k] || (typeof _obj[k] !== 'object')) { + _obj[k] = {} + } + const key = keys.shift() + // 自调用判断是否存在属性,不存在则自动创建对象 + inFn(_obj[k], keys, v) + } + } + + if (typeof key !== 'string' || key === '') { + + } else if (key.indexOf('.') !== -1) { // 支持多层级赋值操作 + const keys = key.split('.') + inFn(obj, keys, value) + } else { + obj[key] = value + } +} + +/** + * @description 获取当前页面路径 + */ +function page() { + const pages = getCurrentPages() + // 某些特殊情况下(比如页面进行redirectTo时的一些时机),pages可能为空数组 + return `/${pages[pages.length - 1]?.route ?? ''}` +} + +/** + * @description 获取当前路由栈实例数组 + */ +function pages() { + const pages = getCurrentPages() + return pages +} + +/** + * 获取页面历史栈指定层实例 + * @param back {number} [0] - 0或者负数,表示获取历史栈的哪一层,0表示获取当前页面实例,-1 表示获取上一个页面实例。默认0。 + */ +function getHistoryPage(back = 0) { + const pages = getCurrentPages() + const len = pages.length + return pages[len - 1 + back] +} + +/** + * @description 修改uView内置属性值 + * @param {object} props 修改内置props属性 + * @param {object} config 修改内置config属性 + * @param {object} color 修改内置color属性 + * @param {object} zIndex 修改内置zIndex属性 + */ +function setConfig({ + props = {}, + config = {}, + color = {}, + zIndex = {} +}) { + const { + deepMerge, + } = uni.$u + uni.$u.config = deepMerge(uni.$u.config, config) + uni.$u.props = deepMerge(uni.$u.props, props) + uni.$u.color = deepMerge(uni.$u.color, color) + uni.$u.zIndex = deepMerge(uni.$u.zIndex, zIndex) +} + +export default { + range, + getPx, + sleep, + os, + sys, + random, + guid, + $parent, + addStyle, + addUnit, + deepClone, + deepMerge, + error, + randomArray, + timeFormat, + timeFrom, + trim, + queryParams, + toast, + type2icon, + priceFormat, + getDuration, + padZero, + formValidate, + getProperty, + setProperty, + page, + pages, + getHistoryPage, + setConfig +} diff --git a/components/uview-ui/libs/function/md5.js b/components/uview-ui/libs/function/md5.js new file mode 100644 index 0000000..8d541a1 --- /dev/null +++ b/components/uview-ui/libs/function/md5.js @@ -0,0 +1,385 @@ +/* + * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message + * Digest Algorithm, as defined in RFC 1321. + * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009 + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * Distributed under the BSD License + * See http://pajhome.org.uk/crypt/md5 for more info. + */ + +/* + * Configurable variables. You may need to tweak these to be compatible with + * the server-side, but the defaults work in most cases. + */ +var hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */ +var b64pad = ""; /* base-64 pad character. "=" for strict RFC compliance */ + +/* + * These are the functions you'll usually want to call + * They take string arguments and return either hex or base-64 encoded strings + */ +function hex_md5(s) { return rstr2hex(rstr_md5(str2rstr_utf8(s))); } +function b64_md5(s) { return rstr2b64(rstr_md5(str2rstr_utf8(s))); } +function any_md5(s, e) { return rstr2any(rstr_md5(str2rstr_utf8(s)), e); } +function hex_hmac_md5(k, d) + { return rstr2hex(rstr_hmac_md5(str2rstr_utf8(k), str2rstr_utf8(d))); } +function b64_hmac_md5(k, d) + { return rstr2b64(rstr_hmac_md5(str2rstr_utf8(k), str2rstr_utf8(d))); } +function any_hmac_md5(k, d, e) + { return rstr2any(rstr_hmac_md5(str2rstr_utf8(k), str2rstr_utf8(d)), e); } + +/* + * Perform a simple self-test to see if the VM is working + */ +function md5_vm_test() +{ + return hex_md5("abc").toLowerCase() == "900150983cd24fb0d6963f7d28e17f72"; +} + +/* + * Calculate the MD5 of a raw string + */ +function rstr_md5(s) +{ + return binl2rstr(binl_md5(rstr2binl(s), s.length * 8)); +} + +/* + * Calculate the HMAC-MD5, of a key and some data (raw strings) + */ +function rstr_hmac_md5(key, data) +{ + var bkey = rstr2binl(key); + if(bkey.length > 16) bkey = binl_md5(bkey, key.length * 8); + + var ipad = Array(16), opad = Array(16); + for(var i = 0; i < 16; i++) + { + ipad[i] = bkey[i] ^ 0x36363636; + opad[i] = bkey[i] ^ 0x5C5C5C5C; + } + + var hash = binl_md5(ipad.concat(rstr2binl(data)), 512 + data.length * 8); + return binl2rstr(binl_md5(opad.concat(hash), 512 + 128)); +} + +/* + * Convert a raw string to a hex string + */ +function rstr2hex(input) +{ + try { hexcase } catch(e) { hexcase=0; } + var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef"; + var output = ""; + var x; + for(var i = 0; i < input.length; i++) + { + x = input.charCodeAt(i); + output += hex_tab.charAt((x >>> 4) & 0x0F) + + hex_tab.charAt( x & 0x0F); + } + return output; +} + +/* + * Convert a raw string to a base-64 string + */ +function rstr2b64(input) +{ + try { b64pad } catch(e) { b64pad=''; } + var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + var output = ""; + var len = input.length; + for(var i = 0; i < len; i += 3) + { + var triplet = (input.charCodeAt(i) << 16) + | (i + 1 < len ? input.charCodeAt(i+1) << 8 : 0) + | (i + 2 < len ? input.charCodeAt(i+2) : 0); + for(var j = 0; j < 4; j++) + { + if(i * 8 + j * 6 > input.length * 8) output += b64pad; + else output += tab.charAt((triplet >>> 6*(3-j)) & 0x3F); + } + } + return output; +} + +/* + * Convert a raw string to an arbitrary string encoding + */ +function rstr2any(input, encoding) +{ + var divisor = encoding.length; + var i, j, q, x, quotient; + + /* Convert to an array of 16-bit big-endian values, forming the dividend */ + var dividend = Array(Math.ceil(input.length / 2)); + for(i = 0; i < dividend.length; i++) + { + dividend[i] = (input.charCodeAt(i * 2) << 8) | input.charCodeAt(i * 2 + 1); + } + + /* + * Repeatedly perform a long division. The binary array forms the dividend, + * the length of the encoding is the divisor. Once computed, the quotient + * forms the dividend for the next step. All remainders are stored for later + * use. + */ + var full_length = Math.ceil(input.length * 8 / + (Math.log(encoding.length) / Math.log(2))); + var remainders = Array(full_length); + for(j = 0; j < full_length; j++) + { + quotient = Array(); + x = 0; + for(i = 0; i < dividend.length; i++) + { + x = (x << 16) + dividend[i]; + q = Math.floor(x / divisor); + x -= q * divisor; + if(quotient.length > 0 || q > 0) + quotient[quotient.length] = q; + } + remainders[j] = x; + dividend = quotient; + } + + /* Convert the remainders to the output string */ + var output = ""; + for(i = remainders.length - 1; i >= 0; i--) + output += encoding.charAt(remainders[i]); + + return output; +} + +/* + * Encode a string as utf-8. + * For efficiency, this assumes the input is valid utf-16. + */ +function str2rstr_utf8(input) +{ + var output = ""; + var i = -1; + var x, y; + + while(++i < input.length) + { + /* Decode utf-16 surrogate pairs */ + x = input.charCodeAt(i); + y = i + 1 < input.length ? input.charCodeAt(i + 1) : 0; + if(0xD800 <= x && x <= 0xDBFF && 0xDC00 <= y && y <= 0xDFFF) + { + x = 0x10000 + ((x & 0x03FF) << 10) + (y & 0x03FF); + i++; + } + + /* Encode output as utf-8 */ + if(x <= 0x7F) + output += String.fromCharCode(x); + else if(x <= 0x7FF) + output += String.fromCharCode(0xC0 | ((x >>> 6 ) & 0x1F), + 0x80 | ( x & 0x3F)); + else if(x <= 0xFFFF) + output += String.fromCharCode(0xE0 | ((x >>> 12) & 0x0F), + 0x80 | ((x >>> 6 ) & 0x3F), + 0x80 | ( x & 0x3F)); + else if(x <= 0x1FFFFF) + output += String.fromCharCode(0xF0 | ((x >>> 18) & 0x07), + 0x80 | ((x >>> 12) & 0x3F), + 0x80 | ((x >>> 6 ) & 0x3F), + 0x80 | ( x & 0x3F)); + } + return output; +} + +/* + * Encode a string as utf-16 + */ +function str2rstr_utf16le(input) +{ + var output = ""; + for(var i = 0; i < input.length; i++) + output += String.fromCharCode( input.charCodeAt(i) & 0xFF, + (input.charCodeAt(i) >>> 8) & 0xFF); + return output; +} + +function str2rstr_utf16be(input) +{ + var output = ""; + for(var i = 0; i < input.length; i++) + output += String.fromCharCode((input.charCodeAt(i) >>> 8) & 0xFF, + input.charCodeAt(i) & 0xFF); + return output; +} + +/* + * Convert a raw string to an array of little-endian words + * Characters >255 have their high-byte silently ignored. + */ +function rstr2binl(input) +{ + var output = Array(input.length >> 2); + for(var i = 0; i < output.length; i++) + output[i] = 0; + for(var i = 0; i < input.length * 8; i += 8) + output[i>>5] |= (input.charCodeAt(i / 8) & 0xFF) << (i%32); + return output; +} + +/* + * Convert an array of little-endian words to a string + */ +function binl2rstr(input) +{ + var output = ""; + for(var i = 0; i < input.length * 32; i += 8) + output += String.fromCharCode((input[i>>5] >>> (i % 32)) & 0xFF); + return output; +} + +/* + * Calculate the MD5 of an array of little-endian words, and a bit length. + */ +function binl_md5(x, len) +{ + /* append padding */ + x[len >> 5] |= 0x80 << ((len) % 32); + x[(((len + 64) >>> 9) << 4) + 14] = len; + + var a = 1732584193; + var b = -271733879; + var c = -1732584194; + var d = 271733878; + + for(var i = 0; i < x.length; i += 16) + { + var olda = a; + var oldb = b; + var oldc = c; + var oldd = d; + + a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936); + d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586); + c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819); + b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330); + a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897); + d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426); + c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341); + b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983); + a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416); + d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417); + c = md5_ff(c, d, a, b, x[i+10], 17, -42063); + b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162); + a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682); + d = md5_ff(d, a, b, c, x[i+13], 12, -40341101); + c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290); + b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329); + + a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510); + d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632); + c = md5_gg(c, d, a, b, x[i+11], 14, 643717713); + b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302); + a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691); + d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083); + c = md5_gg(c, d, a, b, x[i+15], 14, -660478335); + b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848); + a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438); + d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690); + c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961); + b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501); + a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467); + d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784); + c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473); + b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734); + + a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558); + d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463); + c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562); + b = md5_hh(b, c, d, a, x[i+14], 23, -35309556); + a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060); + d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353); + c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632); + b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640); + a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174); + d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222); + c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979); + b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189); + a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487); + d = md5_hh(d, a, b, c, x[i+12], 11, -421815835); + c = md5_hh(c, d, a, b, x[i+15], 16, 530742520); + b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651); + + a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844); + d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415); + c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905); + b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055); + a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571); + d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606); + c = md5_ii(c, d, a, b, x[i+10], 15, -1051523); + b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799); + a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359); + d = md5_ii(d, a, b, c, x[i+15], 10, -30611744); + c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380); + b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649); + a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070); + d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379); + c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259); + b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551); + + a = safe_add(a, olda); + b = safe_add(b, oldb); + c = safe_add(c, oldc); + d = safe_add(d, oldd); + } + return Array(a, b, c, d); +} + +/* + * These functions implement the four basic operations the algorithm uses. + */ +function md5_cmn(q, a, b, x, s, t) +{ + return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b); +} +function md5_ff(a, b, c, d, x, s, t) +{ + return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t); +} +function md5_gg(a, b, c, d, x, s, t) +{ + return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t); +} +function md5_hh(a, b, c, d, x, s, t) +{ + return md5_cmn(b ^ c ^ d, a, b, x, s, t); +} +function md5_ii(a, b, c, d, x, s, t) +{ + return md5_cmn(c ^ (b | (~d)), a, b, x, s, t); +} + +/* + * Add integers, wrapping at 2^32. This uses 16-bit operations internally + * to work around bugs in some JS interpreters. + */ +function safe_add(x, y) +{ + var lsw = (x & 0xFFFF) + (y & 0xFFFF); + var msw = (x >> 16) + (y >> 16) + (lsw >> 16); + return (msw << 16) | (lsw & 0xFFFF); +} + +/* + * Bitwise rotate a 32-bit number to the left. + */ +function bit_rol(num, cnt) +{ + return (num << cnt) | (num >>> (32 - cnt)); +} + +module.exports = { + md5 : function(str){ + return hex_md5(str); + } +} \ No newline at end of file diff --git a/components/uview-ui/libs/function/platform.js b/components/uview-ui/libs/function/platform.js new file mode 100644 index 0000000..d6b926e --- /dev/null +++ b/components/uview-ui/libs/function/platform.js @@ -0,0 +1,75 @@ +/** + * 注意: + * 此部分内容,在vue-cli模式下,需要在vue.config.js加入如下内容才有效: + * module.exports = { + * transpileDependencies: ['uview-v2'] + * } + */ + +let platform = 'none' + +// #ifdef VUE3 +platform = 'vue3' +// #endif + +// #ifdef VUE2 +platform = 'vue2' +// #endif + +// #ifdef APP-PLUS +platform = 'plus' +// #endif + +// #ifdef APP-NVUE +platform = 'nvue' +// #endif + +// #ifdef H5 +platform = 'h5' +// #endif + +// #ifdef MP-WEIXIN +platform = 'weixin' +// #endif + +// #ifdef MP-ALIPAY +platform = 'alipay' +// #endif + +// #ifdef MP-BAIDU +platform = 'baidu' +// #endif + +// #ifdef MP-TOUTIAO +platform = 'toutiao' +// #endif + +// #ifdef MP-QQ +platform = 'qq' +// #endif + +// #ifdef MP-KUAISHOU +platform = 'kuaishou' +// #endif + +// #ifdef MP-360 +platform = '360' +// #endif + +// #ifdef MP +platform = 'mp' +// #endif + +// #ifdef QUICKAPP-WEBVIEW +platform = 'quickapp-webview' +// #endif + +// #ifdef QUICKAPP-WEBVIEW-HUAWEI +platform = 'quickapp-webview-huawei' +// #endif + +// #ifdef QUICKAPP-WEBVIEW-UNION +platform = 'quckapp-webview-union' +// #endif + +export default platform diff --git a/components/uview-ui/libs/function/queryParams.js b/components/uview-ui/libs/function/queryParams.js new file mode 100644 index 0000000..81c7e5e --- /dev/null +++ b/components/uview-ui/libs/function/queryParams.js @@ -0,0 +1,58 @@ +/** + * 对象转url参数 + * @param {*} data,对象 + * @param {*} isPrefix,是否自动加上"?" + */ +function queryParams(data = {}, isPrefix = true, arrayFormat = 'brackets') { + let prefix = isPrefix ? '?' : '' + let _result = [] + if (['indices', 'brackets', 'repeat', 'comma'].indexOf(arrayFormat) == -1) arrayFormat = 'brackets'; + for (let key in data) { + let value = data[key] + // 去掉为空的参数 + if (['', undefined, null].indexOf(value) >= 0) { + continue; + } + // 如果值为数组,另行处理 + if (value.constructor === Array) { + // e.g. {ids: [1, 2, 3]} + switch (arrayFormat) { + case 'indices': + // 结果: ids[0]=1&ids[1]=2&ids[2]=3 + for (let i = 0; i < value.length; i++) { + _result.push(key + '[' + i + ']=' + value[i]) + } + break; + case 'brackets': + // 结果: ids[]=1&ids[]=2&ids[]=3 + value.forEach(_value => { + _result.push(key + '[]=' + _value) + }) + break; + case 'repeat': + // 结果: ids=1&ids=2&ids=3 + value.forEach(_value => { + _result.push(key + '=' + _value) + }) + break; + case 'comma': + // 结果: ids=1,2,3 + let commaStr = ""; + value.forEach(_value => { + commaStr += (commaStr ? "," : "") + _value; + }) + _result.push(key + '=' + commaStr) + break; + default: + value.forEach(_value => { + _result.push(key + '[]=' + _value) + }) + } + } else { + _result.push(key + '=' + value) + } + } + return _result.length ? prefix + _result.join('&') : '' +} + +export default queryParams; diff --git a/components/uview-ui/libs/function/random.js b/components/uview-ui/libs/function/random.js new file mode 100644 index 0000000..e155279 --- /dev/null +++ b/components/uview-ui/libs/function/random.js @@ -0,0 +1,10 @@ +function random(min, max) { + if (min >= 0 && max > 0 && max >= min) { + let gab = max - min + 1; + return Math.floor(Math.random() * gab + min); + } else { + return 0; + } +} + +export default random; diff --git a/components/uview-ui/libs/function/randomArray.js b/components/uview-ui/libs/function/randomArray.js new file mode 100644 index 0000000..590a048 --- /dev/null +++ b/components/uview-ui/libs/function/randomArray.js @@ -0,0 +1,7 @@ +// 打乱数组 +function randomArray(array = []) { + // 原理是sort排序,Math.random()产生0<= x < 1之间的数,会导致x-0.05大于或者小于0 + return array.sort(() => Math.random() - 0.5); +} + +export default randomArray diff --git a/components/uview-ui/libs/function/route.js b/components/uview-ui/libs/function/route.js new file mode 100644 index 0000000..28a81b7 --- /dev/null +++ b/components/uview-ui/libs/function/route.js @@ -0,0 +1,122 @@ +/** + * 路由跳转方法,该方法相对于直接使用uni.xxx的好处是使用更加简单快捷 + * 并且带有路由拦截功能 + */ + +class Router { + constructor() { + // 原始属性定义 + this.config = { + type: 'navigateTo', + url: '', + delta: 1, // navigateBack页面后退时,回退的层数 + params: {}, // 传递的参数 + animationType: 'pop-in', // 窗口动画,只在APP有效 + animationDuration: 300, // 窗口动画持续时间,单位毫秒,只在APP有效 + intercept: false, // 是否需要拦截 + } + // 因为route方法是需要对外赋值给另外的对象使用,同时route内部有使用this,会导致route失去上下文 + // 这里在构造函数中进行this绑定 + this.route = this.route.bind(this) + } + + // 判断url前面是否有"/",如果没有则加上,否则无法跳转 + addRootPath(url) { + return url[0] === '/' ? url : `/${url}` + } + + // 整合路由参数 + mixinParam(url, params) { + url = url && this.addRootPath(url) + + // 使用正则匹配,主要依据是判断是否有"/","?","="等,如“/page/index/index?name=mary" + // 如果有url中有get参数,转换后无需带上"?" + let query = '' + if (/.*\/.*\?.*=.*/.test(url)) { + // object对象转为get类型的参数 + query = uni.$u.queryParams(params, false); + // 因为已有get参数,所以后面拼接的参数需要带上"&"隔开 + return url += "&" + query + } else { + // 直接拼接参数,因为此处url中没有后面的query参数,也就没有"?/&"之类的符号 + query = uni.$u.queryParams(params); + return url += query + } + } + + // 对外的方法名称 + async route(options = {}, params = {}) { + // 合并用户的配置和内部的默认配置 + let mergeConfig = {} + + if (typeof options === 'string') { + // 如果options为字符串,则为route(url, params)的形式 + mergeConfig.url = this.mixinParam(options, params) + mergeConfig.type = 'navigateTo' + } else { + mergeConfig = uni.$u.deepClone(options, this.config) + // 否则正常使用mergeConfig中的url和params进行拼接 + mergeConfig.url = this.mixinParam(options.url, options.params) + } + + if(params.intercept) { + this.config.intercept = params.intercept + } + // params参数也带给拦截器 + mergeConfig.params = params + // 合并内外部参数 + mergeConfig = uni.$u.deepMerge(this.config, mergeConfig) + // 判断用户是否定义了拦截器 + if (typeof uni.$u.routeIntercept === 'function') { + // 定一个promise,根据用户执行resolve(true)或者resolve(false)来决定是否进行路由跳转 + const isNext = await new Promise((resolve, reject) => { + uni.$u.routeIntercept(mergeConfig, resolve) + }) + // 如果isNext为true,则执行路由跳转 + isNext && this.openPage(mergeConfig) + } else { + this.openPage(mergeConfig) + } + } + + // 执行路由跳转 + openPage(config) { + // 解构参数 + const { + url, + type, + delta, + animationType, + animationDuration + } = config + if (config.type == 'navigateTo' || config.type == 'to') { + uni.navigateTo({ + url, + animationType, + animationDuration + }); + } + if (config.type == 'redirectTo' || config.type == 'redirect') { + uni.redirectTo({ + url + }); + } + if (config.type == 'switchTab' || config.type == 'tab') { + uni.switchTab({ + url + }); + } + if (config.type == 'reLaunch' || config.type == 'launch') { + uni.reLaunch({ + url + }); + } + if (config.type == 'navigateBack' || config.type == 'back') { + uni.navigateBack({ + delta + }); + } + } +} + +export default (new Router()).route \ No newline at end of file diff --git a/components/uview-ui/libs/function/sys.js b/components/uview-ui/libs/function/sys.js new file mode 100644 index 0000000..00f6a28 --- /dev/null +++ b/components/uview-ui/libs/function/sys.js @@ -0,0 +1,9 @@ +export function os() { + return uni.getSystemInfoSync().platform; +}; + +export function sys() { + return uni.getSystemInfoSync(); +} + + diff --git a/components/uview-ui/libs/function/test.js b/components/uview-ui/libs/function/test.js new file mode 100644 index 0000000..c776437 --- /dev/null +++ b/components/uview-ui/libs/function/test.js @@ -0,0 +1,288 @@ +/** + * 验证电子邮箱格式 + */ +function email(value) { + return /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(value) +} + +/** + * 验证手机格式 + */ +function mobile(value) { + return /^1([3589]\d|4[5-9]|6[1-2,4-7]|7[0-8])\d{8}$/.test(value) +} + +/** + * 验证URL格式 + */ +function url(value) { + return /^((https|http|ftp|rtsp|mms):\/\/)(([0-9a-zA-Z_!~*'().&=+$%-]+: )?[0-9a-zA-Z_!~*'().&=+$%-]+@)?(([0-9]{1,3}.){3}[0-9]{1,3}|([0-9a-zA-Z_!~*'()-]+.)*([0-9a-zA-Z][0-9a-zA-Z-]{0,61})?[0-9a-zA-Z].[a-zA-Z]{2,6})(:[0-9]{1,4})?((\/?)|(\/[0-9a-zA-Z_!~*'().;?:@&=+$,%#-]+)+\/?)$/ + .test(value) +} + +/** + * 验证日期格式 + */ +function date(value) { + if (!value) return false + // 判断是否数值或者字符串数值(意味着为时间戳),转为数值,否则new Date无法识别字符串时间戳 + if (number(value)) value = +value + return !/Invalid|NaN/.test(new Date(value).toString()) +} + +/** + * 验证ISO类型的日期格式 + */ +function dateISO(value) { + return /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(value) +} + +/** + * 验证十进制数字 + */ +function number(value) { + return /^[\+-]?(\d+\.?\d*|\.\d+|\d\.\d+e\+\d+)$/.test(value) +} + +/** + * 验证字符串 + */ +function string(value) { + return typeof value === 'string' +} + +/** + * 验证整数 + */ +function digits(value) { + return /^\d+$/.test(value) +} + +/** + * 验证身份证号码 + */ +function idCard(value) { + return /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/.test( + value + ) +} + +/** + * 是否车牌号 + */ +function carNo(value) { + // 新能源车牌 + const xreg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/ + // 旧车牌 + const creg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/ + if (value.length === 7) { + return creg.test(value) + } if (value.length === 8) { + return xreg.test(value) + } + return false +} + +/** + * 金额,只允许2位小数 + */ +function amount(value) { + // 金额,只允许保留两位小数 + return /^[1-9]\d*(,\d{3})*(\.\d{1,2})?$|^0\.\d{1,2}$/.test(value) +} + +/** + * 中文 + */ +function chinese(value) { + const reg = /^[\u4e00-\u9fa5]+$/gi + return reg.test(value) +} + +/** + * 只能输入字母 + */ +function letter(value) { + return /^[a-zA-Z]*$/.test(value) +} + +/** + * 只能是字母或者数字 + */ +function enOrNum(value) { + // 英文或者数字 + const reg = /^[0-9a-zA-Z]*$/g + return reg.test(value) +} + +/** + * 验证是否包含某个值 + */ +function contains(value, param) { + return value.indexOf(param) >= 0 +} + +/** + * 验证一个值范围[min, max] + */ +function range(value, param) { + return value >= param[0] && value <= param[1] +} + +/** + * 验证一个长度范围[min, max] + */ +function rangeLength(value, param) { + return value.length >= param[0] && value.length <= param[1] +} + +/** + * 是否固定电话 + */ +function landline(value) { + const reg = /^\d{3,4}-\d{7,8}(-\d{3,4})?$/ + return reg.test(value) +} + +/** + * 判断是否为空 + */ +function empty(value) { + switch (typeof value) { + case 'undefined': + return true + case 'string': + if (value.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g, '').length == 0) return true + break + case 'boolean': + if (!value) return true + break + case 'number': + if (value === 0 || isNaN(value)) return true + break + case 'object': + if (value === null || value.length === 0) return true + for (const i in value) { + return false + } + return true + } + return false +} + +/** + * 是否json字符串 + */ +function jsonString(value) { + if (typeof value === 'string') { + try { + const obj = JSON.parse(value) + if (typeof obj === 'object' && obj) { + return true + } + return false + } catch (e) { + return false + } + } + return false +} + +/** + * 是否数组 + */ +function array(value) { + if (typeof Array.isArray === 'function') { + return Array.isArray(value) + } + return Object.prototype.toString.call(value) === '[object Array]' +} + +/** + * 是否对象 + */ +function object(value) { + return Object.prototype.toString.call(value) === '[object Object]' +} + +/** + * 是否短信验证码 + */ +function code(value, len = 6) { + return new RegExp(`^\\d{${len}}$`).test(value) +} + +/** + * 是否函数方法 + * @param {Object} value + */ +function func(value) { + return typeof value === 'function' +} + +/** + * 是否promise对象 + * @param {Object} value + */ +function promise(value) { + return object(value) && func(value.then) && func(value.catch) +} + +/** 是否图片格式 + * @param {Object} value + */ +function image(value) { + const newValue = value.split('?')[0] + const IMAGE_REGEXP = /\.(jpeg|jpg|gif|png|svg|webp|jfif|bmp|dpg)/i + return IMAGE_REGEXP.test(newValue) +} + +/** + * 是否视频格式 + * @param {Object} value + */ +function video(value) { + const VIDEO_REGEXP = /\.(mp4|mpg|mpeg|dat|asf|avi|rm|rmvb|mov|wmv|flv|mkv|m3u8)/i + return VIDEO_REGEXP.test(value) +} + +/** + * 是否为正则对象 + * @param {Object} + * @return {Boolean} + */ +function regExp(o) { + return o && Object.prototype.toString.call(o) === '[object RegExp]' +} + +export default { + email, + mobile, + url, + date, + dateISO, + number, + digits, + idCard, + carNo, + amount, + chinese, + letter, + enOrNum, + contains, + range, + rangeLength, + empty, + isEmpty: empty, + jsonString, + landline, + object, + array, + code, + func, + promise, + video, + image, + regExp, + string +} diff --git a/components/uview-ui/libs/function/throttle.js b/components/uview-ui/libs/function/throttle.js new file mode 100644 index 0000000..2f33611 --- /dev/null +++ b/components/uview-ui/libs/function/throttle.js @@ -0,0 +1,30 @@ +let timer; let + flag +/** + * 节流原理:在一定时间内,只能触发一次 + * + * @param {Function} func 要执行的回调函数 + * @param {Number} wait 延时的时间 + * @param {Boolean} immediate 是否立即执行 + * @return null + */ +function throttle(func, wait = 500, immediate = true) { + if (immediate) { + if (!flag) { + flag = true + // 如果是立即执行,则在wait毫秒内开始时执行 + typeof func === 'function' && func() + timer = setTimeout(() => { + flag = false + }, wait) + } + } else if (!flag) { + flag = true + // 如果是非立即执行,则在wait毫秒内的结束处执行 + timer = setTimeout(() => { + flag = false + typeof func === 'function' && func() + }, wait) + } +} +export default throttle diff --git a/components/uview-ui/libs/function/timeFormat.js b/components/uview-ui/libs/function/timeFormat.js new file mode 100644 index 0000000..0372f2f --- /dev/null +++ b/components/uview-ui/libs/function/timeFormat.js @@ -0,0 +1,51 @@ +// padStart 的 polyfill,因为某些机型或情况,还无法支持es7的padStart,比如电脑版的微信小程序 +// 所以这里做一个兼容polyfill的兼容处理 +if (!String.prototype.padStart) { + // 为了方便表示这里 fillString 用了ES6 的默认参数,不影响理解 + String.prototype.padStart = function(maxLength, fillString = ' ') { + if (Object.prototype.toString.call(fillString) !== "[object String]") throw new TypeError( + 'fillString must be String') + let str = this + // 返回 String(str) 这里是为了使返回的值是字符串字面量,在控制台中更符合直觉 + if (str.length >= maxLength) return String(str) + + let fillLength = maxLength - str.length, + times = Math.ceil(fillLength / fillString.length) + while (times >>= 1) { + fillString += fillString + if (times === 1) { + fillString += fillString + } + } + return fillString.slice(0, fillLength) + str; + } +} + +// 其他更多是格式化有如下: +// yyyy:mm:dd|yyyy:mm|yyyy年mm月dd日|yyyy年mm月dd日 hh时MM分等,可自定义组合 +function timeFormat(dateTime = null, fmt = 'yyyy-mm-dd') { + // 如果为null,则格式化当前时间 + if (!dateTime) dateTime = Number(new Date()); + // 如果dateTime长度为10或者13,则为秒和毫秒的时间戳,如果超过13位,则为其他的时间格式 + if (dateTime.toString().length == 10) dateTime *= 1000; + let date = new Date(dateTime); + let ret; + let opt = { + "y+": date.getFullYear().toString(), // 年 + "m+": (date.getMonth() + 1).toString(), // 月 + "d+": date.getDate().toString(), // 日 + "h+": date.getHours().toString(), // 时 + "M+": date.getMinutes().toString(), // 分 + "s+": date.getSeconds().toString() // 秒 + // 有其他格式化字符需求可以继续添加,必须转化成字符串 + }; + for (let k in opt) { + ret = new RegExp("(" + k + ")").exec(fmt); + if (ret) { + fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0"))) + }; + }; + return fmt; +} + +export default timeFormat diff --git a/components/uview-ui/libs/function/timeFrom.js b/components/uview-ui/libs/function/timeFrom.js new file mode 100644 index 0000000..68cd990 --- /dev/null +++ b/components/uview-ui/libs/function/timeFrom.js @@ -0,0 +1,47 @@ +import timeFormat from '../../libs/function/timeFormat.js'; + +/** + * 时间戳转为多久之前 + * @param String timestamp 时间戳 + * @param String | Boolean format 如果为时间格式字符串,超出一定时间范围,返回固定的时间格式; + * 如果为布尔值false,无论什么时间,都返回多久以前的格式 + */ +function timeFrom(dateTime = null, format = 'yyyy-mm-dd') { + // 如果为null,则格式化当前时间 + if (!dateTime) dateTime = Number(new Date()); + // 如果dateTime长度为10或者13,则为秒和毫秒的时间戳,如果超过13位,则为其他的时间格式 + if (dateTime.toString().length == 10) dateTime *= 1000; + let timestamp = + new Date(Number(dateTime)); + + let timer = (Number(new Date()) - timestamp) / 1000; + // 如果小于5分钟,则返回"刚刚",其他以此类推 + let tips = ''; + switch (true) { + case timer < 300: + tips = '刚刚'; + break; + case timer >= 300 && timer < 3600: + tips = parseInt(timer / 60) + '分钟前'; + break; + case timer >= 3600 && timer < 86400: + tips = parseInt(timer / 3600) + '小时前'; + break; + case timer >= 86400 && timer < 2592000: + tips = parseInt(timer / 86400) + '天前'; + break; + default: + // 如果format为false,则无论什么时间戳,都显示xx之前 + if(format === false) { + if(timer >= 2592000 && timer < 365 * 86400) { + tips = parseInt(timer / (86400 * 30)) + '个月前'; + } else { + tips = parseInt(timer / (86400 * 365)) + '年前'; + } + } else { + tips = timeFormat(timestamp, format); + } + } + return tips; +} + +export default timeFrom; diff --git a/components/uview-ui/libs/function/toast.js b/components/uview-ui/libs/function/toast.js new file mode 100644 index 0000000..91afa73 --- /dev/null +++ b/components/uview-ui/libs/function/toast.js @@ -0,0 +1,9 @@ +function toast(title, duration = 1500) { + uni.showToast({ + title: title, + icon: 'none', + duration: duration + }) +} + +export default toast diff --git a/components/uview-ui/libs/function/trim.js b/components/uview-ui/libs/function/trim.js new file mode 100644 index 0000000..72adc37 --- /dev/null +++ b/components/uview-ui/libs/function/trim.js @@ -0,0 +1,15 @@ +function trim(str, pos = 'both') { + if (pos == 'both') { + return str.replace(/^\s+|\s+$/g, ""); + } else if (pos == "left") { + return str.replace(/^\s*/, ''); + } else if (pos == 'right') { + return str.replace(/(\s*$)/g, ""); + } else if (pos == 'all') { + return str.replace(/\s+/g, ""); + } else { + return str; + } +} + +export default trim diff --git a/components/uview-ui/libs/function/type2icon.js b/components/uview-ui/libs/function/type2icon.js new file mode 100644 index 0000000..23cb40e --- /dev/null +++ b/components/uview-ui/libs/function/type2icon.js @@ -0,0 +1,35 @@ +/** + * 根据主题type值,获取对应的图标 + * @param String type 主题名称,primary|info|error|warning|success + * @param String fill 是否使用fill填充实体的图标 + */ +function type2icon(type = 'success', fill = false) { + // 如果非预置值,默认为success + if (['primary', 'info', 'error', 'warning', 'success'].indexOf(type) == -1) type = 'success'; + let iconName = ''; + // 目前(2019-12-12),info和primary使用同一个图标 + switch (type) { + case 'primary': + iconName = 'info-circle'; + break; + case 'info': + iconName = 'info-circle'; + break; + case 'error': + iconName = 'close-circle'; + break; + case 'warning': + iconName = 'error-circle'; + break; + case 'success': + iconName = 'checkmark-circle'; + break; + default: + iconName = 'checkmark-circle'; + } + // 是否是实体类型,加上-fill,在icon组件库中,实体的类名是后面加-fill的 + if (fill) iconName += '-fill'; + return iconName; +} + +export default type2icon diff --git a/components/uview-ui/libs/luch-request/adapters/index.js b/components/uview-ui/libs/luch-request/adapters/index.js new file mode 100644 index 0000000..e03cf5f --- /dev/null +++ b/components/uview-ui/libs/luch-request/adapters/index.js @@ -0,0 +1,97 @@ +import buildURL from '../helpers/buildURL' +import buildFullPath from '../core/buildFullPath' +import settle from '../core/settle' +import { isUndefined } from '../utils' + +/** + * 返回可选值存在的配置 + * @param {Array} keys - 可选值数组 + * @param {Object} config2 - 配置 + * @return {{}} - 存在的配置项 + */ +const mergeKeys = (keys, config2) => { + const config = {} + keys.forEach((prop) => { + if (!isUndefined(config2[prop])) { + config[prop] = config2[prop] + } + }) + return config +} +export default (config) => new Promise((resolve, reject) => { + const fullPath = buildURL(buildFullPath(config.baseURL, config.url), config.params) + const _config = { + url: fullPath, + header: config.header, + complete: (response) => { + config.fullPath = fullPath + response.config = config + try { + // 对可能字符串不是json 的情况容错 + if (typeof response.data === 'string') { + response.data = JSON.parse(response.data) + } + // eslint-disable-next-line no-empty + } catch (e) { + } + settle(resolve, reject, response) + } + } + let requestTask + if (config.method === 'UPLOAD') { + delete _config.header['content-type'] + delete _config.header['Content-Type'] + const otherConfig = { + // #ifdef MP-ALIPAY + fileType: config.fileType, + // #endif + filePath: config.filePath, + name: config.name + } + const optionalKeys = [ + // #ifdef APP-PLUS || H5 + 'files', + // #endif + // #ifdef H5 + 'file', + // #endif + // #ifdef H5 || APP-PLUS + 'timeout', + // #endif + 'formData' + ] + requestTask = uni.uploadFile({ ..._config, ...otherConfig, ...mergeKeys(optionalKeys, config) }) + } else if (config.method === 'DOWNLOAD') { + // #ifdef H5 || APP-PLUS + if (!isUndefined(config.timeout)) { + _config.timeout = config.timeout + } + // #endif + requestTask = uni.downloadFile(_config) + } else { + const optionalKeys = [ + 'data', + 'method', + // #ifdef H5 || APP-PLUS || MP-ALIPAY || MP-WEIXIN + 'timeout', + // #endif + 'dataType', + // #ifndef MP-ALIPAY + 'responseType', + // #endif + // #ifdef APP-PLUS + 'sslVerify', + // #endif + // #ifdef H5 + 'withCredentials', + // #endif + // #ifdef APP-PLUS + 'firstIpv4' + // #endif + ] + requestTask = uni.request({ ..._config, ...mergeKeys(optionalKeys, config) }) + } + if (config.getTask) { + config.getTask(requestTask, config) + } +}) diff --git a/components/uview-ui/libs/luch-request/core/InterceptorManager.js b/components/uview-ui/libs/luch-request/core/InterceptorManager.js new file mode 100644 index 0000000..3e8728d --- /dev/null +++ b/components/uview-ui/libs/luch-request/core/InterceptorManager.js @@ -0,0 +1,50 @@ +'use strict' + +function InterceptorManager() { + this.handlers = [] +} + +/** + * Add a new interceptor to the stack + * + * @param {Function} fulfilled The function to handle `then` for a `Promise` + * @param {Function} rejected The function to handle `reject` for a `Promise` + * + * @return {Number} An ID used to remove interceptor later + */ +InterceptorManager.prototype.use = function use(fulfilled, rejected) { + this.handlers.push({ + fulfilled, + rejected + }) + return this.handlers.length - 1 +} + +/** + * Remove an interceptor from the stack + * + * @param {Number} id The ID that was returned by `use` + */ +InterceptorManager.prototype.eject = function eject(id) { + if (this.handlers[id]) { + this.handlers[id] = null + } +} + +/** + * Iterate over all the registered interceptors + * + * This method is particularly useful for skipping over any + * interceptors that may have become `null` calling `eject`. + * + * @param {Function} fn The function to call for each interceptor + */ +InterceptorManager.prototype.forEach = function forEach(fn) { + this.handlers.forEach((h) => { + if (h !== null) { + fn(h) + } + }) +} + +export default InterceptorManager diff --git a/components/uview-ui/libs/luch-request/core/Request.js b/components/uview-ui/libs/luch-request/core/Request.js new file mode 100644 index 0000000..cc48566 --- /dev/null +++ b/components/uview-ui/libs/luch-request/core/Request.js @@ -0,0 +1,198 @@ +/** + * @Class Request + * @description luch-request http请求插件 + * @version 3.0.7 + * @Author lu-ch + * @Date 2021-09-04 + * @Email webwork.s@qq.com + * 文档: https://www.quanzhan.co/luch-request/ + * github: https://github.com/lei-mu/luch-request + * DCloud: http://ext.dcloud.net.cn/plugin?id=392 + * HBuilderX: beat-3.0.4 alpha-3.0.4 + */ + +import dispatchRequest from './dispatchRequest' +import InterceptorManager from './InterceptorManager' +import mergeConfig from './mergeConfig' +import defaults from './defaults' +import { isPlainObject } from '../utils' +import clone from '../utils/clone' + +export default class Request { + /** + * @param {Object} arg - 全局配置 + * @param {String} arg.baseURL - 全局根路径 + * @param {Object} arg.header - 全局header + * @param {String} arg.method = [GET|POST|PUT|DELETE|CONNECT|HEAD|OPTIONS|TRACE] - 全局默认请求方式 + * @param {String} arg.dataType = [json] - 全局默认的dataType + * @param {String} arg.responseType = [text|arraybuffer] - 全局默认的responseType。支付宝小程序不支持 + * @param {Object} arg.custom - 全局默认的自定义参数 + * @param {Number} arg.timeout - 全局默认的超时时间,单位 ms。默认60000。H5(HBuilderX 2.9.9+)、APP(HBuilderX 2.9.9+)、微信小程序(2.10.0)、支付宝小程序 + * @param {Boolean} arg.sslVerify - 全局默认的是否验证 ssl 证书。默认true.仅App安卓端支持(HBuilderX 2.3.3+) + * @param {Boolean} arg.withCredentials - 全局默认的跨域请求时是否携带凭证(cookies)。默认false。仅H5支持(HBuilderX 2.6.15+) + * @param {Boolean} arg.firstIpv4 - 全DNS解析时优先使用ipv4。默认false。仅 App-Android 支持 (HBuilderX 2.8.0+) + * @param {Function(statusCode):Boolean} arg.validateStatus - 全局默认的自定义验证器。默认statusCode >= 200 && statusCode < 300 + */ + constructor(arg = {}) { + if (!isPlainObject(arg)) { + arg = {} + console.warn('设置全局参数必须接收一个Object') + } + this.config = clone({ ...defaults, ...arg }) + this.interceptors = { + request: new InterceptorManager(), + response: new InterceptorManager() + } + } + + /** + * @Function + * @param {Request~setConfigCallback} f - 设置全局默认配置 + */ + setConfig(f) { + this.config = f(this.config) + } + + middleware(config) { + config = mergeConfig(this.config, config) + const chain = [dispatchRequest, undefined] + let promise = Promise.resolve(config) + + this.interceptors.request.forEach((interceptor) => { + chain.unshift(interceptor.fulfilled, interceptor.rejected) + }) + + this.interceptors.response.forEach((interceptor) => { + chain.push(interceptor.fulfilled, interceptor.rejected) + }) + + while (chain.length) { + promise = promise.then(chain.shift(), chain.shift()) + } + + return promise + } + + /** + * @Function + * @param {Object} config - 请求配置项 + * @prop {String} options.url - 请求路径 + * @prop {Object} options.data - 请求参数 + * @prop {Object} [options.responseType = config.responseType] [text|arraybuffer] - 响应的数据类型 + * @prop {Object} [options.dataType = config.dataType] - 如果设为 json,会尝试对返回的数据做一次 JSON.parse + * @prop {Object} [options.header = config.header] - 请求header + * @prop {Object} [options.method = config.method] - 请求方法 + * @returns {Promise} + */ + request(config = {}) { + return this.middleware(config) + } + + get(url, options = {}) { + return this.middleware({ + url, + method: 'GET', + ...options + }) + } + + post(url, data, options = {}) { + return this.middleware({ + url, + data, + method: 'POST', + ...options + }) + } + + // #ifndef MP-ALIPAY + put(url, data, options = {}) { + return this.middleware({ + url, + data, + method: 'PUT', + ...options + }) + } + + // #endif + + // #ifdef APP-PLUS || H5 || MP-WEIXIN || MP-BAIDU + delete(url, data, options = {}) { + return this.middleware({ + url, + data, + method: 'DELETE', + ...options + }) + } + + // #endif + + // #ifdef H5 || MP-WEIXIN + connect(url, data, options = {}) { + return this.middleware({ + url, + data, + method: 'CONNECT', + ...options + }) + } + + // #endif + + // #ifdef H5 || MP-WEIXIN || MP-BAIDU + head(url, data, options = {}) { + return this.middleware({ + url, + data, + method: 'HEAD', + ...options + }) + } + + // #endif + + // #ifdef APP-PLUS || H5 || MP-WEIXIN || MP-BAIDU + options(url, data, options = {}) { + return this.middleware({ + url, + data, + method: 'OPTIONS', + ...options + }) + } + + // #endif + + // #ifdef H5 || MP-WEIXIN + trace(url, data, options = {}) { + return this.middleware({ + url, + data, + method: 'TRACE', + ...options + }) + } + + // #endif + + upload(url, config = {}) { + config.url = url + config.method = 'UPLOAD' + return this.middleware(config) + } + + download(url, config = {}) { + config.url = url + config.method = 'DOWNLOAD' + return this.middleware(config) + } +} + +/** + * setConfig回调 + * @return {Object} - 返回操作后的config + * @callback Request~setConfigCallback + * @param {Object} config - 全局默认config + */ diff --git a/components/uview-ui/libs/luch-request/core/buildFullPath.js b/components/uview-ui/libs/luch-request/core/buildFullPath.js new file mode 100644 index 0000000..5eb8a17 --- /dev/null +++ b/components/uview-ui/libs/luch-request/core/buildFullPath.js @@ -0,0 +1,20 @@ +'use strict' + +import isAbsoluteURL from '../helpers/isAbsoluteURL' +import combineURLs from '../helpers/combineURLs' + +/** + * Creates a new URL by combining the baseURL with the requestedURL, + * only when the requestedURL is not already an absolute URL. + * If the requestURL is absolute, this function returns the requestedURL untouched. + * + * @param {string} baseURL The base URL + * @param {string} requestedURL Absolute or relative URL to combine + * @returns {string} The combined full path + */ +export default function buildFullPath(baseURL, requestedURL) { + if (baseURL && !isAbsoluteURL(requestedURL)) { + return combineURLs(baseURL, requestedURL) + } + return requestedURL +} diff --git a/components/uview-ui/libs/luch-request/core/defaults.js b/components/uview-ui/libs/luch-request/core/defaults.js new file mode 100644 index 0000000..be375a9 --- /dev/null +++ b/components/uview-ui/libs/luch-request/core/defaults.js @@ -0,0 +1,29 @@ +/** + * 默认的全局配置 + */ + +export default { + baseURL: '', + header: {}, + method: 'GET', + dataType: 'json', + // #ifndef MP-ALIPAY + responseType: 'text', + // #endif + custom: {}, + // #ifdef H5 || APP-PLUS || MP-ALIPAY || MP-WEIXIN + timeout: 60000, + // #endif + // #ifdef APP-PLUS + sslVerify: true, + // #endif + // #ifdef H5 + withCredentials: false, + // #endif + // #ifdef APP-PLUS + firstIpv4: false, + // #endif + validateStatus: function validateStatus(status) { + return status >= 200 && status < 300 + } +} diff --git a/components/uview-ui/libs/luch-request/core/dispatchRequest.js b/components/uview-ui/libs/luch-request/core/dispatchRequest.js new file mode 100644 index 0000000..724545c --- /dev/null +++ b/components/uview-ui/libs/luch-request/core/dispatchRequest.js @@ -0,0 +1,3 @@ +import adapter from '../adapters/index' + +export default (config) => adapter(config) diff --git a/components/uview-ui/libs/luch-request/core/mergeConfig.js b/components/uview-ui/libs/luch-request/core/mergeConfig.js new file mode 100644 index 0000000..08f8b9b --- /dev/null +++ b/components/uview-ui/libs/luch-request/core/mergeConfig.js @@ -0,0 +1,103 @@ +import { deepMerge, isUndefined } from '../utils' + +/** + * 合并局部配置优先的配置,如果局部有该配置项则用局部,如果全局有该配置项则用全局 + * @param {Array} keys - 配置项 + * @param {Object} globalsConfig - 当前的全局配置 + * @param {Object} config2 - 局部配置 + * @return {{}} + */ +const mergeKeys = (keys, globalsConfig, config2) => { + const config = {} + keys.forEach((prop) => { + if (!isUndefined(config2[prop])) { + config[prop] = config2[prop] + } else if (!isUndefined(globalsConfig[prop])) { + config[prop] = globalsConfig[prop] + } + }) + return config +} +/** + * + * @param globalsConfig - 当前实例的全局配置 + * @param config2 - 当前的局部配置 + * @return - 合并后的配置 + */ +export default (globalsConfig, config2 = {}) => { + const method = config2.method || globalsConfig.method || 'GET' + let config = { + baseURL: globalsConfig.baseURL || '', + method, + url: config2.url || '', + params: config2.params || {}, + custom: { ...(globalsConfig.custom || {}), ...(config2.custom || {}) }, + header: deepMerge(globalsConfig.header || {}, config2.header || {}) + } + const defaultToConfig2Keys = ['getTask', 'validateStatus'] + config = { ...config, ...mergeKeys(defaultToConfig2Keys, globalsConfig, config2) } + + // eslint-disable-next-line no-empty + if (method === 'DOWNLOAD') { + // #ifdef H5 || APP-PLUS + if (!isUndefined(config2.timeout)) { + config.timeout = config2.timeout + } else if (!isUndefined(globalsConfig.timeout)) { + config.timeout = globalsConfig.timeout + } + // #endif + } else if (method === 'UPLOAD') { + delete config.header['content-type'] + delete config.header['Content-Type'] + const uploadKeys = [ + // #ifdef APP-PLUS || H5 + 'files', + // #endif + // #ifdef MP-ALIPAY + 'fileType', + // #endif + // #ifdef H5 + 'file', + // #endif + 'filePath', + 'name', + // #ifdef H5 || APP-PLUS + 'timeout', + // #endif + 'formData' + ] + uploadKeys.forEach((prop) => { + if (!isUndefined(config2[prop])) { + config[prop] = config2[prop] + } + }) + // #ifdef H5 || APP-PLUS + if (isUndefined(config.timeout) && !isUndefined(globalsConfig.timeout)) { + config.timeout = globalsConfig.timeout + } + // #endif + } else { + const defaultsKeys = [ + 'data', + // #ifdef H5 || APP-PLUS || MP-ALIPAY || MP-WEIXIN + 'timeout', + // #endif + 'dataType', + // #ifndef MP-ALIPAY + 'responseType', + // #endif + // #ifdef APP-PLUS + 'sslVerify', + // #endif + // #ifdef H5 + 'withCredentials', + // #endif + // #ifdef APP-PLUS + 'firstIpv4' + // #endif + ] + config = { ...config, ...mergeKeys(defaultsKeys, globalsConfig, config2) } + } + + return config +} diff --git a/components/uview-ui/libs/luch-request/core/settle.js b/components/uview-ui/libs/luch-request/core/settle.js new file mode 100644 index 0000000..8d3638f --- /dev/null +++ b/components/uview-ui/libs/luch-request/core/settle.js @@ -0,0 +1,16 @@ +/** + * Resolve or reject a Promise based on response status. + * + * @param {Function} resolve A function that resolves the promise. + * @param {Function} reject A function that rejects the promise. + * @param {object} response The response. + */ +export default function settle(resolve, reject, response) { + const { validateStatus } = response.config + const status = response.statusCode + if (status && (!validateStatus || validateStatus(status))) { + resolve(response) + } else { + reject(response) + } +} diff --git a/components/uview-ui/libs/luch-request/helpers/buildURL.js b/components/uview-ui/libs/luch-request/helpers/buildURL.js new file mode 100644 index 0000000..472ad6a --- /dev/null +++ b/components/uview-ui/libs/luch-request/helpers/buildURL.js @@ -0,0 +1,69 @@ +'use strict' + +import * as utils from '../utils' + +function encode(val) { + return encodeURIComponent(val) + .replace(/%40/gi, '@') + .replace(/%3A/gi, ':') + .replace(/%24/g, '$') + .replace(/%2C/gi, ',') + .replace(/%20/g, '+') + .replace(/%5B/gi, '[') + .replace(/%5D/gi, ']') +} + +/** + * Build a URL by appending params to the end + * + * @param {string} url The base of the url (e.g., http://www.google.com) + * @param {object} [params] The params to be appended + * @returns {string} The formatted url + */ +export default function buildURL(url, params) { + /* eslint no-param-reassign:0 */ + if (!params) { + return url + } + + let serializedParams + if (utils.isURLSearchParams(params)) { + serializedParams = params.toString() + } else { + const parts = [] + + utils.forEach(params, (val, key) => { + if (val === null || typeof val === 'undefined') { + return + } + + if (utils.isArray(val)) { + key = `${key}[]` + } else { + val = [val] + } + + utils.forEach(val, (v) => { + if (utils.isDate(v)) { + v = v.toISOString() + } else if (utils.isObject(v)) { + v = JSON.stringify(v) + } + parts.push(`${encode(key)}=${encode(v)}`) + }) + }) + + serializedParams = parts.join('&') + } + + if (serializedParams) { + const hashmarkIndex = url.indexOf('#') + if (hashmarkIndex !== -1) { + url = url.slice(0, hashmarkIndex) + } + + url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams + } + + return url +} diff --git a/components/uview-ui/libs/luch-request/helpers/combineURLs.js b/components/uview-ui/libs/luch-request/helpers/combineURLs.js new file mode 100644 index 0000000..ac7c124 --- /dev/null +++ b/components/uview-ui/libs/luch-request/helpers/combineURLs.js @@ -0,0 +1,14 @@ +'use strict' + +/** + * Creates a new URL by combining the specified URLs + * + * @param {string} baseURL The base URL + * @param {string} relativeURL The relative URL + * @returns {string} The combined URL + */ +export default function combineURLs(baseURL, relativeURL) { + return relativeURL + ? `${baseURL.replace(/\/+$/, '')}/${relativeURL.replace(/^\/+/, '')}` + : baseURL +} diff --git a/components/uview-ui/libs/luch-request/helpers/isAbsoluteURL.js b/components/uview-ui/libs/luch-request/helpers/isAbsoluteURL.js new file mode 100644 index 0000000..63c6647 --- /dev/null +++ b/components/uview-ui/libs/luch-request/helpers/isAbsoluteURL.js @@ -0,0 +1,14 @@ +'use strict' + +/** + * Determines whether the specified URL is absolute + * + * @param {string} url The URL to test + * @returns {boolean} True if the specified URL is absolute, otherwise false + */ +export default function isAbsoluteURL(url) { + // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). + // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed + // by any combination of letters, digits, plus, period, or hyphen. + return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url) +} diff --git a/components/uview-ui/libs/luch-request/index.d.ts b/components/uview-ui/libs/luch-request/index.d.ts new file mode 100644 index 0000000..e939ce1 --- /dev/null +++ b/components/uview-ui/libs/luch-request/index.d.ts @@ -0,0 +1,116 @@ +type AnyObject = Record +type HttpPromise = Promise>; +type Tasks = UniApp.RequestTask | UniApp.UploadTask | UniApp.DownloadTask +export interface RequestTask { + abort: () => void; + offHeadersReceived: () => void; + onHeadersReceived: () => void; +} +export interface HttpRequestConfig { + /** 请求基地址 */ + baseURL?: string; + /** 请求服务器接口地址 */ + url?: string; + + /** 请求查询参数,自动拼接为查询字符串 */ + params?: AnyObject; + /** 请求体参数 */ + data?: AnyObject; + + /** 文件对应的 key */ + name?: string; + /** HTTP 请求中其他额外的 form data */ + formData?: AnyObject; + /** 要上传文件资源的路径。 */ + filePath?: string; + /** 需要上传的文件列表。使用 files 时,filePath 和 name 不生效,App、H5( 2.6.15+) */ + files?: Array<{ + name?: string; + file?: File; + uri: string; + }>; + /** 要上传的文件对象,仅H5(2.6.15+)支持 */ + file?: File; + + /** 请求头信息 */ + header?: AnyObject; + /** 请求方式 */ + method?: "GET" | "POST" | "PUT" | "DELETE" | "CONNECT" | "HEAD" | "OPTIONS" | "TRACE" | "UPLOAD" | "DOWNLOAD"; + /** 如果设为 json,会尝试对返回的数据做一次 JSON.parse */ + dataType?: string; + /** 设置响应的数据类型,支付宝小程序不支持 */ + responseType?: "text" | "arraybuffer"; + /** 自定义参数 */ + custom?: AnyObject; + /** 超时时间,仅微信小程序(2.10.0)、支付宝小程序支持 */ + timeout?: number; + /** DNS解析时优先使用ipv4,仅 App-Android 支持 (HBuilderX 2.8.0+) */ + firstIpv4?: boolean; + /** 验证 ssl 证书 仅5+App安卓端支持(HBuilderX 2.3.3+) */ + sslVerify?: boolean; + /** 跨域请求时是否携带凭证(cookies)仅H5支持(HBuilderX 2.6.15+) */ + withCredentials?: boolean; + + /** 返回当前请求的task, options。请勿在此处修改options。 */ + getTask?: (task: T, options: HttpRequestConfig) => void; + /** 全局自定义验证器 */ + validateStatus?: (statusCode: number) => boolean | void; +} +export interface HttpResponse { + config: HttpRequestConfig; + statusCode: number; + cookies: Array; + data: T; + errMsg: string; + header: AnyObject; +} +export interface HttpUploadResponse { + config: HttpRequestConfig; + statusCode: number; + data: T; + errMsg: string; +} +export interface HttpDownloadResponse extends HttpResponse { + tempFilePath: string; +} +export interface HttpError { + config: HttpRequestConfig; + statusCode?: number; + cookies?: Array; + data?: any; + errMsg: string; + header?: AnyObject; +} +export interface HttpInterceptorManager { + use( + onFulfilled?: (config: V) => Promise | V, + onRejected?: (config: E) => Promise | E + ): void; + eject(id: number): void; +} +export abstract class HttpRequestAbstract { + constructor(config?: HttpRequestConfig); + config: HttpRequestConfig; + interceptors: { + request: HttpInterceptorManager; + response: HttpInterceptorManager; + } + middleware(config: HttpRequestConfig): HttpPromise; + request(config: HttpRequestConfig): HttpPromise; + get(url: string, config?: HttpRequestConfig): HttpPromise; + upload(url: string, config?: HttpRequestConfig): HttpPromise; + delete(url: string, data?: AnyObject, config?: HttpRequestConfig): HttpPromise; + head(url: string, data?: AnyObject, config?: HttpRequestConfig): HttpPromise; + post(url: string, data?: AnyObject, config?: HttpRequestConfig): HttpPromise; + put(url: string, data?: AnyObject, config?: HttpRequestConfig): HttpPromise; + connect(url: string, data?: AnyObject, config?: HttpRequestConfig): HttpPromise; + options(url: string, data?: AnyObject, config?: HttpRequestConfig): HttpPromise; + trace(url: string, data?: AnyObject, config?: HttpRequestConfig): HttpPromise; + + download(url: string, config?: HttpRequestConfig): Promise; + + setConfig(onSend: (config: HttpRequestConfig) => HttpRequestConfig): void; +} + +declare class HttpRequest extends HttpRequestAbstract { } +export default HttpRequest; diff --git a/components/uview-ui/libs/luch-request/index.js b/components/uview-ui/libs/luch-request/index.js new file mode 100644 index 0000000..8fb2b44 --- /dev/null +++ b/components/uview-ui/libs/luch-request/index.js @@ -0,0 +1,3 @@ +import Request from './core/Request' + +export default Request diff --git a/components/uview-ui/libs/luch-request/utils.js b/components/uview-ui/libs/luch-request/utils.js new file mode 100644 index 0000000..847283d --- /dev/null +++ b/components/uview-ui/libs/luch-request/utils.js @@ -0,0 +1,131 @@ +'use strict' + +// utils is a library of generic helper functions non-specific to axios + +const { toString } = Object.prototype + +/** + * Determine if a value is an Array + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an Array, otherwise false + */ +export function isArray(val) { + return toString.call(val) === '[object Array]' +} + +/** + * Determine if a value is an Object + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an Object, otherwise false + */ +export function isObject(val) { + return val !== null && typeof val === 'object' +} + +/** + * Determine if a value is a Date + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Date, otherwise false + */ +export function isDate(val) { + return toString.call(val) === '[object Date]' +} + +/** + * Determine if a value is a URLSearchParams object + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a URLSearchParams object, otherwise false + */ +export function isURLSearchParams(val) { + return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams +} + +/** + * Iterate over an Array or an Object invoking a function for each item. + * + * If `obj` is an Array callback will be called passing + * the value, index, and complete array for each item. + * + * If 'obj' is an Object callback will be called passing + * the value, key, and complete object for each property. + * + * @param {Object|Array} obj The object to iterate + * @param {Function} fn The callback to invoke for each item + */ +export function forEach(obj, fn) { + // Don't bother if no value provided + if (obj === null || typeof obj === 'undefined') { + return + } + + // Force an array if not already something iterable + if (typeof obj !== 'object') { + /* eslint no-param-reassign:0 */ + obj = [obj] + } + + if (isArray(obj)) { + // Iterate over array values + for (let i = 0, l = obj.length; i < l; i++) { + fn.call(null, obj[i], i, obj) + } + } else { + // Iterate over object keys + for (const key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + fn.call(null, obj[key], key, obj) + } + } + } +} + +/** + * 是否为boolean 值 + * @param val + * @returns {boolean} + */ +export function isBoolean(val) { + return typeof val === 'boolean' +} + +/** + * 是否为真正的对象{} new Object + * @param {any} obj - 检测的对象 + * @returns {boolean} + */ +export function isPlainObject(obj) { + return Object.prototype.toString.call(obj) === '[object Object]' +} + +/** + * Function equal to merge with the difference being that no reference + * to original objects is kept. + * + * @see merge + * @param {Object} obj1 Object to merge + * @returns {Object} Result of all merge properties + */ +export function deepMerge(/* obj1, obj2, obj3, ... */) { + const result = {} + function assignValue(val, key) { + if (typeof result[key] === 'object' && typeof val === 'object') { + result[key] = deepMerge(result[key], val) + } else if (typeof val === 'object') { + result[key] = deepMerge({}, val) + } else { + result[key] = val + } + } + for (let i = 0, l = arguments.length; i < l; i++) { + forEach(arguments[i], assignValue) + } + return result +} + +export function isUndefined(val) { + return typeof val === 'undefined' +} diff --git a/components/uview-ui/libs/luch-request/utils/clone.js b/components/uview-ui/libs/luch-request/utils/clone.js new file mode 100644 index 0000000..2fee704 --- /dev/null +++ b/components/uview-ui/libs/luch-request/utils/clone.js @@ -0,0 +1,264 @@ +/* eslint-disable */ +var clone = (function() { + 'use strict'; + + function _instanceof(obj, type) { + return type != null && obj instanceof type; + } + + var nativeMap; + try { + nativeMap = Map; + } catch(_) { + // maybe a reference error because no `Map`. Give it a dummy value that no + // value will ever be an instanceof. + nativeMap = function() {}; + } + + var nativeSet; + try { + nativeSet = Set; + } catch(_) { + nativeSet = function() {}; + } + + var nativePromise; + try { + nativePromise = Promise; + } catch(_) { + nativePromise = function() {}; + } + + /** + * Clones (copies) an Object using deep copying. + * + * This function supports circular references by default, but if you are certain + * there are no circular references in your object, you can save some CPU time + * by calling clone(obj, false). + * + * Caution: if `circular` is false and `parent` contains circular references, + * your program may enter an infinite loop and crash. + * + * @param `parent` - the object to be cloned + * @param `circular` - set to true if the object to be cloned may contain + * circular references. (optional - true by default) + * @param `depth` - set to a number if the object is only to be cloned to + * a particular depth. (optional - defaults to Infinity) + * @param `prototype` - sets the prototype to be used when cloning an object. + * (optional - defaults to parent prototype). + * @param `includeNonEnumerable` - set to true if the non-enumerable properties + * should be cloned as well. Non-enumerable properties on the prototype + * chain will be ignored. (optional - false by default) + */ + function clone(parent, circular, depth, prototype, includeNonEnumerable) { + if (typeof circular === 'object') { + depth = circular.depth; + prototype = circular.prototype; + includeNonEnumerable = circular.includeNonEnumerable; + circular = circular.circular; + } + // maintain two arrays for circular references, where corresponding parents + // and children have the same index + var allParents = []; + var allChildren = []; + + var useBuffer = typeof Buffer != 'undefined'; + + if (typeof circular == 'undefined') + circular = true; + + if (typeof depth == 'undefined') + depth = Infinity; + + // recurse this function so we don't reset allParents and allChildren + function _clone(parent, depth) { + // cloning null always returns null + if (parent === null) + return null; + + if (depth === 0) + return parent; + + var child; + var proto; + if (typeof parent != 'object') { + return parent; + } + + if (_instanceof(parent, nativeMap)) { + child = new nativeMap(); + } else if (_instanceof(parent, nativeSet)) { + child = new nativeSet(); + } else if (_instanceof(parent, nativePromise)) { + child = new nativePromise(function (resolve, reject) { + parent.then(function(value) { + resolve(_clone(value, depth - 1)); + }, function(err) { + reject(_clone(err, depth - 1)); + }); + }); + } else if (clone.__isArray(parent)) { + child = []; + } else if (clone.__isRegExp(parent)) { + child = new RegExp(parent.source, __getRegExpFlags(parent)); + if (parent.lastIndex) child.lastIndex = parent.lastIndex; + } else if (clone.__isDate(parent)) { + child = new Date(parent.getTime()); + } else if (useBuffer && Buffer.isBuffer(parent)) { + if (Buffer.from) { + // Node.js >= 5.10.0 + child = Buffer.from(parent); + } else { + // Older Node.js versions + child = new Buffer(parent.length); + parent.copy(child); + } + return child; + } else if (_instanceof(parent, Error)) { + child = Object.create(parent); + } else { + if (typeof prototype == 'undefined') { + proto = Object.getPrototypeOf(parent); + child = Object.create(proto); + } + else { + child = Object.create(prototype); + proto = prototype; + } + } + + if (circular) { + var index = allParents.indexOf(parent); + + if (index != -1) { + return allChildren[index]; + } + allParents.push(parent); + allChildren.push(child); + } + + if (_instanceof(parent, nativeMap)) { + parent.forEach(function(value, key) { + var keyChild = _clone(key, depth - 1); + var valueChild = _clone(value, depth - 1); + child.set(keyChild, valueChild); + }); + } + if (_instanceof(parent, nativeSet)) { + parent.forEach(function(value) { + var entryChild = _clone(value, depth - 1); + child.add(entryChild); + }); + } + + for (var i in parent) { + var attrs = Object.getOwnPropertyDescriptor(parent, i); + if (attrs) { + child[i] = _clone(parent[i], depth - 1); + } + + try { + var objProperty = Object.getOwnPropertyDescriptor(parent, i); + if (objProperty.set === 'undefined') { + // no setter defined. Skip cloning this property + continue; + } + child[i] = _clone(parent[i], depth - 1); + } catch(e){ + if (e instanceof TypeError) { + // when in strict mode, TypeError will be thrown if child[i] property only has a getter + // we can't do anything about this, other than inform the user that this property cannot be set. + continue + } else if (e instanceof ReferenceError) { + //this may happen in non strict mode + continue + } + } + + } + + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(parent); + for (var i = 0; i < symbols.length; i++) { + // Don't need to worry about cloning a symbol because it is a primitive, + // like a number or string. + var symbol = symbols[i]; + var descriptor = Object.getOwnPropertyDescriptor(parent, symbol); + if (descriptor && !descriptor.enumerable && !includeNonEnumerable) { + continue; + } + child[symbol] = _clone(parent[symbol], depth - 1); + Object.defineProperty(child, symbol, descriptor); + } + } + + if (includeNonEnumerable) { + var allPropertyNames = Object.getOwnPropertyNames(parent); + for (var i = 0; i < allPropertyNames.length; i++) { + var propertyName = allPropertyNames[i]; + var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName); + if (descriptor && descriptor.enumerable) { + continue; + } + child[propertyName] = _clone(parent[propertyName], depth - 1); + Object.defineProperty(child, propertyName, descriptor); + } + } + + return child; + } + + return _clone(parent, depth); + } + + /** + * Simple flat clone using prototype, accepts only objects, usefull for property + * override on FLAT configuration object (no nested props). + * + * USE WITH CAUTION! This may not behave as you wish if you do not know how this + * works. + */ + clone.clonePrototype = function clonePrototype(parent) { + if (parent === null) + return null; + + var c = function () {}; + c.prototype = parent; + return new c(); + }; + +// private utility functions + + function __objToStr(o) { + return Object.prototype.toString.call(o); + } + clone.__objToStr = __objToStr; + + function __isDate(o) { + return typeof o === 'object' && __objToStr(o) === '[object Date]'; + } + clone.__isDate = __isDate; + + function __isArray(o) { + return typeof o === 'object' && __objToStr(o) === '[object Array]'; + } + clone.__isArray = __isArray; + + function __isRegExp(o) { + return typeof o === 'object' && __objToStr(o) === '[object RegExp]'; + } + clone.__isRegExp = __isRegExp; + + function __getRegExpFlags(re) { + var flags = ''; + if (re.global) flags += 'g'; + if (re.ignoreCase) flags += 'i'; + if (re.multiline) flags += 'm'; + return flags; + } + clone.__getRegExpFlags = __getRegExpFlags; + + return clone; +})(); + +export default clone diff --git a/components/uview-ui/libs/mixin/button.js b/components/uview-ui/libs/mixin/button.js new file mode 100644 index 0000000..0c019c2 --- /dev/null +++ b/components/uview-ui/libs/mixin/button.js @@ -0,0 +1,13 @@ +export default { + props: { + lang: String, + sessionFrom: String, + sendMessageTitle: String, + sendMessagePath: String, + sendMessageImg: String, + showMessageCard: Boolean, + appParameter: String, + formType: String, + openType: String + } +} diff --git a/components/uview-ui/libs/mixin/mixin.js b/components/uview-ui/libs/mixin/mixin.js new file mode 100644 index 0000000..f41a178 --- /dev/null +++ b/components/uview-ui/libs/mixin/mixin.js @@ -0,0 +1,160 @@ +module.exports = { + // 定义每个组件都可能需要用到的外部样式以及类名 + props: { + // 每个组件都有的父组件传递的样式,可以为字符串或者对象形式 + customStyle: { + type: [Object, String], + default: () => ({}) + }, + customClass: { + type: String, + default: '' + }, + // 跳转的页面路径 + url: { + type: String, + default: '' + }, + // 页面跳转的类型 + linkType: { + type: String, + default: 'navigateTo' + } + }, + data() { + return {} + }, + onLoad() { + // getRect挂载到$u上,因为这方法需要使用in(this),所以无法把它独立成一个单独的文件导出 + this.$u.getRect = this.$uGetRect + }, + created() { + // 组件当中,只有created声明周期,为了能在组件使用,故也在created中将方法挂载到$u + this.$u.getRect = this.$uGetRect + }, + computed: { + // 在2.x版本中,将会把$u挂载到uni对象下,导致在模板中无法使用uni.$u.xxx形式 + // 所以这里通过computed计算属性将其附加到this.$u上,就可以在模板或者js中使用uni.$u.xxx + // 只在nvue环境通过此方式引入完整的$u,其他平台会出现性能问题,非nvue则按需引入(主要原因是props过大) + $u() { + // #ifndef APP-NVUE + // 在非nvue端,移除props,http,mixin等对象,避免在小程序setData时数据过大影响性能 + return uni.$u.deepMerge(uni.$u, { + props: undefined, + http: undefined, + mixin: undefined + }) + // #endif + // #ifdef APP-NVUE + return uni.$u + // #endif + }, + /** + * 生成bem规则类名 + * 由于微信小程序,H5,nvue之间绑定class的差异,无法通过:class="[bem()]"的形式进行同用 + * 故采用如下折中做法,最后返回的是数组(一般平台)或字符串(支付宝和字节跳动平台),类似['a', 'b', 'c']或'a b c'的形式 + * @param {String} name 组件名称 + * @param {Array} fixed 一直会存在的类名 + * @param {Array} change 会根据变量值为true或者false而出现或者隐藏的类名 + * @returns {Array|string} + */ + bem() { + return function (name, fixed, change) { + // 类名前缀 + const prefix = `u-${name}--` + const classes = {} + if (fixed) { + fixed.map((item) => { + // 这里的类名,会一直存在 + classes[prefix + this[item]] = true + }) + } + if (change) { + change.map((item) => { + // 这里的类名,会根据this[item]的值为true或者false,而进行添加或者移除某一个类 + this[item] ? (classes[prefix + item] = this[item]) : (delete classes[prefix + item]) + }) + } + return Object.keys(classes) + // 支付宝,头条小程序无法动态绑定一个数组类名,否则解析出来的结果会带有",",而导致失效 + // #ifdef MP-ALIPAY || MP-TOUTIAO || MP-LARK + .join(' ') + // #endif + } + } + }, + methods: { + // 跳转某一个页面 + openPage(urlKey = 'url') { + const url = this[urlKey] + if (url) { + // 执行类似uni.navigateTo的方法 + uni[this.linkType]({ + url + }) + } + }, + // 查询节点信息 + // 目前此方法在支付宝小程序中无法获取组件跟接点的尺寸,为支付宝的bug(2020-07-21) + // 解决办法为在组件根部再套一个没有任何作用的view元素 + $uGetRect(selector, all) { + return new Promise((resolve) => { + uni.createSelectorQuery() + .in(this)[all ? 'selectAll' : 'select'](selector) + .boundingClientRect((rect) => { + if (all && Array.isArray(rect) && rect.length) { + resolve(rect) + } + if (!all && rect) { + resolve(rect) + } + }) + .exec() + }) + }, + getParentData(parentName = '') { + // 避免在created中去定义parent变量 + if (!this.parent) this.parent = {} + // 这里的本质原理是,通过获取父组件实例(也即类似u-radio的父组件u-radio-group的this) + // 将父组件this中对应的参数,赋值给本组件(u-radio的this)的parentData对象中对应的属性 + // 之所以需要这么做,是因为所有端中,头条小程序不支持通过this.parent.xxx去监听父组件参数的变化 + // 此处并不会自动更新子组件的数据,而是依赖父组件u-radio-group去监听data的变化,手动调用更新子组件的方法去重新获取 + this.parent = uni.$u.$parent.call(this, parentName) + if (this.parent.children) { + // 如果父组件的children不存在本组件的实例,才将本实例添加到父组件的children中 + this.parent.children.indexOf(this) === -1 && this.parent.children.push(this) + } + if (this.parent && this.parentData) { + // 历遍parentData中的属性,将parent中的同名属性赋值给parentData + Object.keys(this.parentData).map((key) => { + this.parentData[key] = this.parent[key] + }) + } + }, + // 阻止事件冒泡 + preventEvent(e) { + e && typeof (e.stopPropagation) === 'function' && e.stopPropagation() + }, + // 空操作 + noop(e) { + this.preventEvent(e) + } + }, + onReachBottom() { + uni.$emit('uOnReachBottom') + }, + beforeDestroy() { + // 判断当前页面是否存在parent和chldren,一般在checkbox和checkbox-group父子联动的场景会有此情况 + // 组件销毁时,移除子组件在父组件children数组中的实例,释放资源,避免数据混乱 + if (this.parent && uni.$u.test.array(this.parent.children)) { + // 组件销毁时,移除父组件中的children数组中对应的实例 + const childrenList = this.parent.children + childrenList.map((child, index) => { + // 如果相等,则移除 + if (child === this) { + childrenList.splice(index, 1) + } + }) + } + } +} diff --git a/components/uview-ui/libs/mixin/mpMixin.js b/components/uview-ui/libs/mixin/mpMixin.js new file mode 100644 index 0000000..29e7e65 --- /dev/null +++ b/components/uview-ui/libs/mixin/mpMixin.js @@ -0,0 +1,8 @@ +export default { + // #ifdef MP-WEIXIN + // 将自定义节点设置成虚拟的,更加接近Vue组件的表现,能更好的使用flex属性 + options: { + virtualHost: true + } + // #endif +} diff --git a/components/uview-ui/libs/mixin/mpShare.js b/components/uview-ui/libs/mixin/mpShare.js new file mode 100644 index 0000000..b07bbd3 --- /dev/null +++ b/components/uview-ui/libs/mixin/mpShare.js @@ -0,0 +1,13 @@ +module.exports = { + onLoad() { + // 设置默认的转发参数 + uni.$u.mpShare = { + title: '', // 默认为小程序名称 + path: '', // 默认为当前页面路径 + imageUrl: '' // 默认为当前页面的截图 + } + }, + onShareAppMessage() { + return uni.$u.mpShare + } +} diff --git a/components/uview-ui/libs/mixin/openType.js b/components/uview-ui/libs/mixin/openType.js new file mode 100644 index 0000000..1216181 --- /dev/null +++ b/components/uview-ui/libs/mixin/openType.js @@ -0,0 +1,25 @@ +export default { + props: { + openType: String + }, + methods: { + onGetUserInfo(event) { + this.$emit('getuserinfo', event.detail) + }, + onContact(event) { + this.$emit('contact', event.detail) + }, + onGetPhoneNumber(event) { + this.$emit('getphonenumber', event.detail) + }, + onError(event) { + this.$emit('error', event.detail) + }, + onLaunchApp(event) { + this.$emit('launchapp', event.detail) + }, + onOpenSetting(event) { + this.$emit('opensetting', event.detail) + } + } +} diff --git a/components/uview-ui/libs/mixin/style.js b/components/uview-ui/libs/mixin/style.js new file mode 100644 index 0000000..2660180 --- /dev/null +++ b/components/uview-ui/libs/mixin/style.js @@ -0,0 +1,228 @@ +export default { + props: { + // flex排列方式 + flexDirection: { + type: String, + default: '' + }, + // flex-direction的简写 + fd: { + type: String, + default: '' + }, + // 展示类型 + display: { + type: String, + default: '' + }, + // display简写 + d: { + type: String, + default: '' + }, + // 主轴排列方式 + justifyContent: { + type: String, + default: '' + }, + // justifyContent的简写 + jc: { + type: String, + default: '' + }, + // 纵轴排列方式 + alignItems: { + type: String, + default: '' + }, + // align-items的简写 + ai: { + type: String, + default: '' + }, + color: { + type: String, + default: '' + }, + // color简写 + c: { + type: String, + default: '' + }, + // 字体大小 + fontSize: { + type: [String, Number], + default: 0 + }, + // font-size简写 + fs: { + type: [String, Number], + default: '' + }, + margin: { + type: [String, Number], + default: 0 + }, + // margin简写 + m: { + type: [String, Number], + default: 0 + }, + // margin-top + marginTop: { + type: [String, Number], + default: 0 + }, + // margin-top简写 + mt: { + type: [String, Number], + default: 0 + }, + // margin-right + marginRight: { + type: [String, Number], + default: 0 + }, + // margin-right简写 + mr: { + type: [String, Number], + default: 0 + }, + // margin-bottom + marginBottom: { + type: [String, Number], + default: 0 + }, + // margin-bottom简写 + mb: { + type: [String, Number], + default: 0 + }, + // margin-left + marginLeft: { + type: [String, Number], + default: 0 + }, + // margin-left简写 + ml: { + type: [String, Number], + default: 0 + }, + // padding-left + paddingLeft: { + type: [String, Number], + default: 0 + }, + // padding-left简写 + pl: { + type: [String, Number], + default: 0 + }, + // padding-top + paddingTop: { + type: [String, Number], + default: 0 + }, + // padding-top简写 + pt: { + type: [String, Number], + default: 0 + }, + // padding-right + paddingRight: { + type: [String, Number], + default: 0 + }, + // padding-right简写 + pr: { + type: [String, Number], + default: 0 + }, + // padding-bottom + paddingBottom: { + type: [String, Number], + default: 0 + }, + // padding-bottom简写 + pb: { + type: [String, Number], + default: 0 + }, + // border-radius + borderRadius: { + type: [String, Number], + default: 0 + }, + // border-radius简写 + radius: { + type: [String, Number], + default: 0 + }, + // transform + transform: { + type: String, + default: '' + }, + // 定位 + position: { + type: String, + default: '' + }, + // position简写 + pos: { + type: String, + default: '' + }, + // 宽度 + width: { + type: [String, Number], + default: null + }, + // width简写 + w: { + type: [String, Number], + default: null + }, + // 高度 + height: { + type: [String, Number], + default: null + }, + // height简写 + h: { + type: [String, Number], + default: null + }, + top: { + type: [String, Number], + default: 0 + }, + right: { + type: [String, Number], + default: 0 + }, + bottom: { + type: [String, Number], + default: 0 + }, + left: { + type: [String, Number], + default: 0 + } + }, + computed: { + viewStyle() { + const style = {} + const addStyle = uni.$u.addStyle(this.width || this.w) && (style.width = addStyle(this.width || this.w))(this.height || this.h) && (style.height = addStyle(this.height || this.h))(this.margin || this.m) && (style.margin = addStyle(this.margin || this.m))(this.marginTop || this.mt) && (style.marginTop = addStyle(this.marginTop || this.mt))(this.marginRight || this.mr) && (style.marginRight = addStyle(this.marginRight || this.mr))(this.marginBottom || this.mb) && (style.marginBottom = addStyle(this.marginBottom || this.mb))(this.marginLeft || this.ml) && (style.marginLeft = addStyle(this.marginLeft || this.ml))(this.padding || this.p) && (style.padding = addStyle(this.padding || this.p))(this.paddingTop || this.pt) && (style.paddingTop = addStyle(this.paddingTop || this.pt))(this.paddingRight || this.pr) && (style.paddingRight = addStyle(this.paddingRight || this.pr))(this.paddingBottom || this.pb) && (style.paddingBottom = addStyle(this.paddingBottom || this.pb))(this.paddingLeft || this.pl) && (style.paddingLeft = addStyle(this.paddingLeft || this.pl))(this.color || this.c) && (style.color = this.color || this.c)(this.fontSize || this.fs) && (style.fontSize = this.fontSize || this.fs)(this.borderRadius || this.radius) && (style.borderRadius = this.borderRadius || this.radius)(this.position || this.pos) && (this.position = this.position || this.pos)(this.flexDirection || this.fd) && (this.flexDirection = this.flexDirection || this.fd)(this.justifyContent || jc) && (this.justifyContent = this.justifyContent || jc)(this.alignItems || ai) && (this.alignItems = this.alignItems || ai) + + return uni.$u.deepMerge(style, uni.$u.addStyle(this.customStyle)) + } + }, + methods: { + // 获取margin或者padding的单位,比如padding: 0 20转为padding: 0 20px + getUnit(unit = '') { + // 取出两端空格,分隔成数组,再对数组的每个元素添加单位,最后再合并成字符串 + return uni.$u.trim(unit).split(' ').map((item) => uni.$u.addUnit(item)).join(' ') + } + } +} diff --git a/components/uview-ui/libs/mixin/touch.js b/components/uview-ui/libs/mixin/touch.js new file mode 100644 index 0000000..0ecbd88 --- /dev/null +++ b/components/uview-ui/libs/mixin/touch.js @@ -0,0 +1,59 @@ +const MIN_DISTANCE = 10 + +function getDirection(x, y) { + if (x > y && x > MIN_DISTANCE) { + return 'horizontal' + } + if (y > x && y > MIN_DISTANCE) { + return 'vertical' + } + return '' +} + +export default { + methods: { + getTouchPoint(e) { + if (!e) { + return { + x: 0, + y: 0 + } + } if (e.touches && e.touches[0]) { + return { + x: e.touches[0].pageX, + y: e.touches[0].pageY + } + } if (e.changedTouches && e.changedTouches[0]) { + return { + x: e.changedTouches[0].pageX, + y: e.changedTouches[0].pageY + } + } + return { + x: e.clientX || 0, + y: e.clientY || 0 + } + }, + resetTouchStatus() { + this.direction = '' + this.deltaX = 0 + this.deltaY = 0 + this.offsetX = 0 + this.offsetY = 0 + }, + touchStart(event) { + this.resetTouchStatus() + const touch = this.getTouchPoint(event) + this.startX = touch.x + this.startY = touch.y + }, + touchMove(event) { + const touch = this.getTouchPoint(event) + this.deltaX = touch.x - this.startX + this.deltaY = touch.y - this.startY + this.offsetX = Math.abs(this.deltaX) + this.offsetY = Math.abs(this.deltaY) + this.direction = this.direction || getDirection(this.offsetX, this.offsetY) + } + } +} diff --git a/components/uview-ui/libs/request/index.js b/components/uview-ui/libs/request/index.js new file mode 100644 index 0000000..1f5f471 --- /dev/null +++ b/components/uview-ui/libs/request/index.js @@ -0,0 +1,169 @@ +import deepMerge from "../function/deepMerge"; +import validate from "../function/test"; +class Request { + // 设置全局默认配置 + setConfig(customConfig) { + // 深度合并对象,否则会造成对象深层属性丢失 + this.config = deepMerge(this.config, customConfig); + } + + // 主要请求部分 + request(options = {}) { + // 检查请求拦截 + if (this.interceptor.request && typeof this.interceptor.request === 'function') { + let tmpConfig = {}; + let interceptorRequest = this.interceptor.request(options); + if (interceptorRequest === false) { + // 返回一个处于pending状态中的Promise,来取消原promise,避免进入then()回调 + return new Promise(()=>{}); + } + this.options = interceptorRequest; + } + options.dataType = options.dataType || this.config.dataType; + options.responseType = options.responseType || this.config.responseType; + options.url = options.url || ''; + options.params = options.params || {}; + options.header = Object.assign({}, this.config.header, options.header); + options.method = options.method || this.config.method; + + return new Promise((resolve, reject) => { + options.complete = (response) => { + // 请求返回后,隐藏loading(如果请求返回快的话,可能会没有loading) + uni.hideLoading(); + // 清除定时器,如果请求回来了,就无需loading + clearTimeout(this.config.timer); + this.config.timer = null; + // 判断用户对拦截返回数据的要求,如果originalData为true,返回所有的数据(response)到拦截器,否则只返回response.data + if(this.config.originalData) { + // 判断是否存在拦截器 + if (this.interceptor.response && typeof this.interceptor.response === 'function') { + let resInterceptors = this.interceptor.response(response); + // 如果拦截器不返回false,就将拦截器返回的内容给this.$u.post的then回调 + if (resInterceptors !== false) { + resolve(resInterceptors); + } else { + // 如果拦截器返回false,意味着拦截器定义者认为返回有问题,直接接入catch回调 + reject(response); + } + } else { + // 如果要求返回原始数据,就算没有拦截器,也返回最原始的数据 + resolve(response); + } + } else { + if (response.statusCode == 200) { + if (this.interceptor.response && typeof this.interceptor.response === 'function') { + let resInterceptors = this.interceptor.response(response.data); + if (resInterceptors !== false) { + resolve(resInterceptors); + } else { + reject(response.data); + } + } else { + // 如果不是返回原始数据(originalData=false),且没有拦截器的情况下,返回纯数据给then回调 + resolve(response.data); + } + } else { + // 不返回原始数据的情况下,服务器状态码不为200,modal弹框提示 + // if(response.errMsg) { + // uni.showModal({ + // title: response.errMsg + // }); + // } + reject(response) + } + } + } + + // 判断用户传递的URL是否/开头,如果不是,加上/,这里使用了uView的test.js验证库的url()方法 + options.url = validate.url(options.url) ? options.url : (this.config.baseUrl + (options.url.indexOf('/') == 0 ? + options.url : '/' + options.url)); + + // 是否显示loading + // 加一个是否已有timer定时器的判断,否则有两个同时请求的时候,后者会清除前者的定时器id + // 而没有清除前者的定时器,导致前者超时,一直显示loading + if(this.config.showLoading && !this.config.timer) { + this.config.timer = setTimeout(() => { + uni.showLoading({ + title: this.config.loadingText, + mask: this.config.loadingMask + }) + this.config.timer = null; + }, this.config.loadingTime); + } + uni.request(options); + }) + // .catch(res => { + // // 如果返回reject(),不让其进入this.$u.post().then().catch()后面的catct() + // // 因为很多人都会忘了写后面的catch(),导致报错捕获不到catch + // return new Promise(()=>{}); + // }) + } + + constructor() { + this.config = { + baseUrl: '', // 请求的根域名 + // 默认的请求头 + header: {}, + method: 'POST', + // 设置为json,返回后uni.request会对数据进行一次JSON.parse + dataType: 'json', + // 此参数无需处理,因为5+和支付宝小程序不支持,默认为text即可 + responseType: 'text', + showLoading: true, // 是否显示请求中的loading + loadingText: '请求中...', + loadingTime: 800, // 在此时间内,请求还没回来的话,就显示加载中动画,单位ms + timer: null, // 定时器 + originalData: false, // 是否在拦截器中返回服务端的原始数据,见文档说明 + loadingMask: true, // 展示loading的时候,是否给一个透明的蒙层,防止触摸穿透 + } + + // 拦截器 + this.interceptor = { + // 请求前的拦截 + request: null, + // 请求后的拦截 + response: null + } + + // get请求 + this.get = (url, data = {}, header = {}) => { + return this.request({ + method: 'GET', + url, + header, + data + }) + } + + // post请求 + this.post = (url, data = {}, header = {}) => { + return this.request({ + url, + method: 'POST', + header, + data + }) + } + + // put请求,不支持支付宝小程序(HX2.6.15) + this.put = (url, data = {}, header = {}) => { + return this.request({ + url, + method: 'PUT', + header, + data + }) + } + + // delete请求,不支持支付宝和头条小程序(HX2.6.15) + this.delete = (url, data = {}, header = {}) => { + return this.request({ + url, + method: 'DELETE', + header, + data + }) + } + } +} +export default new Request diff --git a/components/uview-ui/libs/store/index.js b/components/uview-ui/libs/store/index.js new file mode 100644 index 0000000..a5927b3 --- /dev/null +++ b/components/uview-ui/libs/store/index.js @@ -0,0 +1,19 @@ +// 暂时不用vuex模块方式实现,将该方法直接放入到/store/index.js中 +const module = { + actions: { + $uStore({rootState}, params) { + let nameArr = params.name.split('.'); + if(nameArr.length >= 2) { + let obj = rootState[nameArr[0]]; + for(let i = 1; i < nameArr.length - 1; i ++) { + obj = obj[nameArr[i]]; + } + obj[nameArr[nameArr.length - 1]] = params.value; + } else { + rootState[params.name] = params.value; + } + } + } +} + +export default module \ No newline at end of file diff --git a/components/uview-ui/libs/util/area.js b/components/uview-ui/libs/util/area.js new file mode 100644 index 0000000..0d602e9 --- /dev/null +++ b/components/uview-ui/libs/util/area.js @@ -0,0 +1 @@ +var areaData=[[[{"label":"东城区","value":"110101"},{"label":"西城区","value":"110102"},{"label":"朝阳区","value":"110105"},{"label":"丰台区","value":"110106"},{"label":"石景山区","value":"110107"},{"label":"海淀区","value":"110108"},{"label":"门头沟区","value":"110109"},{"label":"房山区","value":"110111"},{"label":"通州区","value":"110112"},{"label":"顺义区","value":"110113"},{"label":"昌平区","value":"110114"},{"label":"大兴区","value":"110115"},{"label":"怀柔区","value":"110116"},{"label":"平谷区","value":"110117"},{"label":"密云区","value":"110118"},{"label":"延庆区","value":"110119"}]],[[{"label":"和平区","value":"120101"},{"label":"河东区","value":"120102"},{"label":"河西区","value":"120103"},{"label":"南开区","value":"120104"},{"label":"河北区","value":"120105"},{"label":"红桥区","value":"120106"},{"label":"东丽区","value":"120110"},{"label":"西青区","value":"120111"},{"label":"津南区","value":"120112"},{"label":"北辰区","value":"120113"},{"label":"武清区","value":"120114"},{"label":"宝坻区","value":"120115"},{"label":"滨海新区","value":"120116"},{"label":"宁河区","value":"120117"},{"label":"静海区","value":"120118"},{"label":"蓟州区","value":"120119"}]],[[{"label":"长安区","value":"130102"},{"label":"桥西区","value":"130104"},{"label":"新华区","value":"130105"},{"label":"井陉矿区","value":"130107"},{"label":"裕华区","value":"130108"},{"label":"藁城区","value":"130109"},{"label":"鹿泉区","value":"130110"},{"label":"栾城区","value":"130111"},{"label":"井陉县","value":"130121"},{"label":"正定县","value":"130123"},{"label":"行唐县","value":"130125"},{"label":"灵寿县","value":"130126"},{"label":"高邑县","value":"130127"},{"label":"深泽县","value":"130128"},{"label":"赞皇县","value":"130129"},{"label":"无极县","value":"130130"},{"label":"平山县","value":"130131"},{"label":"元氏县","value":"130132"},{"label":"赵县","value":"130133"},{"label":"石家庄高新技术产业开发区","value":"130171"},{"label":"石家庄循环化工园区","value":"130172"},{"label":"辛集市","value":"130181"},{"label":"晋州市","value":"130183"},{"label":"新乐市","value":"130184"}],[{"label":"路南区","value":"130202"},{"label":"路北区","value":"130203"},{"label":"古冶区","value":"130204"},{"label":"开平区","value":"130205"},{"label":"丰南区","value":"130207"},{"label":"丰润区","value":"130208"},{"label":"曹妃甸区","value":"130209"},{"label":"滦县","value":"130223"},{"label":"滦南县","value":"130224"},{"label":"乐亭县","value":"130225"},{"label":"迁西县","value":"130227"},{"label":"玉田县","value":"130229"},{"label":"唐山市芦台经济技术开发区","value":"130271"},{"label":"唐山市汉沽管理区","value":"130272"},{"label":"唐山高新技术产业开发区","value":"130273"},{"label":"河北唐山海港经济开发区","value":"130274"},{"label":"遵化市","value":"130281"},{"label":"迁安市","value":"130283"}],[{"label":"海港区","value":"130302"},{"label":"山海关区","value":"130303"},{"label":"北戴河区","value":"130304"},{"label":"抚宁区","value":"130306"},{"label":"青龙满族自治县","value":"130321"},{"label":"昌黎县","value":"130322"},{"label":"卢龙县","value":"130324"},{"label":"秦皇岛市经济技术开发区","value":"130371"},{"label":"北戴河新区","value":"130372"}],[{"label":"邯山区","value":"130402"},{"label":"丛台区","value":"130403"},{"label":"复兴区","value":"130404"},{"label":"峰峰矿区","value":"130406"},{"label":"肥乡区","value":"130407"},{"label":"永年区","value":"130408"},{"label":"临漳县","value":"130423"},{"label":"成安县","value":"130424"},{"label":"大名县","value":"130425"},{"label":"涉县","value":"130426"},{"label":"磁县","value":"130427"},{"label":"邱县","value":"130430"},{"label":"鸡泽县","value":"130431"},{"label":"广平县","value":"130432"},{"label":"馆陶县","value":"130433"},{"label":"魏县","value":"130434"},{"label":"曲周县","value":"130435"},{"label":"邯郸经济技术开发区","value":"130471"},{"label":"邯郸冀南新区","value":"130473"},{"label":"武安市","value":"130481"}],[{"label":"桥东区","value":"130502"},{"label":"桥西区","value":"130503"},{"label":"邢台县","value":"130521"},{"label":"临城县","value":"130522"},{"label":"内丘县","value":"130523"},{"label":"柏乡县","value":"130524"},{"label":"隆尧县","value":"130525"},{"label":"任县","value":"130526"},{"label":"南和县","value":"130527"},{"label":"宁晋县","value":"130528"},{"label":"巨鹿县","value":"130529"},{"label":"新河县","value":"130530"},{"label":"广宗县","value":"130531"},{"label":"平乡县","value":"130532"},{"label":"威县","value":"130533"},{"label":"清河县","value":"130534"},{"label":"临西县","value":"130535"},{"label":"河北邢台经济开发区","value":"130571"},{"label":"南宫市","value":"130581"},{"label":"沙河市","value":"130582"}],[{"label":"竞秀区","value":"130602"},{"label":"莲池区","value":"130606"},{"label":"满城区","value":"130607"},{"label":"清苑区","value":"130608"},{"label":"徐水区","value":"130609"},{"label":"涞水县","value":"130623"},{"label":"阜平县","value":"130624"},{"label":"定兴县","value":"130626"},{"label":"唐县","value":"130627"},{"label":"高阳县","value":"130628"},{"label":"容城县","value":"130629"},{"label":"涞源县","value":"130630"},{"label":"望都县","value":"130631"},{"label":"安新县","value":"130632"},{"label":"易县","value":"130633"},{"label":"曲阳县","value":"130634"},{"label":"蠡县","value":"130635"},{"label":"顺平县","value":"130636"},{"label":"博野县","value":"130637"},{"label":"雄县","value":"130638"},{"label":"保定高新技术产业开发区","value":"130671"},{"label":"保定白沟新城","value":"130672"},{"label":"涿州市","value":"130681"},{"label":"定州市","value":"130682"},{"label":"安国市","value":"130683"},{"label":"高碑店市","value":"130684"}],[{"label":"桥东区","value":"130702"},{"label":"桥西区","value":"130703"},{"label":"宣化区","value":"130705"},{"label":"下花园区","value":"130706"},{"label":"万全区","value":"130708"},{"label":"崇礼区","value":"130709"},{"label":"张北县","value":"130722"},{"label":"康保县","value":"130723"},{"label":"沽源县","value":"130724"},{"label":"尚义县","value":"130725"},{"label":"蔚县","value":"130726"},{"label":"阳原县","value":"130727"},{"label":"怀安县","value":"130728"},{"label":"怀来县","value":"130730"},{"label":"涿鹿县","value":"130731"},{"label":"赤城县","value":"130732"},{"label":"张家口市高新技术产业开发区","value":"130771"},{"label":"张家口市察北管理区","value":"130772"},{"label":"张家口市塞北管理区","value":"130773"}],[{"label":"双桥区","value":"130802"},{"label":"双滦区","value":"130803"},{"label":"鹰手营子矿区","value":"130804"},{"label":"承德县","value":"130821"},{"label":"兴隆县","value":"130822"},{"label":"滦平县","value":"130824"},{"label":"隆化县","value":"130825"},{"label":"丰宁满族自治县","value":"130826"},{"label":"宽城满族自治县","value":"130827"},{"label":"围场满族蒙古族自治县","value":"130828"},{"label":"承德高新技术产业开发区","value":"130871"},{"label":"平泉市","value":"130881"}],[{"label":"新华区","value":"130902"},{"label":"运河区","value":"130903"},{"label":"沧县","value":"130921"},{"label":"青县","value":"130922"},{"label":"东光县","value":"130923"},{"label":"海兴县","value":"130924"},{"label":"盐山县","value":"130925"},{"label":"肃宁县","value":"130926"},{"label":"南皮县","value":"130927"},{"label":"吴桥县","value":"130928"},{"label":"献县","value":"130929"},{"label":"孟村回族自治县","value":"130930"},{"label":"河北沧州经济开发区","value":"130971"},{"label":"沧州高新技术产业开发区","value":"130972"},{"label":"沧州渤海新区","value":"130973"},{"label":"泊头市","value":"130981"},{"label":"任丘市","value":"130982"},{"label":"黄骅市","value":"130983"},{"label":"河间市","value":"130984"}],[{"label":"安次区","value":"131002"},{"label":"广阳区","value":"131003"},{"label":"固安县","value":"131022"},{"label":"永清县","value":"131023"},{"label":"香河县","value":"131024"},{"label":"大城县","value":"131025"},{"label":"文安县","value":"131026"},{"label":"大厂回族自治县","value":"131028"},{"label":"廊坊经济技术开发区","value":"131071"},{"label":"霸州市","value":"131081"},{"label":"三河市","value":"131082"}],[{"label":"桃城区","value":"131102"},{"label":"冀州区","value":"131103"},{"label":"枣强县","value":"131121"},{"label":"武邑县","value":"131122"},{"label":"武强县","value":"131123"},{"label":"饶阳县","value":"131124"},{"label":"安平县","value":"131125"},{"label":"故城县","value":"131126"},{"label":"景县","value":"131127"},{"label":"阜城县","value":"131128"},{"label":"河北衡水经济开发区","value":"131171"},{"label":"衡水滨湖新区","value":"131172"},{"label":"深州市","value":"131182"}]],[[{"label":"小店区","value":"140105"},{"label":"迎泽区","value":"140106"},{"label":"杏花岭区","value":"140107"},{"label":"尖草坪区","value":"140108"},{"label":"万柏林区","value":"140109"},{"label":"晋源区","value":"140110"},{"label":"清徐县","value":"140121"},{"label":"阳曲县","value":"140122"},{"label":"娄烦县","value":"140123"},{"label":"山西转型综合改革示范区","value":"140171"},{"label":"古交市","value":"140181"}],[{"label":"城区","value":"140202"},{"label":"矿区","value":"140203"},{"label":"南郊区","value":"140211"},{"label":"新荣区","value":"140212"},{"label":"阳高县","value":"140221"},{"label":"天镇县","value":"140222"},{"label":"广灵县","value":"140223"},{"label":"灵丘县","value":"140224"},{"label":"浑源县","value":"140225"},{"label":"左云县","value":"140226"},{"label":"大同县","value":"140227"},{"label":"山西大同经济开发区","value":"140271"}],[{"label":"城区","value":"140302"},{"label":"矿区","value":"140303"},{"label":"郊区","value":"140311"},{"label":"平定县","value":"140321"},{"label":"盂县","value":"140322"},{"label":"山西阳泉经济开发区","value":"140371"}],[{"label":"城区","value":"140402"},{"label":"郊区","value":"140411"},{"label":"长治县","value":"140421"},{"label":"襄垣县","value":"140423"},{"label":"屯留县","value":"140424"},{"label":"平顺县","value":"140425"},{"label":"黎城县","value":"140426"},{"label":"壶关县","value":"140427"},{"label":"长子县","value":"140428"},{"label":"武乡县","value":"140429"},{"label":"沁县","value":"140430"},{"label":"沁源县","value":"140431"},{"label":"山西长治高新技术产业园区","value":"140471"},{"label":"潞城市","value":"140481"}],[{"label":"城区","value":"140502"},{"label":"沁水县","value":"140521"},{"label":"阳城县","value":"140522"},{"label":"陵川县","value":"140524"},{"label":"泽州县","value":"140525"},{"label":"高平市","value":"140581"}],[{"label":"朔城区","value":"140602"},{"label":"平鲁区","value":"140603"},{"label":"山阴县","value":"140621"},{"label":"应县","value":"140622"},{"label":"右玉县","value":"140623"},{"label":"怀仁县","value":"140624"},{"label":"山西朔州经济开发区","value":"140671"}],[{"label":"榆次区","value":"140702"},{"label":"榆社县","value":"140721"},{"label":"左权县","value":"140722"},{"label":"和顺县","value":"140723"},{"label":"昔阳县","value":"140724"},{"label":"寿阳县","value":"140725"},{"label":"太谷县","value":"140726"},{"label":"祁县","value":"140727"},{"label":"平遥县","value":"140728"},{"label":"灵石县","value":"140729"},{"label":"介休市","value":"140781"}],[{"label":"盐湖区","value":"140802"},{"label":"临猗县","value":"140821"},{"label":"万荣县","value":"140822"},{"label":"闻喜县","value":"140823"},{"label":"稷山县","value":"140824"},{"label":"新绛县","value":"140825"},{"label":"绛县","value":"140826"},{"label":"垣曲县","value":"140827"},{"label":"夏县","value":"140828"},{"label":"平陆县","value":"140829"},{"label":"芮城县","value":"140830"},{"label":"永济市","value":"140881"},{"label":"河津市","value":"140882"}],[{"label":"忻府区","value":"140902"},{"label":"定襄县","value":"140921"},{"label":"五台县","value":"140922"},{"label":"代县","value":"140923"},{"label":"繁峙县","value":"140924"},{"label":"宁武县","value":"140925"},{"label":"静乐县","value":"140926"},{"label":"神池县","value":"140927"},{"label":"五寨县","value":"140928"},{"label":"岢岚县","value":"140929"},{"label":"河曲县","value":"140930"},{"label":"保德县","value":"140931"},{"label":"偏关县","value":"140932"},{"label":"五台山风景名胜区","value":"140971"},{"label":"原平市","value":"140981"}],[{"label":"尧都区","value":"141002"},{"label":"曲沃县","value":"141021"},{"label":"翼城县","value":"141022"},{"label":"襄汾县","value":"141023"},{"label":"洪洞县","value":"141024"},{"label":"古县","value":"141025"},{"label":"安泽县","value":"141026"},{"label":"浮山县","value":"141027"},{"label":"吉县","value":"141028"},{"label":"乡宁县","value":"141029"},{"label":"大宁县","value":"141030"},{"label":"隰县","value":"141031"},{"label":"永和县","value":"141032"},{"label":"蒲县","value":"141033"},{"label":"汾西县","value":"141034"},{"label":"侯马市","value":"141081"},{"label":"霍州市","value":"141082"}],[{"label":"离石区","value":"141102"},{"label":"文水县","value":"141121"},{"label":"交城县","value":"141122"},{"label":"兴县","value":"141123"},{"label":"临县","value":"141124"},{"label":"柳林县","value":"141125"},{"label":"石楼县","value":"141126"},{"label":"岚县","value":"141127"},{"label":"方山县","value":"141128"},{"label":"中阳县","value":"141129"},{"label":"交口县","value":"141130"},{"label":"孝义市","value":"141181"},{"label":"汾阳市","value":"141182"}]],[[{"label":"新城区","value":"150102"},{"label":"回民区","value":"150103"},{"label":"玉泉区","value":"150104"},{"label":"赛罕区","value":"150105"},{"label":"土默特左旗","value":"150121"},{"label":"托克托县","value":"150122"},{"label":"和林格尔县","value":"150123"},{"label":"清水河县","value":"150124"},{"label":"武川县","value":"150125"},{"label":"呼和浩特金海工业园区","value":"150171"},{"label":"呼和浩特经济技术开发区","value":"150172"}],[{"label":"东河区","value":"150202"},{"label":"昆都仑区","value":"150203"},{"label":"青山区","value":"150204"},{"label":"石拐区","value":"150205"},{"label":"白云鄂博矿区","value":"150206"},{"label":"九原区","value":"150207"},{"label":"土默特右旗","value":"150221"},{"label":"固阳县","value":"150222"},{"label":"达尔罕茂明安联合旗","value":"150223"},{"label":"包头稀土高新技术产业开发区","value":"150271"}],[{"label":"海勃湾区","value":"150302"},{"label":"海南区","value":"150303"},{"label":"乌达区","value":"150304"}],[{"label":"红山区","value":"150402"},{"label":"元宝山区","value":"150403"},{"label":"松山区","value":"150404"},{"label":"阿鲁科尔沁旗","value":"150421"},{"label":"巴林左旗","value":"150422"},{"label":"巴林右旗","value":"150423"},{"label":"林西县","value":"150424"},{"label":"克什克腾旗","value":"150425"},{"label":"翁牛特旗","value":"150426"},{"label":"喀喇沁旗","value":"150428"},{"label":"宁城县","value":"150429"},{"label":"敖汉旗","value":"150430"}],[{"label":"科尔沁区","value":"150502"},{"label":"科尔沁左翼中旗","value":"150521"},{"label":"科尔沁左翼后旗","value":"150522"},{"label":"开鲁县","value":"150523"},{"label":"库伦旗","value":"150524"},{"label":"奈曼旗","value":"150525"},{"label":"扎鲁特旗","value":"150526"},{"label":"通辽经济技术开发区","value":"150571"},{"label":"霍林郭勒市","value":"150581"}],[{"label":"东胜区","value":"150602"},{"label":"康巴什区","value":"150603"},{"label":"达拉特旗","value":"150621"},{"label":"准格尔旗","value":"150622"},{"label":"鄂托克前旗","value":"150623"},{"label":"鄂托克旗","value":"150624"},{"label":"杭锦旗","value":"150625"},{"label":"乌审旗","value":"150626"},{"label":"伊金霍洛旗","value":"150627"}],[{"label":"海拉尔区","value":"150702"},{"label":"扎赉诺尔区","value":"150703"},{"label":"阿荣旗","value":"150721"},{"label":"莫力达瓦达斡尔族自治旗","value":"150722"},{"label":"鄂伦春自治旗","value":"150723"},{"label":"鄂温克族自治旗","value":"150724"},{"label":"陈巴尔虎旗","value":"150725"},{"label":"新巴尔虎左旗","value":"150726"},{"label":"新巴尔虎右旗","value":"150727"},{"label":"满洲里市","value":"150781"},{"label":"牙克石市","value":"150782"},{"label":"扎兰屯市","value":"150783"},{"label":"额尔古纳市","value":"150784"},{"label":"根河市","value":"150785"}],[{"label":"临河区","value":"150802"},{"label":"五原县","value":"150821"},{"label":"磴口县","value":"150822"},{"label":"乌拉特前旗","value":"150823"},{"label":"乌拉特中旗","value":"150824"},{"label":"乌拉特后旗","value":"150825"},{"label":"杭锦后旗","value":"150826"}],[{"label":"集宁区","value":"150902"},{"label":"卓资县","value":"150921"},{"label":"化德县","value":"150922"},{"label":"商都县","value":"150923"},{"label":"兴和县","value":"150924"},{"label":"凉城县","value":"150925"},{"label":"察哈尔右翼前旗","value":"150926"},{"label":"察哈尔右翼中旗","value":"150927"},{"label":"察哈尔右翼后旗","value":"150928"},{"label":"四子王旗","value":"150929"},{"label":"丰镇市","value":"150981"}],[{"label":"乌兰浩特市","value":"152201"},{"label":"阿尔山市","value":"152202"},{"label":"科尔沁右翼前旗","value":"152221"},{"label":"科尔沁右翼中旗","value":"152222"},{"label":"扎赉特旗","value":"152223"},{"label":"突泉县","value":"152224"}],[{"label":"二连浩特市","value":"152501"},{"label":"锡林浩特市","value":"152502"},{"label":"阿巴嘎旗","value":"152522"},{"label":"苏尼特左旗","value":"152523"},{"label":"苏尼特右旗","value":"152524"},{"label":"东乌珠穆沁旗","value":"152525"},{"label":"西乌珠穆沁旗","value":"152526"},{"label":"太仆寺旗","value":"152527"},{"label":"镶黄旗","value":"152528"},{"label":"正镶白旗","value":"152529"},{"label":"正蓝旗","value":"152530"},{"label":"多伦县","value":"152531"},{"label":"乌拉盖管委会","value":"152571"}],[{"label":"阿拉善左旗","value":"152921"},{"label":"阿拉善右旗","value":"152922"},{"label":"额济纳旗","value":"152923"},{"label":"内蒙古阿拉善经济开发区","value":"152971"}]],[[{"label":"和平区","value":"210102"},{"label":"沈河区","value":"210103"},{"label":"大东区","value":"210104"},{"label":"皇姑区","value":"210105"},{"label":"铁西区","value":"210106"},{"label":"苏家屯区","value":"210111"},{"label":"浑南区","value":"210112"},{"label":"沈北新区","value":"210113"},{"label":"于洪区","value":"210114"},{"label":"辽中区","value":"210115"},{"label":"康平县","value":"210123"},{"label":"法库县","value":"210124"},{"label":"新民市","value":"210181"}],[{"label":"中山区","value":"210202"},{"label":"西岗区","value":"210203"},{"label":"沙河口区","value":"210204"},{"label":"甘井子区","value":"210211"},{"label":"旅顺口区","value":"210212"},{"label":"金州区","value":"210213"},{"label":"普兰店区","value":"210214"},{"label":"长海县","value":"210224"},{"label":"瓦房店市","value":"210281"},{"label":"庄河市","value":"210283"}],[{"label":"铁东区","value":"210302"},{"label":"铁西区","value":"210303"},{"label":"立山区","value":"210304"},{"label":"千山区","value":"210311"},{"label":"台安县","value":"210321"},{"label":"岫岩满族自治县","value":"210323"},{"label":"海城市","value":"210381"}],[{"label":"新抚区","value":"210402"},{"label":"东洲区","value":"210403"},{"label":"望花区","value":"210404"},{"label":"顺城区","value":"210411"},{"label":"抚顺县","value":"210421"},{"label":"新宾满族自治县","value":"210422"},{"label":"清原满族自治县","value":"210423"}],[{"label":"平山区","value":"210502"},{"label":"溪湖区","value":"210503"},{"label":"明山区","value":"210504"},{"label":"南芬区","value":"210505"},{"label":"本溪满族自治县","value":"210521"},{"label":"桓仁满族自治县","value":"210522"}],[{"label":"元宝区","value":"210602"},{"label":"振兴区","value":"210603"},{"label":"振安区","value":"210604"},{"label":"宽甸满族自治县","value":"210624"},{"label":"东港市","value":"210681"},{"label":"凤城市","value":"210682"}],[{"label":"古塔区","value":"210702"},{"label":"凌河区","value":"210703"},{"label":"太和区","value":"210711"},{"label":"黑山县","value":"210726"},{"label":"义县","value":"210727"},{"label":"凌海市","value":"210781"},{"label":"北镇市","value":"210782"}],[{"label":"站前区","value":"210802"},{"label":"西市区","value":"210803"},{"label":"鲅鱼圈区","value":"210804"},{"label":"老边区","value":"210811"},{"label":"盖州市","value":"210881"},{"label":"大石桥市","value":"210882"}],[{"label":"海州区","value":"210902"},{"label":"新邱区","value":"210903"},{"label":"太平区","value":"210904"},{"label":"清河门区","value":"210905"},{"label":"细河区","value":"210911"},{"label":"阜新蒙古族自治县","value":"210921"},{"label":"彰武县","value":"210922"}],[{"label":"白塔区","value":"211002"},{"label":"文圣区","value":"211003"},{"label":"宏伟区","value":"211004"},{"label":"弓长岭区","value":"211005"},{"label":"太子河区","value":"211011"},{"label":"辽阳县","value":"211021"},{"label":"灯塔市","value":"211081"}],[{"label":"双台子区","value":"211102"},{"label":"兴隆台区","value":"211103"},{"label":"大洼区","value":"211104"},{"label":"盘山县","value":"211122"}],[{"label":"银州区","value":"211202"},{"label":"清河区","value":"211204"},{"label":"铁岭县","value":"211221"},{"label":"西丰县","value":"211223"},{"label":"昌图县","value":"211224"},{"label":"调兵山市","value":"211281"},{"label":"开原市","value":"211282"}],[{"label":"双塔区","value":"211302"},{"label":"龙城区","value":"211303"},{"label":"朝阳县","value":"211321"},{"label":"建平县","value":"211322"},{"label":"喀喇沁左翼蒙古族自治县","value":"211324"},{"label":"北票市","value":"211381"},{"label":"凌源市","value":"211382"}],[{"label":"连山区","value":"211402"},{"label":"龙港区","value":"211403"},{"label":"南票区","value":"211404"},{"label":"绥中县","value":"211421"},{"label":"建昌县","value":"211422"},{"label":"兴城市","value":"211481"}]],[[{"label":"南关区","value":"220102"},{"label":"宽城区","value":"220103"},{"label":"朝阳区","value":"220104"},{"label":"二道区","value":"220105"},{"label":"绿园区","value":"220106"},{"label":"双阳区","value":"220112"},{"label":"九台区","value":"220113"},{"label":"农安县","value":"220122"},{"label":"长春经济技术开发区","value":"220171"},{"label":"长春净月高新技术产业开发区","value":"220172"},{"label":"长春高新技术产业开发区","value":"220173"},{"label":"长春汽车经济技术开发区","value":"220174"},{"label":"榆树市","value":"220182"},{"label":"德惠市","value":"220183"}],[{"label":"昌邑区","value":"220202"},{"label":"龙潭区","value":"220203"},{"label":"船营区","value":"220204"},{"label":"丰满区","value":"220211"},{"label":"永吉县","value":"220221"},{"label":"吉林经济开发区","value":"220271"},{"label":"吉林高新技术产业开发区","value":"220272"},{"label":"吉林中国新加坡食品区","value":"220273"},{"label":"蛟河市","value":"220281"},{"label":"桦甸市","value":"220282"},{"label":"舒兰市","value":"220283"},{"label":"磐石市","value":"220284"}],[{"label":"铁西区","value":"220302"},{"label":"铁东区","value":"220303"},{"label":"梨树县","value":"220322"},{"label":"伊通满族自治县","value":"220323"},{"label":"公主岭市","value":"220381"},{"label":"双辽市","value":"220382"}],[{"label":"龙山区","value":"220402"},{"label":"西安区","value":"220403"},{"label":"东丰县","value":"220421"},{"label":"东辽县","value":"220422"}],[{"label":"东昌区","value":"220502"},{"label":"二道江区","value":"220503"},{"label":"通化县","value":"220521"},{"label":"辉南县","value":"220523"},{"label":"柳河县","value":"220524"},{"label":"梅河口市","value":"220581"},{"label":"集安市","value":"220582"}],[{"label":"浑江区","value":"220602"},{"label":"江源区","value":"220605"},{"label":"抚松县","value":"220621"},{"label":"靖宇县","value":"220622"},{"label":"长白朝鲜族自治县","value":"220623"},{"label":"临江市","value":"220681"}],[{"label":"宁江区","value":"220702"},{"label":"前郭尔罗斯蒙古族自治县","value":"220721"},{"label":"长岭县","value":"220722"},{"label":"乾安县","value":"220723"},{"label":"吉林松原经济开发区","value":"220771"},{"label":"扶余市","value":"220781"}],[{"label":"洮北区","value":"220802"},{"label":"镇赉县","value":"220821"},{"label":"通榆县","value":"220822"},{"label":"吉林白城经济开发区","value":"220871"},{"label":"洮南市","value":"220881"},{"label":"大安市","value":"220882"}],[{"label":"延吉市","value":"222401"},{"label":"图们市","value":"222402"},{"label":"敦化市","value":"222403"},{"label":"珲春市","value":"222404"},{"label":"龙井市","value":"222405"},{"label":"和龙市","value":"222406"},{"label":"汪清县","value":"222424"},{"label":"安图县","value":"222426"}]],[[{"label":"道里区","value":"230102"},{"label":"南岗区","value":"230103"},{"label":"道外区","value":"230104"},{"label":"平房区","value":"230108"},{"label":"松北区","value":"230109"},{"label":"香坊区","value":"230110"},{"label":"呼兰区","value":"230111"},{"label":"阿城区","value":"230112"},{"label":"双城区","value":"230113"},{"label":"依兰县","value":"230123"},{"label":"方正县","value":"230124"},{"label":"宾县","value":"230125"},{"label":"巴彦县","value":"230126"},{"label":"木兰县","value":"230127"},{"label":"通河县","value":"230128"},{"label":"延寿县","value":"230129"},{"label":"尚志市","value":"230183"},{"label":"五常市","value":"230184"}],[{"label":"龙沙区","value":"230202"},{"label":"建华区","value":"230203"},{"label":"铁锋区","value":"230204"},{"label":"昂昂溪区","value":"230205"},{"label":"富拉尔基区","value":"230206"},{"label":"碾子山区","value":"230207"},{"label":"梅里斯达斡尔族区","value":"230208"},{"label":"龙江县","value":"230221"},{"label":"依安县","value":"230223"},{"label":"泰来县","value":"230224"},{"label":"甘南县","value":"230225"},{"label":"富裕县","value":"230227"},{"label":"克山县","value":"230229"},{"label":"克东县","value":"230230"},{"label":"拜泉县","value":"230231"},{"label":"讷河市","value":"230281"}],[{"label":"鸡冠区","value":"230302"},{"label":"恒山区","value":"230303"},{"label":"滴道区","value":"230304"},{"label":"梨树区","value":"230305"},{"label":"城子河区","value":"230306"},{"label":"麻山区","value":"230307"},{"label":"鸡东县","value":"230321"},{"label":"虎林市","value":"230381"},{"label":"密山市","value":"230382"}],[{"label":"向阳区","value":"230402"},{"label":"工农区","value":"230403"},{"label":"南山区","value":"230404"},{"label":"兴安区","value":"230405"},{"label":"东山区","value":"230406"},{"label":"兴山区","value":"230407"},{"label":"萝北县","value":"230421"},{"label":"绥滨县","value":"230422"}],[{"label":"尖山区","value":"230502"},{"label":"岭东区","value":"230503"},{"label":"四方台区","value":"230505"},{"label":"宝山区","value":"230506"},{"label":"集贤县","value":"230521"},{"label":"友谊县","value":"230522"},{"label":"宝清县","value":"230523"},{"label":"饶河县","value":"230524"}],[{"label":"萨尔图区","value":"230602"},{"label":"龙凤区","value":"230603"},{"label":"让胡路区","value":"230604"},{"label":"红岗区","value":"230605"},{"label":"大同区","value":"230606"},{"label":"肇州县","value":"230621"},{"label":"肇源县","value":"230622"},{"label":"林甸县","value":"230623"},{"label":"杜尔伯特蒙古族自治县","value":"230624"},{"label":"大庆高新技术产业开发区","value":"230671"}],[{"label":"伊春区","value":"230702"},{"label":"南岔区","value":"230703"},{"label":"友好区","value":"230704"},{"label":"西林区","value":"230705"},{"label":"翠峦区","value":"230706"},{"label":"新青区","value":"230707"},{"label":"美溪区","value":"230708"},{"label":"金山屯区","value":"230709"},{"label":"五营区","value":"230710"},{"label":"乌马河区","value":"230711"},{"label":"汤旺河区","value":"230712"},{"label":"带岭区","value":"230713"},{"label":"乌伊岭区","value":"230714"},{"label":"红星区","value":"230715"},{"label":"上甘岭区","value":"230716"},{"label":"嘉荫县","value":"230722"},{"label":"铁力市","value":"230781"}],[{"label":"向阳区","value":"230803"},{"label":"前进区","value":"230804"},{"label":"东风区","value":"230805"},{"label":"郊区","value":"230811"},{"label":"桦南县","value":"230822"},{"label":"桦川县","value":"230826"},{"label":"汤原县","value":"230828"},{"label":"同江市","value":"230881"},{"label":"富锦市","value":"230882"},{"label":"抚远市","value":"230883"}],[{"label":"新兴区","value":"230902"},{"label":"桃山区","value":"230903"},{"label":"茄子河区","value":"230904"},{"label":"勃利县","value":"230921"}],[{"label":"东安区","value":"231002"},{"label":"阳明区","value":"231003"},{"label":"爱民区","value":"231004"},{"label":"西安区","value":"231005"},{"label":"林口县","value":"231025"},{"label":"牡丹江经济技术开发区","value":"231071"},{"label":"绥芬河市","value":"231081"},{"label":"海林市","value":"231083"},{"label":"宁安市","value":"231084"},{"label":"穆棱市","value":"231085"},{"label":"东宁市","value":"231086"}],[{"label":"爱辉区","value":"231102"},{"label":"嫩江县","value":"231121"},{"label":"逊克县","value":"231123"},{"label":"孙吴县","value":"231124"},{"label":"北安市","value":"231181"},{"label":"五大连池市","value":"231182"}],[{"label":"北林区","value":"231202"},{"label":"望奎县","value":"231221"},{"label":"兰西县","value":"231222"},{"label":"青冈县","value":"231223"},{"label":"庆安县","value":"231224"},{"label":"明水县","value":"231225"},{"label":"绥棱县","value":"231226"},{"label":"安达市","value":"231281"},{"label":"肇东市","value":"231282"},{"label":"海伦市","value":"231283"}],[{"label":"加格达奇区","value":"232701"},{"label":"松岭区","value":"232702"},{"label":"新林区","value":"232703"},{"label":"呼中区","value":"232704"},{"label":"呼玛县","value":"232721"},{"label":"塔河县","value":"232722"},{"label":"漠河县","value":"232723"}]],[[{"label":"黄浦区","value":"310101"},{"label":"徐汇区","value":"310104"},{"label":"长宁区","value":"310105"},{"label":"静安区","value":"310106"},{"label":"普陀区","value":"310107"},{"label":"虹口区","value":"310109"},{"label":"杨浦区","value":"310110"},{"label":"闵行区","value":"310112"},{"label":"宝山区","value":"310113"},{"label":"嘉定区","value":"310114"},{"label":"浦东新区","value":"310115"},{"label":"金山区","value":"310116"},{"label":"松江区","value":"310117"},{"label":"青浦区","value":"310118"},{"label":"奉贤区","value":"310120"},{"label":"崇明区","value":"310151"}]],[[{"label":"玄武区","value":"320102"},{"label":"秦淮区","value":"320104"},{"label":"建邺区","value":"320105"},{"label":"鼓楼区","value":"320106"},{"label":"浦口区","value":"320111"},{"label":"栖霞区","value":"320113"},{"label":"雨花台区","value":"320114"},{"label":"江宁区","value":"320115"},{"label":"六合区","value":"320116"},{"label":"溧水区","value":"320117"},{"label":"高淳区","value":"320118"}],[{"label":"锡山区","value":"320205"},{"label":"惠山区","value":"320206"},{"label":"滨湖区","value":"320211"},{"label":"梁溪区","value":"320213"},{"label":"新吴区","value":"320214"},{"label":"江阴市","value":"320281"},{"label":"宜兴市","value":"320282"}],[{"label":"鼓楼区","value":"320302"},{"label":"云龙区","value":"320303"},{"label":"贾汪区","value":"320305"},{"label":"泉山区","value":"320311"},{"label":"铜山区","value":"320312"},{"label":"丰县","value":"320321"},{"label":"沛县","value":"320322"},{"label":"睢宁县","value":"320324"},{"label":"徐州经济技术开发区","value":"320371"},{"label":"新沂市","value":"320381"},{"label":"邳州市","value":"320382"}],[{"label":"天宁区","value":"320402"},{"label":"钟楼区","value":"320404"},{"label":"新北区","value":"320411"},{"label":"武进区","value":"320412"},{"label":"金坛区","value":"320413"},{"label":"溧阳市","value":"320481"}],[{"label":"虎丘区","value":"320505"},{"label":"吴中区","value":"320506"},{"label":"相城区","value":"320507"},{"label":"姑苏区","value":"320508"},{"label":"吴江区","value":"320509"},{"label":"苏州工业园区","value":"320571"},{"label":"常熟市","value":"320581"},{"label":"张家港市","value":"320582"},{"label":"昆山市","value":"320583"},{"label":"太仓市","value":"320585"}],[{"label":"崇川区","value":"320602"},{"label":"港闸区","value":"320611"},{"label":"通州区","value":"320612"},{"label":"海安县","value":"320621"},{"label":"如东县","value":"320623"},{"label":"南通经济技术开发区","value":"320671"},{"label":"启东市","value":"320681"},{"label":"如皋市","value":"320682"},{"label":"海门市","value":"320684"}],[{"label":"连云区","value":"320703"},{"label":"海州区","value":"320706"},{"label":"赣榆区","value":"320707"},{"label":"东海县","value":"320722"},{"label":"灌云县","value":"320723"},{"label":"灌南县","value":"320724"},{"label":"连云港经济技术开发区","value":"320771"},{"label":"连云港高新技术产业开发区","value":"320772"}],[{"label":"淮安区","value":"320803"},{"label":"淮阴区","value":"320804"},{"label":"清江浦区","value":"320812"},{"label":"洪泽区","value":"320813"},{"label":"涟水县","value":"320826"},{"label":"盱眙县","value":"320830"},{"label":"金湖县","value":"320831"},{"label":"淮安经济技术开发区","value":"320871"}],[{"label":"亭湖区","value":"320902"},{"label":"盐都区","value":"320903"},{"label":"大丰区","value":"320904"},{"label":"响水县","value":"320921"},{"label":"滨海县","value":"320922"},{"label":"阜宁县","value":"320923"},{"label":"射阳县","value":"320924"},{"label":"建湖县","value":"320925"},{"label":"盐城经济技术开发区","value":"320971"},{"label":"东台市","value":"320981"}],[{"label":"广陵区","value":"321002"},{"label":"邗江区","value":"321003"},{"label":"江都区","value":"321012"},{"label":"宝应县","value":"321023"},{"label":"扬州经济技术开发区","value":"321071"},{"label":"仪征市","value":"321081"},{"label":"高邮市","value":"321084"}],[{"label":"京口区","value":"321102"},{"label":"润州区","value":"321111"},{"label":"丹徒区","value":"321112"},{"label":"镇江新区","value":"321171"},{"label":"丹阳市","value":"321181"},{"label":"扬中市","value":"321182"},{"label":"句容市","value":"321183"}],[{"label":"海陵区","value":"321202"},{"label":"高港区","value":"321203"},{"label":"姜堰区","value":"321204"},{"label":"泰州医药高新技术产业开发区","value":"321271"},{"label":"兴化市","value":"321281"},{"label":"靖江市","value":"321282"},{"label":"泰兴市","value":"321283"}],[{"label":"宿城区","value":"321302"},{"label":"宿豫区","value":"321311"},{"label":"沭阳县","value":"321322"},{"label":"泗阳县","value":"321323"},{"label":"泗洪县","value":"321324"},{"label":"宿迁经济技术开发区","value":"321371"}]],[[{"label":"上城区","value":"330102"},{"label":"下城区","value":"330103"},{"label":"江干区","value":"330104"},{"label":"拱墅区","value":"330105"},{"label":"西湖区","value":"330106"},{"label":"滨江区","value":"330108"},{"label":"萧山区","value":"330109"},{"label":"余杭区","value":"330110"},{"label":"富阳区","value":"330111"},{"label":"临安区","value":"330112"},{"label":"桐庐县","value":"330122"},{"label":"淳安县","value":"330127"},{"label":"建德市","value":"330182"}],[{"label":"海曙区","value":"330203"},{"label":"江北区","value":"330205"},{"label":"北仑区","value":"330206"},{"label":"镇海区","value":"330211"},{"label":"鄞州区","value":"330212"},{"label":"奉化区","value":"330213"},{"label":"象山县","value":"330225"},{"label":"宁海县","value":"330226"},{"label":"余姚市","value":"330281"},{"label":"慈溪市","value":"330282"}],[{"label":"鹿城区","value":"330302"},{"label":"龙湾区","value":"330303"},{"label":"瓯海区","value":"330304"},{"label":"洞头区","value":"330305"},{"label":"永嘉县","value":"330324"},{"label":"平阳县","value":"330326"},{"label":"苍南县","value":"330327"},{"label":"文成县","value":"330328"},{"label":"泰顺县","value":"330329"},{"label":"温州经济技术开发区","value":"330371"},{"label":"瑞安市","value":"330381"},{"label":"乐清市","value":"330382"}],[{"label":"南湖区","value":"330402"},{"label":"秀洲区","value":"330411"},{"label":"嘉善县","value":"330421"},{"label":"海盐县","value":"330424"},{"label":"海宁市","value":"330481"},{"label":"平湖市","value":"330482"},{"label":"桐乡市","value":"330483"}],[{"label":"吴兴区","value":"330502"},{"label":"南浔区","value":"330503"},{"label":"德清县","value":"330521"},{"label":"长兴县","value":"330522"},{"label":"安吉县","value":"330523"}],[{"label":"越城区","value":"330602"},{"label":"柯桥区","value":"330603"},{"label":"上虞区","value":"330604"},{"label":"新昌县","value":"330624"},{"label":"诸暨市","value":"330681"},{"label":"嵊州市","value":"330683"}],[{"label":"婺城区","value":"330702"},{"label":"金东区","value":"330703"},{"label":"武义县","value":"330723"},{"label":"浦江县","value":"330726"},{"label":"磐安县","value":"330727"},{"label":"兰溪市","value":"330781"},{"label":"义乌市","value":"330782"},{"label":"东阳市","value":"330783"},{"label":"永康市","value":"330784"}],[{"label":"柯城区","value":"330802"},{"label":"衢江区","value":"330803"},{"label":"常山县","value":"330822"},{"label":"开化县","value":"330824"},{"label":"龙游县","value":"330825"},{"label":"江山市","value":"330881"}],[{"label":"定海区","value":"330902"},{"label":"普陀区","value":"330903"},{"label":"岱山县","value":"330921"},{"label":"嵊泗县","value":"330922"}],[{"label":"椒江区","value":"331002"},{"label":"黄岩区","value":"331003"},{"label":"路桥区","value":"331004"},{"label":"三门县","value":"331022"},{"label":"天台县","value":"331023"},{"label":"仙居县","value":"331024"},{"label":"温岭市","value":"331081"},{"label":"临海市","value":"331082"},{"label":"玉环市","value":"331083"}],[{"label":"莲都区","value":"331102"},{"label":"青田县","value":"331121"},{"label":"缙云县","value":"331122"},{"label":"遂昌县","value":"331123"},{"label":"松阳县","value":"331124"},{"label":"云和县","value":"331125"},{"label":"庆元县","value":"331126"},{"label":"景宁畲族自治县","value":"331127"},{"label":"龙泉市","value":"331181"}]],[[{"label":"瑶海区","value":"340102"},{"label":"庐阳区","value":"340103"},{"label":"蜀山区","value":"340104"},{"label":"包河区","value":"340111"},{"label":"长丰县","value":"340121"},{"label":"肥东县","value":"340122"},{"label":"肥西县","value":"340123"},{"label":"庐江县","value":"340124"},{"label":"合肥高新技术产业开发区","value":"340171"},{"label":"合肥经济技术开发区","value":"340172"},{"label":"合肥新站高新技术产业开发区","value":"340173"},{"label":"巢湖市","value":"340181"}],[{"label":"镜湖区","value":"340202"},{"label":"弋江区","value":"340203"},{"label":"鸠江区","value":"340207"},{"label":"三山区","value":"340208"},{"label":"芜湖县","value":"340221"},{"label":"繁昌县","value":"340222"},{"label":"南陵县","value":"340223"},{"label":"无为县","value":"340225"},{"label":"芜湖经济技术开发区","value":"340271"},{"label":"安徽芜湖长江大桥经济开发区","value":"340272"}],[{"label":"龙子湖区","value":"340302"},{"label":"蚌山区","value":"340303"},{"label":"禹会区","value":"340304"},{"label":"淮上区","value":"340311"},{"label":"怀远县","value":"340321"},{"label":"五河县","value":"340322"},{"label":"固镇县","value":"340323"},{"label":"蚌埠市高新技术开发区","value":"340371"},{"label":"蚌埠市经济开发区","value":"340372"}],[{"label":"大通区","value":"340402"},{"label":"田家庵区","value":"340403"},{"label":"谢家集区","value":"340404"},{"label":"八公山区","value":"340405"},{"label":"潘集区","value":"340406"},{"label":"凤台县","value":"340421"},{"label":"寿县","value":"340422"}],[{"label":"花山区","value":"340503"},{"label":"雨山区","value":"340504"},{"label":"博望区","value":"340506"},{"label":"当涂县","value":"340521"},{"label":"含山县","value":"340522"},{"label":"和县","value":"340523"}],[{"label":"杜集区","value":"340602"},{"label":"相山区","value":"340603"},{"label":"烈山区","value":"340604"},{"label":"濉溪县","value":"340621"}],[{"label":"铜官区","value":"340705"},{"label":"义安区","value":"340706"},{"label":"郊区","value":"340711"},{"label":"枞阳县","value":"340722"}],[{"label":"迎江区","value":"340802"},{"label":"大观区","value":"340803"},{"label":"宜秀区","value":"340811"},{"label":"怀宁县","value":"340822"},{"label":"潜山县","value":"340824"},{"label":"太湖县","value":"340825"},{"label":"宿松县","value":"340826"},{"label":"望江县","value":"340827"},{"label":"岳西县","value":"340828"},{"label":"安徽安庆经济开发区","value":"340871"},{"label":"桐城市","value":"340881"}],[{"label":"屯溪区","value":"341002"},{"label":"黄山区","value":"341003"},{"label":"徽州区","value":"341004"},{"label":"歙县","value":"341021"},{"label":"休宁县","value":"341022"},{"label":"黟县","value":"341023"},{"label":"祁门县","value":"341024"}],[{"label":"琅琊区","value":"341102"},{"label":"南谯区","value":"341103"},{"label":"来安县","value":"341122"},{"label":"全椒县","value":"341124"},{"label":"定远县","value":"341125"},{"label":"凤阳县","value":"341126"},{"label":"苏滁现代产业园","value":"341171"},{"label":"滁州经济技术开发区","value":"341172"},{"label":"天长市","value":"341181"},{"label":"明光市","value":"341182"}],[{"label":"颍州区","value":"341202"},{"label":"颍东区","value":"341203"},{"label":"颍泉区","value":"341204"},{"label":"临泉县","value":"341221"},{"label":"太和县","value":"341222"},{"label":"阜南县","value":"341225"},{"label":"颍上县","value":"341226"},{"label":"阜阳合肥现代产业园区","value":"341271"},{"label":"阜阳经济技术开发区","value":"341272"},{"label":"界首市","value":"341282"}],[{"label":"埇桥区","value":"341302"},{"label":"砀山县","value":"341321"},{"label":"萧县","value":"341322"},{"label":"灵璧县","value":"341323"},{"label":"泗县","value":"341324"},{"label":"宿州马鞍山现代产业园区","value":"341371"},{"label":"宿州经济技术开发区","value":"341372"}],[{"label":"金安区","value":"341502"},{"label":"裕安区","value":"341503"},{"label":"叶集区","value":"341504"},{"label":"霍邱县","value":"341522"},{"label":"舒城县","value":"341523"},{"label":"金寨县","value":"341524"},{"label":"霍山县","value":"341525"}],[{"label":"谯城区","value":"341602"},{"label":"涡阳县","value":"341621"},{"label":"蒙城县","value":"341622"},{"label":"利辛县","value":"341623"}],[{"label":"贵池区","value":"341702"},{"label":"东至县","value":"341721"},{"label":"石台县","value":"341722"},{"label":"青阳县","value":"341723"}],[{"label":"宣州区","value":"341802"},{"label":"郎溪县","value":"341821"},{"label":"广德县","value":"341822"},{"label":"泾县","value":"341823"},{"label":"绩溪县","value":"341824"},{"label":"旌德县","value":"341825"},{"label":"宣城市经济开发区","value":"341871"},{"label":"宁国市","value":"341881"}]],[[{"label":"鼓楼区","value":"350102"},{"label":"台江区","value":"350103"},{"label":"仓山区","value":"350104"},{"label":"马尾区","value":"350105"},{"label":"晋安区","value":"350111"},{"label":"闽侯县","value":"350121"},{"label":"连江县","value":"350122"},{"label":"罗源县","value":"350123"},{"label":"闽清县","value":"350124"},{"label":"永泰县","value":"350125"},{"label":"平潭县","value":"350128"},{"label":"福清市","value":"350181"},{"label":"长乐市","value":"350182"}],[{"label":"思明区","value":"350203"},{"label":"海沧区","value":"350205"},{"label":"湖里区","value":"350206"},{"label":"集美区","value":"350211"},{"label":"同安区","value":"350212"},{"label":"翔安区","value":"350213"}],[{"label":"城厢区","value":"350302"},{"label":"涵江区","value":"350303"},{"label":"荔城区","value":"350304"},{"label":"秀屿区","value":"350305"},{"label":"仙游县","value":"350322"}],[{"label":"梅列区","value":"350402"},{"label":"三元区","value":"350403"},{"label":"明溪县","value":"350421"},{"label":"清流县","value":"350423"},{"label":"宁化县","value":"350424"},{"label":"大田县","value":"350425"},{"label":"尤溪县","value":"350426"},{"label":"沙县","value":"350427"},{"label":"将乐县","value":"350428"},{"label":"泰宁县","value":"350429"},{"label":"建宁县","value":"350430"},{"label":"永安市","value":"350481"}],[{"label":"鲤城区","value":"350502"},{"label":"丰泽区","value":"350503"},{"label":"洛江区","value":"350504"},{"label":"泉港区","value":"350505"},{"label":"惠安县","value":"350521"},{"label":"安溪县","value":"350524"},{"label":"永春县","value":"350525"},{"label":"德化县","value":"350526"},{"label":"金门县","value":"350527"},{"label":"石狮市","value":"350581"},{"label":"晋江市","value":"350582"},{"label":"南安市","value":"350583"}],[{"label":"芗城区","value":"350602"},{"label":"龙文区","value":"350603"},{"label":"云霄县","value":"350622"},{"label":"漳浦县","value":"350623"},{"label":"诏安县","value":"350624"},{"label":"长泰县","value":"350625"},{"label":"东山县","value":"350626"},{"label":"南靖县","value":"350627"},{"label":"平和县","value":"350628"},{"label":"华安县","value":"350629"},{"label":"龙海市","value":"350681"}],[{"label":"延平区","value":"350702"},{"label":"建阳区","value":"350703"},{"label":"顺昌县","value":"350721"},{"label":"浦城县","value":"350722"},{"label":"光泽县","value":"350723"},{"label":"松溪县","value":"350724"},{"label":"政和县","value":"350725"},{"label":"邵武市","value":"350781"},{"label":"武夷山市","value":"350782"},{"label":"建瓯市","value":"350783"}],[{"label":"新罗区","value":"350802"},{"label":"永定区","value":"350803"},{"label":"长汀县","value":"350821"},{"label":"上杭县","value":"350823"},{"label":"武平县","value":"350824"},{"label":"连城县","value":"350825"},{"label":"漳平市","value":"350881"}],[{"label":"蕉城区","value":"350902"},{"label":"霞浦县","value":"350921"},{"label":"古田县","value":"350922"},{"label":"屏南县","value":"350923"},{"label":"寿宁县","value":"350924"},{"label":"周宁县","value":"350925"},{"label":"柘荣县","value":"350926"},{"label":"福安市","value":"350981"},{"label":"福鼎市","value":"350982"}]],[[{"label":"东湖区","value":"360102"},{"label":"西湖区","value":"360103"},{"label":"青云谱区","value":"360104"},{"label":"湾里区","value":"360105"},{"label":"青山湖区","value":"360111"},{"label":"新建区","value":"360112"},{"label":"南昌县","value":"360121"},{"label":"安义县","value":"360123"},{"label":"进贤县","value":"360124"}],[{"label":"昌江区","value":"360202"},{"label":"珠山区","value":"360203"},{"label":"浮梁县","value":"360222"},{"label":"乐平市","value":"360281"}],[{"label":"安源区","value":"360302"},{"label":"湘东区","value":"360313"},{"label":"莲花县","value":"360321"},{"label":"上栗县","value":"360322"},{"label":"芦溪县","value":"360323"}],[{"label":"濂溪区","value":"360402"},{"label":"浔阳区","value":"360403"},{"label":"柴桑区","value":"360404"},{"label":"武宁县","value":"360423"},{"label":"修水县","value":"360424"},{"label":"永修县","value":"360425"},{"label":"德安县","value":"360426"},{"label":"都昌县","value":"360428"},{"label":"湖口县","value":"360429"},{"label":"彭泽县","value":"360430"},{"label":"瑞昌市","value":"360481"},{"label":"共青城市","value":"360482"},{"label":"庐山市","value":"360483"}],[{"label":"渝水区","value":"360502"},{"label":"分宜县","value":"360521"}],[{"label":"月湖区","value":"360602"},{"label":"余江县","value":"360622"},{"label":"贵溪市","value":"360681"}],[{"label":"章贡区","value":"360702"},{"label":"南康区","value":"360703"},{"label":"赣县区","value":"360704"},{"label":"信丰县","value":"360722"},{"label":"大余县","value":"360723"},{"label":"上犹县","value":"360724"},{"label":"崇义县","value":"360725"},{"label":"安远县","value":"360726"},{"label":"龙南县","value":"360727"},{"label":"定南县","value":"360728"},{"label":"全南县","value":"360729"},{"label":"宁都县","value":"360730"},{"label":"于都县","value":"360731"},{"label":"兴国县","value":"360732"},{"label":"会昌县","value":"360733"},{"label":"寻乌县","value":"360734"},{"label":"石城县","value":"360735"},{"label":"瑞金市","value":"360781"}],[{"label":"吉州区","value":"360802"},{"label":"青原区","value":"360803"},{"label":"吉安县","value":"360821"},{"label":"吉水县","value":"360822"},{"label":"峡江县","value":"360823"},{"label":"新干县","value":"360824"},{"label":"永丰县","value":"360825"},{"label":"泰和县","value":"360826"},{"label":"遂川县","value":"360827"},{"label":"万安县","value":"360828"},{"label":"安福县","value":"360829"},{"label":"永新县","value":"360830"},{"label":"井冈山市","value":"360881"}],[{"label":"袁州区","value":"360902"},{"label":"奉新县","value":"360921"},{"label":"万载县","value":"360922"},{"label":"上高县","value":"360923"},{"label":"宜丰县","value":"360924"},{"label":"靖安县","value":"360925"},{"label":"铜鼓县","value":"360926"},{"label":"丰城市","value":"360981"},{"label":"樟树市","value":"360982"},{"label":"高安市","value":"360983"}],[{"label":"临川区","value":"361002"},{"label":"东乡区","value":"361003"},{"label":"南城县","value":"361021"},{"label":"黎川县","value":"361022"},{"label":"南丰县","value":"361023"},{"label":"崇仁县","value":"361024"},{"label":"乐安县","value":"361025"},{"label":"宜黄县","value":"361026"},{"label":"金溪县","value":"361027"},{"label":"资溪县","value":"361028"},{"label":"广昌县","value":"361030"}],[{"label":"信州区","value":"361102"},{"label":"广丰区","value":"361103"},{"label":"上饶县","value":"361121"},{"label":"玉山县","value":"361123"},{"label":"铅山县","value":"361124"},{"label":"横峰县","value":"361125"},{"label":"弋阳县","value":"361126"},{"label":"余干县","value":"361127"},{"label":"鄱阳县","value":"361128"},{"label":"万年县","value":"361129"},{"label":"婺源县","value":"361130"},{"label":"德兴市","value":"361181"}]],[[{"label":"历下区","value":"370102"},{"label":"市中区","value":"370103"},{"label":"槐荫区","value":"370104"},{"label":"天桥区","value":"370105"},{"label":"历城区","value":"370112"},{"label":"长清区","value":"370113"},{"label":"章丘区","value":"370114"},{"label":"平阴县","value":"370124"},{"label":"济阳县","value":"370125"},{"label":"商河县","value":"370126"},{"label":"济南高新技术产业开发区","value":"370171"}],[{"label":"市南区","value":"370202"},{"label":"市北区","value":"370203"},{"label":"黄岛区","value":"370211"},{"label":"崂山区","value":"370212"},{"label":"李沧区","value":"370213"},{"label":"城阳区","value":"370214"},{"label":"即墨区","value":"370215"},{"label":"青岛高新技术产业开发区","value":"370271"},{"label":"胶州市","value":"370281"},{"label":"平度市","value":"370283"},{"label":"莱西市","value":"370285"}],[{"label":"淄川区","value":"370302"},{"label":"张店区","value":"370303"},{"label":"博山区","value":"370304"},{"label":"临淄区","value":"370305"},{"label":"周村区","value":"370306"},{"label":"桓台县","value":"370321"},{"label":"高青县","value":"370322"},{"label":"沂源县","value":"370323"}],[{"label":"市中区","value":"370402"},{"label":"薛城区","value":"370403"},{"label":"峄城区","value":"370404"},{"label":"台儿庄区","value":"370405"},{"label":"山亭区","value":"370406"},{"label":"滕州市","value":"370481"}],[{"label":"东营区","value":"370502"},{"label":"河口区","value":"370503"},{"label":"垦利区","value":"370505"},{"label":"利津县","value":"370522"},{"label":"广饶县","value":"370523"},{"label":"东营经济技术开发区","value":"370571"},{"label":"东营港经济开发区","value":"370572"}],[{"label":"芝罘区","value":"370602"},{"label":"福山区","value":"370611"},{"label":"牟平区","value":"370612"},{"label":"莱山区","value":"370613"},{"label":"长岛县","value":"370634"},{"label":"烟台高新技术产业开发区","value":"370671"},{"label":"烟台经济技术开发区","value":"370672"},{"label":"龙口市","value":"370681"},{"label":"莱阳市","value":"370682"},{"label":"莱州市","value":"370683"},{"label":"蓬莱市","value":"370684"},{"label":"招远市","value":"370685"},{"label":"栖霞市","value":"370686"},{"label":"海阳市","value":"370687"}],[{"label":"潍城区","value":"370702"},{"label":"寒亭区","value":"370703"},{"label":"坊子区","value":"370704"},{"label":"奎文区","value":"370705"},{"label":"临朐县","value":"370724"},{"label":"昌乐县","value":"370725"},{"label":"潍坊滨海经济技术开发区","value":"370772"},{"label":"青州市","value":"370781"},{"label":"诸城市","value":"370782"},{"label":"寿光市","value":"370783"},{"label":"安丘市","value":"370784"},{"label":"高密市","value":"370785"},{"label":"昌邑市","value":"370786"}],[{"label":"任城区","value":"370811"},{"label":"兖州区","value":"370812"},{"label":"微山县","value":"370826"},{"label":"鱼台县","value":"370827"},{"label":"金乡县","value":"370828"},{"label":"嘉祥县","value":"370829"},{"label":"汶上县","value":"370830"},{"label":"泗水县","value":"370831"},{"label":"梁山县","value":"370832"},{"label":"济宁高新技术产业开发区","value":"370871"},{"label":"曲阜市","value":"370881"},{"label":"邹城市","value":"370883"}],[{"label":"泰山区","value":"370902"},{"label":"岱岳区","value":"370911"},{"label":"宁阳县","value":"370921"},{"label":"东平县","value":"370923"},{"label":"新泰市","value":"370982"},{"label":"肥城市","value":"370983"}],[{"label":"环翠区","value":"371002"},{"label":"文登区","value":"371003"},{"label":"威海火炬高技术产业开发区","value":"371071"},{"label":"威海经济技术开发区","value":"371072"},{"label":"威海临港经济技术开发区","value":"371073"},{"label":"荣成市","value":"371082"},{"label":"乳山市","value":"371083"}],[{"label":"东港区","value":"371102"},{"label":"岚山区","value":"371103"},{"label":"五莲县","value":"371121"},{"label":"莒县","value":"371122"},{"label":"日照经济技术开发区","value":"371171"},{"label":"日照国际海洋城","value":"371172"}],[{"label":"莱城区","value":"371202"},{"label":"钢城区","value":"371203"}],[{"label":"兰山区","value":"371302"},{"label":"罗庄区","value":"371311"},{"label":"河东区","value":"371312"},{"label":"沂南县","value":"371321"},{"label":"郯城县","value":"371322"},{"label":"沂水县","value":"371323"},{"label":"兰陵县","value":"371324"},{"label":"费县","value":"371325"},{"label":"平邑县","value":"371326"},{"label":"莒南县","value":"371327"},{"label":"蒙阴县","value":"371328"},{"label":"临沭县","value":"371329"},{"label":"临沂高新技术产业开发区","value":"371371"},{"label":"临沂经济技术开发区","value":"371372"},{"label":"临沂临港经济开发区","value":"371373"}],[{"label":"德城区","value":"371402"},{"label":"陵城区","value":"371403"},{"label":"宁津县","value":"371422"},{"label":"庆云县","value":"371423"},{"label":"临邑县","value":"371424"},{"label":"齐河县","value":"371425"},{"label":"平原县","value":"371426"},{"label":"夏津县","value":"371427"},{"label":"武城县","value":"371428"},{"label":"德州经济技术开发区","value":"371471"},{"label":"德州运河经济开发区","value":"371472"},{"label":"乐陵市","value":"371481"},{"label":"禹城市","value":"371482"}],[{"label":"东昌府区","value":"371502"},{"label":"阳谷县","value":"371521"},{"label":"莘县","value":"371522"},{"label":"茌平县","value":"371523"},{"label":"东阿县","value":"371524"},{"label":"冠县","value":"371525"},{"label":"高唐县","value":"371526"},{"label":"临清市","value":"371581"}],[{"label":"滨城区","value":"371602"},{"label":"沾化区","value":"371603"},{"label":"惠民县","value":"371621"},{"label":"阳信县","value":"371622"},{"label":"无棣县","value":"371623"},{"label":"博兴县","value":"371625"},{"label":"邹平县","value":"371626"}],[{"label":"牡丹区","value":"371702"},{"label":"定陶区","value":"371703"},{"label":"曹县","value":"371721"},{"label":"单县","value":"371722"},{"label":"成武县","value":"371723"},{"label":"巨野县","value":"371724"},{"label":"郓城县","value":"371725"},{"label":"鄄城县","value":"371726"},{"label":"东明县","value":"371728"},{"label":"菏泽经济技术开发区","value":"371771"},{"label":"菏泽高新技术开发区","value":"371772"}]],[[{"label":"中原区","value":"410102"},{"label":"二七区","value":"410103"},{"label":"管城回族区","value":"410104"},{"label":"金水区","value":"410105"},{"label":"上街区","value":"410106"},{"label":"惠济区","value":"410108"},{"label":"中牟县","value":"410122"},{"label":"郑州经济技术开发区","value":"410171"},{"label":"郑州高新技术产业开发区","value":"410172"},{"label":"郑州航空港经济综合实验区","value":"410173"},{"label":"巩义市","value":"410181"},{"label":"荥阳市","value":"410182"},{"label":"新密市","value":"410183"},{"label":"新郑市","value":"410184"},{"label":"登封市","value":"410185"}],[{"label":"龙亭区","value":"410202"},{"label":"顺河回族区","value":"410203"},{"label":"鼓楼区","value":"410204"},{"label":"禹王台区","value":"410205"},{"label":"祥符区","value":"410212"},{"label":"杞县","value":"410221"},{"label":"通许县","value":"410222"},{"label":"尉氏县","value":"410223"},{"label":"兰考县","value":"410225"}],[{"label":"老城区","value":"410302"},{"label":"西工区","value":"410303"},{"label":"瀍河回族区","value":"410304"},{"label":"涧西区","value":"410305"},{"label":"吉利区","value":"410306"},{"label":"洛龙区","value":"410311"},{"label":"孟津县","value":"410322"},{"label":"新安县","value":"410323"},{"label":"栾川县","value":"410324"},{"label":"嵩县","value":"410325"},{"label":"汝阳县","value":"410326"},{"label":"宜阳县","value":"410327"},{"label":"洛宁县","value":"410328"},{"label":"伊川县","value":"410329"},{"label":"洛阳高新技术产业开发区","value":"410371"},{"label":"偃师市","value":"410381"}],[{"label":"新华区","value":"410402"},{"label":"卫东区","value":"410403"},{"label":"石龙区","value":"410404"},{"label":"湛河区","value":"410411"},{"label":"宝丰县","value":"410421"},{"label":"叶县","value":"410422"},{"label":"鲁山县","value":"410423"},{"label":"郏县","value":"410425"},{"label":"平顶山高新技术产业开发区","value":"410471"},{"label":"平顶山市新城区","value":"410472"},{"label":"舞钢市","value":"410481"},{"label":"汝州市","value":"410482"}],[{"label":"文峰区","value":"410502"},{"label":"北关区","value":"410503"},{"label":"殷都区","value":"410505"},{"label":"龙安区","value":"410506"},{"label":"安阳县","value":"410522"},{"label":"汤阴县","value":"410523"},{"label":"滑县","value":"410526"},{"label":"内黄县","value":"410527"},{"label":"安阳高新技术产业开发区","value":"410571"},{"label":"林州市","value":"410581"}],[{"label":"鹤山区","value":"410602"},{"label":"山城区","value":"410603"},{"label":"淇滨区","value":"410611"},{"label":"浚县","value":"410621"},{"label":"淇县","value":"410622"},{"label":"鹤壁经济技术开发区","value":"410671"}],[{"label":"红旗区","value":"410702"},{"label":"卫滨区","value":"410703"},{"label":"凤泉区","value":"410704"},{"label":"牧野区","value":"410711"},{"label":"新乡县","value":"410721"},{"label":"获嘉县","value":"410724"},{"label":"原阳县","value":"410725"},{"label":"延津县","value":"410726"},{"label":"封丘县","value":"410727"},{"label":"长垣县","value":"410728"},{"label":"新乡高新技术产业开发区","value":"410771"},{"label":"新乡经济技术开发区","value":"410772"},{"label":"新乡市平原城乡一体化示范区","value":"410773"},{"label":"卫辉市","value":"410781"},{"label":"辉县市","value":"410782"}],[{"label":"解放区","value":"410802"},{"label":"中站区","value":"410803"},{"label":"马村区","value":"410804"},{"label":"山阳区","value":"410811"},{"label":"修武县","value":"410821"},{"label":"博爱县","value":"410822"},{"label":"武陟县","value":"410823"},{"label":"温县","value":"410825"},{"label":"焦作城乡一体化示范区","value":"410871"},{"label":"沁阳市","value":"410882"},{"label":"孟州市","value":"410883"}],[{"label":"华龙区","value":"410902"},{"label":"清丰县","value":"410922"},{"label":"南乐县","value":"410923"},{"label":"范县","value":"410926"},{"label":"台前县","value":"410927"},{"label":"濮阳县","value":"410928"},{"label":"河南濮阳工业园区","value":"410971"},{"label":"濮阳经济技术开发区","value":"410972"}],[{"label":"魏都区","value":"411002"},{"label":"建安区","value":"411003"},{"label":"鄢陵县","value":"411024"},{"label":"襄城县","value":"411025"},{"label":"许昌经济技术开发区","value":"411071"},{"label":"禹州市","value":"411081"},{"label":"长葛市","value":"411082"}],[{"label":"源汇区","value":"411102"},{"label":"郾城区","value":"411103"},{"label":"召陵区","value":"411104"},{"label":"舞阳县","value":"411121"},{"label":"临颍县","value":"411122"},{"label":"漯河经济技术开发区","value":"411171"}],[{"label":"湖滨区","value":"411202"},{"label":"陕州区","value":"411203"},{"label":"渑池县","value":"411221"},{"label":"卢氏县","value":"411224"},{"label":"河南三门峡经济开发区","value":"411271"},{"label":"义马市","value":"411281"},{"label":"灵宝市","value":"411282"}],[{"label":"宛城区","value":"411302"},{"label":"卧龙区","value":"411303"},{"label":"南召县","value":"411321"},{"label":"方城县","value":"411322"},{"label":"西峡县","value":"411323"},{"label":"镇平县","value":"411324"},{"label":"内乡县","value":"411325"},{"label":"淅川县","value":"411326"},{"label":"社旗县","value":"411327"},{"label":"唐河县","value":"411328"},{"label":"新野县","value":"411329"},{"label":"桐柏县","value":"411330"},{"label":"南阳高新技术产业开发区","value":"411371"},{"label":"南阳市城乡一体化示范区","value":"411372"},{"label":"邓州市","value":"411381"}],[{"label":"梁园区","value":"411402"},{"label":"睢阳区","value":"411403"},{"label":"民权县","value":"411421"},{"label":"睢县","value":"411422"},{"label":"宁陵县","value":"411423"},{"label":"柘城县","value":"411424"},{"label":"虞城县","value":"411425"},{"label":"夏邑县","value":"411426"},{"label":"豫东综合物流产业聚集区","value":"411471"},{"label":"河南商丘经济开发区","value":"411472"},{"label":"永城市","value":"411481"}],[{"label":"浉河区","value":"411502"},{"label":"平桥区","value":"411503"},{"label":"罗山县","value":"411521"},{"label":"光山县","value":"411522"},{"label":"新县","value":"411523"},{"label":"商城县","value":"411524"},{"label":"固始县","value":"411525"},{"label":"潢川县","value":"411526"},{"label":"淮滨县","value":"411527"},{"label":"息县","value":"411528"},{"label":"信阳高新技术产业开发区","value":"411571"}],[{"label":"川汇区","value":"411602"},{"label":"扶沟县","value":"411621"},{"label":"西华县","value":"411622"},{"label":"商水县","value":"411623"},{"label":"沈丘县","value":"411624"},{"label":"郸城县","value":"411625"},{"label":"淮阳县","value":"411626"},{"label":"太康县","value":"411627"},{"label":"鹿邑县","value":"411628"},{"label":"河南周口经济开发区","value":"411671"},{"label":"项城市","value":"411681"}],[{"label":"驿城区","value":"411702"},{"label":"西平县","value":"411721"},{"label":"上蔡县","value":"411722"},{"label":"平舆县","value":"411723"},{"label":"正阳县","value":"411724"},{"label":"确山县","value":"411725"},{"label":"泌阳县","value":"411726"},{"label":"汝南县","value":"411727"},{"label":"遂平县","value":"411728"},{"label":"新蔡县","value":"411729"},{"label":"河南驻马店经济开发区","value":"411771"}],[{"label":"济源市","value":"419001"}]],[[{"label":"江岸区","value":"420102"},{"label":"江汉区","value":"420103"},{"label":"硚口区","value":"420104"},{"label":"汉阳区","value":"420105"},{"label":"武昌区","value":"420106"},{"label":"青山区","value":"420107"},{"label":"洪山区","value":"420111"},{"label":"东西湖区","value":"420112"},{"label":"汉南区","value":"420113"},{"label":"蔡甸区","value":"420114"},{"label":"江夏区","value":"420115"},{"label":"黄陂区","value":"420116"},{"label":"新洲区","value":"420117"}],[{"label":"黄石港区","value":"420202"},{"label":"西塞山区","value":"420203"},{"label":"下陆区","value":"420204"},{"label":"铁山区","value":"420205"},{"label":"阳新县","value":"420222"},{"label":"大冶市","value":"420281"}],[{"label":"茅箭区","value":"420302"},{"label":"张湾区","value":"420303"},{"label":"郧阳区","value":"420304"},{"label":"郧西县","value":"420322"},{"label":"竹山县","value":"420323"},{"label":"竹溪县","value":"420324"},{"label":"房县","value":"420325"},{"label":"丹江口市","value":"420381"}],[{"label":"西陵区","value":"420502"},{"label":"伍家岗区","value":"420503"},{"label":"点军区","value":"420504"},{"label":"猇亭区","value":"420505"},{"label":"夷陵区","value":"420506"},{"label":"远安县","value":"420525"},{"label":"兴山县","value":"420526"},{"label":"秭归县","value":"420527"},{"label":"长阳土家族自治县","value":"420528"},{"label":"五峰土家族自治县","value":"420529"},{"label":"宜都市","value":"420581"},{"label":"当阳市","value":"420582"},{"label":"枝江市","value":"420583"}],[{"label":"襄城区","value":"420602"},{"label":"樊城区","value":"420606"},{"label":"襄州区","value":"420607"},{"label":"南漳县","value":"420624"},{"label":"谷城县","value":"420625"},{"label":"保康县","value":"420626"},{"label":"老河口市","value":"420682"},{"label":"枣阳市","value":"420683"},{"label":"宜城市","value":"420684"}],[{"label":"梁子湖区","value":"420702"},{"label":"华容区","value":"420703"},{"label":"鄂城区","value":"420704"}],[{"label":"东宝区","value":"420802"},{"label":"掇刀区","value":"420804"},{"label":"京山县","value":"420821"},{"label":"沙洋县","value":"420822"},{"label":"钟祥市","value":"420881"}],[{"label":"孝南区","value":"420902"},{"label":"孝昌县","value":"420921"},{"label":"大悟县","value":"420922"},{"label":"云梦县","value":"420923"},{"label":"应城市","value":"420981"},{"label":"安陆市","value":"420982"},{"label":"汉川市","value":"420984"}],[{"label":"沙市区","value":"421002"},{"label":"荆州区","value":"421003"},{"label":"公安县","value":"421022"},{"label":"监利县","value":"421023"},{"label":"江陵县","value":"421024"},{"label":"荆州经济技术开发区","value":"421071"},{"label":"石首市","value":"421081"},{"label":"洪湖市","value":"421083"},{"label":"松滋市","value":"421087"}],[{"label":"黄州区","value":"421102"},{"label":"团风县","value":"421121"},{"label":"红安县","value":"421122"},{"label":"罗田县","value":"421123"},{"label":"英山县","value":"421124"},{"label":"浠水县","value":"421125"},{"label":"蕲春县","value":"421126"},{"label":"黄梅县","value":"421127"},{"label":"龙感湖管理区","value":"421171"},{"label":"麻城市","value":"421181"},{"label":"武穴市","value":"421182"}],[{"label":"咸安区","value":"421202"},{"label":"嘉鱼县","value":"421221"},{"label":"通城县","value":"421222"},{"label":"崇阳县","value":"421223"},{"label":"通山县","value":"421224"},{"label":"赤壁市","value":"421281"}],[{"label":"曾都区","value":"421303"},{"label":"随县","value":"421321"},{"label":"广水市","value":"421381"}],[{"label":"恩施市","value":"422801"},{"label":"利川市","value":"422802"},{"label":"建始县","value":"422822"},{"label":"巴东县","value":"422823"},{"label":"宣恩县","value":"422825"},{"label":"咸丰县","value":"422826"},{"label":"来凤县","value":"422827"},{"label":"鹤峰县","value":"422828"}],[{"label":"仙桃市","value":"429004"},{"label":"潜江市","value":"429005"},{"label":"天门市","value":"429006"},{"label":"神农架林区","value":"429021"}]],[[{"label":"芙蓉区","value":"430102"},{"label":"天心区","value":"430103"},{"label":"岳麓区","value":"430104"},{"label":"开福区","value":"430105"},{"label":"雨花区","value":"430111"},{"label":"望城区","value":"430112"},{"label":"长沙县","value":"430121"},{"label":"浏阳市","value":"430181"},{"label":"宁乡市","value":"430182"}],[{"label":"荷塘区","value":"430202"},{"label":"芦淞区","value":"430203"},{"label":"石峰区","value":"430204"},{"label":"天元区","value":"430211"},{"label":"株洲县","value":"430221"},{"label":"攸县","value":"430223"},{"label":"茶陵县","value":"430224"},{"label":"炎陵县","value":"430225"},{"label":"云龙示范区","value":"430271"},{"label":"醴陵市","value":"430281"}],[{"label":"雨湖区","value":"430302"},{"label":"岳塘区","value":"430304"},{"label":"湘潭县","value":"430321"},{"label":"湖南湘潭高新技术产业园区","value":"430371"},{"label":"湘潭昭山示范区","value":"430372"},{"label":"湘潭九华示范区","value":"430373"},{"label":"湘乡市","value":"430381"},{"label":"韶山市","value":"430382"}],[{"label":"珠晖区","value":"430405"},{"label":"雁峰区","value":"430406"},{"label":"石鼓区","value":"430407"},{"label":"蒸湘区","value":"430408"},{"label":"南岳区","value":"430412"},{"label":"衡阳县","value":"430421"},{"label":"衡南县","value":"430422"},{"label":"衡山县","value":"430423"},{"label":"衡东县","value":"430424"},{"label":"祁东县","value":"430426"},{"label":"衡阳综合保税区","value":"430471"},{"label":"湖南衡阳高新技术产业园区","value":"430472"},{"label":"湖南衡阳松木经济开发区","value":"430473"},{"label":"耒阳市","value":"430481"},{"label":"常宁市","value":"430482"}],[{"label":"双清区","value":"430502"},{"label":"大祥区","value":"430503"},{"label":"北塔区","value":"430511"},{"label":"邵东县","value":"430521"},{"label":"新邵县","value":"430522"},{"label":"邵阳县","value":"430523"},{"label":"隆回县","value":"430524"},{"label":"洞口县","value":"430525"},{"label":"绥宁县","value":"430527"},{"label":"新宁县","value":"430528"},{"label":"城步苗族自治县","value":"430529"},{"label":"武冈市","value":"430581"}],[{"label":"岳阳楼区","value":"430602"},{"label":"云溪区","value":"430603"},{"label":"君山区","value":"430611"},{"label":"岳阳县","value":"430621"},{"label":"华容县","value":"430623"},{"label":"湘阴县","value":"430624"},{"label":"平江县","value":"430626"},{"label":"岳阳市屈原管理区","value":"430671"},{"label":"汨罗市","value":"430681"},{"label":"临湘市","value":"430682"}],[{"label":"武陵区","value":"430702"},{"label":"鼎城区","value":"430703"},{"label":"安乡县","value":"430721"},{"label":"汉寿县","value":"430722"},{"label":"澧县","value":"430723"},{"label":"临澧县","value":"430724"},{"label":"桃源县","value":"430725"},{"label":"石门县","value":"430726"},{"label":"常德市西洞庭管理区","value":"430771"},{"label":"津市市","value":"430781"}],[{"label":"永定区","value":"430802"},{"label":"武陵源区","value":"430811"},{"label":"慈利县","value":"430821"},{"label":"桑植县","value":"430822"}],[{"label":"资阳区","value":"430902"},{"label":"赫山区","value":"430903"},{"label":"南县","value":"430921"},{"label":"桃江县","value":"430922"},{"label":"安化县","value":"430923"},{"label":"益阳市大通湖管理区","value":"430971"},{"label":"湖南益阳高新技术产业园区","value":"430972"},{"label":"沅江市","value":"430981"}],[{"label":"北湖区","value":"431002"},{"label":"苏仙区","value":"431003"},{"label":"桂阳县","value":"431021"},{"label":"宜章县","value":"431022"},{"label":"永兴县","value":"431023"},{"label":"嘉禾县","value":"431024"},{"label":"临武县","value":"431025"},{"label":"汝城县","value":"431026"},{"label":"桂东县","value":"431027"},{"label":"安仁县","value":"431028"},{"label":"资兴市","value":"431081"}],[{"label":"零陵区","value":"431102"},{"label":"冷水滩区","value":"431103"},{"label":"祁阳县","value":"431121"},{"label":"东安县","value":"431122"},{"label":"双牌县","value":"431123"},{"label":"道县","value":"431124"},{"label":"江永县","value":"431125"},{"label":"宁远县","value":"431126"},{"label":"蓝山县","value":"431127"},{"label":"新田县","value":"431128"},{"label":"江华瑶族自治县","value":"431129"},{"label":"永州经济技术开发区","value":"431171"},{"label":"永州市金洞管理区","value":"431172"},{"label":"永州市回龙圩管理区","value":"431173"}],[{"label":"鹤城区","value":"431202"},{"label":"中方县","value":"431221"},{"label":"沅陵县","value":"431222"},{"label":"辰溪县","value":"431223"},{"label":"溆浦县","value":"431224"},{"label":"会同县","value":"431225"},{"label":"麻阳苗族自治县","value":"431226"},{"label":"新晃侗族自治县","value":"431227"},{"label":"芷江侗族自治县","value":"431228"},{"label":"靖州苗族侗族自治县","value":"431229"},{"label":"通道侗族自治县","value":"431230"},{"label":"怀化市洪江管理区","value":"431271"},{"label":"洪江市","value":"431281"}],[{"label":"娄星区","value":"431302"},{"label":"双峰县","value":"431321"},{"label":"新化县","value":"431322"},{"label":"冷水江市","value":"431381"},{"label":"涟源市","value":"431382"}],[{"label":"吉首市","value":"433101"},{"label":"泸溪县","value":"433122"},{"label":"凤凰县","value":"433123"},{"label":"花垣县","value":"433124"},{"label":"保靖县","value":"433125"},{"label":"古丈县","value":"433126"},{"label":"永顺县","value":"433127"},{"label":"龙山县","value":"433130"},{"label":"湖南吉首经济开发区","value":"433172"},{"label":"湖南永顺经济开发区","value":"433173"}]],[[{"label":"荔湾区","value":"440103"},{"label":"越秀区","value":"440104"},{"label":"海珠区","value":"440105"},{"label":"天河区","value":"440106"},{"label":"白云区","value":"440111"},{"label":"黄埔区","value":"440112"},{"label":"番禺区","value":"440113"},{"label":"花都区","value":"440114"},{"label":"南沙区","value":"440115"},{"label":"从化区","value":"440117"},{"label":"增城区","value":"440118"}],[{"label":"武江区","value":"440203"},{"label":"浈江区","value":"440204"},{"label":"曲江区","value":"440205"},{"label":"始兴县","value":"440222"},{"label":"仁化县","value":"440224"},{"label":"翁源县","value":"440229"},{"label":"乳源瑶族自治县","value":"440232"},{"label":"新丰县","value":"440233"},{"label":"乐昌市","value":"440281"},{"label":"南雄市","value":"440282"}],[{"label":"罗湖区","value":"440303"},{"label":"福田区","value":"440304"},{"label":"南山区","value":"440305"},{"label":"宝安区","value":"440306"},{"label":"龙岗区","value":"440307"},{"label":"盐田区","value":"440308"},{"label":"龙华区","value":"440309"},{"label":"坪山区","value":"440310"}],[{"label":"香洲区","value":"440402"},{"label":"斗门区","value":"440403"},{"label":"金湾区","value":"440404"}],[{"label":"龙湖区","value":"440507"},{"label":"金平区","value":"440511"},{"label":"濠江区","value":"440512"},{"label":"潮阳区","value":"440513"},{"label":"潮南区","value":"440514"},{"label":"澄海区","value":"440515"},{"label":"南澳县","value":"440523"}],[{"label":"禅城区","value":"440604"},{"label":"南海区","value":"440605"},{"label":"顺德区","value":"440606"},{"label":"三水区","value":"440607"},{"label":"高明区","value":"440608"}],[{"label":"蓬江区","value":"440703"},{"label":"江海区","value":"440704"},{"label":"新会区","value":"440705"},{"label":"台山市","value":"440781"},{"label":"开平市","value":"440783"},{"label":"鹤山市","value":"440784"},{"label":"恩平市","value":"440785"}],[{"label":"赤坎区","value":"440802"},{"label":"霞山区","value":"440803"},{"label":"坡头区","value":"440804"},{"label":"麻章区","value":"440811"},{"label":"遂溪县","value":"440823"},{"label":"徐闻县","value":"440825"},{"label":"廉江市","value":"440881"},{"label":"雷州市","value":"440882"},{"label":"吴川市","value":"440883"}],[{"label":"茂南区","value":"440902"},{"label":"电白区","value":"440904"},{"label":"高州市","value":"440981"},{"label":"化州市","value":"440982"},{"label":"信宜市","value":"440983"}],[{"label":"端州区","value":"441202"},{"label":"鼎湖区","value":"441203"},{"label":"高要区","value":"441204"},{"label":"广宁县","value":"441223"},{"label":"怀集县","value":"441224"},{"label":"封开县","value":"441225"},{"label":"德庆县","value":"441226"},{"label":"四会市","value":"441284"}],[{"label":"惠城区","value":"441302"},{"label":"惠阳区","value":"441303"},{"label":"博罗县","value":"441322"},{"label":"惠东县","value":"441323"},{"label":"龙门县","value":"441324"}],[{"label":"梅江区","value":"441402"},{"label":"梅县区","value":"441403"},{"label":"大埔县","value":"441422"},{"label":"丰顺县","value":"441423"},{"label":"五华县","value":"441424"},{"label":"平远县","value":"441426"},{"label":"蕉岭县","value":"441427"},{"label":"兴宁市","value":"441481"}],[{"label":"城区","value":"441502"},{"label":"海丰县","value":"441521"},{"label":"陆河县","value":"441523"},{"label":"陆丰市","value":"441581"}],[{"label":"源城区","value":"441602"},{"label":"紫金县","value":"441621"},{"label":"龙川县","value":"441622"},{"label":"连平县","value":"441623"},{"label":"和平县","value":"441624"},{"label":"东源县","value":"441625"}],[{"label":"江城区","value":"441702"},{"label":"阳东区","value":"441704"},{"label":"阳西县","value":"441721"},{"label":"阳春市","value":"441781"}],[{"label":"清城区","value":"441802"},{"label":"清新区","value":"441803"},{"label":"佛冈县","value":"441821"},{"label":"阳山县","value":"441823"},{"label":"连山壮族瑶族自治县","value":"441825"},{"label":"连南瑶族自治县","value":"441826"},{"label":"英德市","value":"441881"},{"label":"连州市","value":"441882"}],[{"label":"东莞市","value":"441900"}],[{"label":"中山市","value":"442000"}],[{"label":"湘桥区","value":"445102"},{"label":"潮安区","value":"445103"},{"label":"饶平县","value":"445122"}],[{"label":"榕城区","value":"445202"},{"label":"揭东区","value":"445203"},{"label":"揭西县","value":"445222"},{"label":"惠来县","value":"445224"},{"label":"普宁市","value":"445281"}],[{"label":"云城区","value":"445302"},{"label":"云安区","value":"445303"},{"label":"新兴县","value":"445321"},{"label":"郁南县","value":"445322"},{"label":"罗定市","value":"445381"}]],[[{"label":"兴宁区","value":"450102"},{"label":"青秀区","value":"450103"},{"label":"江南区","value":"450105"},{"label":"西乡塘区","value":"450107"},{"label":"良庆区","value":"450108"},{"label":"邕宁区","value":"450109"},{"label":"武鸣区","value":"450110"},{"label":"隆安县","value":"450123"},{"label":"马山县","value":"450124"},{"label":"上林县","value":"450125"},{"label":"宾阳县","value":"450126"},{"label":"横县","value":"450127"}],[{"label":"城中区","value":"450202"},{"label":"鱼峰区","value":"450203"},{"label":"柳南区","value":"450204"},{"label":"柳北区","value":"450205"},{"label":"柳江区","value":"450206"},{"label":"柳城县","value":"450222"},{"label":"鹿寨县","value":"450223"},{"label":"融安县","value":"450224"},{"label":"融水苗族自治县","value":"450225"},{"label":"三江侗族自治县","value":"450226"}],[{"label":"秀峰区","value":"450302"},{"label":"叠彩区","value":"450303"},{"label":"象山区","value":"450304"},{"label":"七星区","value":"450305"},{"label":"雁山区","value":"450311"},{"label":"临桂区","value":"450312"},{"label":"阳朔县","value":"450321"},{"label":"灵川县","value":"450323"},{"label":"全州县","value":"450324"},{"label":"兴安县","value":"450325"},{"label":"永福县","value":"450326"},{"label":"灌阳县","value":"450327"},{"label":"龙胜各族自治县","value":"450328"},{"label":"资源县","value":"450329"},{"label":"平乐县","value":"450330"},{"label":"荔浦县","value":"450331"},{"label":"恭城瑶族自治县","value":"450332"}],[{"label":"万秀区","value":"450403"},{"label":"长洲区","value":"450405"},{"label":"龙圩区","value":"450406"},{"label":"苍梧县","value":"450421"},{"label":"藤县","value":"450422"},{"label":"蒙山县","value":"450423"},{"label":"岑溪市","value":"450481"}],[{"label":"海城区","value":"450502"},{"label":"银海区","value":"450503"},{"label":"铁山港区","value":"450512"},{"label":"合浦县","value":"450521"}],[{"label":"港口区","value":"450602"},{"label":"防城区","value":"450603"},{"label":"上思县","value":"450621"},{"label":"东兴市","value":"450681"}],[{"label":"钦南区","value":"450702"},{"label":"钦北区","value":"450703"},{"label":"灵山县","value":"450721"},{"label":"浦北县","value":"450722"}],[{"label":"港北区","value":"450802"},{"label":"港南区","value":"450803"},{"label":"覃塘区","value":"450804"},{"label":"平南县","value":"450821"},{"label":"桂平市","value":"450881"}],[{"label":"玉州区","value":"450902"},{"label":"福绵区","value":"450903"},{"label":"容县","value":"450921"},{"label":"陆川县","value":"450922"},{"label":"博白县","value":"450923"},{"label":"兴业县","value":"450924"},{"label":"北流市","value":"450981"}],[{"label":"右江区","value":"451002"},{"label":"田阳县","value":"451021"},{"label":"田东县","value":"451022"},{"label":"平果县","value":"451023"},{"label":"德保县","value":"451024"},{"label":"那坡县","value":"451026"},{"label":"凌云县","value":"451027"},{"label":"乐业县","value":"451028"},{"label":"田林县","value":"451029"},{"label":"西林县","value":"451030"},{"label":"隆林各族自治县","value":"451031"},{"label":"靖西市","value":"451081"}],[{"label":"八步区","value":"451102"},{"label":"平桂区","value":"451103"},{"label":"昭平县","value":"451121"},{"label":"钟山县","value":"451122"},{"label":"富川瑶族自治县","value":"451123"}],[{"label":"金城江区","value":"451202"},{"label":"宜州区","value":"451203"},{"label":"南丹县","value":"451221"},{"label":"天峨县","value":"451222"},{"label":"凤山县","value":"451223"},{"label":"东兰县","value":"451224"},{"label":"罗城仫佬族自治县","value":"451225"},{"label":"环江毛南族自治县","value":"451226"},{"label":"巴马瑶族自治县","value":"451227"},{"label":"都安瑶族自治县","value":"451228"},{"label":"大化瑶族自治县","value":"451229"}],[{"label":"兴宾区","value":"451302"},{"label":"忻城县","value":"451321"},{"label":"象州县","value":"451322"},{"label":"武宣县","value":"451323"},{"label":"金秀瑶族自治县","value":"451324"},{"label":"合山市","value":"451381"}],[{"label":"江州区","value":"451402"},{"label":"扶绥县","value":"451421"},{"label":"宁明县","value":"451422"},{"label":"龙州县","value":"451423"},{"label":"大新县","value":"451424"},{"label":"天等县","value":"451425"},{"label":"凭祥市","value":"451481"}]],[[{"label":"秀英区","value":"460105"},{"label":"龙华区","value":"460106"},{"label":"琼山区","value":"460107"},{"label":"美兰区","value":"460108"}],[{"label":"海棠区","value":"460202"},{"label":"吉阳区","value":"460203"},{"label":"天涯区","value":"460204"},{"label":"崖州区","value":"460205"}],[{"label":"西沙群岛","value":"460321"},{"label":"南沙群岛","value":"460322"},{"label":"中沙群岛的岛礁及其海域","value":"460323"}],[{"label":"儋州市","value":"460400"}],[{"label":"五指山市","value":"469001"},{"label":"琼海市","value":"469002"},{"label":"文昌市","value":"469005"},{"label":"万宁市","value":"469006"},{"label":"东方市","value":"469007"},{"label":"定安县","value":"469021"},{"label":"屯昌县","value":"469022"},{"label":"澄迈县","value":"469023"},{"label":"临高县","value":"469024"},{"label":"白沙黎族自治县","value":"469025"},{"label":"昌江黎族自治县","value":"469026"},{"label":"乐东黎族自治县","value":"469027"},{"label":"陵水黎族自治县","value":"469028"},{"label":"保亭黎族苗族自治县","value":"469029"},{"label":"琼中黎族苗族自治县","value":"469030"}]],[[{"label":"万州区","value":"500101"},{"label":"涪陵区","value":"500102"},{"label":"渝中区","value":"500103"},{"label":"大渡口区","value":"500104"},{"label":"江北区","value":"500105"},{"label":"沙坪坝区","value":"500106"},{"label":"九龙坡区","value":"500107"},{"label":"南岸区","value":"500108"},{"label":"北碚区","value":"500109"},{"label":"綦江区","value":"500110"},{"label":"大足区","value":"500111"},{"label":"渝北区","value":"500112"},{"label":"巴南区","value":"500113"},{"label":"黔江区","value":"500114"},{"label":"长寿区","value":"500115"},{"label":"江津区","value":"500116"},{"label":"合川区","value":"500117"},{"label":"永川区","value":"500118"},{"label":"南川区","value":"500119"},{"label":"璧山区","value":"500120"},{"label":"铜梁区","value":"500151"},{"label":"潼南区","value":"500152"},{"label":"荣昌区","value":"500153"},{"label":"开州区","value":"500154"},{"label":"梁平区","value":"500155"},{"label":"武隆区","value":"500156"}],[{"label":"城口县","value":"500229"},{"label":"丰都县","value":"500230"},{"label":"垫江县","value":"500231"},{"label":"忠县","value":"500233"},{"label":"云阳县","value":"500235"},{"label":"奉节县","value":"500236"},{"label":"巫山县","value":"500237"},{"label":"巫溪县","value":"500238"},{"label":"石柱土家族自治县","value":"500240"},{"label":"秀山土家族苗族自治县","value":"500241"},{"label":"酉阳土家族苗族自治县","value":"500242"},{"label":"彭水苗族土家族自治县","value":"500243"}]],[[{"label":"锦江区","value":"510104"},{"label":"青羊区","value":"510105"},{"label":"金牛区","value":"510106"},{"label":"武侯区","value":"510107"},{"label":"成华区","value":"510108"},{"label":"龙泉驿区","value":"510112"},{"label":"青白江区","value":"510113"},{"label":"新都区","value":"510114"},{"label":"温江区","value":"510115"},{"label":"双流区","value":"510116"},{"label":"郫都区","value":"510117"},{"label":"金堂县","value":"510121"},{"label":"大邑县","value":"510129"},{"label":"蒲江县","value":"510131"},{"label":"新津县","value":"510132"},{"label":"都江堰市","value":"510181"},{"label":"彭州市","value":"510182"},{"label":"邛崃市","value":"510183"},{"label":"崇州市","value":"510184"},{"label":"简阳市","value":"510185"}],[{"label":"自流井区","value":"510302"},{"label":"贡井区","value":"510303"},{"label":"大安区","value":"510304"},{"label":"沿滩区","value":"510311"},{"label":"荣县","value":"510321"},{"label":"富顺县","value":"510322"}],[{"label":"东区","value":"510402"},{"label":"西区","value":"510403"},{"label":"仁和区","value":"510411"},{"label":"米易县","value":"510421"},{"label":"盐边县","value":"510422"}],[{"label":"江阳区","value":"510502"},{"label":"纳溪区","value":"510503"},{"label":"龙马潭区","value":"510504"},{"label":"泸县","value":"510521"},{"label":"合江县","value":"510522"},{"label":"叙永县","value":"510524"},{"label":"古蔺县","value":"510525"}],[{"label":"旌阳区","value":"510603"},{"label":"罗江区","value":"510604"},{"label":"中江县","value":"510623"},{"label":"广汉市","value":"510681"},{"label":"什邡市","value":"510682"},{"label":"绵竹市","value":"510683"}],[{"label":"涪城区","value":"510703"},{"label":"游仙区","value":"510704"},{"label":"安州区","value":"510705"},{"label":"三台县","value":"510722"},{"label":"盐亭县","value":"510723"},{"label":"梓潼县","value":"510725"},{"label":"北川羌族自治县","value":"510726"},{"label":"平武县","value":"510727"},{"label":"江油市","value":"510781"}],[{"label":"利州区","value":"510802"},{"label":"昭化区","value":"510811"},{"label":"朝天区","value":"510812"},{"label":"旺苍县","value":"510821"},{"label":"青川县","value":"510822"},{"label":"剑阁县","value":"510823"},{"label":"苍溪县","value":"510824"}],[{"label":"船山区","value":"510903"},{"label":"安居区","value":"510904"},{"label":"蓬溪县","value":"510921"},{"label":"射洪县","value":"510922"},{"label":"大英县","value":"510923"}],[{"label":"市中区","value":"511002"},{"label":"东兴区","value":"511011"},{"label":"威远县","value":"511024"},{"label":"资中县","value":"511025"},{"label":"内江经济开发区","value":"511071"},{"label":"隆昌市","value":"511083"}],[{"label":"市中区","value":"511102"},{"label":"沙湾区","value":"511111"},{"label":"五通桥区","value":"511112"},{"label":"金口河区","value":"511113"},{"label":"犍为县","value":"511123"},{"label":"井研县","value":"511124"},{"label":"夹江县","value":"511126"},{"label":"沐川县","value":"511129"},{"label":"峨边彝族自治县","value":"511132"},{"label":"马边彝族自治县","value":"511133"},{"label":"峨眉山市","value":"511181"}],[{"label":"顺庆区","value":"511302"},{"label":"高坪区","value":"511303"},{"label":"嘉陵区","value":"511304"},{"label":"南部县","value":"511321"},{"label":"营山县","value":"511322"},{"label":"蓬安县","value":"511323"},{"label":"仪陇县","value":"511324"},{"label":"西充县","value":"511325"},{"label":"阆中市","value":"511381"}],[{"label":"东坡区","value":"511402"},{"label":"彭山区","value":"511403"},{"label":"仁寿县","value":"511421"},{"label":"洪雅县","value":"511423"},{"label":"丹棱县","value":"511424"},{"label":"青神县","value":"511425"}],[{"label":"翠屏区","value":"511502"},{"label":"南溪区","value":"511503"},{"label":"宜宾县","value":"511521"},{"label":"江安县","value":"511523"},{"label":"长宁县","value":"511524"},{"label":"高县","value":"511525"},{"label":"珙县","value":"511526"},{"label":"筠连县","value":"511527"},{"label":"兴文县","value":"511528"},{"label":"屏山县","value":"511529"}],[{"label":"广安区","value":"511602"},{"label":"前锋区","value":"511603"},{"label":"岳池县","value":"511621"},{"label":"武胜县","value":"511622"},{"label":"邻水县","value":"511623"},{"label":"华蓥市","value":"511681"}],[{"label":"通川区","value":"511702"},{"label":"达川区","value":"511703"},{"label":"宣汉县","value":"511722"},{"label":"开江县","value":"511723"},{"label":"大竹县","value":"511724"},{"label":"渠县","value":"511725"},{"label":"达州经济开发区","value":"511771"},{"label":"万源市","value":"511781"}],[{"label":"雨城区","value":"511802"},{"label":"名山区","value":"511803"},{"label":"荥经县","value":"511822"},{"label":"汉源县","value":"511823"},{"label":"石棉县","value":"511824"},{"label":"天全县","value":"511825"},{"label":"芦山县","value":"511826"},{"label":"宝兴县","value":"511827"}],[{"label":"巴州区","value":"511902"},{"label":"恩阳区","value":"511903"},{"label":"通江县","value":"511921"},{"label":"南江县","value":"511922"},{"label":"平昌县","value":"511923"},{"label":"巴中经济开发区","value":"511971"}],[{"label":"雁江区","value":"512002"},{"label":"安岳县","value":"512021"},{"label":"乐至县","value":"512022"}],[{"label":"马尔康市","value":"513201"},{"label":"汶川县","value":"513221"},{"label":"理县","value":"513222"},{"label":"茂县","value":"513223"},{"label":"松潘县","value":"513224"},{"label":"九寨沟县","value":"513225"},{"label":"金川县","value":"513226"},{"label":"小金县","value":"513227"},{"label":"黑水县","value":"513228"},{"label":"壤塘县","value":"513230"},{"label":"阿坝县","value":"513231"},{"label":"若尔盖县","value":"513232"},{"label":"红原县","value":"513233"}],[{"label":"康定市","value":"513301"},{"label":"泸定县","value":"513322"},{"label":"丹巴县","value":"513323"},{"label":"九龙县","value":"513324"},{"label":"雅江县","value":"513325"},{"label":"道孚县","value":"513326"},{"label":"炉霍县","value":"513327"},{"label":"甘孜县","value":"513328"},{"label":"新龙县","value":"513329"},{"label":"德格县","value":"513330"},{"label":"白玉县","value":"513331"},{"label":"石渠县","value":"513332"},{"label":"色达县","value":"513333"},{"label":"理塘县","value":"513334"},{"label":"巴塘县","value":"513335"},{"label":"乡城县","value":"513336"},{"label":"稻城县","value":"513337"},{"label":"得荣县","value":"513338"}],[{"label":"西昌市","value":"513401"},{"label":"木里藏族自治县","value":"513422"},{"label":"盐源县","value":"513423"},{"label":"德昌县","value":"513424"},{"label":"会理县","value":"513425"},{"label":"会东县","value":"513426"},{"label":"宁南县","value":"513427"},{"label":"普格县","value":"513428"},{"label":"布拖县","value":"513429"},{"label":"金阳县","value":"513430"},{"label":"昭觉县","value":"513431"},{"label":"喜德县","value":"513432"},{"label":"冕宁县","value":"513433"},{"label":"越西县","value":"513434"},{"label":"甘洛县","value":"513435"},{"label":"美姑县","value":"513436"},{"label":"雷波县","value":"513437"}]],[[{"label":"南明区","value":"520102"},{"label":"云岩区","value":"520103"},{"label":"花溪区","value":"520111"},{"label":"乌当区","value":"520112"},{"label":"白云区","value":"520113"},{"label":"观山湖区","value":"520115"},{"label":"开阳县","value":"520121"},{"label":"息烽县","value":"520122"},{"label":"修文县","value":"520123"},{"label":"清镇市","value":"520181"}],[{"label":"钟山区","value":"520201"},{"label":"六枝特区","value":"520203"},{"label":"水城县","value":"520221"},{"label":"盘州市","value":"520281"}],[{"label":"红花岗区","value":"520302"},{"label":"汇川区","value":"520303"},{"label":"播州区","value":"520304"},{"label":"桐梓县","value":"520322"},{"label":"绥阳县","value":"520323"},{"label":"正安县","value":"520324"},{"label":"道真仡佬族苗族自治县","value":"520325"},{"label":"务川仡佬族苗族自治县","value":"520326"},{"label":"凤冈县","value":"520327"},{"label":"湄潭县","value":"520328"},{"label":"余庆县","value":"520329"},{"label":"习水县","value":"520330"},{"label":"赤水市","value":"520381"},{"label":"仁怀市","value":"520382"}],[{"label":"西秀区","value":"520402"},{"label":"平坝区","value":"520403"},{"label":"普定县","value":"520422"},{"label":"镇宁布依族苗族自治县","value":"520423"},{"label":"关岭布依族苗族自治县","value":"520424"},{"label":"紫云苗族布依族自治县","value":"520425"}],[{"label":"七星关区","value":"520502"},{"label":"大方县","value":"520521"},{"label":"黔西县","value":"520522"},{"label":"金沙县","value":"520523"},{"label":"织金县","value":"520524"},{"label":"纳雍县","value":"520525"},{"label":"威宁彝族回族苗族自治县","value":"520526"},{"label":"赫章县","value":"520527"}],[{"label":"碧江区","value":"520602"},{"label":"万山区","value":"520603"},{"label":"江口县","value":"520621"},{"label":"玉屏侗族自治县","value":"520622"},{"label":"石阡县","value":"520623"},{"label":"思南县","value":"520624"},{"label":"印江土家族苗族自治县","value":"520625"},{"label":"德江县","value":"520626"},{"label":"沿河土家族自治县","value":"520627"},{"label":"松桃苗族自治县","value":"520628"}],[{"label":"兴义市","value":"522301"},{"label":"兴仁县","value":"522322"},{"label":"普安县","value":"522323"},{"label":"晴隆县","value":"522324"},{"label":"贞丰县","value":"522325"},{"label":"望谟县","value":"522326"},{"label":"册亨县","value":"522327"},{"label":"安龙县","value":"522328"}],[{"label":"凯里市","value":"522601"},{"label":"黄平县","value":"522622"},{"label":"施秉县","value":"522623"},{"label":"三穗县","value":"522624"},{"label":"镇远县","value":"522625"},{"label":"岑巩县","value":"522626"},{"label":"天柱县","value":"522627"},{"label":"锦屏县","value":"522628"},{"label":"剑河县","value":"522629"},{"label":"台江县","value":"522630"},{"label":"黎平县","value":"522631"},{"label":"榕江县","value":"522632"},{"label":"从江县","value":"522633"},{"label":"雷山县","value":"522634"},{"label":"麻江县","value":"522635"},{"label":"丹寨县","value":"522636"}],[{"label":"都匀市","value":"522701"},{"label":"福泉市","value":"522702"},{"label":"荔波县","value":"522722"},{"label":"贵定县","value":"522723"},{"label":"瓮安县","value":"522725"},{"label":"独山县","value":"522726"},{"label":"平塘县","value":"522727"},{"label":"罗甸县","value":"522728"},{"label":"长顺县","value":"522729"},{"label":"龙里县","value":"522730"},{"label":"惠水县","value":"522731"},{"label":"三都水族自治县","value":"522732"}]],[[{"label":"五华区","value":"530102"},{"label":"盘龙区","value":"530103"},{"label":"官渡区","value":"530111"},{"label":"西山区","value":"530112"},{"label":"东川区","value":"530113"},{"label":"呈贡区","value":"530114"},{"label":"晋宁区","value":"530115"},{"label":"富民县","value":"530124"},{"label":"宜良县","value":"530125"},{"label":"石林彝族自治县","value":"530126"},{"label":"嵩明县","value":"530127"},{"label":"禄劝彝族苗族自治县","value":"530128"},{"label":"寻甸回族彝族自治县","value":"530129"},{"label":"安宁市","value":"530181"}],[{"label":"麒麟区","value":"530302"},{"label":"沾益区","value":"530303"},{"label":"马龙县","value":"530321"},{"label":"陆良县","value":"530322"},{"label":"师宗县","value":"530323"},{"label":"罗平县","value":"530324"},{"label":"富源县","value":"530325"},{"label":"会泽县","value":"530326"},{"label":"宣威市","value":"530381"}],[{"label":"红塔区","value":"530402"},{"label":"江川区","value":"530403"},{"label":"澄江县","value":"530422"},{"label":"通海县","value":"530423"},{"label":"华宁县","value":"530424"},{"label":"易门县","value":"530425"},{"label":"峨山彝族自治县","value":"530426"},{"label":"新平彝族傣族自治县","value":"530427"},{"label":"元江哈尼族彝族傣族自治县","value":"530428"}],[{"label":"隆阳区","value":"530502"},{"label":"施甸县","value":"530521"},{"label":"龙陵县","value":"530523"},{"label":"昌宁县","value":"530524"},{"label":"腾冲市","value":"530581"}],[{"label":"昭阳区","value":"530602"},{"label":"鲁甸县","value":"530621"},{"label":"巧家县","value":"530622"},{"label":"盐津县","value":"530623"},{"label":"大关县","value":"530624"},{"label":"永善县","value":"530625"},{"label":"绥江县","value":"530626"},{"label":"镇雄县","value":"530627"},{"label":"彝良县","value":"530628"},{"label":"威信县","value":"530629"},{"label":"水富县","value":"530630"}],[{"label":"古城区","value":"530702"},{"label":"玉龙纳西族自治县","value":"530721"},{"label":"永胜县","value":"530722"},{"label":"华坪县","value":"530723"},{"label":"宁蒗彝族自治县","value":"530724"}],[{"label":"思茅区","value":"530802"},{"label":"宁洱哈尼族彝族自治县","value":"530821"},{"label":"墨江哈尼族自治县","value":"530822"},{"label":"景东彝族自治县","value":"530823"},{"label":"景谷傣族彝族自治县","value":"530824"},{"label":"镇沅彝族哈尼族拉祜族自治县","value":"530825"},{"label":"江城哈尼族彝族自治县","value":"530826"},{"label":"孟连傣族拉祜族佤族自治县","value":"530827"},{"label":"澜沧拉祜族自治县","value":"530828"},{"label":"西盟佤族自治县","value":"530829"}],[{"label":"临翔区","value":"530902"},{"label":"凤庆县","value":"530921"},{"label":"云县","value":"530922"},{"label":"永德县","value":"530923"},{"label":"镇康县","value":"530924"},{"label":"双江拉祜族佤族布朗族傣族自治县","value":"530925"},{"label":"耿马傣族佤族自治县","value":"530926"},{"label":"沧源佤族自治县","value":"530927"}],[{"label":"楚雄市","value":"532301"},{"label":"双柏县","value":"532322"},{"label":"牟定县","value":"532323"},{"label":"南华县","value":"532324"},{"label":"姚安县","value":"532325"},{"label":"大姚县","value":"532326"},{"label":"永仁县","value":"532327"},{"label":"元谋县","value":"532328"},{"label":"武定县","value":"532329"},{"label":"禄丰县","value":"532331"}],[{"label":"个旧市","value":"532501"},{"label":"开远市","value":"532502"},{"label":"蒙自市","value":"532503"},{"label":"弥勒市","value":"532504"},{"label":"屏边苗族自治县","value":"532523"},{"label":"建水县","value":"532524"},{"label":"石屏县","value":"532525"},{"label":"泸西县","value":"532527"},{"label":"元阳县","value":"532528"},{"label":"红河县","value":"532529"},{"label":"金平苗族瑶族傣族自治县","value":"532530"},{"label":"绿春县","value":"532531"},{"label":"河口瑶族自治县","value":"532532"}],[{"label":"文山市","value":"532601"},{"label":"砚山县","value":"532622"},{"label":"西畴县","value":"532623"},{"label":"麻栗坡县","value":"532624"},{"label":"马关县","value":"532625"},{"label":"丘北县","value":"532626"},{"label":"广南县","value":"532627"},{"label":"富宁县","value":"532628"}],[{"label":"景洪市","value":"532801"},{"label":"勐海县","value":"532822"},{"label":"勐腊县","value":"532823"}],[{"label":"大理市","value":"532901"},{"label":"漾濞彝族自治县","value":"532922"},{"label":"祥云县","value":"532923"},{"label":"宾川县","value":"532924"},{"label":"弥渡县","value":"532925"},{"label":"南涧彝族自治县","value":"532926"},{"label":"巍山彝族回族自治县","value":"532927"},{"label":"永平县","value":"532928"},{"label":"云龙县","value":"532929"},{"label":"洱源县","value":"532930"},{"label":"剑川县","value":"532931"},{"label":"鹤庆县","value":"532932"}],[{"label":"瑞丽市","value":"533102"},{"label":"芒市","value":"533103"},{"label":"梁河县","value":"533122"},{"label":"盈江县","value":"533123"},{"label":"陇川县","value":"533124"}],[{"label":"泸水市","value":"533301"},{"label":"福贡县","value":"533323"},{"label":"贡山独龙族怒族自治县","value":"533324"},{"label":"兰坪白族普米族自治县","value":"533325"}],[{"label":"香格里拉市","value":"533401"},{"label":"德钦县","value":"533422"},{"label":"维西傈僳族自治县","value":"533423"}]],[[{"label":"城关区","value":"540102"},{"label":"堆龙德庆区","value":"540103"},{"label":"林周县","value":"540121"},{"label":"当雄县","value":"540122"},{"label":"尼木县","value":"540123"},{"label":"曲水县","value":"540124"},{"label":"达孜县","value":"540126"},{"label":"墨竹工卡县","value":"540127"},{"label":"格尔木藏青工业园区","value":"540171"},{"label":"拉萨经济技术开发区","value":"540172"},{"label":"西藏文化旅游创意园区","value":"540173"},{"label":"达孜工业园区","value":"540174"}],[{"label":"桑珠孜区","value":"540202"},{"label":"南木林县","value":"540221"},{"label":"江孜县","value":"540222"},{"label":"定日县","value":"540223"},{"label":"萨迦县","value":"540224"},{"label":"拉孜县","value":"540225"},{"label":"昂仁县","value":"540226"},{"label":"谢通门县","value":"540227"},{"label":"白朗县","value":"540228"},{"label":"仁布县","value":"540229"},{"label":"康马县","value":"540230"},{"label":"定结县","value":"540231"},{"label":"仲巴县","value":"540232"},{"label":"亚东县","value":"540233"},{"label":"吉隆县","value":"540234"},{"label":"聂拉木县","value":"540235"},{"label":"萨嘎县","value":"540236"},{"label":"岗巴县","value":"540237"}],[{"label":"卡若区","value":"540302"},{"label":"江达县","value":"540321"},{"label":"贡觉县","value":"540322"},{"label":"类乌齐县","value":"540323"},{"label":"丁青县","value":"540324"},{"label":"察雅县","value":"540325"},{"label":"八宿县","value":"540326"},{"label":"左贡县","value":"540327"},{"label":"芒康县","value":"540328"},{"label":"洛隆县","value":"540329"},{"label":"边坝县","value":"540330"}],[{"label":"巴宜区","value":"540402"},{"label":"工布江达县","value":"540421"},{"label":"米林县","value":"540422"},{"label":"墨脱县","value":"540423"},{"label":"波密县","value":"540424"},{"label":"察隅县","value":"540425"},{"label":"朗县","value":"540426"}],[{"label":"乃东区","value":"540502"},{"label":"扎囊县","value":"540521"},{"label":"贡嘎县","value":"540522"},{"label":"桑日县","value":"540523"},{"label":"琼结县","value":"540524"},{"label":"曲松县","value":"540525"},{"label":"措美县","value":"540526"},{"label":"洛扎县","value":"540527"},{"label":"加查县","value":"540528"},{"label":"隆子县","value":"540529"},{"label":"错那县","value":"540530"},{"label":"浪卡子县","value":"540531"}],[{"label":"那曲县","value":"542421"},{"label":"嘉黎县","value":"542422"},{"label":"比如县","value":"542423"},{"label":"聂荣县","value":"542424"},{"label":"安多县","value":"542425"},{"label":"申扎县","value":"542426"},{"label":"索县","value":"542427"},{"label":"班戈县","value":"542428"},{"label":"巴青县","value":"542429"},{"label":"尼玛县","value":"542430"},{"label":"双湖县","value":"542431"}],[{"label":"普兰县","value":"542521"},{"label":"札达县","value":"542522"},{"label":"噶尔县","value":"542523"},{"label":"日土县","value":"542524"},{"label":"革吉县","value":"542525"},{"label":"改则县","value":"542526"},{"label":"措勤县","value":"542527"}]],[[{"label":"新城区","value":"610102"},{"label":"碑林区","value":"610103"},{"label":"莲湖区","value":"610104"},{"label":"灞桥区","value":"610111"},{"label":"未央区","value":"610112"},{"label":"雁塔区","value":"610113"},{"label":"阎良区","value":"610114"},{"label":"临潼区","value":"610115"},{"label":"长安区","value":"610116"},{"label":"高陵区","value":"610117"},{"label":"鄠邑区","value":"610118"},{"label":"蓝田县","value":"610122"},{"label":"周至县","value":"610124"}],[{"label":"王益区","value":"610202"},{"label":"印台区","value":"610203"},{"label":"耀州区","value":"610204"},{"label":"宜君县","value":"610222"}],[{"label":"渭滨区","value":"610302"},{"label":"金台区","value":"610303"},{"label":"陈仓区","value":"610304"},{"label":"凤翔县","value":"610322"},{"label":"岐山县","value":"610323"},{"label":"扶风县","value":"610324"},{"label":"眉县","value":"610326"},{"label":"陇县","value":"610327"},{"label":"千阳县","value":"610328"},{"label":"麟游县","value":"610329"},{"label":"凤县","value":"610330"},{"label":"太白县","value":"610331"}],[{"label":"秦都区","value":"610402"},{"label":"杨陵区","value":"610403"},{"label":"渭城区","value":"610404"},{"label":"三原县","value":"610422"},{"label":"泾阳县","value":"610423"},{"label":"乾县","value":"610424"},{"label":"礼泉县","value":"610425"},{"label":"永寿县","value":"610426"},{"label":"彬县","value":"610427"},{"label":"长武县","value":"610428"},{"label":"旬邑县","value":"610429"},{"label":"淳化县","value":"610430"},{"label":"武功县","value":"610431"},{"label":"兴平市","value":"610481"}],[{"label":"临渭区","value":"610502"},{"label":"华州区","value":"610503"},{"label":"潼关县","value":"610522"},{"label":"大荔县","value":"610523"},{"label":"合阳县","value":"610524"},{"label":"澄城县","value":"610525"},{"label":"蒲城县","value":"610526"},{"label":"白水县","value":"610527"},{"label":"富平县","value":"610528"},{"label":"韩城市","value":"610581"},{"label":"华阴市","value":"610582"}],[{"label":"宝塔区","value":"610602"},{"label":"安塞区","value":"610603"},{"label":"延长县","value":"610621"},{"label":"延川县","value":"610622"},{"label":"子长县","value":"610623"},{"label":"志丹县","value":"610625"},{"label":"吴起县","value":"610626"},{"label":"甘泉县","value":"610627"},{"label":"富县","value":"610628"},{"label":"洛川县","value":"610629"},{"label":"宜川县","value":"610630"},{"label":"黄龙县","value":"610631"},{"label":"黄陵县","value":"610632"}],[{"label":"汉台区","value":"610702"},{"label":"南郑区","value":"610703"},{"label":"城固县","value":"610722"},{"label":"洋县","value":"610723"},{"label":"西乡县","value":"610724"},{"label":"勉县","value":"610725"},{"label":"宁强县","value":"610726"},{"label":"略阳县","value":"610727"},{"label":"镇巴县","value":"610728"},{"label":"留坝县","value":"610729"},{"label":"佛坪县","value":"610730"}],[{"label":"榆阳区","value":"610802"},{"label":"横山区","value":"610803"},{"label":"府谷县","value":"610822"},{"label":"靖边县","value":"610824"},{"label":"定边县","value":"610825"},{"label":"绥德县","value":"610826"},{"label":"米脂县","value":"610827"},{"label":"佳县","value":"610828"},{"label":"吴堡县","value":"610829"},{"label":"清涧县","value":"610830"},{"label":"子洲县","value":"610831"},{"label":"神木市","value":"610881"}],[{"label":"汉滨区","value":"610902"},{"label":"汉阴县","value":"610921"},{"label":"石泉县","value":"610922"},{"label":"宁陕县","value":"610923"},{"label":"紫阳县","value":"610924"},{"label":"岚皋县","value":"610925"},{"label":"平利县","value":"610926"},{"label":"镇坪县","value":"610927"},{"label":"旬阳县","value":"610928"},{"label":"白河县","value":"610929"}],[{"label":"商州区","value":"611002"},{"label":"洛南县","value":"611021"},{"label":"丹凤县","value":"611022"},{"label":"商南县","value":"611023"},{"label":"山阳县","value":"611024"},{"label":"镇安县","value":"611025"},{"label":"柞水县","value":"611026"}]],[[{"label":"城关区","value":"620102"},{"label":"七里河区","value":"620103"},{"label":"西固区","value":"620104"},{"label":"安宁区","value":"620105"},{"label":"红古区","value":"620111"},{"label":"永登县","value":"620121"},{"label":"皋兰县","value":"620122"},{"label":"榆中县","value":"620123"},{"label":"兰州新区","value":"620171"}],[{"label":"嘉峪关市","value":"620201"}],[{"label":"金川区","value":"620302"},{"label":"永昌县","value":"620321"}],[{"label":"白银区","value":"620402"},{"label":"平川区","value":"620403"},{"label":"靖远县","value":"620421"},{"label":"会宁县","value":"620422"},{"label":"景泰县","value":"620423"}],[{"label":"秦州区","value":"620502"},{"label":"麦积区","value":"620503"},{"label":"清水县","value":"620521"},{"label":"秦安县","value":"620522"},{"label":"甘谷县","value":"620523"},{"label":"武山县","value":"620524"},{"label":"张家川回族自治县","value":"620525"}],[{"label":"凉州区","value":"620602"},{"label":"民勤县","value":"620621"},{"label":"古浪县","value":"620622"},{"label":"天祝藏族自治县","value":"620623"}],[{"label":"甘州区","value":"620702"},{"label":"肃南裕固族自治县","value":"620721"},{"label":"民乐县","value":"620722"},{"label":"临泽县","value":"620723"},{"label":"高台县","value":"620724"},{"label":"山丹县","value":"620725"}],[{"label":"崆峒区","value":"620802"},{"label":"泾川县","value":"620821"},{"label":"灵台县","value":"620822"},{"label":"崇信县","value":"620823"},{"label":"华亭县","value":"620824"},{"label":"庄浪县","value":"620825"},{"label":"静宁县","value":"620826"},{"label":"平凉工业园区","value":"620871"}],[{"label":"肃州区","value":"620902"},{"label":"金塔县","value":"620921"},{"label":"瓜州县","value":"620922"},{"label":"肃北蒙古族自治县","value":"620923"},{"label":"阿克塞哈萨克族自治县","value":"620924"},{"label":"玉门市","value":"620981"},{"label":"敦煌市","value":"620982"}],[{"label":"西峰区","value":"621002"},{"label":"庆城县","value":"621021"},{"label":"环县","value":"621022"},{"label":"华池县","value":"621023"},{"label":"合水县","value":"621024"},{"label":"正宁县","value":"621025"},{"label":"宁县","value":"621026"},{"label":"镇原县","value":"621027"}],[{"label":"安定区","value":"621102"},{"label":"通渭县","value":"621121"},{"label":"陇西县","value":"621122"},{"label":"渭源县","value":"621123"},{"label":"临洮县","value":"621124"},{"label":"漳县","value":"621125"},{"label":"岷县","value":"621126"}],[{"label":"武都区","value":"621202"},{"label":"成县","value":"621221"},{"label":"文县","value":"621222"},{"label":"宕昌县","value":"621223"},{"label":"康县","value":"621224"},{"label":"西和县","value":"621225"},{"label":"礼县","value":"621226"},{"label":"徽县","value":"621227"},{"label":"两当县","value":"621228"}],[{"label":"临夏市","value":"622901"},{"label":"临夏县","value":"622921"},{"label":"康乐县","value":"622922"},{"label":"永靖县","value":"622923"},{"label":"广河县","value":"622924"},{"label":"和政县","value":"622925"},{"label":"东乡族自治县","value":"622926"},{"label":"积石山保安族东乡族撒拉族自治县","value":"622927"}],[{"label":"合作市","value":"623001"},{"label":"临潭县","value":"623021"},{"label":"卓尼县","value":"623022"},{"label":"舟曲县","value":"623023"},{"label":"迭部县","value":"623024"},{"label":"玛曲县","value":"623025"},{"label":"碌曲县","value":"623026"},{"label":"夏河县","value":"623027"}]],[[{"label":"城东区","value":"630102"},{"label":"城中区","value":"630103"},{"label":"城西区","value":"630104"},{"label":"城北区","value":"630105"},{"label":"大通回族土族自治县","value":"630121"},{"label":"湟中县","value":"630122"},{"label":"湟源县","value":"630123"}],[{"label":"乐都区","value":"630202"},{"label":"平安区","value":"630203"},{"label":"民和回族土族自治县","value":"630222"},{"label":"互助土族自治县","value":"630223"},{"label":"化隆回族自治县","value":"630224"},{"label":"循化撒拉族自治县","value":"630225"}],[{"label":"门源回族自治县","value":"632221"},{"label":"祁连县","value":"632222"},{"label":"海晏县","value":"632223"},{"label":"刚察县","value":"632224"}],[{"label":"同仁县","value":"632321"},{"label":"尖扎县","value":"632322"},{"label":"泽库县","value":"632323"},{"label":"河南蒙古族自治县","value":"632324"}],[{"label":"共和县","value":"632521"},{"label":"同德县","value":"632522"},{"label":"贵德县","value":"632523"},{"label":"兴海县","value":"632524"},{"label":"贵南县","value":"632525"}],[{"label":"玛沁县","value":"632621"},{"label":"班玛县","value":"632622"},{"label":"甘德县","value":"632623"},{"label":"达日县","value":"632624"},{"label":"久治县","value":"632625"},{"label":"玛多县","value":"632626"}],[{"label":"玉树市","value":"632701"},{"label":"杂多县","value":"632722"},{"label":"称多县","value":"632723"},{"label":"治多县","value":"632724"},{"label":"囊谦县","value":"632725"},{"label":"曲麻莱县","value":"632726"}],[{"label":"格尔木市","value":"632801"},{"label":"德令哈市","value":"632802"},{"label":"乌兰县","value":"632821"},{"label":"都兰县","value":"632822"},{"label":"天峻县","value":"632823"},{"label":"大柴旦行政委员会","value":"632857"},{"label":"冷湖行政委员会","value":"632858"},{"label":"茫崖行政委员会","value":"632859"}]],[[{"label":"兴庆区","value":"640104"},{"label":"西夏区","value":"640105"},{"label":"金凤区","value":"640106"},{"label":"永宁县","value":"640121"},{"label":"贺兰县","value":"640122"},{"label":"灵武市","value":"640181"}],[{"label":"大武口区","value":"640202"},{"label":"惠农区","value":"640205"},{"label":"平罗县","value":"640221"}],[{"label":"利通区","value":"640302"},{"label":"红寺堡区","value":"640303"},{"label":"盐池县","value":"640323"},{"label":"同心县","value":"640324"},{"label":"青铜峡市","value":"640381"}],[{"label":"原州区","value":"640402"},{"label":"西吉县","value":"640422"},{"label":"隆德县","value":"640423"},{"label":"泾源县","value":"640424"},{"label":"彭阳县","value":"640425"}],[{"label":"沙坡头区","value":"640502"},{"label":"中宁县","value":"640521"},{"label":"海原县","value":"640522"}]],[[{"label":"天山区","value":"650102"},{"label":"沙依巴克区","value":"650103"},{"label":"新市区","value":"650104"},{"label":"水磨沟区","value":"650105"},{"label":"头屯河区","value":"650106"},{"label":"达坂城区","value":"650107"},{"label":"米东区","value":"650109"},{"label":"乌鲁木齐县","value":"650121"},{"label":"乌鲁木齐经济技术开发区","value":"650171"},{"label":"乌鲁木齐高新技术产业开发区","value":"650172"}],[{"label":"独山子区","value":"650202"},{"label":"克拉玛依区","value":"650203"},{"label":"白碱滩区","value":"650204"},{"label":"乌尔禾区","value":"650205"}],[{"label":"高昌区","value":"650402"},{"label":"鄯善县","value":"650421"},{"label":"托克逊县","value":"650422"}],[{"label":"伊州区","value":"650502"},{"label":"巴里坤哈萨克自治县","value":"650521"},{"label":"伊吾县","value":"650522"}],[{"label":"昌吉市","value":"652301"},{"label":"阜康市","value":"652302"},{"label":"呼图壁县","value":"652323"},{"label":"玛纳斯县","value":"652324"},{"label":"奇台县","value":"652325"},{"label":"吉木萨尔县","value":"652327"},{"label":"木垒哈萨克自治县","value":"652328"}],[{"label":"博乐市","value":"652701"},{"label":"阿拉山口市","value":"652702"},{"label":"精河县","value":"652722"},{"label":"温泉县","value":"652723"}],[{"label":"库尔勒市","value":"652801"},{"label":"轮台县","value":"652822"},{"label":"尉犁县","value":"652823"},{"label":"若羌县","value":"652824"},{"label":"且末县","value":"652825"},{"label":"焉耆回族自治县","value":"652826"},{"label":"和静县","value":"652827"},{"label":"和硕县","value":"652828"},{"label":"博湖县","value":"652829"},{"label":"库尔勒经济技术开发区","value":"652871"}],[{"label":"阿克苏市","value":"652901"},{"label":"温宿县","value":"652922"},{"label":"库车县","value":"652923"},{"label":"沙雅县","value":"652924"},{"label":"新和县","value":"652925"},{"label":"拜城县","value":"652926"},{"label":"乌什县","value":"652927"},{"label":"阿瓦提县","value":"652928"},{"label":"柯坪县","value":"652929"}],[{"label":"阿图什市","value":"653001"},{"label":"阿克陶县","value":"653022"},{"label":"阿合奇县","value":"653023"},{"label":"乌恰县","value":"653024"}],[{"label":"喀什市","value":"653101"},{"label":"疏附县","value":"653121"},{"label":"疏勒县","value":"653122"},{"label":"英吉沙县","value":"653123"},{"label":"泽普县","value":"653124"},{"label":"莎车县","value":"653125"},{"label":"叶城县","value":"653126"},{"label":"麦盖提县","value":"653127"},{"label":"岳普湖县","value":"653128"},{"label":"伽师县","value":"653129"},{"label":"巴楚县","value":"653130"},{"label":"塔什库尔干塔吉克自治县","value":"653131"}],[{"label":"和田市","value":"653201"},{"label":"和田县","value":"653221"},{"label":"墨玉县","value":"653222"},{"label":"皮山县","value":"653223"},{"label":"洛浦县","value":"653224"},{"label":"策勒县","value":"653225"},{"label":"于田县","value":"653226"},{"label":"民丰县","value":"653227"}],[{"label":"伊宁市","value":"654002"},{"label":"奎屯市","value":"654003"},{"label":"霍尔果斯市","value":"654004"},{"label":"伊宁县","value":"654021"},{"label":"察布查尔锡伯自治县","value":"654022"},{"label":"霍城县","value":"654023"},{"label":"巩留县","value":"654024"},{"label":"新源县","value":"654025"},{"label":"昭苏县","value":"654026"},{"label":"特克斯县","value":"654027"},{"label":"尼勒克县","value":"654028"}],[{"label":"塔城市","value":"654201"},{"label":"乌苏市","value":"654202"},{"label":"额敏县","value":"654221"},{"label":"沙湾县","value":"654223"},{"label":"托里县","value":"654224"},{"label":"裕民县","value":"654225"},{"label":"和布克赛尔蒙古自治县","value":"654226"}],[{"label":"阿勒泰市","value":"654301"},{"label":"布尔津县","value":"654321"},{"label":"富蕴县","value":"654322"},{"label":"福海县","value":"654323"},{"label":"哈巴河县","value":"654324"},{"label":"青河县","value":"654325"},{"label":"吉木乃县","value":"654326"}],[{"label":"石河子市","value":"659001"},{"label":"阿拉尔市","value":"659002"},{"label":"图木舒克市","value":"659003"},{"label":"五家渠市","value":"659004"},{"label":"铁门关市","value":"659006"}]],[[{"label":"台北","value":"660101"}],[{"label":"高雄","value":"660201"}],[{"label":"基隆","value":"660301"}],[{"label":"台中","value":"660401"}],[{"label":"台南","value":"660501"}],[{"label":"新竹","value":"660601"}],[{"label":"嘉义","value":"660701"}],[{"label":"宜兰","value":"660801"}],[{"label":"桃园","value":"660901"}],[{"label":"苗栗","value":"661001"}],[{"label":"彰化","value":"661101"}],[{"label":"南投","value":"661201"}],[{"label":"云林","value":"661301"}],[{"label":"屏东","value":"661401"}],[{"label":"台东","value":"661501"}],[{"label":"花莲","value":"661601"}],[{"label":"澎湖","value":"661701"}]],[[{"label":"香港岛","value":"670101"}],[{"label":"九龙","value":"670201"}],[{"label":"新界","value":"670301"}]],[[{"label":"澳门半岛","value":"680101"}],[{"label":"氹仔岛","value":"680201"}],[{"label":"路环岛","value":"680301"}],[{"label":"路氹城","value":"680401"}]]];export default areaData; \ No newline at end of file diff --git a/components/uview-ui/libs/util/async-validator.js b/components/uview-ui/libs/util/async-validator.js new file mode 100644 index 0000000..9e114df --- /dev/null +++ b/components/uview-ui/libs/util/async-validator.js @@ -0,0 +1,1343 @@ +function _extends() { + _extends = Object.assign || function (target) { + for (let i = 1; i < arguments.length; i++) { + const source = arguments[i] + + for (const key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key] + } + } + } + + return target + } + + return _extends.apply(this, arguments) +} + +/* eslint no-console:0 */ +const formatRegExp = /%[sdj%]/g +let warning = function warning() {} // don't print warning message when in production env or node runtime + +if (typeof process !== 'undefined' && process.env && process.env.NODE_ENV !== 'production' && typeof window + !== 'undefined' && typeof document !== 'undefined') { + warning = function warning(type, errors) { + if (typeof console !== 'undefined' && console.warn) { + if (errors.every((e) => typeof e === 'string')) { + console.warn(type, errors) + } + } + } +} + +function convertFieldsError(errors) { + if (!errors || !errors.length) return null + const fields = {} + errors.forEach((error) => { + const { field } = error + fields[field] = fields[field] || [] + fields[field].push(error) + }) + return fields +} + +function format() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key] + } + + let i = 1 + const f = args[0] + const len = args.length + + if (typeof f === 'function') { + return f.apply(null, args.slice(1)) + } + + if (typeof f === 'string') { + let str = String(f).replace(formatRegExp, (x) => { + if (x === '%%') { + return '%' + } + + if (i >= len) { + return x + } + + switch (x) { + case '%s': + return String(args[i++]) + + case '%d': + return Number(args[i++]) + + case '%j': + try { + return JSON.stringify(args[i++]) + } catch (_) { + return '[Circular]' + } + + break + + default: + return x + } + }) + + for (let arg = args[i]; i < len; arg = args[++i]) { + str += ` ${arg}` + } + + return str + } + + return f +} + +function isNativeStringType(type) { + return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'pattern' +} + +function isEmptyValue(value, type) { + if (value === undefined || value === null) { + return true + } + + if (type === 'array' && Array.isArray(value) && !value.length) { + return true + } + + if (isNativeStringType(type) && typeof value === 'string' && !value) { + return true + } + + return false +} + +function asyncParallelArray(arr, func, callback) { + const results = [] + let total = 0 + const arrLength = arr.length + + function count(errors) { + results.push.apply(results, errors) + total++ + + if (total === arrLength) { + callback(results) + } + } + + arr.forEach((a) => { + func(a, count) + }) +} + +function asyncSerialArray(arr, func, callback) { + let index = 0 + const arrLength = arr.length + + function next(errors) { + if (errors && errors.length) { + callback(errors) + return + } + + const original = index + index += 1 + + if (original < arrLength) { + func(arr[original], next) + } else { + callback([]) + } + } + + next([]) +} + +function flattenObjArr(objArr) { + const ret = [] + Object.keys(objArr).forEach((k) => { + ret.push.apply(ret, objArr[k]) + }) + return ret +} + +function asyncMap(objArr, option, func, callback) { + if (option.first) { + const _pending = new Promise((resolve, reject) => { + const next = function next(errors) { + callback(errors) + return errors.length ? reject({ + errors, + fields: convertFieldsError(errors) + }) : resolve() + } + + const flattenArr = flattenObjArr(objArr) + asyncSerialArray(flattenArr, func, next) + }) + + _pending.catch((e) => e) + + return _pending + } + + let firstFields = option.firstFields || [] + + if (firstFields === true) { + firstFields = Object.keys(objArr) + } + + const objArrKeys = Object.keys(objArr) + const objArrLength = objArrKeys.length + let total = 0 + const results = [] + const pending = new Promise((resolve, reject) => { + const next = function next(errors) { + results.push.apply(results, errors) + total++ + + if (total === objArrLength) { + callback(results) + return results.length ? reject({ + errors: results, + fields: convertFieldsError(results) + }) : resolve() + } + } + + if (!objArrKeys.length) { + callback(results) + resolve() + } + + objArrKeys.forEach((key) => { + const arr = objArr[key] + + if (firstFields.indexOf(key) !== -1) { + asyncSerialArray(arr, func, next) + } else { + asyncParallelArray(arr, func, next) + } + }) + }) + pending.catch((e) => e) + return pending +} + +function complementError(rule) { + return function (oe) { + if (oe && oe.message) { + oe.field = oe.field || rule.fullField + return oe + } + + return { + message: typeof oe === 'function' ? oe() : oe, + field: oe.field || rule.fullField + } + } +} + +function deepMerge(target, source) { + if (source) { + for (const s in source) { + if (source.hasOwnProperty(s)) { + const value = source[s] + + if (typeof value === 'object' && typeof target[s] === 'object') { + target[s] = { ...target[s], ...value } + } else { + target[s] = value + } + } + } + } + + return target +} + +/** + * Rule for validating required fields. + * + * @param rule The validation rule. + * @param value The value of the field on the source object. + * @param source The source object being validated. + * @param errors An array of errors that this rule may add + * validation errors to. + * @param options The validation options. + * @param options.messages The validation messages. + */ + +function required(rule, value, source, errors, options, type) { + if (rule.required && (!source.hasOwnProperty(rule.field) || isEmptyValue(value, type || rule.type))) { + errors.push(format(options.messages.required, rule.fullField)) + } +} + +/** + * Rule for validating whitespace. + * + * @param rule The validation rule. + * @param value The value of the field on the source object. + * @param source The source object being validated. + * @param errors An array of errors that this rule may add + * validation errors to. + * @param options The validation options. + * @param options.messages The validation messages. + */ + +function whitespace(rule, value, source, errors, options) { + if (/^\s+$/.test(value) || value === '') { + errors.push(format(options.messages.whitespace, rule.fullField)) + } +} + +/* eslint max-len:0 */ + +const pattern = { + // http://emailregex.com/ + email: /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/, + url: new RegExp( + '^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$', + 'i' + ), + hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i +} +var types = { + integer: function integer(value) { + return /^(-)?\d+$/.test(value); + }, + float: function float(value) { + return /^(-)?\d+(\.\d+)?$/.test(value); + }, + array: function array(value) { + return Array.isArray(value) + }, + regexp: function regexp(value) { + if (value instanceof RegExp) { + return true + } + + try { + return !!new RegExp(value) + } catch (e) { + return false + } + }, + date: function date(value) { + return typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear + === 'function' + }, + number: function number(value) { + if (isNaN(value)) { + return false + } + + // 修改源码,将字符串数值先转为数值 + return typeof +value === 'number' + }, + object: function object(value) { + return typeof value === 'object' && !types.array(value) + }, + method: function method(value) { + return typeof value === 'function' + }, + email: function email(value) { + return typeof value === 'string' && !!value.match(pattern.email) && value.length < 255 + }, + url: function url(value) { + return typeof value === 'string' && !!value.match(pattern.url) + }, + hex: function hex(value) { + return typeof value === 'string' && !!value.match(pattern.hex) + } +} +/** + * Rule for validating the type of a value. + * + * @param rule The validation rule. + * @param value The value of the field on the source object. + * @param source The source object being validated. + * @param errors An array of errors that this rule may add + * validation errors to. + * @param options The validation options. + * @param options.messages The validation messages. + */ + +function type(rule, value, source, errors, options) { + if (rule.required && value === undefined) { + required(rule, value, source, errors, options) + return + } + + const custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'] + const ruleType = rule.type + + if (custom.indexOf(ruleType) > -1) { + if (!types[ruleType](value)) { + errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type)) + } // straight typeof check + } else if (ruleType && typeof value !== rule.type) { + errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type)) + } +} + +/** + * Rule for validating minimum and maximum allowed values. + * + * @param rule The validation rule. + * @param value The value of the field on the source object. + * @param source The source object being validated. + * @param errors An array of errors that this rule may add + * validation errors to. + * @param options The validation options. + * @param options.messages The validation messages. + */ + +function range(rule, value, source, errors, options) { + const len = typeof rule.len === 'number' + const min = typeof rule.min === 'number' + const max = typeof rule.max === 'number' // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane) + + const spRegexp = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g + let val = value + let key = null + const num = typeof value === 'number' + const str = typeof value === 'string' + const arr = Array.isArray(value) + + if (num) { + key = 'number' + } else if (str) { + key = 'string' + } else if (arr) { + key = 'array' + } // if the value is not of a supported type for range validation + // the validation rule rule should use the + // type property to also test for a particular type + + if (!key) { + return false + } + + if (arr) { + val = value.length + } + + if (str) { + // 处理码点大于U+010000的文字length属性不准确的bug,如"𠮷𠮷𠮷".lenght !== 3 + val = value.replace(spRegexp, '_').length + } + + if (len) { + if (val !== rule.len) { + errors.push(format(options.messages[key].len, rule.fullField, rule.len)) + } + } else if (min && !max && val < rule.min) { + errors.push(format(options.messages[key].min, rule.fullField, rule.min)) + } else if (max && !min && val > rule.max) { + errors.push(format(options.messages[key].max, rule.fullField, rule.max)) + } else if (min && max && (val < rule.min || val > rule.max)) { + errors.push(format(options.messages[key].range, rule.fullField, rule.min, rule.max)) + } +} + +const ENUM = 'enum' +/** + * Rule for validating a value exists in an enumerable list. + * + * @param rule The validation rule. + * @param value The value of the field on the source object. + * @param source The source object being validated. + * @param errors An array of errors that this rule may add + * validation errors to. + * @param options The validation options. + * @param options.messages The validation messages. + */ + +function enumerable(rule, value, source, errors, options) { + rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [] + + if (rule[ENUM].indexOf(value) === -1) { + errors.push(format(options.messages[ENUM], rule.fullField, rule[ENUM].join(', '))) + } +} + +/** + * Rule for validating a regular expression pattern. + * + * @param rule The validation rule. + * @param value The value of the field on the source object. + * @param source The source object being validated. + * @param errors An array of errors that this rule may add + * validation errors to. + * @param options The validation options. + * @param options.messages The validation messages. + */ + +function pattern$1(rule, value, source, errors, options) { + if (rule.pattern) { + if (rule.pattern instanceof RegExp) { + // if a RegExp instance is passed, reset `lastIndex` in case its `global` + // flag is accidentally set to `true`, which in a validation scenario + // is not necessary and the result might be misleading + rule.pattern.lastIndex = 0 + + if (!rule.pattern.test(value)) { + errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern)) + } + } else if (typeof rule.pattern === 'string') { + const _pattern = new RegExp(rule.pattern) + + if (!_pattern.test(value)) { + errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern)) + } + } + } +} + +const rules = { + required, + whitespace, + type, + range, + enum: enumerable, + pattern: pattern$1 +} + +/** + * Performs validation for string types. + * + * @param rule The validation rule. + * @param value The value of the field on the source object. + * @param callback The callback function. + * @param source The source object being validated. + * @param options The validation options. + * @param options.messages The validation messages. + */ + +function string(rule, value, callback, source, options) { + const errors = [] + const validate = rule.required || !rule.required && source.hasOwnProperty(rule.field) + + if (validate) { + if (isEmptyValue(value, 'string') && !rule.required) { + return callback() + } + + rules.required(rule, value, source, errors, options, 'string') + + if (!isEmptyValue(value, 'string')) { + rules.type(rule, value, source, errors, options) + rules.range(rule, value, source, errors, options) + rules.pattern(rule, value, source, errors, options) + + if (rule.whitespace === true) { + rules.whitespace(rule, value, source, errors, options) + } + } + } + + callback(errors) +} + +/** + * Validates a function. + * + * @param rule The validation rule. + * @param value The value of the field on the source object. + * @param callback The callback function. + * @param source The source object being validated. + * @param options The validation options. + * @param options.messages The validation messages. + */ + +function method(rule, value, callback, source, options) { + const errors = [] + const validate = rule.required || !rule.required && source.hasOwnProperty(rule.field) + + if (validate) { + if (isEmptyValue(value) && !rule.required) { + return callback() + } + + rules.required(rule, value, source, errors, options) + + if (value !== undefined) { + rules.type(rule, value, source, errors, options) + } + } + + callback(errors) +} + +/** + * Validates a number. + * + * @param rule The validation rule. + * @param value The value of the field on the source object. + * @param callback The callback function. + * @param source The source object being validated. + * @param options The validation options. + * @param options.messages The validation messages. + */ + +function number(rule, value, callback, source, options) { + const errors = [] + const validate = rule.required || !rule.required && source.hasOwnProperty(rule.field) + + if (validate) { + if (value === '') { + value = undefined + } + + if (isEmptyValue(value) && !rule.required) { + return callback() + } + + rules.required(rule, value, source, errors, options) + + if (value !== undefined) { + rules.type(rule, value, source, errors, options) + rules.range(rule, value, source, errors, options) + } + } + + callback(errors) +} + +/** + * Validates a boolean. + * + * @param rule The validation rule. + * @param value The value of the field on the source object. + * @param callback The callback function. + * @param source The source object being validated. + * @param options The validation options. + * @param options.messages The validation messages. + */ + +function _boolean(rule, value, callback, source, options) { + const errors = [] + const validate = rule.required || !rule.required && source.hasOwnProperty(rule.field) + + if (validate) { + if (isEmptyValue(value) && !rule.required) { + return callback() + } + + rules.required(rule, value, source, errors, options) + + if (value !== undefined) { + rules.type(rule, value, source, errors, options) + } + } + + callback(errors) +} + +/** + * Validates the regular expression type. + * + * @param rule The validation rule. + * @param value The value of the field on the source object. + * @param callback The callback function. + * @param source The source object being validated. + * @param options The validation options. + * @param options.messages The validation messages. + */ + +function regexp(rule, value, callback, source, options) { + const errors = [] + const validate = rule.required || !rule.required && source.hasOwnProperty(rule.field) + + if (validate) { + if (isEmptyValue(value) && !rule.required) { + return callback() + } + + rules.required(rule, value, source, errors, options) + + if (!isEmptyValue(value)) { + rules.type(rule, value, source, errors, options) + } + } + + callback(errors) +} + +/** + * Validates a number is an integer. + * + * @param rule The validation rule. + * @param value The value of the field on the source object. + * @param callback The callback function. + * @param source The source object being validated. + * @param options The validation options. + * @param options.messages The validation messages. + */ + +function integer(rule, value, callback, source, options) { + const errors = [] + const validate = rule.required || !rule.required && source.hasOwnProperty(rule.field) + + if (validate) { + if (isEmptyValue(value) && !rule.required) { + return callback() + } + + rules.required(rule, value, source, errors, options) + + if (value !== undefined) { + rules.type(rule, value, source, errors, options) + rules.range(rule, value, source, errors, options) + } + } + + callback(errors) +} + +/** + * Validates a number is a floating point number. + * + * @param rule The validation rule. + * @param value The value of the field on the source object. + * @param callback The callback function. + * @param source The source object being validated. + * @param options The validation options. + * @param options.messages The validation messages. + */ + +function floatFn(rule, value, callback, source, options) { + const errors = [] + const validate = rule.required || !rule.required && source.hasOwnProperty(rule.field) + + if (validate) { + if (isEmptyValue(value) && !rule.required) { + return callback() + } + + rules.required(rule, value, source, errors, options) + + if (value !== undefined) { + rules.type(rule, value, source, errors, options) + rules.range(rule, value, source, errors, options) + } + } + + callback(errors) +} + +/** + * Validates an array. + * + * @param rule The validation rule. + * @param value The value of the field on the source object. + * @param callback The callback function. + * @param source The source object being validated. + * @param options The validation options. + * @param options.messages The validation messages. + */ + +function array(rule, value, callback, source, options) { + const errors = [] + const validate = rule.required || !rule.required && source.hasOwnProperty(rule.field) + + if (validate) { + if (isEmptyValue(value, 'array') && !rule.required) { + return callback() + } + + rules.required(rule, value, source, errors, options, 'array') + + if (!isEmptyValue(value, 'array')) { + rules.type(rule, value, source, errors, options) + rules.range(rule, value, source, errors, options) + } + } + + callback(errors) +} + +/** + * Validates an object. + * + * @param rule The validation rule. + * @param value The value of the field on the source object. + * @param callback The callback function. + * @param source The source object being validated. + * @param options The validation options. + * @param options.messages The validation messages. + */ + +function object(rule, value, callback, source, options) { + const errors = [] + const validate = rule.required || !rule.required && source.hasOwnProperty(rule.field) + + if (validate) { + if (isEmptyValue(value) && !rule.required) { + return callback() + } + + rules.required(rule, value, source, errors, options) + + if (value !== undefined) { + rules.type(rule, value, source, errors, options) + } + } + + callback(errors) +} + +const ENUM$1 = 'enum' +/** + * Validates an enumerable list. + * + * @param rule The validation rule. + * @param value The value of the field on the source object. + * @param callback The callback function. + * @param source The source object being validated. + * @param options The validation options. + * @param options.messages The validation messages. + */ + +function enumerable$1(rule, value, callback, source, options) { + const errors = [] + const validate = rule.required || !rule.required && source.hasOwnProperty(rule.field) + + if (validate) { + if (isEmptyValue(value) && !rule.required) { + return callback() + } + + rules.required(rule, value, source, errors, options) + + if (value !== undefined) { + rules[ENUM$1](rule, value, source, errors, options) + } + } + + callback(errors) +} + +/** + * Validates a regular expression pattern. + * + * Performs validation when a rule only contains + * a pattern property but is not declared as a string type. + * + * @param rule The validation rule. + * @param value The value of the field on the source object. + * @param callback The callback function. + * @param source The source object being validated. + * @param options The validation options. + * @param options.messages The validation messages. + */ + +function pattern$2(rule, value, callback, source, options) { + const errors = [] + const validate = rule.required || !rule.required && source.hasOwnProperty(rule.field) + + if (validate) { + if (isEmptyValue(value, 'string') && !rule.required) { + return callback() + } + + rules.required(rule, value, source, errors, options) + + if (!isEmptyValue(value, 'string')) { + rules.pattern(rule, value, source, errors, options) + } + } + + callback(errors) +} + +function date(rule, value, callback, source, options) { + const errors = [] + const validate = rule.required || !rule.required && source.hasOwnProperty(rule.field) + + if (validate) { + if (isEmptyValue(value) && !rule.required) { + return callback() + } + + rules.required(rule, value, source, errors, options) + + if (!isEmptyValue(value)) { + let dateObject + + if (typeof value === 'number') { + dateObject = new Date(value) + } else { + dateObject = value + } + + rules.type(rule, dateObject, source, errors, options) + + if (dateObject) { + rules.range(rule, dateObject.getTime(), source, errors, options) + } + } + } + + callback(errors) +} + +function required$1(rule, value, callback, source, options) { + const errors = [] + const type = Array.isArray(value) ? 'array' : typeof value + rules.required(rule, value, source, errors, options, type) + callback(errors) +} + +function type$1(rule, value, callback, source, options) { + const ruleType = rule.type + const errors = [] + const validate = rule.required || !rule.required && source.hasOwnProperty(rule.field) + + if (validate) { + if (isEmptyValue(value, ruleType) && !rule.required) { + return callback() + } + + rules.required(rule, value, source, errors, options, ruleType) + + if (!isEmptyValue(value, ruleType)) { + rules.type(rule, value, source, errors, options) + } + } + + callback(errors) +} + +/** + * Performs validation for any type. + * + * @param rule The validation rule. + * @param value The value of the field on the source object. + * @param callback The callback function. + * @param source The source object being validated. + * @param options The validation options. + * @param options.messages The validation messages. + */ + +function any(rule, value, callback, source, options) { + const errors = [] + const validate = rule.required || !rule.required && source.hasOwnProperty(rule.field) + + if (validate) { + if (isEmptyValue(value) && !rule.required) { + return callback() + } + + rules.required(rule, value, source, errors, options) + } + + callback(errors) +} + +const validators = { + string, + method, + number, + boolean: _boolean, + regexp, + integer, + float: floatFn, + array, + object, + enum: enumerable$1, + pattern: pattern$2, + date, + url: type$1, + hex: type$1, + email: type$1, + required: required$1, + any +} + +function newMessages() { + return { + default: 'Validation error on field %s', + required: '%s is required', + enum: '%s must be one of %s', + whitespace: '%s cannot be empty', + date: { + format: '%s date %s is invalid for format %s', + parse: '%s date could not be parsed, %s is invalid ', + invalid: '%s date %s is invalid' + }, + types: { + string: '%s is not a %s', + method: '%s is not a %s (function)', + array: '%s is not an %s', + object: '%s is not an %s', + number: '%s is not a %s', + date: '%s is not a %s', + boolean: '%s is not a %s', + integer: '%s is not an %s', + float: '%s is not a %s', + regexp: '%s is not a valid %s', + email: '%s is not a valid %s', + url: '%s is not a valid %s', + hex: '%s is not a valid %s' + }, + string: { + len: '%s must be exactly %s characters', + min: '%s must be at least %s characters', + max: '%s cannot be longer than %s characters', + range: '%s must be between %s and %s characters' + }, + number: { + len: '%s must equal %s', + min: '%s cannot be less than %s', + max: '%s cannot be greater than %s', + range: '%s must be between %s and %s' + }, + array: { + len: '%s must be exactly %s in length', + min: '%s cannot be less than %s in length', + max: '%s cannot be greater than %s in length', + range: '%s must be between %s and %s in length' + }, + pattern: { + mismatch: '%s value %s does not match pattern %s' + }, + clone: function clone() { + const cloned = JSON.parse(JSON.stringify(this)) + cloned.clone = this.clone + return cloned + } + } +} +const messages = newMessages() + +/** + * Encapsulates a validation schema. + * + * @param descriptor An object declaring validation rules + * for this schema. + */ + +function Schema(descriptor) { + this.rules = null + this._messages = messages + this.define(descriptor) +} + +Schema.prototype = { + messages: function messages(_messages) { + if (_messages) { + this._messages = deepMerge(newMessages(), _messages) + } + + return this._messages + }, + define: function define(rules) { + if (!rules) { + throw new Error('Cannot configure a schema with no rules') + } + + if (typeof rules !== 'object' || Array.isArray(rules)) { + throw new Error('Rules must be an object') + } + + this.rules = {} + let z + let item + + for (z in rules) { + if (rules.hasOwnProperty(z)) { + item = rules[z] + this.rules[z] = Array.isArray(item) ? item : [item] + } + } + }, + validate: function validate(source_, o, oc) { + const _this = this + + if (o === void 0) { + o = {} + } + + if (oc === void 0) { + oc = function oc() {} + } + + let source = source_ + let options = o + let callback = oc + + if (typeof options === 'function') { + callback = options + options = {} + } + + if (!this.rules || Object.keys(this.rules).length === 0) { + if (callback) { + callback() + } + + return Promise.resolve() + } + + function complete(results) { + let i + let errors = [] + let fields = {} + + function add(e) { + if (Array.isArray(e)) { + let _errors + + errors = (_errors = errors).concat.apply(_errors, e) + } else { + errors.push(e) + } + } + + for (i = 0; i < results.length; i++) { + add(results[i]) + } + + if (!errors.length) { + errors = null + fields = null + } else { + fields = convertFieldsError(errors) + } + + callback(errors, fields) + } + + if (options.messages) { + let messages$1 = this.messages() + + if (messages$1 === messages) { + messages$1 = newMessages() + } + + deepMerge(messages$1, options.messages) + options.messages = messages$1 + } else { + options.messages = this.messages() + } + + let arr + let value + const series = {} + const keys = options.keys || Object.keys(this.rules) + keys.forEach((z) => { + arr = _this.rules[z] + value = source[z] + arr.forEach((r) => { + let rule = r + + if (typeof rule.transform === 'function') { + if (source === source_) { + source = { ...source } + } + + value = source[z] = rule.transform(value) + } + + if (typeof rule === 'function') { + rule = { + validator: rule + } + } else { + rule = { ...rule } + } + + rule.validator = _this.getValidationMethod(rule) + rule.field = z + rule.fullField = rule.fullField || z + rule.type = _this.getType(rule) + + if (!rule.validator) { + return + } + + series[z] = series[z] || [] + series[z].push({ + rule, + value, + source, + field: z + }) + }) + }) + const errorFields = {} + return asyncMap(series, options, (data, doIt) => { + const { rule } = data + let deep = (rule.type === 'object' || rule.type === 'array') && (typeof rule.fields === 'object' || typeof rule.defaultField + === 'object') + deep = deep && (rule.required || !rule.required && data.value) + rule.field = data.field + + function addFullfield(key, schema) { + return { ...schema, fullField: `${rule.fullField}.${key}` } + } + + function cb(e) { + if (e === void 0) { + e = [] + } + + let errors = e + + if (!Array.isArray(errors)) { + errors = [errors] + } + + if (!options.suppressWarning && errors.length) { + Schema.warning('async-validator:', errors) + } + + if (errors.length && rule.message) { + errors = [].concat(rule.message) + } + + errors = errors.map(complementError(rule)) + + if (options.first && errors.length) { + errorFields[rule.field] = 1 + return doIt(errors) + } + + if (!deep) { + doIt(errors) + } else { + // if rule is required but the target object + // does not exist fail at the rule level and don't + // go deeper + if (rule.required && !data.value) { + if (rule.message) { + errors = [].concat(rule.message).map(complementError(rule)) + } else if (options.error) { + errors = [options.error(rule, format(options.messages.required, rule.field))] + } else { + errors = [] + } + + return doIt(errors) + } + + let fieldsSchema = {} + + if (rule.defaultField) { + for (const k in data.value) { + if (data.value.hasOwnProperty(k)) { + fieldsSchema[k] = rule.defaultField + } + } + } + + fieldsSchema = { ...fieldsSchema, ...data.rule.fields } + + for (const f in fieldsSchema) { + if (fieldsSchema.hasOwnProperty(f)) { + const fieldSchema = Array.isArray(fieldsSchema[f]) ? fieldsSchema[f] : [fieldsSchema[f]] + fieldsSchema[f] = fieldSchema.map(addFullfield.bind(null, f)) + } + } + + const schema = new Schema(fieldsSchema) + schema.messages(options.messages) + + if (data.rule.options) { + data.rule.options.messages = options.messages + data.rule.options.error = options.error + } + + schema.validate(data.value, data.rule.options || options, (errs) => { + const finalErrors = [] + + if (errors && errors.length) { + finalErrors.push.apply(finalErrors, errors) + } + + if (errs && errs.length) { + finalErrors.push.apply(finalErrors, errs) + } + + doIt(finalErrors.length ? finalErrors : null) + }) + } + } + + let res + + if (rule.asyncValidator) { + res = rule.asyncValidator(rule, data.value, cb, data.source, options) + } else if (rule.validator) { + res = rule.validator(rule, data.value, cb, data.source, options) + + if (res === true) { + cb() + } else if (res === false) { + cb(rule.message || `${rule.field} fails`) + } else if (res instanceof Array) { + cb(res) + } else if (res instanceof Error) { + cb(res.message) + } + } + + if (res && res.then) { + res.then(() => cb(), (e) => cb(e)) + } + }, (results) => { + complete(results) + }) + }, + getType: function getType(rule) { + if (rule.type === undefined && rule.pattern instanceof RegExp) { + rule.type = 'pattern' + } + + if (typeof rule.validator !== 'function' && rule.type && !validators.hasOwnProperty(rule.type)) { + throw new Error(format('Unknown rule type %s', rule.type)) + } + + return rule.type || 'string' + }, + getValidationMethod: function getValidationMethod(rule) { + if (typeof rule.validator === 'function') { + return rule.validator + } + + const keys = Object.keys(rule) + const messageIndex = keys.indexOf('message') + + if (messageIndex !== -1) { + keys.splice(messageIndex, 1) + } + + if (keys.length === 1 && keys[0] === 'required') { + return validators.required + } + + return validators[this.getType(rule)] || false + } +} + +Schema.register = function register(type, validator) { + if (typeof validator !== 'function') { + throw new Error('Cannot register a validator by type, validator is not a function') + } + + validators[type] = validator +} + +Schema.warning = warning +Schema.messages = messages + +export default Schema +// # sourceMappingURL=index.js.map diff --git a/components/uview-ui/libs/util/calendar.js b/components/uview-ui/libs/util/calendar.js new file mode 100644 index 0000000..e006dea --- /dev/null +++ b/components/uview-ui/libs/util/calendar.js @@ -0,0 +1,546 @@ +/** +* @1900-2100区间内的公历、农历互转 +* @charset UTF-8 +* @github https://github.com/jjonline/calendar.js +* @Author Jea杨(JJonline@JJonline.Cn) +* @Time 2014-7-21 +* @Time 2016-8-13 Fixed 2033hex、Attribution Annals +* @Time 2016-9-25 Fixed lunar LeapMonth Param Bug +* @Time 2017-7-24 Fixed use getTerm Func Param Error.use solar year,NOT lunar year +* @Version 1.0.3 +* @公历转农历:calendar.solar2lunar(1987,11,01); //[you can ignore params of prefix 0] +* @农历转公历:calendar.lunar2solar(1987,09,10); //[you can ignore params of prefix 0] +*/ +/* eslint-disable */ +var calendar = { + + /** + * 农历1900-2100的润大小信息表 + * @Array Of Property + * @return Hex + */ + lunarInfo: [0x04bd8, 0x04ae0, 0x0a570, 0x054d5, 0x0d260, 0x0d950, 0x16554, 0x056a0, 0x09ad0, 0x055d2, // 1900-1909 + 0x04ae0, 0x0a5b6, 0x0a4d0, 0x0d250, 0x1d255, 0x0b540, 0x0d6a0, 0x0ada2, 0x095b0, 0x14977, // 1910-1919 + 0x04970, 0x0a4b0, 0x0b4b5, 0x06a50, 0x06d40, 0x1ab54, 0x02b60, 0x09570, 0x052f2, 0x04970, // 1920-1929 + 0x06566, 0x0d4a0, 0x0ea50, 0x06e95, 0x05ad0, 0x02b60, 0x186e3, 0x092e0, 0x1c8d7, 0x0c950, // 1930-1939 + 0x0d4a0, 0x1d8a6, 0x0b550, 0x056a0, 0x1a5b4, 0x025d0, 0x092d0, 0x0d2b2, 0x0a950, 0x0b557, // 1940-1949 + 0x06ca0, 0x0b550, 0x15355, 0x04da0, 0x0a5b0, 0x14573, 0x052b0, 0x0a9a8, 0x0e950, 0x06aa0, // 1950-1959 + 0x0aea6, 0x0ab50, 0x04b60, 0x0aae4, 0x0a570, 0x05260, 0x0f263, 0x0d950, 0x05b57, 0x056a0, // 1960-1969 + 0x096d0, 0x04dd5, 0x04ad0, 0x0a4d0, 0x0d4d4, 0x0d250, 0x0d558, 0x0b540, 0x0b6a0, 0x195a6, // 1970-1979 + 0x095b0, 0x049b0, 0x0a974, 0x0a4b0, 0x0b27a, 0x06a50, 0x06d40, 0x0af46, 0x0ab60, 0x09570, // 1980-1989 + 0x04af5, 0x04970, 0x064b0, 0x074a3, 0x0ea50, 0x06b58, 0x05ac0, 0x0ab60, 0x096d5, 0x092e0, // 1990-1999 + 0x0c960, 0x0d954, 0x0d4a0, 0x0da50, 0x07552, 0x056a0, 0x0abb7, 0x025d0, 0x092d0, 0x0cab5, // 2000-2009 + 0x0a950, 0x0b4a0, 0x0baa4, 0x0ad50, 0x055d9, 0x04ba0, 0x0a5b0, 0x15176, 0x052b0, 0x0a930, // 2010-2019 + 0x07954, 0x06aa0, 0x0ad50, 0x05b52, 0x04b60, 0x0a6e6, 0x0a4e0, 0x0d260, 0x0ea65, 0x0d530, // 2020-2029 + 0x05aa0, 0x076a3, 0x096d0, 0x04afb, 0x04ad0, 0x0a4d0, 0x1d0b6, 0x0d250, 0x0d520, 0x0dd45, // 2030-2039 + 0x0b5a0, 0x056d0, 0x055b2, 0x049b0, 0x0a577, 0x0a4b0, 0x0aa50, 0x1b255, 0x06d20, 0x0ada0, // 2040-2049 + /** Add By JJonline@JJonline.Cn**/ + 0x14b63, 0x09370, 0x049f8, 0x04970, 0x064b0, 0x168a6, 0x0ea50, 0x06b20, 0x1a6c4, 0x0aae0, // 2050-2059 + 0x0a2e0, 0x0d2e3, 0x0c960, 0x0d557, 0x0d4a0, 0x0da50, 0x05d55, 0x056a0, 0x0a6d0, 0x055d4, // 2060-2069 + 0x052d0, 0x0a9b8, 0x0a950, 0x0b4a0, 0x0b6a6, 0x0ad50, 0x055a0, 0x0aba4, 0x0a5b0, 0x052b0, // 2070-2079 + 0x0b273, 0x06930, 0x07337, 0x06aa0, 0x0ad50, 0x14b55, 0x04b60, 0x0a570, 0x054e4, 0x0d160, // 2080-2089 + 0x0e968, 0x0d520, 0x0daa0, 0x16aa6, 0x056d0, 0x04ae0, 0x0a9d4, 0x0a2d0, 0x0d150, 0x0f252, // 2090-2099 + 0x0d520], // 2100 + + /** + * 公历每个月份的天数普通表 + * @Array Of Property + * @return Number + */ + solarMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], + + /** + * 天干地支之天干速查表 + * @Array Of Property trans["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"] + * @return Cn string + */ + Gan: ['\u7532', '\u4e59', '\u4e19', '\u4e01', '\u620a', '\u5df1', '\u5e9a', '\u8f9b', '\u58ec', '\u7678'], + + /** + * 天干地支之地支速查表 + * @Array Of Property + * @trans["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"] + * @return Cn string + */ + Zhi: ['\u5b50', '\u4e11', '\u5bc5', '\u536f', '\u8fb0', '\u5df3', '\u5348', '\u672a', '\u7533', '\u9149', '\u620c', '\u4ea5'], + + /** + * 天干地支之地支速查表<=>生肖 + * @Array Of Property + * @trans["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"] + * @return Cn string + */ + Animals: ['\u9f20', '\u725b', '\u864e', '\u5154', '\u9f99', '\u86c7', '\u9a6c', '\u7f8a', '\u7334', '\u9e21', '\u72d7', '\u732a'], + + /** + * 24节气速查表 + * @Array Of Property + * @trans["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"] + * @return Cn string + */ + solarTerm: ['\u5c0f\u5bd2', '\u5927\u5bd2', '\u7acb\u6625', '\u96e8\u6c34', '\u60ca\u86f0', '\u6625\u5206', '\u6e05\u660e', '\u8c37\u96e8', '\u7acb\u590f', '\u5c0f\u6ee1', '\u8292\u79cd', '\u590f\u81f3', '\u5c0f\u6691', '\u5927\u6691', '\u7acb\u79cb', '\u5904\u6691', '\u767d\u9732', '\u79cb\u5206', '\u5bd2\u9732', '\u971c\u964d', '\u7acb\u51ac', '\u5c0f\u96ea', '\u5927\u96ea', '\u51ac\u81f3'], + + /** + * 1900-2100各年的24节气日期速查表 + * @Array Of Property + * @return 0x string For splice + */ + sTermInfo: ['9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', + '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', + '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', + 'b027097bd097c36b0b6fc9274c91aa', '9778397bd19801ec9210c965cc920e', '97b6b97bd19801ec95f8c965cc920f', + '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd197c36c9210c9274c91aa', + '97b6b97bd19801ec95f8c965cc920e', '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', + '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec95f8c965cc920e', '97bcf97c3598082c95f8e1cfcc920f', + '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', + '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', + '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', + '97bcf97c359801ec95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd097bd07f595b0b6fc920fb0722', + '9778397bd097c36b0b6fc9210c8dc2', '9778397bd19801ec9210c9274c920e', '97b6b97bd19801ec95f8c965cc920f', + '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e', + '97b6b97bd19801ec95f8c965cc920f', '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', + '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bd07f1487f595b0b0bc920fb0722', + '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', + '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f531b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', + '97bcf7f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', + '9778397bd097c36b0b6fc9210c91aa', '97b6b97bd197c36c9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e', + '97b6b7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', + '9778397bd097c36b0b70c9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b7f0e47f531b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', + '9778397bd097c36b0b6fc9210c91aa', '97b6b7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '977837f0e37f149b0723b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c35b0b6fc9210c8dc2', + '977837f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc9210c8dc2', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '977837f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', + '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', + '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', + '977837f0e37f14998082b0723b06bd', '7f07e7f0e37f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f595b0b0bb0b6fb0722', '7f0e37f0e37f14898082b0723b02d5', + '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f531b0b0bb0b6fb0722', + '7f0e37f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e37f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', + '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f149b0723b0787b0721', + '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0723b06bd', + '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e37f0e366aa89801eb072297c35', + '7ec967f0e37f14998082b0723b06bd', '7f07e7f0e37f14998083b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', + '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14898082b0723b02d5', '7f07e7f0e37f14998082b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66aa89801e9808297c35', '665f67f0e37f14898082b0723b02d5', + '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66a449801e9808297c35', + '665f67f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e36665b66a449801e9808297c35', '665f67f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721', '7f0e26665b66a449801e9808297c35', '665f67f0e37f1489801eb072297c35', + '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722'], + + /** + * 数字转中文速查表 + * @Array Of Property + * @trans ['日','一','二','三','四','五','六','七','八','九','十'] + * @return Cn string + */ + nStr1: ['\u65e5', '\u4e00', '\u4e8c', '\u4e09', '\u56db', '\u4e94', '\u516d', '\u4e03', '\u516b', '\u4e5d', '\u5341'], + + /** + * 日期转农历称呼速查表 + * @Array Of Property + * @trans ['初','十','廿','卅'] + * @return Cn string + */ + nStr2: ['\u521d', '\u5341', '\u5eff', '\u5345'], + + /** + * 月份转农历称呼速查表 + * @Array Of Property + * @trans ['正','一','二','三','四','五','六','七','八','九','十','冬','腊'] + * @return Cn string + */ + nStr3: ['\u6b63', '\u4e8c', '\u4e09', '\u56db', '\u4e94', '\u516d', '\u4e03', '\u516b', '\u4e5d', '\u5341', '\u51ac', '\u814a'], + + /** + * 返回农历y年一整年的总天数 + * @param lunar Year + * @return Number + * @eg:var count = calendar.lYearDays(1987) ;//count=387 + */ + lYearDays: function (y) { + var i; var sum = 348 + for (i = 0x8000; i > 0x8; i >>= 1) { sum += (this.lunarInfo[y - 1900] & i) ? 1 : 0 } + return (sum + this.leapDays(y)) + }, + + /** + * 返回农历y年闰月是哪个月;若y年没有闰月 则返回0 + * @param lunar Year + * @return Number (0-12) + * @eg:var leapMonth = calendar.leapMonth(1987) ;//leapMonth=6 + */ + leapMonth: function (y) { // 闰字编码 \u95f0 + return (this.lunarInfo[y - 1900] & 0xf) + }, + + /** + * 返回农历y年闰月的天数 若该年没有闰月则返回0 + * @param lunar Year + * @return Number (0、29、30) + * @eg:var leapMonthDay = calendar.leapDays(1987) ;//leapMonthDay=29 + */ + leapDays: function (y) { + if (this.leapMonth(y)) { + return ((this.lunarInfo[y - 1900] & 0x10000) ? 30 : 29) + } + return (0) + }, + + /** + * 返回农历y年m月(非闰月)的总天数,计算m为闰月时的天数请使用leapDays方法 + * @param lunar Year + * @return Number (-1、29、30) + * @eg:var MonthDay = calendar.monthDays(1987,9) ;//MonthDay=29 + */ + monthDays: function (y, m) { + if (m > 12 || m < 1) { return -1 }// 月份参数从1至12,参数错误返回-1 + return ((this.lunarInfo[y - 1900] & (0x10000 >> m)) ? 30 : 29) + }, + + /** + * 返回公历(!)y年m月的天数 + * @param solar Year + * @return Number (-1、28、29、30、31) + * @eg:var solarMonthDay = calendar.leapDays(1987) ;//solarMonthDay=30 + */ + solarDays: function (y, m) { + if (m > 12 || m < 1) { return -1 } // 若参数错误 返回-1 + var ms = m - 1 + if (ms == 1) { // 2月份的闰平规律测算后确认返回28或29 + return (((y % 4 == 0) && (y % 100 != 0) || (y % 400 == 0)) ? 29 : 28) + } else { + return (this.solarMonth[ms]) + } + }, + + /** + * 农历年份转换为干支纪年 + * @param lYear 农历年的年份数 + * @return Cn string + */ + toGanZhiYear: function (lYear) { + var ganKey = (lYear - 3) % 10 + var zhiKey = (lYear - 3) % 12 + if (ganKey == 0) ganKey = 10// 如果余数为0则为最后一个天干 + if (zhiKey == 0) zhiKey = 12// 如果余数为0则为最后一个地支 + return this.Gan[ganKey - 1] + this.Zhi[zhiKey - 1] + }, + + /** + * 公历月、日判断所属星座 + * @param cMonth [description] + * @param cDay [description] + * @return Cn string + */ + toAstro: function (cMonth, cDay) { + var s = '\u9b54\u7faf\u6c34\u74f6\u53cc\u9c7c\u767d\u7f8a\u91d1\u725b\u53cc\u5b50\u5de8\u87f9\u72ee\u5b50\u5904\u5973\u5929\u79e4\u5929\u874e\u5c04\u624b\u9b54\u7faf' + var arr = [20, 19, 21, 21, 21, 22, 23, 23, 23, 23, 22, 22] + return s.substr(cMonth * 2 - (cDay < arr[cMonth - 1] ? 2 : 0), 2) + '\u5ea7'// 座 + }, + + /** + * 传入offset偏移量返回干支 + * @param offset 相对甲子的偏移量 + * @return Cn string + */ + toGanZhi: function (offset) { + return this.Gan[offset % 10] + this.Zhi[offset % 12] + }, + + /** + * 传入公历(!)y年获得该年第n个节气的公历日期 + * @param y公历年(1900-2100);n二十四节气中的第几个节气(1~24);从n=1(小寒)算起 + * @return day Number + * @eg:var _24 = calendar.getTerm(1987,3) ;//_24=4;意即1987年2月4日立春 + */ + getTerm: function (y, n) { + if (y < 1900 || y > 2100) { return -1 } + if (n < 1 || n > 24) { return -1 } + var _table = this.sTermInfo[y - 1900] + var _info = [ + parseInt('0x' + _table.substr(0, 5)).toString(), + parseInt('0x' + _table.substr(5, 5)).toString(), + parseInt('0x' + _table.substr(10, 5)).toString(), + parseInt('0x' + _table.substr(15, 5)).toString(), + parseInt('0x' + _table.substr(20, 5)).toString(), + parseInt('0x' + _table.substr(25, 5)).toString() + ] + var _calday = [ + _info[0].substr(0, 1), + _info[0].substr(1, 2), + _info[0].substr(3, 1), + _info[0].substr(4, 2), + + _info[1].substr(0, 1), + _info[1].substr(1, 2), + _info[1].substr(3, 1), + _info[1].substr(4, 2), + + _info[2].substr(0, 1), + _info[2].substr(1, 2), + _info[2].substr(3, 1), + _info[2].substr(4, 2), + + _info[3].substr(0, 1), + _info[3].substr(1, 2), + _info[3].substr(3, 1), + _info[3].substr(4, 2), + + _info[4].substr(0, 1), + _info[4].substr(1, 2), + _info[4].substr(3, 1), + _info[4].substr(4, 2), + + _info[5].substr(0, 1), + _info[5].substr(1, 2), + _info[5].substr(3, 1), + _info[5].substr(4, 2) + ] + return parseInt(_calday[n - 1]) + }, + + /** + * 传入农历数字月份返回汉语通俗表示法 + * @param lunar month + * @return Cn string + * @eg:var cnMonth = calendar.toChinaMonth(12) ;//cnMonth='腊月' + */ + toChinaMonth: function (m) { // 月 => \u6708 + if (m > 12 || m < 1) { return -1 } // 若参数错误 返回-1 + var s = this.nStr3[m - 1] + s += '\u6708'// 加上月字 + return s + }, + + /** + * 传入农历日期数字返回汉字表示法 + * @param lunar day + * @return Cn string + * @eg:var cnDay = calendar.toChinaDay(21) ;//cnMonth='廿一' + */ + toChinaDay: function (d) { // 日 => \u65e5 + var s + switch (d) { + case 10: + s = '\u521d\u5341'; break + case 20: + s = '\u4e8c\u5341'; break + break + case 30: + s = '\u4e09\u5341'; break + break + default: + s = this.nStr2[Math.floor(d / 10)] + s += this.nStr1[d % 10] + } + return (s) + }, + + /** + * 年份转生肖[!仅能大致转换] => 精确划分生肖分界线是“立春” + * @param y year + * @return Cn string + * @eg:var animal = calendar.getAnimal(1987) ;//animal='兔' + */ + getAnimal: function (y) { + return this.Animals[(y - 4) % 12] + }, + + /** + * 传入阳历年月日获得详细的公历、农历object信息 <=>JSON + * @param y solar year + * @param m solar month + * @param d solar day + * @return JSON object + * @eg:console.log(calendar.solar2lunar(1987,11,01)); + */ + solar2lunar: function (y, m, d) { // 参数区间1900.1.31~2100.12.31 + // 年份限定、上限 + if (y < 1900 || y > 2100) { + return -1// undefined转换为数字变为NaN + } + // 公历传参最下限 + if (y == 1900 && m == 1 && d < 31) { + return -1 + } + // 未传参 获得当天 + if (!y) { + var objDate = new Date() + } else { + var objDate = new Date(y, parseInt(m) - 1, d) + } + var i; var leap = 0; var temp = 0 + // 修正ymd参数 + var y = objDate.getFullYear() + var m = objDate.getMonth() + 1 + var d = objDate.getDate() + var offset = (Date.UTC(objDate.getFullYear(), objDate.getMonth(), objDate.getDate()) - Date.UTC(1900, 0, 31)) / 86400000 + for (i = 1900; i < 2101 && offset > 0; i++) { + temp = this.lYearDays(i) + offset -= temp + } + if (offset < 0) { + offset += temp; i-- + } + + // 是否今天 + var isTodayObj = new Date() + var isToday = false + if (isTodayObj.getFullYear() == y && isTodayObj.getMonth() + 1 == m && isTodayObj.getDate() == d) { + isToday = true + } + // 星期几 + var nWeek = objDate.getDay() + var cWeek = this.nStr1[nWeek] + // 数字表示周几顺应天朝周一开始的惯例 + if (nWeek == 0) { + nWeek = 7 + } + // 农历年 + var year = i + var leap = this.leapMonth(i) // 闰哪个月 + var isLeap = false + + // 效验闰月 + for (i = 1; i < 13 && offset > 0; i++) { + // 闰月 + if (leap > 0 && i == (leap + 1) && isLeap == false) { + --i + isLeap = true; temp = this.leapDays(year) // 计算农历闰月天数 + } else { + temp = this.monthDays(year, i)// 计算农历普通月天数 + } + // 解除闰月 + if (isLeap == true && i == (leap + 1)) { isLeap = false } + offset -= temp + } + // 闰月导致数组下标重叠取反 + if (offset == 0 && leap > 0 && i == leap + 1) { + if (isLeap) { + isLeap = false + } else { + isLeap = true; --i + } + } + if (offset < 0) { + offset += temp; --i + } + // 农历月 + var month = i + // 农历日 + var day = offset + 1 + // 天干地支处理 + var sm = m - 1 + var gzY = this.toGanZhiYear(year) + + // 当月的两个节气 + // bugfix-2017-7-24 11:03:38 use lunar Year Param `y` Not `year` + var firstNode = this.getTerm(y, (m * 2 - 1))// 返回当月「节」为几日开始 + var secondNode = this.getTerm(y, (m * 2))// 返回当月「节」为几日开始 + + // 依据12节气修正干支月 + var gzM = this.toGanZhi((y - 1900) * 12 + m + 11) + if (d >= firstNode) { + gzM = this.toGanZhi((y - 1900) * 12 + m + 12) + } + + // 传入的日期的节气与否 + var isTerm = false + var Term = null + if (firstNode == d) { + isTerm = true + Term = this.solarTerm[m * 2 - 2] + } + if (secondNode == d) { + isTerm = true + Term = this.solarTerm[m * 2 - 1] + } + // 日柱 当月一日与 1900/1/1 相差天数 + var dayCyclical = Date.UTC(y, sm, 1, 0, 0, 0, 0) / 86400000 + 25567 + 10 + var gzD = this.toGanZhi(dayCyclical + d - 1) + // 该日期所属的星座 + var astro = this.toAstro(m, d) + + return { 'lYear': year, 'lMonth': month, 'lDay': day, 'Animal': this.getAnimal(year), 'IMonthCn': (isLeap ? '\u95f0' : '') + this.toChinaMonth(month), 'IDayCn': this.toChinaDay(day), 'cYear': y, 'cMonth': m, 'cDay': d, 'gzYear': gzY, 'gzMonth': gzM, 'gzDay': gzD, 'isToday': isToday, 'isLeap': isLeap, 'nWeek': nWeek, 'ncWeek': '\u661f\u671f' + cWeek, 'isTerm': isTerm, 'Term': Term, 'astro': astro } + }, + + /** + * 传入农历年月日以及传入的月份是否闰月获得详细的公历、农历object信息 <=>JSON + * @param y lunar year + * @param m lunar month + * @param d lunar day + * @param isLeapMonth lunar month is leap or not.[如果是农历闰月第四个参数赋值true即可] + * @return JSON object + * @eg:console.log(calendar.lunar2solar(1987,9,10)); + */ + lunar2solar: function (y, m, d, isLeapMonth) { // 参数区间1900.1.31~2100.12.1 + var isLeapMonth = !!isLeapMonth + var leapOffset = 0 + var leapMonth = this.leapMonth(y) + var leapDay = this.leapDays(y) + if (isLeapMonth && (leapMonth != m)) { return -1 }// 传参要求计算该闰月公历 但该年得出的闰月与传参的月份并不同 + if (y == 2100 && m == 12 && d > 1 || y == 1900 && m == 1 && d < 31) { return -1 }// 超出了最大极限值 + var day = this.monthDays(y, m) + var _day = day + // bugFix 2016-9-25 + // if month is leap, _day use leapDays method + if (isLeapMonth) { + _day = this.leapDays(y, m) + } + if (y < 1900 || y > 2100 || d > _day) { return -1 }// 参数合法性效验 + + // 计算农历的时间差 + var offset = 0 + for (var i = 1900; i < y; i++) { + offset += this.lYearDays(i) + } + var leap = 0; var isAdd = false + for (var i = 1; i < m; i++) { + leap = this.leapMonth(y) + if (!isAdd) { // 处理闰月 + if (leap <= i && leap > 0) { + offset += this.leapDays(y); isAdd = true + } + } + offset += this.monthDays(y, i) + } + // 转换闰月农历 需补充该年闰月的前一个月的时差 + if (isLeapMonth) { offset += day } + // 1900年农历正月一日的公历时间为1900年1月30日0时0分0秒(该时间也是本农历的最开始起始点) + var stmap = Date.UTC(1900, 1, 30, 0, 0, 0) + var calObj = new Date((offset + d - 31) * 86400000 + stmap) + var cY = calObj.getUTCFullYear() + var cM = calObj.getUTCMonth() + 1 + var cD = calObj.getUTCDate() + + return this.solar2lunar(cY, cM, cD) + } +} + +export default calendar diff --git a/components/uview-ui/libs/util/city.js b/components/uview-ui/libs/util/city.js new file mode 100644 index 0000000..94169eb --- /dev/null +++ b/components/uview-ui/libs/util/city.js @@ -0,0 +1 @@ +var cityData=[[{"label":"市辖区","value":"1101"}],[{"label":"市辖区","value":"1201"}],[{"label":"石家庄市","value":"1301"},{"label":"唐山市","value":"1302"},{"label":"秦皇岛市","value":"1303"},{"label":"邯郸市","value":"1304"},{"label":"邢台市","value":"1305"},{"label":"保定市","value":"1306"},{"label":"张家口市","value":"1307"},{"label":"承德市","value":"1308"},{"label":"沧州市","value":"1309"},{"label":"廊坊市","value":"1310"},{"label":"衡水市","value":"1311"}],[{"label":"太原市","value":"1401"},{"label":"大同市","value":"1402"},{"label":"阳泉市","value":"1403"},{"label":"长治市","value":"1404"},{"label":"晋城市","value":"1405"},{"label":"朔州市","value":"1406"},{"label":"晋中市","value":"1407"},{"label":"运城市","value":"1408"},{"label":"忻州市","value":"1409"},{"label":"临汾市","value":"1410"},{"label":"吕梁市","value":"1411"}],[{"label":"呼和浩特市","value":"1501"},{"label":"包头市","value":"1502"},{"label":"乌海市","value":"1503"},{"label":"赤峰市","value":"1504"},{"label":"通辽市","value":"1505"},{"label":"鄂尔多斯市","value":"1506"},{"label":"呼伦贝尔市","value":"1507"},{"label":"巴彦淖尔市","value":"1508"},{"label":"乌兰察布市","value":"1509"},{"label":"兴安盟","value":"1522"},{"label":"锡林郭勒盟","value":"1525"},{"label":"阿拉善盟","value":"1529"}],[{"label":"沈阳市","value":"2101"},{"label":"大连市","value":"2102"},{"label":"鞍山市","value":"2103"},{"label":"抚顺市","value":"2104"},{"label":"本溪市","value":"2105"},{"label":"丹东市","value":"2106"},{"label":"锦州市","value":"2107"},{"label":"营口市","value":"2108"},{"label":"阜新市","value":"2109"},{"label":"辽阳市","value":"2110"},{"label":"盘锦市","value":"2111"},{"label":"铁岭市","value":"2112"},{"label":"朝阳市","value":"2113"},{"label":"葫芦岛市","value":"2114"}],[{"label":"长春市","value":"2201"},{"label":"吉林市","value":"2202"},{"label":"四平市","value":"2203"},{"label":"辽源市","value":"2204"},{"label":"通化市","value":"2205"},{"label":"白山市","value":"2206"},{"label":"松原市","value":"2207"},{"label":"白城市","value":"2208"},{"label":"延边朝鲜族自治州","value":"2224"}],[{"label":"哈尔滨市","value":"2301"},{"label":"齐齐哈尔市","value":"2302"},{"label":"鸡西市","value":"2303"},{"label":"鹤岗市","value":"2304"},{"label":"双鸭山市","value":"2305"},{"label":"大庆市","value":"2306"},{"label":"伊春市","value":"2307"},{"label":"佳木斯市","value":"2308"},{"label":"七台河市","value":"2309"},{"label":"牡丹江市","value":"2310"},{"label":"黑河市","value":"2311"},{"label":"绥化市","value":"2312"},{"label":"大兴安岭地区","value":"2327"}],[{"label":"市辖区","value":"3101"}],[{"label":"南京市","value":"3201"},{"label":"无锡市","value":"3202"},{"label":"徐州市","value":"3203"},{"label":"常州市","value":"3204"},{"label":"苏州市","value":"3205"},{"label":"南通市","value":"3206"},{"label":"连云港市","value":"3207"},{"label":"淮安市","value":"3208"},{"label":"盐城市","value":"3209"},{"label":"扬州市","value":"3210"},{"label":"镇江市","value":"3211"},{"label":"泰州市","value":"3212"},{"label":"宿迁市","value":"3213"}],[{"label":"杭州市","value":"3301"},{"label":"宁波市","value":"3302"},{"label":"温州市","value":"3303"},{"label":"嘉兴市","value":"3304"},{"label":"湖州市","value":"3305"},{"label":"绍兴市","value":"3306"},{"label":"金华市","value":"3307"},{"label":"衢州市","value":"3308"},{"label":"舟山市","value":"3309"},{"label":"台州市","value":"3310"},{"label":"丽水市","value":"3311"}],[{"label":"合肥市","value":"3401"},{"label":"芜湖市","value":"3402"},{"label":"蚌埠市","value":"3403"},{"label":"淮南市","value":"3404"},{"label":"马鞍山市","value":"3405"},{"label":"淮北市","value":"3406"},{"label":"铜陵市","value":"3407"},{"label":"安庆市","value":"3408"},{"label":"黄山市","value":"3410"},{"label":"滁州市","value":"3411"},{"label":"阜阳市","value":"3412"},{"label":"宿州市","value":"3413"},{"label":"六安市","value":"3415"},{"label":"亳州市","value":"3416"},{"label":"池州市","value":"3417"},{"label":"宣城市","value":"3418"}],[{"label":"福州市","value":"3501"},{"label":"厦门市","value":"3502"},{"label":"莆田市","value":"3503"},{"label":"三明市","value":"3504"},{"label":"泉州市","value":"3505"},{"label":"漳州市","value":"3506"},{"label":"南平市","value":"3507"},{"label":"龙岩市","value":"3508"},{"label":"宁德市","value":"3509"}],[{"label":"南昌市","value":"3601"},{"label":"景德镇市","value":"3602"},{"label":"萍乡市","value":"3603"},{"label":"九江市","value":"3604"},{"label":"新余市","value":"3605"},{"label":"鹰潭市","value":"3606"},{"label":"赣州市","value":"3607"},{"label":"吉安市","value":"3608"},{"label":"宜春市","value":"3609"},{"label":"抚州市","value":"3610"},{"label":"上饶市","value":"3611"}],[{"label":"济南市","value":"3701"},{"label":"青岛市","value":"3702"},{"label":"淄博市","value":"3703"},{"label":"枣庄市","value":"3704"},{"label":"东营市","value":"3705"},{"label":"烟台市","value":"3706"},{"label":"潍坊市","value":"3707"},{"label":"济宁市","value":"3708"},{"label":"泰安市","value":"3709"},{"label":"威海市","value":"3710"},{"label":"日照市","value":"3711"},{"label":"莱芜市","value":"3712"},{"label":"临沂市","value":"3713"},{"label":"德州市","value":"3714"},{"label":"聊城市","value":"3715"},{"label":"滨州市","value":"3716"},{"label":"菏泽市","value":"3717"}],[{"label":"郑州市","value":"4101"},{"label":"开封市","value":"4102"},{"label":"洛阳市","value":"4103"},{"label":"平顶山市","value":"4104"},{"label":"安阳市","value":"4105"},{"label":"鹤壁市","value":"4106"},{"label":"新乡市","value":"4107"},{"label":"焦作市","value":"4108"},{"label":"濮阳市","value":"4109"},{"label":"许昌市","value":"4110"},{"label":"漯河市","value":"4111"},{"label":"三门峡市","value":"4112"},{"label":"南阳市","value":"4113"},{"label":"商丘市","value":"4114"},{"label":"信阳市","value":"4115"},{"label":"周口市","value":"4116"},{"label":"驻马店市","value":"4117"},{"label":"省直辖县级行政区划","value":"4190"}],[{"label":"武汉市","value":"4201"},{"label":"黄石市","value":"4202"},{"label":"十堰市","value":"4203"},{"label":"宜昌市","value":"4205"},{"label":"襄阳市","value":"4206"},{"label":"鄂州市","value":"4207"},{"label":"荆门市","value":"4208"},{"label":"孝感市","value":"4209"},{"label":"荆州市","value":"4210"},{"label":"黄冈市","value":"4211"},{"label":"咸宁市","value":"4212"},{"label":"随州市","value":"4213"},{"label":"恩施土家族苗族自治州","value":"4228"},{"label":"省直辖县级行政区划","value":"4290"}],[{"label":"长沙市","value":"4301"},{"label":"株洲市","value":"4302"},{"label":"湘潭市","value":"4303"},{"label":"衡阳市","value":"4304"},{"label":"邵阳市","value":"4305"},{"label":"岳阳市","value":"4306"},{"label":"常德市","value":"4307"},{"label":"张家界市","value":"4308"},{"label":"益阳市","value":"4309"},{"label":"郴州市","value":"4310"},{"label":"永州市","value":"4311"},{"label":"怀化市","value":"4312"},{"label":"娄底市","value":"4313"},{"label":"湘西土家族苗族自治州","value":"4331"}],[{"label":"广州市","value":"4401"},{"label":"韶关市","value":"4402"},{"label":"深圳市","value":"4403"},{"label":"珠海市","value":"4404"},{"label":"汕头市","value":"4405"},{"label":"佛山市","value":"4406"},{"label":"江门市","value":"4407"},{"label":"湛江市","value":"4408"},{"label":"茂名市","value":"4409"},{"label":"肇庆市","value":"4412"},{"label":"惠州市","value":"4413"},{"label":"梅州市","value":"4414"},{"label":"汕尾市","value":"4415"},{"label":"河源市","value":"4416"},{"label":"阳江市","value":"4417"},{"label":"清远市","value":"4418"},{"label":"东莞市","value":"4419"},{"label":"中山市","value":"4420"},{"label":"潮州市","value":"4451"},{"label":"揭阳市","value":"4452"},{"label":"云浮市","value":"4453"}],[{"label":"南宁市","value":"4501"},{"label":"柳州市","value":"4502"},{"label":"桂林市","value":"4503"},{"label":"梧州市","value":"4504"},{"label":"北海市","value":"4505"},{"label":"防城港市","value":"4506"},{"label":"钦州市","value":"4507"},{"label":"贵港市","value":"4508"},{"label":"玉林市","value":"4509"},{"label":"百色市","value":"4510"},{"label":"贺州市","value":"4511"},{"label":"河池市","value":"4512"},{"label":"来宾市","value":"4513"},{"label":"崇左市","value":"4514"}],[{"label":"海口市","value":"4601"},{"label":"三亚市","value":"4602"},{"label":"三沙市","value":"4603"},{"label":"儋州市","value":"4604"},{"label":"省直辖县级行政区划","value":"4690"}],[{"label":"市辖区","value":"5001"},{"label":"县","value":"5002"}],[{"label":"成都市","value":"5101"},{"label":"自贡市","value":"5103"},{"label":"攀枝花市","value":"5104"},{"label":"泸州市","value":"5105"},{"label":"德阳市","value":"5106"},{"label":"绵阳市","value":"5107"},{"label":"广元市","value":"5108"},{"label":"遂宁市","value":"5109"},{"label":"内江市","value":"5110"},{"label":"乐山市","value":"5111"},{"label":"南充市","value":"5113"},{"label":"眉山市","value":"5114"},{"label":"宜宾市","value":"5115"},{"label":"广安市","value":"5116"},{"label":"达州市","value":"5117"},{"label":"雅安市","value":"5118"},{"label":"巴中市","value":"5119"},{"label":"资阳市","value":"5120"},{"label":"阿坝藏族羌族自治州","value":"5132"},{"label":"甘孜藏族自治州","value":"5133"},{"label":"凉山彝族自治州","value":"5134"}],[{"label":"贵阳市","value":"5201"},{"label":"六盘水市","value":"5202"},{"label":"遵义市","value":"5203"},{"label":"安顺市","value":"5204"},{"label":"毕节市","value":"5205"},{"label":"铜仁市","value":"5206"},{"label":"黔西南布依族苗族自治州","value":"5223"},{"label":"黔东南苗族侗族自治州","value":"5226"},{"label":"黔南布依族苗族自治州","value":"5227"}],[{"label":"昆明市","value":"5301"},{"label":"曲靖市","value":"5303"},{"label":"玉溪市","value":"5304"},{"label":"保山市","value":"5305"},{"label":"昭通市","value":"5306"},{"label":"丽江市","value":"5307"},{"label":"普洱市","value":"5308"},{"label":"临沧市","value":"5309"},{"label":"楚雄彝族自治州","value":"5323"},{"label":"红河哈尼族彝族自治州","value":"5325"},{"label":"文山壮族苗族自治州","value":"5326"},{"label":"西双版纳傣族自治州","value":"5328"},{"label":"大理白族自治州","value":"5329"},{"label":"德宏傣族景颇族自治州","value":"5331"},{"label":"怒江傈僳族自治州","value":"5333"},{"label":"迪庆藏族自治州","value":"5334"}],[{"label":"拉萨市","value":"5401"},{"label":"日喀则市","value":"5402"},{"label":"昌都市","value":"5403"},{"label":"林芝市","value":"5404"},{"label":"山南市","value":"5405"},{"label":"那曲地区","value":"5424"},{"label":"阿里地区","value":"5425"}],[{"label":"西安市","value":"6101"},{"label":"铜川市","value":"6102"},{"label":"宝鸡市","value":"6103"},{"label":"咸阳市","value":"6104"},{"label":"渭南市","value":"6105"},{"label":"延安市","value":"6106"},{"label":"汉中市","value":"6107"},{"label":"榆林市","value":"6108"},{"label":"安康市","value":"6109"},{"label":"商洛市","value":"6110"}],[{"label":"兰州市","value":"6201"},{"label":"嘉峪关市","value":"6202"},{"label":"金昌市","value":"6203"},{"label":"白银市","value":"6204"},{"label":"天水市","value":"6205"},{"label":"武威市","value":"6206"},{"label":"张掖市","value":"6207"},{"label":"平凉市","value":"6208"},{"label":"酒泉市","value":"6209"},{"label":"庆阳市","value":"6210"},{"label":"定西市","value":"6211"},{"label":"陇南市","value":"6212"},{"label":"临夏回族自治州","value":"6229"},{"label":"甘南藏族自治州","value":"6230"}],[{"label":"西宁市","value":"6301"},{"label":"海东市","value":"6302"},{"label":"海北藏族自治州","value":"6322"},{"label":"黄南藏族自治州","value":"6323"},{"label":"海南藏族自治州","value":"6325"},{"label":"果洛藏族自治州","value":"6326"},{"label":"玉树藏族自治州","value":"6327"},{"label":"海西蒙古族藏族自治州","value":"6328"}],[{"label":"银川市","value":"6401"},{"label":"石嘴山市","value":"6402"},{"label":"吴忠市","value":"6403"},{"label":"固原市","value":"6404"},{"label":"中卫市","value":"6405"}],[{"label":"乌鲁木齐市","value":"6501"},{"label":"克拉玛依市","value":"6502"},{"label":"吐鲁番市","value":"6504"},{"label":"哈密市","value":"6505"},{"label":"昌吉回族自治州","value":"6523"},{"label":"博尔塔拉蒙古自治州","value":"6527"},{"label":"巴音郭楞蒙古自治州","value":"6528"},{"label":"阿克苏地区","value":"6529"},{"label":"克孜勒苏柯尔克孜自治州","value":"6530"},{"label":"喀什地区","value":"6531"},{"label":"和田地区","value":"6532"},{"label":"伊犁哈萨克自治州","value":"6540"},{"label":"塔城地区","value":"6542"},{"label":"阿勒泰地区","value":"6543"},{"label":"自治区直辖县级行政区划","value":"6590"}],[{"label":"台北","value":"6601"},{"label":"高雄","value":"6602"},{"label":"基隆","value":"6603"},{"label":"台中","value":"6604"},{"label":"台南","value":"6605"},{"label":"新竹","value":"6606"},{"label":"嘉义","value":"6607"},{"label":"宜兰","value":"6608"},{"label":"桃园","value":"6609"},{"label":"苗栗","value":"6610"},{"label":"彰化","value":"6611"},{"label":"南投","value":"6612"},{"label":"云林","value":"6613"},{"label":"屏东","value":"6614"},{"label":"台东","value":"6615"},{"label":"花莲","value":"6616"},{"label":"澎湖","value":"6617"}],[{"label":"香港岛","value":"6701"},{"label":"九龙","value":"6702"},{"label":"新界","value":"6703"}],[{"label":"澳门半岛","value":"6801"},{"label":"氹仔岛","value":"6802"},{"label":"路环岛","value":"6803"},{"label":"路氹城","value":"6804"}]];export default cityData; \ No newline at end of file diff --git a/components/uview-ui/libs/util/dayjs.js b/components/uview-ui/libs/util/dayjs.js new file mode 100644 index 0000000..c4efea0 --- /dev/null +++ b/components/uview-ui/libs/util/dayjs.js @@ -0,0 +1,308 @@ +!(function (t, e) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = e() : typeof define === 'function' + && define.amd ? define(e) : t.dayjs = e() +}(this, () => { + 'use strict' + + const t = 'millisecond' + const e = 'second' + const n = 'minute' + const r = 'hour' + const i = 'day' + const s = 'week' + const u = 'month' + const a = 'quarter' + const o = 'year' + const f = 'date' + const h = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?.?(\d+)?$/ + const c = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g + const d = { + name: 'en', + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_') + } + const $ = function (t, e, n) { + const r = String(t) + return !r || r.length >= e ? t : `${Array(e + 1 - r.length).join(n)}${t}` + } + const l = { + s: $, + z(t) { + const e = -t.utcOffset() + const n = Math.abs(e) + const r = Math.floor(n / 60) + const i = n % 60 + return `${(e <= 0 ? '+' : '-') + $(r, 2, '0')}:${$(i, 2, '0')}` + }, + m: function t(e, n) { + if (e.date() < n.date()) return -t(n, e) + const r = 12 * (n.year() - e.year()) + (n.month() - e.month()) + const i = e.clone().add(r, u) + const s = n - i < 0 + const a = e.clone().add(r + (s ? -1 : 1), u) + return +(-(r + (n - i) / (s ? i - a : a - i)) || 0) + }, + a(t) { + return t < 0 ? Math.ceil(t) || 0 : Math.floor(t) + }, + p(h) { + return { + M: u, + y: o, + w: s, + d: i, + D: f, + h: r, + m: n, + s: e, + ms: t, + Q: a + }[h] || String(h || '').toLowerCase().replace(/s$/, '') + }, + u(t) { + return void 0 === t + } + } + let y = 'en' + const M = {} + M[y] = d + const m = function (t) { + return t instanceof S + } + const D = function (t, e, n) { + let r + if (!t) return y + if (typeof t === 'string') M[t] && (r = t), e && (M[t] = e, r = t) + else { + const i = t.name + M[i] = t, r = i + } + return !n && r && (y = r), r || !n && y + } + const v = function (t, e) { + if (m(t)) return t.clone() + const n = typeof e === 'object' ? e : {} + return n.date = t, n.args = arguments, new S(n) + } + const g = l + g.l = D, g.i = m, g.w = function (t, e) { + return v(t, { + locale: e.$L, + utc: e.$u, + x: e.$x, + $offset: e.$offset + }) + } + var S = (function () { + function d(t) { + this.$L = D(t.locale, null, !0), this.parse(t) + } + const $ = d.prototype + return $.parse = function (t) { + this.$d = (function (t) { + const e = t.date + const n = t.utc + if (e === null) return new Date(NaN) + if (g.u(e)) return new Date() + if (e instanceof Date) return new Date(e) + if (typeof e === 'string' && !/Z$/i.test(e)) { + const r = e.match(h) + if (r) { + const i = r[2] - 1 || 0 + const s = (r[7] || '0').substring(0, 3) + return n ? new Date(Date.UTC(r[1], i, r[3] || 1, r[4] || 0, r[5] || 0, r[6] || 0, s)) : new Date(r[1], i, r[3] + || 1, r[4] || 0, r[5] || 0, r[6] || 0, s) + } + } + return new Date(e) + }(t)), this.$x = t.x || {}, this.init() + }, $.init = function () { + const t = this.$d + this.$y = t.getFullYear(), this.$M = t.getMonth(), this.$D = t.getDate(), this.$W = t.getDay(), this.$H = t.getHours(), + this.$m = t.getMinutes(), this.$s = t.getSeconds(), this.$ms = t.getMilliseconds() + }, $.$utils = function () { + return g + }, $.isValid = function () { + return !(this.$d.toString() === 'Invalid Date') + }, $.isSame = function (t, e) { + const n = v(t) + return this.startOf(e) <= n && n <= this.endOf(e) + }, $.isAfter = function (t, e) { + return v(t) < this.startOf(e) + }, $.isBefore = function (t, e) { + return this.endOf(e) < v(t) + }, $.$g = function (t, e, n) { + return g.u(t) ? this[e] : this.set(n, t) + }, $.unix = function () { + return Math.floor(this.valueOf() / 1e3) + }, $.valueOf = function () { + return this.$d.getTime() + }, $.startOf = function (t, a) { + const h = this + const c = !!g.u(a) || a + const d = g.p(t) + const $ = function (t, e) { + const n = g.w(h.$u ? Date.UTC(h.$y, e, t) : new Date(h.$y, e, t), h) + return c ? n : n.endOf(i) + } + const l = function (t, e) { + return g.w(h.toDate()[t].apply(h.toDate('s'), (c ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e)), h) + } + const y = this.$W + const M = this.$M + const m = this.$D + const D = `set${this.$u ? 'UTC' : ''}` + switch (d) { + case o: + return c ? $(1, 0) : $(31, 11) + case u: + return c ? $(1, M) : $(0, M + 1) + case s: + var v = this.$locale().weekStart || 0 + var S = (y < v ? y + 7 : y) - v + return $(c ? m - S : m + (6 - S), M) + case i: + case f: + return l(`${D}Hours`, 0) + case r: + return l(`${D}Minutes`, 1) + case n: + return l(`${D}Seconds`, 2) + case e: + return l(`${D}Milliseconds`, 3) + default: + return this.clone() + } + }, $.endOf = function (t) { + return this.startOf(t, !1) + }, $.$set = function (s, a) { + let h; const c = g.p(s) + const d = `set${this.$u ? 'UTC' : ''}` + const $ = (h = {}, h[i] = `${d}Date`, h[f] = `${d}Date`, h[u] = `${d}Month`, h[o] = `${d}FullYear`, h[r] = `${d}Hours`, + h[n] = `${d}Minutes`, h[e] = `${d}Seconds`, h[t] = `${d}Milliseconds`, h)[c] + const l = c === i ? this.$D + (a - this.$W) : a + if (c === u || c === o) { + const y = this.clone().set(f, 1) + y.$d[$](l), y.init(), this.$d = y.set(f, Math.min(this.$D, y.daysInMonth())).$d + } else $ && this.$d[$](l) + return this.init(), this + }, $.set = function (t, e) { + return this.clone().$set(t, e) + }, $.get = function (t) { + return this[g.p(t)]() + }, $.add = function (t, a) { + let f; const + h = this + t = Number(t) + const c = g.p(a) + const d = function (e) { + const n = v(h) + return g.w(n.date(n.date() + Math.round(e * t)), h) + } + if (c === u) return this.set(u, this.$M + t) + if (c === o) return this.set(o, this.$y + t) + if (c === i) return d(1) + if (c === s) return d(7) + const $ = (f = {}, f[n] = 6e4, f[r] = 36e5, f[e] = 1e3, f)[c] || 1 + const l = this.$d.getTime() + t * $ + return g.w(l, this) + }, $.subtract = function (t, e) { + return this.add(-1 * t, e) + }, $.format = function (t) { + const e = this + if (!this.isValid()) return 'Invalid Date' + const n = t || 'YYYY-MM-DDTHH:mm:ssZ' + const r = g.z(this) + const i = this.$locale() + const s = this.$H + const u = this.$m + const a = this.$M + const o = i.weekdays + const f = i.months + const h = function (t, r, i, s) { + return t && (t[r] || t(e, n)) || i[r].substr(0, s) + } + const d = function (t) { + return g.s(s % 12 || 12, t, '0') + } + const $ = i.meridiem || function (t, e, n) { + const r = t < 12 ? 'AM' : 'PM' + return n ? r.toLowerCase() : r + } + const l = { + YY: String(this.$y).slice(-2), + YYYY: this.$y, + M: a + 1, + MM: g.s(a + 1, 2, '0'), + MMM: h(i.monthsShort, a, f, 3), + MMMM: h(f, a), + D: this.$D, + DD: g.s(this.$D, 2, '0'), + d: String(this.$W), + dd: h(i.weekdaysMin, this.$W, o, 2), + ddd: h(i.weekdaysShort, this.$W, o, 3), + dddd: o[this.$W], + H: String(s), + HH: g.s(s, 2, '0'), + h: d(1), + hh: d(2), + a: $(s, u, !0), + A: $(s, u, !1), + m: String(u), + mm: g.s(u, 2, '0'), + s: String(this.$s), + ss: g.s(this.$s, 2, '0'), + SSS: g.s(this.$ms, 3, '0'), + Z: r + } + return n.replace(c, (t, e) => e || l[t] || r.replace(':', '')) + }, $.utcOffset = function () { + return 15 * -Math.round(this.$d.getTimezoneOffset() / 15) + }, $.diff = function (t, f, h) { + let c; const d = g.p(f) + const $ = v(t) + const l = 6e4 * ($.utcOffset() - this.utcOffset()) + const y = this - $ + let M = g.m(this, $) + return M = (c = {}, c[o] = M / 12, c[u] = M, c[a] = M / 3, c[s] = (y - l) / 6048e5, c[i] = (y - l) / 864e5, c[r] = y / 36e5, c[n] = y / 6e4, c[e] = y / 1e3, c)[d] || y, h ? M : g.a(M) + }, $.daysInMonth = function () { + return this.endOf(u).$D + }, $.$locale = function () { + return M[this.$L] + }, $.locale = function (t, e) { + if (!t) return this.$L + const n = this.clone() + const r = D(t, e, !0) + return r && (n.$L = r), n + }, $.clone = function () { + return g.w(this.$d, this) + }, $.toDate = function () { + return new Date(this.valueOf()) + }, $.toJSON = function () { + return this.isValid() ? this.toISOString() : null + }, $.toISOString = function () { + return this.$d.toISOString() + }, $.toString = function () { + return this.$d.toUTCString() + }, d + }()) + const p = S.prototype + return v.prototype = p, [ + ['$ms', t], + ['$s', e], + ['$m', n], + ['$H', r], + ['$W', i], + ['$M', u], + ['$y', o], + ['$D', f] + ].forEach((t) => { + p[t[1]] = function (e) { + return this.$g(e, t[0], t[1]) + } + }), v.extend = function (t, e) { + return t.$i || (t(e, S, v), t.$i = !0), v + }, v.locale = D, v.isDayjs = m, v.unix = function (t) { + return v(1e3 * t) + }, v.en = M[y], v.Ls = M, v.p = {}, v +})) diff --git a/components/uview-ui/libs/util/emitter.js b/components/uview-ui/libs/util/emitter.js new file mode 100644 index 0000000..1e64044 --- /dev/null +++ b/components/uview-ui/libs/util/emitter.js @@ -0,0 +1,51 @@ +/** + * 递归使用 call 方式this指向 + * @param componentName // 需要找的组件的名称 + * @param eventName // 事件名称 + * @param params // 需要传递的参数 + */ +function broadcast(componentName, eventName, params) { + // 循环子节点找到名称一样的子节点 否则 递归 当前子节点 + this.$children.map((child) => { + if (componentName === child.$options.name) { + child.$emit.apply(child, [eventName].concat(params)) + } else { + broadcast.apply(child, [componentName, eventName].concat(params)) + } + }) +} +export default { + methods: { + /** + * 派发 (向上查找) (一个) + * @param componentName // 需要找的组件的名称 + * @param eventName // 事件名称 + * @param params // 需要传递的参数 + */ + dispatch(componentName, eventName, params) { + let parent = this.$parent || this.$root// $parent 找到最近的父节点 $root 根节点 + let { name } = parent.$options // 获取当前组件实例的name + // 如果当前有节点 && 当前没名称 且 当前名称等于需要传进来的名称的时候就去查找当前的节点 + // 循环出当前名称的一样的组件实例 + while (parent && (!name || name !== componentName)) { + parent = parent.$parent + if (parent) { + name = parent.$options.name + } + } + // 有节点表示当前找到了name一样的实例 + if (parent) { + parent.$emit.apply(parent, [eventName].concat(params)) + } + }, + /** + * 广播 (向下查找) (广播多个) + * @param componentName // 需要找的组件的名称 + * @param eventName // 事件名称 + * @param params // 需要传递的参数 + */ + broadcast(componentName, eventName, params) { + broadcast.call(this, componentName, eventName, params) + } + } +} diff --git a/components/uview-ui/libs/util/province.js b/components/uview-ui/libs/util/province.js new file mode 100644 index 0000000..436b190 --- /dev/null +++ b/components/uview-ui/libs/util/province.js @@ -0,0 +1 @@ +var provinceData=[{"label":"北京市","value":"11"},{"label":"天津市","value":"12"},{"label":"河北省","value":"13"},{"label":"山西省","value":"14"},{"label":"内蒙古自治区","value":"15"},{"label":"辽宁省","value":"21"},{"label":"吉林省","value":"22"},{"label":"黑龙江省","value":"23"},{"label":"上海市","value":"31"},{"label":"江苏省","value":"32"},{"label":"浙江省","value":"33"},{"label":"安徽省","value":"34"},{"label":"福建省","value":"35"},{"label":"江西省","value":"36"},{"label":"山东省","value":"37"},{"label":"河南省","value":"41"},{"label":"湖北省","value":"42"},{"label":"湖南省","value":"43"},{"label":"广东省","value":"44"},{"label":"广西壮族自治区","value":"45"},{"label":"海南省","value":"46"},{"label":"重庆市","value":"50"},{"label":"四川省","value":"51"},{"label":"贵州省","value":"52"},{"label":"云南省","value":"53"},{"label":"西藏自治区","value":"54"},{"label":"陕西省","value":"61"},{"label":"甘肃省","value":"62"},{"label":"青海省","value":"63"},{"label":"宁夏回族自治区","value":"64"},{"label":"新疆维吾尔自治区","value":"65"},{"label":"台湾","value":"66"},{"label":"香港","value":"67"},{"label":"澳门","value":"68"}];export default provinceData; \ No newline at end of file diff --git a/components/uview-ui/libs/util/route.js b/components/uview-ui/libs/util/route.js new file mode 100644 index 0000000..2afeea5 --- /dev/null +++ b/components/uview-ui/libs/util/route.js @@ -0,0 +1,124 @@ +/** + * 路由跳转方法,该方法相对于直接使用uni.xxx的好处是使用更加简单快捷 + * 并且带有路由拦截功能 + */ + +class Router { + constructor() { + // 原始属性定义 + this.config = { + type: 'navigateTo', + url: '', + delta: 1, // navigateBack页面后退时,回退的层数 + params: {}, // 传递的参数 + animationType: 'pop-in', // 窗口动画,只在APP有效 + animationDuration: 300, // 窗口动画持续时间,单位毫秒,只在APP有效 + intercept: false // 是否需要拦截 + } + // 因为route方法是需要对外赋值给另外的对象使用,同时route内部有使用this,会导致route失去上下文 + // 这里在构造函数中进行this绑定 + this.route = this.route.bind(this) + } + + // 判断url前面是否有"/",如果没有则加上,否则无法跳转 + addRootPath(url) { + return url[0] === '/' ? url : `/${url}` + } + + // 整合路由参数 + mixinParam(url, params) { + url = url && this.addRootPath(url) + + // 使用正则匹配,主要依据是判断是否有"/","?","="等,如“/page/index/index?name=mary" + // 如果有url中有get参数,转换后无需带上"?" + let query = '' + if (/.*\/.*\?.*=.*/.test(url)) { + // object对象转为get类型的参数 + query = uni.$u.queryParams(params, false) + // 因为已有get参数,所以后面拼接的参数需要带上"&"隔开 + return url += `&${query}` + } + // 直接拼接参数,因为此处url中没有后面的query参数,也就没有"?/&"之类的符号 + query = uni.$u.queryParams(params) + return url += query + } + + // 对外的方法名称 + async route(options = {}, params = {}) { + // 合并用户的配置和内部的默认配置 + let mergeConfig = {} + + if (typeof options === 'string') { + // 如果options为字符串,则为route(url, params)的形式 + mergeConfig.url = this.mixinParam(options, params) + mergeConfig.type = 'navigateTo' + } else { + mergeConfig = uni.$u.deepMerge(this.config, options) + // 否则正常使用mergeConfig中的url和params进行拼接 + mergeConfig.url = this.mixinParam(options.url, options.params) + } + + // 如果本次跳转的路径和本页面路径一致,不执行跳转,防止用户快速点击跳转按钮,造成多次跳转同一个页面的问题 + if (mergeConfig.url === uni.$u.page()) return + + if (params.intercept) { + this.config.intercept = params.intercept + } + // params参数也带给拦截器 + mergeConfig.params = params + // 合并内外部参数 + mergeConfig = uni.$u.deepMerge(this.config, mergeConfig) + // 判断用户是否定义了拦截器 + if (typeof uni.$u.routeIntercept === 'function') { + // 定一个promise,根据用户执行resolve(true)或者resolve(false)来决定是否进行路由跳转 + const isNext = await new Promise((resolve, reject) => { + uni.$u.routeIntercept(mergeConfig, resolve) + }) + // 如果isNext为true,则执行路由跳转 + isNext && this.openPage(mergeConfig) + } else { + this.openPage(mergeConfig) + } + } + + // 执行路由跳转 + openPage(config) { + // 解构参数 + const { + url, + type, + delta, + animationType, + animationDuration + } = config + if (config.type == 'navigateTo' || config.type == 'to') { + uni.navigateTo({ + url, + animationType, + animationDuration + }) + } + if (config.type == 'redirectTo' || config.type == 'redirect') { + uni.redirectTo({ + url + }) + } + if (config.type == 'switchTab' || config.type == 'tab') { + uni.switchTab({ + url + }) + } + if (config.type == 'reLaunch' || config.type == 'launch') { + uni.reLaunch({ + url + }) + } + if (config.type == 'navigateBack' || config.type == 'back') { + uni.navigateBack({ + delta + }) + } + } +} + +export default (new Router()).route diff --git a/components/uview-ui/package.json b/components/uview-ui/package.json new file mode 100644 index 0000000..f79bf30 --- /dev/null +++ b/components/uview-ui/package.json @@ -0,0 +1,87 @@ +{ + "id": "uview-ui", + "name": "uview-ui", + "displayName": "uView2.0重磅发布,利剑出鞘,一统江湖", + "version": "2.0.37", + "description": "uView UI已完美兼容nvue,全面的组件和便捷的工具会让您信手拈来,如鱼得水", + "keywords": [ + "uview", + "uview", + "ui", + "ui", + "uni-app", + "uni-app", + "ui" + ], + "repository": "https://github.com/umicro/uView2.0", + "engines": { + "HBuilderX": "^3.1.0" + }, + "dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "1416956117" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/uview-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "Vue": { + "vue2": "y", + "vue3": "n" + }, + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "y", + "联盟": "y" + } + } + } + }, + "__npminstall_done": true, + "_from": "uview-ui@2.0.37", + "_resolved": "https://registry.npmmirror.com/uview-ui/-/uview-ui-2.0.37.tgz" +} diff --git a/components/uview-ui/theme.scss b/components/uview-ui/theme.scss new file mode 100644 index 0000000..331b30f --- /dev/null +++ b/components/uview-ui/theme.scss @@ -0,0 +1,44 @@ +// 此文件为uView的主题变量,这些变量目前只能通过uni.scss引入才有效,另外由于 +// uni.scss中引入的样式会同时混入到全局样式文件和单独每一个页面的样式中,造成微信程序包太大, +// 故uni.scss只建议放scss变量名相关样式,其他的样式可以通过main.js或者App.vue引入 + +$u-main-color: #303133; +$u-content-color: #606266; +$u-tips-color: #909193; +$u-light-color: #c0c4cc; +$u-border-color: #dadbde; +$u-bg-color: #f3f4f6; +$u-disabled-color: #c8c9cc; + +$u-primary: #3c9cff; +$u-primary-dark: #398ade; +$u-primary-disabled: #9acafc; +$u-primary-light: #ecf5ff; + +$u-warning: #f9ae3d; +$u-warning-dark: #f1a532; +$u-warning-disabled: #f9d39b; +$u-warning-light: #fdf6ec; + +$u-success: #5ac725; +$u-success-dark: #53c21d; +$u-success-disabled: #a9e08f; +$u-success-light: #f5fff0; + +$u-error: #f56c6c; +$u-error-dark: #e45656; +$u-error-disabled: #f7b2b2; +$u-error-light: #fef0f0; + +$u-info: #909399; +$u-info-dark: #767a82; +$u-info-disabled: #c4c6c9; +$u-info-light: #f4f4f5; + +// scss混入,为了少写几行#ifndef +@mixin flex($direction: row) { + /* #ifndef APP-NVUE */ + display: flex; + /* #endif */ + flex-direction: $direction; +} diff --git a/components/wakary-input/bottom.jpeg b/components/wakary-input/bottom.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..8fb55abe96b741ba5781de7212cec1557a1e02c8 GIT binary patch literal 18942 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 literal 0 HcmV?d00001 diff --git a/components/wakary-input/box.jpeg b/components/wakary-input/box.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..255de9fe03d6524171ea1e381d53231227f87034 GIT binary patch literal 19210 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

G@$NR#fMpXx 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 DCV<`6 literal 0 HcmV?d00001 diff --git a/components/wakary-input/components/wakary-input/wakary-input.vue b/components/wakary-input/components/wakary-input/wakary-input.vue new file mode 100644 index 0000000..692d898 --- /dev/null +++ b/components/wakary-input/components/wakary-input/wakary-input.vue @@ -0,0 +1,163 @@ + + + + + diff --git a/components/wakary-input/middle.jpeg b/components/wakary-input/middle.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..2f5de3f09ef2c0e58b16eb68b721cde4d70d05a8 GIT binary patch literal 18132 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 literal 0 HcmV?d00001 diff --git a/components/wakary-input/readme.md b/components/wakary-input/readme.md new file mode 100644 index 0000000..1495009 --- /dev/null +++ b/components/wakary-input/readme.md @@ -0,0 +1,172 @@ +# 使用 +下载下来直接引入,然后使用。也可以直接复制下面的源码内容。无任何依赖。 + +`type`可以控制是 中间划线(middle) 下划线(bottom) 方宽(box) 样式。 + +# 源码 +```vue + + + + + +``` diff --git a/components/wakary-input/wakary-input.zip b/components/wakary-input/wakary-input.zip new file mode 100644 index 0000000000000000000000000000000000000000..9df8bea8b338b74c33aed864267f05023454ac6b GIT binary patch literal 47134 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 Uf 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 0 + break + } + } + return update +} + +export function pathToBase64(path) { + return new Promise(function(resolve, reject) { + if (typeof window === 'object' && 'document' in window) { + if (typeof FileReader === 'function') { + var xhr = new XMLHttpRequest() + xhr.open('GET', path, true) + xhr.responseType = 'blob' + xhr.onload = function() { + if (this.status === 200) { + let fileReader = new FileReader() + fileReader.onload = function(e) { + resolve(e.target.result) + } + fileReader.onerror = reject + fileReader.readAsDataURL(this.response) + } + } + xhr.onerror = reject + xhr.send() + return + } + var canvas = document.createElement('canvas') + var c2x = canvas.getContext('2d') + var img = new Image + img.onload = function() { + canvas.width = img.width + canvas.height = img.height + c2x.drawImage(img, 0, 0) + resolve(canvas.toDataURL()) + canvas.height = canvas.width = 0 + } + img.onerror = reject + img.src = path + return + } + if (typeof plus === 'object') { + plus.io.resolveLocalFileSystemURL(getLocalFilePath(path), function(entry) { + entry.file(function(file) { + var fileReader = new plus.io.FileReader() + fileReader.onload = function(data) { + resolve(data.target.result) + } + fileReader.onerror = function(error) { + reject(error) + } + fileReader.readAsDataURL(file) + }, function(error) { + reject(error) + }) + }, function(error) { + reject(error) + }) + return + } + if (typeof wx === 'object' && wx.canIUse('getFileSystemManager')) { + wx.getFileSystemManager().readFile({ + filePath: path, + encoding: 'base64', + success: function(res) { + resolve('data:image/png;base64,' + res.data) + }, + fail: function(error) { + reject(error) + } + }) + return + } + reject(new Error('not support')) + }) +} + +export function base64ToPath(base64) { + return new Promise(function(resolve, reject) { + if (typeof window === 'object' && 'document' in window) { + base64 = base64.split(',') + var type = base64[0].match(/:(.*?);/)[1] + var str = atob(base64[1]) + var n = str.length + var array = new Uint8Array(n) + while (n--) { + array[n] = str.charCodeAt(n) + } + return resolve((window.URL || window.webkitURL).createObjectURL(new Blob([array], { + type: type + }))) + } + var extName = base64.split(',')[0].match(/data\:\S+\/(\S+);/) + if (extName) { + extName = extName[1] + } else { + reject(new Error('base64 error')) + } + var fileName = getNewFileId() + '.' + extName + if (typeof plus === 'object') { + var basePath = '_doc' + var dirPath = 'uniapp_temp' + var filePath = basePath + '/' + dirPath + '/' + fileName + if (!biggerThan(plus.os.name === 'Android' ? '1.9.9.80627' : '1.9.9.80472', plus.runtime + .innerVersion)) { + plus.io.resolveLocalFileSystemURL(basePath, function(entry) { + entry.getDirectory(dirPath, { + create: true, + exclusive: false, + }, function(entry) { + entry.getFile(fileName, { + create: true, + exclusive: false, + }, function(entry) { + entry.createWriter(function(writer) { + writer.onwrite = function() { + resolve(filePath) + } + writer.onerror = reject + writer.seek(0) + writer.writeAsBinary(dataUrlToBase64(base64)) + }, reject) + }, reject) + }, reject) + }, reject) + return + } + var bitmap = new plus.nativeObj.Bitmap(fileName) + bitmap.loadBase64Data(base64, function() { + bitmap.save(filePath, {}, function() { + bitmap.clear() + resolve(filePath) + }, function(error) { + bitmap.clear() + reject(error) + }) + }, function(error) { + bitmap.clear() + reject(error) + }) + return + } + if (typeof wx === 'object' && wx.canIUse('getFileSystemManager')) { + var filePath = wx.env.USER_DATA_PATH + '/' + fileName + wx.getFileSystemManager().writeFile({ + filePath: filePath, + data: dataUrlToBase64(base64), + encoding: 'base64', + success: function() { + resolve(filePath) + }, + fail: function(error) { + reject(error) + } + }) + return + } + reject(new Error('not support')) + }) +} diff --git a/jsFile/map/qqmap-wx-jssdk.min.js b/jsFile/map/qqmap-wx-jssdk.min.js new file mode 100644 index 0000000..4922185 --- /dev/null +++ b/jsFile/map/qqmap-wx-jssdk.min.js @@ -0,0 +1,891 @@ +var ERROR_CONF = { + KEY_ERR: 311, + KEY_ERR_MSG: 'key格式错误', + PARAM_ERR: 310, + PARAM_ERR_MSG: '请求参数信息有误', + SYSTEM_ERR: 600, + SYSTEM_ERR_MSG: '系统错误', + WX_ERR_CODE: 1000, + WX_OK_CODE: 200 +}; +var BASE_URL = 'https://apis.map.qq.com/ws/'; +var URL_SEARCH = BASE_URL + 'place/v1/search'; +var URL_SUGGESTION = BASE_URL + 'place/v1/suggestion'; +var URL_GET_GEOCODER = BASE_URL + 'geocoder/v1/'; +var URL_CITY_LIST = BASE_URL + 'district/v1/list'; +var URL_AREA_LIST = BASE_URL + 'district/v1/getchildren'; +var URL_DISTANCE = BASE_URL + 'distance/v1/'; +var URL_DIRECTION = BASE_URL + 'direction/v1/'; +var MODE = { + driving: 'driving', + transit: 'transit' +}; +var EARTH_RADIUS = 6378136.49; +var Utils = { + safeAdd(x, y) { + var lsw = (x & 0xffff) + (y & 0xffff); + var msw = (x >> 16) + (y >> 16) + (lsw >> 16); + return (msw << 16) | (lsw & 0xffff) + }, + bitRotateLeft(num, cnt) { + return (num << cnt) | (num >>> (32 - cnt)) + }, + md5cmn(q, a, b, x, s, t) { + return this.safeAdd(this.bitRotateLeft(this.safeAdd(this.safeAdd(a, q), this.safeAdd(x, t)), s), b) + }, + md5ff(a, b, c, d, x, s, t) { + return this.md5cmn((b & c) | (~b & d), a, b, x, s, t) + }, + md5gg(a, b, c, d, x, s, t) { + return this.md5cmn((b & d) | (c & ~d), a, b, x, s, t) + }, + md5hh(a, b, c, d, x, s, t) { + return this.md5cmn(b ^ c ^ d, a, b, x, s, t) + }, + md5ii(a, b, c, d, x, s, t) { + return this.md5cmn(c ^ (b | ~d), a, b, x, s, t) + }, + binlMD5(x, len) { + x[len >> 5] |= 0x80 << (len % 32); + x[((len + 64) >>> 9 << 4) + 14] = len; + var i; + var olda; + var oldb; + var oldc; + var oldd; + var a = 1732584193; + var b = -271733879; + var c = -1732584194; + var d = 271733878; + for (i = 0; i < x.length; i += 16) { + olda = a; + oldb = b; + oldc = c; + oldd = d; + a = this.md5ff(a, b, c, d, x[i], 7, -680876936); + d = this.md5ff(d, a, b, c, x[i + 1], 12, -389564586); + c = this.md5ff(c, d, a, b, x[i + 2], 17, 606105819); + b = this.md5ff(b, c, d, a, x[i + 3], 22, -1044525330); + a = this.md5ff(a, b, c, d, x[i + 4], 7, -176418897); + d = this.md5ff(d, a, b, c, x[i + 5], 12, 1200080426); + c = this.md5ff(c, d, a, b, x[i + 6], 17, -1473231341); + b = this.md5ff(b, c, d, a, x[i + 7], 22, -45705983); + a = this.md5ff(a, b, c, d, x[i + 8], 7, 1770035416); + d = this.md5ff(d, a, b, c, x[i + 9], 12, -1958414417); + c = this.md5ff(c, d, a, b, x[i + 10], 17, -42063); + b = this.md5ff(b, c, d, a, x[i + 11], 22, -1990404162); + a = this.md5ff(a, b, c, d, x[i + 12], 7, 1804603682); + d = this.md5ff(d, a, b, c, x[i + 13], 12, -40341101); + c = this.md5ff(c, d, a, b, x[i + 14], 17, -1502002290); + b = this.md5ff(b, c, d, a, x[i + 15], 22, 1236535329); + a = this.md5gg(a, b, c, d, x[i + 1], 5, -165796510); + d = this.md5gg(d, a, b, c, x[i + 6], 9, -1069501632); + c = this.md5gg(c, d, a, b, x[i + 11], 14, 643717713); + b = this.md5gg(b, c, d, a, x[i], 20, -373897302); + a = this.md5gg(a, b, c, d, x[i + 5], 5, -701558691); + d = this.md5gg(d, a, b, c, x[i + 10], 9, 38016083); + c = this.md5gg(c, d, a, b, x[i + 15], 14, -660478335); + b = this.md5gg(b, c, d, a, x[i + 4], 20, -405537848); + a = this.md5gg(a, b, c, d, x[i + 9], 5, 568446438); + d = this.md5gg(d, a, b, c, x[i + 14], 9, -1019803690); + c = this.md5gg(c, d, a, b, x[i + 3], 14, -187363961); + b = this.md5gg(b, c, d, a, x[i + 8], 20, 1163531501); + a = this.md5gg(a, b, c, d, x[i + 13], 5, -1444681467); + d = this.md5gg(d, a, b, c, x[i + 2], 9, -51403784); + c = this.md5gg(c, d, a, b, x[i + 7], 14, 1735328473); + b = this.md5gg(b, c, d, a, x[i + 12], 20, -1926607734); + a = this.md5hh(a, b, c, d, x[i + 5], 4, -378558); + d = this.md5hh(d, a, b, c, x[i + 8], 11, -2022574463); + c = this.md5hh(c, d, a, b, x[i + 11], 16, 1839030562); + b = this.md5hh(b, c, d, a, x[i + 14], 23, -35309556); + a = this.md5hh(a, b, c, d, x[i + 1], 4, -1530992060); + d = this.md5hh(d, a, b, c, x[i + 4], 11, 1272893353); + c = this.md5hh(c, d, a, b, x[i + 7], 16, -155497632); + b = this.md5hh(b, c, d, a, x[i + 10], 23, -1094730640); + a = this.md5hh(a, b, c, d, x[i + 13], 4, 681279174); + d = this.md5hh(d, a, b, c, x[i], 11, -358537222); + c = this.md5hh(c, d, a, b, x[i + 3], 16, -722521979); + b = this.md5hh(b, c, d, a, x[i + 6], 23, 76029189); + a = this.md5hh(a, b, c, d, x[i + 9], 4, -640364487); + d = this.md5hh(d, a, b, c, x[i + 12], 11, -421815835); + c = this.md5hh(c, d, a, b, x[i + 15], 16, 530742520); + b = this.md5hh(b, c, d, a, x[i + 2], 23, -995338651); + a = this.md5ii(a, b, c, d, x[i], 6, -198630844); + d = this.md5ii(d, a, b, c, x[i + 7], 10, 1126891415); + c = this.md5ii(c, d, a, b, x[i + 14], 15, -1416354905); + b = this.md5ii(b, c, d, a, x[i + 5], 21, -57434055); + a = this.md5ii(a, b, c, d, x[i + 12], 6, 1700485571); + d = this.md5ii(d, a, b, c, x[i + 3], 10, -1894986606); + c = this.md5ii(c, d, a, b, x[i + 10], 15, -1051523); + b = this.md5ii(b, c, d, a, x[i + 1], 21, -2054922799); + a = this.md5ii(a, b, c, d, x[i + 8], 6, 1873313359); + d = this.md5ii(d, a, b, c, x[i + 15], 10, -30611744); + c = this.md5ii(c, d, a, b, x[i + 6], 15, -1560198380); + b = this.md5ii(b, c, d, a, x[i + 13], 21, 1309151649); + a = this.md5ii(a, b, c, d, x[i + 4], 6, -145523070); + d = this.md5ii(d, a, b, c, x[i + 11], 10, -1120210379); + c = this.md5ii(c, d, a, b, x[i + 2], 15, 718787259); + b = this.md5ii(b, c, d, a, x[i + 9], 21, -343485551); + a = this.safeAdd(a, olda); + b = this.safeAdd(b, oldb); + c = this.safeAdd(c, oldc); + d = this.safeAdd(d, oldd) + } + return [a, b, c, d] + }, + binl2rstr(input) { + var i; + var output = ''; + var length32 = input.length * 32; + for (i = 0; i < length32; i += 8) { + output += String.fromCharCode((input[i >> 5] >>> (i % 32)) & 0xff) + } + return output + }, + rstr2binl(input) { + var i; + var output = []; + output[(input.length >> 2) - 1] = undefined; + for (i = 0; i < output.length; i += 1) { + output[i] = 0 + } + var length8 = input.length * 8; + for (i = 0; i < length8; i += 8) { + output[i >> 5] |= (input.charCodeAt(i / 8) & 0xff) << (i % 32) + } + return output + }, + rstrMD5(s) { + return this.binl2rstr(this.binlMD5(this.rstr2binl(s), s.length * 8)) + }, + rstrHMACMD5(key, data) { + var i; + var bkey = this.rstr2binl(key); + var ipad = []; + var opad = []; + var hash; + ipad[15] = opad[15] = undefined; + if (bkey.length > 16) { + bkey = this.binlMD5(bkey, key.length * 8) + } + for (i = 0; i < 16; i += 1) { + ipad[i] = bkey[i] ^ 0x36363636; + opad[i] = bkey[i] ^ 0x5c5c5c5c + } + hash = this.binlMD5(ipad.concat(this.rstr2binl(data)), 512 + data.length * 8); + return this.binl2rstr(this.binlMD5(opad.concat(hash), 512 + 128)) + }, + rstr2hex(input) { + var hexTab = '0123456789abcdef'; + var output = ''; + var x; + var i; + for (i = 0; i < input.length; i += 1) { + x = input.charCodeAt(i); + output += hexTab.charAt((x >>> 4) & 0x0f) + hexTab.charAt(x & 0x0f) + } + return output + }, + str2rstrUTF8(input) { + return unescape(encodeURIComponent(input)) + }, + rawMD5(s) { + return this.rstrMD5(this.str2rstrUTF8(s)) + }, + hexMD5(s) { + return this.rstr2hex(this.rawMD5(s)) + }, + rawHMACMD5(k, d) { + return this.rstrHMACMD5(this.str2rstrUTF8(k), str2rstrUTF8(d)) + }, + hexHMACMD5(k, d) { + return this.rstr2hex(this.rawHMACMD5(k, d)) + }, + md5(string, key, raw) { + if (!key) { + if (!raw) { + return this.hexMD5(string) + } + return this.rawMD5(string) + } + if (!raw) { + return this.hexHMACMD5(key, string) + } + return this.rawHMACMD5(key, string) + }, + getSig(requestParam, sk, feature, mode) { + var sig = null; + var requestArr = []; + Object.keys(requestParam).sort().forEach(function(key) { + requestArr.push(key + '=' + requestParam[key]) + }); + if (feature == 'search') { + sig = '/ws/place/v1/search?' + requestArr.join('&') + sk + } + if (feature == 'suggest') { + sig = '/ws/place/v1/suggestion?' + requestArr.join('&') + sk + } + if (feature == 'reverseGeocoder') { + sig = '/ws/geocoder/v1/?' + requestArr.join('&') + sk + } + if (feature == 'geocoder') { + sig = '/ws/geocoder/v1/?' + requestArr.join('&') + sk + } + if (feature == 'getCityList') { + sig = '/ws/district/v1/list?' + requestArr.join('&') + sk + } + if (feature == 'getDistrictByCityId') { + sig = '/ws/district/v1/getchildren?' + requestArr.join('&') + sk + } + if (feature == 'calculateDistance') { + sig = '/ws/distance/v1/?' + requestArr.join('&') + sk + } + if (feature == 'direction') { + sig = '/ws/direction/v1/' + mode + '?' + requestArr.join('&') + sk + } + sig = this.md5(sig); + return sig + }, + location2query(data) { + if (typeof data == 'string') { + return data + } + var query = ''; + for (var i = 0; i < data.length; i++) { + var d = data[i]; + if (!!query) { + query += ';' + } + if (d.location) { + query = query + d.location.lat + ',' + d.location.lng + } + if (d.latitude && d.longitude) { + query = query + d.latitude + ',' + d.longitude + } + } + return query + }, + rad(d) { + return d * Math.PI / 180.0 + }, + getEndLocation(location) { + var to = location.split(';'); + var endLocation = []; + for (var i = 0; i < to.length; i++) { + endLocation.push({ + lat: parseFloat(to[i].split(',')[0]), + lng: parseFloat(to[i].split(',')[1]) + }) + } + return endLocation + }, + getDistance(latFrom, lngFrom, latTo, lngTo) { + var radLatFrom = this.rad(latFrom); + var radLatTo = this.rad(latTo); + var a = radLatFrom - radLatTo; + var b = this.rad(lngFrom) - this.rad(lngTo); + var distance = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLatFrom) * Math.cos( + radLatTo) * Math.pow(Math.sin(b / 2), 2))); + distance = distance * EARTH_RADIUS; + distance = Math.round(distance * 10000) / 10000; + return parseFloat(distance.toFixed(0)) + }, + getWXLocation(success, fail, complete) { + wx.getLocation({ + type: 'gcj02', + success: success, + fail: fail, + complete: complete + }) + }, + getLocationParam(location) { + if (typeof location == 'string') { + var locationArr = location.split(','); + if (locationArr.length === 2) { + location = { + latitude: location.split(',')[0], + longitude: location.split(',')[1] + } + } else { + location = {} + } + } + return location + }, + polyfillParam(param) { + param.success = param.success || function() {}; + param.fail = param.fail || function() {}; + param.complete = param.complete || function() {} + }, + checkParamKeyEmpty(param, key) { + if (!param[key]) { + var errconf = this.buildErrorConfig(ERROR_CONF.PARAM_ERR, ERROR_CONF.PARAM_ERR_MSG + key + '参数格式有误'); + param.fail(errconf); + param.complete(errconf); + return true + } + return false + }, + checkKeyword(param) { + return !this.checkParamKeyEmpty(param, 'keyword') + }, + checkLocation(param) { + var location = this.getLocationParam(param.location); + if (!location || !location.latitude || !location.longitude) { + var errconf = this.buildErrorConfig(ERROR_CONF.PARAM_ERR, ERROR_CONF.PARAM_ERR_MSG + ' location参数格式有误'); + param.fail(errconf); + param.complete(errconf); + return false + } + return true + }, + buildErrorConfig(errCode, errMsg) { + return { + status: errCode, + message: errMsg + } + }, + handleData(param, data, feature) { + if (feature == 'search') { + var searchResult = data.data; + var searchSimplify = []; + for (var i = 0; i < searchResult.length; i++) { + searchSimplify.push({ + id: searchResult[i].id || null, + title: searchResult[i].title || null, + latitude: searchResult[i].location && searchResult[i].location.lat || null, + longitude: searchResult[i].location && searchResult[i].location.lng || null, + address: searchResult[i].address || null, + category: searchResult[i].category || null, + tel: searchResult[i].tel || null, + adcode: searchResult[i].ad_info && searchResult[i].ad_info.adcode || null, + city: searchResult[i].ad_info && searchResult[i].ad_info.city || null, + district: searchResult[i].ad_info && searchResult[i].ad_info.district || null, + province: searchResult[i].ad_info && searchResult[i].ad_info.province || null + }) + } + param.success(data, { + searchResult: searchResult, + searchSimplify: searchSimplify + }) + } else if (feature == 'suggest') { + var suggestResult = data.data; + var suggestSimplify = []; + for (var i = 0; i < suggestResult.length; i++) { + suggestSimplify.push({ + adcode: suggestResult[i].adcode || null, + address: suggestResult[i].address || null, + category: suggestResult[i].category || null, + city: suggestResult[i].city || null, + district: suggestResult[i].district || null, + id: suggestResult[i].id || null, + latitude: suggestResult[i].location && suggestResult[i].location.lat || null, + longitude: suggestResult[i].location && suggestResult[i].location.lng || null, + province: suggestResult[i].province || null, + title: suggestResult[i].title || null, + type: suggestResult[i].type || null + }) + } + param.success(data, { + suggestResult: suggestResult, + suggestSimplify: suggestSimplify + }) + } else if (feature == 'reverseGeocoder') { + var reverseGeocoderResult = data.result; + var reverseGeocoderSimplify = { + address: reverseGeocoderResult.address || null, + latitude: reverseGeocoderResult.location && reverseGeocoderResult.location.lat || null, + longitude: reverseGeocoderResult.location && reverseGeocoderResult.location.lng || null, + adcode: reverseGeocoderResult.ad_info && reverseGeocoderResult.ad_info.adcode || null, + city: reverseGeocoderResult.address_component && reverseGeocoderResult.address_component.city || + null, + district: reverseGeocoderResult.address_component && reverseGeocoderResult.address_component + .district || null, + nation: reverseGeocoderResult.address_component && reverseGeocoderResult.address_component + .nation || null, + province: reverseGeocoderResult.address_component && reverseGeocoderResult.address_component + .province || null, + street: reverseGeocoderResult.address_component && reverseGeocoderResult.address_component + .street || null, + street_number: reverseGeocoderResult.address_component && reverseGeocoderResult + .address_component.street_number || null, + recommend: reverseGeocoderResult.formatted_addresses && reverseGeocoderResult + .formatted_addresses.recommend || null, + rough: reverseGeocoderResult.formatted_addresses && reverseGeocoderResult.formatted_addresses + .rough || null + }; + if (reverseGeocoderResult.pois) { + var pois = reverseGeocoderResult.pois; + var poisSimplify = []; + for (var i = 0; i < pois.length; i++) { + poisSimplify.push({ + id: pois[i].id || null, + title: pois[i].title || null, + latitude: pois[i].location && pois[i].location.lat || null, + longitude: pois[i].location && pois[i].location.lng || null, + address: pois[i].address || null, + category: pois[i].category || null, + adcode: pois[i].ad_info && pois[i].ad_info.adcode || null, + city: pois[i].ad_info && pois[i].ad_info.city || null, + district: pois[i].ad_info && pois[i].ad_info.district || null, + province: pois[i].ad_info && pois[i].ad_info.province || null + }) + } + param.success(data, { + reverseGeocoderResult: reverseGeocoderResult, + reverseGeocoderSimplify: reverseGeocoderSimplify, + pois: pois, + poisSimplify: poisSimplify + }) + } else { + param.success(data, { + reverseGeocoderResult: reverseGeocoderResult, + reverseGeocoderSimplify: reverseGeocoderSimplify + }) + } + } else if (feature == 'geocoder') { + var geocoderResult = data.result; + var geocoderSimplify = { + title: geocoderResult.title || null, + latitude: geocoderResult.location && geocoderResult.location.lat || null, + longitude: geocoderResult.location && geocoderResult.location.lng || null, + adcode: geocoderResult.ad_info && geocoderResult.ad_info.adcode || null, + province: geocoderResult.address_components && geocoderResult.address_components.province || + null, + city: geocoderResult.address_components && geocoderResult.address_components.city || null, + district: geocoderResult.address_components && geocoderResult.address_components.district || + null, + street: geocoderResult.address_components && geocoderResult.address_components.street || null, + street_number: geocoderResult.address_components && geocoderResult.address_components + .street_number || null, + level: geocoderResult.level || null + }; + param.success(data, { + geocoderResult: geocoderResult, + geocoderSimplify: geocoderSimplify + }) + } else if (feature == 'getCityList') { + var provinceResult = data.result[0]; + var cityResult = data.result[1]; + var districtResult = data.result[2]; + param.success(data, { + provinceResult: provinceResult, + cityResult: cityResult, + districtResult: districtResult + }) + } else if (feature == 'getDistrictByCityId') { + var districtByCity = data.result[0]; + param.success(data, districtByCity) + } else if (feature == 'calculateDistance') { + var calculateDistanceResult = data.result.elements; + var distance = []; + for (var i = 0; i < calculateDistanceResult.length; i++) { + distance.push(calculateDistanceResult[i].distance) + } + param.success(data, { + calculateDistanceResult: calculateDistanceResult, + distance: distance + }) + } else if (feature == 'direction') { + var direction = data.result.routes; + param.success(data, direction) + } else { + param.success(data) + } + }, + buildWxRequestConfig(param, options, feature) { + var that = this; + options.header = { + "content-type": "application/json" + }; + options.method = 'GET'; + options.success = function(res) { + var data = res.data; + if (data.status === 0) { + that.handleData(param, data, feature) + } else { + param.fail(data) + } + }; + options.fail = function(res) { + res.statusCode = ERROR_CONF.WX_ERR_CODE; + param.fail(that.buildErrorConfig(ERROR_CONF.WX_ERR_CODE, res.errMsg)) + }; + options.complete = function(res) { + var statusCode = +res.statusCode; + switch (statusCode) { + case ERROR_CONF.WX_ERR_CODE: { + param.complete(that.buildErrorConfig(ERROR_CONF.WX_ERR_CODE, res.errMsg)); + break + } + case ERROR_CONF.WX_OK_CODE: { + var data = res.data; + if (data.status === 0) { + param.complete(data) + } else { + param.complete(that.buildErrorConfig(data.status, data.message)) + } + break + } + default: { + param.complete(that.buildErrorConfig(ERROR_CONF.SYSTEM_ERR, ERROR_CONF.SYSTEM_ERR_MSG)) + } + } + }; + return options + }, + locationProcess(param, locationsuccess, locationfail, locationcomplete) { + var that = this; + locationfail = locationfail || function(res) { + res.statusCode = ERROR_CONF.WX_ERR_CODE; + param.fail(that.buildErrorConfig(ERROR_CONF.WX_ERR_CODE, res.errMsg)) + }; + locationcomplete = locationcomplete || function(res) { + if (res.statusCode == ERROR_CONF.WX_ERR_CODE) { + param.complete(that.buildErrorConfig(ERROR_CONF.WX_ERR_CODE, res.errMsg)) + } + }; + if (!param.location) { + that.getWXLocation(locationsuccess, locationfail, locationcomplete) + } else if (that.checkLocation(param)) { + var location = Utils.getLocationParam(param.location); + locationsuccess(location) + } + } +}; +class QQMapWX { + constructor(options) { + if (!options.key) { + throw Error('key值不能为空') + } + this.key = options.key + }; + search(options) { + var that = this; + options = options || {}; + Utils.polyfillParam(options); + if (!Utils.checkKeyword(options)) { + return + } + var requestParam = { + keyword: options.keyword, + orderby: options.orderby || '_distance', + page_size: options.page_size || 10, + page_index: options.page_index || 1, + output: 'json', + key: that.key + }; + if (options.address_format) { + requestParam.address_format = options.address_format + } + if (options.filter) { + requestParam.filter = options.filter + } + var distance = options.distance || "1000"; + var auto_extend = options.auto_extend || 1; + var region = null; + var rectangle = null; + if (options.region) { + region = options.region + } + if (options.rectangle) { + rectangle = options.rectangle + } + var locationsuccess = function(result) { + if (region && !rectangle) { + requestParam.boundary = "region(" + region + "," + auto_extend + "," + result.latitude + "," + + result.longitude + ")"; + if (options.sig) { + requestParam.sig = Utils.getSig(requestParam, options.sig, 'search') + } + } else if (rectangle && !region) { + requestParam.boundary = "rectangle(" + rectangle + ")"; + if (options.sig) { + requestParam.sig = Utils.getSig(requestParam, options.sig, 'search') + } + } else { + requestParam.boundary = "nearby(" + result.latitude + "," + result.longitude + "," + distance + + "," + auto_extend + ")"; + if (options.sig) { + requestParam.sig = Utils.getSig(requestParam, options.sig, 'search') + } + } + wx.request(Utils.buildWxRequestConfig(options, { + url: URL_SEARCH, + data: requestParam + }, 'search')) + }; + Utils.locationProcess(options, locationsuccess) + }; + getSuggestion(options) { + var that = this; + options = options || {}; + Utils.polyfillParam(options); + if (!Utils.checkKeyword(options)) { + return + } + var requestParam = { + keyword: options.keyword, + region: options.region || '全国', + region_fix: options.region_fix || 0, + policy: options.policy || 0, + page_size: options.page_size || 10, + page_index: options.page_index || 1, + get_subpois: options.get_subpois || 0, + output: 'json', + key: that.key + }; + if (options.address_format) { + requestParam.address_format = options.address_format + } + if (options.filter) { + requestParam.filter = options.filter + } + if (options.location) { + var locationsuccess = function(result) { + requestParam.location = result.latitude + ',' + result.longitude; + if (options.sig) { + requestParam.sig = Utils.getSig(requestParam, options.sig, 'suggest') + } + wx.request(Utils.buildWxRequestConfig(options, { + url: URL_SUGGESTION, + data: requestParam + }, "suggest")) + }; + Utils.locationProcess(options, locationsuccess) + } else { + if (options.sig) { + requestParam.sig = Utils.getSig(requestParam, options.sig, 'suggest') + } + wx.request(Utils.buildWxRequestConfig(options, { + url: URL_SUGGESTION, + data: requestParam + }, "suggest")) + } + }; + reverseGeocoder(options) { + var that = this; + options = options || {}; + Utils.polyfillParam(options); + var requestParam = { + coord_type: options.coord_type || 5, + get_poi: options.get_poi || 0, + output: 'json', + key: that.key + }; + if (options.poi_options) { + requestParam.poi_options = options.poi_options + } + var locationsuccess = function(result) { + requestParam.location = result.latitude + ',' + result.longitude; + if (options.sig) { + requestParam.sig = Utils.getSig(requestParam, options.sig, 'reverseGeocoder') + } + wx.request(Utils.buildWxRequestConfig(options, { + url: URL_GET_GEOCODER, + data: requestParam + }, 'reverseGeocoder')) + }; + Utils.locationProcess(options, locationsuccess) + }; + geocoder(options) { + var that = this; + options = options || {}; + Utils.polyfillParam(options); + if (Utils.checkParamKeyEmpty(options, 'address')) { + return + } + var requestParam = { + address: options.address, + output: 'json', + key: that.key + }; + if (options.region) { + requestParam.region = options.region + } + if (options.sig) { + requestParam.sig = Utils.getSig(requestParam, options.sig, 'geocoder') + } + wx.request(Utils.buildWxRequestConfig(options, { + url: URL_GET_GEOCODER, + data: requestParam + }, 'geocoder')) + }; + getCityList(options) { + var that = this; + options = options || {}; + Utils.polyfillParam(options); + var requestParam = { + output: 'json', + key: that.key + }; + if (options.sig) { + requestParam.sig = Utils.getSig(requestParam, options.sig, 'getCityList') + } + wx.request(Utils.buildWxRequestConfig(options, { + url: URL_CITY_LIST, + data: requestParam + }, 'getCityList')) + }; + getDistrictByCityId(options) { + var that = this; + options = options || {}; + Utils.polyfillParam(options); + if (Utils.checkParamKeyEmpty(options, 'id')) { + return + } + var requestParam = { + id: options.id || '', + output: 'json', + key: that.key + }; + if (options.sig) { + requestParam.sig = Utils.getSig(requestParam, options.sig, 'getDistrictByCityId') + } + wx.request(Utils.buildWxRequestConfig(options, { + url: URL_AREA_LIST, + data: requestParam + }, 'getDistrictByCityId')) + }; + calculateDistance(options) { + var that = this; + options = options || {}; + Utils.polyfillParam(options); + if (Utils.checkParamKeyEmpty(options, 'to')) { + return + } + var requestParam = { + mode: options.mode || 'walking', + to: Utils.location2query(options.to), + output: 'json', + key: that.key + }; + if (options.from) { + options.location = options.from + } + if (requestParam.mode == 'straight') { + var locationsuccess = function(result) { + var locationTo = Utils.getEndLocation(requestParam.to); + var data = { + message: "query ok", + result: { + elements: [] + }, + status: 0 + }; + for (var i = 0; i < locationTo.length; i++) { + data.result.elements.push({ + distance: Utils.getDistance(result.latitude, result.longitude, locationTo[i] + .lat, locationTo[i].lng), + duration: 0, + from: { + lat: result.latitude, + lng: result.longitude + }, + to: { + lat: locationTo[i].lat, + lng: locationTo[i].lng + } + }) + } + var calculateResult = data.result.elements; + var distanceResult = []; + for (var i = 0; i < calculateResult.length; i++) { + distanceResult.push(calculateResult[i].distance) + } + return options.success(data, { + calculateResult: calculateResult, + distanceResult: distanceResult + }) + }; + Utils.locationProcess(options, locationsuccess) + } else { + var locationsuccess = function(result) { + requestParam.from = result.latitude + ',' + result.longitude; + if (options.sig) { + requestParam.sig = Utils.getSig(requestParam, options.sig, 'calculateDistance') + } + wx.request(Utils.buildWxRequestConfig(options, { + url: URL_DISTANCE, + data: requestParam + }, 'calculateDistance')) + }; + Utils.locationProcess(options, locationsuccess) + } + }; + direction(options) { + var that = this; + options = options || {}; + Utils.polyfillParam(options); + if (Utils.checkParamKeyEmpty(options, 'to')) { + return + } + var requestParam = { + output: 'json', + key: that.key + }; + if (typeof options.to == 'string') { + requestParam.to = options.to + } else { + requestParam.to = options.to.latitude + ',' + options.to.longitude + } + var SET_URL_DIRECTION = null; + options.mode = options.mode || MODE.driving; + SET_URL_DIRECTION = URL_DIRECTION + options.mode; + if (options.from) { + options.location = options.from + } + if (options.mode == MODE.driving) { + if (options.from_poi) { + requestParam.from_poi = options.from_poi + } + if (options.heading) { + requestParam.heading = options.heading + } + if (options.speed) { + requestParam.speed = options.speed + } + if (options.accuracy) { + requestParam.accuracy = options.accuracy + } + if (options.road_type) { + requestParam.road_type = options.road_type + } + if (options.to_poi) { + requestParam.to_poi = options.to_poi + } + if (options.from_track) { + requestParam.from_track = options.from_track + } + if (options.waypoints) { + requestParam.waypoints = options.waypoints + } + if (options.policy) { + requestParam.policy = options.policy + } + if (options.plate_number) { + requestParam.plate_number = options.plate_number + } + } + if (options.mode == MODE.transit) { + if (options.departure_time) { + requestParam.departure_time = options.departure_time + } + if (options.policy) { + requestParam.policy = options.policy + } + } + var locationsuccess = function(result) { + requestParam.from = result.latitude + ',' + result.longitude; + if (options.sig) { + requestParam.sig = Utils.getSig(requestParam, options.sig, 'direction', options.mode) + } + wx.request(Utils.buildWxRequestConfig(options, { + url: SET_URL_DIRECTION, + data: requestParam + }, 'direction')) + }; + Utils.locationProcess(options, locationsuccess) + } +}; +module.exports = QQMapWX; diff --git a/jsFile/public-api.js b/jsFile/public-api.js new file mode 100644 index 0000000..93cd087 --- /dev/null +++ b/jsFile/public-api.js @@ -0,0 +1,19 @@ +import requst from './requst.js'; +import store from '@/store/index.js' + +// 查询轮播位置 +export function slidePosition(data) { + return requst.get("/api/common/slide-positions"); +} + +// 查询购物车信息 +export function getCartInfo(){ + return requst.post('/api/index/indexGetShoppingCartInformation').then(res=>{ + if(res.code==0){ + console.log(res,'首页购物车信息') + let cartObj = res.data; + store.commit('setNum', cartObj.count) + store.commit('setPrice', cartObj.price) + } + }) +} \ No newline at end of file diff --git a/jsFile/requst-water.js b/jsFile/requst-water.js new file mode 100644 index 0000000..31deed2 --- /dev/null +++ b/jsFile/requst-water.js @@ -0,0 +1,98 @@ +// 清理所有缓存并前往登录授权页 +const goLogin = () => { + uni.clearStorageSync(); + uni.navigateTo({ + url: '/pagesA/login/login' + }) +} + +// 请求错误处理 +const checkError = (e) => { + console.log(e,'500接口错误'); + // console.error("----接口错误----", e) + if (e.data) { + if (e.data.code) { + switch (Number(e.data.code)) { + case '025': + // 接口错误 + console.log('数据错误'); + break; + case 270031: + // 参数错误 + console.log('您已被限流'); + break; + } + } + } +} + +// 封装request的(GET、POST)请求 +const request = (method, url, options) => { + let methods = ''; + let headers = {}; + let params = {}; + switch (method) { + case 'get': + methods = 'GET' + headers = { + 'Content-Type': 'application/json; charset=UTF-8', + 'Authorization': 'Bearer '+uni.getStorageSync('token') || '' + } + break; + case 'post': + methods = 'POST' + headers = { + 'Content-Type': 'application/json; charset=UTF-8', + 'Authorization': 'Bearer '+uni.getStorageSync('token') || '' + } + break; + } + params.method = method; + params.url = `${url}`; + params.params = JSON.stringify(options); + console.log(params,method,url) + return new Promise((resolve, reject) => { + uni.showLoading({title: '加载中',mask:true}); + uni.request({ + url: `${getApp().globalData.hostapi}` + '/api.device/request', + method: 'POST', + data: params, + header: headers, + success: res => { + uni.hideLoading(); + console.log(`${url}返的结果===>`,res); + if (res.statusCode == 200) { + resolve(res.data.data); + if(res.data.code !== 0){ + // 接口返回错误信息 + checkError(res); + } + } else { + // 接口返回错误信息 + checkError(res); + } + }, + fail: e => { + // 接口请求错误 + uni.hideLoading(); + checkError(e, reject); + + }, + complete: rest => { + uni.hideLoading(); + // 是否成功,都会执行 + } + }) + }) +} + + +export default { + get: (url, options) => { + return request('get', url, options) + }, + // JOSN格式 + post: (url, options) => { + return request('post', url, options) + }, +} diff --git a/jsFile/requst.js b/jsFile/requst.js new file mode 100644 index 0000000..6ee8fa6 --- /dev/null +++ b/jsFile/requst.js @@ -0,0 +1,155 @@ +// 清理所有缓存并前往登录授权页 +const goLogin = () => { + uni.clearStorageSync(); + uni.navigateTo({ + url: '/pagesA/login/login' + }) +} + +// 请求错误处理 +const checkError = (e) => { + console.log('500接口错误'); + // console.error("----接口错误----", e) + if (e.data) { + if (e.data.code) { + switch (Number(e.data.code)) { + case 500: + // 接口错误 + console.log('500接口错误'); + case 4003: + // 参数错误 + console.log('4003参数错误'); + break; + case 4004: + // 记录不存在 + console.log('4004记录不存在'); + break; + case 5001: + // xxx错误 + console.log('5001xxx错误'); + break; + case 5050: + // 服务器错误,请稍后重试 + console.log('5050服务器错误,请稍后重试'); + // 调用到登录页 + goLogin(); + break; + case 5051: + // 未知错误 + console.log('5051未知错误'); + break; + case 6001: + // token验证失败或已失效 + console.log('6001token验证失败或已失效'); + // 调用到登录页 + goLogin(); + break; + } + } + } +} + +// 封装request的(GET、POST)请求 +const request = (method, url, options) => { + let methods = ''; + let headers = {}; + switch (method) { + case 'get': + methods = 'GET' + headers = { + 'Content-Type': 'application/json; charset=UTF-8', + 'Authorization': 'Bearer '+uni.getStorageSync('token') || '' + } + break; + case 'post': + methods = 'POST' + headers = { + 'Content-Type': 'application/json; charset=UTF-8', + 'Authorization': 'Bearer '+uni.getStorageSync('token') || '' + } + break; + case 'postForm': + methods = 'POST' + headers = { + 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', + 'Authorization': 'Bearer '+uni.getStorageSync('token') || '' + } + break; + } + return new Promise((resolve, reject) => { + uni.showLoading({title: '加载中',mask:true}); + uni.request({ + url: `${getApp().globalData.hostapi}${url}`, + method: methods, + data: options, + header: headers, + success: res => { + uni.hideLoading(); + console.log(`${url}返的结果===>`,res); + if (res.statusCode == 200) { + resolve(res.data); + if(res.data.code !== 0){ + // 接口返回错误信息 + checkError(res); + } + } else { + // 接口返回错误信息 + checkError(res); + } + }, + fail: e => { + // 接口请求错误 + uni.hideLoading(); + checkError(e, reject); + }, + complete: rest => { + uni.hideLoading(); + // 是否成功,都会执行 + } + }) + }) +} + +// 上传文件 封装请求 +const uploadFile = (url, options) => { + let tempData = options || {} + return new Promise((resolve, reject) => { + uni.uploadFile({ + url: `${getApp().globalData.hostapi}${url}`, + filePath: tempData, + name: 'image', + fileType:'image', + formData: tempData, + header: { + 'Content-Type': 'multipart/form-data;charset=UTF-8', + 'Authorization': 'Bearer '+uni.getStorageSync('token') || '' + }, + success: res => { + if (res.statusCode == 200) { + let temp = JSON.parse(res.data) + if (temp.code == 0) { + resolve(temp) + } + } + } + }); + }) +} + +export default { + get: (url, options) => { + return request('get', url, options) + }, + // JOSN格式 + post: (url, options) => { + return request('post', url, options) + }, + // form-data格式 + postForm: (url, options) => { + return request('postForm', url, options) + }, + // 上传 + upload: (url, options) => { + return uploadFile(url, options) + } +} diff --git a/jsFile/style.scss b/jsFile/style.scss new file mode 100644 index 0000000..8f33261 --- /dev/null +++ b/jsFile/style.scss @@ -0,0 +1,1717 @@ +.main-bg { + position: absolute; + left: 0; + top: 0; + background-image: linear-gradient(#3c9f3c, #f7f7f7); + height: 70vh; + z-index: 1; + right: 0; +} + +.content { + position: relative; + z-index: 2; + margin: 0 20rpx; +} + +/* 首页 */ +.page-bg { + width: 100%; + position: absolute; + left: 0; + top: 0; + z-index: 0; +} + + +/* 搜索 */ +.search-bg { + width: 100%; + background-color: #ffffff; + padding: 17rpx 0; + position: sticky; + left: 0; + z-index: 1; +} + +.search { + display: flex; + align-items: center; + height: 68rpx; + background-color: #ffffff; + margin: 24rpx auto 0; + padding: 0 30rpx; + border-radius: 34rpx; +} + +.search-bg .search { + box-sizing: border-box; + width: calc(100% - 60rpx); + margin-top: 0; + border: 1px solid #e9e9e9; +} + +.search>image { + width: 40rpx; + height: 32rpx; + padding-right: 20rpx; + border-right: 2rpx solid #d3d3d3; +} + +.search .input { + width: calc(100% - 85rpx); + padding-left: 20rpx; + font-size: 28rpx; +} + +/* 通知 */ +.new-message { + font-size: 22rpx; + color: #ffffff; + text-align: center; + line-height: 42rpx; +} + +/* 轮播 */ +.banner { + width: 100%; + height: 350rpx; + border-radius: 10rpx; + margin: 0 auto; + overflow: hidden; +} + +/* 公告section */ +.section { + box-sizing: border-box; + margin: 24rpx auto 0; + background-color: #ffffff; + border-radius: 10rpx; + box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, .1); +} + +/* 分类导航 */ +.cate { + display: flex; + flex-wrap: wrap; + padding:0 20rpx 40rpx 20rpx; + margin-top: 25rpx; +} + +.cate .item { + display: flex; + flex-direction: column; + align-items: center; + width: 20%; + margin-top: 40rpx; + font-size: 24rpx; + color: #6e6e6e; +} + +.cate .item>image { + width: 114rpx; + height: 114rpx; +} + +/* 公告 */ +.notice { + display: flex; + align-items: center; + height: 82rpx; + padding: 0 24rpx; + margin: 22rpx auto 0; + font-size: 24rpx; + color: #666666; +} + +.notice .title { + display: flex; + justify-content: space-between; + align-items: center; + width: 134rpx; +} + +.notice .title>image { + height: 24rpx; +} + +.notice .msg { + width: calc(100% - 204rpx); + margin: 0 10rpx; +} + +.notice .more-btn { + width: 50rpx; + color: #999999; + text-align: right; +} + + +/* 热卖商品 */ +.hot-goods { + position: relative; +} + +.hot-goods-content { + padding:24rpx; + position: relative; + z-index: 1; + margin-bottom: 15rpx; + background-color: #fff; + border-radius: 10rpx 10rpx 0 0; +} + +.hot-goods .title { + display: flex; + justify-content: space-between; + align-items: center; + height: 38rpx; + font-size: 32rpx; + margin-top: 6rpx; + font-weight: bold; +} + +.hot-goods .title>text:last-child { + font-size: 24rpx; + color: #999999; + font-weight: normal; +} + +.hot-goods .list { + display: block; + white-space: nowrap; + width: 100%; +} + +.hot-goods .item { + box-sizing: border-box; + width:240rpx; + margin: 22rpx 15rpx 0 0; + padding: 12rpx 10rpx 20rpx; + background-color: #ffffff; + text-align: center; + overflow: hidden; + display: inline-block; +} + + +.hot-goods .item .img { + width: 240rpx; + height: 240rpx; + display: flex; + align-items: center; + justify-content: center; +} + +.hot-goods .item .img image { + width: 100%; + height: 100%; +} + +.hot-goods .item .name { + font-size: 26rpx; + line-height: 30rpx; + margin-top: 20rpx; + white-space:initial; +} +.hot-goods .item .price-bg{ + display: flex; + align-items: center; + justify-content: left; + margin-top: 10rpx; +} +.hot-goods .item .price { + display: flex; + justify-content: center; + align-items: flex-end; + height: 40rpx; + font-size: 24rpx; + line-height: 1.2; + color: #f72e2e; +} +.hot-goods .item .price-bg .price:nth-child(2) { + display: none; +} +.hot-goods .item .price>text:nth-of-type(2) { + font-size: 32rpx; + line-height: 1; +} + +/* 商品分类列表 */ +.goods-cate { + margin: 36rpx 0 0 20rpx; + overflow: hidden; +} + +.goods-cate .cate-list { + display: flex; + align-items: center; + height: 44rpx; +} + +.goods-cate .cate-list .cate-item { + line-height: 28rpx; + padding: 0 20rpx; + font-size: 31rpx; + border-right: 2rpx solid #d6d6d6; + white-space: nowrap; +} + +.goods-cate .cate-list .cate-item:first-child { + padding-left: 0; +} + +.goods-cate .cate-list .cate-item:last-child { + border-right: 0; +} + +.goods-cate .cate-list .cate-item .active { + color: #3d9f3d; + font-weight: bold; +} + +/* 商品列表 */ +.index-goods { + margin-top: 20rpx; +} +/* 公用按钮样式 */ +.login-btn { + width: 100%; + height: 98rpx; + line-height: 98rpx; + border:none; + background-color: #3a9e3a; + text-align: center; + color: #fff; + font-size: 30rpx; + letter-spacing: 1px; + margin-top: 40rpx; + border-radius: 20rpx; +} +/* 分类页面 */ +.classify { + display: flex; + background-color: #ffffff; +} + +.classify-left { + box-sizing: border-box; + width: 182rpx; + background-color: #f2f3f5; + padding-bottom: 98rpx; + position: fixed; + left: 0; +} + +.classify-left .classify-item { + width: 100%; + line-height: 98rpx; + text-indent: 30rpx; + font-size: 26rpx; +} + +.classify-left .classify-item.active { + background-color: #ffffff; + position: relative; +} + +.classify-left .classify-item.active::before, +.classify-left .classify-item.active::after { + content: ""; + display: block; + width: 14rpx; + height: 14rpx; + background-image: url('/static/icon/icon-radius.png'); + background-size: cover; + position: absolute; + right: 0; + top: -14rpx; + z-index: 1; +} + +.classify-left .classify-item.active::after { + transform: rotateZ(-90deg); + top: auto; + bottom: -14rpx; +} + +.classify-right { + box-sizing: border-box; + width: calc(100% - 182rpx); + padding: 0 20rpx 0 30rpx; + margin-left: 182rpx +} + +.classify-banner image { + width: 100%; + height: auto; +} + +.top-btns { + display: flex; + justify-content: space-between; + align-items: flex-end; + width: calc(100% - 230rpx); + height: 50rpx; + padding-left: 20rpx; + margin-top: 18rpx; + position: fixed; + left: 0; + z-index: 999; +} + +.top-btns .btn { + display: flex; + justify-content: center; + align-items: center; + width: 50rpx; + height: 50rpx; + border-radius: 100%; + background-color: rgba(0, 0, 0, .4); + position: relative; +} + +.top-btns .right { + display: flex; + justify-content: space-between; + align-items: center; +} + +.top-btns .btn .cart-num { + display: flex; + align-items: center; + justify-content: center; + width: 24rpx; + height: 24rpx; + border-radius: 100%; + background-color: #f72e2e; + font-size: 14rpx; + color: #ffffff; + position: absolute; + top: -4rpx; + right: 0; +} +.top-btns .btn button{ + width: 100%; + height: 100%; + background: none; + border: 0; + padding: 0; + opacity: 0; + position: absolute; + left: 0; + top: 0; + z-index: 1; +} + +/* 商品轮播 */ +.goods-banner { + box-sizing: border-box; + height: 750rpx; + background-color: #ffffff; +} + +.section-other { + box-sizing: border-box; + margin: 25rpx auto 0; + padding:20rpx 24rpx; + background-color: #ffffff; + border-radius: 10rpx; +} + +.goods-info { + margin-top:10rpx; +} + +.detail-price { + display: flex; + align-items: center; + position: relative; + line-height: 44rpx; +} + +.detail-price .price { + display: flex; + align-items: flex-end; + font-size: 26rpx; + line-height: 30rpx; + color: #f72e2e; + font-family: "Arial"; +} +.detail-price .amount { + position: absolute; + right: 0rpx; + top: 0; + font-size: 26rpx; + color: #333; + line-height: 40rpx; +} +.detail-price .price>text:nth-of-type(2) { + font-size: 44rpx; + line-height: 40rpx; + font-weight: bold; +} + +.goods-info .title { + font-size: 34rpx; + margin: 20rpx 0 0 0; + font-weight: bold; +} + +.goods-info .subtitle { + font-size: 24rpx; + opacity: .8; + margin-top: 14rpx; +} + +.goods-chose .chose-item { + display: flex; + font-size: 28rpx; + line-height: 36rpx; + justify-content: space-between; +} + +.goods-chose .chose-item .tit { + width: 86rpx; + font-weight: bold; +} + +.goods-chose .chose-item:nth-of-type(2) { + margin-top: 18rpx; +} + +.goods-chose .chose-item .txt { + display: flex; + flex-direction: column; + width: calc(100% - 86rpx); +} + +.goods-chose .chose-item .txt>text:nth-of-type(2) { + margin-top: 8rpx; +} + +.pull-title { + display: flex; + justify-content: center; + align-items: center; + padding: 40rpx 0 15rpx; + font-size: 36rpx; + color: #3a9e3a; + font-weight: bold; +} + +.pull-title::before, +.pull-title::after { + content: ""; + display: inline-block; + width: 36rpx; + height: 8rpx; + background-image: url('/static/icon/icon-spot-blue.png'); + background-size: cover; + margin: 5rpx 20rpx 0; +} + +.pull-title::after { + margin-left: 20rpx; +} + +.goods-details .rich { + font-size: 26rpx; + line-height: 48rpx; + padding:4rpx; +} + +/* 相关产品 */ +.relevant-goods { + padding: 20rpx 0; +} + +/* 返回顶部 */ +.back-top { + display: flex; + justify-content: center; + align-items: center; + width: 70rpx; + height: 70rpx; + border: 2rpx solid #d9dcda; + border-radius: 100%; + background-color: #ffffff; + overflow: hidden; + position: fixed; + right: 25rpx; + bottom: 300rpx; +} + +.back-top>image { + width: 33rpx; + height: 33rpx; +} + +.detail-foot { + display: flex; + align-items: center; + justify-content: space-between; + padding:16rpx 20rpx; + background-color: #ffffff; + box-shadow: 0 0 16rpx rgba(146, 146, 146, .1); + position: fixed; + bottom: 0; + left: 0; + right:0; + z-index: 999; + border-top: 1px solid #ececec; +} + +.detail-foot .collection-btn { + display: flex; + flex-direction: column; + align-items: center; + font-size: 26rpx; + line-height: 1.5; + width: 100rpx; +} + +.detail-foot .collection-btn image { + width: 35rpx; + height: 33rpx; + margin-bottom: 10rpx; +} + +.detail-foot .cart-btn { + display: flex; + justify-content: space-between; + align-items: center; + width: calc(100% - 175rpx); + margin-left: 20rpx; +} + +.detail-foot .cart-btn .btn { + width: 100%; + line-height: 92rpx; + border-radius: 46rpx; + text-align: center; + color: #ffffff; + background-color: #3a9e3a; + font-size: 30rpx; +} + +.detail-foot .cart-btn .btn:nth-of-type(2) { + width: 230rpx; + background-color: #c58a5b; +} + +/* 搜索页面 */ +.search-screen { + display: flex; + justify-content: space-between; + align-items: center; + height: 78rpx; + padding: 0 20rpx; + border-radius: 20rpx 20rpx 0 0; + background-color: #ffffff; + border-bottom: 2rpx solid #eaeaea; + position: sticky; + left: 0; + z-index: 999; +} + +.search-screen .item { + display: flex; + align-items: center; + font-size: 28rpx; +} + +.search-screen .item:nth-of-type(1) { + margin-left: 20rpx; +} + +.search-screen .item>image { + margin-left: 6rpx; +} + +.search-screen .item .btn { + display: flex; + flex-direction: column; + justify-content: space-between; + height: 26rpx; + margin: 2rpx 0 0 6rpx; +} + +.no-more { + font-size: 20rpx; + line-height: 1.2; + padding: 40rpx 0; + text-align: center; + color: rgba(51, 51, 51, .4); + background-color: #ffffff; +} + +/* 弹窗 */ +.pull-pop-bg { + display: flex; + justify-content: flex-end; + align-items: flex-end; + width: 100vw; + height: 100vh; + background-color: rgba(0, 0, 0, .7); + position: fixed; + left: 0; + top: 0; + z-index: 9999; +} + +.screen-pop { + box-sizing: border-box; + width: 590rpx; + background-color: #ffffff; + position: relative; +} + +.screen-pop>view { + padding: 30rpx 42rpx 26rpx 38rpx; + border-bottom: 12rpx solid #f7f7f7; +} + +.screen-pop>view:nth-last-of-type(1), +.screen-pop>view:nth-last-of-type(2) { + border-bottom: 0; +} + +.screen-pop .close-btn{ + display: flex; + align-items: center; + justify-content: center; + width: 50rpx; + height: 50rpx; + padding: 0; + border: 0; + position: absolute; + top: 0; + right: 0; +} +.screen-pop .close-btn image{ + width: 21rpx; + height: 21rpx; +} + +.price-type>text, +.price-section>text { + display: block; + font-size: 28rpx; + line-height: 32rpx; + font-weight: bold; + margin-bottom: 22rpx; +} + +.price-type-list { + display: flex; + align-items: center; +} + +.price-type-list>.item, +.price-section-list>input { + display: flex; + justify-content: center; + align-items: center; + width: 173rpx; + height: 58rpx; + border-radius: 4rpx; + background-color: #eaeaea; + margin-right: 8rpx; + font-size: 24rpx; +} + +.price-type-list>.item.active{ + background-color: #3a9e3a; + color: #ffffff; +} + +.price-section-list { + display: flex; + justify-content: space-between; + align-items: center; +} + +.price-section-list>input { + width: 222rpx; + margin: 0; + text-align: center; +} + +.price-section-list>text { + width: 26rpx; + height: 2rpx; + background-color: #333333; +} + +.screen-pop .submit-btns { + display: flex; + justify-content: space-between; + width: calc(100% - 80rpx); + height: 80rpx; + position: absolute; + left: 0; + bottom: 0; + z-index: 1; +} + +.screen-pop .submit-btns>text { + box-sizing: border-box; + display: flex; + justify-content: center; + align-items: center; + width: 170rpx; + border-radius: 10rpx; + border: 2rpx solid #d6d6d6; + font-size: 30rpx; +} + +.screen-pop .submit-btns>text:last-child { + width: calc(100% - 185rpx); + border: 0; + background-color: #3a9e3a; + color: #ffffff; +} + +/* 购物车页面 */ +.cart-addr { + display: flex; + align-items: center; + justify-content: space-between; + height: 55rpx; + padding: 0 38rpx; + font-size: 24rpx; + line-height: 1.5; + color: #343434; + margin-bottom: 20rpx; +} + +.cart-addr .edit-btn{ + color: #3a9e3a; +} +.cart-addr .del-btn{ + color: #f72e2e; +} + +.cart-addr .addr { + display: flex; + align-items: center; + width: calc(100% - 70rpx); +} + +.cart-addr .addr image { + width: 19rpx; + height: 23rpx; + margin: 3rpx 9rpx 0 0; +} + +.all-chose { + display: flex; + align-items: center; + padding: 0 18rpx; + height: 80rpx; + margin: 0 auto; + background-color: #ffffff; + border-radius: 10rpx 10rpx 0 0; + border-bottom: 2rpx solid #eaeaea; +} + +.all-chose>text { + margin-left: 10rpx; + font-size: 28rpx; + color: #3a9e3a; +} + +.radio { + box-sizing: border-box; + display: flex; + justify-content: center; + align-items: center; + width: 36rpx; + height: 36rpx; + border-radius: 100%; + border: 2rpx solid #c9c9c9; +} + +.radio image { + width: 22rpx; + height: 16rpx; +} + +.radio.checked { + background-color: #3a9e3a; + border: 2rpx solid #3a9e3a; +} + +.cart-list { + margin: 0 auto; + background-color: #ffffff; +} + +.cart-list .item { + display: flex; + justify-content: space-between; + padding: 34rpx 18rpx; + border-bottom: 2rpx solid #eaeaea; +} + +.cart-list .item:last-child { + border-bottom: 0; +} + +.cart-list .item .txt-bg { + display: flex; + justify-content: space-between; + align-items: center; + width: calc(100% - 60rpx); +} + +.cart-list .item .img, +.cart-list .item .img image { + width: 187rpx; + height: 187rpx; +} + +.cart-list .item .txt { + width: calc(100% - 205rpx); +} + +.cart-list .item .tit { + font-size: 26rpx; + line-height: 1.8; +} + +.cart-list .item .price-box { + display: flex; + justify-content: space-between; + align-items: center; +} + +.cart-list .item .price-bg { + display: flex; + align-items: center; + width: calc(100% - 120rpx); + margin-top: 45rpx; +} + +.cart-list .item .price { + display: flex; + align-items: flex-end; + font-size: 24rpx; + line-height: 30rpx; + color: #f72e2e; +} + +.cart-list .item .price>text:nth-of-type(2) { + font-size: 34rpx; + line-height: 40rpx; +} + +.cart-list .item .btns { + display: flex; + justify-content: space-between; + align-items: center; + width: 120rpx; +} + +.cart-list .item .btns input { + box-sizing: border-box; + width: 60rpx; + height: 40rpx; + padding: 0 6rpx; + border-radius: 4rpx; + background-color: #f5f5f5; + text-align: center; + font-size: 24rpx; +} + +.cart-list .item .btns image { + width: 19rpx; +} + +.total-price { + display: flex; + align-items: center; + justify-content: space-between; + height: 120rpx; + padding: 0 20rpx; + box-shadow: 0 0 16rpx rgba(146, 146, 146, .12); + background-color: #ffffff; + position: fixed; + left: 0; + right: 0; + bottom: 98rpx; + z-index: 999; +} + +.total-price .txt, +.total-price .txt>view { + display: flex; + align-items: center; +} + +.total-price .chose-all { + margin-right: 30rpx; + font-size: 26rpx; +} + +.total-price .chose-all>text { + margin-left: 8rpx; +} + +.total-price .price-box { + font-size: 26rpx; +} + +.total-price .price { + display: flex; + align-items: flex-end; + font-size: 24rpx; + line-height: 30rpx; + color: #f72e2e; +} + +.total-price .price>text:nth-of-type(2) { + font-size: 34rpx; + line-height: 40rpx; +} + +.total-price .submit-btn, +.confirm-foot .submit-btn { + display: flex; + justify-content: center; + align-items: center; + width: 200rpx; + height: 76rpx; + border-radius: 38rpx; + background-color: #3a9e3a; + font-size: 30rpx; + color: #ffffff; +} + +.total-price .submit-btn.grey{ + background-color: #999999; +} + +.total-price .submit-btn>text { + font-size: 28rpx; + margin-left: 4rpx; +} + + +/* 订单确认页面 */ +.order-addr { + display: flex; + justify-content: space-between; + align-items: center; + font-size: 28rpx; + line-height: 1.6; +} + +.order-addr .address { + display: flex; + align-items: center; +} + +.order-addr .address .type { + display: flex; + justify-content: center; + align-items: center; + width: 60rpx; + height: 34rpx; + background-color:#3a9e3a; + font-size: 22rpx; + line-height: 1.2; + color: #ffffff; + border-radius: 20rpx; + margin-right: 10rpx; +} + +.order-addr .street { + font-size: 30rpx; + font-weight: bold; + margin-top: 2rpx; +} + +.order-addr .name>text { + margin-right: 15rpx; +} + + +.order-detail-addr{ + justify-content: flex-start; + align-items: flex-start; +} +.order-detail-addr .addt-icon{ + width: 25rpx; + height: 29rpx; + margin: 9rpx 15rpx 0 0; +} +.order-detail-addr .txt{ + line-height: 45rpx; +} + + +.pay-type, +.pay-type .type { + display: flex; + justify-content: space-between; + align-items: center; + font-size: 28rpx; +} + +.pay-type .type image { + margin-right: 10rpx; +} + +.order-list { + padding: 0; +} + +.order-list .item { + display: flex; + justify-content: space-between; + align-items: center; + padding: 25rpx 20rpx; + border-bottom: 2rpx solid #eaeaea; +} + +.order-list .item:last-child { + border-bottom: 0; +} + +.order-list .img, +.order-list .img>image { + width: 180rpx; + height: 180rpx; +} +.order-list .img>image { + border: 1px solid #ececec; +} +.order-list .txt { + width: calc(100% - 210rpx); + font-size: 28rpx; +} +.order-list .txt .tit { + line-height: 1.5; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + font-size: 30rpx; +} +.order-list .txt .sting { + line-height: 1.5; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp:1; + -webkit-box-orient: vertical; + font-size: 24rpx; + margin-top: 6rpx; + color: #999; +} +.order-list .txt .price-box { + display: flex; + justify-content: space-between; + align-items: center; + margin-top: 50rpx; +} + +.order-list .txt .price-bg, +.confirm-foot .actual-pay { + display: flex; + align-items: center; +} + +.order-list .txt .price, +.confirm-foot .actual-pay .price { + display: flex; + align-items: flex-end; + font-size: 24rpx; + line-height: 30rpx; + color: #f72e2e; +} + +.order-list .txt .price>text:nth-of-type(2), +.confirm-foot .actual-pay .price>text:nth-of-type(2) { + font-size: 36rpx; + line-height: 40rpx; +} + +.order-info .item { + display: flex; + align-items: center; + justify-content: space-between; + font-size: 28rpx; + line-height: 64rpx; + margin-bottom: 14rpx; +} +.order-info .item .input { + width: 70%; + text-align: right; + border: none; + font-size: 26rpx; +} +.order-info .item .import { + color: #f00; + margin-right: 8rpx; +} +.order-info .item>text:nth-of-type(2) { + font-size: 26rpx; +} + +.order-info .item:nth-of-type(even)>text:nth-of-type(2) { + color: #f72e2e; +} + +.order-info .item:last-child { + justify-content: flex-start; + flex-wrap: wrap; + margin-bottom: 0; +} + +.order-info .item:last-child>text:nth-of-type(2) { + font-weight: normal; + color: #666666; + margin-left: 24rpx; +} + +.order-info .item>input { + width: 100%; + height: 50rpx; + margin-top: 15rpx; + border-bottom: 2rpx solid #eaeaea; + font-size: 26rpx; +} + +.order-info .item-one{ + justify-content: flex-start; + margin-bottom: 0; + line-height: 62rpx; +} +.order-info .item-one>text:nth-of-type(1), +.order-info .item-two>text:nth-of-type(1){ + color: #666666; +} + +.order-info .item-one>text:nth-of-type(2){ + font-weight: normal; + color: #333333 !important; +} + +.order-info .item-two{ + margin-bottom: 0; + line-height: 62rpx; +} +.order-info .item-two:last-child{ + justify-content: space-between; + flex-wrap: nowrap; +} + +.order-info .item-two .price { + display: flex; + justify-content: center; + align-items: flex-end; + height: 40rpx; + font-size: 22rpx; + line-height: 32rpx; +} + +.order-info .item-two .price>text:nth-of-type(2) { + font-size: 28rpx; + line-height: 38rpx; +} +.order-info .item-two:last-child .price{ + color: #f72e2e; +} + +.confirm-foot { + display: flex; + align-items: center; + justify-content: space-between; + height: 116rpx; + padding: 0 20rpx; + box-shadow: 0 0 16rpx rgba(146, 146, 146, .12); + background-color: #ffffff; + position: fixed; + left: 0; + bottom: 0; + right: 0; + z-index: 999; +} + +.confirm-foot .actual-pay>text { + font-size: 24rpx; +} + +.confirm-foot .submit-btn { + width: 246rpx; +} + +/* 提示弹窗 */ +.pull-pop-center { + justify-content: center; + align-items: center; +} + +.pull-pop { + box-sizing: border-box; + width: calc(100% - 236rpx); + padding: 45rpx 35rpx 50rpx; + background-color: #ffffff; + border-radius: 20rpx; + text-align: center; + position: relative; +} + +.pull-pop .title { + font-size: 36rpx; + line-height: 40rpx; + color: #f72e2e; +} + +.pull-pop .msg { + font-size: 26rpx; + line-height: 1.6; + margin-top: 20rpx; +} + +.pull-pop .close-btn { + display: flex; + justify-content: center; + align-items: center; + width: 50rpx; + height: 50rpx; + position: absolute; + right: 10rpx; + top: 0; + z-index: 99; +} + +.pull-pop .close-btn>image { + width: 21rpx; + height: 21rpx; +} + +.pull-pop .btns { + display: flex; + justify-content: center; + margin-top: 40rpx; +} + +.pull-pop .btns .btn { + display: flex; + align-items: center; + justify-content: center; + width: 246rpx; + height: 76rpx; + border-radius: 38rpx; + background-color: #3a9e3a; + font-size: 32rpx; + color: #ffffff; + letter-spacing: 2rpx; + text-indent: 2rpx; +} + +/* 地址弹窗 */ +.address-pop { + box-sizing: border-box; + width: 100%; + padding: 10rpx 20rpx 30rpx; + background-color: #f7f7f7; + border-radius: 20rpx 20rpx 0 0; + position: relative; +} + +.address-pop .title { + font-size: 28rpx; + line-height: 90rpx; + text-align: center; +} + +.address-pop .addr-list { + height: 650rpx; +} +.address-pop .addr-list .txt { + width: 100%; +} +.address-list .item, +.address-pop .item { + display: flex; + justify-content: space-between; + align-items: center; + background-color: #ffffff; + padding: 20rpx; + margin-bottom: 20rpx; + border-radius: 10rpx; + font-size: 24rpx; + line-height: 1.4; + border: 1px solid #fff; +} + +.address-pop .on { + border: 1px solid #f00; +} +.address-list .item .address, +.address-pop .item .address { + display: flex; + align-items: center; +} +.address-list .item .address .type, +.address-pop .item .address .type { + display: flex; + justify-content: center; + align-items: center; + width: 60rpx; + height: 34rpx; + background-color: #3a9e3a; + font-size: 20rpx; + line-height: 1.2; + color: #ffffff; + border-radius: 20rpx; + margin-right: 10rpx; +} + +.address-list .item .street, +.address-pop .item .street { + font-size: 28rpx; + font-weight: bold; + margin: 10rpx 0 12rpx; +} + +.address-list .item .name>text, +.address-pop .item .name>text { + margin-right: 15rpx; +} + +.address-pop .add-address-btn { + display: flex; + justify-content: center; + align-items: center; + width: 584rpx; + height: 95rpx; + margin: 40rpx auto 0; + background-color: #3a9e3a; + border-radius: 10rpx; + font-size: 30rpx; + color: #ffffff; + letter-spacing: 2rpx; + text-indent: 2rpx; +} + +.address-pop .close-btn { + display: flex; + justify-content: center; + align-items: center; + width: 50rpx; + height: 50rpx; + position: absolute; + right: 10rpx; + top: 0; + z-index: 99; +} + +.address-pop .close-btn>image { + width: 21rpx; + height: 21rpx; +} +.address-list .btn, +.address-pop .btn{ + width: 32rpx; + height: 32rpx; +} + +/* 新增地址 */ +.info-list{ + padding-top: 0; + margin-top: 0; +} +.info-list .item{ + display: flex; + align-items: center; + height: 95rpx; + border-bottom: 2rpx solid #eaeaea; + font-size: 26rpx; +} +.info-list .item>text{ + width: 172rpx; + text-indent: 4rpx; +} +.info-list .item>input{ + width: calc(100% - 172rpx); +} +.info-list .tags{ + display: flex; + align-items: center; + width: calc(100% - 172rpx); +} +.info-list .tags>text{ + display: flex; + align-items: center; + justify-content: center; + width: 102rpx; + height: 54rpx; + border-radius: 5rpx; + border: 2rpx solid #eaeaea; + margin-right: 10rpx; + letter-spacing: 2rpx; + text-indent: 2rpx; +} +.info-list .tags>text:last-child{ + margin-right: 0; +} +.info-list .tags>text.checked{ + background-color: #3a9e3a; + border: 2rpx solid #3a9e3a; + color: #ffffff; +} + +.set-default{ + display: flex; + align-items: center; + font-size: 26rpx; +} +.set-default .radio.checked{ + background-color: #c58a5b; + border: 2rpx solid #c58a5b; +} +.set-default>text{ + margin-left: 10rpx; +} + +.preserve-btn{ + display: flex; + align-items: center; + justify-content: center; + height: 95rpx; + margin: 40rpx auto 0; + background-color: #3a9e3a; + border-radius: 10rpx; + font-size: 30rpx; + color: #ffffff; + letter-spacing: 4rpx; + text-indent: 4rpx; +} + +.information{ + padding: 0 18rpx; + margin-top: 0; +} + +.information .item{ + display: flex; + justify-content: space-between; + align-items: center; + height: 95rpx; + border-bottom: 2rpx solid #eaeaea; + font-size: 26rpx; +} +.information .item:first-child{ + height: 110rpx; +} +.information .item:last-child{ + border-bottom: 0; +} +.information .item .edit-btn{ + width: 12rpx; + height: 21rpx; + margin-left: 20rpx; +} +.information .txt{ + display: flex; + align-items: center; +} +.information .avatar, +.information .avatar>image{ + width: 90rpx; + height: 90rpx; + border-radius: 100%; +} +.information .txt>input{ + text-align: right; +} + +/* 弹窗 */ +.information-pop input{ + width: 100%; + height: 60rpx; + border-bottom: 2rpx solid #eaeaea; + margin-top: 30rpx; + text-align: left; + font-size: 26rpx; +} + +/* 地址列表 */ +.address-list{ + margin: 0 auto; +} +.address-list .btns{ + display: flex; + justify-content: space-between; + width: 88rpx; +} + +.address-btn{ + width: 80%; + background-color: #f7f7f7; + position: fixed; + left: 10%; + bottom: 98rpx; + z-index: 999; +} +.address-btn .preserve-btn{ + margin: 20rpx auto; +} + +/* 订单页面 */ +.order-nav{ + display: flex; + align-items: center; + justify-content: space-between; + height: 78rpx; + background-color: #ffffff; + padding: 0 30rpx; + position: sticky; + left: 0; + z-index: 999; +} +.order-nav .item{ + display: flex; + align-items: center; + height: 76rpx; + border-bottom: 2rpx solid #ffffff; + font-size: 28rpx; +} +.order-nav .item.active{ + color: #49a149; + border-bottom: 2rpx solid #49a149; +} + +.order-items .code{ + display: flex; + justify-content: space-between; + align-items: center; + height: 46rpx; + font-size: 24rpx; + color: #3a9e3a; +} +.order-items .code>text:first-child{ + color: #333333; + opacity: .7; +} +.order-items .info{ + display: flex; + justify-content: space-between; + align-items: center; + padding: 10rpx 0 15rpx; +} +.order-items .left{ + display: flex; + /* justify-content: space-between; */ + align-items: flex-start; + width: 480rpx; +} +.order-items .img, +.order-items .img>image{ + width: 162rpx; + height: 162rpx; +} +.order-items .txt{ + font-size: 28rpx; + line-height: 1.5; + margin: 10rpx 0 0 16rpx; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp:1; + -webkit-box-orient: vertical; +} + +.order-items .sting { + line-height: 1.5; + margin-left:16rpx; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp:1; + -webkit-box-orient: vertical; + font-size: 24rpx; + margin-top: 6rpx; + color: #999; +} +.order-items .price{ + display: flex; + align-items: flex-end; + font-size: 24rpx; + line-height: 30rpx; +} +.order-items .price>text:nth-of-type(2){ + font-size: 28rpx; + line-height: 34rpx; +} +.order-items .number{ + font-size: 24rpx; + color: #6e6e6e; + text-align: center; + margin-top: 10rpx; +} +.order-items .btns{ + display: flex; + justify-content: flex-end; + align-items: center; +} +.order-items .btns .btn{ + display: flex; + align-items: center; + justify-content: center; + box-sizing: border-box; + width: 156rpx; + height: 62rpx; + border: 2rpx solid #eaeaea; + border-radius: 31rpx; + margin-left: 12rpx; + font-size: 24rpx; + color: #6c6c6c; +} +.order-items .btns .orange{ + background-color: #3a9e3a; + border: 2rpx solid #3a9e3a; + color: #ffffff !important; +} +.order-items .btns .orange-other{ + border: 2rpx solid #3a9e3a; + color: #c58a5b !important; +} +.order-items .btns .btn:first-child{ + margin-left: 0; +} + +.service-btns { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0; + z-index: 9; +} + +.kong { + width: 100%; + background-color: #fff; + padding: 30rpx 0 60rpx 0; + box-sizing: border-box; + border-radius: 20rpx; +} + +.order-del-btns { + background-color: #fff; + position: fixed; + left: 0; + right: 0; + bottom: 0; + padding: 20rpx; + box-sizing: border-box; +} \ No newline at end of file diff --git a/jsFile/tools.js b/jsFile/tools.js new file mode 100644 index 0000000..35e489b --- /dev/null +++ b/jsFile/tools.js @@ -0,0 +1,624 @@ +const tools = { + timer:'', + /** + * @description 埋点倒计时 + */ + daoTime(){ + let daoTime = uni.getStorageSync('daoTime') + if(daoTime==''){//初次判断倒计时是否为空 + uni.setStorageSync('daoTime',60)//设置倒计时 + daoTime = uni.getStorageSync('daoTime') + this.timer = setInterval(()=>{ + uni.setStorageSync('daoTime',daoTime--)//设置倒计时 + if(uni.getStorageSync('daoTime')<=0 || uni.getStorageSync('maiList').length==5){ + uni.removeStorageSync('daoTime')//清空倒计时 + clearInterval(this.timer)//关闭倒计时 + // console.log('上/报,埋点'); + uni.removeStorageSync('maiList')//清空上报参数 + this.daoTime()//重新倒计时 + } + },1000) + } else {//继续当前倒计时倒计 + this.timer = setInterval(()=>{ + uni.setStorageSync('daoTime',daoTime--)//设置倒计时 + if(uni.getStorageSync('daoTime')<=0 || uni.getStorageSync('maiList').length==5){ + uni.removeStorageSync('daoTime')//清空倒计时 + clearInterval(this.timer)//关闭倒计时 + // console.log('上报,埋点'); + uni.removeStorageSync('maiList')//清空上报参数 + this.daoTime()//重新倒计时 + } + },1000) + } + }, + /** + * @description 关闭倒计时 + */ + closeTimer(){ + clearInterval(this.timer) + console.log('倒计时清空了'); + }, + + /** + * @description 获取字符串中的数字 + */ + obtainCount(str) { + return parseInt(str.replace(/[^0-9]/ig,"")) + }, + /** + * @description 获取微信扫码后的结果,并解析 + */ + unescapeEv(op) { + let str = unescape(op.q); + return str; + }, + /** + * @description 手机号验证 + */ + isPhone:function(phone){ + // 手机号正则表达式 + let reg_tel = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/; + return !reg_tel.test(phone); + }, + /** + * @description 电子邮箱验证 + */ + isEmail(email){ + let reg_email = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; + return !reg_email.test(email); + }, + /** + * @description 身份证验证 + */ + isIdentity(identity) { + let reg_identity = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; + return !reg_identity.test(identity); + }, + /** + * @description 手机号中间四位用"****"带替 + */ + hideMPhone(phone){ + return `${phone.substr(0, 3)}****${phone.substr(7)}` + }, + /** + * @description 手机号中间加字符 + */ + phoneAddChat(phone,startNum=3,endNum=7,character=' '){ + let phoneStr = phone; + phoneStr = phoneStr.replace(/\s*/g, ""); + var phoneArr = []; + for(var i = 0; i < phoneStr.length; i++){ + if (i==startNum||i==endNum){ + phoneArr.push(`${character}` + phoneStr.charAt(i)); + } else { + phoneArr.push(phoneStr.charAt(i)); + } + } + phone = phoneArr.join(""); + return phone; + }, + /** + * @description 昵称从第一个字开始,后面的都用"*"代替 + */ + hideName(name,num){ + return `${name.substr(0, 1)}****${name.substr(name.length-1)}` + }, + /** + * @description 金额转换各三位数使用英文","隔开 + */ + changeNum(num){ + if (num) { + // 针对整数部分进行格式化处理,这是此方法的核心,也是稍难理解的一个地方,逆向的来思考或者采用简单的事例来实现就容易多了 + /* + 也可以这样想象,现在有一串数字字符串在你面前,如果让你给他家千分位的逗号的话,你是怎么来思考和操作的? + 字符串长度为0/1/2/3时都不用添加 + 字符串长度大于3的时候,从右往左数,有三位字符就加一个逗号,然后继续往前数,直到不到往前数少于三位字符为止 + */ + num = num+''; // 数字转换为字符串,数字是没有.length属性的 + for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++) { + num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3)) + } + // 将数据(符号、整数部分、小数部分)整体组合返回 + return num; + } + }, + /** + * @description 整数添加.00,小数就不添加 + */ + addXiaoShu(num){ + // console.log(num,'添加小数点后两位小数'); + let str = num.toString(); + str = str*1; + str = str.toFixed(2); + str = str+''; + return str.includes('.') ? str : str = num + '.00'; + }, + // type:+加、-减、*乘、/除 + // len:小数后保留几位 + /** + * @description 数字换算解决失精度问题 + */ + operationEv(num1,num2,type,len=0){ + // 将数字转化成字符串 + num1 = num1.toString(); + num2 = num2.toString(); + // 获取小数点的位置 + var index1 = num1.indexOf("."); + var index2 = num2.indexOf("."); + // 如果小数点存在,那么就再获取各自的小数位数 + var ws1 = 0; + var ws2 = 0; + if(index1 != -1){ + ws1 = num1.split(".")[1].length; + } + if(index2 != -1){ + ws2 = num2.split(".")[1].length; + } + // 看谁的小数位数大,谁的小数位数小 + var bigger = (ws1 > ws2) ? ws1 : ws2; + var smaller = (ws1 < ws2) ? ws1 : ws2; + // 计算得到需要补齐的0的个数 + var zerosCount = bigger - smaller; + // 好了,现在不管三七二十,全部去除小数点 + num1 = num1.replace(".",""); + num2 = num2.replace(".",""); + // 比较num1和num2谁大,比较方法就是看谁是smaller,是smaller的一方就补0 + if(ws1 == smaller){ + for (var i = 0; i < zerosCount; i++) { + num1 += "0"; + } + } else { + for (var i = 0; i < zerosCount; i++) { + num2 += "0"; + } + } + // 开始计算 + var sum = ""; + if(type=="+"){ + // 加 + sum = parseInt(num1) + parseInt(num2); + } + if(type=="-"){ + // 减 + sum = parseInt(num1) - parseInt(num2); + } + if(type=="*"){ + // 乘 + sum = parseInt(num1) * parseInt(num2); + } + if(type=="/"){ + // 除 + sum = parseInt(num1) / parseInt(num2); + } + // 根据较大的小数位数计算倍数 + var beishu = 1; + for (var i = 0; i < bigger; i++) { + beishu = beishu*10; + } + sum = sum/beishu; + if(type=="*"){ + switch (bigger){ + case 1: + sum = sum / 10; + break; + case 2: + sum = sum / 100; + break; + case 3: + sum = sum / 1000; + break; + } + } + if(type=="/"){ + switch (bigger){ + case 1: + sum = sum * 10; + break; + case 2: + sum = sum * 100; + break; + case 3: + sum = sum * 1000; + break; + } + } + len!=0 ? sum = sum.toFixed(len) : ''; + return sum; + }, + /** + * @description 金额输入框验证 + */ + checkPrice(number,zong){ + let reg = /^[0-9]*$/;//数字正则表达式 + let newObj = {} + zong = parseInt(zong).toString()//取小数点左边的整数 + if(!reg.test(number)){//不是数字时 + newObj = { + len:zong.length,//动态设置长度 + val:zong//动态设置值正整数的总金额 + } + } else {//是数字时 + newObj = { + len:zong.length, + val:number//动态设置当前输入的值 + } + if(number*1 > zong*1){//输入的金额大于总金额 + newObj.val = zong//赋值总金额 + } + } + return newObj + }, + /** + * @description 文本提示 + */ + showToast: function(msg, icon='none',time) { + // 弹框显示时间:默认2秒 + var newTime = 2000 + if (time) {newTime = time;} + return uni.showToast({ + title: msg, + icon: icon, + duration:newTime + }) + }, + + /** + * @description 富文本处理 + */ + escape2Html(str) { + var arrEntities = { 'lt': '<', 'gt': '>', 'nbsp': ' ', 'amp': '&', 'quot': '"' }; + return str.replace(/&(lt|gt|nbsp|amp|quot|src);/ig, function (all, t) { + return arrEntities[t]; + }) + .replace(']*src=['"]([^'"]+)[^>]*>/gi, (match, p1) => { + return ` -1 ? p1 : 'https://guofu.scdxtc.cn' + p1}' />` + }) + }, + /** + * @description 检查网络状态 + */ + networkStatus(){ + uni.getNetworkType({ + success: (res)=> { + console.log('当前网络状态:',res.networkType);//none:当前无网络连接 + if(res.networkType=='none'){ + uni.setStorageSync('isNet',false) + } else { + uni.setStorageSync('isNet',true); + // 微信小程序原生API性能优化 + // #ifdef MP-WEIXIN + // 连网下,检测小程序是否有更新 + this.checkUpdate(); + // #endif + } + } + }); + }, + /** + * @description app、小程序的检测版本并更新 + */ + checkUpdate(){ + // 检测app + // #ifdef APP-PLUS + + // #endif + //检测小程序 + // #ifdef MP-WEIXIN + var self = this; + // 获取小程序更新机制兼容 + if (wx.canIUse('getUpdateManager')) { + const updateManager = wx.getUpdateManager();//1. 检查小程序是否有新版本发布 + updateManager.onCheckForUpdate(function(res) {// 请求完新版本信息的回调 + if (res.hasUpdate) { + //检测到新版本,需要更新,给出提示 + wx.showModal({ + title: '更新提示', + content: '检测到新版本,是否下载新版本并重启小程序?', + success: function(res) { + if (res.confirm) { + //2. 用户确定下载更新小程序,小程序下载及更新静默进行 + self.downLoadAndUpdate(updateManager) + // 清除所有缓存 + uni.clearStorage(); + uni.clearStorageSync(); + } else if (res.cancel) { + //用户点击取消按钮的处理,如果需要强制更新,则给出二次弹窗,如果不需要,则这里的代码都可以删掉了 + wx.showModal({ + title: '温馨提示~', + content: '本次版本更新涉及到新的功能添加,旧版本无法正常访问的哦~', + showCancel:false,//隐藏取消按钮 + confirmText:"确定更新",//只保留确定更新按钮 + success: function(res) { + if (res.confirm) { + //下载新版本,并重新应用 + self.downLoadAndUpdate(updateManager) + } + } + }) + } + } + }) + } + }) + } else { // 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示 + wx.showModal({ + title: '提示', + content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。' + }) + } + // #endif + }, + // 下载小程序新版本并重启应用 + downLoadAndUpdate(updateManager){ + var self = this; + wx.showLoading(); //静默下载更新小程序新版本 + updateManager.onUpdateReady(function () { + wx.hideLoading(); //新的版本已经下载好,调用 applyUpdate 应用新版本并重启 + updateManager.applyUpdate(); + // 清除缓存 + uni.clearStorageSync(); + uni.clearStorage(); + }) + updateManager.onUpdateFailed(function () { // 新的版本下载失败 + wx.showModal({ + title: '已经有新版本了哟~', + content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~', + }) + }) + }, + /** + * @description 文本复制 + */ + clickCopy(data){ + uni.setClipboardData({ + data: data, + success: ()=> { + uni.showToast({title: '复制成功',duration: 2000,icon: 'none'}); + } + }); + }, + authTimer:null, + /** + * @description 判断是否授权,没授权,前往登录页面授权 + */ + judgeAuth(){ + let auth = false; + clearTimeout(this.authTimer); + if(!uni.getStorageSync('userInfo').mobile) { + // this.showToast('请授权登录'); + this.authTimer = setTimeout(()=>{ + uni.reLaunch({url:'/pagesA/login/login'}); + },200) + } else { + auth = true; + } + + console.log(auth,'为true就是已登录') + return auth; + }, + /** + * @description 判断当前环境:清空日志输出 + */ + currentContext(){ + // #ifdef APP-PLUS + if(uni.getSystemInfoSync().platform != "devtools"){//devtools:开发版 值域为:ios、android、mac(3.1.10+)、windows(3.1.10+)、linux(3.1.10+) + // console.log = () =>{} + } + // #endif + // 微信小程序原生API性能优化 + // #ifdef MP-WEIXIN + let hInfo = wx.getAccountInfoSync(); + // console.log(hInfo.envVersion);//develop:开发版 trial:体验版 release:正式版 + if(hInfo.miniProgram.envVersion == "release"){ + // 清除所有输出日志 + console.log = () =>{}; + // 开启埋点倒计时 + // this.daoTime(); + } + // #endif + }, + /** + * @description 禁止小程序使用右上角分享 + */ + disableShareEv(){ + // #ifdef MP-WEIXIN + wx.hideShareMenu({ + menus: ['shareAppMessage', 'shareTimeline'] + }) + // #endif + }, + /** + * @description 获取当前页面完整url + */ + obtainPagePath(){ + let pages = getCurrentPages(); + // 获取纯页面路径 + let route = pages[pages.length - 1].route; + // 获取当前页面url,带参数 + let routeParam = pages[pages.length - 1].$page.fullPath; + // console.log(routeParam.options,'获取当前url参数'); + if(routeParam.indexOf('/pagesA/login')==-1){ + uni.setStorageSync('url',route); + uni.setStorageSync('page-path-options',routeParam); + } + }, + /** + * @description 拨打电话 + * @param {Number} phone + */ + countCustomer(phone){ + const res = uni.getSystemInfoSync(); + let phoneList = []; + if(phone!==''){ + phoneList.push(phone); + } + uni.showActionSheet({ + itemList:phoneList, + itemColor:'#1981ff', + success: (res) => { + uni.makePhoneCall({ + phoneNumber:phoneList[res.tapIndex] + }) + } + }) + }, + /** + * @description 图片选择 + * @param {Number} count + */ + uploadImg(count=1) { + let imgArr = []; + uni.chooseImage({ + count:count, + sizeType:['compressed'], + sourceType:['album','camera'], + success: (res) => { + let files = res.tempFilePaths + console.log(files); + files.forEach(item=>{ + imgArr.push(item); + }) + } + }) + return imgArr; + }, + /** + * @description 打开小程序获取用户信息权限 + */ + wxOpenSet() { + // #ifdef MP-WEIXIN + // 用户信息 + uni.authorize({ + scope:'scope.userInfo', + success: (res) => {}, + fail: (res) => { + uni.showModal({ + content:'检测到您没打开获取信息功能权限,是否去设置打开?', + confirmText: "确认", + cancelText:'取消', + success: (res) => { + if(res.confirm){ + uni.openSetting({ + success: (res) => { + console.log(res); + } + }) + }else{ + console.log('取消'); + } + } + }) + } + }) + // #endif + }, + /** + * @description 传入目的地的经纬度、地点名称、详细地址,打开地图导航到达目的地 + */ + goFlag:true, + goThere(latitude=30.656693,longitude=104.136425,address="四川省成都市成华区双店路B口"){ + if(this.goFlag){ + this.goFlag = false; + // #ifdef MP-WEIXIN + wx.getLocation({//获取当前经纬度 + type: 'wgs84', //返回可以用于wx.openLocation的经纬度,官方提示bug: iOS 6.3.30 type 参数不生效,只会返回 wgs84 类型的坐标信息 + success: (res)=> { + wx.openLocation({//​使用微信内置地图查看位置。 + latitude: parseFloat(latitude),//要去的纬度-地址 + longitude: parseFloat(longitude),//要去的经度-地址 + address: address, + fail:err=>{ + tools.showToast('地址信息错误'); + } + }) + } + }) + // #endif + + // #ifdef APP-PLUS || H5 + uni.openLocation({ + latitude: parseFloat(latitude), + longitude: parseFloat(longitude), + address:address, + success:()=> { + console.log('success'); + }, + fail:err=>{ + console.log(err) + } + }); + // #endif + setTimeout(()=>{ + this.goFlag = true; + },2000) + } else { + tools.showToast('请勿多次点击'); + } + }, + /** + * @description 保存图片 + * @param {String} src + */ + saveImg(src) { + // #ifdef APP-PLUS + uni.saveImageToPhotosAlbum({ + filePath: src, + success:(resimg)=> {} + }); + // #endif + // #ifdef MP-WEIXIN + let exist = src.slice(0,4); + if(exist=='http') { + uni.downloadFile({ + url: src, + success: (res) => { + uni.saveImageToPhotosAlbum({ + filePath: res.tempFilePath, + success: ()=> { + uni.showToast({title:'保存成功',icon:'error'}) + }, + fail: () => { + uni.showToast({title:'保存失败',icon:'error'}) + } + }); + } + }) + } else { + wx.saveFile({ + tempFilePath: src, + success:(wximg)=> {} + }) + } + // #endif + }, + + /** + * @description 把base64转换成图片 + * @param {String} data + */ + + getBase64ImageUrl(data) { + /// 获取到base64Data + var base64Data = data; + /// 通过微信小程序自带方法将base64转为二进制去除特殊符号,再转回base64 + base64Data = wx.arrayBufferToBase64(wx.base64ToArrayBuffer(base64Data)); + /// 拼接请求头,data格式可以为image/png或者image/jpeg等,看需求 + const base64ImgUrl = "data:image/png;base64," + base64Data; + /// 刷新数据 + return base64ImgUrl; + }, +} + + + + + + + + + + +export default { + tools +} \ No newline at end of file diff --git a/js_sdk/wa-permission/permission.js b/js_sdk/wa-permission/permission.js new file mode 100644 index 0000000..9981504 --- /dev/null +++ b/js_sdk/wa-permission/permission.js @@ -0,0 +1,272 @@ +/** + * 本模块封装了Android、iOS的应用权限判断、打开应用权限设置界面、以及位置系统服务是否开启 + */ + +var isIos +// #ifdef APP-PLUS +isIos = (plus.os.name == "iOS") +// #endif + +// 判断推送权限是否开启 +function judgeIosPermissionPush() { + var result = false; + var UIApplication = plus.ios.import("UIApplication"); + var app = UIApplication.sharedApplication(); + var enabledTypes = 0; + if (app.currentUserNotificationSettings) { + var settings = app.currentUserNotificationSettings(); + enabledTypes = settings.plusGetAttribute("types"); + console.log("enabledTypes1:" + enabledTypes); + if (enabledTypes == 0) { + console.log("推送权限没有开启"); + } else { + result = true; + console.log("已经开启推送功能!") + } + plus.ios.deleteObject(settings); + } else { + enabledTypes = app.enabledRemoteNotificationTypes(); + if (enabledTypes == 0) { + console.log("推送权限没有开启!"); + } else { + result = true; + console.log("已经开启推送功能!") + } + console.log("enabledTypes2:" + enabledTypes); + } + plus.ios.deleteObject(app); + plus.ios.deleteObject(UIApplication); + return result; +} + +// 判断定位权限是否开启 +function judgeIosPermissionLocation() { + var result = false; + var cllocationManger = plus.ios.import("CLLocationManager"); + var status = cllocationManger.authorizationStatus(); + result = (status != 2) + console.log("定位权限开启:" + result); + // 以下代码判断了手机设备的定位是否关闭,推荐另行使用方法 checkSystemEnableLocation + /* var enable = cllocationManger.locationServicesEnabled(); + var status = cllocationManger.authorizationStatus(); + console.log("enable:" + enable); + console.log("status:" + status); + if (enable && status != 2) { + result = true; + console.log("手机定位服务已开启且已授予定位权限"); + } else { + console.log("手机系统的定位没有打开或未给予定位权限"); + } */ + plus.ios.deleteObject(cllocationManger); + return result; +} + +// 判断麦克风权限是否开启 +function judgeIosPermissionRecord() { + var result = false; + var avaudiosession = plus.ios.import("AVAudioSession"); + var avaudio = avaudiosession.sharedInstance(); + var permissionStatus = avaudio.recordPermission(); + console.log("permissionStatus:" + permissionStatus); + if (permissionStatus == 1684369017 || permissionStatus == 1970168948) { + console.log("麦克风权限没有开启"); + } else { + result = true; + console.log("麦克风权限已经开启"); + } + plus.ios.deleteObject(avaudiosession); + return result; +} + +// 判断相机权限是否开启 +function judgeIosPermissionCamera() { + var result = false; + var AVCaptureDevice = plus.ios.import("AVCaptureDevice"); + var authStatus = AVCaptureDevice.authorizationStatusForMediaType('vide'); + console.log("authStatus:" + authStatus); + if (authStatus == 3) { + result = true; + console.log("相机权限已经开启"); + } else { + console.log("相机权限没有开启"); + } + plus.ios.deleteObject(AVCaptureDevice); + return result; +} + +// 判断相册权限是否开启 +function judgeIosPermissionPhotoLibrary() { + var result = false; + var PHPhotoLibrary = plus.ios.import("PHPhotoLibrary"); + var authStatus = PHPhotoLibrary.authorizationStatus(); + console.log("authStatus:" + authStatus); + if (authStatus == 3) { + result = true; + console.log("相册权限已经开启"); + } else { + console.log("相册权限没有开启"); + } + plus.ios.deleteObject(PHPhotoLibrary); + return result; +} + +// 判断通讯录权限是否开启 +function judgeIosPermissionContact() { + var result = false; + var CNContactStore = plus.ios.import("CNContactStore"); + var cnAuthStatus = CNContactStore.authorizationStatusForEntityType(0); + if (cnAuthStatus == 3) { + result = true; + console.log("通讯录权限已经开启"); + } else { + console.log("通讯录权限没有开启"); + } + plus.ios.deleteObject(CNContactStore); + return result; +} + +// 判断日历权限是否开启 +function judgeIosPermissionCalendar() { + var result = false; + var EKEventStore = plus.ios.import("EKEventStore"); + var ekAuthStatus = EKEventStore.authorizationStatusForEntityType(0); + if (ekAuthStatus == 3) { + result = true; + console.log("日历权限已经开启"); + } else { + console.log("日历权限没有开启"); + } + plus.ios.deleteObject(EKEventStore); + return result; +} + +// 判断备忘录权限是否开启 +function judgeIosPermissionMemo() { + var result = false; + var EKEventStore = plus.ios.import("EKEventStore"); + var ekAuthStatus = EKEventStore.authorizationStatusForEntityType(1); + if (ekAuthStatus == 3) { + result = true; + console.log("备忘录权限已经开启"); + } else { + console.log("备忘录权限没有开启"); + } + plus.ios.deleteObject(EKEventStore); + return result; +} + +// Android权限查询 +function requestAndroidPermission(permissionID) { + return new Promise((resolve, reject) => { + plus.android.requestPermissions( + [permissionID], // 理论上支持多个权限同时查询,但实际上本函数封装只处理了一个权限的情况。有需要的可自行扩展封装 + function(resultObj) { + var result = 0; + for (var i = 0; i < resultObj.granted.length; i++) { + var grantedPermission = resultObj.granted[i]; + console.log('已获取的权限:' + grantedPermission); + result = 1 + } + for (var i = 0; i < resultObj.deniedPresent.length; i++) { + var deniedPresentPermission = resultObj.deniedPresent[i]; + console.log('拒绝本次申请的权限:' + deniedPresentPermission); + result = 0 + } + for (var i = 0; i < resultObj.deniedAlways.length; i++) { + var deniedAlwaysPermission = resultObj.deniedAlways[i]; + console.log('永久拒绝申请的权限:' + deniedAlwaysPermission); + result = -1 + } + resolve(result); + // 若所需权限被拒绝,则打开APP设置界面,可以在APP设置界面打开相应权限 + // if (result != 1) { + // gotoAppPermissionSetting() + // } + }, + function(error) { + console.log('申请权限错误:' + error.code + " = " + error.message); + resolve({ + code: error.code, + message: error.message + }); + } + ); + }); +} + +// 使用一个方法,根据参数判断权限 +function judgeIosPermission(permissionID) { + if (permissionID == "location") { + return judgeIosPermissionLocation() + } else if (permissionID == "camera") { + return judgeIosPermissionCamera() + } else if (permissionID == "photoLibrary") { + return judgeIosPermissionPhotoLibrary() + } else if (permissionID == "record") { + return judgeIosPermissionRecord() + } else if (permissionID == "push") { + return judgeIosPermissionPush() + } else if (permissionID == "contact") { + return judgeIosPermissionContact() + } else if (permissionID == "calendar") { + return judgeIosPermissionCalendar() + } else if (permissionID == "memo") { + return judgeIosPermissionMemo() + } + return false; +} + +// 跳转到**应用**的权限页面 +function gotoAppPermissionSetting() { + if (isIos) { + var UIApplication = plus.ios.import("UIApplication"); + var application2 = UIApplication.sharedApplication(); + var NSURL2 = plus.ios.import("NSURL"); + // var setting2 = NSURL2.URLWithString("prefs:root=LOCATION_SERVICES"); + var setting2 = NSURL2.URLWithString("app-settings:"); + application2.openURL(setting2); + + plus.ios.deleteObject(setting2); + plus.ios.deleteObject(NSURL2); + plus.ios.deleteObject(application2); + } else { + // console.log(plus.device.vendor); + var Intent = plus.android.importClass("android.content.Intent"); + var Settings = plus.android.importClass("android.provider.Settings"); + var Uri = plus.android.importClass("android.net.Uri"); + var mainActivity = plus.android.runtimeMainActivity(); + var intent = new Intent(); + intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); + var uri = Uri.fromParts("package", mainActivity.getPackageName(), null); + intent.setData(uri); + mainActivity.startActivity(intent); + } +} + +// 检查系统的设备服务是否开启 +// var checkSystemEnableLocation = async function () { +function checkSystemEnableLocation() { + if (isIos) { + var result = false; + var cllocationManger = plus.ios.import("CLLocationManager"); + var result = cllocationManger.locationServicesEnabled(); + console.log("系统定位开启:" + result); + plus.ios.deleteObject(cllocationManger); + return result; + } else { + var context = plus.android.importClass("android.content.Context"); + var locationManager = plus.android.importClass("android.location.LocationManager"); + var main = plus.android.runtimeMainActivity(); + var mainSvr = main.getSystemService(context.LOCATION_SERVICE); + var result = mainSvr.isProviderEnabled(locationManager.GPS_PROVIDER); + console.log("系统定位开启:" + result); + return result + } +} + +module.exports = { + judgeIosPermission: judgeIosPermission, + requestAndroidPermission: requestAndroidPermission, + checkSystemEnableLocation: checkSystemEnableLocation, + gotoAppPermissionSetting: gotoAppPermissionSetting +} diff --git a/main.js b/main.js new file mode 100644 index 0000000..3783905 --- /dev/null +++ b/main.js @@ -0,0 +1,50 @@ +import Vue from 'vue'; +import App from './App'; +import store from './store' +Vue.prototype.$store = store + + +import uView from "@/components/uview-ui"; +Vue.use(uView); + +import nothingPage from './components/nothing/nothing-page.vue';//引入无内容组件 +Vue.component('nothing-page',nothingPage);//全局注册无内容组件 + +import statusNav from './components/status-nav/status-nav.vue'; //引入头部组件 +Vue.component('status-nav',statusNav);//全局注册头部组件 + +import footBar from './components/foot-bar/foot-bar.vue'; //引入尾部组件 +Vue.component('foot-bar',footBar);//全局注册尾部组件 + + +// 常用便捷式公共方法 +import tools from '@/jsFile/tools.js'; +Vue.prototype.$toolAll = tools; + +// 响应数据 +import requst from '@/jsFile/requst.js'; +Vue.prototype.$requst = requst; + +//不显示console.log +if (uni.getSystemInfoSync().platform !== "devtools") { + console.log = () => {} +} + + +// promise +Vue.prototype.$onLaunched = new Promise(resolve => { + Vue.prototype.$isResolve = resolve +}) + +App.mpType = 'app'; + +const app = new Vue({ + store, + ...App +}) + +app.$mount() + + + + diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..153aa61 --- /dev/null +++ b/manifest.json @@ -0,0 +1,97 @@ +{ + "name" : "打水", + "appid" : "__UNI__CF91DCC", + "description" : "商城小程序", + "versionName" : "1.0.0", + "versionCode" : "100", + "transformPx" : false, + "app-plus" : { + "usingComponents" : true, + "compilerVersion" : 3, + /* 5+App特有相关 */ + "modules" : { + "Payment" : {}, + "Share" : {} + }, + /* 模块配置 */ + "distribute" : { + /* 应用发布信息 */ + "android" : { + /* android打包配置 */ + "permissions" : [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "ios" : {}, + /* ios打包配置 */ + "sdkConfigs" : { + "maps" : {}, + "payment" : { + "weixin" : { + "__platform__" : [ "ios", "android" ], + "appid" : "wx2654bc27c419ada6", + "UniversalLinks" : "" + } + }, + "push" : {}, + "geolocation" : {}, + "share" : { + "weixin" : { + "appid" : "wx2654bc27c419ada6", + "UniversalLinks" : "" + } + }, + "ad" : {} + } + }, + "splashscreen" : { + "alwaysShowBeforeRender" : false, + "waiting" : false + } + }, + /* SDK配置 */ + "quickapp" : {}, + /* 快应用特有相关 */ + "mp-weixin" : { + "appid" : "wx0a40b857e35100e9", + "setting" : { + "urlCheck" : false, + "es6" : true, + "minified" : true + }, + "usingComponents" : true, + "requiredPrivateInfos" : [ "getLocation" ], + "permission" : { + "scope.userLocation" : { + "desc" : "为了向用户提供基于位置的个性化服务,更好的用户体验" + } + }, + "unipush" : { + "enable" : false + } + }, + // "permission" : { + // "scope.userLocation" : { + // "desc" : "将用于查询当前位置是否有货以及配送情况!" + // } + // }, + // "requiredPrivateInfos" : [ "getLocation" ] + "mp-baidu" : { + "appid" : "24346353" + } +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..a52bb17 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,15 @@ +{ + "name": "轮播视频和图片", + "version": "1.0.1", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "轮播视频和图片", + "version": "1.0.1", + "dependencies": { + "moment": "^2.29.3" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..e439615 --- /dev/null +++ b/package.json @@ -0,0 +1,25 @@ +{ + "id": "zhuge-swiper", + "name": "轮播视频和图片", + "version": "1.0.1", + "description": "自动轮播视频和图片组件。播放视频时停止轮播,手动滑动swiper时视频停止播放", + "keywords": [ + "vue", + "swiper", + "zhuge" + ], + "uni-app": { + "scripts": { + "h5-weixin": { + "title":"微信小程序", + "browser":"", + "env": { + "UNI_PLATFORM": "mp-weixin" + }, + "define": { + "H5-WEIXIN": true + } + } + } + } +} diff --git a/pages.json b/pages.json new file mode 100644 index 0000000..3739df1 --- /dev/null +++ b/pages.json @@ -0,0 +1,211 @@ +{ + "pages": [{ //主页 + "path": "pages/home/home", + "style": { + "navigationBarTitleText": "主页", + "enablePullDownRefresh": false + } + + }, + { //商城首页 + "path": "pages/index/index", + "style": { + "navigationBarTitleText": "商城", + "enablePullDownRefresh": false + } + }, + { //分类 + "path": "pages/cate/cate", + "style": { + "navigationBarTitleText": "分类", + "enablePullDownRefresh": false + } + }, + { //购物车 + "path": "pages/cart/cart", + "style": { + "navigationBarTitleText": "购物车", + "enablePullDownRefresh": false + } + }, + { //确认订单 + "path": "pages/cart/orderConfirm", + "style": { + "navigationBarTitleText": "确认订单", + "enablePullDownRefresh": false + } + }, + { //我的 + "path": "pages/my/my", + "style": { + "navigationBarTitleText": "我的", + "enablePullDownRefresh": false + } + }, + { //个人信息 + "path": "pages/my/information", + "style": { + "navigationBarTitleText": "个人信息", + "enablePullDownRefresh": false + } + } + ], + "subPackages": [{ //A包 + "root": "pagesA", + "pages": [{ //登录 + "path": "login/login", + "style": { + "navigationBarTitleText": "登录", + "enablePullDownRefresh": false + } + }, + { //订单 + "path": "order/order", + "style": { + "navigationBarTitleText": "订单列表", + "enablePullDownRefresh": true + } + }, + { //订单详情 + "path": "order/detail", + "style": { + "navigationBarTitleText": "订单详情", + "enablePullDownRefresh": true + } + }, + { //订单物流 + "path": "order/logistics", + "style": { + "navigationBarTitleText": "订单物流", + "enablePullDownRefresh": true + } + }, + { //地址列表 + "path": "address/address", + "style": { + "navigationBarTitleText": "地址列表", + "enablePullDownRefresh": true + } + }, + { //新增||编辑地址 + "path": "address/addAddress", + "style": { + "navigationBarTitleText": "新增or编辑地址", + "enablePullDownRefresh": true + } + }, + { //搜索 + "path": "search/search", + "style": { + "navigationBarTitleText": "搜索", + "enablePullDownRefresh": true + } + }, { + "path": "waterCard/waterCard", + "style": { + "navigationBarTitleText": "水卡列表", + "enablePullDownRefresh": false + } + + }, { + "path": "addCard/addCard", + "style": { + "navigationBarTitleText": "添加水卡", + "enablePullDownRefresh": false + } + + }, { + "path": "giftCard/giftCard", + "style": { + "navigationBarTitleText": "礼品卡", + "enablePullDownRefresh": false + } + + }, { + "path": "fetchWater/fetchWater", + "style": { + "navigationBarTitleText": "扫码打水", + "enablePullDownRefresh": false + } + + } + ] + }, + { //B包 + "root": "pagesB", + "pages": [{ //商品详情 + "path": "goodsDetail/goodsDetail", + "style": { + "navigationBarTitleText": "商品详情", + "enablePullDownRefresh": false + } + }, + { //我的收藏 + "path": "collection/collection", + "style": { + "navigationBarTitleText": "我的收藏", + "enablePullDownRefresh": false + } + }, + { //我的积分 + "path": "integral/integral", + "style": { + "navigationBarTitleText": "我的积分", + "enablePullDownRefresh": false + } + }, + { //单页 + "path": "singlePage/address", + "style": { + "navigationBarTitleText": "单页", + "enablePullDownRefresh": false + } + }, + { //新闻列表 + "path": "news/news", + "style": { + "navigationBarTitleText": "新闻列表", + "enablePullDownRefresh": false + } + }, + { //新闻详情 + "path": "news/newsDetail", + "style": { + "navigationBarTitleText": "新闻详情", + "enablePullDownRefresh": false + } + } + ] + } + ], + "preloadRule": { + "pages/my/my": { + "network": "all", + "packages": ["pagesA"] + } + }, + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarBackgroundColor": "#FFFFFF", //导航栏背景色 + "navigationStyle": "custom", //禁用原生导航栏,微信小程序可用 + "backgroundColor": "#FFFFFF", //下拉显示出来的窗口的背景色 + "backgroundTextStyle": "light", //下拉 loading 的样式,仅支持 dark / light + // "transparentTitle":"none",//导航栏整体(前景、背景)透明设置。支持 always 一直透明 / auto 滑动自适应 / none 不透明 + "app-plus": { + "titleNView": false, //禁用原生导航栏,APP和H5可用 + "bounce": "none", + "scrollIndicator": "none" + } + }, + "condition": { //模式配置,仅开发期间生效 + "current": 0, //当前激活的模式(list 的索引项) + "list": [{ + "name": "", //模式名称 + "path": "", //启动页面,必选 + "query": "" //启动参数,在页面的onLoad函数里面得到 + }] + }, + "easycom": { + "^u-(.*)": "@/components/uview-ui/components/u-$1/u-$1.vue" + } +} \ No newline at end of file diff --git a/pages/cart/cart.vue b/pages/cart/cart.vue new file mode 100644 index 0000000..203c2bc --- /dev/null +++ b/pages/cart/cart.vue @@ -0,0 +1,427 @@ + + + \ No newline at end of file diff --git a/pages/cart/orderConfirm.vue b/pages/cart/orderConfirm.vue new file mode 100644 index 0000000..8e26a91 --- /dev/null +++ b/pages/cart/orderConfirm.vue @@ -0,0 +1,436 @@ + + + \ No newline at end of file diff --git a/pages/cate/cate.vue b/pages/cate/cate.vue new file mode 100644 index 0000000..0a6094f --- /dev/null +++ b/pages/cate/cate.vue @@ -0,0 +1,213 @@ + + + \ No newline at end of file diff --git a/pages/home/home.vue b/pages/home/home.vue new file mode 100644 index 0000000..a7bf921 --- /dev/null +++ b/pages/home/home.vue @@ -0,0 +1,358 @@ + + + \ No newline at end of file diff --git a/pages/index/index.vue b/pages/index/index.vue new file mode 100644 index 0000000..a78c158 --- /dev/null +++ b/pages/index/index.vue @@ -0,0 +1,509 @@ + + + \ No newline at end of file diff --git a/pages/my/information.vue b/pages/my/information.vue new file mode 100644 index 0000000..958e292 --- /dev/null +++ b/pages/my/information.vue @@ -0,0 +1,135 @@ + + + \ No newline at end of file diff --git a/pages/my/my.vue b/pages/my/my.vue new file mode 100644 index 0000000..ca4a844 --- /dev/null +++ b/pages/my/my.vue @@ -0,0 +1,385 @@ + + + + diff --git a/pagesA/addCard/addCard.vue b/pagesA/addCard/addCard.vue new file mode 100644 index 0000000..0d4727f --- /dev/null +++ b/pagesA/addCard/addCard.vue @@ -0,0 +1,244 @@ + + + \ No newline at end of file diff --git a/pagesA/address/addAddress.vue b/pagesA/address/addAddress.vue new file mode 100644 index 0000000..25addad --- /dev/null +++ b/pagesA/address/addAddress.vue @@ -0,0 +1,183 @@ + + + + \ No newline at end of file diff --git a/pagesA/address/address.vue b/pagesA/address/address.vue new file mode 100644 index 0000000..8bb0e3b --- /dev/null +++ b/pagesA/address/address.vue @@ -0,0 +1,102 @@ + + + \ No newline at end of file diff --git a/pagesA/fetchWater/fetchWater.vue b/pagesA/fetchWater/fetchWater.vue new file mode 100644 index 0000000..aad4b2b --- /dev/null +++ b/pagesA/fetchWater/fetchWater.vue @@ -0,0 +1,737 @@ + + + + \ No newline at end of file diff --git a/pagesA/giftCard/giftCard.vue b/pagesA/giftCard/giftCard.vue new file mode 100644 index 0000000..7ad7443 --- /dev/null +++ b/pagesA/giftCard/giftCard.vue @@ -0,0 +1,377 @@ + + + \ No newline at end of file diff --git a/pagesA/login/login.vue b/pagesA/login/login.vue new file mode 100644 index 0000000..f7ff7ca --- /dev/null +++ b/pagesA/login/login.vue @@ -0,0 +1,474 @@ + + + \ No newline at end of file diff --git a/pagesA/order/detail.vue b/pagesA/order/detail.vue new file mode 100644 index 0000000..2062aa8 --- /dev/null +++ b/pagesA/order/detail.vue @@ -0,0 +1,270 @@ + + + \ No newline at end of file diff --git a/pagesA/order/logistics.vue b/pagesA/order/logistics.vue new file mode 100644 index 0000000..062b9b7 --- /dev/null +++ b/pagesA/order/logistics.vue @@ -0,0 +1,269 @@ + + + + diff --git a/pagesA/order/order.vue b/pagesA/order/order.vue new file mode 100644 index 0000000..4c6d137 --- /dev/null +++ b/pagesA/order/order.vue @@ -0,0 +1,251 @@ + + + \ No newline at end of file diff --git a/pagesA/search/search.vue b/pagesA/search/search.vue new file mode 100644 index 0000000..f73de97 --- /dev/null +++ b/pagesA/search/search.vue @@ -0,0 +1,225 @@ + + + \ No newline at end of file diff --git a/pagesA/waterCard/waterCard.vue b/pagesA/waterCard/waterCard.vue new file mode 100644 index 0000000..7141ff3 --- /dev/null +++ b/pagesA/waterCard/waterCard.vue @@ -0,0 +1,867 @@ + + + + \ No newline at end of file diff --git a/pagesB/collection/collection.vue b/pagesB/collection/collection.vue new file mode 100644 index 0000000..616a520 --- /dev/null +++ b/pagesB/collection/collection.vue @@ -0,0 +1,55 @@ + + + + + \ No newline at end of file diff --git a/pagesB/goodsDetail/goodsDetail.vue b/pagesB/goodsDetail/goodsDetail.vue new file mode 100644 index 0000000..e80d9da --- /dev/null +++ b/pagesB/goodsDetail/goodsDetail.vue @@ -0,0 +1,523 @@ + + + \ No newline at end of file diff --git a/pagesB/integral/integral.vue b/pagesB/integral/integral.vue new file mode 100644 index 0000000..abfe11c --- /dev/null +++ b/pagesB/integral/integral.vue @@ -0,0 +1,168 @@ + + + + diff --git a/pagesB/news/news.vue b/pagesB/news/news.vue new file mode 100644 index 0000000..c0af023 --- /dev/null +++ b/pagesB/news/news.vue @@ -0,0 +1,102 @@ + + + + diff --git a/pagesB/news/newsDetail.vue b/pagesB/news/newsDetail.vue new file mode 100644 index 0000000..76bea84 --- /dev/null +++ b/pagesB/news/newsDetail.vue @@ -0,0 +1,74 @@ + + + + diff --git a/pagesB/recharge/recharge.vue b/pagesB/recharge/recharge.vue new file mode 100644 index 0000000..282c7b5 --- /dev/null +++ b/pagesB/recharge/recharge.vue @@ -0,0 +1,146 @@ + + + + + diff --git a/pagesB/singlePage/address.vue b/pagesB/singlePage/address.vue new file mode 100644 index 0000000..adffb79 --- /dev/null +++ b/pagesB/singlePage/address.vue @@ -0,0 +1,153 @@ + + + + diff --git a/static/cate/cate-01.png b/static/cate/cate-01.png new file mode 100644 index 0000000000000000000000000000000000000000..62b04104693c2e8991467d556f12d91e7fdb8e24 GIT binary patch literal 11756 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 literal 0 HcmV?d00001 diff --git a/static/cate/cate-02.png b/static/cate/cate-02.png new file mode 100644 index 0000000000000000000000000000000000000000..8408880e86db4b5d141708349e1a8ec6bbde1078 GIT binary patch literal 11384 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 literal 0 HcmV?d00001 diff --git a/static/cate/cate-03.png b/static/cate/cate-03.png new file mode 100644 index 0000000000000000000000000000000000000000..3354ce5730243c7762383c748b497b58a94d11fb GIT binary patch literal 11585 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 f-d;YSkRftLJ+2rwCr%-S>T-`A$4z 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�bf-JG1l08H(~%f)$4oy)3TJQiuKe$L+CM{HM-9^nSA6L?*#$$$AKEULjv| zmu0ljizB6c6K@S5C`rXLEv{^R0j)Y7Fqq221p+ZCwa1jq7-s3+i*6*IezPzT@=`@L z@RBU#4TXm9Q`XG8dx^ME@m#Q6$zw^)0d%X>qN7M@SQ2g}((B(R>1PC77zw;y)E(R0 zp`r^tDBP`R(&~AU9AtCDGONLLZ=CXdX}SLuY>9h*kcLtkOm5Zn;p)i7eaP zhNNpoQlm0g2?{J!Cs$IROaPY+biwaLyIb+M447ZbUfo4b5=87s0acrkcCdHa3dq}k zV$yXsMaiH0@gU;VHVt7Mt_!i1@9;*aUfc!srHt6#oO_Xfg}U_|^f3o$M*BjTP5Fd+ zyNtgEBa*23=G$WT&_o&wi5Kq+l>hXRhVe#RDODoLpio_4ov<#vayKX!e;--u4}C zBIgrw>u0WtxQeRX>|zDcD^gxflY=2`c;&%R(%}ePZ*ulLeTqkyW-Ml$ZmY5)Z)olD zAH%)DSB-)9x;c#?YK@O)`BUO8xc=e`x|Yzs${=6C~XD%T(mhceep{y{}+zS@dSV)IqdJQ%S<*b=_?_X`~E7mj40dQx;^8(3+?~ zl*ARM0Kcvf`oyBwS%D_2LZ9GPaE*dmqYyrEfpDkv&kE*o76d_**?`rYc%!GGj&N_t zA(6`EO3L}771wZ-aHgZgd zK3~~}u3u6%r`SDHPq7iTONKFfI#^|3;v(-guW54rivYNEMWtaw*IM-?Z4WsJO^$2I zA5eJyA=nIADiVFT@sv03OM||}XD3e!>d^F_)wJq literal 0 HcmV?d00001 diff --git a/static/cate/cate-06.png b/static/cate/cate-06.png new file mode 100644 index 0000000000000000000000000000000000000000..644a3be9693c240df72f729323061f0a78b26475 GIT binary patch literal 9822 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 UZcHZs`QuALMn(FEq)EX40rI#!@c;k- literal 0 HcmV?d00001 diff --git a/static/cate/cate-07.png b/static/cate/cate-07.png new file mode 100644 index 0000000000000000000000000000000000000000..4833cbf850635d0661e691cd9443b0c8afb6cfe9 GIT binary patch literal 11015 zcmaKSb8ua6yY`M7+uDt_V{^y0%^lll+@!H>+iHx)ZsRm;Y&2^8_4l6hp7Z_jz2BNy z>%rXDb?cgE=9yWMDoWC*NJK~g00321MndiH==#t50sikdek08P??C7-spGEhWa;i@ z>IwmfS~!_OfU*vzRuDCasfCZrI7AQtfT6L`&~evMRNyyva$q+7$A;P4!TB#501y=M zb~ZJ)gSZ3DAXYYxLKK%>eH1_&3n2<^E=5*FXK{$Njf}4=MBP_O!`#=-oX>(nL>MUO z&HtCc0pe~7^med!bmR9HqWBjt|KIsP+bk5of0?-32~qr4P&$e#KyfEm2#|}J8)VML z$pz%$V`k&#;N;_D0w?wF|+=Y(!UKA761RH4i5ig z?dGlq`QLc|pTuq&KF$ypHHe#&hpYMD##vJShD7)3>XSw}Z_Q%7@%tb`E7UlwK?8w-98P98B1F)3D2 z9&S!HHc1IlF$qpyc3x372`))4DN(6^VEJ006XJvJ#>i-aps<5o@SMeKy~86qS&_GOhrDaO*R=aLz|C;N2 zgyRi0Zl5_U=I{VcyrTmKJzz0sHG(ENP9o;h;56u-fFvKq?40dHd<2qYUmg2Brz7pIb#@Szu;ny1#6?e#GeA_3pv( zZv64{A0&@{t=2wG|0V4;c)v(&+ivZJguaS5Z_J21_$1}ZzK0*y`=-3Udmr@-bmaQ& z{Jf%6)9!jng3`)A22nsU*@tEZuXLX4(M^7Zin7DesaKayHQ17vI4V5I<*x8TJz08^ z`{P^i?Nj_dQ~%W22kMRb{vKqh;`#}E^g!aY^fZw7r(%nIB?Pbwm*?Kjw;z%5xw&hf zu>mXaMo_PBVEZ)}Y@A`gg?mp)*&8ll>o}UZ3@VajR?2S_8g@g7D*?X=zq=&d;#Non z(xQ{UVAa%Et5nmAQgd6X2Um`q-xiF)f~^ysNcz8pmT$VO-AB84-ctgj@-+t=YsvJ@ zXp4v>C~H|0D5x!t(d8s48!zW)PjY=c@Gs%cdbH0z4Vxw`*0!|&k#_&{I0|yc^}{Cw zQ)lx92>vZAq;w3iLWPrV)?Q=ho>Y6=bd3wqIg z>Mi^#GMg@9+~5PPmLG1?3p9x3jaw-23hM503|hCfVOvxEa8fCe5Q7pBSptnFbXN$E zvG}ZOWgOy093Vd4>y`DZMI0=lRpP>nHDT9^MsJFU)8X_zkCH|&;4LHR)DKrAEEM%} z=!UsF7fKBodwTiGkAulQKJ_Bt2vBNu}-fcgLtrTY!A2kK;(~ z+FNZ>Ah{~eLNPcXrixCb^fiVlLWZDXk~BU?)2x77JWxRjn$jA9rfKZ~dgU$rOhW9A z>9a_f+YQg|)H?Y%KAJyKI$qpSy)AfAP=iB@)S-XjSqz6A&P_D&~5(fQ4 zja=`(vS0kDx{G}K-py&mL7=y4Z+moM_pU$g^XPyI!s7c`0ICcsmYP{{@_XUxn3w{N zf{5AgRDwsTA*%q!!H$xyI+O*yK40L_=+LS_FGJg9_o^T^QF3`rertfI5WFwbZ3fl7 zV;sPU4CwZ|q1V*o`Ka=Ha0R(57~&MV;_+6VBK0(CJ2pdEPK>d&usz|6p~~+J0;rut zXVh+%kMs(YX1U2Aht~{z?Gx`h-W^vWdi4{RdCEcqKlmlwKka>}%_F!I%0&nrAdlA0 zd8dE1e)1|fV|E;y42TBUPsiQ4ypc#42^N*Iayy-DwcB;d?m=u~ z*jL>MPP~#8g@|Wnx0r96iGV-ip!ir@+cAA>mar8XH-YdzGCfxqNJFFoB66W`uxSqkjlFGxWw8{oX5A zTrTcUwwvD<-_SY?qat*R$3tXkiO1k0dCiI zfRgv*{6y3rm}cfdVV8*lmSg&8m0#;NQ}ggJNj=PhU_(dF{AK8N$KhHF^$Qp$fj_&ze?O8rZq=@=uAWWhC+3D=C)3$^G;obZ+_!ffq6zGC%HHC@M9 zG|*J;bB%7EI&kG-UGrd9>T|#qspbMZn$QXq+2jQ;77l?ee@FY)B8Ry}9js#zyEKd! z^Fq2gGuU52_ob?d2Yo^uL1b_p6{E(oIg)CIk1fM2)s-z)!x}@rDJu5w(QnB#`7V?6 z(x0S_7Xc-)Btv`t_JNyA|K$dZv#`R272Nk#j+UQy~rwx@aDyUqC(cglevg;I5j*8Ue0_hgj&f^_1UPgmS!T+~z?ys?Hl zl6rLrxvLpCgkk;N;zKma@M|Ia7l}0pso#W>JPZ=xqPx{amy)B7M>jQGiQ0&;Ptb)y z2Rs+tSv8)jKiMpT%2v@%NA$Xi@WZhdY4vI^%gXyi15_IJ&lr4*2xe7V2aSSRj@VhrpFvFFtr)vR+@6#T~!kQMpoWy`XFqr+4Z>tYg?50NIA7hq`IA83H_P|5r0B0xNEyDbHbc{Yj zA`QkIl_LC)4M-w!+zb!1cABQd>?+&#?7rXmPe?4J4RRODB}-E(lUOKo88C=?(^odr z$Jl8Vg-bxL_4_QoS)vZ~dzFO{F0{NVi>TDfC4ho;X=IDdv_tf}iETLJXKA zVmbZG+lytJp3l0KUj86(&D^uH@%e6hB$R#7Y*>#DOF)OASPGkLc zawX%QY?AKjo`KEMc^Gumaxdmkydi?wGTaH0Pyr=N$oc~?=HdnE`!8|OBTvc^{4eTc z??zgUB$v*JSv1w4JP)*#wp2qSpiLGuvF68Y-Om^pr^P z+x!mY)u1iPdk7vrnXH;5QiS+fZj`eAj8a@K9!h_2Y{&F=8mO-r%}?5yS}p4*9;fz2 z(H_h;nY$;N@B43aAhS0lz_)UMNfnPI%yTA0Q3i&NEW53(#W|Kh#9h4x zr726MvJ|VWWamh=@Q3K`PLTxVvcfV53-V%6X;@Cz_%IM3!u!6nqO@IK6tt-vNU)cT z5M;zV#7iG)| zol`)5ht`^ZM6{>)B~0Ik!Pz(T$vE}CgkJK)9IIZFJic!hy-!y(Ik`Q5t8@wJ-^VJ_ zuWZUu(VvD|RS$XE^#J4UWRS)S^2VZdmtpTO@CMqr>@TKatxZ$&|6!_mxyug{eCeis z^R*a~Oc(Xp=K>m)u56!$kC*g9xA~s=g?CneS@@$_{4_Tj_if_x#flDB5-+{4&d{da zn+Hea$(P{#^{}6wxDh`%XkxRauE22_bE7yt=M++mszhrWBkt>O!FkUxdqyI@PDSku zU1(?53cdwYT)apVY}|POJp$%T-d4%MKGXUIFXMr#>h6vSb)E3emm7)mf{NAC$jXQB zkVml(JaZ<_m`p5}UjdzsX?US23(cwhK`-x$1j@2fwJv{7@2+kS}I# z#E)pH^XfO@i=AFV`xvLW{VpGUhQp1=zfsvmj7~dz{(XKKwsXRhJx=i;WWvn(biXVr z{7!N!a_e$8^h%?d=LaP(J3uwXy_tkQmZ3_o5=#$adB>Yf1z~Y#%bt)r1+?%%$x+W9 z;23+O$Bz}quW&rlnWG~-f^21NjHav9GRbHf-5h8yge}UZXwF=bDvETf9 zKD}J*iMth&Pm_>RFn`Dl5`5Pr+NzB%#4;be&?#lzFd5+`ueOIYn#CB{)A7pz`$P?0 z(&ko&NWPD$zhGN&J)!FKG7y%U{Rz{bemiOtLC`Z`J;Y8oh8w|;L%9Y-Mkfk z|5V)fPV#*Y8pWv(?&v%EE5{H&_{7Kpo77tvWHqo2J=ZLk*v(%!!40P67RfT9FuDx$ zpj?Y3JW?f@3->L`Ffs5e^s4gfMZ8@{4{B+wLtk$v^o=TgstKky`rS{dBGfQy-8LL= z*hf>_<~@k2a_)yA(-`PukV(_`Y@G7<>d~}4R+@^jtbclofjvGjR2Z?H|AmN6{W44K z4B@R3W=Kl_O8^|RSKK+13QiHpuE*c!<2y=D4T8Ad5PXggKe`OK`izc|&eMaR(qpT8 zw#VXo+|UFQxb;%kdFfajj91^|t7u{?X}90#KS8JBdGI4WYlOtiVo>db;8Fex>k;v z>&X5d1&4=tb=OV<_l~)%EcQrdim5+Xxh@^+~wH^k4#?~9DiRvC79*H;x#I8`Grz}HVlKyS-cY{eZKx1OHc*`oS0JUi)O>(^5yMvMy zX-~o&4O5tbnrl#gYY!T6Z5Xavnd}gMqZWtG+AQ4DoB2}B+${A@K_{c6No&plF(Hzq z7y)CP9q+UHYps0K&z8mTZyYv)YC1q3Gc2bV`4zgkg-_CGNc2M~G`Mcm(#?ytR`t24 za+XLy`2#%`;8*+R0CQ>0Jq~HHeS#5+pCV2#FO5e(at0CFxK~FA+w~yQ7L|>TwR7So zaGV(3>=|V|W^@UaRt7Q$wfPx~0?_gtIhp#;1&4C5OPDgb`g^$)aizX-pKD}TCgAU= z@M(l-BD1GHQJw|Y^EsSPFIS#jy;{>$Jm>CvL=lJ*xPtlC!iK_Kn_!C3S5YqR#G-bp zTv8HGDsJ3cx|rn+v)cf9?-R!}!>$uglR= zTj9>{V$PWelYSy2-G6M_$N1r_#~?+-$+Dls#?g8rpjV&yYWdl&;?=sDzBZ2{zVd7A zH47bs3ry50h<8sgPI3>cft5Mh@AxW95l--u0)sz$d#Ldm!6^g5<*f;$xI5JuW06fEDvp)a8Z+Z)pcZ8!?661V zw%n*}s}PsS@;DwUYh5|7_j$dgnJmGngqirctS2i4>CYPv-}?@~o;%q8Y^a-ozU!;B z#rR=}jf4_k8>Yk@{fo?(Mqa=DaH`=ZR!@vB;-M?&x)yz#DxDOtq`$!JnR-xt`v;}T zW#{3NA_Br1amXTuGq2owNy>xXD!|=3jc!mtY=I|Og)Hl!jRtNGi}a1Ppy*JS&Fg{DZTQs%-#9kB>QkYZY{MN~Wj8|WZX z*VR4dP|uqc`zVWGtYwdn;ft1lGBMszw2=kTkD!WBa}2B+&MxgG#6C&Frdm?Qxj><7 zx_)A(3WO7P7&WVBD0U7gyY!tYd(^8aX!n+#F96CzUSzMwepdkBg5ODKRC%HQY7~6` zyh_Pj!SHVPcFSsP#20Xg;eLJ9s#PFBr)i}n(Ch<~mkrcW{{w)OzG9GgNm7cE2pV4pY%YJF%<=GY< zE(9}4&#`(DVz8ftTk}R2HHK z{fU9m?>vSWLE|RfQd}e+Y0H{Xb9PKg?r|bjMGkKRLu)SypOp934n9TypLLAB_iPpg z8ru0s4h){-lwVQ{-wgXFjof?-DyAqp-bF7NM?OzVZXB({YW^lihH7cCsNjg@m(KJW zf>e8di}8?WJa@s#-0ibT_K>9`lj8e{s!D+T5wUa8={1u`LgAZ?Fb)0g!JBLz`i5Wm zoDmCbMvKNp38GYK(8gnY8>tPyUR^}`C;f|+VvU7|dU|z-F#|UOzE=V*X!40ze*~pi z*!?z5t533=c*CzBZ;(HUmsErsZx!Ob!Asn3mDbkK+dyKwQ_DAXjo^Jo(`~7DsFr+V z*7jb#!YuaaIC7S|om~!3gy?ub-0ILJQ@4o9^Jh1-amitCB0u6HtJxQzj^)(Eq>1*w zO@*FFrS+%60WO*BX{W&(&Q9Ce41Z$W$C3T1+FRtV`p_e%>(udHu51c~y#6e_sP`l) zm3}foXN(S_%f)gv}|Uz_U8E` z?eX+YwJ2Gf%lharTUN}xN7419kMcY$l;O`1KNQ}uJ|9I0Yot6Bk?p=jiPXx)A2pD= z;pnDIruR5;`E{-aRbyTBVy7rfoF-A^Rfsn#JBIV}t+Zxt`tc;x2Jlm_-OL8RjGPD2 z&~hJdpS`93$}9GjS-K-M^kPBmJ#QnU%xZQu9s%_?()Gbz%ZW6>NW^C!EvTsj9H>Dv zQ|GGb!crKWx<97Ee=3!%nEuN8o;7C=T7b}$4C}S1Bn?N$<;71 zhEuWn6<|4caYH5?FeGvIrQ*XiKg}kH_IwVlT%7`XvgTezfc8kl9z?u2Mb@3HrreP_)A^qmpT!G4hZzJmoA!8AqB-O z&=sihzuxnaU(#l?9BR*6z+GUAe~KnY~>!fl|M zRQAoh@W)_6R((-UFka8A2576iV!vwPcw+9U$aCdbEl6-YE~!-4gUtp;;`~x0g`nK8 z(cE1{Z#8e^Er-{3rU*-!tm0wo&jEn~oUml1rJw-)d1yK_^?*QN16txoo*iMPr|0?W zb3pU24f@fsF%mz;ekP~FUsp&N8d8~ds-&W71Xy<==Je#WhBLs8`|STYOZZ%ac*(1*rjH zDU(|8N1JE+eC@dpem(m9;2M5#4&BoaxSj6~IylOeU*5v!<{WQBgKcIQzy?*gEXYu@ zTyE|>@j_}&^bCR`V*=z2iRu%r?q>|aJCXBGccG(zynyb-hm&cFs5NhC16o}!JgDS2 zL87z5Z?b2Nv0mRmAYdGgs;etlEgD9Mmi94BdqF`s zF6@u}pwWb|&KY&^(2V`Dbx%d_dnS0P)BRKI{F zDx|PKHDm%6YrbVBZR64zR8LSKJv%MoCSsj|O_TT}zO94k5K%{{Mt2d{)zV4cmNOpv znFF85^6UmUDNOcch2L*r7sk|f5TQ4Z!I554OS$RA_=wQ8Ip(F>!AKtLkjn&GE8yp9 zG&7{0Ub2qrQk*U0QQhNKG@!$JZqg#3zrB#7ca>D)Gno<>a#d6+H2uWcT!n7OKK-k zJVg||pF7idp~2lu3k1iFA>Tnh8HH0-a8osOISZ1~=KbzGEisVC5{w>^MVsTXw3Ff% zH>%4xI`jKs0p=u+eZH&j2+f8=P%CP37+F8`=Y~e0*>TvhKfPL7^JzWAL_fQ$aAHD+ zPJ9*y>kAIka!pjRyIvY#g}7~F2;i9GpD*%#tgp5&V7|7Rl5JXoR5ELsj*-6I$_XF2)AIuw_PYOf>UpuS=F&@S8qenvO1BpI zpmEr}oKTTaQ-8@vE)E*5pgKf<{0!`{`m%Am^Qe#rJmBfR)gku_buRA`rEU*m@|o<# ziYz0&kD)}a^%u72sn+IS5Vzi&KopV(s$l&h=#Jnm=FcRlW+_k;q{IXezN4vuwukd{Mzv&v`A>_r6~%t=^m9?0+;Zl;Ty9&@iRCiRyqP z%Zh^|Yb4-H8hGZAN)j>MhHci{ANpBl2-LODmd9GYM&QHD#-@v$D{r7zYRQY6#@ zGmra!A-lW^sFwxRcPU^-dmyT(+$uD^+hFg`I(y!eA+PgdsN34>H-u@ySm-ZxC`_fB zLYwK`T)cCmFEQq&(ki_$dSn^)+NwcQRfEH=#T*OSzhxlaeAk&nqLz!WoNh26rBrLW zC@~fwq?Go{0eu-5SHfvI_}X^7O7b_~rBUoqADIpkKQcO<6S8c>+B{Bhz2M z?|dtE^|^jM*;TZu6lzRCzXT1$d|5*mp5!h_$OHg>B!&NqWHoB8X47yv#8gm}9@nYu zFE(R+UgqWSB5%gT=g?>ugrAC>j$Le8a$#y~-j$Ggu9|1CI_y{IPPIEb zX$U42%iSYBPWm+LHq!ZJ?GqnFui`A9b*?d*7Q*=U7T*52j72j$8K#ir@( z`Xe?{_r#WtebJ0BW0y|HllPb1$r)A+-;h)dp^2k#z_;*pClT;*P8?$AmUBvA2(p9uRMsu?=(nqf8%8G0M&3=B`JK1 z>PpT#t^E?USamK-RClJqe(PI`VOSZL6YXl(zQ%nwrW21QWA7bI1hl>feM-mzL{f;a2g@sX{NiR1GvlQ3k@&!5JHNC0)fu73XG&Q zJwD2Ga3Br4m_QgB>65*O9~+e3nezsVyw!pqD$Meqb)Ev4wa1}a)}d|jaXmxY+nrM^ z54i^_3&v#oOJZWqCXBprjyE@Uewbp~4B<+WJ`f|Zy_)X_rKNlQux>}LI9($S(XHdgmhXsKsE9rg?VF2Tz7MCx)h|~;Y@-ac;o=Ot%2*LOOQD84HOHU{d?kz6XMcPsplxIE=g;&vf6;0y0cqE7){HU}YC|X}(yl zB#|ZtaNDx6RIw4dl&7@D!6aijqyde^a^)KpM5my1%YLz2JK+o2+>6(Ja^{2|Tj#cw zEl2{l{en@;EV+@e&M)KnM-By(K{}6eScl8|@x!1rRmGqN}|Xhczz; zB+?uvE#Imjd-K)|3qlO_m&FDXRYed`5s55UjzMq{9H;*IL)Pg>xiJ= zY?-WcR*xL7ka6rpT%71gvitNrQ9B3Rm@ER;vQGly%=hJYY!d)4!>dyJsvz4xzoyDc LDoNCdnS}fwFA%%E literal 0 HcmV?d00001 diff --git a/static/cate/cate-08.png b/static/cate/cate-08.png new file mode 100644 index 0000000000000000000000000000000000000000..36debebe2d6aa12abbf0bbf72b28f4c8b3d9007b GIT binary patch literal 10659 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

uc!~Ku`1idE413W{F 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 bq{e_T1mbCq=^)d8ew&n&Qj)9|H-`Tosttox literal 0 HcmV?d00001 diff --git a/static/cate/cate-09.png b/static/cate/cate-09.png new file mode 100644 index 0000000000000000000000000000000000000000..824ce0d60ada47afee72454500d9991736cc7ec7 GIT binary patch literal 9375 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 literal 0 HcmV?d00001 diff --git a/static/distribution/icon_invite.png b/static/distribution/icon_invite.png new file mode 100644 index 0000000000000000000000000000000000000000..687800275fd2baeafbdce0afe8082f91270b5524 GIT binary patch literal 2406 zcmV-s37PhZP)X8hgJ`2Jq?#CIz<`Fn6E|psE(T{d+%FH z-^H6WP1<|Uc|Pa+Jm;L}Ifw9n{!qDm%qaVta{DOtJ`uQ__7WM(0AX|5LZ*|c9ZoqN zjP<+R3JdjV!j?{l5Dyy*=r-66Wg6qnX^Dv!YcQz)G>*?i!5Ew|KwCO(-K#t3tq^eo zUew5N1H8F@vcp#vvk*%_)Bx~p0EuzL(?|-SOJMFMr4Cs%^)=d(xmqYdp-qv1VL1Eo z8TZ4&HU`av_WugUps|6#y>PHmZoPQ06l76A?UMEnKk;*BdN}V9PylOot=#y!XCMoE zO6vaeb`W-@e%$+rHY_S8M;OYRA!rL!?y;G>Ag~@l4uIt~IKEz)@6F7bg|;fdo$yjn z*qQoC@1w@{u#v+)(o*Z7wKvUN!Jz#BbU%g-x>R>WjK_dua04An+7`>IhJ+qD6{V%k4e;!YYmc9NIAZ z01+>%AfRh3nA%c1&hKz%NUdKxoZN=l8$i50!Z!CCW_qP+$NA+W0Dbq|oR;>Lf1UxM zzC!M4-13^tW$&P;-~Cq@kRSf&$Lv(~Ie;b=sF)8WMn+Ek_J+0==egeQ;9H2E=rh@DMWP$iw^7(Tw@S5fn-ao0FsdxSnz!w4U|2G#g z0CXnCC@9JT%&SLy-m115=^34Xwp!HQ?(jE0Ioq-1F#xxYp}Q6vrT|dI0V11x9c0)b zNFwzE>xFY$bveV`MR>pM2OCxZYX2Cis3G)E)aKt`CM;CPD5w$xnnvHZINL~jFI)`g zV@65)>vMhy;Gr9fN7v0uCE5X?hy%2T5-RA$7Gt-3F|*D9h30KH!{*iVY8&8; zM-QNzN9b(gFP3$EC32J45$YcRCKNyhfK_pT*<2C@^C=B*MDFii6b0uinNCaU?6jSg zbJj77XA-7irhS`$Cxl)9q&sn~X-?Vw*Uu0z2Mh)B<1qlNPL)t_Nn@>3l?c$xp7+WF znT|sDER@BM$K?(C!B|lu9(B9=M>5mjSvcRUI`G!t^!K>sf}rP4=Imt+dK0m*V4woP zp;R3mDz?xsX{=S!j#JQuW8j25c(x_U^5&;wOYgc>iEGC|m>m(1LCuBmte7A+(%!BC zPNyY0I~}Ccmg@=2=I(~#wFQIZ0}5Nl0E$?^eD(~rR{kdQT%3Bot9t8WuC?KA;m{vK z1th<41mNFHyjK3Y`-rQWo5{Dkv8X{^z^^tu3Z|bG1ypf>qH z`=4=5lSB3iiUV}Gn1Wu$KpzN6jdbXAZ>ia{=$^_L`sL;s3c1Gw*}tG8nQm9LFLWwh zbdLJgkK_BAKcd)v2gK7tOGN-^QH+AQqJU=V-edi?YfaMFD`u=4UtZNZNn1W(IxSVr zMXX0dI!EW7uW@ zC`$p}(>#r@p$AM+hc7x7!v4iHeu1JKbxdMO-UvEDeoJiJbaPI$d~ zW=qQ|W>oSBd(?nLSWU-|?~4XBQ}DcbHEc~h1>#CyLP!ego$k`xdqA4D7PHj_KP@ zuI=FuN?zr1KJ7#5kK$W;f0fIHJL|$FyUJy@L}+alZY{E5!Tqen zHW1GoheMPk;HI+BOG0g=?qdht0#$pvf8{e)!4Z)4>B+$L#jI!v7!4rYrfb?stQoU+ z$lV}b0->7(9|9)4Mww3cG^-d~ej^?86gJ@2PA>M>VCt0EZ{yl7>;G5!88fB~=taCx zfKu%wGSa<2s>=)0r*kC|-7tVV;P1Uhx)_`!H%$aMtb+uqm!(XZFDHRY6oX~<`=NdP YfB%!4gmAR1{Qv*}07*qoM6N<$f~QKB7ytkO literal 0 HcmV?d00001 diff --git a/static/distribution/icon_yongjin.png b/static/distribution/icon_yongjin.png new file mode 100644 index 0000000000000000000000000000000000000000..e5b954a6ed85459097923d6c1df96ead33748532 GIT binary patch literal 2981 zcmV;W3tIGvP)ic?wQ%eHTa4_%|n5momr8@)l{%Ftddw#5yc8)`N~>~U@#&GSn-hpS52w- zAc`VV2>6Jlt{O#+5)E#mmQ<9W;_l88pfIIiL|~Q2?#^`gN!{+gGqbbv=$;*u<_8qh zeee11Ip;gyIo*URU5o_+iAKWC4$3UqezQd&F0=)M3C%Zanct3RWV9vhV)s{SX4aTW zR{$W5EefRRVFQ2x>p;laLaR*yNYnZ&)5U;S6J%8YN<%reXha{hMh#j$h(|K$dkh{y zpl^e@7QjIuNN?@~Xg>pA5c3WQd_op)wsdTYghL@r*`o=Ue@; zMUz3=Qvkw_LxG^{s%Q4GurG{!Jo{y}_E5nFHDthk+`K@i_Exhme%~Ad-vdB~pUB+A zAm@*JslVNvWXNB0^HcuYV4{a29kZ@dYyW=%db!8ZJL^(<=q)hDf?B@cfVDi0nY z#%ZChYyT-pi_mKOd%XBvL-L^O2-lEQ{XJt@$6EmE0*9%0CYTH*TH%=+HbXin z6;7$fg)PkVsAS0id1%SpW#ExW=XF<96I|5*I-c|hClz0KKZ9rb3{@F|0)+QNk>2sN z{^kRvN=_wS7;=cJO_gCBUvN-A)hr|%-*G&dC7ELONm5!6?!3OET6vedQPluufd(fB zrGjM1sl-dAo~bH8P9!w6#ko@UbAfgewY60ZXjK5_8n&M)go5{2EHl+=zv43 zw1!i$-(3r$+W^!$rNJ#ek{N@pEybIwT%;0Wd$8^ z;jk3xj}!649AH5uT49g4%0}8Iz<9=})h}~vWN?NK1WJdWt?PC*#MU#DF-AGFV;Kny~a;ImIRn-gJQF15X6$Q;4;lFFEY9o z%}F<0J0C=?MV?dM?IFP}mT7+?h@J(B(Iq{vdPiYR(L3&Yt{ljs05f?vdiHU;&hG(q zsNY7GVT}uQEnX*GX~wTv&Mc+^YyzYR$@3grV4Q6v?^`49O~+^54W_wy_vQz-b1=lb zO@nz7B_G_S(x^}dlm(b-nE50TE)3M)F<#S6Os36?`(+fE|Jl77z{HFvJuk4$mxsC^ zSm~&hFLp*uXm2}XkMgUXDaJm2VAax2Fdgs8JMm5Tkw&2fJ-9oHU4uWgEx!kZU&7Gu@I06oQ! zZkVweM3a1Onj0bR2{Udml1uK8KlJ|a*FP} AgCOW=p}u7|GTQ8UBR%jx)4w}Wwg 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 P#{X|fKse{De?s=3anVF} literal 0 HcmV?d00001 diff --git a/static/foot-bar/cart.png b/static/foot-bar/cart.png new file mode 100644 index 0000000000000000000000000000000000000000..38c496010e8596dd1be72926dffb25b1269dcc39 GIT binary patch literal 2027 zcmaJ?c~ld39uKJ8v{JcUVF-eTnEN6T$OaN1KrkF~DVC57B*0{H3?`s$HHbkQ6u%(MdEQh9`q_K|lye^1)zoc`Oz<9p{H=H96?kZ5=p1i5p^^otjQ-)*lae5OeImN1QbEgmM9U4o}knQE-LUr ztyH5>AqrRtSQRC?a4`~&MKk@q1W5HtR;hj2CbVHBy+lQ#5Xsh(7J(ws|A#`*E3_6# z2LH(Se+p|;OH?2!8PvkX8Yw!syg+Lx6(>pqN)T9+3d2Qu~>T*o#-FgRI+E);!0)mboQhcM;AAk3yv5r# z0$uwCs7Ml~j(F4!d_T)ta6R7lxX-V-ZiWBtnS|1UbLY;T#b3`M|IE67*mLE`MaP}W zgn}!Lr^UCD-5GkQ^%K>fnLSdS%WDeXS^c4@zF}|^Xej=O`zZDig0b&N1QR7cR9IZj zv+eJvTu-;%j&s_F-C0*@a_*3m-?(p?1+YKx)^+{;VUEvm;qs5i(~57g_MH4_SGdKi z`<`JGAl!aNh;vt5?D(jI@PNBa+S}q-D$H>b^QyU+N73!Q@gHv zn&+=Nz{LtmxaHdH6~kkn&ftU{r!M%B7yL_XFR46smO8YW^|NhXi^X=q`@eOOzy7A7 zwEu8?U~XPzC4TJ|U!Ny@jc~2uJVbLYkX80VUPaU;7TKjl499u|gF#ZtEQ z%x?=ATO}VU-r?qAo8`S~xOuwzkx6y0 zv|ALUlkV+~%S!MpsMKscW}5V|lq2?K|K7d1na8={PyM7N>E0mo=m!CQAvouHTS7?2 zb|G(WA}EMtoEB$(F*ZT>`V#Bvqx{u@HQVvX&1Fr1(fvuCds3uv{?7g%t2{Cr)4rFn zDej{cal18fjwXZ=h{HGPGp9yfj9c4t28a)@-5pPxgU(QE+(whuJ?O3OyONc*^}AzL z4Cv5}wLv$6?w)PVaE|qo55704ntr!jlY9YgO$+8HL8M2j(aIGqNpZtUEP z=k^o!%+v}jrN9$$TH?BKO9v*$$pjJYx6KG4-H z#?dle|5m3U`uCnWM||GHL#$g-(br&wuL}3xD38xAVlp8d~JgA$8he&ct#4!>a>VPU0V4Tv&5A04d7- zZ2g(tgxJef3?G}c!ckp^GP`@%4Zd+azC59IM`p)-_JR6{n^R#|%08Dno}Vx>5%W7X rn+H1g_ViphvGR0hev9{T+=2rcW0rfh^x8qotiNBOAd%k`nPd15uE8tx literal 0 HcmV?d00001 diff --git a/static/foot-bar/cate-active.png b/static/foot-bar/cate-active.png new file mode 100644 index 0000000000000000000000000000000000000000..4b1e330e8b94d3057b225ecc7cc7ba4073d04985 GIT binary patch literal 1758 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 literal 0 HcmV?d00001 diff --git a/static/foot-bar/index.png b/static/foot-bar/index.png new file mode 100644 index 0000000000000000000000000000000000000000..d7042c3f4dd97681a80902961c8bfb84d29f6eab GIT binary patch literal 1720 zcmaJ?X;2eq7>*ns6qF(qL9{WTT)FQ=BE=*?#5f2jFo0%BHX%TEL$a6vr3K@aidsRy z5fBvWNSz{6?1<8mh$y9i7o!M*Mew2sSc?ZrT z0E4k!p^S<_V#I5?QdmU1i-i z_fAxdI2_A|H6WHjWD=wlIs?n%5GhO=ox{OnsbmV9L}rsHGy;XmrIWc-Dt7w8q0uxl zIX6NOJRJ)?@o-59qUMrFI-QQFqY+_^f<)nPI3zNaM5Pi?1VNhtA%LC$X+38=2tch= zqf{eG7{XdS0*P=s!o#6T-=&~Zi^cC9L)z&=p(P{f0X2z2B$HGsOI}lGEfN8KknvHp zHY!66k|IDYoUW0g{g8XkkkQ(GI*V|YeT4Lgl@$w%&-TMp0Nezdo# z{%-!9JR^W}T40wRuNBc(D32R8ZVR_x4W*14ID?Zzrn;W8-!AtkHeU*8k2YO8{j4Xe zZ1VQ-lk61m!eH9@O3+X!neB7;mrV8isGM!Z7b}-uxM!Vl{z%dAU@I=%&YiX_y!m== zd{KFBSjCcNGg-4B4 zTk}d=pLTe73oFjez3q-K81p)q>cZYXQF4gLqc_!YlgT4~idTWTPG@WU3-e9a-S6BI zA5$iCHrs6Um)6+F)2WK+dgdYjU{GK@`HIk2>RUk3@A_tc)vEHZ;EOG~{>7a?1~;z1 zQq*>nm{n4aFRmTc9_W6&DcrodGnwzi#(12n_TQ)JD*!>?=Wh4gA-n3ZZd z0mx6gR0T#Jwd!yvu975pB%b>9k<_)}?4EvSz4G*lEYCMJ-7yO~nze+RKXu=a+)$c; zAN>pGKT(tRXS8cyU)$K8S6{weY8_JOI@*@U8DI!^zocIoCS3I%04|TTUF2=(vL8?R zE+lV0RA#l(c8e_6_&wdLblhv(>zW-2Nv{LX=%~Z3$`b=E z_>yHS{RfSPjrhHPvlEG0fp?00zGCEt->Na0D&RoAw&IYC_1Z;(xxf2x&hk*C-SRIH M3D*f~R!g@23t+OQ%K!iX literal 0 HcmV?d00001 diff --git a/static/foot-bar/integral-active.png b/static/foot-bar/integral-active.png new file mode 100644 index 0000000000000000000000000000000000000000..82c13df2c907fd02a1b472dbd8844c8794f8b0ef GIT binary patch literal 9989 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 literal 0 HcmV?d00001 diff --git a/static/foot-bar/my-active.png b/static/foot-bar/my-active.png new file mode 100644 index 0000000000000000000000000000000000000000..bbbceb9a1104a3910ac706de38b240a3f7ddc906 GIT binary patch literal 2250 zcmaJ@dpwi-A74dCRE$tgPb(z0d4_Cb{C3UKBL6`kK7{m%FGdcK#>>;3+G-k-}KPgX?u za+?`0GcXv84L6jEMq4~eCz z$ycBt3}%|UOdv#ryp>c5EGLLf7=l)=MA;ZjP>5D3mLx(55Cg@@6g1q6`X(G8lhSZ& z{dqn-B@>F5g{G;X$h2^QBrQ=wk>Wyvfgmjvbs&cjF`$(vDb!Rg4fn|}6}_9xL>%x5 zf+W&#pG66I5dafbL4ZGD8D0YV`2ztI0=UfAk3#VVNIoE$=tCxgzIbpM)z61YA^{T% zhelILW2t-=XCfB*qT%8ZL`fwQH5v^;<4b^5aYT?pp%8sYL=p*)BJk=|1tQks73xKk z9$1iCqLL{Q8LR+I9>p z-HV8a5m+4$D*-0c)GZ3IWUWjgg*9qVQ+X%ULMqutNXk*ca^O>asIsqUATvQfKNf?9 zY9N2sAHb%w=>aS@=tpOheQ^_9=~r@};IjWOmxziXnwtAR&7L%&6J)x68C~@8W%wZl zI`JxWwCBv)nv21hQ@JdvMOhw+iq+E+&vbr;695BZ(o?2B`?>BSdc{h4$AjE-h?zq9FDjKjaoM#$YY zkLo+kI(be3zE$B37F~U=R~*+#!*=M?3mPho8lbCip%G_)!{fon^;V+1TT%OOb#zDe z&$H|tIIzvRu8HT7wjsp$E`ceu|6zAf+2i=o!eYbxoaI5b2Wwi0Rk5O0*ueTTcyRu4 z!PwBTo{mt@H1Vb2CnHxh5O1~wk0Tz&FKm8X%R z2!8E!!ucLHQ)!)csx`oUsH{r=>dd+q;s=39o|E4CMsHe1oo)G1{jA!G`>Sv5C+?u1 z4k9HIV(g9v^|=W?4EYQNXN@Ii+5Lc3ng8DAp64Uyo9`KCwB6PWm3j6>dg0iyqycEO zci13#o;`@=@2s5vhwPD?C9)xv7(T3UexVmQR0g$DvFE&sUb5~9qI1TzHe36c(zL!q zqm35}UpM!%CDw?r{mG#@_tae3-Grtyd@n4@u=RR1FFn=UB5eE}2rLj) zkBwQK6u~{y5?!M6(p5c{wl-pQZ&1x`|G40>g z=-Nskp0nuR)Ky)Mk)x67@_eXr=Yf)}N9<;NRPW`h_@SA#^#h0BG;{uuVmQ(oOQs#H zZFzJ-&Filt)gH1A+^34NAF=R_SXh}mMYoT8-QK*Q8GB&L;4%L#N5zy(v+?goPZa#7 z3@LcJGRx8WV8pjYLbt}vNv`=YgGY z{cwoBvU+0&a%5-f{QcI$({C4W8dh36Y}-Y{Jv4`|<8Ckg^~0Wl=$WoI3ZTwK0clF| zPjSsT;01bxxiG@GjeK)3h@y h@Es?>!GiaT&SRv2XTU}-_K4~4g3AtP)i5^b{tFzQq0|5X literal 0 HcmV?d00001 diff --git a/static/foot-bar/my.png b/static/foot-bar/my.png new file mode 100644 index 0000000000000000000000000000000000000000..7a0b10f74e53f855187eb5e564f786377753cdb1 GIT binary patch literal 2251 zcmaJ@X;@PE9;O7%rJj)%%`rV;Svesfh=NNhkhvgT!o*RhK{zTYoD*PRsa>g@%xhDY z+f=5ewyC+an3@JHW_fjNvBf=gESDV97MJWolg<5byXSe%`7h7=zQ67LaFRCrc`h_C zGe95^3%xec*_w5|_FbT>`C9Dzah_&bE@N}hW^5gJ#Me->E%m!D$SwYnZh(H++P>7<$QmVoQ^I4aw*=w(H7~nHR z7U_cdD=98>GeCnRAYgAx#_|ayd%%HWOCS?T6v}$Q4o`5z;T>@VB9=g=lJHbJJK)QM z(L|F7!l-Qe#xJonCl^eFOa@bNIJsPID<|4Ql5iY>LZRUBb~rmbtOkLV#)xG+1y(Gz znp2>IQock8%Y={^&?@pmp=g;4Mw97ZC5Yg!vSR6%Hfb7$Q}AFM!4|JAX%5I_{(q=Q z^c5|YvBAId{hz{8P7Dm<*q{`Omhd%$3$xOOf~hnK$df@54g^Kbb#Ze9B!i?85Dd_0 z+OAQ6wE;r00Fq1BedaKkR4=hq#uM{FFS-jxqhc!*3aE}W0*OTTpxYBY90>%*MheM+ z;m&Y(pfd<0cZMTzj!TF5(IQYRo8t=p<}$v?)!IP>Ya-J@iEt+<*eHQSz~{25!f)r| z@lCxiT*0?ha9v^t`-+d`@d-8|&0+G|e? z4i4t5D6i`#xtHa*!I!%6ss!aSm7i*>O8)b;ZldZ+rOqFBW?nn1{FN%@UUtnB23*;# z7z#YvEmDoYEJD|Af-7=Xy$KF4wumyBX&To-hM?k5I>oBM{0P?XcX=y(pS_rwQPufGhLl`;8r z_V9FDAPT3ZR$S%kHXF~F30P$PrX@9ZKdx2jli6y(^_;zZ;^#iU?`QN=YlcUGbNw1rCqb?tM z_sHtwf#&Syos(VZrlBZgG|tI9g@s<9FdU|GR++x*Au2Zx#{-!!BDUx>M+av-JsRHp z=go)|SDcesZ4f>yGUcB{WcA{jGkcCV*^mrh?ZUvoQox-7iK!MO0D7nT^d=eXa*jrgXwZxc(c z*P4vORi{@nL#JST_Jre!DucSx-*n9DvQk>(+E)wCy?en+IemmZk!M=FGq*o5xGy?5 zzfg~nd->GhGsT@cyG}ao7@zj)(hG)YV*VI8MlC7i!6H+LQ+8X7}{o!!t_Jtt?L1K z$kqG*mA@-+z_^fkKBpXtpiKK^6T#T+jQqR4)^XTRPOZ|S>n$f~-aFE0E-5wh68zSW zE?w7&?LB$;d}!GK_m>>`AMEV2$L}SVSwcB*>;YfM$i6E;kvjV!sFw=$hirRwu=9k^ zCH76vJHAyHfS(qW31ZY{N;mUYyo213yvOZEZ%BC+ldI_l#RE=f4>{1;k38Cs>L#>g z^Ro_KckR1%ypxvDTVK`3Dz&RC%kYFtA6>LWy%~F4RTp0NajM0FJHlNxk&B*svNVxi zx$Hv4QE%C&>-uH7sl%_M^oxyZS5At{&||uiMa-Ag`X#({doVV6&^aW?x1aUzXpi(_ zo76CC^oW^X_Y^ryToQhugTX4^K%ReooZ~{i`N}_KskLP`&*M~D5+mg4=6gGs?Us#h z`-{lB2JzMu){;$41;9f17mz3pKprK5L&veV|R5Cgad(C@A%cXU%Q)jGhAmVP@d=xYGp3weY NcrpCwB_2O3{{zWWw|oEq literal 0 HcmV?d00001 diff --git a/static/icon/huang.png b/static/icon/huang.png new file mode 100644 index 0000000000000000000000000000000000000000..5228b412da6bca8745b7adfef88f854c37c89e6a GIT binary patch literal 7697 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 z zo&&eZc&jh+pt>aEb$Gs%?4!vHwt7P6l@!K@sRxp9xvJL|pBhM&Q5sQjuOM^pDDqvdaDR{8ypQGx3z7}{ zvN0wZK_}tP`i7EJP>+ky|-hB$c%_ioR6BIHi12 z&nVEp`5r<0h*Bg&Je}r}KW0&mw~ z4D?>-NH={cRjZ)9pQ>OpK^fXMVIBA-H4Dd3lVz_IR!AyCaqiVUBU7F_2Qqopm!#ag zdqZpY8(ek{frNQha(i5hs5oafsl^S-sZ#Cnbvm6_*sQ7D$LX^~rf5SsLbESkgfYU6 zG-JXrz6oQ*7t({RIWxNgn};3f6#H>H-LjvQ0D;RloP~9??nz7vQN)E=)T7gTu0464 z4N;{HQgY+kfxPkxk1N`b(l#1a{Bkyk6=;y>FqTa}!njpNwv6Z3DizxvKLCba$_bQc z7U3E1{+8rigSR~^zxnr62N<)3Qk456jZ7kUZ1rHCVqs0$*==Bu8-x4pCwKo<_}6~^ zmiyr@3tK+=e6$WHrA_Xda7(JeATutkswgS!`2So;Hs( zpn12M&i@Ug-KYpO`pEZ@i+o!@9q_}^qXnxe`Z&LQn$di@VDSe_>V}dykalmvobmLW z(Eml8X(`1WfX+#oDE033Xwu;+e>zsMSZ9DvS^3c>@=xfazbu5e#x$k{FZ)aRQ6DM9 zBdcZlw~ZD8HG6_j8AFPlJX(C$=|xWqF3!F>?pR=T&Zr2ZQ(cR439QzEG4K7D2~&k- zg7laZ@CMF)WKSN1F@d@hmm~*0QfSuhf!ciRO&Vb`MK$I+xOtuVeWtcAkJWyiJ!1jN zt@68w<@sluNfESBG~(hYMtOgfc3g604@DKd0`h-+IrNT$Xa8Z7IwF?(>z0BODSyd> zQaq8L-*X~Srz3Z(Zl@IVK z?>o)M1h9siz*|>ITP~1m0}lLmw|Z_NjBVq%142}%qUdHR<8?Yg9$J*Oikt4DnN$zP?A68@NjiGnqPz0Ow6%~zt&nDSG5`4bux*Lu5O#K%wjcd6%;YH8`2r;e= zv4}kdh^*=22-1WIsg}4Gqls2eTe_u#j{G_2N;?qqNBN1T|79F*NKiM_IZMCF76{>t z96pWGxODeTzk3D+m~eRue>Gw6$62SOym&=)YkhJIE|m1CqhyFmMvaA@h6zq4ql90W z@tXV8qP2COdYS#0lA3zY_!&WuAW^^f>=*I|Y zxI+!|LYlS|ZX_{yNp2|Nd5mf!FYx=w0TYFuL)yV&E1Gvk6PvpaekR8Oc={X>*Xz1t zG^DWTkeTqwnvqoQdDRCNwzm@3qh~`5j*c+`V)EZz{jPj0NGE+Q6CuJxG8YGA}vdXd9K0B*|E4t8i-ce_~AFF}i>EgK5%Qz=1r}XHjNc_T< zTAo9;BVSjLj-h?wNDAqL$|RNjkiRA5G$7P$#*&ZQ@}E znvD>F@qzVlOhZykQK~`csX-%{e2bkn<@6{<`x{Z3jg+=t+cVRJW}e#|Nk_h+d=q{Y z&r|OLiNg53t0UqFR^sc@T_15KEh%m+J!-d2>ioT}Ms*5S+Y+^QWOUy%cNob5a?%>9 zSsgOH2;AgNo!6(in$BX-+P=6$4-b_#JQj;}6gJ4#kv$$|z#{{!EDIN%F`yZ|5_sd= z=e}|%eeKF#zX`|@Uag&ulrFr`A_CN$d{gibxh1LeyIk|x6EP8_f^Gy;nTaNC1tY1E z6pFBR_?xumv7MUh1daP2=}oA=C}QRU++iq(A?u`8DkG)UhwCQ}Goe;1`>0hoJH*}~ zlb>@5Oj8#S+459s(-Y=T{k|0SICFJDJ ziHPGH@-EHO7!&?A};iuzxcf_1{0p7F;m|v%FQJ>j;BQJ@5=MzXxFgHGSy(!vz(8zW=f- z*CRAKuy0Z6I}Lq@S*%*MLLN9vK#z~r_r0Zm~X>9(aN?FYTeT!ORwqijIN3{C^+D*pY0?sAI=E;`&Eqm`Mua}*y24WR5w_OjL@ceQ38 zLO&UDYOQ>8b@1Q+oT5jev?I_+hg?3&*!#fSlzW{*5Ym=eo7Hg0A@)o_5_Q(?hwb5* zN~|AcXE>;zDFJsIMMjSSPa+`e%~oZU_=DozX;9>a12!r`8nbk-t&%`bE)jq`*sMja z8_mT|Ah^gtu#ycv-xngJm1@g_!3_!JT}D1#<8B}P z;iMg>8b#Icz>2{G8A1sLoT}@c_JT0#HhB)h@aXh5sP?PNCUXZ%|@tT zH9{XKkhJG7B}uuNp*!CDT+jgC^wvb zF>s``3Mstl9xP^+VPXUJW3JX z;rk#J9NH~zoo1$_GneFm9A||E&5!mEAu!JN&xi)PXumoPBdl#4J@*jL&E5Mn$@Mx? zIJ`9vM#_9)k5@2yB*fSZYoXtHsF#h-oWBZ>K>QEUUr7)gNgqkcvhYm`O4%kF^ZB|_ zN&)7R`Cgbq3HLNXw-|g|u4Xp^C~!_+N0x31QE%{Lp^Vh zb;*^=Lyq5_j%{E(Bx%wjcd&V{714AgzQvttM%+*dU8L@IvJw^Ll+#S(`Og zaY}Yi$sdV${4VaXi`GHc21)!*PpI&)jKEMmm~uCyrq9~cq#JTcJ`l*p;|%GB{Io3f zRiOF(50oCmAgf0(fFIWpYmLsaI@pMj5#S@}1=j($lWbu${_!UH9ZqpltS87lmR<{0|uq1luyj; z8XYH+bW!4~Jze6#kd)0^QstHS(v$wZySHFN^PJYo%TWy2Wy*FCiAqn~qbMS)X3R)r zF7GA%(y!I;Y-4|TNYt`Bk}jO3`o7KQz${p(TP+lBnl8s}8vlTTYiOeWG}_+04MD{F z1(?E?q2mJl$13!(ef94=$bSLPXbRT<|C@jRTOYFL1zBhhpkX&Dob~GQA}GnJ$<|4m G!Tt+q=VxaC literal 0 HcmV?d00001 diff --git a/static/icon/icon-add-cart.png b/static/icon/icon-add-cart.png new file mode 100644 index 0000000000000000000000000000000000000000..e2b4da1547a55f3b1aae719fea2809da75f34458 GIT binary patch literal 1862 zcmaJ?X;2eq7!E^%9D;z9B3^575J!?t0twkj#ATDnVGt1n>U2s-7KoB;OjeViPy@w^ z2SJfTtcpj$T5&i8bwm(F5d}mA5o8p+6%ehcXa&2mp#5RpnceUE-g%z)ect1n%?J%y zWNYneO(KzO0|NwM#5$XJ-7GDL?+40ZfLNyB!YF(h7KdvkYLo=auviobR7m2{FjOMb zuWm$rNhEW3d3Y2aC0@*vVhXy%grVycDuPWS`TFTp66q=w2V&89xsp#EJY7o#m5Kn4qBv1kN>rqL^LiH@e!xQ%-d zpc<)KuEOP*5-@p`#A0i3K9x}VZwd;PSp3q5_$82B=V&^7@3<;9=+& z8DB+f!u2W?3_~^88nu+@N1WR@nW){j1DSw?8lC`?u2G;$JW#-=5*E5lF5@vFgvme{ z0ye~CGnqmW7ef5GEQrfs3fOEB*Jqp?sMO#Rr4$|K%D-@tZ*qBv8kOLfIvm3i$GaDr zfZ>=X0aF18V(JzIctpyTGEA$PYbx)UT2w7xi^@c5OaXkV4^RFT4J;v-gCGJf?8EUQ z^b24S%b&|Yd?2Pb$D08o)G@B?E4hzxq5tKAgc#7&-2XIt+(b-}Y5RF}iNojNN0r3H ztBKKGQdE6`xG`0M0ytdPRi7Un5Wdu;W71T~!-sqG*3hblA}WPIr0T zYUdEObg1xO&dI;mX2y06ONC|^^{K!UGXHd6j#(T<!Yiz?4YRDN0N+h+^en;ul=8OsbEHm|o`U)*X_WyQG{0Jc!N$?ZMK6IbS} z%RX!N##msLbb)hiBcSg-)&G>tM@wTiBwdBsOY(`m6gHg)b#5pdcn~dGc z4Pi+hnMS!?LlEtDLO8Fj4SSULx2m{m<*GV2m3@=jkz}(K3-?E_ZZFAcNOOvVE5%Fp z^hj5bE*fB`unRqJEqE#UlqyTt8&>f9nzf$!h8DX8V5D8-$AS8UIQAZoS+gcS8}*#D zw0}{BpUcEv{>wYNV#sHFUSyHqdxSjceK5ljnN@D}#wKii#&?sF4;I!O#rFG-oSHv; z%((jT!@3ZxZ%W&OxYZTqR$7n4IevSaepuG*e=>(sk(=$a!#&r0W^h1oWJ6ZUMQ6BT zZorYhYMxuKjJKC&R^)g!9pBr++BUx=ao~z>^vt;^wRSr)%D8gOVqU;~=w#+=_cK$c z-B3nk-QpZ5UYp-M^DT4uJY)>+9Q3rhuEVoz2bFX9tjX18Z~MuWMb+@mmzGOKOQI{i zYdZ4En@i^<@b0oAmY`ksJ4-z4>n3I%ck{U3v!>yQaQMe{!!zQev)T$?r5N;G8w;~j zIv~$E1?`2(;?pSG{GE?D-4+%O^~a9d?CA6B*+()b*^P8*5?g{xOn D*!Je3 literal 0 HcmV?d00001 diff --git a/static/icon/icon-addr.png b/static/icon/icon-addr.png new file mode 100644 index 0000000000000000000000000000000000000000..729efeab9a2f4895c634787c5904cad7e0281ebe GIT binary patch literal 1323 zcmeAS@N?(olHy`uVBq!ia0vp^!ayv}!3HE>9xS;9q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~;1FfglShD4M^`1)8S=jZArg4F0$^BXQ!4Z zB&DWj=GiK}-@RW+Av48RDcsc8z_-9TH6zobswg$M$}c3jDm&RSMakYy!KT6rXh3di zNuokUZcbjYRfVk**jy_h8zii+qySb@l5ML5aa4qFfP!;=QL2Keo|$g4p^2%2xuu?= znX!qbrH+D;fuV)IfrY-Iv96(+m5G6sk&yxvC;@FNN=dT{a&d#&1?1T(Wt5Z@Sn2DR zmzV368|&p4rRy77T3YHG80i}s=>k>g7FXt#Bv$C=6)VF`a7isrF3Kz@$;{7F0GXJW zlwVq6s|0i@#0$9vzP@mS^NOJX1q?F%io^naLp=li++2{qz^aQ&f>IIAz^b}9q_QAY zKPa_0zqBYB7$0fMFwMZQ!*3BtA<#8eF8Rr&xv6<2o-VdZKoPx^%oHmN7gIwER|7{= zOG7h5LsvIPQwwt!b4wQkV>2U1M;B+9UeCPZlEl2^RG8jOgkDR$daay`QWHz^i$e1A zb6~L-kda@KU!0L&py2EbiY-e8jquF8l>G8yO;GScU7K2zS(cjOR+OKs01h9kOe}6N zbh0ooF)=i7bT+gAy5GgZ!qCOZ)y&P%*u=%v*xXnNsy79T-=TU9aq86vIz}H9xk!-> z69T3n5EGtsfgE_^Pt60S_#$A^UUf!Lmw|zCwx^3@NX4x=Q_pI%21*=z-q#=G5~MSw zwN-ChS)S6}JN5_SCT<9LBIcD+s9TeAw6Axry@Q~q3b$tDh5)m2XOFJl_0QL)XUV*` z-ud~;`pai5pU*T-Klj;BY3s~SBBo7s7kDQvklE9ey@B2Az*_5*!WThsn zm=!NP;bDFL_pH8}wrf#ebt;(3?;M`lv3Z-SFy8^sBMXEs90=cDqPUUE?f}P+4oP*- zV=J~a-c*g(>{C%ap2r!*aGO=?ZL{avc_)j0M_m55So^~1Ei0ye<4v(J@Cw>geP>Dr z=LE*s2R2ErvbPeqKT^5*=E-?w9ZR>jZdpFY{q>7^R)4U*ZNj~Dl{_OGL&|!;zAGoP QT0zB^r>mdKI;Vst0F>t1d;kCd literal 0 HcmV?d00001 diff --git a/static/icon/icon-address-other.png b/static/icon/icon-address-other.png new file mode 100644 index 0000000000000000000000000000000000000000..db2030e95a3f9c844246d8d5f1ec86717a986cab GIT binary patch literal 2015 zcmaJ?YfuyC8qSehKts?1qJmjt0fpwW34|mhKrTdsCPoNKTSp1W0s)eZ$wC6sBD57F zXu&ERu{KaIMNxs#gSA`)qymZ~G6$yu3KoyRaV#k1BA|9-#hxFB?#%9f-#hQ~ywCf7 z&&+3*NjKn}RytuY7@T;cFcST*KwmGcJ^I~cYE88Uknk8J3XVsN3O$73so*#W5Ni|( zP$Z;KrSEQsI2eqLk6Ips#7H)?m9U1au;!3W8XbzpU^t;BokE!mAwV3Ipw@DUqqWzF zfLg^RZV!}DB{~6=sNR^NhoUm1a%D!clBFVsh5#HB8zs;{hypNaQnUuPiA#LT%SPAM zFog)bO+k{m#6LyFNMwKj)0F4SVDO4r}q?14fJAlfj z(SUak5v`_I#j_)YqIb2>9haDhAUZaMVl*1bMmibRCs05Zi$$T*C^Q-g%^(@lwTQw* z(i+yzGYBDrQm@t_YFGNC3R@})*29nRtbrPTq4RsR;yKP9#0U!7tyGEdN>0F!-f2S zAclY`6tQS@RyZRFoW}}bWvT|!BJ)_)Us!NKtkn)09a>ok>D6hFN~DK1z}vRj>IJoc z;S2J;!>Sh40*V&IQcy7z>*4;-Vb6z92U(Zzt&48nn;+7mj@P5sUd}VpF&Nt|Vj)j% z>N!%BygxeHwRMzhi2u#)Zo@yze27VpuBizLq}$u_s0T-lrMY>9n|(fe<;c7_wVXsE4V4jQe{%6sd_Ok4_@TfQ z=oHNBj}2+t@pW_7qfna%-+b)cp?G~X-M_AqN4|Kzpz!RALsx^DxRCIs=rI?Ymr+NK z9`){c8nU@E`(K?7k3GumkCitA@v*dNslAL*oX%!Ctaf+&c~|TzkNtDfC*}d{u)L#f zaoC!x_2xp^Uwf>( zu9QQ6^bkw1rBxALm!~jhIW+kBXRFu3muk9km!9}m{v)U|$87AVW2EK2{b>;B8A79;%ov5z!{6<0f)Y#H6O4P4dGG1FIJANpmw_jq$$JY3L zSJc6AiRd{a3jNBpxVYH2dv!SkWByf#yYA6}as6M&v=k=M(3X2dEMK zwkOR)TUzLa?W(z75|~@Po5wYVh6_|nPFCA!u3KJi@&&hM(Fi{JW9)fFQR|-AhVsmj z;d38qd|Z>#EX&gemfg(+i$=_io$Gb-M^jz3ICs9Y=%wA)75UiH&XYKY-ZgJ9<4*Oy zPWSnBpP#L+uC`~7kVGuMfB#qM7F0A!So5Z4?%wh}E2hd!;19=y&eCDx%bfnliCG6c zJWh@^Mm_l<`{^_8wUxC^`Z`N?Lhk84*f2+Fxj~)wy*(VGt3E<7e;I1=_$5DQFpN}t zb#I@{lcgagdj1$$MeS)HbZ1oBRDRkk4G*s3pYjZ=p!vAbI}4W{+|rm3>l1MeNxzjX zbt%c-^lZK3rt*%!(j0z_`PU8WLP}?@xSXw@>nhBtYVog%u-g|G*kU)it*-B`}FfdWj%4dKI|^K-~-sHue<-iOJciB??KY z>6v-9O7C~?S5nAKu~iB;^)>Jbs{}UJ3djZt>nkaMm6T-LDnT3-;TxdfoL`ixV5(=Pn`~%es$g!ZXJ}?@ zVri+PU}Ruup>JTJZ)mJ*Xl7+%U}a>a00l}w+lo@stb$zJpmqUywn`Z#B?VUc`sL;2 zdgaD?`93U0R;;MA)Rbc{YIa*-k%CIn1DASOKN0y*%+pPC0u@kPL-ePrH}&%hjG>FMGa zQgLg`^y-Y>M498~XG+dI`(%>HPE+5-y0f+^t<^EvUf)w3(Ee zy<*X~!B4OIj_a%`JtjUW$Bx`Fv(~Pu|62R{sF}u>>Km)gSH!3mo)1oSVS z^qeg|YvQ@N{fzpK+`okndKrkfSg3ukZq=7qcC`CSgUQ^<-5YB|eqFxN=JVNU*>k1$ z4vYFex&7LtxYq3R)#tX>A9#+Rn%|)4wSQ9X&dj)-FL$=HeUEY9nRBiEpzD%8N3{dJ z{hN3T_Vj&rYrMF?$^EDE2eCEb$BwKhk|^19^I5^22@8zEwGYX%-F7g)aBSml9yQsw zFO6dzmn+{<+}6tX`9PGaT!!}a^L0Eq?4D-DyPIVnm~D>t*>p>48+*>Pw~xN+^rw1F z4cICEW9I&~OY|dn&oxEKKAklGbA?dh(w_;3n1qOBFDc1rD*YzeH&M@DkvRmQx)3@6{J@FH*u9#n^b?>DAyAZuk zUd=_H%A`7@SElTZyWP39XzklVp4r|%Zr<%unR;LE`jf!;g&O*-&tFDO+Pi1of91G$ z@xHZ7+vY#N{NY=J+O8P4o+)Vs`_~mGr#y{1*48}h1a;z?!ea|LP<>Kk;=d#Wz Gp$PzyZLz-q literal 0 HcmV?d00001 diff --git a/static/icon/icon-arrow-01.png b/static/icon/icon-arrow-01.png new file mode 100644 index 0000000000000000000000000000000000000000..e7789d5d0c8909b7a3712eb4a14735e06e1b094f GIT binary patch literal 1120 zcmeAS@N?(olHy`uVBq!ia0vp^!a&T&!3HGHN~m`NDajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_cg49seoArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XQrEMXkw~hZmDNz zW^7_h+i#(Mch>H3D2mX`VkM*2oZxQ#zd*s+85C-k3L4>= zc`5nj#hPF}zP?tTdBr7(dC94sF1AWQQ}i-3Q>>iKT%8R}on6dKoXiakU0obqT-+Ru zElteLEFGPkTuotmUGkGlb5rw5V0u#!dR=kq1to{v0-((i&pS-ycaTfAtx|>5qFaD8*Tx0rjPbAY=4_i)hiw|5U}7mB3y97m*tW34V4)m zDwaxhtY6%Dx1q~;Le>p_1wV#I_5uIm75dm8y?-LX#XNInF1XQ)o|Wv0a58 z)*vY8f`n#Kl%P)~^k8HuNjDQA?BYWuB@q!+^cEF8bVgn4p>5#Ix$u48e>vYd(c0XQ z@7m=e2qHhyD8}$ygoi6{3;s{oA<&~W z4p^XVpgFD#^eVhc)$Jo|Qvw#y0g}m-e#o$eRDfF374X_QW+-wEf_ekgdQypKD;a_o zAgk#bx58CblRlp2YP?lEUrBmc&d;!ZhV#0)8lj36JRWl6qi{4!?Gj>Qcq10x1*jf` zOo3sN$t0ch($MN=IG*Pj*28!_Zj5l-{RWa#Zo@9gD2TvTEX_n3G)PBL?u30PK;cZ+ zOVG_tS;O9F6K)ujl1+xAS*N57FdF?oRM$7rHj05i`TkSbj`y2@i2)n-Sqi?mt`aAd zDTFK_BWT4TJe28TYY#-w?tvy53OQZl$?|s1P+`)pSmQ*aLd39;V%=x4)0zlZbsxsb?le0_#1LZwd!2Fh^NKiqIuu44z?#F0f{X-9w> zwxCX~l`Ux5a|vbD+u*9%a}l$08JrB`T<%|&ojJk|a+aIc#hXp@0|PtW!qzTp9+B{~ zn2w0Sco$tyZ_3q8Ksfpp+BiA1M{9d@yGJC8&Z~VrWx%8;| zp{eoREPUbnwmR|XVa`n1)782AyFP~-hgTO?PJS$U{9byU9@=`|y!mXVa5P`Nm@Zm8 zFn;W~ORe4hQlO^Wh7O0Pq@pr^PVQvK^3TKp7PRavxN!P<_gP~8i@n6Q1fLWy?-?pD z-<#ecReT!jo%{78-jG%<&6ge>d%M^bEIxIH$R#REOK;I7{AK5HN2F$Pvc6;RH@W|9 A&j0`b literal 0 HcmV?d00001 diff --git a/static/icon/icon-arrow-right.png b/static/icon/icon-arrow-right.png new file mode 100644 index 0000000000000000000000000000000000000000..470aa44d846cf87d9b9a67499b2084ac8ff8feec GIT binary patch literal 1321 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRo!3HEV4DF?Wlw^r(L`iUdT1k0gQ7VIDN`6wR zf@f}GdTLN=VoGJ<$y6H#24=O)kcg59UmvUF{9L_6kQ%*;+ybC(1_m4Zih{)C?9>v4 zq}24xJX@vryZ0+8WTx0Eg`4^s_!c;)W@LI)6{QAO`Gq7`WhYyvDB0U7*i={n4aiL` zNmQuF&B-gas<2f8n`;GRgM{^!6u?SKvTcwn`Gt*5rG%-~$x70H< zGd8ib)KM@pFtpG&u+TR&)-^Px^|#0uTKVr7^KE~&-IMVSR9nfZANAQKal z@=Hr>m4GgVcpa&(F8Rr&xv6<2Fuf@Vy+%0of|5gS0nlcb)S}F?)D*X({9FaFx2-a9 zy2aTIr+HAlDY)HYfK#tN&@uX;$VG~5m=G`pftc{53*^8Pe`+2u#TNmS_M)r5TNoG^ zXL`CghE&{|GWE2!OQFc|_dSLYCl0w?zgL}Dc-l!!DY8SyMo8LP#Jcm7hh(a`*EXFe zcRj*d-2O053W|u-(B{@Wym#O7ecS6Y&)9yyvONB|&*#0*KUTZQ9N)QFXEmG3fgaII zix!Bv95A_&+u_FKc<+90UuNmFj^d)(+SjGOmY34mp6}cYDSr z1<%~X^wgl##FWaylc_cg49seoArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XQrEMXkw~hZmDNz zW^7_h+i#(Mch>H3D2mX`VkM*2oZxQ#zd*s+85C-k3L4>= zc`5nj#hPF}zP?tTdBr7(dC94sF1AWQQ}i-3Q>+}#ot&LboQxcuOiT?8U0p0)&CD!Z zoQ+%!%uLJ-&D~&nUGkGlb5rw5V0u#!dW~`F1to{v0-((9_J75JE|Ify9Bg?lUjK`I~a)KaL}wCqA{9a5I05GZFu>V70QDl;ZGj9}L+4f+S(U%j3 wE*u@xl_fV#nR=}Ozopr09W9Lw*UYD literal 0 HcmV?d00001 diff --git a/static/icon/icon-arrow-up.png b/static/icon/icon-arrow-up.png new file mode 100644 index 0000000000000000000000000000000000000000..415703c59a3c5b8ad54e24a4e3ddc306fa89a884 GIT binary patch literal 1118 zcmaJ=X-E`N93ROt?V!Wxpkf%iq;`(ob=Mi(Y<6eOrABOBbBzwinWqjq^QM_+yIOQp zSV7pQpgu&<1r<^VfzkQNps2odDjgsCl!Z_fbiFax`p`D;<{kWgzyI-mudBLh^^}5n z1q4A%iB(E*JkP*m(!>e)Z_ggc#nW6AO`;mugi?wP2vLKLfQ%VRGl&C4>)6^4$_QfI z5tpJgYpjkIV)Q7&C6sc<=s;)$4Wh(+&^vX^f z)O1!Q)Xr9w*QoN9WLa9k0tP?|nKs%?M@WaL5nTbV-D8F#M!XrHav5co(8t5V8b@ zNu^SB%11-Hnc;YzXIL-e^?ESE<8+uvNqbDED5D?&N40ee>ChxyMWqq8qY#BN{au1# zjmetMXq#}un6zRs9L>5VWq`8$f2d)Mp&b+lfAamOu#@Pp022oeY`0Z>aZN>TC`*Xg zKta$>K-iY)Vs#5d&}o4d8Hu=ET7?Y_ za-?iQ&z?&#tKKMA%brVVRxX2+Vcg68>#{RP*g@`c%({3pW`1B|$J^N2Lw)pN{45^C zBr%bGezN;T{+(6RqQToczkPhRd-2o#>l-TH9PS-gZjiNK7R(yoOZ?nXcq)e*>|UN* zfA!IxyHopo%?CFvJw$=7;wR?jb^TPnc<^ifkss4P-6rOX1qW`u-jFPeAKUGX<_(=W z+rM$&qF0xw3wwOm*qg&Edb)NDZp)K@^I0$}9ut#l%cS+nWpH}#@qNkf3x{)zhn)p1 X5qiX(7=Pp4arec?qE*u6aKqkTe?)Su literal 0 HcmV?d00001 diff --git a/static/icon/icon-back-top.jpg b/static/icon/icon-back-top.jpg new file mode 100644 index 0000000000000000000000000000000000000000..26db2c2cabddb96f3108ccf0e987552e4d6c74b5 GIT binary patch literal 2708 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 D5NZh$ literal 0 HcmV?d00001 diff --git a/static/icon/icon-cart.png b/static/icon/icon-cart.png new file mode 100644 index 0000000000000000000000000000000000000000..0619a2108f1fdbff929b89547cd10d175e9e8743 GIT binary patch literal 1480 zcmeAS@N?(olHy`uVBq!ia0vp^GC(ZF!3HFkgxGWfDajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_cg49seoArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XQrEMXkw~hZmDNz zW^7_h+i#(Mch>H3D2mX`VkM*2oZxQ#zd*s+85C-k3L4>= zc`5nj#hPF}zP?tTdBr7(dC94sF1AWQQ}i-3Q>+XujSY+~O)VYG%}fmqU0p2A4J;g; zP25Zk%#00|32(Et6}9qaG^&s9FZ z_c`d;4E8{gSf=#{Z6X*>U$l$lYC87m=|K(&hW*}uo-6zi-ehL*EkQnK!9F2yr@CYQQYlxYmP7rSySPMb^Jax88X3-J4kpG``lmE!GNP5LMtl7OM4I zGEvByc~`~%2=^5yKdyW?MbiJ2^SbTR^gf5gSJ-ZIKWZttK0Gk(P{kAxV){ht7S$a^K`qa`TLdzz11}H zd|Dl9a(}0XRbxWnUZIVC@zIv-X=mT9Wym`{YaPed*vIYH!ap=G_b;8fvuMM5BVqMO zZv97(jY0x$r+&C*yj=3nk_}T|d{`IDY-i|txv#QTYwFu?6;_TZL35W^)?X8j&Dpw8 xdjFJ@?N@!j9dSIqN3l-x4^!~B2l0$-49#D@$1_#Fz78r|Jzf1=);T3K0RaDPB2xeW literal 0 HcmV?d00001 diff --git a/static/icon/icon-checked.png b/static/icon/icon-checked.png new file mode 100644 index 0000000000000000000000000000000000000000..5c57d56e8b149889fe9c364e9f82021969179f3d GIT binary patch literal 1177 zcmeAS@N?(olHy`uVBq!ia0vp^Vn8gw!3HFS-u9~jDajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_cg49seoArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XQrEMXkw~hZmDNz zW^7_h+i#(Mch>H3D2mX`VkM*2oZxQ#zd*s+85C-k3L4>= zc`5nj#hPF}zP?tTdBr7(dC94sF1AWQQ}i-3Q>;wQ4P13DZ-C~0ImR@CxH%bz$KFChHteD`w7Wot`Z$d@8X`Job6!Yzs7Y{89FNuJE!a@#+Mo5&?dNRL(aU zeT-M?3)j4AHfQy#eUkID`knjIyGd`|r1xYrJySa0$a{2+!?osrlX&yX`KnzcLK5}b04S6q25W48B#qUfblwZn< oxad!~|N0uE|AOv)Uh<4=48eAh^Xg~3NCp)ap00i_>zopr05a{24gdfE literal 0 HcmV?d00001 diff --git a/static/icon/icon-close.png b/static/icon/icon-close.png new file mode 100644 index 0000000000000000000000000000000000000000..0e6741a4bde3a431dd24092d5eac142e9335663f GIT binary patch literal 1504 zcmeAS@N?(olHy`uVBq!ia0vp^q9Dw{1|(OCFP#RYBuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFso&TM3hAM`dB6B=jtVb)aX^@765fKFxc2v6eK2Rr0UTq__OB&@Hb09I0xZL0)vRD^GUf^&XRs)DJWnQpS7iK&9QrJkXg zv5BRnj)IYap@qJIg}$M&uA!NgiGh`okpdJb0c|TvNwW%aaf8|g1^l#~=$>Fbx5 zm+O@q>*W`v>l<2HTIw4Z=^Gj80#)c1SLT%@R_NvxE5l51Ni9w;$}A|!%+FH*nV6WA zUs__T1av9H3%LbwWAlok!2}F2{ffi_eM3D1ke6TzeSPsO&CP|YE-nd5MYtEM!Nnn! z1*!T$sm1xFMajU3OH&3}Rbb^@l$uzQUlfv`p92fUfQe;YIw12nWDj;^ztbA-1z7jPwwA+_vYWdH}B3=&ykyX z&SH{k(Vvixy1+S|otl>f-(R}7v4AV8SZDp@Gg~x{NK3@GrY*Q%;&%9#h()xxkWu8y zT~mY?ic9DpDrTx6-SmGo^M;SDZ}0|vtj!Mz7ozo9cQ%*xU?Kk z-7J2#hT#v#+w_bxO8f34Ue;tNH#xMyuc*=a$v^)``wMIwo@M_g`W-()@$@7ANz$S5|#K1!o-#ZXSqV5ZF+zl+asq zyWzv>m>KoAV$OU!CB*mFdP?IxhwmF@bB~wC{CWE7+$`P5^Uu?MGuyVrDc-8i_-q!} zAa?ftr5LBxOfz4fEZr#YR4*Tu8L^q??e^2$%Ww8~ZD`6i(rtOpn|yx3!fgSa-+6y} z3(dOLb#QZjyyN;cI(6yR7RDHd-)C|BYtp^Eg;EFC-QC3W{G!~9 z_XqxI|0p{VzIM&GfV)MEQimT2P3dLOWIDG>zE+0wxoJ{oBOmj$@0{{VGgn_N;$A&t ze@4QbjWJfdsqzoEF>-e}-DkYYm%n1w*~@$OGM|XvV#|1{e>E&%RyzXr>mdKI;Vst0JqXW;{X5v literal 0 HcmV?d00001 diff --git a/static/icon/icon-collection-01.png b/static/icon/icon-collection-01.png new file mode 100644 index 0000000000000000000000000000000000000000..e66f33bdac0504dd8ddf0416c8a7967bb63d1724 GIT binary patch literal 1606 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 XBcZ>Hd6Vd<_FwH9RT}(l(rWiVg&=8- literal 0 HcmV?d00001 diff --git a/static/icon/icon-del.png b/static/icon/icon-del.png new file mode 100644 index 0000000000000000000000000000000000000000..ced302ac1400612f921057afa1d795a3265f6afa GIT binary patch literal 1395 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%xak-5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8JrcYiMR=Vqj%tqyPmhm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT-VtFWlg~VrW1CgG|37u|VHY&pf(~1RD?6IsxA(xEJ)Q4 zN-fSWElLK)N18HBGcfG%TLe-Fbd8luesXDUYF>$_i>(q+L@y;X#mddh(9O`%%+l1- z(8SQt)y>Jk(#!=Ikf!G5=7y#gjxfERdBr7(dC93Ty_pET7I^hqITxiSmgE#&r7QaLFTH@5J4|I$^C~}b^8zuxy zK_DhP=>j?M#Gjf6Oz}m)q@6c??==Pn#>bv6jv*Dd-b~-G&*CU@{Ck~cIftSk>)ftG z{T=azRtqn`G~tL6JR<)f{E_==>&^~0N0-G5RVSY4!P%?RK4%LO8(PSf{Z6Woxrybrf$O+767J$-QMkofm( zRx?8;33t5Lq#VuQ`(9HwBzQ)M1OVZO^{f)-*<*ecsVQUycl8R%omza5W%Qg@uuz6W zz%w#!W2krWgK6L13KcNuZ4$ZQD8J}*T}Ud^y#q@uHa9COiJSS=YOiJ5cqZ-u%Zl?x jAB=A>A2)j5&%n%};TvwUee>HAP%-G~>gTe~DWM4f^rZ8A literal 0 HcmV?d00001 diff --git a/static/icon/icon-edit.png b/static/icon/icon-edit.png new file mode 100644 index 0000000000000000000000000000000000000000..9904467b3158f05f162e454004980d60e47ba6cd GIT binary patch literal 2055 zcmaJ?dpK12AD#@Ni$pF7od&7a%$SQ|CX>s|xSN<1`%9ZKb7ErV95ZLkkaZc_iIwzI zn_5|2q?N3&659A9I;+jEM z3FBxK@3odO*L zVHOxI@=26}TN1e;g2WgBU5Inr1h^_0sDKzm_<&LzE0HmjOxy=u2D;Z=6LG)?2ol4@ z{gqT$U=YB9q#)o#py351suSQ$Cy;0qDxK~CkR3@bL`N4QiGnB57*t0FnGAeS-~)9FMl0`!>z+!2-MhDh~ ziX=ivAzS}}6Bx+wmB`( z7pHl-L^K(qX1Me!4U@+PWU$#exvZE~2AF|{a zmJbhg-5E$VBxOvk@ocDx;I0ccuyl#jQ~RU>!5O)|4F^0uwY;D3(^73pY}G!n`vtl= z9@wtWRb}WKuAl6**E!@p{6#VTMEk@1yxD7y| zLGtIg5sOht#bvpdx(}z9mwT-$LM$=m7TAv!X78(Ki?a*u51M86m5mWPsti%SQKjl|K5x5F5UFZ(D0}ejVKE-}6{ic6K?)PuHrbZw?qe`J5ee>kWOj z<-&=CfcEP8b%lFx|9q%P@$61uTld;Y*UGmJ*}0|_H`h%CBRkIM)$7a47vJ{JcQTpj z&-$v!q?;;@s&0+yb!=W~d~#nr_L6_a7uVjY9Drx9i*B^E{$W)emGLI&nQryuUh|%D z!RMo(+Ea|Vy6mVg%OJHlXo~4RQ+4_eQQogP-gZSkhq7U_HJk0Zvx^gqZq=!0jExrT z*|^_V^{ZT;fO45L9N7KdANQXR)MKe%~<_tBy&^E z7P^v-9GbC6`8qzJwfnF!_voz7z`JAnW6Z60A#Y7nF7d3*weoixhit6bAsA^mop82d z!xf19Klx{yz8gqsa`6A}67u!bw%EG`uwBKbrZ1gVwN3Qgy_QzX?jC%zXSI%t;<|g| zP}aVhvUkJ)GtwY3&Pd6`_S#Q!I}e-~)Dkuu^d}GdU(S6})MLscG`#(Nhd90eR_5dJ zS-Oy(^P8cY+U;=sd97o4k=s`JxTxc7O=^x?xppY47UqoU2(R|HdfLbNFlo$h;@zGn z7(U6UHJ{b4{N|ug4I6!_FzK}_Ei<0p15KqZno4XG^C}7+Rpy@)L3WM47NZYzD|0f2 zle@QeRIXiVkkR>7(!NQ?QowQ`(iyf-NE_yw-S3$&DmCG%UWsXG3yUwj2)S5U9!F2x zST{{NO^KCK(hoe!D)2kjRpL|Jw!D*)nG4xA4jnw55&nJqFB61{x37~YBB-7vE;wQY zY{Y5OQ4Trbt6CLhM`k$Z)@<%~Qb5s=k-y)<5Q7 z%6NDz`%CI3emL2ulVmpjo|?zPwDoN?waJV7_86Gq zUViPysS3;0C1j3TMR_ohzGA?;zd`rjpmWfmb(!VhtE98b!h&kICzf!Y;}@TOuWgRu W7C-Fv9?86^`8E4;xa@Mz2-TnJGE(0F literal 0 HcmV?d00001 diff --git a/static/icon/icon-jia.png b/static/icon/icon-jia.png new file mode 100644 index 0000000000000000000000000000000000000000..e7de66a5f4f87364e41fd3d2ca14e1e86e193282 GIT binary patch literal 1074 zcmaJ=O-K}B7@m|=B*lm#J53{mK|6o$t~-;Pt26#=y0WYT?k#6$KHWiQzH#QWT`edr zf}~I(qCG<44pM?j3$VN#;mPs0|1dJ&~I2_>ignjiZt{v)f0%ZF{7lH=D)TXFpEKW+$0c3y< z`ZUfTAnOI13)cAs;TXxYT!>*q3|Hslf})=ld7j+*D4fmF`^1FYx|Iv>!c-a|TV$9_ zCPQcHXz27aoFE7c%QHOh!x27r#6oJ;XSp?b1{t`TW7x=m7U?mnDL9P66jr)ff@yEl zTJBbxaKo6aYBL~uMWyA(d0=RJ4(eTCf)p)6FQF4Ha zprb%InD1gd4H0zH&?Y6x>zY8;_8689Gw#tGCKeN;mWxzN15r6lVHVmjbdhTf_=5pf zZjv~G<62}P5Nd7>`Ga@}Ng=*DkCmY|Yyu1AvHA|Sr6AU`gK6W;GH{I3KyP)RN#@EH zjlx=*3-WDY^}<@Df>;KNVZ6)z>$3Al*g@WM+q!tOZGK>3$2-{Cwaor`{4DN7htmCrRiI5mYQZ(H)e(2x$2Uu3k#96dnewlO+>4RGL~5R V#(fOzDOvDdakQmNzSrD4{s;MtTuA@` literal 0 HcmV?d00001 diff --git a/static/icon/icon-jian.png b/static/icon/icon-jian.png new file mode 100644 index 0000000000000000000000000000000000000000..bdf0bf419dc3a39afe8f9446625c49a296f218b3 GIT binary patch literal 963 zcmaJ=J#W)M7`EsKRi!Slv`9!N7a@>{&vu&BXVtWhFKwgNQAr~;6N+PB8>_X?*w@+( z3u*_%FMy4Kg$W^6kPrg{1I&m&!7o7KoF*v)sipIM=y{&^2z<{F_e!>GM;7V&o4uIq_UcWycjzKd zTzv>uGMx(qggGD!j>1IG46(1P^L2gN5d}ebSa}rmqx&{ z@~$CpZ_f`snkM)A9NX4wVZxlyB{gh_Tt)JIPghK2niy40OF@cK#i*iLrlu@w>avFA z3LbJXb&mrQvLV;IW8%>V!Z literal 0 HcmV?d00001 diff --git a/static/icon/icon-layout-other.png b/static/icon/icon-layout-other.png new file mode 100644 index 0000000000000000000000000000000000000000..5d08815d997aa796dbf01c9599da80ee11d788f5 GIT binary patch literal 1674 zcmaJ?c~BE)91W+6B5g%fl(-YB1>0n^Nx&o!7|aF;lE@{}DniI^Ai!qBW-*6W@G6Q| zIX$pikxD_OQpE!i7#X#Q3Mf!@a6q6!r4}npL8;me1?(TCJG1*8^WOViZ)SIe$OG){ zob6~dn!Pj-4x`q^=6AZS`CH~Bpq2%sB#I2jRis`)pfo=Ok3#_|rie$wPz7R4sYktO zG^?fRh$u2j7A#ca7)xQsund@%V$*2ez6PyAnS_!+92&3Ih!_J`Y8ZeT5i!}m z!l*^TFjR-95=v@tDpzwTtx!y$3KAzGa6EaUiy;X(iR%(@Eg%+~yCwkK)~GcIuGhJb zabz-~RHGvm8YL=)MGQ)XrB)+CFU;T<(-yvmG!k6&Xee^#&C2CvXfHD_f|ZIv4hodgEMV>Rg~HxgeDcXddpr zhCOjbImo=7v@Ug+G(W1L98XZz7S1MyX*A2%QrIuT@Tez$WkR^0<5xK?=MUd#iTlIG ziOJfuwX%7yqqPKnQC{j6RNm*mJJT-O@%YS8I5cy=#BW||_eo&-vaTTQ6Zwa{x&2n~ zDJ-s~<$|<3t>+jqf9dc(i_|Bz2R05|9&D@^adl5&Mq1e!tE-*%mn`xhx)fHmZMBMB z;+CG>`h#;%?UzmSy2u%Q)?Um}eUr6qMT$jVv3RlR79X>IT-u>)vUIK$JSuxoxOP*@ zmg65CX11lf0C%dB@~Y`aLggJ$=IYW_vycU?f=93T2SdU?X!+vTPPb!A_JHafE!{S} zA;D{1OiYh&kcr=sD5z=ZWqm!p`PN9sgR~3K+iwR=4!umrf$nqdHE;L2G)eAAxbyPP zC$671QatBqrN+N9y1F{7x1#E(t^4MzRioB-2j9kir|`Yo%O44RGpo_JsTR7Ix7jFt zo}1GiS?pc0+rT`yrAL*Sp`A0TcPrTRhW&id>b!f!Q7E<*C?mCwX{`(^xX6ldl- z2$!u=x7Q(|b&~J15Z-~jJwuNRj||^ytIzrL_okJzOO%PslnfcYMA9f$d0qb`_qiu_ z&UOT~oZb9oDvFpvhSi>^^9i$RDT(%;1>)%k+lT82s literal 0 HcmV?d00001 diff --git a/static/icon/icon-layout.png b/static/icon/icon-layout.png new file mode 100644 index 0000000000000000000000000000000000000000..681d14b9db5a8a8e329b14f17a5e76bc51001300 GIT binary patch literal 1555 zcmeAS@N?(olHy`uVBq!ia0vp^@<1%h!3HFQ(zY7`DajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_cg49seoArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XQrEMXkw~hZmDNz zW^7_h+i#(Mch>H3D2mX`VkM*2oZxQ#zd*s+85C-k3L4>= zc`5nj#hPF}zP?tTdBr7(dC94sF1AWQQ}i-3Q>+}FOr4ya3@jbZ%}fjpU0p2P+)SJ- zO%DT9`Zb57Si!KwR^9BLI|4iK_VnvVY6H=!h(sq&F zxM2eahuNu6HW6;-rX@YSEQ^}T1berepTGa+oQ(FHd-u-DJv+F2d-3PA`uExQ&U`wV zHhIm3r<#k?U5*G%ys+Oy_00W~Mbm}0I`gnjT_Su&#Fy`g!Drs1dveywXkDL@n_;iE zt^AIHd9h%Pfl&Qq|E+!2<|Y+qEgxI@*B^L(;Ihv*t)7ZZPs{b+AMT$Y(%i%T@4;S; z#qAGfA6YeZR$B1?`oj&;60+SqzttblU(5Y$f=pY$`<58z`&W-QTg_X&r-ZFTGQ2b&#TYU&54+4z9wDp+>!;8z8Rfn`*d4()h4S43m@F8__uyZhInT9LFXIK z4{m;NXil^FfxDe0(`+oxed6OgQFcws`}L*2B4O3B=WqYpQe~DifAK2)jVDBH)>jm4 z|0ZWqH2-qeivoGYX>ArI@-?%kSWS3caN*hOi?V$$N?sH!OWN=Ee9?q?DFzGJHws+5 zeN*!O>+j~ifrlkbmsXq<V6KVwZ6Uuk6wIRwN{c(_5=f}9Y?EBa6*q+?@*T&+!YHWG< zrmcp*|L7h_<=mSq*&*Jh@wmIyI_c}`fQ&Uu`G2kmYj=J#|Iwv?rAzWn10N|HOf>r+ b-oVI^B=U;+U}%>fsF?P2^>bP0l+XkKwNG0D literal 0 HcmV?d00001 diff --git a/static/icon/icon-notice.png b/static/icon/icon-notice.png new file mode 100644 index 0000000000000000000000000000000000000000..58dcd1603f5ef63ed8ed2a5431c0d685be792edd GIT binary patch literal 1405 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gjk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+nAI{vB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxOgGuk#8koDQqR!L z*u>ION5ROz&_dt9Lf_C>*U-$$#K6kPNC66zfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7I$DAX(!G{Q6U zQu51-HNkp(eXTt6ic1pnl2bihY?Xkf=w)W6SUDM)nz=eUxj34e85&k8o47ie zTAEt8Svngy8p8CtEaktacj*qOAls8k+$omO9WVsGF$VD^s+}pMrvrX_^LPE;xLoj7$C^qJaB z-a0uh8w5i`Urc0VSaon84pJ?;5k&sztB`llU< zS-@=4lr_Qizcxp+tN=^;DwbV`;u*~jXiBhucfI({lw$2STwfZKA6$GhyWOxh zj7c~_(qilV*^@U4YcVc-cllr5z9Um#a8~b|;j}3_fcu&6Ki9`|C76meb55(RczmzF zN&9lySt+JR8fLeBesOMd%Xg7rNOQLwx?Q(FtaK=-hML0Pf>vNrds`k`}zq| zHcj3I9C;#4sY3A~>ER)fdhr#C=YN@=-@RgXP_TQ()FbVs+hSJBDQgwa*x&u5hEL2w z@5pJ@jn+;I3CZ=l56I1)nfNkcLaE`>4sMP{j)?67FW6`LNEr1#)ktzV*Kx7i&B3PA z!EOfQ(Ff;_bv-`w^X?lL?GI5bUyHWBHDlRx=I3L(h@Z=UC-m%GVtz~I1=~guq2m(P zsio?_9eE>?tG8V~bp6Nr!}_aJW_GU1WmdiOnJs|zlf}O?-}Z2aS;l9@Gx0DyQA&zo SNp95v6^Nd$elF{r5}E*n()FGI literal 0 HcmV?d00001 diff --git a/static/icon/icon-phone.png b/static/icon/icon-phone.png new file mode 100644 index 0000000000000000000000000000000000000000..5677239e23434f7c19cfc7a1bb8b5551b2b5eca9 GIT binary patch literal 1835 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 r_oQg$*TR5_`qzKvX literal 0 HcmV?d00001 diff --git a/static/icon/icon-screen.png b/static/icon/icon-screen.png new file mode 100644 index 0000000000000000000000000000000000000000..d100f7e53840b3a53fed83a57bbebae020becb74 GIT binary patch literal 1349 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gjk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+nAI{vB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxOgGuk#8koDQqR!L z*u>ION5ROz&_dt9Lf_C>*U-$$#K6kPNC66zfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7I$DAX(!G{Q6U zQu51-HNkp(eXTt6ic1pnl2bihY?Xkf=w)W6SXnq(ni(57Iy#!085%Z6Sh^Uy zxfocO7#o?HIm7h2~^fOyYmA``x_v`*yysTwb@g^820gf8QU^sXpFy{PAh04#N-3 zU9JYz>}DBE*EbzzoW5Yf{pSvv8){hc*kT{B)vS{BNDvNbuAIQ)Zs$IqNnYp6GOOG= zy$0q2j;LCe_BuuTz3!fzl{N?44~Xc$pB3&N z`hbzA!EM8$pUe1;SXjD!^1WP^dHdy6ngL*$=$RHorAsVRKx1 z?7K)CgRJmNh3bSX(**eNV*>uBp1eX>Bw2S-Fa^PogW> zr4!ont+sco9%Nb7EHnS-Z=2a2_kV5V{jK`rKHJ@c+aKHuc@W;f$dJPs_Gii3GEY#! N=IQF^vd$@?2>^N7<6-~+ literal 0 HcmV?d00001 diff --git a/static/icon/icon-search.png b/static/icon/icon-search.png new file mode 100644 index 0000000000000000000000000000000000000000..151b0deeda4993012a1a7e18fd777cbb63abb8a7 GIT binary patch literal 1833 zcmaJ?c~BE)91S9e5wr@9LaP%u9S|fJ1R}(f(1oGrQk0@4esgy>GTiBL2>s z>`x|5FkQ{uFWELaLFRL0yE zID$lS4Nxb_ak(fSRH9nC!ik|9v>3rAks=}um_nHY&c5YWQ7f@08W5ItxR03UQgV(#2#0F)09JVyY0 zOiC`2P=u%srf}$7nv%ulP+Y3DW4vIh^A9z zf>J2vQ!HX70J3o$0~w5hf&zL$7#-DRF<5*)pTP`egoe@x1Wj*5aD{<}=&5505Uf|~ z)EKTt5sFh$k%8vn0)WW$V+mU9vn-MTw?Ps(em%?B2 z{ZC6FC5Wm27?Fi@z26*#I(L{ZIH7bV#!j_R{fj3N{|yT+%?OI9N) zv_K#9fg=)uaflvQAWAq65&(n>U9DDu94-{iW^(yaJZ>0^6%Fw@LVh%x6$8a^!o#`j zm@zJdD)Y23f{$@kU${}@a-DY2Vnk#J)~WMhRg4bRQa+Ros>jcTH?H0%u4?>T!pG$@ zh-4Vf!~NG`k8KeSa!x;6msor@Ka3EL*Adpf3XP@_H)dxX6qRVWf4)K;o0u?bW9`!H zgv#jR%=wCPSd|GUl$YBi@^1%g*G?2wKsL*ags)O0(zdr`%UWB)+?2@0VV%|2t^1`G zYwMlL_#pO*F4sPL&*1Kz^`Jh|(7k)XHDh1Og*T17OE2=j<^uk0uEuo#SQpo*h++5T zi(Jo54Q|r*JH#IJ9miH|YHDWI`5ku=a=QFtuUJ;sO=eqss=W*)b0F3Fo607n-(T~F zDxMkVJL;}+Tl1Vez_YYef1|2+c`Tuxw8|cKYvOXgsVF`4SC{$Cu7e&2(u4YVL-`Z4 zEFJ;5r5#PNlK3)j-z?1g0;$LDzBzTSf&N}O#nH3vfoIj!qfOYE1@@RNljxoDfpvDH zwZmoYtM}Q+Za=}a3Nl^y;>a-R=ce3-hJR(FVOqje~qdx-0s zyF>PN=Zm@B>_T!<_5B0A=Mj&k_7zmytLeUly*Hkiyyrk9)zElVMPY5b zg0E~i0-Edht~oNZw;92icZY#xflQeVopod5bA~Vwvt&E?A(A;8fix_DD9NVni-B)pjnz&^~;1uoQwuf&9oQLCbxj1XSJYtaIc_6VfMM4*C_6$-oBA5 zuYO*e6j-;!Hrdi2w8tt>iobC9j(%?W#eY(%!|s2>{)WG z9YP9)1NH934l-CLi3xU`-EL0Ke^faF6|uKR{s8O?JQcBQYFYT>)2Q{x+r_1tir`8* zK&8cB*Cm~IFBlX^ek&gE5tULeze~5a9O&Fy=2mm3a(TXKc8G75tu^`T@Il2%?>z~t z?*$HAzMvkIR+#$x(#tN#2A?f(8)(l<67{5I`M)PGza1KociP9JaIx^j$?bMg+KJTC z{Y8HpJP*pMLZ-i_iKoNSOZK@M?uCeN=KncbK7t&)cZGed?7qili@5mac3z6TV{6Vr z+AaKa``OLPr|L8H@BM=`UhBGgdm2(l%fYfyt7VOOq-dY~l51*X`s+r;>}EBh4D?=E s`&82iw_iHy08X9z{q7UvP}+JIlBv)>?eOZ|-Ois^T(lUfS)6Y92aX=r&Hw-a literal 0 HcmV?d00001 diff --git a/static/icon/icon-share.png b/static/icon/icon-share.png new file mode 100644 index 0000000000000000000000000000000000000000..846601da97dfe495805e9793ded341dcfe9f5bd1 GIT binary patch literal 1314 zcmeAS@N?(olHy`uVBq!ia0vp^k|4~%1|*NXY)uAnN?apKg7ec#$`gxH85~pclTsBt za}(23gHjVyDhp4h+AuIMt7V2nltlRYSS9D@>Lr5I=vCwv0Ch7k*w|MTBqnF4mMA2p zrf25aD!t#mUr8Y|#a1cY)Yrhbz&SM|)1#^=HMq(zB)KX(*)m1R-cG@$!U||WZfZ%Q zLPc&)Ua?h$trFN=DzM-+Mp_!G5ft8Vw0u(3#Z7WJivkG!?gW3h;*(zm}loVL$>z9|8 z>y;bpKhp88yV>WRp=I1=9MH?=;jqG!%T2VElw`VEGWs$&r<-In3$Ab zT4JjNbScCOxdm`z^NOLt1Pn0!io^naLp=kKmtYEgeeo;J&4sHjE(uCSxEHIz#UYgi zsro^w#rdU0$-sz9QwCX8VC7ttnpl!w6q28x0}I7~jQo=P;*9(P1!reas97p#glFcZ zP^Az7E7FZ^?{Dj2SqMYWW$7jDG0=bCtV;1p7>MqfGNHRn6zif@_b}qV4URX z;uunKYs)lSZ)QhBdX8xO{uL^@o)2dF9XV&Xm>DUNS{V@z_DT8K3%> zzF@z`9OfYRrCI;u?Vtv=`;CZ*m#TwHdGh7=EDJUfop+hV`PE+D zxvU0Uc?X0l7_P}rOgSi;(RFUynThKfl>=D5FDW_kYO>+EWC@=Jp@M^~znAdvUTBfp zuaRM)-}JcQOPFTte3`5;m(7tIj{h|e_`W32C?)jaO;1fHmgISJ^P29|f6iT)e*4b4 zrlJce-p&VDm1A6=8gQ4me0m$xZXzq#e*5(X?visZxo>O};>>R_n#xXmKS6rQmU9h` z-ZPA!{=T@x!`pS8@};NQy&=~pdo`bYb&F~HgCk2gTnhxYG8x^e_x$l->VBS1lOKxH zH*|cuzTszmf>cg}>j$1ohThxx*L*IXyYD-n#q_kEKUS~2mgq6+#dk&-DtQ(c&S~P> c`$I5+f%~-ipB05suR*1jr>mdKI;Vst01=teXaE2J literal 0 HcmV?d00001 diff --git a/static/icon/icon-spot-blue.png b/static/icon/icon-spot-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..7dd934c2317fa215d5c3e768aa221db081272ba9 GIT binary patch literal 1057 zcmaJ=OK8+U7*5?Yi#+pn_rfynL ziVAg4T8|?5I(QQg9t1(5_&~kbgBLGC(Tj*u6b0$QNxQpxs0~bJ=I8tV|N9?P9Uj`( zwy|>~MNw_}{YruC-DI`4wvhjohGlF2 zlm`z@4Hb>4aYHoe!2!@8NW_5+u?_@4$mNPjuDJRspTIc2+AM1_*>s+hB zP3G3*O0oxajJzU3r|aDtE+dTmGID_|huspv&Lfs%qKdyOEN@LM^sKYc%z4NL%k`10 zRWt~xY+p+46EoRllIT}5f{>82IWfa4tiY-~UE`Xox>E7$$7)Kh3V2$OMJQ z#^{nuWB8#%Cf*~X&3)R@NuI@QUda@L_ahIlk3FZF=k|VC_w2yt4!8aCFKY2v%hL4c z-=*nGtsVC$Zo{<}4IFM>5ce*%%-j~{Up9B&nD5r7BfDody;ZhvDLl|4uY-@}J6Edu z)ux{Eg}L=#7iRBP2d-ZHxo)w&_uAks?-8Z_;NJXxb3Vd56vuRYZ(2M7p0qt1U;MbW e<5qQGnu<_IKkzSZp4xLRe6)FWNV%UqdEpPyWK%H! literal 0 HcmV?d00001 diff --git a/static/icon/icon-spot.png b/static/icon/icon-spot.png new file mode 100644 index 0000000000000000000000000000000000000000..eb5c781c4bf6e4fdd54644f0b84c65d114fca446 GIT binary patch literal 1047 zcmaJ=&rj1(94|tE5HW@r4IGx25>eEx?S8Q~o7kc#OaoMD4s-PgG%Wl+|OhAosMbX8X%Yv-7uK^1~$BJ@F0+0;0QAq#?lC+Jo< ze*g^e9xmwf^ZW(iWw{W;h8WK0=7NHs6}(3%1aDa0%&V`OCz zD%QI=UO*Vx1!RI)%;_2r&Q5BEic0oim6J*dNyEmnp}?dRp^1t|(^O%|Cq>y%A}WUb z366_Pp@bNW`hDz>=nn)%F;?eFNSW24f$LoLkQ-~tb?l&R}?Ld1j(~lN=jm;{5_}M zTwL+x`&tK2fvqQNYg{LEI{$R>%=a^xuWE_>ztNqzaA^Hh`ZQE4+ewfG0{P)y(e literal 0 HcmV?d00001 diff --git a/static/icon/icon-wechat-line.png b/static/icon/icon-wechat-line.png new file mode 100644 index 0000000000000000000000000000000000000000..5478fc2f63d9890ad58b4d62e118a51bf1448015 GIT binary patch literal 1830 zcmaJ?c~BE)91S-j)C;LVXxH_sm^&emNFXsG8YIXmsX`^khD4KWOcn_ODq=O1s8d0r zs1y$b5kWkt5er2sij1ImRKWws0}%xkDIOKOQPKWUx-+}qG4H+K@x5<0J0g6pn~RqV z27_@E%;QC&<7D*padt$%Q{x>h=-`Qjh>&Plj--fn5QZazB@iG`i<6)zNGwZT-UJ0= zFm}_GF(O1H3}Z@RH9>5}5DaQ9%En*11+d z6p#NY7P?}A3Ix$IiNutY6haD>0PB*7WCnvlBvFVI3LZt^^{E;}Y`|;uQ-&3IkY1`& zY7r%@0j!E*37m|uKs3{jC8)KZWi|RwZ9*GHG>ElCGJ#|*X&5LJ{y$W${*2ZmQP7us z|5I2Wld6S?QIH-^)=ANWlTWdR(lWU^NQ}U`7#LO!cQHZ%Bd}fpYXL6T+BF97U7S)Q zgH!Y~KX8OXra+@d#2P6i;ITkdg`iZ*nA8v|hZ8{Yb1T0Efe2kSY8*dqV;h9b=bpOsDrH2&(=j3pUn?xP{->~Yqu5l6r(pLU%=zU7~0Ft8H$aO*t31r zHTZ%-RU^IfK|w?jGP zgR6$tzwVs=s#}&0h+OHH^>ch#()RSNE534w$+92oL^wGX_{$q>$F1kzp6y({Xk3*? zxl?Q+EtueOAN=NzleVibHVRA*ci7X7gFN2q!<*~wc@EH5?ltZ6G9{F~BzCg0H!N5E za$mQ7e3jR$OrOr|wm5dCooDIewx%bW*J?@jPvYJLX_Y6}xXD9s(%!x+Zz^Uzor_o+ zhA2|(idgSi^P?Nq9N*Ejsjw3l9qD&KGKT$aOU%SeE*_a@UBgE;I+J{OZQNbmSqZ^Jfk1SJEB-T{euKA9dl30T%tTQ4@P- zT9r=P<`#Z&c4}wPqvABl2?v{gHo2oa{)l5%*W(js<83`(-o_FJCT06P=Z$WzoZ+$G z+1SirI_zj8EVk>$O^P0Zv?zvt~~vzwaLVS4C00|fI1V)5qY$ks8XAb)LmXEB{$JMrMc zqZ4tK@56R;!g$vY~87kJtJ0qVS)E=f8Sb?A~E^*H4e??YlT%-g>O2e#JE-@103` z&$LKbt95H0FgTV!**9fpV9x@ZQ8=e9Arr7A0X61Jcuhvj>8*TU!}`*P*@yf$r(Xzl zY0m79PQz|{N+fTw|?YIWiJ$;5)|6GEQa9+in#I^qb^ikG7 literal 0 HcmV?d00001 diff --git a/static/icon/icon-wechat.png b/static/icon/icon-wechat.png new file mode 100644 index 0000000000000000000000000000000000000000..dfcbc65c7613e9cc16226515e452db8bb2d16a65 GIT binary patch literal 1845 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 KpUXO@geCx<+O>oL literal 0 HcmV?d00001 diff --git a/static/logistics/icon-logistics-02.png b/static/logistics/icon-logistics-02.png new file mode 100644 index 0000000000000000000000000000000000000000..44a7627558559bc67940c1f08303659c115af226 GIT binary patch literal 1266 zcmeAS@N?(olHy`uVBq!ia0vp^q9Dw{1|(OCFP#RYBuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFso&TM3hAM`dB6B=jtVb)aX^@765fKFxc2v6eK2Rr0UTq__OB&@Hb09I0xZL0)vRD^GUf^&XRs)DJWnQpS7iK&9QrJkXg zv5BRnj)IYap@qJIg}$M&uA!NgiGh`okpdJb0c|TvNwW%aaf8|g1^l#~=$>Fbx5 zm+O@q>*W`v>l<2HTIw4Z=^Gj80#)c1SLT%@R_NvxE5l51Ni9w;$}A|!%+FH*nV6WA zUs__T1av9H3%LbwWAlok!2}F2{ffi_eM3D1ke6TzeSPsO&CP|YE-nd5MYtEM!Nnn! z1*!T$sm1xFMajU3OH&3}Rbb^@l$uzQUlfv`p92fUfQx0 zba4!+xV7eruePhB1p5ce6Z;nK2c*VAK{}29u()0VAXJ_uLy#IDj$-ne>mCt5+{Ot{t2>+MNf9~ml4^Gz1 z+5t`Z7x)}aGukX?w0Zy7V*WhQHenj8o&7Qk>6y8Lrx+Km|G=PZRx-i7FXV>B6PDjf zf7Up$*QoB>cz(nAaGvfjE`bg!M7Bq(Wkl?az7hT~nbYd+rp&KAnZL^Qgx6%AH<)=u zO6SV%m%$R6ueh51r3G&>pSHQz^4n(NrNsV%IXl9hd^Nw(@O+E;^44t|p2j_3YD?gH zmmqDo>7QTJ3qGAgJUkaf-|VVUo*S{_Yg01YJPWpe9?Ua)0wkl?l)Z`Y;JiA^_V(AdJ<^NX~ f99CUk$11@v^ONI#>z{kQK&6nUtDnm{r-UW|?lZw2 literal 0 HcmV?d00001 diff --git a/static/logistics/icon-logistics-03.png b/static/logistics/icon-logistics-03.png new file mode 100644 index 0000000000000000000000000000000000000000..86969e42101ba1163b176687bec0ad167e5c76fc GIT binary patch literal 1772 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 literal 0 HcmV?d00001 diff --git a/static/my/nav-01.png b/static/my/nav-01.png new file mode 100644 index 0000000000000000000000000000000000000000..58084d284dc4975f2e6188a8c874da5d75fa338b GIT binary patch literal 1749 zcmeAS@N?(olHy`uVBq!ia0vp^YCx>c!3HFg6Ro&`lw^r(L`iUdT1k0gQ7VIDN`6wR zf@f}GdTLN=VoGJ<$y6H#24=O)kcg59UmvUF{9L_6kQ%*;+ybC(1_m4Zih{)C?9>v4 zq}24xJX@vryZ0+8WTx0Eg`4^s_!c;)W@LI)6{QAO`Gq7`WhYyvDB0U7*i={n4aiL` zNmQuF&B-gas<2f8n`;GRgM{^!6u?SKvTcwn`Gt*5rG%-~$x70H< zGd8ib)KM@pFtpG&u+TR&)-^Px^|#0uTKVr7^KE~&-IMVSR9nfZANAQKal z@=Hr>m4GgVcpy+J+U$~Alv$RV;#QQOs{r=4RVHq? zIN>x8sy79|p(L4TIH_9f=eH@eaOsRrrU!#J=>6AIvrjvE zDo=H*}coh&$fP|SZ3%d>l;4X zj6Xd-?5IEM6<^d&{taKJ8AeSz#aAXEeU!=Fu1o!;l3Zi)n*P$2uYMjqlJza|X5Y*T zhIbofCvE$s-T!pj{wvcuU5+hlh)qyApWpCzLC{5}mA$PyuBg7gZX_<7WcY7(it;AT zAGTGKTFX}2CbQ-=yKX-y^vu}&)N`L~6RUZKH}&Nnd=%CD?IF}WkLBzdv9+F3lOo^g z+;-IVV-GkNyH(`&Po6g^B5GPkr!7%>w$wjiBYUtW=f4>DpEsUwTc(=9aogsO*UU8? zqMLm`8?#T<`j^x3^tg9Vr&Z(bZHAQsMrQ-BONku26sc;GwWYUnrB2>k?J3RE41WCW zGR)GEI`vq3(#84N|8;ldC55v6a5;ATxaa>?op&FbZ1T+vmi3s=-W$<9e za`Ks5n|=l?ZWqf=n4xW)b09+Y@s_iXnL2L0Tr_QO*tCTb)@O^B1zwhCWMc@`-B{zZ SXx9=@MdRt}=d#Wzp$PyBgQ(L0 literal 0 HcmV?d00001 diff --git a/static/my/nav-02.png b/static/my/nav-02.png new file mode 100644 index 0000000000000000000000000000000000000000..6bbef32adc1cf8fd2af97ed12667186deac8651b GIT binary patch literal 1951 zcmaJ?c~ld39#2;(R;nNYt;#VBBmp5OkYftCDMKVQNg<>)J{6iw2FOA(AsI|KYFk%Z zQeAh0Eo-rWii_HckgkG?qO0K$eXytq!sBRA)Iv?EZc$(Kr%m0adF|;!3FmLNFae<;E~9Is?Hbk>b``3@RiS#Q`;%t<}eauIBR~ zpw+~K>tm%XsUZ=~(Iyue(exsj0x8Nx1R8K{0uX0`2mu|6s{o5GPj7-O@!)e^h}gTY znIP~Sg6GDAzb2)WrUHqW5d~ryTsp#zi3NB92AdllBM?LZ92T3;Wbv8oXgZq<#jqd_ z2YB&-L^Pu&3zEa47qN&_JeY&y28hWto6QV!Gy^kcGuZ-xfXU)8IUG8HpqmQyxXMD; zn?mOlVAO;dwFX>^=>fN*N{toZ@gR}uuO;XVFJ<+n7i}UM#5mn)sQGsE3b6rf$!Enr!gBgIt zM0eK&K=^vCUW1uU5zjeNDJ0gLaFrfG#c(`Gs4%oz4a7_0u|!;!K*-~9*z6=&z>ALI zC-T{R7>}&|ty225?5^74S;Zv9HyzYEiutc*M2BE z=D!x_+HB7Bs%@9+ouzyVqYPf%_q6P)fi0ATOhHv$YkGYA!kM>wuP)E@9sT-<&q-(X z-gl-VrW%!@pOpOw+G+c~4Ib5$_e*_yo&NSnp>NQc=7zeqK7C1h%Au>52Of+r=yBd* z&>t%uu6V~Hsbko+wdH(7WASF%;MDzPh$R&)RPVdT{MzwK{lpzo%M3Y^xe;`g%JY*H zMMJbN9O0C436V)*kodd70*)XX+M?SZJjz-O#j9pvYI%_{M~ReG6zzQzP=9-w+A@iEEX4U zPs0*6B4O7mROGN{wO)rPQ_azyvpzM^CA&*)9i;>^LedxNHS4+g#>1{14e+u0@I^h5 zzo)IS1;xmz((;Z1s`8aTN&ga)+U2?P9k@OUI(Lfu#?U9Fl}|QgbfeXEf^)SrI4-66 z`a|{6$JW5ch09ruewFVoYe_l%q$qMpc}J$xi_x+|HJf@i#UrqlF+hsl_3nX(tc!hb zC7f^U-E%zl(|f}9^p38iNwWWq#S`ed=&j|$ClcB;TW!O)Wkug~o68?ii?&NApQT+n zosjjT z(Q}9Aqt!c`Sysy9*}*S^4{R<8y)%5<*TX{`}pKA3(Z^ zo70qJO)&RUWkg0c+5Xzkj2|wZXlS44Sby&q>bRpn0HHYZ-?KmMf#v=oXZ-Ph@%jT? zt*?#JEH}n2)N^m67sjf(Pi~RrH#wnc^6_oetsA?Z)JBbEZm;ZGTAAYP?^cO#=4&23 zuFne$KqeD^u7b;|$EfJX&&aD=7iX8O>>VtYTP+JukVhtF6GCL;-%r{|3rLX%TvAru Sy&?B6Q=BA&kH7W)w*LUbm>l!~ literal 0 HcmV?d00001 diff --git a/static/my/nav-03.png b/static/my/nav-03.png new file mode 100644 index 0000000000000000000000000000000000000000..9184639416d82cc599c4b263f5f1fc2651fa9521 GIT binary patch literal 1769 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 XxVrR{YgpG!$KN14BvO7pSZVzSX#{<% literal 0 HcmV?d00001 diff --git a/static/my/nav-05.png b/static/my/nav-05.png new file mode 100644 index 0000000000000000000000000000000000000000..0c74e5d1711d15b38faaec72ea184f3d82649109 GIT binary patch literal 1521 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 literal 0 HcmV?d00001 diff --git a/static/my/nav-07.png b/static/my/nav-07.png new file mode 100644 index 0000000000000000000000000000000000000000..e608c5e9a5ea88afa7c79fe6bf5fea9b0afaac22 GIT binary patch literal 1563 zcmeAS@N?(olHy`uVBq!ia0vp^ia@Nw!3HGRHG}T}DajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_cg49seoArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XQrEMXkw~hZmDNz zW^7_h+i#(Mch>H3D2mX`VkM*2oZxQ#zd*s+85C-k3L4>= zc`5nj#hPF}zP?tTdBr7(dC94sF1AWQQ}i-3Q>+}#EKH1Cj2s=!&5aBVU0obaOsS9bRt2#Rn0$NxuPhVAIiv$MPFe;9s0H{1OA z|Fn0u&u#W^f4U`orPL<=HNns8n;0)J-f}Q|#mn6Np!I?13l?=}HW$|gOm`UPJEUHb zUal0kU8aU%>74$ib{;dg=IBhnzS)la8tm_jQy|hzje^6tqn{ux9$2PY25W zWpwT}U&?c(Y4<$ox$K$8?9$7QcQ`Z4CHKzQmE!Z~+nv)#=J4roN9s-el*D#EIq~+v zmhTg-bJV6ub9;W6y=sdzZzJ1>6W`hzpMGWk+1=ZisdVd@+j1pO;Z5u3ui9y%ue!u@ zZvBRUmwm~L+@6ZOG+eiNtMua?aZ?+DJ!jrnx$W9oOS}CC`=Ym4uWa2p&3)yH{}L}G zv{Pnl-FKbVdhXN_+p??gEvC;6SUc;!(S~`S&wI|S@agecJv~wR&N{o-K34t`f1ef# zSFAl3&k#TPjBwPmi_cdV_deLx-Lq2ur_eWf$#vb1;hDEr*lywb7u~p>L!?D)ruWPl zbqj%;r h_Zu%eGH;e>0)w7!<>zm~4EI6BwWq6}%Q~loCIB+RQXl{T literal 0 HcmV?d00001 diff --git a/static/my/order-01.png b/static/my/order-01.png new file mode 100644 index 0000000000000000000000000000000000000000..1aa778dfe3e9c5f3729fe3127731f231f2a570ff GIT binary patch literal 1548 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 literal 0 HcmV?d00001 diff --git a/static/my/order-04.png b/static/my/order-04.png new file mode 100644 index 0000000000000000000000000000000000000000..668ea21777900be84a79b5e2ed7102d7198636ad GIT binary patch literal 1601 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 z�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 literal 0 HcmV?d00001 diff --git a/static/public/close.png b/static/public/close.png new file mode 100644 index 0000000000000000000000000000000000000000..539c14e38ff9bda820b3942d843914c5ac0bc1bf GIT binary patch literal 2219 zcmV;c2vqlpP)Px-Wl2OqRCr$PTv^OsLl}M@#8%4%l1l8=N-MP#RcR|qDd~kZXwcXiZiuakt+e)_ zCEO6TMD4XyLR72OQ2V|I)y8rmArbo$yz=NA#`NrGzVG|{JMZQ9&Ac=7oOfp4b%>T4 zA;3nx+sb?=!3n%VjQ z_5!dEfZYM?0AMQsYZk2T4*;J5_z=LW0G0rFf#groP^rMEs{oqWMgR^2a14OG0jynN zu6a!*k-W>(d%*FyZ zAHaddQ~A5ap8!4u@Rd9BboPmK7V1pg48Ya^)+otuK7h+fE-l%pR0NSb-JBdjf zeg%L#bzYJDIL3m^Y%qXh0UYOU@iex&#b*GRMN$`06p99*nGFPR7l8dTW~STnN&pK< zT9nxbOw3H{IRL=9PBPPmStPJYei>s9Q2;bEsUr6R5QrhY0N@;w&&QZ>SsrFK8o)J9 zRSLTayh$YWQ5#WX0L|=30CQ4QlCJ@r2jJFDNnFv&%}kfgiB9r24ch;vEl=`+B0hQl zHv-ViPIH$NTCQTNozB$K>Zv8Vz-dJ~x+5kH6ZU_d}gr)VP;1;Ex@;e^x<_TR^HB)0dyC}lfjuM72yz) z(&zd-nc4mT<^hmBo{$7!Le-0<5`gY3k$L3bwiH=PZmILvzKoE30?^;F0DGi`I zLnL{=o>yD+`+}He97VbSC5fe!?J59H1#oq+@M$D3>kDAior9UlYSP8$(^Qhzmf=|n zKr`DCzz2bOR_RNXnM^O*Wb7=R=|f3=UNon&0LmEm9RpI5hgUf(iYC&_|J~XC4gg=- zo=Z|jLM{~o=v-3I1YD+&oL$6xb^71TP6lvGFz2yFuCOuyJ`woyWZRDJm3h{wkK)X} z=KzfI#+Xm?pu9120d$_^*8&Ctud9xMPJtHkbqBlgnA1&y`!n!r4nN0woP(VV8_HCXOsLBKIcmTJ1 zjO0lk6yxkOGr8cUkiSUsttQ}@*^U6l0C+rx%icLjAASwd3^MtH%SZLX91|~ z<$G3^krdO$t%KXhtO0|^hgf1iLZ|lE*&jK)1p0&m9uQGw6wsnB0)2C=2S^t~a zBmnn#|EDU|SpY5%ZlRq>%2td@RRF2dHpV2)Y&d|oJzmNR+pcg6yU4%15lNPme17W} zWen7vbQxgEw5dCOjs&jj(o2%Ch5Um9LL63+Krt;RIq<24ZuAByzI4kndF{LCsWiv2Sjz1p4V0IG?9we2M zm_ zzYpDe6N8X|4-MZ4prsNg)aTUBxA%IP62RJUGO|J%a4a7 zKgV+E%Mw?%J46?2l(42ME8D>ON?mXuN!2Q^LTzeC07~+)I#*kF3q~B0S(%YOArhS$FOM;~YMLC0+R49QC#JK>D z@VK-oz7CAC0Jcfy88TQ3KqrN1We(Fxs)%{DrHnEMmFLbZv#2TnD$w5F3T;$3r zhf3uer2%wOs1mQX)XNjiN&q?#Rh=Fd8%kSO$WQijpQoM`8z#u)l)Fxjoy8UVYxKO_ z)dNx0>S+bnN{>}8U8!Qd*Z^hm^9rt28yD`p?iO4JAnJXXw&cIAB$Rk`;o;^|dXs$_A_XFl^Sv`BAl2yNSD{0<$o;~qEEc5WrRR9*ms5MCgZnb@Q#{*Hy z_L;7LS&xOKk)r*2XJ$?e53*CO6egJLo`2EzX`1Chh-S1#*f~iCqe^N-mVcyl=_J$K(t-yG#Lfnf3W?Is%|4k#dDyP~-VKd3zKj z@}Iv`5K0BnRiD3;O4YIRx1#`hKqe0`DpAvaYNYB1FVkLDk@EWVN?WEUxeTK+ZMp)W z2c-W5sHD>mu9ul_RvX1_Rp;A3p8(CcG22IIn}|#Xs7fhQF^kT-v}cfYE-Fi^eFix; t_`TxS)ibbHi|pjMEr1QtZ2@cu;9md|0FC;0`+)!e002ovPDHLkV1g2L2g?8e literal 0 HcmV?d00001 diff --git a/static/public/home-icon1.png b/static/public/home-icon1.png new file mode 100644 index 0000000000000000000000000000000000000000..2192ffbb08d888efb19dc4a463b386263839f4b3 GIT binary patch literal 1375 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 G;r|Da4q@2< literal 0 HcmV?d00001 diff --git a/static/public/home-img3.png b/static/public/home-img3.png new file mode 100644 index 0000000000000000000000000000000000000000..ecc1d246304e2f03d06f7ac5704f0ff7982849db GIT binary patch literal 12094 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 E1I~yKCIA2c literal 0 HcmV?d00001 diff --git a/static/public/income.png b/static/public/income.png new file mode 100644 index 0000000000000000000000000000000000000000..26683d9eb2b10a9158dea8cf85ef9089a3dcff52 GIT binary patch literal 14108 zcmb7L^;Z!NOw29 ze*c7b&Y8Kt%sF%C%$alV^W5itR8vtPCZHt%01!Wa_C)=k#r$s~aR03>(x$)v8Muq= zb4|p*;f=5e1po=2KatV&FxvirkD=H4aZ;}}I#c=D81Aq796bH004Gzsj||6W?p$12 z_*}gou;>+rxW9<$((qe_k}&60n<0_mNQsA}*vJ=Ym>6_S*(2tztzo6n>&D$_uR_~L zcUke}f|YYKhNWgkN3~A9S0(1ePN&}#2RrH?Bi4#9wn9{mh+!ricul+@7*ZA&jn($K zXd&Vy!W4VMe;y1oSz%0p-SUI7xU?Hy7}39-On${zM%;(gn3%pWfJh)THOo%3Iew zZ|0{68fVj})4biZ=kTKINi>%`wjTG*i|RWZ{W4yqQC!LqH($B*=<$#1dpXT$HrSSR z5Y-C_>1g5+)ZS^O;^tg_BV1&2sie(If6P7{7o+FwArohN+8UEaz=ML0(Gc6({%|W+ zS4!0^a21NMjx8wGc{AdX)2_l>kZ}{uyVAHW<>)PK%YL{Qk)^3KF0>JsaIkTlu&`%2 zL6b%-m*eJJs&4+s%%yH@wKq2QPGi22-u||4JFnwYYrAs5tIBk3WckUeb?w?D?-3Dq zAB%bcJWFanRGq`Pf@hx*8~V~HpUj+$;So*i;gnX!nay>nd(%+aVE_|jX+({7vEC)* z2LVr94JRO%C){$J@_qS+^_f4i-1jauzq7-w_ltZ7U>iL9wrR%ksa)x9;?HLQd-#>q zYd6?k)m7VR74Jc*&C3lQUkq7z8HtK&Kn-kK2ptn3iA1zJYG|LYN!HKVyWoIRrmL4) zDn9wz_1c9slk;n5c0^z=3R_C6!2V;k0g#=%MnKPFuiyBDG_KEIZfxLu+qCkr{#|YV z7Q}co{#`rN%sCJu;)7LI;;G^Q-6{2#N~s7_WQe0@a(dH{U%PcS72tz47(W`0i$u_N%wMnRQD~QF z<*X@>4i>PS2)t{p{su5jtagPX!k^1XEWG&5b}p%nD#Vez?rcBoYG#+axE^s$AAr51 zBYQ2j_sU5g$sXTA`Kh1VK_5^ptgBw@B~e;<{&*1EH~NYJEyT1~Pud>6r%O1a8$!=C zUCJIrI~t^!R^Hewv84d0F`-cB%dQE=`9Tx67m&5!$PAWIkcsb8kZN<*6CZoW;XOEm z!A>nOcjdjMskW>C8@$rYK_2 zdU+n4@0mt-bMPqb2D9T6ZUIdFo_aAADyHZF_yZh}Z3ltceBon4cFM5^^IG6*&f+e) z1>loYYry~%?kOPsZ9mn|V?^!NLut8;Vcj?*7km1c5kC}hxqPbjfVTy?t&~HiCp&!B zSop=nSd;o?@U*joJ~v>T<)CUDyZ%@<5)UwCu{9=8+hP6qB7f82T6egu zK&pzKsFJc{yrex|B8H)Ed8ma87YOG*7Q@en)TaKS{#q#tvu<5HSt$k4laT}Bz=Oik=dyil$; zEbvYCd)Y><*K9qk(j^Dy631OS$abQgZ7xDE>}_Wh$>_&cw|Hl7$WT*b+@Wja=iPv^ z+}Vplfd&u$9aXdBG(3pfNRU?nI5st|zUXq{19aX7%!{#mcYun>@b&yt zOB%rA2||glr3K=ZXQs;mjfrDmw73O4lWvGX#}!sQ1p!y(xJ2k&r?$+k@=k?bu8SjE zDCN=jfrw z;`Lg@cPYIVBo6L?V|WIkOvQUu^rLM<#oPQo2vz`%8=;*r4F~i>M3@HP)TDsIOKsGp z#N@P?CE$I4rER@(^QVzLE2m8=3OK> zX?neh-^>ZFo==Q(f;`BcVS{xnBVlwxM5g1wYl9C*yx;bA$#>M--PSN;VqxW%n3s@rrb7D7h|MlF$gSmBy0eJE+Y&3z$ zJ!#*=jg;AQ$uN{EvoJ^d>%O7)be2T1I6x%kz8WRy+Y^?ba@+^$gU-)jNjL~_^)m`z z9sfTFx+^Fv70-_5cOuS31Wtz|JLsuda?b^VDhdK4$(n4oSIE>~OuU{MNm$ zx?$iTo1R4#$tNOJF6nK((Z%Zcj&%qFLualPQ>|**XK4>xQC)VnUrM~T@|E)i4DwIOxl^YlHlfkdH)--iS_10IGgaV-Q9F4nvHE;-z zL87sN?wsLc!-&%JC)CT$U@po&xR4`1Z(hBQr7+5!w~P4>uXP)Qes>p zV1H^XR-&dzY2qPGZIUX@=2n1R|GNm4KGEvUgPbzVv zaCdiY6*{(c4w~FHp-u9N9(1QlsO2ahGtQH^p-ULX{R0!3lk~>ZiYVnz&CmF zZc|%Ro$xnw$;zK$WGmzyd7cxo+mV;Yx_SCJKd$iwu-5#lY|R8s#DB)#*`UT7m^Qh5 zshzH6OFRS(zGUR;_NMkIYV)ytJ?bc8LJJ|t&HBtLuDMq$sg54!c}z5a@>;pdA);UV zL9Z1P)eEW~RLy7Xo1GJ?TZr zK1Z%u56Q+IiSzIPTuh&YZ=G@ML-$})O@-1=Vuw3-;@-LC5wJVd_`qul)`j*+G03Ja z%+H%IB2AEsR;wfPV>7?cvr>HA^1H;^YvH_=RS)n$K!#b-rdnE*CKjJ&{j}-@0s3*K1XeAHGsS-x<@LOYA4!rIpz86B5?{mar-6?Eby1b3O&kgZBSmnfv^8MH3j zM@0fpbgqo@kU{qLDvI=osnFSAoxATM)Os^keNSB_-ww9|s`41+OqsdJph3B{?I`H|2Fo|I7q)(2aF0a5HdP2qqoUD+b z)RWd8YoY@-fUZxoe#_b;kb!FydMEwT!~%+yU?XOe$6h*d69R{&l_M!o&Cy`h*hQPb z*mLQCT_fswK?bC%SzF|Q=YdHf4*I7-ijOZ;QTfhz6{jcC_EF{h)B|xPhDOW+Dl;sb z+f3iQNY?uQ)`ExNVnWhW>9B6a)>fJ1vU^<6ePtNx|B$GLgI&C8 zVeTsr`CV^|+n0MgU(5Kkx5O(WfQL$uquR&thHjHYz8fFGzteK;?!(RNcqtiYGxX1( ze!rwvVOMXM`T-kaZ{Z%WruiDRLXN-|aFexa;z6!)y3BfXrk7V9TuIn)F}JIXm|o<1 zF&#Jxi4@Lrd~W0udF-B=p|m`Z?$z~of%DycTH~;c0i;3l7oO04AwfWc>A~)4sPxzy z#x?IRS^0!r&gD&E_(0>2>k|%X#@6MuASAcCZRkxMCZJmlO$pcnsn39*T_y7x#EvRm zKz|kOy2s7i^ySHFRI$|ll~+#_UbLFf@}}vs=5(Swktj(2>fOepHKzSn3Q^DyF7aAl z$BI*u_%#GO?tRtou;mI+J1tnofr8=k`1E;CeDw`hFirIzgtAH>gpMB`Ixu;s0${pl z`r&#;x7NzB%~+^Wg3WE3N>kC?wLCChKABGIU-HW6a4Pe|k=LyTvd=_|B|rxQUUa^* z>9%QUa*nGDZX{iB00f3U-A1KGSS(x7AF9wse#u2-RsArdcfMctqWtcQDqg`wp<(LC z&wOjO0&C4L#LG+6JvR^7o9?1lQ_WPEL>Ajov0AK@_HSHuH#&(;Ft;HYG;t~SoRKEx zox2c>#D3%!!GZk2QNIENjN=Y`&WGqCoaOHY3_2+@&*+AEbfCO2UAZp%8~>`PZVVxGQ2pB_al^~y(5S_mGOrP zG2F!b?muP<+r~A(hu==DhmHFs^x|9k{pvvm1sD_r=Pjn7Ze*ncO#;bC{+;8iOQ$gfV< zDlEapZTP8CsOZ)HE(v&6$5FvNp6JvEZ1cCAARG>q;(e#Dp!RKZ;umDyJNvA`j z%@e_TXac~O0?UW_^KqrO1ROi=cqST;o)1@|DBY^AB_Ago)FANugz@J`vwbL;?S$WK z5(nRryC^N~Ab$o0Y)EXfN!CPS?VFmG=#8c!K=}1*)@i-(5CyXMv#xa08)D5Sth^yF z=Meg&(?+GGc^X%+D^nRfNPm1kAj#yZiod;_8uD_RyaG+yQ1oi_dvj(-KO|i`6^e|O zNsa7x>^~`uHD_>L3hIDh=uAh*X^=Ug1vdCkLfPn`c@S^f&KDJ#O&?nSl;eT1-$3-| zB^I0>kwM{s&j}?LN!g#s8@E`S$f8|b2Fm-V8i;FCqK<-E16AH||3s(2 zf`y9HEfKQ44zH4xWhs$0wneP8d8^c%=~EIAqLM}8#35G8yGCkWQ^p+uB+}~?aWaK& z2OpmV?P5)y{nz#$mG(*YHcazU{%7E8$o$WR06dH`;y*V2f6wumi1aVVo(PQz?o$(E zoAen*7AF8`=Zz9FbI;!0OHG#()n*!MtiLQ@j8;M6hQBPu|GkWMZ-K;2RZfN!ME9yZ z#ucOMyRL9+W`y%%22j8xhT`EwycU`l`-?avjsKgwOmW!7F^Y~9IGq+Z)_M!G>l|j1 z2B~ieVO|Om6=y({=?bhP_CNXfv62!HElE@9Bkv(^@i>qyTU(l@`0a&$)K9h>&HOC~ zcN3&2O6*b12h8>ncW*q3GTDeA4kp8zq`tSr!8MGRYa4O67kuf6hcHsW1``dq^sdJv z-8wCpDVuxnfik9;LNiHjVp}?}B4`tW?xEa2!%~qrD$6JPPj#`@=%_XCZ`)b?E^1|oZ-G&Wo;8dfLm!sUABICKK3L|j$LnoM-z#ok|F-vr?dv-_Ua&VcKJER7a}85S zh8siX%z|e%K#gl{%^g3_z?LqPy!x=XRhj*DGST?EZrig6t2gbd=?!a1I+{LRVeEhx z8E5{ReG*2iFC6TD7c|eQ?R;QG1I0=+HC^xu z{o|+Xy9d(a>Ydm_v1*5xthST<0v#tja|JBCogqrY+Di2_TI4`lu;eZZ3&V-UrN zSsl;*M>dNVWoN=V!Oz54Pg=Y$pgP#ZMGsA4I!*<=S)8Qg9{+3!ZTt$5Fwt$~R|%ee zO=xdDgW_C57n*<4|G6SRjt-YhxdOMQjCew3?6zh+pD9CG z@!k&!GwOd@ymcev`E0k;B!ZN)pYFV~`_T2Uy&qC%19V*v>r&*jesM6trv4A6Vvz~OM3p3`l$23|pcXb3T!Ve(0xpPATw3DEY!wWR;4&4~DU@qn_#ivW>El2V+# zQ(?D9(KrkS1$`^W_i`+7Xp=b6PGMNfv85d%V!%^4vzF_B$~yC$no;s1RD*F^^TL=a z)6qipCYDNA!FHf`W{6n|2Wu*|H%Xf%+uaFSdbLH z)bnEd?S#IaU5iM95Tj`+DEkm4%PO$CRK55(9E=5|guK%{p2Oes_oZ(W&eV^Ran*9{4o&bplV!lsj_M|1nU)@=UnaUxAMizq=Hl1t}>^obx zG&FIdO}qb}JS(!>?vW|G0!a6~Fmt02!ZqptMDRMpSw4C{V3WzXd3EK1QR%_5ZinbB zofPm!kOH;!OOG9UTegWlf<=$npzFSiRS+{);e~|a1JyfhVERVBxkbVMxjb`@-4oN0 z)P8m*88$)3NS>4)?%$?v55Mz_knBb;jdoU|#NV{rgwN*nH?RSdSYy{EmTwQp67@Tu zzUPHlRZj;=Tx%9Oc0IxwUJ`Relg8jYCg_60v06Qr z-|EBqZ)t(}^6{8`e%v+Ye;tP04( z!z2gLoe|v`gJ4MRRwzfNH8niS_##S{@|4(!P?Yr9*6Iu&hGVPNo5>Ib2Z6?)-UXWa zT;$Pwt25oDa`rSoJ6}yRdV8I7*E@aZaTyF)ldHg4SxGBm(3Q_5DAr+wn zoR}d-(|-goI%f_o_rT*LUgA0!@W@+zSJr`iEjDT-Vd{rJ+E@rNSyVDZRg$;+{Vc2rDqc|9w-mCx5@VOI?+CN`=0~>)nBk8UD%|t(P2>@ls|Fi&c=Xn2^!5I0E9}z6Ke=uWCNB54>?UVc7 zc%RVrNL;myE_rzf*)YyM-;ObQfE*_Jl;i4dr_D4^JP4Ab`+N9AKb5s3!2tYHUoc17 zn(Av=rVU6B{1EekII($F8^>{ua#SkU2aXYt9z{uD7`7|BU^c004IF1N5jA|nH%aA{ zDwm^ZnmNW}tLozF^`WjfXK#1vFWZNvc^UYecb!=7kjQ!-c0x-Y%@fMiH84HNuu;(H zvOU|*jVs*KkXjRJrI2b-{j0gN4M3j8#qz`8rE-ciJwUw2Nhf{9Uuv|U@~>!vnU9Gb z(QnWZU$fB%^VGl<=-I_{F}XAcv)CEXWN#{nw&wt@Qo~6|4+@#9pvY&& z`7#7O=Y_NV1Wd(t65a*=(TCUS%p}cp9YUjNWo$2)ZhKn4;s8mEPRV5x+1^DO_U0}G zIwDc<1+D&s*56-wCzZ@D5;G%9fPD69lCRUcSiy~SJfon@Q;14=+pPrKF8xXjRuiu?VWD*b$^kyjPN3n(#brm$>7 z&P7=W1j(H7iXzs=+zMWOrtVMk6nbC&ztGYS=ckU;LE|47qy2}opNvNMkxfl%o)%7Q z9{6{2byZQm>fRn;ybI<0J|YOkOAF3*GC%uRUacr9@jjovgQs0+Bk5!&>~l|GckJX~ zm+-kS&99%-tAue{&p+!$_KwY;O@fL$poH#nL41ur3HLh6&b?)*7-&=Ub?NJCCjyA@TNE zyG{IP3_a=zt13o~wBqt3p~T-e%fj2{=BzXwuBVffJfeUQM4g zKhSDrj$ubMprn+W&-X5H-R_V9F<}(Hl*QN+_FNeOB&ln!rPT<`%!4|`1*h62gRPA! z^O3Zj3^vW}KLs+aqi)&EtoCsEl;gw7M6c@B!L-`gsY|+^AH52Ov>k@5Uy)XKv!tYd z;&hHzxRLa)x_);rqp_F6|^8x5@b= zDBhEFzi&Ri4PO}m&zxi_cTwz0)7h;GB?2GxL*aheA<3c#_0afCF^R|a7W~iQ0L^>w z5@1$8USaQ=@x~{cY6;gVIloBI=4<^s)ttxcGLqD&JCRmix%(N%h$IR{w!a$E9;;US z;{)LkIlA6Y%Rc)9!vNM`*W}Q%Wa%#HJm0%^R$%ul;jQtPmFXkI_-TO7{CUNIT%NJ3 z**z6H)Zw9yL(jg$*3W+)N@8^!e{D&H?w`s)BUYda!5}x-?P)~dI~_iYX8;%kBZD7- z>J@-7v5p}{^Og<9+8&zF{4xUH)bXJepc3|-#x|wV{$2SE^^A8LZi3oW!}UkQu;nO; zfq^pO6CMlZlv>#bvLaob#F} z9<%)^(RI=N$ev?I1T`)W_`Yi^V(1C2ndFvpm_mADjv;E9Jmh~W$_rbcrvWcKYbR+d zYE1iUgcIrrErm=u*g+)`m?X!!ZI(&hu~kj>Xpb(R|9<;bruMS?3k%g!NVW=J4gB7I zGr3z*P4U57J#lUJr7FC&nIh#k9Z74 zwferVHEkZAurA}C?EbMO`Xwz5#mIMz2y%R;MUqBSwM^lXO#Nkk+r>w&A-#Hi|E%a# ziPpMja}EEhCy*wsaUn9vtwmbO8q6wY!P_=B@n8@Jayt+AttXR z3(=ui;O@;H!Ig%qAr>8jf&1$_yL#xl@I}RG4ngsP>nma7WcMVFx??f*QlqoC2C?FG zI8t_a>IR?6EtBE}9V@v^XWv!$ zX&=#ECGgSUWveYwwK96;ge_b2tt@&XwmaT}twOhT;g0PNaX`B{>xXr(O-sLo#>;is zC&hKQ;@{OslG2MEI6Dy&Hm{mI%tLhDm`D{M5NEWr=0WNaJlnk5M{gNh+PoopF&-(U^iiDAt57Hr zxkLoZwKJ7R`%{+eAjzg^$@URA0#P=6^oG*<0(f3yl|crqzGd%6ItD@AcbI-zkbZ&XK{rsM%%5)rBLEmHv|A zWTUin=26c?{ac0TEXF+Er7@BOf^%~pj}Zf#d}&u17diVrZ@hLC*(2M7!YJx9HU)e5 zYF42U^qHMA{-1FkS0ZU>)2DyxCSS7fhI%Dg5d8JS&Cajn6a+<9n9Pxf&WD@f)dpK} zpL5T{8C+t}ai4m(?%iMjb!&aX#p167g|95?giANvl0?)^nPe`Kpiz78p&Ro@&=P=Q+)4e+5b<|hZE}S0 zAasQww1XR@*J@r^4hOcY8ovF_vA=cQ;gc2fJ4GMlD3C94Atb>TzaZl`JV>dl#jXmo zRYb2#+3Q6|DW%90SN$!P-1j{P$#?0PQU%TfP8;-ackAb5VCch7m$yHPdgZ9I{PDoL zMsOcQCb^4POZ@svRCdoFt)!+99Or^qZ7zvW(swr6IQjQiCzPHsOAI*A>aq9jmL&cm z-VWyodK=PH+(p$_^pvxoIf@YICd@xAUi;CvcQOdo=B8Ztkrqy|QI7t@k7+AVdUjo2 zdq0MH7Lu3|hQwB-zPtHLa^t-QoBxBC8~^!CCQ#E_>dwPWcH!B{>P-h9^bGQ%pkAOc z$H(&%_3WL@k+GEhb7?7K?O`-wtm%~lqRq{MWP5q&DqEKltl@|B*>^7Y7d_=x1yAlD zk@mB#=_bU?;&>(L{XSp>l%zj-W62wyI!qE;-yMo2p4Qkr7xq41YInUWeb~!3>?8RX zvUhA5e)^GPAGY^6_lgby-hPXf_VP?P_Rjdw4Q=-lslE^2XIvdu;`I^X4;FsM@FPy~ zFkolrPZb0xG;Z(xiu~1_bZml=l*4#54g*m%J`Pk9PrGWZHH4c4Gvef|GIVGW{kz`O zi@2cl7yxuwNx8-s_r%~i#Rd1$B$)^tw|8V&5C7hh+Gb%+SrHXYr zL1eaYPQ{3$5JV~rSw>{Sst*SUm<2|gSH?C+5;Z={3=)5AAN`7axzppxi)L((QU?>H zm`^_lamLEnVAV0p)*0VM>-K)vP2L5mkm>zJ>i_URnD#~C8CJaSNz-Ecx=A;4>V5qS z?+!ZIsCCf7H+`VMz_g$sd6_eR!DwZxPj6--=tF@!ToqCOQ-@Dzi@YfU?vk* zl*RVEzW$~UXa}p(Ubix9O}_}`aiN}2?14yfIg}tdCsV+KJdj zBQa%I%P@l6^X}v>JR{M+5U1H8ygNK!x{GZtR)?`f_LFudDbyw%k4B;Q{Dk45s_)4j zGYCyb?9Uxfl+XLWE4#~_PW%V0|BDC|kpbm7pLiI$PwP?=W+4ZDU?@26;|@o()vsvX zUI4YHn1D(FA6#%2T-uxBJnu{L9wgWPy-9jJI6aYti$v~y+wu2%-0F&t74Ywc7G>DK zTCMq@s67luDAQoue7c~?WuH5U zfI89wyJ;hB`>asE!a)1jXOOeVpM6I1b@%tfU`g;L&1;VuQDG}W4U)*7i#5^cFXlhq zF378>wB4F3UtVwp7&A3}FOo0W2+9?oZrXR}ZH#~}~x)*Y`;V`2S_2mfME($mU8b@v>uZ`v-K zb}JU)vJK>a>v~s5jGlXyb_WB+#_!1Q+@OXO8uPCVO2La&{0*WZfc+gPvq^u)p#lVjT|_QnUwoUqxd7(H0|p$(?yev>JmWE(R0pv_84C`MCo4?#X z5b6j2kR9#-D}Z-NeICT*{l$l-76i$a@AlW# zR;h4`Zp0ib-o}RP7WzdYhG@}3^d6LJdYTI+lSb%%K(A?J(8P}!1!rCSyy)jYbl4AF z3XLm?_Bu;kXk7+%=y*xcpffDT6<|r{6`Oy0Csk-|{QK}Psc6097h!$~biV$4HADry z{^K{&g(Lb(8p=x;uU%`*c~6-Z^-A$u2WODUL|9WsZ7&5a`o6aPloFVc#0DU+y zkhNvEaz(8xy?*yhwJ5O`z(!q&#{rvWg;gWx+2cn^(@T5ew3CPGez)IV{mxCd8~{#z z!>3FXc-Hs|nT9x+EUgYOFlPw zr#kgo%xb(A;bf~TcogQ8vBU`w@PF6MZzKU{K0gI}4=-}4z?t(Sitk^rd{hz?TD*>J zlNZCmk}&Uc9`}(|f?t<>%RgCVf$m)Icgt`Nm6xwyZWP+EQBQwOWwDUQ24G$P4D5Zn zv*>7K^@6*?;CVx%XMf*e>FCL~@z*HN&1xjuoLZ;CrCAc~c)>H;$BlEVjKdDd&9R?? z$)i9TXDd=0@6OzCqEyItZ!SY6-4EpOTd~s=rn9*h`ztTbd(!y;$w?9GZW4}*VK4>r z5bn~AVvl82Zw5i+0F|(a6d*eBeq`kuK%_iJ1VAUQ9z%%0J`BkcIpU2!%W2f8S@f;^0eDk)|B{R$b z8_3&i$$2IrT6giQ5E_OX6Mfmmar(IQnLdLs@8kI`{UUcekauJB0RktS;kg^2(yH;YTeOwXMk4r z4up6Mw$w=6ILk&Qb?h3R`URtqxNf;+`5)(~jxD6R2L0)Zn5m9n)#TAm>B4;3J#5&dbhmP3j^ zbQv`0N~#~mp>~?I*y}=jXuTQ3Umh)W3Oab&+m9Q2g=7+o<@!yoa1mns#GCwPNfIi5 z>|XZ060p+b(!Lqh^3Q|p(@{Z(tQ|$(?~zS?T<(UP(HL+lJnOC&r!93HCyOU6&Y7&P z|D-C;o#fnVrFZpb?wkac-bhBfxJv>v38kxU9HzrX`#unConykql8QL_eiI?W+{jyp zHlm0y%ntK6Dvs3PI&y&2*OwZ|O=GW9X8%c{=`xsaZvHiRRr_5^)SH4M5m~vbYg0h< z7Iy0H`A@~{7#MtZ*#f8+ad&o){z=T|5XAeZArRhH;_10{;{T@uySK2`#sbQKv*my7 QZ2&xfs`8{n*2Mq+0P}$isQ>@~ literal 0 HcmV?d00001 diff --git a/static/public/logo-avatar.png b/static/public/logo-avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..c52f041a6fd067eccc65e2d518cbbf04b5b4fc05 GIT binary patch literal 7853 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 LNkvXXu0mjfdEg3L literal 0 HcmV?d00001 diff --git a/static/public/logo.png b/static/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..48d1db83ba0f0e3856f3603884a612682d6e7bf9 GIT binary patch literal 60428 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 literal 0 HcmV?d00001 diff --git a/static/public/notice.png b/static/public/notice.png new file mode 100644 index 0000000000000000000000000000000000000000..ed5d3b2bc5ebd7d6e65b1a3c38da607826037222 GIT binary patch literal 2392 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�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 literal 0 HcmV?d00001 diff --git a/store/actions.js b/store/actions.js new file mode 100644 index 0000000..c126b1b --- /dev/null +++ b/store/actions.js @@ -0,0 +1 @@ +// 根级别的 action \ No newline at end of file diff --git a/store/index.js b/store/index.js new file mode 100644 index 0000000..8bc4203 --- /dev/null +++ b/store/index.js @@ -0,0 +1,16 @@ +// 组装模块并导出 store 的地方 +import Vue from 'vue' +import Vuex from 'vuex' +import moduleA from '@/store/modules/moduleA' +import moduleB from '@/store/modules/moduleB' + +Vue.use(Vuex);//vue的插件机制 + +//Vuex.modules 模块选项 +const store = new Vuex.Store({ + modules: { + moduleA, + moduleB + } +}) +export default store \ No newline at end of file diff --git a/store/modules/moduleA.js b/store/modules/moduleA.js new file mode 100644 index 0000000..0e42e60 --- /dev/null +++ b/store/modules/moduleA.js @@ -0,0 +1,112 @@ +// 购物车模块 +export default { + state:{//存放状态 + // 底部导航的高 + footHeight:'', + token:'token已生成', + userInfo:{}, + count:0, + publicColor:'', + todos: [{ + id: 1, + text: '我是内容一', + done: true + }, + { + id: 2, + text: '我是内容二', + done: false + } + ], + obj:{ + a:'吃鸡腿', + b:'吃自助餐' + }, + titleList:[], + imgList:[], + onLineList:[], + cartNum:0, + cartPrice:0, + geList:[], + changeBusiness:false, + }, + // Vuex中store数据改变的唯一方法就是mutations 不适合异步方法 + mutations: { + setNum(state,num){ + state.cartNum = num; + }, + setPrice(state,price){ + state.cartPrice = price; + }, + setGe(state,payload){ + state.geList = payload.geList; + }, + footHeightEv(state,str){ + state.footHeight = str; + }, + add(state) { + state.count = 7; + }, + add2(state, payload) { + state.count = payload.amount; + }, + // 单个属性处理方法 + setToken(state,str) { + state.token = str; + }, + // 对象处理方法 + updateUserInfo(state, payload) { + // 变更状态 + state.userInfo = payload.userInfo; + }, + // 新增字段方法 + newProp(state,payload) { + state.obj = { ...state.obj, c: payload.c }; + }, + updateState(state, payload) { + state.onLineList = payload.list; + } + }, + // 可以执行任意的同步和异步操作 + actions:{ + addCountAction ({commit}) { + commit('add') + }, + addCountAction2 (context , payload) { + context.commit('add2', payload) + }, + // 异步方法 + addCountAction3 (context , payload) { + setTimeout(function () { + context.commit('add2', payload) + }, 2000) + }, + actionA ({ commit }) { + return new Promise((resolve, reject) => { + setTimeout(() => { + commit('someMutation') + resolve() + }, 1000) + }) + }, + actionB ({ dispatch, commit }) { + return dispatch('actionA').then(() => { + commit('someOtherMutation') + }) + } + }, + // Vuex 允许我们在 store 中定义“getter”(可以认为是 store 的计算属性),对 state 的加工,是派生出来的数据。 可以在多组件中共享 getter 函数,这样做还可以提高运行效率。 + getters: { + doneTodos: state => { + return state.todos.filter(todo => todo.done) + }, + doneTodosCount: (state, getters) => { + //state :可以访问数据 + //getters:访问其他函数,等同于 store.getters + return getters.doneTodos.length + }, + getTodoById: (state) => (id) => { + return state.todos.find(todo => todo.id === id) + } + } +} \ No newline at end of file diff --git a/store/modules/moduleB.js b/store/modules/moduleB.js new file mode 100644 index 0000000..3a9c369 --- /dev/null +++ b/store/modules/moduleB.js @@ -0,0 +1,87 @@ +export default { + state:{//存放状态 + token:'token已生成', + userInfo:{}, + count:0, + publicColor:'', + todos: [{ + id: 1, + text: '我是内容一', + done: true + }, + { + id: 2, + text: '我是内容二', + done: false + } + ], + obj:{ + a:'吃鸡腿', + b:'吃自助餐' + } + }, + // Vuex中store数据改变的唯一方法就是mutations 不适合异步方法 + mutations: { + add(state) { + state.count = 7; + }, + add2(state, payload) { + state.count = payload.amount; + }, + // 单个属性处理方法 + setToken(state,str) { + state.token = str; + }, + // 对象处理方法 + updateUserInfo(state, payload) { + // 变更状态 + state.userInfo = payload.userInfo; + }, + // 新增字段方法 + newProp(state,payload) { + state.obj = { ...state.obj, c: payload.c }; + } + }, + // 可以执行任意的同步和异步操作 + actions:{ + addCountAction ({commit}) { + commit('add') + }, + addCountAction2 (context , payload) { + context.commit('add2', payload) + }, + // 异步方法 + addCountAction3 (context , payload) { + setTimeout(function () { + context.commit('add2', payload) + }, 2000) + }, + actionA ({ commit }) { + return new Promise((resolve, reject) => { + setTimeout(() => { + commit('someMutation') + resolve() + }, 1000) + }) + }, + actionB ({ dispatch, commit }) { + return dispatch('actionA').then(() => { + commit('someOtherMutation') + }) + } + }, + // Vuex 允许我们在 store 中定义“getter”(可以认为是 store 的计算属性),对 state 的加工,是派生出来的数据。 可以在多组件中共享 getter 函数,这样做还可以提高运行效率。 + getters: { + // doneTodos: state => { + // return state.todos.filter(todo => todo.done) + // }, + // doneTodosCount: (state, getters) => { + // //state :可以访问数据 + // //getters:访问其他函数,等同于 store.getters + // return getters.doneTodos.length + // }, + // getTodoById: (state) => (id) => { + // return state.todos.find(todo => todo.id === id) + // } + } +} \ No newline at end of file diff --git a/store/mutations.js b/store/mutations.js new file mode 100644 index 0000000..d15562c --- /dev/null +++ b/store/mutations.js @@ -0,0 +1 @@ +// 根级别的 mutation \ No newline at end of file diff --git a/store/readme.md b/store/readme.md new file mode 100644 index 0000000..3532bd6 --- /dev/null +++ b/store/readme.md @@ -0,0 +1,119 @@ +#引入vuex状态机 +在根目录创建store目录 + +#在main.js引入store、注册store、挂载store在程序上 +import Vue from 'vue'; +import App from './App'; +#import store from './store' +#Vue.prototype.$store = store + +const app = new Vue({ +# store, + ...App +}) +app.$mount() + + +#在页面内使用store的属性 + +import { mapState,mapGetters,mapMutations } from 'vuex'//引入mapState +export default { + data() { + return {} + }, +#单纯访问属性值 + computed:{ + tokenEv() { + return this.$store.state.token; + } + }, + + computed:mapState({ + // 从state中拿到数据 箭头函数可使代码更简练 + token: state => state.token, + }), + computed:mapState(['token']), + computed: { + ...mapState({ + token: function (state) { + return '追加的' + state.token + }, + userInfo: state => state.userInfo, + }) + }, + computed:{ + ...mapState([ + 'token', + 'userInfo', + 'count', + 'obj' + ]) + }, + computed: { + ...mapState({ + token: state => state.moduleA.token, + count: state => state.moduleB.count + }), + }, +#单纯访问方法 + computed: { + todos() { + return this.$store.getters.doneTodos + } + }, + computed: { + doneTodosCount() { + return this.$store.getters.doneTodosCount + } + }, + + computed: { + getTodoById() { + return this.$store.getters.getTodoById(1) + } + }, + + computed: { + // 使用对象展开运算符将 getter 混入 computed 对象中 + ...mapGetters([ + 'doneTodos', + 'doneTodosCount', + 'getTodoById' + // ... + ]) + }, + onLoad(options) { +#改变状态机里面的值 + + this.$store.commit('setToken', 'token已改变'); + + this.$store.commit('updateUserInfo',{userInfo:'用户信息'}) + this.$store.commit({ + type: 'updateUserInfo', + userInfo: '新方式更新用户信息' + }) + this.$store.commit('newProp',{c:'吃火锅'}) + + console.log(this.token); + + this.add(); + + this.$store.dispatch('addCountAction') + this.$store.dispatch('addCountAction2',{amount:10}) + + this.$store.dispatch('addCountAction3',{amount:30}) + setTimeout(()=>{ + console.log(this.count,388); + },3000) + }, + methods: { + + ...mapMutations(['add']),//对象展开运算符直接拿到add + } + } \ No newline at end of file diff --git a/uni.scss b/uni.scss new file mode 100644 index 0000000..5999d80 --- /dev/null +++ b/uni.scss @@ -0,0 +1,82 @@ +@import '@/components/uview-ui/theme.scss'; + +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ + +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ + +/* 颜色变量 */ + +/* 行为相关颜色 */ +$uni-color-primary: #007aff; +$uni-color-success: #4cd964; +$uni-color-warning: #f0ad4e; +$uni-color-error: #dd524d; + +/* 文字基本颜色 */ +$uni-text-color:#333;//基本色 +$uni-text-color-inverse:#fff;//反色 +$uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息 +$uni-text-color-placeholder: #808080; +$uni-text-color-disable:#c0c0c0; + +/* 背景颜色 */ +$uni-bg-color:#ffffff; +$uni-bg-color-grey:#f8f8f8; +$uni-bg-color-hover:#f1f1f1;//点击状态颜色 +$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色 + +/* 边框颜色 */ +$uni-border-color:#c8c7cc; + +/* 尺寸变量 */ + +/* 文字尺寸 */ +$uni-font-size-sm:24upx; +$uni-font-size-base:28upx; +$uni-font-size-lg:32upx; + +/* 图片尺寸 */ +$uni-img-size-sm:40upx; +$uni-img-size-base:52upx; +$uni-img-size-lg:80upx; + +/* Border Radius */ +$uni-border-radius-sm: 4upx; +$uni-border-radius-base: 6upx; +$uni-border-radius-lg: 12upx; +$uni-border-radius-circle: 50%; + +/* 水平间距 */ +$uni-spacing-row-sm: 10px; +$uni-spacing-row-base: 20upx; +$uni-spacing-row-lg: 30upx; + +/* 垂直间距 */ +$uni-spacing-col-sm: 8upx; +$uni-spacing-col-base: 16upx; +$uni-spacing-col-lg: 24upx; + +/* 透明度 */ +$uni-opacity-disabled: 0.3; // 组件禁用态的透明度 + +/* 文章场景相关 */ +$uni-color-title: #2C405A; // 文章标题颜色 +$uni-font-size-title:40upx; +$uni-color-subtitle: #555555; // 二级标题颜色 +$uni-font-size-subtitle:36upx; +$uni-color-paragraph: #3F536E; // 文章段落颜色 +$uni-font-size-paragraph:30upx;// 可以加在uni.scss中 +image{ + width: auto; + height: auto; +} \ No newline at end of file diff --git a/unpackage/dist/build/.automator/mp-weixin/.automator.json b/unpackage/dist/build/.automator/mp-weixin/.automator.json new file mode 100644 index 0000000..e69de29 diff --git a/unpackage/dist/build/mp-weixin/app.js b/unpackage/dist/build/mp-weixin/app.js new file mode 100644 index 0000000..2bb776e --- /dev/null +++ b/unpackage/dist/build/mp-weixin/app.js @@ -0,0 +1,4 @@ + +require('./common/runtime.js') +require('./common/vendor.js') +require('./common/main.js') \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/app.json b/unpackage/dist/build/mp-weixin/app.json new file mode 100644 index 0000000..d2e89c5 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/app.json @@ -0,0 +1,67 @@ +{ + "pages": [ + "pages/index/index", + "pages/cate/cate", + "pages/cart/cart", + "pages/cart/orderConfirm", + "pages/my/my", + "pages/my/information" + ], + "subPackages": [ + { + "root": "pagesA", + "pages": [ + "login/login", + "order/order", + "order/detail", + "order/logistics", + "address/address", + "address/addAddress", + "clerkEntrance/clerkEntrance", + "clerkEntrance/clerkEntranceDetail", + "search/search", + "vipCard/vipCard", + "vipCard/vipCardDetail", + "myCard/myCard", + "myCard/writeOff", + "shopOwner/shopOwner" + ] + }, + { + "root": "pagesB", + "pages": [ + "register/register", + "goodsDetail/goodsDetail", + "password/modifyPassword", + "password/forgetPassword", + "collection/collection", + "integral/integral", + "singlePage/address", + "news/news", + "news/newsDetail", + "balance/balance", + "recharge/recharge" + ] + } + ], + "window": { + "navigationBarTextStyle": "black", + "navigationBarBackgroundColor": "#FFFFFF", + "navigationStyle": "custom", + "backgroundColor": "#FFFFFF", + "backgroundTextStyle": "light" + }, + "preloadRule": { + "pages/my/my": { + "network": "all", + "packages": [ + "pagesA" + ] + } + }, + "usingComponents": { + "nothing-page": "/components/nothing/nothing-page", + "status-nav": "/components/status-nav/status-nav", + "foot-bar": "/components/foot-bar/foot-bar" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/app.wxss b/unpackage/dist/build/mp-weixin/app.wxss new file mode 100644 index 0000000..705b297 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/app.wxss @@ -0,0 +1,3 @@ +@import './common/main.wxss'; + +[data-custom-hidden="true"],[bind-data-custom-hidden="true"]{display: none !important;} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/common/main.js b/unpackage/dist/build/mp-weixin/common/main.js new file mode 100644 index 0000000..4f8a7c0 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/common/main.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["common/main"],{"09d9":function(t,e,o){"use strict";var n=o("4856"),r=o.n(n);r.a},"41ea":function(t,e,o){"use strict";(function(t,e,n){var r=o("4ea4"),u=r(o("9523"));o("8513");var c=r(o("66fd")),a=r(o("53b8")),l=r(o("396b")),f=r(o("9bca")),i=r(o("9b44"));function s(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),o.push.apply(o,n)}return o}t.__webpack_require_UNI_MP_PLUGIN__=o,c.default.prototype.$store=l.default;c.default.component("nothing-page",(function(){o.e("components/nothing/nothing-page").then(function(){return resolve(o("704f"))}.bind(null,o)).catch(o.oe)}));c.default.component("status-nav",(function(){o.e("components/status-nav/status-nav").then(function(){return resolve(o("da82"))}.bind(null,o)).catch(o.oe)}));c.default.component("foot-bar",(function(){o.e("components/foot-bar/foot-bar").then(function(){return resolve(o("57f4"))}.bind(null,o)).catch(o.oe)})),c.default.prototype.$toolAll=f.default,c.default.prototype.$requst=i.default,"devtools"!==e.getSystemInfoSync().platform&&(console.log=function(){}),c.default.prototype.$onLaunched=new Promise((function(t){c.default.prototype.$isResolve=t})),a.default.mpType="app";var d=new c.default(function(t){for(var e=1;eimage{width:40rpx;height:35rpx;padding-right:20rpx;border-right:2rpx solid #d3d3d3}.search .input{width:calc(100% - 85rpx);padding-left:20rpx;font-size:28rpx}.new-message{width:calc(100% - 40rpx);font-size:22rpx;color:#fff;text-align:center;line-height:42rpx}.banner{width:calc(100% - 40rpx);height:330rpx;border-radius:10rpx;margin:0 auto;overflow:hidden}.section{box-sizing:border-box;width:calc(100% - 40rpx);margin:25rpx auto 0;background-color:#fff;border-radius:10rpx}.cate{display:flex;flex-wrap:wrap;padding-bottom:40rpx}.cate .item{display:flex;flex-direction:column;align-items:center;width:20%;margin-top:40rpx;font-size:24rpx;color:#6e6e6e}.cate .item>image{width:114rpx;height:114rpx}.notice{display:flex;align-items:center;height:82rpx;padding:0 18rpx;margin:22rpx auto 0;font-size:24rpx;color:#666}.notice .title{display:flex;justify-content:space-between;align-items:center;width:134rpx}.notice .title>image{height:24rpx}.notice .msg{width:calc(100% - 204rpx);margin:0 10rpx}.notice .more-btn{width:50rpx;color:#999;text-align:right}.vip-card{width:calc(100% - 20rpx);margin:25rpx 0 0 20rpx;overflow-x:auto}.vip-card::-webkit-scrollbar{width:0;height:0;opacity:0}.hot-goods{position:relative}.hot-goods-bg{width:100%;height:230rpx;background-color:#f5e0cd;position:absolute;left:0;top:0;z-index:0}.hot-goods-content{padding:18rpx 12rpx;position:relative;z-index:1}.hot-goods .title{display:flex;justify-content:space-between;align-items:center;height:38rpx;font-size:30rpx;margin-top:6rpx;font-weight:700}.hot-goods .title>text:last-child{font-size:24rpx;color:#999;font-weight:400}.hot-goods .list{display:flex;margin-bottom:15rpx;flex-wrap:wrap}.hot-goods .item{box-sizing:border-box;width:calc(100%/3 - 15rpx);margin:20rpx 15rpx 0 0;padding:12rpx 12rpx 20rpx;background-color:#fff;box-shadow:0 0 16rpx rgba(178,142,116,.13);border-radius:4rpx;text-align:center;overflow:hidden}.hot-goods .list .item:nth-of-type(3n){margin-right:0}.hot-goods .item .img{width:190rpx;height:190rpx}.hot-goods .item .img image{width:190rpx;height:190rpx}.hot-goods .item .name{font-size:22rpx;line-height:30rpx;margin-top:20rpx}.hot-goods .item .price-bg{display:flex;align-items:center;justify-content:center}.hot-goods .item .price{display:flex;justify-content:center;align-items:flex-end;height:40rpx;font-size:20rpx;line-height:1;color:#f72e2e}.hot-goods .item .price>text:nth-of-type(2){font-size:26rpx;line-height:1}.goods-cate{width:calc(100% - 20rpx);margin:30rpx 0 0 20rpx;overflow:hidden}.goods-cate .cate-list{display:flex;align-items:center;height:40rpx}.goods-cate .cate-list .cate-item{line-height:28rpx;padding:0 20rpx;font-size:28rpx;border-right:2rpx solid #d6d6d6;white-space:nowrap}.goods-cate .cate-list .cate-item:first-child{padding-left:0}.goods-cate .cate-list .cate-item:last-child{border-right:0}.goods-cate .cate-list .cate-item .active{color:#0567b8;font-weight:700}.index-goods{padding:0 20rpx;margin-top:20rpx}.login-btn{width:100%;height:98rpx;line-height:98rpx;border:none;background-color:#0567b8;text-align:center;color:#fff;font-size:30rpx;letter-spacing:1px;margin-top:40rpx;border-radius:20rpx}.classify{display:flex;background-color:#fff}.classify-left{box-sizing:border-box;width:182rpx;background-color:#f2f3f5;padding-bottom:98rpx;position:fixed;left:0}.classify-left .classify-item{width:100%;line-height:98rpx;text-indent:30rpx;font-size:26rpx}.classify-left .classify-item.active{background-color:#fff;position:relative}.classify-left .classify-item.active::before, +.classify-left .classify-item.active::after{content:"";display:block;width:14rpx;height:14rpx;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNCMzVBNDBDQUIzRTExRURCM0NCOTc4RDFBNTRDQUNBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjNCMzVBNDBEQUIzRTExRURCM0NCOTc4RDFBNTRDQUNBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M0IzNUE0MEFBQjNFMTFFREIzQ0I5NzhEMUE1NENBQ0EiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6M0IzNUE0MEJBQjNFMTFFREIzQ0I5NzhEMUE1NENBQ0EiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz79rqwgAAAAgElEQVR42mL8//8/AxnAnImBPKBHrkZnRjKcygXEL8ixMRKIeRlANpKAWYH4FhD/J9XGAiBWBbNIsE0PiL/+hwJiNYkC8e3/SIAYTeJAfPY/GiDGebf/YwH4Qq8MiL//xwHQNXACcTIsyPEBFmDAmgGxARA7ArEPEPMQEy8AAQYAIAFTAPRTPwMAAAAASUVORK5CYII=);background-size:cover;position:absolute;right:0;top:-14rpx;z-index:1}.classify-left .classify-item.active::after{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);top:auto;bottom:-14rpx}.classify-right{box-sizing:border-box;width:calc(100% - 182rpx);padding:0 20rpx 0 30rpx;margin-left:182rpx}.classify-banner image{width:100%;height:auto}.top-btns{display:flex;justify-content:space-between;align-items:flex-end;width:calc(100% - 230rpx);height:50rpx;padding-left:20rpx;margin-top:18rpx;position:fixed;left:0;z-index:999}.top-btns .btn{display:flex;justify-content:center;align-items:center;width:50rpx;height:50rpx;border-radius:100%;background-color:rgba(0,0,0,.4);position:relative}.top-btns .right{display:flex;justify-content:space-between;align-items:center;width:112rpx}.top-btns .btn .cart-num{display:flex;align-items:center;justify-content:center;width:24rpx;height:24rpx;border-radius:100%;background-color:#f72e2e;font-size:14rpx;color:#fff;position:absolute;top:-4rpx;right:0}.top-btns .btn button{width:100%;height:100%;background:none;border:0;padding:0;opacity:0;position:absolute;left:0;top:0;z-index:1}.goods-banner{box-sizing:border-box;height:750rpx;background-color:#fff;padding:20rpx 0}.section-other{box-sizing:border-box;width:calc(100% - 40rpx);margin:25rpx auto 0;padding:18rpx;background-color:#fff;border-radius:10rpx}.goods-info{margin-top:45rpx}.detail-price{display:flex;align-items:center;position:relative;line-height:44rpx}.detail-price .price{display:flex;align-items:flex-end;font-size:24rpx;line-height:30rpx;color:#f72e2e}.detail-price .amount{position:absolute;right:20rpx;top:0;font-size:24rpx;color:#333;line-height:44rpx}.detail-price .price>text:nth-of-type(2){font-size:34rpx;line-height:40rpx}.goods-info .title{font-size:34rpx;font-weight:700;margin:15rpx 0 13rpx}.goods-info .subtitle{font-size:24rpx;opacity:.8}.goods-chose .chose-item{display:flex;font-size:28rpx;line-height:36rpx}.goods-chose .chose-item .tit{width:86rpx;font-weight:700}.goods-chose .chose-item:nth-of-type(2){margin-top:18rpx}.goods-chose .chose-item .txt{display:flex;flex-direction:column;width:calc(100% - 86rpx)}.goods-chose .chose-item .txt>text:nth-of-type(2){margin-top:8rpx}.pull-title{display:flex;justify-content:center;align-items:center;height:50rpx;padding:40rpx 0 15rpx;font-size:34rpx;color:#0567b8;font-weight:700}.pull-title::before, +.pull-title::after{content:"";display:inline-block;width:36rpx;height:8rpx;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAICAYAAACRbl3VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ4Qjc4RTc5QUI2NjExRURBNDQ1Q0JGOUEyRDA0MEUyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ4Qjc4RTdBQUI2NjExRURBNDQ1Q0JGOUEyRDA0MEUyIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDhCNzhFNzdBQjY2MTFFREE0NDVDQkY5QTJEMDQwRTIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDhCNzhFNzhBQjY2MTFFREE0NDVDQkY5QTJEMDQwRTIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6ObBuzAAAAkElEQVR42mJkTd/BAATCQOwCxEoMEHAPiPcA8VsG/IDq+hiBDhIBMlKAmANN0w8gngPEb3AYShN9TEDCGYskA1TMGY8vaaKPCSnYsAFlPHI00cfEMMgAEzRB4QJ38cjRRB/IQXuhCYoBSyLbi0czTfQxM5vEfAMybgAxLxDzAfFfIL4NxGvx5BQQoIk+gAADAJDXNg0EQjB9AAAAAElFTkSuQmCC);background-size:cover;margin:5rpx 17rpx 0}.pull-title::after{margin-left:17rpx}.goods-details .rich{font-size:26rpx;line-height:48rpx;padding:0 18rpx 18rpx}.relevant-goods{padding:20rpx}.back-top{display:flex;justify-content:center;align-items:center;width:92rpx;height:92rpx;border:2rpx solid #d9dcda;border-radius:100%;background-color:#fff;overflow:hidden;position:fixed;right:25rpx;bottom:300rpx}.back-top>image{width:49rpx;height:49rpx}.detail-foot{display:flex;align-items:center;justify-content:space-between;height:152rpx;width:calc(100% - 40rpx);padding:0 20rpx;background-color:#fff;box-shadow:0 0 16rpx hsla(0,0%,57.3%,.1);position:fixed;bottom:0;left:0;z-index:999}.detail-foot .collection-btn{display:flex;flex-direction:column;align-items:center;width:140rpx;font-size:24rpx;line-height:1.5;margin-top:10rpx}.detail-foot .collection-btn image{width:35rpx;height:33rpx}.detail-foot .cart-btn{display:flex;justify-content:space-between;align-items:center;width:calc(100% - 175rpx)}.detail-foot .cart-btn .btn{width:292rpx;line-height:92rpx;border-radius:46rpx;text-align:center;color:#fff;background-color:#0567b8;font-size:30rpx}.detail-foot .cart-btn .btn:nth-of-type(2){width:230rpx;background-color:#c58a5b}.search-screen{display:flex;justify-content:space-between;align-items:center;width:calc(100% - 40rpx);height:78rpx;padding:0 20rpx;border-radius:20rpx 20rpx 0 0;background-color:#fff;border-bottom:2rpx solid #eaeaea;position:-webkit-sticky;position:sticky;left:0;z-index:999}.search-screen .item{display:flex;align-items:center;font-size:28rpx}.search-screen .item:nth-of-type(1){margin-left:20rpx}.search-screen .item>image{margin-left:6rpx}.search-screen .item .btn{display:flex;flex-direction:column;justify-content:space-between;height:26rpx;margin:2rpx 0 0 6rpx}.no-more{font-size:20rpx;line-height:1.2;padding:40rpx 0;text-align:center;color:rgba(51,51,51,.4);background-color:#fff}.pull-pop-bg{display:flex;justify-content:flex-end;align-items:flex-end;width:100vw;height:100vh;background-color:rgba(0,0,0,.7);position:fixed;left:0;top:0;z-index:9999}.screen-pop{box-sizing:border-box;width:590rpx;background-color:#fff;position:relative}.screen-pop>view{padding:30rpx 42rpx 26rpx 38rpx;border-bottom:12rpx solid #f7f7f7}.screen-pop>view:nth-last-of-type(1), +.screen-pop>view:nth-last-of-type(2){border-bottom:0}.screen-pop .close-btn{display:flex;align-items:center;justify-content:center;width:50rpx;height:50rpx;padding:0;border:0;position:absolute;top:0;right:0}.screen-pop .close-btn image{width:21rpx;height:21rpx}.price-type>text, +.price-section>text{display:block;font-size:28rpx;line-height:32rpx;font-weight:700;margin-bottom:22rpx}.price-type-list{display:flex;align-items:center}.price-type-list>.item, +.price-section-list>input{display:flex;justify-content:center;align-items:center;width:173rpx;height:58rpx;border-radius:4rpx;background-color:#eaeaea;margin-right:8rpx;font-size:24rpx}.price-type-list>.item.active{background-color:#0567b8;color:#fff}.price-section-list{display:flex;justify-content:space-between;align-items:center}.price-section-list>input{width:222rpx;margin:0;text-align:center}.price-section-list>text{width:26rpx;height:2rpx;background-color:#333}.screen-pop .submit-btns{display:flex;justify-content:space-between;width:calc(100% - 80rpx);height:80rpx;position:absolute;left:0;bottom:0;z-index:1}.screen-pop .submit-btns>text{box-sizing:border-box;display:flex;justify-content:center;align-items:center;width:170rpx;border-radius:10rpx;border:2rpx solid #d6d6d6;font-size:30rpx}.screen-pop .submit-btns>text:last-child{width:calc(100% - 185rpx);border:0;background-color:#0567b8;color:#fff}.cart-addr{display:flex;align-items:center;justify-content:space-between;height:55rpx;padding:0 38rpx;font-size:24rpx;line-height:1.5;color:#343434;margin-bottom:20rpx}.cart-addr .edit-btn{color:#0567b8}.cart-addr .del-btn{color:#f72e2e}.cart-addr .addr{display:flex;align-items:center;width:calc(100% - 70rpx)}.cart-addr .addr image{width:19rpx;height:23rpx;margin:3rpx 9rpx 0 0}.all-chose{display:flex;align-items:center;width:calc(100% - 76rpx);padding:0 18rpx;height:80rpx;margin:0 auto;background-color:#fff;border-radius:10rpx 10rpx 0 0;border-bottom:2rpx solid #eaeaea}.all-chose>text{margin-left:10rpx;font-size:28rpx;color:#0567b8}.radio{box-sizing:border-box;display:flex;justify-content:center;align-items:center;width:36rpx;height:36rpx;border-radius:100%;border:2rpx solid #c9c9c9}.radio image{width:22rpx;height:16rpx}.radio.checked{background-color:#0567b8;border:2rpx solid #0567b8}.cart-list{width:calc(100% - 40rpx);margin:0 auto;background-color:#fff}.cart-list .item{display:flex;justify-content:space-between;padding:34rpx 18rpx;border-bottom:2rpx solid #eaeaea}.cart-list .item:last-child{border-bottom:0}.cart-list .item .txt-bg{display:flex;justify-content:space-between;align-items:center;width:calc(100% - 60rpx)}.cart-list .item .img, +.cart-list .item .img image{width:187rpx;height:187rpx}.cart-list .item .txt{width:calc(100% - 205rpx)}.cart-list .item .tit{font-size:26rpx;line-height:1.8}.cart-list .item .price-box{display:flex;justify-content:space-between;align-items:center}.cart-list .item .price-bg{display:flex;align-items:center;width:calc(100% - 120rpx);margin-top:45rpx}.cart-list .item .price{display:flex;align-items:flex-end;font-size:24rpx;line-height:30rpx;color:#f72e2e}.cart-list .item .price>text:nth-of-type(2){font-size:34rpx;line-height:40rpx}.cart-list .item .btns{display:flex;justify-content:space-between;align-items:center;width:120rpx}.cart-list .item .btns input{box-sizing:border-box;width:60rpx;height:40rpx;padding:0 6rpx;border-radius:4rpx;background-color:#f5f5f5;text-align:center;font-size:24rpx}.cart-list .item .btns image{width:19rpx}.total-price{display:flex;align-items:center;justify-content:space-between;width:calc(100% - 40rpx);height:120rpx;padding:0 20rpx;box-shadow:0 0 16rpx hsla(0,0%,57.3%,.12);background-color:#fff;position:fixed;left:0;bottom:98rpx;z-index:999}.total-price .txt, +.total-price .txt>view{display:flex;align-items:center}.total-price .chose-all{margin-right:30rpx;font-size:26rpx}.total-price .chose-all>text{margin-left:8rpx}.total-price .price-box{font-size:26rpx}.total-price .price{display:flex;align-items:flex-end;font-size:24rpx;line-height:30rpx;color:#f72e2e}.total-price .price>text:nth-of-type(2){font-size:34rpx;line-height:40rpx}.total-price .submit-btn, +.confirm-foot .submit-btn{display:flex;justify-content:center;align-items:center;width:200rpx;height:76rpx;border-radius:38rpx;background-color:#c58a5b;font-size:32rpx;color:#fff}.total-price .submit-btn.grey{background-color:#999}.total-price .submit-btn>text{font-size:28rpx;margin-left:4rpx}.order-addr{display:flex;justify-content:space-between;align-items:center;font-size:26rpx;line-height:1.8}.order-addr .address{display:flex;align-items:center}.order-addr .address .type{display:flex;justify-content:center;align-items:center;width:60rpx;height:34rpx;background-color:#c58a5b;font-size:22rpx;line-height:1.2;color:#fff;border-radius:20rpx;margin-right:10rpx}.order-addr .street{font-size:30rpx;font-weight:700;margin-top:2rpx}.order-addr .name>text{margin-right:15rpx}.order-detail-addr{justify-content:flex-start;align-items:flex-start}.order-detail-addr .addt-icon{width:25rpx;height:29rpx;margin:9rpx 15rpx 0 0}.order-detail-addr .txt{line-height:45rpx}.pay-type, +.pay-type .type{display:flex;justify-content:space-between;align-items:center;font-size:28rpx}.pay-type .type image{margin-right:10rpx}.order-list{padding:0}.order-list .item{display:flex;justify-content:space-between;align-items:center;padding:25rpx 20rpx;border-bottom:2rpx solid #eaeaea}.order-list .item:last-child{border-bottom:0}.order-list .img, +.order-list .img>image{width:186rpx;height:186rpx}.order-list .txt{width:100%;font-size:26rpx;line-height:1.6}.order-list .txt .price-box{display:flex;justify-content:space-between;align-items:center;margin-top:50rpx}.order-list .txt .price-bg, +.confirm-foot .actual-pay{display:flex;align-items:center}.order-list .txt .price, +.confirm-foot .actual-pay .price{display:flex;align-items:flex-end;font-size:24rpx;line-height:30rpx;color:#f72e2e}.order-list .txt .price>text:nth-of-type(2), +.confirm-foot .actual-pay .price>text:nth-of-type(2){font-size:34rpx;line-height:40rpx}.order-info .item{display:flex;align-items:center;justify-content:space-between;font-size:28rpx;line-height:40rpx;margin-bottom:40rpx}.order-info .item>text:nth-of-type(2){font-size:26rpx}.order-info .item:nth-of-type(even)>text:nth-of-type(2){color:#f72e2e}.order-info .item:last-child{justify-content:flex-start;flex-wrap:wrap;margin-bottom:0}.order-info .item:last-child>text:nth-of-type(2){font-weight:400;color:#666;margin-left:24rpx}.order-info .item>input{width:100%;height:50rpx;margin-top:15rpx;border-bottom:2rpx solid #eaeaea;font-size:26rpx}.order-info .item-one{justify-content:flex-start;margin-bottom:0;line-height:62rpx}.order-info .item-one>text:nth-of-type(1), +.order-info .item-two>text:nth-of-type(1){color:#666}.order-info .item-one>text:nth-of-type(2){font-weight:400;color:#333!important}.order-info .item-two{margin-bottom:0;line-height:62rpx}.order-info .item-two:last-child{justify-content:space-between;flex-wrap:nowrap}.order-info .item-two .price{display:flex;justify-content:center;align-items:flex-end;height:40rpx;font-size:22rpx;line-height:32rpx}.order-info .item-two .price>text:nth-of-type(2){font-size:28rpx;line-height:38rpx}.order-info .item-two:last-child .price{color:#f72e2e}.confirm-foot{display:flex;align-items:center;justify-content:space-between;width:calc(100% - 40rpx);height:116rpx;padding:0 20rpx;box-shadow:0 0 16rpx hsla(0,0%,57.3%,.12);background-color:#fff;position:fixed;left:0;bottom:0;z-index:999}.confirm-foot .actual-pay>text{font-size:24rpx}.confirm-foot .submit-btn{width:246rpx}.pull-pop-center{justify-content:center;align-items:center}.pull-pop{box-sizing:border-box;width:calc(100% - 236rpx);padding:45rpx 35rpx 50rpx;background-color:#fff;border-radius:20rpx;text-align:center;position:relative}.pull-pop .title{font-size:36rpx;line-height:40rpx;color:#f72e2e}.pull-pop .msg{font-size:26rpx;line-height:1.6;margin-top:20rpx}.pull-pop .close-btn{display:flex;justify-content:center;align-items:center;width:50rpx;height:50rpx;position:absolute;right:10rpx;top:0;z-index:99}.pull-pop .close-btn>image{width:21rpx;height:21rpx}.pull-pop .btns{display:flex;justify-content:center;margin-top:40rpx}.pull-pop .btns .btn{display:flex;align-items:center;justify-content:center;width:246rpx;height:76rpx;border-radius:38rpx;background-color:#c58a5b;font-size:32rpx;color:#fff;letter-spacing:2rpx;text-indent:2rpx}.address-pop{box-sizing:border-box;width:100%;padding:0 20rpx 50rpx;background-color:#f7f7f7;border-radius:20rpx 20rpx 0 0;position:relative}.address-pop .title{font-size:28rpx;line-height:90rpx;text-align:center}.address-pop .addr-list{height:600rpx}.address-list .item, +.address-pop .item{display:flex;justify-content:space-between;align-items:center;background-color:#fff;padding:20rpx;margin-bottom:20rpx;border-radius:10rpx;font-size:22rpx;line-height:1.4}.address-list .item .address, +.address-pop .item .address{display:flex;align-items:center}.address-list .item .address .type, +.address-pop .item .address .type{display:flex;justify-content:center;align-items:center;width:60rpx;height:34rpx;background-color:#c58a5b;font-size:20rpx;line-height:1.2;color:#fff;border-radius:20rpx;margin-right:10rpx}.address-list .item .street, +.address-pop .item .street{font-size:28rpx;font-weight:700;margin:10rpx 0 12rpx}.address-list .item .name>text, +.address-pop .item .name>text{margin-right:15rpx}.address-pop .add-address-btn{display:flex;justify-content:center;align-items:center;width:584rpx;height:95rpx;margin:40rpx auto 0;background-color:#0567b8;border-radius:10rpx;font-size:30rpx;color:#fff;letter-spacing:2rpx;text-indent:2rpx}.address-pop .close-btn{display:flex;justify-content:center;align-items:center;width:50rpx;height:50rpx;position:absolute;right:10rpx;top:0;z-index:99}.address-pop .close-btn>image{width:21rpx;height:21rpx}.address-list .btn, +.address-pop .btn{width:32rpx;height:32rpx}.info-list{padding-top:0;margin-top:0}.info-list .item{display:flex;align-items:center;height:95rpx;border-bottom:2rpx solid #eaeaea;font-size:26rpx}.info-list .item>text{width:172rpx;text-indent:4rpx}.info-list .item>input{width:calc(100% - 172rpx)}.info-list .tags{display:flex;align-items:center;width:calc(100% - 172rpx)}.info-list .tags>text{display:flex;align-items:center;justify-content:center;width:102rpx;height:54rpx;border-radius:5rpx;border:2rpx solid #eaeaea;margin-right:10rpx;letter-spacing:2rpx;text-indent:2rpx}.info-list .tags>text:last-child{margin-right:0}.info-list .tags>text.checked{background-color:#0567b8;border:2rpx solid #0567b8;color:#fff}.set-default{display:flex;align-items:center;font-size:26rpx}.set-default .radio.checked{background-color:#c58a5b;border:2rpx solid #c58a5b}.set-default>text{margin-left:10rpx}.preserve-btn{display:flex;align-items:center;justify-content:center;width:calc(100% - 40rpx);height:95rpx;margin:40rpx auto 0;background-color:#0567b8;border-radius:10rpx;font-size:30rpx;color:#fff;letter-spacing:4rpx;text-indent:4rpx}.information{padding:0 18rpx;margin-top:0}.information .item{display:flex;justify-content:space-between;align-items:center;height:95rpx;border-bottom:2rpx solid #eaeaea;font-size:26rpx}.information .item:first-child{height:110rpx}.information .item:last-child{border-bottom:0}.information .item .edit-btn{width:12rpx;height:21rpx;margin-left:20rpx}.information .txt{display:flex;align-items:center}.information .avatar, +.information .avatar>image{width:90rpx;height:90rpx;border-radius:100%}.information .txt>input{text-align:right}.information-pop input{width:100%;height:60rpx;border-bottom:2rpx solid #eaeaea;margin-top:30rpx;text-align:left;font-size:26rpx}.address-list{width:calc(100% - 40rpx);margin:0 auto}.address-list .btns{display:flex;justify-content:space-between;width:88rpx}.address-btn{width:100%;background-color:#f7f7f7;position:fixed;left:0;bottom:98rpx;z-index:999}.address-btn .preserve-btn{margin:20rpx auto}.order-nav{display:flex;align-items:center;justify-content:space-between;width:calc(100% - 60rpx);height:78rpx;background-color:#fff;padding:0 30rpx;position:-webkit-sticky;position:sticky;left:0;z-index:999}.order-nav .item{display:flex;align-items:center;height:76rpx;border-bottom:2rpx solid #fff;font-size:26rpx}.order-nav .item.active{color:#c58a5b;border-bottom:2rpx solid #c58a5b}.order-items .code{display:flex;justify-content:space-between;align-items:center;height:46rpx;font-size:24rpx;color:#0567b8}.order-items .code>text:first-child{color:#333;opacity:.7}.order-items .info{display:flex;justify-content:space-between;align-items:center;padding:10rpx 0 15rpx}.order-items .left{display:flex;align-items:flex-start;width:480rpx}.order-items .img, +.order-items .img>image{width:162rpx;height:162rpx}.order-items .txt{font-size:28rpx;line-height:1.6;margin:15rpx 0 0 12rpx}.order-items .price{display:flex;align-items:flex-end;font-size:24rpx;line-height:30rpx}.order-items .price>text:nth-of-type(2){font-size:28rpx;line-height:34rpx}.order-items .number{font-size:24rpx;color:#6e6e6e;text-align:center;margin-top:10rpx}.order-items .btns{display:flex;justify-content:flex-end;align-items:center}.order-items .btns .btn{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:156rpx;height:62rpx;border:2rpx solid #eaeaea;border-radius:31rpx;margin-left:12rpx;font-size:24rpx;color:#6c6c6c}.order-items .btns .orange{background-color:#c58a5b;border:2rpx solid #c58a5b;color:#fff}.order-items .btns .orange-other{border:2rpx solid #c58a5b;color:#c58a5b}.order-items .btns .btn:first-child{margin-left:0}.loading-box{display:flex;justify-content:center;width:100%;padding-top:20px;font-size:30px;color:#fd524b;vertical-align:top;transition:.3s color,.3s border}[class*="loader-"]{display:inline-block;width:1em;height:1em;color:inherit;vertical-align:middle;pointer-events:none}.loader-01{border:.2em dotted currentcolor;border-radius:50%;-webkit-animation:1s loader-01 linear infinite;animation:1s loader-01 linear infinite}@-webkit-keyframes loader-01{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loader-01{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loader-02{border:.2em solid transparent;border-left-color:initial;border-right-color:initial;border-radius:50%;-webkit-animation:1s loader-02 linear infinite;animation:1s loader-02 linear infinite}@-webkit-keyframes loader-02{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loader-02{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loader-03{border:.2em solid currentcolor;border-bottom-color:transparent;border-radius:50%;-webkit-animation:1s loader-03 linear infinite;animation:1s loader-03 linear infinite;position:relative}@-webkit-keyframes loader-03{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loader-03{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loader-04{border:1px solid currentcolor;border-radius:50%;-webkit-animation:1s loader-04 linear infinite;animation:1s loader-04 linear infinite;position:relative}.loader-04:before{content:"";display:block;width:0;height:0;position:absolute;top:-.2em;left:50%;border:.2em solid currentcolor;border-radius:50%}@-webkit-keyframes loader-04{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loader-04{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loader-05{border:.2em solid transparent;border-top-color:initial;border-radius:50%;-webkit-animation:1s loader-05 linear infinite;animation:1s loader-05 linear infinite;position:relative}.loader-05:before{content:"";display:block;width:inherit;height:inherit;position:absolute;top:-.2em;left:-.2em;border:.2em solid currentcolor;border-radius:50%;opacity:.5}@-webkit-keyframes loader-05{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loader-05{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loader-06{border:.2em solid currentcolor;border-radius:50%;-webkit-animation:loader-06 1s ease-out infinite;animation:loader-06 1s ease-out infinite}@-webkit-keyframes loader-06{0%{-webkit-transform:scale(0);transform:scale(0);opacity:0}50%{opacity:1}100%{-webkit-transform:scale(1);transform:scale(1);opacity:0}}@keyframes loader-06{0%{-webkit-transform:scale(0);transform:scale(0);opacity:0}50%{opacity:1}100%{-webkit-transform:scale(1);transform:scale(1);opacity:0}}.loader-07{border:0 solid transparent;border-radius:50%;position:relative}.loader-07:before, +.loader-07:after{content:"";border:.2em solid currentcolor;border-radius:50%;width:inherit;height:inherit;position:absolute;top:0;left:0;-webkit-animation:loader-07 1s linear infinite;animation:loader-07 1s linear infinite;opacity:0}.loader-07:before{-webkit-animation-delay:1s;animation-delay:1s}.loader-07:after{-webkit-animation-delay:.5s;animation-delay:.5s}@-webkit-keyframes loader-07{0%{-webkit-transform:scale(0);transform:scale(0);opacity:0}50%{opacity:1}100%{-webkit-transform:scale(1);transform:scale(1);opacity:0}}@keyframes loader-07{0%{-webkit-transform:scale(0);transform:scale(0);opacity:0}50%{opacity:1}100%{-webkit-transform:scale(1);transform:scale(1);opacity:0}}.loader-08{position:relative}.loader-08:before, +.loader-08:after{content:"";width:inherit;height:inherit;border-radius:50%;background-color:currentcolor;opacity:.6;position:absolute;top:0;left:0;-webkit-animation:loader-08 2s infinite ease-in-out;animation:loader-08 2s infinite ease-in-out}.loader-08:after{-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes loader-08{0%, + 100%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes loader-08{0%, + 100%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}.loader-09{background-color:currentcolor;border-radius:50%;-webkit-animation:loader-09 1s infinite ease-in-out;animation:loader-09 1s infinite ease-in-out}@-webkit-keyframes loader-09{0%{-webkit-transform:scale(0);transform:scale(0)}100%{-webkit-transform:scale(1);transform:scale(1);opacity:0}}@keyframes loader-09{0%{-webkit-transform:scale(0);transform:scale(0)}100%{-webkit-transform:scale(1);transform:scale(1);opacity:0}}.loader-10{position:relative;-webkit-animation:loader-10-1 2s infinite linear;animation:loader-10-1 2s infinite linear}.loader-10:before, +.loader-10:after{content:"";width:0;height:0;border:.5em solid currentcolor;display:block;position:absolute;border-radius:100%;-webkit-animation:loader-10-2 2s infinite ease-in-out;animation:loader-10-2 2s infinite ease-in-out}.loader-10:before{top:0;left:50%}.loader-10:after{bottom:0;right:50%;-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes loader-10-1{100%{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loader-10-1{100%{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes loader-10-2{0%, + 100%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes loader-10-2{0%, + 100%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}.loader-11{background-color:currentcolor;-webkit-animation:loader-11 1.2s infinite ease-in-out;animation:loader-11 1.2s infinite ease-in-out}@-webkit-keyframes loader-11{0%{-webkit-transform:perspective(120px) rotateX(0deg) rotateY(0deg);transform:perspective(120px) rotateX(0deg) rotateY(0deg)}50%{-webkit-transform:perspective(120px) rotateX(-180.1deg) rotateY(0deg);transform:perspective(120px) rotateX(-180.1deg) rotateY(0deg)}100%{-webkit-transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg);transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg)}}@keyframes loader-11{0%{-webkit-transform:perspective(120px) rotateX(0deg) rotateY(0deg);transform:perspective(120px) rotateX(0deg) rotateY(0deg)}50%{-webkit-transform:perspective(120px) rotateX(-180.1deg) rotateY(0deg);transform:perspective(120px) rotateX(-180.1deg) rotateY(0deg)}100%{-webkit-transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg);transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg)}}.loader-12{position:relative}.loader-12:before, +.loader-12:after{content:"";display:block;position:absolute;background-color:currentcolor;left:50%;right:0;top:0;bottom:50%;box-shadow:-.5em 0 0 currentcolor;-webkit-animation:loader-12 1s linear infinite;animation:loader-12 1s linear infinite}.loader-12:after{top:50%;bottom:0;-webkit-animation-delay:.25s;animation-delay:.25s}@-webkit-keyframes loader-12{0%, + 100%{box-shadow:-.5em 0 0 transparent;background-color:currentcolor}50%{box-shadow:-.5em 0 0 currentcolor;background-color:initial}}@keyframes loader-12{0%, + 100%{box-shadow:-.5em 0 0 transparent;background-color:currentcolor}50%{box-shadow:-.5em 0 0 currentcolor;background-color:initial}}.loader-13:before, +.loader-13:after, +.loader-13{border-radius:50%;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation:loader-13 1.8s infinite ease-in-out;animation:loader-13 1.8s infinite ease-in-out}.loader-13{color:currentcolor;position:relative;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-animation-delay:-.16s;animation-delay:-.16s;top:-1em}.loader-13:before{right:100%;-webkit-animation-delay:-.32s;animation-delay:-.32s}.loader-13:after{left:100%}.loader-13:before, +.loader-13:after{content:"";display:block;position:absolute;top:0;width:inherit;height:inherit}@-webkit-keyframes loader-13{0%, + 80%, + 100%{box-shadow:0 1em 0 -1em}40%{box-shadow:0 1em 0 -.2em}}@keyframes loader-13{0%, + 80%, + 100%{box-shadow:0 1em 0 -1em}40%{box-shadow:0 1em 0 -.2em}}.loader-14{border-radius:50%;box-shadow:0 1em 0 -.2em currentcolor;position:relative;-webkit-animation:loader-14 .8s ease-in-out alternate infinite;animation:loader-14 .8s ease-in-out alternate infinite;-webkit-animation-delay:.32s;animation-delay:.32s;top:-1em}.loader-14:after, +.loader-14:before{content:"";position:absolute;width:inherit;height:inherit;border-radius:inherit;box-shadow:inherit;-webkit-animation:inherit;animation:inherit}.loader-14:before{left:-1em;-webkit-animation-delay:.48s;animation-delay:.48s}.loader-14:after{right:-1em;-webkit-animation-delay:.16s;animation-delay:.16s}@-webkit-keyframes loader-14{0%{box-shadow:0 2em 0 -.2em currentcolor}100%{box-shadow:0 1em 0 -.2em currentcolor}}@keyframes loader-14{0%{box-shadow:0 2em 0 -.2em currentcolor}100%{box-shadow:0 1em 0 -.2em currentcolor}}.loader-15{background:currentcolor;position:relative;-webkit-animation:loader-15 1s ease-in-out infinite;animation:loader-15 1s ease-in-out infinite;-webkit-animation-delay:.4s;animation-delay:.4s;width:.25em;height:.5em}.loader-15:after, +.loader-15:before{content:"";position:absolute;width:inherit;height:inherit;background:inherit;-webkit-animation:inherit;animation:inherit}.loader-15:before{right:.5em;-webkit-animation-delay:.2s;animation-delay:.2s}.loader-15:after{left:.5em;-webkit-animation-delay:.6s;animation-delay:.6s}@-webkit-keyframes loader-15{0%, + 100%{box-shadow:0 0 0 currentcolor,0 0 0 currentcolor}50%{box-shadow:0 -.25em 0 currentcolor,0 .25em 0 currentcolor}}@keyframes loader-15{0%, + 100%{box-shadow:0 0 0 currentcolor,0 0 0 currentcolor}50%{box-shadow:0 -.25em 0 currentcolor,0 .25em 0 currentcolor}}.loader-16{-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-perspective:1000px;perspective:1000px;border-radius:50%}.loader-16:before, +.loader-16:after{content:"";display:block;position:absolute;top:0;left:0;width:inherit;height:inherit;border-radius:50%;-webkit-animation:1s spin linear infinite;animation:1s spin linear infinite}.loader-16:before{-webkit-transform:rotateX(70deg);transform:rotateX(70deg)}.loader-16:after{-webkit-transform:rotateY(70deg);transform:rotateY(70deg);-webkit-animation-delay:.4s;animation-delay:.4s}@-webkit-keyframes rotate{0%{-webkit-transform:translate(-50%,-50%) rotate(0deg);transform:translate(-50%,-50%) rotate(0deg)}100%{-webkit-transform:translate(-50%,-50%) rotate(1turn);transform:translate(-50%,-50%) rotate(1turn)}}@keyframes rotate{0%{-webkit-transform:translate(-50%,-50%) rotate(0deg);transform:translate(-50%,-50%) rotate(0deg)}100%{-webkit-transform:translate(-50%,-50%) rotate(1turn);transform:translate(-50%,-50%) rotate(1turn)}}@-webkit-keyframes rotateccw{0%{-webkit-transform:translate(-50%,-50%) rotate(0deg);transform:translate(-50%,-50%) rotate(0deg)}100%{-webkit-transform:translate(-50%,-50%) rotate(-1turn);transform:translate(-50%,-50%) rotate(-1turn)}}@keyframes rotateccw{0%{-webkit-transform:translate(-50%,-50%) rotate(0deg);transform:translate(-50%,-50%) rotate(0deg)}100%{-webkit-transform:translate(-50%,-50%) rotate(-1turn);transform:translate(-50%,-50%) rotate(-1turn)}}@-webkit-keyframes spin{0%, + 100%{box-shadow:.2em 0 0 0 currentcolor}12%{box-shadow:.2em .2em 0 0 currentcolor}25%{box-shadow:0 .2em 0 0 currentcolor}37%{box-shadow:-.2em .2em 0 0 currentcolor}50%{box-shadow:-.2em 0 0 0 currentcolor}62%{box-shadow:-.2em -.2em 0 0 currentcolor}75%{box-shadow:0 -.2em 0 0 currentcolor}87%{box-shadow:.2em -.2em 0 0 currentcolor}}@keyframes spin{0%, + 100%{box-shadow:.2em 0 0 0 currentcolor}12%{box-shadow:.2em .2em 0 0 currentcolor}25%{box-shadow:0 .2em 0 0 currentcolor}37%{box-shadow:-.2em .2em 0 0 currentcolor}50%{box-shadow:-.2em 0 0 0 currentcolor}62%{box-shadow:-.2em -.2em 0 0 currentcolor}75%{box-shadow:0 -.2em 0 0 currentcolor}87%{box-shadow:.2em -.2em 0 0 currentcolor}}.loader-17{position:relative;background-color:currentcolor;border-radius:50%}.loader-17:after, +.loader-17:before{content:"";position:absolute;width:.25em;height:.25em;border-radius:50%;opacity:.8}.loader-17:after{left:-.5em;top:-.25em;background-color:currentcolor;-webkit-transform-origin:.75em 1em;transform-origin:.75em 1em;-webkit-animation:loader-17 1s linear infinite;animation:loader-17 1s linear infinite;opacity:.6}.loader-17:before{left:-1.25em;top:-.75em;background-color:currentcolor;-webkit-transform-origin:1.5em 1em;transform-origin:1.5em 1em;-webkit-animation:loader-17 2s linear infinite;animation:loader-17 2s linear infinite}@-webkit-keyframes loader-17{0%{-webkit-transform:rotate(0deg) translateZ(0);transform:rotate(0deg) translateZ(0)}100%{-webkit-transform:rotate(1turn) translateZ(0);transform:rotate(1turn) translateZ(0)}}@keyframes loader-17{0%{-webkit-transform:rotate(0deg) translateZ(0);transform:rotate(0deg) translateZ(0)}100%{-webkit-transform:rotate(1turn) translateZ(0);transform:rotate(1turn) translateZ(0)}}.loader-18{position:relative}.loader-18:before, +.loader-18:after{content:"";display:block;position:absolute;border-radius:50%;border:.1em solid transparent;border-bottom-color:initial;top:0;left:0;-webkit-animation:1s loader-18 linear infinite;animation:1s loader-18 linear infinite}.loader-18:before{width:1em;height:1em}.loader-18:after{width:.8em;height:.8em;top:.1em;left:.1em;-webkit-animation-direction:reverse;animation-direction:reverse}@-webkit-keyframes loader-18{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loader-18{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loader-19{border-top:.2em solid currentcolor;border-right:.2em solid transparent;-webkit-animation:loader-19 1s linear infinite;animation:loader-19 1s linear infinite;border-radius:100%;position:relative}@-webkit-keyframes loader-19{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loader-19{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}page::after{position:fixed;content:'';left:-1000px;top:-1000px;-webkit-animation:shadow-preload .1s;-webkit-animation-delay:3s;animation:shadow-preload .1s;animation-delay:3s}@-webkit-keyframes shadow-preload{0%{background-image:url(https://cdn1.dcloud.net.cn/img/shadow-grey.png)}100%{background-image:url(https://cdn1.dcloud.net.cn/img/shadow-grey.png)}}@keyframes shadow-preload{0%{background-image:url(https://cdn1.dcloud.net.cn/img/shadow-grey.png)}100%{background-image:url(https://cdn1.dcloud.net.cn/img/shadow-grey.png)}} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/common/runtime.js b/unpackage/dist/build/mp-weixin/common/runtime.js new file mode 100644 index 0000000..8924ddf --- /dev/null +++ b/unpackage/dist/build/mp-weixin/common/runtime.js @@ -0,0 +1,4 @@ + + !function(){try{var a=Function("return this")();a&&!a.Math&&(Object.assign(a,{isFinite:isFinite,Array:Array,Date:Date,Error:Error,Function:Function,Math:Math,Object:Object,RegExp:RegExp,String:String,TypeError:TypeError,setTimeout:setTimeout,clearTimeout:clearTimeout,setInterval:setInterval,clearInterval:clearInterval}),"undefined"!=typeof Reflect&&(a.Reflect=Reflect))}catch(a){}}(); + (function(t){function e(e){for(var o,r,i=e[0],u=e[1],p=e[2],c=0,m=[];c-1&&a.splice(n,1)}}function f(e,a){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var n=e.state;h(e,n,[],e._modules.root,!0),d(e,n,a)}function d(e,a,n){var t=e._vm;e.getters={},e._makeLocalGettersCache=Object.create(null);var r=e._wrappedGetters,l={};u(r,(function(a,n){l[n]=function(e,a){return function(){return e(a)}}(a,e),Object.defineProperty(e.getters,n,{get:function(){return e._vm[n]},enumerable:!0})}));var p=m.config.silent;m.config.silent=!0,e._vm=new m({data:{$$state:a},computed:l}),m.config.silent=p,e.strict&&function(e){e._vm.$watch((function(){return this._data.$$state}),(function(){0}),{deep:!0,sync:!0})}(e),t&&(n&&e._withCommit((function(){t._data.$$state=null})),m.nextTick((function(){return t.$destroy()})))}function h(e,a,n,t,r){var u=!n.length,l=e._modules.getNamespace(n);if(t.namespaced&&(e._modulesNamespaceMap[l],e._modulesNamespaceMap[l]=t),!u&&!r){var p=g(a,n.slice(0,-1)),v=n[n.length-1];e._withCommit((function(){m.set(p,v,t.state)}))}var o=t.context=function(e,a,n){var t=""===a,r={dispatch:t?e.dispatch:function(n,t,r){var u=y(n,t,r),l=u.payload,p=u.options,v=u.type;return p&&p.root||(v=a+v),e.dispatch(v,l)},commit:t?e.commit:function(n,t,r){var u=y(n,t,r),l=u.payload,p=u.options,v=u.type;p&&p.root||(v=a+v),e.commit(v,l,p)}};return Object.defineProperties(r,{getters:{get:t?function(){return e.getters}:function(){return function(e,a){if(!e._makeLocalGettersCache[a]){var n={},t=a.length;Object.keys(e.getters).forEach((function(r){if(r.slice(0,t)===a){var u=r.slice(t);Object.defineProperty(n,u,{get:function(){return e.getters[r]},enumerable:!0})}})),e._makeLocalGettersCache[a]=n}return e._makeLocalGettersCache[a]}(e,a)}},state:{get:function(){return g(e.state,n)}}}),r}(e,l,n);t.forEachMutation((function(a,n){var t=l+n;(function(e,a,n,t){var r=e._mutations[a]||(e._mutations[a]=[]);r.push((function(a){n.call(e,t.state,a)}))})(e,t,a,o)})),t.forEachAction((function(a,n){var t=a.root?n:l+n,r=a.handler||a;(function(e,a,n,t){var r=e._actions[a]||(e._actions[a]=[]);r.push((function(a){var r=n.call(e,{dispatch:t.dispatch,commit:t.commit,getters:t.getters,state:t.state,rootGetters:e.getters,rootState:e.state},a);return function(e){return e&&"function"===typeof e.then}(r)||(r=Promise.resolve(r)),e._devtoolHook?r.catch((function(a){throw e._devtoolHook.emit("vuex:error",a),a})):r}))})(e,t,r,o)})),t.forEachGetter((function(a,n){var t=l+n;(function(e,a,n,t){if(e._wrappedGetters[a])return void 0;e._wrappedGetters[a]=function(e){return n(t.state,t.getters,e.state,e.getters)}})(e,t,a,o)})),t.forEachChild((function(t,u){h(e,a,n.concat(u),t,r)}))}function g(e,a){return a.reduce((function(e,a){return e[a]}),e)}function y(e,a,n){return l(e)&&e.type&&(n=a,a=e,e=e.type),{type:e,payload:a,options:n}}function _(e){m&&e===m||(m=e, +/*! + * vuex v3.6.2 + * (c) 2021 Evan You + * @license MIT + */ +function(e){var a=Number(e.version.split(".")[0]);if(a>=2)e.mixin({beforeCreate:t});else{var n=e.prototype._init;e.prototype._init=function(e){void 0===e&&(e={}),e.init=e.init?[t].concat(e.init):t,n.call(this,e)}}function t(){var e=this.$options;e.store?this.$store="function"===typeof e.store?e.store():e.store:e.parent&&e.parent.$store&&(this.$store=e.parent.$store)}}(m))}s.state.get=function(){return this._vm._data.$$state},s.state.set=function(e){0},i.prototype.commit=function(e,a,n){var t=this,r=y(e,a,n),u=r.type,l=r.payload,p=(r.options,{type:u,payload:l}),v=this._mutations[u];v&&(this._withCommit((function(){v.forEach((function(e){e(l)}))})),this._subscribers.slice().forEach((function(e){return e(p,t.state)})))},i.prototype.dispatch=function(e,a){var n=this,t=y(e,a),r=t.type,u=t.payload,l={type:r,payload:u},p=this._actions[r];if(p){try{this._actionSubscribers.slice().filter((function(e){return e.before})).forEach((function(e){return e.before(l,n.state)}))}catch(o){0}var v=p.length>1?Promise.all(p.map((function(e){return e(u)}))):p[0](u);return new Promise((function(e,a){v.then((function(a){try{n._actionSubscribers.filter((function(e){return e.after})).forEach((function(e){return e.after(l,n.state)}))}catch(o){0}e(a)}),(function(e){try{n._actionSubscribers.filter((function(e){return e.error})).forEach((function(a){return a.error(l,n.state,e)}))}catch(o){0}a(e)}))}))}},i.prototype.subscribe=function(e,a){return c(e,this._subscribers,a)},i.prototype.subscribeAction=function(e,a){var n="function"===typeof e?{before:e}:e;return c(n,this._actionSubscribers,a)},i.prototype.watch=function(e,a,n){var t=this;return this._watcherVM.$watch((function(){return e(t.state,t.getters)}),a,n)},i.prototype.replaceState=function(e){var a=this;this._withCommit((function(){a._vm._data.$$state=e}))},i.prototype.registerModule=function(e,a,n){void 0===n&&(n={}),"string"===typeof e&&(e=[e]),this._modules.register(e,a),h(this,this.state,e,this._modules.get(e),n.preserveState),d(this,this.state)},i.prototype.unregisterModule=function(e){var a=this;"string"===typeof e&&(e=[e]),this._modules.unregister(e),this._withCommit((function(){var n=g(a.state,e.slice(0,-1));m.delete(n,e[e.length-1])})),f(this)},i.prototype.hasModule=function(e){return"string"===typeof e&&(e=[e]),this._modules.isRegistered(e)},i.prototype[[104,111,116,85,112,100,97,116,101].map((function(e){return String.fromCharCode(e)})).join("")]=function(e){this._modules.update(e),f(this,!0)},i.prototype._withCommit=function(e){var a=this._committing;this._committing=!0,e(),this._committing=a},Object.defineProperties(i.prototype,s);var b=$((function(e,a){var n={};return A(a).forEach((function(a){var t=a.key,r=a.val;n[t]=function(){var a=this.$store.state,n=this.$store.getters;if(e){var t=S(this.$store,"mapState",e);if(!t)return;a=t.context.state,n=t.context.getters}return"function"===typeof r?r.call(this,a,n):a[r]},n[t].vuex=!0})),n})),w=$((function(e,a){var n={};return A(a).forEach((function(a){var t=a.key,r=a.val;n[t]=function(){var a=[],n=arguments.length;while(n--)a[n]=arguments[n];var t=this.$store.commit;if(e){var u=S(this.$store,"mapMutations",e);if(!u)return;t=u.context.commit}return"function"===typeof r?r.apply(this,[t].concat(a)):t.apply(this.$store,[r].concat(a))}})),n})),O=$((function(e,a){var n={};return A(a).forEach((function(a){var t=a.key,r=a.val;r=e+r,n[t]=function(){if(!e||S(this.$store,"mapGetters",e))return this.$store.getters[r]},n[t].vuex=!0})),n})),x=$((function(e,a){var n={};return A(a).forEach((function(a){var t=a.key,r=a.val;n[t]=function(){var a=[],n=arguments.length;while(n--)a[n]=arguments[n];var t=this.$store.dispatch;if(e){var u=S(this.$store,"mapActions",e);if(!u)return;t=u.context.dispatch}return"function"===typeof r?r.apply(this,[t].concat(a)):t.apply(this.$store,[r].concat(a))}})),n}));function A(e){return function(e){return Array.isArray(e)||l(e)}(e)?Array.isArray(e)?e.map((function(e){return{key:e,val:e}})):Object.keys(e).map((function(a){return{key:a,val:e[a]}})):[]}function $(e){return function(a,n){return"string"!==typeof a?(n=a,a=""):"/"!==a.charAt(a.length-1)&&(a+="/"),e(a,n)}}function S(e,a,n){var t=e._modulesNamespaceMap[n];return t}function k(e,a,n){var t=n?e.groupCollapsed:e.group;try{t.call(e,a)}catch(r){e.log(a)}}function j(e){try{e.groupEnd()}catch(a){e.log("—— log end ——")}}function E(){var e=new Date;return" @ "+C(e.getHours(),2)+":"+C(e.getMinutes(),2)+":"+C(e.getSeconds(),2)+"."+C(e.getMilliseconds(),3)}function C(e,a){return function(e,a){return new Array(a+1).join(e)}("0",a-e.toString().length)+e}var P={Store:i,install:_,version:"3.6.2",mapState:b,mapMutations:w,mapGetters:O,mapActions:x,createNamespacedHelpers:function(e){return{mapState:b.bind(null,e),mapGetters:O.bind(null,e),mapMutations:w.bind(null,e),mapActions:x.bind(null,e)}},createLogger:function(e){void 0===e&&(e={});var a=e.collapsed;void 0===a&&(a=!0);var n=e.filter;void 0===n&&(n=function(e,a,n){return!0});var t=e.transformer;void 0===t&&(t=function(e){return e});var u=e.mutationTransformer;void 0===u&&(u=function(e){return e});var l=e.actionFilter;void 0===l&&(l=function(e,a){return!0});var p=e.actionTransformer;void 0===p&&(p=function(e){return e});var v=e.logMutations;void 0===v&&(v=!0);var o=e.logActions;void 0===o&&(o=!0);var m=e.logger;return void 0===m&&(m=console),function(e){var i=r(e.state);"undefined"!==typeof m&&(v&&e.subscribe((function(e,l){var p=r(l);if(n(e,i,p)){var v=E(),o=u(e),s="mutation "+e.type+v;k(m,s,a),m.log("%c prev state","color: #9E9E9E; font-weight: bold",t(i)),m.log("%c mutation","color: #03A9F4; font-weight: bold",o),m.log("%c next state","color: #4CAF50; font-weight: bold",t(p)),j(m)}i=p})),o&&e.subscribeAction((function(e,n){if(l(e,n)){var t=E(),r=p(e),u="action "+e.type+t;k(m,u,a),m.log("%c action","color: #03A9F4; font-weight: bold",r),j(m)}})))}}};e.exports=P}).call(this,n("c8ba"))},"278c":function(e,a,n){var t=n("c135"),r=n("9b42"),u=n("6613"),l=n("c240");e.exports=function(e,a){return t(e)||r(e,a)||u(e,a)||l()},e.exports.__esModule=!0,e.exports["default"]=e.exports},"2eee":function(e,a,n){var t=n("7ec2")();e.exports=t},"37dc":function(e,a,n){"use strict";(function(e,t){var r=n("4ea4");Object.defineProperty(a,"__esModule",{value:!0}),a.LOCALE_ZH_HANT=a.LOCALE_ZH_HANS=a.LOCALE_FR=a.LOCALE_ES=a.LOCALE_EN=a.I18n=a.Formatter=void 0,a.compileI18nJsonStr=function(e,a){var n=a.locale,t=a.locales,r=a.delimiters;if(!S(e,r))return e;A||(A=new s);var u=[];Object.keys(t).forEach((function(e){e!==n&&u.push({locale:e,values:t[e]})})),u.unshift({locale:n,values:t[n]});try{return JSON.stringify(j(JSON.parse(e),u,r),null,2)}catch(l){}return e},a.hasI18nJson=function e(a,n){A||(A=new s);return E(a,(function(a,t){var r=a[t];return $(r)?!!S(r,n)||void 0:e(r,n)}))},a.initVueI18n=function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,t=arguments.length>3?arguments[3]:void 0;if("string"!==typeof e){var r=[a,e];e=r[0],a=r[1]}"string"!==typeof e&&(e=x());"string"!==typeof n&&(n="undefined"!==typeof __uniConfig&&__uniConfig.fallbackLocale||"en");var u=new w({locale:e,fallbackLocale:n,messages:a,watcher:t}),l=function(e,a){if("function"!==typeof getApp)l=function(e,a){return u.t(e,a)};else{var n=!1;l=function(e,a){var t=getApp().$vm;return t&&(t.$locale,n||(n=!0,O(t,u))),u.t(e,a)}}return l(e,a)};return{i18n:u,f:function(e,a,n){return u.f(e,a,n)},t:function(e,a){return l(e,a)},add:function(e,a){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return u.add(e,a,n)},watch:function(e){return u.watchLocale(e)},getLocale:function(){return u.getLocale()},setLocale:function(e){return u.setLocale(e)}}},a.isI18nStr=S,a.isString=void 0,a.normalizeLocale=b,a.parseI18nJson=function e(a,n,t){A||(A=new s);return E(a,(function(a,r){var u=a[r];$(u)?S(u,t)&&(a[r]=k(u,n,t)):e(u,n,t)})),a},a.resolveLocale=function(e){return function(a){return a?(a=b(a)||a,function(e){var a=[],n=e.split("-");while(n.length)a.push(n.join("-")),n.pop();return a}(a).find((function(a){return e.indexOf(a)>-1}))):a}};var u=r(n("278c")),l=r(n("970b")),p=r(n("5bc3")),v=r(n("7037")),o=Array.isArray,m=function(e){return null!==e&&"object"===(0,v.default)(e)},i=["{","}"],s=function(){function e(){(0,l.default)(this,e),this._caches=Object.create(null)}return(0,p.default)(e,[{key:"interpolate",value:function(e,a){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i;if(!a)return[e];var t=this._caches[e];return t||(t=d(e,n),this._caches[e]=t),h(t,a)}}]),e}();a.Formatter=s;var c=/^(?:\d)+/,f=/^(?:\w)+/;function d(e,a){var n=(0,u.default)(a,2),t=n[0],r=n[1],l=[],p=0,v="";while(p-1?"zh-Hans":e.indexOf("-hant")>-1||function(e,a){return!!a.find((function(a){return-1!==e.indexOf(a)}))}(e,["-tw","-hk","-mo","-cht"])?"zh-Hant":"zh-Hans";var n=function(e,a){return a.find((function(a){return 0===e.indexOf(a)}))}(e,["en","fr","es"]);return n||void 0}}var w=function(){function e(a){var n=a.locale,t=a.fallbackLocale,r=a.messages,u=a.watcher,p=a.formater;(0,l.default)(this,e),this.locale="en",this.fallbackLocale="en",this.message={},this.messages={},this.watchers=[],t&&(this.fallbackLocale=t),this.formater=p||_,this.messages=r||{},this.setLocale(n||"en"),u&&this.watchLocale(u)}return(0,p.default)(e,[{key:"setLocale",value:function(e){var a=this,n=this.locale;this.locale=b(e,this.messages)||this.fallbackLocale,this.messages[this.locale]||(this.messages[this.locale]={}),this.message=this.messages[this.locale],n!==this.locale&&this.watchers.forEach((function(e){e(a.locale,n)}))}},{key:"getLocale",value:function(){return this.locale}},{key:"watchLocale",value:function(e){var a=this,n=this.watchers.push(e)-1;return function(){a.watchers.splice(n,1)}}},{key:"add",value:function(e,a){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],t=this.messages[e];t?n?Object.assign(t,a):Object.keys(a).forEach((function(e){y(t,e)||(t[e]=a[e])})):this.messages[e]=a}},{key:"f",value:function(e,a,n){return this.formater.interpolate(e,a,n).join("")}},{key:"t",value:function(e,a,n){var t=this.message;return"string"===typeof a?(a=b(a,this.messages),a&&(t=this.messages[a])):n=a,y(t,e)?this.formater.interpolate(t[e],n).join(""):(console.warn("Cannot translate the value of keypath ".concat(e,". Use the value of keypath as default.")),e)}}]),e}();function O(e,a){e.$watchLocale?e.$watchLocale((function(e){a.setLocale(e)})):e.$watch((function(){return e.$locale}),(function(e){a.setLocale(e)}))}function x(){return"undefined"!==typeof e&&e.getLocale?e.getLocale():"undefined"!==typeof t&&t.getLocale?t.getLocale():"en"}a.I18n=w;var A,$=function(e){return"string"===typeof e};function S(e,a){return e.indexOf(a[0])>-1}function k(e,a,n){return A.interpolate(e,a,n).join("")}function j(e,a,n){return E(e,(function(e,t){(function(e,a,n,t){var r=e[a];if($(r)){if(S(r,t)&&(e[a]=k(r,n[0].values,t),n.length>1)){var u=e[a+"Locales"]={};n.forEach((function(e){u[e.locale]=k(r,e.values,t)}))}}else j(r,n,t)})(e,t,a,n)})),e}function E(e,a){if(o(e)){for(var n=0;n>16&255):64===t?String.fromCharCode(a>>16&255,a>>8&255):String.fromCharCode(a>>16&255,a>>8&255,255&a);return r}:atob;var y=Object.prototype.toString,_=Object.prototype.hasOwnProperty;function b(e){return"function"===typeof e}function w(e){return"string"===typeof e}function O(e){return"[object Object]"===y.call(e)}function x(e,a){return _.call(e,a)}function A(){}function $(e){var a=Object.create(null);return function(n){var t=a[n];return t||(a[n]=e(n))}}var S=/-(\w)/g,k=$((function(e){return e.replace(S,(function(e,a){return a?a.toUpperCase():""}))}));function j(e){var a={};return O(e)&&Object.keys(e).sort().forEach((function(n){a[n]=e[n]})),Object.keys(a)?a:e}var E=["invoke","success","fail","complete","returnValue"],C={},P={};function M(e,a){Object.keys(a).forEach((function(n){-1!==E.indexOf(n)&&b(a[n])&&(e[n]=function(e,a){var n=a?e?e.concat(a):Array.isArray(a)?a:[a]:e;return n?function(e){for(var a=[],n=0;n1&&void 0!==arguments[1]?arguments[1]:{};return["success","fail","complete"].forEach((function(n){if(Array.isArray(e[n])){var t=a[n];a[n]=function(a){I(e[n],a).then((function(e){return b(t)&&t(e)||e}))}}})),a}function N(e,a){var n=[];Array.isArray(C.returnValue)&&n.push.apply(n,(0,o.default)(C.returnValue));var t=P[e];return t&&Array.isArray(t.returnValue)&&n.push.apply(n,(0,o.default)(t.returnValue)),n.forEach((function(e){a=e(a)||a})),a}function F(e){var a=Object.create(null);Object.keys(C).forEach((function(e){"returnValue"!==e&&(a[e]=C[e].slice())}));var n=P[e];return n&&Object.keys(n).forEach((function(e){"returnValue"!==e&&(a[e]=(a[e]||[]).concat(n[e]))})),a}function U(e,a,n){for(var t=arguments.length,r=new Array(t>3?t-3:0),u=3;u0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length,r=new Array(t>1?t-1:0),u=1;u-1?"zh-Hans":e.indexOf("-hant")>-1||function(e,a){return!!a.find((function(a){return-1!==e.indexOf(a)}))}(e,["-tw","-hk","-mo","-cht"])?"zh-Hant":"zh-Hans";var n=function(e,a){return a.find((function(a){return 0===e.indexOf(a)}))}(e,["en","fr","es"]);return n||void 0}}function le(){if(b(getApp)){var a=getApp({allowDefault:!0});if(a&&a.$vm)return a.$vm.$locale}return ue(e.getSystemInfoSync().language)||"en"}var pe=[];"undefined"!==typeof t&&(t.getLocale=le);var ve={promiseInterceptor:V},oe=Object.freeze({__proto__:null,upx2px:function(a,n){if(0===Q&&function(){var a=e.getSystemInfoSync(),n=a.platform,t=a.pixelRatio,r=a.windowWidth;Q=r,ee=t,Y="ios"===n}(),a=Number(a),0===a)return 0;var t=a/750*(n||Q);return t<0&&(t=-t),t=Math.floor(t+1e-4),0===t&&(t=1!==ee&&Y?.5:1),a<0?-t:t},getLocale:le,setLocale:function(e){var a=!!b(getApp)&&getApp();if(!a)return!1;var n=a.$vm.$locale;return n!==e&&(a.$vm.$locale=e,pe.forEach((function(a){return a({locale:e})})),!0)},onLocaleChange:function(e){-1===pe.indexOf(e)&&pe.push(e)},addInterceptor:function(e,a){"string"===typeof e&&O(a)?M(P[e]||(P[e]={}),a):O(e)&&M(C,e)},removeInterceptor:function(e,a){"string"===typeof e?O(a)?L(P[e],a):delete P[e]:O(e)&&L(C,e)},interceptors:ve});var me,ie={name:function(e){return"back"===e.exists&&e.delta?"navigateBack":"redirectTo"},args:function(e){if("back"===e.exists&&e.url){var a=function(e){var a=getCurrentPages(),n=a.length;while(n--){var t=a[n];if(t.$page&&t.$page.fullPath===e)return n}return-1}(e.url);if(-1!==a){var n=getCurrentPages().length-1-a;n>0&&(e.delta=n)}}}},se={args:function(e){var a=parseInt(e.current);if(!isNaN(a)){var n=e.urls;if(Array.isArray(n)){var t=n.length;if(t)return a<0?a=0:a>=t&&(a=t-1),a>0?(e.current=n[a],e.urls=n.filter((function(e,t){return!(t2&&void 0!==arguments[2]?arguments[2]:{},t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(O(a)){var u=!0===r?a:{};for(var l in b(n)&&(n=n(a,u)||{}),a)if(x(n,l)){var p=n[l];b(p)&&(p=p(a[l],a,u)),p?w(p)?u[p]=a[l]:O(p)&&(u[p.name?p.name:l]=p.value):console.warn("The '".concat(e,"' method of platform '微信小程序' does not support option '").concat(l,"'"))}else-1!==$e.indexOf(l)?b(a[l])&&(u[l]=Se(e,a[l],t)):r||(u[l]=a[l]);return u}return b(a)&&(a=Se(e,a,t)),a}function je(e,a,n){var t=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return b(Ae.returnValue)&&(a=Ae.returnValue(e,a)),ke(e,a,n,{},t)}function Ee(a,n){if(x(Ae,a)){var t=Ae[a];return t?function(n,r){var u=t;b(t)&&(u=t(n)),n=ke(a,n,u.args,u.returnValue);var l=[n];"undefined"!==typeof r&&l.push(r),b(u.name)?a=u.name(n):w(u.name)&&(a=u.name);var p=e[a].apply(e,l);return K(a)?je(a,p,u.returnValue,W(a)):p}:function(){console.error("Platform '微信小程序' does not support '".concat(a,"'."))}}return n}var Ce=Object.create(null);["onTabBarMidButtonTap","subscribePush","unsubscribePush","onPush","offPush","share"].forEach((function(e){Ce[e]=function(e){return function(a){var n=a.fail,t=a.complete,r={errMsg:"".concat(e,":fail method '").concat(e,"' not supported")};b(n)&&n(r),b(t)&&t(r)}}(e)}));var Pe={oauth:["weixin"],share:["weixin"],payment:["wxpay"],push:["weixin"]};var Me=Object.freeze({__proto__:null,getProvider:function(e){var a=e.service,n=e.success,t=e.fail,r=e.complete,u=!1;Pe[a]?(u={errMsg:"getProvider:ok",service:a,provider:Pe[a]},b(n)&&n(u)):(u={errMsg:"getProvider:fail service not found"},b(t)&&t(u)),b(r)&&r(u)}}),Le=function(){var e;return function(){return e||(e=new s.default),e}}();function Te(e,a,n){return e[a].apply(e,n)}var De,Ie,Re,Ne=Object.freeze({__proto__:null,$on:function(){return Te(Le(),"$on",Array.prototype.slice.call(arguments))},$off:function(){return Te(Le(),"$off",Array.prototype.slice.call(arguments))},$once:function(){return Te(Le(),"$once",Array.prototype.slice.call(arguments))},$emit:function(){return Te(Le(),"$emit",Array.prototype.slice.call(arguments))}});function Fe(e){return function(){try{return e.apply(e,arguments)}catch(a){console.error(a)}}}function Ue(e){try{return JSON.parse(e)}catch(a){}return e}var Ve=[];function Be(e,a){Ve.forEach((function(n){n(e,a)})),Ve.length=0}var He=[],Ge=e.getAppBaseInfo&&e.getAppBaseInfo();Ge||(Ge=e.getSystemInfoSync());var ze=Ge?Ge.host:null,qe=ze&&"SAAASDK"===ze.env?e.miniapp.shareVideoMessage:e.shareVideoMessage,We=Object.freeze({__proto__:null,shareVideoMessage:qe,getPushClientId:function(e){O(e)||(e={});var a=function(e){var a={};for(var n in e){var t=e[n];b(t)&&(a[n]=Fe(t),delete e[n])}return a}(e),n=a.success,t=a.fail,r=a.complete,u=b(n),l=b(t),p=b(r);Promise.resolve().then((function(){"undefined"===typeof Re&&(Re=!1,De="",Ie="uniPush is not enabled"),Ve.push((function(e,a){var v;e?(v={errMsg:"getPushClientId:ok",cid:e},u&&n(v)):(v={errMsg:"getPushClientId:fail"+(a?" "+a:"")},l&&t(v)),p&&r(v)})),"undefined"!==typeof De&&Be(De,Ie)}))},onPushMessage:function(e){-1===He.indexOf(e)&&He.push(e)},offPushMessage:function(e){if(e){var a=He.indexOf(e);a>-1&&He.splice(a,1)}else He.length=0},invokePushCallback:function(e){if("enabled"===e.type)Re=!0;else if("clientId"===e.type)De=e.cid,Ie=e.errMsg,Be(De,e.errMsg);else if("pushMsg"===e.type)for(var a={type:"receive",data:Ue(e.message)},n=0;n=0;u--){var l=r[u];if(l.$scope._$vueId===n)return l}for(var p=r.length-1;p>=0;p--)if(t=e(r[p],n),t)return t}(this.$vm,t)),a||(a=this.$vm),r.parent=a}function ea(e){return Object.defineProperty(e,"__v_isMPComponent",{configurable:!0,enumerable:!1,value:!0}),e}function aa(e){return function(e){return null!==e&&"object"===(0,m.default)(e)}(e)&&Object.isExtensible(e)&&Object.defineProperty(e,"__ob__",{configurable:!0,enumerable:!1,value:(0,p.default)({},"__v_skip",!0)}),e}var na=/_(.*)_worklet_factory_/;var ta=Page,ra=Component,ua=/:/g,la=$((function(e){return k(e.replace(ua,"-"))}));function pa(e){var a=e.triggerEvent,n=function(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:{};return va("onLoad",e),ta(e)},Page.after=ta.after,Component=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return va("created",e),ra(e)});function oa(e,a,n){a.forEach((function(a){(function e(a,n){if(!n)return!0;if(s.default.options&&Array.isArray(s.default.options[a]))return!0;if(n=n.default||n,b(n))return!!b(n.extendOptions[a])||!!(n.super&&n.super.options&&Array.isArray(n.super.options[a]));if(b(n[a])||Array.isArray(n[a]))return!0;var t=n.mixins;return Array.isArray(t)?!!t.find((function(n){return e(a,n)})):void 0})(a,n)&&(e[a]=function(e){return this.$vm&&this.$vm.__call_hook(a,e)})}))}function ma(e,a){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];ia(a).forEach((function(a){return sa(e,a,n)}))}function ia(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e&&Object.keys(e).forEach((function(n){0===n.indexOf("on")&&b(e[n])&&a.push(n)})),a}function sa(e,a,n){-1!==n.indexOf(a)||x(e,a)||(e[a]=function(e){return this.$vm&&this.$vm.__call_hook(a,e)})}function ca(e,a){var n;return a=a.default||a,n=b(a)?a:e.extend(a),a=n.options,[n,a]}function fa(e,a){if(Array.isArray(a)&&a.length){var n=Object.create(null);a.forEach((function(e){n[e]=!0})),e.$scopedSlots=e.$slots=n}}function da(e,a){e=(e||"").split(",");var n=e.length;1===n?a._$vueId=e[0]:2===n&&(a._$vueId=e[0],a._$vuePid=e[1])}function ha(e,a){var n=e.data||{},t=e.methods||{};if("function"===typeof n)try{n=n.call(a)}catch(r){Object({VUE_APP_DARK_MODE:"false",VUE_APP_NAME:"傲云惠购",VUE_APP_PLATFORM:"mp-weixin",NODE_ENV:"production",BASE_URL:"/"}).VUE_APP_DEBUG&&console.warn("根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。",n)}else try{n=JSON.parse(JSON.stringify(n))}catch(r){}return O(n)||(n={}),Object.keys(t).forEach((function(e){-1!==a.__lifecycle_hooks__.indexOf(e)||x(n,e)||(n[e]=t[e])})),n}var ga=[String,Number,Boolean,Object,Array,null];function ya(e){return function(a,n){this.$vm&&(this.$vm[e]=a)}}function _a(e,a){var n=e.behaviors,t=e.extends,r=e.mixins,u=e.props;u||(e.props=u=[]);var l=[];return Array.isArray(n)&&n.forEach((function(e){l.push(e.replace("uni://","wx".concat("://"))),"uni://form-field"===e&&(Array.isArray(u)?(u.push("name"),u.push("value")):(u.name={type:String,default:""},u.value={type:[String,Number,Boolean,Array,Object,Date],default:""}))})),O(t)&&t.props&&l.push(a({properties:wa(t.props,!0)})),Array.isArray(r)&&r.forEach((function(e){O(e)&&e.props&&l.push(a({properties:wa(e.props,!0)}))})),l}function ba(e,a,n,t){return Array.isArray(a)&&1===a.length?a[0]:a}function wa(e){var a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>3?arguments[3]:void 0,t={};return a||(t.vueId={type:String,value:""},n.virtualHost&&(t.virtualHostStyle={type:null,value:""},t.virtualHostClass={type:null,value:""}),t.scopedSlotsCompiler={type:String,value:""},t.vueSlots={type:null,value:[],observer:function(e,a){var n=Object.create(null);e.forEach((function(e){n[e]=!0})),this.setData({$slots:n})}}),Array.isArray(e)?e.forEach((function(e){t[e]={type:null,observer:ya(e)}})):O(e)&&Object.keys(e).forEach((function(a){var n=e[a];if(O(n)){var r=n.default;b(r)&&(r=r()),n.type=ba(0,n.type),t[a]={type:-1!==ga.indexOf(n.type)?n.type:null,value:r,observer:ya(a)}}else{var u=ba(0,n);t[a]={type:-1!==ga.indexOf(u)?u:null,observer:ya(a)}}})),t}function Oa(e,a,n,t){var r={};return Array.isArray(a)&&a.length&&a.forEach((function(a,u){"string"===typeof a?a?"$event"===a?r["$"+u]=n:"arguments"===a?r["$"+u]=n.detail&&n.detail.__args__||t:0===a.indexOf("$event.")?r["$"+u]=e.__get_value(a.replace("$event.",""),n):r["$"+u]=e.__get_value(a):r["$"+u]=e:r["$"+u]=function(e,a){var n=e;return a.forEach((function(a){var t=a[0],r=a[2];if(t||"undefined"!==typeof r){var u,l=a[1],p=a[3];Number.isInteger(t)?u=t:t?"string"===typeof t&&t&&(u=0===t.indexOf("#s#")?t.substr(3):e.__get_value(t,n)):u=n,Number.isInteger(u)?n=r:l?Array.isArray(u)?n=u.find((function(a){return e.__get_value(l,a)===r})):O(u)?n=Object.keys(u).find((function(a){return e.__get_value(l,u[a])===r})):console.error("v-for 暂不支持循环数据:",u):n=u[r],p&&(n=e.__get_value(p,n))}})),n}(e,a)})),r}function xa(e){for(var a={},n=1;n2&&void 0!==arguments[2]?arguments[2]:[],t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],r=arguments.length>4?arguments[4]:void 0,u=arguments.length>5?arguments[5]:void 0,l=!1,p=O(a.detail)&&a.detail.__args__||[a.detail];if(r&&(l=a.currentTarget&&a.currentTarget.dataset&&"wx"===a.currentTarget.dataset.comType,!n.length))return l?[a]:p;var v=Oa(e,t,a,p),o=[];return n.forEach((function(e){"$event"===e?"__set_model"!==u||r?r&&!l?o.push(p[0]):o.push(a):o.push(a.target.value):Array.isArray(e)&&"o"===e[0]?o.push(xa(e)):"string"===typeof e&&x(v,e)?o.push(v[e]):o.push(e)})),o}function $a(e){var a=this;e=function(e){try{e.mp=JSON.parse(JSON.stringify(e))}catch(a){}return e.stopPropagation=A,e.preventDefault=A,e.target=e.target||{},x(e,"detail")||(e.detail={}),x(e,"markerId")&&(e.detail="object"===(0,m.default)(e.detail)?e.detail:{},e.detail.markerId=e.markerId),O(e.detail)&&(e.target=Object.assign({},e.target,e.detail)),e}(e);var n=(e.currentTarget||e.target).dataset;if(!n)return console.warn("事件信息不存在");var t=n.eventOpts||n["event-opts"];if(!t)return console.warn("事件信息不存在");var r=e.type,u=[];return t.forEach((function(n){var t=n[0],l=n[1],p="^"===t.charAt(0);t=p?t.slice(1):t;var v="~"===t.charAt(0);t=v?t.slice(1):t,l&&function(e,a){return e===a||"regionchange"===a&&("begin"===e||"end"===e)}(r,t)&&l.forEach((function(n){var t=n[0];if(t){var r=a.$vm;if(r.$options.generic&&(r=function(e){var a=e.$parent;while(a&&a.$parent&&(a.$options.generic||a.$parent.$options.generic||a.$scope._$vuePid))a=a.$parent;return a&&a.$parent}(r)||r),"$emit"===t)return void r.$emit.apply(r,Aa(a.$vm,e,n[1],n[2],p,t));var l=r[t];if(!b(l)){var o="page"===a.$vm.mpType?"Page":"Component",m=a.route||a.is;throw new Error("".concat(o,' "').concat(m,'" does not have a method "').concat(t,'"'))}if(v){if(l.once)return;l.once=!0}var i=Aa(a.$vm,e,n[1],n[2],p,t);i=Array.isArray(i)?i:[],/=\s*\S+\.eventParams\s*\|\|\s*\S+\[['"]event-params['"]\]/.test(l.toString())&&(i=i.concat([,,,,,,,,,,e])),u.push(l.apply(r,i))}}))})),"input"===r&&1===u.length&&"undefined"!==typeof u[0]?u[0]:void 0}var Sa={},ka=[];var ja=["onShow","onHide","onError","onPageNotFound","onThemeChange","onUnhandledRejection"];function Ea(){s.default.prototype.getOpenerEventChannel=function(){return this.$scope.getOpenerEventChannel()};var e=s.default.prototype.__call_hook;s.default.prototype.__call_hook=function(a,n){return"onLoad"===a&&n&&n.__id__&&(this.__eventChannel__=function(e){if(e){var a=Sa[e];return delete Sa[e],a}return ka.shift()}(n.__id__),delete n.__id__),e.call(this,a,n)}}function Ca(a,n){var t=n.mocks,r=n.initRefs;Ea(),function(){var e={},a={};s.default.prototype.$hasScopedSlotsParams=function(n){var t=e[n];return t||(a[n]=this,this.$on("hook:destroyed",(function(){delete a[n]}))),t},s.default.prototype.$getScopedSlotsParams=function(n,t,r){var u=e[n];if(u){var l=u[t]||{};return r?l[r]:l}a[n]=this,this.$on("hook:destroyed",(function(){delete a[n]}))},s.default.prototype.$setScopedSlotsParams=function(n,t){var r=this.$options.propsData.vueId;if(r){var u=r.split(",")[0],l=e[u]=e[u]||{};l[n]=t,a[u]&&a[u].$forceUpdate()}},s.default.mixin({destroyed:function(){var n=this.$options.propsData,t=n&&n.vueId;t&&(delete e[t],delete a[t])}})}(),a.$options.store&&(s.default.prototype.$store=a.$options.store),function(e){e.prototype.uniIDHasRole=function(e){var a=g(),n=a.role;return n.indexOf(e)>-1},e.prototype.uniIDHasPermission=function(e){var a=g(),n=a.permission;return this.uniIDHasRole("admin")||n.indexOf(e)>-1},e.prototype.uniIDTokenValid=function(){var e=g(),a=e.tokenExpired;return a>Date.now()}}(s.default),s.default.prototype.mpHost="mp-weixin",s.default.mixin({beforeCreate:function(){if(this.$options.mpType){if(this.mpType=this.$options.mpType,this.$mp=(0,p.default)({data:{}},this.mpType,this.$options.mpInstance),this.$scope=this.$options.mpInstance,delete this.$options.mpType,delete this.$options.mpInstance,"page"===this.mpType&&"function"===typeof getApp){var e=getApp();e.$vm&&e.$vm.$i18n&&(this._i18n=e.$vm.$i18n)}"app"!==this.mpType&&(r(this),function(e,a){var n=e.$mp[e.mpType];a.forEach((function(a){x(n,a)&&(e[a]=n[a])}))}(this,t))}}});var u={onLaunch:function(n){this.$vm||(e.canIUse&&!e.canIUse("nextTick")&&console.error("当前微信基础库版本过低,请将 微信开发者工具-详情-项目设置-调试基础库版本 更换为`2.3.0`以上"),this.$vm=a,this.$vm.$mp={app:this},this.$vm.$scope=this,this.$vm.globalData=this.globalData,this.$vm._isMounted=!0,this.$vm.__call_hook("mounted",n),this.$vm.__call_hook("onLaunch",n))}};u.globalData=a.$options.globalData||{};var l=a.$options.methods;return l&&Object.keys(l).forEach((function(e){u[e]=l[e]})),function(e,a,n){var t=e.observable({locale:n||te.getLocale()}),r=[];a.$watchLocale=function(e){r.push(e)},Object.defineProperty(a,"$locale",{get:function(){return t.locale},set:function(e){t.locale=e,r.forEach((function(a){return a(e)}))}})}(s.default,a,ue(e.getSystemInfoSync().language)||"en"),oa(u,ja),ma(u,a.$options),u}function Pa(e){return Ca(e,{mocks:Ke,initRefs:Ye})}function Ma(e){return App(Pa(e)),e}var La=/[!'()*]/g,Ta=function(e){return"%"+e.charCodeAt(0).toString(16)},Da=/%2C/g,Ia=function(e){return encodeURIComponent(e).replace(La,Ta).replace(Da,",")};function Ra(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ia,n=e?Object.keys(e).map((function(n){var t=e[n];if(void 0===t)return"";if(null===t)return a(n);if(Array.isArray(t)){var r=[];return t.forEach((function(e){void 0!==e&&(null===e?r.push(a(n)):r.push(a(n)+"="+a(e)))})),r.join("&")}return a(n)+"="+a(t)})).filter((function(e){return e.length>0})).join("&"):null;return n?"?".concat(n):""}function Na(e,a){return function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=a.isPage,t=a.initRelation,r=arguments.length>2?arguments[2]:void 0,u=ca(s.default,e),p=(0,l.default)(u,2),v=p[0],o=p[1],m=f({multipleSlots:!0,addGlobalClass:!0},o.options||{});o["mp-weixin"]&&o["mp-weixin"].options&&Object.assign(m,o["mp-weixin"].options);var i={options:m,data:ha(o,s.default.prototype),behaviors:_a(o,Je),properties:wa(o.props,!1,o.__file,m),lifetimes:{attached:function(){var e=this.properties,a={mpType:n.call(this)?"page":"component",mpInstance:this,propsData:e};da(e.vueId,this),t.call(this,{vuePid:this._$vuePid,vueOptions:a}),this.$vm=new v(a),fa(this.$vm,e.vueSlots),this.$vm.$mount()},ready:function(){this.$vm&&(this.$vm._isMounted=!0,this.$vm.__call_hook("mounted"),this.$vm.__call_hook("onReady"))},detached:function(){this.$vm&&this.$vm.$destroy()}},pageLifetimes:{show:function(e){this.$vm&&this.$vm.__call_hook("onPageShow",e)},hide:function(){this.$vm&&this.$vm.__call_hook("onPageHide")},resize:function(e){this.$vm&&this.$vm.__call_hook("onPageResize",e)}},methods:{__l:Qe,__e:$a}};return o.externalClasses&&(i.externalClasses=o.externalClasses),Array.isArray(o.wxsCallMethods)&&o.wxsCallMethods.forEach((function(e){i.methods[e]=function(a){return this.$vm[e](a)}})),r?[i,o,v]:n?i:[i,v]}(e,{isPage:Xe,initRelation:Ze},a)}var Fa=["onShow","onHide","onUnload"];function Ua(e){var a=Na(e,!0),n=(0,l.default)(a,2),t=n[0],r=n[1];return oa(t.methods,Fa,r),t.methods.onLoad=function(e){this.options=e;var a=Object.assign({},e);delete a.__id__,this.$page={fullPath:"/"+(this.route||this.is)+Ra(a)},this.$vm.$mp.query=e,this.$vm.__call_hook("onLoad",e)},ma(t.methods,e,["onReady"]),function(e,a){a&&Object.keys(a).forEach((function(n){var t=n.match(na);if(t){var r=t[1];e[n]=a[n],e[r]=a[r]}}))}(t.methods,r.methods),t}function Va(e){return Component(function(e){return Ua(e)}(e))}function Ba(e){return Component(Na(e))}function Ha(a){var n=Pa(a),t=getApp({allowDefault:!0});a.$scope=t;var r=t.globalData;if(r&&Object.keys(n.globalData).forEach((function(e){x(r,e)||(r[e]=n.globalData[e])})),Object.keys(n).forEach((function(e){x(t,e)||(t[e]=n[e])})),b(n.onShow)&&e.onAppShow&&e.onAppShow((function(){for(var e=arguments.length,n=new Array(e),t=0;te.length)&&(a=e.length);for(var n=0,t=new Array(a);n=0&&Math.floor(a)===a&&isFinite(e)}function i(e){return r(e)&&"function"===typeof e.then&&"function"===typeof e.catch}function s(e){return null==e?"":Array.isArray(e)||o(e)&&e.toString===v?JSON.stringify(e,null,2):String(e)}function c(e){var a=parseFloat(e);return isNaN(a)?e:a}function f(e,a){for(var n=Object.create(null),t=e.split(","),r=0;r-1)return e.splice(n,1)}}var g=Object.prototype.hasOwnProperty;function y(e,a){return g.call(e,a)}function _(e){var a=Object.create(null);return function(n){var t=a[n];return t||(a[n]=e(n))}}var b=/-(\w)/g,w=_((function(e){return e.replace(b,(function(e,a){return a?a.toUpperCase():""}))})),O=_((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),x=/\B([A-Z])/g,A=_((function(e){return e.replace(x,"-$1").toLowerCase()}));var $=Function.prototype.bind?function(e,a){return e.bind(a)}:function(e,a){function n(n){var t=arguments.length;return t?t>1?e.apply(a,arguments):e.call(a,n):e.call(a)}return n._length=e.length,n};function S(e,a){a=a||0;var n=e.length-a,t=new Array(n);while(n--)t[n]=e[n+a];return t}function k(e,a){for(var n in a)e[n]=a[n];return e}function j(e){for(var a={},n=0;n0),X=(W&&W.indexOf("android"),W&&/iphone|ipad|ipod|ios/.test(W)||"ios"===q),Z=(W&&/chrome\/\d+/.test(W),W&&/phantomjs/.test(W),W&&W.match(/firefox\/(\d+)/),{}.watch);if(G)try{var Y={};Object.defineProperty(Y,"passive",{get:function(){}}),window.addEventListener("test-passive",null,Y)}catch(Rn){}var Q=function(){return void 0===B&&(B=!G&&!z&&"undefined"!==typeof e&&(e["process"]&&"server"===e["process"].env.VUE_ENV)),B},ee=G&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function ae(e){return"function"===typeof e&&/native code/.test(e.toString())}var ne,te="undefined"!==typeof Symbol&&ae(Symbol)&&"undefined"!==typeof Reflect&&ae(Reflect.ownKeys);ne="undefined"!==typeof Set&&ae(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var re=E,ue=0,le=function(){this.id=ue++,this.subs=[]};function pe(e){le.SharedObject.targetStack.push(e),le.SharedObject.target=e,le.target=e}function ve(){le.SharedObject.targetStack.pop(),le.SharedObject.target=le.SharedObject.targetStack[le.SharedObject.targetStack.length-1],le.target=le.SharedObject.target}le.prototype.addSub=function(e){this.subs.push(e)},le.prototype.removeSub=function(e){h(this.subs,e)},le.prototype.depend=function(){le.SharedObject.target&&le.SharedObject.target.addDep(this)},le.prototype.notify=function(){var e=this.subs.slice();for(var a=0,n=e.length;a-1)if(u&&!y(r,"default"))l=!1;else if(""===l||l===A(e)){var v=Ie(String,r.type);(v<0||p0&&(v=e(v,(n||"")+"_"+p),ta(v[0])&&ta(m)&&(i[o]=se(m.text+v[0].text),v.shift()),i.push.apply(i,v)):l(v)?ta(m)?i[o]=se(m.text+v):""!==v&&i.push(se(v)):ta(v)&&ta(m)?i[o]=se(m.text+v.text):(u(a._isVList)&&r(v.tag)&&t(v.key)&&r(n)&&(v.key="__vlist"+n+"_"+p+"__"),i.push(v)));return i}(e):void 0}function ta(e){return r(e)&&r(e.text)&&function(e){return!1===e}(e.isComment)}function ra(e){var a=e.$options.provide;a&&(e._provided="function"===typeof a?a.call(e):a)}function ua(e){var a=la(e.$options.inject,e);a&&(ge(!1),Object.keys(a).forEach((function(n){we(e,n,a[n])})),ge(!0))}function la(e,a){if(e){for(var n=Object.create(null),t=te?Reflect.ownKeys(e):Object.keys(e),r=0;r0,l=e?!!e.$stable:!u,p=e&&e.$key;if(e){if(e._normalized)return e._normalized;if(l&&t&&t!==n&&p===t.$key&&!u&&!t.$hasNormal)return t;for(var v in r={},e)e[v]&&"$"!==v[0]&&(r[v]=ma(a,v,e[v]))}else r={};for(var o in a)o in r||(r[o]=ia(a,o));return e&&Object.isExtensible(e)&&(e._normalized=r),U(r,"$stable",l),U(r,"$key",p),U(r,"$hasNormal",u),r}function ma(e,a,n){var t=function(){var e=arguments.length?n.apply(null,arguments):n({});return e=e&&"object"===typeof e&&!Array.isArray(e)?[e]:na(e),e&&(0===e.length||1===e.length&&e[0].isComment)?void 0:e};return n.proxy&&Object.defineProperty(e,a,{get:t,enumerable:!0,configurable:!0}),t}function ia(e,a){return function(){return e[a]}}function sa(e,a){var n,t,u,l,v;if(Array.isArray(e)||"string"===typeof e)for(n=new Array(e.length),t=0,u=e.length;tdocument.createEvent("Event").timeStamp&&(Qa=function(){return en.now()})}function an(){var e,a;for(Qa(),Za=!0,Wa.sort((function(e,a){return e.id-a.id})),Ya=0;YaYa&&Wa[n].id>e.id)n--;Wa.splice(n+1,0,e)}else Wa.push(e);Xa||(Xa=!0,Je(an))}}(this)},tn.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||p(e)||this.deep){var a=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,a)}catch(Rn){Re(Rn,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,a)}}},tn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},tn.prototype.depend=function(){var e=this.deps.length;while(e--)this.deps[e].depend()},tn.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||h(this.vm._watchers,this);var e=this.deps.length;while(e--)this.deps[e].removeSub(this);this.active=!1}};var rn={enumerable:!0,configurable:!0,get:E,set:E};function un(e,a,n){rn.get=function(){return this[a][n]},rn.set=function(e){this[a][n]=e},Object.defineProperty(e,n,rn)}function ln(e){e._watchers=[];var a=e.$options;a.props&&function(e,a){var n=e.$options.propsData||{},t=e._props={},r=e.$options._propKeys=[],u=!e.$parent;u||ge(!1);var l=function(u){r.push(u);var l=Le(u,a,n,e);we(t,u,l),u in e||un(e,"_props",u)};for(var p in a)l(p);ge(!0)}(e,a.props),a.methods&&function(e,a){e.$options.props;for(var n in a)e[n]="function"!==typeof a[n]?E:$(a[n],e)}(e,a.methods),a.data?function(e){var a=e.$options.data;a=e._data="function"===typeof a?function(e,a){pe();try{return e.call(a,a)}catch(Rn){return Re(Rn,a,"data()"),{}}finally{ve()}}(a,e):a||{},o(a)||(a={});var n=Object.keys(a),t=e.$options.props,r=(e.$options.methods,n.length);while(r--){var u=n[r];0,t&&y(t,u)||F(u)||un(e,"_data",u)}be(a,!0)}(e):be(e._data={},!0),a.computed&&function(e,a){var n=e._computedWatchers=Object.create(null),t=Q();for(var r in a){var u=a[r],l="function"===typeof u?u:u.get;0,t||(n[r]=new tn(e,l||E,E,pn)),r in e||vn(e,r,u)}}(e,a.computed),a.watch&&a.watch!==Z&&function(e,a){for(var n in a){var t=a[n];if(Array.isArray(t))for(var r=0;r-1:"string"===typeof e?e.split(",").indexOf(a)>-1:!!function(e){return"[object RegExp]"===v.call(e)}(e)&&e.test(a)}function _n(e,a){var n=e.cache,t=e.keys,r=e._vnode;for(var u in n){var l=n[u];if(l){var p=gn(l.componentOptions);p&&!a(p)&&bn(n,u,t,r)}}}function bn(e,a,n,t){var r=e[a];!r||t&&r.tag===t.tag||r.componentInstance.$destroy(),e[a]=null,h(n,a)}(function(e){e.prototype._init=function(e){var a=this;a._uid=cn++,a._isVue=!0,e&&e._isComponent?function(e,a){var n=e.$options=Object.create(e.constructor.options),t=a._parentVnode;n.parent=a.parent,n._parentVnode=t;var r=t.componentOptions;n.propsData=r.propsData,n._parentListeners=r.listeners,n._renderChildren=r.children,n._componentTag=r.tag,a.render&&(n.render=a.render,n.staticRenderFns=a.staticRenderFns)}(a,e):a.$options=Pe(fn(a.constructor),e||{},a),a._renderProxy=a,a._self=a,function(e){var a=e.$options,n=a.parent;if(n&&!a.abstract){while(n.$options.abstract&&n.$parent)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(a),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var a=e.$options._parentListeners;a&&Ba(e,a)}(a),function(e){e._vnode=null,e._staticTrees=null;var a=e.$options,t=e.$vnode=a._parentVnode,r=t&&t.context;e.$slots=pa(a._renderChildren,r),e.$scopedSlots=n,e._c=function(a,n,t,r){return Ta(e,a,n,t,r,!1)},e.$createElement=function(a,n,t,r){return Ta(e,a,n,t,r,!0)};var u=t&&t.data;we(e,"$attrs",u&&u.attrs||n,null,!0),we(e,"$listeners",a._parentListeners||n,null,!0)}(a),qa(a,"beforeCreate"),!a._$fallback&&ua(a),ln(a),!a._$fallback&&ra(a),!a._$fallback&&qa(a,"created"),a.$options.el&&a.$mount(a.$options.el)}})(dn),function(e){var a={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(e.prototype,"$data",a),Object.defineProperty(e.prototype,"$props",n),e.prototype.$set=Oe,e.prototype.$delete=xe,e.prototype.$watch=function(e,a,n){if(o(a))return sn(this,e,a,n);n=n||{},n.user=!0;var t=new tn(this,e,a,n);if(n.immediate)try{a.call(this,t.value)}catch(r){Re(r,this,'callback for immediate watcher "'+t.expression+'"')}return function(){t.teardown()}}}(dn),function(e){var a=/^hook:/;e.prototype.$on=function(e,n){var t=this;if(Array.isArray(e))for(var r=0,u=e.length;r1?S(n):n;for(var t=S(arguments,1),r='event handler for "'+e+'"',u=0,l=n.length;uparseInt(this.max)&&bn(p,v[0],v,this._vnode)),a.data.keepAlive=!0}return a||e&&e[0]}},xn={KeepAlive:On};(function(e){var a={get:function(){return R}};Object.defineProperty(e,"config",a),e.util={warn:re,extend:k,mergeOptions:Pe,defineReactive:we},e.set=Oe,e.delete=xe,e.nextTick=Je,e.observable=function(e){return be(e),e},e.options=Object.create(null),D.forEach((function(a){e.options[a+"s"]=Object.create(null)})),e.options._base=e,k(e.options.components,xn),function(e){e.use=function(e){var a=this._installedPlugins||(this._installedPlugins=[]);if(a.indexOf(e)>-1)return this;var n=S(arguments,1);return n.unshift(this),"function"===typeof e.install?e.install.apply(e,n):"function"===typeof e&&e.apply(null,n),a.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=Pe(this.options,e),this}}(e),hn(e),function(e){D.forEach((function(a){e[a]=function(e,n){return n?("component"===a&&o(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===a&&"function"===typeof n&&(n={bind:n,update:n}),this.options[a+"s"][e]=n,n):this.options[a+"s"][e]}}))}(e)})(dn),Object.defineProperty(dn.prototype,"$isServer",{get:Q}),Object.defineProperty(dn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(dn,"FunctionalRenderContext",{value:ka}),dn.version="2.6.11";var An="[object Array]",$n="[object Object]";function Sn(e,a){var n={};return function e(a,n){if(a===n)return;var t=jn(a),r=jn(n);if(t==$n&&r==$n){if(Object.keys(a).length>=Object.keys(n).length)for(var u in n){var l=a[u];void 0===l?a[u]=null:e(l,n[u])}}else t==An&&r==An&&a.length>=n.length&&n.forEach((function(n,t){e(a[t],n)}))}(e,a),function e(a,n,t,r){if(a===n)return;var u=jn(a),l=jn(n);if(u==$n)if(l!=$n||Object.keys(a).length1&&(a[t[0].trim()]=t[1].trim())}})),a}));var Dn=["createSelectorQuery","createIntersectionObserver","selectAllComponents","selectComponent"];var In=["onLaunch","onShow","onHide","onUniNViewMessage","onPageNotFound","onThemeChange","onError","onUnhandledRejection","onInit","onLoad","onReady","onUnload","onPullDownRefresh","onReachBottom","onTabItemTap","onAddToFavorites","onShareTimeline","onShareAppMessage","onResize","onPageScroll","onNavigationBarButtonTap","onBackPress","onNavigationBarSearchInputChanged","onNavigationBarSearchInputConfirmed","onNavigationBarSearchInputClicked","onPageShow","onPageHide","onPageResize","onUploadDouyinVideo"];dn.prototype.__patch__=function(e,a){var n=this;if(null!==a&&("page"===this.mpType||"component"===this.mpType)){var t=this.$scope,r=Object.create(null);try{r=function(e){var a=Object.create(null),n=[].concat(Object.keys(e._data||{}),Object.keys(e._computedWatchers||{}));n.reduce((function(a,n){return a[n]=e[n],a}),a);var t=e.__composition_api_state__||e.__secret_vfa_state__,r=t&&t.rawBindings;return r&&Object.keys(r).forEach((function(n){a[n]=e[n]})),Object.assign(a,e.$mp.data||{}),Array.isArray(e.$options.behaviors)&&-1!==e.$options.behaviors.indexOf("uni://form-field")&&(a["name"]=e.name,a["value"]=e.value),JSON.parse(JSON.stringify(a,Pn))}(this)}catch(p){console.error(p)}r.__webviewId__=t.data.__webviewId__;var u=Object.create(null);Object.keys(r).forEach((function(e){u[e]=t.data[e]}));var l=!1===this.$shouldDiffData?r:Sn(r,u);Object.keys(l).length?(Object({VUE_APP_DARK_MODE:"false",VUE_APP_NAME:"傲云惠购",VUE_APP_PLATFORM:"mp-weixin",NODE_ENV:"production",BASE_URL:"/"}).VUE_APP_DEBUG&&console.log("["+ +new Date+"]["+(t.is||t.route)+"]["+this._uid+"]差量更新",JSON.stringify(l)),this.__next_tick_pending=!0,t.setData(l,(function(){n.__next_tick_pending=!1,En(n)}))):En(this)}},dn.prototype.$mount=function(e,a){return function(e,a,n){return e.mpType?("app"===e.mpType&&(e.$options.render=Mn),e.$options.render||(e.$options.render=Mn),!e._$fallback&&qa(e,"beforeMount"),new tn(e,(function(){e._update(e._render(),n)}),E,{before:function(){e._isMounted&&!e._isDestroyed&&qa(e,"beforeUpdate")}},!0),n=!1,e):e}(this,0,a)},function(e){var a=e.extend;e.extend=function(e){e=e||{};var n=e.methods;return n&&Object.keys(n).forEach((function(a){-1!==In.indexOf(a)&&(e[a]=n[a],delete n[a])})),a.call(this,e)};var n=e.config.optionMergeStrategies,t=n.created;In.forEach((function(e){n[e]=t})),e.prototype.__lifecycle_hooks__=In}(dn),function(e){e.config.errorHandler=function(a,n,t){e.util.warn("Error in "+t+': "'+a.toString()+'"',n),console.error(a);var r="function"===typeof getApp&&getApp();r&&r.onError&&r.onError(a)};var a=e.prototype.$emit;e.prototype.$emit=function(e){if(this.$scope&&e){var n=this.$scope["_triggerEvent"]||this.$scope["triggerEvent"];if(n)try{n.call(this.$scope,e,{__args__:S(arguments,1)})}catch(t){}}return a.apply(this,arguments)},e.prototype.$nextTick=function(e){return Cn(this,e)},Dn.forEach((function(a){e.prototype[a]=function(e){return this.$scope&&this.$scope[a]?this.$scope[a](e):"undefined"!==typeof my?"createSelectorQuery"===a?my.createSelectorQuery(e):"createIntersectionObserver"===a?my.createIntersectionObserver(e):void 0:void 0}})),e.prototype.__init_provide=ra,e.prototype.__init_injections=ua,e.prototype.__call_hook=function(e,a){var n=this;pe();var t,r=n.$options[e],u=e+" hook";if(r)for(var l=0,p=r.length;l>16)+(a>>16)+(n>>16);return t<<16|65535&n},bitRotateLeft:function(e,a){return e<>>32-a},md5cmn:function(e,a,n,t,r,u){return this.safeAdd(this.bitRotateLeft(this.safeAdd(this.safeAdd(a,e),this.safeAdd(t,u)),r),n)},md5ff:function(e,a,n,t,r,u,l){return this.md5cmn(a&n|~a&t,e,a,r,u,l)},md5gg:function(e,a,n,t,r,u,l){return this.md5cmn(a&t|n&~t,e,a,r,u,l)},md5hh:function(e,a,n,t,r,u,l){return this.md5cmn(a^n^t,e,a,r,u,l)},md5ii:function(e,a,n,t,r,u,l){return this.md5cmn(n^(a|~t),e,a,r,u,l)},binlMD5:function(e,a){var n,t,r,u,l;e[a>>5]|=128<>>9<<4)]=a;var p=1732584193,v=-271733879,o=-1732584194,m=271733878;for(n=0;n>5]>>>a%32&255);return n},rstr2binl:function(e){var a,n=[];for(n[(e.length>>2)-1]=void 0,a=0;a>5]|=(255&e.charCodeAt(a/8))<16&&(r=this.binlMD5(r,8*e.length)),n=0;n<16;n+=1)u[n]=909522486^r[n],l[n]=1549556828^r[n];return t=this.binlMD5(u.concat(this.rstr2binl(a)),512+8*a.length),this.binl2rstr(this.binlMD5(l.concat(t),640))},rstr2hex:function(e){var a,n,t="";for(n=0;n>>4&15)+"0123456789abcdef".charAt(15&a);return t},str2rstrUTF8:function(e){return unescape(encodeURIComponent(e))},rawMD5:function(e){return this.rstrMD5(this.str2rstrUTF8(e))},hexMD5:function(e){return this.rstr2hex(this.rawMD5(e))},rawHMACMD5:function(e,a){return this.rstrHMACMD5(this.str2rstrUTF8(e),str2rstrUTF8(a))},hexHMACMD5:function(e,a){return this.rstr2hex(this.rawHMACMD5(e,a))},md5:function(e,a,n){return a?n?this.rawHMACMD5(a,e):this.hexHMACMD5(a,e):n?this.rawMD5(e):this.hexMD5(e)},getSig:function(e,a,n,t){var r=null,u=[];return Object.keys(e).sort().forEach((function(a){u.push(a+"="+e[a])})),"search"==n&&(r="/ws/place/v1/search?"+u.join("&")+a),"suggest"==n&&(r="/ws/place/v1/suggestion?"+u.join("&")+a),"reverseGeocoder"==n&&(r="/ws/geocoder/v1/?"+u.join("&")+a),"geocoder"==n&&(r="/ws/geocoder/v1/?"+u.join("&")+a),"getCityList"==n&&(r="/ws/district/v1/list?"+u.join("&")+a),"getDistrictByCityId"==n&&(r="/ws/district/v1/getchildren?"+u.join("&")+a),"calculateDistance"==n&&(r="/ws/distance/v1/?"+u.join("&")+a),"direction"==n&&(r="/ws/direction/v1/"+t+"?"+u.join("&")+a),r=this.md5(r),r},location2query:function(e){if("string"==typeof e)return e;for(var a="",n=0;n=0;--t){var r=this.tryEntries[t],l=r.completion;if("root"===r.tryLoc)return n("end");if(r.tryLoc<=this.prev){var p=u.call(r,"catchLoc"),v=u.call(r,"finallyLoc");if(p&&v){if(this.prev=0;--n){var t=this.tryEntries[n];if(t.tryLoc<=this.prev&&u.call(t,"finallyLoc")&&this.prev=0;--a){var n=this.tryEntries[a];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),k(n),f}},catch:function(e){for(var a=this.tryEntries.length-1;a>=0;--a){var n=this.tryEntries[a];if(n.tryLoc===e){var t=n.completion;if("throw"===t.type){var r=t.arg;k(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,a,n){return this.delegate={iterator:E(e),resultName:a,nextLoc:n},"next"===this.method&&(this.arg=void 0),f}},a}e.exports=r,e.exports.__esModule=!0,e.exports["default"]=e.exports},8513:function(e,a){},9523:function(e,a,n){var t=n("a395");e.exports=function(e,a,n){return a=t(a),a in e?Object.defineProperty(e,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[a]=n,e},e.exports.__esModule=!0,e.exports["default"]=e.exports},"970b":function(e,a){e.exports=function(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function")},e.exports.__esModule=!0,e.exports["default"]=e.exports},9884:function(e,a,n){"use strict";var t=n("4ea4");Object.defineProperty(a,"__esModule",{value:!0}),a.default=void 0;var r=t(n("9523"));function u(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}function l(e){for(var a=1;a"),r),200==r.statusCode?(a(r.data),0!==r.data.code&&t(r)):t(r)},fail:function(a){e.hideLoading(),t(a)},complete:function(a){e.hideLoading(),console.log(a,100)}})}))},u={get:function(e,a){return r("get",e,a)},post:function(e,a){return r("post",e,a)},postForm:function(e,a){return r("postForm",e,a)},upload:function(a,n){return function(a,n){var t=n||{};return new Promise((function(n,r){e.uploadFile({url:"".concat(getApp().globalData.hostapi).concat(a),filePath:t.path,name:"image",fileType:"image",formData:t,header:{"Content-Type":"multipart/form-data;charset=UTF-8",Authorization:"Bearer "+e.getStorageSync("token")||!1},success:function(e){if(200==e.statusCode){var a=JSON.parse(e.data);0==a.code&&n(a)}}})}))}(a,n)}};a.default=u}).call(this,n("543d")["default"])},"9bca":function(e,a,n){"use strict";(function(e,n){Object.defineProperty(a,"__esModule",{value:!0}),a.default=void 0;var t={timer:"",daoTime:function(){var a=this,n=e.getStorageSync("daoTime");""==n?(e.setStorageSync("daoTime",60),n=e.getStorageSync("daoTime"),this.timer=setInterval((function(){e.setStorageSync("daoTime",n--),(e.getStorageSync("daoTime")<=0||5==e.getStorageSync("maiList").length)&&(e.removeStorageSync("daoTime"),clearInterval(a.timer),e.removeStorageSync("maiList"),a.daoTime())}),1e3)):this.timer=setInterval((function(){e.setStorageSync("daoTime",n--),(e.getStorageSync("daoTime")<=0||5==e.getStorageSync("maiList").length)&&(e.removeStorageSync("daoTime"),clearInterval(a.timer),e.removeStorageSync("maiList"),a.daoTime())}),1e3)},closeTimer:function(){clearInterval(this.timer),console.log("倒计时清空了")},obtainCount:function(e){return parseInt(e.replace(/[^0-9]/gi,""))},unescapeEv:function(e){var a=unescape(e.q);return a},isPhone:function(e){return!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e)},isEmail:function(e){return!/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(e)},isIdentity:function(e){return!/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(e)},hideMPhone:function(e){return"".concat(e.substr(0,3),"****").concat(e.substr(7))},phoneAddChat:function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:" ",r=e;r=r.replace(/\s*/g,"");for(var u=[],l=0;l3&&void 0!==arguments[3]?arguments[3]:0;e=e.toString(),a=a.toString();var r=e.indexOf("."),u=a.indexOf("."),l=0,p=0;-1!=r&&(l=e.split(".")[1].length),-1!=u&&(p=a.split(".")[1].length);var v=l>p?l:p,o=l1*a&&(n.val=a)):n={len:a.length,val:a},n},showToast:function(a){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"none",t=arguments.length>2?arguments[2]:void 0,r=2e3;return t&&(r=t),e.showToast({title:a,icon:n,duration:r})},escape2Html:function(e){var a={lt:"<",gt:">",nbsp:" ",amp:"&",quot:'"'};return e.replace(/&(lt|gt|nbsp|amp|quot|src);/gi,(function(e,n){return a[n]})).replace("]*src=['"]([^'"]+)[^>]*>/gi,(function(e,a){return'-1?a:"https://guofu.scdxtc.cn"+a,"' />")}))},networkStatus:function(){var a=this;e.getNetworkType({success:function(n){console.log("当前网络状态:",n.networkType),"none"==n.networkType?e.setStorageSync("isNet",!1):(e.setStorageSync("isNet",!0),a.checkUpdate())}})},checkUpdate:function(){var a=this;if(n.canIUse("getUpdateManager")){var t=n.getUpdateManager();t.onCheckForUpdate((function(r){r.hasUpdate&&n.showModal({title:"更新提示",content:"检测到新版本,是否下载新版本并重启小程序?",success:function(r){r.confirm?(a.downLoadAndUpdate(t),e.clearStorage(),e.clearStorageSync()):r.cancel&&n.showModal({title:"温馨提示~",content:"本次版本更新涉及到新的功能添加,旧版本无法正常访问的哦~",showCancel:!1,confirmText:"确定更新",success:function(e){e.confirm&&a.downLoadAndUpdate(t)}})}})}))}else n.showModal({title:"提示",content:"当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。"})},downLoadAndUpdate:function(a){n.showLoading(),a.onUpdateReady((function(){n.hideLoading(),a.applyUpdate(),e.clearStorageSync(),e.clearStorage()})),a.onUpdateFailed((function(){n.showModal({title:"已经有新版本了哟~",content:"新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~"})}))},clickCopy:function(a){e.setClipboardData({data:a,success:function(){e.showToast({title:"复制成功",duration:2e3,icon:"none"})}})},authTimer:null,judgeAuth:function(){var a=!1;return clearTimeout(this.authTimer),e.getStorageSync("token")?a=!0:this.authTimer=setTimeout((function(){e.reLaunch({url:"/pagesA/login/login"})}),200),a},currentContext:function(){var e=n.getAccountInfoSync();"release"==e.miniProgram.envVersion&&(console.log=function(){})},disableShareEv:function(){n.hideShareMenu({menus:["shareAppMessage","shareTimeline"]})},obtainPagePath:function(){var a=getCurrentPages(),n=a[a.length-1].route,t=a[a.length-1].$page.fullPath;-1==t.indexOf("/pagesA/login")&&-1==t.indexOf("/pagesB/register")&&-1==t.indexOf("/pagesB/password")&&(e.setStorageSync("url",n),e.setStorageSync("page-path-options",t))},countCustomer:function(a){e.getSystemInfoSync();var n=[];""!==a&&n.push(a),e.showActionSheet({itemList:n,itemColor:"#1981ff",success:function(a){e.makePhoneCall({phoneNumber:n[a.tapIndex]})}})},uploadImg:function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,n=[];return e.chooseImage({count:a,sizeType:["compressed"],sourceType:["album","camera"],success:function(e){var a=e.tempFilePaths;console.log(a),a.forEach((function(e){n.push(e)}))}}),n},wxOpenSet:function(){e.authorize({scope:"scope.userInfo",success:function(e){},fail:function(a){e.showModal({content:"检测到您没打开获取信息功能权限,是否去设置打开?",confirmText:"确认",cancelText:"取消",success:function(a){a.confirm?e.openSetting({success:function(e){console.log(e)}}):console.log("取消")}})}})},goFlag:!0,goThere:function(){var e=this,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:30.656693,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:104.136425,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"四川省成都市成华区双店路B口";this.goFlag?(this.goFlag=!1,n.getLocation({type:"wgs84",success:function(e){n.openLocation({latitude:parseFloat(a),longitude:parseFloat(r),address:u,fail:function(e){t.showToast("地址信息错误")}})}}),setTimeout((function(){e.goFlag=!0}),2e3)):t.showToast("请勿多次点击")},saveImg:function(a){var t=a.slice(0,4);"http"==t?e.downloadFile({url:a,success:function(a){e.saveImageToPhotosAlbum({filePath:a.tempFilePath,success:function(){e.showToast({title:"保存成功",icon:"error"})},fail:function(){e.showToast({title:"保存失败",icon:"error"})}})}}):n.saveFile({tempFilePath:a,success:function(e){}})},getBase64ImageUrl:function(e){var a=e;a=n.arrayBufferToBase64(n.base64ToArrayBuffer(a));var t="data:image/png;base64,"+a;return t}},r={tools:t};a.default=r}).call(this,n("543d")["default"],n("bc2e")["default"])},a395:function(e,a,n){var t=n("7037")["default"],r=n("e50d");e.exports=function(e){var a=r(e,"string");return"symbol"===t(a)?a:String(a)},e.exports.__esModule=!0,e.exports["default"]=e.exports},b17c:function(e,a,n){var t=n("4a4b"),r=n("6f8f");function u(a,n,l){return r()?(e.exports=u=Reflect.construct.bind(),e.exports.__esModule=!0,e.exports["default"]=e.exports):(e.exports=u=function(e,a,n){var r=[null];r.push.apply(r,a);var u=Function.bind.apply(e,r),l=new u;return n&&t(l,n.prototype),l},e.exports.__esModule=!0,e.exports["default"]=e.exports),u.apply(null,arguments)}e.exports=u,e.exports.__esModule=!0,e.exports["default"]=e.exports},bc2e:function(e,a,n){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.default=void 0;var t=["qy","env","error","version","lanDebug","cloud","serviceMarket","router","worklet"],r=["lanDebug","router","worklet"],u="undefined"!==typeof globalThis?globalThis:function(){return this}(),l=["w","x"].join(""),p=u[l],v=p.getLaunchOptionsSync?p.getLaunchOptionsSync():null;function o(e){return(!v||1154!==v.scene||!r.includes(e))&&(t.indexOf(e)>-1||"function"===typeof p[e])}u[l]=function(){var e={};for(var a in p)o(a)&&(e[a]=p[a]);return e}();var m=u[l];a.default=m},c135:function(e,a){e.exports=function(e){if(Array.isArray(e))return e},e.exports.__esModule=!0,e.exports["default"]=e.exports},c240:function(e,a){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.__esModule=!0,e.exports["default"]=e.exports},c8ba:function(e,a){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"===typeof window&&(n=window)}e.exports=n},c973:function(e,a){function n(e,a,n,t,r,u,l){try{var p=e[u](l),v=p.value}catch(o){return void n(o)}p.done?a(v):Promise.resolve(v).then(t,r)}e.exports=function(e){return function(){var a=this,t=arguments;return new Promise((function(r,u){var l=e.apply(a,t);function p(e){n(l,r,u,p,v,"next",e)}function v(e){n(l,r,u,p,v,"throw",e)}p(void 0)}))}},e.exports.__esModule=!0,e.exports["default"]=e.exports},e50d:function(e,a,n){var t=n("7037")["default"];e.exports=function(e,a){if("object"!==t(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,a||"default");if("object"!==t(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(e)},e.exports.__esModule=!0,e.exports["default"]=e.exports},f0c5:function(e,a,n){"use strict";function t(e,a,n,t,r,u,l,p,v,o){var m,i="function"===typeof e?e.options:e;if(v){i.components||(i.components={});var s=Object.prototype.hasOwnProperty;for(var c in v)s.call(v,c)&&!s.call(i.components,c)&&(i.components[c]=v[c])}if(o&&("function"===typeof o.beforeCreate&&(o.beforeCreate=[o.beforeCreate]),(o.beforeCreate||(o.beforeCreate=[])).unshift((function(){this[o.__module]=this})),(i.mixins||(i.mixins=[])).push(o)),a&&(i.render=a,i.staticRenderFns=n,i._compiled=!0),t&&(i.functional=!0),u&&(i._scopeId="data-v-"+u),l?(m=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(l)},i._ssrRegister=m):r&&(m=p?function(){r.call(this,this.$root.$options.shadowRoot)}:r),m)if(i.functional){i._injectStyles=m;var f=i.render;i.render=function(e,a){return m.call(a),f(e,a)}}else{var d=i.beforeCreate;i.beforeCreate=d?[].concat(d,m):[m]}return{exports:e,options:i}}n.d(a,"a",(function(){return t}))}}]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/address-one/address-one.js b/unpackage/dist/build/mp-weixin/components/address-one/address-one.js new file mode 100644 index 0000000..dcc5bfd --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/address-one/address-one.js @@ -0,0 +1,10 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["components/address-one/address-one"],{"435d":function(t,e,i){"use strict";i.r(e);var s=i("c301"),n=i("cc0e");for(var o in n)["default"].indexOf(o)<0&&function(t){i.d(e,t,(function(){return n[t]}))}(o);i("e459");var a=i("f0c5"),r=Object(a["a"])(n["default"],s["b"],s["c"],!1,null,null,null,!1,s["a"],void 0);e["default"]=r.exports},c301:function(t,e,i){"use strict";i.d(e,"b",(function(){return s})),i.d(e,"c",(function(){return n})),i.d(e,"a",(function(){}));var s=function(){var t=this.$createElement;this._self._c},n=[]},cc0e:function(t,e,i){"use strict";i.r(e);var s=i("f21c"),n=i.n(s);for(var o in s)["default"].indexOf(o)<0&&function(t){i.d(e,t,(function(){return s[t]}))}(o);e["default"]=n.a},e266:function(t,e,i){},e459:function(t,e,i){"use strict";var s=i("e266"),n=i.n(s);n.a},f21c:function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var s=i("57ac"),n={props:["lotusAddressData"],data:function(){return{visible:!1,province:[],city:[],town:[],provinceName:"",cityName:"",townName:"",type:0,pChoseIndex:-1,cChoseIndex:-1,tChoseIndex:-1}},methods:{cancelPicker:function(){var t=this.getTarId(this.provinceName),e=this.getTarId(this.cityName),i=this.getTarId(this.townName);this.visible=!1,this.$emit("choseVal",{province:this.provinceName,provinceCode:t,city:this.cityName,cityCode:e,town:this.townName,townCode:i,isChose:0,visible:!1})},chosedVal:function(){this.type=1;var t=this.getTarId(this.provinceName),e=this.getTarId(this.cityName),i=this.getTarId(this.townName);this.visible=!1;var s=0;(this.provinceName&&this.cityName||this.provinceName&&this.cityName&&this.townName)&&(s=1),this.$emit("choseVal",{province:this.provinceName,provinceCode:t,city:this.cityName,cityCode:e,town:this.townName,townCode:i,isChose:s,visible:!1})},getTarId:function(t,e){var i=0;return s.lotusAddressJson.map((function(e,s){e.name===t&&(i=e.value)})),i},getCityArr:function(t){var e=[];return s.lotusAddressJson.map((function(i,s){i.parent===t&&e.push(i.name)})),e},getTownArr:function(t){var e=[];return s.lotusAddressJson.map((function(i,s){s>34&&i.parent===t&&e.push(i.name)})),e},initFn:function(){var t=this;this.province.length||s.lotusAddressJson.map((function(e,i){i<=34&&t.province.push(e.name)}));var e=this._props.lotusAddressData.provinceName,i=this._props.lotusAddressData.cityName,n=this._props.lotusAddressData.townName;if(e&&(this.pChoseIndex=this.getTarIndex(this.province,e)),e&&i){var o=this.getTarId(e);this.city=this.getCityArr(o),this.cChoseIndex=this.getTarIndex(this.city,i)}if(e&&i&&n){var a=this.getTarId(i);this.town=this.getTownArr(a),this.tChoseIndex=this.getTarIndex(this.town,n)}e||i||n||(this.pChoseIndex=-1,this.cChoseIndex=-1,this.tChoseIndex=-1,this.city=[],this.town=[])},getChosedData:function(){var t=this.getTarId(this.provinceName,"province");this.city=this.getCityArr(t);var e=this.getTarId(this.cityName,"city");this.town=this.getTownArr(e),this.provinceName&&(this.pChoseIndex=this.getTarIndex(this.province,this.provinceName)),this.cityName&&(this.cChoseIndex=this.getTarIndex(this.city,this.cityName)),this.townName&&(this.tChoseIndex=this.getTarIndex(this.town,this.townName))},clickPicker:function(t,e,i){0===t&&(this.pChoseIndex=e,this.provinceName=i,this.cChoseIndex=-1,this.tChoseIndex=-1,this.cityName="",this.townName=""),1===t&&(this.cChoseIndex=e,this.cityName=i,this.tChoseIndex=-1,this.townName=""),2===t&&(this.tChoseIndex=e,this.townName=i),this.getChosedData()},getTarIndex:function(t,e){var i=0;return t.map((function(t,s){t===e&&(i=s)})),i}},computed:{checkStatus:function(){var t=null;return this.visible||(this.visible=this._props.lotusAddressData.visible,this.provinceName=this._props.lotusAddressData.provinceName,this.cityName=this._props.lotusAddressData.cityName,this.townName=this._props.lotusAddressData.townName,this.initFn(),t=this.visible),t}}};e.default=n}}]); +;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([ + 'components/address-one/address-one-create-component', + { + 'components/address-one/address-one-create-component':(function(module, exports, __webpack_require__){ + __webpack_require__('543d')['createComponent'](__webpack_require__("435d")) + }) + }, + [['components/address-one/address-one-create-component']] +]); diff --git a/unpackage/dist/build/mp-weixin/components/address-one/address-one.json b/unpackage/dist/build/mp-weixin/components/address-one/address-one.json new file mode 100644 index 0000000..4575d1b --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/address-one/address-one.json @@ -0,0 +1,4 @@ +{ + "usingComponents": {}, + "component": true +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/address-one/address-one.wxml b/unpackage/dist/build/mp-weixin/components/address-one/address-one.wxml new file mode 100644 index 0000000..e804b1d --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/address-one/address-one.wxml @@ -0,0 +1 @@ +取消确认{{pItem}}{{cItem}}{{tItem}} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/address-one/address-one.wxss b/unpackage/dist/build/mp-weixin/components/address-one/address-one.wxss new file mode 100644 index 0000000..eef9282 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/address-one/address-one.wxss @@ -0,0 +1 @@ +.lotus-address-picker{font-size:26rpx;padding-top:30rpx;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;line-height:normal;padding-right:30rpx;box-sizing:border-box}.lotus-address-picker-box{display:flex;align-items:center;justify-content:center;justify-content:flex-start;padding-top:10rpx;padding-bottom:10rpx}.lotus-address-picker-box-item{height:600rpx;overflow-y:auto;width:33.333%;padding-left:20rpx;padding-right:20rpx;box-sizing:border-box}.lotus-address-picker2{color:#03affb;position:relative}.lotus-address-picker2:after{content:"";position:absolute;right:0;top:65%;-webkit-transform:translateY(-35%) rotate(-45deg);transform:translateY(-35%) rotate(-45deg);width:20rpx;height:10rpx;border-left-width:4rpx;border-bottom-width:4rpx;border-left-style:solid;border-bottom-style:solid;border-left-color:#03affb;border-bottom-color:#03affb}.lotus-address-mask{position:fixed;left:0;top:0;width:100%;height:100%;z-index:999;background:rgba(0,0,0,.5)}.lotus-address-box{background:#fff;position:absolute;left:0;bottom:0;width:100%;height:auto}.lotus-address-action{font-size:30rpx;display:flex;align-items:center;justify-content:center;justify-content:space-between;padding:25rpx 30rpx;position:relative}.lotus-address-action:after{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1px solid #eee;color:#eee;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.lotus-address-action:before{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:1px solid #eee;color:#eee;-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.lotus-address-action-cancel{color:#969696}.lotus-address-action-affirm{color:#03affb} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/foot-bar/foot-bar.js b/unpackage/dist/build/mp-weixin/components/foot-bar/foot-bar.js new file mode 100644 index 0000000..0c02c1c --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/foot-bar/foot-bar.js @@ -0,0 +1,10 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["components/foot-bar/foot-bar"],{3722:function(t,e,o){"use strict";o.r(e);var a=o("51b7"),n=o.n(a);for(var r in a)["default"].indexOf(r)<0&&function(t){o.d(e,t,(function(){return a[t]}))}(r);e["default"]=n.a},"51b7":function(t,e,o){"use strict";(function(t,o){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var a={name:"foot-bar",props:{current:{type:Number,default:0}},data:function(){return{footBarList:[]}},mounted:function(){t.getStorageSync("footBarList")?this.footBarList=t.getStorageSync("footBarList"):this.getFootBar();var e=o.createSelectorQuery().in(this);e.select(".foot-bar").boundingClientRect((function(e){t.setStorageSync("footHeight",e.height)})).exec()},methods:{getFootBar:function(){var e=this;this.$requst.get("/api/index/mini-program-setting").then((function(o){if(0==o.code){console.log(o,"底部信息");var a=[];o.data.footBar.forEach((function(t){var e={normalPath:"".concat(getApp().globalData.hostapi)+t.icon[0],activePath:"".concat(getApp().globalData.hostapi)+t.icon[1],title:t.name};a.push(e)})),e.footBarList=a,t.setStorageSync("footBarList",e.footBarList)}else e.$toolAll.tools.showToast(o.msg)}))},chooseEv:function(e){switch(e){case 0:t.reLaunch({url:"/pages/index/index"});break;case 1:t.reLaunch({url:"/pages/cate/cate"});break;case 2:this.$toolAll.tools.judgeAuth()&&t.reLaunch({url:"/pages/cart/cart"});break;case 3:this.$toolAll.tools.judgeAuth()&&t.reLaunch({url:"/pages/my/my"});break}}}};e.default=a}).call(this,o("543d")["default"],o("bc2e")["default"])},"57f4":function(t,e,o){"use strict";o.r(e);var a=o("8a03"),n=o("3722");for(var r in n)["default"].indexOf(r)<0&&function(t){o.d(e,t,(function(){return n[t]}))}(r);o("aded");var c=o("f0c5"),i=Object(c["a"])(n["default"],a["b"],a["c"],!1,null,"60e0d59c",null,!1,a["a"],void 0);e["default"]=i.exports},"8a03":function(t,e,o){"use strict";o.d(e,"b",(function(){return a})),o.d(e,"c",(function(){return n})),o.d(e,"a",(function(){}));var a=function(){var t=this.$createElement,e=(this._self._c,this.footBarList.length);this.$mp.data=Object.assign({},{$root:{g0:e}})},n=[]},aded:function(t,e,o){"use strict";var a=o("b3b0"),n=o.n(a);n.a},b3b0:function(t,e,o){}}]); +;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([ + 'components/foot-bar/foot-bar-create-component', + { + 'components/foot-bar/foot-bar-create-component':(function(module, exports, __webpack_require__){ + __webpack_require__('543d')['createComponent'](__webpack_require__("57f4")) + }) + }, + [['components/foot-bar/foot-bar-create-component']] +]); diff --git a/unpackage/dist/build/mp-weixin/components/foot-bar/foot-bar.json b/unpackage/dist/build/mp-weixin/components/foot-bar/foot-bar.json new file mode 100644 index 0000000..4575d1b --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/foot-bar/foot-bar.json @@ -0,0 +1,4 @@ +{ + "usingComponents": {}, + "component": true +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/foot-bar/foot-bar.wxml b/unpackage/dist/build/mp-weixin/components/foot-bar/foot-bar.wxml new file mode 100644 index 0000000..8ef159f --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/foot-bar/foot-bar.wxml @@ -0,0 +1 @@ +{{item.title}} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/foot-bar/foot-bar.wxss b/unpackage/dist/build/mp-weixin/components/foot-bar/foot-bar.wxss new file mode 100644 index 0000000..80f4eef --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/foot-bar/foot-bar.wxss @@ -0,0 +1 @@ +.foot-bar.data-v-60e0d59c{display:flex;justify-content:space-around;align-items:center;width:100%;height:98rpx;background-color:#fff;box-shadow:0 0 16rpx hsla(0,0%,57.3%,.06);position:fixed;left:0;bottom:0;z-index:99}.foot-bar .item.data-v-60e0d59c{display:flex;flex-wrap:wrap;justify-items:center;text-align:center}.foot-bar .icon.data-v-60e0d59c{justify-content:center;align-items:center;width:100%;height:39rpx}.foot-bar .icon image.data-v-60e0d59c{height:100%}.foot-bar .title.data-v-60e0d59c{width:100%;margin-top:6rpx;font-size:22rpx;line-height:1.3} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/goods-list/goods-list.js b/unpackage/dist/build/mp-weixin/components/goods-list/goods-list.js new file mode 100644 index 0000000..6a8e2f4 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/goods-list/goods-list.js @@ -0,0 +1,10 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["components/goods-list/goods-list"],{"0211":function(t,o,e){},"1c1e":function(t,o,e){"use strict";e.r(o);var n=e("c04c"),i=e.n(n);for(var a in n)["default"].indexOf(a)<0&&function(t){e.d(o,t,(function(){return n[t]}))}(a);o["default"]=i.a},"469f":function(t,o,e){"use strict";e.r(o);var n=e("d793"),i=e("1c1e");for(var a in i)["default"].indexOf(a)<0&&function(t){e.d(o,t,(function(){return i[t]}))}(a);e("53db");var r=e("f0c5"),s=Object(r["a"])(i["default"],n["b"],n["c"],!1,null,"3619c514",null,!1,n["a"],void 0);o["default"]=s.exports},"53db":function(t,o,e){"use strict";var n=e("0211"),i=e.n(n);i.a},c04c:function(t,o,e){"use strict";(function(t){Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;var e={name:"goods-list",props:{ifShowCart:{type:Boolean,default:!0},ifRefreshCart:{type:Boolean,default:!1},showType:{type:String,default:""},goodsList:{type:Array,default:[]}},data:function(){return{tag_bg_color:{}}},mounted:function(){this.getBaseConfig()},methods:{getBaseConfig:function(){var t=this;this.$requst.get("/api.index/baseConfig").then((function(o){if(0==o.code){t.tag_bg_color=o.data.tag_bg_color;var e=o.data;t.$emit("cate_banner",e)}else t.$toolAll.tools.showToast(o.msg)}))},toDetail:function(o){t.navigateTo({url:"/pagesB/goodsDetail/goodsDetail?id=".concat(o)})},addCart:function(t){var o=this,e={sku_id:t,num:1};this.$requst.post("/api/order/shopping-cart-add",e).then((function(t){0==t.code?(o.$toolAll.tools.showToast("已加入购物车"),o.ifRefreshCart&&o.$emit("getCartList")):o.$toolAll.tools.showToast(t.msg)}))}}};o.default=e}).call(this,e("543d")["default"])},d793:function(t,o,e){"use strict";e.d(o,"b",(function(){return n})),e.d(o,"c",(function(){return i})),e.d(o,"a",(function(){}));var n=function(){var t=this,o=t.$createElement,e=(t._self._c,t.__map(t.goodsList,(function(o,e){var n=t.__get_orig(o),i=0!=o.price?o.price.substr(0,o.price.indexOf(".")):null,a=0!=o.price?o.price.substr(o.price.indexOf("."),o.price.length):null;return{$orig:n,g0:i,g1:a}})));t.$mp.data=Object.assign({},{$root:{l0:e}})},i=[]}}]); +;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([ + 'components/goods-list/goods-list-create-component', + { + 'components/goods-list/goods-list-create-component':(function(module, exports, __webpack_require__){ + __webpack_require__('543d')['createComponent'](__webpack_require__("469f")) + }) + }, + [['components/goods-list/goods-list-create-component']] +]); diff --git a/unpackage/dist/build/mp-weixin/components/goods-list/goods-list.json b/unpackage/dist/build/mp-weixin/components/goods-list/goods-list.json new file mode 100644 index 0000000..4575d1b --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/goods-list/goods-list.json @@ -0,0 +1,4 @@ +{ + "usingComponents": {}, + "component": true +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/goods-list/goods-list.wxml b/unpackage/dist/build/mp-weixin/components/goods-list/goods-list.wxml new file mode 100644 index 0000000..e74865f --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/goods-list/goods-list.wxml @@ -0,0 +1 @@ +{{''+item.$orig.tag+''}}{{item.$orig.title}}{{item.g0}}{{item.g1}}+{{item.$orig.integral}}积分 \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/goods-list/goods-list.wxss b/unpackage/dist/build/mp-weixin/components/goods-list/goods-list.wxss new file mode 100644 index 0000000..1229c7e --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/goods-list/goods-list.wxss @@ -0,0 +1,3 @@ +.goods-list.data-v-3619c514{display:flex;flex-wrap:wrap;justify-content:space-between}.goods-item.data-v-3619c514{box-sizing:border-box;width:calc(50% - 9rpx);padding:18rpx;margin-bottom:18rpx;border-radius:10rpx;background-color:#fff;overflow:hidden;position:relative}.goods-item .tag.data-v-3619c514{line-height:34rpx;padding:0 8rpx;background-color:#d4996d;font-size:20rpx;text-align:center;color:#fff;position:absolute;top:0;left:0}.goods-item .tag-green.data-v-3619c514{background-color:#4cc474}.goods-item .img.data-v-3619c514, +.goods-item .img image.data-v-3619c514{width:290rpx;height:290rpx}.goods-item .msg.data-v-3619c514{margin-top:30rpx}.goods-item .msg .title.data-v-3619c514{font-size:26rpx;line-height:40rpx;height:80rpx;-webkit-line-clamp:2}.goods-item .msg .price-bg.data-v-3619c514{display:flex;justify-content:space-between;align-items:center;height:40rpx;margin-top:20rpx}.goods-item .msg .price.data-v-3619c514{display:flex;align-items:center;max-width:calc(100% - 36rpx)}.goods-item .msg .price-item.data-v-3619c514{display:flex;align-items:flex-end}.goods-item .msg .price-item text.data-v-3619c514{font-size:24rpx;line-height:30rpx;color:#f72e2e}.goods-item .msg .price-item text.data-v-3619c514:nth-of-type(2){font-size:34rpx;line-height:40rpx}.goods-item .icon-spot image.data-v-3619c514{width:32rpx;height:7rpx}.goods-item .icon-cart image.data-v-3619c514{width:36rpx;height:35rpx}.search-column.data-v-3619c514{display:flex;justify-content:space-between;align-items:flex-start;width:100%;padding:20rpx 20rpx 0;border-radius:0;margin-bottom:0}.search-column .img.data-v-3619c514{width:195rpx;height:195rpx;margin-bottom:20rpx}.search-column .img image.data-v-3619c514{width:195rpx;height:195rpx}.search-column .msg.data-v-3619c514{width:calc(100% - 205rpx);height:195rpx;border-bottom:1px solid #eaeaea;padding-bottom:20rpx;margin-top:0}.search-column .msg .title.data-v-3619c514{margin-top:10rpx}.search-column .tag.data-v-3619c514{left:20rpx;top:20rpx;border-radius:10rpx 0 0 0}.search-column .msg .price-bg.data-v-3619c514{margin-top:46rpx}.cate-column.data-v-3619c514{display:flex;justify-content:space-between;align-items:flex-start;width:100%;padding:20rpx 0;border-radius:0;margin-bottom:0}.cate-column .img.data-v-3619c514, +.cate-column .img image.data-v-3619c514{width:155rpx;height:155rpx}.cate-column .msg.data-v-3619c514{width:calc(100% - 170rpx);height:155rpx;margin-top:0}.cate-column .msg .title.data-v-3619c514{margin-top:6rpx}.cate-column .tag.data-v-3619c514{left:0;top:20rpx;border-radius:10rpx 0 0 0} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/nothing/nothing-page.js b/unpackage/dist/build/mp-weixin/components/nothing/nothing-page.js new file mode 100644 index 0000000..05da450 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/nothing/nothing-page.js @@ -0,0 +1,10 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["components/nothing/nothing-page"],{"57dd":function(n,t,e){"use strict";e.d(t,"b",(function(){return u})),e.d(t,"c",(function(){return r})),e.d(t,"a",(function(){}));var u=function(){var n=this.$createElement;this._self._c},r=[]},"69e6":function(n,t,e){"use strict";e.r(t);var u=e("a339"),r=e.n(u);for(var a in u)["default"].indexOf(a)<0&&function(n){e.d(t,n,(function(){return u[n]}))}(a);t["default"]=r.a},"704f":function(n,t,e){"use strict";e.r(t);var u=e("57dd"),r=e("69e6");for(var a in r)["default"].indexOf(a)<0&&function(n){e.d(t,n,(function(){return r[n]}))}(a);e("7104");var f=e("f0c5"),i=Object(f["a"])(r["default"],u["b"],u["c"],!1,null,"2f127f68",null,!1,u["a"],void 0);t["default"]=i.exports},7104:function(n,t,e){"use strict";var u=e("dd39"),r=e.n(u);r.a},a339:function(n,t,e){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var u={name:"nothing-page",props:{imgSrc:{type:String,default:""},content:{type:String,default:"暂无内容"},currentType:{type:Number,default:0}},data:function(){return{}}};t.default=u},dd39:function(n,t,e){}}]); +;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([ + 'components/nothing/nothing-page-create-component', + { + 'components/nothing/nothing-page-create-component':(function(module, exports, __webpack_require__){ + __webpack_require__('543d')['createComponent'](__webpack_require__("704f")) + }) + }, + [['components/nothing/nothing-page-create-component']] +]); diff --git a/unpackage/dist/build/mp-weixin/components/nothing/nothing-page.json b/unpackage/dist/build/mp-weixin/components/nothing/nothing-page.json new file mode 100644 index 0000000..4575d1b --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/nothing/nothing-page.json @@ -0,0 +1,4 @@ +{ + "usingComponents": {}, + "component": true +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/nothing/nothing-page.wxml b/unpackage/dist/build/mp-weixin/components/nothing/nothing-page.wxml new file mode 100644 index 0000000..818bacc --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/nothing/nothing-page.wxml @@ -0,0 +1 @@ +{{content}} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/nothing/nothing-page.wxss b/unpackage/dist/build/mp-weixin/components/nothing/nothing-page.wxss new file mode 100644 index 0000000..0f5367b --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/nothing/nothing-page.wxss @@ -0,0 +1 @@ +.nothing.data-v-2f127f68{position:fixed;top:0;bottom:0;left:0;right:0;display:flex;justify-content:center;align-items:center}.nothing-box.data-v-2f127f68{display:flex;justify-content:center;flex-direction:column;align-items:center}.nothing-box .nothing-img.data-v-2f127f68{width:470rpx;height:270rpx}.iconImg.data-v-2f127f68{font-size:280rpx;color:#999}.nothing-con.data-v-2f127f68{font-size:24rpx;font-family:PingFang SC;font-weight:500;color:#999} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/status-nav/status-nav.js b/unpackage/dist/build/mp-weixin/components/status-nav/status-nav.js new file mode 100644 index 0000000..663099d --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/status-nav/status-nav.js @@ -0,0 +1,10 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["components/status-nav/status-nav"],{"0b19":function(t,e,n){},"361a":function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n={name:"status-nav",props:{backgroudColor:{type:String,default:"#f7f7f7"},navBarHeight:{type:String,default:"50px"},ifReturn:{type:Boolean,default:!0},returnColor:{type:String,default:"#333333"},ifTitle:{type:Boolean,default:!0},navBarTitle:{type:String,default:""},clipNumber:{type:String,default:"1"},titleColor:{type:String,default:"#333333"},ifCenter:{type:Boolean,default:!0},ifBold:{type:Boolean,default:!1},marginBottom:{type:String,default:"0"}},data:function(){return{statusBarHeight:t.getSystemInfoSync().statusBarHeight,ifNet:!0,netText:"当前无网络",netTimer:null}},mounted:function(){var e=this;this.$toolAll.tools.networkStatus(),this.$toolAll.tools.obtainPagePath(),setTimeout((function(){e.ifNet=t.getStorageSync("isNet")}),500)},methods:{refreshEv:function(){var e=this;this.netText="正在刷新...";var n=0;this.netTimer=setInterval((function(){n++,e.$toolAll.tools.networkStatus(),t.getStorageSync("isNet")&&(clearInterval(e.netTimer),e.ifNet=!0),10==n&&(clearInterval(e.netTimer),e.netText="刷新失败",n=0)}),1e3)},backEv:function(){t.navigateBack({delta:1,fail:function(){t.reLaunch({url:"/pages/index/index"})}})}}};e.default=n}).call(this,n("543d")["default"])},5078:function(t,e,n){"use strict";n.r(e);var a=n("361a"),i=n.n(a);for(var o in a)["default"].indexOf(o)<0&&function(t){n.d(e,t,(function(){return a[t]}))}(o);e["default"]=i.a},"50b9":function(t,e,n){"use strict";var a=n("0b19"),i=n.n(a);i.a},"69af":function(t,e,n){"use strict";n.d(e,"b",(function(){return a})),n.d(e,"c",(function(){return i})),n.d(e,"a",(function(){}));var a=function(){var t=this.$createElement;this._self._c},i=[]},da82:function(t,e,n){"use strict";n.r(e);var a=n("69af"),i=n("5078");for(var o in i)["default"].indexOf(o)<0&&function(t){n.d(e,t,(function(){return i[t]}))}(o);n("50b9");var r=n("f0c5"),u=Object(r["a"])(i["default"],a["b"],a["c"],!1,null,"4508490a",null,!1,a["a"],void 0);e["default"]=u.exports}}]); +;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([ + 'components/status-nav/status-nav-create-component', + { + 'components/status-nav/status-nav-create-component':(function(module, exports, __webpack_require__){ + __webpack_require__('543d')['createComponent'](__webpack_require__("da82")) + }) + }, + [['components/status-nav/status-nav-create-component']] +]); diff --git a/unpackage/dist/build/mp-weixin/components/status-nav/status-nav.json b/unpackage/dist/build/mp-weixin/components/status-nav/status-nav.json new file mode 100644 index 0000000..4575d1b --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/status-nav/status-nav.json @@ -0,0 +1,4 @@ +{ + "usingComponents": {}, + "component": true +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/status-nav/status-nav.wxml b/unpackage/dist/build/mp-weixin/components/status-nav/status-nav.wxml new file mode 100644 index 0000000..f4066a0 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/status-nav/status-nav.wxml @@ -0,0 +1 @@ +{{navBarTitle}}{{netText}}刷新 \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/status-nav/status-nav.wxss b/unpackage/dist/build/mp-weixin/components/status-nav/status-nav.wxss new file mode 100644 index 0000000..8fed0b9 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/status-nav/status-nav.wxss @@ -0,0 +1 @@ +.status-box.data-v-4508490a{background-repeat:no-repeat;background-size:750rpx auto;position:-webkit-sticky;position:sticky;top:0;left:0;right:0;z-index:99}.status-nav.data-v-4508490a{display:flex;align-items:center;width:100%}.left-box.data-v-4508490a{display:flex;justify-content:center;align-items:center;position:absolute;padding:0 50rpx 0 20rpx}.right-box.data-v-4508490a{display:flex;justify-content:center;align-items:center;position:absolute;right:0;padding:0 20rpx 0 50rpx}.tab-title.data-v-4508490a{display:flex;width:100%;font-size:32rpx;line-height:1.5;letter-spacing:2rpx;text-indent:2rpx}.tab-title .title-box.data-v-4508490a{margin-top:-4rpx} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/swipers/swiper-lamp.js b/unpackage/dist/build/mp-weixin/components/swipers/swiper-lamp.js new file mode 100644 index 0000000..9ee0aaf --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/swipers/swiper-lamp.js @@ -0,0 +1,10 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["components/swipers/swiper-lamp"],{"08e6":function(t,a,e){"use strict";e.r(a);var n=e("c128"),i=e("fba9");for(var u in i)["default"].indexOf(u)<0&&function(t){e.d(a,t,(function(){return i[t]}))}(u);e("a638");var r=e("f0c5"),l=Object(r["a"])(i["default"],n["b"],n["c"],!1,null,"6a3ea191",null,!1,n["a"],void 0);a["default"]=l.exports},2345:function(t,a,e){"use strict";(function(t){Object.defineProperty(a,"__esModule",{value:!0}),a.default=void 0;var e={name:"swiper-lamp",props:{isplay:{type:Boolean,default:!0},isClick:{type:Boolean,default:!1},lampList:{type:Array,default:[]},newHeight:{type:String,default:"42rpx"}},data:function(){return{lampCur:0,autoplay:!0}},methods:{toDetail:function(a){this.lampCur=a,this.isClick&&t.navigateTo({url:"/pagesB/news/newsDetail?id=".concat(this.lampList[a].id)})}}};a.default=e}).call(this,e("543d")["default"])},6019:function(t,a,e){},a638:function(t,a,e){"use strict";var n=e("6019"),i=e.n(n);i.a},c128:function(t,a,e){"use strict";e.d(a,"b",(function(){return n})),e.d(a,"c",(function(){return i})),e.d(a,"a",(function(){}));var n=function(){var t=this.$createElement,a=(this._self._c,this.lampList.length);this.$mp.data=Object.assign({},{$root:{g0:a}})},i=[]},fba9:function(t,a,e){"use strict";e.r(a);var n=e("2345"),i=e.n(n);for(var u in n)["default"].indexOf(u)<0&&function(t){e.d(a,t,(function(){return n[t]}))}(u);a["default"]=i.a}}]); +;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([ + 'components/swipers/swiper-lamp-create-component', + { + 'components/swipers/swiper-lamp-create-component':(function(module, exports, __webpack_require__){ + __webpack_require__('543d')['createComponent'](__webpack_require__("08e6")) + }) + }, + [['components/swipers/swiper-lamp-create-component']] +]); diff --git a/unpackage/dist/build/mp-weixin/components/swipers/swiper-lamp.json b/unpackage/dist/build/mp-weixin/components/swipers/swiper-lamp.json new file mode 100644 index 0000000..4575d1b --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/swipers/swiper-lamp.json @@ -0,0 +1,4 @@ +{ + "usingComponents": {}, + "component": true +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/swipers/swiper-lamp.wxml b/unpackage/dist/build/mp-weixin/components/swipers/swiper-lamp.wxml new file mode 100644 index 0000000..252b1f5 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/swipers/swiper-lamp.wxml @@ -0,0 +1 @@ +{{item.title}}{{item.title}} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/swipers/swiper-lamp.wxss b/unpackage/dist/build/mp-weixin/components/swipers/swiper-lamp.wxss new file mode 100644 index 0000000..23c1f90 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/swipers/swiper-lamp.wxss @@ -0,0 +1 @@ +.lamp-box.data-v-6a3ea191{width:100%;overflow:hidden;position:relative} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/swipers/swiper-pu.js b/unpackage/dist/build/mp-weixin/components/swipers/swiper-pu.js new file mode 100644 index 0000000..3a1e640 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/swipers/swiper-pu.js @@ -0,0 +1,10 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["components/swipers/swiper-pu"],{"0019":function(t,e,n){},"315a":function(t,e,n){"use strict";n.d(e,"b",(function(){return a})),n.d(e,"c",(function(){return r})),n.d(e,"a",(function(){}));var a=function(){var t=this.$createElement,e=(this._self._c,this.isNum?this.bannerList.length:null);this.$mp.data=Object.assign({},{$root:{g0:e}})},r=[]},"5e44":function(t,e,n){"use strict";var a=n("0019"),r=n.n(a);r.a},8124:function(t,e,n){"use strict";n.r(e);var a=n("315a"),r=n("b0b8");for(var i in r)["default"].indexOf(i)<0&&function(t){n.d(e,t,(function(){return r[t]}))}(i);n("5e44");var o=n("f0c5"),u=Object(o["a"])(r["default"],a["b"],a["c"],!1,null,"4e6c9ab4",null,!1,a["a"],void 0);e["default"]=u.exports},b0b8:function(t,e,n){"use strict";n.r(e);var a=n("cba0"),r=n.n(a);for(var i in a)["default"].indexOf(i)<0&&function(t){n.d(e,t,(function(){return a[t]}))}(i);e["default"]=r.a},cba0:function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n={name:"swiper-pu",props:{isplay:{type:Boolean,default:!1},isDot:{type:Boolean,default:!0},isNum:{type:Boolean,default:!1},bannerList:{type:Array,default:[]},newHeight:{type:String,default:"330rpx"},newBottom:{type:String,default:"12rpx"},newRadius:{type:String,default:"0rpx"},browseP:{type:Boolean,default:!1},activec:{type:String,default:"rgba(255,255,255,1)"},defaultc:{type:String,default:"rgba(255,255,255,.6)"}},data:function(){return{bcurrent:0,isShowVideo:!1,autoplay:!1,isVedio:t.getStorageSync("is_vedio")}},methods:{chooseImg:function(e,n){if(console.log("当前banner图",e,n),this.bcurrent=e,this.browseP){var a=[];this.bannerList.forEach((function(t){var e={url:t.imgSrc,type:"image"};a.push(e)})),t.previewMedia({current:this.bcurrent,sources:a})}n&&(t.navigateTo({url:"".concat(n)}),console.log("".concat(n),"跳转链接"))},changeBanner:function(t){this.bcurrent=t.detail.current},chooseDot:function(t){this.bcurrent=t}}};e.default=n}).call(this,n("543d")["default"])}}]); +;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([ + 'components/swipers/swiper-pu-create-component', + { + 'components/swipers/swiper-pu-create-component':(function(module, exports, __webpack_require__){ + __webpack_require__('543d')['createComponent'](__webpack_require__("8124")) + }) + }, + [['components/swipers/swiper-pu-create-component']] +]); diff --git a/unpackage/dist/build/mp-weixin/components/swipers/swiper-pu.json b/unpackage/dist/build/mp-weixin/components/swipers/swiper-pu.json new file mode 100644 index 0000000..4575d1b --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/swipers/swiper-pu.json @@ -0,0 +1,4 @@ +{ + "usingComponents": {}, + "component": true +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/swipers/swiper-pu.wxml b/unpackage/dist/build/mp-weixin/components/swipers/swiper-pu.wxml new file mode 100644 index 0000000..a823aa0 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/swipers/swiper-pu.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/swipers/swiper-pu.wxss b/unpackage/dist/build/mp-weixin/components/swipers/swiper-pu.wxss new file mode 100644 index 0000000..715fcef --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/swipers/swiper-pu.wxss @@ -0,0 +1 @@ +.banner-box.data-v-4e6c9ab4{width:100%;overflow:hidden;position:relative}.img-box.data-v-4e6c9ab4{display:flex;justify-content:center;align-items:center;position:relative}.img.data-v-4e6c9ab4{width:100%;vertical-align:bottom}.dot-box.data-v-4e6c9ab4{display:flex;justify-content:center;width:100%;position:absolute}.item-dot.data-v-4e6c9ab4{width:12rpx;height:12rpx;border-radius:100%;margin:0 4rpx}.num-box.data-v-4e6c9ab4{box-sizing:border-box;display:flex;justify-content:flex-end;width:auto;line-height:46rpx;border-radius:4rpx;padding:0 12rpx;background-color:rgba(0,0,0,.4);font-size:26rpx;color:#fff;position:absolute;right:38rpx}.num-box text.data-v-4e6c9ab4:nth-of-type(2){font-size:24rpx;margin:0 4rpx} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/thorui/tui-button/tui-button.js b/unpackage/dist/build/mp-weixin/components/thorui/tui-button/tui-button.js new file mode 100644 index 0000000..cea2f32 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/thorui/tui-button/tui-button.js @@ -0,0 +1,10 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["components/thorui/tui-button/tui-button"],{"12fe":function(t,e,i){"use strict";i.r(e);var n=i("d521"),a=i("5342");for(var r in a)["default"].indexOf(r)<0&&function(t){i.d(e,t,(function(){return a[t]}))}(r);i("d8e3");var o=i("f0c5"),u=Object(o["a"])(a["default"],n["b"],n["c"],!1,null,"9109c28e",null,!1,n["a"],void 0);e["default"]=u.exports},5342:function(t,e,i){"use strict";i.r(e);var n=i("d119"),a=i.n(n);for(var r in n)["default"].indexOf(r)<0&&function(t){i.d(e,t,(function(){return n[t]}))}(r);e["default"]=a.a},"8ecf":function(t,e,i){},d119:function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n={name:"tuiButton",emits:["click","getuserinfo","contact","getphonenumber","error"],behaviors:["wx://form-field-button"],props:{type:{type:String,default:"primary"},shadow:{type:Boolean,default:!1},width:{type:String,default:"100%"},height:{type:String,default:"96rpx"},size:{type:Number,default:32},bold:{type:Boolean,default:!1},margin:{type:String,default:"0"},shape:{type:String,default:"square"},plain:{type:Boolean,default:!1},link:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},disabledGray:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},formType:{type:String,default:""},openType:{type:String,default:""},index:{type:[Number,String],default:0},preventClick:{type:Boolean,default:!1}},data:function(){return{time:0}},methods:{handleClick:function(){var t=this;if(!this.disabled){if(this.preventClick){if((new Date).getTime()-this.time<=200)return;this.time=(new Date).getTime(),setTimeout((function(){t.time=0}),200)}this.$emit("click",{index:Number(this.index)})}},bindgetuserinfo:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.detail,i=void 0===e?{}:e;this.$emit("getuserinfo",i)},bindcontact:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.detail,i=void 0===e?{}:e;this.$emit("contact",i)},bindgetphonenumber:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.detail,i=void 0===e?{}:e;this.$emit("getphonenumber",i)},binderror:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.detail,i=void 0===e?{}:e;this.$emit("error",i)},getShadowClass:function(t,e,i){var n="";return e&&"white"!=t&&!i&&(n="tui-shadow-"+t),n},getDisabledClass:function(t,e,i){var n="";if(t&&"white"!=e&&-1==e.indexOf("-")){var a=this.disabledGray?"tui-gray-disabled":"tui-dark-disabled";n=i?"tui-dark-disabled-outline":a}return n},getShapeClass:function(t,e){var i="";return"circle"==t?i=e?"tui-outline-fillet":"tui-fillet":"rightAngle"==t&&(i=e?"tui-outline-rightAngle":"tui-rightAngle"),i},getHoverClass:function(t,e,i){var n="";return t||(n=i?"tui-outline-hover":"tui-"+(e||"primary")+"-hover"),n}}};e.default=n},d521:function(t,e,i){"use strict";i.d(e,"b",(function(){return n})),i.d(e,"c",(function(){return a})),i.d(e,"a",(function(){}));var n=function(){var t=this,e=t.$createElement,i=(t._self._c,t.getDisabledClass(t.disabled,t.type,t.plain)),n=t.getShapeClass(t.shape,t.plain),a=t.getShadowClass(t.type,t.shadow,t.plain),r=t.getHoverClass(t.disabled,t.type,t.plain);t.$mp.data=Object.assign({},{$root:{m0:i,m1:n,m2:a,m3:r}})},a=[]},d8e3:function(t,e,i){"use strict";var n=i("8ecf"),a=i.n(n);a.a}}]); +;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([ + 'components/thorui/tui-button/tui-button-create-component', + { + 'components/thorui/tui-button/tui-button-create-component':(function(module, exports, __webpack_require__){ + __webpack_require__('543d')['createComponent'](__webpack_require__("12fe")) + }) + }, + [['components/thorui/tui-button/tui-button-create-component']] +]); diff --git a/unpackage/dist/build/mp-weixin/components/thorui/tui-button/tui-button.json b/unpackage/dist/build/mp-weixin/components/thorui/tui-button/tui-button.json new file mode 100644 index 0000000..4575d1b --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/thorui/tui-button/tui-button.json @@ -0,0 +1,4 @@ +{ + "usingComponents": {}, + "component": true +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/thorui/tui-button/tui-button.wxml b/unpackage/dist/build/mp-weixin/components/thorui/tui-button/tui-button.wxml new file mode 100644 index 0000000..de35a40 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/thorui/tui-button/tui-button.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/thorui/tui-button/tui-button.wxss b/unpackage/dist/build/mp-weixin/components/thorui/tui-button/tui-button.wxss new file mode 100644 index 0000000..6f9f959 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/thorui/tui-button/tui-button.wxss @@ -0,0 +1 @@ +.tui-btn-primary.data-v-9109c28e{background:#5677fc!important;color:#fff}.tui-shadow-primary.data-v-9109c28e{box-shadow:0 10rpx 14rpx 0 rgba(86,119,252,.2)}.tui-btn-danger.data-v-9109c28e{background:#eb0909!important;color:#fff}.tui-shadow-danger.data-v-9109c28e{box-shadow:0 10rpx 14rpx 0 rgba(235,9,9,.2)}.tui-btn-warning.data-v-9109c28e{background:#fc872d!important;color:#fff}.tui-shadow-warning.data-v-9109c28e{box-shadow:0 10rpx 14rpx 0 rgba(252,135,45,.2)}.tui-btn-green.data-v-9109c28e{background:#07c160!important;color:#fff}.tui-shadow-green.data-v-9109c28e{box-shadow:0 10rpx 14rpx 0 rgba(7,193,96,.2)}.tui-btn-blue.data-v-9109c28e{background:#007aff!important;color:#fff}.tui-shadow-blue.data-v-9109c28e{box-shadow:0 10rpx 14rpx 0 rgba(0,122,255,.2)}.tui-btn-white.data-v-9109c28e{background:#fff!important;color:#333!important}.tui-btn-gray.data-v-9109c28e{background:#bfbfbf!important;color:#fff!important}.tui-btn-black.data-v-9109c28e{background:#333!important;color:#fff!important}.tui-btn-brown.data-v-9109c28e{background:#ac9157!important;color:#fff!important}.tui-btn-gray-black.data-v-9109c28e{background:#f2f2f2!important;color:#333}.tui-btn-gray-primary.data-v-9109c28e{background:#f2f2f2!important;color:#5677fc!important}.tui-gray-primary-hover.data-v-9109c28e{background:#d9d9d9!important}.tui-btn-gray-green.data-v-9109c28e{background:#f2f2f2!important;color:#07c160!important}.tui-gray-green-hover.data-v-9109c28e{background:#d9d9d9!important}.tui-btn-gray-danger.data-v-9109c28e{background:#f2f2f2!important;color:#eb0909!important}.tui-gray-danger-hover.data-v-9109c28e{background:#d9d9d9!important}.tui-btn-gray-warning.data-v-9109c28e{background:#f2f2f2!important;color:#fc872d!important}.tui-gray-warning-hover.data-v-9109c28e{background:#d9d9d9!important}.tui-shadow-gray.data-v-9109c28e{box-shadow:0 10rpx 14rpx 0 hsla(0,0%,74.9%,.2)}.tui-hover-gray.data-v-9109c28e{background:#f7f7f9!important}.tui-black-hover.data-v-9109c28e{background:#555!important;color:#e5e5e5!important}.tui-brown-hover.data-v-9109c28e{background:#a37f49!important;color:#e5e5e5!important}.tui-btn.data-v-9109c28e{width:100%;position:relative;border:0!important;border-radius:6rpx;padding-left:0;padding-right:0;overflow:visible}.tui-btn.data-v-9109c28e::after{content:"";position:absolute;width:200%;height:200%;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scale(.5) translateZ(0);transform:scale(.5) translateZ(0);box-sizing:border-box;left:0;top:0;border-radius:12rpx;border:0}.tui-text-bold.data-v-9109c28e{font-weight:700}.tui-btn-white.data-v-9109c28e::after{border:1px solid #bfbfbf}.tui-white-hover.data-v-9109c28e{background:#e5e5e5!important;color:#2e2e2e!important}.tui-dark-disabled.data-v-9109c28e{opacity:.6!important;color:#fafbfc!important}.tui-dark-disabled-outline.data-v-9109c28e{opacity:.5!important}.tui-gray-disabled.data-v-9109c28e{background:#f3f3f3!important;color:#919191!important;box-shadow:none}.tui-outline-hover.data-v-9109c28e{opacity:.5}.tui-primary-hover.data-v-9109c28e{background:#4a67d6!important;color:#e5e5e5!important}.tui-primary-outline.data-v-9109c28e::after{border:1px solid #5677fc!important}.tui-primary-outline.data-v-9109c28e{color:#5677fc!important;background:transparent}.tui-danger-hover.data-v-9109c28e{background:#c80808!important;color:#e5e5e5!important}.tui-danger-outline.data-v-9109c28e{color:#eb0909!important;background:transparent}.tui-danger-outline.data-v-9109c28e::after{border:1px solid #eb0909!important}.tui-warning-hover.data-v-9109c28e{background:#d67326!important;color:#e5e5e5!important}.tui-warning-outline.data-v-9109c28e{color:#fc872d!important;background:transparent}.tui-warning-outline.data-v-9109c28e::after{border:1px solid #fc872d!important}.tui-green-hover.data-v-9109c28e{background:#06ad56!important;color:#e5e5e5!important}.tui-green-outline.data-v-9109c28e{color:#07c160!important;background:transparent}.tui-green-outline.data-v-9109c28e::after{border:1px solid #07c160!important}.tui-blue-hover.data-v-9109c28e{background:#0062cc!important;color:#e5e5e5!important}.tui-blue-outline.data-v-9109c28e{color:#007aff!important;background:transparent}.tui-blue-outline.data-v-9109c28e::after{border:1px solid #007aff!important}.tui-btn-gradual.data-v-9109c28e{background:linear-gradient(90deg,#ff5926,#f00e2c)!important;color:#fff!important}.tui-shadow-gradual.data-v-9109c28e{box-shadow:0 10rpx 14rpx 0 rgba(235,9,9,.15)}.tui-gray-hover.data-v-9109c28e{background:#a3a3a3!important;color:#898989}.tui-gradual-hover.data-v-9109c28e{background:linear-gradient(90deg,#d74620,#cd1225)!important;color:#fff!important}.tui-gray-outline.data-v-9109c28e{color:#999!important;background:transparent!important}.tui-white-outline.data-v-9109c28e{color:#fff!important;background:transparent!important}.tui-black-outline.data-v-9109c28e{background:transparent!important;color:#333!important}.tui-gray-outline.data-v-9109c28e::after{border:1px solid #ccc!important}.tui-white-outline.data-v-9109c28e::after{border:1px solid #fff!important}.tui-black-outline.data-v-9109c28e::after{border:1px solid #333!important}.tui-brown-outline.data-v-9109c28e{color:#ac9157!important;background:transparent}.tui-brown-outline.data-v-9109c28e::after{border:1px solid #ac9157!important}.tui-fillet.data-v-9109c28e{border-radius:50rpx}.tui-btn-white.tui-fillet.data-v-9109c28e::after{border-radius:98rpx}.tui-outline-fillet.data-v-9109c28e::after{border-radius:98rpx}.tui-rightAngle.data-v-9109c28e{border-radius:0}.tui-btn-white.tui-rightAngle.data-v-9109c28e::after{border-radius:0}.tui-outline-rightAngle.data-v-9109c28e::after{border-radius:0}.tui-btn__link.data-v-9109c28e::after{border:0!important} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/thorui/tui-modal/tui-modal.js b/unpackage/dist/build/mp-weixin/components/thorui/tui-modal/tui-modal.js new file mode 100644 index 0000000..a4cd495 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/thorui/tui-modal/tui-modal.js @@ -0,0 +1,10 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["components/thorui/tui-modal/tui-modal"],{"500a":function(t,e,n){"use strict";n.r(e);var a=n("539c"),u=n("7d96");for(var r in u)["default"].indexOf(r)<0&&function(t){n.d(e,t,(function(){return u[t]}))}(r);n("a9df");var i=n("f0c5"),l=Object(i["a"])(u["default"],a["b"],a["c"],!1,null,"1507112d",null,!1,a["a"],void 0);e["default"]=l.exports},"539c":function(t,e,n){"use strict";n.d(e,"b",(function(){return a})),n.d(e,"c",(function(){return u})),n.d(e,"a",(function(){}));var a=function(){var t=this,e=t.$createElement,n=(t._self._c,t.custom?null:t.button.length),a=t.custom?null:t.__map(t.button,(function(e,n){var a=t.__get_orig(e),u=t.button.length,r=t.button.length;return{$orig:a,g1:u,g2:r}}));t.$mp.data=Object.assign({},{$root:{g0:n,l0:a}})},u=[]},"5c33":function(t,e,n){},"7d96":function(t,e,n){"use strict";n.r(e);var a=n("cf3a"),u=n.n(a);for(var r in a)["default"].indexOf(r)<0&&function(t){n.d(e,t,(function(){return a[t]}))}(r);e["default"]=u.a},a9df:function(t,e,n){"use strict";var a=n("5c33"),u=n.n(a);u.a},cf3a:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var a={name:"tuiModal",emits:["click","cancel"],props:{show:{type:Boolean,default:!1},width:{type:String,default:"84%"},backgroundColor:{type:String,default:"#fff"},padding:{type:String,default:"30rpx 0rpx 0rpx 0rpx"},radius:{type:String,default:"24rpx"},title:{type:String,default:""},content:{type:String,default:""},color:{type:String,default:"#999"},size:{type:Number,default:28},shape:{type:String,default:"square"},button:{type:Array,default:function(){return[{text:"取消",type:"red",plain:!0},{text:"确定",type:"red",plain:!1}]}},maskClosable:{type:Boolean,default:!0},fadeIn:{type:Boolean,default:!1},custom:{type:Boolean,default:!1},zIndex:{type:Number,default:9997},maskZIndex:{type:Number,default:9990}},data:function(){return{}},methods:{handleClick:function(t){if(this.show){var e=t.currentTarget.dataset;this.$emit("click",{index:Number(e.index)})}},handleClickCancel:function(){this.maskClosable&&this.$emit("cancel")}}};e.default=a}}]); +;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([ + 'components/thorui/tui-modal/tui-modal-create-component', + { + 'components/thorui/tui-modal/tui-modal-create-component':(function(module, exports, __webpack_require__){ + __webpack_require__('543d')['createComponent'](__webpack_require__("500a")) + }) + }, + [['components/thorui/tui-modal/tui-modal-create-component']] +]); diff --git a/unpackage/dist/build/mp-weixin/components/thorui/tui-modal/tui-modal.json b/unpackage/dist/build/mp-weixin/components/thorui/tui-modal/tui-modal.json new file mode 100644 index 0000000..4575d1b --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/thorui/tui-modal/tui-modal.json @@ -0,0 +1,4 @@ +{ + "usingComponents": {}, + "component": true +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/thorui/tui-modal/tui-modal.wxml b/unpackage/dist/build/mp-weixin/components/thorui/tui-modal/tui-modal.wxml new file mode 100644 index 0000000..c948168 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/thorui/tui-modal/tui-modal.wxml @@ -0,0 +1 @@ +{{title}}{{content}} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/thorui/tui-modal/tui-modal.wxss b/unpackage/dist/build/mp-weixin/components/thorui/tui-modal/tui-modal.wxss new file mode 100644 index 0000000..fea91cb --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/thorui/tui-modal/tui-modal.wxss @@ -0,0 +1 @@ +.tui-modal__container.data-v-1507112d{width:100%;height:100%;position:fixed;left:0;top:0;display:flex;align-items:center;justify-content:center;visibility:hidden}.tui-modal-box.data-v-1507112d{position:relative;opacity:0;visibility:hidden;box-sizing:border-box;transition:all .3s ease-in-out}.tui-modal-scale.data-v-1507112d{-webkit-transform:scale(0);transform:scale(0)}.tui-modal-normal.data-v-1507112d{-webkit-transform:scale(1);transform:scale(1)}.tui-modal-show.data-v-1507112d{opacity:1;visibility:visible}.tui-modal-mask.data-v-1507112d{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.6);transition:all .3s ease-in-out;opacity:0;visibility:hidden}.tui-mask-show.data-v-1507112d{visibility:visible;opacity:1}.tui-modal-title.data-v-1507112d{text-align:center;font-size:34rpx;color:#333;padding-top:20rpx;font-weight:700}.tui-modal-content.data-v-1507112d{text-align:center;color:#999;font-size:28rpx;padding-top:20rpx;padding-bottom:60rpx}.tui-mtop.data-v-1507112d{margin-top:30rpx}.tui-mbtm.data-v-1507112d{margin-bottom:30rpx}.tui-modalBtn-box.data-v-1507112d{width:100%;display:flex;align-items:center;justify-content:space-between}.tui-flex-column.data-v-1507112d{flex-direction:column}.tui-modal-btn.data-v-1507112d{width:46%;height:68rpx;line-height:68rpx;position:relative;border-radius:10rpx;font-size:26rpx;overflow:visible;margin-left:0;margin-right:0}.tui-modal-btn.data-v-1507112d::after{content:" ";position:absolute;width:200%;height:200%;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scale(.5) translateZ(0);transform:scale(.5) translateZ(0);left:0;top:0;border-radius:20rpx;z-index:2}.tui-btn-width.data-v-1507112d{width:80%!important}.tui-primary.data-v-1507112d{background:#5677fc;color:#fff}.tui-primary-hover.data-v-1507112d{background:#4a67d6;color:#e5e5e5}.tui-primary-outline.data-v-1507112d{color:#5677fc;background:transparent}.tui-primary-outline.data-v-1507112d::after{border:1px solid #5677fc}.tui-danger.data-v-1507112d{background:#ed3f14;color:#fff}.tui-danger-hover.data-v-1507112d{background:#d53912;color:#e5e5e5}.tui-danger-outline.data-v-1507112d{color:#ed3f14;background:transparent}.tui-danger-outline.data-v-1507112d::after{border:1px solid #ed3f14}.tui-red.data-v-1507112d{background:#e41f19;color:#fff}.tui-red-hover.data-v-1507112d{background:#c51a15;color:#e5e5e5}.tui-red-outline.data-v-1507112d{color:#e41f19;background:transparent}.tui-red-outline.data-v-1507112d::after{border:1px solid #e41f19}.tui-warning.data-v-1507112d{background:#ff7900;color:#fff}.tui-warning-hover.data-v-1507112d{background:#e56d00;color:#e5e5e5}.tui-warning-outline.data-v-1507112d{color:#ff7900;background:transparent}.tui-warning-outline.data-v-1507112d::after{border:1px solid #ff7900}.tui-green.data-v-1507112d{background:#19be6b;color:#fff}.tui-green-hover.data-v-1507112d{background:#16ab60;color:#e5e5e5}.tui-green-outline.data-v-1507112d{color:#19be6b;background:transparent}.tui-green-outline.data-v-1507112d::after{border:1px solid #19be6b}.tui-white.data-v-1507112d{background:#fff;color:#333}.tui-white-hover.data-v-1507112d{background:#f7f7f9;color:#666}.tui-white-outline.data-v-1507112d{color:#333;background:transparent}.tui-white-outline.data-v-1507112d::after{border:1px solid #333}.tui-gray.data-v-1507112d{background:#ededed;color:#999}.tui-gray-hover.data-v-1507112d{background:#d5d5d5;color:#898989}.tui-gray-outline.data-v-1507112d{color:#999;background:transparent}.tui-gray-outline.data-v-1507112d::after{border:1px solid #999}.tui-outline-hover.data-v-1507112d{opacity:.6}.tui-circle-btn.data-v-1507112d{border-radius:40rpx!important}.tui-circle-btn.data-v-1507112d::after{border-radius:80rpx!important} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/vip-card/vip-card.js b/unpackage/dist/build/mp-weixin/components/vip-card/vip-card.js new file mode 100644 index 0000000..4b49974 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/vip-card/vip-card.js @@ -0,0 +1,10 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["components/vip-card/vip-card"],{"0162":function(t,i,n){"use strict";n.r(i);var a=n("bd43"),e=n("4401");for(var r in e)["default"].indexOf(r)<0&&function(t){n.d(i,t,(function(){return e[t]}))}(r);n("f069");var o=n("f0c5"),d=Object(o["a"])(e["default"],a["b"],a["c"],!1,null,"66c447f0",null,!1,a["a"],void 0);i["default"]=d.exports},2736:function(t,i,n){"use strict";(function(t){Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var n={name:"vip-card",props:{IndexvipCardList:{type:Array,default:[],required:!1},indexVip:{type:Boolean,default:!1,required:!1}},data:function(){return{vipCardList:[]}},mounted:function(){var i=this;this.indexVip||this.$requst.get("/api/card/get-all-card").then((function(n){if(0==n.code){console.log(n,"会员卡列表"),t.setStorageSync("vip_card",n.data);var a=[];n.data.forEach((function(t){var i={id:t.id,src:"".concat(getApp().globalData.hostapi)+t.cover,price:t.price,name:t.name,total_amount:t.total_amount};a.push(i)})),i.vipCardList=a}else i.$toolAll.tools.showToast(n.msg)}))},methods:{goDetail:function(i,n){var a={index:i,id:n};t.navigateTo({url:"/pagesA/vipCard/vipCardDetail?data="+JSON.stringify(a)})}}};i.default=n}).call(this,n("543d")["default"])},4401:function(t,i,n){"use strict";n.r(i);var a=n("2736"),e=n.n(a);for(var r in a)["default"].indexOf(r)<0&&function(t){n.d(i,t,(function(){return a[t]}))}(r);i["default"]=e.a},"94c1":function(t,i,n){},bd43:function(t,i,n){"use strict";n.d(i,"b",(function(){return a})),n.d(i,"c",(function(){return e})),n.d(i,"a",(function(){}));var a=function(){var t=this.$createElement,i=(this._self._c,this.indexVip?this.IndexvipCardList.length:null),n=this.indexVip?null:this.vipCardList.length;this.$mp.data=Object.assign({},{$root:{g0:i,g1:n}})},e=[]},f069:function(t,i,n){"use strict";var a=n("94c1"),e=n.n(a);e.a}}]); +;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([ + 'components/vip-card/vip-card-create-component', + { + 'components/vip-card/vip-card-create-component':(function(module, exports, __webpack_require__){ + __webpack_require__('543d')['createComponent'](__webpack_require__("0162")) + }) + }, + [['components/vip-card/vip-card-create-component']] +]); diff --git a/unpackage/dist/build/mp-weixin/components/vip-card/vip-card.json b/unpackage/dist/build/mp-weixin/components/vip-card/vip-card.json new file mode 100644 index 0000000..4575d1b --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/vip-card/vip-card.json @@ -0,0 +1,4 @@ +{ + "usingComponents": {}, + "component": true +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/vip-card/vip-card.wxml b/unpackage/dist/build/mp-weixin/components/vip-card/vip-card.wxml new file mode 100644 index 0000000..bfe843b --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/vip-card/vip-card.wxml @@ -0,0 +1 @@ +{{item.name}}{{"¥"+item.price}}{{"销量:"+item.total_amount}}{{item.name}}{{"¥"+item.price}}{{"销量:"+item.total_amount}} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/vip-card/vip-card.wxss b/unpackage/dist/build/mp-weixin/components/vip-card/vip-card.wxss new file mode 100644 index 0000000..5f4dd5c --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/vip-card/vip-card.wxss @@ -0,0 +1 @@ +.vip-card-nav.data-v-66c447f0{display:flex;justify-content:space-between;align-items:center}.card-nav-item.data-v-66c447f0{width:550rpx;max-height:320rpx;margin-right:20rpx;border-radius:10rpx;overflow:hidden;position:relative}.card-nav-item image.data-v-66c447f0{width:550rpx;height:250rpx}.pic-text.data-v-66c447f0{margin-top:20rpx;display:none}.pic-text .name.data-v-66c447f0{font-size:28rpx;line-height:1.6}.pic-text .text.data-v-66c447f0{display:flex;align-items:center;justify-content:space-between;margin-top:14rpx}.pic-text .text .price.data-v-66c447f0{font-size:26rpx;color:red}.pic-text .text .sales.data-v-66c447f0{font-size:24rpx;color:#999} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/wakary-input/components/wakary-input/wakary-input.js b/unpackage/dist/build/mp-weixin/components/wakary-input/components/wakary-input/wakary-input.js new file mode 100644 index 0000000..55c965d --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/wakary-input/components/wakary-input/wakary-input.js @@ -0,0 +1,10 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["components/wakary-input/components/wakary-input/wakary-input"],{"019a":function(t,n,e){"use strict";e.d(n,"b",(function(){return a})),e.d(n,"c",(function(){return r})),e.d(n,"a",(function(){}));var a=function(){var t=this,n=t.$createElement,e=(t._self._c,t.__map(t.ranges,(function(n,e){var a=t.__get_orig(n),r=t.isPwd&&t.codeArr.length>=n;return{$orig:a,g0:r}})));t.$mp.data=Object.assign({},{$root:{l0:e}})},r=[]},3398:function(t,n,e){"use strict";e.r(n);var a=e("019a"),r=e("b70f");for(var i in r)["default"].indexOf(i)<0&&function(t){e.d(n,t,(function(){return r[t]}))}(i);e("a7a8");var u=e("f0c5"),o=Object(u["a"])(r["default"],a["b"],a["c"],!1,null,"0690758e",null,!1,a["a"],void 0);n["default"]=o.exports},"3db7":function(t,n,e){},"55ac":function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var a={name:"uiOneInput",props:{maxlength:{type:Number,default:6},isPwd:{type:Boolean,default:!1},type:{type:String,default:"middle"}},watch:{maxlength:{immediate:!0,handler:function(t){this.ranges=6===t?[1,2,3,4,5,6]:[1,2,3,4]}}},data:function(){return{codeIndex:1,codeArr:[],ranges:[1,2,3,4]}},methods:{getVal:function(t){var n=t.detail.value,e=n.split("");this.codeIndex=e.length+1,this.codeArr=e,this.codeIndex>Number(this.maxlength)&&this.$emit("finish",this.codeArr.join(""))}}};n.default=a},a7a8:function(t,n,e){"use strict";var a=e("3db7"),r=e.n(a);r.a},b70f:function(t,n,e){"use strict";e.r(n);var a=e("55ac"),r=e.n(a);for(var i in a)["default"].indexOf(i)<0&&function(t){e.d(n,t,(function(){return a[t]}))}(i);n["default"]=r.a}}]); +;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([ + 'components/wakary-input/components/wakary-input/wakary-input-create-component', + { + 'components/wakary-input/components/wakary-input/wakary-input-create-component':(function(module, exports, __webpack_require__){ + __webpack_require__('543d')['createComponent'](__webpack_require__("3398")) + }) + }, + [['components/wakary-input/components/wakary-input/wakary-input-create-component']] +]); diff --git a/unpackage/dist/build/mp-weixin/components/wakary-input/components/wakary-input/wakary-input.json b/unpackage/dist/build/mp-weixin/components/wakary-input/components/wakary-input/wakary-input.json new file mode 100644 index 0000000..4575d1b --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/wakary-input/components/wakary-input/wakary-input.json @@ -0,0 +1,4 @@ +{ + "usingComponents": {}, + "component": true +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/wakary-input/components/wakary-input/wakary-input.wxml b/unpackage/dist/build/mp-weixin/components/wakary-input/components/wakary-input/wakary-input.wxml new file mode 100644 index 0000000..6c27bdf --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/wakary-input/components/wakary-input/wakary-input.wxml @@ -0,0 +1 @@ +.{{''+(codeArr[index]?codeArr[index]:'')}} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/components/wakary-input/components/wakary-input/wakary-input.wxss b/unpackage/dist/build/mp-weixin/components/wakary-input/components/wakary-input/wakary-input.wxss new file mode 100644 index 0000000..d5a7e77 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/components/wakary-input/components/wakary-input/wakary-input.wxss @@ -0,0 +1 @@ +@-webkit-keyframes twinkling-data-v-0690758e{0%{opacity:.2}50%{opacity:.5}100%{opacity:.2}}@keyframes twinkling-data-v-0690758e{0%{opacity:.2}50%{opacity:.5}100%{opacity:.2}}.code-box.data-v-0690758e{text-align:center}.flex-box.data-v-0690758e{display:flex;justify-content:center;flex-wrap:wrap;position:relative}.flex-box .hide-input.data-v-0690758e{position:absolute;top:0;left:-100%;width:200%;height:100%;text-align:left;z-index:9;opacity:1}.flex-box .item.data-v-0690758e{position:relative;width:92rpx;height:92rpx;margin-right:20rpx;font-size:40rpx;color:#333;line-height:92rpx}.flex-box .item.data-v-0690758e:last-child{margin-right:0}.flex-box .middle.data-v-0690758e{border:none}.flex-box .box.data-v-0690758e{box-sizing:border-box;border:2rpx solid #dae3eb;border-radius:20rpx}.flex-box .bottom.data-v-0690758e{box-sizing:border-box;border-bottom:8rpx solid #212121}.flex-box .active.data-v-0690758e{border-color:#0567b8}.flex-box .active .line.data-v-0690758e{display:block}.flex-box .line.data-v-0690758e{display:none;position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:2rpx;height:40rpx;background:#333;-webkit-animation:twinkling-data-v-0690758e 1s infinite ease;animation:twinkling-data-v-0690758e 1s infinite ease}.flex-box .dot.data-v-0690758e{font-size:80rpx;line-height:40rpx}.flex-box .bottom-line.data-v-0690758e{height:4px;background:#000;width:80%;position:absolute;border-radius:2px;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/cart/cart.js b/unpackage/dist/build/mp-weixin/pages/cart/cart.js new file mode 100644 index 0000000..07d1f3e --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pages/cart/cart.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/cart/cart"],{"055e":function(t,i,s){"use strict";s.r(i);var n=s("4f09"),e=s.n(n);for(var o in n)["default"].indexOf(o)<0&&function(t){s.d(i,t,(function(){return n[t]}))}(o);i["default"]=e.a},"4f09":function(t,i,s){"use strict";(function(t){Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var n={components:{swiperPu:function(){s.e("components/swipers/swiper-pu").then(function(){return resolve(s("8124"))}.bind(null,s)).catch(s.oe)},goodsList:function(){s.e("components/goods-list/goods-list").then(function(){return resolve(s("469f"))}.bind(null,s)).catch(s.oe)}},data:function(){return{statusHeight:t.getSystemInfoSync().statusBarHeight,baseHttps:"".concat(getApp().globalData.hostapi),backgroudColor:"none",bannerList:[],isplay:!1,playTimer:null,goodsBannerHeight:0,zIndex:-1,address:"",ifDel:!1,goodsList:[],originalNum:0,maxNum:99999,minNum:1,skuId:"",flag:!0,cartList:[],isAll:!1,ids:"",page:1,size:999,total:0,category_ids:"",sku_list:[]}},onLoad:function(){t.getStorageSync("baseAddress")&&(this.address=t.getStorageSync("baseAddress")),this.getCartList()},onPageScroll:function(i){i.scrollTop>=5&&(this.backgroudColor="#f7f7f7"),i.scrollTop<=0&&(this.backgroudColor="none"),i.scrollTop>t.getSystemInfoSync().windowHeight?this.zIndex=999:this.zIndex=-1},onReachBottom:function(){},computed:{allNum:function(){var t=0;return this.cartList.forEach((function(i){i.ifChecked&&t++})),t},allPrice:function(){var t=0;return this.cartList.forEach((function(i){i.ifChecked&&(t+=parseFloat(i.price*i.num*1))})),this.$toolAll.tools.addXiaoShu(t).toString()},allScore:function(){var t=0;return this.cartList.forEach((function(i){i.ifChecked&&(t+=parseFloat(i.integral*i.num*1))})),parseInt(t)}},methods:{checkedAllEv:function(){var t=this.cartList.filter((function(t){return 0==t.ifChecked}));t.length>0?(this.isAll=!0,this.cartList.forEach((function(t){return t.ifChecked=!0}))):(this.isAll=!1,this.cartList.forEach((function(t){t.ifChecked=!1})));var i=this.cartList.filter((function(t){return 1==t.ifChecked})),s=[],n=[];i.forEach((function(t){s.push(t.id);var i={sku_coding:t.coding,num:t.num};n.push(i)})),this.ids=s.join(","),this.sku_list=n},checkedEv:function(t){this.cartList[t].ifChecked=!this.cartList[t].ifChecked;var i=this.cartList.filter((function(t){return 0==t.ifChecked}));i.length>0?this.isAll=!1:this.isAll=!0;var s=this.cartList.filter((function(t){return 1==t.ifChecked})),n=[],e=[];s.forEach((function(t){n.push(t.id);var i={sku_coding:t.coding,num:t.num};e.push(i)})),this.ids=n.join(","),this.sku_list=e},addCutEv:function(t,i){var s=this;i?this.cartList[t].num!=this.maxNum&&this.cartList[t].num++:this.cartList[t].num>this.minNum&&this.cartList[t].num--,this.$requst.post("/api/order/shopping-cart-change-num",{id:this.cartList[t].id,num:this.cartList[t].num}).then((function(t){0!=t.code&&s.$toolAll.tools.showToast(t.msg)}));var n=this.cartList.filter((function(t){return 1==t.ifChecked})),e=[];n.forEach((function(t){var i={sku_coding:t.coding,num:t.num};e.push(i)})),this.sku_list=e},editShopEv:function(){this.ifDel=!0},delShopEv:function(){var i=this;this.ifDel=!1,""!==this.ids&&t.showModal({title:"提示",content:"是否删除选中商品?",success:function(t){t.confirm?i.confirmDel():t.cancel&&console.log("用户点击取消")}})},confirmDel:function(){var t=this;this.$requst.post("/api/order/shopping-cart-del",{id:this.ids.toString()}).then((function(i){0==i.code?(t.cartList=t.cartList.filter((function(t){return 0==t.ifChecked})),t.isAll=!1,t.$toolAll.tools.showToast("删除成功")):t.$toolAll.tools.showToast(i.msg)}))},getCartList:function(){var t=this;this.isAll=!1;var i={page:this.page,size:this.size};this.$requst.get("/api/order/shopping-cart",i).then((function(i){if(0==i.code){console.log(i,"购物车列表"),t.total=i.data.total,1==t.page&&(t.cartList=[]);var s=[],n=[];i.data.list.forEach((function(t){var i={id:t.id,spuId:t.spu.id,skuId:t.sku.id,coding:t.sku.coding,src:t.spu.spu_cover,title:t.spu.spu_name,integral:t.score,price:t.sku.sku_price,num:t.num,ifChecked:!1};s.push(i),n.push(t.category_id)})),t.cartList=t.cartList.concat(s),t.category_ids=n.join(","),t.getGoodsList()}else t.$toolAll.tools.showToast(i.msg)}))},focusEv:function(t){this.originalNum=t},blurEv:function(t,i){var s=1*i.detail.value;this.cartList[t].num=s?s>this.maxNum?this.maxNum:s:this.originalNum},getGoodsList:function(){var t=this,i={page:1,size:6};""!==this.category_ids&&(i.category_id=this.category_ids),this.$requst.get("/api/spu/list",i).then((function(i){if(0==i.code){console.log(i,"商品列表");var s=[];i.data.list.forEach((function(i){var n={id:i.id,title:i.name,src:t.baseHttps+i.cover,price:i.price,integral:i.score,sku_id:i.skuInfo.id,tag:i.tag};s.push(n)})),t.goodsList=s}else t.$toolAll.tools.showToast(i.msg)}))},submitEv:function(){this.allNum>0&&(t.setStorageSync("sku_list",this.sku_list),t.navigateTo({url:"/pages/cart/orderConfirm"}))}}};i.default=n}).call(this,s("543d")["default"])},"6e27":function(t,i,s){"use strict";(function(t,i){var n=s("4ea4");s("8513");n(s("66fd"));var e=n(s("c499"));t.__webpack_require_UNI_MP_PLUGIN__=s,i(e.default)}).call(this,s("bc2e")["default"],s("543d")["createPage"])},"7e2d":function(t,i,s){"use strict";s.d(i,"b",(function(){return e})),s.d(i,"c",(function(){return o})),s.d(i,"a",(function(){return n}));var n={statusNav:function(){return s.e("components/status-nav/status-nav").then(s.bind(null,"da82"))},goodsList:function(){return s.e("components/goods-list/goods-list").then(s.bind(null,"469f"))},footBar:function(){return s.e("components/foot-bar/foot-bar").then(s.bind(null,"57f4"))}},e=function(){var t=this,i=t.$createElement,s=(t._self._c,t.cartList.length),n=t.__map(t.cartList,(function(i,s){var n=t.__get_orig(i),e=0!=i.price?i.price.substr(0,i.price.indexOf(".")):null,o=0!=i.price?i.price.substr(i.price.indexOf("."),i.price.length):null;return{$orig:n,g1:e,g2:o}})),e=t.cartList.length,o=t.allPrice.substr(0,t.allPrice.indexOf(".")),r=t.allPrice.substr(t.allPrice.indexOf("."),t.allPrice.length);t.$mp.data=Object.assign({},{$root:{g0:s,l0:n,g3:e,g4:o,g5:r}})},o=[]},c499:function(t,i,s){"use strict";s.r(i);var n=s("7e2d"),e=s("055e");for(var o in e)["default"].indexOf(o)<0&&function(t){s.d(i,t,(function(){return e[t]}))}(o);var r=s("f0c5"),c=Object(r["a"])(e["default"],n["b"],n["c"],!1,null,"b0f791d4",null,!1,n["a"],void 0);i["default"]=c.exports}},[["6e27","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/cart/cart.json b/unpackage/dist/build/mp-weixin/pages/cart/cart.json new file mode 100644 index 0000000..9382b9c --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pages/cart/cart.json @@ -0,0 +1,10 @@ +{ + "navigationBarTitleText": "购物车", + "enablePullDownRefresh": false, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav", + "goods-list": "/components/goods-list/goods-list", + "foot-bar": "/components/foot-bar/foot-bar", + "swiper-pu": "/components/swipers/swiper-pu" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/cart/cart.wxml b/unpackage/dist/build/mp-weixin/pages/cart/cart.wxml new file mode 100644 index 0000000..e6554d0 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pages/cart/cart.wxml @@ -0,0 +1 @@ +{{address}}编辑删除全选{{item.$orig.title}}{{item.g1}}{{item.g2}}+{{item.$orig.integral}}积分购物车空空如也~~猜你喜欢合计:{{$root.g4}}{{$root.g5}}+{{allScore}}积分去结算{{"("+allNum+")"}} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/cart/orderConfirm.js b/unpackage/dist/build/mp-weixin/pages/cart/orderConfirm.js new file mode 100644 index 0000000..2e3a883 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pages/cart/orderConfirm.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/cart/orderConfirm"],{8874:function(t,e,a){"use strict";a.r(e);var n=a("a252"),o=a("e908");for(var i in o)["default"].indexOf(i)<0&&function(t){a.d(e,t,(function(){return o[t]}))}(i);var s=a("f0c5"),r=Object(s["a"])(o["default"],n["b"],n["c"],!1,null,"311afeb8",null,!1,n["a"],void 0);e["default"]=r.exports},9076:function(t,e,a){"use strict";(function(t,a){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n={data:function(){return{statusHeight:t.getSystemInfoSync().statusBarHeight,baseHttps:"".concat(getApp().globalData.hostapi),ifAddress:!1,prepareInfo:[],ifLoading:!1,addrList:[],defaultAddr:[],payBalance:0,payAmount:"",remarks:"",tips:{title:"",msg:"",url:"",btnMsg:""},ifTips:!1,flag:!0}},onLoad:function(){this.getPrepareInfo()},onShow:function(){this.getAddrList()},computed:{},methods:{getAddrList:function(){var t=this;this.$requst.get("/api/user/address").then((function(e){if(0==e.code){if(console.log(e,"地址列表"),t.addrList=e.data,e.data.length>0){var a=e.data.filter((function(t){return 1==t.is_default}));a.length>0?t.defaultAddr=a:t.defaultAddr=[],console.log(t.defaultAddr,222)}}else t.$toolAll.tools.showToast(e.msg)}))},choseAddr:function(t){this.defaultAddr=[],this.defaultAddr.push(this.addrList[t]),this.ifAddress=!1},getPrepareInfo:function(){var e=this;this.$requst.post("/api/order/prepare-info",{sku_list:t.getStorageSync("sku_list")}).then((function(t){0==t.code?(console.log(t,"订单准备信息"),e.prepareInfo=t.data,e.payBalanceEv()):e.$toolAll.tools.showToast(t.msg)}))},payBalanceEv:function(){var t=0,e=this.prepareInfo.list.filter((function(t){return t.pay_type.includes("balance")})),a=e.filter((function(t){return!t.pay_type.includes("wechat")})),n=0,o=0;e.forEach((function(t){n+=1*(t.price*t.num*1+1*t.freight)})),a.forEach((function(t){o+=1*(t.price*t.num*1+1*t.freight)})),console.log(n,o,"bbb"),this.prepareInfo.account.balancen&&(t=n),this.prepareInfo.account.balanceo&&(t=this.prepareInfo.account.balance),this.payBalance=t,this.payAmountEv()},payAmountEv:function(){var t=0;if(this.prepareInfo.pay_type.includes("balance")){var e=1*(this.prepareInfo.original_total+this.prepareInfo.total_freight-this.payBalance);t=e.toFixed(2)}else t=(this.prepareInfo.original_total+this.prepareInfo.total_freight).toFixed(2);this.payAmount=t,this.ifLoading=!0},toAdd:function(){t.navigateTo({url:"/pagesA/address/addAddress?type=add"})},toEdit:function(e){t.navigateTo({url:"/pagesA/address/addAddress?type=edit&id=".concat(e)})},checkScoreEv:function(){return!this.prepareInfo.pay_type.includes("score")||(!(this.prepareInfo.original_score>this.prepareInfo.account.score)||(this.tips={title:"积分不足",msg:"积分不足,请重新选择需要的商品!",url:"/pages/cate/cate",btnMsg:"去浏览"},this.ifTips=!0,!1))},checkBalanceEv:function(){return!this.prepareInfo.pay_type.includes("balance")||(!(this.payBalance>this.prepareInfo.account.balance)||(this.tips={title:"余额不足",msg:"余额不足,请先去充值!",url:"/pagesB/balance/balance",btnMsg:"去充值"},this.ifTips=!0,!1))},goPage:function(e){t.navigateTo({url:e})},submitEv:function(){var e=this;if(""!=this.defaultAddr){if(this.checkScoreEv())if(this.checkBalanceEv()&&this.flag){this.flag=!1;var a=[];this.prepareInfo.pay_type.includes("score")&&a.push("score"),this.payBalance>0&&a.push("balance"),this.payAmount>0&&a.push("wechat");var n={sku_list:t.getStorageSync("sku_list"),address_id:this.defaultAddr[0].id,balance:this.payBalance,openid:t.getStorageSync("openId"),remarks:this.remarks,pay_type:a.join(",")};this.$requst.post("/api/order/create",n).then((function(a){0==a.code?(console.log(a,"提交成功"),a.data.needPay?e.callPayMent(a.data.payment_params,a.data.coding):(e.$toolAll.tools.showToast("订单提交成功"),setTimeout((function(){t.navigateTo({url:"/pagesA/order/order?index=2"})}),1e3)),setTimeout((function(){e.flag=!0}),3e3)):(e.$toolAll.tools.showToast(a.msg),setTimeout((function(){e.flag=!0}),3e3))}))}else this.$toolAll.tools.showToast("请不要重复提交")}else this.$toolAll.tools.showToast("请选择地址")},callPayMent:function(e,n){var o=this;a.requestPayment({timeStamp:e.timeStamp,nonceStr:e.nonceStr,package:e.package,signType:e.signType,paySign:e.sign,success:function(t){console.log("支付成功:",t),o.successEv(n)},fail:function(e){o.$toolAll.tools.showToast("您已取消支付"),setTimeout((function(){t.navigateTo({url:"/pagesA/order/order?index=1"})}),1e3)}})},successEv:function(e){var a=this;this.$requst.post("/api/order/paid",{batch_id:e}).then((function(e){0==e.code?(console.log(e,"成功状态"),a.$toolAll.tools.showToast("支付成功"),setTimeout((function(){t.navigateTo({url:"/pagesA/order/order?index=2"})}),1e3)):a.$toolAll.tools.showToast(e.msg)}))}}};e.default=n}).call(this,a("543d")["default"],a("bc2e")["default"])},a252:function(t,e,a){"use strict";a.d(e,"b",(function(){return o})),a.d(e,"c",(function(){return i})),a.d(e,"a",(function(){return n}));var n={statusNav:function(){return a.e("components/status-nav/status-nav").then(a.bind(null,"da82"))}},o=function(){var t=this,e=t.$createElement,a=(t._self._c,t.defaultAddr.length),n=t.ifLoading?t.prepareInfo.pay_type.includes("wechat"):null,o=t.ifLoading?t.__map(t.prepareInfo.list,(function(e,a){var n=t.__get_orig(e),o=e.price.substr(0,e.price.indexOf(".")),i=e.price.substr(e.price.indexOf("."),e.price.length);return{$orig:n,g2:o,g3:i}})):null,i=t.ifLoading?t.prepareInfo.pay_type.includes("score")&&t.prepareInfo.original_score>0:null,s=t.ifLoading?t.prepareInfo.pay_type.includes("balance"):null,r=t.ifLoading?t.payAmount.substr(0,t.payAmount.indexOf(".")):null,c=t.ifLoading?t.payAmount.substr(t.payAmount.indexOf("."),t.payAmount.length):null;t._isMounted||(t.e0=function(e){t.ifAddress=!0},t.e1=function(e){t.ifTips=!1},t.e2=function(e){t.ifAddress=!1}),t.$mp.data=Object.assign({},{$root:{g0:a,g1:n,l0:o,g4:i,g5:s,g6:r,g7:c}})},i=[]},a64b:function(t,e,a){"use strict";(function(t,e){var n=a("4ea4");a("8513");n(a("66fd"));var o=n(a("8874"));t.__webpack_require_UNI_MP_PLUGIN__=a,e(o.default)}).call(this,a("bc2e")["default"],a("543d")["createPage"])},e908:function(t,e,a){"use strict";a.r(e);var n=a("9076"),o=a.n(n);for(var i in n)["default"].indexOf(i)<0&&function(t){a.d(e,t,(function(){return n[t]}))}(i);e["default"]=o.a}},[["a64b","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/cart/orderConfirm.json b/unpackage/dist/build/mp-weixin/pages/cart/orderConfirm.json new file mode 100644 index 0000000..d84cfe9 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pages/cart/orderConfirm.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "确认订单", + "enablePullDownRefresh": false, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/cart/orderConfirm.wxml b/unpackage/dist/build/mp-weixin/pages/cart/orderConfirm.wxml new file mode 100644 index 0000000..ed7991e --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pages/cart/orderConfirm.wxml @@ -0,0 +1 @@ +默认{{defaultAddr[0].province_str+" "+defaultAddr[0].city_str+" "+defaultAddr[0].county_str}}{{defaultAddr[0].address}}{{defaultAddr[0].name}}{{defaultAddr[0].phone}}请添加地址支付方式微信支付{{item.$orig.spu_name}}{{item.g2}}{{item.g3}}+{{item.$orig.score}}积分{{"x"+item.$orig.num}}商品金额{{"¥"+prepareInfo.original_total}}积分{{"-"+prepareInfo.original_score}}仓储+配送费{{"+¥"+prepareInfo.total_freight}}余额{{"-¥"+payBalance}}订单备注建议留言前先与商家沟通确认实付:{{$root.g6}}{{$root.g7}}提交订单{{tips.title}}{{tips.msg}}{{tips.btnMsg}}请选择收货地址默认{{item.province_str+" "+item.city_str+" "+item.county_str}}{{item.address}}{{item.name}}{{item.phone}}新增收货地址 \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/cate/cate.js b/unpackage/dist/build/mp-weixin/pages/cate/cate.js new file mode 100644 index 0000000..fc4c9fc --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pages/cate/cate.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/cate/cate"],{"4b36":function(t,e,o){"use strict";o.r(e);var n=o("d778"),i=o.n(n);for(var a in n)["default"].indexOf(a)<0&&function(t){o.d(e,t,(function(){return n[t]}))}(a);e["default"]=i.a},"6ee2":function(t,e,o){},"8ee3":function(t,e,o){"use strict";(function(t,e){var n=o("4ea4");o("8513");n(o("66fd"));var i=n(o("9cc1"));t.__webpack_require_UNI_MP_PLUGIN__=o,e(i.default)}).call(this,o("bc2e")["default"],o("543d")["createPage"])},"9cc1":function(t,e,o){"use strict";o.r(e);var n=o("cea4"),i=o("4b36");for(var a in i)["default"].indexOf(a)<0&&function(t){o.d(e,t,(function(){return i[t]}))}(a);o("f218");var s=o("f0c5"),c=Object(s["a"])(i["default"],n["b"],n["c"],!1,null,null,null,!1,n["a"],void 0);e["default"]=c.exports},cea4:function(t,e,o){"use strict";o.d(e,"b",(function(){return i})),o.d(e,"c",(function(){return a})),o.d(e,"a",(function(){return n}));var n={statusNav:function(){return o.e("components/status-nav/status-nav").then(o.bind(null,"da82"))},goodsList:function(){return o.e("components/goods-list/goods-list").then(o.bind(null,"469f"))},vipCard:function(){return o.e("components/vip-card/vip-card").then(o.bind(null,"0162"))},footBar:function(){return o.e("components/foot-bar/foot-bar").then(o.bind(null,"57f4"))}},i=function(){var t=this.$createElement,e=(this._self._c,this.goodsList.length);this.$mp.data=Object.assign({},{$root:{g0:e}})},a=[]},d778:function(t,e,o){"use strict";(function(t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var i={components:{goodsList:function(){o.e("components/goods-list/goods-list").then(function(){return resolve(o("469f"))}.bind(null,o)).catch(o.oe)},vipCard:function(){o.e("components/vip-card/vip-card").then(function(){return resolve(o("0162"))}.bind(null,o)).catch(o.oe)}},data:function(){return{statusHeight:t.getSystemInfoSync().statusBarHeight,scrollHeight:t.getSystemInfoSync().windowHeight,baseHttps:"".concat(getApp().globalData.hostapi),searchHeight:0,keyword:"",first_home:!0,footHeight:t.getStorageSync("footHeight"),backgroudColor:"none",cateList:[],cateId:0,goodsList:[],order:"normal",page:1,size:10,total:0,cate_bannerCont:{}}},onLoad:function(e){var o=this;e.order&&(this.order=e.order),t.setNavigationBarColor({frontColor:"#ffffff",backgroundColor:"none"});var i=n.createSelectorQuery().in(this);i.select(".search-bg").boundingClientRect((function(t){o.searchHeight=t.height})).exec();var a=e.id;a?(this.cateId=a,this.getCateList(),this.changeCate(a)):(this.getCateList(),setTimeout((function(){o.getGoodsList()}),1e3))},onPageScroll:function(t){t.scrollTop>=5&&(this.backgroudColor="#0567b8"),t.scrollTop<=0&&(this.backgroudColor="none")},onReachBottom:function(){this.total!==this.goodsList.length&&(this.page++,this.getGoodsList())},onHide:function(){clearTimeout(this.playTimer),this.isplay=!1},methods:{goPage:function(e){t.navigateTo({url:e})},searchEv:function(){""!==this.keyword&&t.navigateTo({url:"/pagesA/search/search?keyword=".concat(this.keyword)})},cate_banner:function(t){this.cate_bannerCont=t,console.log(this.cate_bannerCont,"aa")},getCateList:function(){var t=this;this.$requst.get("/api/spu/category").then((function(e){0==e.code?(console.log(e,"商品分类"),t.cateList=e.data,t.first_home&&(t.cateId=e.data[0].id)):t.$toolAll.tools.showToast(e.msg)}))},getGoodsList:function(){var t=this,e={page:this.page,size:this.size,category_id:this.cateId,order:this.order};"61"==this.cateId&&(delete e.category_id,e.is_special=1),this.$requst.get("/api/spu/list",e).then((function(e){if(0==e.code){console.log(e,"商品列表"),t.total=e.data.total,1==t.page&&(t.goodsList=[]);var o=[];e.data.list.forEach((function(e){var n={id:e.id,title:e.name,src:t.baseHttps+e.cover,price:e.price,integral:e.score,sku_id:e.skuInfo.id,tag:e.tag};o.push(n)})),t.goodsList=t.goodsList.concat(o)}else t.$toolAll.tools.showToast(e.msg)}))},changeCate:function(t){this.first_home=!1,this.cateId=t,this.page=1,this.getGoodsList()}}};e.default=i}).call(this,o("543d")["default"],o("bc2e")["default"])},f218:function(t,e,o){"use strict";var n=o("6ee2"),i=o.n(n);i.a}},[["8ee3","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/cate/cate.json b/unpackage/dist/build/mp-weixin/pages/cate/cate.json new file mode 100644 index 0000000..b1a0a95 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pages/cate/cate.json @@ -0,0 +1,10 @@ +{ + "navigationBarTitleText": "分类", + "enablePullDownRefresh": false, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav", + "goods-list": "/components/goods-list/goods-list", + "vip-card": "/components/vip-card/vip-card", + "foot-bar": "/components/foot-bar/foot-bar" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/cate/cate.wxml b/unpackage/dist/build/mp-weixin/pages/cate/cate.wxml new file mode 100644 index 0000000..14e1f78 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pages/cate/cate.wxml @@ -0,0 +1 @@ +{{item.title}}{{$root.g0==total?'不要再往下拉,我是有底线的~~':'下拉加载更多~~'}} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/cate/cate.wxss b/unpackage/dist/build/mp-weixin/pages/cate/cate.wxss new file mode 100644 index 0000000..cc474fb --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pages/cate/cate.wxss @@ -0,0 +1 @@ +.vip-card .vip-card-nav{flex-direction:column;width:100%!important}.vip-card .vip-card-nav .card-nav-item{width:100%!important;max-height:none!important;margin-right:0!important;margin-bottom:30rpx!important;border-bottom:1px solid #ececec;padding-bottom:30rpx!important}.vip-card .vip-card-nav .card-nav-item image{width:100%!important}.pic-text{display:block!important} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/index/index.js b/unpackage/dist/build/mp-weixin/pages/index/index.js new file mode 100644 index 0000000..1818e03 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pages/index/index.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/index/index"],{2982:function(t,e,o){"use strict";o.d(e,"b",(function(){return s})),o.d(e,"c",(function(){return i})),o.d(e,"a",(function(){return n}));var n={statusNav:function(){return o.e("components/status-nav/status-nav").then(o.bind(null,"da82"))},vipCard:function(){return o.e("components/vip-card/vip-card").then(o.bind(null,"0162"))},goodsList:function(){return o.e("components/goods-list/goods-list").then(o.bind(null,"469f"))},footBar:function(){return o.e("components/foot-bar/foot-bar").then(o.bind(null,"57f4"))}},s=function(){var t=this,e=t.$createElement,o=(t._self._c,t.lampList.length),n=t.lampList.length,s=t.lampList.length,i=t.noticeList.length,a=t.TeGoodsList.length,c=a>0?t.__map(t.TeGoodsList,(function(e,o){var n=t.__get_orig(e),s=0!=e.price?e.price.substr(0,e.price.indexOf(".")):null,i=0!=e.price?e.price.substr(e.price.indexOf("."),e.price.length):null;return{$orig:n,g5:s,g6:i}})):null,r=t.__map(t.hotGoodsList,(function(e,o){var n=t.__get_orig(e),s=0!=e.price?e.price.substr(0,e.price.indexOf(".")):null,i=0!=e.price?e.price.substr(e.price.indexOf("."),e.price.length):null;return{$orig:n,g7:s,g8:i}}));t.$mp.data=Object.assign({},{$root:{g0:o,g1:n,g2:s,g3:i,g4:a,l0:c,l1:r}})},i=[]},"2ffa":function(t,e,o){"use strict";o.r(e);var n=o("5baf"),s=o.n(n);for(var i in n)["default"].indexOf(i)<0&&function(t){o.d(e,t,(function(){return n[t]}))}(i);e["default"]=s.a},"5baf":function(t,e,o){"use strict";(function(t){var n=o("4ea4");Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var s=n(o("2eee")),i=n(o("c973")),a=o("7086"),c=(new a({key:"QNHBZ-55RKF-OMFJJ-NPU7O-EPSDH-ACBAA"}),{components:{vipCard:function(){o.e("components/vip-card/vip-card").then(function(){return resolve(o("0162"))}.bind(null,o)).catch(o.oe)},goodsList:function(){o.e("components/goods-list/goods-list").then(function(){return resolve(o("469f"))}.bind(null,o)).catch(o.oe)},swiperPu:function(){o.e("components/swipers/swiper-pu").then(function(){return resolve(o("8124"))}.bind(null,o)).catch(o.oe)},swiperLamp:function(){o.e("components/swipers/swiper-lamp").then(function(){return resolve(o("08e6"))}.bind(null,o)).catch(o.oe)}},data:function(){return{statusHeight:t.getSystemInfoSync().statusBarHeight,baseHttps:"".concat(getApp().globalData.hostapi),backgroudColor:"none",keyword:"",bannerList:[],isplay:!1,playTimer:null,cateNavList:[],cateOtherList:[{title:"积分兑换",cover:"/static/cate/cate-08.png",url:"/pagesB/integral/integral"},{title:"用户中心",cover:"/static/cate/cate-09.png",url:"/pages/my/my"},{title:"购物车",cover:"/static/cate/cate-10.png",url:"/pages/cart/cart"}],TeGoodsList:[],hotGoodsList:[],goodsCateList:[],goodsCateIndex:0,scrollLeft:0,tabsScrollLeft:0,goodsList:[],lampList:[],noticeList:[],IndexvipCardList:[],indexVip:!0}},onLoad:function(e){var o=this;return(0,i.default)(s.default.mark((function n(){var i,a,c;return s.default.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return n.next=2,o.$onLaunched;case 2:if(t.setNavigationBarColor({frontColor:"#ffffff",backgroundColor:"none"}),i=t.getStorageSync("openId"),console.log(i,"xxx",e),""==i){void 0!=e.q&&o.analysis(e.q),a="";try{a=t.getStorageSync("login_code")}catch(s){console.error(s)}c=t.getStorageSync("account_id"),a&&o.$requst.post("/api/user/get-openid",{code:a,shopowner_id:c}).then((function(e){0==e.code&&t.setStorageSync("openId",e.data.openid)}),(function(t){}))}o.getLampList(),o.getBannerList(),o.getCateNav(),o.getNoticeList(),o.getIndexVipCardList(),o.getTeGoodsList(),o.getHotGoodsList(),o.getGoodsCateList();case 14:case"end":return n.stop()}}),n)})))()},onPageScroll:function(t){t.scrollTop>=5&&(this.backgroudColor="#0567b8"),t.scrollTop<=0&&(this.backgroudColor="none")},onShareAppMessage:function(e){return{title:"傲云惠购",path:"".concat(t.getStorageSync("page-path-options"),"?account_id=").concat(t.getStorageSync("accountId"))}},onHide:function(){clearTimeout(this.playTimer),this.isplay=!1},methods:{analysis:function(e){var o=unescape(e);o=o.split("account_id=")[1],t.setStorageSync("account_id",o),console.log(o,"qqq")},searchEv:function(){""!==this.keyword&&t.navigateTo({url:"/pagesA/search/search?keyword=".concat(this.keyword)})},getLampList:function(){var t=this;this.$requst.get("/api/common/order-horse-race-lamp").then((function(e){if(0==e.code){console.log(e,"下单通知列表");var o=[];e.data.forEach((function(t){t.second>=60?(Math.floor(t.second/60),t.second):t.second;var e="";null!==t.account&&(e="".concat(t.nickname," 刚刚下单啦!"));var n={id:"",title:e};o.push(n)})),t.lampList=o}else t.$toolAll.tools.showToast(e.msg)}))},getBannerList:function(){var t=this;this.$requst.get("/api/common/slides",{size:10,position:"home-banner"}).then((function(e){if(0==e.code){console.log(e,"轮播列表");var o=[];e.data.forEach((function(e){var n={imgSrc:t.baseHttps+e.src,url:e.url};o.push(n)})),t.bannerList=o}else t.$toolAll.tools.showToast(e.msg)}))},getIndexVipCardList:function(){var t=this;this.$requst.get("/api/card/get-home-card").then((function(e){if(0==e.code){console.log(e,"首页会员卡列表");var o=[];e.data.forEach((function(t){var e={id:t.id,src:"".concat(getApp().globalData.hostapi)+t.cover,price:t.price,name:t.name,total_amount:t.total_amount};o.push(e)})),t.IndexvipCardList=o,console.log(t.IndexvipCardList,"abc")}else t.$toolAll.tools.showToast(e.msg)}))},getCateNav:function(){var t=this;this.$requst.get("/api/spu/category-index-menu",{size:10,position:"home-banner"}).then((function(e){if(0==e.code){console.log(e,"顶部分类导航");var o=[];e.data.list.forEach((function(e){var n={id:e.id,title:e.title,cover:t.baseHttps+e.cover};o.push(n)})),t.cateNavList=o}else t.$toolAll.tools.showToast(e.msg)}))},getNoticeList:function(){var t=this;this.$requst.post("/api/common/announcement-list",{page:1,size:10}).then((function(e){if(0==e.code){console.log(e,"公告列表");var o=[];e.data.list.forEach((function(t){var e={id:t.id,title:t.title};o.push(e)})),t.noticeList=o}else t.$toolAll.tools.showToast(e.msg)}))},getTeGoodsList:function(){var t=this;this.$requst.get("/api/spu/list",{page:1,size:6,is_special:1}).then((function(e){if(0==e.code){console.log(e,"特价商品列表");var o=[];e.data.list.forEach((function(e){var n={id:e.id,name:e.name,cover:t.baseHttps+e.cover,price:e.price,score:e.score};o.push(n)})),t.TeGoodsList=o}else t.$toolAll.tools.showToast(e.msg)}))},getHotGoodsList:function(){var t=this;this.$requst.get("/api/spu/list",{page:1,size:6,order:"sales"}).then((function(e){if(0==e.code){console.log(e,"热卖商品列表");var o=[];e.data.list.forEach((function(e){var n={id:e.id,name:e.name,cover:t.baseHttps+e.cover,price:e.price,score:e.score};o.push(n)})),t.hotGoodsList=o}else t.$toolAll.tools.showToast(e.msg)}))},getGoodsCateList:function(){var t=this;this.$requst.get("/api/spu/category").then((function(e){0==e.code?(console.log(e,"商品分类"),t.goodsCateList=e.data,t.getGoodsList()):t.$toolAll.tools.showToast(e.msg)}))},getGoodsList:function(){var t=this,e={page:1,size:6,category_id:this.goodsCateList[this.goodsCateIndex].id};this.$requst.get("/api/spu/list",e).then((function(e){if(0==e.code){console.log(e,"商品列表");var o=[];e.data.list.forEach((function(e){var n={id:e.id,title:e.name,src:t.baseHttps+e.cover,price:e.price,integral:e.score,sku_id:e.skuInfo.id,tag:e.tag};o.push(n)})),t.goodsList=o}else t.$toolAll.tools.showToast(e.msg)}))},toDetail:function(e){t.navigateTo({url:"/pagesB/goodsDetail/goodsDetail?id=".concat(e)})},goCate:function(e){t.navigateTo({url:"/pages/cate/cate?id=".concat(e)})},goPage:function(e){this.$toolAll.tools.judgeAuth()&&t.reLaunch({url:e})},changeCateEv:function(t){t!==this.goodsCateIndex&&(this.goodsCateIndex=t,this.getGoodsList(),-1!==t?this.setTabList():this.tabsScrollLeft=0)},setTabList:function(){var t=this;this.$nextTick((function(){t.goodsCateList.length>0&&t.setLeft()}))},setLeft:function(){var t=this,e=0;this.getElementData("#tab_list",(function(o){var n=o[0];t.getElementData("#tab_item",(function(o){var s=o[t.goodsCateIndex];e=s.width/2-n.left+s.left-n.width/2-t.scrollLeft,t.tabsScrollLeft=t.scrollLeft+e}))}))},getElementData:function(e,o){t.createSelectorQuery().in(this).selectAll(e).boundingClientRect().exec((function(t){o(t[0])}))},scroll:function(t){this.scrollLeft=t.detail.scrollLeft}}});e.default=c}).call(this,o("543d")["default"])},"6a62":function(t,e,o){"use strict";(function(t,e){var n=o("4ea4");o("8513");n(o("66fd"));var s=n(o("e017"));t.__webpack_require_UNI_MP_PLUGIN__=o,e(s.default)}).call(this,o("bc2e")["default"],o("543d")["createPage"])},e017:function(t,e,o){"use strict";o.r(e);var n=o("2982"),s=o("2ffa");for(var i in s)["default"].indexOf(i)<0&&function(t){o.d(e,t,(function(){return s[t]}))}(i);var a=o("f0c5"),c=Object(a["a"])(s["default"],n["b"],n["c"],!1,null,"16681b74",null,!1,n["a"],void 0);e["default"]=c.exports}},[["6a62","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/index/index.json b/unpackage/dist/build/mp-weixin/pages/index/index.json new file mode 100644 index 0000000..e6e1af2 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pages/index/index.json @@ -0,0 +1,12 @@ +{ + "navigationBarTitleText": "首页", + "enablePullDownRefresh": false, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav", + "vip-card": "/components/vip-card/vip-card", + "goods-list": "/components/goods-list/goods-list", + "foot-bar": "/components/foot-bar/foot-bar", + "swiper-pu": "/components/swipers/swiper-pu", + "swiper-lamp": "/components/swipers/swiper-lamp" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/index/index.wxml b/unpackage/dist/build/mp-weixin/pages/index/index.wxml new file mode 100644 index 0000000..eb84058 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pages/index/index.wxml @@ -0,0 +1 @@ +{{item.title}}{{item.title}}更多特价商品更多{{item.$orig.name}}{{item.g5}}{{item.g6}}+{{item.$orig.score}}积分热卖商品更多{{item.$orig.name}}{{item.g7}}{{item.g8}}+{{item.$orig.score}}积分{{item.title}} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/my/information.js b/unpackage/dist/build/mp-weixin/pages/my/information.js new file mode 100644 index 0000000..bc9b0d0 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pages/my/information.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/my/information"],{"106b":function(t,a,e){"use strict";e.d(a,"b",(function(){return n})),e.d(a,"c",(function(){return i})),e.d(a,"a",(function(){return o}));var o={statusNav:function(){return e.e("components/status-nav/status-nav").then(e.bind(null,"da82"))}},n=function(){var t=this,a=t.$createElement;t._self._c;t._isMounted||(t.e0=function(a){t.ifShow=!1})},i=[]},"8cd6":function(t,a,e){"use strict";(function(t){Object.defineProperty(a,"__esModule",{value:!0}),a.default=void 0;var e={data:function(){return{statusHeight:t.getSystemInfoSync().statusBarHeight,baseHttps:"".concat(getApp().globalData.hostapi),defaultAvatar:"/static/public/avatar.png",userInfo:{avatarUrl:"",nickName:"",mobile:""},editTitle:"标题",editType:"text",editMsg:"",ifShow:!1,ifLoading:!1}},onLoad:function(t){this.getUserInfo()},methods:{getUserInfo:function(){var t=this;this.$requst.post("/api/user/info").then((function(a){0==a.code?(console.log(a,"我的信息"),t.userInfo.avatarUrl=a.data.headimgurl,t.userInfo.nickName=a.data.nickname,t.userInfo.mobile=a.data.mobile,t.ifLoading=!0):t.$toolAll.tools.showToast("登录已过期,请重新登录")}))},editEv:function(a){var e=this;"avatar"==a&&t.chooseImage({count:1,sourceType:["album","camera"],success:function(t){e.uploadImg(t.tempFilePaths[0])}}),"nick_name"==a&&(this.ifShow=!0,this.editTitle="昵称修改",this.editType="text",this.editMsg=this.userInfo.nickName),"mobile"==a&&this.$toolAll.tools.showToast("手机号不能修改")},uploadImg:function(a){var e=this;t.showLoading({title:"上传中"}),this.$requst.upload("/api/file/upload/image",{path:a}).then((function(a){0==a.code&&(e.userInfo.avatarUrl=a.data.src,e.submitEv("avatar")),t.hideLoading()}))},submitEv:function(t){var a=this,e={};"avatar"==t&&(e={headimgurl:this.userInfo.avatarUrl}),"nick_name"==t&&(e={nickname:this.editMsg}),this.$requst.post("/api/user/edit-info",e).then((function(e){0==e.code?(console.log(e,"修改成功"),"avatar"==t&&a.$toolAll.tools.showToast("头像修改成功"),"nick_name"==t&&(a.$toolAll.tools.showToast("昵称修改成功"),a.userInfo.nickName=a.editMsg,a.ifShow=!1)):a.$toolAll.tools.showToast(e.msg)}))}}};a.default=e}).call(this,e("543d")["default"])},d271:function(t,a,e){"use strict";e.r(a);var o=e("8cd6"),n=e.n(o);for(var i in o)["default"].indexOf(i)<0&&function(t){e.d(a,t,(function(){return o[t]}))}(i);a["default"]=n.a},d35b:function(t,a,e){"use strict";e.r(a);var o=e("106b"),n=e("d271");for(var i in n)["default"].indexOf(i)<0&&function(t){e.d(a,t,(function(){return n[t]}))}(i);var s=e("f0c5"),u=Object(s["a"])(n["default"],o["b"],o["c"],!1,null,"f7730b46",null,!1,o["a"],void 0);a["default"]=u.exports},e041:function(t,a,e){"use strict";(function(t,a){var o=e("4ea4");e("8513");o(e("66fd"));var n=o(e("d35b"));t.__webpack_require_UNI_MP_PLUGIN__=e,a(n.default)}).call(this,e("bc2e")["default"],e("543d")["createPage"])}},[["e041","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/my/information.json b/unpackage/dist/build/mp-weixin/pages/my/information.json new file mode 100644 index 0000000..6a94ac3 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pages/my/information.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "个人信息", + "enablePullDownRefresh": false, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/my/information.wxml b/unpackage/dist/build/mp-weixin/pages/my/information.wxml new file mode 100644 index 0000000..4577f84 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pages/my/information.wxml @@ -0,0 +1 @@ +头像昵称手机号{{editTitle}}确认 \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/my/my.js b/unpackage/dist/build/mp-weixin/pages/my/my.js new file mode 100644 index 0000000..2aaec84 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pages/my/my.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/my/my"],{"4bd0":function(t,e,n){"use strict";n.r(e);var a=n("bc9f"),o=n.n(a);for(var i in a)["default"].indexOf(i)<0&&function(t){n.d(e,t,(function(){return a[t]}))}(i);e["default"]=o.a},"6fa0":function(t,e,n){"use strict";n.r(e);var a=n("f0a2"),o=n("4bd0");for(var i in o)["default"].indexOf(i)<0&&function(t){n.d(e,t,(function(){return o[t]}))}(i);n("ada4");var s=n("f0c5"),r=Object(s["a"])(o["default"],a["b"],a["c"],!1,null,"1bb87146",null,!1,a["a"],void 0);e["default"]=r.exports},ada4:function(t,e,n){"use strict";var a=n("cd55"),o=n.n(a);o.a},bc9f:function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n={data:function(){return{titleColor:"#ffffff",backgroudColor:"none",baseHttps:"".concat(getApp().globalData.hostapi),myList:{},headimgUrl:"/static/public/avatar.png",ifLoading:!1,is_shopowner:"",is_clerk:"",order_count:{},myOrder:[{icon:"/static/my/order-04.png",text:"全部订单",src:"/pagesA/order/order?index=0",type:"total"},{icon:"/static/my/order-01.png",text:"待付款",src:"/pagesA/order/order?index=1",type:"waiting"},{icon:"/static/my/order-02.png",text:"待收货",src:"/pagesA/order/order?index=3",type:"shipped"},{icon:"/static/my/order-03.png",text:"已完成",src:"/pagesA/order/order?index=4",type:"completed"}],myUse:[{src:"/pages/my/information",icon:"/static/my/nav-01.png",text:"个人信息"},{src:"/pagesA/address/address",icon:"/static/my/nav-02.png",text:"地址列表"},{src:"/pagesB/singlePage/address?id=1",icon:"/static/my/nav-03.png",text:"关于我们"},{src:"/pagesB/singlePage/address?id=2",icon:"/static/my/nav-05.png",text:"用户协议"},{src:"/pagesB/singlePage/address?id=3",icon:"/static/my/nav-06.png",text:"隐私协议"},{src:"/pagesB/password/modifyPassword",icon:"/static/my/nav-07.png",text:"修改密码"},{src:"",icon:"/static/my/nav-01.png",text:"我的客服",type:"service"},{src:"/pagesA/login/login",icon:"/static/my/nav-03.png",text:"退出登录",type:"leave"}]}},onLoad:function(){var t=this;setTimeout((function(){t.addClerk()}),700)},onShow:function(){this.userInfo()},methods:{userInfo:function(){var t=this;this.$requst.post("/api/user/info").then((function(e){0==e.code?(console.log(e,"我的信息"),t.myList=e.data,t.order_count=e.data.order_count,t.myList.vip_end_time=e.data.vip_end_time.slice(0,10),t.ifLoading=!0):t.$toolAll.tools.showToast("登录已过期,请重新登录")}))},addClerk:function(){if(0!==this.myList.is_clerk){this.myUse.splice(3,0,{src:"/pagesA/clerkEntrance/clerkEntrance",icon:"/static/my/nav-04.png",text:"店员入口"})}if(0!==this.myList.is_shopowner){this.myUse.splice(4,0,{src:"/pagesA/shopOwner/shopOwner",icon:"/static/my/nav-04.png",text:"店长入口"})}},goPage:function(e,n){"leave"==n?(t.clearStorage(),t.showToast({title:"退出成功",icon:"success",position:"bottom"}),setTimeout((function(){t.navigateTo({url:e})}),1e3)):t.navigateTo({url:e})}}};e.default=n}).call(this,n("543d")["default"])},cd55:function(t,e,n){},dc15:function(t,e,n){"use strict";(function(t,e){var a=n("4ea4");n("8513");a(n("66fd"));var o=a(n("6fa0"));t.__webpack_require_UNI_MP_PLUGIN__=n,e(o.default)}).call(this,n("bc2e")["default"],n("543d")["createPage"])},f0a2:function(t,e,n){"use strict";n.d(e,"b",(function(){return o})),n.d(e,"c",(function(){return i})),n.d(e,"a",(function(){return a}));var a={statusNav:function(){return n.e("components/status-nav/status-nav").then(n.bind(null,"da82"))},footBar:function(){return n.e("components/foot-bar/foot-bar").then(n.bind(null,"57f4"))}},o=function(){var t=this.$createElement;this._self._c},i=[]}},[["dc15","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/my/my.json b/unpackage/dist/build/mp-weixin/pages/my/my.json new file mode 100644 index 0000000..fb5ddfe --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pages/my/my.json @@ -0,0 +1,8 @@ +{ + "navigationBarTitleText": "我的", + "enablePullDownRefresh": false, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav", + "foot-bar": "/components/foot-bar/foot-bar" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/my/my.wxml b/unpackage/dist/build/mp-weixin/pages/my/my.wxml new file mode 100644 index 0000000..392dcb6 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pages/my/my.wxml @@ -0,0 +1 @@ +{{myList.mobile}}{{myList.nickname?myList.nickname:'尊敬的傲云惠购用户,您好!'}}我的核销码我的会员我的会员购买会员卡过期续费{{myList.score}}我的积分{{myList.balance}}我的余额{{myList.spu_collection_count}}商品收藏{{order_count.waiting}}{{order_count.shipped}}{{item.text}}{{item.text}} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/my/my.wxss b/unpackage/dist/build/mp-weixin/pages/my/my.wxss new file mode 100644 index 0000000..871fdcd --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pages/my/my.wxss @@ -0,0 +1 @@ +image.data-v-1bb87146{height:0}.my.data-v-1bb87146{position:relative;background-color:#f7f7f7;min-height:100vh}.allbg.data-v-1bb87146{position:fixed;left:0;top:0;width:100%;z-index:9}.my-content.data-v-1bb87146{margin:0 20rpx;position:relative;z-index:99}.my-word.data-v-1bb87146{display:flex;align-items:center;position:relative}.my-word .face.data-v-1bb87146{width:120rpx;height:120rpx;border-radius:100%;margin-right:20rpx;display:block}.my-word .text.data-v-1bb87146{height:100%;display:flex;line-height:50rpx;flex-direction:column}.my-word .text .phone.data-v-1bb87146{font-size:38rpx;color:#333}.my-word .text .st.data-v-1bb87146{font-size:24rpx;color:rgba(51,51,51,.8)}.my-list.data-v-1bb87146{margin-top:24rpx;width:100%;display:flex;align-items:center;padding:30rpx 0;background-color:#fff;border-radius:10rpx;justify-content:space-around}.my-list .boxs.data-v-1bb87146{text-align:center;position:relative}.my-jf .boxs .title.data-v-1bb87146{font-size:28rpx;line-height:54rpx;color:#333;font-weight:700;display:flex;align-items:center;justify-content:center;height:54rpx;position:relative}.my-jf .boxs .title image.data-v-1bb87146{width:50rpx}.my-jf .boxs .st.data-v-1bb87146{font-size:22rpx;line-height:44rpx;color:rgba(51,51,51,.8)}.my-jf .boxs .vip-st.data-v-1bb87146{font-size:22rpx;color:#fff;background-color:red;height:40rpx;display:inline-flex;align-items:center;justify-content:center;border-radius:40rpx;padding:0 24rpx}.price.data-v-1bb87146{font-size:32rpx!important;color:#f72e2e!important;display:flex;align-items:flex-end}.price text.data-v-1bb87146{font-size:22rpx}.my-order .boxs .title image.data-v-1bb87146{display:inline-block;height:44rpx}.my-order .boxs .st.data-v-1bb87146{font-size:28rpx;color:#333;margin-top:10rpx}.my-use .boxs .title .image.data-v-1bb87146{display:inline-flex;align-items:center;justify-content:center;width:76rpx;height:76rpx;background:#f3e8de;border-radius:50%}.my-use.data-v-1bb87146{flex-wrap:wrap;justify-content:flex-start}.my-use .boxs.data-v-1bb87146{width:25%;margin:18rpx 0}.my-use .boxs .title .image image.data-v-1bb87146{height:40rpx;display:block}.my-use .boxs .st.data-v-1bb87146{font-size:26rpx;color:#333;margin-top:10rpx}.my-use .boxs .service-btns.data-v-1bb87146{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;z-index:9}.writeOff.data-v-1bb87146{position:absolute;right:-20rpx;top:27rpx;display:inline-block;padding:0 30rpx;height:60rpx;line-height:60rpx;background-color:#fff;color:#333;font-size:26rpx;border-radius:50rpx 0 0 50rpx;box-shadow:0 2px 14rpx rgba(0,0,0,.1)}.my-order .title.data-v-1bb87146{position:relative}.my-order .title .icon.data-v-1bb87146{position:absolute;right:-3rpx;top:-18rpx;width:36rpx;height:36rpx;background-color:red;border-radius:50%;color:#fff;font-size:20rpx;text-align:center;line-height:36rpx} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/address/addAddress.js b/unpackage/dist/build/mp-weixin/pagesA/address/addAddress.js new file mode 100644 index 0000000..bdabb4d --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/address/addAddress.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesA/address/addAddress"],{"1a0c":function(t,e,s){"use strict";s.r(e);var n=s("7e46"),a=s.n(n);for(var i in n)["default"].indexOf(i)<0&&function(t){s.d(e,t,(function(){return n[t]}))}(i);e["default"]=a.a},"4a7a":function(t,e,s){"use strict";s.d(e,"b",(function(){return a})),s.d(e,"c",(function(){return i})),s.d(e,"a",(function(){return n}));var n={statusNav:function(){return s.e("components/status-nav/status-nav").then(s.bind(null,"da82"))}},a=function(){var t=this,e=t.$createElement;t._self._c;t._isMounted||(t.e0=function(e){t.ifDefault=!t.ifDefault},t.e1=function(e){t.ifDefault=!t.ifDefault})},i=[]},"7e46":function(t,e,s){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n={components:{addressOne:function(){Promise.all([s.e("common/vendor"),s.e("components/address-one/address-one")]).then(function(){return resolve(s("435d"))}.bind(null,s)).catch(s.oe)}},data:function(){return{statusHeight:t.getSystemInfoSync().statusBarHeight,navBarTitle:"",receiptInfo:{name:"",phone:"",county_str:{},address:""},tags:[{name:"家",tag:"home"},{name:"公司",tag:"company"},{name:"学校",tag:"school"}],tagIndex:0,ifDefault:!1,type:"add",id:0,addressObj:{province:"",city:"",county:"",province_str:"",city_str:"",county_str:""},lotusAddressData:{visible:!1,provinceName:"",cityName:"",townName:""},region:""}},onLoad:function(t){"edit"==t.type?t.id&&(this.navBarTitle="编辑收货地址",this.type=t.type,this.id=t.id,this.getReceiptInfo()):(this.navBarTitle="新增收货地址",this.type=t.type)},methods:{getReceiptInfo:function(){var t=this;this.$requst.post("/api/user/address-info",{id:this.id}).then((function(e){0==e.code?(console.log(e,"地址详情"),t.receiptInfo=e.data,t.region=e.data.province_str+"/"+e.data.city_str+"/"+e.data.county_str,"home"==e.data.tag?t.tagIndex=0:"company"==e.data.tag?t.tagIndex=1:"school"==e.data.tag?t.tagIndex=2:t.tagIndex=0,1==e.data.is_default?t.ifDefault=!0:t.ifDefault=!1):t.$toolAll.tools.showToast(e.msg)}))},openAddress:function(){this.lotusAddressData.visible=!0},choseValue:function(t){console.log(t),this.lotusAddressData.visible=t.visible,t.isChose&&this.setAddress({province:t.provinceCode,city:t.cityCode,county:t.townCode,province_str:t.province,city_str:t.city,county_str:t.town})},setAddress:function(t){this.addressObj=t,this.lotusAddressData.provinceName=t.province_str,this.lotusAddressData.cityName=t.city_str,this.lotusAddressData.townName=t.county_str,this.region="".concat(t.province_str,"/").concat(t.city_str,"/").concat(t.county_str)},choseEv:function(t){t!==this.tagIndex&&(this.tagIndex=t)},sunbmitEv:function(){var e=this;if(this.region){var s={name:this.receiptInfo.name,phone:this.receiptInfo.phone,address:this.receiptInfo.address,tag:this.tags[this.tagIndex].tag,is_default:this.ifDefault?1:0,province_str:this.addressObj.province_str,city_str:this.addressObj.city_str,county_str:this.addressObj.county_str};"edit"==this.type&&(s.id=this.id),this.$requst.post("/api/user/address-save",s).then((function(s){0==s.code?(console.log(s,"提交成功"),t.navigateBack({delta:1})):e.$toolAll.tools.showToast(s.msg)}))}else this.$toolAll.tools.showToast("请选择地区")}}};e.default=n}).call(this,s("543d")["default"])},c67e:function(t,e,s){"use strict";s.r(e);var n=s("4a7a"),a=s("1a0c");for(var i in a)["default"].indexOf(i)<0&&function(t){s.d(e,t,(function(){return a[t]}))}(i);var o=s("f0c5"),r=Object(o["a"])(a["default"],n["b"],n["c"],!1,null,"3fec83e0",null,!1,n["a"],void 0);e["default"]=r.exports},d581:function(t,e,s){"use strict";(function(t,e){var n=s("4ea4");s("8513");n(s("66fd"));var a=n(s("c67e"));t.__webpack_require_UNI_MP_PLUGIN__=s,e(a.default)}).call(this,s("bc2e")["default"],s("543d")["createPage"])}},[["d581","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/address/addAddress.json b/unpackage/dist/build/mp-weixin/pagesA/address/addAddress.json new file mode 100644 index 0000000..d93ea8d --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/address/addAddress.json @@ -0,0 +1,8 @@ +{ + "navigationBarTitleText": "新增or编辑地址", + "enablePullDownRefresh": true, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav", + "address-one": "/components/address-one/address-one" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/address/addAddress.wxml b/unpackage/dist/build/mp-weixin/pagesA/address/addAddress.wxml new file mode 100644 index 0000000..b989e80 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/address/addAddress.wxml @@ -0,0 +1 @@ +收货人电话所在地区详细地址标签{{item.name}}设置为默认地址保存 \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/address/address.js b/unpackage/dist/build/mp-weixin/pagesA/address/address.js new file mode 100644 index 0000000..12c7461 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/address/address.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesA/address/address"],{"12bd":function(t,e,n){"use strict";(function(t,e){var o=n("4ea4");n("8513");o(n("66fd"));var a=o(n("2136"));t.__webpack_require_UNI_MP_PLUGIN__=n,e(a.default)}).call(this,n("bc2e")["default"],n("543d")["createPage"])},2136:function(t,e,n){"use strict";n.r(e);var o=n("e7d8"),a=n("9a06");for(var s in a)["default"].indexOf(s)<0&&function(t){n.d(e,t,(function(){return a[t]}))}(s);var d=n("f0c5"),u=Object(d["a"])(a["default"],o["b"],o["c"],!1,null,"509429cd",null,!1,o["a"],void 0);e["default"]=u.exports},"9a06":function(t,e,n){"use strict";n.r(e);var o=n("a610"),a=n.n(o);for(var s in o)["default"].indexOf(s)<0&&function(t){n.d(e,t,(function(){return o[t]}))}(s);e["default"]=a.a},a610:function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n={data:function(){return{statusHeight:t.getSystemInfoSync().statusBarHeight,addrList:[]}},onLoad:function(t){},onShow:function(){this.getAddrList()},methods:{getAddrList:function(){var t=this;this.$requst.get("/api/user/address").then((function(e){0==e.code?(console.log(e,"地址列表"),t.addrList=e.data):t.$toolAll.tools.showToast(e.msg)}))},toAdd:function(){t.navigateTo({url:"/pagesA/address/addAddress?type=add"})},toEdit:function(e){t.navigateTo({url:"/pagesA/address/addAddress?type=edit&id=".concat(e)})},delEv:function(t){var e=this;this.$requst.get("/api/user/address-del",{id:t}).then((function(t){0==t.code?(console.log(t,"删除地址"),e.$toolAll.tools.showToast("删除成功"),setTimeout((function(){e.getAddrList()}),1e3)):e.$toolAll.tools.showToast(t.msg)}))}}};e.default=n}).call(this,n("543d")["default"])},e7d8:function(t,e,n){"use strict";n.d(e,"b",(function(){return a})),n.d(e,"c",(function(){return s})),n.d(e,"a",(function(){return o}));var o={statusNav:function(){return n.e("components/status-nav/status-nav").then(n.bind(null,"da82"))},footBar:function(){return n.e("components/foot-bar/foot-bar").then(n.bind(null,"57f4"))}},a=function(){var t=this.$createElement;this._self._c},s=[]}},[["12bd","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/address/address.json b/unpackage/dist/build/mp-weixin/pagesA/address/address.json new file mode 100644 index 0000000..ce4c32e --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/address/address.json @@ -0,0 +1,8 @@ +{ + "navigationBarTitleText": "地址列表", + "enablePullDownRefresh": true, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav", + "foot-bar": "/components/foot-bar/foot-bar" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/address/address.wxml b/unpackage/dist/build/mp-weixin/pagesA/address/address.wxml new file mode 100644 index 0000000..25fc686 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/address/address.wxml @@ -0,0 +1 @@ +默认{{item.province_str+" "+item.city_str+" "+item.county_str}}{{item.address}}{{item.name}}{{item.phone}}新增收货地址 \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntrance.js b/unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntrance.js new file mode 100644 index 0000000..aac2f21 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntrance.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesA/clerkEntrance/clerkEntrance"],{"0b20":function(t,e,n){"use strict";(function(t){var a=n("4ea4");Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var o=a(n("448a")),c={data:function(){return{clerkList:[],cleckType:0,baseHttps:"".concat(getApp().globalData.hostapi),keyword:"",pages:1,size:10,total:0,noMore:!1,loading:!1,reachBottom:!1}},onLoad:function(){this.getScan()},onShow:function(){},onReachBottom:function(){this.total!=this.dataList.length&&(this.reachBottom=!0,this.page++,this.getScan())},methods:{scanCode:function(){t.scanCode({onlyFromCamera:!0,success:function(e){t.setStorageSync("cleckContent",e.result),t.navigateTo({url:"/pagesA/clerkEntrance/clerkEntranceDetail"})}})},getScan:function(){var e=this,n={page:this.page,size:this.size};this.$requst.post("/api/card/subordinate-write-off-log",n).then((function(n){0==n.code?(console.log(n,"店员信息"),e.total=n.data.total,1==e.page&&(e.clerkList=[]),e.reachBottom?e.clerkList=[].concat((0,o.default)(e.clerkList),(0,o.default)(n.data.list)):e.clerkList=n.data.list,e.total==e.clerkList.length&&1!=e.page&&(e.noMore=!0),e.loading=!0):t.showToast({title:n.msg,icon:"none",duration:2e3})}))}}};e.default=c}).call(this,n("543d")["default"])},"45c6":function(t,e,n){"use strict";n.d(e,"b",(function(){return o})),n.d(e,"c",(function(){return c})),n.d(e,"a",(function(){return a}));var a={statusNav:function(){return n.e("components/status-nav/status-nav").then(n.bind(null,"da82"))}},o=function(){var t=this.$createElement;this._self._c},c=[]},4686:function(t,e,n){},"6a25":function(t,e,n){"use strict";(function(t,e){var a=n("4ea4");n("8513");a(n("66fd"));var o=a(n("8eef"));t.__webpack_require_UNI_MP_PLUGIN__=n,e(o.default)}).call(this,n("bc2e")["default"],n("543d")["createPage"])},"8eef":function(t,e,n){"use strict";n.r(e);var a=n("45c6"),o=n("db90");for(var c in o)["default"].indexOf(c)<0&&function(t){n.d(e,t,(function(){return o[t]}))}(c);n("f6ac");var i=n("f0c5"),r=Object(i["a"])(o["default"],a["b"],a["c"],!1,null,"4d2ae872",null,!1,a["a"],void 0);e["default"]=r.exports},db90:function(t,e,n){"use strict";n.r(e);var a=n("0b20"),o=n.n(a);for(var c in a)["default"].indexOf(c)<0&&function(t){n.d(e,t,(function(){return a[t]}))}(c);e["default"]=o.a},f6ac:function(t,e,n){"use strict";var a=n("4686"),o=n.n(a);o.a}},[["6a25","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntrance.json b/unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntrance.json new file mode 100644 index 0000000..0551468 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntrance.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "店员入口", + "enablePullDownRefresh": true, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntrance.wxml b/unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntrance.wxml new file mode 100644 index 0000000..0a19c51 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntrance.wxml @@ -0,0 +1 @@ +立即扫描二维码核销会员卡我的核销记录{{item.account.nickname}}{{"会员卡名称:"+item.card_name}}{{"本次核销:"+item.equip_list}}{{item.title+''}}{{"核销时间:"+item.write_off_date}} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntrance.wxss b/unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntrance.wxss new file mode 100644 index 0000000..cfc23c1 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntrance.wxss @@ -0,0 +1 @@ +.clerk.data-v-4d2ae872{display:block}.clerk-search.data-v-4d2ae872{background-color:#fff;padding:20rpx 38rpx}.clerk-search .boxs.data-v-4d2ae872{margin-bottom:20rpx;display:flex;align-items:center;justify-content:space-between;position:relative}.clerk-search .boxs .input.data-v-4d2ae872{width:326rpx;height:64rpx;line-height:64rpx;border:1px solid #dfdfdf;padding:0 14rpx;box-sizing:border-box;position:relative;border-radius:6rpx;font-size:28rpx}.clerk-search .boxs .input .name.data-v-4d2ae872{display:flex;justify-content:space-between;align-items:center;height:64rpx}.clerk-search .boxs .input .name image.data-v-4d2ae872{width:19rpx;height:14rpx;margin-right:5rpx}.clerk-search .search-list.data-v-4d2ae872{border:1px solid #dfdfdf;padding:0 14rpx;height:64rpx;border-radius:6rpx}.clerk-search .search-list .input.data-v-4d2ae872{width:80%;padding:0;border:none}.search-icon.data-v-4d2ae872{width:32rpx;display:block}.huibg.data-v-4d2ae872{height:28rpx;background-color:#f5f5f5;width:100%}.scan.data-v-4d2ae872{padding:40rpx 0rpx 24rpx 0rpx;margin:0 20rpx;border-radius:10rpx;background-color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column}.scan .image.data-v-4d2ae872{width:92rpx;display:block}.scan text.data-v-4d2ae872{font-size:24rpx;color:#333;margin-top:30rpx;text-align:center;display:block}.clerk-list.data-v-4d2ae872{margin:0 20rpx;border-radius:10rpx;background-color:#fff}.clerk-list .all.data-v-4d2ae872{padding:22rpx 0;margin:0 20rpx;border-bottom:1px solid #ececec;display:flex;align-items:center;justify-content:space-between}.clerk-list .all .left-boxs.data-v-4d2ae872{display:flex;align-items:center}.clerk-list .all .left-boxs .face.data-v-4d2ae872{width:80rpx;height:80rpx;display:block;margin-right:16rpx}.clerk-list .all .left-boxs .text .tit.data-v-4d2ae872{display:block;font-size:28rpx;color:#333;line-height:40rpx}.clerk-list .all .left-boxs .text .st.data-v-4d2ae872{font-size:24rpx;color:rgba(51,51,51,.7);line-height:44rpx}.clerk-list .all .left-boxs .text .st text.data-v-4d2ae872{margin-right:24rpx}.clerk-list .all .right-icon.data-v-4d2ae872{width:14rpx;display:none}.hexiao .clerk-search .search-list2 .input.data-v-4d2ae872{width:100%;padding:20rpx;height:160rpx;line-height:40rpx}.hexiao .search-icon.data-v-4d2ae872{width:32rpx;display:block}.hexiao .scan .scan-btn.data-v-4d2ae872{margin:0 auto;margin-top:34rpx;width:378rpx;height:76rpx;background-color:#0467b8;display:flex;align-items:center;justify-content:center;font-size:26rpx;color:#fff}.hexiao .clerk-list.data-v-4d2ae872{margin:0 20rpx;border-radius:10rpx;background-color:#fff}.hexiao .clerk-list .all.data-v-4d2ae872{padding:22rpx 0;margin:0 20rpx;border-bottom:1px solid #ececec;display:flex;align-items:center;justify-content:space-between}.hexiao .clerk-list .all .left-boxs.data-v-4d2ae872{display:flex;align-items:center}.hexiao .clerk-list .all .left-boxs .face.data-v-4d2ae872{width:80rpx;height:80rpx;display:block;margin-right:16rpx}.hexiao .clerk-list .all .left-boxs .text .tit.data-v-4d2ae872{display:block;font-size:28rpx;color:#333;line-height:44rpx}.hexiao .clerk-list .all .left-boxs .text .st.data-v-4d2ae872{font-size:24rpx;color:rgba(51,51,51,.7);line-height:44rpx}.hexiao .clerk-list .all .left-boxs .text .st text.data-v-4d2ae872{margin-right:24rpx}.hexiao .clerk-list .all .right-icon.data-v-4d2ae872{width:14rpx;display:none}.title.data-v-4d2ae872{margin-top:30rpx;padding-left:40rpx;font-size:32rpx;color:#0467b8;margin-bottom:24rpx} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntranceDetail.js b/unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntranceDetail.js new file mode 100644 index 0000000..da0626c --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntranceDetail.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesA/clerkEntrance/clerkEntranceDetail"],{2271:function(t,n,e){"use strict";var o=e("79b7"),c=e.n(o);c.a},3876:function(t,n,e){"use strict";(function(t,n){var o=e("4ea4");e("8513");o(e("66fd"));var c=o(e("f337"));t.__webpack_require_UNI_MP_PLUGIN__=e,n(c.default)}).call(this,e("bc2e")["default"],e("543d")["createPage"])},6025:function(t,n,e){"use strict";e.r(n);var o=e("aa9e"),c=e.n(o);for(var i in o)["default"].indexOf(i)<0&&function(t){e.d(n,t,(function(){return o[t]}))}(i);n["default"]=c.a},6225:function(t,n,e){"use strict";e.d(n,"b",(function(){return c})),e.d(n,"c",(function(){return i})),e.d(n,"a",(function(){return o}));var o={statusNav:function(){return e.e("components/status-nav/status-nav").then(e.bind(null,"da82"))}},c=function(){var t=this.$createElement;this._self._c},i=[]},"79b7":function(t,n,e){},aa9e:function(t,n,e){"use strict";(function(t){Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var o={components:{tuiButton:function(){e.e("components/thorui/tui-button/tui-button").then(function(){return resolve(e("12fe"))}.bind(null,e)).catch(e.oe)},tuiModal:function(){e.e("components/thorui/tui-modal/tui-modal").then(function(){return resolve(e("500a"))}.bind(null,e)).catch(e.oe)}},data:function(){return{baseHttps:"".concat(getApp().globalData.hostapi),cleckContent:{},myCleck_content:[],equip_use_log:[],clerkMyList:[],vipCardList:[],current:"",card_id:"",modal:!1,tryList:[],try_id:{},keyword:""}},onLoad:function(){this.getScanContent()},onShow:function(){},methods:{getScanContent:function(){var n=this;n.cleckContent=t.getStorageSync("cleckContent");var e=n.cleckContent;n.$requst.post("/api/card/scan",e).then((function(e){0==e.code?(console.log(e,"扫码完之后的个人店员信息"),n.myCleck_content=e.data.account,n.clerkMyList=e.data.history_write_off_Log.list,n.equip_use_log=e.data.equip_use_log,n.vipCardList=e.data.card_list):t.showToast({title:e.msg,icon:"none",duration:2e3})}))},radioChange:function(t){var n=this;n.vipCardList.forEach((function(e,o){e.card_id==t.detail.value&&(n.current=o,n.card_id=t.detail.value)}))},hide:function(){this.modal=!1},card_click:function(){var n=this;n.$requst.post("/api/card/equipment",{card_id:n.card_id}).then((function(e){0==e.code?(console.log(e,"会员卡支持设备列表"),n.modal=!0,n.tryList=e.data):t.showToast({title:e.msg,icon:"none",duration:2e3})}))},checkboxChange:function(t){var n=this,e=n.tryList,o=t.detail.value;e.forEach((function(t,e){var c=t,i=String(t.id);o.includes(i)?(n.$set(c,"checked",!0),n.try_id=o):n.$set(c,"checked",!1)}))},try_click:function(){var n=this,e=JSON.parse(this.cleckContent),o=this.try_id.join(","),c={keyword:this.keyword,card_id:this.card_id,equip_list:o},i=Object.assign(e,c);this.$requst.post("/api/card/write-off-card",i).then((function(e){0==e.code?(console.log(e,"确认核销"),t.showToast({title:e.msg,icon:"success",duration:1100}),n.modal=!1,setTimeout((function(){t.navigateTo({url:"/pagesA/clerkEntrance/clerkEntrance"})}),1200)):(t.showToast({title:e.msg,icon:"error",duration:1100}),setTimeout((function(){t.navigateTo({url:"/pagesA/clerkEntrance/clerkEntrance"})}),1200))}))}}};n.default=o}).call(this,e("543d")["default"])},f337:function(t,n,e){"use strict";e.r(n);var o=e("6225"),c=e("6025");for(var i in c)["default"].indexOf(i)<0&&function(t){e.d(n,t,(function(){return c[t]}))}(i);e("2271");var a=e("f0c5"),r=Object(a["a"])(c["default"],o["b"],o["c"],!1,null,null,null,!1,o["a"],void 0);n["default"]=r.exports}},[["3876","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntranceDetail.json b/unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntranceDetail.json new file mode 100644 index 0000000..7ac3cb6 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntranceDetail.json @@ -0,0 +1,9 @@ +{ + "navigationBarTitleText": "店员入口详情", + "enablePullDownRefresh": true, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav", + "tui-button": "/components/thorui/tui-button/tui-button", + "tui-modal": "/components/thorui/tui-modal/tui-modal" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntranceDetail.wxml b/unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntranceDetail.wxml new file mode 100644 index 0000000..32e3a87 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntranceDetail.wxml @@ -0,0 +1 @@ +{{item.card_name}}{{"到期时间:"+item.end_time}}设备使用记录{{"设备名称:"+item.name}}{{item.limit_day+"天内最多使用"+item.limit_num+"次"}}可用设备确定 \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntranceDetail.wxss b/unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntranceDetail.wxss new file mode 100644 index 0000000..9d8ee70 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/clerkEntrance/clerkEntranceDetail.wxss @@ -0,0 +1 @@ +.clerk{padding-bottom:140rpx}.my-card{margin:30rpx 16rpx}.vip-card-nav{display:flex;justify-content:space-between;align-items:center;flex-direction:column;width:100%}.card-nav-item{border-radius:10rpx;overflow:hidden;position:relative;width:100%;margin-bottom:30rpx;border-bottom:1px solid #ececec;padding-bottom:30rpx;padding-left:60rpx;box-sizing:border-box}.card-nav-item .radio{position:absolute;left:0;top:50%;margin-top:-24rpx;width:48rpx;height:48rpx;border:none}.card-nav-item image{width:100%}.pic-text{margin-top:20rpx}.pic-text .name{font-size:28rpx;line-height:1.6}.pic-text .text{display:flex;align-items:center;justify-content:space-between;margin-top:14rpx}.pic-text .text .price{font-size:26rpx;color:red}.pic-text .text .sales{font-size:24rpx;color:#999}.try-list{padding:10px 40rpx 40rpx 40rpx}.try-list .text{display:flex;align-items:center;margin-bottom:30rpx}.try-list .title{font-size:40rpx;color:#333;font-weight:700;margin-bottom:50rpx;text-align:center}.try-list .text .st{margin-left:14rpx;font-size:28rpx}.try-list .btns{margin-top:70rpx}.try-list .scroll{max-height:500rpx;overflow-x:hidden}.input{width:550rpx;height:200rpx;line-height:40rpx;border:1px solid #dfdfdf;padding:20rpx;box-sizing:border-box;position:relative;border-radius:6rpx;font-size:28rpx;margin-top:40rpx}.hexiao .clerk-list{margin:0 20rpx;border-radius:10rpx;background-color:#fff}.hexiao .clerk-list .all{padding:22rpx 0;margin:0 20rpx;border-bottom:1px solid #ececec;display:flex;align-items:center;justify-content:space-between}.hexiao .clerk-list .all .left-boxs{display:flex;align-items:center}.hexiao .clerk-list .all .left-boxs .face{width:80rpx;height:80rpx;display:block;margin-right:16rpx}.hexiao .clerk-list .all .left-boxs .text .tit{display:block;font-size:28rpx;color:#333;line-height:44rpx}.hexiao .clerk-list .all .left-boxs .text .st{font-size:24rpx;color:rgba(51,51,51,.7);line-height:44rpx}.hexiao .clerk-list .all .left-boxs .text .st text{margin-right:24rpx}.hexiao .clerk-list .all .right-icon{width:14rpx;display:none}.hexiao .title{margin-top:30rpx;padding-left:40rpx;font-size:32rpx;color:#0467b8;margin-bottom:24rpx}.login-btn{position:fixed;left:0;bottom:30rpx;left:5%;width:90%;z-index:99} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/login/login.js b/unpackage/dist/build/mp-weixin/pagesA/login/login.js new file mode 100644 index 0000000..ed62861 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/login/login.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesA/login/login"],{"36b7":function(t,n,o){},7802:function(t,n,o){"use strict";o.d(n,"b",(function(){return a})),o.d(n,"c",(function(){return i})),o.d(n,"a",(function(){return e}));var e={statusNav:function(){return o.e("components/status-nav/status-nav").then(o.bind(null,"da82"))}},a=function(){var t=this.$createElement;this._self._c},i=[]},"94a1":function(t,n,o){"use strict";var e=o("36b7"),a=o.n(e);a.a},"9d4e":function(t,n,o){"use strict";(function(t,n){var e=o("4ea4");o("8513");e(o("66fd"));var a=e(o("f48e"));t.__webpack_require_UNI_MP_PLUGIN__=o,n(a.default)}).call(this,o("bc2e")["default"],o("543d")["createPage"])},b848:function(t,n,o){"use strict";(function(t){Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var o={data:function(){return{logoSrc:"/static/public/logo.png",background:"/static/public/login-bg.jpg",titleColor:"#ffffff",backgroudColor:"none",loginInfo:{}}},onLoad:function(){},methods:{setLogo:function(){var t=this;this.$requst.get("index/base-config").then((function(n){t.imgSrc=t.$http+n.data.logo,t.appletName=n.data.appletName}))},loginEv:function(){var n=this;t.login({provider:"weixin",success:function(o){o.code?n.updateUserInfo(o.code):t.showToast({title:"登录失败!",duration:2e3})}})},updateUserInfo:function(n){var o=this,e={code:n,phone:this.loginInfo.phone,password:this.loginInfo.password};this.$requst.post("/api/user/login-by-password",e).then((function(n){0==n.code?(t.setStorageSync("accountId",n.data.account_id),t.setStorageSync("token",n.data.token),t.setStorageSync("openId",n.data.openid),t.setStorageSync("expire",n.data.expire),t.getStorageSync("page-path-options")?t.reLaunch({url:t.getStorageSync("page-path-options")}):t.reLaunch({url:"/pages/index/index"})):o.$toolAll.tools.showToast(n.msg)}))},forgetEv:function(n){/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(this.loginInfo.phone)?t.navigateTo({url:"".concat(n,"?phone=").concat(this.loginInfo.phone)}):this.$toolAll.tools.showToast("请填写正确的电话号")},goPage:function(n){t.navigateTo({url:n})}}};n.default=o}).call(this,o("543d")["default"])},f48e:function(t,n,o){"use strict";o.r(n);var e=o("7802"),a=o("f947");for(var i in a)["default"].indexOf(i)<0&&function(t){o.d(n,t,(function(){return a[t]}))}(i);o("94a1");var c=o("f0c5"),u=Object(c["a"])(a["default"],e["b"],e["c"],!1,null,"2e6e0524",null,!1,e["a"],void 0);n["default"]=u.exports},f947:function(t,n,o){"use strict";o.r(n);var e=o("b848"),a=o.n(e);for(var i in e)["default"].indexOf(i)<0&&function(t){o.d(n,t,(function(){return e[t]}))}(i);n["default"]=a.a}},[["9d4e","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/login/login.json b/unpackage/dist/build/mp-weixin/pagesA/login/login.json new file mode 100644 index 0000000..86d2253 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/login/login.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "登录", + "enablePullDownRefresh": false, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/login/login.wxml b/unpackage/dist/build/mp-weixin/pagesA/login/login.wxml new file mode 100644 index 0000000..aa63514 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/login/login.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/login/login.wxss b/unpackage/dist/build/mp-weixin/pagesA/login/login.wxss new file mode 100644 index 0000000..5892df5 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/login/login.wxss @@ -0,0 +1 @@ +.login.data-v-2e6e0524{width:100%;height:100vh;background-size:cover;box-sizing:border-box}.logo.data-v-2e6e0524{margin:0 auto;margin-top:90rpx;width:180rpx;height:180rpx;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center}.logo image.data-v-2e6e0524{width:100%;display:block}.title.data-v-2e6e0524{font-size:52rpx;color:#0567b8;margin-top:24rpx;line-height:1.2;text-align:center;letter-spacing:2px}.form-boxs.data-v-2e6e0524{padding:80rpx 50rpx 10rpx 50rpx}.form .item.data-v-2e6e0524{margin-bottom:26rpx}.form .item input.data-v-2e6e0524{width:100%;border:1px solid #dae3eb;border-radius:20rpx;height:96rpx;line-height:96rpx;padding:0rpx 26rpx;box-sizing:border-box;color:#333;font-size:26rpx;background:#fff;overflow:hidden}.login-btn.data-v-2e6e0524{width:100%;height:98rpx;line-height:98rpx;border:none;background-color:#0567b8;text-align:center;color:#fff;font-size:30rpx;letter-spacing:1px;margin-top:40rpx;border-radius:20rpx}.check-login.data-v-2e6e0524{margin-top:36rpx;font-size:24rpx;color:#333;text-align:center}.forget.data-v-2e6e0524{color:#0567b8;font-size:24rpx;text-align:right} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/myCard/myCard.js b/unpackage/dist/build/mp-weixin/pagesA/myCard/myCard.js new file mode 100644 index 0000000..2c28ac3 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/myCard/myCard.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesA/myCard/myCard"],{"00c3":function(t,e,a){"use strict";a.d(e,"b",(function(){return n})),a.d(e,"c",(function(){return o})),a.d(e,"a",(function(){return i}));var i={statusNav:function(){return a.e("components/status-nav/status-nav").then(a.bind(null,"da82"))}},n=function(){var t=this.$createElement;this._self._c},o=[]},"0199":function(t,e,a){"use strict";a.r(e);var i=a("00c3"),n=a("f577");for(var o in n)["default"].indexOf(o)<0&&function(t){a.d(e,t,(function(){return n[t]}))}(o);a("a715");var s=a("f0c5"),r=Object(s["a"])(n["default"],i["b"],i["c"],!1,null,"502195fc",null,!1,i["a"],void 0);e["default"]=r.exports},7544:function(t,e,a){"use strict";(function(t,e){var i=a("4ea4");a("8513");i(a("66fd"));var n=i(a("0199"));t.__webpack_require_UNI_MP_PLUGIN__=a,e(n.default)}).call(this,a("bc2e")["default"],a("543d")["createPage"])},8521:function(t,e,a){"use strict";(function(t){var i=a("4ea4");Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=i(a("448a")),o={data:function(){return{member:{},currindex:0,nav_title:[{name:"我的购买记录",id:1},{name:"我的核销记录",id:2}],writeList:[],hexiaoList:[],page:1,size:10,total:0,pages:1,sizes:10,totals:0}},onLoad:function(){this.userInfo(),this.getBuy()},onShow:function(){},onReachBottom:function(){this.total!=this.writeList.length&&0==this.currindex&&(console.log("购买记录++"),this.page++,this.getBuy()),this.totals!=this.hexiaoList.length&&1==this.currindex&&(console.log("核销记录++"),this.pages++,this.getHe())},methods:{integralTap:function(t){var e=t.currentTarget.dataset,a=e.index;e.id;this.currindex=a,0==this.currindex?this.getBuy():this.getHe()},goPage:function(e){t.navigateTo({url:e})},userInfo:function(){var t=this;this.$requst.post("/api/user/info").then((function(e){0==e.code?(console.log(e,"我的信息"),t.member=e.data,t.member.vip_end_time=e.data.vip_end_time.slice(0,10)):t.$toolAll.tools.showToast("登录已过期,请重新登录")}))},getBuy:function(){var t=this,e={page:this.page,size:this.size};this.$requst.post("/api/card/card-purchase-record",e).then((function(e){0==e.code?(console.log(e,"购买记录"),t.total=e.data.total,1==t.page&&(t.writeList=[]),t.writeList=[].concat((0,n.default)(t.writeList),(0,n.default)(e.data.list))):t.$toolAll.tools.showToast(e.msg)}))},getHe:function(){var t=this,e={page:this.pages,size:this.sizes};this.$requst.post("/api/card/card-write-off-log",e).then((function(e){0==e.code?(console.log(e,"核销记录"),t.totals=e.data.total,1==t.pages&&(t.hexiaoList=[]),t.hexiaoList=[].concat((0,n.default)(t.hexiaoList),(0,n.default)(e.data.list))):t.$toolAll.tools.showToast(e.msg)}))}}};e.default=o}).call(this,a("543d")["default"])},a715:function(t,e,a){"use strict";var i=a("e5ad"),n=a.n(i);n.a},e5ad:function(t,e,a){},f577:function(t,e,a){"use strict";a.r(e);var i=a("8521"),n=a.n(i);for(var o in i)["default"].indexOf(o)<0&&function(t){a.d(e,t,(function(){return i[t]}))}(o);e["default"]=n.a}},[["7544","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/myCard/myCard.json b/unpackage/dist/build/mp-weixin/pagesA/myCard/myCard.json new file mode 100644 index 0000000..446b651 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/myCard/myCard.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "我的会员卡", + "enablePullDownRefresh": true, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/myCard/myCard.wxml b/unpackage/dist/build/mp-weixin/pagesA/myCard/myCard.wxml new file mode 100644 index 0000000..a07983f --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/myCard/myCard.wxml @@ -0,0 +1 @@ +我的会员{{member.vip_end_time+"到期"}}会员核销购买会员卡{{item.name}}{{"购买时间:"+item.create_time+''}}{{"购买类型:"+item.card_name}}{{item.title}}{{"会员卡名称:"+item.card_name}}{{"本次核销:"+item.equip_list}}{{"核销时间:"+item.create_time}} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/myCard/myCard.wxss b/unpackage/dist/build/mp-weixin/pagesA/myCard/myCard.wxss new file mode 100644 index 0000000..b88d1bb --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/myCard/myCard.wxss @@ -0,0 +1 @@ +.integral.data-v-502195fc{background-color:#f5f5f5;min-height:100vh}.nav-title.data-v-502195fc{display:flex;align-items:center;justify-content:center;height:78rpx;line-height:78rpx;background-color:#fff;padding-top:16rpx;border-bottom:1px solid #ececec;margin:0 26rpx}.nav-title view.data-v-502195fc{flex:1;text-align:center}.nav-title text.data-v-502195fc{display:inline-block;font-size:28rpx;color:#333;border-bottom:2px solid transparent}.nav-title .curr text.data-v-502195fc{color:#c58a5b;border-bottom:2px solid #c58a5b}.integral-list.data-v-502195fc{margin:22rpx;background-color:#fff;border-radius:20rpx}.integral-boxs.data-v-502195fc{padding:24rpx 0rpx;margin:0 26rpx;display:flex;align-items:center;border-bottom:1px solid #ececec}.integral-text.data-v-502195fc{padding-left:10rpx;line-height:44rpx}.integral-text .title.data-v-502195fc{font-size:28rpx;color:#333}.integral-text .text.data-v-502195fc{font-size:24rpx;color:rgba(0,0,0,.6)}.member.data-v-502195fc{padding:30rpx;margin-bottom:24rpx;background-color:#fff;display:flex;align-items:center;justify-content:space-between}.member .left text.data-v-502195fc{font-size:30rpx;color:#333;font-weight:700;display:block}.member .left .time.data-v-502195fc{margin-top:6rpx;font-size:24rpx;color:#333}.member .right.data-v-502195fc{display:flex;align-items:center}.member .right .member-btn.data-v-502195fc{width:180rpx;height:64rpx;display:flex;align-items:center;justify-content:center;font-size:24rpx;color:#fff;margin-left:10rpx;border-radius:64rpx}.blue.data-v-502195fc{background-color:#0467b8}.org.data-v-502195fc{background-color:#c58a5b} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/myCard/writeOff.js b/unpackage/dist/build/mp-weixin/pagesA/myCard/writeOff.js new file mode 100644 index 0000000..8daefc5 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/myCard/writeOff.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesA/myCard/writeOff"],{"01c6":function(t,e,n){"use strict";n.r(e);var o=n("ab91"),i=n("23b0");for(var a in i)["default"].indexOf(a)<0&&function(t){n.d(e,t,(function(){return i[t]}))}(a);n("5a93");var u=n("f0c5"),r=Object(u["a"])(i["default"],o["b"],o["c"],!1,null,"78e15290",null,!1,o["a"],void 0);e["default"]=r.exports},"23b0":function(t,e,n){"use strict";n.r(e);var o=n("6e2d"),i=n.n(o);for(var a in o)["default"].indexOf(a)<0&&function(t){n.d(e,t,(function(){return o[t]}))}(a);e["default"]=i.a},"5a93":function(t,e,n){"use strict";var o=n("ff15"),i=n.n(o);i.a},"6e2d":function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n={data:function(){return{titleColor:"#ffffff",backgroudColor:"none",time:60,qrCode:"",countTime:null,loseTime:0}},onLoad:function(t){this.getCode()},onShow:function(){},onUnload:function(){this.cleckTIme()},methods:{getCode:function(){var t=this;this.$requst.post("/api/card/user-qr-code").then((function(e){0==e.code&&(console.log(e,"条码"),t.qrCode=e.data.poster,t.times())}))},times:function(){var e=this;e.countTime=setInterval((function(){if(0==e.time)return clearInterval(e.countTime),t.showToast({title:"条码已过期,请手动刷新",icon:"none",duration:2e3}),void(e.loseTime=1);e.time--}),1e3)},breaked:function(){clearInterval(this.countTime),this.time=60,this.loseTime=0;var t=getCurrentPages(),e=t[t.length-1];e.onLoad(),e.onShow(),e.onReady()},cleckTIme:function(){clearInterval(this.countTime)}}};e.default=n}).call(this,n("543d")["default"])},ab91:function(t,e,n){"use strict";n.d(e,"b",(function(){return i})),n.d(e,"c",(function(){return a})),n.d(e,"a",(function(){return o}));var o={statusNav:function(){return n.e("components/status-nav/status-nav").then(n.bind(null,"da82"))}},i=function(){var t=this.$createElement;this._self._c},a=[]},e295:function(t,e,n){"use strict";(function(t,e){var o=n("4ea4");n("8513");o(n("66fd"));var i=o(n("01c6"));t.__webpack_require_UNI_MP_PLUGIN__=n,e(i.default)}).call(this,n("bc2e")["default"],n("543d")["createPage"])},ff15:function(t,e,n){}},[["e295","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/myCard/writeOff.json b/unpackage/dist/build/mp-weixin/pagesA/myCard/writeOff.json new file mode 100644 index 0000000..018323e --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/myCard/writeOff.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "核销会员卡", + "enablePullDownRefresh": true, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/myCard/writeOff.wxml b/unpackage/dist/build/mp-weixin/pagesA/myCard/writeOff.wxml new file mode 100644 index 0000000..ccbc943 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/myCard/writeOff.wxml @@ -0,0 +1 @@ +请出示一下条码或者二维码进行核销会员权益已失效核销条码有效时间{{time+"S"}}手动刷新会员卡有效期内,每日可以核销一次会员权益 \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/myCard/writeOff.wxss b/unpackage/dist/build/mp-weixin/pagesA/myCard/writeOff.wxss new file mode 100644 index 0000000..f861505 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/myCard/writeOff.wxss @@ -0,0 +1 @@ +.writeOff.data-v-78e15290{position:relative;background-color:#1e73c1;min-height:100vh}.allbg.data-v-78e15290{position:fixed;left:0;top:0;width:100%;z-index:9}.writeOff-boxs.data-v-78e15290{position:relative;z-index:55;margin:20rpx 20rpx;border-radius:20rpx;overflow:hidden;background-color:#fff}.writeOff-boxs .text.data-v-78e15290{padding:36rpx 0;display:flex;font-size:26rpx;color:#c48a5c;align-items:center;justify-content:center;background-color:#f8ebe2}.writeOff-boxs .text image.data-v-78e15290{width:26rpx;display:block;margin-right:10rpx}.write-list.data-v-78e15290{background-color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column}.write-list .barCode.data-v-78e15290{max-width:594rpx;margin-top:76rpx}.write-list .num.data-v-78e15290{font-size:28rpx;color:#333;margin-top:26rpx}.write-list .qrCode-boxs.data-v-78e15290{margin-top:40rpx;width:316rpx;position:relative}.write-list .qrCode-boxs .lose.data-v-78e15290{position:absolute;left:0;top:0;width:100%;hieght:316rpx;background-color:hsla(0,0%,97.3%,.7);font-size:36rpx;letter-spacing:2rpx;display:flex;align-items:center;justify-content:center;line-height:316rpx;font-weight:700}.write-list .qrCode.data-v-78e15290{width:100%;display:block}.write-list .time.data-v-78e15290{margin-top:40rpx;font-size:26rpx;color:#333}.write-list .time text.data-v-78e15290{color:#c48a5c;margin-left:14rpx;font-weight:700}.write-list .break.data-v-78e15290{margin-top:40rpx;display:flex;align-items:center;font-size:26rpx;color:rgba(51,51,51,.6)}.write-list .break image.data-v-78e15290{width:26rpx;height:26rpx;margin-right:10rpx}.writeOff-boxs .text2.data-v-78e15290{margin-top:66rpx;padding:36rpx 0;display:flex;border-top:1px solid #e9ebee;font-size:22rpx;color:#c48a5c;align-items:center;justify-content:center} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/order/detail.js b/unpackage/dist/build/mp-weixin/pagesA/order/detail.js new file mode 100644 index 0000000..f142bd9 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/order/detail.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesA/order/detail"],{"04ba":function(e,n,o){"use strict";o.r(n);var r=o("b25f"),t=o.n(r);for(var i in r)["default"].indexOf(i)<0&&function(e){o.d(n,e,(function(){return r[e]}))}(i);n["default"]=t.a},"52c7":function(e,n,o){"use strict";o.r(n);var r=o("f636"),t=o("04ba");for(var i in t)["default"].indexOf(i)<0&&function(e){o.d(n,e,(function(){return t[e]}))}(i);var a=o("f0c5"),s=Object(a["a"])(t["default"],r["b"],r["c"],!1,null,"2bca731e",null,!1,r["a"],void 0);n["default"]=s.exports},"687e":function(e,n,o){"use strict";(function(e,n){var r=o("4ea4");o("8513");r(o("66fd"));var t=r(o("52c7"));e.__webpack_require_UNI_MP_PLUGIN__=o,n(t.default)}).call(this,o("bc2e")["default"],o("543d")["createPage"])},b25f:function(e,n,o){"use strict";(function(e){Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var o={data:function(){return{statusHeight:e.getSystemInfoSync().statusBarHeight,baseHttps:"".concat(getApp().globalData.hostapi),flag:!0,orderInfo:{},goodsList:[],ifLoading:!1}},onLoad:function(e){e.id&&this.getOrderInfo(e.id),this.getGoodsList()},methods:{getOrderInfo:function(e){var n=this;this.$requst.get("/api/user/order-detail",{id:e}).then((function(e){0==e.code?(console.log(e,"订单详情"),n.orderInfo=e.data,n.ifLoading=!0):n.$toolAll.tools.showToast(e.msg)}))},getGoodsList:function(){var e=this;this.$requst.get("/api/spu/list",{page:1,size:6}).then((function(n){if(0==n.code){console.log(n,"商品列表");var o=[];n.data.list.forEach((function(n){var r={id:n.id,title:n.name,src:e.baseHttps+n.cover,price:n.price,integral:n.score,sku_id:n.skuInfo.id,tag:n.tag};o.push(r)})),e.goodsList=o}else e.$toolAll.tools.showToast(n.msg)}))}}};n.default=o}).call(this,o("543d")["default"])},f636:function(e,n,o){"use strict";o.d(n,"b",(function(){return t})),o.d(n,"c",(function(){return i})),o.d(n,"a",(function(){return r}));var r={statusNav:function(){return o.e("components/status-nav/status-nav").then(o.bind(null,"da82"))},goodsList:function(){return o.e("components/goods-list/goods-list").then(o.bind(null,"469f"))}},t=function(){var e=this,n=e.$createElement,o=(e._self._c,e.ifLoading?e.orderInfo.address.split(","):null),r=e.ifLoading?e.orderInfo.address.split(","):null,t=e.ifLoading?e.orderInfo.address.split(","):null,i=e.ifLoading?e.__map(e.orderInfo.skus,(function(n,o){var r=e.__get_orig(n),t=n.price.substr(0,n.price.indexOf(".")),i=n.price.substr(n.price.indexOf("."),n.price.length);return{$orig:r,g3:t,g4:i}})):null,a=e.ifLoading?e.orderInfo.price.substr(0,e.orderInfo.price.indexOf(".")):null,s=e.ifLoading?e.orderInfo.price.substr(e.orderInfo.price.indexOf("."),e.orderInfo.price.length):null,d=e.ifLoading?e.orderInfo.freight.substr(0,e.orderInfo.freight.indexOf(".")):null,f=e.ifLoading?e.orderInfo.freight.substr(e.orderInfo.freight.indexOf("."),e.orderInfo.freight.length):null,l=e.ifLoading&&e.orderInfo.balance>0?e.orderInfo.balance.substr(0,e.orderInfo.balance.indexOf(".")):null,u=e.ifLoading&&e.orderInfo.balance>0?e.orderInfo.balance.substr(e.orderInfo.balance.indexOf("."),e.orderInfo.balance.length):null,c=e.ifLoading?e.orderInfo.pay_price.substr(0,e.orderInfo.pay_price.indexOf(".")):null,g=e.ifLoading?e.orderInfo.pay_price.substr(e.orderInfo.pay_price.indexOf("."),e.orderInfo.pay_price.length):null;e.$mp.data=Object.assign({},{$root:{g0:o,g1:r,g2:t,l0:i,g5:a,g6:s,g7:d,g8:f,g9:l,g10:u,g11:c,g12:g}})},i=[]}},[["687e","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/order/detail.json b/unpackage/dist/build/mp-weixin/pagesA/order/detail.json new file mode 100644 index 0000000..d078d4c --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/order/detail.json @@ -0,0 +1,8 @@ +{ + "navigationBarTitleText": "订单详情", + "enablePullDownRefresh": true, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav", + "goods-list": "/components/goods-list/goods-list" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/order/detail.wxml b/unpackage/dist/build/mp-weixin/pagesA/order/detail.wxml new file mode 100644 index 0000000..0e07121 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/order/detail.wxml @@ -0,0 +1 @@ +{{$root.g0[0]}}{{$root.g1[1]}}{{$root.g2[2]}}{{item.$orig.spu_name}}{{item.g3}}{{item.g4}}+{{item.$orig.score}}积分{{"x"+item.$orig.num}}订单编号:{{orderInfo.coding}}下单时间:{{orderInfo.created_at}}付款方式:微信支付配送方式:{{orderInfo.express_name+"  "+orderInfo.express_number}}商品金额总计:{{$root.g5}}{{$root.g6}}运费:{{$root.g7}}{{$root.g8}}余额:-¥{{$root.g9}}{{$root.g10}}积分:-{{orderInfo.score}}积分{{(orderInfo.status=='waiting'?'需付款':'实付款')+":"}}{{$root.g11}}{{$root.g12}}猜你喜欢 \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/order/logistics.js b/unpackage/dist/build/mp-weixin/pagesA/order/logistics.js new file mode 100644 index 0000000..2ad829c --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/order/logistics.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesA/order/logistics"],{"0cee":function(t,n,o){"use strict";o.d(n,"b",(function(){return i})),o.d(n,"c",(function(){return a})),o.d(n,"a",(function(){return e}));var e={statusNav:function(){return o.e("components/status-nav/status-nav").then(o.bind(null,"da82"))}},i=function(){var t=this.$createElement,n=(this._self._c,this.ifLoading?this.logisticsInfo.data.length:null);this.$mp.data=Object.assign({},{$root:{g0:n}})},a=[]},"55fc":function(t,n,o){"use strict";o.r(n);var e=o("0cee"),i=o("da4f");for(var a in i)["default"].indexOf(a)<0&&function(t){o.d(n,t,(function(){return i[t]}))}(a);o("7cdd");var s=o("f0c5"),c=Object(s["a"])(i["default"],e["b"],e["c"],!1,null,"6161872b",null,!1,e["a"],void 0);n["default"]=c.exports},"5e82":function(t,n,o){},"747e":function(t,n,o){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var e={data:function(){return{logs:{state:"交易成功",time:"送货时间不限"},baseHttps:"".concat(getApp().globalData.hostapi),logisticsInfo:{},headimgUrl:"/static/public/avatar.png",userInfo:{},ifLoading:!1}},onLoad:function(t){t.id&&this.getLogisticsEv(t.id),this.getUserInfo()},methods:{getUserInfo:function(){var t=this;this.$requst.post("/api/user/info").then((function(n){0==n.code?(console.log(n,"用户信息"),t.userInfo=n.data):t.$toolAll.tools.showToast("登录已过期,请重新登录")}))},getLogisticsEv:function(t){var n=this;this.$requst.get("/api/order/kd-loo-query",{order_id:t}).then((function(t){0==t.code?(console.log(t,"物流信息"),n.logisticsInfo=t.data,n.ifLoading=!0):n.$toolAll.tools.showToast(t.msg)}))}}};n.default=e},"7cdd":function(t,n,o){"use strict";var e=o("5e82"),i=o.n(e);i.a},c46c:function(t,n,o){"use strict";(function(t,n){var e=o("4ea4");o("8513");e(o("66fd"));var i=e(o("55fc"));t.__webpack_require_UNI_MP_PLUGIN__=o,n(i.default)}).call(this,o("bc2e")["default"],o("543d")["createPage"])},da4f:function(t,n,o){"use strict";o.r(n);var e=o("747e"),i=o.n(e);for(var a in e)["default"].indexOf(a)<0&&function(t){o.d(n,t,(function(){return e[t]}))}(a);n["default"]=i.a}},[["c46c","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/order/logistics.json b/unpackage/dist/build/mp-weixin/pagesA/order/logistics.json new file mode 100644 index 0000000..016048c --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/order/logistics.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "订单物流", + "enablePullDownRefresh": true, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/order/logistics.wxml b/unpackage/dist/build/mp-weixin/pagesA/order/logistics.wxml new file mode 100644 index 0000000..6c4ada4 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/order/logistics.wxml @@ -0,0 +1 @@ +已签收{{logisticsInfo.data[0].status}}{{logisticsInfo.data[0].time}}暂无物流信息{{logisticsInfo.addressee_name}}{{logisticsInfo.addressee_phone}}{{logisticsInfo.express_name}}{{logisticsInfo.nu}}已签收派件运输中已揽件{{item.context}}{{item.time}} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/order/logistics.wxss b/unpackage/dist/build/mp-weixin/pagesA/order/logistics.wxss new file mode 100644 index 0000000..f4a1e08 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/order/logistics.wxss @@ -0,0 +1 @@ +.logistics.data-v-6161872b{margin:0 20rpx}.logboxs.data-v-6161872b{padding:22rpx 40rpx;background-color:#fff;border-radius:10rpx}.state .title.data-v-6161872b{font-size:36rpx;color:#333}.state text.data-v-6161872b{color:#343434;font-size:24rpx;margin-top:6rpx;display:block}.user-list.data-v-6161872b{display:flex;margin-top:24rpx;align-items:center}.user-list .face.data-v-6161872b{width:88rpx;height:88rpx;margin-right:18rpx;border-radius:50%;overflow:hidden;display:block}.user-list .boxs.data-v-6161872b{display:block;line-height:50rpx;font-size:24rpx;color:#333}.user-list .boxs .st.data-v-6161872b{display:flex;align-items:center}.user-list .boxs .st view.data-v-6161872b{color:#f92d2e;margin-left:20rpx;display:flex;align-items:center}.user-list .boxs .st .phone.data-v-6161872b{margin-left:30rpx}.user-list .boxs .st view image.data-v-6161872b{width:30rpx;margin-right:10rpx}.express.data-v-6161872b{margin-top:24rpx;position:relative;padding-top:40rpx;padding-right:20rpx}.express .boxs.data-v-6161872b:before{content:"";display:block;left:-20rpx;width:1px;top:0;height:100%;background-color:#e5e5e5;z-index:9;position:absolute}.express .boxs.data-v-6161872b{display:flex;align-items:flex-start;padding-bottom:40rpx;position:relative}.express .boxs .icon.data-v-6161872b{display:flex;align-items:center;width:100%;height:42rpx;position:absolute;left:-64rpx;top:0;z-index:999}.express .boxs .icon>view.data-v-6161872b{display:flex;align-items:center;justify-content:center;width:42rpx;height:42rpx;border-radius:50%;background-color:#e5e5e5;color:#666;font-size:24rpx;position:relative;z-index:99}.express .boxs .icon>text.data-v-6161872b{margin-left:24rpx;font-size:24rpx;font-weight:700}.express .boxs .icon>view image.data-v-6161872b{width:24rpx;height:24rpx}.express .boxs .all-text.data-v-6161872b{margin-left:24rpx}.express .boxs .all-text .text-cont.data-v-6161872b:first-child{margin-top:0}.express .boxs .all-text .text-cont.data-v-6161872b:first-child::before{display:none}.express .boxs .text-cont.data-v-6161872b{width:100%;position:relative;margin-top:40rpx}.express .boxs .text-cont.data-v-6161872b:before{content:"";width:20rpx;left:0;height:20rpx;background-color:#e5e5e5;border-radius:50%;position:absolute;left:-54rpx;top:12rpx}.express .boxs .text-cont .title.data-v-6161872b{line-height:44rpx;font-size:24rpx;color:#333;font-weight:700}.express .boxs .text-cont .text.data-v-6161872b{font-size:24rpx;color:#666;line-height:44rpx}.express .boxs .text-cont .time.data-v-6161872b{font-size:22rpx;color:hsla(0,0%,40%,.8);line-height:40rpx} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/order/order.js b/unpackage/dist/build/mp-weixin/pagesA/order/order.js new file mode 100644 index 0000000..cfd55bf --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/order/order.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesA/order/order"],{4116:function(t,e,o){"use strict";o.r(e);var n=o("f1d4"),a=o("f28a");for(var s in a)["default"].indexOf(s)<0&&function(t){o.d(e,t,(function(){return a[t]}))}(s);var i=o("f0c5"),r=Object(i["a"])(a["default"],n["b"],n["c"],!1,null,"cd1f4fc4",null,!1,n["a"],void 0);e["default"]=r.exports},eaf1:function(t,e,o){"use strict";(function(t,e){var n=o("4ea4");o("8513");n(o("66fd"));var a=n(o("4116"));t.__webpack_require_UNI_MP_PLUGIN__=o,e(a.default)}).call(this,o("bc2e")["default"],o("543d")["createPage"])},f1d4:function(t,e,o){"use strict";o.d(e,"b",(function(){return a})),o.d(e,"c",(function(){return s})),o.d(e,"a",(function(){return n}));var n={statusNav:function(){return o.e("components/status-nav/status-nav").then(o.bind(null,"da82"))},footBar:function(){return o.e("components/foot-bar/foot-bar").then(o.bind(null,"57f4"))}},a=function(){var t=this,e=t.$createElement,o=(t._self._c,t.ifLoading?t.__map(t.orderList,(function(e,o){var n=t.__get_orig(e),a=t.__map(e.skus,(function(e,o){var n=t.__get_orig(e),a=e.price.substr(0,e.price.indexOf(".")),s=e.price.substr(e.price.indexOf("."),e.price.length);return{$orig:n,g0:a,g1:s}}));return{$orig:n,l0:a}})):null),n=t.orderList.length;t.$mp.data=Object.assign({},{$root:{l1:o,g2:n}})},s=[]},f28a:function(t,e,o){"use strict";o.r(e);var n=o("fd20"),a=o.n(n);for(var s in n)["default"].indexOf(s)<0&&function(t){o.d(e,t,(function(){return n[t]}))}(s);e["default"]=a.a},fd20:function(t,e,o){"use strict";(function(t,o){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n={data:function(){return{statusHeight:t.getSystemInfoSync().statusBarHeight,baseHttps:"".concat(getApp().globalData.hostapi),tagList:[{name:"全部订单",tag:"all"},{name:"待付款",tag:"waiting"},{name:"已付款",tag:"paid"},{name:"待收货",tag:"shipped"},{name:"已完成",tag:"completed"}],tagIndex:0,orderList:[],ifLoading:!1}},onLoad:function(t){t.index&&(this.tagIndex=t.index),this.getOrderList()},methods:{getOrderList:function(){var t=this;this.ifLoading=!1,this.$requst.get("/api/user/order",{tag:this.tagList[this.tagIndex].tag}).then((function(e){0==e.code?(console.log(e,"订单列表"),t.orderList=e.data.list,t.ifLoading=!0):t.$toolAll.tools.showToast(e.msg)}))},choseTag:function(t){t!==this.tagIndex&&(this.tagIndex=t,this.orderList=[],this.getOrderList())},goPage:function(e){t.navigateTo({url:e})},acceptedEv:function(e){var o=this;t.showModal({title:"提示",content:"确定要收货吗?",success:function(t){t.confirm?o.$requst.post("/api/order/accepted",{order_id:e}).then((function(t){0==t.code?(console.log(t,"确认收货"),o.$toolAll.tools.showToast("已确认收货"),setTimeout((function(){o.getOrderList()}),800)):o.$toolAll.tools.showToast(t.msg)})):t.cancel&&console.log("用户点击取消")}})},payEv:function(e){var o=this,n={openid:t.getStorageSync("openId"),order_coding:e};this.$requst.post("/api/order/pay",n).then((function(t){0==t.code?(console.log(t,"立即支付"),o.callPayMent(t.data.payment_params,e)):o.$toolAll.tools.showToast(t.msg)}))},callPayMent:function(t,e){var n=this;o.requestPayment({timeStamp:t.timeStamp,nonceStr:t.nonceStr,package:t.package,signType:t.signType,paySign:t.sign,success:function(t){console.log("支付成功:",t),n.successEv(e)},fail:function(t){n.$toolAll.tools.showToast("您已取消支付")}})},successEv:function(t){var e=this;this.$requst.post("/api/order/paid",{order_coding:t}).then((function(t){0==t.code?(console.log(t,"成功状态"),e.$toolAll.tools.showToast("支付成功"),e.getOrderList()):e.$toolAll.tools.showToast(t.msg)}))}}};e.default=n}).call(this,o("543d")["default"],o("bc2e")["default"])}},[["eaf1","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/order/order.json b/unpackage/dist/build/mp-weixin/pagesA/order/order.json new file mode 100644 index 0000000..0a09ecd --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/order/order.json @@ -0,0 +1,8 @@ +{ + "navigationBarTitleText": "订单列表", + "enablePullDownRefresh": true, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav", + "foot-bar": "/components/foot-bar/foot-bar" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/order/order.wxml b/unpackage/dist/build/mp-weixin/pagesA/order/order.wxml new file mode 100644 index 0000000..acb50fc --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/order/order.wxml @@ -0,0 +1 @@ +{{item.name}}{{"订单号:"+item.$orig.coding}}{{item.$orig.status_text}}{{item1.$orig.spu_name}}{{item1.g0}}{{item1.g1}}{{"共"+item1.$orig.num+"件"}}查看物流去支付查看详情确认收货暂无相关数据 \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/search/search.js b/unpackage/dist/build/mp-weixin/pagesA/search/search.js new file mode 100644 index 0000000..0637356 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/search/search.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesA/search/search"],{"0ed7":function(e,t,i){"use strict";(function(e,t){var o=i("4ea4");i("8513");o(i("66fd"));var n=o(i("2b7c"));e.__webpack_require_UNI_MP_PLUGIN__=i,t(n.default)}).call(this,i("bc2e")["default"],i("543d")["createPage"])},"2b7c":function(e,t,i){"use strict";i.r(t);var o=i("effc"),n=i("9f7b");for(var s in n)["default"].indexOf(s)<0&&function(e){i.d(t,e,(function(){return n[e]}))}(s);var r=i("f0c5"),c=Object(r["a"])(n["default"],o["b"],o["c"],!1,null,"4aeb0b34",null,!1,o["a"],void 0);t["default"]=c.exports},"3b4c":function(e,t,i){"use strict";(function(e,o){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n={components:{goodsList:function(){i.e("components/goods-list/goods-list").then(function(){return resolve(i("469f"))}.bind(null,i)).catch(i.oe)}},data:function(){return{statusHeight:e.getSystemInfoSync().statusBarHeight,scrollHeight:e.getSystemInfoSync().windowHeight,searchHeight:0,showType:"search-column",ifScreen:!1,priceType:["金额+积分","金额","全部"],goodsList:[],priceTypeIndex:-1,allPrice:!1,priceSection:[],keyword:"",order:"normal",page:1,size:10,total:0}},onLoad:function(e){var t=this;e.keyword&&(this.keyword=e.keyword),console.log(e.keyword),this.searchEv();var i=o.createSelectorQuery().in(this);i.select(".search-bg").boundingClientRect((function(e){t.searchHeight=e.height})).exec()},onReachBottom:function(){this.total!==this.goodsList.length&&(this.page++,this.searchEv())},methods:{searchEv:function(){var e=this,t={page:this.page,size:this.size,keyword:this.keyword,price_from:void 0!==this.priceSection[0]?this.priceSection[0]:0,price_to:void 0!==this.priceSection[1]?this.priceSection[1]:0,order:this.order};this.allPrice?t.is_score=0==this.priceTypeIndex?1:0:delete t.is_score,this.$requst.get("/api/spu/list",t).then((function(t){if(0==t.code){console.log(t,"商品列表"),e.total=t.data.total,1==e.page&&(e.goodsList=[]);var i=[];t.data.list.forEach((function(e){var t={id:e.id,title:e.name,src:"".concat(getApp().globalData.hostapi)+e.cover,price:e.price,integral:e.score,sku_id:e.skuInfo.id,tag:e.tag};i.push(t)})),e.goodsList=e.goodsList.concat(i)}else e.$toolAll.tools.showToast(t.msg)}))},changeOrderBy:function(e){switch(e){case 1:"normal"!==this.order&&(this.order="normal",this.searchEv());break;case 2:"price_up"==this.order?this.order="price_down":this.order="price_up",this.searchEv();break;case 3:"sales"!==this.order&&(this.order="sales",this.searchEv());break}},changeLayout:function(){""==this.showType?this.showType="search-column":this.showType=""},choseType:function(e){2==e?(this.allPrice=!1,this.priceTypeIndex=e):(this.allPrice=!0,this.priceTypeIndex=e)},confirmEv:function(){this.ifScreen=!1,this.searchEv()},resetEv:function(){this.priceTypeIndex=-1,this.priceSection=[]}}};t.default=n}).call(this,i("543d")["default"],i("bc2e")["default"])},"9f7b":function(e,t,i){"use strict";i.r(t);var o=i("3b4c"),n=i.n(o);for(var s in o)["default"].indexOf(s)<0&&function(e){i.d(t,e,(function(){return o[e]}))}(s);t["default"]=n.a},effc:function(e,t,i){"use strict";i.d(t,"b",(function(){return n})),i.d(t,"c",(function(){return s})),i.d(t,"a",(function(){return o}));var o={statusNav:function(){return i.e("components/status-nav/status-nav").then(i.bind(null,"da82"))},goodsList:function(){return i.e("components/goods-list/goods-list").then(i.bind(null,"469f"))},footBar:function(){return i.e("components/foot-bar/foot-bar").then(i.bind(null,"57f4"))}},n=function(){var e=this,t=e.$createElement,i=(e._self._c,e.goodsList.length);e._isMounted||(e.e0=function(t){e.ifScreen=!0},e.e1=function(t){e.ifScreen=!1}),e.$mp.data=Object.assign({},{$root:{g0:i}})},s=[]}},[["0ed7","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/search/search.json b/unpackage/dist/build/mp-weixin/pagesA/search/search.json new file mode 100644 index 0000000..cd0c329 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/search/search.json @@ -0,0 +1,9 @@ +{ + "navigationBarTitleText": "搜索", + "enablePullDownRefresh": true, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav", + "goods-list": "/components/goods-list/goods-list", + "foot-bar": "/components/foot-bar/foot-bar" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/search/search.wxml b/unpackage/dist/build/mp-weixin/pagesA/search/search.wxml new file mode 100644 index 0000000..f155303 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/search/search.wxml @@ -0,0 +1 @@ +综合价格销量筛选{{$root.g0==total?'不要再往下拉,我是有底线的~~':'下拉加载更多~~'}}价格类型{{item}}价格区间重置确认 \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/shopOwner/shopOwner.js b/unpackage/dist/build/mp-weixin/pagesA/shopOwner/shopOwner.js new file mode 100644 index 0000000..d6ba29d --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/shopOwner/shopOwner.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesA/shopOwner/shopOwner"],{"1cbd":function(t,e,n){"use strict";n.r(e);var a=n("224c"),o=n("d210");for(var i in o)["default"].indexOf(i)<0&&function(t){n.d(e,t,(function(){return o[t]}))}(i);n("3da1");var c=n("f0c5"),s=Object(c["a"])(o["default"],a["b"],a["c"],!1,null,"7814b8ce",null,!1,a["a"],void 0);e["default"]=s.exports},"224c":function(t,e,n){"use strict";n.d(e,"b",(function(){return o})),n.d(e,"c",(function(){return i})),n.d(e,"a",(function(){return a}));var a={statusNav:function(){return n.e("components/status-nav/status-nav").then(n.bind(null,"da82"))}},o=function(){var t=this.$createElement;this._self._c},i=[]},"3da1":function(t,e,n){"use strict";var a=n("616a"),o=n.n(a);o.a},"5a44":function(t,e,n){"use strict";(function(t){var a=n("4ea4");Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var o=a(n("448a")),i={data:function(){return{clerkList:[],baseHttps:"".concat(getApp().globalData.hostapi),page:1,size:10,total:0,noMore:!1,loading:!1,qrCode:""}},onLoad:function(){this.getCode(),this.getScan()},onShow:function(){},onReachBottom:function(){this.total!=this.dataList.length&&(this.page++,this.getScan())},methods:{getCode:function(){var t=this;this.$requst.post("/api/user/shopowner-qrcode").then((function(e){0==e.code&&(console.log(e,"分享码"),t.qrCode=e.data.poster)}))},getScan:function(){var e=this,n={page:this.page,size:this.size};this.$requst.get("/api/user/shareUserList",n).then((function(n){0==n.code?(console.log(n,"分享用户信息"),e.total=n.data.total,1==e.page&&(e.clerkList=[]),e.clerkList=[].concat((0,o.default)(e.clerkList),(0,o.default)(n.data.list)),e.total==e.clerkList.length&&1!=e.page&&(e.noMore=!0),e.loading=!0):t.showToast({title:n.msg,icon:"none",duration:2e3})}))}}};e.default=i}).call(this,n("543d")["default"])},"616a":function(t,e,n){},"9f0c":function(t,e,n){"use strict";(function(t,e){var a=n("4ea4");n("8513");a(n("66fd"));var o=a(n("1cbd"));t.__webpack_require_UNI_MP_PLUGIN__=n,e(o.default)}).call(this,n("bc2e")["default"],n("543d")["createPage"])},d210:function(t,e,n){"use strict";n.r(e);var a=n("5a44"),o=n.n(a);for(var i in a)["default"].indexOf(i)<0&&function(t){n.d(e,t,(function(){return a[t]}))}(i);e["default"]=o.a}},[["9f0c","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/shopOwner/shopOwner.json b/unpackage/dist/build/mp-weixin/pagesA/shopOwner/shopOwner.json new file mode 100644 index 0000000..ba291eb --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/shopOwner/shopOwner.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "", + "enablePullDownRefresh": false, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/shopOwner/shopOwner.wxml b/unpackage/dist/build/mp-weixin/pagesA/shopOwner/shopOwner.wxml new file mode 100644 index 0000000..efd7cb2 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/shopOwner/shopOwner.wxml @@ -0,0 +1 @@ +我的分享码我的分享记录{{item.nickname}}{{"消费余额:"+item.spend_score+''}}{{"消费积分:"+item.spend_balance}}{{"剩余余额:"+item.score+''}}{{"剩余积分:"+item.balance}} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/shopOwner/shopOwner.wxss b/unpackage/dist/build/mp-weixin/pagesA/shopOwner/shopOwner.wxss new file mode 100644 index 0000000..f82eaa1 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/shopOwner/shopOwner.wxss @@ -0,0 +1 @@ +.clerk.data-v-7814b8ce{display:block}.clerk-search.data-v-7814b8ce{background-color:#fff;padding:20rpx 38rpx}.clerk-search .boxs.data-v-7814b8ce{margin-bottom:20rpx;display:flex;align-items:center;justify-content:space-between;position:relative}.clerk-search .boxs .input.data-v-7814b8ce{width:326rpx;height:64rpx;line-height:64rpx;border:1px solid #dfdfdf;padding:0 14rpx;box-sizing:border-box;position:relative;border-radius:6rpx;font-size:28rpx}.clerk-search .boxs .input .name.data-v-7814b8ce{display:flex;justify-content:space-between;align-items:center;height:64rpx}.clerk-search .boxs .input .name image.data-v-7814b8ce{width:19rpx;height:14rpx;margin-right:5rpx}.clerk-search .search-list.data-v-7814b8ce{border:1px solid #dfdfdf;padding:0 14rpx;height:64rpx;border-radius:6rpx}.clerk-search .search-list .input.data-v-7814b8ce{width:80%;padding:0;border:none}.search-icon.data-v-7814b8ce{width:32rpx;display:block}.huibg.data-v-7814b8ce{height:28rpx;background-color:#f5f5f5;width:100%}.scan.data-v-7814b8ce{padding:40rpx 0rpx;margin:0 20rpx;border-radius:10rpx;background-color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column}.scan .image.data-v-7814b8ce{width:92rpx;display:block}.scan text.data-v-7814b8ce{font-size:24rpx;color:#333;margin-top:30rpx;text-align:center;display:block}.clerk-list.data-v-7814b8ce{margin:0 20rpx;border-radius:10rpx;background-color:#fff}.clerk-list .all.data-v-7814b8ce{padding:22rpx 0;margin:0 20rpx;border-bottom:1px solid #ececec;display:flex;align-items:center;justify-content:space-between}.clerk-list .all .left-boxs.data-v-7814b8ce{display:flex;align-items:center}.clerk-list .all .left-boxs .face.data-v-7814b8ce{width:80rpx;height:80rpx;display:block;margin-right:16rpx}.clerk-list .all .left-boxs .text .tit.data-v-7814b8ce{display:block;font-size:28rpx;color:#333;line-height:40rpx}.clerk-list .all .left-boxs .text .st.data-v-7814b8ce{font-size:24rpx;color:rgba(51,51,51,.7);line-height:44rpx}.clerk-list .all .left-boxs .text .st text.data-v-7814b8ce{margin-right:24rpx}.clerk-list .all .right-icon.data-v-7814b8ce{width:14rpx;display:none}.hexiao .clerk-search .search-list2 .input.data-v-7814b8ce{width:100%;padding:20rpx;height:160rpx;line-height:40rpx}.hexiao .search-icon.data-v-7814b8ce{width:32rpx;display:block}.hexiao .scan .scan-btn.data-v-7814b8ce{margin:0 auto;margin-top:34rpx;width:378rpx;height:76rpx;background-color:#0467b8;display:flex;align-items:center;justify-content:center;font-size:26rpx;color:#fff}.hexiao .clerk-list.data-v-7814b8ce{margin:0 20rpx;border-radius:10rpx;background-color:#fff}.hexiao .clerk-list .all.data-v-7814b8ce{padding:22rpx 0;margin:0 20rpx;border-bottom:1px solid #ececec;display:flex;align-items:center;justify-content:space-between}.hexiao .clerk-list .all .left-boxs.data-v-7814b8ce{display:flex;align-items:center}.hexiao .clerk-list .all .left-boxs .face.data-v-7814b8ce{width:80rpx;height:80rpx;display:block;margin-right:16rpx}.hexiao .clerk-list .all .left-boxs .text .tit.data-v-7814b8ce{display:block;font-size:28rpx;color:#333;line-height:44rpx}.hexiao .clerk-list .all .left-boxs .text .st.data-v-7814b8ce{font-size:24rpx;color:rgba(51,51,51,.7);line-height:44rpx}.hexiao .clerk-list .all .left-boxs .text .st text.data-v-7814b8ce{margin-right:24rpx}.hexiao .clerk-list .all .right-icon.data-v-7814b8ce{width:14rpx;display:none}.title.data-v-7814b8ce{margin-top:30rpx;padding-left:40rpx;font-size:32rpx;color:#0467b8;margin-bottom:24rpx}.write-list.data-v-7814b8ce{background-color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column}.write-list .barCode.data-v-7814b8ce{max-width:594rpx;margin-top:76rpx}.write-list .num.data-v-7814b8ce{font-size:28rpx;color:#333;margin-top:26rpx}.write-list .qrCode-boxs.data-v-7814b8ce{width:316rpx;position:relative}.write-list .qrCode-boxs .lose.data-v-7814b8ce{position:absolute;left:0;top:0;width:100%;hieght:316rpx;background-color:hsla(0,0%,97.3%,.7);font-size:36rpx;letter-spacing:2rpx;display:flex;align-items:center;justify-content:center;line-height:316rpx;font-weight:700}.write-list .qrCode.data-v-7814b8ce{width:100%;display:block}.write-list .time.data-v-7814b8ce{margin-top:30rpx;font-size:26rpx;color:#333}.write-list .time text.data-v-7814b8ce{color:#c48a5c;margin-left:14rpx;font-weight:700}.write-list .break.data-v-7814b8ce{margin-top:40rpx;display:flex;align-items:center;font-size:26rpx;color:rgba(51,51,51,.6)}.write-list .break image.data-v-7814b8ce{width:26rpx;height:26rpx;margin-right:10rpx} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCard.js b/unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCard.js new file mode 100644 index 0000000..445287d --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCard.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesA/vipCard/vipCard"],{"1e92":function(t,n,o){"use strict";(function(t){Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var e={components:{goodsList:function(){o.e("components/goods-list/goods-list").then(function(){return resolve(o("469f"))}.bind(null,o)).catch(o.oe)},vipCard:function(){o.e("components/vip-card/vip-card").then(function(){return resolve(o("0162"))}.bind(null,o)).catch(o.oe)}},data:function(){return{titleColor:"#ffffff",backgroudColor:"none",statusHeight:t.getSystemInfoSync().statusBarHeight,scrollHeight:t.getSystemInfoSync().windowHeight,baseHttps:"".concat(getApp().globalData.hostapi),keyword:"",goodsList:[],page:1,size:6,total:0}},onLoad:function(){this.getGoodsList()},onShow:function(){},onPageScroll:function(n){n.scrollTop>=10&&(this.backgroudColor="#1461a9"),n.scrollTop<=0&&(this.backgroudColor="none"),n.scrollTop>t.getSystemInfoSync().windowHeight?this.zIndex=999:this.zIndex=-1},onReachBottom:function(){this.total!=this.goodsList.length&&(this.page++,this.getGoodsList())},methods:{goPage:function(n,o){var e={index:n,id:o};t.navigateTo({url:"/pagesA/vipCard/vipCardDetail?data="+JSON.stringify(e)})},searchEv:function(){""!==this.keyword&&t.navigateTo({url:"/pagesA/search/search?keyword=".concat(this.keyword)})},getGoodsList:function(){var t=this,n={page:this.page,size:this.size};this.$requst.get("/api/spu/list",n).then((function(n){if(0==n.code){t.total=n.data.total,console.log(n,"商品列表");var o=[];n.data.list.forEach((function(n){var e={id:n.id,title:n.name,src:t.baseHttps+n.cover,price:n.price,integral:n.score,sku_id:n.skuInfo.id,tag:n.tag};o.push(e)})),t.goodsList=o}else t.$toolAll.tools.showToast(n.msg)}))}}};n.default=e}).call(this,o("543d")["default"])},"4b43":function(t,n,o){"use strict";var e=o("df3b"),i=o.n(e);i.a},"51c5":function(t,n,o){"use strict";o.d(n,"b",(function(){return i})),o.d(n,"c",(function(){return s})),o.d(n,"a",(function(){return e}));var e={statusNav:function(){return o.e("components/status-nav/status-nav").then(o.bind(null,"da82"))},vipCard:function(){return o.e("components/vip-card/vip-card").then(o.bind(null,"0162"))},goodsList:function(){return o.e("components/goods-list/goods-list").then(o.bind(null,"469f"))}},i=function(){var t=this.$createElement;this._self._c},s=[]},"75df":function(t,n,o){"use strict";o.r(n);var e=o("51c5"),i=o("8721");for(var s in i)["default"].indexOf(s)<0&&function(t){o.d(n,t,(function(){return i[t]}))}(s);o("4b43");var a=o("f0c5"),c=Object(a["a"])(i["default"],e["b"],e["c"],!1,null,null,null,!1,e["a"],void 0);n["default"]=c.exports},8721:function(t,n,o){"use strict";o.r(n);var e=o("1e92"),i=o.n(e);for(var s in e)["default"].indexOf(s)<0&&function(t){o.d(n,t,(function(){return e[t]}))}(s);n["default"]=i.a},b8e0:function(t,n,o){"use strict";(function(t,n){var e=o("4ea4");o("8513");e(o("66fd"));var i=e(o("75df"));t.__webpack_require_UNI_MP_PLUGIN__=o,n(i.default)}).call(this,o("bc2e")["default"],o("543d")["createPage"])},df3b:function(t,n,o){}},[["b8e0","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCard.json b/unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCard.json new file mode 100644 index 0000000..4028f7f --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCard.json @@ -0,0 +1,9 @@ +{ + "navigationBarTitleText": "会员卡列表", + "enablePullDownRefresh": true, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav", + "vip-card": "/components/vip-card/vip-card", + "goods-list": "/components/goods-list/goods-list" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCard.wxml b/unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCard.wxml new file mode 100644 index 0000000..32b1dec --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCard.wxml @@ -0,0 +1 @@ +推荐产品 \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCard.wxss b/unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCard.wxss new file mode 100644 index 0000000..61b6e48 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCard.wxss @@ -0,0 +1 @@ +.search-bg{background-color:unset}.search-bg .search{width:100%}.writeOff{position:relative;background-color:#f7f7f7;min-height:100vh}.allbg{position:absolute;left:0;top:0;width:100%;z-index:9}.vip-boxs{position:relative;z-index:55;margin:0rpx 20rpx;overflow:hidden;margin-top:16rpx}.vip-boxs .list{display:block;margin:0 auto;margin-top:34rpx;width:674rpx;border-radius:10rpx;overflow:hidden}.vip-boxs .list image{width:100%;display:block}.vip-card .vip-card-nav{flex-direction:column;width:100%!important}.vip-card .vip-card-nav .card-nav-item{width:100%!important;max-height:none!important;margin-right:0!important;margin-bottom:30rpx!important;border-bottom:1px solid #ececec;padding-bottom:30rpx!important}.vip-card .vip-card-nav .card-nav-item image{width:100%!important}.pic-text{display:block!important} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCardDetail.js b/unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCardDetail.js new file mode 100644 index 0000000..5b70be9 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCardDetail.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesA/vipCard/vipCardDetail"],{"23f8":function(t,o,e){"use strict";e.r(o);var n=e("5603"),a=e.n(n);for(var i in n)["default"].indexOf(i)<0&&function(t){e.d(o,t,(function(){return n[t]}))}(i);o["default"]=a.a},"2be6":function(t,o,e){"use strict";var n=e("596c"),a=e.n(n);a.a},"3ed0":function(t,o,e){"use strict";(function(t,o){var n=e("4ea4");e("8513");n(e("66fd"));var a=n(e("bd6b"));t.__webpack_require_UNI_MP_PLUGIN__=e,o(a.default)}).call(this,e("bc2e")["default"],e("543d")["createPage"])},5603:function(t,o,e){"use strict";(function(t){Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;var n={components:{goodsList:function(){e.e("components/goods-list/goods-list").then(function(){return resolve(e("469f"))}.bind(null,e)).catch(e.oe)},tuiModal:function(){e.e("components/thorui/tui-modal/tui-modal").then(function(){return resolve(e("500a"))}.bind(null,e)).catch(e.oe)}},data:function(){return{titleColor:"#ffffff",backgroudColor:"none",statusHeight:t.getSystemInfoSync().statusBarHeight,scrollHeight:t.getSystemInfoSync().windowHeight,baseHttps:"".concat(getApp().globalData.hostapi),keyword:"",goodsList:[],cardIndex:"",cardId:"",page:1,size:6,total:0,card_list:[],card_price:"",payment_params:{},coding:"",has_deduct:"",need_pay:"",modal:!1,deduction_content:""}},onLoad:function(o){console.log(t.getStorageSync("openId"),"sss");var e=JSON.parse(o.data);this.cardIndex=e.index,this.cardId=e.id,console.log(this.cardIndex,this.cardId),this.allCard(),this.getGoodsList()},onShow:function(){},onPageScroll:function(o){o.scrollTop>=10&&(this.backgroudColor="#1461a9"),o.scrollTop<=0&&(this.backgroudColor="none"),o.scrollTop>t.getSystemInfoSync().windowHeight?this.zIndex=999:this.zIndex=-1},onReachBottom:function(){this.total!=this.goodsList.length&&(this.page++,this.getGoodsList())},methods:{allCard:function(){var o=this;this.$requst.post("/api/card/get-all-card").then((function(e){0==e.code?(console.log(e,"全部卡片"),o.card_list=e.data,o.card_price=e.data[o.cardIndex].price):t.showToast({title:e.msg,icon:"none",duration:2e3})}))},goPage:function(o,e){var n={index:o,id:e};t.navigateTo({url:"/pagesA/vipCard/vipCardDetail?data="+JSON.stringify(n)})},searchEv:function(){""!==this.keyword&&t.navigateTo({url:"/pagesA/search/search?keyword=".concat(this.keyword)})},getGoodsList:function(){var t=this,o={page:this.page,size:this.size};this.$requst.get("/api/spu/list",o).then((function(o){if(0==o.code){console.log(o,"商品列表"),t.total=o.data.total;var e=[];o.data.list.forEach((function(o){var n={id:o.id,title:o.name,src:t.baseHttps+o.cover,price:o.price,integral:o.score,sku_id:o.skuInfo.id,tag:o.tag};e.push(n)})),t.goodsList=e}else t.$toolAll.tools.showToast(o.msg)}))},buyCard:function(){var o=this,e=this.cardId;console.log(t.getStorageSync("openId"),"aaa"),this.$requst.post("/api/card/create-order",{card_id:e,openid:t.getStorageSync("openId")}).then((function(t){0==t.code?(console.log(t,"购买中"),o.coding=t.data.coding,o.has_deduct=t.data.has_deduct,o.payment_params=t.data.payment_params,o.need_pay=t.data.need_pay,0==t.data.has_deduct?o.payWay():(o.deduction_content="已购卡片抵扣"+t.data.deduct_price+"元,会员卡购买成功,抵扣的卡作废不可再使用",o.modal=!0)):o.$toolAll.tools.showToast(t.msg)}))},deduction_click:function(t){var o=t.index;0===o?this.modal=!1:this.payWay()},hide:function(){this.modal=!1},payWay:function(){var o=this;1===o.need_pay?t.requestPayment({provider:"wxpay",timeStamp:o.payment_params.timeStamp,nonceStr:o.payment_params.nonceStr,package:o.payment_params.package,signType:o.payment_params.signType,paySign:o.payment_params.sign,success:function(e){console.log("支付成功"),o.$requst.post("/api/card/paid",{order_coding:o.coding}).then((function(e){0==e.code?(t.showToast({icon:"success",title:"支付成功",duration:2e3}),setTimeout((function(){t.reLaunch({url:"/pages/my/my"})}),2200)):o.$toolAll.tools.showToast(e.msg)}))},fail:function(e){console.log("支付失败"),t.showToast({icon:"none",title:"支付失败",duration:1e3}),setTimeout((function(){o.modal=!1}),1100)}}):(console.log("全部抵扣"),o.$requst.post("/api/card/paid",{order_coding:o.coding}).then((function(e){0==e.code?(t.showToast({icon:"success",title:"支付成功",duration:1e3}),setTimeout((function(){t.reLaunch({url:"/pages/my/my"})}),1100)):o.$toolAll.tools.showToast(e.msg)})))}}};o.default=n}).call(this,e("543d")["default"])},"596c":function(t,o,e){},"9b36":function(t,o,e){"use strict";e.d(o,"b",(function(){return a})),e.d(o,"c",(function(){return i})),e.d(o,"a",(function(){return n}));var n={statusNav:function(){return e.e("components/status-nav/status-nav").then(e.bind(null,"da82"))},goodsList:function(){return e.e("components/goods-list/goods-list").then(e.bind(null,"469f"))}},a=function(){var t=this.$createElement;this._self._c},i=[]},bd6b:function(t,o,e){"use strict";e.r(o);var n=e("9b36"),a=e("23f8");for(var i in a)["default"].indexOf(i)<0&&function(t){e.d(o,t,(function(){return a[t]}))}(i);e("2be6");var s=e("f0c5"),c=Object(s["a"])(a["default"],n["b"],n["c"],!1,null,"98fb80a8",null,!1,n["a"],void 0);o["default"]=c.exports}},[["3ed0","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCardDetail.json b/unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCardDetail.json new file mode 100644 index 0000000..7a0c9f2 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCardDetail.json @@ -0,0 +1,9 @@ +{ + "navigationBarTitleText": "会员卡详情", + "enablePullDownRefresh": true, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav", + "goods-list": "/components/goods-list/goods-list", + "tui-modal": "/components/thorui/tui-modal/tui-modal" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCardDetail.wxml b/unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCardDetail.wxml new file mode 100644 index 0000000..d19ba72 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCardDetail.wxml @@ -0,0 +1 @@ +{{card_list[cardIndex].name}}{{"价格:¥"+card_list[cardIndex].price}}{{"销量:"+card_list[cardIndex].total_amount}}推荐产品立即购买{{"¥"+card_price+''}} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCardDetail.wxss b/unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCardDetail.wxss new file mode 100644 index 0000000..c17cc0c --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesA/vipCard/vipCardDetail.wxss @@ -0,0 +1 @@ +.search-bg.data-v-98fb80a8{background-color:unset}.search-bg .search.data-v-98fb80a8{width:100%}.writeOff.data-v-98fb80a8{overflow-x:hidden;position:relative;background-color:#f7f7f7;min-height:100vh;box-sizing:border-box;padding-bottom:130rpx}.allbg.data-v-98fb80a8{position:absolute;left:0;top:0;width:100%;z-index:9}.vipCard-cont.data-v-98fb80a8{position:relative;z-index:55}.vip-boxs.data-v-98fb80a8{margin:0rpx 0rpx 0 20rpx;overflow:hidden;width:100%;white-space:nowrap;margin-top:36rpx}.vip-boxs .list.data-v-98fb80a8{display:inline-block;margin-right:34rpx;width:550rpx;border-radius:10rpx;overflow:hidden}.vip-boxs .list image.data-v-98fb80a8{width:100%;display:block}.vipCard-text.data-v-98fb80a8{margin:26rpx 20rpx 0 20rpx;border-radius:10rpx;background-color:#fff;padding:40rpx 26rpx}.vipCard-text .title.data-v-98fb80a8{font-size:38rpx;color:#333;font-weight:700;text-align:center;margin-bottom:26rpx}.vipCard-text .text.data-v-98fb80a8{display:flex;align-items:center;justify-content:space-around;margin:24rpx 0}.vipCard-text .text .price.data-v-98fb80a8{font-size:30rpx;color:red}.vipCard-text .text .sales.data-v-98fb80a8{font-size:26rpx;color:#999}.vipCard-text .content.data-v-98fb80a8{font-size:28rpx;color:#333;line-height:44rpx}.buy-btn.data-v-98fb80a8{position:fixed;bottom:20rpx;left:50%;margin-left:-337rpx;width:674rpx;height:90rpx;line-height:90rpx;font-size:36rpx;color:#fff;text-align:center;z-index:999;background-color:#c48a5c;border-radius:90rpx} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/balance/balance.js b/unpackage/dist/build/mp-weixin/pagesB/balance/balance.js new file mode 100644 index 0000000..4410d18 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/balance/balance.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesB/balance/balance"],{"088a":function(t,e,n){},"68b3":function(t,e,n){"use strict";(function(t){var a=n("4ea4");Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var i=a(n("448a")),o={data:function(){return{balance:"",currindex:0,page:1,size:10,total:0,nav_title:[{name:"我的余额明细",id:1},{name:"支出",id:2},{name:"收入",id:3}],integralList:[]}},onLoad:function(){this.getIntegral()},onShow:function(){},onReachBottom:function(){this.total!=this.integralList.length&&(this.page++,this.getIntegral())},methods:{goPage:function(e){t.navigateTo({url:e})},integralTap:function(e){var n=e.currentTarget.dataset,a=n.index;n.id;this.currindex=a,this.page=1,this.total=0,t.showLoading({title:"加载中",icon:"loading",duration:2e3}),this.getIntegral()},getIntegral:function(){var e=this,n={page:this.page,size:this.size,type:""};0==this.currindex?n.type="all":1==this.currindex?n.type="reduce":n.type="increase",this.$requst.post("/api/user/balance-log",n).then((function(n){0==n.code?(console.log(n,"我的余额"),t.hideLoading(),e.balance=n.data.balance,e.total=n.data.total,1==e.page&&(e.integralList=[]),e.integralList=[].concat((0,i.default)(e.integralList),(0,i.default)(n.data.list.list))):e.$toolAll.tools.showToast(n.msg)}))}}};e.default=o}).call(this,n("543d")["default"])},7025:function(t,e,n){"use strict";(function(t,e){var a=n("4ea4");n("8513");a(n("66fd"));var i=a(n("9946"));t.__webpack_require_UNI_MP_PLUGIN__=n,e(i.default)}).call(this,n("bc2e")["default"],n("543d")["createPage"])},9946:function(t,e,n){"use strict";n.r(e);var a=n("c810"),i=n("b5e9");for(var o in i)["default"].indexOf(o)<0&&function(t){n.d(e,t,(function(){return i[t]}))}(o);n("9c70");var r=n("f0c5"),c=Object(r["a"])(i["default"],a["b"],a["c"],!1,null,"87e4b6d8",null,!1,a["a"],void 0);e["default"]=c.exports},"9c70":function(t,e,n){"use strict";var a=n("088a"),i=n.n(a);i.a},b5e9:function(t,e,n){"use strict";n.r(e);var a=n("68b3"),i=n.n(a);for(var o in a)["default"].indexOf(o)<0&&function(t){n.d(e,t,(function(){return a[t]}))}(o);e["default"]=i.a},c810:function(t,e,n){"use strict";n.d(e,"b",(function(){return i})),n.d(e,"c",(function(){return o})),n.d(e,"a",(function(){return a}));var a={statusNav:function(){return n.e("components/status-nav/status-nav").then(n.bind(null,"da82"))}},i=function(){var t=this.$createElement;this._self._c},o=[]}},[["7025","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/balance/balance.json b/unpackage/dist/build/mp-weixin/pagesB/balance/balance.json new file mode 100644 index 0000000..1a6a2d4 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/balance/balance.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "我的余额", + "enablePullDownRefresh": false, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/balance/balance.wxml b/unpackage/dist/build/mp-weixin/pagesB/balance/balance.wxml new file mode 100644 index 0000000..f4ab052 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/balance/balance.wxml @@ -0,0 +1 @@ +我的余额:{{balance}}去充值{{item.name}}{{item.name}}{{item.created_at}}+{{item.num}} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/balance/balance.wxss b/unpackage/dist/build/mp-weixin/pagesB/balance/balance.wxss new file mode 100644 index 0000000..88dd5f7 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/balance/balance.wxss @@ -0,0 +1 @@ +.integral.data-v-87e4b6d8{background-color:#f5f5f5;min-height:100vh}.nav-title.data-v-87e4b6d8{display:flex;justify-content:center;height:78rpx;background-color:#fff}.nav-title view.data-v-87e4b6d8{flex:1;text-align:center}.nav-title text.data-v-87e4b6d8{display:inline-block;font-size:28rpx;color:#333;line-height:76rpx;border-bottom:2rpx solid #fff}.nav-title .curr text.data-v-87e4b6d8{color:#c58a5b;border-bottom:2rpx solid #c58a5b}.integral-list.data-v-87e4b6d8{margin:22rpx;background-color:#fff;border-radius:20rpx}.integral-boxs.data-v-87e4b6d8{padding:30rpx 0rpx;margin:0 26rpx;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ececec}.integral-text.data-v-87e4b6d8{padding-left:10rpx;line-height:44rpx}.integral-text .title.data-v-87e4b6d8{font-size:28rpx;color:#333}.integral-text .text.data-v-87e4b6d8{font-size:24rpx;color:rgba(0,0,0,.6)}.integral-boxs .num.data-v-87e4b6d8{font-size:28rpx;color:#333}.integral-boxs .num.add-num.data-v-87e4b6d8{color:#c58a5b}.member.data-v-87e4b6d8{padding:30rpx;margin-bottom:24rpx;background-color:#fff;display:flex;align-items:center;justify-content:space-between}.member .right.data-v-87e4b6d8{display:flex;align-items:center}.member .right .member-btn.data-v-87e4b6d8{width:156rpx;height:64rpx;display:flex;align-items:center;justify-content:center;font-size:24rpx;color:#fff;margin-left:10rpx;border-radius:64rpx}.blue.data-v-87e4b6d8{background-color:#0467b8}.org.data-v-87e4b6d8{background-color:#c58a5b}.member .left.data-v-87e4b6d8{display:flex;align-items:center;font-size:28rpx}.price.data-v-87e4b6d8{display:flex;align-items:flex-end;color:#f72e2e;font-size:24rpx}.price text.data-v-87e4b6d8{font-size:34rpx;font-weight:700} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/collection/collection.js b/unpackage/dist/build/mp-weixin/pagesB/collection/collection.js new file mode 100644 index 0000000..b2c4c22 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/collection/collection.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesB/collection/collection"],{"17bd":function(t,n,e){"use strict";(function(t,n){var o=e("4ea4");e("8513");o(e("66fd"));var c=o(e("cec4"));t.__webpack_require_UNI_MP_PLUGIN__=e,n(c.default)}).call(this,e("bc2e")["default"],e("543d")["createPage"])},"65ae":function(t,n,e){"use strict";e.d(n,"b",(function(){return c})),e.d(n,"c",(function(){return i})),e.d(n,"a",(function(){return o}));var o={statusNav:function(){return e.e("components/status-nav/status-nav").then(e.bind(null,"da82"))},goodsList:function(){return e.e("components/goods-list/goods-list").then(e.bind(null,"469f"))}},c=function(){var t=this.$createElement;this._self._c},i=[]},a8bd:function(t,n,e){"use strict";e.r(n);var o=e("f659"),c=e.n(o);for(var i in o)["default"].indexOf(i)<0&&function(t){e.d(n,t,(function(){return o[t]}))}(i);n["default"]=c.a},cec4:function(t,n,e){"use strict";e.r(n);var o=e("65ae"),c=e("a8bd");for(var i in c)["default"].indexOf(i)<0&&function(t){e.d(n,t,(function(){return c[t]}))}(i);var u=e("f0c5"),s=Object(u["a"])(c["default"],o["b"],o["c"],!1,null,null,null,!1,o["a"],void 0);n["default"]=s.exports},f659:function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var o={components:{goodsList:function(){e.e("components/goods-list/goods-list").then(function(){return resolve(e("469f"))}.bind(null,e)).catch(e.oe)}},data:function(){return{goodsList:[]}},onLoad:function(){this.getgoodList()},onShow:function(){},methods:{getgoodList:function(){var t=this;this.$requst.get("/api/spu/collection").then((function(n){if(0==n.code){console.log(n,"商品收藏");var e=n.data.list,o=[],c={};e.map((function(t){c=t,c["src"]=t["cover"],delete c["cover"],c["title"]=t["name"],delete c["name"],c["integral"]=t["score"],delete c["score"],o.push(c)})),t.goodsList=o}}))}}};n.default=o}},[["17bd","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/collection/collection.json b/unpackage/dist/build/mp-weixin/pagesB/collection/collection.json new file mode 100644 index 0000000..fd187ee --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/collection/collection.json @@ -0,0 +1,8 @@ +{ + "navigationBarTitleText": "我的收藏", + "enablePullDownRefresh": false, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav", + "goods-list": "/components/goods-list/goods-list" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/collection/collection.wxml b/unpackage/dist/build/mp-weixin/pagesB/collection/collection.wxml new file mode 100644 index 0000000..7319ba9 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/collection/collection.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/goodsDetail/goodsDetail.js b/unpackage/dist/build/mp-weixin/pagesB/goodsDetail/goodsDetail.js new file mode 100644 index 0000000..d857260 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/goodsDetail/goodsDetail.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesB/goodsDetail/goodsDetail"],{2623:function(t,o,e){"use strict";e.r(o);var n=e("bd12"),s=e("5c90");for(var i in s)["default"].indexOf(i)<0&&function(t){e.d(o,t,(function(){return s[t]}))}(i);var a=e("f0c5"),c=Object(a["a"])(s["default"],n["b"],n["c"],!1,null,"6ff275c8",null,!1,n["a"],void 0);o["default"]=c.exports},"5c90":function(t,o,e){"use strict";e.r(o);var n=e("62f4"),s=e.n(n);for(var i in n)["default"].indexOf(i)<0&&function(t){e.d(o,t,(function(){return n[t]}))}(i);o["default"]=s.a},"62f4":function(t,o,e){"use strict";(function(t,n){var s=e("4ea4");Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;var i=s(e("2eee")),a=s(e("c973")),c={components:{swiperPu:function(){e.e("components/swipers/swiper-pu").then(function(){return resolve(e("8124"))}.bind(null,e)).catch(e.oe)},goodsList:function(){e.e("components/goods-list/goods-list").then(function(){return resolve(e("469f"))}.bind(null,e)).catch(e.oe)}},data:function(){return{statusHeight:t.getSystemInfoSync().statusBarHeight,baseHttps:"".concat(getApp().globalData.hostapi),backgroudColor:"none",bannerList:[],isplay:!1,playTimer:null,goodsBannerHeight:0,zIndex:-1,goodsInfo:{},id:0,isLoading:!1,address:"",quantityList:[],quantityIndex:0,goodsList:[],cartCount:0,userInfo:{}}},onLoad:function(o){var e=this;return(0,a.default)(i.default.mark((function s(){var a,c,r,l;return i.default.wrap((function(s){while(1)switch(s.prev=s.next){case 0:return s.next=2,e.$onLaunched;case 2:if(a=t.getStorageSync("openId"),console.log(a,"zxc"),""==a){void 0!=o.q&&e.analysis(o.q),c="";try{c=t.getStorageSync("login_code")}catch(i){console.error(i)}r=t.getStorageSync("account_id"),c&&e.$requst.post("/api/user/get-openid",{code:c,shopowner_id:r}).then((function(o){0==o.code&&t.setStorageSync("openId",o.data.openid)}),(function(t){}))}e.getUserInfo(),o.id&&(e.id=o.id),t.getStorageSync("baseAddress")&&(e.address=t.getStorageSync("baseAddress")),e.getGoodsInfo(),e.getCartCount(),e.getQuantityList(),l=n.createSelectorQuery().in(e),l.select(".goods-banner").boundingClientRect((function(t){e.goodsBannerHeight=t.height})).exec();case 13:case"end":return s.stop()}}),s)})))()},onPageScroll:function(o){o.scrollTop>=5&&(this.backgroudColor="#f7f7f7"),o.scrollTop<=0&&(this.backgroudColor="none"),o.scrollTop>t.getSystemInfoSync().windowHeight?this.zIndex=999:this.zIndex=-1},onShareAppMessage:function(o){return o.from,{title:this.goodsInfo.detail.name,path:"".concat(t.getStorageSync("page-path-options"),"?account_id=").concat(t.getStorageSync("accountId"))}},onHide:function(){clearTimeout(this.playTimer),this.isplay=!1},methods:{analysis:function(o){var e=unescape(o);e=e.split("account_id=")[1],t.setStorageSync("account_id",e)},getUserInfo:function(){var t=this;this.$requst.post("/api/user/info").then((function(o){0==o.code?(console.log(o,"用户信息"),t.userInfo=o.data):t.$toolAll.tools.showToast("登录已过期,请重新登录")}))},getCartCount:function(){var t=this;this.$requst.get("/api/order/shopping-cart-count",{type:"spu"}).then((function(o){0==o.code?(console.log(o,"购物车数量"),t.cartCount=o.data.count):t.$toolAll.tools.showToast("登录已过期,请重新登录")}))},getGoodsInfo:function(){var t=this;this.$requst.get("/api/spu/detail",{id:this.id}).then((function(o){if(0==o.code){console.log(o,"商品详情"),t.goodsInfo=o.data,t.goodsInfo.detail.content=t.$toolAll.tools.escape2Html(o.data.detail.content);var e=o.data.detail.images.split(","),n=[];e.forEach((function(o){var e={imgSrc:t.baseHttps+o,url:""};n.push(e)})),t.bannerList=n,t.isLoading=!0,t.getGoodsList()}else t.$toolAll.tools.showToast(o.msg)}))},getQuantityList:function(){for(var t=[],o=1;o<100;o++){var e={name:o+"件"};t.push(e)}this.quantityList=t},bindPickerChange:function(t){this.quantityIndex=t.detail.value},addCart:function(t){var o=this;if(this.userInfo.score>=this.goodsInfo.detail.score){var e={sku_id:this.goodsInfo.sku[0].id,num:this.quantityIndex+1};this.$requst.post("/api/order/shopping-cart-add",e).then((function(t){0==t.code?(o.$toolAll.tools.showToast("已加入购物车"),o.getCartCount()):o.$toolAll.tools.showToast(t.msg)}))}else this.$toolAll.tools.showToast("积分不足,无法购买")},byNowEv:function(){if(this.userInfo.score>=this.goodsInfo.detail.score){var o=[{sku_coding:this.goodsInfo.sku[0].coding,num:this.quantityIndex+1}];t.setStorageSync("sku_list",o),t.navigateTo({url:"/pages/cart/orderConfirm"})}else this.$toolAll.tools.showToast("积分不足,无法购买")},recordEv:function(){var t=this;this.$requst.post("/api/spu/record",{action:"collect",id:this.id}).then((function(o){0==o.code?(t.$toolAll.tools.showToast("已收藏"),t.goodsInfo.detail.collected=1):t.$toolAll.tools.showToast(o.msg)}))},unRecordEv:function(){var t=this;this.$requst.post("/api/spu/un-record",{action:"collect",id:this.id}).then((function(o){0==o.code?(t.$toolAll.tools.showToast("已取消收藏"),t.goodsInfo.detail.collected=0):t.$toolAll.tools.showToast(o.msg)}))},backEv:function(){t.navigateBack({delta:1,fail:function(){t.reLaunch({url:"/pages/index/index"})}})},goPage:function(o){t.navigateTo({url:o})},goTop:function(){t.pageScrollTo({scrollTop:0,duration:300})},getGoodsList:function(){var t=this,o={page:1,size:6,category_id:this.goodsInfo.detail.category_id};this.$requst.get("/api/spu/list",o).then((function(o){if(0==o.code){console.log(o,"商品列表");var e=[];o.data.list.forEach((function(o){var n={id:o.id,title:o.name,src:t.baseHttps+o.cover,price:o.price,integral:o.score,sku_id:o.skuInfo.id,tag:o.tag};e.push(n)})),t.goodsList=e}else t.$toolAll.tools.showToast(o.msg)}))}}};o.default=c}).call(this,e("543d")["default"],e("bc2e")["default"])},"78a5":function(t,o,e){"use strict";(function(t,o){var n=e("4ea4");e("8513");n(e("66fd"));var s=n(e("2623"));t.__webpack_require_UNI_MP_PLUGIN__=e,o(s.default)}).call(this,e("bc2e")["default"],e("543d")["createPage"])},bd12:function(t,o,e){"use strict";e.d(o,"b",(function(){return s})),e.d(o,"c",(function(){return i})),e.d(o,"a",(function(){return n}));var n={statusNav:function(){return e.e("components/status-nav/status-nav").then(e.bind(null,"da82"))},goodsList:function(){return e.e("components/goods-list/goods-list").then(e.bind(null,"469f"))}},s=function(){var t=this,o=t.$createElement,e=(t._self._c,t.isLoading&&0!=t.goodsInfo.detail.price?t.goodsInfo.detail.price.substr(0,t.goodsInfo.detail.price.indexOf(".")):null),n=t.isLoading&&0!=t.goodsInfo.detail.price?t.goodsInfo.detail.price.substr(t.goodsInfo.detail.price.indexOf("."),t.goodsInfo.detail.price.length):null;t.$mp.data=Object.assign({},{$root:{g0:e,g1:n}})},i=[]}},[["78a5","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/goodsDetail/goodsDetail.json b/unpackage/dist/build/mp-weixin/pagesB/goodsDetail/goodsDetail.json new file mode 100644 index 0000000..73d1610 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/goodsDetail/goodsDetail.json @@ -0,0 +1,9 @@ +{ + "navigationBarTitleText": "商品详情", + "enablePullDownRefresh": false, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav", + "goods-list": "/components/goods-list/goods-list", + "swiper-pu": "/components/swipers/swiper-pu" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/goodsDetail/goodsDetail.wxml b/unpackage/dist/build/mp-weixin/pagesB/goodsDetail/goodsDetail.wxml new file mode 100644 index 0000000..88748b0 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/goodsDetail/goodsDetail.wxml @@ -0,0 +1 @@ +{{cartCount}}{{$root.g0}}{{$root.g1}}+{{goodsInfo.detail.score}}积分{{"销量:"+goodsInfo.detail.total_amount}}{{goodsInfo.detail.name}}{{goodsInfo.detail.subtitle}}选择{{quantityList[quantityIndex].name}}配送{{address}}{{goodsInfo.detail.desc}}商品详情相关产品收藏已收藏加入购物车立即购买 \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/integral/integral.js b/unpackage/dist/build/mp-weixin/pagesB/integral/integral.js new file mode 100644 index 0000000..5bcefcc --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/integral/integral.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesB/integral/integral"],{"4dc3":function(t,e,n){"use strict";(function(t){var a=n("4ea4");Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var i=a(n("448a")),o={data:function(){return{currindex:0,page:1,size:10,total:0,nav_title:[{name:"我的积分明细",id:1},{name:"积分获取列表",id:2},{name:"积分支出列表",id:3}],integralList:[]}},onLoad:function(){this.getIntegral()},onShow:function(){},onReachBottom:function(){this.total!=this.integralList.length&&(this.page++,this.getIntegral())},methods:{integralTap:function(e){var n=e.currentTarget.dataset,a=n.index;n.id;this.currindex=a,this.page=1,this.total=0,t.showLoading({title:"加载中",icon:"loading",duration:2e3}),this.getIntegral()},getIntegral:function(){var e=this,n={page:this.page,size:this.size,type:""};0==this.currindex?n.type="all":1==this.currindex?n.type="increase":n.type="reduce",this.$requst.post("/api/user/score-log",n).then((function(n){0==n.code?(console.log(n,"积分记录"),t.hideLoading(),e.total=n.data.total,1==e.page&&(e.integralList=[]),e.integralList=[].concat((0,i.default)(e.integralList),(0,i.default)(n.data.list))):e.$toolAll.tools.showToast(n.msg)}))}}};e.default=o}).call(this,n("543d")["default"])},"75cb":function(t,e,n){"use strict";n.r(e);var a=n("4dc3"),i=n.n(a);for(var o in a)["default"].indexOf(o)<0&&function(t){n.d(e,t,(function(){return a[t]}))}(o);e["default"]=i.a},"81ce":function(t,e,n){"use strict";n.d(e,"b",(function(){return i})),n.d(e,"c",(function(){return o})),n.d(e,"a",(function(){return a}));var a={statusNav:function(){return n.e("components/status-nav/status-nav").then(n.bind(null,"da82"))}},i=function(){var t=this.$createElement;this._self._c},o=[]},9694:function(t,e,n){},cf24:function(t,e,n){"use strict";n.r(e);var a=n("81ce"),i=n("75cb");for(var o in i)["default"].indexOf(o)<0&&function(t){n.d(e,t,(function(){return i[t]}))}(o);n("e8fe");var r=n("f0c5"),c=Object(r["a"])(i["default"],a["b"],a["c"],!1,null,"3d8c6f27",null,!1,a["a"],void 0);e["default"]=c.exports},daa5:function(t,e,n){"use strict";(function(t,e){var a=n("4ea4");n("8513");a(n("66fd"));var i=a(n("cf24"));t.__webpack_require_UNI_MP_PLUGIN__=n,e(i.default)}).call(this,n("bc2e")["default"],n("543d")["createPage"])},e8fe:function(t,e,n){"use strict";var a=n("9694"),i=n.n(a);i.a}},[["daa5","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/integral/integral.json b/unpackage/dist/build/mp-weixin/pagesB/integral/integral.json new file mode 100644 index 0000000..5d3aa39 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/integral/integral.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "我的积分", + "enablePullDownRefresh": false, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/integral/integral.wxml b/unpackage/dist/build/mp-weixin/pagesB/integral/integral.wxml new file mode 100644 index 0000000..8268087 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/integral/integral.wxml @@ -0,0 +1 @@ +{{item.name}}{{item.name}}{{"订单号 "+item.remarks}}{{item.created_at}}+{{item.num}} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/integral/integral.wxss b/unpackage/dist/build/mp-weixin/pagesB/integral/integral.wxss new file mode 100644 index 0000000..7393159 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/integral/integral.wxss @@ -0,0 +1 @@ +.integral.data-v-3d8c6f27{background-color:#f5f5f5;min-height:100vh}.nav-title.data-v-3d8c6f27{display:flex;align-items:center;justify-content:center;height:78rpx;background-color:#fff}.nav-title view.data-v-3d8c6f27{flex:1;text-align:center}.nav-title text.data-v-3d8c6f27{display:inline-block;font-size:28rpx;color:#333;line-height:76rpx;border-bottom:2rpx solid #fff}.nav-title .curr text.data-v-3d8c6f27{color:#c58a5b;border-bottom:2rpx solid #c58a5b}.integral-list.data-v-3d8c6f27{margin:22rpx;background-color:#fff;border-radius:20rpx}.integral-boxs.data-v-3d8c6f27{padding:30rpx 0rpx;margin:0 26rpx;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ececec}.integral-text.data-v-3d8c6f27{padding-left:10rpx;line-height:44rpx}.integral-text .title.data-v-3d8c6f27{font-size:28rpx;color:#333}.integral-text .text.data-v-3d8c6f27{font-size:24rpx;color:rgba(0,0,0,.6)}.integral-boxs .num.data-v-3d8c6f27{font-size:28rpx;color:#333}.integral-boxs .num.add-num.data-v-3d8c6f27{color:#c58a5b} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/news/news.js b/unpackage/dist/build/mp-weixin/pagesB/news/news.js new file mode 100644 index 0000000..246e948 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/news/news.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesB/news/news"],{"64bd":function(t,n,e){"use strict";(function(t,n){var a=e("4ea4");e("8513");a(e("66fd"));var o=a(e("e49f"));t.__webpack_require_UNI_MP_PLUGIN__=e,n(o.default)}).call(this,e("bc2e")["default"],e("543d")["createPage"])},"82fa":function(t,n,e){"use strict";var a=e("d81b"),o=e.n(a);o.a},afd0:function(t,n,e){"use strict";(function(t){var a=e("4ea4");Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var o=a(e("448a")),s={data:function(){return{backgroudColor:"#fff",baseHttps:"".concat(getApp().globalData.hostapi),newsList:[],page:1,size:10,total:0}},onLoad:function(){this.getNews()},onShow:function(){},onReachBottom:function(){this.total!=this.newsList.length&&(this.page++,this.getNews())},methods:{newTap:function(n){t.navigateTo({url:"/pagesB/news/newsDetail?id=".concat(n)})},getNews:function(){var t=this,n={page:this.page,size:this.size};this.$requst.post("/api/common/announcement-list",n).then((function(n){0==n.code?(console.log(n,"新闻列表"),t.total=n.data.total,1==t.page&&(t.newsList=[]),t.newsList=[].concat((0,o.default)(t.newsList),(0,o.default)(n.data.list))):t.$toolAll.tools.showToast(n.msg)}))}}};n.default=s}).call(this,e("543d")["default"])},b50e:function(t,n,e){"use strict";e.d(n,"b",(function(){return o})),e.d(n,"c",(function(){return s})),e.d(n,"a",(function(){return a}));var a={statusNav:function(){return e.e("components/status-nav/status-nav").then(e.bind(null,"da82"))}},o=function(){var t=this.$createElement;this._self._c},s=[]},d81b:function(t,n,e){},e49f:function(t,n,e){"use strict";e.r(n);var a=e("b50e"),o=e("fb1d");for(var s in o)["default"].indexOf(s)<0&&function(t){e.d(n,t,(function(){return o[t]}))}(s);e("82fa");var i=e("f0c5"),u=Object(i["a"])(o["default"],a["b"],a["c"],!1,null,"430a8144",null,!1,a["a"],void 0);n["default"]=u.exports},fb1d:function(t,n,e){"use strict";e.r(n);var a=e("afd0"),o=e.n(a);for(var s in a)["default"].indexOf(s)<0&&function(t){e.d(n,t,(function(){return a[t]}))}(s);n["default"]=o.a}},[["64bd","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/news/news.json b/unpackage/dist/build/mp-weixin/pagesB/news/news.json new file mode 100644 index 0000000..030c50b --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/news/news.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "新闻列表", + "enablePullDownRefresh": false, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/news/news.wxml b/unpackage/dist/build/mp-weixin/pagesB/news/news.wxml new file mode 100644 index 0000000..59d467e --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/news/news.wxml @@ -0,0 +1 @@ +{{item.title}}{{item.create_time+''}}{{"浏览量 "+item.view}} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/news/news.wxss b/unpackage/dist/build/mp-weixin/pagesB/news/news.wxss new file mode 100644 index 0000000..70f5e5e --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/news/news.wxss @@ -0,0 +1 @@ +.news-list.data-v-430a8144{margin:20rpx;background-color:#fff}.news-list .boxs.data-v-430a8144{padding:32rpx 20rpx;border-bottom:1px solid #e5e5e5;display:flex;align-items:center;justify-content:space-between}.news-list .boxs .text .title.data-v-430a8144{display:block;font-size:28rpx;color:#333;line-height:42rpx;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.news-list .boxs .text .st.data-v-430a8144{font-size:22rpx;color:rgba(51,51,51,.8);margin-top:20rpx}.news-list .boxs .image.data-v-430a8144{width:148rpx;height:148rpx;margin-left:23rpx;display:block} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/news/newsDetail.js b/unpackage/dist/build/mp-weixin/pagesB/news/newsDetail.js new file mode 100644 index 0000000..332cc9e --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/news/newsDetail.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesB/news/newsDetail"],{"2d31":function(n,t,e){"use strict";var o=e("8f52"),c=e.n(o);c.a},4154:function(n,t,e){"use strict";(function(n,t){var o=e("4ea4");e("8513");o(e("66fd"));var c=o(e("d333"));n.__webpack_require_UNI_MP_PLUGIN__=e,t(c.default)}).call(this,e("bc2e")["default"],e("543d")["createPage"])},"755c":function(n,t,e){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o={components:{},data:function(){return{backgroudColor:"#f5f5f5",news_id:"",newsShow:{}}},onLoad:function(n){this.news_id=n.id,console.log(this.news_id),this.getNews()},onShow:function(){},methods:{getNews:function(){var n=this;this.$requst.post("/api/common/announcement-detail",{id:this.news_id}).then((function(t){0==t.code?(console.log(t,"新闻详情"),n.newsShow=t.data):n.$toolAll.tools.showToast(t.msg)}))}}};t.default=o},"894c":function(n,t,e){"use strict";e.r(t);var o=e("755c"),c=e.n(o);for(var a in o)["default"].indexOf(a)<0&&function(n){e.d(t,n,(function(){return o[n]}))}(a);t["default"]=c.a},"8f52":function(n,t,e){},d333:function(n,t,e){"use strict";e.r(t);var o=e("facb"),c=e("894c");for(var a in c)["default"].indexOf(a)<0&&function(n){e.d(t,n,(function(){return c[n]}))}(a);e("2d31");var u=e("f0c5"),i=Object(u["a"])(c["default"],o["b"],o["c"],!1,null,"3ccc2150",null,!1,o["a"],void 0);t["default"]=i.exports},facb:function(n,t,e){"use strict";e.d(t,"b",(function(){return c})),e.d(t,"c",(function(){return a})),e.d(t,"a",(function(){return o}));var o={statusNav:function(){return e.e("components/status-nav/status-nav").then(e.bind(null,"da82"))}},c=function(){var n=this.$createElement;this._self._c},a=[]}},[["4154","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/news/newsDetail.json b/unpackage/dist/build/mp-weixin/pagesB/news/newsDetail.json new file mode 100644 index 0000000..88cea0c --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/news/newsDetail.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "新闻详情", + "enablePullDownRefresh": false, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/news/newsDetail.wxml b/unpackage/dist/build/mp-weixin/pagesB/news/newsDetail.wxml new file mode 100644 index 0000000..f4aafba --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/news/newsDetail.wxml @@ -0,0 +1 @@ +{{newsShow.title}}{{newsShow.create_time+''}}{{"浏览量 "+newsShow.view}} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/news/newsDetail.wxss b/unpackage/dist/build/mp-weixin/pagesB/news/newsDetail.wxss new file mode 100644 index 0000000..91f04da --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/news/newsDetail.wxss @@ -0,0 +1 @@ +.news-show.data-v-3ccc2150{margin:20rpx;background-color:#fff;border-radius:10rpx;padding:26rpx}.news-show .title.data-v-3ccc2150{font-size:30rpx;color:#333;line-height:50rpx}.news-show .st.data-v-3ccc2150{font-size:22rpx;color:rgba(51,51,51,.8);margin-top:20rpx;margin-bottom:40rpx}.cont.data-v-3ccc2150{font-size:28rpx;color:#333;line-height:44rpx;margin-top:30rpx} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/password/forgetPassword.js b/unpackage/dist/build/mp-weixin/pagesB/password/forgetPassword.js new file mode 100644 index 0000000..f9deaec --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/password/forgetPassword.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesB/password/forgetPassword"],{"06d4":function(t,n,o){"use strict";o.d(n,"b",(function(){return s})),o.d(n,"c",(function(){return a})),o.d(n,"a",(function(){return e}));var e={statusNav:function(){return o.e("components/status-nav/status-nav").then(o.bind(null,"da82"))}},s=function(){var t=this.$createElement;this._self._c},a=[]},4088:function(t,n,o){"use strict";(function(t,n){var e=o("4ea4");o("8513");e(o("66fd"));var s=e(o("ee3d"));t.__webpack_require_UNI_MP_PLUGIN__=o,n(s.default)}).call(this,o("bc2e")["default"],o("543d")["createPage"])},8971:function(t,n,o){},b411:function(t,n,o){"use strict";o.r(n);var e=o("e982"),s=o.n(e);for(var a in e)["default"].indexOf(a)<0&&function(t){o.d(n,t,(function(){return e[t]}))}(a);n["default"]=s.a},c261:function(t,n,o){"use strict";var e=o("8971"),s=o.n(e);s.a},e982:function(t,n,o){"use strict";(function(t){Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var e={components:{wakaryInput:function(){o.e("components/wakary-input/components/wakary-input/wakary-input").then(function(){return resolve(o("3398"))}.bind(null,o)).catch(o.oe)}},data:function(){return{frontColor:"#ffffff",backgroudColor:"none",background:"/static/public/login-bg.jpg",tel_num:"",phone_text:"",yzm_success:0,flag:!0,count:0,timer:null,phone:"",code:"",password:"",againPassword:"",repasswordToken:""}},onLoad:function(t){t.phone&&(this.phone=t.phone,this.tel_num=t.phone.replace(t.phone.substring(3,9),"******"))},methods:{finishEv:function(t){this.code=t},getVerificationCode:function(){var t=this;if(this.flag){var n={phone:this.phone,type:"binding"};this.$requst.post("/api/common/send-tencent-sms",n).then((function(n){0==n.code?(t.$toolAll.tools.showToast("发送成功"),t.flag=!1,t.countDownEv()):t.$toolAll.tools.showToast(n.msg)}),(function(t){}))}},countDownEv:function(){var t=this;this.count=60,this.timer=setInterval((function(){t.count>1&&t.count<=60?t.count--:(clearInterval(t.timer),t.flag=!0)}),1e3)},nextEv:function(){var t=this;this.$requst.post("/api/user/reset-password-check-code",{phone:this.phone,code:this.code}).then((function(n){0==n.code?(console.log(n,"验证成功"),t.repasswordToken=n.data.repasswordToken,t.yzm_success=1):t.$toolAll.tools.showToast(n.msg)}))},submitEv:function(){var n=this,o={repassword_token:this.repasswordToken,password:this.password,confirm_password:this.againPassword};this.$requst.post("/api/user/retrieve-password",o).then((function(o){0==o.code?(console.log(o,"修改成功"),n.$toolAll.tools.showToast("修改成功,立即登录"),setTimeout((function(){t.reLaunch({url:"/pagesA/login/login"})}),2e3)):n.$toolAll.tools.showToast(o.msg)}))}}};n.default=e}).call(this,o("543d")["default"])},ee3d:function(t,n,o){"use strict";o.r(n);var e=o("06d4"),s=o("b411");for(var a in s)["default"].indexOf(a)<0&&function(t){o.d(n,t,(function(){return s[t]}))}(a);o("c261");var i=o("f0c5"),r=Object(i["a"])(s["default"],e["b"],e["c"],!1,null,"34b1ccda",null,!1,e["a"],void 0);n["default"]=r.exports}},[["4088","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/password/forgetPassword.json b/unpackage/dist/build/mp-weixin/pagesB/password/forgetPassword.json new file mode 100644 index 0000000..c704a1e --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/password/forgetPassword.json @@ -0,0 +1,8 @@ +{ + "navigationBarTitleText": "忘记密码", + "enablePullDownRefresh": false, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav", + "wakary-input": "/components/wakary-input/components/wakary-input/wakary-input" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/password/forgetPassword.wxml b/unpackage/dist/build/mp-weixin/pagesB/password/forgetPassword.wxml new file mode 100644 index 0000000..b3f30a4 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/password/forgetPassword.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/password/forgetPassword.wxss b/unpackage/dist/build/mp-weixin/pagesB/password/forgetPassword.wxss new file mode 100644 index 0000000..73d3182 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/password/forgetPassword.wxss @@ -0,0 +1 @@ +.login.data-v-34b1ccda{width:100%;height:100vh;background-size:cover;box-sizing:border-box}.phone-yzm.data-v-34b1ccda{padding:0 44rpx;margin-top:90rpx}.phone-yzm .title.data-v-34b1ccda{font-size:54rpx;color:#0567b8;letter-spacing:1px}.phone-yzm .tips.data-v-34b1ccda{display:flex;align-items:center;font-size:26rpx;color:#333;margin-top:34rpx;justify-content:space-between}.phone-yzm .tips text.data-v-34b1ccda{color:#0567b8}.phone-num.data-v-34b1ccda{margin-top:42rpx;display:flex;align-items:center;justify-content:center}.phone-num .input.data-v-34b1ccda{width:128rpx;height:128rpx;border:1px solid #dae3eb;display:flex;align-items:center;justify-content:center;font-size:42rpx;color:#333;text-align:center;margin:0 16rpx;background-color:#fff;border-radius:20rpx;overflow:hidden}.phone-num .input.data-v-34b1ccda:focus{outline:none;border:1px solid #0567b8}.login-btn.data-v-34b1ccda{margin-top:240rpx}.resetPassword .login-btn.data-v-34b1ccda{margin-top:100rpx}.form .item.data-v-34b1ccda{margin-top:30rpx}.form .item input.data-v-34b1ccda{width:100%;border:1px solid #dae3eb;border-radius:20rpx;height:96rpx;line-height:96rpx;padding:0rpx 26rpx;box-sizing:border-box;color:#333;font-size:26rpx;background:#fff;overflow:hidden}.data-v-34b1ccda::-webkit-input-placeholder{color:#8f989f}.data-v-34b1ccda:-moz-placeholder{color:#8f989f}.data-v-34b1ccda::-moz-placeholder{color:#8f989f}.data-v-34b1ccda:-ms-input-placeholder{color:#8f989f}.input-click.data-v-34b1ccda{margin-top:44rpx} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/password/modifyPassword.js b/unpackage/dist/build/mp-weixin/pagesB/password/modifyPassword.js new file mode 100644 index 0000000..3786d0b --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/password/modifyPassword.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesB/password/modifyPassword"],{7713:function(t,n,e){"use strict";(function(t){Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var e={data:function(){return{modify:{}}},onLoad:function(){},onShow:function(){},methods:{modify_tap:function(){var n=this,e=this.modify;this.$requst.post("/api/user/change-password",e).then((function(e){0==e.code?(n.$toolAll.tools.showToast(e.msg),setTimeout((function(){t.navigateTo({url:"/pages/my/my"})}),1e3)):n.$toolAll.tools.showToast(e.msg)}))}}};n.default=e}).call(this,e("543d")["default"])},a015:function(t,n,e){"use strict";var o=e("c51a"),a=e.n(o);a.a},b075:function(t,n,e){"use strict";e.r(n);var o=e("e183"),a=e("c2ca");for(var u in a)["default"].indexOf(u)<0&&function(t){e.d(n,t,(function(){return a[t]}))}(u);e("a015");var c=e("f0c5"),i=Object(c["a"])(a["default"],o["b"],o["c"],!1,null,null,null,!1,o["a"],void 0);n["default"]=i.exports},c2ca:function(t,n,e){"use strict";e.r(n);var o=e("7713"),a=e.n(o);for(var u in o)["default"].indexOf(u)<0&&function(t){e.d(n,t,(function(){return o[t]}))}(u);n["default"]=a.a},c51a:function(t,n,e){},e183:function(t,n,e){"use strict";e.d(n,"b",(function(){return a})),e.d(n,"c",(function(){return u})),e.d(n,"a",(function(){return o}));var o={statusNav:function(){return e.e("components/status-nav/status-nav").then(e.bind(null,"da82"))}},a=function(){var t=this.$createElement;this._self._c},u=[]},ed1e:function(t,n,e){"use strict";(function(t,n){var o=e("4ea4");e("8513");o(e("66fd"));var a=o(e("b075"));t.__webpack_require_UNI_MP_PLUGIN__=e,n(a.default)}).call(this,e("bc2e")["default"],e("543d")["createPage"])}},[["ed1e","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/password/modifyPassword.json b/unpackage/dist/build/mp-weixin/pagesB/password/modifyPassword.json new file mode 100644 index 0000000..5d0bb0e --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/password/modifyPassword.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "修改密码", + "enablePullDownRefresh": false, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/password/modifyPassword.wxml b/unpackage/dist/build/mp-weixin/pagesB/password/modifyPassword.wxml new file mode 100644 index 0000000..497c29a --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/password/modifyPassword.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/password/modifyPassword.wxss b/unpackage/dist/build/mp-weixin/pagesB/password/modifyPassword.wxss new file mode 100644 index 0000000..f913570 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/password/modifyPassword.wxss @@ -0,0 +1 @@ +.password{background-color:#f5f5f5;min-height:100vh;padding:0 20rpx}.password .item{margin-top:28rpx}.password .item label{font-size:26rpx;color:#333;margin-left:24rpx;margin-bottom:14rpx;display:block}.password .item input{width:100%;border-radius:10rpx;border:none;background-color:#fff;padding:0 20rpx;height:86rpx;line-height:86rpx;box-sizing:border-box}.login-btn{margin-top:190rpx} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/recharge/recharge.js b/unpackage/dist/build/mp-weixin/pagesB/recharge/recharge.js new file mode 100644 index 0000000..adc028e --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/recharge/recharge.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesB/recharge/recharge"],{"4e9c":function(t,e,a){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var a={data:function(){return{price_value:""}},methods:{buyRecharge:function(){var e=this,a=this;a.price_value?a.$requst.post("/api/recharge/do",{money:a.price_value}).then((function(n){if(0==n.code){console.log(n,"充值中");var o=n.data.payData.order_num;t.requestPayment({provider:"wxpay",timeStamp:n.data.payData.timeStamp,nonceStr:n.data.payData.nonceStr,package:n.data.payData.package,signType:n.data.payData.signType,paySign:n.data.payData.sign,success:function(e){console.log("支付成功"),a.$requst.post("/api/recharge/query",{order_num:o}).then((function(e){0==e.code?(t.showToast({icon:"success",title:"支付成功",duration:2e3}),setTimeout((function(){t.reLaunch({url:"/pages/my/my"})}),2500)):a.$toolAll.tools.showToast(e.msg)}))},fail:function(e){console.log("支付失败"),t.showToast({icon:"none",title:"支付失败",duration:2e3})}})}else e.$toolAll.tools.showToast(n.msg)})):this.$toolAll.tools.showToast("请输入充值金额")}}};e.default=a}).call(this,a("543d")["default"])},5112:function(t,e,a){"use strict";var n=a("d348"),o=a.n(n);o.a},"693e":function(t,e,a){"use strict";a.d(e,"b",(function(){return o})),a.d(e,"c",(function(){return u})),a.d(e,"a",(function(){return n}));var n={statusNav:function(){return a.e("components/status-nav/status-nav").then(a.bind(null,"da82"))}},o=function(){var t=this.$createElement;this._self._c},u=[]},"735b":function(t,e,a){"use strict";a.r(e);var n=a("693e"),o=a("7adb");for(var u in o)["default"].indexOf(u)<0&&function(t){a.d(e,t,(function(){return o[t]}))}(u);a("5112");var c=a("f0c5"),r=Object(c["a"])(o["default"],n["b"],n["c"],!1,null,null,null,!1,n["a"],void 0);e["default"]=r.exports},"748f":function(t,e,a){"use strict";(function(t,e){var n=a("4ea4");a("8513");n(a("66fd"));var o=n(a("735b"));t.__webpack_require_UNI_MP_PLUGIN__=a,e(o.default)}).call(this,a("bc2e")["default"],a("543d")["createPage"])},"7adb":function(t,e,a){"use strict";a.r(e);var n=a("4e9c"),o=a.n(n);for(var u in n)["default"].indexOf(u)<0&&function(t){a.d(e,t,(function(){return n[t]}))}(u);e["default"]=o.a},d348:function(t,e,a){}},[["748f","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/recharge/recharge.json b/unpackage/dist/build/mp-weixin/pagesB/recharge/recharge.json new file mode 100644 index 0000000..330dd22 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/recharge/recharge.json @@ -0,0 +1,5 @@ +{ + "usingComponents": { + "status-nav": "/components/status-nav/status-nav" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/recharge/recharge.wxml b/unpackage/dist/build/mp-weixin/pagesB/recharge/recharge.wxml new file mode 100644 index 0000000..8a02c57 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/recharge/recharge.wxml @@ -0,0 +1 @@ +输入充值金额(单位:元)去充值 \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/recharge/recharge.wxss b/unpackage/dist/build/mp-weixin/pagesB/recharge/recharge.wxss new file mode 100644 index 0000000..123e683 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/recharge/recharge.wxss @@ -0,0 +1 @@ +.Recharge_title{padding:20rpx 0 0 40rpx;font-size:30rpx;font-family:PingFangSC-Medium,PingFang SC;font-weight:500;color:#000}.Recharge_view{display:flex;align-items:center;width:90%;margin:30rpx auto}.Recharge_input{width:100%;height:90rpx;font-size:28rpx;font-family:PingFangSC-Semibold,PingFang SC;color:#000;border-radius:14rpx;border:1px solid #1e78e8;padding:0 20rpx;background-color:#fff;box-sizing:border-box}.button_bottom{background-color:#fff;position:fixed;bottom:0;left:0;z-index:99;width:100%;height:120rpx;box-shadow:8px 4px 8px 0 rgba(0,0,0,.4)}.button_bottom_view{width:710rpx;height:100rpx;margin:auto;margin-top:20rpx;background:#fff;font-size:30rpx;font-family:PingFangSC-Semibold,PingFang SC;font-weight:500;color:#fff;background-color:#1e78e8;display:flex;align-items:center;justify-content:center;border-radius:8rpx}.button_ios{height:140rpx;width:100%} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/register/register.js b/unpackage/dist/build/mp-weixin/pagesB/register/register.js new file mode 100644 index 0000000..4e2fd70 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/register/register.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesB/register/register"],{"13a4":function(t,o,n){"use strict";n.d(o,"b",(function(){return s})),n.d(o,"c",(function(){return r})),n.d(o,"a",(function(){return e}));var e={statusNav:function(){return n.e("components/status-nav/status-nav").then(n.bind(null,"da82"))}},s=function(){var t=this.$createElement;this._self._c},r=[]},2759:function(t,o,n){"use strict";(function(t){Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;var n={data:function(){return{background:"/static/public/login-bg.jpg",backgroudColor:"none",registerInfo:{},flag:!0,count:0,timer:null,yzm:""}},onLoad:function(){},onPageScroll:function(t){t.scrollTop>=5&&(this.backgroudColor="#f7f7f7"),t.scrollTop<=0&&(this.backgroudColor="none")},methods:{getVerificationCode:function(){var t=this;if(""!==this.registerInfo.phone){if(this.$toolAll.tools.isPhone(this.registerInfo.phone))this.$toolAll.tools.showToast("手机号格式不正确");else if(this.flag){var o={phone:this.registerInfo.phone,type:"register"};this.$requst.post("/api/common/send-tencent-sms",o).then((function(o){0==o.code?(t.$toolAll.tools.showToast("发送成功"),t.flag=!1,t.yzm=o.data,t.countDownEv()):t.$toolAll.tools.showToast(o.msg)}),(function(t){}))}}else this.$toolAll.tools.showToast("请填写手机号")},countDownEv:function(){var t=this;this.count=60,this.timer=setInterval((function(){t.count>1&&t.count<=60?t.count--:(clearInterval(t.timer),t.flag=!0)}),1e3)},registerEv:function(){var o=this,n={code:this.registerInfo.code,nickname:this.registerInfo.nickName,phone:this.registerInfo.phone,password:this.registerInfo.password,confirm_password:this.registerInfo.againPassword,shopowner_id:t.getStorageSync("shopownerId")?t.getStorageSync("shopownerId"):0,openid:t.getStorageSync("openId")};this.$requst.post("/api/user/register-by-phone",n).then((function(n){0==n.code?(o.$toolAll.tools.showToast("注册成功"),t.reLaunch({url:"/pagesA/login/login"})):o.$toolAll.tools.showToast(n.msg)}))},toPage:function(o){t.navigateTo({url:o})}}};o.default=n}).call(this,n("543d")["default"])},"83a8":function(t,o,n){"use strict";(function(t,o){var e=n("4ea4");n("8513");e(n("66fd"));var s=e(n("de4b"));t.__webpack_require_UNI_MP_PLUGIN__=n,o(s.default)}).call(this,n("bc2e")["default"],n("543d")["createPage"])},8809:function(t,o,n){},a929:function(t,o,n){"use strict";var e=n("8809"),s=n.n(e);s.a},b30d:function(t,o,n){"use strict";n.r(o);var e=n("2759"),s=n.n(e);for(var r in e)["default"].indexOf(r)<0&&function(t){n.d(o,t,(function(){return e[t]}))}(r);o["default"]=s.a},de4b:function(t,o,n){"use strict";n.r(o);var e=n("13a4"),s=n("b30d");for(var r in s)["default"].indexOf(r)<0&&function(t){n.d(o,t,(function(){return s[t]}))}(r);n("a929");var i=n("f0c5"),a=Object(i["a"])(s["default"],e["b"],e["c"],!1,null,"2e824fd8",null,!1,e["a"],void 0);o["default"]=a.exports}},[["83a8","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/register/register.json b/unpackage/dist/build/mp-weixin/pagesB/register/register.json new file mode 100644 index 0000000..def88ae --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/register/register.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "注册", + "enablePullDownRefresh": false, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/register/register.wxml b/unpackage/dist/build/mp-weixin/pagesB/register/register.wxml new file mode 100644 index 0000000..11e339b --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/register/register.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/register/register.wxss b/unpackage/dist/build/mp-weixin/pagesB/register/register.wxss new file mode 100644 index 0000000..727fd25 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/register/register.wxss @@ -0,0 +1 @@ +.login.data-v-2e824fd8{width:100%;height:100vh;background-size:cover;box-sizing:border-box}.title.data-v-2e824fd8{margin-top:60rpx;font-size:52rpx;color:#0567b8;line-height:1.2;text-align:center;letter-spacing:2px}.form-boxs.data-v-2e824fd8{padding:80rpx 50rpx 10rpx 50rpx}.form .item.data-v-2e824fd8{margin-bottom:26rpx}.form .item input.data-v-2e824fd8{width:100%;border:1px solid #dae3eb;border-radius:20rpx;height:96rpx;line-height:96rpx;padding:0rpx 26rpx;box-sizing:border-box;color:#333;font-size:26rpx;background:#fff;overflow:hidden}.data-v-2e824fd8::-webkit-input-placeholder{color:#8f989f}.data-v-2e824fd8:-moz-placeholder{color:#8f989f}.data-v-2e824fd8::-moz-placeholder{color:#8f989f}.data-v-2e824fd8:-ms-input-placeholder{color:#8f989f}.forget.data-v-2e824fd8{color:#0567b8;font-size:24rpx;text-align:right}.check-login.data-v-2e824fd8{margin-top:36rpx;font-size:24rpx;color:#333;text-align:center}.agree.data-v-2e824fd8{text-align:left;margin-top:30rpx}.yzm.data-v-2e824fd8{position:relative}.yzm text.data-v-2e824fd8{display:block;position:absolute;right:2rpx;top:2rpx;z-index:2;width:298rpx;height:92rpx;display:flex;align-items:center;justify-content:center;background-color:#eaf6ff;color:#0567b8;font-size:26rpx;border-radius:0 20rpx 20rpx 0} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/singlePage/address.js b/unpackage/dist/build/mp-weixin/pagesB/singlePage/address.js new file mode 100644 index 0000000..f3769b7 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/singlePage/address.js @@ -0,0 +1 @@ +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pagesB/singlePage/address"],{"30e3":function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n={components:{},data:function(){return{backgroudColor:"#f5f5f5",navBarTitle:"",address_id:"",aboutList:"",hostapi:"",about:{logo:"/static/public/logo.png",name:"傲云惠购",address:"四川省成都市武侯区人民南路四段252号",tel:"0028-12345678",qrCode:"/static/qr-code.png",reter:"图文排版后台上传小程序"},user_reter:"图文排版后台上传小程序1",privacy_reter:"图文排版后台上传小程序2",register_reter:"图文排版后台上传小程序3"}},onLoad:function(t){this.address_id=t.id,this.hostapi=getApp().globalData.hostapi,console.log(this.address_id),1==this.address_id?(this.navBarTitle="关于我们",this.getSingle()):2==this.address_id?(this.navBarTitle="用户协议",this.getUser()):3==this.address_id?(this.navBarTitle="隐私协议",this.getPrivacy()):(this.navBarTitle="注册协议",this.getRegister())},onShow:function(){},methods:{getSingle:function(){var t=this;this.$requst.get("/api.index/about").then((function(e){0==e.code?(console.log(e,"关于我们"),t.aboutList=e.data):t.$toolAll.tools.showToast(e.msg)}))},getUser:function(){var t=this;this.$requst.get("/api/index/user-agreement").then((function(e){0==e.code?(console.log(e,"用户协议"),t.user_reter=e.data.content):t.$toolAll.tools.showToast(e.msg)}))},getPrivacy:function(){var t=this;this.$requst.get("/api/index/privacy-agreement").then((function(e){0==e.code?(console.log(e,"隐私协议"),t.privacy_reter=e.data.content):t.$toolAll.tools.showToast(e.msg)}))},getRegister:function(){var t=this;this.$requst.get("/api/index/register-agreement").then((function(e){0==e.code?(console.log(e,"注册协议"),t.register_reter=e.data.content):t.$toolAll.tools.showToast(e.msg)}))},bigImage:function(e){t.previewImage({urls:[e],current:""})}}};e.default=n}).call(this,n("543d")["default"])},"9d2a":function(t,e,n){"use strict";var o=n("ca51"),a=n.n(o);a.a},"9dd8":function(t,e,n){"use strict";n.r(e);var o=n("30e3"),a=n.n(o);for(var i in o)["default"].indexOf(i)<0&&function(t){n.d(e,t,(function(){return o[t]}))}(i);e["default"]=a.a},ca51:function(t,e,n){},d2d8:function(t,e,n){"use strict";n.d(e,"b",(function(){return a})),n.d(e,"c",(function(){return i})),n.d(e,"a",(function(){return o}));var o={statusNav:function(){return n.e("components/status-nav/status-nav").then(n.bind(null,"da82"))}},a=function(){var t=this.$createElement;this._self._c},i=[]},db8c:function(t,e,n){"use strict";n.r(e);var o=n("d2d8"),a=n("9dd8");for(var i in a)["default"].indexOf(i)<0&&function(t){n.d(e,t,(function(){return a[t]}))}(i);n("9d2a");var s=n("f0c5"),r=Object(s["a"])(a["default"],o["b"],o["c"],!1,null,"6a456d2e",null,!1,o["a"],void 0);e["default"]=r.exports},e3c4:function(t,e,n){"use strict";(function(t,e){var o=n("4ea4");n("8513");o(n("66fd"));var a=o(n("db8c"));t.__webpack_require_UNI_MP_PLUGIN__=n,e(a.default)}).call(this,n("bc2e")["default"],n("543d")["createPage"])}},[["e3c4","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/singlePage/address.json b/unpackage/dist/build/mp-weixin/pagesB/singlePage/address.json new file mode 100644 index 0000000..e7c284d --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/singlePage/address.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "单页", + "enablePullDownRefresh": false, + "usingComponents": { + "status-nav": "/components/status-nav/status-nav" + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/singlePage/address.wxml b/unpackage/dist/build/mp-weixin/pagesB/singlePage/address.wxml new file mode 100644 index 0000000..50b1595 --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/singlePage/address.wxml @@ -0,0 +1 @@ +{{about.name}}{{aboutList.address}}{{"咨询热线:"+aboutList.consultation_hotline}}公众号二维码 \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pagesB/singlePage/address.wxss b/unpackage/dist/build/mp-weixin/pagesB/singlePage/address.wxss new file mode 100644 index 0000000..d9e131e --- /dev/null +++ b/unpackage/dist/build/mp-weixin/pagesB/singlePage/address.wxss @@ -0,0 +1 @@ +image.data-v-6a456d2e{height:0}.about.data-v-6a456d2e{margin:10rpx 20rpx;background-color:#fff;border-radius:10rpx;padding:60rpx 0;display:flex;align-items:center;justify-content:center;flex-direction:column}.about .logo.data-v-6a456d2e{width:270rpx;display:block}.about .title.data-v-6a456d2e{font-size:36rpx;color:#0567b8;margin-top:28rpx;font-weight:700}.about .boxs.data-v-6a456d2e{margin-top:38rpx;display:flex;align-items:center;justify-content:center;flex-direction:column}.about .boxs .image.data-v-6a456d2e{width:64rpx;height:64rpx;background-color:#f3e8de;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}.about .boxs .image image.data-v-6a456d2e{height:34rpx}.about .boxs text.data-v-6a456d2e{font-size:24rpx;color:#333;margin-top:20rpx;display:block}.about .qrCode.data-v-6a456d2e{width:280rpx;margin-top:20rpx}.reter.data-v-6a456d2e{margin:20rpx 20rpx 0rpx 20rpx;background-color:#fff;border-radius:10rpx;padding:30rpx 20rpx;box-sizing:border-box;font-size:24rpx;color:#333;line-height:44rpx}.height.data-v-6a456d2e{height:60rpx} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/project.config.json b/unpackage/dist/build/mp-weixin/project.config.json new file mode 100644 index 0000000..d87f76f --- /dev/null +++ b/unpackage/dist/build/mp-weixin/project.config.json @@ -0,0 +1,29 @@ +{ + "description": "项目配置文件。", + "packOptions": { + "ignore": [], + "include": [] + }, + "setting": { + "urlCheck": false, + "es6": true, + "postcss": false, + "minified": true, + "newFeature": true, + "bigPackageSizeSupport": true, + "babelSetting": { + "ignore": [], + "disablePlugins": [], + "outputPath": "" + } + }, + "compileType": "miniprogram", + "libVersion": "2.30.2", + "appid": "wxc68d54bd26593782", + "projectname": "傲云惠购", + "condition": {}, + "editorSetting": { + "tabIndent": "insertSpaces", + "tabSize": 2 + } +} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/static/bar-code.png b/unpackage/dist/build/mp-weixin/static/bar-code.png new file mode 100644 index 0000000000000000000000000000000000000000..4f03bf6f5cc05872395f8c4a595943a6ad0050ae GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/cate-top.jpg b/unpackage/dist/build/mp-weixin/static/cate-top.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b5c0616d1f7a426eb99a4aa47df3bb9435a6a66c GIT binary patch literal 117758 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 literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/cate/cate-02.png b/unpackage/dist/build/mp-weixin/static/cate/cate-02.png new file mode 100644 index 0000000000000000000000000000000000000000..8408880e86db4b5d141708349e1a8ec6bbde1078 GIT binary patch literal 11384 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 literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/cate/cate-03.png b/unpackage/dist/build/mp-weixin/static/cate/cate-03.png new file mode 100644 index 0000000000000000000000000000000000000000..3354ce5730243c7762383c748b497b58a94d11fb GIT binary patch literal 11585 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 f-d;YSkRftLJ+2rwCr%-S>T-`A$4z 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�bf-JG1l08H(~%f)$4oy)3TJQiuKe$L+CM{HM-9^nSA6L?*#$$$AKEULjv| zmu0ljizB6c6K@S5C`rXLEv{^R0j)Y7Fqq221p+ZCwa1jq7-s3+i*6*IezPzT@=`@L z@RBU#4TXm9Q`XG8dx^ME@m#Q6$zw^)0d%X>qN7M@SQ2g}((B(R>1PC77zw;y)E(R0 zp`r^tDBP`R(&~AU9AtCDGONLLZ=CXdX}SLuY>9h*kcLtkOm5Zn;p)i7eaP zhNNpoQlm0g2?{J!Cs$IROaPY+biwaLyIb+M447ZbUfo4b5=87s0acrkcCdHa3dq}k zV$yXsMaiH0@gU;VHVt7Mt_!i1@9;*aUfc!srHt6#oO_Xfg}U_|^f3o$M*BjTP5Fd+ zyNtgEBa*23=G$WT&_o&wi5Kq+l>hXRhVe#RDODoLpio_4ov<#vayKX!e;--u4}C zBIgrw>u0WtxQeRX>|zDcD^gxflY=2`c;&%R(%}ePZ*ulLeTqkyW-Ml$ZmY5)Z)olD zAH%)DSB-)9x;c#?YK@O)`BUO8xc=e`x|Yzs${=6C~XD%T(mhceep{y{}+zS@dSV)IqdJQ%S<*b=_?_X`~E7mj40dQx;^8(3+?~ zl*ARM0Kcvf`oyBwS%D_2LZ9GPaE*dmqYyrEfpDkv&kE*o76d_**?`rYc%!GGj&N_t zA(6`EO3L}771wZ-aHgZgd zK3~~}u3u6%r`SDHPq7iTONKFfI#^|3;v(-guW54rivYNEMWtaw*IM-?Z4WsJO^$2I zA5eJyA=nIADiVFT@sv03OM||}XD3e!>d^F_)wJq literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/cate/cate-06.png b/unpackage/dist/build/mp-weixin/static/cate/cate-06.png new file mode 100644 index 0000000000000000000000000000000000000000..644a3be9693c240df72f729323061f0a78b26475 GIT binary patch literal 9822 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 UZcHZs`QuALMn(FEq)EX40rI#!@c;k- literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/cate/cate-07.png b/unpackage/dist/build/mp-weixin/static/cate/cate-07.png new file mode 100644 index 0000000000000000000000000000000000000000..4833cbf850635d0661e691cd9443b0c8afb6cfe9 GIT binary patch literal 11015 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 LDoNCdnS}fwFA%%E literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/cate/cate-08.png b/unpackage/dist/build/mp-weixin/static/cate/cate-08.png new file mode 100644 index 0000000000000000000000000000000000000000..36debebe2d6aa12abbf0bbf72b28f4c8b3d9007b GIT binary patch literal 10659 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

uc!~Ku`1idE413W{F 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 bq{e_T1mbCq=^)d8ew&n&Qj)9|H-`Tosttox literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/cate/cate-09.png b/unpackage/dist/build/mp-weixin/static/cate/cate-09.png new file mode 100644 index 0000000000000000000000000000000000000000..824ce0d60ada47afee72454500d9991736cc7ec7 GIT binary patch literal 9375 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 J?0`J8@L#%lWcdI9 literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/foot-bar/cart.png b/unpackage/dist/build/mp-weixin/static/foot-bar/cart.png new file mode 100644 index 0000000000000000000000000000000000000000..bf8a003560f6ff7f69f73309b63aeaa17afc6240 GIT binary patch literal 1559 zcmeAS@N?(olHy`uVBq!ia0vp^T0pG9!3HEdxHAHPlw^r(L`iUdT1k0gQ7VIDN`6wR zf@f}GdTLN=VoGJ<$y6H#24=O)kcg59UmvUF{9L_6kQ%*;+ybC(1_m4Zih{)C?9>v4 zq}24xJX@vryZ0+8WTx0Eg`4^s_!c;)W@LI)6{QAO`Gq7`WhYyvDB0U7*i={n4aiL` zNmQuF&B-gas<2f8n`;GRgM{^!6u?SKvTcwn`Gt*5rG%-~$x70H< zGd8ib)KM@pFtpG&u+TR&)-^Px^|#0uTKVr7^KE~&-IMVSR9nfZANAQKal z@=Hr>m4GgVcpc|`|L!N(=v{L#jNl0f>a~`+sq*9GiK<+WNq%YU z2d3pL+AgVnTYi#C^t4T-k!f3kZn0j{f2HySHy&(2x zJy&1ni{^hH;uB}M7)$0?FiE8I(ul^hEgNTLWgPDF9f%9y=#6Yvo4xh?Lhj+ z{aY%z-D<>spJlcP*sE{fb<{syVA1DKY5t{`!yo9rV0M3!o_B|px9IN&?wTo0A$8@t dm;VbVFnAwaE`6rz<7H4$?dj_0vd$@?2>|S*OThpD literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/foot-bar/cate-active.png b/unpackage/dist/build/mp-weixin/static/foot-bar/cate-active.png new file mode 100644 index 0000000000000000000000000000000000000000..e8b0bf0103bdb2e996bfa33d4f52102a10e60a8e GIT binary patch literal 1587 zcmaJ>c~BE~6po5Y#n|FeMFF=#K!s#?LvD?jWD|)J

b*%C(RP$;RDbt8xkxMN>q+CNLV;Q7fhodx!5!0i9(xS^mlTe*8 zZ_6cgDUCKE!mQSi8dbc=fLT~NABN?y*eEuQwlvmZ(;2c*640ZWW~-R-2Gcwh|(Tm@yJpMD2aoAOjeI zkXd5JD^VI%0wBY16yUOWOasi}0(>D0=EZP?!f1dE!2%ExfN%^G=7~6vh|LB@9|n~T zH)e>E5XERN>Lg~ENYW+(LA%|~vd6G6JQIY4LLmsTK{lI7A(%v-mDD+yRw8UH0)i3- z+-xJwm=*9v)akJtQp})~zAC|DQ>k7Dwi2U_qFM$zbT$xXL7>Irt7`;JkV)tp8E-`s z>O30?CZPnDgBz%MWQ2{8souRikq=0z5h0i%$AVf(B_d`}H!P#sD1u-aUnu0uC462C z49gLzP#_oZVMHKj%XkpN8RIIg1gWzc&@rz04HtPQS0uwx9f{#;49gyyUV;fDF~Wq| z0GZ4;Eg`Tl&1^Mdc4CpQy`yST+?$kLZUu3Mpj+ zxm3ZEB0PjK$~C^F_E9ePf4Lwf2J{X0Kf@loq8#MgzP2uPcx`^vN;w{@eq@I*Q2HHFw^af&up6A)3{;GQX%`t0QU#=krcn}7BMLvYKH`Ny{r z)9(B-@l>07U_D*nzpp6AT|ZREnG=9(R|M)S9=fCZZ69<5>7A*C^J?28PR)x}zw8R= zTTr4>nhb|jdmfzp_SiSAeY7Txq^$a2dveIaj9Kwf`zx|sCu;Pk-6;tX;SC;Xp{8Q5 zw(@weYL{GUu~hCm9GHDLJ>7fMxb6l%*cMfHvQgPV-a{y^m$@c-S7rTRsCZZ) zLbc0Z@^hYRPks*!E`8*G zq~uWi=FY7R&PMoY&w_@TO0Iu*KOJ`cxL=uHO_t{0ZtlnY7jMtVMbrQOY0;&<4_4y; zly}cA%AK@3qzc&)*O*pYXB}u>Q7c{?|02#Cr2AZuNjYaYO67B>jw)kI&Ut=Nw literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/foot-bar/cate.png b/unpackage/dist/build/mp-weixin/static/foot-bar/cate.png new file mode 100644 index 0000000000000000000000000000000000000000..37e0c11691b0a2e4c4f2c469ac391adb10f3c6ac GIT binary patch literal 1583 zcmeAS@N?(olHy`uVBq!ia0vp^>LAR)1|)kH2buyY$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%xak-5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8JrcYiMR=Vqj%tqyPmhm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0ErIph`qZFWg5$}CGwaVyHtRRDY2DigO` zjBuI<)tiFbEyg(Y>H{644~kr*$c704QxJ#=Pr5)3Jn^UI0aJVtFln1UOHXBBV4Cmg z;uunK>&*;r579u0>tEE4~BPbzY!rr`}|KH5E@JoL;r}|vG$Q}DXJ0738^Z5Nd z_wh4HRWCTAQqB{i z{e4T*RKuiH!`wCIoRjV_KAp~Tt z-1#8Dy@}Jr^Yq0d5!zR-C1&mvZOWbMeR}Wo9Pg-ioE1Q^*vy^pA8^>$*M4G~GilOg z?uNV#_njxqyZQBj?8#oP6Rqu^rY%H2y^^w{gU4`qZH>R(Dpt8|n9c#@8fog^- zrM{b7|5U|J@P3lmUm~!Zx$Nj1Vf74=#Y=u{?tlMI+ClYt#ZIGB=g*5zvu|RtZ`z#D zxy}A8>$`w;UKOi?Si+ir-U(*j>F2j{rSG)-D`B3kS(}^}oJxv#Y4}wlhB4W)DpUOi zmsnAt)YSDgXXDxZ4W*VFSI|WY@vAlO{8G(%q`)+XTREccHVV0OI43meh-}1ci$*G8x(b0<#WtxH`jXS z040;n&sDD4&uNNrT&M8e{^VbQjC7qXOp{NDPkJq$vBLj$o!$jG(Pfg8tRLUJp#JqY zZ~6qeZZewuO3mZ`|y9Jz!tCj%vC$pABkPq;&VPJmn_YO;j@kX7*elapmU;&mmd8wFRA}7}F2g-t{an^LB{Ts56OmnQ literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/foot-bar/index-active.png b/unpackage/dist/build/mp-weixin/static/foot-bar/index-active.png new file mode 100644 index 0000000000000000000000000000000000000000..7fdc297cc6da26cc08d3df35ae137ead961ecbe1 GIT binary patch literal 1305 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 V_utQt7v$M~0%B1N{7Zy9_aAkzh#>#~ literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/huang.png b/unpackage/dist/build/mp-weixin/static/icon/huang.png new file mode 100644 index 0000000000000000000000000000000000000000..5228b412da6bca8745b7adfef88f854c37c89e6a GIT binary patch literal 7697 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 z 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 G!Tt+q=VxaC literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/icon-add-cart.png b/unpackage/dist/build/mp-weixin/static/icon/icon-add-cart.png new file mode 100644 index 0000000000000000000000000000000000000000..16c255a52ddd0af3eb4ffc17856e8fc89b8e40bd GIT binary patch literal 1859 zcmaJ?c~la494Bv0!!oxl%MlAZfZ;F^k`zIcl9tTKqc#zSB!rn@Of+lrO0rxl%gqio zw^lmL%G7$5#}<`kcCJh1n&s{*Uk6%t*tvsc?H}vTdo#b|eLkP>@%#MVtQXCj?cy}f z35UbE2*UZ1*fW4TR&$-~HtS5WDC?f zNG^ya16mIEUxz)og*nJF{c2ro@zwm08gsk`v$pR1?o#Z=R15grDBYcN+hfAr=a0Sc zu;W?sSyJVbT5zlEPKdZ;O5DV3dbVC)7Lw#$?n0oJKjKdHniiWr<_7eT#lnN1GCnm*PB1!H%h&XD?J8as_@dODey_jv5mGh%`SKkr$M;$7 zD|7X{m3DD)*~nWs{PsD-tcadEUz;;Fy}&qUy9%z|nQedMT-|{i)g9$h|SLmhRqBPNMyG1;1cUGE)8V6osI1{LecOik+mik8nZcarRYi zzqkg91a%|oy7v(4EA(#xjC$2o7q6q5~ks>~42Zeyw!lgrY1WyN-P@Dcq7sW|h%ZQ?YCQI~h0{WxRO z`H#?MLFcS0#!35}wLaywCrQNB-e)rMo?3lqOq1Vq5ryE5D~jdXLk4K)mAr#$@5Rca zRekpN+;b}Ja*Hd&-Z|H1ED#$P)`=(LBe&bm3gz}MuCckbumVR_GNWa60W{;Uc3?xJ%p zX0HG9gwiYKwt8XnIz{d&-8M{8BY?FAlAnaB2ySwYSECCVnW zIQ^Na<|3|l>;Zzo)FU8Uz1WypR=DnQQjuHSyG9xS;9q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~;1FfglShD4M^`1)8S=jZArg4F0$^BXQ!4Z zB&DWj=GiK}-@RW+Av48RDcsc8z_-9TH6zobswg$M$}c3jDm&RSMakYy!KT6rXh3di zNuokUZcbjYRfVk**jy_h8zii+qySb@l5ML5aa4qFfP!;=QL2Keo|$g4p^2%2xuu?= znX!qbrH+D;fuV)IfrY-Iv96(+m5G6sk&yxvC;@FNN=dT{a&d#&1?1T(Wt5Z@Sn2DR zmzV368|&p4rRy77T3YHG80i}s=>k>g7FXt#Bv$C=6)VF`a7isrF3Kz@$;{7F0GXJW zlwVq6s|0i@#0$9vaAWg|p}__=rzQt7nB@w3xGDeq!wkCrKY$Q<>xAZy=|3= z(=7(BIL(9VO~L6F12>#{^?{Dj2SqMYWW$7jDG0=bCtV;1p7>MqfGNHRn6y7e7ql=i zFwXXLaSW-rHD~HsZI?umWAFF&1i9EP(%|O4_=nSL$;p)5^)=BNMw57NM*KK&>yZ5e zeg&n@6h&2T>C+n(JX0o}e|~Z2u64!lW>mhqUj2OU^V+KCd!FyP-piY7*(K#D|AOW0 z0v4Ml?+wh?4u)1tls0<2$kl*>OD6h#0(xIx4`9@+wyg0F&5W3p0d#YJd3Y_LAK&X?}~-t1-!3Pj!)aQ zbF*!Mh@c2FZ)DH88)5$#dz!Y}-0qxfcdt+@`QvSBn$CWjv1+Knm rx@@L${Ng2d4oON17X_~RC6vG*{2;KFF`(}zsQB`9^>bP0l+XkK?&;Yp literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/icon-address-other.png b/unpackage/dist/build/mp-weixin/static/icon/icon-address-other.png new file mode 100644 index 0000000000000000000000000000000000000000..db2030e95a3f9c844246d8d5f1ec86717a986cab GIT binary patch literal 2015 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 Gp$PzyZLz-q literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/icon-arrow-01.png b/unpackage/dist/build/mp-weixin/static/icon/icon-arrow-01.png new file mode 100644 index 0000000000000000000000000000000000000000..e7789d5d0c8909b7a3712eb4a14735e06e1b094f GIT binary patch literal 1120 zcmeAS@N?(olHy`uVBq!ia0vp^!a&T&!3HGHN~m`NDajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_cg49seoArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XQrEMXkw~hZmDNz zW^7_h+i#(Mch>H3D2mX`VkM*2oZxQ#zd*s+85C-k3L4>= zc`5nj#hPF}zP?tTdBr7(dC94sF1AWQQ}i-3Q>>iKT%8R}on6dKoXiakU0obqT-+Ru zElteLEFGPkTuotmUGkGlb5rw5V0u#!dR=kq1to{v0-((i&pS-ycaTfAtx|>5qFaD8*Tx0rjPbAY=4_i)hiw|5U}7mB3y97m*tW34V4)m zDwaxhtY6%Dx1q~;Le>p_1wV#I_5uIm75dm8y?-LX#XNInF1XQ)o|Wv0a58 z)*vY8f`n#Kl%P)~^k8HuNjDQA?BYWuB@q!+^cEF8bVgn4p>5#Ix$u48e>vYd(c0XQ z@7m=e2qHhyD8}$ygoi6{3;s{oA<&~W z4p^XVpgFD#^eVhc)$Jo|Qvw#y0g}m-e#o$eRDfF374X_QW+-wEf_ekgdQypKD;a_o zAgk#bx58CblRlp2YP?lEUrBmc&d;!ZhV#0)8lj36JRWl6qi{4!?Gj>Qcq10x1*jf` zOo3sN$t0ch($MN=IG*Pj*28!_Zj5l-{RWa#Zo@9gD2TvTEX_n3G)PBL?u30PK;cZ+ zOVG_tS;O9F6K)ujl1+xAS*N57FdF?oRM$7rHj05i`TkSbj`y2@i2)n-Sqi?mt`aAd zDTFK_BWT4TJe28TYY#-w?tvy53OQZl$?|s1P+`)pSmQ*aLd39;V%=x4)0zlZbsxsb?le0_#1LZwd!2Fh^NKiqIuu44z?#F0f{X-9w> zwxCX~l`Ux5a|vbD+u*9%a}l$08JrB`T<%|&ojJk|a+aIc#hXp@0|PtW!qzTp9+B{~ zn2w0Sco$tyZ_3q8Ksfpp+BiA1M{9d@yGJC8&Z~VrWx%8;| zp{eoREPUbnwmR|XVa`n1)782AyFP~-hgTO?PJS$U{9byU9@=`|y!mXVa5P`Nm@Zm8 zFn;W~ORe4hQlO^Wh7O0Pq@pr^PVQvK^3TKp7PRavxN!P<_gP~8i@n6Q1fLWy?-?pD z-<#ecReT!jo%{78-jG%<&6ge>d%M^bEIxIH$R#REOK;I7{AK5HN2F$Pvc6;RH@W|9 A&j0`b literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/icon-arrow-right.png b/unpackage/dist/build/mp-weixin/static/icon/icon-arrow-right.png new file mode 100644 index 0000000000000000000000000000000000000000..470aa44d846cf87d9b9a67499b2084ac8ff8feec GIT binary patch literal 1321 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRo!3HEV4DF?Wlw^r(L`iUdT1k0gQ7VIDN`6wR zf@f}GdTLN=VoGJ<$y6H#24=O)kcg59UmvUF{9L_6kQ%*;+ybC(1_m4Zih{)C?9>v4 zq}24xJX@vryZ0+8WTx0Eg`4^s_!c;)W@LI)6{QAO`Gq7`WhYyvDB0U7*i={n4aiL` zNmQuF&B-gas<2f8n`;GRgM{^!6u?SKvTcwn`Gt*5rG%-~$x70H< zGd8ib)KM@pFtpG&u+TR&)-^Px^|#0uTKVr7^KE~&-IMVSR9nfZANAQKal z@=Hr>m4GgVcpa&(F8Rr&xv6<2Fuf@Vy+%0of|5gS0nlcb)S}F?)D*X({9FaFx2-a9 zy2aTIr+HAlDY)HYfK#tN&@uX;$VG~5m=G`pftc{53*^8Pe`+2u#TNmS_M)r5TNoG^ zXL`CghE&{|GWE2!OQFc|_dSLYCl0w?zgL}Dc-l!!DY8SyMo8LP#Jcm7hh(a`*EXFe zcRj*d-2O053W|u-(B{@Wym#O7ecS6Y&)9yyvONB|&*#0*KUTZQ9N)QFXEmG3fgaII zix!Bv95A_&+u_FKc<+90UuNmFj^d)(+SjGOmY34mp6}cYDSr z1<%~X^wgl##FWaylc_cg49seoArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XQrEMXkw~hZmDNz zW^7_h+i#(Mch>H3D2mX`VkM*2oZxQ#zd*s+85C-k3L4>= zc`5nj#hPF}zP?tTdBr7(dC94sF1AWQQ}i-3Q>+}#ot&LboQxcuOiT?8U0p0)&CD!Z zoQ+%!%uLJ-&D~&nUGkGlb5rw5V0u#!dW~`F1to{v0-((9_J75JE|Ify9Bg?lUjK`I~a)KaL}wCqA{9a5I05GZFu>V70QDl;ZGj9}L+4f+S(U%j3 wE*u@xl_fV#nR=}Ozopr09W9Lw*UYD literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/icon-arrow-up.png b/unpackage/dist/build/mp-weixin/static/icon/icon-arrow-up.png new file mode 100644 index 0000000000000000000000000000000000000000..415703c59a3c5b8ad54e24a4e3ddc306fa89a884 GIT binary patch literal 1118 zcmaJ=X-E`N93ROt?V!Wxpkf%iq;`(ob=Mi(Y<6eOrABOBbBzwinWqjq^QM_+yIOQp zSV7pQpgu&<1r<^VfzkQNps2odDjgsCl!Z_fbiFax`p`D;<{kWgzyI-mudBLh^^}5n z1q4A%iB(E*JkP*m(!>e)Z_ggc#nW6AO`;mugi?wP2vLKLfQ%VRGl&C4>)6^4$_QfI z5tpJgYpjkIV)Q7&C6sc<=s;)$4Wh(+&^vX^f z)O1!Q)Xr9w*QoN9WLa9k0tP?|nKs%?M@WaL5nTbV-D8F#M!XrHav5co(8t5V8b@ zNu^SB%11-Hnc;YzXIL-e^?ESE<8+uvNqbDED5D?&N40ee>ChxyMWqq8qY#BN{au1# zjmetMXq#}un6zRs9L>5VWq`8$f2d)Mp&b+lfAamOu#@Pp022oeY`0Z>aZN>TC`*Xg zKta$>K-iY)Vs#5d&}o4d8Hu=ET7?Y_ za-?iQ&z?&#tKKMA%brVVRxX2+Vcg68>#{RP*g@`c%({3pW`1B|$J^N2Lw)pN{45^C zBr%bGezN;T{+(6RqQToczkPhRd-2o#>l-TH9PS-gZjiNK7R(yoOZ?nXcq)e*>|UN* zfA!IxyHopo%?CFvJw$=7;wR?jb^TPnc<^ifkss4P-6rOX1qW`u-jFPeAKUGX<_(=W z+rM$&qF0xw3wwOm*qg&Edb)NDZp)K@^I0$}9ut#l%cS+nWpH}#@qNkf3x{)zhn)p1 X5qiX(7=Pp4arec?qE*u6aKqkTe?)Su literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/icon-back-top.jpg b/unpackage/dist/build/mp-weixin/static/icon/icon-back-top.jpg new file mode 100644 index 0000000000000000000000000000000000000000..26db2c2cabddb96f3108ccf0e987552e4d6c74b5 GIT binary patch literal 2708 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 D5NZh$ literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/icon-cart.png b/unpackage/dist/build/mp-weixin/static/icon/icon-cart.png new file mode 100644 index 0000000000000000000000000000000000000000..0619a2108f1fdbff929b89547cd10d175e9e8743 GIT binary patch literal 1480 zcmeAS@N?(olHy`uVBq!ia0vp^GC(ZF!3HFkgxGWfDajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_cg49seoArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XQrEMXkw~hZmDNz zW^7_h+i#(Mch>H3D2mX`VkM*2oZxQ#zd*s+85C-k3L4>= zc`5nj#hPF}zP?tTdBr7(dC94sF1AWQQ}i-3Q>+XujSY+~O)VYG%}fmqU0p2A4J;g; zP25Zk%#00|32(Et6}9qaG^&s9FZ z_c`d;4E8{gSf=#{Z6X*>U$l$lYC87m=|K(&hW*}uo-6zi-ehL*EkQnK!9F2yr@CYQQYlxYmP7rSySPMb^Jax88X3-J4kpG``lmE!GNP5LMtl7OM4I zGEvByc~`~%2=^5yKdyW?MbiJ2^SbTR^gf5gSJ-ZIKWZttK0Gk(P{kAxV){ht7S$a^K`qa`TLdzz11}H zd|Dl9a(}0XRbxWnUZIVC@zIv-X=mT9Wym`{YaPed*vIYH!ap=G_b;8fvuMM5BVqMO zZv97(jY0x$r+&C*yj=3nk_}T|d{`IDY-i|txv#QTYwFu?6;_TZL35W^)?X8j&Dpw8 xdjFJ@?N@!j9dSIqN3l-x4^!~B2l0$-49#D@$1_#Fz78r|Jzf1=);T3K0RaDPB2xeW literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/icon-checked.png b/unpackage/dist/build/mp-weixin/static/icon/icon-checked.png new file mode 100644 index 0000000000000000000000000000000000000000..5c57d56e8b149889fe9c364e9f82021969179f3d GIT binary patch literal 1177 zcmeAS@N?(olHy`uVBq!ia0vp^Vn8gw!3HFS-u9~jDajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_cg49seoArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XQrEMXkw~hZmDNz zW^7_h+i#(Mch>H3D2mX`VkM*2oZxQ#zd*s+85C-k3L4>= zc`5nj#hPF}zP?tTdBr7(dC94sF1AWQQ}i-3Q>;wQ4P13DZ-C~0ImR@CxH%bz$KFChHteD`w7Wot`Z$d@8X`Job6!Yzs7Y{89FNuJE!a@#+Mo5&?dNRL(aU zeT-M?3)j4AHfQy#eUkID`knjIyGd`|r1xYrJySa0$a{2+!?osrlX&yX`KnzcLK5}b04S6q25W48B#qUfblwZn< oxad!~|N0uE|AOv)Uh<4=48eAh^Xg~3NCp)ap00i_>zopr05a{24gdfE literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/icon-close.png b/unpackage/dist/build/mp-weixin/static/icon/icon-close.png new file mode 100644 index 0000000000000000000000000000000000000000..0e6741a4bde3a431dd24092d5eac142e9335663f GIT binary patch literal 1504 zcmeAS@N?(olHy`uVBq!ia0vp^q9Dw{1|(OCFP#RYBuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFso&TM3hAM`dB6B=jtVb)aX^@765fKFxc2v6eK2Rr0UTq__OB&@Hb09I0xZL0)vRD^GUf^&XRs)DJWnQpS7iK&9QrJkXg zv5BRnj)IYap@qJIg}$M&uA!NgiGh`okpdJb0c|TvNwW%aaf8|g1^l#~=$>Fbx5 zm+O@q>*W`v>l<2HTIw4Z=^Gj80#)c1SLT%@R_NvxE5l51Ni9w;$}A|!%+FH*nV6WA zUs__T1av9H3%LbwWAlok!2}F2{ffi_eM3D1ke6TzeSPsO&CP|YE-nd5MYtEM!Nnn! z1*!T$sm1xFMajU3OH&3}Rbb^@l$uzQUlfv`p92fUfQe;YIw12nWDj;^ztbA-1z7jPwwA+_vYWdH}B3=&ykyX z&SH{k(Vvixy1+S|otl>f-(R}7v4AV8SZDp@Gg~x{NK3@GrY*Q%;&%9#h()xxkWu8y zT~mY?ic9DpDrTx6-SmGo^M;SDZ}0|vtj!Mz7ozo9cQ%*xU?Kk z-7J2#hT#v#+w_bxO8f34Ue;tNH#xMyuc*=a$v^)``wMIwo@M_g`W-()@$@7ANz$S5|#K1!o-#ZXSqV5ZF+zl+asq zyWzv>m>KoAV$OU!CB*mFdP?IxhwmF@bB~wC{CWE7+$`P5^Uu?MGuyVrDc-8i_-q!} zAa?ftr5LBxOfz4fEZr#YR4*Tu8L^q??e^2$%Ww8~ZD`6i(rtOpn|yx3!fgSa-+6y} z3(dOLb#QZjyyN;cI(6yR7RDHd-)C|BYtp^Eg;EFC-QC3W{G!~9 z_XqxI|0p{VzIM&GfV)MEQimT2P3dLOWIDG>zE+0wxoJ{oBOmj$@0{{VGgn_N;$A&t ze@4QbjWJfdsqzoEF>-e}-DkYYm%n1w*~@$OGM|XvV#|1{e>E&%RyzXr>mdKI;Vst0JqXW;{X5v literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/icon-collection-01.png b/unpackage/dist/build/mp-weixin/static/icon/icon-collection-01.png new file mode 100644 index 0000000000000000000000000000000000000000..b5ac358572252de212745602889ef1d0587447f3 GIT binary patch literal 1604 zcmeAS@N?(olHy`uVBq!ia0vp^%0R5h!3HFQ1%*HYk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+nAI{vB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxOgGuk#8koDQqR!L z*u>ION5ROz&_dt9Lf_C>*U-$$#K6kPNC66zfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD#PU%0_}#n6BP2AO_EVu8M)o`HUDF34YC)x{-2sR(CaRb3oXS&*t9 zlvEdQ!YN`a)n}XHvV7EaktaqGy8yWS#!635E3!hOVZV@+?~NoY-2 zzs2RVvW5`Xt_|;YaV(te@S9!dgAcj`FvVY7jDfMC;#)lJ9v?;Of6 zd|UZga9Zy9b8lv5eruJtdOoN2ym9*ZIp1fRGR@VmcVY{}FmOjClV__6$$vE1&JQj+YN#!w|C^CiAVN*Y(&LCAa^$k349=2OoNLcl!#_tJj zssD9zAA9BmUNHK>u&(j-0?nh##0=jneZDEAykGCi=g`osEAC;}!xOqvokBfauUNSH zUoJEIY-@9Dec_)Y-){*9JMiy0Cn~^fmanK(Yyb9Bwuoc6gZkUtou@9WK5`=asLb5I uCeve&2dVt5?tQaVcHKHp=kNZ11QQrOSoP;w@rj=WmFu3aelF{r5}E+7BVF_W literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/icon-collection-active.png b/unpackage/dist/build/mp-weixin/static/icon/icon-collection-active.png new file mode 100644 index 0000000000000000000000000000000000000000..d13e2cb2cc6dee6ef78eebd55bb06c85dd9412a2 GIT binary patch literal 1317 zcmeAS@N?(olHy`uVBq!ia0vp^vOp}u!3HGfp5L+xNJ*BsMwA5Srr5%(GQ`zk9!uLS~AsQn;zFfp39xYDT62(s|s5su(?)1Hb_`sNdc^+B->UA;;0DU00rm#qErP_Ju}^8LlaX4b4xu# zGh-7=OC1Fx149da0}FjaV_ictD-#1NBO?VUPy*Ukl#*r@@%6Rx%quQQ%u7!7bg@+enxdDPnPO$(W^Q5ZXlmqWZf;^|=<4ERZs_J} zVQ6k?X6fQ)U}_4}>yn>bnwy$e0@Is<&})oSFDNIIQ8lS9itD5T%^c`2?0|OhzU=+Kn^_dr{)1ud=W5dpO0E#z`(#b z)zif>q~g||Y3IETI|v-RF2pZpTXAAx#KN$(^{*nk{4bQh2o?AuRkf<(!z1pB4=<8C z{4X|V^oDAREfwW=-Lpktf2*L=uGuAJ!uCG|C%rwleR5iQ7>lC7&tR-X7Yzt{}<~kma*<> zP`|+X{?Zob`1|!MXB)5868rS;)k8Z8)|*)_c1kfFKMW4-EE{{1RmLCNO59 z@l=t<`I8pGY(#-jG?EOH8?r!8VF+mULJzti-S+Scu9nNh}uYolg` z`TFE~C%0z5x}d4(XKy^mNT%VT-obbB^VrUpWe-S-9iCWaCy4=xvXX;2eq7>-EPvBh#|D~FwB0mm!Z+#xXmLpH%sf)r9st%^%_Au%SqY!-8%gT{(D zp2%2l91oB}tw%cp)~VtYBX|tslv+U1R)eJj4q8AIN$my!`=fMccK7?L*%+X)Ah}ou zhM>;8Moh+FOq^}f=_$Q7RcgR3Y{Z|#c321+&0xq99Ry-9V-%2$<(jN=u;V zNHj;90jo!9(K|V4q$olPL3X>HZRfLbG8f`XBoc_jgLpg^ox!p>trX&5S#2?+3@~Oh zkS2mM;a0%Uh-BmWlpLg$zHPxmjL}+cBV(cm200J{;<7pZmPQk`+W$|rSjMt#R0j4= z?|%~8bWQ?;GB6vSPa5ch%Zc%qBBV+ZLnxfo;rQCoDW)573bz??0#GXbQVy{*GVjNl|xRZGGO=~@L8BSWyIuQ)65l*V?P(`#!ONZD8kNo(;b$y?gFf&vKgL$wK#hal> zIXB-iuLW5VE(&k=1^9&B$=yl1o*nhIinbTbFZybjK@ZnILOsmweGgwhd64~)lby%I zvVU@2GiNai4?rLM@a*EAFF$LpU@`-Ag$1liyYug}zf}Rrh0{rv;`FauGdyWC(Yn~X z!lpH^*^ax0_UrDOIrldmaP=~(;{~0alRrMcox3ii`Otz>@PjSSIxSbDs_u6Mrs)fo zG|KAF>GpyJc<&QQ`Z|E8y-&E@Nx3GrA>8w`m}Fw)}!DFfydL@@2bce_8Pd3UPETkR`GBW5S? z^BUv5+0lKAbSo=~=jUp4iKAdyWKW9BTHIOq^cZ6z XBcZ>Hd6Vd<_FwH9RT}(l(rWiVg&=8- literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/icon-del.png b/unpackage/dist/build/mp-weixin/static/icon/icon-del.png new file mode 100644 index 0000000000000000000000000000000000000000..08582cb807952e75f355040b5caae859d2dc3cef GIT binary patch literal 1394 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%xak-5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8JrcYiMR=Vqj%tqyPmhm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0z*Q}aq-dQ%X3Eph4vC5PMspv^9+MVV!(DQ-pixe8!!TV>*Q ziy2Pypn6kqyTu%*UVWfr^g)q}6xlE#Uk(*e%jOCF^Sb$TdeNOC+(Y^bLYfz`>GjD)>+D7bETCPtTHG4Sfw$urF3I<=<77j zo1FK2|H)JcF_|6M;=Doj?C#JeZSMPF0ot2b1K8IrTX5ly-Pm%@0Ark2i3ES)#9ghUe>9R^xTx{vvI0c;>AfDR2Bf? zgLrO(dHg%S{8UrO3-0O_lG9znPM~4O9wxy85}S Ib4q9e0DYPEbN~PV literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/icon-edit.png b/unpackage/dist/build/mp-weixin/static/icon/icon-edit.png new file mode 100644 index 0000000000000000000000000000000000000000..9904467b3158f05f162e454004980d60e47ba6cd GIT binary patch literal 2055 zcmaJ?dpK12AD#@Ni$pF7od&7a%$SQ|CX>s|xSN<1`%9ZKb7ErV95ZLkkaZc_iIwzI zn_5|2q?N3&659A9I;+jEM z3FBxK@3odO*L zVHOxI@=26}TN1e;g2WgBU5Inr1h^_0sDKzm_<&LzE0HmjOxy=u2D;Z=6LG)?2ol4@ z{gqT$U=YB9q#)o#py351suSQ$Cy;0qDxK~CkR3@bL`N4QiGnB57*t0FnGAeS-~)9FMl0`!>z+!2-MhDh~ ziX=ivAzS}}6Bx+wmB`( z7pHl-L^K(qX1Me!4U@+PWU$#exvZE~2AF|{a zmJbhg-5E$VBxOvk@ocDx;I0ccuyl#jQ~RU>!5O)|4F^0uwY;D3(^73pY}G!n`vtl= z9@wtWRb}WKuAl6**E!@p{6#VTMEk@1yxD7y| zLGtIg5sOht#bvpdx(}z9mwT-$LM$=m7TAv!X78(Ki?a*u51M86m5mWPsti%SQKjl|K5x5F5UFZ(D0}ejVKE-}6{ic6K?)PuHrbZw?qe`J5ee>kWOj z<-&=CfcEP8b%lFx|9q%P@$61uTld;Y*UGmJ*}0|_H`h%CBRkIM)$7a47vJ{JcQTpj z&-$v!q?;;@s&0+yb!=W~d~#nr_L6_a7uVjY9Drx9i*B^E{$W)emGLI&nQryuUh|%D z!RMo(+Ea|Vy6mVg%OJHlXo~4RQ+4_eQQogP-gZSkhq7U_HJk0Zvx^gqZq=!0jExrT z*|^_V^{ZT;fO45L9N7KdANQXR)MKe%~<_tBy&^E z7P^v-9GbC6`8qzJwfnF!_voz7z`JAnW6Z60A#Y7nF7d3*weoixhit6bAsA^mop82d z!xf19Klx{yz8gqsa`6A}67u!bw%EG`uwBKbrZ1gVwN3Qgy_QzX?jC%zXSI%t;<|g| zP}aVhvUkJ)GtwY3&Pd6`_S#Q!I}e-~)Dkuu^d}GdU(S6})MLscG`#(Nhd90eR_5dJ zS-Oy(^P8cY+U;=sd97o4k=s`JxTxc7O=^x?xppY47UqoU2(R|HdfLbNFlo$h;@zGn z7(U6UHJ{b4{N|ug4I6!_FzK}_Ei<0p15KqZno4XG^C}7+Rpy@)L3WM47NZYzD|0f2 zle@QeRIXiVkkR>7(!NQ?QowQ`(iyf-NE_yw-S3$&DmCG%UWsXG3yUwj2)S5U9!F2x zST{{NO^KCK(hoe!D)2kjRpL|Jw!D*)nG4xA4jnw55&nJqFB61{x37~YBB-7vE;wQY zY{Y5OQ4Trbt6CLhM`k$Z)@<%~Qb5s=k-y)<5Q7 z%6NDz`%CI3emL2ulVmpjo|?zPwDoN?waJV7_86Gq zUViPysS3;0C1j3TMR_ohzGA?;zd`rjpmWfmb(!VhtE98b!h&kICzf!Y;}@TOuWgRu W7C-Fv9?86^`8E4;xa@Mz2-TnJGE(0F literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/icon-jia.png b/unpackage/dist/build/mp-weixin/static/icon/icon-jia.png new file mode 100644 index 0000000000000000000000000000000000000000..e7de66a5f4f87364e41fd3d2ca14e1e86e193282 GIT binary patch literal 1074 zcmaJ=O-K}B7@m|=B*lm#J53{mK|6o$t~-;Pt26#=y0WYT?k#6$KHWiQzH#QWT`edr zf}~I(qCG<44pM?j3$VN#;mPs0|1dJ&~I2_>ignjiZt{v)f0%ZF{7lH=D)TXFpEKW+$0c3y< z`ZUfTAnOI13)cAs;TXxYT!>*q3|Hslf})=ld7j+*D4fmF`^1FYx|Iv>!c-a|TV$9_ zCPQcHXz27aoFE7c%QHOh!x27r#6oJ;XSp?b1{t`TW7x=m7U?mnDL9P66jr)ff@yEl zTJBbxaKo6aYBL~uMWyA(d0=RJ4(eTCf)p)6FQF4Ha zprb%InD1gd4H0zH&?Y6x>zY8;_8689Gw#tGCKeN;mWxzN15r6lVHVmjbdhTf_=5pf zZjv~G<62}P5Nd7>`Ga@}Ng=*DkCmY|Yyu1AvHA|Sr6AU`gK6W;GH{I3KyP)RN#@EH zjlx=*3-WDY^}<@Df>;KNVZ6)z>$3Al*g@WM+q!tOZGK>3$2-{Cwaor`{4DN7htmCrRiI5mYQZ(H)e(2x$2Uu3k#96dnewlO+>4RGL~5R V#(fOzDOvDdakQmNzSrD4{s;MtTuA@` literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/icon-jian.png b/unpackage/dist/build/mp-weixin/static/icon/icon-jian.png new file mode 100644 index 0000000000000000000000000000000000000000..bdf0bf419dc3a39afe8f9446625c49a296f218b3 GIT binary patch literal 963 zcmaJ=J#W)M7`EsKRi!Slv`9!N7a@>{&vu&BXVtWhFKwgNQAr~;6N+PB8>_X?*w@+( z3u*_%FMy4Kg$W^6kPrg{1I&m&!7o7KoF*v)sipIM=y{&^2z<{F_e!>GM;7V&o4uIq_UcWycjzKd zTzv>uGMx(qggGD!j>1IG46(1P^L2gN5d}ebSa}rmqx&{ z@~$CpZ_f`snkM)A9NX4wVZxlyB{gh_Tt)JIPghK2niy40OF@cK#i*iLrlu@w>avFA z3LbJXb&mrQvLV;IW8%>V!Z literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/icon-layout-other.png b/unpackage/dist/build/mp-weixin/static/icon/icon-layout-other.png new file mode 100644 index 0000000000000000000000000000000000000000..5d08815d997aa796dbf01c9599da80ee11d788f5 GIT binary patch literal 1674 zcmaJ?c~BE)91W+6B5g%fl(-YB1>0n^Nx&o!7|aF;lE@{}DniI^Ai!qBW-*6W@G6Q| zIX$pikxD_OQpE!i7#X#Q3Mf!@a6q6!r4}npL8;me1?(TCJG1*8^WOViZ)SIe$OG){ zob6~dn!Pj-4x`q^=6AZS`CH~Bpq2%sB#I2jRis`)pfo=Ok3#_|rie$wPz7R4sYktO zG^?fRh$u2j7A#ca7)xQsund@%V$*2ez6PyAnS_!+92&3Ih!_J`Y8ZeT5i!}m z!l*^TFjR-95=v@tDpzwTtx!y$3KAzGa6EaUiy;X(iR%(@Eg%+~yCwkK)~GcIuGhJb zabz-~RHGvm8YL=)MGQ)XrB)+CFU;T<(-yvmG!k6&Xee^#&C2CvXfHD_f|ZIv4hodgEMV>Rg~HxgeDcXddpr zhCOjbImo=7v@Ug+G(W1L98XZz7S1MyX*A2%QrIuT@Tez$WkR^0<5xK?=MUd#iTlIG ziOJfuwX%7yqqPKnQC{j6RNm*mJJT-O@%YS8I5cy=#BW||_eo&-vaTTQ6Zwa{x&2n~ zDJ-s~<$|<3t>+jqf9dc(i_|Bz2R05|9&D@^adl5&Mq1e!tE-*%mn`xhx)fHmZMBMB z;+CG>`h#;%?UzmSy2u%Q)?Um}eUr6qMT$jVv3RlR79X>IT-u>)vUIK$JSuxoxOP*@ zmg65CX11lf0C%dB@~Y`aLggJ$=IYW_vycU?f=93T2SdU?X!+vTPPb!A_JHafE!{S} zA;D{1OiYh&kcr=sD5z=ZWqm!p`PN9sgR~3K+iwR=4!umrf$nqdHE;L2G)eAAxbyPP zC$671QatBqrN+N9y1F{7x1#E(t^4MzRioB-2j9kir|`Yo%O44RGpo_JsTR7Ix7jFt zo}1GiS?pc0+rT`yrAL*Sp`A0TcPrTRhW&id>b!f!Q7E<*C?mCwX{`(^xX6ldl- z2$!u=x7Q(|b&~J15Z-~jJwuNRj||^ytIzrL_okJzOO%PslnfcYMA9f$d0qb`_qiu_ z&UOT~oZb9oDvFpvhSi>^^9i$RDT(%;1>)%k+lT82s literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/icon-layout.png b/unpackage/dist/build/mp-weixin/static/icon/icon-layout.png new file mode 100644 index 0000000000000000000000000000000000000000..681d14b9db5a8a8e329b14f17a5e76bc51001300 GIT binary patch literal 1555 zcmeAS@N?(olHy`uVBq!ia0vp^@<1%h!3HFQ(zY7`DajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_cg49seoArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XQrEMXkw~hZmDNz zW^7_h+i#(Mch>H3D2mX`VkM*2oZxQ#zd*s+85C-k3L4>= zc`5nj#hPF}zP?tTdBr7(dC94sF1AWQQ}i-3Q>+}FOr4ya3@jbZ%}fjpU0p2P+)SJ- zO%DT9`Zb57Si!KwR^9BLI|4iK_VnvVY6H=!h(sq&F zxM2eahuNu6HW6;-rX@YSEQ^}T1berepTGa+oQ(FHd-u-DJv+F2d-3PA`uExQ&U`wV zHhIm3r<#k?U5*G%ys+Oy_00W~Mbm}0I`gnjT_Su&#Fy`g!Drs1dveywXkDL@n_;iE zt^AIHd9h%Pfl&Qq|E+!2<|Y+qEgxI@*B^L(;Ihv*t)7ZZPs{b+AMT$Y(%i%T@4;S; z#qAGfA6YeZR$B1?`oj&;60+SqzttblU(5Y$f=pY$`<58z`&W-QTg_X&r-ZFTGQ2b&#TYU&54+4z9wDp+>!;8z8Rfn`*d4()h4S43m@F8__uyZhInT9LFXIK z4{m;NXil^FfxDe0(`+oxed6OgQFcws`}L*2B4O3B=WqYpQe~DifAK2)jVDBH)>jm4 z|0ZWqH2-qeivoGYX>ArI@-?%kSWS3caN*hOi?V$$N?sH!OWN=Ee9?q?DFzGJHws+5 zeN*!O>+j~ifrlkbmsXq<V6KVwZ6Uuk6wIRwN{c(_5=f}9Y?EBa6*q+?@*T&+!YHWG< zrmcp*|L7h_<=mSq*&*Jh@wmIyI_c}`fQ&Uu`G2kmYj=J#|Iwv?rAzWn10N|HOf>r+ b-oVI^B=U;+U}%>fsF?P2^>bP0l+XkKwNG0D literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/icon-notice.png b/unpackage/dist/build/mp-weixin/static/icon/icon-notice.png new file mode 100644 index 0000000000000000000000000000000000000000..58dcd1603f5ef63ed8ed2a5431c0d685be792edd GIT binary patch literal 1405 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gjk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+nAI{vB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxOgGuk#8koDQqR!L z*u>ION5ROz&_dt9Lf_C>*U-$$#K6kPNC66zfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7I$DAX(!G{Q6U zQu51-HNkp(eXTt6ic1pnl2bihY?Xkf=w)W6SUDM)nz=eUxj34e85&k8o47ie zTAEt8Svngy8p8CtEaktacj*qOAls8k+$omO9WVsGF$VD^s+}pMrvrX_^LPE;xLoj7$C^qJaB z-a0uh8w5i`Urc0VSaon84pJ?;5k&sztB`llU< zS-@=4lr_Qizcxp+tN=^;DwbV`;u*~jXiBhucfI({lw$2STwfZKA6$GhyWOxh zj7c~_(qilV*^@U4YcVc-cllr5z9Um#a8~b|;j}3_fcu&6Ki9`|C76meb55(RczmzF zN&9lySt+JR8fLeBesOMd%Xg7rNOQLwx?Q(FtaK=-hML0Pf>vNrds`k`}zq| zHcj3I9C;#4sY3A~>ER)fdhr#C=YN@=-@RgXP_TQ()FbVs+hSJBDQgwa*x&u5hEL2w z@5pJ@jn+;I3CZ=l56I1)nfNkcLaE`>4sMP{j)?67FW6`LNEr1#)ktzV*Kx7i&B3PA z!EOfQ(Ff;_bv-`w^X?lL?GI5bUyHWBHDlRx=I3L(h@Z=UC-m%GVtz~I1=~guq2m(P zsio?_9eE>?tG8V~bp6Nr!}_aJW_GU1WmdiOnJs|zlf}O?-}Z2aS;l9@Gx0DyQA&zo SNp95v6^Nd$elF{r5}E*n()FGI literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/icon-phone.png b/unpackage/dist/build/mp-weixin/static/icon/icon-phone.png new file mode 100644 index 0000000000000000000000000000000000000000..5677239e23434f7c19cfc7a1bb8b5551b2b5eca9 GIT binary patch literal 1835 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 r_oQg$*TR5_`qzKvX literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/icon-screen.png b/unpackage/dist/build/mp-weixin/static/icon/icon-screen.png new file mode 100644 index 0000000000000000000000000000000000000000..d100f7e53840b3a53fed83a57bbebae020becb74 GIT binary patch literal 1349 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gjk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+nAI{vB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxOgGuk#8koDQqR!L z*u>ION5ROz&_dt9Lf_C>*U-$$#K6kPNC66zfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7I$DAX(!G{Q6U zQu51-HNkp(eXTt6ic1pnl2bihY?Xkf=w)W6SXnq(ni(57Iy#!085%Z6Sh^Uy zxfocO7#o?HIm7h2~^fOyYmA``x_v`*yysTwb@g^820gf8QU^sXpFy{PAh04#N-3 zU9JYz>}DBE*EbzzoW5Yf{pSvv8){hc*kT{B)vS{BNDvNbuAIQ)Zs$IqNnYp6GOOG= zy$0q2j;LCe_BuuTz3!fzl{N?44~Xc$pB3&N z`hbzA!EM8$pUe1;SXjD!^1WP^dHdy6ngL*$=$RHorAsVRKx1 z?7K)CgRJmNh3bSX(**eNV*>uBp1eX>Bw2S-Fa^PogW> zr4!ont+sco9%Nb7EHnS-Z=2a2_kV5V{jK`rKHJ@c+aKHuc@W;f$dJPs_Gii3GEY#! N=IQF^vd$@?2>^N7<6-~+ literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/icon-search.png b/unpackage/dist/build/mp-weixin/static/icon/icon-search.png new file mode 100644 index 0000000000000000000000000000000000000000..151b0deeda4993012a1a7e18fd777cbb63abb8a7 GIT binary patch literal 1833 zcmaJ?c~BE)91S9e5wr@9LaP%u9S|fJ1R}(f(1oGrQk0@4esgy>GTiBL2>s z>`x|5FkQ{uFWELaLFRL0yE zID$lS4Nxb_ak(fSRH9nC!ik|9v>3rAks=}um_nHY&c5YWQ7f@08W5ItxR03UQgV(#2#0F)09JVyY0 zOiC`2P=u%srf}$7nv%ulP+Y3DW4vIh^A9z zf>J2vQ!HX70J3o$0~w5hf&zL$7#-DRF<5*)pTP`egoe@x1Wj*5aD{<}=&5505Uf|~ z)EKTt5sFh$k%8vn0)WW$V+mU9vn-MTw?Ps(em%?B2 z{ZC6FC5Wm27?Fi@z26*#I(L{ZIH7bV#!j_R{fj3N{|yT+%?OI9N) zv_K#9fg=)uaflvQAWAq65&(n>U9DDu94-{iW^(yaJZ>0^6%Fw@LVh%x6$8a^!o#`j zm@zJdD)Y23f{$@kU${}@a-DY2Vnk#J)~WMhRg4bRQa+Ros>jcTH?H0%u4?>T!pG$@ zh-4Vf!~NG`k8KeSa!x;6msor@Ka3EL*Adpf3XP@_H)dxX6qRVWf4)K;o0u?bW9`!H zgv#jR%=wCPSd|GUl$YBi@^1%g*G?2wKsL*ags)O0(zdr`%UWB)+?2@0VV%|2t^1`G zYwMlL_#pO*F4sPL&*1Kz^`Jh|(7k)XHDh1Og*T17OE2=j<^uk0uEuo#SQpo*h++5T zi(Jo54Q|r*JH#IJ9miH|YHDWI`5ku=a=QFtuUJ;sO=eqss=W*)b0F3Fo607n-(T~F zDxMkVJL;}+Tl1Vez_YYef1|2+c`Tuxw8|cKYvOXgsVF`4SC{$Cu7e&2(u4YVL-`Z4 zEFJ;5r5#PNlK3)j-z?1g0;$LDzBzTSf&N}O#nH3vfoIj!qfOYE1@@RNljxoDfpvDH zwZmoYtM}Q+Za=}a3Nl^y;>a-R=ce3-hJR(FVOqje~qdx-0s zyF>PN=Zm@B>_T!<_5B0A=Mj&k_7zmytLeUly*Hkiyyrk9)zElVMPY5b zg0E~i0-Edht~oNZw;92icZY#xflQeVopod5bA~Vwvt&E?A(A;8fix_DD9NVni-B)pjnz&^~;1uoQwuf&9oQLCbxj1XSJYtaIc_6VfMM4*C_6$-oBA5 zuYO*e6j-;!Hrdi2w8tt>iobC9j(%?W#eY(%!|s2>{)WG z9YP9)1NH934l-CLi3xU`-EL0Ke^faF6|uKR{s8O?JQcBQYFYT>)2Q{x+r_1tir`8* zK&8cB*Cm~IFBlX^ek&gE5tULeze~5a9O&Fy=2mm3a(TXKc8G75tu^`T@Il2%?>z~t z?*$HAzMvkIR+#$x(#tN#2A?f(8)(l<67{5I`M)PGza1KociP9JaIx^j$?bMg+KJTC z{Y8HpJP*pMLZ-i_iKoNSOZK@M?uCeN=KncbK7t&)cZGed?7qili@5mac3z6TV{6Vr z+AaKa``OLPr|L8H@BM=`UhBGgdm2(l%fYfyt7VOOq-dY~l51*X`s+r;>}EBh4D?=E s`&82iw_iHy08X9z{q7UvP}+JIlBv)>?eOZ|-Ois^T(lUfS)6Y92aX=r&Hw-a literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/icon-share.png b/unpackage/dist/build/mp-weixin/static/icon/icon-share.png new file mode 100644 index 0000000000000000000000000000000000000000..846601da97dfe495805e9793ded341dcfe9f5bd1 GIT binary patch literal 1314 zcmeAS@N?(olHy`uVBq!ia0vp^k|4~%1|*NXY)uAnN?apKg7ec#$`gxH85~pclTsBt za}(23gHjVyDhp4h+AuIMt7V2nltlRYSS9D@>Lr5I=vCwv0Ch7k*w|MTBqnF4mMA2p zrf25aD!t#mUr8Y|#a1cY)Yrhbz&SM|)1#^=HMq(zB)KX(*)m1R-cG@$!U||WZfZ%Q zLPc&)Ua?h$trFN=DzM-+Mp_!G5ft8Vw0u(3#Z7WJivkG!?gW3h;*(zm}loVL$>z9|8 z>y;bpKhp88yV>WRp=I1=9MH?=;jqG!%T2VElw`VEGWs$&r<-In3$Ab zT4JjNbScCOxdm`z^NOLt1Pn0!io^naLp=kKmtYEgeeo;J&4sHjE(uCSxEHIz#UYgi zsro^w#rdU0$-sz9QwCX8VC7ttnpl!w6q28x0}I7~jQo=P;*9(P1!reas97p#glFcZ zP^Az7E7FZ^?{Dj2SqMYWW$7jDG0=bCtV;1p7>MqfGNHRn6zif@_b}qV4URX z;uunKYs)lSZ)QhBdX8xO{uL^@o)2dF9XV&Xm>DUNS{V@z_DT8K3%> zzF@z`9OfYRrCI;u?Vtv=`;CZ*m#TwHdGh7=EDJUfop+hV`PE+D zxvU0Uc?X0l7_P}rOgSi;(RFUynThKfl>=D5FDW_kYO>+EWC@=Jp@M^~znAdvUTBfp zuaRM)-}JcQOPFTte3`5;m(7tIj{h|e_`W32C?)jaO;1fHmgISJ^P29|f6iT)e*4b4 zrlJce-p&VDm1A6=8gQ4me0m$xZXzq#e*5(X?visZxo>O};>>R_n#xXmKS6rQmU9h` z-ZPA!{=T@x!`pS8@};NQy&=~pdo`bYb&F~HgCk2gTnhxYG8x^e_x$l->VBS1lOKxH zH*|cuzTszmf>cg}>j$1ohThxx*L*IXyYD-n#q_kEKUS~2mgq6+#dk&-DtQ(c&S~P> c`$I5+f%~-ipB05suR*1jr>mdKI;Vst01=teXaE2J literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/icon-spot-blue.png b/unpackage/dist/build/mp-weixin/static/icon/icon-spot-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..44a7654571616288d122e769e919f8bf50677617 GIT binary patch literal 1056 zcmaJ=&r1|h93Nc~l}yPFT8AE^L_)jsW5?Z{!Buy6R$X&M)&&y}<9*)x^wd~; z+p#u^qS{mAa+=J2WVEz2lm9L2+#53W;A9rhpm|(S9Z1D=GzUS-R2N_xs`~Q9mvE4x zd?$@e7H5@7Nke8p^)P{=X%jX@4GtG=Rm(#R=HP;1Md@!(p3%V2qx9^6!YXzG=8W+b z2hOZaWwe#NChGL?5Ev{p4 zLVk@C20&O0aG{_eil+h3auJ4&FkH~jg(QKMcpg+gnnZK-c_}TAR%4M}l+IynOAJ#e z6as}{067Z`CyFA&@(j=W3BvC#TUagnEw{I(AVXJk3>zEB0-mBehn8@ZCYkP)VA}h# zmRoHTX&6&fZH5c5UP(2eqWm9fn)_%Mr{O`q{}gsJ%Qj@v&_zp*MlNo?*9&D!2?wee zIT?f&Yh9eqA&lG{vOyx@bxj1PW(`Y61-HM#Q4}d{DZ*yt6Bx*oj@f-+H6r4EeEx?S8Q~o7kc#OaoMD4s-PgG%Wl+|OhAosMbX8X%Yv-7uK^1~$BJ@F0+0;0QAq#?lC+Jo< ze*g^e9xmwf^ZW(iWw{W;h8WK0=7NHs6}(3%1aDa0%&V`OCz zD%QI=UO*Vx1!RI)%;_2r&Q5BEic0oim6J*dNyEmnp}?dRp^1t|(^O%|Cq>y%A}WUb z366_Pp@bNW`hDz>=nn)%F;?eFNSW24f$LoLkQ-~tb?l&R}?Ld1j(~lN=jm;{5_}M zTwL+x`&tK2fvqQNYg{LEI{$R>%=a^xuWE_>ztNqzaA^Hh`ZQE4+ewfG0{P)y(e literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/icon-wechat-line.png b/unpackage/dist/build/mp-weixin/static/icon/icon-wechat-line.png new file mode 100644 index 0000000000000000000000000000000000000000..5478fc2f63d9890ad58b4d62e118a51bf1448015 GIT binary patch literal 1830 zcmaJ?c~BE)91S-j)C;LVXxH_sm^&emNFXsG8YIXmsX`^khD4KWOcn_ODq=O1s8d0r zs1y$b5kWkt5er2sij1ImRKWws0}%xkDIOKOQPKWUx-+}qG4H+K@x5<0J0g6pn~RqV z27_@E%;QC&<7D*padt$%Q{x>h=-`Qjh>&Plj--fn5QZazB@iG`i<6)zNGwZT-UJ0= zFm}_GF(O1H3}Z@RH9>5}5DaQ9%En*11+d z6p#NY7P?}A3Ix$IiNutY6haD>0PB*7WCnvlBvFVI3LZt^^{E;}Y`|;uQ-&3IkY1`& zY7r%@0j!E*37m|uKs3{jC8)KZWi|RwZ9*GHG>ElCGJ#|*X&5LJ{y$W${*2ZmQP7us z|5I2Wld6S?QIH-^)=ANWlTWdR(lWU^NQ}U`7#LO!cQHZ%Bd}fpYXL6T+BF97U7S)Q zgH!Y~KX8OXra+@d#2P6i;ITkdg`iZ*nA8v|hZ8{Yb1T0Efe2kSY8*dqV;h9b=bpOsDrH2&(=j3pUn?xP{->~Yqu5l6r(pLU%=zU7~0Ft8H$aO*t31r zHTZ%-RU^IfK|w?jGP zgR6$tzwVs=s#}&0h+OHH^>ch#()RSNE534w$+92oL^wGX_{$q>$F1kzp6y({Xk3*? zxl?Q+EtueOAN=NzleVibHVRA*ci7X7gFN2q!<*~wc@EH5?ltZ6G9{F~BzCg0H!N5E za$mQ7e3jR$OrOr|wm5dCooDIewx%bW*J?@jPvYJLX_Y6}xXD9s(%!x+Zz^Uzor_o+ zhA2|(idgSi^P?Nq9N*Ejsjw3l9qD&KGKT$aOU%SeE*_a@UBgE;I+J{OZQNbmSqZ^Jfk1SJEB-T{euKA9dl30T%tTQ4@P- zT9r=P<`#Z&c4}wPqvABl2?v{gHo2oa{)l5%*W(js<83`(-o_FJCT06P=Z$WzoZ+$G z+1SirI_zj8EVk>$O^P0Zv?zvt~~vzwaLVS4C00|fI1V)5qY$ks8XAb)LmXEB{$JMrMc zqZ4tK@56R;!g$vY~87kJtJ0qVS)E=f8Sb?A~E^*H4e??YlT%-g>O2e#JE-@103` z&$LKbt95H0FgTV!**9fpV9x@ZQ8=e9Arr7A0X61Jcuhvj>8*TU!}`*P*@yf$r(Xzl zY0m79PQz|{N+fTw|?YIWiJ$;5)|6GEQa9+in#I^qb^ikG7 literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/icon/icon-wechat.png b/unpackage/dist/build/mp-weixin/static/icon/icon-wechat.png new file mode 100644 index 0000000000000000000000000000000000000000..dfcbc65c7613e9cc16226515e452db8bb2d16a65 GIT binary patch literal 1845 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 KpUXO@geCx<+O>oL literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/logistics/icon-logistics-02.png b/unpackage/dist/build/mp-weixin/static/logistics/icon-logistics-02.png new file mode 100644 index 0000000000000000000000000000000000000000..44a7627558559bc67940c1f08303659c115af226 GIT binary patch literal 1266 zcmeAS@N?(olHy`uVBq!ia0vp^q9Dw{1|(OCFP#RYBuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFso&TM3hAM`dB6B=jtVb)aX^@765fKFxc2v6eK2Rr0UTq__OB&@Hb09I0xZL0)vRD^GUf^&XRs)DJWnQpS7iK&9QrJkXg zv5BRnj)IYap@qJIg}$M&uA!NgiGh`okpdJb0c|TvNwW%aaf8|g1^l#~=$>Fbx5 zm+O@q>*W`v>l<2HTIw4Z=^Gj80#)c1SLT%@R_NvxE5l51Ni9w;$}A|!%+FH*nV6WA zUs__T1av9H3%LbwWAlok!2}F2{ffi_eM3D1ke6TzeSPsO&CP|YE-nd5MYtEM!Nnn! z1*!T$sm1xFMajU3OH&3}Rbb^@l$uzQUlfv`p92fUfQx0 zba4!+xV7eruePhB1p5ce6Z;nK2c*VAK{}29u()0VAXJ_uLy#IDj$-ne>mCt5+{Ot{t2>+MNf9~ml4^Gz1 z+5t`Z7x)}aGukX?w0Zy7V*WhQHenj8o&7Qk>6y8Lrx+Km|G=PZRx-i7FXV>B6PDjf zf7Up$*QoB>cz(nAaGvfjE`bg!M7Bq(Wkl?az7hT~nbYd+rp&KAnZL^Qgx6%AH<)=u zO6SV%m%$R6ueh51r3G&>pSHQz^4n(NrNsV%IXl9hd^Nw(@O+E;^44t|p2j_3YD?gH zmmqDo>7QTJ3qGAgJUkaf-|VVUo*S{_Yg01YJPWpe9?Ua)0wkl?l)Z`Y;JiA^_V(AdJ<^NX~ f99CUk$11@v^ONI#>z{kQK&6nUtDnm{r-UW|?lZw2 literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/logistics/icon-logistics-03.png b/unpackage/dist/build/mp-weixin/static/logistics/icon-logistics-03.png new file mode 100644 index 0000000000000000000000000000000000000000..86969e42101ba1163b176687bec0ad167e5c76fc GIT binary patch literal 1772 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 SXx9=@MdRt}=d#Wzp$PyBgQ(L0 literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/my/nav-02.png b/unpackage/dist/build/mp-weixin/static/my/nav-02.png new file mode 100644 index 0000000000000000000000000000000000000000..6bbef32adc1cf8fd2af97ed12667186deac8651b GIT binary patch literal 1951 zcmaJ?c~ld39#2;(R;nNYt;#VBBmp5OkYftCDMKVQNg<>)J{6iw2FOA(AsI|KYFk%Z zQeAh0Eo-rWii_HckgkG?qO0K$eXytq!sBRA)Iv?EZc$(Kr%m0adF|;!3FmLNFae<;E~9Is?Hbk>b``3@RiS#Q`;%t<}eauIBR~ zpw+~K>tm%XsUZ=~(Iyue(exsj0x8Nx1R8K{0uX0`2mu|6s{o5GPj7-O@!)e^h}gTY znIP~Sg6GDAzb2)WrUHqW5d~ryTsp#zi3NB92AdllBM?LZ92T3;Wbv8oXgZq<#jqd_ z2YB&-L^Pu&3zEa47qN&_JeY&y28hWto6QV!Gy^kcGuZ-xfXU)8IUG8HpqmQyxXMD; zn?mOlVAO;dwFX>^=>fN*N{toZ@gR}uuO;XVFJ<+n7i}UM#5mn)sQGsE3b6rf$!Enr!gBgIt zM0eK&K=^vCUW1uU5zjeNDJ0gLaFrfG#c(`Gs4%oz4a7_0u|!;!K*-~9*z6=&z>ALI zC-T{R7>}&|ty225?5^74S;Zv9HyzYEiutc*M2BE z=D!x_+HB7Bs%@9+ouzyVqYPf%_q6P)fi0ATOhHv$YkGYA!kM>wuP)E@9sT-<&q-(X z-gl-VrW%!@pOpOw+G+c~4Ib5$_e*_yo&NSnp>NQc=7zeqK7C1h%Au>52Of+r=yBd* z&>t%uu6V~Hsbko+wdH(7WASF%;MDzPh$R&)RPVdT{MzwK{lpzo%M3Y^xe;`g%JY*H zMMJbN9O0C436V)*kodd70*)XX+M?SZJjz-O#j9pvYI%_{M~ReG6zzQzP=9-w+A@iEEX4U zPs0*6B4O7mROGN{wO)rPQ_azyvpzM^CA&*)9i;>^LedxNHS4+g#>1{14e+u0@I^h5 zzo)IS1;xmz((;Z1s`8aTN&ga)+U2?P9k@OUI(Lfu#?U9Fl}|QgbfeXEf^)SrI4-66 z`a|{6$JW5ch09ruewFVoYe_l%q$qMpc}J$xi_x+|HJf@i#UrqlF+hsl_3nX(tc!hb zC7f^U-E%zl(|f}9^p38iNwWWq#S`ed=&j|$ClcB;TW!O)Wkug~o68?ii?&NApQT+n zosjjT z(Q}9Aqt!c`Sysy9*}*S^4{R<8y)%5<*TX{`}pKA3(Z^ zo70qJO)&RUWkg0c+5Xzkj2|wZXlS44Sby&q>bRpn0HHYZ-?KmMf#v=oXZ-Ph@%jT? zt*?#JEH}n2)N^m67sjf(Pi~RrH#wnc^6_oetsA?Z)JBbEZm;ZGTAAYP?^cO#=4&23 zuFne$KqeD^u7b;|$EfJX&&aD=7iX8O>>VtYTP+JukVhtF6GCL;-%r{|3rLX%TvAru Sy&?B6Q=BA&kH7W)w*LUbm>l!~ literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/my/nav-03.png b/unpackage/dist/build/mp-weixin/static/my/nav-03.png new file mode 100644 index 0000000000000000000000000000000000000000..9184639416d82cc599c4b263f5f1fc2651fa9521 GIT binary patch literal 1769 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 XxVrR{YgpG!$KN14BvO7pSZVzSX#{<% literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/my/nav-05.png b/unpackage/dist/build/mp-weixin/static/my/nav-05.png new file mode 100644 index 0000000000000000000000000000000000000000..0c74e5d1711d15b38faaec72ea184f3d82649109 GIT binary patch literal 1521 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 literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/my/nav-07.png b/unpackage/dist/build/mp-weixin/static/my/nav-07.png new file mode 100644 index 0000000000000000000000000000000000000000..e608c5e9a5ea88afa7c79fe6bf5fea9b0afaac22 GIT binary patch literal 1563 zcmeAS@N?(olHy`uVBq!ia0vp^ia@Nw!3HGRHG}T}DajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_cg49seoArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XQrEMXkw~hZmDNz zW^7_h+i#(Mch>H3D2mX`VkM*2oZxQ#zd*s+85C-k3L4>= zc`5nj#hPF}zP?tTdBr7(dC94sF1AWQQ}i-3Q>+}#EKH1Cj2s=!&5aBVU0obaOsS9bRt2#Rn0$NxuPhVAIiv$MPFe;9s0H{1OA z|Fn0u&u#W^f4U`orPL<=HNns8n;0)J-f}Q|#mn6Np!I?13l?=}HW$|gOm`UPJEUHb zUal0kU8aU%>74$ib{;dg=IBhnzS)la8tm_jQy|hzje^6tqn{ux9$2PY25W zWpwT}U&?c(Y4<$ox$K$8?9$7QcQ`Z4CHKzQmE!Z~+nv)#=J4roN9s-el*D#EIq~+v zmhTg-bJV6ub9;W6y=sdzZzJ1>6W`hzpMGWk+1=ZisdVd@+j1pO;Z5u3ui9y%ue!u@ zZvBRUmwm~L+@6ZOG+eiNtMua?aZ?+DJ!jrnx$W9oOS}CC`=Ym4uWa2p&3)yH{}L}G zv{Pnl-FKbVdhXN_+p??gEvC;6SUc;!(S~`S&wI|S@agecJv~wR&N{o-K34t`f1ef# zSFAl3&k#TPjBwPmi_cdV_deLx-Lq2ur_eWf$#vb1;hDEr*lywb7u~p>L!?D)ruWPl zbqj%;r h_Zu%eGH;e>0)w7!<>zm~4EI6BwWq6}%Q~loCIB+RQXl{T literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/my/order-01.png b/unpackage/dist/build/mp-weixin/static/my/order-01.png new file mode 100644 index 0000000000000000000000000000000000000000..1aa778dfe3e9c5f3729fe3127731f231f2a570ff GIT binary patch literal 1548 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 literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/my/order-04.png b/unpackage/dist/build/mp-weixin/static/my/order-04.png new file mode 100644 index 0000000000000000000000000000000000000000..668ea21777900be84a79b5e2ed7102d7198636ad GIT binary patch literal 1601 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 OfaYU8)f(leQU3+tfKO`x literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/public/blue-bg.jpg b/unpackage/dist/build/mp-weixin/static/public/blue-bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..02089a73d4143da63d1cebb0b3650a1a9adcf0ec GIT binary patch literal 46993 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 UIWW(Gc@E5T;D3?>3+EpHe=gZo4gdfE literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/public/blue-bg2.jpg b/unpackage/dist/build/mp-weixin/static/public/blue-bg2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d1ec574047b793ad8c88bff85b821cb3b5021025 GIT binary patch literal 55497 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 literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/public/login-bg.jpg b/unpackage/dist/build/mp-weixin/static/public/login-bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e5cb3f59f9b18d48ec3fbf96008f56d1f5e42203 GIT binary patch literal 15226 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 u-J!xOjBHD`A|WRbaO|}yA{X~r3ax8JXO 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 a0}T8bb9s+n`EV9=IE|;PpUXO@geCyck0W{j literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/public/my-bg.jpg b/unpackage/dist/build/mp-weixin/static/public/my-bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d75e4e06b1b9e13d5ae2d951f6edd852c4007235 GIT binary patch literal 70784 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 OOIqkI8Ejp0`u_m%up9gU literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/public/notice.png b/unpackage/dist/build/mp-weixin/static/public/notice.png new file mode 100644 index 0000000000000000000000000000000000000000..ed5d3b2bc5ebd7d6e65b1a3c38da607826037222 GIT binary patch literal 2392 zcmaJ@c{tSj9v)`6V>BJ)mSh<-i43!1%w(9&79-(UvOH$_VUn3?=7*UmOgJgD(Nj8! ztldi+PSgpbl5UDbCXqTsr<8Qut4@nMI_aE0Zuj>*zwh?E@B3N4?;qd%pgQW{$Z@IZ+yR3h27)Wx7g2`G^#N~9<@ zd$DU&lzq5JER>|l*MH`4ximkq9OQ`wfFFmB)~et{A|Z|G?aFbXIJ1}(S2B_4#bJ@j z&Kwq%$|iGMm=qFuiOZ1)Qj!5NxWpCy$z^|&yJ&}GsWvhPkcm{SAc(Z-H=3}J7Fy{fV9 z`Rq^aFW%|A4CVUi#@AeK|Fr7lrw`*7VR>zLY+84Q4n2sOnrNv#b1!$OP#yREVy=;qatI@@SWp>`GRK_@C*+cliK5xRbmp7n!#g*7L*$}d-8@7)YDLw z8SKURm2P?+=HU^8D~mTnW3D2GdYP?+eM45Z1Yt@p2ALb zyLKsSM{cjBL5CvIENj*SV)iQKHT-mpQDrNu?e5GY-U&L_3#SRRHM@bP)LDe_AjOna ziQ%#tOWcdgyYteYT)gcY(ieLC=Mi?m!1C-#hWx3~Bsrwm;jw{f;{oV&Hu6u>cUpcTQLrHmE>wgDS-4ar5KFS9 z;6@vWFP!vF1!h-G2859nzd%-XVOz*hgZ_gCS9bRx*=#m(KL7sCv>vDW>+jQ<=Zi5L z0vTLWk~ zv_2{4?J(j*o{wzP{xZ{(H`;CWnqoEmq&AwrVc7Qw^JBE-4Z258>x>*)@BPwu9m2Ix zTBi3845P~NR#rMq!N2}tx;IVq>^g3)x%Cd$&NVdGUw(;JDXeThXbO~0 zEy1^I`;dIPpxedyz$FKMnH|ct&eI^kKFohYmuIKDd}tm^gO)a3h+{;S-r95Oo^F`Z zq@a3Zqv;5zZg8D-#Ic}SO;clBWZ$#9c?WksGK9?rHe=&)gMIpU{#7A9lt@tR8_bT7 z?E?yp<4%~-6Urt=ZQocIH885;e?V3>G?yFL2e?N+pAxBoFyotgWlC$KYgqaaF*X>2 zE$oH~Mu*LBIUEh1JBsYura|;-0^e=!)975lJ%!w~%^6-1g)6G(nv77D3n7j3_31@0 z6!bBBX1@j9(sJxs%;^pPnfiT=E8SpL{d$hfg4&vsDk#U`2(V_8VNk)t)uI^h{6qQD z>@%5G(TKN4>N93^)fWO9l;5c@-F|fVNY?;vopPqd-#H_2SH}ER+rI5K9|dSiNcEJ} o;rZ|SZ$+>@zEQjF>@M&nKL_cYDPr#)>0c= zDBC(|2aJ1-~9Wpp*M*xSvBbHAS5Ih-xyONF(h+&imD8+FSIbG>N_{2-c;>lx( z0DMY8V?79ei3($F1iTR$3^;=>4t%ncGeD(*WEYAPjb;xxlE|(Q$rU0~9LO$oClcM! z5tw=iST&hoE1k{sovMZHJP6S!Dy2h^LZJW^6cCXKAu^3dgGi2$qoV_s;UJHfpgg66 zL~cFJz=Y*|nMjI?5D75J$csX@p&kTG>0d2~r8Be=`P7)Ofk8^16e5G9$(E)QS**WL z6^m!G3fw+!Z?h>U|Eann=W7>%HaJQ|S# z-rkc_qXD*|B8dP|$cdjYEEe5gB1d@=KJ3r*AYd$@NF<(A!6WD+jP;F zwNSsvH-!~^S&Qozu@EK(n!Mcqx$Nm9%t4dkjCHZijQL>+=6D%q?TEr7J8?LDJAbAZ zNBQvI1qo@3f|oZYQx%~^`Tliw|H^q+^!?k+!*_NQiY#nPvT_&k;>>c{zMSN@fPLD; zX;Q*?V2EBZ{tsP?i^GrwGA6L2wZzPN+J!$SPaO-a= zXv?Sdx3nOwCBH^EK5#_w?h9-580N3eKfR>O)$cJ-m!G5Sap&~tSSnSCIjV`OfNC1N()Cu?Ssm7M zD;w01XT1@wtUCQ{XP*Aqf12FZ=^hMqeRS&qF5ECzJCM~7ytg$q2cC5-5+4^+a#p)` zaCJ`z=ftL(hh1lk`+Euv(vx;;?ayU(RR0m3goD23HLBkU@7`jsw-pCk$5v_hvq;e`KuXvi*nNA9yjS;nk$9u(wrLd8Ww|SqD1=J-*_MUB?a` zZ1)`rjD>bCB&oT|rHNakJ}g$6ruYS4>-=H9%aM-t2?sejY8~~JfU@++pqD|a9UV(M zU>)vqP5qNBX~~wk6}t>8zUtKhvEW-B@N;k|$nSXKhCL9~;-%A_)b%4{mn|kPFWN=1 z-^DX|?7&^D-HW957zY-k=I9!mJj296$?gls+TtVkX4?I-;K9?nD{$#WO8*U;uwk-Q za7=#Xn)~h#$@!+;M~BC6XNT;@Zv+G-2L7VsmH4+v_QmiDw6y>03Kr8q%mY z7Nq=^=SneVk`q5}A8E`Vsd5#2p=ABqqrvrvW4(=9v&~F?>Rl5)pM8V}lA;Ia zfTK(9G_AQAVw5ndpM+1UZTipZ21UcEdUbu9P0AZc^{`B%jqF>fVZ;}D#VkH|lWbyf z(TkUFBXHAZYNm}T4`P6}!T?xHE$xc?% z4BSjr+LPCYG$l*YPd)GI#Mi{cSPV06j^vBLn_&#HvHO|f7Pmi_^ei5TweF2my*6H# zef|6jt)pG9BLdj;wFp1@DuC^G{?TNn&Mo^MaiVhhD~z1Ju3pKdedy>)YY7@7ZbHi0 zEE{d^GRt^HT8nq|naa`HLtvs__)Pbv(y1|EL5|+o8l6JtKxRam>6||h-`a)Ch85=b zN5;EiRU1M%#jLl&_JO)nABSEPHJ=_h;t()oUPhv3B8%u&4EmOdL_?*_XY{fjH|L&7 zf6K{cyOF?Bm3M}s;%X5H3bi$7+xM9G9Tr?{AJ1m6c(xvKAk#I=weKZm)vGp}HtF`) z`%AfveKkVa)wBHgbs5Bp+E(to*&PuP?9t%`V^=Fj-k0m=j6_#Gaj1Dy-jLkwr=3f} YrS|H&`>6VtPX12#`vfq{)^17tFK*(pu>b%7 literal 0 HcmV?d00001 diff --git a/unpackage/dist/build/mp-weixin/static/qr-code.png b/unpackage/dist/build/mp-weixin/static/qr-code.png new file mode 100644 index 0000000000000000000000000000000000000000..041f9573916b5dcf485eefc2d5a2789fa79caffb GIT binary patch literal 6836 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 Vco^k7?AiZF>dIPhg5tx#{{eNZ)SCbR literal 0 HcmV?d00001 diff --git a/unpackage/dist/dev/.automator/mp-weixin/.automator.json b/unpackage/dist/dev/.automator/mp-weixin/.automator.json new file mode 100644 index 0000000..e69de29 diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map new file mode 100644 index 0000000..cb808ae --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["uni-app:///main.js","webpack:///D:/XuWEB/项目/wwwroot/water-mall/App.vue?a6c3","webpack:///D:/XuWEB/项目/wwwroot/water-mall/App.vue?ac12","uni-app:///App.vue","webpack:///D:/XuWEB/项目/wwwroot/water-mall/App.vue?fe0e"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","Vue","prototype","$store","store","use","uView","component","nothingPage","statusNav","footBar","$toolAll","tools","$requst","requst","uni","getSystemInfoSync","platform","console","log","$onLaunched","Promise","resolve","$isResolve","App","mpType","app","$mount","render","staticRenderFns","components","renderjs","options","__file","globalData","projectname","lat","lng","hostapi","code","onLaunch","provider","success","that"],"mappings":"iJAAA,MAE2D,eAC3D,WACA,WAIA,WAcA,WAIA,WAAwC,2kBAxBxCA,EAAGC,kCAAoCC,EAGvCC,UAAIC,UAAUC,OAASC,UAIvBH,UAAII,IAAIC,WAAO,2HAGfL,UAAIM,UAAU,eAAeC,GAAa,4HAG1CP,UAAIM,UAAU,aAAaE,GAAW,wHAGtCR,UAAIM,UAAU,WAAWG,GAKzBT,UAAIC,UAAUS,SAAWC,UAIzBX,UAAIC,UAAUW,QAAUC,UAGiB,aAArCC,EAAIC,oBAAoBC,WAC3BC,QAAQC,IAAM,cAKflB,UAAIC,UAAUkB,YAAc,IAAIC,SAAQ,SAAAC,GACpCrB,UAAIC,UAAUqB,WAAaD,KAG/BE,UAAIC,OAAS,MAEb,IAAMC,EAAM,IAAIzB,UAAI,EAAD,CAClBG,iBACMoB,YAGP,EAAAE,GAAIC,W,8FC/CJ,yHAAIC,EAAQC,EAAmCC,EAC3CC,EADJ,QASIxB,EAAY,qBACd,aACAqB,EACAC,GACA,EACA,KACA,KACA,MACA,EACAC,EACAC,GAGFxB,EAAUyB,QAAQC,OAAS,UACZ,aAAA1B,E,yCCvBf,wHAAkqB,eAAG,G,0HCCrqB,aACA,QAGA,EACA,CACA2B,YACAC,eACAC,OACAC,OAEAC,+CACAC,SAGAC,oBACA,WAEA,+DAMAzB,SACA0B,kBACAC,qBAEA,iCACA,WACA3B,uCAGA,aACA4B,mCAAAJ,SAAA,kBACA,YACAxB,uCACAA,6CACA4B,wBAMA,c,4DC7CA,wHAAqvC,eAAG,G","file":"common/main.js","sourcesContent":["import 'uni-pages';\r\n// @ts-ignore\r\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;import Vue from 'vue';\r\nimport App from './App';\r\nimport store from './store'\r\nVue.prototype.$store = store\r\n\r\n\r\nimport uView from \"@/components/uview-ui\";\r\nVue.use(uView);\r\n\r\nimport nothingPage from './components/nothing/nothing-page.vue';//引入无内容组件\r\nVue.component('nothing-page',nothingPage);//全局注册无内容组件\r\n\r\nimport statusNav from './components/status-nav/status-nav.vue'; //引入头部组件\r\nVue.component('status-nav',statusNav);//全局注册头部组件\r\n\r\nimport footBar from './components/foot-bar/foot-bar.vue'; //引入尾部组件\r\nVue.component('foot-bar',footBar);//全局注册尾部组件\r\n\r\n\r\n// 常用便捷式公共方法\r\nimport tools from '@/jsFile/tools.js';\r\nVue.prototype.$toolAll = tools;\r\n\r\n// 响应数据\r\nimport requst from '@/jsFile/requst.js';\r\nVue.prototype.$requst = requst;\r\n\r\n//不显示console.log\r\nif (uni.getSystemInfoSync().platform !== \"devtools\") {\r\n\tconsole.log = () => {}\r\n}\r\n\r\n\r\n// promise\r\nVue.prototype.$onLaunched = new Promise(resolve => {\r\n Vue.prototype.$isResolve = resolve\r\n})\r\n\r\nApp.mpType = 'app';\r\n\r\nconst app = new Vue({\r\n\tstore,\r\n ...App\r\n})\r\n\r\napp.$mount()","var render, staticRenderFns, recyclableRender, components\nvar renderjs\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"App.vue\"\nexport default component.exports","import mod from \"-!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=script&lang=js&\"","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-2!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-5!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-2!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-5!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=style&index=0&lang=scss&\""],"sourceRoot":""} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map new file mode 100644 index 0000000..0691201 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[null],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","global","oldJsonpFunction","slice"],"mappings":"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","file":"common/runtime.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"common/runtime\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"common/runtime\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"\" + chunkId + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"components/foot-bar/foot-bar\":1,\"components/nothing/nothing-page\":1,\"components/status-nav/status-nav\":1,\"components/uview-ui/components/u-col/u-col\":1,\"components/uview-ui/components/u-icon/u-icon\":1,\"components/uview-ui/components/u-row/u-row\":1,\"components/maramlee-waterfalls-flow/maramlee-waterfalls-flow\":1,\"components/swipers/swiper-pu\":1,\"components/uview-ui/components/u-tabs/u-tabs\":1,\"components/goods-list/goods-list\":1,\"components/swipers/swiper-lamp\":1,\"components/uview-ui/components/u-popup/u-popup\":1,\"components/uview-ui/components/u-checkbox-group/u-checkbox-group\":1,\"components/uview-ui/components/u-checkbox/u-checkbox\":1,\"components/uview-ui/components/u-empty/u-empty\":1,\"components/address-one/address-one\":1,\"components/uview-ui/components/u-button/u-button\":1,\"components/uview-ui/components/u-modal/u-modal\":1,\"components/uview-ui/components/u-radio-group/u-radio-group\":1,\"components/uview-ui/components/u-radio/u-radio\":1,\"components/uview-ui/components/u-skeleton/u-skeleton\":1,\"components/uview-ui/components/u-picker/u-picker\":1,\"components/uview-ui/components/u-number-box/u-number-box\":1,\"components/uview-ui/components/u-badge/u-badge\":1,\"components/uview-ui/components/u-overlay/u-overlay\":1,\"components/uview-ui/components/u-safe-bottom/u-safe-bottom\":1,\"components/uview-ui/components/u-status-bar/u-status-bar\":1,\"components/uview-ui/components/u-transition/u-transition\":1,\"components/uview-ui/components/u-loading-icon/u-loading-icon\":1,\"components/uview-ui/components/u-line/u-line\":1,\"components/uview-ui/components/u-toolbar/u-toolbar\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"\" + ({\"components/foot-bar/foot-bar\":\"components/foot-bar/foot-bar\",\"components/nothing/nothing-page\":\"components/nothing/nothing-page\",\"components/status-nav/status-nav\":\"components/status-nav/status-nav\",\"components/uview-ui/components/u-col/u-col\":\"components/uview-ui/components/u-col/u-col\",\"components/uview-ui/components/u-icon/u-icon\":\"components/uview-ui/components/u-icon/u-icon\",\"components/uview-ui/components/u-row/u-row\":\"components/uview-ui/components/u-row/u-row\",\"components/maramlee-waterfalls-flow/maramlee-waterfalls-flow\":\"components/maramlee-waterfalls-flow/maramlee-waterfalls-flow\",\"components/swipers/swiper-pu\":\"components/swipers/swiper-pu\",\"components/uview-ui/components/u-tabs/u-tabs\":\"components/uview-ui/components/u-tabs/u-tabs\",\"components/goods-list/goods-list\":\"components/goods-list/goods-list\",\"components/swipers/swiper-lamp\":\"components/swipers/swiper-lamp\",\"components/uview-ui/components/u-popup/u-popup\":\"components/uview-ui/components/u-popup/u-popup\",\"components/uview-ui/components/u-checkbox-group/u-checkbox-group\":\"components/uview-ui/components/u-checkbox-group/u-checkbox-group\",\"components/uview-ui/components/u-checkbox/u-checkbox\":\"components/uview-ui/components/u-checkbox/u-checkbox\",\"components/uview-ui/components/u-empty/u-empty\":\"components/uview-ui/components/u-empty/u-empty\",\"components/address-one/address-one\":\"components/address-one/address-one\",\"components/uview-ui/components/u-button/u-button\":\"components/uview-ui/components/u-button/u-button\",\"components/uview-ui/components/u-modal/u-modal\":\"components/uview-ui/components/u-modal/u-modal\",\"components/uview-ui/components/u-radio-group/u-radio-group\":\"components/uview-ui/components/u-radio-group/u-radio-group\",\"components/uview-ui/components/u-radio/u-radio\":\"components/uview-ui/components/u-radio/u-radio\",\"components/uview-ui/components/u-skeleton/u-skeleton\":\"components/uview-ui/components/u-skeleton/u-skeleton\",\"components/uview-ui/components/u-picker/u-picker\":\"components/uview-ui/components/u-picker/u-picker\",\"components/uview-ui/components/u-number-box/u-number-box\":\"components/uview-ui/components/u-number-box/u-number-box\",\"components/uview-ui/components/u-badge/u-badge\":\"components/uview-ui/components/u-badge/u-badge\",\"components/uview-ui/components/u-overlay/u-overlay\":\"components/uview-ui/components/u-overlay/u-overlay\",\"components/uview-ui/components/u-safe-bottom/u-safe-bottom\":\"components/uview-ui/components/u-safe-bottom/u-safe-bottom\",\"components/uview-ui/components/u-status-bar/u-status-bar\":\"components/uview-ui/components/u-status-bar/u-status-bar\",\"components/uview-ui/components/u-transition/u-transition\":\"components/uview-ui/components/u-transition/u-transition\",\"components/uview-ui/components/u-loading-icon/u-loading-icon\":\"components/uview-ui/components/u-loading-icon/u-loading-icon\",\"components/uview-ui/components/u-line/u-line\":\"components/uview-ui/components/u-line/u-line\",\"components/uview-ui/components/u-toolbar/u-toolbar\":\"components/uview-ui/components/u-toolbar/u-toolbar\"}[chunkId]||chunkId) + \".wxss\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = global[\"webpackJsonp\"] = global[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map new file mode 100644 index 0000000..7e8fd1a --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js?bc2e","webpack:///./node_modules/@dcloudio/uni-mp-weixin/dist/index.js?543d","webpack:///(webpack)/buildin/global.js?cd00","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js?4ea4","webpack:///./node_modules/@babel/runtime/helpers/slicedToArray.js?278c","webpack:///./node_modules/@babel/runtime/helpers/arrayWithHoles.js?c135","webpack:///./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js?9b42","webpack:///./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js?6613","webpack:///./node_modules/@babel/runtime/helpers/arrayLikeToArray.js?5a43","webpack:///./node_modules/@babel/runtime/helpers/nonIterableRest.js?c240","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js?9523","webpack:///./node_modules/@babel/runtime/helpers/toPropertyKey.js?a395","webpack:///./node_modules/@babel/runtime/helpers/typeof.js?7037","webpack:///./node_modules/@babel/runtime/helpers/toPrimitive.js?e50d","webpack:///./node_modules/@babel/runtime/helpers/construct.js?b17c","webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js?4a4b","webpack:///./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js?6f8f","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js?448a","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js?2236","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js?11b0","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js?0676","webpack:///./node_modules/@dcloudio/uni-i18n/dist/uni-i18n.es.js?37dc","webpack:///./node_modules/@babel/runtime/helpers/classCallCheck.js?970b","webpack:///./node_modules/@babel/runtime/helpers/createClass.js?5bc3","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js?66fd","uni-app:///jsFile/tools.js","uni-app:///api/index.js","uni-app:///jsFile/requst.js","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js?f0c5","uni-app:///store/index.js","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vuex3/dist/vuex.common.js?26cb","uni-app:///store/modules/moduleA.js","uni-app:///store/modules/moduleB.js","uni-app:///components/uview-ui/index.js","uni-app:///components/uview-ui/libs/mixin/mixin.js","uni-app:///components/uview-ui/libs/mixin/mpMixin.js","uni-app:///components/uview-ui/libs/luch-request/index.js","uni-app:///components/uview-ui/libs/luch-request/core/Request.js","uni-app:///components/uview-ui/libs/luch-request/core/dispatchRequest.js","uni-app:///components/uview-ui/libs/luch-request/adapters/index.js","uni-app:///components/uview-ui/libs/luch-request/helpers/buildURL.js","uni-app:///components/uview-ui/libs/luch-request/utils.js","uni-app:///components/uview-ui/libs/luch-request/core/buildFullPath.js","uni-app:///components/uview-ui/libs/luch-request/helpers/isAbsoluteURL.js","uni-app:///components/uview-ui/libs/luch-request/helpers/combineURLs.js","uni-app:///components/uview-ui/libs/luch-request/core/settle.js","uni-app:///components/uview-ui/libs/luch-request/core/InterceptorManager.js","uni-app:///components/uview-ui/libs/luch-request/core/mergeConfig.js","uni-app:///components/uview-ui/libs/luch-request/core/defaults.js","uni-app:///components/uview-ui/libs/luch-request/utils/clone.js","webpack:///./node_modules/buffer/index.js?b639","webpack:///./node_modules/base64-js/index.js?1fb5","webpack:///./node_modules/ieee754/index.js?9152","webpack:///./node_modules/isarray/index.js?e3db","uni-app:///components/uview-ui/libs/util/route.js","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/@babel/runtime/regenerator/index.js?2eee","webpack:///./node_modules/@babel/runtime/helpers/regeneratorRuntime.js?7ec2","webpack:///./node_modules/@babel/runtime/helpers/asyncToGenerator.js?c973","uni-app:///components/uview-ui/libs/function/colorGradient.js","uni-app:///components/uview-ui/libs/function/test.js","uni-app:///components/uview-ui/libs/function/debounce.js","uni-app:///components/uview-ui/libs/function/throttle.js","uni-app:///components/uview-ui/libs/function/index.js","uni-app:///components/uview-ui/libs/function/digit.js","webpack:///./node_modules/@babel/runtime/helpers/toArray.js?480f","uni-app:///components/uview-ui/libs/config/config.js","uni-app:///components/uview-ui/libs/config/props.js","uni-app:///components/uview-ui/libs/config/props/actionSheet.js","uni-app:///components/uview-ui/libs/config/props/album.js","uni-app:///components/uview-ui/libs/config/props/alert.js","uni-app:///components/uview-ui/libs/config/props/avatar.js","uni-app:///components/uview-ui/libs/config/props/avatarGroup.js","uni-app:///components/uview-ui/libs/config/props/backtop.js","uni-app:///components/uview-ui/libs/config/props/badge.js","uni-app:///components/uview-ui/libs/config/props/button.js","uni-app:///components/uview-ui/libs/config/props/calendar.js","uni-app:///components/uview-ui/libs/config/props/carKeyboard.js","uni-app:///components/uview-ui/libs/config/props/cell.js","uni-app:///components/uview-ui/libs/config/props/cellGroup.js","uni-app:///components/uview-ui/libs/config/props/checkbox.js","uni-app:///components/uview-ui/libs/config/props/checkboxGroup.js","uni-app:///components/uview-ui/libs/config/props/circleProgress.js","uni-app:///components/uview-ui/libs/config/props/code.js","uni-app:///components/uview-ui/libs/config/props/codeInput.js","uni-app:///components/uview-ui/libs/config/props/col.js","uni-app:///components/uview-ui/libs/config/props/collapse.js","uni-app:///components/uview-ui/libs/config/props/collapseItem.js","uni-app:///components/uview-ui/libs/config/props/columnNotice.js","uni-app:///components/uview-ui/libs/config/props/countDown.js","uni-app:///components/uview-ui/libs/config/props/countTo.js","uni-app:///components/uview-ui/libs/config/props/datetimePicker.js","uni-app:///components/uview-ui/libs/config/props/divider.js","uni-app:///components/uview-ui/libs/config/props/empty.js","uni-app:///components/uview-ui/libs/config/props/form.js","uni-app:///components/uview-ui/libs/config/props/formItem.js","uni-app:///components/uview-ui/libs/config/props/gap.js","uni-app:///components/uview-ui/libs/config/props/grid.js","uni-app:///components/uview-ui/libs/config/props/gridItem.js","uni-app:///components/uview-ui/libs/config/props/icon.js","uni-app:///components/uview-ui/libs/config/props/image.js","uni-app:///components/uview-ui/libs/config/props/indexAnchor.js","uni-app:///components/uview-ui/libs/config/props/indexList.js","uni-app:///components/uview-ui/libs/config/props/input.js","uni-app:///components/uview-ui/libs/config/props/keyboard.js","uni-app:///components/uview-ui/libs/config/props/line.js","uni-app:///components/uview-ui/libs/config/props/lineProgress.js","uni-app:///components/uview-ui/libs/config/props/link.js","uni-app:///components/uview-ui/libs/config/props/list.js","uni-app:///components/uview-ui/libs/config/props/listItem.js","uni-app:///components/uview-ui/libs/config/props/loadingIcon.js","uni-app:///components/uview-ui/libs/config/props/loadingPage.js","uni-app:///components/uview-ui/libs/config/props/loadmore.js","uni-app:///components/uview-ui/libs/config/props/modal.js","uni-app:///components/uview-ui/libs/config/props/navbar.js","uni-app:///components/uview-ui/libs/config/color.js","uni-app:///components/uview-ui/libs/config/props/noNetwork.js","uni-app:///components/uview-ui/libs/config/props/noticeBar.js","uni-app:///components/uview-ui/libs/config/props/notify.js","uni-app:///components/uview-ui/libs/config/props/numberBox.js","uni-app:///components/uview-ui/libs/config/props/numberKeyboard.js","uni-app:///components/uview-ui/libs/config/props/overlay.js","uni-app:///components/uview-ui/libs/config/props/parse.js","uni-app:///components/uview-ui/libs/config/props/picker.js","uni-app:///components/uview-ui/libs/config/props/popup.js","uni-app:///components/uview-ui/libs/config/props/radio.js","uni-app:///components/uview-ui/libs/config/props/radioGroup.js","uni-app:///components/uview-ui/libs/config/props/rate.js","uni-app:///components/uview-ui/libs/config/props/readMore.js","uni-app:///components/uview-ui/libs/config/props/row.js","uni-app:///components/uview-ui/libs/config/props/rowNotice.js","uni-app:///components/uview-ui/libs/config/props/scrollList.js","uni-app:///components/uview-ui/libs/config/props/search.js","uni-app:///components/uview-ui/libs/config/props/section.js","uni-app:///components/uview-ui/libs/config/props/skeleton.js","uni-app:///components/uview-ui/libs/config/props/slider.js","uni-app:///components/uview-ui/libs/config/props/statusBar.js","uni-app:///components/uview-ui/libs/config/props/steps.js","uni-app:///components/uview-ui/libs/config/props/stepsItem.js","uni-app:///components/uview-ui/libs/config/props/sticky.js","uni-app:///components/uview-ui/libs/config/props/subsection.js","uni-app:///components/uview-ui/libs/config/props/swipeAction.js","uni-app:///components/uview-ui/libs/config/props/swipeActionItem.js","uni-app:///components/uview-ui/libs/config/props/swiper.js","uni-app:///components/uview-ui/libs/config/props/swipterIndicator.js","uni-app:///components/uview-ui/libs/config/props/switch.js","uni-app:///components/uview-ui/libs/config/props/tabbar.js","uni-app:///components/uview-ui/libs/config/props/tabbarItem.js","uni-app:///components/uview-ui/libs/config/props/tabs.js","uni-app:///components/uview-ui/libs/config/props/tag.js","uni-app:///components/uview-ui/libs/config/props/text.js","uni-app:///components/uview-ui/libs/config/props/textarea.js","uni-app:///components/uview-ui/libs/config/props/toast.js","uni-app:///components/uview-ui/libs/config/props/toolbar.js","uni-app:///components/uview-ui/libs/config/props/tooltip.js","uni-app:///components/uview-ui/libs/config/props/transition.js","uni-app:///components/uview-ui/libs/config/props/upload.js","uni-app:///components/uview-ui/libs/config/zIndex.js","uni-app:///components/uview-ui/libs/function/platform.js","uni-app:///jsFile/map/qqmap-wx-jssdk.min.js","uni-app:///api/water.js","uni-app:///jsFile/requst-water.js","uni-app:///components/uview-ui/components/u-icon/icons.js","uni-app:///components/uview-ui/components/u-icon/props.js","uni-app:///components/uview-ui/components/u-row/props.js","uni-app:///components/uview-ui/components/u-col/props.js","uni-app:///components/uview-ui/components/u-tabs/props.js","uni-app:///components/uview-ui/components/u-popup/props.js","uni-app:///components/uview-ui/components/u-checkbox-group/props.js","uni-app:///components/uview-ui/components/u-checkbox/props.js","uni-app:///components/uview-ui/components/u-empty/props.js","uni-app:///components/address-one/address-one.js","uni-app:///components/uview-ui/components/u-skeleton/props.js","uni-app:///components/uview-ui/components/u-radio-group/props.js","uni-app:///components/uview-ui/components/u-radio/props.js","uni-app:///components/uview-ui/libs/mixin/button.js","uni-app:///components/uview-ui/libs/mixin/openType.js","uni-app:///components/uview-ui/components/u-button/props.js","uni-app:///components/uview-ui/components/u-modal/props.js","uni-app:///components/uview-ui/components/u-picker/props.js","uni-app:///components/uview-ui/components/u-number-box/props.js","uni-app:///components/uview-ui/components/u-badge/props.js","uni-app:///components/uview-ui/components/u-overlay/props.js","uni-app:///components/uview-ui/components/u-transition/props.js","uni-app:///components/uview-ui/components/u-transition/transition.js","uni-app:///components/uview-ui/components/u-transition/nvue.ani-map.js","uni-app:///components/uview-ui/components/u-status-bar/props.js","uni-app:///components/uview-ui/components/u-safe-bottom/props.js","uni-app:///components/uview-ui/components/u-loading-icon/props.js","uni-app:///components/uview-ui/components/u-line/props.js","uni-app:///components/uview-ui/components/u-toolbar/props.js"],"names":["objectKeys","singlePageDisableKey","target","globalThis","this","key","join","oldWx","launchOption","getLaunchOptionsSync","isWxKey","scene","includes","indexOf","initWx","newWx","realAtob","b64","b64re","b64DecodeUnicode","str","decodeURIComponent","split","map","c","charCodeAt","toString","slice","getCurrentUserInfo","userInfo","token","wx","getStorageSync","tokenArr","length","uid","role","permission","tokenExpired","JSON","parse","error","Error","message","exp","iat","uniIdMixin","Vue","prototype","uniIDHasRole","roleId","uniIDHasPermission","permissionId","uniIDTokenValid","Date","now","atob","String","replace","test","bitmap","r1","r2","result","i","charAt","fromCharCode","_toString","Object","hasOwnProperty","isFn","fn","isStr","isObject","obj","isPlainObject","call","hasOwn","noop","cached","cache","create","hit","camelizeRE","camelize","_","toUpperCase","sortObject","sortObj","keys","sort","forEach","HOOKS","globalInterceptors","scopedInterceptors","mergeHook","parentVal","childVal","res","concat","Array","isArray","dedupeHooks","hooks","push","removeHook","hook","index","splice","mergeInterceptorHook","interceptor","option","removeInterceptorHook","addInterceptor","method","removeInterceptor","wrapperHook","params","data","isPromise","then","queue","promise","Promise","resolve","callback","wrapperOptions","options","name","oldCallback","wrapperReturnValue","returnValue","returnValueHooks","getApiInterceptorHooks","scopedInterceptor","invokeApi","api","invoke","promiseInterceptor","reject","SYNC_API_RE","CONTEXT_API_RE","CONTEXT_API_RE_EXC","ASYNC_API","CALLBACK_API_RE","isContextApi","isSyncApi","isCallbackApi","handlePromise","catch","err","shouldPromise","promisify","success","fail","complete","assign","finally","constructor","value","reason","EPS","BASE_DEVICE_WIDTH","isIOS","deviceWidth","deviceDPR","checkDeviceWidth","getSystemInfoSync","platform","pixelRatio","windowWidth","upx2px","number","newDeviceWidth","Number","Math","floor","locale","LOCALE_ZH_HANS","LOCALE_ZH_HANT","LOCALE_EN","LOCALE_FR","LOCALE_ES","messages","initI18nMessages","isEnableLocale","localeKeys","__uniConfig","locales","curMessages","userMessages","normalizeLocale","language","i18n","initVueI18n","t","mixin","beforeCreate","unwatch","watchLocale","$forceUpdate","$once","methods","$$t","values","setLocale","getLocale","initAppLocale","appVm","state","observable","localeWatchers","$watchLocale","defineProperty","get","set","v","watch","include","parts","find","part","startsWith","trim","toLowerCase","lang","getLocale$1","getApp","app","allowDefault","$vm","$locale","setLocale$1","oldLocale","onLocaleChangeCallbacks","onLocaleChange","global","interceptors","baseApi","freeze","__proto__","findExistsPageIndex","url","pages","getCurrentPages","len","page","$page","fullPath","deviceId","redirectTo","fromArgs","exists","delta","args","existsPageIndex","previewImage","currentIndex","parseInt","current","isNaN","urls","filter","item","indicator","loop","UUID_KEY","useDeviceId","random","setStorage","addSafeAreaInsets","safeArea","safeAreaInsets","top","left","right","bottom","screenHeight","populateParameters","brand","model","system","theme","version","fontSizeSetting","SDKVersion","deviceOrientation","extraParam","osName","osVersion","hostVersion","deviceType","getGetDeviceType","deviceBrand","getDeviceBrand","_hostName","getHostName","_deviceOrientation","_devicePixelRatio","_SDKVersion","hostLanguage","parameters","appId","process","appName","appVersion","appVersionCode","appLanguage","getAppLanguage","uniCompileVersion","uniRuntimeVersion","uniPlatform","deviceModel","devicePixelRatio","toLocaleLowerCase","hostTheme","hostName","hostSDKVersion","hostFontSizeSetting","windowTop","windowBottom","osLanguage","undefined","osTheme","ua","hostPackageName","browserName","browserVersion","deviceTypeMaps","ipad","windows","mac","deviceTypeMapsKeys","_model","_m","defaultLanguage","_platform","environment","host","env","getSystemInfo","showActionSheet","alertText","title","getAppBaseInfo","getDeviceInfo","getWindowInfo","getAppAuthorizeSetting","locationReducedAccuracy","locationAccuracy","compressImage","compressedHeight","compressHeight","compressedWidth","compressWidth","protocols","todos","canIUses","CALLBACKS","processCallback","methodName","processReturnValue","processArgs","argsOption","keepFromArgs","toArgs","keyOption","console","warn","keepReturnValue","wrapper","protocol","arg1","arg2","apply","todoApis","TODOS","createTodoApi","errMsg","providers","oauth","share","payment","getProvider","service","provider","extraApi","getEmitter","Emitter","ctx","$on","arguments","$off","$emit","cid","cidErrMsg","enabled","eventApi","tryCatch","e","getApiCallbacks","apiCallbacks","param","normalizePushMessage","invokePushCallback","type","invokeGetPushCidCallbacks","onPushMessageCallbacks","stopped","getPushCidCallbacks","getPushClientId","hasSuccess","hasFail","hasComplete","onPushMessage","offPushMessage","baseInfo","shareVideoMessage","miniapp","mocks","findVmByVueId","vm","vuePid","parentVm","$children","childVm","$scope","_$vueId","initBehavior","Behavior","isPage","route","initRelation","detail","triggerEvent","selectAllComponents","mpInstance","selector","$refs","components","component","ref","dataset","toSkip","vueGeneric","scopedComponent","syncRefs","refs","newRefs","oldKeys","Set","newKeys","oldValue","newValue","every","delete","initRefs","forComponents","handleLink","event","vueOptions","parent","markMPComponent","IS_MP","configurable","enumerable","OB","SKIP","isExtensible","WORKLET_RE","initWorkletMethods","mpMethods","vueMethods","matches","match","workletName","MPPage","Page","MPComponent","Component","customizeRE","customize","initTriggerEvent","oldTriggerEvent","newTriggerEvent","comType","newEvent","_triggerEvent","initHook","isComponent","oldHook","__$wrappered","after","PAGE_EVENT_HOOKS","initMocks","$mp","mpType","mock","hasHook","default","extendOptions","super","mixins","initHooks","mpOptions","__call_hook","initUnknownHooks","excludes","findHooks","initHook$1","initVueComponent","VueComponent","extend","initSlots","vueSlots","$slots","slotName","$scopedSlots","initVueIds","vueIds","_$vuePid","initData","context","VUE_APP_DEBUG","stringify","__lifecycle_hooks__","PROP_TYPES","Boolean","createObserver","newVal","oldVal","initBehaviors","vueBehaviors","behaviors","vueExtends","extends","vueMixins","vueProps","props","behavior","properties","initProperties","vueMixin","parsePropType","defaultValue","file","isBehavior","vueId","virtualHost","virtualHostStyle","virtualHostClass","scopedSlotsCompiler","observer","setData","opts","wrapper$1","mp","stopPropagation","preventDefault","markerId","getExtraValue","dataPathsArray","dataPathArray","dataPath","vFor","propPath","valuePath","isInteger","substr","__get_value","vForItem","vForKey","processEventExtra","extra","__args__","extraObj","getObjByArray","arr","element","processEventArgs","isCustom","isCustomMPEvent","currentTarget","ret","arg","ONCE","CUSTOM","isMatchEventType","eventType","optType","getContextVm","$parent","$options","generic","handleEvent","eventOpts","eventOpt","eventsArray","isOnce","eventArray","handlerCtx","handler","path","is","once","eventChannels","getEventChannel","id","eventChannel","initEventChannel","getOpenerEventChannel","callHook","__id__","__eventChannel__","initScopedSlotsParams","center","parents","currentId","propsData","$hasSSP","slot","$getSSP","needAll","$setSSP","$initSSP","$callSSP","destroyed","parseBaseApp","store","$store","mpHost","$i18n","_i18n","appOptions","onLaunch","canIUse","globalData","_isMounted","parseApp","createApp","App","encodeReserveRE","encodeReserveReplacer","commaRE","encode","encodeURIComponent","stringifyQuery","encodeStr","val","val2","x","parseBaseComponent","vueComponentOptions","needVueOptions","multipleSlots","addGlobalClass","componentOptions","__file","lifetimes","attached","$mount","ready","detached","$destroy","pageLifetimes","show","hide","resize","size","__l","__e","externalClasses","wxsCallMethods","callMethod","parseComponent","hooks$1","parseBasePage","vuePageOptions","pageOptions","onLoad","query","copyQuery","parsePage","createPage","createComponent","createSubpackageApp","onShow","onAppShow","onHide","onAppHide","createPlugin","todoApi","canIUseApi","apiName","uni","Proxy","uni$1","g","Function","window","module","exports","_interopRequireDefault","__esModule","arrayWithHoles","require","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","arrayLikeToArray","_unsupportedIterableToArray","o","minLen","n","from","_arrayLikeToArray","arr2","_nonIterableRest","TypeError","toPropertyKey","_defineProperty","writable","_typeof","toPrimitive","_toPropertyKey","_toPrimitive","input","hint","prim","setPrototypeOf","isNativeReflectConstruct","_construct","Parent","Class","Reflect","construct","bind","a","Constructor","instance","_setPrototypeOf","p","_isNativeReflectConstruct","sham","valueOf","arrayWithoutHoles","iterableToArray","nonIterableSpread","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","iter","_nonIterableSpread","defaultDelimiters","BaseFormatter","_caches","delimiters","tokens","compile","RE_TOKEN_LIST_VALUE","RE_TOKEN_NAMED_VALUE","format","startDelimiter","endDelimiter","position","text","char","sub","isClosed","compiled","mode","defaultFormatter","I18n","fallbackLocale","watcher","formater","watchers","override","interpolate","watchAppLocale","newLocale","$watch","getDefaultLocale","isWatchedAppLocale","f","add","isString","hasI18nJson","jsonObj","walkJsonObj","isI18nStr","parseI18nJson","compileStr","compileI18nJsonStr","jsonStr","localeValues","unshift","compileJsonObj","compileValue","valueLocales","localValue","walk","resolveLocale","resolveLocaleChain","chain","pop","_classCallCheck","_defineProperties","descriptor","_createClass","protoProps","staticProps","emptyObject","isUndef","isDef","isTrue","isFalse","isPrimitive","toRawType","isRegExp","isValidArrayIndex","parseFloat","isFinite","toNumber","makeMap","expectsLowerCase","list","isBuiltInTag","isReservedAttribute","remove","capitalize","hyphenateRE","hyphenate","polyfillBind","boundFn","l","_length","nativeBind","toArray","start","to","_from","toObject","b","no","identity","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","getTime","keysA","keysB","looseIndexOf","called","ASSET_TYPES","LIFECYCLE_HOOKS","config","optionMergeStrategies","silent","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","async","_lifecycleHooks","unicodeRegExp","isReserved","def","bailRE","RegExp","parsePath","segments","_isServer","hasProto","inBrowser","inWeex","WXEnvironment","weexPlatform","UA","navigator","userAgent","isIE","isEdge","nativeWatch","addEventListener","isServerRendering","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","Ctor","_Set","hasSymbol","ownKeys","has","clear","tip","generateComponentTrace","formatComponentName","hasConsole","classifyRE","classify","msg","trace","includeFile","$root","_isVue","_componentTag","repeat","tree","currentRecursiveSequence","last","Dep","subs","pushTarget","SharedObject","targetStack","popTarget","addSub","removeSub","depend","addDep","notify","update","VNode","tag","children","elm","asyncFactory","ns","fnContext","fnOptions","fnScopeId","componentInstance","raw","isStatic","isRootInsert","isComment","isCloned","asyncMeta","isAsyncPlaceholder","prototypeAccessors","child","defineProperties","createEmptyVNode","node","createTextVNode","cloneVNode","vnode","cloned","arrayProto","arrayMethods","methodsToPatch","original","inserted","ob","__ob__","observeArray","dep","arrayKeys","getOwnPropertyNames","shouldObserve","toggleObserving","Observer","vmCount","copyAugment","protoAugment","src","observe","asRootData","__v_isMPComponent","defineReactive$$1","customSetter","shallow","property","getOwnPropertyDescriptor","getter","setter","childOb","dependArray","max","del","items","strats","mergeData","toVal","fromVal","mergeDataOrFn","instanceData","defaultData","mergeAssets","assertObjectType","el","defaultStrat","key$1","inject","computed","provide","checkComponents","validateComponentName","normalizeProps","normalizeInject","normalized","normalizeDirectives","dirs","directives","def$$1","mergeOptions","_base","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","prop","absent","booleanIndex","getTypeIndex","stringIndex","getPropDefaultValue","prevShouldObserve","assertProp","_props","getType","required","valid","expectedTypes","assertedType","assertType","expectedType","validator","getInvalidTypeMessage","simpleCheckRE","isSameType","receivedType","expectedValue","styleValue","receivedValue","isExplicable","isBoolean","explicitTypes","some","elem","handleError","info","cur","errorCaptured","capture","globalHandleError","invokeWithErrorHandling","_handled","logError","timerFunc","initProxy","callbacks","pending","flushCallbacks","copies","setTimeout","MutationObserver","setImmediate","counter","textNode","document","createTextNode","characterData","nextTick","cb","_resolve","allowedGlobals","warnNonPresent","warnReservedPrefix","hasProxy","isBuiltInModifier","hasHandler","isAllowed","$data","getHandler","handlers","render","_withStripped","_renderProxy","mark","measure","seenObjects","traverse","_traverse","seen","isA","isFrozen","depId","perf","clearMarks","clearMeasures","startTag","endTag","normalizeEvent","passive","once$$1","createFnInvoker","fns","invoker","arguments$1","updateListeners","on","oldOn","remove$$1","createOnceHandler","old","extractPropertiesFromVNodeData","attrs","altKey","checkProp","extractPropsFromVNodeData","keyInLowerCase","hash","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","lastIndex","shift","_isVList","initProvide","_provided","initInjections","resolveInject","provideKey","source","provideDefault","resolveSlots","slots","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","proxy","renderList","renderSlot","fallback","bindObject","nodes","scopedSlotFn","$createElement","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","domProps","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","staticRenderFns","markStatic","markOnce","markStaticNode","bindObjectListeners","existing","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","prependModifier","symbol","installRenderHelpers","_o","_l","_t","_q","_f","_k","_b","_v","_u","_g","_p","FunctionalRenderContext","contextVm","this$1","_original","isCompiled","_compiled","needNormalization","listeners","injections","scopedSlots","_scopeId","_c","d","createElement","createFunctionalComponent","mergeProps","renderContext","cloneAndMarkFunctionalResult","vnodes","clone","devtoolsMeta","componentVNodeHooks","init","hydrating","_isDestroyed","keepAlive","mountedNode","prepatch","createComponentInstanceForVnode","activeInstance","oldVnode","updateChildComponent","insert","queueActivatedComponent","activateChildComponent","destroy","deactivateChildComponent","hooksToMerge","baseCtor","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","transformModel","functional","nativeOn","abstract","installComponentHooks","_isComponent","_parentVnode","inlineTemplate","toMerge","_merged","mergeHook$1","f1","f2","merged","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","_createElement","$vnode","pre","applyNS","registerDeepBindings","force","style","class","initRender","_vnode","parentVnode","_renderChildren","parentData","isUpdatingChildComponent","_parentListeners","currentRenderingInstance","renderMixin","$nextTick","_render","renderError","ensureCtor","comp","base","toStringTag","factory","errorComp","resolved","owner","owners","loading","loadingComp","sync","timerLoading","timerTimeout","forceRender","renderCompleted","clearTimeout","delay","timeout","getFirstComponentChild","initEvents","_events","_hasHookEvent","updateComponentListeners","remove$1","_target","onceHandler","oldListeners","eventsMixin","hookRE","i$1","cbs","lowerCaseEvent","setActiveInstance","prevActiveInstance","initLifecycle","_watcher","_inactive","_directInactive","_isBeingDestroyed","lifecycleMixin","_update","prevEl","$el","prevVnode","restoreActiveInstance","__patch__","__vue__","teardown","_watchers","_data","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","$attrs","$listeners","propKeys","_propKeys","_$updateProperties","isInInactiveTree","direct","j","MAX_UPDATE_COUNT","activatedChildren","circular","waiting","flushing","resetSchedulerState","getNow","createEvent","timeStamp","flushSchedulerQueue","before","run","user","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","emit","queueWatcher","uid$2","Watcher","expOrFn","isRenderWatcher","deep","lazy","active","dirty","deps","newDeps","depIds","newDepIds","expression","cleanupDeps","tmp","evaluate","sharedPropertyDefinition","sourceKey","initState","initProps","initMethods","initComputed","initWatch","propsOptions","isRoot","_getFormData","__next_tick_pending","getData","computedWatcherOptions","_computedWatchers","isSSR","userDef","defineComputed","shouldCache","createComputedGetter","createGetterInvoker","createWatcher","stateMixin","dataDef","propsDef","$set","$delete","immediate","uid$3","initMixin","_init","_uid","initInternalComponent","_self","_$fallback","_name","vnodeComponentOptions","superOptions","cachedSuperOptions","modifiedOptions","resolveModifiedOptions","modified","latest","sealed","sealedOptions","initUse","use","plugin","installedPlugins","_installedPlugins","install","initMixin$1","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","initProps$1","initComputed$1","Comp","initAssetRegisters","definition","getComponentName","pattern","pruneCache","keepAliveInstance","cachedNode","pruneCacheEntry","cached$$1","patternTypes","KeepAlive","exclude","created","mounted","ref$1","builtInComponents","initGlobalAPI","configDef","util","defineReactive","ssrContext","ARRAYTYPE","OBJECTTYPE","NULLTYPE","UNDEFINEDTYPE","diff","syncKeys","_diff","rootCurrentType","rootPreType","currentValue","nullOrUndefined","currentType","preType","setResult","preValue","subKey","k","flushCallbacks$1","__next_tick_callbacks","log","hasRenderWatcher","nextTick$1","mpInstance$1","clearInstance","cloneWithData","dataKeys","reduce","compositionApiState","__composition_api_state__","__secret_vfa_state__","rawBindings","patch","__webviewId__","mpData","diffData","$shouldDiffData","createEmptyRender","mountComponent$1","template","updateComponent","renderClass","staticClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","parseStyleText","cssText","listDelimiter","propertyDelimiter","normalizeStyleBinding","bindingStyle","MP_METHODS","getTarget","internalMixin","onError","oldEmit","my","createSelectorQuery","createIntersectionObserver","__init_provide","__init_injections","__set_model","modifiers","__set_sync","__get_orig","__get_class","__get_style","dynamicStyle","staticStyle","dynamicStyleObj","styleObj","__map","iteratee","LIFECYCLE_HOOKS$1","lifecycleMixin$1","oldExtend","strategies","tools","timer","daoTime","setStorageSync","setInterval","removeStorageSync","clearInterval","closeTimer","obtainCount","unescapeEv","op","unescape","q","isPhone","phone","reg_tel","isEmail","email","reg_email","isIdentity","reg_identity","hideMPhone","phoneAddChat","startNum","endNum","character","phoneStr","phoneArr","hideName","num","changeNum","substring","addXiaoShu","toFixed","operationEv","num1","num2","index1","index2","ws1","ws2","bigger","smaller","zerosCount","sum","beishu","checkPrice","zong","reg","newObj","showToast","icon","time","newTime","duration","escape2Html","arrEntities","all","p1","networkStatus","getNetworkType","networkType","checkUpdate","self","updateManager","getUpdateManager","onCheckForUpdate","hasUpdate","showModal","content","confirm","downLoadAndUpdate","clearStorage","clearStorageSync","cancel","showCancel","confirmText","showLoading","onUpdateReady","hideLoading","applyUpdate","onUpdateFailed","clickCopy","setClipboardData","authTimer","judgeAuth","auth","mobile","reLaunch","currentContext","hInfo","getAccountInfoSync","miniProgram","envVersion","disableShareEv","hideShareMenu","menus","obtainPagePath","routeParam","countCustomer","phoneList","itemList","itemColor","makePhoneCall","phoneNumber","tapIndex","uploadImg","count","imgArr","chooseImage","sizeType","sourceType","files","tempFilePaths","wxOpenSet","authorize","scope","cancelText","openSetting","goFlag","goThere","latitude","longitude","address","getLocation","openLocation","saveImg","exist","downloadFile","saveImageToPhotosAlbum","filePath","tempFilePath","saveFile","wximg","getBase64ImageUrl","base64Data","arrayBufferToBase64","base64ToArrayBuffer","base64ImgUrl","getInfo","request","postUserInfo","post","postEditInfo","postUpload","upload","postBindPhone","getStatement","getAbout","getBanner","getGoodsCategory","getSpuList","getGoodsDetail","getNearestPoint","getAddress","getAddressInfo","postAddressSave","postAddressDel","postOrderCreate","postOrderCheck","postPrepare","getOrderStatus","getOrderMy","postOrderDetail","postOrderPay","postOrderComplete","getSaler","postCardAdd","getCardList","postCardLost","postCardDel","getGiftInfo","postGiftUse","getNearest","getCardSaler","postCartAdd","goLogin","navigateTo","checkError","code","headers","mask","hostapi","header","statusCode","rest","uploadFile","tempData","fileType","formData","temp","postForm","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","renderjs","__module","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","shadowRoot","_injectStyles","originalRender","h","Vuex","Store","modules","moduleA","moduleB","applyMixin","vuexInit","devtoolHook","devtoolPlugin","_devtoolHook","targetState","replaceState","subscribe","mutation","prepend","subscribeAction","action","deepCopy","copy","forEachValue","assert","condition","partial","Module","rawModule","runtime","_children","_rawModule","rawState","namespaced","addChild","removeChild","getChild","hasChild","actions","mutations","getters","forEachChild","forEachGetter","forEachAction","forEachMutation","ModuleCollection","rawRootModule","register","targetModule","newModule","assertRawModule","root","getNamespace","namespace","rawChildModule","unregister","isRegistered","functionAssert","expected","objectAssert","assertTypes","assertOptions","makeAssertionMessage","buf","plugins","strict","_committing","_actions","_actionSubscribers","_mutations","_wrappedGetters","_modules","_modulesNamespaceMap","_subscribers","_watcherVM","_makeLocalGettersCache","dispatch","commit","payload","installModule","resetStoreVM","useDevtools","prototypeAccessors$1","genericSubscribe","resetStore","hot","oldVm","_vm","wrappedGetters","$$state","enableStrictMode","_withCommit","rootState","parentState","getNestedState","moduleName","local","makeLocalContext","namespacedType","registerMutation","registerAction","registerGetter","noNamespace","_type","_payload","_options","unifyObjectStyle","makeLocalGetters","gettersProxy","splitPos","localType","entry","rootGetters","rawGetter","_Vue","registerModule","preserveState","unregisterModule","hasModule","newOptions","committing","mapState","normalizeNamespace","states","isValidMap","normalizeMap","getModuleByNamespace","vuex","mapMutations","mapGetters","mapActions","createNamespacedHelpers","helper","createLogger","collapsed","stateBefore","stateAfter","transformer","mutationTransformer","mut","actionFilter","actionTransformer","act","logMutations","logActions","logger","prevState","nextState","formattedTime","getFormattedTime","formattedMutation","startMessage","endMessage","formattedAction","groupCollapsed","group","groupEnd","pad","getHours","getMinutes","getSeconds","getMilliseconds","times","maxLength","index_cjs","footHeight","publicColor","titleList","imgList","onLineList","cartNum","cartPrice","geList","changeBusiness","setNum","setPrice","price","setGe","footHeightEv","add2","amount","setToken","updateUserInfo","newProp","updateState","addCountAction","addCountAction2","addCountAction3","actionA","actionB","doneTodos","todo","doneTodosCount","getTodoById","pleaseSetTranspileDependencies","$u","date","timeFormat","colorGradient","hexToRgb","rgbToHex","colorToRgba","http","Request","zIndex","debounce","throttle","mpMixin","color","timestamp","timeFrom","customStyle","customClass","linkType","getRect","$uGetRect","deepMerge","bem","fixed","change","prefix","classes","openPage","urlKey","in","boundingClientRect","rect","exec","getParentData","parentName","preventEvent","onReachBottom","beforeDestroy","array","childrenList","defaults","InterceptorManager","response","mergeConfig","dispatchRequest","fulfilled","rejected","middleware","adapter","mergeKeys","config2","isUndefined","requestTask","buildURL","buildFullPath","baseURL","_config","settle","otherConfig","optionalKeys","getTask","serializedParams","utils","isURLSearchParams","isDate","toISOString","hashmarkIndex","URLSearchParams","assignValue","requestedURL","isAbsoluteURL","combineURLs","relativeURL","validateStatus","status","eject","globalsConfig","custom","defaultToConfig2Keys","uploadKeys","defaultsKeys","dataType","responseType","_instanceof","nativeMap","nativeSet","nativePromise","Map","depth","includeNonEnumerable","allParents","allChildren","useBuffer","Buffer","_clone","proto","__isArray","__isRegExp","__getRegExpFlags","__isDate","isBuffer","getPrototypeOf","keyChild","valueChild","entryChild","objProperty","ReferenceError","getOwnPropertySymbols","symbols","allPropertyNames","propertyName","Infinity","__objToStr","re","flags","ignoreCase","multiline","clonePrototype","base64","ieee754","typedArraySupport","Uint8Array","foo","subarray","byteLength","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","encodingOrOffset","allocUnsafe","ArrayBuffer","fromArrayBuffer","fromString","fromObject","assertSize","alloc","fill","encoding","checked","string","isEncoding","write","fromArrayLike","byteOffset","buffer","isnan","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","end","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","m","bidirectionalIndexOf","dir","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","read","readUInt16BE","foundIndex","found","hexWrite","offset","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","fromByteArray","min","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","compare","y","pos","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","toJSON","MAX_ARGUMENTS_LENGTH","codePoints","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","units","leadSurrogate","byteArray","hi","lo","toByteArray","dst","lookup","revLookup","Arr","getLens","validLen","placeHoldersLen","lens","_byteLength","curByte","tripletToBase64","encodeChunk","uint8","output","extraBytes","maxChunkLength","len2","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","s","NaN","rt","abs","LN2","Router","animationType","animationDuration","intercept","addRootPath","queryParams","mixinParam","routeIntercept","isNext","switchTab","navigateBack","_regeneratorRuntime","Op","desc","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","makeInvokeMethod","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","_invoke","AsyncIterator","PromiseImpl","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","displayName","isGeneratorFunction","genFun","ctor","awrap","object","reverse","skipTempReset","prev","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","startColor","endColor","step","startRGB","startR","startG","startB","endRGB","endR","endG","endB","sR","sG","sB","colorArr","hex","round","sColor","sColorNew","sColorChange","rgb","_this","aColor","strHex","aNum","numHex","alpha","dateISO","digits","idCard","carNo","xreg","creg","chinese","letter","enOrNum","contains","range","rangeLength","landline","empty","jsonString","func","image","IMAGE_REGEXP","video","VIDEO_REGEXP","regExp","isEmpty","wait","callNow","flag","getPx","unit","sleep","os","sys","gab","guid","firstU","radix","chars","uuid","r","addStyle","styleArray","addUnit","deepClone","WeakMap","entries","sourceValue","targetValue","randomArray","dateTime","formatStr","timeSource","getFullYear","getMonth","padStart","getDate","beginIndex","tips","isPrefix","arrayFormat","_result","_value","commaStr","toast","type2icon","iconName","priceFormat","decimals","decimalPoint","thousandsSeparator","prec","sep","dec","getDuration","valueNum","padZero","formValidate","formItem","form","validateField","getProperty","firstObj","setProperty","inFn","_obj","getHistoryPage","back","setConfig","fillString","fillLength","ceil","_boundaryCheckingState","strip","precision","toPrecision","digitLength","eSplit","float2Fixed","dLen","checkBoundary","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","iteratorOperation","operation","others","nums","num1Changed","num2Changed","baseNum","leftValue","plus","minus","divide","ratio","enableBoundaryChecking","_toArray","actionSheet","album","alert","avatar","avatarGroup","backtop","badge","button","calendar","carKeyboard","cell","cellGroup","checkbox","checkboxGroup","circleProgress","codeInput","col","collapse","collapseItem","columnNotice","countDown","countTo","datetimePicker","divider","gap","grid","gridItem","indexAnchor","indexList","keyboard","line","lineProgress","link","listItem","loadingIcon","loadingPage","loadmore","modal","navbar","noNetwork","noticeBar","numberBox","numberKeyboard","overlay","picker","popup","radio","radioGroup","rate","readMore","row","rowNotice","scrollList","search","section","skeleton","slider","statusBar","steps","stepsItem","sticky","subsection","swipeAction","swipeActionItem","swiper","swipterIndicator","_switch","tabbar","tabbarItem","tabs","textarea","toolbar","tooltip","transition","description","closeOnClickAction","safeAreaInsetBottom","openType","closeOnClickOverlay","keyName","singleSize","multipleSize","space","singleMode","multipleMode","maxCount","previewFullImage","rowCount","showMore","closable","showIcon","effect","fontSize","shape","bgColor","mpAvatar","randomBgColor","defaultUrl","colorIndex","extraValue","scrollTop","iconStyle","isDot","showZero","numberType","inverted","absolute","hairline","plain","disabled","loadingText","loadingMode","loadingSize","formType","appParameter","hoverStopPropagation","sessionFrom","sendMessageTitle","sendMessagePath","sendMessageImg","showMessageCard","dataName","throttleTime","hoverStartTime","hoverStayTime","iconColor","showTitle","showSubtitle","startText","endText","customList","minDate","maxDate","defaultDate","rowHeight","formatter","showLunar","showMark","confirmDisabledText","readonly","showConfirm","maxRange","rangePrompt","showRangePrompt","allowSameDay","monthNum","label","border","clickable","isLink","arrowDirection","rightIconStyle","rightIcon","titleStyle","activeColor","inactiveColor","iconSize","labelSize","labelColor","labelDisabled","placement","iconPlacement","borderBottom","percentage","seconds","changeText","keepRunning","uniqueKey","adjustPosition","maxlength","dot","focus","bold","disabledKeyboard","borderColor","disabledDot","span","justify","align","textAlign","accordion","speed","disableTouch","autoStart","millisecond","startVal","endVal","autoplay","useEasing","decimal","separator","showToolbar","minHour","maxHour","minMinute","maxMinute","itemHeight","cancelColor","confirmColor","visibleItemCount","defaultIndex","dashed","textPosition","textSize","textColor","lineColor","width","height","marginTop","rules","errorType","labelPosition","labelWidth","labelAlign","labelStyle","leftIcon","leftIconStyle","marginBottom","hoverClass","customPrefix","labelPos","imgMode","radius","lazyLoad","showMenuByLongpress","errorIcon","showError","fade","webp","customNavHeight","disabledColor","clearable","password","placeholder","placeholderClass","placeholderStyle","showWordLimit","confirmType","confirmHold","holdKeyboard","autoBlur","disableDefaultPadding","cursor","cursorSpacing","selectionStart","selectionEnd","inputAlign","prefixIcon","prefixIconStyle","suffixIcon","suffixIconStyle","dotDisabled","showTips","autoChange","direction","margin","showText","underLine","href","mpTips","showScrollbar","lowerThreshold","upperThreshold","offsetAccuracy","enableFlex","pagingEnabled","scrollable","scrollIntoView","scrollWithAnimation","enableBackToTop","preLoadScreen","anchor","vertical","timingFunction","loadingColor","loadmoreText","nomoreText","showConfirmButton","showCancelButton","buttonReverse","zoom","asyncClose","negativeTop","confirmButtonShape","safeAreaInsetTop","leftText","rightText","titleWidth","leftIconSize","leftIconColor","mainColor","autoBack","primary","warning","contentColor","tipsColor","lightColor","integer","disabledInput","asyncChange","inputWidth","showMinus","showPlus","decimalLength","longPress","buttonSize","disableMinus","disablePlus","opacity","copyLink","errorImg","loadingImg","pauseVideo","previewImg","setTitle","showImgMenu","columns","immediateChange","closeable","overlayStyle","closeIconPos","overlayOpacity","gutter","minCount","allowHalf","activeIcon","inactiveIcon","touchable","showHeight","toggle","closeText","openText","textIndent","indicatorWidth","indicatorBarWidth","indicatorColor","indicatorActiveColor","indicatorStyle","clearabled","showAction","actionStyle","actionText","inputStyle","searchIconColor","searchIconSize","placeholderColor","searchIcon","animation","subTitle","subColor","showLine","arrow","animate","rows","rowsWidth","rowsHeight","titleHeight","avatarSize","avatarShape","blockSize","blockColor","showValue","blockStyle","offsetTop","autoClose","threshold","indicatorInactiveColor","indicatorMode","currentItemId","interval","previousMargin","nextMargin","acceleration","displayMultipleItems","easingFunction","swiperIndicator","switch","activeValue","inactiveValue","badgeStyle","activeStyle","inactiveStyle","lineWidth","lineHeight","lineBgSize","itemStyle","closeColor","plainFill","block","lines","decoration","wordWrap","autoHeight","showConfirmBar","isTab","copyText","showCopy","buttons","accept","compressed","camera","maxDuration","uploadIcon","uploadIconColor","useBeforeRead","imageMode","multiple","deletable","maxSize","MAX_VALUE","fileList","uploadText","topTips","indexListSticky","ERROR_CONF","KEY_ERR","KEY_ERR_MSG","PARAM_ERR","PARAM_ERR_MSG","SYSTEM_ERR","SYSTEM_ERR_MSG","WX_ERR_CODE","WX_OK_CODE","BASE_URL","URL_SEARCH","URL_SUGGESTION","URL_GET_GEOCODER","URL_CITY_LIST","URL_AREA_LIST","URL_DISTANCE","URL_DIRECTION","MODE","driving","transit","EARTH_RADIUS","Utils","safeAdd","lsw","msw","bitRotateLeft","cnt","md5cmn","md5ff","md5gg","md5hh","md5ii","binlMD5","olda","oldb","oldc","oldd","binl2rstr","length32","rstr2binl","length8","rstrMD5","rstrHMACMD5","bkey","opad","rstr2hex","hexTab","str2rstrUTF8","rawMD5","hexMD5","rawHMACMD5","hexHMACMD5","md5","getSig","requestParam","sk","feature","sig","requestArr","location2query","location","lat","lng","rad","PI","getEndLocation","endLocation","getDistance","latFrom","lngFrom","latTo","lngTo","radLatFrom","radLatTo","distance","asin","sqrt","sin","cos","getWXLocation","getLocationParam","locationArr","polyfillParam","checkParamKeyEmpty","errconf","buildErrorConfig","checkKeyword","checkLocation","errCode","handleData","searchResult","searchSimplify","category","tel","adcode","ad_info","city","district","province","suggestResult","suggestSimplify","reverseGeocoderResult","reverseGeocoderSimplify","address_component","nation","street","street_number","recommend","formatted_addresses","rough","pois","poisSimplify","geocoderResult","geocoderSimplify","address_components","level","provinceResult","cityResult","districtResult","districtByCity","calculateDistanceResult","elements","routes","buildWxRequestConfig","locationProcess","locationsuccess","locationfail","locationcomplete","QQMapWX","keyword","orderby","page_size","page_index","address_format","auto_extend","region","rectangle","boundary","region_fix","policy","get_subpois","coord_type","get_poi","poi_options","locationTo","calculateResult","distanceResult","SET_URL_DIRECTION","from_poi","heading","accuracy","road_type","to_poi","from_track","waypoints","plate_number","departure_time","getCardinfo","getLossreport","getaddvalue","getconsume","getproducts","postAddvalue","postNotify","getCardStop","lotusAddressJson","onGetUserInfo","onContact","onGetPhoneNumber","onLaunchApp","onOpenSetting","getClassNames","enter","leave","clickHandler","vueEnter","classNames","inited","display","transitionEnded","vueLeave","onTransitionEnd","transform"],"mappings":"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QACA0H,0BACD,a,gBCrKD,IAAIhxD,EAAiBC,EAAQ,GACzBwD,EAAkBxD,EAAQ,IAC1BE,EAA6BF,EAAQ,GACrCG,EAAkBH,EAAQ,IAC9B,SAASgxD,EAASh5D,GAChB,OAAO+H,EAAe/H,IAAQwL,EAAgBxL,IAAQkI,EAA2BlI,IAAQmI,IAE3FR,EAAOC,QAAUoxD,EAAUrxD,EAAOC,QAAQE,YAAa,EAAMH,EAAOC,QAAQ,WAAaD,EAAOC,S,+FCNhG,IAAMla,EAAU,SAIfoF,QAAQunC,IAAI,gBAAD,OAAiB3sC,EAAO,iCAAiC,2EACpE,MAEc,CACXnE,EAAGmE,EACHA,UAEA0H,KAAM,CACF,UACA,UACA,OACA,QACA,WAGJyiD,MAAO,CACH,YAAa,UACb,YAAa,UACb,YAAa,UACb,UAAW,UACX,SAAU,UACV,eAAgB,UAChB,kBAAmB,UACnB,eAAgB,UAChB,gBAAiB,WAGxB6b,KAAM,MACN,a,yHC5BD,WAEA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aAAmC,+kBAI/BlhD,UADAqlC,MADJ,IAEU,8QAGHohB,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACA3wB,WACA4wB,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACA3H,WACA8D,WACAD,WACA+D,WACAC,WACAC,WACAv5B,WACA4xB,WACA4H,WACAC,WACAzwD,WACA0wD,WACAC,WACAC,WACAC,WACAzqD,WACA0qD,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,YACAvkD,YACAwkD,YACAC,YACAC,YACAr9E,YACAs9E,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAjmD,YACA1K,YACA4wD,YACA3H,YACA4H,YACAC,YACAC,YACAx2B,YAAM,c,+FC5Lb,MASe,CAEX+xB,YAAa,CACTzzD,MAAM,EACNlU,MAAO,GACPqsE,YAAa,GACbxwB,QAAS,iBAAM,IACfzqD,MAAO,GACP4iD,WAAY,GACZs4B,oBAAoB,EACpBC,qBAAqB,EACrBC,SAAU,GACVC,qBAAqB,EACrB1M,MAAO,IAEd,a,+FCxBD,MASe,CAEX6H,MAAO,CACH9sE,KAAM,iBAAM,IACZ4xE,QAAS,GACTC,WAAY,IACZC,aAAc,GACdC,MAAO,EACPC,WAAY,cACZC,aAAc,aACdC,SAAU,EACVC,kBAAkB,EAClBC,SAAU,EACVC,UAAU,IAEjB,a,+FCxBD,MASe,CAEXtF,MAAO,CACH7nE,MAAO,GACP8D,KAAM,UACNuoE,YAAa,GACbe,UAAU,EACVC,UAAU,EACVC,OAAQ,QACRt8D,QAAQ,EACRu8D,SAAU,KAEjB,a,+FCrBD,MASe,CAEXzF,OAAQ,CACJr/C,IAAK,GACL+kD,MAAO,SACPn5D,KAAM,GACNqH,KAAM,cACNL,KAAM,GACNoyD,QAAS,UACTlnB,MAAO,UACPgnB,SAAU,GACVz9B,KAAM,GACN49B,UAAU,EACVC,eAAe,EACfC,WAAY,GACZC,WAAY,GACZp7E,KAAM,KAEb,a,+FC3BD,MASe,CAEXs1E,YAAa,CACTjtE,KAAM,iBAAM,IACZkyE,SAAU,EACVQ,MAAO,SACP9xD,KAAM,cACNyxD,UAAU,EACV94D,KAAM,GACNq4D,QAAS,GACTvD,IAAK,GACX2E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U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,QAAQ6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,QAAQ6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,QAAQ6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,QAAQ6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,QAAQ6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,QAAQ6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,WAAW6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,QAAQ6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,SAAS6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,aAAa6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,aAAa6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,YAAY6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,cAAc6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,aAAa6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,aAAa6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,aAAa6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,YAAY6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,YAAY6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,aAAa6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,WAAW6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,aAAa6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,QAAQ6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,QAAQ6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,YAAY6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,YAAY6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,QAAQ6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,cAAc6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,WAAW6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,QAAQ6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,QAAQ6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM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C9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S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AM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,QAAQ6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,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SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,YAAY6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,WAAW6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,cAAc6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,QAAQ6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,WAAW6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,aAAa6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,QAAQ6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,QAAQ6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,QAAQ6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,QAAQ6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,QAAQ6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,QAAQ6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,QAAQ6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,WAAW6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,WAAW6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,QAAQ6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,YAAY6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,YAAY6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,S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/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM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AO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,cAAc6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,YAAY6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,YAAY6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SA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MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,QAAQ6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,WAAW6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,WAAW6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,WAAW6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,aAAa6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,SAAS6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,kBAAkB6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,YAAY6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,YAAY6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,WAAW6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,UAAU6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,WAAW6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,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SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,cAAc6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK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9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,OAAO6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,KAAK6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS/B,KAAK,MAAM6U,OAAO,UAAU,CAAC9S,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,QAAQ,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,QAAQ,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,QAAQ,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,MAAM,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,QAAQ,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,SAAS,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK,OAAO,CAAC+B,MAAM,SAAS8S,OAAO,SAAS7U,KAAK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","file":"common/vendor.js","sourcesContent":["const objectKeys = [\r\n 'qy',\r\n 'env',\r\n 'error',\r\n 'version',\r\n 'lanDebug',\r\n 'cloud',\r\n 'serviceMarket',\r\n 'router',\r\n 'worklet',\r\n '__webpack_require_UNI_MP_PLUGIN__'\r\n]\r\nconst singlePageDisableKey = [\r\n 'lanDebug',\r\n 'router',\r\n 'worklet'\r\n]\r\nconst target = typeof globalThis !== 'undefined' ? globalThis : (function () {\r\n return this\r\n})()\r\n\r\nconst key = ['w', 'x'].join('')\r\nconst oldWx = target[key]\r\nconst launchOption = oldWx.getLaunchOptionsSync ? oldWx.getLaunchOptionsSync() : null\r\n\r\nfunction isWxKey (key) {\r\n if (launchOption && launchOption.scene === 1154 && singlePageDisableKey.includes(key)) {\r\n return false\r\n }\r\n return objectKeys.indexOf(key) > -1 || typeof oldWx[key] === 'function'\r\n}\r\n\r\nfunction initWx () {\r\n const newWx = {}\r\n for (const key in oldWx) {\r\n if (isWxKey(key)) {\r\n // TODO wrapper function\r\n newWx[key] = oldWx[key]\r\n }\r\n }\r\n return newWx\r\n}\r\ntarget[key] = initWx()\r\nexport default target[key]\r\n","import { initVueI18n } from '@dcloudio/uni-i18n';\r\nimport Vue from 'vue';\r\n\r\nlet realAtob;\r\n\r\nconst b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\r\nconst b64re = /^(?:[A-Za-z\\d+/]{4})*?(?:[A-Za-z\\d+/]{2}(?:==)?|[A-Za-z\\d+/]{3}=?)?$/;\r\n\r\nif (typeof atob !== 'function') {\r\n realAtob = function (str) {\r\n str = String(str).replace(/[\\t\\n\\f\\r ]+/g, '');\r\n if (!b64re.test(str)) { throw new Error(\"Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.\") }\r\n\r\n // Adding the padding if missing, for semplicity\r\n str += '=='.slice(2 - (str.length & 3));\r\n var bitmap; var result = ''; var r1; var r2; var i = 0;\r\n for (; i < str.length;) {\r\n bitmap = b64.indexOf(str.charAt(i++)) << 18 | b64.indexOf(str.charAt(i++)) << 12 |\r\n (r1 = b64.indexOf(str.charAt(i++))) << 6 | (r2 = b64.indexOf(str.charAt(i++)));\r\n\r\n result += r1 === 64 ? String.fromCharCode(bitmap >> 16 & 255)\r\n : r2 === 64 ? String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255)\r\n : String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255, bitmap & 255);\r\n }\r\n return result\r\n };\r\n} else {\r\n // 注意atob只能在全局对象上调用,例如:`const Base64 = {atob};Base64.atob('xxxx')`是错误的用法\r\n realAtob = atob;\r\n}\r\n\r\nfunction b64DecodeUnicode (str) {\r\n return decodeURIComponent(realAtob(str).split('').map(function (c) {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)\r\n }).join(''))\r\n}\r\n\r\nfunction getCurrentUserInfo () {\r\n const token = ( wx).getStorageSync('uni_id_token') || '';\r\n const tokenArr = token.split('.');\r\n if (!token || tokenArr.length !== 3) {\r\n return {\r\n uid: null,\r\n role: [],\r\n permission: [],\r\n tokenExpired: 0\r\n }\r\n }\r\n let userInfo;\r\n try {\r\n userInfo = JSON.parse(b64DecodeUnicode(tokenArr[1]));\r\n } catch (error) {\r\n throw new Error('获取当前用户信息出错,详细错误信息为:' + error.message)\r\n }\r\n userInfo.tokenExpired = userInfo.exp * 1000;\r\n delete userInfo.exp;\r\n delete userInfo.iat;\r\n return userInfo\r\n}\r\n\r\nfunction uniIdMixin (Vue) {\r\n Vue.prototype.uniIDHasRole = function (roleId) {\r\n const {\r\n role\r\n } = getCurrentUserInfo();\r\n return role.indexOf(roleId) > -1\r\n };\r\n Vue.prototype.uniIDHasPermission = function (permissionId) {\r\n const {\r\n permission\r\n } = getCurrentUserInfo();\r\n return this.uniIDHasRole('admin') || permission.indexOf(permissionId) > -1\r\n };\r\n Vue.prototype.uniIDTokenValid = function () {\r\n const {\r\n tokenExpired\r\n } = getCurrentUserInfo();\r\n return tokenExpired > Date.now()\r\n };\r\n}\r\n\r\nconst _toString = Object.prototype.toString;\r\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\n\r\nfunction isFn (fn) {\r\n return typeof fn === 'function'\r\n}\r\n\r\nfunction isStr (str) {\r\n return typeof str === 'string'\r\n}\r\n\r\nfunction isObject (obj) {\r\n return obj !== null && typeof obj === 'object'\r\n}\r\n\r\nfunction isPlainObject (obj) {\r\n return _toString.call(obj) === '[object Object]'\r\n}\r\n\r\nfunction hasOwn (obj, key) {\r\n return hasOwnProperty.call(obj, key)\r\n}\r\n\r\nfunction noop () {}\r\n\r\n/**\r\n * Create a cached version of a pure function.\r\n */\r\nfunction cached (fn) {\r\n const cache = Object.create(null);\r\n return function cachedFn (str) {\r\n const hit = cache[str];\r\n return hit || (cache[str] = fn(str))\r\n }\r\n}\r\n\r\n/**\r\n * Camelize a hyphen-delimited string.\r\n */\r\nconst camelizeRE = /-(\\w)/g;\r\nconst camelize = cached((str) => {\r\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\r\n});\r\n\r\nfunction sortObject (obj) {\r\n const sortObj = {};\r\n if (isPlainObject(obj)) {\r\n Object.keys(obj).sort().forEach(key => {\r\n sortObj[key] = obj[key];\r\n });\r\n }\r\n return !Object.keys(sortObj) ? obj : sortObj\r\n}\r\n\r\nconst HOOKS = [\r\n 'invoke',\r\n 'success',\r\n 'fail',\r\n 'complete',\r\n 'returnValue'\r\n];\r\n\r\nconst globalInterceptors = {};\r\nconst scopedInterceptors = {};\r\n\r\nfunction mergeHook (parentVal, childVal) {\r\n const res = childVal\r\n ? parentVal\r\n ? parentVal.concat(childVal)\r\n : Array.isArray(childVal)\r\n ? childVal : [childVal]\r\n : parentVal;\r\n return res\r\n ? dedupeHooks(res)\r\n : res\r\n}\r\n\r\nfunction dedupeHooks (hooks) {\r\n const res = [];\r\n for (let i = 0; i < hooks.length; i++) {\r\n if (res.indexOf(hooks[i]) === -1) {\r\n res.push(hooks[i]);\r\n }\r\n }\r\n return res\r\n}\r\n\r\nfunction removeHook (hooks, hook) {\r\n const index = hooks.indexOf(hook);\r\n if (index !== -1) {\r\n hooks.splice(index, 1);\r\n }\r\n}\r\n\r\nfunction mergeInterceptorHook (interceptor, option) {\r\n Object.keys(option).forEach(hook => {\r\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\r\n interceptor[hook] = mergeHook(interceptor[hook], option[hook]);\r\n }\r\n });\r\n}\r\n\r\nfunction removeInterceptorHook (interceptor, option) {\r\n if (!interceptor || !option) {\r\n return\r\n }\r\n Object.keys(option).forEach(hook => {\r\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\r\n removeHook(interceptor[hook], option[hook]);\r\n }\r\n });\r\n}\r\n\r\nfunction addInterceptor (method, option) {\r\n if (typeof method === 'string' && isPlainObject(option)) {\r\n mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), option);\r\n } else if (isPlainObject(method)) {\r\n mergeInterceptorHook(globalInterceptors, method);\r\n }\r\n}\r\n\r\nfunction removeInterceptor (method, option) {\r\n if (typeof method === 'string') {\r\n if (isPlainObject(option)) {\r\n removeInterceptorHook(scopedInterceptors[method], option);\r\n } else {\r\n delete scopedInterceptors[method];\r\n }\r\n } else if (isPlainObject(method)) {\r\n removeInterceptorHook(globalInterceptors, method);\r\n }\r\n}\r\n\r\nfunction wrapperHook (hook, params) {\r\n return function (data) {\r\n return hook(data, params) || data\r\n }\r\n}\r\n\r\nfunction isPromise (obj) {\r\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'\r\n}\r\n\r\nfunction queue (hooks, data, params) {\r\n let promise = false;\r\n for (let i = 0; i < hooks.length; i++) {\r\n const hook = hooks[i];\r\n if (promise) {\r\n promise = Promise.resolve(wrapperHook(hook, params));\r\n } else {\r\n const res = hook(data, params);\r\n if (isPromise(res)) {\r\n promise = Promise.resolve(res);\r\n }\r\n if (res === false) {\r\n return {\r\n then () { }\r\n }\r\n }\r\n }\r\n }\r\n return promise || {\r\n then (callback) {\r\n return callback(data)\r\n }\r\n }\r\n}\r\n\r\nfunction wrapperOptions (interceptor, options = {}) {\r\n ['success', 'fail', 'complete'].forEach(name => {\r\n if (Array.isArray(interceptor[name])) {\r\n const oldCallback = options[name];\r\n options[name] = function callbackInterceptor (res) {\r\n queue(interceptor[name], res, options).then((res) => {\r\n /* eslint-disable no-mixed-operators */\r\n return isFn(oldCallback) && oldCallback(res) || res\r\n });\r\n };\r\n }\r\n });\r\n return options\r\n}\r\n\r\nfunction wrapperReturnValue (method, returnValue) {\r\n const returnValueHooks = [];\r\n if (Array.isArray(globalInterceptors.returnValue)) {\r\n returnValueHooks.push(...globalInterceptors.returnValue);\r\n }\r\n const interceptor = scopedInterceptors[method];\r\n if (interceptor && Array.isArray(interceptor.returnValue)) {\r\n returnValueHooks.push(...interceptor.returnValue);\r\n }\r\n returnValueHooks.forEach(hook => {\r\n returnValue = hook(returnValue) || returnValue;\r\n });\r\n return returnValue\r\n}\r\n\r\nfunction getApiInterceptorHooks (method) {\r\n const interceptor = Object.create(null);\r\n Object.keys(globalInterceptors).forEach(hook => {\r\n if (hook !== 'returnValue') {\r\n interceptor[hook] = globalInterceptors[hook].slice();\r\n }\r\n });\r\n const scopedInterceptor = scopedInterceptors[method];\r\n if (scopedInterceptor) {\r\n Object.keys(scopedInterceptor).forEach(hook => {\r\n if (hook !== 'returnValue') {\r\n interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]);\r\n }\r\n });\r\n }\r\n return interceptor\r\n}\r\n\r\nfunction invokeApi (method, api, options, ...params) {\r\n const interceptor = getApiInterceptorHooks(method);\r\n if (interceptor && Object.keys(interceptor).length) {\r\n if (Array.isArray(interceptor.invoke)) {\r\n const res = queue(interceptor.invoke, options);\r\n return res.then((options) => {\r\n // 重新访问 getApiInterceptorHooks, 允许 invoke 中再次调用 addInterceptor,removeInterceptor\r\n return api(\r\n wrapperOptions(getApiInterceptorHooks(method), options),\r\n ...params\r\n )\r\n })\r\n } else {\r\n return api(wrapperOptions(interceptor, options), ...params)\r\n }\r\n }\r\n return api(options, ...params)\r\n}\r\n\r\nconst promiseInterceptor = {\r\n returnValue (res) {\r\n if (!isPromise(res)) {\r\n return res\r\n }\r\n return new Promise((resolve, reject) => {\r\n res.then(res => {\r\n if (res[0]) {\r\n reject(res[0]);\r\n } else {\r\n resolve(res[1]);\r\n }\r\n });\r\n })\r\n }\r\n};\r\n\r\nconst SYNC_API_RE =\r\n /^\\$|Window$|WindowStyle$|sendHostEvent|sendNativeEvent|restoreGlobal|requireGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64|getLocale|setLocale|invokePushCallback|getWindowInfo|getDeviceInfo|getAppBaseInfo|getSystemSetting|getAppAuthorizeSetting|initUTS|requireUTS|registerUTS/;\r\n\r\nconst CONTEXT_API_RE = /^create|Manager$/;\r\n\r\n// Context例外情况\r\nconst CONTEXT_API_RE_EXC = ['createBLEConnection'];\r\n\r\n// 同步例外情况\r\nconst ASYNC_API = ['createBLEConnection', 'createPushMessage'];\r\n\r\nconst CALLBACK_API_RE = /^on|^off/;\r\n\r\nfunction isContextApi (name) {\r\n return CONTEXT_API_RE.test(name) && CONTEXT_API_RE_EXC.indexOf(name) === -1\r\n}\r\nfunction isSyncApi (name) {\r\n return SYNC_API_RE.test(name) && ASYNC_API.indexOf(name) === -1\r\n}\r\n\r\nfunction isCallbackApi (name) {\r\n return CALLBACK_API_RE.test(name) && name !== 'onPush'\r\n}\r\n\r\nfunction handlePromise (promise) {\r\n return promise.then(data => {\r\n return [null, data]\r\n })\r\n .catch(err => [err])\r\n}\r\n\r\nfunction shouldPromise (name) {\r\n if (\r\n isContextApi(name) ||\r\n isSyncApi(name) ||\r\n isCallbackApi(name)\r\n ) {\r\n return false\r\n }\r\n return true\r\n}\r\n\r\n/* eslint-disable no-extend-native */\r\nif (!Promise.prototype.finally) {\r\n Promise.prototype.finally = function (callback) {\r\n const promise = this.constructor;\r\n return this.then(\r\n value => promise.resolve(callback()).then(() => value),\r\n reason => promise.resolve(callback()).then(() => {\r\n throw reason\r\n })\r\n )\r\n };\r\n}\r\n\r\nfunction promisify (name, api) {\r\n if (!shouldPromise(name) || !isFn(api)) {\r\n return api\r\n }\r\n return function promiseApi (options = {}, ...params) {\r\n if (isFn(options.success) || isFn(options.fail) || isFn(options.complete)) {\r\n return wrapperReturnValue(name, invokeApi(name, api, options, ...params))\r\n }\r\n return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => {\r\n invokeApi(name, api, Object.assign({}, options, {\r\n success: resolve,\r\n fail: reject\r\n }), ...params);\r\n })))\r\n }\r\n}\r\n\r\nconst EPS = 1e-4;\r\nconst BASE_DEVICE_WIDTH = 750;\r\nlet isIOS = false;\r\nlet deviceWidth = 0;\r\nlet deviceDPR = 0;\r\n\r\nfunction checkDeviceWidth () {\r\n const {\r\n platform,\r\n pixelRatio,\r\n windowWidth\r\n } = wx.getSystemInfoSync(); // uni=>wx runtime 编译目标是 uni 对象,内部不允许直接使用 uni\r\n\r\n deviceWidth = windowWidth;\r\n deviceDPR = pixelRatio;\r\n isIOS = platform === 'ios';\r\n}\r\n\r\nfunction upx2px (number, newDeviceWidth) {\r\n if (deviceWidth === 0) {\r\n checkDeviceWidth();\r\n }\r\n\r\n number = Number(number);\r\n if (number === 0) {\r\n return 0\r\n }\r\n let result = (number / BASE_DEVICE_WIDTH) * (newDeviceWidth || deviceWidth);\r\n if (result < 0) {\r\n result = -result;\r\n }\r\n result = Math.floor(result + EPS);\r\n if (result === 0) {\r\n if (deviceDPR === 1 || !isIOS) {\r\n result = 1;\r\n } else {\r\n result = 0.5;\r\n }\r\n }\r\n return number < 0 ? -result : result\r\n}\r\n\r\nconst LOCALE_ZH_HANS = 'zh-Hans';\r\nconst LOCALE_ZH_HANT = 'zh-Hant';\r\nconst LOCALE_EN = 'en';\r\nconst LOCALE_FR = 'fr';\r\nconst LOCALE_ES = 'es';\r\n\r\nconst messages = {};\r\n\r\nlet locale;\r\n\r\n{\r\n locale = normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN;\r\n}\r\n\r\nfunction initI18nMessages () {\r\n if (!isEnableLocale()) {\r\n return\r\n }\r\n const localeKeys = Object.keys(__uniConfig.locales);\r\n if (localeKeys.length) {\r\n localeKeys.forEach((locale) => {\r\n const curMessages = messages[locale];\r\n const userMessages = __uniConfig.locales[locale];\r\n if (curMessages) {\r\n Object.assign(curMessages, userMessages);\r\n } else {\r\n messages[locale] = userMessages;\r\n }\r\n });\r\n }\r\n}\r\n\r\ninitI18nMessages();\r\n\r\nconst i18n = initVueI18n(\r\n locale,\r\n {}\r\n);\r\nconst t = i18n.t;\r\nconst i18nMixin = (i18n.mixin = {\r\n beforeCreate () {\r\n const unwatch = i18n.i18n.watchLocale(() => {\r\n this.$forceUpdate();\r\n });\r\n this.$once('hook:beforeDestroy', function () {\r\n unwatch();\r\n });\r\n },\r\n methods: {\r\n $$t (key, values) {\r\n return t(key, values)\r\n }\r\n }\r\n});\r\nconst setLocale = i18n.setLocale;\r\nconst getLocale = i18n.getLocale;\r\n\r\nfunction initAppLocale (Vue, appVm, locale) {\r\n const state = Vue.observable({\r\n locale: locale || i18n.getLocale()\r\n });\r\n const localeWatchers = [];\r\n appVm.$watchLocale = fn => {\r\n localeWatchers.push(fn);\r\n };\r\n Object.defineProperty(appVm, '$locale', {\r\n get () {\r\n return state.locale\r\n },\r\n set (v) {\r\n state.locale = v;\r\n localeWatchers.forEach(watch => watch(v));\r\n }\r\n });\r\n}\r\n\r\nfunction isEnableLocale () {\r\n return typeof __uniConfig !== 'undefined' && __uniConfig.locales && !!Object.keys(__uniConfig.locales).length\r\n}\r\n\r\nfunction include (str, parts) {\r\n return !!parts.find((part) => str.indexOf(part) !== -1)\r\n}\r\n\r\nfunction startsWith (str, parts) {\r\n return parts.find((part) => str.indexOf(part) === 0)\r\n}\r\n\r\nfunction normalizeLocale (locale, messages) {\r\n if (!locale) {\r\n return\r\n }\r\n locale = locale.trim().replace(/_/g, '-');\r\n if (messages && messages[locale]) {\r\n return locale\r\n }\r\n locale = locale.toLowerCase();\r\n if (locale === 'chinese') {\r\n // 支付宝\r\n return LOCALE_ZH_HANS\r\n }\r\n if (locale.indexOf('zh') === 0) {\r\n if (locale.indexOf('-hans') > -1) {\r\n return LOCALE_ZH_HANS\r\n }\r\n if (locale.indexOf('-hant') > -1) {\r\n return LOCALE_ZH_HANT\r\n }\r\n if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {\r\n return LOCALE_ZH_HANT\r\n }\r\n return LOCALE_ZH_HANS\r\n }\r\n const lang = startsWith(locale, [LOCALE_EN, LOCALE_FR, LOCALE_ES]);\r\n if (lang) {\r\n return lang\r\n }\r\n}\r\n// export function initI18n() {\r\n// const localeKeys = Object.keys(__uniConfig.locales || {})\r\n// if (localeKeys.length) {\r\n// localeKeys.forEach((locale) =>\r\n// i18n.add(locale, __uniConfig.locales[locale])\r\n// )\r\n// }\r\n// }\r\n\r\nfunction getLocale$1 () {\r\n // 优先使用 $locale\r\n if (isFn(getApp)) {\r\n const app = getApp({\r\n allowDefault: true\r\n });\r\n if (app && app.$vm) {\r\n return app.$vm.$locale\r\n }\r\n }\r\n return normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN\r\n}\r\n\r\nfunction setLocale$1 (locale) {\r\n const app = isFn(getApp) ? getApp() : false;\r\n if (!app) {\r\n return false\r\n }\r\n const oldLocale = app.$vm.$locale;\r\n if (oldLocale !== locale) {\r\n app.$vm.$locale = locale;\r\n onLocaleChangeCallbacks.forEach((fn) => fn({\r\n locale\r\n }));\r\n return true\r\n }\r\n return false\r\n}\r\n\r\nconst onLocaleChangeCallbacks = [];\r\nfunction onLocaleChange (fn) {\r\n if (onLocaleChangeCallbacks.indexOf(fn) === -1) {\r\n onLocaleChangeCallbacks.push(fn);\r\n }\r\n}\r\n\r\nif (typeof global !== 'undefined') {\r\n global.getLocale = getLocale$1;\r\n}\r\n\r\nconst interceptors = {\r\n promiseInterceptor\r\n};\r\n\r\nvar baseApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n upx2px: upx2px,\r\n getLocale: getLocale$1,\r\n setLocale: setLocale$1,\r\n onLocaleChange: onLocaleChange,\r\n addInterceptor: addInterceptor,\r\n removeInterceptor: removeInterceptor,\r\n interceptors: interceptors\r\n});\r\n\r\nfunction findExistsPageIndex (url) {\r\n const pages = getCurrentPages();\r\n let len = pages.length;\r\n while (len--) {\r\n const page = pages[len];\r\n if (page.$page && page.$page.fullPath === url) {\r\n return len\r\n }\r\n }\r\n return -1\r\n}\r\n\r\nvar redirectTo = {\r\n name (fromArgs) {\r\n if (fromArgs.exists === 'back' && fromArgs.delta) {\r\n return 'navigateBack'\r\n }\r\n return 'redirectTo'\r\n },\r\n args (fromArgs) {\r\n if (fromArgs.exists === 'back' && fromArgs.url) {\r\n const existsPageIndex = findExistsPageIndex(fromArgs.url);\r\n if (existsPageIndex !== -1) {\r\n const delta = getCurrentPages().length - 1 - existsPageIndex;\r\n if (delta > 0) {\r\n fromArgs.delta = delta;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nvar previewImage = {\r\n args (fromArgs) {\r\n let currentIndex = parseInt(fromArgs.current);\r\n if (isNaN(currentIndex)) {\r\n return\r\n }\r\n const urls = fromArgs.urls;\r\n if (!Array.isArray(urls)) {\r\n return\r\n }\r\n const len = urls.length;\r\n if (!len) {\r\n return\r\n }\r\n if (currentIndex < 0) {\r\n currentIndex = 0;\r\n } else if (currentIndex >= len) {\r\n currentIndex = len - 1;\r\n }\r\n if (currentIndex > 0) {\r\n fromArgs.current = urls[currentIndex];\r\n fromArgs.urls = urls.filter(\r\n (item, index) => index < currentIndex ? item !== urls[currentIndex] : true\r\n );\r\n } else {\r\n fromArgs.current = urls[0];\r\n }\r\n return {\r\n indicator: false,\r\n loop: false\r\n }\r\n }\r\n};\r\n\r\nconst UUID_KEY = '__DC_STAT_UUID';\r\nlet deviceId;\r\nfunction useDeviceId (result) {\r\n deviceId = deviceId || wx.getStorageSync(UUID_KEY);\r\n if (!deviceId) {\r\n deviceId = Date.now() + '' + Math.floor(Math.random() * 1e7);\r\n wx.setStorage({\r\n key: UUID_KEY,\r\n data: deviceId\r\n });\r\n }\r\n result.deviceId = deviceId;\r\n}\r\n\r\nfunction addSafeAreaInsets (result) {\r\n if (result.safeArea) {\r\n const safeArea = result.safeArea;\r\n result.safeAreaInsets = {\r\n top: safeArea.top,\r\n left: safeArea.left,\r\n right: result.windowWidth - safeArea.right,\r\n bottom: result.screenHeight - safeArea.bottom\r\n };\r\n }\r\n}\r\n\r\nfunction populateParameters (result) {\r\n const {\r\n brand = '', model = '', system = '',\r\n language = '', theme, version,\r\n platform, fontSizeSetting,\r\n SDKVersion, pixelRatio, deviceOrientation\r\n } = result;\r\n // const isQuickApp = \"mp-weixin\".indexOf('quickapp-webview') !== -1\r\n\r\n const extraParam = {};\r\n\r\n // osName osVersion\r\n let osName = '';\r\n let osVersion = '';\r\n {\r\n osName = system.split(' ')[0] || '';\r\n osVersion = system.split(' ')[1] || '';\r\n }\r\n let hostVersion = version;\r\n\r\n // deviceType\r\n const deviceType = getGetDeviceType(result, model);\r\n\r\n // deviceModel\r\n const deviceBrand = getDeviceBrand(brand);\r\n\r\n // hostName\r\n const _hostName = getHostName(result);\r\n\r\n // deviceOrientation\r\n let _deviceOrientation = deviceOrientation; // 仅 微信 百度 支持\r\n\r\n // devicePixelRatio\r\n let _devicePixelRatio = pixelRatio;\r\n\r\n // SDKVersion\r\n let _SDKVersion = SDKVersion;\r\n\r\n // hostLanguage\r\n const hostLanguage = language.replace(/_/g, '-');\r\n\r\n // wx.getAccountInfoSync\r\n\r\n const parameters = {\r\n appId: process.env.UNI_APP_ID,\r\n appName: process.env.UNI_APP_NAME,\r\n appVersion: process.env.UNI_APP_VERSION_NAME,\r\n appVersionCode: process.env.UNI_APP_VERSION_CODE,\r\n appLanguage: getAppLanguage(hostLanguage),\r\n uniCompileVersion: process.env.UNI_COMPILER_VERSION,\r\n uniRuntimeVersion: process.env.UNI_COMPILER_VERSION,\r\n uniPlatform: process.env.UNI_SUB_PLATFORM || process.env.UNI_PLATFORM,\r\n deviceBrand,\r\n deviceModel: model,\r\n deviceType,\r\n devicePixelRatio: _devicePixelRatio,\r\n deviceOrientation: _deviceOrientation,\r\n osName: osName.toLocaleLowerCase(),\r\n osVersion,\r\n hostTheme: theme,\r\n hostVersion,\r\n hostLanguage,\r\n hostName: _hostName,\r\n hostSDKVersion: _SDKVersion,\r\n hostFontSizeSetting: fontSizeSetting,\r\n windowTop: 0,\r\n windowBottom: 0,\r\n // TODO\r\n osLanguage: undefined,\r\n osTheme: undefined,\r\n ua: undefined,\r\n hostPackageName: undefined,\r\n browserName: undefined,\r\n browserVersion: undefined\r\n };\r\n\r\n Object.assign(result, parameters, extraParam);\r\n}\r\n\r\nfunction getGetDeviceType (result, model) {\r\n let deviceType = result.deviceType || 'phone';\r\n {\r\n const deviceTypeMaps = {\r\n ipad: 'pad',\r\n windows: 'pc',\r\n mac: 'pc'\r\n };\r\n const deviceTypeMapsKeys = Object.keys(deviceTypeMaps);\r\n const _model = model.toLocaleLowerCase();\r\n for (let index = 0; index < deviceTypeMapsKeys.length; index++) {\r\n const _m = deviceTypeMapsKeys[index];\r\n if (_model.indexOf(_m) !== -1) {\r\n deviceType = deviceTypeMaps[_m];\r\n break\r\n }\r\n }\r\n }\r\n return deviceType\r\n}\r\n\r\nfunction getDeviceBrand (brand) {\r\n let deviceBrand = brand;\r\n if (deviceBrand) {\r\n deviceBrand = brand.toLocaleLowerCase();\r\n }\r\n return deviceBrand\r\n}\r\n\r\nfunction getAppLanguage (defaultLanguage) {\r\n return getLocale$1\r\n ? getLocale$1()\r\n : defaultLanguage\r\n}\r\n\r\nfunction getHostName (result) {\r\n const _platform = 'WeChat' ;\r\n let _hostName = result.hostName || _platform; // mp-jd\r\n {\r\n if (result.environment) {\r\n _hostName = result.environment;\r\n } else if (result.host && result.host.env) {\r\n _hostName = result.host.env;\r\n }\r\n }\r\n\r\n return _hostName\r\n}\r\n\r\nvar getSystemInfo = {\r\n returnValue: function (result) {\r\n useDeviceId(result);\r\n addSafeAreaInsets(result);\r\n populateParameters(result);\r\n }\r\n};\r\n\r\nvar showActionSheet = {\r\n args (fromArgs) {\r\n if (typeof fromArgs === 'object') {\r\n fromArgs.alertText = fromArgs.title;\r\n }\r\n }\r\n};\r\n\r\nvar getAppBaseInfo = {\r\n returnValue: function (result) {\r\n const { version, language, SDKVersion, theme } = result;\r\n\r\n const _hostName = getHostName(result);\r\n\r\n const hostLanguage = language.replace('_', '-');\r\n\r\n result = sortObject(Object.assign(result, {\r\n appId: process.env.UNI_APP_ID,\r\n appName: process.env.UNI_APP_NAME,\r\n appVersion: process.env.UNI_APP_VERSION_NAME,\r\n appVersionCode: process.env.UNI_APP_VERSION_CODE,\r\n appLanguage: getAppLanguage(hostLanguage),\r\n hostVersion: version,\r\n hostLanguage,\r\n hostName: _hostName,\r\n hostSDKVersion: SDKVersion,\r\n hostTheme: theme\r\n }));\r\n }\r\n};\r\n\r\nvar getDeviceInfo = {\r\n returnValue: function (result) {\r\n const { brand, model } = result;\r\n const deviceType = getGetDeviceType(result, model);\r\n const deviceBrand = getDeviceBrand(brand);\r\n useDeviceId(result);\r\n\r\n result = sortObject(Object.assign(result, {\r\n deviceType,\r\n deviceBrand,\r\n deviceModel: model\r\n }));\r\n }\r\n};\r\n\r\nvar getWindowInfo = {\r\n returnValue: function (result) {\r\n addSafeAreaInsets(result);\r\n\r\n result = sortObject(Object.assign(result, {\r\n windowTop: 0,\r\n windowBottom: 0\r\n }));\r\n }\r\n};\r\n\r\nvar getAppAuthorizeSetting = {\r\n returnValue: function (result) {\r\n const { locationReducedAccuracy } = result;\r\n\r\n result.locationAccuracy = 'unsupported';\r\n if (locationReducedAccuracy === true) {\r\n result.locationAccuracy = 'reduced';\r\n } else if (locationReducedAccuracy === false) {\r\n result.locationAccuracy = 'full';\r\n }\r\n }\r\n};\r\n\r\n// import navigateTo from 'uni-helpers/navigate-to'\r\n\r\nconst compressImage = {\r\n args (fromArgs) {\r\n // https://developers.weixin.qq.com/community/develop/doc/000c08940c865011298e0a43256800?highLine=compressHeight\r\n if (fromArgs.compressedHeight && !fromArgs.compressHeight) {\r\n fromArgs.compressHeight = fromArgs.compressedHeight;\r\n }\r\n if (fromArgs.compressedWidth && !fromArgs.compressWidth) {\r\n fromArgs.compressWidth = fromArgs.compressedWidth;\r\n }\r\n }\r\n};\r\n\r\nconst protocols = {\r\n redirectTo,\r\n // navigateTo, // 由于在微信开发者工具的页面参数,会显示__id__参数,因此暂时关闭mp-weixin对于navigateTo的AOP\r\n previewImage,\r\n getSystemInfo,\r\n getSystemInfoSync: getSystemInfo,\r\n showActionSheet,\r\n getAppBaseInfo,\r\n getDeviceInfo,\r\n getWindowInfo,\r\n getAppAuthorizeSetting,\r\n compressImage\r\n};\r\nconst todos = [\r\n 'vibrate',\r\n 'preloadPage',\r\n 'unPreloadPage',\r\n 'loadSubPackage'\r\n];\r\nconst canIUses = [];\r\n\r\nconst CALLBACKS = ['success', 'fail', 'cancel', 'complete'];\r\n\r\nfunction processCallback (methodName, method, returnValue) {\r\n return function (res) {\r\n return method(processReturnValue(methodName, res, returnValue))\r\n }\r\n}\r\n\r\nfunction processArgs (methodName, fromArgs, argsOption = {}, returnValue = {}, keepFromArgs = false) {\r\n if (isPlainObject(fromArgs)) { // 一般 api 的参数解析\r\n const toArgs = keepFromArgs === true ? fromArgs : {}; // returnValue 为 false 时,说明是格式化返回值,直接在返回值对象上修改赋值\r\n if (isFn(argsOption)) {\r\n argsOption = argsOption(fromArgs, toArgs) || {};\r\n }\r\n for (const key in fromArgs) {\r\n if (hasOwn(argsOption, key)) {\r\n let keyOption = argsOption[key];\r\n if (isFn(keyOption)) {\r\n keyOption = keyOption(fromArgs[key], fromArgs, toArgs);\r\n }\r\n if (!keyOption) { // 不支持的参数\r\n console.warn(`The '${methodName}' method of platform '微信小程序' does not support option '${key}'`);\r\n } else if (isStr(keyOption)) { // 重写参数 key\r\n toArgs[keyOption] = fromArgs[key];\r\n } else if (isPlainObject(keyOption)) { // {name:newName,value:value}可重新指定参数 key:value\r\n toArgs[keyOption.name ? keyOption.name : key] = keyOption.value;\r\n }\r\n } else if (CALLBACKS.indexOf(key) !== -1) {\r\n if (isFn(fromArgs[key])) {\r\n toArgs[key] = processCallback(methodName, fromArgs[key], returnValue);\r\n }\r\n } else {\r\n if (!keepFromArgs) {\r\n toArgs[key] = fromArgs[key];\r\n }\r\n }\r\n }\r\n return toArgs\r\n } else if (isFn(fromArgs)) {\r\n fromArgs = processCallback(methodName, fromArgs, returnValue);\r\n }\r\n return fromArgs\r\n}\r\n\r\nfunction processReturnValue (methodName, res, returnValue, keepReturnValue = false) {\r\n if (isFn(protocols.returnValue)) { // 处理通用 returnValue\r\n res = protocols.returnValue(methodName, res);\r\n }\r\n return processArgs(methodName, res, returnValue, {}, keepReturnValue)\r\n}\r\n\r\nfunction wrapper (methodName, method) {\r\n if (hasOwn(protocols, methodName)) {\r\n const protocol = protocols[methodName];\r\n if (!protocol) { // 暂不支持的 api\r\n return function () {\r\n console.error(`Platform '微信小程序' does not support '${methodName}'.`);\r\n }\r\n }\r\n return function (arg1, arg2) { // 目前 api 最多两个参数\r\n let options = protocol;\r\n if (isFn(protocol)) {\r\n options = protocol(arg1);\r\n }\r\n\r\n arg1 = processArgs(methodName, arg1, options.args, options.returnValue);\r\n\r\n const args = [arg1];\r\n if (typeof arg2 !== 'undefined') {\r\n args.push(arg2);\r\n }\r\n if (isFn(options.name)) {\r\n methodName = options.name(arg1);\r\n } else if (isStr(options.name)) {\r\n methodName = options.name;\r\n }\r\n const returnValue = wx[methodName].apply(wx, args);\r\n if (isSyncApi(methodName)) { // 同步 api\r\n return processReturnValue(methodName, returnValue, options.returnValue, isContextApi(methodName))\r\n }\r\n return returnValue\r\n }\r\n }\r\n return method\r\n}\r\n\r\nconst todoApis = Object.create(null);\r\n\r\nconst TODOS = [\r\n 'onTabBarMidButtonTap',\r\n 'subscribePush',\r\n 'unsubscribePush',\r\n 'onPush',\r\n 'offPush',\r\n 'share'\r\n];\r\n\r\nfunction createTodoApi (name) {\r\n return function todoApi ({\r\n fail,\r\n complete\r\n }) {\r\n const res = {\r\n errMsg: `${name}:fail method '${name}' not supported`\r\n };\r\n isFn(fail) && fail(res);\r\n isFn(complete) && complete(res);\r\n }\r\n}\r\n\r\nTODOS.forEach(function (name) {\r\n todoApis[name] = createTodoApi(name);\r\n});\r\n\r\nvar providers = {\r\n oauth: ['weixin'],\r\n share: ['weixin'],\r\n payment: ['wxpay'],\r\n push: ['weixin']\r\n};\r\n\r\nfunction getProvider ({\r\n service,\r\n success,\r\n fail,\r\n complete\r\n}) {\r\n let res = false;\r\n if (providers[service]) {\r\n res = {\r\n errMsg: 'getProvider:ok',\r\n service,\r\n provider: providers[service]\r\n };\r\n isFn(success) && success(res);\r\n } else {\r\n res = {\r\n errMsg: 'getProvider:fail service not found'\r\n };\r\n isFn(fail) && fail(res);\r\n }\r\n isFn(complete) && complete(res);\r\n}\r\n\r\nvar extraApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n getProvider: getProvider\r\n});\r\n\r\nconst getEmitter = (function () {\r\n let Emitter;\r\n return function getUniEmitter () {\r\n if (!Emitter) {\r\n Emitter = new Vue();\r\n }\r\n return Emitter\r\n }\r\n})();\r\n\r\nfunction apply (ctx, method, args) {\r\n return ctx[method].apply(ctx, args)\r\n}\r\n\r\nfunction $on () {\r\n return apply(getEmitter(), '$on', [...arguments])\r\n}\r\nfunction $off () {\r\n return apply(getEmitter(), '$off', [...arguments])\r\n}\r\nfunction $once () {\r\n return apply(getEmitter(), '$once', [...arguments])\r\n}\r\nfunction $emit () {\r\n return apply(getEmitter(), '$emit', [...arguments])\r\n}\r\n\r\nvar eventApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n $on: $on,\r\n $off: $off,\r\n $once: $once,\r\n $emit: $emit\r\n});\r\n\r\n/**\r\n * 框架内 try-catch\r\n */\r\n/**\r\n * 开发者 try-catch\r\n */\r\nfunction tryCatch (fn) {\r\n return function () {\r\n try {\r\n return fn.apply(fn, arguments)\r\n } catch (e) {\r\n // TODO\r\n console.error(e);\r\n }\r\n }\r\n}\r\n\r\nfunction getApiCallbacks (params) {\r\n const apiCallbacks = {};\r\n for (const name in params) {\r\n const param = params[name];\r\n if (isFn(param)) {\r\n apiCallbacks[name] = tryCatch(param);\r\n delete params[name];\r\n }\r\n }\r\n return apiCallbacks\r\n}\r\n\r\nlet cid;\r\nlet cidErrMsg;\r\nlet enabled;\r\n\r\nfunction normalizePushMessage (message) {\r\n try {\r\n return JSON.parse(message)\r\n } catch (e) {}\r\n return message\r\n}\r\n\r\nfunction invokePushCallback (\r\n args\r\n) {\r\n if (args.type === 'enabled') {\r\n enabled = true;\r\n } else if (args.type === 'clientId') {\r\n cid = args.cid;\r\n cidErrMsg = args.errMsg;\r\n invokeGetPushCidCallbacks(cid, args.errMsg);\r\n } else if (args.type === 'pushMsg') {\r\n const message = {\r\n type: 'receive',\r\n data: normalizePushMessage(args.message)\r\n };\r\n for (let i = 0; i < onPushMessageCallbacks.length; i++) {\r\n const callback = onPushMessageCallbacks[i];\r\n callback(message);\r\n // 该消息已被阻止\r\n if (message.stopped) {\r\n break\r\n }\r\n }\r\n } else if (args.type === 'click') {\r\n onPushMessageCallbacks.forEach((callback) => {\r\n callback({\r\n type: 'click',\r\n data: normalizePushMessage(args.message)\r\n });\r\n });\r\n }\r\n}\r\n\r\nconst getPushCidCallbacks = [];\r\n\r\nfunction invokeGetPushCidCallbacks (cid, errMsg) {\r\n getPushCidCallbacks.forEach((callback) => {\r\n callback(cid, errMsg);\r\n });\r\n getPushCidCallbacks.length = 0;\r\n}\r\n\r\nfunction getPushClientId (args) {\r\n if (!isPlainObject(args)) {\r\n args = {};\r\n }\r\n const {\r\n success,\r\n fail,\r\n complete\r\n } = getApiCallbacks(args);\r\n const hasSuccess = isFn(success);\r\n const hasFail = isFn(fail);\r\n const hasComplete = isFn(complete);\r\n\r\n Promise.resolve().then(() => {\r\n if (typeof enabled === 'undefined') {\r\n enabled = false;\r\n cid = '';\r\n cidErrMsg = 'uniPush is not enabled';\r\n }\r\n getPushCidCallbacks.push((cid, errMsg) => {\r\n let res;\r\n if (cid) {\r\n res = {\r\n errMsg: 'getPushClientId:ok',\r\n cid\r\n };\r\n hasSuccess && success(res);\r\n } else {\r\n res = {\r\n errMsg: 'getPushClientId:fail' + (errMsg ? ' ' + errMsg : '')\r\n };\r\n hasFail && fail(res);\r\n }\r\n hasComplete && complete(res);\r\n });\r\n if (typeof cid !== 'undefined') {\r\n invokeGetPushCidCallbacks(cid, cidErrMsg);\r\n }\r\n });\r\n}\r\n\r\nconst onPushMessageCallbacks = [];\r\n// 不使用 defineOnApi 实现,是因为 defineOnApi 依赖 UniServiceJSBridge ,该对象目前在小程序上未提供,故简单实现\r\nconst onPushMessage = (fn) => {\r\n if (onPushMessageCallbacks.indexOf(fn) === -1) {\r\n onPushMessageCallbacks.push(fn);\r\n }\r\n};\r\n\r\nconst offPushMessage = (fn) => {\r\n if (!fn) {\r\n onPushMessageCallbacks.length = 0;\r\n } else {\r\n const index = onPushMessageCallbacks.indexOf(fn);\r\n if (index > -1) {\r\n onPushMessageCallbacks.splice(index, 1);\r\n }\r\n }\r\n};\r\n\r\nlet baseInfo = wx.getAppBaseInfo && wx.getAppBaseInfo();\r\nif (!baseInfo) {\r\n baseInfo = wx.getSystemInfoSync();\r\n}\r\nconst host = baseInfo ? baseInfo.host : null;\r\nconst shareVideoMessage =\r\n host && host.env === 'SAAASDK' ? wx.miniapp.shareVideoMessage : wx.shareVideoMessage;\r\n\r\nvar api = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n shareVideoMessage: shareVideoMessage,\r\n getPushClientId: getPushClientId,\r\n onPushMessage: onPushMessage,\r\n offPushMessage: offPushMessage,\r\n invokePushCallback: invokePushCallback\r\n});\r\n\r\nconst mocks = ['__route__', '__wxExparserNodeId__', '__wxWebviewId__'];\r\n\r\nfunction findVmByVueId (vm, vuePid) {\r\n const $children = vm.$children;\r\n // 优先查找直属(反向查找:https://github.com/dcloudio/uni-app/issues/1200)\r\n for (let i = $children.length - 1; i >= 0; i--) {\r\n const childVm = $children[i];\r\n if (childVm.$scope._$vueId === vuePid) {\r\n return childVm\r\n }\r\n }\r\n // 反向递归查找\r\n let parentVm;\r\n for (let i = $children.length - 1; i >= 0; i--) {\r\n parentVm = findVmByVueId($children[i], vuePid);\r\n if (parentVm) {\r\n return parentVm\r\n }\r\n }\r\n}\r\n\r\nfunction initBehavior (options) {\r\n return Behavior(options)\r\n}\r\n\r\nfunction isPage () {\r\n return !!this.route\r\n}\r\n\r\nfunction initRelation (detail) {\r\n this.triggerEvent('__l', detail);\r\n}\r\n\r\nfunction selectAllComponents (mpInstance, selector, $refs) {\r\n const components = mpInstance.selectAllComponents(selector) || [];\r\n components.forEach(component => {\r\n const ref = component.dataset.ref;\r\n $refs[ref] = component.$vm || toSkip(component);\r\n {\r\n if (component.dataset.vueGeneric === 'scoped') {\r\n component.selectAllComponents('.scoped-ref').forEach(scopedComponent => {\r\n selectAllComponents(scopedComponent, selector, $refs);\r\n });\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction syncRefs (refs, newRefs) {\r\n const oldKeys = new Set(...Object.keys(refs));\r\n const newKeys = Object.keys(newRefs);\r\n newKeys.forEach(key => {\r\n const oldValue = refs[key];\r\n const newValue = newRefs[key];\r\n if (Array.isArray(oldValue) && Array.isArray(newValue) && oldValue.length === newValue.length && newValue.every(value => oldValue.includes(value))) {\r\n return\r\n }\r\n refs[key] = newValue;\r\n oldKeys.delete(key);\r\n });\r\n oldKeys.forEach(key => {\r\n delete refs[key];\r\n });\r\n return refs\r\n}\r\n\r\nfunction initRefs (vm) {\r\n const mpInstance = vm.$scope;\r\n const refs = {};\r\n Object.defineProperty(vm, '$refs', {\r\n get () {\r\n const $refs = {};\r\n selectAllComponents(mpInstance, '.vue-ref', $refs);\r\n // TODO 暂不考虑 for 中的 scoped\r\n const forComponents = mpInstance.selectAllComponents('.vue-ref-in-for') || [];\r\n forComponents.forEach(component => {\r\n const ref = component.dataset.ref;\r\n if (!$refs[ref]) {\r\n $refs[ref] = [];\r\n }\r\n $refs[ref].push(component.$vm || toSkip(component));\r\n });\r\n return syncRefs(refs, $refs)\r\n }\r\n });\r\n}\r\n\r\nfunction handleLink (event) {\r\n const {\r\n vuePid,\r\n vueOptions\r\n } = event.detail || event.value; // detail 是微信,value 是百度(dipatch)\r\n\r\n let parentVm;\r\n\r\n if (vuePid) {\r\n parentVm = findVmByVueId(this.$vm, vuePid);\r\n }\r\n\r\n if (!parentVm) {\r\n parentVm = this.$vm;\r\n }\r\n\r\n vueOptions.parent = parentVm;\r\n}\r\n\r\nfunction markMPComponent (component) {\r\n // 在 Vue 中标记为小程序组件\r\n const IS_MP = '__v_isMPComponent';\r\n Object.defineProperty(component, IS_MP, {\r\n configurable: true,\r\n enumerable: false,\r\n value: true\r\n });\r\n return component\r\n}\r\n\r\nfunction toSkip (obj) {\r\n const OB = '__ob__';\r\n const SKIP = '__v_skip';\r\n if (isObject(obj) && Object.isExtensible(obj)) {\r\n // 避免被 @vue/composition-api 观测\r\n Object.defineProperty(obj, OB, {\r\n configurable: true,\r\n enumerable: false,\r\n value: {\r\n [SKIP]: true\r\n }\r\n });\r\n }\r\n return obj\r\n}\r\n\r\nconst WORKLET_RE = /_(.*)_worklet_factory_/;\r\nfunction initWorkletMethods (mpMethods, vueMethods) {\r\n if (vueMethods) {\r\n Object.keys(vueMethods).forEach((name) => {\r\n const matches = name.match(WORKLET_RE);\r\n if (matches) {\r\n const workletName = matches[1];\r\n mpMethods[name] = vueMethods[name];\r\n mpMethods[workletName] = vueMethods[workletName];\r\n }\r\n });\r\n }\r\n}\r\n\r\nconst MPPage = Page;\r\nconst MPComponent = Component;\r\n\r\nconst customizeRE = /:/g;\r\n\r\nconst customize = cached((str) => {\r\n return camelize(str.replace(customizeRE, '-'))\r\n});\r\n\r\nfunction initTriggerEvent (mpInstance) {\r\n const oldTriggerEvent = mpInstance.triggerEvent;\r\n const newTriggerEvent = function (event, ...args) {\r\n // 事件名统一转驼峰格式,仅处理:当前组件为 vue 组件、当前组件为 vue 组件子组件\r\n if (this.$vm || (this.dataset && this.dataset.comType)) {\r\n event = customize(event);\r\n } else {\r\n // 针对微信/QQ小程序单独补充驼峰格式事件,以兼容历史项目\r\n const newEvent = customize(event);\r\n if (newEvent !== event) {\r\n oldTriggerEvent.apply(this, [newEvent, ...args]);\r\n }\r\n }\r\n return oldTriggerEvent.apply(this, [event, ...args])\r\n };\r\n try {\r\n // 京东小程序 triggerEvent 为只读\r\n mpInstance.triggerEvent = newTriggerEvent;\r\n } catch (error) {\r\n mpInstance._triggerEvent = newTriggerEvent;\r\n }\r\n}\r\n\r\nfunction initHook (name, options, isComponent) {\r\n const oldHook = options[name];\r\n options[name] = function (...args) {\r\n markMPComponent(this);\r\n initTriggerEvent(this);\r\n if (oldHook) {\r\n return oldHook.apply(this, args)\r\n }\r\n };\r\n}\r\nif (!MPPage.__$wrappered) {\r\n MPPage.__$wrappered = true;\r\n Page = function (options = {}) {\r\n initHook('onLoad', options);\r\n return MPPage(options)\r\n };\r\n Page.after = MPPage.after;\r\n\r\n Component = function (options = {}) {\r\n initHook('created', options);\r\n return MPComponent(options)\r\n };\r\n}\r\n\r\nconst PAGE_EVENT_HOOKS = [\r\n 'onPullDownRefresh',\r\n 'onReachBottom',\r\n 'onAddToFavorites',\r\n 'onShareTimeline',\r\n 'onShareAppMessage',\r\n 'onPageScroll',\r\n 'onResize',\r\n 'onTabItemTap'\r\n];\r\n\r\nfunction initMocks (vm, mocks) {\r\n const mpInstance = vm.$mp[vm.mpType];\r\n mocks.forEach(mock => {\r\n if (hasOwn(mpInstance, mock)) {\r\n vm[mock] = mpInstance[mock];\r\n }\r\n });\r\n}\r\n\r\nfunction hasHook (hook, vueOptions) {\r\n if (!vueOptions) {\r\n return true\r\n }\r\n\r\n if (Vue.options && Array.isArray(Vue.options[hook])) {\r\n return true\r\n }\r\n\r\n vueOptions = vueOptions.default || vueOptions;\r\n\r\n if (isFn(vueOptions)) {\r\n if (isFn(vueOptions.extendOptions[hook])) {\r\n return true\r\n }\r\n if (vueOptions.super &&\r\n vueOptions.super.options &&\r\n Array.isArray(vueOptions.super.options[hook])) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n if (isFn(vueOptions[hook]) || Array.isArray(vueOptions[hook])) {\r\n return true\r\n }\r\n const mixins = vueOptions.mixins;\r\n if (Array.isArray(mixins)) {\r\n return !!mixins.find(mixin => hasHook(hook, mixin))\r\n }\r\n}\r\n\r\nfunction initHooks (mpOptions, hooks, vueOptions) {\r\n hooks.forEach(hook => {\r\n if (hasHook(hook, vueOptions)) {\r\n mpOptions[hook] = function (args) {\r\n return this.$vm && this.$vm.__call_hook(hook, args)\r\n };\r\n }\r\n });\r\n}\r\n\r\nfunction initUnknownHooks (mpOptions, vueOptions, excludes = []) {\r\n findHooks(vueOptions).forEach((hook) => initHook$1(mpOptions, hook, excludes));\r\n}\r\n\r\nfunction findHooks (vueOptions, hooks = []) {\r\n if (vueOptions) {\r\n Object.keys(vueOptions).forEach((name) => {\r\n if (name.indexOf('on') === 0 && isFn(vueOptions[name])) {\r\n hooks.push(name);\r\n }\r\n });\r\n }\r\n return hooks\r\n}\r\n\r\nfunction initHook$1 (mpOptions, hook, excludes) {\r\n if (excludes.indexOf(hook) === -1 && !hasOwn(mpOptions, hook)) {\r\n mpOptions[hook] = function (args) {\r\n return this.$vm && this.$vm.__call_hook(hook, args)\r\n };\r\n }\r\n}\r\n\r\nfunction initVueComponent (Vue, vueOptions) {\r\n vueOptions = vueOptions.default || vueOptions;\r\n let VueComponent;\r\n if (isFn(vueOptions)) {\r\n VueComponent = vueOptions;\r\n } else {\r\n VueComponent = Vue.extend(vueOptions);\r\n }\r\n vueOptions = VueComponent.options;\r\n return [VueComponent, vueOptions]\r\n}\r\n\r\nfunction initSlots (vm, vueSlots) {\r\n if (Array.isArray(vueSlots) && vueSlots.length) {\r\n const $slots = Object.create(null);\r\n vueSlots.forEach(slotName => {\r\n $slots[slotName] = true;\r\n });\r\n vm.$scopedSlots = vm.$slots = $slots;\r\n }\r\n}\r\n\r\nfunction initVueIds (vueIds, mpInstance) {\r\n vueIds = (vueIds || '').split(',');\r\n const len = vueIds.length;\r\n\r\n if (len === 1) {\r\n mpInstance._$vueId = vueIds[0];\r\n } else if (len === 2) {\r\n mpInstance._$vueId = vueIds[0];\r\n mpInstance._$vuePid = vueIds[1];\r\n }\r\n}\r\n\r\nfunction initData (vueOptions, context) {\r\n let data = vueOptions.data || {};\r\n const methods = vueOptions.methods || {};\r\n\r\n if (typeof data === 'function') {\r\n try {\r\n data = data.call(context); // 支持 Vue.prototype 上挂的数据\r\n } catch (e) {\r\n if (process.env.VUE_APP_DEBUG) {\r\n console.warn('根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。', data);\r\n }\r\n }\r\n } else {\r\n try {\r\n // 对 data 格式化\r\n data = JSON.parse(JSON.stringify(data));\r\n } catch (e) { }\r\n }\r\n\r\n if (!isPlainObject(data)) {\r\n data = {};\r\n }\r\n\r\n Object.keys(methods).forEach(methodName => {\r\n if (context.__lifecycle_hooks__.indexOf(methodName) === -1 && !hasOwn(data, methodName)) {\r\n data[methodName] = methods[methodName];\r\n }\r\n });\r\n\r\n return data\r\n}\r\n\r\nconst PROP_TYPES = [String, Number, Boolean, Object, Array, null];\r\n\r\nfunction createObserver (name) {\r\n return function observer (newVal, oldVal) {\r\n if (this.$vm) {\r\n this.$vm[name] = newVal; // 为了触发其他非 render watcher\r\n }\r\n }\r\n}\r\n\r\nfunction initBehaviors (vueOptions, initBehavior) {\r\n const vueBehaviors = vueOptions.behaviors;\r\n const vueExtends = vueOptions.extends;\r\n const vueMixins = vueOptions.mixins;\r\n\r\n let vueProps = vueOptions.props;\r\n\r\n if (!vueProps) {\r\n vueOptions.props = vueProps = [];\r\n }\r\n\r\n const behaviors = [];\r\n if (Array.isArray(vueBehaviors)) {\r\n vueBehaviors.forEach(behavior => {\r\n behaviors.push(behavior.replace('uni://', `${\"wx\"}://`));\r\n if (behavior === 'uni://form-field') {\r\n if (Array.isArray(vueProps)) {\r\n vueProps.push('name');\r\n vueProps.push('value');\r\n } else {\r\n vueProps.name = {\r\n type: String,\r\n default: ''\r\n };\r\n vueProps.value = {\r\n type: [String, Number, Boolean, Array, Object, Date],\r\n default: ''\r\n };\r\n }\r\n }\r\n });\r\n }\r\n if (isPlainObject(vueExtends) && vueExtends.props) {\r\n behaviors.push(\r\n initBehavior({\r\n properties: initProperties(vueExtends.props, true)\r\n })\r\n );\r\n }\r\n if (Array.isArray(vueMixins)) {\r\n vueMixins.forEach(vueMixin => {\r\n if (isPlainObject(vueMixin) && vueMixin.props) {\r\n behaviors.push(\r\n initBehavior({\r\n properties: initProperties(vueMixin.props, true)\r\n })\r\n );\r\n }\r\n });\r\n }\r\n return behaviors\r\n}\r\n\r\nfunction parsePropType (key, type, defaultValue, file) {\r\n // [String]=>String\r\n if (Array.isArray(type) && type.length === 1) {\r\n return type[0]\r\n }\r\n return type\r\n}\r\n\r\nfunction initProperties (props, isBehavior = false, file = '', options) {\r\n const properties = {};\r\n if (!isBehavior) {\r\n properties.vueId = {\r\n type: String,\r\n value: ''\r\n };\r\n {\r\n if ( options.virtualHost) {\r\n properties.virtualHostStyle = {\r\n type: null,\r\n value: ''\r\n };\r\n properties.virtualHostClass = {\r\n type: null,\r\n value: ''\r\n };\r\n }\r\n }\r\n // scopedSlotsCompiler auto\r\n properties.scopedSlotsCompiler = {\r\n type: String,\r\n value: ''\r\n };\r\n properties.vueSlots = { // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots\r\n type: null,\r\n value: [],\r\n observer: function (newVal, oldVal) {\r\n const $slots = Object.create(null);\r\n newVal.forEach(slotName => {\r\n $slots[slotName] = true;\r\n });\r\n this.setData({\r\n $slots\r\n });\r\n }\r\n };\r\n }\r\n if (Array.isArray(props)) { // ['title']\r\n props.forEach(key => {\r\n properties[key] = {\r\n type: null,\r\n observer: createObserver(key)\r\n };\r\n });\r\n } else if (isPlainObject(props)) { // {title:{type:String,default:''},content:String}\r\n Object.keys(props).forEach(key => {\r\n const opts = props[key];\r\n if (isPlainObject(opts)) { // title:{type:String,default:''}\r\n let value = opts.default;\r\n if (isFn(value)) {\r\n value = value();\r\n }\r\n\r\n opts.type = parsePropType(key, opts.type);\r\n\r\n properties[key] = {\r\n type: PROP_TYPES.indexOf(opts.type) !== -1 ? opts.type : null,\r\n value,\r\n observer: createObserver(key)\r\n };\r\n } else { // content:String\r\n const type = parsePropType(key, opts);\r\n properties[key] = {\r\n type: PROP_TYPES.indexOf(type) !== -1 ? type : null,\r\n observer: createObserver(key)\r\n };\r\n }\r\n });\r\n }\r\n return properties\r\n}\r\n\r\nfunction wrapper$1 (event) {\r\n // TODO 又得兼容 mpvue 的 mp 对象\r\n try {\r\n event.mp = JSON.parse(JSON.stringify(event));\r\n } catch (e) { }\r\n\r\n event.stopPropagation = noop;\r\n event.preventDefault = noop;\r\n\r\n event.target = event.target || {};\r\n\r\n if (!hasOwn(event, 'detail')) {\r\n event.detail = {};\r\n }\r\n\r\n if (hasOwn(event, 'markerId')) {\r\n event.detail = typeof event.detail === 'object' ? event.detail : {};\r\n event.detail.markerId = event.markerId;\r\n }\r\n\r\n if (isPlainObject(event.detail)) {\r\n event.target = Object.assign({}, event.target, event.detail);\r\n }\r\n\r\n return event\r\n}\r\n\r\nfunction getExtraValue (vm, dataPathsArray) {\r\n let context = vm;\r\n dataPathsArray.forEach(dataPathArray => {\r\n const dataPath = dataPathArray[0];\r\n const value = dataPathArray[2];\r\n if (dataPath || typeof value !== 'undefined') { // ['','',index,'disable']\r\n const propPath = dataPathArray[1];\r\n const valuePath = dataPathArray[3];\r\n\r\n let vFor;\r\n if (Number.isInteger(dataPath)) {\r\n vFor = dataPath;\r\n } else if (!dataPath) {\r\n vFor = context;\r\n } else if (typeof dataPath === 'string' && dataPath) {\r\n if (dataPath.indexOf('#s#') === 0) {\r\n vFor = dataPath.substr(3);\r\n } else {\r\n vFor = vm.__get_value(dataPath, context);\r\n }\r\n }\r\n\r\n if (Number.isInteger(vFor)) {\r\n context = value;\r\n } else if (!propPath) {\r\n context = vFor[value];\r\n } else {\r\n if (Array.isArray(vFor)) {\r\n context = vFor.find(vForItem => {\r\n return vm.__get_value(propPath, vForItem) === value\r\n });\r\n } else if (isPlainObject(vFor)) {\r\n context = Object.keys(vFor).find(vForKey => {\r\n return vm.__get_value(propPath, vFor[vForKey]) === value\r\n });\r\n } else {\r\n console.error('v-for 暂不支持循环数据:', vFor);\r\n }\r\n }\r\n\r\n if (valuePath) {\r\n context = vm.__get_value(valuePath, context);\r\n }\r\n }\r\n });\r\n return context\r\n}\r\n\r\nfunction processEventExtra (vm, extra, event, __args__) {\r\n const extraObj = {};\r\n\r\n if (Array.isArray(extra) && extra.length) {\r\n /**\r\n *[\r\n * ['data.items', 'data.id', item.data.id],\r\n * ['metas', 'id', meta.id]\r\n *],\r\n *[\r\n * ['data.items', 'data.id', item.data.id],\r\n * ['metas', 'id', meta.id]\r\n *],\r\n *'test'\r\n */\r\n extra.forEach((dataPath, index) => {\r\n if (typeof dataPath === 'string') {\r\n if (!dataPath) { // model,prop.sync\r\n extraObj['$' + index] = vm;\r\n } else {\r\n if (dataPath === '$event') { // $event\r\n extraObj['$' + index] = event;\r\n } else if (dataPath === 'arguments') {\r\n extraObj['$' + index] = event.detail ? event.detail.__args__ || __args__ : __args__;\r\n } else if (dataPath.indexOf('$event.') === 0) { // $event.target.value\r\n extraObj['$' + index] = vm.__get_value(dataPath.replace('$event.', ''), event);\r\n } else {\r\n extraObj['$' + index] = vm.__get_value(dataPath);\r\n }\r\n }\r\n } else {\r\n extraObj['$' + index] = getExtraValue(vm, dataPath);\r\n }\r\n });\r\n }\r\n\r\n return extraObj\r\n}\r\n\r\nfunction getObjByArray (arr) {\r\n const obj = {};\r\n for (let i = 1; i < arr.length; i++) {\r\n const element = arr[i];\r\n obj[element[0]] = element[1];\r\n }\r\n return obj\r\n}\r\n\r\nfunction processEventArgs (vm, event, args = [], extra = [], isCustom, methodName) {\r\n let isCustomMPEvent = false; // wxcomponent 组件,传递原始 event 对象\r\n\r\n // fixed 用户直接触发 mpInstance.triggerEvent\r\n const __args__ = isPlainObject(event.detail)\r\n ? event.detail.__args__ || [event.detail]\r\n : [event.detail];\r\n\r\n if (isCustom) { // 自定义事件\r\n isCustomMPEvent = event.currentTarget &&\r\n event.currentTarget.dataset &&\r\n event.currentTarget.dataset.comType === 'wx';\r\n if (!args.length) { // 无参数,直接传入 event 或 detail 数组\r\n if (isCustomMPEvent) {\r\n return [event]\r\n }\r\n return __args__\r\n }\r\n }\r\n\r\n const extraObj = processEventExtra(vm, extra, event, __args__);\r\n\r\n const ret = [];\r\n args.forEach(arg => {\r\n if (arg === '$event') {\r\n if (methodName === '__set_model' && !isCustom) { // input v-model value\r\n ret.push(event.target.value);\r\n } else {\r\n if (isCustom && !isCustomMPEvent) {\r\n ret.push(__args__[0]);\r\n } else { // wxcomponent 组件或内置组件\r\n ret.push(event);\r\n }\r\n }\r\n } else {\r\n if (Array.isArray(arg) && arg[0] === 'o') {\r\n ret.push(getObjByArray(arg));\r\n } else if (typeof arg === 'string' && hasOwn(extraObj, arg)) {\r\n ret.push(extraObj[arg]);\r\n } else {\r\n ret.push(arg);\r\n }\r\n }\r\n });\r\n\r\n return ret\r\n}\r\n\r\nconst ONCE = '~';\r\nconst CUSTOM = '^';\r\n\r\nfunction isMatchEventType (eventType, optType) {\r\n return (eventType === optType) ||\r\n (\r\n optType === 'regionchange' &&\r\n (\r\n eventType === 'begin' ||\r\n eventType === 'end'\r\n )\r\n )\r\n}\r\n\r\nfunction getContextVm (vm) {\r\n let $parent = vm.$parent;\r\n // 父组件是 scoped slots 或者其他自定义组件时继续查找\r\n while ($parent && $parent.$parent && ($parent.$options.generic || $parent.$parent.$options.generic || $parent.$scope._$vuePid)) {\r\n $parent = $parent.$parent;\r\n }\r\n return $parent && $parent.$parent\r\n}\r\n\r\nfunction handleEvent (event) {\r\n event = wrapper$1(event);\r\n\r\n // [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]\r\n const dataset = (event.currentTarget || event.target).dataset;\r\n if (!dataset) {\r\n return console.warn('事件信息不存在')\r\n }\r\n const eventOpts = dataset.eventOpts || dataset['event-opts']; // 支付宝 web-view 组件 dataset 非驼峰\r\n if (!eventOpts) {\r\n return console.warn('事件信息不存在')\r\n }\r\n\r\n // [['handle',[1,2,a]],['handle1',[1,2,a]]]\r\n const eventType = event.type;\r\n\r\n const ret = [];\r\n\r\n eventOpts.forEach(eventOpt => {\r\n let type = eventOpt[0];\r\n const eventsArray = eventOpt[1];\r\n\r\n const isCustom = type.charAt(0) === CUSTOM;\r\n type = isCustom ? type.slice(1) : type;\r\n const isOnce = type.charAt(0) === ONCE;\r\n type = isOnce ? type.slice(1) : type;\r\n\r\n if (eventsArray && isMatchEventType(eventType, type)) {\r\n eventsArray.forEach(eventArray => {\r\n const methodName = eventArray[0];\r\n if (methodName) {\r\n let handlerCtx = this.$vm;\r\n if (handlerCtx.$options.generic) { // mp-weixin,mp-toutiao 抽象节点模拟 scoped slots\r\n handlerCtx = getContextVm(handlerCtx) || handlerCtx;\r\n }\r\n if (methodName === '$emit') {\r\n handlerCtx.$emit.apply(handlerCtx,\r\n processEventArgs(\r\n this.$vm,\r\n event,\r\n eventArray[1],\r\n eventArray[2],\r\n isCustom,\r\n methodName\r\n ));\r\n return\r\n }\r\n const handler = handlerCtx[methodName];\r\n if (!isFn(handler)) {\r\n const type = this.$vm.mpType === 'page' ? 'Page' : 'Component';\r\n const path = this.route || this.is;\r\n throw new Error(`${type} \"${path}\" does not have a method \"${methodName}\"`)\r\n }\r\n if (isOnce) {\r\n if (handler.once) {\r\n return\r\n }\r\n handler.once = true;\r\n }\r\n let params = processEventArgs(\r\n this.$vm,\r\n event,\r\n eventArray[1],\r\n eventArray[2],\r\n isCustom,\r\n methodName\r\n );\r\n params = Array.isArray(params) ? params : [];\r\n // 参数尾部增加原始事件对象用于复杂表达式内获取额外数据\r\n if (/=\\s*\\S+\\.eventParams\\s*\\|\\|\\s*\\S+\\[['\"]event-params['\"]\\]/.test(handler.toString())) {\r\n // eslint-disable-next-line no-sparse-arrays\r\n params = params.concat([, , , , , , , , , , event]);\r\n }\r\n ret.push(handler.apply(handlerCtx, params));\r\n }\r\n });\r\n }\r\n });\r\n\r\n if (\r\n eventType === 'input' &&\r\n ret.length === 1 &&\r\n typeof ret[0] !== 'undefined'\r\n ) {\r\n return ret[0]\r\n }\r\n}\r\n\r\nconst eventChannels = {};\r\n\r\nfunction getEventChannel (id) {\r\n const eventChannel = eventChannels[id];\r\n delete eventChannels[id];\r\n return eventChannel\r\n}\r\n\r\nconst hooks = [\r\n 'onShow',\r\n 'onHide',\r\n 'onError',\r\n 'onPageNotFound',\r\n 'onThemeChange',\r\n 'onUnhandledRejection'\r\n];\r\n\r\nfunction initEventChannel () {\r\n Vue.prototype.getOpenerEventChannel = function () {\r\n // 微信小程序使用自身getOpenerEventChannel\r\n {\r\n return this.$scope.getOpenerEventChannel()\r\n }\r\n };\r\n const callHook = Vue.prototype.__call_hook;\r\n Vue.prototype.__call_hook = function (hook, args) {\r\n if (hook === 'onLoad' && args && args.__id__) {\r\n this.__eventChannel__ = getEventChannel(args.__id__);\r\n delete args.__id__;\r\n }\r\n return callHook.call(this, hook, args)\r\n };\r\n}\r\n\r\nfunction initScopedSlotsParams () {\r\n const center = {};\r\n const parents = {};\r\n\r\n function currentId (fn) {\r\n const vueIds = this.$options.propsData.vueId;\r\n if (vueIds) {\r\n const vueId = vueIds.split(',')[0];\r\n fn(vueId);\r\n }\r\n }\r\n\r\n Vue.prototype.$hasSSP = function (vueId) {\r\n const slot = center[vueId];\r\n if (!slot) {\r\n parents[vueId] = this;\r\n this.$on('hook:destroyed', () => {\r\n delete parents[vueId];\r\n });\r\n }\r\n return slot\r\n };\r\n\r\n Vue.prototype.$getSSP = function (vueId, name, needAll) {\r\n const slot = center[vueId];\r\n if (slot) {\r\n const params = slot[name] || [];\r\n if (needAll) {\r\n return params\r\n }\r\n return params[0]\r\n }\r\n };\r\n\r\n Vue.prototype.$setSSP = function (name, value) {\r\n let index = 0;\r\n currentId.call(this, vueId => {\r\n const slot = center[vueId];\r\n const params = slot[name] = slot[name] || [];\r\n params.push(value);\r\n index = params.length - 1;\r\n });\r\n return index\r\n };\r\n\r\n Vue.prototype.$initSSP = function () {\r\n currentId.call(this, vueId => {\r\n center[vueId] = {};\r\n });\r\n };\r\n\r\n Vue.prototype.$callSSP = function () {\r\n currentId.call(this, vueId => {\r\n if (parents[vueId]) {\r\n parents[vueId].$forceUpdate();\r\n }\r\n });\r\n };\r\n\r\n Vue.mixin({\r\n destroyed () {\r\n const propsData = this.$options.propsData;\r\n const vueId = propsData && propsData.vueId;\r\n if (vueId) {\r\n delete center[vueId];\r\n delete parents[vueId];\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction parseBaseApp (vm, {\r\n mocks,\r\n initRefs\r\n}) {\r\n initEventChannel();\r\n {\r\n initScopedSlotsParams();\r\n }\r\n if (vm.$options.store) {\r\n Vue.prototype.$store = vm.$options.store;\r\n }\r\n uniIdMixin(Vue);\r\n\r\n Vue.prototype.mpHost = \"mp-weixin\";\r\n\r\n Vue.mixin({\r\n beforeCreate () {\r\n if (!this.$options.mpType) {\r\n return\r\n }\r\n\r\n this.mpType = this.$options.mpType;\r\n\r\n this.$mp = {\r\n data: {},\r\n [this.mpType]: this.$options.mpInstance\r\n };\r\n\r\n this.$scope = this.$options.mpInstance;\r\n\r\n delete this.$options.mpType;\r\n delete this.$options.mpInstance;\r\n if (this.mpType === 'page' && typeof getApp === 'function') { // hack vue-i18n\r\n const app = getApp();\r\n if (app.$vm && app.$vm.$i18n) {\r\n this._i18n = app.$vm.$i18n;\r\n }\r\n }\r\n if (this.mpType !== 'app') {\r\n initRefs(this);\r\n initMocks(this, mocks);\r\n }\r\n }\r\n });\r\n\r\n const appOptions = {\r\n onLaunch (args) {\r\n if (this.$vm) { // 已经初始化过了,主要是为了百度,百度 onShow 在 onLaunch 之前\r\n return\r\n }\r\n {\r\n if (wx.canIUse && !wx.canIUse('nextTick')) { // 事实 上2.2.3 即可,简单使用 2.3.0 的 nextTick 判断\r\n console.error('当前微信基础库版本过低,请将 微信开发者工具-详情-项目设置-调试基础库版本 更换为`2.3.0`以上');\r\n }\r\n }\r\n\r\n this.$vm = vm;\r\n\r\n this.$vm.$mp = {\r\n app: this\r\n };\r\n\r\n this.$vm.$scope = this;\r\n // vm 上也挂载 globalData\r\n this.$vm.globalData = this.globalData;\r\n\r\n this.$vm._isMounted = true;\r\n this.$vm.__call_hook('mounted', args);\r\n\r\n this.$vm.__call_hook('onLaunch', args);\r\n }\r\n };\r\n\r\n // 兼容旧版本 globalData\r\n appOptions.globalData = vm.$options.globalData || {};\r\n // 将 methods 中的方法挂在 getApp() 中\r\n const methods = vm.$options.methods;\r\n if (methods) {\r\n Object.keys(methods).forEach(name => {\r\n appOptions[name] = methods[name];\r\n });\r\n }\r\n\r\n initAppLocale(Vue, vm, normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN);\r\n\r\n initHooks(appOptions, hooks);\r\n initUnknownHooks(appOptions, vm.$options);\r\n\r\n return appOptions\r\n}\r\n\r\nfunction parseApp (vm) {\r\n return parseBaseApp(vm, {\r\n mocks,\r\n initRefs\r\n })\r\n}\r\n\r\nfunction createApp (vm) {\r\n App(parseApp(vm));\r\n return vm\r\n}\r\n\r\nconst encodeReserveRE = /[!'()*]/g;\r\nconst encodeReserveReplacer = c => '%' + c.charCodeAt(0).toString(16);\r\nconst commaRE = /%2C/g;\r\n\r\n// fixed encodeURIComponent which is more conformant to RFC3986:\r\n// - escapes [!'()*]\r\n// - preserve commas\r\nconst encode = str => encodeURIComponent(str)\r\n .replace(encodeReserveRE, encodeReserveReplacer)\r\n .replace(commaRE, ',');\r\n\r\nfunction stringifyQuery (obj, encodeStr = encode) {\r\n const res = obj ? Object.keys(obj).map(key => {\r\n const val = obj[key];\r\n\r\n if (val === undefined) {\r\n return ''\r\n }\r\n\r\n if (val === null) {\r\n return encodeStr(key)\r\n }\r\n\r\n if (Array.isArray(val)) {\r\n const result = [];\r\n val.forEach(val2 => {\r\n if (val2 === undefined) {\r\n return\r\n }\r\n if (val2 === null) {\r\n result.push(encodeStr(key));\r\n } else {\r\n result.push(encodeStr(key) + '=' + encodeStr(val2));\r\n }\r\n });\r\n return result.join('&')\r\n }\r\n\r\n return encodeStr(key) + '=' + encodeStr(val)\r\n }).filter(x => x.length > 0).join('&') : null;\r\n return res ? `?${res}` : ''\r\n}\r\n\r\nfunction parseBaseComponent (vueComponentOptions, {\r\n isPage,\r\n initRelation\r\n} = {}, needVueOptions) {\r\n const [VueComponent, vueOptions] = initVueComponent(Vue, vueComponentOptions);\r\n\r\n const options = {\r\n multipleSlots: true,\r\n // styleIsolation: 'apply-shared',\r\n addGlobalClass: true,\r\n ...(vueOptions.options || {})\r\n };\r\n\r\n {\r\n // 微信 multipleSlots 部分情况有 bug,导致内容顺序错乱 如 u-list,提供覆盖选项\r\n if (vueOptions['mp-weixin'] && vueOptions['mp-weixin'].options) {\r\n Object.assign(options, vueOptions['mp-weixin'].options);\r\n }\r\n }\r\n\r\n const componentOptions = {\r\n options,\r\n data: initData(vueOptions, Vue.prototype),\r\n behaviors: initBehaviors(vueOptions, initBehavior),\r\n properties: initProperties(vueOptions.props, false, vueOptions.__file, options),\r\n lifetimes: {\r\n attached () {\r\n const properties = this.properties;\r\n\r\n const options = {\r\n mpType: isPage.call(this) ? 'page' : 'component',\r\n mpInstance: this,\r\n propsData: properties\r\n };\r\n\r\n initVueIds(properties.vueId, this);\r\n\r\n // 处理父子关系\r\n initRelation.call(this, {\r\n vuePid: this._$vuePid,\r\n vueOptions: options\r\n });\r\n\r\n // 初始化 vue 实例\r\n this.$vm = new VueComponent(options);\r\n\r\n // 处理$slots,$scopedSlots(暂不支持动态变化$slots)\r\n initSlots(this.$vm, properties.vueSlots);\r\n\r\n // 触发首次 setData\r\n this.$vm.$mount();\r\n },\r\n ready () {\r\n // 当组件 props 默认值为 true,初始化时传入 false 会导致 created,ready 触发, 但 attached 不触发\r\n // https://developers.weixin.qq.com/community/develop/doc/00066ae2844cc0f8eb883e2a557800\r\n if (this.$vm) {\r\n this.$vm._isMounted = true;\r\n this.$vm.__call_hook('mounted');\r\n this.$vm.__call_hook('onReady');\r\n }\r\n },\r\n detached () {\r\n this.$vm && this.$vm.$destroy();\r\n }\r\n },\r\n pageLifetimes: {\r\n show (args) {\r\n this.$vm && this.$vm.__call_hook('onPageShow', args);\r\n },\r\n hide () {\r\n this.$vm && this.$vm.__call_hook('onPageHide');\r\n },\r\n resize (size) {\r\n this.$vm && this.$vm.__call_hook('onPageResize', size);\r\n }\r\n },\r\n methods: {\r\n __l: handleLink,\r\n __e: handleEvent\r\n }\r\n };\r\n // externalClasses\r\n if (vueOptions.externalClasses) {\r\n componentOptions.externalClasses = vueOptions.externalClasses;\r\n }\r\n\r\n if (Array.isArray(vueOptions.wxsCallMethods)) {\r\n vueOptions.wxsCallMethods.forEach(callMethod => {\r\n componentOptions.methods[callMethod] = function (args) {\r\n return this.$vm[callMethod](args)\r\n };\r\n });\r\n }\r\n\r\n if (needVueOptions) {\r\n return [componentOptions, vueOptions, VueComponent]\r\n }\r\n if (isPage) {\r\n return componentOptions\r\n }\r\n return [componentOptions, VueComponent]\r\n}\r\n\r\nfunction parseComponent (vueComponentOptions, needVueOptions) {\r\n return parseBaseComponent(vueComponentOptions, {\r\n isPage,\r\n initRelation\r\n }, needVueOptions)\r\n}\r\n\r\nconst hooks$1 = [\r\n 'onShow',\r\n 'onHide',\r\n 'onUnload'\r\n];\r\n\r\nhooks$1.push(...PAGE_EVENT_HOOKS);\r\n\r\nfunction parseBasePage (vuePageOptions) {\r\n const [pageOptions, vueOptions] = parseComponent(vuePageOptions, true);\r\n\r\n initHooks(pageOptions.methods, hooks$1, vueOptions);\r\n\r\n pageOptions.methods.onLoad = function (query) {\r\n this.options = query;\r\n const copyQuery = Object.assign({}, query);\r\n delete copyQuery.__id__;\r\n this.$page = {\r\n fullPath: '/' + (this.route || this.is) + stringifyQuery(copyQuery)\r\n };\r\n this.$vm.$mp.query = query; // 兼容 mpvue\r\n this.$vm.__call_hook('onLoad', query);\r\n };\r\n {\r\n initUnknownHooks(pageOptions.methods, vuePageOptions, ['onReady']);\r\n }\r\n {\r\n initWorkletMethods(pageOptions.methods, vueOptions.methods);\r\n }\r\n\r\n return pageOptions\r\n}\r\n\r\nfunction parsePage (vuePageOptions) {\r\n return parseBasePage(vuePageOptions)\r\n}\r\n\r\nfunction createPage (vuePageOptions) {\r\n {\r\n return Component(parsePage(vuePageOptions))\r\n }\r\n}\r\n\r\nfunction createComponent (vueOptions) {\r\n {\r\n return Component(parseComponent(vueOptions))\r\n }\r\n}\r\n\r\nfunction createSubpackageApp (vm) {\r\n const appOptions = parseApp(vm);\r\n const app = getApp({\r\n allowDefault: true\r\n });\r\n vm.$scope = app;\r\n const globalData = app.globalData;\r\n if (globalData) {\r\n Object.keys(appOptions.globalData).forEach(name => {\r\n if (!hasOwn(globalData, name)) {\r\n globalData[name] = appOptions.globalData[name];\r\n }\r\n });\r\n }\r\n Object.keys(appOptions).forEach(name => {\r\n if (!hasOwn(app, name)) {\r\n app[name] = appOptions[name];\r\n }\r\n });\r\n if (isFn(appOptions.onShow) && wx.onAppShow) {\r\n wx.onAppShow((...args) => {\r\n vm.__call_hook('onShow', args);\r\n });\r\n }\r\n if (isFn(appOptions.onHide) && wx.onAppHide) {\r\n wx.onAppHide((...args) => {\r\n vm.__call_hook('onHide', args);\r\n });\r\n }\r\n if (isFn(appOptions.onLaunch)) {\r\n const args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();\r\n vm.__call_hook('onLaunch', args);\r\n }\r\n return vm\r\n}\r\n\r\nfunction createPlugin (vm) {\r\n const appOptions = parseApp(vm);\r\n if (isFn(appOptions.onShow) && wx.onAppShow) {\r\n wx.onAppShow((...args) => {\r\n vm.__call_hook('onShow', args);\r\n });\r\n }\r\n if (isFn(appOptions.onHide) && wx.onAppHide) {\r\n wx.onAppHide((...args) => {\r\n vm.__call_hook('onHide', args);\r\n });\r\n }\r\n if (isFn(appOptions.onLaunch)) {\r\n const args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();\r\n vm.__call_hook('onLaunch', args);\r\n }\r\n return vm\r\n}\r\n\r\ntodos.forEach(todoApi => {\r\n protocols[todoApi] = false;\r\n});\r\n\r\ncanIUses.forEach(canIUseApi => {\r\n const apiName = protocols[canIUseApi] && protocols[canIUseApi].name ? protocols[canIUseApi].name\r\n : canIUseApi;\r\n if (!wx.canIUse(apiName)) {\r\n protocols[canIUseApi] = false;\r\n }\r\n});\r\n\r\nlet uni = {};\r\n\r\nif (typeof Proxy !== 'undefined' && \"mp-weixin\" !== 'app-plus') {\r\n uni = new Proxy({}, {\r\n get (target, name) {\r\n if (hasOwn(target, name)) {\r\n return target[name]\r\n }\r\n if (baseApi[name]) {\r\n return baseApi[name]\r\n }\r\n if (api[name]) {\r\n return promisify(name, api[name])\r\n }\r\n {\r\n if (extraApi[name]) {\r\n return promisify(name, extraApi[name])\r\n }\r\n if (todoApis[name]) {\r\n return promisify(name, todoApis[name])\r\n }\r\n }\r\n if (eventApi[name]) {\r\n return eventApi[name]\r\n }\r\n return promisify(name, wrapper(name, wx[name]))\r\n },\r\n set (target, name, value) {\r\n target[name] = value;\r\n return true\r\n }\r\n });\r\n} else {\r\n Object.keys(baseApi).forEach(name => {\r\n uni[name] = baseApi[name];\r\n });\r\n\r\n {\r\n Object.keys(todoApis).forEach(name => {\r\n uni[name] = promisify(name, todoApis[name]);\r\n });\r\n Object.keys(extraApi).forEach(name => {\r\n uni[name] = promisify(name, extraApi[name]);\r\n });\r\n }\r\n\r\n Object.keys(eventApi).forEach(name => {\r\n uni[name] = eventApi[name];\r\n });\r\n\r\n Object.keys(api).forEach(name => {\r\n uni[name] = promisify(name, api[name]);\r\n });\r\n\r\n Object.keys(wx).forEach(name => {\r\n if (hasOwn(wx, name) || hasOwn(protocols, name)) {\r\n uni[name] = promisify(name, wrapper(name, wx[name]));\r\n }\r\n });\r\n}\r\n\r\nwx.createApp = createApp;\r\nwx.createPage = createPage;\r\nwx.createComponent = createComponent;\r\nwx.createSubpackageApp = createSubpackageApp;\r\nwx.createPlugin = createPlugin;\r\n\r\nvar uni$1 = uni;\r\n\r\nexport default uni$1;\r\nexport { createApp, createComponent, createPage, createPlugin, createSubpackageApp };\r\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {\n ;\n }\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = Reflect.construct.bind(), module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n } else {\n module.exports = _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n }\n return _construct.apply(null, arguments);\n}\nmodule.exports = _construct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","const isObject = (val) => val !== null && typeof val === 'object';\nconst defaultDelimiters = ['{', '}'];\nclass BaseFormatter {\n constructor() {\n this._caches = Object.create(null);\n }\n interpolate(message, values, delimiters = defaultDelimiters) {\n if (!values) {\n return [message];\n }\n let tokens = this._caches[message];\n if (!tokens) {\n tokens = parse(message, delimiters);\n this._caches[message] = tokens;\n }\n return compile(tokens, values);\n }\n}\nconst RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\nconst RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\nfunction parse(format, [startDelimiter, endDelimiter]) {\n const tokens = [];\n let position = 0;\n let text = '';\n while (position < format.length) {\n let char = format[position++];\n if (char === startDelimiter) {\n if (text) {\n tokens.push({ type: 'text', value: text });\n }\n text = '';\n let sub = '';\n char = format[position++];\n while (char !== undefined && char !== endDelimiter) {\n sub += char;\n char = format[position++];\n }\n const isClosed = char === endDelimiter;\n const type = RE_TOKEN_LIST_VALUE.test(sub)\n ? 'list'\n : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\n ? 'named'\n : 'unknown';\n tokens.push({ value: sub, type });\n }\n // else if (char === '%') {\n // // when found rails i18n syntax, skip text capture\n // if (format[position] !== '{') {\n // text += char\n // }\n // }\n else {\n text += char;\n }\n }\n text && tokens.push({ type: 'text', value: text });\n return tokens;\n}\nfunction compile(tokens, values) {\n const compiled = [];\n let index = 0;\n const mode = Array.isArray(values)\n ? 'list'\n : isObject(values)\n ? 'named'\n : 'unknown';\n if (mode === 'unknown') {\n return compiled;\n }\n while (index < tokens.length) {\n const token = tokens[index];\n switch (token.type) {\n case 'text':\n compiled.push(token.value);\n break;\n case 'list':\n compiled.push(values[parseInt(token.value, 10)]);\n break;\n case 'named':\n if (mode === 'named') {\n compiled.push(values[token.value]);\n }\n else {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Type of token '${token.type}' and format of value '${mode}' don't match!`);\n }\n }\n break;\n case 'unknown':\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Detect 'unknown' type of token!`);\n }\n break;\n }\n index++;\n }\n return compiled;\n}\n\nconst LOCALE_ZH_HANS = 'zh-Hans';\nconst LOCALE_ZH_HANT = 'zh-Hant';\nconst LOCALE_EN = 'en';\nconst LOCALE_FR = 'fr';\nconst LOCALE_ES = 'es';\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst defaultFormatter = new BaseFormatter();\nfunction include(str, parts) {\n return !!parts.find((part) => str.indexOf(part) !== -1);\n}\nfunction startsWith(str, parts) {\n return parts.find((part) => str.indexOf(part) === 0);\n}\nfunction normalizeLocale(locale, messages) {\n if (!locale) {\n return;\n }\n locale = locale.trim().replace(/_/g, '-');\n if (messages && messages[locale]) {\n return locale;\n }\n locale = locale.toLowerCase();\n if (locale === 'chinese') {\n // 支付宝\n return LOCALE_ZH_HANS;\n }\n if (locale.indexOf('zh') === 0) {\n if (locale.indexOf('-hans') > -1) {\n return LOCALE_ZH_HANS;\n }\n if (locale.indexOf('-hant') > -1) {\n return LOCALE_ZH_HANT;\n }\n if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {\n return LOCALE_ZH_HANT;\n }\n return LOCALE_ZH_HANS;\n }\n let locales = [LOCALE_EN, LOCALE_FR, LOCALE_ES];\n if (messages && Object.keys(messages).length > 0) {\n locales = Object.keys(messages);\n }\n const lang = startsWith(locale, locales);\n if (lang) {\n return lang;\n }\n}\nclass I18n {\n constructor({ locale, fallbackLocale, messages, watcher, formater, }) {\n this.locale = LOCALE_EN;\n this.fallbackLocale = LOCALE_EN;\n this.message = {};\n this.messages = {};\n this.watchers = [];\n if (fallbackLocale) {\n this.fallbackLocale = fallbackLocale;\n }\n this.formater = formater || defaultFormatter;\n this.messages = messages || {};\n this.setLocale(locale || LOCALE_EN);\n if (watcher) {\n this.watchLocale(watcher);\n }\n }\n setLocale(locale) {\n const oldLocale = this.locale;\n this.locale = normalizeLocale(locale, this.messages) || this.fallbackLocale;\n if (!this.messages[this.locale]) {\n // 可能初始化时不存在\n this.messages[this.locale] = {};\n }\n this.message = this.messages[this.locale];\n // 仅发生变化时,通知\n if (oldLocale !== this.locale) {\n this.watchers.forEach((watcher) => {\n watcher(this.locale, oldLocale);\n });\n }\n }\n getLocale() {\n return this.locale;\n }\n watchLocale(fn) {\n const index = this.watchers.push(fn) - 1;\n return () => {\n this.watchers.splice(index, 1);\n };\n }\n add(locale, message, override = true) {\n const curMessages = this.messages[locale];\n if (curMessages) {\n if (override) {\n Object.assign(curMessages, message);\n }\n else {\n Object.keys(message).forEach((key) => {\n if (!hasOwn(curMessages, key)) {\n curMessages[key] = message[key];\n }\n });\n }\n }\n else {\n this.messages[locale] = message;\n }\n }\n f(message, values, delimiters) {\n return this.formater.interpolate(message, values, delimiters).join('');\n }\n t(key, locale, values) {\n let message = this.message;\n if (typeof locale === 'string') {\n locale = normalizeLocale(locale, this.messages);\n locale && (message = this.messages[locale]);\n }\n else {\n values = locale;\n }\n if (!hasOwn(message, key)) {\n console.warn(`Cannot translate the value of keypath ${key}. Use the value of keypath as default.`);\n return key;\n }\n return this.formater.interpolate(message[key], values).join('');\n }\n}\n\nfunction watchAppLocale(appVm, i18n) {\n // 需要保证 watch 的触发在组件渲染之前\n if (appVm.$watchLocale) {\n // vue2\n appVm.$watchLocale((newLocale) => {\n i18n.setLocale(newLocale);\n });\n }\n else {\n appVm.$watch(() => appVm.$locale, (newLocale) => {\n i18n.setLocale(newLocale);\n });\n }\n}\nfunction getDefaultLocale() {\n if (typeof uni !== 'undefined' && uni.getLocale) {\n return uni.getLocale();\n }\n // 小程序平台,uni 和 uni-i18n 互相引用,导致访问不到 uni,故在 global 上挂了 getLocale\n if (typeof global !== 'undefined' && global.getLocale) {\n return global.getLocale();\n }\n return LOCALE_EN;\n}\nfunction initVueI18n(locale, messages = {}, fallbackLocale, watcher) {\n // 兼容旧版本入参\n if (typeof locale !== 'string') {\n [locale, messages] = [\n messages,\n locale,\n ];\n }\n if (typeof locale !== 'string') {\n // 因为小程序平台,uni-i18n 和 uni 互相引用,导致此时访问 uni 时,为 undefined\n locale = getDefaultLocale();\n }\n if (typeof fallbackLocale !== 'string') {\n fallbackLocale =\n (typeof __uniConfig !== 'undefined' && __uniConfig.fallbackLocale) ||\n LOCALE_EN;\n }\n const i18n = new I18n({\n locale,\n fallbackLocale,\n messages,\n watcher,\n });\n let t = (key, values) => {\n if (typeof getApp !== 'function') {\n // app view\n /* eslint-disable no-func-assign */\n t = function (key, values) {\n return i18n.t(key, values);\n };\n }\n else {\n let isWatchedAppLocale = false;\n t = function (key, values) {\n const appVm = getApp().$vm;\n // 可能$vm还不存在,比如在支付宝小程序中,组件定义较早,在props的default里使用了t()函数(如uni-goods-nav),此时app还未初始化\n // options: {\n // \ttype: Array,\n // \tdefault () {\n // \t\treturn [{\n // \t\t\ticon: 'shop',\n // \t\t\ttext: t(\"uni-goods-nav.options.shop\"),\n // \t\t}, {\n // \t\t\ticon: 'cart',\n // \t\t\ttext: t(\"uni-goods-nav.options.cart\")\n // \t\t}]\n // \t}\n // },\n if (appVm) {\n // 触发响应式\n appVm.$locale;\n if (!isWatchedAppLocale) {\n isWatchedAppLocale = true;\n watchAppLocale(appVm, i18n);\n }\n }\n return i18n.t(key, values);\n };\n }\n return t(key, values);\n };\n return {\n i18n,\n f(message, values, delimiters) {\n return i18n.f(message, values, delimiters);\n },\n t(key, values) {\n return t(key, values);\n },\n add(locale, message, override = true) {\n return i18n.add(locale, message, override);\n },\n watch(fn) {\n return i18n.watchLocale(fn);\n },\n getLocale() {\n return i18n.getLocale();\n },\n setLocale(newLocale) {\n return i18n.setLocale(newLocale);\n },\n };\n}\n\nconst isString = (val) => typeof val === 'string';\nlet formater;\nfunction hasI18nJson(jsonObj, delimiters) {\n if (!formater) {\n formater = new BaseFormatter();\n }\n return walkJsonObj(jsonObj, (jsonObj, key) => {\n const value = jsonObj[key];\n if (isString(value)) {\n if (isI18nStr(value, delimiters)) {\n return true;\n }\n }\n else {\n return hasI18nJson(value, delimiters);\n }\n });\n}\nfunction parseI18nJson(jsonObj, values, delimiters) {\n if (!formater) {\n formater = new BaseFormatter();\n }\n walkJsonObj(jsonObj, (jsonObj, key) => {\n const value = jsonObj[key];\n if (isString(value)) {\n if (isI18nStr(value, delimiters)) {\n jsonObj[key] = compileStr(value, values, delimiters);\n }\n }\n else {\n parseI18nJson(value, values, delimiters);\n }\n });\n return jsonObj;\n}\nfunction compileI18nJsonStr(jsonStr, { locale, locales, delimiters, }) {\n if (!isI18nStr(jsonStr, delimiters)) {\n return jsonStr;\n }\n if (!formater) {\n formater = new BaseFormatter();\n }\n const localeValues = [];\n Object.keys(locales).forEach((name) => {\n if (name !== locale) {\n localeValues.push({\n locale: name,\n values: locales[name],\n });\n }\n });\n localeValues.unshift({ locale, values: locales[locale] });\n try {\n return JSON.stringify(compileJsonObj(JSON.parse(jsonStr), localeValues, delimiters), null, 2);\n }\n catch (e) { }\n return jsonStr;\n}\nfunction isI18nStr(value, delimiters) {\n return value.indexOf(delimiters[0]) > -1;\n}\nfunction compileStr(value, values, delimiters) {\n return formater.interpolate(value, values, delimiters).join('');\n}\nfunction compileValue(jsonObj, key, localeValues, delimiters) {\n const value = jsonObj[key];\n if (isString(value)) {\n // 存在国际化\n if (isI18nStr(value, delimiters)) {\n jsonObj[key] = compileStr(value, localeValues[0].values, delimiters);\n if (localeValues.length > 1) {\n // 格式化国际化语言\n const valueLocales = (jsonObj[key + 'Locales'] = {});\n localeValues.forEach((localValue) => {\n valueLocales[localValue.locale] = compileStr(value, localValue.values, delimiters);\n });\n }\n }\n }\n else {\n compileJsonObj(value, localeValues, delimiters);\n }\n}\nfunction compileJsonObj(jsonObj, localeValues, delimiters) {\n walkJsonObj(jsonObj, (jsonObj, key) => {\n compileValue(jsonObj, key, localeValues, delimiters);\n });\n return jsonObj;\n}\nfunction walkJsonObj(jsonObj, walk) {\n if (Array.isArray(jsonObj)) {\n for (let i = 0; i < jsonObj.length; i++) {\n if (walk(jsonObj, i)) {\n return true;\n }\n }\n }\n else if (isObject(jsonObj)) {\n for (const key in jsonObj) {\n if (walk(jsonObj, key)) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction resolveLocale(locales) {\n return (locale) => {\n if (!locale) {\n return locale;\n }\n locale = normalizeLocale(locale) || locale;\n return resolveLocaleChain(locale).find((locale) => locales.indexOf(locale) > -1);\n };\n}\nfunction resolveLocaleChain(locale) {\n const chain = [];\n const tokens = locale.split('-');\n while (tokens.length) {\n chain.push(tokens.join('-'));\n tokens.pop();\n }\n return chain;\n}\n\nexport { BaseFormatter as Formatter, I18n, LOCALE_EN, LOCALE_ES, LOCALE_FR, LOCALE_ZH_HANS, LOCALE_ZH_HANT, compileI18nJsonStr, hasI18nJson, initVueI18n, isI18nStr, isString, normalizeLocale, parseI18nJson, resolveLocale };\n","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/*!\n * Vue.js v2.6.11\n * (c) 2014-2023 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n if (vm.$options && vm.$options.__file) { // fixed by xxxxxx\n return ('') + vm.$options.__file\n }\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm && vm.$options.name !== 'PageBody') {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n !vm.$options.isReserved && tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.SharedObject.target) {\n Dep.SharedObject.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\n// fixed by xxxxxx (nvue shared vuex)\n/* eslint-disable no-undef */\nDep.SharedObject = {};\nDep.SharedObject.target = null;\nDep.SharedObject.targetStack = [];\n\nfunction pushTarget (target) {\n Dep.SharedObject.targetStack.push(target);\n Dep.SharedObject.target = target;\n Dep.target = target;\n}\n\nfunction popTarget () {\n Dep.SharedObject.targetStack.pop();\n Dep.SharedObject.target = Dep.SharedObject.targetStack[Dep.SharedObject.targetStack.length - 1];\n Dep.target = Dep.SharedObject.target;\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n {// fixed by xxxxxx 微信小程序使用 plugins 之后,数组方法被直接挂载到了数组对象上,需要执行 copyAugment 逻辑\n if(value.push !== value.__proto__.push){\n copyAugment(value, arrayMethods, arrayKeys);\n } else {\n protoAugment(value, arrayMethods);\n }\n }\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue &&\n !value.__v_isMPComponent\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.SharedObject.target) { // fixed by xxxxxx\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\n/* */\n\n// fixed by xxxxxx (mp properties)\r\nfunction extractPropertiesFromVNodeData(data, Ctor, res, context) {\r\n var propOptions = Ctor.options.mpOptions && Ctor.options.mpOptions.properties;\r\n if (isUndef(propOptions)) {\r\n return res\r\n }\n var externalClasses = Ctor.options.mpOptions.externalClasses || [];\r\n var attrs = data.attrs;\n var props = data.props;\r\n if (isDef(attrs) || isDef(props)) {\r\n for (var key in propOptions) {\r\n var altKey = hyphenate(key);\n var result = checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n // externalClass\n if (\n result &&\n res[key] &&\n externalClasses.indexOf(altKey) !== -1 &&\n context[camelize(res[key])]\n ) {\n // 赋值 externalClass 真正的值(模板里 externalClass 的值可能是字符串)\n res[key] = context[camelize(res[key])];\n }\r\n }\r\n }\r\n return res\r\n}\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag,\n context// fixed by xxxxxx\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n // fixed by xxxxxx\n return extractPropertiesFromVNodeData(data, Ctor, {}, context)\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n // fixed by xxxxxx\n return extractPropertiesFromVNodeData(data, Ctor, res, context)\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.