From 06f42943e1134c220d7ea5103f464ab72a476343 Mon Sep 17 00:00:00 2001 From: peng <peng.com> Date: 星期三, 16 七月 2025 21:04:07 +0800 Subject: [PATCH] 解决主包过大问题 --- pages/product/product/popup/address.vue | 4 pages/product/goods.vue | 6 pages/navigation/search/searchPage.vue | 2 pages/product/shopPageGoods.vue | 2 pages.json | 3624 ++++++++++++++++++++++++---------------------- pages/passport/login.vue | 4 pages/promotion/joinGroup.vue | 2 pages/mine/distribution/list.vue | 2 pages/mine/set/securityCenter/bindMobile.vue | 2 pages/cart/payment/success.vue | 2 pages/promotion/bargain/detail.vue | 2 pages/product/product/goods/-goods-recommend.vue | 2 pages/product/shopPage.vue | 2 /dev/null | 940 ------------ pages/promotion/bargain/list.vue | 2 pages/floor/empty.vue | 2 pages/promotion/seckill.vue | 2 pages/cart/payment/shareOrderGoods.vue | 2 pages/mine/set/securityCenter/editPassword.vue | 2 pages/promotion/point/detail.vue | 2 components/custom-tabbar.vue | 4 pages/video/home-page.vue | 2 22 files changed, 1,934 insertions(+), 2,680 deletions(-) diff --git a/components/custom-tabbar.vue b/components/custom-tabbar.vue index 7b2217d..d4577e8 100644 --- a/components/custom-tabbar.vue +++ b/components/custom-tabbar.vue @@ -50,13 +50,13 @@ "key": 'kitchen' }, { - "pagePath": "/pages/tabbar/video/video", + "pagePath": "/pages/cusbar/video/video", "iconPath": "/static/tabbar/video1.png", "selectedIconPath": "/static/tabbar/video1-selected.png", "key": 'video' }, { - "pagePath": "/pages/tabbar/cart/cartList", + "pagePath": "/pages/cusbar/cart/cartList", "iconPath": "/static/tabbar/cart.png", "selectedIconPath": "/static/tabbar/cart-s.png", "text": "璐墿杞�", diff --git a/components/default-page/default-page.vue b/components/default-page/default-page.vue deleted file mode 100644 index a1d6d7d..0000000 --- a/components/default-page/default-page.vue +++ /dev/null @@ -1,86 +0,0 @@ -<template> - <view class="default-page"> - <view class="default-wrap"> - - <text>{{title}}</text> - <view v-if="isBtn" class="btn" @click="toHome"> - 鍘婚�涢�� - </view> - </view> - </view> -</template> - -<script> -export default { - props: { - // 璐墿杞� cart 娑堟伅 msg 璁㈠崟 order 鏌ヨ search - type: { - type: String, - default: 'search' - }, - isBtn:{ - type: Boolean, - default: false - }, - title:{ - type: String, - default: '娌℃湁鐩稿叧鍐呭' - } - }, - - data() { - return { - src:'' - }; - }, - mounted() { - this.src ='/static/default/default_'+ this.type + '.png'; - }, - methods: { - toHome() { - uni.switchTab({ - url: '/pages/home/home' - }); - } - } -}; -</script> - -<style lang="scss" scoped> - .default-page{ - background: #FFFFFF; - width: 100%; - height: 100vh; - .default-wrap{ - position: absolute; - top: calc(50vh - 320rpx); - left: calc(50% - 120rpx); - display: flex; - flex-direction: column; - align-items: center; - - >image{ - width: 260rpx; - height: 240rpx; - - margin-bottom: 24rpx; - } - text{ - font-size: 32rpx; - color: #828385; - } - .btn{ - width: 160rpx; - height: 56rpx; - border: 2rpx solid #3180F6; - border-radius: 6rpx; - text-align: center; - line-height: 56rpx; - margin-top: 32rpx; - font-size: 24rpx; - color: #3180F6; - } - } - - } -</style> diff --git a/components/dropdown-menu.vue b/components/dropdown-menu.vue deleted file mode 100644 index cf305ba..0000000 --- a/components/dropdown-menu.vue +++ /dev/null @@ -1,208 +0,0 @@ -<template> - <view class="dropdown-container" :style="{ '--theme-color': themeColor }"> - <!-- 瑙﹀彂鎸夐挳 --> - <view class="dropdown-trigger" @click="toggleDropdown"> - <uni-icons type="more-filled" size="20" color="#fff"></uni-icons> - <view class="dropdown-icon" :class="{ 'rotate': isOpen }"> - <uni-icons type="arrowdown" size="16" color="#fff"></uni-icons> - </view> - </view> - - <!-- 涓嬫媺鑿滃崟 --> - <view - class="dropdown-menu" - :class="[placementClass]" - v-if="isOpen" - @click.stop - > - <scroll-view scroll-y class="dropdown-scroll" :style="{ maxHeight: maxHeight + 'px' }"> - <view - v-for="(item, index) in options" - :key="index" - class="dropdown-item" - @click="selectItem(item)" - > - <text>{{ item[labelKey] }}</text> - </view> - </scroll-view> - </view> - - <!-- 閬僵灞� --> - <view - class="dropdown-mask" - v-if="isOpen" - @click="closeDropdown" - ></view> - </view> -</template> - -<script> -export default { - name: 'DropdownMenu', - props: { - // 涓氬姟鏁版嵁锛岄�変腑鑿滃崟鍚庝竴鍚岃繑鍥� - data: { - type: Object - }, - // 閫夐」鍒楄〃 - options: { - type: Array, - default: () => [] - }, - // 閫夐」瀵硅薄涓樉绀烘枃鏈殑key - labelKey: { - type: String, - default: 'label' - }, - // 閫夐」瀵硅薄涓�肩殑key - valueKey: { - type: String, - default: 'command' - }, - // 涓婚棰滆壊 - themeColor: { - type: String, - default: '#409EFF' - }, - // 涓嬫媺鑿滃崟鏈�澶ч珮搴� - maxHeight: { - type: Number, - default: 300 - }, - // 鑿滃崟寮瑰嚭浣嶇疆锛坱op/bottom锛� - placement: { - type: String, - default: 'bottom', - validator: (value) => ['top', 'bottom'].includes(value) - } - }, - data() { - return { - isOpen: false, - selectedItem: null - } - }, - computed: { - placementClass() { - return `placement-${this.placement}`; - } - }, - methods: { - toggleDropdown() { - this.isOpen = !this.isOpen - if (this.isOpen) { - this.$emit('open') - } else { - this.$emit('close') - } - }, - closeDropdown() { - this.isOpen = false - this.$emit('close') - }, - selectItem(item) { - this.selectedItem = item - this.closeDropdown() - - // 鏍规嵁閰嶇疆杩斿洖鏁翠釜瀵硅薄鎴杤alue鍊� - const emitValue = typeof item === 'object' ? item[this.valueKey] : item - this.$emit('input', emitValue) - this.$emit('change', emitValue, this.data) - } - } -} -</script> - -<style lang="scss" scoped> -.dropdown-container { - position: relative; - display: inline-block; - z-index: 10; -} - -.dropdown-trigger { - height: 70rpx; - line-height: 70rpx; - border-radius: 8rpx; - // background-color: #fff; - box-sizing: border-box; - cursor: pointer; - - &:active { - opacity: 0.8; - } -} - -.dropdown-text { - flex: 1; - font-size: 28rpx; - color: #333; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.dropdown-icon { - transition: transform 0.3s; - margin-left: 10rpx; - - &.rotate { - transform: rotate(180deg); - } -} - -.dropdown-menu { - position: absolute; - left: -50rpx; - display: inline-block; - white-space: nowrap; - background-color: #fff; - border: 1rpx solid #EBEEF5; - border-radius: 8rpx; - // box-shadow: 0 2rpx 12rpx 0 rgba(0, 0, 0, 0.1); - z-index: 100; - overflow: hidden; - - &.placement-bottom { - top: 80rpx; - } - - &.placement-top { - bottom: 80rpx; - } -} - -.dropdown-scroll { - width: 100%; -} - -.dropdown-item { - display: flex; - align-items: center; - justify-content: space-between; - padding: 0 20rpx; - height: 80rpx; - line-height: 80rpx; - font-size: 28rpx; - color: #606266; - - &:active { - background-color: #f5f7fa; - } - - &.active { - color: var(--theme-color); - font-weight: bold; - } -} - -.dropdown-mask { - position: fixed; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: transparent; - z-index: 99; -} -</style> \ No newline at end of file diff --git a/components/m-buy/README.md b/components/m-buy/README.md deleted file mode 100644 index c004c1f..0000000 --- a/components/m-buy/README.md +++ /dev/null @@ -1,3 +0,0 @@ -## 璐拱缁勪欢 -1.鏈粍浠舵槸鐮嶄环锛岀Н鍒嗚喘涔帮紝鍙傚洟绛夊鐢ㄧ粍 -2.鍚庣画浼氬皢姝ょ粍浠跺拰鍟嗗搧璐拱缁勪欢鍚堝苟锛屾枃妗e悗缁啀鍑� diff --git a/components/m-buy/goods.vue b/components/m-buy/goods.vue deleted file mode 100644 index e3d7c8d..0000000 --- a/components/m-buy/goods.vue +++ /dev/null @@ -1,576 +0,0 @@ -<template> - <div class="wrapper"> - <u-popup class="popup" v-model="buyMask" :height="setup.height" closeable :mode="setup.mode" :border-radius="setup.radius" @close="closeMask()"> - <!-- 鍟嗗搧 --> - <view class="goods-box bottom"> - <view class="goods-header"> - <view class="goods-img"> - <!-- <u-image width="200rpx" border-radius="20" class="uimage" height="200rpx" :src="selectedSpecImg ? selectedSpecImg : goodsDetail.thumbnail"></u-image> --> - </view> - <view class="goods-skus"> - <!-- 鏈夋椿鍔ㄥ晢鍝佷环鏍� --> - <view class="goods-price" v-if="goodsDetail.promotionPrice && ((isGroup && buyType === 'PINTUAN') || !isGroup)"> - <span v-if="goodsDetail.promotionPrice && !pointDetail"> - 锟� - <span class="goods-price-promotionShow goods-price-bigshow">{{ $options.filters.goodsFormatPrice(goodsDetail.promotionPrice)[0] }}</span> - .{{ $options.filters.goodsFormatPrice(goodsDetail.promotionPrice)[1] }} - </span> - <span v-if="pointDetail.points"> - <span class="goods-price-promotionShow goods-price-bigshow">{{ pointDetail.points }}</span> - 绉垎 - </span> - <div class="promotion-box"> - 锟� - <span class="goods-price-bigshow">{{ $options.filters.goodsFormatPrice(goodsDetail.price)[0] }}</span> - .{{ $options.filters.goodsFormatPrice(goodsDetail.price)[1] }} - </div> - </view> - <!-- 姝e父鍟嗗搧鐨勪环鏍� --> - <view v-else> - <!-- 鎵瑰彂浠锋牸 --> - <div class="price-row flex" v-if="goodsDetail.salesModel === 'WHOLESALE'"> - <div class="goods-price" v-for="(item, index) in wholesaleList" :key="index"> - <span> - 锟� - <span class="goods-price-bigshow">{{ $options.filters.goodsFormatPrice(item.price)[0] }}</span> - .{{ $options.filters.goodsFormatPrice(item.price)[1] }} - </span> - <span class="wholesale-item">{{ item.num }}{{ goodsDetail.goodsUnit }}</span> - </div> - </div> - <div class="goods-price" v-else> - <span> - 锟� - <span class="goods-price-bigshow">{{ $options.filters.goodsFormatPrice(goodsDetail.price)[0] }}</span> - .{{ $options.filters.goodsFormatPrice(goodsDetail.price)[1] }} - </span> - </div> - </view> - <view class="goods-check-skus"> - 宸查�� - <span class="goods-check-skus-name"> - {{ selectName }} - <span>锛寋{ num }}涓�</span> - </span> - </view> - <view class="goods-check-skus"> - 搴撳瓨 - <span class="goods-check-skus-name"> - <span>{{ goodsDetail.quantity }}</span> - </span> - </view> - </view> - </view> - <!-- 鍟嗗搧淇℃伅 --> - <scroll-view class="goods-skus-box" :scroll-y="true"> - <!-- 瑙勬牸 --> - <view class="goods-skus-view" :key="specIndex" v-for="(spec, specIndex) in formatList"> - <view class="skus-view-list"> - <view class="view-class-title">{{ spec.name }}</view> - - <!-- 姝e父閫昏緫 寰幆鍑簊ku --> - <view - v-if="!parentOrder" - :class="{ active: spec_val.value == currentSelected[specIndex] }" - class="skus-view-item" - v-for="(spec_val, spec_index) in spec.values" - :key="spec_index" - @click="handleClickSpec(spec, specIndex, spec_val)" - > - {{ spec_val.value }} - </view> - - <!-- 鎷煎洟璐拱锛屼粎绛涢�夊嚭褰撳墠鎷煎洟绫诲瀷鍟嗗搧 --> - <view - v-if="parentOrder && spec_val.skuId == goodsDetail.id" - :class="{ active: spec_val.value == currentSelected[specIndex] }" - class="skus-view-item" - v-for="(spec_val, spec_index) in spec.values" - :key="spec_index" - @click="handleClickSpec(spec, specIndex, spec_val)" - > - {{ spec_val.value }} - </view> - </view> - </view> - <div class="soldout" v-if="goodsDetail.quantity === 0"> - <u-alert-tips type="warning" title="鍟嗗搧宸插敭缃�" description="褰撳墠鍟嗗搧搴撳瓨涓�0"></u-alert-tips> - </div> - <!-- 鏁伴噺 --> - <view v-if="goodsDetail.quantity !== 0" class="goods-skus-number flex flex-a-c flex-j-sb"> - <view class="view-class-title">鏁伴噺</view> - <uni-number-box class="uNumber" :min="1" :max="999" :disabled="goodsDetail.quantity === 0" v-model="num"></uni-number-box> - </view> - </scroll-view> - <!-- 鎸夐挳 --> - <view class="btns" v-if="goodsDetail.quantity !== 0"> - <view class="box-btn card" v-if="buyType != 'PINTUAN' && goodsDetail.goodsType != 'VIRTUAL_GOODS'" @click="addToCartOrBuy('cart')">鍔犲叆璐墿杞�</view> - <view class="box-btn buy" @click="addToCartOrBuy('buy')">绔嬪嵆璐拱</view> - </view> - </view> - </u-popup> - </div> -</template> -<script> -import '@/components/uview-components/uview-ui'; - -import * as API_trade from '@/api/trade.js'; -import setup from './popup'; -// import uniNumberBox from '@/components/uni-number-box' -export default { - components: { - // uniNumberBox - }, - data() { - return { - setup, - num: this.wholesaleList && this.wholesaleList.length > 0 ? this.wholesaleList[0].num : 1, - - selectName: '', //閫変腑鍟嗗搧鐨勬樀绉� - selectSkuList: '', //閫変腑鍟嗛摵sku, - selectedSpecImg: '', //閫変腑鐨勫浘鐗囪矾寰� - buyType: '', //鐢ㄤ簬瀛樺偍淇冮攢锛屾嫾鍥㈢瓑娲诲姩绫诲瀷 - parentOrder: '', //鐖剁骇鎷煎洟娲诲姩鐨勬暟鎹� - 濡傛灉鏄洟鍛樺垯鏈夋暟鎹� - formatList: [], - currentSelected: [], - skuList: '', - isClose: false //鏄惁鍙互鐐瑰嚮閬僵鍏抽棴 - }; - }, - props: { - wholesaleList: { - type: null, - default: false - }, - buyMask: { - type: Boolean, - default: false - }, - isGroup: { - type: Boolean, - default: false - }, - goodsDetail: { - default: '', - type: null - }, - selectedSku: { - default: '', - type: null - }, - goodsSpec: { - default: '', - type: null - }, - addr: { - default: '', - type: null - }, - pointDetail: { - default: '', - type: null - } - }, - computed: { - wholesalePrice(key) { - return this.wholesaleList.length - ? this.wholesaleList.map(item => { - return item.price; - }) - : []; - }, - wholesaleNum(key) { - return this.wholesaleList.length - ? this.wholesaleList.map(item => { - return item.num; - }) - : []; - } - }, - watch: { - num(val) { - - val == 0 ? this.num = 1 : '' - if (val) { - - //瓒呰繃搴撳瓨鍚庝慨鏀瑰洖搴撳瓨 - if (val > this.goodsDetail.quantity) { - this.$nextTick(function() { - this.num = this.goodsDetail.quantity; - }); - } - } - }, - buyType: { - handler(val) { - if (val) { - this.buyType = val; - } - }, - immediate: true - }, - selectSkuList: { - handler(val, oldval) { - this.$emit('changed', val); - }, - deep: true - }, - 'goodsDetail.quantity': { - handler(val) { - if (val == 0) { - uni.showToast({ - title: '鍟嗗搧宸插敭缃�', - duration: 2000, - icon: 'none' - }) - this.num = 1; - } - } - } - }, - - methods: { - numCheck(val) { - if (this.wholesaleList && this.wholesaleList.length > 0) { - if (this.num <= this.wholesaleList[0].num) { - uni.showToast({ - title: '鎵瑰彂鍟嗗搧璐拱鏁伴噺涓嶈兘灏忎簬璧锋壒鏁伴噺!', - duration: 2000, - icon: 'none' - }); - this.num = this.wholesaleList[0].num; - } - } - }, - closeMask() { - this.$emit('closeBuy', false); - }, - - /**鐐瑰嚮瑙勬牸 */ - handleClickSpec(val, index, specValue) { - this.currentSelected[index] = specValue.value; - let selectedSkuId = this.goodsSpec.find(i => { - let matched = true; - let specValues = i.specValues.filter(j => j.specName !== 'images'); - for (let n = 0; n < specValues.length; n++) { - if (specValues[n].specValue !== this.currentSelected[n]) { - matched = false; - return; - } - } - if (matched) { - return i; - } - }); - if (selectedSkuId?.skuId) { - this.$set(this.currentSelected, index, specValue.value); - this.selectSkuList = { - spec: { - specName: val.name, - specValue: specValue.value - }, - data: this.goodsDetail - }; - this.selectName = specValue.value; - - this.$emit('handleClickSku', { - skuId: selectedSkuId.skuId, - goodsId: this.goodsDetail.goodsId - }); - } else { - uni.showToast({ - title: '鏆傛棤璇ュ晢鍝�!', - duration: 2000, - icon: 'none' - }); - } - }, - - /** - * 鐩存帴璐拱 - */ - buy(data) { - API_trade.addToCart(data).then(res => { - if (res.data.success) { - uni.navigateTo({ - url: `/pages/order/fillorder?way=${data.cartType}&addr=${''}&parentOrder=${encodeURIComponent(JSON.stringify(this.parentOrder))}` - }); - } - }); - }, - - /** - * 娣诲姞鍒拌喘鐗╄溅鎴栬喘涔� - */ - addToCartOrBuy(val) { - if (!this.selectSkuList) { - uni.showToast({ - title: '璇烽�夋嫨瑙勬牸鍟嗗搧', - icon: 'none' - }); - return; - } - let data = { - skuId: this.goodsDetail.id, - num: this.num - }; - - if (val == 'cart') { - API_trade.addToCart(data).then(res => { - if (res.data.code == 200) { - uni.showToast({ - title: '鍟嗗搧宸叉坊鍔犲埌璐墿杞�', - icon: 'none' - }); - - this.$emit('queryCart'); - this.closeMask(); - } - }); - } else { - // 鍒ゆ柇鏄惁鎷煎洟鍟嗗搧 - if (this.buyType) { - data.cartType = 'PINTUAN'; - } else if (this.goodsDetail.goodsType == 'VIRTUAL_GOODS') { - data.cartType = 'VIRTUAL'; - } else { - data.cartType = 'BUY_NOW'; - } - - API_trade.addToCart(data).then(res => { - if (res.data.code == 200) { - uni.navigateTo({ - url: `/pages/order/fillorder?way=${data.cartType}&addr=${this.addr.id || ''}&parentOrder=${encodeURIComponent(JSON.stringify(this.parentOrder))}` - }); - } - }); - } - }, - formatSku(list) { - // 鏍煎紡鍖栨暟鎹� - let arr = [{}]; - - if (!Array.isArray(list)) { - return false; - } - list.forEach((item, index) => { - item.specValues.forEach((spec, specIndex) => { - let name = spec.specName; - let values = { - value: spec.specValue, - quantity: item.quantity, - skuId: item.skuId - }; - if (name === 'images') { - return; - } - - arr.forEach((arrItem, arrIndex) => { - if ( - arrItem.name == name && - arrItem.values && - !arrItem.values.find(i => { - return i.value === values.value; - }) - ) { - arrItem.values.push(values); - } - - let keys = arr.map(key => { - return key.name; - }); - if (!keys.includes(name)) { - arr.push({ - name: name, - values: [values] - }); - } - }); - }); - }); - - arr.shift(); - this.formatList = arr; - - list.forEach(item => { - // 榛樿閫変腑 - if (item.skuId === this.goodsDetail.id) { - item.specValues - .filter(i => i.specName !== 'images') - .forEach((value, _index) => { - this.currentSelected[_index] = value.specValue; - - this.selectName = value.specValue; - - this.selectSkuList = { - spec: value, - data: this.goodsDetail - }; - }); - } - }); - - this.skuList = list; - // console.log(" this.skuList", this.skuList) - } - }, - - mounted() { - this.formatSku(this.goodsSpec); - - console.log("goodsDetail",this.goodsDetail) - } -}; -</script> -<style lang="scss" scoped> -@import './popup.scss'; - -.price-row { - text-align: center; -} - -.buy { - background-image: linear-gradient(135deg, #ffba0d, #ffc30d 69%, #ffcf0d); - box-shadow: 0 2px 6px 0 rgba(255, 65, 66, 0.2); -} - -.card { - background-image: linear-gradient(135deg, #f2140c, #f2270c 70%, #f24d0c); - box-shadow: 0 2px 6px 0 rgba(255, 65, 66, 0.2); -} - -/deep/.u-icon-plus, -.u-icon-minus, -.u-icon-disabled { - height: 30rpx !important; - background: #fff !important; -} - -.goods-skus-number { - justify-content: space-between; - display: flex; - - > .view-class-title { - flex: 8; - } - - > .view-class-input { - flex: 1; - } -} - -/deep/ .uni-scroll-view { - overflow: hidden !important; -} - -.active { - background: $price-light-color !important; - border: 2rpx solid $price-color; - font-weight: bold; - color: $price-color !important; - box-sizing: border-box; -} - -.goods-skus-box { - overflow-y: auto; - height: 610rpx; - // #ifdef MP-WEIXIN - height: 570rpx; - // #endif - margin-bottom: 10rpx; -} -.soldout{ - margin: 20rpx 0; -} - -.goods-skus-view { - overflow: hidden; - - .skus-view-list { - > .skus-view-item { - flex: 1; - padding: 0 36rpx; - - overflow: hidden; - height: 60rpx; - line-height: 60rpx; - float: left; - text-align: center; - margin-left: 24rpx; - margin-bottom: 20rpx; - font-size: 22rpx; - color: #262626; - background: #f2f2f2; - border-radius: 30rpx; - } - } -} - -.wholesale-item { - color: #999 !important; - font-size: 24rpx; - margin: 0 20rpx; - display: flex; - justify-content: center; -} - -.goods-header { - height: 200rpx; - display: flex; - align-items: center; - margin-bottom: 36rpx; -} - -.goods-box { - padding: 50rpx 36rpx 0 36rpx; -} - -.goods-skus { - padding: 0 20rpx; -} - -.goods-price { - color: $price-color; - line-height: 80rpx; - margin-right: 20rpx; - - > * { - color: $price-color; - line-height: 80rpx; - } -} - -.promotion-box { - line-height: 1; - display: flex; - align-items: center; - text-decoration: line-through; - color: #999; - margin-left: 10rpx; - - /deep/ span { - font-size: 30rpx; - } -} - -.promotion { - font-size: 30rpx; -} - -.goods-price-promotionShow { - font-size: 48rpx; -} - -.goods-check-skus { - font-size: 24rpx; - color: #999; - - > .goods-check-skus-name { - margin-left: 4rpx; - } - - > span { - color: #333; - } -} -</style> diff --git a/components/m-buy/popup.js b/components/m-buy/popup.js deleted file mode 100644 index 2833633..0000000 --- a/components/m-buy/popup.js +++ /dev/null @@ -1,8 +0,0 @@ - - -export default { - height:"1000rpx", //寮瑰嚭灞傞珮搴� - mode:"bottom", //寮瑰嚭灞備綅缃� - radius:"32", //鍦嗚 rpx, - close:false //鑳藉惁鐐瑰嚮閬僵閫�鍑� -} \ No newline at end of file diff --git a/components/m-buy/popup.scss b/components/m-buy/popup.scss deleted file mode 100644 index d571c30..0000000 --- a/components/m-buy/popup.scss +++ /dev/null @@ -1,37 +0,0 @@ -.view-class-title { - font-size: 26rpx; - color: #262626; - - font-weight: 700; - height: 80rpx; - line-height: 80rpx; -} -.confirmBtn { - width: 90%; -} -.confirmBtn, -.box-btn { - line-height: 80rpx; - height: 80rpx; - - background: $price-color; - color: #fff; - border-radius: 200px; - text-align: center; - margin: 5rpx auto; -} - -.btns { - display: flex; - width: 100%; - - margin: 0 auto; -} -.goods-price-bigshow { - font-size: 48rpx; - font-weight: bold; -} -.box-btn { - flex: 1; - margin: 0 10rpx; -} diff --git a/components/m-canvas/README.md b/components/m-canvas/README.md deleted file mode 100644 index 53ba0e4..0000000 --- a/components/m-canvas/README.md +++ /dev/null @@ -1 +0,0 @@ -### 璇存槑 https://ext.dcloud.net.cn/plugin?id=3237 diff --git a/components/m-canvas/index.vue b/components/m-canvas/index.vue deleted file mode 100644 index a712294..0000000 --- a/components/m-canvas/index.vue +++ /dev/null @@ -1,212 +0,0 @@ -<template> - - <div class="index"> - <u-modal v-model="show" :show-title="false" :show-confirm-button="false" mask-close-able> - <view class="slot-content"> - <image @click="downLoad()" class="img" :src="imgUrl" /> - <div class="canvas-hide"> - <!-- #ifdef MP-WEIXIN --> - <canvas id="canvas" type="2d" style="width: 600px; height: 960px" /> - <!-- #endif --> - <!-- #ifndef MP-WEIXIN --> - <canvas canvas-id="canvas" id="canvas" style="width: 600px; height: 960px" /> - <!-- #endif --> - </div> - </view> - </u-modal> - - </div> -</template> -<script> -import '@/components/uview-components/uview-ui' -// 寮曞叆缁樺埗鎻掍欢 -import DrawPoster from "@/js_sdk/u-draw-poster"; - -export default { - data: () => ({ - imgUrl: "", //缁樺埗鍑烘潵鐨勫浘鐗囪矾寰� - show: false, //鏄惁灞曠ず妯℃�佹 - dp: {}, //缁樺埗鐨刣p瀵硅薄锛岀敤浜庡瓨鍌ㄧ粯鍒剁瓑涓�浜涙柟娉曘�� - logo: require("@/pages/passport/static/logo-title.png"), //鏈湴logo鍦板潃 - }), - - props: { - /** - * 鐖剁骇浼犲弬鐨勬暟鎹� - */ - res: { - type: null, - default: "", - }, - }, - onUnload() {}, - - methods: { - /** - * 瑙e喅寰俊灏忕▼搴忎腑鍥剧墖妯$硦闂 - */ - // #ifdef MP-WEIXIN - st2: (size) => size * 2, - // #endif - - // #ifndef MP-WEIXIN - st2: (size) => size, - // #endif - - /** - * 淇濆瓨鍥剧墖 - */ - downLoad() { - uni.saveImageToPhotosAlbum({ - filePath: this.imgUrl, - success: function () { - uni.showToast({ - title: "淇濆瓨鎴愬姛锛�", - icon: "none", - }); - }, - fail: function () { - uni.showToast({ - title: "淇濆瓨澶辫触锛岃绋嶅悗閲嶈瘯锛�", - icon: "none", - }); - }, - }); - }, - - /** - * 鍒涘缓canvas - */ - async init() { - this.show = true; - this.dp = await DrawPoster.build({ - selector: "canvas", - componentThis: this, - loading: true, - debugging: true, - }); - let dp = this.dp; - // #ifdef MP-WEIXIN - // 鐢ㄤ簬寰俊灏忕▼搴忎腑鐢诲竷閿欎贡闂 - dp.canvas.width = this.st2(600); - dp.canvas.height = this.st2(960); - // #endif - this.draw(dp); - }, - - async draw(dp) { - const { width, height, background, title } = this.res.container; - const { code, img, price } = this.res.bottom; - - // /** 缁樺埗鑳屾櫙 */ - await dp.draw((ctx) => { - ctx.fillStyle = background; - ctx.fillRoundRect( - this.st2(0), - this.st2(0), - this.st2(width), - this.st2(height), - this.st2(12) - ); - ctx.clip(); - }); - /** 缁樺埗鍥剧墖 */ - dp.draw(async (ctx) => { - await Promise.all([ - // 缁樺埗Logo - ctx.drawImage( - this.logo, - this.st2(175), - this.st2(0), - this.st2(256), - this.st2(144) - ), - // 涓棿鍥剧墖 - ctx.drawImage( - img, - this.st2(100), - this.st2(150), - this.st2(400), - this.st2(400) - ), - // 浜岀淮鐮� - ctx.drawImage( - code, - this.st2(39), - this.st2(750), - this.st2(150), - this.st2(150) - ), - ]); - }); - - /** 缁樺埗涓棿鏂囧瓧*/ - await dp.draw((ctx) => { - ctx.fillStyle = "#333"; - ctx.font = `bold ${this.st2(24)}px PingFang SC`; - ctx.textAlign = "center"; - ctx.fillWarpText({ - text: title, - maxWidth: this.st2(500), - x: this.st2(300), - y: this.st2(600), - layer: 1, - }); - - ctx.fillStyle = "#ff3c2a"; - ctx.font = `${this.st2(38)}px PingFang SC`; - ctx.textAlign = "center"; - ctx.fillText(price, this.st2(300), this.st2(680)); - }); - - // /** 缁樺埗搴曢儴鏂囧瓧 */ - await dp.draw((ctx) => { - ctx.fillStyle = "#666"; - ctx.font = `${this.st2(24)}px PingFang SC`; - ctx.fillText("闀挎寜鍥剧墖锛岃瘑鍒簩缁寸爜", this.st2(200), this.st2(866)); - ctx.fillStyle = "#666"; - ctx.font = `${this.st2(24)}px PingFang SC`; - ctx.fillText("鏌ョ湅鍟嗗搧璇︽儏", this.st2(200), this.st2(900)); - }); - - this.imgUrl = await dp.createImagePath(); - - // console.log(posterImgUrl) - }, - }, - - async mounted() { - this.init(); - }, -}; -</script> - -<style lang="scss" scoped> -page, -.index { - height: 100%; -} -.canvas-hide { - /* 1 */ - position: fixed; - right: 100vw; - bottom: 100vh; - /* 2 */ - z-index: -9999; - /* 3 */ - opacity: 0; -} -.index { - position: relative; - text-align: center; - background: rgba($color: grey, $alpha: 0.2); -} - -image { - display: block; -} -.img { - width: 600rpx; - height: 960rpx; -} -</style> diff --git a/components/m-goods-list/README.md b/components/m-goods-list/README.md deleted file mode 100644 index bade838..0000000 --- a/components/m-goods-list/README.md +++ /dev/null @@ -1,11 +0,0 @@ -## 鍟嗗搧鍒楄〃灞曠ず - -### OBJECT 鍙傛暟璇存槑 - -| 灞炴�� | 璇存槑 | 绫诲瀷 | 蹇呭~ | -| ----------- | ---------------------------------------------------------- | ------- | ---- | -| `res` | 鏄剧ず鏁版嵁 | Array | 鏄� | -| `type` | 鍟嗗搧灞曠ず绫诲瀷 oneColumns twoColumns 锛岄粯璁ゅ睍绀轰竴琛屼袱鍒楀晢鍝� | String | 鍚� | -| `storeName` | 鏄惁灞曠ず搴楅摵鍚嶇О锛岄粯璁ゅ睍绀� | Boolean | 鍚� | -| `keywords` | 楂樹寒灞曠ず鎼滅储鍐呭 | String | 鍚� | - diff --git a/components/m-goods-list/base-list.vue b/components/m-goods-list/base-list.vue deleted file mode 100644 index b7e548b..0000000 --- a/components/m-goods-list/base-list.vue +++ /dev/null @@ -1,277 +0,0 @@ -<template> - <div> - <!-- 涓�琛屼袱鍒楀晢鍝佸睍绀� --> - <view class="goods-list" v-if="type == 'twoColumns'"> - <view v-for="(item, index) in res" :key="index" class="goods-item"> - <view class="image-wrapper" @click="navigateToDetailPage(item)"> - <u-image - :src="item.thumbnail" - width="100%" - height="330rpx" - mode="aspectFit" - > - <u-loading slot="loading"></u-loading> - </u-image> - </view> - <view class="goods-detail"> - <div - class="title clamp" - v-html="lightSearchStr(keyword, item.goodsName)" - @click="navigateToDetailPage(item)" - ></div> - <view class="price-box" @click="navigateToDetailPage(item)"> - <div class="price" v-if="item.price != undefined"> - 楼<span - >{{ - $options.filters.goodsFormatPrice(item.price)[0] - }} </span - >.{{ $options.filters.goodsFormatPrice(item.price)[1] }} - </div> - </view> - <div class="count-config" @click="navigateToDetailPage(item)"> - <span>宸插敭 {{ item.buyCount || "0" }}</span> - <span>{{ item.commentNum || "0" }}鏉¤瘎璁�</span> - </div> - <div - class="store-seller-name" - v-if="storeName" - @click="navigateToStoreDetailPage(item)" - > - <div class="text-hidden"> - <u-tag - style="margin-right: 10rpx" - size="mini" - mode="dark" - v-if="item.selfOperated" - text="鑷惀" - type="error" - /> - <span>{{ item.storeName || "鏆傛棤" }}</span> - </div> - <span> - <u-icon name="arrow-right"></u-icon> - </span> - </div> - </view> - </view> - </view> - <!-- 涓�琛屼竴鍒楀晢鍝佸睍绀� --> - <div v-if="type == 'oneColumns'"> - <div v-for="(item, index) in res" :key="index" class="goods-row"> - <div class="flex goods-col"> - <div class="goods-img" @click="navigateToDetailPage(item)"> - <u-image - width="230rpx" - border-radius="16" - height="230rpx" - mode="aspectFit" - :src="item.goodsImage || item.thumbnail" - > - <u-loading slot="loading"></u-loading> - </u-image> - </div> - <div class="goods-detail"> - <div class="title clamp3" @click="navigateToDetailPage(item)"> - {{ item.goodsName }} - </div> - <view class="price-box" @click="navigateToDetailPage(item)"> - <div class="price" v-if="item.price != undefined"> - 楼<span - >{{ $options.filters.goodsFormatPrice(item.price)[0] }} </span - >.{{ $options.filters.goodsFormatPrice(item.price)[1] }} - </div> - </view> - <div class="promotion" @click="navigateToDetailPage(item)"> - <div v-if="item.salesModel == 'WHOLESALE'"> - <span>鎵�</span> - </div> - <div - v-for="(promotionItem, promotionIndex) in getPromotion(item)" - :key="promotionIndex" - > - <span v-if="promotionItem.indexOf('COUPON') != -1">鍔�</span> - <span v-if="promotionItem.indexOf('FULL_DISCOUNT') != -1" - >婊″噺</span - > - <span v-if="promotionItem.indexOf('SECKILL') != -1">绉掓潃</span> - </div> - </div> - <div - style="overflow: hidden" - @click="navigateToDetailPage(item)" - class="count-config" - > - <span style="float: left; font-size: 22rpx" - >宸插敭 {{ item.buyCount || "0" }}</span - > - <span style="float: right; font-size: 22rpx" - >{{ item.commentNum || "0" }}鏉¤瘎璁�</span - > - </div> - </div> - </div> - </div> - </div> - </div> -</template> - -<script> -import commonTpl from "@/components/m-goods-list/common"; -export default { - data() { - return { - lightColor: this.$mainColor, - }; - }, - mixins: [commonTpl], - props: { - // 灞曠ず鐨勭被鍨� - type:{ - type:String, - default:"oneColumns" - }, - // 閬嶅巻鐨勬暟鎹� - res: { - type: Array, - default: () => { - return []; - }, - }, - }, - methods: { - // 璺宠浆鍒板晢鍝佽鎯� - navigateToDetailPage(item) { - uni.navigateTo({ - url: `/pages/product/goods?id=${item.id}&goodsId=${item.goodsId}`, - }); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.goods-list { - display: flex; - flex-wrap: wrap; - margin: 10rpx 20rpx 284rpx; - width: 100%; - - > .goods-item { - background-color: #ffffff; - display: flex; - border-radius: 16rpx; - flex-direction: column; - width: calc(50% - 30rpx); - margin-bottom: 20rpx; - padding-bottom: 20rpx; - - &:nth-child(2n + 1) { - margin-right: 20rpx; - } - - .image-wrapper { - width: 100%; - height: 330rpx; - border-radius: 16rpx 16rpx 0 0; - overflow: hidden; - padding: 0; - } - } - - .count-config, - .store-seller-name { - font-size: $font-sm; - } - - .text-hidden { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } -} - -.goods-row { - background: #fff; - padding: 16rpx; - - > .goods-col { - display: flex; - - > .goods-img { - overflow: hidden; - flex: 4; - } - - > .goods-detail { - flex: 7; - } - } -} - -.goods-detail { - margin: 0 20rpx; - - > .title { - font-size: $font-base; - color: $font-color-dark; - line-height: 1.5; - height: 86rpx; - padding: 10rpx 0 0; - display: -webkit-box; - -webkit-box-orient: vertical; - -webkit-line-clamp: 2; - overflow: hidden; - } - - .promotion { - margin-top: 4rpx; - display: flex; - - div { - span { - font-size: 24rpx; - color: $light-color; - margin-right: 10rpx; - padding: 0 4rpx; - border-radius: 2rpx; - } - } - } - - .store-seller-name { - color: #666; - overflow: hidden; - display: flex; - justify-content: space-between; - } - - .count-config { - padding: 5rpx 0; - color: #666; - display: flex; - font-size: 24rpx; - justify-content: space-between; - } - - > .price-box { - margin-top: 10rpx; - display: flex; - align-items: center; - justify-content: space-between; - padding-right: 10rpx; - font-size: 24rpx; - color: $font-color-light; - - > .price { - font-size: 26rpx; - line-height: 1; - color: $main-color; - font-weight: bold; - - /deep/ span:nth-of-type(1) { - font-size: 38rpx; - } - } - } -} -</style> diff --git a/components/m-goods-list/common.vue b/components/m-goods-list/common.vue deleted file mode 100644 index c4cdc56..0000000 --- a/components/m-goods-list/common.vue +++ /dev/null @@ -1,69 +0,0 @@ -<template> -</template> - -<script> - export default { - methods: { - // 楂樹寒鏄剧ず鎼滅储鍐呭 - lightSearchStr(keyword, str) { - if (!keyword) { - return str - } else { - let unicodes = ''; - for (let i of Array.from(keyword)) { - unicodes += this.unicode(i) + "|" - } - const rule = '(' + unicodes + ')' - const reg = new RegExp(rule, 'gi'); - return str ? str.replace(reg, matchValue => - `<span style="color:${this.lightColor}">${matchValue}</span>` - ) : '' - } - }, - // 杞崲涓簎nicode - unicode(str) { - var value = ''; - for (var i = 0; i < str.length; i++) { - value += '\\u' + this.left_zero_4(parseInt(str.charCodeAt(i)).toString(16)); - } - return value; - }, - left_zero_4(str) { - if (str != null && str != '' && str != 'undefined') { - if (str.length == 2) { - return '00' + str; - } - } - return str; - }, - // 鏁版嵁鍘婚噸涓�涓� 鍙樉绀轰竴娆� 鍑忓厤 鍔� 浠�涔堢殑 - getPromotion(item) { - if (item.promotionMap) { - let array = []; - Object.keys(item.promotionMap).forEach((child) => { - if (!array.includes(child.split("-")[0])) { - array.push(child.split("-")[0]); - } - }); - return array; - } - }, - // 璺宠浆鍒板晢鍝佽鎯� - navigateToDetailPage(item) { - uni.navigateTo({ - url: `/pages/product/goods?id=${item.id}&goodsId=${item.goodsId}`, - }); - }, - // 璺宠浆鍦板潃 - navigateToStoreDetailPage(item) { - uni.navigateTo({ - url: `/pages/product/shopPage?id=${item.storeId}`, - }); - }, - }, - } -</script> - -<style lang='scss' scoped> - -</style> diff --git a/components/m-goods-list/list.vue b/components/m-goods-list/list.vue deleted file mode 100644 index 995afee..0000000 --- a/components/m-goods-list/list.vue +++ /dev/null @@ -1,343 +0,0 @@ -<template> - <view> - <!-- 涓�琛屼袱鍒楀晢鍝佸睍绀� --> - <view class="goods-list" v-if="type == 'twoColumns'"> - <view v-for="(item, index) in res" :key="index" class="goods-item"> - <view class="image-wrapper" @click="navigateToDetailPage(item)"> - <u-image :src="item.thumbnail" width="100%" height='330rpx' mode="aspectFit"> - <u-loading slot="loading"></u-loading> - </u-image> - </view> - <view class="goods-detail"> - <div class="title clamp" v-html="lightSearchStr(keyword,item.goodsName)" - @click="navigateToDetailPage(item)"> - - </div> - <view class="price-box" @click="navigateToDetailPage(item)"> - <div class="price" v-if="item.price!=undefined"> - 楼<span>{{ $options.filters.goodsFormatPrice(item.price )[0] }} </span>.{{ - $options.filters.goodsFormatPrice(item.price )[1] - }} - </div> - </view> - <div class="promotion" @click="navigateToDetailPage(item)"> - <div v-if="item.salesModel == 'WHOLESALE'"> - <span>鎵�</span> - </div> - <div v-for="(promotionItem,promotionIndex) in getPromotion(item)" :key="promotionIndex"> - <span v-if="promotionItem.indexOf('COUPON') != -1">鍔�</span> - <span v-if="promotionItem.indexOf('FULL_DISCOUNT') != -1">婊″噺</span> - <span v-if="promotionItem.indexOf('SECKILL') != -1">绉掓潃</span> - </div> - </div> - <div class="count-config" @click="navigateToDetailPage(item)"> - <span>宸插敭 {{ item.buyCount || "0" }}</span> - <span>{{ item.commentNum || "0" }}鏉¤瘎璁�</span> - </div> - <div class="store-seller-name" v-if="storeName" @click="navigateToStoreDetailPage(item)"> - <div class="text-hidden"> - <u-tag style="margin-right: 10rpx" size="mini" mode="dark" v-if="item.selfOperated" - text="鑷惀" type="error" /> - <span>{{ item.storeName || "鏆傛棤" }}</span> - </div> - <span> - <u-icon name="arrow-right"></u-icon> - </span> - </div> - </view> - </view> - </view> - <!-- 涓�琛屼竴鍒楀晢鍝佸睍绀� --> - <div v-if="type == 'oneColumns'" class="goods-one-row"> - <div v-for="(item, index) in res" :key="index" class="goods-row"> - <div class="flex goods-col"> - <div class="goods-img" @click="navigateToDetailPage(item)"> - <u-image width="230rpx" mode="aspectFit" border-radius='16' height="230rpx" :src="item.thumbnail"> - <u-loading slot="loading"></u-loading> - </u-image> - </div> - <div class="goods-detail"> - <div class="title clamp3" @click="navigateToDetailPage(item)">{{ item.goodsName }}</div> - <view class="price-box" @click="navigateToDetailPage(item)"> - <div class="price" v-if="item.price!=undefined"> - 楼<span>{{ $options.filters.goodsFormatPrice(item.price )[0] }} </span>.{{ - $options.filters.goodsFormatPrice(item.price )[1] - }} - </div> - </view> - <div class="promotion" @click="navigateToDetailPage(item)"> - <div v-if="item.salesModel == 'WHOLESALE'"> - <span>鎵�</span> - </div> - <div v-for="(promotionItem,promotionIndex) in getPromotion(item)" :key="promotionIndex"> - <span v-if="promotionItem.indexOf('COUPON') != -1">鍔�</span> - <span v-if="promotionItem.indexOf('FULL_DISCOUNT') != -1">婊″噺</span> - <span v-if="promotionItem.indexOf('SECKILL') != -1">绉掓潃</span> - </div> - </div> - <div style="overflow: hidden" @click="navigateToDetailPage(item)" class="count-config"> - <span style="float: left; font-size: 22rpx">宸插敭 {{ item.buyCount || '0' }}</span> - <span style="float: right; font-size: 22rpx">{{ item.commentNum || '0' }}鏉¤瘎璁�</span> - </div> - <div style="overflow: hidden" @click="navigateToStoreDetailPage(item)" class="count-config"> - <div class="text-hidden" v-if="storeName"> - <u-tag style="margin-right: 10rpx" size="mini" mode="dark" v-if="item.selfOperated" - text="鑷惀" type="error" /> - <span class="line1-store-name">{{ item.storeName }}</span> - <span class="to-store">杩涘簵<u-icon size="24" name="arrow-right" color="#666"></u-icon> - </span> - </div> - <span> - <u-icon name="arrow-right" color="#c5c5c5"></u-icon> - </span> - </div> - </div> - </div> - - </div> - </div> - - </view> -</template> - -<script> - import '@/components/uview-components/uview-ui'; - - import commonTpl from '@/components/m-goods-list/common' - export default { - data() { - return { - lightColor: this.$mainColor - } - }, - mixins: [commonTpl], - - props: { - // 閬嶅巻鐨勬暟鎹� - res: { - type: Array, - default: () => { - return [] - } - }, - // 涓�琛屼袱鍒楄繕鏄竴琛屼竴鍒楁樉绀� - type: { - type: String, - default: 'twoColumns', - validator() { - return ['twoColumns', 'oneColumns'] - } - }, - storeName: { - type: Boolean, - default: true - }, - keyword: { - type: null, - default: '' - } - - }, - watch: { - keyword(val) { - if (val) { - this.lightSearchStr(val) - } - } - }, - methods: { - - // 楂樹寒鏄剧ず鎼滅储鍐呭 - lightSearchStr(keyword, str) { - if (!keyword) { - return str - } else { - let unicodes = ''; - for (let i of Array.from(keyword)) { - unicodes += this.unicode(i) + "|" - } - const rule = '(' + unicodes + ')' - const reg = new RegExp(rule, 'gi'); - return str ? str.replace(reg, matchValue => - `<span style="color:${this.lightColor}">${matchValue}</span>` - ) : '' - } - }, - // 杞崲涓簎nicode - unicode(str) { - var value = ''; - for (var i = 0; i < str.length; i++) { - value += '\\u' + this.left_zero_4(parseInt(str.charCodeAt(i)).toString(16)); - } - return value; - }, - left_zero_4(str) { - if (str != null && str != '' && str != 'undefined') { - if (str.length == 2) { - return '00' + str; - } - } - return str; - }, - // 鏁版嵁鍘婚噸涓�涓� 鍙樉绀轰竴娆� 鍑忓厤 鍔� 浠�涔堢殑 - getPromotion(item) { - if (item ? item.promotionMap : item.promotionMap) { - const fieldList = item ? item.promotionMap : item.promotionMap - let array = []; - Object.keys(fieldList).forEach((child) => { - if (!array.includes(child.split("-")[0])) { - array.push(child.split("-")[0]); - } - }); - return array; - } - }, - // 璺宠浆鍒板晢鍝佽鎯� - navigateToDetailPage(item) { - uni.navigateTo({ - url: `/pages/product/goods?id=${item.id}&goodsId=${item.goodsId}`, - }); - }, - // 璺宠浆鍦板潃 - navigateToStoreDetailPage(item) { - uni.navigateTo({ - url: `/pages/product/shopPage?id=${item.storeId}`, - }); - }, - } - } -</script> - -<style lang='scss' scoped> - .goods-one-row{ - padding-bottom: 250rpx; - } - /* 鍟嗗搧鍒楄〃 */ - .goods-list { - display: flex; - flex-wrap: wrap; - margin: 10rpx 20rpx 284rpx; - width: 100%; - - >.goods-item { - background-color: #ffffff; - display: flex; - border-radius: 16rpx; - flex-direction: column; - width: calc(50% - 30rpx); - margin-bottom: 20rpx; - padding-bottom: 20rpx; - - &:nth-child(2n + 1) { - margin-right: 20rpx; - } - - - .image-wrapper { - width: 100%; - height: 330rpx; - border-radius: 16rpx 16rpx 0 0; - overflow: hidden; - padding: 0; - } - } - - .count-config, - .store-seller-name { - font-size: $font-sm; - } - - .text-hidden { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } - } - - - .goods-row { - background: #fff; - padding: 16rpx; - - >.goods-col { - display: flex; - - >.goods-img { - overflow: hidden; - flex: 4; - } - - >.goods-detail { - flex: 7; - } - } - } - - .goods-detail { - margin: 0 20rpx; - - >.title { - font-size: $font-base; - color: $font-color-dark; - line-height: 1.5; - height: 86rpx; - padding: 10rpx 0 0; - display: -webkit-box; - -webkit-box-orient: vertical; - -webkit-line-clamp: 2; - overflow: hidden; - } - - .promotion { - margin-top: 4rpx; - display: flex; - - div { - span { - font-size: 24rpx; - color: $light-color; - margin-right: 10rpx; - padding: 0 4rpx; - border-radius: 2rpx; - } - } - } - - .store-seller-name { - color: #666; - overflow: hidden; - display: flex; - justify-content: space-between; - } - - .count-config { - padding: 5rpx 0; - color: #666; - display: flex; - font-size: 24rpx; - justify-content: space-between; - } - - >.price-box { - margin-top: 10rpx; - display: flex; - align-items: center; - justify-content: space-between; - padding-right: 10rpx; - font-size: 24rpx; - color: $font-color-light; - - >.price { - font-size: 26rpx; - line-height: 1; - color: $main-color; - font-weight: bold; - - /deep/ span:nth-of-type(1) { - font-size: 38rpx; - } - } - } - - } -</style> diff --git a/components/m-goods-list/promotion.vue b/components/m-goods-list/promotion.vue deleted file mode 100644 index 5134dc9..0000000 --- a/components/m-goods-list/promotion.vue +++ /dev/null @@ -1,171 +0,0 @@ -<template> - <div> - <div v-for="(item, index) in res" :key="index" class="goods-row" @click="navigateToDetailPage(item)"> - <div class="flex goods-col"> - <div class="goods-img"> - <u-image width="230rpx" mode="aspectFit" border-radius='16' height="230rpx" :src="item.goodsImage || item.thumbnail"> - <u-loading slot="loading"></u-loading> - </u-image> - </div> - <div class="goods-detail"> - <div class="title clamp3">{{ item.goodsName }}</div> - <div class='flex flex-a-c flex-j-sb'> - <view class="price-box"> - <!-- 绉掓潃 / 鎷煎洟 --> - <div class="price" v-if="!type && item.price!=undefined"> - 楼<span>{{ $options.filters.goodsFormatPrice(item.price )[0] }} </span>.{{ - $options.filters.goodsFormatPrice(item.price )[1] - }} - </div> - <!-- 鐮嶄环 --> - <div class="price" v-if="type && item.purchasePrice!=undefined"> - 鏈�浣庯細 - 楼<span>{{ $options.filters.goodsFormatPrice(item.purchasePrice )[0] }} </span>.{{ - $options.filters.goodsFormatPrice(item.purchasePrice )[1] - }} - </div> - <!-- 鍏滃簳绛栫暐濡傛灉閲戦鏄�0 --> - <div class="price" v-if="!item.price && !type"> - 楼<span>0 </span>.00 - </div> - </view> - <div> - <image class='buy' :src="buy"></image> - </div> - </div> - <div class='count-config' v-if="!type"> - <span>鍗冲皢鎭㈠{{ item.originalPrice}}鍏�</span> - </div> - </div> - </div> - - </div> - </div> -</template> - -<script> - import '@/components/uview-components/uview-ui' - import commonTpl from '@/components/m-goods-list/common' - export default { - data() { - return { - lightColor: this.$mainColor, - buy: require('@/static/buy.png') - } - }, - mixins: [commonTpl], - props: { - // 閬嶅巻鐨勬暟鎹� - res: { - type: Array, - default: () => { - return [] - } - }, - type:{ - type:null, - default:"" - } - }, - methods: { - // 璺宠浆鍒板晢鍝佽鎯� - navigateToDetailPage(item) { - if(this.type == 'kanJia'){ - uni.navigateTo({ - url: `/pages/promotion/bargain/detail?id=${item.id}`, - }); - return - } - uni.navigateTo({ - url: `/pages/product/goods?id=${item.skuId}&goodsId=${item.goodsId}`, - }); - }, - } - } -</script> - -<style lang='scss' scoped> - .buy { - width: 152rpx; - height: 108rpx; - } - .flex-j-sb { - width: 100%; - } - .goods-row { - background: #fff; - padding: 16rpx; - >.goods-col { - display: flex; - >.goods-img { - overflow: hidden; - flex: 4; - } - >.goods-detail { - flex: 7; - } - } - } - .goods-detail { - margin: 0 20rpx; - >.title { - font-size: $font-base; - color: $font-color-dark; - line-height: 1.5; - height: 86rpx; - padding: 10rpx 0 0; - display: -webkit-box; - -webkit-box-orient: vertical; - -webkit-line-clamp: 2; - overflow: hidden; - } - - .promotion { - margin-top: 4rpx; - display: flex; - - div { - span { - font-size: 24rpx; - color: $light-color; - margin-right: 10rpx; - padding: 0 4rpx; - border-radius: 2rpx; - } - } - } - - .count-config { - padding: 5rpx 0; - color: #666; - display: flex; - font-size: 24rpx; - letter-spacing:2rpx; - padding-left: 10rpx; - } - - - - } - - .price-box { - margin-top: 10rpx; - display: flex; - align-items: center; - justify-content: space-between; - padding-right: 10rpx; - font-size: 24rpx; - color: $font-color-light; - - >.price { - font-size: 26rpx; - line-height: 1; - color: $main-color; - font-weight: bold; - - /deep/ span:nth-of-type(1) { - font-size: 48rpx; - } - } - } -</style> diff --git a/components/m-goods-recommend/README.md b/components/m-goods-recommend/README.md deleted file mode 100644 index b33849a..0000000 --- a/components/m-goods-recommend/README.md +++ /dev/null @@ -1,10 +0,0 @@ -## 鍟嗗搧鎺ㄨ崘 - - -### OBJECT 鍙傛暟璇存槑 -灞炴�璇存槑|绫诲瀷|蹇呭~ ----|---|---|--- -`title`|鏍囬锛岀敤浜庨《閮ㄦ樉绀虹殑鍐呭|String|鍚� -`pageSize`|鏄剧ず澶氬皯鏉℃暟鎹紝寤鸿鏄�2鐨勫�嶆暟,榛樿涓�12鏉*|鍚� -`categoryId`|鍒嗙被id|Function|鍚� -`storeId`|鍗栧id锛屾悳绱㈠簵閾哄晢鍝佺殑鏃跺�欎娇鐢▅String|鍚� \ No newline at end of file diff --git a/components/m-goods-recommend/index.vue b/components/m-goods-recommend/index.vue deleted file mode 100644 index 5b18b18..0000000 --- a/components/m-goods-recommend/index.vue +++ /dev/null @@ -1,137 +0,0 @@ -<template> - <div> - <div class="goods-recommend">{{title ? `--${title}-- `:''}}</div> - <goodsTemplate :res='goodsList' /> - </div> -</template> -<script> - import goodsTemplate from '@/components/m-goods-list/list' -import { getGoodsList } from "@/api/goods.js"; -export default { - data() { - return { - goodsList: [], - params: { - pageNumber: 1, - }, - }; - }, - props: { - title: { - type: String, - default: "", - }, - pageSize: { - type: null, - default: 12, - }, - categoryId: { - type: null, - default: "", - }, - storeId: { - type: null, - default: "", - }, - }, - components:{goodsTemplate}, - mounted() { - this.initGoods(); - }, - methods: { - /** - * 鍒濆鍖栧晢鍝� - */ - async initGoods() { - let submit = JSON.parse( - JSON.stringify( - Object.assign(this.params, { - pageSize: this.pageSize, - categoryId: this.categoryId, - storeId: this.storeId, - }) - ) - ); - - Object.keys(submit).map((key) => { - if (!submit[key] || submit[key].length == 0) { - delete submit[key]; - } - }); - let goodsList = await getGoodsList(submit); - this.goodsList.push(...goodsList.data.result.records); - }, - handleClick(item) { - uni.navigateTo({ - url: `/pages/product/goods?id=${item.id}&goodsId=${item.goodsId}`, - }); - }, - }, -}; -</script> - -<style scoped lang="scss"> -/**鍟嗗搧浠g爜 */ -$w_94: 94%; -.goods-recommend { - background: #f7f7f7; - height: 100rpx; - line-height: 100rpx; - text-align: center; - font-size: 30rpx; - font-weight: bold; -} -.goods-list { - display: flex; - flex-wrap: wrap; - background: #f7f7f7; -} -.goods-item { - width: 50%; - margin-bottom: 10px; - border-radius: 0.4em; - overflow: hidden; -} -.goods-img { - position: relative; - margin: 0 auto; - width: $w_94; - height: 350rpx; - border-top-left-radius: 20rpx; - border-top-right-radius: 20rpx; - overflow: hidden; - > img { - width: 100%; - height: 100%; - } -} -.goods-desc { - border-bottom-left-radius: 20rpx; - border-bottom-right-radius: 20rpx; - width: $w_94; - background: #fff; - padding: 8rpx 0 8rpx 8rpx; - margin: 0 auto; - > .goods-title { - font-size: 12px; - height: 70rpx; - display: -webkit-box; - font-weight: 500; - -webkit-box-orient: vertical; - - -webkit-line-clamp: 2; - - overflow: hidden; - } - - > .goods-bottom { - display: flex; - font-weight: bold; - - > .goods-price { - line-height: 2; - color: $main-color; - } - } -} -</style> \ No newline at end of file diff --git a/components/m-take-down-sale-goods/index.vue b/components/m-take-down-sale-goods/index.vue deleted file mode 100644 index 59dfffd..0000000 --- a/components/m-take-down-sale-goods/index.vue +++ /dev/null @@ -1,36 +0,0 @@ -<template> - <div> - <u-popup v-model="show" mode="bottom" height="800rpx" border-radius="14"> - <div class="wrapper"> - <view class="down-goods-tips">璇ュ晢鍝佸凡涓嬫灦</view> - <scroll-view scroll-y="true" style="height: 670rpx"> - <goodsRecommend title="鍏朵粬鍟嗗搧" /> - </scroll-view> - </div> - </u-popup> - </div> -</template> - -<script> -import '@/components/uview-components/uview-ui'; - -import goodsRecommend from "@/components/m-goods-recommend/index.vue"; - -export default { - components: { goodsRecommend }, - data() { - return { - show: true, // 鏄惁鏄剧ず - }; - }, -}; -</script> - -<style lang="scss" scoped> -.down-goods-tips { - font-size: 36rpx; - text-align: center; - font-weight: bold; - padding: 40rpx 0; -} -</style> diff --git a/components/popups/popups.vue b/components/popups/popups.vue deleted file mode 100644 index ce373f9..0000000 --- a/components/popups/popups.vue +++ /dev/null @@ -1,346 +0,0 @@ -<template> - <view class="shadow" :class="!show?'':'shadow-show'" :style="{backgroundColor:show?maskBg:'rgba(0,0,0,0)'}" @tap="tapMask"> - <view class="popups" :class="[theme]" :style="{top: popupsTop ,left: popupsLeft,flexDirection:direction}"> - <text :class="dynPlace" :style="{width:'0px',height:'0px'}" v-if="triangle"></text> - <view v-for="(item,index) in popData" :key="index" @tap.stop="tapItem(item)" class="itemChild view" :class="[direction=='row'?'solid-right':'solid-bottom',item.disabled?'disabledColor':'']"> - <u-icon size="35" :name="item.icon" v-if="item.icon"></u-icon><span class="title">{{item.title}}</span> - </view> - <slot></slot> - </view> - </view> -</template> - -<script> -import '@/components/uview-components/uview-ui'; - -export default { - - props: { - maskBg: { - type: String, - default: "rgba(0,0,0,0)", - }, - placement: { - type: String, - default: "default", //default top-start top-end bottom-start bottom-end - }, - direction: { - type: String, - default: "column", //column row - }, - x: { - type: Number, - default: 0, - }, - y: { - type: Number, - default: 0, - }, - value: { - type: Boolean, - default: false, - }, - popData: { - type: Array, - default: () => [], - }, - theme: { - type: String, - default: "light", //light dark - }, - dynamic: { - type: Boolean, - default: false, - }, - gap: { - type: Number, - default: 20, - }, - triangle: { - type: Boolean, - default: true, - }, - }, - data() { - return { - popupsTop: "0rpx", - popupsLeft: "0rpx", - show: false, - dynPlace: "", - }; - }, - mounted() { - this.popupsPosition(); - }, - methods: { - tapMask() { - this.$emit("input", !this.value); - }, - tapItem(item) { - if (item.disabled) return; - this.$emit("tapPopup", item); - this.$emit("input", !this.value); - }, - getStatusBar() { - let promise = new Promise((resolve, reject) => { - uni.getSystemInfo({ - success: function (e) { - let customBar; - // #ifdef H5 - - customBar = e.statusBarHeight + e.windowTop; - - // #endif - resolve(customBar); - }, - }); - }); - return promise; - }, - async popupsPosition() { - let statusBar = await this.getStatusBar(); - let promise = new Promise((resolve, reject) => { - let popupsDom = uni.createSelectorQuery().in(this).select(".popups"); - popupsDom - .fields( - { - size: true, - }, - (data) => { - let width = data.width; - let height = data.height; - - - - let y = this.dynamic - ? this.dynamicGetY(this.y, this.gap) - : this.transformRpx(this.y); - - let x = this.dynamic - ? this.dynamicGetX(this.x, this.gap) - : this.transformRpx(this.x); - - // #ifdef H5 - y = this.dynamic - ? this.y + statusBar - : this.transformRpx(this.y + statusBar); - // #endif - - this.dynPlace = - this.placement == "default" - ? this.getPlacement(x, y) - : this.placement; - - switch (this.dynPlace) { - case "top-start": - this.popupsTop = `${y + 9}rpx`; - this.popupsLeft = `${x - 15}rpx`; - break; - case "top-end": - this.popupsTop = `${y + 9}rpx`; - this.popupsLeft = `${x + 15 - width}rpx`; - break; - case "bottom-start": - this.popupsTop = `${y - 18 - height}rpx`; - this.popupsLeft = `${x - 15}rpx`; - break; - case "bottom-end": - this.popupsTop = `${y - 9 - height}rpx`; - this.popupsLeft = `${x + 15 - width}rpx`; - break; - } - resolve(); - } - ) - .exec(); - }); - return promise; - }, - getPlacement(x, y) { - let width = uni.getSystemInfoSync().windowWidth; - let height = uni.getSystemInfoSync().windowHeight; - if (x > width / 2 && y > height / 2) { - return "bottom-end"; - } else if (x < width / 2 && y < height / 2) { - return "top-start"; - } else if (x > width / 2 && y < height / 2) { - return "top-end"; - } else if (x < width / 2 && y > height / 2) { - return "bottom-start"; - } else if (x > width / 2) { - return "top-end"; - } else { - return "top-start"; - } - }, - dynamicGetY(y, gap) { - let height = uni.getSystemInfoSync().windowHeight; - y = y < gap ? gap : y; - y = height - y < gap ? height - gap : y; - - return y; - }, - dynamicGetX(x, gap) { - let width = uni.getSystemInfoSync().windowWidth; - x = x < gap ? gap : x; - x = width - x < gap ? width - gap : x; - return x; - }, - transformRpx(params) { - return (params * uni.getSystemInfoSync().screenWidth) / 375; - }, - }, - watch: { - value: { - immediate: true, - handler: async function (newVal, oldVal) { - if (newVal) await this.popupsPosition(); - this.show = newVal; - }, - }, - placement: { - immediate: true, - handler(newVal, oldVal) { - this.dynPlace = newVal; - }, - }, - }, -}; -</script> - -<style lang="scss" scoped> -.title { - margin-left: 20rpx; -} -.shadow { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - height: 100%; - z-index: 9999; - transition: background 0.3s ease-in-out; - visibility: hidden; - - &.shadow-show { - visibility: visible; - } -} - -.popups { - position: absolute; - padding: 20rpx; - border-radius: 5px; - display: flex; - .view { - display: flex; - align-items: center; - padding: 15rpx 10rpx; - font-size: 25rpx; - } - .image { - display: inline-block; - vertical-align: middle; - width: 40rpx; - height: 40rpx; - margin-right: 20rpx; - } -} -.dark { - background-color: #4c4c4c; - color: #fff; - .top-start:after { - content: ""; - position: absolute; - top: -18rpx; - left: 10rpx; - border-width: 0 20rpx 20rpx; - border-style: solid; - border-color: transparent transparent #4c4c4c; - } - .top-end:after { - content: ""; - position: absolute; - top: -18rpx; - right: 10rpx; - border-width: 0 20rpx 20rpx; - border-style: solid; - border-color: transparent transparent #4c4c4c; - } - .bottom-start:after { - content: ""; - position: absolute; - bottom: -18rpx; - left: 10rpx; - border-width: 20rpx 20rpx 0; - border-style: solid; - border-color: #4c4c4c transparent transparent; - } - .bottom-end:after { - content: ""; - position: absolute; - bottom: -18rpx; - right: 10rpx; - border-width: 20rpx 20rpx 0; - border-style: solid; - border-color: #4c4c4c transparent transparent; - } - .disabledColor { - color: #c5c8ce; - } -} -.light { - color: #515a6e; - box-shadow: 0upx 0upx 30upx rgba(0, 0, 0, 0.2); - background: #fff; - .top-start:after { - content: ""; - position: absolute; - top: -18rpx; - left: 10rpx; - border-width: 0 20rpx 20rpx; - border-style: solid; - border-color: transparent transparent #fff; - } - .top-end:after { - content: ""; - position: absolute; - top: -18rpx; - right: 10rpx; - border-width: 0 20rpx 20rpx; - border-style: solid; - border-color: transparent transparent #fff; - } - .bottom-start:after { - content: ""; - position: absolute; - bottom: -18rpx; - left: 10rpx; - border-width: 20rpx 20rpx 0; - border-style: solid; - border-color: #fff transparent transparent; - } - .bottom-end:after { - content: ""; - position: absolute; - bottom: -18rpx; - right: 10rpx; - border-width: 20rpx 20rpx 0; - border-style: solid; - border-color: #fff transparent transparent; - } - .disabledColor { - color: #c5c8ce; - } -} -.solid-bottom { - border-bottom: 1px solid #f3f5f7; -} -.solid-right { - border-right: 1px solid #ccc; -} -.popups .itemChild:last-child { - border: none; -} -</style> diff --git a/components/verification/animation.css b/components/verification/animation.css deleted file mode 100644 index 931bb51..0000000 --- a/components/verification/animation.css +++ /dev/null @@ -1,184 +0,0 @@ -/* - Animation 寰姩鐢� - 鍩轰簬ColorUI缁勫缓搴撶殑鍔ㄧ敾妯″潡 by 鏂囨檽娓� 2019骞�3鏈�26鏃�19:52:28 - */ - -/* css 婊ら暅 鎺у埗榛戠櫧搴曡壊gif鐨� */ -.gif-black{ - mix-blend-mode: screen; -} -.gif-white{ - mix-blend-mode: multiply; -} - - -/* Animation css */ -[class*=animation-] { - animation-duration: .5s; - animation-timing-function: ease-out; - animation-fill-mode: both -} - -.animation-fade { - animation-name: fade; - animation-duration: .8s; - animation-timing-function: linear -} - -.animation-scale-up { - animation-name: scale-up -} - -.animation-scale-down { - animation-name: scale-down -} - -.animation-slide-top { - animation-name: slide-top -} - -.animation-slide-bottom { - animation-name: slide-bottom -} - -.animation-slide-left { - animation-name: slide-left -} - -.animation-slide-right { - animation-name: slide-right -} - -.animation-shake { - animation-name: shake -} - -.animation-reverse { - animation-direction: reverse -} - -@keyframes fade { - 0% { - opacity: 0 - } - - 100% { - opacity: 1 - } -} - -@keyframes scale-up { - 0% { - opacity: 0; - transform: scale(.2) - } - - 100% { - opacity: 1; - transform: scale(1) - } -} - -@keyframes scale-down { - 0% { - opacity: 0; - transform: scale(1.8) - } - - 100% { - opacity: 1; - transform: scale(1) - } -} - -@keyframes slide-top { - 0% { - opacity: 0; - transform: translateY(-100%) - } - - 100% { - opacity: 1; - transform: translateY(0) - } -} - -@keyframes slide-bottom { - 0% { - opacity: 0; - transform: translateY(100%) - } - - 100% { - opacity: 1; - transform: translateY(0) - } -} - -@keyframes shake { - - 0%, - 100% { - transform: translateX(0) - } - - 10% { - transform: translateX(-9px) - } - - 20% { - transform: translateX(8px) - } - - 30% { - transform: translateX(-7px) - } - - 40% { - transform: translateX(6px) - } - - 50% { - transform: translateX(-5px) - } - - 60% { - transform: translateX(4px) - } - - 70% { - transform: translateX(-3px) - } - - 80% { - transform: translateX(2px) - } - - 90% { - transform: translateX(-1px) - } -} - -@keyframes slide-left { - 0% { - opacity: 0; - transform: translateX(-100%) - } - - 100% { - opacity: 1; - transform: translateX(0) - } -} - -@keyframes slide-right { - 0% { - opacity: 0; - transform: translateX(100%) - } - - 100% { - opacity: 1; - transform: translateX(0) - } -} \ No newline at end of file diff --git a/components/verification/icon.css b/components/verification/icon.css deleted file mode 100644 index a2eedf5..0000000 --- a/components/verification/icon.css +++ /dev/null @@ -1,1226 +0,0 @@ -@keyframes cuIcon-spin { - 0% { - -webkit-transform: rotate(0); - transform: rotate(0); - } - - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} - -.cuIconfont-spin { - -webkit-animation: cuIcon-spin 2s infinite linear; - animation: cuIcon-spin 2s infinite linear; - display: inline-block; -} - -.cuIconfont-pulse { - -webkit-animation: cuIcon-spin 1s infinite steps(8); - animation: cuIcon-spin 1s infinite steps(8); - display: inline-block; -} - -[class*="cuIcon-"] { - font-family: "cuIcon"; - font-size: inherit; - font-style: normal; -} - -@font-face { - font-family: "cuIcon"; - src: url('//at.alicdn.com/t/font_533566_yfq2d9wdij.eot?t=1545239985831'); - /* IE9*/ - src: url('//at.alicdn.com/t/font_533566_yfq2d9wdij.eot?t=1545239985831#iefix') format('embedded-opentype'), - /* IE6-IE8 */ - url('data:application/x-font-woff;charset=utf-8;base64,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') format('woff'), - url('//at.alicdn.com/t/font_533566_yfq2d9wdij.ttf?t=1545239985831') format('truetype'), - /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ - url('//at.alicdn.com/t/font_533566_yfq2d9wdij.svg?t=1545239985831#cuIconfont') format('svg'); - /* iOS 4.1- */ -} - -.cuIcon-appreciate:before { - content: "\e644"; -} - -.cuIcon-check:before { - content: "\e645"; -} - -.cuIcon-close:before { - content: "\e646"; -} - -.cuIcon-edit:before { - content: "\e649"; -} - -.cuIcon-emoji:before { - content: "\e64a"; -} - -.cuIcon-favorfill:before { - content: "\e64b"; -} - -.cuIcon-favor:before { - content: "\e64c"; -} - -.cuIcon-loading:before { - content: "\e64f"; -} - -.cuIcon-locationfill:before { - content: "\e650"; -} - -.cuIcon-location:before { - content: "\e651"; -} - -.cuIcon-phone:before { - content: "\e652"; -} - -.cuIcon-roundcheckfill:before { - content: "\e656"; -} - -.cuIcon-roundcheck:before { - content: "\e657"; -} - -.cuIcon-roundclosefill:before { - content: "\e658"; -} - -.cuIcon-roundclose:before { - content: "\e659"; -} - -.cuIcon-roundrightfill:before { - content: "\e65a"; -} - -.cuIcon-roundright:before { - content: "\e65b"; -} - -.cuIcon-search:before { - content: "\e65c"; -} - -.cuIcon-taxi:before { - content: "\e65d"; -} - -.cuIcon-timefill:before { - content: "\e65e"; -} - -.cuIcon-time:before { - content: "\e65f"; -} - -.cuIcon-unfold:before { - content: "\e661"; -} - -.cuIcon-warnfill:before { - content: "\e662"; -} - -.cuIcon-warn:before { - content: "\e663"; -} - -.cuIcon-camerafill:before { - content: "\e664"; -} - -.cuIcon-camera:before { - content: "\e665"; -} - -.cuIcon-commentfill:before { - content: "\e666"; -} - -.cuIcon-comment:before { - content: "\e667"; -} - -.cuIcon-likefill:before { - content: "\e668"; -} - -.cuIcon-like:before { - content: "\e669"; -} - -.cuIcon-notificationfill:before { - content: "\e66a"; -} - -.cuIcon-notification:before { - content: "\e66b"; -} - -.cuIcon-order:before { - content: "\e66c"; -} - -.cuIcon-samefill:before { - content: "\e66d"; -} - -.cuIcon-same:before { - content: "\e66e"; -} - -.cuIcon-deliver:before { - content: "\e671"; -} - -.cuIcon-evaluate:before { - content: "\e672"; -} - -.cuIcon-pay:before { - content: "\e673"; -} - -.cuIcon-send:before { - content: "\e675"; -} - -.cuIcon-store:before { - content: "\e676"; -} - -.cuIcon-ticket:before { - content: "\e677"; -} - -.cuIcon-back:before { - content: "\e679"; -} - -.cuIcon-cascades:before { - content: "\e67c"; -} - -.cuIcon-discover:before { - content: "\e67e"; -} - -.cuIcon-list:before { - content: "\e682"; -} - -.cuIcon-more:before { - content: "\e684"; -} - -.cuIcon-scan:before { - content: "\e689"; -} - -.cuIcon-settings:before { - content: "\e68a"; -} - -.cuIcon-questionfill:before { - content: "\e690"; -} - -.cuIcon-question:before { - content: "\e691"; -} - -.cuIcon-storefill:before { - content: "\e697"; -} - -.cuIcon-form:before { - content: "\e699"; -} - -.cuIcon-pic:before { - content: "\e69b"; -} - -.cuIcon-filter:before { - content: "\e69c"; -} - -.cuIcon-footprint:before { - content: "\e69d"; -} - -.cuIcon-top:before { - content: "\e69e"; -} - -.cuIcon-pulldown:before { - content: "\e69f"; -} - -.cuIcon-pullup:before { - content: "\e6a0"; -} - -.cuIcon-right:before { - content: "\e6a3"; -} - -.cuIcon-refresh:before { - content: "\e6a4"; -} - -.cuIcon-moreandroid:before { - content: "\e6a5"; -} - -.cuIcon-deletefill:before { - content: "\e6a6"; -} - -.cuIcon-refund:before { - content: "\e6ac"; -} - -.cuIcon-cart:before { - content: "\e6af"; -} - -.cuIcon-qrcode:before { - content: "\e6b0"; -} - -.cuIcon-remind:before { - content: "\e6b2"; -} - -.cuIcon-delete:before { - content: "\e6b4"; -} - -.cuIcon-profile:before { - content: "\e6b7"; -} - -.cuIcon-home:before { - content: "\e6b8"; -} - -.cuIcon-cartfill:before { - content: "\e6b9"; -} - -.cuIcon-discoverfill:before { - content: "\e6ba"; -} - -.cuIcon-homefill:before { - content: "\e6bb"; -} - -.cuIcon-message:before { - content: "\e6bc"; -} - -.cuIcon-addressbook:before { - content: "\e6bd"; -} - -.cuIcon-link:before { - content: "\e6bf"; -} - -.cuIcon-lock:before { - content: "\e6c0"; -} - -.cuIcon-unlock:before { - content: "\e6c2"; -} - -.cuIcon-vip:before { - content: "\e6c3"; -} - -.cuIcon-weibo:before { - content: "\e6c4"; -} - -.cuIcon-activity:before { - content: "\e6c5"; -} - -.cuIcon-friendaddfill:before { - content: "\e6c9"; -} - -.cuIcon-friendadd:before { - content: "\e6ca"; -} - -.cuIcon-friendfamous:before { - content: "\e6cb"; -} - -.cuIcon-friend:before { - content: "\e6cc"; -} - -.cuIcon-goods:before { - content: "\e6cd"; -} - -.cuIcon-selection:before { - content: "\e6ce"; -} - -.cuIcon-explore:before { - content: "\e6d2"; -} - -.cuIcon-present:before { - content: "\e6d3"; -} - -.cuIcon-squarecheckfill:before { - content: "\e6d4"; -} - -.cuIcon-square:before { - content: "\e6d5"; -} - -.cuIcon-squarecheck:before { - content: "\e6d6"; -} - -.cuIcon-round:before { - content: "\e6d7"; -} - -.cuIcon-roundaddfill:before { - content: "\e6d8"; -} - -.cuIcon-roundadd:before { - content: "\e6d9"; -} - -.cuIcon-add:before { - content: "\e6da"; -} - -.cuIcon-notificationforbidfill:before { - content: "\e6db"; -} - -.cuIcon-explorefill:before { - content: "\e6dd"; -} - -.cuIcon-fold:before { - content: "\e6de"; -} - -.cuIcon-game:before { - content: "\e6df"; -} - -.cuIcon-redpacket:before { - content: "\e6e0"; -} - -.cuIcon-selectionfill:before { - content: "\e6e1"; -} - -.cuIcon-similar:before { - content: "\e6e2"; -} - -.cuIcon-appreciatefill:before { - content: "\e6e3"; -} - -.cuIcon-infofill:before { - content: "\e6e4"; -} - -.cuIcon-info:before { - content: "\e6e5"; -} - -.cuIcon-forwardfill:before { - content: "\e6ea"; -} - -.cuIcon-forward:before { - content: "\e6eb"; -} - -.cuIcon-rechargefill:before { - content: "\e6ec"; -} - -.cuIcon-recharge:before { - content: "\e6ed"; -} - -.cuIcon-vipcard:before { - content: "\e6ee"; -} - -.cuIcon-voice:before { - content: "\e6ef"; -} - -.cuIcon-voicefill:before { - content: "\e6f0"; -} - -.cuIcon-friendfavor:before { - content: "\e6f1"; -} - -.cuIcon-wifi:before { - content: "\e6f2"; -} - -.cuIcon-share:before { - content: "\e6f3"; -} - -.cuIcon-wefill:before { - content: "\e6f4"; -} - -.cuIcon-we:before { - content: "\e6f5"; -} - -.cuIcon-lightauto:before { - content: "\e6f6"; -} - -.cuIcon-lightforbid:before { - content: "\e6f7"; -} - -.cuIcon-lightfill:before { - content: "\e6f8"; -} - -.cuIcon-camerarotate:before { - content: "\e6f9"; -} - -.cuIcon-light:before { - content: "\e6fa"; -} - -.cuIcon-barcode:before { - content: "\e6fb"; -} - -.cuIcon-flashlightclose:before { - content: "\e6fc"; -} - -.cuIcon-flashlightopen:before { - content: "\e6fd"; -} - -.cuIcon-searchlist:before { - content: "\e6fe"; -} - -.cuIcon-service:before { - content: "\e6ff"; -} - -.cuIcon-sort:before { - content: "\e700"; -} - -.cuIcon-down:before { - content: "\e703"; -} - -.cuIcon-mobile:before { - content: "\e704"; -} - -.cuIcon-mobilefill:before { - content: "\e705"; -} - -.cuIcon-copy:before { - content: "\e706"; -} - -.cuIcon-countdownfill:before { - content: "\e707"; -} - -.cuIcon-countdown:before { - content: "\e708"; -} - -.cuIcon-noticefill:before { - content: "\e709"; -} - -.cuIcon-notice:before { - content: "\e70a"; -} - -.cuIcon-upstagefill:before { - content: "\e70e"; -} - -.cuIcon-upstage:before { - content: "\e70f"; -} - -.cuIcon-babyfill:before { - content: "\e710"; -} - -.cuIcon-baby:before { - content: "\e711"; -} - -.cuIcon-brandfill:before { - content: "\e712"; -} - -.cuIcon-brand:before { - content: "\e713"; -} - -.cuIcon-choicenessfill:before { - content: "\e714"; -} - -.cuIcon-choiceness:before { - content: "\e715"; -} - -.cuIcon-clothesfill:before { - content: "\e716"; -} - -.cuIcon-clothes:before { - content: "\e717"; -} - -.cuIcon-creativefill:before { - content: "\e718"; -} - -.cuIcon-creative:before { - content: "\e719"; -} - -.cuIcon-female:before { - content: "\e71a"; -} - -.cuIcon-keyboard:before { - content: "\e71b"; -} - -.cuIcon-male:before { - content: "\e71c"; -} - -.cuIcon-newfill:before { - content: "\e71d"; -} - -.cuIcon-new:before { - content: "\e71e"; -} - -.cuIcon-pullleft:before { - content: "\e71f"; -} - -.cuIcon-pullright:before { - content: "\e720"; -} - -.cuIcon-rankfill:before { - content: "\e721"; -} - -.cuIcon-rank:before { - content: "\e722"; -} - -.cuIcon-bad:before { - content: "\e723"; -} - -.cuIcon-cameraadd:before { - content: "\e724"; -} - -.cuIcon-focus:before { - content: "\e725"; -} - -.cuIcon-friendfill:before { - content: "\e726"; -} - -.cuIcon-cameraaddfill:before { - content: "\e727"; -} - -.cuIcon-apps:before { - content: "\e729"; -} - -.cuIcon-paintfill:before { - content: "\e72a"; -} - -.cuIcon-paint:before { - content: "\e72b"; -} - -.cuIcon-picfill:before { - content: "\e72c"; -} - -.cuIcon-refresharrow:before { - content: "\e72d"; -} - -.cuIcon-colorlens:before { - content: "\e6e6"; -} - -.cuIcon-markfill:before { - content: "\e730"; -} - -.cuIcon-mark:before { - content: "\e731"; -} - -.cuIcon-presentfill:before { - content: "\e732"; -} - -.cuIcon-repeal:before { - content: "\e733"; -} - -.cuIcon-album:before { - content: "\e734"; -} - -.cuIcon-peoplefill:before { - content: "\e735"; -} - -.cuIcon-people:before { - content: "\e736"; -} - -.cuIcon-servicefill:before { - content: "\e737"; -} - -.cuIcon-repair:before { - content: "\e738"; -} - -.cuIcon-file:before { - content: "\e739"; -} - -.cuIcon-repairfill:before { - content: "\e73a"; -} - -.cuIcon-taoxiaopu:before { - content: "\e73b"; -} - -.cuIcon-weixin:before { - content: "\e612"; -} - -.cuIcon-attentionfill:before { - content: "\e73c"; -} - -.cuIcon-attention:before { - content: "\e73d"; -} - -.cuIcon-commandfill:before { - content: "\e73e"; -} - -.cuIcon-command:before { - content: "\e73f"; -} - -.cuIcon-communityfill:before { - content: "\e740"; -} - -.cuIcon-community:before { - content: "\e741"; -} - -.cuIcon-read:before { - content: "\e742"; -} - -.cuIcon-calendar:before { - content: "\e74a"; -} - -.cuIcon-cut:before { - content: "\e74b"; -} - -.cuIcon-magic:before { - content: "\e74c"; -} - -.cuIcon-backwardfill:before { - content: "\e74d"; -} - -.cuIcon-playfill:before { - content: "\e74f"; -} - -.cuIcon-stop:before { - content: "\e750"; -} - -.cuIcon-tagfill:before { - content: "\e751"; -} - -.cuIcon-tag:before { - content: "\e752"; -} - -.cuIcon-group:before { - content: "\e753"; -} - -.cuIcon-all:before { - content: "\e755"; -} - -.cuIcon-backdelete:before { - content: "\e756"; -} - -.cuIcon-hotfill:before { - content: "\e757"; -} - -.cuIcon-hot:before { - content: "\e758"; -} - -.cuIcon-post:before { - content: "\e759"; -} - -.cuIcon-radiobox:before { - content: "\e75b"; -} - -.cuIcon-rounddown:before { - content: "\e75c"; -} - -.cuIcon-upload:before { - content: "\e75d"; -} - -.cuIcon-writefill:before { - content: "\e760"; -} - -.cuIcon-write:before { - content: "\e761"; -} - -.cuIcon-radioboxfill:before { - content: "\e763"; -} - -.cuIcon-punch:before { - content: "\e764"; -} - -.cuIcon-shake:before { - content: "\e765"; -} - -.cuIcon-move:before { - content: "\e768"; -} - -.cuIcon-safe:before { - content: "\e769"; -} - -.cuIcon-activityfill:before { - content: "\e775"; -} - -.cuIcon-crownfill:before { - content: "\e776"; -} - -.cuIcon-crown:before { - content: "\e777"; -} - -.cuIcon-goodsfill:before { - content: "\e778"; -} - -.cuIcon-messagefill:before { - content: "\e779"; -} - -.cuIcon-profilefill:before { - content: "\e77a"; -} - -.cuIcon-sound:before { - content: "\e77b"; -} - -.cuIcon-sponsorfill:before { - content: "\e77c"; -} - -.cuIcon-sponsor:before { - content: "\e77d"; -} - -.cuIcon-upblock:before { - content: "\e77e"; -} - -.cuIcon-weblock:before { - content: "\e77f"; -} - -.cuIcon-weunblock:before { - content: "\e780"; -} - -.cuIcon-my:before { - content: "\e78b"; -} - -.cuIcon-myfill:before { - content: "\e78c"; -} - -.cuIcon-emojifill:before { - content: "\e78d"; -} - -.cuIcon-emojiflashfill:before { - content: "\e78e"; -} - -.cuIcon-flashbuyfill:before { - content: "\e78f"; -} - -.cuIcon-text:before { - content: "\e791"; -} - -.cuIcon-goodsfavor:before { - content: "\e794"; -} - -.cuIcon-musicfill:before { - content: "\e795"; -} - -.cuIcon-musicforbidfill:before { - content: "\e796"; -} - -.cuIcon-card:before { - content: "\e624"; -} - -.cuIcon-triangledownfill:before { - content: "\e79b"; -} - -.cuIcon-triangleupfill:before { - content: "\e79c"; -} - -.cuIcon-roundleftfill-copy:before { - content: "\e79e"; -} - -.cuIcon-font:before { - content: "\e76a"; -} - -.cuIcon-title:before { - content: "\e82f"; -} - -.cuIcon-recordfill:before { - content: "\e7a4"; -} - -.cuIcon-record:before { - content: "\e7a6"; -} - -.cuIcon-cardboardfill:before { - content: "\e7a9"; -} - -.cuIcon-cardboard:before { - content: "\e7aa"; -} - -.cuIcon-formfill:before { - content: "\e7ab"; -} - -.cuIcon-coin:before { - content: "\e7ac"; -} - -.cuIcon-cardboardforbid:before { - content: "\e7af"; -} - -.cuIcon-circlefill:before { - content: "\e7b0"; -} - -.cuIcon-circle:before { - content: "\e7b1"; -} - -.cuIcon-attentionforbid:before { - content: "\e7b2"; -} - -.cuIcon-attentionforbidfill:before { - content: "\e7b3"; -} - -.cuIcon-attentionfavorfill:before { - content: "\e7b4"; -} - -.cuIcon-attentionfavor:before { - content: "\e7b5"; -} - -.cuIcon-titles:before { - content: "\e701"; -} - -.cuIcon-icloading:before { - content: "\e67a"; -} - -.cuIcon-full:before { - content: "\e7bc"; -} - -.cuIcon-mail:before { - content: "\e7bd"; -} - -.cuIcon-peoplelist:before { - content: "\e7be"; -} - -.cuIcon-goodsnewfill:before { - content: "\e7bf"; -} - -.cuIcon-goodsnew:before { - content: "\e7c0"; -} - -.cuIcon-medalfill:before { - content: "\e7c1"; -} - -.cuIcon-medal:before { - content: "\e7c2"; -} - -.cuIcon-newsfill:before { - content: "\e7c3"; -} - -.cuIcon-newshotfill:before { - content: "\e7c4"; -} - -.cuIcon-newshot:before { - content: "\e7c5"; -} - -.cuIcon-news:before { - content: "\e7c6"; -} - -.cuIcon-videofill:before { - content: "\e7c7"; -} - -.cuIcon-video:before { - content: "\e7c8"; -} - -.cuIcon-exit:before { - content: "\e7cb"; -} - -.cuIcon-skinfill:before { - content: "\e7cc"; -} - -.cuIcon-skin:before { - content: "\e7cd"; -} - -.cuIcon-moneybagfill:before { - content: "\e7ce"; -} - -.cuIcon-usefullfill:before { - content: "\e7cf"; -} - -.cuIcon-usefull:before { - content: "\e7d0"; -} - -.cuIcon-moneybag:before { - content: "\e7d1"; -} - -.cuIcon-redpacket_fill:before { - content: "\e7d3"; -} - -.cuIcon-subscription:before { - content: "\e7d4"; -} - -.cuIcon-loading1:before { - content: "\e633"; -} - -.cuIcon-github:before { - content: "\e692"; -} - -.cuIcon-global:before { - content: "\e7eb"; -} - -.cuIcon-settingsfill:before { - content: "\e6ab"; -} - -.cuIcon-back_android:before { - content: "\e7ed"; -} - -.cuIcon-expressman:before { - content: "\e7ef"; -} - -.cuIcon-evaluate_fill:before { - content: "\e7f0"; -} - -.cuIcon-group_fill:before { - content: "\e7f5"; -} - -.cuIcon-play_forward_fill:before { - content: "\e7f6"; -} - -.cuIcon-deliver_fill:before { - content: "\e7f7"; -} - -.cuIcon-notice_forbid_fill:before { - content: "\e7f8"; -} - -.cuIcon-fork:before { - content: "\e60c"; -} - -.cuIcon-pick:before { - content: "\e7fa"; -} - -.cuIcon-wenzi:before { - content: "\e6a7"; -} - -.cuIcon-ellipse:before { - content: "\e600"; -} - -.cuIcon-qr_code:before { - content: "\e61b"; -} - -.cuIcon-dianhua:before { - content: "\e64d"; -} - -.cuIcon-cuIcon:before { - content: "\e602"; -} - -.cuIcon-loading2:before { - content: "\e7f1"; -} - -.cuIcon-btn:before { - content: "\e601"; -} diff --git a/components/verification/verification.vue b/components/verification/verification.vue deleted file mode 100644 index 59581f1..0000000 --- a/components/verification/verification.vue +++ /dev/null @@ -1,532 +0,0 @@ -<template> - <view> - <view - v-if="!hid" - class="flex-row-center" - :style="{ top: scHight }" - style="width: 750rpx; position: fixed; z-index: 100; left: 0" - > - <view - class="flex-column-center" - style="background-color: #fcfcfc; padding: 30rpx; border-radius: 10rpx" - > - <movable-area - class="flex" - style="width: 100%" - animation="false" - :style="{ height: originalHeight }" - > - <movable-view - scale-value="1" - animation="false" - damping="5000" - :x="moveX" - :style="{ - height: sliderHeight, - width: sliderWidth, - 'z-index': 101, - }" - direction="horizontal" - > - <image - :src="imgbk" - class="image" - mode="aspectFit" - :style="{ - height: sliderHeight, - width: sliderWidth, - 'margin-top': imgbKH, - }" - ></image> - </movable-view> - <image - :src="img" - mode="aspectFit" - :style="{ height: originalHeight, width: originalWidth }" - style="border-radius: 10rpx" - ></image> - </movable-area> - - <movable-area - class="flex-row-start" - style=" - width: 100%; - background-color: #efefef; - height: 80rpx; - border-radius: 40rpx; - margin-top: 30rpx; - " - > - <movable-view - scale-value="1" - animation="false" - damping="50" - :x="movePv" - class="flex-row-center" - style=" - border-radius: 50%; - height: 100rpx; - width: 100rpx; - background-color: #ffffff; - border: 2rpx solid #e3e3e3; - margin-top: -13rpx; - " - direction="horizontal" - @change="moveChange" - @touchend="end" - > - <u-icon - :color="mainColor" - size="40" - v-if="endLoad" - name="arrow-right" - ></u-icon> - <u-icon :color="mainColor" size="40" v-else name="reload"></u-icon> - </movable-view> - - <text style="padding-left: 140rpx" :style="{ color: col }">{{ - hasImg - }}</text> - </movable-area> - <view class="flex-row-around padding-top" style="width: 100%"> - <u-icon - @click="hide" - :color="mainColor" - size="40" - name="close" - ></u-icon> - - <text class="cu-tag round" @click="getCode">鍒锋柊鎷煎浘</text> - <text class="my-neirong-sm cuIcon-safe" style="color: #c1c1c1" - >Lili-FRAMEWORK</text - > - </view> - </view> - </view> - </view> -</template> - -<script> -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"; -const phone = uni.getSystemInfoSync(); -const l = phone.screenWidth / 750; -export default { - name: "verification", - created() { - // 鍙嚜琛岃皟鏁� - this.scHight = phone.screenHeight / 2 - 200 + "px"; - this.getCode(); - }, - props: { - height: { - type: String, - default: "80rpx", - }, - width: { - type: String, - default: "350rpx", - }, - left: { - type: String, - default: "180rpx", - }, - top: { - type: String, - default: "30rpx", - }, - business: { - type: String, - default: "LOGIN", - }, - }, - data() { - return { - mainColor: this.$mainColor, - flage: false, - key: "", //key - vsrtx: "鐐瑰嚮杩涜楠岃瘉", //鎸夐挳鎻愮ず璇� - vsr: false, // - hid: true, - col: "#838383", - movePv: 0, - hasImg: "鎷栧姩婊戝潡宸插畬鎴愭嫾鍥�", - spcode: "", - tl: 0, - moveCode: 0, - //X杞寸Щ鍔ㄨ窛绂� - moveX: 0, - //妯$増楂樺害 - originalHeight: "", - //妯$増瀹藉害 - originalWidth: "", - //鎷煎浘楂樺害 - sliderHeight: "", - //骞虫秱瀹藉害 - sliderWidth: "", - scHight: 0, - //鍘熷浘 - img: "", - //鎷煎浘 - imgbk: "", - endLoad: true, - imgbKH: "", - }; - }, - methods: { - show() { - this.hid = false; - }, - hide() { - if (!this.vsr) { - // vsr鍒ゆ柇鏄惁楠岃瘉鎴愬姛锛屾垚鍔熼殣钘忛獙璇佹 - this.hid = !this.hid; - } - }, - error() { - this.vsr = false; - this.hid = false; - this.moveX = 0; - this.moveCode = 0; - }, - // 鑾峰彇楠岃瘉鍥剧墖 - getCode() { - this.col = "#b3afae"; - this.hasImg = "鍥剧墖鍔犺浇涓�..."; - if (!storage.getUuid()) { - storage.setUuid(uuid.v1()); - } - uni.request({ - url: api.common + "/common/slider/" + this.business, - header: { - uuid: storage.getUuid(), - }, - success: (res) => { - this.col = "#838383"; - this.hasImg = "鎷栧姩婊戝潡浠ュ畬鎴愭嫾鍥�"; - var data = res.data.result; - - // base64鐨勫浘鐗� - this.img = data.backImage; - this.imgbk = data.slidingImage; - // 鏍规嵁鍙傛暟鍔ㄦ�侀�傚簲楠岃瘉鍥剧墖鐨勯珮瀹� - this.imgbKH = data.randomY * 1.8 + "rpx"; - this.originalHeight = data.originalHeight * 1.8 + "rpx"; - this.originalWidth = data.originalWidth * 1.8 + "rpx"; - this.sliderHeight = data.sliderHeight * 1.8 + "rpx"; - this.sliderWidth = data.sliderWidth * 1.8 + "rpx"; - // 閫傚簲姣旂巼锛岀敤鏉ラ�傚簲婊戝姩璺濈 - this.tl = 1 / (1.8 * l); - // 鏃犵敤淇℃伅 - this.spcode = data.capcode; - // 楠岃瘉浠ょ墝 - this.key = data.key; - this.$store.state.verificationKey = data.key; - }, - }); - }, - end(e) { - this.endLoad = false; - // 楠岃瘉鎷煎浘浣嶇疆鏄惁姝g‘ - uni.request({ - method: "POST", - url: - api.common + - "/common/slider/" + - this.business + - "?xPos=" + - parseInt(this.moveCode * this.tl), - header: { - uuid: storage.getUuid(), - }, - success: (res) => { - this.endLoad = true; - res.data.result == false - ? (res.data.result = false) - : (res.data.result = true); - - if (res.data && res.data.result) { - //楠岃瘉鎴愬姛鍚庢妸key鍙戦�佸嚭鍘�,鍚庣浼氭妸楠岃瘉淇℃伅瀛樺湪缂撳瓨閲� - this.$emit("send", this.key); - this.hide(); - this.vsr = true; - this.vsrtx = "宸查�氳繃楠岃瘉"; - } else { - this.getCode(); // 璁╂粦鍧楀洖鍒拌捣濮嬩綅缃� - if (this.movePv == 1) { - this.movePv = 0; - } else { - this.movePv = 1; - } - } - }, - fail: (res) => { - this.$msg("杩炴帴鏈嶅姟鍣ㄥけ璐�"); - }, - }); - }, - // 缁戝畾鎷煎浘浣嶇疆 - moveChange(e) { - this.moveX = e.detail.x; - this.moveCode = e.detail.x; - }, - }, -}; -</script> - -<style lang="scss" scoped> -@import "./animation.css"; -@import "./icon.css"; -// @import './main.css'; -.dh-wt { - animation: at 1.1s ease; - animation-iteration-count: infinite; - animation-direction: alternate; - background-color: $main-color; - border-radius: 50%; -} - -@keyframes at { - from { - width: 27rpx; - height: 27rpx; - } - - to { - width: 45rpx; - height: 45rpx; - } -} - -.ttcl { - color: $main-color; -} - -.border-index { - border: 1rpx solid $main-color; -} - -.status_bar { - height: var(--status-bar-height); - background-color: #f1f1f1; - width: 100%; -} - -.status_bar-nobg { - height: var(--status-bar-height); - width: 100%; -} - -/* 杞湀鍔ㄧ敾 */ -.turn-load { - animation: turnmy 1s linear infinite; -} - -@keyframes turnmy { - 0% { - -webkit-transform: rotate(0deg); - } - - 25% { - -webkit-transform: rotate(90deg); - } - - 50% { - -webkit-transform: rotate(180deg); - } - - 75% { - -webkit-transform: rotate(270deg); - } - - 100% { - -webkit-transform: rotate(360deg); - } -} - -.status_bar-fixed { - height: var(--status-bar-height); - width: 100%; - position: fixed; - background-color: #f1f1f1; - z-index: 20; -} - -.head-dh-my { - display: flex; - position: fixed; - justify-content: space-around; - align-items: flex-end; - padding-bottom: 10rpx; - z-index: 15; - background-color: #e3e3e3; - width: 750rpx; -} - -.padding-left { - padding-left: 20rpx; -} - -.padding-left-top { - padding-left: 20rpx; - padding-top: 20rpx; -} - -.padding-right { - padding-right: 20rpx; -} - -.input-my { - padding-left: 20rpx; - border-radius: 40rpx; - height: 50rpx; - margin: 10rpx; -} - -.tb-tag-absolute { - position: absolute; - z-index: 5; - border-radius: 25rpx; - font-size: 16rpx; - margin-left: 25rpx; - margin-top: -35rpx; -} - -.flex-column-center { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; -} - -.flex-column-between { - display: flex; - flex-direction: column; - justify-content: space-between; - align-items: center; -} - -.flex-column-start { - display: flex; - flex-direction: column; - justify-content: center; -} - -.flex-column-around { - display: flex; - flex-direction: column; - justify-content: space-around; - align-items: center; -} - -.flex-row-start { - display: flex; - flex-direction: row; - align-items: center; -} - -.flex-row-around { - display: flex; - flex-direction: row; - justify-content: space-around; - align-items: center; -} - -.flex-row-center { - display: flex; - flex-direction: row; - justify-content: center; - align-items: center; -} - -.flex-row-between { - display: flex; - flex-direction: row; - justify-content: space-between; - align-items: center; -} - -.my-title { - font-size: 35rpx; - font-weight: bold; -} - -.my-neirong { - font-size: 26rpx; - color: #6d6d6d; -} - -.my-neirong-sm { - font-size: 23rpx; - color: #616161; -} - -.my-tag-text { - font-size: 22rpx; - padding-top: 20rpx; - color: #bababa; -} - -.padding-top { - padding-top: 35rpx; -} - -.padding-top-sm { - padding-top: 20rpx; -} - -.bottom-dh { - background-color: #f1f1f1; - position: fixed; - z-index: 10; - bottom: 0; - width: 750rpx; - height: 110rpx; -} - -.tb-text { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; -} - -.bottom-text { - width: 750rpx; - position: fixed; - text-align: center; - font-size: 26rpx; - color: #9d9d9d; - bottom: 70rpx; -} - -.moneycolor { - color: #ea5002; -} - -.margin-top { - margin-top: 20rpx; -} - -.margin-top-sm { - margin-top: 12rpx; -} - -.margin { - margin: 20rpx; -} - -.margin-left { - margin-left: 20rpx; -} - -.margin-right { - margin-right: 20rpx; -} - -.main-color { - color: #07d188; -} -</style> diff --git a/components/verify-code/verify-code.vue b/components/verify-code/verify-code.vue deleted file mode 100644 index 09985fd..0000000 --- a/components/verify-code/verify-code.vue +++ /dev/null @@ -1,278 +0,0 @@ -<template> - <view class="xt__verify-code"> - <!-- 杈撳叆妗� --> - <input - id="xt__input" - :value="code" - class="xt__input" - :focus="isFocus" - :password="isPassword" - :type="inputType" - :maxlength="size" - @input="input" - @focus="inputFocus" - @blur="inputBlur" - /> - - <!-- 鍏夋爣 --> - <view - id="xt__cursor" - v-if="cursorVisible && type !== 'middle'" - class="xt__cursor" - :style="{ left: codeCursorLeft[code.length] + 'px', height: cursorHeight + 'px', backgroundColor: cursorColor }" - ></view> - - <!-- 杈撳叆妗� - 缁� --> - <view id="xt__input-ground" class="xt__input-ground"> - <template v-for="(item, index) in size"> - <view - :key="index" - :style="{ borderColor: code.length === index && cursorVisible ? boxActiveColor : boxNormalColor }" - :class="['xt__box', `xt__box-${type + ''}`, `xt__box::after`]" - > - <view :style="{ borderColor: boxActiveColor }" class="xt__middle-line" v-if="type === 'middle' && !code[index]"></view> - <text class="xt__code-text">{{ code[index] | codeFormat(isPassword) }}</text> - </view> - </template> - </view> - </view> -</template> -<script> -/** - * @description 杈撳叆楠岃瘉鐮佺粍浠� - * @property {string} type = [box|middle|bottom] - 鏄剧ず绫诲瀷 榛樿锛歜ox -eg:bottom - * @property {string} inputType = [text|number] - 杈撳叆妗嗙被鍨� 榛樿锛歯umber -eg:number - * @property {number} size = [4|6] - 鏀寔鐨勯獙璇佺爜鏁伴噺 榛樿锛�6 -eg:6 - * @property {boolean} isFocus - 鏄惁绔嬪嵆鑱氱劍 榛樿锛歵rue - * @property {boolean} isPassword - 鏄惁浠ュ瘑鐮佸舰寮忔樉绀� 榛樿false -eg:false - * @property {string} cursorColor - 鍏夋爣棰滆壊 榛樿锛�#cccccc - * @property {string} boxNormalColor - 鍏夋爣鏈仛鐒﹀埌鐨勬鐨勯鑹� 榛樿锛�#cccccc - * @property {string} boxActiveColor - 鍏夋爣鑱氱劍鍒扮殑妗嗙殑棰滆壊 榛樿锛�#000000 - * @event {Function(data)} confirm - 杈撳叆瀹屾垚 - */ -export default { - name: 'xt-verify-code', - props: { - value: { - type: String, - default: () => '' - }, - type: { - type: String, - default: () => 'box' - }, - inputType: { - type: String, - default: () => 'number' - }, - size: { - type: Number, - default: () => 6 - }, - isFocus: { - type: Boolean, - default: () => true - }, - isPassword: { - type: Boolean, - default: () => false - }, - cursorColor: { - type: String, - default: () => '#cccccc' - }, - boxNormalColor: { - type: String, - default: () => '#cccccc' - }, - boxActiveColor: { - type: String, - default: () => '#000000' - } - }, - model: { - prop: 'value', - event: 'input' - }, - data() { - return { - cursorVisible: false, - cursorHeight: 35, - code: '', // 杈撳叆鐨勯獙璇佺爜 - codeCursorLeft: [] // 鍚戝乏绉诲姩鐨勮窛绂绘暟缁� - }; - }, - created() { - this.cursorVisible = this.isFocus; - }, - mounted() { - this.init(); - }, - methods: { - /** - * @description 鍒濆鍖� - */ - init() { - this.getCodeCursorLeft(); - this.setCursorHeight(); - }, - /** - * @description 鑾峰彇鍏冪礌鑺傜偣 - * @param {string} elm - 鑺傜偣鐨刬d銆乧lass 鐩稿綋浜� document.querySelect鐨勫弬鏁� -eg: #id - * @param {string} type = [single|array] - 鍗曚釜鍏冪礌鑾峰彇澶氫釜鍏冪礌 榛樿鏄崟涓厓绱� - * @param {Function} callback - 鍥炶皟鍑芥暟 - */ - getElement(elm, type = 'single', callback) { - uni - .createSelectorQuery() - .in(this) - [type === 'array' ? 'selectAll' : 'select'](elm) - .boundingClientRect() - .exec(data => { - callback(data[0]); - }); - }, - /** - * @description 璁$畻鍏夋爣鐨勯珮搴� - */ - setCursorHeight() { - this.getElement('.xt__box', 'single', boxElm => { - this.cursorHeight = boxElm.height * 0.6; - }); - }, - /** - * @description 鑾峰彇鍏夋爣鍦ㄦ瘡涓�涓猙ox鐨刲eft浣嶇疆 - */ - getCodeCursorLeft() { - // 鑾峰彇鐖剁骇妗嗙殑浣嶇疆淇℃伅 - this.getElement('#xt__input-ground', 'single', parentElm => { - const parentLeft = parentElm.left; - // 鑾峰彇鍚勪釜box淇℃伅 - this.getElement('.xt__box', 'array', elms => { - this.codeCursorLeft = []; - elms.forEach(elm => { - this.codeCursorLeft.push(elm.left - parentLeft + elm.width / 2); - }); - }); - }); - }, - - // 杈撳叆妗嗚緭鍏ュ彉鍖栫殑鍥炶皟 - input(e) { - const value = e.detail.value; - this.cursorVisible = value.length !== this.size; - this.$emit('input', value); - this.inputSuccess(value); - }, - - // 杈撳叆瀹屾垚鍥炶皟 - inputSuccess(value) { - if (value.length === this.size) { - this.$emit('confirm', value); - } - }, - // 杈撳叆鑱氱劍 - inputFocus() { - this.cursorVisible = this.code.length !== this.size; - }, - // 杈撳叆澶卞幓鐒︾偣 - inputBlur() { - this.cursorVisible = false; - } - }, - watch: { - value(val) { - this.code = val; - } - }, - filters: { - codeFormat(val, isPassword) { - let value = ''; - if (val) { - value = isPassword ? '*' : val; - } - return value; - } - } -}; -</script> -<style lang="scss" scoped> -.xt__verify-code { - position: relative; - width: 100%; - box-sizing: border-box; - - .xt__input { - height: 100%; - width: 200%; - position: absolute; - left: -100%; - z-index: 1; - } - .xt__cursor { - position: absolute; - top: 50%; - transform: translateY(-50%); - display: inline-block; - width: 2px; - animation-name: cursor; - animation-duration: 0.8s; - animation-iteration-count: infinite; - } - - .xt__input-ground { - display: flex; - justify-content: space-between; - align-items: center; - width: 100%; - box-sizing: border-box; - .xt__box { - position: relative; - display: inline-block; - width: 76rpx; - height: 112rpx; - &-bottom { - border-bottom-width: 2px; - border-bottom-style: solid; - } - - &-box { - border-width: 2px; - border-style: solid; - } - - &-middle { - border: none; - } - - .xt__middle-line { - position: absolute; - top: 50%; - left: 50%; - width: 50%; - transform: translate(-50%, -50%); - border-bottom-width: 2px; - border-bottom-style: solid; - } - - .xt__code-text { - position: absolute; - top: 50%; - left: 50%; - font-size:52rpx; - transform: translate(-50%, -50%); - } - } - } -} - -@keyframes cursor { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - } -} -</style> diff --git a/pages.json b/pages.json index 4f57a8c..5c4714b 100644 --- a/pages.json +++ b/pages.json @@ -1,1719 +1,1913 @@ { - "easycom": { - "autoscan": true, - "custom": { - "^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": [ - // "components/uview-components" - // ] // 棰勪笅杞藉垎鍖呯殑 root 鎴� name銆俖_APP__ 琛ㄧず涓诲寘 - // } - // }, - "pages": [ - // 绗竴涓氨鏄椤� - { - "path": "pages/tabbar/index/home", - "style": { - // "navigationBarTitleText" : "瑙嗛", - "enablePullDownRefresh": false, - "navigationStyle": "custom" - // 闅愯棌椤堕儴瀵艰埅鏍� - } - }, - // { - // "path": "pages/tabbar/home/index", - // "style": { - // "navigationBarTitleText": "棣栭〉", - // "navigationStyle": "custom", // 闅愯棌绯荤粺瀵艰埅鏍� - // "navigationBarTextStyle": "black", - // "enablePullDownRefresh": true - // } - // }, - // { - // "path": "pages/kitchen/KitchenVideo", - // "style": { - // "navigationBarTitleText": "绁炲帹", - // "navigationStyle": "custom" // 闅愯棌绯荤粺瀵艰埅鏍� - // } - // }, - // { - // "path": "pages/tabbar/home/title", - // "style": { - // "navigationBarTitleText": "娑堟伅" - // } - // }, - { - "path": "pages/tabbar/cart/cartList", - "style": { - "navigationBarTitleText": "璐墿杞�", - "navigationStyle": "custom", - // 闅愯棌绯荤粺瀵艰埅鏍� - "navigationBarBackgroundColor": "#fff", - "enablePullDownRefresh": true, - //瀹炵幇涓嬫媺鍒锋柊鏍峰紡 - "componentPlaceholder": { - "u-navbar": "view", - "u-checkbox-group": "view", - "u-checkbox": "view", - "u-swipe-action": "view", - "u-image": "view", - "u-icon": "view", - "u-count-down": "view", - "u-modal": "view", - "u-popup": "view", - "u-toast": "view" - } - } - }, - // { - // // "path": "pages/tabbar/category/category", - // "path": "pages/commodity-square/commoditySquare", + "easycom": { + "autoscan": true, + "custom": { + "^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": [ + // "components/uview-components" + // ] // 棰勪笅杞藉垎鍖呯殑 root 鎴� name銆俖_APP__ 琛ㄧず涓诲寘 + // } + // }, + "pages": [ + // 绗竴涓氨鏄椤� + { + "path": "pages/tabbar/index/home", + "style": { + // "navigationBarTitleText" : "瑙嗛", + "enablePullDownRefresh": false, + "navigationStyle": "custom" + // 闅愯棌椤堕儴瀵艰埅鏍� + } + }, + // { + // "path": "pages/tabbar/home/index", + // "style": { + // "navigationBarTitleText": "棣栭〉", + // "navigationStyle": "custom", // 闅愯棌绯荤粺瀵艰埅鏍� + // "navigationBarTextStyle": "black", + // "enablePullDownRefresh": true + // } + // }, + // { + // "path": "pages/kitchen/KitchenVideo", + // "style": { + // "navigationBarTitleText": "绁炲帹", + // "navigationStyle": "custom" // 闅愯棌绯荤粺瀵艰埅鏍� + // } + // }, + // { + // "path": "pages/tabbar/home/title", + // "style": { + // "navigationBarTitleText": "娑堟伅" + // } + // }, + // { + // "path": "pages/tabbar/cart/cartList", + // "style": { + // "navigationBarTitleText": "璐墿杞�", + // "navigationStyle": "custom", + // // 闅愯棌绯荤粺瀵艰埅鏍� + // "navigationBarBackgroundColor": "#fff", + // "enablePullDownRefresh": true, + // //瀹炵幇涓嬫媺鍒锋柊鏍峰紡 + // "componentPlaceholder": { + // "u-navbar": "view", + // "u-checkbox-group": "view", + // "u-checkbox": "view", + // "u-swipe-action": "view", + // "u-image": "view", + // "u-icon": "view", + // "u-count-down": "view", + // "u-modal": "view", + // "u-popup": "view", + // "u-toast": "view" + // } + // } + // }, + // { + // // "path": "pages/tabbar/category/category", + // "path": "pages/commodity-square/commoditySquare", - // "style": { - // "navigationBarTitleText": "鍟嗗搧骞垮満", - // "navigationStyle": "custom", // 闅愯棌绯荤粺瀵艰埅鏍� - // "navigationBarTextStyle": "black", - // // "disableScroll": true, - // "bounce": "none", - // "scrollIndicator": "none", - // "componentPlaceholder": { - // "u-navbar": "view", - // "u-search": "view", - // "u-image": "view" - // } - // } - // }, - { - "path": "components/m-search-revision/m-search-revision", - "style": { - "navigationBarTitleText": "", - "navigationStyle": "custom", - "app-plus": { - //app椤甸潰涓嶆樉绀烘粴鍔ㄦ潯 - "scrollIndicator": "none", - "bottom": "0", - "contentAdjust": "false", - "bounce": "none", - "safearea": { - "bottom": "none" - } - }, - "componentPlaceholder": { - "u-icon": "view" - } - } - }, - { - "path": "components/m-goods-list/list", - "style": { - "navigationBarTitleText": "", - "navigationStyle": "custom", - "app-plus": { - //app椤甸潰涓嶆樉绀烘粴鍔ㄦ潯 - "scrollIndicator": "none", - "bottom": "0", - "contentAdjust": "false", - "bounce": "none", - "safearea": { - "bottom": "none" - } - }, - "componentPlaceholder": { - "u-image": "view", - "u-loading": "view", - "u-tag": "view", - "u-icon": "view" - } - } - }, - { - "path": "components/m-share/index", - "style": { - "navigationBarTitleText": "", - "navigationStyle": "custom", - "componentPlaceholder": { - "u-popup": "view", - "u-icon": "view" - } - } - }, - { - "path": "components/m-buy/goods", - "style": { - "navigationBarTitleText": "", - "componentPlaceholder": { - "u-popup": "view", - "u-image": "view", - "u-alert-tips": "view" - } - } - }, - { - "path": "components/m-take-down-sale-goods/index", - "style": { - "navigationBarTitleText": "", - "componentPlaceholder": { - "u-popup": "view" - } - } - }, - { - "path": "pages/navigation/search/searchPage", - "style": { - "navigationBarTitleText": "鎼滅储", - "navigationStyle": "custom", - "app-plus": { - //app椤甸潰涓嶆樉绀烘粴鍔ㄦ潯 - "scrollIndicator": "none", - "bottom": "0", - "contentAdjust": "false", - "bounce": "none", - "safearea": { - "bottom": "none" - } - }, - "componentPlaceholder": { - "u-navbar": "view", - "u-popup": "view", - "u-input": "view", - "u-back-top": "view" - } - } - }, - { - "path": "pages/tabbar/user/my", - "style": { - "navigationBarTextStyle": "white", - "enablePullDownRefresh": true, - "navigationStyle": "custom", - "componentPlaceholder": { - "u-icon": "view", - "u-row": "view", - "u-col": "view" - } - } - }, - { - "path": "pages/tabbar/home/web-view", - "style": {} - }, - { - "path": "pages/tabbar/special/special", - "style": { - "navigationBarTitleText": "涓撻" - } - }, - { - "path": "pages/tabbar/video/video", - "style": { - "navigationBarTitleText": "鍙戝竷瑙嗛", - "enablePullDownRefresh": false, - "componentPlaceholder": { - "u-icon": "view", - "u-button": "view", - "u-form": "view", - "u-form-item": "view", - "u-input": "view", - "u-popup": "view", - "u-search": "view" - } - } - }, - { - "path": "pages/goods-manager/goodsList/goodsList", - "style": { - "enablePullDownRefresh": true, - "navigationBarTitleText": "鍟嗗搧鍒楄〃", - "componentPlaceholder": { - "u-icon": "view", - "u-button": "view", - "u-form": "view", - "u-form-item": "view", - "u-input": "view", - "u-popup": "view", - "u-search": "view" - } - } - }, - // { - // "path": "pages/supplier/publish-goods/publishGoods", - // "style": { - // "enablePullDownRefresh": true, - // "navigationBarTitleText": "鏂板鍟嗗搧", - // "componentPlaceholder": { - // "u-icon": "view", - // "u-button": "view", - // "u-form": "view", - // "u-form-item": "view", - // "u-input": "view", - // "u-popup": "view", - // "u-search": "view", - // "u-upload": "view" - // } - // } - // }, - { - "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": "鐢ㄦ埛鏉冮檺", - // "componentPlaceholder": { - // "u-icon": "view", - // "u-button": "view", - // "u-form": "view", - // "u-form-item": "view", - // "u-input": "view", - // "u-popup": "view", - // "u-search": "view", - // "u-loading": "view", - // "u-navbar": "view", - // "u-loadmore":"view" - // } - // } - // }, - { - "path": "pages/news/news", - "style": { - "navigationBarTitleText": "鏂伴椈", - "componentPlaceholder": { - "u-icon": "view", - "u-button": "view", - "u-form": "view", - "u-form-item": "view", - "u-input": "view", - "u-popup": "view", - "u-search": "view", - "u-loading": "view", - "u-navbar": "view", - "u-loadmore": "view" - } - } - }, - { - "path": "pages/news/detail", - "style": { - "navigationBarTitleText": "鏂伴椈璇︽儏", - "componentPlaceholder": { - "u-icon": "view", - "u-button": "view", - "u-form": "view", - "u-form-item": "view", - "u-input": "view", - "u-popup": "view", - "u-search": "view", - "u-loading": "view", - "u-navbar": "view", - "u-loadmore": "view" - } - } - } - // { - // "path": "pages/customerManager/customerManager", - // "style": { - // "navigationBarTitleText": "瀹㈡埛绠$悊", - // "componentPlaceholder": { - // "u-icon": "view", - // "u-button": "view", - // "u-form": "view", - // "u-form-item": "view", - // "u-input": "view", - // "u-popup": "view", - // "u-search": "view", - // "u-loading": "view", - // "u-checkbox": "view", - // "u-checkbox-group": "view", - // "u-navbar": "view", - // "u-loadmore":"view" - // } - // } - // }, - // { - // "path": "pages/userPermissions/addStoreMember", - // "style": { - // "navigationBarTitleText": "", - // "navigationStyle": "custom", // 闅愯棌椤堕儴瀵艰埅鏍� - // "componentPlaceholder": { - // "u-icon": "view", - // "u-button": "view", - // "u-form": "view", - // "u-form-item": "view", - // "u-input": "view", - // "u-popup": "view", - // "u-search": "view", - // "u-loading": "view", - // "u-checkbox": "view", - // "u-checkbox-group": "view", - // "u-navbar": "view", - // "u-loadmore":"view", - // "u-switch": "view" - // } - // } - // }, - // { - // "path" : "pages/supplier/publish-goods/goodsInfo", - // "style" : - // { - // "navigationBarTitleText" : "" - // } - // } - ], - "subPackages": [ - // { - // "root": "components/uview-components", // 蹇呴』涓巔reloadRule涓殑鍚嶇О瀹屽叏涓�鑷� - // "name": "uview-components", - // "pages": [ - // { - // "path": "pages/empty-page/empty-page", - // "style": { - // "navigationBarTitleText": "", - // "disableScroll": true - // } - // } - // ] - // }, - { - "root": "pages/mine", - "pages": [ - { - "path": "signIn", - "style": { - "navigationBarTitleText": "绛惧埌", - "componentPlaceholder": { - "u-icon": "view" - } - } - }, - { - "path": "myTracks", - "style": { - "navigationBarTitleText": "鎴戠殑瓒宠抗", - "enablePullDownRefresh": true, - "navigationStyle": "custom", - "componentPlaceholder": { - "u-navbar": "view", - "u-notice-bar": "view", - "u-empty": "view", - "u-swipe-action": "view", - "u-checkbox-group": "view", - "u-checkbox": "view" - } - } - }, - { - "path": "myCollect", - "style": { - "navigationBarTitleText": "鏀惰棌", - "enablePullDownRefresh": true, - //涓嬫媺鍒锋柊 - "navigationStyle": "custom", - "app-plus": { - "scrollIndicator": "none" - }, - "componentPlaceholder": { - "u-navbar": "view", - "u-tabs": "view", - "u-empty": "view", - "u-swipe-action": "view", - "u-image": "view", - "u-loading": "view", - "u-tag": "view" - } - } - }, - { - "path": "distribution/list", - "style": { - "navigationBarTitleText": "鎺ㄥ箍鍒嗕剑", - "app-plus": { - //app椤甸潰涓嶆樉绀烘粴鍔ㄦ潯 - "scrollIndicator": "none" - }, - "componentPlaceholder": { - "u-swipe-action": "view", - "u-image": "view", - "u-modal": "view" - } - } - }, - { - "path": "distribution/withdrawal", - "style": { - "navigationBarTitleText": "鎻愮幇", - "app-plus": { - //app椤甸潰涓嶆樉绀烘粴鍔ㄦ潯 - "scrollIndicator": "none" - }, - "componentPlaceholder": { - "u-input": "view" - } - } - }, - { - "path": "distribution/join", - "style": { - "navigationBarTitleText": "鎺ㄥ箍璧勬牸鐢宠", - "navigationBarTextStyle": "black", - "app-plus": { - //app椤甸潰涓嶆樉绀烘粴鍔ㄦ潯 - "scrollIndicator": "none" - }, - "componentPlaceholder": { - "u-tabs": "view", - "u-form": "view", - "u-form-item": "view", - "u-input": "view", - "u-button": "view" - } - } - }, - { - "path": "distribution/history", - "style": { - "navigationBarTitleText": "鎻愮幇鍘嗗彶", - "componentPlaceholder": { - "u-loadmore": "view" - } - } - }, - { - "path": "distribution/auth", - "style": { - "navigationBarTitleText": "浼氬憳瀹炲悕璁よ瘉", - "componentPlaceholder": { - "u-form": "view", - "u-form-item": "view", - "u-input": "view", - "u-button": "view" - } - } - }, - { - "path": "distribution/achievement", - "style": { - "navigationBarTitleText": "鎴戠殑鍒嗛攢涓氱哗" - } - }, - { - "path": "distribution/home", - "style": { - "navigationBarTitleText": "鎺ㄥ箍鍒嗕剑", - "componentPlaceholder": { - "u-icon": "view" - } - } - }, - { - "path": "deposit/index", - "style": { - "navigationStyle": "custom" - } - }, - { - "path": "deposit/operation", - "style": { - "navigationStyle": "custom" - } - }, - { - "path": "deposit/recharge", - "style": { - "navigationBarTitleText": "鍏呭�奸噾棰�" - } - }, - { - "path": "deposit/withdrawal", - "style": { - "navigationBarTitleText": "鎻愮幇閲戦" - } - }, - { - "path": "deposit/info", - "style": { - "navigationBarTitleText": "棰勫瓨娆捐鎯�" - } - }, - { - "path": "address/address", - "style": { - "enablePullDownRefresh": true, - "navigationBarTitleText": "鍦板潃绠$悊", - "componentPlaceholder": { - "u-empty": "view", - "u-icon": "view", - "u-action-sheet": "view" - } - } - }, - { - "path": "address/storeAddress", - "style": { - "enablePullDownRefresh": true, - "navigationBarTitleText": "鑷彁鐐�" - } - }, - { - "path": "address/add", - "style": { - "navigationBarTitleText": "鏀惰揣浜�", - "componentPlaceholder": { - "u-form": "view", - "u-form-item": "view", - "u-input": "view", - "u-icon": "view", - "u-action-sheet": "view", - "u-checkbox-group": "view", - "u-checkbox": "view" - } - } - }, - { - "path": "address/addressManage", - "style": { - "navigationBarTitleText": "鍦板潃绠$悊", - "componentPlaceholder": { - "u-empty": "view", - "u-icon": "view", - "u-action-sheet": "view" - } - } - }, - { - "path": "set/versionFunctionList", - "style": { - "navigationBarTitleText": "鍔熻兘浠嬬粛" - } - }, - { - "path": "set/securityCenter/fingerLogin", - "style": { - "navigationBarTitleText": "鎸囩汗鐧诲綍" - } - }, - { - "path": "set/securityCenter/faceLogin", - "style": { - "navigationBarTitleText": "闈㈠鐧诲綍" - } - }, - { - "path": "set/securityCenter/editPassword", - "style": { - "navigationBarTitleText": "淇敼瀵嗙爜", - "app-plus": {} - } - }, - { - "path": "set/securityCenter/bindMobile", - "style": { - "navigationBarTitleText": "缁戝畾鎵嬫満鍙�", - "app-plus": {} - } - }, - { - "path": "im/list", - "style": { - "navigationStyle": "custom", - // 闅愯棌绯荤粺瀵艰埅鏍� - "enablePullDownRefresh": true, - "app-plus": {} - } - }, - { - "path": "im/index", - "style": { - "navigationStyle": "custom", - // 闅愯棌绯荤粺瀵艰埅鏍� - "enablePullDownRefresh": true, - "app-plus": {} - } - }, - { - "path": "set/feedBack", - "style": { - "navigationBarTitleText": "鎰忚鍙嶉", - "componentPlaceholder": { - "u-input": "view", - "u-upload": "view" - } - } - }, - { - "path": "set/securityCenter/securityCenter", - "style": { - "navigationBarTitleText": "瀹夊叏涓績" - } - }, - { - "path": "set/editionIntro", - "style": { - "navigationBarTitleText": "鍏充簬鎴戜滑", - "componentPlaceholder": { - "u-cell-group": "view", - "u-cell-item": "view" - } - } - }, - { - "path": "set/setUp", - "style": { - "navigationBarTitleText": "璁剧疆", - "componentPlaceholder": { - "u-image": "view", - "u-icon": "view", - "u-cell-group": "view", - "u-cell-item": "view" - } - } - }, - { - "path": "set/personMsg", - "style": { - "navigationBarTitleText": "涓汉淇℃伅", - "app-plus": { - "titleNView": { - "padding-right": "12", - "buttons": [ - { - "text": "淇濆瓨", - "fontSize": "16", - "width": "auto", - "color": "#FFFFFF" - } - ] - } - }, - "componentPlaceholder": { - "u-form": "view", - "u-form-item": "view", - "u-input": "view", - "u-radio-group": "view", - "u-radio": "view", - "u-picker": "view" - } - } - }, - { - "path": "help/tips", - "style": { - "navigationBarTitleText": "", - "componentPlaceholder": { - "u-parse": "view" - } - } - }, - { - "path": "point/myPoint", - "style": { - "navigationBarTitleText": "鎴戠殑绉垎", - "componentPlaceholder": { - "u-row": "view", - "u-col": "view" - } - } - }, - { - "path": "msgTips/main", - "style": { - "navigationBarTitleText": "娑堟伅涓績" - } - }, - { - "path": "msgTips/sysMsg/index", - "style": { - "navigationBarTitleText": "绯荤粺娑堟伅" - } - }, - { - "path": "msgTips/serviceMsg/index", - "style": { - "navigationBarTitleText": "瀹㈡湇璁板綍" - } - }, - { - "path": "msgTips/packageMsg/index", - "style": { - "navigationBarTitleText": "鐗╂祦娑堟伅" - } - }, - { - "path": "msgTips/packageMsg/logisticsDetail", - "style": { - "navigationBarTitleText": "璁㈠崟璺熻釜" - } - }, - { - "path": "activity/detail", - "style": { - "navigationBarTitleText": "娲诲姩璇︽儏", - "enablePullDownRefresh": true, - //涓嬫媺鍒锋柊 - "componentPlaceholder": { - "u-form": "view", - "u-form-item": "view", - "u-input": "view", - "u-icon": "view", - "u-action-sheet": "view", - "u-checkbox-group": "view", - "u-checkbox": "view", - "u-navbar": "view", - "u-button": "view", - "u-image": "view" - } - } - }, - { - "path": "activity/myActivity", - "style": { - "navigationBarTitleText": "鎴戠殑娲诲姩", - "enablePullDownRefresh": true, - //涓嬫媺鍒锋柊 - "componentPlaceholder": { - "u-form": "view", - "u-form-item": "view", - "u-input": "view", - "u-icon": "view", - "u-action-sheet": "view", - "u-checkbox-group": "view", - "u-checkbox": "view", - "u-navbar": "view", - "u-button": "view", - "u-image": "view" - } - } - }, - { - "path": "activity/reportActivity", - "style": { - "navigationBarTitleText": "娲诲姩", - "enablePullDownRefresh": true, - //涓嬫媺鍒锋柊 - "navigationStyle": "custom", - // 闅愯棌椤堕儴瀵艰埅鏍� - "componentPlaceholder": { - "u-form": "view", - "u-form-item": "view", - "u-input": "view", - "u-icon": "view", - "u-action-sheet": "view", - "u-checkbox-group": "view", - "u-checkbox": "view", - "u-navbar": "view", - "u-button": "view", - "u-image": "view", - "u-loadmore": "view" - } - } - }, - { - "path": "myCollect/myCollect", - "style": { - "navigationBarTitleText": "鎴戠殑鏀惰棌", - "enablePullDownRefresh": true, - //涓嬫媺鍒锋柊 - "componentPlaceholder": { - "u-icon": "view", - "u-button": "view", - "u-form": "view", - "u-form-item": "view", - "u-input": "view", - "u-popup": "view", - "u-search": "view", - "u-loading": "view", - "u-navbar": "view", - "u-image": "view", - "u-loadmore": "view" - } - } - }, - { - "path": "myAttention", - "style": { - "navigationBarTitleText": "鍏虫敞鍒楄〃", - "enablePullDownRefresh": true - } - } - ] - }, - { - "root": "pages/product", - "pages": [ - { - "path": "shopPage", - "style": { - "navigationBarTitleText": "" - } - }, - { - "path": "shopList", - "style": { - "navigationBarTitleText": "", - "navigationStyle": "custom" - } - }, - { - "path": "licencePhoto", - "style": { - "navigationBarTitleText": "钀ヤ笟鎵х収" - } - }, - { - "path": "shopPageGoods", - "style": { - "navigationBarTitleText": "", - "navigationStyle": "custom" - } - }, - { - "path": "goods", - "style": { - "backgroundColor": "#fff", - "navigationStyle": "custom", - "app-plus": { - // 灏嗗洖寮瑰睘鎬у叧鎺� - "bounce": "none", - // 绂佹椤甸潰婊氬姩 - "scrollIndicator": "none", - "safearea": { - "bottom": { - "offset": "none" - } - } - }, - "componentPlaceholder": { - "u-icon": "view", - "u-navbar": "view", - "u-popup": "view" - } - } - }, - { - "path": "askList", - "style": { - "navigationBarTitleText": "闂瓟涓撳尯" - } - }, - { - "path": "product/promotion/-promotion-details", - "style": { - "navigationBarTitleText": "", - "componentPlaceholder": { - "u-tag": "view" - } - } - }, - { - "path": "product/promotion/-promotion-assemble-promotions", - "style": { - "navigationBarTitleText": "", - "componentPlaceholder": { - "u-tag": "view", - "u-count-down": "view" - } - } - }, - { - "path": "product/promotion/-promotion-assemble-list", - "style": { - "navigationBarTitleText": "", - "componentPlaceholder": { - "u-image": "view", - "u-button": "view", - "u-empty": "view" - } - } - }, - { - "path": "product/goods/-goods-intro", - "style": { - "navigationBarTitleText": "", - "componentPlaceholder": { - "u-empty": "view", - "u-parse": "view" - } - } - }, - { - "path": "product/shop/-shop", - "style": { - "navigationBarTitleText": "", - "componentPlaceholder": { - "u-image": "view", - "u-loading": "view" - } - } - }, - { - "path": "product/evaluation/-evaluation", - "style": { - "navigationBarTitleText": "", - "componentPlaceholder": { - "u-avatar": "view", - "u-read-more": "view", - "u-image": "view", - "u-empty": "view" - } - } - }, - { - "path": "product/goods/-goods-swiper", - "style": { - "navigationBarTitleText": "", - "componentPlaceholder": { - "u-loading": "view", - "u-image": "view" - } - } - }, - { - "path": "product/popup/address", - "style": { - "navigationBarTitleText": "", - "componentPlaceholder": { - "u-popup": "view", - "u-icon": "view", - "u-empty": "view" - } - } - }, - { - //鍟嗗搧璇勪环 - "path": "comment", - "navigationStyle": "custom", - "style": { - "navigationBarTitleText": "鍟嗗搧璇勪环", - //app椤甸潰涓嶆樉绀烘粴鍔ㄦ潯 - "scrollIndicator": "none" - } - }, - { - // 瀹㈡湇 - "path": "customerservice/index", - "style": { - "navigationBarTitleText": "瀹㈡湇", - "usingComponents": { - // #ifdef MP-WEIXIN - "chat": "plugin://myPlugin/chat" - // #endif - } - } - } - ] - }, - { - "root": "pages/floor", - "pages": [ - { - "path": "empty" - } - ] - }, - { - "root": "pages/video", - "pages": [ - { - "path": "home-page", - "style": { - "navigationBarTitleText": "TA鐨勪富椤�" - } - }, - { - "path": "video-play", - "style": { - "navigationBarTitleText": "" - } - }, - { - "path": "home-page-edit", - "style": { - "navigationBarTitleText": "涓婚〉淇℃伅淇敼" - } - }, - { - "path": "video-edit", - "style": { - "navigationBarTitleText": "瑙嗛缂栬緫" - } - }, - { - "path": "video-goods-detail", - "style": { - "navigationBarTitleText": "瑙嗛鎺ㄨ崘鍟嗗搧", - "componentPlaceholder": { - "u-button": "view" - } - } - }, - { - "path": "video-search", - "style": { - "navigationBarTitleText": "" - } - } - ] - }, - { - "root": "pages/passport", - "pages": [ - { - "path": "login", - "style": { - "navigationBarTitleText": "", - "navigationStyle": "custom", - "app-plus": { - "titleNView": false, - "animationType": "slide-in-bottom", - "scrollIndicator": "none", - "safearea": { - "bottom": { - "offset": "none" - } - } - } - } - }, - { - "path": "entry/seller/index", - "style": { - "navigationBarTitleText": "搴楅摵鍏ラ┗", - "navigationStyle": "custom", - "componentPlaceholder": { - "u-navbar": "view" - } - } - }, - { - "path": "entry/seller/step1", - "style": { - "navigationBarTitleText": "", - "navigationStyle": "custom", - "componentPlaceholder": { - "u-form": "view", - "u-form-item": "view", - "u-input": "view", - "u-upload": "view" - } - } - }, - { - "path": "entry/seller/step2", - "style": { - "navigationBarTitleText": "", - "navigationStyle": "custom", - "componentPlaceholder": { - "u-form": "view", - "u-form-item": "view", - "u-input": "view" - } - } - }, - { - "path": "entry/seller/step3", - "style": { - "navigationBarTitleText": "", - "navigationStyle": "custom", - "componentPlaceholder": { - "u-form": "view", - "u-form-item": "view", - "u-input": "view", - "u-upload": "view", - "u-select": "view" - } - } - }, - { - "path": "entry/seller/control", - "style": { - "navigationBarTitleText": "", - "navigationStyle": "custom", - "componentPlaceholder": { - "u-navbar": "view" - } - } - }, - { - "path": "article", - "style": { - "navigationBarTitleText": "鏂囩珷" - } - }, - { - "path": "wechatMPLogin", - "style": { - "navigationBarTitleText": "灏忕▼搴忕櫥褰�", - "navigationStyle": "custom", - "navigationBarTextStyle": "black", - "componentPlaceholder": { - "u-navbar": "view", - "u-modal": "view", - "u-checkbox": "view" - } - } - }, - { - "path": "scannerCodeLoginConfirm", - "style": { - "navigationBarTitleText": "鎵爜鐧诲綍", - "navigationStyle": "custom", - "navigationBarTextStyle": "black" - } - } - ] - }, - { - "root": "pages/promotion", - "pages": [ - { - "path": "seckill", - "style": { - "navigationBarTitleText": "闄愭椂鎶㈣喘", - "navigationStyle": "custom", - // 闅愯棌绯荤粺瀵艰埅鏍� - "navigationBarTextStyle": "black", - "app-plus": { - "titleNView": { - "homeButton": true - } - } - } - }, - { - "path": "joinGroup", - "style": { - "navigationBarTitleText": "鎷煎洟娲诲姩", - "navigationStyle": "custom", - // 闅愯棌绯荤粺瀵艰埅鏍� - "navigationBarTextStyle": "black", - "app-plus": { - // 灏嗗洖寮瑰睘鎬у叧鎺� - "bounce": "none" - } - } - }, - { - "path": "lives", - "style": { - "navigationStyle": "custom", - "navigationBarTextStyle": "black" - } - }, - { - "path": "bargain/list", - "style": { - "navigationStyle": "custom", - "navigationBarTextStyle": "white" - } - }, - { - "path": "bargain/detail", - "style": { - "navigationStyle": "custom", - "navigationBarTextStyle": "white" - } - }, - { - "path": "bargain/log", - "style": { - "navigationBarTitleText": "鐮嶄环璁板綍", - "componentPlaceholder": { - "u-image": "view", - "u-empty": "view" - } - } - }, - { - "path": "point/detail", - "style": { - "navigationStyle": "custom", - "navigationBarTextStyle": "white" - } - }, - { - "path": "point/pointList", - "style": { - "navigationBarTitleText": "绉垎鍟嗗煄" - } - } - ] - }, - { - "root": "pages/cart", - "pages": [ - { - "path": "coupon/myCoupon", - "style": { - "navigationBarTitleText": "鎴戠殑浼樻儬鍒�", - "app-plus": { - "bounce": "coupon/none" - }, - "componentPlaceholder": { - "u-empty": "view", - "u-icon": "view" - } - } - }, - { - "path": "coupon/couponDetail", - "style": { - "navigationBarTitleText": "浼樻儬鍒歌鎯�" - } - }, - { - "path": "coupon/index", - "style": { - "navigationBarTitleText": "浼樻儬鍒�" - } - }, - { - "path": "coupon/couponCenter", - "style": { - "navigationBarTitleText": "棰嗗埜涓績", - "enablePullDownRefresh": true, - "componentPlaceholder": { - "u-empty": "view" - } - } - }, - { - "path": "payment/payOrder", - "style": { - "navigationBarTitleText": "鏀粯璁㈠崟", - "app-plus": { - "popGesture": "none" - //绂佹渚ф粦閫�鍑� - } - } - }, - { - "path": "payment/success", - "style": { - "navigationBarTitleText": "鏀粯鎴愬姛", - "navigationStyle": "custom", - // 闅愯棌绯荤粺瀵艰埅鏍� - "navigationBarTextStyle": "white", - "app-plus": { - "popGesture": "none", - //绂佹渚ф粦閫�鍑� - "titleNView": false - } - } - }, - { - "path": "payment/shareOrderGoods", - "style": { - "navigationBarTitleText": "", - "app-plus": {} - } - } - ] - }, - { - "root": "pages/order", - "pages": [ - { - "path": "complain/complain", - "style": { - "navigationBarTitleText": "璁㈠崟鍟嗗搧鎶曡瘔" - } - }, - { - "path": "complain/complainInfo", - "style": { - "navigationBarTitleText": "鎶曡瘔璇︽儏" - } - }, - { - "path": "invoice/setInvoice", - "style": { - "navigationBarTitleText": "", - "navigationStyle": "custom", - "componentPlaceholder": { - "u-popup": "view", - "u-input": "view" - } - } - }, - { - "path": "complain/complainList", - "style": { - "navigationBarTitleText": "鎶曡瘔鍒楄〃", - "componentPlaceholder": { - "u-line": "view", - "u-image": "view", - "u-tag": "view", - "u-empty": "view", - "u-modal": "view" - } - } - }, - { - "path": "myOrder", - "style": { - "navigationBarTitleText": "鎴戠殑璁㈠崟", - "enablePullDownRefresh": true, - "app-plus": { - "bounce": "none" - }, - "componentPlaceholder": { - "u-empty": "view", - "u-modal": "view", - "u-image": "view", - "u-popup": "view", - "u-radio-group": "view", - "u-radio": "view", - "u-button": "view", - "u-toast": "view", - "u-modal": "view" - } - } - }, - { - "path": "invoice/invoiceDetail", - "style": { - "navigationBarTitleText": "鍙戠エ璇︽儏" - } - }, - { - "path": "orderDetail", - "style": { - "navigationBarTitleText": "璁㈠崟璇︽儏" - } - }, - { - "path": "deliverDetail", - "style": { - "navigationBarTitleText": "鐗╂祦璇︽儏" - } - }, - { - "path": "evaluate/evaluateDetail", - "style": { - "navigationBarTitleText": "璇勪环璇︽儏" - } - }, - { - "path": "evaluate/releaseEvaluate", - "style": { - "navigationBarTitleText": "鍙戝竷璇勪环" - } - }, - { - "path": "evaluate/myEvaluate", - "style": { - "navigationBarTitleText": "鎴戠殑璇勪环", - "componentPlaceholder": { - "u-empty": "view", - "u-tabs": "view", - "u-image": "view", - "u-read-more": "view", - "u-tag": "view" - } - } - }, - { - "path": "afterSales/applyProgress", - "style": { - "navigationBarTitleText": "鍞悗鏈嶅姟" - } - }, - { - "path": "afterSales/applyDetail", - "style": { - "navigationBarTitleText": "鍞悗鏈嶅姟" - } - }, - { - "path": "afterSales/applySuccess", - "style": { - "navigationBarTitleText": "鎻愪氦鎴愬姛", - "app-plus": { - "bounce": "none", - "titleNView": { - "titleColor": "#FFFFFF", - "buttons": [ - { - "text": "瀹屾垚", - "fontSize": "14", - "color": "#FFFFFF", - "width": "36px" - // "background": "rgba(0,0,0,0)" - } - ] - } - } - } - }, - { - "path": "afterSales/afterSalesDetailExpress" - }, - { - "path": "afterSales/afterSalesSelect", - "style": { - "navigationBarTitleText": "鐢宠鍞悗" - } - }, - { - "path": "afterSales/afterSalesDetail", - "style": { - "navigationBarTitleText": "鐢宠鍞悗" - } - }, - { - "path": "afterSales/afterSales", - "style": { - "navigationBarTitleText": "鍞悗绠$悊", - "enablePullDownRefresh": true, - "componentPlaceholder": { - "u-modal": "view", - "u-tabs": "view", - "u-image": "view", - "u-search": "view", - "u-icon": "view", - "u-loadmore": "view" - } - } - }, - { - "path": "fillorder", - "style": { - "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": "澶у仴搴�", - "navigationStyle": "custom" - } - } - ] - }, - { - "root": "pages/kitchen", - "pages": [ - { - "path": "KitchenVideo", - "style": { - "navigationBarTitleText": "绁炲帹", - "navigationStyle": "custom" - // 闅愯棌绯荤粺瀵艰埅鏍� - } - } - ] - }, - { - "root": "pages/supplier/suppler-order", - "pages": [ - { - "path": "suppler-order", - "style": { - "navigationBarTitleText": "渚涘簲鍟嗙" - // "navigationStyle": "custom" - } - }, - { - "path": "order-detail", - "style": { - "navigationBarTitleText": "璁㈠崟璇︽儏" - // "navigationStyle": "custom" - } - } - ] - }, - { - "root": "pages/supplier/publish-goods", - "pages": [ - { - "path": "publishGoods", - "style": { - "enablePullDownRefresh": true, - "navigationBarTitleText": "鏂板鍟嗗搧", - "componentPlaceholder": { - "u-icon": "view", - "u-button": "view", - "u-form": "view", - "u-form-item": "view", - "u-input": "view", - "u-popup": "view", - "u-search": "view", - "u-upload": "view" - } - } - }, - { - "path": "goodsInfo", - "style": { - "navigationBarTitleText": "" - } - } - ] - }, - { - "root": "pages/userPermissions", - "pages": [ - { - "path": "addStoreMember", - "style": { - "navigationBarTitleText": "", - "navigationStyle": "custom", - // 闅愯棌椤堕儴瀵艰埅鏍� - "componentPlaceholder": { - "u-icon": "view", - "u-button": "view", - "u-form": "view", - "u-form-item": "view", - "u-input": "view", - "u-popup": "view", - "u-search": "view", - "u-loading": "view", - "u-checkbox": "view", - "u-checkbox-group": "view", - "u-navbar": "view", - "u-loadmore": "view", - "u-switch": "view" - } - } - }, - { - "path": "userPermissions", - "style": { - "navigationBarTitleText": "鐢ㄦ埛鏉冮檺", - "componentPlaceholder": { - "u-icon": "view", - "u-button": "view", - "u-form": "view", - "u-form-item": "view", - "u-input": "view", - "u-popup": "view", - "u-search": "view", - "u-loading": "view", - "u-navbar": "view", - "u-loadmore": "view" - } - } - } - ] - }, - { - "root": "pages/commodity-square", - "pages": [ - { - "path": "commoditySquare", - "style": { - "navigationBarTitleText": "鍟嗗搧骞垮満", - "navigationStyle": "custom", - // 闅愯棌绯荤粺瀵艰埅鏍� - "navigationBarTextStyle": "black", - // "disableScroll": true, - "bounce": "none", - "scrollIndicator": "none", - "componentPlaceholder": { - "u-navbar": "view", - "u-search": "view", - "u-image": "view" - } - } - } - ] - } - ], - "globalStyle": { - "navigationBarTextStyle": "black", - "navigationBarTitleText": "缁挎弧绛�", - "titleColor": "#303133", - "navigationBarBackgroundColor": "#fff", - "backgroundColor": "#fff", - "color": "#FFFFFF", - "app-plus": { - // 鍏ㄥ眬鍏抽棴鍥炲脊鍔熻兘 - "bounce": "none" - } + // "style": { + // "navigationBarTitleText": "鍟嗗搧骞垮満", + // "navigationStyle": "custom", // 闅愯棌绯荤粺瀵艰埅鏍� + // "navigationBarTextStyle": "black", + // // "disableScroll": true, + // "bounce": "none", + // "scrollIndicator": "none", + // "componentPlaceholder": { + // "u-navbar": "view", + // "u-search": "view", + // "u-image": "view" + // } + // } + // }, + { + "path": "components/m-search-revision/m-search-revision", + "style": { + "navigationBarTitleText": "", + "navigationStyle": "custom", + "app-plus": { + //app椤甸潰涓嶆樉绀烘粴鍔ㄦ潯 + "scrollIndicator": "none", + "bottom": "0", + "contentAdjust": "false", + "bounce": "none", + "safearea": { + "bottom": "none" + } + }, + "componentPlaceholder": { + "u-icon": "view" + } + } + }, + // { + // "path": "components/m-goods-list/list", + // "style": { + // "navigationBarTitleText": "", + // "navigationStyle": "custom", + // "app-plus": { + // //app椤甸潰涓嶆樉绀烘粴鍔ㄦ潯 + // "scrollIndicator": "none", + // "bottom": "0", + // "contentAdjust": "false", + // "bounce": "none", + // "safearea": { + // "bottom": "none" + // } + // }, + // "componentPlaceholder": { + // "u-image": "view", + // "u-loading": "view", + // "u-tag": "view", + // "u-icon": "view" + // } + // } + // }, + { + "path": "components/m-share/index", + "style": { + "navigationBarTitleText": "", + "navigationStyle": "custom", + "componentPlaceholder": { + "u-popup": "view", + "u-icon": "view" + } + } + } + // , + // { + // "path": "components/m-buy/goods", + // "style": { + // "navigationBarTitleText": "", + // "componentPlaceholder": { + // "u-popup": "view", + // "u-image": "view", + // "u-alert-tips": "view" + // } + // } + // } + // { + // "path": "components/m-take-down-sale-goods/index", + // "style": { + // "navigationBarTitleText": "", + // "componentPlaceholder": { + // "u-popup": "view" + // } + // } + // } + // { + // "path": "pages/navigation/search/searchPage", + // "style": { + // "navigationBarTitleText": "鎼滅储", + // "navigationStyle": "custom", + // "app-plus": { + // //app椤甸潰涓嶆樉绀烘粴鍔ㄦ潯 + // "scrollIndicator": "none", + // "bottom": "0", + // "contentAdjust": "false", + // "bounce": "none", + // "safearea": { + // "bottom": "none" + // } + // }, + // "componentPlaceholder": { + // "u-navbar": "view", + // "u-popup": "view", + // "u-input": "view", + // "u-back-top": "view" + // } + // } + // }, + // { + // "path": "pages/tabbar/user/my", + // "style": { + // "navigationBarTextStyle": "white", + // "enablePullDownRefresh": true, + // "navigationStyle": "custom", + // "componentPlaceholder": { + // "u-icon": "view", + // "u-row": "view", + // "u-col": "view" + // } + // } + // } + // { + // "path": "pages/tabbar/home/web-view", + // "style": {} + // } + // { + // "path": "pages/tabbar/special/special", + // "style": { + // "navigationBarTitleText": "涓撻" + // } + // }, + // { + // "path": "pages/tabbar/video/video", + // "style": { + // "navigationBarTitleText": "鍙戝竷瑙嗛", + // "enablePullDownRefresh": false, + // "componentPlaceholder": { + // "u-icon": "view", + // "u-button": "view", + // "u-form": "view", + // "u-form-item": "view", + // "u-input": "view", + // "u-popup": "view", + // "u-search": "view" + // } + // } + // }, + // { + // "path": "pages/goods-manager/goodsList/goodsList", + // "style": { + // "enablePullDownRefresh": true, + // "navigationBarTitleText": "鍟嗗搧鍒楄〃", + // "componentPlaceholder": { + // "u-icon": "view", + // "u-button": "view", + // "u-form": "view", + // "u-form-item": "view", + // "u-input": "view", + // "u-popup": "view", + // "u-search": "view" + // } + // } + // }, + // { + // "path": "pages/supplier/publish-goods/publishGoods", + // "style": { + // "enablePullDownRefresh": true, + // "navigationBarTitleText": "鏂板鍟嗗搧", + // "componentPlaceholder": { + // "u-icon": "view", + // "u-button": "view", + // "u-form": "view", + // "u-form-item": "view", + // "u-input": "view", + // "u-popup": "view", + // "u-search": "view", + // "u-upload": "view" + // } + // } + // }, + // { + // "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": "鐢ㄦ埛鏉冮檺", + // "componentPlaceholder": { + // "u-icon": "view", + // "u-button": "view", + // "u-form": "view", + // "u-form-item": "view", + // "u-input": "view", + // "u-popup": "view", + // "u-search": "view", + // "u-loading": "view", + // "u-navbar": "view", + // "u-loadmore":"view" + // } + // } + // }, + // { + // "path": "pages/news/news", + // "style": { + // "navigationBarTitleText": "鏂伴椈", + // "componentPlaceholder": { + // "u-icon": "view", + // "u-button": "view", + // "u-form": "view", + // "u-form-item": "view", + // "u-input": "view", + // "u-popup": "view", + // "u-search": "view", + // "u-loading": "view", + // "u-navbar": "view", + // "u-loadmore": "view" + // } + // } + // }, + // { + // "path": "pages/news/detail", + // "style": { + // "navigationBarTitleText": "鏂伴椈璇︽儏", + // "componentPlaceholder": { + // "u-icon": "view", + // "u-button": "view", + // "u-form": "view", + // "u-form-item": "view", + // "u-input": "view", + // "u-popup": "view", + // "u-search": "view", + // "u-loading": "view", + // "u-navbar": "view", + // "u-loadmore": "view" + // } + // } + // } + // { + // "path": "pages/customerManager/customerManager", + // "style": { + // "navigationBarTitleText": "瀹㈡埛绠$悊", + // "componentPlaceholder": { + // "u-icon": "view", + // "u-button": "view", + // "u-form": "view", + // "u-form-item": "view", + // "u-input": "view", + // "u-popup": "view", + // "u-search": "view", + // "u-loading": "view", + // "u-checkbox": "view", + // "u-checkbox-group": "view", + // "u-navbar": "view", + // "u-loadmore":"view" + // } + // } + // }, + // { + // "path": "pages/userPermissions/addStoreMember", + // "style": { + // "navigationBarTitleText": "", + // "navigationStyle": "custom", // 闅愯棌椤堕儴瀵艰埅鏍� + // "componentPlaceholder": { + // "u-icon": "view", + // "u-button": "view", + // "u-form": "view", + // "u-form-item": "view", + // "u-input": "view", + // "u-popup": "view", + // "u-search": "view", + // "u-loading": "view", + // "u-checkbox": "view", + // "u-checkbox-group": "view", + // "u-navbar": "view", + // "u-loadmore":"view", + // "u-switch": "view" + // } + // } + // }, + // { + // "path" : "pages/supplier/publish-goods/goodsInfo", + // "style" : + // { + // "navigationBarTitleText" : "" + // } + // } + ], + "subPackages": [ + // { + // "root": "components/uview-components", // 蹇呴』涓巔reloadRule涓殑鍚嶇О瀹屽叏涓�鑷� + // "name": "uview-components", + // "pages": [ + // { + // "path": "pages/empty-page/empty-page", + // "style": { + // "navigationBarTitleText": "", + // "disableScroll": true + // } + // } + // ] + // }, + { + "root": "pages/mine", + "pages": [ + { + "path": "signIn", + "style": { + "navigationBarTitleText": "绛惧埌", + "componentPlaceholder": { + "u-icon": "view" + } + } + }, + { + "path": "myTracks", + "style": { + "navigationBarTitleText": "鎴戠殑瓒宠抗", + "enablePullDownRefresh": true, + "navigationStyle": "custom", + "componentPlaceholder": { + "u-navbar": "view", + "u-notice-bar": "view", + "u-empty": "view", + "u-swipe-action": "view", + "u-checkbox-group": "view", + "u-checkbox": "view" + } + } + }, + { + "path": "myCollect", + "style": { + "navigationBarTitleText": "鏀惰棌", + "enablePullDownRefresh": true, + //涓嬫媺鍒锋柊 + "navigationStyle": "custom", + "app-plus": { + "scrollIndicator": "none" + }, + "componentPlaceholder": { + "u-navbar": "view", + "u-tabs": "view", + "u-empty": "view", + "u-swipe-action": "view", + "u-image": "view", + "u-loading": "view", + "u-tag": "view" + } + } + }, + { + "path": "distribution/list", + "style": { + "navigationBarTitleText": "鎺ㄥ箍鍒嗕剑", + "app-plus": { + //app椤甸潰涓嶆樉绀烘粴鍔ㄦ潯 + "scrollIndicator": "none" + }, + "componentPlaceholder": { + "u-swipe-action": "view", + "u-image": "view", + "u-modal": "view" + } + } + }, + { + "path": "distribution/withdrawal", + "style": { + "navigationBarTitleText": "鎻愮幇", + "app-plus": { + //app椤甸潰涓嶆樉绀烘粴鍔ㄦ潯 + "scrollIndicator": "none" + }, + "componentPlaceholder": { + "u-input": "view" + } + } + }, + { + "path": "distribution/join", + "style": { + "navigationBarTitleText": "鎺ㄥ箍璧勬牸鐢宠", + "navigationBarTextStyle": "black", + "app-plus": { + //app椤甸潰涓嶆樉绀烘粴鍔ㄦ潯 + "scrollIndicator": "none" + }, + "componentPlaceholder": { + "u-tabs": "view", + "u-form": "view", + "u-form-item": "view", + "u-input": "view", + "u-button": "view" + } + } + }, + { + "path": "distribution/history", + "style": { + "navigationBarTitleText": "鎻愮幇鍘嗗彶", + "componentPlaceholder": { + "u-loadmore": "view" + } + } + }, + { + "path": "distribution/auth", + "style": { + "navigationBarTitleText": "浼氬憳瀹炲悕璁よ瘉", + "componentPlaceholder": { + "u-form": "view", + "u-form-item": "view", + "u-input": "view", + "u-button": "view" + } + } + }, + { + "path": "distribution/achievement", + "style": { + "navigationBarTitleText": "鎴戠殑鍒嗛攢涓氱哗" + } + }, + { + "path": "distribution/home", + "style": { + "navigationBarTitleText": "鎺ㄥ箍鍒嗕剑", + "componentPlaceholder": { + "u-icon": "view" + } + } + }, + { + "path": "deposit/index", + "style": { + "navigationStyle": "custom" + } + }, + { + "path": "deposit/operation", + "style": { + "navigationStyle": "custom" + } + }, + { + "path": "deposit/recharge", + "style": { + "navigationBarTitleText": "鍏呭�奸噾棰�" + } + }, + { + "path": "deposit/withdrawal", + "style": { + "navigationBarTitleText": "鎻愮幇閲戦" + } + }, + { + "path": "deposit/info", + "style": { + "navigationBarTitleText": "棰勫瓨娆捐鎯�" + } + }, + { + "path": "address/address", + "style": { + "enablePullDownRefresh": true, + "navigationBarTitleText": "鍦板潃绠$悊", + "componentPlaceholder": { + "u-empty": "view", + "u-icon": "view", + "u-action-sheet": "view" + } + } + }, + { + "path": "address/storeAddress", + "style": { + "enablePullDownRefresh": true, + "navigationBarTitleText": "鑷彁鐐�" + } + }, + { + "path": "address/add", + "style": { + "navigationBarTitleText": "鏀惰揣浜�", + "componentPlaceholder": { + "u-form": "view", + "u-form-item": "view", + "u-input": "view", + "u-icon": "view", + "u-action-sheet": "view", + "u-checkbox-group": "view", + "u-checkbox": "view" + } + } + }, + { + "path": "address/addressManage", + "style": { + "navigationBarTitleText": "鍦板潃绠$悊", + "componentPlaceholder": { + "u-empty": "view", + "u-icon": "view", + "u-action-sheet": "view" + } + } + }, + { + "path": "set/versionFunctionList", + "style": { + "navigationBarTitleText": "鍔熻兘浠嬬粛" + } + }, + { + "path": "set/securityCenter/fingerLogin", + "style": { + "navigationBarTitleText": "鎸囩汗鐧诲綍" + } + }, + { + "path": "set/securityCenter/faceLogin", + "style": { + "navigationBarTitleText": "闈㈠鐧诲綍" + } + }, + { + "path": "set/securityCenter/editPassword", + "style": { + "navigationBarTitleText": "淇敼瀵嗙爜", + "app-plus": {} + } + }, + { + "path": "set/securityCenter/bindMobile", + "style": { + "navigationBarTitleText": "缁戝畾鎵嬫満鍙�", + "app-plus": {} + } + }, + { + "path": "im/list", + "style": { + "navigationStyle": "custom", + // 闅愯棌绯荤粺瀵艰埅鏍� + "enablePullDownRefresh": true, + "app-plus": {} + } + }, + { + "path": "im/index", + "style": { + "navigationStyle": "custom", + // 闅愯棌绯荤粺瀵艰埅鏍� + "enablePullDownRefresh": true, + "app-plus": {} + } + }, + { + "path": "set/feedBack", + "style": { + "navigationBarTitleText": "鎰忚鍙嶉", + "componentPlaceholder": { + "u-input": "view", + "u-upload": "view" + } + } + }, + { + "path": "set/securityCenter/securityCenter", + "style": { + "navigationBarTitleText": "瀹夊叏涓績" + } + }, + { + "path": "set/editionIntro", + "style": { + "navigationBarTitleText": "鍏充簬鎴戜滑", + "componentPlaceholder": { + "u-cell-group": "view", + "u-cell-item": "view" + } + } + }, + { + "path": "set/setUp", + "style": { + "navigationBarTitleText": "璁剧疆", + "componentPlaceholder": { + "u-image": "view", + "u-icon": "view", + "u-cell-group": "view", + "u-cell-item": "view" + } + } + }, + { + "path": "set/personMsg", + "style": { + "navigationBarTitleText": "涓汉淇℃伅", + "app-plus": { + "titleNView": { + "padding-right": "12", + "buttons": [ + { + "text": "淇濆瓨", + "fontSize": "16", + "width": "auto", + "color": "#FFFFFF" + } + ] + } + }, + "componentPlaceholder": { + "u-form": "view", + "u-form-item": "view", + "u-input": "view", + "u-radio-group": "view", + "u-radio": "view", + "u-picker": "view" + } + } + }, + { + "path": "help/tips", + "style": { + "navigationBarTitleText": "", + "componentPlaceholder": { + "u-parse": "view" + } + } + }, + { + "path": "point/myPoint", + "style": { + "navigationBarTitleText": "鎴戠殑绉垎", + "componentPlaceholder": { + "u-row": "view", + "u-col": "view" + } + } + }, + { + "path": "msgTips/main", + "style": { + "navigationBarTitleText": "娑堟伅涓績" + } + }, + { + "path": "msgTips/sysMsg/index", + "style": { + "navigationBarTitleText": "绯荤粺娑堟伅" + } + }, + { + "path": "msgTips/serviceMsg/index", + "style": { + "navigationBarTitleText": "瀹㈡湇璁板綍" + } + }, + { + "path": "msgTips/packageMsg/index", + "style": { + "navigationBarTitleText": "鐗╂祦娑堟伅" + } + }, + { + "path": "msgTips/packageMsg/logisticsDetail", + "style": { + "navigationBarTitleText": "璁㈠崟璺熻釜" + } + }, + { + "path": "activity/detail", + "style": { + "navigationBarTitleText": "娲诲姩璇︽儏", + "enablePullDownRefresh": true, + //涓嬫媺鍒锋柊 + "componentPlaceholder": { + "u-form": "view", + "u-form-item": "view", + "u-input": "view", + "u-icon": "view", + "u-action-sheet": "view", + "u-checkbox-group": "view", + "u-checkbox": "view", + "u-navbar": "view", + "u-button": "view", + "u-image": "view" + } + } + }, + { + "path": "activity/myActivity", + "style": { + "navigationBarTitleText": "鎴戠殑娲诲姩", + "enablePullDownRefresh": true, + //涓嬫媺鍒锋柊 + "componentPlaceholder": { + "u-form": "view", + "u-form-item": "view", + "u-input": "view", + "u-icon": "view", + "u-action-sheet": "view", + "u-checkbox-group": "view", + "u-checkbox": "view", + "u-navbar": "view", + "u-button": "view", + "u-image": "view" + } + } + }, + { + "path": "activity/reportActivity", + "style": { + "navigationBarTitleText": "娲诲姩", + "enablePullDownRefresh": true, + //涓嬫媺鍒锋柊 + "navigationStyle": "custom", + // 闅愯棌椤堕儴瀵艰埅鏍� + "componentPlaceholder": { + "u-form": "view", + "u-form-item": "view", + "u-input": "view", + "u-icon": "view", + "u-action-sheet": "view", + "u-checkbox-group": "view", + "u-checkbox": "view", + "u-navbar": "view", + "u-button": "view", + "u-image": "view", + "u-loadmore": "view" + } + } + }, + { + "path": "myCollect/myCollect", + "style": { + "navigationBarTitleText": "鎴戠殑鏀惰棌", + "enablePullDownRefresh": true, + //涓嬫媺鍒锋柊 + "componentPlaceholder": { + "u-icon": "view", + "u-button": "view", + "u-form": "view", + "u-form-item": "view", + "u-input": "view", + "u-popup": "view", + "u-search": "view", + "u-loading": "view", + "u-navbar": "view", + "u-image": "view", + "u-loadmore": "view" + } + } + }, + { + "path": "myAttention", + "style": { + "navigationBarTitleText": "鍏虫敞鍒楄〃", + "enablePullDownRefresh": true + } + } + ] + }, + { + "root": "pages/product", + "pages": [ + { + "path": "shopPage", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "shopList", + "style": { + "navigationBarTitleText": "", + "navigationStyle": "custom" + } + }, + { + "path": "licencePhoto", + "style": { + "navigationBarTitleText": "钀ヤ笟鎵х収" + } + }, + { + "path": "shopPageGoods", + "style": { + "navigationBarTitleText": "", + "navigationStyle": "custom" + } + }, + { + "path": "goods", + "style": { + "backgroundColor": "#fff", + "navigationStyle": "custom", + "app-plus": { + // 灏嗗洖寮瑰睘鎬у叧鎺� + "bounce": "none", + // 绂佹椤甸潰婊氬姩 + "scrollIndicator": "none", + "safearea": { + "bottom": { + "offset": "none" + } + } + }, + "componentPlaceholder": { + "u-icon": "view", + "u-navbar": "view", + "u-popup": "view" + } + } + }, + { + "path": "askList", + "style": { + "navigationBarTitleText": "闂瓟涓撳尯" + } + }, + { + "path": "product/promotion/-promotion-details", + "style": { + "navigationBarTitleText": "", + "componentPlaceholder": { + "u-tag": "view" + } + } + }, + { + "path": "product/promotion/-promotion-assemble-promotions", + "style": { + "navigationBarTitleText": "", + "componentPlaceholder": { + "u-tag": "view", + "u-count-down": "view" + } + } + }, + { + "path": "product/promotion/-promotion-assemble-list", + "style": { + "navigationBarTitleText": "", + "componentPlaceholder": { + "u-image": "view", + "u-button": "view", + "u-empty": "view" + } + } + }, + { + "path": "product/goods/-goods-intro", + "style": { + "navigationBarTitleText": "", + "componentPlaceholder": { + "u-empty": "view", + "u-parse": "view" + } + } + }, + { + "path": "product/shop/-shop", + "style": { + "navigationBarTitleText": "", + "componentPlaceholder": { + "u-image": "view", + "u-loading": "view" + } + } + }, + { + "path": "product/evaluation/-evaluation", + "style": { + "navigationBarTitleText": "", + "componentPlaceholder": { + "u-avatar": "view", + "u-read-more": "view", + "u-image": "view", + "u-empty": "view" + } + } + }, + { + "path": "product/goods/-goods-swiper", + "style": { + "navigationBarTitleText": "", + "componentPlaceholder": { + "u-loading": "view", + "u-image": "view" + } + } + }, + { + "path": "product/popup/address", + "style": { + "navigationBarTitleText": "", + "componentPlaceholder": { + "u-popup": "view", + "u-icon": "view", + "u-empty": "view" + } + } + }, + { + //鍟嗗搧璇勪环 + "path": "comment", + "navigationStyle": "custom", + "style": { + "navigationBarTitleText": "鍟嗗搧璇勪环", + //app椤甸潰涓嶆樉绀烘粴鍔ㄦ潯 + "scrollIndicator": "none" + } + }, + { + // 瀹㈡湇 + "path": "customerservice/index", + "style": { + "navigationBarTitleText": "瀹㈡湇", + "usingComponents": { + // #ifdef MP-WEIXIN + "chat": "plugin://myPlugin/chat" + // #endif + } + } + } + ] + }, + { + "root": "pages/floor", + "pages": [ + { + "path": "empty" + } + ] + }, + { + "root": "pages/video", + "pages": [ + { + "path": "home-page", + "style": { + "navigationBarTitleText": "TA鐨勪富椤�" + } + }, + { + "path": "video-play", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "home-page-edit", + "style": { + "navigationBarTitleText": "涓婚〉淇℃伅淇敼" + } + }, + { + "path": "video-edit", + "style": { + "navigationBarTitleText": "瑙嗛缂栬緫" + } + }, + { + "path": "video-goods-detail", + "style": { + "navigationBarTitleText": "瑙嗛鎺ㄨ崘鍟嗗搧", + "componentPlaceholder": { + "u-button": "view" + } + } + }, + { + "path": "video-search", + "style": { + "navigationBarTitleText": "" + } + } + ] + }, + { + "root": "pages/passport", + "pages": [ + { + "path": "login", + "style": { + "navigationBarTitleText": "", + "navigationStyle": "custom", + "app-plus": { + "titleNView": false, + "animationType": "slide-in-bottom", + "scrollIndicator": "none", + "safearea": { + "bottom": { + "offset": "none" + } + } + } + } + }, + { + "path": "entry/seller/index", + "style": { + "navigationBarTitleText": "搴楅摵鍏ラ┗", + "navigationStyle": "custom", + "componentPlaceholder": { + "u-navbar": "view" + } + } + }, + { + "path": "entry/seller/step1", + "style": { + "navigationBarTitleText": "", + "navigationStyle": "custom", + "componentPlaceholder": { + "u-form": "view", + "u-form-item": "view", + "u-input": "view", + "u-upload": "view" + } + } + }, + { + "path": "entry/seller/step2", + "style": { + "navigationBarTitleText": "", + "navigationStyle": "custom", + "componentPlaceholder": { + "u-form": "view", + "u-form-item": "view", + "u-input": "view" + } + } + }, + { + "path": "entry/seller/step3", + "style": { + "navigationBarTitleText": "", + "navigationStyle": "custom", + "componentPlaceholder": { + "u-form": "view", + "u-form-item": "view", + "u-input": "view", + "u-upload": "view", + "u-select": "view" + } + } + }, + { + "path": "entry/seller/control", + "style": { + "navigationBarTitleText": "", + "navigationStyle": "custom", + "componentPlaceholder": { + "u-navbar": "view" + } + } + }, + { + "path": "article", + "style": { + "navigationBarTitleText": "鏂囩珷" + } + }, + { + "path": "wechatMPLogin", + "style": { + "navigationBarTitleText": "灏忕▼搴忕櫥褰�", + "navigationStyle": "custom", + "navigationBarTextStyle": "black", + "componentPlaceholder": { + "u-navbar": "view", + "u-modal": "view", + "u-checkbox": "view" + } + } + }, + { + "path": "scannerCodeLoginConfirm", + "style": { + "navigationBarTitleText": "鎵爜鐧诲綍", + "navigationStyle": "custom", + "navigationBarTextStyle": "black" + } + } + ] + }, + { + "root": "pages/promotion", + "pages": [ + { + "path": "seckill", + "style": { + "navigationBarTitleText": "闄愭椂鎶㈣喘", + "navigationStyle": "custom", + // 闅愯棌绯荤粺瀵艰埅鏍� + "navigationBarTextStyle": "black", + "app-plus": { + "titleNView": { + "homeButton": true + } + } + } + }, + { + "path": "joinGroup", + "style": { + "navigationBarTitleText": "鎷煎洟娲诲姩", + "navigationStyle": "custom", + // 闅愯棌绯荤粺瀵艰埅鏍� + "navigationBarTextStyle": "black", + "app-plus": { + // 灏嗗洖寮瑰睘鎬у叧鎺� + "bounce": "none" + } + } + }, + { + "path": "lives", + "style": { + "navigationStyle": "custom", + "navigationBarTextStyle": "black" + } + }, + { + "path": "bargain/list", + "style": { + "navigationStyle": "custom", + "navigationBarTextStyle": "white" + } + }, + { + "path": "bargain/detail", + "style": { + "navigationStyle": "custom", + "navigationBarTextStyle": "white" + } + }, + { + "path": "bargain/log", + "style": { + "navigationBarTitleText": "鐮嶄环璁板綍", + "componentPlaceholder": { + "u-image": "view", + "u-empty": "view" + } + } + }, + { + "path": "point/detail", + "style": { + "navigationStyle": "custom", + "navigationBarTextStyle": "white" + } + }, + { + "path": "point/pointList", + "style": { + "navigationBarTitleText": "绉垎鍟嗗煄" + } + } + ] + }, + { + "root": "pages/cart", + "pages": [ + { + "path": "coupon/myCoupon", + "style": { + "navigationBarTitleText": "鎴戠殑浼樻儬鍒�", + "app-plus": { + "bounce": "coupon/none" + }, + "componentPlaceholder": { + "u-empty": "view", + "u-icon": "view" + } + } + }, + { + "path": "coupon/couponDetail", + "style": { + "navigationBarTitleText": "浼樻儬鍒歌鎯�" + } + }, + { + "path": "coupon/index", + "style": { + "navigationBarTitleText": "浼樻儬鍒�" + } + }, + { + "path": "coupon/couponCenter", + "style": { + "navigationBarTitleText": "棰嗗埜涓績", + "enablePullDownRefresh": true, + "componentPlaceholder": { + "u-empty": "view" + } + } + }, + { + "path": "payment/payOrder", + "style": { + "navigationBarTitleText": "鏀粯璁㈠崟", + "app-plus": { + "popGesture": "none" + //绂佹渚ф粦閫�鍑� + } + } + }, + { + "path": "payment/success", + "style": { + "navigationBarTitleText": "鏀粯鎴愬姛", + "navigationStyle": "custom", + // 闅愯棌绯荤粺瀵艰埅鏍� + "navigationBarTextStyle": "white", + "app-plus": { + "popGesture": "none", + //绂佹渚ф粦閫�鍑� + "titleNView": false + } + } + }, + { + "path": "payment/shareOrderGoods", + "style": { + "navigationBarTitleText": "", + "app-plus": {} + } + } + ] + }, + { + "root": "pages/order", + "pages": [ + { + "path": "complain/complain", + "style": { + "navigationBarTitleText": "璁㈠崟鍟嗗搧鎶曡瘔" + } + }, + { + "path": "complain/complainInfo", + "style": { + "navigationBarTitleText": "鎶曡瘔璇︽儏" + } + }, + { + "path": "invoice/setInvoice", + "style": { + "navigationBarTitleText": "", + "navigationStyle": "custom", + "componentPlaceholder": { + "u-popup": "view", + "u-input": "view" + } + } + }, + { + "path": "complain/complainList", + "style": { + "navigationBarTitleText": "鎶曡瘔鍒楄〃", + "componentPlaceholder": { + "u-line": "view", + "u-image": "view", + "u-tag": "view", + "u-empty": "view", + "u-modal": "view" + } + } + }, + { + "path": "myOrder", + "style": { + "navigationBarTitleText": "鎴戠殑璁㈠崟", + "enablePullDownRefresh": true, + "app-plus": { + "bounce": "none" + }, + "componentPlaceholder": { + "u-empty": "view", + "u-modal": "view", + "u-image": "view", + "u-popup": "view", + "u-radio-group": "view", + "u-radio": "view", + "u-button": "view", + "u-toast": "view", + "u-modal": "view" + } + } + }, + { + "path": "invoice/invoiceDetail", + "style": { + "navigationBarTitleText": "鍙戠エ璇︽儏" + } + }, + { + "path": "orderDetail", + "style": { + "navigationBarTitleText": "璁㈠崟璇︽儏" + } + }, + { + "path": "deliverDetail", + "style": { + "navigationBarTitleText": "鐗╂祦璇︽儏" + } + }, + { + "path": "evaluate/evaluateDetail", + "style": { + "navigationBarTitleText": "璇勪环璇︽儏" + } + }, + { + "path": "evaluate/releaseEvaluate", + "style": { + "navigationBarTitleText": "鍙戝竷璇勪环" + } + }, + { + "path": "evaluate/myEvaluate", + "style": { + "navigationBarTitleText": "鎴戠殑璇勪环", + "componentPlaceholder": { + "u-empty": "view", + "u-tabs": "view", + "u-image": "view", + "u-read-more": "view", + "u-tag": "view" + } + } + }, + { + "path": "afterSales/applyProgress", + "style": { + "navigationBarTitleText": "鍞悗鏈嶅姟" + } + }, + { + "path": "afterSales/applyDetail", + "style": { + "navigationBarTitleText": "鍞悗鏈嶅姟" + } + }, + { + "path": "afterSales/applySuccess", + "style": { + "navigationBarTitleText": "鎻愪氦鎴愬姛", + "app-plus": { + "bounce": "none", + "titleNView": { + "titleColor": "#FFFFFF", + "buttons": [ + { + "text": "瀹屾垚", + "fontSize": "14", + "color": "#FFFFFF", + "width": "36px" + // "background": "rgba(0,0,0,0)" + } + ] + } + } + } + }, + { + "path": "afterSales/afterSalesDetailExpress" + }, + { + "path": "afterSales/afterSalesSelect", + "style": { + "navigationBarTitleText": "鐢宠鍞悗" + } + }, + { + "path": "afterSales/afterSalesDetail", + "style": { + "navigationBarTitleText": "鐢宠鍞悗" + } + }, + { + "path": "afterSales/afterSales", + "style": { + "navigationBarTitleText": "鍞悗绠$悊", + "enablePullDownRefresh": true, + "componentPlaceholder": { + "u-modal": "view", + "u-tabs": "view", + "u-image": "view", + "u-search": "view", + "u-icon": "view", + "u-loadmore": "view" + } + } + }, + { + "path": "fillorder", + "style": { + "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": "澶у仴搴�", + "navigationStyle": "custom" + } + } + ] + }, + { + "root": "pages/tabbar/home", + "pages": [ + { + "path": "web-view", + "style": {} + } + ] + }, + { + "root": "pages/kitchen", + "pages": [ + { + "path": "KitchenVideo", + "style": { + "navigationBarTitleText": "绁炲帹", + "navigationStyle": "custom" + // 闅愯棌绯荤粺瀵艰埅鏍� + } + } + ] + }, + { + "root": "pages/subComponents", + "pages": [{ + "path" : "empty/empty", + "style" : + { + "navigationBarTitleText" : "鍒嗗寘鍗犱綅" + } + } + ] }, - // "tabBar": { - // "custom": true, - // "color": "#666", - // "selectedColor": "#ff573e", - // "borderStyle": "black", - // "backgroundColor": "#ffffff", - // "list": [ - // { - // "pagePath": "pages/tabbar/index/home", - // "iconPath": "static/tabbar/home.png", - // "selectedIconPath": "static/tabbar/home-s.png", - // "text": "棣栭〉" - // }, - // { - // // "pagePath": "pages/tabbar/category/category", - // "pagePath": "pages/kitchen/KitchenVideo", - // "iconPath": "static/tabbar/category.png", - // "selectedIconPath": "static/tabbar/category-s.png", - // "text": "绁炲帹" - // }, - // { - // "pagePath": "pages/tabbar/video/video", - // "iconPath": "static/tabbar/video.png", - // "selectedIconPath": "static/tabbar/video-selected.png" - // }, - // { - // "pagePath": "pages/tabbar/cart/cartList", - // "iconPath": "static/tabbar/cart.png", - // "selectedIconPath": "static/tabbar/cart-s.png", - // "text": "璐墿杞�" - // }, - // { - // "pagePath": "pages/tabbar/user/my", - // "iconPath": "static/tabbar/mine.png", - // "selectedIconPath": "static/tabbar/mine-s.png", - // "text": "鎴戠殑" - // } - // ] - // }, - // #todo 涓轰粈涔堣娉ㄩ噴condition涓嬩唬鐮侊紵 - // IOS plus.runtime.arguments 娣诲姞 condition鑺傜偣鍚庯紝 妗嗘灦浼氫慨鏀� runtime.arguments - // 浼氬奖鍝嶄粈涔堝姛鑳斤紵 - // -鍦╤5涓敜閱抋pp浼氫竴鐩磋繑鍥為粯璁ゅ�� {"name":"","path":"","query":"","id":0} - "condition": { - //妯″紡閰嶇疆锛屼粎寮�鍙戞湡闂寸敓鏁� - // "current": 0, //褰撳墠婵�娲荤殑妯″紡(list 鐨勭储寮曢」) - // "list": [{ - // "name": "", //妯″紡鍚嶇О - // "path":"", //鍚姩椤甸潰锛屽繀閫� - // "query": "" //鍚姩鍙傛暟锛屽湪椤甸潰鐨刼nLoad鍑芥暟閲岄潰寰楀埌 - // }] - } + { + "root": "pages/tabbar/user", + "pages": [ + { + "path": "my", + "style": { + "navigationBarTextStyle": "white", + "enablePullDownRefresh": true, + "navigationStyle": "custom", + "componentPlaceholder": { + "u-icon": "view", + "u-row": "view", + "u-col": "view" + } + } + } + ] + }, + { + "root": "pages/supplier/suppler-order", + "pages": [ + { + "path": "suppler-order", + "style": { + "navigationBarTitleText": "渚涘簲鍟嗙" + // "navigationStyle": "custom" + } + }, + { + "path": "order-detail", + "style": { + "navigationBarTitleText": "璁㈠崟璇︽儏" + // "navigationStyle": "custom" + } + } + ] + }, + { + "root": "pages/supplier/publish-goods", + "pages": [ + { + "path": "publishGoods", + "style": { + "enablePullDownRefresh": true, + "navigationBarTitleText": "鏂板鍟嗗搧", + "componentPlaceholder": { + "u-icon": "view", + "u-button": "view", + "u-form": "view", + "u-form-item": "view", + "u-input": "view", + "u-popup": "view", + "u-search": "view", + "u-upload": "view" + } + } + }, + { + "path": "goodsInfo", + "style": { + "navigationBarTitleText": "" + } + } + ] + }, + { + "root": "pages/goods-manager", + "pages": [ + { + "path": "goodsList/goodsList", + "style": { + "enablePullDownRefresh": true, + "navigationBarTitleText": "鍟嗗搧鍒楄〃", + "componentPlaceholder": { + "u-icon": "view", + "u-button": "view", + "u-form": "view", + "u-form-item": "view", + "u-input": "view", + "u-popup": "view", + "u-search": "view" + } + } + }, + { + "path": "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" + } + } + } + ] + }, + { + "root": "pages/news", + "pages": [ + { + "path": "news", + "style": { + "navigationBarTitleText": "鏂伴椈", + "componentPlaceholder": { + "u-icon": "view", + "u-button": "view", + "u-form": "view", + "u-form-item": "view", + "u-input": "view", + "u-popup": "view", + "u-search": "view", + "u-loading": "view", + "u-navbar": "view", + "u-loadmore": "view" + } + } + }, + { + "path": "detail", + "style": { + "navigationBarTitleText": "鏂伴椈璇︽儏", + "componentPlaceholder": { + "u-icon": "view", + "u-button": "view", + "u-form": "view", + "u-form-item": "view", + "u-input": "view", + "u-popup": "view", + "u-search": "view", + "u-loading": "view", + "u-navbar": "view", + "u-loadmore": "view" + } + } + } + ] + }, + { + "root": "pages/userPermissions", + "pages": [ + { + "path": "addStoreMember", + "style": { + "navigationBarTitleText": "", + "navigationStyle": "custom", + // 闅愯棌椤堕儴瀵艰埅鏍� + "componentPlaceholder": { + "u-icon": "view", + "u-button": "view", + "u-form": "view", + "u-form-item": "view", + "u-input": "view", + "u-popup": "view", + "u-search": "view", + "u-loading": "view", + "u-checkbox": "view", + "u-checkbox-group": "view", + "u-navbar": "view", + "u-loadmore": "view", + "u-switch": "view" + } + } + }, + { + "path": "userPermissions", + "style": { + "navigationBarTitleText": "鐢ㄦ埛鏉冮檺", + "componentPlaceholder": { + "u-icon": "view", + "u-button": "view", + "u-form": "view", + "u-form-item": "view", + "u-input": "view", + "u-popup": "view", + "u-search": "view", + "u-loading": "view", + "u-navbar": "view", + "u-loadmore": "view" + } + } + } + ] + }, + { + "root": "pages/commodity-square", + "pages": [ + { + "path": "commoditySquare", + "style": { + "navigationBarTitleText": "鍟嗗搧骞垮満", + "navigationStyle": "custom", + // 闅愯棌绯荤粺瀵艰埅鏍� + "navigationBarTextStyle": "black", + // "disableScroll": true, + "bounce": "none", + "scrollIndicator": "none", + "componentPlaceholder": { + "u-navbar": "view", + "u-search": "view", + "u-image": "view" + } + } + } + ] + }, + { + "root": "pages/navigation", + "pages": [ + { + "path": "search/searchPage", + "style": { + "navigationBarTitleText": "鎼滅储", + "navigationStyle": "custom", + "app-plus": { + //app椤甸潰涓嶆樉绀烘粴鍔ㄦ潯 + "scrollIndicator": "none", + "bottom": "0", + "contentAdjust": "false", + "bounce": "none", + "safearea": { + "bottom": "none" + } + }, + "componentPlaceholder": { + "u-navbar": "view", + "u-popup": "view", + "u-input": "view", + "u-back-top": "view" + } + } + } + ] + }, + { + "root": "pages/cusbar", + "pages": [ + { + "path": "special/special", + "style": { + "navigationBarTitleText": "涓撻" + } + }, + { + "path": "cart/cartList", + "style": { + "navigationBarTitleText": "璐墿杞�", + "navigationStyle": "custom", + // 闅愯棌绯荤粺瀵艰埅鏍� + "navigationBarBackgroundColor": "#fff", + "enablePullDownRefresh": true, + //瀹炵幇涓嬫媺鍒锋柊鏍峰紡 + "componentPlaceholder": { + "u-navbar": "view", + "u-checkbox-group": "view", + "u-checkbox": "view", + "u-swipe-action": "view", + "u-image": "view", + "u-icon": "view", + "u-count-down": "view", + "u-modal": "view", + "u-popup": "view", + "u-toast": "view" + } + } + }, + { + "path": "video/video", + "style": { + "navigationBarTitleText": "鍙戝竷瑙嗛", + "enablePullDownRefresh": false, + "componentPlaceholder": { + "u-icon": "view", + "u-button": "view", + "u-form": "view", + "u-form-item": "view", + "u-input": "view", + "u-popup": "view", + "u-search": "view" + } + } + } + ] + } + ], + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "缁挎弧绛�", + "titleColor": "#303133", + "navigationBarBackgroundColor": "#fff", + "backgroundColor": "#fff", + "color": "#FFFFFF", + "app-plus": { + // 鍏ㄥ眬鍏抽棴鍥炲脊鍔熻兘 + "bounce": "none" + } + }, + // "tabBar": { + // "custom": true, + // "color": "#666", + // "selectedColor": "#ff573e", + // "borderStyle": "black", + // "backgroundColor": "#ffffff", + // "list": [ + // { + // "pagePath": "pages/tabbar/index/home", + // "iconPath": "static/tabbar/home.png", + // "selectedIconPath": "static/tabbar/home-s.png", + // "text": "棣栭〉" + // }, + // { + // // "pagePath": "pages/tabbar/category/category", + // "pagePath": "pages/kitchen/KitchenVideo", + // "iconPath": "static/tabbar/category.png", + // "selectedIconPath": "static/tabbar/category-s.png", + // "text": "绁炲帹" + // }, + // { + // "pagePath": "pages/tabbar/video/video", + // "iconPath": "static/tabbar/video.png", + // "selectedIconPath": "static/tabbar/video-selected.png" + // }, + // { + // "pagePath": "pages/tabbar/cart/cartList", + // "iconPath": "static/tabbar/cart.png", + // "selectedIconPath": "static/tabbar/cart-s.png", + // "text": "璐墿杞�" + // }, + // { + // "pagePath": "pages/tabbar/user/my", + // "iconPath": "static/tabbar/mine.png", + // "selectedIconPath": "static/tabbar/mine-s.png", + // "text": "鎴戠殑" + // } + // ] + // }, + // #todo 涓轰粈涔堣娉ㄩ噴condition涓嬩唬鐮侊紵 + // IOS plus.runtime.arguments 娣诲姞 condition鑺傜偣鍚庯紝 妗嗘灦浼氫慨鏀� runtime.arguments + // 浼氬奖鍝嶄粈涔堝姛鑳斤紵 + // -鍦╤5涓敜閱抋pp浼氫竴鐩磋繑鍥為粯璁ゅ�� {"name":"","path":"","query":"","id":0} + "condition": { + //妯″紡閰嶇疆锛屼粎寮�鍙戞湡闂寸敓鏁� + // "current": 0, //褰撳墠婵�娲荤殑妯″紡(list 鐨勭储寮曢」) + // "list": [{ + // "name": "", //妯″紡鍚嶇О + // "path":"", //鍚姩椤甸潰锛屽繀閫� + // "query": "" //鍚姩鍙傛暟锛屽湪椤甸潰鐨刼nLoad鍑芥暟閲岄潰寰楀埌 + // }] + } } \ No newline at end of file diff --git a/pages/cart/payment/shareOrderGoods.vue b/pages/cart/payment/shareOrderGoods.vue index 933b3d0..5ec9b9d 100644 --- a/pages/cart/payment/shareOrderGoods.vue +++ b/pages/cart/payment/shareOrderGoods.vue @@ -68,7 +68,7 @@ import { getPinTuanShare } from "@/api/order"; import shares from "@/components/m-share/index"; import storage from "@/utils/storage.js"; -import popupGoods from "@/components/m-buy/goods"; //璐墿杞﹀晢鍝佺殑妯″潡 +import popupGoods from "@/pages/subComponents/m-buy/goods.vue"; //璐墿杞﹀晢鍝佺殑妯″潡 export default { data() { diff --git a/pages/cart/payment/success.vue b/pages/cart/payment/success.vue index 9806ab7..f692b23 100644 --- a/pages/cart/payment/success.vue +++ b/pages/cart/payment/success.vue @@ -25,7 +25,7 @@ </template> <script> -import goodsRecommend from "@/components/m-goods-recommend"; +import goodsRecommend from "@/pages/subComponents/m-goods-recommend/index.vue"; export default { data() { return { diff --git a/pages/floor/empty.vue b/pages/floor/empty.vue index 5eb2617..c9d9206 100644 --- a/pages/floor/empty.vue +++ b/pages/floor/empty.vue @@ -3,7 +3,7 @@ </template> <script> - import defaultPage from '@/components/default-page/default-page.vue'; + import defaultPage from '@/pages/floor/default-page/default-page.vue'; export default { components: { defaultPage diff --git a/pages/mine/distribution/list.vue b/pages/mine/distribution/list.vue index 285e3b4..65aaef7 100644 --- a/pages/mine/distribution/list.vue +++ b/pages/mine/distribution/list.vue @@ -65,7 +65,7 @@ getMpCode, } from "@/api/goods"; -import drawCanvas from "@/components/m-canvas"; +import drawCanvas from "@/pages/mine/m-canvas/index.vue"; export default { data() { return { diff --git a/pages/mine/set/securityCenter/bindMobile.vue b/pages/mine/set/securityCenter/bindMobile.vue index 49a5ae4..22c10d0 100644 --- a/pages/mine/set/securityCenter/bindMobile.vue +++ b/pages/mine/set/securityCenter/bindMobile.vue @@ -36,7 +36,7 @@ bindMobile } from "@/api/login"; - import myVerification from "@/components/verification/verification.vue"; //楠岃瘉 + import myVerification from "@/pages/subComponents/verification/verification.vue"; //楠岃瘉 import uuid from "@/utils/uuid.modified.js"; export default { components: { diff --git a/pages/mine/set/securityCenter/editPassword.vue b/pages/mine/set/securityCenter/editPassword.vue index de9a999..d13c046 100644 --- a/pages/mine/set/securityCenter/editPassword.vue +++ b/pages/mine/set/securityCenter/editPassword.vue @@ -53,7 +53,7 @@ import { md5 } from "@/utils/md5.js"; // md5 - import myVerification from "@/components/verification/verification.vue"; //楠岃瘉 + import myVerification from "@/pages/subComponents/verification/verification.vue"; //楠岃瘉 import uuid from "@/utils/uuid.modified.js"; export default { components: { diff --git a/pages/navigation/search/searchPage.vue b/pages/navigation/search/searchPage.vue index 1681c16..1da0d8c 100644 --- a/pages/navigation/search/searchPage.vue +++ b/pages/navigation/search/searchPage.vue @@ -206,7 +206,7 @@ import '@/components/uview-components/uview-ui'; import { getGoodsList, getGoodsRelated } from '@/api/goods.js'; -import goodsList from '@/components/m-goods-list/list.vue'; +import goodsList from '@/pages/subComponents/m-goods-list/list.vue'; import { getHotKeywords } from '@/api/home.js'; import mSearch from '@/components/m-search-revision/m-search-revision.vue'; import storage from '@/utils/storage'; diff --git a/pages/passport/login.vue b/pages/passport/login.vue index 13aa69d..f41fdc3 100644 --- a/pages/passport/login.vue +++ b/pages/passport/login.vue @@ -93,9 +93,9 @@ smsLogin, userLogin } from "@/api/login"; - import myVerification from "@/components/verification/verification.vue"; //楠岃瘉鐮佹ā鍧� + import myVerification from "@/pages/subComponents/verification/verification.vue"; //楠岃瘉鐮佹ā鍧� import uuid from "@/utils/uuid.modified.js"; // uuid - import verifyCode from "@/components/verify-code/verify-code"; + import verifyCode from "@/pages/passport/verify-code/verify-code"; import { getUserInfo } from "@/api/members"; diff --git a/pages/product/goods.vue b/pages/product/goods.vue index 10b03f2..919364c 100644 --- a/pages/product/goods.vue +++ b/pages/product/goods.vue @@ -299,11 +299,11 @@ import storeLayout from "./product/shop/-shop"; //搴楅摵缁勪欢 import Evaluation from "./product/evaluation/-evaluation"; //璇勪环缁勪欢 import GoodsSwiper from "./product/goods/-goods-swiper"; //杞挱鍥剧粍浠� -import popupGoods from "@/components/m-buy/goods"; //璐墿杞﹀晢鍝佺殑妯″潡 +import popupGoods from "@/pages/subComponents/m-buy/goods.vue"; //璐墿杞﹀晢鍝佺殑妯″潡 import popupAddress from "./product/popup/address"; //鍦板潃閫夋嫨妯″潡 import shares from "@/components/m-share/index"; //鍒嗕韩 -import popups from "@/components/popups/popups"; //姘旀场妗� -import takeDownFormSaleGoods from "@/components/m-take-down-sale-goods/index"; //涓嬫灦妗� +import popups from "@/pages/product/popups/popups.vue"; //姘旀场妗� +import takeDownFormSaleGoods from "@/pages/product/m-take-down-sale-goods/index"; //涓嬫灦妗� import setup from "./product/popup/popup"; import { getSTSToken diff --git a/pages/product/product/goods/-goods-recommend.vue b/pages/product/product/goods/-goods-recommend.vue index 188cb97..e0a6f9a 100644 --- a/pages/product/product/goods/-goods-recommend.vue +++ b/pages/product/product/goods/-goods-recommend.vue @@ -6,7 +6,7 @@ </template> <script> -import goodsList from '@/components/m-goods-list/list.vue' +import goodsList from '@/pages/subComponents/m-goods-list/list.vue' export default { props: ["res"], components:{goodsList}, diff --git a/pages/product/product/popup/address.vue b/pages/product/product/popup/address.vue index 39cb936..cab76dd 100644 --- a/pages/product/product/popup/address.vue +++ b/pages/product/product/popup/address.vue @@ -29,7 +29,7 @@ <script> import '@/components/uview-components/uview-ui'; -import setup from "@/components/m-buy/popup.js"; +import setup from "@/pages/subComponents/m-buy/popup.js"; /************璇锋眰瀛樺偍***************/ import * as API_Address from "@/api/address.js"; @@ -159,7 +159,7 @@ border-radius: 50%; border: 2rpx solid #ededed; } -@import "@/components/m-buy/popup.scss"; +@import "@/pages/subComponents/m-buy/popup.scss"; .view-box { height: 810rpx; // #ifdef MP-WEIXIN diff --git a/pages/product/shopPage.vue b/pages/product/shopPage.vue index f7774bc..4a901a7 100644 --- a/pages/product/shopPage.vue +++ b/pages/product/shopPage.vue @@ -177,7 +177,7 @@ import tpl_search from "@/pages/tabbar/home/template/tpl_search"; //鎼滅储鏍� import tpl_group from "@/pages/tabbar/home/template/tpl_group"; // import tpl_goods from "@/pages/tabbar/home/template/tpl_goods"; //鍟嗗搧鍒嗙被浠ュ強鍒嗙被涓殑鍟嗗搧 -import goodsTemplate from '@/components/m-goods-list/list' +import goodsTemplate from '@/pages/subComponents/m-goods-list/list.vue' import { getStoreBaseInfo, getStoreCategory } from "@/api/store.js"; import { receiveCoupons, diff --git a/pages/product/shopPageGoods.vue b/pages/product/shopPageGoods.vue index 338b63b..8638f42 100644 --- a/pages/product/shopPageGoods.vue +++ b/pages/product/shopPageGoods.vue @@ -15,7 +15,7 @@ import { getGoodsList } from "@/api/goods.js"; - import goodsTemplate from '@/components/m-goods-list/list' + import goodsTemplate from '@/pages/subComponents/m-goods-list/list.vue' export default { data() { return { diff --git a/pages/promotion/bargain/detail.vue b/pages/promotion/bargain/detail.vue index 7d56aac..425d0ac 100644 --- a/pages/promotion/bargain/detail.vue +++ b/pages/promotion/bargain/detail.vue @@ -112,7 +112,7 @@ <script> import '@/components/uview-components/uview-ui' -import popupGoods from "@/components/m-buy/goods"; //璐墿杞﹀晢鍝佺殑妯″潡 +import popupGoods from "@/pages/subComponents/m-buy/goods.vue"; //璐墿杞﹀晢鍝佺殑妯″潡 import { getBargainDetail, getBargainActivity, diff --git a/pages/promotion/bargain/list.vue b/pages/promotion/bargain/list.vue index 167a471..07e2f95 100644 --- a/pages/promotion/bargain/list.vue +++ b/pages/promotion/bargain/list.vue @@ -18,7 +18,7 @@ <script> import '@/components/uview-components/uview-ui' import { getBargainList } from "@/api/promotions"; -import goodsTemplate from '@/components/m-goods-list/promotion' +import goodsTemplate from '@/pages/subComponents/m-goods-list/promotion.vue' export default { components:{goodsTemplate}, data() { diff --git a/pages/promotion/joinGroup.vue b/pages/promotion/joinGroup.vue index aae6c7f..9d31c99 100644 --- a/pages/promotion/joinGroup.vue +++ b/pages/promotion/joinGroup.vue @@ -33,7 +33,7 @@ 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' + import goodsTemplate from '@/pages/subComponents/m-goods-list/promotion.vue' export default { components: { goodsTemplate diff --git a/pages/promotion/point/detail.vue b/pages/promotion/point/detail.vue index 018bbca..44a04bc 100644 --- a/pages/promotion/point/detail.vue +++ b/pages/promotion/point/detail.vue @@ -52,7 +52,7 @@ <script> import '@/components/uview-components/uview-ui' -import popupGoods from "@/components/m-buy/goods"; //璐墿杞﹀晢鍝佺殑妯″潡 +import popupGoods from "@/pages/subComponents/m-buy/goods.vue"; //璐墿杞﹀晢鍝佺殑妯″潡 import { getPointsGoodsDetail } from "@/api/promotions"; export default { components: { diff --git a/pages/promotion/seckill.vue b/pages/promotion/seckill.vue index 844210c..de04827 100644 --- a/pages/promotion/seckill.vue +++ b/pages/promotion/seckill.vue @@ -38,7 +38,7 @@ getSeckillTimeGoods } from "@/api/promotions.js"; import Foundation from "@/utils/Foundation.js"; - import goodsTemplate from '@/components/m-goods-list/promotion.vue' + import goodsTemplate from '@/pages/subComponents/m-goods-list/promotion.vue' export default { components: { goodsTemplate diff --git a/pages/tabbar/cart/cart.scss b/pages/tabbar/cart/cart.scss deleted file mode 100644 index e69de29..0000000 --- a/pages/tabbar/cart/cart.scss +++ /dev/null diff --git a/pages/tabbar/cart/cartList.vue b/pages/tabbar/cart/cartList.vue deleted file mode 100644 index f1dfa7f..0000000 --- a/pages/tabbar/cart/cartList.vue +++ /dev/null @@ -1,897 +0,0 @@ -<template> - <view class="wrapper"> - <u-navbar :is-back="false" title="璐墿杞�"> - <div slot="right"> - <div class="light-color edit" @click="isEdit = !isEdit">{{ !isEdit ? '缂栬緫' : '瀹屾垚'}}</div> - </div> - </u-navbar> - <!-- 绌虹櫧椤�--> - <view v-if="!loading && (cartDetail.cartList == '' || cartDetail.cartList == [] || !cartDetail)" class="empty" :style="{height: windowHeight - marginBottom - 50 + 'px'}"> - <image src="/static/emptyCart.png" mode="aspectFit"></image> - <view class="empty-tips"> - 绌虹┖濡備篃 - <navigator class="navigator" url="/pages/tabbar/home/index" open-type="switchTab">闅忎究閫涢��></navigator> - </view> - </view> - <!-- 搴楅摵鍟嗗搧淇℃伅 --> - <div class="content" :style="{height: windowHeight - marginBottom - 50 + 'px'}"> - <div class="box box2" :class="{ invalid: isInvalid(item) }" v-for="(item, index) in cartDetail.cartList" - :key="index"> - <view class="tab"> - <view class="store-line"> - <u-checkbox-group class="store-line-check"> - <!-- #ifndef MP-WEIXIN --> - <u-checkbox shape="circle" :active-color="lightColor" v-model="item.checked" - @change="checkboxChangeDP(item)"></u-checkbox> - <!-- #endif --> - <!-- 寰俊灏忕▼搴忚繖閲� v-model鍑虹幇闂锛屾敼鐢�:value --> - <!-- #ifdef MP-WEIXIN --> - <u-checkbox shape="circle" :active-color="lightColor" :value="item.checked" - @change="checkboxChangeDP(item)"></u-checkbox> - <!-- #endif --> - </u-checkbox-group> - <span class="store-name wes store-line-desc" @click.stop="navigateToStore(item)">{{ - item.storeName - }}</span> - <u-icon @click="navigateToStore(item)" size="24" style="margin-left:10rpx;" name="arrow-right"></u-icon> - </view> - <view class="right-col" v-if="item.canReceiveCoupon" @click="navigateToCoupon(item)"> - <div class="right-line"></div> - <span>棰嗗姷</span> - </view> - </view> - <u-swipe-action :show="skuItem.selected" @open="openAction(skuItem)" :options="options" bg-color="#fff" - ref="swiperAction" class="cart-item" v-for="(skuItem, i) in item.skuList" :index="i" :key="skuItem.goodsSku.id" - @click="changeActionTab(skuItem)" @longpress="changeActionTab(skuItem)"> - <!-- 婊″噺娲诲姩 --> - <div v-if="Object.keys(skuItem.promotionMap).length != 0"> - <div v-if="getPromotion(skuItem).includes('FULL_DISCOUNT')"> - <div class="promotion-notice" v-if="item.promotionNotice"> - <span class="tips">婊″噺</span> - <span style="flex:10;">{{item.promotionNotice}}</span> - </div> - </div> - </div> - <view class="goods-row" :class="{ invalid: isInvalid(skuItem) }"> - <view class="goods-config"> - <view> - <u-checkbox-group v-if="skuItem.invalid == 0 && !skuItem.errorMessage"> - <!-- #ifndef MP-WEIXIN --> - <u-checkbox shape="circle" :active-color="lightColor" class="c-left" v-model="skuItem.checked" - @change="checkboxChange(skuItem)"></u-checkbox> - <!-- #endif --> - <!-- 寰俊灏忕▼搴忚繖閲� v-model鍑虹幇闂锛屾敼鐢�:value --> - <!-- #ifdef MP-WEIXIN --> - <u-checkbox shape="circle" :active-color="lightColor" class="c-left" :value="skuItem.checked" - @change="checkboxChange(skuItem)"></u-checkbox> - <!-- #endif --> - </u-checkbox-group> - <span class="invalid" v-else style="font-size: 24rpx">澶辨晥</span> - </view> -<!-- <video border-radius="10" :fade="true" @click="navigateToGoods(skuItem)" - v-if="skuItem.goodsSku.goodsVideo" :src="skuItem.goodsSku.goodsVideo" - style="width: 160rpx;height: 160rpx;" - :initial-time="0" - :controls="false" object-fit="contain" :show-play-btn="false" :show-center-play-btn="false"/> --> - <u-image border-radius="10" :fade="true" @click="navigateToGoods(skuItem)" width="160rpx" height="160rpx" - :src="skuItem.goodsSku.thumbnail" /> - </view> - <view class="goods-content"> - <!-- 鍟嗗搧鍚嶇О --> - <p class="sp-name" @click="navigateToGoods(skuItem)"> - {{ skuItem.goodsSku.goodsName }} - </p> - <!-- 瑙勬牸 --> - <p class="sp-type" style="width:300rpx">{{skuItem.goodsSku.simpleSpecs}}</p> - <p class="sp-type" v-if="skuItem.goodsSku.salesModel == 'WHOLESALE'">鎵瑰彂鍟嗗搧</p> - <p class="sp-number"> - <view class="sp-price"> - <!-- <div class="default-color" :class="{'main-color':Object.keys(skuItem.promotionMap).length ==0 }"> --> - <div class="main-color"> - 锟�<span>{{ $options.filters.goodsFormatPrice(skuItem.goodsSku.price)[0] }}</span> - <span>.{{ $options.filters.goodsFormatPrice(skuItem.goodsSku.price)[1] }}</span> - </div> - </view> - <view> - <uni-number-box class="uNumber" :min="1" :max="999" @change="numChange(skuItem)" v-model="skuItem.num"></uni-number-box> - </view> - <!-- 濡傛灉褰撴湁淇冮攢骞朵笖淇冮攢鏄� 闄愭椂鎶㈣喘 --> - <!-- promotions --> - <div class="promotions-list" v-if="Object.keys(skuItem.promotionMap).length != 0" - > - <div class="promotions-item-seckill" v-if="getPromotion(skuItem).includes('SECKILL')"> - 璺濈鏉�缁撴潫: <u-count-down show-border :hide-zero-day="true" :color="$mainColor" border-color="#ededed" - font-size="24" :timestamp="getCountDownTime(skuItem)"> - </u-count-down> - </div> - </div> - - <!-- 姝ゅ鍏堥殣钘� 瀵逛簬棰勪及鍒版墜浠锋潵璇� 鍓嶇鏃犳硶鐪熸鐨勮绠楀嚭鏉ワ紝鍏夐潬淇冮攢妯″紡杩涜灞曠ず鍙兘鏈変簺涓嶅Ε銆傛墍浠ユ殏涓旈殣钘� --> - <!-- 濡傛灉鏈夋椿鍔� 骞朵笖鏄�変腑鐨勭姸鎬�,鏄剧ず棰勪及鍒版墜浠锋牸 --> - <!-- <div class="priceDetail-flowPrice" :class="{'main-color':skuItem.priceDetailDTO}" - v-if="skuItem.priceDetailDTO && skuItem.invalid == 0 && Object.keys(skuItem.promotionMap).length != 0 && skuItem.checked && skuItem.checked"> - 棰勪及鍒版墜浠� 锟�<span>{{ $options.filters.goodsFormatPrice(skuItem.priceDetailDTO.flowPrice)[0]}}</span> - <span>.{{ $options.filters.goodsFormatPrice(skuItem.priceDetailDTO.flowPrice)[1] }} </span> - </div> --> - <div style='margin-left: 20rpx;' v-if="!skuItem.checked && skuItem.errorMessage"> - {{skuItem.errorMessage}} - </div> - </p> - - </view> - </view> - </u-swipe-action> - </div> - </div> - <u-modal v-model="deleteShow" :confirm-style="{'color':lightColor}" @confirm="deleteConfirm" show-cancel-button - :content="deleteContent" :async-close="true"></u-modal> - <!-- 缁撹处 --> - <div class="box box6" :style="{bottom: marginBottom + 50 + 'px'}"> - <view class="navL"> - <u-checkbox shape="circle" :active-color="lightColor" v-model="checkout" @change="checkOut()" label-size="24">鍏ㄩ�� - </u-checkbox> - <span class="price"> - <div class="prices"> - <div class="fullPrice"> - <span class="number" v-if="cartDetail && cartDetail.priceDetailDTO"> - 鎬昏: - <span>楼{{ $options.filters.goodsFormatPrice(cartDetail.priceDetailDTO.flowPrice)[0] }}</span>.<span>{{ $options.filters.goodsFormatPrice(cartDetail.priceDetailDTO.flowPrice)[1] }}</span> - </span> - <span class="number" v-else>鎬昏:0.00</span> - </div> - <div - v-if="cartDetail.cartList && cartDetail.cartList.length!=0 && cartDetail.priceDetailDTO && cartDetail.priceDetailDTO.discountPrice!=0 " - class="discountPrice"> - <span>浼樻儬鍑�:锟{(cartDetail.priceDetailDTO.goodsPrice - cartDetail.priceDetailDTO.flowPrice) | unitPrice}} - </span> - <span class="discount-details" @click="discountDetails">浼樻儬鏄庣粏</span> - </div> - </div> - </span> - </view> - <!-- 浼樻儬璇︽儏 --> - <u-popup z-index="3" close mode="bottom" height="50%" closeable v-model="discountDetailsFlag" border-radius="20"> - <div class="discount-list"> - <view class="discount-title">浼樻儬鏄庣粏</view> - <div class="discount-way"> - <div class="discount-item" v-if="cartDetail.priceDetailDTO"> - <span>鍟嗗搧鎬婚</span> - <span>锟{cartDetail.priceDetailDTO.goodsPrice | unitPrice}}</span> - - </div> - <div class="discount-item" v-if="cartDetail.priceDetailDTO"> - <span>浼樻儬鍒�</span> - <span>-锟{cartDetail.priceDetailDTO.couponPrice | unitPrice}}</span> - </div> - <div class="discount-item" v-if="cartDetail.priceDetailDTO"> - <span>鍏朵粬浼樻儬</span> - <span>-锟{cartDetail.priceDetailDTO.discountPrice | unitPrice}}</span> - </div> - </div> - </div> - </u-popup> - - <view v-if="isEdit" @click="deleteGoods()"> - <div class="settlement">鍒犻櫎</div> - </view> - - <view v-else @click="submitOrder()"> - <div class="settlement">鍘荤粨绠�</div> - </view> - </div> - <u-toast ref="uToast" /> - <custom-tabbar bgColor="#ffffff" selected="buyCar"></custom-tabbar> - </view> -</template> -<script> - -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 { - data() { - return { - loading:false, - lightColor: this.$lightColor, - discountDetailsFlag: false, //浼樻儬鏄庣粏寮�鍏� - // 鍟嗗搧鏍忓彸渚ф粦鍔ㄦ寜閽� - options: [ - { - text: "鍒犻櫎", - style: { - backgroundColor: this.$lightColor, //楂樹寒棰滆壊 - }, - }, - ], - isInvalid(val) { - //鏄惁鏃犳晥鍟嗗搧/娌″簱瀛樺晢鍝� - if (val.invalid == 1 || (!val.checked && val.errorMessage)) { - return true; - } else { - return false; - } - }, - deleteShow: false, //鍙虫粦鍒犻櫎 - deleteContent: "鍒犻櫎璇ュ晢鍝侊紵", //鍒犻櫎鏄剧ず鐨勪俊鎭� - cartDetail: "", //璐墿杞﹁鎯� - goodsVal: "", //鍗曚釜鍟嗗搧璇︽儏 - isEdit: false, // 鏄惁鏄紪杈� - checkout: false, //鍏ㄩ�夋寜閽� - WEIXIN_num: "", //璐墿杞﹀吋瀹瑰井淇℃杩涘櫒 - marginBottom: 0 ,// 搴曢儴瀹夊叏鍖哄煙 - windowHeight: 0 // 鍙娇鐢ㄥ睆骞曢珮搴� - }; - }, - - mounted() { - this.marginBottom = uni.getSystemInfoSync().safeAreaInsets.bottom - this.windowHeight = uni.getSystemInfoSync().windowHeight - // #ifdef MP-WEIXIN - // 灏忕▼搴忛粯璁ゅ垎浜� - uni.showShareMenu({ withShareTicket: true }); - // #endif - }, - onPullDownRefresh(){ - this.getCardData(); - }, - /** - * 鍒濆鍖栦俊鎭� - */ - onShow() { - this.deleteShow ? (this.deleteShow = false) : true; - if (this.$refs.swiperAction) { - this.$refs.swiperAction.forEach((item, index) => { - item.show = false; - }); - - this.getCardData(); - } else { - this.getCardData(); - } - }, - methods: { - /** - * 鍊掓暟璁℃椂 - */ - getCountDownTime(val) { - if (val.promotionMap) { - let key = Object.keys(val.promotionMap).find((child, index) => { - return child.split("-")[0] == 'SECKILL' - }); - return val.promotionMap[key].endTime / 1000 - (new Date().getTime() / 1000) - } - }, - - /** - * 浼樻儬鏄庣粏寮�鍏� - */ - discountDetails() { - this.discountDetailsFlag = true; - }, - /** - * 宸︽粦鎵撳紑鍒犻櫎 - */ - openAction(skuItem) { - /**寰幆鐖剁骇鏈夊灏戜釜搴楅摵 */ - this.cartDetail.cartList.forEach((cartItem) => { - if (cartItem.skuList) { - cartItem.skuList.forEach((sku) => { - this.$set(sku, "selected", false); - }); - } - }); - this.$set(skuItem, "selected", true); - }, - - /** - * 婊戝姩鍒犻櫎 - */ - changeActionTab(val) { - this.deleteShow = true; - this.goodsVal = val; - }, - - /** - * 鐐瑰嚮鍒犻櫎 - */ - deleteConfirm() { - API_Trade.deleteSkuItem(this.goodsVal.goodsSku.id).then((res) => { - if (res.statusCode == 200) { - uni.showToast({ - title: "姝ゅ晢鍝佸垹闄ゆ垚鍔�", - duration: 2000, - }); - this.deleteShow = false; - this.getCardData(); - } - }); - }, - - /** - * 鍒犻櫎鍟嗗搧 - */ - deleteGoods() { - if (this.whetherChecked()) { - var delGoodsData = []; - this.cartDetail.cartList.forEach((item) => { - item.skuList.forEach((goodsItem) => { - if (goodsItem.checked) { - delGoodsData.push(goodsItem.goodsSku.id); - } - }); - }); - if (delGoodsData && delGoodsData.length > 0) { - // 鎵ц鍒犻櫎 - API_Trade.deleteSkuItem(delGoodsData).then((res) => { - if (res.data.success) { - uni.showToast({ - title: "鍒犻櫎鎴愬姛!", - icon: "none", - }); - this.getCardData(); - } - }); - } else { - uni.showToast({ - title: "璇烽�夋嫨鍒犻櫎鍟嗗搧锛屽鏋滃晢鍝佸け鏁堬紝璇峰乏婊戞棤鏁堝晢鍝佸垹闄�", - icon: "none", - }); - } - } - }, - - /** - * 璺宠浆鍒板簵閾� - */ - navigateToStore(val) { - uni.navigateTo({ - url: "/pages/product/shopPage?id=" + val.storeId, - }); - }, - - /** - * 璺宠浆鍒颁紭鎯犲埜 - */ - navigateToCoupon(val) { - uni.navigateTo({ - url: "/pages/cart/coupon/couponCenter?storeId=" + val.storeId, - }); - }, - - /** - * 璺宠浆鍒板晢鍝� - */ - navigateToGoods(val) { - uni.navigateTo({ - url: - "/pages/product/goods?id=" + - val.goodsSku.id + - "&goodsId=" + - val.goodsSku.goodsId, - }); - }, - - /** - * 鐐瑰嚮姝ヨ繘鍣ㄥ洖璋� - */ - numChange: debounce(function (val) { - this.updateSkuNumFun(val.goodsSku.id, val.num); - }, 1000), - /** - * 鍘荤粨绠� - */ - submitOrder() { - if (this.whetherChecked()) { - this.navigateTo("/pages/order/fillorder?way=CART"); - } - }, - - /** - * 楠岃瘉鏄惁閫変腑鍟嗗搧 - */ - whetherChecked() { - this.$options.filters.forceLogin() - - let canBuy = false; - this.cartDetail.cartList.forEach((item) => { - if (item.checked) { - canBuy = true; - } else { - item.skuList.forEach((skuItem) => { - if (skuItem.checked) { - canBuy = true; - } - }); - } - }); - if (!canBuy) { - uni.showToast({ - title: "鎮ㄨ繕娌℃湁閫夋嫨鍟嗗搧", - duration: 2000, - icon: "none", - }); - return false; - } else { - return true; - } - }, - - /** - * 璺宠浆 - */ - navigateTo(url) { - uni.navigateTo({ - url, - }); - }, - - /** - * 鍏ㄩ�� - */ - checkOut() { - API_Trade.checkAll(this.checkout).then((result) => { - if (result.data.success) { - this.getCardData(); - return true; - } - }); - }, - - /** - * 鑾峰彇搴楅摵閫変腑淇℃伅 - */ - checkStoreFun(skuId, num) { - API_Trade.checkStore(skuId, num).then((result) => { - if (result.data.success) { - this.getCardData(); - } - }); - }, - - /** - * 搴楅摵鐐瑰嚮 - */ - checkboxChangeDP(e) { - // #ifdef MP-WEIXIN - e.checked = !e.checked; - // #endif - this.checkStoreFun(e.storeId, e.checked); - }, - - /** - * 鑾峰彇璐墿杞﹂�変腑淇℃伅 - */ - updateSkuCheckedFun(skuId, num) { - API_Trade.updateSkuChecked(skuId, num).then((result) => { - if (result.data.success) { - this.getCardData(); - } - }); - }, - - /** - * 鏇存柊鍟嗗搧璐墿杞︽暟閲� - */ - updateSkuNumFun(skuId, num) { - API_Trade.updateSkuNum(skuId, num).then((result) => { - if (result.statusCode == 200) { - this.getCardData(); - } else { - let _this = this; - setTimeout(() => { - _this.getCardData(); - }, 1000); - } - }); - }, - - // 鏁版嵁鍘婚噸涓�涓� - getPromotion(item) { - return Object.keys(item.promotionMap).map((child) => { - return child.split("-")[0] - }); - }, - - /** - * 鑾峰彇璐墿杞︽暟鎹� - */ - getCardData() { - if (this.$options.filters.isLogin("auth")) { - uni.showLoading({ - title: "鍔犺浇涓�", - }); - API_Trade.getCarts() - .then((result) => { - this.loading = false; - uni.stopPullDownRefresh(); - if (result.data.success) { - this.cartDetail = result.data.result; - let checkOuted = true; - for (let i = 0; i < this.cartDetail.cartList.length; i++) { - let item = this.cartDetail.cartList[i]; - console.log(item); - // 寰幆鍑哄綋鍓嶅晢鍝佹槸鍚﹀叏閫� - if (item.checked == 0) { - checkOuted = false; - } - // 濡傛灉鏈夋嫾鍥㈡椿鍔ㄩ『渚垮垹闄� - item.skuList && - item.skuList.forEach((sku) => { - if (sku.checked == 0) { - checkOuted = false; - } - if(Object.keys(sku.promotionMap).length != 0) - { - Object.keys(sku.promotionMap).forEach((pro, proIndex) => { - pro = pro.split('-')[0] - if (pro == "PINTUAN" ) { - Object.keys(sku.promotionMap).splice(proIndex, 1); - } - }); - } - - }); - } - this.checkout = checkOuted; - uni.stopPullDownRefresh(); - } - }) - .catch((err) => {this.loading = false;}); - if (this.$store.state.isShowToast){ uni.hideLoading() }; - } else { - if (this.$store.state.isShowToast){ uni.hideLoading() }; - } - }, - - /** - * 閫変腑鏌愪釜澶嶉�夋鏃讹紝鐢眂heckbox鏃惰Е鍙� - */ - checkboxChange(e) { - // #ifdef MP-WEIXIN - e.checked = !e.checked; - // #endif - this.updateSkuCheckedFun(e.goodsSku.id, e.checked); - }, - }, -}; -</script> - -<style lang="scss"> -page { - background: #f2f2f2; -} -</style> -<style scoped lang="scss"> -// #ifdef MP-WEIXIN -@import "./mp-carui.scss"; -// #endif -.u-image { - box-shadow: 0 4rpx 12rpx 0 rgba(0, 0, 0, 0.05); -} -.edit{ - padding-right: 32rpx; - font-size: 28rpx; -} -.promotion-notice { - margin-top: 10px; - margin-left: 68rpx; - font-size: 24rpx; - color: #333; - font-weight: bold; - display: flex; - align-items: center; - /deep/ .tips { - margin: 0 8rpx 0 0; - background: $main-color; - border-radius: 100px; - display: block; - flex: 1; - padding: 2rpx 12rpx; - color: #fff; - } -} -.default-color { - color: #333; -} -.goods-row { - padding: 30rpx 0; - - display: flex; - align-items: center; -} - -.store-name { - font-weight: bold; - font-size: 28rpx; -} -.invalid { - filter: grayscale(1); -} - -.cart-item { - border-radius: 0.4em; - transition: 0.35s; -} - -/* 绌虹櫧椤� */ -/deep/ .u-number-input { - background: #fff !important; - border: 1px solid #ededed; - margin: 0 !important; -} - -/deep/ .u-icon-minus, -/deep/ .u-icon-plus { - background: #ffffff !important; - border: 1px solid #ededed; - color: #333 !important; - width: 40rpx; -} - -.empty { - position: fixed; - left: 0; - top: 0; - width: 100%; - height: calc(100vh - 50px); - z-index: 99; - padding-bottom: var(--window-bottom); - display: flex; - justify-content: center; - flex-direction: column; - align-items: center; - background: #fff; - - image { - width: 240rpx; - height: 160rpx; - margin-bottom: 30rpx; - } - - .empty-tips { - display: flex; - font-size: $font-sm + 2rpx; - color: $font-color-disabled; - - .navigator { - color: $uni-color-primary; - margin-left: 16rpx; - } - } -} - -.settlement { - width: 180rpx; - height: 70rpx; - line-height: 70rpx; - background: linear-gradient(91deg, $light-color 1%, $aider-light-color 99%); - border-radius: 900rpx; - text-align: center; - color: #fff; - margin-right: 10rpx; -} - -.price { - display: flex; - align-items: center; - - /deep/ .number { - line-height: 1; - font-size: 30rpx; - > span { - font-weight: bold; - } - } -} - -.box2 { - border-radius: 20rpx; - padding: 0 16rpx 0; - margin: 0 16rpx 20rpx; - .u-checkbox { - display: flex; - align-items: center; - text-align: center; - } - background: #fff; - -} - -.wrapper { - height: calc(100% - 50px);; -} - -/deep/ .u-col { - padding: 24rpx 0 !important; -} - -.goods-content { - width: 100%; - height: 100%; - overflow: hidden; - > p { - padding-left: 20rpx; - } -} - -.content { - padding: 20rpx 0 20rpx 0; - margin-bottom: 80rpx; -} - -.line { - float: left; - width: 1px; - height: 100%; - border-right: 1px solid $light-color; -} - -.store-line-check, -.store-line-img, -.store-line-desc { - // #ifdef MP-WEIXIN - float: left; - // #endif -} - -.store-line { - // #ifndef MP-WEIXIN - display: flex; - // #endif - overflow: hidden; - flex:10; -} - -.goods-config { - display: flex; - align-items: center; - /deep/ .invalid { - display: block; - width: 80rpx !important; - } -} -.tab { - display: flex; - align-items: center; - justify-content: space-between; - padding: 30rpx 0 0 0; -} - -.right-col { - flex:2; - text-align: center; - width: 100rpx; - color: $light-color; - font-size: 26rpx; - - > span { - margin-left: 20rpx; - } -} - -.right-line { - width: 3px; - float: left; - height: 40rpx; - border-left: 1px solid #eeeeee; - - /deep/ span { - margin-left: 20rpx; - } -} - -.box6 { - justify-content: space-between; - position: fixed; - // #ifdef APP-PLUS || MP-WEIXIN - bottom: 50px; - // #endif - // #ifdef H5 - bottom: var(--window-bottom); - // #endif - left: 0; - border-top: 1px solid #ededed; - display: flex; - height: 100rpx; - overflow: hidden; - align-items: center; - width: 100%; - background: rgba(255, 255, 255, 1); - color: #333; - z-index: 99; - > .navL { - padding: 0 32rpx; - display: flex; - align-items: center; - } -} - -.sp-type { - color: $u-light-color; - padding: 10rpx 0; - font-size: 24rpx; - overflow: hidden; - - text-overflow: ellipsis; - - white-space: nowrap; -} - - -.sp-number { - font-weight: bold; - - display: flex; - justify-content: space-between; - > .sp-price { - /deep/ span:nth-of-type(1) { - font-size: 38rpx; - } - /deep/ span:nth-of-type(2) { - font-size: 24rpx; - } - } -} -.priceDetail-flowPrice { - font-weight: bold; - padding-left: 20rpx; - > span:nth-of-type(1) { - font-size: 38rpx; - } -} - -.prices { - display: flex; - flex-direction: column; - - > .discountPrice { - align-items: center; - display: flex; - font-size: 24rpx; - color: rgb(201, 199, 199); - } -} -.discount-details { - margin-left: 10px; - color: #666; - padding: 4rpx 10rpx; - border-radius: 100px; - background: rgba(201, 199, 199, 0.3); -} -.discount-item { - display: flex; - margin: 40rpx 0; - justify-content: space-between; - > span:nth-of-type(1) { - color: #666; - } - > span:nth-of-type(2) { - color: #333; - font-weight: bold; - } -} -.discount-title { - font-size: 36rpx; - margin-top: 20rpx; - text-align: center; -} -.discount-way { - width: 94%; - margin: 0 3%; -} -.discount-list { - width: 100%; -} -.promotions-list { - margin-left: 20rpx; - > .promotions-item-seckill { - background: rgba($color: $main-color, $alpha: 0.1); - font-size: 24rpx; - color: $main-color; - display: inline; - padding: 0rpx 10rpx; - border-radius: 100px; - } -} -</style> diff --git a/pages/tabbar/cart/mp-carui.scss b/pages/tabbar/cart/mp-carui.scss deleted file mode 100644 index c33d12a..0000000 --- a/pages/tabbar/cart/mp-carui.scss +++ /dev/null @@ -1,8 +0,0 @@ -.box2 { - padding: 0 16rpx 0; - margin: 0 16rpx 20rpx; - -} -.uNumber{ - display: flex; -} \ No newline at end of file diff --git a/pages/tabbar/category/category.vue b/pages/tabbar/category/category.vue deleted file mode 100644 index 36bb59d..0000000 --- a/pages/tabbar/category/category.vue +++ /dev/null @@ -1,224 +0,0 @@ -<template> - <view class="category-wrap"> - <u-navbar class="navbar" :is-back="false"> - <div class="title">鍟嗗搧鍒嗙被</div> - <!-- #ifdef H5 --> - <u-search class="nav-search" @click.native="search" placeholder="鎼滅储鍟嗗搧" :show-action="false"></u-search> - <!-- #endif --> - <!-- #ifndef H5 --> - <u-search class="nav-search" disabled @click.native="search" placeholder="鎼滅储鍟嗗搧" :show-action="false"></u-search> - <!-- #endif --> - </u-navbar> - <view class="content"> - <scroll-view scroll-y scroll-with-animation class="left-aside"> - <view v-for="(item, index) in tabList" :key="item.id" class="f-item b-b" :class="{ active: item.id === currentId }" @click="tabtap(item, index)"> - {{ item.name }} - </view> - </scroll-view> - <scroll-view scroll-with-animation scroll-y class="right-aside" :upper-threshold="-100" :lower-threshold="-100"> - <!-- 澶撮儴鍥剧墖 --> - <view class="top-img" id="main-top"> - <u-image width="500rpx" height="230rpx" @click="navigateToList(topImg.id,topImg.id)" :src="topImg.image" mode=""> - </u-image> - </view> - <view v-for="item in categoryList" :key="item.id" class="s-list" :id="'main-' + item.id"> - <!-- 鍒嗙被鏍囬 --> - <text class="s-item">{{ item.name }}</text> - <!-- 鍒嗙被璇︽儏 --> - <view class="t-list"> - <view @click="navigateToList(item.id, children.id)" v-if="children.parentId === item.id" class="t-item" v-for="(children, cIndex) in item.children" :key="children.id" - :class="{ 'margin-right': (cIndex + 1) % 3 == 0 }"> - <u-image width="70px" height="70px" :src="children.image" :lazy-load="true"> - </u-image> - <text>{{ children.name }}</text> - </view> - </view> - </view> - </scroll-view> - </view> - <custom-tabbar bgColor="#ffffff" selected="shop"></custom-tabbar> - </view> -</template> - -<script> -import '@/components/uview-components/uview-ui'; -import { getCategoryList } from "@/api/goods.js"; -export default { - data() { - return { - currentId: 0, - tabList: [], //宸︿晶鏍囬鍒楄〃 - categoryList: [], //鍙充晶鍒嗙被鏁版嵁鍒楄〃 - topImg: "", //椤堕儴鍥剧墖 - }; - }, - onLoad() { - this.loadData(); - // #ifdef MP-WEIXIN - // 灏忕▼搴忛粯璁ゅ垎浜� - uni.showShareMenu({ withShareTicket: true }); - // #endif - }, - methods: { - /** - * 鏌ヨ - */ - search() { - uni.navigateTo({ - url: "/pages/navigation/search/searchPage", - }); - }, - - /** - * 鍔犺浇鍥剧墖 - */ - async loadData() { - let list = await getCategoryList(0); - this.tabList = list.data.result; - this.currentId = list.data.result[0].id; - this.loadListContent(0); - }, - - /** - * 鍔犺浇鍒楄〃鍐呭 - */ - loadListContent(index) { - this.topImg = this.tabList[index]; - this.categoryList = this.tabList[index].children; - }, - /** - * 涓�绾у垎绫荤偣鍑� - */ - tabtap(item, i) { - if (item.id != this.currentId) { - this.currentId = item.id; - this.loadListContent(i); - } - }, - - navigateToList(sid, tid) { - uni.navigateTo({ - url: `/pages/navigation/search/searchPage?category=${tid}`, - }); - }, - }, -}; -</script> - -<style lang="scss" scoped> -page { - height: 100%; - background-color: #fdfaff; -} -/* 瑙e喅灏忕▼搴忓拰app婊氬姩鏉$殑闂 */ -/* #ifdef MP-WEIXIN || APP-PLUS */ -::-webkit-scrollbar { - display: none; -} -/* #endif */ -/* 瑙e喅H5 鐨勯棶棰� */ -/* #ifdef H5 */ -uni-scroll-view .uni-scroll-view::-webkit-scrollbar { - /* 闅愯棌婊氬姩鏉★紝浣嗕緷鏃у叿澶囧彲浠ユ粴鍔ㄧ殑鍔熻兘 */ - display: none; -} -/* #endif */ -.s-list { - box-shadow: 0 4rpx 12rpx 0 rgba(0, 0, 0, 0.05); -} -.nav-search { - padding-left: 30rpx !important; - padding-right: 20rpx !important; -} -.title { - display: block; - width: 259rpx; - text-align: center; - font-size: 28rpx; - - -} -.category-wrap { - height: 100%; - .content { - height: calc(100vh - 94px); - display: flex; - color: #333; - font-size: 28rpx; - background: #fff; - } - .left-aside { - flex-shrink: 0; - width: 200rpx; - height: 100%; - background-color: #f7f7f7; - } - .f-item { - display: flex; - align-items: center; - justify-content: center; - width: 100%; - height: 97rpx; - position: relative; - &.active { - font-weight: bold; - color: $light-color; - background: #fff; - } - } - .right-aside { - flex: 1; - overflow: hidden; - padding: 40rpx 0 0 30rpx; - } - - .top-img { - width: 500rpx; - height: 230rpx; - border-radius: 8px; - overflow: hidden; - image { - width: 100%; - height: 100%; - } - } - .s-item { - display: flex; - align-items: center; - height: 70rpx; - padding-top: 16rpx; - font-weight: 500; - } - .t-list { - display: flex; - flex-wrap: wrap; - width: 100%; - padding-top: 12rpx; - } - .margin-right { - margin-right: 0 !important; - } - .t-item { - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; - width: 150rpx; - margin-right: 25rpx; - font-size: 24rpx; - padding-bottom: 20rpx; - image { - width: 140rpx; - height: 140rpx; - border-radius: 8px; - margin-bottom: 20rpx; - } - /deep/ .u-image { - width: 140rpx !important; - height: 140rpx !important; - border-radius: 8px !important; - margin-bottom: 20rpx !important; - } - } -} -</style> diff --git a/pages/tabbar/screen/fullScreen.vue b/pages/tabbar/screen/fullScreen.vue deleted file mode 100644 index c93b1cd..0000000 --- a/pages/tabbar/screen/fullScreen.vue +++ /dev/null @@ -1,96 +0,0 @@ -<template> - <u-modal v-model="show" cancelText="涓嶅悓鎰�" confirmText="鍚屾剰" showCancelButton title="鏈嶅姟鍗忚鍜岄殣绉佹斂绛�" @confirm="confirm" @cancel="cancel"> - <view class="u-update-content"> - 璇锋偍鍔″繀瀹℃厧闃呰,鍏呭垎鐞嗚В鈥滄湇鍔″崗璁�濆拰鈥滈殣绉佹斂绛栤�濆悇鏉℃锛� - 鍖呮嫭浣嗕笉闄愪簬锛氫负浜嗘洿濂界殑鍚戜綘鎻愪緵鏈嶅姟锛屾垜浠渶瑕佹敹闆嗕綘鐨勮澶囨爣璇�, - 鎿嶄綔鏃ュ織绛変俊鎭敤浜庡垎鏋愶紝浼樺寲搴旂敤鎬ц兘銆� 鎮ㄥ彲闃呰浣犲彲闃呰 - <a @click="gotoLink">銆婃湇鍔″崗璁��</a> - 鍜� - <a @click="gotoB"> 銆婇殣绉佹斂绛栥��</a>浜嗚В璇︾粏淇℃伅銆� - 濡傛灉鎮ㄥ悓鎰忥紝璇风偣鍑讳笅闈㈡寜閽紑濮嬫帴鍙楁垜浠殑鏈嶅姟銆� - </view> - </u-modal> -</template> - -<script> -import storage from "@/utils/storage"; -export default { - created() { - //鍏堣繘鍏� created - // if (storage.getShow()) { - // //灞曠ず鐨勮瘽杩涘叆 true - // console.log(this.show); //濡傛灉涓婇潰娌¤缂撳瓨 姝ゆ椂 this.show 涓簍rue - // if (!this.show) { - // //濡傛灉绛変簬 false 浜� 灏辫烦鍒颁富椤� - // this.show = storage.getShow(); //杩欓噷灏变负false - // setTimeout(() => { - // //鐒跺悗杩欓噷灏辫烦杞埌 棣栭〉 - // uni.reLaunch({ - // //璺宠浆鍒� 棣栭〉 - // url: "/pages/tabbar/home/index", - // }); - // }, 500); - // } - // } - }, - data() { - return { - show: true, //灞曠ず - btnShow:true, - a: "", - }; - }, - // onReady() { - // this.show = true; - // }, - methods: { - gotoLink() { - uni.navigateTo({ - //鐐瑰嚮璺宠浆鍒版祻瑙堝櫒 - url: - "/pages/tabbar/home/web-view?src=https://pc-b2b2c.pickmall.cn/article/detail?id=1371992704333905920", - }); - }, - gotoB() { - uni.navigateTo({ - url: - "/pages/tabbar/home/web-view?src=https://pc-b2b2c.pickmall.cn/article/detail?id=1371779927900160000", - }); - }, - //鍙栨秷 - cancel(){ - // #ifdef APP-PLUS - // const threadClass = plus.ios.importClass("NSThread"); - // const mainThread = plus.ios.invoke(threadClass, "mainThread"); - // plus.ios.invoke(mainThread, "exit") - plus.ios.import("UIApplication").sharedApplication().performSelector("exit") - // #endif - }, - confirm() { - //鐐瑰嚮 - this.show = false; // 璁╄繖涓涓篺alse - storage.setShow(this.show); //瀛樺叆缂撳瓨 - if (!this.show) { - // 浠栧鏋� 涓嶅睍绀� 灏辫烦杞埌涓婚〉 - setTimeout(() => { - uni.reLaunch({ - //璺宠浆鍒� 棣栭〉 - url: "/pages/tabbar/home/index", - }); - }, 500); - } - }, - }, -}; -</script> - -<style scoped> -.u-update-content { - font-size: 26rpx; - padding: 30rpx; -} -a { - text-decoration: blue; - color: blue; -} -</style> diff --git a/pages/tabbar/special/special.vue b/pages/tabbar/special/special.vue deleted file mode 100644 index f5a4442..0000000 --- a/pages/tabbar/special/special.vue +++ /dev/null @@ -1,248 +0,0 @@ -<template> - <div class="wrapper"> - <!-- uni 涓笉鑳戒娇鐢� vue component 鎵�浠ョ敤if鍒ゆ柇姣忎釜缁勪欢 --> - <div v-for="(item, index) in pageData.list" :key="index"> - <!-- 鎼滅储鏍忥紝濡傛灉鍦ㄦゼ灞傝淇《閮ㄥ垯浼氳嚜鍔ㄦ诞鍔紝鍚﹀垯涓嶆诞鍔� --> - <div class="navbar" v-if="item.type == 'search'"> - <search style="width: 100%" :res="item.options" /> - <!-- #ifndef H5 --> - <!-- 鎵爜鍔熻兘 涓嶅吋瀹筯5 璇︽儏鏂囨。: https://uniapp.dcloud.io/api/system/barcode?id=scancode --> - <div slot="right" class="navbar-right"> - <u-icon name="scan" @click="scan()" color="#666" size="50"></u-icon> - </div> - <!-- #endif --> - </div> - <carousel v-if="item.type == 'carousel'" :res="item.options" /> - <titleLayout v-if="item.type == 'title'" :res="item.options" /> - <leftOneRightTwo - v-if="item.type == 'leftOneRightTwo'" - :res="item.options" - /> - <leftTwoRightOne - v-if="item.type == 'leftTwoRightOne'" - :res="item.options" - /> - <topOneBottomTwo - v-if="item.type == 'topOneBottomTwo'" - :res="item.options" - /> - <topTwoBottomOne - v-if="item.type == 'topTwoBottomOne'" - :res="item.options" - /> - <flexThree v-if="item.type == 'flexThree'" :res="item.options" /> - <flexFive v-if="item.type == 'flexFive'" :res="item.options" /> - <flexFour v-if="item.type == 'flexFour'" :res="item.options" /> - <flexTwo v-if="item.type == 'flexTwo'" :res="item.options" /> - <textPicture v-if="item.type == 'textPicture'" :res="item.options" /> - <menuLayout v-if="item.type == 'menu'" :res="item.options" /> - <flexOne v-if="item.type == 'flexOne'" :res="item.options" /> - <goods v-if="item.type == 'goods'" :res="item.options" /> - <group v-if="item.type == 'group'" :res="item.options" /> - <notice v-if="item.type == 'notice'" :res="item.options" /> - <promotions v-if="item.type == 'promotionDetail'" :res="item.options" /> - <!-- <joinGroup v-if="item.type == 'joinGroup'" :res="item.options" /> --> - <!-- <integral v-if="item.type == 'integral'" :res="item.options" /> --> - <!-- <spike v-if="item.type == 'spike'" :res="item.options" /> --> - </div> - <u-no-network></u-no-network> - </div> -</template> - -<script> -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"; //鏍囬鏍忔ā鍧� -import tpl_left_one_right_two from "@/pages/tabbar/home/template/tpl_left_one_right_two"; //宸︿竴鍙充簩妯″潡 -import tpl_left_two_right_one from "@/pages/tabbar/home/template/tpl_left_two_right_one"; //宸︿簩鍙充竴妯″潡 -import tpl_top_one_bottom_two from "@/pages/tabbar/home/template/tpl_top_one_bottom_two"; //涓婁竴涓嬩簩妯″潡 -import tpl_top_two_bottom_one from "@/pages/tabbar/home/template/tpl_top_two_bottom_one"; //涓婁簩涓嬩竴妯″潡 -import tpl_flex_one from "@/pages/tabbar/home/template/tpl_flex_one"; //鍗曡鍥剧墖妯″潡 -import tpl_flex_two from "@/pages/tabbar/home/template/tpl_flex_two"; //涓ゅ紶妯浘妯″潡 -import tpl_flex_three from "@/pages/tabbar/home/template/tpl_flex_three"; //涓夊垪鍗曡鍥剧墖妯″潡 -import tpl_flex_five from "@/pages/tabbar/home/template/tpl_flex_five"; //浜斿垪鍗曡鍥剧墖妯″潡 -import tpl_flex_four from "@/pages/tabbar/home/template/tpl_flex_four"; //鍥涘垪鍗曡鍥剧墖妯″潡 -import tpl_text_picture from "@/pages/tabbar/home/template/tpl_text_picture"; //鏂囧瓧鍥剧墖妯℃澘 -import tpl_menu from "@/pages/tabbar/home/template/tpl_menu"; //浜斿垪鑿滃崟妯″潡 -import tpl_search from "@/pages/tabbar/home/template/tpl_search"; //鎼滅储鏍� -import tpl_group from "@/pages/tabbar/home/template/tpl_group"; // -import tpl_goods from "@/pages/tabbar/home/template/tpl_goods"; //鍟嗗搧鍒嗙被浠ュ強鍒嗙被涓殑鍟嗗搧 -// 缁撴潫寮曠敤缁勪欢 -import { toSpecial, getSpecial } from "@/api/home"; //鑾峰彇妤煎眰瑁呬慨鎺ュ彛 -import permision from "@/js_sdk/wa-permission/permission.js"; //鏉冮檺宸ュ叿绫� -import config from "@/config/config"; -import tpl_notice from "@/pages/tabbar/home/template/tpl_notice"; //鏍囬鏍忔ā鍧� -import tpl_promotions from "@/pages/tabbar/home/template/tpl_promotions_detail"; //鏍囬鏍忔ā鍧� - -export default { - data() { - return { - id: "", - config, - pageData: "", //妤煎眰椤甸潰鏁版嵁 - bodyParam: "", - isIos: "" - }; - }, - components: { - carousel: tpl_banner, - titleLayout: tpl_title, - leftOneRightTwo: tpl_left_one_right_two, - leftTwoRightOne: tpl_left_two_right_one, - topOneBottomTwo: tpl_top_one_bottom_two, - topTwoBottomOne: tpl_top_two_bottom_one, - flexThree: tpl_flex_three, - flexFive: tpl_flex_five, - flexFour: tpl_flex_four, - flexTwo: tpl_flex_two, - textPicture: tpl_text_picture, - menuLayout: tpl_menu, - search: tpl_search, - flexOne: tpl_flex_one, - goods: tpl_goods, - group: tpl_group, - notice: tpl_notice, - promotions: tpl_promotions - }, - - mounted() { - this.init(); - // #ifdef MP-WEIXIN - // 灏忕▼搴忛粯璁ゅ垎浜� - uni.showShareMenu({ withShareTicket: true }); - // #endif - }, - onLoad(val) { - this.id = val.id; - this.bodyParam = val.body; - }, - - methods: { - /** - * 瀹炰緥鍖栭椤垫暟鎹ゼ灞� - */ - init() { - this.pageData = ""; - console.log(this.bodyParam); - if (this.bodyParam) { - toSpecial({body: this.bodyParam}).then(res => { - if (res.data.success) { - this.pageData = JSON.parse(res.data.result.pageData); - } - }); - } else { - getSpecial(this.id).then(res => { - if (res.data.success) { - this.pageData = JSON.parse(res.data.result.pageData); - } - }); - } - }, - - /** - * TODO 鎵爜鍔熻兘鍚庣画杩樹細鍚庣画澧炲姞 - * 搴旇瀹炵幇鐨勫姛鑳界洰鍓嶈鍒掓湁锛� - * 鎵弿鍟嗗搧璺宠浆鍟嗗搧椤甸潰 - * 鎵弿娲诲姩璺宠浆娲诲姩椤甸潰 - * 鎵弿浜岀淮鐮佺櫥褰� - * 鎵弿鍏朵粬绔欎俊鎭� 寮瑰嚭鎻愮ず锛岃繑鍥為椤点�� - */ - seacnCode() { - uni.scanCode({ - success: function(res) { - let path = encodeURIComponent(res.result); - - // WX_CODE 涓哄皬绋嬪簭鐮� - if (res.scanType == "WX_CODE") { - console.log(res); - uni.navigateTo({ - url: `/${res.path}` - }); - } else { - config.scanAuthNavigation.forEach(src => { - if (res.result.indexOf(src) != -1) { - uni.navigateTo({ - url: `/${res.result.substring(src.length)}` - }); - } else { - setTimeout(() => { - uni.navigateTo({ - url: "/pages/tabbar/home/web-view?src=" + path - }); - }, 100); - } - }); - } - } - }); - }, - - /** - * 鎻愮ず鑾峰彇鏉冮檺 - */ - tipsGetSettings() { - uni.showModal({ - title: "鎻愮ず", - content: "鎮ㄥ凡缁忓叧闂浉鏈烘潈闄�,鍘昏缃�", - success: function(res) { - if (res.confirm) { - if (this.isIos) { - plus.runtime.openURL("app-settings:"); - } else { - permision.gotoAppPermissionSetting(); - } - } - } - }); - }, - - /** - * 鍞ら啋瀹㈡埛绔壂鐮� - * 娌℃潈闄愬幓鐢宠鏉冮檺锛屾湁鏉冮檺鑾峰彇鎵爜鍔熻兘 - */ - async scan() { - // #ifdef APP-PLUS - this.isIos = plus.os.name == "iOS"; - // 鍒ゆ柇鏄惁鏄疘os - if (this.isIos) { - const iosFirstCamera = uni.getStorageSync("iosFirstCamera"); //鏄笉鏄涓�娆″紑鍚浉鏈� - if (iosFirstCamera !== "false") { - uni.setStorageSync("iosFirstCamera", "false"); //璁句负false灏变唬琛ㄤ笉鏄涓�娆″紑鍚浉鏈� - this.seacnCode(); - } else { - if (permision.judgeIosPermission("camera")) { - this.seacnCode(); - } else { - // 娌℃湁鏉冮檺鎻愰啋鏄惁鍘荤敵璇锋潈闄� - this.tipsGetSettings(); - } - } - } else { - /** - * TODO 瀹夊崜 鏉冮檺宸茬粡鎺堟潈浜嗭紝璋冪敤api鎬绘槸鏄剧ず鐢ㄦ埛宸叉案涔呮嫆缁濈敵璇枫�備汉鍌讳簡 - * TODO 濡傛灉xdm鏈夋洿濂界殑鍔炴硶璇峰湪 https://gitee.com/beijing_hongye_huicheng/lilishop/issues 鎻愪笅璋㈣阿 - */ - this.seacnCode(); - } - - // #endif - - // #ifdef MP-WEIXIN - this.seacnCode(); - // #endif - } - } -}; -</script> - -<style scoped lang="scss"> -.navbar-right { - padding: 0 16rpx 0 0; -} - -.navbar { - display: flex; - align-items: center; -} -</style> \ No newline at end of file diff --git a/pages/tabbar/video/video.vue b/pages/tabbar/video/video.vue deleted file mode 100644 index c601704..0000000 --- a/pages/tabbar/video/video.vue +++ /dev/null @@ -1,940 +0,0 @@ -<template> - <view class="publish-container" :style="{height: windowHeight - marginBottom - 50 + 'px'}"> - <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="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> - </view> - - <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"> - <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="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" - 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" - placeholder="杈撳叆璇濋锛屽洖杞︾‘璁�" - clearable - @confirm="addTag" - @blur="addTag" - @input="searchTags" - ></u-input> - <!-- 宸查�夎瘽棰樺睍绀� --> - <view class="tags-display" v-show="formData.tags.length > 0"> - <my-tag - v-for="(tag, index) in formData.tags" - :key="index" - :text="tag.tagName" - :index="index" - type="success" - @close="removeTag(index)" - /> - </view> - <text class="tags-count" v-show="formData.tags.length > 0"> - 宸查�� {{ formData.tags.length }}/5 - </text> - </view> - <!-- 璇濋鎺ㄨ崘 --> - <view class="hot-topics" v-show="showTopicRecommendations"> - <text class="section-title">{{ tagInput ? '鎺ㄨ崘璇濋' : '鐑棬璇濋' }}</text> - <view class="topic-list"> - <my-tag - v-for="(tag, index) in recommendedTags" - :key="index" - :text="tag.tagName" - :index="index" - type="success" - :closeable="false" - @click="selectTopic(index)" - /> - </view> - </view> - </u-form-item> - - - <!-- 鍟嗗搧閾炬帴 --> - <u-form-item label="鍟嗗搧" prop="goodsId" borderBottom> - <view class="goods-link-container"> - <u-input - placeholder="鍙�夋嫨鎺ㄨ崘鍟嗗搧" - clearable - v-if="!selectedGoods" - @click="chooseGoods" - disabled - > - <u-icon - slot="right" - name="search" - size="24" - @click="chooseGoods" - ></u-icon> - </u-input> - <view class="goods-preview" @click="chooseGoods" v-for="goods in selectedGoodsList" :key="goods.id"> - <image :src="endpoint + '/' + 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="1"/> - </view> - </view> - </view> - <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="success" - shape="circle" - :loading="loading" - @click="handlePublish" - :disabled="!canPublish" - > - {{ loading ? '鍙戝竷涓�...' : '绔嬪嵆鍙戝竷' }} - </u-button> - </view> - - <!-- 鍟嗗搧閫夋嫨寮圭獥 --> - <u-popup v-model="showGoodsPicker" mode="bottom" round="20" height="70%"> - <view class="goods-picker"> - <view class="picker-header"> - <text class="picker-title">閫夋嫨鍟嗗搧</text> - <u-icon name="close" size="24" @click="showGoodsPicker = false"></u-icon> - </view> - <view class="search-bar"> - <u-search - v-model="goodsQuery.keyword" - placeholder="鎼滅储鍟嗗搧" - :showAction="false" - @change="handlerGoodsSearch" - ></u-search> - </view> - <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, index)" - > - <image :src="endpoint + '/' + goods.thumbnail" class="goods-image"></image> - <view class="goods-info"> - <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="36" - :color="'#2979ff'" - ></u-icon> - </view> - </scroll-view> - </view> - </u-popup> - - <custom-tabbar bgColor="#ffffff" selected="video"></custom-tabbar> - </view> -</template> - -<script> -import '@/components/uview-components/uview-ui'; -import MyTag from '@/components/my-tag.vue' - -import { getSTSToken } 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}, - data() { - return { - fileTypeShow: false, - cosClient: null, - bucket: '', - region: '', - endpoint: '', - videoUploadProgress: 0, - loading: false, - showGoodsPicker: false, - tagInput: '', - videoPreviewImgs: [], // 棰勮鍥剧墖鍦板潃 - videoInfo: { - url: '', - fileKey: '', - fileType: '', - fileSize: 0, - originalFileName: '', - cover: '' - }, - goodsQuery: { - keyword: '', - searchFromSelfStore: false, // 鏄惁鏄煡璇㈣嚜瀹跺簵閾哄晢鍝� - pageNumber: 0, - pageSize: 5 - }, - formData: { - id: '', - title: '', - cover: '', - videoFileKey: '', - videoDuration: 0, - videoFit: 'cover', - videoContentType: 'video', - videoImgs: [], - tags: [], - fileInfo: {} - }, - 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, // 鍥剧墖闂磋窛 - windowHeight: 0, - marginBottom: 0 - }; - }, - computed: { - canPublish() { - 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() { - // 鑾峰彇灞忓箷瀹藉害 - const systemInfo = uni.getSystemInfoSync() - this.screenWidth = systemInfo.windowWidth - this.windowHeight = systemInfo.windowHeight - this.marginBottom = uni.getSystemInfoSync().safeAreaInsets.bottom - this.goodsQuery.pageNumber = 0 - this.goodsQuery.pageSize = 10 - this.getVideoGoodsByEs() - }, - onShow() { - this.initCOS() - // 鍒濆鍖栨帹鑽愭爣绛� - this.getRecommendTags() - }, - methods: { - // 鍔犺浇鏇村鍟嗗搧 - loadMoreGoods() { - if(this.noMoreGoods) { - return - } - this.goodsQuery.pageNumber += 1; - this.goodsQuery.pageSize = 5; - this.getVideoGoodsByEs() - }, - // 澶勭悊鍟嗗搧鎼滅储鍊� - handlerGoodsSearch() { - this.goodsQuery.pageNumber = 0 - this.goodsQuery.pageSize = 10 - this.getVideoGoodsByEs() - }, - // 鑾峰彇鍟嗗搧鍒嗛〉 - async getVideoGoodsByEs() { - getVideoGoodsList(this.goodsQuery).then(res => { - - if(this.goodsQuery.pageNumber === 0) { - 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 = { - tagName: this.tagInput.trim(), - searchType: type - } - getRecommendTag3(params).then(res => { - this.recommendedTags = res.data.data - }) - }, - // 鍒濆鍖栬吘璁簯cos瀹㈡埛绔� - initCOS() { - // 璋冪敤鍚庣鑾峰彇sts涓存椂璁块棶鍑瘉 - 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 - SecretKey: res.data.data.tmpSecretKey, // sts 鏈嶅姟涓嬪彂鐨勪复鏃� secretKey - SecurityToken: res.data.data.sessionToken, // sts 鏈嶅姟涓嬪彂鐨勪复鏃� SessionToken - StartTime: res.data.data.stsStartTime, // 寤鸿浼犲叆鏈嶅姟绔椂闂达紝鍙伩鍏嶅鎴风鏃堕棿涓嶅噯瀵艰嚧鐨勭鍚嶉敊璇� - ExpiredTime: res.data.data.stsEndTime, // 涓存椂瀵嗛挜杩囨湡鏃堕棿 - SimpleUploadMethod: 'putObject', // 寮虹儓寤鸿锛岄珮绾т笂浼犮�佹壒閲忎笂浼犲唴閮ㄥ灏忔枃浠跺仛绠�鍗曚笂浼犳椂浣跨敤 putObject,sdk 鐗堟湰鑷冲皯闇�瑕乿1.3.0 - }); - 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); - } - const fileKey = getFileKey(fileName); - this.videoInfo = { - url: res.tempFilePath, - fileKey: fileKey, - fileType: fileKey.split('/')[0], - fileSize: res.size, - originalFileName: fileName, - cover: '' - }; - this.formData.videoFileKey = fileKey; - this.formData.videoDuration = res.duration; - // 鍒ゆ柇瑙嗛鐨勫~鍏呮ā寮� - this.formData.videoFit = this.calculateVideoFit(res.width, res.height) - - this.cosClient.uploadFile({ - Bucket: this.bucket, - Region: this.region, - Key: fileKey, - FilePath: res.tempFilePath, - SliceSize: 1024 * 1024 * 5, /* 瑙﹀彂鍒嗗潡涓婁紶鐨勯槇鍊�,5M */ - onProgress: (progressData) => { - console.log(progressData.percent); - this.videoUploadProgress = progressData.percent * 100 - } - }, (err, data) => { - if (err) { - console.log('涓婁紶澶辫触', err); - this.videoInfo = { - url: '', - fileKey: '', - fileType: '', - fileSize: 0, - originalFileName: '', - cover: '' - } - } else { - console.log(this.videoInfo); - } - }); - }, - fail: (err) => { - uni.showToast({ - title: '鏈�夋嫨瑙嗛', - icon: 'none' - }); - console.error(err); - } - }); - }, - // 鏍规嵁瀹介珮姣旈�夋嫨瑙嗛濉厖妯″紡 - 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: '', - 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 - }, - // 閫夋嫨瑙嗛鍥鹃泦 - 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({ - count: 1, - sizeType: ['compressed'], - sourceType: ['album'], - success: (res) => { - let fileName = res.tempFilePaths[0].substring(res.tempFilePaths[0].lastIndexOf('/') + 1); - // 澶勭悊瀹夊崜鍙兘鐨刄RI缂栫爜 - if(fileName.indexOf('%') > -1) { - fileName = decodeURIComponent(fileName); - } - const fileKey = getFileKey(fileName); - this.videoInfo.cover = res.tempFilePaths[0]; - this.cosClient.uploadFile({ - Bucket: this.bucket, - Region: this.region, - Key: fileKey, - FilePath: res.tempFilePaths[0], - SliceSize: 1024 * 1024 * 5 /* 瑙﹀彂鍒嗗潡涓婁紶鐨勯槇鍊�,5M */ - }, (err, data) => { - if (err) { - console.log('涓婁紶澶辫触', err); - } else { - this.videoInfo.cover = this.endpoint + '/' + fileKey - this.formData.cover = fileKey - } - }); - } - }); - }, - - // 閫夋嫨鍟嗗搧 - chooseGoods() { - if(this.selectedGoodsList.length > 0) { - const selectedGoodsSkuIds = new Set(this.selectedGoodsList.map(i => i.id)); - this.goodsList?.forEach(goods => { - this.$set(goods, 'selected', selectedGoodsSkuIds.has(goods.id)); - }); - } - this.showGoodsPicker = true; - }, - - // 閫夋嫨鍏蜂綋鍟嗗搧 - 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(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() !== '') { - this.getRecommendTags("SEARCH") - } - }, - // 娣诲姞鏍囩 - addTag() { - if(!this.tagInput.trim()) { - return - } - const newTag = {'id': '', 'tagName': this.tagInput.trim()}; - if (newTag && this.formData.tags.length < 5) { - if (this.formData.tags.filter(item => item.tagName === newTag.tagName).length < 1) { - this.formData.tags.push(newTag); - this.tagInput = ''; - this.getRecommendTags() // 閲嶇疆鎺ㄨ崘 - } else { - uni.showToast({ - title: '璇ヨ瘽棰樺凡娣诲姞杩囦簡~', - icon: 'none' - }); - } - } else if (this.formData.tags.length >= 5) { - uni.showToast({ - title: '鏈�澶氭坊鍔�5涓瘽棰榽', - icon: 'none' - }); - } - }, - - // 閫夋嫨鎺ㄨ崘璇濋 - selectTopic(index) { - const tag = this.recommendedTags[index] - if (this.formData.tags.length >= 5) { - uni.showToast({ - title: '鏈�澶氭坊鍔�5涓瘽棰榽', - icon: 'none' - }); - return; - } - - if (this.formData.tags.filter(item => item.tagName === tag.tagName).length < 1) { - this.formData.tags.push(tag); - this.tagInput = ''; - } else { - uni.showToast({ - title: '璇ヨ瘽棰樺凡娣诲姞杩囦簡~', - icon: 'none' - }); - } - }, - - // 绉婚櫎鏍囩 - 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; - this.formData["goodsList"] = this.selectedGoodsList.map(item => {return {goodsId: item.goodsId, goodsSkuId: item.id, goodsNum: item.goodsNum}}); - publish(this.formData).then(res => { - uni.showToast({ - title: '瑙嗛宸叉彁浜ゅ鏍竳', - icon: 'success' - }); - this.loading = false - // 閲嶇疆琛ㄥ崟 - this.resetData(); - this.selectedGoods = null; - this.tagInput = ''; - this.recommendedTags = []; - - // TODO 鍏堣烦棣栭〉,鍚庨潰璺虫垜鐨勮棰戦〉闈� - setTimeout(() => { - uni.switchTab({ - url: '/pages/tabbar/index/home' - }); - }, 1500); - }) - } else { - uni.showToast({ - title: '璇峰畬鍠勮棰戜俊鎭瘇', - icon: 'none' - }); - } - }); - }, - resetData() { - // 閲嶇疆琛ㄥ崟 - this.videoInfo = { - url: '', - fileKey: '', - fileType: '', - fileSize: 0, - originalFileName: '', - cover: '' - }; - this.formData = { - id: '', - title: '', - videoFileKey: '', - cover: '', - videoFit: 'cover', - videoDuration: 0, - videoContentType: 'video', - videoImgs: [], - tags: [], - fileInfo: {} - }; - this.videoPreviewImgs = [] - this.selectedGoodsList = [] - } - } -}; -</script> - -<style scoped> -.publish-container { - padding: 10px; - overflow-y: scroll; -} - -.upload-section { - background-color: #f8f8f8; - border-radius: 16rpx; - margin-bottom: 30rpx; - display: flex; - justify-content: center; - align-items: center; - min-height: 400rpx; -} - -.upload-btn { - display: flex; - flex-direction: column; - align-items: center; - color: #999; -} - -.upload-text { - font-size: 32rpx; - margin: 20rpx 0 10rpx; -} - -.upload-tips { - font-size: 24rpx; - color: #ccc; -} - -.video-preview { - width: 100%; - display: flex; - flex-direction: column; - align-items: center; -} - -.video-player { - width: 100%; - height: 400rpx; - border-radius: 12rpx; - background-color: #000; -} - -.video-actions { - width: 100%; - margin-top: 20rpx; - display: flex; - justify-content: center; - align-items: center; - gap: 20rpx; -} - -.form-section { - background-color: #fff; - border-radius: 16rpx; - padding: 0 20rpx; -} - -.goods-link-container { - width: 100%; -} - -.goods-preview { - display: flex; - align-items: center; - padding: 15rpx; - background-color: #f9f9f9; - border-radius: 8rpx; - margin-top: 15rpx; - position: relative; -} - -.goods-preview .goods-image { - width: 80rpx; - height: 80rpx; - border-radius: 8rpx; - margin-right: 15rpx; -} - -.goods-preview .goods-info { - flex: 1; - display: flex; - flex-direction: column; -} - -.goods-preview .goods-info .goods-name { - font-size: 26rpx; - color: #333; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.goods-preview .goods-info .goods-price { - font-size: 28rpx; - color: #f44; - font-weight: bold; -} - -.topic-list { - display: flex; - flex-direction: row; - flex-wrap: wrap; - line-height: 22px; -} - -.tags-input-container { - width: 100%; -} - -.tags-display { - display: flex; - flex-wrap: wrap; - margin-top: 15rpx; - line-height: 22px; - height: 80rpx; -} - -.hot-topics { - display: flex; - flex-direction: column; - margin-top: 15rpx; - margin-bottom: 15rpx; - height: 46rpx; -} - -.section-title { - font-size: 12px; - color: #999; - line-height: 12px; - margin-bottom: 6rpx; -} - -.tags-count { - display: block; - font-size: 12px; - line-height: 12px; - color: #999; - margin-top: 10rpx; - text-align: right; -} - -.publish-btn { - /* position: fixed; - bottom: 100rpx; - left: 20rpx; - right: 20rpx; */ - margin-top: 40rpx; -} - -.goods-picker { - padding: 30rpx; - height: 100%; - display: flex; - flex-direction: column; -} - -.goods-picker .picker-header { - display: flex; - justify-content: space-between; - align-items: center; - margin-bottom: 30rpx; -} - -.goods-picker .picker-header .picker-title { - font-size: 36rpx; - font-weight: bold; -} - -.goods-picker .search-bar { - margin-bottom: 20rpx; -} - -.goods-picker .goods-list { - flex: 1; - overflow: hidden; -} - -.goods-picker .goods-list .goods-item { - display: flex; - align-items: center; - padding: 20rpx 0; - border-bottom: 1rpx solid #f5f5f5; -} - -.goods-picker .goods-list .goods-item .goods-image { - width: 100rpx; - height: 100rpx; - border-radius: 8rpx; - margin-right: 20rpx; -} - -.goods-picker .goods-list .goods-item .goods-info { - flex: 1; -} - -.goods-picker .goods-list .goods-item .goods-info .goods-name { - font-size: 28rpx; - color: #333; - margin-bottom: 10rpx; - display: -webkit-box; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - overflow: hidden; -} - -.goods-picker .goods-list .goods-item .goods-info .goods-price { - font-size: 28rpx; - color: #f44; - font-weight: bold; -} - -.progress-box { - width: 100%; - display: flex; - height: 25px; - margin-top: 10px; -} - -.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/home-page.vue b/pages/video/home-page.vue index 4188a83..340c171 100644 --- a/pages/video/home-page.vue +++ b/pages/video/home-page.vue @@ -167,7 +167,7 @@ </template> <script> -import DropdownMenu from '@/components/dropdown-menu.vue' +import DropdownMenu from '@/pages/video/dropdown-menu.vue' import {getAuthorInfo, getAuthorVideoPage, getAuthorCollectVideoPage, getAuthorLikeVideoPage} from '@/api/user.js' import {subscribe, unSubscribe, delVideo, updateVideo, userDownVideo} from '@/api/video.js' -- Gitblit v1.8.0