From 8404f592c1ae23e48c9a346f51287462caa07953 Mon Sep 17 00:00:00 2001 From: yanzai Date: Sun, 19 Oct 2025 23:55:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E5=8F=91=E6=89=8B=E6=9C=BA=E7=BB=B4?= =?UTF-8?q?=E6=8A=A4=E5=B7=A5=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../API/WeiHu/TiJianListController.php | 94 ++ Laravel/routes/api.php | 6 + weihu/App.vue | 32 + weihu/api/index.js | 49 + weihu/index.html | 20 + weihu/main.js | 25 + weihu/manifest.json | 65 + weihu/node_modules/.modules.yaml | 23 + .../node_modules/@uni-ui/code-plugs/README.md | 77 ++ .../@uni-ui/code-plugs/dist/code.wmf.min.js | 1 + .../@uni-ui/code-plugs/package.json | 31 + .../@uni-ui/code-ui/common/helper.js | 108 ++ .../code-ui/components/w-barcode/index.vue | 195 +++ .../code-ui/components/w-qrcode/index.vue | 170 +++ .../node_modules/@uni-ui/code-ui/package.json | 20 + weihu/node_modules/.pnpm/lock.yaml | 22 + weihu/package.json | 5 + weihu/pages.json | 118 ++ weihu/pages/fenzhen/fenzhen_paidui.vue | 381 ++++++ weihu/pages/fenzhen/map.vue | 35 + weihu/pages/index/index.vue | 173 +++ weihu/pages/login.vue | 142 +++ weihu/pages/user/expend.vue | 184 +++ weihu/pages/user/list.vue | 294 +++++ weihu/pages/user/person_edit.vue | 163 +++ weihu/pages/user/recharge.vue | 203 ++++ weihu/pages/wode.vue | 97 ++ weihu/pages/wxLogin.vue | 38 + weihu/pnpm-lock.yaml | 22 + weihu/static/c1.png | Bin 0 -> 401 bytes weihu/static/c2.png | Bin 0 -> 470 bytes weihu/static/c3.png | Bin 0 -> 511 bytes weihu/static/c4.png | Bin 0 -> 476 bytes weihu/static/c5.png | Bin 0 -> 472 bytes weihu/static/c6.png | Bin 0 -> 545 bytes weihu/static/c7.png | Bin 0 -> 365 bytes weihu/static/c8.png | Bin 0 -> 587 bytes weihu/static/c9.png | Bin 0 -> 565 bytes weihu/static/customicons.css | 20 + weihu/static/customicons.ttf | Bin 0 -> 2416 bytes weihu/static/images/userm.png | Bin 0 -> 26810 bytes weihu/static/images/userw.png | Bin 0 -> 27547 bytes weihu/static/logo.png | Bin 0 -> 4023 bytes weihu/static/tabbar/index1.png | Bin 0 -> 1376 bytes weihu/static/tabbar/index2.png | Bin 0 -> 1255 bytes weihu/static/tabbar/userlist1.png | Bin 0 -> 1080 bytes weihu/static/tabbar/userlist2.png | Bin 0 -> 497 bytes weihu/static/tabbar/wode1.png | Bin 0 -> 2138 bytes weihu/static/tabbar/wode2.png | Bin 0 -> 1748 bytes weihu/static/uni.png | Bin 0 -> 4162 bytes weihu/tools/http.js | 80 ++ weihu/uni.scss | 1 + weihu/uni_modules/uni-badge/changelog.md | 33 + .../components/uni-badge/uni-badge.vue | 268 +++++ weihu/uni_modules/uni-badge/package.json | 85 ++ weihu/uni_modules/uni-badge/readme.md | 10 + weihu/uni_modules/uni-breadcrumb/changelog.md | 6 + .../uni-breadcrumb-item.vue | 126 ++ .../uni-breadcrumb/uni-breadcrumb.vue | 46 + weihu/uni_modules/uni-breadcrumb/package.json | 88 ++ weihu/uni_modules/uni-breadcrumb/readme.md | 66 + weihu/uni_modules/uni-calendar/changelog.md | 28 + .../components/uni-calendar/calendar.js | 546 +++++++++ .../components/uni-calendar/i18n/en.json | 12 + .../components/uni-calendar/i18n/index.js | 8 + .../components/uni-calendar/i18n/zh-Hans.json | 12 + .../components/uni-calendar/i18n/zh-Hant.json | 12 + .../uni-calendar/uni-calendar-item.vue | 187 +++ .../components/uni-calendar/uni-calendar.vue | 567 +++++++++ .../components/uni-calendar/util.js | 360 ++++++ weihu/uni_modules/uni-calendar/package.json | 85 ++ weihu/uni_modules/uni-calendar/readme.md | 103 ++ weihu/uni_modules/uni-card/changelog.md | 26 + .../uni-card/components/uni-card/uni-card.vue | 270 +++++ weihu/uni_modules/uni-card/package.json | 90 ++ weihu/uni_modules/uni-card/readme.md | 12 + weihu/uni_modules/uni-collapse/changelog.md | 38 + .../uni-collapse-item/uni-collapse-item.vue | 402 +++++++ .../components/uni-collapse/uni-collapse.vue | 147 +++ weihu/uni_modules/uni-collapse/package.json | 86 ++ weihu/uni_modules/uni-collapse/readme.md | 12 + weihu/uni_modules/uni-combox/changelog.md | 15 + .../components/uni-combox/uni-combox.vue | 275 +++++ weihu/uni_modules/uni-combox/package.json | 90 ++ weihu/uni_modules/uni-combox/readme.md | 11 + weihu/uni_modules/uni-countdown/changelog.md | 26 + .../components/uni-countdown/i18n/en.json | 6 + .../components/uni-countdown/i18n/index.js | 8 + .../uni-countdown/i18n/zh-Hans.json | 6 + .../uni-countdown/i18n/zh-Hant.json | 6 + .../uni-countdown/uni-countdown.vue | 281 +++++ weihu/uni_modules/uni-countdown/package.json | 83 ++ weihu/uni_modules/uni-countdown/readme.md | 10 + .../uni-data-checkbox/changelog.md | 49 + .../uni-data-checkbox/uni-data-checkbox.vue | 849 +++++++++++++ .../uni-data-checkbox/package.json | 84 ++ weihu/uni_modules/uni-data-checkbox/readme.md | 18 + .../uni_modules/uni-data-picker/changelog.md | 77 ++ .../components/uni-data-picker/keypress.js | 45 + .../uni-data-picker/uni-data-picker.uvue | 380 ++++++ .../uni-data-picker/uni-data-picker.vue | 551 +++++++++ .../uni-data-pickerview/loading.uts | 1 + .../uni-data-pickerview/uni-data-picker.js | 622 ++++++++++ .../uni-data-pickerview/uni-data-picker.uts | 693 +++++++++++ .../uni-data-pickerview.css | 76 ++ .../uni-data-pickerview.uvue | 69 ++ .../uni-data-pickerview.vue | 323 +++++ .../uni_modules/uni-data-picker/package.json | 91 ++ weihu/uni_modules/uni-data-picker/readme.md | 22 + .../uni_modules/uni-data-select/changelog.md | 39 + .../uni-data-select/uni-data-select.vue | 562 +++++++++ .../uni_modules/uni-data-select/package.json | 86 ++ weihu/uni_modules/uni-data-select/readme.md | 8 + weihu/uni_modules/uni-dateformat/changelog.md | 10 + .../components/uni-dateformat/date-format.js | 200 ++++ .../uni-dateformat/uni-dateformat.vue | 88 ++ weihu/uni_modules/uni-dateformat/package.json | 88 ++ weihu/uni_modules/uni-dateformat/readme.md | 11 + .../uni-datetime-picker/changelog.md | 160 +++ .../uni-datetime-picker/calendar-item.vue | 177 +++ .../uni-datetime-picker/calendar.vue | 947 +++++++++++++++ .../uni-datetime-picker/i18n/en.json | 22 + .../uni-datetime-picker/i18n/index.js | 8 + .../uni-datetime-picker/i18n/zh-Hans.json | 22 + .../uni-datetime-picker/i18n/zh-Hant.json | 22 + .../uni-datetime-picker/time-picker.vue | 940 +++++++++++++++ .../uni-datetime-picker.vue | 1057 +++++++++++++++++ .../components/uni-datetime-picker/util.js | 421 +++++++ .../uni-datetime-picker/package.json | 88 ++ .../uni_modules/uni-datetime-picker/readme.md | 21 + weihu/uni_modules/uni-drawer/changelog.md | 13 + .../components/uni-drawer/keypress.js | 45 + .../components/uni-drawer/uni-drawer.vue | 183 +++ weihu/uni_modules/uni-drawer/package.json | 87 ++ weihu/uni_modules/uni-drawer/readme.md | 10 + weihu/uni_modules/uni-easyinput/changelog.md | 113 ++ .../components/uni-easyinput/common.js | 54 + .../uni-easyinput/uni-easyinput.vue | 693 +++++++++++ weihu/uni_modules/uni-easyinput/package.json | 88 ++ weihu/uni_modules/uni-easyinput/readme.md | 11 + weihu/uni_modules/uni-fab/changelog.md | 23 + .../uni-fab/components/uni-fab/uni-fab.vue | 491 ++++++++ weihu/uni_modules/uni-fab/package.json | 84 ++ weihu/uni_modules/uni-fab/readme.md | 9 + weihu/uni_modules/uni-fav/changelog.md | 19 + .../uni-fav/components/uni-fav/i18n/en.json | 4 + .../uni-fav/components/uni-fav/i18n/index.js | 8 + .../components/uni-fav/i18n/zh-Hans.json | 4 + .../components/uni-fav/i18n/zh-Hant.json | 4 + .../uni-fav/components/uni-fav/uni-fav.vue | 161 +++ weihu/uni_modules/uni-fav/package.json | 89 ++ weihu/uni_modules/uni-fav/readme.md | 10 + .../uni_modules/uni-file-picker/changelog.md | 75 ++ .../uni-file-picker/choose-and-upload-file.js | 287 +++++ .../uni-file-picker/uni-file-picker.vue | 678 +++++++++++ .../uni-file-picker/upload-file.vue | 325 +++++ .../uni-file-picker/upload-image.vue | 292 +++++ .../components/uni-file-picker/utils.js | 110 ++ .../uni_modules/uni-file-picker/package.json | 83 ++ weihu/uni_modules/uni-file-picker/readme.md | 11 + weihu/uni_modules/uni-forms/changelog.md | 94 ++ .../uni-forms-item/uni-forms-item.vue | 627 ++++++++++ .../components/uni-forms/uni-forms.vue | 397 +++++++ .../uni-forms/components/uni-forms/utils.js | 293 +++++ .../components/uni-forms/validate.js | 486 ++++++++ weihu/uni_modules/uni-forms/package.json | 88 ++ weihu/uni_modules/uni-forms/readme.md | 23 + weihu/uni_modules/uni-goods-nav/changelog.md | 18 + .../components/uni-goods-nav/i18n/en.json | 6 + .../components/uni-goods-nav/i18n/index.js | 8 + .../uni-goods-nav/i18n/zh-Hans.json | 6 + .../uni-goods-nav/i18n/zh-Hant.json | 6 + .../uni-goods-nav/uni-goods-nav.vue | 231 ++++ weihu/uni_modules/uni-goods-nav/package.json | 88 ++ weihu/uni_modules/uni-goods-nav/readme.md | 10 + weihu/uni_modules/uni-grid/changelog.md | 13 + .../uni-grid-item/uni-grid-item.vue | 127 ++ .../uni-grid/components/uni-grid/uni-grid.vue | 142 +++ weihu/uni_modules/uni-grid/package.json | 86 ++ weihu/uni_modules/uni-grid/readme.md | 11 + weihu/uni_modules/uni-group/changelog.md | 16 + .../components/uni-group/uni-group.vue | 134 +++ weihu/uni_modules/uni-group/package.json | 87 ++ weihu/uni_modules/uni-group/readme.md | 9 + weihu/uni_modules/uni-icons/changelog.md | 40 + .../components/uni-icons/uni-icons.uvue | 91 ++ .../components/uni-icons/uni-icons.vue | 110 ++ .../components/uni-icons/uniicons.css | 664 +++++++++++ .../components/uni-icons/uniicons.ttf | Bin 0 -> 35824 bytes .../components/uni-icons/uniicons_file.ts | 664 +++++++++++ .../components/uni-icons/uniicons_file_vue.js | 649 ++++++++++ weihu/uni_modules/uni-icons/package.json | 88 ++ weihu/uni_modules/uni-icons/readme.md | 8 + .../uni_modules/uni-indexed-list/changelog.md | 17 + .../uni-indexed-list-item.vue | 144 +++ .../uni-indexed-list/uni-indexed-list.vue | 367 ++++++ .../uni_modules/uni-indexed-list/package.json | 89 ++ weihu/uni_modules/uni-indexed-list/readme.md | 11 + weihu/uni_modules/uni-link/changelog.md | 17 + .../uni-link/components/uni-link/uni-link.vue | 128 ++ weihu/uni_modules/uni-link/package.json | 87 ++ weihu/uni_modules/uni-link/readme.md | 11 + weihu/uni_modules/uni-list/changelog.md | 46 + .../components/uni-list-ad/uni-list-ad.vue | 107 ++ .../uni-list-chat/uni-list-chat.scss | 58 + .../uni-list-chat/uni-list-chat.vue | 593 +++++++++ .../uni-list-item/uni-list-item.vue | 534 +++++++++ .../uni-list/components/uni-list/uni-list.vue | 123 ++ .../components/uni-list/uni-refresh.vue | 65 + .../components/uni-list/uni-refresh.wxs | 87 ++ weihu/uni_modules/uni-list/package.json | 88 ++ weihu/uni_modules/uni-list/readme.md | 346 ++++++ weihu/uni_modules/uni-load-more/changelog.md | 19 + .../components/uni-load-more/i18n/en.json | 5 + .../components/uni-load-more/i18n/index.js | 8 + .../uni-load-more/i18n/zh-Hans.json | 5 + .../uni-load-more/i18n/zh-Hant.json | 5 + .../uni-load-more/uni-load-more.vue | 399 +++++++ weihu/uni_modules/uni-load-more/package.json | 86 ++ weihu/uni_modules/uni-load-more/readme.md | 14 + weihu/uni_modules/uni-nav-bar/changelog.md | 51 + .../components/uni-nav-bar/uni-nav-bar.vue | 357 ++++++ .../components/uni-nav-bar/uni-status-bar.vue | 24 + weihu/uni_modules/uni-nav-bar/package.json | 86 ++ weihu/uni_modules/uni-nav-bar/readme.md | 15 + weihu/uni_modules/uni-notice-bar/changelog.md | 20 + .../uni-notice-bar/uni-notice-bar.vue | 431 +++++++ weihu/uni_modules/uni-notice-bar/package.json | 87 ++ weihu/uni_modules/uni-notice-bar/readme.md | 13 + weihu/uni_modules/uni-number-box/changelog.md | 39 + .../uni-number-box/uni-number-box.vue | 232 ++++ weihu/uni_modules/uni-number-box/package.json | 83 ++ weihu/uni_modules/uni-number-box/readme.md | 13 + weihu/uni_modules/uni-pagination/changelog.md | 27 + .../components/uni-pagination/i18n/en.json | 5 + .../components/uni-pagination/i18n/es.json | 5 + .../components/uni-pagination/i18n/fr.json | 5 + .../components/uni-pagination/i18n/index.js | 12 + .../uni-pagination/i18n/zh-Hans.json | 5 + .../uni-pagination/i18n/zh-Hant.json | 5 + .../uni-pagination/uni-pagination.vue | 465 ++++++++ weihu/uni_modules/uni-pagination/package.json | 83 ++ weihu/uni_modules/uni-pagination/readme.md | 11 + weihu/uni_modules/uni-popup/changelog.md | 84 ++ .../components/uni-popup-dialog/keypress.js | 45 + .../uni-popup-dialog/uni-popup-dialog.vue | 316 +++++ .../uni-popup-message/uni-popup-message.vue | 143 +++ .../uni-popup-share/uni-popup-share.vue | 187 +++ .../components/uni-popup/i18n/en.json | 7 + .../components/uni-popup/i18n/index.js | 8 + .../components/uni-popup/i18n/zh-Hans.json | 7 + .../components/uni-popup/i18n/zh-Hant.json | 7 + .../components/uni-popup/keypress.js | 45 + .../uni-popup/components/uni-popup/popup.js | 26 + .../components/uni-popup/uni-popup.uvue | 90 ++ .../components/uni-popup/uni-popup.vue | 503 ++++++++ weihu/uni_modules/uni-popup/package.json | 88 ++ weihu/uni_modules/uni-popup/readme.md | 17 + weihu/uni_modules/uni-rate/changelog.md | 25 + .../uni-rate/components/uni-rate/uni-rate.vue | 361 ++++++ weihu/uni_modules/uni-rate/package.json | 88 ++ weihu/uni_modules/uni-rate/readme.md | 12 + weihu/uni_modules/uni-row/changelog.md | 10 + .../uni-row/components/uni-col/uni-col.vue | 317 +++++ .../uni-row/components/uni-row/uni-row.vue | 190 +++ weihu/uni_modules/uni-row/package.json | 87 ++ weihu/uni_modules/uni-row/readme.md | 10 + weihu/uni_modules/uni-scss/changelog.md | 8 + weihu/uni_modules/uni-scss/index.scss | 1 + weihu/uni_modules/uni-scss/package.json | 82 ++ weihu/uni_modules/uni-scss/readme.md | 4 + weihu/uni_modules/uni-scss/styles/index.scss | 7 + .../uni-scss/styles/setting/_border.scss | 3 + .../uni-scss/styles/setting/_color.scss | 66 + .../uni-scss/styles/setting/_radius.scss | 55 + .../uni-scss/styles/setting/_space.scss | 56 + .../uni-scss/styles/setting/_styles.scss | 167 +++ .../uni-scss/styles/setting/_text.scss | 24 + .../uni-scss/styles/setting/_variables.scss | 146 +++ .../uni-scss/styles/tools/functions.scss | 19 + weihu/uni_modules/uni-scss/theme.scss | 31 + weihu/uni_modules/uni-scss/variables.scss | 62 + weihu/uni_modules/uni-search-bar/changelog.md | 47 + .../components/uni-search-bar/i18n/en.json | 4 + .../components/uni-search-bar/i18n/index.js | 8 + .../uni-search-bar/i18n/zh-Hans.json | 4 + .../uni-search-bar/i18n/zh-Hant.json | 4 + .../uni-search-bar/uni-search-bar.vue | 309 +++++ weihu/uni_modules/uni-search-bar/package.json | 87 ++ weihu/uni_modules/uni-search-bar/readme.md | 14 + weihu/uni_modules/uni-section/changelog.md | 2 + .../components/uni-section/uni-section.vue | 167 +++ weihu/uni_modules/uni-section/package.json | 87 ++ weihu/uni_modules/uni-section/readme.md | 8 + .../uni-segmented-control/changelog.md | 15 + .../uni-segmented-control.vue | 146 +++ .../uni-segmented-control/package.json | 85 ++ .../uni-segmented-control/readme.md | 13 + weihu/uni_modules/uni-steps/changelog.md | 18 + .../components/uni-steps/uni-steps.vue | 280 +++++ weihu/uni_modules/uni-steps/package.json | 87 ++ weihu/uni_modules/uni-steps/readme.md | 13 + .../uni_modules/uni-swipe-action/changelog.md | 47 + .../uni-swipe-action-item/bindingx.js | 302 +++++ .../components/uni-swipe-action-item/isPC.js | 12 + .../uni-swipe-action-item/mpalipay.js | 195 +++ .../uni-swipe-action-item/mpother.js | 260 ++++ .../components/uni-swipe-action-item/mpwxs.js | 84 ++ .../uni-swipe-action-item/render.js | 270 +++++ .../uni-swipe-action-item.vue | 348 ++++++ .../components/uni-swipe-action-item/wx.wxs | 341 ++++++ .../uni-swipe-action/uni-swipe-action.vue | 60 + .../uni_modules/uni-swipe-action/package.json | 84 ++ weihu/uni_modules/uni-swipe-action/readme.md | 11 + weihu/uni_modules/uni-swiper-dot/changelog.md | 12 + .../uni-swiper-dot/uni-swiper-dot.vue | 218 ++++ weihu/uni_modules/uni-swiper-dot/package.json | 87 ++ weihu/uni_modules/uni-swiper-dot/readme.md | 11 + weihu/uni_modules/uni-table/changelog.md | 29 + .../components/uni-table/uni-table.vue | 455 +++++++ .../components/uni-tbody/uni-tbody.vue | 29 + .../uni-table/components/uni-td/uni-td.vue | 90 ++ .../components/uni-th/filter-dropdown.vue | 511 ++++++++ .../uni-table/components/uni-th/uni-th.vue | 285 +++++ .../components/uni-thead/uni-thead.vue | 137 +++ .../components/uni-tr/table-checkbox.vue | 179 +++ .../uni-table/components/uni-tr/uni-tr.vue | 184 +++ weihu/uni_modules/uni-table/i18n/en.json | 9 + weihu/uni_modules/uni-table/i18n/es.json | 9 + weihu/uni_modules/uni-table/i18n/fr.json | 9 + weihu/uni_modules/uni-table/i18n/index.js | 12 + weihu/uni_modules/uni-table/i18n/zh-Hans.json | 9 + weihu/uni_modules/uni-table/i18n/zh-Hant.json | 9 + weihu/uni_modules/uni-table/package.json | 83 ++ weihu/uni_modules/uni-table/readme.md | 13 + weihu/uni_modules/uni-tag/changelog.md | 23 + .../uni-tag/components/uni-tag/uni-tag.vue | 252 ++++ weihu/uni_modules/uni-tag/package.json | 84 ++ weihu/uni_modules/uni-tag/readme.md | 13 + weihu/uni_modules/uni-test/changelog.md | 39 + .../uni-test/components/uni-test/uni-test.vue | 26 + weihu/uni_modules/uni-test/package.json | 83 ++ weihu/uni_modules/uni-test/readme.md | 10 + weihu/uni_modules/uni-title/changelog.md | 10 + .../components/uni-title/uni-title.vue | 171 +++ weihu/uni_modules/uni-title/package.json | 88 ++ weihu/uni_modules/uni-title/readme.md | 14 + weihu/uni_modules/uni-tooltip/changelog.md | 16 + .../components/uni-tooltip/uni-tooltip.vue | 109 ++ weihu/uni_modules/uni-tooltip/package.json | 86 ++ weihu/uni_modules/uni-tooltip/readme.md | 8 + weihu/uni_modules/uni-transition/changelog.md | 24 + .../uni-transition/createAnimation.js | 131 ++ .../uni-transition/uni-transition.vue | 286 +++++ weihu/uni_modules/uni-transition/package.json | 85 ++ weihu/uni_modules/uni-transition/readme.md | 11 + weihu/uni_modules/uni-ui/changelog.md | 578 +++++++++ .../uni-ui/components/uni-ui/uni-ui.vue | 7 + weihu/uni_modules/uni-ui/package.json | 130 ++ weihu/uni_modules/uni-ui/readme.md | 247 ++++ weihu/uni_modules/wmf-code/README.md | 84 ++ weihu/uni_modules/wmf-code/changelog.md | 108 ++ weihu/uni_modules/wmf-code/common/helper.js | 105 ++ .../components/w-barcode/w-barcode.vue | 204 ++++ .../wmf-code/components/w-qrcode/w-qrcode.vue | 175 +++ weihu/uni_modules/wmf-code/js_sdk/index.js | 1 + weihu/uni_modules/wmf-code/package.json | 77 ++ .../_plugin-vue_export-helper.1b428a4d.js | 1 + .../dist/build/web/assets/expend-b06a0446.css | 1 + .../web/assets/fenzhen_paidui-2e244828.css | 1 + .../dist/build/web/assets/index-29fb9c31.js | 6 + .../dist/build/web/assets/index-3219eea9.css | 1 + .../dist/build/web/assets/index-533083b3.css | 1 + .../dist/build/web/assets/index.9253508f.js | 1 + .../dist/build/web/assets/list-0f582702.css | 1 + .../dist/build/web/assets/login-2094602c.css | 1 + .../pages-fenzhen-fenzhen_paidui.e8f95210.js | 1 + .../web/assets/pages-fenzhen-map.10943d67.js | 1 + .../web/assets/pages-index-index.b8617fc6.js | 1 + .../build/web/assets/pages-login.da5698a2.js | 1 + .../web/assets/pages-user-expend.130c9056.js | 1 + .../web/assets/pages-user-list.fd1a83c3.js | 1 + .../assets/pages-user-person_edit.ea717f4b.js | 1 + .../assets/pages-user-recharge.3538b330.js | 1 + .../build/web/assets/pages-wode.57814f6e.js | 1 + .../web/assets/pages-wxLogin.67646d7a.js | 1 + .../build/web/assets/person_edit-c77a16f3.css | 1 + .../build/web/assets/recharge-2b1b1870.css | 1 + .../build/web/assets/uni-app.es.125322ac.js | 1 + .../build/web/assets/uni-icons-1211a03e.css | 1 + .../build/web/assets/uni-icons.1a1aa5ae.js | 1 + .../dist/build/web/assets/uni.a8ea6d1d.css | 1 + .../build/web/assets/uniicons-32e978a5.ttf | Bin 0 -> 35824 bytes .../dist/build/web/assets/userm-5a60dd5d.png | Bin 0 -> 26810 bytes .../dist/build/web/assets/userw-25f41699.png | Bin 0 -> 27547 bytes .../dist/build/web/assets/wode-000f24be.css | 1 + weihu/unpackage/dist/build/web/index.html | 24 + weihu/unpackage/dist/build/web/static/c1.png | Bin 0 -> 401 bytes weihu/unpackage/dist/build/web/static/c2.png | Bin 0 -> 470 bytes weihu/unpackage/dist/build/web/static/c3.png | Bin 0 -> 511 bytes weihu/unpackage/dist/build/web/static/c4.png | Bin 0 -> 476 bytes weihu/unpackage/dist/build/web/static/c5.png | Bin 0 -> 472 bytes weihu/unpackage/dist/build/web/static/c6.png | Bin 0 -> 545 bytes weihu/unpackage/dist/build/web/static/c7.png | Bin 0 -> 365 bytes weihu/unpackage/dist/build/web/static/c8.png | Bin 0 -> 587 bytes weihu/unpackage/dist/build/web/static/c9.png | Bin 0 -> 565 bytes .../dist/build/web/static/customicons.css | 20 + .../dist/build/web/static/customicons.ttf | Bin 0 -> 2416 bytes .../dist/build/web/static/images/userm.png | Bin 0 -> 26810 bytes .../dist/build/web/static/images/userw.png | Bin 0 -> 27547 bytes .../unpackage/dist/build/web/static/logo.png | Bin 0 -> 4023 bytes .../dist/build/web/static/tabbar/index1.png | Bin 0 -> 1376 bytes .../dist/build/web/static/tabbar/index2.png | Bin 0 -> 1255 bytes .../build/web/static/tabbar/userlist1.png | Bin 0 -> 1080 bytes .../build/web/static/tabbar/userlist2.png | Bin 0 -> 497 bytes .../dist/build/web/static/tabbar/wode1.png | Bin 0 -> 2138 bytes .../dist/build/web/static/tabbar/wode2.png | Bin 0 -> 1748 bytes weihu/unpackage/dist/build/web/static/uni.png | Bin 0 -> 4162 bytes .../dist/cache/.vite/deps/_metadata.json | 8 + .../dist/cache/.vite/deps/package.json | 3 + 420 files changed, 43853 insertions(+) create mode 100644 Laravel/app/Http/Controllers/API/WeiHu/TiJianListController.php create mode 100644 weihu/App.vue create mode 100644 weihu/api/index.js create mode 100644 weihu/index.html create mode 100644 weihu/main.js create mode 100644 weihu/manifest.json create mode 100644 weihu/node_modules/.modules.yaml create mode 100644 weihu/node_modules/.pnpm/@uni-ui+code-plugs@1.9.6/node_modules/@uni-ui/code-plugs/README.md create mode 100644 weihu/node_modules/.pnpm/@uni-ui+code-plugs@1.9.6/node_modules/@uni-ui/code-plugs/dist/code.wmf.min.js create mode 100644 weihu/node_modules/.pnpm/@uni-ui+code-plugs@1.9.6/node_modules/@uni-ui/code-plugs/package.json create mode 100644 weihu/node_modules/.pnpm/@uni-ui+code-ui@1.5.3/node_modules/@uni-ui/code-ui/common/helper.js create mode 100644 weihu/node_modules/.pnpm/@uni-ui+code-ui@1.5.3/node_modules/@uni-ui/code-ui/components/w-barcode/index.vue create mode 100644 weihu/node_modules/.pnpm/@uni-ui+code-ui@1.5.3/node_modules/@uni-ui/code-ui/components/w-qrcode/index.vue create mode 100644 weihu/node_modules/.pnpm/@uni-ui+code-ui@1.5.3/node_modules/@uni-ui/code-ui/package.json create mode 100644 weihu/node_modules/.pnpm/lock.yaml create mode 100644 weihu/package.json create mode 100644 weihu/pages.json create mode 100644 weihu/pages/fenzhen/fenzhen_paidui.vue create mode 100644 weihu/pages/fenzhen/map.vue create mode 100644 weihu/pages/index/index.vue create mode 100644 weihu/pages/login.vue create mode 100644 weihu/pages/user/expend.vue create mode 100644 weihu/pages/user/list.vue create mode 100644 weihu/pages/user/person_edit.vue create mode 100644 weihu/pages/user/recharge.vue create mode 100644 weihu/pages/wode.vue create mode 100644 weihu/pages/wxLogin.vue create mode 100644 weihu/pnpm-lock.yaml create mode 100644 weihu/static/c1.png create mode 100644 weihu/static/c2.png create mode 100644 weihu/static/c3.png create mode 100644 weihu/static/c4.png create mode 100644 weihu/static/c5.png create mode 100644 weihu/static/c6.png create mode 100644 weihu/static/c7.png create mode 100644 weihu/static/c8.png create mode 100644 weihu/static/c9.png create mode 100644 weihu/static/customicons.css create mode 100644 weihu/static/customicons.ttf create mode 100644 weihu/static/images/userm.png create mode 100644 weihu/static/images/userw.png create mode 100644 weihu/static/logo.png create mode 100644 weihu/static/tabbar/index1.png create mode 100644 weihu/static/tabbar/index2.png create mode 100644 weihu/static/tabbar/userlist1.png create mode 100644 weihu/static/tabbar/userlist2.png create mode 100644 weihu/static/tabbar/wode1.png create mode 100644 weihu/static/tabbar/wode2.png create mode 100644 weihu/static/uni.png create mode 100644 weihu/tools/http.js create mode 100644 weihu/uni.scss create mode 100644 weihu/uni_modules/uni-badge/changelog.md create mode 100644 weihu/uni_modules/uni-badge/components/uni-badge/uni-badge.vue create mode 100644 weihu/uni_modules/uni-badge/package.json create mode 100644 weihu/uni_modules/uni-badge/readme.md create mode 100644 weihu/uni_modules/uni-breadcrumb/changelog.md create mode 100644 weihu/uni_modules/uni-breadcrumb/components/uni-breadcrumb-item/uni-breadcrumb-item.vue create mode 100644 weihu/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue create mode 100644 weihu/uni_modules/uni-breadcrumb/package.json create mode 100644 weihu/uni_modules/uni-breadcrumb/readme.md create mode 100644 weihu/uni_modules/uni-calendar/changelog.md create mode 100644 weihu/uni_modules/uni-calendar/components/uni-calendar/calendar.js create mode 100644 weihu/uni_modules/uni-calendar/components/uni-calendar/i18n/en.json create mode 100644 weihu/uni_modules/uni-calendar/components/uni-calendar/i18n/index.js create mode 100644 weihu/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hans.json create mode 100644 weihu/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hant.json create mode 100644 weihu/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.vue create mode 100644 weihu/uni_modules/uni-calendar/components/uni-calendar/uni-calendar.vue create mode 100644 weihu/uni_modules/uni-calendar/components/uni-calendar/util.js create mode 100644 weihu/uni_modules/uni-calendar/package.json create mode 100644 weihu/uni_modules/uni-calendar/readme.md create mode 100644 weihu/uni_modules/uni-card/changelog.md create mode 100644 weihu/uni_modules/uni-card/components/uni-card/uni-card.vue create mode 100644 weihu/uni_modules/uni-card/package.json create mode 100644 weihu/uni_modules/uni-card/readme.md create mode 100644 weihu/uni_modules/uni-collapse/changelog.md create mode 100644 weihu/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.vue create mode 100644 weihu/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.vue create mode 100644 weihu/uni_modules/uni-collapse/package.json create mode 100644 weihu/uni_modules/uni-collapse/readme.md create mode 100644 weihu/uni_modules/uni-combox/changelog.md create mode 100644 weihu/uni_modules/uni-combox/components/uni-combox/uni-combox.vue create mode 100644 weihu/uni_modules/uni-combox/package.json create mode 100644 weihu/uni_modules/uni-combox/readme.md create mode 100644 weihu/uni_modules/uni-countdown/changelog.md create mode 100644 weihu/uni_modules/uni-countdown/components/uni-countdown/i18n/en.json create mode 100644 weihu/uni_modules/uni-countdown/components/uni-countdown/i18n/index.js create mode 100644 weihu/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hans.json create mode 100644 weihu/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hant.json create mode 100644 weihu/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.vue create mode 100644 weihu/uni_modules/uni-countdown/package.json create mode 100644 weihu/uni_modules/uni-countdown/readme.md create mode 100644 weihu/uni_modules/uni-data-checkbox/changelog.md create mode 100644 weihu/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue create mode 100644 weihu/uni_modules/uni-data-checkbox/package.json create mode 100644 weihu/uni_modules/uni-data-checkbox/readme.md create mode 100644 weihu/uni_modules/uni-data-picker/changelog.md create mode 100644 weihu/uni_modules/uni-data-picker/components/uni-data-picker/keypress.js create mode 100644 weihu/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.uvue create mode 100644 weihu/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue create mode 100644 weihu/uni_modules/uni-data-picker/components/uni-data-pickerview/loading.uts create mode 100644 weihu/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.js create mode 100644 weihu/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.uts create mode 100644 weihu/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.css create mode 100644 weihu/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.uvue create mode 100644 weihu/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.vue create mode 100644 weihu/uni_modules/uni-data-picker/package.json create mode 100644 weihu/uni_modules/uni-data-picker/readme.md create mode 100644 weihu/uni_modules/uni-data-select/changelog.md create mode 100644 weihu/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue create mode 100644 weihu/uni_modules/uni-data-select/package.json create mode 100644 weihu/uni_modules/uni-data-select/readme.md create mode 100644 weihu/uni_modules/uni-dateformat/changelog.md create mode 100644 weihu/uni_modules/uni-dateformat/components/uni-dateformat/date-format.js create mode 100644 weihu/uni_modules/uni-dateformat/components/uni-dateformat/uni-dateformat.vue create mode 100644 weihu/uni_modules/uni-dateformat/package.json create mode 100644 weihu/uni_modules/uni-dateformat/readme.md create mode 100644 weihu/uni_modules/uni-datetime-picker/changelog.md create mode 100644 weihu/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.vue create mode 100644 weihu/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue create mode 100644 weihu/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/en.json create mode 100644 weihu/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js create mode 100644 weihu/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hans.json create mode 100644 weihu/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hant.json create mode 100644 weihu/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue create mode 100644 weihu/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue create mode 100644 weihu/uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js create mode 100644 weihu/uni_modules/uni-datetime-picker/package.json create mode 100644 weihu/uni_modules/uni-datetime-picker/readme.md create mode 100644 weihu/uni_modules/uni-drawer/changelog.md create mode 100644 weihu/uni_modules/uni-drawer/components/uni-drawer/keypress.js create mode 100644 weihu/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue create mode 100644 weihu/uni_modules/uni-drawer/package.json create mode 100644 weihu/uni_modules/uni-drawer/readme.md create mode 100644 weihu/uni_modules/uni-easyinput/changelog.md create mode 100644 weihu/uni_modules/uni-easyinput/components/uni-easyinput/common.js create mode 100644 weihu/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue create mode 100644 weihu/uni_modules/uni-easyinput/package.json create mode 100644 weihu/uni_modules/uni-easyinput/readme.md create mode 100644 weihu/uni_modules/uni-fab/changelog.md create mode 100644 weihu/uni_modules/uni-fab/components/uni-fab/uni-fab.vue create mode 100644 weihu/uni_modules/uni-fab/package.json create mode 100644 weihu/uni_modules/uni-fab/readme.md create mode 100644 weihu/uni_modules/uni-fav/changelog.md create mode 100644 weihu/uni_modules/uni-fav/components/uni-fav/i18n/en.json create mode 100644 weihu/uni_modules/uni-fav/components/uni-fav/i18n/index.js create mode 100644 weihu/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hans.json create mode 100644 weihu/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hant.json create mode 100644 weihu/uni_modules/uni-fav/components/uni-fav/uni-fav.vue create mode 100644 weihu/uni_modules/uni-fav/package.json create mode 100644 weihu/uni_modules/uni-fav/readme.md create mode 100644 weihu/uni_modules/uni-file-picker/changelog.md create mode 100644 weihu/uni_modules/uni-file-picker/components/uni-file-picker/choose-and-upload-file.js create mode 100644 weihu/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue create mode 100644 weihu/uni_modules/uni-file-picker/components/uni-file-picker/upload-file.vue create mode 100644 weihu/uni_modules/uni-file-picker/components/uni-file-picker/upload-image.vue create mode 100644 weihu/uni_modules/uni-file-picker/components/uni-file-picker/utils.js create mode 100644 weihu/uni_modules/uni-file-picker/package.json create mode 100644 weihu/uni_modules/uni-file-picker/readme.md create mode 100644 weihu/uni_modules/uni-forms/changelog.md create mode 100644 weihu/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue create mode 100644 weihu/uni_modules/uni-forms/components/uni-forms/uni-forms.vue create mode 100644 weihu/uni_modules/uni-forms/components/uni-forms/utils.js create mode 100644 weihu/uni_modules/uni-forms/components/uni-forms/validate.js create mode 100644 weihu/uni_modules/uni-forms/package.json create mode 100644 weihu/uni_modules/uni-forms/readme.md create mode 100644 weihu/uni_modules/uni-goods-nav/changelog.md create mode 100644 weihu/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/en.json create mode 100644 weihu/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/index.js create mode 100644 weihu/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hans.json create mode 100644 weihu/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hant.json create mode 100644 weihu/uni_modules/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue create mode 100644 weihu/uni_modules/uni-goods-nav/package.json create mode 100644 weihu/uni_modules/uni-goods-nav/readme.md create mode 100644 weihu/uni_modules/uni-grid/changelog.md create mode 100644 weihu/uni_modules/uni-grid/components/uni-grid-item/uni-grid-item.vue create mode 100644 weihu/uni_modules/uni-grid/components/uni-grid/uni-grid.vue create mode 100644 weihu/uni_modules/uni-grid/package.json create mode 100644 weihu/uni_modules/uni-grid/readme.md create mode 100644 weihu/uni_modules/uni-group/changelog.md create mode 100644 weihu/uni_modules/uni-group/components/uni-group/uni-group.vue create mode 100644 weihu/uni_modules/uni-group/package.json create mode 100644 weihu/uni_modules/uni-group/readme.md create mode 100644 weihu/uni_modules/uni-icons/changelog.md create mode 100644 weihu/uni_modules/uni-icons/components/uni-icons/uni-icons.uvue create mode 100644 weihu/uni_modules/uni-icons/components/uni-icons/uni-icons.vue create mode 100644 weihu/uni_modules/uni-icons/components/uni-icons/uniicons.css create mode 100644 weihu/uni_modules/uni-icons/components/uni-icons/uniicons.ttf create mode 100644 weihu/uni_modules/uni-icons/components/uni-icons/uniicons_file.ts create mode 100644 weihu/uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js create mode 100644 weihu/uni_modules/uni-icons/package.json create mode 100644 weihu/uni_modules/uni-icons/readme.md create mode 100644 weihu/uni_modules/uni-indexed-list/changelog.md create mode 100644 weihu/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list-item.vue create mode 100644 weihu/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list.vue create mode 100644 weihu/uni_modules/uni-indexed-list/package.json create mode 100644 weihu/uni_modules/uni-indexed-list/readme.md create mode 100644 weihu/uni_modules/uni-link/changelog.md create mode 100644 weihu/uni_modules/uni-link/components/uni-link/uni-link.vue create mode 100644 weihu/uni_modules/uni-link/package.json create mode 100644 weihu/uni_modules/uni-link/readme.md create mode 100644 weihu/uni_modules/uni-list/changelog.md create mode 100644 weihu/uni_modules/uni-list/components/uni-list-ad/uni-list-ad.vue create mode 100644 weihu/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.scss create mode 100644 weihu/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.vue create mode 100644 weihu/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue create mode 100644 weihu/uni_modules/uni-list/components/uni-list/uni-list.vue create mode 100644 weihu/uni_modules/uni-list/components/uni-list/uni-refresh.vue create mode 100644 weihu/uni_modules/uni-list/components/uni-list/uni-refresh.wxs create mode 100644 weihu/uni_modules/uni-list/package.json create mode 100644 weihu/uni_modules/uni-list/readme.md create mode 100644 weihu/uni_modules/uni-load-more/changelog.md create mode 100644 weihu/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json create mode 100644 weihu/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js create mode 100644 weihu/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json create mode 100644 weihu/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json create mode 100644 weihu/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue create mode 100644 weihu/uni_modules/uni-load-more/package.json create mode 100644 weihu/uni_modules/uni-load-more/readme.md create mode 100644 weihu/uni_modules/uni-nav-bar/changelog.md create mode 100644 weihu/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue create mode 100644 weihu/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar.vue create mode 100644 weihu/uni_modules/uni-nav-bar/package.json create mode 100644 weihu/uni_modules/uni-nav-bar/readme.md create mode 100644 weihu/uni_modules/uni-notice-bar/changelog.md create mode 100644 weihu/uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.vue create mode 100644 weihu/uni_modules/uni-notice-bar/package.json create mode 100644 weihu/uni_modules/uni-notice-bar/readme.md create mode 100644 weihu/uni_modules/uni-number-box/changelog.md create mode 100644 weihu/uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue create mode 100644 weihu/uni_modules/uni-number-box/package.json create mode 100644 weihu/uni_modules/uni-number-box/readme.md create mode 100644 weihu/uni_modules/uni-pagination/changelog.md create mode 100644 weihu/uni_modules/uni-pagination/components/uni-pagination/i18n/en.json create mode 100644 weihu/uni_modules/uni-pagination/components/uni-pagination/i18n/es.json create mode 100644 weihu/uni_modules/uni-pagination/components/uni-pagination/i18n/fr.json create mode 100644 weihu/uni_modules/uni-pagination/components/uni-pagination/i18n/index.js create mode 100644 weihu/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hans.json create mode 100644 weihu/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hant.json create mode 100644 weihu/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue create mode 100644 weihu/uni_modules/uni-pagination/package.json create mode 100644 weihu/uni_modules/uni-pagination/readme.md create mode 100644 weihu/uni_modules/uni-popup/changelog.md create mode 100644 weihu/uni_modules/uni-popup/components/uni-popup-dialog/keypress.js create mode 100644 weihu/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue create mode 100644 weihu/uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue create mode 100644 weihu/uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue create mode 100644 weihu/uni_modules/uni-popup/components/uni-popup/i18n/en.json create mode 100644 weihu/uni_modules/uni-popup/components/uni-popup/i18n/index.js create mode 100644 weihu/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json create mode 100644 weihu/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json create mode 100644 weihu/uni_modules/uni-popup/components/uni-popup/keypress.js create mode 100644 weihu/uni_modules/uni-popup/components/uni-popup/popup.js create mode 100644 weihu/uni_modules/uni-popup/components/uni-popup/uni-popup.uvue create mode 100644 weihu/uni_modules/uni-popup/components/uni-popup/uni-popup.vue create mode 100644 weihu/uni_modules/uni-popup/package.json create mode 100644 weihu/uni_modules/uni-popup/readme.md create mode 100644 weihu/uni_modules/uni-rate/changelog.md create mode 100644 weihu/uni_modules/uni-rate/components/uni-rate/uni-rate.vue create mode 100644 weihu/uni_modules/uni-rate/package.json create mode 100644 weihu/uni_modules/uni-rate/readme.md create mode 100644 weihu/uni_modules/uni-row/changelog.md create mode 100644 weihu/uni_modules/uni-row/components/uni-col/uni-col.vue create mode 100644 weihu/uni_modules/uni-row/components/uni-row/uni-row.vue create mode 100644 weihu/uni_modules/uni-row/package.json create mode 100644 weihu/uni_modules/uni-row/readme.md create mode 100644 weihu/uni_modules/uni-scss/changelog.md create mode 100644 weihu/uni_modules/uni-scss/index.scss create mode 100644 weihu/uni_modules/uni-scss/package.json create mode 100644 weihu/uni_modules/uni-scss/readme.md create mode 100644 weihu/uni_modules/uni-scss/styles/index.scss create mode 100644 weihu/uni_modules/uni-scss/styles/setting/_border.scss create mode 100644 weihu/uni_modules/uni-scss/styles/setting/_color.scss create mode 100644 weihu/uni_modules/uni-scss/styles/setting/_radius.scss create mode 100644 weihu/uni_modules/uni-scss/styles/setting/_space.scss create mode 100644 weihu/uni_modules/uni-scss/styles/setting/_styles.scss create mode 100644 weihu/uni_modules/uni-scss/styles/setting/_text.scss create mode 100644 weihu/uni_modules/uni-scss/styles/setting/_variables.scss create mode 100644 weihu/uni_modules/uni-scss/styles/tools/functions.scss create mode 100644 weihu/uni_modules/uni-scss/theme.scss create mode 100644 weihu/uni_modules/uni-scss/variables.scss create mode 100644 weihu/uni_modules/uni-search-bar/changelog.md create mode 100644 weihu/uni_modules/uni-search-bar/components/uni-search-bar/i18n/en.json create mode 100644 weihu/uni_modules/uni-search-bar/components/uni-search-bar/i18n/index.js create mode 100644 weihu/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hans.json create mode 100644 weihu/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hant.json create mode 100644 weihu/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.vue create mode 100644 weihu/uni_modules/uni-search-bar/package.json create mode 100644 weihu/uni_modules/uni-search-bar/readme.md create mode 100644 weihu/uni_modules/uni-section/changelog.md create mode 100644 weihu/uni_modules/uni-section/components/uni-section/uni-section.vue create mode 100644 weihu/uni_modules/uni-section/package.json create mode 100644 weihu/uni_modules/uni-section/readme.md create mode 100644 weihu/uni_modules/uni-segmented-control/changelog.md create mode 100644 weihu/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.vue create mode 100644 weihu/uni_modules/uni-segmented-control/package.json create mode 100644 weihu/uni_modules/uni-segmented-control/readme.md create mode 100644 weihu/uni_modules/uni-steps/changelog.md create mode 100644 weihu/uni_modules/uni-steps/components/uni-steps/uni-steps.vue create mode 100644 weihu/uni_modules/uni-steps/package.json create mode 100644 weihu/uni_modules/uni-steps/readme.md create mode 100644 weihu/uni_modules/uni-swipe-action/changelog.md create mode 100644 weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/bindingx.js create mode 100644 weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/isPC.js create mode 100644 weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpalipay.js create mode 100644 weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpother.js create mode 100644 weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpwxs.js create mode 100644 weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/render.js create mode 100644 weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.vue create mode 100644 weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/wx.wxs create mode 100644 weihu/uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action.vue create mode 100644 weihu/uni_modules/uni-swipe-action/package.json create mode 100644 weihu/uni_modules/uni-swipe-action/readme.md create mode 100644 weihu/uni_modules/uni-swiper-dot/changelog.md create mode 100644 weihu/uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot.vue create mode 100644 weihu/uni_modules/uni-swiper-dot/package.json create mode 100644 weihu/uni_modules/uni-swiper-dot/readme.md create mode 100644 weihu/uni_modules/uni-table/changelog.md create mode 100644 weihu/uni_modules/uni-table/components/uni-table/uni-table.vue create mode 100644 weihu/uni_modules/uni-table/components/uni-tbody/uni-tbody.vue create mode 100644 weihu/uni_modules/uni-table/components/uni-td/uni-td.vue create mode 100644 weihu/uni_modules/uni-table/components/uni-th/filter-dropdown.vue create mode 100644 weihu/uni_modules/uni-table/components/uni-th/uni-th.vue create mode 100644 weihu/uni_modules/uni-table/components/uni-thead/uni-thead.vue create mode 100644 weihu/uni_modules/uni-table/components/uni-tr/table-checkbox.vue create mode 100644 weihu/uni_modules/uni-table/components/uni-tr/uni-tr.vue create mode 100644 weihu/uni_modules/uni-table/i18n/en.json create mode 100644 weihu/uni_modules/uni-table/i18n/es.json create mode 100644 weihu/uni_modules/uni-table/i18n/fr.json create mode 100644 weihu/uni_modules/uni-table/i18n/index.js create mode 100644 weihu/uni_modules/uni-table/i18n/zh-Hans.json create mode 100644 weihu/uni_modules/uni-table/i18n/zh-Hant.json create mode 100644 weihu/uni_modules/uni-table/package.json create mode 100644 weihu/uni_modules/uni-table/readme.md create mode 100644 weihu/uni_modules/uni-tag/changelog.md create mode 100644 weihu/uni_modules/uni-tag/components/uni-tag/uni-tag.vue create mode 100644 weihu/uni_modules/uni-tag/package.json create mode 100644 weihu/uni_modules/uni-tag/readme.md create mode 100644 weihu/uni_modules/uni-test/changelog.md create mode 100644 weihu/uni_modules/uni-test/components/uni-test/uni-test.vue create mode 100644 weihu/uni_modules/uni-test/package.json create mode 100644 weihu/uni_modules/uni-test/readme.md create mode 100644 weihu/uni_modules/uni-title/changelog.md create mode 100644 weihu/uni_modules/uni-title/components/uni-title/uni-title.vue create mode 100644 weihu/uni_modules/uni-title/package.json create mode 100644 weihu/uni_modules/uni-title/readme.md create mode 100644 weihu/uni_modules/uni-tooltip/changelog.md create mode 100644 weihu/uni_modules/uni-tooltip/components/uni-tooltip/uni-tooltip.vue create mode 100644 weihu/uni_modules/uni-tooltip/package.json create mode 100644 weihu/uni_modules/uni-tooltip/readme.md create mode 100644 weihu/uni_modules/uni-transition/changelog.md create mode 100644 weihu/uni_modules/uni-transition/components/uni-transition/createAnimation.js create mode 100644 weihu/uni_modules/uni-transition/components/uni-transition/uni-transition.vue create mode 100644 weihu/uni_modules/uni-transition/package.json create mode 100644 weihu/uni_modules/uni-transition/readme.md create mode 100644 weihu/uni_modules/uni-ui/changelog.md create mode 100644 weihu/uni_modules/uni-ui/components/uni-ui/uni-ui.vue create mode 100644 weihu/uni_modules/uni-ui/package.json create mode 100644 weihu/uni_modules/uni-ui/readme.md create mode 100644 weihu/uni_modules/wmf-code/README.md create mode 100644 weihu/uni_modules/wmf-code/changelog.md create mode 100644 weihu/uni_modules/wmf-code/common/helper.js create mode 100644 weihu/uni_modules/wmf-code/components/w-barcode/w-barcode.vue create mode 100644 weihu/uni_modules/wmf-code/components/w-qrcode/w-qrcode.vue create mode 100644 weihu/uni_modules/wmf-code/js_sdk/index.js create mode 100644 weihu/uni_modules/wmf-code/package.json create mode 100644 weihu/unpackage/dist/build/web/assets/_plugin-vue_export-helper.1b428a4d.js create mode 100644 weihu/unpackage/dist/build/web/assets/expend-b06a0446.css create mode 100644 weihu/unpackage/dist/build/web/assets/fenzhen_paidui-2e244828.css create mode 100644 weihu/unpackage/dist/build/web/assets/index-29fb9c31.js create mode 100644 weihu/unpackage/dist/build/web/assets/index-3219eea9.css create mode 100644 weihu/unpackage/dist/build/web/assets/index-533083b3.css create mode 100644 weihu/unpackage/dist/build/web/assets/index.9253508f.js create mode 100644 weihu/unpackage/dist/build/web/assets/list-0f582702.css create mode 100644 weihu/unpackage/dist/build/web/assets/login-2094602c.css create mode 100644 weihu/unpackage/dist/build/web/assets/pages-fenzhen-fenzhen_paidui.e8f95210.js create mode 100644 weihu/unpackage/dist/build/web/assets/pages-fenzhen-map.10943d67.js create mode 100644 weihu/unpackage/dist/build/web/assets/pages-index-index.b8617fc6.js create mode 100644 weihu/unpackage/dist/build/web/assets/pages-login.da5698a2.js create mode 100644 weihu/unpackage/dist/build/web/assets/pages-user-expend.130c9056.js create mode 100644 weihu/unpackage/dist/build/web/assets/pages-user-list.fd1a83c3.js create mode 100644 weihu/unpackage/dist/build/web/assets/pages-user-person_edit.ea717f4b.js create mode 100644 weihu/unpackage/dist/build/web/assets/pages-user-recharge.3538b330.js create mode 100644 weihu/unpackage/dist/build/web/assets/pages-wode.57814f6e.js create mode 100644 weihu/unpackage/dist/build/web/assets/pages-wxLogin.67646d7a.js create mode 100644 weihu/unpackage/dist/build/web/assets/person_edit-c77a16f3.css create mode 100644 weihu/unpackage/dist/build/web/assets/recharge-2b1b1870.css create mode 100644 weihu/unpackage/dist/build/web/assets/uni-app.es.125322ac.js create mode 100644 weihu/unpackage/dist/build/web/assets/uni-icons-1211a03e.css create mode 100644 weihu/unpackage/dist/build/web/assets/uni-icons.1a1aa5ae.js create mode 100644 weihu/unpackage/dist/build/web/assets/uni.a8ea6d1d.css create mode 100644 weihu/unpackage/dist/build/web/assets/uniicons-32e978a5.ttf create mode 100644 weihu/unpackage/dist/build/web/assets/userm-5a60dd5d.png create mode 100644 weihu/unpackage/dist/build/web/assets/userw-25f41699.png create mode 100644 weihu/unpackage/dist/build/web/assets/wode-000f24be.css create mode 100644 weihu/unpackage/dist/build/web/index.html create mode 100644 weihu/unpackage/dist/build/web/static/c1.png create mode 100644 weihu/unpackage/dist/build/web/static/c2.png create mode 100644 weihu/unpackage/dist/build/web/static/c3.png create mode 100644 weihu/unpackage/dist/build/web/static/c4.png create mode 100644 weihu/unpackage/dist/build/web/static/c5.png create mode 100644 weihu/unpackage/dist/build/web/static/c6.png create mode 100644 weihu/unpackage/dist/build/web/static/c7.png create mode 100644 weihu/unpackage/dist/build/web/static/c8.png create mode 100644 weihu/unpackage/dist/build/web/static/c9.png create mode 100644 weihu/unpackage/dist/build/web/static/customicons.css create mode 100644 weihu/unpackage/dist/build/web/static/customicons.ttf create mode 100644 weihu/unpackage/dist/build/web/static/images/userm.png create mode 100644 weihu/unpackage/dist/build/web/static/images/userw.png create mode 100644 weihu/unpackage/dist/build/web/static/logo.png create mode 100644 weihu/unpackage/dist/build/web/static/tabbar/index1.png create mode 100644 weihu/unpackage/dist/build/web/static/tabbar/index2.png create mode 100644 weihu/unpackage/dist/build/web/static/tabbar/userlist1.png create mode 100644 weihu/unpackage/dist/build/web/static/tabbar/userlist2.png create mode 100644 weihu/unpackage/dist/build/web/static/tabbar/wode1.png create mode 100644 weihu/unpackage/dist/build/web/static/tabbar/wode2.png create mode 100644 weihu/unpackage/dist/build/web/static/uni.png create mode 100644 weihu/unpackage/dist/cache/.vite/deps/_metadata.json create mode 100644 weihu/unpackage/dist/cache/.vite/deps/package.json diff --git a/Laravel/app/Http/Controllers/API/WeiHu/TiJianListController.php b/Laravel/app/Http/Controllers/API/WeiHu/TiJianListController.php new file mode 100644 index 0000000..7f36e5a --- /dev/null +++ b/Laravel/app/Http/Controllers/API/WeiHu/TiJianListController.php @@ -0,0 +1,94 @@ +get('role');//中间件产生的参数 + if($group !==1){ + return \Yz::echoError1('权限不足'); + } + $info =request('info'); + $sfz_encode=''; + // 如果输入长度 >=15,认为是身份证号,进行HSM加密 + if (!empty($info) && strlen($info) >= 15) { + $HSM_sfz = \App\Lib\HSM::HsmEncrypt($info); + if ($HSM_sfz['status'] !== true) { + return \Yz::echoError1('调用HSM加密失败'); + } + $sfz_encode = $HSM_sfz['data']; + } + + // 构造搜索条件闭包,避免 where/orWhere 逻辑混乱 + $searchCondition = function ($query) use ($info, $sfz_encode) { + if (!empty($info)) { + $query->where('name', 'like', '%' . $info . '%'); + } + if (!empty($sfz_encode)) { + $query->orWhere('id_card_num', $sfz_encode); + } + }; + + // 预约记录查询 + $yuyue_list = DB::table('appointment_record') + ->select('id', 'type', 'name', 'id_card_num', 'org_name', 'created_at') + ->where($searchCondition) + ->where('is_del', 0) + ->orderBy('id', 'desc') + ->get(); + foreach ($yuyue_list as $k => $v) { + $sfz =\App\Lib\HSM::HsmDecrypt($v->id_card_num); + if($sfz['status']!=true){ + return \Yz::echoError1('调用HSM解密失败'); + } + $v->id_card_num=$sfz['data']; + } + + // 体检记录查询 + $tijian_list = DB::table('examination_records as a') + ->leftJoin('medical_institution as b', 'a.institution_id', '=', 'b.id') + ->select('a.id', 'a.type', 'a.name', 'a.id_card_num', 'b.org_name', 'a.created_at') + ->where($searchCondition) + ->where('a.is_del', 0) // 注意表别名 a + ->orderBy('a.id', 'desc') + ->get(); + foreach ($yuyue_list as $k => $v) { + $sfz =\App\Lib\HSM::HsmDecrypt($v->id_card_num); + if($sfz['status']!=true){ + return \Yz::echoError1('调用HSM解密失败'); + } + $v->id_card_num=$sfz['data']; + } + return \Yz::Return(true,'查询完成',[ + 'yuyue_list'=>$yuyue_list, + 'tijian_list'=>$tijian_list, + ]); + } + public function Del(Request $request){ + $group = $request->get('role');//中间件产生的参数 + $userid = $request->get('userid');//中间件产生的参数 + if($group !==1){ + return \Yz::echoError1('权限不足'); + } + $id =request('id'); + $type =request('type'); + $tablename = 'appointment_record'; + if($type==1){ + $tablename = 'appointment_record'; + } + if($type==2){ + $tablename = 'examination_records'; + } + $update = DB::table($tablename)->where('id', $id)->update(['is_del'=>1]); + if($update){ + return \Yz::Return(true,'标记删除完成',['id'=>$id,'tablename'=>$tablename,'userid'=>$userid]); + }else{ + return \Yz::echoError1('操作失败'); + } + + } +} diff --git a/Laravel/routes/api.php b/Laravel/routes/api.php index bac5c10..19e73fa 100644 --- a/Laravel/routes/api.php +++ b/Laravel/routes/api.php @@ -128,3 +128,9 @@ Route::post('addSignJob','App\Http\Controllers\API\XTSignController@addSignJob') Route::post('AppGetUserInfo','App\Http\Controllers\API\DxAppController@getUserInfo')->middleware('log');//大兴app根据userid查询用户信息 Route::post('UkeyGetServeInfo','App\Http\Controllers\API\UkeyController@GetServeInfo')->middleware('log');//Ukey登录获取服务器信息 Route::post('UkeyLogin','App\Http\Controllers\API\UkeyController@UkeyLogin')->middleware('log');//Ukey登录 + +// +Route::group(['middleware'=>['checktoken','log'],'prefix'=>'WeiHu'],function () { //维护 + Route::post('TiJianGetList','App\Http\Controllers\API\mH5\TiJianListController@GetList'); //手机H5端用户注册 + Route::post('TiJianDel','App\Http\Controllers\API\mH5\TiJianListController@Del'); //手机H5端用户注册 +}); diff --git a/weihu/App.vue b/weihu/App.vue new file mode 100644 index 0000000..ee288b1 --- /dev/null +++ b/weihu/App.vue @@ -0,0 +1,32 @@ + + + diff --git a/weihu/api/index.js b/weihu/api/index.js new file mode 100644 index 0000000..4fc910d --- /dev/null +++ b/weihu/api/index.js @@ -0,0 +1,49 @@ +import { + useHttp + } from '@/tools/http'; + const { + isLoading, + sendRequest + } = useHttp(); + let Url='http://localhostcommon' + //let Url='http://223.71.106.251:82/common/la/public'; + let BaseUrl=Url+'/api/' + + export const BaseFileUrl=()=>{ + return Url; + } + //登录授权 + export const Login = (data) => { + return sendRequest({url: BaseUrl+"admin/login",method: 'POST',data:data}); + } + //添加会员 + export const PersonSave = (data) => { + return sendRequest({url: BaseUrl+"v1/H5/PersonSave",method: 'POST',data:data}); + } + //获取名下会员列表 + export const PersonGetList = (data) => { + return sendRequest({url: BaseUrl+"v1/H5/PersonGetList",method: 'POST',data:data}); + } + + export const PersonGetDetail = (data) => { + return sendRequest({url: BaseUrl+"v1/H5/PersonGetDetail",method: 'POST',data:data}); + } + export const PersonDel = (data) => { + return sendRequest({url: BaseUrl+"v1/H5/PersonDel",method: 'POST',data:data}); + } + + export const FenZhenGetTiJianLine = (data) => { + return sendRequest({url: BaseUrl+"v1/H5/FenZhenGetTiJianLine",method: 'POST',data:data}); + } + //获取会员详情 + export const MemberGetDetail = (data) => { + return sendRequest({url: BaseUrl+"v1/H5/MemberGetDetail",method: 'POST',data:data}); + } + //获取用户信息 + export const GetUserInfo = (data) => { + return sendRequest({url: BaseUrl+"v1/H5/GetUserInfo",method: 'POST',data:data}); + } + //消费 + export const MemberExpend = (data) => { + return sendRequest({url: BaseUrl+"v1/H5/MemberExpend",method: 'POST',data:data}); + } \ No newline at end of file diff --git a/weihu/index.html b/weihu/index.html new file mode 100644 index 0000000..c3ff205 --- /dev/null +++ b/weihu/index.html @@ -0,0 +1,20 @@ + + + + + + + + + + +
+ + + diff --git a/weihu/main.js b/weihu/main.js new file mode 100644 index 0000000..cb25a2f --- /dev/null +++ b/weihu/main.js @@ -0,0 +1,25 @@ + +// #ifndef VUE3 +import Vue from 'vue' +import App from './App' + +Vue.config.productionTip = false + +App.mpType = 'app' + +const app = new Vue({ + ...App +}) +app.$mount() +// #endif + +// #ifdef VUE3 +import { createSSRApp } from 'vue' +import App from './App.vue' +export function createApp() { + const app = createSSRApp(App) + return { + app + } +} +// #endif \ No newline at end of file diff --git a/weihu/manifest.json b/weihu/manifest.json new file mode 100644 index 0000000..27a5a06 --- /dev/null +++ b/weihu/manifest.json @@ -0,0 +1,65 @@ +{ + "name" : "MemberMngr", + "appid" : "__UNI__8CD5FC5", + "description" : "", + "versionName" : "1.0.0", + "versionCode" : "100", + "transformPx" : false, + "app-plus" : { + /* 5+App特有相关 */ + "usingComponents" : true, + "nvueCompiler" : "uni-app", + "nvueStyleCompiler" : "uni-app", + "splashscreen" : { + "alwaysShowBeforeRender" : true, + "waiting" : true, + "autoclose" : true, + "delay" : 0 + }, + "modules" : {}, + /* 模块配置 */ + "distribute" : { + /* 应用发布信息 */ + "android" : { + /* android打包配置 */ + "permissions" : [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "ios" : {}, + /* ios打包配置 */ + "sdkConfigs" : {} + } + }, + /* SDK配置 */ + "quickapp" : {}, + /* 快应用特有相关 */ + "mp-weixin" : { + /* 小程序特有相关 */ + "appid" : "", + "setting" : { + "urlCheck" : false + }, + "usingComponents" : true + }, + "vueVersion" : "3", + "h5" : { + "router" : { + "base" : "/h5/" + } + } +} diff --git a/weihu/node_modules/.modules.yaml b/weihu/node_modules/.modules.yaml new file mode 100644 index 0000000..49c9076 --- /dev/null +++ b/weihu/node_modules/.modules.yaml @@ -0,0 +1,23 @@ +hoistPattern: + - '*' +hoistedDependencies: + /@uni-ui/code-plugs/1.9.6: + '@uni-ui/code-plugs': private +included: + dependencies: true + devDependencies: true + optionalDependencies: true +injectedDeps: {} +layoutVersion: 5 +nodeLinker: isolated +packageManager: pnpm@8.14.0 +pendingBuilds: [] +prunedAt: Fri, 09 May 2025 13:23:07 GMT +publicHoistPattern: + - '*eslint*' + - '*prettier*' +registries: + default: https://registry.npmjs.org/ +skipped: [] +storeDir: D:\.pnpm-store\v3 +virtualStoreDir: D:\Code\lanke\fenzhen\changchuntongyuan\tongyuan_fz_h5\node_modules\.pnpm diff --git a/weihu/node_modules/.pnpm/@uni-ui+code-plugs@1.9.6/node_modules/@uni-ui/code-plugs/README.md b/weihu/node_modules/.pnpm/@uni-ui+code-plugs@1.9.6/node_modules/@uni-ui/code-plugs/README.md new file mode 100644 index 0000000..7d78cc3 --- /dev/null +++ b/weihu/node_modules/.pnpm/@uni-ui+code-plugs@1.9.6/node_modules/@uni-ui/code-plugs/README.md @@ -0,0 +1,77 @@ +# 文档说明 + +```js +npm run install //安装依赖 + +npm run build // 打包 + +``` + +# type="2d" + +* canvas 2d 没有draw() 方法 +* 清空可以使用clearRect()方法 +* 没有setFillStyle方法,只有fillStyle属性 +* 没有setStrokeStyle方法,只有strokeStyle属性 +* 没有setGlobalAlpha方法,只要有globalAlpha属性 + +# 百度小程序 +* canvas不支持arcTo方法 +# 相关问题 + +1. 支付宝小程序画布模糊问题 https://opendocs.alipay.com/support/01rb8t +## 示例地址 + +`https://ext.dcloud.net.cn/plugin?id=4662` +# 预览 +
+ + + +
+ +# 参数 + +```js +bar: {//条形码 + code: 'E01181016286106', + color: ['#45B649','#00c3ff', '#ee0979'], // 条形码的颜色 不传 默认黑色支持颜色渐变 + bgColor: '#FFFFFF', // 背景色 不传 默认白色 + type: 'CODE128', //条码类型 默认CODE128 可选值 CODE39 UPCE UPC EAN13 ITF ITF14 MSI Codabar Pharmacode + width: 670, // 宽度 + height: 100 // 高度 +}, +qrc: {// 二维码 + code: 'https://qm.qq.com/cgi-bin/qm/qr?k=LKqML292dD2WvwQfAJXBUmvgbiB_TZWF&noverify=0', + size: 460, // 二维码大小 + level: 4, //纠错等级 0~4 + type: 'none', // 二维码 码点 默认none 可选值 dots square starry custom + src: '/static/35.png',//画布背景 + bgColor: '#FFFFFF', //二维码背景色 默认白色 transparent 透明 + padding: 0,//二维码margin 默认0 非必传 + border: { + opacity: 1,//边框透明度 0~1 默认1 + degree: 15,//圆角度数 默认5 + color: ['#F27121','#8A2387','#1b82d2'], //边框颜色支持渐变色 最多10中颜色 + lineWidth: 5 //边框宽度 默认 5 + }, + text:{ + // opacity: 1, //文字透明度 默认不透明 + position: 'center', //中间 top bottom + size: 20, + font: 'bold 20px system-ui',//文字是否加粗 默认normal 20px system-ui + color: ["#000000"], // 文字颜色支持渐变色 + content: "这是一个测试" //文字内容 + }, + img: { + src: '/static/logo.png', + size: 40, + degree: 15, + type: 'round',//图片展示类型 默认none 可选值 round圆角 circle圆 如果为round 可以传入degree设置圆角大小 默认 5 + color: '#ffffff', //图片周围的白色边框 + width: 8 //图片周围白色边框的宽度 默认5 + }, + color: ['#8A2387', '#F27121'] //边框颜色支持渐变色 最多10中颜色 +} + +``` diff --git a/weihu/node_modules/.pnpm/@uni-ui+code-plugs@1.9.6/node_modules/@uni-ui/code-plugs/dist/code.wmf.min.js b/weihu/node_modules/.pnpm/@uni-ui+code-plugs@1.9.6/node_modules/@uni-ui/code-plugs/dist/code.wmf.min.js new file mode 100644 index 0000000..f9d2d4b --- /dev/null +++ b/weihu/node_modules/.pnpm/@uni-ui+code-plugs@1.9.6/node_modules/@uni-ui/code-plugs/dist/code.wmf.min.js @@ -0,0 +1 @@ +var __assign=function(){return(__assign=Object.assign||function(t){for(var e,i=1,r=arguments.length;in[0]&&e[1]>12&15),r+=String.fromCharCode(128|e>>6&63)):r+=String.fromCharCode(192|e>>6&31),r+=String.fromCharCode(128|e>>0&63));return r},SaveCodeImg=function(t){var i=UNIT_CONVERSION(Number(t.width)),r=UNIT_CONVERSION(Number(t.height)),e=getPixelRatio("pixelRatio"),o=i*e,s=r*e;return"MP-ALIPAY"==t.source&&(i=o,r=s),console.log(i,r),new Promise(function(e){"[object String]"==Object.prototype.toString.call(t.id)?uni.canvasToTempFilePath({canvasId:t.id,width:i,height:r,destWidth:o,destHeight:s,fileType:t.type||"jpg",quality:t.quality||1,complete:function(t){e(t)}},t.ctx):"[object Object]"==Object.prototype.toString.call(t.id)&&t.id.toTempFilePath(0,0,i,r,o,s,t.type||"png",1,function(t){e(t)})})},SetGradient=function(t,e,i,r){i=t.createLinearGradient(0,0,e,i);return 1===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(1,r[0])),2===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(1,r[1])),3===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(.5,r[1]),i.addColorStop(1,r[2])),4===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(.35,r[1]),i.addColorStop(.7,r[2]),i.addColorStop(1,r[3])),5===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(.35,r[1]),i.addColorStop(.6,r[2]),i.addColorStop(.8,r[3]),i.addColorStop(1,r[4])),6===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(.25,r[1]),i.addColorStop(.45,r[2]),i.addColorStop(.65,r[3]),i.addColorStop(.85,r[4]),i.addColorStop(1,r[5])),7===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(.15,r[1]),i.addColorStop(.35,r[2]),i.addColorStop(.45,r[3]),i.addColorStop(.65,r[4]),i.addColorStop(.85,r[5]),i.addColorStop(1,r[6])),8===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(.1,r[1]),i.addColorStop(.25,r[2]),i.addColorStop(.45,r[3]),i.addColorStop(.65,r[4]),i.addColorStop(.85,r[5]),i.addColorStop(.9,r[6]),i.addColorStop(1,r[7])),9===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(.2,r[1]),i.addColorStop(.3,r[2]),i.addColorStop(.5,r[3]),i.addColorStop(.6,r[4]),i.addColorStop(.7,r[5]),i.addColorStop(.8,r[6]),i.addColorStop(.9,r[7]),i.addColorStop(1,r[8])),10<=r.length&&(i.addColorStop(0,r[0]),i.addColorStop(.1,r[1]),i.addColorStop(.2,r[2]),i.addColorStop(.3,r[3]),i.addColorStop(.4,r[4]),i.addColorStop(.5,r[5]),i.addColorStop(.6,r[6]),i.addColorStop(.7,r[7]),i.addColorStop(.85,r[8]),i.addColorStop(1,r[9])),i},QRCodeInit=function(){function t(t){void 0===t&&(t=2),this.strinbuf=[],this.eccbuf=[],this.qrframe=[],this.framask=[],this.rlens=[],this.genpoly=[],this.ecclevel=2,this.N1=3,this.N2=3,this.N3=40,this.N4=10,this.neccblk2=0,this.width=0,this.neccblk1=0,this.datablkw=0,this.eccblkwid=0,this.ecclevel=t}return t.prototype.setmask=function(t,e){var i=null;e>=1,this.framask[i+=t]=1},t.prototype.getWidth=function(){return this.width},t.prototype.putalign=function(t,e){this.qrframe[t+this.width*e]=1;for(var i=-2;i<2;i++)this.qrframe[t+i+this.width*(e-2)]=1,this.qrframe[t-2+this.width*(e+i+1)]=1,this.qrframe[t+2+this.width*(e+i)]=1,this.qrframe[t+i+1+this.width*(e+2)]=1;for(i=0;i<2;i++)this.setmask(t-1,e+i),this.setmask(t+1,e-i),this.setmask(t-i,e-1),this.setmask(t+i,e+1)},t.prototype.modnn=function(t){for(;255<=t;)t=((t-=255)>>8)+(255&t);return t},t.prototype.appendrs=function(t,e,i,r){for(var o,s=0;s>=1,this.framask[i+=t]},t.prototype.badruns=function(t){for(var e=0,i=0;i<=t;i++)5<=this.rlens[i]&&(e+=this.N1+this.rlens[i]-5);for(i=3;i=4*this.rlens[i]||3*this.rlens[i+3]>=4*this.rlens[i])&&(e+=this.N3);return e},t.prototype.toNum=function(t){return 0===t?1:0},t.prototype.applymask=function(t){switch(t){case 0:for(var e=0;e>1&1,i=0;i>o-12:e>>o)?(this.qrframe[5-c+this.width*(2-d+this.width-11)]=1,this.qrframe[2-d+this.width-11+this.width*(5-c)]=1):(this.setmask(5-c,2-d+this.width-11),this.setmask(2-d+this.width-11,5-c));for(d=0;d>4;this.strinbuf[2]|=255&n<<4,this.strinbuf[1]=n>>4,this.strinbuf[0]=64|n>>12}else{for(this.strinbuf[a+1]=0,this.strinbuf[a+2]=0;a--;)e=this.strinbuf[a],this.strinbuf[a+2]|=255&e<<4,this.strinbuf[a+1]=e>>4;this.strinbuf[1]|=255&n<<4,this.strinbuf[0]=64|n>>4}for(a=n+3-(h<10?1:0);a>=1)1&s&&(this.qrframe[this.width-1-S+8*this.width]=1,S<6?this.qrframe[8+this.width*S]=1:this.qrframe[8+this.width*(S+1)]=1);for(S=0;S<7;S++,s>>=1)1&s&&(this.qrframe[8+this.width*(this.width-7+S)]=1,S?this.qrframe[6-S+8*this.width]=1:this.qrframe[7+8*this.width]=1);return this.qrframe},t.prototype.badcheck=function(){for(var t=0,e=0,i=0,r=0,o=0,s=0,n=0,h=0;hthis.width*this.width;)l-=this.width*this.width,c++;t+=c*this.N4;for(a=0;ao+1?e[o+1]:-1,r=r.concat(function(t,e,i){var r=[],o=-1;if(charCompatible(t,i))5==i&&(-1==e?(o=100,i=4):charCompatible(e,i)||(i=charCompatible(e,3)?(o=101,3):(o=100,4)));else if(-1==e||charCompatible(e,i))o=98;else switch(i){case 3:o=100,i=4;break;case 4:o=101,i=3}return-1!=o?(r.push(o),r.push(codeValue(t))):5==i?r.push(codeValue(t,e)):r.push(codeValue(t)),s.currcs=i,r}(n,h,s.currcs));5==s.currcs&&o++}for(var a=r[0],l=1;l + + + + + + + + + + + diff --git a/weihu/node_modules/.pnpm/@uni-ui+code-ui@1.5.3/node_modules/@uni-ui/code-ui/components/w-qrcode/index.vue b/weihu/node_modules/.pnpm/@uni-ui+code-ui@1.5.3/node_modules/@uni-ui/code-ui/components/w-qrcode/index.vue new file mode 100644 index 0000000..9a1d25b --- /dev/null +++ b/weihu/node_modules/.pnpm/@uni-ui+code-ui@1.5.3/node_modules/@uni-ui/code-ui/components/w-qrcode/index.vue @@ -0,0 +1,170 @@ + + + + + + + + diff --git a/weihu/node_modules/.pnpm/@uni-ui+code-ui@1.5.3/node_modules/@uni-ui/code-ui/package.json b/weihu/node_modules/.pnpm/@uni-ui+code-ui@1.5.3/node_modules/@uni-ui/code-ui/package.json new file mode 100644 index 0000000..3a491fc --- /dev/null +++ b/weihu/node_modules/.pnpm/@uni-ui+code-ui@1.5.3/node_modules/@uni-ui/code-ui/package.json @@ -0,0 +1,20 @@ +{ + "name": "@uni-ui/code-ui", + "version": "1.5.3", + "description": "", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "wmf", + "license": "ISC", + "keywords": [ + "QR code", + "barcode", + "BarCode", + "QRCode", + "uni-code" + ], + "dependencies": { + "@uni-ui/code-plugs": "^1.9.6" + } +} diff --git a/weihu/node_modules/.pnpm/lock.yaml b/weihu/node_modules/.pnpm/lock.yaml new file mode 100644 index 0000000..140de12 --- /dev/null +++ b/weihu/node_modules/.pnpm/lock.yaml @@ -0,0 +1,22 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + '@uni-ui/code-ui': + specifier: ^1.5.3 + version: 1.5.3 + +packages: + + /@uni-ui/code-plugs@1.9.6: + resolution: {integrity: sha512-4bqP5FE3+suxZ7JxO2StJgELeYxk0iIh3HYAaEY9X8pR5/wxgv/mWXHZpv4TVvy1VewZbMIUg8Nj9l1w6htGtw==} + dev: false + + /@uni-ui/code-ui@1.5.3: + resolution: {integrity: sha512-0ZoS2j7WTHl2SeV0LKIu8dtBygusXU82fgEa9GsBBT7V30nDVN3zmPEuszyYGBV62Td/WNNLTIyHIvGV4GQMGA==} + dependencies: + '@uni-ui/code-plugs': 1.9.6 + dev: false diff --git a/weihu/package.json b/weihu/package.json new file mode 100644 index 0000000..4f544ad --- /dev/null +++ b/weihu/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "@uni-ui/code-ui": "^1.5.3" + } +} diff --git a/weihu/pages.json b/weihu/pages.json new file mode 100644 index 0000000..f21a2d8 --- /dev/null +++ b/weihu/pages.json @@ -0,0 +1,118 @@ +{ + "pages": [{ + "path" : "pages/wxLogin", + "style" : + { + "navigationBarTitleText" : "", + "enablePullDownRefresh" : false + } + },{ + "path": "pages/index/index", + "style": { + "navigationBarTitleText": "会员管理", + "navigationStyle": "custom" + } + }, + { + "path": "pages/user/person_edit", + "style": { + "navigationBarTitleText": "用户信息", + "enablePullDownRefresh": false, + "navigationStyle": "custom" + } + }, + { + "path": "pages/user/recharge", + "style": { + "navigationBarTitleText": "充值", + "enablePullDownRefresh": false, + "navigationStyle": "custom" + } + }, + { + "path": "pages/user/expend", + "style": { + "navigationBarTitleText": "收费", + "enablePullDownRefresh": false, + "navigationStyle": "custom" + } + }, + { + "path": "pages/user/list", + "style": { + "navigationBarTitleText": "用户列表", + "enablePullDownRefresh": false, + "navigationStyle": "custom" + } + }, + { + "path" : "pages/login", + "style" : + { + "navigationBarTitleText" : "", + "enablePullDownRefresh" : false, + "navigationStyle": "custom" + } + }, + { + "path" : "pages/wode", + "style" : + { + "navigationBarTitleText" : "我的", + "enablePullDownRefresh" : false, + "navigationStyle": "custom" + + } + }, + { + "path" : "pages/fenzhen/fenzhen_paidui", + "style" : + { + "navigationBarTitleText" : "分诊信息", + "enablePullDownRefresh" : false + } + }, + { + "path" : "pages/fenzhen/map", + "style" : + { + "navigationBarTitleText" : "", + "enablePullDownRefresh" : false + } + } + + ], + + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "会员管理", + "navigationBarBackgroundColor": "#F8F8F8", + "backgroundColor": "#F8F8F8", + "app-plus": { + "background": "#efeff4" + } + }, + "tabBar": { + "backgroundColor": "#fff", + "selectedColor": "#249EA3", + "fontSize": "26rpx", + "list": [ + { + "pagePath": "pages/index/index", + "iconPath": "/static/tabbar/index1.png", + "selectedIconPath": "/static/tabbar/index2.png", + "text": "首页" + }, + + { + "pagePath": "pages/wode", + "iconPath": "/static/tabbar/wode1.png", + "selectedIconPath": "/static/tabbar/wode2.png", + "text": "我的" + } + ] + }, + "easycom": { + "^w-(.*)": "@/uni_modules/wmf-code/components/w-$1/w-$1.vue" + } +} \ No newline at end of file diff --git a/weihu/pages/fenzhen/fenzhen_paidui.vue b/weihu/pages/fenzhen/fenzhen_paidui.vue new file mode 100644 index 0000000..19a1ae2 --- /dev/null +++ b/weihu/pages/fenzhen/fenzhen_paidui.vue @@ -0,0 +1,381 @@ + + + + + \ No newline at end of file diff --git a/weihu/pages/fenzhen/map.vue b/weihu/pages/fenzhen/map.vue new file mode 100644 index 0000000..a19900c --- /dev/null +++ b/weihu/pages/fenzhen/map.vue @@ -0,0 +1,35 @@ + + + + + diff --git a/weihu/pages/index/index.vue b/weihu/pages/index/index.vue new file mode 100644 index 0000000..a59bc2a --- /dev/null +++ b/weihu/pages/index/index.vue @@ -0,0 +1,173 @@ + + + + + \ No newline at end of file diff --git a/weihu/pages/login.vue b/weihu/pages/login.vue new file mode 100644 index 0000000..bfbceb6 --- /dev/null +++ b/weihu/pages/login.vue @@ -0,0 +1,142 @@ + + + + + \ No newline at end of file diff --git a/weihu/pages/user/expend.vue b/weihu/pages/user/expend.vue new file mode 100644 index 0000000..6d50a31 --- /dev/null +++ b/weihu/pages/user/expend.vue @@ -0,0 +1,184 @@ + + + + + diff --git a/weihu/uni_modules/uni-easyinput/package.json b/weihu/uni_modules/uni-easyinput/package.json new file mode 100644 index 0000000..62bbff5 --- /dev/null +++ b/weihu/uni_modules/uni-easyinput/package.json @@ -0,0 +1,88 @@ +{ + "id": "uni-easyinput", + "displayName": "uni-easyinput 增强输入框", + "version": "1.1.18", + "description": "Easyinput 组件是对原生input组件的增强", + "keywords": [ + "uni-ui", + "uniui", + "input", + "uni-easyinput", + "输入框" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/weihu/uni_modules/uni-easyinput/readme.md b/weihu/uni_modules/uni-easyinput/readme.md new file mode 100644 index 0000000..f1faf8f --- /dev/null +++ b/weihu/uni_modules/uni-easyinput/readme.md @@ -0,0 +1,11 @@ + + +### Easyinput 增强输入框 +> **组件名:uni-easyinput** +> 代码块: `uEasyinput` + + +easyinput 组件是对原生input组件的增强 ,是专门为配合表单组件[uni-forms](https://ext.dcloud.net.cn/plugin?id=2773)而设计的,easyinput 内置了边框,图标等,同时包含 input 所有功能 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-easyinput) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/weihu/uni_modules/uni-fab/changelog.md b/weihu/uni_modules/uni-fab/changelog.md new file mode 100644 index 0000000..9bd4729 --- /dev/null +++ b/weihu/uni_modules/uni-fab/changelog.md @@ -0,0 +1,23 @@ +## 1.2.5(2023-03-29) +- 新增 pattern.icon 属性,可自定义图标 +## 1.2.4(2022-09-07) +小程序端由于 style 使用了对象导致报错,[详情](https://ask.dcloud.net.cn/question/152790?item_id=211778&rf=false) +## 1.2.3(2022-09-05) +- 修复 nvue 环境下,具有 tabBar 时,fab 组件下部位置无法正常获取 --window-bottom 的bug,详见:[https://ask.dcloud.net.cn/question/110638?notification_id=826310](https://ask.dcloud.net.cn/question/110638?notification_id=826310) +## 1.2.2(2021-12-29) +- 更新 组件依赖 +## 1.2.1(2021-11-19) +- 修复 阴影颜色不正确的bug +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-fab](https://uniapp.dcloud.io/component/uniui/uni-fab) +## 1.1.1(2021-11-09) +- 新增 提供组件设计资源,组件样式调整 +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.7(2021-05-12) +- 新增 组件示例地址 +## 1.0.6(2021-02-05) +- 调整为uni_modules目录规范 +- 优化 按钮背景色调整 +- 优化 兼容pc端 diff --git a/weihu/uni_modules/uni-fab/components/uni-fab/uni-fab.vue b/weihu/uni_modules/uni-fab/components/uni-fab/uni-fab.vue new file mode 100644 index 0000000..dfa65c1 --- /dev/null +++ b/weihu/uni_modules/uni-fab/components/uni-fab/uni-fab.vue @@ -0,0 +1,491 @@ + + + + + diff --git a/weihu/uni_modules/uni-fab/package.json b/weihu/uni_modules/uni-fab/package.json new file mode 100644 index 0000000..18c0810 --- /dev/null +++ b/weihu/uni_modules/uni-fab/package.json @@ -0,0 +1,84 @@ +{ + "id": "uni-fab", + "displayName": "uni-fab 悬浮按钮", + "version": "1.2.5", + "description": "悬浮按钮 fab button ,点击可展开一个图标按钮菜单。", + "keywords": [ + "uni-ui", + "uniui", + "按钮", + "悬浮按钮", + "fab" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-scss","uni-icons"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/weihu/uni_modules/uni-fab/readme.md b/weihu/uni_modules/uni-fab/readme.md new file mode 100644 index 0000000..9a444e8 --- /dev/null +++ b/weihu/uni_modules/uni-fab/readme.md @@ -0,0 +1,9 @@ +## Fab 悬浮按钮 +> **组件名:uni-fab** +> 代码块: `uFab` + + +点击可展开一个图形按钮菜单 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-fab) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/weihu/uni_modules/uni-fav/changelog.md b/weihu/uni_modules/uni-fav/changelog.md new file mode 100644 index 0000000..d8a08d4 --- /dev/null +++ b/weihu/uni_modules/uni-fav/changelog.md @@ -0,0 +1,19 @@ +## 1.2.1(2022-05-30) +- 新增 stat 属性 ,是否开启uni统计功能 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-fav](https://uniapp.dcloud.io/component/uniui/uni-fav) +## 1.1.1(2021-08-24) +- 新增 支持国际化 +## 1.1.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.6(2021-05-12) +- 新增 组件示例地址 +## 1.0.5(2021-04-21) +- 优化 添加依赖 uni-icons, 导入后自动下载依赖 +## 1.0.4(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 +## 1.0.3(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 +## 1.0.2(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/weihu/uni_modules/uni-fav/components/uni-fav/i18n/en.json b/weihu/uni_modules/uni-fav/components/uni-fav/i18n/en.json new file mode 100644 index 0000000..9a0759e --- /dev/null +++ b/weihu/uni_modules/uni-fav/components/uni-fav/i18n/en.json @@ -0,0 +1,4 @@ +{ + "uni-fav.collect": "collect", + "uni-fav.collected": "collected" +} diff --git a/weihu/uni_modules/uni-fav/components/uni-fav/i18n/index.js b/weihu/uni_modules/uni-fav/components/uni-fav/i18n/index.js new file mode 100644 index 0000000..de7509c --- /dev/null +++ b/weihu/uni_modules/uni-fav/components/uni-fav/i18n/index.js @@ -0,0 +1,8 @@ +import en from './en.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/weihu/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hans.json b/weihu/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hans.json new file mode 100644 index 0000000..67c89bf --- /dev/null +++ b/weihu/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hans.json @@ -0,0 +1,4 @@ +{ + "uni-fav.collect": "收藏", + "uni-fav.collected": "已收藏" +} diff --git a/weihu/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hant.json b/weihu/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hant.json new file mode 100644 index 0000000..67c89bf --- /dev/null +++ b/weihu/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hant.json @@ -0,0 +1,4 @@ +{ + "uni-fav.collect": "收藏", + "uni-fav.collected": "已收藏" +} diff --git a/weihu/uni_modules/uni-fav/components/uni-fav/uni-fav.vue b/weihu/uni_modules/uni-fav/components/uni-fav/uni-fav.vue new file mode 100644 index 0000000..d2c58df --- /dev/null +++ b/weihu/uni_modules/uni-fav/components/uni-fav/uni-fav.vue @@ -0,0 +1,161 @@ + + + + + diff --git a/weihu/uni_modules/uni-fav/package.json b/weihu/uni_modules/uni-fav/package.json new file mode 100644 index 0000000..cc14697 --- /dev/null +++ b/weihu/uni_modules/uni-fav/package.json @@ -0,0 +1,89 @@ +{ + "id": "uni-fav", + "displayName": "uni-fav 收藏按钮", + "version": "1.2.1", + "description": " Fav 收藏组件,可自定义颜色、大小。", + "keywords": [ + "fav", + "uni-ui", + "uniui", + "收藏" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/weihu/uni_modules/uni-fav/readme.md b/weihu/uni_modules/uni-fav/readme.md new file mode 100644 index 0000000..4de125d --- /dev/null +++ b/weihu/uni_modules/uni-fav/readme.md @@ -0,0 +1,10 @@ + + +## Fav 收藏按钮 +> **组件名:uni-fav** +> 代码块: `uFav` + +用于收藏功能,可点击切换选中、不选中的状态。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-fav) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/weihu/uni_modules/uni-file-picker/changelog.md b/weihu/uni_modules/uni-file-picker/changelog.md new file mode 100644 index 0000000..81e43b9 --- /dev/null +++ b/weihu/uni_modules/uni-file-picker/changelog.md @@ -0,0 +1,75 @@ +## 1.0.8(2024-03-20) +- 补充 删除文件时返回文件下标 +## 1.0.7(2024-02-21) +- 新增 微信小程序选择视频时改用chooseMedia,并返回视频缩略图 +## 1.0.6(2024-01-06) +- 新增 微信小程序不再调用chooseImage,而是调用chooseMedia +## 1.0.5(2024-01-03) +- 新增 上传文件至云存储携带本地文件名称 +## 1.0.4(2023-03-29) +- 修复 手动上传删除一个文件后不能再上传的bug +## 1.0.3(2022-12-19) +- 新增 sourceType 属性, 可以自定义图片和视频选择的来源 +## 1.0.2(2022-07-04) +- 修复 在uni-forms下样式不生效的bug +## 1.0.1(2021-11-23) +- 修复 参数为对象的情况下,url在某些情况显示错误的bug +## 1.0.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-file-picker](https://uniapp.dcloud.io/component/uniui/uni-file-picker) +## 0.2.16(2021-11-08) +- 修复 传入空对象 ,显示错误的Bug +## 0.2.15(2021-08-30) +- 修复 return-type="object" 时且存在v-model时,无法删除文件的Bug +## 0.2.14(2021-08-23) +- 新增 参数中返回 fileID 字段 +## 0.2.13(2021-08-23) +- 修复 腾讯云传入fileID 不能回显的bug +- 修复 选择图片后,不能放大的问题 +## 0.2.12(2021-08-17) +- 修复 由于 0.2.11 版本引起的不能回显图片的Bug +## 0.2.11(2021-08-16) +- 新增 clearFiles(index) 方法,可以手动删除指定文件 +- 修复 v-model 值设为 null 报错的Bug +## 0.2.10(2021-08-13) +- 修复 return-type="object" 时,无法删除文件的Bug +## 0.2.9(2021-08-03) +- 修复 auto-upload 属性失效的Bug +## 0.2.8(2021-07-31) +- 修复 fileExtname属性不指定值报错的Bug +## 0.2.7(2021-07-31) +- 修复 在某种场景下图片不回显的Bug +## 0.2.6(2021-07-30) +- 修复 return-type为object下,返回值不正确的Bug +## 0.2.5(2021-07-30) +- 修复(重要) H5 平台下如果和uni-forms组件一同使用导致页面卡死的问题 +## 0.2.3(2021-07-28) +- 优化 调整示例代码 +## 0.2.2(2021-07-27) +- 修复 vue3 下赋值错误的Bug +- 优化 h5平台下上传文件导致页面卡死的问题 +## 0.2.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 0.1.1(2021-07-02) +- 修复 sourceType 缺少默认值导致 ios 无法选择文件 +## 0.1.0(2021-06-30) +- 优化 解耦与uniCloud的强绑定关系 ,如不绑定服务空间,默认autoUpload为false且不可更改 +## 0.0.11(2021-06-30) +- 修复 由 0.0.10 版本引发的 returnType 属性失效的问题 +## 0.0.10(2021-06-29) +- 优化 文件上传后进度条消失时机 +## 0.0.9(2021-06-29) +- 修复 在uni-forms 中,删除文件 ,获取的值不对的Bug +## 0.0.8(2021-06-15) +- 修复 删除文件时无法触发 v-model 的Bug +## 0.0.7(2021-05-12) +- 新增 组件示例地址 +## 0.0.6(2021-04-09) +- 修复 选择的文件非 file-extname 字段指定的扩展名报错的Bug +## 0.0.5(2021-04-09) +- 优化 更新组件示例 +## 0.0.4(2021-04-09) +- 优化 file-extname 字段支持字符串写法,多个扩展名需要用逗号分隔 +## 0.0.3(2021-02-05) +- 调整为uni_modules目录规范 +- 修复 微信小程序不指定 fileExtname 属性选择失败的Bug diff --git a/weihu/uni_modules/uni-file-picker/components/uni-file-picker/choose-and-upload-file.js b/weihu/uni_modules/uni-file-picker/components/uni-file-picker/choose-and-upload-file.js new file mode 100644 index 0000000..9c6bcdf --- /dev/null +++ b/weihu/uni_modules/uni-file-picker/components/uni-file-picker/choose-and-upload-file.js @@ -0,0 +1,287 @@ +'use strict'; + +const ERR_MSG_OK = 'chooseAndUploadFile:ok'; +const ERR_MSG_FAIL = 'chooseAndUploadFile:fail'; + +function chooseImage(opts) { + const { + count, + sizeType = ['original', 'compressed'], + sourceType, + extension + } = opts + return new Promise((resolve, reject) => { + // 微信由于旧接口不再维护,针对微信小程序平台改用chooseMedia接口 + // #ifdef MP-WEIXIN + uni.chooseMedia({ + count, + sizeType, + sourceType, + mediaType: ['image'], + extension, + success(res) { + res.tempFiles.forEach(item => { + item.path = item.tempFilePath; + }) + resolve(normalizeChooseAndUploadFileRes(res, 'image')); + }, + fail(res) { + reject({ + errMsg: res.errMsg.replace('chooseImage:fail', ERR_MSG_FAIL), + }); + }, + }) + // #endif + // #ifndef MP-WEIXIN + uni.chooseImage({ + count, + sizeType, + sourceType, + extension, + success(res) { + resolve(normalizeChooseAndUploadFileRes(res, 'image')); + }, + fail(res) { + reject({ + errMsg: res.errMsg.replace('chooseImage:fail', ERR_MSG_FAIL), + }); + }, + }); + // #endif + + }); +} + +function chooseVideo(opts) { + const { + count, + camera, + compressed, + maxDuration, + sourceType, + extension + } = opts; + return new Promise((resolve, reject) => { + // 微信由于旧接口不再维护,针对微信小程序平台改用chooseMedia接口 + // #ifdef MP-WEIXIN + uni.chooseMedia({ + count, + compressed, + maxDuration, + sourceType, + extension, + mediaType: ['video'], + success(res) { + const { + tempFiles, + } = res; + resolve(normalizeChooseAndUploadFileRes({ + errMsg: 'chooseVideo:ok', + tempFiles: tempFiles.map(item => { + return { + name: item.name || '', + path: item.tempFilePath, + thumbTempFilePath: item.thumbTempFilePath, + size:item.size, + type: (res.tempFile && res.tempFile.type) || '', + width:item.width, + height:item.height, + duration:item.duration, + fileType: 'video', + cloudPath: '', + } + }), + }, 'video')); + }, + fail(res) { + reject({ + errMsg: res.errMsg.replace('chooseVideo:fail', ERR_MSG_FAIL), + }); + }, + }) + // #endif + // #ifndef MP-WEIXIN + uni.chooseVideo({ + camera, + compressed, + maxDuration, + sourceType, + extension, + success(res) { + const { + tempFilePath, + duration, + size, + height, + width + } = res; + resolve(normalizeChooseAndUploadFileRes({ + errMsg: 'chooseVideo:ok', + tempFilePaths: [tempFilePath], + tempFiles: [{ + name: (res.tempFile && res.tempFile.name) || '', + path: tempFilePath, + size, + type: (res.tempFile && res.tempFile.type) || '', + width, + height, + duration, + fileType: 'video', + cloudPath: '', + }, ], + }, 'video')); + }, + fail(res) { + reject({ + errMsg: res.errMsg.replace('chooseVideo:fail', ERR_MSG_FAIL), + }); + }, + }); + // #endif + }); +} + +function chooseAll(opts) { + const { + count, + extension + } = opts; + return new Promise((resolve, reject) => { + let chooseFile = uni.chooseFile; + if (typeof wx !== 'undefined' && + typeof wx.chooseMessageFile === 'function') { + chooseFile = wx.chooseMessageFile; + } + if (typeof chooseFile !== 'function') { + return reject({ + errMsg: ERR_MSG_FAIL + ' 请指定 type 类型,该平台仅支持选择 image 或 video。', + }); + } + chooseFile({ + type: 'all', + count, + extension, + success(res) { + resolve(normalizeChooseAndUploadFileRes(res)); + }, + fail(res) { + reject({ + errMsg: res.errMsg.replace('chooseFile:fail', ERR_MSG_FAIL), + }); + }, + }); + }); +} + +function normalizeChooseAndUploadFileRes(res, fileType) { + res.tempFiles.forEach((item, index) => { + if (!item.name) { + item.name = item.path.substring(item.path.lastIndexOf('/') + 1); + } + if (fileType) { + item.fileType = fileType; + } + item.cloudPath = + Date.now() + '_' + index + item.name.substring(item.name.lastIndexOf('.')); + }); + if (!res.tempFilePaths) { + res.tempFilePaths = res.tempFiles.map((file) => file.path); + } + return res; +} + +function uploadCloudFiles(files, max = 5, onUploadProgress) { + files = JSON.parse(JSON.stringify(files)) + const len = files.length + let count = 0 + let self = this + return new Promise(resolve => { + while (count < max) { + next() + } + + function next() { + let cur = count++ + if (cur >= len) { + !files.find(item => !item.url && !item.errMsg) && resolve(files) + return + } + const fileItem = files[cur] + const index = self.files.findIndex(v => v.uuid === fileItem.uuid) + fileItem.url = '' + delete fileItem.errMsg + + uniCloud + .uploadFile({ + filePath: fileItem.path, + cloudPath: fileItem.cloudPath, + fileType: fileItem.fileType, + onUploadProgress: res => { + res.index = index + onUploadProgress && onUploadProgress(res) + } + }) + .then(res => { + fileItem.url = res.fileID + fileItem.index = index + if (cur < len) { + next() + } + }) + .catch(res => { + fileItem.errMsg = res.errMsg || res.message + fileItem.index = index + if (cur < len) { + next() + } + }) + } + }) +} + + + + + +function uploadFiles(choosePromise, { + onChooseFile, + onUploadProgress +}) { + return choosePromise + .then((res) => { + if (onChooseFile) { + const customChooseRes = onChooseFile(res); + if (typeof customChooseRes !== 'undefined') { + return Promise.resolve(customChooseRes).then((chooseRes) => typeof chooseRes === 'undefined' ? + res : chooseRes); + } + } + return res; + }) + .then((res) => { + if (res === false) { + return { + errMsg: ERR_MSG_OK, + tempFilePaths: [], + tempFiles: [], + }; + } + return res + }) +} + +function chooseAndUploadFile(opts = { + type: 'all' +}) { + if (opts.type === 'image') { + return uploadFiles(chooseImage(opts), opts); + } else if (opts.type === 'video') { + return uploadFiles(chooseVideo(opts), opts); + } + return uploadFiles(chooseAll(opts), opts); +} + +export { + chooseAndUploadFile, + uploadCloudFiles +}; diff --git a/weihu/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue b/weihu/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue new file mode 100644 index 0000000..fb83f63 --- /dev/null +++ b/weihu/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue @@ -0,0 +1,678 @@ + + + + + diff --git a/weihu/uni_modules/uni-file-picker/components/uni-file-picker/upload-file.vue b/weihu/uni_modules/uni-file-picker/components/uni-file-picker/upload-file.vue new file mode 100644 index 0000000..625d92e --- /dev/null +++ b/weihu/uni_modules/uni-file-picker/components/uni-file-picker/upload-file.vue @@ -0,0 +1,325 @@ + + + + + diff --git a/weihu/uni_modules/uni-file-picker/components/uni-file-picker/upload-image.vue b/weihu/uni_modules/uni-file-picker/components/uni-file-picker/upload-image.vue new file mode 100644 index 0000000..2a29bc2 --- /dev/null +++ b/weihu/uni_modules/uni-file-picker/components/uni-file-picker/upload-image.vue @@ -0,0 +1,292 @@ + + + + + diff --git a/weihu/uni_modules/uni-file-picker/components/uni-file-picker/utils.js b/weihu/uni_modules/uni-file-picker/components/uni-file-picker/utils.js new file mode 100644 index 0000000..1bc9259 --- /dev/null +++ b/weihu/uni_modules/uni-file-picker/components/uni-file-picker/utils.js @@ -0,0 +1,110 @@ +/** + * 获取文件名和后缀 + * @param {String} name + */ +export const get_file_ext = (name) => { + const last_len = name.lastIndexOf('.') + const len = name.length + return { + name: name.substring(0, last_len), + ext: name.substring(last_len + 1, len) + } +} + +/** + * 获取扩展名 + * @param {Array} fileExtname + */ +export const get_extname = (fileExtname) => { + if (!Array.isArray(fileExtname)) { + let extname = fileExtname.replace(/(\[|\])/g, '') + return extname.split(',') + } else { + return fileExtname + } + return [] +} + +/** + * 获取文件和检测是否可选 + */ +export const get_files_and_is_max = (res, _extname) => { + let filePaths = [] + let files = [] + if(!_extname || _extname.length === 0){ + return { + filePaths, + files + } + } + res.tempFiles.forEach(v => { + let fileFullName = get_file_ext(v.name) + const extname = fileFullName.ext.toLowerCase() + if (_extname.indexOf(extname) !== -1) { + files.push(v) + filePaths.push(v.path) + } + }) + if (files.length !== res.tempFiles.length) { + uni.showToast({ + title: `当前选择了${res.tempFiles.length}个文件 ,${res.tempFiles.length - files.length} 个文件格式不正确`, + icon: 'none', + duration: 5000 + }) + } + + return { + filePaths, + files + } +} + + +/** + * 获取图片信息 + * @param {Object} filepath + */ +export const get_file_info = (filepath) => { + return new Promise((resolve, reject) => { + uni.getImageInfo({ + src: filepath, + success(res) { + resolve(res) + }, + fail(err) { + reject(err) + } + }) + }) +} +/** + * 获取封装数据 + */ +export const get_file_data = async (files, type = 'image') => { + // 最终需要上传数据库的数据 + let fileFullName = get_file_ext(files.name) + const extname = fileFullName.ext.toLowerCase() + let filedata = { + name: files.name, + uuid: files.uuid, + extname: extname || '', + cloudPath: files.cloudPath, + fileType: files.fileType, + thumbTempFilePath: files.thumbTempFilePath, + url: files.path || files.path, + size: files.size, //单位是字节 + image: {}, + path: files.path, + video: {} + } + if (type === 'image') { + const imageinfo = await get_file_info(files.path) + delete filedata.video + filedata.image.width = imageinfo.width + filedata.image.height = imageinfo.height + filedata.image.location = imageinfo.path + } else { + delete filedata.image + } + return filedata +} diff --git a/weihu/uni_modules/uni-file-picker/package.json b/weihu/uni_modules/uni-file-picker/package.json new file mode 100644 index 0000000..004d330 --- /dev/null +++ b/weihu/uni_modules/uni-file-picker/package.json @@ -0,0 +1,83 @@ +{ + "id": "uni-file-picker", + "displayName": "uni-file-picker 文件选择上传", + "version": "1.0.8", + "description": "文件选择上传组件,可以选择图片、视频等任意文件并上传到当前绑定的服务空间", + "keywords": [ + "uni-ui", + "uniui", + "图片上传", + "文件上传" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "n" + }, + "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/weihu/uni_modules/uni-file-picker/readme.md b/weihu/uni_modules/uni-file-picker/readme.md new file mode 100644 index 0000000..c8399a5 --- /dev/null +++ b/weihu/uni_modules/uni-file-picker/readme.md @@ -0,0 +1,11 @@ + +## FilePicker 文件选择上传 + +> **组件名:uni-file-picker** +> 代码块: `uFilePicker` + + +文件选择上传组件,可以选择图片、视频等任意文件并上传到当前绑定的服务空间 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-file-picker) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/weihu/uni_modules/uni-forms/changelog.md b/weihu/uni_modules/uni-forms/changelog.md new file mode 100644 index 0000000..3d998bc --- /dev/null +++ b/weihu/uni_modules/uni-forms/changelog.md @@ -0,0 +1,94 @@ +## 1.4.10(2023-11-03) +- 优化 labelWidth 描述错误 +## 1.4.9(2023-02-10) +- 修复 required 参数无法动态绑定 +## 1.4.8(2022-08-23) +- 优化 根据 rules 自动添加 required 的问题 +## 1.4.7(2022-08-22) +- 修复 item 未设置 require 属性,rules 设置 require 后,星号也显示的 bug,详见:[https://ask.dcloud.net.cn/question/151540](https://ask.dcloud.net.cn/question/151540) +## 1.4.6(2022-07-13) +- 修复 model 需要校验的值没有声明对应字段时,导致第一次不触发校验的bug +## 1.4.5(2022-07-05) +- 新增 更多表单示例 +- 优化 子表单组件过期提示的问题 +- 优化 子表单组件uni-datetime-picker、uni-data-select、uni-data-picker的显示样式 +## 1.4.4(2022-07-04) +- 更新 删除组件日志 +## 1.4.3(2022-07-04) +- 修复 由 1.4.0 引发的 label 插槽不生效的bug +## 1.4.2(2022-07-04) +- 修复 子组件找不到 setValue 报错的bug +## 1.4.1(2022-07-04) +- 修复 uni-data-picker 在 uni-forms-item 中报错的bug +- 修复 uni-data-picker 在 uni-forms-item 中宽度不正确的bug +## 1.4.0(2022-06-30) +- 【重要】组件逻辑重构,部分用法用旧版本不兼容,请注意兼容问题 +- 【重要】组件使用 Provide/Inject 方式注入依赖,提供了自定义表单组件调用 uni-forms 校验表单的能力 +- 新增 model 属性,等同于原 value/modelValue 属性,旧属性即将废弃 +- 新增 validateTrigger 属性的 blur 值,仅 uni-easyinput 生效 +- 新增 onFieldChange 方法,可以对子表单进行校验,可替代binddata方法 +- 新增 子表单的 setRules 方法,配合自定义校验函数使用 +- 新增 uni-forms-item 的 setRules 方法,配置动态表单使用可动态更新校验规则 +- 优化 动态表单校验方式,废弃拼接name的方式 +## 1.3.3(2022-06-22) +- 修复 表单校验顺序无序问题 +## 1.3.2(2021-12-09) +- +## 1.3.1(2021-11-19) +- 修复 label 插槽不生效的bug +## 1.3.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-forms](https://uniapp.dcloud.io/component/uniui/uni-forms) +## 1.2.7(2021-08-13) +- 修复 没有添加校验规则的字段依然报错的Bug +## 1.2.6(2021-08-11) +- 修复 重置表单错误信息无法清除的问题 +## 1.2.5(2021-08-11) +- 优化 组件文档 +## 1.2.4(2021-08-11) +- 修复 表单验证只生效一次的问题 +## 1.2.3(2021-07-30) +- 优化 vue3下事件警告的问题 +## 1.2.2(2021-07-26) +- 修复 vue2 下条件编译导致destroyed生命周期失效的Bug +- 修复 1.2.1 引起的示例在小程序平台报错的Bug +## 1.2.1(2021-07-22) +- 修复 动态校验表单,默认值为空的情况下校验失效的Bug +- 修复 不指定name属性时,运行报错的Bug +- 优化 label默认宽度从65调整至70,使required为true且四字时不换行 +- 优化 组件示例,新增动态校验示例代码 +- 优化 组件文档,使用方式更清晰 +## 1.2.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.2(2021-06-25) +- 修复 pattern 属性在微信小程序平台无效的问题 +## 1.1.1(2021-06-22) +- 修复 validate-trigger属性为submit且err-show-type属性为toast时不能弹出的Bug +## 1.1.0(2021-06-22) +- 修复 只写setRules方法而导致校验不生效的Bug +- 修复 由上个办法引发的错误提示文字错位的Bug +## 1.0.48(2021-06-21) +- 修复 不设置 label 属性 ,无法设置label插槽的问题 +## 1.0.47(2021-06-21) +- 修复 不设置label属性,label-width属性不生效的bug +- 修复 setRules 方法与rules属性冲突的问题 +## 1.0.46(2021-06-04) +- 修复 动态删减数据导致报错的问题 +## 1.0.45(2021-06-04) +- 新增 modelValue 属性 ,value 即将废弃 +## 1.0.44(2021-06-02) +- 新增 uni-forms-item 可以设置单独的 rules +- 新增 validate 事件增加 keepitem 参数,可以选择那些字段不过滤 +- 优化 submit 事件重命名为 validate +## 1.0.43(2021-05-12) +- 新增 组件示例地址 +## 1.0.42(2021-04-30) +- 修复 自定义检验器失效的问题 +## 1.0.41(2021-03-05) +- 更新 校验器 +- 修复 表单规则设置类型为 number 的情况下,值为0校验失败的Bug +## 1.0.40(2021-03-04) +- 修复 动态显示uni-forms-item的情况下,submit 方法获取值错误的Bug +## 1.0.39(2021-02-05) +- 调整为uni_modules目录规范 +- 修复 校验器传入 int 等类型 ,返回String类型的Bug diff --git a/weihu/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue b/weihu/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue new file mode 100644 index 0000000..0aef9cc --- /dev/null +++ b/weihu/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue @@ -0,0 +1,627 @@ + + + + + diff --git a/weihu/uni_modules/uni-forms/components/uni-forms/uni-forms.vue b/weihu/uni_modules/uni-forms/components/uni-forms/uni-forms.vue new file mode 100644 index 0000000..9bb9ae7 --- /dev/null +++ b/weihu/uni_modules/uni-forms/components/uni-forms/uni-forms.vue @@ -0,0 +1,397 @@ + + + + + diff --git a/weihu/uni_modules/uni-forms/components/uni-forms/utils.js b/weihu/uni_modules/uni-forms/components/uni-forms/utils.js new file mode 100644 index 0000000..6da2421 --- /dev/null +++ b/weihu/uni_modules/uni-forms/components/uni-forms/utils.js @@ -0,0 +1,293 @@ +/** + * 简单处理对象拷贝 + * @param {Obejct} 被拷贝对象 + * @@return {Object} 拷贝对象 + */ +export const deepCopy = (val) => { + return JSON.parse(JSON.stringify(val)) +} +/** + * 过滤数字类型 + * @param {String} format 数字类型 + * @@return {Boolean} 返回是否为数字类型 + */ +export const typeFilter = (format) => { + return format === 'int' || format === 'double' || format === 'number' || format === 'timestamp'; +} + +/** + * 把 value 转换成指定的类型,用于处理初始值,原因是初始值需要入库不能为 undefined + * @param {String} key 字段名 + * @param {any} value 字段值 + * @param {Object} rules 表单校验规则 + */ +export const getValue = (key, value, rules) => { + const isRuleNumType = rules.find(val => val.format && typeFilter(val.format)); + const isRuleBoolType = rules.find(val => (val.format && val.format === 'boolean') || val.format === 'bool'); + // 输入类型为 number + if (!!isRuleNumType) { + if (!value && value !== 0) { + value = null + } else { + value = isNumber(Number(value)) ? Number(value) : value + } + } + + // 输入类型为 boolean + if (!!isRuleBoolType) { + value = isBoolean(value) ? value : false + } + + return value; +} + +/** + * 获取表单数据 + * @param {String|Array} name 真实名称,需要使用 realName 获取 + * @param {Object} data 原始数据 + * @param {any} value 需要设置的值 + */ +export const setDataValue = (field, formdata, value) => { + formdata[field] = value + return value || '' +} + +/** + * 获取表单数据 + * @param {String|Array} field 真实名称,需要使用 realName 获取 + * @param {Object} data 原始数据 + */ +export const getDataValue = (field, data) => { + return objGet(data, field) +} + +/** + * 获取表单类型 + * @param {String|Array} field 真实名称,需要使用 realName 获取 + */ +export const getDataValueType = (field, data) => { + const value = getDataValue(field, data) + return { + type: type(value), + value + } +} + +/** + * 获取表单可用的真实name + * @param {String|Array} name 表单name + * @@return {String} 表单可用的真实name + */ +export const realName = (name, data = {}) => { + const base_name = _basePath(name) + if (typeof base_name === 'object' && Array.isArray(base_name) && base_name.length > 1) { + const realname = base_name.reduce((a, b) => a += `#${b}`, '_formdata_') + return realname + } + return base_name[0] || name +} + +/** + * 判断是否表单可用的真实name + * @param {String|Array} name 表单name + * @@return {String} 表单可用的真实name + */ +export const isRealName = (name) => { + const reg = /^_formdata_#*/ + return reg.test(name) +} + +/** + * 获取表单数据的原始格式 + * @@return {Object|Array} object 需要解析的数据 + */ +export const rawData = (object = {}, name) => { + let newData = JSON.parse(JSON.stringify(object)) + let formData = {} + for(let i in newData){ + let path = name2arr(i) + objSet(formData,path,newData[i]) + } + return formData +} + +/** + * 真实name还原为 array + * @param {*} name + */ +export const name2arr = (name) => { + let field = name.replace('_formdata_#', '') + field = field.split('#').map(v => (isNumber(v) ? Number(v) : v)) + return field +} + +/** + * 对象中设置值 + * @param {Object|Array} object 源数据 + * @param {String| Array} path 'a.b.c' 或 ['a',0,'b','c'] + * @param {String} value 需要设置的值 + */ +export const objSet = (object, path, value) => { + if (typeof object !== 'object') return object; + _basePath(path).reduce((o, k, i, _) => { + if (i === _.length - 1) { + // 若遍历结束直接赋值 + o[k] = value + return null + } else if (k in o) { + // 若存在对应路径,则返回找到的对象,进行下一次遍历 + return o[k] + } else { + // 若不存在对应路径,则创建对应对象,若下一路径是数字,新对象赋值为空数组,否则赋值为空对象 + o[k] = /^[0-9]{1,}$/.test(_[i + 1]) ? [] : {} + return o[k] + } + }, object) + // 返回object + return object; +} + +// 处理 path, path有三种形式:'a[0].b.c'、'a.0.b.c' 和 ['a','0','b','c'],需要统一处理成数组,便于后续使用 +function _basePath(path) { + // 若是数组,则直接返回 + if (Array.isArray(path)) return path + // 若有 '[',']',则替换成将 '[' 替换成 '.',去掉 ']' + return path.replace(/\[/g, '.').replace(/\]/g, '').split('.') +} + +/** + * 从对象中获取值 + * @param {Object|Array} object 源数据 + * @param {String| Array} path 'a.b.c' 或 ['a',0,'b','c'] + * @param {String} defaultVal 如果无法从调用链中获取值的默认值 + */ +export const objGet = (object, path, defaultVal = 'undefined') => { + // 先将path处理成统一格式 + let newPath = _basePath(path) + // 递归处理,返回最后结果 + let val = newPath.reduce((o, k) => { + return (o || {})[k] + }, object); + return !val || val !== undefined ? val : defaultVal +} + + +/** + * 是否为 number 类型 + * @param {any} num 需要判断的值 + * @return {Boolean} 是否为 number + */ +export const isNumber = (num) => { + return !isNaN(Number(num)) +} + +/** + * 是否为 boolean 类型 + * @param {any} bool 需要判断的值 + * @return {Boolean} 是否为 boolean + */ +export const isBoolean = (bool) => { + return (typeof bool === 'boolean') +} +/** + * 是否有必填字段 + * @param {Object} rules 规则 + * @return {Boolean} 是否有必填字段 + */ +export const isRequiredField = (rules) => { + let isNoField = false; + for (let i = 0; i < rules.length; i++) { + const ruleData = rules[i]; + if (ruleData.required) { + isNoField = true; + break; + } + } + return isNoField; +} + + +/** + * 获取数据类型 + * @param {Any} obj 需要获取数据类型的值 + */ +export const type = (obj) => { + var class2type = {}; + + // 生成class2type映射 + "Boolean Number String Function Array Date RegExp Object Error".split(" ").map(function(item, index) { + class2type["[object " + item + "]"] = item.toLowerCase(); + }) + if (obj == null) { + return obj + ""; + } + return typeof obj === "object" || typeof obj === "function" ? + class2type[Object.prototype.toString.call(obj)] || "object" : + typeof obj; +} + +/** + * 判断两个值是否相等 + * @param {any} a 值 + * @param {any} b 值 + * @return {Boolean} 是否相等 + */ +export const isEqual = (a, b) => { + //如果a和b本来就全等 + if (a === b) { + //判断是否为0和-0 + return a !== 0 || 1 / a === 1 / b; + } + //判断是否为null和undefined + if (a == null || b == null) { + return a === b; + } + //接下来判断a和b的数据类型 + var classNameA = toString.call(a), + classNameB = toString.call(b); + //如果数据类型不相等,则返回false + if (classNameA !== classNameB) { + return false; + } + //如果数据类型相等,再根据不同数据类型分别判断 + switch (classNameA) { + case '[object RegExp]': + case '[object String]': + //进行字符串转换比较 + return '' + a === '' + b; + case '[object Number]': + //进行数字转换比较,判断是否为NaN + if (+a !== +a) { + return +b !== +b; + } + //判断是否为0或-0 + return +a === 0 ? 1 / +a === 1 / b : +a === +b; + case '[object Date]': + case '[object Boolean]': + return +a === +b; + } + //如果是对象类型 + if (classNameA == '[object Object]') { + //获取a和b的属性长度 + var propsA = Object.getOwnPropertyNames(a), + propsB = Object.getOwnPropertyNames(b); + if (propsA.length != propsB.length) { + return false; + } + for (var i = 0; i < propsA.length; i++) { + var propName = propsA[i]; + //如果对应属性对应值不相等,则返回false + if (a[propName] !== b[propName]) { + return false; + } + } + return true; + } + //如果是数组类型 + if (classNameA == '[object Array]') { + if (a.toString() == b.toString()) { + return true; + } + return false; + } +} diff --git a/weihu/uni_modules/uni-forms/components/uni-forms/validate.js b/weihu/uni_modules/uni-forms/components/uni-forms/validate.js new file mode 100644 index 0000000..1834c6c --- /dev/null +++ b/weihu/uni_modules/uni-forms/components/uni-forms/validate.js @@ -0,0 +1,486 @@ +var pattern = { + email: /^\S+?@\S+?\.\S+?$/, + idcard: /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/, + 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') +}; + +const FORMAT_MAPPING = { + "int": 'integer', + "bool": 'boolean', + "double": 'number', + "long": 'number', + "password": 'string' + // "fileurls": 'array' +} + +function formatMessage(args, resources = '') { + var defaultMessage = ['label'] + defaultMessage.forEach((item) => { + if (args[item] === undefined) { + args[item] = '' + } + }) + + let str = resources + for (let key in args) { + let reg = new RegExp('{' + key + '}') + str = str.replace(reg, args[key]) + } + return str +} + +function isEmptyValue(value, type) { + if (value === undefined || value === null) { + return true; + } + + if (typeof value === 'string' && !value) { + return true; + } + + if (Array.isArray(value) && !value.length) { + return true; + } + + if (type === 'object' && !Object.keys(value).length) { + return true; + } + + return false; +} + +const types = { + integer(value) { + return types.number(value) && parseInt(value, 10) === value; + }, + string(value) { + return typeof value === 'string'; + }, + number(value) { + if (isNaN(value)) { + return false; + } + return typeof value === 'number'; + }, + "boolean": function(value) { + return typeof value === 'boolean'; + }, + "float": function(value) { + return types.number(value) && !types.integer(value); + }, + array(value) { + return Array.isArray(value); + }, + object(value) { + return typeof value === 'object' && !types.array(value); + }, + date(value) { + return value instanceof Date; + }, + timestamp(value) { + if (!this.integer(value) || Math.abs(value).toString().length > 16) { + return false + } + return true; + }, + file(value) { + return typeof value.url === 'string'; + }, + email(value) { + return typeof value === 'string' && !!value.match(pattern.email) && value.length < 255; + }, + url(value) { + return typeof value === 'string' && !!value.match(pattern.url); + }, + pattern(reg, value) { + try { + return new RegExp(reg).test(value); + } catch (e) { + return false; + } + }, + method(value) { + return typeof value === 'function'; + }, + idcard(value) { + return typeof value === 'string' && !!value.match(pattern.idcard); + }, + 'url-https'(value) { + return this.url(value) && value.startsWith('https://'); + }, + 'url-scheme'(value) { + return value.startsWith('://'); + }, + 'url-web'(value) { + return false; + } +} + +class RuleValidator { + + constructor(message) { + this._message = message + } + + async validateRule(fieldKey, fieldValue, value, data, allData) { + var result = null + + let rules = fieldValue.rules + + let hasRequired = rules.findIndex((item) => { + return item.required + }) + if (hasRequired < 0) { + if (value === null || value === undefined) { + return result + } + if (typeof value === 'string' && !value.length) { + return result + } + } + + var message = this._message + + if (rules === undefined) { + return message['default'] + } + + for (var i = 0; i < rules.length; i++) { + let rule = rules[i] + let vt = this._getValidateType(rule) + + Object.assign(rule, { + label: fieldValue.label || `["${fieldKey}"]` + }) + + if (RuleValidatorHelper[vt]) { + result = RuleValidatorHelper[vt](rule, value, message) + if (result != null) { + break + } + } + + if (rule.validateExpr) { + let now = Date.now() + let resultExpr = rule.validateExpr(value, allData, now) + if (resultExpr === false) { + result = this._getMessage(rule, rule.errorMessage || this._message['default']) + break + } + } + + if (rule.validateFunction) { + result = await this.validateFunction(rule, value, data, allData, vt) + if (result !== null) { + break + } + } + } + + if (result !== null) { + result = message.TAG + result + } + + return result + } + + async validateFunction(rule, value, data, allData, vt) { + let result = null + try { + let callbackMessage = null + const res = await rule.validateFunction(rule, value, allData || data, (message) => { + callbackMessage = message + }) + if (callbackMessage || (typeof res === 'string' && res) || res === false) { + result = this._getMessage(rule, callbackMessage || res, vt) + } + } catch (e) { + result = this._getMessage(rule, e.message, vt) + } + return result + } + + _getMessage(rule, message, vt) { + return formatMessage(rule, message || rule.errorMessage || this._message[vt] || message['default']) + } + + _getValidateType(rule) { + var result = '' + if (rule.required) { + result = 'required' + } else if (rule.format) { + result = 'format' + } else if (rule.arrayType) { + result = 'arrayTypeFormat' + } else if (rule.range) { + result = 'range' + } else if (rule.maximum !== undefined || rule.minimum !== undefined) { + result = 'rangeNumber' + } else if (rule.maxLength !== undefined || rule.minLength !== undefined) { + result = 'rangeLength' + } else if (rule.pattern) { + result = 'pattern' + } else if (rule.validateFunction) { + result = 'validateFunction' + } + return result + } +} + +const RuleValidatorHelper = { + required(rule, value, message) { + if (rule.required && isEmptyValue(value, rule.format || typeof value)) { + return formatMessage(rule, rule.errorMessage || message.required); + } + + return null + }, + + range(rule, value, message) { + const { + range, + errorMessage + } = rule; + + let list = new Array(range.length); + for (let i = 0; i < range.length; i++) { + const item = range[i]; + if (types.object(item) && item.value !== undefined) { + list[i] = item.value; + } else { + list[i] = item; + } + } + + let result = false + if (Array.isArray(value)) { + result = (new Set(value.concat(list)).size === list.length); + } else { + if (list.indexOf(value) > -1) { + result = true; + } + } + + if (!result) { + return formatMessage(rule, errorMessage || message['enum']); + } + + return null + }, + + rangeNumber(rule, value, message) { + if (!types.number(value)) { + return formatMessage(rule, rule.errorMessage || message.pattern.mismatch); + } + + let { + minimum, + maximum, + exclusiveMinimum, + exclusiveMaximum + } = rule; + let min = exclusiveMinimum ? value <= minimum : value < minimum; + let max = exclusiveMaximum ? value >= maximum : value > maximum; + + if (minimum !== undefined && min) { + return formatMessage(rule, rule.errorMessage || message['number'][exclusiveMinimum ? + 'exclusiveMinimum' : 'minimum' + ]) + } else if (maximum !== undefined && max) { + return formatMessage(rule, rule.errorMessage || message['number'][exclusiveMaximum ? + 'exclusiveMaximum' : 'maximum' + ]) + } else if (minimum !== undefined && maximum !== undefined && (min || max)) { + return formatMessage(rule, rule.errorMessage || message['number'].range) + } + + return null + }, + + rangeLength(rule, value, message) { + if (!types.string(value) && !types.array(value)) { + return formatMessage(rule, rule.errorMessage || message.pattern.mismatch); + } + + let min = rule.minLength; + let max = rule.maxLength; + let val = value.length; + + if (min !== undefined && val < min) { + return formatMessage(rule, rule.errorMessage || message['length'].minLength) + } else if (max !== undefined && val > max) { + return formatMessage(rule, rule.errorMessage || message['length'].maxLength) + } else if (min !== undefined && max !== undefined && (val < min || val > max)) { + return formatMessage(rule, rule.errorMessage || message['length'].range) + } + + return null + }, + + pattern(rule, value, message) { + if (!types['pattern'](rule.pattern, value)) { + return formatMessage(rule, rule.errorMessage || message.pattern.mismatch); + } + + return null + }, + + format(rule, value, message) { + var customTypes = Object.keys(types); + var format = FORMAT_MAPPING[rule.format] ? FORMAT_MAPPING[rule.format] : (rule.format || rule.arrayType); + + if (customTypes.indexOf(format) > -1) { + if (!types[format](value)) { + return formatMessage(rule, rule.errorMessage || message.typeError); + } + } + + return null + }, + + arrayTypeFormat(rule, value, message) { + if (!Array.isArray(value)) { + return formatMessage(rule, rule.errorMessage || message.typeError); + } + + for (let i = 0; i < value.length; i++) { + const element = value[i]; + let formatResult = this.format(rule, element, message) + if (formatResult !== null) { + return formatResult + } + } + + return null + } +} + +class SchemaValidator extends RuleValidator { + + constructor(schema, options) { + super(SchemaValidator.message); + + this._schema = schema + this._options = options || null + } + + updateSchema(schema) { + this._schema = schema + } + + async validate(data, allData) { + let result = this._checkFieldInSchema(data) + if (!result) { + result = await this.invokeValidate(data, false, allData) + } + return result.length ? result[0] : null + } + + async validateAll(data, allData) { + let result = this._checkFieldInSchema(data) + if (!result) { + result = await this.invokeValidate(data, true, allData) + } + return result + } + + async validateUpdate(data, allData) { + let result = this._checkFieldInSchema(data) + if (!result) { + result = await this.invokeValidateUpdate(data, false, allData) + } + return result.length ? result[0] : null + } + + async invokeValidate(data, all, allData) { + let result = [] + let schema = this._schema + for (let key in schema) { + let value = schema[key] + let errorMessage = await this.validateRule(key, value, data[key], data, allData) + if (errorMessage != null) { + result.push({ + key, + errorMessage + }) + if (!all) break + } + } + return result + } + + async invokeValidateUpdate(data, all, allData) { + let result = [] + for (let key in data) { + let errorMessage = await this.validateRule(key, this._schema[key], data[key], data, allData) + if (errorMessage != null) { + result.push({ + key, + errorMessage + }) + if (!all) break + } + } + return result + } + + _checkFieldInSchema(data) { + var keys = Object.keys(data) + var keys2 = Object.keys(this._schema) + if (new Set(keys.concat(keys2)).size === keys2.length) { + return '' + } + + var noExistFields = keys.filter((key) => { + return keys2.indexOf(key) < 0; + }) + var errorMessage = formatMessage({ + field: JSON.stringify(noExistFields) + }, SchemaValidator.message.TAG + SchemaValidator.message['defaultInvalid']) + return [{ + key: 'invalid', + errorMessage + }] + } +} + +function Message() { + return { + TAG: "", + default: '验证错误', + defaultInvalid: '提交的字段{field}在数据库中并不存在', + validateFunction: '验证无效', + required: '{label}必填', + 'enum': '{label}超出范围', + timestamp: '{label}格式无效', + whitespace: '{label}不能为空', + typeError: '{label}类型无效', + date: { + format: '{label}日期{value}格式无效', + parse: '{label}日期无法解析,{value}无效', + invalid: '{label}日期{value}无效' + }, + length: { + minLength: '{label}长度不能少于{minLength}', + maxLength: '{label}长度不能超过{maxLength}', + range: '{label}必须介于{minLength}和{maxLength}之间' + }, + number: { + minimum: '{label}不能小于{minimum}', + maximum: '{label}不能大于{maximum}', + exclusiveMinimum: '{label}不能小于等于{minimum}', + exclusiveMaximum: '{label}不能大于等于{maximum}', + range: '{label}必须介于{minimum}and{maximum}之间' + }, + pattern: { + mismatch: '{label}格式不匹配' + } + }; +} + + +SchemaValidator.message = new Message(); + +export default SchemaValidator diff --git a/weihu/uni_modules/uni-forms/package.json b/weihu/uni_modules/uni-forms/package.json new file mode 100644 index 0000000..464b4e6 --- /dev/null +++ b/weihu/uni_modules/uni-forms/package.json @@ -0,0 +1,88 @@ +{ + "id": "uni-forms", + "displayName": "uni-forms 表单", + "version": "1.4.10", + "description": "由输入框、选择器、单选框、多选框等控件组成,用以收集、校验、提交数据", + "keywords": [ + "uni-ui", + "表单", + "校验", + "表单校验", + "表单验证" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "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", + "京东": "u" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/weihu/uni_modules/uni-forms/readme.md b/weihu/uni_modules/uni-forms/readme.md new file mode 100644 index 0000000..63d5a04 --- /dev/null +++ b/weihu/uni_modules/uni-forms/readme.md @@ -0,0 +1,23 @@ + + +## Forms 表单 + +> **组件名:uni-forms** +> 代码块: `uForms`、`uni-forms-item` +> 关联组件:`uni-forms-item`、`uni-easyinput`、`uni-data-checkbox`、`uni-group`。 + + +uni-app的内置组件已经有了 `
`组件,用于提交表单内容。 + +然而几乎每个表单都需要做表单验证,为了方便做表单验证,减少重复开发,`uni ui` 又基于 ``组件封装了 ``组件,内置了表单验证功能。 + +`` 提供了 `rules`属性来描述校验规则、``子组件来包裹具体的表单项,以及给原生或三方组件提供了 `binddata()` 来设置表单值。 + +每个要校验的表单项,不管input还是checkbox,都必须放在``组件中,且一个``组件只能放置一个表单项。 + +``组件内部预留了显示error message的区域,默认是在表单项的底部。 + +另外,``组件下面的各个表单项,可以通过``包裹为不同的分组。同一``下的不同表单项目将聚拢在一起,同其他group保持垂直间距。``仅影响视觉效果。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-forms) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/weihu/uni_modules/uni-goods-nav/changelog.md b/weihu/uni_modules/uni-goods-nav/changelog.md new file mode 100644 index 0000000..c6264c6 --- /dev/null +++ b/weihu/uni_modules/uni-goods-nav/changelog.md @@ -0,0 +1,18 @@ +## 1.2.1(2022-05-30) +- 新增 stat属性,是否开启uni统计功能 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-goods-nav](https://uniapp.dcloud.io/component/uniui/uni-goods-nav) +## 1.1.1(2021-08-24) +- 新增 支持国际化 +## 1.1.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.7(2021-05-12) +- 新增 组件示例地址 +## 1.0.6(2021-04-21) +- 优化 添加依赖 uni-icons, 导入后自动下载依赖 +## 1.0.5(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 + +## 1.0.4(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/weihu/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/en.json b/weihu/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/en.json new file mode 100644 index 0000000..dcdba41 --- /dev/null +++ b/weihu/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/en.json @@ -0,0 +1,6 @@ +{ + "uni-goods-nav.options.shop": "shop", + "uni-goods-nav.options.cart": "cart", + "uni-goods-nav.buttonGroup.addToCart": "add to cart", + "uni-goods-nav.buttonGroup.buyNow": "buy now" +} diff --git a/weihu/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/index.js b/weihu/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/index.js new file mode 100644 index 0000000..de7509c --- /dev/null +++ b/weihu/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/index.js @@ -0,0 +1,8 @@ +import en from './en.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/weihu/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hans.json b/weihu/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hans.json new file mode 100644 index 0000000..48ee344 --- /dev/null +++ b/weihu/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hans.json @@ -0,0 +1,6 @@ +{ + "uni-goods-nav.options.shop": "店铺", + "uni-goods-nav.options.cart": "购物车", + "uni-goods-nav.buttonGroup.addToCart": "加入购物车", + "uni-goods-nav.buttonGroup.buyNow": "立即购买" +} diff --git a/weihu/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hant.json b/weihu/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hant.json new file mode 100644 index 0000000..d0a0255 --- /dev/null +++ b/weihu/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hant.json @@ -0,0 +1,6 @@ +{ + "uni-goods-nav.options.shop": "店鋪", + "uni-goods-nav.options.cart": "購物車", + "uni-goods-nav.buttonGroup.addToCart": "加入購物車", + "uni-goods-nav.buttonGroup.buyNow": "立即購買" +} diff --git a/weihu/uni_modules/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue b/weihu/uni_modules/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue new file mode 100644 index 0000000..e79a0fa --- /dev/null +++ b/weihu/uni_modules/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue @@ -0,0 +1,231 @@ + + + + + diff --git a/weihu/uni_modules/uni-goods-nav/package.json b/weihu/uni_modules/uni-goods-nav/package.json new file mode 100644 index 0000000..636e45e --- /dev/null +++ b/weihu/uni_modules/uni-goods-nav/package.json @@ -0,0 +1,88 @@ +{ + "id": "uni-goods-nav", + "displayName": "uni-goods-nav 商品导航", + "version": "1.2.1", + "description": "商品导航组件主要用于电商类应用底部导航,可自定义加入购物车,购买等操作", + "keywords": [ + "uni-ui", + "uniui", + "商品导航" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/weihu/uni_modules/uni-goods-nav/readme.md b/weihu/uni_modules/uni-goods-nav/readme.md new file mode 100644 index 0000000..07df93f --- /dev/null +++ b/weihu/uni_modules/uni-goods-nav/readme.md @@ -0,0 +1,10 @@ + + +## GoodsNav 商品导航 +> **组件名:uni-goods-nav** +> 代码块: `uGoodsNav` + +商品加入购物车,立即购买等。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-goods-nav) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/weihu/uni_modules/uni-grid/changelog.md b/weihu/uni_modules/uni-grid/changelog.md new file mode 100644 index 0000000..d301166 --- /dev/null +++ b/weihu/uni_modules/uni-grid/changelog.md @@ -0,0 +1,13 @@ +## 1.4.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-grid](https://uniapp.dcloud.io/component/uniui/uni-grid) +## 1.3.2(2021-11-09) +- 新增 提供组件设计资源,组件样式调整 +## 1.3.1(2021-07-30) +- 优化 vue3下事件警告的问题 +## 1.3.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.2.4(2021-05-12) +- 新增 组件示例地址 +## 1.2.3(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/weihu/uni_modules/uni-grid/components/uni-grid-item/uni-grid-item.vue b/weihu/uni_modules/uni-grid/components/uni-grid-item/uni-grid-item.vue new file mode 100644 index 0000000..19c08d7 --- /dev/null +++ b/weihu/uni_modules/uni-grid/components/uni-grid-item/uni-grid-item.vue @@ -0,0 +1,127 @@ + + + + + diff --git a/weihu/uni_modules/uni-grid/components/uni-grid/uni-grid.vue b/weihu/uni_modules/uni-grid/components/uni-grid/uni-grid.vue new file mode 100644 index 0000000..0edc7ff --- /dev/null +++ b/weihu/uni_modules/uni-grid/components/uni-grid/uni-grid.vue @@ -0,0 +1,142 @@ + + + + + diff --git a/weihu/uni_modules/uni-grid/package.json b/weihu/uni_modules/uni-grid/package.json new file mode 100644 index 0000000..ccb2c91 --- /dev/null +++ b/weihu/uni_modules/uni-grid/package.json @@ -0,0 +1,86 @@ +{ + "id": "uni-grid", + "displayName": "uni-grid 宫格", + "version": "1.4.0", + "description": "Grid 宫格组件,提供移动端常见的宫格布局,如九宫格。", + "keywords": [ + "uni-ui", + "uniui", + "九宫格", + "表格" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss","uni-icons"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/weihu/uni_modules/uni-grid/readme.md b/weihu/uni_modules/uni-grid/readme.md new file mode 100644 index 0000000..0aa44cc --- /dev/null +++ b/weihu/uni_modules/uni-grid/readme.md @@ -0,0 +1,11 @@ + + +## Grid 宫格 +> **组件名:uni-grid** +> 代码块: `uGrid` + + +宫格组件。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-grid) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/weihu/uni_modules/uni-group/changelog.md b/weihu/uni_modules/uni-group/changelog.md new file mode 100644 index 0000000..a7024fd --- /dev/null +++ b/weihu/uni_modules/uni-group/changelog.md @@ -0,0 +1,16 @@ +## 1.2.2(2022-05-30) +- 新增 stat属性,是否开启uni统计功能 +## 1.2.1(2021-11-22) +- 修复 vue3中某些scss变量无法找到的问题 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-group](https://uniapp.dcloud.io/component/uniui/uni-group) +## 1.1.7(2021-11-08) +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +- 优化 组件文档 +## 1.0.3(2021-05-12) +- 新增 组件示例地址 +## 1.0.2(2021-02-05) +- 调整为uni_modules目录规范 +- 优化 兼容 nvue 页面 diff --git a/weihu/uni_modules/uni-group/components/uni-group/uni-group.vue b/weihu/uni_modules/uni-group/components/uni-group/uni-group.vue new file mode 100644 index 0000000..3425ecd --- /dev/null +++ b/weihu/uni_modules/uni-group/components/uni-group/uni-group.vue @@ -0,0 +1,134 @@ + + + + diff --git a/weihu/uni_modules/uni-group/package.json b/weihu/uni_modules/uni-group/package.json new file mode 100644 index 0000000..ea00a08 --- /dev/null +++ b/weihu/uni_modules/uni-group/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-group", + "displayName": "uni-group 分组", + "version": "1.2.2", + "description": "分组组件可用于将组件用于分组,添加间隔,以产生明显的区块", + "keywords": [ + "uni-ui", + "uniui", + "group", + "分组", + "" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/weihu/uni_modules/uni-group/readme.md b/weihu/uni_modules/uni-group/readme.md new file mode 100644 index 0000000..bae67f4 --- /dev/null +++ b/weihu/uni_modules/uni-group/readme.md @@ -0,0 +1,9 @@ + +## Group 分组 +> **组件名:uni-group** +> 代码块: `uGroup` + +分组组件可用于将组件分组,添加间隔,以产生明显的区块。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-group) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/weihu/uni_modules/uni-icons/changelog.md b/weihu/uni_modules/uni-icons/changelog.md new file mode 100644 index 0000000..620ab02 --- /dev/null +++ b/weihu/uni_modules/uni-icons/changelog.md @@ -0,0 +1,40 @@ +## 2.0.9(2024-01-12) +fix: 修复图标大小默认值错误的问题 +## 2.0.8(2023-12-14) +- 修复 项目未使用 ts 情况下,打包报错的bug +## 2.0.7(2023-12-14) +- 修复 size 属性为 string 时,不加单位导致尺寸异常的bug +## 2.0.6(2023-12-11) +- 优化 兼容老版本icon类型,如 top ,bottom 等 +## 2.0.5(2023-12-11) +- 优化 兼容老版本icon类型,如 top ,bottom 等 +## 2.0.4(2023-12-06) +- 优化 uni-app x 下示例项目图标排序 +## 2.0.3(2023-12-06) +- 修复 nvue下引入组件报错的bug +## 2.0.2(2023-12-05) +-优化 size 属性支持单位 +## 2.0.1(2023-12-05) +- 新增 uni-app x 支持定义图标 +## 1.3.5(2022-01-24) +- 优化 size 属性可以传入不带单位的字符串数值 +## 1.3.4(2022-01-24) +- 优化 size 支持其他单位 +## 1.3.3(2022-01-17) +- 修复 nvue 有些图标不显示的bug,兼容老版本图标 +## 1.3.2(2021-12-01) +- 优化 示例可复制图标名称 +## 1.3.1(2021-11-23) +- 优化 兼容旧组件 type 值 +## 1.3.0(2021-11-19) +- 新增 更多图标 +- 优化 自定义图标使用方式 +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-icons](https://uniapp.dcloud.io/component/uniui/uni-icons) +## 1.1.7(2021-11-08) +## 1.2.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.5(2021-05-12) +- 新增 组件示例地址 +## 1.1.4(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/weihu/uni_modules/uni-icons/components/uni-icons/uni-icons.uvue b/weihu/uni_modules/uni-icons/components/uni-icons/uni-icons.uvue new file mode 100644 index 0000000..398678e --- /dev/null +++ b/weihu/uni_modules/uni-icons/components/uni-icons/uni-icons.uvue @@ -0,0 +1,91 @@ + + + + + diff --git a/weihu/uni_modules/uni-icons/components/uni-icons/uni-icons.vue b/weihu/uni_modules/uni-icons/components/uni-icons/uni-icons.vue new file mode 100644 index 0000000..7da5356 --- /dev/null +++ b/weihu/uni_modules/uni-icons/components/uni-icons/uni-icons.vue @@ -0,0 +1,110 @@ + + + + + diff --git a/weihu/uni_modules/uni-icons/components/uni-icons/uniicons.css b/weihu/uni_modules/uni-icons/components/uni-icons/uniicons.css new file mode 100644 index 0000000..0a6b6fe --- /dev/null +++ b/weihu/uni_modules/uni-icons/components/uni-icons/uniicons.css @@ -0,0 +1,664 @@ + +.uniui-cart-filled:before { + content: "\e6d0"; +} + +.uniui-gift-filled:before { + content: "\e6c4"; +} + +.uniui-color:before { + content: "\e6cf"; +} + +.uniui-wallet:before { + content: "\e6b1"; +} + +.uniui-settings-filled:before { + content: "\e6ce"; +} + +.uniui-auth-filled:before { + content: "\e6cc"; +} + +.uniui-shop-filled:before { + content: "\e6cd"; +} + +.uniui-staff-filled:before { + content: "\e6cb"; +} + +.uniui-vip-filled:before { + content: "\e6c6"; +} + +.uniui-plus-filled:before { + content: "\e6c7"; +} + +.uniui-folder-add-filled:before { + content: "\e6c8"; +} + +.uniui-color-filled:before { + content: "\e6c9"; +} + +.uniui-tune-filled:before { + content: "\e6ca"; +} + +.uniui-calendar-filled:before { + content: "\e6c0"; +} + +.uniui-notification-filled:before { + content: "\e6c1"; +} + +.uniui-wallet-filled:before { + content: "\e6c2"; +} + +.uniui-medal-filled:before { + content: "\e6c3"; +} + +.uniui-fire-filled:before { + content: "\e6c5"; +} + +.uniui-refreshempty:before { + content: "\e6bf"; +} + +.uniui-location-filled:before { + content: "\e6af"; +} + +.uniui-person-filled:before { + content: "\e69d"; +} + +.uniui-personadd-filled:before { + content: "\e698"; +} + +.uniui-arrowthinleft:before { + content: "\e6d2"; +} + +.uniui-arrowthinup:before { + content: "\e6d3"; +} + +.uniui-arrowthindown:before { + content: "\e6d4"; +} + +.uniui-back:before { + content: "\e6b9"; +} + +.uniui-forward:before { + content: "\e6ba"; +} + +.uniui-arrow-right:before { + content: "\e6bb"; +} + +.uniui-arrow-left:before { + content: "\e6bc"; +} + +.uniui-arrow-up:before { + content: "\e6bd"; +} + +.uniui-arrow-down:before { + content: "\e6be"; +} + +.uniui-arrowthinright:before { + content: "\e6d1"; +} + +.uniui-down:before { + content: "\e6b8"; +} + +.uniui-bottom:before { + content: "\e6b8"; +} + +.uniui-arrowright:before { + content: "\e6d5"; +} + +.uniui-right:before { + content: "\e6b5"; +} + +.uniui-up:before { + content: "\e6b6"; +} + +.uniui-top:before { + content: "\e6b6"; +} + +.uniui-left:before { + content: "\e6b7"; +} + +.uniui-arrowup:before { + content: "\e6d6"; +} + +.uniui-eye:before { + content: "\e651"; +} + +.uniui-eye-filled:before { + content: "\e66a"; +} + +.uniui-eye-slash:before { + content: "\e6b3"; +} + +.uniui-eye-slash-filled:before { + content: "\e6b4"; +} + +.uniui-info-filled:before { + content: "\e649"; +} + +.uniui-reload:before { + content: "\e6b2"; +} + +.uniui-micoff-filled:before { + content: "\e6b0"; +} + +.uniui-map-pin-ellipse:before { + content: "\e6ac"; +} + +.uniui-map-pin:before { + content: "\e6ad"; +} + +.uniui-location:before { + content: "\e6ae"; +} + +.uniui-starhalf:before { + content: "\e683"; +} + +.uniui-star:before { + content: "\e688"; +} + +.uniui-star-filled:before { + content: "\e68f"; +} + +.uniui-calendar:before { + content: "\e6a0"; +} + +.uniui-fire:before { + content: "\e6a1"; +} + +.uniui-medal:before { + content: "\e6a2"; +} + +.uniui-font:before { + content: "\e6a3"; +} + +.uniui-gift:before { + content: "\e6a4"; +} + +.uniui-link:before { + content: "\e6a5"; +} + +.uniui-notification:before { + content: "\e6a6"; +} + +.uniui-staff:before { + content: "\e6a7"; +} + +.uniui-vip:before { + content: "\e6a8"; +} + +.uniui-folder-add:before { + content: "\e6a9"; +} + +.uniui-tune:before { + content: "\e6aa"; +} + +.uniui-auth:before { + content: "\e6ab"; +} + +.uniui-person:before { + content: "\e699"; +} + +.uniui-email-filled:before { + content: "\e69a"; +} + +.uniui-phone-filled:before { + content: "\e69b"; +} + +.uniui-phone:before { + content: "\e69c"; +} + +.uniui-email:before { + content: "\e69e"; +} + +.uniui-personadd:before { + content: "\e69f"; +} + +.uniui-chatboxes-filled:before { + content: "\e692"; +} + +.uniui-contact:before { + content: "\e693"; +} + +.uniui-chatbubble-filled:before { + content: "\e694"; +} + +.uniui-contact-filled:before { + content: "\e695"; +} + +.uniui-chatboxes:before { + content: "\e696"; +} + +.uniui-chatbubble:before { + content: "\e697"; +} + +.uniui-upload-filled:before { + content: "\e68e"; +} + +.uniui-upload:before { + content: "\e690"; +} + +.uniui-weixin:before { + content: "\e691"; +} + +.uniui-compose:before { + content: "\e67f"; +} + +.uniui-qq:before { + content: "\e680"; +} + +.uniui-download-filled:before { + content: "\e681"; +} + +.uniui-pyq:before { + content: "\e682"; +} + +.uniui-sound:before { + content: "\e684"; +} + +.uniui-trash-filled:before { + content: "\e685"; +} + +.uniui-sound-filled:before { + content: "\e686"; +} + +.uniui-trash:before { + content: "\e687"; +} + +.uniui-videocam-filled:before { + content: "\e689"; +} + +.uniui-spinner-cycle:before { + content: "\e68a"; +} + +.uniui-weibo:before { + content: "\e68b"; +} + +.uniui-videocam:before { + content: "\e68c"; +} + +.uniui-download:before { + content: "\e68d"; +} + +.uniui-help:before { + content: "\e679"; +} + +.uniui-navigate-filled:before { + content: "\e67a"; +} + +.uniui-plusempty:before { + content: "\e67b"; +} + +.uniui-smallcircle:before { + content: "\e67c"; +} + +.uniui-minus-filled:before { + content: "\e67d"; +} + +.uniui-micoff:before { + content: "\e67e"; +} + +.uniui-closeempty:before { + content: "\e66c"; +} + +.uniui-clear:before { + content: "\e66d"; +} + +.uniui-navigate:before { + content: "\e66e"; +} + +.uniui-minus:before { + content: "\e66f"; +} + +.uniui-image:before { + content: "\e670"; +} + +.uniui-mic:before { + content: "\e671"; +} + +.uniui-paperplane:before { + content: "\e672"; +} + +.uniui-close:before { + content: "\e673"; +} + +.uniui-help-filled:before { + content: "\e674"; +} + +.uniui-paperplane-filled:before { + content: "\e675"; +} + +.uniui-plus:before { + content: "\e676"; +} + +.uniui-mic-filled:before { + content: "\e677"; +} + +.uniui-image-filled:before { + content: "\e678"; +} + +.uniui-locked-filled:before { + content: "\e668"; +} + +.uniui-info:before { + content: "\e669"; +} + +.uniui-locked:before { + content: "\e66b"; +} + +.uniui-camera-filled:before { + content: "\e658"; +} + +.uniui-chat-filled:before { + content: "\e659"; +} + +.uniui-camera:before { + content: "\e65a"; +} + +.uniui-circle:before { + content: "\e65b"; +} + +.uniui-checkmarkempty:before { + content: "\e65c"; +} + +.uniui-chat:before { + content: "\e65d"; +} + +.uniui-circle-filled:before { + content: "\e65e"; +} + +.uniui-flag:before { + content: "\e65f"; +} + +.uniui-flag-filled:before { + content: "\e660"; +} + +.uniui-gear-filled:before { + content: "\e661"; +} + +.uniui-home:before { + content: "\e662"; +} + +.uniui-home-filled:before { + content: "\e663"; +} + +.uniui-gear:before { + content: "\e664"; +} + +.uniui-smallcircle-filled:before { + content: "\e665"; +} + +.uniui-map-filled:before { + content: "\e666"; +} + +.uniui-map:before { + content: "\e667"; +} + +.uniui-refresh-filled:before { + content: "\e656"; +} + +.uniui-refresh:before { + content: "\e657"; +} + +.uniui-cloud-upload:before { + content: "\e645"; +} + +.uniui-cloud-download-filled:before { + content: "\e646"; +} + +.uniui-cloud-download:before { + content: "\e647"; +} + +.uniui-cloud-upload-filled:before { + content: "\e648"; +} + +.uniui-redo:before { + content: "\e64a"; +} + +.uniui-images-filled:before { + content: "\e64b"; +} + +.uniui-undo-filled:before { + content: "\e64c"; +} + +.uniui-more:before { + content: "\e64d"; +} + +.uniui-more-filled:before { + content: "\e64e"; +} + +.uniui-undo:before { + content: "\e64f"; +} + +.uniui-images:before { + content: "\e650"; +} + +.uniui-paperclip:before { + content: "\e652"; +} + +.uniui-settings:before { + content: "\e653"; +} + +.uniui-search:before { + content: "\e654"; +} + +.uniui-redo-filled:before { + content: "\e655"; +} + +.uniui-list:before { + content: "\e644"; +} + +.uniui-mail-open-filled:before { + content: "\e63a"; +} + +.uniui-hand-down-filled:before { + content: "\e63c"; +} + +.uniui-hand-down:before { + content: "\e63d"; +} + +.uniui-hand-up-filled:before { + content: "\e63e"; +} + +.uniui-hand-up:before { + content: "\e63f"; +} + +.uniui-heart-filled:before { + content: "\e641"; +} + +.uniui-mail-open:before { + content: "\e643"; +} + +.uniui-heart:before { + content: "\e639"; +} + +.uniui-loop:before { + content: "\e633"; +} + +.uniui-pulldown:before { + content: "\e632"; +} + +.uniui-scan:before { + content: "\e62a"; +} + +.uniui-bars:before { + content: "\e627"; +} + +.uniui-checkbox:before { + content: "\e62b"; +} + +.uniui-checkbox-filled:before { + content: "\e62c"; +} + +.uniui-shop:before { + content: "\e62f"; +} + +.uniui-headphones:before { + content: "\e630"; +} + +.uniui-cart:before { + content: "\e631"; +} diff --git a/weihu/uni_modules/uni-icons/components/uni-icons/uniicons.ttf b/weihu/uni_modules/uni-icons/components/uni-icons/uniicons.ttf new file mode 100644 index 0000000000000000000000000000000000000000..14696d038d828073edac09ea4e5ba1dec2f58115 GIT binary patch literal 35824 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 F{2S@rCxHL} literal 0 HcmV?d00001 diff --git a/weihu/uni_modules/uni-icons/components/uni-icons/uniicons_file.ts b/weihu/uni_modules/uni-icons/components/uni-icons/uniicons_file.ts new file mode 100644 index 0000000..98e93aa --- /dev/null +++ b/weihu/uni_modules/uni-icons/components/uni-icons/uniicons_file.ts @@ -0,0 +1,664 @@ + +export type IconsData = { + id : string + name : string + font_family : string + css_prefix_text : string + description : string + glyphs : Array +} + +export type IconsDataItem = { + font_class : string + unicode : string +} + + +export const fontData = [ + { + "font_class": "arrow-down", + "unicode": "\ue6be" + }, + { + "font_class": "arrow-left", + "unicode": "\ue6bc" + }, + { + "font_class": "arrow-right", + "unicode": "\ue6bb" + }, + { + "font_class": "arrow-up", + "unicode": "\ue6bd" + }, + { + "font_class": "auth", + "unicode": "\ue6ab" + }, + { + "font_class": "auth-filled", + "unicode": "\ue6cc" + }, + { + "font_class": "back", + "unicode": "\ue6b9" + }, + { + "font_class": "bars", + "unicode": "\ue627" + }, + { + "font_class": "calendar", + "unicode": "\ue6a0" + }, + { + "font_class": "calendar-filled", + "unicode": "\ue6c0" + }, + { + "font_class": "camera", + "unicode": "\ue65a" + }, + { + "font_class": "camera-filled", + "unicode": "\ue658" + }, + { + "font_class": "cart", + "unicode": "\ue631" + }, + { + "font_class": "cart-filled", + "unicode": "\ue6d0" + }, + { + "font_class": "chat", + "unicode": "\ue65d" + }, + { + "font_class": "chat-filled", + "unicode": "\ue659" + }, + { + "font_class": "chatboxes", + "unicode": "\ue696" + }, + { + "font_class": "chatboxes-filled", + "unicode": "\ue692" + }, + { + "font_class": "chatbubble", + "unicode": "\ue697" + }, + { + "font_class": "chatbubble-filled", + "unicode": "\ue694" + }, + { + "font_class": "checkbox", + "unicode": "\ue62b" + }, + { + "font_class": "checkbox-filled", + "unicode": "\ue62c" + }, + { + "font_class": "checkmarkempty", + "unicode": "\ue65c" + }, + { + "font_class": "circle", + "unicode": "\ue65b" + }, + { + "font_class": "circle-filled", + "unicode": "\ue65e" + }, + { + "font_class": "clear", + "unicode": "\ue66d" + }, + { + "font_class": "close", + "unicode": "\ue673" + }, + { + "font_class": "closeempty", + "unicode": "\ue66c" + }, + { + "font_class": "cloud-download", + "unicode": "\ue647" + }, + { + "font_class": "cloud-download-filled", + "unicode": "\ue646" + }, + { + "font_class": "cloud-upload", + "unicode": "\ue645" + }, + { + "font_class": "cloud-upload-filled", + "unicode": "\ue648" + }, + { + "font_class": "color", + "unicode": "\ue6cf" + }, + { + "font_class": "color-filled", + "unicode": "\ue6c9" + }, + { + "font_class": "compose", + "unicode": "\ue67f" + }, + { + "font_class": "contact", + "unicode": "\ue693" + }, + { + "font_class": "contact-filled", + "unicode": "\ue695" + }, + { + "font_class": "down", + "unicode": "\ue6b8" + }, + { + "font_class": "bottom", + "unicode": "\ue6b8" + }, + { + "font_class": "download", + "unicode": "\ue68d" + }, + { + "font_class": "download-filled", + "unicode": "\ue681" + }, + { + "font_class": "email", + "unicode": "\ue69e" + }, + { + "font_class": "email-filled", + "unicode": "\ue69a" + }, + { + "font_class": "eye", + "unicode": "\ue651" + }, + { + "font_class": "eye-filled", + "unicode": "\ue66a" + }, + { + "font_class": "eye-slash", + "unicode": "\ue6b3" + }, + { + "font_class": "eye-slash-filled", + "unicode": "\ue6b4" + }, + { + "font_class": "fire", + "unicode": "\ue6a1" + }, + { + "font_class": "fire-filled", + "unicode": "\ue6c5" + }, + { + "font_class": "flag", + "unicode": "\ue65f" + }, + { + "font_class": "flag-filled", + "unicode": "\ue660" + }, + { + "font_class": "folder-add", + "unicode": "\ue6a9" + }, + { + "font_class": "folder-add-filled", + "unicode": "\ue6c8" + }, + { + "font_class": "font", + "unicode": "\ue6a3" + }, + { + "font_class": "forward", + "unicode": "\ue6ba" + }, + { + "font_class": "gear", + "unicode": "\ue664" + }, + { + "font_class": "gear-filled", + "unicode": "\ue661" + }, + { + "font_class": "gift", + "unicode": "\ue6a4" + }, + { + "font_class": "gift-filled", + "unicode": "\ue6c4" + }, + { + "font_class": "hand-down", + "unicode": "\ue63d" + }, + { + "font_class": "hand-down-filled", + "unicode": "\ue63c" + }, + { + "font_class": "hand-up", + "unicode": "\ue63f" + }, + { + "font_class": "hand-up-filled", + "unicode": "\ue63e" + }, + { + "font_class": "headphones", + "unicode": "\ue630" + }, + { + "font_class": "heart", + "unicode": "\ue639" + }, + { + "font_class": "heart-filled", + "unicode": "\ue641" + }, + { + "font_class": "help", + "unicode": "\ue679" + }, + { + "font_class": "help-filled", + "unicode": "\ue674" + }, + { + "font_class": "home", + "unicode": "\ue662" + }, + { + "font_class": "home-filled", + "unicode": "\ue663" + }, + { + "font_class": "image", + "unicode": "\ue670" + }, + { + "font_class": "image-filled", + "unicode": "\ue678" + }, + { + "font_class": "images", + "unicode": "\ue650" + }, + { + "font_class": "images-filled", + "unicode": "\ue64b" + }, + { + "font_class": "info", + "unicode": "\ue669" + }, + { + "font_class": "info-filled", + "unicode": "\ue649" + }, + { + "font_class": "left", + "unicode": "\ue6b7" + }, + { + "font_class": "link", + "unicode": "\ue6a5" + }, + { + "font_class": "list", + "unicode": "\ue644" + }, + { + "font_class": "location", + "unicode": "\ue6ae" + }, + { + "font_class": "location-filled", + "unicode": "\ue6af" + }, + { + "font_class": "locked", + "unicode": "\ue66b" + }, + { + "font_class": "locked-filled", + "unicode": "\ue668" + }, + { + "font_class": "loop", + "unicode": "\ue633" + }, + { + "font_class": "mail-open", + "unicode": "\ue643" + }, + { + "font_class": "mail-open-filled", + "unicode": "\ue63a" + }, + { + "font_class": "map", + "unicode": "\ue667" + }, + { + "font_class": "map-filled", + "unicode": "\ue666" + }, + { + "font_class": "map-pin", + "unicode": "\ue6ad" + }, + { + "font_class": "map-pin-ellipse", + "unicode": "\ue6ac" + }, + { + "font_class": "medal", + "unicode": "\ue6a2" + }, + { + "font_class": "medal-filled", + "unicode": "\ue6c3" + }, + { + "font_class": "mic", + "unicode": "\ue671" + }, + { + "font_class": "mic-filled", + "unicode": "\ue677" + }, + { + "font_class": "micoff", + "unicode": "\ue67e" + }, + { + "font_class": "micoff-filled", + "unicode": "\ue6b0" + }, + { + "font_class": "minus", + "unicode": "\ue66f" + }, + { + "font_class": "minus-filled", + "unicode": "\ue67d" + }, + { + "font_class": "more", + "unicode": "\ue64d" + }, + { + "font_class": "more-filled", + "unicode": "\ue64e" + }, + { + "font_class": "navigate", + "unicode": "\ue66e" + }, + { + "font_class": "navigate-filled", + "unicode": "\ue67a" + }, + { + "font_class": "notification", + "unicode": "\ue6a6" + }, + { + "font_class": "notification-filled", + "unicode": "\ue6c1" + }, + { + "font_class": "paperclip", + "unicode": "\ue652" + }, + { + "font_class": "paperplane", + "unicode": "\ue672" + }, + { + "font_class": "paperplane-filled", + "unicode": "\ue675" + }, + { + "font_class": "person", + "unicode": "\ue699" + }, + { + "font_class": "person-filled", + "unicode": "\ue69d" + }, + { + "font_class": "personadd", + "unicode": "\ue69f" + }, + { + "font_class": "personadd-filled", + "unicode": "\ue698" + }, + { + "font_class": "personadd-filled-copy", + "unicode": "\ue6d1" + }, + { + "font_class": "phone", + "unicode": "\ue69c" + }, + { + "font_class": "phone-filled", + "unicode": "\ue69b" + }, + { + "font_class": "plus", + "unicode": "\ue676" + }, + { + "font_class": "plus-filled", + "unicode": "\ue6c7" + }, + { + "font_class": "plusempty", + "unicode": "\ue67b" + }, + { + "font_class": "pulldown", + "unicode": "\ue632" + }, + { + "font_class": "pyq", + "unicode": "\ue682" + }, + { + "font_class": "qq", + "unicode": "\ue680" + }, + { + "font_class": "redo", + "unicode": "\ue64a" + }, + { + "font_class": "redo-filled", + "unicode": "\ue655" + }, + { + "font_class": "refresh", + "unicode": "\ue657" + }, + { + "font_class": "refresh-filled", + "unicode": "\ue656" + }, + { + "font_class": "refreshempty", + "unicode": "\ue6bf" + }, + { + "font_class": "reload", + "unicode": "\ue6b2" + }, + { + "font_class": "right", + "unicode": "\ue6b5" + }, + { + "font_class": "scan", + "unicode": "\ue62a" + }, + { + "font_class": "search", + "unicode": "\ue654" + }, + { + "font_class": "settings", + "unicode": "\ue653" + }, + { + "font_class": "settings-filled", + "unicode": "\ue6ce" + }, + { + "font_class": "shop", + "unicode": "\ue62f" + }, + { + "font_class": "shop-filled", + "unicode": "\ue6cd" + }, + { + "font_class": "smallcircle", + "unicode": "\ue67c" + }, + { + "font_class": "smallcircle-filled", + "unicode": "\ue665" + }, + { + "font_class": "sound", + "unicode": "\ue684" + }, + { + "font_class": "sound-filled", + "unicode": "\ue686" + }, + { + "font_class": "spinner-cycle", + "unicode": "\ue68a" + }, + { + "font_class": "staff", + "unicode": "\ue6a7" + }, + { + "font_class": "staff-filled", + "unicode": "\ue6cb" + }, + { + "font_class": "star", + "unicode": "\ue688" + }, + { + "font_class": "star-filled", + "unicode": "\ue68f" + }, + { + "font_class": "starhalf", + "unicode": "\ue683" + }, + { + "font_class": "trash", + "unicode": "\ue687" + }, + { + "font_class": "trash-filled", + "unicode": "\ue685" + }, + { + "font_class": "tune", + "unicode": "\ue6aa" + }, + { + "font_class": "tune-filled", + "unicode": "\ue6ca" + }, + { + "font_class": "undo", + "unicode": "\ue64f" + }, + { + "font_class": "undo-filled", + "unicode": "\ue64c" + }, + { + "font_class": "up", + "unicode": "\ue6b6" + }, + { + "font_class": "top", + "unicode": "\ue6b6" + }, + { + "font_class": "upload", + "unicode": "\ue690" + }, + { + "font_class": "upload-filled", + "unicode": "\ue68e" + }, + { + "font_class": "videocam", + "unicode": "\ue68c" + }, + { + "font_class": "videocam-filled", + "unicode": "\ue689" + }, + { + "font_class": "vip", + "unicode": "\ue6a8" + }, + { + "font_class": "vip-filled", + "unicode": "\ue6c6" + }, + { + "font_class": "wallet", + "unicode": "\ue6b1" + }, + { + "font_class": "wallet-filled", + "unicode": "\ue6c2" + }, + { + "font_class": "weibo", + "unicode": "\ue68b" + }, + { + "font_class": "weixin", + "unicode": "\ue691" + } +] as IconsDataItem[] + +// export const fontData = JSON.parse(fontDataJson) diff --git a/weihu/uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js b/weihu/uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js new file mode 100644 index 0000000..1cd11e1 --- /dev/null +++ b/weihu/uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js @@ -0,0 +1,649 @@ + +export const fontData = [ + { + "font_class": "arrow-down", + "unicode": "\ue6be" + }, + { + "font_class": "arrow-left", + "unicode": "\ue6bc" + }, + { + "font_class": "arrow-right", + "unicode": "\ue6bb" + }, + { + "font_class": "arrow-up", + "unicode": "\ue6bd" + }, + { + "font_class": "auth", + "unicode": "\ue6ab" + }, + { + "font_class": "auth-filled", + "unicode": "\ue6cc" + }, + { + "font_class": "back", + "unicode": "\ue6b9" + }, + { + "font_class": "bars", + "unicode": "\ue627" + }, + { + "font_class": "calendar", + "unicode": "\ue6a0" + }, + { + "font_class": "calendar-filled", + "unicode": "\ue6c0" + }, + { + "font_class": "camera", + "unicode": "\ue65a" + }, + { + "font_class": "camera-filled", + "unicode": "\ue658" + }, + { + "font_class": "cart", + "unicode": "\ue631" + }, + { + "font_class": "cart-filled", + "unicode": "\ue6d0" + }, + { + "font_class": "chat", + "unicode": "\ue65d" + }, + { + "font_class": "chat-filled", + "unicode": "\ue659" + }, + { + "font_class": "chatboxes", + "unicode": "\ue696" + }, + { + "font_class": "chatboxes-filled", + "unicode": "\ue692" + }, + { + "font_class": "chatbubble", + "unicode": "\ue697" + }, + { + "font_class": "chatbubble-filled", + "unicode": "\ue694" + }, + { + "font_class": "checkbox", + "unicode": "\ue62b" + }, + { + "font_class": "checkbox-filled", + "unicode": "\ue62c" + }, + { + "font_class": "checkmarkempty", + "unicode": "\ue65c" + }, + { + "font_class": "circle", + "unicode": "\ue65b" + }, + { + "font_class": "circle-filled", + "unicode": "\ue65e" + }, + { + "font_class": "clear", + "unicode": "\ue66d" + }, + { + "font_class": "close", + "unicode": "\ue673" + }, + { + "font_class": "closeempty", + "unicode": "\ue66c" + }, + { + "font_class": "cloud-download", + "unicode": "\ue647" + }, + { + "font_class": "cloud-download-filled", + "unicode": "\ue646" + }, + { + "font_class": "cloud-upload", + "unicode": "\ue645" + }, + { + "font_class": "cloud-upload-filled", + "unicode": "\ue648" + }, + { + "font_class": "color", + "unicode": "\ue6cf" + }, + { + "font_class": "color-filled", + "unicode": "\ue6c9" + }, + { + "font_class": "compose", + "unicode": "\ue67f" + }, + { + "font_class": "contact", + "unicode": "\ue693" + }, + { + "font_class": "contact-filled", + "unicode": "\ue695" + }, + { + "font_class": "down", + "unicode": "\ue6b8" + }, + { + "font_class": "bottom", + "unicode": "\ue6b8" + }, + { + "font_class": "download", + "unicode": "\ue68d" + }, + { + "font_class": "download-filled", + "unicode": "\ue681" + }, + { + "font_class": "email", + "unicode": "\ue69e" + }, + { + "font_class": "email-filled", + "unicode": "\ue69a" + }, + { + "font_class": "eye", + "unicode": "\ue651" + }, + { + "font_class": "eye-filled", + "unicode": "\ue66a" + }, + { + "font_class": "eye-slash", + "unicode": "\ue6b3" + }, + { + "font_class": "eye-slash-filled", + "unicode": "\ue6b4" + }, + { + "font_class": "fire", + "unicode": "\ue6a1" + }, + { + "font_class": "fire-filled", + "unicode": "\ue6c5" + }, + { + "font_class": "flag", + "unicode": "\ue65f" + }, + { + "font_class": "flag-filled", + "unicode": "\ue660" + }, + { + "font_class": "folder-add", + "unicode": "\ue6a9" + }, + { + "font_class": "folder-add-filled", + "unicode": "\ue6c8" + }, + { + "font_class": "font", + "unicode": "\ue6a3" + }, + { + "font_class": "forward", + "unicode": "\ue6ba" + }, + { + "font_class": "gear", + "unicode": "\ue664" + }, + { + "font_class": "gear-filled", + "unicode": "\ue661" + }, + { + "font_class": "gift", + "unicode": "\ue6a4" + }, + { + "font_class": "gift-filled", + "unicode": "\ue6c4" + }, + { + "font_class": "hand-down", + "unicode": "\ue63d" + }, + { + "font_class": "hand-down-filled", + "unicode": "\ue63c" + }, + { + "font_class": "hand-up", + "unicode": "\ue63f" + }, + { + "font_class": "hand-up-filled", + "unicode": "\ue63e" + }, + { + "font_class": "headphones", + "unicode": "\ue630" + }, + { + "font_class": "heart", + "unicode": "\ue639" + }, + { + "font_class": "heart-filled", + "unicode": "\ue641" + }, + { + "font_class": "help", + "unicode": "\ue679" + }, + { + "font_class": "help-filled", + "unicode": "\ue674" + }, + { + "font_class": "home", + "unicode": "\ue662" + }, + { + "font_class": "home-filled", + "unicode": "\ue663" + }, + { + "font_class": "image", + "unicode": "\ue670" + }, + { + "font_class": "image-filled", + "unicode": "\ue678" + }, + { + "font_class": "images", + "unicode": "\ue650" + }, + { + "font_class": "images-filled", + "unicode": "\ue64b" + }, + { + "font_class": "info", + "unicode": "\ue669" + }, + { + "font_class": "info-filled", + "unicode": "\ue649" + }, + { + "font_class": "left", + "unicode": "\ue6b7" + }, + { + "font_class": "link", + "unicode": "\ue6a5" + }, + { + "font_class": "list", + "unicode": "\ue644" + }, + { + "font_class": "location", + "unicode": "\ue6ae" + }, + { + "font_class": "location-filled", + "unicode": "\ue6af" + }, + { + "font_class": "locked", + "unicode": "\ue66b" + }, + { + "font_class": "locked-filled", + "unicode": "\ue668" + }, + { + "font_class": "loop", + "unicode": "\ue633" + }, + { + "font_class": "mail-open", + "unicode": "\ue643" + }, + { + "font_class": "mail-open-filled", + "unicode": "\ue63a" + }, + { + "font_class": "map", + "unicode": "\ue667" + }, + { + "font_class": "map-filled", + "unicode": "\ue666" + }, + { + "font_class": "map-pin", + "unicode": "\ue6ad" + }, + { + "font_class": "map-pin-ellipse", + "unicode": "\ue6ac" + }, + { + "font_class": "medal", + "unicode": "\ue6a2" + }, + { + "font_class": "medal-filled", + "unicode": "\ue6c3" + }, + { + "font_class": "mic", + "unicode": "\ue671" + }, + { + "font_class": "mic-filled", + "unicode": "\ue677" + }, + { + "font_class": "micoff", + "unicode": "\ue67e" + }, + { + "font_class": "micoff-filled", + "unicode": "\ue6b0" + }, + { + "font_class": "minus", + "unicode": "\ue66f" + }, + { + "font_class": "minus-filled", + "unicode": "\ue67d" + }, + { + "font_class": "more", + "unicode": "\ue64d" + }, + { + "font_class": "more-filled", + "unicode": "\ue64e" + }, + { + "font_class": "navigate", + "unicode": "\ue66e" + }, + { + "font_class": "navigate-filled", + "unicode": "\ue67a" + }, + { + "font_class": "notification", + "unicode": "\ue6a6" + }, + { + "font_class": "notification-filled", + "unicode": "\ue6c1" + }, + { + "font_class": "paperclip", + "unicode": "\ue652" + }, + { + "font_class": "paperplane", + "unicode": "\ue672" + }, + { + "font_class": "paperplane-filled", + "unicode": "\ue675" + }, + { + "font_class": "person", + "unicode": "\ue699" + }, + { + "font_class": "person-filled", + "unicode": "\ue69d" + }, + { + "font_class": "personadd", + "unicode": "\ue69f" + }, + { + "font_class": "personadd-filled", + "unicode": "\ue698" + }, + { + "font_class": "personadd-filled-copy", + "unicode": "\ue6d1" + }, + { + "font_class": "phone", + "unicode": "\ue69c" + }, + { + "font_class": "phone-filled", + "unicode": "\ue69b" + }, + { + "font_class": "plus", + "unicode": "\ue676" + }, + { + "font_class": "plus-filled", + "unicode": "\ue6c7" + }, + { + "font_class": "plusempty", + "unicode": "\ue67b" + }, + { + "font_class": "pulldown", + "unicode": "\ue632" + }, + { + "font_class": "pyq", + "unicode": "\ue682" + }, + { + "font_class": "qq", + "unicode": "\ue680" + }, + { + "font_class": "redo", + "unicode": "\ue64a" + }, + { + "font_class": "redo-filled", + "unicode": "\ue655" + }, + { + "font_class": "refresh", + "unicode": "\ue657" + }, + { + "font_class": "refresh-filled", + "unicode": "\ue656" + }, + { + "font_class": "refreshempty", + "unicode": "\ue6bf" + }, + { + "font_class": "reload", + "unicode": "\ue6b2" + }, + { + "font_class": "right", + "unicode": "\ue6b5" + }, + { + "font_class": "scan", + "unicode": "\ue62a" + }, + { + "font_class": "search", + "unicode": "\ue654" + }, + { + "font_class": "settings", + "unicode": "\ue653" + }, + { + "font_class": "settings-filled", + "unicode": "\ue6ce" + }, + { + "font_class": "shop", + "unicode": "\ue62f" + }, + { + "font_class": "shop-filled", + "unicode": "\ue6cd" + }, + { + "font_class": "smallcircle", + "unicode": "\ue67c" + }, + { + "font_class": "smallcircle-filled", + "unicode": "\ue665" + }, + { + "font_class": "sound", + "unicode": "\ue684" + }, + { + "font_class": "sound-filled", + "unicode": "\ue686" + }, + { + "font_class": "spinner-cycle", + "unicode": "\ue68a" + }, + { + "font_class": "staff", + "unicode": "\ue6a7" + }, + { + "font_class": "staff-filled", + "unicode": "\ue6cb" + }, + { + "font_class": "star", + "unicode": "\ue688" + }, + { + "font_class": "star-filled", + "unicode": "\ue68f" + }, + { + "font_class": "starhalf", + "unicode": "\ue683" + }, + { + "font_class": "trash", + "unicode": "\ue687" + }, + { + "font_class": "trash-filled", + "unicode": "\ue685" + }, + { + "font_class": "tune", + "unicode": "\ue6aa" + }, + { + "font_class": "tune-filled", + "unicode": "\ue6ca" + }, + { + "font_class": "undo", + "unicode": "\ue64f" + }, + { + "font_class": "undo-filled", + "unicode": "\ue64c" + }, + { + "font_class": "up", + "unicode": "\ue6b6" + }, + { + "font_class": "top", + "unicode": "\ue6b6" + }, + { + "font_class": "upload", + "unicode": "\ue690" + }, + { + "font_class": "upload-filled", + "unicode": "\ue68e" + }, + { + "font_class": "videocam", + "unicode": "\ue68c" + }, + { + "font_class": "videocam-filled", + "unicode": "\ue689" + }, + { + "font_class": "vip", + "unicode": "\ue6a8" + }, + { + "font_class": "vip-filled", + "unicode": "\ue6c6" + }, + { + "font_class": "wallet", + "unicode": "\ue6b1" + }, + { + "font_class": "wallet-filled", + "unicode": "\ue6c2" + }, + { + "font_class": "weibo", + "unicode": "\ue68b" + }, + { + "font_class": "weixin", + "unicode": "\ue691" + } +] + +// export const fontData = JSON.parse(fontDataJson) diff --git a/weihu/uni_modules/uni-icons/package.json b/weihu/uni_modules/uni-icons/package.json new file mode 100644 index 0000000..397be83 --- /dev/null +++ b/weihu/uni_modules/uni-icons/package.json @@ -0,0 +1,88 @@ +{ + "id": "uni-icons", + "displayName": "uni-icons 图标", + "version": "2.0.9", + "description": "图标组件,用于展示移动端常见的图标,可自定义颜色、大小。", + "keywords": [ + "uni-ui", + "uniui", + "icon", + "图标" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "^3.2.14" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y", + "app-uvue": "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", + "飞书": "y", + "京东": "y" + }, + "快应用": { + "华为": "y", + "联盟": "y" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/weihu/uni_modules/uni-icons/readme.md b/weihu/uni_modules/uni-icons/readme.md new file mode 100644 index 0000000..86234ba --- /dev/null +++ b/weihu/uni_modules/uni-icons/readme.md @@ -0,0 +1,8 @@ +## Icons 图标 +> **组件名:uni-icons** +> 代码块: `uIcons` + +用于展示 icons 图标 。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-icons) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 diff --git a/weihu/uni_modules/uni-indexed-list/changelog.md b/weihu/uni_modules/uni-indexed-list/changelog.md new file mode 100644 index 0000000..08fa71c --- /dev/null +++ b/weihu/uni_modules/uni-indexed-list/changelog.md @@ -0,0 +1,17 @@ +## 1.2.1(2021-11-22) +- 修复 vue3中某些scss变量无法找到的问题 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-indexed-list](https://uniapp.dcloud.io/component/uniui/uni-indexed-list) +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.11(2021-05-12) +- 新增 组件示例地址 +## 1.0.10(2021-04-21) +- 优化 添加依赖 uni-icons, 导入后自动下载依赖 +## 1.0.9(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 + +## 1.0.8(2021-02-05) +- 调整为uni_modules目录规范 +- 新增 支持 PC 端 diff --git a/weihu/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list-item.vue b/weihu/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list-item.vue new file mode 100644 index 0000000..19284bd --- /dev/null +++ b/weihu/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list-item.vue @@ -0,0 +1,144 @@ + + + + + diff --git a/weihu/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list.vue b/weihu/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list.vue new file mode 100644 index 0000000..ee3a7ec --- /dev/null +++ b/weihu/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list.vue @@ -0,0 +1,367 @@ + + + diff --git a/weihu/uni_modules/uni-indexed-list/package.json b/weihu/uni_modules/uni-indexed-list/package.json new file mode 100644 index 0000000..125c0e7 --- /dev/null +++ b/weihu/uni_modules/uni-indexed-list/package.json @@ -0,0 +1,89 @@ +{ + "id": "uni-indexed-list", + "displayName": "uni-indexed-list 索引列表", + "version": "1.2.1", + "description": "索引列表组件,右侧带索引的列表,方便快速定位到具体内容,通常用于城市/机场选择等场景", + "keywords": [ + "uni-ui", + "索引列表", + "索引", + "列表" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/weihu/uni_modules/uni-indexed-list/readme.md b/weihu/uni_modules/uni-indexed-list/readme.md new file mode 100644 index 0000000..44ad84b --- /dev/null +++ b/weihu/uni_modules/uni-indexed-list/readme.md @@ -0,0 +1,11 @@ + + +## IndexedList 索引列表 +> **组件名:uni-indexed-list** +> 代码块: `uIndexedList` + + +用于展示索引列表。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-indexed-list) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 diff --git a/weihu/uni_modules/uni-link/changelog.md b/weihu/uni_modules/uni-link/changelog.md new file mode 100644 index 0000000..2cfbf59 --- /dev/null +++ b/weihu/uni_modules/uni-link/changelog.md @@ -0,0 +1,17 @@ +## 1.0.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-link](https://uniapp.dcloud.io/component/uniui/uni-link) +## 1.1.7(2021-11-08) +## 0.0.7(2021-09-03) +- 修复 在 nvue 下不显示的 bug +## 0.0.6(2021-07-30) +- 新增 支持自定义插槽 +## 0.0.5(2021-06-21) +- 新增 download 属性,H5平台下载文件名 +## 0.0.4(2021-05-12) +- 新增 组件示例地址 +## 0.0.3(2021-03-09) +- 新增 href 属性支持 tel:|mailto: + +## 0.0.2(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/weihu/uni_modules/uni-link/components/uni-link/uni-link.vue b/weihu/uni_modules/uni-link/components/uni-link/uni-link.vue new file mode 100644 index 0000000..27c5468 --- /dev/null +++ b/weihu/uni_modules/uni-link/components/uni-link/uni-link.vue @@ -0,0 +1,128 @@ + + + + + diff --git a/weihu/uni_modules/uni-link/package.json b/weihu/uni_modules/uni-link/package.json new file mode 100644 index 0000000..77b1986 --- /dev/null +++ b/weihu/uni_modules/uni-link/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-link", + "displayName": "uni-link 超链接", + "version": "1.0.0", + "description": "uni-link是一个外部网页超链接组件,在小程序内复制url,在app内打开外部浏览器,在h5端打", + "keywords": [ + "uni-ui", + "uniui", + "link", + "超链接", + "" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "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" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/weihu/uni_modules/uni-link/readme.md b/weihu/uni_modules/uni-link/readme.md new file mode 100644 index 0000000..7f09e94 --- /dev/null +++ b/weihu/uni_modules/uni-link/readme.md @@ -0,0 +1,11 @@ + + +## Link 链接 +> **组件名:uni-link** +> 代码块: `uLink` + + +uni-link是一个外部网页超链接组件,在小程序内复制url,在app内打开外部浏览器,在h5端打开新网页。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-link) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/weihu/uni_modules/uni-list/changelog.md b/weihu/uni_modules/uni-list/changelog.md new file mode 100644 index 0000000..8254a18 --- /dev/null +++ b/weihu/uni_modules/uni-list/changelog.md @@ -0,0 +1,46 @@ +## 1.2.14(2023-04-14) +- 优化 uni-list-chat 具名插槽`header` 非app端套一层元素,方便使用时通过外层元素定位实现样式修改 +## 1.2.13(2023-03-03) +- uni-list-chat 新增 支持具名插槽`header` +## 1.2.12(2023-02-01) +- 新增 列表图标新增 customPrefix 属性 ,用法 [详见](https://uniapp.dcloud.net.cn/component/uniui/uni-icons.html#icons-props) +## 1.2.11(2023-01-31) +- 修复 无反馈效果呈现的bug +## 1.2.9(2022-11-22) +- 修复 uni-list-chat 在vue3下跳转报错的bug +## 1.2.8(2022-11-21) +- 修复 uni-list-chat avatar属性 值为本地路径时错误的问题 +## 1.2.7(2022-11-21) +- 修复 uni-list-chat avatar属性 在腾讯云版uniCloud下错误的问题 +## 1.2.6(2022-11-18) +- 修复 uni-list-chat note属性 支持:“草稿”字样功能 文本少1位的问题 +## 1.2.5(2022-11-15) +- 修复 uni-list-item 的 customStyle 属性 padding值在 H5端 无效的bug +## 1.2.4(2022-11-15) +- 修复 uni-list-item 的 customStyle 属性 padding值在nvue(vue2)下无效的bug +## 1.2.3(2022-11-14) +- uni-list-chat 新增 avatar 支持 fileId +## 1.2.2(2022-11-11) +- uni-list 新增属性 render-reverse 详情参考:[https://uniapp.dcloud.net.cn/component/list.html](https://uniapp.dcloud.net.cn/component/list.html) +- uni-list-chat note属性 支持:“草稿”字样 加红显示 详情参考uni-im:[https://ext.dcloud.net.cn/plugin?name=uni-im](https://ext.dcloud.net.cn/plugin?name=uni-im) +- uni-list-item 新增属性 customStyle 支持设置padding、backgroundColor +## 1.2.1(2022-03-30) +- 删除无用文件 +## 1.2.0(2021-11-23) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-list](https://uniapp.dcloud.io/component/uniui/uni-list) +## 1.1.3(2021-08-30) +- 修复 在vue3中to属性在发行应用的时候报错的bug +## 1.1.2(2021-07-30) +- 优化 vue3下事件警告的问题 +## 1.1.1(2021-07-21) +- 修复 与其他组件嵌套使用时,点击失效的Bug +## 1.1.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.17(2021-05-12) +- 新增 组件示例地址 +## 1.0.16(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 +## 1.0.15(2021-02-05) +- 调整为uni_modules目录规范 +- 修复 uni-list-chat 角标显示不正常的问题 diff --git a/weihu/uni_modules/uni-list/components/uni-list-ad/uni-list-ad.vue b/weihu/uni_modules/uni-list/components/uni-list-ad/uni-list-ad.vue new file mode 100644 index 0000000..b9349c2 --- /dev/null +++ b/weihu/uni_modules/uni-list/components/uni-list-ad/uni-list-ad.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/weihu/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.scss b/weihu/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.scss new file mode 100644 index 0000000..311f8d9 --- /dev/null +++ b/weihu/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.scss @@ -0,0 +1,58 @@ +/** + * 这里是 uni-list 组件内置的常用样式变量 + * 如果需要覆盖样式,这里提供了基本的组件样式变量,您可以尝试修改这里的变量,去完成样式替换,而不用去修改源码 + * + */ + +// 背景色 +$background-color : #fff; +// 分割线颜色 +$divide-line-color : #e5e5e5; + +// 默认头像大小,如需要修改此值,注意同步修改 js 中的值 const avatarWidth = xx ,目前只支持方形头像 +// nvue 页面不支持修改头像大小 +$avatar-width : 45px ; + +// 头像边框 +$avatar-border-radius: 5px; +$avatar-border-color: #eee; +$avatar-border-width: 1px; + +// 标题文字样式 +$title-size : 16px; +$title-color : #3b4144; +$title-weight : normal; + +// 描述文字样式 +$note-size : 12px; +$note-color : #999; +$note-weight : normal; + +// 右侧额外内容默认样式 +$right-text-size : 12px; +$right-text-color : #999; +$right-text-weight : normal; + +// 角标样式 +// nvue 页面不支持修改圆点位置以及大小 +// 角标在左侧时,角标的位置,默认为 0 ,负数左/下移动,正数右/上移动 +$badge-left: 0px; +$badge-top: 0px; + +// 显示圆点时,圆点大小 +$dot-width: 10px; +$dot-height: 10px; + +// 显示角标时,角标大小和字体大小 +$badge-size : 18px; +$badge-font : 12px; +// 显示角标时,角标前景色 +$badge-color : #fff; +// 显示角标时,角标背景色 +$badge-background-color : #ff5a5f; +// 显示角标时,角标左右间距 +$badge-space : 6px; + +// 状态样式 +// 选中颜色 +$hover : #f5f5f5; diff --git a/weihu/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.vue b/weihu/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.vue new file mode 100644 index 0000000..d49fd7c --- /dev/null +++ b/weihu/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.vue @@ -0,0 +1,593 @@ + + + + + diff --git a/weihu/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue b/weihu/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue new file mode 100644 index 0000000..6402508 --- /dev/null +++ b/weihu/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue @@ -0,0 +1,534 @@ + + + + + \ No newline at end of file diff --git a/weihu/uni_modules/uni-list/components/uni-list/uni-list.vue b/weihu/uni_modules/uni-list/components/uni-list/uni-list.vue new file mode 100644 index 0000000..6ef5972 --- /dev/null +++ b/weihu/uni_modules/uni-list/components/uni-list/uni-list.vue @@ -0,0 +1,123 @@ + + + + diff --git a/weihu/uni_modules/uni-list/components/uni-list/uni-refresh.vue b/weihu/uni_modules/uni-list/components/uni-list/uni-refresh.vue new file mode 100644 index 0000000..3b4c5a2 --- /dev/null +++ b/weihu/uni_modules/uni-list/components/uni-list/uni-refresh.vue @@ -0,0 +1,65 @@ + + + + + diff --git a/weihu/uni_modules/uni-list/components/uni-list/uni-refresh.wxs b/weihu/uni_modules/uni-list/components/uni-list/uni-refresh.wxs new file mode 100644 index 0000000..818a6b7 --- /dev/null +++ b/weihu/uni_modules/uni-list/components/uni-list/uni-refresh.wxs @@ -0,0 +1,87 @@ +var pullDown = { + threshold: 95, + maxHeight: 200, + callRefresh: 'onrefresh', + callPullingDown: 'onpullingdown', + refreshSelector: '.uni-refresh' +}; + +function ready(newValue, oldValue, ownerInstance, instance) { + var state = instance.getState() + state.canPullDown = newValue; + // console.log(newValue); +} + +function touchStart(e, instance) { + var state = instance.getState(); + state.refreshInstance = instance.selectComponent(pullDown.refreshSelector); + state.canPullDown = (state.refreshInstance != null && state.refreshInstance != undefined); + if (!state.canPullDown) { + return + } + + // console.log("touchStart"); + + state.height = 0; + state.touchStartY = e.touches[0].pageY || e.changedTouches[0].pageY; + state.refreshInstance.setStyle({ + 'height': 0 + }); + state.refreshInstance.callMethod("onchange", true); +} + +function touchMove(e, ownerInstance) { + var instance = e.instance; + var state = instance.getState(); + if (!state.canPullDown) { + return + } + + var oldHeight = state.height; + var endY = e.touches[0].pageY || e.changedTouches[0].pageY; + var height = endY - state.touchStartY; + if (height > pullDown.maxHeight) { + return; + } + + var refreshInstance = state.refreshInstance; + refreshInstance.setStyle({ + 'height': height + 'px' + }); + + height = height < pullDown.maxHeight ? height : pullDown.maxHeight; + state.height = height; + refreshInstance.callMethod(pullDown.callPullingDown, { + height: height + }); +} + +function touchEnd(e, ownerInstance) { + var state = e.instance.getState(); + if (!state.canPullDown) { + return + } + + state.refreshInstance.callMethod("onchange", false); + + var refreshInstance = state.refreshInstance; + if (state.height > pullDown.threshold) { + refreshInstance.callMethod(pullDown.callRefresh); + return; + } + + refreshInstance.setStyle({ + 'height': 0 + }); +} + +function propObserver(newValue, oldValue, instance) { + pullDown = newValue; +} + +module.exports = { + touchmove: touchMove, + touchstart: touchStart, + touchend: touchEnd, + propObserver: propObserver +} diff --git a/weihu/uni_modules/uni-list/package.json b/weihu/uni_modules/uni-list/package.json new file mode 100644 index 0000000..8350efc --- /dev/null +++ b/weihu/uni_modules/uni-list/package.json @@ -0,0 +1,88 @@ +{ + "id": "uni-list", + "displayName": "uni-list 列表", + "version": "1.2.14", + "description": "List 组件 ,帮助使用者快速构建列表。", + "keywords": [ + "", + "uni-ui", + "uniui", + "列表", + "", + "list" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-badge", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/weihu/uni_modules/uni-list/readme.md b/weihu/uni_modules/uni-list/readme.md new file mode 100644 index 0000000..32c2865 --- /dev/null +++ b/weihu/uni_modules/uni-list/readme.md @@ -0,0 +1,346 @@ +## List 列表 +> **组件名:uni-list** +> 代码块: `uList`、`uListItem` +> 关联组件:`uni-list-item`、`uni-badge`、`uni-icons`、`uni-list-chat`、`uni-list-ad` + + +List 列表组件,包含基本列表样式、可扩展插槽机制、长列表性能优化、多端兼容。 + +在vue页面里,它默认使用页面级滚动。在app-nvue页面里,它默认使用原生list组件滚动。这样的长列表,在滚动出屏幕外后,系统会回收不可见区域的渲染内存资源,不会造成滚动越长手机越卡的问题。 + +uni-list组件是父容器,里面的核心是uni-list-item子组件,它代表列表中的一个可重复行,子组件可以无限循环。 + +uni-list-item有很多风格,uni-list-item组件通过内置的属性,满足一些常用的场景。当内置属性不满足需求时,可以通过扩展插槽来自定义列表内容。 + +内置属性可以覆盖的场景包括:导航列表、设置列表、小图标列表、通信录列表、聊天记录列表。 + +涉及很多大图或丰富内容的列表,比如类今日头条的新闻列表、类淘宝的电商列表,需要通过扩展插槽实现。 + +下文均有样例给出。 + +uni-list不包含下拉刷新和上拉翻页。上拉翻页另见组件:[uni-load-more](https://ext.dcloud.net.cn/plugin?id=29) + + +### 安装方式 + +本组件符合[easycom](https://uniapp.dcloud.io/collocation/pages?id=easycom)规范,`HBuilderX 2.5.5`起,只需将本组件导入项目,在页面`template`中即可直接使用,无需在页面中`import`和注册`components`。 + +如需通过`npm`方式使用`uni-ui`组件,另见文档:[https://ext.dcloud.net.cn/plugin?id=55](https://ext.dcloud.net.cn/plugin?id=55) + +> **注意事项** +> 为了避免错误使用,给大家带来不好的开发体验,请在使用组件前仔细阅读下面的注意事项,可以帮你避免一些错误。 +> - 组件需要依赖 `sass` 插件 ,请自行手动安装 +> - 组件内部依赖 `'uni-icons'` 、`uni-badge` 组件 +> - `uni-list` 和 `uni-list-item` 需要配套使用,暂不支持单独使用 `uni-list-item` +> - 只有开启点击反馈后,会有点击选中效果 +> - 使用插槽时,可以完全自定义内容 +> - note 、rightText 属性暂时没做限制,不支持文字溢出隐藏,使用时应该控制长度显示或通过默认插槽自行扩展 +> - 支付宝小程序平台需要在支付宝小程序开发者工具里开启 component2 编译模式,开启方式: 详情 --> 项目配置 --> 启用 component2 编译 +> - 如果需要修改 `switch`、`badge` 样式,请使用插槽自定义 +> - 在 `HBuilderX` 低版本中,可能会出现组件显示 `undefined` 的问题,请升级最新的 `HBuilderX` 或者 `cli` +> - 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + +### 基本用法 + +- 设置 `title` 属性,可以显示列表标题 +- 设置 `disabled` 属性,可以禁用当前项 + +```html + + + + + +``` + +### 多行内容显示 + +- 设置 `note` 属性 ,可以在第二行显示描述文本信息 + +```html + + + + + +``` + +### 右侧显示角标、switch + +- 设置 `show-badge` 属性 ,可以显示角标内容 +- 设置 `show-switch` 属性,可以显示 switch 开关 + +```html + + + + + +``` + +### 左侧显示略缩图、图标 + +- 设置 `thumb` 属性 ,可以在列表左侧显示略缩图 +- 设置 `show-extra-icon` 属性,并指定 `extra-icon` 可以在左侧显示图标 + +```html + + + + +``` + +### 开启点击反馈和右侧箭头 +- 设置 `clickable` 为 `true` ,则表示这是一个可点击的列表,会默认给一个点击效果,并可以监听 `click` 事件 +- 设置 `link` 属性,会自动开启点击反馈,并给列表右侧添加一个箭头 +- 设置 `to` 属性,可以跳转页面,`link` 的值表示跳转方式,如果不指定,默认为 `navigateTo` + +```html + + + + + + + +``` + + +### 聊天列表示例 +- 设置 `clickable` 为 `true` ,则表示这是一个可点击的列表,会默认给一个点击效果,并可以监听 `click` 事件 +- 设置 `link` 属性,会自动开启点击反馈,`link` 的值表示跳转方式,如果不指定,默认为 `navigateTo` +- 设置 `to` 属性,可以跳转页面 +- `time` 属性,通常会设置成时间显示,但是这个属性不仅仅可以设置时间,你可以传入任何文本,注意文本长度可能会影响显示 +- `avatar` 和 `avatarList` 属性同时只会有一个生效,同时设置的话,`avatarList` 属性的长度大于1 ,`avatar` 属性将失效 +- 可以通过默认插槽自定义列表右侧内容 + +```html + + + + + + + + + + + + + + + + + 刚刚 + + + + + + + +``` + +```javascript + +export default { + components: {}, + data() { + return { + avatarList: [{ + url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/460d46d0-4fcc-11eb-8ff1-d5dcf8779628.png' + }, { + url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/460d46d0-4fcc-11eb-8ff1-d5dcf8779628.png' + }, { + url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/460d46d0-4fcc-11eb-8ff1-d5dcf8779628.png' + }] + } + } +} + +``` + + +```css + +.chat-custom-right { + flex: 1; + /* #ifndef APP-NVUE */ + display: flex; + /* #endif */ + flex-direction: column; + justify-content: space-between; + align-items: flex-end; +} + +.chat-custom-text { + font-size: 12px; + color: #999; +} + +``` + +## API + +### List Props + +属性名 |类型 |默认值 | 说明 +:-: |:-: |:-: | :-: +border |Boolean |true | 是否显示边框 + + +### ListItem Props + +属性名 |类型 |默认值 | 说明 +:-: |:-: |:-: | :-: +title |String |- | 标题 +note |String |- | 描述 +ellipsis |Number |0 | title 是否溢出隐藏,可选值,0:默认; 1:显示一行; 2:显示两行;【nvue 暂不支持】 +thumb |String |- | 左侧缩略图,若thumb有值,则不会显示扩展图标 +thumbSize |String |medium | 略缩图尺寸,可选值,lg:大图; medium:一般; sm:小图; +showBadge |Boolean |false | 是否显示数字角标 +badgeText |String |- | 数字角标内容 +badgeType |String |- | 数字角标类型,参考[uni-icons](https://ext.dcloud.net.cn/plugin?id=21) +badgeStyle |Object |- | 数字角标样式,使用uni-badge的custom-style参数 +rightText |String |- | 右侧文字内容 +disabled |Boolean |false | 是否禁用 +showArrow |Boolean |true | 是否显示箭头图标 +link |String |navigateTo | 新页面跳转方式,可选值见下表 +to |String |- | 新页面跳转地址,如填写此属性,click 会返回页面是否跳转成功 +clickable |Boolean |false | 是否开启点击反馈 +showSwitch |Boolean |false | 是否显示Switch +switchChecked |Boolean |false | Switch是否被选中 +showExtraIcon |Boolean |false | 左侧是否显示扩展图标 +extraIcon |Object |- | 扩展图标参数,格式为 ``{color: '#4cd964',size: '22',type: 'spinner'}``,参考 [uni-icons](https://ext.dcloud.net.cn/plugin?id=28) +direction | String |row | 排版方向,可选值,row:水平排列; column:垂直排列; 3个插槽是水平排还是垂直排,也受此属性控制 + + +#### Link Options + +属性名 | 说明 +:-: | :-: +navigateTo | 同 uni.navigateTo() +redirectTo | 同 uni.reLaunch() +reLaunch | 同 uni.reLaunch() +switchTab | 同 uni.switchTab() + +### ListItem Events + +事件称名 |说明 |返回参数 +:-: |:-: |:-: +click |点击 uniListItem 触发事件,需开启点击反馈 |- +switchChange |点击切换 Switch 时触发,需显示 switch |e={value:checked} + + + +### ListItem Slots + +名称 | 说明 +:-: | :-: +header | 左/上内容插槽,可完全自定义默认显示 +body | 中间内容插槽,可完全自定义中间内容 +footer | 右/下内容插槽,可完全自定义右侧内容 + + +> **通过插槽扩展** +> 需要注意的是当使用插槽时,内置样式将会失效,只保留排版样式,此时的样式需要开发者自己实现 +> 如果 `uni-list-item` 组件内置属性样式无法满足需求,可以使用插槽来自定义uni-list-item里的内容。 +> uni-list-item提供了3个可扩展的插槽:`header`、`body`、`footer` +> - 当 `direction` 属性为 `row` 时表示水平排列,此时 `header` 表示列表的左边部分,`body` 表示列表的中间部分,`footer` 表示列表的右边部分 +> - 当 `direction` 属性为 `column` 时表示垂直排列,此时 `header` 表示列表的上边部分,`body` 表示列表的中间部分,`footer` 表示列表的下边部分 +> 开发者可以只用1个插槽,也可以3个一起使用。在插槽中可自主编写view标签,实现自己所需的效果。 + + +**示例** + +```html + + + + + + + + + 自定义插槽 + + + + +``` + + + + + +### ListItemChat Props + +属性名 |类型 |默认值 | 说明 +:-: |:-: |:-: | :-: +title |String |- | 标题 +note |String |- | 描述 +clickable |Boolean |false | 是否开启点击反馈 +badgeText |String |- | 数字角标内容,设置为 `dot` 将显示圆点 +badgePositon |String |right | 角标位置 +link |String |navigateTo | 是否展示右侧箭头并开启点击反馈,可选值见下表 +clickable |Boolean |false | 是否开启点击反馈 +to |String |- | 跳转页面地址,如填写此属性,click 会返回页面是否跳转成功 +time |String |- | 右侧时间显示 +avatarCircle |Boolean |false | 是否显示圆形头像 +avatar |String |- | 头像地址,avatarCircle 不填时生效 +avatarList |Array |- | 头像组,格式为 [{url:''}] + +#### Link Options + +属性名 | 说明 +:-: | :-: +navigateTo | 同 uni.navigateTo() +redirectTo | 同 uni.reLaunch() +reLaunch | 同 uni.reLaunch() +switchTab | 同 uni.switchTab() + +### ListItemChat Slots + +名称 | 说明 +:- | :- +default | 自定义列表右侧内容(包括时间和角标显示) + +### ListItemChat Events +事件称名 | 说明 | 返回参数 +:-: | :-: | :-: +@click | 点击 uniListChat 触发事件 | {data:{}} ,如有 to 属性,会返回页面跳转信息 + + + + + + +## 基于uni-list扩展的页面模板 + +通过扩展插槽,可实现多种常见样式的列表 + +**新闻列表类** + +1. 云端一体混合布局:[https://ext.dcloud.net.cn/plugin?id=2546](https://ext.dcloud.net.cn/plugin?id=2546) +2. 云端一体垂直布局,大图模式:[https://ext.dcloud.net.cn/plugin?id=2583](https://ext.dcloud.net.cn/plugin?id=2583) +3. 云端一体垂直布局,多行图文混排:[https://ext.dcloud.net.cn/plugin?id=2584](https://ext.dcloud.net.cn/plugin?id=2584) +4. 云端一体垂直布局,多图模式:[https://ext.dcloud.net.cn/plugin?id=2585](https://ext.dcloud.net.cn/plugin?id=2585) +5. 云端一体水平布局,左图右文:[https://ext.dcloud.net.cn/plugin?id=2586](https://ext.dcloud.net.cn/plugin?id=2586) +6. 云端一体水平布局,左文右图:[https://ext.dcloud.net.cn/plugin?id=2587](https://ext.dcloud.net.cn/plugin?id=2587) +7. 云端一体垂直布局,无图模式,主标题+副标题:[https://ext.dcloud.net.cn/plugin?id=2588](https://ext.dcloud.net.cn/plugin?id=2588) + +**商品列表类** + +1. 云端一体列表/宫格视图互切:[https://ext.dcloud.net.cn/plugin?id=2651](https://ext.dcloud.net.cn/plugin?id=2651) +2. 云端一体列表(宫格模式):[https://ext.dcloud.net.cn/plugin?id=2671](https://ext.dcloud.net.cn/plugin?id=2671) +3. 云端一体列表(列表模式):[https://ext.dcloud.net.cn/plugin?id=2672](https://ext.dcloud.net.cn/plugin?id=2672) + +## 组件示例 + +点击查看:[https://hellouniapp.dcloud.net.cn/pages/extUI/list/list](https://hellouniapp.dcloud.net.cn/pages/extUI/list/list) \ No newline at end of file diff --git a/weihu/uni_modules/uni-load-more/changelog.md b/weihu/uni_modules/uni-load-more/changelog.md new file mode 100644 index 0000000..8f03f1d --- /dev/null +++ b/weihu/uni_modules/uni-load-more/changelog.md @@ -0,0 +1,19 @@ +## 1.3.3(2022-01-20) +- 新增 showText属性 ,是否显示文本 +## 1.3.2(2022-01-19) +- 修复 nvue 平台下不显示文本的bug +## 1.3.1(2022-01-19) +- 修复 微信小程序平台样式选择器报警告的问题 +## 1.3.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-load-more](https://uniapp.dcloud.io/component/uniui/uni-load-more) +## 1.2.1(2021-08-24) +- 新增 支持国际化 +## 1.2.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.8(2021-05-12) +- 新增 组件示例地址 +## 1.1.7(2021-03-30) +- 修复 uni-load-more 在首页使用时,h5 平台报 'uni is not defined' 的 bug +## 1.1.6(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/weihu/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json b/weihu/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json new file mode 100644 index 0000000..a4f14a5 --- /dev/null +++ b/weihu/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json @@ -0,0 +1,5 @@ +{ + "uni-load-more.contentdown": "Pull up to show more", + "uni-load-more.contentrefresh": "loading...", + "uni-load-more.contentnomore": "No more data" +} diff --git a/weihu/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js b/weihu/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js new file mode 100644 index 0000000..de7509c --- /dev/null +++ b/weihu/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js @@ -0,0 +1,8 @@ +import en from './en.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/weihu/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json b/weihu/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json new file mode 100644 index 0000000..f15d510 --- /dev/null +++ b/weihu/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json @@ -0,0 +1,5 @@ +{ + "uni-load-more.contentdown": "上拉显示更多", + "uni-load-more.contentrefresh": "正在加载...", + "uni-load-more.contentnomore": "没有更多数据了" +} diff --git a/weihu/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json b/weihu/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json new file mode 100644 index 0000000..a255c6d --- /dev/null +++ b/weihu/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json @@ -0,0 +1,5 @@ +{ + "uni-load-more.contentdown": "上拉顯示更多", + "uni-load-more.contentrefresh": "正在加載...", + "uni-load-more.contentnomore": "沒有更多數據了" +} diff --git a/weihu/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue b/weihu/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue new file mode 100644 index 0000000..e5eff4d --- /dev/null +++ b/weihu/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue @@ -0,0 +1,399 @@ + + + + + diff --git a/weihu/uni_modules/uni-load-more/package.json b/weihu/uni_modules/uni-load-more/package.json new file mode 100644 index 0000000..2fa6f04 --- /dev/null +++ b/weihu/uni_modules/uni-load-more/package.json @@ -0,0 +1,86 @@ +{ + "id": "uni-load-more", + "displayName": "uni-load-more 加载更多", + "version": "1.3.3", + "description": "LoadMore 组件,常用在列表里面,做滚动加载使用。", + "keywords": [ + "uni-ui", + "uniui", + "加载更多", + "load-more" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/weihu/uni_modules/uni-load-more/readme.md b/weihu/uni_modules/uni-load-more/readme.md new file mode 100644 index 0000000..54dc1fa --- /dev/null +++ b/weihu/uni_modules/uni-load-more/readme.md @@ -0,0 +1,14 @@ + + +### LoadMore 加载更多 +> **组件名:uni-load-more** +> 代码块: `uLoadMore` + + +用于列表中,做滚动加载使用,展示 loading 的各种状态。 + + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-load-more) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/weihu/uni_modules/uni-nav-bar/changelog.md b/weihu/uni_modules/uni-nav-bar/changelog.md new file mode 100644 index 0000000..0f9a2f1 --- /dev/null +++ b/weihu/uni_modules/uni-nav-bar/changelog.md @@ -0,0 +1,51 @@ +## 1.3.11(2023-03-29) +- 修复 自定义状态栏高度闪动BUG +## 1.3.10(2023-03-29) +- 修复 暗黑模式下边线颜色错误的bug +## 1.3.9(2022-10-13) +- 修复 条件编译错误的bug +## 1.3.8(2022-10-12) +- 修复 nvue 环境 fixed 为 true 的情况下,无法置顶的 bug +## 1.3.7(2022-08-11) +- 修复 nvue 环境下 fixed 为 true 的情况下,无法置顶的 bug +## 1.3.6(2022-06-30) +- 修复 组件示例中插槽用法无法显示内容的bug +## 1.3.5(2022-05-24) +- 新增 stat 属性 ,可开启统计title 上报 ,仅使用了title 属性且项目开启了uni统计生效 +## 1.3.4(2022-01-24) +- 更新 组件示例 +## 1.3.3(2022-01-24) +- 新增 left-width/right-width属性 ,可修改左右两侧的宽度 +## 1.3.2(2022-01-18) +- 修复 在vue下,标题不垂直居中的bug +## 1.3.1(2022-01-18) +- 修复 height 属性类型错误 +## 1.3.0(2022-01-18) +- 新增 height 属性,可修改组件高度 +- 新增 dark 属性可可开启暗黑模式 +- 优化 标题字数过多显示省略号 +- 优化 插槽,插入内容可完全覆盖 +## 1.2.1(2022-01-10) +- 修复 color 属性不生效的bug +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-nav-bar](https://uniapp.dcloud.io/component/uniui/uni-nav-bar) +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.11(2021-05-12) +- 新增 组件示例地址 +## 1.0.10(2021-04-30) +- 修复 在nvue下fixed为true,宽度不能撑满的Bug +## 1.0.9(2021-04-21) +- 优化 添加依赖 uni-icons, 导入后自动下载依赖 +## 1.0.8(2021-04-14) +- uni-ui 修复 uni-nav-bar 当 fixed 属性为 true 时铺不满屏幕的 bug + +## 1.0.7(2021-02-25) +- 修复 easycom 下,找不到 uni-status-bar 的bug + +## 1.0.6(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 + +## 1.0.5(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/weihu/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue b/weihu/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue new file mode 100644 index 0000000..46806c1 --- /dev/null +++ b/weihu/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue @@ -0,0 +1,357 @@ + + + + + diff --git a/weihu/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar.vue b/weihu/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar.vue new file mode 100644 index 0000000..4ac73ae --- /dev/null +++ b/weihu/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar.vue @@ -0,0 +1,24 @@ + + + + + diff --git a/weihu/uni_modules/uni-nav-bar/package.json b/weihu/uni_modules/uni-nav-bar/package.json new file mode 100644 index 0000000..240ae95 --- /dev/null +++ b/weihu/uni_modules/uni-nav-bar/package.json @@ -0,0 +1,86 @@ +{ + "id": "uni-nav-bar", + "displayName": "uni-nav-bar 自定义导航栏", + "version": "1.3.11", + "description": "自定义导航栏组件,主要用于头部导航。", + "keywords": [ + "uni-ui", + "导航", + "导航栏", + "自定义导航栏" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/weihu/uni_modules/uni-nav-bar/readme.md b/weihu/uni_modules/uni-nav-bar/readme.md new file mode 100644 index 0000000..3934b32 --- /dev/null +++ b/weihu/uni_modules/uni-nav-bar/readme.md @@ -0,0 +1,15 @@ + + +## NavBar 导航栏 +> **组件名:uni-nav-bar** +> 代码块: `uNavBar` + +导航栏组件,主要用于头部导航。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-nav-bar) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + + + + diff --git a/weihu/uni_modules/uni-notice-bar/changelog.md b/weihu/uni_modules/uni-notice-bar/changelog.md new file mode 100644 index 0000000..ce50674 --- /dev/null +++ b/weihu/uni_modules/uni-notice-bar/changelog.md @@ -0,0 +1,20 @@ +## 1.2.2(2023-12-20) +- 修复动态绑定title时,滚动速度不一致的问题 +## 1.2.1(2022-09-05) +- 新增 属性 fontSize,可修改文字大小。 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-notice-bar](https://uniapp.dcloud.io/component/uniui/uni-notice-bar) +## 1.1.1(2021-11-09) +- 新增 提供组件设计资源,组件样式调整 +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.9(2021-05-12) +- 新增 组件示例地址 +## 1.0.8(2021-04-21) +- 优化 添加依赖 uni-icons, 导入后自动下载依赖 +## 1.0.7(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 + +## 1.0.6(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/weihu/uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.vue b/weihu/uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.vue new file mode 100644 index 0000000..47fb9b3 --- /dev/null +++ b/weihu/uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.vue @@ -0,0 +1,431 @@ + + + + + diff --git a/weihu/uni_modules/uni-notice-bar/package.json b/weihu/uni_modules/uni-notice-bar/package.json new file mode 100644 index 0000000..1e9762c --- /dev/null +++ b/weihu/uni_modules/uni-notice-bar/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-notice-bar", + "displayName": "uni-notice-bar 通告栏", + "version": "1.2.2", + "description": "NoticeBar 通告栏组件,常用于展示公告信息,可设为滚动公告", + "keywords": [ + "uni-ui", + "uniui", + "通告栏", + "公告", + "跑马灯" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/weihu/uni_modules/uni-notice-bar/readme.md b/weihu/uni_modules/uni-notice-bar/readme.md new file mode 100644 index 0000000..fb2ede2 --- /dev/null +++ b/weihu/uni_modules/uni-notice-bar/readme.md @@ -0,0 +1,13 @@ + + +## NoticeBar 通告栏 +> **组件名:uni-notice-bar** +> 代码块: `uNoticeBar` + + +通告栏组件 。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-notice-bar) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/weihu/uni_modules/uni-number-box/changelog.md b/weihu/uni_modules/uni-number-box/changelog.md new file mode 100644 index 0000000..adf9221 --- /dev/null +++ b/weihu/uni_modules/uni-number-box/changelog.md @@ -0,0 +1,39 @@ +## 1.2.8(2024-04-26) +- 修复 在vue2下H5黑边的bug +## 1.2.7(2024-04-26) +- 修复 在vue2手动输入后失焦导致清空数值的严重bug +## 1.2.6(2024-02-22) +- 新增 设置宽度属性width(单位:px) +## 1.2.5(2024-02-21) +- 修复 step步长小于1时,键盘类型为number的bug +## 1.2.4(2024-02-02) +- 修复 加减号垂直位置偏移样式问题 +## 1.2.3(2023-05-23) +- 更新示例工程 +## 1.2.2(2023-05-08) +- 修复 change 事件执行顺序错误的问题 +## 1.2.1(2021-11-22) +- 修复 vue3中某些scss变量无法找到的问题 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-number-box](https://uniapp.dcloud.io/component/uniui/uni-number-box) +## 1.1.2(2021-11-09) +- 新增 提供组件设计资源,组件样式调整 +## 1.1.1(2021-07-30) +- 优化 vue3下事件警告的问题 +## 1.1.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.7(2021-05-12) +- 新增 组件示例地址 +## 1.0.6(2021-04-20) +- 修复 uni-number-box 浮点数运算不精确的 bug +- 修复 uni-number-box change 事件触发不正确的 bug +- 新增 uni-number-box v-model 双向绑定 +## 1.0.5(2021-02-05) +- 调整为uni_modules目录规范 + +## 1.0.7(2021-02-05) +- 调整为uni_modules目录规范 +- 新增 支持 v-model +- 新增 支持 focus、blur 事件 +- 新增 支持 PC 端 diff --git a/weihu/uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue b/weihu/uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue new file mode 100644 index 0000000..4e203cc --- /dev/null +++ b/weihu/uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue @@ -0,0 +1,232 @@ + + + diff --git a/weihu/uni_modules/uni-number-box/package.json b/weihu/uni_modules/uni-number-box/package.json new file mode 100644 index 0000000..4ac9047 --- /dev/null +++ b/weihu/uni_modules/uni-number-box/package.json @@ -0,0 +1,83 @@ +{ + "id": "uni-number-box", + "displayName": "uni-number-box 数字输入框", + "version": "1.2.8", + "description": "NumberBox 带加减按钮的数字输入框组件,用户可以控制每次点击增加的数值,支持小数。", + "keywords": [ + "uni-ui", + "uniui", + "数字输入框" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/weihu/uni_modules/uni-number-box/readme.md b/weihu/uni_modules/uni-number-box/readme.md new file mode 100644 index 0000000..affc56f --- /dev/null +++ b/weihu/uni_modules/uni-number-box/readme.md @@ -0,0 +1,13 @@ + + +## NumberBox 数字输入框 +> **组件名:uni-number-box** +> 代码块: `uNumberBox` + + +带加减按钮的数字输入框。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-number-box) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/weihu/uni_modules/uni-pagination/changelog.md b/weihu/uni_modules/uni-pagination/changelog.md new file mode 100644 index 0000000..2e94adc --- /dev/null +++ b/weihu/uni_modules/uni-pagination/changelog.md @@ -0,0 +1,27 @@ +## 1.2.4(2022-09-19) +- 修复,未对主题色设置默认色,导致未引入 uni-scss 变量文件报错。 +- 修复,未对移动端当前页文字做主题色适配。 +## 1.2.3(2022-09-15) +- 修复未使用 uni-scss 主题色的 bug。 +## 1.2.2(2022-07-06) +- 修复 es 语言 i18n 错误 +## 1.2.1(2021-11-22) +- 修复 vue3中某些scss变量无法找到的问题 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-pagination](https://uniapp.dcloud.io/component/uniui/uni-pagination) +## 1.1.2(2021-10-08) +- 修复 current 、value 属性未监听,导致高亮样式失效的 bug +## 1.1.1(2021-08-20) +- 新增 支持国际化 +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.7(2021-05-12) +- 新增 组件示例地址 +## 1.0.6(2021-04-12) +- 新增 PC 和 移动端适配不同的 ui +## 1.0.5(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 + +## 1.0.4(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/weihu/uni_modules/uni-pagination/components/uni-pagination/i18n/en.json b/weihu/uni_modules/uni-pagination/components/uni-pagination/i18n/en.json new file mode 100644 index 0000000..d6e2897 --- /dev/null +++ b/weihu/uni_modules/uni-pagination/components/uni-pagination/i18n/en.json @@ -0,0 +1,5 @@ +{ + "uni-pagination.prevText": "prev", + "uni-pagination.nextText": "next", + "uni-pagination.piecePerPage": "piece/page" +} diff --git a/weihu/uni_modules/uni-pagination/components/uni-pagination/i18n/es.json b/weihu/uni_modules/uni-pagination/components/uni-pagination/i18n/es.json new file mode 100644 index 0000000..604a113 --- /dev/null +++ b/weihu/uni_modules/uni-pagination/components/uni-pagination/i18n/es.json @@ -0,0 +1,5 @@ +{ + "uni-pagination.prevText": "anterior", + "uni-pagination.nextText": "prxima", + "uni-pagination.piecePerPage": "Artculo/Pgina" +} diff --git a/weihu/uni_modules/uni-pagination/components/uni-pagination/i18n/fr.json b/weihu/uni_modules/uni-pagination/components/uni-pagination/i18n/fr.json new file mode 100644 index 0000000..a7a0c77 --- /dev/null +++ b/weihu/uni_modules/uni-pagination/components/uni-pagination/i18n/fr.json @@ -0,0 +1,5 @@ +{ + "uni-pagination.prevText": "précédente", + "uni-pagination.nextText": "suivante", + "uni-pagination.piecePerPage": "Articles/Pages" +} diff --git a/weihu/uni_modules/uni-pagination/components/uni-pagination/i18n/index.js b/weihu/uni_modules/uni-pagination/components/uni-pagination/i18n/index.js new file mode 100644 index 0000000..2469dd0 --- /dev/null +++ b/weihu/uni_modules/uni-pagination/components/uni-pagination/i18n/index.js @@ -0,0 +1,12 @@ +import en from './en.json' +import es from './es.json' +import fr from './fr.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + es, + fr, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/weihu/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hans.json b/weihu/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hans.json new file mode 100644 index 0000000..782bbe4 --- /dev/null +++ b/weihu/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hans.json @@ -0,0 +1,5 @@ +{ + "uni-pagination.prevText": "上一页", + "uni-pagination.nextText": "下一页", + "uni-pagination.piecePerPage": "条/页" +} diff --git a/weihu/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hant.json b/weihu/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hant.json new file mode 100644 index 0000000..180fddb --- /dev/null +++ b/weihu/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hant.json @@ -0,0 +1,5 @@ +{ + "uni-pagination.prevText": "上一頁", + "uni-pagination.nextText": "下一頁", + "uni-pagination.piecePerPage": "條/頁" +} diff --git a/weihu/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue b/weihu/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue new file mode 100644 index 0000000..5305b5f --- /dev/null +++ b/weihu/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue @@ -0,0 +1,465 @@ + + + + + diff --git a/weihu/uni_modules/uni-pagination/package.json b/weihu/uni_modules/uni-pagination/package.json new file mode 100644 index 0000000..862d5ab --- /dev/null +++ b/weihu/uni_modules/uni-pagination/package.json @@ -0,0 +1,83 @@ +{ + "id": "uni-pagination", + "displayName": "uni-pagination 分页器", + "version": "1.2.4", + "description": "Pagination 分页器组件,用于展示页码、请求数据等。", + "keywords": [ + "uni-ui", + "uniui", + "分页器", + "页码" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-scss","uni-icons"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/weihu/uni_modules/uni-pagination/readme.md b/weihu/uni_modules/uni-pagination/readme.md new file mode 100644 index 0000000..97ea1d6 --- /dev/null +++ b/weihu/uni_modules/uni-pagination/readme.md @@ -0,0 +1,11 @@ + + +## Pagination 分页器 +> **组件名:uni-pagination** +> 代码块: `uPagination` + + +分页器组件,用于展示页码、请求数据等。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-pagination) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 diff --git a/weihu/uni_modules/uni-popup/changelog.md b/weihu/uni_modules/uni-popup/changelog.md new file mode 100644 index 0000000..decd775 --- /dev/null +++ b/weihu/uni_modules/uni-popup/changelog.md @@ -0,0 +1,84 @@ +## 1.9.1(2024-04-02) +- 修复 uni-popup-dialog vue3下使用value无法进行绑定的bug(双向绑定兼容旧写法) +## 1.9.0(2024-03-28) +- 修复 uni-popup-dialog 双向绑定时初始化逻辑修正 +## 1.8.9(2024-03-20) +- 修复 uni-popup-dialog 数据输入时修正为双向绑定 +## 1.8.8(2024-02-20) +- 修复 uni-popup 在微信小程序下出现文字向上闪动的bug +## 1.8.7(2024-02-02) +- 新增 uni-popup-dialog 新增属性focus:input模式下,是否自动自动聚焦 +## 1.8.6(2024-01-30) +- 新增 uni-popup-dialog 新增属性maxLength:限制输入框字数 +## 1.8.5(2024-01-26) +- 新增 uni-popup-dialog 新增属性showClose:控制关闭按钮的显示 +## 1.8.4(2023-11-15) +- 新增 uni-popup 支持uni-app-x 注意暂时仅支持 `maskClick` `@open` `@close` +## 1.8.3(2023-04-17) +- 修复 uni-popup 重复打开时的 bug +## 1.8.2(2023-02-02) +- uni-popup-dialog 组件新增 inputType 属性 +## 1.8.1(2022-12-01) +- 修复 nvue 下 v-show 报错 +## 1.8.0(2022-11-29) +- 优化 主题样式 +## 1.7.9(2022-04-02) +- 修复 弹出层内部无法滚动的bug +## 1.7.8(2022-03-28) +- 修复 小程序中高度错误的bug +## 1.7.7(2022-03-17) +- 修复 快速调用open出现问题的Bug +## 1.7.6(2022-02-14) +- 修复 safeArea 属性不能设置为false的bug +## 1.7.5(2022-01-19) +- 修复 isMaskClick 失效的bug +## 1.7.4(2022-01-19) +- 新增 cancelText \ confirmText 属性 ,可自定义文本 +- 新增 maskBackgroundColor 属性 ,可以修改蒙版颜色 +- 优化 maskClick属性 更新为 isMaskClick ,解决微信小程序警告的问题 +## 1.7.3(2022-01-13) +- 修复 设置 safeArea 属性不生效的bug +## 1.7.2(2021-11-26) +- 优化 组件示例 +## 1.7.1(2021-11-26) +- 修复 vuedoc 文字错误 +## 1.7.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-popup](https://uniapp.dcloud.io/component/uniui/uni-popup) +## 1.6.2(2021-08-24) +- 新增 支持国际化 +## 1.6.1(2021-07-30) +- 优化 vue3下事件警告的问题 +## 1.6.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.5.0(2021-06-23) +- 新增 mask-click 遮罩层点击事件 +## 1.4.5(2021-06-22) +- 修复 nvue 平台中间弹出后,点击内容,再点击遮罩无法关闭的Bug +## 1.4.4(2021-06-18) +- 修复 H5平台中间弹出后,点击内容,再点击遮罩无法关闭的Bug +## 1.4.3(2021-06-08) +- 修复 错误的 watch 字段 +- 修复 safeArea 属性不生效的问题 +- 修复 点击内容,再点击遮罩无法关闭的Bug +## 1.4.2(2021-05-12) +- 新增 组件示例地址 +## 1.4.1(2021-04-29) +- 修复 组件内放置 input 、textarea 组件,无法聚焦的问题 +## 1.4.0 (2021-04-29) +- 新增 type 属性的 left\right 值,支持左右弹出 +- 新增 open(String:type) 方法参数 ,可以省略 type 属性 ,直接传入类型打开指定弹窗 +- 新增 backgroundColor 属性,可定义主窗口背景色,默认不显示背景色 +- 新增 safeArea 属性,是否适配底部安全区 +- 修复 App\h5\微信小程序底部安全区占位不对的Bug +- 修复 App 端弹出等待的Bug +- 优化 提升低配设备性能,优化动画卡顿问题 +- 优化 更简单的组件自定义方式 +## 1.2.9(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 +## 1.2.8(2021-02-05) +- 调整为uni_modules目录规范 +## 1.2.7(2021-02-05) +- 调整为uni_modules目录规范 +- 新增 支持 PC 端 +- 新增 uni-popup-message 、uni-popup-dialog扩展组件支持 PC 端 diff --git a/weihu/uni_modules/uni-popup/components/uni-popup-dialog/keypress.js b/weihu/uni_modules/uni-popup/components/uni-popup-dialog/keypress.js new file mode 100644 index 0000000..6ef26a2 --- /dev/null +++ b/weihu/uni_modules/uni-popup/components/uni-popup-dialog/keypress.js @@ -0,0 +1,45 @@ +// #ifdef H5 +export default { + name: 'Keypress', + props: { + disable: { + type: Boolean, + default: false + } + }, + mounted () { + const keyNames = { + esc: ['Esc', 'Escape'], + tab: 'Tab', + enter: 'Enter', + space: [' ', 'Spacebar'], + up: ['Up', 'ArrowUp'], + left: ['Left', 'ArrowLeft'], + right: ['Right', 'ArrowRight'], + down: ['Down', 'ArrowDown'], + delete: ['Backspace', 'Delete', 'Del'] + } + const listener = ($event) => { + if (this.disable) { + return + } + const keyName = Object.keys(keyNames).find(key => { + const keyName = $event.key + const value = keyNames[key] + return value === keyName || (Array.isArray(value) && value.includes(keyName)) + }) + if (keyName) { + // 避免和其他按键事件冲突 + setTimeout(() => { + this.$emit(keyName, {}) + }, 0) + } + } + document.addEventListener('keyup', listener) + this.$once('hook:beforeDestroy', () => { + document.removeEventListener('keyup', listener) + }) + }, + render: () => {} +} +// #endif diff --git a/weihu/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue b/weihu/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue new file mode 100644 index 0000000..08707d4 --- /dev/null +++ b/weihu/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue @@ -0,0 +1,316 @@ + + + + + diff --git a/weihu/uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue b/weihu/uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue new file mode 100644 index 0000000..91370a8 --- /dev/null +++ b/weihu/uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue @@ -0,0 +1,143 @@ + + + + diff --git a/weihu/uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue b/weihu/uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue new file mode 100644 index 0000000..f7e667c --- /dev/null +++ b/weihu/uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue @@ -0,0 +1,187 @@ + + + + diff --git a/weihu/uni_modules/uni-popup/components/uni-popup/i18n/en.json b/weihu/uni_modules/uni-popup/components/uni-popup/i18n/en.json new file mode 100644 index 0000000..7f1bd06 --- /dev/null +++ b/weihu/uni_modules/uni-popup/components/uni-popup/i18n/en.json @@ -0,0 +1,7 @@ +{ + "uni-popup.cancel": "cancel", + "uni-popup.ok": "ok", + "uni-popup.placeholder": "pleace enter", + "uni-popup.title": "Hint", + "uni-popup.shareTitle": "Share to" +} diff --git a/weihu/uni_modules/uni-popup/components/uni-popup/i18n/index.js b/weihu/uni_modules/uni-popup/components/uni-popup/i18n/index.js new file mode 100644 index 0000000..de7509c --- /dev/null +++ b/weihu/uni_modules/uni-popup/components/uni-popup/i18n/index.js @@ -0,0 +1,8 @@ +import en from './en.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/weihu/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json b/weihu/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json new file mode 100644 index 0000000..5e3003c --- /dev/null +++ b/weihu/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json @@ -0,0 +1,7 @@ +{ + "uni-popup.cancel": "取消", + "uni-popup.ok": "确定", + "uni-popup.placeholder": "请输入", + "uni-popup.title": "提示", + "uni-popup.shareTitle": "分享到" +} diff --git a/weihu/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json b/weihu/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json new file mode 100644 index 0000000..13e39eb --- /dev/null +++ b/weihu/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json @@ -0,0 +1,7 @@ +{ + "uni-popup.cancel": "取消", + "uni-popup.ok": "確定", + "uni-popup.placeholder": "請輸入", + "uni-popup.title": "提示", + "uni-popup.shareTitle": "分享到" +} diff --git a/weihu/uni_modules/uni-popup/components/uni-popup/keypress.js b/weihu/uni_modules/uni-popup/components/uni-popup/keypress.js new file mode 100644 index 0000000..62dda46 --- /dev/null +++ b/weihu/uni_modules/uni-popup/components/uni-popup/keypress.js @@ -0,0 +1,45 @@ +// #ifdef H5 +export default { + name: 'Keypress', + props: { + disable: { + type: Boolean, + default: false + } + }, + mounted () { + const keyNames = { + esc: ['Esc', 'Escape'], + tab: 'Tab', + enter: 'Enter', + space: [' ', 'Spacebar'], + up: ['Up', 'ArrowUp'], + left: ['Left', 'ArrowLeft'], + right: ['Right', 'ArrowRight'], + down: ['Down', 'ArrowDown'], + delete: ['Backspace', 'Delete', 'Del'] + } + const listener = ($event) => { + if (this.disable) { + return + } + const keyName = Object.keys(keyNames).find(key => { + const keyName = $event.key + const value = keyNames[key] + return value === keyName || (Array.isArray(value) && value.includes(keyName)) + }) + if (keyName) { + // 避免和其他按键事件冲突 + setTimeout(() => { + this.$emit(keyName, {}) + }, 0) + } + } + document.addEventListener('keyup', listener) + // this.$once('hook:beforeDestroy', () => { + // document.removeEventListener('keyup', listener) + // }) + }, + render: () => {} +} +// #endif diff --git a/weihu/uni_modules/uni-popup/components/uni-popup/popup.js b/weihu/uni_modules/uni-popup/components/uni-popup/popup.js new file mode 100644 index 0000000..c4e5781 --- /dev/null +++ b/weihu/uni_modules/uni-popup/components/uni-popup/popup.js @@ -0,0 +1,26 @@ + +export default { + data() { + return { + + } + }, + created(){ + this.popup = this.getParent() + }, + methods:{ + /** + * 获取父元素实例 + */ + getParent(name = 'uniPopup') { + let parent = this.$parent; + let parentName = parent.$options.name; + while (parentName !== name) { + parent = parent.$parent; + if (!parent) return false + parentName = parent.$options.name; + } + return parent; + }, + } +} diff --git a/weihu/uni_modules/uni-popup/components/uni-popup/uni-popup.uvue b/weihu/uni_modules/uni-popup/components/uni-popup/uni-popup.uvue new file mode 100644 index 0000000..5eb8d5b --- /dev/null +++ b/weihu/uni_modules/uni-popup/components/uni-popup/uni-popup.uvue @@ -0,0 +1,90 @@ + + + + + \ No newline at end of file diff --git a/weihu/uni_modules/uni-popup/components/uni-popup/uni-popup.vue b/weihu/uni_modules/uni-popup/components/uni-popup/uni-popup.vue new file mode 100644 index 0000000..8349e99 --- /dev/null +++ b/weihu/uni_modules/uni-popup/components/uni-popup/uni-popup.vue @@ -0,0 +1,503 @@ + + + + diff --git a/weihu/uni_modules/uni-popup/package.json b/weihu/uni_modules/uni-popup/package.json new file mode 100644 index 0000000..3cfa384 --- /dev/null +++ b/weihu/uni_modules/uni-popup/package.json @@ -0,0 +1,88 @@ +{ + "id": "uni-popup", + "displayName": "uni-popup 弹出层", + "version": "1.9.1", + "description": " Popup 组件,提供常用的弹层", + "keywords": [ + "uni-ui", + "弹出层", + "弹窗", + "popup", + "弹框" + ], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-transition" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/weihu/uni_modules/uni-popup/readme.md b/weihu/uni_modules/uni-popup/readme.md new file mode 100644 index 0000000..fdad4b3 --- /dev/null +++ b/weihu/uni_modules/uni-popup/readme.md @@ -0,0 +1,17 @@ + + +## Popup 弹出层 +> **组件名:uni-popup** +> 代码块: `uPopup` +> 关联组件:`uni-transition` + + +弹出层组件,在应用中弹出一个消息提示窗口、提示框等 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-popup) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + + + + diff --git a/weihu/uni_modules/uni-rate/changelog.md b/weihu/uni_modules/uni-rate/changelog.md new file mode 100644 index 0000000..8a98a61 --- /dev/null +++ b/weihu/uni_modules/uni-rate/changelog.md @@ -0,0 +1,25 @@ +## 1.3.1(2022-02-25) +- 修复 条件判断 `NaN` 错误的 bug +## 1.3.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-rate](https://uniapp.dcloud.io/component/uniui/uni-rate) +## 1.2.2(2021-09-10) +- 优化 默认值修改为 0 颗星 +## 1.2.1(2021-07-30) +- 优化 vue3下事件警告的问题 +## 1.2.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.2(2021-05-12) +- 新增 组件示例地址 +## 1.1.1(2021-04-21) +- 修复 布局变化后 uni-rate 星星计算不准确的 bug +- 优化 添加依赖 uni-icons, 导入 uni-rate 自动下载依赖 +## 1.1.0(2021-04-16) +- 修复 uni-rate 属性 margin 值为 string 组件失效的 bug + +## 1.0.9(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 + +## 1.0.8(2021-02-05) +- 调整为uni_modules目录规范 +- 支持 pc 端 diff --git a/weihu/uni_modules/uni-rate/components/uni-rate/uni-rate.vue b/weihu/uni_modules/uni-rate/components/uni-rate/uni-rate.vue new file mode 100644 index 0000000..857f5f9 --- /dev/null +++ b/weihu/uni_modules/uni-rate/components/uni-rate/uni-rate.vue @@ -0,0 +1,361 @@ + + + + + diff --git a/weihu/uni_modules/uni-rate/package.json b/weihu/uni_modules/uni-rate/package.json new file mode 100644 index 0000000..64e8e33 --- /dev/null +++ b/weihu/uni_modules/uni-rate/package.json @@ -0,0 +1,88 @@ +{ + "id": "uni-rate", + "displayName": "uni-rate 评分", + "version": "1.3.1", + "description": "Rate 评分组件,可自定义评分星星图标的大小、间隔、评分数。", + "keywords": [ + "uni-ui", + "uniui", + "评分" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/weihu/uni_modules/uni-rate/readme.md b/weihu/uni_modules/uni-rate/readme.md new file mode 100644 index 0000000..eae7b5c --- /dev/null +++ b/weihu/uni_modules/uni-rate/readme.md @@ -0,0 +1,12 @@ + + +## Rate 评分 +> **组件名:uni-rate** +> 代码块: `uRate` +> 关联组件:`uni-icons` + + +评分组件,多用于购买商品后,对商品进行评价等场景 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-rate) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/weihu/uni_modules/uni-row/changelog.md b/weihu/uni_modules/uni-row/changelog.md new file mode 100644 index 0000000..5b465bc --- /dev/null +++ b/weihu/uni_modules/uni-row/changelog.md @@ -0,0 +1,10 @@ +## 1.0.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-row](https://uniapp.dcloud.io/component/uniui/uni-row) +## 0.1.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 0.0.4(2021-05-12) +- 新增 组件示例地址 +## 0.0.3(2021-02-05) +- 调整为uni_modules目录规范 +- 新增uni-row组件 diff --git a/weihu/uni_modules/uni-row/components/uni-col/uni-col.vue b/weihu/uni_modules/uni-row/components/uni-col/uni-col.vue new file mode 100644 index 0000000..84e2deb --- /dev/null +++ b/weihu/uni_modules/uni-row/components/uni-col/uni-col.vue @@ -0,0 +1,317 @@ + + + + + diff --git a/weihu/uni_modules/uni-row/components/uni-row/uni-row.vue b/weihu/uni_modules/uni-row/components/uni-row/uni-row.vue new file mode 100644 index 0000000..f8e8542 --- /dev/null +++ b/weihu/uni_modules/uni-row/components/uni-row/uni-row.vue @@ -0,0 +1,190 @@ + + + + + diff --git a/weihu/uni_modules/uni-row/package.json b/weihu/uni_modules/uni-row/package.json new file mode 100644 index 0000000..3f52fa6 --- /dev/null +++ b/weihu/uni_modules/uni-row/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-row", + "displayName": "uni-row 布局-行", + "version": "1.0.0", + "description": "流式栅格系统,随着屏幕或视口分为 24 份,可以迅速简便地创建布局。", + "keywords": [ + "uni-ui", + "uniui", + "栅格", + "布局", + "layout" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "u" + } + } + } + } +} \ No newline at end of file diff --git a/weihu/uni_modules/uni-row/readme.md b/weihu/uni_modules/uni-row/readme.md new file mode 100644 index 0000000..3c9c8b9 --- /dev/null +++ b/weihu/uni_modules/uni-row/readme.md @@ -0,0 +1,10 @@ +## Layout 布局 + +> **组件名 uni-row、uni-col** +> 代码块: `uRow`、`uCol` + + +流式栅格系统,随着屏幕或视口分为 24 份,可以迅速简便地创建布局。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-row) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/weihu/uni_modules/uni-scss/changelog.md b/weihu/uni_modules/uni-scss/changelog.md new file mode 100644 index 0000000..b863bb0 --- /dev/null +++ b/weihu/uni_modules/uni-scss/changelog.md @@ -0,0 +1,8 @@ +## 1.0.3(2022-01-21) +- 优化 组件示例 +## 1.0.2(2021-11-22) +- 修复 / 符号在 vue 不同版本兼容问题引起的报错问题 +## 1.0.1(2021-11-22) +- 修复 vue3中scss语法兼容问题 +## 1.0.0(2021-11-18) +- init diff --git a/weihu/uni_modules/uni-scss/index.scss b/weihu/uni_modules/uni-scss/index.scss new file mode 100644 index 0000000..1744a5f --- /dev/null +++ b/weihu/uni_modules/uni-scss/index.scss @@ -0,0 +1 @@ +@import './styles/index.scss'; diff --git a/weihu/uni_modules/uni-scss/package.json b/weihu/uni_modules/uni-scss/package.json new file mode 100644 index 0000000..7cc0ccb --- /dev/null +++ b/weihu/uni_modules/uni-scss/package.json @@ -0,0 +1,82 @@ +{ + "id": "uni-scss", + "displayName": "uni-scss 辅助样式", + "version": "1.0.3", + "description": "uni-sass是uni-ui提供的一套全局样式 ,通过一些简单的类名和sass变量,实现简单的页面布局操作,比如颜色、边距、圆角等。", + "keywords": [ + "uni-scss", + "uni-ui", + "辅助样式" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "^3.1.0" + }, + "dcloudext": { + "category": [ + "JS SDK", + "通用 SDK" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "u" + }, + "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" + }, + "快应用": { + "华为": "n", + "联盟": "n" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/weihu/uni_modules/uni-scss/readme.md b/weihu/uni_modules/uni-scss/readme.md new file mode 100644 index 0000000..b7d1c25 --- /dev/null +++ b/weihu/uni_modules/uni-scss/readme.md @@ -0,0 +1,4 @@ +`uni-sass` 是 `uni-ui`提供的一套全局样式 ,通过一些简单的类名和`sass`变量,实现简单的页面布局操作,比如颜色、边距、圆角等。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-sass) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/weihu/uni_modules/uni-scss/styles/index.scss b/weihu/uni_modules/uni-scss/styles/index.scss new file mode 100644 index 0000000..ffac4fe --- /dev/null +++ b/weihu/uni_modules/uni-scss/styles/index.scss @@ -0,0 +1,7 @@ +@import './setting/_variables.scss'; +@import './setting/_border.scss'; +@import './setting/_color.scss'; +@import './setting/_space.scss'; +@import './setting/_radius.scss'; +@import './setting/_text.scss'; +@import './setting/_styles.scss'; diff --git a/weihu/uni_modules/uni-scss/styles/setting/_border.scss b/weihu/uni_modules/uni-scss/styles/setting/_border.scss new file mode 100644 index 0000000..12a11c3 --- /dev/null +++ b/weihu/uni_modules/uni-scss/styles/setting/_border.scss @@ -0,0 +1,3 @@ +.uni-border { + border: 1px $uni-border-1 solid; +} \ No newline at end of file diff --git a/weihu/uni_modules/uni-scss/styles/setting/_color.scss b/weihu/uni_modules/uni-scss/styles/setting/_color.scss new file mode 100644 index 0000000..1ededd9 --- /dev/null +++ b/weihu/uni_modules/uni-scss/styles/setting/_color.scss @@ -0,0 +1,66 @@ + +// TODO 暂时不需要 class ,需要用户使用变量实现 ,如果使用类名其实并不推荐 +// @mixin get-styles($k,$c) { +// @if $k == size or $k == weight{ +// font-#{$k}:#{$c} +// }@else{ +// #{$k}:#{$c} +// } +// } +$uni-ui-color:( + // 主色 + primary: $uni-primary, + primary-disable: $uni-primary-disable, + primary-light: $uni-primary-light, + // 辅助色 + success: $uni-success, + success-disable: $uni-success-disable, + success-light: $uni-success-light, + warning: $uni-warning, + warning-disable: $uni-warning-disable, + warning-light: $uni-warning-light, + error: $uni-error, + error-disable: $uni-error-disable, + error-light: $uni-error-light, + info: $uni-info, + info-disable: $uni-info-disable, + info-light: $uni-info-light, + // 中性色 + main-color: $uni-main-color, + base-color: $uni-base-color, + secondary-color: $uni-secondary-color, + extra-color: $uni-extra-color, + // 背景色 + bg-color: $uni-bg-color, + // 边框颜色 + border-1: $uni-border-1, + border-2: $uni-border-2, + border-3: $uni-border-3, + border-4: $uni-border-4, + // 黑色 + black:$uni-black, + // 白色 + white:$uni-white, + // 透明 + transparent:$uni-transparent +) !default; +@each $key, $child in $uni-ui-color { + .uni-#{"" + $key} { + color: $child; + } + .uni-#{"" + $key}-bg { + background-color: $child; + } +} +.uni-shadow-sm { + box-shadow: $uni-shadow-sm; +} +.uni-shadow-base { + box-shadow: $uni-shadow-base; +} +.uni-shadow-lg { + box-shadow: $uni-shadow-lg; +} +.uni-mask { + background-color:$uni-mask; +} diff --git a/weihu/uni_modules/uni-scss/styles/setting/_radius.scss b/weihu/uni_modules/uni-scss/styles/setting/_radius.scss new file mode 100644 index 0000000..9a0428b --- /dev/null +++ b/weihu/uni_modules/uni-scss/styles/setting/_radius.scss @@ -0,0 +1,55 @@ +@mixin radius($r,$d:null ,$important: false){ + $radius-value:map-get($uni-radius, $r) if($important, !important, null); + // Key exists within the $uni-radius variable + @if (map-has-key($uni-radius, $r) and $d){ + @if $d == t { + border-top-left-radius:$radius-value; + border-top-right-radius:$radius-value; + }@else if $d == r { + border-top-right-radius:$radius-value; + border-bottom-right-radius:$radius-value; + }@else if $d == b { + border-bottom-left-radius:$radius-value; + border-bottom-right-radius:$radius-value; + }@else if $d == l { + border-top-left-radius:$radius-value; + border-bottom-left-radius:$radius-value; + }@else if $d == tl { + border-top-left-radius:$radius-value; + }@else if $d == tr { + border-top-right-radius:$radius-value; + }@else if $d == br { + border-bottom-right-radius:$radius-value; + }@else if $d == bl { + border-bottom-left-radius:$radius-value; + } + }@else{ + border-radius:$radius-value; + } +} + +@each $key, $child in $uni-radius { + @if($key){ + .uni-radius-#{"" + $key} { + @include radius($key) + } + }@else{ + .uni-radius { + @include radius($key) + } + } +} + +@each $direction in t, r, b, l,tl, tr, br, bl { + @each $key, $child in $uni-radius { + @if($key){ + .uni-radius-#{"" + $direction}-#{"" + $key} { + @include radius($key,$direction,false) + } + }@else{ + .uni-radius-#{$direction} { + @include radius($key,$direction,false) + } + } + } +} diff --git a/weihu/uni_modules/uni-scss/styles/setting/_space.scss b/weihu/uni_modules/uni-scss/styles/setting/_space.scss new file mode 100644 index 0000000..3c89528 --- /dev/null +++ b/weihu/uni_modules/uni-scss/styles/setting/_space.scss @@ -0,0 +1,56 @@ + +@mixin fn($space,$direction,$size,$n) { + @if $n { + #{$space}-#{$direction}: #{$size*$uni-space-root}px + } @else { + #{$space}-#{$direction}: #{-$size*$uni-space-root}px + } +} +@mixin get-styles($direction,$i,$space,$n){ + @if $direction == t { + @include fn($space, top,$i,$n); + } + @if $direction == r { + @include fn($space, right,$i,$n); + } + @if $direction == b { + @include fn($space, bottom,$i,$n); + } + @if $direction == l { + @include fn($space, left,$i,$n); + } + @if $direction == x { + @include fn($space, left,$i,$n); + @include fn($space, right,$i,$n); + } + @if $direction == y { + @include fn($space, top,$i,$n); + @include fn($space, bottom,$i,$n); + } + @if $direction == a { + @if $n { + #{$space}:#{$i*$uni-space-root}px; + } @else { + #{$space}:#{-$i*$uni-space-root}px; + } + } +} + +@each $orientation in m,p { + $space: margin; + @if $orientation == m { + $space: margin; + } @else { + $space: padding; + } + @for $i from 0 through 16 { + @each $direction in t, r, b, l, x, y, a { + .uni-#{$orientation}#{$direction}-#{$i} { + @include get-styles($direction,$i,$space,true); + } + .uni-#{$orientation}#{$direction}-n#{$i} { + @include get-styles($direction,$i,$space,false); + } + } + } +} \ No newline at end of file diff --git a/weihu/uni_modules/uni-scss/styles/setting/_styles.scss b/weihu/uni_modules/uni-scss/styles/setting/_styles.scss new file mode 100644 index 0000000..689afec --- /dev/null +++ b/weihu/uni_modules/uni-scss/styles/setting/_styles.scss @@ -0,0 +1,167 @@ +/* #ifndef APP-NVUE */ + +$-color-white:#fff; +$-color-black:#000; +@mixin base-style($color) { + color: #fff; + background-color: $color; + border-color: mix($-color-black, $color, 8%); + &:not([hover-class]):active { + background: mix($-color-black, $color, 10%); + border-color: mix($-color-black, $color, 20%); + color: $-color-white; + outline: none; + } +} +@mixin is-color($color) { + @include base-style($color); + &[loading] { + @include base-style($color); + &::before { + margin-right:5px; + } + } + &[disabled] { + &, + &[loading], + &:not([hover-class]):active { + color: $-color-white; + border-color: mix(darken($color,10%), $-color-white); + background-color: mix($color, $-color-white); + } + } + +} +@mixin base-plain-style($color) { + color:$color; + background-color: mix($-color-white, $color, 90%); + border-color: mix($-color-white, $color, 70%); + &:not([hover-class]):active { + background: mix($-color-white, $color, 80%); + color: $color; + outline: none; + border-color: mix($-color-white, $color, 50%); + } +} +@mixin is-plain($color){ + &[plain] { + @include base-plain-style($color); + &[loading] { + @include base-plain-style($color); + &::before { + margin-right:5px; + } + } + &[disabled] { + &, + &:active { + color: mix($-color-white, $color, 40%); + background-color: mix($-color-white, $color, 90%); + border-color: mix($-color-white, $color, 80%); + } + } + } +} + + +.uni-btn { + margin: 5px; + color: #393939; + border:1px solid #ccc; + font-size: 16px; + font-weight: 200; + background-color: #F9F9F9; + // TODO 暂时处理边框隐藏一边的问题 + overflow: visible; + &::after{ + border: none; + } + + &:not([type]),&[type=default] { + color: #999; + &[loading] { + background: none; + &::before { + margin-right:5px; + } + } + + + + &[disabled]{ + color: mix($-color-white, #999, 60%); + &, + &[loading], + &:active { + color: mix($-color-white, #999, 60%); + background-color: mix($-color-white,$-color-black , 98%); + border-color: mix($-color-white, #999, 85%); + } + } + + &[plain] { + color: #999; + background: none; + border-color: $uni-border-1; + &:not([hover-class]):active { + background: none; + color: mix($-color-white, $-color-black, 80%); + border-color: mix($-color-white, $-color-black, 90%); + outline: none; + } + &[disabled]{ + &, + &[loading], + &:active { + background: none; + color: mix($-color-white, #999, 60%); + border-color: mix($-color-white, #999, 85%); + } + } + } + } + + &:not([hover-class]):active { + color: mix($-color-white, $-color-black, 50%); + } + + &[size=mini] { + font-size: 16px; + font-weight: 200; + border-radius: 8px; + } + + + + &.uni-btn-small { + font-size: 14px; + } + &.uni-btn-mini { + font-size: 12px; + } + + &.uni-btn-radius { + border-radius: 999px; + } + &[type=primary] { + @include is-color($uni-primary); + @include is-plain($uni-primary) + } + &[type=success] { + @include is-color($uni-success); + @include is-plain($uni-success) + } + &[type=error] { + @include is-color($uni-error); + @include is-plain($uni-error) + } + &[type=warning] { + @include is-color($uni-warning); + @include is-plain($uni-warning) + } + &[type=info] { + @include is-color($uni-info); + @include is-plain($uni-info) + } +} +/* #endif */ diff --git a/weihu/uni_modules/uni-scss/styles/setting/_text.scss b/weihu/uni_modules/uni-scss/styles/setting/_text.scss new file mode 100644 index 0000000..a34d08f --- /dev/null +++ b/weihu/uni_modules/uni-scss/styles/setting/_text.scss @@ -0,0 +1,24 @@ +@mixin get-styles($k,$c) { + @if $k == size or $k == weight{ + font-#{$k}:#{$c} + }@else{ + #{$k}:#{$c} + } +} + +@each $key, $child in $uni-headings { + /* #ifndef APP-NVUE */ + .uni-#{$key} { + @each $k, $c in $child { + @include get-styles($k,$c) + } + } + /* #endif */ + /* #ifdef APP-NVUE */ + .container .uni-#{$key} { + @each $k, $c in $child { + @include get-styles($k,$c) + } + } + /* #endif */ +} diff --git a/weihu/uni_modules/uni-scss/styles/setting/_variables.scss b/weihu/uni_modules/uni-scss/styles/setting/_variables.scss new file mode 100644 index 0000000..557d3d7 --- /dev/null +++ b/weihu/uni_modules/uni-scss/styles/setting/_variables.scss @@ -0,0 +1,146 @@ +// @use "sass:math"; +@import '../tools/functions.scss'; +// 间距基础倍数 +$uni-space-root: 2 !default; +// 边框半径默认值 +$uni-radius-root:5px !default; +$uni-radius: () !default; +// 边框半径断点 +$uni-radius: map-deep-merge( + ( + 0: 0, + // TODO 当前版本暂时不支持 sm 属性 + // 'sm': math.div($uni-radius-root, 2), + null: $uni-radius-root, + 'lg': $uni-radius-root * 2, + 'xl': $uni-radius-root * 6, + 'pill': 9999px, + 'circle': 50% + ), + $uni-radius +); +// 字体家族 +$body-font-family: 'Roboto', sans-serif !default; +// 文本 +$heading-font-family: $body-font-family !default; +$uni-headings: () !default; +$letterSpacing: -0.01562em; +$uni-headings: map-deep-merge( + ( + 'h1': ( + size: 32px, + weight: 300, + line-height: 50px, + // letter-spacing:-0.01562em + ), + 'h2': ( + size: 28px, + weight: 300, + line-height: 40px, + // letter-spacing: -0.00833em + ), + 'h3': ( + size: 24px, + weight: 400, + line-height: 32px, + // letter-spacing: normal + ), + 'h4': ( + size: 20px, + weight: 400, + line-height: 30px, + // letter-spacing: 0.00735em + ), + 'h5': ( + size: 16px, + weight: 400, + line-height: 24px, + // letter-spacing: normal + ), + 'h6': ( + size: 14px, + weight: 500, + line-height: 18px, + // letter-spacing: 0.0125em + ), + 'subtitle': ( + size: 12px, + weight: 400, + line-height: 20px, + // letter-spacing: 0.00937em + ), + 'body': ( + font-size: 14px, + font-weight: 400, + line-height: 22px, + // letter-spacing: 0.03125em + ), + 'caption': ( + 'size': 12px, + 'weight': 400, + 'line-height': 20px, + // 'letter-spacing': 0.03333em, + // 'text-transform': false + ) + ), + $uni-headings +); + + + +// 主色 +$uni-primary: #2979ff !default; +$uni-primary-disable:lighten($uni-primary,20%) !default; +$uni-primary-light: lighten($uni-primary,25%) !default; + +// 辅助色 +// 除了主色外的场景色,需要在不同的场景中使用(例如危险色表示危险的操作)。 +$uni-success: #18bc37 !default; +$uni-success-disable:lighten($uni-success,20%) !default; +$uni-success-light: lighten($uni-success,25%) !default; + +$uni-warning: #f3a73f !default; +$uni-warning-disable:lighten($uni-warning,20%) !default; +$uni-warning-light: lighten($uni-warning,25%) !default; + +$uni-error: #e43d33 !default; +$uni-error-disable:lighten($uni-error,20%) !default; +$uni-error-light: lighten($uni-error,25%) !default; + +$uni-info: #8f939c !default; +$uni-info-disable:lighten($uni-info,20%) !default; +$uni-info-light: lighten($uni-info,25%) !default; + +// 中性色 +// 中性色用于文本、背景和边框颜色。通过运用不同的中性色,来表现层次结构。 +$uni-main-color: #3a3a3a !default; // 主要文字 +$uni-base-color: #6a6a6a !default; // 常规文字 +$uni-secondary-color: #909399 !default; // 次要文字 +$uni-extra-color: #c7c7c7 !default; // 辅助说明 + +// 边框颜色 +$uni-border-1: #F0F0F0 !default; +$uni-border-2: #EDEDED !default; +$uni-border-3: #DCDCDC !default; +$uni-border-4: #B9B9B9 !default; + +// 常规色 +$uni-black: #000000 !default; +$uni-white: #ffffff !default; +$uni-transparent: rgba($color: #000000, $alpha: 0) !default; + +// 背景色 +$uni-bg-color: #f7f7f7 !default; + +/* 水平间距 */ +$uni-spacing-sm: 8px !default; +$uni-spacing-base: 15px !default; +$uni-spacing-lg: 30px !default; + +// 阴影 +$uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5) !default; +$uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2) !default; +$uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5) !default; + +// 蒙版 +$uni-mask: rgba($color: #000000, $alpha: 0.4) !default; diff --git a/weihu/uni_modules/uni-scss/styles/tools/functions.scss b/weihu/uni_modules/uni-scss/styles/tools/functions.scss new file mode 100644 index 0000000..ac6f63e --- /dev/null +++ b/weihu/uni_modules/uni-scss/styles/tools/functions.scss @@ -0,0 +1,19 @@ +// 合并 map +@function map-deep-merge($parent-map, $child-map){ + $result: $parent-map; + @each $key, $child in $child-map { + $parent-has-key: map-has-key($result, $key); + $parent-value: map-get($result, $key); + $parent-type: type-of($parent-value); + $child-type: type-of($child); + $parent-is-map: $parent-type == map; + $child-is-map: $child-type == map; + + @if (not $parent-has-key) or ($parent-type != $child-type) or (not ($parent-is-map and $child-is-map)){ + $result: map-merge($result, ( $key: $child )); + }@else { + $result: map-merge($result, ( $key: map-deep-merge($parent-value, $child) )); + } + } + @return $result; +}; diff --git a/weihu/uni_modules/uni-scss/theme.scss b/weihu/uni_modules/uni-scss/theme.scss new file mode 100644 index 0000000..80ee62f --- /dev/null +++ b/weihu/uni_modules/uni-scss/theme.scss @@ -0,0 +1,31 @@ +// 间距基础倍数 +$uni-space-root: 2; +// 边框半径默认值 +$uni-radius-root:5px; +// 主色 +$uni-primary: #2979ff; +// 辅助色 +$uni-success: #4cd964; +// 警告色 +$uni-warning: #f0ad4e; +// 错误色 +$uni-error: #dd524d; +// 描述色 +$uni-info: #909399; +// 中性色 +$uni-main-color: #303133; +$uni-base-color: #606266; +$uni-secondary-color: #909399; +$uni-extra-color: #C0C4CC; +// 背景色 +$uni-bg-color: #f5f5f5; +// 边框颜色 +$uni-border-1: #DCDFE6; +$uni-border-2: #E4E7ED; +$uni-border-3: #EBEEF5; +$uni-border-4: #F2F6FC; + +// 常规色 +$uni-black: #000000; +$uni-white: #ffffff; +$uni-transparent: rgba($color: #000000, $alpha: 0); diff --git a/weihu/uni_modules/uni-scss/variables.scss b/weihu/uni_modules/uni-scss/variables.scss new file mode 100644 index 0000000..1c062d4 --- /dev/null +++ b/weihu/uni_modules/uni-scss/variables.scss @@ -0,0 +1,62 @@ +@import './styles/setting/_variables.scss'; +// 间距基础倍数 +$uni-space-root: 2; +// 边框半径默认值 +$uni-radius-root:5px; + +// 主色 +$uni-primary: #2979ff; +$uni-primary-disable:mix(#fff,$uni-primary,50%); +$uni-primary-light: mix(#fff,$uni-primary,80%); + +// 辅助色 +// 除了主色外的场景色,需要在不同的场景中使用(例如危险色表示危险的操作)。 +$uni-success: #18bc37; +$uni-success-disable:mix(#fff,$uni-success,50%); +$uni-success-light: mix(#fff,$uni-success,80%); + +$uni-warning: #f3a73f; +$uni-warning-disable:mix(#fff,$uni-warning,50%); +$uni-warning-light: mix(#fff,$uni-warning,80%); + +$uni-error: #e43d33; +$uni-error-disable:mix(#fff,$uni-error,50%); +$uni-error-light: mix(#fff,$uni-error,80%); + +$uni-info: #8f939c; +$uni-info-disable:mix(#fff,$uni-info,50%); +$uni-info-light: mix(#fff,$uni-info,80%); + +// 中性色 +// 中性色用于文本、背景和边框颜色。通过运用不同的中性色,来表现层次结构。 +$uni-main-color: #3a3a3a; // 主要文字 +$uni-base-color: #6a6a6a; // 常规文字 +$uni-secondary-color: #909399; // 次要文字 +$uni-extra-color: #c7c7c7; // 辅助说明 + +// 边框颜色 +$uni-border-1: #F0F0F0; +$uni-border-2: #EDEDED; +$uni-border-3: #DCDCDC; +$uni-border-4: #B9B9B9; + +// 常规色 +$uni-black: #000000; +$uni-white: #ffffff; +$uni-transparent: rgba($color: #000000, $alpha: 0); + +// 背景色 +$uni-bg-color: #f7f7f7; + +/* 水平间距 */ +$uni-spacing-sm: 8px; +$uni-spacing-base: 15px; +$uni-spacing-lg: 30px; + +// 阴影 +$uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5); +$uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2); +$uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5); + +// 蒙版 +$uni-mask: rgba($color: #000000, $alpha: 0.4); diff --git a/weihu/uni_modules/uni-search-bar/changelog.md b/weihu/uni_modules/uni-search-bar/changelog.md new file mode 100644 index 0000000..2c6571c --- /dev/null +++ b/weihu/uni_modules/uni-search-bar/changelog.md @@ -0,0 +1,47 @@ +## 1.3.0(2024-04-22) +- 修复 textColor默认值导致的文字不显示的bug +## 1.2.9(2024-04-17) +- 修复 textColor不生效的bug +## 1.2.8(2024-02-22) +- 修复 清空按钮emit值错误的bug +## 1.2.7(2024-02-21) +- 新增 设置输入框字体颜色:textColor +## 1.2.6(2024-02-20) +- 修复 uni-search-bar在支付宝小程序下样式兼容问题 +## 1.2.5(2024-01-31) +- 修复 uni-search-bar居中问题,现在默认居左,并修复样式偏移问题 +## 1.2.4(2023-05-09) +- 修复 i18n 国际化不正确的 Bug +## 1.2.3(2022-05-24) +- 新增 readonly 属性,组件只读 +## 1.2.2(2022-05-06) +- 修复 vue3 input 事件不生效的bug +## 1.2.1(2022-05-06) +- 修复 多余代码导致的bug +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-search-bar](https://uniapp.dcloud.io/component/uniui/uni-search-bar) +## 1.1.2(2021-08-30) +- 修复 value 属性与 modelValue 属性不兼容的Bug +## 1.1.1(2021-08-24) +- 新增 支持国际化 +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.9(2021-05-12) +- 新增 项目示例地址 +## 1.0.8(2021-04-21) +- 优化 添加依赖 uni-icons, 导入后自动下载依赖 +## 1.0.7(2021-04-15) +- uni-ui 新增 uni-search-bar 的 focus 事件 + +## 1.0.6(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 + +## 1.0.5(2021-02-05) +- 调整为uni_modules目录规范 +- 新增 支持双向绑定 +- 更改 input 事件的返回值,e={value:Number} --> e=value +- 新增 支持图标插槽 +- 新增 支持 clear、blur 事件 +- 新增 支持 focus 属性 +- 去掉组件背景色 diff --git a/weihu/uni_modules/uni-search-bar/components/uni-search-bar/i18n/en.json b/weihu/uni_modules/uni-search-bar/components/uni-search-bar/i18n/en.json new file mode 100644 index 0000000..dd083a5 --- /dev/null +++ b/weihu/uni_modules/uni-search-bar/components/uni-search-bar/i18n/en.json @@ -0,0 +1,4 @@ +{ + "uni-search-bar.cancel": "cancel", + "uni-search-bar.placeholder": "Search enter content" +} \ No newline at end of file diff --git a/weihu/uni_modules/uni-search-bar/components/uni-search-bar/i18n/index.js b/weihu/uni_modules/uni-search-bar/components/uni-search-bar/i18n/index.js new file mode 100644 index 0000000..de7509c --- /dev/null +++ b/weihu/uni_modules/uni-search-bar/components/uni-search-bar/i18n/index.js @@ -0,0 +1,8 @@ +import en from './en.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/weihu/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hans.json b/weihu/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hans.json new file mode 100644 index 0000000..d2a1ced --- /dev/null +++ b/weihu/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hans.json @@ -0,0 +1,4 @@ +{ + "uni-search-bar.cancel": "取消", + "uni-search-bar.placeholder": "请输入搜索内容" +} diff --git a/weihu/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hant.json b/weihu/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hant.json new file mode 100644 index 0000000..f1c96bc --- /dev/null +++ b/weihu/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hant.json @@ -0,0 +1,4 @@ +{ + "uni-search-bar.cancel": "取消", + "uni-search-bar.placeholder": "請輸入搜索內容" +} diff --git a/weihu/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.vue b/weihu/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.vue new file mode 100644 index 0000000..6b9b9c1 --- /dev/null +++ b/weihu/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.vue @@ -0,0 +1,309 @@ + + + + + diff --git a/weihu/uni_modules/uni-search-bar/package.json b/weihu/uni_modules/uni-search-bar/package.json new file mode 100644 index 0000000..1730d9d --- /dev/null +++ b/weihu/uni_modules/uni-search-bar/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-search-bar", + "displayName": "uni-search-bar 搜索栏", + "version": "1.3.0", + "description": "搜索栏组件,通常用于搜索商品、文章等", + "keywords": [ + "uni-ui", + "uniui", + "搜索框", + "搜索栏" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/weihu/uni_modules/uni-search-bar/readme.md b/weihu/uni_modules/uni-search-bar/readme.md new file mode 100644 index 0000000..253092f --- /dev/null +++ b/weihu/uni_modules/uni-search-bar/readme.md @@ -0,0 +1,14 @@ + + +## SearchBar 搜索栏 + +> **组件名:uni-search-bar** +> 代码块: `uSearchBar` + + +搜索栏组件 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-search-bar) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/weihu/uni_modules/uni-section/changelog.md b/weihu/uni_modules/uni-section/changelog.md new file mode 100644 index 0000000..738f2b3 --- /dev/null +++ b/weihu/uni_modules/uni-section/changelog.md @@ -0,0 +1,2 @@ +## 0.0.1(2022-07-22) +- 初始化 diff --git a/weihu/uni_modules/uni-section/components/uni-section/uni-section.vue b/weihu/uni_modules/uni-section/components/uni-section/uni-section.vue new file mode 100644 index 0000000..9a52e0b --- /dev/null +++ b/weihu/uni_modules/uni-section/components/uni-section/uni-section.vue @@ -0,0 +1,167 @@ + + + + diff --git a/weihu/uni_modules/uni-section/package.json b/weihu/uni_modules/uni-section/package.json new file mode 100644 index 0000000..0a31fb5 --- /dev/null +++ b/weihu/uni_modules/uni-section/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-section", + "displayName": "uni-section 标题栏", + "version": "0.0.1", + "description": "标题栏组件", + "keywords": [ + "uni-ui", + "uniui", + "标题栏" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [ + "uni-scss" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/weihu/uni_modules/uni-section/readme.md b/weihu/uni_modules/uni-section/readme.md new file mode 100644 index 0000000..d47faab --- /dev/null +++ b/weihu/uni_modules/uni-section/readme.md @@ -0,0 +1,8 @@ +## Section 标题栏 +> **组件名:uni-section** +> 代码块: `uSection` + +uni-section 组件主要用于文章、列表详情等标题展示 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-section) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 diff --git a/weihu/uni_modules/uni-segmented-control/changelog.md b/weihu/uni_modules/uni-segmented-control/changelog.md new file mode 100644 index 0000000..02d0c8a --- /dev/null +++ b/weihu/uni_modules/uni-segmented-control/changelog.md @@ -0,0 +1,15 @@ +## 1.2.3(2024-04-02) +- 修复 修复在微信小程序下inactiveColor失效bug +## 1.2.2(2024-03-28) +- 修复 在vue2下:style动态绑定导致编译失败的bug +## 1.2.1(2024-03-20) +- 新增 inActiveColor属性,可供配置未激活时的颜色 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-segmented-control](https://uniapp.dcloud.io/component/uniui/uni-segmented-control) +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.5(2021-05-12) +- 新增 项目示例地址 +## 1.0.4(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/weihu/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.vue b/weihu/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.vue new file mode 100644 index 0000000..a69366a --- /dev/null +++ b/weihu/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.vue @@ -0,0 +1,146 @@ + + + + + diff --git a/weihu/uni_modules/uni-segmented-control/package.json b/weihu/uni_modules/uni-segmented-control/package.json new file mode 100644 index 0000000..49f9eff --- /dev/null +++ b/weihu/uni_modules/uni-segmented-control/package.json @@ -0,0 +1,85 @@ +{ + "id": "uni-segmented-control", + "displayName": "uni-segmented-control 分段器", + "version": "1.2.3", + "description": "分段器由至少 2 个分段控件组成,用作不同视图的显示", + "keywords": [ + "uni-ui", + "uniui", + "分段器", + "segement", + "顶部选择" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/weihu/uni_modules/uni-segmented-control/readme.md b/weihu/uni_modules/uni-segmented-control/readme.md new file mode 100644 index 0000000..3527b03 --- /dev/null +++ b/weihu/uni_modules/uni-segmented-control/readme.md @@ -0,0 +1,13 @@ + + +## SegmentedControl 分段器 +> **组件名:uni-segmented-control** +> 代码块: `uSegmentedControl` + + +用作不同视图的显示 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-segmented-control) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/weihu/uni_modules/uni-steps/changelog.md b/weihu/uni_modules/uni-steps/changelog.md new file mode 100644 index 0000000..04367d8 --- /dev/null +++ b/weihu/uni_modules/uni-steps/changelog.md @@ -0,0 +1,18 @@ +## 1.1.2(2024-03-28) +- 修复 uni-steps为竖排列时,文本长度过长引起点错乱的bug +## 1.1.1(2021-11-22) +- 修复 vue3中某些scss变量无法找到的问题 +## 1.1.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-steps](https://uniapp.dcloud.io/component/uniui/uni-steps) +## 1.0.8(2021-05-12) +- 新增 项目示例地址 +## 1.0.7(2021-05-06) +- 修复 uni-steps 横向布局时,多行文字高度不合理的 bug +## 1.0.6(2021-04-21) +- 优化 添加依赖 uni-icons, 导入后自动下载依赖 +## 1.0.5(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 + +## 1.0.4(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/weihu/uni_modules/uni-steps/components/uni-steps/uni-steps.vue b/weihu/uni_modules/uni-steps/components/uni-steps/uni-steps.vue new file mode 100644 index 0000000..81017fc --- /dev/null +++ b/weihu/uni_modules/uni-steps/components/uni-steps/uni-steps.vue @@ -0,0 +1,280 @@ + + + + + diff --git a/weihu/uni_modules/uni-steps/package.json b/weihu/uni_modules/uni-steps/package.json new file mode 100644 index 0000000..4145ce9 --- /dev/null +++ b/weihu/uni_modules/uni-steps/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-steps", + "displayName": "uni-steps 步骤条", + "version": "1.1.2", + "description": "步骤条组件,提供横向和纵向两种布局格式。", + "keywords": [ + "uni-ui", + "uniui", + "步骤条", + "时间轴" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/weihu/uni_modules/uni-steps/readme.md b/weihu/uni_modules/uni-steps/readme.md new file mode 100644 index 0000000..da7a4bf --- /dev/null +++ b/weihu/uni_modules/uni-steps/readme.md @@ -0,0 +1,13 @@ + + +## Steps 步骤条 +> **组件名:uni-steps** +> 代码块: `uSteps` + + +步骤条,常用于显示进度 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-steps) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/weihu/uni_modules/uni-swipe-action/changelog.md b/weihu/uni_modules/uni-swipe-action/changelog.md new file mode 100644 index 0000000..e28472f --- /dev/null +++ b/weihu/uni_modules/uni-swipe-action/changelog.md @@ -0,0 +1,47 @@ +## 1.3.10(2024-01-17) +- 修复 点击按钮时,按钮会被点击穿透导致自动收缩的 bug(兼容阿里/百度/抖音小程序) +## 1.3.9(2024-01-17) +- 修复 点击按钮时,按钮会被点击穿透导致自动收缩的 bug +## 1.3.8(2023-04-13) +- 修复`uni-swipe-action`和`uni-swipe-action-item`不同时使用导致 closeOther 方法报错的 bug +## 1.3.7(2022-06-06) +- 修复 vue3 下使用组件不能正常运行的Bug +## 1.3.6(2022-05-31) +- 修复 h5端点击click触发两次的Bug +## 1.3.5(2022-05-23) +- 修复 isPC 找不到的Bug +## 1.3.4(2022-05-19) +- 修复 在 nvue 下 disabled 失效的bug +## 1.3.3(2022-03-31) +- 修复 按钮字体大小不能设置的bug +## 1.3.2(2022-03-16) +- 修复 h5和app端下报el错误的bug +## 1.3.1(2022-03-07) +- 修复 HBuilderX 1.4.X 版本中,h5和app端下报错的bug +## 1.3.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-swipe-action](https://uniapp.dcloud.io/component/uniui/uni-swipe-action) +## 1.2.4(2021-08-20) +- 优化 close-all 方法 +## 1.2.3(2021-08-20) +- 新增 close-all 方法,关闭所有已打开的组件 +## 1.2.2(2021-08-17) +- 新增 resize() 方法,在非微信小程序、h5、app-vue端出现不能滑动的问题的时候,重置组件 +- 修复 app 端偶尔出现类似 Page[x][-x,xx;-x,xx,x,x-x] 的问题 +- 优化 微信小程序、h5、app-vue 滑动逻辑,避免出现动态新增组件后不能滑动的问题 +## 1.2.1(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +- 修复 跨页面修改组件数据 ,导致不能滑动的问题 +## 1.1.10(2021-06-17) +- 修复 按钮点击执行两次的bug +## 1.1.9(2021-05-12) +- 新增 项目示例地址 +## 1.1.8(2021-03-26) +- 修复 微信小程序 nv_navigator is not defined 报错的bug +## 1.1.7(2021-02-05) +- 调整为uni_modules目录规范 +- 新增 左侧滑动 +- 新增 插槽使用方式 +- 新增 threshold 属性,可以控制滑动缺省值 +- 优化 长列表滚动性能 +- 修复 滚动页面时触发组件滑动的Bug diff --git a/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/bindingx.js b/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/bindingx.js new file mode 100644 index 0000000..707e432 --- /dev/null +++ b/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/bindingx.js @@ -0,0 +1,302 @@ +let bindIngXMixins = {} + +// #ifdef APP-NVUE +const BindingX = uni.requireNativePlugin('bindingx'); +const dom = uni.requireNativePlugin('dom'); +const animation = uni.requireNativePlugin('animation'); + +bindIngXMixins = { + data() { + return {} + }, + + watch: { + show(newVal) { + if (this.autoClose) return + if (this.stop) return + this.stop = true + if (newVal) { + this.open(newVal) + } else { + this.close() + } + }, + leftOptions() { + this.getSelectorQuery() + this.init() + }, + rightOptions(newVal) { + this.init() + } + }, + created() { + this.swipeaction = this.getSwipeAction() + if (this.swipeaction && Array.isArray(this.swipeaction.children)) { + this.swipeaction.children.push(this) + } + }, + mounted() { + this.box = this.getEl(this.$refs['selector-box--hock']) + this.selector = this.getEl(this.$refs['selector-content--hock']); + this.leftButton = this.getEl(this.$refs['selector-left-button--hock']); + this.rightButton = this.getEl(this.$refs['selector-right-button--hock']); + this.init() + }, + // beforeDestroy() { + // this.swipeaction.children.forEach((item, index) => { + // if (item === this) { + // this.swipeaction.children.splice(index, 1) + // } + // }) + // }, + methods: { + init() { + this.$nextTick(() => { + this.x = 0 + this.button = { + show: false + } + setTimeout(() => { + this.getSelectorQuery() + }, 200) + }) + }, + onClick(index, item, position) { + this.$emit('click', { + content: item, + index, + position + }) + }, + touchstart(e) { + // fix by mehaotian 禁止滑动 + if (this.disabled) return + // 每次只触发一次,避免多次监听造成闪烁 + if (this.stop) return + this.stop = true + if (this.autoClose && this.swipeaction) { + this.swipeaction.closeOther(this) + } + + const leftWidth = this.button.left.width + const rightWidth = this.button.right.width + let expression = this.range(this.x, -rightWidth, leftWidth) + let leftExpression = this.range(this.x - leftWidth, -leftWidth, 0) + let rightExpression = this.range(this.x + rightWidth, 0, rightWidth) + + this.eventpan = BindingX.bind({ + anchor: this.box, + eventType: 'pan', + props: [{ + element: this.selector, + property: 'transform.translateX', + expression + }, { + element: this.leftButton, + property: 'transform.translateX', + expression: leftExpression + }, { + element: this.rightButton, + property: 'transform.translateX', + expression: rightExpression + }, ] + }, (e) => { + // nope + if (e.state === 'end') { + this.x = e.deltaX + this.x; + this.isclick = true + this.bindTiming(e.deltaX) + } + }); + }, + touchend(e) { + if (this.isopen !== 'none' && !this.isclick) { + this.open('none') + } + }, + bindTiming(x) { + const left = this.x + const leftWidth = this.button.left.width + const rightWidth = this.button.right.width + const threshold = this.threshold + if (!this.isopen || this.isopen === 'none') { + if (left > threshold) { + this.open('left') + } else if (left < -threshold) { + this.open('right') + } else { + this.open('none') + } + } else { + if ((x > -leftWidth && x < 0) || x > rightWidth) { + if ((x > -threshold && x < 0) || (x - rightWidth > threshold)) { + this.open('left') + } else { + this.open('none') + } + } else { + if ((x < threshold && x > 0) || (x + leftWidth < -threshold)) { + this.open('right') + } else { + this.open('none') + } + } + } + }, + + /** + * 移动范围 + * @param {Object} num + * @param {Object} mix + * @param {Object} max + */ + range(num, mix, max) { + return `min(max(x+${num}, ${mix}), ${max})` + }, + + /** + * 开启swipe + */ + open(type) { + this.animation(type) + }, + + /** + * 关闭swipe + */ + close() { + this.animation('none') + }, + + /** + * 开启关闭动画 + * @param {Object} type + */ + animation(type) { + const time = 300 + const leftWidth = this.button.left.width + const rightWidth = this.button.right.width + if (this.eventpan && this.eventpan.token) { + BindingX.unbind({ + token: this.eventpan.token, + eventType: 'pan' + }) + } + + switch (type) { + case 'left': + Promise.all([ + this.move(this.selector, leftWidth), + this.move(this.leftButton, 0), + this.move(this.rightButton, rightWidth * 2) + ]).then(() => { + this.setEmit(leftWidth, type) + }) + break + case 'right': + Promise.all([ + this.move(this.selector, -rightWidth), + this.move(this.leftButton, -leftWidth * 2), + this.move(this.rightButton, 0) + ]).then(() => { + this.setEmit(-rightWidth, type) + }) + break + default: + Promise.all([ + this.move(this.selector, 0), + this.move(this.leftButton, -leftWidth), + this.move(this.rightButton, rightWidth) + ]).then(() => { + this.setEmit(0, type) + }) + + } + }, + setEmit(x, type) { + const leftWidth = this.button.left.width + const rightWidth = this.button.right.width + this.isopen = this.isopen || 'none' + this.stop = false + this.isclick = false + // 只有状态不一致才会返回结果 + if (this.isopen !== type && this.x !== x) { + if (type === 'left' && leftWidth > 0) { + this.$emit('change', 'left') + } + if (type === 'right' && rightWidth > 0) { + this.$emit('change', 'right') + } + if (type === 'none') { + this.$emit('change', 'none') + } + } + this.x = x + this.isopen = type + }, + move(ref, value) { + return new Promise((resolve, reject) => { + animation.transition(ref, { + styles: { + transform: `translateX(${value})`, + }, + duration: 150, //ms + timingFunction: 'linear', + needLayout: false, + delay: 0 //ms + }, function(res) { + resolve(res) + }) + }) + + }, + + /** + * 获取ref + * @param {Object} el + */ + getEl(el) { + return el.ref + }, + /** + * 获取节点信息 + */ + getSelectorQuery() { + Promise.all([ + this.getDom('left'), + this.getDom('right'), + ]).then((data) => { + let show = 'none' + if (this.autoClose) { + show = 'none' + } else { + show = this.show + } + + if (show === 'none') { + // this.close() + } else { + this.open(show) + } + + }) + + }, + getDom(str) { + return new Promise((resolve, reject) => { + dom.getComponentRect(this.$refs[`selector-${str}-button--hock`], (data) => { + if (data) { + this.button[str] = data.size + resolve(data) + } else { + reject() + } + }) + }) + } + } +} + +// #endif + +export default bindIngXMixins diff --git a/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/isPC.js b/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/isPC.js new file mode 100644 index 0000000..917cb48 --- /dev/null +++ b/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/isPC.js @@ -0,0 +1,12 @@ +export function isPC() { + var userAgentInfo = navigator.userAgent; + var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"]; + var flag = true; + for (let v = 0; v < Agents.length - 1; v++) { + if (userAgentInfo.indexOf(Agents[v]) > 0) { + flag = false; + break; + } + } + return flag; +} diff --git a/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpalipay.js b/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpalipay.js new file mode 100644 index 0000000..35c796b --- /dev/null +++ b/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpalipay.js @@ -0,0 +1,195 @@ +export default { + data() { + return { + x: 0, + transition: false, + width: 0, + viewWidth: 0, + swipeShow: 0 + } + }, + watch: { + show(newVal) { + if (this.autoClose) return + if (newVal && newVal !== 'none') { + this.transition = true + this.open(newVal) + } else { + this.close() + } + } + }, + created() { + this.swipeaction = this.getSwipeAction() + if (this.swipeaction && Array.isArray(this.swipeaction.children)) { + this.swipeaction.children.push(this) + } + }, + mounted() { + this.isopen = false + setTimeout(() => { + this.getQuerySelect() + }, 50) + }, + methods: { + appTouchStart(e) { + const { + clientX + } = e.changedTouches[0] + this.clientX = clientX + this.timestamp = new Date().getTime() + }, + appTouchEnd(e, index, item, position) { + const { + clientX + } = e.changedTouches[0] + // fixed by xxxx 模拟点击事件,解决 ios 13 点击区域错位的问题 + let diff = Math.abs(this.clientX - clientX) + let time = (new Date().getTime()) - this.timestamp + if (diff < 40 && time < 300) { + this.$emit('click', { + content: item, + index, + position + }) + } + }, + /** + * 移动触发 + * @param {Object} e + */ + onChange(e) { + this.moveX = e.detail.x + this.isclose = false + }, + touchstart(e) { + this.transition = false + this.isclose = true + if (this.autoClose && this.swipeaction) { + this.swipeaction.closeOther(this) + } + }, + touchmove(e) {}, + touchend(e) { + // 0的位置什么都不执行 + if (this.isclose && this.isopen === 'none') return + if (this.isclose && this.isopen !== 'none') { + this.transition = true + this.close() + } else { + this.move(this.moveX + this.leftWidth) + } + }, + + /** + * 移动 + * @param {Object} moveX + */ + move(moveX) { + // 打开关闭的处理逻辑不太一样 + this.transition = true + // 未打开状态 + if (!this.isopen || this.isopen === 'none') { + if (moveX > this.threshold) { + this.open('left') + } else if (moveX < -this.threshold) { + this.open('right') + } else { + this.close() + } + } else { + if (moveX < 0 && moveX < this.rightWidth) { + const rightX = this.rightWidth + moveX + if (rightX < this.threshold) { + this.open('right') + } else { + this.close() + } + } else if (moveX > 0 && moveX < this.leftWidth) { + const leftX = this.leftWidth - moveX + if (leftX < this.threshold) { + this.open('left') + } else { + this.close() + } + } + + } + + }, + + /** + * 打开 + */ + open(type) { + this.x = this.moveX + this.animation(type) + }, + + /** + * 关闭 + */ + close() { + this.x = this.moveX + // TODO 解决 x 值不更新的问题,所以会多触发一次 nextTick ,待优化 + this.$nextTick(() => { + this.x = -this.leftWidth + if (this.isopen !== 'none') { + this.$emit('change', 'none') + } + this.isopen = 'none' + }) + }, + + /** + * 执行结束动画 + * @param {Object} type + */ + animation(type) { + this.$nextTick(() => { + if (type === 'left') { + this.x = 0 + } else { + this.x = -this.rightWidth - this.leftWidth + } + + if (this.isopen !== type) { + this.$emit('change', type) + } + this.isopen = type + }) + + }, + getSlide(x) {}, + getQuerySelect() { + const query = uni.createSelectorQuery().in(this); + query.selectAll('.movable-view--hock').boundingClientRect(data => { + this.leftWidth = data[1].width + this.rightWidth = data[2].width + this.width = data[0].width + this.viewWidth = this.width + this.rightWidth + this.leftWidth + if (this.leftWidth === 0) { + // TODO 疑似bug ,初始化的时候如果x 是0,会导致移动位置错误,所以让元素超出一点 + this.x = -0.1 + } else { + this.x = -this.leftWidth + } + this.moveX = this.x + this.$nextTick(() => { + this.swipeShow = 1 + }) + + if (!this.buttonWidth) { + this.disabledView = true + } + + if (this.autoClose) return + if (this.show !== 'none') { + this.transition = true + this.open(this.shows) + } + }).exec(); + + } + } +} diff --git a/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpother.js b/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpother.js new file mode 100644 index 0000000..d389bce --- /dev/null +++ b/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpother.js @@ -0,0 +1,260 @@ +let otherMixins = {} + +// #ifndef APP-PLUS|| MP-WEIXIN || H5 +const MIN_DISTANCE = 10; +otherMixins = { + data() { + // TODO 随机生生元素ID,解决百度小程序获取同一个元素位置信息的bug + const elClass = `Uni_${Math.ceil(Math.random() * 10e5).toString(36)}` + return { + uniShow: false, + left: 0, + buttonShow: 'none', + ani: false, + moveLeft: '', + elClass + } + }, + watch: { + show(newVal) { + if (this.autoClose) return + this.openState(newVal) + }, + left() { + this.moveLeft = `translateX(${this.left}px)` + }, + buttonShow(newVal) { + if (this.autoClose) return + this.openState(newVal) + }, + leftOptions() { + this.init() + }, + rightOptions() { + this.init() + } + }, + mounted() { + this.swipeaction = this.getSwipeAction() + if (this.swipeaction && Array.isArray(this.swipeaction.children)) { + this.swipeaction.children.push(this) + } + this.init() + }, + methods: { + init() { + clearTimeout(this.timer) + this.timer = setTimeout(() => { + this.getSelectorQuery() + }, 100) + // 移动距离 + this.left = 0 + this.x = 0 + }, + + closeSwipe(e) { + if (this.autoClose && this.swipeaction) { + this.swipeaction.closeOther(this) + } + }, + appTouchStart(e) { + const { + clientX + } = e.changedTouches[0] + this.clientX = clientX + this.timestamp = new Date().getTime() + }, + appTouchEnd(e, index, item, position) { + const { + clientX + } = e.changedTouches[0] + // fixed by xxxx 模拟点击事件,解决 ios 13 点击区域错位的问题 + let diff = Math.abs(this.clientX - clientX) + let time = (new Date().getTime()) - this.timestamp + if (diff < 40 && time < 300) { + this.$emit('click', { + content: item, + index, + position + }) + } + }, + touchstart(e) { + if (this.disabled) return + this.ani = false + this.x = this.left || 0 + this.stopTouchStart(e) + this.autoClose && this.closeSwipe() + }, + touchmove(e) { + if (this.disabled) return + // 是否可以滑动页面 + this.stopTouchMove(e); + if (this.direction !== 'horizontal') { + return; + } + this.move(this.x + this.deltaX) + return false + }, + touchend() { + if (this.disabled) return + this.moveDirection(this.left) + }, + /** + * 设置移动距离 + * @param {Object} value + */ + move(value) { + value = value || 0 + const leftWidth = this.leftWidth + const rightWidth = this.rightWidth + // 获取可滑动范围 + this.left = this.range(value, -rightWidth, leftWidth); + }, + + /** + * 获取范围 + * @param {Object} num + * @param {Object} min + * @param {Object} max + */ + range(num, min, max) { + return Math.min(Math.max(num, min), max); + }, + /** + * 移动方向判断 + * @param {Object} left + * @param {Object} value + */ + moveDirection(left) { + const threshold = this.threshold + const isopen = this.isopen || 'none' + const leftWidth = this.leftWidth + const rightWidth = this.rightWidth + if (this.deltaX === 0) { + this.openState('none') + return + } + if ((isopen === 'none' && rightWidth > 0 && -left > threshold) || (isopen !== 'none' && rightWidth > + 0 && rightWidth + + left < threshold)) { + // right + this.openState('right') + } else if ((isopen === 'none' && leftWidth > 0 && left > threshold) || (isopen !== 'none' && leftWidth > + 0 && + leftWidth - left < threshold)) { + // left + this.openState('left') + } else { + // default + this.openState('none') + } + }, + + /** + * 开启状态 + * @param {Boolean} type + */ + openState(type) { + const leftWidth = this.leftWidth + const rightWidth = this.rightWidth + let left = '' + this.isopen = this.isopen ? this.isopen : 'none' + switch (type) { + case "left": + left = leftWidth + break + case "right": + left = -rightWidth + break + default: + left = 0 + } + + + if (this.isopen !== type) { + this.throttle = true + this.$emit('change', type) + } + + this.isopen = type + // 添加动画类 + this.ani = true + this.$nextTick(() => { + this.move(left) + }) + // 设置最终移动位置,理论上只要进入到这个函数,肯定是要打开的 + }, + close() { + this.openState('none') + }, + getDirection(x, y) { + if (x > y && x > MIN_DISTANCE) { + return 'horizontal'; + } + if (y > x && y > MIN_DISTANCE) { + return 'vertical'; + } + return ''; + }, + + /** + * 重置滑动状态 + * @param {Object} event + */ + resetTouchStatus() { + this.direction = ''; + this.deltaX = 0; + this.deltaY = 0; + this.offsetX = 0; + this.offsetY = 0; + }, + + /** + * 设置滑动开始位置 + * @param {Object} event + */ + stopTouchStart(event) { + this.resetTouchStatus(); + const touch = event.touches[0]; + this.startX = touch.clientX; + this.startY = touch.clientY; + }, + + /** + * 滑动中,是否禁止打开 + * @param {Object} event + */ + stopTouchMove(event) { + const touch = event.touches[0]; + this.deltaX = touch.clientX - this.startX; + this.deltaY = touch.clientY - this.startY; + this.offsetX = Math.abs(this.deltaX); + this.offsetY = Math.abs(this.deltaY); + this.direction = this.direction || this.getDirection(this.offsetX, this.offsetY); + }, + + getSelectorQuery() { + const views = uni.createSelectorQuery().in(this) + views + .selectAll('.' + this.elClass) + .boundingClientRect(data => { + if (data.length === 0) return + let show = 'none' + if (this.autoClose) { + show = 'none' + } else { + show = this.show + } + this.leftWidth = data[0].width || 0 + this.rightWidth = data[1].width || 0 + this.buttonShow = show + }) + .exec() + } + } +} + +// #endif + +export default otherMixins diff --git a/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpwxs.js b/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpwxs.js new file mode 100644 index 0000000..08de1c9 --- /dev/null +++ b/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpwxs.js @@ -0,0 +1,84 @@ +let mpMixins = {} +let is_pc = null +// #ifdef H5 +import { + isPC +} from "./isPC" +is_pc = isPC() +// #endif +// #ifdef APP-VUE|| MP-WEIXIN || H5 + +mpMixins = { + data() { + return { + is_show: 'none' + } + }, + watch: { + show(newVal) { + this.is_show = this.show + } + }, + created() { + this.swipeaction = this.getSwipeAction() + if (this.swipeaction && Array.isArray(this.swipeaction.children)) { + this.swipeaction.children.push(this) + } + }, + mounted() { + this.is_show = this.show + }, + methods: { + // wxs 中调用 + closeSwipe(e) { + if (this.autoClose && this.swipeaction) { + this.swipeaction.closeOther(this) + } + }, + + change(e) { + this.$emit('change', e.open) + if (this.is_show !== e.open) { + this.is_show = e.open + } + }, + + appTouchStart(e) { + if (is_pc) return + const { + clientX + } = e.changedTouches[0] + this.clientX = clientX + this.timestamp = new Date().getTime() + }, + appTouchEnd(e, index, item, position) { + if (is_pc) return + const { + clientX + } = e.changedTouches[0] + // fixed by xxxx 模拟点击事件,解决 ios 13 点击区域错位的问题 + let diff = Math.abs(this.clientX - clientX) + let time = (new Date().getTime()) - this.timestamp + if (diff < 40 && time < 300) { + this.$emit('click', { + content: item, + index, + position + }) + } + }, + onClickForPC(index, item, position) { + if (!is_pc) return + // #ifdef H5 + this.$emit('click', { + content: item, + index, + position + }) + // #endif + } + } +} + +// #endif +export default mpMixins diff --git a/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/render.js b/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/render.js new file mode 100644 index 0000000..78f0ec6 --- /dev/null +++ b/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/render.js @@ -0,0 +1,270 @@ +const MIN_DISTANCE = 10; +export default { + showWatch(newVal, oldVal, ownerInstance, instance, self) { + var state = self.state + var $el = ownerInstance.$el || ownerInstance.$vm && ownerInstance.$vm.$el + if (!$el) return + this.getDom(instance, ownerInstance, self) + if (newVal && newVal !== 'none') { + this.openState(newVal, instance, ownerInstance, self) + return + } + + if (state.left) { + this.openState('none', instance, ownerInstance, self) + } + this.resetTouchStatus(instance, self) + }, + + /** + * 开始触摸操作 + * @param {Object} e + * @param {Object} ins + */ + touchstart(e, ownerInstance, self) { + let instance = e.instance; + let disabled = instance.getDataset().disabled + let state = self.state; + this.getDom(instance, ownerInstance, self) + // fix by mehaotian, TODO 兼容 app-vue 获取dataset为字符串 , h5 获取 为 undefined 的问题,待框架修复 + disabled = this.getDisabledType(disabled) + if (disabled) return + // 开始触摸时移除动画类 + instance.requestAnimationFrame(function() { + instance.removeClass('ani'); + ownerInstance.callMethod('closeSwipe'); + }) + + // 记录上次的位置 + state.x = state.left || 0 + // 计算滑动开始位置 + this.stopTouchStart(e, ownerInstance, self) + }, + + /** + * 开始滑动操作 + * @param {Object} e + * @param {Object} ownerInstance + */ + touchmove(e, ownerInstance, self) { + let instance = e.instance; + // 删除之后已经那不到实例了 + if (!instance) return; + let disabled = instance.getDataset().disabled + let state = self.state + // fix by mehaotian, TODO 兼容 app-vue 获取dataset为字符串 , h5 获取 为 undefined 的问题,待框架修复 + disabled = this.getDisabledType(disabled) + if (disabled) return + // 是否可以滑动页面 + this.stopTouchMove(e, self); + if (state.direction !== 'horizontal') { + return; + } + if (e.preventDefault) { + // 阻止页面滚动 + e.preventDefault() + } + let x = state.x + state.deltaX + this.move(x, instance, ownerInstance, self) + }, + + /** + * 结束触摸操作 + * @param {Object} e + * @param {Object} ownerInstance + */ + touchend(e, ownerInstance, self) { + let instance = e.instance; + let disabled = instance.getDataset().disabled + let state = self.state + // fix by mehaotian, TODO 兼容 app-vue 获取dataset为字符串 , h5 获取 为 undefined 的问题,待框架修复 + disabled = this.getDisabledType(disabled) + + if (disabled) return + // 滑动过程中触摸结束,通过阙值判断是开启还是关闭 + // fixed by mehaotian 定时器解决点击按钮,touchend 触发比 click 事件时机早的问题 ,主要是 ios13 + this.moveDirection(state.left, instance, ownerInstance, self) + + }, + + /** + * 设置移动距离 + * @param {Object} value + * @param {Object} instance + * @param {Object} ownerInstance + */ + move(value, instance, ownerInstance, self) { + value = value || 0 + let state = self.state + let leftWidth = state.leftWidth + let rightWidth = state.rightWidth + // 获取可滑动范围 + state.left = this.range(value, -rightWidth, leftWidth); + instance.requestAnimationFrame(function() { + instance.setStyle({ + transform: 'translateX(' + state.left + 'px)', + '-webkit-transform': 'translateX(' + state.left + 'px)' + }) + }) + + }, + + /** + * 获取元素信息 + * @param {Object} instance + * @param {Object} ownerInstance + */ + getDom(instance, ownerInstance, self) { + var state = self.state + var $el = ownerInstance.$el || ownerInstance.$vm && ownerInstance.$vm.$el + var leftDom = $el.querySelector('.button-group--left') + var rightDom = $el.querySelector('.button-group--right') + + state.leftWidth = leftDom.offsetWidth || 0 + state.rightWidth = rightDom.offsetWidth || 0 + state.threshold = instance.getDataset().threshold + }, + + getDisabledType(value) { + return (typeof(value) === 'string' ? JSON.parse(value) : value) || false; + }, + + /** + * 获取范围 + * @param {Object} num + * @param {Object} min + * @param {Object} max + */ + range(num, min, max) { + return Math.min(Math.max(num, min), max); + }, + + + /** + * 移动方向判断 + * @param {Object} left + * @param {Object} value + * @param {Object} ownerInstance + * @param {Object} ins + */ + moveDirection(left, ins, ownerInstance, self) { + var state = self.state + var threshold = state.threshold + var position = state.position + var isopen = state.isopen || 'none' + var leftWidth = state.leftWidth + var rightWidth = state.rightWidth + if (state.deltaX === 0) { + this.openState('none', ins, ownerInstance, self) + return + } + if ((isopen === 'none' && rightWidth > 0 && -left > threshold) || (isopen !== 'none' && rightWidth > 0 && + rightWidth + + left < threshold)) { + // right + this.openState('right', ins, ownerInstance, self) + } else if ((isopen === 'none' && leftWidth > 0 && left > threshold) || (isopen !== 'none' && leftWidth > 0 && + leftWidth - left < threshold)) { + // left + this.openState('left', ins, ownerInstance, self) + } else { + // default + this.openState('none', ins, ownerInstance, self) + } + }, + + + /** + * 开启状态 + * @param {Boolean} type + * @param {Object} ins + * @param {Object} ownerInstance + */ + openState(type, ins, ownerInstance, self) { + let state = self.state + let leftWidth = state.leftWidth + let rightWidth = state.rightWidth + let left = '' + state.isopen = state.isopen ? state.isopen : 'none' + switch (type) { + case "left": + left = leftWidth + break + case "right": + left = -rightWidth + break + default: + left = 0 + } + + // && !state.throttle + + if (state.isopen !== type) { + state.throttle = true + ownerInstance.callMethod('change', { + open: type + }) + + } + + state.isopen = type + // 添加动画类 + ins.requestAnimationFrame(() => { + ins.addClass('ani'); + this.move(left, ins, ownerInstance, self) + }) + }, + + + getDirection(x, y) { + if (x > y && x > MIN_DISTANCE) { + return 'horizontal'; + } + if (y > x && y > MIN_DISTANCE) { + return 'vertical'; + } + return ''; + }, + + /** + * 重置滑动状态 + * @param {Object} event + */ + resetTouchStatus(instance, self) { + let state = self.state; + state.direction = ''; + state.deltaX = 0; + state.deltaY = 0; + state.offsetX = 0; + state.offsetY = 0; + }, + + /** + * 设置滑动开始位置 + * @param {Object} event + */ + stopTouchStart(event, ownerInstance, self) { + let instance = event.instance; + let state = self.state + this.resetTouchStatus(instance, self); + var touch = event.touches[0]; + state.startX = touch.clientX; + state.startY = touch.clientY; + }, + + /** + * 滑动中,是否禁止打开 + * @param {Object} event + */ + stopTouchMove(event, self) { + let instance = event.instance; + let state = self.state; + let touch = event.touches[0]; + + state.deltaX = touch.clientX - state.startX; + state.deltaY = touch.clientY - state.startY; + state.offsetY = Math.abs(state.deltaY); + state.offsetX = Math.abs(state.deltaX); + state.direction = state.direction || this.getDirection(state.offsetX, state.offsetY); + } +} diff --git a/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.vue b/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.vue new file mode 100644 index 0000000..7538671 --- /dev/null +++ b/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.vue @@ -0,0 +1,348 @@ + + + + + + diff --git a/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/wx.wxs b/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/wx.wxs new file mode 100644 index 0000000..b394244 --- /dev/null +++ b/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action-item/wx.wxs @@ -0,0 +1,341 @@ +var MIN_DISTANCE = 10; + +/** + * 判断当前是否为H5、app-vue + */ +var IS_HTML5 = false +if (typeof window === 'object') IS_HTML5 = true + +/** + * 监听页面内值的变化,主要用于动态开关swipe-action + * @param {Object} newValue + * @param {Object} oldValue + * @param {Object} ownerInstance + * @param {Object} instance + */ +function showWatch(newVal, oldVal, ownerInstance, instance) { + var state = instance.getState() + getDom(instance, ownerInstance) + if (newVal && newVal !== 'none') { + openState(newVal, instance, ownerInstance) + return + } + + if (state.left) { + openState('none', instance, ownerInstance) + } + resetTouchStatus(instance) +} + +/** + * 开始触摸操作 + * @param {Object} e + * @param {Object} ins + */ +function touchstart(e, ownerInstance) { + var instance = e.instance; + var disabled = instance.getDataset().disabled + var state = instance.getState(); + getDom(instance, ownerInstance) + // fix by mehaotian, TODO 兼容 app-vue 获取dataset为字符串 , h5 获取 为 undefined 的问题,待框架修复 + disabled = (typeof(disabled) === 'string' ? JSON.parse(disabled) : disabled) || false; + if (disabled) return + // 开始触摸时移除动画类 + instance.requestAnimationFrame(function() { + instance.removeClass('ani'); + ownerInstance.callMethod('closeSwipe'); + }) + + // 记录上次的位置 + state.x = state.left || 0 + // 计算滑动开始位置 + stopTouchStart(e, ownerInstance) +} + +/** + * 开始滑动操作 + * @param {Object} e + * @param {Object} ownerInstance + */ +function touchmove(e, ownerInstance) { + var instance = e.instance; + var disabled = instance.getDataset().disabled + var state = instance.getState() + // fix by mehaotian, TODO 兼容 app-vue 获取dataset为字符串 , h5 获取 为 undefined 的问题,待框架修复 + disabled = (typeof(disabled) === 'string' ? JSON.parse(disabled) : disabled) || false; + if (disabled) return + // 是否可以滑动页面 + stopTouchMove(e); + if (state.direction !== 'horizontal') { + return; + } + + if (e.preventDefault) { + // 阻止页面滚动 + e.preventDefault() + } + + move(state.x + state.deltaX, instance, ownerInstance) +} + +/** + * 结束触摸操作 + * @param {Object} e + * @param {Object} ownerInstance + */ +function touchend(e, ownerInstance) { + var instance = e.instance; + var disabled = instance.getDataset().disabled + var state = instance.getState() + // fix by mehaotian, TODO 兼容 app-vue 获取dataset为字符串 , h5 获取 为 undefined 的问题,待框架修复 + disabled = (typeof(disabled) === 'string' ? JSON.parse(disabled) : disabled) || false; + + if (disabled) return + // 滑动过程中触摸结束,通过阙值判断是开启还是关闭 + // fixed by mehaotian 定时器解决点击按钮,touchend 触发比 click 事件时机早的问题 ,主要是 ios13 + moveDirection(state.left, instance, ownerInstance) + +} + +/** + * 设置移动距离 + * @param {Object} value + * @param {Object} instance + * @param {Object} ownerInstance + */ +function move(value, instance, ownerInstance) { + value = value || 0 + var state = instance.getState() + var leftWidth = state.leftWidth + var rightWidth = state.rightWidth + // 获取可滑动范围 + state.left = range(value, -rightWidth, leftWidth); + instance.requestAnimationFrame(function() { + instance.setStyle({ + transform: 'translateX(' + state.left + 'px)', + '-webkit-transform': 'translateX(' + state.left + 'px)' + }) + }) + +} + +/** + * 获取元素信息 + * @param {Object} instance + * @param {Object} ownerInstance + */ +function getDom(instance, ownerInstance) { + var state = instance.getState() + var leftDom = ownerInstance.selectComponent('.button-group--left') + var rightDom = ownerInstance.selectComponent('.button-group--right') + var leftStyles = { + width: 0 + } + var rightStyles = { + width: 0 + } + leftStyles = leftDom.getBoundingClientRect() + rightStyles = rightDom.getBoundingClientRect() + + state.leftWidth = leftStyles.width || 0 + state.rightWidth = rightStyles.width || 0 + state.threshold = instance.getDataset().threshold +} + +/** + * 获取范围 + * @param {Object} num + * @param {Object} min + * @param {Object} max + */ +function range(num, min, max) { + return Math.min(Math.max(num, min), max); +} + + +/** + * 移动方向判断 + * @param {Object} left + * @param {Object} value + * @param {Object} ownerInstance + * @param {Object} ins + */ +function moveDirection(left, ins, ownerInstance) { + var state = ins.getState() + var threshold = state.threshold + var position = state.position + var isopen = state.isopen || 'none' + var leftWidth = state.leftWidth + var rightWidth = state.rightWidth + if (state.deltaX === 0) { + openState('none', ins, ownerInstance) + return + } + if ((isopen === 'none' && rightWidth > 0 && -left > threshold) || (isopen !== 'none' && rightWidth > 0 && + rightWidth + + left < threshold)) { + // right + openState('right', ins, ownerInstance) + } else if ((isopen === 'none' && leftWidth > 0 && left > threshold) || (isopen !== 'none' && leftWidth > 0 && + leftWidth - left < threshold)) { + // left + openState('left', ins, ownerInstance) + } else { + // default + openState('none', ins, ownerInstance) + } +} + + +/** + * 开启状态 + * @param {Boolean} type + * @param {Object} ins + * @param {Object} ownerInstance + */ +function openState(type, ins, ownerInstance) { + var state = ins.getState() + var leftWidth = state.leftWidth + var rightWidth = state.rightWidth + var left = '' + state.isopen = state.isopen ? state.isopen : 'none' + switch (type) { + case "left": + left = leftWidth + break + case "right": + left = -rightWidth + break + default: + left = 0 + } + + // && !state.throttle + + if (state.isopen !== type) { + state.throttle = true + ownerInstance.callMethod('change', { + open: type + }) + + } + + state.isopen = type + // 添加动画类 + ins.requestAnimationFrame(function() { + ins.addClass('ani'); + move(left, ins, ownerInstance) + }) + // 设置最终移动位置,理论上只要进入到这个函数,肯定是要打开的 +} + + +function getDirection(x, y) { + if (x > y && x > MIN_DISTANCE) { + return 'horizontal'; + } + if (y > x && y > MIN_DISTANCE) { + return 'vertical'; + } + return ''; +} + +/** + * 重置滑动状态 + * @param {Object} event + */ +function resetTouchStatus(instance) { + var state = instance.getState(); + state.direction = ''; + state.deltaX = 0; + state.deltaY = 0; + state.offsetX = 0; + state.offsetY = 0; +} + +/** + * 设置滑动开始位置 + * @param {Object} event + */ +function stopTouchStart(event) { + var instance = event.instance; + var state = instance.getState(); + resetTouchStatus(instance); + var touch = event.touches[0]; + if (IS_HTML5 && isPC()) { + touch = event; + } + state.startX = touch.clientX; + state.startY = touch.clientY; +} + +/** + * 滑动中,是否禁止打开 + * @param {Object} event + */ +function stopTouchMove(event) { + var instance = event.instance; + var state = instance.getState(); + var touch = event.touches[0]; + if (IS_HTML5 && isPC()) { + touch = event; + } + state.deltaX = touch.clientX - state.startX; + state.deltaY = touch.clientY - state.startY; + state.offsetY = Math.abs(state.deltaY); + state.offsetX = Math.abs(state.deltaX); + state.direction = state.direction || getDirection(state.offsetX, state.offsetY); +} + +function isPC() { + var userAgentInfo = navigator.userAgent; + var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"]; + var flag = true; + for (var v = 0; v < Agents.length - 1; v++) { + if (userAgentInfo.indexOf(Agents[v]) > 0) { + flag = false; + break; + } + } + return flag; +} + +var movable = false + +function mousedown(e, ins) { + if (!IS_HTML5) return + if (!isPC()) return + touchstart(e, ins) + movable = true +} + +function mousemove(e, ins) { + if (!IS_HTML5) return + if (!isPC()) return + if (!movable) return + touchmove(e, ins) +} + +function mouseup(e, ins) { + if (!IS_HTML5) return + if (!isPC()) return + touchend(e, ins) + movable = false +} + +function mouseleave(e, ins) { + if (!IS_HTML5) return + if (!isPC()) return + movable = false +} + +module.exports = { + showWatch: showWatch, + touchstart: touchstart, + touchmove: touchmove, + touchend: touchend, + mousedown: mousedown, + mousemove: mousemove, + mouseup: mouseup, + mouseleave: mouseleave +} diff --git a/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action.vue b/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action.vue new file mode 100644 index 0000000..4971782 --- /dev/null +++ b/weihu/uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/weihu/uni_modules/uni-swipe-action/package.json b/weihu/uni_modules/uni-swipe-action/package.json new file mode 100644 index 0000000..fc5dd8a --- /dev/null +++ b/weihu/uni_modules/uni-swipe-action/package.json @@ -0,0 +1,84 @@ +{ + "id": "uni-swipe-action", + "displayName": "uni-swipe-action 滑动操作", + "version": "1.3.10", + "description": "SwipeAction 滑动操作操作组件", + "keywords": [ + "", + "uni-ui", + "uniui", + "滑动删除", + "侧滑删除" + ], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "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", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/weihu/uni_modules/uni-swipe-action/readme.md b/weihu/uni_modules/uni-swipe-action/readme.md new file mode 100644 index 0000000..93a5cac --- /dev/null +++ b/weihu/uni_modules/uni-swipe-action/readme.md @@ -0,0 +1,11 @@ + + +## SwipeAction 滑动操作 +> **组件名:uni-swipe-action** +> 代码块: `uSwipeAction`、`uSwipeActionItem` + + +通过滑动触发选项的容器 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-swipe-action) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/weihu/uni_modules/uni-swiper-dot/changelog.md b/weihu/uni_modules/uni-swiper-dot/changelog.md new file mode 100644 index 0000000..85cf54d --- /dev/null +++ b/weihu/uni_modules/uni-swiper-dot/changelog.md @@ -0,0 +1,12 @@ +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-swiper-dot](https://uniapp.dcloud.io/component/uniui/uni-swiper-dot) +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.6(2021-05-12) +- 新增 示例地址 +- 修复 示例项目缺少组件的Bug +## 1.0.5(2021-02-05) +- 调整为uni_modules目录规范 +- 新增 clickItem 事件,支持指示点控制轮播 +- 新增 支持 pc 可用 diff --git a/weihu/uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot.vue b/weihu/uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot.vue new file mode 100644 index 0000000..e66b6c7 --- /dev/null +++ b/weihu/uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot.vue @@ -0,0 +1,218 @@ + + + + + diff --git a/weihu/uni_modules/uni-swiper-dot/package.json b/weihu/uni_modules/uni-swiper-dot/package.json new file mode 100644 index 0000000..f2dd8d2 --- /dev/null +++ b/weihu/uni_modules/uni-swiper-dot/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-swiper-dot", + "displayName": "uni-swiper-dot 轮播图指示点", + "version": "1.2.0", + "description": "自定义轮播图指示点组件", + "keywords": [ + "uni-ui", + "uniui", + "轮播图指示点", + "dot", + "swiper" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/weihu/uni_modules/uni-swiper-dot/readme.md b/weihu/uni_modules/uni-swiper-dot/readme.md new file mode 100644 index 0000000..7d397e2 --- /dev/null +++ b/weihu/uni_modules/uni-swiper-dot/readme.md @@ -0,0 +1,11 @@ + + +## SwiperDot 轮播图指示点 +> **组件名:uni-swiper-dot** +> 代码块: `uSwiperDot` + + +自定义轮播图指示点 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-swiper-dot) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/weihu/uni_modules/uni-table/changelog.md b/weihu/uni_modules/uni-table/changelog.md new file mode 100644 index 0000000..842211c --- /dev/null +++ b/weihu/uni_modules/uni-table/changelog.md @@ -0,0 +1,29 @@ +## 1.2.4(2023-12-19) +- 修复 uni-tr只有一列时minWidth计算错误,列变化实时计算更新 +## 1.2.3(2023-03-28) +- 修复 在vue3模式下可能会出现错误的问题 +## 1.2.2(2022-11-29) +- 优化 主题样式 +## 1.2.1(2022-06-06) +- 修复 微信小程序存在无使用组件的问题 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-table](https://uniapp.dcloud.io/component/uniui/uni-table) +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.7(2021-07-08) +- 新增 uni-th 支持 date 日期筛选范围 +## 1.0.6(2021-07-05) +- 新增 uni-th 支持 range 筛选范围 +## 1.0.5(2021-06-28) +- 新增 uni-th 筛选功能 +## 1.0.4(2021-05-12) +- 新增 示例地址 +- 修复 示例项目缺少组件的Bug +## 1.0.3(2021-04-16) +- 新增 sortable 属性,是否开启单列排序 +- 优化 表格多选逻辑 +## 1.0.2(2021-03-22) +- uni-tr 添加 disabled 属性,用于 type=selection 时,设置某行是否可由全选按钮控制 +## 1.0.1(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/weihu/uni_modules/uni-table/components/uni-table/uni-table.vue b/weihu/uni_modules/uni-table/components/uni-table/uni-table.vue new file mode 100644 index 0000000..21d9527 --- /dev/null +++ b/weihu/uni_modules/uni-table/components/uni-table/uni-table.vue @@ -0,0 +1,455 @@ + + + + + diff --git a/weihu/uni_modules/uni-table/components/uni-tbody/uni-tbody.vue b/weihu/uni_modules/uni-table/components/uni-tbody/uni-tbody.vue new file mode 100644 index 0000000..fbe1bdc --- /dev/null +++ b/weihu/uni_modules/uni-table/components/uni-tbody/uni-tbody.vue @@ -0,0 +1,29 @@ + + + + + diff --git a/weihu/uni_modules/uni-table/components/uni-td/uni-td.vue b/weihu/uni_modules/uni-table/components/uni-td/uni-td.vue new file mode 100644 index 0000000..9ce93e9 --- /dev/null +++ b/weihu/uni_modules/uni-table/components/uni-td/uni-td.vue @@ -0,0 +1,90 @@ + + + + + diff --git a/weihu/uni_modules/uni-table/components/uni-th/filter-dropdown.vue b/weihu/uni_modules/uni-table/components/uni-th/filter-dropdown.vue new file mode 100644 index 0000000..df22a71 --- /dev/null +++ b/weihu/uni_modules/uni-table/components/uni-th/filter-dropdown.vue @@ -0,0 +1,511 @@ + + + + + diff --git a/weihu/uni_modules/uni-table/components/uni-th/uni-th.vue b/weihu/uni_modules/uni-table/components/uni-th/uni-th.vue new file mode 100644 index 0000000..14889dd --- /dev/null +++ b/weihu/uni_modules/uni-table/components/uni-th/uni-th.vue @@ -0,0 +1,285 @@ + + + + + diff --git a/weihu/uni_modules/uni-table/components/uni-thead/uni-thead.vue b/weihu/uni_modules/uni-table/components/uni-thead/uni-thead.vue new file mode 100644 index 0000000..53b5c4c --- /dev/null +++ b/weihu/uni_modules/uni-table/components/uni-thead/uni-thead.vue @@ -0,0 +1,137 @@ + + + + + diff --git a/weihu/uni_modules/uni-table/components/uni-tr/table-checkbox.vue b/weihu/uni_modules/uni-table/components/uni-tr/table-checkbox.vue new file mode 100644 index 0000000..1089187 --- /dev/null +++ b/weihu/uni_modules/uni-table/components/uni-tr/table-checkbox.vue @@ -0,0 +1,179 @@ + + + + + diff --git a/weihu/uni_modules/uni-table/components/uni-tr/uni-tr.vue b/weihu/uni_modules/uni-table/components/uni-tr/uni-tr.vue new file mode 100644 index 0000000..3fb76f4 --- /dev/null +++ b/weihu/uni_modules/uni-table/components/uni-tr/uni-tr.vue @@ -0,0 +1,184 @@ + + + + + diff --git a/weihu/uni_modules/uni-table/i18n/en.json b/weihu/uni_modules/uni-table/i18n/en.json new file mode 100644 index 0000000..e32023c --- /dev/null +++ b/weihu/uni_modules/uni-table/i18n/en.json @@ -0,0 +1,9 @@ +{ + "filter-dropdown.reset": "Reset", + "filter-dropdown.search": "Search", + "filter-dropdown.submit": "Submit", + "filter-dropdown.filter": "Filter", + "filter-dropdown.gt": "Greater or equal to", + "filter-dropdown.lt": "Less than or equal to", + "filter-dropdown.date": "Date" +} diff --git a/weihu/uni_modules/uni-table/i18n/es.json b/weihu/uni_modules/uni-table/i18n/es.json new file mode 100644 index 0000000..9afd04b --- /dev/null +++ b/weihu/uni_modules/uni-table/i18n/es.json @@ -0,0 +1,9 @@ +{ + "filter-dropdown.reset": "Reiniciar", + "filter-dropdown.search": "Búsqueda", + "filter-dropdown.submit": "Entregar", + "filter-dropdown.filter": "Filtrar", + "filter-dropdown.gt": "Mayor o igual a", + "filter-dropdown.lt": "Menos que o igual a", + "filter-dropdown.date": "Fecha" +} diff --git a/weihu/uni_modules/uni-table/i18n/fr.json b/weihu/uni_modules/uni-table/i18n/fr.json new file mode 100644 index 0000000..b006237 --- /dev/null +++ b/weihu/uni_modules/uni-table/i18n/fr.json @@ -0,0 +1,9 @@ +{ + "filter-dropdown.reset": "Réinitialiser", + "filter-dropdown.search": "Chercher", + "filter-dropdown.submit": "Soumettre", + "filter-dropdown.filter": "Filtre", + "filter-dropdown.gt": "Supérieur ou égal à", + "filter-dropdown.lt": "Inférieur ou égal à", + "filter-dropdown.date": "Date" +} diff --git a/weihu/uni_modules/uni-table/i18n/index.js b/weihu/uni_modules/uni-table/i18n/index.js new file mode 100644 index 0000000..2469dd0 --- /dev/null +++ b/weihu/uni_modules/uni-table/i18n/index.js @@ -0,0 +1,12 @@ +import en from './en.json' +import es from './es.json' +import fr from './fr.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + es, + fr, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/weihu/uni_modules/uni-table/i18n/zh-Hans.json b/weihu/uni_modules/uni-table/i18n/zh-Hans.json new file mode 100644 index 0000000..862af17 --- /dev/null +++ b/weihu/uni_modules/uni-table/i18n/zh-Hans.json @@ -0,0 +1,9 @@ +{ + "filter-dropdown.reset": "重置", + "filter-dropdown.search": "搜索", + "filter-dropdown.submit": "确定", + "filter-dropdown.filter": "筛选", + "filter-dropdown.gt": "大于等于", + "filter-dropdown.lt": "小于等于", + "filter-dropdown.date": "日期范围" +} diff --git a/weihu/uni_modules/uni-table/i18n/zh-Hant.json b/weihu/uni_modules/uni-table/i18n/zh-Hant.json new file mode 100644 index 0000000..64f8061 --- /dev/null +++ b/weihu/uni_modules/uni-table/i18n/zh-Hant.json @@ -0,0 +1,9 @@ +{ + "filter-dropdown.reset": "重置", + "filter-dropdown.search": "搜索", + "filter-dropdown.submit": "確定", + "filter-dropdown.filter": "篩選", + "filter-dropdown.gt": "大於等於", + "filter-dropdown.lt": "小於等於", + "filter-dropdown.date": "日期範圍" +} diff --git a/weihu/uni_modules/uni-table/package.json b/weihu/uni_modules/uni-table/package.json new file mode 100644 index 0000000..a52821b --- /dev/null +++ b/weihu/uni_modules/uni-table/package.json @@ -0,0 +1,83 @@ +{ + "id": "uni-table", + "displayName": "uni-table 表格", + "version": "1.2.4", + "description": "表格组件,多用于展示多条结构类似的数据,如", + "keywords": [ + "uni-ui", + "uniui", + "table", + "表格" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-scss","uni-datetime-picker"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "n" + }, + "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", + "字节跳动": "n", + "QQ": "y" + }, + "快应用": { + "华为": "n", + "联盟": "n" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/weihu/uni_modules/uni-table/readme.md b/weihu/uni_modules/uni-table/readme.md new file mode 100644 index 0000000..bb08c79 --- /dev/null +++ b/weihu/uni_modules/uni-table/readme.md @@ -0,0 +1,13 @@ + + +## Table 表单 +> 组件名:``uni-table``,代码块: `uTable`。 + +用于展示多条结构类似的数据 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-table) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + + + diff --git a/weihu/uni_modules/uni-tag/changelog.md b/weihu/uni_modules/uni-tag/changelog.md new file mode 100644 index 0000000..ddee87a --- /dev/null +++ b/weihu/uni_modules/uni-tag/changelog.md @@ -0,0 +1,23 @@ +## 2.1.1(2024-03-20) +- 优化 app下边框过窄导致不显示的bug +## 2.1.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-tag](https://uniapp.dcloud.io/component/uniui/uni-tag) +## 2.0.0(2021-11-09) +- 新增 提供组件设计资源,组件样式调整 +- 移除 插槽 +- 移除 type 属性的 royal 选项 +## 1.1.1(2021-08-11) +- type 不是 default 时,size 为 small 字体大小显示不正确 +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.7(2021-06-18) +- 修复 uni-tag 在字节跳动小程序上 css 类名编译错误的 bug +## 1.0.6(2021-06-04) +- 修复 未定义 sass 变量 "$uni-color-royal" 的bug +## 1.0.5(2021-05-10) +- 修复 royal 类型无效的bug +- 修复 uni-tag 宽度不自适应的bug +- 新增 uni-tag 支持属性 custom-style 自定义样式 +## 1.0.4(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/weihu/uni_modules/uni-tag/components/uni-tag/uni-tag.vue b/weihu/uni_modules/uni-tag/components/uni-tag/uni-tag.vue new file mode 100644 index 0000000..7274436 --- /dev/null +++ b/weihu/uni_modules/uni-tag/components/uni-tag/uni-tag.vue @@ -0,0 +1,252 @@ + + + + + diff --git a/weihu/uni_modules/uni-tag/package.json b/weihu/uni_modules/uni-tag/package.json new file mode 100644 index 0000000..71b41eb --- /dev/null +++ b/weihu/uni_modules/uni-tag/package.json @@ -0,0 +1,84 @@ +{ + "id": "uni-tag", + "displayName": "uni-tag 标签", + "version": "2.1.1", + "description": "Tag 组件,用于展示1个或多个文字标签,可点击切换选中、不选中的状态。", + "keywords": [ + "uni-ui", + "uniui", + "", + "tag", + "标签" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/weihu/uni_modules/uni-tag/readme.md b/weihu/uni_modules/uni-tag/readme.md new file mode 100644 index 0000000..6e78ff5 --- /dev/null +++ b/weihu/uni_modules/uni-tag/readme.md @@ -0,0 +1,13 @@ + + +## Tag 标签 +> **组件名:uni-tag** +> 代码块: `uTag` + + +用于展示1个或多个文字标签,可点击切换选中、不选中的状态 。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-tag) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/weihu/uni_modules/uni-test/changelog.md b/weihu/uni_modules/uni-test/changelog.md new file mode 100644 index 0000000..2f3b102 --- /dev/null +++ b/weihu/uni_modules/uni-test/changelog.md @@ -0,0 +1,39 @@ +## 2.0.13(2021-11-18) +邱 +## 2.0.12(2021-11-18) +123123 +## 2.0.11(2021-11-18) +0000 +## 2.0.10(2021-11-18) +111234 +## 2.0.9(2021-11-18) +3333 +## 2.0.8(2021-11-18) +=== +## 2.0.7(2021-11-18) +111 +## 2.0.6(2021-05-26) +- test +## 0.0.37(2021-03-23) +- uni-forms 更新 校验器 +- uni-forms 修复 表单规则设置类型为 number 的情况下,值为0校验失败的Bug + + +## 0.0.36(2021-03-23) +- uni-forms 更新 校验器 +- uni-forms 修复 表单规则设置类型为 number 的情况下,值为0校验失败的Bug + + +## 0.0.35(2021-03-23) +- uni-forms 更新 校验器 +- uni-forms 修复 表单规则设置类型为 number 的情况下,值为0校验失败的Bug + + +## 0.0.34(2021-03-23) +- 测试新同步插件 +## 0.0.33(2021-03-09) +- test +## 0.0.32(2021-02-24) +- 更新 read 2 +## 0.0.31(2021-02-24) +- 同步 readme.md diff --git a/weihu/uni_modules/uni-test/components/uni-test/uni-test.vue b/weihu/uni_modules/uni-test/components/uni-test/uni-test.vue new file mode 100644 index 0000000..9ea8aaf --- /dev/null +++ b/weihu/uni_modules/uni-test/components/uni-test/uni-test.vue @@ -0,0 +1,26 @@ + + + + + diff --git a/weihu/uni_modules/uni-test/package.json b/weihu/uni_modules/uni-test/package.json new file mode 100644 index 0000000..9a3c4c4 --- /dev/null +++ b/weihu/uni_modules/uni-test/package.json @@ -0,0 +1,83 @@ +{ + "id": "uni-test", + "displayName": "Test 测试插件", + "version": "2.0.13", + "description": "测试插件 ", + "keywords": [ + "test" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "^3.1.3" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "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" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/weihu/uni_modules/uni-test/readme.md b/weihu/uni_modules/uni-test/readme.md new file mode 100644 index 0000000..ddb24c6 --- /dev/null +++ b/weihu/uni_modules/uni-test/readme.md @@ -0,0 +1,10 @@ + + +## DataCheckbox 数据驱动的单选复选框 +> **组件名:uni-data-checkbox** +> 代码块: `uDataCheckbox` + + +本组件是基于uni-app基础组件checkbox的封装。本组件要解决问题包括: + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-card) \ No newline at end of file diff --git a/weihu/uni_modules/uni-title/changelog.md b/weihu/uni_modules/uni-title/changelog.md new file mode 100644 index 0000000..7626216 --- /dev/null +++ b/weihu/uni_modules/uni-title/changelog.md @@ -0,0 +1,10 @@ +## 1.1.1(2022-05-19) +- 修改组件描述 +## 1.1.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-title](https://uniapp.dcloud.io/component/uniui/uni-title) +## 1.0.2(2021-05-12) +- 新增 示例地址 +- 修复 示例项目缺少组件的Bug +## 1.0.1(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/weihu/uni_modules/uni-title/components/uni-title/uni-title.vue b/weihu/uni_modules/uni-title/components/uni-title/uni-title.vue new file mode 100644 index 0000000..bf4f926 --- /dev/null +++ b/weihu/uni_modules/uni-title/components/uni-title/uni-title.vue @@ -0,0 +1,171 @@ + + + + + diff --git a/weihu/uni_modules/uni-title/package.json b/weihu/uni_modules/uni-title/package.json new file mode 100644 index 0000000..2249f5a --- /dev/null +++ b/weihu/uni_modules/uni-title/package.json @@ -0,0 +1,88 @@ +{ + "id": "uni-title", + "displayName": "uni-title 章节标题", + "version": "1.1.1", + "description": "章节标题,通常用于记录页面标题,使用当前组件,uni-app 如果开启统计,将会自动统计页面标题", + "keywords": [ + "uni-ui", + "uniui", + "标题", + "章节", + "章节标题", + "" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/weihu/uni_modules/uni-title/readme.md b/weihu/uni_modules/uni-title/readme.md new file mode 100644 index 0000000..0e60b1b --- /dev/null +++ b/weihu/uni_modules/uni-title/readme.md @@ -0,0 +1,14 @@ + + +## Title 标题 +> **组件名:uni-title** +> 代码块: `uTitle` + + +章节标题,通常用于记录页面标题,使用当前组件,uni-app 如果开启统计,将会自动统计页面标题 。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-title) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + + diff --git a/weihu/uni_modules/uni-tooltip/changelog.md b/weihu/uni_modules/uni-tooltip/changelog.md new file mode 100644 index 0000000..285b676 --- /dev/null +++ b/weihu/uni_modules/uni-tooltip/changelog.md @@ -0,0 +1,16 @@ +## 0.2.4(2024-04-23) +- 修复 弹出位置默认值不一致导致的错位 +## 0.2.3(2024-03-20) +- 修复 弹出位置修正 +## 0.2.2(2024-01-15) +- 新增 placement支持设置四个方向:top bottom left right +## 0.2.1(2022-05-09) +- 修复 content 为空时仍然弹出的bug +## 0.2.0(2022-05-07) +**注意:破坏性更新** +- 更新 text 属性变更为 content +- 更新 移除 width 属性 +## 0.1.1(2022-04-27) +- 修复 组件根 text 嵌套组件 warning +## 0.1.0(2022-04-21) +- 初始化 diff --git a/weihu/uni_modules/uni-tooltip/components/uni-tooltip/uni-tooltip.vue b/weihu/uni_modules/uni-tooltip/components/uni-tooltip/uni-tooltip.vue new file mode 100644 index 0000000..cda3754 --- /dev/null +++ b/weihu/uni_modules/uni-tooltip/components/uni-tooltip/uni-tooltip.vue @@ -0,0 +1,109 @@ + + + + + + diff --git a/weihu/uni_modules/uni-tooltip/package.json b/weihu/uni_modules/uni-tooltip/package.json new file mode 100644 index 0000000..44158e1 --- /dev/null +++ b/weihu/uni_modules/uni-tooltip/package.json @@ -0,0 +1,86 @@ +{ + "id": "uni-tooltip", + "displayName": "uni-tooltip 提示文字", + "version": "0.2.4", + "description": "Tooltip 提示文字", + "keywords": [ + "uni-tooltip", + "uni-ui", + "tooltip", + "tip", + "文字提示" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无 ", + "data": "无", + "permissions": "无" + }, + "npmurl": "", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "Vue": { + "vue2": "y", + "vue3": "y" + }, + "App": { + "app-vue": "y", + "app-nvue": "u" + }, + "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", + "阿里": "u", + "百度": "u", + "字节跳动": "u", + "QQ": "u", + "京东": "u" + }, + "快应用": { + "华为": "u", + "联盟": "u" + } + } + } + } +} \ No newline at end of file diff --git a/weihu/uni_modules/uni-tooltip/readme.md b/weihu/uni_modules/uni-tooltip/readme.md new file mode 100644 index 0000000..faafa2e --- /dev/null +++ b/weihu/uni_modules/uni-tooltip/readme.md @@ -0,0 +1,8 @@ +## Badge 数字角标 +> **组件名:uni-tooltip** +> 代码块: `uTooltip` + +数字角标一般和其它控件(列表、9宫格等)配合使用,用于进行数量提示,默认为实心灰色背景, + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-tooltip) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 diff --git a/weihu/uni_modules/uni-transition/changelog.md b/weihu/uni_modules/uni-transition/changelog.md new file mode 100644 index 0000000..faaf336 --- /dev/null +++ b/weihu/uni_modules/uni-transition/changelog.md @@ -0,0 +1,24 @@ +## 1.3.3(2024-04-23) +- 修复 当元素会受变量影响自动隐藏的bug +## 1.3.2(2023-05-04) +- 修复 NVUE 平台报错的问题 +## 1.3.1(2021-11-23) +- 修复 init 方法初始化问题 +## 1.3.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-transition](https://uniapp.dcloud.io/component/uniui/uni-transition) +## 1.2.1(2021-09-27) +- 修复 init 方法不生效的 Bug +## 1.2.0(2021-07-30) +- 组件兼容 vue3,如何创建 vue3 项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.1(2021-05-12) +- 新增 示例地址 +- 修复 示例项目缺少组件的 Bug +## 1.1.0(2021-04-22) +- 新增 通过方法自定义动画 +- 新增 custom-class 非 NVUE 平台支持自定义 class 定制样式 +- 优化 动画触发逻辑,使动画更流畅 +- 优化 支持单独的动画类型 +- 优化 文档示例 +## 1.0.2(2021-02-05) +- 调整为 uni_modules 目录规范 diff --git a/weihu/uni_modules/uni-transition/components/uni-transition/createAnimation.js b/weihu/uni_modules/uni-transition/components/uni-transition/createAnimation.js new file mode 100644 index 0000000..8f89b18 --- /dev/null +++ b/weihu/uni_modules/uni-transition/components/uni-transition/createAnimation.js @@ -0,0 +1,131 @@ +// const defaultOption = { +// duration: 300, +// timingFunction: 'linear', +// delay: 0, +// transformOrigin: '50% 50% 0' +// } +// #ifdef APP-NVUE +const nvueAnimation = uni.requireNativePlugin('animation') +// #endif +class MPAnimation { + constructor(options, _this) { + this.options = options + // 在iOS10+QQ小程序平台下,传给原生的对象一定是个普通对象而不是Proxy对象,否则会报parameter should be Object instead of ProxyObject的错误 + this.animation = uni.createAnimation({ + ...options + }) + this.currentStepAnimates = {} + this.next = 0 + this.$ = _this + + } + + _nvuePushAnimates(type, args) { + let aniObj = this.currentStepAnimates[this.next] + let styles = {} + if (!aniObj) { + styles = { + styles: {}, + config: {} + } + } else { + styles = aniObj + } + if (animateTypes1.includes(type)) { + if (!styles.styles.transform) { + styles.styles.transform = '' + } + let unit = '' + if(type === 'rotate'){ + unit = 'deg' + } + styles.styles.transform += `${type}(${args+unit}) ` + } else { + styles.styles[type] = `${args}` + } + this.currentStepAnimates[this.next] = styles + } + _animateRun(styles = {}, config = {}) { + let ref = this.$.$refs['ani'].ref + if (!ref) return + return new Promise((resolve, reject) => { + nvueAnimation.transition(ref, { + styles, + ...config + }, res => { + resolve() + }) + }) + } + + _nvueNextAnimate(animates, step = 0, fn) { + let obj = animates[step] + if (obj) { + let { + styles, + config + } = obj + this._animateRun(styles, config).then(() => { + step += 1 + this._nvueNextAnimate(animates, step, fn) + }) + } else { + this.currentStepAnimates = {} + typeof fn === 'function' && fn() + this.isEnd = true + } + } + + step(config = {}) { + // #ifndef APP-NVUE + this.animation.step(config) + // #endif + // #ifdef APP-NVUE + this.currentStepAnimates[this.next].config = Object.assign({}, this.options, config) + this.currentStepAnimates[this.next].styles.transformOrigin = this.currentStepAnimates[this.next].config.transformOrigin + this.next++ + // #endif + return this + } + + run(fn) { + // #ifndef APP-NVUE + this.$.animationData = this.animation.export() + this.$.timer = setTimeout(() => { + typeof fn === 'function' && fn() + }, this.$.durationTime) + // #endif + // #ifdef APP-NVUE + this.isEnd = false + let ref = this.$.$refs['ani'] && this.$.$refs['ani'].ref + if(!ref) return + this._nvueNextAnimate(this.currentStepAnimates, 0, fn) + this.next = 0 + // #endif + } +} + + +const animateTypes1 = ['matrix', 'matrix3d', 'rotate', 'rotate3d', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scale3d', + 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'translate', 'translate3d', 'translateX', 'translateY', + 'translateZ' +] +const animateTypes2 = ['opacity', 'backgroundColor'] +const animateTypes3 = ['width', 'height', 'left', 'right', 'top', 'bottom'] +animateTypes1.concat(animateTypes2, animateTypes3).forEach(type => { + MPAnimation.prototype[type] = function(...args) { + // #ifndef APP-NVUE + this.animation[type](...args) + // #endif + // #ifdef APP-NVUE + this._nvuePushAnimates(type, args) + // #endif + return this + } +}) + +export function createAnimation(option, _this) { + if(!_this) return + clearTimeout(_this.timer) + return new MPAnimation(option, _this) +} diff --git a/weihu/uni_modules/uni-transition/components/uni-transition/uni-transition.vue b/weihu/uni_modules/uni-transition/components/uni-transition/uni-transition.vue new file mode 100644 index 0000000..f3ddd1f --- /dev/null +++ b/weihu/uni_modules/uni-transition/components/uni-transition/uni-transition.vue @@ -0,0 +1,286 @@ + + + + + diff --git a/weihu/uni_modules/uni-transition/package.json b/weihu/uni_modules/uni-transition/package.json new file mode 100644 index 0000000..d5c20e1 --- /dev/null +++ b/weihu/uni_modules/uni-transition/package.json @@ -0,0 +1,85 @@ +{ + "id": "uni-transition", + "displayName": "uni-transition 过渡动画", + "version": "1.3.3", + "description": "元素的简单过渡动画", + "keywords": [ + "uni-ui", + "uniui", + "动画", + "过渡", + "过渡动画" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/weihu/uni_modules/uni-transition/readme.md b/weihu/uni_modules/uni-transition/readme.md new file mode 100644 index 0000000..2f8a77e --- /dev/null +++ b/weihu/uni_modules/uni-transition/readme.md @@ -0,0 +1,11 @@ + + +## Transition 过渡动画 +> **组件名:uni-transition** +> 代码块: `uTransition` + + +元素过渡动画 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-transition) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/weihu/uni_modules/uni-ui/changelog.md b/weihu/uni_modules/uni-ui/changelog.md new file mode 100644 index 0000000..6d477cf --- /dev/null +++ b/weihu/uni_modules/uni-ui/changelog.md @@ -0,0 +1,578 @@ +## 1.5.6(2024-07-08) +- uni-datetime-picker 新增 日期点击事件,在点击日期时会触发该事件。 +- uni-datetime-picker 修复 抖音小程序事件传递失效bug +- uni-easyinput 修复 easyinput组件双向绑定问题 +- uni-number-box 修复 在vue2下H5黑边的bug +- uni-number-box 修复 在vue2手动输入后失焦导致清空数值的严重bug +- uni-popup 修复 uni-popup-dialog vue3下使用value无法进行绑定的bug(双向绑定兼容旧写法) +- uni-search-bar 修复 textColor默认值导致的文字不显示的bug +- uni-search-bar 修复 textColor不生效的bug +- uni-segmented-control 修复 修复在微信小程序下inactiveColor失效bug +- uni-tooltip 修复 弹出位置默认值不一致导致的错位 +- uni-transition 修复 当元素会受变量影响自动隐藏的bug +## 1.5.0(2024-01-13) +- 修复 npm包结构目录错误的问题 +- uni-calendar 修复 回到今天时,月份显示不一致问题 +- uni-data-picker 新增 支持 uni-app-x +- uni-datetime-picker 优化 增加noChange事件,当进行日期范围选择时,若有空值,则触发该事件 [详情](https://github.com/dcloudio/uni-ui/issues/815) +- uni-datetime-picker 修复 字节小程序时间选择范围器失效问题 [详情](https://github.com/dcloudio/uni-ui/issues/834) +- uni-datetime-picker 修复 PC端初次修改时间,开始时间未更新的Bug [详情](https://github.com/dcloudio/uni-ui/issues/737) +- uni-datetime-picker 修复 部分情况修改时间,开始、结束时间显示异常的Bug [详情](https://ask.dcloud.net.cn/question/171146) +- uni-datetime-picker 优化 当前月可以选择上月、下月的日期的Bug +- uni-file-picker 新增 微信小程序不再调用chooseImage,而是调用chooseMedia +- uni-file-picker 新增 上传文件至云存储携带本地文件名称 +- uni-forms 优化 labelWidth 描述错误 +fix: 修复图标大小默认值错误的问题 +- uni-icons 修复 项目未使用 ts 情况下,打包报错的bug +- uni-icons 修复 size 属性为 string 时,不加单位导致尺寸异常的bug +- uni-icons 优化 兼容老版本icon类型,如 top ,bottom 等 +- uni-icons 优化 兼容老版本icon类型,如 top ,bottom 等 +- uni-icons 优化 uni-app x 下示例项目图标排序 +- uni-icons 修复 nvue下引入组件报错的bug +-优化 size 属性支持单位 +- uni-icons 新增 uni-app x 支持定义图标 +- uni-notice-bar 修复动态绑定title时,滚动速度不一致的问题 +更新示例工程 +- uni-popup 新增 uni-popup 支持uni-app-x 注意暂时仅支持 `maskClick` `@open` `@close` +- uni-table 修复 uni-tr只有一列时minWidth计算错误,列变化实时计算更新 +## 1.4.27(2023-04-21) +- uni-calendar 修复 某些情况 monthSwitch 未触发的Bug +- uni-calendar 修复 某些情况切换月份错误的Bug +- uni-data-picker 修复 更改 modelValue 报错的 bug +- uni-data-picker 修复 v-for 未使用 key 值控制台 warning +- uni-data-picker 修复代码合并时引发 value 属性为空时不渲染数据的问题 +- uni-data-picker 修复 localdata 不支持动态更新的bug +- uni-data-select 修复 微信小程序点击时会改变背景颜色的 bug +- uni-data-select 修复 禁用时会显示清空按钮 +- uni-data-select 优化 查询条件短期内多次变更只查询最后一次变更后的结果 +- uni-data-select 调整 内部缓存键名调整为 uni-data-select-lastSelectedValue +- uni-datetime-picker 修复 日历 picker 修改年月后,自动选中当月1日 [详情](https://ask.dcloud.net.cn/question/165937) +- uni-datetime-picker 修复 小程序端 低版本 ios NaN [详情](https://ask.dcloud.net.cn/question/162979) +- uni-datetime-picker 修复 firefox 浏览器显示区域点击无法拉起日历弹框的Bug [详情](https://ask.dcloud.net.cn/question/163362) +- uni-datetime-picker 优化 值为空依然选中当天问题 +- uni-datetime-picker 优化 提供 default-value 属性支持配置选择器打开时默认显示的时间 +- uni-datetime-picker 优化 非范围选择未选择日期时间,点击确认按钮选中当前日期时间 +- uni-datetime-picker 优化 字节小程序日期时间范围选择,底部日期换行问题 +- uni-datetime-picker 修复 2.2.18 引起范围选择配置 end 选择无效的Bug [详情](https://github.com/dcloudio/uni-ui/issues/686) +- uni-datetime-picker 修复 移动端范围选择change事件触发异常的Bug [详情](https://github.com/dcloudio/uni-ui/issues/684) +- uni-datetime-picker 优化 PC端输入日期格式错误时返回当前日期时间 +- uni-datetime-picker 优化 PC端输入日期时间超出 start、end 限制的Bug +- uni-datetime-picker 优化 移动端日期时间范围用法时间展示不完整问题 +- uni-datetime-picker 修复 小程序端绑定 Date 类型报错的Bug [详情](https://github.com/dcloudio/uni-ui/issues/679) +- uni-datetime-picker 修复 vue3 time-picker 无法显示绑定时分秒的Bug +- uni-datetime-picker 修复 字节小程序报错的Bug +- uni-datetime-picker 修复 某些情况切换月份错误的Bug +- uni-easyinput 修复 vue3 下 keyboardheightchange 事件报错的bug +- uni-easyinput 优化 trim 属性默认值 +- uni-easyinput 新增 cursor-spacing 属性 +- uni-fab 新增 pattern.icon 属性,可自定义图标 +- uni-file-picker 修复 手动上传删除一个文件后不能再上传的bug +- uni-forms 修复 required 参数无法动态绑定 +- uni-list 优化 uni-list-chat 具名插槽`header` 非app端套一层元素,方便使用时通过外层元素定位实现样式修改 +- uni-list uni-list-chat 新增 支持具名插槽`header` +- uni-list 新增 列表图标新增 customPrefix 属性 ,用法 [详见](https://uniapp.dcloud.net.cn/component/uniui/uni-icons.html#icons-props) +- uni-nav-bar 修复 自定义状态栏高度闪动BUG +- uni-nav-bar 修复 暗黑模式下边线颜色错误的bug +- uni-popup 修复 uni-popup 重复打开时的 bug +- uni-popup uni-popup-dialog 组件新增 inputType 属性 +- uni-swipe-action 修复`uni-swipe-action`和`uni-swipe-action-item`不同时使用导致 closeOther 方法报错的 bug +- uni-table 修复 在vue3模式下可能会出现错误的问题 +## 1.4.26(2023-01-31) +- uni-badge 修复 运行/打包 控制台警告问题 +- uni-calendar 修复 某些情况切换月份错误问题 +- uni-data-select 修复 不关联服务空间报错的问题 +- uni-data-select 新增 属性 `format` 可用于格式化显示选项内容 +- uni-datetime-picker 修复 某些情况切换月份错误问题 +- uni-easyinput 新增 keyboardheightchange 事件,可监听键盘高度变化 +- uni-list 修复 无反馈效果呈现的bug +## 1.4.25(2023-01-11) +- uni-file-picker 新增 sourceType 属性, 可以自定义图片和视频选择的来源 +## 1.4.24(2023-01-11) +- uni-data-select 修复 当where变化时,数据不会自动更新的问题 +- uni-datetime-picker 修复 多次加载组件造成内存占用的 bug +- uni-datetime-picker 修复 vue3 下 i18n 国际化初始值不正确的 bug +- uni-easyinput 修复 props 中背景颜色无默认值的bug +- uni-list 修复 uni-list-chat 在vue3下跳转报错的bug +- uni-list 修复 uni-list-chat avatar属性 值为本地路径时错误的问题 +- uni-list 修复 uni-list-chat avatar属性 在腾讯云版uniCloud下错误的问题 +- uni-list 修复 uni-list-chat note属性 支持:“草稿”字样功能 文本少1位的问题 +- uni-list 修复 uni-list-item 的 customStyle 属性 padding值在 H5端 无效的bug +- uni-list 修复 uni-list-item 的 customStyle 属性 padding值在nvue(vue2)下无效的bug +- uni-list uni-list-chat 新增 avatar 支持 fileId +- uni-list uni-list 新增属性 render-reverse 详情参考:[https://uniapp.dcloud.net.cn/component/list.html](https://uniapp.dcloud.net.cn/component/list.html) +- uni-list uni-list-chat note属性 支持:“草稿”字样 加红显示 详情参考uni-im:[https://ext.dcloud.net.cn/plugin?name=uni-im](https://ext.dcloud.net.cn/plugin?name=uni-im) +- uni-list uni-list-item 新增属性 customStyle 支持设置padding、backgroundColor +- uni-popup 修复 nvue 下 v-show 报错 +## 1.4.23(2022-10-25) +- uni-datetime-picker 修复,支付宝小程序样式错乱,[详情](https://github.com/dcloudio/uni-app/issues/3861) + +- uni-nav-bar 修复 条件编译错误的bug +- uni-nav-bar 修复 nvue 环境 fixed 为 true 的情况下,无法置顶的 bug +## 1.4.22(2022-09-19) +- 优化 部分组件适配 uni-scss 主题色 +- uni-badge 修复 当 text 超过 max-num 时,badge 的宽度计算是根据 text 的长度计算,更改为 css 计算实际展示宽度,详见:[https://ask.dcloud.net.cn/question/150473](https://ask.dcloud.net.cn/question/150473) +- uni-calendar 修复 表头年月切换,导致改变当前日期为选择月1号,且未触发change事件 +- uni-data-select 修复 微信小程序下拉框出现后选择会点击到蒙板后面的输入框 +- uni-data-select 修复 点击的位置不准确 +- uni-data-select 新增 支持 disabled 属性 +- uni-datetime-picker 修复,反向选择日期范围,日期显示异常,[详情](https://ask.dcloud.net.cn/question/153401?item_id=212892&rf=false) +- uni-datetime-picker 修复 close事件无效的 bug +- uni-datetime-picker 修复 移动端 maskClick 无效的 bug,详见:[https://ask.dcloud.net.cn/question/140824?item_id=209458&rf=false](https://ask.dcloud.net.cn/question/140824?item_id=209458&rf=false) +- uni-fab 修复 小程序端由于 style 使用了对象导致报错,[详情](https://ask.dcloud.net.cn/question/152790?item_id=211778&rf=false) +- uni-fab 修复 nvue 环境下,具有 tabBar 时,fab 组件下部位置无法正常获取 --window-bottom 的bug,详见:[https://ask.dcloud.net.cn/question/110638?notification_id=826310](https://ask.dcloud.net.cn/question/110638?notification_id=826310) +- uni-forms 优化 根据 rules 自动添加 required 的问题 +- uni-forms 修复 item 未设置 require 属性,rules 设置 require 后,星号也显示的 bug,详见:[https://ask.dcloud.net.cn/question/151540](https://ask.dcloud.net.cn/question/151540) +- uni-nav-bar 修复 nvue 环境下 fixed 为 true 的情况下,无法置顶的 bug +- uni-notice-bar 新增 属性 fontSize,可修改文字大小。 +- uni-pagination 修复,未对主题色设置默认色,导致未引入 uni-scss 变量文件报错。 +- uni-pagination 修复,未对移动端当前页文字做主题色适配。 +- uni-pagination 修复 es 语言 i18n 错误 +## 1.4.21(2022-09-19) +- 修复,安装时未导入 uni-data-select 和 uni-tooltip 的问题。 +## 1.4.20(2022-07-25) +- uni-section 新增组件 +- uni-forms 修复 model 需要校验的值没有声明对应字段时,导致第一次不触发校验的bug + +## 1.4.19(2022-07-07) +- uni-data-picker 优化 pc端图标位置不正确的问题 +- uni-data-select 修复 pc端宽度异常的bug +## 1.4.18(2022-07-06) +- uni-forms 【重要】组件逻辑重构,部分用法旧版本不兼容,请注意兼容问题 +- uni-forms 【重要】组件使用 Provide/Inject 方式注入依赖,提供了自定义表单组件调用 uni-forms 校验表单的能力 +- uni-forms 新增 更多表单示例 +- uni-forms 新增 model 属性,等同于原 value/modelValue 属性,旧属性即将废弃 +- uni-forms 新增 validateTrigger 属性的 blur 值,仅 uni-easyinput 生效 +- uni-forms 新增 onFieldChange 方法,可以对子表单进行校验,可替代binddata方法 +- uni-forms 新增 子表单的 setRules 方法,配合自定义校验函数使用 +- uni-forms 新增 uni-forms-item 的 setRules 方法,配置动态表单使用可动态更新校验规则 +- uni-forms 修复 由 1.4.0 引发的 label 插槽不生效的bug +- uni-forms 修复 子组件找不到 setValue 报错的bug +- uni-forms 修复 uni-data-picker 在 uni-forms-item 中报错的bug +- uni-forms 修复 uni-data-picker 在 uni-forms-item 中宽度不正确的bug +- uni-forms 修复 表单校验顺序无序问题 +- uni-forms 优化 子表单组件uni-datetime-picker、uni-data-select、uni-data-picker的显示样式 +- uni-forms 优化 动态表单校验方式,废弃拼接name的方式 +- uni-breadcrumb 修复 微信小程序 separator 不显示问题 +- uni-data-checkbox 优化 在 uni-forms 中的依赖注入方式 +- uni-data-picker 修复 uni-data-picker 在 uni-forms-item 中宽度不正确的bug +- uni-data-picker 优化 显示样式 +- uni-data-select 优化 显示样式 +- uni-datetime-picker 修复 日历顶部年月及底部确认未国际化 bug +- uni-datetime-picker 优化 组件样式,调整了组件图标大小、高度、颜色等,与uni-ui风格保持一致 +- uni-easyinput 新增 在 uni-forms 1.4.0 中使用可以在 blur 时校验内容 +- uni-easyinput 新增 clear 事件,点击右侧叉号图标触发 +- uni-easyinput 新增 change 事件 ,仅在输入框失去焦点或用户按下回车时触发 +- uni-easyinput 优化 组件样式,组件获取焦点时高亮显示,图标颜色调整等 +- uni-easyinput 优化 clearable 显示策略 +- uni-file-picker 修复 在uni-forms下样式不生效的bug +- uni-nav-bar 修复 组件示例中插槽用法无法显示内容的bug +- uni-swipe-action 修复 vue3 下使用组件不能正常运行的Bug +- uni-swipe-action 修复 h5端点击click触发两次的Bug +- uni-table 修复 微信小程序存在无使用组件的问题 +## 1.4.17(2022-06-30) +- 支持 ios 安全区 +## 1.4.16(2022-06-06) +- uni-breadcrumb 新增 支持 uni.scss 修改颜色 +- uni-data-select 修复 localdata 赋值不生效的 bug +- uni-data-select 新增 支持选项禁用(数据选项设置 disabled: true 即禁用) +- uni-data-select 修复 当 value 为 0 时选择不生效的 bug +- uni-easyinput 修复 关闭图标某些情况下无法取消的bug +- uni-fav 新增 stat 属性 ,是否开启uni统计功能 +- uni-goods-nav 新增 stat属性,是否开启uni统计功能 +- uni-group 新增 stat属性,是否开启uni统计功能 +- uni-nav-bar 新增 stat 属性 ,可开启统计 title 上报 ,仅使用了title 属性且项目开启了uni统计生效 +- uni-search-bar 新增 readonly 属性,组件只读 +- uni-swipe-action 修复 isPC 找不到的Bug +- uni-swipe-action 修复 在 nvue 下 disabled 失效的bug +- uni-tooltip 修复 content 为空时仍然弹出的bug +## 1.4.15(2022-05-07) +- uni-data-picker 修复 字节小程序 本地数据无法选择下一级的Bug +- uni-data-select 新增 记住上次的选项(仅 collection 存在时有效) +- uni-search-bar 修复 vue3 input 事件不生效的bug +- uni-search-bar 修复 多余代码导致的bug +- uni-tooltip 更新 text 属性变更为 content +- uni-tooltip 更新 移除 width 属性 +- uni-tooltip 修复 组件根 text 嵌套组件 warning +## 1.4.14(2022-04-18) +- uni-datetime-picker 修复 Vue3 下动态赋值,单选类型未响应的 bug +- uni-easyinput 修复 默认值不生效的bug +## 1.4.13(2022-04-02) +- uni-calendar 修复 条件编译 nvue 不支持的 css 样式 +- uni-calendar 修复 startDate、 endDate 属性失效的 bug +- uni-data-picker 修复 nvue 不支持的 v-show 的 bug +- uni-data-picker 修复 条件编译 nvue 不支持的 css 样式 +- uni-datetime-picker 修复 Vue3 下动态赋值未响应的 bug +- uni-easyinput 修复 value不能为0的bug +- uni-popup 修复 弹出层内部无法滚动的bug +- uni-popup 修复 小程序中高度错误的bug +- uni-popup 修复 快速调用open出现问题的Bug +- uni-rate 修复 条件判断 `NaN` 错误的 bug +- uni-swipe-action 修复 按钮字体大小不能设置的bug +- uni-swipe-action 修复 h5和app端下报el错误的bug +- uni-swipe-action 修复 HBuilderX 1.4.X 版本中,h5和app端下报错的bug +## 1.4.12(2022-02-19) +- uni-collapse 修复 初始化的时候 ,open 属性失效的bug +- uni-data-checkbox 修复 multiple 为 true 时,v-model 的值为 null 报错的 bug +- uni-icons 优化 size 属性可以传入不带单位的字符串数值 +- uni-icons 优化 size 支持其他单位 +- uni-nav-bar 新增 left-width/right-width属性 ,可修改左右两侧的宽度 +- uni-popup 修复 safeArea 属性不能设置为false的bug +## 1.4.11(2022-01-21) +- uni-collapse 修复 微信小程序resize后组件收起的bug +- uni-countdown 修复 在微信小程序中样式不生效的bug +- uni-countdown 新增 update 方法 ,在动态更新时间后,刷新组件 +- uni-load-more 新增 showText属性 ,是否显示文本 +- uni-load-more 修复 nvue 平台下不显示文本的bug +- uni-load-more 修复 微信小程序平台样式选择器报警告的问题 +- uni-nav-bar 修复 在vue下,标题不垂直居中的bug +- uni-nav-bar 修复 height 属性类型错误 +- uni-nav-bar 新增 height 属性,可修改组件高度 +- uni-nav-bar 新增 dark 属性可可开启暗黑模式 +- uni-nav-bar 优化 标题字数过多显示省略号 +- uni-nav-bar 优化 插槽,插入内容可完全覆盖 +- uni-popup 修复 isMaskClick 失效的bug +- uni-popup 新增 cancelText \ confirmText 属性 ,可自定义文本 +- uni-popup 新增 maskBackgroundColor 属性 ,可以修改蒙版颜色 +- uni-popup 优化 maskClick属性 更新为 isMaskClick ,解决微信小程序警告的问题 + +## 1.4.10(2022-01-17) +- uni-card 修复 在vue页面下略缩图显示不正常的bug +- uni-datetime-picker 修复 clear-icon 属性在小程序平台不生效的 bug +- uni-datetime-picker 修复 日期范围选在小程序平台,必须多点击一次才能取消选中状态的 bug +- uni-fab 更新 组件依赖 +- +- uni-icons 修复 nvue 有些图标不显示的bug,兼容老版本图标 +- uni-icons 优化 示例可复制图标名称 +- uni-nav-bar 修复 color 属性不生效的bug +- uni-popup 修复 设置 safeArea 属性不生效的bug +- uni-popup 优化 组件示例 +- uni-popup 修复 vuedoc 文字错误 +## 1.4.9(2021-11-23) +- uni-ui 修复 vue3中某些scss变量无法找到的问题 +- uni-combox 优化 label、label-width 属性 +- uni-data-picker 修复 由上个版本引发的map、v-model等属性不生效的bug +- uni-file-picker 修复 参数为对象的情况下,url在某些情况显示错误的bug +- uni-icons 优化 兼容旧组件 type 值 +- uni-list 修复 在vue3中to属性在发行应用的时候报错的bug +- uni-scss 修复 vue3中scss语法兼容问题 +- uni-transition 修复 init 方法初始化问题 +## 1.4.8(2021-11-19) +- uni-fab 修复 阴影颜色不正确的bug +## 1.4.7(2021-11-19) +- uni-ui 新增 支持国际化 +- uni-ui 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- uni-ui 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-ui](https://uniapp.dcloud.io/component/uniui/uni-ui) +- uni-badge 修改 size 属性默认值调整为 small +- uni-badge 修改 type 属性,默认值调整为 error,info 替换 default +- uni-badge 修复 在字节小程序上样式不生效的 bug +- uni-calendar 修复 弹出层被 tabbar 遮盖 bug +- uni-card 重构插槽的用法 ,header 替换为 title +- uni-card 新增 actions 插槽 +- uni-card 新增 cover 封面图属性和插槽 +- uni-card 新增 padding 内容默认内边距离 +- uni-card 新增 margin 卡片默认外边距离 +- uni-card 新增 spacing 卡片默认内边距 +- uni-card 新增 shadow 卡片阴影属性 +- uni-card 取消 mode 属性,可使用组合插槽代替 +- uni-card 取消 note 属性 ,使用actions插槽代替 +- uni-collapse 优化 show-arrow 属性默认为true +- uni-collapse 新增 show-arrow 属性,控制是否显示右侧箭头 +- uni-countdown 新增 font-size 支持自定义字体大小 +- uni-data-checkbox 修复 在uni-forms中 modelValue 中不存在当前字段,当前字段必填写也不参与校验的问题 +- uni-data-checkbox 修复 单选 list 模式下 ,icon 为 left 时,选中图标不显示的问题 +- uni-data-checkbox 修复 在 uni-forms 中重置表单,错误信息无法清除的问题 +- uni-dateformat 优化 默认时间不再是当前时间,而是显示'-'字符 +- uni-datetime-picker 修复 hide-second 在移动端的 bug +- uni-datetime-picker 修复 单选赋默认值时,赋值日期未高亮的 bug +- uni-datetime-picker 修复 赋默认值时,移动端未正确显示时间的 bug +- uni-datetime-picker 新增 hide-second 属性,支持只使用时分,隐藏秒 +- uni-datetime-picker 优化 取消选中时(范围选)直接开始下一次选择, 避免多点一次 +- uni-datetime-picker 优化 移动端支持清除按钮,同时支持通过 ref 调用组件的 clear 方法 +- uni-datetime-picker 优化 调整字号大小,美化日历界面 +- uni-datetime-picker 优化 范围选择器在 pc 端过宽的问题 +- uni-datetime-picker 新增 支持作为 uni-forms 子组件相关功能 +- uni-datetime-picker 修复 在 uni-forms 中使用时,选择时间报 NAN 错误的 bug +- uni-datetime-picker 修复 type 属性动态赋值无效的 bug +- uni-datetime-picker 修复 ‘确认’按钮被 tabbar 遮盖 bug +- uni-datetime-picker 修复 组件未赋值时范围选左、右日历相同的 bug +- uni-datetime-picker 修复 范围选未正确显示当前值的 bug +- uni-datetime-picker 修复 h5 平台(移动端)报错 'cale' of undefined 的 bug +- uni-easyinput 修复 在 uni-forms 的动态表单中默认值校验不通过的 bug +- uni-easyinput 修复 在 uni-forms 中重置表单,错误信息无法清除的问题 +- uni-file-picker 新增 参数中返回 fileID 字段 +- uni-file-picker 修复 腾讯云传入fileID 不能回显的bug +- uni-file-picker 修复 选择图片后,不能放大的问题 +- uni-file-picker 修复 由于 0.2.11 版本引起的不能回显图片的Bug +- uni-file-picker 新增 clearFiles(index) 方法,可以手动删除指定文件 +- uni-file-picker 修复 v-model 值设为 null 报错的Bug +- uni-file-picker 修复 return-type="object" 时,无法删除文件的Bug +- uni-file-picker 修复 auto-upload 属性失效的Bug +- uni-forms 修复 label 插槽不生效的bug +- uni-forms 修复 没有添加校验规则的字段依然报错的Bug +- uni-forms 修复 重置表单错误信息无法清除的问题 +- uni-forms 修复 表单验证只生效一次的问题 +- uni-icons 新增 更多图标 +- uni-icons 优化 自定义图标使用方式 +- uni-link 修复 在 nvue 下不显示的 bug +- uni-pagination 修复 current 、value 属性未监听,导致高亮样式失效的 bug +- uni-rate 优化 默认值修改为 0 颗星 +- uni-search-bar 修复 value 属性与 modelValue 属性不兼容的Bug +- uni-swipe-action 新增 close-all 方法,关闭所有已打开的组件 +- uni-swipe-action 新增 resize() 方法,在非微信小程序、h5、app-vue端出现不能滑动的问题的时候,重置组件 +- uni-swipe-action 修复 app 端偶尔出现类似 Page[x][-x,xx;-x,xx,x,x-x] 的问题 +- uni-swipe-action 优化 微信小程序、h5、app-vue 滑动逻辑,避免出现动态新增组件后不能滑动的问题 +- uni-tag 新增 提供组件设计资源,组件样式调整 +- uni-tag 移除 插槽 +- uni-tag 移除 type 属性的 royal 选项 +- uni-tag type 不是 default 时,size 为 small 字体大小显示不正确 +## 1.4.2(2021-08-20) +- 新增 uni-ui 组件支持国际化 i18n +- uni-collapse 优化 show-arrow 属性默认为true +- uni-collapse 新增 show-arrow 属性,控制是否显示右侧箭头 +- uni-data-checkbox 修复 单选 list 模式下 ,icon 为 left 时,选中图标不显示的问题 +- uni-easyinput 修复 在 uni-forms 的动态表单中默认值校验不通过的 bug +- uni-file-picker 修复 由于 0.2.11 版本引起的不能回显图片的Bug +- uni-file-picker 新增 clearFiles(index) 方法,可以手动删除指定文件 +- uni-file-picker 修复 v-model 值设为 null 报错的Bug +- uni-swipe-action 新增 close-all 方法,关闭所有已打开的组件 +- uni-swipe-action 新增 resize() 方法,在非微信小程序、h5、app-vue端出现不能滑动的问题的时候,重置组件 +- uni-swipe-action 修复 app 端偶尔出现类似 Page[x][-x,xx;-x,xx,x,x-x] 的问题 +- uni-swipe-action 优化 微信小程序、h5、app-vue 滑动逻辑,避免出现动态新增组件后不能滑动的问题 +## 1.4.0(2021-08-13) +- uni-calendar 修复 弹出层被 tabbar 遮盖 bug +- uni-data-checkbox 修复 在 uni-forms 中重置表单,错误信息无法清除的问题 +- uni-dateformat 调整 默认时间不再是当前时间,而是显示'-'字符 +- uni-datetime-picker 新增 适配 vue3 +- uni-datetime-picker 新增 支持作为 uni-forms 子组件相关功能 +- uni-datetime-picker 修复 在 uni-forms 中使用时,选择时间报 NAN 错误的 bug +- uni-datetime-picker 修复 type 属性动态赋值无效的 bug +- uni-datetime-picker 修复 ‘确认’按钮被 tabbar 遮盖 bug +- uni-datetime-picker 修复 组件未赋值时范围选左、右日历相同的 bug +- uni-datetime-picker 修复 范围选未正确显示当前值的 bug +- uni-datetime-picker 修复 h5 平台(移动端)报错 'cale' of undefined 的 bug +- uni-easyinput 修复 在 uni-forms 中重置表单,错误信息无法清除的问题 +- uni-file-picker 修复 return-type="object" 时,无法删除文件的Bug +- uni-file-picker 修复 auto-upload 属性失效的Bug +- uni-forms 修复 没有添加校验规则的字段依然报错的Bug +- uni-forms 修复 重置表单错误信息无法清除的问题 +- uni-forms 优化 组件文档 +- uni-forms 修复 表单验证只生效一次的问题 +- uni-tag type 不是 default 时,size 为 small 字体大小显示不正确 +## 1.3.9(2021-08-02) +- uni-datetime-picker 新增 return-type 属性支持返回 date 日期对象 +- uni-file-picker 修复 fileExtname属性不指定值报错的Bug +- uni-file-picker 修复 在某种场景下图片不回显的Bug +- uni-link 支持自定义插槽 +## 1.3.8(2021-07-31) +- uni-ui 组件兼容 vue3 +- uni-collapse 修复 由1.2.0版本引起的 change 事件返回 undefined 的Bug +- uni-collapse 优化 组件示例 +- uni-collapse 新增 组件折叠动画 +- uni-collapse 新增 value\v-model 属性 ,动态修改面板折叠状态 +- uni-collapse 新增 title 插槽 ,可定义面板标题 +- uni-collapse 新增 border 属性 ,显示隐藏面板内容分隔线 +- uni-collapse 新增 title-border 属性 ,显示隐藏面板标题分隔线 +- uni-collapse 修复 resize 方法失效的Bug +- uni-collapse 修复 change 事件返回参数不正确的Bug +- uni-collapse 优化 H5、App 平台自动更具内容更新高度,无需调用 reszie() 方法 +- uni-data-checkbox 优化 在uni-forms组件,与label不对齐的问题 +- uni-data-checkbox 修复 单选默认值为0不能选中的Bug +- uni-easyinput 优化 errorMessage 属性支持 Boolean 类型 +- uni-file-picker 修复 return-type为object下,返回值不正确的Bug +- uni-file-picker 修复(重要) H5 平台下如果和uni-forms组件一同使用导致页面卡死的问题 +- uni-file-picker 优化 h5平台下上传文件导致页面卡死的问题 +- uni-forms 修复 vue2 下条件编译导致destroyed生命周期失效的Bug +- uni-forms 修复 1.2.1 引起的示例在小程序平台报错的Bug +- uni-forms 修复 动态校验表单,默认值为空的情况下校验失效的Bug +- uni-forms 修复 不指定name属性时,运行报错的Bug +- uni-forms 优化 label默认宽度从65调整至70,使required为true且四字时不换行 +- uni-forms 优化 组件示例,新增动态校验示例代码 +- uni-forms 优化 组件文档,使用方式更清晰 +- uni-list 修复 与其他组件嵌套使用时,点击失效的Bug +- uni-swipe-action 修复 跨页面修改组件数据 ,导致不能滑动的问题 +## 1.3.7(2021-07-16) +- uni-ui 兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +- uni-datetime-picker 修复 单选日期类型,初始赋值后不在当前日历的 bug +- uni-datetime-picker 新增 clearIcon 属性,显示框的清空按钮可配置显示隐藏(仅 pc 有效) +- uni-datetime-picker 优化 移动端移除显示框的清空按钮,无实际用途 +- uni-datetime-picker 修复 组件赋值为空,界面未更新的 bug +- uni-datetime-picker 修复 start 和 end 不能动态赋值的 bug +- uni-datetime-picker 修复 范围选类型,用户选择后再次选择右侧日历(结束日期)显示不正确的 bug +## 1.3.6(2021-07-09) +- uni-data-checkbox 优化 删除无用日志 +- uni-data-checkbox 修复 由 0.1.9 引起的非 nvue 端图标不显示的问题 +- uni-data-checkbox 修复 nvue 黑框样式问题 +- uni-datetime-picker 修复 范围选择不能动态赋值的 bug +- uni-datetime-picker 修复 范围选择的初始时间在一个月内时,造成无法选择的bug +- uni-datetime-picker 优化 弹出层在超出视窗边缘定位不准确的问题 +- uni-datetime-picker 修复 范围起始点样式的背景色与今日样式的字体前景色融合,导致日期字体看不清的 bug +- uni-datetime-picker 优化 弹出层在超出视窗边缘被遮盖的问题 +- uni-datetime-picker 新增 maskClick 事件 +- uni-datetime-picker 修复 特殊情况日历 rpx 布局错误的 bug,rpx -> px +- uni-datetime-picker 修复 范围选择时清空返回值不合理的bug,['', ''] -> [] +- uni-datetime-picker 新增 日期时间显示框支持插槽 +- uni-file-picker 修复 sourceType 缺少默认值导致 ios 无法选择文件 +- uni-file-picker 优化 解耦与uniCloud的强绑定关系 ,如不绑定服务空间,默认autoUpload为false且不可更改 +- uni-table 新增 uni-th 支持 date 日期筛选范围 +- uni-table 新增 uni-th 支持 range 筛选范围 +- uni-table 新增 uni-th 筛选功能 +## 1.3.5(2021-07-02) +- uni-card 优化 图文卡片无图片加载时,提供占位图标 +- uni-card 新增 header 插槽,自定义卡片头部( 图文卡片 mode="style" 时,不支持) +- uni-card 修复 thumbnail 不存在仍然占位的 bug +- uni-data-checkbox 修复 selectedTextColor 属性不生效的Bug +- uni-datetime-picker 优化 添加 uni-icons 依赖 +- uni-easyinput 修复 confirmType 属性(仅 type="text" 生效)导致多行文本框无法换行的 bug +- uni-file-picker 修复 由 0.0.10 版本引发的 returnType 属性失效的问题 +- uni-file-picker 优化 文件上传后进度条消失时机 +- uni-file-picker 修复 在uni-forms 中,删除文件 ,获取的值不对的Bug +- uni-forms 修复 pattern 属性在微信小程序平台无效的问题 +## 1.3.4(2021-06-25) +- uni-badge 优化 示例项目 +- uni-countdown 修复 uni-countdown 重复赋值跳两秒的 bug +- uni-easyinput 修复 passwordIcon 属性拼写错误的 bug +- uni-forms 修复 validate-trigger属性为submit且err-show-type属性为toast时不能弹出的Bug +- uni-forms 修复 只写setRules方法而导致校验不生效的Bug +- uni-forms 修复 由上个办法引发的错误提示文字错位的Bug +- uni-forms 修复 不设置 label 属性 ,无法设置label插槽的问题 +- uni-forms 修复 不设置label属性,label-width属性不生效的bug +- uni-forms 修复 setRules 方法与rules属性冲突的问题 +- uni-link 新增 download 属性,H5平台下载文件名 +- uni-popup 新增 mask-click 遮罩层点击事件 +- uni-popup 修复 nvue 平台中间弹出后,点击内容,再点击遮罩无法关闭的Bug +- uni-tag 修复 uni-tag 在字节跳动小程序上 css 类名编译错误的 bug +## 1.3.3(2021-06-18) +- uni-easyinput 新增 passwordIcon 属性,当type=password时是否显示小眼睛图标 +- uni-easyinput 修复 confirmType 属性不生效的问题 +- uni-easyinput 修复 disabled 状态可清出内容的 bug +- uni-file-picker 修复 删除文件时无法触发 v-model 的Bug +- uni-popup 修复 H5平台中间弹出后,点击内容,再点击遮罩无法关闭的Bug +- uni-popup 修复 错误的 watch 字段 +- uni-popup 修复 safeArea 属性不生效的问题 +- uni-popup 修复 点击内容,再点击遮罩无法关闭的Bug +## 1.3.2(2021-06-04) +- uni-data-checkbox 新增 map 属性,可以方便映射text/value属性 +- uni-data-checkbox 修复 不关联服务空间的情况下组件报错的Bug +- uni-data-picker 修复 上个版本引出的本地数据无法选择带有children的2级节点 +- uni-forms 修复 动态删减数据导致报错的问题 +- uni-forms 新增 modelValue 属性 ,value 即将废弃 +- uni-forms 新增 uni-forms-item 可以设置单独的 rules +- uni-forms 新增 validate 事件增加 keepitem 参数,可以选择那些字段不过滤 +- uni-forms 优化 submit 事件重命名为 validate +- uni-data-picker 修复 无法加载云端数据的问题 +- uni-data-picker 修复 v-model无效问题 +- uni-data-picker 修复 loaddata 为空数据组时加载时间过长问题 +- uni-datetime-picker 修复 图标在小程序上不显示的 bug +- uni-datetime-picker 优化 重命名引用组件,避免潜在组件命名冲突 +- uni-datetime-picker 优化 代码目录扁平化 +- uni-tag 修复 未定义 sass 变量 "$uni-color-royal" 的bug +## 1.3.1(2021-05-14) +- uni-badge 新增 uni-badge 的 absolute 属性,支持定位 +- uni-badge 新增 uni-badge 的 offset 属性,支持定位偏移 +- uni-badge 新增 uni-badge 的 is-dot 属性,支持仅显示有一个小点 +- uni-badge 新增 uni-badge 的 max-num 属性,支持自定义封顶的数字值,超过 99 显示99+ +- uni-badge 优化 uni-badge 属性 custom-style, 支持以对象形式自定义样式 +- uni-badge 修复 uni-badge 在 App 端,数字小于10时不是圆形的bug +- uni-badge 修复 uni-badge 在父元素不是 flex 布局时,宽度缩小的bug +- uni-badge 新增 uni-badge 属性 custom-style, 支持自定义样式 +- uni-datetime-picker 修复 ios 下不识别 '-' 日期格式的 bug +- uni-datetime-picker 优化 pc 下弹出层添加边框和阴影 +- uni-datetime-picker 修复 在 admin 中获取弹出层定位错误的bug +- uni-datetime-picker 修复 type 属性向下兼容,默认值从 date 变更为 datetime +- uni-datetime-picker 支持日历形式的日期+时间的范围选择 +- uni-steps 修复 uni-steps 横向布局时,多行文字高度不合理的 bug +- uni-countdown 修复 uni-countdown 不能控制倒计时的 bug +- uni-tag 修复 royal 类型无效的bug +- uni-tag 修复 uni-tag 宽度不自适应的bug +- uni-tag 新增 uni-tag 支持属性 custom-style 自定义样式 +- uni-link 新增 href 属性支持 tel:|mailto: +- uni-popup 修复 组件内放置 input 、textarea 组件,无法聚焦的问题 +- uni-popup 新增 type 属性的 left\right 值,支持左右弹出 +- uni-popup 新增 open(String:type) 方法参数 ,可以省略 type 属性 ,直接传入类型打开指定弹窗 +- uni-popup 新增 backgroundColor 属性,可定义主窗口背景色,默认不显示背景色 +- uni-popup 新增 safeArea 属性,是否适配底部安全区 +- uni-popup 修复 App\h5\微信小程序底部安全区占位不对的Bug +- uni-popup 修复 App 端弹出等待的Bug +- uni-popup 优化 提升低配设备性能,优化动画卡顿问题 +- uni-popup 优化 更简单的组件自定义方式 +- uni-table 修复 示例项目缺少组件的Bug +- uni-forms 修复 自定义检验器失效的问题 +- uni-title 修复 示例项目缺少组件的Bug +- uni-transition 修复 示例项目缺少组件的Bug +- uni-swiper-dot 修复 示例项目缺少组件的Bug +- uni-ui 新增 组件示例地址 +## 1.3.0(2021-04-23) +- uni-combox 优化 添加依赖 uni-icons, 导入后自动下载依赖 +- uni-data-picker 修复 非树形数据有 where 属性查询报错的问题 +- uni-fav 优化 添加依赖 uni-icons, 导入后自动下载依赖 +- uni-goods-nav 优化 添加依赖 uni-icons, 导入后自动下载依赖 +- uni-nav-bar 优化 添加依赖 uni-icons, 导入后自动下载依赖 +- uni-notice-bar 优化 添加依赖 uni-icons, 导入后自动下载依赖 +- uni-number-box 修复 uni-number-box 浮点数运算不精确的 bug +- uni-number-box 修复 uni-number-box change 事件触发不正确的 bug +- uni-number-box 新增 uni-number-box v-model 双向绑定 +- uni-rate 修复 布局变化后 uni-rate 星星计算不准确的 bug +- uni-rate 优化 添加依赖 uni-icons, 导入 uni-rate 自动下载依赖 +- uni-search-bar 优化 添加依赖 uni-icons, 导入后自动下载依赖 +- uni-steps 优化 添加依赖 uni-icons, 导入后自动下载依赖 +- uni-transition 新增 通过方法自定义动画 +- uni-transition 新增 custom-class 非 NVUE 平台支持自定义 class 定制样式 +- uni-transition 优化 动画触发逻辑,使动画更流畅 +- uni-transition 优化 支持单独的动画类型 +- uni-transition 优化 文档示例 +## 1.2.13(2021-04-16) +- uni-ui 新增 uni-data-picker 支持云端非树形表结构数据 +- uni-ui 修复 uni-data-checkbox nvue 下无法选中的问题 +- uni-ui 修复 uni-data-picker 根节点 parent_field 字段等于null时选择界面错乱问题 +- uni-ui 修复 uni-file-picker 选择的文件非 file-extname 字段指定的扩展名报错的Bug +- uni-ui 修复 uni-swipe-action 报错 nv_navigator is not defined 的bug +- uni-ui 修复 uni-load-more 在首页使用时,h5 平台报 'uni is not defined' 的 bug +- uni-ui 优化 uni-file-picker file-extname 字段支持字符串写法,多个扩展名需要用逗号分隔 +- uni-ui 优化 uni-pagination PC 和 移动端适配不同的 ui +- uni-ui 更新 uni-file-picker 组件示例 +- uni-ui 修复 uni-nav-bar 当 fixed 属性为 true 时铺不满屏幕的 bug +- uni-ui 新增 uni-search-bar 的 focus 事件 +- uni-ui 修复 uni-rate 属性 margin 值为 string 组件失效的 bug +- uni-data-picker 修复 本地数据概率无法回显时问题 +- uni-table 新增 sortable 属性,是否开启单列排序 +- uni-table 优化 表格多选逻辑 +## 1.2.12(2021-03-23) +- uni-ui 新增 uni-datetime-picker 的 hide-second 属性、border 属性; +- uni-ui 修复 uni-datetime-picker 选择跟显示的日期不一样的 bug, +- uni-ui 修复 uni-datetime-picker change事件触发2次的 bug +- uni-ui 修复 uni-datetime-picker 分、秒 end 范围错误的 bug +- uni-ui 新增 uni-tr selectable 属性,用于 type=selection 时,设置某行是否可由全选按钮控制 +- uni-ui 新增 uni-data-checkbox 新增 disabled属性,支持nvue +- uni-ui 优化 uni-data-checkbox 无选项时提示“暂无数据” +- uni-ui 优化 uni-data-checkbox 默认颜色显示 +- uni-ui 新增 uni-link href 属性支持 tel:|mailto: +- uni-ui 新增 uni-table 示例demo +- uni-ui 修复 uni-data-picker 微信小程序某些情况下无法选择的问题,事件无法触发的问题 +- uni-ui 修复 uni-nav-bar easycom 下,找不到 uni-status-bar 的bug +- uni-ui 修复 uni-easyinput 示例在 qq 小程序上的bug +- uni-ui 修复 uni-forms 动态显示uni-forms-item的情况下,submit 方法获取值错误的Bug +- uni-ui 调整 cli 项目 建议使用 easycom 方式引用组件,如使用按需引用,需手动维护组件内部引用 + +## 1.2.11(2021-02-24) +- 调整为uni_modules目录规范 +- uni-data-picker 新增 数据驱动的picker选择器 +- uni-file-picker 新增 文件选择上传 +- uni-row 新增 栅格系统 +- uni-data-checkbox 优化 支持 nvue +- uni-forms 修复 偶发性获取表单值错误的Bug +- uni-forms 修复 校验 uni-data-picker value 为 0 时,返回值错误的Bug +- uni-forms 修复 uni-forms-item 组件隐藏时依然触发校验的bug +- uni-forms 优化 实时校验 +- uni-forms 优化 兼容nvue页面 +- uni-easyinput 优化 兼容nvue页面 +- uni-group 优化 兼容nvue页面 +- uni-popup 优化 组件适配 PC +- uni-fab 优化 适配 PC +- uni-swiper-dot 优化 适配 PC +- uni-rate 优化 适配 PC +- uni-notice-bar 优化 适配 PC +- uni-indexed-list 优化 适配 PC +- uni-combox 优化 适配 PC +- uni-transition 优化 适配 PC +- uni-nav-bar 优化 适配 PC +- uni-swipe-action 优化 适配 PC diff --git a/weihu/uni_modules/uni-ui/components/uni-ui/uni-ui.vue b/weihu/uni_modules/uni-ui/components/uni-ui/uni-ui.vue new file mode 100644 index 0000000..0970892 --- /dev/null +++ b/weihu/uni_modules/uni-ui/components/uni-ui/uni-ui.vue @@ -0,0 +1,7 @@ + + + diff --git a/weihu/uni_modules/uni-ui/package.json b/weihu/uni_modules/uni-ui/package.json new file mode 100644 index 0000000..d31a390 --- /dev/null +++ b/weihu/uni_modules/uni-ui/package.json @@ -0,0 +1,130 @@ +{ + "id": "uni-ui", + "displayName": "uni-ui", + "version": "1.5.6", + "description": "uni-ui 是基于uni-app的、全端兼容的、高性能UI框架", + "keywords": [ + "uni-ui", + "uniui", + "UI组件库", + "ui框架", + "ui库" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "^3.2.10" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-badge", + "uni-calendar", + "uni-card", + "uni-collapse", + "uni-combox", + "uni-countdown", + "uni-data-checkbox", + "uni-data-picker", + "uni-data-select", + "uni-dateformat", + "uni-datetime-picker", + "uni-drawer", + "uni-easyinput", + "uni-fab", + "uni-fav", + "uni-file-picker", + "uni-forms", + "uni-goods-nav", + "uni-grid", + "uni-group", + "uni-icons", + "uni-indexed-list", + "uni-link", + "uni-list", + "uni-load-more", + "uni-nav-bar", + "uni-notice-bar", + "uni-number-box", + "uni-pagination", + "uni-popup", + "uni-rate", + "uni-row", + "uni-search-bar", + "uni-section", + "uni-segmented-control", + "uni-steps", + "uni-swipe-action", + "uni-swiper-dot", + "uni-table", + "uni-tag", + "uni-title", + "uni-tooltip", + "uni-transition" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "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", + "京东": "u" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/weihu/uni_modules/uni-ui/readme.md b/weihu/uni_modules/uni-ui/readme.md new file mode 100644 index 0000000..23f8456 --- /dev/null +++ b/weihu/uni_modules/uni-ui/readme.md @@ -0,0 +1,247 @@ +> 当前插件不包含示例页面 ,如需示例请在 HBuiderX 中新建 `hello uni-app > 扩展组件` 中查看 +> +> 代码示例地址 :[https://ext.dcloud.net.cn/plugin?id=4941](https://ext.dcloud.net.cn/plugin?id=4941) +> +> 组件演示地址:[https://hellouniapp.dcloud.net.cn](https://hellouniapp.dcloud.net.cn/pages/extUI/badge/badge) +> +> 组件文档地址:[https://uniapp.dcloud.io/component/uniui/uni-ui](https://uniapp.dcloud.io/component/uniui/uni-ui) + +# uni-ui 介绍 + +## uni-ui产品特点 + +### 1. 高性能 + +目前为止,在小程序和混合app领域,暂时还没有比 `uni-ui` 更高性能的框架。 +- 自动差量更新数据 + +虽然uni-app支持小程序自定义组件,所有小程序的ui库都可以用。但小程序自定义组件的ui库都需要使用setData手动更新数据,在大数据量时、或高频更新数据时,很容易产生性能问题。 + +而 `uni-ui` 属于vue组件,uni-app引擎底层自动diff更新数据。当然其实插件市场里众多vue组件都具备这个特点。 +- 优化逻辑层和视图层通讯折损 + +非H5,不管是小程序还是App,不管是app的webview渲染还是原生渲染,全都是逻辑层和视图层分离的。这里就有一个逻辑层和视图层通讯的折损问题。 +比如在视图层拖动一个可跟手的组件,由于通讯的损耗,用js监听很难做到实时跟手。 + +这时就需要使用css动画以及平台底层提供的wxs、bindingx等技术。不过这些技术都比较复杂,所以 `uni-ui` 里做了封装,在需要跟手式操作的ui组件,比如swiperaction列表项左滑菜单,就在底层使用了这些技术,实现了高性能的交互体验 +- 背景停止 + +很多ui组件是会一直动的,比如轮播图、跑马灯。即便这个窗体被新窗体挡住,它在背景层仍然在消耗着硬件资源。在Android的webview版本为chrome66以上,背景操作ui会引发很严重的性能问题,造成前台界面明显卡顿。 + +而 `uni-ui` 的组件,会自动判断自己的显示状态,在组件不再可见时,不会再消耗硬件资源。 + +### 2. 全端 + + `uni-ui` 的组件都是多端自适应的,底层会抹平很多小程序平台的差异或bug。 + +比如导航栏navbar组件,会自动处理不同端的状态栏。 +比如swiperaction组件,在app和微信小程序上会使用交互体验更好的wxs技术,但在不支持wxs的其他小程序端会使用js模拟类似效果。 + + `uni-ui` 还支持nvue原生渲染,[详见](https://github.com/dcloudio/uni-ui/tree/nvue-uni-ui) + +未来 `uni-ui` 还会支持pc等大屏设备。 + +### 3. 与uni统计自动集成实现免打点 + +uni统计是优秀的多端统计平台,见[tongji.dcloud.net.cn](https://tongji.dcloud.net.cn)。 + +除了一张报表看全端,它的另一个重要特点是免打点。 +比如使用 `uni-ui` 的navbar标题栏、收藏、购物车等组件,均可实现自动打点,统计页面标题等各种行为数据。 +当然你也可以关闭uni统计,这不是强制的。 + +### 4. 主题扩展 + + `uni-ui` 支持[uni.scss](https://uniapp.dcloud.io/collocation/uni-scss),可以方便的切换App的风格。 + +ui是一种需求非常发散的产品,DCloud官方也无意用 `uni-ui` 压制第三方ui插件的空间,但官方有义务在性能和多端方面提供一个开源的标杆给大家。 + +我们欢迎更多优秀的ui组件出现,也欢迎更多人贡献 `uni-ui` 的主题风格,满足更多用户的需求。 + + +## 快速开始 + +uni-ui支持 HBuilderX直接新建项目模板、npm安装和单独导入个别组件等多种使用方式 + +### 在HBuilderX 新建uni-app项目的模板中,选择uni-ui模板 +![HBuilderX内创建uni-ui项目](https://img.cdn.aliyun.dcloud.net.cn/uni-app/doc/create-uni-ui-project.jpg) + +由于uni-app独特的[easycom](https://uniapp.dcloud.io/collocation/pages?id=easycom)技术,可以免引用、注册,直接使用各种符合规则的vue组件。 + +在代码区键入`u`,拉出各种内置或uni-ui的组件列表,选择其中一个,即可使用该组件。 + +光标放在组件名称上,按F1,可以查阅组件的文档。 + +![uni-ui代码块](https://img.cdn.aliyun.dcloud.net.cn/uni-app/doc/uni-ui-snippet.jpg) + +### 通过 uni_modules 单独安装组件 +如果你没有创建uni-ui项目模板,也可以在你的工程里,通过 uni_modules 单独安装需要的某个组件。下表为uni-ui的扩展组件清单,点击每个组件在详情页面可以导入组件到项目下,导入后直接使用即可,无需import和注册。 + +|组件名|组件说明| +|---|---| +|uni-badge|[数字角标](https://ext.dcloud.net.cn/plugin?name=uni-badge)| +|uni-calendar|[日历](https://ext.dcloud.net.cn/plugin?name=uni-calendar)| +|uni-card|[卡片](https://ext.dcloud.net.cn/plugin?name=uni-card)| +|uni-collapse|[折叠面板](https://ext.dcloud.net.cn/plugin?name=uni-collapse)| +|uni-combox|[组合框](https://ext.dcloud.net.cn/plugin?name=uni-combox)| +|uni-countdown|[倒计时](https://ext.dcloud.net.cn/plugin?name=uni-countdown)| +|uni-data-checkbox|[数据选择器](https://ext.dcloud.net.cn/plugin?name=uni-data-checkbox)| +|uni-data-picker|[数据驱动的picker选择器](https://ext.dcloud.net.cn/plugin?name=uni-data-picker)| +|uni-dateformat|[日期格式化](https://ext.dcloud.net.cn/plugin?name=uni-dateformat)| +|uni-datetime-picker|[日期选择器](https://ext.dcloud.net.cn/plugin?name=uni-datetime-picker)| +|uni-drawer|[抽屉](https://ext.dcloud.net.cn/plugin?name=uni-drawer)| +|uni-easyinput|[增强输入框](https://ext.dcloud.net.cn/plugin?name=uni-easyinput)| +|uni-fab|[悬浮按钮](https://ext.dcloud.net.cn/plugin?name=uni-fab)| +|uni-fav|[收藏按钮](https://ext.dcloud.net.cn/plugin?name=uni-fav)| +|uni-file-picker|[文件选择上传](https://ext.dcloud.net.cn/plugin?name=uni-file-picker)| +|uni-forms|[表单](https://ext.dcloud.net.cn/plugin?name=uni-forms)| +|uni-goods-nav|[商品导航](https://ext.dcloud.net.cn/plugin?name=uni-goods-nav)| +|uni-grid|[宫格](https://ext.dcloud.net.cn/plugin?name=uni-grid)| +|uni-group|[分组](https://ext.dcloud.net.cn/plugin?name=uni-group)| +|uni-icons|[图标](https://ext.dcloud.net.cn/plugin?name=uni-icons)| +|uni-indexed-list|[索引列表](https://ext.dcloud.net.cn/plugin?name=uni-indexed-list)| +|uni-link|[超链接](https://ext.dcloud.net.cn/plugin?name=uni-link)| +|uni-list|[列表](https://ext.dcloud.net.cn/plugin?name=uni-list)| +|uni-load-more|[加载更多](https://ext.dcloud.net.cn/plugin?name=uni-load-more)| +|uni-nav-bar|[自定义导航栏](https://ext.dcloud.net.cn/plugin?name=uni-nav-bar)| +|uni-notice-bar|[通告栏](https://ext.dcloud.net.cn/plugin?name=uni-notice-bar)| +|uni-number-box|[数字输入框](https://ext.dcloud.net.cn/plugin?name=uni-number-box)| +|uni-pagination|[分页器](https://ext.dcloud.net.cn/plugin?name=uni-pagination)| +|uni-popup|[弹出层](https://ext.dcloud.net.cn/plugin?name=uni-popup)| +|uni-rate|[评分](https://ext.dcloud.net.cn/plugin?name=uni-rate)| +|uni-row|[布局-行](https://ext.dcloud.net.cn/plugin?name=uni-row)| +|uni-search-bar|[搜索栏](https://ext.dcloud.net.cn/plugin?name=uni-search-bar)| +|uni-segmented-control|[分段器](https://ext.dcloud.net.cn/plugin?name=uni-segmented-control)| +|uni-steps|[步骤条](https://ext.dcloud.net.cn/plugin?name=uni-steps)| +|uni-swipe-action|[滑动操作](https://ext.dcloud.net.cn/plugin?name=uni-swipe-action)| +|uni-swiper-dot|[轮播图指示点](https://ext.dcloud.net.cn/plugin?name=uni-swiper-dot)| +|uni-table|[表格](https://ext.dcloud.net.cn/plugin?name=uni-table)| +|uni-tag|[标签](https://ext.dcloud.net.cn/plugin?name=uni-tag)| +|uni-title|[章节标题](https://ext.dcloud.net.cn/plugin?name=uni-title)| +|uni-transition|[过渡动画](https://ext.dcloud.net.cn/plugin?name=uni-transition)| + + +使用 `uni_modules` 方式安装组件库,可以直接通过插件市场导入,通过右键菜单快速更新组件,不需要引用、注册,直接在页面中使用 `uni-ui` 组件。[点击安装 uni-ui 组件库](https://ext.dcloud.net.cn/plugin?id=55) + +**注意:下载最新的组件目前仅支持 uni_modules ,非 uni_modules 版本最高支持到组件的1.2.10版本** + +如不能升级到 `uni_modules` 版本,可以使用 `uni_modules` 安装好对应组件,将组件拷贝到对应目录。 + +例如需更新 `uni-list`和`uni-badge` ,将 `uni_modules>uni-list>components`和`uni_modules>uni-badege>components`下所有目录拷贝到如下目录即可: + + +**目录示例** + +```json +┌─components 组件目录 +│ ├─uni-list list 列表目录 +│ │ └─uni-list.vue list 组件文件 +│ ├─uni-list-item list-item 列表目录 +│ │ └─uni-list-item.vue list 组件文件 +│ ├─uni-badge badge 角标目录 +│ │ └─uni-badge.vue badge 组件文件 +│ └─ //.... 更多组件文件 +├─pages 业务页面文件存放的目录 +│ ├─index +│ │ └─index.vue index示例页面 +├─main.js Vue初始化入口文件 +├─App.vue 应用配置,用来配置App全局样式以及监听 应用生命周期 +├─manifest.json 配置应用名称、appid、logo、版本等打包信息,详见 +└─pages.json 配置页 + +``` + +### 通过 `uni_modules` 导入全部组件 +如果想一次把所有uni-ui组件导入到项目中,只需要导入一个 `uni-ui` 组件即可 [点击去导入](https://ext.dcloud.net.cn/plugin?id=55)。 + +如果没有自动导入其他组件,可以在 uni-ui 组件目录上右键选择 `安装三方插件依赖` 即可。 + + + +### npm安装 +在 `vue-cli` 项目中可以使用 `npm` 安装 `uni-ui` 库 ,或者直接在 `HBuilderX` 项目中使用 `npm` 。 + +> **注意** +> cli 项目默认是不编译 `node_modules` 下的组件的,导致条件编译等功能失效 ,导致组件异常 +> 需要在根目录创建 `vue.config.js` 文件 ,增加 `@dcloudio/uni-ui` 包的编译即可正常 +> ```javascript +> // vue.config.js +> module.exports = { +> transpileDependencies:['@dcloudio/uni-ui'] +> } +> ``` + + + +**准备 sass** + +`vue-cli` 项目请先安装 sass 及 sass-loader,如在 HBuliderX 中使用,可跳过此步。 + +- 安装 sass +``` + npm i sass -D 或 yarn add sass -D +``` + +- 安装 sass-loader +``` +npm i sass-loader@10.1.1 -D 或 yarn add sass-loader@10.1.1 -D +``` + +> 如果 `node` 版本小于 16 ,sass-loader 请使用低于 @11.0.0 的版本,[sass-loader@11.0.0 不支持 vue@2.6.12 ](https://stackoverflow.com/questions/66082397/typeerror-this-getoptions-is-not-a-function) +> 如果 `node` 版本大于 16 , `sass-loader` 建议使用 `v8.x` 版本 + +**安装 uni-ui** + +``` +npm i @dcloudio/uni-ui 或 yarn add @dcloudio/uni-ui +``` + + + +**配置easycom** + +使用 `npm` 安装好 `uni-ui` 之后,需要配置 `easycom` 规则,让 `npm` 安装的组件支持 `easycom` + +打开项目根目录下的 `pages.json` 并添加 `easycom` 节点: + +```javascript +// pages.json +{ + "easycom": { + "autoscan": true, + "custom": { + // uni-ui 规则如下配置 + "^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue" + } + }, + + // 其他内容 + pages:[ + // ... + ] +} + +``` + +在 ``template`` 中使用组件: + +```html + + + +``` + + **注意** + - uni-ui 现在只推荐使用 `easycom` ,如自己引用组件,可能会出现组件找不到的问题 + - 使用 npm 安装的组件,默认情况下 babel-loader 会忽略所有 node_modules 中的文件 ,导致条件编译失效,需要通过配置 `vue.config.js` 解决: + ```javascript + // 在根目录创建 vue.config.js 文件,并配置如下 + module.exports = { + transpileDependencies: ['@dcloudio/uni-ui'] + } + ``` + - uni-ui 是uni-app内置组件的扩展。注意与web开发不同,uni-ui不包括基础组件,它是基础组件的补充。web开发中有的开发者习惯用一个ui库完成所有开发,但在uni-app体系中,推荐开发者首先使用性能更高的基础组件,然后按需引入必要的扩展组件。 + - `uni-ui` 不支持使用 `Vue.use()` 的方式安装 + + +### 贡献代码 +在使用 `uni-ui` 中,如遇到无法解决的问题,请提 [Issues](https://github.com/dcloudio/uni-ui/issues) 给我们,假如您有更好的点子或更好的实现方式,也欢迎给我们提交 [PR](https://github.com/dcloudio/uni-ui/pulls) \ No newline at end of file diff --git a/weihu/uni_modules/wmf-code/README.md b/weihu/uni_modules/wmf-code/README.md new file mode 100644 index 0000000..231b420 --- /dev/null +++ b/weihu/uni_modules/wmf-code/README.md @@ -0,0 +1,84 @@ + +

文档地址

+
+

https://meet-ui.com/#/

+

为了能够第一时间解决问题,为了不影响各位在项目中使用特此提供微信群交流

+
+ + +
+ +# 温馨提示 + +如果使用cli创建的应用请在`vue.config.js`里面添加如下配置 +``` +module.exports = { + transpileDependencies: [ + /[/\\]node_modules[/\\](.+?)?@uni-ui(.*)[/\\]code-plugs/, + /[/\\]node_modules[/\\](.+?)?@uni-ui(.*)[/\\]code-ui/ + ] +} +``` +# 微信小程序特别说明 + +如果在弹窗里面使用,并且弹窗有动画 当弹窗显示的时候二维码会发生偏移或抖动 +因为微信小程序的canvas在真机预览渲染的是原生组件并不是 h5的canavas 所以在开发工具里面没问题但是真机会有问题 + +解决方案: + + 1. 如果是使用uView组件的弹窗 请关闭动画 + 2. 如果是使用uni-popup组件 关闭动画无效 因为uni的弹窗动画关闭 其实是动画时长为0并且是包含在uni-transition详情请查看uni-popup代码 + +## 如果是使用uni_modules而非Npm + +在`pages.json`里面配置如下 + +```js +"easycom": { + "^w-(.*)": "@/uni_modules/wmf-code/components/w-$1/w-$1.vue"//二维码条形码的配置 如果是uni_modules +}, +"pages": [ + //... +] +``` + +## 如果是使用npm而非uni_modules + +在`pages.json`里面配置如下 + +```js +"easycom": { + "^w-(.*)": "@uni-ui/code-ui/components/w-$1/index.vue"//二维码条形码的配置 如果是npm方式使用 +}, +"pages": [ + //... +] +``` + +## 条形码支持添加文字 + + + + +
+
+ + +
+
+ +# +
+
+ + +
+
+ +# +
+
+ + +
+
diff --git a/weihu/uni_modules/wmf-code/changelog.md b/weihu/uni_modules/wmf-code/changelog.md new file mode 100644 index 0000000..7d21184 --- /dev/null +++ b/weihu/uni_modules/wmf-code/changelog.md @@ -0,0 +1,108 @@ +## 1.6.2(2022-10-24) +* 修复已知问题 +## 1.6.1(2022-10-19) +* 支付宝小程序适配问题 +* 修改文档 +## 1.6.0(2022-07-27) +* 修改条形码bug +## 1.5.9(2022-07-26) +* 修复条形码保存图片部分黑底问题 +## 1.5.8(2022-07-26) +* 修复支付宝小程序图片保存缺失问题 +## 1.5.7(2022-07-09) +* 修复条形码保存缺失问题 +## 1.5.6(2022-07-01) +修改引入错误 +## 1.5.5(2022-07-01) +* 修复vue3无法通过ref获取保存图片方法 +## 1.5.4(2022-06-01) +* 条形码支持添加文字 +## 1.5.3(2022-05-31) +* 修复二维码有时候无法识别问题 +* 建议使用npm方式 +## 1.5.2(2022-05-31) +修改条形码垂直方向生成图片 参数互换 +## 1.5.1(2022-05-31) +条形码增加垂直方向 默认水平方向 +## 1.5.0(2022-05-30) +修改uni_modules引入错误 +## 1.4.9(2022-05-25) +支持vue3 +## 1.4.8(2021-12-06) +* 百度小程序不支持canvas的arcTo方法 如果在百度小程序中不支持的全部默认值 +* 小程序平台绘制文字不支持渐变 取color数组第一个 +## 1.4.7(2021-12-05) +* 修复已知问题 +## 1.4.5(2021-12-05) +* 修复已知问题 +## 1.4.4(2021-11-30) +* level默认值修改为2 +## 1.4.3(2021-11-30) +* 修复引用js_sdk引用路径 +## 1.4.2(2021-11-29) +* 修复设置画布大小时没有带单位px导致显示不全 +## 1.4.1(2021-11-29) +1. 修复在高分辨率屏幕上支付宝小程序显示模糊问题 +2. 修复保存相册图片模糊问题 +## 1.4.0(2021-11-23) +1. 使用TS重构 +2. 新增二维码文字绘制 +3. 新增二维码padding +4. 新增二维码中间图片圆角 圆形 +5. 新增长按事件 +6. 二维码边框支持透明 +7. 颜色最多支持10中颜色渐变 +## 1.3.7(2021-11-08) +修改引入 +## 1.3.6(2021-11-02) +修改引用路径 +## 1.3.5(2021-10-19) +canvas 增加 type="2d" +## 1.3.4(2021-10-14) +1. 修改百度小程序修改参数无法重新渲染问题 +2. 修改纯中文无法识别问题 +## 1.3.3(2021-09-04) +修改uni_module引用路径 +## 1.3.2(2021-09-03) +* 【重要】多个条形码或者二维码同时渲染 +* 增加示例 +## 1.3.1(2021-08-31) +uni_modules支持组件方式 +## 1.3.0(2021-08-31) +支持纯文字以及文字数字 字母的混合 +## 1.2.9(2021-08-30) +新增二维码创建成功回调方法中返回生成的二维码图片 +## 1.2.8(2021-08-20) +支持vue3 +## 1.2.7(2021-08-20) +修改版本号 +## 1.2.6(2021-06-28) +1. 修改自定义组件时微信小程序无法显示二维码的问题 +2. 统一二维码的大小单位为rpx +## 1.2.5(2021-06-25) +二维码logo大小增加默认值:30 +## 1.2.4(2021-06-24) +1. nvue 二维码支持渐变色 +## 1.2.3(2021-06-23) +1. 修改app不支持颜色渐变问题 +2. 修改判断方式Object.prototype.toString.call() +## 1.2.2(2021-06-23) +修改插件描述 +## 1.2.1(2021-06-23) +修改return 错误 +## 1.1.2(2021-06-23) +修改文档 +## 1.1.1(2021-06-23) + 二维码支持渐变色 +## 1.0.8(2021-06-22) +兼容nvue +## 1.0.7(2021-06-09) +1. 修改保存二维码图片的方法名以及传参方式 +2. 修改微信小程序保存二维码时显示为黑色 +3. 二维码增加参数 +## 1.0.6(2021-06-04) +修改 description说明 +## 1.0.5(2021-06-04) +修改文档展示名称 +## 1.0.4(2021-06-04) +修改符合uni_modules规范 diff --git a/weihu/uni_modules/wmf-code/common/helper.js b/weihu/uni_modules/wmf-code/common/helper.js new file mode 100644 index 0000000..b150cd7 --- /dev/null +++ b/weihu/uni_modules/wmf-code/common/helper.js @@ -0,0 +1,105 @@ +// 判断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; +} + +function getUUid(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(''); + } +} +function platform () { + let val = null; + // #ifdef VUE3 + val = 'VUE3' + // #endif + // #ifdef APP-PLUS + val = 'APP-PLUS' + // #endif + // #ifdef APP-PLUS-NVUE || APP-NVUE + val = 'NVUE' + // #endif + // #ifdef H5 + val = 'H5' + // #endif + // #ifdef MP-WEIXIN + val = 'MP-WEIXIN' + // #endif + // #ifdef MP-ALIPAY + val = 'MP-ALIPAY' + // #endif + // #ifdef MP-BAIDU + val = 'MP-BAIDU' + // #endif + // #ifdef MP-TOUTIAO + val = 'MP-TOUTIAO' + // #endif + // #ifdef MP-LARK + val = 'MP-LARK' + // #endif + // #ifdef MP-TOUTIAO + val = 'MP-QQ' + // #endif + // #ifdef MP-KUAISHOU + val = 'MP-KUAISHOU' + // #endif + // #ifdef MP-360 + val = 'MP-360' + // #endif + // #ifdef QUICKAPP-WEBVIEW + val = 'QUICKAPP-WEBVIEW' + // #endif + // #ifdef QUICKAPP-WEBVIEW-UNION + val = 'QUICKAPP-WEBVIEW-UNION' + // #endif + // #ifdef QUICKAPP-WEBVIEW-HUAWEI + val = 'QUICKAPP-WEBVIEW-HUAWEI' + // #endif + return val; + +} +export { + deepClone, + getUUid, + platform +}; diff --git a/weihu/uni_modules/wmf-code/components/w-barcode/w-barcode.vue b/weihu/uni_modules/wmf-code/components/w-barcode/w-barcode.vue new file mode 100644 index 0000000..f4441ab --- /dev/null +++ b/weihu/uni_modules/wmf-code/components/w-barcode/w-barcode.vue @@ -0,0 +1,204 @@ + + + + + + + + diff --git a/weihu/uni_modules/wmf-code/components/w-qrcode/w-qrcode.vue b/weihu/uni_modules/wmf-code/components/w-qrcode/w-qrcode.vue new file mode 100644 index 0000000..5753bb7 --- /dev/null +++ b/weihu/uni_modules/wmf-code/components/w-qrcode/w-qrcode.vue @@ -0,0 +1,175 @@ + + + + + + + + \ No newline at end of file diff --git a/weihu/uni_modules/wmf-code/js_sdk/index.js b/weihu/uni_modules/wmf-code/js_sdk/index.js new file mode 100644 index 0000000..f9d2d4b --- /dev/null +++ b/weihu/uni_modules/wmf-code/js_sdk/index.js @@ -0,0 +1 @@ +var __assign=function(){return(__assign=Object.assign||function(t){for(var e,i=1,r=arguments.length;in[0]&&e[1]>12&15),r+=String.fromCharCode(128|e>>6&63)):r+=String.fromCharCode(192|e>>6&31),r+=String.fromCharCode(128|e>>0&63));return r},SaveCodeImg=function(t){var i=UNIT_CONVERSION(Number(t.width)),r=UNIT_CONVERSION(Number(t.height)),e=getPixelRatio("pixelRatio"),o=i*e,s=r*e;return"MP-ALIPAY"==t.source&&(i=o,r=s),console.log(i,r),new Promise(function(e){"[object String]"==Object.prototype.toString.call(t.id)?uni.canvasToTempFilePath({canvasId:t.id,width:i,height:r,destWidth:o,destHeight:s,fileType:t.type||"jpg",quality:t.quality||1,complete:function(t){e(t)}},t.ctx):"[object Object]"==Object.prototype.toString.call(t.id)&&t.id.toTempFilePath(0,0,i,r,o,s,t.type||"png",1,function(t){e(t)})})},SetGradient=function(t,e,i,r){i=t.createLinearGradient(0,0,e,i);return 1===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(1,r[0])),2===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(1,r[1])),3===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(.5,r[1]),i.addColorStop(1,r[2])),4===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(.35,r[1]),i.addColorStop(.7,r[2]),i.addColorStop(1,r[3])),5===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(.35,r[1]),i.addColorStop(.6,r[2]),i.addColorStop(.8,r[3]),i.addColorStop(1,r[4])),6===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(.25,r[1]),i.addColorStop(.45,r[2]),i.addColorStop(.65,r[3]),i.addColorStop(.85,r[4]),i.addColorStop(1,r[5])),7===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(.15,r[1]),i.addColorStop(.35,r[2]),i.addColorStop(.45,r[3]),i.addColorStop(.65,r[4]),i.addColorStop(.85,r[5]),i.addColorStop(1,r[6])),8===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(.1,r[1]),i.addColorStop(.25,r[2]),i.addColorStop(.45,r[3]),i.addColorStop(.65,r[4]),i.addColorStop(.85,r[5]),i.addColorStop(.9,r[6]),i.addColorStop(1,r[7])),9===r.length&&(i.addColorStop(0,r[0]),i.addColorStop(.2,r[1]),i.addColorStop(.3,r[2]),i.addColorStop(.5,r[3]),i.addColorStop(.6,r[4]),i.addColorStop(.7,r[5]),i.addColorStop(.8,r[6]),i.addColorStop(.9,r[7]),i.addColorStop(1,r[8])),10<=r.length&&(i.addColorStop(0,r[0]),i.addColorStop(.1,r[1]),i.addColorStop(.2,r[2]),i.addColorStop(.3,r[3]),i.addColorStop(.4,r[4]),i.addColorStop(.5,r[5]),i.addColorStop(.6,r[6]),i.addColorStop(.7,r[7]),i.addColorStop(.85,r[8]),i.addColorStop(1,r[9])),i},QRCodeInit=function(){function t(t){void 0===t&&(t=2),this.strinbuf=[],this.eccbuf=[],this.qrframe=[],this.framask=[],this.rlens=[],this.genpoly=[],this.ecclevel=2,this.N1=3,this.N2=3,this.N3=40,this.N4=10,this.neccblk2=0,this.width=0,this.neccblk1=0,this.datablkw=0,this.eccblkwid=0,this.ecclevel=t}return t.prototype.setmask=function(t,e){var i=null;e>=1,this.framask[i+=t]=1},t.prototype.getWidth=function(){return this.width},t.prototype.putalign=function(t,e){this.qrframe[t+this.width*e]=1;for(var i=-2;i<2;i++)this.qrframe[t+i+this.width*(e-2)]=1,this.qrframe[t-2+this.width*(e+i+1)]=1,this.qrframe[t+2+this.width*(e+i)]=1,this.qrframe[t+i+1+this.width*(e+2)]=1;for(i=0;i<2;i++)this.setmask(t-1,e+i),this.setmask(t+1,e-i),this.setmask(t-i,e-1),this.setmask(t+i,e+1)},t.prototype.modnn=function(t){for(;255<=t;)t=((t-=255)>>8)+(255&t);return t},t.prototype.appendrs=function(t,e,i,r){for(var o,s=0;s>=1,this.framask[i+=t]},t.prototype.badruns=function(t){for(var e=0,i=0;i<=t;i++)5<=this.rlens[i]&&(e+=this.N1+this.rlens[i]-5);for(i=3;i=4*this.rlens[i]||3*this.rlens[i+3]>=4*this.rlens[i])&&(e+=this.N3);return e},t.prototype.toNum=function(t){return 0===t?1:0},t.prototype.applymask=function(t){switch(t){case 0:for(var e=0;e>1&1,i=0;i>o-12:e>>o)?(this.qrframe[5-c+this.width*(2-d+this.width-11)]=1,this.qrframe[2-d+this.width-11+this.width*(5-c)]=1):(this.setmask(5-c,2-d+this.width-11),this.setmask(2-d+this.width-11,5-c));for(d=0;d>4;this.strinbuf[2]|=255&n<<4,this.strinbuf[1]=n>>4,this.strinbuf[0]=64|n>>12}else{for(this.strinbuf[a+1]=0,this.strinbuf[a+2]=0;a--;)e=this.strinbuf[a],this.strinbuf[a+2]|=255&e<<4,this.strinbuf[a+1]=e>>4;this.strinbuf[1]|=255&n<<4,this.strinbuf[0]=64|n>>4}for(a=n+3-(h<10?1:0);a>=1)1&s&&(this.qrframe[this.width-1-S+8*this.width]=1,S<6?this.qrframe[8+this.width*S]=1:this.qrframe[8+this.width*(S+1)]=1);for(S=0;S<7;S++,s>>=1)1&s&&(this.qrframe[8+this.width*(this.width-7+S)]=1,S?this.qrframe[6-S+8*this.width]=1:this.qrframe[7+8*this.width]=1);return this.qrframe},t.prototype.badcheck=function(){for(var t=0,e=0,i=0,r=0,o=0,s=0,n=0,h=0;hthis.width*this.width;)l-=this.width*this.width,c++;t+=c*this.N4;for(a=0;ao+1?e[o+1]:-1,r=r.concat(function(t,e,i){var r=[],o=-1;if(charCompatible(t,i))5==i&&(-1==e?(o=100,i=4):charCompatible(e,i)||(i=charCompatible(e,3)?(o=101,3):(o=100,4)));else if(-1==e||charCompatible(e,i))o=98;else switch(i){case 3:o=100,i=4;break;case 4:o=101,i=3}return-1!=o?(r.push(o),r.push(codeValue(t))):5==i?r.push(codeValue(t,e)):r.push(codeValue(t)),s.currcs=i,r}(n,h,s.currcs));5==s.currcs&&o++}for(var a=r[0],l=1;l{const c=o.__vccOpts||o;for(const[s,n]of t)c[s]=n;return c};export{o as _}; diff --git a/weihu/unpackage/dist/build/web/assets/expend-b06a0446.css b/weihu/unpackage/dist/build/web/assets/expend-b06a0446.css new file mode 100644 index 0000000..c17f6e0 --- /dev/null +++ b/weihu/unpackage/dist/build/web/assets/expend-b06a0446.css @@ -0,0 +1 @@ +.expend[data-v-85dc08a0]{height:calc(100vh - 2.8125rem);background-color:#fff}.top[data-v-85dc08a0]{height:7.5rem;padding:1.5625rem;background-color:#26ced0;color:#fff}.name[data-v-85dc08a0]{font-size:1.40625rem;font-weight:700}.tel[data-v-85dc08a0]{font-size:.9375rem;margin-top:.3125rem}.info_title[data-v-85dc08a0]{font-size:.9375rem;color:#733e29}.price[data-v-85dc08a0]{text-align:center;color:#ff8a5b;font-weight:700;margin-top:.3125rem}.title[data-v-85dc08a0]{font-size:1.125rem;font-weight:700;color:#333}.input[data-v-85dc08a0]{margin-top:.625rem;margin-bottom:.625rem;border:0;border-bottom:.03125rem solid #b0e2f9;height:3.125rem;color:#ff8a5b;font-size:1.5625rem;font-weight:700}uni-textarea[data-v-85dc08a0]{color:#666;font-size:1.125rem}.button[data-v-85dc08a0]{width:100%;background-color:#26ced0;height:3.125rem;line-height:3.125rem;text-align:center;color:#fff;font-weight:700;border-radius:1.5625rem;margin-top:2.5rem} diff --git a/weihu/unpackage/dist/build/web/assets/fenzhen_paidui-2e244828.css b/weihu/unpackage/dist/build/web/assets/fenzhen_paidui-2e244828.css new file mode 100644 index 0000000..6cdc54d --- /dev/null +++ b/weihu/unpackage/dist/build/web/assets/fenzhen_paidui-2e244828.css @@ -0,0 +1 @@ +.uni-popup[data-v-f0b957f8]{position:fixed;z-index:99}.uni-popup.top[data-v-f0b957f8],.uni-popup.left[data-v-f0b957f8],.uni-popup.right[data-v-f0b957f8]{top:var(--window-top)}.uni-popup .uni-popup__wrapper[data-v-f0b957f8]{display:block;position:relative}.uni-popup .uni-popup__wrapper.left[data-v-f0b957f8],.uni-popup .uni-popup__wrapper.right[data-v-f0b957f8]{padding-top:var(--window-top);flex:1}.fixforpc-z-index[data-v-f0b957f8]{z-index:999}.fixforpc-top[data-v-f0b957f8]{top:0}.fenzhen_info[data-v-26c5b5a7]{padding:.9375rem}.header[data-v-26c5b5a7]{background-color:#30c5be;border-radius:.625rem;padding:.9375rem 1.25rem;color:#fff;display:flex;justify-content:space-between;align-items:center}.daohang_button[data-v-26c5b5a7]{width:3.125rem;border:1px solid #fff;height:1.875rem;line-height:1.875rem;text-align:center;border-radius:.625rem;background-color:#fc924a}.shuzi[data-v-26c5b5a7]{font-weight:700;color:#f50}.name[data-v-26c5b5a7]{font-size:1.5625rem}.riqi[data-v-26c5b5a7]{font-size:.8125rem;margin-top:.5625rem}.tiaoma[data-v-26c5b5a7]{border-radius:.625rem;padding:1.875rem 1.25rem .9375rem;box-shadow:0 5px 5px #ccc}.xia[data-v-26c5b5a7]{padding:1.25rem 0}.xia_title[data-v-26c5b5a7]{font-size:#222222;font-size:1.25rem}.xia_row1[data-v-26c5b5a7]{display:flex;justify-content:space-between;line-height:1.25rem;margin-bottom:.9375rem;margin-top:.625rem}.zhuangtai[data-v-26c5b5a7]{display:flex;box-shadow:0 5px 5px #ccc;border-radius:.625rem;border:1px solid #e2e2e2;margin-top:.625rem}.zhuangtai_left[data-v-26c5b5a7]{color:#fff;padding:.9375rem .625rem;text-align:center;white-space:nowrap;-webkit-writing-mode:tb-rl;writing-mode:tb-rl;font-size:.9375rem;border-radius:.625rem 0 0 .625rem}.bakcolor1[data-v-26c5b5a7]{background-color:#fc924a}.bakcolor2[data-v-26c5b5a7]{background-color:#01cfde}.bakcolor3[data-v-26c5b5a7]{background-color:#c6c6c6}.lanzi[data-v-26c5b5a7]{color:#01cfde}.zhuangtai_right[data-v-26c5b5a7]{display:flex;justify-content:space-between;width:100%;padding:1.25rem}.keshiname[data-v-26c5b5a7]{font-weight:500;font-size:1.25rem;color:#222}.zhenshiname[data-v-26c5b5a7]{font-weight:500;font-size:.9375rem;color:#6e6e6e;margin-top:.375rem}.tiaoma[data-v-26c5b5a7]{display:flex;flex-direction:column;justify-content:center;align-items:center}.tiaoma2[data-v-26c5b5a7]{display:flex;flex-direction:column;justify-content:center;margin-bottom:.46875rem}.item_k[data-v-26c5b5a7]{border-bottom:1px solid #ddd;padding:0 .5rem .5rem 0}.itemdesc[data-v-26c5b5a7]{font-size:.8125rem;color:#ff573a;font-weight:700}.tishi_main[data-v-26c5b5a7]{background-color:#fff;padding:1.25rem 1.5625rem;width:15.625rem;border-radius:1.25rem}.tishi_title[data-v-26c5b5a7]{text-align:center;font-size:.9375rem;font-weight:600;color:#2b2827}.quyu_button[data-v-26c5b5a7]{width:80%;background-color:#01cfde;text-align:center;margin-top:.625rem;margin-left:auto;margin-right:auto;color:#fff;border-radius:1.5625rem;height:1.875rem;line-height:1.875rem} diff --git a/weihu/unpackage/dist/build/web/assets/index-29fb9c31.js b/weihu/unpackage/dist/build/web/assets/index-29fb9c31.js new file mode 100644 index 0000000..f5b5076 --- /dev/null +++ b/weihu/unpackage/dist/build/web/assets/index-29fb9c31.js @@ -0,0 +1,6 @@ +!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))t(e);new MutationObserver((e=>{for(const n of e)if("childList"===n.type)for(const e of n.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&t(e)})).observe(document,{childList:!0,subtree:!0})}function t(e){if(e.ep)return;e.ep=!0;const t=function(e){const t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?t.credentials="include":"anonymous"===e.crossOrigin?t.credentials="omit":t.credentials="same-origin",t}(e);fetch(e.href,t)}}();const e={},t=function(t,n,o){if(!n||0===n.length)return t();const r=document.getElementsByTagName("link");return Promise.all(n.map((t=>{if((t=function(e){return"/h5/"+e}(t))in e)return;e[t]=!0;const n=t.endsWith(".css"),i=n?'[rel="stylesheet"]':"";if(!!o)for(let e=r.length-1;e>=0;e--){const o=r[e];if(o.href===t&&(!n||"stylesheet"===o.rel))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;const a=document.createElement("link");return a.rel=n?"stylesheet":"modulepreload",n||(a.as="script",a.crossOrigin=""),a.href=t,document.head.appendChild(a),n?new Promise(((e,n)=>{a.addEventListener("load",e),a.addEventListener("error",(()=>n(new Error(`Unable to preload CSS for ${t}`))))})):void 0}))).then((()=>t()))};function n(e,t){const n=Object.create(null),o=e.split(",");for(let r=0;r!!n[e.toLowerCase()]:e=>!!n[e]}const o={},r=[],i=()=>{},a=()=>!1,s=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),l=e=>e.startsWith("onUpdate:"),c=Object.assign,u=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},d=Object.prototype.hasOwnProperty,f=(e,t)=>d.call(e,t),p=Array.isArray,h=e=>"[object Map]"===C(e),g=e=>"[object Set]"===C(e),m=e=>"[object Date]"===C(e),v=e=>"function"==typeof e,y=e=>"string"==typeof e,b=e=>"symbol"==typeof e,_=e=>null!==e&&"object"==typeof e,w=e=>(_(e)||v(e))&&v(e.then)&&v(e.catch),x=Object.prototype.toString,C=e=>x.call(e),S=e=>"[object Object]"===C(e),k=e=>y(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,E=n(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),T=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},$=/-(\w)/g,O=T((e=>e.replace($,((e,t)=>t?t.toUpperCase():"")))),A=/\B([A-Z])/g,L=T((e=>e.replace(A,"-$1").toLowerCase())),P=T((e=>e.charAt(0).toUpperCase()+e.slice(1))),B=T((e=>e?`on${P(e)}`:"")),R=(e,t)=>!Object.is(e,t),j=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},I=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let N;function M(e){if(p(e)){const t={};for(let n=0;n{if(e){const n=e.split(D);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function W(e){let t="";if(y(e))t=e;else if(p(e))for(let n=0;nK(e,t)))}const Y=e=>y(e)?e:null==e?"":p(e)||_(e)&&(e.toString===x||!v(e.toString))?JSON.stringify(e,G,2):String(e),G=(e,t)=>t&&t.__v_isRef?G(e,t.value):h(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n],o)=>(e[J(t,o)+" =>"]=n,e)),{})}:g(t)?{[`Set(${t.size})`]:[...t.values()].map((e=>J(e)))}:b(t)?J(t):!_(t)||p(t)||S(t)?t:String(t),J=(e,t="")=>{var n;return b(e)?`Symbol(${null!=(n=e.description)?n:t})`:e},Z=["ad","ad-content-page","ad-draw","audio","button","camera","canvas","checkbox","checkbox-group","cover-image","cover-view","editor","form","functional-page-navigator","icon","image","input","label","live-player","live-pusher","map","movable-area","movable-view","navigator","official-account","open-data","picker","picker-view","picker-view-column","progress","radio","radio-group","rich-text","scroll-view","slider","swiper","swiper-item","switch","text","textarea","video","view","web-view"].map((e=>"uni-"+e)),Q=["list-view","list-item","sticky-section","sticky-header","cloud-db-element"].map((e=>"uni-"+e)),ee=["list-item"].map((e=>"uni-"+e));function te(e){if(-1!==ee.indexOf(e))return!1;const t="uni-"+e.replace("v-uni-","");return-1!==Z.indexOf(t)||-1!==Q.indexOf(t)}const ne=["%","%"],oe=/^([a-z-]+:)?\/\//i,re=/^data:.*,.*/,ie="onShow",ae="onLoad";function se(e){if(!e)return;let t=e.type.name;for(;t&&te(L(t));)t=(e=e.parent).type.name;return e.proxy}function le(e){return 1===e.nodeType}function ce(e){if(e instanceof Map){const t={};return e.forEach(((e,n)=>{t[n]=e})),M(t)}if(p(e)){const t={};for(let n=0;n{e&&(t+=n+" ")}));else if(p(e))for(let n=0;n(e&&(n=e.apply(t,o),e=null),n)}function he(e){return O(e.substring(5))}const ge=pe((()=>{const e=HTMLElement.prototype,t=e.setAttribute;e.setAttribute=function(e,n){if(e.startsWith("data-")&&this.tagName.startsWith("UNI-")){(this.__uniDataset||(this.__uniDataset={}))[he(e)]=n}t.call(this,e,n)};const n=e.removeAttribute;e.removeAttribute=function(e){this.__uniDataset&&e.startsWith("data-")&&this.tagName.startsWith("UNI-")&&delete this.__uniDataset[he(e)],n.call(this,e)}}));function me(e){return c({},e.dataset,e.__uniDataset)}const ve=new RegExp("\"[^\"]+\"|'[^']+'|url\\([^)]+\\)|(\\d*\\.?\\d+)[r|u]px","g");function ye(e){return{passive:e}}function be(e){const{id:t,offsetTop:n,offsetLeft:o}=e;return{id:t,dataset:me(e),offsetTop:n,offsetLeft:o}}function _e(e){try{return decodeURIComponent(""+e)}catch(t){}return""+e}function we(e={}){const t={};return Object.keys(e).forEach((n=>{try{t[n]=_e(e[n])}catch(o){t[n]=e[n]}})),t}const xe=/\+/g;function Ce(e){const t={};if(""===e||"?"===e)return t;const n=("?"===e[0]?e.slice(1):e).split("&");for(let o=0;oe.apply(this,arguments);r=o(i,t)};return i.cancel=function(){n(r)},i}class ke{constructor(e,t){this.id=e,this.listener={},this.emitCache=[],t&&Object.keys(t).forEach((e=>{this.on(e,t[e])}))}emit(e,...t){const n=this.listener[e];if(!n)return this.emitCache.push({eventName:e,args:t});n.forEach((e=>{e.fn.apply(e.fn,t)})),this.listener[e]=n.filter((e=>"once"!==e.type))}on(e,t){this._addListener(e,"on",t),this._clearCache(e)}once(e,t){this._addListener(e,"once",t),this._clearCache(e)}off(e,t){const n=this.listener[e];if(n)if(t)for(let o=0;o{if(v(e._component.onError))return t(e)})),Le=function(){};Le.prototype={on:function(e,t,n){var o=this.e||(this.e={});return(o[e]||(o[e]=[])).push({fn:t,ctx:n}),this},once:function(e,t,n){var o=this;function r(){o.off(e,r),t.apply(n,arguments)}return r._=t,this.on(e,r,n)},emit:function(e){for(var t=[].slice.call(arguments,1),n=((this.e||(this.e={}))[e]||[]).slice(),o=0,r=n.length;o=0;i--)if(o[i].fn===t||o[i].fn._===t){o.splice(i,1);break}r=o}return r.length?n[e]=r:delete n[e],this}};var Pe=Le;const Be={black:"rgba(0,0,0,0.4)",white:"rgba(255,255,255,0.4)"};function Re(e,t={},n="light"){const o=t[n],r={};return o?(Object.keys(e).forEach((i=>{let a=e[i];r[i]=(()=>{if(S(a))return Re(a,t,n);if(p(a))return a.map((e=>S(e)?Re(e,t,n):e));if(y(a)&&a.startsWith("@")){const t=a.replace("@","");let n=o[t]||a;switch(i){case"titleColor":n="black"===n?"#000000":"#ffffff";break;case"borderStyle":n=(e=n)&&e in Be?Be[e]:e}return n}var e;return a})()})),r):e}let je;class Fe{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this.parent=je,!e&&je&&(this.index=(je.scopes||(je.scopes=[])).push(this)-1)}get active(){return this._active}run(e){if(this._active){const t=je;try{return je=this,e()}finally{je=t}}}on(){je=this}off(){je=this.parent}stop(e){if(this._active){let t,n;for(t=0,n=this.effects.length;t{const t=new Set(e);return t.w=0,t.n=0,t},Me=e=>(e.w&ze)>0,Ve=e=>(e.n&ze)>0,De=new WeakMap;let He=0,ze=1;let We;const Ue=Symbol(""),qe=Symbol("");class Ke{constructor(e,t=null,n){this.fn=e,this.scheduler=t,this.active=!0,this.deps=[],this.parent=void 0,function(e,t=je){t&&t.active&&t.effects.push(e)}(this,n)}run(){if(!this.active)return this.fn();let e=We,t=Ye;for(;e;){if(e===this)return;e=e.parent}try{return this.parent=We,We=this,Ye=!0,ze=1<<++He,He<=30?(({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let o=0;o{("length"===n||n>=e)&&s.push(t)}))}else switch(void 0!==n&&s.push(a.get(n)),t){case"add":p(e)?k(n)&&s.push(a.get("length")):(s.push(a.get(Ue)),h(e)&&s.push(a.get(qe)));break;case"delete":p(e)||(s.push(a.get(Ue)),h(e)&&s.push(a.get(qe)));break;case"set":h(e)&&s.push(a.get(Ue))}if(1===s.length)s[0]&&nt(s[0]);else{const e=[];for(const t of s)t&&e.push(...t);nt(Ne(e))}}function nt(e,t){const n=p(e)?e:[...e];for(const o of n)o.computed&&ot(o);for(const o of n)o.computed||ot(o)}function ot(e,t){(e!==We||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const rt=n("__proto__,__v_isRef,__isVue"),it=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(b)),at=ft(),st=ft(!1,!0),lt=ft(!0),ct=ut();function ut(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=Gt(this);for(let t=0,r=this.length;t{e[t]=function(...e){Je();const n=Gt(this)[t].apply(this,e);return Ze(),n}})),e}function dt(e){const t=Gt(this);return Qe(t,0,e),t.hasOwnProperty(e)}function ft(e=!1,t=!1){return function(n,o,r){if("__v_isReactive"===o)return!e;if("__v_isReadonly"===o)return e;if("__v_isShallow"===o)return t;if("__v_raw"===o&&r===(e?t?Dt:Vt:t?Mt:Nt).get(n))return n;const i=p(n);if(!e){if(i&&f(ct,o))return Reflect.get(ct,o,r);if("hasOwnProperty"===o)return dt}const a=Reflect.get(n,o,r);return(b(o)?it.has(o):rt(o))?a:(e||Qe(n,0,o),t?a:nn(a)?i&&k(o)?a:a.value:_(a)?e?Wt(a):zt(a):a)}}function pt(e=!1){return function(t,n,o,r){let i=t[n];if(Kt(i)&&nn(i)&&!nn(o))return!1;if(!e&&(Xt(o)||Kt(o)||(i=Gt(i),o=Gt(o)),!p(t)&&nn(i)&&!nn(o)))return i.value=o,!0;const a=p(t)&&k(n)?Number(n)!0,deleteProperty:(e,t)=>!0},mt=c({},ht,{get:st,set:pt(!0)}),vt=e=>e,yt=e=>Reflect.getPrototypeOf(e);function bt(e,t,n=!1,o=!1){const r=Gt(e=e.__v_raw),i=Gt(t);n||(t!==i&&Qe(r,0,t),Qe(r,0,i));const{has:a}=yt(r),s=o?vt:n?Qt:Zt;return a.call(r,t)?s(e.get(t)):a.call(r,i)?s(e.get(i)):void(e!==r&&e.get(t))}function _t(e,t=!1){const n=this.__v_raw,o=Gt(n),r=Gt(e);return t||(e!==r&&Qe(o,0,e),Qe(o,0,r)),e===r?n.has(e):n.has(e)||n.has(r)}function wt(e,t=!1){return e=e.__v_raw,!t&&Qe(Gt(e),0,Ue),Reflect.get(e,"size",e)}function xt(e){e=Gt(e);const t=Gt(this);return yt(t).has.call(t,e)||(t.add(e),tt(t,"add",e,e)),this}function Ct(e,t){t=Gt(t);const n=Gt(this),{has:o,get:r}=yt(n);let i=o.call(n,e);i||(e=Gt(e),i=o.call(n,e));const a=r.call(n,e);return n.set(e,t),i?R(t,a)&&tt(n,"set",e,t):tt(n,"add",e,t),this}function St(e){const t=Gt(this),{has:n,get:o}=yt(t);let r=n.call(t,e);r||(e=Gt(e),r=n.call(t,e)),o&&o.call(t,e);const i=t.delete(e);return r&&tt(t,"delete",e,void 0),i}function kt(){const e=Gt(this),t=0!==e.size,n=e.clear();return t&&tt(e,"clear",void 0,void 0),n}function Et(e,t){return function(n,o){const r=this,i=r.__v_raw,a=Gt(i),s=t?vt:e?Qt:Zt;return!e&&Qe(a,0,Ue),i.forEach(((e,t)=>n.call(o,s(e),s(t),r)))}}function Tt(e,t,n){return function(...o){const r=this.__v_raw,i=Gt(r),a=h(i),s="entries"===e||e===Symbol.iterator&&a,l="keys"===e&&a,c=r[e](...o),u=n?vt:t?Qt:Zt;return!t&&Qe(i,0,l?qe:Ue),{next(){const{value:e,done:t}=c.next();return t?{value:e,done:t}:{value:s?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function $t(e){return function(...t){return"delete"!==e&&this}}function Ot(){const e={get(e){return bt(this,e)},get size(){return wt(this)},has:_t,add:xt,set:Ct,delete:St,clear:kt,forEach:Et(!1,!1)},t={get(e){return bt(this,e,!1,!0)},get size(){return wt(this)},has:_t,add:xt,set:Ct,delete:St,clear:kt,forEach:Et(!1,!0)},n={get(e){return bt(this,e,!0)},get size(){return wt(this,!0)},has(e){return _t.call(this,e,!0)},add:$t("add"),set:$t("set"),delete:$t("delete"),clear:$t("clear"),forEach:Et(!0,!1)},o={get(e){return bt(this,e,!0,!0)},get size(){return wt(this,!0)},has(e){return _t.call(this,e,!0)},add:$t("add"),set:$t("set"),delete:$t("delete"),clear:$t("clear"),forEach:Et(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((r=>{e[r]=Tt(r,!1,!1),n[r]=Tt(r,!0,!1),t[r]=Tt(r,!1,!0),o[r]=Tt(r,!0,!0)})),[e,n,t,o]}const[At,Lt,Pt,Bt]=Ot();function Rt(e,t){const n=t?e?Bt:Pt:e?Lt:At;return(t,o,r)=>"__v_isReactive"===o?!e:"__v_isReadonly"===o?e:"__v_raw"===o?t:Reflect.get(f(n,o)&&o in t?n:t,o,r)}const jt={get:Rt(!1,!1)},Ft={get:Rt(!1,!0)},It={get:Rt(!0,!1)},Nt=new WeakMap,Mt=new WeakMap,Vt=new WeakMap,Dt=new WeakMap;function Ht(e){return e.__v_skip||!Object.isExtensible(e)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((e=>C(e).slice(8,-1))(e))}function zt(e){return Kt(e)?e:Ut(e,!1,ht,jt,Nt)}function Wt(e){return Ut(e,!0,gt,It,Vt)}function Ut(e,t,n,o,r){if(!_(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const a=Ht(e);if(0===a)return e;const s=new Proxy(e,2===a?o:n);return r.set(e,s),s}function qt(e){return Kt(e)?qt(e.__v_raw):!(!e||!e.__v_isReactive)}function Kt(e){return!(!e||!e.__v_isReadonly)}function Xt(e){return!(!e||!e.__v_isShallow)}function Yt(e){return qt(e)||Kt(e)}function Gt(e){const t=e&&e.__v_raw;return t?Gt(t):e}function Jt(e){return F(e,"__v_skip",!0),e}const Zt=e=>_(e)?zt(e):e,Qt=e=>_(e)?Wt(e):e;function en(e){Ye&&We&&et((e=Gt(e)).dep||(e.dep=Ne()))}function tn(e,t){const n=(e=Gt(e)).dep;n&&nt(n)}function nn(e){return!(!e||!0!==e.__v_isRef)}function on(e){return rn(e,!1)}function rn(e,t){return nn(e)?e:new an(e,t)}class an{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:Gt(e),this._value=t?e:Zt(e)}get value(){return en(this),this._value}set value(e){const t=this.__v_isShallow||Xt(e)||Kt(e);e=t?e:Gt(e),R(e,this._rawValue)&&(this._rawValue=e,this._value=t?e:Zt(e),tn(this))}}function sn(e){return nn(e)?e.value:e}const ln={get:(e,t,n)=>sn(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const r=e[t];return nn(r)&&!nn(n)?(r.value=n,!0):Reflect.set(e,t,n,o)}};function cn(e){return qt(e)?e:new Proxy(e,ln)}var un;class dn{constructor(e,t,n,o){this._setter=t,this.dep=void 0,this.__v_isRef=!0,this[un]=!1,this._dirty=!0,this.effect=new Ke(e,(()=>{this._dirty||(this._dirty=!0,tn(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=n}get value(){const e=Gt(this);return en(e),!e._dirty&&e._cacheable||(e._dirty=!1,e._value=e.effect.run()),e._value}set value(e){this._setter(e)}}function fn(e,t,n,o){let r;try{r=o?e(...o):e()}catch(i){hn(i,t,n)}return r}function pn(e,t,n,o){if(v(e)){const r=fn(e,t,n,o);return r&&w(r)&&r.catch((e=>{hn(e,t,n)})),r}const r=[];for(let i=0;i>>1;On(vn[o])On(e)-On(t))),wn=0;wn<_n.length;wn++)_n[wn]();_n=null,wn=0}}const On=e=>null==e.id?1/0:e.id,An=(e,t)=>{const n=On(e)-On(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Ln(e){mn=!1,gn=!0,vn.sort(An);try{for(yn=0;yny(e)?e.trim():e))),t&&(i=n.map(I))}let l,c=r[l=B(t)]||r[l=B(O(t))];!c&&a&&(c=r[l=B(L(t))]),c&&pn(c,e,6,Bn(e,c,i));const u=r[l+"Once"];if(u){if(e.emitted){if(e.emitted[l])return}else e.emitted={};e.emitted[l]=!0,pn(u,e,6,Bn(e,u,i))}}function Bn(e,t,n){if(1!==n.length)return n;if(v(t)){if(t.length<2)return n}else if(!t.find((e=>e.length>=2)))return n;const o=n[0];if(o&&f(o,"type")&&f(o,"timeStamp")&&f(o,"target")&&f(o,"currentTarget")&&f(o,"detail")){const t=e.proxy,o=t.$gcd(t,!0);o&&n.push(o)}return n}function Rn(e,t,n=!1){const o=t.emitsCache,r=o.get(e);if(void 0!==r)return r;const i=e.emits;let a={},s=!1;if(!v(e)){const o=e=>{const n=Rn(e,t,!0);n&&(s=!0,c(a,n))};!n&&t.mixins.length&&t.mixins.forEach(o),e.extends&&o(e.extends),e.mixins&&e.mixins.forEach(o)}return i||s?(p(i)?i.forEach((e=>a[e]=null)):c(a,i),_(e)&&o.set(e,a),a):(_(e)&&o.set(e,null),null)}function jn(e,t){return!(!e||!s(t))&&(t=t.slice(2).replace(/Once$/,""),f(e,t[0].toLowerCase()+t.slice(1))||f(e,L(t))||f(e,t))}let Fn=null,In=null;function Nn(e){const t=Fn;return Fn=e,In=e&&e.type.__scopeId||null,t}function Mn(e,t=Fn,n){if(!t)return e;if(e._n)return e;const o=(...n)=>{o._d&&Vr(-1);const r=Nn(t);let i;try{i=e(...n)}finally{Nn(r),o._d&&Vr(1)}return i};return o._n=!0,o._c=!0,o._d=!0,o}function Vn(e){const{type:t,vnode:n,proxy:o,withProxy:r,props:i,propsOptions:[a],slots:s,attrs:c,emit:u,render:d,renderCache:f,data:p,setupState:h,ctx:g,inheritAttrs:m}=e;let v,y;const b=Nn(e);try{if(4&n.shapeFlag){const e=r||o;v=ei(d.call(e,e,f,i,h,p,g)),y=c}else{const e=t;0,v=ei(e.length>1?e(i,{attrs:c,slots:s,emit:u}):e(i,null)),y=t.props?c:Dn(c)}}catch(w){Fr.length=0,hn(w,e,1),v=Gr(Rr)}let _=v;if(y&&!1!==m){const e=Object.keys(y),{shapeFlag:t}=_;e.length&&7&t&&(a&&e.some(l)&&(y=Hn(y,a)),_=Jr(_,y))}return n.dirs&&(_=Jr(_),_.dirs=_.dirs?_.dirs.concat(n.dirs):n.dirs),n.transition&&(_.transition=n.transition),v=_,Nn(b),v}const Dn=e=>{let t;for(const n in e)("class"===n||"style"===n||s(n))&&((t||(t={}))[n]=e[n]);return t},Hn=(e,t)=>{const n={};for(const o in e)l(o)&&o.slice(9)in t||(n[o]=e[o]);return n};function zn(e,t,n){const o=Object.keys(t);if(o.length!==Object.keys(e).length)return!0;for(let r=0;re.__isSuspense;function Un(e,t){if(si){let n=si.provides;const o=si.parent&&si.parent.provides;o===n&&(n=si.provides=Object.create(o)),n[e]=t,"app"===si.type.mpType&&si.appContext.app.provide(e,t)}else;}function qn(e,t,n=!1){const o=si||Fn;if(o){const r=null==o.parent?o.vnode.appContext&&o.vnode.appContext.provides:o.parent.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&v(t)?t.call(o.proxy):t}}function Kn(e,t){return Gn(e,null,t)}const Xn={};function Yn(e,t,n){return Gn(e,t,n)}function Gn(e,t,{immediate:n,deep:r,flush:a,onTrack:s,onTrigger:l}=o){const c=je===(null==si?void 0:si.scope)?si:null;let d,f,h=!1,g=!1;if(nn(e)?(d=()=>e.value,h=Xt(e)):qt(e)?(d=()=>e,r=!0):p(e)?(g=!0,h=e.some((e=>qt(e)||Xt(e))),d=()=>e.map((e=>nn(e)?e.value:qt(e)?Qn(e):v(e)?fn(e,c,2):void 0))):d=v(e)?t?()=>fn(e,c,2):()=>{if(!c||!c.isUnmounted)return f&&f(),pn(e,c,3,[y])}:i,t&&r){const e=d;d=()=>Qn(e())}let m,y=e=>{f=x.onStop=()=>{fn(e,c,4)}};if(fi){if(y=i,t?n&&pn(t,c,3,[d(),g?[]:void 0,y]):d(),"sync"!==a)return i;{const e=_i();m=e.__watcherHandles||(e.__watcherHandles=[])}}let b=g?new Array(e.length).fill(Xn):Xn;const _=()=>{if(x.active)if(t){const e=x.run();(r||h||(g?e.some(((e,t)=>R(e,b[t]))):R(e,b)))&&(f&&f(),pn(t,c,3,[e,b===Xn?void 0:g&&b[0]===Xn?[]:b,y]),b=e)}else x.run()};let w;_.allowRecurse=!!t,"sync"===a?w=_:"post"===a?w=()=>$r(_,c&&c.suspense):(_.pre=!0,c&&(_.id=c.uid),w=()=>kn(_));const x=new Ke(d,w);t?n?_():b=x.run():"post"===a?$r(x.run.bind(x),c&&c.suspense):x.run();const C=()=>{x.stop(),c&&c.scope&&u(c.scope.effects,x)};return m&&m.push(C),C}function Jn(e,t,n){const o=this.proxy,r=y(e)?e.includes(".")?Zn(o,e):()=>o[e]:e.bind(o,o);let i;v(t)?i=t:(i=t.handler,n=t);const a=si;ci(this);const s=Gn(r,i.bind(o),n);return a?ci(a):ui(),s}function Zn(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e{Qn(e,t)}));else if(S(e))for(const n in e)Qn(e[n],t);return e}const eo=[Function,Array],to={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:eo,onEnter:eo,onAfterEnter:eo,onEnterCancelled:eo,onBeforeLeave:eo,onLeave:eo,onAfterLeave:eo,onLeaveCancelled:eo,onBeforeAppear:eo,onAppear:eo,onAfterAppear:eo,onAppearCancelled:eo},no={name:"BaseTransition",props:to,setup(e,{slots:t}){const n=li(),o=function(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Lo((()=>{e.isMounted=!0})),Ro((()=>{e.isUnmounting=!0})),e}();let r;return()=>{const i=t.default&&lo(t.default(),!0);if(!i||!i.length)return;let a=i[0];if(i.length>1)for(const e of i)if(e.type!==Rr){a=e;break}const s=Gt(e),{mode:l}=s;if(o.isLeaving)return io(a);const c=ao(a);if(!c)return io(a);const u=ro(c,s,o,n);so(c,u);const d=n.subTree,f=d&&ao(d);let p=!1;const{getTransitionKey:h}=c.type;if(h){const e=h();void 0===r?r=e:e!==r&&(r=e,p=!0)}if(f&&f.type!==Rr&&(!Ur(c,f)||p)){const e=ro(f,s,o,n);if(so(f,e),"out-in"===l)return o.isLeaving=!0,e.afterLeave=()=>{o.isLeaving=!1,!1!==n.update.active&&n.update()},io(a);"in-out"===l&&c.type!==Rr&&(e.delayLeave=(e,t,n)=>{oo(o,f)[String(f.key)]=f,e._leaveCb=()=>{t(),e._leaveCb=void 0,delete u.delayedLeave},u.delayedLeave=n})}return a}}};function oo(e,t){const{leavingVNodes:n}=e;let o=n.get(t.type);return o||(o=Object.create(null),n.set(t.type,o)),o}function ro(e,t,n,o){const{appear:r,mode:i,persisted:a=!1,onBeforeEnter:s,onEnter:l,onAfterEnter:c,onEnterCancelled:u,onBeforeLeave:d,onLeave:f,onAfterLeave:h,onLeaveCancelled:g,onBeforeAppear:m,onAppear:v,onAfterAppear:y,onAppearCancelled:b}=t,_=String(e.key),w=oo(n,e),x=(e,t)=>{e&&pn(e,o,9,t)},C=(e,t)=>{const n=t[1];x(e,t),p(e)?e.every((e=>e.length<=1))&&n():e.length<=1&&n()},S={mode:i,persisted:a,beforeEnter(t){let o=s;if(!n.isMounted){if(!r)return;o=m||s}t._leaveCb&&t._leaveCb(!0);const i=w[_];i&&Ur(e,i)&&i.el._leaveCb&&i.el._leaveCb(),x(o,[t])},enter(e){let t=l,o=c,i=u;if(!n.isMounted){if(!r)return;t=v||l,o=y||c,i=b||u}let a=!1;const s=e._enterCb=t=>{a||(a=!0,x(t?i:o,[e]),S.delayedLeave&&S.delayedLeave(),e._enterCb=void 0)};t?C(t,[e,s]):s()},leave(t,o){const r=String(e.key);if(t._enterCb&&t._enterCb(!0),n.isUnmounting)return o();x(d,[t]);let i=!1;const a=t._leaveCb=n=>{i||(i=!0,o(),x(n?g:h,[t]),t._leaveCb=void 0,w[r]===e&&delete w[r])};w[r]=e,f?C(f,[t,a]):a()},clone:e=>ro(e,t,n,o)};return S}function io(e){if(ho(e))return(e=Jr(e)).children=null,e}function ao(e){return ho(e)?e.children?e.children[0]:void 0:e}function so(e,t){6&e.shapeFlag&&e.component?so(e.component.subTree,t):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function lo(e,t=!1,n){let o=[],r=0;for(let i=0;i1)for(let i=0;i!!e.type.__asyncLoader;function fo(e){v(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:r=200,timeout:i,suspensible:a=!0,onError:s}=e;let l,c=null,u=0;const d=()=>{let e;return c||(e=c=t().catch((e=>{if(e=e instanceof Error?e:new Error(String(e)),s)return new Promise(((t,n)=>{s(e,(()=>t((u++,c=null,d()))),(()=>n(e)),u+1)}));throw e})).then((t=>e!==c&&c?c:(t&&(t.__esModule||"Module"===t[Symbol.toStringTag])&&(t=t.default),l=t,t))))};return co({name:"AsyncComponentWrapper",__asyncLoader:d,get __asyncResolved(){return l},setup(){const e=si;if(l)return()=>po(l,e);const t=t=>{c=null,hn(t,e,13,!o)};if(a&&e.suspense||fi)return d().then((t=>()=>po(t,e))).catch((e=>(t(e),()=>o?Gr(o,{error:e}):null)));const s=on(!1),u=on(),f=on(!!r);return r&&setTimeout((()=>{f.value=!1}),r),null!=i&&setTimeout((()=>{if(!s.value&&!u.value){const e=new Error(`Async component timed out after ${i}ms.`);t(e),u.value=e}}),i),d().then((()=>{s.value=!0,e.parent&&ho(e.parent.vnode)&&kn(e.parent.update)})).catch((e=>{t(e),u.value=e})),()=>s.value&&l?po(l,e):u.value&&o?Gr(o,{error:u.value}):n&&!f.value?Gr(n):void 0}})}function po(e,t){const{ref:n,props:o,children:r,ce:i}=t.vnode,a=Gr(e,o,r);return a.ref=n,a.ce=i,delete t.vnode.ce,a}const ho=e=>e.type.__isKeepAlive;class go{constructor(e){this.max=e,this._cache=new Map,this._keys=new Set,this._max=parseInt(e,10)}get(e){const{_cache:t,_keys:n,_max:o}=this,r=t.get(e);if(r)n.delete(e),n.add(e);else if(n.add(e),o&&n.size>o){const e=n.values().next().value;this.pruneCacheEntry(t.get(e)),this.delete(e)}return r}set(e,t){this._cache.set(e,t)}delete(e){this._cache.delete(e),this._keys.delete(e)}forEach(e,t){this._cache.forEach(e.bind(t))}}const mo={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number],matchBy:{type:String,default:"name"},cache:Object},setup(e,{slots:t}){const n=li(),o=n.ctx;if(!o.renderer)return()=>{const e=t.default&&t.default();return e&&1===e.length?e[0]:e};const r=e.cache||new go(e.max);r.pruneCacheEntry=a;let i=null;function a(t){var o;!i||!Ur(t,i)||"key"===e.matchBy&&t.key!==i.key?(Co(o=t),u(o,n,s,!0)):i&&Co(i)}const s=n.suspense,{renderer:{p:l,m:c,um:u,o:{createElement:d}}}=o,f=d("div");function p(t){r.forEach(((n,o)=>{const i=ko(n,e.matchBy);!i||t&&t(i)||(r.delete(o),a(n))}))}o.activate=(e,t,n,o,r)=>{const i=e.component;if(i.ba){const e=i.isDeactivated;i.isDeactivated=!1,j(i.ba),i.isDeactivated=e}c(e,t,n,0,s),l(i.vnode,e,t,n,i,s,o,e.slotScopeIds,r),$r((()=>{i.isDeactivated=!1,i.a&&j(i.a);const t=e.props&&e.props.onVnodeMounted;t&&ri(t,i.parent,e)}),s)},o.deactivate=e=>{const t=e.component;t.bda&&Eo(t.bda),c(e,f,null,1,s),$r((()=>{t.bda&&To(t.bda),t.da&&j(t.da);const n=e.props&&e.props.onVnodeUnmounted;n&&ri(n,t.parent,e),t.isDeactivated=!0}),s)},Yn((()=>[e.include,e.exclude,e.matchBy]),(([e,t])=>{e&&p((t=>yo(e,t))),t&&p((e=>!yo(t,e)))}),{flush:"post",deep:!0});let h=null;const g=()=>{null!=h&&r.set(h,So(n.subTree))};return Lo(g),Bo(g),Ro((()=>{r.forEach(((t,o)=>{r.delete(o),a(t);const{subTree:i,suspense:s}=n,l=So(i);if(t.type!==l.type||"key"===e.matchBy&&t.key!==l.key);else{l.component.bda&&j(l.component.bda),Co(l);const e=l.component.da;e&&$r(e,s)}}))})),()=>{if(h=null,!t.default)return null;const n=t.default(),o=n[0];if(n.length>1)return i=null,n;if(!Wr(o)||!(4&o.shapeFlag)&&!Wn(o.type))return i=null,o;let a=So(o);const s=a.type,l=ko(a,e.matchBy),{include:c,exclude:u}=e;if(c&&(!l||!yo(c,l))||u&&l&&yo(u,l))return i=a,o;const d=null==a.key?s:a.key,f=r.get(d);return a.el&&(a=Jr(a),Wn(o.type)&&(o.ssContent=a)),h=d,f&&(a.el=f.el,a.component=f.component,a.transition&&so(a,a.transition),a.shapeFlag|=512),a.shapeFlag|=256,i=a,Wn(o.type)?o:a}}},vo=mo;function yo(e,t){return p(e)?e.some((e=>yo(e,t))):y(e)?e.split(",").includes(t):!!e.test&&e.test(t)}function bo(e,t){wo(e,"a",t)}function _o(e,t){wo(e,"da",t)}function wo(e,t,n=si){const o=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(o.__called=!1,$o(t,o,n),n){let e=n.parent;for(;e&&e.parent;)ho(e.parent.vnode)&&xo(o,t,n,e),e=e.parent}}function xo(e,t,n,o){const r=$o(t,e,o,!0);jo((()=>{u(o[t],r)}),n)}function Co(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function So(e){return Wn(e.type)?e.ssContent:e}function ko(e,t){if("name"===t){const t=e.type;return mi(uo(e)?t.__asyncResolved||{}:t)}return String(e.key)}function Eo(e){for(let t=0;te.__called=!1))}function $o(e,t,n=si,o=!1){if(n){if(r=e,Ee.indexOf(r)>-1&&n.$pageInstance){if(n.type.__reserved)return;if(n!==n.$pageInstance&&(n=n.$pageInstance,function(e){return Te.indexOf(e)>-1}(e))){const o=n.proxy;pn(t.bind(o),n,e,"onLoad"===e?[o.$page.options]:[])}}const i=n[e]||(n[e]=[]),a=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;Je(),ci(n);const r=pn(t,n,e,o);return ui(),Ze(),r});return o?i.unshift(a):i.push(a),a}var r}const Oo=e=>(t,n=si)=>(!fi||"sp"===e)&&$o(e,((...e)=>t(...e)),n),Ao=Oo("bm"),Lo=Oo("m"),Po=Oo("bu"),Bo=Oo("u"),Ro=Oo("bum"),jo=Oo("um"),Fo=Oo("sp"),Io=Oo("rtg"),No=Oo("rtc");function Mo(e,t=si){$o("ec",e,t)}function Vo(e,t){const n=Fn;if(null===n)return e;const r=gi(n)||n.proxy,i=e.dirs||(e.dirs=[]);for(let a=0;at(e,n,void 0,i&&i[n])));else{const n=Object.keys(e);r=new Array(n.length);for(let o=0,a=n.length;o!Wr(e)||e.type!==Rr&&!(e.type===Pr&&!Yo(e.children))))?e:null}const Go=e=>{if(!e)return null;if(di(e)){return gi(e)||e.proxy}return Go(e.parent)},Jo=c(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Go(e.parent),$root:e=>Go(e.root),$emit:e=>e.emit,$options:e=>rr(e),$forceUpdate:e=>e.f||(e.f=()=>{kn(e.update)}),$nextTick:e=>e.n||(e.n=Sn.bind(e.proxy)),$watch:e=>Jn.bind(e)}),Zo=(e,t)=>e!==o&&!e.__isScriptSetup&&f(e,t),Qo={get({_:e},t){const{ctx:n,setupState:r,data:i,props:a,accessCache:s,type:l,appContext:c}=e;let u;if("$"!==t[0]){const l=s[t];if(void 0!==l)switch(l){case 1:return r[t];case 2:return i[t];case 4:return n[t];case 3:return a[t]}else{if(Zo(r,t))return s[t]=1,r[t];if(i!==o&&f(i,t))return s[t]=2,i[t];if((u=e.propsOptions[0])&&f(u,t))return s[t]=3,a[t];if(n!==o&&f(n,t))return s[t]=4,n[t];er&&(s[t]=0)}}const d=Jo[t];let p,h;return d?("$attrs"===t&&Qe(e,0,t),d(e)):(p=l.__cssModules)&&(p=p[t])?p:n!==o&&f(n,t)?(s[t]=4,n[t]):(h=c.config.globalProperties,f(h,t)?h[t]:void 0)},set({_:e},t,n){const{data:r,setupState:i,ctx:a}=e;return Zo(i,t)?(i[t]=n,!0):r!==o&&f(r,t)?(r[t]=n,!0):!f(e.props,t)&&(("$"!==t[0]||!(t.slice(1)in e))&&(a[t]=n,!0))},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:i,propsOptions:a}},s){let l;return!!n[s]||e!==o&&f(e,s)||Zo(t,s)||(l=a[0])&&f(l,s)||f(r,s)||f(Jo,s)||f(i.config.globalProperties,s)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:f(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let er=!0;function tr(e){const t=rr(e),n=e.proxy,o=e.ctx;er=!1,t.beforeCreate&&nr(t.beforeCreate,e,"bc");const{data:r,computed:a,methods:s,watch:l,provide:c,inject:u,created:d,beforeMount:f,mounted:h,beforeUpdate:g,updated:m,activated:y,deactivated:b,beforeDestroy:w,beforeUnmount:x,destroyed:C,unmounted:S,render:k,renderTracked:E,renderTriggered:T,errorCaptured:$,serverPrefetch:O,expose:A,inheritAttrs:L,components:P,directives:B,filters:R}=t;if(u&&function(e,t,n=i,o=!1){p(e)&&(e=lr(e));for(const r in e){const n=e[r];let i;i=_(n)?"default"in n?qn(n.from||r,n.default,!0):qn(n.from||r):qn(n),nn(i)&&o?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[r]=i}}(u,o,null,e.appContext.config.unwrapInjectedRef),s)for(const i in s){const e=s[i];v(e)&&(o[i]=e.bind(n))}if(r){const t=r.call(n,n);_(t)&&(e.data=zt(t))}if(er=!0,a)for(const p in a){const e=a[p],t=v(e)?e.bind(n,n):v(e.get)?e.get.bind(n,n):i,r=!v(e)&&v(e.set)?e.set.bind(n):i,s=vi({get:t,set:r});Object.defineProperty(o,p,{enumerable:!0,configurable:!0,get:()=>s.value,set:e=>s.value=e})}if(l)for(const i in l)or(l[i],o,n,i);if(c){const e=v(c)?c.call(n):c;Reflect.ownKeys(e).forEach((t=>{Un(t,e[t])}))}function j(e,t){p(t)?t.forEach((t=>e(t.bind(n)))):t&&e(t.bind(n))}if(d&&nr(d,e,"c"),j(Ao,f),j(Lo,h),j(Po,g),j(Bo,m),j(bo,y),j(_o,b),j(Mo,$),j(No,E),j(Io,T),j(Ro,x),j(jo,S),j(Fo,O),p(A))if(A.length){const t=e.exposed||(e.exposed={});A.forEach((e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})}))}else e.exposed||(e.exposed={});k&&e.render===i&&(e.render=k),null!=L&&(e.inheritAttrs=L),P&&(e.components=P),B&&(e.directives=B);const F=e.appContext.config.globalProperties.$applyOptions;F&&F(t,e,n)}function nr(e,t,n){pn(p(e)?e.map((e=>e.bind(t.proxy))):e.bind(t.proxy),t,n)}function or(e,t,n,o){const r=o.includes(".")?Zn(n,o):()=>n[o];if(y(e)){const n=t[e];v(n)&&Yn(r,n)}else if(v(e))Yn(r,e.bind(n));else if(_(e))if(p(e))e.forEach((e=>or(e,t,n,o)));else{const o=v(e.handler)?e.handler.bind(n):t[e.handler];v(o)&&Yn(r,o,e)}}function rr(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:a}}=e.appContext,s=i.get(t);let l;return s?l=s:r.length||n||o?(l={},r.length&&r.forEach((e=>ir(l,e,a,!0))),ir(l,t,a)):l=t,_(t)&&i.set(t,l),l}function ir(e,t,n,o=!1){const{mixins:r,extends:i}=t;i&&ir(e,i,n,!0),r&&r.forEach((t=>ir(e,t,n,!0)));for(const a in t)if(o&&"expose"===a);else{const o=ar[a]||n&&n[a];e[a]=o?o(e[a],t[a]):t[a]}return e}const ar={data:sr,props:ur,emits:ur,methods:ur,computed:ur,beforeCreate:cr,created:cr,beforeMount:cr,mounted:cr,beforeUpdate:cr,updated:cr,beforeDestroy:cr,beforeUnmount:cr,destroyed:cr,unmounted:cr,activated:cr,deactivated:cr,errorCaptured:cr,serverPrefetch:cr,components:ur,directives:ur,watch:function(e,t){if(!e)return t;if(!t)return e;const n=c(Object.create(null),e);for(const o in t)n[o]=cr(e[o],t[o]);return n},provide:sr,inject:function(e,t){return ur(lr(e),lr(t))}};function sr(e,t){return t?e?function(){return c(v(e)?e.call(this,this):e,v(t)?t.call(this,this):t)}:t:e}function lr(e){if(p(e)){const t={};for(let n=0;n{d=!0;const[n,o]=hr(e,t,!0);c(l,n),o&&u.push(...o)};!n&&t.mixins.length&&t.mixins.forEach(o),e.extends&&o(e.extends),e.mixins&&e.mixins.forEach(o)}if(!s&&!d)return _(e)&&i.set(e,r),r;if(p(s))for(let r=0;r-1,n[1]=o<0||t-1||f(n,"default"))&&u.push(e)}}}const h=[l,u];return _(e)&&i.set(e,h),h}function gr(e){return"$"!==e[0]}function mr(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:null===e?"null":""}function vr(e,t){return mr(e)===mr(t)}function yr(e,t){return p(t)?t.findIndex((t=>vr(t,e))):v(t)&&vr(t,e)?0:-1}const br=e=>"_"===e[0]||"$stable"===e,_r=e=>p(e)?e.map(ei):[ei(e)],wr=(e,t,n)=>{if(t._n)return t;const o=Mn(((...e)=>_r(t(...e))),n);return o._c=!1,o},xr=(e,t,n)=>{const o=e._ctx;for(const r in e){if(br(r))continue;const n=e[r];if(v(n))t[r]=wr(0,n,o);else if(null!=n){const e=_r(n);t[r]=()=>e}}},Cr=(e,t)=>{const n=_r(t);e.slots.default=()=>n};function Sr(){return{app:null,config:{isNativeTag:a,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let kr=0;function Er(e,t){return function(n,o=null){v(n)||(n=Object.assign({},n)),null==o||_(o)||(o=null);const r=Sr(),i=new Set;let a=!1;const s=r.app={_uid:kr++,_component:n,_props:o,_container:null,_context:r,_instance:null,version:wi,get config(){return r.config},set config(e){},use:(e,...t)=>(i.has(e)||(e&&v(e.install)?(i.add(e),e.install(s,...t)):v(e)&&(i.add(e),e(s,...t))),s),mixin:e=>(r.mixins.includes(e)||r.mixins.push(e),s),component:(e,t)=>t?(r.components[e]=t,s):r.components[e],directive:(e,t)=>t?(r.directives[e]=t,s):r.directives[e],mount(i,l,c){if(!a){const u=Gr(n,o);return u.appContext=r,l&&t?t(u,i):e(u,i,c),a=!0,s._container=i,i.__vue_app__=s,s._instance=u.component,gi(u.component)||u.component.proxy}},unmount(){a&&(e(null,s._container),delete s._container.__vue_app__)},provide:(e,t)=>(r.provides[e]=t,s)};return s}}function Tr(e,t,n,r,i=!1){if(p(e))return void e.forEach(((e,o)=>Tr(e,t&&(p(t)?t[o]:t),n,r,i)));if(uo(r)&&!i)return;const a=4&r.shapeFlag?gi(r.component)||r.component.proxy:r.el,s=i?null:a,{i:l,r:c}=e,d=t&&t.r,h=l.refs===o?l.refs={}:l.refs,g=l.setupState;if(null!=d&&d!==c&&(y(d)?(h[d]=null,f(g,d)&&(g[d]=null)):nn(d)&&(d.value=null)),v(c))fn(c,l,12,[s,h]);else{const t=y(c),o=nn(c);if(t||o){const r=()=>{if(e.f){const n=t?f(g,c)?g[c]:h[c]:c.value;i?p(n)&&u(n,a):p(n)?n.includes(a)||n.push(a):t?(h[c]=[a],f(g,c)&&(g[c]=h[c])):(c.value=[a],e.k&&(h[e.k]=c.value))}else t?(h[c]=s,f(g,c)&&(g[c]=s)):o&&(c.value=s,e.k&&(h[e.k]=s))};s?(r.id=-1,$r(r,n)):r()}}}const $r=function(e,t){var n;t&&t.pendingBranch?p(e)?t.effects.push(...e):t.effects.push(e):(p(n=e)?bn.push(...n):_n&&_n.includes(n,n.allowRecurse?wn+1:wn)||bn.push(n),En())};function Or(e){return function(e,t){(N||(N="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{})).__VUE__=!0;const{insert:n,remove:a,patchProp:s,forcePatchProp:l,createElement:u,createText:d,createComment:p,setText:h,setElementText:g,parentNode:m,nextSibling:v,setScopeId:y=i,insertStaticContent:b}=e,_=(e,t,n,o=null,r=null,i=null,a=!1,s=null,l=!!t.dynamicChildren)=>{if(e===t)return;e&&!Ur(e,t)&&(o=te(e),G(e,r,i,!0),e=null),-2===t.patchFlag&&(l=!1,t.dynamicChildren=null);const{type:c,ref:u,shapeFlag:d}=t;switch(c){case Br:x(e,t,n,o);break;case Rr:C(e,t,n,o);break;case jr:null==e&&S(t,n,o,a);break;case Pr:V(e,t,n,o,r,i,a,s,l);break;default:1&d?$(e,t,n,o,r,i,a,s,l):6&d?D(e,t,n,o,r,i,a,s,l):(64&d||128&d)&&c.process(e,t,n,o,r,i,a,s,l,oe)}null!=u&&r&&Tr(u,e&&e.ref,i,t||e,!t)},x=(e,t,o,r)=>{if(null==e)n(t.el=d(t.children),o,r);else{const n=t.el=e.el;t.children!==e.children&&h(n,t.children)}},C=(e,t,o,r)=>{null==e?n(t.el=p(t.children||""),o,r):t.el=e.el},S=(e,t,n,o)=>{[e.el,e.anchor]=b(e.children,t,n,o,e.el,e.anchor)},k=({el:e,anchor:t},o,r)=>{let i;for(;e&&e!==t;)i=v(e),n(e,o,r),e=i;n(t,o,r)},T=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=v(e),a(e),e=n;a(t)},$=(e,t,n,o,r,i,a,s,l)=>{a=a||"svg"===t.type,null==e?A(t,n,o,r,i,a,s,l):R(e,t,r,i,a,s,l)},A=(e,t,o,r,i,a,l,c)=>{let d,f;const{type:p,props:h,shapeFlag:m,transition:v,dirs:y}=e;if(d=e.el=u(e.type,a,h&&h.is,h),8&m?g(d,e.children):16&m&&B(e.children,d,null,r,i,a&&"foreignObject"!==p,l,c),y&&Do(e,null,r,"created"),P(d,e,e.scopeId,l,r),h){for(const t in h)"value"===t||E(t)||s(d,t,null,h[t],a,e.children,r,i,ee);"value"in h&&s(d,"value",null,h.value),(f=h.onVnodeBeforeMount)&&ri(f,r,e)}Object.defineProperty(d,"__vueParentComponent",{value:r,enumerable:!1}),y&&Do(e,null,r,"beforeMount");const b=(!i||i&&!i.pendingBranch)&&v&&!v.persisted;b&&v.beforeEnter(d),n(d,t,o),((f=h&&h.onVnodeMounted)||b||y)&&$r((()=>{f&&ri(f,r,e),b&&v.enter(d),y&&Do(e,null,r,"mounted")}),i)},P=(e,t,n,o,r)=>{if(n&&y(e,n),o)for(let i=0;i{for(let c=l;c{const u=t.el=e.el;let{patchFlag:d,dynamicChildren:f,dirs:p}=t;d|=16&e.patchFlag;const h=e.props||o,m=t.props||o;let v;n&&Ar(n,!1),(v=m.onVnodeBeforeUpdate)&&ri(v,n,t,e),p&&Do(t,e,n,"beforeUpdate"),n&&Ar(n,!0);const y=i&&"foreignObject"!==t.type;if(f?I(e.dynamicChildren,f,u,n,r,y,a):c||q(e,t,u,null,n,r,y,a,!1),d>0){if(16&d)M(u,t,h,m,n,r,i);else if(2&d&&h.class!==m.class&&s(u,"class",null,m.class,i),4&d&&s(u,"style",h.style,m.style,i),8&d){const o=t.dynamicProps;for(let t=0;t{v&&ri(v,n,t,e),p&&Do(t,e,n,"updated")}),r)},I=(e,t,n,o,r,i,a)=>{for(let s=0;s{if(n!==r){if(n!==o)for(const o in n)E(o)||o in r||s(e,o,n[o],null,c,t.children,i,a,ee);for(const o in r){if(E(o))continue;const u=r[o],d=n[o];(u!==d&&"value"!==o||l&&l(e,o))&&s(e,o,d,u,c,t.children,i,a,ee)}"value"in r&&s(e,"value",n.value,r.value)}},V=(e,t,o,r,i,a,s,l,c)=>{const u=t.el=e?e.el:d(""),f=t.anchor=e?e.anchor:d("");let{patchFlag:p,dynamicChildren:h,slotScopeIds:g}=t;g&&(l=l?l.concat(g):g),null==e?(n(u,o,r),n(f,o,r),B(t.children||[],o,f,i,a,s,l,c)):p>0&&64&p&&h&&e.dynamicChildren?(I(e.dynamicChildren,h,o,i,a,s,l),(null!=t.key||i&&t===i.subTree)&&Lr(e,t,!0)):q(e,t,o,f,i,a,s,l,c)},D=(e,t,n,o,r,i,a,s,l)=>{t.slotScopeIds=s,null==e?512&t.shapeFlag?r.ctx.activate(t,n,o,a,l):H(t,n,o,r,i,a,l):z(e,t,l)},H=(e,t,n,r,i,a,s)=>{const l=e.component=function(e,t,n){const r=e.type,i=(t?t.appContext:e.appContext)||ii,a={uid:ai++,vnode:e,type:r,parent:t,appContext:i,root:null,next:null,subTree:null,effect:null,update:null,scope:new Fe(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(i.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:hr(r,i),emitsOptions:Rn(r,i),emit:null,emitted:null,propsDefaults:o,inheritAttrs:r.inheritAttrs,ctx:o,data:o,props:o,attrs:o,slots:o,refs:o,setupState:o,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,bda:null,da:null,ba:null,a:null,rtg:null,rtc:null,ec:null,sp:null};a.ctx={_:a},a.root=t?t.root:a,a.emit=Pn.bind(null,a),a.$pageInstance=t&&t.$pageInstance,e.ce&&e.ce(a);return a}(e,r,i);if(ho(e)&&(l.ctx.renderer=oe),function(e,t=!1){fi=t;const{props:n,children:o}=e.vnode,r=di(e);dr(e,n,r,t),((e,t)=>{if(32&e.vnode.shapeFlag){const n=t._;n?(e.slots=Gt(t),F(t,"_",n)):xr(t,e.slots={})}else e.slots={},t&&Cr(e,t);F(e.slots,qr,1)})(e,o);const i=r?function(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Jt(new Proxy(e.ctx,Qo));const{setup:o}=n;if(o){const n=e.setupContext=o.length>1?function(e){const t=t=>{e.exposed=t||{}};let n;return{get attrs(){return n||(n=function(e){return new Proxy(e.attrs,{get:(t,n)=>(Qe(e,0,"$attrs"),t[n])})}(e))},slots:e.slots,emit:e.emit,expose:t}}(e):null;ci(e),Je();const r=fn(o,e,0,[e.props,n]);if(Ze(),ui(),w(r)){if(r.then(ui,ui),t)return r.then((n=>{pi(e,n,t)})).catch((t=>{hn(t,e,0)}));e.asyncDep=r}else pi(e,r,t)}else hi(e,t)}(e,t):void 0;fi=!1}(l),l.asyncDep){if(i&&i.registerDep(l,W),!e.el){const e=l.subTree=Gr(Rr);C(null,e,t,n)}}else W(l,e,t,n,i,a,s)},z=(e,t,n)=>{const o=t.component=e.component;if(function(e,t,n){const{props:o,children:r,component:i}=e,{props:a,children:s,patchFlag:l}=t,c=i.emitsOptions;if(t.dirs||t.transition)return!0;if(!(n&&l>=0))return!(!r&&!s||s&&s.$stable)||o!==a&&(o?!a||zn(o,a,c):!!a);if(1024&l)return!0;if(16&l)return o?zn(o,a,c):!!a;if(8&l){const e=t.dynamicProps;for(let t=0;tyn&&vn.splice(t,1)}(o.update),o.update()}else t.el=e.el,o.vnode=t},W=(e,t,n,o,r,i,a)=>{const s=()=>{if(e.isMounted){let t,{next:n,bu:o,u:s,parent:l,vnode:c}=e,u=n;Ar(e,!1),n?(n.el=c.el,U(e,n,a)):n=c,o&&j(o),(t=n.props&&n.props.onVnodeBeforeUpdate)&&ri(t,l,n,c),Ar(e,!0);const d=Vn(e),f=e.subTree;e.subTree=d,_(f,d,m(f.el),te(f),e,r,i),n.el=d.el,null===u&&function({vnode:e,parent:t},n){for(;t&&t.subTree===e;)(e=t.vnode).el=n,t=t.parent}(e,d.el),s&&$r(s,r),(t=n.props&&n.props.onVnodeUpdated)&&$r((()=>ri(t,l,n,c)),r)}else{let a;const{el:s,props:l}=t,{bm:c,m:u,parent:d}=e,f=uo(t);if(Ar(e,!1),c&&j(c),!f&&(a=l&&l.onVnodeBeforeMount)&&ri(a,d,t),Ar(e,!0),s&&ie){const n=()=>{e.subTree=Vn(e),ie(s,e.subTree,e,r,null)};f?t.type.__asyncLoader().then((()=>!e.isUnmounted&&n())):n()}else{const a=e.subTree=Vn(e);_(null,a,n,o,e,r,i),t.el=a.el}if(u&&$r(u,r),!f&&(a=l&&l.onVnodeMounted)){const e=t;$r((()=>ri(a,d,e)),r)}const{ba:p,a:h}=e;(256&t.shapeFlag||d&&uo(d.vnode)&&256&d.vnode.shapeFlag)&&(p&&Eo(p),h&&$r(h,r),p&&$r((()=>To(p)),r)),e.isMounted=!0,t=n=o=null}},l=e.effect=new Ke(s,(()=>kn(c)),e.scope),c=e.update=()=>l.run();c.id=e.uid,Ar(e,!0),c()},U=(e,t,n)=>{t.component=e;const r=e.vnode.props;e.vnode=t,e.next=null,function(e,t,n,o){const{props:r,attrs:i,vnode:{patchFlag:a}}=e,s=Gt(r),[l]=e.propsOptions;let c=!1;if(!(o||a>0)||16&a){let o;fr(e,t,r,i)&&(c=!0);for(const i in s)t&&(f(t,i)||(o=L(i))!==i&&f(t,o))||(l?!n||void 0===n[i]&&void 0===n[o]||(r[i]=pr(l,s,i,void 0,e,!0)):delete r[i]);if(i!==s)for(const e in i)t&&f(t,e)||(delete i[e],c=!0)}else if(8&a){const n=e.vnode.dynamicProps;for(let o=0;o{const{vnode:r,slots:i}=e;let a=!0,s=o;if(32&r.shapeFlag){const e=t._;e?n&&1===e?a=!1:(c(i,t),n||1!==e||delete i._):(a=!t.$stable,xr(t,i)),s=t}else t&&(Cr(e,t),s={default:1});if(a)for(const o in i)br(o)||o in s||delete i[o]})(e,t.children,n),Je(),Tn(),Ze()},q=(e,t,n,o,r,i,a,s,l=!1)=>{const c=e&&e.children,u=e?e.shapeFlag:0,d=t.children,{patchFlag:f,shapeFlag:p}=t;if(f>0){if(128&f)return void X(c,d,n,o,r,i,a,s,l);if(256&f)return void K(c,d,n,o,r,i,a,s,l)}8&p?(16&u&&ee(c,r,i),d!==c&&g(n,d)):16&u?16&p?X(c,d,n,o,r,i,a,s,l):ee(c,r,i,!0):(8&u&&g(n,""),16&p&&B(d,n,o,r,i,a,s,l))},K=(e,t,n,o,i,a,s,l,c)=>{t=t||r;const u=(e=e||r).length,d=t.length,f=Math.min(u,d);let p;for(p=0;pd?ee(e,i,a,!0,!1,f):B(t,n,o,i,a,s,l,c,f)},X=(e,t,n,o,i,a,s,l,c)=>{let u=0;const d=t.length;let f=e.length-1,p=d-1;for(;u<=f&&u<=p;){const o=e[u],r=t[u]=c?ti(t[u]):ei(t[u]);if(!Ur(o,r))break;_(o,r,n,null,i,a,s,l,c),u++}for(;u<=f&&u<=p;){const o=e[f],r=t[p]=c?ti(t[p]):ei(t[p]);if(!Ur(o,r))break;_(o,r,n,null,i,a,s,l,c),f--,p--}if(u>f){if(u<=p){const e=p+1,r=ep)for(;u<=f;)G(e[u],i,a,!0),u++;else{const h=u,g=u,m=new Map;for(u=g;u<=p;u++){const e=t[u]=c?ti(t[u]):ei(t[u]);null!=e.key&&m.set(e.key,u)}let v,y=0;const b=p-g+1;let w=!1,x=0;const C=new Array(b);for(u=0;u=b){G(o,i,a,!0);continue}let r;if(null!=o.key)r=m.get(o.key);else for(v=g;v<=p;v++)if(0===C[v-g]&&Ur(o,t[v])){r=v;break}void 0===r?G(o,i,a,!0):(C[r-g]=u+1,r>=x?x=r:w=!0,_(o,t[r],n,null,i,a,s,l,c),y++)}const S=w?function(e){const t=e.slice(),n=[0];let o,r,i,a,s;const l=e.length;for(o=0;o>1,e[n[s]]0&&(t[o]=n[i-1]),n[i]=o)}}i=n.length,a=n[i-1];for(;i-- >0;)n[i]=a,a=t[a];return n}(C):r;for(v=S.length-1,u=b-1;u>=0;u--){const e=g+u,r=t[e],f=e+1{const{el:a,type:s,transition:l,children:c,shapeFlag:u}=e;if(6&u)return void Y(e.component.subTree,t,o,r);if(128&u)return void e.suspense.move(t,o,r);if(64&u)return void s.move(e,t,o,oe);if(s===Pr){n(a,t,o);for(let e=0;el.enter(a)),i);else{const{leave:e,delayLeave:r,afterLeave:i}=l,s=()=>n(a,t,o),c=()=>{e(a,(()=>{s(),i&&i()}))};r?r(a,s,c):c()}else n(a,t,o)},G=(e,t,n,o=!1,r=!1)=>{const{type:i,props:a,ref:s,children:l,dynamicChildren:c,shapeFlag:u,patchFlag:d,dirs:f}=e;if(null!=s&&Tr(s,null,n,e,!0),256&u)return void t.ctx.deactivate(e);const p=1&u&&f,h=!uo(e);let g;if(h&&(g=a&&a.onVnodeBeforeUnmount)&&ri(g,t,e),6&u)Q(e.component,n,o);else{if(128&u)return void e.suspense.unmount(n,o);p&&Do(e,null,t,"beforeUnmount"),64&u?e.type.remove(e,t,n,r,oe,o):c&&(i!==Pr||d>0&&64&d)?ee(c,t,n,!1,!0):(i===Pr&&384&d||!r&&16&u)&&ee(l,t,n),o&&J(e)}(h&&(g=a&&a.onVnodeUnmounted)||p)&&$r((()=>{g&&ri(g,t,e),p&&Do(e,null,t,"unmounted")}),n)},J=e=>{const{type:t,el:n,anchor:o,transition:r}=e;if(t===Pr)return void Z(n,o);if(t===jr)return void T(e);const i=()=>{a(n),r&&!r.persisted&&r.afterLeave&&r.afterLeave()};if(1&e.shapeFlag&&r&&!r.persisted){const{leave:t,delayLeave:o}=r,a=()=>t(n,i);o?o(e.el,i,a):a()}else i()},Z=(e,t)=>{let n;for(;e!==t;)n=v(e),a(e),e=n;a(t)},Q=(e,t,n)=>{const{bum:o,scope:r,update:i,subTree:a,um:s}=e;o&&j(o),r.stop(),i&&(i.active=!1,G(a,e,t,n)),s&&$r(s,t),$r((()=>{e.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve())},ee=(e,t,n,o=!1,r=!1,i=0)=>{for(let a=i;a6&e.shapeFlag?te(e.component.subTree):128&e.shapeFlag?e.suspense.next():v(e.anchor||e.el),ne=(e,t,n)=>{null==e?t._vnode&&G(t._vnode,null,null,!0):_(t._vnode||null,e,t,null,null,null,n),Tn(),$n(),t._vnode=e},oe={p:_,um:G,m:Y,r:J,mt:H,mc:B,pc:q,pbc:I,n:te,o:e};let re,ie;t&&([re,ie]=t(oe));return{render:ne,hydrate:re,createApp:Er(ne,re)}}(e)}function Ar({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Lr(e,t,n=!1){const o=e.children,r=t.children;if(p(o)&&p(r))for(let i=0;i0?Ir||r:null,Fr.pop(),Ir=Fr[Fr.length-1]||null,Mr>0&&Ir&&Ir.push(e),e}function Hr(e,t,n,o,r,i){return Dr(Yr(e,t,n,o,r,i,!0))}function zr(e,t,n,o,r){return Dr(Gr(e,t,n,o,r,!0))}function Wr(e){return!!e&&!0===e.__v_isVNode}function Ur(e,t){return e.type===t.type&&e.key===t.key}const qr="__vInternal",Kr=({key:e})=>null!=e?e:null,Xr=({ref:e,ref_key:t,ref_for:n})=>null!=e?y(e)||nn(e)||v(e)?{i:Fn,r:e,k:t,f:!!n}:e:null;function Yr(e,t=null,n=null,o=0,r=null,i=(e===Pr?0:1),a=!1,s=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Kr(t),ref:t&&Xr(t),scopeId:In,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Fn};return s?(ni(l,n),128&i&&e.normalize(l)):n&&(l.shapeFlag|=y(n)?8:16),Mr>0&&!a&&Ir&&(l.patchFlag>0||6&i)&&32!==l.patchFlag&&Ir.push(l),l}const Gr=function(e,t=null,n=null,o=0,r=null,i=!1){e&&e!==zo||(e=Rr);if(Wr(e)){const o=Jr(e,t,!0);return n&&ni(o,n),Mr>0&&!i&&Ir&&(6&o.shapeFlag?Ir[Ir.indexOf(e)]=o:Ir.push(o)),o.patchFlag|=-2,o}a=e,v(a)&&"__vccOpts"in a&&(e=e.__vccOpts);var a;if(t){t=function(e){return e?Yt(e)||qr in e?c({},e):e:null}(t);let{class:e,style:n}=t;e&&!y(e)&&(t.class=ue(e)),_(n)&&(Yt(n)&&!p(n)&&(n=c({},n)),t.style=ce(n))}const s=y(e)?1:Wn(e)?128:(e=>e.__isTeleport)(e)?64:_(e)?4:v(e)?2:0;return Yr(e,t,n,o,r,s,i,!0)};function Jr(e,t,n=!1){const{props:o,ref:r,patchFlag:i,children:a}=e,s=t?oi(o||{},t):o;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:s,key:s&&Kr(s),ref:t&&t.ref?n&&r?p(r)?r.concat(Xr(t)):[r,Xr(t)]:Xr(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Pr?-1===i?16:16|i:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Jr(e.ssContent),ssFallback:e.ssFallback&&Jr(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Zr(e=" ",t=0){return Gr(Br,null,e,t)}function Qr(e="",t=!1){return t?(Nr(),zr(Rr,null,e)):Gr(Rr,null,e)}function ei(e){return null==e||"boolean"==typeof e?Gr(Rr):p(e)?Gr(Pr,null,e.slice()):"object"==typeof e?ti(e):Gr(Br,null,String(e))}function ti(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:Jr(e)}function ni(e,t){let n=0;const{shapeFlag:o}=e;if(null==t)t=null;else if(p(t))n=16;else if("object"==typeof t){if(65&o){const n=t.default;return void(n&&(n._c&&(n._d=!1),ni(e,n()),n._c&&(n._d=!0)))}{n=32;const o=t._;o||qr in t?3===o&&Fn&&(1===Fn.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=Fn}}else v(t)?(t={default:t,_ctx:Fn},n=32):(t=String(t),64&o?(n=16,t=[Zr(t)]):n=8);e.children=t,e.shapeFlag|=n}function oi(...e){const t={};for(let n=0;nsi||Fn,ci=e=>{si=e,e.scope.on()},ui=()=>{si&&si.scope.off(),si=null};function di(e){return 4&e.vnode.shapeFlag}let fi=!1;function pi(e,t,n){v(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:_(t)&&(e.setupState=cn(t)),hi(e,n)}function hi(e,t,n){const o=e.type;e.render||(e.render=o.render||i),ci(e),Je(),tr(e),Ze(),ui()}function gi(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(cn(Jt(e.exposed)),{get:(t,n)=>n in t?t[n]:n in Jo?Jo[n](e):void 0,has:(e,t)=>t in e||t in Jo}))}function mi(e,t=!0){return v(e)?e.displayName||e.name:e.name||t&&e.__name}const vi=(e,t)=>function(e,t,n=!1){let o,r;const a=v(e);return a?(o=e,r=i):(o=e.get,r=e.set),new dn(o,r,a||!r,n)}(e,0,fi);function yi(e,t,n){const o=arguments.length;return 2===o?_(t)&&!p(t)?Wr(t)?Gr(e,null,[t]):Gr(e,t):Gr(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):3===o&&Wr(n)&&(n=[n]),Gr(e,t,n))}const bi=Symbol(""),_i=()=>qn(bi),wi="3.2.47",xi="undefined"!=typeof document?document:null,Ci=xi&&xi.createElement("template"),Si={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const r=t?xi.createElementNS("http://www.w3.org/2000/svg",e):n?xi.createElement(e,{is:n}):xi.createElement(e);return"select"===e&&o&&null!=o.multiple&&r.setAttribute("multiple",o.multiple),r},createText:e=>xi.createTextNode(e),createComment:e=>xi.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>xi.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,r,i){const a=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),r!==i&&(r=r.nextSibling););else{Ci.innerHTML=o?`${e}`:e;const r=Ci.content;if(o){const e=r.firstChild;for(;e.firstChild;)r.appendChild(e.firstChild);r.removeChild(e)}t.insertBefore(r,n)}return[a?a.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};const ki=/\s*!important$/;function Ei(e,t,n){if(p(n))n.forEach((n=>Ei(e,t,n)));else if(null==n&&(n=""),n=Fi(n),t.startsWith("--"))e.setProperty(t,n);else{const o=function(e,t){const n=$i[t];if(n)return n;let o=O(t);if("filter"!==o&&o in e)return $i[t]=o;o=P(o);for(let r=0;re.replace(ve,((e,t)=>{if(!t)return e;if(1===Ri)return`${t}${Bi}`;const n=function(e,t){const n=Math.pow(10,t+1),o=Math.floor(e*n);return 10*Math.round(o/10)/n}(parseFloat(t)*Ri,ji);return 0===n?"0":`${n}${Bi}`})));var Bi,Ri,ji;const Fi=e=>y(e)?Pi(e):e,Ii="http://www.w3.org/1999/xlink";function Ni(e,t,n,o){e.addEventListener(t,n,o)}function Mi(e,t,n,o,r=null){const i=e._vei||(e._vei={}),a=i[t];if(o&&a)a.value=o;else{const[n,s]=function(e){let t;if(Vi.test(e)){let n;for(t={};n=e.match(Vi);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[":"===e[2]?e.slice(3):L(e.slice(2)),t]}(t);if(o){const a=i[t]=function(e,t){const n=e=>{if(e._vts){if(e._vts<=n.attached)return}else e._vts=Date.now();const o=t&&t.proxy,r=o&&o.$nne,{value:i}=n;if(r&&p(i)){const n=zi(e,i);for(let o=0;oDi||(Hi.then((()=>Di=0)),Di=Date.now()))(),n}(o,r);Ni(e,n,a,s)}else a&&(!function(e,t,n,o){e.removeEventListener(t,n,o)}(e,n,a,s),i[t]=void 0)}}const Vi=/(?:Once|Passive|Capture)$/;let Di=0;const Hi=Promise.resolve();function zi(e,t){if(p(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map((e=>{const t=t=>!t._stopped&&e&&e(t);return t.__wwe=e.__wwe,t}))}return t}const Wi=/^on[a-z]/;const Ui="transition",qi=(e,{slots:t})=>yi(no,function(e){const t={};for(const c in e)c in Ki||(t[c]=e[c]);if(!1===e.css)return t;const{name:n="v",type:o,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:l=i,appearActiveClass:u=a,appearToClass:d=s,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,g=function(e){if(null==e)return null;if(_(e))return[Gi(e.enter),Gi(e.leave)];{const t=Gi(e);return[t,t]}}(r),m=g&&g[0],v=g&&g[1],{onBeforeEnter:y,onEnter:b,onEnterCancelled:w,onLeave:x,onLeaveCancelled:C,onBeforeAppear:S=y,onAppear:k=b,onAppearCancelled:E=w}=t,T=(e,t,n)=>{Zi(e,t?d:s),Zi(e,t?u:a),n&&n()},$=(e,t)=>{e._isLeaving=!1,Zi(e,f),Zi(e,h),Zi(e,p),t&&t()},O=e=>(t,n)=>{const r=e?k:b,a=()=>T(t,e,n);Xi(r,[t,a]),Qi((()=>{Zi(t,e?l:i),Ji(t,e?d:s),Yi(r)||ta(t,o,m,a)}))};return c(t,{onBeforeEnter(e){Xi(y,[e]),Ji(e,i),Ji(e,a)},onBeforeAppear(e){Xi(S,[e]),Ji(e,l),Ji(e,u)},onEnter:O(!1),onAppear:O(!0),onLeave(e,t){e._isLeaving=!0;const n=()=>$(e,t);Ji(e,f),document.body.offsetHeight,Ji(e,p),Qi((()=>{e._isLeaving&&(Zi(e,f),Ji(e,h),Yi(x)||ta(e,o,v,n))})),Xi(x,[e,n])},onEnterCancelled(e){T(e,!1),Xi(w,[e])},onAppearCancelled(e){T(e,!0),Xi(E,[e])},onLeaveCancelled(e){$(e),Xi(C,[e])}})}(e),t);qi.displayName="Transition";const Ki={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};qi.props=c({},to,Ki);const Xi=(e,t=[])=>{p(e)?e.forEach((e=>e(...t))):e&&e(...t)},Yi=e=>!!e&&(p(e)?e.some((e=>e.length>1)):e.length>1);function Gi(e){const t=(e=>{const t=y(e)?Number(e):NaN;return isNaN(t)?e:t})(e);return t}function Ji(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.add(t))),(e._vtc||(e._vtc=new Set)).add(t)}function Zi(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.remove(t)));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function Qi(e){requestAnimationFrame((()=>{requestAnimationFrame(e)}))}let ea=0;function ta(e,t,n,o){const r=e._endId=++ea,i=()=>{r===e._endId&&o()};if(n)return setTimeout(i,n);const{type:a,timeout:s,propCount:l}=function(e,t){const n=window.getComputedStyle(e),o=e=>(n[e]||"").split(", "),r=o("transitionDelay"),i=o("transitionDuration"),a=na(r,i),s=o("animationDelay"),l=o("animationDuration"),c=na(s,l);let u=null,d=0,f=0;t===Ui?a>0&&(u=Ui,d=a,f=i.length):"animation"===t?c>0&&(u="animation",d=c,f=l.length):(d=Math.max(a,c),u=d>0?a>c?Ui:"animation":null,f=u?u===Ui?i.length:l.length:0);const p=u===Ui&&/\b(transform|all)(,|$)/.test(o("transitionProperty").toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}(e,t);if(!a)return o();const c=a+"end";let u=0;const d=()=>{e.removeEventListener(c,f),i()},f=t=>{t.target===e&&++u>=l&&d()};setTimeout((()=>{uoa(t)+oa(e[n]))))}function oa(e){return 1e3*Number(e.slice(0,-1).replace(",","."))}const ra=e=>{const t=e.props["onUpdate:modelValue"]||!1;return p(t)?e=>j(t,e):t};function ia(e){e.target.composing=!0}function aa(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const sa={created(e,{modifiers:{lazy:t,trim:n,number:o}},r){e._assign=ra(r);const i=o||r.props&&"number"===r.props.type;Ni(e,t?"change":"input",(t=>{if(t.target.composing)return;let o=e.value;n&&(o=o.trim()),i&&(o=I(o)),e._assign(o)})),n&&Ni(e,"change",(()=>{e.value=e.value.trim()})),t||(Ni(e,"compositionstart",ia),Ni(e,"compositionend",aa),Ni(e,"change",aa))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:o,number:r}},i){if(e._assign=ra(i),e.composing)return;if(document.activeElement===e&&"range"!==e.type){if(n)return;if(o&&e.value.trim()===t)return;if((r||"number"===e.type)&&I(e.value)===t)return}const a=null==t?"":t;e.value!==a&&(e.value=a)}},la={deep:!0,created(e,t,n){e._assign=ra(n),Ni(e,"change",(()=>{const t=e._modelValue,n=pa(e),o=e.checked,r=e._assign;if(p(t)){const e=X(t,n),i=-1!==e;if(o&&!i)r(t.concat(n));else if(!o&&i){const n=[...t];n.splice(e,1),r(n)}}else if(g(t)){const e=new Set(t);o?e.add(n):e.delete(n),r(e)}else r(ha(e,o))}))},mounted:ca,beforeUpdate(e,t,n){e._assign=ra(n),ca(e,t,n)}};function ca(e,{value:t,oldValue:n},o){e._modelValue=t,p(t)?e.checked=X(t,o.props.value)>-1:g(t)?e.checked=t.has(o.props.value):t!==n&&(e.checked=K(t,ha(e,!0)))}const ua={created(e,{value:t},n){e.checked=K(t,n.props.value),e._assign=ra(n),Ni(e,"change",(()=>{e._assign(pa(e))}))},beforeUpdate(e,{value:t,oldValue:n},o){e._assign=ra(o),t!==n&&(e.checked=K(t,o.props.value))}},da={deep:!0,created(e,{value:t,modifiers:{number:n}},o){const r=g(t);Ni(e,"change",(()=>{const t=Array.prototype.filter.call(e.options,(e=>e.selected)).map((e=>n?I(pa(e)):pa(e)));e._assign(e.multiple?r?new Set(t):t:t[0])})),e._assign=ra(o)},mounted(e,{value:t}){fa(e,t)},beforeUpdate(e,t,n){e._assign=ra(n)},updated(e,{value:t}){fa(e,t)}};function fa(e,t){const n=e.multiple;if(!n||p(t)||g(t)){for(let o=0,r=e.options.length;o-1:r.selected=t.has(i);else if(K(pa(r),t))return void(e.selectedIndex!==o&&(e.selectedIndex=o))}n||-1===e.selectedIndex||(e.selectedIndex=-1)}}function pa(e){return"_value"in e?e._value:e.value}function ha(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const ga={created(e,t,n){ma(e,t,n,null,"created")},mounted(e,t,n){ma(e,t,n,null,"mounted")},beforeUpdate(e,t,n,o){ma(e,t,n,o,"beforeUpdate")},updated(e,t,n,o){ma(e,t,n,o,"updated")}};function ma(e,t,n,o,r){const i=function(e,t){switch(e){case"SELECT":return da;case"TEXTAREA":return sa;default:switch(t){case"checkbox":return la;case"radio":return ua;default:return sa}}}(e.tagName,n.props&&n.props.type)[r];i&&i(e,t,n,o)}const va=["ctrl","shift","alt","meta"],ya={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>va.some((n=>e[`${n}Key`]&&!t.includes(n)))},ba=(e,t)=>(n,...o)=>{for(let e=0;e{wa(e,!1)})):wa(e,t))},beforeUnmount(e,{value:t}){wa(e,t)}};function wa(e,t){e.style.display=t?e._vod:"none"}const xa=c({patchProp:(e,t,n,o,r=!1,i,a,c,u)=>{if(0===t.indexOf("change:"))return function(e,t,n,o=null){if(!n||!o)return;const r=t.replace("change:",""),{attrs:i}=o,a=i[r],s=(e.__wxsProps||(e.__wxsProps={}))[r];if(s===a)return;e.__wxsProps[r]=a;const l=o.proxy;Sn((()=>{n(a,s,l.$gcd(l,!0),l.$gcd(l,!1))}))}(e,t,o,a);"class"===t?function(e,t,n){const{__wxsAddClass:o,__wxsRemoveClass:r}=e;r&&r.length&&(t=(t||"").split(/\s+/).filter((e=>-1===r.indexOf(e))).join(" "),r.length=0),o&&o.length&&(t=(t||"")+" "+o.join(" "));const i=e._vtc;i&&(t=(t?[t,...i]:[...i]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}(e,o,r):"style"===t?function(e,t,n){const o=e.style,r=y(n);if(n&&!r){if(t&&!y(t))for(const e in t)null==n[e]&&Ei(o,e,"");for(const e in n)Ei(o,e,n[e])}else{const i=o.display;r?t!==n&&(o.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(o.display=i)}const{__wxsStyle:i}=e;if(i)for(const a in i)Ei(o,a,i[a])}(e,n,o):s(t)?l(t)||Mi(e,t,0,o,a):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):function(e,t,n,o){if(o)return"innerHTML"===t||"textContent"===t||!!(t in e&&Wi.test(t)&&v(n));if("spellcheck"===t||"draggable"===t||"translate"===t)return!1;if("form"===t)return!1;if("list"===t&&"INPUT"===e.tagName)return!1;if("type"===t&&"TEXTAREA"===e.tagName)return!1;if(Wi.test(t)&&y(n))return!1;return t in e}(e,t,o,r))?function(e,t,n,o,r,i,a){if("innerHTML"===t||"textContent"===t)return o&&a(o,r,i),void(e[t]=null==n?"":n);if("value"===t&&"PROGRESS"!==e.tagName&&!e.tagName.includes("-")){e._value=n;const o=null==n?"":n;return e.value===o&&"OPTION"!==e.tagName||(e.value=o),void(null==n&&e.removeAttribute(t))}let s=!1;if(""===n||null==n){const o=typeof e[t];"boolean"===o?n=q(n):null==n&&"string"===o?(n="",s=!0):"number"===o&&(n=0,s=!0)}try{e[t]=n}catch(l){}s&&e.removeAttribute(t)}(e,t,o,i,a,c,u):("true-value"===t?e._trueValue=o:"false-value"===t&&(e._falseValue=o),function(e,t,n,o,r){if(o&&t.startsWith("xlink:"))null==n?e.removeAttributeNS(Ii,t.slice(6,t.length)):e.setAttributeNS(Ii,t,n);else{const o=U(t);null==n||o&&!q(n)?e.removeAttribute(t):e.setAttribute(t,o?"":n)}}(e,t,o,r))},forcePatchProp:(e,t)=>0===t.indexOf("change:")||("class"===t&&e.__wxsClassChanged?(e.__wxsClassChanged=!1,!0):!("style"!==t||!e.__wxsStyleChanged)&&(e.__wxsStyleChanged=!1,!0))},Si);let Ca;const Sa=(...e)=>{const t=(Ca||(Ca=Or(xa))).createApp(...e),{mount:n}=t;return t.mount=e=>{const o=function(e){if(y(e)){return document.querySelector(e)}return e}(e);if(!o)return;const r=t._component;v(r)||r.render||r.template||(r.template=o.innerHTML),o.innerHTML="";const i=n(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},t};const ka=["{","}"];const Ea=/^(?:\d)+/,Ta=/^(?:\w)+/;const $a=Object.prototype.hasOwnProperty,Oa=(e,t)=>$a.call(e,t),Aa=new class{constructor(){this._caches=Object.create(null)}interpolate(e,t,n=ka){if(!t)return[e];let o=this._caches[e];return o||(o=function(e,[t,n]){const o=[];let r=0,i="";for(;r-1?"zh-Hans":e.indexOf("-hant")>-1?"zh-Hant":(n=e,["-tw","-hk","-mo","-cht"].find((e=>-1!==n.indexOf(e)))?"zh-Hant":"zh-Hans");var n;let o=["en","fr","es"];t&&Object.keys(t).length>0&&(o=Object.keys(t));const r=function(e,t){return t.find((t=>0===e.indexOf(t)))}(e,o);return r||void 0}class Pa{constructor({locale:e,fallbackLocale:t,messages:n,watcher:o,formater:r}){this.locale="en",this.fallbackLocale="en",this.message={},this.messages={},this.watchers=[],t&&(this.fallbackLocale=t),this.formater=r||Aa,this.messages=n||{},this.setLocale(e||"en"),o&&this.watchLocale(o)}setLocale(e){const t=this.locale;this.locale=La(e,this.messages)||this.fallbackLocale,this.messages[this.locale]||(this.messages[this.locale]={}),this.message=this.messages[this.locale],t!==this.locale&&this.watchers.forEach((e=>{e(this.locale,t)}))}getLocale(){return this.locale}watchLocale(e){const t=this.watchers.push(e)-1;return()=>{this.watchers.splice(t,1)}}add(e,t,n=!0){const o=this.messages[e];o?n?Object.assign(o,t):Object.keys(t).forEach((e=>{Oa(o,e)||(o[e]=t[e])})):this.messages[e]=t}f(e,t,n){return this.formater.interpolate(e,t,n).join("")}t(e,t,n){let o=this.message;return"string"==typeof t?(t=La(t,this.messages))&&(o=this.messages[t]):n=t,Oa(o,e)?this.formater.interpolate(o[e],n).join(""):(console.warn(`Cannot translate the value of keypath ${e}. Use the value of keypath as default.`),e)}}function Ba(e,t={},n,o){"string"!=typeof e&&([e,t]=[t,e]),"string"!=typeof e&&(e="undefined"!=typeof uni&&cd?cd():"undefined"!=typeof global&&global.getLocale?global.getLocale():"en"),"string"!=typeof n&&(n="undefined"!=typeof __uniConfig&&__uniConfig.fallbackLocale||"en");const r=new Pa({locale:e,fallbackLocale:n,messages:t,watcher:o});let i=(e,t)=>{{let e=!1;i=function(t,n){const o=yp().$vm;return o&&(o.$locale,e||(e=!0,function(e,t){e.$watchLocale?e.$watchLocale((e=>{t.setLocale(e)})):e.$watch((()=>e.$locale),(e=>{t.setLocale(e)}))}(o,r))),r.t(t,n)}}return i(e,t)};return{i18n:r,f:(e,t,n)=>r.f(e,t,n),t:(e,t)=>i(e,t),add:(e,t,n=!0)=>r.add(e,t,n),watch:e=>r.watchLocale(e),getLocale:()=>r.getLocale(),setLocale:e=>r.setLocale(e)}}function Ra(e,t){return e.indexOf(t[0])>-1} +/*! + * vue-router v4.1.6 + * (c) 2022 Eduardo San Martin Morote + * @license MIT + */const ja="undefined"!=typeof window;const Fa=Object.assign;function Ia(e,t){const n={};for(const o in t){const r=t[o];n[o]=Ma(r)?r.map(e):e(r)}return n}const Na=()=>{},Ma=Array.isArray,Va=/\/$/;function Da(e,t,n="/"){let o,r={},i="",a="";const s=t.indexOf("#");let l=t.indexOf("?");return s=0&&(l=-1),l>-1&&(o=t.slice(0,l),i=t.slice(l+1,s>-1?s:t.length),r=e(i)),s>-1&&(o=o||t.slice(0,s),a=t.slice(s,t.length)),o=function(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),o=e.split("/");let r,i,a=n.length-1;for(r=0;r1&&a--}return n.slice(0,a).join("/")+"/"+o.slice(r-(r===o.length?1:0)).join("/")}(null!=o?o:t,n),{fullPath:o+(i&&"?")+i+a,path:o,query:r,hash:a}}function Ha(e,t){return t&&e.toLowerCase().startsWith(t.toLowerCase())?e.slice(t.length)||"/":e}function za(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Wa(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Ua(e[n],t[n]))return!1;return!0}function Ua(e,t){return Ma(e)?qa(e,t):Ma(t)?qa(t,e):e===t}function qa(e,t){return Ma(t)?e.length===t.length&&e.every(((e,n)=>e===t[n])):1===e.length&&e[0]===t}var Ka,Xa,Ya,Ga;function Ja(e){if(!e)if(ja){const t=document.querySelector("base");e=(e=t&&t.getAttribute("href")||"/").replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return"/"!==e[0]&&"#"!==e[0]&&(e="/"+e),e.replace(Va,"")}(Xa=Ka||(Ka={})).pop="pop",Xa.push="push",(Ga=Ya||(Ya={})).back="back",Ga.forward="forward",Ga.unknown="";const Za=/^[^#]+#/;function Qa(e,t){return e.replace(Za,"#")+t}const es=()=>({left:window.pageXOffset,top:window.pageYOffset});function ts(e){let t;if("el"in e){const n=e.el,o="string"==typeof n&&n.startsWith("#"),r="string"==typeof n?o?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=function(e,t){const n=document.documentElement.getBoundingClientRect(),o=e.getBoundingClientRect();return{behavior:t.behavior,left:o.left-n.left-(t.left||0),top:o.top-n.top-(t.top||0)}}(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(null!=t.left?t.left:window.pageXOffset,null!=t.top?t.top:window.pageYOffset)}function ns(e,t){return(history.state?history.state.position-t:-1)+e}const os=new Map;function rs(e,t){const{pathname:n,search:o,hash:r}=t,i=e.indexOf("#");if(i>-1){let t=r.includes(e.slice(i))?e.slice(i).length:1,n=r.slice(t);return"/"!==n[0]&&(n="/"+n),Ha(n,"")}return Ha(n,e)+o+r}function is(e,t,n,o=!1,r=!1){return{back:e,current:t,forward:n,replaced:o,position:window.history.length,scroll:r?es():null}}function as(e){const{history:t,location:n}=window,o={value:rs(e,n)},r={value:t.state};function i(o,i,a){const s=e.indexOf("#"),l=s>-1?(n.host&&document.querySelector("base")?e:e.slice(s))+o:location.protocol+"//"+location.host+e+o;try{t[a?"replaceState":"pushState"](i,"",l),r.value=i}catch(c){console.error(c),n[a?"replace":"assign"](l)}}return r.value||i(o.value,{back:null,current:o.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0),{location:o,state:r,push:function(e,n){const a=Fa({},r.value,t.state,{forward:e,scroll:es()});i(a.current,a,!0),i(e,Fa({},is(o.value,e,null),{position:a.position+1},n),!1),o.value=e},replace:function(e,n){i(e,Fa({},t.state,is(r.value.back,e,r.value.forward,!0),n,{position:r.value.position}),!0),o.value=e}}}function ss(e){const t=as(e=Ja(e)),n=function(e,t,n,o){let r=[],i=[],a=null;const s=({state:i})=>{const s=rs(e,location),l=n.value,c=t.value;let u=0;if(i){if(n.value=s,t.value=i,a&&a===l)return void(a=null);u=c?i.position-c.position:0}else o(s);r.forEach((e=>{e(n.value,l,{delta:u,type:Ka.pop,direction:u?u>0?Ya.forward:Ya.back:Ya.unknown})}))};function l(){const{history:e}=window;e.state&&e.replaceState(Fa({},e.state,{scroll:es()}),"")}return window.addEventListener("popstate",s),window.addEventListener("beforeunload",l),{pauseListeners:function(){a=n.value},listen:function(e){r.push(e);const t=()=>{const t=r.indexOf(e);t>-1&&r.splice(t,1)};return i.push(t),t},destroy:function(){for(const e of i)e();i=[],window.removeEventListener("popstate",s),window.removeEventListener("beforeunload",l)}}}(e,t.state,t.location,t.replace);const o=Fa({location:"",base:e,go:function(e,t=!0){t||n.pauseListeners(),history.go(e)},createHref:Qa.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function ls(e){return"string"==typeof e||"symbol"==typeof e}const cs={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},us=Symbol("");var ds,fs;function ps(e,t){return Fa(new Error,{type:e,[us]:!0},t)}function hs(e,t){return e instanceof Error&&us in e&&(null==t||!!(e.type&t))}(fs=ds||(ds={}))[fs.aborted=4]="aborted",fs[fs.cancelled=8]="cancelled",fs[fs.duplicated=16]="duplicated";const gs={sensitive:!1,strict:!1,start:!0,end:!0},ms=/[.+*?^${}()[\]/\\]/g;function vs(e,t){let n=0;for(;nt.length?1===t.length&&80===t[0]?1:-1:0}function ys(e,t){let n=0;const o=e.score,r=t.score;for(;n0&&t[t.length-1]<0}const _s={type:0,value:""},ws=/[a-zA-Z0-9_]/;function xs(e,t,n){const o=function(e,t){const n=Fa({},gs,t),o=[];let r=n.start?"^":"";const i=[];for(const l of e){const e=l.length?[]:[90];n.strict&&!l.length&&(r+="/");for(let t=0;t1&&("*"===s||"+"===s)&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:c,regexp:u,repeatable:"*"===s||"+"===s,optional:"*"===s||"?"===s})):t("Invalid state to consume buffer"),c="")}function f(){c+=s}for(;l{i(f)}:Na}function i(e){if(ls(e)){const t=o.get(e);t&&(o.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(i),t.alias.forEach(i))}else{const t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&o.delete(e.record.name),e.children.forEach(i),e.alias.forEach(i))}}function a(e){let t=0;for(;t=0&&(e.record.path!==n[t].record.path||!Os(e,n[t]));)t++;n.splice(t,0,e),e.record.name&&!Es(e)&&o.set(e.record.name,e)}return t=$s({strict:!1,end:!0,sensitive:!1},t),e.forEach((e=>r(e))),{addRoute:r,resolve:function(e,t){let r,i,a,s={};if("name"in e&&e.name){if(r=o.get(e.name),!r)throw ps(1,{location:e});a=r.record.name,s=Fa(Ss(t.params,r.keys.filter((e=>!e.optional)).map((e=>e.name))),e.params&&Ss(e.params,r.keys.map((e=>e.name)))),i=r.stringify(s)}else if("path"in e)i=e.path,r=n.find((e=>e.re.test(i))),r&&(s=r.parse(i),a=r.record.name);else{if(r=t.name?o.get(t.name):n.find((e=>e.re.test(t.path))),!r)throw ps(1,{location:e,currentLocation:t});a=r.record.name,s=Fa({},t.params,e.params),i=r.stringify(s)}const l=[];let c=r;for(;c;)l.unshift(c.record),c=c.parent;return{name:a,path:i,params:s,matched:l,meta:Ts(l)}},removeRoute:i,getRoutes:function(){return n},getRecordMatcher:function(e){return o.get(e)}}}function Ss(e,t){const n={};for(const o of t)o in e&&(n[o]=e[o]);return n}function ks(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const o in e.components)t[o]="boolean"==typeof n?n:n[o];return t}function Es(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Ts(e){return e.reduce(((e,t)=>Fa(e,t.meta)),{})}function $s(e,t){const n={};for(const o in e)n[o]=o in t?t[o]:e[o];return n}function Os(e,t){return t.children.some((t=>t===e||Os(e,t)))}const As=/#/g,Ls=/&/g,Ps=/\//g,Bs=/=/g,Rs=/\?/g,js=/\+/g,Fs=/%5B/g,Is=/%5D/g,Ns=/%5E/g,Ms=/%60/g,Vs=/%7B/g,Ds=/%7C/g,Hs=/%7D/g,zs=/%20/g;function Ws(e){return encodeURI(""+e).replace(Ds,"|").replace(Fs,"[").replace(Is,"]")}function Us(e){return Ws(e).replace(js,"%2B").replace(zs,"+").replace(As,"%23").replace(Ls,"%26").replace(Ms,"`").replace(Vs,"{").replace(Hs,"}").replace(Ns,"^")}function qs(e){return null==e?"":function(e){return Ws(e).replace(As,"%23").replace(Rs,"%3F")}(e).replace(Ps,"%2F")}function Ks(e){try{return decodeURIComponent(""+e)}catch(t){}return""+e}function Xs(e){const t={};if(""===e||"?"===e)return t;const n=("?"===e[0]?e.slice(1):e).split("&");for(let o=0;oe&&Us(e))):[o&&Us(o)]).forEach((e=>{void 0!==e&&(t+=(t.length?"&":"")+n,null!=e&&(t+="="+e))}))}return t}function Gs(e){const t={};for(const n in e){const o=e[n];void 0!==o&&(t[n]=Ma(o)?o.map((e=>null==e?null:""+e)):null==o?o:""+o)}return t}const Js=Symbol(""),Zs=Symbol(""),Qs=Symbol(""),el=Symbol(""),tl=Symbol("");function nl(){let e=[];return{add:function(t){return e.push(t),()=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)}},list:()=>e,reset:function(){e=[]}}}function ol(e,t,n,o,r){const i=o&&(o.enterCallbacks[r]=o.enterCallbacks[r]||[]);return()=>new Promise(((a,s)=>{const l=e=>{var l;!1===e?s(ps(4,{from:n,to:t})):e instanceof Error?s(e):"string"==typeof(l=e)||l&&"object"==typeof l?s(ps(2,{from:t,to:e})):(i&&o.enterCallbacks[r]===i&&"function"==typeof e&&i.push(e),a())},c=e.call(o&&o.instances[r],t,n,l);let u=Promise.resolve(c);e.length<3&&(u=u.then(l)),u.catch((e=>s(e)))}))}function rl(e,t,n,o){const r=[];for(const a of e)for(const e in a.components){let s=a.components[e];if("beforeRouteEnter"===t||a.instances[e])if("object"==typeof(i=s)||"displayName"in i||"props"in i||"__vccOpts"in i){const i=(s.__vccOpts||s)[t];i&&r.push(ol(i,n,o,a,e))}else{let i=s();r.push((()=>i.then((r=>{if(!r)return Promise.reject(new Error(`Couldn't resolve component "${e}" at "${a.path}"`));const i=(s=r).__esModule||"Module"===s[Symbol.toStringTag]?r.default:r;var s;a.components[e]=i;const l=(i.__vccOpts||i)[t];return l&&ol(l,n,o,a,e)()}))))}}var i;return r}function il(e){const t=qn(Qs),n=qn(el),o=vi((()=>t.resolve(sn(e.to)))),r=vi((()=>{const{matched:e}=o.value,{length:t}=e,r=e[t-1],i=n.matched;if(!r||!i.length)return-1;const a=i.findIndex(za.bind(null,r));if(a>-1)return a;const s=sl(e[t-2]);return t>1&&sl(r)===s&&i[i.length-1].path!==s?i.findIndex(za.bind(null,e[t-2])):a})),i=vi((()=>r.value>-1&&function(e,t){for(const n in t){const o=t[n],r=e[n];if("string"==typeof o){if(o!==r)return!1}else if(!Ma(r)||r.length!==o.length||o.some(((e,t)=>e!==r[t])))return!1}return!0}(n.params,o.value.params))),a=vi((()=>r.value>-1&&r.value===n.matched.length-1&&Wa(n.params,o.value.params)));return{route:o,href:vi((()=>o.value.href)),isActive:i,isExactActive:a,navigate:function(n={}){return function(e){if(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)return;if(e.defaultPrevented)return;if(void 0!==e.button&&0!==e.button)return;if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}e.preventDefault&&e.preventDefault();return!0}(n)?t[sn(e.replace)?"replace":"push"](sn(e.to)).catch(Na):Promise.resolve()}}}const al=co({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:il,setup(e,{slots:t}){const n=zt(il(e)),{options:o}=qn(Qs),r=vi((()=>({[ll(e.activeClass,o.linkActiveClass,"router-link-active")]:n.isActive,[ll(e.exactActiveClass,o.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive})));return()=>{const o=t.default&&t.default(n);return e.custom?o:yi("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},o)}}});function sl(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const ll=(e,t,n)=>null!=e?e:null!=t?t:n;function cl(e,t){if(!e)return null;const n=e(t);return 1===n.length?n[0]:n}const ul=co({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const o=qn(tl),r=vi((()=>e.route||o.value)),i=qn(Zs,0),a=vi((()=>{let e=sn(i);const{matched:t}=r.value;let n;for(;(n=t[e])&&!n.components;)e++;return e})),s=vi((()=>r.value.matched[a.value]));Un(Zs,vi((()=>a.value+1))),Un(Js,s),Un(tl,r);const l=on();return Yn((()=>[l.value,s.value,e.name]),(([e,t,n],[o,r,i])=>{t&&(t.instances[n]=e,r&&r!==t&&e&&e===o&&(t.leaveGuards.size||(t.leaveGuards=r.leaveGuards),t.updateGuards.size||(t.updateGuards=r.updateGuards))),!e||!t||r&&za(t,r)&&o||(t.enterCallbacks[n]||[]).forEach((t=>t(e)))}),{flush:"post"}),()=>{const o=r.value,i=e.name,a=s.value,c=a&&a.components[i];if(!c)return cl(n.default,{Component:c,route:o});const u=a.props[i],d=u?!0===u?o.params:"function"==typeof u?u(o):u:null,f=yi(c,Fa({},d,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(a.instances[i]=null)},ref:l}));return cl(n.default,{Component:f,route:o})||f}}});function dl(e){const t=Cs(e.routes,e),n=e.parseQuery||Xs,o=e.stringifyQuery||Ys,r=e.history,i=nl(),a=nl(),s=nl(),l=rn(cs,!0);let c=cs;ja&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=Ia.bind(null,(e=>""+e)),d=Ia.bind(null,qs),f=Ia.bind(null,Ks);function p(e,i){if(i=Fa({},i||l.value),"string"==typeof e){const o=Da(n,e,i.path),a=t.resolve({path:o.path},i),s=r.createHref(o.fullPath);return Fa(o,a,{params:f(a.params),hash:Ks(o.hash),redirectedFrom:void 0,href:s})}let a;if("path"in e)a=Fa({},e,{path:Da(n,e.path,i.path).path});else{const t=Fa({},e.params);for(const e in t)null==t[e]&&delete t[e];a=Fa({},e,{params:d(e.params)}),i.params=d(i.params)}const s=t.resolve(a,i),c=e.hash||"";s.params=u(f(s.params));const p=function(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}(o,Fa({},e,{hash:(h=c,Ws(h).replace(Vs,"{").replace(Hs,"}").replace(Ns,"^")),path:s.path}));var h;const g=r.createHref(p);return Fa({fullPath:p,hash:c,query:o===Ys?Gs(e.query):e.query||{}},s,{redirectedFrom:void 0,href:g})}function h(e){return"string"==typeof e?Da(n,e,l.value.path):Fa({},e)}function g(e,t){if(c!==e)return ps(8,{from:t,to:e})}function m(e){return y(e)}function v(e){const t=e.matched[e.matched.length-1];if(t&&t.redirect){const{redirect:n}=t;let o="function"==typeof n?n(e):n;return"string"==typeof o&&(o=o.includes("?")||o.includes("#")?o=h(o):{path:o},o.params={}),Fa({query:e.query,hash:e.hash,params:"path"in o?{}:e.params},o)}}function y(e,t){const n=c=p(e),r=l.value,i=e.state,a=e.force,s=!0===e.replace,u=v(n);if(u)return y(Fa(h(u),{state:"object"==typeof u?Fa({},i,u.state):i,force:a,replace:s}),t||n);const d=n;let f;return d.redirectedFrom=t,!a&&function(e,t,n){const o=t.matched.length-1,r=n.matched.length-1;return o>-1&&o===r&&za(t.matched[o],n.matched[r])&&Wa(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}(o,r,n)&&(f=ps(16,{to:d,from:r}),A(r,r,!0,!1)),(f?Promise.resolve(f):_(d,r)).catch((e=>hs(e)?hs(e,2)?e:O(e):$(e,d,r))).then((e=>{if(e){if(hs(e,2))return y(Fa({replace:s},h(e.to),{state:"object"==typeof e.to?Fa({},i,e.to.state):i,force:a}),t||d)}else e=x(d,r,!0,s,i);return w(d,r,e),e}))}function b(e,t){const n=g(e,t);return n?Promise.reject(n):Promise.resolve()}function _(e,t){let n;const[o,r,s]=function(e,t){const n=[],o=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let a=0;aza(e,i)))?o.push(i):n.push(i));const s=e.matched[a];s&&(t.matched.find((e=>za(e,s)))||r.push(s))}return[n,o,r]}(e,t);n=rl(o.reverse(),"beforeRouteLeave",e,t);for(const i of o)i.leaveGuards.forEach((o=>{n.push(ol(o,e,t))}));const l=b.bind(null,e,t);return n.push(l),fl(n).then((()=>{n=[];for(const o of i.list())n.push(ol(o,e,t));return n.push(l),fl(n)})).then((()=>{n=rl(r,"beforeRouteUpdate",e,t);for(const o of r)o.updateGuards.forEach((o=>{n.push(ol(o,e,t))}));return n.push(l),fl(n)})).then((()=>{n=[];for(const o of e.matched)if(o.beforeEnter&&!t.matched.includes(o))if(Ma(o.beforeEnter))for(const r of o.beforeEnter)n.push(ol(r,e,t));else n.push(ol(o.beforeEnter,e,t));return n.push(l),fl(n)})).then((()=>(e.matched.forEach((e=>e.enterCallbacks={})),n=rl(s,"beforeRouteEnter",e,t),n.push(l),fl(n)))).then((()=>{n=[];for(const o of a.list())n.push(ol(o,e,t));return n.push(l),fl(n)})).catch((e=>hs(e,8)?e:Promise.reject(e)))}function w(e,t,n){for(const o of s.list())o(e,t,n)}function x(e,t,n,o,i){const a=g(e,t);if(a)return a;const s=t===cs,c=ja?history.state:{};n&&(o||s?r.replace(e.fullPath,Fa({scroll:s&&c&&c.scroll},i)):r.push(e.fullPath,i)),l.value=e,A(e,t,n,s),O()}let C;function S(){C||(C=r.listen(((e,t,n)=>{if(!R.listening)return;const o=p(e),i=v(o);if(i)return void y(Fa(i,{replace:!0}),o).catch(Na);c=o;const a=l.value;var s,u;ja&&(s=ns(a.fullPath,n.delta),u=es(),os.set(s,u)),_(o,a).catch((e=>hs(e,12)?e:hs(e,2)?(y(e.to,o).then((e=>{hs(e,20)&&!n.delta&&n.type===Ka.pop&&r.go(-1,!1)})).catch(Na),Promise.reject()):(n.delta&&r.go(-n.delta,!1),$(e,o,a)))).then((e=>{(e=e||x(o,a,!1))&&(n.delta&&!hs(e,8)?r.go(-n.delta,!1):n.type===Ka.pop&&hs(e,20)&&r.go(-1,!1)),w(o,a,e)})).catch(Na)})))}let k,E=nl(),T=nl();function $(e,t,n){O(e);const o=T.list();return o.length?o.forEach((o=>o(e,t,n))):console.error(e),Promise.reject(e)}function O(e){return k||(k=!e,S(),E.list().forEach((([t,n])=>e?n(e):t())),E.reset()),e}function A(t,n,o,r){const{scrollBehavior:i}=e;if(!ja||!i)return Promise.resolve();const a=!o&&function(e){const t=os.get(e);return os.delete(e),t}(ns(t.fullPath,0))||(r||!o)&&history.state&&history.state.scroll||null;return Sn().then((()=>i(t,n,a))).then((e=>e&&ts(e))).catch((e=>$(e,t,n)))}const L=e=>r.go(e);let P;const B=new Set,R={currentRoute:l,listening:!0,addRoute:function(e,n){let o,r;return ls(e)?(o=t.getRecordMatcher(e),r=n):r=e,t.addRoute(r,o)},removeRoute:function(e){const n=t.getRecordMatcher(e);n&&t.removeRoute(n)},hasRoute:function(e){return!!t.getRecordMatcher(e)},getRoutes:function(){return t.getRoutes().map((e=>e.record))},resolve:p,options:e,push:m,replace:function(e){return m(Fa(h(e),{replace:!0}))},go:L,back:()=>L(-1),forward:()=>L(1),beforeEach:i.add,beforeResolve:a.add,afterEach:s.add,onError:T.add,isReady:function(){return k&&l.value!==cs?Promise.resolve():new Promise(((e,t)=>{E.add([e,t])}))},install(e){e.component("RouterLink",al),e.component("RouterView",ul),e.config.globalProperties.$router=this,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>sn(l)}),ja&&!P&&l.value===cs&&(P=!0,m(r.location).catch((e=>{})));const t={};for(const o in cs)t[o]=vi((()=>l.value[o]));e.provide(Qs,this),e.provide(el,zt(t)),e.provide(tl,l);const n=e.unmount;B.add(e),e.unmount=function(){B.delete(e),B.size<1&&(c=cs,C&&C(),C=null,l.value=cs,P=!1,k=!1),n()}}};return R}function fl(e){return e.reduce(((e,t)=>e.then((()=>t()))),Promise.resolve())}function pl(){return qn(el)}const hl=pe((()=>"undefined"!=typeof __uniConfig&&__uniConfig.locales&&!!Object.keys(__uniConfig.locales).length));let gl;function ml(e){return Ra(e,ne)?bl().f(e,function(){const e=cd(),t=__uniConfig.locales;return t[e]||t[__uniConfig.fallbackLocale]||t.en||{}}(),ne):e}function vl(e,t){if(1===t.length){if(e){const n=e=>y(e)&&Ra(e,ne),o=t[0];let r=[];if(p(e)&&(r=e.filter((e=>n(e[o])))).length)return r;const i=e[t[0]];if(n(i))return e}return}const n=t.shift();return vl(e&&e[n],t)}function yl(e,t){const n=vl(e,t);if(!n)return!1;const o=t[t.length-1];if(p(n))n.forEach((e=>yl(e,[o])));else{let e=n[o];Object.defineProperty(n,o,{get:()=>ml(e),set(t){e=t}})}return!0}function bl(){if(!gl){let e;if(e=navigator.cookieEnabled&&window.localStorage&&localStorage.UNI_LOCALE||__uniConfig.locale||navigator.language,gl=Ba(e),hl()){const t=Object.keys(__uniConfig.locales||{});t.length&&t.forEach((e=>gl.add(e,__uniConfig.locales[e]))),gl.setLocale(e)}}return gl}function _l(e,t,n){return t.reduce(((t,o,r)=>(t[e+o]=n[r],t)),{})}const wl=pe((()=>{const e="uni.async.",t=["error"];bl().add("en",_l(e,t,["The connection timed out, click the screen to try again."]),!1),bl().add("es",_l(e,t,["Se agotó el tiempo de conexión, haga clic en la pantalla para volver a intentarlo."]),!1),bl().add("fr",_l(e,t,["La connexion a expiré, cliquez sur l'écran pour réessayer."]),!1),bl().add("zh-Hans",_l(e,t,["连接服务器超时,点击屏幕重试"]),!1),bl().add("zh-Hant",_l(e,t,["連接服務器超時,點擊屏幕重試"]),!1)})),xl=pe((()=>{const e="uni.showToast.",t=["unpaired"];bl().add("en",_l(e,t,["Please note showToast must be paired with hideToast"]),!1),bl().add("es",_l(e,t,["Tenga en cuenta que showToast debe estar emparejado con hideToast"]),!1),bl().add("fr",_l(e,t,["Veuillez noter que showToast doit être associé à hideToast"]),!1),bl().add("zh-Hans",_l(e,t,["请注意 showToast 与 hideToast 必须配对使用"]),!1),bl().add("zh-Hant",_l(e,t,["請注意 showToast 與 hideToast 必須配對使用"]),!1)})),Cl=pe((()=>{const e="uni.showLoading.",t=["unpaired"];bl().add("en",_l(e,t,["Please note showLoading must be paired with hideLoading"]),!1),bl().add("es",_l(e,t,["Tenga en cuenta que showLoading debe estar emparejado con hideLoading"]),!1),bl().add("fr",_l(e,t,["Veuillez noter que showLoading doit être associé à hideLoading"]),!1),bl().add("zh-Hans",_l(e,t,["请注意 showLoading 与 hideLoading 必须配对使用"]),!1),bl().add("zh-Hant",_l(e,t,["請注意 showLoading 與 hideLoading 必須配對使用"]),!1)})),Sl=pe((()=>{const e="uni.showModal.",t=["cancel","confirm"];bl().add("en",_l(e,t,["Cancel","OK"]),!1),bl().add("es",_l(e,t,["Cancelar","OK"]),!1),bl().add("fr",_l(e,t,["Annuler","OK"]),!1),bl().add("zh-Hans",_l(e,t,["取消","确定"]),!1),bl().add("zh-Hant",_l(e,t,["取消","確定"]),!1)}));function kl(e){const t=new Pe;return{on:(e,n)=>t.on(e,n),once:(e,n)=>t.once(e,n),off:(e,n)=>t.off(e,n),emit:(e,...n)=>t.emit(e,...n),subscribe(n,o,r=!1){t[r?"once":"on"](`${e}.${n}`,o)},unsubscribe(n,o){t.off(`${e}.${n}`,o)},subscribeHandler(n,o,r){t.emit(`${e}.${n}`,o,r)}}}let El=1;const Tl=Object.create(null);function $l(e,t){return e+"."+t}function Ol({id:e,name:t,args:n},o){t=$l(o,t);const r=t=>{e&&Nh.publishHandler("invokeViewApi."+e,t)},i=Tl[t];i?i(n,r):r({})}const Al=c(kl("service"),{invokeServiceMethod:(e,t,n)=>{const{subscribe:o,publishHandler:r}=Nh,i=n?El++:0;n&&o("invokeServiceApi."+i,n,!0),r("invokeServiceApi",{id:i,name:e,args:t})}}),Ll=ye(!0);let Pl;function Bl(){Pl&&(clearTimeout(Pl),Pl=null)}let Rl=0,jl=0;function Fl(e){if(Bl(),1!==e.touches.length)return;const{pageX:t,pageY:n}=e.touches[0];Rl=t,jl=n,Pl=setTimeout((function(){const t=new CustomEvent("longpress",{bubbles:!0,cancelable:!0,target:e.target,currentTarget:e.currentTarget});t.touches=e.touches,t.changedTouches=e.changedTouches,e.target.dispatchEvent(t)}),350)}function Il(e){if(!Pl)return;if(1!==e.touches.length)return Bl();const{pageX:t,pageY:n}=e.touches[0];return Math.abs(t-Rl)>10||Math.abs(n-jl)>10?Bl():void 0}function Nl(e,t){const n=Number(e);return isNaN(n)?t:n}function Ml(){const e=__uniConfig.globalStyle||{},t=Nl(e.rpxCalcMaxDeviceWidth,960),n=Nl(e.rpxCalcBaseDeviceWidth,375);function o(){let e=function(){const e=/^Apple/.test(navigator.vendor)&&"number"==typeof window.orientation,t=e&&90===Math.abs(window.orientation);var n=e?Math[t?"max":"min"](screen.width,screen.height):screen.width;return Math.min(window.innerWidth,document.documentElement.clientWidth,n)||n}();e=e<=t?e:n,document.documentElement.style.fontSize=e/23.4375+"px"}o(),document.addEventListener("DOMContentLoaded",o),window.addEventListener("load",o),window.addEventListener("resize",o)}function Vl(){Ml(),ge(),window.addEventListener("touchstart",Fl,Ll),window.addEventListener("touchmove",Il,Ll),window.addEventListener("touchend",Bl,Ll),window.addEventListener("touchcancel",Bl,Ll)}function Dl(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Hl,zl,Wl=["top","left","right","bottom"],Ul={};function ql(){return zl="CSS"in window&&"function"==typeof CSS.supports?CSS.supports("top: env(safe-area-inset-top)")?"env":CSS.supports("top: constant(safe-area-inset-top)")?"constant":"":""}function Kl(){if(zl="string"==typeof zl?zl:ql()){var e=[],t=!1;try{var n=Object.defineProperty({},"passive",{get:function(){t={passive:!0}}});window.addEventListener("test",null,n)}catch(s){}var o=document.createElement("div");r(o,{position:"absolute",left:"0",top:"0",width:"0",height:"0",zIndex:"-1",overflow:"hidden",visibility:"hidden"}),Wl.forEach((function(e){a(o,e)})),document.body.appendChild(o),i(),Hl=!0}else Wl.forEach((function(e){Ul[e]=0}));function r(e,t){var n=e.style;Object.keys(t).forEach((function(e){var o=t[e];n[e]=o}))}function i(t){t?e.push(t):e.forEach((function(e){e()}))}function a(e,n){var o=document.createElement("div"),a=document.createElement("div"),s=document.createElement("div"),l=document.createElement("div"),c={position:"absolute",width:"100px",height:"200px",boxSizing:"border-box",overflow:"hidden",paddingBottom:zl+"(safe-area-inset-"+n+")"};r(o,c),r(a,c),r(s,{transition:"0s",animation:"none",width:"400px",height:"400px"}),r(l,{transition:"0s",animation:"none",width:"250%",height:"250%"}),o.appendChild(s),a.appendChild(l),e.appendChild(o),e.appendChild(a),i((function(){o.scrollTop=a.scrollTop=1e4;var e=o.scrollTop,r=a.scrollTop;function i(){this.scrollTop!==(this===o?e:r)&&(o.scrollTop=a.scrollTop=1e4,e=o.scrollTop,r=a.scrollTop,function(e){Yl.length||setTimeout((function(){var e={};Yl.forEach((function(t){e[t]=Ul[t]})),Yl.length=0,Gl.forEach((function(t){t(e)}))}),0);Yl.push(e)}(n))}o.addEventListener("scroll",i,t),a.addEventListener("scroll",i,t)}));var u=getComputedStyle(o);Object.defineProperty(Ul,n,{configurable:!0,get:function(){return parseFloat(u.paddingBottom)}})}}function Xl(e){return Hl||Kl(),Ul[e]}var Yl=[];var Gl=[];const Jl=Dl({get support(){return 0!=("string"==typeof zl?zl:ql()).length},get top(){return Xl("top")},get left(){return Xl("left")},get right(){return Xl("right")},get bottom(){return Xl("bottom")},onChange:function(e){ql()&&(Hl||Kl(),"function"==typeof e&&Gl.push(e))},offChange:function(e){var t=Gl.indexOf(e);t>=0&&Gl.splice(t,1)}}),Zl=ba((()=>{}),["prevent"]),Ql=ba((e=>{}),["stop"]);function ec(e,t){return parseInt((e.getPropertyValue(t).match(/\d+/)||["0"])[0])}function tc(){const e=ec(document.documentElement.style,"--window-top");return e?e+Jl.top:0}function nc(e){const t=document.documentElement.style;Object.keys(e).forEach((n=>{t.setProperty(n,e[n])}))}function oc(e){return nc(e)}function rc(e){return Symbol(e)}const ic="M1.952 18.080q-0.32-0.352-0.416-0.88t0.128-0.976l0.16-0.352q0.224-0.416 0.64-0.528t0.8 0.176l6.496 4.704q0.384 0.288 0.912 0.272t0.88-0.336l17.312-14.272q0.352-0.288 0.848-0.256t0.848 0.352l-0.416-0.416q0.32 0.352 0.32 0.816t-0.32 0.816l-18.656 18.912q-0.32 0.352-0.8 0.352t-0.8-0.32l-7.936-8.064z",ac="M15.808 0.16q-4.224 0-7.872 2.176-3.552 2.112-5.632 5.728-2.144 3.744-2.144 8.128 0 4.192 2.144 7.872 2.112 3.52 5.632 5.632 3.68 2.144 7.872 2.144 4.384 0 8.128-2.144 3.616-2.080 5.728-5.632 2.176-3.648 2.176-7.872 0-4.384-2.176-8.128-2.112-3.616-5.728-5.728-3.744-2.176-8.128-2.176zM15.136 8.672h1.728q0.128 0 0.224 0.096t0.096 0.256l-0.384 10.24q0 0.064-0.048 0.112t-0.112 0.048h-1.248q-0.096 0-0.144-0.048t-0.048-0.112l-0.384-10.24q0-0.16 0.096-0.256t0.224-0.096zM16 23.328q-0.48 0-0.832-0.352t-0.352-0.848 0.352-0.848 0.832-0.352 0.832 0.352 0.352 0.848-0.352 0.848-0.832 0.352z",sc="M21.781 7.844l-9.063 8.594 9.063 8.594q0.25 0.25 0.25 0.609t-0.25 0.578q-0.25 0.25-0.578 0.25t-0.578-0.25l-9.625-9.125q-0.156-0.125-0.203-0.297t-0.047-0.359q0-0.156 0.047-0.328t0.203-0.297l9.625-9.125q0.25-0.25 0.578-0.25t0.578 0.25q0.25 0.219 0.25 0.578t-0.25 0.578z";function lc(e,t="#000",n=27){return Gr("svg",{width:n,height:n,viewBox:"0 0 32 32"},[Gr("path",{d:e,fill:t},null,8,["d","fill"])],8,["width","height"])}function cc(){{const{$pageInstance:e}=li();return e&&e.proxy.$page.id}}function uc(){const e=Xf(),t=e.length;if(t)return e[t-1]}function dc(){const e=uc();if(e)return e.$page.meta}function fc(){const e=dc();return e?e.id:-1}function pc(){const e=uc();if(e)return e.$vm}const hc=["navigationBar","pullToRefresh"];function gc(e,t){const n=JSON.parse(JSON.stringify(__uniConfig.globalStyle||{})),o=c({id:t},n,e);hc.forEach((t=>{o[t]=c({},n[t],e[t])}));const{navigationBar:r}=o;return r.titleText&&r.titleImage&&(r.titleText=""),o}function mc(e,t,n){if(y(e))n=t,t=e,e=pc();else if("number"==typeof e){const t=Xf().find((t=>t.$page.id===e));e=t?t.$vm:pc()}if(!e)return;const o=e.$[t];return o&&((e,t)=>{let n;for(let o=0;o{function a(){if((()=>{const{scrollHeight:e}=document.documentElement,t=window.innerHeight,o=window.scrollY,i=o>0&&e>t&&o+t+n>=e,a=Math.abs(e-bc)>n;return!i||r&&!a?(!i&&r&&(r=!1),!1):(bc=e,r=!0,!0)})())return t&&t(),i=!1,setTimeout((function(){i=!0}),350),!0}e&&e(window.pageYOffset),t&&i&&(a()||(yc=setTimeout(a,300))),o=!1};return function(){clearTimeout(yc),o||requestAnimationFrame(a),o=!0}}function wc(e,t){if(0===t.indexOf("/"))return t;if(0===t.indexOf("./"))return wc(e,t.slice(2));const n=t.split("/"),o=n.length;let r=0;for(;r0?e.split("/"):[];return i.splice(i.length-r-1,r+1),fe(i.concat(n).join("/"))}function xc(e,t=!1){return t?__uniRoutes.find((t=>t.path===e||t.alias===e)):__uniRoutes.find((t=>t.path===e))}class Cc{constructor(e){this.$bindClass=!1,this.$bindStyle=!1,this.$vm=e,this.$el=function(e,t=!1){const{vnode:n}=e;if(le(n.el))return t?n.el?[n.el]:[]:n.el;const{subTree:o}=e;if(16&o.shapeFlag){const e=o.children.filter((e=>e.el&&le(e.el)));if(e.length>0)return t?e.map((e=>e.el)):e[0].el}return t?n.el?[n.el]:[]:n.el}(e.$),this.$el.getAttribute&&(this.$bindClass=!!this.$el.getAttribute("class"),this.$bindStyle=!!this.$el.getAttribute("style"))}selectComponent(e){if(!this.$el||!e)return;const t=Tc(this.$el.querySelector(e));return t?Sc(t,!1):void 0}selectAllComponents(e){if(!this.$el||!e)return[];const t=[],n=this.$el.querySelectorAll(e);for(let o=0;o-1&&t.splice(n,1)}const n=this.$el.__wxsRemoveClass||(this.$el.__wxsRemoveClass=[]);return-1===n.indexOf(e)&&(n.push(e),this.forceUpdate("class")),this}hasClass(e){return this.$el&&this.$el.classList.contains(e)}getDataset(){return this.$el&&this.$el.dataset}callMethod(e,t={}){const n=this.$vm[e];v(n)?n(JSON.parse(JSON.stringify(t))):this.$vm.ownerId&&Nh.publishHandler("onWxsInvokeCallMethod",{nodeId:this.$el.__id,ownerId:this.$vm.ownerId,method:e,args:t})}requestAnimationFrame(e){return window.requestAnimationFrame(e)}getState(){return this.$el&&(this.$el.__wxsState||(this.$el.__wxsState={}))}triggerEvent(e,t={}){return this.$vm.$emit(e,t),this}getComputedStyle(e){if(this.$el){const t=window.getComputedStyle(this.$el);return e&&e.length?e.reduce(((e,n)=>(e[n]=t[n],e)),{}):t}return{}}setTimeout(e,t){return window.setTimeout(e,t)}clearTimeout(e){return window.clearTimeout(e)}getBoundingClientRect(){return this.$el.getBoundingClientRect()}}function Sc(e,t=!0){if(t&&e&&(e=se(e.$)),e&&e.$el)return e.$el.__wxsComponentDescriptor||(e.$el.__wxsComponentDescriptor=new Cc(e)),e.$el.__wxsComponentDescriptor}function kc(e,t){return Sc(e,t)}function Ec(e,t,n,o=!0){if(t){e.__instance||(e.__instance=!0,Object.defineProperty(e,"instance",{get:()=>kc(n.proxy,!1)}));const r=function(e,t,n=!0){if(!t)return!1;if(n&&e.length<2)return!1;const o=se(t);if(!o)return!1;const r=o.$.type;return!(!r.$wxs&&!r.$renderjs)&&o}(t,n,o);if(r)return[e,kc(r,!1)]}}function Tc(e){if(e)return e.__vueParentComponent&&e.__vueParentComponent.proxy}function $c(e,t=!1){const{type:n,timeStamp:o,target:r,currentTarget:i}=e;let a,s;a=be(t?r:function(e){for(;e&&0!==e.tagName.indexOf("UNI-");)e=e.parentElement;return e}(r)),s=be(i);const l={type:n,timeStamp:o,target:a,detail:{},currentTarget:s};return e._stopped&&(l._stopped=!0),e.type.startsWith("touch")&&(l.touches=e.touches,l.changedTouches=e.changedTouches),function(e,t){c(e,{preventDefault:()=>t.preventDefault(),stopPropagation:()=>t.stopPropagation()})}(l,e),l}function Oc(e,t){return{force:1,identifier:0,clientX:e.clientX,clientY:e.clientY-t,pageX:e.pageX,pageY:e.pageY-t}}function Ac(e,t){const n=[];for(let o=0;o0===e.type.indexOf("mouse")||["contextmenu"].includes(e.type))(e))!function(e,t){const n=tc();e.pageX=t.pageX,e.pageY=t.pageY-n,e.clientX=t.clientX,e.clientY=t.clientY-n,e.touches=e.changedTouches=[Oc(t,n)]}(i,e);else if((e=>"undefined"!=typeof TouchEvent&&e instanceof TouchEvent||0===e.type.indexOf("touch")||["longpress"].indexOf(e.type)>=0)(e)){const t=tc();i.touches=Ac(e.touches,t),i.changedTouches=Ac(e.changedTouches,t)}else if((e=>!e.type.indexOf("key")&&e instanceof KeyboardEvent)(e)){["key","code"].forEach((t=>{Object.defineProperty(i,t,{get:()=>e[t]})}))}return Ec(i,t,n)||[i]},createNativeEvent:$c},Symbol.toStringTag,{value:"Module"});function Pc(e){!function(e){const t=e.globalProperties;c(t,Lc),t.$gcd=kc}(e._context.config)}let Bc=1;function Rc(e){return(e||fc())+".invokeViewApi"}const jc=c(kl("view"),{invokeOnCallback:(e,t)=>Mh.emit("api."+e,t),invokeViewMethod:(e,t,n,o)=>{const{subscribe:r,publishHandler:i}=Mh,a=o?Bc++:0;o&&r("invokeViewApi."+a,o,!0),i(Rc(n),{id:a,name:e,args:t},n)},invokeViewMethodKeepAlive:(e,t,n,o)=>{const{subscribe:r,unsubscribe:i,publishHandler:a}=Mh,s=Bc++,l="invokeViewApi."+s;return r(l,n),a(Rc(o),{id:s,name:e,args:t},o),()=>{i(l)}}});function Fc(e){mc(uc(),"onResize",e),Mh.invokeOnCallback("onWindowResize",e)}function Ic(e){const t=uc();mc(yp(),"onShow",e),mc(t,"onShow")}function Nc(){mc(yp(),"onHide"),mc(uc(),"onHide")}const Mc=["onPageScroll","onReachBottom"];function Vc(){Mc.forEach((e=>Mh.subscribe(e,function(e){return(t,n)=>{mc(parseInt(n),e,t)}}(e))))}function Dc(){!function(){const{on:e}=Mh;e("onResize",Fc),e("onAppEnterForeground",Ic),e("onAppEnterBackground",Nc)}(),Vc()}function Hc(){if(this.$route){const e=this.$route.meta;return e.eventChannel||(e.eventChannel=new ke(this.$page.id)),e.eventChannel}}function zc(e){e._context.config.globalProperties.getOpenerEventChannel=Hc}function Wc(){return{path:"",query:{},scene:1001,referrerInfo:{appId:"",extraData:{}}}}function Uc(e){return/^-?\d+[ur]px$/i.test(e)?e.replace(/(^-?\d+)[ur]px$/i,((e,t)=>`${od(parseFloat(t))}px`)):/^-?[\d\.]+$/.test(e)?`${e}px`:e||""}function qc(e){const t=e.animation;if(!t||!t.actions||!t.actions.length)return;let n=0;const o=t.actions,r=t.actions.length;function i(){const t=o[n],a=t.option.transition,s=function(e){const t=["matrix","matrix3d","scale","scale3d","rotate3d","skew","translate","translate3d"],n=["scaleX","scaleY","scaleZ","rotate","rotateX","rotateY","rotateZ","skewX","skewY","translateX","translateY","translateZ"],o=["opacity","background-color"],r=["width","height","left","right","top","bottom"],i=e.animates,a=e.option,s=a.transition,l={},c=[];return i.forEach((e=>{let i=e.type,a=[...e.args];if(t.concat(n).includes(i))i.startsWith("rotate")||i.startsWith("skew")?a=a.map((e=>parseFloat(e)+"deg")):i.startsWith("translate")&&(a=a.map(Uc)),n.indexOf(i)>=0&&(a.length=1),c.push(`${i}(${a.join(",")})`);else if(o.concat(r).includes(a[0])){i=a[0];const e=a[1];l[i]=r.includes(i)?Uc(e):e}})),l.transform=l.webkitTransform=c.join(" "),l.transition=l.webkitTransition=Object.keys(l).map((e=>`${function(e){return e.replace(/[A-Z]/g,(e=>`-${e.toLowerCase()}`)).replace("webkit","-webkit")}(e)} ${s.duration}ms ${s.timingFunction} ${s.delay}ms`)).join(","),l.transformOrigin=l.webkitTransformOrigin=a.transformOrigin,l}(t);Object.keys(s).forEach((t=>{e.$el.style[t]=s[t]})),n+=1,n{i()}),0)}const Kc={props:["animation"],watch:{animation:{deep:!0,handler(){qc(this)}}},mounted(){qc(this)}},Xc=e=>{e.__reserved=!0;const{props:t,mixins:n}=e;return t&&t.animation||(n||(e.mixins=[])).push(Kc),Yc(e)},Yc=e=>(e.__reserved=!0,e.compatConfig={MODE:3},co(e));function Gc(e){return e.__wwe=!0,e}function Jc(e,t){return(n,o,r)=>{e.value&&t(n,function(e,t,n,o){let r;return r=be(n),{type:o.type||e,timeStamp:t.timeStamp||0,target:r,currentTarget:r,detail:o}}(n,o,e.value,r||{}))}}const Zc={hoverClass:{type:String,default:"none"},hoverStopPropagation:{type:Boolean,default:!1},hoverStartTime:{type:[Number,String],default:50},hoverStayTime:{type:[Number,String],default:400}};function Qc(e){const t=on(!1);let n,o,r=!1;function i(){requestAnimationFrame((()=>{clearTimeout(o),o=setTimeout((()=>{t.value=!1}),parseInt(e.hoverStayTime))}))}function a(o){o._hoverPropagationStopped||e.hoverClass&&"none"!==e.hoverClass&&!e.disabled&&(e.hoverStopPropagation&&(o._hoverPropagationStopped=!0),r=!0,n=setTimeout((()=>{t.value=!0,r||i()}),parseInt(e.hoverStartTime)))}function s(){r=!1,t.value&&i()}function l(){s(),window.removeEventListener("mouseup",l)}return{hovering:t,binding:{onTouchstartPassive:Gc((function(e){e.touches.length>1||a(e)})),onMousedown:Gc((function(e){r||(a(e),window.addEventListener("mouseup",l))})),onTouchend:Gc((function(){s()})),onMouseup:Gc((function(){r&&l()})),onTouchcancel:Gc((function(){r=!1,t.value=!1,clearTimeout(n)}))}}}function eu(e,t){return y(t)&&(t=[t]),t.reduce(((t,n)=>(e[n]&&(t[n]=!0),t)),Object.create(null))}const tu=rc("uf"),nu={for:{type:String,default:""}},ou=rc("ul");const ru=Xc({name:"Label",props:nu,setup(e,{slots:t}){const n=on(null),o=cc(),r=function(){const e=[];return Un(ou,{addHandler(t){e.push(t)},removeHandler(t){e.splice(e.indexOf(t),1)}}),e}(),i=vi((()=>e.for||t.default&&t.default.length)),a=Gc((t=>{const n=t.target;let i=/^uni-(checkbox|radio|switch)-/.test(n.className);i||(i=/^uni-(checkbox|radio|switch|button)$|^(svg|path)$/i.test(n.tagName)),i||(e.for?Nh.emit("uni-label-click-"+o+"-"+e.for,t,!0):r.length&&r[0](t,!0))}));return()=>Gr("uni-label",{ref:n,class:{"uni-label-pointer":i},onClick:a},[t.default&&t.default()],10,["onClick"])}});function iu(e,t){au(e.id,t),Yn((()=>e.id),((e,n)=>{su(n,t,!0),au(e,t,!0)})),jo((()=>{su(e.id,t)}))}function au(e,t,n){const o=cc();n&&!e||S(t)&&Object.keys(t).forEach((r=>{n?0!==r.indexOf("@")&&0!==r.indexOf("uni-")&&Nh.on(`uni-${r}-${o}-${e}`,t[r]):0===r.indexOf("uni-")?Nh.on(r,t[r]):e&&Nh.on(`uni-${r}-${o}-${e}`,t[r])}))}function su(e,t,n){const o=cc();n&&!e||S(t)&&Object.keys(t).forEach((r=>{n?0!==r.indexOf("@")&&0!==r.indexOf("uni-")&&Nh.off(`uni-${r}-${o}-${e}`,t[r]):0===r.indexOf("uni-")?Nh.off(r,t[r]):e&&Nh.off(`uni-${r}-${o}-${e}`,t[r])}))}function lu(e){const{base:t}=__uniConfig.router;return 0===fe(e).indexOf(t)?fe(e):t+e}function cu(e){const{base:t,assets:n}=__uniConfig.router;if("./"===t&&(0===e.indexOf("./static/")||n&&0===e.indexOf("./"+n+"/"))&&(e=e.slice(1)),0===e.indexOf("/")){if(0!==e.indexOf("//"))return lu(e.slice(1));e="https:"+e}if(oe.test(e)||re.test(e)||0===e.indexOf("blob:"))return e;const o=Xf();return o.length?lu(wc(o[o.length-1].$page.route,e).slice(1)):e}const uu=navigator.userAgent,du=/android/i.test(uu),fu=/iphone|ipad|ipod/i.test(uu),pu=uu.match(/Windows NT ([\d|\d.\d]*)/i),hu=/Macintosh|Mac/i.test(uu),gu=/Linux|X11/i.test(uu),mu=hu&&navigator.maxTouchPoints>0;function vu(){return/^Apple/.test(navigator.vendor)&&"number"==typeof window.orientation}function yu(e){return e&&90===Math.abs(window.orientation)}function bu(e,t){return e?Math[t?"max":"min"](screen.width,screen.height):screen.width}function _u(e){return Math.min(window.innerWidth,document.documentElement.clientWidth,e)||e}const wu=["GET","OPTIONS","HEAD","POST","PUT","DELETE","TRACE","CONNECT","PATCH"];function xu(e,t){return e&&-1!==t.indexOf(e)?e:t[0]}function Cu(e){return function(){try{return e.apply(e,arguments)}catch(t){console.error(t)}}}let Su=1;const ku={};function Eu(e,t,n){if("number"==typeof e){const o=ku[e];if(o)return o.keepAlive||delete ku[e],o.callback(t,n)}return t}const Tu="success",$u="fail",Ou="complete";function Au(e,t={},{beforeAll:n,beforeSuccess:o}={}){S(t)||(t={});const{success:r,fail:i,complete:a}=function(e){const t={};for(const n in e){const o=e[n];v(o)&&(t[n]=Cu(o),delete e[n])}return t}(t),s=v(r),l=v(i),c=v(a),u=Su++;return function(e,t,n,o=!1){ku[e]={name:t,keepAlive:o,callback:n}}(u,e,(u=>{(u=u||{}).errMsg=function(e,t){return e&&-1!==e.indexOf(":fail")?t+e.substring(e.indexOf(":fail")):t+":ok"}(u.errMsg,e),v(n)&&n(u),u.errMsg===e+":ok"?(v(o)&&o(u,t),s&&r(u)):l&&i(u),c&&a(u)})),u}const Lu="success",Pu="fail",Bu="complete",Ru={},ju={};function Fu(e,t){return function(n){return e(n,t)||n}}function Iu(e,t,n){let o=!1;for(let r=0;re(t),catch(){}}}function Nu(e,t={}){return[Lu,Pu,Bu].forEach((n=>{const o=e[n];if(!p(o))return;const r=t[n];t[n]=function(e){Iu(o,e,t).then((e=>v(r)&&r(e)||e))}})),t}function Mu(e,t){const n=[];p(Ru.returnValue)&&n.push(...Ru.returnValue);const o=ju[e];return o&&p(o.returnValue)&&n.push(...o.returnValue),n.forEach((e=>{t=e(t)||t})),t}function Vu(e){const t=Object.create(null);Object.keys(Ru).forEach((e=>{"returnValue"!==e&&(t[e]=Ru[e].slice())}));const n=ju[e];return n&&Object.keys(n).forEach((e=>{"returnValue"!==e&&(t[e]=(t[e]||[]).concat(n[e]))})),t}function Du(e,t,n,o){const r=Vu(e);if(r&&Object.keys(r).length){if(p(r.invoke)){return Iu(r.invoke,n).then((n=>t(Nu(Vu(e),n),...o)))}return t(Nu(r,n),...o)}return t(n,...o)}function Hu(e,t){return(n={},...o)=>function(e){return!(!S(e)||![Tu,$u,Ou].find((t=>v(e[t]))))}(n)?Mu(e,Du(e,t,n,o)):Mu(e,new Promise(((r,i)=>{Du(e,t,c(n,{success:r,fail:i}),o)})))}function zu(e,t,n,o={}){const r=t+":fail"+(n?" "+n:"");return delete o.errCode,Eu(e,"undefined"!=typeof UniError?void 0!==o.errCode?new UniError(t,o.errCode,r):new UniError(r,o):c({errMsg:r},o))}function Wu(e,t,n,o){if(o&&o.beforeInvoke){const e=o.beforeInvoke(t);if(y(e))return e}const r=function(e,t){const n=e[0];if(!t||!S(t.formatArgs)&&S(n))return;const o=t.formatArgs,r=Object.keys(o);for(let i=0;i{const r=Au(e,n,o),i=Wu(0,[n],0,o);return i?zu(r,e,i):t(n,{resolve:t=>function(e,t,n){return Eu(e,c(n||{},{errMsg:t+":ok"}))}(r,e,t),reject:(t,n)=>zu(r,e,function(e){return!e||y(e)?e:e.stack?(console.error(e.message+"\n"+e.stack),e.message):e}(t),n)})}}function qu(e,t,n,o){return Hu(e,Uu(e,t,0,o))}function Ku(e,t,n,o){return function(e,t,n,o){return(...e)=>{const n=Wu(0,e,0,o);if(n)throw new Error(n);return t.apply(null,e)}}(0,t,0,o)}function Xu(e,t,n,o){return Hu(e,function(e,t,n,o){return Uu(e,t,0,o)}(e,t,0,o))}let Yu=!1,Gu=0,Ju=0,Zu=960,Qu=375,ed=750;function td(){const{platform:e,pixelRatio:t,windowWidth:n}=function(){const e=vu(),t=_u(bu(e,yu(e)));return{platform:fu?"ios":"other",pixelRatio:window.devicePixelRatio,windowWidth:t}}();Gu=n,Ju=t,Yu="ios"===e}function nd(e,t){const n=Number(e);return isNaN(n)?t:n}const od=Ku(0,((e,t)=>{if(0===Gu&&(td(),function(){const e=__uniConfig.globalStyle||{};Zu=nd(e.rpxCalcMaxDeviceWidth,960),Qu=nd(e.rpxCalcBaseDeviceWidth,375),ed=nd(e.rpxCalcBaseDeviceWidth,750)}()),0===(e=Number(e)))return 0;let n=t||Gu;n=e===ed||n<=Zu?n:Qu;let o=e/750*n;return o<0&&(o=-o),o=Math.floor(o+1e-4),0===o&&(o=1!==Ju&&Yu?.5:1),e<0?-o:o})),rd={formatArgs:{}},id={duration:400,timingFunction:"linear",delay:0,transformOrigin:"50% 50% 0"};class ad{constructor(e){this.actions=[],this.currentTransform={},this.currentStepAnimates=[],this.option=c({},id,e)}_getOption(e){const t={transition:c({},this.option,e),transformOrigin:""};return t.transformOrigin=t.transition.transformOrigin,delete t.transition.transformOrigin,t}_pushAnimates(e,t){this.currentStepAnimates.push({type:e,args:t})}_converType(e){return e.replace(/[A-Z]/g,(e=>`-${e.toLowerCase()}`))}_getValue(e){return"number"==typeof e?`${e}px`:e}export(){const e=this.actions;return this.actions=[],{actions:e}}step(e){return this.currentStepAnimates.forEach((e=>{"style"!==e.type?this.currentTransform[e.type]=e:this.currentTransform[`${e.type}.${e.args[0]}`]=e})),this.actions.push({animates:Object.values(this.currentTransform),option:this._getOption(e)}),this.currentStepAnimates=[],this}}const sd=pe((()=>{const e=["opacity","backgroundColor"],t=["width","height","left","right","top","bottom"];["matrix","matrix3d","rotate","rotate3d","rotateX","rotateY","rotateZ","scale","scale3d","scaleX","scaleY","scaleZ","skew","skewX","skewY","translate","translate3d","translateX","translateY","translateZ"].concat(e,t).forEach((n=>{ad.prototype[n]=function(...o){return e.concat(t).includes(n)?this._pushAnimates("style",[this._converType(n),t.includes(n)?this._getValue(o[0]):o[0]]):this._pushAnimates(n,o),this}}))})),ld=Ku(0,(e=>(sd(),new ad(e))),0,rd),cd=Ku(0,(()=>{const e=yp();return e&&e.$vm?e.$vm.$locale:bl().getLocale()})),ud={onUnhandledRejection:[],onPageNotFound:[],onError:[],onShow:[],onHide:[]};const dd="json",fd=["text","arraybuffer"],pd=encodeURIComponent;ArrayBuffer,Boolean;const hd={formatArgs:{method(e,t){t.method=xu((e||"").toUpperCase(),wu)},data(e,t){t.data=e||""},url(e,t){t.method===wu[0]&&S(t.data)&&Object.keys(t.data).length&&(t.url=function(e,t){let n=e.split("#");const o=n[1]||"";n=n[0].split("?");let r=n[1]||"";e=n[0];const i=r.split("&").filter((e=>e)),a={};i.forEach((e=>{const t=e.split("=");a[t[0]]=t[1]}));for(const s in t)if(f(t,s)){let e=t[s];null==e?e="":S(e)&&(e=JSON.stringify(e)),a[pd(s)]=pd(e)}return r=Object.keys(a).map((e=>`${e}=${a[e]}`)).join("&"),e+(r?"?"+r:"")+(o?"#"+o:"")}(e,t.data))},header(e,t){const n=t.header=e||{};t.method!==wu[0]&&(Object.keys(n).find((e=>"content-type"===e.toLowerCase()))||(n["Content-Type"]="application/json"))},dataType(e,t){t.dataType=(e||dd).toLowerCase()},responseType(e,t){t.responseType=(e||"").toLowerCase(),-1===fd.indexOf(t.responseType)&&(t.responseType="text")}}};const gd={url:{type:String,required:!0}},md=(wd(["slide-in-right","slide-in-left","slide-in-top","slide-in-bottom","fade-in","zoom-out","zoom-fade-out","pop-in","none"]),wd(["slide-out-right","slide-out-left","slide-out-top","slide-out-bottom","fade-out","zoom-in","zoom-fade-in","pop-out","none"]),Sd("navigateTo")),vd=Sd("redirectTo"),yd=Sd("reLaunch"),bd=Sd("switchTab"),_d={formatArgs:{delta(e,t){e=parseInt(e+"")||1,t.delta=Math.min(Xf().length-1,e)}}};function wd(e){return{animationType:{type:String,validator(t){if(t&&-1===e.indexOf(t))return"`"+t+"` is not supported for `animationType` (supported values are: `"+e.join("`|`")+"`)"}},animationDuration:{type:Number}}}let xd;function Cd(){xd=""}function Sd(e){return{formatArgs:{url:kd(e)},beforeAll:Cd}}function kd(e){return function(t,n){if(!t)return'Missing required args: "url"';const o=(t=function(e){if(0===e.indexOf("/"))return e;let t="";const n=Xf();return n.length&&(t=n[n.length-1].$page.route),wc(t,e)}(t)).split("?")[0],r=xc(o,!0);if(!r)return"page `"+t+"` is not found";if("navigateTo"===e||"redirectTo"===e){if(r.meta.isTabBar)return`can not ${e} a tabbar page`}else if("switchTab"===e&&!r.meta.isTabBar)return"can not switch to no-tabBar page";if("switchTab"!==e&&"preloadPage"!==e||!r.meta.isTabBar||"appLaunch"===n.openType||(t=o),r.meta.isEntry&&(t=t.replace(r.alias,"/")),n.url=function(e){if(!y(e))return e;const t=e.indexOf("?");if(-1===t)return e;const n=e.slice(t+1).trim().replace(/^(\?|#|&)/,"");if(!n)return e;e=e.slice(0,t);const o=[];return n.split("&").forEach((e=>{const t=e.replace(/\+/g," ").split("="),n=t.shift(),r=t.length>0?t.join("="):"";o.push(n+"="+encodeURIComponent(r))})),o.length?e+"?"+o.join("&"):e}(t),"unPreloadPage"!==e)if("preloadPage"!==e){if(xd===t&&"appLaunch"!==n.openType)return`${xd} locked`;__uniConfig.ready&&(xd=t)}else if(r.meta.isTabBar){const e=Xf(),t=r.path.slice(1);if(e.find((e=>e.route===t)))return"tabBar page `"+t+"` already exists"}}}Boolean;const Ed={formatArgs:{title:"",mask:!1}},Td=(Boolean,{beforeInvoke(){Sl()},formatArgs:{title:"",content:"",placeholderText:"",showCancel:!0,editable:!1,cancelText(e,t){if(!f(t,"cancelText")){const{t:e}=bl();t.cancelText=e("uni.showModal.cancel")}},cancelColor:"#000",confirmText(e,t){if(!f(t,"confirmText")){const{t:e}=bl();t.confirmText=e("uni.showModal.confirm")}},confirmColor:"#007aff"}}),$d=["success","loading","none","error"],Od=(Boolean,{formatArgs:{title:"",icon(e,t){t.icon=xu(e,$d)},image(e,t){t.image=e?cu(e):""},duration:1500,mask:!1}}),Ad=Wc(),Ld=Wc();const Pd=Xc({name:"ResizeSensor",props:{initial:{type:Boolean,default:!1}},emits:["resize"],setup(e,{emit:t}){const n=on(null),o=function(e){return()=>{const{firstElementChild:t,lastElementChild:n}=e.value;t.scrollLeft=1e5,t.scrollTop=1e5,n.scrollLeft=1e5,n.scrollTop=1e5}}(n),r=function(e,t,n){const o=zt({width:-1,height:-1});return Yn((()=>c({},o)),(e=>t("resize",e))),()=>{const t=e.value;o.width=t.offsetWidth,o.height=t.offsetHeight,n()}}(n,t,o);return function(e,t,n,o){bo(o),Lo((()=>{t.initial&&Sn(n);const r=e.value;r.offsetParent!==r.parentElement&&(r.parentElement.style.position="relative"),"AnimationEvent"in window||o()}))}(n,e,r,o),()=>Gr("uni-resize-sensor",{ref:n,onAnimationstartOnce:r},[Gr("div",{onScroll:r},[Gr("div",null,null)],40,["onScroll"]),Gr("div",{onScroll:r},[Gr("div",null,null)],40,["onScroll"])],40,["onAnimationstartOnce"])}});const Bd=rc("ucg"),Rd=Xc({name:"CheckboxGroup",props:{name:{type:String,default:""}},emits:["change"],setup(e,{emit:t,slots:n}){const o=on(null);return function(e,t){const n=[],o=()=>n.reduce(((e,t)=>(t.value.checkboxChecked&&e.push(t.value.value),e)),new Array);Un(Bd,{addField(e){n.push(e)},removeField(e){n.splice(n.indexOf(e),1)},checkboxChange(e){t("change",e,{value:o()})}});const r=qn(tu,!1);r&&r.addField({submit:()=>{let t=["",null];return""!==e.name&&(t[0]=e.name,t[1]=o()),t}})}(e,Jc(o,t)),()=>Gr("uni-checkbox-group",{ref:o},[n.default&&n.default()],512)}});const jd=Xc({name:"Checkbox",props:{checked:{type:[Boolean,String],default:!1},id:{type:String,default:""},disabled:{type:[Boolean,String],default:!1},value:{type:String,default:""},color:{type:String,default:"#007aff"},backgroundColor:{type:String,default:""},borderColor:{type:String,default:""},activeBackgroundColor:{type:String,default:""},activeBorderColor:{type:String,default:""},iconColor:{type:String,default:""}},setup(e,{slots:t}){const n=on(null),o=on(e.checked),r=vi((()=>"true"===o.value||!0===o.value)),i=on(e.value);const a=vi((()=>function(t){if(e.disabled)return{backgroundColor:"#E1E1E1",borderColor:"#D1D1D1"};const n={};return t?(e.activeBorderColor&&(n.borderColor=e.activeBorderColor),e.activeBackgroundColor&&(n.backgroundColor=e.activeBackgroundColor)):(e.borderColor&&(n.borderColor=e.borderColor),e.backgroundColor&&(n.backgroundColor=e.backgroundColor)),n}(r.value)));Yn([()=>e.checked,()=>e.value],(([e,t])=>{o.value=e,i.value=t}));const{uniCheckGroup:s,uniLabel:l}=function(e,t,n){const o=vi((()=>({checkboxChecked:Boolean(e.value),value:t.value}))),r={reset:n},i=qn(Bd,!1);i&&i.addField(o);const a=qn(tu,!1);a&&a.addField(r);const s=qn(ou,!1);return Ro((()=>{i&&i.removeField(o),a&&a.removeField(r)})),{uniCheckGroup:i,uniForm:a,uniLabel:s}}(o,i,(()=>{o.value=!1})),c=t=>{e.disabled||(o.value=!o.value,s&&s.checkboxChange(t),t.stopPropagation())};return l&&(l.addHandler(c),Ro((()=>{l.removeHandler(c)}))),iu(e,{"label-click":c}),()=>{const r=eu(e,"disabled");let i;return i=o.value,Gr("uni-checkbox",oi(r,{id:e.id,onClick:c,ref:n}),[Gr("div",{class:"uni-checkbox-wrapper",style:{"--HOVER-BD-COLOR":e.activeBorderColor}},[Gr("div",{class:["uni-checkbox-input",{"uni-checkbox-input-disabled":e.disabled}],style:a.value},[i?lc(ic,e.disabled?"#ADADAD":e.iconColor||e.color,22):""],6),t.default&&t.default()],4)],16,["id","onClick"])}}});function Fd(){}const Id={cursorSpacing:{type:[Number,String],default:0},showConfirmBar:{type:[Boolean,String],default:"auto"},adjustPosition:{type:[Boolean,String],default:!0},autoBlur:{type:[Boolean,String],default:!1}};function Nd(e,t,n){function o(e){const t=vi((()=>0===String(navigator.vendor).indexOf("Apple")));e.addEventListener("focus",(()=>{clearTimeout(undefined),document.addEventListener("click",Fd,!1)}));e.addEventListener("blur",(()=>{t.value&&e.blur(),document.removeEventListener("click",Fd,!1),t.value&&document.documentElement.scrollTo(document.documentElement.scrollLeft,document.documentElement.scrollTop)}))}Yn((()=>t.value),(e=>e&&o(e)))}const Md={src:{type:String,default:""},mode:{type:String,default:"scaleToFill"},lazyLoad:{type:[Boolean,String],default:!1},draggable:{type:Boolean,default:!1}},Vd={widthFix:["offsetWidth","height",(e,t)=>e/t],heightFix:["offsetHeight","width",(e,t)=>e*t]},Dd={aspectFit:["center center","contain"],aspectFill:["center center","cover"],widthFix:[,"100% 100%"],heightFix:[,"100% 100%"],top:["center top"],bottom:["center bottom"],center:["center center"],left:["left center"],right:["right center"],"top left":["left top"],"top right":["right top"],"bottom left":["left bottom"],"bottom right":["right bottom"]},Hd=Xc({name:"Image",props:Md,setup(e,{emit:t}){const n=on(null),o=function(e,t){const n=on(""),o=vi((()=>{let e="auto",o="";const r=Dd[t.mode];return r?(r[0]&&(o=r[0]),r[1]&&(e=r[1])):(o="0% 0%",e="100% 100%"),`background-image:${n.value?'url("'+n.value+'")':"none"};background-position:${o};background-size:${e};`})),r=zt({rootEl:e,src:vi((()=>t.src?cu(t.src):"")),origWidth:0,origHeight:0,origStyle:{width:"",height:""},modeStyle:o,imgSrc:n});return Lo((()=>{const t=e.value.style;r.origWidth=Number(t.width)||0,r.origHeight=Number(t.height)||0})),r}(n,e),r=Jc(n,t),{fixSize:i}=function(e,t,n){const o=()=>{const{mode:o}=t,r=Vd[o];if(!r)return;const{origWidth:i,origHeight:a}=n,s=i&&a?i/a:0;if(!s)return;const l=e.value,c=l[r[0]];c&&(l.style[r[1]]=function(e){zd&&e>10&&(e=2*Math.round(e/2));return e}(r[2](c,s))+"px")},r=()=>{const{style:t}=e.value,{origStyle:{width:o,height:r}}=n;t.width=o,t.height=r};return Yn((()=>t.mode),((e,t)=>{Vd[t]&&r(),Vd[e]&&o()})),{fixSize:o,resetSize:r}}(n,e,o);return function(e,t,n,o,r){let i,a;const s=(t=0,n=0,o="")=>{e.origWidth=t,e.origHeight=n,e.imgSrc=o},l=l=>{if(!l)return c(),void s();i=i||new Image,i.onload=e=>{const{width:u,height:d}=i;s(u,d,l),o(),i.draggable=t.draggable,a&&a.remove(),a=i,n.value.appendChild(i),c(),r("load",e,{width:u,height:d})},i.onerror=t=>{s(),c(),r("error",t,{errMsg:`GET ${e.src} 404 (Not Found)`})},i.src=l},c=()=>{i&&(i.onload=null,i.onerror=null,i=null)};Yn((()=>e.src),(e=>l(e))),Yn((()=>e.imgSrc),(e=>{!e&&a&&(a.remove(),a=null)})),Lo((()=>l(e.src))),Ro((()=>c()))}(o,e,n,i,r),()=>Gr("uni-image",{ref:n},[Gr("div",{style:o.modeStyle},null,4),Vd[e.mode]?Gr(Pd,{onResize:i},null,8,["onResize"]):Gr("span",null,null)],512)}});const zd="Google Inc."===navigator.vendor;const Wd=ye(!0),Ud=[];let qd,Kd=0;const Xd=e=>Ud.forEach((t=>t.userAction=e));function Yd(e={userAction:!1}){if(!qd){["touchstart","touchmove","touchend","mousedown","mouseup"].forEach((e=>{document.addEventListener(e,(function(){!Kd&&Xd(!0),Kd++,setTimeout((()=>{!--Kd&&Xd(!1)}),0)}),Wd)})),qd=!0}Ud.push(e)}function Gd(){const e=zt({userAction:!1});return Lo((()=>{Yd(e)})),Ro((()=>{!function(e){const t=Ud.indexOf(e);t>=0&&Ud.splice(t,1)}(e)})),{state:e}}function Jd(e,t){const n=document.activeElement;if(!n)return t({});const o={};["input","textarea"].includes(n.tagName.toLowerCase())&&(o.start=n.selectionStart,o.end=n.selectionEnd),t(o)}const Zd=function(){var e,t,n;e=fc(),n=Jd,t=$l(e,t="getSelectedTextRange"),Tl[t]||(Tl[t]=n)};function Qd(e,t){return"number"===t&&isNaN(Number(e))&&(e=""),null===e?"":String(e)}const ef=["none","text","decimal","numeric","tel","search","email","url"],tf=c({},{name:{type:String,default:""},modelValue:{type:[String,Number],default:""},value:{type:[String,Number],default:""},disabled:{type:[Boolean,String],default:!1},autoFocus:{type:[Boolean,String],default:!1},focus:{type:[Boolean,String],default:!1},cursor:{type:[Number,String],default:-1},selectionStart:{type:[Number,String],default:-1},selectionEnd:{type:[Number,String],default:-1},type:{type:String,default:"text"},password:{type:[Boolean,String],default:!1},placeholder:{type:String,default:""},placeholderStyle:{type:String,default:""},placeholderClass:{type:String,default:""},maxlength:{type:[Number,String],default:140},confirmType:{type:String,default:"done"},confirmHold:{type:Boolean,default:!1},ignoreCompositionEvent:{type:Boolean,default:!0},step:{type:String,default:"0.000000000000000001"},inputmode:{type:String,default:void 0,validator:e=>!!~ef.indexOf(e)},cursorColor:{type:String,default:""}},Id),nf=["input","focus","blur","update:value","update:modelValue","update:focus","compositionstart","compositionupdate","compositionend","keyboardheightchange"];function of(e,t,n,o){const r=Se((n=>{t.value=Qd(n,e.type)}),100,{setTimeout:setTimeout,clearTimeout:clearTimeout});Yn((()=>e.modelValue),r),Yn((()=>e.value),r);const i=function(e,t){let n,o,r=0;const i=function(...i){const a=Date.now();clearTimeout(n),o=()=>{o=null,r=a,e.apply(this,i)},a-r{r.cancel(),n("update:modelValue",t.value),n("update:value",t.value),o("input",e,t)}),100);return Ao((()=>{r.cancel(),i.cancel()})),{trigger:o,triggerInput:(e,t,n)=>{r.cancel(),i(e,t),n&&i.flush()}}}function rf(e,t){Gd();const n=vi((()=>e.autoFocus||e.focus));function o(){if(!n.value)return;const e=t.value;e?e.focus():setTimeout(o,100)}Yn((()=>e.focus),(e=>{e?o():function(){const e=t.value;e&&e.blur()}()})),Lo((()=>{n.value&&Sn(o)}))}function af(e,t,n,o){Zd();const{fieldRef:r,state:i,trigger:a}=function(e,t,n){const o=on(null),r=Jc(t,n),i=vi((()=>{const t=Number(e.selectionStart);return isNaN(t)?-1:t})),a=vi((()=>{const t=Number(e.selectionEnd);return isNaN(t)?-1:t})),s=vi((()=>{const t=Number(e.cursor);return isNaN(t)?-1:t})),l=vi((()=>{var t=Number(e.maxlength);return isNaN(t)?140:t})),c=Qd(e.modelValue,e.type)||Qd(e.value,e.type),u=zt({value:c,valueOrigin:c,maxlength:l,focus:e.focus,composing:!1,selectionStart:i,selectionEnd:a,cursor:s});return Yn((()=>u.focus),(e=>n("update:focus",e))),Yn((()=>u.maxlength),(e=>u.value=u.value.slice(0,e))),{fieldRef:o,state:u,trigger:r}}(e,t,n),{triggerInput:s}=of(e,i,n,a);rf(e,r),Nd(0,r);const{state:l}=function(){const e=zt({attrs:{}});return Lo((()=>{let t=li();for(;t;){const n=t.type.__scopeId;n&&(e.attrs[n]=""),t=t.proxy&&"page"===t.proxy.$mpType?null:t.parent}})),{state:e}}();!function(e,t){const n=qn(tu,!1);if(!n)return;const o=li(),r={submit(){const n=o.proxy;return[n[e],y(t)?n[t]:t.value]},reset(){y(t)?o.proxy[t]="":t.value=""}};n.addField(r),Ro((()=>{n.removeField(r)}))}("name",i),function(e,t,n,o,r,i){function a(){const n=e.value;n&&t.focus&&t.selectionStart>-1&&t.selectionEnd>-1&&"number"!==n.type&&(n.selectionStart=t.selectionStart,n.selectionEnd=t.selectionEnd)}function s(){const n=e.value;n&&t.focus&&t.selectionStart<0&&t.selectionEnd<0&&t.cursor>-1&&"number"!==n.type&&(n.selectionEnd=n.selectionStart=t.cursor)}function l(e){return"number"===e.type?null:e.selectionEnd}Yn([()=>t.selectionStart,()=>t.selectionEnd],a),Yn((()=>t.cursor),s),Yn((()=>e.value),(function(){const c=e.value;if(!c)return;const u=function(e,o){e.stopPropagation(),v(i)&&!1===i(e,t)||(t.value=c.value,t.composing&&n.ignoreCompositionEvent||r(e,{value:c.value,cursor:l(c)},o))};function d(e){n.ignoreCompositionEvent||o(e.type,e,{value:e.data})}c.addEventListener("change",(e=>e.stopPropagation())),c.addEventListener("focus",(function(e){t.focus=!0,o("focus",e,{value:t.value}),a(),s()})),c.addEventListener("blur",(function(e){t.composing&&(t.composing=!1,u(e,!0)),t.focus=!1,o("blur",e,{value:t.value,cursor:l(e.target)})})),c.addEventListener("input",u),c.addEventListener("compositionstart",(e=>{e.stopPropagation(),t.composing=!0,d(e)})),c.addEventListener("compositionend",(e=>{e.stopPropagation(),t.composing&&(t.composing=!1,u(e)),d(e)})),c.addEventListener("compositionupdate",d)}))}(r,i,e,a,s,o);return{fieldRef:r,state:i,scopedAttrsState:l,fixDisabledColor:0===String(navigator.vendor).indexOf("Apple")&&CSS.supports("image-orientation:from-image"),trigger:a}}const sf=Xc({name:"Input",props:c({},tf,{placeholderClass:{type:String,default:"input-placeholder"},textContentType:{type:String,default:""}}),emits:["confirm",...nf],setup(e,{emit:t,expose:n}){const o=["text","number","idcard","digit","password","tel"],r=["off","one-time-code"],i=vi((()=>{let t="";switch(e.type){case"text":"search"===e.confirmType&&(t="search");break;case"idcard":t="text";break;case"digit":t="number";break;default:t=~o.includes(e.type)?e.type:"text"}return e.password?"password":t})),a=vi((()=>{const t=r.indexOf(e.textContentType),n=r.indexOf(L(e.textContentType));return r[-1!==t?t:-1!==n?n:0]}));let s,l=on("");const c=on(null),{fieldRef:u,state:d,scopedAttrsState:f,fixDisabledColor:p,trigger:h}=af(e,c,t,((e,t)=>{const n=e.target;if("number"===i.value){if(s&&(n.removeEventListener("blur",s),s=null),n.validity&&!n.validity.valid){if((!l.value||!n.value)&&"-"===e.data||"-"===l.value[0]&&"deleteContentBackward"===e.inputType)return l.value="-",t.value="",s=()=>{l.value=n.value=""},n.addEventListener("blur",s),!1;if(l.value)if(-1!==l.value.indexOf(".")){if("."!==e.data&&"deleteContentBackward"===e.inputType){const e=l.value.indexOf(".");return l.value=n.value=t.value=l.value.slice(0,e),!0}}else if("."===e.data)return l.value+=".",s=()=>{l.value=n.value=l.value.slice(0,-1)},n.addEventListener("blur",s),!1;return l.value=t.value=n.value="-"===l.value?"":l.value,!1}l.value=n.value;const o=t.maxlength;if(o>0&&n.value.length>o)return n.value=n.value.slice(0,o),t.value=n.value,!1}}));Yn((()=>d.value),(t=>{"number"!==e.type||"-"===l.value&&""===t||(l.value=t)}));const g=["number","digit"],m=vi((()=>g.includes(e.type)?e.step:""));function v(t){if("Enter"!==t.key)return;const n=t.target;t.stopPropagation(),h("confirm",t,{value:n.value}),!e.confirmHold&&n.blur()}return n({$triggerInput:e=>{t("update:modelValue",e.value),t("update:value",e.value),d.value=e.value}}),()=>{let t=e.disabled&&p?Gr("input",{key:"disabled-input",ref:u,value:d.value,tabindex:"-1",readonly:!!e.disabled,type:i.value,maxlength:d.maxlength,step:m.value,class:"uni-input-input",style:e.cursorColor?{caretColor:e.cursorColor}:{},onFocus:e=>e.target.blur()},null,44,["value","readonly","type","maxlength","step","onFocus"]):Vo(Gr("input",{key:"input",ref:u,"onUpdate:modelValue":e=>d.value=e,disabled:!!e.disabled,type:i.value,maxlength:d.maxlength,step:m.value,enterkeyhint:e.confirmType,pattern:"number"===e.type?"[0-9]*":void 0,class:"uni-input-input",style:e.cursorColor?{caretColor:e.cursorColor}:{},autocomplete:a.value,onKeyup:v,inputmode:e.inputmode},null,44,["onUpdate:modelValue","disabled","type","maxlength","step","enterkeyhint","pattern","autocomplete","onKeyup","inputmode"]),[[ga,d.value]]);return Gr("uni-input",{ref:c},[Gr("div",{class:"uni-input-wrapper"},[Vo(Gr("div",oi(f.attrs,{style:e.placeholderStyle,class:["uni-input-placeholder",e.placeholderClass]}),[e.placeholder],16),[[_a,!(d.value.length||"-"===l.value)]]),"search"===e.confirmType?Gr("form",{action:"",onSubmit:e=>e.preventDefault(),class:"uni-input-form"},[t],40,["onSubmit"]):t])],512)}}}),lf=["navigate","redirect","switchTab","reLaunch","navigateBack"],cf=["slide-in-right","slide-in-left","slide-in-top","slide-in-bottom","fade-in","zoom-out","zoom-fade-out","pop-in","none"],uf=["slide-out-right","slide-out-left","slide-out-top","slide-out-bottom","fade-out","zoom-in","zoom-fade-in","pop-out","none"],df={hoverClass:{type:String,default:"navigator-hover"},url:{type:String,default:""},openType:{type:String,default:"navigate",validator:e=>Boolean(~lf.indexOf(e))},delta:{type:Number,default:1},hoverStartTime:{type:[Number,String],default:50},hoverStayTime:{type:[Number,String],default:600},exists:{type:String,default:""},hoverStopPropagation:{type:Boolean,default:!1},animationType:{type:String,default:"",validator:e=>!e||cf.concat(uf).includes(e)},animationDuration:{type:[String,Number],default:300}};c({},df,{renderLink:{type:Boolean,default:!0}});const ff=rc("ucg"),pf=Xc({name:"RadioGroup",props:{name:{type:String,default:""}},setup(e,{emit:t,slots:n}){const o=on(null);return function(e,t){const n=[];Lo((()=>{s(n.length-1)}));const o=()=>{var e;return null==(e=n.find((e=>e.value.radioChecked)))?void 0:e.value.value};Un(ff,{addField(e){n.push(e)},removeField(e){n.splice(n.indexOf(e),1)},radioChange(e,r){s(n.indexOf(r),!0),t("change",e,{value:o()})}});const r=qn(tu,!1),i={submit:()=>{let t=["",null];return""!==e.name&&(t[0]=e.name,t[1]=o()),t}};r&&(r.addField(i),Ro((()=>{r.removeField(i)})));function a(e,t){e.value={radioChecked:t,value:e.value.value}}function s(e,t){n.forEach(((o,r)=>{r!==e&&(t?a(n[r],!1):n.forEach(((e,t)=>{r>=t||n[t].value.radioChecked&&a(n[r],!1)})))}))}}(e,Jc(o,t)),()=>Gr("uni-radio-group",{ref:o},[n.default&&n.default()],512)}});const hf=Xc({name:"Radio",props:{checked:{type:[Boolean,String],default:!1},id:{type:String,default:""},disabled:{type:[Boolean,String],default:!1},value:{type:String,default:""},color:{type:String,default:"#007aff"},backgroundColor:{type:String,default:""},borderColor:{type:String,default:""},activeBackgroundColor:{type:String,default:""},activeBorderColor:{type:String,default:""},iconColor:{type:String,default:"#ffffff"}},setup(e,{slots:t}){const n=on(null),o=on(e.checked),r=on(e.value);const i=vi((()=>function(t){if(e.disabled)return{backgroundColor:"#E1E1E1",borderColor:"#D1D1D1"};const n={};return o.value?(n.backgroundColor=e.activeBackgroundColor||e.color,n.borderColor=e.activeBorderColor||n.backgroundColor):(e.borderColor&&(n.borderColor=e.borderColor),e.backgroundColor&&(n.backgroundColor=e.backgroundColor)),n}(o.value)));Yn([()=>e.checked,()=>e.value],(([e,t])=>{o.value=e,r.value=t}));const{uniCheckGroup:a,uniLabel:s,field:l}=function(e,t,n){const o=vi({get:()=>({radioChecked:Boolean(e.value),value:t.value}),set:({radioChecked:t})=>{e.value=t}}),r={reset:n},i=qn(ff,!1);i&&i.addField(o);const a=qn(tu,!1);a&&a.addField(r);const s=qn(ou,!1);return Ro((()=>{i&&i.removeField(o),a&&a.removeField(r)})),{uniCheckGroup:i,uniForm:a,uniLabel:s,field:o}}(o,r,(()=>{o.value=!1})),c=t=>{e.disabled||o.value||(o.value=!0,a&&a.radioChange(t,l),t.stopPropagation())};return s&&(s.addHandler(c),Ro((()=>{s.removeHandler(c)}))),iu(e,{"label-click":c}),()=>{const r=eu(e,"disabled");let a;return a=o.value,Gr("uni-radio",oi(r,{id:e.id,onClick:c,ref:n}),[Gr("div",{class:"uni-radio-wrapper",style:{"--HOVER-BD-COLOR":o.value?i.value.borderColor:e.activeBorderColor}},[Gr("div",{class:["uni-radio-input",{"uni-radio-input-disabled":e.disabled}],style:i.value},[a?lc(ic,e.disabled?"#ADADAD":e.iconColor,18):""],6),t.default&&t.default()],4)],16,["id","onClick"])}}});const gf=Xc({name:"Switch",props:{name:{type:String,default:""},checked:{type:[Boolean,String],default:!1},type:{type:String,default:"switch"},id:{type:String,default:""},disabled:{type:[Boolean,String],default:!1},color:{type:String,default:""}},emits:["change"],setup(e,{emit:t}){const n=on(null),o=on(e.checked),r=function(e,t){const n=qn(tu,!1),o=qn(ou,!1),r={submit:()=>{const n=["",null];return e.name&&(n[0]=e.name,n[1]=t.value),n},reset:()=>{t.value=!1}};n&&(n.addField(r),jo((()=>{n.removeField(r)})));return o}(e,o),i=Jc(n,t);Yn((()=>e.checked),(e=>{o.value=e}));const a=t=>{e.disabled||(o.value=!o.value,i("change",t,{value:o.value}))};return r&&(r.addHandler(a),Ro((()=>{r.removeHandler(a)}))),iu(e,{"label-click":a}),()=>{const{color:t,type:r}=e,i=eu(e,"disabled"),s={};let l;return t&&o.value&&(s.backgroundColor=t,s.borderColor=t),l=o.value,Gr("uni-switch",oi({id:e.id,ref:n},i,{onClick:a}),[Gr("div",{class:"uni-switch-wrapper"},[Vo(Gr("div",{class:["uni-switch-input",[o.value?"uni-switch-input-checked":""]],style:s},null,6),[[_a,"switch"===r]]),Vo(Gr("div",{class:"uni-checkbox-input"},[l?lc(ic,e.color,22):""],512),[[_a,"checkbox"===r]])])],16,["id","onClick"])}}});const mf={ensp:" ",emsp:" ",nbsp:" "};function vf(e,t){return function(e,{space:t,decode:n}){let o="",r=!1;for(let i of e)t&&mf[t]&&" "===i&&(i=mf[t]),r?(o+="n"===i?"\n":"\\"===i?"\\":"\\"+i,r=!1):"\\"===i?r=!0:o+=i;return n?o.replace(/ /g,mf.nbsp).replace(/ /g,mf.ensp).replace(/ /g,mf.emsp).replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/"/g,'"').replace(/'/g,"'"):o}(e,t).split("\n")}const yf=Xc({name:"Text",props:{selectable:{type:[Boolean,String],default:!1},space:{type:String,default:""},decode:{type:[Boolean,String],default:!1}},setup(e,{slots:t}){const n=on(null);return()=>{const o=[];return t.default&&t.default().forEach((t=>{if(8&t.shapeFlag&&t.type!==Rr){const n=vf(t.children,{space:e.space,decode:e.decode}),r=n.length-1;n.forEach(((e,t)=>{(0!==t||e)&&o.push(Zr(e)),t!==r&&o.push(Gr("br"))}))}else o.push(t)})),Gr("uni-text",{ref:n,selectable:!!e.selectable||null},[Gr("span",null,o)],8,["selectable"])}}}),bf=c({},tf,{placeholderClass:{type:String,default:"input-placeholder"},autoHeight:{type:[Boolean,String],default:!1},confirmType:{type:String,default:"return",validator:e=>wf.concat("return").includes(e)}});let _f=!1;const wf=["done","go","next","search","send"];const xf=Xc({name:"Textarea",props:bf,emits:["confirm","linechange",...nf],setup(e,{emit:t,expose:n}){const o=on(null),r=on(null),{fieldRef:i,state:a,scopedAttrsState:s,fixDisabledColor:l,trigger:c}=af(e,o,t),u=vi((()=>a.value.split("\n"))),d=vi((()=>wf.includes(e.confirmType))),f=on(0),p=on(null);function h({height:e}){f.value=e}function g(e){"Enter"===e.key&&d.value&&e.preventDefault()}function m(t){if("Enter"===t.key&&d.value){!function(e){c("confirm",e,{value:a.value})}(t);const n=t.target;!e.confirmHold&&n.blur()}}return Yn((()=>f.value),(t=>{const n=o.value,i=p.value,a=r.value;let s=parseFloat(getComputedStyle(n).lineHeight);isNaN(s)&&(s=i.offsetHeight);var l=Math.round(t/s);c("linechange",{},{height:t,heightRpx:750/window.innerWidth*t,lineCount:l}),e.autoHeight&&(n.style.height="auto",a.style.height=t+"px")})),function(){const e="(prefers-color-scheme: dark)";_f=0===String(navigator.platform).indexOf("iP")&&0===String(navigator.vendor).indexOf("Apple")&&window.matchMedia(e).media!==e}(),n({$triggerInput:e=>{t("update:modelValue",e.value),t("update:value",e.value),a.value=e.value}}),()=>{let t=e.disabled&&l?Gr("textarea",{key:"disabled-textarea",ref:i,value:a.value,tabindex:"-1",readonly:!!e.disabled,maxlength:a.maxlength,class:{"uni-textarea-textarea":!0,"uni-textarea-textarea-fix-margin":_f},style:{overflowY:e.autoHeight?"hidden":"auto",...e.cursorColor&&{caretColor:e.cursorColor}},onFocus:e=>e.target.blur()},null,46,["value","readonly","maxlength","onFocus"]):Gr("textarea",{key:"textarea",ref:i,value:a.value,disabled:!!e.disabled,maxlength:a.maxlength,enterkeyhint:e.confirmType,inputmode:e.inputmode,class:{"uni-textarea-textarea":!0,"uni-textarea-textarea-fix-margin":_f},style:{overflowY:e.autoHeight?"hidden":"auto",...e.cursorColor&&{caretColor:e.cursorColor}},onKeydown:g,onKeyup:m},null,46,["value","disabled","maxlength","enterkeyhint","inputmode","onKeydown","onKeyup"]);return Gr("uni-textarea",{ref:o},[Gr("div",{ref:r,class:"uni-textarea-wrapper"},[Vo(Gr("div",oi(s.attrs,{style:e.placeholderStyle,class:["uni-textarea-placeholder",e.placeholderClass]}),[e.placeholder],16),[[_a,!a.value.length]]),Gr("div",{ref:p,class:"uni-textarea-line"},[" "],512),Gr("div",{class:"uni-textarea-compute"},[u.value.map((e=>Gr("div",null,[e.trim()?e:"."]))),Gr(Pd,{initial:!0,onResize:h},null,8,["initial","onResize"])]),"search"===e.confirmType?Gr("form",{action:"",onSubmit:()=>!1,class:"uni-input-form"},[t],40,["onSubmit"]):t],512)],512)}}}),Cf=Xc({name:"View",props:c({},Zc),setup(e,{slots:t}){const n=on(null),{hovering:o,binding:r}=Qc(e);return()=>{const i=e.hoverClass;return i&&"none"!==i?Gr("uni-view",oi({class:o.value?i:"",ref:n},r),[t.default&&t.default()],16):Gr("uni-view",{ref:n},[t.default&&t.default()],512)}}});function Sf(e,t,n,o){v(t)&&$o(e,t.bind(n),o)}function kf(e,t,n){var o;const r=e.mpType||n.$mpType;if(r&&"component"!==r&&(Object.keys(e).forEach((o=>{if(function(e,t,n=!0){return!(n&&!v(t))&&($e.indexOf(e)>-1||0===e.indexOf("on"))}(o,e[o],!1)){const r=e[o];p(r)?r.forEach((e=>Sf(o,e,n,t))):Sf(o,r,n,t)}})),"page"===r)){t.__isVisible=!0;try{mc(n,"onLoad",t.attrs.__pageQuery),delete t.attrs.__pageQuery,"preloadPage"!==(null==(o=n.$page)?void 0:o.openType)&&mc(n,"onShow")}catch(i){console.error(i.message+"\n"+i.stack)}}}function Ef(e,t,n){kf(e,t,n)}function Tf(e,t,n){return e[t]=n}function $f(e,...t){const n=this[e];return n?n(...t):(console.error(`method ${e} not found`),null)}function Of(e){return function(t,n,o){if(!n)throw t;const r=e._instance;if(!r||!r.proxy)throw t;mc(r.proxy,"onError",t)}}function Af(e,t){return e?[...new Set([].concat(e,t))]:t}function Lf(e){const t=e._context.config;var n;t.errorHandler=Ae(e,Of),n=t.optionMergeStrategies,$e.forEach((e=>{n[e]=Af}));const o=t.globalProperties;o.$set=Tf,o.$applyOptions=Ef,o.$callMethod=$f,function(e){Oe.forEach((t=>t(e)))}(e)}const Pf=rc("upm");function Bf(){return qn(Pf)}function Rf(e){const t=function(e){return zt(function(e){{const{navigationBar:t}=e,{titleSize:n,titleColor:o,backgroundColor:r}=t;t.titleText=t.titleText||"",t.type=t.type||"default",t.titleSize=n||"16px",t.titleColor=o||"#000000",t.backgroundColor=r||"#F8F8F8"}if(history.state){const t=history.state.__type__;"redirectTo"!==t&&"reLaunch"!==t||0!==Xf().length||(e.isEntry=!0,e.isQuit=!0)}return e}(JSON.parse(JSON.stringify(gc(pl().meta,e)))))}(e);return Un(Pf,t),t}function jf(){return pl()}function Ff(){return history.state&&history.state.__id__||1}let If;function Nf(){var e;return If||(If=__uniConfig.tabBar&&zt((e=__uniConfig.tabBar,hl()&&e.list&&e.list.forEach((e=>{yl(e,["text"])})),e))),If}const Mf=window.CSS&&window.CSS.supports;function Vf(e){return Mf&&(Mf(e)||Mf.apply(window.CSS,e.split(":")))}const Df=Vf("top:env(a)"),Hf=Vf("top:constant(a)"),zf=Vf("backdrop-filter:blur(10px)"),Wf=(()=>Df?"env":Hf?"constant":"")();function Uf(e){return Wf?`calc(${e}px + ${Wf}(safe-area-inset-bottom))`:`${e}px`}const qf=new Map;function Kf(){return qf}function Xf(){const e=[],t=qf.values();for(const n of t)n.$.__isTabBar?n.$.__isActive&&e.push(n):e.push(n);return e}function Yf(e,t=!0){const n=qf.get(e);n.$.__isUnload=!0,mc(n,"onUnload"),qf.delete(e),t&&function(e){const t=ep.get(e);t&&(ep.delete(e),tp.pruneCacheEntry(t))}(e)}let Gf=Ff();function Jf(e){const t=Bf();let n=e.fullPath;return e.meta.isEntry&&-1===n.indexOf(e.meta.route)&&(n="/"+e.meta.route+n.replace("/","")),function(e,t,n,o,r,i){const{id:a,route:s}=o,l=Re(o.navigationBar,__uniConfig.themeConfig,i).titleColor;return{id:a,path:fe(s),route:s,fullPath:t,options:n,meta:o,openType:e,eventChannel:r,statusBarStyle:"#ffffff"===l?"light":"dark"}}("navigateTo",n,{},t)}function Zf(e){const t=Jf(e.$route);!function(e,t){e.route=t.route,e.$vm=e,e.$page=t,e.$mpType="page",t.meta.isTabBar&&(e.$.__isTabBar=!0,e.$.__isActive=!0)}(e,t),qf.set(Qf(t.path,t.id),e)}function Qf(e,t){return e+"$$"+t}const ep=new Map,tp={get:e=>ep.get(e),set(e,t){!function(e){const t=parseInt(e.split("$$")[1]);if(!t)return;tp.forEach(((e,n)=>{const o=parseInt(n.split("$$")[1]);if(o&&o>t){if(function(e){return"tabBar"===e.props.type}(e))return;tp.delete(n),tp.pruneCacheEntry(e),Sn((()=>{qf.forEach(((e,t)=>{e.$.isUnmounted&&qf.delete(t)}))}))}}))}(e),ep.set(e,t)},delete(e){ep.get(e)&&ep.delete(e)},forEach(e){ep.forEach(e)}};function np(e,t){!function(e){const t=rp(e),{body:n}=document;ip&&n.removeAttribute(ip),t&&n.setAttribute(t,""),ip=t}(e),function(e){let t=0,n=0;if("custom"!==e.navigationBar.style&&["default","float"].indexOf(e.navigationBar.type)>-1&&(t=44),e.isTabBar){const e=Nf();e.shown&&(n=parseInt(e.height))}var o;oc({"--window-top":(o=t,Wf?`calc(${o}px + ${Wf}(safe-area-inset-top))`:`${o}px`),"--window-bottom":Uf(n)})}(t),function(e){{const t="nvue-dir-"+__uniConfig.nvue["flex-direction"];e.isNVue?(document.body.setAttribute("nvue",""),document.body.setAttribute(t,"")):(document.body.removeAttribute("nvue"),document.body.removeAttribute(t))}}(t),function(e,t){document.removeEventListener("touchmove",vc),ap&&document.removeEventListener("scroll",ap);if(t.disableScroll)return document.addEventListener("touchmove",vc);const{onPageScroll:n,onReachBottom:o}=e,r="transparent"===t.navigationBar.type;if(!n&&!o&&!r)return;const i={},a=e.proxy.$page.id;(n||r)&&(i.onPageScroll=function(e,t,n){return o=>{t&&Nh.publishHandler("onPageScroll",{scrollTop:o},e),n&&Nh.emit(e+".onPageScroll",{scrollTop:o})}}(a,n,r));o&&(i.onReachBottomDistance=t.onReachBottomDistance||50,i.onReachBottom=()=>Nh.publishHandler("onReachBottom",{},a));ap=_c(i),requestAnimationFrame((()=>document.addEventListener("scroll",ap)))}(e,t)}function op(e){const t=rp(e);t&&function(e){const t=document.querySelector("uni-page-body");t&&t.setAttribute(e,"")}(t)}function rp(e){return e.type.__scopeId}let ip,ap;function sp(e){const t=dl({history:cp(),strict:!!__uniConfig.router.strict,routes:__uniRoutes,scrollBehavior:lp});e.router=t,e.use(t)}const lp=(e,t,n)=>{if(n)return n};function cp(){let{routerBase:e}=__uniConfig.router;"/"===e&&(e="");const t=(n=e,(n=location.host?n||location.pathname+location.search:"").includes("#")||(n+="#"),ss(n));var n;return t.listen(((e,t,n)=>{"back"===n.direction&&function(e=1){const t=Xf(),n=t.length-1,o=n-e;for(let r=n;r>o;r--){const e=t[r].$page;Yf(Qf(e.path,e.id),!1)}}(Math.abs(n.delta))})),t}const up={install(e){Lf(e),Pc(e),zc(e),e.config.warnHandler||(e.config.warnHandler=dp),sp(e)}};function dp(e,t,n){if(t){if("PageMetaHead"===t.$.type.name)return;const e=t.$.parent;if(e&&"PageMeta"===e.type.name)return}const o=[`[Vue warn]: ${e}`];n.length&&o.push("\n",n),console.warn(...o)}const fp={class:"uni-async-loading"},pp=Gr("i",{class:"uni-loading"},null,-1),hp=Yc({name:"AsyncLoading",render:()=>(Nr(),zr("div",fp,[pp]))});function gp(){window.location.reload()}const mp=Yc({name:"AsyncError",setup(){wl();const{t:e}=bl();return()=>Gr("div",{class:"uni-async-error",onClick:gp},[e("uni.async.error")],8,["onClick"])}});let vp;function yp(){return vp}function bp(e){vp=e,Object.defineProperty(vp.$.ctx,"$children",{get:()=>Xf().map((e=>e.$vm))});const t=vp.$.appContext.app;t.component(hp.name)||t.component(hp.name,hp),t.component(mp.name)||t.component(mp.name,mp),function(e){e.$vm=e,e.$mpType="app";const t=on(bl().getLocale());Object.defineProperty(e,"$locale",{get:()=>t.value,set(e){t.value=e}})}(vp),function(e,t){const n=e.$options||{};n.globalData=c(n.globalData||{},t),Object.defineProperty(e,"globalData",{get:()=>n.globalData,set(e){n.globalData=e}})}(vp),Dc(),Vl()}function _p(e,{clone:t,init:n,setup:o,before:r}){t&&(e=c({},e)),r&&r(e);const i=e.setup;return e.setup=(e,t)=>{const r=li();n(r.proxy);const a=o(r);if(i)return i(a||e,t)},e}function wp(e,t){return e&&(e.__esModule||"Module"===e[Symbol.toStringTag])?_p(e.default,t):_p(e,t)}function xp(e){return wp(e,{clone:!0,init:Zf,setup(e){e.$pageInstance=e;const t=jf(),n=we(t.query);e.attrs.__pageQuery=n,e.proxy.$page.options=n,e.proxy.options=n;const o=Bf();var r,i,a;return Ao((()=>{np(e,o)})),Lo((()=>{op(e);const{onReady:n}=e;n&&j(n),Ep(t)})),wo((()=>{if(!e.__isVisible){np(e,o),e.__isVisible=!0;const{onShow:n}=e;n&&j(n),Sn((()=>{Ep(t)}))}}),"ba",r),function(e,t){wo(e,"bda",t)}((()=>{if(e.__isVisible&&!e.__isUnload){e.__isVisible=!1;const{onHide:t}=e;t&&j(t)}})),i=o.id,Nh.subscribe($l(i,"invokeViewApi"),a?a(Ol):Ol),Ro((()=>{!function(e){Nh.unsubscribe($l(e,"invokeViewApi")),Object.keys(Tl).forEach((t=>{0===t.indexOf(e+".")&&delete Tl[t]}))}(o.id)})),n}})}function Cp(){const{windowWidth:e,windowHeight:t,screenWidth:n,screenHeight:o}=Np(),r=90===Math.abs(Number(window.orientation))?"landscape":"portrait";Mh.emit("onResize",{deviceOrientation:r,size:{windowWidth:e,windowHeight:t,screenWidth:n,screenHeight:o}})}function Sp(e){S(e.data)&&"WEB_INVOKE_APPSERVICE"===e.data.type&&Mh.emit("onWebInvokeAppService",e.data.data,e.data.pageId)}function kp(){const{emit:e}=Mh;"visible"===document.visibilityState?e("onAppEnterForeground",c({},Ld)):e("onAppEnterBackground")}function Ep(e){const{tabBarText:t,tabBarIndex:n,route:o}=e.meta;t&&mc("onTabItemTap",{index:n,text:t,pagePath:o})}const Tp=navigator.cookieEnabled&&(window.localStorage||window.sessionStorage)||{};let $p;function Op(){if($p=$p||Tp.__DC_STAT_UUID,!$p){$p=Date.now()+""+Math.floor(1e7*Math.random());try{Tp.__DC_STAT_UUID=$p}catch(e){}}return $p}function Ap(){if(!0!==__uniConfig.darkmode)return y(__uniConfig.darkmode)?__uniConfig.darkmode:"light";try{return window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}catch(e){return"light"}}function Lp(){let e,t="0",n="",o="phone";const r=navigator.language;if(fu){e="iOS";const o=uu.match(/OS\s([\w_]+)\slike/);o&&(t=o[1].replace(/_/g,"."));const r=uu.match(/\(([a-zA-Z]+);/);r&&(n=r[1])}else if(du){e="Android";const o=uu.match(/Android[\s/]([\w\.]+)[;\s]/);o&&(t=o[1]);const r=uu.match(/\((.+?)\)/),i=r?r[1].split(";"):uu.split(" "),a=[/\bAndroid\b/i,/\bLinux\b/i,/\bU\b/i,/^\s?[a-z][a-z]$/i,/^\s?[a-z][a-z]-[a-z][a-z]$/i,/\bwv\b/i,/\/[\d\.,]+$/,/^\s?[\d\.,]+$/,/\bBrowser\b/i,/\bMobile\b/i];for(let e=0;e0){n=t.split("Build")[0].trim();break}let o;for(let e=0;e-1&&e.indexOf("MSIE")>-1,n=e.indexOf("Edge")>-1&&!t,o=e.indexOf("Trident")>-1&&e.indexOf("rv:11.0")>-1;if(t){new RegExp("MSIE (\\d+\\.\\d+);").test(e);const t=parseFloat(RegExp.$1);return t>6?t:6}return n?-1:o?11:-1}());if("-1"!==l)s="IE";else{const e=["Version","Firefox","Chrome","Edge{0,1}"],t=["Safari","Firefox","Chrome","Edge"];for(let n=0;n{const e=window.devicePixelRatio,t=vu(),n=yu(t),o=bu(t,n),r=function(e,t){return e?Math[t?"min":"max"](screen.height,screen.width):screen.height}(t,n),i=_u(o);let a=window.innerHeight;const s=Jl.top,l={left:Jl.left,right:i-Jl.right,top:Jl.top,bottom:a-Jl.bottom,width:i-Jl.left-Jl.right,height:a-Jl.top-Jl.bottom},{top:c,bottom:u}=function(){const e=document.documentElement.style,t=tc(),n=ec(e,"--window-bottom"),o=ec(e,"--window-left"),r=ec(e,"--window-right"),i=ec(e,"--top-window-height");return{top:t,bottom:n?n+Jl.bottom:0,left:o?o+Jl.left:0,right:r?r+Jl.right:0,topWindowHeight:i||0}}();return a-=c,a-=u,{windowTop:c,windowBottom:u,windowWidth:i,windowHeight:a,pixelRatio:e,screenWidth:o,screenHeight:r,statusBarHeight:s,safeArea:l,safeAreaInsets:{top:Jl.top,right:Jl.right,bottom:Jl.bottom,left:Jl.left},screenTop:r-a}}));let Bp,Rp=!0;function jp(){Rp&&(Bp=Lp())}const Fp=Ku(0,(()=>{jp();const{deviceBrand:e,deviceModel:t,brand:n,model:o,platform:r,system:i,deviceOrientation:a,deviceType:s}=Bp;return{brand:n,deviceBrand:e,deviceModel:t,devicePixelRatio:window.devicePixelRatio,deviceId:Op(),deviceOrientation:a,deviceType:s,model:o,platform:r,system:i}})),Ip=Ku(0,(()=>{jp();const{theme:e,language:t,browserName:n,browserVersion:o}=Bp;return{appId:__uniConfig.appId,appName:__uniConfig.appName,appVersion:__uniConfig.appVersion,appVersionCode:__uniConfig.appVersionCode,appLanguage:cd?cd():t,enableDebug:!1,hostSDKVersion:void 0,hostPackageName:void 0,hostFontSizeSetting:void 0,hostName:n,hostVersion:o,hostTheme:e,hostLanguage:t,language:t,SDKVersion:"",theme:e,version:""}})),Np=Ku(0,(()=>{Rp=!0,jp(),Rp=!1;const e=Pp(),t=Fp(),n=Ip();Rp=!0;const{ua:o,browserName:r,browserVersion:i,osname:a,osversion:s}=Bp,l=c(e,t,n,{ua:o,browserName:r,browserVersion:i,uniPlatform:"web",uniCompileVersion:__uniConfig.compilerVersion,uniRuntimeVersion:__uniConfig.compilerVersion,fontSizeSetting:void 0,osName:a.toLocaleLowerCase(),osVersion:s,osLanguage:void 0,osTheme:void 0});return delete l.screenTop,delete l.enableDebug,__uniConfig.darkmode||delete l.theme,function(e){let t={};return S(e)&&Object.keys(e).sort().forEach((n=>{const o=n;t[o]=e[o]})),Object.keys(t)?t:e}(l)}));Yd();const Mp={esc:["Esc","Escape"],enter:["Enter"]},Vp=Object.keys(Mp);const Dp=Gr("div",{class:"uni-mask"},null,-1);function Hp(e,t,n){return t.onClose=(...e)=>(t.visible=!1,n.apply(null,e)),Sa(co({setup:()=>()=>(Nr(),zr(e,t,null,16))}))}function zp(e){let t=document.getElementById(e);return t||(t=document.createElement("div"),t.id=e,document.body.append(t)),t}function Wp(e,{onEsc:t,onEnter:n}){const o=on(e.visible),{key:r,disable:i}=function(){const e=on(""),t=on(!1),n=n=>{if(t.value)return;const o=Vp.find((e=>-1!==Mp[e].indexOf(n.key)));o&&(e.value=o),Sn((()=>e.value=""))};return Lo((()=>{document.addEventListener("keyup",n)})),Ro((()=>{document.removeEventListener("keyup",n)})),{key:e,disable:t}}();return Yn((()=>e.visible),(e=>o.value=e)),Yn((()=>o.value),(e=>i.value=!e)),Kn((()=>{const{value:e}=r;"esc"===e?t&&t():"enter"===e&&n&&n()})),o}const Up=qu("request",(({url:e,data:t,header:n={},method:o,dataType:r,responseType:i,withCredentials:a,timeout:s=__uniConfig.networkTimeout.request},{resolve:l,reject:c})=>{let u=null;const d=function(e){const t=Object.keys(e).find((e=>"content-type"===e.toLowerCase()));if(!t)return;const n=e[t];if(0===n.indexOf("application/json"))return"json";if(0===n.indexOf("application/x-www-form-urlencoded"))return"urlencoded";return"string"}(n);if("GET"!==o)if(y(t)||t instanceof ArrayBuffer)u=t;else if("json"===d)try{u=JSON.stringify(t)}catch(m){u=t.toString()}else if("urlencoded"===d){const e=[];for(const n in t)f(t,n)&&e.push(encodeURIComponent(n)+"="+encodeURIComponent(t[n]));u=e.join("&")}else u=t.toString();const p=new XMLHttpRequest,h=new qp(p);p.open(o,e);for(const v in n)f(n,v)&&p.setRequestHeader(v,n[v]);const g=setTimeout((function(){p.onload=p.onabort=p.onerror=null,h.abort(),c("timeout",{errCode:5})}),s);return p.responseType=i,p.onload=function(){clearTimeout(g);const e=p.status;let t="text"===i?p.responseText:p.response;if("text"===i&&"json"===r)try{t=JSON.parse(t)}catch(m){}l({data:t,statusCode:e,header:Kp(p.getAllResponseHeaders()),cookies:[]})},p.onabort=function(){clearTimeout(g),c("abort",{errCode:600003})},p.onerror=function(){clearTimeout(g),c(void 0,{errCode:5})},p.withCredentials=a,p.send(u),h}),0,hd);class qp{constructor(e){this._xhr=e}abort(){this._xhr&&(this._xhr.abort(),delete this._xhr)}onHeadersReceived(e){throw new Error("Method not implemented.")}offHeadersReceived(e){throw new Error("Method not implemented.")}}function Kp(e){const t={};return e.split("\n").forEach((e=>{const n=e.match(/(\S+\s*):\s*(.*)/);n&&3===n.length&&(t[n[1]]=n[2])})),t}const Xp=Xu("navigateBack",((e,{resolve:t,reject:n})=>{let o=!0;return!0===mc("onBackPress",{from:e.from||"navigateBack"})&&(o=!1),o?(yp().$router.go(-e.delta),t()):n("onBackPress")}),0,_d);function Yp({type:e,url:t,tabBarText:n,events:o,isAutomatedTesting:r},i){const a=yp().$router,{path:s,query:l}=function(e){const[t,n]=e.split("?",2);return{path:t,query:Ce(n||"")}}(t);return new Promise(((t,c)=>{const u=function(e,t){return{__id__:t||++Gf,__type__:e}}(e,i);a["navigateTo"===e?"push":"replace"]({path:s,query:l,state:u,force:!0}).then((i=>{if(hs(i))return c(i.message);if("switchTab"===e&&(a.currentRoute.value.meta.tabBarText=n),"navigateTo"===e){const e=a.currentRoute.value.meta;return e.eventChannel?o&&(Object.keys(o).forEach((t=>{e.eventChannel._addListener(t,"on",o[t])})),e.eventChannel._clearCache()):e.eventChannel=new ke(u.__id__,o),t(r?{__id__:u.__id__}:{eventChannel:e.eventChannel})}return r?t({__id__:u.__id__}):t()}))}))}const Gp=Xu("navigateTo",(({url:e,events:t,isAutomatedTesting:n},{resolve:o,reject:r})=>Yp({type:"navigateTo",url:e,events:t,isAutomatedTesting:n}).then(o).catch(r)),0,md);const Jp=Xu("redirectTo",(({url:e,isAutomatedTesting:t},{resolve:n,reject:o})=>(function(){const e=uc();if(!e)return;const t=e.$page;Yf(Qf(t.path,t.id))}(),Yp({type:"redirectTo",url:e,isAutomatedTesting:t}).then(n).catch(o))),0,vd);const Zp=Xu("reLaunch",(({url:e,isAutomatedTesting:t},{resolve:n,reject:o})=>(function(){const e=Kf().keys();for(const t of e)Yf(t)}(),Yp({type:"reLaunch",url:e,isAutomatedTesting:t}).then(n).catch(o))),0,yd);function Qp(e,t){return e===t.fullPath||"/"===e&&t.meta.isEntry}const eh=Xu("switchTab",(({url:e,tabBarText:t,isAutomatedTesting:n},{resolve:o,reject:r})=>(function(){const e=pc();if(!e)return;const t=Kf(),n=t.keys();for(const o of n){const e=t.get(o);e.$.__isTabBar?e.$.__isActive=!1:Yf(o)}e.$.__isTabBar&&(e.$.__isVisible=!1,mc(e,"onHide"))}(),Yp({type:"switchTab",url:e,tabBarText:t,isAutomatedTesting:n},function(e){const t=Kf().values();for(const n of t){const t=n.$page;if(Qp(e,t))return n.$.__isActive=!0,t.id}}(e)).then(o).catch(r))),0,bd);function th(e){__uniConfig.darkmode&&Mh.on("onThemeChange",e)}function nh(e){Mh.off("onThemeChange",e)}function oh(e){let t={};return __uniConfig.darkmode&&(t=Re(e,__uniConfig.themeConfig,Ap())),__uniConfig.darkmode?t:e}function rh(e,t){const n=qt(e),o=n?zt(oh(e)):oh(e);return __uniConfig.darkmode&&n&&Yn(e,(e=>{const t=oh(e);for(const n in t)o[n]=t[n]})),t&&th(t),o}const ih={light:{cancelColor:"#000000"},dark:{cancelColor:"rgb(170, 170, 170)"}},ah=co({props:{title:{type:String,default:""},content:{type:String,default:""},showCancel:{type:Boolean,default:!0},cancelText:{type:String,default:"Cancel"},cancelColor:{type:String,default:"#000000"},confirmText:{type:String,default:"OK"},confirmColor:{type:String,default:"#007aff"},visible:{type:Boolean},editable:{type:Boolean,default:!1},placeholderText:{type:String,default:""}},setup(e,{emit:t}){const n=on(""),o=()=>a.value=!1,r=()=>(o(),t("close","cancel")),i=()=>(o(),t("close","confirm",n.value)),a=Wp(e,{onEsc:r,onEnter:()=>{!e.editable&&i()}}),s=function(e){const t=on(e.cancelColor),n=({theme:e})=>{((e,t)=>{t.value=ih[e].cancelColor})(e,t)};return Kn((()=>{e.visible?(t.value=e.cancelColor,"#000"===e.cancelColor&&("dark"===Ap()&&n({theme:"dark"}),th(n))):nh(n)})),t}(e);return()=>{const{title:t,content:o,showCancel:l,confirmText:c,confirmColor:u,editable:d,placeholderText:f}=e;return n.value=o,Gr(qi,{name:"uni-fade"},{default:()=>[Vo(Gr("uni-modal",{onTouchmove:Zl},[Dp,Gr("div",{class:"uni-modal"},[t&&Gr("div",{class:"uni-modal__hd"},[Gr("strong",{class:"uni-modal__title",textContent:t},null,8,["textContent"])]),d?Gr("textarea",{class:"uni-modal__textarea",rows:"1",placeholder:f,value:o,onInput:e=>n.value=e.target.value},null,40,["placeholder","value","onInput"]):Gr("div",{class:"uni-modal__bd",onTouchmovePassive:Ql,textContent:o},null,40,["onTouchmovePassive","textContent"]),Gr("div",{class:"uni-modal__ft"},[l&&Gr("div",{style:{color:s.value},class:"uni-modal__btn uni-modal__btn_default",onClick:r},[e.cancelText],12,["onClick"]),Gr("div",{style:{color:u},class:"uni-modal__btn uni-modal__btn_primary",onClick:i},[c],12,["onClick"])])])],40,["onTouchmove"]),[[_a,a.value]])]})}}});let sh;const lh=pe((()=>{Mh.on("onHidePopup",(()=>sh.visible=!1))}));let ch;function uh(e,t){const n="confirm"===e,o={confirm:n,cancel:"cancel"===e};n&&sh.editable&&(o.content=t),ch&&ch(o)}const dh=Xu("showModal",((e,{resolve:t})=>{lh(),ch=t,sh?(c(sh,e),sh.visible=!0):(sh=zt(e),Sn((()=>(Hp(ah,sh,uh).mount(zp("u-a-m")),Sn((()=>sh.visible=!0))))))}),0,Td),fh={title:{type:String,default:""},icon:{default:"success",validator:e=>-1!==$d.indexOf(e)},image:{type:String,default:""},duration:{type:Number,default:1500},mask:{type:Boolean,default:!1},visible:{type:Boolean}},ph={light:"#fff",dark:"rgba(255,255,255,0.9)"},hh=e=>ph[e],gh=co({name:"Toast",props:fh,setup(e){xl(),Cl();const{Icon:t}=function(e){const t=on(hh(Ap())),n=({theme:e})=>t.value=hh(e);Kn((()=>{e.visible?th(n):nh(n)}));return{Icon:vi((()=>{switch(e.icon){case"success":return Gr(lc(ic,t.value,38),{class:"uni-toast__icon"});case"error":return Gr(lc(ac,t.value,38),{class:"uni-toast__icon"});case"loading":return Gr("i",{class:["uni-toast__icon","uni-loading"]},null,2);default:return null}}))}}(e),n=Wp(e,{});return()=>{const{mask:o,duration:r,title:i,image:a}=e;return Gr(qi,{name:"uni-fade"},{default:()=>[Vo(Gr("uni-toast",{"data-duration":r},[o?Gr("div",{class:"uni-mask",style:"background: transparent;",onTouchmove:Zl},null,40,["onTouchmove"]):"",a||t.value?Gr("div",{class:"uni-toast"},[a?Gr("img",{src:a,class:"uni-toast__icon"},null,10,["src"]):t.value,Gr("p",{class:"uni-toast__content"},[i])]):Gr("div",{class:"uni-sample-toast"},[Gr("p",{class:"uni-simple-toast__text"},[i])])],8,["data-duration"]),[[_a,n.value]])]})}}});let mh,vh,yh="";const bh=Ie();function _h(e){mh?c(mh,e):(mh=zt(c(e,{visible:!1})),Sn((()=>{bh.run((()=>{Yn([()=>mh.visible,()=>mh.duration],(([e,t])=>{if(e){if(vh&&clearTimeout(vh),"onShowLoading"===yh)return;vh=setTimeout((()=>{kh("onHideToast")}),t)}else vh&&clearTimeout(vh)}))})),Mh.on("onHidePopup",(()=>kh("onHidePopup"))),Hp(gh,mh,(()=>{})).mount(zp("u-a-t"))}))),setTimeout((()=>{mh.visible=!0}),10)}const wh=Xu("showToast",((e,{resolve:t,reject:n})=>{_h(e),yh="onShowToast",t()}),0,Od),xh={icon:"loading",duration:1e8,image:""},Ch=Xu("showLoading",((e,{resolve:t,reject:n})=>{c(e,xh),_h(e),yh="onShowLoading",t()}),0,Ed),Sh=Xu("hideLoading",((e,{resolve:t,reject:n})=>{kh("onHideLoading"),t()}));function kh(e){const{t:t}=bl();if(!yh)return;let n="";if("onHideToast"===e&&"onShowToast"!==yh?n=t("uni.showToast.unpaired"):"onHideLoading"===e&&"onShowLoading"!==yh&&(n=t("uni.showLoading.unpaired")),n)return console.warn(n);yh="",setTimeout((()=>{mh.visible=!1}),10)}const Eh=Xu("loadFontFace",(({family:e,source:t,desc:n},{resolve:o,reject:r})=>{(function(e,t,n){const o=document.fonts;if(o){const r=new FontFace(e,t,n);return r.load().then((()=>{o.add&&o.add(r)}))}return new Promise((o=>{const r=document.createElement("style"),i=[];if(n){const{style:e,weight:t,stretch:o,unicodeRange:r,variant:a,featureSettings:s}=n;e&&i.push(`font-style:${e}`),t&&i.push(`font-weight:${t}`),o&&i.push(`font-stretch:${o}`),r&&i.push(`unicode-range:${r}`),a&&i.push(`font-variant:${a}`),s&&i.push(`font-feature-settings:${s}`)}r.innerText=`@font-face{font-family:"${e}";src:${t};${i.join(";")}}`,document.head.appendChild(r),o()}))})(e,t=t.startsWith('url("')||t.startsWith("url('")?`url('${cu(t.substring(5,t.length-2))}')`:t.startsWith("url(")?`url('${cu(t.substring(4,t.length-1))}')`:cu(t),n).then((()=>{o()})).catch((e=>{r(`loadFontFace:fail ${e}`)}))}));function Th(e){function t(){var t;t=e.navigationBar.titleText,document.title=t,Mh.emit("onNavigationBarChange",{titleText:t})}Kn(t),bo(t)}const $h=Yc({name:"TabBar",setup(){const e=on([]),t=Nf(),n=rh(t,(()=>{const e=oh(t);n.backgroundColor=e.backgroundColor,n.borderStyle=e.borderStyle,n.color=e.color,n.selectedColor=e.selectedColor,n.blurEffect=e.blurEffect,e.list&&e.list.length&&e.list.forEach(((e,t)=>{n.list[t].iconPath=e.iconPath,n.list[t].selectedIconPath=e.selectedIconPath}))}));!function(e,t){function n(){let n=[];n=e.list.filter((e=>!1!==e.visible)),t.value=n}on(c({type:"midButton"},e.midButton)),Kn(n)}(n,e),function(e){Yn((()=>e.shown),(t=>{oc({"--window-bottom":Uf(t?parseInt(e.height):0)})}))}(n);const o=function(e,t,n){return Kn((()=>{const o=e.meta;if(o.isTabBar){const e=o.route,r=n.value.findIndex((t=>t.pagePath===e));t.selectedIndex=r}})),(t,n)=>()=>{const{pagePath:o,text:r}=t;let i=fe(o);i===__uniRoutes[0].alias&&(i="/"),e.path!==i?eh({from:"tabBar",url:i,tabBarText:r}):mc("onTabItemTap",{index:n,text:r,pagePath:o})}}(pl(),n,e),{style:r,borderStyle:i,placeholderStyle:a}=function(e){const t=vi((()=>{let t=e.backgroundColor;const n=e.blurEffect;return t||zf&&n&&"none"!==n&&(t=Oh[n]),{backgroundColor:t||"#f7f7fa",backdropFilter:"none"!==n?"blur(10px)":n}})),n=vi((()=>{const{borderStyle:t}=e;return{backgroundColor:Ah[t]||t}})),o=vi((()=>({height:e.height})));return{style:t,borderStyle:n,placeholderStyle:o}}(n);return Lo((()=>{n.iconfontSrc&&Eh({family:"UniTabbarIconFont",source:`url("${n.iconfontSrc}")`})})),()=>{const t=function(e,t,n){const{selectedIndex:o,selectedColor:r,color:i}=e;return n.value.map(((n,a)=>{const s=o===a;return function(e,t,n,o,r,i,a,s){return Gr("div",{key:a,class:"uni-tabbar__item",onClick:s(r,a)},[Lh(e,t||"",n,o,r,i)],8,["onClick"])}(s?r:i,s&&n.selectedIconPath||n.iconPath||"",n.iconfont?s&&n.iconfont.selectedText||n.iconfont.text:void 0,n.iconfont?s&&n.iconfont.selectedColor||n.iconfont.color:void 0,n,e,a,t)}))}(n,o,e);return Gr("uni-tabbar",{class:"uni-tabbar-"+n.position},[Gr("div",{class:"uni-tabbar",style:r.value},[Gr("div",{class:"uni-tabbar-border",style:i.value},null,4),t],4),Gr("div",{class:"uni-placeholder",style:a.value},null,4)],2)}}});const Oh={dark:"rgb(0, 0, 0, 0.8)",light:"rgb(250, 250, 250, 0.8)",extralight:"rgb(250, 250, 250, 0.8)"},Ah={white:"rgba(255, 255, 255, 0.33)",black:"rgba(0, 0, 0, 0.33)"};function Lh(e,t,n,o,r,i){const{height:a}=i;return Gr("div",{class:"uni-tabbar__bd",style:{height:a}},[n?Bh(n,o||"rgb(0, 0, 0, 0.8)",r,i):t&&Ph(t,r,i),r.text&&Rh(e,r,i),r.redDot&&jh(r.badge)],4)}function Ph(e,t,n){const{type:o,text:r}=t,{iconWidth:i}=n;return Gr("div",{class:"uni-tabbar__icon"+(r?" uni-tabbar__icon__diff":""),style:{width:i,height:i}},["midButton"!==o&&Gr("img",{src:cu(e)},null,8,["src"])],6)}function Bh(e,t,n,o){var r;const{type:i,text:a}=n,{iconWidth:s}=o,l="uni-tabbar__icon"+(a?" uni-tabbar__icon__diff":""),c={width:s,height:s},u={fontSize:(null==(r=n.iconfont)?void 0:r.fontSize)||s,color:t};return Gr("div",{class:l,style:c},["midButton"!==i&&Gr("div",{class:"uni-tabbar__iconfont",style:u},[e],4)],6)}function Rh(e,t,n){const{iconPath:o,text:r}=t,{fontSize:i,spacing:a}=n;return Gr("div",{class:"uni-tabbar__label",style:{color:e,fontSize:i,lineHeight:o?"normal":1.8,marginTop:o?a:"inherit"}},[r],4)}function jh(e){return Gr("div",{class:"uni-tabbar__reddot"+(e?" uni-tabbar__badge":"")},[e],2)}const Fh=Yc({name:"Layout",setup(e,{emit:t}){const n=on(null);nc({"--status-bar-height":"0px","--top-window-height":"0px","--window-left":"0px","--window-right":"0px","--window-margin":"0px","--tab-bar-height":"0px"});const o=function(){const e=pl();return{routeKey:vi((()=>Qf("/"+e.meta.route,Ff()))),isTabBar:vi((()=>e.meta.isTabBar)),routeCache:tp}}(),{layoutState:r,windowState:i}=function(){jf();{const e=zt({marginWidth:0,leftWindowWidth:0,rightWindowWidth:0});return Yn((()=>e.marginWidth),(e=>nc({"--window-margin":e+"px"}))),Yn((()=>e.leftWindowWidth+e.marginWidth),(e=>{nc({"--window-left":e+"px"})})),Yn((()=>e.rightWindowWidth+e.marginWidth),(e=>{nc({"--window-right":e+"px"})})),{layoutState:e,windowState:vi((()=>({})))}}}();!function(e,t){const n=jf();function o(){const o=document.body.clientWidth,r=Xf();let i={};if(r.length>0){i=r[r.length-1].$page.meta}else{const e=xc(n.path,!0);e&&(i=e.meta)}const a=parseInt(String((f(i,"maxWidth")?i.maxWidth:__uniConfig.globalStyle.maxWidth)||Number.MAX_SAFE_INTEGER));let s=!1;s=o>a,s&&a?(e.marginWidth=(o-a)/2,Sn((()=>{const e=t.value;e&&e.setAttribute("style","max-width:"+a+"px;margin:0 auto;")}))):(e.marginWidth=0,Sn((()=>{const e=t.value;e&&e.removeAttribute("style")})))}Yn([()=>n.path],o),Lo((()=>{o(),window.addEventListener("resize",o)}))}(r,n);const a=function(e){const t=jf(),n=Nf(),o=vi((()=>t.meta.isTabBar&&n.shown));return nc({"--tab-bar-height":n.height}),o}(),s=function(e){const t=on(!1);return vi((()=>({"uni-app--showtabbar":e&&e.value,"uni-app--maxwidth":t.value})))}(a);return()=>{const e=function(e,t,n,o,r,i){return function({routeKey:e,isTabBar:t,routeCache:n}){return Gr(ul,null,{default:Mn((({Component:o})=>[(Nr(),zr(vo,{matchBy:"key",cache:n},[(Nr(),zr(Wo(o),{type:t.value?"tabBar":"",key:e.value}))],1032,["cache"]))])),_:1})}(e)}(o),t=function(e){return Vo(Gr($h,null,null,512),[[_a,e.value]])}(a);return Gr("uni-app",{ref:n,class:s.value},[e,t],2)}}});const Ih=Xc({name:"CoverImage",compatConfig:{MODE:3},props:{src:{type:String,default:""}},emits:["load","error"],setup(e,{emit:t}){const n=on(null),o=Jc(n,t);function r(e){o("load",e)}function i(e){o("error",e)}return()=>{const{src:t}=e;return Gr("uni-cover-image",{ref:n,src:t},[Gr("div",{class:"uni-cover-image"},[t?Gr("img",{src:cu(t),onLoad:r,onError:i},null,40,["src","onLoad","onError"]):null])],8,["src"])}}}),Nh=c(Al,{publishHandler(e,t,n){Mh.subscribeHandler(e,t,n)}}),Mh=c(jc,{publishHandler(e,t,n){Nh.subscribeHandler(e,t,n)}}),Vh=Yc({name:"PageHead",setup(){const e=on(null),t=Bf(),n=rh(t.navigationBar,(()=>{const e=oh(t.navigationBar);n.backgroundColor=e.backgroundColor,n.titleColor=e.titleColor})),{clazz:o,style:r}=function(e){const t=vi((()=>{const{type:t,titlePenetrate:n,shadowColorType:o}=e,r={"uni-page-head":!0,"uni-page-head-transparent":"transparent"===t,"uni-page-head-titlePenetrate":"YES"===n,"uni-page-head-shadow":!!o};return o&&(r[`uni-page-head-shadow-${o}`]=!0),r})),n=vi((()=>({backgroundColor:e.backgroundColor,color:e.titleColor,transitionDuration:e.duration,transitionTimingFunction:e.timingFunc})));return{clazz:t,style:n}}(n);return()=>{const i=function(e,t){if(!t)return Gr("div",{class:"uni-page-head-btn",onClick:Hh},[lc(sc,"transparent"===e.type?"#fff":e.titleColor,26)],8,["onClick"])}(n,t.isQuit),a=n.type||"default",s="transparent"!==a&&"float"!==a&&Gr("div",{class:{"uni-placeholder":!0,"uni-placeholder-titlePenetrate":n.titlePenetrate}},null,2);return Gr("uni-page-head",{"uni-page-head-type":a},[Gr("div",{ref:e,class:o.value,style:r.value},[Gr("div",{class:"uni-page-head-hd"},[i]),Dh(n),Gr("div",{class:"uni-page-head-ft"},[])],6),s],8,["uni-page-head-type"])}}});function Dh(e,t){return function({type:e,loading:t,titleSize:n,titleText:o,titleImage:r}){return Gr("div",{class:"uni-page-head-bd"},[Gr("div",{style:{fontSize:n,opacity:"transparent"===e?0:1},class:"uni-page-head__title"},[t?Gr("i",{class:"uni-loading"},null):r?Gr("img",{src:r,class:"uni-page-head__title_image"},null,8,["src"]):o],4)])}(e)}function Hh(){1===Xf().length?Zp({url:"/"}):Xp({from:"backbutton",success(){}})}const zh=Yc({name:"PageBody",setup:(e,t)=>()=>Gr(Pr,null,[!1,Gr("uni-page-wrapper",null,[Gr("uni-page-body",null,[Xo(t.slots,"default")])],16)])}),Wh=Yc({name:"Page",setup(e,t){const n=Rf(Ff()),o=n.navigationBar;return Th(n),()=>Gr("uni-page",{"data-page":n.route},"custom"!==o.style?[Gr(Vh),Uh(t)]:[Uh(t)])}});function Uh(e){return Nr(),zr(zh,{key:0},{default:Mn((()=>[Xo(e.slots,"page")])),_:3})}const qh={loading:"AsyncLoading",error:"AsyncError",delay:200,timeout:6e4,suspensible:!0};window.uni={},window.wx={},window.rpx2px=od;const Kh=Object.assign({}),Xh=Object.assign;window.__uniConfig=Xh({globalStyle:{backgroundColor:"#F8F8F8",background:"#efeff4",navigationBar:{backgroundColor:"#F8F8F8",titleText:"会员管理",type:"default",titleColor:"#000000"},isNVue:!1},tabBar:{position:"bottom",color:"#999",selectedColor:"#249EA3",borderStyle:"black",blurEffect:"none",fontSize:"26rpx",iconWidth:"24px",spacing:"3px",height:"50px",backgroundColor:"#fff",list:[{pagePath:"pages/index/index",iconPath:"/static/tabbar/index1.png",selectedIconPath:"/static/tabbar/index2.png",text:"首页"},{pagePath:"pages/wode",iconPath:"/static/tabbar/wode1.png",selectedIconPath:"/static/tabbar/wode2.png",text:"我的"}],selectedIndex:0,shown:!0},easycom:{"^w-(.*)":"@/uni_modules/wmf-code/components/w-$1/w-$1.vue"},compilerVersion:"4.08"},{appId:"__UNI__8CD5FC5",appName:"MemberMngr",appVersion:"1.0.0",appVersionCode:"100",async:qh,debug:!1,networkTimeout:{request:6e4,connectSocket:6e4,uploadFile:6e4,downloadFile:6e4},sdkConfigs:{},qqMapKey:void 0,bMapKey:void 0,googleMapKey:void 0,aMapKey:void 0,aMapSecurityJsCode:void 0,aMapServiceHost:void 0,nvue:{"flex-direction":"column"},locale:"",fallbackLocale:"",locales:Object.keys(Kh).reduce(((e,t)=>{const n=t.replace(/\.\/locale\/(uni-app.)?(.*).json/,"$2");return Xh(e[n]||(e[n]={}),Kh[t].default),e}),{}),router:{mode:"hash",base:"/h5/",assets:"assets",routerBase:"/h5/"},darkmode:!1,themeConfig:{}}),window.__uniLayout=window.__uniLayout||{};const Yh={delay:qh.delay,timeout:qh.timeout,suspensible:qh.suspensible};qh.loading&&(Yh.loadingComponent={name:"SystemAsyncLoading",render:()=>Gr(Ho(qh.loading))}),qh.error&&(Yh.errorComponent={name:"SystemAsyncError",render:()=>Gr(Ho(qh.error))});const Gh=()=>t((()=>import("./pages-wxLogin.67646d7a.js")),["assets/pages-wxLogin.67646d7a.js","assets/index.9253508f.js","assets/uni-app.es.125322ac.js"]).then((e=>xp(e.default||e))),Jh=fo(Xh({loader:Gh},Yh)),Zh=()=>t((()=>import("./pages-index-index.b8617fc6.js")),["assets/pages-index-index.b8617fc6.js","assets/uni-icons.1a1aa5ae.js","assets/_plugin-vue_export-helper.1b428a4d.js","assets/uni-icons-1211a03e.css","assets/uni-app.es.125322ac.js","assets/index.9253508f.js","assets/index-3219eea9.css"]).then((e=>xp(e.default||e))),Qh=fo(Xh({loader:Zh},Yh)),eg=()=>t((()=>import("./pages-user-person_edit.ea717f4b.js")),["assets/pages-user-person_edit.ea717f4b.js","assets/uni-icons.1a1aa5ae.js","assets/_plugin-vue_export-helper.1b428a4d.js","assets/uni-icons-1211a03e.css","assets/uni-app.es.125322ac.js","assets/index.9253508f.js","assets/person_edit-c77a16f3.css"]).then((e=>xp(e.default||e))),tg=fo(Xh({loader:eg},Yh)),ng=()=>t((()=>import("./pages-user-recharge.3538b330.js")),["assets/pages-user-recharge.3538b330.js","assets/uni-icons.1a1aa5ae.js","assets/_plugin-vue_export-helper.1b428a4d.js","assets/uni-icons-1211a03e.css","assets/uni-app.es.125322ac.js","assets/index.9253508f.js","assets/recharge-2b1b1870.css"]).then((e=>xp(e.default||e))),og=fo(Xh({loader:ng},Yh)),rg=()=>t((()=>import("./pages-user-expend.130c9056.js")),["assets/pages-user-expend.130c9056.js","assets/uni-icons.1a1aa5ae.js","assets/_plugin-vue_export-helper.1b428a4d.js","assets/uni-icons-1211a03e.css","assets/uni-app.es.125322ac.js","assets/index.9253508f.js","assets/expend-b06a0446.css"]).then((e=>xp(e.default||e))),ig=fo(Xh({loader:rg},Yh)),ag=()=>t((()=>import("./pages-user-list.fd1a83c3.js")),["assets/pages-user-list.fd1a83c3.js","assets/uni-icons.1a1aa5ae.js","assets/_plugin-vue_export-helper.1b428a4d.js","assets/uni-icons-1211a03e.css","assets/uni-app.es.125322ac.js","assets/index.9253508f.js","assets/list-0f582702.css"]).then((e=>xp(e.default||e))),sg=fo(Xh({loader:ag},Yh)),lg=()=>t((()=>import("./pages-login.da5698a2.js")),["assets/pages-login.da5698a2.js","assets/index.9253508f.js","assets/uni-app.es.125322ac.js","assets/_plugin-vue_export-helper.1b428a4d.js","assets/login-2094602c.css"]).then((e=>xp(e.default||e))),cg=fo(Xh({loader:lg},Yh)),ug=()=>t((()=>import("./pages-wode.57814f6e.js")),["assets/pages-wode.57814f6e.js","assets/uni-icons.1a1aa5ae.js","assets/_plugin-vue_export-helper.1b428a4d.js","assets/uni-icons-1211a03e.css","assets/uni-app.es.125322ac.js","assets/index.9253508f.js","assets/wode-000f24be.css"]).then((e=>xp(e.default||e))),dg=fo(Xh({loader:ug},Yh)),fg=()=>t((()=>import("./pages-fenzhen-fenzhen_paidui.e8f95210.js")),["assets/pages-fenzhen-fenzhen_paidui.e8f95210.js","assets/_plugin-vue_export-helper.1b428a4d.js","assets/uni-app.es.125322ac.js","assets/index.9253508f.js","assets/fenzhen_paidui-2e244828.css"]).then((e=>xp(e.default||e))),pg=fo(Xh({loader:fg},Yh)),hg=()=>t((()=>import("./pages-fenzhen-map.10943d67.js")),["assets/pages-fenzhen-map.10943d67.js","assets/uni-app.es.125322ac.js"]).then((e=>xp(e.default||e))),gg=fo(Xh({loader:hg},Yh));function mg(e,t){return Nr(),zr(Wh,null,{page:Mn((()=>[Gr(e,Xh({},t,{ref:"page"}),null,512)])),_:1})}window.__uniRoutes=[{path:"/",alias:"/pages/wxLogin",component:{setup(){const e=yp(),t=e&&e.$route&&e.$route.query||{};return()=>mg(Jh,t)}},loader:Gh,meta:{isQuit:!0,isEntry:!0,enablePullDownRefresh:!1,navigationBar:{titleText:"",type:"default"},isNVue:!1}},{path:"/pages/index/index",component:{setup(){const e=yp(),t=e&&e.$route&&e.$route.query||{};return()=>mg(Qh,t)}},loader:Zh,meta:{isQuit:!0,isTabBar:!0,tabBarIndex:0,navigationBar:{titleText:"会员管理",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/user/person_edit",component:{setup(){const e=yp(),t=e&&e.$route&&e.$route.query||{};return()=>mg(tg,t)}},loader:eg,meta:{enablePullDownRefresh:!1,navigationBar:{titleText:"用户信息",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/user/recharge",component:{setup(){const e=yp(),t=e&&e.$route&&e.$route.query||{};return()=>mg(og,t)}},loader:ng,meta:{enablePullDownRefresh:!1,navigationBar:{titleText:"充值",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/user/expend",component:{setup(){const e=yp(),t=e&&e.$route&&e.$route.query||{};return()=>mg(ig,t)}},loader:rg,meta:{enablePullDownRefresh:!1,navigationBar:{titleText:"收费",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/user/list",component:{setup(){const e=yp(),t=e&&e.$route&&e.$route.query||{};return()=>mg(sg,t)}},loader:ag,meta:{enablePullDownRefresh:!1,navigationBar:{titleText:"用户列表",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/login",component:{setup(){const e=yp(),t=e&&e.$route&&e.$route.query||{};return()=>mg(cg,t)}},loader:lg,meta:{enablePullDownRefresh:!1,navigationBar:{titleText:"",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/wode",component:{setup(){const e=yp(),t=e&&e.$route&&e.$route.query||{};return()=>mg(dg,t)}},loader:ug,meta:{isQuit:!0,isTabBar:!0,tabBarIndex:1,enablePullDownRefresh:!1,navigationBar:{titleText:"我的",style:"custom",type:"default"},isNVue:!1}},{path:"/pages/fenzhen/fenzhen_paidui",component:{setup(){const e=yp(),t=e&&e.$route&&e.$route.query||{};return()=>mg(pg,t)}},loader:fg,meta:{enablePullDownRefresh:!1,navigationBar:{titleText:"分诊信息",type:"default"},isNVue:!1}},{path:"/pages/fenzhen/map",component:{setup(){const e=yp(),t=e&&e.$route&&e.$route.query||{};return()=>mg(gg,t)}},loader:hg,meta:{enablePullDownRefresh:!1,navigationBar:{titleText:"",type:"default"},isNVue:!1}}].map((e=>(e.meta.route=(e.alias||e.path).slice(1),e)));const vg={onLaunch:function(){console.warn("当前组件仅支持 uni_modules 目录结构 ,请升级 HBuilderX 到 3.1.0 版本以上!"),console.log("App Launch")},onShow:function(){console.log("App Show")},onHide:function(){console.log("App Hide")}};wp(vg,{init:bp,setup(e){const t=jf(),n=()=>{var n;n=e,Object.keys(ud).forEach((e=>{ud[e].forEach((t=>{$o(e,t,n)}))}));const{onLaunch:o,onShow:r,onPageNotFound:i,onError:a}=e,s=function({path:e,query:t}){return c(Ad,{path:e,query:t}),c(Ld,Ad),c({},Ad)}({path:t.path.slice(1)||__uniRoutes[0].meta.route,query:we(t.query)});if(o&&j(o,s),r&&j(r,s),!t.matched.length){const e={notFound:!0,openType:"appLaunch",path:t.path,query:{},scene:1001};i&&j(i,e)}a&&(e.appContext.config.errorHandler=e=>{j(a,e)})};return qn(Qs).isReady().then(n),Lo((()=>{window.addEventListener("resize",Se(Cp,50,{setTimeout:setTimeout,clearTimeout:clearTimeout})),window.addEventListener("message",Sp),document.addEventListener("visibilitychange",kp),function(){let e=null;try{e=window.matchMedia("(prefers-color-scheme: dark)")}catch(t){}if(e){let t=e=>{Mh.emit("onThemeChange",{theme:e.matches?"dark":"light"})};e.addEventListener?e.addEventListener("change",t):e.addListener(t)}}()})),t.query},before(e){e.mpType="app";const{setup:t}=e,n=()=>(Nr(),zr(Fh));e.setup=(e,o)=>{const r=t&&t(e,o);return v(r)?n:r},e.render=n}}),Sa(vg).use(up).mount("#app");export{pf as A,Yn as B,nn as C,dh as D,xf as E,Pr as F,jd as G,Rd as H,sf as I,ld as J,Vo as K,_a as L,Ho as M,Np as N,Lo as O,jo as P,Yr as Q,Ch as R,Up as S,Sh as T,Ih as U,$o as V,li as W,ie as X,ae as Y,fi as Z,Zp as a,Xo as b,zr as c,ce as d,Zr as e,Qr as f,yf as g,Gp as h,Cf as i,Jp as j,Wo as k,Gr as l,Hd as m,ue as n,Nr as o,gf as p,Hr as q,on as r,eh as s,Y as t,Ko as u,sn as v,Mn as w,wh as x,hf as y,ru as z}; diff --git a/weihu/unpackage/dist/build/web/assets/index-3219eea9.css b/weihu/unpackage/dist/build/web/assets/index-3219eea9.css new file mode 100644 index 0000000..da18df7 --- /dev/null +++ b/weihu/unpackage/dist/build/web/assets/index-3219eea9.css @@ -0,0 +1 @@ +.uni-badge--x[data-v-414d462c]{display:inline-block;position:relative}.uni-badge--absolute[data-v-414d462c]{position:absolute}.uni-badge--small[data-v-414d462c]{transform:scale(.8);transform-origin:center center}.uni-badge[data-v-414d462c]{display:flex;overflow:hidden;box-sizing:border-box;font-feature-settings:"tnum";min-width:20px;justify-content:center;flex-direction:row;height:20px;padding:0 4px;line-height:18px;color:#fff;border-radius:100px;background-color:#8f939c;background-color:transparent;border:1px solid #fff;text-align:center;font-family:Helvetica Neue,Helvetica,sans-serif;font-size:12px;z-index:999;cursor:pointer}.uni-badge--info[data-v-414d462c]{color:#fff;background-color:#8f939c}.uni-badge--primary[data-v-414d462c]{background-color:#2979ff}.uni-badge--success[data-v-414d462c]{background-color:#18bc37}.uni-badge--warning[data-v-414d462c]{background-color:#f3a73f}.uni-badge--error[data-v-414d462c]{background-color:#e43d33}.uni-badge--inverted[data-v-414d462c]{padding:0 5px 0 0;color:#8f939c}.uni-badge--info-inverted[data-v-414d462c]{color:#8f939c;background-color:transparent}.uni-badge--primary-inverted[data-v-414d462c]{color:#2979ff;background-color:transparent}.uni-badge--success-inverted[data-v-414d462c]{color:#18bc37;background-color:transparent}.uni-badge--warning-inverted[data-v-414d462c]{color:#f3a73f;background-color:transparent}.uni-badge--error-inverted[data-v-414d462c]{color:#e43d33;background-color:transparent}.uni-list-item[data-v-0f950e05]{display:flex;font-size:16px;position:relative;justify-content:space-between;align-items:center;background-color:#fff;flex-direction:row;cursor:pointer}.uni-list-item--disabled[data-v-0f950e05]{opacity:.3}.uni-list-item--hover[data-v-0f950e05]{background-color:#f1f1f1}.uni-list-item__container[data-v-0f950e05]{position:relative;display:flex;flex-direction:row;padding:12px 15px;flex:1;overflow:hidden}.container--right[data-v-0f950e05]{padding-right:0}.uni-list--border[data-v-0f950e05]{position:absolute;top:0;right:0;left:0}.uni-list--border[data-v-0f950e05]:after{position:absolute;top:0;right:0;left:0;height:1px;content:"";transform:scaleY(.5);background-color:#e5e5e5}.uni-list-item__content[data-v-0f950e05]{display:flex;padding-right:8px;flex:1;color:#3b4144;flex-direction:column;justify-content:space-between;overflow:hidden}.uni-list-item__content--center[data-v-0f950e05]{justify-content:center}.uni-list-item__content-title[data-v-0f950e05]{font-size:14px;color:#3b4144;overflow:hidden}.uni-list-item__content-note[data-v-0f950e05]{margin-top:.1875rem;color:#999;font-size:12px;overflow:hidden}.uni-list-item__extra[data-v-0f950e05]{display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.uni-list-item__header[data-v-0f950e05]{display:flex;flex-direction:row;align-items:center}.uni-list-item__icon[data-v-0f950e05]{margin-right:.5625rem;flex-direction:row;justify-content:center;align-items:center}.uni-list-item__icon-img[data-v-0f950e05]{display:block;height:26px;width:26px;margin-right:10px}.uni-icon-wrapper[data-v-0f950e05]{display:flex;align-items:center;padding:0 10px}.flex--direction[data-v-0f950e05]{flex-direction:column;align-items:initial}.flex--justify[data-v-0f950e05]{justify-content:initial}.uni-list--lg[data-v-0f950e05]{height:40px;width:40px}.uni-list--base[data-v-0f950e05]{height:26px;width:26px}.uni-list--sm[data-v-0f950e05]{height:20px;width:20px}.uni-list-item__extra-text[data-v-0f950e05]{color:#999;font-size:12px}.uni-ellipsis-1[data-v-0f950e05]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.uni-ellipsis-2[data-v-0f950e05]{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.uni-list[data-v-c1d7c358]{display:flex;background-color:#fff;position:relative;flex-direction:column}.uni-list--border[data-v-c1d7c358]{position:relative;z-index:-1}.uni-list--border-top[data-v-c1d7c358]{position:absolute;top:0;right:0;left:0;height:1px;transform:scaleY(.5);background-color:#e5e5e5;z-index:1}.uni-list--border-bottom[data-v-c1d7c358]{position:absolute;bottom:0;right:0;left:0;height:1px;transform:scaleY(.5);background-color:#e5e5e5}.container[data-v-6e30814a]{padding:.625rem;background-color:#fff}.top[data-v-6e30814a]{display:flex;justify-content:space-around}.top_left[data-v-6e30814a]{border:.03125rem solid #ccc;width:7.5rem;padding:1.25rem;border-radius:.625rem;height:12.5rem;font-size:1.5625rem;font-weight:700;background-color:#26ced0;color:#fff}.top_right[data-v-6e30814a]{font-size:1.25rem}.top_right1[data-v-6e30814a]{border:.03125rem solid #ccc;width:7.5rem;padding:1.25rem;border-radius:.625rem;height:4.53125rem;font-weight:700;background-color:#00bbf9;color:#fff}.top_right2[data-v-6e30814a]{border:.03125rem solid #ccc;width:7.5rem;padding:1.25rem;border-radius:.625rem;margin-top:.875rem;height:4.53125rem;font-weight:700;background-color:#ff8a5b;color:#fff}.title[data-v-6e30814a]{font-size:1.09375rem;font-weight:700;margin-top:.3125rem;margin-bottom:.5625rem;color:#00bbf9;display:flex}.bottom[data-v-6e30814a]{height:calc(100vh - 22.5rem);overflow:scroll} diff --git a/weihu/unpackage/dist/build/web/assets/index-533083b3.css b/weihu/unpackage/dist/build/web/assets/index-533083b3.css new file mode 100644 index 0000000..a4bc394 --- /dev/null +++ b/weihu/unpackage/dist/build/web/assets/index-533083b3.css @@ -0,0 +1 @@ +*{margin:0;-webkit-tap-highlight-color:transparent}html,body{-webkit-user-select:none;user-select:none;width:100%;height:100%}body{overflow-x:hidden;font-size:16px}uni-app,uni-page,uni-page-wrapper,uni-page-body{display:block;box-sizing:border-box;width:100%}uni-page-wrapper{position:relative}#app,uni-app,uni-page,uni-page-wrapper{height:100%}.uni-mask{position:fixed;z-index:999;top:0;right:0;left:0;bottom:0;background:rgba(0,0,0,.5)}.uni-fade-enter-active,.uni-fade-leave-active{transition-duration:.25s;transition-property:opacity;transition-timing-function:ease}.uni-fade-enter-from,.uni-fade-leave-active{opacity:0}.uni-loading,uni-button[loading]:before{background-color:transparent;background-image:url(data:image/svg+xml;base64,\ PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=);background-repeat:no-repeat}.uni-loading{width:20px;height:20px;display:inline-block;vertical-align:middle;animation:uni-loading 1s steps(12,end) infinite;background-size:100%}@keyframes uni-loading{0%{transform:rotate3d(0,0,1,0)}to{transform:rotate3d(0,0,1,360deg)}}html{--primary-color: #007aff;--UI-BG: #fff;--UI-BG-1: #f7f7f7;--UI-BG-2: #fff;--UI-BG-3: #f7f7f7;--UI-BG-4: #4c4c4c;--UI-BG-5: #fff;--UI-FG: #000;--UI-FG-0: rgba(0, 0, 0, .9);--UI-FG-HALF: rgba(0, 0, 0, .9);--UI-FG-1: rgba(0, 0, 0, .5);--UI-FG-2: rgba(0, 0, 0, .3);--UI-FG-3: rgba(0, 0, 0, .1)}body:after{position:fixed;content:"";left:-1000px;top:-1000px;animation:shadow-preload .1s;animation-delay:3s}@keyframes shadow-preload{0%{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}to{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}}.uni-async-error{position:absolute;left:0;right:0;top:0;bottom:0;color:#999;padding:100px 10px;text-align:center}.uni-async-loading{box-sizing:border-box;width:100%;padding:50px;text-align:center}.uni-async-loading .uni-loading{width:30px;height:30px}uni-page-head{display:block;box-sizing:border-box}.uni-page-head{position:fixed;left:var(--window-left);right:var(--window-right);height:44px;height:calc(44px + constant(safe-area-inset-top));height:calc(44px + env(safe-area-inset-top));padding:7px 3px;padding-top:calc(7px + constant(safe-area-inset-top));padding-top:calc(7px + env(safe-area-inset-top));display:flex;overflow:hidden;justify-content:space-between;box-sizing:border-box;z-index:998;color:#fff;background-color:#000;transition-property:all}.uni-page-head *{box-sizing:border-box}.uni-page-head .uni-btn-icon{overflow:hidden;min-width:1em;font-style:normal}.uni-page-head-titlePenetrate,.uni-page-head-titlePenetrate .uni-page-head-bd,.uni-page-head-titlePenetrate .uni-page-head-bd *{pointer-events:none}.uni-page-head-titlePenetrate *{pointer-events:auto}.uni-page-head.uni-page-head-transparent .uni-page-head-ft>div{justify-content:center}.uni-page-head~.uni-placeholder{width:100%;height:44px;height:calc(44px + constant(safe-area-inset-top));height:calc(44px + env(safe-area-inset-top))}.uni-placeholder-titlePenetrate{pointer-events:none}.uni-page-head-hd{display:flex;align-items:center;font-size:16px}.uni-page-head-bd{position:absolute;left:70px;right:70px;min-width:0;-webkit-user-select:auto;user-select:auto}.uni-page-head-btn{position:relative;width:auto;margin:0 2px;word-break:keep-all;white-space:pre;cursor:pointer;font-size:0px}.uni-page-head-transparent .uni-page-head-btn{display:flex;align-items:center;width:32px;height:32px;border-radius:50%;background-color:rgba(0,0,0,.5)}.uni-page-head-btn-red-dot:after{content:attr(badge-text);position:absolute;right:0;top:0;background-color:red;color:#fff;width:18px;height:18px;line-height:18px;border-radius:18px;overflow:hidden;transform:scale(.5) translate(40%,-40%);transform-origin:100% 0}.uni-page-head-btn-red-dot[badge-text]:after{font-size:12px;width:auto;min-width:18px;max-width:42px;text-align:center;padding:0 3px;transform:scale(.7) translate(40%,-40%)}.uni-page-head-btn-select svg{vertical-align:middle;margin-left:2px;transform:rotate(270deg) scale(.8)}.uni-page-head-search{position:relative;display:flex;flex:1;margin:0 2px;line-height:30px;font-size:15px}.uni-page-head-search-input{width:100%;height:100%;padding-left:34px;text-align:left}.uni-page-head-search-placeholder{position:absolute;max-width:100%;height:100%;padding-left:34px;overflow:hidden;word-break:keep-all;white-space:pre}.uni-page-head-search-placeholder-right{right:0}.uni-page-head-search-placeholder-center{left:50%;transform:translate(-50%)}.uni-page-head-search-icon{position:absolute;top:0;left:2px;width:30px;height:30px;display:flex;justify-content:center;align-items:center}.uni-page-head-ft{display:flex;align-items:center;flex-direction:row-reverse;font-size:13px}.uni-page-head__title{font-weight:700;font-size:16px;line-height:30px;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.uni-page-head__title .uni-loading{width:16px;height:16px;margin-top:-3px}.uni-page-head__title .uni-page-head__title_image{width:auto;height:26px;vertical-align:middle}.uni-page-head-shadow{overflow:visible}.uni-page-head-shadow:after{content:"";position:absolute;left:0;right:0;top:100%;height:5px;background-size:100% 100%}.uni-page-head-shadow-grey:after{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}.uni-page-head-shadow-blue:after{background-image:url(https://cdn.dcloud.net.cn/img/shadow-blue.png)}.uni-page-head-shadow-green:after{background-image:url(https://cdn.dcloud.net.cn/img/shadow-green.png)}.uni-page-head-shadow-orange:after{background-image:url(https://cdn.dcloud.net.cn/img/shadow-orange.png)}.uni-page-head-shadow-red:after{background-image:url(https://cdn.dcloud.net.cn/img/shadow-red.png)}.uni-page-head-shadow-yellow:after{background-image:url(https://cdn.dcloud.net.cn/img/shadow-yellow.png)}uni-page-head[uni-page-head-type=default]~uni-page-wrapper{height:calc(100% - 44px);height:calc(100% - 44px - constant(safe-area-inset-top));height:calc(100% - 44px - env(safe-area-inset-top))}uni-tabbar{display:block;box-sizing:border-box;width:100%;z-index:998}.uni-tabbar{display:flex;z-index:998;box-sizing:border-box}.uni-tabbar-top,.uni-tabbar-bottom,.uni-tabbar-top .uni-tabbar,.uni-tabbar-bottom .uni-tabbar{position:fixed;left:var(--window-left);right:var(--window-right)}.uni-app--showlayout+.uni-tabbar-top,.uni-app--showlayout+.uni-tabbar-bottom,.uni-app--showlayout+.uni-tabbar-top .uni-tabbar,.uni-app--showlayout+.uni-tabbar-bottom .uni-tabbar{left:var(--window-margin);right:var(--window-margin)}.uni-tabbar-bottom .uni-tabbar{bottom:0;padding-bottom:0;padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.uni-tabbar~.uni-placeholder{width:100%;margin-bottom:0;margin-bottom:constant(safe-area-inset-bottom);margin-bottom:env(safe-area-inset-bottom)}.uni-tabbar *{box-sizing:border-box}.uni-tabbar__item{display:flex;justify-content:center;align-items:center;flex-direction:column;flex:1;font-size:0;text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}.uni-tabbar__bd{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.uni-tabbar__icon{position:relative;display:inline-block;margin-top:5px}.uni-tabbar__icon.uni-tabbar__icon__diff{margin-top:0;width:34px;height:34px}.uni-tabbar__icon img{width:100%;height:100%}.uni-tabbar__iconfont{font-family:UniTabbarIconFont}.uni-tabbar__label{position:relative;text-align:center;font-size:10px}.uni-tabbar-border{position:absolute;left:0;top:0;width:100%;height:1px;transform:scaleY(.5)}.uni-tabbar__reddot{position:absolute;top:2px;right:0;width:12px;height:12px;border-radius:50%;background-color:#f43530;color:#fff;transform:translate(40%)}.uni-tabbar__badge{width:auto;height:16px;line-height:16px;border-radius:16px;min-width:16px;padding:0 2px;font-size:12px;text-align:center;white-space:nowrap}.uni-tabbar__mid{display:flex;justify-content:center;position:absolute;bottom:0;background-size:100% 100%}.uni-app--showtabbar uni-page-wrapper{display:block;height:calc(100% - var(--tab-bar-height));height:calc(100% - var(--tab-bar-height) - constant(safe-area-inset-bottom));height:calc(100% - var(--tab-bar-height) - env(safe-area-inset-bottom))}.uni-app--showtabbar uni-page-wrapper:after{content:"";display:block;width:100%;height:var(--tab-bar-height);height:calc(var(--tab-bar-height) + constant(safe-area-inset-bottom));height:calc(var(--tab-bar-height) + env(safe-area-inset-bottom))}.uni-app--showtabbar uni-page-head[uni-page-head-type=default]~uni-page-wrapper{height:calc(100% - 44px - var(--tab-bar-height));height:calc(100% - 44px - constant(safe-area-inset-top) - var(--tab-bar-height) - constant(safe-area-inset-bottom));height:calc(100% - 44px - env(safe-area-inset-top) - var(--tab-bar-height) - env(safe-area-inset-bottom))}@font-face{font-family:customicons;src:url(data:font/ttf;base64,AAEAAAALAIAAAwAwR1NVQiCLJXoAAAE4AAAAVE9TLzI8I0jgAAABjAAAAGBjbWFw5z1ORQAAAfwAAAGMZ2x5Zs/nNUwAAAOUAAADIGhlYWQeR7tDAAAA4AAAADZoaGVhB98DhAAAALwAAAAkaG10eBAA//8AAAHsAAAAEGxvY2ECNgD+AAADiAAAAAptYXhwARMAggAAARgAAAAgbmFtZRCjPLAAAAa0AAACZ3Bvc3TnMbsgAAAJHAAAAFMAAQAAA4D/gABcBAD/////BAEAAQAAAAAAAAAAAAAAAAAAAAQAAQAAAAEAANQSxR1fDzz1AAsEAAAAAADdlDuhAAAAAN2UO6H///+VBAEDbwAAAAgAAgAAAAAAAAABAAAABAB2AAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKADAAPgACREZMVAAObGF0bgAaAAQAAAAAAAAAAQAAAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAQEAAGQAAUAAAKJAswAAACPAokCzAAAAesAMgEIAAACAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBmRWQAwOYO5hADgP+AAAAD3ACAAAAAAQAAAAAAAAAAAAAAAAACBAAAAAQA//8EAAAABAAAAAAAAAUAAAADAAAALAAAAAQAAAFYAAEAAAAAAFIAAwABAAAALAADAAoAAAFYAAQAJgAAAAQABAABAADmEP//AADmDv//AAAAAQAEAAAAAQACAAMAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAADQAAAAAAAAAAwAA5g4AAOYOAAAAAQAA5g8AAOYPAAAAAgAA5hAAAOYQAAAAAwAAAAAApgD+AZAAAAAF////1QQBAysAHgBFAGMAbAB1AAABMhcWFxYVERQOASMmJyYnBgcGByIuATURNDc2NzYzJSEiDgIVERQeAjMyNzY3Njc2MhcWFxYXFjMyPgI1ETQnJicmASM1NCYiBh0BIyIGFBY7ARUUFjI2PQEzMj4BNC4BISIGFBYyNjQmIyIGFBYyNjQmAoBRRkMoKSM7IjkxWmdnWjE5IjsjKShDRlEBAP8ATI5sOiA8TyonJxcrLBoqVioaLCsXJycqTzwgNDNXWv7DQBkkGUARGRkRQBkkGUALFAsLFAFqFh8fLB8fwRYfHywgIALVKChERVH/ACM7IgMdMwICMx0DIjsjAQBRRUQoKFY7bI1M/wArTjwhDQgVFggODggWFQgNITxOKwEAaFlXMzX+gEARGRkRQBkkGUARGRkRQAwUFhQMICwfHywgICwfHywgAAMAAP+wA/EDUQAYAC4AOgAABSEiLgE1ETQ+ATsBMhcWFyEyHgEVERQOAQEjIgYVERQWMyEyNjURNCYjISInLgEBISImNDYzITIWFAYDQP2AMFEvL1EwIC1QN0ABbDBRLy9R/XAgIS8vIQKAIS8vIf6AFA44cwLN/IAUHBwUA4AUHBxQL1EwAkAwUS87KD0vUTD+YDBRLwNALyH9wCEvLyEBoCEvDjhY/oIcKBwcKBwABQAA/5UD6wNvABQANABCAFMAYAAAASIuATY/AScuAT4CFh8BFhQPAQYBIi4CNzY3Njc2NzYzMh4BFA4BIyIHBgcGBwYHDgITAREUBiMhIiY1ETQ2MyUhIg4BFREUHgEzITI+ATURBzIWHQEUBiImPQE0NgNVDRUKBQlNTQkHBhEXFghrDAxrDP4ECxIMAwQKGS8/WG2HoAsUDAwUC3JjVUk6MCMaDwkWZQGOMiT9qyMyMiMBQP7ALk8uLk8uAlUvTi7AEhkZJBkZAj8OGBkJTk4IFhcRBQcIawwkDGsN/sAKERUJHC1WRmM5RgsUFxQLKSNAMkMwMx4aDwHr/nL+4yMyMiMCVSQyVS5OL/2rLk8uLk8uAUBVGRKrERkZEasSGQAAAAAAEgDeAAEAAAAAAAAAEwAAAAEAAAAAAAEACAATAAEAAAAAAAIABwAbAAEAAAAAAAMACAAiAAEAAAAAAAQACAAqAAEAAAAAAAUACwAyAAEAAAAAAAYACAA9AAEAAAAAAAoAKwBFAAEAAAAAAAsAEwBwAAMAAQQJAAAAJgCDAAMAAQQJAAEAEACpAAMAAQQJAAIADgC5AAMAAQQJAAMAEADHAAMAAQQJAAQAEADXAAMAAQQJAAUAFgDnAAMAAQQJAAYAEAD9AAMAAQQJAAoAVgENAAMAAQQJAAsAJgFjQ3JlYXRlZCBieSBpY29uZm9udGljb25mb250UmVndWxhcmljb25mb250aWNvbmZvbnRWZXJzaW9uIDEuMGljb25mb250R2VuZXJhdGVkIGJ5IHN2ZzJ0dGYgZnJvbSBGb250ZWxsbyBwcm9qZWN0Lmh0dHA6Ly9mb250ZWxsby5jb20AQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdABpAGMAbwBuAGYAbwBuAHQAUgBlAGcAdQBsAGEAcgBpAGMAbwBuAGYAbwBuAHQAaQBjAG8AbgBmAG8AbgB0AFYAZQByAHMAaQBvAG4AIAAxAC4AMABpAGMAbwBuAGYAbwBuAHQARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAgEDAQQBBQAKYS0yLTN5b3V4aQ1hLTQtMTB3ZW5qaWFuDGEtMi0yemh1YW5mYQAAAA==) format("truetype")}.customicons{font-family:customicons!important}.youxi:before{content:""}.wenjian:before{content:""}.zhuanfa:before{content:""}.uni-border{border:1px #F0F0F0 solid}.uni-primary{color:#2979ff}.uni-primary-bg{background-color:#2979ff}.uni-primary-disable{color:#94bcff}.uni-primary-disable-bg{background-color:#94bcff}.uni-primary-light{color:#d4e4ff}.uni-primary-light-bg{background-color:#d4e4ff}.uni-success{color:#18bc37}.uni-success-bg{background-color:#18bc37}.uni-success-disable{color:#8cde9b}.uni-success-disable-bg{background-color:#8cde9b}.uni-success-light{color:#d1f2d7}.uni-success-light-bg{background-color:#d1f2d7}.uni-warning{color:#f3a73f}.uni-warning-bg{background-color:#f3a73f}.uni-warning-disable{color:#f9d39f}.uni-warning-disable-bg{background-color:#f9d39f}.uni-warning-light{color:#fdedd9}.uni-warning-light-bg{background-color:#fdedd9}.uni-error{color:#e43d33}.uni-error-bg{background-color:#e43d33}.uni-error-disable{color:#f29e99}.uni-error-disable-bg{background-color:#f29e99}.uni-error-light{color:#fad8d6}.uni-error-light-bg{background-color:#fad8d6}.uni-info{color:#8f939c}.uni-info-bg{background-color:#8f939c}.uni-info-disable{color:#c7c9ce}.uni-info-disable-bg{background-color:#c7c9ce}.uni-info-light{color:#e9e9eb}.uni-info-light-bg{background-color:#e9e9eb}.uni-main-color{color:#3a3a3a}.uni-main-color-bg{background-color:#3a3a3a}.uni-base-color{color:#6a6a6a}.uni-base-color-bg{background-color:#6a6a6a}.uni-secondary-color{color:#909399}.uni-secondary-color-bg{background-color:#909399}.uni-extra-color{color:#c7c7c7}.uni-extra-color-bg{background-color:#c7c7c7}.uni-bg-color{color:#f7f7f7}.uni-bg-color-bg{background-color:#f7f7f7}.uni-border-1{color:#f0f0f0}.uni-border-1-bg{background-color:#f0f0f0}.uni-border-2{color:#ededed}.uni-border-2-bg{background-color:#ededed}.uni-border-3{color:#dcdcdc}.uni-border-3-bg{background-color:#dcdcdc}.uni-border-4{color:#b9b9b9}.uni-border-4-bg{background-color:#b9b9b9}.uni-black{color:#000}.uni-black-bg{background-color:#000}.uni-white{color:#fff}.uni-white-bg{background-color:#fff}.uni-transparent{color:rgba(0,0,0,0)}.uni-transparent-bg{background-color:rgba(0,0,0,0)}.uni-shadow-sm{box-shadow:0 0 5px rgba(216,216,216,.5)}.uni-shadow-base{box-shadow:0 1px 8px 1px rgba(165,165,165,.2)}.uni-shadow-lg{box-shadow:0 1px 10px 2px rgba(165,164,164,.5)}.uni-mask{background-color:rgba(0,0,0,.4)}.uni-mt-0,.uni-mt-n0{margin-top:0}.uni-mr-0,.uni-mr-n0{margin-right:0}.uni-mb-0,.uni-mb-n0{margin-bottom:0}.uni-ml-0,.uni-ml-n0{margin-left:0}.uni-mx-0,.uni-mx-n0{margin-left:0;margin-right:0}.uni-my-0,.uni-my-n0{margin-top:0;margin-bottom:0}.uni-ma-0,.uni-ma-n0{margin:0}.uni-mt-1{margin-top:2px}.uni-mt-n1{margin-top:-2px}.uni-mr-1{margin-right:2px}.uni-mr-n1{margin-right:-2px}.uni-mb-1{margin-bottom:2px}.uni-mb-n1{margin-bottom:-2px}.uni-ml-1{margin-left:2px}.uni-ml-n1{margin-left:-2px}.uni-mx-1{margin-left:2px;margin-right:2px}.uni-mx-n1{margin-left:-2px;margin-right:-2px}.uni-my-1{margin-top:2px;margin-bottom:2px}.uni-my-n1{margin-top:-2px;margin-bottom:-2px}.uni-ma-1{margin:2px}.uni-ma-n1{margin:-2px}.uni-mt-2{margin-top:4px}.uni-mt-n2{margin-top:-4px}.uni-mr-2{margin-right:4px}.uni-mr-n2{margin-right:-4px}.uni-mb-2{margin-bottom:4px}.uni-mb-n2{margin-bottom:-4px}.uni-ml-2{margin-left:4px}.uni-ml-n2{margin-left:-4px}.uni-mx-2{margin-left:4px;margin-right:4px}.uni-mx-n2{margin-left:-4px;margin-right:-4px}.uni-my-2{margin-top:4px;margin-bottom:4px}.uni-my-n2{margin-top:-4px;margin-bottom:-4px}.uni-ma-2{margin:4px}.uni-ma-n2{margin:-4px}.uni-mt-3{margin-top:6px}.uni-mt-n3{margin-top:-6px}.uni-mr-3{margin-right:6px}.uni-mr-n3{margin-right:-6px}.uni-mb-3{margin-bottom:6px}.uni-mb-n3{margin-bottom:-6px}.uni-ml-3{margin-left:6px}.uni-ml-n3{margin-left:-6px}.uni-mx-3{margin-left:6px;margin-right:6px}.uni-mx-n3{margin-left:-6px;margin-right:-6px}.uni-my-3{margin-top:6px;margin-bottom:6px}.uni-my-n3{margin-top:-6px;margin-bottom:-6px}.uni-ma-3{margin:6px}.uni-ma-n3{margin:-6px}.uni-mt-4{margin-top:8px}.uni-mt-n4{margin-top:-8px}.uni-mr-4{margin-right:8px}.uni-mr-n4{margin-right:-8px}.uni-mb-4{margin-bottom:8px}.uni-mb-n4{margin-bottom:-8px}.uni-ml-4{margin-left:8px}.uni-ml-n4{margin-left:-8px}.uni-mx-4{margin-left:8px;margin-right:8px}.uni-mx-n4{margin-left:-8px;margin-right:-8px}.uni-my-4{margin-top:8px;margin-bottom:8px}.uni-my-n4{margin-top:-8px;margin-bottom:-8px}.uni-ma-4{margin:8px}.uni-ma-n4{margin:-8px}.uni-mt-5{margin-top:10px}.uni-mt-n5{margin-top:-10px}.uni-mr-5{margin-right:10px}.uni-mr-n5{margin-right:-10px}.uni-mb-5{margin-bottom:10px}.uni-mb-n5{margin-bottom:-10px}.uni-ml-5{margin-left:10px}.uni-ml-n5{margin-left:-10px}.uni-mx-5{margin-left:10px;margin-right:10px}.uni-mx-n5{margin-left:-10px;margin-right:-10px}.uni-my-5{margin-top:10px;margin-bottom:10px}.uni-my-n5{margin-top:-10px;margin-bottom:-10px}.uni-ma-5{margin:10px}.uni-ma-n5{margin:-10px}.uni-mt-6{margin-top:12px}.uni-mt-n6{margin-top:-12px}.uni-mr-6{margin-right:12px}.uni-mr-n6{margin-right:-12px}.uni-mb-6{margin-bottom:12px}.uni-mb-n6{margin-bottom:-12px}.uni-ml-6{margin-left:12px}.uni-ml-n6{margin-left:-12px}.uni-mx-6{margin-left:12px;margin-right:12px}.uni-mx-n6{margin-left:-12px;margin-right:-12px}.uni-my-6{margin-top:12px;margin-bottom:12px}.uni-my-n6{margin-top:-12px;margin-bottom:-12px}.uni-ma-6{margin:12px}.uni-ma-n6{margin:-12px}.uni-mt-7{margin-top:14px}.uni-mt-n7{margin-top:-14px}.uni-mr-7{margin-right:14px}.uni-mr-n7{margin-right:-14px}.uni-mb-7{margin-bottom:14px}.uni-mb-n7{margin-bottom:-14px}.uni-ml-7{margin-left:14px}.uni-ml-n7{margin-left:-14px}.uni-mx-7{margin-left:14px;margin-right:14px}.uni-mx-n7{margin-left:-14px;margin-right:-14px}.uni-my-7{margin-top:14px;margin-bottom:14px}.uni-my-n7{margin-top:-14px;margin-bottom:-14px}.uni-ma-7{margin:14px}.uni-ma-n7{margin:-14px}.uni-mt-8{margin-top:16px}.uni-mt-n8{margin-top:-16px}.uni-mr-8{margin-right:16px}.uni-mr-n8{margin-right:-16px}.uni-mb-8{margin-bottom:16px}.uni-mb-n8{margin-bottom:-16px}.uni-ml-8{margin-left:16px}.uni-ml-n8{margin-left:-16px}.uni-mx-8{margin-left:16px;margin-right:16px}.uni-mx-n8{margin-left:-16px;margin-right:-16px}.uni-my-8{margin-top:16px;margin-bottom:16px}.uni-my-n8{margin-top:-16px;margin-bottom:-16px}.uni-ma-8{margin:16px}.uni-ma-n8{margin:-16px}.uni-mt-9{margin-top:18px}.uni-mt-n9{margin-top:-18px}.uni-mr-9{margin-right:18px}.uni-mr-n9{margin-right:-18px}.uni-mb-9{margin-bottom:18px}.uni-mb-n9{margin-bottom:-18px}.uni-ml-9{margin-left:18px}.uni-ml-n9{margin-left:-18px}.uni-mx-9{margin-left:18px;margin-right:18px}.uni-mx-n9{margin-left:-18px;margin-right:-18px}.uni-my-9{margin-top:18px;margin-bottom:18px}.uni-my-n9{margin-top:-18px;margin-bottom:-18px}.uni-ma-9{margin:18px}.uni-ma-n9{margin:-18px}.uni-mt-10{margin-top:20px}.uni-mt-n10{margin-top:-20px}.uni-mr-10{margin-right:20px}.uni-mr-n10{margin-right:-20px}.uni-mb-10{margin-bottom:20px}.uni-mb-n10{margin-bottom:-20px}.uni-ml-10{margin-left:20px}.uni-ml-n10{margin-left:-20px}.uni-mx-10{margin-left:20px;margin-right:20px}.uni-mx-n10{margin-left:-20px;margin-right:-20px}.uni-my-10{margin-top:20px;margin-bottom:20px}.uni-my-n10{margin-top:-20px;margin-bottom:-20px}.uni-ma-10{margin:20px}.uni-ma-n10{margin:-20px}.uni-mt-11{margin-top:22px}.uni-mt-n11{margin-top:-22px}.uni-mr-11{margin-right:22px}.uni-mr-n11{margin-right:-22px}.uni-mb-11{margin-bottom:22px}.uni-mb-n11{margin-bottom:-22px}.uni-ml-11{margin-left:22px}.uni-ml-n11{margin-left:-22px}.uni-mx-11{margin-left:22px;margin-right:22px}.uni-mx-n11{margin-left:-22px;margin-right:-22px}.uni-my-11{margin-top:22px;margin-bottom:22px}.uni-my-n11{margin-top:-22px;margin-bottom:-22px}.uni-ma-11{margin:22px}.uni-ma-n11{margin:-22px}.uni-mt-12{margin-top:24px}.uni-mt-n12{margin-top:-24px}.uni-mr-12{margin-right:24px}.uni-mr-n12{margin-right:-24px}.uni-mb-12{margin-bottom:24px}.uni-mb-n12{margin-bottom:-24px}.uni-ml-12{margin-left:24px}.uni-ml-n12{margin-left:-24px}.uni-mx-12{margin-left:24px;margin-right:24px}.uni-mx-n12{margin-left:-24px;margin-right:-24px}.uni-my-12{margin-top:24px;margin-bottom:24px}.uni-my-n12{margin-top:-24px;margin-bottom:-24px}.uni-ma-12{margin:24px}.uni-ma-n12{margin:-24px}.uni-mt-13{margin-top:26px}.uni-mt-n13{margin-top:-26px}.uni-mr-13{margin-right:26px}.uni-mr-n13{margin-right:-26px}.uni-mb-13{margin-bottom:26px}.uni-mb-n13{margin-bottom:-26px}.uni-ml-13{margin-left:26px}.uni-ml-n13{margin-left:-26px}.uni-mx-13{margin-left:26px;margin-right:26px}.uni-mx-n13{margin-left:-26px;margin-right:-26px}.uni-my-13{margin-top:26px;margin-bottom:26px}.uni-my-n13{margin-top:-26px;margin-bottom:-26px}.uni-ma-13{margin:26px}.uni-ma-n13{margin:-26px}.uni-mt-14{margin-top:28px}.uni-mt-n14{margin-top:-28px}.uni-mr-14{margin-right:28px}.uni-mr-n14{margin-right:-28px}.uni-mb-14{margin-bottom:28px}.uni-mb-n14{margin-bottom:-28px}.uni-ml-14{margin-left:28px}.uni-ml-n14{margin-left:-28px}.uni-mx-14{margin-left:28px;margin-right:28px}.uni-mx-n14{margin-left:-28px;margin-right:-28px}.uni-my-14{margin-top:28px;margin-bottom:28px}.uni-my-n14{margin-top:-28px;margin-bottom:-28px}.uni-ma-14{margin:28px}.uni-ma-n14{margin:-28px}.uni-mt-15{margin-top:30px}.uni-mt-n15{margin-top:-30px}.uni-mr-15{margin-right:30px}.uni-mr-n15{margin-right:-30px}.uni-mb-15{margin-bottom:30px}.uni-mb-n15{margin-bottom:-30px}.uni-ml-15{margin-left:30px}.uni-ml-n15{margin-left:-30px}.uni-mx-15{margin-left:30px;margin-right:30px}.uni-mx-n15{margin-left:-30px;margin-right:-30px}.uni-my-15{margin-top:30px;margin-bottom:30px}.uni-my-n15{margin-top:-30px;margin-bottom:-30px}.uni-ma-15{margin:30px}.uni-ma-n15{margin:-30px}.uni-mt-16{margin-top:32px}.uni-mt-n16{margin-top:-32px}.uni-mr-16{margin-right:32px}.uni-mr-n16{margin-right:-32px}.uni-mb-16{margin-bottom:32px}.uni-mb-n16{margin-bottom:-32px}.uni-ml-16{margin-left:32px}.uni-ml-n16{margin-left:-32px}.uni-mx-16{margin-left:32px;margin-right:32px}.uni-mx-n16{margin-left:-32px;margin-right:-32px}.uni-my-16{margin-top:32px;margin-bottom:32px}.uni-my-n16{margin-top:-32px;margin-bottom:-32px}.uni-ma-16{margin:32px}.uni-ma-n16{margin:-32px}.uni-pt-0,.uni-pt-n0{padding-top:0}.uni-pr-0,.uni-pr-n0{padding-right:0}.uni-pb-0,.uni-pb-n0{padding-bottom:0}.uni-pl-0,.uni-pl-n0{padding-left:0}.uni-px-0,.uni-px-n0{padding-left:0;padding-right:0}.uni-py-0,.uni-py-n0{padding-top:0;padding-bottom:0}.uni-pa-0,.uni-pa-n0{padding:0}.uni-pt-1{padding-top:2px}.uni-pt-n1{padding-top:-2px}.uni-pr-1{padding-right:2px}.uni-pr-n1{padding-right:-2px}.uni-pb-1{padding-bottom:2px}.uni-pb-n1{padding-bottom:-2px}.uni-pl-1{padding-left:2px}.uni-pl-n1{padding-left:-2px}.uni-px-1{padding-left:2px;padding-right:2px}.uni-px-n1{padding-left:-2px;padding-right:-2px}.uni-py-1{padding-top:2px;padding-bottom:2px}.uni-py-n1{padding-top:-2px;padding-bottom:-2px}.uni-pa-1{padding:2px}.uni-pa-n1{padding:-2px}.uni-pt-2{padding-top:4px}.uni-pt-n2{padding-top:-4px}.uni-pr-2{padding-right:4px}.uni-pr-n2{padding-right:-4px}.uni-pb-2{padding-bottom:4px}.uni-pb-n2{padding-bottom:-4px}.uni-pl-2{padding-left:4px}.uni-pl-n2{padding-left:-4px}.uni-px-2{padding-left:4px;padding-right:4px}.uni-px-n2{padding-left:-4px;padding-right:-4px}.uni-py-2{padding-top:4px;padding-bottom:4px}.uni-py-n2{padding-top:-4px;padding-bottom:-4px}.uni-pa-2{padding:4px}.uni-pa-n2{padding:-4px}.uni-pt-3{padding-top:6px}.uni-pt-n3{padding-top:-6px}.uni-pr-3{padding-right:6px}.uni-pr-n3{padding-right:-6px}.uni-pb-3{padding-bottom:6px}.uni-pb-n3{padding-bottom:-6px}.uni-pl-3{padding-left:6px}.uni-pl-n3{padding-left:-6px}.uni-px-3{padding-left:6px;padding-right:6px}.uni-px-n3{padding-left:-6px;padding-right:-6px}.uni-py-3{padding-top:6px;padding-bottom:6px}.uni-py-n3{padding-top:-6px;padding-bottom:-6px}.uni-pa-3{padding:6px}.uni-pa-n3{padding:-6px}.uni-pt-4{padding-top:8px}.uni-pt-n4{padding-top:-8px}.uni-pr-4{padding-right:8px}.uni-pr-n4{padding-right:-8px}.uni-pb-4{padding-bottom:8px}.uni-pb-n4{padding-bottom:-8px}.uni-pl-4{padding-left:8px}.uni-pl-n4{padding-left:-8px}.uni-px-4{padding-left:8px;padding-right:8px}.uni-px-n4{padding-left:-8px;padding-right:-8px}.uni-py-4{padding-top:8px;padding-bottom:8px}.uni-py-n4{padding-top:-8px;padding-bottom:-8px}.uni-pa-4{padding:8px}.uni-pa-n4{padding:-8px}.uni-pt-5{padding-top:10px}.uni-pt-n5{padding-top:-10px}.uni-pr-5{padding-right:10px}.uni-pr-n5{padding-right:-10px}.uni-pb-5{padding-bottom:10px}.uni-pb-n5{padding-bottom:-10px}.uni-pl-5{padding-left:10px}.uni-pl-n5{padding-left:-10px}.uni-px-5{padding-left:10px;padding-right:10px}.uni-px-n5{padding-left:-10px;padding-right:-10px}.uni-py-5{padding-top:10px;padding-bottom:10px}.uni-py-n5{padding-top:-10px;padding-bottom:-10px}.uni-pa-5{padding:10px}.uni-pa-n5{padding:-10px}.uni-pt-6{padding-top:12px}.uni-pt-n6{padding-top:-12px}.uni-pr-6{padding-right:12px}.uni-pr-n6{padding-right:-12px}.uni-pb-6{padding-bottom:12px}.uni-pb-n6{padding-bottom:-12px}.uni-pl-6{padding-left:12px}.uni-pl-n6{padding-left:-12px}.uni-px-6{padding-left:12px;padding-right:12px}.uni-px-n6{padding-left:-12px;padding-right:-12px}.uni-py-6{padding-top:12px;padding-bottom:12px}.uni-py-n6{padding-top:-12px;padding-bottom:-12px}.uni-pa-6{padding:12px}.uni-pa-n6{padding:-12px}.uni-pt-7{padding-top:14px}.uni-pt-n7{padding-top:-14px}.uni-pr-7{padding-right:14px}.uni-pr-n7{padding-right:-14px}.uni-pb-7{padding-bottom:14px}.uni-pb-n7{padding-bottom:-14px}.uni-pl-7{padding-left:14px}.uni-pl-n7{padding-left:-14px}.uni-px-7{padding-left:14px;padding-right:14px}.uni-px-n7{padding-left:-14px;padding-right:-14px}.uni-py-7{padding-top:14px;padding-bottom:14px}.uni-py-n7{padding-top:-14px;padding-bottom:-14px}.uni-pa-7{padding:14px}.uni-pa-n7{padding:-14px}.uni-pt-8{padding-top:16px}.uni-pt-n8{padding-top:-16px}.uni-pr-8{padding-right:16px}.uni-pr-n8{padding-right:-16px}.uni-pb-8{padding-bottom:16px}.uni-pb-n8{padding-bottom:-16px}.uni-pl-8{padding-left:16px}.uni-pl-n8{padding-left:-16px}.uni-px-8{padding-left:16px;padding-right:16px}.uni-px-n8{padding-left:-16px;padding-right:-16px}.uni-py-8{padding-top:16px;padding-bottom:16px}.uni-py-n8{padding-top:-16px;padding-bottom:-16px}.uni-pa-8{padding:16px}.uni-pa-n8{padding:-16px}.uni-pt-9{padding-top:18px}.uni-pt-n9{padding-top:-18px}.uni-pr-9{padding-right:18px}.uni-pr-n9{padding-right:-18px}.uni-pb-9{padding-bottom:18px}.uni-pb-n9{padding-bottom:-18px}.uni-pl-9{padding-left:18px}.uni-pl-n9{padding-left:-18px}.uni-px-9{padding-left:18px;padding-right:18px}.uni-px-n9{padding-left:-18px;padding-right:-18px}.uni-py-9{padding-top:18px;padding-bottom:18px}.uni-py-n9{padding-top:-18px;padding-bottom:-18px}.uni-pa-9{padding:18px}.uni-pa-n9{padding:-18px}.uni-pt-10{padding-top:20px}.uni-pt-n10{padding-top:-20px}.uni-pr-10{padding-right:20px}.uni-pr-n10{padding-right:-20px}.uni-pb-10{padding-bottom:20px}.uni-pb-n10{padding-bottom:-20px}.uni-pl-10{padding-left:20px}.uni-pl-n10{padding-left:-20px}.uni-px-10{padding-left:20px;padding-right:20px}.uni-px-n10{padding-left:-20px;padding-right:-20px}.uni-py-10{padding-top:20px;padding-bottom:20px}.uni-py-n10{padding-top:-20px;padding-bottom:-20px}.uni-pa-10{padding:20px}.uni-pa-n10{padding:-20px}.uni-pt-11{padding-top:22px}.uni-pt-n11{padding-top:-22px}.uni-pr-11{padding-right:22px}.uni-pr-n11{padding-right:-22px}.uni-pb-11{padding-bottom:22px}.uni-pb-n11{padding-bottom:-22px}.uni-pl-11{padding-left:22px}.uni-pl-n11{padding-left:-22px}.uni-px-11{padding-left:22px;padding-right:22px}.uni-px-n11{padding-left:-22px;padding-right:-22px}.uni-py-11{padding-top:22px;padding-bottom:22px}.uni-py-n11{padding-top:-22px;padding-bottom:-22px}.uni-pa-11{padding:22px}.uni-pa-n11{padding:-22px}.uni-pt-12{padding-top:24px}.uni-pt-n12{padding-top:-24px}.uni-pr-12{padding-right:24px}.uni-pr-n12{padding-right:-24px}.uni-pb-12{padding-bottom:24px}.uni-pb-n12{padding-bottom:-24px}.uni-pl-12{padding-left:24px}.uni-pl-n12{padding-left:-24px}.uni-px-12{padding-left:24px;padding-right:24px}.uni-px-n12{padding-left:-24px;padding-right:-24px}.uni-py-12{padding-top:24px;padding-bottom:24px}.uni-py-n12{padding-top:-24px;padding-bottom:-24px}.uni-pa-12{padding:24px}.uni-pa-n12{padding:-24px}.uni-pt-13{padding-top:26px}.uni-pt-n13{padding-top:-26px}.uni-pr-13{padding-right:26px}.uni-pr-n13{padding-right:-26px}.uni-pb-13{padding-bottom:26px}.uni-pb-n13{padding-bottom:-26px}.uni-pl-13{padding-left:26px}.uni-pl-n13{padding-left:-26px}.uni-px-13{padding-left:26px;padding-right:26px}.uni-px-n13{padding-left:-26px;padding-right:-26px}.uni-py-13{padding-top:26px;padding-bottom:26px}.uni-py-n13{padding-top:-26px;padding-bottom:-26px}.uni-pa-13{padding:26px}.uni-pa-n13{padding:-26px}.uni-pt-14{padding-top:28px}.uni-pt-n14{padding-top:-28px}.uni-pr-14{padding-right:28px}.uni-pr-n14{padding-right:-28px}.uni-pb-14{padding-bottom:28px}.uni-pb-n14{padding-bottom:-28px}.uni-pl-14{padding-left:28px}.uni-pl-n14{padding-left:-28px}.uni-px-14{padding-left:28px;padding-right:28px}.uni-px-n14{padding-left:-28px;padding-right:-28px}.uni-py-14{padding-top:28px;padding-bottom:28px}.uni-py-n14{padding-top:-28px;padding-bottom:-28px}.uni-pa-14{padding:28px}.uni-pa-n14{padding:-28px}.uni-pt-15{padding-top:30px}.uni-pt-n15{padding-top:-30px}.uni-pr-15{padding-right:30px}.uni-pr-n15{padding-right:-30px}.uni-pb-15{padding-bottom:30px}.uni-pb-n15{padding-bottom:-30px}.uni-pl-15{padding-left:30px}.uni-pl-n15{padding-left:-30px}.uni-px-15{padding-left:30px;padding-right:30px}.uni-px-n15{padding-left:-30px;padding-right:-30px}.uni-py-15{padding-top:30px;padding-bottom:30px}.uni-py-n15{padding-top:-30px;padding-bottom:-30px}.uni-pa-15{padding:30px}.uni-pa-n15{padding:-30px}.uni-pt-16{padding-top:32px}.uni-pt-n16{padding-top:-32px}.uni-pr-16{padding-right:32px}.uni-pr-n16{padding-right:-32px}.uni-pb-16{padding-bottom:32px}.uni-pb-n16{padding-bottom:-32px}.uni-pl-16{padding-left:32px}.uni-pl-n16{padding-left:-32px}.uni-px-16{padding-left:32px;padding-right:32px}.uni-px-n16{padding-left:-32px;padding-right:-32px}.uni-py-16{padding-top:32px;padding-bottom:32px}.uni-py-n16{padding-top:-32px;padding-bottom:-32px}.uni-pa-16{padding:32px}.uni-pa-n16{padding:-32px}.uni-radius-0{border-radius:0}.uni-radius{border-radius:5px}.uni-radius-lg{border-radius:10px}.uni-radius-xl{border-radius:30px}.uni-radius-pill{border-radius:9999px}.uni-radius-circle{border-radius:50%}.uni-radius-t-0{border-top-left-radius:0;border-top-right-radius:0}.uni-radius-t{border-top-left-radius:5px;border-top-right-radius:5px}.uni-radius-t-lg{border-top-left-radius:10px;border-top-right-radius:10px}.uni-radius-t-xl{border-top-left-radius:30px;border-top-right-radius:30px}.uni-radius-t-pill{border-top-left-radius:9999px;border-top-right-radius:9999px}.uni-radius-t-circle{border-top-left-radius:50%;border-top-right-radius:50%}.uni-radius-r-0{border-top-right-radius:0;border-bottom-right-radius:0}.uni-radius-r{border-top-right-radius:5px;border-bottom-right-radius:5px}.uni-radius-r-lg{border-top-right-radius:10px;border-bottom-right-radius:10px}.uni-radius-r-xl{border-top-right-radius:30px;border-bottom-right-radius:30px}.uni-radius-r-pill{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.uni-radius-r-circle{border-top-right-radius:50%;border-bottom-right-radius:50%}.uni-radius-b-0{border-bottom-left-radius:0;border-bottom-right-radius:0}.uni-radius-b{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.uni-radius-b-lg{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.uni-radius-b-xl{border-bottom-left-radius:30px;border-bottom-right-radius:30px}.uni-radius-b-pill{border-bottom-left-radius:9999px;border-bottom-right-radius:9999px}.uni-radius-b-circle{border-bottom-left-radius:50%;border-bottom-right-radius:50%}.uni-radius-l-0{border-top-left-radius:0;border-bottom-left-radius:0}.uni-radius-l{border-top-left-radius:5px;border-bottom-left-radius:5px}.uni-radius-l-lg{border-top-left-radius:10px;border-bottom-left-radius:10px}.uni-radius-l-xl{border-top-left-radius:30px;border-bottom-left-radius:30px}.uni-radius-l-pill{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.uni-radius-l-circle{border-top-left-radius:50%;border-bottom-left-radius:50%}.uni-radius-tl-0{border-top-left-radius:0}.uni-radius-tl{border-top-left-radius:5px}.uni-radius-tl-lg{border-top-left-radius:10px}.uni-radius-tl-xl{border-top-left-radius:30px}.uni-radius-tl-pill{border-top-left-radius:9999px}.uni-radius-tl-circle{border-top-left-radius:50%}.uni-radius-tr-0{border-top-right-radius:0}.uni-radius-tr{border-top-right-radius:5px}.uni-radius-tr-lg{border-top-right-radius:10px}.uni-radius-tr-xl{border-top-right-radius:30px}.uni-radius-tr-pill{border-top-right-radius:9999px}.uni-radius-tr-circle{border-top-right-radius:50%}.uni-radius-br-0{border-bottom-right-radius:0}.uni-radius-br{border-bottom-right-radius:5px}.uni-radius-br-lg{border-bottom-right-radius:10px}.uni-radius-br-xl{border-bottom-right-radius:30px}.uni-radius-br-pill{border-bottom-right-radius:9999px}.uni-radius-br-circle{border-bottom-right-radius:50%}.uni-radius-bl-0{border-bottom-left-radius:0}.uni-radius-bl{border-bottom-left-radius:5px}.uni-radius-bl-lg{border-bottom-left-radius:10px}.uni-radius-bl-xl{border-bottom-left-radius:30px}.uni-radius-bl-pill{border-bottom-left-radius:9999px}.uni-radius-bl-circle{border-bottom-left-radius:50%}.uni-h1{font-size:32px;font-weight:300;line-height:50px}.uni-h2{font-size:28px;font-weight:300;line-height:40px}.uni-h3{font-size:24px;font-weight:400;line-height:32px}.uni-h4{font-size:20px;font-weight:400;line-height:30px}.uni-h5{font-size:16px;font-weight:400;line-height:24px}.uni-h6{font-size:14px;font-weight:500;line-height:18px}.uni-subtitle{font-size:12px;font-weight:400;line-height:20px}.uni-body{font-size:14px;font-weight:400;line-height:22px}.uni-caption{font-size:12px;font-weight:400;line-height:20px}.uni-btn{margin:5px;color:#393939;border:1px solid #ccc;font-size:16px;font-weight:200;background-color:#f9f9f9;overflow:visible}.uni-btn:after{border:none}.uni-btn:not([type]),.uni-btn[type=default]{color:#999}.uni-btn:not([type])[loading],.uni-btn[type=default][loading]{background:none}.uni-btn:not([type])[loading]:before,.uni-btn[type=default][loading]:before{margin-right:5px}.uni-btn:not([type])[disabled],.uni-btn[type=default][disabled]{color:#d6d6d6}.uni-btn:not([type])[disabled],.uni-btn:not([type])[disabled][loading],.uni-btn:not([type])[disabled]:active,.uni-btn[type=default][disabled],.uni-btn[type=default][disabled][loading],.uni-btn[type=default][disabled]:active{color:#d6d6d6;background-color:#fafafa;border-color:#f0f0f0}.uni-btn:not([type])[plain],.uni-btn[type=default][plain]{color:#999;background:none;border-color:#f0f0f0}.uni-btn:not([type])[plain]:not([hover-class]):active,.uni-btn[type=default][plain]:not([hover-class]):active{background:none;color:#ccc;border-color:#e6e6e6;outline:none}.uni-btn:not([type])[plain][disabled],.uni-btn:not([type])[plain][disabled][loading],.uni-btn:not([type])[plain][disabled]:active,.uni-btn[type=default][plain][disabled],.uni-btn[type=default][plain][disabled][loading],.uni-btn[type=default][plain][disabled]:active{background:none;color:#d6d6d6;border-color:#f0f0f0}.uni-btn:not([hover-class]):active{color:gray}.uni-btn[size=mini]{font-size:16px;font-weight:200;border-radius:8px}.uni-btn.uni-btn-small{font-size:14px}.uni-btn.uni-btn-mini{font-size:12px}.uni-btn.uni-btn-radius{border-radius:999px}.uni-btn[type=primary]{color:#fff;background-color:#2979ff;border-color:#266feb}.uni-btn[type=primary]:not([hover-class]):active{background:#256de6;border-color:#2161cc;color:#fff;outline:none}.uni-btn[type=primary][loading]{color:#fff;background-color:#2979ff;border-color:#266feb}.uni-btn[type=primary][loading]:not([hover-class]):active{background:#256de6;border-color:#2161cc;color:#fff;outline:none}.uni-btn[type=primary][loading]:before{margin-right:5px}.uni-btn[type=primary][disabled],.uni-btn[type=primary][disabled][loading],.uni-btn[type=primary][disabled]:not([hover-class]):active{color:#fff;border-color:#80aefa;background-color:#94bcff}.uni-btn[type=primary][plain]{color:#2979ff;background-color:#eaf2ff;border-color:#bfd7ff}.uni-btn[type=primary][plain]:not([hover-class]):active{background:#d4e4ff;color:#2979ff;outline:none;border-color:#94bcff}.uni-btn[type=primary][plain][loading]{color:#2979ff;background-color:#eaf2ff;border-color:#bfd7ff}.uni-btn[type=primary][plain][loading]:not([hover-class]):active{background:#d4e4ff;color:#2979ff;outline:none;border-color:#94bcff}.uni-btn[type=primary][plain][loading]:before{margin-right:5px}.uni-btn[type=primary][plain][disabled],.uni-btn[type=primary][plain][disabled]:active{color:#7fafff;background-color:#eaf2ff;border-color:#d4e4ff}.uni-btn[type=success]{color:#fff;background-color:#18bc37;border-color:#16ad33}.uni-btn[type=success]:not([hover-class]):active{background:#16a932;border-color:#13962c;color:#fff;outline:none}.uni-btn[type=success][loading]{color:#fff;background-color:#18bc37;border-color:#16ad33}.uni-btn[type=success][loading]:not([hover-class]):active{background:#16a932;border-color:#13962c;color:#fff;outline:none}.uni-btn[type=success][loading]:before{margin-right:5px}.uni-btn[type=success][disabled],.uni-btn[type=success][disabled][loading],.uni-btn[type=success][disabled]:not([hover-class]):active{color:#fff;border-color:#89c795;background-color:#8cde9b}.uni-btn[type=success][plain]{color:#18bc37;background-color:#e8f8eb;border-color:#baebc3}.uni-btn[type=success][plain]:not([hover-class]):active{background:#d1f2d7;color:#18bc37;outline:none;border-color:#8cde9b}.uni-btn[type=success][plain][loading]{color:#18bc37;background-color:#e8f8eb;border-color:#baebc3}.uni-btn[type=success][plain][loading]:not([hover-class]):active{background:#d1f2d7;color:#18bc37;outline:none;border-color:#8cde9b}.uni-btn[type=success][plain][loading]:before{margin-right:5px}.uni-btn[type=success][plain][disabled],.uni-btn[type=success][plain][disabled]:active{color:#74d787;background-color:#e8f8eb;border-color:#d1f2d7}.uni-btn[type=error]{color:#fff;background-color:#e43d33;border-color:#d2382f}.uni-btn[type=error]:not([hover-class]):active{background:#cd372e;border-color:#b63129;color:#fff;outline:none}.uni-btn[type=error][loading]{color:#fff;background-color:#e43d33;border-color:#d2382f}.uni-btn[type=error][loading]:not([hover-class]):active{background:#cd372e;border-color:#b63129;color:#fff;outline:none}.uni-btn[type=error][loading]:before{margin-right:5px}.uni-btn[type=error][disabled],.uni-btn[type=error][disabled][loading],.uni-btn[type=error][disabled]:not([hover-class]):active{color:#fff;border-color:#e4928d;background-color:#f29e99}.uni-btn[type=error][plain]{color:#e43d33;background-color:#fceceb;border-color:#f7c5c2}.uni-btn[type=error][plain]:not([hover-class]):active{background:#fad8d6;color:#e43d33;outline:none;border-color:#f29e99}.uni-btn[type=error][plain][loading]{color:#e43d33;background-color:#fceceb;border-color:#f7c5c2}.uni-btn[type=error][plain][loading]:not([hover-class]):active{background:#fad8d6;color:#e43d33;outline:none;border-color:#f29e99}.uni-btn[type=error][plain][loading]:before{margin-right:5px}.uni-btn[type=error][plain][disabled],.uni-btn[type=error][plain][disabled]:active{color:#ef8b85;background-color:#fceceb;border-color:#fad8d6}.uni-btn[type=warning]{color:#fff;background-color:#f3a73f;border-color:#e09a3a}.uni-btn[type=warning]:not([hover-class]):active{background:#db9639;border-color:#c28632;color:#fff;outline:none}.uni-btn[type=warning][loading]{color:#fff;background-color:#f3a73f;border-color:#e09a3a}.uni-btn[type=warning][loading]:not([hover-class]):active{background:#db9639;border-color:#c28632;color:#fff;outline:none}.uni-btn[type=warning][loading]:before{margin-right:5px}.uni-btn[type=warning][disabled],.uni-btn[type=warning][disabled][loading],.uni-btn[type=warning][disabled]:not([hover-class]):active{color:#fff;border-color:#f8c887;background-color:#f9d39f}.uni-btn[type=warning][plain]{color:#f3a73f;background-color:#fef6ec;border-color:#fbe5c5}.uni-btn[type=warning][plain]:not([hover-class]):active{background:#fdedd9;color:#f3a73f;outline:none;border-color:#f9d39f}.uni-btn[type=warning][plain][loading]{color:#f3a73f;background-color:#fef6ec;border-color:#fbe5c5}.uni-btn[type=warning][plain][loading]:not([hover-class]):active{background:#fdedd9;color:#f3a73f;outline:none;border-color:#f9d39f}.uni-btn[type=warning][plain][loading]:before{margin-right:5px}.uni-btn[type=warning][plain][disabled],.uni-btn[type=warning][plain][disabled]:active{color:#f8ca8c;background-color:#fef6ec;border-color:#fdedd9}.uni-btn[type=info]{color:#fff;background-color:#8f939c;border-color:#848790}.uni-btn[type=info]:not([hover-class]):active{background:#81848c;border-color:#72767d;color:#fff;outline:none}.uni-btn[type=info][loading]{color:#fff;background-color:#8f939c;border-color:#848790}.uni-btn[type=info][loading]:not([hover-class]):active{background:#81848c;border-color:#72767d;color:#fff;outline:none}.uni-btn[type=info][loading]:before{margin-right:5px}.uni-btn[type=info][disabled],.uni-btn[type=info][disabled][loading],.uni-btn[type=info][disabled]:not([hover-class]):active{color:#fff;border-color:#babcc2;background-color:#c7c9ce}.uni-btn[type=info][plain]{color:#8f939c;background-color:#f4f4f5;border-color:#dddfe1}.uni-btn[type=info][plain]:not([hover-class]):active{background:#e9e9eb;color:#8f939c;outline:none;border-color:#c7c9ce}.uni-btn[type=info][plain][loading]{color:#8f939c;background-color:#f4f4f5;border-color:#dddfe1}.uni-btn[type=info][plain][loading]:not([hover-class]):active{background:#e9e9eb;color:#8f939c;outline:none;border-color:#c7c9ce}.uni-btn[type=info][plain][loading]:before{margin-right:5px}.uni-btn[type=info][plain][disabled],.uni-btn[type=info][plain][disabled]:active{color:#bcbec4;background-color:#f4f4f5;border-color:#e9e9eb}uni-page-body{background-color:#f5f5f5}body{background-color:#f5f5f5}.example-info{font-size:14px;color:#333;padding:10px} diff --git a/weihu/unpackage/dist/build/web/assets/index.9253508f.js b/weihu/unpackage/dist/build/web/assets/index.9253508f.js new file mode 100644 index 0000000..3e86371 --- /dev/null +++ b/weihu/unpackage/dist/build/web/assets/index.9253508f.js @@ -0,0 +1 @@ +import{r as e,R as t,S as a,T as s,x as n}from"./index-29fb9c31.js";const{isLoading:o,sendRequest:r}=function(){const o=e(!1);return{isLoading:o,sendRequest:function(e){let r=function(e){return e.header={Authorization:"Bearer "+sessionStorage.getItem("access_token"),"Content-Type":"application/json"},e}(e);return o.value=!0,t({title:"加载中",mask:!0}),new Promise(((e,t)=>{a({...r,success:t=>{let a=200===(r=t).statusCode?(0==r.data.status&&n({title:r.data.msg,icon:"none"}),r.data):(n({title:"请求失败,请稍后重试",icon:"none"}),Promise.reject(r.data));var r;o.value=!1,s(),e(a)},fail:e=>{o.value=!1,s(),t(e)}})}))}}}();let d="https://ccty-fz.sixinyun.com/api/";const i=e=>r({url:d+"WXGetOpenid",method:"POST",data:e}),u=e=>r({url:d+"v1/H5/PersonSave",method:"POST",data:e}),l=e=>r({url:d+"v1/H5/PersonGetList",method:"POST",data:e}),m=e=>r({url:d+"v1/H5/PersonGetDetail",method:"POST",data:e}),c=e=>r({url:d+"v1/H5/PersonDel",method:"POST",data:e}),P=e=>r({url:d+"v1/H5/FenZhenGetTiJianLine",method:"POST",data:e}),h=e=>r({url:d+"v1/H5/MemberGetDetail",method:"POST",data:e}),v=e=>r({url:d+"v1/H5/GetUserInfo",method:"POST",data:e}),S=e=>r({url:d+"v1/H5/MemberExpend",method:"POST",data:e});export{P as F,v as G,h as M,m as P,i as W,u as a,S as b,l as c,c as d}; diff --git a/weihu/unpackage/dist/build/web/assets/list-0f582702.css b/weihu/unpackage/dist/build/web/assets/list-0f582702.css new file mode 100644 index 0000000..3c48717 --- /dev/null +++ b/weihu/unpackage/dist/build/web/assets/list-0f582702.css @@ -0,0 +1 @@ +.list_main[data-v-8a1771b9]{background-color:#fafafa;height:100vh}.person_list_wrapper[data-v-8a1771b9]{width:23.4375rem;margin:0 auto;overflow-y:auto}.person_item_wrapper[data-v-8a1771b9]{width:21.5625rem;height:5.1875rem;background:#ffffff;box-shadow:0 0 .3125rem rgba(0,0,0,.04);border-radius:.46875rem;position:relative;display:flex;align-items:center;margin:.625rem auto 0;padding-right:.625rem}.person_avatar_wrapper[data-v-8a1771b9]{width:3.28125rem;height:3.28125rem;margin-left:.5rem}.person_avatar_wrapper uni-image[data-v-8a1771b9]{width:3.28125rem;height:3.28125rem;display:inline-block;object-fit:contain}.person_info_wrapper[data-v-8a1771b9]{margin-left:.4375rem;width:7.8125rem}.person_text_wrapper[data-v-8a1771b9]{display:flex;align-items:end}.person_name_wrapper[data-v-8a1771b9]{font-weight:500;font-size:1rem;color:#0e0e0e;line-height:1}.person_sex_wrapper[data-v-8a1771b9]{font-size:.75rem;color:#9e9e9e;line-height:1;margin-left:.3125rem}.person_idnumber_wrapper[data-v-8a1771b9]{font-size:.8125rem;color:#0e0e0e;line-height:1;margin-top:.625rem}.person_type_wrapper[data-v-8a1771b9]{position:absolute;width:3.125rem;height:1.4375rem;background:#c0c0c0;border-radius:0 .46875rem;right:0;top:0;font-weight:500;font-size:.75rem;color:#fff;line-height:1.4375rem;text-align:center}.list_left[data-v-8a1771b9]{color:#333;width:8.75rem;display:flex;font-size:1.0625rem}.tel[data-v-8a1771b9]{color:#999;font-size:.8125rem;margin-top:.3125rem}.yue[data-v-8a1771b9]{height:3.125rem;line-height:3.125rem;font-size:1.0625rem;margin-left:.625rem;color:#ff8a5b}.tags[data-v-8a1771b9]{height:3.125rem;line-height:3.125rem;font-size:1.0625rem;margin-left:.625rem}.search_input[data-v-8a1771b9]{background-color:#fff;border-radius:.625rem;height:2.5rem;margin:.3125rem 0 .3125rem .625rem;padding-left:.9375rem;width:15.625rem}.search_button[data-v-8a1771b9]{height:2.5rem;line-height:2.5rem;margin:.3125rem .625rem .3125rem 0;background-color:#79e8e3;text-align:center;width:5.625rem;border-radius:.625rem}.add_button_text_wrapper[data-v-8a1771b9]{font-size:.96875rem;font-weight:500;color:#f6fdfd;text-align:center}.add_button_wrapper[data-v-8a1771b9]{position:fixed;display:flex;justify-content:center;align-items:center;z-index:1;width:18.125rem;height:2.8125rem;background:linear-gradient(-90deg,#23D3AF,#0DC5CF);border-radius:1.40625rem;bottom:1.875rem;left:50%;transform:translate(-50%)}.tools[data-v-8a1771b9]{font-size:.875rem;width:1.875rem;color:#666}.tools_row[data-v-8a1771b9]{margin-left:.625rem;display:flex} diff --git a/weihu/unpackage/dist/build/web/assets/login-2094602c.css b/weihu/unpackage/dist/build/web/assets/login-2094602c.css new file mode 100644 index 0000000..46c92f9 --- /dev/null +++ b/weihu/unpackage/dist/build/web/assets/login-2094602c.css @@ -0,0 +1 @@ +.login[data-v-c80a876d]{background-color:#f0f8ff;padding-top:1.875rem;height:calc(100vh - 1.875rem)}.welcome[data-v-c80a876d]{margin:0 auto 3.125rem 1.875rem;color:#53cdf9}.login_k[data-v-c80a876d]{height:14.0625rem;background-color:#a5eaf9;border-radius:.9375rem;margin:1.25rem;box-shadow:2px 2px 5px #7c9fca;padding:1.25rem 1.25rem 0}.button[data-v-c80a876d]{width:100%;background-color:#00bbf9;height:3.125rem;line-height:3.125rem;text-align:center;color:#fff;font-weight:700;border-radius:1.5625rem;margin-top:2.5rem}.title[data-v-c80a876d]{font-size:1.125rem;font-weight:700;color:#316664}.input[data-v-c80a876d]{margin-top:.625rem;margin-bottom:.9375rem;border:0;border-bottom:.03125rem solid #fff;height:2.5rem;color:#666} diff --git a/weihu/unpackage/dist/build/web/assets/pages-fenzhen-fenzhen_paidui.e8f95210.js b/weihu/unpackage/dist/build/web/assets/pages-fenzhen-fenzhen_paidui.e8f95210.js new file mode 100644 index 0000000..6173883 --- /dev/null +++ b/weihu/unpackage/dist/build/web/assets/pages-fenzhen-fenzhen_paidui.e8f95210.js @@ -0,0 +1 @@ +import{J as t,K as s,L as e,o as i,c as a,w as o,b as n,n as l,d as r,i as h,k as u,M as c,l as d,f as p,N as m,r as f,O as g,P as y,v as k,e as _,t as b,Q as w,q as C,u as x,F as v}from"./index-29fb9c31.js";import{_ as z}from"./_plugin-vue_export-helper.1b428a4d.js";import{r as T,o as $}from"./uni-app.es.125322ac.js";import{F as S}from"./index.9253508f.js";class D{constructor(s,e){this.options=s,this.animation=t({...s}),this.currentStepAnimates={},this.next=0,this.$=e}_nvuePushAnimates(t,s){let e=this.currentStepAnimates[this.next],i={};if(i=e||{styles:{},config:{}},A.includes(t)){i.styles.transform||(i.styles.transform="");let e="";"rotate"===t&&(e="deg"),i.styles.transform+=`${t}(${s+e}) `}else i.styles[t]=`${s}`;this.currentStepAnimates[this.next]=i}_animateRun(t={},s={}){let e=this.$.$refs.ani.ref;if(e)return new Promise(((i,a)=>{nvueAnimation.transition(e,{styles:t,...s},(t=>{i()}))}))}_nvueNextAnimate(t,s=0,e){let i=t[s];if(i){let{styles:a,config:o}=i;this._animateRun(a,o).then((()=>{s+=1,this._nvueNextAnimate(t,s,e)}))}else this.currentStepAnimates={},"function"==typeof e&&e(),this.isEnd=!0}step(t={}){return this.animation.step(t),this}run(t){this.$.animationData=this.animation.export(),this.$.timer=setTimeout((()=>{"function"==typeof t&&t()}),this.$.durationTime)}}const A=["matrix","matrix3d","rotate","rotate3d","rotateX","rotateY","rotateZ","scale","scale3d","scaleX","scaleY","scaleZ","skew","skewX","skewY","translate","translate3d","translateX","translateY","translateZ"];function P(t,s){if(s)return clearTimeout(s.timer),new D(t,s)}A.concat(["opacity","backgroundColor"],["width","height","left","right","top","bottom"]).forEach((t=>{D.prototype[t]=function(...s){return this.animation[t](...s),this}}));const R=z({name:"uniTransition",emits:["click","change"],props:{show:{type:Boolean,default:!1},modeClass:{type:[Array,String],default:()=>"fade"},duration:{type:Number,default:300},styles:{type:Object,default:()=>({})},customClass:{type:String,default:""},onceRender:{type:Boolean,default:!1}},data:()=>({isShow:!1,transform:"",opacity:1,animationData:{},durationTime:300,config:{}}),watch:{show:{handler(t){t?this.open():this.isShow&&this.close()},immediate:!0}},computed:{stylesObject(){let t={...this.styles,"transition-duration":this.duration/1e3+"s"},s="";for(let e in t){s+=this.toLine(e)+":"+t[e]+";"}return s},transformStyles(){return"transform:"+this.transform+";opacity:"+this.opacity+";"+this.stylesObject}},created(){this.config={duration:this.duration,timingFunction:"ease",transformOrigin:"50% 50%",delay:0},this.durationTime=this.duration},methods:{init(t={}){t.duration&&(this.durationTime=t.duration),this.animation=P(Object.assign(this.config,t),this)},onClick(){this.$emit("click",{detail:this.isShow})},step(t,s={}){if(this.animation){for(let s in t)try{"object"==typeof t[s]?this.animation[s](...t[s]):this.animation[s](t[s])}catch(e){console.error(`方法 ${s} 不存在`)}return this.animation.step(s),this}},run(t){this.animation&&this.animation.run(t)},open(){clearTimeout(this.timer),this.transform="",this.isShow=!0;let{opacity:t,transform:s}=this.styleInit(!1);void 0!==t&&(this.opacity=t),this.transform=s,this.$nextTick((()=>{this.timer=setTimeout((()=>{this.animation=P(this.config,this),this.tranfromInit(!1).step(),this.animation.run(),this.$emit("change",{detail:this.isShow})}),20)}))},close(t){this.animation&&this.tranfromInit(!0).step().run((()=>{this.isShow=!1,this.animationData=null,this.animation=null;let{opacity:t,transform:s}=this.styleInit(!1);this.opacity=t||1,this.transform=s,this.$emit("change",{detail:this.isShow})}))},styleInit(t){let s={transform:""},e=(t,e)=>{"fade"===e?s.opacity=this.animationType(t)[e]:s.transform+=this.animationType(t)[e]+" "};return"string"==typeof this.modeClass?e(t,this.modeClass):this.modeClass.forEach((s=>{e(t,s)})),s},tranfromInit(t){let s=(t,s)=>{let e=null;"fade"===s?e=t?0:1:(e=t?"-100%":"0","zoom-in"===s&&(e=t?.8:1),"zoom-out"===s&&(e=t?1.2:1),"slide-right"===s&&(e=t?"100%":"0"),"slide-bottom"===s&&(e=t?"100%":"0")),this.animation[this.animationMode()[s]](e)};return"string"==typeof this.modeClass?s(t,this.modeClass):this.modeClass.forEach((e=>{s(t,e)})),this.animation},animationType:t=>({fade:t?0:1,"slide-top":`translateY(${t?"0":"-100%"})`,"slide-right":`translateX(${t?"0":"100%"})`,"slide-bottom":`translateY(${t?"0":"100%"})`,"slide-left":`translateX(${t?"0":"-100%"})`,"zoom-in":`scaleX(${t?1:.8}) scaleY(${t?1:.8})`,"zoom-out":`scaleX(${t?1:1.2}) scaleY(${t?1:1.2})`}),animationMode:()=>({fade:"opacity","slide-top":"translateY","slide-right":"translateX","slide-bottom":"translateY","slide-left":"translateX","zoom-in":"scale","zoom-out":"scale"}),toLine:t=>t.replace(/([A-Z])/g,"-$1").toLowerCase()}},[["render",function(t,u,c,d,p,m){const f=h;return s((i(),a(f,{ref:"ani",animation:p.animationData,class:l(c.customClass),style:r(m.transformStyles),onClick:m.onClick},{default:o((()=>[n(t.$slots,"default")])),_:3},8,["animation","class","style","onClick"])),[[e,p.isShow]])}]]);const j=z({name:"uniPopup",components:{keypress:{name:"Keypress",props:{disable:{type:Boolean,default:!1}},mounted(){const t={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]};document.addEventListener("keyup",(s=>{if(this.disable)return;const e=Object.keys(t).find((e=>{const i=s.key,a=t[e];return a===i||Array.isArray(a)&&a.includes(i)}));e&&setTimeout((()=>{this.$emit(e,{})}),0)}))},render:()=>{}}},emits:["change","maskClick"],props:{animation:{type:Boolean,default:!0},type:{type:String,default:"center"},isMaskClick:{type:Boolean,default:null},maskClick:{type:Boolean,default:null},backgroundColor:{type:String,default:"none"},safeArea:{type:Boolean,default:!0},maskBackgroundColor:{type:String,default:"rgba(0, 0, 0, 0.4)"},borderRadius:{type:String}},watch:{type:{handler:function(t){this.config[t]&&this[this.config[t]](!0)},immediate:!0},isDesktop:{handler:function(t){this.config[t]&&this[this.config[this.type]](!0)},immediate:!0},maskClick:{handler:function(t){this.mkclick=t},immediate:!0},isMaskClick:{handler:function(t){this.mkclick=t},immediate:!0},showPopup(t){document.getElementsByTagName("body")[0].style.overflow=t?"hidden":"visible"}},data(){return{duration:300,ani:[],showPopup:!1,showTrans:!1,popupWidth:0,popupHeight:0,config:{top:"top",bottom:"bottom",center:"center",left:"left",right:"right",message:"top",dialog:"center",share:"bottom"},maskClass:{position:"fixed",bottom:0,top:0,left:0,right:0,backgroundColor:"rgba(0, 0, 0, 0.4)"},transClass:{backgroundColor:"transparent",borderRadius:this.borderRadius||"0",position:"fixed",left:0,right:0},maskShow:!0,mkclick:!0,popupstyle:"top"}},computed:{getStyles(){let t={backgroundColor:this.bg};return this.borderRadius,t=Object.assign(t,{borderRadius:this.borderRadius}),t},isDesktop(){return this.popupWidth>=500&&this.popupHeight>=500},bg(){return""===this.backgroundColor||"none"===this.backgroundColor?"transparent":this.backgroundColor}},mounted(){(()=>{const{windowWidth:t,windowHeight:s,windowTop:e,safeArea:i,screenHeight:a,safeAreaInsets:o}=m();this.popupWidth=t,this.popupHeight=s+(e||0),i&&this.safeArea?this.safeAreaInsets=o.bottom:this.safeAreaInsets=0})()},unmounted(){this.setH5Visible()},activated(){this.setH5Visible(!this.showPopup)},deactivated(){this.setH5Visible(!0)},created(){null===this.isMaskClick&&null===this.maskClick?this.mkclick=!0:this.mkclick=null!==this.isMaskClick?this.isMaskClick:this.maskClick,this.animation?this.duration=300:this.duration=0,this.messageChild=null,this.clearPropagation=!1,this.maskClass.backgroundColor=this.maskBackgroundColor},methods:{setH5Visible(t=!0){document.getElementsByTagName("body")[0].style.overflow=t?"visible":"hidden"},closeMask(){this.maskShow=!1},disableMask(){this.mkclick=!1},clear(t){t.stopPropagation(),this.clearPropagation=!0},open(t){if(this.showPopup)return;t&&-1!==["top","center","bottom","left","right","message","dialog","share"].indexOf(t)||(t=this.type),this.config[t]?(this[this.config[t]](),this.$emit("change",{show:!0,type:t})):console.error("缺少类型:",t)},close(t){this.showTrans=!1,this.$emit("change",{show:!1,type:this.type}),clearTimeout(this.timer),this.timer=setTimeout((()=>{this.showPopup=!1}),300)},touchstart(){this.clearPropagation=!1},onTap(){this.clearPropagation?this.clearPropagation=!1:(this.$emit("maskClick"),this.mkclick&&this.close())},top(t){this.popupstyle=this.isDesktop?"fixforpc-top":"top",this.ani=["slide-top"],this.transClass={position:"fixed",left:0,right:0,backgroundColor:this.bg,borderRadius:this.borderRadius||"0"},t||(this.showPopup=!0,this.showTrans=!0,this.$nextTick((()=>{this.messageChild&&"message"===this.type&&this.messageChild.timerClose()})))},bottom(t){this.popupstyle="bottom",this.ani=["slide-bottom"],this.transClass={position:"fixed",left:0,right:0,bottom:0,paddingBottom:this.safeAreaInsets+"px",backgroundColor:this.bg,borderRadius:this.borderRadius||"0"},t||(this.showPopup=!0,this.showTrans=!0)},center(t){this.popupstyle="center",this.ani=["zoom-out","fade"],this.transClass={position:"fixed",display:"flex",flexDirection:"column",bottom:0,left:0,right:0,top:0,justifyContent:"center",alignItems:"center",borderRadius:this.borderRadius||"0"},t||(this.showPopup=!0,this.showTrans=!0)},left(t){this.popupstyle="left",this.ani=["slide-left"],this.transClass={position:"fixed",left:0,bottom:0,top:0,backgroundColor:this.bg,borderRadius:this.borderRadius||"0",display:"flex",flexDirection:"column"},t||(this.showPopup=!0,this.showTrans=!0)},right(t){this.popupstyle="right",this.ani=["slide-right"],this.transClass={position:"fixed",bottom:0,right:0,top:0,backgroundColor:this.bg,borderRadius:this.borderRadius||"0",display:"flex",flexDirection:"column"},t||(this.showPopup=!0,this.showTrans=!0)}}},[["render",function(t,s,e,m,f,g){const y=T(u("uni-transition"),R),k=h,_=c("keypress");return f.showPopup?(i(),a(k,{key:0,class:l(["uni-popup",[f.popupstyle,g.isDesktop?"fixforpc-z-index":""]])},{default:o((()=>[d(k,{onTouchstart:g.touchstart},{default:o((()=>[f.maskShow?(i(),a(y,{key:"1",name:"mask","mode-class":"fade",styles:f.maskClass,duration:f.duration,show:f.showTrans,onClick:g.onTap},null,8,["styles","duration","show","onClick"])):p("",!0),d(y,{key:"2","mode-class":f.ani,name:"content",styles:f.transClass,duration:f.duration,show:f.showTrans,onClick:g.onTap},{default:o((()=>[d(k,{class:l(["uni-popup__wrapper",[f.popupstyle]]),style:r(g.getStyles),onClick:g.clear},{default:o((()=>[n(t.$slots,"default",{},void 0,!0)])),_:3},8,["style","class","onClick"])])),_:3},8,["mode-class","styles","duration","show","onClick"])])),_:3},8,["onTouchstart"]),f.maskShow?(i(),a(_,{key:0,onEsc:g.onTap},null,8,["onEsc"])):p("",!0)])),_:3},8,["class"])):p("",!0)}],["__scopeId","data-v-f0b957f8"]]),I=z({__name:"fenzhen_paidui",setup(t){let s=f(""),e=f(""),n=f([]),l=f(0),r=f([]);f("");let c=f(null),m=f([]),z=f(null);const D=async t=>{l.value=0,S({id_number:s.value}).then((t=>{t.status&&(n.value=t.data.list,e.value=t.data.info,m.value=t.data.tip.split("\r\n"),n.value.forEach((function(t,s){4==t.status&&l.value++,r.value.includes(t.clinic)||r.value.push(t.clinic)})))}))},A=t=>{1==t&&(window.location.href="https://ccty-fz.sixinyun.com/map/nan.jpg"),2==t&&(window.location.href="https://ccty-fz.sixinyun.com/map/nv.jpg")};return g((()=>{})),$((t=>{s.value=t.id_number,console.log(t),D(),c.value&&clearInterval(c.value),c.value=setInterval((()=>{D()}),1e4)})),y((()=>{c.value&&(clearInterval(c.value),c.value=null)})),(t,s)=>{const c=h,f=T(u("uni-popup"),j);return k(e)?(i(),a(c,{key:0,class:"fenzhen_info"},{default:o((()=>[d(c,{class:"header"},{default:o((()=>[d(c,{class:"name"},{default:o((()=>[_(b(k(e).name)+" ",1),w("span",{style:{"font-size":"30rpx"}},b(1==k(e).sex?"男":2==k(e).sex?"女":"")+" | "+b(k(e).age)+"岁",1),_(),k(e).reg_number?(i(),C("span",{key:0,style:{"font-size":"30rpx"}},"卡号:"+b(k(e).reg_number),1)):p("",!0)])),_:1}),d(c,{class:"daohang_button",onClick:s[0]||(s[0]=t=>(1==e.value.sex&&(window.location.href="https://ccty-fz.sixinyun.com/map/nan.jpg"),void(2==e.value.sex&&(window.location.href="https://ccty-fz.sixinyun.com/map/nv.jpg"))))},{default:o((()=>[_("导航")])),_:1})])),_:1}),d(c,{style:{"font-size":"26rpx","margin-top":"50rpx",color:"#d46767","font-weight":"700",border:"1px solid #83c5c5",padding:"30rpx","border-radius":"20rpx"}},{default:o((()=>[(i(!0),C(v,null,x(k(m),((t,s)=>(i(),a(c,null,{default:o((()=>[_(b(t),1)])),_:2},1024)))),256))])),_:1}),d(c,{class:"xia"},{default:o((()=>[d(c,{class:"xia_row1"},{default:o((()=>[d(c,{class:"xia_title"},{default:o((()=>[_("体检诊室 "),w("span",{style:{"font-size":"30rpx",color:"#7D7D7D"}},[_("共 "),w("span",{class:"lanzi"},b(k(r).length),1),_(" 个")])])),_:1}),d(c,{style:{color:"#7D7D7D"}},{default:o((()=>[_(" 已检查 "),w("span",{class:"lanzi"},b(k(l)),1),_(" 个 ")])),_:1})])),_:1}),(i(!0),C(v,null,x(k(n),((t,s)=>(i(),a(c,{key:s},{default:o((()=>[1==t.status?(i(),a(c,{key:0,class:"zhuangtai"},{default:o((()=>[d(c,{class:"zhuangtai_left bakcolor3"},{default:o((()=>[_("待 排 队")])),_:1}),d(c,{class:"zhuangtai_right"},{default:o((()=>[d(c,null,{default:o((()=>[t.clinic?(i(),a(c,{key:0,class:"keshiname"},{default:o((()=>[_(b(t.clinic),1)])),_:2},1024)):p("",!0),(i(!0),C(v,null,x(t.items,((t,s)=>(i(),a(c,{class:"item_k"},{default:o((()=>[d(c,{class:"zhenshiname"},{default:o((()=>[_(b(t.name),1)])),_:2},1024),d(c,{class:"itemdesc"},{default:o((()=>[_(b(t.desc),1)])),_:2},1024)])),_:2},1024)))),256))])),_:2},1024)])),_:2},1024)])),_:2},1024)):p("",!0),2==t.status?(i(),a(c,{key:1,class:"zhuangtai"},{default:o((()=>[d(c,{class:"zhuangtai_left bakcolor2"},{default:o((()=>[_("队 列 中")])),_:1}),d(c,{class:"zhuangtai_right"},{default:o((()=>[d(c,null,{default:o((()=>[d(c,{class:"keshiname"},{default:o((()=>[_(b(t.clinic),1)])),_:2},1024),(i(!0),C(v,null,x(t.items,((t,s)=>(i(),a(c,{class:"item_k"},{default:o((()=>[d(c,{class:"zhenshiname"},{default:o((()=>[_(b(t.name),1)])),_:2},1024),d(c,{class:"itemdesc"},{default:o((()=>[_(b(t.desc),1)])),_:2},1024)])),_:2},1024)))),256)),d(c,{style:{display:"flex","justify-content":"end"}},{default:o((()=>[d(c,{style:{color:"#7D7D7D"}},{default:o((()=>[w("span",{class:"shuzi"},b(t.wait),1),_("人排队")])),_:2},1024),d(c,{style:{color:"#7D7D7D","margin-left":"20rpx"}},{default:o((()=>[_(" 预计等待"),w("span",{class:"shuzi"},b(t.time),1),_("分钟")])),_:2},1024)])),_:2},1024)])),_:2},1024)])),_:2},1024)])),_:2},1024)):p("",!0),3==t.status?(i(),a(c,{key:2,class:"zhuangtai"},{default:o((()=>[d(c,{class:"zhuangtai_left bakcolor1"},{default:o((()=>[_("就 诊 中")])),_:1}),d(c,{class:"zhuangtai_right"},{default:o((()=>[d(c,null,{default:o((()=>[d(c,{class:"keshiname"},{default:o((()=>[_(b(t.clinic),1)])),_:2},1024),(i(!0),C(v,null,x(t.items,((t,s)=>(i(),a(c,{class:"item_k"},{default:o((()=>[d(c,{class:"zhenshiname"},{default:o((()=>[_(b(t.name),1)])),_:2},1024),d(c,{class:"itemdesc"},{default:o((()=>[_(b(t.desc),1)])),_:2},1024)])),_:2},1024)))),256))])),_:2},1024)])),_:2},1024)])),_:2},1024)):p("",!0),4==t.status?(i(),a(c,{key:3,class:"zhuangtai"},{default:o((()=>[d(c,{class:"zhuangtai_left bakcolor1"},{default:o((()=>[_("已 完 成")])),_:1}),d(c,{class:"zhuangtai_right"},{default:o((()=>[d(c,null,{default:o((()=>[d(c,{class:"keshiname"},{default:o((()=>[_(b(t.clinic),1)])),_:2},1024),(i(!0),C(v,null,x(t.items,((t,s)=>(i(),a(c,{class:"item_k"},{default:o((()=>[d(c,{class:"zhenshiname"},{default:o((()=>[_(b(t.name),1)])),_:2},1024),d(c,{class:"itemdesc"},{default:o((()=>[_(b(t.desc),1)])),_:2},1024)])),_:2},1024)))),256))])),_:2},1024)])),_:2},1024)])),_:2},1024)):p("",!0)])),_:2},1024)))),128))])),_:1}),d(f,{ref_key:"TiShiPopupRef",ref:z,style:{"z-index":"999"}},{default:o((()=>[d(c,{class:"tishi_main"},{default:o((()=>[d(c,{class:"tishi_title"},{default:o((()=>[_("选择区域")])),_:1}),d(c,{class:"quyu_button",style:{"background-color":"#fc924a"},onClick:s[1]||(s[1]=t=>A(1))},{default:o((()=>[_("男宾区")])),_:1}),d(c,{class:"quyu_button",onClick:s[2]||(s[2]=t=>A(2))},{default:o((()=>[_("女宾区")])),_:1})])),_:1})])),_:1},512)])),_:1})):p("",!0)}}},[["__scopeId","data-v-26c5b5a7"]]);export{I as default}; diff --git a/weihu/unpackage/dist/build/web/assets/pages-fenzhen-map.10943d67.js b/weihu/unpackage/dist/build/web/assets/pages-fenzhen-map.10943d67.js new file mode 100644 index 0000000..7f179d4 --- /dev/null +++ b/weihu/unpackage/dist/build/web/assets/pages-fenzhen-map.10943d67.js @@ -0,0 +1 @@ +import{r as s,o as t,c as e,w as a,i as n,l as p,v as o,U as l}from"./index-29fb9c31.js";import{o as r}from"./uni-app.es.125322ac.js";const c={__name:"map",setup(c){let u=s(null);return r((s=>{console.log(s),s.type&&1==s.type&&(u.value="https://ccty-fz.sixinyun.com/map/nan.jpg"),s.type&&2==s.type&&(u.value="https://ccty-fz.sixinyun.com/map/nv.jpg")})),(s,r)=>{const c=l,i=n;return t(),e(i,{style:{overflow:"hidden"}},{default:a((()=>[p(c,{style:{width:"100%"},src:o(u)},null,8,["src"])])),_:1})}}};export{c as default}; diff --git a/weihu/unpackage/dist/build/web/assets/pages-index-index.b8617fc6.js b/weihu/unpackage/dist/build/web/assets/pages-index-index.b8617fc6.js new file mode 100644 index 0000000..b9915f7 --- /dev/null +++ b/weihu/unpackage/dist/build/web/assets/pages-index-index.b8617fc6.js @@ -0,0 +1 @@ +import{o as t,c as e,w as i,b as s,n as l,d as a,e as o,t as n,f as r,g as d,i as c,h as u,s as p,a as h,j as f,k as g,l as y,m,p as _,r as b,q as x,u as k,v as S,F as w}from"./index-29fb9c31.js";import{_ as B}from"./uni-icons.1a1aa5ae.js";import{r as C,a as T}from"./uni-app.es.125322ac.js";import{_ as $}from"./_plugin-vue_export-helper.1b428a4d.js";import"./index.9253508f.js";const I=$({name:"UniBadge",emits:["click"],props:{type:{type:String,default:"error"},inverted:{type:Boolean,default:!1},isDot:{type:Boolean,default:!1},maxNum:{type:Number,default:99},absolute:{type:String,default:""},offset:{type:Array,default:()=>[0,0]},text:{type:[String,Number],default:""},size:{type:String,default:"small"},customStyle:{type:Object,default:()=>({})}},data:()=>({}),computed:{width(){return 8*String(this.text).length+12},classNames(){const{inverted:t,type:e,size:i,absolute:s}=this;return[t?"uni-badge--"+e+"-inverted":"","uni-badge--"+e,"uni-badge--"+i,s?"uni-badge--absolute":""].join(" ")},positionStyle(){if(!this.absolute)return{};let t=this.width/2,e=10;this.isDot&&(t=5,e=5);const i=`${-t+this.offset[0]}px`,s=`${-e+this.offset[1]}px`,l={rightTop:{right:i,top:s},rightBottom:{right:i,bottom:s},leftBottom:{left:i,bottom:s},leftTop:{left:i,top:s}},a=l[this.absolute];return a||l.rightTop},dotStyle(){return this.isDot?{width:"10px",minWidth:"0",height:"10px",padding:"0",borderRadius:"10px"}:{}},displayValue(){const{isDot:t,text:e,maxNum:i}=this;return t?"":Number(e)>i?`${i}+`:e}},methods:{onClick(){this.$emit("click")}}},[["render",function(u,p,h,f,g,y){const m=d,_=c;return t(),e(_,{class:"uni-badge--x"},{default:i((()=>[s(u.$slots,"default",{},void 0,!0),h.text?(t(),e(m,{key:0,class:l([y.classNames,"uni-badge"]),style:a([y.positionStyle,h.customStyle,y.dotStyle]),onClick:p[0]||(p[0]=t=>y.onClick())},{default:i((()=>[o(n(y.displayValue),1)])),_:1},8,["class","style"])):r("",!0)])),_:3})}],["__scopeId","data-v-414d462c"]]);const v=$({name:"UniListItem",emits:["click","switchChange"],props:{direction:{type:String,default:"row"},title:{type:String,default:""},note:{type:String,default:""},ellipsis:{type:[Number,String],default:0},disabled:{type:[Boolean,String],default:!1},clickable:{type:Boolean,default:!1},showArrow:{type:[Boolean,String],default:!1},link:{type:[Boolean,String],default:!1},to:{type:String,default:""},showBadge:{type:[Boolean,String],default:!1},showSwitch:{type:[Boolean,String],default:!1},switchChecked:{type:[Boolean,String],default:!1},badgeText:{type:String,default:""},badgeType:{type:String,default:"success"},badgeStyle:{type:Object,default:()=>({})},rightText:{type:String,default:""},thumb:{type:String,default:""},thumbSize:{type:String,default:"base"},showExtraIcon:{type:[Boolean,String],default:!1},extraIcon:{type:Object,default:()=>({type:"",color:"#000000",size:20,customPrefix:""})},border:{type:Boolean,default:!0},customStyle:{type:Object,default:()=>({padding:"",backgroundColor:"#FFFFFF"})},keepScrollPosition:{type:Boolean,default:!1}},watch:{"customStyle.padding":{handler(t){"number"==typeof t&&(t+="");let e=t.split(" ");if(1===e.length){const t=e[0];this.padding={top:t,right:t,bottom:t,left:t}}else if(2===e.length){const[t,i]=e;this.padding={top:t,right:i,bottom:t,left:i}}else if(4===e.length){const[t,i,s,l]=e;this.padding={top:t,right:i,bottom:s,left:l}}},immediate:!0}},data:()=>({isFirstChild:!1,padding:{top:"",right:"",bottom:"",left:""}}),mounted(){this.list=this.getForm(),this.list&&(this.list.firstChildAppend||(this.list.firstChildAppend=!0,this.isFirstChild=!0))},methods:{getForm(t="uniList"){let e=this.$parent,i=e.$options.name;for(;i!==t;){if(e=e.$parent,!e)return!1;i=e.$options.name}return e},onClick(){""===this.to?(this.clickable||this.link)&&this.$emit("click",{data:{}}):this.openPage()},onSwitchChange(t){this.$emit("switchChange",t.detail)},openPage(){-1!==["navigateTo","redirectTo","reLaunch","switchTab"].indexOf(this.link)?this.pageApi(this.link):this.pageApi("navigateTo")},pageApi(t){let e={url:this.to,success:t=>{this.$emit("click",{data:t})},fail:t=>{this.$emit("click",{data:t})}};switch(t){case"navigateTo":default:u(e);break;case"redirectTo":f(e);break;case"reLaunch":h(e);break;case"switchTab":p(e)}}}},[["render",function(u,p,h,f,b,x){const k=c,S=m,w=C(g("uni-icons"),B),T=d,$=C(g("uni-badge"),I),v=_;return t(),e(k,{class:l([{"uni-list-item--disabled":h.disabled},"uni-list-item"]),style:a({"background-color":h.customStyle.backgroundColor}),"hover-class":!h.clickable&&!h.link||h.disabled||h.showSwitch?"":"uni-list-item--hover",onClick:x.onClick},{default:i((()=>[b.isFirstChild?r("",!0):(t(),e(k,{key:0,class:l(["border--left",{"uni-list--border":h.border}])},null,8,["class"])),y(k,{class:l(["uni-list-item__container",{"container--right":h.showArrow||h.link,"flex--direction":"column"===h.direction}]),style:a({paddingTop:b.padding.top,paddingLeft:b.padding.left,paddingRight:b.padding.right,paddingBottom:b.padding.bottom})},{default:i((()=>[s(u.$slots,"header",{},(()=>[y(k,{class:"uni-list-item__header"},{default:i((()=>[h.thumb?(t(),e(k,{key:0,class:"uni-list-item__icon"},{default:i((()=>[y(S,{src:h.thumb,class:l(["uni-list-item__icon-img",["uni-list--"+h.thumbSize]])},null,8,["src","class"])])),_:1})):h.showExtraIcon?(t(),e(k,{key:1,class:"uni-list-item__icon"},{default:i((()=>[y(w,{customPrefix:h.extraIcon.customPrefix,color:h.extraIcon.color,size:h.extraIcon.size,type:h.extraIcon.type},null,8,["customPrefix","color","size","type"])])),_:1})):r("",!0)])),_:1})]),!0),s(u.$slots,"body",{},(()=>[y(k,{class:l(["uni-list-item__content",{"uni-list-item__content--center":h.thumb||h.showExtraIcon||h.showBadge||h.showSwitch}])},{default:i((()=>[h.title?(t(),e(T,{key:0,class:l(["uni-list-item__content-title",[0!==h.ellipsis&&h.ellipsis<=2?"uni-ellipsis-"+h.ellipsis:""]])},{default:i((()=>[o(n(h.title),1)])),_:1},8,["class"])):r("",!0),h.note?(t(),e(T,{key:1,class:"uni-list-item__content-note"},{default:i((()=>[o(n(h.note),1)])),_:1})):r("",!0)])),_:1},8,["class"])]),!0),s(u.$slots,"footer",{},(()=>[h.rightText||h.showBadge||h.showSwitch?(t(),e(k,{key:0,class:l(["uni-list-item__extra",{"flex--justify":"column"===h.direction}])},{default:i((()=>[h.rightText?(t(),e(T,{key:0,class:"uni-list-item__extra-text"},{default:i((()=>[o(n(h.rightText),1)])),_:1})):r("",!0),h.showBadge?(t(),e($,{key:1,type:h.badgeType,text:h.badgeText,"custom-style":h.badgeStyle},null,8,["type","text","custom-style"])):r("",!0),h.showSwitch?(t(),e(v,{key:2,disabled:h.disabled,checked:h.switchChecked,onChange:x.onSwitchChange},null,8,["disabled","checked","onChange"])):r("",!0)])),_:1},8,["class"])):r("",!0)]),!0)])),_:3},8,["class","style"]),h.showArrow||h.link?(t(),e(w,{key:1,size:16,class:"uni-icon-wrapper",color:"#bbb",type:"arrowright"})):r("",!0)])),_:3},8,["class","style","hover-class","onClick"])}],["__scopeId","data-v-0f950e05"]]);const z=$({name:"uniList","mp-weixin":{options:{multipleSlots:!1}},props:{stackFromEnd:{type:Boolean,default:!1},enableBackToTop:{type:[Boolean,String],default:!1},scrollY:{type:[Boolean,String],default:!1},border:{type:Boolean,default:!0},renderReverse:{type:Boolean,default:!1}},created(){this.firstChildAppend=!1},methods:{loadMore(t){this.$emit("scrolltolower")},scroll(t){this.$emit("scroll",t)}}},[["render",function(l,a,o,n,d,u){const p=c;return t(),e(p,{class:"uni-list uni-border-top-bottom"},{default:i((()=>[o.border?(t(),e(p,{key:0,class:"uni-list--border-top"})):r("",!0),s(l.$slots,"default",{},void 0,!0),o.border?(t(),e(p,{key:1,class:"uni-list--border-bottom"})):r("",!0)])),_:3})}],["__scopeId","data-v-c1d7c358"]]),F=$({__name:"index",setup(s){let l=b({color:"#FF8A5B",size:"28",type:"vip"}),a=b({color:"#26CED0",size:"28",type:"hand-up"});const n=t=>{sessionStorage.setItem("userlist_type",t),p({url:"/pages/user/list"})};let d=b([]);return T((()=>{sessionStorage.setItem("userlist_type","")})),(s,p)=>{const h=c,f=C(g("uni-icons"),B),m=C(g("uni-list-item"),v),_=C(g("uni-list"),z);return t(),e(h,{class:"container"},{default:i((()=>[y(h,{class:"top"},{default:i((()=>[y(h,{class:"top_left",onClick:p[0]||(p[0]=t=>n("expend"))},{default:i((()=>[y(h,{style:{display:"flex","margin-top":"60rpx"}},{default:i((()=>[y(h,null,{default:i((()=>[o("收费")])),_:1})])),_:1}),y(h,{style:{"padding-top":"20rpx","text-align":"center"}},{default:i((()=>[y(f,{type:"wallet",style:{color:"#fff","margin-top":"4rpx","margin-left":"4rpx"},size:"99"})])),_:1})])),_:1}),y(h,{class:"top_right"},{default:i((()=>[y(h,{class:"top_right1",onClick:p[1]||(p[1]=t=>{u({url:"/pages/user/user_add"})})},{default:i((()=>[y(h,{style:{display:"flex"}},{default:i((()=>[y(h,null,{default:i((()=>[o("新建")])),_:1})])),_:1}),y(h,{style:{"text-align":"center"}},{default:i((()=>[y(f,{type:"personadd",style:{color:"#fff","margin-top":"4rpx","margin-left":"4rpx"},size:"60"})])),_:1})])),_:1}),y(h,{class:"top_right2",onClick:p[2]||(p[2]=t=>n("recharge"))},{default:i((()=>[y(h,{style:{display:"flex"}},{default:i((()=>[y(h,null,{default:i((()=>[o("充值")])),_:1})])),_:1}),y(h,{style:{"text-align":"center"}},{default:i((()=>[y(f,{type:"vip",style:{color:"#fff","margin-top":"4rpx","margin-left":"4rpx"},size:"60"})])),_:1})])),_:1})])),_:1})])),_:1}),y(h,{style:{padding:"15rpx"}},{default:i((()=>[y(h,{class:"title"},{default:i((()=>[y(h,null,{default:i((()=>[o("今日流水")])),_:1}),y(f,{type:"map",style:{color:"#00BBF9","margin-top":"2rpx","margin-left":"4rpx"},size:"22"})])),_:1}),y(h,{class:"bottom"},{default:i((()=>[y(_,null,{default:i((()=>[(t(!0),x(w,null,k(S(d),((s,o)=>(t(),e(h,{key:o},{default:i((()=>[1==s.type?(t(),e(m,{key:0,showExtraIcon:"true",extraIcon:S(l),title:`充值${s.change_money}`,note:s.name,rightText:s.created_at.slice(-8)},null,8,["extraIcon","title","note","rightText"])):r("",!0),2==s.type?(t(),e(m,{key:1,showExtraIcon:"true",extraIcon:S(a),title:`${s.desc}${s.change_money}`,note:s.name,rightText:s.created_at.slice(-8)},null,8,["extraIcon","title","note","rightText"])):r("",!0)])),_:2},1024)))),128))])),_:1}),0==S(d).length?(t(),e(h,{key:0,style:{"font-size":"28rpx",color:"#ccc","text-align":"center","padding-top":"20rpx"}},{default:i((()=>[o(" 今日暂无记录 ")])),_:1})):r("",!0)])),_:1})])),_:1})])),_:1})}}},[["__scopeId","data-v-6e30814a"]]);export{F as default}; diff --git a/weihu/unpackage/dist/build/web/assets/pages-login.da5698a2.js b/weihu/unpackage/dist/build/web/assets/pages-login.da5698a2.js new file mode 100644 index 0000000..a1de2c3 --- /dev/null +++ b/weihu/unpackage/dist/build/web/assets/pages-login.da5698a2.js @@ -0,0 +1 @@ +import{r as e,o as l,c as a,w as t,i as o,l as s,e as d,v as u,C as n,I as r,G as i,z as p,H as c}from"./index-29fb9c31.js";import"./index.9253508f.js";import{o as m}from"./uni-app.es.125322ac.js";import{_ as f}from"./_plugin-vue_export-helper.1b428a4d.js";const _=f({__name:"login",setup(f){let _=e(!1);const g=e=>{console.log(e.detail.value[0]),"mianmi"==e.detail.value[0]&&(_.value=!0)};let v=e(""),x=e("");return m((()=>{const e=(new Date).getTime();localStorage.getItem("mianmi_date")>e&&(v.value=localStorage.getItem("username"),x.value=localStorage.getItem("password"))})),(e,m)=>{const f=o,_=r,h=i,w=p,V=c;return l(),a(f,{class:"login"},{default:t((()=>[s(f,{class:"welcome"},{default:t((()=>[s(f,{style:{"font-size":"50rpx","font-weight":"700","margin-bottom":"20rpx"}},{default:t((()=>[d(" Hello! ")])),_:1}),s(f,{style:{"font-size":"40rpx"}},{default:t((()=>[d(" 欢迎使用会员管理平台 ")])),_:1})])),_:1}),s(f,{class:"login_k"},{default:t((()=>[s(f,{class:"title"},{default:t((()=>[d("用户名")])),_:1}),s(_,{class:"input",modelValue:u(v),"onUpdate:modelValue":m[0]||(m[0]=e=>n(v)?v.value=e:v=e),"placeholder-style":"color:#d7fffd;",placeholder:"请输入用户名"},null,8,["modelValue"]),s(f,{class:"title"},{default:t((()=>[d("密码")])),_:1}),s(_,{class:"input",modelValue:u(x),"onUpdate:modelValue":m[1]||(m[1]=e=>n(x)?x.value=e:x=e),password:"","placeholder-style":"color:#d7fffd;",placeholder:"请输入密码"},null,8,["modelValue"]),s(f,null,{default:t((()=>[s(V,{onChange:g},{default:t((()=>[s(w,null,{default:t((()=>[s(h,{value:"mianmi"}),d("7天免密登录 ")])),_:1})])),_:1})])),_:1})])),_:1}),s(f,{style:{"padding-left":"40rpx","padding-right":"40rpx"}},{default:t((()=>[s(f,{class:"button",onClick:m[2]||(m[2]=e=>{})},{default:t((()=>[d("登 录")])),_:1})])),_:1})])),_:1})}}},[["__scopeId","data-v-c80a876d"]]);export{_ as default}; diff --git a/weihu/unpackage/dist/build/web/assets/pages-user-expend.130c9056.js b/weihu/unpackage/dist/build/web/assets/pages-user-expend.130c9056.js new file mode 100644 index 0000000..c0fbafe --- /dev/null +++ b/weihu/unpackage/dist/build/web/assets/pages-user-expend.130c9056.js @@ -0,0 +1 @@ +import{r as e,o as l,c as a,w as t,i as s,l as o,e as n,t as u,v as r,C as d,x as c,D as i,s as p,k as f,I as m,E as _}from"./index-29fb9c31.js";import{_ as x}from"./uni-icons.1a1aa5ae.js";import{o as y,r as v}from"./uni-app.es.125322ac.js";import{M as b,b as g}from"./index.9253508f.js";import{_ as h}from"./_plugin-vue_export-helper.1b428a4d.js";const j=h({__name:"expend",setup(h){let j=e(0),V=e({});let k=e(null),w=e("");const z=()=>null==k.value?(c({title:"请输入金额",icon:"none"}),!1):""==w.value?(c({title:"请输入收费内容",icon:"none"}),!1):void i({title:"提示",content:"确定扣款吗?",confirmText:"确认",cancelText:"取消",success:function(e){e.confirm?g({member_id:j.value,money:k.value,desc:w.value}).then((e=>{e.status&&(c({title:"扣款成功"}),p({url:"/pages/index/index"}))})):e.cancel}});return y((e=>{j.value=e.member_id,b({member_id:j.value}).then((e=>{e.status&&(V.value=e.data.info)}))})),(e,c)=>{const i=s,p=v(f("uni-icons"),x),y=m,b=_;return l(),a(i,{class:"expend"},{default:t((()=>[o(i,{class:"top"},{default:t((()=>[o(i,{style:{display:"flex","justify-content":"space-between"}},{default:t((()=>[o(i,null,{default:t((()=>[o(i,{class:"name"},{default:t((()=>[n(u(r(V).name),1)])),_:1}),o(i,{class:"tel"},{default:t((()=>[n(u(r(V).tel),1)])),_:1})])),_:1}),o(i,null,{default:t((()=>[o(p,{type:"wallet",style:{color:"#fff","margin-top":"4rpx","margin-left":"4rpx"},size:"70"})])),_:1})])),_:1}),o(i,{style:{display:"flex","justify-content":"space-around","margin-top":"20rpx","background-color":"#fff","border-radius":"40rpx",padding:"10rpx"}},{default:t((()=>[o(i,null,{default:t((()=>[o(i,{class:"info_title"},{default:t((()=>[n(" 总充值金额(真实) ")])),_:1}),o(i,{class:"price"},{default:t((()=>[n(u(r(V).all_true_money),1)])),_:1})])),_:1}),o(i,null,{default:t((()=>[o(i,{class:"info_title",style:{color:"#18bc37"}},{default:t((()=>[n(" 剩余额度 ")])),_:1}),o(i,{class:"price",style:{color:"#55aa00"}},{default:t((()=>[n(u(r(V).amount),1)])),_:1})])),_:1})])),_:1}),o(i,{style:{padding:"40rpx","margin-top":"40rpx"}},{default:t((()=>[o(i,{class:"title"},{default:t((()=>[n("收费金额")])),_:1}),o(y,{class:"input",modelValue:r(k),"onUpdate:modelValue":c[0]||(c[0]=e=>d(k)?k.value=e:k=e),"placeholder-style":"color:#ccc;font-size:45rpx",type:"number",placeholder:"输入扣款额"},null,8,["modelValue"]),o(i,{class:"title"},{default:t((()=>[n("收费内容")])),_:1}),o(i,{class:"uni-textarea",style:{border:"1px solid #ccc","border-radius":"20rpx",padding:"20rpx","margin-top":"20rpx"}},{default:t((()=>[o(b,{"placeholder-style":"color:#ccc",modelValue:r(w),"onUpdate:modelValue":c[1]||(c[1]=e=>d(w)?w.value=e:w=e),placeholder:"服务内容"},null,8,["modelValue"])])),_:1}),o(i,{class:"button",onClick:z},{default:t((()=>[n("收 费")])),_:1})])),_:1})])),_:1})])),_:1})}}},[["__scopeId","data-v-85dc08a0"]]);export{j as default}; diff --git a/weihu/unpackage/dist/build/web/assets/pages-user-list.fd1a83c3.js b/weihu/unpackage/dist/build/web/assets/pages-user-list.fd1a83c3.js new file mode 100644 index 0000000..559eac0 --- /dev/null +++ b/weihu/unpackage/dist/build/web/assets/pages-user-list.fd1a83c3.js @@ -0,0 +1 @@ +import{r as s,o as e,c as a,w as t,i as r,v as l,l as n,q as p,u as o,F as i,e as _,h as d,k as u,t as c,D as f,m}from"./index-29fb9c31.js";import{_ as w}from"./uni-icons.1a1aa5ae.js";import{a as x,r as y}from"./uni-app.es.125322ac.js";import{c as h,d as g}from"./index.9253508f.js";import{_ as k}from"./_plugin-vue_export-helper.1b428a4d.js";const v=k({__name:"list",setup(k){let v=s(""),b=s([]);const C=()=>{h({search:v.value}).then((s=>{s.status&&(b.value=s.data.list)}))};return x((()=>{C()})),(s,x)=>{const h=m,k=r,v=y(u("uni-icons"),w);return e(),a(k,{class:"list_main"},{default:t((()=>[l(b).length>0?(e(),a(k,{key:0},{default:t((()=>[n(k,{class:"person_list_wrapper"},{default:t((()=>[(e(!0),p(i,null,o(l(b),((s,r)=>(e(),a(k,{class:"person_item_wrapper",key:r},{default:t((()=>[n(k,{style:{display:"flex","align-items":"center"},onClick:e=>{d({url:"/pages/fenzhen/fenzhen_paidui?id_number="+s.id_number})}},{default:t((()=>[n(k,{class:"person_avatar_wrapper"},{default:t((()=>[1===s.sex?(e(),a(h,{key:0,src:"/h5/assets/userm-5a60dd5d.png"})):(e(),a(h,{key:1,src:"/h5/assets/userw-25f41699.png"}))])),_:2},1024),n(k,{class:"person_info_wrapper"},{default:t((()=>[n(k,{class:"person_text_wrapper"},{default:t((()=>[n(k,{class:"person_name_wrapper"},{default:t((()=>[_(c(s.name),1)])),_:2},1024),n(k,{class:"person_sex_wrapper"},{default:t((()=>[_(c(1===s.sex?"男":"女")+"性",1)])),_:2},1024)])),_:2},1024),n(k,{class:"person_idnumber_wrapper"},{default:t((()=>[_(c(s.id_number),1)])),_:2},1024)])),_:2},1024)])),_:2},1032,["onClick"]),n(k,{style:{display:"flex",width:"300rpx"}},{default:t((()=>[n(k,{class:"person_type_wrapper"},{default:t((()=>[_("本人")])),_:1}),n(k,{style:{display:"flex","justify-content":"end",width:"100%","padding-right":"20rpx"}},{default:t((()=>[n(k,{class:"tools_row",onClick:e=>{return a=s.id,void d({url:"/pages/user/person_edit?personid="+a});var a}},{default:t((()=>[n(v,{type:"compose",size:"20"}),n(k,{class:"tools"},{default:t((()=>[_("编辑")])),_:1})])),_:2},1032,["onClick"]),n(k,{class:"tools_row",onClick:e=>{return a=s.id,void f({title:"提示",content:"确定删除吗?",success:function(s){s.confirm?g({id:a}).then((s=>{s.status&&C()})):s.cancel&&console.log("用户点击取消")}});var a}},{default:t((()=>[n(v,{type:"trash",size:"20"}),n(k,{class:"tools"},{default:t((()=>[_("删除")])),_:1})])),_:2},1032,["onClick"])])),_:2},1024)])),_:2},1024)])),_:2},1024)))),128))])),_:1})])),_:1})):(e(),a(k,{key:1,style:{"font-size":"28rpx",color:"#666",width:"100%","text-align":"center","padding-top":"200rpx"}},{default:t((()=>[_(" 请先添加体检人 ")])),_:1})),n(k,{class:"add_button_wrapper"},{default:t((()=>[n(k,{class:"add_button_text_wrapper",onClick:x[0]||(x[0]=s=>{d({url:"/pages/user/person_edit"})})},{default:t((()=>[_("添加体检人")])),_:1})])),_:1})])),_:1})}}},[["__scopeId","data-v-8a1771b9"]]);export{v as default}; diff --git a/weihu/unpackage/dist/build/web/assets/pages-user-person_edit.ea717f4b.js b/weihu/unpackage/dist/build/web/assets/pages-user-person_edit.ea717f4b.js new file mode 100644 index 0000000..3a32b2a --- /dev/null +++ b/weihu/unpackage/dist/build/web/assets/pages-user-person_edit.ea717f4b.js @@ -0,0 +1 @@ +import{r as e,o as l,c as a,w as t,i as s,l as n,e as o,v as u,x as d,j as i,k as r,I as c,y as p,z as f,A as m}from"./index-29fb9c31.js";import{_}from"./uni-icons.1a1aa5ae.js";import{o as x,r as v}from"./uni-app.es.125322ac.js";import{P as h,a as y}from"./index.9253508f.js";import{_ as g}from"./_plugin-vue_export-helper.1b428a4d.js";const V=g({__name:"person_edit",setup(g){let V=e({});const j=e=>{V.value.sex=e.detail.value};return x((e=>{e.personid?(V.value.id=e.personid,h({id:V.value.id}).then((e=>{e.status&&(V.value=e.data.info)}))):V.value.id=0})),(e,x)=>{const h=s,g=v(r("uni-icons"),_),k=c,b=p,U=f,w=m;return l(),a(h,{class:"UserAdd"},{default:t((()=>[n(h,{class:"top"},{default:t((()=>[n(h,{style:{"font-size":"40rpx",padding:"40rpx"}},{default:t((()=>[o("人员基本信息")])),_:1}),n(h,{style:{"text-align":"center"}},{default:t((()=>[n(g,{type:"personadd",style:{color:"#fff","margin-top":"4rpx","margin-left":"4rpx"},size:"80"})])),_:1})])),_:1}),n(h,{style:{padding:"40rpx","margin-top":"40rpx"}},{default:t((()=>[n(h,{class:"title"},{default:t((()=>[o("姓名")])),_:1}),n(k,{modelValue:u(V).name,"onUpdate:modelValue":x[0]||(x[0]=e=>u(V).name=e),class:"input","placeholder-style":"color:#ccc;",placeholder:"请输入姓名"},null,8,["modelValue"]),n(h,{class:"title"},{default:t((()=>[o("电话")])),_:1}),n(k,{modelValue:u(V).tel,"onUpdate:modelValue":x[1]||(x[1]=e=>u(V).tel=e),class:"input",type:"tel","placeholder-style":"color:#ccc;",placeholder:"请输入电话"},null,8,["modelValue"]),n(h,{class:"title"},{default:t((()=>[o("性别")])),_:1}),n(w,{onChange:j,style:{display:"flex",margin:"40rpx 20rpx 40rpx -10rpx"}},{default:t((()=>[n(U,{class:"radio_row"},{default:t((()=>[n(h,null,{default:t((()=>[n(b,{value:"1",checked:"1"==u(V).sex},null,8,["checked"])])),_:1}),n(h,null,{default:t((()=>[o("男")])),_:1})])),_:1}),n(U,{class:"radio_row"},{default:t((()=>[n(h,null,{default:t((()=>[n(b,{value:"2",checked:"2"==u(V).sex},null,8,["checked"])])),_:1}),n(h,null,{default:t((()=>[o("女")])),_:1})])),_:1})])),_:1}),n(h,{class:"title"},{default:t((()=>[o("证件号码")])),_:1}),n(k,{modelValue:u(V).id_number,"onUpdate:modelValue":x[2]||(x[2]=e=>u(V).id_number=e),class:"input","placeholder-style":"color:#ccc;",placeholder:"请输入证件号码"},null,8,["modelValue"]),n(h,{onClick:x[3]||(x[3]=e=>null==V.value.name?(d({title:"姓名不能为空",icon:"none"}),!1):null==V.value.tel?(d({title:"电话不能为空",icon:"none"}),!1):null==V.value.sex?(d({title:"请选择性别",icon:"none"}),!1):null==V.value.id_number?(d({title:"请输入证件号码",icon:"none"}),!1):void y({info:V.value}).then((e=>{e.status&&(d({title:e.msg}),i({url:"/pages/user/list"}))}))),class:"button"},{default:t((()=>[o("保 存")])),_:1})])),_:1})])),_:1})}}},[["__scopeId","data-v-3e42ab9e"]]);export{V as default}; diff --git a/weihu/unpackage/dist/build/web/assets/pages-user-recharge.3538b330.js b/weihu/unpackage/dist/build/web/assets/pages-user-recharge.3538b330.js new file mode 100644 index 0000000..82e37aa --- /dev/null +++ b/weihu/unpackage/dist/build/web/assets/pages-user-recharge.3538b330.js @@ -0,0 +1 @@ +import{r as e,B as l,o as a,c as t,w as s,i as u,l as o,e as n,t as c,v as r,C as d,f as i,x as f,D as p,k as _,I as m}from"./index-29fb9c31.js";import{_ as v}from"./uni-icons.1a1aa5ae.js";import{o as x,r as y}from"./uni-app.es.125322ac.js";import"./index.9253508f.js";import{_ as b}from"./_plugin-vue_export-helper.1b428a4d.js";const g=b({__name:"recharge",setup(b){let g=e(0),h=e(null),j=e(null),V=e(0);l(h,((e,l)=>{null==j.value&&(j.value=0),h.value=N(h.value),V.value=Number(e)+Number(j.value)})),l(j,((e,l)=>{null==h.value&&(h.value=0),j.value=N(j.value),V.value=Number(e)+Number(h.value)}));let k=e({});function N(e){return"0"==(e+="")?e:e.replace(/^0+/,"")}return x((e=>{g.value=e.member_id})),(e,l)=>{const x=u,b=y(_("uni-icons"),v),g=m;return a(),t(x,{class:"recharge"},{default:s((()=>[o(x,{class:"top"},{default:s((()=>[o(x,{style:{display:"flex","justify-content":"space-between"}},{default:s((()=>[o(x,null,{default:s((()=>[o(x,{class:"name"},{default:s((()=>[n(c(r(k).name),1)])),_:1}),o(x,{class:"tel"},{default:s((()=>[n(c(r(k).tel),1)])),_:1})])),_:1}),o(x,null,{default:s((()=>[o(b,{type:"vip",style:{color:"#fff","margin-top":"4rpx","margin-left":"4rpx"},size:"70"})])),_:1})])),_:1}),o(x,{style:{display:"flex","justify-content":"space-around","margin-top":"20rpx","background-color":"#fff","border-radius":"40rpx",padding:"10rpx"}},{default:s((()=>[o(x,null,{default:s((()=>[o(x,{class:"info_title"},{default:s((()=>[n(" 总充值金额(真实) ")])),_:1}),o(x,{class:"price"},{default:s((()=>[n(c(r(k).all_true_money),1)])),_:1})])),_:1}),o(x,null,{default:s((()=>[o(x,{class:"info_title",style:{color:"#18bc37"}},{default:s((()=>[n(" 剩余额度 ")])),_:1}),o(x,{class:"price",style:{color:"#55aa00"}},{default:s((()=>[n(c(r(k).amount),1)])),_:1})])),_:1})])),_:1}),o(x,{style:{padding:"40rpx","margin-top":"40rpx"}},{default:s((()=>[o(x,{class:"title"},{default:s((()=>[n("充值金额")])),_:1}),o(g,{class:"input","placeholder-style":"color:#ccc;",modelValue:r(h),"onUpdate:modelValue":l[0]||(l[0]=e=>d(h)?h.value=e:h=e),placeholder:"输入真实金额"},null,8,["modelValue"]),o(x,{class:"title"},{default:s((()=>[n("赠送金额")])),_:1}),o(g,{class:"input","placeholder-style":"color:#ccc;",modelValue:r(j),"onUpdate:modelValue":l[1]||(l[1]=e=>d(j)?j.value=e:j=e),placeholder:"输入赠送的额度"},null,8,["modelValue"]),r(V)>0?(a(),t(x,{key:0},{default:s((()=>[o(x,{class:"title"},{default:s((()=>[n("入账总额")])),_:1}),o(x,{class:"heji"},{default:s((()=>[n(" ¥"+c(r(V)),1)])),_:1})])),_:1})):i("",!0),o(x,{class:"button",onClick:l[2]||(l[2]=e=>null==h.value?(f({title:"请输入金额",icon:"none"}),!1):V.value>=99999999?(f({title:"金额过大",icon:"none"}),!1):void p({title:"提示",content:"确定充值吗?",confirmText:"确认",cancelText:"取消",success:function(e){e.confirm||e.cancel}}))},{default:s((()=>[n("充 值")])),_:1})])),_:1})])),_:1})])),_:1})}}},[["__scopeId","data-v-5878b79a"]]);export{g as default}; diff --git a/weihu/unpackage/dist/build/web/assets/pages-wode.57814f6e.js b/weihu/unpackage/dist/build/web/assets/pages-wode.57814f6e.js new file mode 100644 index 0000000..6d00fee --- /dev/null +++ b/weihu/unpackage/dist/build/web/assets/pages-wode.57814f6e.js @@ -0,0 +1 @@ +import{r as a,o as s,c as e,w as t,i as l,l as r,e as o,t as i,v as d,a as n,k as p}from"./index-29fb9c31.js";import{_ as u}from"./uni-icons.1a1aa5ae.js";import{a as c,r as f}from"./uni-app.es.125322ac.js";import{G as _}from"./index.9253508f.js";import{_ as m}from"./_plugin-vue_export-helper.1b428a4d.js";const g=m({__name:"wode",setup(m){let g=a({});return c((()=>{sessionStorage.setItem("userlist_type",""),_().then((a=>{a.status&&(g.value=a.data.info)}))})),(a,c)=>{const _=f(p("uni-icons"),u),m=l;return s(),e(m,{class:"page_wode"},{default:t((()=>[r(m,{class:"top"},{default:t((()=>[r(m,{style:{display:"flex",padding:"30rpx"}},{default:t((()=>[r(m,{class:"heade_img"},{default:t((()=>[r(_,{type:"person-filled",style:{color:"#39aba7","margin-top":"4rpx","margin-left":"4rpx"},size:"50"})])),_:1}),r(m,{style:{"margin-left":"10rpx"}},{default:t((()=>[r(m,{class:"name"},{default:t((()=>[o(i(d(g).cn_name),1)])),_:1}),r(m,{class:"zhuce"},{default:t((()=>[o("陪伴时长:"+i(d(g).days)+"天",1)])),_:1})])),_:1})])),_:1})])),_:1}),r(m,{style:{"padding-left":"40rpx","padding-right":"40rpx"}},{default:t((()=>[r(m,{class:"button",onClick:c[0]||(c[0]=a=>(localStorage.clear(),sessionStorage.clear(),void n({url:"/pages/login"})))},{default:t((()=>[o("退出登录")])),_:1})])),_:1})])),_:1})}}},[["__scopeId","data-v-94cd597c"]]);export{g as default}; diff --git a/weihu/unpackage/dist/build/web/assets/pages-wxLogin.67646d7a.js b/weihu/unpackage/dist/build/web/assets/pages-wxLogin.67646d7a.js new file mode 100644 index 0000000..73b8060 --- /dev/null +++ b/weihu/unpackage/dist/build/web/assets/pages-wxLogin.67646d7a.js @@ -0,0 +1 @@ +import{r as e,o as s,c as t,a,i as o}from"./index-29fb9c31.js";import{W as r}from"./index.9253508f.js";import{o as n}from"./uni-app.es.125322ac.js";const i={__name:"wxLogin",setup(i){let u=e("");return n((e=>{u.value=e.code,r({code:u.value}).then((e=>{e.status&&(sessionStorage.setItem("access_token",e.data.token),sessionStorage.setItem("refresh_token",e.data.refresh_token),a({url:"/pages/user/list"}))}))})),(e,a)=>{const r=o;return s(),t(r)}}};export{i as default}; diff --git a/weihu/unpackage/dist/build/web/assets/person_edit-c77a16f3.css b/weihu/unpackage/dist/build/web/assets/person_edit-c77a16f3.css new file mode 100644 index 0000000..a42feef --- /dev/null +++ b/weihu/unpackage/dist/build/web/assets/person_edit-c77a16f3.css @@ -0,0 +1 @@ +.UserAdd[data-v-3e42ab9e]{background-color:#fff;height:100vh}.top[data-v-3e42ab9e]{height:5.625rem;background-color:#53cdf9;padding-top:3.4375rem;color:#fff;display:flex;font-weight:700}.title[data-v-3e42ab9e]{font-size:1.125rem;font-weight:700;color:#333}.input[data-v-3e42ab9e]{margin-top:.625rem;margin-bottom:.9375rem;border:0;border-bottom:.03125rem solid #b0e2f9;height:2.5rem}.button[data-v-3e42ab9e]{width:100%;background-color:#00bbf9;height:3.125rem;line-height:3.125rem;text-align:center;color:#fff;font-weight:700;border-radius:1.5625rem;margin-top:2.5rem}.radio_row[data-v-3e42ab9e]{display:flex;margin-left:.625rem} diff --git a/weihu/unpackage/dist/build/web/assets/recharge-2b1b1870.css b/weihu/unpackage/dist/build/web/assets/recharge-2b1b1870.css new file mode 100644 index 0000000..421787f --- /dev/null +++ b/weihu/unpackage/dist/build/web/assets/recharge-2b1b1870.css @@ -0,0 +1 @@ +.recharge[data-v-5878b79a]{height:100vh;background-color:#fff}.top[data-v-5878b79a]{height:7.5rem;padding:1.5625rem;background-color:#ff8a5b;color:#fff}.name[data-v-5878b79a]{font-size:1.40625rem;font-weight:700}.tel[data-v-5878b79a]{font-size:.9375rem;margin-top:.3125rem}.info_title[data-v-5878b79a]{font-size:.9375rem;color:#733e29}.price[data-v-5878b79a]{text-align:center;color:#ff8a5b;font-weight:700;margin-top:.3125rem}.title[data-v-5878b79a]{font-size:1.125rem;font-weight:700;color:#333}.input[data-v-5878b79a]{margin-top:.625rem;margin-bottom:.625rem;border:0;border-bottom:.03125rem solid #b0e2f9;height:2.5rem;color:#333}.heji[data-v-5878b79a]{color:#ff8a5b;font-size:1.875rem;margin-top:.625rem;font-weight:700}.button[data-v-5878b79a]{width:100%;background-color:#ff8a5b;height:3.125rem;line-height:3.125rem;text-align:center;color:#fff;font-weight:700;border-radius:1.5625rem;margin-top:2.5rem} diff --git a/weihu/unpackage/dist/build/web/assets/uni-app.es.125322ac.js b/weihu/unpackage/dist/build/web/assets/uni-app.es.125322ac.js new file mode 100644 index 0000000..d0c8350 --- /dev/null +++ b/weihu/unpackage/dist/build/web/assets/uni-app.es.125322ac.js @@ -0,0 +1 @@ +import{V as s,W as a,X as o,Y as r,Z as t}from"./index-29fb9c31.js";function n(s,a){return"string"==typeof s?a:s}const e=o=>(r,n=a())=>{!t&&s(o,r,n)},i=e(o),f=e(r);export{i as a,f as o,n as r}; diff --git a/weihu/unpackage/dist/build/web/assets/uni-icons-1211a03e.css b/weihu/unpackage/dist/build/web/assets/uni-icons-1211a03e.css new file mode 100644 index 0000000..6e2350a --- /dev/null +++ b/weihu/unpackage/dist/build/web/assets/uni-icons-1211a03e.css @@ -0,0 +1 @@ +.uniui-cart-filled[data-v-5610c8db]:before{content:""}.uniui-gift-filled[data-v-5610c8db]:before{content:""}.uniui-color[data-v-5610c8db]:before{content:""}.uniui-wallet[data-v-5610c8db]:before{content:""}.uniui-settings-filled[data-v-5610c8db]:before{content:""}.uniui-auth-filled[data-v-5610c8db]:before{content:""}.uniui-shop-filled[data-v-5610c8db]:before{content:""}.uniui-staff-filled[data-v-5610c8db]:before{content:""}.uniui-vip-filled[data-v-5610c8db]:before{content:""}.uniui-plus-filled[data-v-5610c8db]:before{content:""}.uniui-folder-add-filled[data-v-5610c8db]:before{content:""}.uniui-color-filled[data-v-5610c8db]:before{content:""}.uniui-tune-filled[data-v-5610c8db]:before{content:""}.uniui-calendar-filled[data-v-5610c8db]:before{content:""}.uniui-notification-filled[data-v-5610c8db]:before{content:""}.uniui-wallet-filled[data-v-5610c8db]:before{content:""}.uniui-medal-filled[data-v-5610c8db]:before{content:""}.uniui-fire-filled[data-v-5610c8db]:before{content:""}.uniui-refreshempty[data-v-5610c8db]:before{content:""}.uniui-location-filled[data-v-5610c8db]:before{content:""}.uniui-person-filled[data-v-5610c8db]:before{content:""}.uniui-personadd-filled[data-v-5610c8db]:before{content:""}.uniui-arrowthinleft[data-v-5610c8db]:before{content:""}.uniui-arrowthinup[data-v-5610c8db]:before{content:""}.uniui-arrowthindown[data-v-5610c8db]:before{content:""}.uniui-back[data-v-5610c8db]:before{content:""}.uniui-forward[data-v-5610c8db]:before{content:""}.uniui-arrow-right[data-v-5610c8db]:before{content:""}.uniui-arrow-left[data-v-5610c8db]:before{content:""}.uniui-arrow-up[data-v-5610c8db]:before{content:""}.uniui-arrow-down[data-v-5610c8db]:before{content:""}.uniui-arrowthinright[data-v-5610c8db]:before{content:""}.uniui-down[data-v-5610c8db]:before{content:""}.uniui-bottom[data-v-5610c8db]:before{content:""}.uniui-arrowright[data-v-5610c8db]:before{content:""}.uniui-right[data-v-5610c8db]:before{content:""}.uniui-up[data-v-5610c8db]:before{content:""}.uniui-top[data-v-5610c8db]:before{content:""}.uniui-left[data-v-5610c8db]:before{content:""}.uniui-arrowup[data-v-5610c8db]:before{content:""}.uniui-eye[data-v-5610c8db]:before{content:""}.uniui-eye-filled[data-v-5610c8db]:before{content:""}.uniui-eye-slash[data-v-5610c8db]:before{content:""}.uniui-eye-slash-filled[data-v-5610c8db]:before{content:""}.uniui-info-filled[data-v-5610c8db]:before{content:""}.uniui-reload[data-v-5610c8db]:before{content:""}.uniui-micoff-filled[data-v-5610c8db]:before{content:""}.uniui-map-pin-ellipse[data-v-5610c8db]:before{content:""}.uniui-map-pin[data-v-5610c8db]:before{content:""}.uniui-location[data-v-5610c8db]:before{content:""}.uniui-starhalf[data-v-5610c8db]:before{content:""}.uniui-star[data-v-5610c8db]:before{content:""}.uniui-star-filled[data-v-5610c8db]:before{content:""}.uniui-calendar[data-v-5610c8db]:before{content:""}.uniui-fire[data-v-5610c8db]:before{content:""}.uniui-medal[data-v-5610c8db]:before{content:""}.uniui-font[data-v-5610c8db]:before{content:""}.uniui-gift[data-v-5610c8db]:before{content:""}.uniui-link[data-v-5610c8db]:before{content:""}.uniui-notification[data-v-5610c8db]:before{content:""}.uniui-staff[data-v-5610c8db]:before{content:""}.uniui-vip[data-v-5610c8db]:before{content:""}.uniui-folder-add[data-v-5610c8db]:before{content:""}.uniui-tune[data-v-5610c8db]:before{content:""}.uniui-auth[data-v-5610c8db]:before{content:""}.uniui-person[data-v-5610c8db]:before{content:""}.uniui-email-filled[data-v-5610c8db]:before{content:""}.uniui-phone-filled[data-v-5610c8db]:before{content:""}.uniui-phone[data-v-5610c8db]:before{content:""}.uniui-email[data-v-5610c8db]:before{content:""}.uniui-personadd[data-v-5610c8db]:before{content:""}.uniui-chatboxes-filled[data-v-5610c8db]:before{content:""}.uniui-contact[data-v-5610c8db]:before{content:""}.uniui-chatbubble-filled[data-v-5610c8db]:before{content:""}.uniui-contact-filled[data-v-5610c8db]:before{content:""}.uniui-chatboxes[data-v-5610c8db]:before{content:""}.uniui-chatbubble[data-v-5610c8db]:before{content:""}.uniui-upload-filled[data-v-5610c8db]:before{content:""}.uniui-upload[data-v-5610c8db]:before{content:""}.uniui-weixin[data-v-5610c8db]:before{content:""}.uniui-compose[data-v-5610c8db]:before{content:""}.uniui-qq[data-v-5610c8db]:before{content:""}.uniui-download-filled[data-v-5610c8db]:before{content:""}.uniui-pyq[data-v-5610c8db]:before{content:""}.uniui-sound[data-v-5610c8db]:before{content:""}.uniui-trash-filled[data-v-5610c8db]:before{content:""}.uniui-sound-filled[data-v-5610c8db]:before{content:""}.uniui-trash[data-v-5610c8db]:before{content:""}.uniui-videocam-filled[data-v-5610c8db]:before{content:""}.uniui-spinner-cycle[data-v-5610c8db]:before{content:""}.uniui-weibo[data-v-5610c8db]:before{content:""}.uniui-videocam[data-v-5610c8db]:before{content:""}.uniui-download[data-v-5610c8db]:before{content:""}.uniui-help[data-v-5610c8db]:before{content:""}.uniui-navigate-filled[data-v-5610c8db]:before{content:""}.uniui-plusempty[data-v-5610c8db]:before{content:""}.uniui-smallcircle[data-v-5610c8db]:before{content:""}.uniui-minus-filled[data-v-5610c8db]:before{content:""}.uniui-micoff[data-v-5610c8db]:before{content:""}.uniui-closeempty[data-v-5610c8db]:before{content:""}.uniui-clear[data-v-5610c8db]:before{content:""}.uniui-navigate[data-v-5610c8db]:before{content:""}.uniui-minus[data-v-5610c8db]:before{content:""}.uniui-image[data-v-5610c8db]:before{content:""}.uniui-mic[data-v-5610c8db]:before{content:""}.uniui-paperplane[data-v-5610c8db]:before{content:""}.uniui-close[data-v-5610c8db]:before{content:""}.uniui-help-filled[data-v-5610c8db]:before{content:""}.uniui-paperplane-filled[data-v-5610c8db]:before{content:""}.uniui-plus[data-v-5610c8db]:before{content:""}.uniui-mic-filled[data-v-5610c8db]:before{content:""}.uniui-image-filled[data-v-5610c8db]:before{content:""}.uniui-locked-filled[data-v-5610c8db]:before{content:""}.uniui-info[data-v-5610c8db]:before{content:""}.uniui-locked[data-v-5610c8db]:before{content:""}.uniui-camera-filled[data-v-5610c8db]:before{content:""}.uniui-chat-filled[data-v-5610c8db]:before{content:""}.uniui-camera[data-v-5610c8db]:before{content:""}.uniui-circle[data-v-5610c8db]:before{content:""}.uniui-checkmarkempty[data-v-5610c8db]:before{content:""}.uniui-chat[data-v-5610c8db]:before{content:""}.uniui-circle-filled[data-v-5610c8db]:before{content:""}.uniui-flag[data-v-5610c8db]:before{content:""}.uniui-flag-filled[data-v-5610c8db]:before{content:""}.uniui-gear-filled[data-v-5610c8db]:before{content:""}.uniui-home[data-v-5610c8db]:before{content:""}.uniui-home-filled[data-v-5610c8db]:before{content:""}.uniui-gear[data-v-5610c8db]:before{content:""}.uniui-smallcircle-filled[data-v-5610c8db]:before{content:""}.uniui-map-filled[data-v-5610c8db]:before{content:""}.uniui-map[data-v-5610c8db]:before{content:""}.uniui-refresh-filled[data-v-5610c8db]:before{content:""}.uniui-refresh[data-v-5610c8db]:before{content:""}.uniui-cloud-upload[data-v-5610c8db]:before{content:""}.uniui-cloud-download-filled[data-v-5610c8db]:before{content:""}.uniui-cloud-download[data-v-5610c8db]:before{content:""}.uniui-cloud-upload-filled[data-v-5610c8db]:before{content:""}.uniui-redo[data-v-5610c8db]:before{content:""}.uniui-images-filled[data-v-5610c8db]:before{content:""}.uniui-undo-filled[data-v-5610c8db]:before{content:""}.uniui-more[data-v-5610c8db]:before{content:""}.uniui-more-filled[data-v-5610c8db]:before{content:""}.uniui-undo[data-v-5610c8db]:before{content:""}.uniui-images[data-v-5610c8db]:before{content:""}.uniui-paperclip[data-v-5610c8db]:before{content:""}.uniui-settings[data-v-5610c8db]:before{content:""}.uniui-search[data-v-5610c8db]:before{content:""}.uniui-redo-filled[data-v-5610c8db]:before{content:""}.uniui-list[data-v-5610c8db]:before{content:""}.uniui-mail-open-filled[data-v-5610c8db]:before{content:""}.uniui-hand-down-filled[data-v-5610c8db]:before{content:""}.uniui-hand-down[data-v-5610c8db]:before{content:""}.uniui-hand-up-filled[data-v-5610c8db]:before{content:""}.uniui-hand-up[data-v-5610c8db]:before{content:""}.uniui-heart-filled[data-v-5610c8db]:before{content:""}.uniui-mail-open[data-v-5610c8db]:before{content:""}.uniui-heart[data-v-5610c8db]:before{content:""}.uniui-loop[data-v-5610c8db]:before{content:""}.uniui-pulldown[data-v-5610c8db]:before{content:""}.uniui-scan[data-v-5610c8db]:before{content:""}.uniui-bars[data-v-5610c8db]:before{content:""}.uniui-checkbox[data-v-5610c8db]:before{content:""}.uniui-checkbox-filled[data-v-5610c8db]:before{content:""}.uniui-shop[data-v-5610c8db]:before{content:""}.uniui-headphones[data-v-5610c8db]:before{content:""}.uniui-cart[data-v-5610c8db]:before{content:""}@font-face{font-family:uniicons;src:url(/h5/assets/uniicons-32e978a5.ttf)}.uni-icons[data-v-5610c8db]{font-family:uniicons;text-decoration:none;text-align:center} diff --git a/weihu/unpackage/dist/build/web/assets/uni-icons.1a1aa5ae.js b/weihu/unpackage/dist/build/web/assets/uni-icons.1a1aa5ae.js new file mode 100644 index 0000000..3d84e1e --- /dev/null +++ b/weihu/unpackage/dist/build/web/assets/uni-icons.1a1aa5ae.js @@ -0,0 +1 @@ +import{o,c as n,w as s,b as c,d as l,n as e,g as i}from"./index-29fb9c31.js";import{_ as d}from"./_plugin-vue_export-helper.1b428a4d.js";const a=[{font_class:"arrow-down",unicode:""},{font_class:"arrow-left",unicode:""},{font_class:"arrow-right",unicode:""},{font_class:"arrow-up",unicode:""},{font_class:"auth",unicode:""},{font_class:"auth-filled",unicode:""},{font_class:"back",unicode:""},{font_class:"bars",unicode:""},{font_class:"calendar",unicode:""},{font_class:"calendar-filled",unicode:""},{font_class:"camera",unicode:""},{font_class:"camera-filled",unicode:""},{font_class:"cart",unicode:""},{font_class:"cart-filled",unicode:""},{font_class:"chat",unicode:""},{font_class:"chat-filled",unicode:""},{font_class:"chatboxes",unicode:""},{font_class:"chatboxes-filled",unicode:""},{font_class:"chatbubble",unicode:""},{font_class:"chatbubble-filled",unicode:""},{font_class:"checkbox",unicode:""},{font_class:"checkbox-filled",unicode:""},{font_class:"checkmarkempty",unicode:""},{font_class:"circle",unicode:""},{font_class:"circle-filled",unicode:""},{font_class:"clear",unicode:""},{font_class:"close",unicode:""},{font_class:"closeempty",unicode:""},{font_class:"cloud-download",unicode:""},{font_class:"cloud-download-filled",unicode:""},{font_class:"cloud-upload",unicode:""},{font_class:"cloud-upload-filled",unicode:""},{font_class:"color",unicode:""},{font_class:"color-filled",unicode:""},{font_class:"compose",unicode:""},{font_class:"contact",unicode:""},{font_class:"contact-filled",unicode:""},{font_class:"down",unicode:""},{font_class:"bottom",unicode:""},{font_class:"download",unicode:""},{font_class:"download-filled",unicode:""},{font_class:"email",unicode:""},{font_class:"email-filled",unicode:""},{font_class:"eye",unicode:""},{font_class:"eye-filled",unicode:""},{font_class:"eye-slash",unicode:""},{font_class:"eye-slash-filled",unicode:""},{font_class:"fire",unicode:""},{font_class:"fire-filled",unicode:""},{font_class:"flag",unicode:""},{font_class:"flag-filled",unicode:""},{font_class:"folder-add",unicode:""},{font_class:"folder-add-filled",unicode:""},{font_class:"font",unicode:""},{font_class:"forward",unicode:""},{font_class:"gear",unicode:""},{font_class:"gear-filled",unicode:""},{font_class:"gift",unicode:""},{font_class:"gift-filled",unicode:""},{font_class:"hand-down",unicode:""},{font_class:"hand-down-filled",unicode:""},{font_class:"hand-up",unicode:""},{font_class:"hand-up-filled",unicode:""},{font_class:"headphones",unicode:""},{font_class:"heart",unicode:""},{font_class:"heart-filled",unicode:""},{font_class:"help",unicode:""},{font_class:"help-filled",unicode:""},{font_class:"home",unicode:""},{font_class:"home-filled",unicode:""},{font_class:"image",unicode:""},{font_class:"image-filled",unicode:""},{font_class:"images",unicode:""},{font_class:"images-filled",unicode:""},{font_class:"info",unicode:""},{font_class:"info-filled",unicode:""},{font_class:"left",unicode:""},{font_class:"link",unicode:""},{font_class:"list",unicode:""},{font_class:"location",unicode:""},{font_class:"location-filled",unicode:""},{font_class:"locked",unicode:""},{font_class:"locked-filled",unicode:""},{font_class:"loop",unicode:""},{font_class:"mail-open",unicode:""},{font_class:"mail-open-filled",unicode:""},{font_class:"map",unicode:""},{font_class:"map-filled",unicode:""},{font_class:"map-pin",unicode:""},{font_class:"map-pin-ellipse",unicode:""},{font_class:"medal",unicode:""},{font_class:"medal-filled",unicode:""},{font_class:"mic",unicode:""},{font_class:"mic-filled",unicode:""},{font_class:"micoff",unicode:""},{font_class:"micoff-filled",unicode:""},{font_class:"minus",unicode:""},{font_class:"minus-filled",unicode:""},{font_class:"more",unicode:""},{font_class:"more-filled",unicode:""},{font_class:"navigate",unicode:""},{font_class:"navigate-filled",unicode:""},{font_class:"notification",unicode:""},{font_class:"notification-filled",unicode:""},{font_class:"paperclip",unicode:""},{font_class:"paperplane",unicode:""},{font_class:"paperplane-filled",unicode:""},{font_class:"person",unicode:""},{font_class:"person-filled",unicode:""},{font_class:"personadd",unicode:""},{font_class:"personadd-filled",unicode:""},{font_class:"personadd-filled-copy",unicode:""},{font_class:"phone",unicode:""},{font_class:"phone-filled",unicode:""},{font_class:"plus",unicode:""},{font_class:"plus-filled",unicode:""},{font_class:"plusempty",unicode:""},{font_class:"pulldown",unicode:""},{font_class:"pyq",unicode:""},{font_class:"qq",unicode:""},{font_class:"redo",unicode:""},{font_class:"redo-filled",unicode:""},{font_class:"refresh",unicode:""},{font_class:"refresh-filled",unicode:""},{font_class:"refreshempty",unicode:""},{font_class:"reload",unicode:""},{font_class:"right",unicode:""},{font_class:"scan",unicode:""},{font_class:"search",unicode:""},{font_class:"settings",unicode:""},{font_class:"settings-filled",unicode:""},{font_class:"shop",unicode:""},{font_class:"shop-filled",unicode:""},{font_class:"smallcircle",unicode:""},{font_class:"smallcircle-filled",unicode:""},{font_class:"sound",unicode:""},{font_class:"sound-filled",unicode:""},{font_class:"spinner-cycle",unicode:""},{font_class:"staff",unicode:""},{font_class:"staff-filled",unicode:""},{font_class:"star",unicode:""},{font_class:"star-filled",unicode:""},{font_class:"starhalf",unicode:""},{font_class:"trash",unicode:""},{font_class:"trash-filled",unicode:""},{font_class:"tune",unicode:""},{font_class:"tune-filled",unicode:""},{font_class:"undo",unicode:""},{font_class:"undo-filled",unicode:""},{font_class:"up",unicode:""},{font_class:"top",unicode:""},{font_class:"upload",unicode:""},{font_class:"upload-filled",unicode:""},{font_class:"videocam",unicode:""},{font_class:"videocam-filled",unicode:""},{font_class:"vip",unicode:""},{font_class:"vip-filled",unicode:""},{font_class:"wallet",unicode:""},{font_class:"wallet-filled",unicode:""},{font_class:"weibo",unicode:""},{font_class:"weixin",unicode:""}];const t=d({name:"UniIcons",emits:["click"],props:{type:{type:String,default:""},color:{type:String,default:"#333333"},size:{type:[Number,String],default:16},customPrefix:{type:String,default:""},fontFamily:{type:String,default:""}},data:()=>({icons:a}),computed:{unicode(){let o=this.icons.find((o=>o.font_class===this.type));return o?o.unicode:""},iconSize(){return"number"==typeof(o=this.size)||/^[0-9]*$/g.test(o)?o+"px":o;var o},styleObj(){return""!==this.fontFamily?`color: ${this.color}; font-size: ${this.iconSize}; font-family: ${this.fontFamily};`:`color: ${this.color}; font-size: ${this.iconSize};`}},methods:{_onClick(){this.$emit("click")}}},[["render",function(d,a,t,f,u,_){const r=i;return o(),n(r,{style:l(_.styleObj),class:e(["uni-icons",["uniui-"+t.type,t.customPrefix,t.customPrefix?t.type:""]]),onClick:_._onClick},{default:s((()=>[c(d.$slots,"default",{},void 0,!0)])),_:3},8,["style","class","onClick"])}],["__scopeId","data-v-5610c8db"]]);export{t as _}; diff --git a/weihu/unpackage/dist/build/web/assets/uni.a8ea6d1d.css b/weihu/unpackage/dist/build/web/assets/uni.a8ea6d1d.css new file mode 100644 index 0000000..9d1cc6f --- /dev/null +++ b/weihu/unpackage/dist/build/web/assets/uni.a8ea6d1d.css @@ -0,0 +1 @@ +uni-checkbox-group[hidden]{display:none}uni-checkbox{-webkit-tap-highlight-color:transparent;display:inline-block;cursor:pointer}uni-checkbox[hidden]{display:none}uni-checkbox[disabled]{cursor:not-allowed}.uni-checkbox-wrapper{display:inline-flex;align-items:center;vertical-align:middle}.uni-checkbox-input{margin-right:5px;appearance:none;outline:0;border:1px solid #d1d1d1;background-color:#fff;border-radius:3px;width:22px;height:22px;position:relative}.uni-checkbox-input svg{color:#007aff;font-size:22px;position:absolute;top:50%;left:50%;transform:translate(-50%,-48%) scale(.73)}@media (hover: hover){uni-checkbox:not([disabled]) .uni-checkbox-input:hover{border-color:var(--HOVER-BD-COLOR, #007aff)!important}}uni-checkbox-group{display:block}uni-image{width:320px;height:240px;display:inline-block;overflow:hidden;position:relative}uni-image[hidden]{display:none}uni-image>div{width:100%;height:100%;background-repeat:no-repeat}uni-image>img{-webkit-touch-callout:none;user-select:none;display:block;position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}uni-image>.uni-image-will-change{will-change:transform}uni-input{display:block;font-size:16px;line-height:1.4em;height:1.4em;min-height:1.4em;overflow:hidden}uni-input[hidden]{display:none}.uni-input-wrapper,.uni-input-placeholder,.uni-input-form,.uni-input-input{outline:none;border:none;padding:0;margin:0;text-decoration:inherit}.uni-input-wrapper,.uni-input-form{display:flex;position:relative;width:100%;height:100%;flex-direction:column;justify-content:center}.uni-input-placeholder,.uni-input-input{width:100%}.uni-input-placeholder{position:absolute;top:auto!important;left:0;color:gray;overflow:hidden;text-overflow:clip;white-space:pre;word-break:keep-all;pointer-events:none;line-height:inherit}.uni-input-input{position:relative;display:block;height:100%;background:none;color:inherit;opacity:1;font:inherit;line-height:inherit;letter-spacing:inherit;text-align:inherit;text-indent:inherit;text-transform:inherit;text-shadow:inherit}.uni-input-input[type=search]::-webkit-search-cancel-button,.uni-input-input[type=search]::-webkit-search-decoration{display:none}.uni-input-input::-webkit-outer-spin-button,.uni-input-input::-webkit-inner-spin-button{appearance:none;margin:0}.uni-input-input[type=number]{-moz-appearance:textfield}.uni-input-input:disabled{-webkit-text-fill-color:currentcolor}.uni-label-pointer{cursor:pointer}uni-radio-group{display:block}uni-radio-group[hidden]{display:none}uni-radio{-webkit-tap-highlight-color:transparent;display:inline-block;cursor:pointer}uni-radio[hidden]{display:none}uni-radio[disabled]{cursor:not-allowed}.uni-radio-wrapper{display:inline-flex;align-items:center;vertical-align:middle}.uni-radio-input{appearance:none;margin-right:5px;outline:0;border:1px solid #d1d1d1;background-color:#fff;border-radius:50%;width:22px;height:22px;position:relative}@media (hover: hover){uni-radio:not([disabled]) .uni-radio-input:hover{border-color:var(--HOVER-BD-COLOR, #007aff)!important}}.uni-radio-input svg{color:#fff;font-size:18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-48%) scale(.73)}.uni-radio-input.uni-radio-input-disabled{background-color:#e1e1e1;border-color:#d1d1d1}.uni-radio-input.uni-radio-input-disabled svg{color:#adadad}@keyframes once-show{0%{top:0}}uni-resize-sensor,uni-resize-sensor>div{position:absolute;left:0;top:0;right:0;bottom:0;overflow:hidden}uni-resize-sensor{display:block;z-index:-1;visibility:hidden;animation:once-show 1ms}uni-resize-sensor>div>div{position:absolute;left:0;top:0}uni-resize-sensor>div:first-child>div{width:100000px;height:100000px}uni-resize-sensor>div:last-child>div{width:200%;height:200%}uni-switch{-webkit-tap-highlight-color:transparent;display:inline-block;cursor:pointer}uni-switch[hidden]{display:none}uni-switch[disabled]{cursor:not-allowed}uni-switch[disabled] .uni-switch-input{opacity:.7}.uni-switch-wrapper{display:inline-flex;align-items:center;vertical-align:middle}.uni-switch-input{appearance:none;position:relative;width:52px;height:32px;margin-right:5px;border:1px solid #dfdfdf;outline:0;border-radius:16px;box-sizing:border-box;background-color:#dfdfdf;transition:background-color .1s,border .1s}.uni-switch-input:before{content:" ";position:absolute;top:0;left:0;width:50px;height:30px;border-radius:15px;background-color:#fdfdfd;transition:transform .3s}.uni-switch-input:after{content:" ";position:absolute;top:0;left:0;width:30px;height:30px;border-radius:15px;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4);transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.uni-switch-input.uni-switch-input-checked{border-color:#007aff;background-color:#007aff}.uni-switch-input.uni-switch-input-checked:before{transform:scale(0)}.uni-switch-input.uni-switch-input-checked:after{transform:translate(20px)}uni-switch .uni-checkbox-input{margin-right:5px;appearance:none;outline:0;border:1px solid #d1d1d1;background-color:#fff;border-radius:3px;width:22px;height:22px;position:relative;color:#007aff}uni-switch:not([disabled]) .uni-checkbox-input:hover{border-color:#007aff}uni-switch .uni-checkbox-input svg{fill:#007aff;font-size:22px;position:absolute;top:50%;left:50%;transform:translate(-50%,-48%) scale(.73)}.uni-checkbox-input.uni-checkbox-input-disabled{background-color:#e1e1e1}.uni-checkbox-input.uni-checkbox-input-disabled:before{color:#adadad}uni-text[selectable]{cursor:auto;user-select:text}uni-text{white-space:pre-line}uni-textarea{width:300px;height:150px;display:block;position:relative;font-size:16px;line-height:normal;white-space:pre-wrap;word-break:break-all}uni-textarea[hidden]{display:none}.uni-textarea-wrapper,.uni-textarea-placeholder,.uni-textarea-line,.uni-textarea-compute,.uni-textarea-textarea{outline:none;border:none;padding:0;margin:0;text-decoration:inherit}.uni-textarea-wrapper{display:block;position:relative;width:100%;height:100%;min-height:inherit;overflow-y:hidden}.uni-textarea-placeholder,.uni-textarea-line,.uni-textarea-compute,.uni-textarea-textarea{position:absolute;width:100%;height:100%;left:0;top:0;white-space:inherit;word-break:inherit}.uni-textarea-placeholder{color:gray;overflow:hidden}.uni-textarea-line,.uni-textarea-compute{visibility:hidden;height:auto}.uni-textarea-line{width:1em}.uni-textarea-textarea{resize:none;background:none;color:inherit;opacity:1;font:inherit;line-height:inherit;letter-spacing:inherit;text-align:inherit;text-indent:inherit;text-transform:inherit;text-shadow:inherit}.uni-textarea-textarea-fix-margin{width:auto;right:0;margin:0 -3px}.uni-textarea-textarea:disabled{-webkit-text-fill-color:currentcolor}uni-view{display:block}uni-view[hidden]{display:none}uni-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;display:block;box-sizing:border-box}.uni-modal{position:fixed;z-index:999;width:80%;max-width:300px;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#fff;text-align:center;border-radius:3px;overflow:hidden}.uni-modal *{box-sizing:border-box}.uni-modal__hd{padding:1em 1.6em .3em}.uni-modal__title{font-weight:400;font-size:18px;word-wrap:break-word;word-break:break-all;white-space:pre-wrap;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.uni-modal__bd{padding:1.3em 1.6em;min-height:40px;font-size:15px;line-height:1.4;word-wrap:break-word;word-break:break-all;white-space:pre-wrap;color:#999;max-height:400px;overflow-x:hidden;overflow-y:auto}.uni-modal__textarea{resize:none;border:0;margin:0;width:90%;padding:10px;font-size:20px;outline:none;border:none;background-color:#eee;text-decoration:inherit}.uni-modal__ft{position:relative;line-height:48px;font-size:18px;display:flex}.uni-modal__ft:after{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1px solid #d5d5d6;color:#d5d5d6;transform-origin:0 0;transform:scaleY(.5)}.uni-modal__btn{display:block;flex:1;color:#3cc51f;text-decoration:none;-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative;cursor:pointer}.uni-modal__btn:active{background-color:#eee}.uni-modal__btn:after{content:" ";position:absolute;left:0;top:0;width:1px;bottom:0;border-left:1px solid #d5d5d6;color:#d5d5d6;transform-origin:0 0;transform:scaleX(.5)}.uni-modal__btn:first-child:after{display:none}.uni-modal__btn_default{color:#353535}.uni-modal__btn_primary{color:#007aff}uni-toast{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;display:block;box-sizing:border-box;pointer-events:none;font-size:16px}.uni-sample-toast{position:fixed;z-index:999;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;max-width:80%}.uni-simple-toast__text{display:inline-block;vertical-align:middle;color:#fff;background-color:rgba(17,17,17,.7);padding:10px 20px;border-radius:5px;font-size:13px;text-align:center;max-width:100%;word-break:break-all;white-space:normal}uni-toast .uni-mask{pointer-events:auto}.uni-toast{position:fixed;z-index:999;width:8em;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(17,17,17,.7);text-align:center;border-radius:5px;color:#fff}.uni-toast *{box-sizing:border-box}.uni-toast__icon{margin:20px 0 0;width:38px!important;height:38px!important;vertical-align:baseline!important}.uni-icon_toast{margin:15px 0 0}.uni-icon_toast.uni-icon-success-no-circle:before{color:#fff;font-size:55px}.uni-icon_toast.uni-loading{margin:20px 0 0;width:38px;height:38px;vertical-align:baseline}.uni-toast__content{margin:0 0 15px}uni-cover-image{display:block;line-height:1.2;overflow:hidden;height:100%;width:100%;pointer-events:auto}uni-cover-image img{width:100%;height:100%}uni-cover-image[hidden]{display:none}uni-cover-image .uni-cover-image{width:100%;height:100%;text-overflow:inherit;overflow:inherit;white-space:nowrap;-webkit-align-items:inherit;align-items:inherit;-webkit-justify-content:inherit;justify-content:inherit;-webkit-flex-direction:inherit;flex-direction:inherit;font-size:0;display:inherit} diff --git a/weihu/unpackage/dist/build/web/assets/uniicons-32e978a5.ttf b/weihu/unpackage/dist/build/web/assets/uniicons-32e978a5.ttf new file mode 100644 index 0000000000000000000000000000000000000000..14696d038d828073edac09ea4e5ba1dec2f58115 GIT binary patch literal 35824 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 F{2S@rCxHL} literal 0 HcmV?d00001 diff --git a/weihu/unpackage/dist/build/web/assets/userm-5a60dd5d.png b/weihu/unpackage/dist/build/web/assets/userm-5a60dd5d.png new file mode 100644 index 0000000000000000000000000000000000000000..8f5db14b19b40a8cc24cfa34ebcf8c35f9d1080e GIT binary patch literal 26810 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 + + + + + + + MemberMngr + + + + + + +
+ + + diff --git a/weihu/unpackage/dist/build/web/static/c1.png b/weihu/unpackage/dist/build/web/static/c1.png new file mode 100644 index 0000000000000000000000000000000000000000..9d38fdc45f54393919608143278902961ebfc03e GIT binary patch literal 401 zcmeAS@N?(olHy`uVBq!ia0vp^DImv+@EMfolJl@2-tdeIgiE72V3$+1a&#<;nGqB*6-wd0Dfno2^$& z7L}LYx}4kkKI1~4j2xSM#i^{e>mxFDC0DcwoaERsZFdmo&xZb=|e; zVChPF@z}uo`_jyFigEMR=cKgdY*81V{;5gJlXF9MvNaZ^cipGtGKCwGwYFdLih#FiI|b%1`}h zcD?9wzL;(MG`RGl!=KdO=X$Ia3G&T>{3@pZ$E>nWT~vAlEaktaqI1klarbacw7TzPB-Tm@A?1# z=DKt1Tm@&jBni*W72Dq8$U1XQ@j1)qcYd?AM-~6vdS%zgB|W!|l9z8;VdkK15fZWZ z0_Xa#{=&Tl?+&}Myixw!c0&2Cz{(%uYaLfyIpx20a+b;i&8Hu}PrN-Tsf8gx{xaWd zSEda)?3G(j%z6CKKWpOGAAJoS5gg_&aw+l?Pq*dmh)8I56YfnYkc%|gRM+fjvg@w| z$E(g+E=n8A7O8TmM)@~hDG@eQ_vn5n5wpR0%`A=`87W~$m7>*=T~gqVW%D$JmT%Wy00-NUV`g= zPWq+lU_K79dVw=Ll(hEL%sa^y|HiF3Bqng#c7b&Xt+%gdOo& V%D;5ZBtB5oc)I$ztaD0e0stIlwo?EA literal 0 HcmV?d00001 diff --git a/weihu/unpackage/dist/build/web/static/c3.png b/weihu/unpackage/dist/build/web/static/c3.png new file mode 100644 index 0000000000000000000000000000000000000000..216202ad01c5d093a15c247cf791bf66759cf54d GIT binary patch literal 511 zcmeAS@N?(olHy`uVBq!ia0vp^DImqEwn3#C`6axcex~Gd{NX4zUH%{jrQQ%<>_`I#L<;VZ} zZHv8>O^d80dDUJWN}qZ5sw(5+2E$_#$vr=hznV9v_(!hA^s)ehHzYuO_$GPFaj>L^Z^8*-5pGM3JjCnSB#oUXR4yIck*z;L5euG4hrQnMaF=Mr^If6ezqfPO{rmaH zG`Recv6gZBZ^h$ro*MqgZ`L;0*JWSQ?4MdEEc#Ycl^2Ku*&||7ybYSKxgR(e zUi8LbW#8LW_O;o`+{cdv9h)e%;+1X1dv+zh{}-wmlY4-{_IaWH_ctMZlX+XXL2>Bm L>gTe~DWM4f<{`=m literal 0 HcmV?d00001 diff --git a/weihu/unpackage/dist/build/web/static/c4.png b/weihu/unpackage/dist/build/web/static/c4.png new file mode 100644 index 0000000000000000000000000000000000000000..fb8b4770c323cc87544a502c4efcd9792ec6047a GIT binary patch literal 476 zcmeAS@N?(olHy`uVBq!ia0vp^DIm!v{Zmph6H*@EOQ`c;Jj35m?s8tsB!ig_bOsad3NWyNKsO#%u4s6f}!WF<$1wue~HTU+T}QZ;Gq4 z+^p*LR=oRR<2>VYrDayznw7JEgn9(s4mmKdKH{5e^24HIn&xXKq`oqWXf4s;nPY6> zl5RSUO)+g!*Qq{!;a&O8LAO2%J{IadS>Y&oFLd#-`B8Zi;r0eCLdRUCfQpstnaz}|9;&C$edE%qT=zMqcbI`S>(i_Uwsp-Jh?$Zac<}T=h6;^ V(bfHGPg+0`|eiw2lA( literal 0 HcmV?d00001 diff --git a/weihu/unpackage/dist/build/web/static/c5.png b/weihu/unpackage/dist/build/web/static/c5.png new file mode 100644 index 0000000000000000000000000000000000000000..310bfb123ba811240a23883c589557cced22af97 GIT binary patch literal 472 zcmeAS@N?(olHy`uVBq!ia0vp^DImMU#{OfDLKp{`iu-m;URIy-X0%w>4GPR z_aE3Db+En7Vpp-?y{8>c_3j;K1E(wImUzhRpIo-4)yng0f9$<4bN?NcJ+$)R>Cmd5 zPnT-Q*3a3qRzbM)VHC^C!+&Q!2$x98T^XQ1{a2U4m97Z?l}kQ1avTGN#j9nTb Uw;LB#rGg^I)78&qol`;+04O}Qp#T5? literal 0 HcmV?d00001 diff --git a/weihu/unpackage/dist/build/web/static/c6.png b/weihu/unpackage/dist/build/web/static/c6.png new file mode 100644 index 0000000000000000000000000000000000000000..c3c45d8814b2657a1c603b1a44c8207da134cb40 GIT binary patch literal 545 zcmeAS@N?(olHy`uVBq!ia0vp^DImqbxJT^6j8j=}L4 z`U~zp;jZGGq_3%#*Y{@jiL-*|KAoCX9M=6tMV3p`Xx_9LpK6YHtIv61@a%(@?tX{a zixmsYle>5975wq9?fBo`FZ<0Z_ST1U_$og>`Bwh@oq)-Q*IY8`n6H2IUEezHG>gnR z4m?JSR+TGA8lKK}%#OUITJo;LRm!DE@lpDwn1HB=DfxjiElxjmC-aCcb$n6qV?vwH z70D$Ac9y-Kb4tS6k2yc|sk#5)HGj$%vfgZBIOdhE(svqtDm`(*VzL-mu^Hy19AKPf2Xw<}^wvyk3;W5tc1>eFM@ s<<*_%cP|y0-yh@^lK=|O<{9 literal 0 HcmV?d00001 diff --git a/weihu/unpackage/dist/build/web/static/c7.png b/weihu/unpackage/dist/build/web/static/c7.png new file mode 100644 index 0000000000000000000000000000000000000000..a1e73908c282c8ce053a037a9b0d0ff2bcdb5f28 GIT binary patch literal 365 zcmeAS@N?(olHy`uVBq!ia0vp^DIm6ZD L`njxgN@xNA8ryiD literal 0 HcmV?d00001 diff --git a/weihu/unpackage/dist/build/web/static/c8.png b/weihu/unpackage/dist/build/web/static/c8.png new file mode 100644 index 0000000000000000000000000000000000000000..c32633c0b399d119fe940b19fb48ee0efd986ca1 GIT binary patch literal 587 zcmeAS@N?(olHy`uVBq!ia0vp^DImtDWKw)GSgG z<{?!7vyg^n3M^01LJZ}7srr_TW_zQ?t87k(~wwf+9)vT z%KQIoiZ6ORmsqxitIvdcU#@t4EXP6v-^(UI#Jk~jfg$H7CzX--mMU=ckjl- zO_N=n{=9#BNIpzt0(^6iu(G%&IbVv*qm>1hi!XSEd0U$OB}=(W(sDW)~2<6brG`eb|Eywk@UH2a9_S~2ou;@L{mE;Re4S!9(w0H>~IdYlxQPbf~&0B26{}evs0SCD6 b<@sM36JAtSn%f$@0;LB}S3j3^P6r-DwW=|@#WR(W@( zZdqJkeNu(zZcxH)-rk0j)>6#pwJ%5 z({0I4*ENL;Hg>s)Wo2yHMQWq+YVK10K1LEVCnUj62Kls6uex~DF( zmCs;?h^>{Qb=Fc@o?qGaU(P$0_Dg@wVQpV1_%AL~YBQ@%pW7wIWu-GZ7%RRBC{J)$ zYTez|@_3zqf=Wi}%JdkW31MA*>f4V5YcgIo@dcs(Z~1ke=Y_pcHP{M@c~4hAmvv4F FO#nHb*8Bhf literal 0 HcmV?d00001 diff --git a/weihu/unpackage/dist/build/web/static/customicons.css b/weihu/unpackage/dist/build/web/static/customicons.css new file mode 100644 index 0000000..14ed5fa --- /dev/null +++ b/weihu/unpackage/dist/build/web/static/customicons.css @@ -0,0 +1,20 @@ +@font-face { + font-family: "customicons"; /* Project id 2878519 */ + src:url('/static/customicons.ttf') format('truetype'); +} + +.customicons { + font-family: "customicons" !important; +} + +.youxi:before { + content: "\e60e"; +} + +.wenjian:before { + content: "\e60f"; +} + +.zhuanfa:before { + content: "\e610"; +} diff --git a/weihu/unpackage/dist/build/web/static/customicons.ttf b/weihu/unpackage/dist/build/web/static/customicons.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a3c8ab9f22d18d5d605503eda314e5d2a31fdfc0 GIT binary patch literal 2416 zcmd^A%WoS+82@H>?IgD2#K~q|hdkDH>bQB>&f0O>=25F@5|GlQX`8fENObGiPEx<* zIHl>yDoB8U!lAtvAt9k$df{KC1gT1(TA*@aKU;Z8A_c6Yj%<0Ab$%Pq=pKvad z-A@0oKRQn&-bGc{Qu=Do+{0<;!iM5&AR2xX-va&;wQns~zS&B(8f^c>xHVfy>O!2V zuzd$(TTZ`OWbJet@*^0lc|DhE{bb?+k@a&TAyX`DmiI>vrzUh9wW#VtLONPQPcgH{GfcG%HCo!>rVIv8K7)wAe(G9W~W6s*} z5MlL3;c^>AXo`e0v-20pnbpgA>V(Zx`M)vCu4i=kuX|?D<5C8Ok=0}+EcYWmqwucq z9k>tcJ$p@N7UdY3K%*@M)z9zF77#b3%z!fxHdq^cAvWrY zjm5{}(W73UQ-HKbh-#b|iyQiGC8|vcP=ZB(`A1^`pS7F$eO6f+XC1Pl#U~jwSS-Z6 zoYdm6fFb2Ts4UG+2aoy3eJ4h)WHMJqPWZ+ggv;Y`8Ne>v?K0a?dV7a@d%xnHstS*S!80>UHNq5P zcT^Cf-6E!7v@~-j7+e|8elTC7!G#HLb7P0n=yWzJ9gWT2iG@K%Yp-64j#evA{TmZG zWJPwUm;la=mS?v1K>SNwq9YWdlSr<&p0z19Zlu(!^)Mr=JSzZ7)T_mjuz=s|>kl!c zB@l~)Q)H`{IH*LH!r`TeI(%*{!Lr8Sps0GoVXsi(ZM7mhk8cX!KdH!FU9!mAbI=zO zP#q6W0#>gAiixoIV3!-P``)ng_~q*Du3#5l{`J@HiH~s`$rPj0xaF>5@3G|gDTd`t z2}&`saAq1brJKoCUtp5O z;^K01ht1M-_H0vw)#X+iuR9#q9aYKR<`5;DCw%I1?(O?_+2N4wrR4G}CnNsOmL?^| z?r41nJAO^`vqW__v>3uGEQc3DyKNq9yhk|YJmP6uSZGw-E=vQP_BpOMS9fi$j;5~R zmD%KpS-b3(?Z^BHZ8{R|>1<(-tEK86+@Y}Cr!9vT!UsEbw=A*jY1`o&ywm0}zN$9* z)x4>Q+QHOsI)0nBn^>R*ddb8hc%O+S-~kg`@aNM^Yz04QVjB(OyQ}-O!($Prh)GSD zCqQqSm{BWzW@3Sy^o5B<@ZXwP0{+Rw7E);6#8&VJCbrQEYc{c+0xUUQO6ld)s(Ni( zT~8MB=|aAI*q={jwz7KZaCq3Sq)MCXg}gcviX2jNseGz*=w|aqMk|-oYPwX&sk88x z%4Q2{u~gVdCCj0;a=Cai9OmS z&fu!b!m{+7^jYf_XqRXcdfcZoHN+IGM+T-)9_ZH9MG(} zz7$rH1y-?vT($u}Noa>?&9ExsItb%AjOS24WW<@{KiqoZ|NR#gi3v<(60?v^AJ&GW i+l8&0>&^ObYFtuIC+Gpxs*A((`E@KK=o#Msw}} literal 0 HcmV?d00001 diff --git a/weihu/unpackage/dist/build/web/static/images/userm.png b/weihu/unpackage/dist/build/web/static/images/userm.png new file mode 100644 index 0000000000000000000000000000000000000000..8f5db14b19b40a8cc24cfa34ebcf8c35f9d1080e GIT binary patch literal 26810 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
$$+yVJ-+pL{3Kq@ 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 SYs}WS&%*SCNx89m_V18E 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 B9eV(zLIQk3T!FM+$0UP}i3aTx^*bi% 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 literal 0 HcmV?d00001 diff --git a/weihu/unpackage/dist/cache/.vite/deps/_metadata.json b/weihu/unpackage/dist/cache/.vite/deps/_metadata.json new file mode 100644 index 0000000..5b4f7ad --- /dev/null +++ b/weihu/unpackage/dist/cache/.vite/deps/_metadata.json @@ -0,0 +1,8 @@ +{ + "hash": "90ac5308", + "configHash": "3f136dd9", + "lockfileHash": "88b2d9a7", + "browserHash": "e620faa7", + "optimized": {}, + "chunks": {} +} \ No newline at end of file diff --git a/weihu/unpackage/dist/cache/.vite/deps/package.json b/weihu/unpackage/dist/cache/.vite/deps/package.json new file mode 100644 index 0000000..3dbc1ca --- /dev/null +++ b/weihu/unpackage/dist/cache/.vite/deps/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +}