Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
严立
/
mini-shimao
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
c596ff4a
authored
Sep 15, 2020
by
wjw
Browse files
Options
_('Browse Files')
Download
Plain Diff
Merge branch 'master' of
http://120.77.182.185/yanl/mini-shimao.git
into master
parents
90b47806
f048acfc
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
1254 additions
and
86 deletions
image/icon/cart-3.png
pages/commodity/menu-art/menu-art.js
pages/commodity/menu-art/menu-art.wxml
pages/commodity/menu-art/menu-art.wxss
pages/commodity/menu-food/menu-food.js
pages/commodity/menu-food/menu-food.wxml
pages/commodity/menu-food/menu-food.wxss
pages/commodity/menu-snacks/menu-snacks.js
pages/commodity/menu-snacks/menu-snacks.wxml
pages/commodity/menu-snacks/menu-snacks.wxss
pages/commodity/shopping-cart/shopping-cart.js
pages/mine/order/order.js
pages/pay/order-detail/order-detail.js
pages/pay/order-detail/order-detail.wxml
pages/pay/order-detail/order-detail.wxss
pages/pay/order-input/order-input.js
pages/play/home/home.js
pages/play/home/home.wxml
pages/play/home/home.wxss
image/icon/cart-3.png
0 → 100644
View file @
c596ff4a
509 Bytes
pages/commodity/menu-art/menu-art.js
View file @
c596ff4a
let
App
=
getApp
()
Page
({
data
:
{
imageBase
:
App
.
globalData
.
appImageBase
,
resourcesBase
:
App
.
globalData
.
appResourcesBase
,
animationData
:
{},
animationPointHeight
:
0
,
winAnimationPoint
:
false
,
shopInfo
:
{},
sideBar
:
[],
// 侧边菜单
menuTitle
:
''
,
// 商品列表标题
commodityList
:
[],
// 商品列表
commodityDetail
:
{},
// 商品详情
shoppingCart
:
[],
// 购物车列表
shoppingCartTotal
:
0
,
// 购物车总数
currentIndex
:
0
,
scrollTop
:
0
,
winToast
:
false
,
winLoading
:
false
,
winCommodityDetail
:
false
,
},
onLoad
:
function
()
{
this
.
setCartAnimation
()
this
.
setShopInfo
()
this
.
querySideBar
()
},
/**
* 添加动画初始
* @function
* @param
* @returns
*/
setCartAnimation
:
function
()
{
// 购物车添加动画
this
.
animation
=
wx
.
createAnimation
({
duration
:
500
,
timingFunction
:
'ease'
})
},
/**
* 添加动画显示
* @function
* @param
* @returns
*/
setCartAnimationExport
:
function
(
funcPointHeight
)
{
// 定位点击元素位置
this
.
animation
.
translate
(
0
,
funcPointHeight
).
step
()
this
.
setData
({
animationData
:
this
.
animation
.
export
(),
winAnimationPoint
:
false
,
})
// 执行下滑动画
this
.
setData
({
winAnimationPoint
:
true
,
})
let
funcTimer
=
setTimeout
(()
=>
{
this
.
animation
.
translate
(
0
,
0
).
step
()
this
.
setData
({
animationData
:
this
.
animation
.
export
(),
// winAnimationPoint: false,
})
clearTimeout
(
funcTimer
)
},
100
)
},
setShopInfo
:
function
()
{
let
funcShopInfo
=
wx
.
getStorageSync
(
'shopInfoBuffer'
)
this
.
setData
({
shopInfo
:
funcShopInfo
})
console
.
log
(
this
.
data
.
shopInfo
)
},
/**
* 查询分类
* @function
* @param
* @returns
*/
querySideBar
:
function
()
{
App
.
wxRequest
({
url
:
'/api/v1/commodity/getClassifys'
,
data
:
{
'officeId'
:
this
.
data
.
shopInfo
.
id
,
'genre'
:
this
.
data
.
shopInfo
.
shopType
,
},
success
:
(
response
)
=>
{
let
funcSideBar
=
[]
let
funcResponse
=
response
.
data
for
(
let
i
=
0
,
l
=
funcResponse
.
length
;
i
<
l
;
i
++
)
{
let
funcItem
=
{
'id'
:
funcResponse
[
i
].
id
,
'tab'
:
funcResponse
[
i
].
name
,
}
funcSideBar
.
push
(
funcItem
)
}
this
.
setData
({
sideBar
:
funcSideBar
,
menuTitle
:
funcSideBar
[
0
].
tab
})
this
.
queryCommodity
()
}
})
},
/**
* 查询分类商品
* @function
* @param
* @returns
*/
queryCommodity
:
function
()
{
this
.
setData
({
winLoading
:
true
})
App
.
wxRequest
({
url
:
'/api/v1/commodity/getCommoditys'
,
data
:
{
'officeId'
:
this
.
data
.
shopInfo
.
id
,
'classifyId'
:
this
.
data
.
sideBar
[
this
.
data
.
currentIndex
].
id
,
'genre'
:
this
.
data
.
shopInfo
.
shopType
,
},
success
:
(
response
)
=>
{
let
funcCommodityList
=
[]
let
funcResponse
=
response
.
data
for
(
let
i
=
0
,
l
=
funcResponse
.
length
;
i
<
l
;
i
++
)
{
let
funcItem
=
{
'id'
:
funcResponse
[
i
].
id
,
// 商品标识
'typeId'
:
funcResponse
[
i
].
classifyId
,
// 商品分类标识
'inventoriesId'
:
funcResponse
[
i
].
inventoriesId
,
// 仓库标识
'name'
:
funcResponse
[
i
].
name
,
'cover'
:
funcResponse
[
i
].
coverImg
,
// 商品封面
'price'
:
funcResponse
[
i
].
sightseerPrice
,
// 普通价
'priceText'
:
App
.
modular
.
utils
.
formatAmount
(
funcResponse
[
i
].
sightseerPrice
),
// 普通价文本格式
'priceSpecial'
:
funcResponse
[
i
].
ownerPrice
,
// 业主价
'priceSpecialText'
:
App
.
modular
.
utils
.
formatAmount
(
funcResponse
[
i
].
ownerPrice
),
// 业主价文本格式
'priceDiscount'
:
funcResponse
[
i
].
price
,
// 活动价
'priceDiscountText'
:
App
.
modular
.
utils
.
formatAmount
(
funcResponse
[
i
].
price
),
// 活动价文本格式
'priceType'
:
1
,
'describe'
:
funcResponse
[
i
].
synopsis
,
'describeDetail'
:
''
,
// 商品描述详情,在点击详情时获得数据
'tags'
:
funcResponse
[
i
].
tags
,
'quantityMin'
:
1
,
'quantityMax'
:
funcResponse
[
i
].
number
,
'isActive'
:
true
,
}
let
funcUserType
=
wx
.
getStorageSync
(
'userInfo'
).
userType
// 根据后台判断价格显示类型
// 活动价优先级最高,如果存在活动价,则只显示活动价和普通价
if
(
funcItem
.
priceDiscount
)
{
funcItem
.
priceType
=
1
}
else
{
// 活动价不存在,进一步判断普通价与业主价是否一致,如果不一致,则显示两者
if
(
funcItem
.
price
!==
funcItem
.
priceSpecial
&&
funcUserType
)
{
funcItem
.
priceType
=
2
}
else
{
funcItem
.
priceType
=
3
}
}
funcCommodityList
.
push
(
funcItem
)
}
this
.
setData
({
winLoading
:
false
,
commodityList
:
funcCommodityList
,
})
},
})
},
/**
* 侧边菜单选择事件
* @function
* @param {object} - event
* @returns
*/
onSelectionSideBar
:
function
(
event
)
{
let
funcIndex
=
event
.
currentTarget
.
dataset
.
index
let
funcMenuTitle
=
this
.
data
.
sideBar
[
funcIndex
].
tab
this
.
setData
({
currentIndex
:
funcIndex
,
menuTitle
:
funcMenuTitle
,
scrollTop
:
0
})
this
.
queryCommodity
()
},
/**
* 查询商品详情
* @function
* @param {object} - event
* @returns
*/
onCommodityDetail
:
function
(
event
)
{
let
funcItem
=
event
.
currentTarget
.
dataset
.
item
App
.
wxRequest
({
url
:
'/api/v1/commodity/getCommodityParticulars'
,
data
:
{
'commodityId'
:
funcItem
.
id
,
'classifyId'
:
funcItem
.
typeId
,
'genre'
:
this
.
data
.
shopInfo
.
shopType
,
},
success
:
(
response
)
=>
{
let
funcResponse
=
response
.
data
funcItem
.
banner
=
funcResponse
.
imgs
.
split
(
'|'
)
funcItem
.
banner
.
pop
()
funcItem
.
describeDetail
=
funcResponse
.
particulars
this
.
setData
({
commodityDetail
:
funcItem
,
winCommodityDetail
:
true
})
}
})
},
/**
* 关闭商品详情
* @function
* @param
* @returns
*/
onCommodityClose
:
function
()
{
this
.
setData
({
winCommodityDetail
:
false
})
},
/**
* 添加商品
* @function
* @param {object} - event
* @returns
*/
onCommodityAdd
:
function
(
event
)
{
// 获取点击高度
let
funcAnimationPointHeight
=
event
.
detail
.
y
this
.
setCartAnimationExport
(
funcAnimationPointHeight
)
let
funcShoppingCart
=
this
.
data
.
shoppingCart
// 详情加入购物车按钮商品数据不会存在于 event 对象中,所以要区分
let
funcWinToast
=
false
let
funcItem
=
event
.
currentTarget
.
dataset
.
item
if
(
!
funcItem
)
{
funcWinToast
=
true
funcItem
=
this
.
data
.
commodityDetail
}
// 判断购物车中是否存在同类商品
// 修改相应的商品数量
if
(
funcShoppingCart
.
length
!==
0
)
{
for
(
let
i
=
0
,
l
=
funcShoppingCart
.
length
;
i
<
l
;
i
++
)
{
if
(
funcItem
.
id
===
funcShoppingCart
[
i
].
id
)
{
funcShoppingCart
[
i
].
quantity
=
funcShoppingCart
[
i
].
quantity
+
1
break
}
if
(
i
===
funcShoppingCart
.
length
-
1
)
{
funcItem
.
quantity
=
1
funcShoppingCart
.
push
(
funcItem
)
}
}
}
else
{
funcItem
.
quantity
=
1
funcShoppingCart
.
push
(
funcItem
)
}
// 重新计算购物车总数
let
funcShoppingCartTotal
=
0
for
(
let
i
=
0
,
l
=
funcShoppingCart
.
length
;
i
<
l
;
i
++
)
{
funcShoppingCartTotal
=
funcShoppingCartTotal
+
funcShoppingCart
[
i
].
quantity
}
this
.
setData
({
shoppingCart
:
funcShoppingCart
,
shoppingCartTotal
:
funcShoppingCartTotal
,
winToast
:
funcWinToast
,
winCommodityDetail
:
false
,
})
},
onLoad
:
function
(
options
)
{
/**
* 跳转购物车页面
* @function
* @param
* @returns
*/
onShoppingCart
:
function
()
{
wx
.
setStorageSync
(
'shoppingCartBuffer'
,
this
.
data
.
shoppingCart
)
wx
.
navigateTo
({
url
:
'/pages/commodity/shopping-cart/shopping-cart'
,
})
},
})
\ No newline at end of file
pages/commodity/menu-art/menu-art.wxml
View file @
c596ff4a
<!--pages/home/home/home.wxml-->
<text>pages/home/home/home.wxml</text>
<l-toast
l-image-class="toast-image"
l-class="toast-bg"
show="{{winToast}}"
mask="{{true}}"
image="/image/success.png"
title="添加购物车成功"
></l-toast>
<l-toast
show="{{winLoading}}"
icon="loading"
title="加载中"
duration="20000"
mask="{{true}}"
></l-toast>
<navigation class="navigation" titleText="{{shopInfo.name}}" background="#FFFFFF;" backIcon="/image/back.png"></navigation>
<view class="row">
<!-- 侧边菜单 -->
<view class="side-bar">
<block wx:for="{{sideBar}}" wx:for-index="index" wx:for-item="item" wx:key="index">
<view class="menu-item {{currentIndex === index ? 'active' : ''}}" data-index="{{index}}" bindtap="onSelectionSideBar">
<text>{{item.tab}}</text>
</view>
</block>
</view>
<!-- 商品列表 -->
<view class="menu-list">
<view class="right-content-title">{{menuTitle}}</view>
<block wx:for="{{commodityList}}" wx:for-index="index" wx:for-item="item" wx:key="index">
<view class="commodity-item row">
<view class="item-img" data-item="{{item}}" bindtap="onCommodityDetail">
<image src="{{item.cover}}" mode="widthFix"></image>
</view>
<view class="item-info">
<view class="item-info-title">{{item.name}}</view>
<view class="item-info-text-wrap">
<view wx:if="{{item.describe}}">{{item.describe}}</view>
<view wx:else class="item-info-content"></view>
</view>
<view class="item-other row con-b">
<!-- 活动价样式 -->
<view wx:if="{{item.priceType === 1}}">
<view class="item-price row align-c">
<text>¥</text>
<text>{{item.priceDiscountText}}</text>
<text class="item-price-discount">活动价</text>
</view>
<view class="item-info-old-price row align-c">
<text>¥</text>
<text>{{item.priceText}}</text>
</view>
</view>
<!-- 业主价样式 -->
<view wx:if="{{item.priceType === 2}}">
<view class="item-price row align-c">
<text>¥</text>
<text>{{item.priceSpecialText}}</text>
<text class="item-price-special">业主价</text>
</view>
<view class="item-info-old-price row align-c">
<text>¥</text>
<text>{{item.priceText}}</text>
</view>
</view>
<!-- 普通价样式 -->
<view wx:if="{{item.priceType === 3}}">
<view class="item-price row align-c">
<text>¥</text>
<text>{{item.priceText}}</text>
<text></text>
</view>
</view>
<view class="item-operation-add">
<button class="row con-c align-c" data-item="{{item}}" bindtap="onCommodityAdd">
<image mode="widthFix" src="{{imageBase + 'icon/cart-3.png'}}"></image>
</button>
</view>
</view>
</view>
</view>
</block>
<!-- 购物车按钮 -->
<view class="cart-btn row con-c align-c" bindtap="onShoppingCart">
<!-- 添加动画圆点 -->
<view class="cart-animation" wx:if="{{winAnimationPoint}}" animation="{{animationData}}"></view>
<view class="cart-num row con-c align-c">{{shoppingCartTotal}}</view>
<view class="cart-img-wrap">
<image src="../../../image/cart.png" mode="widthFix"></image>
</view>
</view>
</view>
</view>
<!-- 商品详情弹窗 -->
<l-popup show="{{winCommodityDetail}}" content-align="center" locked="{{true}}">
<view class="popup-wrap">
<view id="banner" class="banner">
<swiper autoplay circular class="banner-swiper" interval="5000" duration="500">
<block wx:for="{{commodityDetail.banner}}" wx:for-index="index" wx:for-item="item" wx:key="index">
<swiper-item class="banner-swiper-item">
<image class="banner-swiper-image" src="{{item}}"></image>
</swiper-item>
</block>
</swiper>
<view class="banner-wave">
<image src="/image/ornament-1.png" mode="widthFix"></image>
</view>
</view>
<view class="popup-info-wrapper">
<view class="popuo-info-title">{{commodityDetail.name}}</view>
<view class="popup-info-text">{{commodityDetail.describeDetail}}</view>
</view>
<view class="popup-footer-wrapper">
<!-- 活动价样式 -->
<view class="popup-price-row row align-c" wx:if="{{commodityDetail.priceType === 1}}">
<view class="detail-price-discount row con-c align-c">
<text>活动价</text>
</view>
<view class="detail-price">
<text>¥</text>
<text>{{commodityDetail.priceDiscountText}}</text>
</view>
<view class="popup-price-old">
<text>¥</text>
<text>{{commodityDetail.priceText}}</text>
</view>
</view>
<!-- 业主价样式 -->
<view class="popup-price-row row align-c" wx:if="{{commodityDetail.priceType === 2}}">
<view class="detail-price-special row con-c align-c">
<text>业主价</text>
</view>
<view class="detail-price">
<text>¥</text>
<text>{{commodityDetail.priceSpecialText}}</text>
</view>
<view class="popup-price-old">
<text>¥</text>
<text>{{commodityDetail.priceText}}</text>
</view>
</view>
<!-- 普通价样式 -->
<view class="popup-price-row row align-c" wx:if="{{commodityDetail.priceType === 3}}">
<view class="popup-price-special row con-c align-c">
<text></text>
</view>
<view class="detail-price">
<text>¥</text>
<text>{{commodityDetail.priceText}}</text>
</view>
</view>
<view class="popup-footer-btn row con-c align-c" bindtap="onCommodityAdd">加入购物车</view>
</view>
</view>
<view class="popup-close-btn row con-c align-c" bindtap="onCommodityClose">
<view class="popup-close">
<image mode="widthFix" src="../../../image/icon_close.png"></image>
</view>
</view>
</l-popup>
\ No newline at end of file
pages/commodity/menu-art/menu-art.wxss
View file @
c596ff4a
/* pages/home/home/home.wxss */
\ No newline at end of file
page {
overflow: hidden;
}
.navigation {
z-index: 1100;
position: fixed;
top: 0;
left: 0;
width: 750rpx;
}
.side-bar {
width: 160rpx;
height: 100vh;
margin-top: 140rpx;
overflow-y: scroll;
background: #f2f3f5;
}
.side-bar::-webkit-scrollbar {
width: 0;
}
.menu-item {
height: 136rpx;
display: flex;
justify-content: center;
align-items: center;
font-size: 26rpx;
color: #656e7b;
}
.menu-item.active {
color: #5cb5dd;
font-weight: 600;
background: #fff;
border-left: 8rpx solid #86c5e1;
}
.menu-list {
width: 590rpx;
height: 100vh;
margin-top: 140rpx;
padding: 0 32rpx 200rpx 32rpx;
overflow-y: scroll;
background: #FFFFFF;
}
.right-content::-webkit-scrollbar {
width: 0;
}
.right-content-title {
height: 100rpx;
padding: 32rpx 0;
font-size: 26rpx;
color: #959da9;
}
.cart-btn {
position: fixed;
right: 48rpx;
bottom: 160rpx;
width: 104rpx;
height: 104rpx;
border-radius: 50%;
background-color: #86c5e1;
}
.cart-num {
position: absolute;
top: 0;
right: 0;
height: 32rpx;
padding: 0 12rpx;
font-size: 22rpx;
line-height: 32rpx;
border: 1px solid #86c5e1;
border-radius: 17rpx;
color: #86c5e1;
background-color: #fff;
}
.cart-img-wrap {
width: 48rpx;
height: 48rpx;
}
.commodity-item {
width: 100%;
min-height: 250rpx;
padding-bottom: 56rpx;
box-sizing: border-box;
}
.item-img {
width: 160rpx;
height: 160rpx;
}
.item-info {
flex: 1;
margin-left: 28rpx;
}
.item-info-title {
font-size: 30rpx;
font-weight: 500;
line-height: 42rpx;
color: #15191F;
}
.item-info-text-wrap {
display: -webkit-box;
width: 342rpx;
height: 64rpx;
margin-top: 16rpx;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
font-size: 22rpx;
font-weight: 400;
line-height: 32rpx;
color: #959DA9;
}
.item-info-content {
height: 40rpx;
}
.item-other {
margin-top: 24rpx;
}
.item-operation {
margin-top: 24rpx;
font-size: 30rpx;
font-weight: 600;
color: #15191f;
}
.item-price text:nth-child(1) {
font-size: 22rpx;
}
.item-price text:nth-child(2) {
margin-right: 8rpx;
font-size: 30rpx;
}
.item-price-discount {
width: 78rpx;
height: 32rpx;
border-radius: 4px;
background: #FAEDEA;
text-align: center;
font-size: 18rpx;
font-weight: 500;
line-height: 32rpx;
color: #EF4E4E;
}
.item-price-special {
width: 78rpx;
height: 32rpx;
border-radius: 4px;
background: linear-gradient(180deg, #3F4357 0%, #252532 100%);
text-align: center;
font-size: 18rpx;
font-weight: 500;
line-height: 32rpx;
color: #E8D0AF;
}
.item-operation-add button {
width: 44rpx;
height: 44rpx;
border-radius: 50%;
background: #86C5E1;
}
.item-operation-add image {
width: 24rpx;
height: 24rpx;
}
.goods-add-btn-wrap {
flex: 1;
}
.l-btn-circle {
border-radius: 50% !important;
font-size: 24rpx;
}
.item-info-old-price {
margin-top: 4rpx;
font-size: 22rpx;
color: #959da9;
text-decoration: line-through;
}
.popup-wrap {
width: 606rpx;
margin-top: 100rpx;
background-color: #fff;
border-radius: 4rpx;
}
.popup-img-wrap {
width: 606rpx;
height: 382rpx;
}
.popup-info-wrapper {
padding: 48rpx 40rpx;
}
.popuo-info-title {
font-size: 34rpx;
color: #15191f;
}
.popup-info-text {
margin-top: 24rpx;
font-size: 22rpx;
line-height: 32rpx;
color: #959da9;
display: -webkit-box;
overflow: hidden;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
}
.popup-footer-wrapper {
margin: 0 40rpx;
padding: 40rpx 0;
border-top: 1px solid #e2e7ef;
}
.popup-price-row {
padding: 10rpx 0;
}
.popup-price-now {
color: #15191f;
}
.detail-price text:nth-child(1) {
height: 52rpx;
font-size: 30rpx;
font-weight: 500;
line-height: 52rpx;
color: #15191F;
}
.detail-price text:nth-child(2) {
height: 52rpx;
font-size: 38rpx;
font-weight: 500;
line-height: 52rpx;
color: #15191F;
}
.detail-price-discount {
width: 90rpx;
height: 36rpx;
margin-right: 16rpx;
border-radius: 4px;
background: #FAEDEA;
text-align: center;
font-size: 18rpx;
font-weight: 500;
line-height: 32rpx;
color: #EF4E4E;
}
.detail-price-special {
width: 90rpx;
height: 36rpx;
margin-right: 16rpx;
border-radius: 4px;
background: linear-gradient(180deg, #3F4357 0%, #252532 100%);
text-align: center;
font-size: 18rpx;
font-weight: 500;
line-height: 32rpx;
color: #E8D0AF;
}
.popup-price-old {
margin-left: 20rpx;
font-size: 26rpx;
color: #959da9;
text-decoration: line-through;
}
.popup-footer-btn {
width: 526rpx;
height: 80rpx;
margin-top: 30rpx;
font-size: 30rpx;
color: #fff;
background-color: #86c5e1;
border-radius: 4rpx;
}
.popup-close-btn {
width: 80rpx;
height: 80rpx;
margin: 48rpx auto 0;
background: rgba(254, 252, 249, 0.5);
border-radius: 50%;
}
.popup-close {
width: 40rpx;
height: 40rpx;
}
.toast-bg {
min-width: 262rpx !important;
min-height: 262prx !important;
}
.toast-image {
z-index: 1900;
}
image {
width: 100%;
height: 100%;
}
/* 商品详情样式 */
.banner {
position: relative;
width: 606rpx;
height: 382rpx;
border-radius: 4px;
background: #FFFFFF;
}
.banner-swiper,
.banner-swiper-item,
.banner-swiper-image {
position: absolute;
top: 0 !important;
left: 0 !important;
width: 606rpx;
height: 382rpx;
}
.banner-wave {
z-index: 1100;
position: absolute;
bottom: -2rpx;
left: 0;
width: 606rpx;
height: 50rpx;
}
.banner-wave image {
width: 606rpx;
height: 50rpx;
}
/* 购物车样式 */
.cart-animation {
position: fixed;
right: 48rpx;
width: 26rpx;
height: 26rpx;
border-radius: 50%;
background: red;
}
\ No newline at end of file
pages/commodity/menu-food/menu-food.js
View file @
c596ff4a
...
...
@@ -2,6 +2,14 @@ let App = getApp()
Page
({
data
:
{
imageBase
:
App
.
globalData
.
appImageBase
,
resourcesBase
:
App
.
globalData
.
appResourcesBase
,
animationData
:
{},
animationPointHeight
:
0
,
winAnimationPoint
:
false
,
shopInfo
:
{},
sideBar
:
[],
// 侧边菜单
...
...
@@ -22,10 +30,54 @@ Page({
},
onLoad
:
function
()
{
this
.
setCartAnimation
()
this
.
setShopInfo
()
this
.
querySideBar
()
},
/**
* 添加动画初始
* @function
* @param
* @returns
*/
setCartAnimation
:
function
()
{
// 购物车添加动画
this
.
animation
=
wx
.
createAnimation
({
duration
:
500
,
timingFunction
:
'ease'
})
},
/**
* 添加动画显示
* @function
* @param
* @returns
*/
setCartAnimationExport
:
function
(
funcPointHeight
)
{
// 定位点击元素位置
this
.
animation
.
translate
(
0
,
funcPointHeight
).
step
()
this
.
setData
({
animationData
:
this
.
animation
.
export
(),
winAnimationPoint
:
false
,
})
// 执行下滑动画
this
.
setData
({
winAnimationPoint
:
true
,
})
let
funcTimer
=
setTimeout
(()
=>
{
this
.
animation
.
translate
(
0
,
0
).
step
()
this
.
setData
({
animationData
:
this
.
animation
.
export
(),
// winAnimationPoint: false,
})
clearTimeout
(
funcTimer
)
},
100
)
},
setShopInfo
:
function
()
{
let
funcShopInfo
=
wx
.
getStorageSync
(
'shopInfoBuffer'
)
this
.
setData
({
...
...
@@ -103,7 +155,12 @@ Page({
'priceDiscountText'
:
App
.
modular
.
utils
.
formatAmount
(
funcResponse
[
i
].
price
),
// 活动价文本格式
'priceType'
:
1
,
'describe'
:
funcResponse
[
i
].
synopsis
,
'describeDetail'
:
''
,
// 商品描述详情,在点击详情时获得数据
'tags'
:
funcResponse
[
i
].
tags
,
'quantityMin'
:
1
,
'quantityMax'
:
funcResponse
[
i
].
number
,
'isActive'
:
true
,
}
let
funcUserType
=
wx
.
getStorageSync
(
'userInfo'
).
userType
...
...
@@ -168,6 +225,8 @@ Page({
let
funcResponse
=
response
.
data
funcItem
.
banner
=
funcResponse
.
imgs
.
split
(
'|'
)
funcItem
.
banner
.
pop
()
funcItem
.
describeDetail
=
funcResponse
.
particulars
this
.
setData
({
commodityDetail
:
funcItem
,
winCommodityDetail
:
true
...
...
@@ -195,6 +254,10 @@ Page({
* @returns
*/
onCommodityAdd
:
function
(
event
)
{
// 获取点击高度
let
funcAnimationPointHeight
=
event
.
detail
.
y
this
.
setCartAnimationExport
(
funcAnimationPointHeight
)
let
funcShoppingCart
=
this
.
data
.
shoppingCart
// 详情加入购物车按钮商品数据不会存在于 event 对象中,所以要区分
...
...
pages/commodity/menu-food/menu-food.wxml
View file @
c596ff4a
...
...
@@ -80,7 +80,7 @@
<view class="item-operation-add">
<button class="row con-c align-c" data-item="{{item}}" bindtap="onCommodityAdd">
<image mode="widthFix" src="
/image/add-w.png
"></image>
<image mode="widthFix" src="
{{imageBase + 'icon/cart-3.png'}}
"></image>
</button>
</view>
</view>
...
...
@@ -90,6 +90,9 @@
<!-- 购物车按钮 -->
<view class="cart-btn row con-c align-c" bindtap="onShoppingCart">
<!-- 添加动画圆点 -->
<view class="cart-animation" wx:if="{{winAnimationPoint}}" animation="{{animationData}}"></view>
<view class="cart-num row con-c align-c">{{shoppingCartTotal}}</view>
<view class="cart-img-wrap">
<image src="../../../image/cart.png" mode="widthFix"></image>
...
...
@@ -117,7 +120,7 @@
<view class="popup-info-wrapper">
<view class="popuo-info-title">{{commodityDetail.name}}</view>
<view class="popup-info-text">{{commodityDetail.describe}}</view>
<view class="popup-info-text">{{commodityDetail.describe
Detail
}}</view>
</view>
<view class="popup-footer-wrapper">
...
...
pages/commodity/menu-food/menu-food.wxss
View file @
c596ff4a
...
...
@@ -373,4 +373,14 @@ image {
.banner-wave image {
width: 606rpx;
height: 50rpx;
}
/* 购物车样式 */
.cart-animation {
position: fixed;
right: 48rpx;
width: 26rpx;
height: 26rpx;
border-radius: 50%;
background: red;
}
\ No newline at end of file
pages/commodity/menu-snacks/menu-snacks.js
View file @
c596ff4a
...
...
@@ -2,8 +2,16 @@ let App = getApp()
Page
({
data
:
{
imageBase
:
App
.
globalData
.
appImageBase
,
resourcesBase
:
App
.
globalData
.
appResourcesBase
,
animationData
:
{},
animationPointHeight
:
0
,
winAnimationPoint
:
false
,
shopInfo
:
{},
sideBar
:
[],
// 侧边菜单
menuTitle
:
''
,
// 商品列表标题
commodityList
:
[],
// 商品列表
...
...
@@ -22,10 +30,54 @@ Page({
},
onLoad
:
function
()
{
this
.
setCartAnimation
()
this
.
setShopInfo
()
this
.
querySideBar
()
},
/**
* 添加动画初始
* @function
* @param
* @returns
*/
setCartAnimation
:
function
()
{
// 购物车添加动画
this
.
animation
=
wx
.
createAnimation
({
duration
:
500
,
timingFunction
:
'ease'
})
},
/**
* 添加动画显示
* @function
* @param
* @returns
*/
setCartAnimationExport
:
function
(
funcPointHeight
)
{
// 定位点击元素位置
this
.
animation
.
translate
(
0
,
funcPointHeight
).
step
()
this
.
setData
({
animationData
:
this
.
animation
.
export
(),
winAnimationPoint
:
false
,
})
// 执行下滑动画
this
.
setData
({
winAnimationPoint
:
true
,
})
let
funcTimer
=
setTimeout
(()
=>
{
this
.
animation
.
translate
(
0
,
0
).
step
()
this
.
setData
({
animationData
:
this
.
animation
.
export
(),
// winAnimationPoint: false,
})
clearTimeout
(
funcTimer
)
},
100
)
},
setShopInfo
:
function
()
{
let
funcShopInfo
=
wx
.
getStorageSync
(
'shopInfoBuffer'
)
this
.
setData
({
...
...
@@ -103,7 +155,12 @@ Page({
'priceDiscountText'
:
App
.
modular
.
utils
.
formatAmount
(
funcResponse
[
i
].
price
),
// 活动价文本格式
'priceType'
:
1
,
'describe'
:
funcResponse
[
i
].
synopsis
,
'describeDetail'
:
''
,
// 商品描述详情,在点击详情时获得数据
'tags'
:
funcResponse
[
i
].
tags
,
'quantityMin'
:
1
,
'quantityMax'
:
funcResponse
[
i
].
number
,
'isActive'
:
true
,
}
let
funcUserType
=
wx
.
getStorageSync
(
'userInfo'
).
userType
...
...
@@ -168,6 +225,8 @@ Page({
let
funcResponse
=
response
.
data
funcItem
.
banner
=
funcResponse
.
imgs
.
split
(
'|'
)
funcItem
.
banner
.
pop
()
funcItem
.
describeDetail
=
funcResponse
.
particulars
this
.
setData
({
commodityDetail
:
funcItem
,
winCommodityDetail
:
true
...
...
@@ -195,6 +254,10 @@ Page({
* @returns
*/
onCommodityAdd
:
function
(
event
)
{
// 获取点击高度
let
funcAnimationPointHeight
=
event
.
detail
.
y
this
.
setCartAnimationExport
(
funcAnimationPointHeight
)
let
funcShoppingCart
=
this
.
data
.
shoppingCart
// 详情加入购物车按钮商品数据不会存在于 event 对象中,所以要区分
...
...
@@ -229,7 +292,7 @@ Page({
for
(
let
i
=
0
,
l
=
funcShoppingCart
.
length
;
i
<
l
;
i
++
)
{
funcShoppingCartTotal
=
funcShoppingCartTotal
+
funcShoppingCart
[
i
].
quantity
}
this
.
setData
({
shoppingCart
:
funcShoppingCart
,
shoppingCartTotal
:
funcShoppingCartTotal
,
...
...
@@ -244,7 +307,7 @@ Page({
* @param
* @returns
*/
onShoppingCart
:
function
()
{
onShoppingCart
:
function
()
{
wx
.
setStorageSync
(
'shoppingCartBuffer'
,
this
.
data
.
shoppingCart
)
wx
.
navigateTo
({
url
:
'/pages/commodity/shopping-cart/shopping-cart'
,
...
...
pages/commodity/menu-snacks/menu-snacks.wxml
View file @
c596ff4a
...
...
@@ -80,7 +80,7 @@
<view class="item-operation-add">
<button class="row con-c align-c" data-item="{{item}}" bindtap="onCommodityAdd">
<image mode="widthFix" src="
/image/add-w.png
"></image>
<image mode="widthFix" src="
{{imageBase + 'icon/cart-3.png'}}
"></image>
</button>
</view>
</view>
...
...
@@ -90,6 +90,9 @@
<!-- 购物车按钮 -->
<view class="cart-btn row con-c align-c" bindtap="onShoppingCart">
<!-- 添加动画圆点 -->
<view class="cart-animation" wx:if="{{winAnimationPoint}}" animation="{{animationData}}"></view>
<view class="cart-num row con-c align-c">{{shoppingCartTotal}}</view>
<view class="cart-img-wrap">
<image src="../../../image/cart.png" mode="widthFix"></image>
...
...
@@ -117,7 +120,7 @@
<view class="popup-info-wrapper">
<view class="popuo-info-title">{{commodityDetail.name}}</view>
<view class="popup-info-text">{{commodityDetail.describe}}</view>
<view class="popup-info-text">{{commodityDetail.describe
Detail
}}</view>
</view>
<view class="popup-footer-wrapper">
...
...
pages/commodity/menu-snacks/menu-snacks.wxss
View file @
c596ff4a
...
...
@@ -373,4 +373,14 @@ image {
.banner-wave image {
width: 606rpx;
height: 50rpx;
}
/* 购物车样式 */
.cart-animation {
position: fixed;
right: 48rpx;
width: 26rpx;
height: 26rpx;
border-radius: 50%;
background: red;
}
\ No newline at end of file
pages/commodity/shopping-cart/shopping-cart.js
View file @
c596ff4a
...
...
@@ -81,16 +81,16 @@ Page({
onLoad
:
function
()
{
this
.
setShopInfo
()
// 读取上级页面的购物车数据,默认选中所有。
let
funcShoppingCart
=
wx
.
getStorageSync
(
'shoppingCartBuffer'
)
for
(
let
i
=
0
,
l
=
funcShoppingCart
.
length
;
i
<
l
;
i
++
)
{
// 设置默认库存为 100 ,在提交订单时矫正为实际库存
funcShoppingCart
[
i
].
quantityMin
=
1
funcShoppingCart
[
i
].
quantityMax
=
100
funcShoppingCart
[
i
].
isActive
=
true
}
//
//
读取上级页面的购物车数据,默认选中所有。
//
let funcShoppingCart = wx.getStorageSync('shoppingCartBuffer')
//
for (let i = 0, l = funcShoppingCart.length; i < l; i++) {
//
// 设置默认库存为 100 ,在提交订单时矫正为实际库存
//
funcShoppingCart[i].quantityMin = 1
//
funcShoppingCart[i].quantityMax = 100
//
funcShoppingCart[i].isActive = true
//
}
this
.
setData
({
shoppingCart
:
funcShoppingCart
shoppingCart
:
wx
.
getStorageSync
(
'shoppingCartBuffer'
)
})
this
.
selectionTotal
()
...
...
@@ -206,7 +206,7 @@ Page({
titleColor
:
'#15191F'
,
success
:
(
response
)
=>
{
if
(
response
.
confirm
)
{
//
wx.setStorageSync('shoppingCartBuffer', [])
wx
.
setStorageSync
(
'shoppingCartBuffer'
,
[])
this
.
setData
({
shoppingCart
:
[]
})
...
...
pages/mine/order/order.js
View file @
c596ff4a
...
...
@@ -220,6 +220,9 @@ Page({
console
.
log
(
response
)
}
})
this
.
setData
({
'orderList'
:
[],
})
this
.
queryOrder
()
},
...
...
@@ -241,7 +244,9 @@ Page({
console
.
log
(
response
)
}
})
this
.
setData
({
'orderList'
:
[],
})
this
.
queryOrder
()
},
...
...
pages/pay/order-detail/order-detail.js
View file @
c596ff4a
...
...
@@ -11,6 +11,8 @@ Page({
orderInfo
:
{},
fromPage
:
''
,
code
:
{},
winCode
:
false
,
winCode
:
false
,
},
...
...
@@ -23,6 +25,8 @@ Page({
fromPage
:
options
.
fromPage
===
'order'
?
'order'
:
''
})
console
.
log
(
funcOrderInfo
,
'--------------------------'
)
this
.
queryOrderDetail
()
},
...
...
@@ -89,6 +93,13 @@ Page({
},
success
:
(
response
)
=>
{
let
funcResponse
=
response
.
data
let
funcCode
=
{
'codeBase64'
:
funcResponse
.
qrcode
}
this
.
setData
({
code
:
funcCode
,
winCode
:
true
,
})
}
})
console
.
log
(
funcOrderInfo
)
...
...
pages/pay/order-detail/order-detail.wxml
View file @
c596ff4a
...
...
@@ -167,8 +167,14 @@
<view class="tip-describe col">
<text>{{'订单编号:' + orderInfo.tipOrderNo}}</text>
<text>{{'下单时间:' + orderInfo.tipTimeSubmit}}</text>
<text>{{'付款时间:' + orderInfo.tipTimePay}}</text>
<text>{{'获得积分:' + orderInfo.tipIntegral}}</text>
<text
wx:if="{{orderInfo.state !== 0 && orderInfo.state !== -1}}"
>{{'付款时间:' + orderInfo.tipTimePay}}</text>
<text
wx:if="{{orderInfo.state !== 0 && orderInfo.state !== -1}}"
>{{'获得积分:' + orderInfo.tipIntegral}}</text>
</view>
</view>
</view>
<view class="code" wx:if="{{winCode}}">
<view class="code-info">
<image class="code-info-content" src="{{'data:image/png;base64,' + code.codeBase64}}"></image>
</view>
</view>
\ No newline at end of file
pages/pay/order-detail/order-detail.wxss
View file @
c596ff4a
...
...
@@ -122,7 +122,6 @@
max-width: 62rpx;
max-height: 62rpx;
margin-right: 16rpx;
background: #999999;
}
.commodity-item {
...
...
@@ -135,7 +134,6 @@
width: 140rpx;
height: 136rpx;
margin-right: 24rpx;
background: #999999;
}
.commodity-item-info {
...
...
@@ -200,4 +198,10 @@
font-weight: 400;
line-height: 42rpx;
color: #959DA9;
}
/* 券码 */
.code-info-content {
width: 296rpx;
height: 296rpx;
}
\ No newline at end of file
pages/pay/order-input/order-input.js
View file @
c596ff4a
...
...
@@ -90,7 +90,6 @@ Page({
this
.
setShoppingCartData
()
this
.
setView
()
this
.
animation
=
wx
.
createAnimation
({
duration
:
700
,
timingFunction
:
'ease'
...
...
@@ -472,13 +471,11 @@ Page({
if
(
funcRegisterInfo
[
i
].
name
===
''
||
funcRegisterInfo
[
i
].
errorName
!==
''
)
{
this
.
setUserInfo
(
'name'
,
funcRegisterInfo
[
i
].
name
,
i
,
App
.
modular
.
rule
.
item
(
'name'
,
funcRegisterInfo
[
i
].
name
))
funcPass
=
false
break
}
if
(
funcRegisterInfo
[
i
].
phone
===
''
||
funcRegisterInfo
[
i
].
errorPhone
!==
''
)
{
this
.
setUserInfo
(
'phone'
,
funcRegisterInfo
[
i
].
phone
,
i
,
App
.
modular
.
rule
.
item
(
'phone'
,
funcRegisterInfo
[
i
].
phone
))
funcPass
=
false
break
}
// 仅在需要的订单场景下校验
...
...
@@ -486,7 +483,6 @@ Page({
if
(
funcRegisterInfo
[
i
].
identity
===
''
||
funcRegisterInfo
[
i
].
errorIdentity
!==
''
)
{
this
.
setUserInfo
(
'identity'
,
funcRegisterInfo
[
i
].
identity
,
i
,
App
.
modular
.
rule
.
item
(
'identity'
,
funcRegisterInfo
[
i
].
identity
))
funcPass
=
false
break
}
}
}
...
...
@@ -508,21 +504,24 @@ Page({
// 整合商品数据
let
funcCommodity
=
[]
let
funcShoppingCartList
=
this
.
data
.
shoppingCartList
console
.
log
(
funcShoppingCartList
)
for
(
let
i
=
0
,
l
=
funcShoppingCartList
.
length
;
i
<
l
;
i
++
)
{
let
funcItem
=
{
'smCommodity'
:
{
'id'
:
funcShoppingCartList
[
i
].
id
,
},
'smInventory'
:
{
'id'
:
funcShoppingCartList
[
i
].
inventoriesId
,
},
'goodType'
:
funcShoppingCartList
[
i
].
typeId
,
'name'
:
funcShoppingCartList
[
i
].
name
,
'number'
:
funcShoppingCartList
[
i
].
quantity
,
'unitPrice'
:
Number
(
funcShoppingCartList
[
i
].
priceFinal
),
'totalPrices'
:
funcShoppingCartList
[
i
].
quantity
*
Number
(
funcShoppingCartList
[
i
].
priceFinal
)
if
(
funcShoppingCartList
.
isActive
)
{
let
funcItem
=
{
'smCommodity'
:
{
'id'
:
funcShoppingCartList
[
i
].
id
,
},
'smInventory'
:
{
'id'
:
funcShoppingCartList
[
i
].
inventoriesId
,
},
'goodType'
:
funcShoppingCartList
[
i
].
typeId
,
'name'
:
funcShoppingCartList
[
i
].
name
,
'number'
:
funcShoppingCartList
[
i
].
quantity
,
'unitPrice'
:
Number
(
funcShoppingCartList
[
i
].
priceFinal
),
'totalPrices'
:
funcShoppingCartList
[
i
].
quantity
*
Number
(
funcShoppingCartList
[
i
].
priceFinal
)
}
funcCommodity
.
push
(
funcItem
)
}
funcCommodity
.
push
(
funcItem
)
}
// 整合用户数据
...
...
@@ -549,6 +548,10 @@ Page({
},
success
:
(
response
)
=>
{
let
funcResponse
=
response
.
data
.
wxRequest
// 库存不足
// if (funcResponse.)
// 库存充足正常下单支付
pagePayId
=
response
.
data
.
orderId
this
.
setData
({
orderId
:
pagePayId
...
...
@@ -560,10 +563,10 @@ Page({
'package'
:
funcResponse
.
package
,
'signType'
:
funcResponse
.
signType
,
'paySign'
:
funcResponse
.
paySign
,
'success'
:
(
response
)
=>
{
success
:
(
response
)
=>
{
if
(
response
.
errMsg
===
'requestPayment:ok'
)
{
// 用户点击支付完成按钮回调
this
.
payStatus
(
true
)
//
this.payStatus(true)
}
if
(
response
.
errMsg
===
'requestPayment:fail cancel'
)
{
...
...
@@ -571,7 +574,7 @@ Page({
this
.
payStatus
(
false
)
}
},
'fail'
:
function
(
response
)
{
fail
:
(
response
)
=>
{
clearInterval
(
App
.
globalData
.
payStateTimer
)
this
.
payStatus
(
false
)
}
...
...
@@ -619,8 +622,16 @@ Page({
*/
payStatus
:
function
(
funcPayResult
)
{
clearInterval
(
App
.
globalData
.
payStateTimer
)
wx
.
navigateTo
({
url
:
'/pages/pay/order-state/order-state?state='
+
funcPayResult
+
'&amount='
+
this
.
data
.
buyContentAmount
+
'&orderId='
+
this
.
data
.
orderId
})
if
(
funcPayResult
)
{
// 支付成功进入成功页面
wx
.
navigateTo
({
url
:
'/pages/pay/order-state/order-state?state='
+
funcPayResult
+
'&amount='
+
this
.
data
.
buyContentAmount
+
'&orderId='
+
this
.
data
.
orderId
})
}
else
{
// 取消支付直接进入订单
wx
.
reLaunch
({
url
:
'/pages/pay/order-detail/order-detail?id='
+
this
.
data
.
orderId
+
'&fromPage=order'
})
}
},
})
\ No newline at end of file
pages/play/home/home.js
View file @
c596ff4a
...
...
@@ -208,4 +208,74 @@ Page({
url
:
'/pages/play/movie/movie'
})
},
// 游客攻略列表
loadVisiterPlanList
()
{
this
.
data
.
loading
=
true
var
that
=
this
app
.
wxRequest
({
url
:
'/api/v1/strategy/getList'
,
data
:
{
pageSize
:
that
.
data
.
pageSize
+
''
,
pageNo
:
that
.
data
.
pageNo
+
''
},
success
:
function
(
res
)
{
that
.
setData
({
loading
:
false
})
if
(
res
.
data
.
list
.
length
>
0
)
{
let
count
=
that
.
data
.
strategyOriginList
.
length
if
(
that
.
data
.
pageNo
==
1
)
{
count
=
0
}
let
tempArray
=
[]
for
(
let
i
=
0
;
i
<
res
.
data
.
list
.
length
;
i
++
)
{
let
item
=
res
.
data
.
list
[
i
]
let
strategy
=
{
id
:
item
.
id
,
image
:
(
count
==
0
&&
i
==
0
)
?
item
.
topImg
:
item
.
cover
,
title
:
item
.
title
,
date
:
item
.
updateDate
,
index
:
count
+
i
-
1
,
}
tempArray
.
push
(
strategy
)
}
console
.
log
(
'tempArray'
,
tempArray
)
if
(
that
.
data
.
pageNo
==
1
)
{
var
newArr
=
tempArray
.
slice
(
1
)
var
firstItem
=
tempArray
[
0
]
console
.
log
(
'firstItem'
,
firstItem
)
that
.
setData
({
moreData
:
(
tempArray
.
length
>=
Number
(
res
.
data
.
count
))
?
false
:
true
,
[
'strategyFirstItem.id'
]:
firstItem
.
id
,
[
'strategyFirstItem.image'
]:
firstItem
.
image
,
[
'strategyFirstItem.title'
]:
firstItem
.
title
,
[
'strategyFirstItem.date'
]:
firstItem
.
date
,
strategyList
:
newArr
,
strategyOriginList
:
tempArray
,
})
}
else
{
that
.
setData
({
moreData
:
(
count
+
tempArray
.
length
>=
Number
(
res
.
data
.
count
))
?
false
:
true
,
strategyOriginList
:
that
.
data
.
strategyOriginList
.
concat
(
tempArray
),
strategyList
:
tempArray
,
})
}
// 游客攻略瀑布列表
wx
.
lin
.
renderWaterFlow
(
that
.
data
.
strategyList
,
that
.
data
.
pageNo
==
1
?
true
:
false
,
()
=>
{
})
}
else
{
}
},
fail
:
function
(
err
)
{
that
.
setData
({
loading
:
false
})
}
})
},
})
\ No newline at end of file
pages/play/home/home.wxml
View file @
c596ff4a
...
...
@@ -15,8 +15,8 @@
<button class="hotel-button" bindtap="onToHotel"></button>
</view>
<view class="title
-wrapper
row con-b align-c">
<image
class="title"
src="./image/title-activity.png">近期活动</image>
<view class="title row con-b align-c">
<image src="./image/title-activity.png">近期活动</image>
<text bindtap="onAllRecent">查看全部</text>
</view>
<swiper class="recent-swiper" next-margin="38rpx" bindchange="swiperRecentChange">
...
...
@@ -27,8 +27,8 @@
</block>
</swiper>
<view class="title
-wrapper
row con-b align-c">
<image
class="title"
src="./image/title-movie.png">热映影片</image>
<view class="title row con-b align-c">
<image src="./image/title-movie.png">热映影片</image>
<text bindtap="onAllRecent">查看全部</text>
</view>
<swiper class="movie-swiper" next-margin="38rpx" bindchange="swiperMovieChange">
...
...
@@ -70,10 +70,13 @@
</block>
</swiper>
<view class="title-wrapper row align-c">
<image class="title" src="./image/title-route.png">游客攻略</image>
</view>
<view>
<!-- 游客攻略 -->
<view class="route">
<view class="title row align-c">
<image src="./image/title-route.png">游客攻略</image>
</view>
<view class="route-list">
</view>
</view>
</view>
\ No newline at end of file
pages/play/home/home.wxss
View file @
c596ff4a
...
...
@@ -29,12 +29,14 @@
width: 130rpx;
height: 20rpx;
}
.banner {
position: relative;
margin-top: 200rpx;
width: 750rpx;
height: 1200rpx;
}
.art-button {
position: absolute;
top: 40rpx;
...
...
@@ -43,6 +45,7 @@
height: 260rpx;
background: transparent;
}
.health-button {
position: absolute;
top: 320rpx;
...
...
@@ -51,6 +54,7 @@
height: 376rpx;
background: transparent;
}
.food-button {
position: absolute;
top: 350rpx;
...
...
@@ -59,6 +63,7 @@
height: 376rpx;
background: transparent;
}
.leisure-button {
position: absolute;
top: 788rpx;
...
...
@@ -66,8 +71,8 @@
width: 304rpx;
height: 308rpx;
background: transparent;
}
.hotel-button {
position: absolute;
top: 820rpx;
...
...
@@ -75,37 +80,36 @@
width: 296rpx;
height: 328rpx;
background: transparent;
}
.title-wrapper {
width: 670rpx;
margin-top: 30rpx;
}
.title {
width: 184rpx;
height: 44rpx;
}
.all {
width: 104rpx;
height: 36rpx;
background-color: #ccc;
}
.recent-swiper {
width: 750rpx;
height: 721rpx;
margin-top: 80rpx;
padding-bottom: 50rpx;
}
.recent-item {
width: 712rpx;
}
.recent-item image {
width: 648rpx;
background-color: #ccc;
}
.recent-item-left {
margin-left: 40rpx;
}
.recent-item-center {
margin-left: 51rpx;
}
...
...
@@ -116,17 +120,20 @@
margin-top: 48rpx;
padding-bottom: 50rpx;
}
.movie-item {
width: 712rpx;
}
.movie-wrapper {
position: relative;
width: 648rpx;
height: 326rpx;
padding: 40rpx 40rpx 40rpx 260rpx;
background-color: #
F5F6F
8;
background-color: #
f5f6f
8;
border-radius: 4rpx;
}
.movie-cover {
position: absolute;
left: 40rpx;
...
...
@@ -136,24 +143,29 @@
background-color: #ccc;
border-radius: 4rpx;
}
.movie-item-left {
margin-left: 40rpx;
}
.movie-item-center {
margin-left: 51rpx;
}
.movie-info-wrapper {
margin-left: 40rpx;
}
.movie-name text {
display: -webkit-box;
color: #15191
F
;
color: #15191
f
;
font-size: 30rpx;
max-width: 240rpx;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
overflow: hidden;
}
.movie-dimensional {
width: 52rpx;
height: 32rpx;
...
...
@@ -163,25 +175,29 @@
font-size: 20rpx;
text-align: center;
line-height: 32rpx;
background: #15191
F
;
background: #15191
f
;
opacity: 0.5;
border-radius: 4rpx;
}
.movie-info {
margin-top: 16rpx;
font-size: 26rpx;
}
.movie-info-left {
color: #959
DA
9;
color: #959
da
9;
}
.movie-info-right {
display: -webkit-box;
margin-left: 8rpx;
color: #656
E7B
;
color: #656
e7b
;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
overflow: hidden;
}
.movie-btn {
width: 152rpx;
height: 56rpx;
...
...
@@ -190,12 +206,10 @@
font-size: 26rpx;
text-align: center;
line-height: 56rpx;
background: #86
C5E
1;
background: #86
c5e
1;
border-radius: 4rpx;
}
/* .banner,
swiper {
position: relative;
...
...
@@ -230,6 +244,7 @@ swiper-item {
}
/* 更多活动 */
.activity {
width: 100%;
height: 34rpx;
...
...
@@ -237,7 +252,7 @@ swiper-item {
padding: 0 56rpx;
font-size: 26rpx;
font-weight: bolder;
color: #1
E
2025;
color: #1
e
2025;
}
.activity image {
...
...
@@ -246,6 +261,7 @@ swiper-item {
}
/* 装饰波浪 */
.ornament-wave {
width: 750rpx;
height: 60rpx;
...
...
@@ -258,10 +274,11 @@ swiper-item {
}
/* 标签选择 */
.tab {
width: 100%;
padding: 40rpx 40rpx 0 40rpx;
background: #fff
fff
;
background: #fff;
}
.tab-fixed {
...
...
@@ -275,7 +292,7 @@ swiper-item {
.tab-blank {
width: 750rpx;
height: 190rpx;
background: #fff
fff
;
background: #fff;
}
.tab .tab-item-active {
...
...
@@ -283,7 +300,7 @@ swiper-item {
height: 100rpx;
margin-bottom: 16rpx;
border-radius: 50%;
background: #
E3EEFF
;
background: #
e3eeff
;
}
.tab .tab-item-inactive {
...
...
@@ -295,11 +312,11 @@ swiper-item {
}
.tab .tab-item-text-active {
color: #15191
F
;
color: #15191
f
;
}
.tab .tab-item-text-inactive {
color: #959
DA
9;
color: #959
da
9;
}
.tab-item text {
...
...
@@ -313,6 +330,7 @@ swiper-item {
}
/* 标签详情 */
.detail {
width: 750rpx;
min-height: 500rpx;
...
...
@@ -326,6 +344,7 @@ swiper-item {
}
/* 商店详情 */
.shop-item {
position: relative;
width: 750rpx;
...
...
@@ -344,17 +363,27 @@ swiper-item {
position: absolute;
width: 534rpx;
height: 96rpx;
background: #86
C5E
1;
background: #86
c5e
1;
border-radius: 2px;
overflow: hidden;
font-size: 30rpx;
font-weight: 500;
color: #fff
fff
;
color: #fff;
line-height: 42rpx;
}
image {
width: 100%;
height: 100%;
}
/* 游客攻略 */
.title {
width: 670rpx;
margin-top: 30rpx;
}
.title > image {
width: 184rpx;
height: 44rpx;
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment