feat: 图片上传

This commit is contained in:
2025-08-19 00:11:16 +08:00
parent 5398b4234d
commit 2e76fec9d6
4 changed files with 120 additions and 76 deletions
+75 -67
View File
@@ -8,13 +8,13 @@
<view class="choiceness_product">
<view v-for="item in productList" :key="item.id" class="choiceness_product_item" @click="jumpInfo(item)">
<up-image :src="item.url" width="100%" height="140" bgColor="#f1f6ff00"></up-image>
<view class="product_item_name">{{item.title}}</view>
<view class="product_item_name">{{ item.title }}</view>
<view class="product_item_price">
<view class="price_">
<text>¥</text>
<text style="color:36rpx;">{{item.adPrice}}</text>
<text style="color:36rpx;">{{ item.price }}</text>
</view>
<view class="price_sell">已售{{item.sales}}件</view>
<view class="price_sell">已售{{ item.sales }}件</view>
</view>
</view>
</view>
@@ -22,85 +22,93 @@
</template>
<script>
import { searchList } from '@/api/product.js';
import { searchList } from '@/api/product.js';
export default {
name:"choiceness",
data() {
return {
productList:[]
};
export default {
name: "choiceness",
data() {
return {
productList: []
};
},
mounted() {
this.getSearchList();
},
methods: {
//
jumpInfo(item) {
uni.navigateTo({
url: '/pages/other_package/productInfo/productInfo?id=' + item.id,
})
},
mounted() {
this.getSearchList();
},
methods: {
//
jumpInfo(item){
uni.navigateTo({
url: '/pages/other_package/productInfo/productInfo?id='+item.id,
})
},
async getSearchList(){
const params={
isRecomm:true,
page:1,
pageSize:66,
}
const resp = await searchList(params);
if(resp && resp.bizcode === 100){
this.productList = resp.data
}
async getSearchList() {
const params = {
isRecomm: true,
page: 1,
pageSize: 66,
}
const resp = await searchList(params);
if (resp && resp.bizcode === 100) {
this.productList = resp.data
}
}
}
}
</script>
<style lang="scss" scoped>
.choiceness_warp{
margin-top: 50rpx;
.choiceness_warp {
margin-top: 50rpx;
}
.choiceness_title {
display: flex;
justify-content: center;
.choiceness_title_msg {
margin: 0 18rpx;
}
.choiceness_title{
display: flex;
justify-content: center;
.choiceness_title_msg{
margin: 0 18rpx;
}
}
.choiceness_product {
margin-top: 40rpx;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
.choiceness_product_item {
background: #FFFFFF;
box-shadow: 0rpx 0rpx 10rpx 0rpx #EEEEEE;
border-radius: 24rpx;
width: 43%;
margin-bottom: 20rpx;
padding: 20rpx;
}
.choiceness_product{
margin-top: 40rpx;
.product_item_name {
font-weight: bold;
font-size: 26rpx;
color: #333333;
margin-top: 20rpx;
}
.product_item_price {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
.choiceness_product_item{
background: #FFFFFF;
box-shadow: 0rpx 0rpx 10rpx 0rpx #EEEEEE;
border-radius: 24rpx;
width: 43%;
margin-bottom: 20rpx;
padding: 20rpx;
}
.product_item_name{
align-items: center;
margin-top: 10rpx;
.price_ {
font-weight: bold;
font-size: 26rpx;
color: #333333;
margin-top: 20rpx;
color: $app-bt-bj;
}
.product_item_price{
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 10rpx;
.price_{
font-weight: bold;
font-size: 26rpx;
color: $app-bt-bj;
}
.price_sell{
font-weight: 400;
font-size: 18rpx;
color: #999999;
}
.price_sell {
font-weight: 400;
font-size: 18rpx;
color: #999999;
}
}
}
</style>
@@ -2,7 +2,9 @@
<view class="product_info_warp">
<!-- 头部产品描述图 -->
<view class="product_info_header_warp">
<up-swiper :list="swiperList" height="280" @change="e => currentNum = e.current">
<up-swiper :list="swiperList" class="product_info_header_swiper" @click="onSwiper"
@change="e => currentNum = e.current">
<template #indicator>
<view class="indicator-num">
<text class="indicator-num__text">{{ currentNum + 1 }}/{{ swiperList.length }}</text>
@@ -112,7 +114,8 @@
</view>
<view class="product_but_right">
<view v-if="!ji" class="but_comm join_warp" @click="checkSpecification(true, 'addCart')">加入购物车</view>
<view class="but_comm buy_warp" :class="{ 'border-16': ji }" @click="checkSpecification(true, 'buy')">立即购买</view>
<view class="but_comm buy_warp" :class="{ 'border-16': ji }" @click="checkSpecification(true, 'buy')">立即购买
</view>
</view>
</view>
<!-- 选择规格的弹框 -->
@@ -289,6 +292,13 @@ export default {
},
methods: {
getValue,
onSwiper(index) {
uni.previewImage({
current: index,
loop: true,
urls: this.swiperList
});
},
copyMobile(mobile) {
copyData(mobile);
this.serviceShow = false;
@@ -553,6 +563,25 @@ export default {
.product_info_header_warp {
position: relative;
.product_info_header_swiper {
height: 562.5rpx !important;
::v-deep(.u-swiper__wrapper) {
height: 562.5rpx !important;
.u-swiper__wrapper {
height: 562.5rpx !important;
.u-swiper__wrapper__item__wrapper__image {
height: 562.5rpx !important;
}
}
}
}
.img_comm {
position: absolute;
top: 140rpx;
+11 -6
View File
@@ -42,14 +42,19 @@
</view>
</view>
<view class="box-panel mt-32 mb-32">
<text class="text-zu text-32">加速说明</text>
<text class="text-zu text-32" style="font-weight: bold;">加速说明</text>
<text class="text-zu1 text-28 mt-24">获取方式: </text>
<text class="text-zu1 text-28">(1)通过购买报单区和好物区商品的直推和间推奖励获得</text>
<text class="text-zu1 text-28">(2)转盘抽奖获得</text>
<text class="text-zu1 text-28">加速包仅能通过【九宫格抽奖】获得</text>
<!-- <text class="text-zu1 text-28">(2)转盘抽奖获得</text> -->
<text class="text-zu1 text-28 mt-24">逻辑说明: </text>
<text class="text-zu1 text-28">(1)通过内购购买商品获得的是抽奖次数,并不能直接用于抽奖,能够抽奖的次数需要每天进行释放,或者直推间推下线的奖励获得可抽奖的次数</text>
<text class="text-zu1 text-28">(2)当可抽奖次数大于抽奖次数时,可抽奖次数将会被冻结24个小时,内购商品解冻,否则冻结的抽奖次数会消失。最终解释权归商城所有!!!</text>
<text class="text-zu1 text-28 mt-24" style="font-weight: bold; margin-bottom: 10px;">逻辑说明: </text>
<text class="text-zu1 text-28">(1)加速包是 TBC 股权快速释放的专属途径。</text>
<text class="text-zu1 text-28">(2)使用加速包释放的 TBC 股权可进行交割和出售。</text>
<text class="text-zu1 text-28">(2) 持有 TBC 股权,可享受商城每日分红,分红收益将直接发放至您的现金余额</text>
<text class="text-zu1 text-28 mt-24 " style="font-weight: bold; margin-bottom: 10px;">特别声明: </text>
<text class="text-zu1 text-28">本活动最终解释权归信任桥所有。</text>
</view>
<!-- (2)转盘抽奖获得 -->
</view>
+3 -1
View File
@@ -2,7 +2,9 @@
// export const BASE_URL="https://frontend.jdns360.com/api"; // 正式环境
// export const BASE_URL="http://cl55un59859.vicp.fun:24346"; // 测试环境
export const BASE_URL = "https://api.tbmall.xin";
export const BASE_URL = "https://api.tbmall.xin"; //生产
// export const BASE_URL ='http://www.hm.a-d.work/api' //测试
export const PRIVACY_EN = "https://www.finecc.net/?Privacy-Agreement/";//隐私协议地址(英文版)