Browse Source

修复视频黑边问题,删除隐藏样式,更新index.json配置

pull/12/head
徐飞洋 2 months ago
parent
commit
02606125ab
  1. 55
      pages/goods-detail/goods-detail.js
  2. 34
      pages/goods-detail/goods-detail.wxml
  3. 37
      pages/goods-detail/goods-detail.wxss
  4. 2
      pages/index/index.json

55
pages/goods-detail/goods-detail.js

@ -303,6 +303,40 @@ function checkLoginStatus() {
return !!(openid && userId);
}
// 格式化日期时间函数
function formatDateTime(dateString) {
if (!dateString) return '';
// 尝试解析日期字符串
const date = new Date(dateString);
// 检查是否是有效的日期对象
if (isNaN(date.getTime())) {
// 如果解析失败,返回原始字符串
return dateString;
}
// 如果是 ISO 格式的字符串(包含 T 字符),则转换为本地时间格式,只保留日期部分
if (typeof dateString === 'string' && dateString.includes('T')) {
const year = date.getFullYear();
const month = (date.getMonth() + 1).toString().padStart(2, '0');
const day = date.getDate().toString().padStart(2, '0');
return `${year}-${month}-${day}`;
}
// 对于其他格式的字符串,尝试提取日期部分
if (typeof dateString === 'string') {
// 检查是否包含空格,提取空格前的日期部分
const spaceIndex = dateString.indexOf(' ');
if (spaceIndex !== -1) {
return dateString.substring(0, spaceIndex);
}
}
// 如果以上都不匹配,直接返回
return dateString;
}
// 处理净重、件数、规格和价格数据,将逗号分隔的字符串转换为一一对应的数组
function processWeightAndQuantityData(weightSpecString, quantityString, specString, priceString) {
console.log('===== 处理净重、件数、规格和价格数据 =====');
@ -2484,12 +2518,17 @@ Page({
// 提取省份信息
const province = extractProvince(goods.region || '');
// 格式化日期
const updatedAt = goods.updated_at || goods.updatedAt;
const formattedDate = formatDateTime(updatedAt);
return {
...goods,
price: priceString, // 确保price字段是字符串类型
mediaItems: processMediaUrls(goods.imageUrls),
weightQuantityData: weightQuantityData,
province: province // 添加省份字段
province: province, // 添加省份字段
formattedDate: formattedDate // 添加格式化的日期字段
};
}).filter(goods => {
// 只有当当前商品有明确的规格时才进行筛选
@ -2697,12 +2736,17 @@ Page({
// 处理数据
const weightQuantityData = processWeightAndQuantityData(weightSpecString, quantityString, '', priceString);
// 格式化日期
const updatedAt = product.updated_at || product.updatedAt;
const formattedDate = formatDateTime(updatedAt);
return {
...product,
price: priceString, // 确保price字段是字符串类型
mediaItems: processMediaUrls(product.imageUrls),
province: province, // 添加省份字段
weightQuantityData: weightQuantityData // 添加价格处理数据
weightQuantityData: weightQuantityData, // 添加价格处理数据
formattedDate: formattedDate // 添加格式化的日期字段
};
});
console.log('所有商品详情获取完成,有效商品数量:', validProducts.length);
@ -2754,12 +2798,17 @@ Page({
// 处理数据
const weightQuantityData = processWeightAndQuantityData(weightSpecString, quantityString, '', priceString);
// 格式化日期
const updatedAt = product.updated_at || product.updatedAt;
const formattedDate = formatDateTime(updatedAt);
return {
...product,
price: priceString, // 确保price字段是字符串类型
mediaItems: processMediaUrls(product.imageUrls),
province: province, // 添加省份字段
weightQuantityData: weightQuantityData // 添加价格处理数据
weightQuantityData: weightQuantityData, // 添加价格处理数据
formattedDate: formattedDate // 添加格式化的日期字段
};
});

34
pages/goods-detail/goods-detail.wxml

@ -268,10 +268,19 @@
</view>
<view class="compare-goods-info">
<text class="compare-goods-name">{{item.name}}</text>
<text class="compare-goods-spec">{{item.specification || item.spec || item.specs || '暂无规格'}}</text>
<text class="compare-goods-quantity">{{item.quantity || '暂无件数'}}件</text>
<text class="compare-goods-price">价格: {{item.price}}</text>
<text class="compare-goods-region">{{item.province || item.region || '暂无地区'}}</text>
<text class="compare-goods-spec-quantity">
<block wx:if="{{item.weightQuantityData && item.weightQuantityData.length > 0}}">
<block wx:for="{{item.weightQuantityData}}" wx:for-item="specItem" wx:key="index">
{{specItem.display}}
</block>
</block>
<block wx:else>
{{item.specification || item.spec || item.specs || '暂无规格'}}|{{item.quantity || '暂无件数'}}件
</block>
</text>
<text class="compare-goods-region-time">
{{item.province || item.region || '暂无地区'}} | 售出时间:{{item.formattedDate || '暂无时间'}}
</text>
</view>
</view>
</block>
@ -308,10 +317,19 @@
</view>
<view class="compare-goods-info">
<text class="compare-goods-name">{{item.name}}</text>
<text class="compare-goods-spec">{{item.specification || item.spec || item.specs || '暂无规格'}}</text>
<text class="compare-goods-quantity">{{item.quantity || '暂无件数'}}件</text>
<text class="compare-goods-price">价格: {{item.price.split(',')[0]}}</text>
<text class="compare-goods-region">{{item.province || item.region || '暂无地区'}}</text>
<text class="compare-goods-spec-quantity">
<block wx:if="{{item.weightQuantityData && item.weightQuantityData.length > 0}}">
<block wx:for="{{item.weightQuantityData}}" wx:for-item="specItem" wx:key="index">
{{specItem.display}}
</block>
</block>
<block wx:else>
{{item.specification || item.spec || item.specs || '暂无规格'}}|{{item.quantity || '暂无件数'}}件
</block>
</text>
<text class="compare-goods-region-time">
{售出时间}{{item.province || item.region || '暂无地区'}} | {{item.formattedDate || '暂无时间'}}
</text>
</view>
</view>
</block>

37
pages/goods-detail/goods-detail.wxss

@ -857,15 +857,16 @@ video.slider-media .wx-video-volume-icon {
.compare-goods-list {
flex: 1;
overflow-y: auto;
padding: 16rpx;
padding: 12rpx;
}
.compare-goods-item {
display: flex;
align-items: center;
background-color: #fff;
border-radius: 16rpx;
padding: 16rpx;
margin-bottom: 16rpx;
border-radius: 12rpx;
padding: 12rpx;
margin-bottom: 12rpx;
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.08);
transition: all 0.3s ease;
border: 1rpx solid #f0f0f0;
@ -879,8 +880,8 @@ video.slider-media .wx-video-volume-icon {
.compare-goods-image {
width: 120rpx;
height: 120rpx;
border-radius: 12rpx;
margin-right: 16rpx;
border-radius: 10rpx;
margin-right: 12rpx;
object-fit: cover;
background: linear-gradient(135deg, #f0f4ff 0%, #d9e4ff 100%);
}
@ -889,8 +890,8 @@ video.slider-media .wx-video-volume-icon {
.product-image-wrapper {
width: 120rpx;
height: 120rpx;
border-radius: 12rpx;
margin-right: 16rpx;
border-radius: 10rpx;
margin-right: 12rpx;
overflow: hidden;
position: relative;
background: linear-gradient(135deg, #f0f4ff 0%, #d9e4ff 100%);
@ -912,15 +913,15 @@ video.slider-media .wx-video-volume-icon {
flex: 1;
display: flex;
flex-direction: column;
justify-content: space-between;
justify-content: flex-start;
}
.compare-goods-name {
font-size: 32rpx;
color: #222;
font-weight: 600;
line-height: 1.4;
margin-bottom: 8rpx;
line-height: 1.3;
margin-bottom: 4rpx;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
@ -955,6 +956,20 @@ video.slider-media .wx-video-volume-icon {
color: #999;
}
.compare-goods-spec-quantity {
font-size: 28rpx;
color: #666;
line-height: 1.1;
margin: 2rpx 0;
}
.compare-goods-region-time {
font-size: 26rpx;
color: #999;
line-height: 1.1;
margin-top: 2rpx;
}
.compare-empty {
text-align: center;
padding: 80rpx 0;

2
pages/index/index.json

@ -2,7 +2,7 @@
"usingComponents": {
"navigation-bar": "/components/navigation-bar/navigation-bar"
},
"enablePullDownRefresh": true,
"enablePullDownRefresh": false,
"backgroundTextStyle": "dark",
"backgroundColor": "#f8f8f8"
}
Loading…
Cancel
Save