Authored by htoooth

fix

... ... @@ -3,7 +3,8 @@
"pages/index/index",
"pages/account/chooseArea",
"pages/account/bindMobile",
"pages/product/detail/detail"
"pages/product/detail/detail",
"pages/share/share"
],
"window": {
"backgroundTextStyle": "light",
... ...
... ... @@ -144,7 +144,7 @@ const api = {
app_version: config.apiParams.app_version,
miniapp_version: config.apiParams.miniapp_version,
udid: udid.get(),
business_line: 'miniappOffshop'
business_line: 'miniappLimitedSell'
}, params);
},
get(params) {
... ...
import api from '../../common/api';
export default {
/**
* 查询助力信息
*
* @param {*} uid
* @param {*} limitCode
* @returns
*/
getAssistInfo(uid, limitCode) {
return api.post({
url: '',
data: {
userId: uid,
limitProductCode: limitCode,
method: 'app.limitProduct.queryHelpInfo'
}
});
},
/**
* 增加助力
*
* @param {*} params
* @returns
*/
addAssist({userId, helpUserId, helpUserName, helpUserImgUrl, limitProductCode}) {
return api.post({
url: '',
data: {
method: 'app.limitProduct.addHelpUserInfo',
userId,
helpUserId,
helpUserName,
helpUserImgUrl,
limitProductCode
}
});
}
};
\ No newline at end of file
... ...
... ... @@ -2,45 +2,24 @@ import api from '../../common/api';
export default {
/**
* 商品信息
* @param skn
* @returns {*}
*/
productInfo(skn) {
return api.get({
url: '',
data: {
product_skn: skn,
method: 'app.product.data'
}
});
},
* 商品信息
* @param skn
* @returns {*}
*/
productInfo(uid, limitProductCode) {
let data = {
method: 'app.limitProduct.limitProductDetail'
};
/**
* 支持的服务
* @param params
* @returns {*}
*/
supportService(params) {
return api.get({
url: '',
data: Object.assign({
method: 'app.product.supportService'
}, params)
});
},
if (uid) {
data.uid = uid;
}
data.limitProductCode = limitProductCode;
/**
* 商品详情
* @param params
* @returns {*}
*/
productIntro(params) {
return api.get({
url: '',
data: Object.assign({
method: 'smallapp.product.intro'
}, params)
data
});
}
};
},
};
\ No newline at end of file
... ...
Component({
properties: {
// 这里定义了innerText属性,属性值可以在组件使用时指定
innerText: {
type: String,
value: 'default value',
}
},
data: {
// 这里是一些组件内部数据
someData: {}
},
methods: {
// 这里是一个自定义方法
customMethod: function() {}
}
});
\ No newline at end of file
... ...
{
"component": true
}
\ No newline at end of file
... ...
<view class="modal-mask"></view>
<view class="modal-dialog">
<slot></slot>
</view>
\ No newline at end of file
... ...
.modal-mask {
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
background: #000;
opacity: 0.5;
overflow: hidden;
z-index: 9000;
color: #fff;
}
.modal-dialog {
width: 540rpx;
overflow: hidden;
position: fixed;
top: 50%;
left: 50%;
margin-right: -50%;
transform: translate(-50%, -50%);
z-index: 9999;
background: #f9f9f9;
border-radius: 36rpx;
}
\ No newline at end of file
... ...
... ... @@ -27,46 +27,12 @@ let yas;
Page(Object.assign({
data: {
shopId: 0,
productSkn: 0,
productName: '',
marketPrice: '',
salesPrice: '',
productImages: [],
storage_sum: 0,
buyImmediate: false,
loadingForPayment: false,
selectedSKU: 0,
colorSelected: false,
productSupportServiceList: [],
limitProductCode: '',
price: '',
defaultImage: '',
productDesc: [],
productPhrare: [],
productSizeTitle: [],
productSizeContent: [],
productMeasurementImage: [],
productWashTipsBoList: [],
productMaterialList: [],
productIntroImageList: [],
pickerData: {
view: {
isShow: false,
isSoldOutSoon: false,
goodsList: [],
sizeList: [],
image: '',
goodPrice: '',
price: '',
buyNumber: 1,
minusButtonEnable: false,
plusButtonEnable: true,
buyButtonEnable: true,
buy_limit_number: 0,
bundle_count: 0
},
sourceType: 'goodsDetail'
},
showSnapshootShare: false,
snapshootShareData: {},
... ... @@ -95,23 +61,13 @@ Page(Object.assign({
productNotForSale: false,
},
onLoad: function(options) {
let productSkn = options.productSkn ? options.productSkn : '';
if (!productSkn) {
productSkn = options.product_skn ? options.product_skn : '';
}
let limitProductCode = options.limitProductCode ? options.limitProductCode : '';
this.setData({
productSkn
limitProductCode
});
this.productInfo();
setTimeout(() => {
this.supportService();
this.productIntro();
this.preferList();
}, 500);
yas = new Yas(app);
yas.pageOpenReport();
},
... ... @@ -253,117 +209,47 @@ Page(Object.assign({
});
},
productInfo: function() {
detailModel.productInfo(this.data.productSkn)
detailModel.productInfo(app.getUid(), this.data.limitProductCode)
.then(res => {
if (res.code === 200) {
let ImgUrls = [];
let color_length = 0;
if (res.data.goods_list) {
color_length = res.data.goods_list.length;
}
res.data.goods_list.map((item, index) => {
let images = item.images_list;
ImgUrls = [...ImgUrls, ...images];
if (index === 0 && color_length === 1) {
item.selected = true;
this.data.colorSelected = true;
this.data.selectedProductId = item.goods_id;
}
});
let defaultImage;
let isSoldOutSoon = false;
let tags = res.data.tags;
if (tags) {
isSoldOutSoon = tags.includes('is_soon_sold_out');
if (res.data.defaultUrl) {
defaultImage = formatImage.image(res.data.defaultUrl, 168, 232);
}
// pickerData
let pickData = this.data.pickerData;
pickData.view.goodsList = res.data.goods_list;
pickData.view.isSoldOutSoon = isSoldOutSoon;
// 默认显示第一种颜色的尺码
pickData.view.sizeList = res.data.goods_list.length ? res.data.goods_list[0].size_list : [];
let plusButtonEnable = false;
let minusButtonEnable = false;
// 根据库存设置该尺码是否可以选择
let size_length = 0;
let productDesc = [];
if (pickData.view.sizeList) {
size_length = pickData.view.sizeList.length;
if (res.data.attachment) {
productDesc = res.data.attachment.map(a => {
return {
imageUrl: formatImage.image(a.attachUrl, 345, 216),
intro: a.intro
};
});
}
pickData.view.sizeList && pickData.view.sizeList.map((item, index) => {
item.enable = item.storage_number > 0;
if (index === 0 && size_length === 1 && this.data.colorSelected) {
// 当颜色被选中 并且只有一个size 时 才会自动 做选中尺码操作
pickData.view.buyButtonEnable = item.enable;
if (item.enable) {
item.selected = true;
plusButtonEnable = item.storage_number > 1;
this.setData({
selectedSKU: item.product_sku,
storageNumber: item.storage_number
});
}
}
});
pickData.view.plusButtonEnable = plusButtonEnable;
pickData.view.minusButtonEnable = minusButtonEnable;
pickData.view.image = formatImage.image(ImgUrls.length > 0 ? ImgUrls[0].image_url : '', 168, 232);
pickData.view.price = res.data.format_market_price;
pickData.view.goodPrice = res.data.format_sales_price;
let default_image = formatImage.image(ImgUrls.length > 0 ? ImgUrls[0].image_url : '', 750, 1000);
let default_image = defaultImage;
let product_qrCode = config.domains.api + '/wechat/miniapp/img-check.jpg?param=' + res.data.product_skn; // eslint-disable-line
let snapData = {
product_name: res.data.product_name,
product_price: '¥' + res.data.sales_price,
product_price: '¥' + res.data.price,
default_image,
product_qrCode,
product_skn: this.data.productSkn
};
this.setData({
productName: res.data.product_name,
marketPrice: res.data.format_market_price,
salesPrice: res.data.format_sales_price,
productImages: ImgUrls,
pickerData: pickData,
storage_sum: res.data.storage_sum,
productSkn: res.data.productSkn,
productName: res.data.productName,
price: res.data.price,
saleTime: res.data.saleTime,
reminderNum: res.data.reminderNum,
defaultImage,
productDesc,
snapshootShareData: snapData,
shopId: res.data.shop_id,
// 暂时没用
// brand_id: res.data.brand_id,
// isLimitBuy:res.data.isLimitBuy,
// is_deposit_advance:res.data.is_deposit_advance,
// is_secKill:res.data.is_secKill,
// is_advance:res.data.is_advance,
// sales_phrase: res.data.sales_phrase,
// expect_arrival_time: res.data.expect_arrival_time || '',
// isInstalment:res.data.isInstalment,
// product_id: res.data.product_id,
// vipPrice : res.data.vip || '',
// is_supplyed: res.data.is_supplyed,
// bundle_type: res.data.bundle_type,
// store_show_status: res.data.store_show_status,
// attribute: res.data.attribute,
productOnlyProvideByYohoAPP: res.data.is_secKill === 'Y' || res.data.is_advance === 'Y' || res.data.attribute === 3 || res.data.attribute === 4 || res.data.isLimitBuy || res.data.is_deposit_advance === 'Y', // eslint-disable-line
productOnlyProvideByYohoStore: res.data.store_show_status === 3 || res.data.store_show_status === 4, // eslint-disable-line
productNotForSale: res.data.attribute === 2,
showBottomTipView: true
});
this.shopRecList(res.data.shop_id);
}
});
},
... ...
... ... @@ -5,6 +5,7 @@
"product-list": "/components/product/list",
"view-title": "/components/layout/view-title/view-title",
"copyright": "/components/layout/copyright/copyright",
"quick-navigation": "/components/layout/quick-navigation/quick-navigation"
"quick-navigation": "/components/layout/quick-navigation/quick-navigation",
"yoho-alert": "./components/alert/alert"
}
}
... ...
<import src="./picker/picker.wxml"/>
<wxs src="../../../wxs/helper.wxs" module="helper"/>
<import src="../../../vendors/zanui/actionsheet/index.wxml"/>
<view>
<image src="{{defaultImage}}"></image>
</view>
<view class="detail-container">
<view class='topContainer'>
<product-banner image-list="{{productImages}}" product-name="{{productName}}"></product-banner>
<view class="product-name">
<text class="name">{{productName}}</text>
</view>
<view class="price-seperator"></view>
<view class="goodPrice">
<text class="realPrice">{{salesPrice != '0' ? salesPrice : marketPrice}}</text>
<text class="price" wx:if="{{salesPrice != '0'}}">{{marketPrice}}</text>
<view class="goodShare">
<image class="shareIcon" src="../../../static/images/share-ic-dark@2x.png" bindtap="share"></image>
<button bindtap="share" class="shareButton"></button>
</view>
</view>
<view class="gap"></view>
<!-- 支持的服务 -->
<view class="supportService"
style="display: {{productSupportServiceList.length>0?'block':'none'}} ;flex-direction: row; display: flex;">
<view class="supportService-item" wx:for="{{productSupportServiceList}}" wx:key="supportService">
<text wx:if="{{item.flag == 1}}" class="iconfont icon-duihao-fill"></text>
<text wx:else class="iconfont icon-warn-fill unsupport-icon"></text>
<text class="support-service-title">{{item.title}}</text>
</view>
</view>
<view class="gap"></view>
<view class="goodsInfo" style="display:{{productDesc.length>0?'block':'none'}}">
<view class="module-title">
<text class="text">商品信息 <text class="sub-text">DESCRIPTION</text></text>
</view>
<view class="table">
<view class="tr" wx:for="{{productDesc.length/2}}" wx:key="unique">
<view class="td">{{productDesc[index*2]}}</view>
<view class="td">{{productDesc[index*2+1]}}</view>
</view>
</view>
<view wx:if="{{productPhrare}}" class="goodsInfoPhrare">
<text class="lightGrayFont">{{productPhrare}}</text>
</view>
<text class="realPrice">{{price}}</text>
<view class="advanceTitleView">
<view class="advanceTitle">{{saleTime}}发售</view>
<view class="advanceTime">{{reminderNum}}人已关注</view>
</view>
<view class="goodsInfo" style="display:{{productSizeContent.length>0?'block':'none'}}">
<view class="module-title">
<text class="text">尺码信息 <text class="sub-text">INFORMATION</text></text>
</view>
<scroll-view class="table">
<view class="tr">
<view class="td" wx:for="{{productSizeTitle}}" wx:key="unique">{{item}}</view>
</view>
<view class="tr" wx:for="{{productSizeContent}}" wx:key="unique">
<view class="td" wx:for="{{productSizeContent[index]}}" wx:key="unique">{{item}}</view>
</view>
</scroll-view>
<view class="detail-btn">
查看商品详情
</view>
</view>
<view class="goodsInfo" style="display:{{productMeasurementImage?'block':'none'}}">
<view class="module-title">
<text class="text">测量信息 <text class="sub-text">DESCRIPTION</text></text>
<view class="line"></view>
<view class="detail-container">
<view class="goodsInfo">
<view wx:for="{{productDesc}}" style="text-align:center">
<image class="intro-image" src="{{item.imageUrl}}" wx:if="{{item.imageUrl}}" ></image>
<text>{{item.intro}}</text>
</view>
<image src="{{productMeasurementImage}}" mode="widthFix"></image>
</view>
<view class="goodsInfo" style="display:{{productMaterialList[0].remark?'block':'none'}}">
<view class="module-title">
<text class="text">商品材质 <text class="sub-text">DESCRIPTION</text></text>
</view>
<view class="goodsInfoDescription">
<text class="lightGrayFont">{{productMaterialList[0].remark}}</text>
</view>
<view class="goodsTexture" wx:for="{{productWashTipsBoList}}" wx:key="unique">
<view class="texture">
<image class="img" src= "{{item.img}}" mode="widthFix"/>
<view class="desc">
<text class="lightGrayFont">{{item.caption}}</text>
</view>
</view>
</view>
</view>
<copyright></copyright>
<!-- <view class="top-mask"></view>
<view class="top-assis-action">
<view class="top-title">你的好友邀请你为ta助力参加排队</view>
<view class="top-action">
<view class="top-ok">帮ta助力</view>
<view class="top-cancel">取消</view>
</view>
</view> -->
<view class="goodsInfo img" style="display:{{productIntroImageList.length>0?'block':'none'}}">
<view class="module-title">
<text class="text">商品详情 <text class="sub-text">DESCRIPTION</text></text>
</view>
<view wx:for="{{productIntroImageList}}" wx:key="introImage" style="text-align:center">
<image class="intro-image" src="{{item}}" mode="widthFix"></image>
</view>
<!-- <view class="bottom-assis-list">
<view class="assis-title">当前已成功助力好友数:0/5</view>
<view class="avatar-list">
<view class="avatar-item"></view>
<view class="avatar-item"></view>
<view class="avatar-item"></view>
<view class="avatar-item"></view>
<view class="avatar-item"></view>
</view>
<block wx:if="{{shopRecList.length}}">
<view class="gap"></view>
<view class='titleContainer'>
<view class='titleLine'></view>
<view class='titleDesc'> 店铺推荐商品</view>
</view>
<view class="product-list shop-rec">
<product-list list="{{shopRecList}}"></product-list>
</view>
</block>
<block wx:if="{{preferList.length}}">
<view class="gap"></view>
<view class='titleContainer'>
<view class='titleLine'></view>
<view class='titleDesc'> 你可能喜欢</view>
</view>
<view class="product-list prefer">
<product-list list="{{preferList}}"></product-list>
</view>
</block>
<copyright></copyright>
</view>
<block wx:if="{{storage_sum==0}}">
<view class='bottom-tip-view' wx:if="{{showBottomTipView}}" style="display:{{storage_sum===0?'flex':'none'}}">
<text class="bottom-tip-view-title" style="display:{{is_supplyed?'flex':'none'}}">此商品已售罄,请等待后续备货!</text>
<text class="bottom-tip-view-title" style="display:{{is_supplyed?'none':'flex'}}">已售罄</text>
</view>
</block>
<block wx:else>
<view
class="bottom-action {{(productOnlyProvideByYohoAPP || productOnlyProvideByYohoStore || productNotForSale) ? 'disabled' : ''}}" >
<view
class="buy-btn"
bindtap="buyImmediate">立即购买
</view>
<view class="bottom-action" >
<view
class="buy-btn" bindtap="buyImmediate">邀请好友助力获取限购码
</view>
</block>
<quick-navigation show-menu="{{showMenu}}" show-back-top="{{showBackTop}}" show="{{true}}"
bindbacktop="backTop" margin-bottom="{{150}}"></quick-navigation>
<template is="Picker" data="{{pickerData, loadingForPayment}}"/>
<template is="zan-actionsheet" data="{{...actionSheet}}"/>
<view class='help'>?
</view>
</view> -->
... ...
@import "./picker/picker.wxss";
.detail-container {
padding-bottom: 100rpx;
}
.topContainer{
}
.swiper-box{
width:100%;
height:800rpx;
}
.swiper-box .slide-image{
width:100%;
height:100%;
display: inline-block;
overflow: hidden;
}
.swiper-box .wx-swiper-dots.wx-swiper-dots-horizontal{
margin-bottom: 110rpx;
padding-left: 15rpx;
padding-right: 10rpx;
padding-top: 5rpx;
padding-bottom: 5rpx;
border-radius: 40rpx;
background-color: rgba(0,0,0,0.2);
}
.swiper-box .wx-swiper-dot{
width:10rpx;
display: inline-flex;
height: 10rpx;
margin-left: -5rpx;
justify-content:space-between;
padding: 30rpx;
}
.goodTitle{
/* width: 100%; */
position: absolute;
bottom: 0rpx;
right: 0rpx;
left: 0rpx;
background: rgba(0,0,0,0.8);
align-items: center;
padding: 15rpx 30rpx;
min-height: 50rpx;
}
.goodTitle .title{
font-size: 28rpx;
color: white;
}
.advanceTitleView{
.advanceTitleView {
display: flex;
margin: 15rpx;
width: 100%;
height: 45rpx;
align-items: center;
justify-content: space-between;
}
.advanceTitleView .advanceTitle{
.advanceTitleView .advanceTitle {
font-size: 28rpx;
color: #000000;
text-align: left;
padding-left: 15rpx;
white-space: nowrap;
text-overflow:ellipsis;
overflow: hidden;
}
.advanceTimeView{
margin: 15rpx;
display: flex;
width: 100%;
height: 65rpx;
align-items: center;
}
.advanceTimeView .advanceTime{
.advanceTitleView .advanceTime {
font-size: 28rpx;
color: #000000;
text-align: left;
padding-left: 15rpx;
}
.goodPrice{
margin: 15rpx;
/* width: 96%; */
height: 70rpx;
display: flex;
flex-direction:row;
}
.goodPrice .realPrice{
.realPrice {
font-family: PingFang-SC-Medium;
letter-spacing: -0.44rpx;
color: #d0021b;
line-height: 70rpx;
text-align: left;
padding-left: 15rpx;
font-size: 32rpx;
font-weight: bold;
}
.goodPrice .price{
margin-left: 0rpx;
color: #b0b0b0;
padding-left: 20rpx;
text-decoration: line-through;
font-size: 24rpx;
line-height: 70rpx;
padding-top: 3rpx;
}
.normalPrice{
padding-left: 15rpx;
}
.goodShare{
flex:4;
line-height: 70rpx;
text-align: right;
/* margin-right: 20rpx; */
/* background-color: blue; */
display: flex;
flex-direction:row;
justify-content: flex-end;
}
.shareIcon{
padding-top: 15rpx;
width:42rpx;
height:42rpx;
margin-right: 20rpx;
}
.shareButton{
background-color: red;
margin-right: 35rpx;
width: 100rpx;
height: 100rpx;
opacity: 0;
position: absolute;
top: 830rpx;
}
.vip-price-item{
display: flex;
flex-direction: row;
flex: 1;
padding-left: 15rpx;
}
.vip-price-image{
width: 50rpx;
height: 30rpx;
align-items: center;
}
.vip-price-title{
color: #b0b0b0;
padding-left: 20rpx;
font-size: 28rpx;
align-items: center;
}
.promotion{
vertical-align: center;
padding-left: 30rpx;
display: flex;
align-items: center;
}
.promotion-item{
vertical-align: center;
display: flex;
flex-direction: row;
padding-right: 20rpx;
height: 100%;
flex-wrap: wrap;
width: 100%;
}
.promotion-title{
color: #444444;
font-size: 14px;
padding-left: 10rpx;
padding-right: 10rpx;
width: 80rpx;
align-items: center;
}
.promotion-item-left{
padding-left:10rpx;
padding-right:10rpx;
color: #ff575c;
font-size: 25rpx;
height: 32rpx;
vertical-align: center;
margin-bottom: 15rpx;
align-items: center;
}
.promotion-item-border{
height: 14px;
border-radius: 5rpx;
border: solid 2rpx #ff575c;
width: 45px;
display: flex;
justify-content: center;
align-items: center;
}
.promotion-title-item{
color: #ff575c;
font-size: 9px;
line-height: 12px;
vertical-align: center;
align-items: center;
justify-content: center;
}
.promotion-item-seperator{
height:1rpx;
transform: scaleY(0.5);
background:#e0e0e0;
/* margin-top: 20rpx; */
width:100%;
padding-left:20rpx;
}
.promotion-detail{
flex-direction: row;
display: flex;
padding-top: 20rpx;
/* padding-bottom: 20rpx; */
/* margin: 20rpx 0 20rpx 0; */
}
.promotion-tips-title{
color: #b0b0b0;
font-size: 25rpx;
vertical-align: center;
display: flex;
flex-direction: row;
padding-right: 20rpx;
height: 100%;
flex-wrap: wrap;
width: 100%;
}
.promotion-detail-title{
color: #444444;
font-size: 12px;
padding-left: 10rpx;
padding-right: 15rpx;
}
.promotion-detail-date{
color: #b0b0b0;
font-size: 9px;
padding-bottom: 20rpx;
margin-left: 10rpx;
}
.promotion-seperator{
/* margin: 20rpx; */
margin-top: 20rpx;
margin-bottom: 20rpx;
padding-left: 100rpx;
height:10rpx;
background:rgb(238, 238, 238);
}
.support-service-image{
width: 30rpx;
height: 30rpx;
}
.supportService{
flex-wrap: wrap;
height: 44px;
}
.supportService-item{
display: flex;
align-items: center;
flex-direction: row;
}
.supportService-item .iconfont {
color: #fb686e;
font-size: 32rpx;
margin-left: 60rpx;
margin-right: 2rpx;
}
.supportService-item .iconfont:first-child {
margin-left: 30rpx;
}
.supportService-item .unsupport-icon {
color: #b0b0b0;
}
.support-service-title{
color: #444444;
font-size: 12px;
padding-left: 5px;
}
.support-service-arrow{
width: 20rpx;
height: 12rpx;
margin-right: 20rpx;
}
.goodsInfo{
margin: 0 30rpx;
}
.title{
/* padding: 20rpx 0rpx; */
line-height: 40rpx;
font-size: 30rpx;
font-weight: bold;
color: #444444;
}
.phoneBtnTitle{
font-size: 30rpx;
font-weight: bold;
color: white;
}
.subtitle{
padding: 10rpx;
font-size: 25rpx;
color: #444444;
}
.tipView{
width:100%;
height:30rpx;
background:rgb(238, 238, 238);
.detail-btn {
height: 90rpx;
text-align: center;
justify-content: center;
}
.tipText{
line-height: 100rpx;
font-size: 25rpx;
color: lightgrey;
}
.seperator {
width:100%;
height:1rpx;
transform: scaleY(0.5);
background:#E0E0E0;
margin: 15rpx 0 15rpx 0;
}
.price-seperator {
width:100%;
height:1rpx;
background:#E0E0E0;
transform: scaleY(0.5);
}
.gap{
width:100%;
height:20rpx;
background:#f0f0f0;
}
.service-image{
margin: 20rpx;
}
.table {
border:1px solid #fff;
border-right: 0;
border-bottom: 0;
width: 100%;
background-color: #f0f0f0;
}
.tr {
width: 100%;
display: flex;
justify-content: space-between;
}
.tr .td,.th {
padding: 10px;
border-bottom: 1px solid #fff;
border-right: 1px solid #fff;
text-align: left;
font-size: 25rpx;
width:100%
}
.th{
display: flex;
font-weight: 400;
background-color: #f0f0f0;
justify-content: space-between;
}
.goodsInfoDescription{
padding:0 20rpx 20rpx
font-size: 28rpx;
border-radius: 8rpx;
line-height: 90rpx;
color: white;
background-color:#444444;
}
.goodsInfoPhrare {
.line {
height: 30rpx;
background-color: #f0f0f0;
padding-top: 10rpx;
padding-bottom: 10rpx;
padding-left: 10rpx;
padding-right: 10rpx;
}
.goodsTexture {
display: inline-block;
.goodsInfo .intro-image {
width: 345rpx;
height: 216rpx;
}
.goodsTexture .texture{
white-space: wrap;
.bottom-action {
display: flex;
flex-direction: column;
align-items: center;
margin: 0 20rpx 20rpx 20rpx;
}
.goodsTexture .texture .img{
width: 50rpx;
height: 50rpx;
}
.goodsTexture .texture .desc{
width: 100rpx;
}
.largeGrayFont{
font-size: 34rpx;
color: #444444
}
.lightGrayFont{
font-size: 24rpx;
color: #444444
}
.button{
position: fixed;
width: 100%;
height: 100rpx;
bottom: 0;
background: #d0021b;
}
.bottom-tip-view{
display: flex;
position: fixed;
flex-direction:row;
width: 100%;
height: 100rpx;
bottom: 0;
background-color: #afafaf;
justify-content: center;
align-items: center;
}
.bottom-tip-view-title{
display: flex;
color: #fff;
font-size: 28rpx;
}
.bottom{
display: flex;
position: fixed;
flex-direction:row;
width: 100%;
height: 100rpx;
bottom: 0;
background-color: #ffffff;
border-top: solid 1rpx rgb(242, 242, 242);
}
.shoppint-like-icon{
position: relative;
width: 44rpx;
background-color: #ffffff;
vertical-align: center;
justify-content: center;
text-align: center;
padding-right: 28rpx
}
.shoppint-cart-icon{
position: relative;
width: 160rpx;
background-color: #ffffff;
vertical-align: center;
justify-content: center;
text-align: center;
}
.shoppint-cart-icon-image{
position: absolute;
width: 50rpx;
height: 30rpx;
align-items: center;
z-index: 10;
margin-top: 30rpx;
margin-left: -30rpx;
}
.badge {
position: absolute;
z-index: 9999;
right: 15px;
width: 15px;
height: 15px;
line-height: 15px;
background: #d0021b;
color: #fff;
border-radius: 50%;
text-align: center;
font-size: 8px;
margin-top: 15rpx;
}
.not-for-sale{
flex: 1;
vertical-align: center;
justify-content: center;
text-align: center;
}
.bottom-title{
color: white;
font-size: 34rpx;
width: 100%;
text-align: center;
left: 0;
right: 0;
height: 100rpx;
bottom: 0;
line-height: 100rpx;
}
.button .title{
position: absolute;
color: white;
font-size: 34rpx;
line-height: 50rpx;
width: 100%;
background-color: white;
text-align: center;
height: 50rpx;
bottom: 0;
}
.evaluateTitle {
font-family: PingFang-SC-Regular;
font-size: 28rpx;
color: #444444;
}
.cellLine {
height: 1rpx;
transform: scaleY(0.5);
background-color: #e0e0e0;
}
.evaluateLis-item-view {
padding: 20rpx 30rpx;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
flex: 1
}
.evaluateLis-item-head {
display: flex;
flex-direction: row;
align-items: center;
flex: 1
}
.evaluateLis-item-ico {
width: 60rpx;
height: 60rpx;
border-radius:50%
.bottom-action.disabled {
background-color: #E0E0E0;
}
.evaluateLis-item-name {
font-family: PingFang-SC-Medium;
.bottom-action .buy-btn {
height: 50rpx;
width: 360rpx;
font-size: 28rpx;
color: #444444;
letter-spacing: -0.34px;
margin-left: 20rpx
}
.evaluateLis-item-level {
width: 58rpx;
height: 38rpx;
margin-left: 10rpx
}
.evaluateLis-item-head-right {
display: flex;
flex-direction: row;
align-items: center;
}
.evaluateLis-item-start {
width: 26rpx;
height: 26rpx;
margin-right: 4rpx;
}
.evaluateLis-item-size{
font-family: PingFang-SC-Semibold;
font-size: 24rpx;
color: #444444;
letter-spacing: -0.29px;
margin-left: 6rpx;
}
.evaluateLis-item-content-view{
margin: 0rpx 30rpx;
display: flex;
align-items: center;
color: #FFFFFF;
line-height: 50rpx;
background-color: #D0021B;
border-radius: 25rpx;
}
.evaluateLis-item-content{
font-family: PingFang-SC-Regular;
.bottom-action .help {
position: absolute;
height: 36rpx;
width: 36rpx;
line-height: 36rpx;
border-radius: 18rpx;
color: #FFFFFF;
font-size: 28rpx;
color: #444444;
letter-spacing: -0.34px;
line-height: 44rpx;
}
.evaluateLis-item-img-view{
margin:0rpx 30rpx;
display: flex;
align-items: center;
background-color: #D0021B;
right: 30rpx;
}
.evaluateLis-item-img{
width: 164rpx;
height: 164rpx;
margin-top: 20rpx;
}
.evaluateLis-item-time-view{
margin: 26rpx 30rpx 0rpx;
.bottom-assis-list {
display: flex;
align-items: center;
justify-content: space-between;
position: fixed;
bottom: 100rpx;
padding-left: 30rpx;
padding-right: 30rpx;
left: 0;
right: 0;
height: 70rpx;
font-size: 26rpx;
background-color: rgba(0, 0, 0, 0.7);
text-align: center;
}
.evaluateLis-item-time{
font-family: PingFang-SC-Regular;
font-size: 24rpx;
color: #B0B0B0;
letter-spacing: -0.29px;
margin-right:10rpx;
}
.evaluateLis-more-view {
padding: 40rpx;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center
.bottom-assis-list .assis-title {
color: #FFFFFF;
}
.evaluateLis-more {
.bottom-assis-list .avatar-list {
display: flex;
flex-direction: row;
width: 240rpx;
align-items: center;
background: #F0F0F0;
border-radius: 31px;
padding: 10rpx 30rpx
}
.evaluateLis-title-more {
font-family: PingFang-SC-Regular;
font-size: 28rpx;
color: #444444;
}
.evaluateLis-arrow-more {
width: 16rpx;
height: 26rpx;
margin-left: 4rpx
justify-content: flex-end;
}
.shopRecommond {
margin: 30rpx 0rpx 60rpx 0rpx;
display: flex;
flex-direction: row;
flex-wrap: wrap;
.bottom-assis-list .avatar-item {
width: 40rpx;
height: 40rpx;
background-color: white;
border-radius: 20rpx;
margin-left: 10rpx;
}
.blackVerticalLine {
background: #444444;
width: 3px;
height: 15px;
margin-left: 36rpx;
margin-right: 20rpx;
}
.blackLineTitleContainer {
.top-assis-action {
display: flex;
flex-direction: row;
height: 22px;
margin-top: 11px;
align-items: center;
}
.blackLineRightTitle {
font-size: 16px;
color: #444444;
font-weight: bold;
line-height: 20rpx;
}
.blackLineSeperator {
width:100%;
height:1rpx;
background: #E0E0E0;
margin-top: 11px;
transform: scaleY(0.5);
}
.bottom-action {
justify-content: space-between;
position: fixed;
bottom: 0;
top: 0;
left: 0;
right: 0;
height: 100rpx;
background-color: #d0021b;
text-align: center;
height: 110rpx;
background-color: white;
padding-left: 30rpx;
padding-right: 30rpx;
z-index: 9009;
}
.bottom-action.disabled {
background-color: #E0E0E0;
.top-assis-action .top-title {
font-size: 28rpx;
}
.bottom-action .buy-btn {
font-family: PingFang-SC-Regular;
font-size: 32rpx;
color: #FFFFFF;
letter-spacing: -0.39rpx;
line-height: 100rpx;
.top-assis-action .top-action {
display: flex;
align-items: center;
justify-content: space-between;
width: 220rpx;
}
.module-title {
height: 100rpx;
line-height: 100rpx;
.top-assis-action .top-ok {
font-size: 20rpx;
color: #FFFFFF;
background-color: #D0021B;
width: 100rpx;
height: 50rpx;
line-height: 50rpx;
border-radius: 20px;
text-align: center;
}
.module-title .text {
position: relative;
font-family: PingFang-SC-Medium;
font-size: 28rpx;
color: #444444;
letter-spacing: -0.33rpx;
}
.module-title .text:before {
position: absolute;
display: inline-block;
top: 19rpx;
left: -140rpx;
content: '';
height: 2rpx;
.top-assis-action .top-cancel {
font-size: 20rpx;
width: 100rpx;
background-color: #444;
height: 50rpx;
line-height: 50rpx;
background-color: rgba(216, 216, 216, 1);
text-align: center;
border-radius: 20px;
}
.module-title .text:after {
position: absolute;
display: inline-block;
top: 19rpx;
right: -140rpx;
content: '';
height: 2rpx;
width: 100rpx;
background-color: #444;
.top-mask {
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
background: #000;
opacity: 0.5;
overflow: hidden;
z-index: 9000;
}
.detail-banner-image {
.module-title .sub-text {
font-family: PingFang-SC-Medium;
font-size: 18rpx;
color: #000000;
letter-spacing: -0.33px;
line-height: 20rpx;
}
.titleContainer{
background-color: white;
border-bottom: 0.5rpx solid #e0e0e0;
display: flex;
flex-direction: row;
.product-name {
height: 80rpx;
align-items:center;
}
.titleLine{
width: 4rpx;
height: 30rpx;
background-color: #444444;
margin-left: 30rpx;
}
.titleDesc{
flex: 1;
text-align: left;
font-family: PingFang SC;
width: 100%rpx;
bottom: 0;
left: 0;
right: 0;
font-family: PingFang-SC-Regular;
font-size: 30rpx;
margin-left: 16rpx;
color: #222;
}
.intro-image {
width: 690rpx;
margin-bottom: 30rpx;
}
.goodsInfo.img {
font-size: 0;
}
.product-list.shop-rec {
padding-bottom: 60rpx;
}
.product-list.prefer {
padding-bottom: 60rpx;
letter-spacing: -0.39rpx;
line-height: 80rpx;
}
... ...
function init(ctx) {
let data = {};
let view = ctx.data.pickerData.view;
let data = {};
let view = ctx.data.pickerData.view;
data.sourceType = ctx.data.pickerData.sourceType;
data.view = view;
ctx.setData({
pickerData: data
});
data.sourceType = ctx.data.pickerData.sourceType;
data.view = view;
ctx.setData({
pickerData: data
});
}
function pickerShow(ctx) {
let data = ctx.data.pickerData;
let data = ctx.data.pickerData;
data.view.isShow = !data.view.isShow;
ctx.setData({
pickerData: data
});
data.view.isShow = !data.view.isShow;
ctx.setData({
pickerData: data
});
}
function pickerHide(ctx) {
let data = ctx.data.pickerData;
let data = ctx.data.pickerData;
data.view.isShow = false;
ctx.setData({
pickerData: data
});
data.view.isShow = false;
ctx.setData({
pickerData: data
});
}
module.exports = {
init: init,
pickerShow: pickerShow,
pickerHide: pickerHide
};
init: init,
pickerShow: pickerShow,
pickerHide: pickerHide
};
\ No newline at end of file
... ...
{
"navigationBarTitleText": "分享到朋友圈",
"enablePullDownRefresh": false,
"usingComponents": {
}
}
\ No newline at end of file
... ...
<view>你的好友邀你为ta助力,购买限定商</view>
\ No newline at end of file
... ...
... ... @@ -45,6 +45,12 @@
"id": 1,
"name": "情详页",
"pathName": "pages/product/detail/detail",
"query": "limitProductCode=2018030117484051"
},
{
"id": -1,
"name": "分享页",
"pathName": "pages/share/share",
"query": ""
}
]
... ...