Merge branch 'master' of https://gitee.com/sheepjs/shopro-uniapp
commit
123b6d8a42
5
env
5
env
|
|
@ -13,4 +13,7 @@ SHOPRO_API_PATH = /shop/api/
|
||||||
# 客户端静态资源地址 空=默认使用服务端指定的CDN资源地址前缀 | local=本地 | http(s)://xxx.xxx=自定义静态资源地址前缀
|
# 客户端静态资源地址 空=默认使用服务端指定的CDN资源地址前缀 | local=本地 | http(s)://xxx.xxx=自定义静态资源地址前缀
|
||||||
SHOPRO_STATIC_URL = https://file.sheepjs.com
|
SHOPRO_STATIC_URL = https://file.sheepjs.com
|
||||||
|
|
||||||
SHOPRO_VERSION = v1.1.15
|
SHOPRO_VERSION = v1.8.1
|
||||||
|
|
||||||
|
# 是否开启直播 1 开启直播 | 0 关闭直播
|
||||||
|
SHOPRO_MPLIVE_ON = 0
|
||||||
|
|
@ -69,7 +69,10 @@
|
||||||
"schemes": "shopro"
|
"schemes": "shopro"
|
||||||
},
|
},
|
||||||
"ios": {
|
"ios": {
|
||||||
"urlschemewhitelist" : [ "baidumap", "iosamap" ],
|
"urlschemewhitelist": [
|
||||||
|
"baidumap",
|
||||||
|
"iosamap"
|
||||||
|
],
|
||||||
"dSYMs": false,
|
"dSYMs": false,
|
||||||
"privacyDescription": {
|
"privacyDescription": {
|
||||||
"NSPhotoLibraryUsageDescription": "需要同意访问您的相册选取图片才能完善该条目",
|
"NSPhotoLibraryUsageDescription": "需要同意访问您的相册选取图片才能完善该条目",
|
||||||
|
|
@ -80,7 +83,9 @@
|
||||||
"urltypes": "shopro",
|
"urltypes": "shopro",
|
||||||
"capabilities": {
|
"capabilities": {
|
||||||
"entitlements": {
|
"entitlements": {
|
||||||
"com.apple.developer.associated-domains" : [ "applinks:shopro.sheepjs.com" ]
|
"com.apple.developer.associated-domains": [
|
||||||
|
"applinks:shopro.sheepjs.com"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"idfa": true
|
"idfa": true
|
||||||
|
|
@ -99,12 +104,18 @@
|
||||||
},
|
},
|
||||||
"payment": {
|
"payment": {
|
||||||
"weixin": {
|
"weixin": {
|
||||||
"__platform__" : [ "ios", "android" ],
|
"__platform__": [
|
||||||
|
"ios",
|
||||||
|
"android"
|
||||||
|
],
|
||||||
"appid": "wxae7a0c156da9383b",
|
"appid": "wxae7a0c156da9383b",
|
||||||
"UniversalLinks": "https://shopro.sheepjs.com/uni-universallinks/__UNI__082C0BA/"
|
"UniversalLinks": "https://shopro.sheepjs.com/uni-universallinks/__UNI__082C0BA/"
|
||||||
},
|
},
|
||||||
"alipay": {
|
"alipay": {
|
||||||
"__platform__" : [ "ios", "android" ]
|
"__platform__": [
|
||||||
|
"ios",
|
||||||
|
"android"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"share": {
|
"share": {
|
||||||
|
|
@ -114,7 +125,9 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"orientation" : [ "portrait-primary" ],
|
"orientation": [
|
||||||
|
"portrait-primary"
|
||||||
|
],
|
||||||
"splashscreen": {
|
"splashscreen": {
|
||||||
"androidStyle": "common",
|
"androidStyle": "common",
|
||||||
"iosStyle": "common",
|
"iosStyle": "common",
|
||||||
|
|
@ -190,7 +203,9 @@
|
||||||
"lazyCodeLoading": "requiredComponents",
|
"lazyCodeLoading": "requiredComponents",
|
||||||
"usingComponents": {},
|
"usingComponents": {},
|
||||||
"permission": {},
|
"permission": {},
|
||||||
"requiredPrivateInfos" : [ "chooseAddress" ]
|
"requiredPrivateInfos": [
|
||||||
|
"chooseAddress"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"mp-alipay": {
|
"mp-alipay": {
|
||||||
"usingComponents": true
|
"usingComponents": true
|
||||||
|
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
||||||
const fs = require('fs');
|
|
||||||
|
|
||||||
const manifestPath = process.env.UNI_INPUT_DIR + '/manifest.json';
|
|
||||||
|
|
||||||
let Manifest = fs.readFileSync(manifestPath, { encoding: 'utf-8' });
|
|
||||||
function replaceManifest(value, remove) {
|
|
||||||
|
|
||||||
|
|
||||||
let data = JSON.parse(Manifest)
|
|
||||||
let newValue = JSON.parse(value)
|
|
||||||
if (remove === 'delete') {
|
|
||||||
delete data['mp-weixin'].plugins['live-player-plugin'];
|
|
||||||
} else {
|
|
||||||
if (data['mp-weixin'].plugins['live-player-plugin']) return;
|
|
||||||
data['mp-weixin'].plugins = {
|
|
||||||
...data['mp-weixin'].plugins,
|
|
||||||
...newValue
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
Manifest = JSON.stringify(data)
|
|
||||||
|
|
||||||
fs.writeFileSync(manifestPath, Manifest, {
|
|
||||||
"flag": "w"
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export default replaceManifest
|
|
||||||
|
|
@ -294,7 +294,8 @@
|
||||||
const { error, data } = await sheep.$api.activity.grouponDetail(id);
|
const { error, data } = await sheep.$api.activity.grouponDetail(id);
|
||||||
if (error === 0) {
|
if (error === 0) {
|
||||||
state.data = data;
|
state.data = data;
|
||||||
state.number = Number(state.data.num - state.data.current_num);
|
let number = Number(state.data.num - state.data.current_num);
|
||||||
|
state.number = number > 0 ? number : 0;
|
||||||
} else {
|
} else {
|
||||||
state.data = null;
|
state.data = null;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -58,12 +58,12 @@
|
||||||
</uni-forms-item>
|
</uni-forms-item>
|
||||||
</view>
|
</view>
|
||||||
</uni-forms>
|
</uni-forms>
|
||||||
<radio-group @change="onChange" v-if="state.protocol?.status == 1">
|
<label class="ss-flex ss-m-t-20" v-if="state.protocol?.status == 1" @tap="onChange">
|
||||||
<label class="ss-flex ss-m-t-20">
|
|
||||||
<radio
|
<radio
|
||||||
:checked="state.isAgree"
|
:checked="state.isAgree"
|
||||||
color="var(--ui-BG-Main)"
|
color="var(--ui-BG-Main)"
|
||||||
style="transform: scale(0.6)"
|
style="transform: scale(0.6)"
|
||||||
|
@tap.stop="onChange"
|
||||||
/>
|
/>
|
||||||
<view class="agreement-text ss-flex">
|
<view class="agreement-text ss-flex">
|
||||||
<view class="ss-m-r-4">勾选代表同意</view>
|
<view class="ss-m-r-4">勾选代表同意</view>
|
||||||
|
|
@ -80,7 +80,6 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</label>
|
</label>
|
||||||
</radio-group>
|
|
||||||
<su-fixed bottom placeholder>
|
<su-fixed bottom placeholder>
|
||||||
<view class="submit-box ss-flex ss-row-center ss-p-30">
|
<view class="submit-box ss-flex ss-row-center ss-p-30">
|
||||||
<button class="submit-btn ss-reset-button ui-BG-Main ui-Shadow-Main" @tap="submit">
|
<button class="submit-btn ss-reset-button ui-BG-Main ui-Shadow-Main" @tap="submit">
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,10 @@
|
||||||
</view>
|
</view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="ss-m-t-20 reply-box" v-if="item.reply_time">
|
||||||
|
<view class="reply-title">商家回复</view>
|
||||||
|
<view class="reply-content">{{ item.reply_content }}</view>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -71,4 +75,24 @@
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
}
|
}
|
||||||
|
.reply-box {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.reply-title {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 26rpx;
|
||||||
|
line-height: 40rpx;
|
||||||
|
color: #666666;
|
||||||
|
}
|
||||||
|
|
||||||
|
.reply-content {
|
||||||
|
text-indent: 108rpx;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 26rpx;
|
||||||
|
line-height: 40rpx;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -27,18 +27,14 @@
|
||||||
<view class="cart-content ss-flex-1 ss-p-x-30 ss-m-b-40">
|
<view class="cart-content ss-flex-1 ss-p-x-30 ss-m-b-40">
|
||||||
<view class="goods-box ss-r-10 ss-m-b-14" v-for="item in state.list" :key="item.id">
|
<view class="goods-box ss-r-10 ss-m-b-14" v-for="item in state.list" :key="item.id">
|
||||||
<view class="ss-flex ss-col-center">
|
<view class="ss-flex ss-col-center">
|
||||||
<radio-group
|
<label class="check-box ss-flex ss-col-center ss-p-l-10" @tap="onSelectSingle(item.id)">
|
||||||
@change="onSelectSingle(item.id)"
|
|
||||||
class="check-box ss-flex ss-col-center ss-p-l-10"
|
|
||||||
>
|
|
||||||
<label class="radio ss-flex">
|
|
||||||
<radio
|
<radio
|
||||||
:checked="state.selectedIds.includes(item.id)"
|
:checked="state.selectedIds.includes(item.id)"
|
||||||
color="var(--ui-BG-Main)"
|
color="var(--ui-BG-Main)"
|
||||||
style="transform: scale(0.8)"
|
style="transform: scale(0.8)"
|
||||||
|
@tap.stop="onSelectSingle(item.id)"
|
||||||
/>
|
/>
|
||||||
</label>
|
</label>
|
||||||
</radio-group>
|
|
||||||
<s-goods-item
|
<s-goods-item
|
||||||
:title="item.goods.title"
|
:title="item.goods.title"
|
||||||
:img="item.sku_price.image || item.goods.image"
|
:img="item.sku_price.image || item.goods.image"
|
||||||
|
|
@ -64,16 +60,15 @@
|
||||||
<su-fixed bottom :val="48" placeholder v-if="state.list.length > 0" :isInset="false">
|
<su-fixed bottom :val="48" placeholder v-if="state.list.length > 0" :isInset="false">
|
||||||
<view class="cart-footer ss-flex ss-col-center ss-row-between ss-p-x-30 border-bottom">
|
<view class="cart-footer ss-flex ss-col-center ss-row-between ss-p-x-30 border-bottom">
|
||||||
<view class="footer-left ss-flex ss-col-center">
|
<view class="footer-left ss-flex ss-col-center">
|
||||||
<radio-group @change="onSelectAll" class="check-box ss-flex ss-col-center ss-p-r-30">
|
<label class="check-box ss-flex ss-col-center ss-p-r-30" @tap="onSelectAll">
|
||||||
<label class="radio ss-flex">
|
|
||||||
<radio
|
<radio
|
||||||
:checked="state.isAllSelected"
|
:checked="state.isAllSelected"
|
||||||
color="var(--ui-BG-Main)"
|
color="var(--ui-BG-Main)"
|
||||||
style="transform: scale(0.8)"
|
style="transform: scale(0.8)"
|
||||||
|
@tap.stop="onSelectAll"
|
||||||
/>
|
/>
|
||||||
<view class="ss-m-l-8"> 全选 </view>
|
<view class="ss-m-l-8"> 全选 </view>
|
||||||
</label>
|
</label>
|
||||||
</radio-group>
|
|
||||||
<text>合计:</text>
|
<text>合计:</text>
|
||||||
<view class="text-price price-text">
|
<view class="text-price price-text">
|
||||||
{{ state.totalPriceSelected }}
|
{{ state.totalPriceSelected }}
|
||||||
|
|
@ -156,6 +151,7 @@
|
||||||
cart.delete(cartItem.id);
|
cart.delete(cartItem.id);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
cartItem.goods_num = e;
|
||||||
cart.update({
|
cart.update({
|
||||||
goods_id: cartItem.goods_id,
|
goods_id: cartItem.goods_id,
|
||||||
goods_num: e,
|
goods_num: e,
|
||||||
|
|
|
||||||
|
|
@ -347,9 +347,6 @@
|
||||||
.item-value {
|
.item-value {
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
|
||||||
|
|
||||||
.item-value {
|
|
||||||
font-family: OPPOSANS;
|
font-family: OPPOSANS;
|
||||||
}
|
}
|
||||||
.text-disabled {
|
.text-disabled {
|
||||||
|
|
|
||||||
|
|
@ -199,10 +199,10 @@
|
||||||
</view>
|
</view>
|
||||||
<view
|
<view
|
||||||
class="notice-item ss-flex ss-row-between"
|
class="notice-item ss-flex ss-row-between"
|
||||||
v-if="state.orderInfo.promo_discount_fee > 0"
|
v-if="state.orderInfo.total_discount_fee > 0"
|
||||||
>
|
>
|
||||||
<text class="title">优惠金额</text>
|
<text class="title">优惠金额</text>
|
||||||
<text class="detail">¥{{ state.orderInfo.promo_discount_fee }}</text>
|
<text class="detail">¥{{ state.orderInfo.total_discount_fee }}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="notice-item all-rpice-item ss-flex ss-m-t-20">
|
<view class="notice-item all-rpice-item ss-flex ss-m-t-20">
|
||||||
<text class="title">{{
|
<text class="title">{{
|
||||||
|
|
|
||||||
|
|
@ -102,7 +102,7 @@
|
||||||
>¥{{ order.order_amount }}</view
|
>¥{{ order.order_amount }}</view
|
||||||
>
|
>
|
||||||
<view v-if="order.score_amount && Number(order.order_amount) > 0">+</view>
|
<view v-if="order.score_amount && Number(order.order_amount) > 0">+</view>
|
||||||
<view class="price-text ss-flex ss-col-center" v-if="order.score_amount">
|
<view class="discounts-money pay-color ss-flex ss-col-center" v-if="order.score_amount">
|
||||||
<image
|
<image
|
||||||
:src="sheep.$url.static('/static/img/shop/goods/score1.svg')"
|
:src="sheep.$url.static('/static/img/shop/goods/score1.svg')"
|
||||||
class="score-img"
|
class="score-img"
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,8 @@
|
||||||
<text class="modal-title ss-m-b-20">选择提现方式</text>
|
<text class="modal-title ss-m-b-20">选择提现方式</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="modal-content ss-flex-1 ss-p-b-100">
|
<view class="modal-content ss-flex-1 ss-p-b-100">
|
||||||
<view
|
<radio-group @change="onChange">
|
||||||
|
<label
|
||||||
class="container-list ss-p-l-34 ss-p-r-24 ss-flex ss-col-center ss-row-center"
|
class="container-list ss-p-l-34 ss-p-r-24 ss-flex ss-col-center ss-row-center"
|
||||||
v-for="(item, index) in typeList"
|
v-for="(item, index) in typeList"
|
||||||
:key="index"
|
:key="index"
|
||||||
|
|
@ -14,9 +15,7 @@
|
||||||
<image :src="sheep.$url.static(item.icon)" />
|
<image :src="sheep.$url.static(item.icon)" />
|
||||||
</view>
|
</view>
|
||||||
<view class="ss-flex-1">{{ item.title }}</view>
|
<view class="ss-flex-1">{{ item.title }}</view>
|
||||||
<view class="radio">
|
|
||||||
<radio-group @change="onChange">
|
|
||||||
<label class="radio">
|
|
||||||
<radio
|
<radio
|
||||||
:value="item.value"
|
:value="item.value"
|
||||||
color="var(--ui-BG-Main)"
|
color="var(--ui-BG-Main)"
|
||||||
|
|
@ -26,8 +25,6 @@
|
||||||
</label>
|
</label>
|
||||||
</radio-group>
|
</radio-group>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="modal-footer ss-flex ss-row-center ss-col-center">
|
<view class="modal-footer ss-flex ss-row-center ss-col-center">
|
||||||
<button class="ss-reset-button save-btn" @tap="onConfirm">确定</button>
|
<button class="ss-reset-button save-btn" @tap="onConfirm">确定</button>
|
||||||
</view>
|
</view>
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@
|
||||||
<s-layout title="收银台">
|
<s-layout title="收银台">
|
||||||
<view class="bg-white ss-modal-box ss-flex-col">
|
<view class="bg-white ss-modal-box ss-flex-col">
|
||||||
<view class="modal-header ss-flex-col ss-col-center ss-row-center">
|
<view class="modal-header ss-flex-col ss-col-center ss-row-center">
|
||||||
<text class="modal-title ss-m-b-30">收银台</text>
|
|
||||||
<view class="money-box ss-m-b-20">
|
<view class="money-box ss-m-b-20">
|
||||||
<text class="money-text">{{ state.orderInfo.pay_fee }}</text>
|
<text class="money-text">{{ state.orderInfo.pay_fee }}</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -277,10 +276,6 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
padding: 60rpx 20rpx 40rpx;
|
padding: 60rpx 20rpx 40rpx;
|
||||||
|
|
||||||
.modal-title {
|
|
||||||
font-size: 32rpx;
|
|
||||||
font-weight: 500;
|
|
||||||
}
|
|
||||||
|
|
||||||
.money-text {
|
.money-text {
|
||||||
color: $red;
|
color: $red;
|
||||||
|
|
|
||||||
|
|
@ -32,24 +32,23 @@
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
>
|
>
|
||||||
<view class="ss-flex ss-col-center">
|
<view class="ss-flex ss-col-center">
|
||||||
<radio-group
|
<label
|
||||||
class="check-box ss-flex ss-col-center ss-p-l-10"
|
class="check-box ss-flex ss-col-center ss-p-l-10"
|
||||||
@change="onSelect(item.goods_id)"
|
v-if="state.editMode"
|
||||||
v-show="state.editMode"
|
@tap="onSelect(item.goods_id)"
|
||||||
>
|
>
|
||||||
<label class="radio">
|
|
||||||
<radio
|
<radio
|
||||||
:checked="state.selectedCollectList.includes(item.goods_id)"
|
:checked="state.selectedCollectList.includes(item.goods_id)"
|
||||||
color="var(--ui-BG-Main)"
|
color="var(--ui-BG-Main)"
|
||||||
style="transform: scale(0.8)"
|
style="transform: scale(0.8)"
|
||||||
|
@tap.stop="onSelect(item.goods_id)"
|
||||||
/>
|
/>
|
||||||
</label>
|
</label>
|
||||||
</radio-group>
|
|
||||||
<s-goods-item
|
<s-goods-item
|
||||||
:title="item.goods.title"
|
:title="item.goods.title"
|
||||||
:img="item.goods.image"
|
:img="item.goods.image"
|
||||||
price="666"
|
:price="item.goods.price[0]"
|
||||||
skuText="123"
|
:skuText="item.goods.subtitle"
|
||||||
priceColor="#FF3000"
|
priceColor="#FF3000"
|
||||||
:titleWidth="400"
|
:titleWidth="400"
|
||||||
@tap="
|
@tap="
|
||||||
|
|
@ -66,16 +65,15 @@
|
||||||
<su-fixed bottom :val="0" placeholder v-show="state.editMode">
|
<su-fixed bottom :val="0" placeholder v-show="state.editMode">
|
||||||
<view class="cart-footer ss-flex ss-col-center ss-row-between ss-p-x-30 border-bottom">
|
<view class="cart-footer ss-flex ss-col-center ss-row-between ss-p-x-30 border-bottom">
|
||||||
<view class="footer-left ss-flex ss-col-center">
|
<view class="footer-left ss-flex ss-col-center">
|
||||||
<radio-group @change="onSelectAll">
|
<label class="check-box ss-flex ss-col-center ss-p-r-30" @tap="onSelectAll">
|
||||||
<label class="check-box ss-flex ss-col-center ss-p-r-30">
|
|
||||||
<radio
|
<radio
|
||||||
:checked="state.selectAll"
|
:checked="state.selectAll"
|
||||||
color="var(--ui-BG-Main)"
|
color="var(--ui-BG-Main)"
|
||||||
style="transform: scale(0.7)"
|
style="transform: scale(0.7)"
|
||||||
|
@tap.stop="onSelectAll"
|
||||||
/>
|
/>
|
||||||
<view> 全选 </view>
|
<view> 全选 </view>
|
||||||
</label>
|
</label>
|
||||||
</radio-group>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="footer-right">
|
<view class="footer-right">
|
||||||
<button
|
<button
|
||||||
|
|
|
||||||
|
|
@ -35,24 +35,23 @@
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
>
|
>
|
||||||
<view class="ss-flex ss-col-center">
|
<view class="ss-flex ss-col-center">
|
||||||
<radio-group
|
<label
|
||||||
v-show="state.editMode"
|
|
||||||
class="check-box ss-flex ss-col-center ss-p-l-10"
|
class="check-box ss-flex ss-col-center ss-p-l-10"
|
||||||
@change="onSelect(item.goods_id)"
|
v-if="state.editMode"
|
||||||
|
@tap="onSelect(item.goods_id)"
|
||||||
>
|
>
|
||||||
<label class="radio">
|
|
||||||
<radio
|
<radio
|
||||||
:checked="state.selectedCollectList.includes(item.goods_id)"
|
:checked="state.selectedCollectList.includes(item.goods_id)"
|
||||||
color="var(--ui-BG-Main)"
|
color="var(--ui-BG-Main)"
|
||||||
style="transform: scale(0.8)"
|
style="transform: scale(0.8)"
|
||||||
|
@tap.stop="onSelect(item.goods_id)"
|
||||||
/>
|
/>
|
||||||
</label>
|
</label>
|
||||||
</radio-group>
|
|
||||||
<s-goods-item
|
<s-goods-item
|
||||||
:title="item.goods.title"
|
:title="item.goods.title"
|
||||||
:img="item.goods.image"
|
:img="item.goods.image"
|
||||||
price="666"
|
:price="item.goods.price[0]"
|
||||||
skuText="123"
|
:skuText="item.goods.subtitle"
|
||||||
priceColor="#FF3000"
|
priceColor="#FF3000"
|
||||||
:titleWidth="400"
|
:titleWidth="400"
|
||||||
@tap="
|
@tap="
|
||||||
|
|
@ -69,16 +68,15 @@
|
||||||
<su-fixed bottom :val="0" placeholder v-show="state.editMode">
|
<su-fixed bottom :val="0" placeholder v-show="state.editMode">
|
||||||
<view class="cart-footer ss-flex ss-col-center ss-row-between ss-p-x-30 border-bottom">
|
<view class="cart-footer ss-flex ss-col-center ss-row-between ss-p-x-30 border-bottom">
|
||||||
<view class="footer-left ss-flex ss-col-center">
|
<view class="footer-left ss-flex ss-col-center">
|
||||||
<radio-group @change="onSelectAll">
|
<label class="check-box ss-flex ss-col-center ss-p-r-30" @tap="onSelectAll">
|
||||||
<label class="check-box ss-flex ss-col-center ss-p-r-30">
|
|
||||||
<radio
|
<radio
|
||||||
:checked="state.selectAll"
|
:checked="state.selectAll"
|
||||||
color="var(--ui-BG-Main)"
|
color="var(--ui-BG-Main)"
|
||||||
style="transform: scale(0.7)"
|
style="transform: scale(0.7)"
|
||||||
|
@tap.stop="onSelectAll"
|
||||||
/>
|
/>
|
||||||
<view>全选</view>
|
<view>全选</view>
|
||||||
</label>
|
</label>
|
||||||
</radio-group>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="footer-right">
|
<view class="footer-right">
|
||||||
<button
|
<button
|
||||||
|
|
@ -190,7 +188,7 @@
|
||||||
state.editMode = false;
|
state.editMode = false;
|
||||||
state.selectedCollectList = [];
|
state.selectedCollectList = [];
|
||||||
state.selectAll = false;
|
state.selectAll = false;
|
||||||
state.pagination = pagination
|
state.pagination = pagination;
|
||||||
getData();
|
getData();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -75,12 +75,12 @@
|
||||||
v-if="['accountLogin', 'smsLogin', 'smsRegister'].includes(authType)"
|
v-if="['accountLogin', 'smsLogin', 'smsRegister'].includes(authType)"
|
||||||
class="agreement-box ss-flex ss-row-center"
|
class="agreement-box ss-flex ss-row-center"
|
||||||
>
|
>
|
||||||
<radio-group @change="onChange" class="ss-flex ss-col-center">
|
<label class="radio ss-flex ss-col-center" @tap="onChange">
|
||||||
<label class="radio ss-flex">
|
|
||||||
<radio
|
<radio
|
||||||
:checked="state.protocol"
|
:checked="state.protocol"
|
||||||
color="var(--ui-BG-Main)"
|
color="var(--ui-BG-Main)"
|
||||||
style="transform: scale(0.8)"
|
style="transform: scale(0.8)"
|
||||||
|
@tap.stop="onChange"
|
||||||
/>
|
/>
|
||||||
<view class="agreement-text ss-flex ss-col-center ss-m-l-8">
|
<view class="agreement-text ss-flex ss-col-center ss-m-l-8">
|
||||||
我已阅读并遵守
|
我已阅读并遵守
|
||||||
|
|
@ -99,7 +99,6 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</label>
|
</label>
|
||||||
</radio-group>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="safe-box"></view>
|
<view class="safe-box"></view>
|
||||||
</view>
|
</view>
|
||||||
|
|
|
||||||
|
|
@ -154,6 +154,7 @@
|
||||||
font-size: 64rpx;
|
font-size: 64rpx;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
line-height: normal;
|
line-height: normal;
|
||||||
|
font-family: OPPOSANS;
|
||||||
}
|
}
|
||||||
.value-reduce {
|
.value-reduce {
|
||||||
line-height: normal;
|
line-height: normal;
|
||||||
|
|
@ -166,6 +167,7 @@
|
||||||
.value-enough {
|
.value-enough {
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
font-family: OPPOSANS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,15 +19,14 @@
|
||||||
<view v-for="(item, index) in state.couponInfo.can_use" :key="index">
|
<view v-for="(item, index) in state.couponInfo.can_use" :key="index">
|
||||||
<s-coupon-list :data="item" type="user" :disabled="false">
|
<s-coupon-list :data="item" type="user" :disabled="false">
|
||||||
<template #default>
|
<template #default>
|
||||||
<radio-group @change="radioChange(item.id)" class="ss-flex ss-col-center">
|
<label class="ss-flex ss-col-center" @tap="radioChange(item.id)">
|
||||||
<label class="radio">
|
|
||||||
<radio
|
<radio
|
||||||
color="var(--ui-BG-Main)"
|
color="var(--ui-BG-Main)"
|
||||||
style="transform: scale(0.8)"
|
style="transform: scale(0.8)"
|
||||||
:checked="state.couponId == item.id"
|
:checked="state.couponId == item.id"
|
||||||
|
@tap.stop="radioChange(item.id)"
|
||||||
/>
|
/>
|
||||||
</label>
|
</label>
|
||||||
</radio-group>
|
|
||||||
</template>
|
</template>
|
||||||
</s-coupon-list>
|
</s-coupon-list>
|
||||||
</view>
|
</view>
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
<view class="md-goods-title ss-line-1" :style="[{ color: titleColor }]">
|
<view class="md-goods-title ss-line-1" :style="[{ color: titleColor }]">
|
||||||
{{ data.name }}
|
{{ data.name }}
|
||||||
</view>
|
</view>
|
||||||
<view class="md-goods-subtitle ss-m-t-20 ss-line-1" :style="[{ color: subTitleColor }]">
|
<view class="md-goods-subtitle ss-m-t-14 ss-line-1" :style="[{ color: subTitleColor }]">
|
||||||
主播:{{ data.anchor_name }}
|
主播:{{ data.anchor_name }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -27,7 +27,7 @@
|
||||||
<view class="sl-goods-title ss-line-1" :style="[{ color: titleColor }]">
|
<view class="sl-goods-title ss-line-1" :style="[{ color: titleColor }]">
|
||||||
{{ data.name }}
|
{{ data.name }}
|
||||||
</view>
|
</view>
|
||||||
<view class="sl-goods-subtitle ss-m-t-20 ss-line-1" :style="[{ color: subTitleColor }]">
|
<view class="sl-goods-subtitle ss-m-t-14 ss-line-1" :style="[{ color: subTitleColor }]">
|
||||||
主播:{{ data.anchor_name }}
|
主播:{{ data.anchor_name }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -140,6 +140,7 @@
|
||||||
height: 40rpx;
|
height: 40rpx;
|
||||||
background: rgba(#000000, 0.5);
|
background: rgba(#000000, 0.5);
|
||||||
border-radius: 20rpx;
|
border-radius: 20rpx;
|
||||||
|
z-index: 1;
|
||||||
.icon {
|
.icon {
|
||||||
width: 40rpx;
|
width: 40rpx;
|
||||||
height: 40rpx;
|
height: 40rpx;
|
||||||
|
|
@ -153,8 +154,11 @@
|
||||||
}
|
}
|
||||||
.md-goods-content {
|
.md-goods-content {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 20rpx;
|
left: 0;
|
||||||
bottom: 20rpx;
|
bottom: 0;
|
||||||
|
padding: 20rpx;
|
||||||
|
width: 100%;
|
||||||
|
background: linear-gradient(360deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.02) 100%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.md-img-box {
|
.md-img-box {
|
||||||
|
|
@ -186,9 +190,9 @@
|
||||||
top: 10rpx;
|
top: 10rpx;
|
||||||
width: 136rpx;
|
width: 136rpx;
|
||||||
height: 40rpx;
|
height: 40rpx;
|
||||||
background: #000000;
|
background: rgba(#000000, 0.5);
|
||||||
opacity: 0.5;
|
|
||||||
border-radius: 20rpx;
|
border-radius: 20rpx;
|
||||||
|
z-index: 1;
|
||||||
.icon {
|
.icon {
|
||||||
width: 40rpx;
|
width: 40rpx;
|
||||||
height: 40rpx;
|
height: 40rpx;
|
||||||
|
|
@ -202,8 +206,11 @@
|
||||||
}
|
}
|
||||||
.sl-goods-content {
|
.sl-goods-content {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 20rpx;
|
left: 0;
|
||||||
bottom: 20rpx;
|
bottom: 0;
|
||||||
|
padding: 20rpx;
|
||||||
|
width: 100%;
|
||||||
|
background: linear-gradient(360deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.02) 100%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.sl-img-box {
|
.sl-img-box {
|
||||||
|
|
|
||||||
|
|
@ -100,9 +100,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.unit-text {
|
.unit-text {
|
||||||
font-size: 16rpx;
|
font-size: 24rpx;
|
||||||
color: #000000;
|
color: #343434;
|
||||||
line-height: 16rpx;
|
line-height: 24rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
const fs = require('fs');
|
||||||
|
|
||||||
|
const manifestPath = process.env.UNI_INPUT_DIR + '/manifest.json';
|
||||||
|
|
||||||
|
let Manifest = fs.readFileSync(manifestPath, {
|
||||||
|
encoding: 'utf-8'
|
||||||
|
});
|
||||||
|
|
||||||
|
function mpliveMainfestPlugin(isOpen) {
|
||||||
|
if (process.env.UNI_PLATFORM !== 'mp-weixin') return;
|
||||||
|
|
||||||
|
const manifestData = JSON.parse(Manifest)
|
||||||
|
|
||||||
|
if (isOpen === '0') {
|
||||||
|
delete manifestData['mp-weixin'].plugins['live-player-plugin'];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isOpen === '1') {
|
||||||
|
manifestData['mp-weixin'].plugins['live-player-plugin'] = {
|
||||||
|
"version": "1.3.5",
|
||||||
|
"provider": "wx2b03c6e691cd7370"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Manifest = JSON.stringify(manifestData, null, 2)
|
||||||
|
|
||||||
|
fs.writeFileSync(manifestPath, Manifest, {
|
||||||
|
"flag": "w"
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export default mpliveMainfestPlugin
|
||||||
|
|
@ -3,28 +3,12 @@ import uni from '@dcloudio/vite-plugin-uni';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
// import viteCompression from 'vite-plugin-compression';
|
// import viteCompression from 'vite-plugin-compression';
|
||||||
import uniReadPagesV3Plugin from './sheep/router/utils/uni-read-pages-v3';
|
import uniReadPagesV3Plugin from './sheep/router/utils/uni-read-pages-v3';
|
||||||
// 引入直播组件
|
import mpliveMainfestPlugin from './sheep/libs/mpLive-manifest-plugin';
|
||||||
import replaceManifest from './modifyManifest'
|
|
||||||
|
|
||||||
|
|
||||||
// https://vitejs.dev/config/
|
// https://vitejs.dev/config/
|
||||||
export default (command, mode) => {
|
export default (command, mode) => {
|
||||||
const env = loadEnv(mode, __dirname, 'SHOPRO_');
|
const env = loadEnv(mode, __dirname, 'SHOPRO_');
|
||||||
if (env.SHOPRO_MPLIVE_ON === 'true') {
|
|
||||||
replaceManifest(`{
|
|
||||||
"live-player-plugin": {
|
|
||||||
"version": "1.3.5",
|
|
||||||
"provider": "wx2b03c6e691cd7370"
|
|
||||||
}
|
|
||||||
}`, 'push')
|
|
||||||
} else {
|
|
||||||
replaceManifest(`{
|
|
||||||
"live-player-plugin": {
|
|
||||||
"version": "1.3.5",
|
|
||||||
"provider": "wx2b03c6e691cd7370"
|
|
||||||
}
|
|
||||||
}`, 'delete')
|
|
||||||
}
|
|
||||||
return {
|
return {
|
||||||
envPrefix: "SHOPRO_",
|
envPrefix: "SHOPRO_",
|
||||||
plugins: [
|
plugins: [
|
||||||
|
|
@ -36,6 +20,7 @@ export default (command, mode) => {
|
||||||
pagesJsonDir: path.resolve(__dirname, './pages.json'),
|
pagesJsonDir: path.resolve(__dirname, './pages.json'),
|
||||||
includes: ['path', 'aliasPath', 'name', 'meta'],
|
includes: ['path', 'aliasPath', 'name', 'meta'],
|
||||||
}),
|
}),
|
||||||
|
mpliveMainfestPlugin(env.SHOPRO_MPLIVE_ON)
|
||||||
],
|
],
|
||||||
server: {
|
server: {
|
||||||
host: true,
|
host: true,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue