From c9928dd4f6d25e2339ea1400f59ec58674a927a7 Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期四, 19 六月 2025 20:07:42 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- components/uview-components/uview-ui/components/u-index-list/u-index-list.vue | 0 components/uview-components/uview-ui/libs/util/dayjs.js | 0 pages/mine/activity/reportActivity.vue | 9 components/uview-components/uview-ui/libs/config/props/rowNotice.js | 0 components/uview-components/uview-ui/libs/function/toast.js | 0 pages/mine/msgTips/main.vue | 2 pages/tabbar/home/template/tpl_goods.vue | 2 components/uview-components/uview-ui/components/u-image/u-image.vue | 0 components/uview-components/uview-ui/components/u-safe-bottom/props.js | 0 components/uview-components/uview-ui/libs/function/sys.js | 0 pages/mine/deposit/recharge.vue | 2 uni_modules/uni-popup/changelog.md | 3 main.js | 4 components/uview-components/uview-ui/components/u-count-to/props.js | 0 pages/goods-manager/addGoods/addGoods.vue | 9 components/verification/verification.vue | 2 components/uview-components/uview-ui/components/u-parse/libs/handler.wxs | 0 pages/mine/myTracks.vue | 8 components/uview-components/uview-ui/libs/util/async-validator.js | 0 pages/tabbar/home/template/tpl_left_one_right_two.vue | 2 components/uview-components/uview-ui/components/u-search/u-search.vue | 0 uni.scss | 2 pages/order/myOrder.vue | 13 components/uview-components/uview-ui/components/u-count-to/u-count-to.vue | 0 components/uview-components/uview-ui/components/u-top-tips/u-top-tips.vue | 0 pages/passport/wechatMPLogin.vue | 5 components/uview-components/uview-ui/components/u-steps-item/u-steps-item.vue | 0 components/uview-components/uview-ui/components/u-slider/props.js | 0 components/uview-components/uview-ui/libs/function/addUnit.js | 0 components/uview-components/uview-ui/components/u-scroll-list/u-scroll-list.vue | 0 components/uview-components/uview-ui/components/u-form-item/props.js | 0 components/uview-components/uview-ui/components/u-tabs-swiper/u-tabs-swiper.vue | 0 components/uview-components/uview-ui/components/u-loading/u-loading.vue | 0 components/uview-components/uview-ui/components/u-checkbox/u-checkbox.vue | 0 components/uview-components/uview-ui/components/u-steps/props.js | 0 components/uview-components/uview-ui/libs/config/props/toolbar.js | 0 components/uview-components/uview-ui/components/u-count-down/props.js | 0 components/uview-components/uview-ui/components/u-line/props.js | 0 components/uview-components/uview-ui/components/u-sticky/u-sticky.vue | 0 components/uview-components/uview-ui/components/u-slider/mpwxs.wxs | 0 components/uview-components/uview-ui/libs/config/props/link.js | 0 uni_modules/uni-drawer/changelog.md | 13 components/uview-components/uview-ui/components/u-collapse-item/u-collapse-item.vue | 0 components/uview-components/uview-ui/components/u--text/u--text.vue | 0 components/uview-components/uview-ui/components/u-slider/nvue - 副本.js | 0 components/uview-components/uview-ui/components/u-list/u-list.vue | 0 pages/mine/address/address.vue | 2 components/uview-components/uview-ui/components/u-cell/props.js | 0 components/uview-components/uview-ui/components/u-form/props.js | 0 pages/tabbar/home/template/tpl_promotions_detail.vue | 2 components/uview-components/uview-ui/libs/config/props/picker.js | 0 pages/mine/deposit/operation.vue | 2 pages/mine/set/securityCenter/securityCenter.vue | 2 components/uview-components/uview-ui/components/u-parse/u-parse.vue | 0 pages/cart/payment/shareOrderGoods.vue | 2 pages/video/video-play.vue | 433 +++ pages/commodity-square/commoditySquare.vue | 330 +++ components/uview-components/uview-ui/components/u-gap/props.js | 0 components/uview-components/uview-ui/libs/function/queryParams.js | 0 pages/passport/login.vue | 2 components/uview-components/uview-ui/libs/config/props/checkbox.js | 0 components/uview-components/uview-ui/libs/config/props/notify.js | 0 components/uview-components/uview-ui/libs/config/props/cellGroup.js | 0 components/uview-components/uview-ui/libs/util/route.js | 0 pages/tabbar/index/home.vue | 165 + components/uview-components/uview-ui/components/u-line/u-line.vue | 0 components/uview-components/uview-ui/components/u-parse/libs/trees.vue | 0 components/uview-components/uview-ui/components/u-field/u-field.vue | 0 components/uview-components/uview-ui/libs/luch-request/helpers/combineURLs.js | 0 pages/order/afterSales/afterSales.vue | 11 pages/tabbar/home/template/tpl_notice.vue | 2 components/uview-components/uview-ui/components/u-text/props.js | 0 components/uview-components/uview-ui/components/u-grid-item/props.js | 0 components/uview-components/uview-ui/libs/config/props/backtop.js | 0 components/uview-components/uview-ui/components/u-swipe-action/u-swipe-action.vue | 0 components/uview-components/uview-ui/libs/config/props/list.js | 0 components/uview-components/uview-ui/libs/config/props/scrollList.js | 0 components/uview-components/uview-ui/libs/config/props/alert.js | 0 pages/mine/msgTips/sysMsg/index.vue | 2 pages/promotion/joinGroup.vue | 2 pages/mine/distribution/list.vue | 4 api/goods.js | 49 components/uview-components/uview-ui/components/u-col/u-col.vue | 0 components/uview-components/uview-ui/libs/config/props/button.js | 0 components/uview-components/uview-ui/components/u-section/u-section.vue | 0 components/uview-components/uview-ui/components/u-verification-code/u-verification-code.vue | 0 components/uview-components/uview-ui/components/u-avatar-group/props.js | 0 components/uview-components/uview-ui/components/u-empty/u-empty.vue | 0 components/dropdown-menu.vue | 8 components/uview-components/uview-ui/libs/css/style.mp.scss | 0 components/uview-components/uview-ui/components/u-table/props.js | 0 components/uview-components/uview-ui/libs/luch-request/core/settle.js | 0 components/uview-components/uview-ui/libs/config/props/statusBar.js | 0 components/uview-components/uview-ui/components/u-form-item/u-form-item.vue | 0 pages/video/home-page.vue | 126 + pages/passport/wechatH5Login.vue | 2 components/uview-components/uview-ui/components/u-parse/parser.js | 0 components/uview-components/uview-ui/libs/config/props/slider.js | 0 components/uview-components/uview-ui/libs/css/flex.scss | 0 components/uview-components/uview-ui/components/u-avatar-group/u-avatar-group.vue | 0 uni_modules/uni-popup/package.json | 193 + components/uview-components/uview-ui/components/u--input/u--input.vue | 0 components/uview-components/uview-ui/components/u-link/u-link.vue | 0 components/uview-components/uview-ui/components/u-no-network/props.js | 0 components/uview-components/uview-ui/libs/config/props/datetimePicker.js | 0 components/uview-components/uview-ui/components/u-read-more/u-read-more.vue | 0 components/uview-components/uview-ui/libs/config/props/loadingPage.js | 0 components/uview-components/uview-ui/components/u-textarea/props.js | 0 components/uview-components/uview-ui/libs/config/props/badge.js | 0 components/uview-components/uview-ui/libs/luch-request/utils/clone.js | 0 pages/order/afterSales/afterSalesDetailExpress.vue | 2 components/uview-components/uview-ui/components/u-badge/u-badge.vue | 0 pages/order/fillorder.vue | 2 components/uview-components/uview-ui/libs/config/props/col.js | 0 pages/product/product/goods/-goods-intro.vue | 4 components/uview-components/uview-ui/libs/luch-request/helpers/buildURL.js | 0 pages/tabbar/home/template/tpl_top_two_bottom_one.vue | 2 components/uview-components/uview-ui/components/u-collapse/u-collapse.vue | 0 components/uview-components/uview-ui/libs/config/props/parse.js | 0 uni_modules/uni-transition/components/uni-transition/uni-transition.vue | 529 ++-- components/uview-components/uview-ui/components/u-upload/mixin.js | 0 pages/product/product/goods/-goods-swiper.vue | 4 components/uview-components/uview-ui/components/u-tabbar-item/u-tabbar-item.vue | 0 components/uview-components/uview-ui/libs/css/vue.scss | 0 components/uview-components/uview-ui/components/u-safe-bottom/u-safe-bottom.vue | 0 components/uview-components/uview-ui/components/u-tabs/props.js | 0 components/uview-components/uview-ui/components/u-list-item/props.js | 0 components/uview-components/uview-ui/libs/function/platform.js | 0 config/api.js | 8 components/uview-components/uview-ui/libs/config/props/numberBox.js | 0 components/uview-components/uview-ui/libs/config/props/steps.js | 0 components/uview-components/uview-ui/libs/css/color.scss | 0 components/uview-components/uview-ui/components/u-transition/u-transition.vue | 0 pages/tabbar/home/template/tpl_left_two_right_one.vue | 2 components/uview-components/uview-ui/libs/config/props/sticky.js | 0 components/uview-components/uview-ui/index.scss | 0 components/uview-components/uview-ui/libs/mixin/mixin.js | 0 components/uview-components/uview-ui/components/u-circle-progress/props.js | 0 components/uview-components/uview-ui/components/u-cell-group/props.js | 0 components/uview-components/uview-ui/libs/function/guid.js | 0 components/uview-components/uview-ui/components/u-steps/u-steps.vue | 0 pages/passport/entry/seller/step1.vue | 7 components/m-goods-list/promotion.vue | 2 components/uview-components/uview-ui/components/u-radio/u-radio.vue | 0 components/uview-components/uview-ui/libs/config/props/overlay.js | 0 components/uview-components/uview-ui/components/u-back-top/props.js | 0 components/uview-components/uview-ui/libs/config/props/navbar.js | 0 pages/goods-manager/updateSkus/updateSkus.vue | 114 + components/uview-components/uview-ui/libs/config/props/keyboard.js | 0 components/uview-components/uview-ui/components/u-tabbar/u-tabbar.vue | 0 components/uview-components/uview-ui/components/u-scroll-list/other.js | 0 components/uview-components/uview-ui/components/u-grid/props.js | 0 components/uview-components/uview-ui/libs/css/mixin.scss | 0 components/uview-components/uview-ui/libs/css/components.scss | 0 components/uview-components/uview-ui/components/u-divider/props.js | 0 uni_modules/uni-drawer/package.json | 87 components/uview-components/uview-ui/components/u-dropdown/props.js | 0 components/uview-components/uview-ui/libs/function/digit.js | 0 pages/mine/set/securityCenter/editPassword.vue | 2 pages/order/invoice/setInvoice.vue | 2 components/uview-components/uview-ui/components/u-overlay/u-overlay.vue | 0 components/uview-components/uview-ui/components/u-collapse/props.js | 0 components/uview-components/uview-ui/libs/mixin/openType.js | 0 components/uview-components/uview-ui/components/u-calendar/util.js | 0 components/uview-components/uview-ui/components/u-tabs-item/props.js | 0 components/uview-components/uview-ui/libs/luch-request/utils.js | 0 components/uview-components/uview-ui/libs/config/props/calendar.js | 0 components/m-goods-list/list.vue | 6 components/uview-components/uview-ui/components/u-checkbox-group/u-checkbox-group.vue | 0 components/uview-components/uview-ui/libs/function/bem.js | 0 components/uview-components/uview-ui/libs/luch-request/core/buildFullPath.js | 0 pages/mine/deposit/info.vue | 2 components/uview-components/uview-ui/components/u-car-keyboard/u-car-keyboard.vue | 0 components/uview-components/uview-ui/libs/request/index.js | 0 components/uview-components/uview-ui/components/u-upload/props.js | 0 components/uview-components/uview-ui/libs/config/props/search.js | 0 pages/mine/distribution/history.vue | 3 uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue | 4 components/uview-components/uview-ui/libs/css/style.components.scss | 0 components/uview-components/uview-ui/components/u-calendar/month.vue | 0 pages/promotion/seckill.vue | 2 components/uview-components/uview-ui/components/u-swipe-action-item/props.js | 0 components/custom-tabbar.vue | 4 components/uview-components/uview-ui/libs/luch-request/core/mergeConfig.js | 0 pages/tabbar/home/title.vue | 2 components/uview-components/uview-ui/libs/config/props/gridItem.js | 0 components/uview-components/uview-ui/components/u-picker-column/u-picker-column.vue | 0 components/uview-components/uview-ui/components/u-transition/transition.js | 0 components/uview-components/uview-ui/libs/mixin/button.js | 0 components/uview-components/uview-ui/components/u-swiper-indicator/u-swiper-indicator.vue | 0 components/uview-components/uview-ui/iconfont.css | 0 pages/video/video-goods-detail.vue | 100 + components/uview-components/uview-ui/components/u-form/u-form.vue | 0 components/uview-components/uview-ui/components/u-time-line/u-time-line.vue | 0 components/uview-components/uview-ui/libs/config/props/avatar.js | 0 uni_modules/uni-drawer/components/uni-drawer/keypress.js | 45 components/uview-components/uview-ui/components/u-grid/u-grid.vue | 0 components/uview-components/uview-ui/libs/function/colorGradient.js | 0 components/uview-components/uview-ui/components/u-cell-group/u-cell-group.vue | 0 components/uview-components/uview-ui/components/u-text/u-text.vue | 0 components/uview-components/uview-ui/libs/config/props/loadingIcon.js | 0 components/uview-components/uview-ui/libs/mixin/style.js | 0 pages/order/afterSales/applySuccess.vue | 2 components/uview-components/uview-ui/components/u-textarea/u-textarea.vue | 0 pages/tabbar/home/template/tpl_top_one_bottom_two.vue | 2 components/uview-components/uview-ui/components/u-lazy-load/u-lazy-load.vue | 0 pages/passport/entry/seller/step2.vue | 6 components/uview-components/uview-ui/libs/luch-request/core/InterceptorManager.js | 0 components/uview-components/uview-ui/libs/config/props/popup.js | 0 pages/promotion/bargain/detail.vue | 2 pages/promotion/lives.vue | 2 components/uview-components/uview-ui/components/u-popup/u-popup.vue | 0 components/uview-components/uview-ui/components/u-slider/nvue.js | 0 components/uview-components/uview-ui/components/u-picker/props.js | 0 components/uview-components/uview-ui/components/u-sticky/props.js | 0 components/uview-components/uview-ui/package.json | 0 components/uview-components/uview-ui/components/u-transition/vue.ani-style.scss | 0 pages/mine/address/add.vue | 11 pages/mine/myCollect/myCollect.vue | 8 components/uview-components/uview-ui/components/u-input/u-input.vue | 0 pages/product/product/promotion/-promotion-assemble-list.vue | 5 components/uview-components/uview-ui/components/u-button/u-button.vue | 0 components/uview-components/uview-ui/libs/config/props/skeleton.js | 0 components/uview-components/uview-ui/components/u-index-anchor/props.js | 0 components/uview-components/uview-ui/libs/config/color.js | 0 components/uview-components/uview-ui/components/u-waterfall/u-waterfall.vue | 0 components/uview-components/uview-ui/libs/function/color.js | 0 pages/product/shopPageGoods.vue | 2 components/uview-components/uview-ui/libs/util/calendar.js | 0 components/uview-components/uview-ui/components/u-upload/u-upload.vue | 0 pages/mine/set/securityCenter/bindMobile.vue | 2 uni_modules/uni-transition/changelog.md | 2 components/uview-components/uview-ui/components/u-swipe-action-item/nvue - backup.js | 0 components/uview-components/uview-ui/libs/config/props/switch.js | 0 components/uview-components/uview-ui/components/u-tabbar/props.js | 0 components/uview-components/uview-ui/libs/config/props/tabbar.js | 0 components/uview-components/uview-ui/components/u-tabs/u-tabs.vue | 0 components/uview-components/uview-ui/components/u-album/props.js | 0 pages/tabbar/video/video.vue | 176 + components/uview-components/uview-ui/components/u-upload/utils.js | 0 pages/tabbar/category/category.vue | 5 components/uview-components/uview-ui/libs/luch-request/core/Request.js | 0 pages/order/complain/complainList.vue | 7 components/uview-components/uview-ui/libs/config/props/input.js | 0 components/uview-components/uview-ui/components/u-keyboard/u-keyboard.vue | 0 components/uview-components/uview-ui/libs/mixin/touch.js | 0 components/uview-components/uview-ui/libs/config/props/radio.js | 0 components/uview-components/uview-ui/components/u-index-item/props.js | 0 components/uview-components/uview-ui/components/u-code/props.js | 0 components/uview-components/uview-ui/components/u-tooltip/clipboard.min.js | 0 pages/goods-manager/goodsList/goodsList.vue | 128 + components/uview-components/uview-ui/components/u-swipe-action-item/u-swipe-action-item.vue | 0 components/uview-components/uview-ui/libs/config/props/gap.js | 0 pages/mine/set/feedBack.vue | 4 components/uview-components/uview-ui/components/u-switch/props.js | 0 components/uview-components/uview-ui/components/u-calendar/u-calendar.vue | 0 pages/product/shopPage.vue | 2 components/uview-components/uview-ui/components/u-link/props.js | 0 components/uview-components/uview-ui/components/u-parse/props.js | 0 components/uview-components/uview-ui/components/u-tooltip/props.js | 0 components/uview-components/uview-ui/libs/css/mp.scss | 0 pages/product/comment.vue | 2 components/uview-components/uview-ui/libs/util/area.js | 0 pages/tabbar/home/template/tpl_text_picture.vue | 2 components/uview-components/uview-ui/components/u-loading-icon/props.js | 0 components/uview-components/uview-ui/libs/config/zIndex.js | 0 components/uview-components/uview-ui/libs/function/timeFormat.js | 0 pages/mine/distribution/home.vue | 3 components/uview-components/uview-ui/libs/config/props/indexAnchor.js | 0 components/uview-components/uview-ui/components/u-index-list/props.js | 0 pages/tabbar/home/template/tpl_flex_two.vue | 5 components/uview-components/uview-ui/components/u-number-box/props.js | 0 pages/cart/coupon/index.vue | 2 pages/tabbar/special/special.vue | 2 pages/mine/address/addressManage.vue | 6 pages/mine/distribution/join.vue | 7 pages/tabbar/home/views.vue | 2 components/uview-components/uview-ui/components/u-grid-item/u-grid-item.vue | 0 components/uview-components/uview-ui/libs/config/props/lineProgress.js | 0 components/uview-components/uview-ui/components/u-scroll-list/props.js | 0 components/uview-components/uview-ui/LICENSE | 0 components/uview-components/uview-ui/components/u-tabbar-item/props.js | 0 pages/order/afterSales/afterSalesSelect.vue | 2 components/uview-components/uview-ui/libs/config/props/countTo.js | 0 components/uview-components/uview-ui/libs/store/index.js | 0 pages/order/evaluate/evaluateDetail.vue | 2 components/uview-components/uview-ui/libs/function/index.js | 0 components/uview-components/uview-ui/components/u-code-input/props.js | 0 components/uview-components/uview-ui/components/u--textarea/u--textarea.vue | 0 pages/product/product/promotion/-promotion-details.vue | 3 components/uview-components/uview-ui/components/u-modal/u-modal.vue | 0 components/uview-components/uview-ui/components/u-dropdown-item/props.js | 0 components/uview-components/uview-ui/components/u-list/props.js | 0 components/uview-components/uview-ui/components/u-scroll-list/scrollWxs.wxs | 0 pages/passport/entry/seller/control.vue | 5 components/uview-components/uview-ui/components/u-checkbox-group/props.js | 0 components/uview-components/uview-ui/components/u-gap/u-gap.vue | 0 components/uview-components/uview-ui/components/u-count-down/utils.js | 0 pages/order/invoice/invoiceDetail.vue | 2 components/uview-components/uview-ui/libs/config/props/divider.js | 0 components/uview-components/uview-ui/components/u-badge/props.js | 0 components/uview-components/uview-ui/libs/config/props/modal.js | 0 pages/promotion/bargain/list.vue | 2 components/uview-components/uview-ui/components/u-car-keyboard/props.js | 0 pages/order/orderDetail.vue | 2 components/uview-components/uview-ui/components/u-parse/libs/CssHandler.js | 0 components/uview-components/uview-ui/components/u-empty/props.js | 0 components/uview-components/uview-ui/components/u-navbar/props.js | 0 api/connect.js | 13 components/uview-components/uview-ui/components/u-rate/props.js | 0 components/uview-components/uview-ui/libs/function/$parent.js | 0 pages/mine/set/personMsg.vue | 9 components/uview-components/uview-ui/components/u-alert/u-alert.vue | 0 pages/product/product/promotion/-promotion-assemble-promotions.vue | 4 components/uview-components/uview-ui/components/u-read-more/props.js | 0 components/uview-components/uview-ui/components/u-subsection/props.js | 0 pages/mine/set/setUp.vue | 6 components/uview-components/uview-ui/libs/config/props/section.js | 0 components/uview-components/uview-ui/components/u-swipe-action-item/nvue.js | 0 pages/mine/deposit/withdrawal.vue | 2 components/uview-components/uview-ui/libs/function/route.js | 0 components/uview-components/uview-ui/libs/config/props/numberKeyboard.js | 0 pages/mine/signIn.vue | 4 components/uview-components/uview-ui/components/u-line-progress/u-line-progress.vue | 0 pages/order/afterSales/applyDetail.vue | 2 pages/mine/msgTips/packageMsg/index.vue | 2 components/uview-components/uview-ui/libs/function/timeFrom.js | 0 components/uview-components/uview-ui/components/u-calendar/props.js | 0 components/uview-components/uview-ui/components/u-mask/u-mask.vue | 0 components/uview-components/uview-ui/components/u-tr/u-tr.vue | 0 components/uview-components/uview-ui/libs/luch-request/core/defaults.js | 0 pages/product/shopList.vue | 2 components/uview-components/uview-ui/components/u-index-anchor/u-index-anchor.vue | 0 pages/mine/deposit/index.vue | 2 pages/tabbar/home/template/tpl_flex_four.vue | 2 components/uview-components/uview-ui/components/u-slider/u-slider.vue | 0 pages/tabbar/home/template/tpl_flex_five.vue | 2 components/uview-components/uview-ui/libs/config/props/form.js | 0 components/uview-components/uview-ui/components/u-picker-column/props.js | 0 components/uview-components/uview-ui/libs/config/props/codeInput.js | 0 components/uview-components/uview-ui/libs/config/props/stepsItem.js | 0 components/uview-components/uview-ui/components/u-swiper-indicator/props.js | 0 components/uview-components/uview-ui/libs/config/props/columnNotice.js | 0 components/uview-components/uview-ui/components/u-subsection/u-subsection.vue | 0 components/uview-components/uview-ui/components/u-text/value.js | 0 api/video.js | 54 pages/promotion/bargain/log.vue | 4 components/uview-components/uview-ui/components/u-icon/icons.js | 0 components/uview-components/uview-ui/components/u-select/u-select.vue | 0 components/uview-components/uview-ui/components/u-loading-page/u-loading-page.vue | 0 components/uview-components/uview-ui/libs/config/props/loadmore.js | 0 pages/mine/im/index.vue | 2 components/uview-components/uview-ui/components/u-cell-item/u-cell-item.vue | 0 components/uview-components/uview-ui/components/u-notice-bar/props.js | 0 components/uview-components/uview-ui/libs/config/props/radioGroup.js | 0 pages/mine/set/securityCenter/faceLogin.vue | 2 components/uview-components/uview-ui/components/u-radio/props.js | 0 components/uview-components/uview-ui/components/u-album/u-album.vue | 0 components/uview-components/uview-ui/components/u--form/u--form.vue | 0 components/uview-components/uview-ui/libs/config/props/readMore.js | 0 pages/mine/set/securityCenter/fingerLogin.vue | 2 components/uview-components/uview-ui/components/u-button/nvue.scss | 0 pages/tabbar/home/template/tpl_search.vue | 2 pages/passport/entry/seller/step3.vue | 8 pages/product/product/popup/address.vue | 5 components/uview-components/uview-ui/libs/config/props/carKeyboard.js | 0 components/uview-components/uview-ui/components/u-loading-page/props.js | 0 components/uview-components/uview-ui/libs/config/props/collapse.js | 0 pages/order/evaluate/myEvaluate.vue | 7 components/uview-components/uview-ui/components/u-collapse-item/props.js | 0 components/m-share/index.vue | 6 pages/mine/point/myPoint.vue | 4 components/popups/popups.vue | 4 components/uview-components/uview-ui/components/u-datetime-picker/props.js | 0 components/uview-components/uview-ui/components/u-tooltip/u-tooltip.vue | 0 components/uview-components/uview-ui/components/u-button/vue.scss | 0 components/uview-components/uview-ui/components/u-line-progress/props.js | 0 components/uview-components/uview-ui/components/u-avatar-cropper/u-avatar-cropper.vue | 0 components/uview-components/uview-ui/components/u-radio-group/props.js | 0 components/uview-components/uview-ui/libs/config/props/grid.js | 0 components/uview-components/uview-ui/libs/config/props/line.js | 0 components/uview-components/uview-ui/libs/config/props/swipeActionItem.js | 0 components/uview-components/uview-ui/components/u-no-network/u-no-network.vue | 0 components/uview-components/uview-ui/components/u-time-line-item/u-time-line-item.vue | 0 pages/mine/help/tips.vue | 4 components/uview-components/uview-ui/components/u-dropdown-item/u-dropdown-item.vue | 0 pages/promotion/point/detail.vue | 2 components/uview-components/uview-ui/libs/function/getParent.js | 0 components/m-search-revision/m-search-revision.vue | 3 pages/product/goods.vue | 40 components/uview-components/uview-ui/libs/css/style.nvue.scss | 0 pages/mine/msgTips/serviceMsg/index.vue | 2 pages/product/askList.vue | 2 components/uview-components/uview-ui/libs/config/props/swiper.js | 0 components/uview-components/uview-ui/components/u-code-input/u-code-input.vue | 0 components/uview-components/uview-ui/components/u-circle-progress/u-circle-progress.vue | 0 components/uview-components/uview-ui/libs/css/nvue.scss | 0 components/uview-components/uview-ui/components/u-row-notice/props.js | 0 components/uview-components/uview-ui/libs/config/props/upload.js | 0 components/uview-components/uview-ui/libs/config/props/textarea.js | 0 components/uview-components/uview-ui/components/u-card/u-card.vue | 0 pages/mine/msgTips/packageMsg/logisticsDetail.vue | 2 components/uview-components/uview-ui/components/u-cell/u-cell.vue | 0 components/uview-components/uview-ui/components/u-list-item/u-list-item.vue | 0 pages/cart/coupon/couponCenter.vue | 3 api/share.js | 36 components/uview-components/uview-ui/components/u-search/props.js | 0 components/uview-components/pages/empty-page/empty-page.vue | 0 components/uview-components/uview-ui/libs/config/props/collapseItem.js | 0 uni_modules/uni-drawer/readme.md | 10 components/uview-components/uview-ui/libs/function/throttle.js | 0 components/uview-components/uview-ui/components/u-number-keyboard/u-number-keyboard.vue | 0 components/uview-components/uview-ui/components/u-datetime-picker/u-datetime-picker.vue | 0 pages/order/complain/complain.vue | 2 components/uview-components/uview-ui/components/u-swipe-action-item/index.wxs | 0 components/uview-components/uview-ui/libs/config/props/subsection.js | 0 components/uview-components/uview-ui/components/u-popup/props.js | 0 components/uview-components/uview-ui/components/u-swipe-action/props.js | 0 components/uview-components/uview-ui/components/u-switch/u-switch.vue | 0 components/uview-components/uview-ui/libs/config/props/empty.js | 0 components/uview-components/uview-ui/libs/config/props/noticeBar.js | 0 components/uview-components/uview-ui/components/u-transition/nvue.ani-map.js | 0 components/uview-components/uview-ui/components/u-modal/props.js | 0 components/uview-components/uview-ui/components/u-navbar/u-navbar.vue | 0 components/uview-components/uview-ui/components/u-parse/node/node.vue | 0 components/uview-components/uview-ui/components/u-loading-icon/u-loading-icon.vue | 0 components/uview-components/uview-ui/components/u-calendar/header.vue | 0 components/uview-components/uview-ui/libs/config/props/formItem.js | 0 components/uview-components/uview-ui/libs/config/props/listItem.js | 0 components/uview-components/uview-ui/libs/function/randomArray.js | 0 components/uview-components/uview-ui/libs/luch-request/index.js | 0 pages/cart/payment/payOrder.vue | 2 components/uview-components/uview-ui/components/u-swiper/props.js | 0 pages/order/afterSales/applyProgress.vue | 2 components/uview-components/uview-ui/libs/config/props/rate.js | 0 components/uview-components/uview-ui/components/u-avatar/props.js | 0 components/uview-components/uview-ui/libs/config/props/checkboxGroup.js | 0 components/uview-components/uview-ui/components/u-input/props.js | 0 components/uview-components/uview-ui/libs/function/type2icon.js | 0 pages/product/product/shop/-shop.vue | 3 components/uview-components/uview-ui/components/u-swipe-action-item/index - backup.wxs | 0 manifest.json | 2 components/uview-components/uview-ui/components/u-column-notice/u-column-notice.vue | 0 components/uview-components/uview-ui/components/u-loadmore/u-loadmore.vue | 0 components/uview-components/uview-ui/libs/config/props/tag.js | 0 components/uview-components/uview-ui/theme.scss | 0 components/uview-components/uview-ui/components/u-row-notice/u-row-notice.vue | 0 components/uview-components/uview-ui/components/u-toast/u-toast.vue | 0 pages/cart/coupon/myCoupon.vue | 4 components/uview-components/uview-ui/libs/config/props/avatarGroup.js | 0 components/uview-components/uview-ui/components/u-back-top/u-back-top.vue | 0 pages/mine/myCollect.vue | 8 pages/passport/scannerCodeLoginConfirm.vue | 2 components/uview-components/uview-ui/libs/config/props/circleProgress.js | 0 components/uview-components/uview-ui/components/u-scroll-list/nvue.js | 0 pages/product/licencePhoto.vue | 2 pages/tabbar/home/template/tpl_flex_three.vue | 2 pages/order/complain/complainInfo.vue | 2 pages/promotion/point/pointList.vue | 2 components/uview-components/uview-ui/components/u-image/props.js | 0 components/uview-components/uview-ui/components/u-row/props.js | 0 pages/passport/article.vue | 2 components/uview-components/uview-ui/components/u-slider/mpother.js | 0 components/uview-components/uview-ui/libs/css/style.h5.scss | 0 components/uview-components/uview-ui/libs/function/random.js | 0 components/uview-components/uview-ui/libs/function/deepClone.js | 0 pages/order/afterSales/afterSalesDetail.vue | 2 components/uview-components/uview-ui/components/u-tabs-item/u-tabs-item.vue | 0 components/uview-components/uview-ui/components/u-transition/props.js | 0 components/uview-components/uview-ui/components/u-alert/props.js | 0 components/uview-components/uview-ui/components/u-radio-group/u-radio-group.vue | 0 components/uview-components/uview-ui/libs/config/props/image.js | 0 pages/tabbar/home/template/fetch_coupon.vue | 2 components/uview-components/uview-ui/README.md | 0 components/uview-components/uview-ui/components/u-picker/u-picker.vue | 0 components/uview-components/uview-ui/libs/function/md5.js | 0 pages/tabbar/home/template/tpl_menu.vue | 2 components/uview-components/uview-ui/components/u-dropdown-list/u-dropdown-list.vue | 0 components/uview-components/uview-ui/components/u-button/props.js | 0 pages/product/product/evaluation/-evaluation.vue | 5 pages/health/healthVideo.vue | 1246 +++++++++++++ components/uview-components/uview-ui/components/u-tag/props.js | 0 components/uview-components/uview-ui/components/u-parse/libs/config.js | 0 components/uview-components/uview-ui/components/u-loadmore/props.js | 0 components/m-take-down-sale-goods/index.vue | 4 components/uview-components/uview-ui/components/u--image/u--image.vue | 0 components/uview-components/uview-ui/components/u-tag/u-tag.vue | 0 components/uview-components/uview-ui/components/u-checkbox/props.js | 0 components/uview-components/uview-ui/components/u-toolbar/props.js | 0 components/uview-components/uview-ui/components/u-notify/u-notify.vue | 0 components/uview-components/uview-ui/libs/config/props.js | 0 components/uview-components/uview-ui/libs/mixin/mpMixin.js | 0 components/uview-components/uview-ui/components/u-column-notice/props.js | 0 components/uview-components/uview-ui/libs/config/props/tabs.js | 0 components/uview-components/uview-ui/components/u-message-input/u-message-input.vue | 0 pages/navigation/search/searchPage.vue | 7 components/uview-components/uview-ui/libs/config/props/code.js | 0 components/uview-components/uview-ui/components/u-avatar-cropper/weCropper.js | 0 components/uview-components/uview-ui/libs/config/props/swipterIndicator.js | 0 components/uview-components/uview-ui/libs/luch-request/core/dispatchRequest.js | 0 components/uview-components/uview-ui/components/u-avatar/u-avatar.vue | 0 components/uview-components/uview-ui/components/u-full-screen/u-full-screen.vue | 0 pages/tabbar/home/template/tpl_flex_one.vue | 2 components/uview-components/uview-ui/components/u-skeleton/u-skeleton.vue | 0 components/uview-components/uview-ui/libs/config/props/transition.js | 0 components/uview-components/uview-ui/components/u-index-item/u-index-item.vue | 0 components/uview-components/uview-ui/components/u-toolbar/u-toolbar.vue | 0 components/uview-components/uview-ui/components/u-number-keyboard/props.js | 0 components/uview-components/uview-ui/components/u-rate/u-rate.vue | 0 components/uview-components/uview-ui/components/u-count-down/u-count-down.vue | 0 components/uview-components/uview-ui/libs/util/province.js | 0 pages/mine/distribution/auth.vue | 6 components/uview-components/uview-ui/libs/config/props/text.js | 0 components/uview-components/uview-ui/libs/function/debounce.js | 0 components/uview-components/uview-ui/libs/css/common.scss | 0 components/uview-components/uview-ui/components/u-icon/props.js | 0 uni_modules/uni-transition/package.json | 117 components/uview-components/uview-ui/libs/config/props/countDown.js | 0 components/uview-components/uview-ui/components/u-code/u-code.vue | 0 components/uview-components/uview-ui/components/uview-ui/uview-ui.vue | 0 components/uview-components/uview-ui/components/u-col/props.js | 0 components/uview-components/uview-ui/libs/config/props/tooltip.js | 0 components/uview-components/uview-ui/libs/luch-request/index.d.ts | 0 components/uview-components/uview-ui/components/u-action-sheet/props.js | 0 components/uview-components/uview-ui/components/u-keyboard/props.js | 0 components/uview-components/uview-ui/components/u-notify/props.js | 0 components/uview-components/uview-ui/components/u-overlay/props.js | 0 components/uview-components/uview-ui/components/u-slider/mpwxs.js | 0 pages/video/video-edit.vue | 507 +++- pages/mine/set/versionFunctionList.vue | 2 components/uview-components/uview-ui/components/u-status-bar/u-status-bar.vue | 0 components/uview-components/uview-ui/components/u-number-box/u-number-box.vue | 0 pages/tabbar/cart/cartList.vue | 12 components/uview-components/uview-ui/components/u-td/props.js | 0 components/uview-components/uview-ui/libs/config/props/noNetwork.js | 0 components/uview-components/uview-ui/libs/config/props/tabbarItem.js | 0 components/uview-components/uview-ui/components/u-alert-tips/u-alert-tips.vue | 0 components/uview-components/uview-ui/components/u-dropdown/u-dropdown.vue | 0 components/uview-components/uview-ui/components/u-table/u-table.vue | 0 pages/tabbar/home/template/tpl_banner.vue | 2 components/uview-components/uview-ui/libs/config/props/indexList.js | 0 components/uview-components/uview-ui/libs/luch-request/adapters/index.js | 0 pages.json | 143 + components/uview-components/uview-ui/libs/config/props/cell.js | 0 components/uview-components/uview-ui/libs/luch-request/helpers/isAbsoluteURL.js | 0 components/uview-components/uview-ui/components/u-skeleton/props.js | 0 components/uview-components/uview-ui/libs/config/config.js | 0 pages/mine/distribution/withdrawal.vue | 3 pages/promotion/point/user.vue | 2 components/uview-components/uview-ui/components/u-steps-item/props.js | 0 components/uview-components/uview-ui/libs/function/test.js | 0 pages/mine/address/storeAddress.vue | 2 pages/tabbar/user/my.vue | 6 components/uview-components/uview-ui/components/u-divider/u-divider.vue | 0 components/uview-components/uview-ui/libs/config/props/album.js | 0 components/uview-components/uview-ui/components/u-action-sheet/u-action-sheet.vue | 0 components/uview-components/uview-ui/components/u-row/u-row.vue | 0 components/uview-components/uview-ui/libs/function/trim.js | 0 components/uview-components/uview-ui/components/u-parse/libs/MpHtmlParser.js | 0 components/uview-components/uview-ui/libs/function/deepMerge.js | 0 components/uview-components/uview-ui/libs/util/city.js | 0 components/uview-components/uview-ui/components/u-td/u-td.vue | 0 App.vue | 8 components/uview-components/uview-ui/components/u-tr/props.js | 0 components/uview-components/uview-ui/libs/config/props/icon.js | 0 components/uview-components/uview-ui/index.js | 0 components/uview-components/uview-ui/components/u-notice-bar/u-notice-bar.vue | 0 components/uview-components/uview-ui/libs/config/props/row.js | 0 pages/passport/entry/seller/index.vue | 3 components/uview-components/uview-ui/libs/config/props/actionSheet.js | 0 components/uview-components/uview-ui/libs/config/props/toast.js | 0 uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue | 183 + components/uview-components/uview-ui/libs/util/emitter.js | 0 pages/mine/set/editionIntro.vue | 4 components/uview-components/uview-ui/components/u-status-bar/props.js | 0 components/uview-components/uview-ui/libs/mixin/mpShare.js | 0 components/uview-components/uview-ui/components/u-th/u-th.vue | 0 components/uview-components/uview-ui/components/u-icon/u-icon.vue | 0 components/uview-components/uview-ui/libs/css/h5.scss | 0 pages/order/evaluate/releaseEvaluate.vue | 2 components/uview-components/uview-ui/components/u-swiper/u-swiper.vue | 0 pages/mine/im/list.vue | 2 /dev/null | 144 - components/uview-components/uview-ui/libs/config/props/swipeAction.js | 0 components/m-canvas/index.vue | 2 components/uview-components/uview-ui/components/u-swipe-action-item/wxs.js | 0 components/uview-components/uview-ui/libs/css/style.vue.scss | 0 components/m-buy/goods.vue | 4 components/uview-components/uview-ui/changelog.md | 0 589 files changed, 4,170 insertions(+), 1,308 deletions(-) diff --git a/App.vue b/App.vue index a2d5c1e..d173efb 100644 --- a/App.vue +++ b/App.vue @@ -223,7 +223,7 @@ </script> <style lang="scss"> - @import '@/uview-components/uview-ui/index.scss'; + @import '@/components/uview-components/uview-ui/index.scss'; // -------閫傞厤搴曢儴瀹夊叏鍖� 鑻规灉x绯诲垪鍒樻捣灞� @@ -255,9 +255,9 @@ @font-face { font-family: 'iconfont'; /* Project id 4921691 */ src: - url('//at.alicdn.com/t/c/font_4921691_nm6or3sic2.woff2?t=1748867592712') format('woff2'), - url('//at.alicdn.com/t/c/font_4921691_nm6or3sic2.woff?t=1748867592712') format('woff'), - url('//at.alicdn.com/t/c/font_4921691_nm6or3sic2.ttf?t=1748867592712') format('truetype'); + url('//at.alicdn.com/t/c/font_4921691_3vdxatwdwe9.woff2?t=1750062394172') format('woff2'), + url('//at.alicdn.com/t/c/font_4921691_3vdxatwdwe9.woff?t=1750062394172') format('woff'), + url('//at.alicdn.com/t/c/font_4921691_3vdxatwdwe9.ttf?t=1750062394172') format('truetype'); } .iconfont { /* font-family闇�瑕佸拰鑷畾涔夌殑鐩稿悓 */ diff --git a/api/connect.js b/api/connect.js index 6fe5e98..1dbdb5a 100644 --- a/api/connect.js +++ b/api/connect.js @@ -59,3 +59,16 @@ params }); } + + +/** + * 灏忕▼搴忛潤榛樼櫥褰� + * @param params + */ +export function silentLogin(params) { + return http.request({ + url: 'passport/connect/miniProgram/silent-login', + method: Method.GET, + params + }); +} diff --git a/api/goods.js b/api/goods.js index 8d33982..16a6fd8 100644 --- a/api/goods.js +++ b/api/goods.js @@ -64,6 +64,19 @@ } /** + * 鍙戝竷瑙嗛鍏宠仈鍟嗗搧-鑾峰彇鍟嗗搧鍒楄〃 + * @param params + * @returns {AxiosPromise} + */ +export function getVideoGoodsList(params) { + return http.request({ + url: "/goods/goods/video/es", + method: Method.GET, + params, + }); +} + +/** * 鑾峰彇涓婃柊鍟嗗搧鍒楄〃 * @param params * @returns {AxiosPromise} @@ -303,3 +316,39 @@ }) } +export function upGoods(params) { + return http.request({ + url: api.store + `/goods/goods/up`, + needToken: true, + method: Method.PUT, + params: params + }) +} +export function lowGoods(params) { + return http.request({ + url: api.store + `/goods/goods/under`, + needToken: true, + method: Method.PUT, + params: params + }) +} +export function getGoodsSkuData(params) { + return http.request({ + url: api.store + '/goods/goods/sku/list', + needToken: true, + method: Method.GET, + params: params + }) +} + + +export function updateStocks(params) { + return http.request({ + url: api.store + `/goods/goods/update/stocks`, + needToken: true, + method: Method.PUT, + header: { "content-type": "application/json" }, + data: params + }) +} + diff --git a/api/share.js b/api/share.js new file mode 100644 index 0000000..3e3dd77 --- /dev/null +++ b/api/share.js @@ -0,0 +1,36 @@ +/** + * 鍒嗕韩鐩稿叧API + */ + +import { http, Method } from "@/utils/request.js"; + + + + +/** + * 淇濆瓨鍒嗕韩 + * + * @param data + */ + export function saveShare(data) { + return http.request({ + url: "/lmk/share", + method: Method.POST, + needToken: true, + data: data + }); +} + +/** + * 淇濆瓨鍒嗕韩鐐瑰嚮璁板綍 + * + * @param data + */ + export function saveShareClickRecord(data) { + return http.request({ + url: "/lmk/share/click/record", + method: Method.POST, + needToken: true, + data: data + }); +} diff --git a/api/video.js b/api/video.js index 4d5e90d..eaa231d 100644 --- a/api/video.js +++ b/api/video.js @@ -36,6 +36,19 @@ } /** + * 鑾峰彇瑙嗛鎮寕鍟嗗搧 + * + * @param videoId + */ + export function getGoodsDetail(videoId) { + return http.request({ + url: "/lmk/video/goods/detail/" + videoId, + method: Method.GET, + needToken: true + }); +} + +/** * 淇濆瓨瑙嗛鎾斁璁板綍 * * @param params @@ -143,4 +156,45 @@ method: Method.GET, needToken: true }); +} + + +/** + * 鍒犻櫎瑙嗛 + * + * @param params + */ + export function delVideo(id) { + return http.request({ + url: "/lmk/video/" + id, + method: Method.DELETE, + needToken: true + }); +} + +/** + * 淇敼瑙嗛 + * + * @param params + */ + export function updateVideo(data) { + return http.request({ + url: "/lmk/video", + method: Method.PUT, + needToken: true, + data: data + }); +} + +/** + * 鐢ㄦ埛涓嬫灦瑙嗛 + * + * @param params + */ + export function userDownVideo(id) { + return http.request({ + url: "/lmk/video/down/" + id, + method: Method.POST, + needToken: true + }); } \ No newline at end of file diff --git a/components/custom-tabbar.vue b/components/custom-tabbar.vue index 5d2cf8b..75aec2e 100644 --- a/components/custom-tabbar.vue +++ b/components/custom-tabbar.vue @@ -47,7 +47,9 @@ "key": 'index' }, { - "pagePath": "/pages/tabbar/category/category", + // "pagePath": "/pages/tabbar/category/category", + "pagePath": "/pages/commodity-square/commoditySquare", + "iconPath": "/static/tabbar/category.png", "selectedIconPath": "/static/tabbar/category-s.png", "text": "鍟嗗煄", diff --git a/components/dropdown-menu.vue b/components/dropdown-menu.vue index 6dee7c9..24b7d60 100644 --- a/components/dropdown-menu.vue +++ b/components/dropdown-menu.vue @@ -40,6 +40,10 @@ export default { name: 'DropdownMenu', props: { + // 涓氬姟鏁版嵁锛岄�変腑鑿滃崟鍚庝竴鍚岃繑鍥� + data: { + type: Object + }, // 閫夐」鍒楄〃 options: { type: Array, @@ -103,7 +107,7 @@ // 鏍规嵁閰嶇疆杩斿洖鏁翠釜瀵硅薄鎴杤alue鍊� const emitValue = typeof item === 'object' ? item[this.valueKey] : item this.$emit('input', emitValue) - this.$emit('change', emitValue) + this.$emit('change', emitValue, this.data) } } } @@ -149,7 +153,7 @@ .dropdown-menu { position: absolute; - left: 0; + left: -50rpx; display: inline-block; white-space: nowrap; background-color: #fff; diff --git a/components/m-buy/goods.vue b/components/m-buy/goods.vue index 75ee113..7217bbb 100644 --- a/components/m-buy/goods.vue +++ b/components/m-buy/goods.vue @@ -112,9 +112,7 @@ </div> </template> <script> -import UPopup from '@/uview-components/uview-ui/components/u-popup/u-popup.vue'; -import UImage from '@/uview-components/uview-ui/components/u-image/u-image.vue'; -import UAlertTips from '@/uview-components/uview-ui/components/u-alert-tips/u-alert-tips.vue'; +import '@/components/uview-components/uview-ui'; import * as API_trade from '@/api/trade.js'; import setup from './popup'; diff --git a/components/m-canvas/index.vue b/components/m-canvas/index.vue index 6d6161b..a712294 100644 --- a/components/m-canvas/index.vue +++ b/components/m-canvas/index.vue @@ -18,7 +18,7 @@ </div> </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' // 寮曞叆缁樺埗鎻掍欢 import DrawPoster from "@/js_sdk/u-draw-poster"; diff --git a/components/m-goods-list/list.vue b/components/m-goods-list/list.vue index 632c690..995afee 100644 --- a/components/m-goods-list/list.vue +++ b/components/m-goods-list/list.vue @@ -101,14 +101,10 @@ </template> <script> - import UIcon from '@/uview-components/uview-ui/components/u-icon/u-icon.vue'; - import UImage from '@/uview-components/uview-ui/components/u-image/u-image.vue'; - import ULoading from '@/uview-components/uview-ui/components/u-loading/u-loading.vue'; - import UTag from '@/uview-components/uview-ui/components/u-tag/u-tag.vue'; + import '@/components/uview-components/uview-ui'; import commonTpl from '@/components/m-goods-list/common' export default { - components: {UIcon,UImage,ULoading,UTag}, data() { return { lightColor: this.$mainColor diff --git a/components/m-goods-list/promotion.vue b/components/m-goods-list/promotion.vue index c426f80..5134dc9 100644 --- a/components/m-goods-list/promotion.vue +++ b/components/m-goods-list/promotion.vue @@ -44,7 +44,7 @@ </template> <script> - import '@/uview-components/uview-ui' + import '@/components/uview-components/uview-ui' import commonTpl from '@/components/m-goods-list/common' export default { data() { diff --git a/components/m-search-revision/m-search-revision.vue b/components/m-search-revision/m-search-revision.vue index 08095ef..4589401 100644 --- a/components/m-search-revision/m-search-revision.vue +++ b/components/m-search-revision/m-search-revision.vue @@ -29,10 +29,9 @@ </template> <script> -import UIcon from '@/uview-components/uview-ui/components/u-icon/u-icon.vue'; +import '@/components/uview-components/uview-ui'; export default { - components: {UIcon}, props: { mode: { value: Number, diff --git a/components/m-share/index.vue b/components/m-share/index.vue index 3592c7c..e181d43 100644 --- a/components/m-share/index.vue +++ b/components/m-share/index.vue @@ -29,15 +29,13 @@ </u-popup> </template> <script> -import UIcon from '@/uview-components/uview-ui/components/u-icon/u-icon.vue'; -import UPopup from '@/uview-components/uview-ui/components/u-popup/u-popup.vue'; +import '@/components/uview-components/uview-ui'; import { h5Copy } from "@/js_sdk/h5-copy/h5-copy.js"; import configs from "@/config/config"; -import mpShare from "@/uview-components/uview-ui/index.js"; +import mpShare from "@/components/uview-components/uview-ui/index.js"; export default { - components: {UIcon,UPopup}, mixins: [mpShare], data() { return { diff --git a/components/m-take-down-sale-goods/index.vue b/components/m-take-down-sale-goods/index.vue index 2d0d740..59dfffd 100644 --- a/components/m-take-down-sale-goods/index.vue +++ b/components/m-take-down-sale-goods/index.vue @@ -12,12 +12,12 @@ </template> <script> -import UPopup from '@/uview-components/uview-ui/components/u-popup/u-popup.vue'; +import '@/components/uview-components/uview-ui'; import goodsRecommend from "@/components/m-goods-recommend/index.vue"; export default { - components: { goodsRecommend,UPopup }, + components: { goodsRecommend }, data() { return { show: true, // 鏄惁鏄剧ず diff --git a/components/popups/popups.vue b/components/popups/popups.vue index 48e3bb0..ce373f9 100644 --- a/components/popups/popups.vue +++ b/components/popups/popups.vue @@ -11,10 +11,10 @@ </template> <script> -import UIcon from '@/uview-components/uview-ui/components/u-icon/u-icon.vue'; +import '@/components/uview-components/uview-ui'; export default { - components: {UIcon}, + props: { maskBg: { type: String, diff --git a/uview-components/pages/empty-page/empty-page.vue b/components/uview-components/pages/empty-page/empty-page.vue similarity index 100% rename from uview-components/pages/empty-page/empty-page.vue rename to components/uview-components/pages/empty-page/empty-page.vue diff --git a/uview-components/uview-ui/LICENSE b/components/uview-components/uview-ui/LICENSE similarity index 100% rename from uview-components/uview-ui/LICENSE rename to components/uview-components/uview-ui/LICENSE diff --git a/uview-components/uview-ui/README.md b/components/uview-components/uview-ui/README.md similarity index 100% rename from uview-components/uview-ui/README.md rename to components/uview-components/uview-ui/README.md diff --git a/uview-components/uview-ui/changelog.md b/components/uview-components/uview-ui/changelog.md similarity index 100% rename from uview-components/uview-ui/changelog.md rename to components/uview-components/uview-ui/changelog.md diff --git a/uview-components/uview-ui/components/u--form/u--form.vue b/components/uview-components/uview-ui/components/u--form/u--form.vue similarity index 100% rename from uview-components/uview-ui/components/u--form/u--form.vue rename to components/uview-components/uview-ui/components/u--form/u--form.vue diff --git a/uview-components/uview-ui/components/u--image/u--image.vue b/components/uview-components/uview-ui/components/u--image/u--image.vue similarity index 100% rename from uview-components/uview-ui/components/u--image/u--image.vue rename to components/uview-components/uview-ui/components/u--image/u--image.vue diff --git a/uview-components/uview-ui/components/u--input/u--input.vue b/components/uview-components/uview-ui/components/u--input/u--input.vue similarity index 100% rename from uview-components/uview-ui/components/u--input/u--input.vue rename to components/uview-components/uview-ui/components/u--input/u--input.vue diff --git a/uview-components/uview-ui/components/u--text/u--text.vue b/components/uview-components/uview-ui/components/u--text/u--text.vue similarity index 100% rename from uview-components/uview-ui/components/u--text/u--text.vue rename to components/uview-components/uview-ui/components/u--text/u--text.vue diff --git a/uview-components/uview-ui/components/u--textarea/u--textarea.vue b/components/uview-components/uview-ui/components/u--textarea/u--textarea.vue similarity index 100% rename from uview-components/uview-ui/components/u--textarea/u--textarea.vue rename to components/uview-components/uview-ui/components/u--textarea/u--textarea.vue diff --git a/uview-components/uview-ui/components/u-action-sheet/props.js b/components/uview-components/uview-ui/components/u-action-sheet/props.js similarity index 100% rename from uview-components/uview-ui/components/u-action-sheet/props.js rename to components/uview-components/uview-ui/components/u-action-sheet/props.js diff --git a/uview-components/uview-ui/components/u-action-sheet/u-action-sheet.vue b/components/uview-components/uview-ui/components/u-action-sheet/u-action-sheet.vue similarity index 100% rename from uview-components/uview-ui/components/u-action-sheet/u-action-sheet.vue rename to components/uview-components/uview-ui/components/u-action-sheet/u-action-sheet.vue diff --git a/uview-components/uview-ui/components/u-album/props.js b/components/uview-components/uview-ui/components/u-album/props.js similarity index 100% rename from uview-components/uview-ui/components/u-album/props.js rename to components/uview-components/uview-ui/components/u-album/props.js diff --git a/uview-components/uview-ui/components/u-album/u-album.vue b/components/uview-components/uview-ui/components/u-album/u-album.vue similarity index 100% rename from uview-components/uview-ui/components/u-album/u-album.vue rename to components/uview-components/uview-ui/components/u-album/u-album.vue diff --git a/uview-components/uview-ui/components/u-alert-tips/u-alert-tips.vue b/components/uview-components/uview-ui/components/u-alert-tips/u-alert-tips.vue similarity index 100% rename from uview-components/uview-ui/components/u-alert-tips/u-alert-tips.vue rename to components/uview-components/uview-ui/components/u-alert-tips/u-alert-tips.vue diff --git a/uview-components/uview-ui/components/u-alert/props.js b/components/uview-components/uview-ui/components/u-alert/props.js similarity index 100% rename from uview-components/uview-ui/components/u-alert/props.js rename to components/uview-components/uview-ui/components/u-alert/props.js diff --git a/uview-components/uview-ui/components/u-alert/u-alert.vue b/components/uview-components/uview-ui/components/u-alert/u-alert.vue similarity index 100% rename from uview-components/uview-ui/components/u-alert/u-alert.vue rename to components/uview-components/uview-ui/components/u-alert/u-alert.vue diff --git a/uview-components/uview-ui/components/u-avatar-cropper/u-avatar-cropper.vue b/components/uview-components/uview-ui/components/u-avatar-cropper/u-avatar-cropper.vue similarity index 100% rename from uview-components/uview-ui/components/u-avatar-cropper/u-avatar-cropper.vue rename to components/uview-components/uview-ui/components/u-avatar-cropper/u-avatar-cropper.vue diff --git a/uview-components/uview-ui/components/u-avatar-cropper/weCropper.js b/components/uview-components/uview-ui/components/u-avatar-cropper/weCropper.js similarity index 100% rename from uview-components/uview-ui/components/u-avatar-cropper/weCropper.js rename to components/uview-components/uview-ui/components/u-avatar-cropper/weCropper.js diff --git a/uview-components/uview-ui/components/u-avatar-group/props.js b/components/uview-components/uview-ui/components/u-avatar-group/props.js similarity index 100% rename from uview-components/uview-ui/components/u-avatar-group/props.js rename to components/uview-components/uview-ui/components/u-avatar-group/props.js diff --git a/uview-components/uview-ui/components/u-avatar-group/u-avatar-group.vue b/components/uview-components/uview-ui/components/u-avatar-group/u-avatar-group.vue similarity index 100% rename from uview-components/uview-ui/components/u-avatar-group/u-avatar-group.vue rename to components/uview-components/uview-ui/components/u-avatar-group/u-avatar-group.vue diff --git a/uview-components/uview-ui/components/u-avatar/props.js b/components/uview-components/uview-ui/components/u-avatar/props.js similarity index 100% rename from uview-components/uview-ui/components/u-avatar/props.js rename to components/uview-components/uview-ui/components/u-avatar/props.js diff --git a/uview-components/uview-ui/components/u-avatar/u-avatar.vue b/components/uview-components/uview-ui/components/u-avatar/u-avatar.vue similarity index 100% rename from uview-components/uview-ui/components/u-avatar/u-avatar.vue rename to components/uview-components/uview-ui/components/u-avatar/u-avatar.vue diff --git a/uview-components/uview-ui/components/u-back-top/props.js b/components/uview-components/uview-ui/components/u-back-top/props.js similarity index 100% rename from uview-components/uview-ui/components/u-back-top/props.js rename to components/uview-components/uview-ui/components/u-back-top/props.js diff --git a/uview-components/uview-ui/components/u-back-top/u-back-top.vue b/components/uview-components/uview-ui/components/u-back-top/u-back-top.vue similarity index 100% rename from uview-components/uview-ui/components/u-back-top/u-back-top.vue rename to components/uview-components/uview-ui/components/u-back-top/u-back-top.vue diff --git a/uview-components/uview-ui/components/u-badge/props.js b/components/uview-components/uview-ui/components/u-badge/props.js similarity index 100% rename from uview-components/uview-ui/components/u-badge/props.js rename to components/uview-components/uview-ui/components/u-badge/props.js diff --git a/uview-components/uview-ui/components/u-badge/u-badge.vue b/components/uview-components/uview-ui/components/u-badge/u-badge.vue similarity index 100% rename from uview-components/uview-ui/components/u-badge/u-badge.vue rename to components/uview-components/uview-ui/components/u-badge/u-badge.vue diff --git a/uview-components/uview-ui/components/u-button/nvue.scss b/components/uview-components/uview-ui/components/u-button/nvue.scss similarity index 100% rename from uview-components/uview-ui/components/u-button/nvue.scss rename to components/uview-components/uview-ui/components/u-button/nvue.scss diff --git a/uview-components/uview-ui/components/u-button/props.js b/components/uview-components/uview-ui/components/u-button/props.js similarity index 100% rename from uview-components/uview-ui/components/u-button/props.js rename to components/uview-components/uview-ui/components/u-button/props.js diff --git a/uview-components/uview-ui/components/u-button/u-button.vue b/components/uview-components/uview-ui/components/u-button/u-button.vue similarity index 100% rename from uview-components/uview-ui/components/u-button/u-button.vue rename to components/uview-components/uview-ui/components/u-button/u-button.vue diff --git a/uview-components/uview-ui/components/u-button/vue.scss b/components/uview-components/uview-ui/components/u-button/vue.scss similarity index 100% rename from uview-components/uview-ui/components/u-button/vue.scss rename to components/uview-components/uview-ui/components/u-button/vue.scss diff --git a/uview-components/uview-ui/components/u-calendar/header.vue b/components/uview-components/uview-ui/components/u-calendar/header.vue similarity index 100% rename from uview-components/uview-ui/components/u-calendar/header.vue rename to components/uview-components/uview-ui/components/u-calendar/header.vue diff --git a/uview-components/uview-ui/components/u-calendar/month.vue b/components/uview-components/uview-ui/components/u-calendar/month.vue similarity index 100% rename from uview-components/uview-ui/components/u-calendar/month.vue rename to components/uview-components/uview-ui/components/u-calendar/month.vue diff --git a/uview-components/uview-ui/components/u-calendar/props.js b/components/uview-components/uview-ui/components/u-calendar/props.js similarity index 100% rename from uview-components/uview-ui/components/u-calendar/props.js rename to components/uview-components/uview-ui/components/u-calendar/props.js diff --git a/uview-components/uview-ui/components/u-calendar/u-calendar.vue b/components/uview-components/uview-ui/components/u-calendar/u-calendar.vue similarity index 100% rename from uview-components/uview-ui/components/u-calendar/u-calendar.vue rename to components/uview-components/uview-ui/components/u-calendar/u-calendar.vue diff --git a/uview-components/uview-ui/components/u-calendar/util.js b/components/uview-components/uview-ui/components/u-calendar/util.js similarity index 100% rename from uview-components/uview-ui/components/u-calendar/util.js rename to components/uview-components/uview-ui/components/u-calendar/util.js diff --git a/uview-components/uview-ui/components/u-car-keyboard/props.js b/components/uview-components/uview-ui/components/u-car-keyboard/props.js similarity index 100% rename from uview-components/uview-ui/components/u-car-keyboard/props.js rename to components/uview-components/uview-ui/components/u-car-keyboard/props.js diff --git a/uview-components/uview-ui/components/u-car-keyboard/u-car-keyboard.vue b/components/uview-components/uview-ui/components/u-car-keyboard/u-car-keyboard.vue similarity index 100% rename from uview-components/uview-ui/components/u-car-keyboard/u-car-keyboard.vue rename to components/uview-components/uview-ui/components/u-car-keyboard/u-car-keyboard.vue diff --git a/uview-components/uview-ui/components/u-card/u-card.vue b/components/uview-components/uview-ui/components/u-card/u-card.vue similarity index 100% rename from uview-components/uview-ui/components/u-card/u-card.vue rename to components/uview-components/uview-ui/components/u-card/u-card.vue diff --git a/uview-components/uview-ui/components/u-cell-group/props.js b/components/uview-components/uview-ui/components/u-cell-group/props.js similarity index 100% rename from uview-components/uview-ui/components/u-cell-group/props.js rename to components/uview-components/uview-ui/components/u-cell-group/props.js diff --git a/uview-components/uview-ui/components/u-cell-group/u-cell-group.vue b/components/uview-components/uview-ui/components/u-cell-group/u-cell-group.vue similarity index 100% rename from uview-components/uview-ui/components/u-cell-group/u-cell-group.vue rename to components/uview-components/uview-ui/components/u-cell-group/u-cell-group.vue diff --git a/uview-components/uview-ui/components/u-cell-item/u-cell-item.vue b/components/uview-components/uview-ui/components/u-cell-item/u-cell-item.vue similarity index 100% rename from uview-components/uview-ui/components/u-cell-item/u-cell-item.vue rename to components/uview-components/uview-ui/components/u-cell-item/u-cell-item.vue diff --git a/uview-components/uview-ui/components/u-cell/props.js b/components/uview-components/uview-ui/components/u-cell/props.js similarity index 100% rename from uview-components/uview-ui/components/u-cell/props.js rename to components/uview-components/uview-ui/components/u-cell/props.js diff --git a/uview-components/uview-ui/components/u-cell/u-cell.vue b/components/uview-components/uview-ui/components/u-cell/u-cell.vue similarity index 100% rename from uview-components/uview-ui/components/u-cell/u-cell.vue rename to components/uview-components/uview-ui/components/u-cell/u-cell.vue diff --git a/uview-components/uview-ui/components/u-checkbox-group/props.js b/components/uview-components/uview-ui/components/u-checkbox-group/props.js similarity index 100% rename from uview-components/uview-ui/components/u-checkbox-group/props.js rename to components/uview-components/uview-ui/components/u-checkbox-group/props.js diff --git a/uview-components/uview-ui/components/u-checkbox-group/u-checkbox-group.vue b/components/uview-components/uview-ui/components/u-checkbox-group/u-checkbox-group.vue similarity index 100% rename from uview-components/uview-ui/components/u-checkbox-group/u-checkbox-group.vue rename to components/uview-components/uview-ui/components/u-checkbox-group/u-checkbox-group.vue diff --git a/uview-components/uview-ui/components/u-checkbox/props.js b/components/uview-components/uview-ui/components/u-checkbox/props.js similarity index 100% rename from uview-components/uview-ui/components/u-checkbox/props.js rename to components/uview-components/uview-ui/components/u-checkbox/props.js diff --git a/uview-components/uview-ui/components/u-checkbox/u-checkbox.vue b/components/uview-components/uview-ui/components/u-checkbox/u-checkbox.vue similarity index 100% rename from uview-components/uview-ui/components/u-checkbox/u-checkbox.vue rename to components/uview-components/uview-ui/components/u-checkbox/u-checkbox.vue diff --git a/uview-components/uview-ui/components/u-circle-progress/props.js b/components/uview-components/uview-ui/components/u-circle-progress/props.js similarity index 100% rename from uview-components/uview-ui/components/u-circle-progress/props.js rename to components/uview-components/uview-ui/components/u-circle-progress/props.js diff --git a/uview-components/uview-ui/components/u-circle-progress/u-circle-progress.vue b/components/uview-components/uview-ui/components/u-circle-progress/u-circle-progress.vue similarity index 100% rename from uview-components/uview-ui/components/u-circle-progress/u-circle-progress.vue rename to components/uview-components/uview-ui/components/u-circle-progress/u-circle-progress.vue diff --git a/uview-components/uview-ui/components/u-code-input/props.js b/components/uview-components/uview-ui/components/u-code-input/props.js similarity index 100% rename from uview-components/uview-ui/components/u-code-input/props.js rename to components/uview-components/uview-ui/components/u-code-input/props.js diff --git a/uview-components/uview-ui/components/u-code-input/u-code-input.vue b/components/uview-components/uview-ui/components/u-code-input/u-code-input.vue similarity index 100% rename from uview-components/uview-ui/components/u-code-input/u-code-input.vue rename to components/uview-components/uview-ui/components/u-code-input/u-code-input.vue diff --git a/uview-components/uview-ui/components/u-code/props.js b/components/uview-components/uview-ui/components/u-code/props.js similarity index 100% rename from uview-components/uview-ui/components/u-code/props.js rename to components/uview-components/uview-ui/components/u-code/props.js diff --git a/uview-components/uview-ui/components/u-code/u-code.vue b/components/uview-components/uview-ui/components/u-code/u-code.vue similarity index 100% rename from uview-components/uview-ui/components/u-code/u-code.vue rename to components/uview-components/uview-ui/components/u-code/u-code.vue diff --git a/uview-components/uview-ui/components/u-col/props.js b/components/uview-components/uview-ui/components/u-col/props.js similarity index 100% rename from uview-components/uview-ui/components/u-col/props.js rename to components/uview-components/uview-ui/components/u-col/props.js diff --git a/uview-components/uview-ui/components/u-col/u-col.vue b/components/uview-components/uview-ui/components/u-col/u-col.vue similarity index 100% rename from uview-components/uview-ui/components/u-col/u-col.vue rename to components/uview-components/uview-ui/components/u-col/u-col.vue diff --git a/uview-components/uview-ui/components/u-collapse-item/props.js b/components/uview-components/uview-ui/components/u-collapse-item/props.js similarity index 100% rename from uview-components/uview-ui/components/u-collapse-item/props.js rename to components/uview-components/uview-ui/components/u-collapse-item/props.js diff --git a/uview-components/uview-ui/components/u-collapse-item/u-collapse-item.vue b/components/uview-components/uview-ui/components/u-collapse-item/u-collapse-item.vue similarity index 100% rename from uview-components/uview-ui/components/u-collapse-item/u-collapse-item.vue rename to components/uview-components/uview-ui/components/u-collapse-item/u-collapse-item.vue diff --git a/uview-components/uview-ui/components/u-collapse/props.js b/components/uview-components/uview-ui/components/u-collapse/props.js similarity index 100% rename from uview-components/uview-ui/components/u-collapse/props.js rename to components/uview-components/uview-ui/components/u-collapse/props.js diff --git a/uview-components/uview-ui/components/u-collapse/u-collapse.vue b/components/uview-components/uview-ui/components/u-collapse/u-collapse.vue similarity index 100% rename from uview-components/uview-ui/components/u-collapse/u-collapse.vue rename to components/uview-components/uview-ui/components/u-collapse/u-collapse.vue diff --git a/uview-components/uview-ui/components/u-column-notice/props.js b/components/uview-components/uview-ui/components/u-column-notice/props.js similarity index 100% rename from uview-components/uview-ui/components/u-column-notice/props.js rename to components/uview-components/uview-ui/components/u-column-notice/props.js diff --git a/uview-components/uview-ui/components/u-column-notice/u-column-notice.vue b/components/uview-components/uview-ui/components/u-column-notice/u-column-notice.vue similarity index 100% rename from uview-components/uview-ui/components/u-column-notice/u-column-notice.vue rename to components/uview-components/uview-ui/components/u-column-notice/u-column-notice.vue diff --git a/uview-components/uview-ui/components/u-count-down/props.js b/components/uview-components/uview-ui/components/u-count-down/props.js similarity index 100% rename from uview-components/uview-ui/components/u-count-down/props.js rename to components/uview-components/uview-ui/components/u-count-down/props.js diff --git a/uview-components/uview-ui/components/u-count-down/u-count-down.vue b/components/uview-components/uview-ui/components/u-count-down/u-count-down.vue similarity index 100% rename from uview-components/uview-ui/components/u-count-down/u-count-down.vue rename to components/uview-components/uview-ui/components/u-count-down/u-count-down.vue diff --git a/uview-components/uview-ui/components/u-count-down/utils.js b/components/uview-components/uview-ui/components/u-count-down/utils.js similarity index 100% rename from uview-components/uview-ui/components/u-count-down/utils.js rename to components/uview-components/uview-ui/components/u-count-down/utils.js diff --git a/uview-components/uview-ui/components/u-count-to/props.js b/components/uview-components/uview-ui/components/u-count-to/props.js similarity index 100% rename from uview-components/uview-ui/components/u-count-to/props.js rename to components/uview-components/uview-ui/components/u-count-to/props.js diff --git a/uview-components/uview-ui/components/u-count-to/u-count-to.vue b/components/uview-components/uview-ui/components/u-count-to/u-count-to.vue similarity index 100% rename from uview-components/uview-ui/components/u-count-to/u-count-to.vue rename to components/uview-components/uview-ui/components/u-count-to/u-count-to.vue diff --git a/uview-components/uview-ui/components/u-datetime-picker/props.js b/components/uview-components/uview-ui/components/u-datetime-picker/props.js similarity index 100% rename from uview-components/uview-ui/components/u-datetime-picker/props.js rename to components/uview-components/uview-ui/components/u-datetime-picker/props.js diff --git a/uview-components/uview-ui/components/u-datetime-picker/u-datetime-picker.vue b/components/uview-components/uview-ui/components/u-datetime-picker/u-datetime-picker.vue similarity index 100% rename from uview-components/uview-ui/components/u-datetime-picker/u-datetime-picker.vue rename to components/uview-components/uview-ui/components/u-datetime-picker/u-datetime-picker.vue diff --git a/uview-components/uview-ui/components/u-divider/props.js b/components/uview-components/uview-ui/components/u-divider/props.js similarity index 100% rename from uview-components/uview-ui/components/u-divider/props.js rename to components/uview-components/uview-ui/components/u-divider/props.js diff --git a/uview-components/uview-ui/components/u-divider/u-divider.vue b/components/uview-components/uview-ui/components/u-divider/u-divider.vue similarity index 100% rename from uview-components/uview-ui/components/u-divider/u-divider.vue rename to components/uview-components/uview-ui/components/u-divider/u-divider.vue diff --git a/uview-components/uview-ui/components/u-dropdown-item/props.js b/components/uview-components/uview-ui/components/u-dropdown-item/props.js similarity index 100% rename from uview-components/uview-ui/components/u-dropdown-item/props.js rename to components/uview-components/uview-ui/components/u-dropdown-item/props.js diff --git a/uview-components/uview-ui/components/u-dropdown-item/u-dropdown-item.vue b/components/uview-components/uview-ui/components/u-dropdown-item/u-dropdown-item.vue similarity index 100% rename from uview-components/uview-ui/components/u-dropdown-item/u-dropdown-item.vue rename to components/uview-components/uview-ui/components/u-dropdown-item/u-dropdown-item.vue diff --git a/uview-components/uview-ui/components/u-dropdown-list/u-dropdown-list.vue b/components/uview-components/uview-ui/components/u-dropdown-list/u-dropdown-list.vue similarity index 100% rename from uview-components/uview-ui/components/u-dropdown-list/u-dropdown-list.vue rename to components/uview-components/uview-ui/components/u-dropdown-list/u-dropdown-list.vue diff --git a/uview-components/uview-ui/components/u-dropdown/props.js b/components/uview-components/uview-ui/components/u-dropdown/props.js similarity index 100% rename from uview-components/uview-ui/components/u-dropdown/props.js rename to components/uview-components/uview-ui/components/u-dropdown/props.js diff --git a/uview-components/uview-ui/components/u-dropdown/u-dropdown.vue b/components/uview-components/uview-ui/components/u-dropdown/u-dropdown.vue similarity index 100% rename from uview-components/uview-ui/components/u-dropdown/u-dropdown.vue rename to components/uview-components/uview-ui/components/u-dropdown/u-dropdown.vue diff --git a/uview-components/uview-ui/components/u-empty/props.js b/components/uview-components/uview-ui/components/u-empty/props.js similarity index 100% rename from uview-components/uview-ui/components/u-empty/props.js rename to components/uview-components/uview-ui/components/u-empty/props.js diff --git a/uview-components/uview-ui/components/u-empty/u-empty.vue b/components/uview-components/uview-ui/components/u-empty/u-empty.vue similarity index 100% rename from uview-components/uview-ui/components/u-empty/u-empty.vue rename to components/uview-components/uview-ui/components/u-empty/u-empty.vue diff --git a/uview-components/uview-ui/components/u-field/u-field.vue b/components/uview-components/uview-ui/components/u-field/u-field.vue similarity index 100% rename from uview-components/uview-ui/components/u-field/u-field.vue rename to components/uview-components/uview-ui/components/u-field/u-field.vue diff --git a/uview-components/uview-ui/components/u-form-item/props.js b/components/uview-components/uview-ui/components/u-form-item/props.js similarity index 100% rename from uview-components/uview-ui/components/u-form-item/props.js rename to components/uview-components/uview-ui/components/u-form-item/props.js diff --git a/uview-components/uview-ui/components/u-form-item/u-form-item.vue b/components/uview-components/uview-ui/components/u-form-item/u-form-item.vue similarity index 100% rename from uview-components/uview-ui/components/u-form-item/u-form-item.vue rename to components/uview-components/uview-ui/components/u-form-item/u-form-item.vue diff --git a/uview-components/uview-ui/components/u-form/props.js b/components/uview-components/uview-ui/components/u-form/props.js similarity index 100% rename from uview-components/uview-ui/components/u-form/props.js rename to components/uview-components/uview-ui/components/u-form/props.js diff --git a/uview-components/uview-ui/components/u-form/u-form.vue b/components/uview-components/uview-ui/components/u-form/u-form.vue similarity index 100% rename from uview-components/uview-ui/components/u-form/u-form.vue rename to components/uview-components/uview-ui/components/u-form/u-form.vue diff --git a/uview-components/uview-ui/components/u-full-screen/u-full-screen.vue b/components/uview-components/uview-ui/components/u-full-screen/u-full-screen.vue similarity index 100% rename from uview-components/uview-ui/components/u-full-screen/u-full-screen.vue rename to components/uview-components/uview-ui/components/u-full-screen/u-full-screen.vue diff --git a/uview-components/uview-ui/components/u-gap/props.js b/components/uview-components/uview-ui/components/u-gap/props.js similarity index 100% rename from uview-components/uview-ui/components/u-gap/props.js rename to components/uview-components/uview-ui/components/u-gap/props.js diff --git a/uview-components/uview-ui/components/u-gap/u-gap.vue b/components/uview-components/uview-ui/components/u-gap/u-gap.vue similarity index 100% rename from uview-components/uview-ui/components/u-gap/u-gap.vue rename to components/uview-components/uview-ui/components/u-gap/u-gap.vue diff --git a/uview-components/uview-ui/components/u-grid-item/props.js b/components/uview-components/uview-ui/components/u-grid-item/props.js similarity index 100% rename from uview-components/uview-ui/components/u-grid-item/props.js rename to components/uview-components/uview-ui/components/u-grid-item/props.js diff --git a/uview-components/uview-ui/components/u-grid-item/u-grid-item.vue b/components/uview-components/uview-ui/components/u-grid-item/u-grid-item.vue similarity index 100% rename from uview-components/uview-ui/components/u-grid-item/u-grid-item.vue rename to components/uview-components/uview-ui/components/u-grid-item/u-grid-item.vue diff --git a/uview-components/uview-ui/components/u-grid/props.js b/components/uview-components/uview-ui/components/u-grid/props.js similarity index 100% rename from uview-components/uview-ui/components/u-grid/props.js rename to components/uview-components/uview-ui/components/u-grid/props.js diff --git a/uview-components/uview-ui/components/u-grid/u-grid.vue b/components/uview-components/uview-ui/components/u-grid/u-grid.vue similarity index 100% rename from uview-components/uview-ui/components/u-grid/u-grid.vue rename to components/uview-components/uview-ui/components/u-grid/u-grid.vue diff --git a/uview-components/uview-ui/components/u-icon/icons.js b/components/uview-components/uview-ui/components/u-icon/icons.js similarity index 100% rename from uview-components/uview-ui/components/u-icon/icons.js rename to components/uview-components/uview-ui/components/u-icon/icons.js diff --git a/uview-components/uview-ui/components/u-icon/props.js b/components/uview-components/uview-ui/components/u-icon/props.js similarity index 100% rename from uview-components/uview-ui/components/u-icon/props.js rename to components/uview-components/uview-ui/components/u-icon/props.js diff --git a/uview-components/uview-ui/components/u-icon/u-icon.vue b/components/uview-components/uview-ui/components/u-icon/u-icon.vue similarity index 100% rename from uview-components/uview-ui/components/u-icon/u-icon.vue rename to components/uview-components/uview-ui/components/u-icon/u-icon.vue diff --git a/uview-components/uview-ui/components/u-image/props.js b/components/uview-components/uview-ui/components/u-image/props.js similarity index 100% rename from uview-components/uview-ui/components/u-image/props.js rename to components/uview-components/uview-ui/components/u-image/props.js diff --git a/uview-components/uview-ui/components/u-image/u-image.vue b/components/uview-components/uview-ui/components/u-image/u-image.vue similarity index 100% rename from uview-components/uview-ui/components/u-image/u-image.vue rename to components/uview-components/uview-ui/components/u-image/u-image.vue diff --git a/uview-components/uview-ui/components/u-index-anchor/props.js b/components/uview-components/uview-ui/components/u-index-anchor/props.js similarity index 100% rename from uview-components/uview-ui/components/u-index-anchor/props.js rename to components/uview-components/uview-ui/components/u-index-anchor/props.js diff --git a/uview-components/uview-ui/components/u-index-anchor/u-index-anchor.vue b/components/uview-components/uview-ui/components/u-index-anchor/u-index-anchor.vue similarity index 100% rename from uview-components/uview-ui/components/u-index-anchor/u-index-anchor.vue rename to components/uview-components/uview-ui/components/u-index-anchor/u-index-anchor.vue diff --git a/uview-components/uview-ui/components/u-index-item/props.js b/components/uview-components/uview-ui/components/u-index-item/props.js similarity index 100% rename from uview-components/uview-ui/components/u-index-item/props.js rename to components/uview-components/uview-ui/components/u-index-item/props.js diff --git a/uview-components/uview-ui/components/u-index-item/u-index-item.vue b/components/uview-components/uview-ui/components/u-index-item/u-index-item.vue similarity index 100% rename from uview-components/uview-ui/components/u-index-item/u-index-item.vue rename to components/uview-components/uview-ui/components/u-index-item/u-index-item.vue diff --git a/uview-components/uview-ui/components/u-index-list/props.js b/components/uview-components/uview-ui/components/u-index-list/props.js similarity index 100% rename from uview-components/uview-ui/components/u-index-list/props.js rename to components/uview-components/uview-ui/components/u-index-list/props.js diff --git a/uview-components/uview-ui/components/u-index-list/u-index-list.vue b/components/uview-components/uview-ui/components/u-index-list/u-index-list.vue similarity index 100% rename from uview-components/uview-ui/components/u-index-list/u-index-list.vue rename to components/uview-components/uview-ui/components/u-index-list/u-index-list.vue diff --git a/uview-components/uview-ui/components/u-input/props.js b/components/uview-components/uview-ui/components/u-input/props.js similarity index 100% rename from uview-components/uview-ui/components/u-input/props.js rename to components/uview-components/uview-ui/components/u-input/props.js diff --git a/uview-components/uview-ui/components/u-input/u-input.vue b/components/uview-components/uview-ui/components/u-input/u-input.vue similarity index 100% rename from uview-components/uview-ui/components/u-input/u-input.vue rename to components/uview-components/uview-ui/components/u-input/u-input.vue diff --git a/uview-components/uview-ui/components/u-keyboard/props.js b/components/uview-components/uview-ui/components/u-keyboard/props.js similarity index 100% rename from uview-components/uview-ui/components/u-keyboard/props.js rename to components/uview-components/uview-ui/components/u-keyboard/props.js diff --git a/uview-components/uview-ui/components/u-keyboard/u-keyboard.vue b/components/uview-components/uview-ui/components/u-keyboard/u-keyboard.vue similarity index 100% rename from uview-components/uview-ui/components/u-keyboard/u-keyboard.vue rename to components/uview-components/uview-ui/components/u-keyboard/u-keyboard.vue diff --git a/uview-components/uview-ui/components/u-lazy-load/u-lazy-load.vue b/components/uview-components/uview-ui/components/u-lazy-load/u-lazy-load.vue similarity index 100% rename from uview-components/uview-ui/components/u-lazy-load/u-lazy-load.vue rename to components/uview-components/uview-ui/components/u-lazy-load/u-lazy-load.vue diff --git a/uview-components/uview-ui/components/u-line-progress/props.js b/components/uview-components/uview-ui/components/u-line-progress/props.js similarity index 100% rename from uview-components/uview-ui/components/u-line-progress/props.js rename to components/uview-components/uview-ui/components/u-line-progress/props.js diff --git a/uview-components/uview-ui/components/u-line-progress/u-line-progress.vue b/components/uview-components/uview-ui/components/u-line-progress/u-line-progress.vue similarity index 100% rename from uview-components/uview-ui/components/u-line-progress/u-line-progress.vue rename to components/uview-components/uview-ui/components/u-line-progress/u-line-progress.vue diff --git a/uview-components/uview-ui/components/u-line/props.js b/components/uview-components/uview-ui/components/u-line/props.js similarity index 100% rename from uview-components/uview-ui/components/u-line/props.js rename to components/uview-components/uview-ui/components/u-line/props.js diff --git a/uview-components/uview-ui/components/u-line/u-line.vue b/components/uview-components/uview-ui/components/u-line/u-line.vue similarity index 100% rename from uview-components/uview-ui/components/u-line/u-line.vue rename to components/uview-components/uview-ui/components/u-line/u-line.vue diff --git a/uview-components/uview-ui/components/u-link/props.js b/components/uview-components/uview-ui/components/u-link/props.js similarity index 100% rename from uview-components/uview-ui/components/u-link/props.js rename to components/uview-components/uview-ui/components/u-link/props.js diff --git a/uview-components/uview-ui/components/u-link/u-link.vue b/components/uview-components/uview-ui/components/u-link/u-link.vue similarity index 100% rename from uview-components/uview-ui/components/u-link/u-link.vue rename to components/uview-components/uview-ui/components/u-link/u-link.vue diff --git a/uview-components/uview-ui/components/u-list-item/props.js b/components/uview-components/uview-ui/components/u-list-item/props.js similarity index 100% rename from uview-components/uview-ui/components/u-list-item/props.js rename to components/uview-components/uview-ui/components/u-list-item/props.js diff --git a/uview-components/uview-ui/components/u-list-item/u-list-item.vue b/components/uview-components/uview-ui/components/u-list-item/u-list-item.vue similarity index 100% rename from uview-components/uview-ui/components/u-list-item/u-list-item.vue rename to components/uview-components/uview-ui/components/u-list-item/u-list-item.vue diff --git a/uview-components/uview-ui/components/u-list/props.js b/components/uview-components/uview-ui/components/u-list/props.js similarity index 100% rename from uview-components/uview-ui/components/u-list/props.js rename to components/uview-components/uview-ui/components/u-list/props.js diff --git a/uview-components/uview-ui/components/u-list/u-list.vue b/components/uview-components/uview-ui/components/u-list/u-list.vue similarity index 100% rename from uview-components/uview-ui/components/u-list/u-list.vue rename to components/uview-components/uview-ui/components/u-list/u-list.vue diff --git a/uview-components/uview-ui/components/u-loading-icon/props.js b/components/uview-components/uview-ui/components/u-loading-icon/props.js similarity index 100% rename from uview-components/uview-ui/components/u-loading-icon/props.js rename to components/uview-components/uview-ui/components/u-loading-icon/props.js diff --git a/uview-components/uview-ui/components/u-loading-icon/u-loading-icon.vue b/components/uview-components/uview-ui/components/u-loading-icon/u-loading-icon.vue similarity index 100% rename from uview-components/uview-ui/components/u-loading-icon/u-loading-icon.vue rename to components/uview-components/uview-ui/components/u-loading-icon/u-loading-icon.vue diff --git a/uview-components/uview-ui/components/u-loading-page/props.js b/components/uview-components/uview-ui/components/u-loading-page/props.js similarity index 100% rename from uview-components/uview-ui/components/u-loading-page/props.js rename to components/uview-components/uview-ui/components/u-loading-page/props.js diff --git a/uview-components/uview-ui/components/u-loading-page/u-loading-page.vue b/components/uview-components/uview-ui/components/u-loading-page/u-loading-page.vue similarity index 100% rename from uview-components/uview-ui/components/u-loading-page/u-loading-page.vue rename to components/uview-components/uview-ui/components/u-loading-page/u-loading-page.vue diff --git a/uview-components/uview-ui/components/u-loading/u-loading.vue b/components/uview-components/uview-ui/components/u-loading/u-loading.vue similarity index 100% rename from uview-components/uview-ui/components/u-loading/u-loading.vue rename to components/uview-components/uview-ui/components/u-loading/u-loading.vue diff --git a/uview-components/uview-ui/components/u-loadmore/props.js b/components/uview-components/uview-ui/components/u-loadmore/props.js similarity index 100% rename from uview-components/uview-ui/components/u-loadmore/props.js rename to components/uview-components/uview-ui/components/u-loadmore/props.js diff --git a/uview-components/uview-ui/components/u-loadmore/u-loadmore.vue b/components/uview-components/uview-ui/components/u-loadmore/u-loadmore.vue similarity index 100% rename from uview-components/uview-ui/components/u-loadmore/u-loadmore.vue rename to components/uview-components/uview-ui/components/u-loadmore/u-loadmore.vue diff --git a/uview-components/uview-ui/components/u-mask/u-mask.vue b/components/uview-components/uview-ui/components/u-mask/u-mask.vue similarity index 100% rename from uview-components/uview-ui/components/u-mask/u-mask.vue rename to components/uview-components/uview-ui/components/u-mask/u-mask.vue diff --git a/uview-components/uview-ui/components/u-message-input/u-message-input.vue b/components/uview-components/uview-ui/components/u-message-input/u-message-input.vue similarity index 100% rename from uview-components/uview-ui/components/u-message-input/u-message-input.vue rename to components/uview-components/uview-ui/components/u-message-input/u-message-input.vue diff --git a/uview-components/uview-ui/components/u-modal/props.js b/components/uview-components/uview-ui/components/u-modal/props.js similarity index 100% rename from uview-components/uview-ui/components/u-modal/props.js rename to components/uview-components/uview-ui/components/u-modal/props.js diff --git a/uview-components/uview-ui/components/u-modal/u-modal.vue b/components/uview-components/uview-ui/components/u-modal/u-modal.vue similarity index 100% rename from uview-components/uview-ui/components/u-modal/u-modal.vue rename to components/uview-components/uview-ui/components/u-modal/u-modal.vue diff --git a/uview-components/uview-ui/components/u-navbar/props.js b/components/uview-components/uview-ui/components/u-navbar/props.js similarity index 100% rename from uview-components/uview-ui/components/u-navbar/props.js rename to components/uview-components/uview-ui/components/u-navbar/props.js diff --git a/uview-components/uview-ui/components/u-navbar/u-navbar.vue b/components/uview-components/uview-ui/components/u-navbar/u-navbar.vue similarity index 100% rename from uview-components/uview-ui/components/u-navbar/u-navbar.vue rename to components/uview-components/uview-ui/components/u-navbar/u-navbar.vue diff --git a/uview-components/uview-ui/components/u-no-network/props.js b/components/uview-components/uview-ui/components/u-no-network/props.js similarity index 100% rename from uview-components/uview-ui/components/u-no-network/props.js rename to components/uview-components/uview-ui/components/u-no-network/props.js diff --git a/uview-components/uview-ui/components/u-no-network/u-no-network.vue b/components/uview-components/uview-ui/components/u-no-network/u-no-network.vue similarity index 100% rename from uview-components/uview-ui/components/u-no-network/u-no-network.vue rename to components/uview-components/uview-ui/components/u-no-network/u-no-network.vue diff --git a/uview-components/uview-ui/components/u-notice-bar/props.js b/components/uview-components/uview-ui/components/u-notice-bar/props.js similarity index 100% rename from uview-components/uview-ui/components/u-notice-bar/props.js rename to components/uview-components/uview-ui/components/u-notice-bar/props.js diff --git a/uview-components/uview-ui/components/u-notice-bar/u-notice-bar.vue b/components/uview-components/uview-ui/components/u-notice-bar/u-notice-bar.vue similarity index 100% rename from uview-components/uview-ui/components/u-notice-bar/u-notice-bar.vue rename to components/uview-components/uview-ui/components/u-notice-bar/u-notice-bar.vue diff --git a/uview-components/uview-ui/components/u-notify/props.js b/components/uview-components/uview-ui/components/u-notify/props.js similarity index 100% rename from uview-components/uview-ui/components/u-notify/props.js rename to components/uview-components/uview-ui/components/u-notify/props.js diff --git a/uview-components/uview-ui/components/u-notify/u-notify.vue b/components/uview-components/uview-ui/components/u-notify/u-notify.vue similarity index 100% rename from uview-components/uview-ui/components/u-notify/u-notify.vue rename to components/uview-components/uview-ui/components/u-notify/u-notify.vue diff --git a/uview-components/uview-ui/components/u-number-box/props.js b/components/uview-components/uview-ui/components/u-number-box/props.js similarity index 100% rename from uview-components/uview-ui/components/u-number-box/props.js rename to components/uview-components/uview-ui/components/u-number-box/props.js diff --git a/uview-components/uview-ui/components/u-number-box/u-number-box.vue b/components/uview-components/uview-ui/components/u-number-box/u-number-box.vue similarity index 100% rename from uview-components/uview-ui/components/u-number-box/u-number-box.vue rename to components/uview-components/uview-ui/components/u-number-box/u-number-box.vue diff --git a/uview-components/uview-ui/components/u-number-keyboard/props.js b/components/uview-components/uview-ui/components/u-number-keyboard/props.js similarity index 100% rename from uview-components/uview-ui/components/u-number-keyboard/props.js rename to components/uview-components/uview-ui/components/u-number-keyboard/props.js diff --git a/uview-components/uview-ui/components/u-number-keyboard/u-number-keyboard.vue b/components/uview-components/uview-ui/components/u-number-keyboard/u-number-keyboard.vue similarity index 100% rename from uview-components/uview-ui/components/u-number-keyboard/u-number-keyboard.vue rename to components/uview-components/uview-ui/components/u-number-keyboard/u-number-keyboard.vue diff --git a/uview-components/uview-ui/components/u-overlay/props.js b/components/uview-components/uview-ui/components/u-overlay/props.js similarity index 100% rename from uview-components/uview-ui/components/u-overlay/props.js rename to components/uview-components/uview-ui/components/u-overlay/props.js diff --git a/uview-components/uview-ui/components/u-overlay/u-overlay.vue b/components/uview-components/uview-ui/components/u-overlay/u-overlay.vue similarity index 100% rename from uview-components/uview-ui/components/u-overlay/u-overlay.vue rename to components/uview-components/uview-ui/components/u-overlay/u-overlay.vue diff --git a/uview-components/uview-ui/components/u-parse/libs/CssHandler.js b/components/uview-components/uview-ui/components/u-parse/libs/CssHandler.js similarity index 100% rename from uview-components/uview-ui/components/u-parse/libs/CssHandler.js rename to components/uview-components/uview-ui/components/u-parse/libs/CssHandler.js diff --git a/uview-components/uview-ui/components/u-parse/libs/MpHtmlParser.js b/components/uview-components/uview-ui/components/u-parse/libs/MpHtmlParser.js similarity index 100% rename from uview-components/uview-ui/components/u-parse/libs/MpHtmlParser.js rename to components/uview-components/uview-ui/components/u-parse/libs/MpHtmlParser.js diff --git a/uview-components/uview-ui/components/u-parse/libs/config.js b/components/uview-components/uview-ui/components/u-parse/libs/config.js similarity index 100% rename from uview-components/uview-ui/components/u-parse/libs/config.js rename to components/uview-components/uview-ui/components/u-parse/libs/config.js diff --git a/uview-components/uview-ui/components/u-parse/libs/handler.wxs b/components/uview-components/uview-ui/components/u-parse/libs/handler.wxs similarity index 100% rename from uview-components/uview-ui/components/u-parse/libs/handler.wxs rename to components/uview-components/uview-ui/components/u-parse/libs/handler.wxs diff --git a/uview-components/uview-ui/components/u-parse/libs/trees.vue b/components/uview-components/uview-ui/components/u-parse/libs/trees.vue similarity index 100% rename from uview-components/uview-ui/components/u-parse/libs/trees.vue rename to components/uview-components/uview-ui/components/u-parse/libs/trees.vue diff --git a/uview-components/uview-ui/components/u-parse/node/node.vue b/components/uview-components/uview-ui/components/u-parse/node/node.vue similarity index 100% rename from uview-components/uview-ui/components/u-parse/node/node.vue rename to components/uview-components/uview-ui/components/u-parse/node/node.vue diff --git a/uview-components/uview-ui/components/u-parse/parser.js b/components/uview-components/uview-ui/components/u-parse/parser.js similarity index 100% rename from uview-components/uview-ui/components/u-parse/parser.js rename to components/uview-components/uview-ui/components/u-parse/parser.js diff --git a/uview-components/uview-ui/components/u-parse/props.js b/components/uview-components/uview-ui/components/u-parse/props.js similarity index 100% rename from uview-components/uview-ui/components/u-parse/props.js rename to components/uview-components/uview-ui/components/u-parse/props.js diff --git a/uview-components/uview-ui/components/u-parse/u-parse.vue b/components/uview-components/uview-ui/components/u-parse/u-parse.vue similarity index 100% rename from uview-components/uview-ui/components/u-parse/u-parse.vue rename to components/uview-components/uview-ui/components/u-parse/u-parse.vue diff --git a/uview-components/uview-ui/components/u-picker-column/props.js b/components/uview-components/uview-ui/components/u-picker-column/props.js similarity index 100% rename from uview-components/uview-ui/components/u-picker-column/props.js rename to components/uview-components/uview-ui/components/u-picker-column/props.js diff --git a/uview-components/uview-ui/components/u-picker-column/u-picker-column.vue b/components/uview-components/uview-ui/components/u-picker-column/u-picker-column.vue similarity index 100% rename from uview-components/uview-ui/components/u-picker-column/u-picker-column.vue rename to components/uview-components/uview-ui/components/u-picker-column/u-picker-column.vue diff --git a/uview-components/uview-ui/components/u-picker/props.js b/components/uview-components/uview-ui/components/u-picker/props.js similarity index 100% rename from uview-components/uview-ui/components/u-picker/props.js rename to components/uview-components/uview-ui/components/u-picker/props.js diff --git a/uview-components/uview-ui/components/u-picker/u-picker.vue b/components/uview-components/uview-ui/components/u-picker/u-picker.vue similarity index 100% rename from uview-components/uview-ui/components/u-picker/u-picker.vue rename to components/uview-components/uview-ui/components/u-picker/u-picker.vue diff --git a/uview-components/uview-ui/components/u-popup/props.js b/components/uview-components/uview-ui/components/u-popup/props.js similarity index 100% rename from uview-components/uview-ui/components/u-popup/props.js rename to components/uview-components/uview-ui/components/u-popup/props.js diff --git a/uview-components/uview-ui/components/u-popup/u-popup.vue b/components/uview-components/uview-ui/components/u-popup/u-popup.vue similarity index 100% rename from uview-components/uview-ui/components/u-popup/u-popup.vue rename to components/uview-components/uview-ui/components/u-popup/u-popup.vue diff --git a/uview-components/uview-ui/components/u-radio-group/props.js b/components/uview-components/uview-ui/components/u-radio-group/props.js similarity index 100% rename from uview-components/uview-ui/components/u-radio-group/props.js rename to components/uview-components/uview-ui/components/u-radio-group/props.js diff --git a/uview-components/uview-ui/components/u-radio-group/u-radio-group.vue b/components/uview-components/uview-ui/components/u-radio-group/u-radio-group.vue similarity index 100% rename from uview-components/uview-ui/components/u-radio-group/u-radio-group.vue rename to components/uview-components/uview-ui/components/u-radio-group/u-radio-group.vue diff --git a/uview-components/uview-ui/components/u-radio/props.js b/components/uview-components/uview-ui/components/u-radio/props.js similarity index 100% rename from uview-components/uview-ui/components/u-radio/props.js rename to components/uview-components/uview-ui/components/u-radio/props.js diff --git a/uview-components/uview-ui/components/u-radio/u-radio.vue b/components/uview-components/uview-ui/components/u-radio/u-radio.vue similarity index 100% rename from uview-components/uview-ui/components/u-radio/u-radio.vue rename to components/uview-components/uview-ui/components/u-radio/u-radio.vue diff --git a/uview-components/uview-ui/components/u-rate/props.js b/components/uview-components/uview-ui/components/u-rate/props.js similarity index 100% rename from uview-components/uview-ui/components/u-rate/props.js rename to components/uview-components/uview-ui/components/u-rate/props.js diff --git a/uview-components/uview-ui/components/u-rate/u-rate.vue b/components/uview-components/uview-ui/components/u-rate/u-rate.vue similarity index 100% rename from uview-components/uview-ui/components/u-rate/u-rate.vue rename to components/uview-components/uview-ui/components/u-rate/u-rate.vue diff --git a/uview-components/uview-ui/components/u-read-more/props.js b/components/uview-components/uview-ui/components/u-read-more/props.js similarity index 100% rename from uview-components/uview-ui/components/u-read-more/props.js rename to components/uview-components/uview-ui/components/u-read-more/props.js diff --git a/uview-components/uview-ui/components/u-read-more/u-read-more.vue b/components/uview-components/uview-ui/components/u-read-more/u-read-more.vue similarity index 100% rename from uview-components/uview-ui/components/u-read-more/u-read-more.vue rename to components/uview-components/uview-ui/components/u-read-more/u-read-more.vue diff --git a/uview-components/uview-ui/components/u-row-notice/props.js b/components/uview-components/uview-ui/components/u-row-notice/props.js similarity index 100% rename from uview-components/uview-ui/components/u-row-notice/props.js rename to components/uview-components/uview-ui/components/u-row-notice/props.js diff --git a/uview-components/uview-ui/components/u-row-notice/u-row-notice.vue b/components/uview-components/uview-ui/components/u-row-notice/u-row-notice.vue similarity index 100% rename from uview-components/uview-ui/components/u-row-notice/u-row-notice.vue rename to components/uview-components/uview-ui/components/u-row-notice/u-row-notice.vue diff --git a/uview-components/uview-ui/components/u-row/props.js b/components/uview-components/uview-ui/components/u-row/props.js similarity index 100% rename from uview-components/uview-ui/components/u-row/props.js rename to components/uview-components/uview-ui/components/u-row/props.js diff --git a/uview-components/uview-ui/components/u-row/u-row.vue b/components/uview-components/uview-ui/components/u-row/u-row.vue similarity index 100% rename from uview-components/uview-ui/components/u-row/u-row.vue rename to components/uview-components/uview-ui/components/u-row/u-row.vue diff --git a/uview-components/uview-ui/components/u-safe-bottom/props.js b/components/uview-components/uview-ui/components/u-safe-bottom/props.js similarity index 100% rename from uview-components/uview-ui/components/u-safe-bottom/props.js rename to components/uview-components/uview-ui/components/u-safe-bottom/props.js diff --git a/uview-components/uview-ui/components/u-safe-bottom/u-safe-bottom.vue b/components/uview-components/uview-ui/components/u-safe-bottom/u-safe-bottom.vue similarity index 100% rename from uview-components/uview-ui/components/u-safe-bottom/u-safe-bottom.vue rename to components/uview-components/uview-ui/components/u-safe-bottom/u-safe-bottom.vue diff --git a/uview-components/uview-ui/components/u-scroll-list/nvue.js b/components/uview-components/uview-ui/components/u-scroll-list/nvue.js similarity index 100% rename from uview-components/uview-ui/components/u-scroll-list/nvue.js rename to components/uview-components/uview-ui/components/u-scroll-list/nvue.js diff --git a/uview-components/uview-ui/components/u-scroll-list/other.js b/components/uview-components/uview-ui/components/u-scroll-list/other.js similarity index 100% rename from uview-components/uview-ui/components/u-scroll-list/other.js rename to components/uview-components/uview-ui/components/u-scroll-list/other.js diff --git a/uview-components/uview-ui/components/u-scroll-list/props.js b/components/uview-components/uview-ui/components/u-scroll-list/props.js similarity index 100% rename from uview-components/uview-ui/components/u-scroll-list/props.js rename to components/uview-components/uview-ui/components/u-scroll-list/props.js diff --git a/uview-components/uview-ui/components/u-scroll-list/scrollWxs.wxs b/components/uview-components/uview-ui/components/u-scroll-list/scrollWxs.wxs similarity index 100% rename from uview-components/uview-ui/components/u-scroll-list/scrollWxs.wxs rename to components/uview-components/uview-ui/components/u-scroll-list/scrollWxs.wxs diff --git a/uview-components/uview-ui/components/u-scroll-list/u-scroll-list.vue b/components/uview-components/uview-ui/components/u-scroll-list/u-scroll-list.vue similarity index 100% rename from uview-components/uview-ui/components/u-scroll-list/u-scroll-list.vue rename to components/uview-components/uview-ui/components/u-scroll-list/u-scroll-list.vue diff --git a/uview-components/uview-ui/components/u-search/props.js b/components/uview-components/uview-ui/components/u-search/props.js similarity index 100% rename from uview-components/uview-ui/components/u-search/props.js rename to components/uview-components/uview-ui/components/u-search/props.js diff --git a/uview-components/uview-ui/components/u-search/u-search.vue b/components/uview-components/uview-ui/components/u-search/u-search.vue similarity index 100% rename from uview-components/uview-ui/components/u-search/u-search.vue rename to components/uview-components/uview-ui/components/u-search/u-search.vue diff --git a/uview-components/uview-ui/components/u-section/u-section.vue b/components/uview-components/uview-ui/components/u-section/u-section.vue similarity index 100% rename from uview-components/uview-ui/components/u-section/u-section.vue rename to components/uview-components/uview-ui/components/u-section/u-section.vue diff --git a/uview-components/uview-ui/components/u-select/u-select.vue b/components/uview-components/uview-ui/components/u-select/u-select.vue similarity index 100% rename from uview-components/uview-ui/components/u-select/u-select.vue rename to components/uview-components/uview-ui/components/u-select/u-select.vue diff --git a/uview-components/uview-ui/components/u-skeleton/props.js b/components/uview-components/uview-ui/components/u-skeleton/props.js similarity index 100% rename from uview-components/uview-ui/components/u-skeleton/props.js rename to components/uview-components/uview-ui/components/u-skeleton/props.js diff --git a/uview-components/uview-ui/components/u-skeleton/u-skeleton.vue b/components/uview-components/uview-ui/components/u-skeleton/u-skeleton.vue similarity index 100% rename from uview-components/uview-ui/components/u-skeleton/u-skeleton.vue rename to components/uview-components/uview-ui/components/u-skeleton/u-skeleton.vue diff --git a/uview-components/uview-ui/components/u-slider/mpother.js b/components/uview-components/uview-ui/components/u-slider/mpother.js similarity index 100% rename from uview-components/uview-ui/components/u-slider/mpother.js rename to components/uview-components/uview-ui/components/u-slider/mpother.js diff --git a/uview-components/uview-ui/components/u-slider/mpwxs.js b/components/uview-components/uview-ui/components/u-slider/mpwxs.js similarity index 100% rename from uview-components/uview-ui/components/u-slider/mpwxs.js rename to components/uview-components/uview-ui/components/u-slider/mpwxs.js diff --git a/uview-components/uview-ui/components/u-slider/mpwxs.wxs b/components/uview-components/uview-ui/components/u-slider/mpwxs.wxs similarity index 100% rename from uview-components/uview-ui/components/u-slider/mpwxs.wxs rename to components/uview-components/uview-ui/components/u-slider/mpwxs.wxs diff --git "a/uview-components/uview-ui/components/u-slider/nvue - \345\211\257\346\234\254.js" "b/components/uview-components/uview-ui/components/u-slider/nvue - \345\211\257\346\234\254.js" similarity index 100% rename from "uview-components/uview-ui/components/u-slider/nvue - \345\211\257\346\234\254.js" rename to "components/uview-components/uview-ui/components/u-slider/nvue - \345\211\257\346\234\254.js" diff --git a/uview-components/uview-ui/components/u-slider/nvue.js b/components/uview-components/uview-ui/components/u-slider/nvue.js similarity index 100% rename from uview-components/uview-ui/components/u-slider/nvue.js rename to components/uview-components/uview-ui/components/u-slider/nvue.js diff --git a/uview-components/uview-ui/components/u-slider/props.js b/components/uview-components/uview-ui/components/u-slider/props.js similarity index 100% rename from uview-components/uview-ui/components/u-slider/props.js rename to components/uview-components/uview-ui/components/u-slider/props.js diff --git a/uview-components/uview-ui/components/u-slider/u-slider.vue b/components/uview-components/uview-ui/components/u-slider/u-slider.vue similarity index 100% rename from uview-components/uview-ui/components/u-slider/u-slider.vue rename to components/uview-components/uview-ui/components/u-slider/u-slider.vue diff --git a/uview-components/uview-ui/components/u-status-bar/props.js b/components/uview-components/uview-ui/components/u-status-bar/props.js similarity index 100% rename from uview-components/uview-ui/components/u-status-bar/props.js rename to components/uview-components/uview-ui/components/u-status-bar/props.js diff --git a/uview-components/uview-ui/components/u-status-bar/u-status-bar.vue b/components/uview-components/uview-ui/components/u-status-bar/u-status-bar.vue similarity index 100% rename from uview-components/uview-ui/components/u-status-bar/u-status-bar.vue rename to components/uview-components/uview-ui/components/u-status-bar/u-status-bar.vue diff --git a/uview-components/uview-ui/components/u-steps-item/props.js b/components/uview-components/uview-ui/components/u-steps-item/props.js similarity index 100% rename from uview-components/uview-ui/components/u-steps-item/props.js rename to components/uview-components/uview-ui/components/u-steps-item/props.js diff --git a/uview-components/uview-ui/components/u-steps-item/u-steps-item.vue b/components/uview-components/uview-ui/components/u-steps-item/u-steps-item.vue similarity index 100% rename from uview-components/uview-ui/components/u-steps-item/u-steps-item.vue rename to components/uview-components/uview-ui/components/u-steps-item/u-steps-item.vue diff --git a/uview-components/uview-ui/components/u-steps/props.js b/components/uview-components/uview-ui/components/u-steps/props.js similarity index 100% rename from uview-components/uview-ui/components/u-steps/props.js rename to components/uview-components/uview-ui/components/u-steps/props.js diff --git a/uview-components/uview-ui/components/u-steps/u-steps.vue b/components/uview-components/uview-ui/components/u-steps/u-steps.vue similarity index 100% rename from uview-components/uview-ui/components/u-steps/u-steps.vue rename to components/uview-components/uview-ui/components/u-steps/u-steps.vue diff --git a/uview-components/uview-ui/components/u-sticky/props.js b/components/uview-components/uview-ui/components/u-sticky/props.js similarity index 100% rename from uview-components/uview-ui/components/u-sticky/props.js rename to components/uview-components/uview-ui/components/u-sticky/props.js diff --git a/uview-components/uview-ui/components/u-sticky/u-sticky.vue b/components/uview-components/uview-ui/components/u-sticky/u-sticky.vue similarity index 100% rename from uview-components/uview-ui/components/u-sticky/u-sticky.vue rename to components/uview-components/uview-ui/components/u-sticky/u-sticky.vue diff --git a/uview-components/uview-ui/components/u-subsection/props.js b/components/uview-components/uview-ui/components/u-subsection/props.js similarity index 100% rename from uview-components/uview-ui/components/u-subsection/props.js rename to components/uview-components/uview-ui/components/u-subsection/props.js diff --git a/uview-components/uview-ui/components/u-subsection/u-subsection.vue b/components/uview-components/uview-ui/components/u-subsection/u-subsection.vue similarity index 100% rename from uview-components/uview-ui/components/u-subsection/u-subsection.vue rename to components/uview-components/uview-ui/components/u-subsection/u-subsection.vue diff --git a/uview-components/uview-ui/components/u-swipe-action-item/index - backup.wxs b/components/uview-components/uview-ui/components/u-swipe-action-item/index - backup.wxs similarity index 100% rename from uview-components/uview-ui/components/u-swipe-action-item/index - backup.wxs rename to components/uview-components/uview-ui/components/u-swipe-action-item/index - backup.wxs diff --git a/uview-components/uview-ui/components/u-swipe-action-item/index.wxs b/components/uview-components/uview-ui/components/u-swipe-action-item/index.wxs similarity index 100% rename from uview-components/uview-ui/components/u-swipe-action-item/index.wxs rename to components/uview-components/uview-ui/components/u-swipe-action-item/index.wxs diff --git a/uview-components/uview-ui/components/u-swipe-action-item/nvue - backup.js b/components/uview-components/uview-ui/components/u-swipe-action-item/nvue - backup.js similarity index 100% rename from uview-components/uview-ui/components/u-swipe-action-item/nvue - backup.js rename to components/uview-components/uview-ui/components/u-swipe-action-item/nvue - backup.js diff --git a/uview-components/uview-ui/components/u-swipe-action-item/nvue.js b/components/uview-components/uview-ui/components/u-swipe-action-item/nvue.js similarity index 100% rename from uview-components/uview-ui/components/u-swipe-action-item/nvue.js rename to components/uview-components/uview-ui/components/u-swipe-action-item/nvue.js diff --git a/uview-components/uview-ui/components/u-swipe-action-item/props.js b/components/uview-components/uview-ui/components/u-swipe-action-item/props.js similarity index 100% rename from uview-components/uview-ui/components/u-swipe-action-item/props.js rename to components/uview-components/uview-ui/components/u-swipe-action-item/props.js diff --git a/uview-components/uview-ui/components/u-swipe-action-item/u-swipe-action-item.vue b/components/uview-components/uview-ui/components/u-swipe-action-item/u-swipe-action-item.vue similarity index 100% rename from uview-components/uview-ui/components/u-swipe-action-item/u-swipe-action-item.vue rename to components/uview-components/uview-ui/components/u-swipe-action-item/u-swipe-action-item.vue diff --git a/uview-components/uview-ui/components/u-swipe-action-item/wxs.js b/components/uview-components/uview-ui/components/u-swipe-action-item/wxs.js similarity index 100% rename from uview-components/uview-ui/components/u-swipe-action-item/wxs.js rename to components/uview-components/uview-ui/components/u-swipe-action-item/wxs.js diff --git a/uview-components/uview-ui/components/u-swipe-action/props.js b/components/uview-components/uview-ui/components/u-swipe-action/props.js similarity index 100% rename from uview-components/uview-ui/components/u-swipe-action/props.js rename to components/uview-components/uview-ui/components/u-swipe-action/props.js diff --git a/uview-components/uview-ui/components/u-swipe-action/u-swipe-action.vue b/components/uview-components/uview-ui/components/u-swipe-action/u-swipe-action.vue similarity index 100% rename from uview-components/uview-ui/components/u-swipe-action/u-swipe-action.vue rename to components/uview-components/uview-ui/components/u-swipe-action/u-swipe-action.vue diff --git a/uview-components/uview-ui/components/u-swiper-indicator/props.js b/components/uview-components/uview-ui/components/u-swiper-indicator/props.js similarity index 100% rename from uview-components/uview-ui/components/u-swiper-indicator/props.js rename to components/uview-components/uview-ui/components/u-swiper-indicator/props.js diff --git a/uview-components/uview-ui/components/u-swiper-indicator/u-swiper-indicator.vue b/components/uview-components/uview-ui/components/u-swiper-indicator/u-swiper-indicator.vue similarity index 100% rename from uview-components/uview-ui/components/u-swiper-indicator/u-swiper-indicator.vue rename to components/uview-components/uview-ui/components/u-swiper-indicator/u-swiper-indicator.vue diff --git a/uview-components/uview-ui/components/u-swiper/props.js b/components/uview-components/uview-ui/components/u-swiper/props.js similarity index 100% rename from uview-components/uview-ui/components/u-swiper/props.js rename to components/uview-components/uview-ui/components/u-swiper/props.js diff --git a/uview-components/uview-ui/components/u-swiper/u-swiper.vue b/components/uview-components/uview-ui/components/u-swiper/u-swiper.vue similarity index 100% rename from uview-components/uview-ui/components/u-swiper/u-swiper.vue rename to components/uview-components/uview-ui/components/u-swiper/u-swiper.vue diff --git a/uview-components/uview-ui/components/u-switch/props.js b/components/uview-components/uview-ui/components/u-switch/props.js similarity index 100% rename from uview-components/uview-ui/components/u-switch/props.js rename to components/uview-components/uview-ui/components/u-switch/props.js diff --git a/uview-components/uview-ui/components/u-switch/u-switch.vue b/components/uview-components/uview-ui/components/u-switch/u-switch.vue similarity index 100% rename from uview-components/uview-ui/components/u-switch/u-switch.vue rename to components/uview-components/uview-ui/components/u-switch/u-switch.vue diff --git a/uview-components/uview-ui/components/u-tabbar-item/props.js b/components/uview-components/uview-ui/components/u-tabbar-item/props.js similarity index 100% rename from uview-components/uview-ui/components/u-tabbar-item/props.js rename to components/uview-components/uview-ui/components/u-tabbar-item/props.js diff --git a/uview-components/uview-ui/components/u-tabbar-item/u-tabbar-item.vue b/components/uview-components/uview-ui/components/u-tabbar-item/u-tabbar-item.vue similarity index 100% rename from uview-components/uview-ui/components/u-tabbar-item/u-tabbar-item.vue rename to components/uview-components/uview-ui/components/u-tabbar-item/u-tabbar-item.vue diff --git a/uview-components/uview-ui/components/u-tabbar/props.js b/components/uview-components/uview-ui/components/u-tabbar/props.js similarity index 100% rename from uview-components/uview-ui/components/u-tabbar/props.js rename to components/uview-components/uview-ui/components/u-tabbar/props.js diff --git a/uview-components/uview-ui/components/u-tabbar/u-tabbar.vue b/components/uview-components/uview-ui/components/u-tabbar/u-tabbar.vue similarity index 100% rename from uview-components/uview-ui/components/u-tabbar/u-tabbar.vue rename to components/uview-components/uview-ui/components/u-tabbar/u-tabbar.vue diff --git a/uview-components/uview-ui/components/u-table/props.js b/components/uview-components/uview-ui/components/u-table/props.js similarity index 100% rename from uview-components/uview-ui/components/u-table/props.js rename to components/uview-components/uview-ui/components/u-table/props.js diff --git a/uview-components/uview-ui/components/u-table/u-table.vue b/components/uview-components/uview-ui/components/u-table/u-table.vue similarity index 100% rename from uview-components/uview-ui/components/u-table/u-table.vue rename to components/uview-components/uview-ui/components/u-table/u-table.vue diff --git a/uview-components/uview-ui/components/u-tabs-item/props.js b/components/uview-components/uview-ui/components/u-tabs-item/props.js similarity index 100% rename from uview-components/uview-ui/components/u-tabs-item/props.js rename to components/uview-components/uview-ui/components/u-tabs-item/props.js diff --git a/uview-components/uview-ui/components/u-tabs-item/u-tabs-item.vue b/components/uview-components/uview-ui/components/u-tabs-item/u-tabs-item.vue similarity index 100% rename from uview-components/uview-ui/components/u-tabs-item/u-tabs-item.vue rename to components/uview-components/uview-ui/components/u-tabs-item/u-tabs-item.vue diff --git a/uview-components/uview-ui/components/u-tabs-swiper/u-tabs-swiper.vue b/components/uview-components/uview-ui/components/u-tabs-swiper/u-tabs-swiper.vue similarity index 100% rename from uview-components/uview-ui/components/u-tabs-swiper/u-tabs-swiper.vue rename to components/uview-components/uview-ui/components/u-tabs-swiper/u-tabs-swiper.vue diff --git a/uview-components/uview-ui/components/u-tabs/props.js b/components/uview-components/uview-ui/components/u-tabs/props.js similarity index 100% rename from uview-components/uview-ui/components/u-tabs/props.js rename to components/uview-components/uview-ui/components/u-tabs/props.js diff --git a/uview-components/uview-ui/components/u-tabs/u-tabs.vue b/components/uview-components/uview-ui/components/u-tabs/u-tabs.vue similarity index 100% rename from uview-components/uview-ui/components/u-tabs/u-tabs.vue rename to components/uview-components/uview-ui/components/u-tabs/u-tabs.vue diff --git a/uview-components/uview-ui/components/u-tag/props.js b/components/uview-components/uview-ui/components/u-tag/props.js similarity index 100% rename from uview-components/uview-ui/components/u-tag/props.js rename to components/uview-components/uview-ui/components/u-tag/props.js diff --git a/uview-components/uview-ui/components/u-tag/u-tag.vue b/components/uview-components/uview-ui/components/u-tag/u-tag.vue similarity index 100% rename from uview-components/uview-ui/components/u-tag/u-tag.vue rename to components/uview-components/uview-ui/components/u-tag/u-tag.vue diff --git a/uview-components/uview-ui/components/u-td/props.js b/components/uview-components/uview-ui/components/u-td/props.js similarity index 100% rename from uview-components/uview-ui/components/u-td/props.js rename to components/uview-components/uview-ui/components/u-td/props.js diff --git a/uview-components/uview-ui/components/u-td/u-td.vue b/components/uview-components/uview-ui/components/u-td/u-td.vue similarity index 100% rename from uview-components/uview-ui/components/u-td/u-td.vue rename to components/uview-components/uview-ui/components/u-td/u-td.vue diff --git a/uview-components/uview-ui/components/u-text/props.js b/components/uview-components/uview-ui/components/u-text/props.js similarity index 100% rename from uview-components/uview-ui/components/u-text/props.js rename to components/uview-components/uview-ui/components/u-text/props.js diff --git a/uview-components/uview-ui/components/u-text/u-text.vue b/components/uview-components/uview-ui/components/u-text/u-text.vue similarity index 100% rename from uview-components/uview-ui/components/u-text/u-text.vue rename to components/uview-components/uview-ui/components/u-text/u-text.vue diff --git a/uview-components/uview-ui/components/u-text/value.js b/components/uview-components/uview-ui/components/u-text/value.js similarity index 100% rename from uview-components/uview-ui/components/u-text/value.js rename to components/uview-components/uview-ui/components/u-text/value.js diff --git a/uview-components/uview-ui/components/u-textarea/props.js b/components/uview-components/uview-ui/components/u-textarea/props.js similarity index 100% rename from uview-components/uview-ui/components/u-textarea/props.js rename to components/uview-components/uview-ui/components/u-textarea/props.js diff --git a/uview-components/uview-ui/components/u-textarea/u-textarea.vue b/components/uview-components/uview-ui/components/u-textarea/u-textarea.vue similarity index 100% rename from uview-components/uview-ui/components/u-textarea/u-textarea.vue rename to components/uview-components/uview-ui/components/u-textarea/u-textarea.vue diff --git a/uview-components/uview-ui/components/u-th/u-th.vue b/components/uview-components/uview-ui/components/u-th/u-th.vue similarity index 100% rename from uview-components/uview-ui/components/u-th/u-th.vue rename to components/uview-components/uview-ui/components/u-th/u-th.vue diff --git a/uview-components/uview-ui/components/u-time-line-item/u-time-line-item.vue b/components/uview-components/uview-ui/components/u-time-line-item/u-time-line-item.vue similarity index 100% rename from uview-components/uview-ui/components/u-time-line-item/u-time-line-item.vue rename to components/uview-components/uview-ui/components/u-time-line-item/u-time-line-item.vue diff --git a/uview-components/uview-ui/components/u-time-line/u-time-line.vue b/components/uview-components/uview-ui/components/u-time-line/u-time-line.vue similarity index 100% rename from uview-components/uview-ui/components/u-time-line/u-time-line.vue rename to components/uview-components/uview-ui/components/u-time-line/u-time-line.vue diff --git a/uview-components/uview-ui/components/u-toast/u-toast.vue b/components/uview-components/uview-ui/components/u-toast/u-toast.vue similarity index 100% rename from uview-components/uview-ui/components/u-toast/u-toast.vue rename to components/uview-components/uview-ui/components/u-toast/u-toast.vue diff --git a/uview-components/uview-ui/components/u-toolbar/props.js b/components/uview-components/uview-ui/components/u-toolbar/props.js similarity index 100% rename from uview-components/uview-ui/components/u-toolbar/props.js rename to components/uview-components/uview-ui/components/u-toolbar/props.js diff --git a/uview-components/uview-ui/components/u-toolbar/u-toolbar.vue b/components/uview-components/uview-ui/components/u-toolbar/u-toolbar.vue similarity index 100% rename from uview-components/uview-ui/components/u-toolbar/u-toolbar.vue rename to components/uview-components/uview-ui/components/u-toolbar/u-toolbar.vue diff --git a/uview-components/uview-ui/components/u-tooltip/clipboard.min.js b/components/uview-components/uview-ui/components/u-tooltip/clipboard.min.js similarity index 100% rename from uview-components/uview-ui/components/u-tooltip/clipboard.min.js rename to components/uview-components/uview-ui/components/u-tooltip/clipboard.min.js diff --git a/uview-components/uview-ui/components/u-tooltip/props.js b/components/uview-components/uview-ui/components/u-tooltip/props.js similarity index 100% rename from uview-components/uview-ui/components/u-tooltip/props.js rename to components/uview-components/uview-ui/components/u-tooltip/props.js diff --git a/uview-components/uview-ui/components/u-tooltip/u-tooltip.vue b/components/uview-components/uview-ui/components/u-tooltip/u-tooltip.vue similarity index 100% rename from uview-components/uview-ui/components/u-tooltip/u-tooltip.vue rename to components/uview-components/uview-ui/components/u-tooltip/u-tooltip.vue diff --git a/uview-components/uview-ui/components/u-top-tips/u-top-tips.vue b/components/uview-components/uview-ui/components/u-top-tips/u-top-tips.vue similarity index 100% rename from uview-components/uview-ui/components/u-top-tips/u-top-tips.vue rename to components/uview-components/uview-ui/components/u-top-tips/u-top-tips.vue diff --git a/uview-components/uview-ui/components/u-tr/props.js b/components/uview-components/uview-ui/components/u-tr/props.js similarity index 100% rename from uview-components/uview-ui/components/u-tr/props.js rename to components/uview-components/uview-ui/components/u-tr/props.js diff --git a/uview-components/uview-ui/components/u-tr/u-tr.vue b/components/uview-components/uview-ui/components/u-tr/u-tr.vue similarity index 100% rename from uview-components/uview-ui/components/u-tr/u-tr.vue rename to components/uview-components/uview-ui/components/u-tr/u-tr.vue diff --git a/uview-components/uview-ui/components/u-transition/nvue.ani-map.js b/components/uview-components/uview-ui/components/u-transition/nvue.ani-map.js similarity index 100% rename from uview-components/uview-ui/components/u-transition/nvue.ani-map.js rename to components/uview-components/uview-ui/components/u-transition/nvue.ani-map.js diff --git a/uview-components/uview-ui/components/u-transition/props.js b/components/uview-components/uview-ui/components/u-transition/props.js similarity index 100% rename from uview-components/uview-ui/components/u-transition/props.js rename to components/uview-components/uview-ui/components/u-transition/props.js diff --git a/uview-components/uview-ui/components/u-transition/transition.js b/components/uview-components/uview-ui/components/u-transition/transition.js similarity index 100% rename from uview-components/uview-ui/components/u-transition/transition.js rename to components/uview-components/uview-ui/components/u-transition/transition.js diff --git a/uview-components/uview-ui/components/u-transition/u-transition.vue b/components/uview-components/uview-ui/components/u-transition/u-transition.vue similarity index 100% rename from uview-components/uview-ui/components/u-transition/u-transition.vue rename to components/uview-components/uview-ui/components/u-transition/u-transition.vue diff --git a/uview-components/uview-ui/components/u-transition/vue.ani-style.scss b/components/uview-components/uview-ui/components/u-transition/vue.ani-style.scss similarity index 100% rename from uview-components/uview-ui/components/u-transition/vue.ani-style.scss rename to components/uview-components/uview-ui/components/u-transition/vue.ani-style.scss diff --git a/uview-components/uview-ui/components/u-upload/mixin.js b/components/uview-components/uview-ui/components/u-upload/mixin.js similarity index 100% rename from uview-components/uview-ui/components/u-upload/mixin.js rename to components/uview-components/uview-ui/components/u-upload/mixin.js diff --git a/uview-components/uview-ui/components/u-upload/props.js b/components/uview-components/uview-ui/components/u-upload/props.js similarity index 100% rename from uview-components/uview-ui/components/u-upload/props.js rename to components/uview-components/uview-ui/components/u-upload/props.js diff --git a/uview-components/uview-ui/components/u-upload/u-upload.vue b/components/uview-components/uview-ui/components/u-upload/u-upload.vue similarity index 100% rename from uview-components/uview-ui/components/u-upload/u-upload.vue rename to components/uview-components/uview-ui/components/u-upload/u-upload.vue diff --git a/uview-components/uview-ui/components/u-upload/utils.js b/components/uview-components/uview-ui/components/u-upload/utils.js similarity index 100% rename from uview-components/uview-ui/components/u-upload/utils.js rename to components/uview-components/uview-ui/components/u-upload/utils.js diff --git a/uview-components/uview-ui/components/u-verification-code/u-verification-code.vue b/components/uview-components/uview-ui/components/u-verification-code/u-verification-code.vue similarity index 100% rename from uview-components/uview-ui/components/u-verification-code/u-verification-code.vue rename to components/uview-components/uview-ui/components/u-verification-code/u-verification-code.vue diff --git a/uview-components/uview-ui/components/u-waterfall/u-waterfall.vue b/components/uview-components/uview-ui/components/u-waterfall/u-waterfall.vue similarity index 100% rename from uview-components/uview-ui/components/u-waterfall/u-waterfall.vue rename to components/uview-components/uview-ui/components/u-waterfall/u-waterfall.vue diff --git a/uview-components/uview-ui/components/uview-ui/uview-ui.vue b/components/uview-components/uview-ui/components/uview-ui/uview-ui.vue similarity index 100% rename from uview-components/uview-ui/components/uview-ui/uview-ui.vue rename to components/uview-components/uview-ui/components/uview-ui/uview-ui.vue diff --git a/uview-components/uview-ui/iconfont.css b/components/uview-components/uview-ui/iconfont.css similarity index 100% rename from uview-components/uview-ui/iconfont.css rename to components/uview-components/uview-ui/iconfont.css diff --git a/uview-components/uview-ui/index.js b/components/uview-components/uview-ui/index.js similarity index 100% rename from uview-components/uview-ui/index.js rename to components/uview-components/uview-ui/index.js diff --git a/uview-components/uview-ui/index.scss b/components/uview-components/uview-ui/index.scss similarity index 100% rename from uview-components/uview-ui/index.scss rename to components/uview-components/uview-ui/index.scss diff --git a/uview-components/uview-ui/libs/config/color.js b/components/uview-components/uview-ui/libs/config/color.js similarity index 100% rename from uview-components/uview-ui/libs/config/color.js rename to components/uview-components/uview-ui/libs/config/color.js diff --git a/uview-components/uview-ui/libs/config/config.js b/components/uview-components/uview-ui/libs/config/config.js similarity index 100% rename from uview-components/uview-ui/libs/config/config.js rename to components/uview-components/uview-ui/libs/config/config.js diff --git a/uview-components/uview-ui/libs/config/props.js b/components/uview-components/uview-ui/libs/config/props.js similarity index 100% rename from uview-components/uview-ui/libs/config/props.js rename to components/uview-components/uview-ui/libs/config/props.js diff --git a/uview-components/uview-ui/libs/config/props/actionSheet.js b/components/uview-components/uview-ui/libs/config/props/actionSheet.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/actionSheet.js rename to components/uview-components/uview-ui/libs/config/props/actionSheet.js diff --git a/uview-components/uview-ui/libs/config/props/album.js b/components/uview-components/uview-ui/libs/config/props/album.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/album.js rename to components/uview-components/uview-ui/libs/config/props/album.js diff --git a/uview-components/uview-ui/libs/config/props/alert.js b/components/uview-components/uview-ui/libs/config/props/alert.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/alert.js rename to components/uview-components/uview-ui/libs/config/props/alert.js diff --git a/uview-components/uview-ui/libs/config/props/avatar.js b/components/uview-components/uview-ui/libs/config/props/avatar.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/avatar.js rename to components/uview-components/uview-ui/libs/config/props/avatar.js diff --git a/uview-components/uview-ui/libs/config/props/avatarGroup.js b/components/uview-components/uview-ui/libs/config/props/avatarGroup.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/avatarGroup.js rename to components/uview-components/uview-ui/libs/config/props/avatarGroup.js diff --git a/uview-components/uview-ui/libs/config/props/backtop.js b/components/uview-components/uview-ui/libs/config/props/backtop.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/backtop.js rename to components/uview-components/uview-ui/libs/config/props/backtop.js diff --git a/uview-components/uview-ui/libs/config/props/badge.js b/components/uview-components/uview-ui/libs/config/props/badge.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/badge.js rename to components/uview-components/uview-ui/libs/config/props/badge.js diff --git a/uview-components/uview-ui/libs/config/props/button.js b/components/uview-components/uview-ui/libs/config/props/button.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/button.js rename to components/uview-components/uview-ui/libs/config/props/button.js diff --git a/uview-components/uview-ui/libs/config/props/calendar.js b/components/uview-components/uview-ui/libs/config/props/calendar.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/calendar.js rename to components/uview-components/uview-ui/libs/config/props/calendar.js diff --git a/uview-components/uview-ui/libs/config/props/carKeyboard.js b/components/uview-components/uview-ui/libs/config/props/carKeyboard.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/carKeyboard.js rename to components/uview-components/uview-ui/libs/config/props/carKeyboard.js diff --git a/uview-components/uview-ui/libs/config/props/cell.js b/components/uview-components/uview-ui/libs/config/props/cell.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/cell.js rename to components/uview-components/uview-ui/libs/config/props/cell.js diff --git a/uview-components/uview-ui/libs/config/props/cellGroup.js b/components/uview-components/uview-ui/libs/config/props/cellGroup.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/cellGroup.js rename to components/uview-components/uview-ui/libs/config/props/cellGroup.js diff --git a/uview-components/uview-ui/libs/config/props/checkbox.js b/components/uview-components/uview-ui/libs/config/props/checkbox.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/checkbox.js rename to components/uview-components/uview-ui/libs/config/props/checkbox.js diff --git a/uview-components/uview-ui/libs/config/props/checkboxGroup.js b/components/uview-components/uview-ui/libs/config/props/checkboxGroup.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/checkboxGroup.js rename to components/uview-components/uview-ui/libs/config/props/checkboxGroup.js diff --git a/uview-components/uview-ui/libs/config/props/circleProgress.js b/components/uview-components/uview-ui/libs/config/props/circleProgress.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/circleProgress.js rename to components/uview-components/uview-ui/libs/config/props/circleProgress.js diff --git a/uview-components/uview-ui/libs/config/props/code.js b/components/uview-components/uview-ui/libs/config/props/code.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/code.js rename to components/uview-components/uview-ui/libs/config/props/code.js diff --git a/uview-components/uview-ui/libs/config/props/codeInput.js b/components/uview-components/uview-ui/libs/config/props/codeInput.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/codeInput.js rename to components/uview-components/uview-ui/libs/config/props/codeInput.js diff --git a/uview-components/uview-ui/libs/config/props/col.js b/components/uview-components/uview-ui/libs/config/props/col.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/col.js rename to components/uview-components/uview-ui/libs/config/props/col.js diff --git a/uview-components/uview-ui/libs/config/props/collapse.js b/components/uview-components/uview-ui/libs/config/props/collapse.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/collapse.js rename to components/uview-components/uview-ui/libs/config/props/collapse.js diff --git a/uview-components/uview-ui/libs/config/props/collapseItem.js b/components/uview-components/uview-ui/libs/config/props/collapseItem.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/collapseItem.js rename to components/uview-components/uview-ui/libs/config/props/collapseItem.js diff --git a/uview-components/uview-ui/libs/config/props/columnNotice.js b/components/uview-components/uview-ui/libs/config/props/columnNotice.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/columnNotice.js rename to components/uview-components/uview-ui/libs/config/props/columnNotice.js diff --git a/uview-components/uview-ui/libs/config/props/countDown.js b/components/uview-components/uview-ui/libs/config/props/countDown.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/countDown.js rename to components/uview-components/uview-ui/libs/config/props/countDown.js diff --git a/uview-components/uview-ui/libs/config/props/countTo.js b/components/uview-components/uview-ui/libs/config/props/countTo.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/countTo.js rename to components/uview-components/uview-ui/libs/config/props/countTo.js diff --git a/uview-components/uview-ui/libs/config/props/datetimePicker.js b/components/uview-components/uview-ui/libs/config/props/datetimePicker.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/datetimePicker.js rename to components/uview-components/uview-ui/libs/config/props/datetimePicker.js diff --git a/uview-components/uview-ui/libs/config/props/divider.js b/components/uview-components/uview-ui/libs/config/props/divider.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/divider.js rename to components/uview-components/uview-ui/libs/config/props/divider.js diff --git a/uview-components/uview-ui/libs/config/props/empty.js b/components/uview-components/uview-ui/libs/config/props/empty.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/empty.js rename to components/uview-components/uview-ui/libs/config/props/empty.js diff --git a/uview-components/uview-ui/libs/config/props/form.js b/components/uview-components/uview-ui/libs/config/props/form.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/form.js rename to components/uview-components/uview-ui/libs/config/props/form.js diff --git a/uview-components/uview-ui/libs/config/props/formItem.js b/components/uview-components/uview-ui/libs/config/props/formItem.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/formItem.js rename to components/uview-components/uview-ui/libs/config/props/formItem.js diff --git a/uview-components/uview-ui/libs/config/props/gap.js b/components/uview-components/uview-ui/libs/config/props/gap.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/gap.js rename to components/uview-components/uview-ui/libs/config/props/gap.js diff --git a/uview-components/uview-ui/libs/config/props/grid.js b/components/uview-components/uview-ui/libs/config/props/grid.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/grid.js rename to components/uview-components/uview-ui/libs/config/props/grid.js diff --git a/uview-components/uview-ui/libs/config/props/gridItem.js b/components/uview-components/uview-ui/libs/config/props/gridItem.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/gridItem.js rename to components/uview-components/uview-ui/libs/config/props/gridItem.js diff --git a/uview-components/uview-ui/libs/config/props/icon.js b/components/uview-components/uview-ui/libs/config/props/icon.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/icon.js rename to components/uview-components/uview-ui/libs/config/props/icon.js diff --git a/uview-components/uview-ui/libs/config/props/image.js b/components/uview-components/uview-ui/libs/config/props/image.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/image.js rename to components/uview-components/uview-ui/libs/config/props/image.js diff --git a/uview-components/uview-ui/libs/config/props/indexAnchor.js b/components/uview-components/uview-ui/libs/config/props/indexAnchor.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/indexAnchor.js rename to components/uview-components/uview-ui/libs/config/props/indexAnchor.js diff --git a/uview-components/uview-ui/libs/config/props/indexList.js b/components/uview-components/uview-ui/libs/config/props/indexList.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/indexList.js rename to components/uview-components/uview-ui/libs/config/props/indexList.js diff --git a/uview-components/uview-ui/libs/config/props/input.js b/components/uview-components/uview-ui/libs/config/props/input.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/input.js rename to components/uview-components/uview-ui/libs/config/props/input.js diff --git a/uview-components/uview-ui/libs/config/props/keyboard.js b/components/uview-components/uview-ui/libs/config/props/keyboard.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/keyboard.js rename to components/uview-components/uview-ui/libs/config/props/keyboard.js diff --git a/uview-components/uview-ui/libs/config/props/line.js b/components/uview-components/uview-ui/libs/config/props/line.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/line.js rename to components/uview-components/uview-ui/libs/config/props/line.js diff --git a/uview-components/uview-ui/libs/config/props/lineProgress.js b/components/uview-components/uview-ui/libs/config/props/lineProgress.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/lineProgress.js rename to components/uview-components/uview-ui/libs/config/props/lineProgress.js diff --git a/uview-components/uview-ui/libs/config/props/link.js b/components/uview-components/uview-ui/libs/config/props/link.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/link.js rename to components/uview-components/uview-ui/libs/config/props/link.js diff --git a/uview-components/uview-ui/libs/config/props/list.js b/components/uview-components/uview-ui/libs/config/props/list.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/list.js rename to components/uview-components/uview-ui/libs/config/props/list.js diff --git a/uview-components/uview-ui/libs/config/props/listItem.js b/components/uview-components/uview-ui/libs/config/props/listItem.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/listItem.js rename to components/uview-components/uview-ui/libs/config/props/listItem.js diff --git a/uview-components/uview-ui/libs/config/props/loadingIcon.js b/components/uview-components/uview-ui/libs/config/props/loadingIcon.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/loadingIcon.js rename to components/uview-components/uview-ui/libs/config/props/loadingIcon.js diff --git a/uview-components/uview-ui/libs/config/props/loadingPage.js b/components/uview-components/uview-ui/libs/config/props/loadingPage.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/loadingPage.js rename to components/uview-components/uview-ui/libs/config/props/loadingPage.js diff --git a/uview-components/uview-ui/libs/config/props/loadmore.js b/components/uview-components/uview-ui/libs/config/props/loadmore.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/loadmore.js rename to components/uview-components/uview-ui/libs/config/props/loadmore.js diff --git a/uview-components/uview-ui/libs/config/props/modal.js b/components/uview-components/uview-ui/libs/config/props/modal.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/modal.js rename to components/uview-components/uview-ui/libs/config/props/modal.js diff --git a/uview-components/uview-ui/libs/config/props/navbar.js b/components/uview-components/uview-ui/libs/config/props/navbar.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/navbar.js rename to components/uview-components/uview-ui/libs/config/props/navbar.js diff --git a/uview-components/uview-ui/libs/config/props/noNetwork.js b/components/uview-components/uview-ui/libs/config/props/noNetwork.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/noNetwork.js rename to components/uview-components/uview-ui/libs/config/props/noNetwork.js diff --git a/uview-components/uview-ui/libs/config/props/noticeBar.js b/components/uview-components/uview-ui/libs/config/props/noticeBar.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/noticeBar.js rename to components/uview-components/uview-ui/libs/config/props/noticeBar.js diff --git a/uview-components/uview-ui/libs/config/props/notify.js b/components/uview-components/uview-ui/libs/config/props/notify.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/notify.js rename to components/uview-components/uview-ui/libs/config/props/notify.js diff --git a/uview-components/uview-ui/libs/config/props/numberBox.js b/components/uview-components/uview-ui/libs/config/props/numberBox.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/numberBox.js rename to components/uview-components/uview-ui/libs/config/props/numberBox.js diff --git a/uview-components/uview-ui/libs/config/props/numberKeyboard.js b/components/uview-components/uview-ui/libs/config/props/numberKeyboard.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/numberKeyboard.js rename to components/uview-components/uview-ui/libs/config/props/numberKeyboard.js diff --git a/uview-components/uview-ui/libs/config/props/overlay.js b/components/uview-components/uview-ui/libs/config/props/overlay.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/overlay.js rename to components/uview-components/uview-ui/libs/config/props/overlay.js diff --git a/uview-components/uview-ui/libs/config/props/parse.js b/components/uview-components/uview-ui/libs/config/props/parse.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/parse.js rename to components/uview-components/uview-ui/libs/config/props/parse.js diff --git a/uview-components/uview-ui/libs/config/props/picker.js b/components/uview-components/uview-ui/libs/config/props/picker.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/picker.js rename to components/uview-components/uview-ui/libs/config/props/picker.js diff --git a/uview-components/uview-ui/libs/config/props/popup.js b/components/uview-components/uview-ui/libs/config/props/popup.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/popup.js rename to components/uview-components/uview-ui/libs/config/props/popup.js diff --git a/uview-components/uview-ui/libs/config/props/radio.js b/components/uview-components/uview-ui/libs/config/props/radio.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/radio.js rename to components/uview-components/uview-ui/libs/config/props/radio.js diff --git a/uview-components/uview-ui/libs/config/props/radioGroup.js b/components/uview-components/uview-ui/libs/config/props/radioGroup.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/radioGroup.js rename to components/uview-components/uview-ui/libs/config/props/radioGroup.js diff --git a/uview-components/uview-ui/libs/config/props/rate.js b/components/uview-components/uview-ui/libs/config/props/rate.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/rate.js rename to components/uview-components/uview-ui/libs/config/props/rate.js diff --git a/uview-components/uview-ui/libs/config/props/readMore.js b/components/uview-components/uview-ui/libs/config/props/readMore.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/readMore.js rename to components/uview-components/uview-ui/libs/config/props/readMore.js diff --git a/uview-components/uview-ui/libs/config/props/row.js b/components/uview-components/uview-ui/libs/config/props/row.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/row.js rename to components/uview-components/uview-ui/libs/config/props/row.js diff --git a/uview-components/uview-ui/libs/config/props/rowNotice.js b/components/uview-components/uview-ui/libs/config/props/rowNotice.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/rowNotice.js rename to components/uview-components/uview-ui/libs/config/props/rowNotice.js diff --git a/uview-components/uview-ui/libs/config/props/scrollList.js b/components/uview-components/uview-ui/libs/config/props/scrollList.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/scrollList.js rename to components/uview-components/uview-ui/libs/config/props/scrollList.js diff --git a/uview-components/uview-ui/libs/config/props/search.js b/components/uview-components/uview-ui/libs/config/props/search.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/search.js rename to components/uview-components/uview-ui/libs/config/props/search.js diff --git a/uview-components/uview-ui/libs/config/props/section.js b/components/uview-components/uview-ui/libs/config/props/section.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/section.js rename to components/uview-components/uview-ui/libs/config/props/section.js diff --git a/uview-components/uview-ui/libs/config/props/skeleton.js b/components/uview-components/uview-ui/libs/config/props/skeleton.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/skeleton.js rename to components/uview-components/uview-ui/libs/config/props/skeleton.js diff --git a/uview-components/uview-ui/libs/config/props/slider.js b/components/uview-components/uview-ui/libs/config/props/slider.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/slider.js rename to components/uview-components/uview-ui/libs/config/props/slider.js diff --git a/uview-components/uview-ui/libs/config/props/statusBar.js b/components/uview-components/uview-ui/libs/config/props/statusBar.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/statusBar.js rename to components/uview-components/uview-ui/libs/config/props/statusBar.js diff --git a/uview-components/uview-ui/libs/config/props/steps.js b/components/uview-components/uview-ui/libs/config/props/steps.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/steps.js rename to components/uview-components/uview-ui/libs/config/props/steps.js diff --git a/uview-components/uview-ui/libs/config/props/stepsItem.js b/components/uview-components/uview-ui/libs/config/props/stepsItem.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/stepsItem.js rename to components/uview-components/uview-ui/libs/config/props/stepsItem.js diff --git a/uview-components/uview-ui/libs/config/props/sticky.js b/components/uview-components/uview-ui/libs/config/props/sticky.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/sticky.js rename to components/uview-components/uview-ui/libs/config/props/sticky.js diff --git a/uview-components/uview-ui/libs/config/props/subsection.js b/components/uview-components/uview-ui/libs/config/props/subsection.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/subsection.js rename to components/uview-components/uview-ui/libs/config/props/subsection.js diff --git a/uview-components/uview-ui/libs/config/props/swipeAction.js b/components/uview-components/uview-ui/libs/config/props/swipeAction.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/swipeAction.js rename to components/uview-components/uview-ui/libs/config/props/swipeAction.js diff --git a/uview-components/uview-ui/libs/config/props/swipeActionItem.js b/components/uview-components/uview-ui/libs/config/props/swipeActionItem.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/swipeActionItem.js rename to components/uview-components/uview-ui/libs/config/props/swipeActionItem.js diff --git a/uview-components/uview-ui/libs/config/props/swiper.js b/components/uview-components/uview-ui/libs/config/props/swiper.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/swiper.js rename to components/uview-components/uview-ui/libs/config/props/swiper.js diff --git a/uview-components/uview-ui/libs/config/props/swipterIndicator.js b/components/uview-components/uview-ui/libs/config/props/swipterIndicator.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/swipterIndicator.js rename to components/uview-components/uview-ui/libs/config/props/swipterIndicator.js diff --git a/uview-components/uview-ui/libs/config/props/switch.js b/components/uview-components/uview-ui/libs/config/props/switch.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/switch.js rename to components/uview-components/uview-ui/libs/config/props/switch.js diff --git a/uview-components/uview-ui/libs/config/props/tabbar.js b/components/uview-components/uview-ui/libs/config/props/tabbar.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/tabbar.js rename to components/uview-components/uview-ui/libs/config/props/tabbar.js diff --git a/uview-components/uview-ui/libs/config/props/tabbarItem.js b/components/uview-components/uview-ui/libs/config/props/tabbarItem.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/tabbarItem.js rename to components/uview-components/uview-ui/libs/config/props/tabbarItem.js diff --git a/uview-components/uview-ui/libs/config/props/tabs.js b/components/uview-components/uview-ui/libs/config/props/tabs.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/tabs.js rename to components/uview-components/uview-ui/libs/config/props/tabs.js diff --git a/uview-components/uview-ui/libs/config/props/tag.js b/components/uview-components/uview-ui/libs/config/props/tag.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/tag.js rename to components/uview-components/uview-ui/libs/config/props/tag.js diff --git a/uview-components/uview-ui/libs/config/props/text.js b/components/uview-components/uview-ui/libs/config/props/text.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/text.js rename to components/uview-components/uview-ui/libs/config/props/text.js diff --git a/uview-components/uview-ui/libs/config/props/textarea.js b/components/uview-components/uview-ui/libs/config/props/textarea.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/textarea.js rename to components/uview-components/uview-ui/libs/config/props/textarea.js diff --git a/uview-components/uview-ui/libs/config/props/toast.js b/components/uview-components/uview-ui/libs/config/props/toast.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/toast.js rename to components/uview-components/uview-ui/libs/config/props/toast.js diff --git a/uview-components/uview-ui/libs/config/props/toolbar.js b/components/uview-components/uview-ui/libs/config/props/toolbar.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/toolbar.js rename to components/uview-components/uview-ui/libs/config/props/toolbar.js diff --git a/uview-components/uview-ui/libs/config/props/tooltip.js b/components/uview-components/uview-ui/libs/config/props/tooltip.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/tooltip.js rename to components/uview-components/uview-ui/libs/config/props/tooltip.js diff --git a/uview-components/uview-ui/libs/config/props/transition.js b/components/uview-components/uview-ui/libs/config/props/transition.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/transition.js rename to components/uview-components/uview-ui/libs/config/props/transition.js diff --git a/uview-components/uview-ui/libs/config/props/upload.js b/components/uview-components/uview-ui/libs/config/props/upload.js similarity index 100% rename from uview-components/uview-ui/libs/config/props/upload.js rename to components/uview-components/uview-ui/libs/config/props/upload.js diff --git a/uview-components/uview-ui/libs/config/zIndex.js b/components/uview-components/uview-ui/libs/config/zIndex.js similarity index 100% rename from uview-components/uview-ui/libs/config/zIndex.js rename to components/uview-components/uview-ui/libs/config/zIndex.js diff --git a/uview-components/uview-ui/libs/css/color.scss b/components/uview-components/uview-ui/libs/css/color.scss similarity index 100% rename from uview-components/uview-ui/libs/css/color.scss rename to components/uview-components/uview-ui/libs/css/color.scss diff --git a/uview-components/uview-ui/libs/css/common.scss b/components/uview-components/uview-ui/libs/css/common.scss similarity index 100% rename from uview-components/uview-ui/libs/css/common.scss rename to components/uview-components/uview-ui/libs/css/common.scss diff --git a/uview-components/uview-ui/libs/css/components.scss b/components/uview-components/uview-ui/libs/css/components.scss similarity index 100% rename from uview-components/uview-ui/libs/css/components.scss rename to components/uview-components/uview-ui/libs/css/components.scss diff --git a/uview-components/uview-ui/libs/css/flex.scss b/components/uview-components/uview-ui/libs/css/flex.scss similarity index 100% rename from uview-components/uview-ui/libs/css/flex.scss rename to components/uview-components/uview-ui/libs/css/flex.scss diff --git a/uview-components/uview-ui/libs/css/h5.scss b/components/uview-components/uview-ui/libs/css/h5.scss similarity index 100% rename from uview-components/uview-ui/libs/css/h5.scss rename to components/uview-components/uview-ui/libs/css/h5.scss diff --git a/uview-components/uview-ui/libs/css/mixin.scss b/components/uview-components/uview-ui/libs/css/mixin.scss similarity index 100% rename from uview-components/uview-ui/libs/css/mixin.scss rename to components/uview-components/uview-ui/libs/css/mixin.scss diff --git a/uview-components/uview-ui/libs/css/mp.scss b/components/uview-components/uview-ui/libs/css/mp.scss similarity index 100% rename from uview-components/uview-ui/libs/css/mp.scss rename to components/uview-components/uview-ui/libs/css/mp.scss diff --git a/uview-components/uview-ui/libs/css/nvue.scss b/components/uview-components/uview-ui/libs/css/nvue.scss similarity index 100% rename from uview-components/uview-ui/libs/css/nvue.scss rename to components/uview-components/uview-ui/libs/css/nvue.scss diff --git a/uview-components/uview-ui/libs/css/style.components.scss b/components/uview-components/uview-ui/libs/css/style.components.scss similarity index 100% rename from uview-components/uview-ui/libs/css/style.components.scss rename to components/uview-components/uview-ui/libs/css/style.components.scss diff --git a/uview-components/uview-ui/libs/css/style.h5.scss b/components/uview-components/uview-ui/libs/css/style.h5.scss similarity index 100% rename from uview-components/uview-ui/libs/css/style.h5.scss rename to components/uview-components/uview-ui/libs/css/style.h5.scss diff --git a/uview-components/uview-ui/libs/css/style.mp.scss b/components/uview-components/uview-ui/libs/css/style.mp.scss similarity index 100% rename from uview-components/uview-ui/libs/css/style.mp.scss rename to components/uview-components/uview-ui/libs/css/style.mp.scss diff --git a/uview-components/uview-ui/libs/css/style.nvue.scss b/components/uview-components/uview-ui/libs/css/style.nvue.scss similarity index 100% rename from uview-components/uview-ui/libs/css/style.nvue.scss rename to components/uview-components/uview-ui/libs/css/style.nvue.scss diff --git a/uview-components/uview-ui/libs/css/style.vue.scss b/components/uview-components/uview-ui/libs/css/style.vue.scss similarity index 100% rename from uview-components/uview-ui/libs/css/style.vue.scss rename to components/uview-components/uview-ui/libs/css/style.vue.scss diff --git a/uview-components/uview-ui/libs/css/vue.scss b/components/uview-components/uview-ui/libs/css/vue.scss similarity index 100% rename from uview-components/uview-ui/libs/css/vue.scss rename to components/uview-components/uview-ui/libs/css/vue.scss diff --git a/uview-components/uview-ui/libs/function/$parent.js b/components/uview-components/uview-ui/libs/function/$parent.js similarity index 100% rename from uview-components/uview-ui/libs/function/$parent.js rename to components/uview-components/uview-ui/libs/function/$parent.js diff --git a/uview-components/uview-ui/libs/function/addUnit.js b/components/uview-components/uview-ui/libs/function/addUnit.js similarity index 100% rename from uview-components/uview-ui/libs/function/addUnit.js rename to components/uview-components/uview-ui/libs/function/addUnit.js diff --git a/uview-components/uview-ui/libs/function/bem.js b/components/uview-components/uview-ui/libs/function/bem.js similarity index 100% rename from uview-components/uview-ui/libs/function/bem.js rename to components/uview-components/uview-ui/libs/function/bem.js diff --git a/uview-components/uview-ui/libs/function/color.js b/components/uview-components/uview-ui/libs/function/color.js similarity index 100% rename from uview-components/uview-ui/libs/function/color.js rename to components/uview-components/uview-ui/libs/function/color.js diff --git a/uview-components/uview-ui/libs/function/colorGradient.js b/components/uview-components/uview-ui/libs/function/colorGradient.js similarity index 100% rename from uview-components/uview-ui/libs/function/colorGradient.js rename to components/uview-components/uview-ui/libs/function/colorGradient.js diff --git a/uview-components/uview-ui/libs/function/debounce.js b/components/uview-components/uview-ui/libs/function/debounce.js similarity index 100% rename from uview-components/uview-ui/libs/function/debounce.js rename to components/uview-components/uview-ui/libs/function/debounce.js diff --git a/uview-components/uview-ui/libs/function/deepClone.js b/components/uview-components/uview-ui/libs/function/deepClone.js similarity index 100% rename from uview-components/uview-ui/libs/function/deepClone.js rename to components/uview-components/uview-ui/libs/function/deepClone.js diff --git a/uview-components/uview-ui/libs/function/deepMerge.js b/components/uview-components/uview-ui/libs/function/deepMerge.js similarity index 100% rename from uview-components/uview-ui/libs/function/deepMerge.js rename to components/uview-components/uview-ui/libs/function/deepMerge.js diff --git a/uview-components/uview-ui/libs/function/digit.js b/components/uview-components/uview-ui/libs/function/digit.js similarity index 100% rename from uview-components/uview-ui/libs/function/digit.js rename to components/uview-components/uview-ui/libs/function/digit.js diff --git a/uview-components/uview-ui/libs/function/getParent.js b/components/uview-components/uview-ui/libs/function/getParent.js similarity index 100% rename from uview-components/uview-ui/libs/function/getParent.js rename to components/uview-components/uview-ui/libs/function/getParent.js diff --git a/uview-components/uview-ui/libs/function/guid.js b/components/uview-components/uview-ui/libs/function/guid.js similarity index 100% rename from uview-components/uview-ui/libs/function/guid.js rename to components/uview-components/uview-ui/libs/function/guid.js diff --git a/uview-components/uview-ui/libs/function/index.js b/components/uview-components/uview-ui/libs/function/index.js similarity index 100% rename from uview-components/uview-ui/libs/function/index.js rename to components/uview-components/uview-ui/libs/function/index.js diff --git a/uview-components/uview-ui/libs/function/md5.js b/components/uview-components/uview-ui/libs/function/md5.js similarity index 100% rename from uview-components/uview-ui/libs/function/md5.js rename to components/uview-components/uview-ui/libs/function/md5.js diff --git a/uview-components/uview-ui/libs/function/platform.js b/components/uview-components/uview-ui/libs/function/platform.js similarity index 100% rename from uview-components/uview-ui/libs/function/platform.js rename to components/uview-components/uview-ui/libs/function/platform.js diff --git a/uview-components/uview-ui/libs/function/queryParams.js b/components/uview-components/uview-ui/libs/function/queryParams.js similarity index 100% rename from uview-components/uview-ui/libs/function/queryParams.js rename to components/uview-components/uview-ui/libs/function/queryParams.js diff --git a/uview-components/uview-ui/libs/function/random.js b/components/uview-components/uview-ui/libs/function/random.js similarity index 100% rename from uview-components/uview-ui/libs/function/random.js rename to components/uview-components/uview-ui/libs/function/random.js diff --git a/uview-components/uview-ui/libs/function/randomArray.js b/components/uview-components/uview-ui/libs/function/randomArray.js similarity index 100% rename from uview-components/uview-ui/libs/function/randomArray.js rename to components/uview-components/uview-ui/libs/function/randomArray.js diff --git a/uview-components/uview-ui/libs/function/route.js b/components/uview-components/uview-ui/libs/function/route.js similarity index 100% rename from uview-components/uview-ui/libs/function/route.js rename to components/uview-components/uview-ui/libs/function/route.js diff --git a/uview-components/uview-ui/libs/function/sys.js b/components/uview-components/uview-ui/libs/function/sys.js similarity index 100% rename from uview-components/uview-ui/libs/function/sys.js rename to components/uview-components/uview-ui/libs/function/sys.js diff --git a/uview-components/uview-ui/libs/function/test.js b/components/uview-components/uview-ui/libs/function/test.js similarity index 100% rename from uview-components/uview-ui/libs/function/test.js rename to components/uview-components/uview-ui/libs/function/test.js diff --git a/uview-components/uview-ui/libs/function/throttle.js b/components/uview-components/uview-ui/libs/function/throttle.js similarity index 100% rename from uview-components/uview-ui/libs/function/throttle.js rename to components/uview-components/uview-ui/libs/function/throttle.js diff --git a/uview-components/uview-ui/libs/function/timeFormat.js b/components/uview-components/uview-ui/libs/function/timeFormat.js similarity index 100% rename from uview-components/uview-ui/libs/function/timeFormat.js rename to components/uview-components/uview-ui/libs/function/timeFormat.js diff --git a/uview-components/uview-ui/libs/function/timeFrom.js b/components/uview-components/uview-ui/libs/function/timeFrom.js similarity index 100% rename from uview-components/uview-ui/libs/function/timeFrom.js rename to components/uview-components/uview-ui/libs/function/timeFrom.js diff --git a/uview-components/uview-ui/libs/function/toast.js b/components/uview-components/uview-ui/libs/function/toast.js similarity index 100% rename from uview-components/uview-ui/libs/function/toast.js rename to components/uview-components/uview-ui/libs/function/toast.js diff --git a/uview-components/uview-ui/libs/function/trim.js b/components/uview-components/uview-ui/libs/function/trim.js similarity index 100% rename from uview-components/uview-ui/libs/function/trim.js rename to components/uview-components/uview-ui/libs/function/trim.js diff --git a/uview-components/uview-ui/libs/function/type2icon.js b/components/uview-components/uview-ui/libs/function/type2icon.js similarity index 100% rename from uview-components/uview-ui/libs/function/type2icon.js rename to components/uview-components/uview-ui/libs/function/type2icon.js diff --git a/uview-components/uview-ui/libs/luch-request/adapters/index.js b/components/uview-components/uview-ui/libs/luch-request/adapters/index.js similarity index 100% rename from uview-components/uview-ui/libs/luch-request/adapters/index.js rename to components/uview-components/uview-ui/libs/luch-request/adapters/index.js diff --git a/uview-components/uview-ui/libs/luch-request/core/InterceptorManager.js b/components/uview-components/uview-ui/libs/luch-request/core/InterceptorManager.js similarity index 100% rename from uview-components/uview-ui/libs/luch-request/core/InterceptorManager.js rename to components/uview-components/uview-ui/libs/luch-request/core/InterceptorManager.js diff --git a/uview-components/uview-ui/libs/luch-request/core/Request.js b/components/uview-components/uview-ui/libs/luch-request/core/Request.js similarity index 100% rename from uview-components/uview-ui/libs/luch-request/core/Request.js rename to components/uview-components/uview-ui/libs/luch-request/core/Request.js diff --git a/uview-components/uview-ui/libs/luch-request/core/buildFullPath.js b/components/uview-components/uview-ui/libs/luch-request/core/buildFullPath.js similarity index 100% rename from uview-components/uview-ui/libs/luch-request/core/buildFullPath.js rename to components/uview-components/uview-ui/libs/luch-request/core/buildFullPath.js diff --git a/uview-components/uview-ui/libs/luch-request/core/defaults.js b/components/uview-components/uview-ui/libs/luch-request/core/defaults.js similarity index 100% rename from uview-components/uview-ui/libs/luch-request/core/defaults.js rename to components/uview-components/uview-ui/libs/luch-request/core/defaults.js diff --git a/uview-components/uview-ui/libs/luch-request/core/dispatchRequest.js b/components/uview-components/uview-ui/libs/luch-request/core/dispatchRequest.js similarity index 100% rename from uview-components/uview-ui/libs/luch-request/core/dispatchRequest.js rename to components/uview-components/uview-ui/libs/luch-request/core/dispatchRequest.js diff --git a/uview-components/uview-ui/libs/luch-request/core/mergeConfig.js b/components/uview-components/uview-ui/libs/luch-request/core/mergeConfig.js similarity index 100% rename from uview-components/uview-ui/libs/luch-request/core/mergeConfig.js rename to components/uview-components/uview-ui/libs/luch-request/core/mergeConfig.js diff --git a/uview-components/uview-ui/libs/luch-request/core/settle.js b/components/uview-components/uview-ui/libs/luch-request/core/settle.js similarity index 100% rename from uview-components/uview-ui/libs/luch-request/core/settle.js rename to components/uview-components/uview-ui/libs/luch-request/core/settle.js diff --git a/uview-components/uview-ui/libs/luch-request/helpers/buildURL.js b/components/uview-components/uview-ui/libs/luch-request/helpers/buildURL.js similarity index 100% rename from uview-components/uview-ui/libs/luch-request/helpers/buildURL.js rename to components/uview-components/uview-ui/libs/luch-request/helpers/buildURL.js diff --git a/uview-components/uview-ui/libs/luch-request/helpers/combineURLs.js b/components/uview-components/uview-ui/libs/luch-request/helpers/combineURLs.js similarity index 100% rename from uview-components/uview-ui/libs/luch-request/helpers/combineURLs.js rename to components/uview-components/uview-ui/libs/luch-request/helpers/combineURLs.js diff --git a/uview-components/uview-ui/libs/luch-request/helpers/isAbsoluteURL.js b/components/uview-components/uview-ui/libs/luch-request/helpers/isAbsoluteURL.js similarity index 100% rename from uview-components/uview-ui/libs/luch-request/helpers/isAbsoluteURL.js rename to components/uview-components/uview-ui/libs/luch-request/helpers/isAbsoluteURL.js diff --git a/uview-components/uview-ui/libs/luch-request/index.d.ts b/components/uview-components/uview-ui/libs/luch-request/index.d.ts similarity index 100% rename from uview-components/uview-ui/libs/luch-request/index.d.ts rename to components/uview-components/uview-ui/libs/luch-request/index.d.ts diff --git a/uview-components/uview-ui/libs/luch-request/index.js b/components/uview-components/uview-ui/libs/luch-request/index.js similarity index 100% rename from uview-components/uview-ui/libs/luch-request/index.js rename to components/uview-components/uview-ui/libs/luch-request/index.js diff --git a/uview-components/uview-ui/libs/luch-request/utils.js b/components/uview-components/uview-ui/libs/luch-request/utils.js similarity index 100% rename from uview-components/uview-ui/libs/luch-request/utils.js rename to components/uview-components/uview-ui/libs/luch-request/utils.js diff --git a/uview-components/uview-ui/libs/luch-request/utils/clone.js b/components/uview-components/uview-ui/libs/luch-request/utils/clone.js similarity index 100% rename from uview-components/uview-ui/libs/luch-request/utils/clone.js rename to components/uview-components/uview-ui/libs/luch-request/utils/clone.js diff --git a/uview-components/uview-ui/libs/mixin/button.js b/components/uview-components/uview-ui/libs/mixin/button.js similarity index 100% rename from uview-components/uview-ui/libs/mixin/button.js rename to components/uview-components/uview-ui/libs/mixin/button.js diff --git a/uview-components/uview-ui/libs/mixin/mixin.js b/components/uview-components/uview-ui/libs/mixin/mixin.js similarity index 100% rename from uview-components/uview-ui/libs/mixin/mixin.js rename to components/uview-components/uview-ui/libs/mixin/mixin.js diff --git a/uview-components/uview-ui/libs/mixin/mpMixin.js b/components/uview-components/uview-ui/libs/mixin/mpMixin.js similarity index 100% rename from uview-components/uview-ui/libs/mixin/mpMixin.js rename to components/uview-components/uview-ui/libs/mixin/mpMixin.js diff --git a/uview-components/uview-ui/libs/mixin/mpShare.js b/components/uview-components/uview-ui/libs/mixin/mpShare.js similarity index 100% rename from uview-components/uview-ui/libs/mixin/mpShare.js rename to components/uview-components/uview-ui/libs/mixin/mpShare.js diff --git a/uview-components/uview-ui/libs/mixin/openType.js b/components/uview-components/uview-ui/libs/mixin/openType.js similarity index 100% rename from uview-components/uview-ui/libs/mixin/openType.js rename to components/uview-components/uview-ui/libs/mixin/openType.js diff --git a/uview-components/uview-ui/libs/mixin/style.js b/components/uview-components/uview-ui/libs/mixin/style.js similarity index 100% rename from uview-components/uview-ui/libs/mixin/style.js rename to components/uview-components/uview-ui/libs/mixin/style.js diff --git a/uview-components/uview-ui/libs/mixin/touch.js b/components/uview-components/uview-ui/libs/mixin/touch.js similarity index 100% rename from uview-components/uview-ui/libs/mixin/touch.js rename to components/uview-components/uview-ui/libs/mixin/touch.js diff --git a/uview-components/uview-ui/libs/request/index.js b/components/uview-components/uview-ui/libs/request/index.js similarity index 100% rename from uview-components/uview-ui/libs/request/index.js rename to components/uview-components/uview-ui/libs/request/index.js diff --git a/uview-components/uview-ui/libs/store/index.js b/components/uview-components/uview-ui/libs/store/index.js similarity index 100% rename from uview-components/uview-ui/libs/store/index.js rename to components/uview-components/uview-ui/libs/store/index.js diff --git a/uview-components/uview-ui/libs/util/area.js b/components/uview-components/uview-ui/libs/util/area.js similarity index 100% rename from uview-components/uview-ui/libs/util/area.js rename to components/uview-components/uview-ui/libs/util/area.js diff --git a/uview-components/uview-ui/libs/util/async-validator.js b/components/uview-components/uview-ui/libs/util/async-validator.js similarity index 100% rename from uview-components/uview-ui/libs/util/async-validator.js rename to components/uview-components/uview-ui/libs/util/async-validator.js diff --git a/uview-components/uview-ui/libs/util/calendar.js b/components/uview-components/uview-ui/libs/util/calendar.js similarity index 100% rename from uview-components/uview-ui/libs/util/calendar.js rename to components/uview-components/uview-ui/libs/util/calendar.js diff --git a/uview-components/uview-ui/libs/util/city.js b/components/uview-components/uview-ui/libs/util/city.js similarity index 100% rename from uview-components/uview-ui/libs/util/city.js rename to components/uview-components/uview-ui/libs/util/city.js diff --git a/uview-components/uview-ui/libs/util/dayjs.js b/components/uview-components/uview-ui/libs/util/dayjs.js similarity index 100% rename from uview-components/uview-ui/libs/util/dayjs.js rename to components/uview-components/uview-ui/libs/util/dayjs.js diff --git a/uview-components/uview-ui/libs/util/emitter.js b/components/uview-components/uview-ui/libs/util/emitter.js similarity index 100% rename from uview-components/uview-ui/libs/util/emitter.js rename to components/uview-components/uview-ui/libs/util/emitter.js diff --git a/uview-components/uview-ui/libs/util/province.js b/components/uview-components/uview-ui/libs/util/province.js similarity index 100% rename from uview-components/uview-ui/libs/util/province.js rename to components/uview-components/uview-ui/libs/util/province.js diff --git a/uview-components/uview-ui/libs/util/route.js b/components/uview-components/uview-ui/libs/util/route.js similarity index 100% rename from uview-components/uview-ui/libs/util/route.js rename to components/uview-components/uview-ui/libs/util/route.js diff --git a/uview-components/uview-ui/package.json b/components/uview-components/uview-ui/package.json similarity index 100% rename from uview-components/uview-ui/package.json rename to components/uview-components/uview-ui/package.json diff --git a/uview-components/uview-ui/theme.scss b/components/uview-components/uview-ui/theme.scss similarity index 100% rename from uview-components/uview-ui/theme.scss rename to components/uview-components/uview-ui/theme.scss diff --git a/components/verification/verification.vue b/components/verification/verification.vue index b328524..59581f1 100644 --- a/components/verification/verification.vue +++ b/components/verification/verification.vue @@ -107,7 +107,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import api from "@/config/api.js"; import storage from "@/utils/storage.js"; import uuid from "@/utils/uuid.modified.js"; diff --git a/config/api.js b/config/api.js index bc6ccf9..73823e6 100644 --- a/config/api.js +++ b/config/api.js @@ -4,10 +4,10 @@ */ // 寮�鍙戠幆澧� const dev = { - im: "http://127.0.0.1:8885", - common: "http://127.0.0.1:8890", - buyer: "http://127.0.0.1:8888", - store: "http://127.0.0.1:8889", + im: "http://192.168.0.15:8885", + common: "http://192.168.0.15:8890", + buyer: "http://192.168.0.15:8888", + store: "http://192.168.0.15:8889", // common: "http://192.168.0.113:8890", // buyer: "http://192.168.0.113:8888", // im: "http://192.168.0.113:8885", diff --git a/main.js b/main.js index 30b77ff..f8ed343 100644 --- a/main.js +++ b/main.js @@ -1,7 +1,7 @@ import Vue from "vue"; import App from "./App"; import * as filters from "./utils/filters.js"; // global filter -import uView from '@/uview-components/uview-ui' +import uView from '@/components/uview-components/uview-ui' import store from "./store"; import config from '@/config/config'; import airBtn from "@/components/m-airbtn/index.vue"; @@ -24,7 +24,7 @@ // #endif // 寮曞叆uView瀵瑰皬绋嬪簭鍒嗕韩鐨刴ixin灏佽 -let mpShare = require('./uview-components/uview-ui/libs/mixin/mpShare.js'); +let mpShare = require('./components/uview-components/uview-ui/libs/mixin/mpShare.js'); Vue.mixin(mpShare) /** diff --git a/manifest.json b/manifest.json index 5c11ce6..00529e6 100644 --- a/manifest.json +++ b/manifest.json @@ -192,7 +192,7 @@ "mp-weixin" : { /* 灏忕▼搴忕壒鏈夌浉鍏� */ "usingComponents" : true, - "appid" : "wx68b8b82ae4ebc63a", + "appid" : "wxc95bf8fcd206c2cb", "optimization" : { "subPackages" : true }, diff --git a/pages.json b/pages.json index 7f9740c..608c6c0 100644 --- a/pages.json +++ b/pages.json @@ -2,20 +2,20 @@ "easycom": { "autoscan": true, "custom": { - "^u-(.*)": "@/uview-components/uview-ui/components/u-$1/u-$1.vue", //uview, - "^uni-(.*)": "@/uni_modules/uni-$1/components/uni-$1/uni-$1.vue" // uniapp缁勪欢 + "^u-(.*)": "@/components/uview-components/uview-ui/components/u-$1/u-$1.vue" //uview, + // "^uni-(.*)": "@/uni_modules/uni-$1/components/uni-$1/uni-$1.vue" // uniapp缁勪欢 } }, - "preloadRule": { - "pages/tabbar/index/home": // 椤甸潰璺緞 - // 椤甸潰鐨勯涓嬭浇閰嶇疆 - { - "network": "all", // all(涓嶉檺缃戠粶) wifi(浠厀ifi涓嬮涓嬭浇) - "packages": [ - "uview-components" - ] // 棰勪笅杞藉垎鍖呯殑 root 鎴� name銆俖_APP__ 琛ㄧず涓诲寘 - } - }, + // "preloadRule": { + // "pages/tabbar/index/home": // 椤甸潰璺緞 + // // 椤甸潰鐨勯涓嬭浇閰嶇疆 + // { + // "network": "all", // all(涓嶉檺缃戠粶) wifi(浠厀ifi涓嬮涓嬭浇) + // "packages": [ + // "components/uview-components" + // ] // 棰勪笅杞藉垎鍖呯殑 root 鎴� name銆俖_APP__ 琛ㄧず涓诲寘 + // } + // }, "pages": [ // 绗竴涓氨鏄椤� { @@ -26,12 +26,6 @@ "navigationStyle": "custom" // 闅愯棌椤堕儴瀵艰埅鏍� } }, - // { - // "path": "pages/tabbar/index/home1", - // "style": { - // "navigationBarTitleText": "" - // } - // }, { "path": "pages/tabbar/home/index", "style": { @@ -69,12 +63,14 @@ } }, { - "path": "pages/tabbar/category/category", + // "path": "pages/tabbar/category/category", + "path": "pages/commodity-square/commoditySquare", + "style": { - "navigationBarTitleText": "鍒嗙被", - "navigationStyle": "custom", // 闅愯棌绯荤粺瀵艰埅鏍� + "navigationBarTitleText": "鍟嗗搧骞垮満", + // "navigationStyle": "custom", // 闅愯棌绯荤粺瀵艰埅鏍� "navigationBarTextStyle": "black", - "disableScroll": true, + // "disableScroll": true, "bounce": "none", "scrollIndicator": "none", "componentPlaceholder": { @@ -254,6 +250,21 @@ } }, { + "path": "pages/goods-manager/updateSkus/updateSkus", + "style": { + "enablePullDownRefresh": true, + "navigationBarTitleText": "璋冩暣搴撳瓨", + "componentPlaceholder": { + "u-icon": "view", + "u-button": "view", + "u-form": "view", + "u-form-item": "view", + "u-input": "view", + "u-popup": "view" + } + } + }, + { "path": "pages/userPermissions/userPermissions", "style": { "navigationBarTitleText": "鐢ㄦ埛鏉冮檺", @@ -315,19 +326,19 @@ } ], "subPackages": [ - { - "root": "uview-components", // 蹇呴』涓巔reloadRule涓殑鍚嶇О瀹屽叏涓�鑷� - "name": "uview-components", - "pages": [ - { - "path": "pages/empty-page/empty-page", - "style": { - "navigationBarTitleText": "", - "disableScroll": true - } - } - ] - }, + // { + // "root": "components/uview-components", // 蹇呴』涓巔reloadRule涓殑鍚嶇О瀹屽叏涓�鑷� + // "name": "uview-components", + // "pages": [ + // { + // "path": "pages/empty-page/empty-page", + // "style": { + // "navigationBarTitleText": "", + // "disableScroll": true + // } + // } + // ] + // }, { "root": "pages/mine", "pages": [ @@ -492,7 +503,12 @@ "path": "address/address", "style": { "enablePullDownRefresh": true, - "navigationBarTitleText": "鍦板潃绠$悊" + "navigationBarTitleText": "鍦板潃绠$悊", + "componentPlaceholder": { + "u-empty": "view", + "u-icon": "view", + "u-action-sheet": "view" + } } }, { @@ -968,6 +984,16 @@ "style": { "navigationBarTitleText": "瑙嗛缂栬緫" } + }, + { + "path" : "video-goods-detail", + "style" : + { + "navigationBarTitleText" : "瑙嗛鎺ㄨ崘鍟嗗搧", + "componentPlaceholder": { + "u-button": "view" + } + } } ] }, @@ -1237,6 +1263,17 @@ } }, { + "path": "invoice/setInvoice", + "style": { + "navigationBarTitleText": "", + "navigationStyle": "custom", + "componentPlaceholder": { + "u-popup": "view", + "u-input": "view" + } + } + }, + { "path": "complain/complainList", "style": { "navigationBarTitleText": "鎶曡瘔鍒楄〃", @@ -1379,11 +1416,40 @@ { "path": "fillorder", "style": { - "navigationBarTitleText": "濉啓璁㈠崟" + "navigationBarTitleText": "濉啓璁㈠崟", + "componentPlaceholder": { + "u-image": "view", + "u-row": "view", + "u-col": "view", + "u-input": "view", + "u-icon": "view", + "u-select": "view", + "u-notice-bar": "view" + } } } ] + }, + { + "root": "pages/health", + "pages": [{ + "path": "healthVideo", + "style": { + "navigationBarTitleText": "澶у仴搴�" + } + }] } + // , + // { + // "root": "pages/commodity-square", + // "pages": [{ + // "path" : "commoditySquare", + // "style" : + // { + // "navigationBarTitleText" : "鍟嗗搧骞垮満" + // } + // }] + // } ], "globalStyle": { "navigationBarTextStyle": "black", @@ -1411,7 +1477,8 @@ "text": "棣栭〉" }, { - "pagePath": "pages/tabbar/category/category", + // "pagePath": "pages/tabbar/category/category", + "pagePath": "pages/commodity-square/commoditySquare", "iconPath": "static/tabbar/category.png", "selectedIconPath": "static/tabbar/category-s.png", "text": "鍟嗗煄" diff --git a/pages/cart/coupon/couponCenter.vue b/pages/cart/coupon/couponCenter.vue index 4b17115..67cca9e 100644 --- a/pages/cart/coupon/couponCenter.vue +++ b/pages/cart/coupon/couponCenter.vue @@ -46,7 +46,7 @@ </template> <script> - import UEmpty from '@/uview-components/uview-ui/components/u-empty/u-empty.vue'; + import '@/components/uview-components/uview-ui'; import { receiveCoupons } from "@/api/members.js"; @@ -54,7 +54,6 @@ getAllCoupons } from "@/api/promotions.js"; export default { - components: {UEmpty}, data() { return { loadStatus: "more", //涓嬫媺鐘舵�� diff --git a/pages/cart/coupon/index.vue b/pages/cart/coupon/index.vue index 342bf36..c3e75e5 100644 --- a/pages/cart/coupon/index.vue +++ b/pages/cart/coupon/index.vue @@ -63,7 +63,7 @@ </div> </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { useCoupon } from "@/api/trade.js"; export default { diff --git a/pages/cart/coupon/myCoupon.vue b/pages/cart/coupon/myCoupon.vue index e367d75..b7d1392 100644 --- a/pages/cart/coupon/myCoupon.vue +++ b/pages/cart/coupon/myCoupon.vue @@ -123,13 +123,11 @@ </template> <script> -import UEmpty from '@/uview-components/uview-ui/components/u-empty/u-empty.vue'; -import UIcon from '@/uview-components/uview-ui/components/u-icon/u-icon.vue'; +import '@/components/uview-components/uview-ui'; import { getMemberCoupons } from "@/api/members.js"; export default { - components: {UEmpty,UIcon}, data() { return { tabCurrentIndex: 0, //tab鏍忎笅鏍囬粯璁や负0 鏈娇鐢� diff --git a/pages/cart/payment/payOrder.vue b/pages/cart/payment/payOrder.vue index 32f7f7b..f1c642f 100644 --- a/pages/cart/payment/payOrder.vue +++ b/pages/cart/payment/payOrder.vue @@ -43,7 +43,7 @@ </div> </template> <script> - import '@/uview-components/uview-ui' + import '@/components/uview-components/uview-ui' import * as API_Trade from "@/api/trade"; import {payCallback} from '@/api/members' export default { diff --git a/pages/cart/payment/shareOrderGoods.vue b/pages/cart/payment/shareOrderGoods.vue index 2c7eb20..933b3d0 100644 --- a/pages/cart/payment/shareOrderGoods.vue +++ b/pages/cart/payment/shareOrderGoods.vue @@ -63,7 +63,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { getGoods } from "@/api/goods.js"; import { getPinTuanShare } from "@/api/order"; import shares from "@/components/m-share/index"; diff --git a/pages/commodity-square/commoditySquare.vue b/pages/commodity-square/commoditySquare.vue new file mode 100644 index 0000000..f903f36 --- /dev/null +++ b/pages/commodity-square/commoditySquare.vue @@ -0,0 +1,330 @@ +<template> + <view class="container"> + <input type="text" v-show="false" v-model="flushDom" /> + <view class="commoditySquare"> + <view class="left" style="width: 310rpx;"> + <view class="commoditySquareItem" v-for="(item,index) in goodsList1" + @click="goToGoodsInfo('goodsList1',item.id)"> + <video :src="item.goodsVideo" v-if="item.goodsVideo " v-show="item.show" :initial-time="0" + :controls="false" object-fit="contain" :show-play-btn="false" :show-center-play-btn="false" + @loadedmetadata="getvideoInfo($event,'goodsList1',index)" :ref="'video'+item.id" + :style="{width:item.width,height:item.height}"></video> + <image :src="item.thumbnail" v-if="item.goodsVideo ==null || item.goodsVideo == ''" + mode="aspectFill" class="goodsImg"> + </image> + <view class="goodsInfo"> + <view class="">{{item.goodsName}}</view> + <view class="priceInfo"> + <view class="">锟{item.price}}</view> + <view class="">宸插敭: {{item.buyCount}}</view> + </view> + </view> + </view> + </view> + <view class="right" style="width: 310rpx;"> + <view class="commoditySquareItem" v-for="(item,index) in goodsList2" + @click="goToGoodsInfo('goodsList2',item.id)"> + <video :src="item.goodsVideo" v-if="item.goodsVideo " v-show="item.show" :initial-time="0" + :controls="false" object-fit="contain" :show-play-btn="false" :show-center-play-btn="false" + @loadedmetadata="getvideoInfo($event,'goodsList2',index)" :ref="'video'+item.id" + :style="{width:item.width,height:item.height}"></video> + <image :src="item.thumbnail" v-if="item.goodsVideo ==null || item.goodsVideo == ''" + mode="aspectFill" class="goodsImg"> + </image> + <view class="goodsInfo"> + <view class="">{{item.goodsName}}</view> + <view class="priceInfo"> + <view class="">锟{item.price}}</view> + <view class="">宸插敭: {{item.buyCount}}</view> + </view> + </view> + </view> + </view> + + + <view class="openShowLeft" @click="showDrawer('showLeft')" v-if="!showLeft"> + <uni-icons type="right" size="30"></uni-icons> + </view> + <uni-drawer ref="showLeft" mode="left" width="120" @change="change($event,'showLeft')" + class="navigationLeft"> + <view class="typeNavigation"> + <view class="typeNavigationItem" :class="{typeNavigationItemCheck:currentCategort ==item.id}" + @click="chooseCategory(item.id)" v-for="item in categoryList" :key="item.id"> + {{item.name}} + </view> + </view> + </uni-drawer> + </view> + <view style="display: flex;align-items: center;justify-content: center;margin-top: 20rpx;" v-if="canLoadMore"> + 娌℃湁鏇村鏁版嵁浜�.................</view> + <custom-tabbar bgColor="#ffffff" selected="shop"></custom-tabbar> + </view> +</template> + +<script> + import { + getCategoryList, + getGoodsList + } from "@/api/goods.js"; + import { + getSTSToken + } from '@/api/common.js' + export default { + data() { + return { + //鏄惁鏄剧ず鎵撳紑宸︿晶寮圭獥 + showLeft: false, + //鍟嗗搧瀵艰埅鍒嗙被 + categoryList: [], + //褰撳墠閫変腑鐨勫垎绫� + currentCategort: '', + //鏄剧ず娌℃湁鏁版嵁 + canLoadMore: false, + //鏈�澶ч〉鏁� + maxPages: 0, + //鍒锋柊dom浣跨敤 + flushDom: '', + //鏌ヨ鍟嗗搧闇�瑕佺殑鍙傛暟 + getGoodsParam: { + keyword: '', + pageSize: 12, + pageNumber: 1, + categoryId: null, + }, + //鍟嗗搧鍙屽垪鏄剧ず + goodsList1: [], + goodsList2: [], + } + }, + methods: { + confirm() {}, + // 鎵撳紑绐楀彛 + showDrawer(e) { + this.$refs[e].open() + }, + // 鍏抽棴绐楀彛 + closeDrawer(e) { + this.$refs[e].close() + }, + // 鎶藉眽鐘舵�佸彂鐢熷彉鍖栬Е鍙� + change(e, type) { + this[type] = e + }, + getvideoInfo(e, arrName, index) { + const wight = e.detail.width; + const height = e.detail.height; + this[arrName][index].width = 310 + 'rpx'; + //璁$畻瀹介珮姣� + const videoHeight = 310 / (wight / height) + this[arrName][index].height = Math.floor(videoHeight) + 'rpx'; + this[arrName][index].show = true; + console.log(this[arrName][index].width, this[arrName][index].height) + this.flushDom = new Date(); + }, + goToGoodsInfo(arrName, id) { + const item = this[arrName].find(item => id === item.id); + uni.navigateTo({ + url: `/pages/product/goods?id=${item.id}&goodsId=${item.goodsId}` + }); + }, + //鑾峰彇鍒嗙被瀵艰埅鏍� + async loadCategoryList() { + let list = await getCategoryList(0); + this.categoryList = list.data.result + }, + async chooseCategory(id) { + if (this.currentCategort === id) return + this.canLoadMore = false; + this.currentCategort = id + this.getGoodsParam.categoryId = id + this.getGoodsParam.keyword = '' + this.getGoodsParam.pageNumber = 1 + const goodsList = await getGoodsList(this.getGoodsParam); + const sts = await getSTSToken(); + const stsUrl = sts.data.data.endpoint + // 澶勭悊鏁版嵁 + goodsList.data.result.records.forEach(item => { + if (item.thumbnail !== '' && item.thumbnail !== null && item.thumbnail.indexOf('http') === + -1) { + item.thumbnail = stsUrl + '/' + item.thumbnail + } + if (item.goodsVideo !== '' && item.goodsVideo !== null && item.goodsVideo.indexOf( + 'http') === -1) { + item.goodsVideo = stsUrl + '/' + item.goodsVideo + } + }) + //骞冲垎缁欎袱涓暟缁� + const middle = Math.ceil(goodsList.data.result.records.length / 2); + this.goodsList1 = goodsList.data.result.records.slice(0, middle); + this.goodsList2 = goodsList.data.result.records.slice(middle); + this.maxPages = goodsList.data.result.pages + console.log(this.maxPages) + } + }, + onShow() { + this.showDrawer('showLeft') + }, + async onLoad() { + await this.loadCategoryList(); + this.getGoodsParam.pageNumber = 1 + this.getGoodsParam.categoryId = "" + this.getGoodsParam.keyword = "" + const goodsList = await getGoodsList(this.getGoodsParam); + const sts = await getSTSToken(); + const stsUrl = sts.data.data.endpoint + // 澶勭悊鏁版嵁 + goodsList.data.result.records.forEach(item => { + if (item.thumbnail !== '' && item.thumbnail !== null && item.thumbnail.indexOf('http') === + -1) { + item.thumbnail = stsUrl + '/' + item.thumbnail + } + if (item.goodsVideo !== '' && item.goodsVideo !== null && item.goodsVideo.indexOf( + 'http') === -1) { + item.goodsVideo = stsUrl + '/' + item.goodsVideo + } + }) + //骞冲垎缁欎袱涓暟缁� + const middle = Math.ceil(goodsList.data.result.records.length / 2); + this.goodsList1 = goodsList.data.result.records.slice(0, middle); + this.goodsList2 = goodsList.data.result.records.slice(middle); + this.maxPages = goodsList.data.result.pages + console.log(this.maxPages) + }, + async onReachBottom() { + if (this.getGoodsParam.pageNumber < this.maxPages) { + this.getGoodsParam.pageNumber++; + const goodsList = await getGoodsList(this.getGoodsParam); + const sts = await getSTSToken(); + const stsUrl = sts.data.data.endpoint + // 澶勭悊鏁版嵁 + goodsList.data.result.records.forEach(item => { + if (item.thumbnail !== '' && item.thumbnail !== null && item.thumbnail.indexOf('http') === + -1) { + item.thumbnail = stsUrl + '/' + item.thumbnail + } + if (item.goodsVideo !== '' && item.goodsVideo !== null && item.goodsVideo.indexOf( + 'http') === -1) { + item.goodsVideo = stsUrl + '/' + item.goodsVideo + } + }) + //骞冲垎缁欎袱涓暟缁� + const middle = Math.ceil(goodsList.data.result.records.length / 2); + this.goodsList1 = [...this.goodsList1, ...goodsList.data.result.records.slice(0, middle)]; + this.goodsList2 = [...this.goodsList2, ...goodsList.data.result.records.slice(middle)]; + this.maxPages = goodsList.data.result.pages + } else { + this.canLoadMore = true; + } + + } + } +</script> + +<style lang="scss" scoped> + .container { + width: 750rpx; + padding-bottom: 64rpx; + } + + .commoditySquare { + width: 750rpx; + position: relative; + box-sizing: border-box; + display: flex; + justify-content: space-around; + } + + .left { + box-sizing: border-box; + } + + .right { + box-sizing: border-box; + } + + .goodsImg { + width: 300rpx; + height: 300rpx; + padding-bottom: 10rpx; + } + + .commoditySquareItem { + // border: 1rpx solid #b6dbba; + border-radius: 12rpx; + box-sizing: border-box; + padding: 0 32rpx; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + } + + .commoditySquareItem:nth-child(n+1) { + margin-top: 32rpx; + } + + .openShowLeft { + position: fixed; + top: 30rpx; + left: 0; + } + + .navigationLeft { + position: relative; + background-color: #fcfcfc; + // opacity: 0.5; + box-sizing: border-box; + } + + + .scroll-view { + /* #ifndef APP-NVUE */ + width: 100%; + height: 100%; + /* #endif */ + flex: 1 + } + + .priceInfo { + margin-top: 10rpx; + display: flex; + justify-content: space-around; + } + + // 澶勭悊鎶藉眽鍐呭婊氬姩 + .scroll-view-box { + flex: 1; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + } + + + .typeNavigation { + padding: 10rpx; + position: relative; + } + + .typeNavigationItem { + padding: 24rpx; + font-size: 28rpx; + color: black; + margin-top: 10rpx; + border-radius: 12rpx; + border: 1rpx solid gray; + } + + .typeNavigationItemCheck { + background-color: #42b993; + color: #fff; + border: 0; + } + + .closeShowLeft { + position: absolute; + top: 20rpx; + right: 0; + } +</style> \ No newline at end of file diff --git a/pages/goods-manager/addGoods/addGoods.vue b/pages/goods-manager/addGoods/addGoods.vue index 02576b6..0dfd68a 100644 --- a/pages/goods-manager/addGoods/addGoods.vue +++ b/pages/goods-manager/addGoods/addGoods.vue @@ -75,19 +75,12 @@ </template> <script> -import UForm from '@/uview-components/uview-ui/components/u-form/u-form.vue'; -import UFormItem from '@/uview-components/uview-ui/components/u-form-item/u-form-item.vue'; -import UInput from '@/uview-components/uview-ui/components/u-input/u-input.vue'; -import UUpload from '@/uview-components/uview-ui/components/u-upload/u-upload.vue'; -// import UCheckboxGroup from '@/uview-components/uview-ui/components/u-checkbox-group/u-checkbox-group.vue'; -// import UCheckbox from '@/uview-components/uview-ui/components/u-checkbox/u-checkbox.vue'; -import UIcon from '@/uview-components/uview-ui/components/u-icon/u-icon.vue'; +import '@/components/uview-components/uview-ui'; import storage from "@/utils/storage.js"; import * as API_GOODS from "@/api/goods.js"; export default { - components: { UForm, UFormItem, UInput, UUpload, UIcon }, data() { return { c_index: 0, diff --git a/pages/goods-manager/goodsList/goodsList.vue b/pages/goods-manager/goodsList/goodsList.vue index e77a8be..9e62ee5 100644 --- a/pages/goods-manager/goodsList/goodsList.vue +++ b/pages/goods-manager/goodsList/goodsList.vue @@ -5,7 +5,7 @@ <!-- 閫氳繃 uni-list--waterfall 绫诲喅瀹氶〉闈㈠竷灞�鏂瑰悜 --> <!-- to 灞炴�ф惡甯﹀弬鏁拌烦杞鎯呴〉闈紝褰撳墠鍙负鍙傝�� --> <view :border="!formData.waterfall" class="uni-list-item--waterfall" title="鑷畾涔夊晢鍝佸垪琛�" - v-for="item in data" :key="item.id" @click="addGoods(item.id)"> + v-for="item in data" :key="item.id" @click="toggle(item)"> <!-- 閫氳繃header鎻掓Ы瀹氫箟鍒楄〃宸︿晶鍥剧墖 --> <view class="uni-thumb shop-picture" :class="{ 'shop-picture-column': formData.waterfall }"> @@ -32,9 +32,10 @@ item.buyCount || 0 }} </view> <view class="uni-note ellipsis"> - <text class="uni-link">涓婃灦</text> + <text :class="item.marketEnable == 'DOWN' ? 'market-down' : 'market-up'">{{ + item.marketEnable == 'DOWN' ? "宸蹭笅鏋�" : "宸蹭笂鏋�" }}</text> - <text class="uni-link" style="color:red;">鍒犻櫎</text> + <!--<text class="uni-link" style="color:red;">鍒犻櫎</text> --> </view> </view> </view> @@ -43,6 +44,7 @@ </view> </view> + <view style="height: 80px;"></view> </view> <button type="default" class="btn" @click="addGoods('')"> @@ -51,18 +53,29 @@ </button> <!-- 閫氳繃 loadMore 缁勪欢瀹炵幇涓婃媺鍔犺浇鏁堟灉锛屽闇�鑷畾涔夋樉绀哄唴瀹癸紝鍙弬鑰冿細https://ext.dcloud.net.cn/plugin?id=29 --> <uni-load-more v-if="loading || formData.status === 'noMore'" :status="formData.status" /> + <view> + <!-- 鏅�氬脊绐� --> + <uni-popup ref="popup" background-color="#fff"> + <view class="popup-content" :class="{ 'popup-height': type === 'left' || type === 'right' }"> + + <button type="default" @click="underOrup">{{ selectGoods.marketEnable == 'DOWN' ? '涓婃灦' : "涓嬫灦" + }}</button> + + <button type="default" @click="stocks">璋冩暣搴撳瓨</button> + </view> + </uni-popup> + </view> </view> </template> <script> -import UIcon from '@/uview-components/uview-ui/components/u-icon/u-icon.vue'; +import '@/components/uview-components/uview-ui'; import * as API_GOODS from "@/api/goods.js"; export default { - components: { UIcon }, data() { return { formData: { @@ -73,31 +86,11 @@ pageNumber: 1, pageSize: 10, }, - data: [ - { - "id": 122, - "goods_thumb": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/83df593e6ba448ddbe6685d928e6fa65.jpg", - "name": "銆愮垎娆俱�慉pple iPhone 11 (A2223) 64GB 娣辩┖鐏拌壊 绉诲姩鑱旈�氱數淇�4G鎵嬫満", - "goods_price": "699.00", - "goods_tip": "鐑崠涓�", - "tag": [ - "鐑崠涓�", - ] - }, - { - "id": 123, - "goods_thumb": "https://lilishop-oss.oss-cn-beijing.aliyuncs.com/83df593e6ba448ddbe6685d928e6fa65.jpg", - "name": "銆愮垎娆俱�慉pple iPhone 11 (A2223) 64GB 娣辩┖鐏拌壊 绉诲姩鑱旈�氱數淇�4G鎵嬫満", - "goods_price": "699.00", - "goods_tip": "鐑崠涓�", - "tag": [ - "鐑崠涓�", - ] - } - ], + data: [], formData: { status: 'loading', // 鍔犺浇鐘舵�� }, + selectGoods: {}, tipShow: false // 鏄惁鏄剧ず椤堕儴鎻愮ず妗� }; }, @@ -109,6 +102,48 @@ } }, methods: { + underOrup() { + let params = { + goodsId: this.selectGoods.id, + }; + this.$refs.popup.close() + if (this.selectGoods.marketEnable == 'DOWN') { + API_GOODS.upGoods(params).then((res) => { + uni.showLoading({ + title: '涓婃灦鎴愬姛' + }); + + setTimeout(function () { + uni.hideLoading(); + }, 2000); + this.getGoodsList(); + }) + } + else { + API_GOODS.lowGoods(params).then((res) => { + uni.showLoading({ + title: '涓嬫灦鎴愬姛' + }); + + setTimeout(function () { + uni.hideLoading(); + }, 2000); + this.getGoodsList(); + }) + } + }, + stocks() { + + this.$refs.popup.close() + var goodsId = this.selectGoods.id + uni.navigateTo({ + url: `/pages/goods-manager/updateSkus/updateSkus${"?goodsId=" + goodsId}`, + }); + }, + toggle(item) { + this.$refs.popup.open('bottom') + this.selectGoods = item; + }, getGoodsList() { uni.showLoading(); @@ -256,7 +291,6 @@ // 灏忕▼搴� 缂栬瘧鍚庝細澶氫竴灞傛爣绛撅紝鑰屽叾浠栧钩鍙版病鏈夛紝鎵�浠ラ渶瑕佺壒娈婂鐞嗕竴涓� /deep/ .uni-list { /* #endif */ - height: calc(100vh - 100px - 80px - 60px); display: flex; flex-direction: row; flex-wrap: wrap; @@ -303,4 +337,42 @@ margin-right: 10rpx; } } + +@mixin flex { + /* #ifndef APP-NVUE */ + display: flex; + /* #endif */ + flex-direction: row; +} + +@mixin height { + /* #ifndef APP-NVUE */ + height: 100%; + /* #endif */ + /* #ifdef APP-NVUE */ + flex: 1; + /* #endif */ +} + +.popup-content { + @include flex; + align-items: center; + justify-content: center; + padding: 15px; + height: 150px; + background-color: #fff; +} + +.popup-height { + @include height; + width: 200px; +} + +.market-down { + color: red; +} + +.market-up { + color: green; +} </style> \ No newline at end of file diff --git a/pages/goods-manager/updateSkus/updateSkus.vue b/pages/goods-manager/updateSkus/updateSkus.vue new file mode 100644 index 0000000..24e74fc --- /dev/null +++ b/pages/goods-manager/updateSkus/updateSkus.vue @@ -0,0 +1,114 @@ +<template> + <view> + <view class="container"> + <view class="item" v-for="item in skuList" :key="item.id"> + <text class="label">{{ item.simpleSpecs }}</text> + <input class="input" placeholder="璇疯緭鍏ュ簱瀛樻暟閲�" :value="item.quantity" @input="onInput" + :data-id="item.id" /> + </view> + </view> + <button type="default" class="btn" @click="updateSkus()"> + <u-icon name="plus-circle"></u-icon> + 鏇存柊 + </button> + </view> +</template> +<script> + +import * as API_GOODS from "@/api/goods.js"; +export default { + data() { + return { + routerVal: {}, + skuParams: [], + skuList: [] + } + }, + onShow() { + var goodsId = this.routerVal.goodsId + let params = { + goodsId: goodsId, + pageSize: 100 + }; + API_GOODS.getGoodsSkuData(params).then((res) => { + this.skuList = res.data.result.records + res.data.result.records.forEach(item => { + this.skuParams.push({ skuId: item.id, quantity: item.quantity }) + }); + }) + }, + onLoad(option) { + uni.showLoading({ + title: "鍔犺浇涓�", + }); + this.routerVal = option; + + uni.hideLoading(); + }, + methods: { + onInput(e) { + var id = e.currentTarget.dataset.id + for (let index = 0; index < this.skuParams.length; index++) { + if (this.skuParams[index].skuId == id) + this.skuParams[index].quantity = e.detail.value + } + }, + updateSkus() { + API_GOODS.updateStocks(this.skuParams).then((res) => { + if (res.data.code == 200) { + uni.showToast({ + title: "鏇存柊鎴愬姛", + icon: "success", + duration: 2000, + }); + setTimeout(() => { + uni.navigateBack({ + delta: 1, + }); + }) + } + }) + } + } +} +</script> +<style lang="scss" scoped> +/* WXSS 鏂囦欢 */ +.container { + padding: 20px; +} + +.item { + display: flex; + align-items: center; + margin-bottom: 20px; +} + +.label { + width: 80px; + text-align: right; + margin-right: 15px; +} + +.input { + flex: 1; + border: 1px solid #ddd; + padding: 10px; + border-radius: 4px; +} + +.btn { + background: $light-color; + position: fixed; + width: 690rpx; + bottom: 60rpx; + height: 80rpx; + left: 30rpx; + font-size: 30rpx; + line-height: 80rpx; + + .u-icon { + margin-right: 10rpx; + } +} +</style> \ No newline at end of file diff --git a/pages/health/healthVideo.vue b/pages/health/healthVideo.vue new file mode 100644 index 0000000..60167e1 --- /dev/null +++ b/pages/health/healthVideo.vue @@ -0,0 +1,1246 @@ +<template> + <view class="video-container"> + <!-- 瑙嗛鍒楄〃 --> + <swiper class="video-swiper" vertical circular :current="currentIndex" @change="onSwiperChange"> + <swiper-item v-for="(item, index) in videoList" :key="item.id"> + <view style="width: 100%;height: 100%;" v-if="item.videoContentType === 'video'"> + <!-- 鎾斁鎸夐挳锛堜粎褰撹棰戞殏鍋滄椂鏄剧ず锛� --> + <view class="play-icon" @click="togglePlay(index)" v-if="!currentVideoIsPlaying"> + <image src="/static/video/play.png" style="width: 45px;height: 45px" mode="aspectFit"></image> + </view> + <video :id="'video'+index" :ref="'video'+index" :src="item.videoUrl" + :autoplay="currentIndex === index" :controls="false" :loop="true" :object-fit="item.objectFit" + :enable-progress-gesture="false" class="video-item" @play="onPlay(item.id, index)" + @pause="onPause(index)" @ended="onEnded(index)" @click="togglePlay(index)" + @timeupdate="onTimeUpdate($event)" @loadedmetadata="onLoadedMetadata($event)"></video> + <!-- 鑷畾涔夋帶鍒舵潯 --> + <view @touchstart="handleTouchStart" @touchmove="handleTouchMove" @touchend="handleTouchEnd" + class="container"> + <!-- 杩涘害鏉� - 鏁翠釜鍖哄煙鍙嫋鍔� --> + <view class="process-warp" :style="{ opacity: showProcess ? 1 : 0 }"> + <!-- 鏄剧ず褰撳墠杩涘害 --> + <view class="progress-text">{{ hasPlayTime }}/{{formartDuration[index]}}</view> + <view class="progress-bar" id="progressBar"> + + <!-- 宸插~鍏呴儴鍒� --> + <view class="progress-fill" :style="{ width: progress + '%' }"></view> + </view> + </view> + </view> + </view> + <view style="width: 100%; height: 100%;" v-else-if="item.videoContentType === 'img'"> + <uni-swiper-dot :info="item.imgs" :current="currentImgIndex" mode="round" + style="width: 100%;height: 100%;display: flex;justify-content: center;align-items: center;" + :dots-styles="{width: 24, bottom: 24,selectedBackgroundColor: 'green', backgroundColor: 'gray'}"> + <swiper class="swiper-box" @change="imgChange" :autoplay="true" :interval="3000"> + <swiper-item v-for="img in item.imgs" :key="img"> + <view class="swiper-item"> + <!-- 璋冩暣 image 鏍峰紡锛屼娇鍏跺眳涓笖鎸夋瘮渚嬬缉鏀� --> + <image :src="img" mode="aspectFit" + style="width: 100%; height: 100%; display: block; margin: 0 auto;"></image> + </view> + </swiper-item> + </swiper> + </uni-swiper-dot> + </view> + + + <!-- 鎮寕鍟嗗搧閾炬帴灞� --> + <view class="goods-link-warp" v-if="false"> + <view class="goods-link"> + <view class="goods-container"> + <!-- 鍟嗗搧鍥剧墖 --> + <image class="goods-image" :src="item.goods.imageUrl" mode="aspectFill"></image> + + <!-- 鍟嗗搧淇℃伅 --> + <view class="goods-info"> + <text class="goods-name">{{item.goods.name}}</text> + <view class="price-section"> + <text class="current-price">楼{{item.goods.price}}</text> + <text class="original-price" + v-if="item.goods.originalPrice">楼{{item.goods.originalPrice}}</text> + </view> + <text class="sales-count">{{item.goods.saleNum}}浜哄凡璐�</text> + </view> + + <!-- 璐拱鎸夐挳 --> + <view class="buy-button"> + <text>璐拱</text> + </view> + </view> + </view> + </view> + + + <!-- 瑙嗛淇℃伅灞� --> + <view class="video-info"> + <view> + <text class="video-author">@{{item.authorName}}</text> + </view> + <view style="width: 100%;word-wrap: break-word;white-space: normal;overflow-wrap: break-word;"> + <text class="video-title">{{item.title}}</text> + <text class="video-tag" v-for="(tag, index) in item.tagList" + :key="tag.id">#{{tag.tagName}}</text> + </view> + </view> + + <!-- 鍙充晶浜掑姩鎸夐挳 --> + <view class="action-buttons" v-if="false"> + <view class="avatar-container"> + <image class="avatar" @click="jumpToHomePage(item.authorId)" :src="item.authorAvatar" + mode="aspectFill"></image> + <!-- 鍏虫敞鍥炬爣 - 浣跨敤缁濆瀹氫綅 --> + <view v-if="!item.subscribeThisAuthor" class="follow-icon" + @click="subscribeAuth(index, item.authorId)"> + <text class="iconfont"></text> + </view> + </view> + <view class="action-item" @click="toggleCollect(item, index)"> + <text class="iconfont" v-if="item.collected"></text> + <text class="iconfont" v-else></text> + <text style="font-size: 10px;font-weight: lighter;">{{item.collectNum}}</text> + </view> + <view class="action-item" @click="showComments(item)"> + <text class="iconfont"></text> + <text style="font-size: 10px;font-weight: lighter;">{{item.commentNum}}</text> + </view> + </view> + + </swiper-item> + </swiper> + + <!-- 璇勮寮圭獥 --> + <uni-popup ref="commentPopup" type="bottom" :is-mask-click="true" @maskClick="closeCommentPopup"> + <view class="comment-popup"> + <view class="popup-header"> + <text class="popup-title" v-if="!commentForm.replyId">璇勮({{commentsTotal}})</text> + <view class="reply-title" v-else> + <text>鍥炲 @{{commentForm.replyUserNickname}}</text> + <text class="cancel-reply" @click="cancelReply">鍙栨秷</text> + </view> + <text class="iconfont close-icon" @click="closeCommentPopup"></text> + </view> + + <scroll-view class="comment-list" scroll-y :show-scrollbar="false" @scrolltolower="getCommentPage"> + <view v-if="commentLoading" class="loading"> + <uni-load-more status="loading"></uni-load-more> + </view> + + <view v-else-if="comments.length === 0" class="empty"> + 鏆傛棤璇勮锛屽揩鏉ュ彂琛ㄧ涓�鏉¤瘎璁哄惂~ + </view> + + <view v-else class="comment-item" v-for="(comment, index) in comments" :key="comment.id"> + <view style="display: flex;"> + <image class="comment-avatar" :src="comment.userAvatar || '/static/default-avatar.png'"> + </image> + <view class="comment-content"> + <text class="nickname">{{comment.userNickname}}</text> + <text class="content">{{comment.commentContent}}</text> + <view style="position: relative;"> + <text class="time">{{formatTime(comment.createTime)}}</text> + <text @click="openReply(comment)" class="reply-btu time">鍥炲</text> + <text v-if="!comment.hasThumbsUp" class="thumbs-up time iconfont" + @click="thubmsUp(comment.id, index, null)"><text + v-show="comment.thumbsUpNum > 0" + class="thumbs-num">{{comment.thumbsUpNum}}</text></text> + <text v-else class="thumbs-up time iconfont" + @click="cancelThumbsUp(comment.id, index, null)"><text + v-show="comment.thumbsUpNum > 0" + class="thumbs-num">{{comment.thumbsUpNum}}</text></text> + </view> + </view> + </view> + <!-- 鍥炲鍒楄〃 --> + <view class="reply-list" v-if="comment.replies && comment.replies.length > 0"> + <view class="reply-item" v-for="(reply, replyIndex) in comment.replies" :key="reply.id"> + <view class="reply-content"> + <view style="display: flex;"> + <image class="comment-reply-avatar" + :src="reply.replyUserAvatar || '/static/default-avatar.png'"></image> + <text class="nickname">{{reply.userNickname}}</text> + <text v-if="reply.replyUserId && reply.masterCommentId !== reply.replyId" + class="reply-to"><text style="margin-right: 10rpx;font-size: 28rpx;" + class="iconfont"></text>{{reply.replyUserNickname}}</text> + </view> + <text class="content">{{reply.commentContent}}</text> + <view class="reply-footer"> + <text class="time">{{formatTime(reply.createTime)}}</text> + <text @click="openReply(comment, reply)" class="reply-btu time">鍥炲</text> + <text v-if="!reply.hasThumbsUp" class="thumbs-up time iconfont" + @click="thubmsUp(reply.id, index, replyIndex)"><text + v-show="reply.thumbsUpNum > 0" + class="thumbs-num">{{reply.thumbsUpNum}}</text></text> + <text v-else class="thumbs-up time iconfont" + @click="cancelThumbsUp(reply.id, index, replyIndex)"><text + v-show="reply.thumbsUpNum > 0" + class="thumbs-num">{{reply.thumbsUpNum}}</text></text> + </view> + </view> + </view> + </view> + <view class="view-more-replies" v-if="comment.replyTotalCount > 0 && !comment.expandReply" + @click="loadRepliesPage(comment, index)"> + <text class="line">鈥斺��</text>灞曞紑{{comment.replyTotalCount}}鏉″洖澶� 鈫� + </view> + <view class="reply-op" + v-if="comment.replyTotalCount > replyCommentQuery.pageNumber * replyCommentQuery.pageSize && comment.expandReply"> + <view @click="loadNextPageReply(index)" class="reply-op-item"><text + class="line">鈥斺��</text>灞曞紑鏇村<text class="iconfont textSideIcon"></text></view> + <view @click="retractReplyComment(index)" class="reply-op-item" style="margin-left: 50rpx;"> + 鏀惰捣<text class="iconfont textSideIcon"></text></view> + </view> + <view class="reply-op" + v-else-if="comment.replyTotalCount <= replyCommentQuery.pageNumber * replyCommentQuery.pageSize && comment.expandReply"> + <view @click="retractReplyComment(index)" class="reply-op-item"><text + class="line">鈥斺��</text>鏀惰捣<text class="iconfont textSideIcon"></text></view> + </view> + </view> + </scroll-view> + <view class="comment-input-area"> + <input ref="commentInput" class="comment-input" v-model="commentForm.commentContent" + :placeholder="commentForm.replyId ? `鍥炲 @${commentForm.replyUserNickname}` : '鍐欎笅浣犵殑璇勮...'" + placeholder-class="placeholder" /> + <button class="submit-btn" @click="submitComment" + :disabled="!commentForm.commentContent.trim()">鍙戦��</button> + </view> + </view> + </uni-popup> + + + </view> +</template> + +<script> + import { + getHealthRecommendVideos, + savePlayRecord, + subscribe, + getVideoComments, + addVideoComment, + thubmsUpComment, + cancelThubmsUpComment + } from "@/api/video.js"; + import { + changeCollect + } from "@/api/collect.js"; + export default { + computed: { + hasPlayTime() { + return this.sliderFormatTime(this.progress > 0 ? this.duration * this.progress / 100 : 0); + } + }, + data() { + return { + currentImgIndex: 0, // 鎾斁鍒扮鍑犲紶鍥�--绱㈠紩 + currentTime: 0, + formartDuration: [], + duration: 0, + startX: 0, + progress: 0, // 瑙嗛杩涘害 + startProgress: 0, // 寮�濮嬫粦鍔ㄦ椂鐨勮繘搴� + barLeft: 0, // 杩涘害鏉″乏杈圭晫浣嶇疆 + barWidth: 0, // 杩涘害鏉″搴� + isDragging: false, // 鏄惁姝e湪鎷栧姩 + processHidenTimer: null, // 杩涘害鏉¢殣钘忓畾鏃跺櫒 + showProcess: false, // 鏄惁鏄剧ず杩涘害鏉� + videoNoMore: false, // 鏄惁杩樻湁鏇村瑙嗛 + commentNoMore: false, // 鏄惁杩樻湁鏇村璇勮 + commentQuery: { + pageNumber: 1, + pageSize: 5, + videoId: '', + masterCommentId: '' + }, + replyCommentQuery: { + pageNumber: 1, + pageSize: 5, + videoId: '', + masterCommentId: '' + }, + commentForm: { // 璇勮琛ㄥ崟鏁版嵁 + id: '', + videoId: '', + commentContent: '', + replyId: '', + replyUserId: '', + replyUserNickname: '', + replyUserAvatar: '', + masterCommentId: null + }, + comments: [], // 璇勮鍒楄〃 + commentsTotal: 0, // 璇勮鎬绘潯鏁� + commentLoading: false, // 璇勮鍔犺浇鐘舵�� + startHidenTime: 0, // 璁板綍鍒囨崲鑷冲叾瀹冮〉闈㈢殑鏃堕棿锛岀敤浜庤绠楄棰戣鐪嬫椂闂村噺鍘荤殑閮ㄥ垎 + totalHidenTime: 0, // 鎬诲叡闅愯棌椤甸潰鐨勬椂闂� + startPauseTime: 0, // 寮�濮嬫殏鍋滅殑鏃堕棿 + totalPauseTime: 0, // 鎬诲叡鏆傚仠鐨勬椂闂� + playRecord: { + videoId: null, + viewDuration: 0, // 杩欎釜瑙嗛鎬诲叡瑙傜湅浜嗗涔� + playAt: 0, // 杩欎釜瑙嗛鎾斁鍒板摢浜� + startPlayTime: 0 // 杩欎釜瑙嗛浠庝粈涔堟椂鍊欏紑濮嬫挱鏀剧殑 + }, + currentVideoIsPlaying: true, // 褰撳墠瑙嗛鏄惁姝e湪鎾斁 + isFullScreen: false, + windowHeight: 0, + currentIndex: 0, // 褰撳墠鎾斁鐨勮棰戠储寮� + videoList: [ + + ], // 瑙嗛鍒楄〃鏁版嵁 + videoContexts: [], // 瑙嗛涓婁笅鏂囧璞¢泦鍚� + loading: false, // 鏄惁姝e湪鍔犺浇 + videoQuery: { + pageNumber: 1, + pageSize: 6, + videoFrom: 'recommend', + videoType: 'health' + } + } + }, + onShow() { + this.loadVideos() + // 濡傛灉瑙嗛鎸変笅鏆傚仠鍚庡垏鎹㈤〉闈㈠啀鍥炲埌椤甸潰鏃讹紝鍙畻鏆傚仠鏃堕棿锛堝洜涓烘殏鍋滄椂闂村拰绂诲紑椤甸潰鏃堕棿鏄噸澶嶇殑锛屽彧绠椾竴涓級 + if (this.startHidenTime !== 0 && this.currentVideoIsPlaying) { + const duration = Date.now() - this.startHidenTime + this.totalHidenTime += duration + } + }, + onHide() { + this.startHidenTime = Date.now() + }, + onLoad() { + this.loadVideos(); + }, + onReady() { + // 鍒濆鍖栬棰戜笂涓嬫枃 + this.initVideoContexts(); + }, + methods: { + // 杞挱鍥惧彉鍖� + imgChange(e) { + this.currentImgIndex = e.detail.current; + }, + // 鑾峰彇杩涘害鏉$殑浣嶇疆鍜屽昂瀵� + getBarRect() { + const query = uni.createSelectorQuery().in(this); + query.select('#progressBar').boundingClientRect(rect => { + if (rect) { + this.barLeft = rect.left; + this.barWidth = rect.width; + } + }).exec(); + }, + // 璺宠浆涓汉涓婚〉 + jumpToHomePage(authorId) { + uni.navigateTo({ + url: "/pages/video/home-page?authorId=" + authorId + }) + }, + // 鍙栨秷鐐硅禐 + async cancelThumbsUp(id, commentIndex, replyIndex) { + const data = { + refId: id, + thumbsUpType: 'video_comment' + } + cancelThubmsUpComment(data).then(res => { + if (replyIndex != null) { + this.comments[commentIndex].replies[replyIndex].hasThumbsUp = false; + this.comments[commentIndex].replies[replyIndex].thumbsUpNum -= 1; + } else { + this.comments[commentIndex].hasThumbsUp = false; + this.comments[commentIndex].thumbsUpNum -= 1; + } + }) + }, + // 璇勮鐐硅禐 + async thubmsUp(id, commentIndex, replyIndex) { + const data = { + refId: id, + thumbsUpType: 'video_comment' + } + thubmsUpComment(data).then(res => { + if (replyIndex != null) { + this.comments[commentIndex].replies[replyIndex].hasThumbsUp = true; + this.comments[commentIndex].replies[replyIndex].thumbsUpNum += 1; + } else { + this.comments[commentIndex].hasThumbsUp = true; + this.comments[commentIndex].thumbsUpNum += 1; + } + }) + }, + // 鍔犺浇涓嬩竴椤靛洖澶� + loadNextPageReply(index) { + this.replyCommentQuery.pageNumber++; + getVideoComments(this.replyCommentQuery).then(res => { + this.comments[index].replies = [ + ...this.comments[index].replies, + ...res.data.data.filter( + (newItem) => !this.comments[index].replies.some((oldItem) => oldItem.id === newItem + .id) + ), + ]; + }) + }, + // 鏀惰捣鍥炲 + retractReplyComment(index) { + this.comments[index].expandReply = false; + this.comments[index].replies = []; + }, + // 鍔犺浇鍥炲 + loadRepliesPage(comment, index) { + this.replyCommentQuery.pageNumber = 1; + this.replyCommentQuery.masterCommentId = comment.id + getVideoComments(this.replyCommentQuery).then(res => { + this.comments[index].replies = res.data.data; + this.comments[index].expandReply = true; + }) + }, + resetCommentForm() { + const videoId = this.commentForm.videoId; + this.commentForm = { // 璇勮琛ㄥ崟鏁版嵁 + id: '', + videoId: videoId, + commentContent: '', + replyId: '', + replyUserId: '', + replyUserNickname: '', + replyUserAvatar: '', + masterCommentId: null + } + }, + // 鍙栨秷鍥炲 + cancelReply() { + this.resetCommentForm() + }, + // 鎵撳紑鍥炲妗� + openReply(comment, reply = null) { + if (reply) { + comment = reply + } + this.commentForm.masterCommentId = comment.masterCommentId ? comment.masterCommentId : comment.id; + this.commentForm.replyId = comment.id; + this.commentForm.replyUserId = comment.userId; + this.commentForm.replyUserNickname = comment.userNickname; + this.commentForm.replyUserAvatar = comment.userAvatar; + // 鑷姩鑱氱劍杈撳叆妗� + this.$nextTick(() => { + const input = this.$refs.commentInput; + if (input) input.focus(); + }); + }, + // 杩涘害鏉℃椂闂存牸寮忓寲 (00:00) + sliderFormatTime(seconds) { + const mins = Math.floor(seconds / 60); + const secs = Math.floor(seconds % 60); + return `${mins.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`; + }, + // 鏍煎紡鍖栨椂闂� + formatTime(time) { + const date = new Date(time); + const now = new Date(); + const diff = Math.floor((now - date) / 1000); // 绉� + + if (diff < 60) return '鍒氬垰'; + if (diff < 3600) return `${Math.floor(diff / 60)}鍒嗛挓鍓峘; + if (diff < 86400) return `${Math.floor(diff / 3600)}灏忔椂鍓峘; + + return `${date.getMonth() + 1}鏈�${date.getDate()}鏃; + }, + // 鎻愪氦璇勮 + async submitComment() { + if (!this.commentForm.commentContent.trim()) { + uni.showToast({ + title: '璇勮鍐呭涓嶈兘涓虹┖', + icon: 'none' + }); + return; + } + // 鍙戣〃璇勮 + addVideoComment(this.commentForm).then(res => { + if (res.data.code === 200) { + this.resetCommentForm() + + // 濡傛灉鏄瘎璁哄埆浜虹殑鍥炲锛岄偅涔堝氨灏嗚繖涓彂甯冨埌replies閲岄潰 + if (res.data.data.replyId) { + for (const [index, item] of this.comments.entries()) { + if (item.id === res.data.data.replyId) { + item.replies.unshift(res.data.data); + // this.loadRepliesPage(item, index) + break; // 璺冲嚭寰幆 + } + } + } else { + this.comments.unshift(res.data.data); + } + console.log("鏂板鍚�", this.comments); + uni.showToast({ + title: '璇勮鎴愬姛' + }); + // 褰撳墠瑙嗛璇勮鏁板姞涓� + this.commentsTotal += 1; + this.videoList[this.currentIndex].commentNum += 1; + } else { + uni.showToast({ + title: res.data.msg, + icon: 'none' + }); + } + }).catch(() => { + uni.showToast({ + title: '璇勮澶辫触', + icon: 'none' + }); + }) + }, + // 鍏抽棴璇勮寮圭獥 + closeCommentPopup() { + this.$refs.commentPopup.close() + this.showCommentPopup = false; + this.comments = []; + this.resetCommentForm() + this.commentQuery.pageNumber = 1; + this.commentNoMore = false; + }, + // 涓嬫粦璇勮鍖哄姞杞借瘎璁� + async getCommentPage() { + if (this.commentNoMore) { + return; + } + getVideoComments(this.commentQuery).then(res => { + if (this.commentQuery.pageNumber === 1) { + this.comments = res.data.data + } else { + this.comments = [ + ...this.comments, + ...res.data.data.filter( + (newItem) => !this.comments.some((oldItem) => oldItem.id === newItem.id) + ), + ]; + } + if (res.data.data.length < this.commentQuery.pageSize) { + this.commentNoMore = true; + return; + } + this.commentQuery.pageNumber++; + }) + }, + // 鏄剧ず璇勮寮圭獥 + async showComments(item) { + this.commentForm.videoId = item.id; + this.$refs.commentPopup.open(); + this.commentLoading = true; + this.commentQuery.videoId = item.id + this.replyCommentQuery.videoId = item.id + // 棣栨鍔犺浇璇勮鍒嗛〉澶у皬澧炲姞涓�鍊嶏紝浠ヤ骇鐢熸粴鍔ㄦ潯锛屽悗缁彲瑙﹀彂 + this.commentQuery.pageSize *= 2; + getVideoComments(this.commentQuery).then(res => { + this.commentsTotal = res.data.total; + this.comments = res.data.data; + this.commentQuery.pageNumber += 2; + this.commentQuery.pageSize /= 2; + }).catch(() => { + uni.showToast({ + title: '鑾峰彇璇勮澶辫触', + icon: 'none' + }); + }).finally(() => { + this.commentLoading = false; + }) + }, + // 鍏虫敞浣滆�� + subscribeAuth(index, authorId) { + this.videoList.forEach(video => { + if (video.authorId === authorId) { + video.subscribeThisAuthor = true + } + }) + subscribe(authorId).then(res => { + if (res.data.code === 200) { + uni.showToast({ + title: '鍏虫敞鎴愬姛~', + icon: 'none' + }); + } else { + this.videoList.forEach(video => { + if (video.authorId === authorId) { + video.subscribeThisAuthor = false + } + }) + } + }) + }, + // 鍒濆鍖栬棰戜笂涓嬫枃 + initVideoContexts() { + this.videoContexts = this.videoList.map((_, index) => { + let videoContent = uni.createVideoContext(`video${index}`, this); + return videoContent; + }); + }, + + // 鍔犺浇瑙嗛鏁版嵁 + async loadVideos() { + if (this.loading || this.videoNoMore) return; + this.loading = true; + + getHealthRecommendVideos(this.videoQuery).then(res => { + console.log(res, "瑙嗛鏁版嵁"); + if (this.videoQuery.pageNumber === 1) { + this.videoList = res.data.data; + } else { + this.videoList = [ + ...this.videoList, + ...res.data.data.filter( + (newItem) => !this.videoList.some((oldItem) => oldItem.id === newItem.id) + ), + ]; + } + this.$nextTick(() => { + this.initVideoContexts(); + }); + this.loading = false; + if (res.data.data.length < this.videoQuery.pageSize) { + this.videoNoMore = true; + return; + } + this.videoQuery.pageNumber++; + + }) + }, + + // 婊戝姩鍒囨崲瑙嗛 + onSwiperChange(e) { + // 濡傛灉瑙嗛澶勪簬鏆傚仠鐘舵�佸線涓嬪埛瑙嗛锛岄偅涔堥渶瑕佸啀璁$畻涓�娆℃殏鍋滄椂闂� + if (!this.currentVideoIsPlaying) { + if (this.startPauseTime !== 0) { + const duration = Date.now() - this.startPauseTime + this.totalPauseTime += duration + } + } + // 淇濆瓨涓婁竴涓棰戠殑鎾斁璁板綍 + this.savePlayRecord() + const oldIndex = this.currentIndex; + this.currentIndex = e.detail.current; + + // 鏆傚仠涓婁竴涓棰� + if (this.videoContexts[oldIndex]) { + this.videoContexts[oldIndex].pause(); + } + + this.startPauseTime = 0; + // 鎾斁褰撳墠瑙嗛 + if (this.videoContexts[this.currentIndex]) { + this.videoContexts[this.currentIndex].play(); + } + }, + + // 鏀惰棌/鍙栨秷鏀惰棌 + toggleCollect(item, index) { + let data = { + refId: item.id, + collectType: 'video' + } + const beforeCollected = item.collected + const beforeCollectNum = item.collectNum + if (item.collected) { + this.videoList[index].collected = false + this.videoList[index].collectNum -= 1 + } else { + this.videoList[index].collected = true + this.videoList[index].collectNum += 1 + } + changeCollect(data).then(res => { + if (res.data.code !== 200) { + this.videoList[index].collected = beforeCollected + this.videoList[index].collectNum = beforeCollectNum + } + }) + }, + // 鍗曞嚮灞忓箷锛氭殏鍋滄垨缁х画鎾斁 + togglePlay(index) { + console.log("鍗曞嚮瑙嗛", index, this.videoContexts); + if (this.currentVideoIsPlaying) { + this.videoContexts[index].pause(); + } else { + this.videoContexts[index].play(); + } + }, + // 瑙嗛鎾斁浜嬩欢 + onPlay(id, index) { + this.getBarRect() + this.progress = 0 + console.log(id, index, "瑙﹀彂鎾斁"); + if (index === this.currentIndex) { + this.currentVideoIsPlaying = true; + } else { + this.currentVideoIsPlaying = false; + return + } + this.playRecord.videoId = id; + // 娌″垵濮嬪寲鎵嶈祴鍊硷紝鍥犱负涓�涓棰戦噸澶嶆挱鏀緊nPlay浼氶噸澶嶈Е鍙� + if (this.playRecord.startPlayTime === 0) { + this.playRecord.startPlayTime = Date.now(); + } + if (this.startPauseTime !== 0) { + const duration = Date.now() - this.startPauseTime + this.totalPauseTime += duration + } + }, + + // 瑙嗛鏆傚仠浜嬩欢 + onPause(index) { + console.log(index, "瑙﹀彂鏆傚仠"); + if (index === this.currentIndex) { + this.currentVideoIsPlaying = false; + } else { + this.currentVideoIsPlaying = true; + return + } + this.startPauseTime = Date.now() + }, + // 瑙嗛缁撴潫浜嬩欢 + onEnded(index) { + // this.currentVideoIsPlaying = false; + }, + + // 璁板綍鎾斁鏃堕暱 + onTimeUpdate(e) { + this.playRecord.playAt = e.detail.currentTime; + + this.currentTime = e.detail.currentTime; + this.progress = (e.detail.currentTime / this.duration) * 100 + }, + // 瑙︽懜寮�濮� + handleTouchStart(e) { + this.isDragging = true; + this.showProcess = true; + this.startProgress = this.progress; // 璁板綍寮�濮嬫椂鐨勮繘搴� + this.startX = e.touches[0].pageX; + console.log("璁板綍寮�濮嬫椂鐨勮繘搴�", this.startProgress); + this.videoContexts[this.currentIndex].pause() + // this.updateProgress(e); + }, + + // 瑙︽懜绉诲姩 + handleTouchMove(e) { + if (!this.isDragging || !this.barWidth) return; + clearTimeout(this.processHidenTimer) + this.videoContexts[this.currentIndex].pause() + this.updateProgress(e); + }, + + // 瑙︽懜缁撴潫 + handleTouchEnd() { + this.isDragging = false; + console.log("婊戝姩缁撴潫", this.duration * this.progress); + this.videoContexts[this.currentIndex].seek(this.duration * this.progress / 100) + this.videoContexts[this.currentIndex].play() + this.processHidenTimer = setTimeout(() => { + this.showProcess = false; + }, 1000); + }, + + // 鏇存柊杩涘害 + updateProgress(e) { + // 鑾峰彇褰撳墠瑙︽懜鐐筙鍧愭爣 + const currentX = e.touches[0].pageX; + + // 璁$畻婊戝姩璺濈(鍍忕礌) + const deltaX = currentX - this.startX; + + // 灏嗗儚绱犺窛绂昏浆鎹负杩涘害澧為噺 + const deltaProgress = (deltaX / this.barWidth) * 100; + console.log("杩涘害澧為噺", deltaProgress); + // 璁$畻鏂拌繘搴� = 寮�濮嬫椂鐨勮繘搴� + 婊戝姩澧為噺 + let newProgress = this.startProgress + deltaProgress; + + // 闄愬埗鑼冨洿鍦�0-100涔嬮棿 + newProgress = Math.max(0, Math.min(100, newProgress)); + + this.progress = newProgress; + }, + // 鑾峰彇瑙嗛鎬绘椂闀� + onLoadedMetadata(e) { + this.duration = e.detail.duration; + this.formartDuration.push(this.sliderFormatTime(this.duration)); + console.log("瑙嗛鎬绘椂闀�", this.duration); + }, + // 淇濆瓨鎾斁璁板綍 + async savePlayRecord() { + console.log(Date.now(), this.playRecord.startPlayTime, this.totalHidenTime); + + const data = { + videoId: this.playRecord.videoId, + viewDuration: Date.now() - this.playRecord.startPlayTime - this.totalHidenTime - this + .totalPauseTime, + playAt: this.playRecord.playAt + } + this.playRecord = { + videoId: null, + viewDuration: 0, // 杩欎釜瑙嗛鎬诲叡瑙傜湅浜嗗涔� + playAt: 0, // 杩欎釜瑙嗛鎾斁鍒板摢浜� + startPlayTime: 0 // 杩欎釜瑙嗛浠庝粈涔堟椂鍊欏紑濮嬫挱鏀剧殑 + } + this.totalHidenTime = 0 + this.totalPauseTime = 0 + savePlayRecord(data) + } + } + } +</script> + +<style scoped> + ::v-deep .custom-tabbar { + border-top: none !important; + } + + .video-container { + width: 100%; + height: 100vh; + background-color: #000; + } + + .video-swiper { + width: 100%; + height: calc(100% - 50px); + } + + .video-item { + width: 100%; + height: 100%; + object-fit: cover; + } + + .play-icon { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 45px; + height: 45px; + z-index: 10; + opacity: 0.6; + } + + .video-info { + width: 70%; + position: absolute; + bottom: 70px; + left: 20px; + color: #f8f8f8; + z-index: 10; + letter-spacing: 1px; + } + + .action-buttons { + position: absolute; + right: 20px; + bottom: 150px; + display: flex; + flex-direction: column; + align-items: center; + z-index: 10; + } + + .action-item { + margin-bottom: 18px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + color: #fff; + } + + .avatar-container { + margin-bottom: 27px; + position: relative; + /* 涓虹粷瀵瑰畾浣嶇殑瀛愬厓绱犳彁渚涘畾浣嶄笂涓嬫枃 */ + width: 40px; + height: 40px; + display: inline-block; + /* 浣垮鍣ㄦ牴鎹唴瀹硅皟鏁村ぇ灏� */ + } + + .avatar { + border: 2px solid #FFFFFF; + box-sizing: border-box; + width: 100%; + height: 100%; + border-radius: 50%; + /* 鍏抽敭灞炴�э紝璁剧疆涓�50%鍗冲彲瀹炵幇鍦嗗舰 */ + overflow: hidden; + /* 纭繚鍥剧墖涓嶄細瓒呭嚭鍦嗗舰杈圭晫 */ + display: block; + } + + .follow-icon { + position: absolute; + bottom: 0; + /* 瀹氫綅鍒板簳閮� */ + left: 50%; + /* 姘村钩灞呬腑寮�濮嬩綅缃� */ + transform: translate(-50%, 50%); + /* 姘村钩灞呬腑骞跺悜涓嬬Щ鍔�50% */ + + width: 18px; + /* 鍥炬爣澶у皬 */ + height: 18px; + background-color: #FF5A5F; + /* 鍥炬爣鑳屾櫙鑹� */ + border-radius: 50%; + display: flex; + justify-content: center; + align-items: center; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); + /* 杞诲井闃村奖 */ + } + + .video-tag { + margin-left: 5px; + font-weight: bold; + color: #eeeeee; + } + + .video-author { + font-size: 1.2em; + } + + /* 鍟嗗搧閾炬帴鎮寕灞傛牱寮� */ + .goods-link-warp { + position: absolute; + bottom: 160px; + left: 20px; + color: #f8f8f8; + z-index: 10; + } + + .goods-link { + position: relative; + margin: 20rpx 0; + padding: 12rpx; + background-color: rgba(255, 255, 255, 0.9); + border-radius: 12rpx; + box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.08); + } + + .goods-container { + display: flex; + align-items: center; + } + + .goods-image { + width: 120rpx; + height: 120rpx; + border-radius: 8rpx; + margin-right: 20rpx; + } + + .goods-info { + flex: 1; + display: flex; + flex-direction: column; + justify-content: center; + } + + .goods-name { + font-size: 28rpx; + color: #333; + font-weight: bold; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; + margin-bottom: 8rpx; + } + + .price-section { + display: flex; + align-items: center; + margin-bottom: 6rpx; + } + + .current-price { + font-size: 32rpx; + color: #ff2e4d; + font-weight: bold; + margin-right: 12rpx; + } + + .original-price { + font-size: 28rpx; + color: #999; + text-decoration: line-through; + } + + .sales-count { + font-size: 22rpx; + color: #999; + } + + .buy-button { + background: linear-gradient(to right, #ff5a5f, #ff2e4d); + color: white; + padding: 10rpx 28rpx; + border-radius: 20rpx; + font-size: 26rpx; + font-weight: bold; + } + + /* 璇勮寮圭獥鏍峰紡 */ + .comment-popup { + background-color: #fff; + border-radius: 20rpx 20rpx 0 0; + padding-bottom: env(safe-area-inset-bottom); + height: 60vh; + display: flex; + flex-direction: column; + } + + .popup-header { + padding: 30rpx; + display: flex; + justify-content: space-between; + align-items: center; + border-bottom: 1rpx solid #f5f5f5; + } + + .popup-title { + font-size: 32rpx; + font-weight: bold; + } + + .close-icon { + /* font-size: 36rpx; */ + color: #999; + } + + .comment-list { + flex: 1; + padding: 0rpx 20rpx 20rpx 20rpx; + box-sizing: border-box; + height: calc(60vh - 260rpx); + } + + .comment-item { + display: flex; + flex-direction: column; + padding: 10rpx 0 20rpx 0; + } + + .comment-avatar { + width: 70rpx; + height: 70rpx; + border-radius: 50%; + margin-right: 10rpx; + } + + .comment-reply-avatar { + width: 40rpx; + height: 40rpx; + border-radius: 50%; + margin-right: 10rpx; + } + + .comment-content { + flex: 1; + } + + .nickname { + font-size: 28rpx; + color: #666; + display: block; + margin-bottom: 10rpx; + } + + .content { + font-size: 28rpx; + color: #333; + display: block; + margin-bottom: 10rpx; + } + + .time { + font-size: 28rpx; + color: #999; + } + + .comment-input-area { + display: flex; + padding: 20rpx 30rpx; + align-items: center; + } + + .comment-input { + flex: 1; + background-color: #fff; + height: 80rpx; + border: 1px solid #dcdcdc; + border-radius: 40rpx; + padding: 0 30rpx; + font-size: 28rpx; + } + + .placeholder { + color: #ccc; + } + + .submit-btn { + margin-left: 20rpx; + background-color: #07c160; + color: #fff; + border-radius: 40rpx; + padding: 0 30rpx; + height: 80rpx; + line-height: 80rpx; + font-size: 28rpx; + } + + .loading, + .empty { + padding: 40rpx 0; + text-align: center; + color: #999; + } + + .reply-list { + margin-top: 20rpx; + padding-left: 80rpx; + } + + .reply-op { + margin-top: 10rpx; + padding-left: 80rpx; + display: flex; + font-size: 28rpx; + color: #333; + } + + .reply-op-item { + display: flex; + align-items: center; + height: 40rpx; + } + + .reply-item { + display: flex; + margin-bottom: 20rpx; + } + + .reply-content { + flex: 1; + } + + .reply-to { + color: #576b95; + margin: 0 10rpx; + font-size: 28rpx; + } + + .reply-title { + display: flex; + align-items: center; + font-size: 28rpx; + color: #333; + } + + .cancel-reply { + margin-left: 20rpx; + color: #576b95; + font-size: 28rpx; + padding: 6rpx 12rpx; + background: #f5f5f5; + border-radius: 20rpx; + } + + .view-more-replies { + color: #576b95; + font-size: 28rpx; + padding: 10rpx 0; + padding-left: 80rpx; + } + + .comment-footer, + .reply-footer { + display: flex; + align-items: center; + font-size: 28rpx; + color: #999; + } + + .reply-btu { + margin-left: 30rpx; + } + + .thumbs-up { + position: absolute; + right: 20rpx; + font-size: 32rpx; + width: 120rpx; + } + + .textSideIcon { + font-size: 36rpx; + margin-left: 5rpx; + } + + .line { + margin-right: 10rpx; + color: #cccccc; + } + + .thumbs-num { + margin-left: 4rpx; + } + + .container { + display: flex; + flex-direction: column; + align-items: center; + position: absolute; + bottom: 0; + width: 100%; + } + + .progress-bar { + position: relative; + width: 100%; + height: 16px; + background-color: #eee; + overflow: hidden; + } + + .progress-fill { + position: absolute; + left: 0; + top: 0; + height: 100%; + background-color: lightgray; + transition: width 0.1s; + } + + .process-warp { + width: 100%; + display: flex; + flex-direction: column; + align-items: center; + } + + .progress-text { + margin-top: 10px; + font-size: 14px; + color: #666; + } + + .swiper-box { + width: 100%; + height: 1400rpx; + } + + .swiper-item { + display: flex; + justify-content: center; + align-items: center; + width: 100%; + height: 100%; + } +</style> \ No newline at end of file diff --git a/pages/mine/activity/reportActivity.vue b/pages/mine/activity/reportActivity.vue index 1e9412b..8fed83e 100644 --- a/pages/mine/activity/reportActivity.vue +++ b/pages/mine/activity/reportActivity.vue @@ -53,18 +53,11 @@ import { getFilePreviewUrl } from '@/api/common.js' - import UButton from '@/uview-components/uview-ui/components/u-button/u-button.vue'; - import UImage from '@/uview-components/uview-ui/components/u-image/u-image.vue'; - import ULoadmore from '@/uview-components/uview-ui/components/u-loadmore/u-loadmore.vue' + import '@/components/uview-components/uview-ui'; import { getActivityReportList, } from '@/api/activity.js'; export default { - components: { - UImage, - UButton, - ULoadmore - }, data() { return { columns: [ diff --git a/pages/mine/address/add.vue b/pages/mine/address/add.vue index 36b821f..2237280 100644 --- a/pages/mine/address/add.vue +++ b/pages/mine/address/add.vue @@ -40,13 +40,7 @@ </view> </template> <script> -import UForm from '@/uview-components/uview-ui/components/u-form/u-form.vue'; -import UFormItem from '@/uview-components/uview-ui/components/u-form-item/u-form-item.vue'; -import UInput from '@/uview-components/uview-ui/components/u-input/u-input.vue'; -import UCheckboxGroup from '@/uview-components/uview-ui/components/u-checkbox-group/u-checkbox-group.vue'; -import UCheckbox from '@/uview-components/uview-ui/components/u-checkbox/u-checkbox.vue'; -import UIcon from '@/uview-components/uview-ui/components/u-icon/u-icon.vue'; -import UActionSheet from '@/uview-components/uview-ui/components/u-action-sheet/u-action-sheet.vue'; +import '@/components/uview-components/uview-ui'; import { addAddress, editAddress, getAddressDetail } from "@/api/address.js"; import city from "@/components/m-city/m-city.vue"; @@ -55,8 +49,7 @@ export default { components: { "m-city": city, - uniMap, - UForm,UFormItem,UInput,UCheckboxGroup,UCheckbox,UIcon,UActionSheet + uniMap }, onShow() { // 鍒ゆ柇褰撳墠绯荤粺鏉冮檺瀹氫綅鏄惁寮�鍚� diff --git a/pages/mine/address/address.vue b/pages/mine/address/address.vue index f450a3c..671d3cc 100644 --- a/pages/mine/address/address.vue +++ b/pages/mine/address/address.vue @@ -43,7 +43,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import * as API_Trade from "@/api/trade"; import * as API_Address from "@/api/address.js"; export default { diff --git a/pages/mine/address/addressManage.vue b/pages/mine/address/addressManage.vue index bffe3de..790c6de 100644 --- a/pages/mine/address/addressManage.vue +++ b/pages/mine/address/addressManage.vue @@ -44,13 +44,11 @@ </template> <script> -import UEmpty from '@/uview-components/uview-ui/components/u-empty/u-empty.vue'; -import UIcon from '@/uview-components/uview-ui/components/u-icon/u-icon.vue'; -import UActionSheet from '@/uview-components/uview-ui/components/u-action-sheet/u-action-sheet.vue'; +import '@/components/uview-components/uview-ui'; import * as API_Address from "@/api/address.js"; export default { - components: {UEmpty,UIcon,UActionSheet}, + data() { return { addressList: [], //鍦板潃鍒楄〃 diff --git a/pages/mine/address/storeAddress.vue b/pages/mine/address/storeAddress.vue index 451267f..9078092 100644 --- a/pages/mine/address/storeAddress.vue +++ b/pages/mine/address/storeAddress.vue @@ -21,7 +21,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import * as API_Trade from "@/api/trade"; import * as API_Store from "@/api/store.js"; export default { diff --git a/pages/mine/deposit/index.vue b/pages/mine/deposit/index.vue index f61eec7..80d5a66 100644 --- a/pages/mine/deposit/index.vue +++ b/pages/mine/deposit/index.vue @@ -39,7 +39,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { getUserRecharge, getWalletLog } from "@/api/members"; import { getUserWallet } from "@/api/members"; export default { diff --git a/pages/mine/deposit/info.vue b/pages/mine/deposit/info.vue index cbedf4f..33d4dc6 100644 --- a/pages/mine/deposit/info.vue +++ b/pages/mine/deposit/info.vue @@ -13,7 +13,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' export default {}; </script> diff --git a/pages/mine/deposit/operation.vue b/pages/mine/deposit/operation.vue index 15cfd54..d425913 100644 --- a/pages/mine/deposit/operation.vue +++ b/pages/mine/deposit/operation.vue @@ -19,7 +19,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { getUserWallet } from "@/api/members"; export default { data() { diff --git a/pages/mine/deposit/recharge.vue b/pages/mine/deposit/recharge.vue index ae6963c..af499a8 100644 --- a/pages/mine/deposit/recharge.vue +++ b/pages/mine/deposit/recharge.vue @@ -17,7 +17,7 @@ </view> </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { recharge } from "@/api/members"; export default { data() { diff --git a/pages/mine/deposit/withdrawal.vue b/pages/mine/deposit/withdrawal.vue index 1594fbb..0c12a46 100644 --- a/pages/mine/deposit/withdrawal.vue +++ b/pages/mine/deposit/withdrawal.vue @@ -47,7 +47,7 @@ </view> </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { getUserWallet, withdrawalApply, withdrawalSettingVO } from "@/api/members"; export default { data() { diff --git a/pages/mine/distribution/auth.vue b/pages/mine/distribution/auth.vue index 464bfd2..bed4cf3 100644 --- a/pages/mine/distribution/auth.vue +++ b/pages/mine/distribution/auth.vue @@ -40,15 +40,11 @@ </view> </template> <script> -import UForm from '@/uview-components/uview-ui/components/u-form/u-form.vue'; -import UFormItem from '@/uview-components/uview-ui/components/u-form-item/u-form-item.vue'; -import UInput from '@/uview-components/uview-ui/components/u-input/u-input.vue'; -import UButton from '@/uview-components/uview-ui/components/u-button/u-button.vue'; +import '@/components/uview-components/uview-ui'; import { applyDistribution } from "@/api/goods"; import { checkBankno } from "@/utils/Foundation"; export default { - components: {UForm,UFormItem,UInput,UButton}, data() { return { ruleForm: { diff --git a/pages/mine/distribution/history.vue b/pages/mine/distribution/history.vue index 56ba113..7967e3f 100644 --- a/pages/mine/distribution/history.vue +++ b/pages/mine/distribution/history.vue @@ -44,10 +44,9 @@ </view> </template> <script> -import ULoadmore from '@/uview-components/uview-ui/components/u-loadmore/u-loadmore.vue'; +import '@/components/uview-components/uview-ui'; import { cashLog, distributionOrderList } from "@/api/goods"; export default { - components: {ULoadmore}, data () { return { cashLogData: [], //鎻愮幇璁板綍鏁版嵁闆嗗悎 diff --git a/pages/mine/distribution/home.vue b/pages/mine/distribution/home.vue index 4868fcb..a032bd7 100644 --- a/pages/mine/distribution/home.vue +++ b/pages/mine/distribution/home.vue @@ -47,10 +47,9 @@ </template> <script> -import UIcon from '@/uview-components/uview-ui/components/u-icon/u-icon.vue'; +import '@/components/uview-components/uview-ui'; import { distribution } from "@/api/goods"; export default { - components: {UIcon}, data() { return { distributionData: "", diff --git a/pages/mine/distribution/join.vue b/pages/mine/distribution/join.vue index 1cfe457..42cd17b 100644 --- a/pages/mine/distribution/join.vue +++ b/pages/mine/distribution/join.vue @@ -44,14 +44,9 @@ </view> </template> <script> -import UTabs from '@/uview-components/uview-ui/components/u-tabs/u-tabs.vue'; -import UForm from '@/uview-components/uview-ui/components/u-form/u-form.vue'; -import UFormItem from '@/uview-components/uview-ui/components/u-form-item/u-form-item.vue'; -import UInput from '@/uview-components/uview-ui/components/u-input/u-input.vue'; -import UButton from '@/uview-components/uview-ui/components/u-button/u-button.vue'; +import '@/components/uview-components/uview-ui'; export default { - components: {UTabs,UForm,UFormItem,UInput,UButton}, // 蹇呴』瑕佸湪onReady鐢熷懡鍛ㄦ湡锛屽洜涓簅nLoad鐢熷懡鍛ㄦ湡缁勪欢鍙兘灏氭湭鍒涘缓瀹屾瘯 onReady() { this.$refs.uForm.setRules(this.rules); diff --git a/pages/mine/distribution/list.vue b/pages/mine/distribution/list.vue index d7e27b2..285e3b4 100644 --- a/pages/mine/distribution/list.vue +++ b/pages/mine/distribution/list.vue @@ -58,9 +58,6 @@ </view> </template> <script> -import USwipeAction from '@/uview-components/uview-ui/components/u-swipe-action/u-swipe-action.vue'; -import UImage from '@/uview-components/uview-ui/components/u-image/u-image.vue'; -import UModal from '@/uview-components/uview-ui/components/u-modal/u-modal.vue'; import { distributionGoods, @@ -70,7 +67,6 @@ import drawCanvas from "@/components/m-canvas"; export default { - components: {USwipeAction,UImage,UModal}, data() { return { lightColor: this.$lightColor, diff --git a/pages/mine/distribution/withdrawal.vue b/pages/mine/distribution/withdrawal.vue index 9274d47..e3d0b41 100644 --- a/pages/mine/distribution/withdrawal.vue +++ b/pages/mine/distribution/withdrawal.vue @@ -22,10 +22,9 @@ </view> </template> <script> -import UInput from '@/uview-components/uview-ui/components/u-input/u-input.vue'; +import '@/components/uview-components/uview-ui'; import { distribution, cash } from "@/api/goods"; export default { - components: {UInput}, data() { return { price: 0, diff --git a/pages/mine/help/tips.vue b/pages/mine/help/tips.vue index e31092e..0c12192 100644 --- a/pages/mine/help/tips.vue +++ b/pages/mine/help/tips.vue @@ -5,11 +5,11 @@ </div> </template> <script> -import UParse from '@/uview-components/uview-ui/components/u-parse/u-parse.vue'; +import '@/components/uview-components/uview-ui'; import { getArticleDetailByType } from "@/api/article"; export default { - components: {UParse}, + data() { return { res: "", diff --git a/pages/mine/im/index.vue b/pages/mine/im/index.vue index cb708c8..4d69a33 100644 --- a/pages/mine/im/index.vue +++ b/pages/mine/im/index.vue @@ -198,7 +198,7 @@ var wh // 椤堕儴绌虹洅瀛愮殑楂樺害 var mgUpHeight -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { getTalkMessage, getTalkByUser, diff --git a/pages/mine/im/list.vue b/pages/mine/im/list.vue index a643d89..a63dbf0 100644 --- a/pages/mine/im/list.vue +++ b/pages/mine/im/list.vue @@ -58,7 +58,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { getTalkList, clearmeaager } from "@/api/im.js"; import storage from "@/utils/storage.js"; import { beautifyTime } from "@/utils/filters.js" diff --git a/pages/mine/msgTips/main.vue b/pages/mine/msgTips/main.vue index 028d070..1367dbe 100644 --- a/pages/mine/msgTips/main.vue +++ b/pages/mine/msgTips/main.vue @@ -40,7 +40,7 @@ </template> <script> - import '@/uview-components/uview-ui' + import '@/components/uview-components/uview-ui' import { mapMutations } from "vuex"; diff --git a/pages/mine/msgTips/packageMsg/index.vue b/pages/mine/msgTips/packageMsg/index.vue index 76de63d..9e0ee75 100644 --- a/pages/mine/msgTips/packageMsg/index.vue +++ b/pages/mine/msgTips/packageMsg/index.vue @@ -21,7 +21,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import * as API_Message from "@/api/message.js"; export default { data() { diff --git a/pages/mine/msgTips/packageMsg/logisticsDetail.vue b/pages/mine/msgTips/packageMsg/logisticsDetail.vue index e29745b..6cf936b 100644 --- a/pages/mine/msgTips/packageMsg/logisticsDetail.vue +++ b/pages/mine/msgTips/packageMsg/logisticsDetail.vue @@ -30,7 +30,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { getExpress } from "@/api/trade.js"; export default { data() { diff --git a/pages/mine/msgTips/serviceMsg/index.vue b/pages/mine/msgTips/serviceMsg/index.vue index 7c6104c..f52079f 100644 --- a/pages/mine/msgTips/serviceMsg/index.vue +++ b/pages/mine/msgTips/serviceMsg/index.vue @@ -32,7 +32,7 @@ <script> import { mapMutations } from "vuex"; -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' export default { data() { return {}; diff --git a/pages/mine/msgTips/sysMsg/index.vue b/pages/mine/msgTips/sysMsg/index.vue index 4bf62a9..4b90daf 100644 --- a/pages/mine/msgTips/sysMsg/index.vue +++ b/pages/mine/msgTips/sysMsg/index.vue @@ -23,7 +23,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { mapMutations } from "vuex"; import * as API_Message from "@/api/message.js"; export default { diff --git a/pages/mine/myCollect.vue b/pages/mine/myCollect.vue index 47c8805..f749aae 100644 --- a/pages/mine/myCollect.vue +++ b/pages/mine/myCollect.vue @@ -62,13 +62,7 @@ </template> <script> - import UNavbar from '@/uview-components/uview-ui/components/u-navbar/u-navbar.vue'; - import UTabs from '@/uview-components/uview-ui/components/u-tabs/u-tabs.vue'; - import UEmpty from '@/uview-components/uview-ui/components/u-empty/u-empty.vue'; - import USwipeAction from '@/uview-components/uview-ui/components/u-swipe-action/u-swipe-action.vue'; - import UImage from '@/uview-components/uview-ui/components/u-image/u-image.vue'; - import ULoading from '@/uview-components/uview-ui/components/u-loading/u-loading.vue'; - import UTag from '@/uview-components/uview-ui/components/u-tag/u-tag.vue'; + import '@/components/uview-components/uview-ui'; import { getGoodsCollection, diff --git a/pages/mine/myCollect/myCollect.vue b/pages/mine/myCollect/myCollect.vue index 7251419..1349aa0 100644 --- a/pages/mine/myCollect/myCollect.vue +++ b/pages/mine/myCollect/myCollect.vue @@ -164,8 +164,7 @@ </template> <script> - import ULoadmore from '@/uview-components/uview-ui/components/u-loadmore/u-loadmore.vue' - import UImage from '@/uview-components/uview-ui/components/u-image/u-image.vue'; + import '@/components/uview-components/uview-ui'; import { getFilePreviewUrl } from '@/api/common.js' @@ -177,10 +176,7 @@ ifError } from 'assert' export default { - components: { - UImage, - ULoadmore - }, + data() { return { total: 0, diff --git a/pages/mine/myTracks.vue b/pages/mine/myTracks.vue index 315e67a..bd72c63 100644 --- a/pages/mine/myTracks.vue +++ b/pages/mine/myTracks.vue @@ -48,12 +48,7 @@ </template> <script> - import UNavbar from '@/uview-components/uview-ui/components/u-navbar/u-navbar.vue'; - import UNoticeBar from '@/uview-components/uview-ui/components/u-notice-bar/u-notice-bar.vue'; - import UEmpty from '@/uview-components/uview-ui/components/u-empty/u-empty.vue'; - import USwipeAction from '@/uview-components/uview-ui/components/u-swipe-action/u-swipe-action.vue'; - import UCheckboxGroup from '@/uview-components/uview-ui/components/u-checkbox-group/u-checkbox-group.vue'; - import UCheckbox from '@/uview-components/uview-ui/components/u-checkbox/u-checkbox.vue'; + import '@/components/uview-components/uview-ui'; import { myTrackList, @@ -61,7 +56,6 @@ } from "@/api/members.js"; export default { - components: {UNavbar,UNoticeBar,UEmpty,USwipeAction,UCheckboxGroup,UCheckbox}, data() { return { isEdit:false, diff --git a/pages/mine/point/myPoint.vue b/pages/mine/point/myPoint.vue index ad0ed21..d19996c 100644 --- a/pages/mine/point/myPoint.vue +++ b/pages/mine/point/myPoint.vue @@ -33,13 +33,11 @@ </template> <script> -import URow from '@/uview-components/uview-ui/components/u-row/u-row.vue'; -import UCol from '@/uview-components/uview-ui/components/u-col/u-col.vue'; +import '@/components/uview-components/uview-ui'; import { getPointsData } from "@/api/members.js"; import { getMemberPointSum } from "@/api/members.js"; export default { - components: {URow, UCol}, data() { return { count: { diff --git a/pages/mine/set/editionIntro.vue b/pages/mine/set/editionIntro.vue index c2d8139..6c5b4d4 100644 --- a/pages/mine/set/editionIntro.vue +++ b/pages/mine/set/editionIntro.vue @@ -40,14 +40,12 @@ </template> <script> -import UCellGroup from '@/uview-components/uview-ui/components/u-cell-group/u-cell-group.vue'; -import UCellItem from '@/uview-components/uview-ui/components/u-cell-item/u-cell-item.vue'; +import '@/components/uview-components/uview-ui'; import APPUpdate from "@/plugins/APPUpdate"; import config from "@/config/config"; import { getAppVersion } from "@/api/message.js"; export default { - components: {UCellGroup,UCellItem}, data() { return { config, diff --git a/pages/mine/set/feedBack.vue b/pages/mine/set/feedBack.vue index 8f3bf56..fc4a67a 100644 --- a/pages/mine/set/feedBack.vue +++ b/pages/mine/set/feedBack.vue @@ -35,15 +35,13 @@ </template> <script> -import UInput from '@/uview-components/uview-ui/components/u-input/u-input.vue'; -import UUpload from '@/uview-components/uview-ui/components/u-upload/u-upload.vue'; +import '@/components/uview-components/uview-ui'; import storage from "@/utils/storage.js"; import config from "@/config/config"; import { feedBack } from "@/api/members.js"; import { upload } from "@/api/common.js"; export default { - components: {UInput,UUpload}, data() { return { storage, diff --git a/pages/mine/set/personMsg.vue b/pages/mine/set/personMsg.vue index 26bac13..aa80980 100644 --- a/pages/mine/set/personMsg.vue +++ b/pages/mine/set/personMsg.vue @@ -41,19 +41,14 @@ </view> </template> <script> -import UForm from "@/uview-components/uview-ui/components/u-form/u-form.vue"; -import UFormItem from "@/uview-components/uview-ui/components/u-form-item/u-form-item.vue"; -import UInput from "@/uview-components/uview-ui/components/u-input/u-input.vue"; -import URadioGroup from "@/uview-components/uview-ui/components/u-radio-group/u-radio-group.vue"; -import URadio from "@/uview-components/uview-ui/components/u-radio/u-radio.vue"; -import UPicker from "@/uview-components/uview-ui/components/u-picker/u-picker.vue"; +import '@/components/uview-components/uview-ui'; import { saveUserInfo, getUserInfo } from "@/api/members.js"; import { upload } from "@/api/common.js"; import storage from "@/utils/storage.js"; import city from "@/components/m-city/m-city.vue"; export default { - components: { UForm,UFormItem,UInput,URadioGroup,URadio,UPicker, "m-city": city }, + components: { "m-city": city }, data() { return { lightColor: this.$lightColor, //楂樹寒棰滆壊 diff --git a/pages/mine/set/securityCenter/bindMobile.vue b/pages/mine/set/securityCenter/bindMobile.vue index ab3c01e..49a5ae4 100644 --- a/pages/mine/set/securityCenter/bindMobile.vue +++ b/pages/mine/set/securityCenter/bindMobile.vue @@ -30,7 +30,7 @@ </template> <script> - import '@/uview-components/uview-ui' + import '@/components/uview-components/uview-ui' import { sendMobile, bindMobile diff --git a/pages/mine/set/securityCenter/editPassword.vue b/pages/mine/set/securityCenter/editPassword.vue index 1c5450a..de9a999 100644 --- a/pages/mine/set/securityCenter/editPassword.vue +++ b/pages/mine/set/securityCenter/editPassword.vue @@ -43,7 +43,7 @@ </template> <script> - import '@/uview-components/uview-ui' + import '@/components/uview-components/uview-ui' import { sendMobile, resetByMobile, diff --git a/pages/mine/set/securityCenter/faceLogin.vue b/pages/mine/set/securityCenter/faceLogin.vue index ff2000b..a634bea 100644 --- a/pages/mine/set/securityCenter/faceLogin.vue +++ b/pages/mine/set/securityCenter/faceLogin.vue @@ -11,7 +11,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import storage from "@/utils/storage.js"; import { setBiolofy } from "@/api/passport.js"; diff --git a/pages/mine/set/securityCenter/fingerLogin.vue b/pages/mine/set/securityCenter/fingerLogin.vue index cce9b9f..2c65ac3 100644 --- a/pages/mine/set/securityCenter/fingerLogin.vue +++ b/pages/mine/set/securityCenter/fingerLogin.vue @@ -11,7 +11,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import storage from "@/utils/storage.js"; import { setBiolofy } from "@/api/passport.js"; diff --git a/pages/mine/set/securityCenter/securityCenter.vue b/pages/mine/set/securityCenter/securityCenter.vue index 7592344..286202c 100644 --- a/pages/mine/set/securityCenter/securityCenter.vue +++ b/pages/mine/set/securityCenter/securityCenter.vue @@ -8,7 +8,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' export default { data() { return { diff --git a/pages/mine/set/setUp.vue b/pages/mine/set/setUp.vue index 12345df..89064bf 100644 --- a/pages/mine/set/setUp.vue +++ b/pages/mine/set/setUp.vue @@ -29,14 +29,10 @@ </template> <script> -import UImage from '@/uview-components/uview-ui/components/u-image/u-image.vue'; -import UIcon from '@/uview-components/uview-ui/components/u-icon/u-icon.vue'; -import UCellGroup from '@/uview-components/uview-ui/components/u-cell-group/u-cell-group.vue'; -import UCellItem from '@/uview-components/uview-ui/components/u-cell-item/u-cell-item.vue'; +import '@/components/uview-components/uview-ui'; import config from "@/config/config"; export default { - components: {UImage,UIcon,UCellGroup,UCellItem}, data() { return { config, diff --git a/pages/mine/set/versionFunctionList.vue b/pages/mine/set/versionFunctionList.vue index 67c1240..7f3cba2 100644 --- a/pages/mine/set/versionFunctionList.vue +++ b/pages/mine/set/versionFunctionList.vue @@ -13,7 +13,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { getAppVersionList } from "@/api/message"; export default { data() { diff --git a/pages/mine/signIn.vue b/pages/mine/signIn.vue index f3940f0..484fb8d 100644 --- a/pages/mine/signIn.vue +++ b/pages/mine/signIn.vue @@ -62,11 +62,9 @@ </template> <script> -import UIcon from '@/uview-components/uview-ui/components/u-icon/u-icon.vue'; - +import '@/components/uview-components/uview-ui'; import { sign, signTime } from "@/api/point.js"; export default { - components: {UIcon}, data() { return { aiderLightColor:this.$aiderLightColor, diff --git a/pages/navigation/search/searchPage.vue b/pages/navigation/search/searchPage.vue index c93e0ff..1681c16 100644 --- a/pages/navigation/search/searchPage.vue +++ b/pages/navigation/search/searchPage.vue @@ -203,10 +203,7 @@ </template> <script> -import UNavbar from '@/uview-components/uview-ui/components/u-navbar/u-navbar.vue'; -import UPopup from '@/uview-components/uview-ui/components/u-popup/u-popup.vue'; -import UInput from '@/uview-components/uview-ui/components/u-input/u-input.vue'; -import UBackTop from '@/uview-components/uview-ui/components/u-back-top/u-back-top.vue'; +import '@/components/uview-components/uview-ui'; import { getGoodsList, getGoodsRelated } from '@/api/goods.js'; import goodsList from '@/components/m-goods-list/list.vue'; @@ -215,7 +212,7 @@ import storage from '@/utils/storage'; export default { components: { - UNavbar,UPopup,UInput,UBackTop,mSearch,goodsList + mSearch,goodsList }, data() { return { diff --git a/pages/order/afterSales/afterSales.vue b/pages/order/afterSales/afterSales.vue index 1696f29..a73f887 100644 --- a/pages/order/afterSales/afterSales.vue +++ b/pages/order/afterSales/afterSales.vue @@ -198,21 +198,14 @@ </template> <script> -import UTabs from '@/uview-components/uview-ui/components/u-tabs/u-tabs.vue'; -import USearch from '@/uview-components/uview-ui/components/u-search/u-search.vue'; -import UImage from '@/uview-components/uview-ui/components/u-image/u-image.vue'; -import UIcon from '@/uview-components/uview-ui/components/u-icon/u-icon.vue'; -import ULoadmore from '@/uview-components/uview-ui/components/u-loadmore/u-loadmore.vue'; -import UModal from '@/uview-components/uview-ui/components/u-modal/u-modal.vue'; +import '@/components/uview-components/uview-ui'; import { getAfterSaleList, cancelAfterSale } from "@/api/after-sale.js"; import { getOrderList } from "@/api/order.js"; import storage from "@/utils/storage"; export default { - components: { - UTabs,USearch,UImage,UIcon,ULoadmore - }, + data() { return { list: [ diff --git a/pages/order/afterSales/afterSalesDetail.vue b/pages/order/afterSales/afterSalesDetail.vue index fca096f..be2efa9 100644 --- a/pages/order/afterSales/afterSalesDetail.vue +++ b/pages/order/afterSales/afterSalesDetail.vue @@ -97,7 +97,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { getAfterSaleReason, applyReturn, diff --git a/pages/order/afterSales/afterSalesDetailExpress.vue b/pages/order/afterSales/afterSalesDetailExpress.vue index 152bb6b..e257967 100644 --- a/pages/order/afterSales/afterSalesDetailExpress.vue +++ b/pages/order/afterSales/afterSalesDetailExpress.vue @@ -55,7 +55,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { getLogistics } from "@/api/address.js"; import { fillShipInfo } from "@/api/after-sale.js"; import storage from "@/utils/storage"; diff --git a/pages/order/afterSales/afterSalesSelect.vue b/pages/order/afterSales/afterSalesSelect.vue index af45368..c427ada 100644 --- a/pages/order/afterSales/afterSalesSelect.vue +++ b/pages/order/afterSales/afterSalesSelect.vue @@ -55,7 +55,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { getAfterSaleInfo } from "@/api/after-sale"; import storage from "@/utils/storage"; export default { diff --git a/pages/order/afterSales/applyDetail.vue b/pages/order/afterSales/applyDetail.vue index cd14842..91b7b56 100644 --- a/pages/order/afterSales/applyDetail.vue +++ b/pages/order/afterSales/applyDetail.vue @@ -196,7 +196,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { getServiceDetail, getStoreAfterSaleAddress, diff --git a/pages/order/afterSales/applyProgress.vue b/pages/order/afterSales/applyProgress.vue index 013b3da..38178ce 100644 --- a/pages/order/afterSales/applyProgress.vue +++ b/pages/order/afterSales/applyProgress.vue @@ -37,7 +37,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' export default { data() { return { diff --git a/pages/order/afterSales/applySuccess.vue b/pages/order/afterSales/applySuccess.vue index 9b67a5b..84d3476 100644 --- a/pages/order/afterSales/applySuccess.vue +++ b/pages/order/afterSales/applySuccess.vue @@ -22,7 +22,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' export default { data() { return {}; diff --git a/pages/order/complain/complain.vue b/pages/order/complain/complain.vue index d6017e5..06ed4b8 100644 --- a/pages/order/complain/complain.vue +++ b/pages/order/complain/complain.vue @@ -56,7 +56,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import storage from "@/utils/storage.js"; import { getOrderDetail } from "@/api/order.js"; import { getComplainReason, addComplain } from "@/api/after-sale.js"; diff --git a/pages/order/complain/complainInfo.vue b/pages/order/complain/complainInfo.vue index 12ae383..3448a9a 100644 --- a/pages/order/complain/complainInfo.vue +++ b/pages/order/complain/complainInfo.vue @@ -50,7 +50,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { getComplainDetail, communication } from "@/api/after-sale"; export default { data() { diff --git a/pages/order/complain/complainList.vue b/pages/order/complain/complainList.vue index 78c19a9..20ca274 100644 --- a/pages/order/complain/complainList.vue +++ b/pages/order/complain/complainList.vue @@ -42,16 +42,11 @@ </template> <script> -import ULine from '@/uview-components/uview-ui/components/u-line/u-line.vue'; -import UImage from '@/uview-components/uview-ui/components/u-image/u-image.vue'; -import UTag from '@/uview-components/uview-ui/components/u-tag/u-tag.vue'; -import UEmpty from '@/uview-components/uview-ui/components/u-empty/u-empty.vue'; -import UModal from '@/uview-components/uview-ui/components/u-modal/u-modal.vue'; +import '@/components/uview-components/uview-ui'; import { getComplain, clearComplain } from "@/api/after-sale"; export default { - components: {ULine,UImage,UTag,UEmpty,UModal}, data() { return { statusData: { diff --git a/pages/order/evaluate/evaluateDetail.vue b/pages/order/evaluate/evaluateDetail.vue index 16ae8cc..4b68bdf 100644 --- a/pages/order/evaluate/evaluateDetail.vue +++ b/pages/order/evaluate/evaluateDetail.vue @@ -41,7 +41,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import configs from '@/config/config' export default { data() { diff --git a/pages/order/evaluate/myEvaluate.vue b/pages/order/evaluate/myEvaluate.vue index 4361988..0f97003 100644 --- a/pages/order/evaluate/myEvaluate.vue +++ b/pages/order/evaluate/myEvaluate.vue @@ -70,16 +70,11 @@ </template> <script> -import UEmpty from '@/uview-components/uview-ui/components/u-empty/u-empty.vue'; -import UImage from '@/uview-components/uview-ui/components/u-image/u-image.vue'; -import UTabs from '@/uview-components/uview-ui/components/u-tabs/u-tabs.vue'; -import UReadMore from '@/uview-components/uview-ui/components/u-read-more/u-read-more.vue'; -import UTag from '@/uview-components/uview-ui/components/u-tag/u-tag.vue'; +import '@/components/uview-components/uview-ui'; import { getOrderList } from "@/api/order.js"; import { getComments } from "@/api/members.js"; export default { - components: {UEmpty,UImage,UTabs,UReadMore,UTag}, data() { return { list: [ diff --git a/pages/order/evaluate/releaseEvaluate.vue b/pages/order/evaluate/releaseEvaluate.vue index cd4c3a1..c2a9cd0 100644 --- a/pages/order/evaluate/releaseEvaluate.vue +++ b/pages/order/evaluate/releaseEvaluate.vue @@ -87,7 +87,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import storage from "@/utils/storage.js"; import { commentsMemberOrder } from "@/api/members.js"; import { upload } from "@/api/common.js"; diff --git a/pages/order/fillorder.vue b/pages/order/fillorder.vue index 8b2ed61..d22f3d7 100644 --- a/pages/order/fillorder.vue +++ b/pages/order/fillorder.vue @@ -386,7 +386,7 @@ </div> </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import * as API_Address from "@/api/address"; import * as API_Order from "@/api/order"; import * as API_Trade from "@/api/trade"; diff --git a/pages/order/invoice/invoiceDetail.vue b/pages/order/invoice/invoiceDetail.vue index 3399b0a..82ba52a 100644 --- a/pages/order/invoice/invoiceDetail.vue +++ b/pages/order/invoice/invoiceDetail.vue @@ -43,7 +43,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { getReceiptDetail } from "@/api/order.js"; export default { diff --git a/pages/order/invoice/setInvoice.vue b/pages/order/invoice/setInvoice.vue index 995fee9..436d4bc 100644 --- a/pages/order/invoice/setInvoice.vue +++ b/pages/order/invoice/setInvoice.vue @@ -51,7 +51,7 @@ </u-popup> </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui'; import { addReceipt } from "@/api/members"; export default { props: ["res"], diff --git a/pages/order/myOrder.vue b/pages/order/myOrder.vue index 820e33b..91e50a5 100644 --- a/pages/order/myOrder.vue +++ b/pages/order/myOrder.vue @@ -213,21 +213,12 @@ </template> <script> -import UEmpty from '@/uview-components/uview-ui/components/u-empty/u-empty.vue'; -import UImage from '@/uview-components/uview-ui/components/u-image/u-image.vue'; -import UPopup from '@/uview-components/uview-ui/components/u-popup/u-popup.vue'; -import URadioGroup from '@/uview-components/uview-ui/components/u-radio-group/u-radio-group.vue'; -import URadio from '@/uview-components/uview-ui/components/u-radio/u-radio.vue'; -import UButton from '@/uview-components/uview-ui/components/u-button/u-button.vue'; -import UToast from '@/uview-components/uview-ui/components/u-toast/u-toast.vue'; -import UModal from '@/uview-components/uview-ui/components/u-modal/u-modal.vue'; +import '@/components/uview-components/uview-ui'; import { getOrderList, cancelOrder, confirmReceipt } from "@/api/order.js"; import { getClearReason } from "@/api/after-sale.js"; import LiLiWXPay from "@/js_sdk/lili-pay/wx-pay.js"; export default { - components: { - UEmpty,UImage,UPopup,URadioGroup,URadio,UButton,UToast,UModal - }, + data() { return { lightColor: this.$lightColor, diff --git a/pages/order/orderDetail.vue b/pages/order/orderDetail.vue index 377920f..1e09c58 100644 --- a/pages/order/orderDetail.vue +++ b/pages/order/orderDetail.vue @@ -260,7 +260,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { getExpress, getPackage } from "@/api/trade.js"; import { cancelOrder, confirmReceipt, getOrderDetail } from "@/api/order.js"; diff --git a/pages/passport/article.vue b/pages/passport/article.vue index 4455d8b..31df32a 100644 --- a/pages/passport/article.vue +++ b/pages/passport/article.vue @@ -11,7 +11,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { getArticleDetail } from "@/api/article.js"; export default { data() { diff --git a/pages/passport/entry/seller/control.vue b/pages/passport/entry/seller/control.vue index 7099fd9..6624f62 100644 --- a/pages/passport/entry/seller/control.vue +++ b/pages/passport/entry/seller/control.vue @@ -12,7 +12,7 @@ </template> <script> -import UNavbar from '@/uview-components/uview-ui/components/u-navbar/u-navbar.vue'; +import '@/components/uview-components/uview-ui'; import { getCompanyDetail } from "@/api/entry"; import step1 from "./step1"; @@ -28,8 +28,7 @@ components: { step1, step2, - step3, - UNavbar + step3 }, mounted() { this.init(); diff --git a/pages/passport/entry/seller/index.vue b/pages/passport/entry/seller/index.vue index 915ee0e..2a904c0 100644 --- a/pages/passport/entry/seller/index.vue +++ b/pages/passport/entry/seller/index.vue @@ -20,11 +20,10 @@ </template> <script> -import UNavbar from '@/uview-components/uview-ui/components/u-navbar/u-navbar.vue'; +import '@/components/uview-components/uview-ui'; import { getCompanyDetail } from "@/api/entry"; export default { - components: {UNavbar}, data() { return { diff --git a/pages/passport/entry/seller/step1.vue b/pages/passport/entry/seller/step1.vue index de4e907..e2a0d73 100644 --- a/pages/passport/entry/seller/step1.vue +++ b/pages/passport/entry/seller/step1.vue @@ -179,10 +179,7 @@ </template> <script> -import UForm from '@/uview-components/uview-ui/components/u-form/u-form.vue'; -import UFormItem from '@/uview-components/uview-ui/components/u-form-item/u-form-item.vue'; -import UInput from '@/uview-components/uview-ui/components/u-input/u-input.vue'; -import UUpload from '@/uview-components/uview-ui/components/u-upload/u-upload.vue'; +import '@/components/uview-components/uview-ui'; import { applyFirst } from "@/api/entry"; import city from "@/components/m-city/m-city.vue"; @@ -190,7 +187,7 @@ import { upload } from "@/api/common.js"; import * as RegExp from "@/utils/RegExp.js"; export default { - components: { "m-city": city , UForm,UFormItem,UInput,UUpload}, + components: { "m-city": city}, data() { return { storage, diff --git a/pages/passport/entry/seller/step2.vue b/pages/passport/entry/seller/step2.vue index fe76886..d2b1c90 100644 --- a/pages/passport/entry/seller/step2.vue +++ b/pages/passport/entry/seller/step2.vue @@ -48,14 +48,12 @@ </template> <script> -import UForm from '@/uview-components/uview-ui/components/u-form/u-form.vue'; -import UFormItem from '@/uview-components/uview-ui/components/u-form-item/u-form-item.vue'; -import UInput from '@/uview-components/uview-ui/components/u-input/u-input.vue'; +import '@/components/uview-components/uview-ui'; import { applySecond } from "@/api/entry"; export default { - components: {UForm,UFormItem,UInput}, + data() { return { defaultInputStyle: { diff --git a/pages/passport/entry/seller/step3.vue b/pages/passport/entry/seller/step3.vue index c1f0453..fcbf32a 100644 --- a/pages/passport/entry/seller/step3.vue +++ b/pages/passport/entry/seller/step3.vue @@ -111,11 +111,7 @@ </template> <script> -import UForm from '@/uview-components/uview-ui/components/u-form/u-form.vue'; -import UFormItem from '@/uview-components/uview-ui/components/u-form-item/u-form-item.vue'; -import UInput from '@/uview-components/uview-ui/components/u-input/u-input.vue'; -import UUpload from '@/uview-components/uview-ui/components/u-upload/u-upload.vue'; -import USelect from '@/uview-components/uview-ui/components/u-select/u-select.vue'; +import '@/components/uview-components/uview-ui'; import { applyThird } from "@/api/entry"; import { getCategoryList } from "@/api/goods"; @@ -125,7 +121,7 @@ import uniMap from "@/components/uniMap"; import permision from "@/js_sdk/wa-permission/permission.js"; export default { - components: { "m-city": city, uniMap, UForm,UFormItem,UInput,UUpload,USelect}, + components: { "m-city": city, uniMap}, data() { return { storage, diff --git a/pages/passport/login.vue b/pages/passport/login.vue index abd7068..13aa69d 100644 --- a/pages/passport/login.vue +++ b/pages/passport/login.vue @@ -82,7 +82,7 @@ </template> <script> - import '@/uview-components/uview-ui' + import '@/components/uview-components/uview-ui' import { openIdLogin, loginCallback diff --git a/pages/passport/scannerCodeLoginConfirm.vue b/pages/passport/scannerCodeLoginConfirm.vue index a105a48..283831d 100644 --- a/pages/passport/scannerCodeLoginConfirm.vue +++ b/pages/passport/scannerCodeLoginConfirm.vue @@ -26,7 +26,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { scannerCodeLogin, scannerCodeLoginConfirm } from "@/api/login"; export default { data() { diff --git a/pages/passport/wechatH5Login.vue b/pages/passport/wechatH5Login.vue index 38ec2e1..ae005ad 100644 --- a/pages/passport/wechatH5Login.vue +++ b/pages/passport/wechatH5Login.vue @@ -20,7 +20,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { whetherNavigate } from "@/utils/Foundation"; //鐧诲綍璺宠浆 import config from "@/config/config"; import api from "@/config/api.js"; diff --git a/pages/passport/wechatMPLogin.vue b/pages/passport/wechatMPLogin.vue index b48772c..9817e18 100644 --- a/pages/passport/wechatMPLogin.vue +++ b/pages/passport/wechatMPLogin.vue @@ -38,9 +38,7 @@ </template> <script> - import UCheckbox from '@/uview-components/uview-ui/components/u-checkbox/u-checkbox.vue'; - import UNavbar from '@/uview-components/uview-ui/components/u-navbar/u-navbar.vue'; - import UModal from '@/uview-components/uview-ui/components/u-modal/u-modal.vue'; + import '@/components/uview-components/uview-ui'; import { mpAutoLogin } from "@/api/connect.js"; @@ -54,7 +52,6 @@ import storage from "@/utils/storage.js"; import config from '@/config/config' export default { - components: {UCheckbox, UModal,UNavbar}, data() { return { lightColor:this.$lightColor, diff --git a/pages/product/askList.vue b/pages/product/askList.vue index d06b020..e5b6872 100644 --- a/pages/product/askList.vue +++ b/pages/product/askList.vue @@ -37,7 +37,7 @@ </div> </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import * as API_GOODS from "../../api/goods"; import * as API_MEM from "../../api/members"; export default { diff --git a/pages/product/comment.vue b/pages/product/comment.vue index 3182184..408d966 100644 --- a/pages/product/comment.vue +++ b/pages/product/comment.vue @@ -63,7 +63,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' // import { getGoodsDetail } from '@/api/goods.js'; import * as membersApi from "@/api/members.js"; import configs from '@/config/config' diff --git a/pages/product/goods.vue b/pages/product/goods.vue index e4ad5dd..fa701a1 100644 --- a/pages/product/goods.vue +++ b/pages/product/goods.vue @@ -275,9 +275,7 @@ </template> <script> -import UIcon from '@/uview-components/uview-ui/components/u-icon/u-icon.vue'; -import UNavbar from '@/uview-components/uview-ui/components/u-navbar/u-navbar.vue'; -import UPopup from '@/uview-components/uview-ui/components/u-popup/u-popup.vue'; +import '@/components/uview-components/uview-ui'; /************鎺ュ彛API***************/ @@ -307,7 +305,9 @@ import popups from "@/components/popups/popups"; //姘旀场妗� import takeDownFormSaleGoods from "@/components/m-take-down-sale-goods/index"; //涓嬫灦妗� import setup from "./product/popup/popup"; - + import { + getSTSToken + } from '@/api/common.js' export default { components: { popups, @@ -324,10 +324,7 @@ GoodsSwiper, popupGoods, popupAddress, - takeDownFormSaleGoods, - UIcon, - UNavbar, - UPopup, + takeDownFormSaleGoods }, data () { return { @@ -581,8 +578,35 @@ this.$store.state.distributionId = distributionId; } } + const sts = await getSTSToken(); + const stsUrl = sts.data.data.endpoint + // // 澶勭悊鏁版嵁 + // goodsList.data.result.records.forEach(item => { + // if (item.thumbnail !== '' && item.thumbnail !== null && item.thumbnail.indexOf('http') === + // -1) { + // item.thumbnail = stsUrl + '/' + item.thumbnail + // } + // if (item.goodsVideo !== '' && item.goodsVideo !== null && item.goodsVideo.indexOf( + // 'http') === -1) { + // item.goodsVideo = stsUrl + '/' + item.goodsVideo + // } + // }) /**鍟嗗搧淇℃伅浠ュ強瑙勬牸淇℃伅瀛樺偍 */ + console.log('--------------------------1>',response.data.result.data.goodsGalleryList) + response.data.result.data.goodsGalleryList.forEach((item,index)=>{ + if (item !== '' && item !== null && item.indexOf('http') === + -1) { + response.data.result.data.goodsGalleryList[index] = stsUrl + '/' + item + console.log('鏄惁鎵ц-------------銆�',item) + } + }) + console.log('--------------------------2>',response.data.result.data.goodsGalleryList) this.goodsDetail = response.data.result.data; + if (this.goodsDetail.goodsVideo !== '' && this.goodsDetail.goodsVideo !== null && this.goodsDetail.goodsVideo.indexOf( + 'http') === -1) { + this.goodsDetail.goodsVideo = stsUrl + '/' + this.goodsDetail.goodsVideo + } + console.log('--------------------------2>',this.goodsDetail.goodsGalleryList) this.wholesaleList = response.data.result.wholesaleList; this.goodsSpec = response.data.result.specs; this.PromotionList = response.data.result.promotionMap; diff --git a/pages/product/licencePhoto.vue b/pages/product/licencePhoto.vue index 361f1e9..76ad86b 100644 --- a/pages/product/licencePhoto.vue +++ b/pages/product/licencePhoto.vue @@ -10,7 +10,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { getLicencePhoto } from "@/api/store.js"; export default { data() { diff --git a/pages/product/product/evaluation/-evaluation.vue b/pages/product/product/evaluation/-evaluation.vue index 4912717..8465dc1 100644 --- a/pages/product/product/evaluation/-evaluation.vue +++ b/pages/product/product/evaluation/-evaluation.vue @@ -44,10 +44,7 @@ </template> <script> -import UAvatar from '@/uview-components/uview-ui/components/u-avatar/u-avatar.vue'; -import UReadMore from '@/uview-components/uview-ui/components/u-read-more/u-read-more.vue'; -import UImage from '@/uview-components/uview-ui/components/u-image/u-image.vue'; -import UEmpty from '@/uview-components/uview-ui/components/u-empty/u-empty.vue'; +import '@/components/uview-components/uview-ui'; import * as API_Members from "@/api/members.js"; export default { diff --git a/pages/product/product/goods/-goods-intro.vue b/pages/product/product/goods/-goods-intro.vue index a07208b..15093f4 100644 --- a/pages/product/product/goods/-goods-intro.vue +++ b/pages/product/product/goods/-goods-intro.vue @@ -60,12 +60,10 @@ </template> <script> -import UEmpty from '@/uview-components/uview-ui/components/u-empty/u-empty.vue'; -import UParse from '@/uview-components/uview-ui/components/u-parse/u-parse.vue'; +import '@/components/uview-components/uview-ui'; import { getGoodsMessage } from "@/api/goods"; export default { - components: {UEmpty,UParse}, data() { return { goodsDetail: "", diff --git a/pages/product/product/goods/-goods-swiper.vue b/pages/product/product/goods/-goods-swiper.vue index e72684d..f06ead8 100644 --- a/pages/product/product/goods/-goods-swiper.vue +++ b/pages/product/product/goods/-goods-swiper.vue @@ -30,11 +30,9 @@ </view> </template> <script> -import ULoading from '@/uview-components/uview-ui/components/u-loading/u-loading.vue'; -import UImage from '@/uview-components/uview-ui/components/u-image/u-image.vue'; +import '@/components/uview-components/uview-ui'; export default { - components: {ULoading,UImage}, data() { return { current: 1, diff --git a/pages/product/product/popup/address.vue b/pages/product/product/popup/address.vue index 82e06dd..39cb936 100644 --- a/pages/product/product/popup/address.vue +++ b/pages/product/product/popup/address.vue @@ -27,16 +27,13 @@ </u-popup> </template> <script> -import UPopup from '@/uview-components/uview-ui/components/u-popup/u-popup.vue'; -import UIcon from '@/uview-components/uview-ui/components/u-icon/u-icon.vue'; -import UEmpty from '@/uview-components/uview-ui/components/u-empty/u-empty.vue'; +import '@/components/uview-components/uview-ui'; import setup from "@/components/m-buy/popup.js"; /************璇锋眰瀛樺偍***************/ import * as API_Address from "@/api/address.js"; export default { - components: {UPopup,UIcon,UEmpty}, data() { return { checked: "", diff --git a/pages/product/product/promotion/-promotion-assemble-list.vue b/pages/product/product/promotion/-promotion-assemble-list.vue index 31e4ff4..ee1ee86 100644 --- a/pages/product/product/promotion/-promotion-assemble-list.vue +++ b/pages/product/product/promotion/-promotion-assemble-list.vue @@ -24,14 +24,11 @@ </template> <script> -import UImage from '@/uview-components/uview-ui/components/u-image/u-image.vue'; -import UButton from '@/uview-components/uview-ui/components/u-button/u-button.vue'; -import UEmpty from '@/uview-components/uview-ui/components/u-empty/u-empty.vue'; +import '@/components/uview-components/uview-ui'; import * as API_Promotions from "@/api/promotions"; import configs from '@/config/config' export default { - components: {UImage,UButton,UEmpty}, data() { return { configs, diff --git a/pages/product/product/promotion/-promotion-assemble-promotions.vue b/pages/product/product/promotion/-promotion-assemble-promotions.vue index 0b6aa84..7e57188 100644 --- a/pages/product/product/promotion/-promotion-assemble-promotions.vue +++ b/pages/product/product/promotion/-promotion-assemble-promotions.vue @@ -109,11 +109,9 @@ </template> <script> -import UTag from '@/uview-components/uview-ui/components/u-tag/u-tag.vue'; -import UCountDown from '@/uview-components/uview-ui/components/u-count-down/u-count-down.vue'; +import '@/components/uview-components/uview-ui'; export default { - components: {UTag,UCountDown}, data() { return {}; }, diff --git a/pages/product/product/promotion/-promotion-details.vue b/pages/product/product/promotion/-promotion-details.vue index bda170c..54dbc3e 100644 --- a/pages/product/product/promotion/-promotion-details.vue +++ b/pages/product/product/promotion/-promotion-details.vue @@ -62,10 +62,9 @@ </view> </template> <script> -import UTag from '@/uview-components/uview-ui/components/u-tag/u-tag.vue'; +import '@/components/uview-components/uview-ui'; export default { - components: {UTag}, data() { return {}; }, diff --git a/pages/product/product/shop/-shop.vue b/pages/product/product/shop/-shop.vue index 6e69771..d5eb969 100644 --- a/pages/product/product/shop/-shop.vue +++ b/pages/product/product/shop/-shop.vue @@ -41,8 +41,7 @@ </template> <script> -import UImage from '@/uview-components/uview-ui/components/u-image/u-image.vue'; -import ULoading from '@/uview-components/uview-ui/components/u-loading/u-loading.vue'; +import '@/components/uview-components/uview-ui'; export default { data() { diff --git a/pages/product/shopList.vue b/pages/product/shopList.vue index 7898df7..5995e0d 100644 --- a/pages/product/shopList.vue +++ b/pages/product/shopList.vue @@ -52,7 +52,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { getStoreList } from "@/api/store"; export default { data() { diff --git a/pages/product/shopPage.vue b/pages/product/shopPage.vue index 7b04a74..b36b327 100644 --- a/pages/product/shopPage.vue +++ b/pages/product/shopPage.vue @@ -159,7 +159,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' // 寮曠敤缁勪欢 import tpl_banner from "@/pages/tabbar/home/template/tpl_banner"; //瀵艰埅鏍忔ā鍧� import tpl_title from "@/pages/tabbar/home/template/tpl_title"; //鏍囬鏍忔ā鍧� diff --git a/pages/product/shopPageGoods.vue b/pages/product/shopPageGoods.vue index 74e00f4..338b63b 100644 --- a/pages/product/shopPageGoods.vue +++ b/pages/product/shopPageGoods.vue @@ -11,7 +11,7 @@ </template> <script> - import '@/uview-components/uview-ui' + import '@/components/uview-components/uview-ui' import { getGoodsList } from "@/api/goods.js"; diff --git a/pages/promotion/bargain/detail.vue b/pages/promotion/bargain/detail.vue index ec9e7af..7d56aac 100644 --- a/pages/promotion/bargain/detail.vue +++ b/pages/promotion/bargain/detail.vue @@ -111,7 +111,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import popupGoods from "@/components/m-buy/goods"; //璐墿杞﹀晢鍝佺殑妯″潡 import { getBargainDetail, diff --git a/pages/promotion/bargain/list.vue b/pages/promotion/bargain/list.vue index 0a5feab..167a471 100644 --- a/pages/promotion/bargain/list.vue +++ b/pages/promotion/bargain/list.vue @@ -16,7 +16,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { getBargainList } from "@/api/promotions"; import goodsTemplate from '@/components/m-goods-list/promotion' export default { diff --git a/pages/promotion/bargain/log.vue b/pages/promotion/bargain/log.vue index 8f7314e..98910f1 100644 --- a/pages/promotion/bargain/log.vue +++ b/pages/promotion/bargain/log.vue @@ -31,12 +31,10 @@ </template> <script> -import UImage from '@/uview-components/uview-ui/components/u-image/u-image.vue'; -import UEmpty from '@/uview-components/uview-ui/components/u-empty/u-empty.vue'; +import '@/components/uview-components/uview-ui'; import { getMineBargainLog } from "@/api/promotions"; export default { - components: {UImage, UEmpty}, data() { return { params: { diff --git a/pages/promotion/joinGroup.vue b/pages/promotion/joinGroup.vue index c307fa8..aae6c7f 100644 --- a/pages/promotion/joinGroup.vue +++ b/pages/promotion/joinGroup.vue @@ -30,7 +30,7 @@ </template> <script> - import '@/uview-components/uview-ui' + import '@/components/uview-components/uview-ui' import * as API_Promotions from "@/api/promotions"; import * as API_Goods from "@/api/goods"; import goodsTemplate from '@/components/m-goods-list/promotion.vue' diff --git a/pages/promotion/lives.vue b/pages/promotion/lives.vue index 7ad3e54..0bf3540 100644 --- a/pages/promotion/lives.vue +++ b/pages/promotion/lives.vue @@ -47,7 +47,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { getLiveList } from "@/api/promotions.js"; export default { data() { diff --git a/pages/promotion/point/detail.vue b/pages/promotion/point/detail.vue index e35a6d9..018bbca 100644 --- a/pages/promotion/point/detail.vue +++ b/pages/promotion/point/detail.vue @@ -51,7 +51,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import popupGoods from "@/components/m-buy/goods"; //璐墿杞﹀晢鍝佺殑妯″潡 import { getPointsGoodsDetail } from "@/api/promotions"; export default { diff --git a/pages/promotion/point/pointList.vue b/pages/promotion/point/pointList.vue index b3ec06f..a78d6bc 100644 --- a/pages/promotion/point/pointList.vue +++ b/pages/promotion/point/pointList.vue @@ -38,7 +38,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { getPointsCategory, getPointsGoods } from "@/api/promotions.js"; import userPoint from "./user"; export default { diff --git a/pages/promotion/point/user.vue b/pages/promotion/point/user.vue index cbbbd6b..92fae7a 100644 --- a/pages/promotion/point/user.vue +++ b/pages/promotion/point/user.vue @@ -11,7 +11,7 @@ </div> </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { getUserInfo } from "@/api/members"; export default { data() { diff --git a/pages/promotion/seckill.vue b/pages/promotion/seckill.vue index 0d0917a..844210c 100644 --- a/pages/promotion/seckill.vue +++ b/pages/promotion/seckill.vue @@ -32,7 +32,7 @@ </template> <script> - import '@/uview-components/uview-ui' + import '@/components/uview-components/uview-ui' import { getSeckillTimeLine, getSeckillTimeGoods diff --git a/pages/tabbar/cart/cartList.vue b/pages/tabbar/cart/cartList.vue index 531d5e7..d15dfdc 100644 --- a/pages/tabbar/cart/cartList.vue +++ b/pages/tabbar/cart/cartList.vue @@ -180,21 +180,11 @@ </template> <script> -import UNavbar from '@/uview-components/uview-ui/components/u-navbar/u-navbar.vue'; -import UCheckboxGroup from '@/uview-components/uview-ui/components/u-checkbox-group/u-checkbox-group.vue'; -import UCheckbox from '@/uview-components/uview-ui/components/u-checkbox/u-checkbox.vue'; -import USwipeAction from '@/uview-components/uview-ui/components/u-swipe-action/u-swipe-action.vue'; -import UImage from '@/uview-components/uview-ui/components/u-image/u-image.vue'; -import UIcon from '@/uview-components/uview-ui/components/u-icon/u-icon.vue'; -import UPopup from '@/uview-components/uview-ui/components/u-popup/u-popup.vue'; -import UCountDown from '@/uview-components/uview-ui/components/u-count-down/u-count-down.vue'; -import UModal from '@/uview-components/uview-ui/components/u-modal/u-modal.vue'; -import UToast from '@/uview-components/uview-ui/components/u-toast/u-toast.vue'; +import '@/components/uview-components/uview-ui'; import * as API_Trade from "@/api/trade"; import { debounce } from "@/utils/tools.js"; // import uniNumberBox from '@/components/uni-number-box' export default { - components:{UNavbar,UCheckboxGroup,UCheckbox,USwipeAction,UImage,UIcon,UPopup,UCountDown,UModal,UToast}, // 鏁伴噺鍔犲噺缁勪欢 data() { return { loading:false, diff --git a/pages/tabbar/category/category.vue b/pages/tabbar/category/category.vue index 2953dbc..36bb59d 100644 --- a/pages/tabbar/category/category.vue +++ b/pages/tabbar/category/category.vue @@ -41,12 +41,9 @@ </template> <script> -import USearch from '@/uview-components/uview-ui/components/u-search/u-search.vue'; -import UNavbar from '@/uview-components/uview-ui/components/u-navbar/u-navbar.vue'; -import UImage from '@/uview-components/uview-ui/components/u-image/u-image.vue'; +import '@/components/uview-components/uview-ui'; import { getCategoryList } from "@/api/goods.js"; export default { - components: {USearch,UNavbar,UImage}, data() { return { currentId: 0, diff --git a/pages/tabbar/home/template/fetch_coupon.vue b/pages/tabbar/home/template/fetch_coupon.vue index bae4365..7058fd8 100644 --- a/pages/tabbar/home/template/fetch_coupon.vue +++ b/pages/tabbar/home/template/fetch_coupon.vue @@ -85,7 +85,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { getAutoCoup } from "@/api/login"; import storage from "@/utils/storage.js"; export default { diff --git a/pages/tabbar/home/template/tpl_banner.vue b/pages/tabbar/home/template/tpl_banner.vue index 33b335d..1442865 100644 --- a/pages/tabbar/home/template/tpl_banner.vue +++ b/pages/tabbar/home/template/tpl_banner.vue @@ -9,7 +9,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { modelNavigateTo } from "./tpl"; export default { title: "瀵艰埅鏍�", diff --git a/pages/tabbar/home/template/tpl_flex_five.vue b/pages/tabbar/home/template/tpl_flex_five.vue index f01cc63..c7618ab 100644 --- a/pages/tabbar/home/template/tpl_flex_five.vue +++ b/pages/tabbar/home/template/tpl_flex_five.vue @@ -8,7 +8,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { modelNavigateTo } from "./tpl"; export default { title: "浜斿垪鍗曡鍥剧墖妯″潡", diff --git a/pages/tabbar/home/template/tpl_flex_four.vue b/pages/tabbar/home/template/tpl_flex_four.vue index 36ee241..c802a92 100644 --- a/pages/tabbar/home/template/tpl_flex_four.vue +++ b/pages/tabbar/home/template/tpl_flex_four.vue @@ -8,7 +8,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { modelNavigateTo } from "./tpl"; export default { title: "鍥涘垪鍗曡鍥剧墖妯″潡", diff --git a/pages/tabbar/home/template/tpl_flex_one.vue b/pages/tabbar/home/template/tpl_flex_one.vue index 40efe68..5c7ebc6 100644 --- a/pages/tabbar/home/template/tpl_flex_one.vue +++ b/pages/tabbar/home/template/tpl_flex_one.vue @@ -7,7 +7,7 @@ </div> </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { modelNavigateTo } from "./tpl"; import hotzone from "@/pages/tabbar/home/template/tpl_hot_zone.vue"; diff --git a/pages/tabbar/home/template/tpl_flex_three.vue b/pages/tabbar/home/template/tpl_flex_three.vue index 4261c0a..65831e1 100644 --- a/pages/tabbar/home/template/tpl_flex_three.vue +++ b/pages/tabbar/home/template/tpl_flex_three.vue @@ -8,7 +8,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { modelNavigateTo } from "./tpl"; export default { diff --git a/pages/tabbar/home/template/tpl_flex_two.vue b/pages/tabbar/home/template/tpl_flex_two.vue index 6731466..296dc35 100644 --- a/pages/tabbar/home/template/tpl_flex_two.vue +++ b/pages/tabbar/home/template/tpl_flex_two.vue @@ -15,11 +15,10 @@ </div> </template> <script> -import '@/uview-components/uview-ui' -import uImage from "@/uview-components/uview-ui/components/u-image/u-image.vue"; +import '@/components/uview-components/uview-ui' + import { modelNavigateTo } from "./tpl"; export default { - components: { uImage }, title: "涓ゅ紶妯浘", props: ["res"], mounted() { diff --git a/pages/tabbar/home/template/tpl_goods.vue b/pages/tabbar/home/template/tpl_goods.vue index 131c975..768e44a 100644 --- a/pages/tabbar/home/template/tpl_goods.vue +++ b/pages/tabbar/home/template/tpl_goods.vue @@ -84,7 +84,7 @@ </div> </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { getGoodsList } from "@/api/goods.js"; export default { title: "鍟嗗搧鍒嗙被浠ュ強鍟嗗搧", diff --git a/pages/tabbar/home/template/tpl_left_one_right_two.vue b/pages/tabbar/home/template/tpl_left_one_right_two.vue index 84a1099..5edeefd 100644 --- a/pages/tabbar/home/template/tpl_left_one_right_two.vue +++ b/pages/tabbar/home/template/tpl_left_one_right_two.vue @@ -21,7 +21,7 @@ </div> </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { modelNavigateTo } from "./tpl"; export default { title: "宸︿竴鍙充簩", diff --git a/pages/tabbar/home/template/tpl_left_two_right_one.vue b/pages/tabbar/home/template/tpl_left_two_right_one.vue index c396d07..94a57d0 100644 --- a/pages/tabbar/home/template/tpl_left_two_right_one.vue +++ b/pages/tabbar/home/template/tpl_left_two_right_one.vue @@ -16,7 +16,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import {modelNavigateTo} from './tpl' export default { title: "宸︿簩鍙充竴", diff --git a/pages/tabbar/home/template/tpl_menu.vue b/pages/tabbar/home/template/tpl_menu.vue index 30148dc..79a500c 100644 --- a/pages/tabbar/home/template/tpl_menu.vue +++ b/pages/tabbar/home/template/tpl_menu.vue @@ -23,7 +23,7 @@ </div> </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { modelNavigateTo } from "./tpl"; export default { title: "浜斿垪鑿滃崟", diff --git a/pages/tabbar/home/template/tpl_notice.vue b/pages/tabbar/home/template/tpl_notice.vue index 81eab2d..98d6466 100644 --- a/pages/tabbar/home/template/tpl_notice.vue +++ b/pages/tabbar/home/template/tpl_notice.vue @@ -7,7 +7,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' export default { title: "鍏憡", props: ["res"], diff --git a/pages/tabbar/home/template/tpl_promotions_detail.vue b/pages/tabbar/home/template/tpl_promotions_detail.vue index 6388fef..cb2e925 100644 --- a/pages/tabbar/home/template/tpl_promotions_detail.vue +++ b/pages/tabbar/home/template/tpl_promotions_detail.vue @@ -64,7 +64,7 @@ </div> </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import * as API_Promotions from "@/api/promotions"; import Foundation from "@/utils/Foundation.js"; export default { diff --git a/pages/tabbar/home/template/tpl_search.vue b/pages/tabbar/home/template/tpl_search.vue index 8e9a492..3eb5df9 100644 --- a/pages/tabbar/home/template/tpl_search.vue +++ b/pages/tabbar/home/template/tpl_search.vue @@ -10,7 +10,7 @@ </div> </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' export default { title:"鎼滅储鏍�", props: ["res","storeId"], diff --git a/pages/tabbar/home/template/tpl_text_picture.vue b/pages/tabbar/home/template/tpl_text_picture.vue index acac8f1..a071a0e 100644 --- a/pages/tabbar/home/template/tpl_text_picture.vue +++ b/pages/tabbar/home/template/tpl_text_picture.vue @@ -33,7 +33,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import {modelNavigateTo} from './tpl' export default { title: "鏂囧瓧鍥剧墖妯℃澘", diff --git a/pages/tabbar/home/template/tpl_top_one_bottom_two.vue b/pages/tabbar/home/template/tpl_top_one_bottom_two.vue index 3ea7d09..c77229f 100644 --- a/pages/tabbar/home/template/tpl_top_one_bottom_two.vue +++ b/pages/tabbar/home/template/tpl_top_one_bottom_two.vue @@ -22,7 +22,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import { modelNavigateTo } from "./tpl"; export default { title: "涓婁竴涓嬩簩", diff --git a/pages/tabbar/home/template/tpl_top_two_bottom_one.vue b/pages/tabbar/home/template/tpl_top_two_bottom_one.vue index 94f52ce..c387755 100644 --- a/pages/tabbar/home/template/tpl_top_two_bottom_one.vue +++ b/pages/tabbar/home/template/tpl_top_two_bottom_one.vue @@ -35,7 +35,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' import {modelNavigateTo} from './tpl' export default { title: "涓婁簩涓嬩竴", diff --git a/pages/tabbar/home/title.vue b/pages/tabbar/home/title.vue index 5f0f23d..e36d240 100644 --- a/pages/tabbar/home/title.vue +++ b/pages/tabbar/home/title.vue @@ -60,7 +60,7 @@ </template> <script> - import '@/uview-components/uview-ui' + import '@/components/uview-components/uview-ui' import { messages, editMessages diff --git a/pages/tabbar/home/views.vue b/pages/tabbar/home/views.vue index 88e0456..f148be0 100644 --- a/pages/tabbar/home/views.vue +++ b/pages/tabbar/home/views.vue @@ -40,7 +40,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' // 寮曠敤缁勪欢 import tpl_banner from "@/pages/tabbar/home/template/tpl_banner"; //瀵艰埅鏍忔ā鍧� import tpl_title from "@/pages/tabbar/home/template/tpl_title"; //鏍囬鏍忔ā鍧� diff --git a/pages/tabbar/index/home.vue b/pages/tabbar/index/home.vue index 8444073..ade53fe 100644 --- a/pages/tabbar/index/home.vue +++ b/pages/tabbar/index/home.vue @@ -82,27 +82,25 @@ <!-- 鎮寕鍟嗗搧閾炬帴灞� --> - <view class="goods-link-warp"> + <view class="goods-link-warp" v-if="item.goodsList.length > 0"> <view class="goods-link"> - <view class="goods-container"> - <!-- 鍟嗗搧鍥剧墖 --> - <image class="goods-image" :src="item.goods.imageUrl" mode="aspectFill"></image> - - <!-- 鍟嗗搧淇℃伅 --> - <view class="goods-info"> - <text class="goods-name">{{item.goods.name}}</text> - <view class="price-section"> - <text class="current-price">楼{{item.goods.price}}</text> - <text class="original-price" v-if="item.goods.originalPrice">楼{{item.goods.originalPrice}}</text> - </view> - <text class="sales-count">{{item.goods.saleNum}}浜哄凡璐�</text> - </view> - - <!-- 璐拱鎸夐挳 --> - <view class="buy-button"> - <text>璐拱</text> - </view> - </view> + <swiper @change="goodsChange" :autoplay="true" :interval="4000" style="height: 120rpx;"> + <swiper-item v-for="goods in item.goodsList" :key="goods.goodsId"> + <view class="goods-container" @click="jumpToPay(item.id)"> + <!-- 鍟嗗搧鍥剧墖 --> + <image class="goods-image" :src="goods.thumbnail" mode="aspectFill"></image> + + <!-- 鍟嗗搧淇℃伅 --> + <view class="goods-info"> + <text class="goods-name">{{goods.goodsName}}</text> + <view class="price-section"> + <text class="current-price">楼{{goods.price}}</text> + <text class="original-price" v-if="goods.originalPrice">楼{{goods.originalPrice}}</text> + </view> + </view> + </view> + </swiper-item> + </swiper> </view> </view> @@ -136,6 +134,12 @@ <text class="iconfont"></text> <text style="font-size: 10px;font-weight: lighter;">{{item.commentNum}}</text> </view> + <view class="action-item"> + <button open-type="share" class="custom-share-btn" :data-obj="item"> + <text class="iconfont"></text> + </button> + + </view> </view> </swiper-item> @@ -228,6 +232,10 @@ <script> import { getRecommendVideos, savePlayRecord, subscribe, getVideoComments, addVideoComment, thubmsUpComment, cancelThubmsUpComment } from "@/api/video.js"; import { changeCollect } from "@/api/collect.js"; +import { saveShare, saveShareClickRecord } from "@/api/share.js"; +import { silentLogin } from "@/api/connect.js"; +import { getUserInfo } from "@/api/members"; +import storage from "@/utils/storage.js"; export default { computed: { hasPlayTime() { @@ -237,6 +245,7 @@ data() { return { currentImgIndex: 0, // 鎾斁鍒扮鍑犲紶鍥�--绱㈠紩 + currentGoodsIndex: 0, // 鎾斁鍒扮鍑犱釜鍟嗗搧--绱㈠紩 currentTime: 0, formartDuration: '', duration: 0, @@ -302,7 +311,14 @@ } }, onShow() { - this.loadVideos() + // const token = storage.getAccessToken(); + // if (! token) { + // this.wxSilentLogin(() => { + // this.loadVideos(); + // }) + // } else { + // this.loadVideos(); + // } // 濡傛灉瑙嗛鎸変笅鏆傚仠鍚庡垏鎹㈤〉闈㈠啀鍥炲埌椤甸潰鏃讹紝鍙畻鏆傚仠鏃堕棿锛堝洜涓烘殏鍋滄椂闂村拰绂诲紑椤甸潰鏃堕棿鏄噸澶嶇殑锛屽彧绠椾竴涓級 if(this.startHidenTime !== 0 && this.currentVideoIsPlaying) { const duration = Date.now() - this.startHidenTime @@ -312,17 +328,84 @@ onHide() { this.startHidenTime = Date.now() }, - onLoad() { - this.loadVideos(); + onLoad(option) { + const token = storage.getAccessToken(); + if (! token) { + this.wxSilentLogin(() => { + this.loadVideos(); + // 鍒ゆ柇鏄笉鏄偣鍑诲垎浜摼鎺ヨ繘鏉ョ殑 + if (option.userId && option.videoId) { + // 淇濆瓨鍒嗕韩鐐瑰嚮璁板綍 + saveShareClickRecord({refId: option.videoId, shareUserId: option.userId}) + } + }) + } else { + this.loadVideos(); + } }, onReady() { // 鍒濆鍖栬棰戜笂涓嬫枃 this.initVideoContexts(); }, + onShareAppMessage(e) { + const userInfo = storage.getUserInfo(); + if(!userInfo) { + console.log("鏈櫥褰曚笉鑳藉垎浜�"); + return + } + const videoInfo = e.target.dataset.obj; + // 淇濆瓨鍒嗕韩璁板綍 + const data = { + shareType: 'video', + refId: videoInfo.id, + shareUser: userInfo.id + } + saveShare(data) + return { + title: videoInfo.title, + path: `/pages/tabbar/index/home?videoId=${videoInfo.id}&userId=${userInfo.id}`, + imageUrl: videoInfo.coverUrl + } + }, methods: { + // 闈欓粯鐧诲綍 + wxSilentLogin(callback) { + //鑾峰彇code + uni.login({ + success: (codeRes) => { + if(codeRes.errMsg === "login:ok") { + // 闈欓粯鐧诲綍 + silentLogin({code: codeRes.code}).then(res => { + storage.setAccessToken(res.data.data.accessToken); + storage.setRefreshToken(res.data.data.refreshToken); + //鑾峰彇鐢ㄦ埛淇℃伅 + getUserInfo().then((user) => { + storage.setUserInfo(user.data.result); + storage.setHasLogin(true); + callback() + }); + }) + } else { + uni.showToast({ + title: "绯荤粺寮傚父锛岃鑱旂郴绠$悊鍛橈紒" + }) + } + }, + }); + }, + // 鐐瑰嚮鍟嗗搧璺宠浆 + jumpToPay(videoId) { + uni.navigateTo({ + url: '/pages/video/video-goods-detail?videoId=' + videoId + }); + }, // 杞挱鍥惧彉鍖� imgChange(e) { this.currentImgIndex = e.detail.current; + }, + // 鍟嗗搧杞挱鍥惧彉鍖� + goodsChange(e) { + this.currentGoodsIndex = e.detail.current; }, // 鑾峰彇杩涘害鏉$殑浣嶇疆鍜屽昂瀵� getBarRect() { @@ -634,6 +717,9 @@ if (this.videoContexts[this.currentIndex]) { this.videoContexts[this.currentIndex].play(); } + // 璁剧疆褰撳墠鎾斁瑙嗛鐨勬�绘椂闀� + this.duration = this.videoList[this.currentIndex].videoDuration; + this.formartDuration = this.sliderFormatTime(this.duration); }, // 鏀惰棌/鍙栨秷鏀惰棌 @@ -674,6 +760,11 @@ console.log(id, index, "瑙﹀彂鎾斁"); if(index === this.currentIndex) { this.currentVideoIsPlaying = true; + if(! this.duration) { + // 璁剧疆褰撳墠鎾斁瑙嗛鐨勬�绘椂闀� + this.duration = this.videoList[this.currentIndex].videoDuration; + this.formartDuration = this.sliderFormatTime(this.duration); + } } else { this.currentVideoIsPlaying = false; return @@ -687,6 +778,7 @@ const duration = Date.now() - this.startPauseTime this.totalPauseTime += duration } + }, // 瑙嗛鏆傚仠浜嬩欢 @@ -763,9 +855,9 @@ }, // 鑾峰彇瑙嗛鎬绘椂闀� onLoadedMetadata(e) { - this.duration = e.detail.duration; - this.formartDuration = this.sliderFormatTime(this.duration); - console.log("瑙嗛鎬绘椂闀�", this.duration); + // this.duration = e.detail.duration; + // this.formartDuration = this.sliderFormatTime(this.duration); + // console.log("瑙嗛鎬绘椂闀�", this.duration); }, // 淇濆瓨鎾斁璁板綍 async savePlayRecord() { @@ -824,7 +916,7 @@ .video-info { width: 70%; position: absolute; - bottom: 70px; + bottom: 20px; left: 20px; color: #f8f8f8; z-index: 10; @@ -898,6 +990,7 @@ } .goods-link { position: relative; + width: 450rpx; margin: 20rpx 0; padding: 12rpx; background-color: rgba(255, 255, 255, 0.9); @@ -906,6 +999,7 @@ } .goods-container { + width: 100%; display: flex; align-items: center; } @@ -928,11 +1022,13 @@ font-size: 28rpx; color: #333; font-weight: bold; - display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; - overflow: hidden; margin-bottom: 8rpx; + width: 280rpx; /* 闇�瑕佹寚瀹氬搴� */ + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; } .price-section { @@ -1205,4 +1301,15 @@ width: 100%; height: 100%; } + .custom-share-btn { + font-size: unset; + background: none; + padding: 0; + margin: 0; + line-height: normal; + border: none; + } + .custom-share-btn::after { + border: none; + } </style> \ No newline at end of file diff --git a/pages/tabbar/index/home1.vue b/pages/tabbar/index/home1.vue deleted file mode 100644 index 1a5edcc..0000000 --- a/pages/tabbar/index/home1.vue +++ /dev/null @@ -1,144 +0,0 @@ -<template> - <!-- 鑷畾涔夋帶鍒舵潯 --> - <view - @touchstart="handleTouchStart" - @touchmove="handleTouchMove" - @touchend="handleTouchEnd" - class="container"> - <!-- 杩涘害鏉� - 鏁翠釜鍖哄煙鍙嫋鍔� --> - <view class="process-warp" :style="{ opacity: showProcess ? 1 : 0 }"> - <!-- 鏄剧ず褰撳墠杩涘害 --> - <view class="progress-text">{{ hasPlayTime }}/{{formartDuration}}</view> - <view - class="progress-bar" - id="progressBar" - > - - <!-- 宸插~鍏呴儴鍒� --> - <view class="progress-fill" :style="{ width: progress + '%' }"></view> - </view> - </view> - </view> -</template> - -<script> -export default { - data() { - return { - startX: 0, - progress: 0, // 瑙嗛杩涘害 - startProgress : 0, // 寮�濮嬫粦鍔ㄦ椂鐨勮繘搴� - barLeft: 0, // 杩涘害鏉″乏杈圭晫浣嶇疆 - barWidth: 0, // 杩涘害鏉″搴� - isDragging: false, // 鏄惁姝e湪鎷栧姩 - processHidenTimer: null, // 杩涘害鏉¢殣钘忓畾鏃跺櫒 - showProcess: false, // 鏄惁鏄剧ず杩涘害鏉� - }; - }, - mounted() { - // 鑾峰彇杩涘害鏉$殑灏哄鍜屼綅缃俊鎭� - this.getBarRect(); - }, - methods: { - // 鑾峰彇杩涘害鏉$殑浣嶇疆鍜屽昂瀵� - getBarRect() { - const query = uni.createSelectorQuery().in(this); - query.select('#progressBar').boundingClientRect(rect => { - if (rect) { - this.barLeft = rect.left; - this.barWidth = rect.width; - } - }).exec(); - }, - - // 瑙︽懜寮�濮� - handleTouchStart(e) { - this.isDragging = true; - this.showProcess = true; - this.startProgress = this.progress; // 璁板綍寮�濮嬫椂鐨勮繘搴� - this.startX = e.touches[0].pageX; - console.log("璁板綍寮�濮嬫椂鐨勮繘搴�", this.startProgress); - this.videoContexts[this.currentIndex].pause() - // this.updateProgress(e); - }, - - // 瑙︽懜绉诲姩 - handleTouchMove(e) { - if (!this.isDragging || !this.barWidth) return; - clearTimeout(this.processHidenTimer) - this.videoContexts[this.currentIndex].pause() - this.updateProgress(e); - }, - - // 瑙︽懜缁撴潫 - handleTouchEnd() { - this.isDragging = false; - console.log("婊戝姩缁撴潫", this.duration * this.progress); - this.videoContexts[this.currentIndex].seek(this.duration * this.progress / 100) - this.videoContexts[this.currentIndex].play() - this.processHidenTimer = setTimeout(() => { - this.showProcess = false; - }, 1000); - }, - - // 鏇存柊杩涘害 - updateProgress(e) { - // 鑾峰彇褰撳墠瑙︽懜鐐筙鍧愭爣 - const currentX = e.touches[0].pageX; - - // 璁$畻婊戝姩璺濈(鍍忕礌) - const deltaX = currentX - this.startX; - - // 灏嗗儚绱犺窛绂昏浆鎹负杩涘害澧為噺 - const deltaProgress = (deltaX / this.barWidth) * 100; - console.log("杩涘害澧為噺", deltaProgress); - // 璁$畻鏂拌繘搴� = 寮�濮嬫椂鐨勮繘搴� + 婊戝姩澧為噺 - let newProgress = this.startProgress + deltaProgress; - - // 闄愬埗鑼冨洿鍦�0-100涔嬮棿 - newProgress = Math.max(0, Math.min(100, newProgress)); - - this.progress = newProgress; - } - } -}; -</script> - -<style> -.container { - display: flex; - flex-direction: column; - align-items: center; - position: absolute; - bottom: 0; - width: 100%; - } - - .progress-bar { - position: relative; - width: 100%; - height: 16px; - background-color: #eee; - overflow: hidden; - } - - .progress-fill { - position: absolute; - left: 0; - top: 0; - height: 100%; - background-color: lightgray; - transition: width 0.1s; - } - .process-warp { - width: 100%; - display: flex; - flex-direction: column; - align-items: center; - } - .progress-text { - margin-top: 10px; - font-size: 14px; - color: #666; - } -</style> \ No newline at end of file diff --git a/pages/tabbar/special/special.vue b/pages/tabbar/special/special.vue index f863247..f5a4442 100644 --- a/pages/tabbar/special/special.vue +++ b/pages/tabbar/special/special.vue @@ -50,7 +50,7 @@ </template> <script> -import '@/uview-components/uview-ui' +import '@/components/uview-components/uview-ui' // 寮曠敤缁勪欢 import tpl_banner from "@/pages/tabbar/home/template/tpl_banner"; //瀵艰埅鏍忔ā鍧� import tpl_title from "@/pages/tabbar/home/template/tpl_title"; //鏍囬鏍忔ā鍧� diff --git a/pages/tabbar/user/my.vue b/pages/tabbar/user/my.vue index 239e702..a86a497 100644 --- a/pages/tabbar/user/my.vue +++ b/pages/tabbar/user/my.vue @@ -75,16 +75,14 @@ </view> </template> <script> -import UIcon from '@/uview-components/uview-ui/components/u-icon/u-icon.vue'; -import URow from '@/uview-components/uview-ui/components/u-row/u-row.vue'; -import UCol from '@/uview-components/uview-ui/components/u-col/u-col.vue'; +import '@/components/uview-components/uview-ui'; import tool from "@/pages/tabbar/user/utils/tool.vue"; import { getCouponsNum, getFootprintNum } from "@/api/members.js"; import { getUserWallet } from "@/api/members"; import configs from '@/config/config' export default { components: { - tool,UIcon,URow,UCol + tool }, data() { return { diff --git a/pages/tabbar/video/video.vue b/pages/tabbar/video/video.vue index b996395..af7dfeb 100644 --- a/pages/tabbar/video/video.vue +++ b/pages/tabbar/video/video.vue @@ -124,16 +124,23 @@ @click="chooseGoods" ></u-icon> </u-input> - <view class="goods-preview" v-if="selectedGoods"> - <image :src="selectedGoods.image" class="goods-image"></image> + <view class="goods-preview" @click="chooseGoods" v-for="goods in selectedGoodsList" :key="goods.id"> + <image :src="goods.thumbnail" class="goods-image"></image> <view class="goods-info"> - <text class="goods-name">{{ selectedGoods.name }}</text> - <text class="goods-price">楼{{ selectedGoods.price }}</text> + <text class="goods-name">{{ goods.goodsName }}</text> + <view style="display: flex;"> + <view class="goods-price" style="flex: 1;">楼{{ goods.price }}</view> + <view @click.stop="() => {}" style="flex: 1;display: flex;justify-content: center;align-items: center;"> + <view style="width: 90rpx">鏁伴噺锛�</view> + <uni-number-box v-model="goods.goodsNum" :min="0"/> + </view> + </view> </view> <u-icon + style="position: absolute;right: 8rpx;top: 8rpx" name="close" - size="20" - @click="clearGoods" + size="24" + @click.stop="clearGoods(goods)" ></u-icon> </view> </view> @@ -163,27 +170,30 @@ </view> <view class="search-bar"> <u-search - v-model="goodsSearch" - placeholder="鎼滅储鍟嗗搧鍚嶇О" + v-model="goodsQuery.keyword" + placeholder="鎼滅储鍟嗗搧" :showAction="false" + @change="handlerGoodsSearch" ></u-search> </view> - <scroll-view class="goods-list" scroll-y> + <scroll-view class="goods-list" @scrolltolower="loadMoreGoods" scroll-y :show-scrollbar="false"> <view class="goods-item" - v-for="goods in filteredGoods" + v-for="(goods, index) in goodsList" :key="goods.id" - @click="selectGoods(goods)" + @click="selectGoods(goods, index)" > - <image :src="goods.image" class="goods-image"></image> + <image :src="goods.thumbnail" class="goods-image"></image> <view class="goods-info"> - <text class="goods-name">{{ goods.name }}</text> + <text class="goods-name">{{ goods.goodsName }}</text> <text class="goods-price">楼{{ goods.price }}</text> +<!-- <view>{{ goods.sellingPoint }}</view> --> </view> <u-icon + v-if="goods.selected" name="checkmark" - size="24" - :color="selectedGoods && selectedGoods.id === goods.id ? '#2979ff' : '#ccc'" + size="36" + :color="'#2979ff'" ></u-icon> </view> </scroll-view> @@ -195,21 +205,17 @@ </template> <script> -import UIcon from '@/uview-components/uview-ui/components/u-icon/u-icon.vue'; -import UButton from '@/uview-components/uview-ui/components/u-button/u-button.vue'; -import UForm from '@/uview-components/uview-ui/components/u-form/u-form.vue'; -import UFormItem from '@/uview-components/uview-ui/components/u-form-item/u-form-item.vue'; -import UInput from '@/uview-components/uview-ui/components/u-input/u-input.vue'; -import USearch from '@/uview-components/uview-ui/components/u-search/u-search.vue'; -import UPopup from '@/uview-components/uview-ui/components/u-popup/u-popup.vue'; +import '@/components/uview-components/uview-ui'; import MyTag from '@/components/my-tag.vue' import { getSTSToken, getFilePreviewUrl } from "@/api/common.js"; import { publish } from "@/api/video.js"; import { getRecommendTag3 } from "@/api/video-tag.js"; import { getFileKey } from "@/utils/file.js"; +import { getVideoGoodsList } from "@/api/goods.js"; + export default { - components: {MyTag,UIcon,UButton,UForm,UFormItem,UInput,USearch,UPopup}, + components: {MyTag}, data() { return { fileTypeShow: false, @@ -220,7 +226,6 @@ videoUploadProgress: 0, loading: false, showGoodsPicker: false, - goodsSearch: '', tagInput: '', videoPreviewImgs: [], // 棰勮鍥剧墖鍦板潃 videoInfo: { @@ -230,6 +235,12 @@ fileSize: 0, originalFileName: '', cover: '' + }, + goodsQuery: { + keyword: '', + searchFromSelfStore: false, // 鏄惁鏄煡璇㈣嚜瀹跺簵閾哄晢鍝� + pageNumber: 1, + pageSize: 5 }, formData: { id: '', @@ -244,21 +255,9 @@ tags: [], fileInfo: {} }, - selectedGoods: null, - goodsList: [ - { - id: '1', - name: '鏂版鏃犵嚎钃濈墮鑰虫満', - price: '199.00', - image: 'https://via.placeholder.com/100' - }, - { - id: '2', - name: '鏅鸿兘鎵嬬幆杩愬姩鎵嬭〃', - price: '299.00', - image: 'https://via.placeholder.com/100' - } - ], + selectedGoodsList: [], + goodsList: [], + noMoreGoods: false, // 娌℃湁鏇村鍟嗗搧浜� recommendedTags: [], rules: { title: [ @@ -278,12 +277,6 @@ return this.formData.videoImgs.length > 0 && this.formData.title; } }, - filteredGoods() { - if (!this.goodsSearch) return this.goodsList; - return this.goodsList.filter(goods => - goods.name.toLowerCase().includes(this.goodsSearch.toLowerCase()) - ); - }, showTopicRecommendations() { return (this.tagInput === '' || this.recommendedTags.length > 0) && this.formData.tags.length < 5; }, @@ -296,6 +289,9 @@ // 鑾峰彇灞忓箷瀹藉害 const systemInfo = uni.getSystemInfoSync() this.screenWidth = systemInfo.windowWidth + this.goodsQuery.pageNumber = 1 + this.goodsQuery.pageSize = 10 + this.getVideoGoodsByEs() }, onShow() { this.initCOS() @@ -303,6 +299,40 @@ this.getRecommendTags() }, methods: { + // 鍔犺浇鏇村鍟嗗搧 + loadMoreGoods() { + if(this.noMoreGoods) { + return + } + this.goodsQuery.pageNumber += 1; + this.goodsQuery.pageSize = 5; + this.getVideoGoodsByEs() + }, + // 澶勭悊鍟嗗搧鎼滅储鍊� + handlerGoodsSearch() { + this.goodsQuery.pageNumber = 1 + this.goodsQuery.pageSize = 10 + this.getVideoGoodsByEs() + }, + // 鑾峰彇鍟嗗搧鍒嗛〉 + async getVideoGoodsByEs() { + getVideoGoodsList(this.goodsQuery).then(res => { + + if(this.goodsQuery.pageNumber === 1) { + this.goodsList = res.data.data + } else { + this.goodsList = [ + ...this.goodsList, + ...res.data.data.filter( + (newItem) => !this.goodsList.some((oldItem) => oldItem.id === newItem.id) + ), + ]; + } + if(res.data.data.length < this.goodsQuery.pageSize) { + this.noMoreGoods = true; + } + }) + }, // 鑾峰彇鎺ㄨ崘鏍囩 async getRecommendTags(type) { const params = { @@ -421,7 +451,22 @@ }, // 閲嶆柊涓婁紶 reUpload() { - this.resetData() + this.videoInfo = { + url: '', + fileKey: '', + fileType: '', + fileSize: 0, + originalFileName: '', + cover: '' + }; + this.formData.videoFileKey = '' + this.formData.cover = '' + this.formData.videoFit = 'cover' + this.formData.videoDuration = 0 + this.formData.videoImgs = [] + this.formData.fileInfo = {} + this.formData.videoContentType = 'video' + this.videoPreviewImgs = [] this.fileTypeShow = true }, // 閫夋嫨瑙嗛鍥鹃泦 @@ -497,20 +542,36 @@ // 閫夋嫨鍟嗗搧 chooseGoods() { + if(this.selectedGoodsList.length > 0) { + const selectedGoodsIds = new Set(this.selectedGoodsList.map(i => i.goodsId)); + console.log(selectedGoodsIds, "mimade"); + this.goodsList?.forEach(goods => { + this.$set(goods, 'selected', selectedGoodsIds.has(goods.goodsId)); + }); + } this.showGoodsPicker = true; }, // 閫夋嫨鍏蜂綋鍟嗗搧 - selectGoods(goods) { - this.selectedGoods = goods; - this.formData.goodsId = goods.id; - this.showGoodsPicker = false; + selectGoods(goods, index) { + if(! this.selectedGoodsList.some(item => item.id === goods.id)) { + goods["goodsNum"] = 1 + this.selectedGoodsList.push(goods) + this.goodsList[index].selected = true + } else { + this.goodsList[index].selected = false + this.selectedGoodsList = this.selectedGoodsList.filter(item => item.id !== goods.id); + } }, // 娓呴櫎鍟嗗搧 - clearGoods() { - this.selectedGoods = null; - this.formData.goodsId = ''; + clearGoods(goods) { + this.selectedGoodsList = this.selectedGoodsList.filter(item => item.id !== goods.id); + this.goodsList.forEach(item => { + if(item.id === goods.id) { + item.selected = false + } + }) }, // 鎼滅储鐑棬璇濋 @@ -577,7 +638,7 @@ if (valid && this.canPublish) { this.loading = true; this.formData.fileInfo = this.videoInfo; - console.log(this.formData); + this.formData["goodsList"] = this.selectedGoodsList.map(item => {return {goodsId: item.goodsId, goodsNum: item.goodsNum}}); publish(this.formData).then(res => { uni.showToast({ title: '瑙嗛宸叉彁浜ゅ鏍竳', @@ -629,6 +690,7 @@ fileInfo: {} }; this.videoPreviewImgs = [] + this.selectedGoodsList = [] } } }; @@ -707,6 +769,7 @@ background-color: #f9f9f9; border-radius: 8rpx; margin-top: 15rpx; + position: relative; } .goods-preview .goods-image { @@ -778,10 +841,11 @@ } .publish-btn { - position: fixed; + /* position: fixed; bottom: 100rpx; left: 20rpx; - right: 20rpx; + right: 20rpx; */ + margin-top: 40rpx; } .goods-picker { diff --git a/pages/video/home-page.vue b/pages/video/home-page.vue index 1e29861..5ce3063 100644 --- a/pages/video/home-page.vue +++ b/pages/video/home-page.vue @@ -61,20 +61,22 @@ <!-- 瑙嗛鍒楄〃 --> <scroll-view class="video-list" scroll-y :show-scrollbar="false" @scrolltolower="getPage" v-show="currentTab === 'works' && videoList.length > 0"> + <view class="video-container"> <view class="video-item" v-for="(item, index) in videoList" :key="item.id" > - <image class="video-cover" @click="playAuthorVideo(index)" :src="item.coverUrl" mode="aspectFill"></image> + <image class="video-cover" @click="playAuthorVideo(index)" :src="item.videoContentType === 'video' ? item.coverUrl : item.imgs[0]" mode="aspectFill"></image> <view class="video-info"> <view class="video-stats"> <view class="stat"> <uni-icons type="heart" size="16" color="#fff"></uni-icons> <text>{{item.collectNum}}</text> - <view class="more-op"> + <view class="more-op" v-if="userInfo.self"> <dropdown-menu :options="item.options" + :data="{id: item.id, title: item.title}" placement="top" theme-color="#07C160" @change="handleChange" @@ -83,6 +85,7 @@ </view> </view> </view> + </view> </view> </scroll-view> <scroll-view class="video-list" scroll-y :show-scrollbar="false" @scrolltolower="getPage" v-show="currentTab === 'likes' && collectVideoList.length > 0"> @@ -93,7 +96,7 @@ :key="item.id" @click="playCollectVideo(index)" > - <image class="video-cover" :src="item.coverUrl" mode="aspectFill"></image> + <image class="video-cover" :src="item.videoContentType === 'video' ? item.coverUrl : item.imgs[0]" mode="aspectFill"></image> <view class="video-info"> <view class="video-stats"> <view class="stat"> @@ -116,6 +119,18 @@ <!-- <image src="/static/images/empty.png" mode="aspectFit" class="empty-image"></image> --> <text class="empty-text">杩樻病鏈夌偣璧炰綔鍝佸摝~</text> </view> + + <!-- 鍒犻櫎瑙嗛鎻愰啋妗� --> + <uni-popup ref="delDialog" type="dialog"> + <uni-popup-dialog type="error" cancelText="鍙栨秷" confirmText="鍒犻櫎" title="鎻愰啋" :content="`鎮ㄦ鍦ㄥ垹闄わ細${opVideo.title}`" @confirm="deleteVideo" + @close="dialogClose"></uni-popup-dialog> + </uni-popup> + + <!-- 涓嬫灦瑙嗛鎻愰啋妗� --> + <uni-popup ref="downDialog" type="dialog"> + <uni-popup-dialog type="error" cancelText="鍙栨秷" confirmText="涓嬫灦" title="鎻愰啋" :content="`鎮ㄦ鍦ㄤ笅鏋讹細${opVideo.title}`" @confirm="downVideo" + @close="dialogClose"></uni-popup-dialog> + </uni-popup> </view> </template> @@ -123,16 +138,20 @@ import DropdownMenu from '@/components/dropdown-menu.vue' import {getAuthorInfo, getAuthorVideoPage, getAuthorCollectVideoPage} from '@/api/user.js' -import {subscribe, unSubscribe} from '@/api/video.js' +import {subscribe, unSubscribe, delVideo, updateVideo, userDownVideo} from '@/api/video.js' export default { components: {DropdownMenu}, data() { return { - options: [ - { command: 1, label: '鍖椾含' }, - { command: 2, label: '涓婃捣' }, - { command: 3, label: '骞垮窞' } - ], + options: [ + { command: 1, label: '鍖椾含' }, + { command: 2, label: '涓婃捣' }, + { command: 3, label: '骞垮窞' } + ], + opVideo: { // 姝e湪鎿嶄綔鐨勮棰� + id: '', + title: '' + }, currentTab: 'works', // works: 浣滃搧, likes: 鍠滄 authorId: '', userInfo: { @@ -172,9 +191,54 @@ this.getAuthorVideoPage(); }, methods: { - handleChange(value) { - console.log('閫変腑鍊�:', value) - }, + dialogClose() { + this.opVideo = { + id: '', + title: '' + } + }, + // 涓嬫灦瑙嗛 + downVideo() { + userDownVideo(this.opVideo.id).then(res => { + uni.showToast({ + title: '涓嬫灦鎴愬姛', + duration: 2000 + }); + // 鍒锋柊鏁版嵁 + this.videoList = []; + this.videoQuery.pageNumber = 1; + this.getAuthorVideoPage(); + }) + }, + // 鍒犻櫎瑙嗛 + deleteVideo() { + delVideo(this.opVideo.id).then(res => { + uni.showToast({ + title: '鍒犻櫎鎴愬姛', + duration: 2000 + }); + // 鍒锋柊鏁版嵁 + this.videoList = []; + this.videoQuery.pageNumber = 1; + this.getAuthorVideoPage(); + }) + }, + // 瑙﹀彂瑙嗛鎿嶄綔 + handleChange(value, data) { + console.log('閫変腑鍊�:', value) + this.opVideo.id = data.id; + this.opVideo.title = data.title; + if (value === 'DELETE') { + this.$refs.delDialog.open() + } else if (value === 'DOWN') { + this.$refs.downDialog.open() + } else if (value === 'EDIT') { + // 璺宠浆缂栬緫瑙嗛椤甸潰 + uni.navigateTo({ + url: `/pages/video/video-edit?id=${this.opVideo.id}` + }); + } + }, getPage() { if(this.currentTab === 'works') { if(this.nomoreVideo) { @@ -301,7 +365,7 @@ }); }, // 鎾斁鏀惰棌瑙嗛 - playAuthorVideo(index) { + playCollectVideo(index) { const playInfo = { videoList: this.collectVideoList, nomore: this.nomoreCollectVideo, @@ -460,16 +524,21 @@ } .video-list { - width: calc(100% - 20rpx); - padding: 0 10rpx; - height: calc(100vh - 554rpx); - background-color: #fff; + width: 100%; + padding: 0 10rpx; + height: calc(100vh - 554rpx); + background-color: #fff; +} + +.video-container { + display: flex; + flex-wrap: wrap; + justify-content: space-between; } .video-item { - width: 50%; - padding: 10rpx; - box-sizing: border-box; + width: 49%; + margin-bottom: 20rpx; position: relative; } @@ -481,15 +550,12 @@ } .video-info { - display: flex; - height: 60rpx; - align-items: center; - font-size: 24rpx; - width: 100%; - padding-right: 20rpx; - box-sizing: border-box; position: absolute; - bottom: 20rpx; + bottom: 10rpx; + left: 0; + right: 0; + padding: 0 10rpx; + box-sizing: border-box; } .video-title { @@ -569,8 +635,4 @@ } } -.video-container { - display: flex; - flex-wrap: wrap -} </style> \ No newline at end of file diff --git a/pages/video/video-edit.vue b/pages/video/video-edit.vue index a6e2f37..1b51fe7 100644 --- a/pages/video/video-edit.vue +++ b/pages/video/video-edit.vue @@ -1,49 +1,73 @@ <template> <view class="publish-container"> + <u-popup v-model="fileTypeShow" mode="bottom" round="20" height="35%"> + <view style="width: 100%;height:100%;display: flex;flex-direction: column;justify-content: center;align-items: center;"> + <view>璇烽�夋嫨瑕佸彂甯冪殑绫诲瀷</view> + <u-button style="width: 50%;margin-bottom: 30rpx;margin-top: 20rpx;" type="success" @click="chooseVideo">瑙嗛</u-button> + <u-button style="width: 50%;" type="success" @click="chooseImgs">鍥剧墖</u-button> + </view> + </u-popup> <!-- 瑙嗛涓婁紶鍖哄煙 --> <view class="upload-section"> - <view class="upload-btn" @click="chooseVideo" v-if="!videoInfo.url"> + <view class="upload-btn" @click="this.fileTypeShow = true" v-if="!formData.videoFileKey && formData.videoImgs.length < 1"> <u-icon name="plus" size="40" color="#999"></u-icon> - <text class="upload-text">鐐瑰嚮涓婁紶瑙嗛</text> - <text class="upload-tips">鏀寔MP4鏍煎紡锛屾渶闀�60绉�</text> + <text class="upload-text">鐐瑰嚮涓婁紶</text> </view> - - <view class="video-preview" v-else> - <video - :src="videoInfo.url" + + <view class="video-preview" v-else-if="formData.videoContentType === 'video'"> + <video + :src="videoInfo.url" :object-fit="formData.videoFit" class="video-player" :poster="videoInfo.cover || ''" ></video> - <view class="progress-box"> + <view class="progress-box" v-if="showUploadProgress"> <progress style="width: 100%;" :percent="videoUploadProgress" active-mode="forwards" show-info stroke-width="6" :active="true" active-color="#ff573e" /> </view> <view class="video-actions"> <u-button type="error" size="mini" @click="reUpload">閲嶆柊涓婁紶</u-button> - <u-button type="primary" size="mini" @click="chooseCover" v-if="videoInfo.url">{{formData.cover ? '鏇存崲灏侀潰' : '璇烽�夋嫨灏侀潰'}}</u-button> + <u-button type="primary" size="mini" @click="chooseCover" v-if="formData.videoFileKey">{{formData.cover ? '鏇存崲灏侀潰' : '璇烽�夋嫨灏侀潰'}}</u-button> </view> </view> + + <view class="image-list" v-else-if="formData.videoContentType === 'img'"> + <view + v-for="item in videoPreviewImgs" + :key="item" + class="image-item" + :style="{width: itemWidth + 'px', height: itemWidth + 'px'}" + > + <image + :src="item" + mode="aspectFill" + class="image" + /> + </view> + <view class="video-actions"> + <u-button type="error" size="mini" @click="reUpload">閲嶆柊涓婁紶</u-button> + </view> + </view> </view> - + <!-- 瑙嗛淇℃伅琛ㄥ崟 --> <view class="form-section"> <u-form :model="formData" ref="formRef" labelWidth="80"> <!-- 鏍囬杈撳叆 --> <u-form-item label="鏍囬" prop="title" borderBottom> - <u-input - v-model="formData.title" + <u-input + v-model="formData.title" placeholder="璇疯緭鍏ヨ棰戞爣棰�,20瀛椾互鍐�" maxlength="20" show-word-limit clearable /> </u-form-item> - + <!-- 璇濋杈撳叆 --> <u-form-item label="璇濋" prop="tags" borderBottom> <view class="tags-input-container"> - <u-input - v-model="tagInput" + <u-input + v-model="tagInput" placeholder="杈撳叆璇濋锛屽洖杞︾‘璁�" clearable @confirm="addTag" @@ -52,7 +76,7 @@ ></u-input> <!-- 宸查�夎瘽棰樺睍绀� --> <view class="tags-display" v-if="formData.tags.length > 0"> - <my-tag + <my-tag v-for="(tag, index) in formData.tags" :key="index" :text="tag.tagName" @@ -69,7 +93,7 @@ <view class="hot-topics" v-if="showTopicRecommendations"> <text class="section-title">{{ tagInput ? '鎺ㄨ崘璇濋' : '鐑棬璇濋' }}</text> <view class="topic-list"> - <my-tag + <my-tag v-for="(tag, index) in recommendedTags" :key="index" :text="tag.tagName" @@ -81,47 +105,54 @@ </view> </view> </u-form-item> - - + + <!-- 鍟嗗搧閾炬帴 --> <u-form-item label="鍟嗗搧" prop="goodsId" borderBottom> <view class="goods-link-container"> - <u-input + <u-input placeholder="鍙�夋嫨鎺ㄨ崘鍟嗗搧" clearable v-if="!selectedGoods" @click="chooseGoods" disabled > - <u-icon - slot="right" - name="search" - size="24" + <u-icon + slot="right" + name="search" + size="24" @click="chooseGoods" ></u-icon> </u-input> - <view class="goods-preview" v-if="selectedGoods"> - <image :src="selectedGoods.image" class="goods-image"></image> + <view class="goods-preview" @click="chooseGoods" v-for="goods in selectedGoodsList" :key="goods.id"> + <image :src="goods.thumbnail" class="goods-image"></image> <view class="goods-info"> - <text class="goods-name">{{ selectedGoods.name }}</text> - <text class="goods-price">楼{{ selectedGoods.price }}</text> + <text class="goods-name">{{ goods.goodsName }}</text> + <view style="display: flex;"> + <view class="goods-price" style="flex: 1;">楼{{ goods.price }}</view> + <view @click.stop="() => {}" style="flex: 1;display: flex;justify-content: center;align-items: center;"> + <view style="width: 90rpx">鏁伴噺锛�</view> + <uni-number-box v-model="goods.goodsNum" :min="0"/> + </view> + </view> </view> - <u-icon - name="close" - size="20" - @click="clearGoods" + <u-icon + style="position: absolute;right: 8rpx;top: 8rpx" + name="close" + size="24" + @click.stop="clearGoods(goods)" ></u-icon> </view> </view> </u-form-item> </u-form> </view> - + <!-- 鍙戝竷鎸夐挳 --> <view class="publish-btn"> - <u-button - type="primary" - shape="circle" + <u-button + type="success" + shape="circle" :loading="loading" @click="handlePublish" :disabled="!canPublish" @@ -129,7 +160,7 @@ {{ loading ? '鍙戝竷涓�...' : '绔嬪嵆鍙戝竷' }} </u-button> </view> - + <!-- 鍟嗗搧閫夋嫨寮圭獥 --> <u-popup v-model="showGoodsPicker" mode="bottom" round="20" height="70%"> <view class="goods-picker"> @@ -138,64 +169,66 @@ <u-icon name="close" size="24" @click="showGoodsPicker = false"></u-icon> </view> <view class="search-bar"> - <u-search - v-model="goodsSearch" - placeholder="鎼滅储鍟嗗搧鍚嶇О" + <u-search + v-model="goodsQuery.keyword" + placeholder="鎼滅储鍟嗗搧" :showAction="false" + @change="handlerGoodsSearch" ></u-search> </view> - <scroll-view class="goods-list" scroll-y> - <view - class="goods-item" - v-for="goods in filteredGoods" + <scroll-view class="goods-list" @scrolltolower="loadMoreGoods" scroll-y :show-scrollbar="false"> + <view + class="goods-item" + v-for="(goods, index) in goodsList" :key="goods.id" - @click="selectGoods(goods)" + @click="selectGoods(goods, index)" > - <image :src="goods.image" class="goods-image"></image> + <image :src="goods.thumbnail" class="goods-image"></image> <view class="goods-info"> - <text class="goods-name">{{ goods.name }}</text> + <text class="goods-name">{{ goods.goodsName }}</text> <text class="goods-price">楼{{ goods.price }}</text> +<!-- <view>{{ goods.sellingPoint }}</view> --> </view> - <u-icon - name="checkmark" - size="24" - :color="selectedGoods && selectedGoods.id === goods.id ? '#2979ff' : '#ccc'" + <u-icon + v-if="goods.selected" + name="checkmark" + size="36" + :color="'#2979ff'" ></u-icon> </view> </scroll-view> </view> </u-popup> - + <custom-tabbar bgColor="#ffffff" selected="video"></custom-tabbar> </view> </template> <script> -import UIcon from '@/uview-components/uview-ui/components/u-icon/u-icon.vue'; -import UButton from '@/uview-components/uview-ui/components/u-button/u-button.vue'; -import UForm from '@/uview-components/uview-ui/components/u-form/u-form.vue'; -import UFormItem from '@/uview-components/uview-ui/components/u-form-item/u-form-item.vue'; -import UInput from '@/uview-components/uview-ui/components/u-input/u-input.vue'; -import USearch from '@/uview-components/uview-ui/components/u-search/u-search.vue'; -import UPopup from '@/uview-components/uview-ui/components/u-popup/u-popup.vue'; +import '@/components/uview-components/uview-ui'; import MyTag from '@/components/my-tag.vue' import { getSTSToken, getFilePreviewUrl } from "@/api/common.js"; -import { publish, getVideoDetail } from "@/api/video.js"; +import { updateVideo, getVideoDetail } from "@/api/video.js"; import { getRecommendTag3 } from "@/api/video-tag.js"; import { getFileKey } from "@/utils/file.js"; +import { getVideoGoodsList } from "@/api/goods.js"; + export default { - components: {MyTag,UIcon,UButton,UForm,UFormItem,UInput,USearch,UPopup}, + components: {MyTag}, data() { return { + showUploadProgress: false, + fileTypeShow: false, cosClient: null, bucket: '', region: '', + endpoint: '', videoUploadProgress: 0, loading: false, showGoodsPicker: false, - goodsSearch: '', tagInput: '', + videoPreviewImgs: [], // 棰勮鍥剧墖鍦板潃 videoInfo: { url: '', fileKey: '', @@ -203,6 +236,12 @@ fileSize: 0, originalFileName: '', cover: '' + }, + goodsQuery: { + keyword: '', + searchFromSelfStore: false, // 鏄惁鏄煡璇㈣嚜瀹跺簵閾哄晢鍝� + pageNumber: 1, + pageSize: 5 }, formData: { id: '', @@ -212,49 +251,50 @@ videoDuration: 0, videoFit: 'cover', goodsId: '', + videoContentType: 'video', + videoImgs: [], tags: [], fileInfo: {} }, - selectedGoods: null, - goodsList: [ - { - id: '1', - name: '鏂版鏃犵嚎钃濈墮鑰虫満', - price: '199.00', - image: 'https://via.placeholder.com/100' - }, - { - id: '2', - name: '鏅鸿兘鎵嬬幆杩愬姩鎵嬭〃', - price: '299.00', - image: 'https://via.placeholder.com/100' - } - ], + selectedGoodsList: [], + goodsList: [], + noMoreGoods: false, // 娌℃湁鏇村鍟嗗搧浜� recommendedTags: [], rules: { title: [ { required: true, message: '璇疯緭鍏ヨ棰戞爣棰�', trigger: 'blur' }, { min: 1, max: 20, message: '鏍囬闀垮害鍦�1鍒�20涓瓧绗�', trigger: 'blur' } ] - } + }, + screenWidth: 375, + gap: 10 // 鍥剧墖闂磋窛 }; }, computed: { canPublish() { - return this.formData.videoFileKey && this.formData.title && this.formData.cover; - }, - filteredGoods() { - if (!this.goodsSearch) return this.goodsList; - return this.goodsList.filter(goods => - goods.name.toLowerCase().includes(this.goodsSearch.toLowerCase()) - ); + if(this.formData.videoContentType === 'video') { + return this.formData.videoFileKey && this.formData.title && this.formData.cover; + } else if(this.formData.videoContentType === 'img') { + return this.formData.videoImgs.length > 0 && this.formData.title; + } }, showTopicRecommendations() { return (this.tagInput === '' || this.recommendedTags.length > 0) && this.formData.tags.length < 5; - } + }, + // 璁$畻姣忎釜鍥剧墖椤圭殑瀹藉害锛堣�冭檻闂磋窛锛� + itemWidth() { + return (this.screenWidth - (this.gap * 4) - 20) / 3 + } }, onLoad(option) { - this.getVideoDetail(option.id) + this.getVDetail(option.id) + // 鑾峰彇灞忓箷瀹藉害 + const systemInfo = uni.getSystemInfoSync() + this.screenWidth = systemInfo.windowWidth + this.goodsQuery.pageNumber = 1 + this.goodsQuery.pageSize = 10 + this.getVideoGoodsByEs() + }, onShow() { this.initCOS() @@ -262,23 +302,57 @@ this.getRecommendTags() }, methods: { - getVideoDetail(id) { - getVideoDetail(id).then(res => { - this.fileInfo.cover = res.data.data.coverUrl - this.fileInfo.url = res.data.data.videoUrl - this.formData.cover = res.data.data.coverFileKey - this.formData.id = res.data.data.id - this.formData.title = res.data.data.title - this.formData.videoFileKey = res.data.data.videoFileKey - this.formData.videoFit = res.data.data.videoFit - this.formData.videoDuration = res.data.data.videoDuration - this.formData.goodsId = res.data.data.goodsId - this.formData.tags = res.data.data.tags - }).catch(() => { - uni.navigateBack({ - delta: 1 - }); - }) + getVDetail(id) { + getVideoDetail(id).then(res => { + this.videoInfo.cover = res.data.data.coverUrl + this.videoInfo.url = res.data.data.videoUrl + this.formData.videoImgs = res.data.data.imgs + this.formData.videoContentType = res.data.data.videoContentType + this.formData.cover = res.data.data.coverFileKey + this.formData.id = res.data.data.id + this.formData.title = res.data.data.title + this.formData.videoFileKey = res.data.data.videoFileKey + this.formData.videoFit = res.data.data.videoFit + this.formData.videoDuration = res.data.data.videoDuration + this.selectedGoodsList = res.data.data.goodsList + this.formData.tags = res.data.data.tags + this.showUploadProgress = false + console.log("瑙嗛璇︽儏", this.formData); + }) + }, + // 鍔犺浇鏇村鍟嗗搧 + loadMoreGoods() { + if(this.noMoreGoods) { + return + } + this.goodsQuery.pageNumber += 1; + this.goodsQuery.pageSize = 5; + this.getVideoGoodsByEs() + }, + // 澶勭悊鍟嗗搧鎼滅储鍊� + handlerGoodsSearch() { + this.goodsQuery.pageNumber = 1 + this.goodsQuery.pageSize = 10 + this.getVideoGoodsByEs() + }, + // 鑾峰彇鍟嗗搧鍒嗛〉 + async getVideoGoodsByEs() { + getVideoGoodsList(this.goodsQuery).then(res => { + + if(this.goodsQuery.pageNumber === 1) { + this.goodsList = res.data.data + } else { + this.goodsList = [ + ...this.goodsList, + ...res.data.data.filter( + (newItem) => !this.goodsList.some((oldItem) => oldItem.id === newItem.id) + ), + ]; + } + if(res.data.data.length < this.goodsQuery.pageSize) { + this.noMoreGoods = true; + } + }) }, // 鑾峰彇鎺ㄨ崘鏍囩 async getRecommendTags(type) { @@ -296,7 +370,7 @@ getSTSToken().then(res => { const COS = require('@/lib/cos-wx-sdk-v5.js'); // 寮�鍙戞椂浣跨敤 // const COS = require('./lib/cos-wx-sdk-v5.min.js'); // 涓婄嚎鏃朵娇鐢ㄥ帇缂╁寘 - + // console.log(COS.version); sdk 鐗堟湰闇�瑕佷笉浣庝簬 1.7.2 this.cosClient = new COS({ SecretId: res.data.data.tmpSecretId, // sts 鏈嶅姟涓嬪彂鐨勪复鏃� secretId @@ -308,21 +382,28 @@ }); this.bucket = res.data.data.bucket this.region = res.data.data.region + this.endpoint = res.data.data.endpoint }) - + }, // 閫夋嫨瑙嗛 chooseVideo() { + this.fileTypeShow = false; + // 娓呯┖閫夋嫨鐨勫浘鐗� + this.videoPreviewImgs = []; + this.formData.videoImgs = []; + this.formData.videoContentType = 'video' uni.chooseVideo({ sourceType: ['album', 'camera'], maxDuration: 60, camera: 'back', success: (res) => { this.videoUploadProgress = 0 + // 鑾峰彇鏂囦欢鍚� const tempPath = res.tempFilePath; let fileName = tempPath.substring(tempPath.lastIndexOf('/') + 1); - + // 澶勭悊瀹夊崜鍙兘鐨刄RI缂栫爜 if(fileName.indexOf('%') > -1) { fileName = decodeURIComponent(fileName); @@ -340,12 +421,12 @@ this.formData.videoDuration = res.duration; // 鍒ゆ柇瑙嗛鐨勫~鍏呮ā寮� this.formData.videoFit = this.calculateVideoFit(res.width, res.height) - + this.showUploadProgress = true this.cosClient.uploadFile({ Bucket: this.bucket, Region: this.region, Key: fileKey, - FilePath: res.tempFilePath, + FilePath: res.tempFilePath, SliceSize: 1024 * 1024 * 5, /* 瑙﹀彂鍒嗗潡涓婁紶鐨勯槇鍊�,5M */ onProgress: (progressData) => { console.log(progressData.percent); @@ -363,7 +444,7 @@ cover: '' } } else { - console.log(this.videoInfo); + } }); }, @@ -380,27 +461,75 @@ calculateVideoFit(width, height) { const viewportRatio = uni.getSystemInfoSync().windowWidth / uni.getSystemInfoSync().windowHeight; const videoRatio = width / height; - + // 瑙勫垯1锛氳秴瀹借棰戯紙濡傜數褰�21:9锛� if (videoRatio > 2) return 'contain'; - + // 瑙勫垯2锛氱珫灞忚棰戯紙濡�9:16锛� if (videoRatio < 0.8) return 'cover'; - + // 瑙勫垯3锛氭帴杩戝睆骞曟瘮渚嬬殑妯睆瑙嗛 return Math.abs(videoRatio - viewportRatio) > 0.3 ? 'contain' : 'cover'; }, // 閲嶆柊涓婁紶 reUpload() { this.videoInfo = { - url: '', - cover: '', - duration: 0, - size: 0 + url: '', + fileKey: '', + fileType: '', + fileSize: 0, + originalFileName: '', + cover: '' }; - this.chooseVideo(); + this.formData.videoFileKey = '' + this.formData.cover = '' + this.formData.videoFit = 'cover' + this.formData.videoDuration = 0 + this.formData.videoImgs = [] + this.formData.fileInfo = {} + this.formData.videoContentType = 'video' + this.videoPreviewImgs = [] + this.fileTypeShow = true }, - + // 閫夋嫨瑙嗛鍥鹃泦 + chooseImgs() { + this.fileTypeShow = false + // 娓呯┖閫夋嫨鐨勮棰� + this.formData.videoFileKey = ''; + this.formData.cover = ''; + this.formData.videoContentType = 'img' + uni.chooseImage({ + count: 9, + sizeType: ['compressed'], + sourceType: ['album'], + success: (res) => { + res.tempFilePaths.forEach(tmpImg => { + let fileName = tmpImg.substring(tmpImg.lastIndexOf('/') + 1); + // 澶勭悊瀹夊崜鍙兘鐨刄RI缂栫爜 + if(fileName.indexOf('%') > -1) { + fileName = decodeURIComponent(fileName); + } + const fileKey = getFileKey(fileName); + this.cosClient.uploadFile({ + Bucket: this.bucket, + Region: this.region, + Key: fileKey, + FilePath: tmpImg, + SliceSize: 1024 * 1024 * 5 /* 瑙﹀彂鍒嗗潡涓婁紶鐨勯槇鍊�,5M */ + }, (err, data) => { + if (err) { + console.log('涓婁紶澶辫触', err); + } else { + // 鑾峰彇灏侀潰鐨勮闂湴鍧� + this.videoPreviewImgs.push(this.endpoint + '/' + fileKey); + this.formData.videoImgs.push(fileKey); + } + }); + }) + + } + }); + }, // 閫夋嫨灏侀潰 chooseCover() { uni.chooseImage({ @@ -419,41 +548,54 @@ Bucket: this.bucket, Region: this.region, Key: fileKey, - FilePath: res.tempFilePaths[0], + FilePath: res.tempFilePaths[0], SliceSize: 1024 * 1024 * 5 /* 瑙﹀彂鍒嗗潡涓婁紶鐨勯槇鍊�,5M */ }, (err, data) => { if (err) { console.log('涓婁紶澶辫触', err); } else { - // 鑾峰彇灏侀潰鐨勮闂湴鍧� - getFilePreviewUrl(fileKey).then(res => { - this.videoInfo.cover = res.data.data - this.formData.cover = fileKey - }) + this.videoInfo.cover = this.endpoint + '/' + fileKey + this.formData.cover = fileKey } }); } }); }, - + // 閫夋嫨鍟嗗搧 chooseGoods() { + if(this.selectedGoodsList.length > 0) { + const selectedGoodsIds = new Set(this.selectedGoodsList.map(i => i.goodsId)); + console.log(selectedGoodsIds, "mimade"); + this.goodsList?.forEach(goods => { + this.$set(goods, 'selected', selectedGoodsIds.has(goods.goodsId)); + }); + } this.showGoodsPicker = true; }, - + // 閫夋嫨鍏蜂綋鍟嗗搧 - selectGoods(goods) { - this.selectedGoods = goods; - this.formData.goodsId = goods.id; - this.showGoodsPicker = false; + selectGoods(goods, index) { + if(! this.selectedGoodsList.some(item => item.id === goods.id)) { + goods["goodsNum"] = 1 + this.selectedGoodsList.push(goods) + this.goodsList[index].selected = true + } else { + this.goodsList[index].selected = false + this.selectedGoodsList = this.selectedGoodsList.filter(item => item.id !== goods.id); + } }, - + // 娓呴櫎鍟嗗搧 - clearGoods() { - this.selectedGoods = null; - this.formData.goodsId = ''; + clearGoods(goods) { + this.selectedGoodsList = this.selectedGoodsList.filter(item => item.id !== goods.id); + this.goodsList.forEach(item => { + if(item.id === goods.id) { + item.selected = false + } + }) }, - + // 鎼滅储鐑棬璇濋 searchTags() { if (this.tagInput.trim() !== '') { @@ -484,7 +626,7 @@ }); } }, - + // 閫夋嫨鎺ㄨ崘璇濋 selectTopic(index) { const tag = this.recommendedTags[index] @@ -495,7 +637,7 @@ }); return; } - + if (this.formData.tags.filter(item => item.tagName === tag.tagName).length < 1) { this.formData.tags.push(tag); this.tagInput = ''; @@ -506,49 +648,31 @@ }); } }, - + // 绉婚櫎鏍囩 removeTag(index) { this.formData.tags.splice(index, 1); }, - + // 澶勭悊鍙戝竷 handlePublish() { this.$refs.formRef.validate(valid => { if (valid && this.canPublish) { this.loading = true; this.formData.fileInfo = this.videoInfo; - console.log(this.formData); - publish(this.formData).then(res => { + this.formData["goodsList"] = this.selectedGoodsList.map(item => {return {goodsId: item.goodsId, goodsNum: item.goodsNum}}); + updateVideo(this.formData).then(res => { uni.showToast({ title: '瑙嗛宸叉彁浜ゅ鏍竳', icon: 'success' }); this.loading = false // 閲嶇疆琛ㄥ崟 - this.videoInfo = { - url: '', - fileKey: '', - fileType: '', - fileSize: 0, - originalFileName: '', - cover: '' - }; - this.formData = { - id: '', - title: '', - videoFileKey: '', - cover: '', - videoFit: 'cover', - videoDuration: 0, - goodsId: '', - tags: [], - fileInfo: {} - }; + this.resetData(); this.selectedGoods = null; this.tagInput = ''; this.recommendedTags = []; - + // TODO 鍏堣烦棣栭〉,鍚庨潰璺虫垜鐨勮棰戦〉闈� setTimeout(() => { uni.switchTab({ @@ -563,21 +687,46 @@ }); } }); - } + }, + resetData() { + // 閲嶇疆琛ㄥ崟 + this.videoInfo = { + url: '', + fileKey: '', + fileType: '', + fileSize: 0, + originalFileName: '', + cover: '' + }; + this.formData = { + id: '', + title: '', + videoFileKey: '', + cover: '', + videoFit: 'cover', + videoDuration: 0, + goodsId: '', + videoContentType: 'video', + videoImgs: [], + tags: [], + fileInfo: {} + }; + this.videoPreviewImgs = [] + this.selectedGoodsList = [] + } } }; </script> <style scoped> .publish-container { - padding: 20rpx; + padding: 10px; padding-bottom: 120rpx; } .upload-section { background-color: #f8f8f8; border-radius: 16rpx; - padding: 40rpx; margin-bottom: 30rpx; display: flex; justify-content: center; @@ -617,9 +766,11 @@ } .video-actions { + width: 100%; margin-top: 20rpx; display: flex; justify-content: center; + align-items: center; gap: 20rpx; } @@ -640,6 +791,7 @@ background-color: #f9f9f9; border-radius: 8rpx; margin-top: 15rpx; + position: relative; } .goods-preview .goods-image { @@ -711,10 +863,11 @@ } .publish-btn { - position: fixed; + /* position: fixed; bottom: 100rpx; left: 20rpx; - right: 20rpx; + right: 20rpx; */ + margin-top: 40rpx; } .goods-picker { @@ -785,4 +938,22 @@ height: 25px; margin-top: 10px; } -</style> \ No newline at end of file + +.image-list { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} + +.image-item { + margin: 5px; + overflow: hidden; + border-radius: 8px; + box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); +} + +.image { + width: 100%; + height: 100%; +} +</style> diff --git a/pages/video/video-goods-detail.vue b/pages/video/video-goods-detail.vue new file mode 100644 index 0000000..9d06578 --- /dev/null +++ b/pages/video/video-goods-detail.vue @@ -0,0 +1,100 @@ +<template> + <view style="padding: 0 20rpx;"> + <view + class="goods-item" + v-for="(goods, index) in goodsList" + :key="goods.goodsId" + @click="selectGoods(goods, index)" + > + <image :src="goods.thumbnail" class="goods-image"></image> + <view class="goods-info"> + <text class="goods-name">{{ goods.goodsName }}</text> + <view style="display: flex;"> + <view class="goods-price" style="flex: 1;">楼{{ goods.price }}</view> + <view @click.stop="() => {}" style="flex: 1;display: flex;justify-content: center;align-items: center;"> + <view style="width: 90rpx">鏁伴噺锛�</view> + <uni-number-box v-model="goods.goodsNum" :min="0"/> + </view> + </view> + </view> + </view> + <view style="position: fixed;bottom: 80rpx;display: flex;align-items: center;padding: 0 20rpx;width: calc(100% - 40rpx);"> + <view style="flex:7">宸查�墈{totalNum}}涓晢鍝�,鍚堣锛�<text class="goods-price">锟{totalMoney}}</text></view> + <view style="flex:3;display: flex;align-items: flex-end"> + <u-button @click="toPay" type="success" size="medium" :disabled="totalNum < 1">鍘绘敮浠�</u-button> + </view> + </view> + </view> +</template> + +<script> + import {getGoodsDetail} from "@/api/video.js" + + import '@/components/uview-components/uview-ui'; + export default { + computed: { + totalMoney() { + return this.goodsList.reduce((total, goods) => { + return total + (goods.price * goods.goodsNum) + }, 0) + }, + totalNum() { + return this.goodsList.filter(goods => goods.goodsNum !== 0).length; + } + }, + data() { + return { + videoId: '', + goodsList: [] + } + }, + onLoad(option) { + this.videoId = option.videoId; + this.getGoodsList(); + }, + methods: { + // 鑾峰彇鍟嗗搧鍒楄〃 + async getGoodsList() { + getGoodsDetail(this.videoId).then(res => { + this.goodsList = res.data.data + }) + }, + // 鐢熸垚璁㈠崟-鏀粯 + toPay() { + + } + } + } +</script> + +<style> +.goods-item { + display: flex; + align-items: center; + padding: 20rpx 0; + border-bottom: 1rpx solid #f5f5f5; +} +.goods-image { + width: 100rpx; + height: 100rpx; + border-radius: 8rpx; + margin-right: 20rpx; +} +.goods-info { + flex: 1; +} +.goods-name { + font-size: 28rpx; + color: #333; + margin-bottom: 10rpx; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; +} +.goods-price { + font-size: 28rpx; + color: #f44; + font-weight: bold; +} +</style> diff --git a/pages/video/video-play.vue b/pages/video/video-play.vue index d98f74e..4cf61c2 100644 --- a/pages/video/video-play.vue +++ b/pages/video/video-play.vue @@ -9,89 +9,141 @@ @change="onSwiperChange" > <swiper-item v-for="(item, index) in videoList" :key="item.id"> - <!-- 鎾斁鎸夐挳锛堜粎褰撹棰戞殏鍋滄椂鏄剧ず锛� --> - <view - class="play-icon" - @click="togglePlay(index)" - v-if="!currentVideoIsPlaying" - > - <image src="/static/video/play.png" style="width: 45px;height: 45px" mode="aspectFit"></image> - </view> - <video - :id="'video'+index" - :ref="'video'+index" - :src="item.videoUrl" - :autoplay="currentIndex === index" - :controls="false" - :loop="true" - :object-fit="item.objectFit" - class="video-item" - @play="onPlay(item.id, index)" - @pause="onPause(index)" - @ended="onEnded(index)" - @click="togglePlay(index)" - @timeupdate="onTimeUpdate($event)" - ></video> - - <!-- 鎮寕鍟嗗搧閾炬帴灞� --> - <view class="goods-link-warp"> - <view class="goods-link"> - <view class="goods-container"> - <!-- 鍟嗗搧鍥剧墖 --> - <image class="goods-image" :src="item.goods.imageUrl" mode="aspectFill"></image> - - <!-- 鍟嗗搧淇℃伅 --> - <view class="goods-info"> - <text class="goods-name">{{item.goods.name}}</text> - <view class="price-section"> - <text class="current-price">楼{{item.goods.price}}</text> - <text class="original-price" v-if="item.goods.originalPrice">楼{{item.goods.originalPrice}}</text> - </view> - <text class="sales-count">{{item.goods.saleNum}}浜哄凡璐�</text> - </view> - - <!-- 璐拱鎸夐挳 --> - <view class="buy-button"> - <text>璐拱</text> - </view> - </view> - </view> - </view> - - - <!-- 瑙嗛淇℃伅灞� --> - <view class="video-info"> - <view> - <text class="video-author">@{{item.authorName}}</text> - </view> - <view style="width: 100%;word-wrap: break-word;white-space: normal;overflow-wrap: break-word;"> - <text class="video-title">{{item.title}}</text> - <text class="video-tag" v-for="(tag, index) in item.tagList" :key="tag.id">#{{tag.tagName}}</text> - </view> - </view> - - <!-- 鍙充晶浜掑姩鎸夐挳 --> - <view class="action-buttons"> - <view class="avatar-container"> - <image class="avatar" @click="jumpToHomePage(item.authorId)" :src="item.authorAvatar" mode="aspectFill"></image> - <!-- 鍏虫敞鍥炬爣 - 浣跨敤缁濆瀹氫綅 --> - <view v-if="!item.subscribeThisAuthor" class="follow-icon" @click="subscribeAuth(index, item.authorId)"> - <text class="iconfont"></text> - </view> - </view> - <view class="action-item" @click="toggleCollect(item, index)"> - <text class="iconfont" v-if="item.collected"></text> - <text class="iconfont" v-else></text> - <text style="font-size: 10px;font-weight: lighter;">{{item.collectNum}}</text> + <view style="width: 100%;height: 100%;" v-if="item.videoContentType === 'video'"> + <!-- 鎾斁鎸夐挳锛堜粎褰撹棰戞殏鍋滄椂鏄剧ず锛� --> + <view + class="play-icon" + @click="togglePlay(index)" + v-if="!currentVideoIsPlaying" + > + <image src="/static/video/play.png" style="width: 45px;height: 45px" mode="aspectFit"></image> + </view> + <video + :id="'video'+index" + :ref="'video'+index" + :src="item.videoUrl" + :autoplay="currentIndex === index" + :controls="false" + :loop="true" + :object-fit="item.objectFit" + :enable-progress-gesture="false" + class="video-item" + @play="onPlay(item.id, index)" + @pause="onPause(index)" + @ended="onEnded(index)" + @click="togglePlay(index)" + @timeupdate="onTimeUpdate($event)" + @loadedmetadata="onLoadedMetadata($event)" + + ></video> + <!-- 鑷畾涔夋帶鍒舵潯 --> + <view + @touchstart="handleTouchStart" + @touchmove="handleTouchMove" + @touchend="handleTouchEnd" + class="container"> + <!-- 杩涘害鏉� - 鏁翠釜鍖哄煙鍙嫋鍔� --> + <view class="process-warp" :style="{ opacity: showProcess ? 1 : 0 }"> + <!-- 鏄剧ず褰撳墠杩涘害 --> + <view class="progress-text">{{ hasPlayTime }}/{{formartDuration}}</view> + <view + class="progress-bar" + id="progressBar" + > + + <!-- 宸插~鍏呴儴鍒� --> + <view class="progress-fill" :style="{ width: progress + '%' }"></view> + </view> + </view> + </view> + </view> + <view style="width: 100%; height: 100%;" v-else-if="item.videoContentType === 'img'"> + <uni-swiper-dot + :info="item.imgs" + :current="currentImgIndex" + mode="round" + style="width: 100%;height: 100%;display: flex;justify-content: center;align-items: center;" + :dots-styles="{width: 24, bottom: 24,selectedBackgroundColor: 'green', backgroundColor: 'gray'}" + > + <swiper class="swiper-box" @change="imgChange" :autoplay="true" :interval="3000"> + <swiper-item v-for="img in item.imgs" :key="img"> + <view class="swiper-item"> + <!-- 璋冩暣 image 鏍峰紡锛屼娇鍏跺眳涓笖鎸夋瘮渚嬬缉鏀� --> + <image + :src="img" + mode="aspectFit" + style="width: 100%; height: 100%; display: block; margin: 0 auto;" + ></image> + </view> + </swiper-item> + </swiper> + </uni-swiper-dot> + </view> + + + <!-- 鎮寕鍟嗗搧閾炬帴灞� --> + <view class="goods-link-warp" v-if="item.goodsList.length > 0"> + <view class="goods-link"> + <swiper @change="goodsChange" :autoplay="true" :interval="4000" style="height: 120rpx;"> + <swiper-item v-for="goods in item.goodsList" :key="goods.goodsId"> + <view class="goods-container" @click="jumpToPay(item.id)"> + <!-- 鍟嗗搧鍥剧墖 --> + <image class="goods-image" :src="goods.thumbnail" mode="aspectFill"></image> + + <!-- 鍟嗗搧淇℃伅 --> + <view class="goods-info"> + <text class="goods-name">{{goods.goodsName}}</text> + <view class="price-section"> + <text class="current-price">楼{{goods.price}}</text> + <text class="original-price" v-if="goods.originalPrice">楼{{goods.originalPrice}}</text> + </view> + </view> + </view> + </swiper-item> + </swiper> + </view> + </view> + + + <!-- 瑙嗛淇℃伅灞� --> + <view class="video-info"> + <view> + <text class="video-author">@{{item.authorName}}</text> + </view> + <view style="width: 100%;word-wrap: break-word;white-space: normal;overflow-wrap: break-word;"> + <text class="video-title">{{item.title}}</text> + <text class="video-tag" v-for="(tag, index) in item.tagList" :key="tag.id">#{{tag.tagName}}</text> + </view> </view> - <view class="action-item" @click="showComments(item)"> - <text class="iconfont"></text> - <text style="font-size: 10px;font-weight: lighter;">{{item.commentNum}}</text> + + <!-- 鍙充晶浜掑姩鎸夐挳 --> + <view class="action-buttons"> + <view class="avatar-container"> + <image class="avatar" @click="jumpToHomePage(item.authorId)" :src="item.authorAvatar" mode="aspectFill"></image> + <!-- 鍏虫敞鍥炬爣 - 浣跨敤缁濆瀹氫綅 --> + <view v-if="!item.subscribeThisAuthor" class="follow-icon" @click="subscribeAuth(index, item.authorId)"> + <text class="iconfont"></text> + </view> + </view> + <view class="action-item" @click="toggleCollect(item, index)"> + <text class="iconfont" v-if="item.collected"></text> + <text class="iconfont" v-else></text> + <text style="font-size: 10px;font-weight: lighter;">{{item.collectNum}}</text> + </view> + <view class="action-item" @click="showComments(item)"> + <text class="iconfont"></text> + <text style="font-size: 10px;font-weight: lighter;">{{item.commentNum}}</text> + </view> + <view class="action-item"> + <button open-type="share" class="custom-share-btn" :data-obj="item"> + <text class="iconfont"></text> + </button> + + </view> </view> - </view> - - </swiper-item> - </swiper> + + </swiper-item> + </swiper> <!-- 璇勮寮圭獥 --> <uni-popup ref="commentPopup" type="bottom" :is-mask-click="true" @maskClick="closeCommentPopup"> @@ -178,9 +230,29 @@ <script> import { getRecommendVideos, savePlayRecord, subscribe, getVideoComments, addVideoComment, thubmsUpComment, cancelThubmsUpComment } from "@/api/video.js"; import { changeCollect } from "@/api/collect.js"; +import { saveShare } from "@/api/share.js"; +import storage from "@/utils/storage.js"; export default { + computed: { + hasPlayTime() { + return this.sliderFormatTime(this.progress > 0 ? this.duration * this.progress / 100 : 0); + } + }, data() { return { + currentImgIndex: 0, // 鎾斁鍒扮鍑犲紶鍥�--绱㈠紩 + currentGoodsIndex: 0, // 鎾斁鍒扮鍑犱釜鍟嗗搧--绱㈠紩 + currentTime: 0, + formartDuration: '', + duration: 0, + startX: 0, + progress: 0, // 瑙嗛杩涘害 + startProgress : 0, // 寮�濮嬫粦鍔ㄦ椂鐨勮繘搴� + barLeft: 0, // 杩涘害鏉″乏杈圭晫浣嶇疆 + barWidth: 0, // 杩涘害鏉″搴� + isDragging: false, // 鏄惁姝e湪鎷栧姩 + processHidenTimer: null, // 杩涘害鏉¢殣钘忓畾鏃跺櫒 + showProcess: false, // 鏄惁鏄剧ず杩涘害鏉� videoNoMore: false, // 鏄惁杩樻湁鏇村瑙嗛 commentNoMore: false, // 鏄惁杩樻湁鏇村璇勮 commentQuery: { @@ -253,6 +325,7 @@ const playInfo = uni.getStorageSync("playInfo", playInfo); if(playInfo) { this.videoList = playInfo.videoList; + console.log("鎷垮埌鏁版嵁浜�",playInfo); this.videoQuery.pageNumber = playInfo.pageNumber; this.videoNoMore = playInfo.nomore; this.videoQuery.authorId = option.authorId; @@ -267,7 +340,51 @@ // 鍒濆鍖栬棰戜笂涓嬫枃 this.initVideoContexts(); }, + onShareAppMessage(e) { + const userInfo = storage.getUserInfo(); + if(!userInfo) { + console.log("鏈櫥褰曚笉鑳藉垎浜�"); + return + } + const videoInfo = e.target.dataset.obj; + // 淇濆瓨鍒嗕韩璁板綍 + const data = { + shareType: 'video', + refId: videoInfo.id, + shareUser: userInfo.id + } + saveShare(data) + return { + title: videoInfo.title, + path: `/pages/tabbar/index/home?videoId=${videoInfo.id}&userId=${userInfo.id}`, + imageUrl: videoInfo.coverUrl + } + }, methods: { + // 鐐瑰嚮鍟嗗搧璺宠浆 + jumpToPay(videoId) { + uni.navigateTo({ + url: '/pages/video/video-goods-detail?videoId=' + videoId + }); + }, + // 杞挱鍥惧彉鍖� + imgChange(e) { + this.currentImgIndex = e.detail.current; + }, + // 鍟嗗搧杞挱鍥惧彉鍖� + goodsChange(e) { + this.currentGoodsIndex = e.detail.current; + }, + // 鑾峰彇杩涘害鏉$殑浣嶇疆鍜屽昂瀵� + getBarRect() { + const query = uni.createSelectorQuery().in(this); + query.select('#progressBar').boundingClientRect(rect => { + if (rect) { + this.barLeft = rect.left; + this.barWidth = rect.width; + } + }).exec(); + }, // 璺宠浆涓汉涓婚〉 jumpToHomePage(authorId) { uni.navigateTo({ @@ -364,6 +481,12 @@ const input = this.$refs.commentInput; if (input) input.focus(); }); + }, + // 杩涘害鏉℃椂闂存牸寮忓寲 (00:00) + sliderFormatTime(seconds) { + const mins = Math.floor(seconds / 60); + const secs = Math.floor(seconds % 60); + return `${mins.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`; }, // 鏍煎紡鍖栨椂闂� formatTime(time) { @@ -561,6 +684,67 @@ this.videoContexts[this.currentIndex].play(); } }, + + // 鑾峰彇杩涘害鏉$殑浣嶇疆鍜屽昂瀵� + getBarRect() { + const query = uni.createSelectorQuery().in(this); + query.select('#progressBar').boundingClientRect(rect => { + if (rect) { + this.barLeft = rect.left; + this.barWidth = rect.width; + } + }).exec(); + }, + + // 瑙︽懜寮�濮� + handleTouchStart(e) { + this.isDragging = true; + this.showProcess = true; + this.startProgress = this.progress; // 璁板綍寮�濮嬫椂鐨勮繘搴� + this.startX = e.touches[0].pageX; + console.log("璁板綍寮�濮嬫椂鐨勮繘搴�", this.startProgress); + this.videoContexts[this.currentIndex].pause() + // this.updateProgress(e); + }, + + // 瑙︽懜绉诲姩 + handleTouchMove(e) { + if (!this.isDragging || !this.barWidth) return; + clearTimeout(this.processHidenTimer) + this.videoContexts[this.currentIndex].pause() + this.updateProgress(e); + }, + + // 瑙︽懜缁撴潫 + handleTouchEnd() { + this.isDragging = false; + console.log("婊戝姩缁撴潫", this.duration * this.progress); + this.videoContexts[this.currentIndex].seek(this.duration * this.progress / 100) + this.videoContexts[this.currentIndex].play() + this.processHidenTimer = setTimeout(() => { + this.showProcess = false; + }, 1000); + }, + + // 鏇存柊杩涘害 + updateProgress(e) { + // 鑾峰彇褰撳墠瑙︽懜鐐筙鍧愭爣 + const currentX = e.touches[0].pageX; + + // 璁$畻婊戝姩璺濈(鍍忕礌) + const deltaX = currentX - this.startX; + + // 灏嗗儚绱犺窛绂昏浆鎹负杩涘害澧為噺 + const deltaProgress = (deltaX / this.barWidth) * 100; + console.log("杩涘害澧為噺", deltaProgress); + // 璁$畻鏂拌繘搴� = 寮�濮嬫椂鐨勮繘搴� + 婊戝姩澧為噺 + let newProgress = this.startProgress + deltaProgress; + + // 闄愬埗鑼冨洿鍦�0-100涔嬮棿 + newProgress = Math.max(0, Math.min(100, newProgress)); + + this.progress = newProgress; + }, // 鏀惰棌/鍙栨秷鏀惰棌 toggleCollect(item, index) { @@ -594,9 +778,15 @@ }, // 瑙嗛鎾斁浜嬩欢 onPlay(id, index) { - console.log(id, index, "瑙﹀彂鎾斁"); + this.getBarRect() + this.progress = 0 if(index === this.currentIndex) { this.currentVideoIsPlaying = true; + if(! this.duration) { + // 璁剧疆褰撳墠鎾斁瑙嗛鐨勬�绘椂闀� + this.duration = this.videoList[this.currentIndex].videoDuration; + this.formartDuration = this.sliderFormatTime(this.duration); + } } else { this.currentVideoIsPlaying = false; return @@ -632,8 +822,15 @@ // 璁板綍鎾斁鏃堕暱 onTimeUpdate(e) { this.playRecord.playAt = e.detail.currentTime + this.currentTime = e.detail.currentTime; + this.progress = (e.detail.currentTime / this.duration) * 100 }, - + // 鑾峰彇瑙嗛鎬绘椂闀� + onLoadedMetadata(e) { + // this.duration = e.detail.duration; + // this.formartDuration = this.sliderFormatTime(this.duration); + // console.log("瑙嗛鎬绘椂闀�", this.duration); + }, // 淇濆瓨鎾斁璁板綍 async savePlayRecord() { console.log(Date.now(), this.playRecord.startPlayTime, this.totalHidenTime); @@ -669,7 +866,7 @@ .video-swiper { width: 100%; - height: 100%; + height: calc(100% - 20rpx); } .video-item { @@ -691,7 +888,7 @@ .video-info { width: 70%; position: absolute; - bottom: 70px; + bottom: 20px; left: 20px; color: #f8f8f8; z-index: 10; @@ -765,6 +962,7 @@ } .goods-link { position: relative; + width: 450rpx; margin: 20rpx 0; padding: 12rpx; background-color: rgba(255, 255, 255, 0.9); @@ -773,6 +971,7 @@ } .goods-container { + width: 100%; display: flex; align-items: center; } @@ -795,11 +994,13 @@ font-size: 28rpx; color: #333; font-weight: bold; - display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; - overflow: hidden; margin-bottom: 8rpx; + width: 280rpx; /* 闇�瑕佹寚瀹氬搴� */ + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; } .price-section { @@ -1025,4 +1226,62 @@ .thumbs-num { margin-left: 4rpx; } + .container { + display: flex; + flex-direction: column; + align-items: center; + position: absolute; + bottom: 0; + width: 100%; + } + + .progress-bar { + position: relative; + width: 100%; + height: 16px; + background-color: #eee; + overflow: hidden; + } + + .progress-fill { + position: absolute; + left: 0; + top: 0; + height: 100%; + background-color: lightgray; + transition: width 0.1s; + } + .process-warp { + width: 100%; + display: flex; + flex-direction: column; + align-items: center; + } + .progress-text { + margin-top: 10px; + font-size: 14px; + color: #666; + } + .swiper-box { + width: 100%; + height: 1200rpx; + } + .swiper-item { + display: flex; + justify-content: center; + align-items: center; + width: 100%; + height: 100%; + } + .custom-share-btn { + font-size: unset; + background: none; + padding: 0; + margin: 0; + line-height: normal; + border: none; + } + .custom-share-btn::after { + border: none; + } </style> \ No newline at end of file diff --git a/uni.scss b/uni.scss index 8b17bab..9811beb 100644 --- a/uni.scss +++ b/uni.scss @@ -1,6 +1,6 @@ /* 椤甸潰宸﹀彸闂磋窛 */ $page-color-base: #f8f8f8; -@import '@/uview-components/uview-ui/theme.scss'; +@import '@/components/uview-components/uview-ui/theme.scss'; /* 鏂囧瓧灏哄 */ $font-sm: 24rpx; diff --git a/uni_modules/uni-drawer/changelog.md b/uni_modules/uni-drawer/changelog.md new file mode 100644 index 0000000..6d2488c --- /dev/null +++ b/uni_modules/uni-drawer/changelog.md @@ -0,0 +1,13 @@ +## 1.2.1锛�2021-11-22锛� +- 淇 vue3涓釜鍒玸css鍙橀噺鏃犳硶鎵惧埌鐨勯棶棰� +## 1.2.0锛�2021-11-19锛� +- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-drawer](https://uniapp.dcloud.io/component/uniui/uni-drawer) +## 1.1.1锛�2021-07-30锛� +- 浼樺寲 vue3涓嬩簨浠惰鍛婄殑闂 +## 1.1.0锛�2021-07-13锛� +- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834) +## 1.0.7锛�2021-05-12锛� +- 鏂板 缁勪欢绀轰緥鍦板潃 +## 1.0.6锛�2021-02-04锛� +- 璋冩暣涓簎ni_modules鐩綍瑙勮寖 diff --git a/uni_modules/uni-drawer/components/uni-drawer/keypress.js b/uni_modules/uni-drawer/components/uni-drawer/keypress.js new file mode 100644 index 0000000..62dda46 --- /dev/null +++ b/uni_modules/uni-drawer/components/uni-drawer/keypress.js @@ -0,0 +1,45 @@ +// #ifdef H5 +export default { + name: 'Keypress', + props: { + disable: { + type: Boolean, + default: false + } + }, + mounted () { + const keyNames = { + esc: ['Esc', 'Escape'], + tab: 'Tab', + enter: 'Enter', + space: [' ', 'Spacebar'], + up: ['Up', 'ArrowUp'], + left: ['Left', 'ArrowLeft'], + right: ['Right', 'ArrowRight'], + down: ['Down', 'ArrowDown'], + delete: ['Backspace', 'Delete', 'Del'] + } + const listener = ($event) => { + if (this.disable) { + return + } + const keyName = Object.keys(keyNames).find(key => { + const keyName = $event.key + const value = keyNames[key] + return value === keyName || (Array.isArray(value) && value.includes(keyName)) + }) + if (keyName) { + // 閬垮厤鍜屽叾浠栨寜閿簨浠跺啿绐� + setTimeout(() => { + this.$emit(keyName, {}) + }, 0) + } + } + document.addEventListener('keyup', listener) + // this.$once('hook:beforeDestroy', () => { + // document.removeEventListener('keyup', listener) + // }) + }, + render: () => {} +} +// #endif diff --git a/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue b/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue new file mode 100644 index 0000000..2471521 --- /dev/null +++ b/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue @@ -0,0 +1,183 @@ +<template> + <view v-if="visibleSync" :class="{ 'uni-drawer--visible': showDrawer }" class="uni-drawer" @touchmove.stop.prevent="clear"> + <view class="uni-drawer__mask" :class="{ 'uni-drawer__mask--visible': showDrawer && mask }" @tap="close('mask')" /> + <view class="uni-drawer__content" :class="{'uni-drawer--right': rightMode,'uni-drawer--left': !rightMode, 'uni-drawer__content--visible': showDrawer}" :style="{width:drawerWidth+'px'}"> + <slot /> + </view> + <!-- #ifdef H5 --> + <keypress @esc="close('mask')" /> + <!-- #endif --> + </view> +</template> + +<script> + // #ifdef H5 + import keypress from './keypress.js' + // #endif + /** + * Drawer 鎶藉眽 + * @description 鎶藉眽渚ф粦鑿滃崟 + * @tutorial https://ext.dcloud.net.cn/plugin?id=26 + * @property {Boolean} mask = [true | false] 鏄惁鏄剧ず閬僵 + * @property {Boolean} maskClick = [true | false] 鐐瑰嚮閬僵鏄惁鍏抽棴 + * @property {Boolean} mode = [left | right] Drawer 婊戝嚭浣嶇疆 + * @value left 浠庡乏渚ф粦鍑� + * @value right 浠庡彸渚т晶婊戝嚭 + * @property {Number} width 鎶藉眽鐨勫搴� 锛屼粎 vue 椤甸潰鐢熸晥 + * @event {Function} close 缁勪欢鍏抽棴鏃惰Е鍙戜簨浠� + */ + export default { + name: 'UniDrawer', + components: { + // #ifdef H5 + keypress + // #endif + }, + emits:['change'], + props: { + /** + * 鏄剧ず妯″紡锛堝乏銆佸彸锛夛紝鍙湪鍒濆鍖栫敓鏁� + */ + mode: { + type: String, + default: '' + }, + /** + * 钂欏眰鏄剧ず鐘舵�� + */ + mask: { + type: Boolean, + default: true + }, + /** + * 閬僵鏄惁鍙偣鍑诲叧闂� + */ + maskClick:{ + type: Boolean, + default: true + }, + /** + * 鎶藉眽瀹藉害 + */ + width: { + type: Number, + default: 220 + } + }, + data() { + return { + visibleSync: false, + showDrawer: false, + rightMode: false, + watchTimer: null, + drawerWidth: 220 + } + }, + created() { + // #ifndef APP-NVUE + this.drawerWidth = this.width + // #endif + this.rightMode = this.mode === 'right' + }, + methods: { + clear(){}, + close(type) { + // fixed by mehaotian 鎶藉眽灏氭湭瀹屽叏鍏抽棴鎴栭伄缃╃姝㈢偣鍑绘椂涓嶈Е鍙戜互涓嬮�昏緫 + if((type === 'mask' && !this.maskClick) || !this.visibleSync) return + this._change('showDrawer', 'visibleSync', false) + }, + open() { + // fixed by mehaotian 澶勭悊閲嶅鐐瑰嚮鎵撳紑鐨勪簨浠� + if(this.visibleSync) return + this._change('visibleSync', 'showDrawer', true) + }, + _change(param1, param2, status) { + this[param1] = status + if (this.watchTimer) { + clearTimeout(this.watchTimer) + } + this.watchTimer = setTimeout(() => { + this[param2] = status + this.$emit('change',status) + }, status ? 50 : 300) + } + } + } +</script> + +<style lang="scss" scoped> + $uni-mask: rgba($color: #000000, $alpha: 0.4) ; + // 鎶藉眽瀹藉害 + $drawer-width: 220px; + + .uni-drawer { + /* #ifndef APP-NVUE */ + display: block; + /* #endif */ + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + overflow: hidden; + z-index: 999; + } + + .uni-drawer__content { + /* #ifndef APP-NVUE */ + display: block; + /* #endif */ + position: absolute; + top: 0; + width: $drawer-width; + bottom: 0; + background-color: $uni-bg-color; + transition: transform 0.3s ease; + } + + .uni-drawer--left { + left: 0; + /* #ifdef APP-NVUE */ + transform: translateX(-$drawer-width); + /* #endif */ + /* #ifndef APP-NVUE */ + transform: translateX(-100%); + /* #endif */ + } + + .uni-drawer--right { + right: 0; + /* #ifdef APP-NVUE */ + transform: translateX($drawer-width); + /* #endif */ + /* #ifndef APP-NVUE */ + transform: translateX(100%); + /* #endif */ + } + + .uni-drawer__content--visible { + transform: translateX(0px); + } + + + .uni-drawer__mask { + /* #ifndef APP-NVUE */ + display: block; + /* #endif */ + opacity: 0; + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + background-color: $uni-mask; + transition: opacity 0.3s; + } + + .uni-drawer__mask--visible { + /* #ifndef APP-NVUE */ + display: block; + /* #endif */ + opacity: 1; + } +</style> diff --git a/uni_modules/uni-drawer/package.json b/uni_modules/uni-drawer/package.json new file mode 100644 index 0000000..dd056e4 --- /dev/null +++ b/uni_modules/uni-drawer/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-drawer", + "displayName": "uni-drawer 鎶藉眽", + "version": "1.2.1", + "description": "鎶藉眽寮忓鑸紝鐢ㄤ簬灞曠ず渚ф粦鑿滃崟锛屼晶婊戝鑸��", + "keywords": [ + "uni-ui", + "uniui", + "drawer", + "鎶藉眽", + "渚ф粦瀵艰埅" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "鍓嶇缁勪欢", + "閫氱敤缁勪欢" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "鏃�", + "data": "鏃�", + "permissions": "鏃�" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "寰俊娴忚鍣�(Android)": "y", + "QQ娴忚鍣�(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "灏忕▼搴�": { + "寰俊": "y", + "闃块噷": "y", + "鐧惧害": "y", + "瀛楄妭璺冲姩": "y", + "QQ": "y" + }, + "蹇簲鐢�": { + "鍗庝负": "u", + "鑱旂洘": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-drawer/readme.md b/uni_modules/uni-drawer/readme.md new file mode 100644 index 0000000..dcf6e6b --- /dev/null +++ b/uni_modules/uni-drawer/readme.md @@ -0,0 +1,10 @@ + + +## Drawer 鎶藉眽 +> **缁勪欢鍚嶏細uni-drawer** +> 浠g爜鍧楋細 `uDrawer` + +鎶藉眽渚ф粦鑿滃崟銆� + +### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-drawer) +#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 \ No newline at end of file diff --git a/uni_modules/uni-popup/changelog.md b/uni_modules/uni-popup/changelog.md index 013272a..f28b928 100644 --- a/uni_modules/uni-popup/changelog.md +++ b/uni_modules/uni-popup/changelog.md @@ -1,3 +1,6 @@ +## 1.9.9锛�2025-06-11锛� +- 淇 uni-popup-dialog 涓� setVal 鏂规硶鎶ラ敊鐨勯棶棰� +- 淇 uni-popup-dialog 鏁版嵁鍙屽悜缁戝畾闂銆� ## 1.9.8锛�2025-04-16锛� - 淇 鏇存柊缁勪欢绀轰緥 锛岃В鍐虫洿鏂版暟鎹垨淇濆瓨椤圭洰瀵艰嚧寮圭獥娑堝け鐨勯棶棰� ## 1.9.7锛�2025-04-14锛� diff --git a/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue b/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue index f5731d5..12ce2c9 100644 --- a/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue +++ b/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue @@ -156,11 +156,11 @@ } }, value(val) { - setVal(val) + this.setVal(val) }, // #ifdef VUE3 modelValue(val) { - setVal(val) + this.setVal(val) }, // #endif val(val) { diff --git a/uni_modules/uni-popup/package.json b/uni_modules/uni-popup/package.json index d8bfb9f..7be6c66 100644 --- a/uni_modules/uni-popup/package.json +++ b/uni_modules/uni-popup/package.json @@ -1,90 +1,107 @@ { - "id": "uni-popup", - "displayName": "uni-popup 寮瑰嚭灞�", - "version": "1.9.8", - "description": " Popup 缁勪欢锛屾彁渚涘父鐢ㄧ殑寮瑰眰", - "keywords": [ - "uni-ui", - "寮瑰嚭灞�", - "寮圭獥", - "popup", - "寮规" + "id": "uni-popup", + "displayName": "uni-popup 寮瑰嚭灞�", + "version": "1.9.9", + "description": " Popup 缁勪欢锛屾彁渚涘父鐢ㄧ殑寮瑰眰", + "keywords": [ + "uni-ui", + "寮瑰嚭灞�", + "寮圭獥", + "popup", + "寮规" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "", + "uni-app": "^4.01", + "uni-app-x": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "鏃�", + "data": "鏃�", + "permissions": "鏃�" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue", + "darkmode": "x", + "i18n": "x", + "widescreen": "x" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-transition" ], - "repository": "https://github.com/dcloudio/uni-ui", - "engines": { - "HBuilderX": "" - }, - "directories": { - "example": "../../temps/example_temps" - }, - "dcloudext": { - "sale": { - "regular": { - "price": "0.00" - }, - "sourcecode": { - "price": "0.00" - } - }, - "contact": { - "qq": "" - }, - "declaration": { - "ads": "鏃�", - "data": "鏃�", - "permissions": "鏃�" - }, - "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", - "type": "component-vue" - }, - "uni_modules": { - "dependencies": [ - "uni-scss", - "uni-transition" - ], - "encrypt": [], - "platforms": { - "cloud": { - "tcb": "y", - "aliyun": "y", - "alipay": "n" - }, - "client": { - "App": { - "app-vue": "y", - "app-nvue": "y", - "app-harmony": "u", - "app-uvue": "u" - }, - "H5-mobile": { - "Safari": "y", - "Android Browser": "y", - "寰俊娴忚鍣�(Android)": "y", - "QQ娴忚鍣�(Android)": "y" - }, - "H5-pc": { - "Chrome": "y", - "IE": "y", - "Edge": "y", - "Firefox": "y", - "Safari": "y" - }, - "灏忕▼搴�": { - "寰俊": "y", - "闃块噷": "y", - "鐧惧害": "y", - "瀛楄妭璺冲姩": "y", - "QQ": "y" - }, - "蹇簲鐢�": { - "鍗庝负": "u", - "鑱旂洘": "u" - }, - "Vue": { - "vue2": "y", - "vue3": "y" - } - } - } - } -} + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "x", + "aliyun": "x", + "alipay": "x" + }, + "client": { + "uni-app": { + "vue": { + "vue2": "鈭�", + "vue3": "鈭�" + }, + "web": { + "safari": "鈭�", + "chrome": "鈭�" + }, + "app": { + "vue": "鈭�", + "nvue": "鈭�", + "android": "鈭�", + "ios": "鈭�", + "harmony": "x" + }, + "mp": { + "weixin": "鈭�", + "alipay": "鈭�", + "toutiao": "鈭�", + "baidu": "鈭�", + "kuaishou": "鈭�", + "jd": "鈭�", + "harmony": "鈭�", + "qq": "鈭�", + "lark": "鈭�" + }, + "quickapp": { + "huawei": "-", + "union": "-" + } + }, + "uni-app-x": { + "web": { + "safari": "-", + "chrome": "-" + }, + "app": { + "android": "-", + "ios": "-", + "harmony": "-" + }, + "mp": { + "weixin": "-" + } + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-transition/changelog.md b/uni_modules/uni-transition/changelog.md index 2f2b10d..1e500ab 100644 --- a/uni_modules/uni-transition/changelog.md +++ b/uni_modules/uni-transition/changelog.md @@ -1,3 +1,5 @@ +## 1.3.5锛�2025-06-11锛� +- 淇 绗竴娆℃墽琛屼笉鏄剧ず鍔ㄧ敾鐨勯棶棰� ## 1.3.4锛�2025-04-16锛� - 淇 椤甸潰鏁版嵁鏇存柊鍒板簳鍔ㄧ敾澶嶅師鐨勯棶棰� - 淇 绀轰緥椤甸潰鎵撳紑鎶ラ敊鐨勯棶棰� diff --git a/uni_modules/uni-transition/components/uni-transition/uni-transition.vue b/uni_modules/uni-transition/components/uni-transition/uni-transition.vue index 8772572..cce8538 100644 --- a/uni_modules/uni-transition/components/uni-transition/uni-transition.vue +++ b/uni_modules/uni-transition/components/uni-transition/uni-transition.vue @@ -1,289 +1,286 @@ <template> - <!-- #ifndef APP-NVUE --> - <view v-show="isShow" ref="ani" :animation="animationData" :class="customClass" :style="transformStyles" @click="onClick"><slot></slot></view> - <!-- #endif --> - <!-- #ifdef APP-NVUE --> - <view v-if="isShow" ref="ani" :animation="animationData" :class="customClass" :style="transformStyles" @click="onClick"><slot></slot></view> - <!-- #endif --> + <!-- #ifndef APP-NVUE --> + <view v-show="isShow" ref="ani" :animation="animationData" :class="customClass" :style="transformStyles" @click="onClick"> + <slot></slot> + </view> + <!-- #endif --> + <!-- #ifdef APP-NVUE --> + <view v-if="isShow" ref="ani" :animation="animationData" :class="customClass" :style="transformStyles" @click="onClick"> + <slot></slot> + </view> + <!-- #endif --> </template> <script> -import { createAnimation } from './createAnimation' + import { createAnimation } from './createAnimation' -/** - * Transition 杩囨浮鍔ㄧ敾 - * @description 绠�鍗曡繃娓″姩鐢荤粍浠� - * @tutorial https://ext.dcloud.net.cn/plugin?id=985 - * @property {Boolean} show = [false|true] 鎺у埗缁勪欢鏄剧ず鎴栭殣钘� - * @property {Array|String} modeClass = [fade|slide-top|slide-right|slide-bottom|slide-left|zoom-in|zoom-out] 杩囨浮鍔ㄧ敾绫诲瀷 - * @value fade 娓愰殣娓愬嚭杩囨浮 - * @value slide-top 鐢变笂鑷充笅杩囨浮 - * @value slide-right 鐢卞彸鑷冲乏杩囨浮 - * @value slide-bottom 鐢变笅鑷充笂杩囨浮 - * @value slide-left 鐢卞乏鑷冲彸杩囨浮 - * @value zoom-in 鐢卞皬鍒板ぇ杩囨浮 - * @value zoom-out 鐢卞ぇ鍒板皬杩囨浮 - * @property {Number} duration 杩囨浮鍔ㄧ敾鎸佺画鏃堕棿 - * @property {Object} styles 缁勪欢鏍峰紡锛屽悓 css 鏍峰紡锛屾敞鎰忓甫鈥�-鈥樿繛鎺ョ鐨勫睘鎬ч渶瑕佷娇鐢ㄥ皬椹煎嘲鍐欐硶濡傦細`backgroundColor:red` - */ -export default { - name: 'uniTransition', - emits:['click','change'], - props: { - show: { - type: Boolean, - default: false - }, - modeClass: { - type: [Array, String], - default() { - return 'fade' - } - }, - duration: { - type: Number, - default: 300 - }, - styles: { - type: Object, - default() { - return {} - } - }, - customClass:{ - type: String, - default: '' - }, - onceRender:{ - type:Boolean, - default:false - }, - }, - data() { - return { - isShow: false, - transform: '', - opacity: 1, - animationData: {}, - durationTime: 300, - config: {} - } - }, - watch: { - show: { - handler(newVal) { - if (newVal) { - this.open() - } else { - // 閬垮厤涓婃潵灏辨墽琛� close,瀵艰嚧鍔ㄧ敾閿欎贡 - if (this.isShow) { - this.close() - } + /** + * Transition 杩囨浮鍔ㄧ敾 + * @description 绠�鍗曡繃娓″姩鐢荤粍浠� + * @tutorial https://ext.dcloud.net.cn/plugin?id=985 + * @property {Boolean} show = [false|true] 鎺у埗缁勪欢鏄剧ず鎴栭殣钘� + * @property {Array|String} modeClass = [fade|slide-top|slide-right|slide-bottom|slide-left|zoom-in|zoom-out] 杩囨浮鍔ㄧ敾绫诲瀷 + * @value fade 娓愰殣娓愬嚭杩囨浮 + * @value slide-top 鐢变笂鑷充笅杩囨浮 + * @value slide-right 鐢卞彸鑷冲乏杩囨浮 + * @value slide-bottom 鐢变笅鑷充笂杩囨浮 + * @value slide-left 鐢卞乏鑷冲彸杩囨浮 + * @value zoom-in 鐢卞皬鍒板ぇ杩囨浮 + * @value zoom-out 鐢卞ぇ鍒板皬杩囨浮 + * @property {Number} duration 杩囨浮鍔ㄧ敾鎸佺画鏃堕棿 + * @property {Object} styles 缁勪欢鏍峰紡锛屽悓 css 鏍峰紡锛屾敞鎰忓甫鈥�-鈥樿繛鎺ョ鐨勫睘鎬ч渶瑕佷娇鐢ㄥ皬椹煎嘲鍐欐硶濡傦細`backgroundColor:red` + */ + export default { + name: 'uniTransition', + emits: ['click', 'change'], + props: { + show: { + type: Boolean, + default: false + }, + modeClass: { + type: [Array, String], + default () { + return 'fade' } }, - immediate: true - } - }, - computed: { - // 鐢熸垚鏍峰紡鏁版嵁 - stylesObject() { - let styles = { - ...this.styles, - 'transition-duration': this.duration / 1000 + 's' - } - let transform = '' - for (let i in styles) { - let line = this.toLine(i) - transform += line + ':' + styles[i] + ';' - } - return transform - }, - // 鍒濆鍖栧姩鐢绘潯浠� - transformStyles() { - return 'transform:' + this.transform + ';' + 'opacity:' + this.opacity + ';' + this.stylesObject - } - }, - created() { - // 鍔ㄧ敾榛樿閰嶇疆 - this.config = { - duration: this.duration, - timingFunction: 'ease', - transformOrigin: '50% 50%', - delay: 0 - } - this.durationTime = this.duration - }, - methods: { - /** - * ref 瑙﹀彂 鍒濆鍖栧姩鐢� - */ - init(obj = {}) { - if (obj.duration) { - this.durationTime = obj.duration - } - this.animation = createAnimation(Object.assign(this.config, obj),this) - }, - /** - * 鐐瑰嚮缁勪欢瑙﹀彂鍥炶皟 - */ - onClick() { - this.$emit('click', { - detail: this.isShow - }) - }, - /** - * ref 瑙﹀彂 鍔ㄧ敾鍒嗙粍 - * @param {Object} obj - */ - step(obj, config = {}) { - if (!this.animation) return - for (let i in obj) { - try { - if(typeof obj[i] === 'object'){ - this.animation[i](...obj[i]) - }else{ - this.animation[i](obj[i]) - } - } catch (e) { - console.error(`鏂规硶 ${i} 涓嶅瓨鍦╜) + duration: { + type: Number, + default: 300 + }, + styles: { + type: Object, + default () { + return {} } + }, + customClass: { + type: String, + default: '' + }, + onceRender: { + type: Boolean, + default: false + }, + }, + data() { + return { + isShow: false, + transform: '', + opacity: 0, + animationData: {}, + durationTime: 300, + config: {} } - this.animation.step(config) - return this }, - /** - * ref 瑙﹀彂 鎵ц鍔ㄧ敾 - */ - run(fn) { - if (!this.animation) return - this.animation.run(fn) - }, - // 寮�濮嬭繃搴﹀姩鐢� - open() { - clearTimeout(this.timer) - this.transform = '' - this.isShow = true - let { opacity, transform } = this.styleInit(false) - if (typeof opacity !== 'undefined') { - this.opacity = opacity + watch: { + show: { + handler(newVal) { + if (newVal) { + this.open() + } else { + // 閬垮厤涓婃潵灏辨墽琛� close,瀵艰嚧鍔ㄧ敾閿欎贡 + if (this.isShow) { + this.close() + } + } + }, + immediate: true } - this.transform = transform - // 纭繚鍔ㄦ�佹牱寮忓凡缁忕敓鏁堝悗锛屾墽琛屽姩鐢伙紝濡傛灉涓嶅姞 nextTick 锛屼細瀵艰嚧 wx 鍔ㄧ敾鎵ц寮傚父 - this.$nextTick(() => { - // TODO 瀹氭椂鍣ㄤ繚璇佸姩鐢诲畬鍏ㄦ墽琛岋紝鐩墠鏈変簺闂锛屽悗闈細鍙栨秷瀹氭椂鍣� - this.timer = setTimeout(() => { - this.animation = createAnimation(this.config, this) - this.tranfromInit(false).step() - this.animation.run(() => { - this.transform = '' - this.opacity = opacity || 1 - }) - this.$emit('change', { - detail: this.isShow - }) - }, 20) - }) }, - // 鍏抽棴杩囧害鍔ㄧ敾 - close(type) { - if (!this.animation) return - this.tranfromInit(true) - .step() - .run(() => { - this.isShow = false - this.animationData = null - this.animation = null - let { opacity, transform } = this.styleInit(false) - this.opacity = opacity || 1 - this.transform = transform - this.$emit('change', { - detail: this.isShow - }) - }) - }, - // 澶勭悊鍔ㄧ敾寮�濮嬪墠鐨勯粯璁ゆ牱寮� - styleInit(type) { - let styles = { - transform: '' - } - let buildStyle = (type, mode) => { - if (mode === 'fade') { - styles.opacity = this.animationType(type)[mode] - } else { - styles.transform += this.animationType(type)[mode] + ' ' + computed: { + // 鐢熸垚鏍峰紡鏁版嵁 + stylesObject() { + let styles = { + ...this.styles, + 'transition-duration': this.duration / 1000 + 's' } - } - if (typeof this.modeClass === 'string') { - buildStyle(type, this.modeClass) - } else { - this.modeClass.forEach(mode => { - buildStyle(type, mode) - }) - } - return styles - }, - // 澶勭悊鍐呯疆缁勫悎鍔ㄧ敾 - tranfromInit(type) { - let buildTranfrom = (type, mode) => { - let aniNum = null - if (mode === 'fade') { - aniNum = type ? 0 : 1 - } else { - aniNum = type ? '-100%' : '0' - if (mode === 'zoom-in') { - aniNum = type ? 0.8 : 1 - } - if (mode === 'zoom-out') { - aniNum = type ? 1.2 : 1 - } - if (mode === 'slide-right') { - aniNum = type ? '100%' : '0' - } - if (mode === 'slide-bottom') { - aniNum = type ? '100%' : '0' - } + let transform = '' + for (let i in styles) { + let line = this.toLine(i) + transform += line + ':' + styles[i] + ';' } - this.animation[this.animationMode()[mode]](aniNum) + return transform + }, + // 鍒濆鍖栧姩鐢绘潯浠� + transformStyles() { + return 'transform:' + this.transform + ';' + 'opacity:' + this.opacity + ';' + this.stylesObject } - if (typeof this.modeClass === 'string') { - buildTranfrom(type, this.modeClass) - } else { - this.modeClass.forEach(mode => { - buildTranfrom(type, mode) + }, + created() { + // 鍔ㄧ敾榛樿閰嶇疆 + this.config = { + duration: this.duration, + timingFunction: 'ease', + transformOrigin: '50% 50%', + delay: 0 + } + this.durationTime = this.duration + }, + methods: { + /** + * ref 瑙﹀彂 鍒濆鍖栧姩鐢� + */ + init(obj = {}) { + if (obj.duration) { + this.durationTime = obj.duration + } + this.animation = createAnimation(Object.assign(this.config, obj), this) + }, + /** + * 鐐瑰嚮缁勪欢瑙﹀彂鍥炶皟 + */ + onClick() { + this.$emit('click', { + detail: this.isShow }) - } + }, + /** + * ref 瑙﹀彂 鍔ㄧ敾鍒嗙粍 + * @param {Object} obj + */ + step(obj, config = {}) { + if (!this.animation) return this + Object.keys(obj).forEach(key => { + const value = obj[key] + if (typeof this.animation[key] === 'function') { + Array.isArray(value) ? + this.animation[key](...value) : + this.animation[key](value) + } + }) + this.animation.step(config) + return this + }, + /** + * ref 瑙﹀彂 鎵ц鍔ㄧ敾 + */ + run(fn) { + if (!this.animation) return + this.animation.run(fn) + }, + // 寮�濮嬭繃搴﹀姩鐢� + open() { + clearTimeout(this.timer) + this.isShow = true + // 鏂板鍒濆鐘舵�侀噸缃�昏緫锛堝叧閿級 + this.transform = this.styleInit(false).transform || '' + this.opacity = this.styleInit(false).opacity || 0 - return this.animation - }, - animationType(type) { - return { - fade: type ? 0 : 1, - 'slide-top': `translateY(${type ? '0' : '-100%'})`, - 'slide-right': `translateX(${type ? '0' : '100%'})`, - 'slide-bottom': `translateY(${type ? '0' : '100%'})`, - 'slide-left': `translateX(${type ? '0' : '-100%'})`, - 'zoom-in': `scaleX(${type ? 1 : 0.8}) scaleY(${type ? 1 : 0.8})`, - 'zoom-out': `scaleX(${type ? 1 : 1.2}) scaleY(${type ? 1 : 1.2})` + // 纭繚鍔ㄦ�佹牱寮忓凡缁忕敓鏁堝悗锛屾墽琛屽姩鐢伙紝濡傛灉涓嶅姞 nextTick 锛屼細瀵艰嚧 wx 鍔ㄧ敾鎵ц寮傚父 + this.$nextTick(() => { + // TODO 瀹氭椂鍣ㄤ繚璇佸姩鐢诲畬鍏ㄦ墽琛岋紝鐩墠鏈変簺闂锛屽悗闈細鍙栨秷瀹氭椂鍣� + this.timer = setTimeout(() => { + this.animation = createAnimation(this.config, this) + this.tranfromInit(false).step() + this.animation.run(() => { + this.transform = '' + this.opacity = this.styleInit(false).opacity || 1 + this.$emit('change', { + detail: this.isShow + }) + }) + }, 80) + }) + }, + // 鍏抽棴杩囧害鍔ㄧ敾 + close(type) { + if (!this.animation) return + this.tranfromInit(true) + .step() + .run(() => { + this.isShow = false + this.animationData = null + this.animation = null + let { opacity, transform } = this.styleInit(false) + this.opacity = opacity || 1 + this.transform = transform + this.$emit('change', { + detail: this.isShow + }) + }) + }, + // 澶勭悊鍔ㄧ敾寮�濮嬪墠鐨勯粯璁ゆ牱寮� + styleInit(type) { + let styles = { transform: '', opacity: 1 } + const buildStyle = (type, mode) => { + const value = this.animationType(type)[mode] // 鐩存帴浣跨敤 type 鎺у埗鐘舵�� + if (mode.startsWith('fade')) { + styles.opacity = value + } else { + styles.transform += value + ' ' + } + } + + if (typeof this.modeClass === 'string') { + buildStyle(type, this.modeClass) + } else { + this.modeClass.forEach(mode => buildStyle(type, mode)) + } + return styles + }, + // 澶勭悊鍐呯疆缁勫悎鍔ㄧ敾 + tranfromInit(type) { + let buildTranfrom = (type, mode) => { + let aniNum = null + if (mode === 'fade') { + aniNum = type ? 0 : 1 + } else { + aniNum = type ? '-100%' : '0' + if (mode === 'zoom-in') { + aniNum = type ? 0.8 : 1 + } + if (mode === 'zoom-out') { + aniNum = type ? 1.2 : 1 + } + if (mode === 'slide-right') { + aniNum = type ? '100%' : '0' + } + if (mode === 'slide-bottom') { + aniNum = type ? '100%' : '0' + } + } + this.animation[this.animationMode()[mode]](aniNum) + } + if (typeof this.modeClass === 'string') { + buildTranfrom(type, this.modeClass) + } else { + this.modeClass.forEach(mode => { + buildTranfrom(type, mode) + }) + } + + return this.animation + }, + animationType(type) { + return { + fade: type ? 1 : 0, + 'slide-top': `translateY(${type ? '0' : '-100%'})`, + 'slide-right': `translateX(${type ? '0' : '100%'})`, + 'slide-bottom': `translateY(${type ? '0' : '100%'})`, + 'slide-left': `translateX(${type ? '0' : '-100%'})`, + 'zoom-in': `scaleX(${type ? 1 : 0.8}) scaleY(${type ? 1 : 0.8})`, + 'zoom-out': `scaleX(${type ? 1 : 1.2}) scaleY(${type ? 1 : 1.2})` + } + }, + // 鍐呯疆鍔ㄧ敾绫诲瀷涓庡疄闄呭姩鐢诲搴斿瓧鍏� + animationMode() { + return { + fade: 'opacity', + 'slide-top': 'translateY', + 'slide-right': 'translateX', + 'slide-bottom': 'translateY', + 'slide-left': 'translateX', + 'zoom-in': 'scale', + 'zoom-out': 'scale' + } + }, + // 椹煎嘲杞腑妯嚎 + toLine(name) { + return name.replace(/([A-Z])/g, '-$1').toLowerCase() } - }, - // 鍐呯疆鍔ㄧ敾绫诲瀷涓庡疄闄呭姩鐢诲搴斿瓧鍏� - animationMode() { - return { - fade: 'opacity', - 'slide-top': 'translateY', - 'slide-right': 'translateX', - 'slide-bottom': 'translateY', - 'slide-left': 'translateX', - 'zoom-in': 'scale', - 'zoom-out': 'scale' - } - }, - // 椹煎嘲杞腑妯嚎 - toLine(name) { - return name.replace(/([A-Z])/g, '-$1').toLowerCase() } } -} </script> <style></style> diff --git a/uni_modules/uni-transition/package.json b/uni_modules/uni-transition/package.json index b76a3ab..5e5136a 100644 --- a/uni_modules/uni-transition/package.json +++ b/uni_modules/uni-transition/package.json @@ -1,7 +1,7 @@ { "id": "uni-transition", "displayName": "uni-transition 杩囨浮鍔ㄧ敾", - "version": "1.3.4", + "version": "1.3.5", "description": "鍏冪礌鐨勭畝鍗曡繃娓″姩鐢�", "keywords": [ "uni-ui", @@ -12,12 +12,14 @@ ], "repository": "https://github.com/dcloudio/uni-ui", "engines": { - "HBuilderX": "" + "HBuilderX": "", + "uni-app": "^4.01", + "uni-app-x": "" }, "directories": { "example": "../../temps/example_temps" }, -"dcloudext": { + "dcloudext": { "sale": { "regular": { "price": "0.00" @@ -35,51 +37,86 @@ "permissions": "鏃�" }, "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", - "type": "component-vue" + "type": "component-vue", + "darkmode": "x", + "i18n": "x", + "widescreen": "x" }, "uni_modules": { - "dependencies": ["uni-scss"], + "dependencies": [ + "uni-scss" + ], "encrypt": [], "platforms": { "cloud": { - "tcb": "y", - "aliyun": "y", - "alipay": "n" + "tcb": "鈭�", + "aliyun": "鈭�", + "alipay": "x" }, "client": { - "App": { - "app-vue": "y", - "app-nvue": "y", - "app-harmony": "u", - "app-uvue": "n" + "uni-app": { + "vue": { + "vue2": "鈭�", + "vue3": "鈭�" + }, + "web": { + "safari": "鈭�", + "chrome": "鈭�" + }, + "app": { + "vue": "鈭�", + "nvue": "鈭�", + "android": "鈭�", + "ios": "鈭�", + "harmony": "-" + }, + "mp": { + "weixin": { + "extVersion": "1.0.2", + "minVersion": "" + }, + "alipay": { + "extVersion": "1.0.2", + "minVersion": "" + }, + "toutiao": { + "extVersion": "1.0.2", + "minVersion": "" + }, + "baidu": { + "extVersion": "1.0.2", + "minVersion": "" + }, + "kuaishou": { + "extVersion": "1.1.0", + "minVersion": "" + }, + "jd": { + "extVersion": "1.0.2", + "minVersion": "" + }, + "harmony": "x", + "qq": "-", + "lark": "-" + }, + "quickapp": { + "huawei": "-", + "union": "-" + } }, - "H5-mobile": { - "Safari": "y", - "Android Browser": "y", - "寰俊娴忚鍣�(Android)": "y", - "QQ娴忚鍣�(Android)": "y" - }, - "H5-pc": { - "Chrome": "y", - "IE": "y", - "Edge": "y", - "Firefox": "y", - "Safari": "y" - }, - "灏忕▼搴�": { - "寰俊": "y", - "闃块噷": "y", - "鐧惧害": "y", - "瀛楄妭璺冲姩": "y", - "QQ": "y" - }, - "蹇簲鐢�": { - "鍗庝负": "u", - "鑱旂洘": "u" - }, - "Vue": { - "vue2": "y", - "vue3": "y" + "uni-app-x": { + "web": { + "safari": "-", + "chrome": "-" + }, + "app": { + "android": "-", + "ios": "-", + "harmony": "-" + }, + "mp": { + "weixin": "-" + } } } } -- Gitblit v1.8.0