Merge branch 'youda' of http://123.207.203.228:3000/shang/yfs into youda

This commit is contained in:
18631081161 2025-04-29 21:55:19 +08:00
commit e291af7fb9
26 changed files with 198 additions and 2111 deletions

3
androidPrivacy.json Normal file
View File

@ -0,0 +1,3 @@
{
"prompt" : "template"
}

View File

@ -7,6 +7,9 @@
"transformPx" : false,
/* 5+App */
"app-plus" : {
"compatible" : {
"ignoreVersion" : true //trueHBuilderX1.9.0
},
"usingComponents" : true,
"nvueStyleCompiler" : "uni-app",
"compilerVersion" : 3,
@ -19,10 +22,7 @@
/* */
"modules" : {
"Payment" : {},
"Share" : {},
"OAuth" : {},
"Push" : {},
"Fingerprint" : {}
"Share" : {}
},
/* */
"distribute" : {
@ -49,7 +49,9 @@
]
},
/* ios */
"ios" : {},
"ios" : {
"dSYMs" : false
},
/* SDK */
"sdkConfigs" : {
"ad" : {},
@ -62,10 +64,8 @@
"apple" : {}
},
"payment" : {
"weixin" : {
"__platform__" : [ "ios", "android" ],
"appid" : "wx3dcc897ef3f95446",
"UniversalLinks" : "https://help.wechat.com/tq/"
"alipay" : {
"__platform__" : [ "ios", "android" ]
}
},
"share" : {
@ -74,39 +74,37 @@
"UniversalLinks" : "https://help.wechat.com/tq/"
}
},
"push" : {
"unipush" : {}
}
"push" : {}
},
"icons" : {
"android" : {
"hdpi" : "",
"xhdpi" : "",
"xxhdpi" : "",
"xxxhdpi" : ""
"hdpi" : "unpackage/res/icons/72x72.png",
"xhdpi" : "unpackage/res/icons/96x96.png",
"xxhdpi" : "unpackage/res/icons/144x144.png",
"xxxhdpi" : "unpackage/res/icons/192x192.png"
},
"ios" : {
"appstore" : "",
"appstore" : "unpackage/res/icons/1024x1024.png",
"ipad" : {
"app" : "",
"app@2x" : "",
"notification" : "",
"notification@2x" : "",
"proapp@2x" : "",
"settings" : "",
"settings@2x" : "",
"spotlight" : "",
"spotlight@2x" : ""
"app" : "unpackage/res/icons/76x76.png",
"app@2x" : "unpackage/res/icons/152x152.png",
"notification" : "unpackage/res/icons/20x20.png",
"notification@2x" : "unpackage/res/icons/40x40.png",
"proapp@2x" : "unpackage/res/icons/167x167.png",
"settings" : "unpackage/res/icons/29x29.png",
"settings@2x" : "unpackage/res/icons/58x58.png",
"spotlight" : "unpackage/res/icons/40x40.png",
"spotlight@2x" : "unpackage/res/icons/80x80.png"
},
"iphone" : {
"app@2x" : "",
"app@3x" : "",
"notification@2x" : "",
"notification@3x" : "",
"settings@2x" : "",
"settings@3x" : "",
"spotlight@2x" : "",
"spotlight@3x" : ""
"app@2x" : "unpackage/res/icons/120x120.png",
"app@3x" : "unpackage/res/icons/180x180.png",
"notification@2x" : "unpackage/res/icons/40x40.png",
"notification@3x" : "unpackage/res/icons/60x60.png",
"settings@2x" : "unpackage/res/icons/58x58.png",
"settings@3x" : "unpackage/res/icons/87x87.png",
"spotlight@2x" : "unpackage/res/icons/80x80.png",
"spotlight@3x" : "unpackage/res/icons/120x120.png"
}
}
},
@ -116,7 +114,8 @@
"hdpi" : "C:/Users/Administrator/Desktop/imgs/dealer_bg.png",
"xhdpi" : "C:/Users/Administrator/Desktop/imgs/dealer_bg.png",
"xxhdpi" : "C:/Users/Administrator/Desktop/imgs/dealer_bg.png"
}
},
"useOriginalMsgbox" : true
}
},
"uniStatistics" : {

View File

@ -449,7 +449,7 @@
"selectedColor": "#000000",
"borderStyle": "black",
"backgroundColor": "#FFFFFF",
"iconWidth": "48rpx",
"iconWidth": "24px",
"list": [{
"pagePath": "pages/shouye/index",
"iconPath": "static/tabbar/m1.png",

File diff suppressed because it is too large Load Diff

View File

@ -3,166 +3,167 @@
-->
<template>
<page-container :title="$c.detailPageTitle((pageData && pageData.goods))" :showBack="true">
<view class="content">
<view class="header relative" v-if="pageData && pageData.goods"
:style="{ background: 'url(' + pageData.goods.imgurl_detail + ') no-repeat 0 0 / 100% 100%', }">
<view class="content">
<view class="header relative" v-if="pageData && pageData.goods"
:style="{ background: 'url(' + pageData.goods.imgurl_detail + ') no-repeat 0 0 / 100% 100%', }">
<view class="header-wuzhe flex" v-if="pageData.goods.is_shou_zhe == 1">
<image class="img100" :src="$img1('common/chouBanjia.png')" mode="aspectFit"></image>
<view class="header-wuzhe flex" v-if="pageData.goods.is_shou_zhe == 1">
<image class="img100" :src="$img1('common/chouBanjia.png')" mode="aspectFit"></image>
</view>
<view class="header-goodsTitel">{{ pageData.goods.title }}</view>
<view class="header-suoxiang center"
v-if="pageData.goods.lock_is == 1 && pageData.lock_info.goods_lock_surplus_time > 0">
<image :src="pageData.lock_info.goods_lock_user_headimg" mode="aspectFill"></image>
<view class="hidden ml10">{{
pageData.lock_info.goods_lock_user_nickname
}}</view>
<image class="ml20" :src="$img1('index/suoxiang.png')" mode="aspectFit"></image>
<view class="ml30">倒计时{{ secNum }}S</view>
</view>
<view class="header-title center"
:style="{ background: 'url(' + $img1('common/chouTitle.png') + ') no-repeat 0 0 / 100% 100%', }">
<text>
<template></template>
</text>
<text>
<template v-if="pageData.goods.type != 5"></template>
<template>{{ pageData.goods.price }}</template>
<template v-if="pageData.goods.type == 5">积分</template>
</text>
<text>
<template v-if="pageData.goods.type != 5">/含明信片</template>
</text>
</view>
<collect-btn v-if="pageData && pageData.goods" :goods-id="pageData.goods.id"
:goods-num="pageData.goods.num" :is-collected="pageData.goods.collection_is"
@collection-changed="onCollectionChanged"></collect-btn>
<view
style="width: 100%; height: 232rpx; position: absolute; bottom: 0; background-image: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));" />
</view>
<!--选项卡-->
<detail-toolbar v-if="pageData != null && pageData.goods != null" :goods-type="pageData.goods.type"
:current-tab="tabCur" @rule-click="handleRuleClick" @tab-change="tabChange"
@change-box="changeBox"></detail-toolbar>
<view class="spylView" v-if="tabCur == 1 && pageData">
<view class="spylView-head align-center justify-between">
<view class="column align-center" @click="prev">
<view class="center" style="width: 64rpx; height: 64rpx">
<uni-icons type="left" color="#999999"></uni-icons>
</view>
</view>
<view class="">
<view class="flex" style="background-color: #F5F5F5;">
<text :style="{ width: '80%' }"></text>
</view>
<view class="align-center" v-if="pageData.goods">
<view class="align-center"> <text>{{ pageData.goods.num }}</text> /{{ pageData.goods.stock
}}
</view>
<view style="margin-left: 58rpx;">赏品余量</view>
<view class="align-center">
<text>{{ pageData.goods.goodslist_surplus_stock }}</text>/{{
pageData.goods.goodslist_stock }}
</view>
</view>
</view>
<view class="column align-center" @click="next">
<view class="center" style="width: 64rpx; height: 64rpx">
<uni-icons type="right" color="#999999"></uni-icons>
</view>
</view>
</view>
<!-- 赏品列表 -->
<view class="list">
<detail-list-item v-for="(item, i) in pageData.goodslist" :key="i" :item="item"
@click="previewDetail">
<template #content>
<view class="item-info">
<view class="item-title hang1">
<text>{{ item.title }}</text>
</view>
<view class="item-probability hang1">
<text>{{ item.pro }}</text>
</view>
<view class="item-price hang1">
<text>售价:<text style="font-size: 22rpx;">{{ item.sc_money }}</text></text>
</view>
</view>
</template>
</detail-list-item>
</view>
</view>
<view class="header-goodsTitel">{{ pageData.goods.title }}</view>
<!-- 中赏记录 -->
<template v-if="tabCur == 2">
<mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="getLog"
:down="downOption" :up="upOption">
<detail-prize-log :sub-tab="subTab" :log-list="logList" :current-sub-tab="subTabCur"
@sub-tab-change="subTabChange"></detail-prize-log>
</mescroll-body>
</template>
<view class="header-suoxiang center"
v-if="pageData.goods.lock_is == 1 && pageData.lock_info.goods_lock_surplus_time > 0">
<image :src="pageData.lock_info.goods_lock_user_headimg" mode="aspectFill"></image>
<view class="hidden ml10">{{
pageData.lock_info.goods_lock_user_nickname
}}</view>
<image class="ml20" :src="$img1('index/suoxiang.png')" mode="aspectFit"></image>
<view class="ml30">倒计时{{ secNum }}S</view>
<detail-button v-if="pageData" :pageData="pageData" :isWuxian="false"
@button-click="confirmSubmit"></detail-button>
<!-- 确认订单弹窗 -->
<order-confirm-popup ref="buyPop" v-if="orderData" :order-data="orderData" :page-data="pageData"
:use-money="useMoney" :use-money2="useMoney2" :use-integral="useIntegral" :coupon-data="couponData"
:is-agree="isAgree" :send-rule-data="sendRuleData" :buy-num="buyNum" @close="close('buyPop')"
@change-pay="changePay" @toggle-agree="isAgree = !isAgree" @to-coupon="toCoupon"
@confirm="$c.noDouble1(confirmSubmit, [1, buyNum], choujiangloading)"></order-confirm-popup>
<buy-notice ref="buyNotice"
@confirm="$c.noDouble(confirmSubmit, [1, buyNum, true], choujiangloading)"></buy-notice>
<!--中奖动画-->
<uni-popup ref="resPop" type="center" mask-background-color="rgba(0,0,0,0.8)">
<view v-if="prizeData" class="res-pop common_bg column center">
<view class="res-pop-hd"></view>
<scroll-view class="res-pop-bd" scroll-y>
<view class="res-list">
<view class="res-item" v-for="(item, i) in prizeData.data" :key="i">
<view class="pic center">
<image :src="item.goodslist_imgurl" lazy-load></image>
<view class="type-tag center">{{ item.shang_title }}</view>
<view class="num center">{{ item.prize_num }}</view>
</view>
<view class="title hang1 flex center">
<text> {{ item.goodslist_title }}</text>
</view>
</view>
</view>
</scroll-view>
<view class="res-pop-ft mt20">
<view class="ft-btn common_bg justify-center center" :style="{
backgroundImage: `url(${$img1('common/quhegui.png')})`,
}" @click="toBag">
<text>去发货</text>
</view>
<view class="ft-btn common_bg justify-center center" :style="{
backgroundImage: `url(${$img1('common/jixuchou.png')})`,
}" @click="close('resPop')">
<text>继续抽</text>
</view>
</view>
</view>
</uni-popup>
<view v-if="aniShow" class="ani-pop">
<image :src="aniSrc" lazy-load></image>
</view>
<view class="header-title center"
:style="{ background: 'url(' + $img1('common/chouTitle.png') + ') no-repeat 0 0 / 100% 100%', }">
<text>
<template></template>
</text>
<text>
<template v-if="pageData.goods.type != 5"></template>
<template>{{ pageData.goods.price }}</template>
<template v-if="pageData.goods.type == 5">积分</template>
</text>
<text>
<template v-if="pageData.goods.type != 5">/含明信片</template>
</text>
</view>
<collect-btn v-if="pageData && pageData.goods" :goods-id="pageData.goods.id" :goods-num="pageData.goods.num"
:is-collected="pageData.goods.collection_is" @collection-changed="onCollectionChanged"></collect-btn>
<view
style="width: 100%; height: 232rpx; position: absolute; bottom: 0; background-image: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));" />
<rule-pop ref="rulePop"></rule-pop>
<coupon-pop ref="couponPop"></coupon-pop>
<!-- 添加直接引用的预览组件 -->
<detail-preview-popup ref="localPreviewPopup"></detail-preview-popup>
</view>
<!--选项卡-->
<detail-toolbar :goods-type="pageData.goods.type" :current-tab="tabCur" @rule-click="handleRuleClick"
@tab-change="tabChange" @change-box="changeBox"></detail-toolbar>
<view class="spylView" v-if="tabCur == 1 && pageData">
<view class="spylView-head align-center justify-between">
<view class="column align-center" @click="prev">
<view class="center" style="width: 64rpx; height: 64rpx">
<uni-icons type="left" color="#999999"></uni-icons>
</view>
</view>
<view class="">
<view class="flex" style="background-color: #F5F5F5;">
<text :style="{ width: '80%' }"></text>
</view>
<view class="align-center" v-if="pageData.goods">
<view class="align-center"> <text>{{ pageData.goods.num }}</text> /{{ pageData.goods.stock }}
</view>
<view style="margin-left: 58rpx;">赏品余量</view>
<view class="align-center">
<text>{{ pageData.goods.goodslist_surplus_stock }}</text>/{{
pageData.goods.goodslist_stock }}
</view>
</view>
</view>
<view class="column align-center" @click="next">
<view class="center" style="width: 64rpx; height: 64rpx">
<uni-icons type="right" color="#999999"></uni-icons>
</view>
</view>
</view>
<!-- 赏品列表 -->
<view class="list">
<detail-list-item v-for="(item, i) in pageData.goodslist" :key="i" :item="item" @click="previewDetail">
<template #content>
<view class="item-info">
<view class="item-title hang1">
<text>{{ item.title }}</text>
</view>
<view class="item-probability hang1">
<text>{{ item.pro }}</text>
</view>
<view class="item-price hang1">
<text>售价:<text style="font-size: 22rpx;">{{ item.sc_money }}</text></text>
</view>
</view>
</template>
</detail-list-item>
</view>
</view>
<!-- 中赏记录 -->
<template v-if="tabCur == 2">
<mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="getLog" :down="downOption"
:up="upOption">
<detail-prize-log :sub-tab="subTab" :log-list="logList" :current-sub-tab="subTabCur"
@sub-tab-change="subTabChange"></detail-prize-log>
</mescroll-body>
</template>
<detail-button
v-if="pageData"
:pageData="pageData"
:isWuxian="false" @button-click="confirmSubmit"
></detail-button>
<!-- 确认订单弹窗 -->
<order-confirm-popup ref="buyPop" v-if="orderData" :order-data="orderData" :page-data="pageData" :use-money="useMoney"
:use-money2="useMoney2" :use-integral="useIntegral" :coupon-data="couponData" :is-agree="isAgree"
:send-rule-data="sendRuleData" :buy-num="buyNum" @close="close('buyPop')" @change-pay="changePay"
@toggle-agree="isAgree = !isAgree" @to-coupon="toCoupon"
@confirm="$c.noDouble1(confirmSubmit, [1, buyNum], choujiangloading)"></order-confirm-popup>
<buy-notice ref="buyNotice"
@confirm="$c.noDouble(confirmSubmit, [1, buyNum, true], choujiangloading)"></buy-notice>
<!--中奖动画-->
<uni-popup ref="resPop" type="center" mask-background-color="rgba(0,0,0,0.8)">
<view v-if="prizeData" class="res-pop common_bg column center">
<view class="res-pop-hd"></view>
<scroll-view class="res-pop-bd" scroll-y>
<view class="res-list">
<view class="res-item" v-for="(item, i) in prizeData.data" :key="i">
<view class="pic center">
<image :src="item.goodslist_imgurl" lazy-load></image>
<view class="type-tag center">{{ item.shang_title }}</view>
<view class="num center">{{ item.prize_num }}</view>
</view>
<view class="title hang1 flex center">
<text> {{ item.goodslist_title }}</text>
</view>
</view>
</view>
</scroll-view>
<view class="res-pop-ft mt20">
<view class="ft-btn common_bg justify-center center" :style="{
backgroundImage: `url(${$img1('common/quhegui.png')})`,
}" @click="toBag">
<text>去发货</text>
</view>
<view class="ft-btn common_bg justify-center center" :style="{
backgroundImage: `url(${$img1('common/jixuchou.png')})`,
}" @click="close('resPop')">
<text>继续抽</text>
</view>
</view>
</view>
</uni-popup>
<view v-if="aniShow" class="ani-pop">
<image :src="aniSrc" lazy-load></image>
</view>
<rule-pop ref="rulePop"></rule-pop>
<coupon-pop ref="couponPop"></coupon-pop>
<!-- 添加直接引用的预览组件 -->
<detail-preview-popup ref="localPreviewPopup"></detail-preview-popup>
</view>
</page-container>
</template>
@ -188,7 +189,7 @@ export default {
optData: "",
boxNum: "",
buyNum: 0,
title:"",
title: "",
// (, )
downOption: {
auto: false,
@ -308,7 +309,7 @@ export default {
console.log(item);
// 使
preview({
productType:this.title,
productType: this.title,
dataItem: item,
goods: this.pageData.goods
}).then(() => {
@ -417,7 +418,7 @@ export default {
return;
}
}
this.buyNum = num;
let coupon_id = (this.couponData && this.couponData.id) || ''
if (coupon_id != '' && this.useIntegral) {
@ -641,7 +642,7 @@ export default {
},
});
},
close(e) {
console.log('关闭弹窗:', e, this.$refs[e]);
if (e === 'buyPop') {

View File

@ -14,7 +14,7 @@
<image class="ml20" :src="$img1('index/suoxinag.png')" mode="aspectFit"></image>
<view class="ml30">倒计时{{ secNum }}S</view>
</view>
<view class="header-title center"
<view class="header-title center"
:style="{ background: 'url(' + $img1('common/chouTitle.png') + ') no-repeat 0 0 / 100% 100%' }">
<text>
<template></template>

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 878 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB