From 7a87624e533a4e3464fcb062143e1d184157953a Mon Sep 17 00:00:00 2001 From: Csqqqqq <1299456486@qq.com> Date: Fri, 2 Aug 2024 14:59:20 +0800 Subject: [PATCH] 11 --- .hbuilderx/launch.json | 16 + App.vue | 18 + components/file-upload/file-upload.vue | 294 + components/tab-bar.vue | 65 + index.html | 20 + js/tabBarList.js | 26 + main.js | 24 + manifest.json | 72 + pages.json | 50 + pages/cloudStore/apply.vue | 408 + pages/cloudStore/cloudStoreDetail.vue | 254 + pages/cloudStore/cloudStoreList.vue | 60 + pages/cloudStore/components/couponsAct.vue | 32 + pages/cloudStore/components/dropshipping.vue | 150 + .../cloudStore/components/shopDetailCard.vue | 67 + pages/cloudStore/components/shopIntroduce.vue | 9 + pages/cloudStore/components/shopItem.vue | 206 + pages/cloudStore/components/wholeSales.vue | 240 + pages/index/index.vue | 57 + static/img/favicon.png | Bin 0 -> 4286 bytes static/img/gps-location.png | Bin 0 -> 794 bytes static/img/home.png | Bin 0 -> 2637 bytes static/img/homeHL.png | Bin 0 -> 2196 bytes static/img/success-icon.png | Bin 0 -> 5445 bytes static/img/user.png | Bin 0 -> 4793 bytes static/img/userHL.png | Bin 0 -> 4214 bytes static/img/xlw-iot-tab-act.png | Bin 0 -> 2096 bytes static/img/xlw-iot-tab.png | Bin 0 -> 3302 bytes static/img/yxs-chat-act.png | Bin 0 -> 2499 bytes static/img/yxs-chat.png | Bin 0 -> 2420 bytes static/img/yxs-index.png | Bin 0 -> 2062 bytes static/img/yxs-index_act.png | Bin 0 -> 1629 bytes static/img/yxs-my.png | Bin 0 -> 2659 bytes static/img/yxs-my_act.png | Bin 0 -> 2175 bytes static/img/yxs-origin.png | Bin 0 -> 3343 bytes static/img/yxs-origin_act.png | Bin 0 -> 2645 bytes uni.promisify.adaptor.js | 10 + uni.scss | 78 + uni_modules/uview-ui/LICENSE | 21 + uni_modules/uview-ui/README.md | 66 + uni_modules/uview-ui/changelog.md | 376 + .../uview-ui/components/u--form/u--form.vue | 78 + .../uview-ui/components/u--image/u--image.vue | 47 + .../uview-ui/components/u--input/u--input.vue | 73 + .../uview-ui/components/u--text/u--text.vue | 44 + .../components/u--textarea/u--textarea.vue | 48 + .../components/u-action-sheet/props.js | 54 + .../u-action-sheet/u-action-sheet.vue | 278 + .../uview-ui/components/u-album/props.js | 59 + .../uview-ui/components/u-album/u-album.vue | 259 + .../uview-ui/components/u-alert/props.js | 44 + .../uview-ui/components/u-alert/u-alert.vue | 243 + .../components/u-avatar-group/props.js | 52 + .../u-avatar-group/u-avatar-group.vue | 103 + .../uview-ui/components/u-avatar/props.js | 78 + .../uview-ui/components/u-avatar/u-avatar.vue | 173 + .../uview-ui/components/u-back-top/props.js | 54 + .../components/u-back-top/u-back-top.vue | 129 + .../uview-ui/components/u-badge/props.js | 72 + .../uview-ui/components/u-badge/u-badge.vue | 171 + .../uview-ui/components/u-button/nvue.scss | 46 + .../uview-ui/components/u-button/props.js | 161 + .../uview-ui/components/u-button/u-button.vue | 495 + .../uview-ui/components/u-button/vue.scss | 80 + .../uview-ui/components/u-calendar/header.vue | 99 + .../uview-ui/components/u-calendar/month.vue | 579 + .../uview-ui/components/u-calendar/props.js | 144 + .../components/u-calendar/u-calendar.vue | 384 + .../uview-ui/components/u-calendar/util.js | 85 + .../components/u-car-keyboard/props.js | 14 + .../u-car-keyboard/u-car-keyboard.vue | 311 + .../uview-ui/components/u-cell-group/props.js | 14 + .../components/u-cell-group/u-cell-group.vue | 61 + .../uview-ui/components/u-cell/props.js | 110 + .../uview-ui/components/u-cell/u-cell.vue | 229 + .../components/u-checkbox-group/props.js | 82 + .../u-checkbox-group/u-checkbox-group.vue | 103 + .../uview-ui/components/u-checkbox/props.js | 69 + .../components/u-checkbox/u-checkbox.vue | 344 + .../components/u-circle-progress/props.js | 8 + .../u-circle-progress/u-circle-progress.vue | 198 + .../uview-ui/components/u-code-input/props.js | 79 + .../components/u-code-input/u-code-input.vue | 252 + .../uview-ui/components/u-code/props.js | 34 + .../uview-ui/components/u-code/u-code.vue | 129 + .../uview-ui/components/u-col/props.js | 29 + .../uview-ui/components/u-col/u-col.vue | 162 + .../components/u-collapse-item/props.js | 59 + .../u-collapse-item/u-collapse-item.vue | 225 + .../uview-ui/components/u-collapse/props.js | 19 + .../components/u-collapse/u-collapse.vue | 90 + .../components/u-column-notice/props.js | 55 + .../u-column-notice/u-column-notice.vue | 160 + .../uview-ui/components/u-count-down/props.js | 24 + .../components/u-count-down/u-count-down.vue | 163 + .../uview-ui/components/u-count-down/utils.js | 62 + .../uview-ui/components/u-count-to/props.js | 59 + .../components/u-count-to/u-count-to.vue | 184 + .../components/u-datetime-picker/props.js | 116 + .../u-datetime-picker/u-datetime-picker.vue | 360 + .../uview-ui/components/u-divider/props.js | 44 + .../components/u-divider/u-divider.vue | 116 + .../components/u-dropdown-item/props.js | 36 + .../u-dropdown-item/u-dropdown-item.vue | 127 + .../uview-ui/components/u-dropdown/props.js | 65 + .../components/u-dropdown/u-dropdown.vue | 127 + .../uview-ui/components/u-empty/props.js | 59 + .../uview-ui/components/u-empty/u-empty.vue | 128 + .../uview-ui/components/u-form-item/props.js | 48 + .../components/u-form-item/u-form-item.vue | 235 + .../uview-ui/components/u-form/props.js | 45 + .../uview-ui/components/u-form/u-form.vue | 214 + .../uview-ui/components/u-gap/props.js | 24 + .../uview-ui/components/u-gap/u-gap.vue | 38 + .../uview-ui/components/u-grid-item/props.js | 14 + .../components/u-grid-item/u-grid-item.vue | 209 + .../uview-ui/components/u-grid/props.js | 19 + .../uview-ui/components/u-grid/u-grid.vue | 97 + .../uview-ui/components/u-icon/icons.js | 214 + .../uview-ui/components/u-icon/props.js | 89 + .../uview-ui/components/u-icon/u-icon.vue | 234 + .../uview-ui/components/u-image/props.js | 84 + .../uview-ui/components/u-image/u-image.vue | 232 + .../components/u-index-anchor/props.js | 29 + .../u-index-anchor/u-index-anchor.vue | 91 + .../uview-ui/components/u-index-item/props.js | 5 + .../components/u-index-item/u-index-item.vue | 87 + .../uview-ui/components/u-index-list/props.js | 29 + .../components/u-index-list/u-index-list.vue | 440 + .../uview-ui/components/u-input/props.js | 187 + .../uview-ui/components/u-input/u-input.vue | 354 + .../uview-ui/components/u-keyboard/props.js | 84 + .../components/u-keyboard/u-keyboard.vue | 164 + .../components/u-line-progress/props.js | 28 + .../u-line-progress/u-line-progress.vue | 144 + .../uview-ui/components/u-line/props.js | 33 + .../uview-ui/components/u-line/u-line.vue | 62 + .../uview-ui/components/u-link/props.js | 39 + .../uview-ui/components/u-link/u-link.vue | 83 + .../uview-ui/components/u-list-item/props.js | 9 + .../components/u-list-item/u-list-item.vue | 116 + .../uview-ui/components/u-list/props.js | 76 + .../uview-ui/components/u-list/u-list.vue | 157 + .../components/u-loading-icon/props.js | 59 + .../u-loading-icon/u-loading-icon.vue | 343 + .../components/u-loading-page/props.js | 49 + .../u-loading-page/u-loading-page.vue | 115 + .../uview-ui/components/u-loadmore/props.js | 94 + .../components/u-loadmore/u-loadmore.vue | 150 + .../uview-ui/components/u-modal/props.js | 89 + .../uview-ui/components/u-modal/u-modal.vue | 228 + .../uview-ui/components/u-navbar/props.js | 84 + .../uview-ui/components/u-navbar/u-navbar.vue | 186 + .../uview-ui/components/u-no-network/props.js | 19 + .../components/u-no-network/u-no-network.vue | 220 + .../uview-ui/components/u-notice-bar/props.js | 70 + .../components/u-notice-bar/u-notice-bar.vue | 101 + .../uview-ui/components/u-notify/props.js | 49 + .../uview-ui/components/u-notify/u-notify.vue | 211 + .../uview-ui/components/u-number-box/props.js | 109 + .../components/u-number-box/u-number-box.vue | 416 + .../components/u-number-keyboard/props.js | 19 + .../u-number-keyboard/u-number-keyboard.vue | 196 + .../uview-ui/components/u-overlay/props.js | 24 + .../components/u-overlay/u-overlay.vue | 68 + .../uview-ui/components/u-parse/node/node.vue | 499 + .../uview-ui/components/u-parse/parser.js | 1075 + .../uview-ui/components/u-parse/props.js | 45 + .../uview-ui/components/u-parse/u-parse.vue | 366 + .../components/u-picker-column/props.js | 5 + .../u-picker-column/u-picker-column.vue | 27 + .../uview-ui/components/u-picker/props.js | 79 + .../uview-ui/components/u-picker/u-picker.vue | 286 + .../uview-ui/components/u-popup/props.js | 79 + .../uview-ui/components/u-popup/u-popup.vue | 304 + .../components/u-radio-group/props.js | 85 + .../u-radio-group/u-radio-group.vue | 108 + .../uview-ui/components/u-radio/props.js | 64 + .../uview-ui/components/u-radio/u-radio.vue | 339 + .../uview-ui/components/u-rate/props.js | 69 + .../uview-ui/components/u-rate/u-rate.vue | 306 + .../uview-ui/components/u-read-more/props.js | 61 + .../components/u-read-more/u-read-more.vue | 157 + .../uview-ui/components/u-row-notice/props.js | 39 + .../components/u-row-notice/u-row-notice.vue | 330 + .../uview-ui/components/u-row/props.js | 19 + .../uview-ui/components/u-row/u-row.vue | 93 + .../components/u-safe-bottom/props.js | 5 + .../u-safe-bottom/u-safe-bottom.vue | 56 + .../uview-ui/components/u-scroll-list/nvue.js | 28 + .../components/u-scroll-list/other.js | 0 .../components/u-scroll-list/props.js | 34 + .../components/u-scroll-list/scrollWxs.wxs | 50 + .../u-scroll-list/u-scroll-list.vue | 224 + .../uview-ui/components/u-search/props.js | 118 + .../uview-ui/components/u-search/u-search.vue | 303 + .../uview-ui/components/u-skeleton/props.js | 59 + .../components/u-skeleton/u-skeleton.vue | 244 + .../uview-ui/components/u-slider/mpother.js | 113 + .../uview-ui/components/u-slider/mpwxs.js | 42 + .../uview-ui/components/u-slider/mpwxs.wxs | 121 + .../components/u-slider/nvue - 副本.js | 180 + .../uview-ui/components/u-slider/nvue.js | 193 + .../uview-ui/components/u-slider/props.js | 54 + .../uview-ui/components/u-slider/u-slider.vue | 55 + .../uview-ui/components/u-status-bar/props.js | 8 + .../components/u-status-bar/u-status-bar.vue | 46 + .../uview-ui/components/u-steps-item/props.js | 24 + .../components/u-steps-item/u-steps-item.vue | 316 + .../uview-ui/components/u-steps/props.js | 39 + .../uview-ui/components/u-steps/u-steps.vue | 80 + .../uview-ui/components/u-sticky/props.js | 40 + .../uview-ui/components/u-sticky/u-sticky.vue | 212 + .../uview-ui/components/u-subsection/props.js | 49 + .../components/u-subsection/u-subsection.vue | 299 + .../u-swipe-action-item/index - backup.wxs | 256 + .../components/u-swipe-action-item/index.wxs | 225 + .../u-swipe-action-item/nvue - backup.js | 270 + .../components/u-swipe-action-item/nvue.js | 174 + .../components/u-swipe-action-item/props.js | 41 + .../u-swipe-action-item.vue | 190 + .../components/u-swipe-action-item/wxs.js | 15 + .../components/u-swipe-action/props.js | 9 + .../u-swipe-action/u-swipe-action.vue | 67 + .../components/u-swiper-indicator/props.js | 29 + .../u-swiper-indicator/u-swiper-indicator.vue | 110 + .../uview-ui/components/u-swiper/props.js | 125 + .../uview-ui/components/u-swiper/u-swiper.vue | 255 + .../uview-ui/components/u-switch/props.js | 54 + .../uview-ui/components/u-switch/u-switch.vue | 177 + .../components/u-tabbar-item/props.js | 35 + .../u-tabbar-item/u-tabbar-item.vue | 142 + .../uview-ui/components/u-tabbar/props.js | 44 + .../uview-ui/components/u-tabbar/u-tabbar.vue | 141 + .../uview-ui/components/u-table/props.js | 5 + .../uview-ui/components/u-table/u-table.vue | 29 + .../uview-ui/components/u-tabs-item/props.js | 5 + .../components/u-tabs-item/u-tabs-item.vue | 29 + .../uview-ui/components/u-tabs/props.js | 64 + .../uview-ui/components/u-tabs/u-tabs.vue | 363 + .../uview-ui/components/u-tag/props.js | 84 + .../uview-ui/components/u-tag/u-tag.vue | 358 + uni_modules/uview-ui/components/u-td/props.js | 5 + uni_modules/uview-ui/components/u-td/u-td.vue | 31 + .../uview-ui/components/u-text/props.js | 110 + .../uview-ui/components/u-text/u-text.vue | 223 + .../uview-ui/components/u-text/value.js | 85 + .../uview-ui/components/u-textarea/props.js | 119 + .../components/u-textarea/u-textarea.vue | 239 + .../uview-ui/components/u-toast/u-toast.vue | 291 + .../uview-ui/components/u-toolbar/props.js | 34 + .../components/u-toolbar/u-toolbar.vue | 102 + .../components/u-tooltip/clipboard.min.js | 58 + .../uview-ui/components/u-tooltip/props.js | 59 + .../components/u-tooltip/u-tooltip.vue | 365 + uni_modules/uview-ui/components/u-tr/props.js | 5 + uni_modules/uview-ui/components/u-tr/u-tr.vue | 31 + .../components/u-transition/nvue.ani-map.js | 68 + .../uview-ui/components/u-transition/props.js | 24 + .../components/u-transition/transition.js | 157 + .../components/u-transition/u-transition.vue | 92 + .../u-transition/vue.ani-style.scss | 113 + .../uview-ui/components/u-upload/mixin.js | 21 + .../uview-ui/components/u-upload/props.js | 124 + .../uview-ui/components/u-upload/u-upload.vue | 558 + .../uview-ui/components/u-upload/utils.js | 151 + .../uview-ui/components/uview-ui/uview-ui.vue | 15 + uni_modules/uview-ui/index.js | 79 + uni_modules/uview-ui/index.scss | 23 + uni_modules/uview-ui/libs/config/color.js | 17 + uni_modules/uview-ui/libs/config/config.js | 34 + uni_modules/uview-ui/libs/config/props.js | 190 + .../uview-ui/libs/config/props/actionSheet.js | 25 + .../uview-ui/libs/config/props/album.js | 25 + .../uview-ui/libs/config/props/alert.js | 22 + .../uview-ui/libs/config/props/avatar.js | 28 + .../uview-ui/libs/config/props/avatarGroup.js | 23 + .../uview-ui/libs/config/props/backtop.js | 27 + .../uview-ui/libs/config/props/badge.js | 27 + .../uview-ui/libs/config/props/button.js | 42 + .../uview-ui/libs/config/props/calendar.js | 42 + .../uview-ui/libs/config/props/carKeyboard.js | 15 + .../uview-ui/libs/config/props/cell.js | 35 + .../uview-ui/libs/config/props/cellGroup.js | 17 + .../uview-ui/libs/config/props/checkbox.js | 27 + .../libs/config/props/checkboxGroup.js | 29 + .../libs/config/props/circleProgress.js | 15 + .../uview-ui/libs/config/props/code.js | 21 + .../uview-ui/libs/config/props/codeInput.js | 29 + uni_modules/uview-ui/libs/config/props/col.js | 19 + .../uview-ui/libs/config/props/collapse.js | 17 + .../libs/config/props/collapseItem.js | 25 + .../libs/config/props/columnNotice.js | 24 + .../uview-ui/libs/config/props/countDown.js | 18 + .../uview-ui/libs/config/props/countTo.js | 25 + .../libs/config/props/datetimePicker.js | 36 + .../uview-ui/libs/config/props/divider.js | 23 + .../uview-ui/libs/config/props/empty.js | 26 + .../uview-ui/libs/config/props/form.js | 22 + .../uview-ui/libs/config/props/formItem.js | 23 + uni_modules/uview-ui/libs/config/props/gap.js | 19 + .../uview-ui/libs/config/props/grid.js | 17 + .../uview-ui/libs/config/props/gridItem.js | 16 + .../uview-ui/libs/config/props/icon.js | 36 + .../uview-ui/libs/config/props/image.js | 30 + .../uview-ui/libs/config/props/indexAnchor.js | 19 + .../uview-ui/libs/config/props/indexList.js | 19 + .../uview-ui/libs/config/props/input.js | 48 + .../uview-ui/libs/config/props/keyboard.js | 30 + .../uview-ui/libs/config/props/line.js | 20 + .../libs/config/props/lineProgress.js | 19 + .../uview-ui/libs/config/props/link.js | 26 + .../uview-ui/libs/config/props/list.js | 28 + .../uview-ui/libs/config/props/listItem.js | 15 + .../uview-ui/libs/config/props/loadingIcon.js | 30 + .../uview-ui/libs/config/props/loadingPage.js | 23 + .../uview-ui/libs/config/props/loadmore.js | 32 + .../uview-ui/libs/config/props/modal.js | 31 + .../uview-ui/libs/config/props/navbar.js | 32 + .../uview-ui/libs/config/props/noNetwork.js | 18 + .../uview-ui/libs/config/props/noticeBar.js | 27 + .../uview-ui/libs/config/props/notify.js | 22 + .../uview-ui/libs/config/props/numberBox.js | 35 + .../libs/config/props/numberKeyboard.js | 17 + .../uview-ui/libs/config/props/overlay.js | 18 + .../uview-ui/libs/config/props/parse.js | 22 + .../uview-ui/libs/config/props/picker.js | 29 + .../uview-ui/libs/config/props/popup.js | 29 + .../uview-ui/libs/config/props/radio.js | 27 + .../uview-ui/libs/config/props/radioGroup.js | 30 + .../uview-ui/libs/config/props/rate.js | 26 + .../uview-ui/libs/config/props/readMore.js | 22 + uni_modules/uview-ui/libs/config/props/row.js | 17 + .../uview-ui/libs/config/props/rowNotice.js | 21 + .../uview-ui/libs/config/props/scrollList.js | 20 + .../uview-ui/libs/config/props/search.js | 37 + .../uview-ui/libs/config/props/section.js | 24 + .../uview-ui/libs/config/props/skeleton.js | 25 + .../uview-ui/libs/config/props/slider.js | 25 + .../uview-ui/libs/config/props/statusBar.js | 15 + .../uview-ui/libs/config/props/steps.js | 21 + .../uview-ui/libs/config/props/stepsItem.js | 18 + .../uview-ui/libs/config/props/sticky.js | 20 + .../uview-ui/libs/config/props/subsection.js | 23 + .../uview-ui/libs/config/props/swipeAction.js | 15 + .../libs/config/props/swipeActionItem.js | 21 + .../uview-ui/libs/config/props/swiper.js | 39 + .../libs/config/props/swipterIndicator.js | 19 + .../uview-ui/libs/config/props/switch.js | 24 + .../uview-ui/libs/config/props/tabbar.js | 22 + .../uview-ui/libs/config/props/tabbarItem.js | 20 + .../uview-ui/libs/config/props/tabs.js | 32 + uni_modules/uview-ui/libs/config/props/tag.js | 29 + .../uview-ui/libs/config/props/text.js | 38 + .../uview-ui/libs/config/props/textarea.js | 36 + .../uview-ui/libs/config/props/toast.js | 30 + .../uview-ui/libs/config/props/toolbar.js | 21 + .../uview-ui/libs/config/props/tooltip.js | 25 + .../uview-ui/libs/config/props/transition.js | 18 + .../uview-ui/libs/config/props/upload.js | 36 + uni_modules/uview-ui/libs/config/zIndex.js | 20 + uni_modules/uview-ui/libs/css/color.scss | 155 + uni_modules/uview-ui/libs/css/common.scss | 97 + uni_modules/uview-ui/libs/css/components.scss | 15 + uni_modules/uview-ui/libs/css/flex.scss | 257 + uni_modules/uview-ui/libs/css/h5.scss | 0 uni_modules/uview-ui/libs/css/mixin.scss | 8 + uni_modules/uview-ui/libs/css/mp.scss | 0 uni_modules/uview-ui/libs/css/nvue.scss | 0 uni_modules/uview-ui/libs/css/vue.scss | 27 + .../uview-ui/libs/function/colorGradient.js | 134 + .../uview-ui/libs/function/debounce.js | 29 + uni_modules/uview-ui/libs/function/digit.js | 167 + uni_modules/uview-ui/libs/function/index.js | 731 + .../uview-ui/libs/function/platform.js | 75 + uni_modules/uview-ui/libs/function/test.js | 288 + .../uview-ui/libs/function/throttle.js | 30 + .../libs/luch-request/adapters/index.js | 97 + .../luch-request/core/InterceptorManager.js | 50 + .../libs/luch-request/core/Request.js | 198 + .../libs/luch-request/core/buildFullPath.js | 20 + .../libs/luch-request/core/defaults.js | 29 + .../libs/luch-request/core/dispatchRequest.js | 3 + .../libs/luch-request/core/mergeConfig.js | 103 + .../uview-ui/libs/luch-request/core/settle.js | 16 + .../libs/luch-request/helpers/buildURL.js | 69 + .../libs/luch-request/helpers/combineURLs.js | 14 + .../luch-request/helpers/isAbsoluteURL.js | 14 + .../uview-ui/libs/luch-request/index.d.ts | 116 + .../uview-ui/libs/luch-request/index.js | 3 + .../uview-ui/libs/luch-request/utils.js | 131 + .../uview-ui/libs/luch-request/utils/clone.js | 264 + uni_modules/uview-ui/libs/mixin/button.js | 13 + uni_modules/uview-ui/libs/mixin/mixin.js | 160 + uni_modules/uview-ui/libs/mixin/mpMixin.js | 8 + uni_modules/uview-ui/libs/mixin/mpShare.js | 13 + uni_modules/uview-ui/libs/mixin/openType.js | 25 + uni_modules/uview-ui/libs/mixin/style.js | 228 + uni_modules/uview-ui/libs/mixin/touch.js | 59 + .../uview-ui/libs/util/async-validator.js | 1343 + uni_modules/uview-ui/libs/util/calendar.js | 546 + uni_modules/uview-ui/libs/util/dayjs.js | 308 + uni_modules/uview-ui/libs/util/emitter.js | 51 + uni_modules/uview-ui/libs/util/route.js | 124 + uni_modules/uview-ui/package.json | 85 + uni_modules/uview-ui/theme.scss | 44 + .../dev/.automator/mp-weixin/.automator.json | 0 .../.sourcemap/mp-weixin/common/main.js.map | 1 + .../mp-weixin/common/runtime.js.map | 1 + .../.sourcemap/mp-weixin/common/vendor.js.map | 1 + .../components/file-upload/file-upload.js.map | 1 + .../mp-weixin/components/tab-bar.js.map | 1 + .../mp-weixin/pages/cloudStore/apply.js.map | 1 + .../pages/cloudStore/cloudStoreDetail.js.map | 1 + .../pages/cloudStore/cloudStoreList.js.map | 1 + .../cloudStore/components/couponsAct.js.map | 1 + .../cloudStore/components/dropshipping.js.map | 1 + .../components/shopDetailCard.js.map | 1 + .../components/shopIntroduce.js.map | 1 + .../cloudStore/components/shopItem.js.map | 1 + .../cloudStore/components/wholeSales.js.map | 1 + .../mp-weixin/pages/index/index.js.map | 1 + .../components/u--form/u--form.js.map | 1 + .../components/u--input/u--input.js.map | 1 + .../components/u-badge/u-badge.js.map | 1 + .../components/u-button/u-button.js.map | 1 + .../components/u-form-item/u-form-item.js.map | 1 + .../uview-ui/components/u-form/u-form.js.map | 1 + .../uview-ui/components/u-icon/u-icon.js.map | 1 + .../components/u-image/u-image.js.map | 1 + .../components/u-input/u-input.js.map | 1 + .../uview-ui/components/u-line/u-line.js.map | 1 + .../u-loading-icon/u-loading-icon.js.map | 1 + .../components/u-navbar/u-navbar.js.map | 1 + .../u-number-box/u-number-box.js.map | 1 + .../components/u-overlay/u-overlay.js.map | 1 + .../components/u-picker/u-picker.js.map | 1 + .../components/u-popup/u-popup.js.map | 1 + .../uview-ui/components/u-rate/u-rate.js.map | 1 + .../u-safe-bottom/u-safe-bottom.js.map | 1 + .../components/u-search/u-search.js.map | 1 + .../u-status-bar/u-status-bar.js.map | 1 + .../u-tabbar-item/u-tabbar-item.js.map | 1 + .../components/u-tabbar/u-tabbar.js.map | 1 + .../components/u-toolbar/u-toolbar.js.map | 1 + .../u-transition/u-transition.js.map | 1 + .../components/u-upload/u-upload.js.map | 1 + unpackage/dist/dev/mp-weixin/app.js | 4 + unpackage/dist/dev/mp-weixin/app.json | 27 + unpackage/dist/dev/mp-weixin/app.wxss | 3 + unpackage/dist/dev/mp-weixin/common/main.js | 148 + unpackage/dist/dev/mp-weixin/common/main.wxss | 257 + .../dist/dev/mp-weixin/common/runtime.js | 273 + unpackage/dist/dev/mp-weixin/common/vendor.js | 23476 ++++++++++++++++ .../dist/dev/mp-weixin/components/tab-bar.js | 244 + .../dev/mp-weixin/components/tab-bar.json | 7 + .../dev/mp-weixin/components/tab-bar.wxml | 1 + .../dev/mp-weixin/components/tab-bar.wxss | 35 + .../dev/mp-weixin/pages/cloudStore/apply.js | 426 + .../dev/mp-weixin/pages/cloudStore/apply.json | 12 + .../dev/mp-weixin/pages/cloudStore/apply.wxml | 1 + .../dev/mp-weixin/pages/cloudStore/apply.wxss | 106 + .../pages/cloudStore/cloudStoreDetail.js | 260 + .../pages/cloudStore/cloudStoreDetail.json | 12 + .../pages/cloudStore/cloudStoreDetail.wxml | 1 + .../pages/cloudStore/cloudStoreDetail.wxss | 192 + .../pages/cloudStore/cloudStoreList.js | 224 + .../pages/cloudStore/cloudStoreList.json | 8 + .../pages/cloudStore/cloudStoreList.wxml | 1 + .../pages/cloudStore/cloudStoreList.wxss | 6 + .../pages/cloudStore/components/couponsAct.js | 209 + .../cloudStore/components/couponsAct.json | 6 + .../cloudStore/components/couponsAct.wxml | 1 + .../cloudStore/components/couponsAct.wxss | 8 + .../cloudStore/components/dropshipping.js | 257 + .../cloudStore/components/dropshipping.json | 7 + .../cloudStore/components/dropshipping.wxml | 1 + .../cloudStore/components/dropshipping.wxss | 111 + .../cloudStore/components/shopDetailCard.js | 174 + .../cloudStore/components/shopDetailCard.json | 4 + .../cloudStore/components/shopDetailCard.wxml | 1 + .../cloudStore/components/shopDetailCard.wxss | 71 + .../cloudStore/components/shopIntroduce.js | 131 + .../cloudStore/components/shopIntroduce.json | 4 + .../cloudStore/components/shopIntroduce.wxml | 1 + .../pages/cloudStore/components/shopItem.js | 249 + .../pages/cloudStore/components/shopItem.json | 6 + .../pages/cloudStore/components/shopItem.wxml | 1 + .../pages/cloudStore/components/shopItem.wxss | 166 + .../pages/cloudStore/components/wholeSales.js | 296 + .../cloudStore/components/wholeSales.json | 8 + .../cloudStore/components/wholeSales.wxml | 1 + .../cloudStore/components/wholeSales.wxss | 153 + .../dist/dev/mp-weixin/pages/index/index.js | 195 + .../dist/dev/mp-weixin/pages/index/index.json | 6 + .../dist/dev/mp-weixin/pages/index/index.wxml | 1 + .../dist/dev/mp-weixin/pages/index/index.wxss | 49 + .../dist/dev/mp-weixin/project.config.json | 46 + .../dev/mp-weixin/project.private.config.json | 34 + .../dist/dev/mp-weixin/static/img/favicon.png | Bin 0 -> 4286 bytes .../dev/mp-weixin/static/img/gps-location.png | Bin 0 -> 794 bytes .../dist/dev/mp-weixin/static/img/home.png | Bin 0 -> 2637 bytes .../dist/dev/mp-weixin/static/img/homeHL.png | Bin 0 -> 2196 bytes .../dev/mp-weixin/static/img/success-icon.png | Bin 0 -> 5445 bytes .../dist/dev/mp-weixin/static/img/user.png | Bin 0 -> 4793 bytes .../dist/dev/mp-weixin/static/img/userHL.png | Bin 0 -> 4214 bytes .../mp-weixin/static/img/xlw-iot-tab-act.png | Bin 0 -> 2096 bytes .../dev/mp-weixin/static/img/xlw-iot-tab.png | Bin 0 -> 3302 bytes .../dev/mp-weixin/static/img/yxs-chat-act.png | Bin 0 -> 2499 bytes .../dev/mp-weixin/static/img/yxs-chat.png | Bin 0 -> 2420 bytes .../dev/mp-weixin/static/img/yxs-index.png | Bin 0 -> 2062 bytes .../mp-weixin/static/img/yxs-index_act.png | Bin 0 -> 1629 bytes .../dist/dev/mp-weixin/static/img/yxs-my.png | Bin 0 -> 2659 bytes .../dev/mp-weixin/static/img/yxs-my_act.png | Bin 0 -> 2175 bytes .../dev/mp-weixin/static/img/yxs-origin.png | Bin 0 -> 3343 bytes .../mp-weixin/static/img/yxs-origin_act.png | Bin 0 -> 2645 bytes .../uview-ui/components/u-badge/u-badge.js | 261 + .../uview-ui/components/u-badge/u-badge.json | 4 + .../uview-ui/components/u-badge/u-badge.wxml | 1 + .../uview-ui/components/u-badge/u-badge.wxss | 91 + .../uview-ui/components/u-button/u-button.js | 1 + .../components/u-button/u-button.json | 7 + .../components/u-button/u-button.wxml | 1 + .../components/u-button/u-button.wxss | 183 + .../components/u-form-item/u-form-item.js | 394 + .../components/u-form-item/u-form-item.json | 7 + .../components/u-form-item/u-form-item.wxml | 1 + .../components/u-form-item/u-form-item.wxss | 101 + .../uview-ui/components/u-form/u-form.js | 352 + .../uview-ui/components/u-form/u-form.json | 4 + .../uview-ui/components/u-form/u-form.wxml | 1 + .../uview-ui/components/u-icon/u-icon.js | 333 + .../uview-ui/components/u-icon/u-icon.json | 4 + .../uview-ui/components/u-icon/u-icon.wxml | 1 + .../uview-ui/components/u-icon/u-icon.wxss | 89 + .../uview-ui/components/u-input/u-input.js | 477 + .../uview-ui/components/u-input/u-input.json | 6 + .../uview-ui/components/u-input/u-input.wxml | 1 + .../uview-ui/components/u-input/u-input.wxss | 93 + .../uview-ui/components/u-line/u-line.js | 226 + .../uview-ui/components/u-line/u-line.json | 4 + .../uview-ui/components/u-line/u-line.wxml | 1 + .../uview-ui/components/u-line/u-line.wxss | 39 + .../u-loading-icon/u-loading-icon.js | 327 + .../u-loading-icon/u-loading-icon.json | 4 + .../u-loading-icon/u-loading-icon.wxml | 1 + .../u-loading-icon/u-loading-icon.wxss | 193 + .../uview-ui/components/u-navbar/u-navbar.js | 338 + .../components/u-navbar/u-navbar.json | 7 + .../components/u-navbar/u-navbar.wxml | 1 + .../components/u-navbar/u-navbar.wxss | 83 + .../components/u-number-box/u-number-box.js | 497 + .../components/u-number-box/u-number-box.json | 6 + .../components/u-number-box/u-number-box.wxml | 1 + .../components/u-number-box/u-number-box.wxss | 82 + .../components/u-overlay/u-overlay.js | 239 + .../components/u-overlay/u-overlay.json | 6 + .../components/u-overlay/u-overlay.wxml | 1 + .../components/u-overlay/u-overlay.wxss | 44 + .../uview-ui/components/u-picker/u-picker.js | 492 + .../components/u-picker/u-picker.json | 8 + .../components/u-picker/u-picker.wxml | 1 + .../components/u-picker/u-picker.wxss | 72 + .../uview-ui/components/u-popup/u-popup.js | 430 + .../uview-ui/components/u-popup/u-popup.json | 10 + .../uview-ui/components/u-popup/u-popup.wxml | 1 + .../uview-ui/components/u-popup/u-popup.wxss | 95 + .../uview-ui/components/u-rate/u-rate.js | 508 + .../uview-ui/components/u-rate/u-rate.json | 6 + .../uview-ui/components/u-rate/u-rate.wxml | 1 + .../uview-ui/components/u-rate/u-rate.wxss | 60 + .../components/u-safe-bottom/u-safe-bottom.js | 214 + .../u-safe-bottom/u-safe-bottom.json | 4 + .../u-safe-bottom/u-safe-bottom.wxml | 1 + .../u-safe-bottom/u-safe-bottom.wxss | 30 + .../uview-ui/components/u-search/u-search.js | 420 + .../components/u-search/u-search.json | 6 + .../components/u-search/u-search.wxml | 1 + .../components/u-search/u-search.wxss | 103 + .../components/u-status-bar/u-status-bar.js | 211 + .../components/u-status-bar/u-status-bar.json | 4 + .../components/u-status-bar/u-status-bar.wxml | 1 + .../components/u-status-bar/u-status-bar.wxss | 30 + .../components/u-tabbar-item/u-tabbar-item.js | 314 + .../u-tabbar-item/u-tabbar-item.json | 7 + .../u-tabbar-item/u-tabbar-item.wxml | 1 + .../u-tabbar-item/u-tabbar-item.wxss | 58 + .../uview-ui/components/u-tabbar/u-tabbar.js | 323 + .../components/u-tabbar/u-tabbar.json | 6 + .../components/u-tabbar/u-tabbar.wxml | 1 + .../components/u-tabbar/u-tabbar.wxss | 58 + .../components/u-toolbar/u-toolbar.js | 233 + .../components/u-toolbar/u-toolbar.json | 4 + .../components/u-toolbar/u-toolbar.wxml | 1 + .../components/u-toolbar/u-toolbar.wxss | 60 + .../components/u-transition/u-transition.js | 242 + .../components/u-transition/u-transition.json | 4 + .../components/u-transition/u-transition.wxml | 1 + .../components/u-transition/u-transition.wxss | 149 + .../uview-ui/components/u-upload/u-upload.js | 564 + .../components/u-upload/u-upload.json | 7 + .../components/u-upload/u-upload.wxml | 1 + .../components/u-upload/u-upload.wxss | 161 + 603 files changed, 78070 insertions(+) create mode 100644 .hbuilderx/launch.json create mode 100644 App.vue create mode 100644 components/file-upload/file-upload.vue create mode 100644 components/tab-bar.vue create mode 100644 index.html create mode 100644 js/tabBarList.js create mode 100644 main.js create mode 100644 manifest.json create mode 100644 pages.json create mode 100644 pages/cloudStore/apply.vue create mode 100644 pages/cloudStore/cloudStoreDetail.vue create mode 100644 pages/cloudStore/cloudStoreList.vue create mode 100644 pages/cloudStore/components/couponsAct.vue create mode 100644 pages/cloudStore/components/dropshipping.vue create mode 100644 pages/cloudStore/components/shopDetailCard.vue create mode 100644 pages/cloudStore/components/shopIntroduce.vue create mode 100644 pages/cloudStore/components/shopItem.vue create mode 100644 pages/cloudStore/components/wholeSales.vue create mode 100644 pages/index/index.vue create mode 100644 static/img/favicon.png create mode 100644 static/img/gps-location.png create mode 100644 static/img/home.png create mode 100644 static/img/homeHL.png create mode 100644 static/img/success-icon.png create mode 100644 static/img/user.png create mode 100644 static/img/userHL.png create mode 100644 static/img/xlw-iot-tab-act.png create mode 100644 static/img/xlw-iot-tab.png create mode 100644 static/img/yxs-chat-act.png create mode 100644 static/img/yxs-chat.png create mode 100644 static/img/yxs-index.png create mode 100644 static/img/yxs-index_act.png create mode 100644 static/img/yxs-my.png create mode 100644 static/img/yxs-my_act.png create mode 100644 static/img/yxs-origin.png create mode 100644 static/img/yxs-origin_act.png create mode 100644 uni.promisify.adaptor.js create mode 100644 uni.scss create mode 100644 uni_modules/uview-ui/LICENSE create mode 100644 uni_modules/uview-ui/README.md create mode 100644 uni_modules/uview-ui/changelog.md create mode 100644 uni_modules/uview-ui/components/u--form/u--form.vue create mode 100644 uni_modules/uview-ui/components/u--image/u--image.vue create mode 100644 uni_modules/uview-ui/components/u--input/u--input.vue create mode 100644 uni_modules/uview-ui/components/u--text/u--text.vue create mode 100644 uni_modules/uview-ui/components/u--textarea/u--textarea.vue create mode 100644 uni_modules/uview-ui/components/u-action-sheet/props.js create mode 100644 uni_modules/uview-ui/components/u-action-sheet/u-action-sheet.vue create mode 100644 uni_modules/uview-ui/components/u-album/props.js create mode 100644 uni_modules/uview-ui/components/u-album/u-album.vue create mode 100644 uni_modules/uview-ui/components/u-alert/props.js create mode 100644 uni_modules/uview-ui/components/u-alert/u-alert.vue create mode 100644 uni_modules/uview-ui/components/u-avatar-group/props.js create mode 100644 uni_modules/uview-ui/components/u-avatar-group/u-avatar-group.vue create mode 100644 uni_modules/uview-ui/components/u-avatar/props.js create mode 100644 uni_modules/uview-ui/components/u-avatar/u-avatar.vue create mode 100644 uni_modules/uview-ui/components/u-back-top/props.js create mode 100644 uni_modules/uview-ui/components/u-back-top/u-back-top.vue create mode 100644 uni_modules/uview-ui/components/u-badge/props.js create mode 100644 uni_modules/uview-ui/components/u-badge/u-badge.vue create mode 100644 uni_modules/uview-ui/components/u-button/nvue.scss create mode 100644 uni_modules/uview-ui/components/u-button/props.js create mode 100644 uni_modules/uview-ui/components/u-button/u-button.vue create mode 100644 uni_modules/uview-ui/components/u-button/vue.scss create mode 100644 uni_modules/uview-ui/components/u-calendar/header.vue create mode 100644 uni_modules/uview-ui/components/u-calendar/month.vue create mode 100644 uni_modules/uview-ui/components/u-calendar/props.js create mode 100644 uni_modules/uview-ui/components/u-calendar/u-calendar.vue create mode 100644 uni_modules/uview-ui/components/u-calendar/util.js create mode 100644 uni_modules/uview-ui/components/u-car-keyboard/props.js create mode 100644 uni_modules/uview-ui/components/u-car-keyboard/u-car-keyboard.vue create mode 100644 uni_modules/uview-ui/components/u-cell-group/props.js create mode 100644 uni_modules/uview-ui/components/u-cell-group/u-cell-group.vue create mode 100644 uni_modules/uview-ui/components/u-cell/props.js create mode 100644 uni_modules/uview-ui/components/u-cell/u-cell.vue create mode 100644 uni_modules/uview-ui/components/u-checkbox-group/props.js create mode 100644 uni_modules/uview-ui/components/u-checkbox-group/u-checkbox-group.vue create mode 100644 uni_modules/uview-ui/components/u-checkbox/props.js create mode 100644 uni_modules/uview-ui/components/u-checkbox/u-checkbox.vue create mode 100644 uni_modules/uview-ui/components/u-circle-progress/props.js create mode 100644 uni_modules/uview-ui/components/u-circle-progress/u-circle-progress.vue create mode 100644 uni_modules/uview-ui/components/u-code-input/props.js create mode 100644 uni_modules/uview-ui/components/u-code-input/u-code-input.vue create mode 100644 uni_modules/uview-ui/components/u-code/props.js create mode 100644 uni_modules/uview-ui/components/u-code/u-code.vue create mode 100644 uni_modules/uview-ui/components/u-col/props.js create mode 100644 uni_modules/uview-ui/components/u-col/u-col.vue create mode 100644 uni_modules/uview-ui/components/u-collapse-item/props.js create mode 100644 uni_modules/uview-ui/components/u-collapse-item/u-collapse-item.vue create mode 100644 uni_modules/uview-ui/components/u-collapse/props.js create mode 100644 uni_modules/uview-ui/components/u-collapse/u-collapse.vue create mode 100644 uni_modules/uview-ui/components/u-column-notice/props.js create mode 100644 uni_modules/uview-ui/components/u-column-notice/u-column-notice.vue create mode 100644 uni_modules/uview-ui/components/u-count-down/props.js create mode 100644 uni_modules/uview-ui/components/u-count-down/u-count-down.vue create mode 100644 uni_modules/uview-ui/components/u-count-down/utils.js create mode 100644 uni_modules/uview-ui/components/u-count-to/props.js create mode 100644 uni_modules/uview-ui/components/u-count-to/u-count-to.vue create mode 100644 uni_modules/uview-ui/components/u-datetime-picker/props.js create mode 100644 uni_modules/uview-ui/components/u-datetime-picker/u-datetime-picker.vue create mode 100644 uni_modules/uview-ui/components/u-divider/props.js create mode 100644 uni_modules/uview-ui/components/u-divider/u-divider.vue create mode 100644 uni_modules/uview-ui/components/u-dropdown-item/props.js create mode 100644 uni_modules/uview-ui/components/u-dropdown-item/u-dropdown-item.vue create mode 100644 uni_modules/uview-ui/components/u-dropdown/props.js create mode 100644 uni_modules/uview-ui/components/u-dropdown/u-dropdown.vue create mode 100644 uni_modules/uview-ui/components/u-empty/props.js create mode 100644 uni_modules/uview-ui/components/u-empty/u-empty.vue create mode 100644 uni_modules/uview-ui/components/u-form-item/props.js create mode 100644 uni_modules/uview-ui/components/u-form-item/u-form-item.vue create mode 100644 uni_modules/uview-ui/components/u-form/props.js create mode 100644 uni_modules/uview-ui/components/u-form/u-form.vue create mode 100644 uni_modules/uview-ui/components/u-gap/props.js create mode 100644 uni_modules/uview-ui/components/u-gap/u-gap.vue create mode 100644 uni_modules/uview-ui/components/u-grid-item/props.js create mode 100644 uni_modules/uview-ui/components/u-grid-item/u-grid-item.vue create mode 100644 uni_modules/uview-ui/components/u-grid/props.js create mode 100644 uni_modules/uview-ui/components/u-grid/u-grid.vue create mode 100644 uni_modules/uview-ui/components/u-icon/icons.js create mode 100644 uni_modules/uview-ui/components/u-icon/props.js create mode 100644 uni_modules/uview-ui/components/u-icon/u-icon.vue create mode 100644 uni_modules/uview-ui/components/u-image/props.js create mode 100644 uni_modules/uview-ui/components/u-image/u-image.vue create mode 100644 uni_modules/uview-ui/components/u-index-anchor/props.js create mode 100644 uni_modules/uview-ui/components/u-index-anchor/u-index-anchor.vue create mode 100644 uni_modules/uview-ui/components/u-index-item/props.js create mode 100644 uni_modules/uview-ui/components/u-index-item/u-index-item.vue create mode 100644 uni_modules/uview-ui/components/u-index-list/props.js create mode 100644 uni_modules/uview-ui/components/u-index-list/u-index-list.vue create mode 100644 uni_modules/uview-ui/components/u-input/props.js create mode 100644 uni_modules/uview-ui/components/u-input/u-input.vue create mode 100644 uni_modules/uview-ui/components/u-keyboard/props.js create mode 100644 uni_modules/uview-ui/components/u-keyboard/u-keyboard.vue create mode 100644 uni_modules/uview-ui/components/u-line-progress/props.js create mode 100644 uni_modules/uview-ui/components/u-line-progress/u-line-progress.vue create mode 100644 uni_modules/uview-ui/components/u-line/props.js create mode 100644 uni_modules/uview-ui/components/u-line/u-line.vue create mode 100644 uni_modules/uview-ui/components/u-link/props.js create mode 100644 uni_modules/uview-ui/components/u-link/u-link.vue create mode 100644 uni_modules/uview-ui/components/u-list-item/props.js create mode 100644 uni_modules/uview-ui/components/u-list-item/u-list-item.vue create mode 100644 uni_modules/uview-ui/components/u-list/props.js create mode 100644 uni_modules/uview-ui/components/u-list/u-list.vue create mode 100644 uni_modules/uview-ui/components/u-loading-icon/props.js create mode 100644 uni_modules/uview-ui/components/u-loading-icon/u-loading-icon.vue create mode 100644 uni_modules/uview-ui/components/u-loading-page/props.js create mode 100644 uni_modules/uview-ui/components/u-loading-page/u-loading-page.vue create mode 100644 uni_modules/uview-ui/components/u-loadmore/props.js create mode 100644 uni_modules/uview-ui/components/u-loadmore/u-loadmore.vue create mode 100644 uni_modules/uview-ui/components/u-modal/props.js create mode 100644 uni_modules/uview-ui/components/u-modal/u-modal.vue create mode 100644 uni_modules/uview-ui/components/u-navbar/props.js create mode 100644 uni_modules/uview-ui/components/u-navbar/u-navbar.vue create mode 100644 uni_modules/uview-ui/components/u-no-network/props.js create mode 100644 uni_modules/uview-ui/components/u-no-network/u-no-network.vue create mode 100644 uni_modules/uview-ui/components/u-notice-bar/props.js create mode 100644 uni_modules/uview-ui/components/u-notice-bar/u-notice-bar.vue create mode 100644 uni_modules/uview-ui/components/u-notify/props.js create mode 100644 uni_modules/uview-ui/components/u-notify/u-notify.vue create mode 100644 uni_modules/uview-ui/components/u-number-box/props.js create mode 100644 uni_modules/uview-ui/components/u-number-box/u-number-box.vue create mode 100644 uni_modules/uview-ui/components/u-number-keyboard/props.js create mode 100644 uni_modules/uview-ui/components/u-number-keyboard/u-number-keyboard.vue create mode 100644 uni_modules/uview-ui/components/u-overlay/props.js create mode 100644 uni_modules/uview-ui/components/u-overlay/u-overlay.vue create mode 100644 uni_modules/uview-ui/components/u-parse/node/node.vue create mode 100644 uni_modules/uview-ui/components/u-parse/parser.js create mode 100644 uni_modules/uview-ui/components/u-parse/props.js create mode 100644 uni_modules/uview-ui/components/u-parse/u-parse.vue create mode 100644 uni_modules/uview-ui/components/u-picker-column/props.js create mode 100644 uni_modules/uview-ui/components/u-picker-column/u-picker-column.vue create mode 100644 uni_modules/uview-ui/components/u-picker/props.js create mode 100644 uni_modules/uview-ui/components/u-picker/u-picker.vue create mode 100644 uni_modules/uview-ui/components/u-popup/props.js create mode 100644 uni_modules/uview-ui/components/u-popup/u-popup.vue create mode 100644 uni_modules/uview-ui/components/u-radio-group/props.js create mode 100644 uni_modules/uview-ui/components/u-radio-group/u-radio-group.vue create mode 100644 uni_modules/uview-ui/components/u-radio/props.js create mode 100644 uni_modules/uview-ui/components/u-radio/u-radio.vue create mode 100644 uni_modules/uview-ui/components/u-rate/props.js create mode 100644 uni_modules/uview-ui/components/u-rate/u-rate.vue create mode 100644 uni_modules/uview-ui/components/u-read-more/props.js create mode 100644 uni_modules/uview-ui/components/u-read-more/u-read-more.vue create mode 100644 uni_modules/uview-ui/components/u-row-notice/props.js create mode 100644 uni_modules/uview-ui/components/u-row-notice/u-row-notice.vue create mode 100644 uni_modules/uview-ui/components/u-row/props.js create mode 100644 uni_modules/uview-ui/components/u-row/u-row.vue create mode 100644 uni_modules/uview-ui/components/u-safe-bottom/props.js create mode 100644 uni_modules/uview-ui/components/u-safe-bottom/u-safe-bottom.vue create mode 100644 uni_modules/uview-ui/components/u-scroll-list/nvue.js create mode 100644 uni_modules/uview-ui/components/u-scroll-list/other.js create mode 100644 uni_modules/uview-ui/components/u-scroll-list/props.js create mode 100644 uni_modules/uview-ui/components/u-scroll-list/scrollWxs.wxs create mode 100644 uni_modules/uview-ui/components/u-scroll-list/u-scroll-list.vue create mode 100644 uni_modules/uview-ui/components/u-search/props.js create mode 100644 uni_modules/uview-ui/components/u-search/u-search.vue create mode 100644 uni_modules/uview-ui/components/u-skeleton/props.js create mode 100644 uni_modules/uview-ui/components/u-skeleton/u-skeleton.vue create mode 100644 uni_modules/uview-ui/components/u-slider/mpother.js create mode 100644 uni_modules/uview-ui/components/u-slider/mpwxs.js create mode 100644 uni_modules/uview-ui/components/u-slider/mpwxs.wxs create mode 100644 uni_modules/uview-ui/components/u-slider/nvue - 副本.js create mode 100644 uni_modules/uview-ui/components/u-slider/nvue.js create mode 100644 uni_modules/uview-ui/components/u-slider/props.js create mode 100644 uni_modules/uview-ui/components/u-slider/u-slider.vue create mode 100644 uni_modules/uview-ui/components/u-status-bar/props.js create mode 100644 uni_modules/uview-ui/components/u-status-bar/u-status-bar.vue create mode 100644 uni_modules/uview-ui/components/u-steps-item/props.js create mode 100644 uni_modules/uview-ui/components/u-steps-item/u-steps-item.vue create mode 100644 uni_modules/uview-ui/components/u-steps/props.js create mode 100644 uni_modules/uview-ui/components/u-steps/u-steps.vue create mode 100644 uni_modules/uview-ui/components/u-sticky/props.js create mode 100644 uni_modules/uview-ui/components/u-sticky/u-sticky.vue create mode 100644 uni_modules/uview-ui/components/u-subsection/props.js create mode 100644 uni_modules/uview-ui/components/u-subsection/u-subsection.vue create mode 100644 uni_modules/uview-ui/components/u-swipe-action-item/index - backup.wxs create mode 100644 uni_modules/uview-ui/components/u-swipe-action-item/index.wxs create mode 100644 uni_modules/uview-ui/components/u-swipe-action-item/nvue - backup.js create mode 100644 uni_modules/uview-ui/components/u-swipe-action-item/nvue.js create mode 100644 uni_modules/uview-ui/components/u-swipe-action-item/props.js create mode 100644 uni_modules/uview-ui/components/u-swipe-action-item/u-swipe-action-item.vue create mode 100644 uni_modules/uview-ui/components/u-swipe-action-item/wxs.js create mode 100644 uni_modules/uview-ui/components/u-swipe-action/props.js create mode 100644 uni_modules/uview-ui/components/u-swipe-action/u-swipe-action.vue create mode 100644 uni_modules/uview-ui/components/u-swiper-indicator/props.js create mode 100644 uni_modules/uview-ui/components/u-swiper-indicator/u-swiper-indicator.vue create mode 100644 uni_modules/uview-ui/components/u-swiper/props.js create mode 100644 uni_modules/uview-ui/components/u-swiper/u-swiper.vue create mode 100644 uni_modules/uview-ui/components/u-switch/props.js create mode 100644 uni_modules/uview-ui/components/u-switch/u-switch.vue create mode 100644 uni_modules/uview-ui/components/u-tabbar-item/props.js create mode 100644 uni_modules/uview-ui/components/u-tabbar-item/u-tabbar-item.vue create mode 100644 uni_modules/uview-ui/components/u-tabbar/props.js create mode 100644 uni_modules/uview-ui/components/u-tabbar/u-tabbar.vue create mode 100644 uni_modules/uview-ui/components/u-table/props.js create mode 100644 uni_modules/uview-ui/components/u-table/u-table.vue create mode 100644 uni_modules/uview-ui/components/u-tabs-item/props.js create mode 100644 uni_modules/uview-ui/components/u-tabs-item/u-tabs-item.vue create mode 100644 uni_modules/uview-ui/components/u-tabs/props.js create mode 100644 uni_modules/uview-ui/components/u-tabs/u-tabs.vue create mode 100644 uni_modules/uview-ui/components/u-tag/props.js create mode 100644 uni_modules/uview-ui/components/u-tag/u-tag.vue create mode 100644 uni_modules/uview-ui/components/u-td/props.js create mode 100644 uni_modules/uview-ui/components/u-td/u-td.vue create mode 100644 uni_modules/uview-ui/components/u-text/props.js create mode 100644 uni_modules/uview-ui/components/u-text/u-text.vue create mode 100644 uni_modules/uview-ui/components/u-text/value.js create mode 100644 uni_modules/uview-ui/components/u-textarea/props.js create mode 100644 uni_modules/uview-ui/components/u-textarea/u-textarea.vue create mode 100644 uni_modules/uview-ui/components/u-toast/u-toast.vue create mode 100644 uni_modules/uview-ui/components/u-toolbar/props.js create mode 100644 uni_modules/uview-ui/components/u-toolbar/u-toolbar.vue create mode 100644 uni_modules/uview-ui/components/u-tooltip/clipboard.min.js create mode 100644 uni_modules/uview-ui/components/u-tooltip/props.js create mode 100644 uni_modules/uview-ui/components/u-tooltip/u-tooltip.vue create mode 100644 uni_modules/uview-ui/components/u-tr/props.js create mode 100644 uni_modules/uview-ui/components/u-tr/u-tr.vue create mode 100644 uni_modules/uview-ui/components/u-transition/nvue.ani-map.js create mode 100644 uni_modules/uview-ui/components/u-transition/props.js create mode 100644 uni_modules/uview-ui/components/u-transition/transition.js create mode 100644 uni_modules/uview-ui/components/u-transition/u-transition.vue create mode 100644 uni_modules/uview-ui/components/u-transition/vue.ani-style.scss create mode 100644 uni_modules/uview-ui/components/u-upload/mixin.js create mode 100644 uni_modules/uview-ui/components/u-upload/props.js create mode 100644 uni_modules/uview-ui/components/u-upload/u-upload.vue create mode 100644 uni_modules/uview-ui/components/u-upload/utils.js create mode 100644 uni_modules/uview-ui/components/uview-ui/uview-ui.vue create mode 100644 uni_modules/uview-ui/index.js create mode 100644 uni_modules/uview-ui/index.scss create mode 100644 uni_modules/uview-ui/libs/config/color.js create mode 100644 uni_modules/uview-ui/libs/config/config.js create mode 100644 uni_modules/uview-ui/libs/config/props.js create mode 100644 uni_modules/uview-ui/libs/config/props/actionSheet.js create mode 100644 uni_modules/uview-ui/libs/config/props/album.js create mode 100644 uni_modules/uview-ui/libs/config/props/alert.js create mode 100644 uni_modules/uview-ui/libs/config/props/avatar.js create mode 100644 uni_modules/uview-ui/libs/config/props/avatarGroup.js create mode 100644 uni_modules/uview-ui/libs/config/props/backtop.js create mode 100644 uni_modules/uview-ui/libs/config/props/badge.js create mode 100644 uni_modules/uview-ui/libs/config/props/button.js create mode 100644 uni_modules/uview-ui/libs/config/props/calendar.js create mode 100644 uni_modules/uview-ui/libs/config/props/carKeyboard.js create mode 100644 uni_modules/uview-ui/libs/config/props/cell.js create mode 100644 uni_modules/uview-ui/libs/config/props/cellGroup.js create mode 100644 uni_modules/uview-ui/libs/config/props/checkbox.js create mode 100644 uni_modules/uview-ui/libs/config/props/checkboxGroup.js create mode 100644 uni_modules/uview-ui/libs/config/props/circleProgress.js create mode 100644 uni_modules/uview-ui/libs/config/props/code.js create mode 100644 uni_modules/uview-ui/libs/config/props/codeInput.js create mode 100644 uni_modules/uview-ui/libs/config/props/col.js create mode 100644 uni_modules/uview-ui/libs/config/props/collapse.js create mode 100644 uni_modules/uview-ui/libs/config/props/collapseItem.js create mode 100644 uni_modules/uview-ui/libs/config/props/columnNotice.js create mode 100644 uni_modules/uview-ui/libs/config/props/countDown.js create mode 100644 uni_modules/uview-ui/libs/config/props/countTo.js create mode 100644 uni_modules/uview-ui/libs/config/props/datetimePicker.js create mode 100644 uni_modules/uview-ui/libs/config/props/divider.js create mode 100644 uni_modules/uview-ui/libs/config/props/empty.js create mode 100644 uni_modules/uview-ui/libs/config/props/form.js create mode 100644 uni_modules/uview-ui/libs/config/props/formItem.js create mode 100644 uni_modules/uview-ui/libs/config/props/gap.js create mode 100644 uni_modules/uview-ui/libs/config/props/grid.js create mode 100644 uni_modules/uview-ui/libs/config/props/gridItem.js create mode 100644 uni_modules/uview-ui/libs/config/props/icon.js create mode 100644 uni_modules/uview-ui/libs/config/props/image.js create mode 100644 uni_modules/uview-ui/libs/config/props/indexAnchor.js create mode 100644 uni_modules/uview-ui/libs/config/props/indexList.js create mode 100644 uni_modules/uview-ui/libs/config/props/input.js create mode 100644 uni_modules/uview-ui/libs/config/props/keyboard.js create mode 100644 uni_modules/uview-ui/libs/config/props/line.js create mode 100644 uni_modules/uview-ui/libs/config/props/lineProgress.js create mode 100644 uni_modules/uview-ui/libs/config/props/link.js create mode 100644 uni_modules/uview-ui/libs/config/props/list.js create mode 100644 uni_modules/uview-ui/libs/config/props/listItem.js create mode 100644 uni_modules/uview-ui/libs/config/props/loadingIcon.js create mode 100644 uni_modules/uview-ui/libs/config/props/loadingPage.js create mode 100644 uni_modules/uview-ui/libs/config/props/loadmore.js create mode 100644 uni_modules/uview-ui/libs/config/props/modal.js create mode 100644 uni_modules/uview-ui/libs/config/props/navbar.js create mode 100644 uni_modules/uview-ui/libs/config/props/noNetwork.js create mode 100644 uni_modules/uview-ui/libs/config/props/noticeBar.js create mode 100644 uni_modules/uview-ui/libs/config/props/notify.js create mode 100644 uni_modules/uview-ui/libs/config/props/numberBox.js create mode 100644 uni_modules/uview-ui/libs/config/props/numberKeyboard.js create mode 100644 uni_modules/uview-ui/libs/config/props/overlay.js create mode 100644 uni_modules/uview-ui/libs/config/props/parse.js create mode 100644 uni_modules/uview-ui/libs/config/props/picker.js create mode 100644 uni_modules/uview-ui/libs/config/props/popup.js create mode 100644 uni_modules/uview-ui/libs/config/props/radio.js create mode 100644 uni_modules/uview-ui/libs/config/props/radioGroup.js create mode 100644 uni_modules/uview-ui/libs/config/props/rate.js create mode 100644 uni_modules/uview-ui/libs/config/props/readMore.js create mode 100644 uni_modules/uview-ui/libs/config/props/row.js create mode 100644 uni_modules/uview-ui/libs/config/props/rowNotice.js create mode 100644 uni_modules/uview-ui/libs/config/props/scrollList.js create mode 100644 uni_modules/uview-ui/libs/config/props/search.js create mode 100644 uni_modules/uview-ui/libs/config/props/section.js create mode 100644 uni_modules/uview-ui/libs/config/props/skeleton.js create mode 100644 uni_modules/uview-ui/libs/config/props/slider.js create mode 100644 uni_modules/uview-ui/libs/config/props/statusBar.js create mode 100644 uni_modules/uview-ui/libs/config/props/steps.js create mode 100644 uni_modules/uview-ui/libs/config/props/stepsItem.js create mode 100644 uni_modules/uview-ui/libs/config/props/sticky.js create mode 100644 uni_modules/uview-ui/libs/config/props/subsection.js create mode 100644 uni_modules/uview-ui/libs/config/props/swipeAction.js create mode 100644 uni_modules/uview-ui/libs/config/props/swipeActionItem.js create mode 100644 uni_modules/uview-ui/libs/config/props/swiper.js create mode 100644 uni_modules/uview-ui/libs/config/props/swipterIndicator.js create mode 100644 uni_modules/uview-ui/libs/config/props/switch.js create mode 100644 uni_modules/uview-ui/libs/config/props/tabbar.js create mode 100644 uni_modules/uview-ui/libs/config/props/tabbarItem.js create mode 100644 uni_modules/uview-ui/libs/config/props/tabs.js create mode 100644 uni_modules/uview-ui/libs/config/props/tag.js create mode 100644 uni_modules/uview-ui/libs/config/props/text.js create mode 100644 uni_modules/uview-ui/libs/config/props/textarea.js create mode 100644 uni_modules/uview-ui/libs/config/props/toast.js create mode 100644 uni_modules/uview-ui/libs/config/props/toolbar.js create mode 100644 uni_modules/uview-ui/libs/config/props/tooltip.js create mode 100644 uni_modules/uview-ui/libs/config/props/transition.js create mode 100644 uni_modules/uview-ui/libs/config/props/upload.js create mode 100644 uni_modules/uview-ui/libs/config/zIndex.js create mode 100644 uni_modules/uview-ui/libs/css/color.scss create mode 100644 uni_modules/uview-ui/libs/css/common.scss create mode 100644 uni_modules/uview-ui/libs/css/components.scss create mode 100644 uni_modules/uview-ui/libs/css/flex.scss create mode 100644 uni_modules/uview-ui/libs/css/h5.scss create mode 100644 uni_modules/uview-ui/libs/css/mixin.scss create mode 100644 uni_modules/uview-ui/libs/css/mp.scss create mode 100644 uni_modules/uview-ui/libs/css/nvue.scss create mode 100644 uni_modules/uview-ui/libs/css/vue.scss create mode 100644 uni_modules/uview-ui/libs/function/colorGradient.js create mode 100644 uni_modules/uview-ui/libs/function/debounce.js create mode 100644 uni_modules/uview-ui/libs/function/digit.js create mode 100644 uni_modules/uview-ui/libs/function/index.js create mode 100644 uni_modules/uview-ui/libs/function/platform.js create mode 100644 uni_modules/uview-ui/libs/function/test.js create mode 100644 uni_modules/uview-ui/libs/function/throttle.js create mode 100644 uni_modules/uview-ui/libs/luch-request/adapters/index.js create mode 100644 uni_modules/uview-ui/libs/luch-request/core/InterceptorManager.js create mode 100644 uni_modules/uview-ui/libs/luch-request/core/Request.js create mode 100644 uni_modules/uview-ui/libs/luch-request/core/buildFullPath.js create mode 100644 uni_modules/uview-ui/libs/luch-request/core/defaults.js create mode 100644 uni_modules/uview-ui/libs/luch-request/core/dispatchRequest.js create mode 100644 uni_modules/uview-ui/libs/luch-request/core/mergeConfig.js create mode 100644 uni_modules/uview-ui/libs/luch-request/core/settle.js create mode 100644 uni_modules/uview-ui/libs/luch-request/helpers/buildURL.js create mode 100644 uni_modules/uview-ui/libs/luch-request/helpers/combineURLs.js create mode 100644 uni_modules/uview-ui/libs/luch-request/helpers/isAbsoluteURL.js create mode 100644 uni_modules/uview-ui/libs/luch-request/index.d.ts create mode 100644 uni_modules/uview-ui/libs/luch-request/index.js create mode 100644 uni_modules/uview-ui/libs/luch-request/utils.js create mode 100644 uni_modules/uview-ui/libs/luch-request/utils/clone.js create mode 100644 uni_modules/uview-ui/libs/mixin/button.js create mode 100644 uni_modules/uview-ui/libs/mixin/mixin.js create mode 100644 uni_modules/uview-ui/libs/mixin/mpMixin.js create mode 100644 uni_modules/uview-ui/libs/mixin/mpShare.js create mode 100644 uni_modules/uview-ui/libs/mixin/openType.js create mode 100644 uni_modules/uview-ui/libs/mixin/style.js create mode 100644 uni_modules/uview-ui/libs/mixin/touch.js create mode 100644 uni_modules/uview-ui/libs/util/async-validator.js create mode 100644 uni_modules/uview-ui/libs/util/calendar.js create mode 100644 uni_modules/uview-ui/libs/util/dayjs.js create mode 100644 uni_modules/uview-ui/libs/util/emitter.js create mode 100644 uni_modules/uview-ui/libs/util/route.js create mode 100644 uni_modules/uview-ui/package.json create mode 100644 uni_modules/uview-ui/theme.scss create mode 100644 unpackage/dist/dev/.automator/mp-weixin/.automator.json create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/file-upload/file-upload.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/components/tab-bar.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pages/cloudStore/apply.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pages/cloudStore/cloudStoreDetail.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pages/cloudStore/cloudStoreList.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pages/cloudStore/components/couponsAct.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pages/cloudStore/components/dropshipping.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pages/cloudStore/components/shopDetailCard.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pages/cloudStore/components/shopIntroduce.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pages/cloudStore/components/shopItem.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pages/cloudStore/components/wholeSales.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u--form/u--form.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u--input/u--input.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-badge/u-badge.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-button/u-button.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-form-item/u-form-item.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-form/u-form.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-icon/u-icon.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-image/u-image.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-input/u-input.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-line/u-line.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-loading-icon/u-loading-icon.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-navbar/u-navbar.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-number-box/u-number-box.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-overlay/u-overlay.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-picker/u-picker.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-popup/u-popup.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-rate/u-rate.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-safe-bottom/u-safe-bottom.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-search/u-search.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-status-bar/u-status-bar.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-tabbar-item/u-tabbar-item.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-tabbar/u-tabbar.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-toolbar/u-toolbar.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-transition/u-transition.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-upload/u-upload.js.map create mode 100644 unpackage/dist/dev/mp-weixin/app.js create mode 100644 unpackage/dist/dev/mp-weixin/app.json create mode 100644 unpackage/dist/dev/mp-weixin/app.wxss create mode 100644 unpackage/dist/dev/mp-weixin/common/main.js create mode 100644 unpackage/dist/dev/mp-weixin/common/main.wxss create mode 100644 unpackage/dist/dev/mp-weixin/common/runtime.js create mode 100644 unpackage/dist/dev/mp-weixin/common/vendor.js create mode 100644 unpackage/dist/dev/mp-weixin/components/tab-bar.js create mode 100644 unpackage/dist/dev/mp-weixin/components/tab-bar.json create mode 100644 unpackage/dist/dev/mp-weixin/components/tab-bar.wxml create mode 100644 unpackage/dist/dev/mp-weixin/components/tab-bar.wxss create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/apply.js create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/apply.json create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/apply.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/apply.wxss create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/cloudStoreDetail.js create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/cloudStoreDetail.json create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/cloudStoreDetail.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/cloudStoreDetail.wxss create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/cloudStoreList.js create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/cloudStoreList.json create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/cloudStoreList.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/cloudStoreList.wxss create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/components/couponsAct.js create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/components/couponsAct.json create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/components/couponsAct.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/components/couponsAct.wxss create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/components/dropshipping.js create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/components/dropshipping.json create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/components/dropshipping.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/components/dropshipping.wxss create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/components/shopDetailCard.js create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/components/shopDetailCard.json create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/components/shopDetailCard.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/components/shopDetailCard.wxss create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/components/shopIntroduce.js create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/components/shopIntroduce.json create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/components/shopIntroduce.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/components/shopItem.js create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/components/shopItem.json create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/components/shopItem.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/components/shopItem.wxss create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/components/wholeSales.js create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/components/wholeSales.json create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/components/wholeSales.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pages/cloudStore/components/wholeSales.wxss create mode 100644 unpackage/dist/dev/mp-weixin/pages/index/index.js create mode 100644 unpackage/dist/dev/mp-weixin/pages/index/index.json create mode 100644 unpackage/dist/dev/mp-weixin/pages/index/index.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pages/index/index.wxss create mode 100644 unpackage/dist/dev/mp-weixin/project.config.json create mode 100644 unpackage/dist/dev/mp-weixin/project.private.config.json create mode 100644 unpackage/dist/dev/mp-weixin/static/img/favicon.png create mode 100644 unpackage/dist/dev/mp-weixin/static/img/gps-location.png create mode 100644 unpackage/dist/dev/mp-weixin/static/img/home.png create mode 100644 unpackage/dist/dev/mp-weixin/static/img/homeHL.png create mode 100644 unpackage/dist/dev/mp-weixin/static/img/success-icon.png create mode 100644 unpackage/dist/dev/mp-weixin/static/img/user.png create mode 100644 unpackage/dist/dev/mp-weixin/static/img/userHL.png create mode 100644 unpackage/dist/dev/mp-weixin/static/img/xlw-iot-tab-act.png create mode 100644 unpackage/dist/dev/mp-weixin/static/img/xlw-iot-tab.png create mode 100644 unpackage/dist/dev/mp-weixin/static/img/yxs-chat-act.png create mode 100644 unpackage/dist/dev/mp-weixin/static/img/yxs-chat.png create mode 100644 unpackage/dist/dev/mp-weixin/static/img/yxs-index.png create mode 100644 unpackage/dist/dev/mp-weixin/static/img/yxs-index_act.png create mode 100644 unpackage/dist/dev/mp-weixin/static/img/yxs-my.png create mode 100644 unpackage/dist/dev/mp-weixin/static/img/yxs-my_act.png create mode 100644 unpackage/dist/dev/mp-weixin/static/img/yxs-origin.png create mode 100644 unpackage/dist/dev/mp-weixin/static/img/yxs-origin_act.png create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-badge/u-badge.js create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-badge/u-badge.json create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-badge/u-badge.wxml create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-badge/u-badge.wxss create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-button/u-button.js create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-button/u-button.json create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-button/u-button.wxml create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-button/u-button.wxss create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-form-item/u-form-item.js create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-form-item/u-form-item.json create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-form-item/u-form-item.wxml create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-form-item/u-form-item.wxss create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-form/u-form.js create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-form/u-form.json create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-form/u-form.wxml create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-icon/u-icon.js create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-icon/u-icon.json create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-icon/u-icon.wxml create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-icon/u-icon.wxss create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-input/u-input.js create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-input/u-input.json create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-input/u-input.wxml create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-input/u-input.wxss create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-line/u-line.js create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-line/u-line.json create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-line/u-line.wxml create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-line/u-line.wxss create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-loading-icon/u-loading-icon.js create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-loading-icon/u-loading-icon.json create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-loading-icon/u-loading-icon.wxml create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-loading-icon/u-loading-icon.wxss create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-navbar/u-navbar.js create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-navbar/u-navbar.json create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-navbar/u-navbar.wxml create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-navbar/u-navbar.wxss create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-number-box/u-number-box.js create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-number-box/u-number-box.json create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-number-box/u-number-box.wxml create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-number-box/u-number-box.wxss create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-overlay/u-overlay.js create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-overlay/u-overlay.json create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-overlay/u-overlay.wxml create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-overlay/u-overlay.wxss create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-picker/u-picker.js create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-picker/u-picker.json create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-picker/u-picker.wxml create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-picker/u-picker.wxss create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-popup/u-popup.js create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-popup/u-popup.json create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-popup/u-popup.wxml create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-popup/u-popup.wxss create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-rate/u-rate.js create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-rate/u-rate.json create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-rate/u-rate.wxml create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-rate/u-rate.wxss create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-safe-bottom/u-safe-bottom.js create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-safe-bottom/u-safe-bottom.json create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-safe-bottom/u-safe-bottom.wxml create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-safe-bottom/u-safe-bottom.wxss create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-search/u-search.js create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-search/u-search.json create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-search/u-search.wxml create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-search/u-search.wxss create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-status-bar/u-status-bar.js create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-status-bar/u-status-bar.json create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-status-bar/u-status-bar.wxml create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-status-bar/u-status-bar.wxss create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-tabbar-item/u-tabbar-item.js create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-tabbar-item/u-tabbar-item.json create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-tabbar-item/u-tabbar-item.wxml create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-tabbar-item/u-tabbar-item.wxss create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-tabbar/u-tabbar.js create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-tabbar/u-tabbar.json create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-tabbar/u-tabbar.wxml create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-tabbar/u-tabbar.wxss create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-toolbar/u-toolbar.js create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-toolbar/u-toolbar.json create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-toolbar/u-toolbar.wxml create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-toolbar/u-toolbar.wxss create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-transition/u-transition.js create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-transition/u-transition.json create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-transition/u-transition.wxml create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-transition/u-transition.wxss create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-upload/u-upload.js create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-upload/u-upload.json create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-upload/u-upload.wxml create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uview-ui/components/u-upload/u-upload.wxss diff --git a/.hbuilderx/launch.json b/.hbuilderx/launch.json new file mode 100644 index 0000000..81f13f4 --- /dev/null +++ b/.hbuilderx/launch.json @@ -0,0 +1,16 @@ +{ // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/ + // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数 + "version": "0.0", + "configurations": [{ + "default" : + { + "launchtype" : "local" + }, + "mp-weixin" : + { + "launchtype" : "local" + }, + "type" : "uniCloud" + } + ] +} diff --git a/App.vue b/App.vue new file mode 100644 index 0000000..eb16d9d --- /dev/null +++ b/App.vue @@ -0,0 +1,18 @@ + + + diff --git a/components/file-upload/file-upload.vue b/components/file-upload/file-upload.vue new file mode 100644 index 0000000..7484ef9 --- /dev/null +++ b/components/file-upload/file-upload.vue @@ -0,0 +1,294 @@ + + + + + diff --git a/components/tab-bar.vue b/components/tab-bar.vue new file mode 100644 index 0000000..9853615 --- /dev/null +++ b/components/tab-bar.vue @@ -0,0 +1,65 @@ + + + + + \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..c3ff205 --- /dev/null +++ b/index.html @@ -0,0 +1,20 @@ + + + + + + + + + + +
+ + + diff --git a/js/tabBarList.js b/js/tabBarList.js new file mode 100644 index 0000000..90436d5 --- /dev/null +++ b/js/tabBarList.js @@ -0,0 +1,26 @@ +export default { + cloudStoreList:[{ + pagePath: "/pages/cloudStore/cloudStoreList", + iconPath: "/static/img/yxs-index.png", + selectedIconPath: "/static/img/yxs-index_act.png", + customIcon: false, + text: '首页', + count: 0, + id: 1, + activeColor: "#4D5566", + inactiveColor: "#848FA5" + }, + { + pagePath: "/pages/index/index", + iconPath: "/static/img/yxs-index.png", + selectedIconPath: "/static/img/yxs-index_act.png", + customIcon: false, + // 如果使用自定义扩展的图标库字体,需配置此值为true + // 自定义字体图标库教程:https://www.uviewui.com/guide/customIcon.html + text: '我的', + count: 0, + id: 1, + activeColor: "#4D5566", + inactiveColor: "#848FA5" + }] +} \ No newline at end of file diff --git a/main.js b/main.js new file mode 100644 index 0000000..7a0d5d5 --- /dev/null +++ b/main.js @@ -0,0 +1,24 @@ +import App from './App' +import uView from '@/uni_modules/uview-ui' +Vue.use(uView) + +// #ifndef VUE3 +import Vue from 'vue' +import './uni.promisify.adaptor' +Vue.config.productionTip = false +App.mpType = 'app' +const app = new Vue({ + ...App +}) +app.$mount() +// #endif + +// #ifdef VUE3 +import { createSSRApp } from 'vue' +export function createApp() { + const app = createSSRApp(App) + return { + app + } +} +// #endif \ No newline at end of file diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..cb5f852 --- /dev/null +++ b/manifest.json @@ -0,0 +1,72 @@ +{ + "name" : "3", + "appid" : "", + "description" : "", + "versionName" : "1.0.0", + "versionCode" : "100", + "transformPx" : false, + /* 5+App特有相关 */ + "app-plus" : { + "usingComponents" : true, + "nvueStyleCompiler" : "uni-app", + "compilerVersion" : 3, + "splashscreen" : { + "alwaysShowBeforeRender" : true, + "waiting" : true, + "autoclose" : true, + "delay" : 0 + }, + /* 模块配置 */ + "modules" : {}, + /* 应用发布信息 */ + "distribute" : { + /* android打包配置 */ + "android" : { + "permissions" : [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + /* ios打包配置 */ + "ios" : {}, + /* SDK配置 */ + "sdkConfigs" : {} + } + }, + /* 快应用特有相关 */ + "quickapp" : {}, + /* 小程序特有相关 */ + "mp-weixin" : { + "appid" : "", + "setting" : { + "urlCheck" : false + }, + "usingComponents" : true + }, + "mp-alipay" : { + "usingComponents" : true + }, + "mp-baidu" : { + "usingComponents" : true + }, + "mp-toutiao" : { + "usingComponents" : true + }, + "uniStatistics" : { + "enable" : false + }, + "vueVersion" : "2" +} diff --git a/pages.json b/pages.json new file mode 100644 index 0000000..8bf48a3 --- /dev/null +++ b/pages.json @@ -0,0 +1,50 @@ +{ + "easycom": { + "^u-(.*)": "@/uni_modules/uview-ui/components/u-$1/u-$1.vue" + }, + "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages + { + "path": "pages/index/index", + "style": { + "navigationBarTitleText": "uni-app" + } + }, + { + "path": "pages/cloudStore/apply", + "style": { + "navigationStyle": "custom", + "navigationBarTextStyle": "white" + } + }, + { + "path": "pages/cloudStore/cloudStoreList", + "style": { + "navigationBarTitleText": "全部云拣仓", + "enablePullDownRefresh": true + } + }, + { + "path": "pages/cloudStore/cloudStoreDetail", + "style": { + "navigationStyle": "custom", + "navigationBarTextStyle": "white" + } + } + ], + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "uni-app", + "navigationBarBackgroundColor": "#F8F8F8", + "backgroundColor": "#F8F8F8" + }, + "uniIdRouter": {}, + "tabBar": { + "custom":true, + "list":[{ + "pagePath": "pages/index/index" + }, + { + "pagePath": "pages/cloudStore/cloudStoreList" + }] + } +} diff --git a/pages/cloudStore/apply.vue b/pages/cloudStore/apply.vue new file mode 100644 index 0000000..d8fd1e7 --- /dev/null +++ b/pages/cloudStore/apply.vue @@ -0,0 +1,408 @@ + + + + + \ No newline at end of file diff --git a/pages/cloudStore/cloudStoreDetail.vue b/pages/cloudStore/cloudStoreDetail.vue new file mode 100644 index 0000000..929e438 --- /dev/null +++ b/pages/cloudStore/cloudStoreDetail.vue @@ -0,0 +1,254 @@ + + + + + \ No newline at end of file diff --git a/pages/cloudStore/cloudStoreList.vue b/pages/cloudStore/cloudStoreList.vue new file mode 100644 index 0000000..e92abf0 --- /dev/null +++ b/pages/cloudStore/cloudStoreList.vue @@ -0,0 +1,60 @@ + + + + + \ No newline at end of file diff --git a/pages/cloudStore/components/couponsAct.vue b/pages/cloudStore/components/couponsAct.vue new file mode 100644 index 0000000..c9479f0 --- /dev/null +++ b/pages/cloudStore/components/couponsAct.vue @@ -0,0 +1,32 @@ + + + + + \ No newline at end of file diff --git a/pages/cloudStore/components/dropshipping.vue b/pages/cloudStore/components/dropshipping.vue new file mode 100644 index 0000000..e427f70 --- /dev/null +++ b/pages/cloudStore/components/dropshipping.vue @@ -0,0 +1,150 @@ + + + + + \ No newline at end of file diff --git a/pages/cloudStore/components/shopDetailCard.vue b/pages/cloudStore/components/shopDetailCard.vue new file mode 100644 index 0000000..6aca3f9 --- /dev/null +++ b/pages/cloudStore/components/shopDetailCard.vue @@ -0,0 +1,67 @@ + + + + + \ No newline at end of file diff --git a/pages/cloudStore/components/shopIntroduce.vue b/pages/cloudStore/components/shopIntroduce.vue new file mode 100644 index 0000000..9442f60 --- /dev/null +++ b/pages/cloudStore/components/shopIntroduce.vue @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/pages/cloudStore/components/shopItem.vue b/pages/cloudStore/components/shopItem.vue new file mode 100644 index 0000000..8d3dadb --- /dev/null +++ b/pages/cloudStore/components/shopItem.vue @@ -0,0 +1,206 @@ + + + + + \ No newline at end of file diff --git a/pages/cloudStore/components/wholeSales.vue b/pages/cloudStore/components/wholeSales.vue new file mode 100644 index 0000000..8ea0f06 --- /dev/null +++ b/pages/cloudStore/components/wholeSales.vue @@ -0,0 +1,240 @@ + + + + + \ No newline at end of file diff --git a/pages/index/index.vue b/pages/index/index.vue new file mode 100644 index 0000000..300d4b8 --- /dev/null +++ b/pages/index/index.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/static/img/favicon.png b/static/img/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..7d444423d65f58b3a48f81985026a3d6ef082d80 GIT binary patch literal 4286 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 V3Flfy&hhyH+Uf>sl`3}6{sRV>9E$(| literal 0 HcmV?d00001 diff --git a/static/img/userHL.png b/static/img/userHL.png new file mode 100644 index 0000000000000000000000000000000000000000..ffcb4fc0dbb112b9e13867b61e64f4ea3a65fe94 GIT binary patch literal 4214 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 LRIgFTDeiv&xhWP7 literal 0 HcmV?d00001 diff --git a/static/img/xlw-iot-tab-act.png b/static/img/xlw-iot-tab-act.png new file mode 100644 index 0000000000000000000000000000000000000000..1db0cba7e117bd1d7d8b2952f5ef54d816a17ce9 GIT binary patch literal 2096 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 literal 0 HcmV?d00001 diff --git a/static/img/yxs-index_act.png b/static/img/yxs-index_act.png new file mode 100644 index 0000000000000000000000000000000000000000..688a64efe6798718fe55d614db785f873f755d86 GIT binary patch literal 1629 zcmV-j2BP_iP)!-t56F-nLxshq%B|A0L z1>CDq=Qk&Wrsnjg+{zqn?sRL=d3EL_P+dTl>x7&FYgdQvk?B5@u{YgRN^Ia4Wyau% z24KbO4Fu3#0DjQTzU0+)Bu49Nr?A}wz`ss`hIQ2k{_fW60br+!g|4Hr#e&hQ0{Ng2 z?0!k*&+f}Iuj#*JoaaZU_c#5NhalfOkp0r5t!XwN1~C0P*iRD;4&Rsnz-bcnQ)VeC z7BZ*(ghFq#60O@P9X5sduoY|MqUA=b4@*P2kly+*%m;-vTB|;N-g>B zM8t&t;>VaIqKz%icq;!yT`dRApa&Y1p+ zm|;`F#CN(41p;&LR=pwY^6-0NE7`C>A(^vb7uuVSYf2s3@-KZy{T? z?jTNtw0pFCM4IE6kZ(t5*JjEz%~O)WLBQp_n<+LN%P+fa#_GfJO@4L};6J6l@R0m!lffdKAwHbzyifr!c?+UXuYcbjg`0+Aap z@6(xKmqoSmm~O)Y!Kw4!zKDsaWM0(tn;Zt_GV!GQEH5W;vL6} zc;Kbhuxe!$)lrdjlD2>3aJ)IOf+7Jy-Jv!=#Auf4{Tei%lJ20WCy{W81XPF_HC5fQ zJ=Gb>DIN!Y-07qO@y5W8vz-^fE_|_AH-b*Vpmls-%;47-cT5&CCxYrqo)0qu>P_xu zL~cnIs`LGL6|!G|xDIKjo7{Ti;kodixM=$kxR{t6==!7?e6E4WkCbl2-RT#&8Q9j0 zlJzcwxp^kUK{QS9@UN2v4f%t8#{1AS&wcSg2qw@tb z`@DRx1;R9=Jwx;Y6&4>m`TApHr5oJzt3c#OXRpNcxywzcop_>JJ1x}xQh@-o;+Z!3 z0~@`JOM;%2xzOf{3WN#mJuJv;xi5^Fm3bL4+nu^~`f^5?)mYB7 zV+%N5G|GjeZl8C*JhKZI8xQEr%}`!kvUffg=c~Q#xRPwtnfQjZy&UAw*j&RxMMzwF z%$T{GsvH;L)@=(hHWRIaxSIUsxW$a}n=Y~&JH?~8AEpK~69k0g*7U6{>5dErB(jfT z$#@)8UUK25Xh-p$3C~<=zq&JryiqaD#U*2u}>}00000NkvXXu0mjfra}kY literal 0 HcmV?d00001 diff --git a/static/img/yxs-my.png b/static/img/yxs-my.png new file mode 100644 index 0000000000000000000000000000000000000000..feb623503d95cba3f79afb726e6161063a33fd7c GIT binary patch literal 2659 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 RR2%>R002ovPDHLkV1lZ89ZdiL literal 0 HcmV?d00001 diff --git a/static/img/yxs-my_act.png b/static/img/yxs-my_act.png new file mode 100644 index 0000000000000000000000000000000000000000..7b71d77b55289b50f3c0b5dec888480ba714ea72 GIT binary patch literal 2175 zcmV-_2!QvAP))7~W7MD~#>>p&H%3nWf~Wyz4?8Rdk@!2|MMZY@VoX$`#uz~$ZanDK5YB#>28FD; zu+DV(UiZA7s_N?BO!v5Bwv*kediDNORsHH!HDd`LPB`V7eSrzFlG<3#OqASy_n!%Y zkP*>x8yW{fpwdI4R!Es0QpdWQgeR(tSrH@_zTl}if_s=tOppx`NJx(`=)o7z92?E zgJ<3r!{;v8m#8DE1ftpcMCmrf@yA6{VkClf?AC2l_H{mkIJFT`e_Ac^3&MO2bcCes z00YjgSLDG$j7;!yt?_<W<>h7KkVcVvzIxgZn5 zlK&43*dZB)b(v7_8|=2x4Z2B{DSNYMiEngxT$^)ts$MOH#s@?nszjP~ikL-~Fxqgy zm~f0rbUR5*0(2OT+UaWXpbS@(*jBSQwS+h(Bji<=N4T$q>E)D{0v=!9gb3>jtotj3 z{&vh)0pu=*#%t&A##&$@K%oA}u1hjrlHxm}bqHkL=zBsJ+>bU);Zcm}Ld4LMqDO+IDj{T{s3VLnRtXa!E;0^lRUkm#2+mv! zq1_zdo#D*-bVX_PTkme?f1Bu*U~wKu^>cV@34;(`EDLAMPYx{~dHBPfqm6JJwI`7h z-L4-6&Nm;a7LThUgRMv<#-|$hIxY5jkSqm+^NTP$Rz*>SDuLT682yh$5vS=JTU8u+ z=UIN)L}OGUkA(__hbf{g+lV+`vv*{@QX*e`!uIHjCwg8TJz3HJ4P!*{L{H0ewCGMR zBziHR?f|5>sGAFtdvdJn5q-xKP4;z;as#X}x+h>q3B&G}kn$*-^Ors%zOE7!dK0ie zWhaO2D&fACBP3%ehJTnNia_(b(&BqRhZ`68JVGnRJX0t(V@dJbV}h@Z;FWuqt3*38 z%3WBPfVL;tnJ|QYz&%euY}gNBVKQ7LFgOiEkm08Equj68qwzZjMg9vc$!=R0(o0)T z%+r`~&kK5CnwC~R8Ss_Bqms0Yy2Zz=o=od2;R4$UUKt^ex}H{4l)&v8ZdmgWOgv2+ zZbb=1tWOjRM38w2xlH+RhxiASzz*C!6GB!cOvBk!$y5?tnY3Gi38SKflcY2yP-QxQ zosfZY9c~EJ;R-=nhNY<&3ViL6-Nj#{XkwKh;!4f_ObD@++R-I%LUQshJn)Ui^Li62 zLCl^$B(D6casD~MoCg55P6!TZKsbWq3{IE}_37&BuLyUk97GSK9unOc=?$abAw4Q? zc9^psgsz8l>9v?u_J$Omw~IM|%>nE;*b1Mvm~|SUKddNSbE+RHu*@A%+1uE_1m6ip z-2;XvIzveAT;2pneaW~uP~THJk(@3bvu8)RxdewD>}5%fS2F?wVvmBwcEl~o5ggpE zt{vfKa|C-WiNZ;!s?d6YB`fDT@|Ax>%-wZa`eyoiYWn)f8FFw2{Fp#+8^@ zA52E8>_@XEBIvzA(CG>}ol5S4ISGE4z0BU%;F@ zZoKi&%fELrgT1>eOa5Y+XKP0*WiQa)TX%X>)CvW5!;#%%a^_(_gx`l-E#_X6O~J~D znl=Bnt*??WWkdjQ9d)EFO|iZSmX$WO!1R4_jGD$Zttc|ZX zK4DqnFk(0ke-wh3$?jjrx|}Te^OJBFc!Mk<;0W)6@}-}_0Oi#x6AgBqH{ssd_4>Ut zWon>-h`=qeWw4D6*B))toq*T@M<5UrqrAZH#QOi~!ApN(N#DTKkPUAqW`EK@mz8k_ zq7E0yAi;Z6Q~(y~2r?2AwT=+4Q+trgxKmHEC6OZ#89%Z)f5ASs*b}#sVY91O6*q_7 z^dvkg6FY(k+^>!<+J~~dno7JgDIsAywz9ZAsRKx6YDW+umhNR?2fp5m`CwkA$)yf! z0K_llxCCvK?4BGUGsX+04ihy@hsp4~>X?7D7_TO|`kh3F%p9Q$dur;>HS=P=>^STp z=)0x+2-8jOd~aFoV{3S%Zi)eP*-Pyu5A^PVe*xDE)@`E53^)J)002ovPDHLkV1h6h B+!6o) literal 0 HcmV?d00001 diff --git a/static/img/yxs-origin.png b/static/img/yxs-origin.png new file mode 100644 index 0000000000000000000000000000000000000000..8fcc0031a703fea919031daa9afdc22debbbe3e9 GIT binary patch literal 3343 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 { + res.then((res) => res[0] ? reject(res[0]) : resolve(res[1])); + }); + }, +}); \ No newline at end of file diff --git a/uni.scss b/uni.scss new file mode 100644 index 0000000..f8c3cdd --- /dev/null +++ b/uni.scss @@ -0,0 +1,78 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ + +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ + +/* 颜色变量 */ + +@import '@/uni_modules/uview-ui/theme.scss'; + +/* 行为相关颜色 */ +$uni-color-primary: #007aff; +$uni-color-success: #4cd964; +$uni-color-warning: #f0ad4e; +$uni-color-error: #dd524d; + +/* 文字基本颜色 */ +$uni-text-color:#333;//基本色 +$uni-text-color-inverse:#fff;//反色 +$uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息 +$uni-text-color-placeholder: #808080; +$uni-text-color-disable:#c0c0c0; + +/* 背景颜色 */ +$uni-bg-color:#ffffff; +$uni-bg-color-grey:#f8f8f8; +$uni-bg-color-hover:#f1f1f1;//点击状态颜色 +$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色 + +/* 边框颜色 */ +$uni-border-color:#c8c7cc; + +/* 尺寸变量 */ + +/* 文字尺寸 */ +$uni-font-size-sm:12px; +$uni-font-size-base:14px; +$uni-font-size-lg:16px; + +/* 图片尺寸 */ +$uni-img-size-sm:20px; +$uni-img-size-base:26px; +$uni-img-size-lg:40px; + +/* Border Radius */ +$uni-border-radius-sm: 2px; +$uni-border-radius-base: 3px; +$uni-border-radius-lg: 6px; +$uni-border-radius-circle: 50%; + +/* 水平间距 */ +$uni-spacing-row-sm: 5px; +$uni-spacing-row-base: 10px; +$uni-spacing-row-lg: 15px; + +/* 垂直间距 */ +$uni-spacing-col-sm: 4px; +$uni-spacing-col-base: 8px; +$uni-spacing-col-lg: 12px; + +/* 透明度 */ +$uni-opacity-disabled: 0.3; // 组件禁用态的透明度 + +/* 文章场景相关 */ +$uni-color-title: #2C405A; // 文章标题颜色 +$uni-font-size-title:20px; +$uni-color-subtitle: #555555; // 二级标题颜色 +$uni-font-size-subtitle:26px; +$uni-color-paragraph: #3F536E; // 文章段落颜色 +$uni-font-size-paragraph:15px; diff --git a/uni_modules/uview-ui/LICENSE b/uni_modules/uview-ui/LICENSE new file mode 100644 index 0000000..4db40ef --- /dev/null +++ b/uni_modules/uview-ui/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 www.uviewui.com + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/uni_modules/uview-ui/README.md b/uni_modules/uview-ui/README.md new file mode 100644 index 0000000..c78ff47 --- /dev/null +++ b/uni_modules/uview-ui/README.md @@ -0,0 +1,66 @@ +

+ logo +

+

uView 2.0

+

多平台快速开发的UI框架

+ +[![stars](https://img.shields.io/github/stars/umicro/uView2.0?style=flat-square&logo=GitHub)](https://github.com/umicro/uView2.0) +[![forks](https://img.shields.io/github/forks/umicro/uView2.0?style=flat-square&logo=GitHub)](https://github.com/umicro/uView2.0) +[![issues](https://img.shields.io/github/issues/umicro/uView2.0?style=flat-square&logo=GitHub)](https://github.com/umicro/uView2.0/issues) +[![Website](https://img.shields.io/badge/uView-up-blue?style=flat-square)](https://uviewui.com) +[![release](https://img.shields.io/github/v/release/umicro/uView2.0?style=flat-square)](https://gitee.com/umicro/uView2.0/releases) +[![license](https://img.shields.io/github/license/umicro/uView2.0?style=flat-square)](https://en.wikipedia.org/wiki/MIT_License) + +## 说明 + +uView UI,是[uni-app](https://uniapp.dcloud.io/)全面兼容nvue的uni-app生态框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水 + +## [官方文档:https://uviewui.com](https://uviewui.com) + + +## 预览 + +您可以通过**微信**扫码,查看最佳的演示效果。 +
+
+ + + +## 链接 + +- [官方文档](https://www.uviewui.com/) +- [更新日志](https://www.uviewui.com/components/changelog.html) +- [升级指南](https://www.uviewui.com/components/changeGuide.html) +- [关于我们](https://www.uviewui.com/cooperation/about.html) + +## 交流反馈 + +欢迎加入我们的QQ群交流反馈:[点此跳转](https://www.uviewui.com/components/addQQGroup.html) + +## 关于PR + +> 我们非常乐意接受各位的优质PR,但在此之前我希望您了解uView2.0是一个需要兼容多个平台的(小程序、h5、ios app、android app)包括nvue页面、vue页面。 +> 所以希望在您修复bug并提交之前尽可能的去这些平台测试一下兼容性。最好能携带测试截图以方便审核。非常感谢! + +## 安装 + +#### **uni-app插件市场链接** —— [https://ext.dcloud.net.cn/plugin?id=1593](https://ext.dcloud.net.cn/plugin?id=1593) + +请通过[官网安装文档](https://www.uviewui.com/components/install.html)了解更详细的内容 + +## 快速上手 + +请通过[快速上手](https://uviewui.com/components/quickstart.html)了解更详细的内容 + +## 使用方法 +配置easycom规则后,自动按需引入,无需`import`组件,直接引用即可。 + +```html + +``` + +## 版权信息 +uView遵循[MIT](https://en.wikipedia.org/wiki/MIT_License)开源协议,意味着您无需支付任何费用,也无需授权,即可将uView应用到您的产品中。 + diff --git a/uni_modules/uview-ui/changelog.md b/uni_modules/uview-ui/changelog.md new file mode 100644 index 0000000..73bb66d --- /dev/null +++ b/uni_modules/uview-ui/changelog.md @@ -0,0 +1,376 @@ +## 2.0.38(2024-06-12) +插件市场处理 +## 2.0.37(2024-03-17) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复表单校验`trigger`触发器参数无效问题 +2. 修复`u-input`组件的`password`属性在动态切换为`false`时失效的问题 +3. 添加微信小程序用户同意隐私协议事件回调 +4. 修复支付宝小程序picker样式问题 +5. `u-modal`添加`duration`字段控制动画过度时间 +6. 修复`picker` `lastIndex`异常导致的`column`异常问题 +7. `tabs`增加长按事件支持 +8. 修复`u-avatar` `square`属性在小程序`open-data`下无效问题 +9. 其他一些修复 +## 2.0.36(2023-03-27) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 重构`deepClone` & `deepMerge`方法 +2. 其他优化 +## 2.0.34(2022-09-24) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. `u-input`、`u-textarea`增加`ignoreCompositionEvent`属性 +2. 修复`route`方法调用可能报错的问题 +3. 修复`u-no-network`组件`z-index`无效的问题 +4. 修复`textarea`组件在h5上confirmType=""报错的问题 +5. `u-rate`适配`nvue` +6. 优化验证手机号码的正则表达式(根据工信部发布的《电信网编号计划(2017年版)》进行修改。) +7. `form-item`添加`labelPosition`属性 +8. `u-calendar`修复`maxDate`设置为当前日期,并且当前时间大于08:00时无法显示日期列表的问题 (#724) +9. `u-radio`增加一个默认插槽用于自定义修改label内容 (#680) +10. 修复`timeFormat`函数在safari重的兼容性问题 (#664) +## 2.0.33(2022-06-17) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复`loadmore`组件`lineColor`类型错误问题 +2. 修复`u-parse`组件`imgtap`、`linktap`不生效问题 +## 2.0.32(2022-06-16) +# uView2.0重磅发布,利剑出鞘,一统江湖 +1. `u-loadmore`新增自定义颜色、虚/实线 +2. 修复`u-swiper-action`组件部分平台不能上下滑动的问题 +3. 修复`u-list`回弹问题 +4. 修复`notice-bar`组件动画在低端安卓机可能会抖动的问题 +5. `u-loading-page`添加控制图标大小的属性`iconSize` +6. 修复`u-tooltip`组件`color`参数不生效的问题 +7. 修复`u--input`组件使用`blur`事件输出为`undefined`的bug +8. `u-code-input`组件新增键盘弹起时,是否自动上推页面参数`adjustPosition` +9. 修复`image`组件`load`事件无回调对象问题 +10. 修复`button`组件`loadingSize`设置无效问题 +10. 其他修复 +## 2.0.31(2022-04-19) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复`upload`在`vue`页面上传成功后没有成功标志的问题 +2. 解决演示项目中微信小程序模拟上传图片一直出于上传中问题 +3. 修复`u-code-input`组件在`nvue`页面编译到`app`平台上光标异常问题(`app`去除此功能) +4. 修复`actionSheet`组件标题关闭按钮点击事件名称错误的问题 +5. 其他修复 +## 2.0.30(2022-04-04) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. `u-rate`增加`readonly`属性 +2. `tabs`滑块支持设置背景图片 +3. 修复`u-subsection` `mode`为`subsection`时,滑块样式不正确的问题 +4. `u-code-input`添加光标效果动画 +5. 修复`popup`的`open`事件不触发 +6. 修复`u-flex-column`无效的问题 +7. 修复`u-datetime-picker`索引在特定场合异常问题 +8. 修复`u-datetime-picker`最小时间字符串模板错误问题 +9. `u-swiper`添加`m3u8`验证 +10. `u-swiper`修改判断image和video逻辑 +11. 修复`swiper`无法使用本地图片问题,增加`type`参数 +12. 修复`u-row-notice`格式错误问题 +13. 修复`u-switch`组件当`unit`为`rpx`时,`nodeStyle`消失的问题 +14. 修复`datetime-picker`组件`showToolbar`与`visibleItemCount`属性无效的问题 +15. 修复`upload`组件条件编译位置判断错误,导致`previewImage`属性设置为`false`时,整个组件都会被隐藏的问题 +16. 修复`u-checkbox-group`设置`shape`属性无效的问题 +17. 修复`u-upload`的`capture`传入字符串的时候不生效的问题 +18. 修复`u-action-sheet`组件,关闭事件逻辑错误的问题 +19. 修复`u-list`触顶事件的触发错误的问题 +20. 修复`u-text`只有手机号可拨打的问题 +21. 修复`u-textarea`不能换行的问题 +22. 其他修复 +## 2.0.29(2022-03-13) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复`u--text`组件设置`decoration`属性未生效的问题 +2. 修复`u-datetime-picker`使用`formatter`后返回值不正确 +3. 修复`u-datetime-picker` `intercept` 可能为undefined +4. 修复已设置单位 uni..config.unit = 'rpx'时,线型指示器 `transform` 的位置翻倍,导致指示器超出宽度 +5. 修复mixin中bem方法生成的类名在支付宝和字节小程序中失效 +6. 修复默认值传值为空的时候,打开`u-datetime-picker`报错,不能选中第一列时间的bug +7. 修复`u-datetime-picker`使用`formatter`后返回值不正确 +8. 修复`u-image`组件`loading`无效果的问题 +9. 修复`config.unit`属性设为`rpx`时,导航栏占用高度不足导致塌陷的问题 +10. 修复`u-datetime-picker`组件`itemHeight`无效问题 +11. 其他修复 +## 2.0.28(2022-02-22) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. search组件新增searchIconSize属性 +2. 兼容Safari/Webkit中传入时间格式如2022-02-17 12:00:56 +3. 修复text value.js 判断日期出format错误问题 +4. priceFormat格式化金额出现精度错误 +5. priceFormat在部分情况下出现精度损失问题 +6. 优化表单rules提示 +7. 修复avatar组件src为空时,展示状态不对 +8. 其他修复 +## 2.0.27(2022-01-28) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1.样式修复 +## 2.0.26(2022-01-28) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1.样式修复 +## 2.0.25(2022-01-27) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复text组件mode=price时,可能会导致精度错误的问题 +2. 添加$u.setConfig()方法,可设置uView内置的config, props, zIndex, color属性,详见:[修改uView内置配置方案](https://uviewui.com/components/setting.html#%E9%BB%98%E8%AE%A4%E5%8D%95%E4%BD%8D%E9%85%8D%E7%BD%AE) +3. 优化form组件在errorType=toast时,如果输入错误页面会有抖动的问题 +4. 修复$u.addUnit()对配置默认单位可能无效的问题 +## 2.0.24(2022-01-25) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复swiper在current指定非0时缩放有误 +2. 修复u-icon添加stop属性的时候报错 +3. 优化遗留的通过正则判断rpx单位的问题 +4. 优化Layout布局 vue使用gutter时,会超出固定区域 +5. 优化search组件高度单位问题(rpx -> px) +6. 修复u-image slot 加载和错误的图片失去了高度 +7. 修复u-index-list中footer插槽与header插槽存在性判断错误 +8. 修复部分机型下u-popup关闭时会闪烁 +9. 修复u-image在nvue-app下失去宽高 +10. 修复u-popup运行报错 +11. 修复u-tooltip报错 +12. 修复box-sizing在app下的警告 +13. 修复u-navbar在小程序中报运行时错误 +14. 其他修复 +## 2.0.23(2022-01-24) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复image组件在hx3.3.9的nvue下可能会显示异常的问题 +2. 修复col组件gutter参数带rpx单位处理不正确的问题 +3. 修复text组件单行时无法显示省略号的问题 +4. navbar添加titleStyle参数 +5. 升级到hx3.3.9可消除nvue下控制台样式警告的问题 +## 2.0.22(2022-01-19) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. $u.page()方法优化,避免在特殊场景可能报错的问题 +2. picker组件添加immediateChange参数 +3. 新增$u.pages()方法 +## 2.0.21(2022-01-19) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 优化:form组件在用户设置rules的时候提示用户model必传 +2. 优化遗留的通过正则判断rpx单位的问题 +3. 修复微信小程序环境中tabbar组件开启safeAreaInsetBottom属性后,placeholder高度填充不正确 +4. 修复swiper在current指定非0时缩放有误 +5. 修复u-icon添加stop属性的时候报错 +6. 修复upload组件在accept=all的时候没有作用 +7. 修复在text组件mode为phone时call属性无效的问题 +8. 处理u-form clearValidate方法 +9. 其他修复 +## 2.0.20(2022-01-14) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复calendar默认会选择一个日期,如果直接点确定的话,无法取到值的问题 +2. 修复Slider缺少disabled props 还有注释 +3. 修复u-notice-bar点击事件无法拿到index索引值的问题 +4. 修复u-collapse-item在vue文件下,app端自定义插槽不生效的问题 +5. 优化头像为空时显示默认头像 +6. 修复图片地址赋值后判断加载状态为完成问题 +7. 修复日历滚动到默认日期月份区域 +8. search组件暴露点击左边icon事件 +9. 修复u-form clearValidate方法不生效 +10. upload h5端增加返回文件参数(文件的name参数) +11. 处理upload选择文件后url为blob类型无法预览的问题 +12. u-code-input 修复输入框没有往左移出一半屏幕 +13. 修复Upload上传 disabled为true时,控制台报hoverClass类型错误 +14. 临时处理ios app下grid点击坍塌问题 +15. 其他修复 +## 2.0.19(2021-12-29) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 优化微信小程序包体积可在微信中预览,请升级HbuilderX3.3.4,同时在“运行->运行到小程序模拟器”中勾选“运行时是否压缩代码” +2. 优化微信小程序setData性能,处理某些方法如$u.route()无法在模板中使用的问题 +3. navbar添加autoBack参数 +4. 允许avatar组件的事件冒泡 +5. 修复cell组件报错问题 +6. 其他修复 +## 2.0.18(2021-12-28) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复app端编译报错问题 +2. 重新处理微信小程序端setData过大的性能问题 +3. 修复边框问题 +4. 修复最大最小月份不大于0则没有数据出现的问题 +5. 修复SwipeAction微信小程序端无法上下滑动问题 +6. 修复input的placeholder在小程序端默认显示为true问题 +7. 修复divider组件click事件无效问题 +8. 修复u-code-input maxlength 属性值为 String 类型时显示异常 +9. 修复当 grid只有 1到2时 在小程序端algin设置无效的问题 +10. 处理form-item的label为top时,取消错误提示的左边距 +11. 其他修复 +## 2.0.17(2021-12-26) +## uView正在参与开源中国的“年度最佳项目”评选,之前投过票的现在也可以投票,恳请同学们投一票,[点此帮助uView](https://www.oschina.net/project/top_cn_2021/?id=583) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 解决HBuilderX3.3.3.20211225版本导致的样式问题 +2. calendar日历添加monthNum参数 +3. navbar添加center slot +## 2.0.16(2021-12-25) +## uView正在参与开源中国的“年度最佳项目”评选,之前投过票的现在也可以投票,恳请同学们投一票,[点此帮助uView](https://www.oschina.net/project/top_cn_2021/?id=583) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 解决微信小程序setData性能问题 +2. 修复count-down组件change事件不触发问题 +## 2.0.15(2021-12-21) +## uView正在参与开源中国的“年度最佳项目”评选,之前投过票的现在也可以投票,恳请同学们投一票,[点此帮助uView](https://www.oschina.net/project/top_cn_2021/?id=583) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复Cell单元格titleWidth无效 +2. 修复cheakbox组件ischecked不更新 +3. 修复keyboard是否显示"."按键默认值问题 +4. 修复number-keyboard是否显示键盘的"."符号问题 +5. 修复Input输入框 readonly无效 +6. 修复u-avatar 导致打包app、H5时候报错问题 +7. 修复Upload上传deletable无效 +8. 修复upload当设置maxSize时无效的问题 +9. 修复tabs lineWidth传入带单位的字符串的时候偏移量计算错误问题 +10. 修复rate组件在有padding的view内,显示的星星位置和可触摸区域不匹配,无法正常选中星星 +## 2.0.13(2021-12-14) +## [点击加群交流反馈:364463526](https://jq.qq.com/?_chanwv=1027&k=mCxS3TGY) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复配置默认单位为rpx可能会导致自定义导航栏高度异常的问题 +## 2.0.12(2021-12-14) +## [点击加群交流反馈:364463526](https://jq.qq.com/?_chanwv=1027&k=mCxS3TGY) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复tabs组件在vue环境下划线消失的问题 +2. 修复upload组件在安卓小程序无法选择视频的问题 +3. 添加uni.$u.config.unit配置,用于配置参数默认单位,详见:[默认单位配置](https://www.uviewui.com/components/setting.html#%E9%BB%98%E8%AE%A4%E5%8D%95%E4%BD%8D%E9%85%8D%E7%BD%AE) +4. 修复textarea组件在没绑定v-model时,字符统计不生效问题 +5. 修复nvue下控制是否出现滚动条失效问题 +## 2.0.11(2021-12-13) +## [点击加群交流反馈:364463526](https://jq.qq.com/?_chanwv=1027&k=mCxS3TGY) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. text组件align参数无效的问题 +2. subsection组件添加keyName参数 +3. upload组件无法判断[Object file]类型的问题 +4. 处理notify层级过低问题 +5. codeInput组件添加disabledDot参数 +6. 处理actionSheet组件round参数无效的问题 +7. calendar组件添加round参数用于控制圆角值 +8. 处理swipeAction组件在vue环境下默认被打开的问题 +9. button组件的throttleTime节流参数无效的问题 +10. 解决u-notify手动关闭方法close()无效的问题 +11. input组件readonly不生效问题 +12. tag组件type参数为info不生效问题 +## 2.0.10(2021-12-08) +## [点击加群交流反馈:364463526](https://jq.qq.com/?_chanwv=1027&k=mCxS3TGY) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复button sendMessagePath属性不生效 +2. 修复DatetimePicker选择器title无效 +3. 修复u-toast设置loading=true不生效 +4. 修复u-text金额模式传0报错 +5. 修复u-toast组件的icon属性配置不生效 +6. button的icon在特殊场景下的颜色优化 +7. IndexList优化,增加# +## 2.0.9(2021-12-01) +## [点击加群交流反馈:232041042](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 优化swiper的height支持100%值(仅vue有效),修复嵌入视频时click事件无法触发的问题 +2. 优化tabs组件对list值为空的判断,或者动态变化list时重新计算相关尺寸的问题 +3. 优化datetime-picker组件逻辑,让其后续打开的默认值为上一次的选中值,需要通过v-model绑定值才有效 +4. 修复upload内嵌在其他组件中,选择图片可能不会换行的问题 +## 2.0.8(2021-12-01) +## [点击加群交流反馈:232041042](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复toast的position参数无效问题 +2. 处理input在ios nvue上无法获得焦点的问题 +3. avatar-group组件添加extraValue参数,让剩余展示数量可手动控制 +4. tabs组件添加keyName参数用于配置从对象中读取的键名 +5. 处理text组件名字脱敏默认配置无效的问题 +6. 处理picker组件item文本太长换行问题 +## 2.0.7(2021-11-30) +## [点击加群交流反馈:232041042](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复radio和checkbox动态改变v-model无效的问题。 +2. 优化form规则validator在微信小程序用法 +3. 修复backtop组件mode参数在微信小程序无效的问题 +4. 处理Album的previewFullImage属性无效的问题 +5. 处理u-datetime-picker组件mode='time'在选择改变时间时,控制台报错的问题 +## 2.0.6(2021-11-27) +## [点击加群交流反馈:232041042](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 处理tag组件在vue下边框无效的问题。 +2. 处理popup组件圆角参数可能无效的问题。 +3. 处理tabs组件lineColor参数可能无效的问题。 +4. propgress组件在值很小时,显示异常的问题。 +## 2.0.5(2021-11-25) +## [点击加群交流反馈:232041042](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. calendar在vue下显示异常问题。 +2. form组件labelPosition和errorType参数无效的问题 +3. input组件inputAlign无效的问题 +4. 其他一些修复 +## 2.0.4(2021-11-23) +## [点击加群交流反馈:232041042](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +0. input组件缺失@confirm事件,以及subfix和prefix无效问题 +1. component.scss文件样式在vue下干扰全局布局问题 +2. 修复subsection在vue环境下表现异常的问题 +3. tag组件的bgColor等参数无效的问题 +4. upload组件不换行的问题 +5. 其他的一些修复处理 +## 2.0.3(2021-11-16) +## [点击加群交流反馈:1129077272](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. uView2.0已实现全面兼容nvue +2. uView2.0对1.x进行了架构重构,细节和性能都有极大提升 +3. 目前uView2.0为公测阶段,相关细节可能会有变动 +4. 我们写了一份与1.x的对比指南,详见[对比1.x](https://www.uviewui.com/components/diff1.x.html) +5. 处理modal的confirm回调事件拼写错误问题 +6. 处理input组件@input事件参数错误问题 +7. 其他一些修复 +## 2.0.2(2021-11-16) +## [点击加群交流反馈:1129077272](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. uView2.0已实现全面兼容nvue +2. uView2.0对1.x进行了架构重构,细节和性能都有极大提升 +3. 目前uView2.0为公测阶段,相关细节可能会有变动 +4. 我们写了一份与1.x的对比指南,详见[对比1.x](https://www.uviewui.com/components/diff1.x.html) +5. 修复input组件formatter参数缺失问题 +6. 优化loading-icon组件的scss写法问题,防止不兼容新版本scss +## 2.0.0(2020-11-15) +## [点击加群交流反馈:1129077272](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. uView2.0已实现全面兼容nvue +2. uView2.0对1.x进行了架构重构,细节和性能都有极大提升 +3. 目前uView2.0为公测阶段,相关细节可能会有变动 +4. 我们写了一份与1.x的对比指南,详见[对比1.x](https://www.uviewui.com/components/diff1.x.html) +5. 修复input组件formatter参数缺失问题 + + diff --git a/uni_modules/uview-ui/components/u--form/u--form.vue b/uni_modules/uview-ui/components/u--form/u--form.vue new file mode 100644 index 0000000..d534ece --- /dev/null +++ b/uni_modules/uview-ui/components/u--form/u--form.vue @@ -0,0 +1,78 @@ + + + diff --git a/uni_modules/uview-ui/components/u--image/u--image.vue b/uni_modules/uview-ui/components/u--image/u--image.vue new file mode 100644 index 0000000..21b7ab1 --- /dev/null +++ b/uni_modules/uview-ui/components/u--image/u--image.vue @@ -0,0 +1,47 @@ + + + \ No newline at end of file diff --git a/uni_modules/uview-ui/components/u--input/u--input.vue b/uni_modules/uview-ui/components/u--input/u--input.vue new file mode 100644 index 0000000..1e58b01 --- /dev/null +++ b/uni_modules/uview-ui/components/u--input/u--input.vue @@ -0,0 +1,73 @@ + + + \ No newline at end of file diff --git a/uni_modules/uview-ui/components/u--text/u--text.vue b/uni_modules/uview-ui/components/u--text/u--text.vue new file mode 100644 index 0000000..44ee52a --- /dev/null +++ b/uni_modules/uview-ui/components/u--text/u--text.vue @@ -0,0 +1,44 @@ + + + diff --git a/uni_modules/uview-ui/components/u--textarea/u--textarea.vue b/uni_modules/uview-ui/components/u--textarea/u--textarea.vue new file mode 100644 index 0000000..f4df0b9 --- /dev/null +++ b/uni_modules/uview-ui/components/u--textarea/u--textarea.vue @@ -0,0 +1,48 @@ + + + diff --git a/uni_modules/uview-ui/components/u-action-sheet/props.js b/uni_modules/uview-ui/components/u-action-sheet/props.js new file mode 100644 index 0000000..e96e04f --- /dev/null +++ b/uni_modules/uview-ui/components/u-action-sheet/props.js @@ -0,0 +1,54 @@ +export default { + props: { + // 操作菜单是否展示 (默认false) + show: { + type: Boolean, + default: uni.$u.props.actionSheet.show + }, + // 标题 + title: { + type: String, + default: uni.$u.props.actionSheet.title + }, + // 选项上方的描述信息 + description: { + type: String, + default: uni.$u.props.actionSheet.description + }, + // 数据 + actions: { + type: Array, + default: uni.$u.props.actionSheet.actions + }, + // 取消按钮的文字,不为空时显示按钮 + cancelText: { + type: String, + default: uni.$u.props.actionSheet.cancelText + }, + // 点击某个菜单项时是否关闭弹窗 + closeOnClickAction: { + type: Boolean, + default: uni.$u.props.actionSheet.closeOnClickAction + }, + // 处理底部安全区(默认true) + safeAreaInsetBottom: { + type: Boolean, + default: uni.$u.props.actionSheet.safeAreaInsetBottom + }, + // 小程序的打开方式 + openType: { + type: String, + default: uni.$u.props.actionSheet.openType + }, + // 点击遮罩是否允许关闭 (默认true) + closeOnClickOverlay: { + type: Boolean, + default: uni.$u.props.actionSheet.closeOnClickOverlay + }, + // 圆角值 + round: { + type: [Boolean, String, Number], + default: uni.$u.props.actionSheet.round + } + } +} diff --git a/uni_modules/uview-ui/components/u-action-sheet/u-action-sheet.vue b/uni_modules/uview-ui/components/u-action-sheet/u-action-sheet.vue new file mode 100644 index 0000000..26d5d8d --- /dev/null +++ b/uni_modules/uview-ui/components/u-action-sheet/u-action-sheet.vue @@ -0,0 +1,278 @@ + + + + + + diff --git a/uni_modules/uview-ui/components/u-album/props.js b/uni_modules/uview-ui/components/u-album/props.js new file mode 100644 index 0000000..75cdb37 --- /dev/null +++ b/uni_modules/uview-ui/components/u-album/props.js @@ -0,0 +1,59 @@ +export default { + props: { + // 图片地址,Array|Array形式 + urls: { + type: Array, + default: uni.$u.props.album.urls + }, + // 指定从数组的对象元素中读取哪个属性作为图片地址 + keyName: { + type: String, + default: uni.$u.props.album.keyName + }, + // 单图时,图片长边的长度 + singleSize: { + type: [String, Number], + default: uni.$u.props.album.singleSize + }, + // 多图时,图片边长 + multipleSize: { + type: [String, Number], + default: uni.$u.props.album.multipleSize + }, + // 多图时,图片水平和垂直之间的间隔 + space: { + type: [String, Number], + default: uni.$u.props.album.space + }, + // 单图时,图片缩放裁剪的模式 + singleMode: { + type: String, + default: uni.$u.props.album.singleMode + }, + // 多图时,图片缩放裁剪的模式 + multipleMode: { + type: String, + default: uni.$u.props.album.multipleMode + }, + // 最多展示的图片数量,超出时最后一个位置将会显示剩余图片数量 + maxCount: { + type: [String, Number], + default: uni.$u.props.album.maxCount + }, + // 是否可以预览图片 + previewFullImage: { + type: Boolean, + default: uni.$u.props.album.previewFullImage + }, + // 每行展示图片数量,如设置,singleSize和multipleSize将会无效 + rowCount: { + type: [String, Number], + default: uni.$u.props.album.rowCount + }, + // 超出maxCount时是否显示查看更多的提示 + showMore: { + type: Boolean, + default: uni.$u.props.album.showMore + } + } +} diff --git a/uni_modules/uview-ui/components/u-album/u-album.vue b/uni_modules/uview-ui/components/u-album/u-album.vue new file mode 100644 index 0000000..687e2d5 --- /dev/null +++ b/uni_modules/uview-ui/components/u-album/u-album.vue @@ -0,0 +1,259 @@ + + + + + \ No newline at end of file diff --git a/uni_modules/uview-ui/components/u-alert/props.js b/uni_modules/uview-ui/components/u-alert/props.js new file mode 100644 index 0000000..4297e2c --- /dev/null +++ b/uni_modules/uview-ui/components/u-alert/props.js @@ -0,0 +1,44 @@ +export default { + props: { + // 显示文字 + title: { + type: String, + default: uni.$u.props.alert.title + }, + // 主题,success/warning/info/error + type: { + type: String, + default: uni.$u.props.alert.type + }, + // 辅助性文字 + description: { + type: String, + default: uni.$u.props.alert.description + }, + // 是否可关闭 + closable: { + type: Boolean, + default: uni.$u.props.alert.closable + }, + // 是否显示图标 + showIcon: { + type: Boolean, + default: uni.$u.props.alert.showIcon + }, + // 浅或深色调,light-浅色,dark-深色 + effect: { + type: String, + default: uni.$u.props.alert.effect + }, + // 文字是否居中 + center: { + type: Boolean, + default: uni.$u.props.alert.center + }, + // 字体大小 + fontSize: { + type: [String, Number], + default: uni.$u.props.alert.fontSize + } + } +} diff --git a/uni_modules/uview-ui/components/u-alert/u-alert.vue b/uni_modules/uview-ui/components/u-alert/u-alert.vue new file mode 100644 index 0000000..81f7d43 --- /dev/null +++ b/uni_modules/uview-ui/components/u-alert/u-alert.vue @@ -0,0 +1,243 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-avatar-group/props.js b/uni_modules/uview-ui/components/u-avatar-group/props.js new file mode 100644 index 0000000..58b42ac --- /dev/null +++ b/uni_modules/uview-ui/components/u-avatar-group/props.js @@ -0,0 +1,52 @@ +export default { + props: { + // 头像图片组 + urls: { + type: Array, + default: uni.$u.props.avatarGroup.urls + }, + // 最多展示的头像数量 + maxCount: { + type: [String, Number], + default: uni.$u.props.avatarGroup.maxCount + }, + // 头像形状 + shape: { + type: String, + default: uni.$u.props.avatarGroup.shape + }, + // 图片裁剪模式 + mode: { + type: String, + default: uni.$u.props.avatarGroup.mode + }, + // 超出maxCount时是否显示查看更多的提示 + showMore: { + type: Boolean, + default: uni.$u.props.avatarGroup.showMore + }, + // 头像大小 + size: { + type: [String, Number], + default: uni.$u.props.avatarGroup.size + }, + // 指定从数组的对象元素中读取哪个属性作为图片地址 + keyName: { + type: String, + default: uni.$u.props.avatarGroup.keyName + }, + // 头像之间的遮挡比例 + gap: { + type: [String, Number], + validator(value) { + return value >= 0 && value <= 1 + }, + default: uni.$u.props.avatarGroup.gap + }, + // 需额外显示的值 + extraValue: { + type: [Number, String], + default: uni.$u.props.avatarGroup.extraValue + } + } +} diff --git a/uni_modules/uview-ui/components/u-avatar-group/u-avatar-group.vue b/uni_modules/uview-ui/components/u-avatar-group/u-avatar-group.vue new file mode 100644 index 0000000..7e996d7 --- /dev/null +++ b/uni_modules/uview-ui/components/u-avatar-group/u-avatar-group.vue @@ -0,0 +1,103 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-avatar/props.js b/uni_modules/uview-ui/components/u-avatar/props.js new file mode 100644 index 0000000..34ca0f2 --- /dev/null +++ b/uni_modules/uview-ui/components/u-avatar/props.js @@ -0,0 +1,78 @@ +export default { + props: { + // 头像图片路径(不能为相对路径) + src: { + type: String, + default: uni.$u.props.avatar.src + }, + // 头像形状,circle-圆形,square-方形 + shape: { + type: String, + default: uni.$u.props.avatar.shape + }, + // 头像尺寸 + size: { + type: [String, Number], + default: uni.$u.props.avatar.size + }, + // 裁剪模式 + mode: { + type: String, + default: uni.$u.props.avatar.mode + }, + // 显示的文字 + text: { + type: String, + default: uni.$u.props.avatar.text + }, + // 背景色 + bgColor: { + type: String, + default: uni.$u.props.avatar.bgColor + }, + // 文字颜色 + color: { + type: String, + default: uni.$u.props.avatar.color + }, + // 文字大小 + fontSize: { + type: [String, Number], + default: uni.$u.props.avatar.fontSize + }, + // 显示的图标 + icon: { + type: String, + default: uni.$u.props.avatar.icon + }, + // 显示小程序头像,只对百度,微信,QQ小程序有效 + mpAvatar: { + type: Boolean, + default: uni.$u.props.avatar.mpAvatar + }, + // 是否使用随机背景色 + randomBgColor: { + type: Boolean, + default: uni.$u.props.avatar.randomBgColor + }, + // 加载失败的默认头像(组件有内置默认图片) + defaultUrl: { + type: String, + default: uni.$u.props.avatar.defaultUrl + }, + // 如果配置了randomBgColor为true,且配置了此值,则从默认的背景色数组中取出对应索引的颜色值,取值0-19之间 + colorIndex: { + type: [String, Number], + // 校验参数规则,索引在0-19之间 + validator(n) { + return uni.$u.test.range(n, [0, 19]) || n === '' + }, + default: uni.$u.props.avatar.colorIndex + }, + // 组件标识符 + name: { + type: String, + default: uni.$u.props.avatar.name + } + } +} diff --git a/uni_modules/uview-ui/components/u-avatar/u-avatar.vue b/uni_modules/uview-ui/components/u-avatar/u-avatar.vue new file mode 100644 index 0000000..d38d8a6 --- /dev/null +++ b/uni_modules/uview-ui/components/u-avatar/u-avatar.vue @@ -0,0 +1,173 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-back-top/props.js b/uni_modules/uview-ui/components/u-back-top/props.js new file mode 100644 index 0000000..6c702c2 --- /dev/null +++ b/uni_modules/uview-ui/components/u-back-top/props.js @@ -0,0 +1,54 @@ +export default { + props: { + // 返回顶部的形状,circle-圆形,square-方形 + mode: { + type: String, + default: uni.$u.props.backtop.mode + }, + // 自定义图标 + icon: { + type: String, + default: uni.$u.props.backtop.icon + }, + // 提示文字 + text: { + type: String, + default: uni.$u.props.backtop.text + }, + // 返回顶部滚动时间 + duration: { + type: [String, Number], + default: uni.$u.props.backtop.duration + }, + // 滚动距离 + scrollTop: { + type: [String, Number], + default: uni.$u.props.backtop.scrollTop + }, + // 距离顶部多少距离显示,单位px + top: { + type: [String, Number], + default: uni.$u.props.backtop.top + }, + // 返回顶部按钮到底部的距离,单位px + bottom: { + type: [String, Number], + default: uni.$u.props.backtop.bottom + }, + // 返回顶部按钮到右边的距离,单位px + right: { + type: [String, Number], + default: uni.$u.props.backtop.right + }, + // 层级 + zIndex: { + type: [String, Number], + default: uni.$u.props.backtop.zIndex + }, + // 图标的样式,对象形式 + iconStyle: { + type: Object, + default: uni.$u.props.backtop.iconStyle + } + } +} diff --git a/uni_modules/uview-ui/components/u-back-top/u-back-top.vue b/uni_modules/uview-ui/components/u-back-top/u-back-top.vue new file mode 100644 index 0000000..2d07566 --- /dev/null +++ b/uni_modules/uview-ui/components/u-back-top/u-back-top.vue @@ -0,0 +1,129 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-badge/props.js b/uni_modules/uview-ui/components/u-badge/props.js new file mode 100644 index 0000000..74c032c --- /dev/null +++ b/uni_modules/uview-ui/components/u-badge/props.js @@ -0,0 +1,72 @@ +export default { + props: { + // 是否显示圆点 + isDot: { + type: Boolean, + default: uni.$u.props.badge.isDot + }, + // 显示的内容 + value: { + type: [Number, String], + default: uni.$u.props.badge.value + }, + // 是否显示 + show: { + type: Boolean, + default: uni.$u.props.badge.show + }, + // 最大值,超过最大值会显示 '{max}+' + max: { + type: [Number, String], + default: uni.$u.props.badge.max + }, + // 主题类型,error|warning|success|primary + type: { + type: String, + default: uni.$u.props.badge.type + }, + // 当数值为 0 时,是否展示 Badge + showZero: { + type: Boolean, + default: uni.$u.props.badge.showZero + }, + // 背景颜色,优先级比type高,如设置,type参数会失效 + bgColor: { + type: [String, null], + default: uni.$u.props.badge.bgColor + }, + // 字体颜色 + color: { + type: [String, null], + default: uni.$u.props.badge.color + }, + // 徽标形状,circle-四角均为圆角,horn-左下角为直角 + shape: { + type: String, + default: uni.$u.props.badge.shape + }, + // 设置数字的显示方式,overflow|ellipsis|limit + // overflow会根据max字段判断,超出显示`${max}+` + // ellipsis会根据max判断,超出显示`${max}...` + // limit会依据1000作为判断条件,超出1000,显示`${value/1000}K`,比如2.2k、3.34w,最多保留2位小数 + numberType: { + type: String, + default: uni.$u.props.badge.numberType + }, + // 设置badge的位置偏移,格式为 [x, y],也即设置的为top和right的值,absolute为true时有效 + offset: { + type: Array, + default: uni.$u.props.badge.offset + }, + // 是否反转背景和字体颜色 + inverted: { + type: Boolean, + default: uni.$u.props.badge.inverted + }, + // 是否绝对定位 + absolute: { + type: Boolean, + default: uni.$u.props.badge.absolute + } + } +} diff --git a/uni_modules/uview-ui/components/u-badge/u-badge.vue b/uni_modules/uview-ui/components/u-badge/u-badge.vue new file mode 100644 index 0000000..53cfc81 --- /dev/null +++ b/uni_modules/uview-ui/components/u-badge/u-badge.vue @@ -0,0 +1,171 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-button/nvue.scss b/uni_modules/uview-ui/components/u-button/nvue.scss new file mode 100644 index 0000000..490db7d --- /dev/null +++ b/uni_modules/uview-ui/components/u-button/nvue.scss @@ -0,0 +1,46 @@ +$u-button-active-opacity:0.75 !default; +$u-button-loading-text-margin-left:4px !default; +$u-button-text-color: #FFFFFF !default; +$u-button-text-plain-error-color:$u-error !default; +$u-button-text-plain-warning-color:$u-warning !default; +$u-button-text-plain-success-color:$u-success !default; +$u-button-text-plain-info-color:$u-info !default; +$u-button-text-plain-primary-color:$u-primary !default; +.u-button { + &--active { + opacity: $u-button-active-opacity; + } + + &--active--plain { + background-color: rgb(217, 217, 217); + } + + &__loading-text { + margin-left:$u-button-loading-text-margin-left; + } + + &__text, + &__loading-text { + color:$u-button-text-color; + } + + &__text--plain--error { + color:$u-button-text-plain-error-color; + } + + &__text--plain--warning { + color:$u-button-text-plain-warning-color; + } + + &__text--plain--success{ + color:$u-button-text-plain-success-color; + } + + &__text--plain--info { + color:$u-button-text-plain-info-color; + } + + &__text--plain--primary { + color:$u-button-text-plain-primary-color; + } +} \ No newline at end of file diff --git a/uni_modules/uview-ui/components/u-button/props.js b/uni_modules/uview-ui/components/u-button/props.js new file mode 100644 index 0000000..07fd844 --- /dev/null +++ b/uni_modules/uview-ui/components/u-button/props.js @@ -0,0 +1,161 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-16 10:04:04 + * @LastAuthor : LQ + * @lastTime : 2021-08-16 10:04:24 + * @FilePath : /u-view2.0/uview-ui/components/u-button/props.js + */ +export default { + props: { + // 是否细边框 + hairline: { + type: Boolean, + default: uni.$u.props.button.hairline + }, + // 按钮的预置样式,info,primary,error,warning,success + type: { + type: String, + default: uni.$u.props.button.type + }, + // 按钮尺寸,large,normal,small,mini + size: { + type: String, + default: uni.$u.props.button.size + }, + // 按钮形状,circle(两边为半圆),square(带圆角) + shape: { + type: String, + default: uni.$u.props.button.shape + }, + // 按钮是否镂空 + plain: { + type: Boolean, + default: uni.$u.props.button.plain + }, + // 是否禁止状态 + disabled: { + type: Boolean, + default: uni.$u.props.button.disabled + }, + // 是否加载中 + loading: { + type: Boolean, + default: uni.$u.props.button.loading + }, + // 加载中提示文字 + loadingText: { + type: [String, Number], + default: uni.$u.props.button.loadingText + }, + // 加载状态图标类型 + loadingMode: { + type: String, + default: uni.$u.props.button.loadingMode + }, + // 加载图标大小 + loadingSize: { + type: [String, Number], + default: uni.$u.props.button.loadingSize + }, + // 开放能力,具体请看uniapp稳定关于button组件部分说明 + // https://uniapp.dcloud.io/component/button + openType: { + type: String, + default: uni.$u.props.button.openType + }, + // 用于
组件,点击分别会触发 组件的 submit/reset 事件 + // 取值为submit(提交表单),reset(重置表单) + formType: { + type: String, + default: uni.$u.props.button.formType + }, + // 打开 APP 时,向 APP 传递的参数,open-type=launchApp时有效 + // 只微信小程序、QQ小程序有效 + appParameter: { + type: String, + default: uni.$u.props.button.appParameter + }, + // 指定是否阻止本节点的祖先节点出现点击态,微信小程序有效 + hoverStopPropagation: { + type: Boolean, + default: uni.$u.props.button.hoverStopPropagation + }, + // 指定返回用户信息的语言,zh_CN 简体中文,zh_TW 繁体中文,en 英文。只微信小程序有效 + lang: { + type: String, + default: uni.$u.props.button.lang + }, + // 会话来源,open-type="contact"时有效。只微信小程序有效 + sessionFrom: { + type: String, + default: uni.$u.props.button.sessionFrom + }, + // 会话内消息卡片标题,open-type="contact"时有效 + // 默认当前标题,只微信小程序有效 + sendMessageTitle: { + type: String, + default: uni.$u.props.button.sendMessageTitle + }, + // 会话内消息卡片点击跳转小程序路径,open-type="contact"时有效 + // 默认当前分享路径,只微信小程序有效 + sendMessagePath: { + type: String, + default: uni.$u.props.button.sendMessagePath + }, + // 会话内消息卡片图片,open-type="contact"时有效 + // 默认当前页面截图,只微信小程序有效 + sendMessageImg: { + type: String, + default: uni.$u.props.button.sendMessageImg + }, + // 是否显示会话内消息卡片,设置此参数为 true,用户进入客服会话会在右下角显示"可能要发送的小程序"提示, + // 用户点击后可以快速发送小程序消息,open-type="contact"时有效 + showMessageCard: { + type: Boolean, + default: uni.$u.props.button.showMessageCard + }, + // 额外传参参数,用于小程序的data-xxx属性,通过target.dataset.name获取 + dataName: { + type: String, + default: uni.$u.props.button.dataName + }, + // 节流,一定时间内只能触发一次 + throttleTime: { + type: [String, Number], + default: uni.$u.props.button.throttleTime + }, + // 按住后多久出现点击态,单位毫秒 + hoverStartTime: { + type: [String, Number], + default: uni.$u.props.button.hoverStartTime + }, + // 手指松开后点击态保留时间,单位毫秒 + hoverStayTime: { + type: [String, Number], + default: uni.$u.props.button.hoverStayTime + }, + // 按钮文字,之所以通过props传入,是因为slot传入的话 + // nvue中无法控制文字的样式 + text: { + type: [String, Number], + default: uni.$u.props.button.text + }, + // 按钮图标 + icon: { + type: String, + default: uni.$u.props.button.icon + }, + // 按钮图标 + iconColor: { + type: String, + default: uni.$u.props.button.icon + }, + // 按钮颜色,支持传入linear-gradient渐变色 + color: { + type: String, + default: uni.$u.props.button.color + } + } +} diff --git a/uni_modules/uview-ui/components/u-button/u-button.vue b/uni_modules/uview-ui/components/u-button/u-button.vue new file mode 100644 index 0000000..d60f73e --- /dev/null +++ b/uni_modules/uview-ui/components/u-button/u-button.vue @@ -0,0 +1,495 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-button/vue.scss b/uni_modules/uview-ui/components/u-button/vue.scss new file mode 100644 index 0000000..32019b2 --- /dev/null +++ b/uni_modules/uview-ui/components/u-button/vue.scss @@ -0,0 +1,80 @@ +// nvue下hover-class无效 +$u-button-before-top:50% !default; +$u-button-before-left:50% !default; +$u-button-before-width:100% !default; +$u-button-before-height:100% !default; +$u-button-before-transform:translate(-50%, -50%) !default; +$u-button-before-opacity:0 !default; +$u-button-before-background-color:#000 !default; +$u-button-before-border-color:#000 !default; +$u-button-active-before-opacity:.15 !default; +$u-button-icon-margin-left:4px !default; +$u-button-plain-u-button-info-color:$u-info; +$u-button-plain-u-button-success-color:$u-success; +$u-button-plain-u-button-error-color:$u-error; +$u-button-plain-u-button-warning-color:$u-error; + +.u-button { + width: 100%; + + &__text { + white-space: nowrap; + line-height: 1; + } + + &:before { + position: absolute; + top:$u-button-before-top; + left:$u-button-before-left; + width:$u-button-before-width; + height:$u-button-before-height; + border: inherit; + border-radius: inherit; + transform:$u-button-before-transform; + opacity:$u-button-before-opacity; + content: " "; + background-color:$u-button-before-background-color; + border-color:$u-button-before-border-color; + } + + &--active { + &:before { + opacity: .15 + } + } + + &__icon+&__text:not(:empty), + &__loading-text { + margin-left:$u-button-icon-margin-left; + } + + &--plain { + &.u-button--primary { + color: $u-primary; + } + } + + &--plain { + &.u-button--info { + color:$u-button-plain-u-button-info-color; + } + } + + &--plain { + &.u-button--success { + color:$u-button-plain-u-button-success-color; + } + } + + &--plain { + &.u-button--error { + color:$u-button-plain-u-button-error-color; + } + } + + &--plain { + &.u-button--warning { + color:$u-button-plain-u-button-warning-color; + } + } +} diff --git a/uni_modules/uview-ui/components/u-calendar/header.vue b/uni_modules/uview-ui/components/u-calendar/header.vue new file mode 100644 index 0000000..dc4f7d0 --- /dev/null +++ b/uni_modules/uview-ui/components/u-calendar/header.vue @@ -0,0 +1,99 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-calendar/month.vue b/uni_modules/uview-ui/components/u-calendar/month.vue new file mode 100644 index 0000000..c20937f --- /dev/null +++ b/uni_modules/uview-ui/components/u-calendar/month.vue @@ -0,0 +1,579 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-calendar/props.js b/uni_modules/uview-ui/components/u-calendar/props.js new file mode 100644 index 0000000..2ad7bc7 --- /dev/null +++ b/uni_modules/uview-ui/components/u-calendar/props.js @@ -0,0 +1,144 @@ +export default { + props: { + // 日历顶部标题 + title: { + type: String, + default: uni.$u.props.calendar.title + }, + // 是否显示标题 + showTitle: { + type: Boolean, + default: uni.$u.props.calendar.showTitle + }, + // 是否显示副标题 + showSubtitle: { + type: Boolean, + default: uni.$u.props.calendar.showSubtitle + }, + // 日期类型选择,single-选择单个日期,multiple-可以选择多个日期,range-选择日期范围 + mode: { + type: String, + default: uni.$u.props.calendar.mode + }, + // mode=range时,第一个日期底部的提示文字 + startText: { + type: String, + default: uni.$u.props.calendar.startText + }, + // mode=range时,最后一个日期底部的提示文字 + endText: { + type: String, + default: uni.$u.props.calendar.endText + }, + // 自定义列表 + customList: { + type: Array, + default: uni.$u.props.calendar.customList + }, + // 主题色,对底部按钮和选中日期有效 + color: { + type: String, + default: uni.$u.props.calendar.color + }, + // 最小的可选日期 + minDate: { + type: [String, Number], + default: uni.$u.props.calendar.minDate + }, + // 最大可选日期 + maxDate: { + type: [String, Number], + default: uni.$u.props.calendar.maxDate + }, + // 默认选中的日期,mode为multiple或range是必须为数组格式 + defaultDate: { + type: [Array, String, Date, null], + default: uni.$u.props.calendar.defaultDate + }, + // mode=multiple时,最多可选多少个日期 + maxCount: { + type: [String, Number], + default: uni.$u.props.calendar.maxCount + }, + // 日期行高 + rowHeight: { + type: [String, Number], + default: uni.$u.props.calendar.rowHeight + }, + // 日期格式化函数 + formatter: { + type: [Function, null], + default: uni.$u.props.calendar.formatter + }, + // 是否显示农历 + showLunar: { + type: Boolean, + default: uni.$u.props.calendar.showLunar + }, + // 是否显示月份背景色 + showMark: { + type: Boolean, + default: uni.$u.props.calendar.showMark + }, + // 确定按钮的文字 + confirmText: { + type: String, + default: uni.$u.props.calendar.confirmText + }, + // 确认按钮处于禁用状态时的文字 + confirmDisabledText: { + type: String, + default: uni.$u.props.calendar.confirmDisabledText + }, + // 是否显示日历弹窗 + show: { + type: Boolean, + default: uni.$u.props.calendar.show + }, + // 是否允许点击遮罩关闭日历 + closeOnClickOverlay: { + type: Boolean, + default: uni.$u.props.calendar.closeOnClickOverlay + }, + // 是否为只读状态,只读状态下禁止选择日期 + readonly: { + type: Boolean, + default: uni.$u.props.calendar.readonly + }, + // 是否展示确认按钮 + showConfirm: { + type: Boolean, + default: uni.$u.props.calendar.showConfirm + }, + // 日期区间最多可选天数,默认无限制,mode = range时有效 + maxRange: { + type: [Number, String], + default: uni.$u.props.calendar.maxRange + }, + // 范围选择超过最多可选天数时的提示文案,mode = range时有效 + rangePrompt: { + type: String, + default: uni.$u.props.calendar.rangePrompt + }, + // 范围选择超过最多可选天数时,是否展示提示文案,mode = range时有效 + showRangePrompt: { + type: Boolean, + default: uni.$u.props.calendar.showRangePrompt + }, + // 是否允许日期范围的起止时间为同一天,mode = range时有效 + allowSameDay: { + type: Boolean, + default: uni.$u.props.calendar.allowSameDay + }, + // 圆角值 + round: { + type: [Boolean, String, Number], + default: uni.$u.props.calendar.round + }, + // 最多展示月份数量 + monthNum: { + type: [Number, String], + default: 3 + } + } +} diff --git a/uni_modules/uview-ui/components/u-calendar/u-calendar.vue b/uni_modules/uview-ui/components/u-calendar/u-calendar.vue new file mode 100644 index 0000000..511f993 --- /dev/null +++ b/uni_modules/uview-ui/components/u-calendar/u-calendar.vue @@ -0,0 +1,384 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-calendar/util.js b/uni_modules/uview-ui/components/u-calendar/util.js new file mode 100644 index 0000000..ca4736b --- /dev/null +++ b/uni_modules/uview-ui/components/u-calendar/util.js @@ -0,0 +1,85 @@ +export default { + methods: { + // 设置月份数据 + setMonth() { + // 月初是周几 + const day = dayjs(this.date).date(1).day() + const start = day == 0 ? 6 : day - 1 + + // 本月天数 + const days = dayjs(this.date).endOf('month').format('D') + + // 上个月天数 + const prevDays = dayjs(this.date).endOf('month').subtract(1, 'month').format('D') + + // 日期数据 + const arr = [] + // 清空表格 + this.month = [] + + // 添加上月数据 + arr.push( + ...new Array(start).fill(1).map((e, i) => { + const day = prevDays - start + i + 1 + + return { + value: day, + disabled: true, + date: dayjs(this.date).subtract(1, 'month').date(day).format('YYYY-MM-DD') + } + }) + ) + + // 添加本月数据 + arr.push( + ...new Array(days - 0).fill(1).map((e, i) => { + const day = i + 1 + + return { + value: day, + date: dayjs(this.date).date(day).format('YYYY-MM-DD') + } + }) + ) + + // 添加下个月 + arr.push( + ...new Array(42 - days - start).fill(1).map((e, i) => { + const day = i + 1 + + return { + value: day, + disabled: true, + date: dayjs(this.date).add(1, 'month').date(day).format('YYYY-MM-DD') + } + }) + ) + + // 分割数组 + for (let n = 0; n < arr.length; n += 7) { + this.month.push( + arr.slice(n, n + 7).map((e, i) => { + e.index = i + n + + // 自定义信息 + const custom = this.customList.find((c) => c.date == e.date) + + // 农历 + if (this.lunar) { + const { + IDayCn, + IMonthCn + } = this.getLunar(e.date) + e.lunar = IDayCn == '初一' ? IMonthCn : IDayCn + } + + return { + ...e, + ...custom + } + }) + ) + } + } + } +} diff --git a/uni_modules/uview-ui/components/u-car-keyboard/props.js b/uni_modules/uview-ui/components/u-car-keyboard/props.js new file mode 100644 index 0000000..3553647 --- /dev/null +++ b/uni_modules/uview-ui/components/u-car-keyboard/props.js @@ -0,0 +1,14 @@ +export default { + props: { + // 是否打乱键盘按键的顺序 + random: { + type: Boolean, + default: false + }, + // 输入一个中文后,是否自动切换到英文 + autoChange: { + type: Boolean, + default: false + } + } +} diff --git a/uni_modules/uview-ui/components/u-car-keyboard/u-car-keyboard.vue b/uni_modules/uview-ui/components/u-car-keyboard/u-car-keyboard.vue new file mode 100644 index 0000000..51175b5 --- /dev/null +++ b/uni_modules/uview-ui/components/u-car-keyboard/u-car-keyboard.vue @@ -0,0 +1,311 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-cell-group/props.js b/uni_modules/uview-ui/components/u-cell-group/props.js new file mode 100644 index 0000000..350ef40 --- /dev/null +++ b/uni_modules/uview-ui/components/u-cell-group/props.js @@ -0,0 +1,14 @@ +export default { + props: { + // 分组标题 + title: { + type: String, + default: uni.$u.props.cellGroup.title + }, + // 是否显示外边框 + border: { + type: Boolean, + default: uni.$u.props.cellGroup.border + } + } +} diff --git a/uni_modules/uview-ui/components/u-cell-group/u-cell-group.vue b/uni_modules/uview-ui/components/u-cell-group/u-cell-group.vue new file mode 100644 index 0000000..a9508c0 --- /dev/null +++ b/uni_modules/uview-ui/components/u-cell-group/u-cell-group.vue @@ -0,0 +1,61 @@ + + + + + + diff --git a/uni_modules/uview-ui/components/u-cell/props.js b/uni_modules/uview-ui/components/u-cell/props.js new file mode 100644 index 0000000..da03330 --- /dev/null +++ b/uni_modules/uview-ui/components/u-cell/props.js @@ -0,0 +1,110 @@ +export default { + props: { + // 标题 + title: { + type: [String, Number], + default: uni.$u.props.cell.title + }, + // 标题下方的描述信息 + label: { + type: [String, Number], + default: uni.$u.props.cell.label + }, + // 右侧的内容 + value: { + type: [String, Number], + default: uni.$u.props.cell.value + }, + // 左侧图标名称,或者图片链接(本地文件建议使用绝对地址) + icon: { + type: String, + default: uni.$u.props.cell.icon + }, + // 是否禁用cell + disabled: { + type: Boolean, + default: uni.$u.props.cell.disabled + }, + // 是否显示下边框 + border: { + type: Boolean, + default: uni.$u.props.cell.border + }, + // 内容是否垂直居中(主要是针对右侧的value部分) + center: { + type: Boolean, + default: uni.$u.props.cell.center + }, + // 点击后跳转的URL地址 + url: { + type: String, + default: uni.$u.props.cell.url + }, + // 链接跳转的方式,内部使用的是uView封装的route方法,可能会进行拦截操作 + linkType: { + type: String, + default: uni.$u.props.cell.linkType + }, + // 是否开启点击反馈(表现为点击时加上灰色背景) + clickable: { + type: Boolean, + default: uni.$u.props.cell.clickable + }, + // 是否展示右侧箭头并开启点击反馈 + isLink: { + type: Boolean, + default: uni.$u.props.cell.isLink + }, + // 是否显示表单状态下的必填星号(此组件可能会内嵌入input组件) + required: { + type: Boolean, + default: uni.$u.props.cell.required + }, + // 右侧的图标箭头 + rightIcon: { + type: String, + default: uni.$u.props.cell.rightIcon + }, + // 右侧箭头的方向,可选值为:left,up,down + arrowDirection: { + type: String, + default: uni.$u.props.cell.arrowDirection + }, + // 左侧图标样式 + iconStyle: { + type: [Object, String], + default: () => { + return uni.$u.props.cell.iconStyle + } + }, + // 右侧箭头图标的样式 + rightIconStyle: { + type: [Object, String], + default: () => { + return uni.$u.props.cell.rightIconStyle + } + }, + // 标题的样式 + titleStyle: { + type: [Object, String], + default: () => { + return uni.$u.props.cell.titleStyle + } + }, + // 单位元的大小,可选值为large + size: { + type: String, + default: uni.$u.props.cell.size + }, + // 点击cell是否阻止事件传播 + stop: { + type: Boolean, + default: uni.$u.props.cell.stop + }, + // 标识符,cell被点击时返回 + name: { + type: [Number, String], + default: uni.$u.props.cell.name + } + } +} diff --git a/uni_modules/uview-ui/components/u-cell/u-cell.vue b/uni_modules/uview-ui/components/u-cell/u-cell.vue new file mode 100644 index 0000000..b099c90 --- /dev/null +++ b/uni_modules/uview-ui/components/u-cell/u-cell.vue @@ -0,0 +1,229 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-checkbox-group/props.js b/uni_modules/uview-ui/components/u-checkbox-group/props.js new file mode 100644 index 0000000..2f818a1 --- /dev/null +++ b/uni_modules/uview-ui/components/u-checkbox-group/props.js @@ -0,0 +1,82 @@ +export default { + props: { + // 标识符 + name: { + type: String, + default: uni.$u.props.checkboxGroup.name + }, + // 绑定的值 + value: { + type: Array, + default: uni.$u.props.checkboxGroup.value + }, + // 形状,circle-圆形,square-方形 + shape: { + type: String, + default: uni.$u.props.checkboxGroup.shape + }, + // 是否禁用全部checkbox + disabled: { + type: Boolean, + default: uni.$u.props.checkboxGroup.disabled + }, + + // 选中状态下的颜色,如设置此值,将会覆盖parent的activeColor值 + activeColor: { + type: String, + default: uni.$u.props.checkboxGroup.activeColor + }, + // 未选中的颜色 + inactiveColor: { + type: String, + default: uni.$u.props.checkboxGroup.inactiveColor + }, + + // 整个组件的尺寸,默认px + size: { + type: [String, Number], + default: uni.$u.props.checkboxGroup.size + }, + // 布局方式,row-横向,column-纵向 + placement: { + type: String, + default: uni.$u.props.checkboxGroup.placement + }, + // label的字体大小,px单位 + labelSize: { + type: [String, Number], + default: uni.$u.props.checkboxGroup.labelSize + }, + // label的字体颜色 + labelColor: { + type: [String], + default: uni.$u.props.checkboxGroup.labelColor + }, + // 是否禁止点击文本操作 + labelDisabled: { + type: Boolean, + default: uni.$u.props.checkboxGroup.labelDisabled + }, + // 图标颜色 + iconColor: { + type: String, + default: uni.$u.props.checkboxGroup.iconColor + }, + // 图标的大小,单位px + iconSize: { + type: [String, Number], + default: uni.$u.props.checkboxGroup.iconSize + }, + // 勾选图标的对齐方式,left-左边,right-右边 + iconPlacement: { + type: String, + default: uni.$u.props.checkboxGroup.iconPlacement + }, + // 竖向配列时,是否显示下划线 + borderBottom: { + type: Boolean, + default: uni.$u.props.checkboxGroup.borderBottom + } + + } +} diff --git a/uni_modules/uview-ui/components/u-checkbox-group/u-checkbox-group.vue b/uni_modules/uview-ui/components/u-checkbox-group/u-checkbox-group.vue new file mode 100644 index 0000000..7a6b4fa --- /dev/null +++ b/uni_modules/uview-ui/components/u-checkbox-group/u-checkbox-group.vue @@ -0,0 +1,103 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-checkbox/props.js b/uni_modules/uview-ui/components/u-checkbox/props.js new file mode 100644 index 0000000..93f4fd9 --- /dev/null +++ b/uni_modules/uview-ui/components/u-checkbox/props.js @@ -0,0 +1,69 @@ +export default { + props: { + // checkbox的名称 + name: { + type: [String, Number, Boolean], + default: uni.$u.props.checkbox.name + }, + // 形状,square为方形,circle为圆型 + shape: { + type: String, + default: uni.$u.props.checkbox.shape + }, + // 整体的大小 + size: { + type: [String, Number], + default: uni.$u.props.checkbox.size + }, + // 是否默认选中 + checked: { + type: Boolean, + default: uni.$u.props.checkbox.checked + }, + // 是否禁用 + disabled: { + type: [String, Boolean], + default: uni.$u.props.checkbox.disabled + }, + // 选中状态下的颜色,如设置此值,将会覆盖parent的activeColor值 + activeColor: { + type: String, + default: uni.$u.props.checkbox.activeColor + }, + // 未选中的颜色 + inactiveColor: { + type: String, + default: uni.$u.props.checkbox.inactiveColor + }, + // 图标的大小,单位px + iconSize: { + type: [String, Number], + default: uni.$u.props.checkbox.iconSize + }, + // 图标颜色 + iconColor: { + type: String, + default: uni.$u.props.checkbox.iconColor + }, + // label提示文字,因为nvue下,直接slot进来的文字,由于特殊的结构,无法修改样式 + label: { + type: [String, Number], + default: uni.$u.props.checkbox.label + }, + // label的字体大小,px单位 + labelSize: { + type: [String, Number], + default: uni.$u.props.checkbox.labelSize + }, + // label的颜色 + labelColor: { + type: String, + default: uni.$u.props.checkbox.labelColor + }, + // 是否禁止点击提示语选中复选框 + labelDisabled: { + type: [String, Boolean], + default: uni.$u.props.checkbox.labelDisabled + } + } +} diff --git a/uni_modules/uview-ui/components/u-checkbox/u-checkbox.vue b/uni_modules/uview-ui/components/u-checkbox/u-checkbox.vue new file mode 100644 index 0000000..6429cca --- /dev/null +++ b/uni_modules/uview-ui/components/u-checkbox/u-checkbox.vue @@ -0,0 +1,344 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-circle-progress/props.js b/uni_modules/uview-ui/components/u-circle-progress/props.js new file mode 100644 index 0000000..d776cfb --- /dev/null +++ b/uni_modules/uview-ui/components/u-circle-progress/props.js @@ -0,0 +1,8 @@ +export default { + props: { + percentage: { + type: [String, Number], + default: uni.$u.props.circleProgress.percentage + } + } +} diff --git a/uni_modules/uview-ui/components/u-circle-progress/u-circle-progress.vue b/uni_modules/uview-ui/components/u-circle-progress/u-circle-progress.vue new file mode 100644 index 0000000..d1ee286 --- /dev/null +++ b/uni_modules/uview-ui/components/u-circle-progress/u-circle-progress.vue @@ -0,0 +1,198 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-code-input/props.js b/uni_modules/uview-ui/components/u-code-input/props.js new file mode 100644 index 0000000..0f016ee --- /dev/null +++ b/uni_modules/uview-ui/components/u-code-input/props.js @@ -0,0 +1,79 @@ +export default { + props: { + // 键盘弹起时,是否自动上推页面 + adjustPosition: { + type: Boolean, + default: uni.$u.props.codeInput.adjustPosition + }, + // 最大输入长度 + maxlength: { + type: [String, Number], + default: uni.$u.props.codeInput.maxlength + }, + // 是否用圆点填充 + dot: { + type: Boolean, + default: uni.$u.props.codeInput.dot + }, + // 显示模式,box-盒子模式,line-底部横线模式 + mode: { + type: String, + default: uni.$u.props.codeInput.mode + }, + // 是否细边框 + hairline: { + type: Boolean, + default: uni.$u.props.codeInput.hairline + }, + // 字符间的距离 + space: { + type: [String, Number], + default: uni.$u.props.codeInput.space + }, + // 预置值 + value: { + type: [String, Number], + default: uni.$u.props.codeInput.value + }, + // 是否自动获取焦点 + focus: { + type: Boolean, + default: uni.$u.props.codeInput.focus + }, + // 字体是否加粗 + bold: { + type: Boolean, + default: uni.$u.props.codeInput.bold + }, + // 字体颜色 + color: { + type: String, + default: uni.$u.props.codeInput.color + }, + // 字体大小 + fontSize: { + type: [String, Number], + default: uni.$u.props.codeInput.fontSize + }, + // 输入框的大小,宽等于高 + size: { + type: [String, Number], + default: uni.$u.props.codeInput.size + }, + // 是否隐藏原生键盘,如果想用自定义键盘的话,需设置此参数为true + disabledKeyboard: { + type: Boolean, + default: uni.$u.props.codeInput.disabledKeyboard + }, + // 边框和线条颜色 + borderColor: { + type: String, + default: uni.$u.props.codeInput.borderColor + }, + // 是否禁止输入"."符号 + disabledDot: { + type: Boolean, + default: uni.$u.props.codeInput.disabledDot + } + } +} diff --git a/uni_modules/uview-ui/components/u-code-input/u-code-input.vue b/uni_modules/uview-ui/components/u-code-input/u-code-input.vue new file mode 100644 index 0000000..96241cf --- /dev/null +++ b/uni_modules/uview-ui/components/u-code-input/u-code-input.vue @@ -0,0 +1,252 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-code/props.js b/uni_modules/uview-ui/components/u-code/props.js new file mode 100644 index 0000000..eaf80d0 --- /dev/null +++ b/uni_modules/uview-ui/components/u-code/props.js @@ -0,0 +1,34 @@ +export default { + props: { + // 倒计时总秒数 + seconds: { + type: [String, Number], + default: uni.$u.props.code.seconds + }, + // 尚未开始时提示 + startText: { + type: String, + default: uni.$u.props.code.startText + }, + // 正在倒计时中的提示 + changeText: { + type: String, + default: uni.$u.props.code.changeText + }, + // 倒计时结束时的提示 + endText: { + type: String, + default: uni.$u.props.code.endText + }, + // 是否在H5刷新或各端返回再进入时继续倒计时 + keepRunning: { + type: Boolean, + default: uni.$u.props.code.keepRunning + }, + // 为了区分多个页面,或者一个页面多个倒计时组件本地存储的继续倒计时变了 + uniqueKey: { + type: String, + default: uni.$u.props.code.uniqueKey + } + } +} diff --git a/uni_modules/uview-ui/components/u-code/u-code.vue b/uni_modules/uview-ui/components/u-code/u-code.vue new file mode 100644 index 0000000..f79a09a --- /dev/null +++ b/uni_modules/uview-ui/components/u-code/u-code.vue @@ -0,0 +1,129 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-col/props.js b/uni_modules/uview-ui/components/u-col/props.js new file mode 100644 index 0000000..0622251 --- /dev/null +++ b/uni_modules/uview-ui/components/u-col/props.js @@ -0,0 +1,29 @@ +export default { + props: { + // 占父容器宽度的多少等分,总分为12份 + span: { + type: [String, Number], + default: uni.$u.props.col.span + }, + // 指定栅格左侧的间隔数(总12栏) + offset: { + type: [String, Number], + default: uni.$u.props.col.offset + }, + // 水平排列方式,可选值为`start`(或`flex-start`)、`end`(或`flex-end`)、`center`、`around`(或`space-around`)、`between`(或`space-between`) + justify: { + type: String, + default: uni.$u.props.col.justify + }, + // 垂直对齐方式,可选值为top、center、bottom、stretch + align: { + type: String, + default: uni.$u.props.col.align + }, + // 文字对齐方式 + textAlign: { + type: String, + default: uni.$u.props.col.textAlign + } + } +} diff --git a/uni_modules/uview-ui/components/u-col/u-col.vue b/uni_modules/uview-ui/components/u-col/u-col.vue new file mode 100644 index 0000000..8be1517 --- /dev/null +++ b/uni_modules/uview-ui/components/u-col/u-col.vue @@ -0,0 +1,162 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-collapse-item/props.js b/uni_modules/uview-ui/components/u-collapse-item/props.js new file mode 100644 index 0000000..bd5749b --- /dev/null +++ b/uni_modules/uview-ui/components/u-collapse-item/props.js @@ -0,0 +1,59 @@ +export default { + props: { + // 标题 + title: { + type: String, + default: uni.$u.props.collapseItem.title + }, + // 标题右侧内容 + value: { + type: String, + default: uni.$u.props.collapseItem.value + }, + // 标题下方的描述信息 + label: { + type: String, + default: uni.$u.props.collapseItem.label + }, + // 是否禁用折叠面板 + disabled: { + type: Boolean, + default: uni.$u.props.collapseItem.disabled + }, + // 是否展示右侧箭头并开启点击反馈 + isLink: { + type: Boolean, + default: uni.$u.props.collapseItem.isLink + }, + // 是否开启点击反馈 + clickable: { + type: Boolean, + default: uni.$u.props.collapseItem.clickable + }, + // 是否显示内边框 + border: { + type: Boolean, + default: uni.$u.props.collapseItem.border + }, + // 标题的对齐方式 + align: { + type: String, + default: uni.$u.props.collapseItem.align + }, + // 唯一标识符 + name: { + type: [String, Number], + default: uni.$u.props.collapseItem.name + }, + // 标题左侧图片,可为绝对路径的图片或内置图标 + icon: { + type: String, + default: uni.$u.props.collapseItem.icon + }, + // 面板展开收起的过渡时间,单位ms + duration: { + type: Number, + default: uni.$u.props.collapseItem.duration + } + } +} diff --git a/uni_modules/uview-ui/components/u-collapse-item/u-collapse-item.vue b/uni_modules/uview-ui/components/u-collapse-item/u-collapse-item.vue new file mode 100644 index 0000000..0e1b703 --- /dev/null +++ b/uni_modules/uview-ui/components/u-collapse-item/u-collapse-item.vue @@ -0,0 +1,225 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-collapse/props.js b/uni_modules/uview-ui/components/u-collapse/props.js new file mode 100644 index 0000000..7ee6d31 --- /dev/null +++ b/uni_modules/uview-ui/components/u-collapse/props.js @@ -0,0 +1,19 @@ +export default { + props: { + // 当前展开面板的name,非手风琴模式:[],手风琴模式:string | number + value: { + type: [String, Number, Array, null], + default: uni.$u.props.collapse.value + }, + // 是否手风琴模式 + accordion: { + type: Boolean, + default: uni.$u.props.collapse.accordion + }, + // 是否显示外边框 + border: { + type: Boolean, + default: uni.$u.props.collapse.border + } + } +} diff --git a/uni_modules/uview-ui/components/u-collapse/u-collapse.vue b/uni_modules/uview-ui/components/u-collapse/u-collapse.vue new file mode 100644 index 0000000..fc188a2 --- /dev/null +++ b/uni_modules/uview-ui/components/u-collapse/u-collapse.vue @@ -0,0 +1,90 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-column-notice/props.js b/uni_modules/uview-ui/components/u-column-notice/props.js new file mode 100644 index 0000000..4809154 --- /dev/null +++ b/uni_modules/uview-ui/components/u-column-notice/props.js @@ -0,0 +1,55 @@ +export default { + props: { + // 显示的内容,字符串 + text: { + type: [Array], + default: uni.$u.props.columnNotice.text + }, + // 是否显示左侧的音量图标 + icon: { + type: String, + default: uni.$u.props.columnNotice.icon + }, + // 通告模式,link-显示右箭头,closable-显示右侧关闭图标 + mode: { + type: String, + default: uni.$u.props.columnNotice.mode + }, + // 文字颜色,各图标也会使用文字颜色 + color: { + type: String, + default: uni.$u.props.columnNotice.color + }, + // 背景颜色 + bgColor: { + type: String, + default: uni.$u.props.columnNotice.bgColor + }, + // 字体大小,单位px + fontSize: { + type: [String, Number], + default: uni.$u.props.columnNotice.fontSize + }, + // 水平滚动时的滚动速度,即每秒滚动多少px(px),这有利于控制文字无论多少时,都能有一个恒定的速度 + speed: { + type: [String, Number], + default: uni.$u.props.columnNotice.speed + }, + // direction = row时,是否使用步进形式滚动 + step: { + type: Boolean, + default: uni.$u.props.columnNotice.step + }, + // 滚动一个周期的时间长,单位ms + duration: { + type: [String, Number], + default: uni.$u.props.columnNotice.duration + }, + // 是否禁止用手滑动切换 + // 目前HX2.6.11,只支持App 2.5.5+、H5 2.5.5+、支付宝小程序、字节跳动小程序 + disableTouch: { + type: Boolean, + default: uni.$u.props.columnNotice.disableTouch + } + } +} diff --git a/uni_modules/uview-ui/components/u-column-notice/u-column-notice.vue b/uni_modules/uview-ui/components/u-column-notice/u-column-notice.vue new file mode 100644 index 0000000..fc39532 --- /dev/null +++ b/uni_modules/uview-ui/components/u-column-notice/u-column-notice.vue @@ -0,0 +1,160 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-count-down/props.js b/uni_modules/uview-ui/components/u-count-down/props.js new file mode 100644 index 0000000..d62f025 --- /dev/null +++ b/uni_modules/uview-ui/components/u-count-down/props.js @@ -0,0 +1,24 @@ +export default { + props: { + // 倒计时时长,单位ms + time: { + type: [String, Number], + default: uni.$u.props.countDown.time + }, + // 时间格式,DD-日,HH-时,mm-分,ss-秒,SSS-毫秒 + format: { + type: String, + default: uni.$u.props.countDown.format + }, + // 是否自动开始倒计时 + autoStart: { + type: Boolean, + default: uni.$u.props.countDown.autoStart + }, + // 是否展示毫秒倒计时 + millisecond: { + type: Boolean, + default: uni.$u.props.countDown.millisecond + } + } +} diff --git a/uni_modules/uview-ui/components/u-count-down/u-count-down.vue b/uni_modules/uview-ui/components/u-count-down/u-count-down.vue new file mode 100644 index 0000000..b5e85a6 --- /dev/null +++ b/uni_modules/uview-ui/components/u-count-down/u-count-down.vue @@ -0,0 +1,163 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-count-down/utils.js b/uni_modules/uview-ui/components/u-count-down/utils.js new file mode 100644 index 0000000..8c75005 --- /dev/null +++ b/uni_modules/uview-ui/components/u-count-down/utils.js @@ -0,0 +1,62 @@ +// 补0,如1 -> 01 +function padZero(num, targetLength = 2) { + let str = `${num}` + while (str.length < targetLength) { + str = `0${str}` + } + return str +} +const SECOND = 1000 +const MINUTE = 60 * SECOND +const HOUR = 60 * MINUTE +const DAY = 24 * HOUR +export function parseTimeData(time) { + const days = Math.floor(time / DAY) + const hours = Math.floor((time % DAY) / HOUR) + const minutes = Math.floor((time % HOUR) / MINUTE) + const seconds = Math.floor((time % MINUTE) / SECOND) + const milliseconds = Math.floor(time % SECOND) + return { + days, + hours, + minutes, + seconds, + milliseconds + } +} +export function parseFormat(format, timeData) { + let { + days, + hours, + minutes, + seconds, + milliseconds + } = timeData + // 如果格式化字符串中不存在DD(天),则将天的时间转为小时中去 + if (format.indexOf('DD') === -1) { + hours += days * 24 + } else { + // 对天补0 + format = format.replace('DD', padZero(days)) + } + // 其他同理于DD的格式化处理方式 + if (format.indexOf('HH') === -1) { + minutes += hours * 60 + } else { + format = format.replace('HH', padZero(hours)) + } + if (format.indexOf('mm') === -1) { + seconds += minutes * 60 + } else { + format = format.replace('mm', padZero(minutes)) + } + if (format.indexOf('ss') === -1) { + milliseconds += seconds * 1000 + } else { + format = format.replace('ss', padZero(seconds)) + } + return format.replace('SSS', padZero(milliseconds, 3)) +} +export function isSameSecond(time1, time2) { + return Math.floor(time1 / 1000) === Math.floor(time2 / 1000) +} diff --git a/uni_modules/uview-ui/components/u-count-to/props.js b/uni_modules/uview-ui/components/u-count-to/props.js new file mode 100644 index 0000000..86873c1 --- /dev/null +++ b/uni_modules/uview-ui/components/u-count-to/props.js @@ -0,0 +1,59 @@ +export default { + props: { + // 开始的数值,默认从0增长到某一个数 + startVal: { + type: [String, Number], + default: uni.$u.props.countTo.startVal + }, + // 要滚动的目标数值,必须 + endVal: { + type: [String, Number], + default: uni.$u.props.countTo.endVal + }, + // 滚动到目标数值的动画持续时间,单位为毫秒(ms) + duration: { + type: [String, Number], + default: uni.$u.props.countTo.duration + }, + // 设置数值后是否自动开始滚动 + autoplay: { + type: Boolean, + default: uni.$u.props.countTo.autoplay + }, + // 要显示的小数位数 + decimals: { + type: [String, Number], + default: uni.$u.props.countTo.decimals + }, + // 是否在即将到达目标数值的时候,使用缓慢滚动的效果 + useEasing: { + type: Boolean, + default: uni.$u.props.countTo.useEasing + }, + // 十进制分割 + decimal: { + type: [String, Number], + default: uni.$u.props.countTo.decimal + }, + // 字体颜色 + color: { + type: String, + default: uni.$u.props.countTo.color + }, + // 字体大小 + fontSize: { + type: [String, Number], + default: uni.$u.props.countTo.fontSize + }, + // 是否加粗字体 + bold: { + type: Boolean, + default: uni.$u.props.countTo.bold + }, + // 千位分隔符,类似金额的分割(¥23,321.05中的",") + separator: { + type: String, + default: uni.$u.props.countTo.separator + } + } +} diff --git a/uni_modules/uview-ui/components/u-count-to/u-count-to.vue b/uni_modules/uview-ui/components/u-count-to/u-count-to.vue new file mode 100644 index 0000000..417b732 --- /dev/null +++ b/uni_modules/uview-ui/components/u-count-to/u-count-to.vue @@ -0,0 +1,184 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-datetime-picker/props.js b/uni_modules/uview-ui/components/u-datetime-picker/props.js new file mode 100644 index 0000000..f44c0f9 --- /dev/null +++ b/uni_modules/uview-ui/components/u-datetime-picker/props.js @@ -0,0 +1,116 @@ +export default { + props: { + // 是否打开组件 + show: { + type: Boolean, + default: uni.$u.props.datetimePicker.show + }, + // 是否展示顶部的操作栏 + showToolbar: { + type: Boolean, + default: uni.$u.props.datetimePicker.showToolbar + }, + // 绑定值 + value: { + type: [String, Number], + default: uni.$u.props.datetimePicker.value + }, + // 顶部标题 + title: { + type: String, + default: uni.$u.props.datetimePicker.title + }, + // 展示格式,mode=date为日期选择,mode=time为时间选择,mode=year-month为年月选择,mode=datetime为日期时间选择 + mode: { + type: String, + default: uni.$u.props.datetimePicker.mode + }, + // 可选的最大时间 + maxDate: { + type: Number, + // 最大默认值为后10年 + default: uni.$u.props.datetimePicker.maxDate + }, + // 可选的最小时间 + minDate: { + type: Number, + // 最小默认值为前10年 + default: uni.$u.props.datetimePicker.minDate + }, + // 可选的最小小时,仅mode=time有效 + minHour: { + type: Number, + default: uni.$u.props.datetimePicker.minHour + }, + // 可选的最大小时,仅mode=time有效 + maxHour: { + type: Number, + default: uni.$u.props.datetimePicker.maxHour + }, + // 可选的最小分钟,仅mode=time有效 + minMinute: { + type: Number, + default: uni.$u.props.datetimePicker.minMinute + }, + // 可选的最大分钟,仅mode=time有效 + maxMinute: { + type: Number, + default: uni.$u.props.datetimePicker.maxMinute + }, + // 选项过滤函数 + filter: { + type: [Function, null], + default: uni.$u.props.datetimePicker.filter + }, + // 选项格式化函数 + formatter: { + type: [Function, null], + default: uni.$u.props.datetimePicker.formatter + }, + // 是否显示加载中状态 + loading: { + type: Boolean, + default: uni.$u.props.datetimePicker.loading + }, + // 各列中,单个选项的高度 + itemHeight: { + type: [String, Number], + default: uni.$u.props.datetimePicker.itemHeight + }, + // 取消按钮的文字 + cancelText: { + type: String, + default: uni.$u.props.datetimePicker.cancelText + }, + // 确认按钮的文字 + confirmText: { + type: String, + default: uni.$u.props.datetimePicker.confirmText + }, + // 取消按钮的颜色 + cancelColor: { + type: String, + default: uni.$u.props.datetimePicker.cancelColor + }, + // 确认按钮的颜色 + confirmColor: { + type: String, + default: uni.$u.props.datetimePicker.confirmColor + }, + // 每列中可见选项的数量 + visibleItemCount: { + type: [String, Number], + default: uni.$u.props.datetimePicker.visibleItemCount + }, + // 是否允许点击遮罩关闭选择器 + closeOnClickOverlay: { + type: Boolean, + default: uni.$u.props.datetimePicker.closeOnClickOverlay + }, + // 各列的默认索引 + defaultIndex: { + type: Array, + default: uni.$u.props.datetimePicker.defaultIndex + } + } +} diff --git a/uni_modules/uview-ui/components/u-datetime-picker/u-datetime-picker.vue b/uni_modules/uview-ui/components/u-datetime-picker/u-datetime-picker.vue new file mode 100644 index 0000000..b689661 --- /dev/null +++ b/uni_modules/uview-ui/components/u-datetime-picker/u-datetime-picker.vue @@ -0,0 +1,360 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-divider/props.js b/uni_modules/uview-ui/components/u-divider/props.js new file mode 100644 index 0000000..1fa8359 --- /dev/null +++ b/uni_modules/uview-ui/components/u-divider/props.js @@ -0,0 +1,44 @@ +export default { + props: { + // 是否虚线 + dashed: { + type: Boolean, + default: uni.$u.props.divider.dashed + }, + // 是否细线 + hairline: { + type: Boolean, + default: uni.$u.props.divider.hairline + }, + // 是否以点替代文字,优先于text字段起作用 + dot: { + type: Boolean, + default: uni.$u.props.divider.dot + }, + // 内容文本的位置,left-左边,center-中间,right-右边 + textPosition: { + type: String, + default: uni.$u.props.divider.textPosition + }, + // 文本内容 + text: { + type: [String, Number], + default: uni.$u.props.divider.text + }, + // 文本大小 + textSize: { + type: [String, Number], + default: uni.$u.props.divider.textSize + }, + // 文本颜色 + textColor: { + type: String, + default: uni.$u.props.divider.textColor + }, + // 线条颜色 + lineColor: { + type: String, + default: uni.$u.props.divider.lineColor + } + } +} diff --git a/uni_modules/uview-ui/components/u-divider/u-divider.vue b/uni_modules/uview-ui/components/u-divider/u-divider.vue new file mode 100644 index 0000000..b629da6 --- /dev/null +++ b/uni_modules/uview-ui/components/u-divider/u-divider.vue @@ -0,0 +1,116 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-dropdown-item/props.js b/uni_modules/uview-ui/components/u-dropdown-item/props.js new file mode 100644 index 0000000..501a1f0 --- /dev/null +++ b/uni_modules/uview-ui/components/u-dropdown-item/props.js @@ -0,0 +1,36 @@ +export default { + props: { + // 当前选中项的value值 + value: { + type: [Number, String, Array], + default: '' + }, + // 菜单项标题 + title: { + type: [String, Number], + default: '' + }, + // 选项数据,如果传入了默认slot,此参数无效 + options: { + type: Array, + default() { + return [] + } + }, + // 是否禁用此菜单项 + disabled: { + type: Boolean, + default: false + }, + // 下拉弹窗的高度 + height: { + type: [Number, String], + default: 'auto' + }, + // 点击遮罩是否可以收起弹窗 + closeOnClickOverlay: { + type: Boolean, + default: true + } + } +} diff --git a/uni_modules/uview-ui/components/u-dropdown-item/u-dropdown-item.vue b/uni_modules/uview-ui/components/u-dropdown-item/u-dropdown-item.vue new file mode 100644 index 0000000..f830291 --- /dev/null +++ b/uni_modules/uview-ui/components/u-dropdown-item/u-dropdown-item.vue @@ -0,0 +1,127 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-dropdown/props.js b/uni_modules/uview-ui/components/u-dropdown/props.js new file mode 100644 index 0000000..5f8465e --- /dev/null +++ b/uni_modules/uview-ui/components/u-dropdown/props.js @@ -0,0 +1,65 @@ +export default { + props: { + // 标题选中时的样式 + activeStyle: { + type: [String, Object], + default: () => ({ + color: '#2979ff', + fontSize: '14px' + }) + }, + // 标题未选中时的样式 + inactiveStyle: { + type: [String, Object], + default: () => ({ + color: '#606266', + fontSize: '14px' + }) + }, + // 点击遮罩是否关闭菜单 + closeOnClickMask: { + type: Boolean, + default: true + }, + // 点击当前激活项标题是否关闭菜单 + closeOnClickSelf: { + type: Boolean, + default: true + }, + // 过渡时间 + duration: { + type: [Number, String], + default: 300 + }, + // 标题菜单的高度 + height: { + type: [Number, String], + default: 40 + }, + // 是否显示下边框 + borderBottom: { + type: Boolean, + default: false + }, + // 标题的字体大小 + titleSize: { + type: [Number, String], + default: 14 + }, + // 下拉出来的内容部分的圆角值 + borderRadius: { + type: [Number, String], + default: 0 + }, + // 菜单右侧的icon图标 + menuIcon: { + type: String, + default: 'arrow-down' + }, + // 菜单右侧图标的大小 + menuIconSize: { + type: [Number, String], + default: 14 + } + } +} diff --git a/uni_modules/uview-ui/components/u-dropdown/u-dropdown.vue b/uni_modules/uview-ui/components/u-dropdown/u-dropdown.vue new file mode 100644 index 0000000..f830291 --- /dev/null +++ b/uni_modules/uview-ui/components/u-dropdown/u-dropdown.vue @@ -0,0 +1,127 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-empty/props.js b/uni_modules/uview-ui/components/u-empty/props.js new file mode 100644 index 0000000..78662f8 --- /dev/null +++ b/uni_modules/uview-ui/components/u-empty/props.js @@ -0,0 +1,59 @@ +export default { + props: { + // 内置图标名称,或图片路径,建议绝对路径 + icon: { + type: String, + default: uni.$u.props.empty.icon + }, + // 提示文字 + text: { + type: String, + default: uni.$u.props.empty.text + }, + // 文字颜色 + textColor: { + type: String, + default: uni.$u.props.empty.textColor + }, + // 文字大小 + textSize: { + type: [String, Number], + default: uni.$u.props.empty.textSize + }, + // 图标的颜色 + iconColor: { + type: String, + default: uni.$u.props.empty.iconColor + }, + // 图标的大小 + iconSize: { + type: [String, Number], + default: uni.$u.props.empty.iconSize + }, + // 选择预置的图标类型 + mode: { + type: String, + default: uni.$u.props.empty.mode + }, + // 图标宽度,单位px + width: { + type: [String, Number], + default: uni.$u.props.empty.width + }, + // 图标高度,单位px + height: { + type: [String, Number], + default: uni.$u.props.empty.height + }, + // 是否显示组件 + show: { + type: Boolean, + default: uni.$u.props.empty.show + }, + // 组件距离上一个元素之间的距离,默认px单位 + marginTop: { + type: [String, Number], + default: uni.$u.props.empty.marginTop + } + } +} diff --git a/uni_modules/uview-ui/components/u-empty/u-empty.vue b/uni_modules/uview-ui/components/u-empty/u-empty.vue new file mode 100644 index 0000000..03d6a27 --- /dev/null +++ b/uni_modules/uview-ui/components/u-empty/u-empty.vue @@ -0,0 +1,128 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-form-item/props.js b/uni_modules/uview-ui/components/u-form-item/props.js new file mode 100644 index 0000000..7b16655 --- /dev/null +++ b/uni_modules/uview-ui/components/u-form-item/props.js @@ -0,0 +1,48 @@ +export default { + props: { + // input的label提示语 + label: { + type: String, + default: uni.$u.props.formItem.label + }, + // 绑定的值 + prop: { + type: String, + default: uni.$u.props.formItem.prop + }, + // 是否显示表单域的下划线边框 + borderBottom: { + type: [String, Boolean], + default: uni.$u.props.formItem.borderBottom + }, + // label的位置,left-左边,top-上边 + labelPosition: { + type: String, + default: uni.$u.props.formItem.labelPosition + }, + // label的宽度,单位px + labelWidth: { + type: [String, Number], + default: uni.$u.props.formItem.labelWidth + }, + // 右侧图标 + rightIcon: { + type: String, + default: uni.$u.props.formItem.rightIcon + }, + // 左侧图标 + leftIcon: { + type: String, + default: uni.$u.props.formItem.leftIcon + }, + // 是否显示左边的必填星号,只作显示用,具体校验必填的逻辑,请在rules中配置 + required: { + type: Boolean, + default: uni.$u.props.formItem.required + }, + leftIconStyle: { + type: [String, Object], + default: uni.$u.props.formItem.leftIconStyle, + } + } +} diff --git a/uni_modules/uview-ui/components/u-form-item/u-form-item.vue b/uni_modules/uview-ui/components/u-form-item/u-form-item.vue new file mode 100644 index 0000000..6aa8d69 --- /dev/null +++ b/uni_modules/uview-ui/components/u-form-item/u-form-item.vue @@ -0,0 +1,235 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-form/props.js b/uni_modules/uview-ui/components/u-form/props.js new file mode 100644 index 0000000..f2a629c --- /dev/null +++ b/uni_modules/uview-ui/components/u-form/props.js @@ -0,0 +1,45 @@ +export default { + props: { + // 当前form的需要验证字段的集合 + model: { + type: Object, + default: uni.$u.props.form.model + }, + // 验证规则 + rules: { + type: [Object, Function, Array], + default: uni.$u.props.form.rules + }, + // 有错误时的提示方式,message-提示信息,toast-进行toast提示 + // border-bottom-下边框呈现红色,none-无提示 + errorType: { + type: String, + default: uni.$u.props.form.errorType + }, + // 是否显示表单域的下划线边框 + borderBottom: { + type: Boolean, + default: uni.$u.props.form.borderBottom + }, + // label的位置,left-左边,top-上边 + labelPosition: { + type: String, + default: uni.$u.props.form.labelPosition + }, + // label的宽度,单位px + labelWidth: { + type: [String, Number], + default: uni.$u.props.form.labelWidth + }, + // lable字体的对齐方式 + labelAlign: { + type: String, + default: uni.$u.props.form.labelAlign + }, + // lable的样式,对象形式 + labelStyle: { + type: Object, + default: uni.$u.props.form.labelStyle + } + } +} diff --git a/uni_modules/uview-ui/components/u-form/u-form.vue b/uni_modules/uview-ui/components/u-form/u-form.vue new file mode 100644 index 0000000..fe2dde2 --- /dev/null +++ b/uni_modules/uview-ui/components/u-form/u-form.vue @@ -0,0 +1,214 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-gap/props.js b/uni_modules/uview-ui/components/u-gap/props.js new file mode 100644 index 0000000..89953e3 --- /dev/null +++ b/uni_modules/uview-ui/components/u-gap/props.js @@ -0,0 +1,24 @@ +export default { + props: { + // 背景颜色(默认transparent) + bgColor: { + type: String, + default: uni.$u.props.gap.bgColor + }, + // 分割槽高度,单位px(默认30) + height: { + type: [String, Number], + default: uni.$u.props.gap.height + }, + // 与上一个组件的距离 + marginTop: { + type: [String, Number], + default: uni.$u.props.gap.marginTop + }, + // 与下一个组件的距离 + marginBottom: { + type: [String, Number], + default: uni.$u.props.gap.marginBottom + } + } +} diff --git a/uni_modules/uview-ui/components/u-gap/u-gap.vue b/uni_modules/uview-ui/components/u-gap/u-gap.vue new file mode 100644 index 0000000..e4429f0 --- /dev/null +++ b/uni_modules/uview-ui/components/u-gap/u-gap.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-grid-item/props.js b/uni_modules/uview-ui/components/u-grid-item/props.js new file mode 100644 index 0000000..06c3c66 --- /dev/null +++ b/uni_modules/uview-ui/components/u-grid-item/props.js @@ -0,0 +1,14 @@ +export default { + props: { + // 宫格的name + name: { + type: [String, Number, null], + default: uni.$u.props.gridItem.name + }, + // 背景颜色 + bgColor: { + type: String, + default: uni.$u.props.gridItem.bgColor + } + } +} diff --git a/uni_modules/uview-ui/components/u-grid-item/u-grid-item.vue b/uni_modules/uview-ui/components/u-grid-item/u-grid-item.vue new file mode 100644 index 0000000..fc0c7cf --- /dev/null +++ b/uni_modules/uview-ui/components/u-grid-item/u-grid-item.vue @@ -0,0 +1,209 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-grid/props.js b/uni_modules/uview-ui/components/u-grid/props.js new file mode 100644 index 0000000..87b0f6a --- /dev/null +++ b/uni_modules/uview-ui/components/u-grid/props.js @@ -0,0 +1,19 @@ +export default { + props: { + // 分成几列 + col: { + type: [String, Number], + default: uni.$u.props.grid.col + }, + // 是否显示边框 + border: { + type: Boolean, + default: uni.$u.props.grid.border + }, + // 宫格对齐方式,表现为数量少的时候,靠左,居中,还是靠右 + align: { + type: String, + default: uni.$u.props.grid.align + } + } +} diff --git a/uni_modules/uview-ui/components/u-grid/u-grid.vue b/uni_modules/uview-ui/components/u-grid/u-grid.vue new file mode 100644 index 0000000..b43cc27 --- /dev/null +++ b/uni_modules/uview-ui/components/u-grid/u-grid.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-icon/icons.js b/uni_modules/uview-ui/components/u-icon/icons.js new file mode 100644 index 0000000..f4d0fe2 --- /dev/null +++ b/uni_modules/uview-ui/components/u-icon/icons.js @@ -0,0 +1,214 @@ +export default { + 'uicon-level': '\ue693', + 'uicon-column-line': '\ue68e', + 'uicon-checkbox-mark': '\ue807', + 'uicon-folder': '\ue7f5', + 'uicon-movie': '\ue7f6', + 'uicon-star-fill': '\ue669', + 'uicon-star': '\ue65f', + 'uicon-phone-fill': '\ue64f', + 'uicon-phone': '\ue622', + 'uicon-apple-fill': '\ue881', + 'uicon-chrome-circle-fill': '\ue885', + 'uicon-backspace': '\ue67b', + 'uicon-attach': '\ue632', + 'uicon-cut': '\ue948', + 'uicon-empty-car': '\ue602', + 'uicon-empty-coupon': '\ue682', + 'uicon-empty-address': '\ue646', + 'uicon-empty-favor': '\ue67c', + 'uicon-empty-permission': '\ue686', + 'uicon-empty-news': '\ue687', + 'uicon-empty-search': '\ue664', + 'uicon-github-circle-fill': '\ue887', + 'uicon-rmb': '\ue608', + 'uicon-person-delete-fill': '\ue66a', + 'uicon-reload': '\ue788', + 'uicon-order': '\ue68f', + 'uicon-server-man': '\ue6bc', + 'uicon-search': '\ue62a', + 'uicon-fingerprint': '\ue955', + 'uicon-more-dot-fill': '\ue630', + 'uicon-scan': '\ue662', + 'uicon-share-square': '\ue60b', + 'uicon-map': '\ue61d', + 'uicon-map-fill': '\ue64e', + 'uicon-tags': '\ue629', + 'uicon-tags-fill': '\ue651', + 'uicon-bookmark-fill': '\ue63b', + 'uicon-bookmark': '\ue60a', + 'uicon-eye': '\ue613', + 'uicon-eye-fill': '\ue641', + 'uicon-mic': '\ue64a', + 'uicon-mic-off': '\ue649', + 'uicon-calendar': '\ue66e', + 'uicon-calendar-fill': '\ue634', + 'uicon-trash': '\ue623', + 'uicon-trash-fill': '\ue658', + 'uicon-play-left': '\ue66d', + 'uicon-play-right': '\ue610', + 'uicon-minus': '\ue618', + 'uicon-plus': '\ue62d', + 'uicon-info': '\ue653', + 'uicon-info-circle': '\ue7d2', + 'uicon-info-circle-fill': '\ue64b', + 'uicon-question': '\ue715', + 'uicon-error': '\ue6d3', + 'uicon-close': '\ue685', + 'uicon-checkmark': '\ue6a8', + 'uicon-android-circle-fill': '\ue67e', + 'uicon-android-fill': '\ue67d', + 'uicon-ie': '\ue87b', + 'uicon-IE-circle-fill': '\ue889', + 'uicon-google': '\ue87a', + 'uicon-google-circle-fill': '\ue88a', + 'uicon-setting-fill': '\ue872', + 'uicon-setting': '\ue61f', + 'uicon-minus-square-fill': '\ue855', + 'uicon-plus-square-fill': '\ue856', + 'uicon-heart': '\ue7df', + 'uicon-heart-fill': '\ue851', + 'uicon-camera': '\ue7d7', + 'uicon-camera-fill': '\ue870', + 'uicon-more-circle': '\ue63e', + 'uicon-more-circle-fill': '\ue645', + 'uicon-chat': '\ue620', + 'uicon-chat-fill': '\ue61e', + 'uicon-bag-fill': '\ue617', + 'uicon-bag': '\ue619', + 'uicon-error-circle-fill': '\ue62c', + 'uicon-error-circle': '\ue624', + 'uicon-close-circle': '\ue63f', + 'uicon-close-circle-fill': '\ue637', + 'uicon-checkmark-circle': '\ue63d', + 'uicon-checkmark-circle-fill': '\ue635', + 'uicon-question-circle-fill': '\ue666', + 'uicon-question-circle': '\ue625', + 'uicon-share': '\ue631', + 'uicon-share-fill': '\ue65e', + 'uicon-shopping-cart': '\ue621', + 'uicon-shopping-cart-fill': '\ue65d', + 'uicon-bell': '\ue609', + 'uicon-bell-fill': '\ue640', + 'uicon-list': '\ue650', + 'uicon-list-dot': '\ue616', + 'uicon-zhihu': '\ue6ba', + 'uicon-zhihu-circle-fill': '\ue709', + 'uicon-zhifubao': '\ue6b9', + 'uicon-zhifubao-circle-fill': '\ue6b8', + 'uicon-weixin-circle-fill': '\ue6b1', + 'uicon-weixin-fill': '\ue6b2', + 'uicon-twitter-circle-fill': '\ue6ab', + 'uicon-twitter': '\ue6aa', + 'uicon-taobao-circle-fill': '\ue6a7', + 'uicon-taobao': '\ue6a6', + 'uicon-weibo-circle-fill': '\ue6a5', + 'uicon-weibo': '\ue6a4', + 'uicon-qq-fill': '\ue6a1', + 'uicon-qq-circle-fill': '\ue6a0', + 'uicon-moments-circel-fill': '\ue69a', + 'uicon-moments': '\ue69b', + 'uicon-qzone': '\ue695', + 'uicon-qzone-circle-fill': '\ue696', + 'uicon-baidu-circle-fill': '\ue680', + 'uicon-baidu': '\ue681', + 'uicon-facebook-circle-fill': '\ue68a', + 'uicon-facebook': '\ue689', + 'uicon-car': '\ue60c', + 'uicon-car-fill': '\ue636', + 'uicon-warning-fill': '\ue64d', + 'uicon-warning': '\ue694', + 'uicon-clock-fill': '\ue638', + 'uicon-clock': '\ue60f', + 'uicon-edit-pen': '\ue612', + 'uicon-edit-pen-fill': '\ue66b', + 'uicon-email': '\ue611', + 'uicon-email-fill': '\ue642', + 'uicon-minus-circle': '\ue61b', + 'uicon-minus-circle-fill': '\ue652', + 'uicon-plus-circle': '\ue62e', + 'uicon-plus-circle-fill': '\ue661', + 'uicon-file-text': '\ue663', + 'uicon-file-text-fill': '\ue665', + 'uicon-pushpin': '\ue7e3', + 'uicon-pushpin-fill': '\ue86e', + 'uicon-grid': '\ue673', + 'uicon-grid-fill': '\ue678', + 'uicon-play-circle': '\ue647', + 'uicon-play-circle-fill': '\ue655', + 'uicon-pause-circle-fill': '\ue654', + 'uicon-pause': '\ue8fa', + 'uicon-pause-circle': '\ue643', + 'uicon-eye-off': '\ue648', + 'uicon-eye-off-outline': '\ue62b', + 'uicon-gift-fill': '\ue65c', + 'uicon-gift': '\ue65b', + 'uicon-rmb-circle-fill': '\ue657', + 'uicon-rmb-circle': '\ue677', + 'uicon-kefu-ermai': '\ue656', + 'uicon-server-fill': '\ue751', + 'uicon-coupon-fill': '\ue8c4', + 'uicon-coupon': '\ue8ae', + 'uicon-integral': '\ue704', + 'uicon-integral-fill': '\ue703', + 'uicon-home-fill': '\ue964', + 'uicon-home': '\ue965', + 'uicon-hourglass-half-fill': '\ue966', + 'uicon-hourglass': '\ue967', + 'uicon-account': '\ue628', + 'uicon-plus-people-fill': '\ue626', + 'uicon-minus-people-fill': '\ue615', + 'uicon-account-fill': '\ue614', + 'uicon-thumb-down-fill': '\ue726', + 'uicon-thumb-down': '\ue727', + 'uicon-thumb-up': '\ue733', + 'uicon-thumb-up-fill': '\ue72f', + 'uicon-lock-fill': '\ue979', + 'uicon-lock-open': '\ue973', + 'uicon-lock-opened-fill': '\ue974', + 'uicon-lock': '\ue97a', + 'uicon-red-packet-fill': '\ue690', + 'uicon-photo-fill': '\ue98b', + 'uicon-photo': '\ue98d', + 'uicon-volume-off-fill': '\ue659', + 'uicon-volume-off': '\ue644', + 'uicon-volume-fill': '\ue670', + 'uicon-volume': '\ue633', + 'uicon-red-packet': '\ue691', + 'uicon-download': '\ue63c', + 'uicon-arrow-up-fill': '\ue6b0', + 'uicon-arrow-down-fill': '\ue600', + 'uicon-play-left-fill': '\ue675', + 'uicon-play-right-fill': '\ue676', + 'uicon-rewind-left-fill': '\ue679', + 'uicon-rewind-right-fill': '\ue67a', + 'uicon-arrow-downward': '\ue604', + 'uicon-arrow-leftward': '\ue601', + 'uicon-arrow-rightward': '\ue603', + 'uicon-arrow-upward': '\ue607', + 'uicon-arrow-down': '\ue60d', + 'uicon-arrow-right': '\ue605', + 'uicon-arrow-left': '\ue60e', + 'uicon-arrow-up': '\ue606', + 'uicon-skip-back-left': '\ue674', + 'uicon-skip-forward-right': '\ue672', + 'uicon-rewind-right': '\ue66f', + 'uicon-rewind-left': '\ue671', + 'uicon-arrow-right-double': '\ue68d', + 'uicon-arrow-left-double': '\ue68c', + 'uicon-wifi-off': '\ue668', + 'uicon-wifi': '\ue667', + 'uicon-empty-data': '\ue62f', + 'uicon-empty-history': '\ue684', + 'uicon-empty-list': '\ue68b', + 'uicon-empty-page': '\ue627', + 'uicon-empty-order': '\ue639', + 'uicon-man': '\ue697', + 'uicon-woman': '\ue69c', + 'uicon-man-add': '\ue61c', + 'uicon-man-add-fill': '\ue64c', + 'uicon-man-delete': '\ue61a', + 'uicon-man-delete-fill': '\ue66a', + 'uicon-zh': '\ue70a', + 'uicon-en': '\ue692' +} diff --git a/uni_modules/uview-ui/components/u-icon/props.js b/uni_modules/uview-ui/components/u-icon/props.js new file mode 100644 index 0000000..71845b7 --- /dev/null +++ b/uni_modules/uview-ui/components/u-icon/props.js @@ -0,0 +1,89 @@ +export default { + props: { + // 图标类名 + name: { + type: String, + default: uni.$u.props.icon.name + }, + // 图标颜色,可接受主题色 + color: { + type: String, + default: uni.$u.props.icon.color + }, + // 字体大小,单位px + size: { + type: [String, Number], + default: uni.$u.props.icon.size + }, + // 是否显示粗体 + bold: { + type: Boolean, + default: uni.$u.props.icon.bold + }, + // 点击图标的时候传递事件出去的index(用于区分点击了哪一个) + index: { + type: [String, Number], + default: uni.$u.props.icon.index + }, + // 触摸图标时的类名 + hoverClass: { + type: String, + default: uni.$u.props.icon.hoverClass + }, + // 自定义扩展前缀,方便用户扩展自己的图标库 + customPrefix: { + type: String, + default: uni.$u.props.icon.customPrefix + }, + // 图标右边或者下面的文字 + label: { + type: [String, Number], + default: uni.$u.props.icon.label + }, + // label的位置,只能右边或者下边 + labelPos: { + type: String, + default: uni.$u.props.icon.labelPos + }, + // label的大小 + labelSize: { + type: [String, Number], + default: uni.$u.props.icon.labelSize + }, + // label的颜色 + labelColor: { + type: String, + default: uni.$u.props.icon.labelColor + }, + // label与图标的距离 + space: { + type: [String, Number], + default: uni.$u.props.icon.space + }, + // 图片的mode + imgMode: { + type: String, + default: uni.$u.props.icon.imgMode + }, + // 用于显示图片小图标时,图片的宽度 + width: { + type: [String, Number], + default: uni.$u.props.icon.width + }, + // 用于显示图片小图标时,图片的高度 + height: { + type: [String, Number], + default: uni.$u.props.icon.height + }, + // 用于解决某些情况下,让图标垂直居中的用途 + top: { + type: [String, Number], + default: uni.$u.props.icon.top + }, + // 是否阻止事件传播 + stop: { + type: Boolean, + default: uni.$u.props.icon.stop + } + } +} diff --git a/uni_modules/uview-ui/components/u-icon/u-icon.vue b/uni_modules/uview-ui/components/u-icon/u-icon.vue new file mode 100644 index 0000000..9340328 --- /dev/null +++ b/uni_modules/uview-ui/components/u-icon/u-icon.vue @@ -0,0 +1,234 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-image/props.js b/uni_modules/uview-ui/components/u-image/props.js new file mode 100644 index 0000000..2eabb74 --- /dev/null +++ b/uni_modules/uview-ui/components/u-image/props.js @@ -0,0 +1,84 @@ +export default { + props: { + // 图片地址 + src: { + type: String, + default: uni.$u.props.image.src + }, + // 裁剪模式 + mode: { + type: String, + default: uni.$u.props.image.mode + }, + // 宽度,单位任意 + width: { + type: [String, Number], + default: uni.$u.props.image.width + }, + // 高度,单位任意 + height: { + type: [String, Number], + default: uni.$u.props.image.height + }, + // 图片形状,circle-圆形,square-方形 + shape: { + type: String, + default: uni.$u.props.image.shape + }, + // 圆角,单位任意 + radius: { + type: [String, Number], + default: uni.$u.props.image.radius + }, + // 是否懒加载,微信小程序、App、百度小程序、字节跳动小程序 + lazyLoad: { + type: Boolean, + default: uni.$u.props.image.lazyLoad + }, + // 开启长按图片显示识别微信小程序码菜单 + showMenuByLongpress: { + type: Boolean, + default: uni.$u.props.image.showMenuByLongpress + }, + // 加载中的图标,或者小图片 + loadingIcon: { + type: String, + default: uni.$u.props.image.loadingIcon + }, + // 加载失败的图标,或者小图片 + errorIcon: { + type: String, + default: uni.$u.props.image.errorIcon + }, + // 是否显示加载中的图标或者自定义的slot + showLoading: { + type: Boolean, + default: uni.$u.props.image.showLoading + }, + // 是否显示加载错误的图标或者自定义的slot + showError: { + type: Boolean, + default: uni.$u.props.image.showError + }, + // 是否需要淡入效果 + fade: { + type: Boolean, + default: uni.$u.props.image.fade + }, + // 只支持网络资源,只对微信小程序有效 + webp: { + type: Boolean, + default: uni.$u.props.image.webp + }, + // 过渡时间,单位ms + duration: { + type: [String, Number], + default: uni.$u.props.image.duration + }, + // 背景颜色,用于深色页面加载图片时,为了和背景色融合 + bgColor: { + type: String, + default: uni.$u.props.image.bgColor + } + } +} diff --git a/uni_modules/uview-ui/components/u-image/u-image.vue b/uni_modules/uview-ui/components/u-image/u-image.vue new file mode 100644 index 0000000..473e35b --- /dev/null +++ b/uni_modules/uview-ui/components/u-image/u-image.vue @@ -0,0 +1,232 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-index-anchor/props.js b/uni_modules/uview-ui/components/u-index-anchor/props.js new file mode 100644 index 0000000..6d8b59a --- /dev/null +++ b/uni_modules/uview-ui/components/u-index-anchor/props.js @@ -0,0 +1,29 @@ +export default { + props: { + // 列表锚点文本内容 + text: { + type: [String, Number], + default: uni.$u.props.indexAnchor.text + }, + // 列表锚点文字颜色 + color: { + type: String, + default: uni.$u.props.indexAnchor.color + }, + // 列表锚点文字大小,单位默认px + size: { + type: [String, Number], + default: uni.$u.props.indexAnchor.size + }, + // 列表锚点背景颜色 + bgColor: { + type: String, + default: uni.$u.props.indexAnchor.bgColor + }, + // 列表锚点高度,单位默认px + height: { + type: [String, Number], + default: uni.$u.props.indexAnchor.height + } + } +} diff --git a/uni_modules/uview-ui/components/u-index-anchor/u-index-anchor.vue b/uni_modules/uview-ui/components/u-index-anchor/u-index-anchor.vue new file mode 100644 index 0000000..b95ddef --- /dev/null +++ b/uni_modules/uview-ui/components/u-index-anchor/u-index-anchor.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-index-item/props.js b/uni_modules/uview-ui/components/u-index-item/props.js new file mode 100644 index 0000000..7c11331 --- /dev/null +++ b/uni_modules/uview-ui/components/u-index-item/props.js @@ -0,0 +1,5 @@ +export default { + props: { + + } +} diff --git a/uni_modules/uview-ui/components/u-index-item/u-index-item.vue b/uni_modules/uview-ui/components/u-index-item/u-index-item.vue new file mode 100644 index 0000000..0bc7fb3 --- /dev/null +++ b/uni_modules/uview-ui/components/u-index-item/u-index-item.vue @@ -0,0 +1,87 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-index-list/props.js b/uni_modules/uview-ui/components/u-index-list/props.js new file mode 100644 index 0000000..354d459 --- /dev/null +++ b/uni_modules/uview-ui/components/u-index-list/props.js @@ -0,0 +1,29 @@ +export default { + props: { + // 右边锚点非激活的颜色 + inactiveColor: { + type: String, + default: uni.$u.props.indexList.inactiveColor + }, + // 右边锚点激活的颜色 + activeColor: { + type: String, + default: uni.$u.props.indexList.activeColor + }, + // 索引字符列表,数组形式 + indexList: { + type: Array, + default: uni.$u.props.indexList.indexList + }, + // 是否开启锚点自动吸顶 + sticky: { + type: Boolean, + default: uni.$u.props.indexList.sticky + }, + // 自定义导航栏的高度 + customNavHeight: { + type: [String, Number], + default: uni.$u.props.indexList.customNavHeight + } + } +} diff --git a/uni_modules/uview-ui/components/u-index-list/u-index-list.vue b/uni_modules/uview-ui/components/u-index-list/u-index-list.vue new file mode 100644 index 0000000..d712618 --- /dev/null +++ b/uni_modules/uview-ui/components/u-index-list/u-index-list.vue @@ -0,0 +1,440 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-input/props.js b/uni_modules/uview-ui/components/u-input/props.js new file mode 100644 index 0000000..2c50870 --- /dev/null +++ b/uni_modules/uview-ui/components/u-input/props.js @@ -0,0 +1,187 @@ +export default { + props: { + // 输入的值 + value: { + type: [String, Number], + default: uni.$u.props.input.value + }, + // 输入框类型 + // number-数字输入键盘,app-vue下可以输入浮点数,app-nvue和小程序平台下只能输入整数 + // idcard-身份证输入键盘,微信、支付宝、百度、QQ小程序 + // digit-带小数点的数字键盘,App的nvue页面、微信、支付宝、百度、头条、QQ小程序 + // text-文本输入键盘 + type: { + type: String, + default: uni.$u.props.input.type + }, + // 如果 textarea 是在一个 position:fixed 的区域,需要显示指定属性 fixed 为 true, + // 兼容性:微信小程序、百度小程序、字节跳动小程序、QQ小程序 + fixed: { + type: Boolean, + default: uni.$u.props.input.fixed + }, + // 是否禁用输入框 + disabled: { + type: Boolean, + default: uni.$u.props.input.disabled + }, + // 禁用状态时的背景色 + disabledColor: { + type: String, + default: uni.$u.props.input.disabledColor + }, + // 是否显示清除控件 + clearable: { + type: Boolean, + default: uni.$u.props.input.clearable + }, + // 是否密码类型 + password: { + type: Boolean, + default: uni.$u.props.input.password + }, + // 最大输入长度,设置为 -1 的时候不限制最大长度 + maxlength: { + type: [String, Number], + default: uni.$u.props.input.maxlength + }, + // 输入框为空时的占位符 + placeholder: { + type: String, + default: uni.$u.props.input.placeholder + }, + // 指定placeholder的样式类,注意页面或组件的style中写了scoped时,需要在类名前写/deep/ + placeholderClass: { + type: String, + default: uni.$u.props.input.placeholderClass + }, + // 指定placeholder的样式 + placeholderStyle: { + type: [String, Object], + default: uni.$u.props.input.placeholderStyle + }, + // 是否显示输入字数统计,只在 type ="text"或type ="textarea"时有效 + showWordLimit: { + type: Boolean, + default: uni.$u.props.input.showWordLimit + }, + // 设置右下角按钮的文字,有效值:send|search|next|go|done,兼容性详见uni-app文档 + // https://uniapp.dcloud.io/component/input + // https://uniapp.dcloud.io/component/textarea + confirmType: { + type: String, + default: uni.$u.props.input.confirmType + }, + // 点击键盘右下角按钮时是否保持键盘不收起,H5无效 + confirmHold: { + type: Boolean, + default: uni.$u.props.input.confirmHold + }, + // focus时,点击页面的时候不收起键盘,微信小程序有效 + holdKeyboard: { + type: Boolean, + default: uni.$u.props.input.holdKeyboard + }, + // 自动获取焦点 + // 在 H5 平台能否聚焦以及软键盘是否跟随弹出,取决于当前浏览器本身的实现。nvue 页面不支持,需使用组件的 focus()、blur() 方法控制焦点 + focus: { + type: Boolean, + default: uni.$u.props.input.focus + }, + // 键盘收起时,是否自动失去焦点,目前仅App3.0.0+有效 + autoBlur: { + type: Boolean, + default: uni.$u.props.input.autoBlur + }, + // 是否去掉 iOS 下的默认内边距,仅微信小程序,且type=textarea时有效 + disableDefaultPadding: { + type: Boolean, + default: uni.$u.props.input.disableDefaultPadding + }, + // 指定focus时光标的位置 + cursor: { + type: [String, Number], + default: uni.$u.props.input.cursor + }, + // 输入框聚焦时底部与键盘的距离 + cursorSpacing: { + type: [String, Number], + default: uni.$u.props.input.cursorSpacing + }, + // 光标起始位置,自动聚集时有效,需与selection-end搭配使用 + selectionStart: { + type: [String, Number], + default: uni.$u.props.input.selectionStart + }, + // 光标结束位置,自动聚集时有效,需与selection-start搭配使用 + selectionEnd: { + type: [String, Number], + default: uni.$u.props.input.selectionEnd + }, + // 键盘弹起时,是否自动上推页面 + adjustPosition: { + type: Boolean, + default: uni.$u.props.input.adjustPosition + }, + // 输入框内容对齐方式,可选值为:left|center|right + inputAlign: { + type: String, + default: uni.$u.props.input.inputAlign + }, + // 输入框字体的大小 + fontSize: { + type: [String, Number], + default: uni.$u.props.input.fontSize + }, + // 输入框字体颜色 + color: { + type: String, + default: uni.$u.props.input.color + }, + // 输入框前置图标 + prefixIcon: { + type: String, + default: uni.$u.props.input.prefixIcon + }, + // 前置图标样式,对象或字符串 + prefixIconStyle: { + type: [String, Object], + default: uni.$u.props.input.prefixIconStyle + }, + // 输入框后置图标 + suffixIcon: { + type: String, + default: uni.$u.props.input.suffixIcon + }, + // 后置图标样式,对象或字符串 + suffixIconStyle: { + type: [String, Object], + default: uni.$u.props.input.suffixIconStyle + }, + // 边框类型,surround-四周边框,bottom-底部边框,none-无边框 + border: { + type: String, + default: uni.$u.props.input.border + }, + // 是否只读,与disabled不同之处在于disabled会置灰组件,而readonly则不会 + readonly: { + type: Boolean, + default: uni.$u.props.input.readonly + }, + // 输入框形状,circle-圆形,square-方形 + shape: { + type: String, + default: uni.$u.props.input.shape + }, + // 用于处理或者过滤输入框内容的方法 + formatter: { + type: [Function, null], + default: uni.$u.props.input.formatter + }, + // 是否忽略组件内对文本合成系统事件的处理 + ignoreCompositionEvent: { + type: Boolean, + default: true + } + } +} diff --git a/uni_modules/uview-ui/components/u-input/u-input.vue b/uni_modules/uview-ui/components/u-input/u-input.vue new file mode 100644 index 0000000..4c83757 --- /dev/null +++ b/uni_modules/uview-ui/components/u-input/u-input.vue @@ -0,0 +1,354 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-keyboard/props.js b/uni_modules/uview-ui/components/u-keyboard/props.js new file mode 100644 index 0000000..cfdb00a --- /dev/null +++ b/uni_modules/uview-ui/components/u-keyboard/props.js @@ -0,0 +1,84 @@ +export default { + props: { + // 键盘的类型,number-数字键盘,card-身份证键盘,car-车牌号键盘 + mode: { + type: String, + default: uni.$u.props.keyboard.mode + }, + // 是否显示键盘的"."符号 + dotDisabled: { + type: Boolean, + default: uni.$u.props.keyboard.dotDisabled + }, + // 是否显示顶部工具条 + tooltip: { + type: Boolean, + default: uni.$u.props.keyboard.tooltip + }, + // 是否显示工具条中间的提示 + showTips: { + type: Boolean, + default: uni.$u.props.keyboard.showTips + }, + // 工具条中间的提示文字 + tips: { + type: String, + default: uni.$u.props.keyboard.tips + }, + // 是否显示工具条左边的"取消"按钮 + showCancel: { + type: Boolean, + default: uni.$u.props.keyboard.showCancel + }, + // 是否显示工具条右边的"完成"按钮 + showConfirm: { + type: Boolean, + default: uni.$u.props.keyboard.showConfirm + }, + // 是否打乱键盘按键的顺序 + random: { + type: Boolean, + default: uni.$u.props.keyboard.random + }, + // 是否开启底部安全区适配,开启的话,会在iPhoneX机型底部添加一定的内边距 + safeAreaInsetBottom: { + type: Boolean, + default: uni.$u.props.keyboard.safeAreaInsetBottom + }, + // 是否允许通过点击遮罩关闭键盘 + closeOnClickOverlay: { + type: Boolean, + default: uni.$u.props.keyboard.closeOnClickOverlay + }, + // 控制键盘的弹出与收起 + show: { + type: Boolean, + default: uni.$u.props.keyboard.show + }, + // 是否显示遮罩,某些时候数字键盘时,用户希望看到自己的数值,所以可能不想要遮罩 + overlay: { + type: Boolean, + default: uni.$u.props.keyboard.overlay + }, + // z-index值 + zIndex: { + type: [String, Number], + default: uni.$u.props.keyboard.zIndex + }, + // 取消按钮的文字 + cancelText: { + type: String, + default: uni.$u.props.keyboard.cancelText + }, + // 确认按钮的文字 + confirmText: { + type: String, + default: uni.$u.props.keyboard.confirmText + }, + // 输入一个中文后,是否自动切换到英文 + autoChange: { + type: Boolean, + default: uni.$u.props.keyboard.autoChange + } + } +} diff --git a/uni_modules/uview-ui/components/u-keyboard/u-keyboard.vue b/uni_modules/uview-ui/components/u-keyboard/u-keyboard.vue new file mode 100644 index 0000000..14228cb --- /dev/null +++ b/uni_modules/uview-ui/components/u-keyboard/u-keyboard.vue @@ -0,0 +1,164 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-line-progress/props.js b/uni_modules/uview-ui/components/u-line-progress/props.js new file mode 100644 index 0000000..a4210bd --- /dev/null +++ b/uni_modules/uview-ui/components/u-line-progress/props.js @@ -0,0 +1,28 @@ +export default { + props: { + // 激活部分的颜色 + activeColor: { + type: String, + default: uni.$u.props.lineProgress.activeColor + }, + inactiveColor: { + type: String, + default: uni.$u.props.lineProgress.color + }, + // 进度百分比,数值 + percentage: { + type: [String, Number], + default: uni.$u.props.lineProgress.inactiveColor + }, + // 是否在进度条内部显示百分比的值 + showText: { + type: Boolean, + default: uni.$u.props.lineProgress.showText + }, + // 进度条的高度,单位px + height: { + type: [String, Number], + default: uni.$u.props.lineProgress.height + } + } +} diff --git a/uni_modules/uview-ui/components/u-line-progress/u-line-progress.vue b/uni_modules/uview-ui/components/u-line-progress/u-line-progress.vue new file mode 100644 index 0000000..4e27931 --- /dev/null +++ b/uni_modules/uview-ui/components/u-line-progress/u-line-progress.vue @@ -0,0 +1,144 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-line/props.js b/uni_modules/uview-ui/components/u-line/props.js new file mode 100644 index 0000000..2308cc3 --- /dev/null +++ b/uni_modules/uview-ui/components/u-line/props.js @@ -0,0 +1,33 @@ +export default { + props: { + color: { + type: String, + default: uni.$u.props.line.color + }, + // 长度,竖向时表现为高度,横向时表现为长度,可以为百分比,带px单位的值等 + length: { + type: [String, Number], + default: uni.$u.props.line.length + }, + // 线条方向,col-竖向,row-横向 + direction: { + type: String, + default: uni.$u.props.line.direction + }, + // 是否显示细边框 + hairline: { + type: Boolean, + default: uni.$u.props.line.hairline + }, + // 线条与上下左右元素的间距,字符串形式,如"30px"、"20px 30px" + margin: { + type: [String, Number], + default: uni.$u.props.line.margin + }, + // 是否虚线,true-虚线,false-实线 + dashed: { + type: Boolean, + default: uni.$u.props.line.dashed + } + } +} diff --git a/uni_modules/uview-ui/components/u-line/u-line.vue b/uni_modules/uview-ui/components/u-line/u-line.vue new file mode 100644 index 0000000..e0a6d92 --- /dev/null +++ b/uni_modules/uview-ui/components/u-line/u-line.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-link/props.js b/uni_modules/uview-ui/components/u-link/props.js new file mode 100644 index 0000000..d39353f --- /dev/null +++ b/uni_modules/uview-ui/components/u-link/props.js @@ -0,0 +1,39 @@ +export default { + props: { + // 文字颜色 + color: { + type: String, + default: uni.$u.props.link.color + }, + // 字体大小,单位px + fontSize: { + type: [String, Number], + default: uni.$u.props.link.fontSize + }, + // 是否显示下划线 + underLine: { + type: Boolean, + default: uni.$u.props.link.underLine + }, + // 要跳转的链接 + href: { + type: String, + default: uni.$u.props.link.href + }, + // 小程序中复制到粘贴板的提示语 + mpTips: { + type: String, + default: uni.$u.props.link.mpTips + }, + // 下划线颜色 + lineColor: { + type: String, + default: uni.$u.props.link.lineColor + }, + // 超链接的问题,不使用slot形式传入,是因为nvue下无法修改颜色 + text: { + type: String, + default: uni.$u.props.link.text + } + } +} diff --git a/uni_modules/uview-ui/components/u-link/u-link.vue b/uni_modules/uview-ui/components/u-link/u-link.vue new file mode 100644 index 0000000..c6802a5 --- /dev/null +++ b/uni_modules/uview-ui/components/u-link/u-link.vue @@ -0,0 +1,83 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-list-item/props.js b/uni_modules/uview-ui/components/u-list-item/props.js new file mode 100644 index 0000000..58ddc49 --- /dev/null +++ b/uni_modules/uview-ui/components/u-list-item/props.js @@ -0,0 +1,9 @@ +export default { + props: { + // 用于滚动到指定item + anchor: { + type: [String, Number], + default: uni.$u.props.listItem.anchor + } + } +} diff --git a/uni_modules/uview-ui/components/u-list-item/u-list-item.vue b/uni_modules/uview-ui/components/u-list-item/u-list-item.vue new file mode 100644 index 0000000..1a25db6 --- /dev/null +++ b/uni_modules/uview-ui/components/u-list-item/u-list-item.vue @@ -0,0 +1,116 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-list/props.js b/uni_modules/uview-ui/components/u-list/props.js new file mode 100644 index 0000000..25406f4 --- /dev/null +++ b/uni_modules/uview-ui/components/u-list/props.js @@ -0,0 +1,76 @@ +export default { + props: { + // 控制是否出现滚动条,仅nvue有效 + showScrollbar: { + type: Boolean, + default: uni.$u.props.list.showScrollbar + }, + // 距底部多少时触发scrolltolower事件 + lowerThreshold: { + type: [String, Number], + default: uni.$u.props.list.lowerThreshold + }, + // 距顶部多少时触发scrolltoupper事件,非nvue有效 + upperThreshold: { + type: [String, Number], + default: uni.$u.props.list.upperThreshold + }, + // 设置竖向滚动条位置 + scrollTop: { + type: [String, Number], + default: uni.$u.props.list.scrollTop + }, + // 控制 onscroll 事件触发的频率,仅nvue有效 + offsetAccuracy: { + type: [String, Number], + default: uni.$u.props.list.offsetAccuracy + }, + // 启用 flexbox 布局。开启后,当前节点声明了display: flex就会成为flex container,并作用于其孩子节点,仅微信小程序有效 + enableFlex: { + type: Boolean, + default: uni.$u.props.list.enableFlex + }, + // 是否按分页模式显示List,默认值false + pagingEnabled: { + type: Boolean, + default: uni.$u.props.list.pagingEnabled + }, + // 是否允许List滚动 + scrollable: { + type: Boolean, + default: uni.$u.props.list.scrollable + }, + // 值应为某子元素id(id不能以数字开头) + scrollIntoView: { + type: String, + default: uni.$u.props.list.scrollIntoView + }, + // 在设置滚动条位置时使用动画过渡 + scrollWithAnimation: { + type: Boolean, + default: uni.$u.props.list.scrollWithAnimation + }, + // iOS点击顶部状态栏、安卓双击标题栏时,滚动条返回顶部,只对微信小程序有效 + enableBackToTop: { + type: Boolean, + default: uni.$u.props.list.enableBackToTop + }, + // 列表的高度 + height: { + type: [String, Number], + default: uni.$u.props.list.height + }, + // 列表宽度 + width: { + type: [String, Number], + default: uni.$u.props.list.width + }, + // 列表前后预渲染的屏数,1代表一个屏幕的高度,1.5代表1个半屏幕高度 + preLoadScreen: { + type: [String, Number], + default: uni.$u.props.list.preLoadScreen + } + // vue下,是否开启虚拟列表 + + } +} diff --git a/uni_modules/uview-ui/components/u-list/u-list.vue b/uni_modules/uview-ui/components/u-list/u-list.vue new file mode 100644 index 0000000..4447cab --- /dev/null +++ b/uni_modules/uview-ui/components/u-list/u-list.vue @@ -0,0 +1,157 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-loading-icon/props.js b/uni_modules/uview-ui/components/u-loading-icon/props.js new file mode 100644 index 0000000..c35524e --- /dev/null +++ b/uni_modules/uview-ui/components/u-loading-icon/props.js @@ -0,0 +1,59 @@ +export default { + props: { + // 是否显示组件 + show: { + type: Boolean, + default: uni.$u.props.loadingIcon.show + }, + // 颜色 + color: { + type: String, + default: uni.$u.props.loadingIcon.color + }, + // 提示文字颜色 + textColor: { + type: String, + default: uni.$u.props.loadingIcon.textColor + }, + // 文字和图标是否垂直排列 + vertical: { + type: Boolean, + default: uni.$u.props.loadingIcon.vertical + }, + // 模式选择,circle-圆形,spinner-花朵形,semicircle-半圆形 + mode: { + type: String, + default: uni.$u.props.loadingIcon.mode + }, + // 图标大小,单位默认px + size: { + type: [String, Number], + default: uni.$u.props.loadingIcon.size + }, + // 文字大小 + textSize: { + type: [String, Number], + default: uni.$u.props.loadingIcon.textSize + }, + // 文字内容 + text: { + type: [String, Number], + default: uni.$u.props.loadingIcon.text + }, + // 动画模式 + timingFunction: { + type: String, + default: uni.$u.props.loadingIcon.timingFunction + }, + // 动画执行周期时间 + duration: { + type: [String, Number], + default: uni.$u.props.loadingIcon.duration + }, + // mode=circle时的暗边颜色 + inactiveColor: { + type: String, + default: uni.$u.props.loadingIcon.inactiveColor + } + } +} diff --git a/uni_modules/uview-ui/components/u-loading-icon/u-loading-icon.vue b/uni_modules/uview-ui/components/u-loading-icon/u-loading-icon.vue new file mode 100644 index 0000000..2ede5c3 --- /dev/null +++ b/uni_modules/uview-ui/components/u-loading-icon/u-loading-icon.vue @@ -0,0 +1,343 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-loading-page/props.js b/uni_modules/uview-ui/components/u-loading-page/props.js new file mode 100644 index 0000000..e239b61 --- /dev/null +++ b/uni_modules/uview-ui/components/u-loading-page/props.js @@ -0,0 +1,49 @@ +export default { + props: { + // 提示内容 + loadingText: { + type: [String, Number], + default: uni.$u.props.loadingPage.loadingText + }, + // 文字上方用于替换loading动画的图片 + image: { + type: String, + default: uni.$u.props.loadingPage.image + }, + // 加载动画的模式,circle-圆形,spinner-花朵形,semicircle-半圆形 + loadingMode: { + type: String, + default: uni.$u.props.loadingPage.loadingMode + }, + // 是否加载中 + loading: { + type: Boolean, + default: uni.$u.props.loadingPage.loading + }, + // 背景色 + bgColor: { + type: String, + default: uni.$u.props.loadingPage.bgColor + }, + // 文字颜色 + color: { + type: String, + default: uni.$u.props.loadingPage.color + }, + // 文字大小 + fontSize: { + type: [String, Number], + default: uni.$u.props.loadingPage.fontSize + }, + // 图标大小 + iconSize: { + type: [String, Number], + default: uni.$u.props.loadingPage.fontSize + }, + // 加载中图标的颜色,只能rgb或者十六进制颜色值 + loadingColor: { + type: String, + default: uni.$u.props.loadingPage.loadingColor + } + } +} diff --git a/uni_modules/uview-ui/components/u-loading-page/u-loading-page.vue b/uni_modules/uview-ui/components/u-loading-page/u-loading-page.vue new file mode 100644 index 0000000..03a78ad --- /dev/null +++ b/uni_modules/uview-ui/components/u-loading-page/u-loading-page.vue @@ -0,0 +1,115 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-loadmore/props.js b/uni_modules/uview-ui/components/u-loadmore/props.js new file mode 100644 index 0000000..1e67d89 --- /dev/null +++ b/uni_modules/uview-ui/components/u-loadmore/props.js @@ -0,0 +1,94 @@ +export default { + props: { + // 组件状态,loadmore-加载前的状态,loading-加载中的状态,nomore-没有更多的状态 + status: { + type: String, + default: uni.$u.props.loadmore.status + }, + // 组件背景色 + bgColor: { + type: String, + default: uni.$u.props.loadmore.bgColor + }, + // 是否显示加载中的图标 + icon: { + type: Boolean, + default: uni.$u.props.loadmore.icon + }, + // 字体大小 + fontSize: { + type: [String, Number], + default: uni.$u.props.loadmore.fontSize + }, + // 图标大小 + iconSize: { + type: [String, Number], + default: uni.$u.props.loadmore.iconSize + }, + // 字体颜色 + color: { + type: String, + default: uni.$u.props.loadmore.color + }, + // 加载中状态的图标,spinner-花朵状图标,circle-圆圈状,semicircle-半圆 + loadingIcon: { + type: String, + default: uni.$u.props.loadmore.loadingIcon + }, + // 加载前的提示语 + loadmoreText: { + type: String, + default: uni.$u.props.loadmore.loadmoreText + }, + // 加载中提示语 + loadingText: { + type: String, + default: uni.$u.props.loadmore.loadingText + }, + // 没有更多的提示语 + nomoreText: { + type: String, + default: uni.$u.props.loadmore.nomoreText + }, + // 在“没有更多”状态下,是否显示粗点 + isDot: { + type: Boolean, + default: uni.$u.props.loadmore.isDot + }, + // 加载中图标的颜色 + iconColor: { + type: String, + default: uni.$u.props.loadmore.iconColor + }, + // 上边距 + marginTop: { + type: [String, Number], + default: uni.$u.props.loadmore.marginTop + }, + // 下边距 + marginBottom: { + type: [String, Number], + default: uni.$u.props.loadmore.marginBottom + }, + // 高度,单位px + height: { + type: [String, Number], + default: uni.$u.props.loadmore.height + }, + // 是否显示左边分割线 + line: { + type: Boolean, + default: uni.$u.props.loadmore.line + }, + // 线条颜色 + lineColor: { + type: String, + default: uni.$u.props.loadmore.lineColor + }, + // 是否虚线,true-虚线,false-实线 + dashed: { + type: Boolean, + default: uni.$u.props.loadmore.dashed + } + } +} diff --git a/uni_modules/uview-ui/components/u-loadmore/u-loadmore.vue b/uni_modules/uview-ui/components/u-loadmore/u-loadmore.vue new file mode 100644 index 0000000..73c79fe --- /dev/null +++ b/uni_modules/uview-ui/components/u-loadmore/u-loadmore.vue @@ -0,0 +1,150 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-modal/props.js b/uni_modules/uview-ui/components/u-modal/props.js new file mode 100644 index 0000000..94b3078 --- /dev/null +++ b/uni_modules/uview-ui/components/u-modal/props.js @@ -0,0 +1,89 @@ +export default { + props: { + // 是否展示modal + show: { + type: Boolean, + default: uni.$u.props.modal.show + }, + // 标题 + title: { + type: [String], + default: uni.$u.props.modal.title + }, + // 弹窗内容 + content: { + type: String, + default: uni.$u.props.modal.content + }, + // 确认文案 + confirmText: { + type: String, + default: uni.$u.props.modal.confirmText + }, + // 取消文案 + cancelText: { + type: String, + default: uni.$u.props.modal.cancelText + }, + // 是否显示确认按钮 + showConfirmButton: { + type: Boolean, + default: uni.$u.props.modal.showConfirmButton + }, + // 是否显示取消按钮 + showCancelButton: { + type: Boolean, + default: uni.$u.props.modal.showCancelButton + }, + // 确认按钮颜色 + confirmColor: { + type: String, + default: uni.$u.props.modal.confirmColor + }, + // 取消文字颜色 + cancelColor: { + type: String, + default: uni.$u.props.modal.cancelColor + }, + // 对调确认和取消的位置 + buttonReverse: { + type: Boolean, + default: uni.$u.props.modal.buttonReverse + }, + // 是否开启缩放效果 + zoom: { + type: Boolean, + default: uni.$u.props.modal.zoom + }, + // 是否异步关闭,只对确定按钮有效 + asyncClose: { + type: Boolean, + default: uni.$u.props.modal.asyncClose + }, + // 是否允许点击遮罩关闭modal + closeOnClickOverlay: { + type: Boolean, + default: uni.$u.props.modal.closeOnClickOverlay + }, + // 给一个负的margin-top,往上偏移,避免和键盘重合的情况 + negativeTop: { + type: [String, Number], + default: uni.$u.props.modal.negativeTop + }, + // modal宽度,不支持百分比,可以数值,px,rpx单位 + width: { + type: [String, Number], + default: uni.$u.props.modal.width + }, + // 确认按钮的样式,circle-圆形,square-方形,如设置,将不会显示取消按钮 + confirmButtonShape: { + type: String, + default: uni.$u.props.modal.confirmButtonShape + }, + // 弹窗动画过度时间 + duration:{ + type:String | Number, + default: uni.$u.props.modal.duration + } + } +} diff --git a/uni_modules/uview-ui/components/u-modal/u-modal.vue b/uni_modules/uview-ui/components/u-modal/u-modal.vue new file mode 100644 index 0000000..72e1ed2 --- /dev/null +++ b/uni_modules/uview-ui/components/u-modal/u-modal.vue @@ -0,0 +1,228 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-navbar/props.js b/uni_modules/uview-ui/components/u-navbar/props.js new file mode 100644 index 0000000..5398de2 --- /dev/null +++ b/uni_modules/uview-ui/components/u-navbar/props.js @@ -0,0 +1,84 @@ +export default { + props: { + // 是否开启顶部安全区适配 + safeAreaInsetTop: { + type: Boolean, + default: uni.$u.props.navbar.safeAreaInsetTop + }, + // 固定在顶部时,是否生成一个等高元素,以防止塌陷 + placeholder: { + type: Boolean, + default: uni.$u.props.navbar.placeholder + }, + // 是否固定在顶部 + fixed: { + type: Boolean, + default: uni.$u.props.navbar.fixed + }, + // 是否显示下边框 + border: { + type: Boolean, + default: uni.$u.props.navbar.border + }, + // 左边的图标 + leftIcon: { + type: String, + default: uni.$u.props.navbar.leftIcon + }, + // 左边的提示文字 + leftText: { + type: String, + default: uni.$u.props.navbar.leftText + }, + // 左右的提示文字 + rightText: { + type: String, + default: uni.$u.props.navbar.rightText + }, + // 右边的图标 + rightIcon: { + type: String, + default: uni.$u.props.navbar.rightIcon + }, + // 标题 + title: { + type: [String, Number], + default: uni.$u.props.navbar.title + }, + // 背景颜色 + bgColor: { + type: String, + default: uni.$u.props.navbar.bgColor + }, + // 标题的宽度 + titleWidth: { + type: [String, Number], + default: uni.$u.props.navbar.titleWidth + }, + // 导航栏高度 + height: { + type: [String, Number], + default: uni.$u.props.navbar.height + }, + // 左侧返回图标的大小 + leftIconSize: { + type: [String, Number], + default: uni.$u.props.navbar.leftIconSize + }, + // 左侧返回图标的颜色 + leftIconColor: { + type: String, + default: uni.$u.props.navbar.leftIconColor + }, + // 点击左侧区域(返回图标),是否自动返回上一页 + autoBack: { + type: Boolean, + default: uni.$u.props.navbar.autoBack + }, + // 标题的样式,对象或字符串 + titleStyle: { + type: [String, Object], + default: uni.$u.props.navbar.titleStyle + } + } +} diff --git a/uni_modules/uview-ui/components/u-navbar/u-navbar.vue b/uni_modules/uview-ui/components/u-navbar/u-navbar.vue new file mode 100644 index 0000000..2b206b7 --- /dev/null +++ b/uni_modules/uview-ui/components/u-navbar/u-navbar.vue @@ -0,0 +1,186 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-no-network/props.js b/uni_modules/uview-ui/components/u-no-network/props.js new file mode 100644 index 0000000..9f3af62 --- /dev/null +++ b/uni_modules/uview-ui/components/u-no-network/props.js @@ -0,0 +1,19 @@ +export default { + props: { + // 页面文字提示 + tips: { + type: String, + default: uni.$u.props.noNetwork.tips + }, + // 一个z-index值,用于设置没有网络这个组件的层次,因为页面可能会有其他定位的元素层级过高,导致此组件被覆盖 + zIndex: { + type: [String, Number], + default: uni.$u.props.noNetwork.zIndex + }, + // image 没有网络的图片提示 + image: { + type: String, + default: uni.$u.props.noNetwork.image + } + } +} diff --git a/uni_modules/uview-ui/components/u-no-network/u-no-network.vue b/uni_modules/uview-ui/components/u-no-network/u-no-network.vue new file mode 100644 index 0000000..9710729 --- /dev/null +++ b/uni_modules/uview-ui/components/u-no-network/u-no-network.vue @@ -0,0 +1,220 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-notice-bar/props.js b/uni_modules/uview-ui/components/u-notice-bar/props.js new file mode 100644 index 0000000..7040c29 --- /dev/null +++ b/uni_modules/uview-ui/components/u-notice-bar/props.js @@ -0,0 +1,70 @@ +export default { + props: { + // 显示的内容,数组 + text: { + type: [Array, String], + default: uni.$u.props.noticeBar.text + }, + // 通告滚动模式,row-横向滚动,column-竖向滚动 + direction: { + type: String, + default: uni.$u.props.noticeBar.direction + }, + // direction = row时,是否使用步进形式滚动 + step: { + type: Boolean, + default: uni.$u.props.noticeBar.step + }, + // 是否显示左侧的音量图标 + icon: { + type: String, + default: uni.$u.props.noticeBar.icon + }, + // 通告模式,link-显示右箭头,closable-显示右侧关闭图标 + mode: { + type: String, + default: uni.$u.props.noticeBar.mode + }, + // 文字颜色,各图标也会使用文字颜色 + color: { + type: String, + default: uni.$u.props.noticeBar.color + }, + // 背景颜色 + bgColor: { + type: String, + default: uni.$u.props.noticeBar.bgColor + }, + // 水平滚动时的滚动速度,即每秒滚动多少px(px),这有利于控制文字无论多少时,都能有一个恒定的速度 + speed: { + type: [String, Number], + default: uni.$u.props.noticeBar.speed + }, + // 字体大小 + fontSize: { + type: [String, Number], + default: uni.$u.props.noticeBar.fontSize + }, + // 滚动一个周期的时间长,单位ms + duration: { + type: [String, Number], + default: uni.$u.props.noticeBar.duration + }, + // 是否禁止用手滑动切换 + // 目前HX2.6.11,只支持App 2.5.5+、H5 2.5.5+、支付宝小程序、字节跳动小程序 + disableTouch: { + type: Boolean, + default: uni.$u.props.noticeBar.disableTouch + }, + // 跳转的页面路径 + url: { + type: String, + default: uni.$u.props.noticeBar.url + }, + // 页面跳转的类型 + linkType: { + type: String, + default: uni.$u.props.noticeBar.linkType + } + } +} diff --git a/uni_modules/uview-ui/components/u-notice-bar/u-notice-bar.vue b/uni_modules/uview-ui/components/u-notice-bar/u-notice-bar.vue new file mode 100644 index 0000000..a06eb39 --- /dev/null +++ b/uni_modules/uview-ui/components/u-notice-bar/u-notice-bar.vue @@ -0,0 +1,101 @@ + + + + diff --git a/uni_modules/uview-ui/components/u-notify/props.js b/uni_modules/uview-ui/components/u-notify/props.js new file mode 100644 index 0000000..57a9d71 --- /dev/null +++ b/uni_modules/uview-ui/components/u-notify/props.js @@ -0,0 +1,49 @@ +export default { + props: { + // 到顶部的距离 + top: { + type: [String, Number], + default: uni.$u.props.notify.top + }, + // 是否展示组件 + // show: { + // type: Boolean, + // default: uni.$u.props.notify.show + // }, + // type主题,primary,success,warning,error + type: { + type: String, + default: uni.$u.props.notify.type + }, + // 字体颜色 + color: { + type: String, + default: uni.$u.props.notify.color + }, + // 背景颜色 + bgColor: { + type: String, + default: uni.$u.props.notify.bgColor + }, + // 展示的文字内容 + message: { + type: String, + default: uni.$u.props.notify.message + }, + // 展示时长,为0时不消失,单位ms + duration: { + type: [String, Number], + default: uni.$u.props.notify.duration + }, + // 字体大小 + fontSize: { + type: [String, Number], + default: uni.$u.props.notify.fontSize + }, + // 是否留出顶部安全距离(状态栏高度) + safeAreaInsetTop: { + type: Boolean, + default: uni.$u.props.notify.safeAreaInsetTop + } + } +} diff --git a/uni_modules/uview-ui/components/u-notify/u-notify.vue b/uni_modules/uview-ui/components/u-notify/u-notify.vue new file mode 100644 index 0000000..30adb72 --- /dev/null +++ b/uni_modules/uview-ui/components/u-notify/u-notify.vue @@ -0,0 +1,211 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-number-box/props.js b/uni_modules/uview-ui/components/u-number-box/props.js new file mode 100644 index 0000000..fb0fa94 --- /dev/null +++ b/uni_modules/uview-ui/components/u-number-box/props.js @@ -0,0 +1,109 @@ +export default { + props: { + // 步进器标识符,在change回调返回 + name: { + type: [String, Number], + default: uni.$u.props.numberBox.name + }, + // 用于双向绑定的值,初始化时设置设为默认min值(最小值) + value: { + type: [String, Number], + default: uni.$u.props.numberBox.value + }, + // 最小值 + min: { + type: [String, Number], + default: uni.$u.props.numberBox.min + }, + // 最大值 + max: { + type: [String, Number], + default: uni.$u.props.numberBox.max + }, + // 加减的步长,可为小数 + step: { + type: [String, Number], + default: uni.$u.props.numberBox.step + }, + // 是否只允许输入整数 + integer: { + type: Boolean, + default: uni.$u.props.numberBox.integer + }, + // 是否禁用,包括输入框,加减按钮 + disabled: { + type: Boolean, + default: uni.$u.props.numberBox.disabled + }, + // 是否禁用输入框 + disabledInput: { + type: Boolean, + default: uni.$u.props.numberBox.disabledInput + }, + // 是否开启异步变更,开启后需要手动控制输入值 + asyncChange: { + type: Boolean, + default: uni.$u.props.numberBox.asyncChange + }, + // 输入框宽度,单位为px + inputWidth: { + type: [String, Number], + default: uni.$u.props.numberBox.inputWidth + }, + // 是否显示减少按钮 + showMinus: { + type: Boolean, + default: uni.$u.props.numberBox.showMinus + }, + // 是否显示增加按钮 + showPlus: { + type: Boolean, + default: uni.$u.props.numberBox.showPlus + }, + // 显示的小数位数 + decimalLength: { + type: [String, Number, null], + default: uni.$u.props.numberBox.decimalLength + }, + // 是否开启长按加减手势 + longPress: { + type: Boolean, + default: uni.$u.props.numberBox.longPress + }, + // 输入框文字和加减按钮图标的颜色 + color: { + type: String, + default: uni.$u.props.numberBox.color + }, + // 按钮大小,宽高等于此值,单位px,输入框高度和此值保持一致 + buttonSize: { + type: [String, Number], + default: uni.$u.props.numberBox.buttonSize + }, + // 输入框和按钮的背景颜色 + bgColor: { + type: String, + default: uni.$u.props.numberBox.bgColor + }, + // 指定光标于键盘的距离,避免键盘遮挡输入框,单位px + cursorSpacing: { + type: [String, Number], + default: uni.$u.props.numberBox.cursorSpacing + }, + // 是否禁用增加按钮 + disablePlus: { + type: Boolean, + default: uni.$u.props.numberBox.disablePlus + }, + // 是否禁用减少按钮 + disableMinus: { + type: Boolean, + default: uni.$u.props.numberBox.disableMinus + }, + // 加减按钮图标的样式 + iconStyle: { + type: [Object, String], + default: uni.$u.props.numberBox.iconStyle + } + } +} diff --git a/uni_modules/uview-ui/components/u-number-box/u-number-box.vue b/uni_modules/uview-ui/components/u-number-box/u-number-box.vue new file mode 100644 index 0000000..69211c5 --- /dev/null +++ b/uni_modules/uview-ui/components/u-number-box/u-number-box.vue @@ -0,0 +1,416 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-number-keyboard/props.js b/uni_modules/uview-ui/components/u-number-keyboard/props.js new file mode 100644 index 0000000..5e3bf55 --- /dev/null +++ b/uni_modules/uview-ui/components/u-number-keyboard/props.js @@ -0,0 +1,19 @@ +export default { + props: { + // 键盘的类型,number-数字键盘,card-身份证键盘 + mode: { + type: String, + default: uni.$u.props.numberKeyboard.value + }, + // 是否显示键盘的"."符号 + dotDisabled: { + type: Boolean, + default: uni.$u.props.numberKeyboard.dotDisabled + }, + // 是否打乱键盘按键的顺序 + random: { + type: Boolean, + default: uni.$u.props.numberKeyboard.random + } + } +} diff --git a/uni_modules/uview-ui/components/u-number-keyboard/u-number-keyboard.vue b/uni_modules/uview-ui/components/u-number-keyboard/u-number-keyboard.vue new file mode 100644 index 0000000..4f505c6 --- /dev/null +++ b/uni_modules/uview-ui/components/u-number-keyboard/u-number-keyboard.vue @@ -0,0 +1,196 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-overlay/props.js b/uni_modules/uview-ui/components/u-overlay/props.js new file mode 100644 index 0000000..e6974df --- /dev/null +++ b/uni_modules/uview-ui/components/u-overlay/props.js @@ -0,0 +1,24 @@ +export default { + props: { + // 是否显示遮罩 + show: { + type: Boolean, + default: uni.$u.props.overlay.show + }, + // 层级z-index + zIndex: { + type: [String, Number], + default: uni.$u.props.overlay.zIndex + }, + // 遮罩的过渡时间,单位为ms + duration: { + type: [String, Number], + default: uni.$u.props.overlay.duration + }, + // 不透明度值,当做rgba的第四个参数 + opacity: { + type: [String, Number], + default: uni.$u.props.overlay.opacity + } + } +} diff --git a/uni_modules/uview-ui/components/u-overlay/u-overlay.vue b/uni_modules/uview-ui/components/u-overlay/u-overlay.vue new file mode 100644 index 0000000..92de4e9 --- /dev/null +++ b/uni_modules/uview-ui/components/u-overlay/u-overlay.vue @@ -0,0 +1,68 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-parse/node/node.vue b/uni_modules/uview-ui/components/u-parse/node/node.vue new file mode 100644 index 0000000..73e30fd --- /dev/null +++ b/uni_modules/uview-ui/components/u-parse/node/node.vue @@ -0,0 +1,499 @@ +