Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
U
uni-pdtravel
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
panyongping
uni-pdtravel
Commits
216e41df
Commit
216e41df
authored
Aug 28, 2023
by
潘永坪
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' of
http://git.tbd.yanzuoguang.com/panyongping/uni-pdtravel
into develop
parents
7d237041
93f7c9ce
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
346 additions
and
178 deletions
+346
-178
albumIndex.vue
pages/album/albumIndex.vue
+323
-163
chooseFavorite.vue
pages/album/chooseFavorite.vue
+1
-2
getPortrait.vue
pages/album/getPortrait.vue
+5
-3
myPhotoAlbum.vue
pages/album/myPhotoAlbum/myPhotoAlbum.vue
+14
-9
vlogface.vue
pages/vlog/vlogface/vlogface.vue
+3
-1
coupon.png
static/img/my/coupon.png
+0
-0
No files found.
pages/album/albumIndex.vue
View file @
216e41df
<
template
>
<view
class=
"big-box"
:style=
"
{'padding-top': statusBarHeight + 'px'}" v-show="show">
<view
class=
"nav-bar"
:style=
"
{'top': statusBarHeight + 'px', 'height': navHeight + 'px','line-height': navHeight + 'px'}">
<view
class=
"big-box"
:style=
"
{'padding-top': statusBarHeight + 'px'}" v-if="show">
<view
class=
"nav-bar"
:style=
"
{'top': statusBarHeight + 'px', 'height': navHeight + 'px','line-height': navHeight + 'px'}">
<u-icon
name=
"arrow-left"
v-if=
"options.index"
@
click=
"returnClick"
></u-icon>
摄影/旅拍
</view>
<view
class=
"body"
>
<view
class=
"scroll-view"
>
<view
class=
"scroll-view"
>
<view
class=
"item"
@
click=
"jumpToScanFaceClick"
>
<image
class=
"img"
src=
"./static/album/myAlbum.png"
></image>
<text
class=
"title"
>
我的相片
</text>
...
...
@@ -25,12 +26,13 @@
<text
class=
"title"
>
我的Vlog
</text>
</view>
</view>
<view
class=
"private-custom"
>
<view
class=
"title"
>
私人定制
</view>
<u-waterfall
v-model=
"list"
ref=
"uWaterfall"
>
<template
v-slot:left=
"
{leftList}">
<view
class=
"left demo-water"
v-for=
"(item, index) in leftList"
:key=
"index"
@
click=
"jumpToClick(item.title)"
>
<view
class=
"left demo-water"
v-for=
"(item, index) in leftList"
:key=
"index"
@
click=
"jumpToClick(item.title)"
>
<image
:src=
"item.image"
mode=
"aspectFill"
></image>
<!--
<u-lazy-load
threshold=
"-450"
border-radius=
"10"
:image=
"item.image"
:index=
"index"
></u-lazy-load>
-->
<view
class=
"info-box"
:style=
"
{'background-color': item.color}">
...
...
@@ -44,10 +46,11 @@
<text
class=
"count"
>
{{
item
.
count
}}
</text>
</view>
</view>
</view>
</view>
</
template
>
<
template
v-slot:right=
"{rightList}"
>
<view
class=
"demo-water"
v-for=
"(item, index) in rightList"
:key=
"index"
@
click=
"jumpToClick(item.title)"
>
<view
class=
"demo-water"
v-for=
"(item, index) in rightList"
:key=
"index"
@
click=
"jumpToClick(item.title)"
>
<image
:src=
"item.image"
mode=
"aspectFill"
></image>
<!--
<u-lazy-load
threshold=
"-450"
border-radius=
"10"
:image=
"item.image"
:index=
"index"
></u-lazy-load>
-->
<view
class=
"info-box"
:style=
"
{'background-color': item.color}">
...
...
@@ -66,22 +69,37 @@
</u-waterfall>
</view>
</view>
<image
class=
"coupon"
src=
"@/static/img/my/coupon.png"
mode=
"aspectFit"
@
click=
"showUseRule = true"
></image>
<u-mask
:show=
"showtip || showUseRule"
>
<view
class=
"coupon"
@
click=
"couponTip = true"
>
<image
class=
"coupon-img"
src=
"@/static/img/my/coupon.png"
mode=
"aspectFit"
v-if=
"isHaveCoupon"
>
</image>
<text
class=
"coupon-price"
>
<text
class=
"r-symbol"
>
¥
</text>
{{couponPrice}}
</text>
</view>
<u-mask
:show=
"postCartTip || couponTip || showUseRule"
>
<view
class=
"mask"
>
<view
class=
"img-box"
>
<image
class=
"bg"
src=
"@/static/img/my/backgroundIcon01.png"
mode=
"aspectFit"
></image>
<view
class=
"post-card"
v-if=
"showtip"
>
<view
class=
"post-card"
v-if=
"postCartTip"
>
<view
class=
"thank"
>
- 感谢您的参与 -
</view>
<view
class=
"tip-content"
>
<text>
免费领取
</text>
<text>
纪念小照片1张
</text>
</view>
<image
class=
"my-card"
src=
"./static/album/myCard.png"
mode=
"aspectFit"
></image>
<view
class=
"address"
>
(领取地址:南站观景台旁)
</view>
</view>
<view
class=
"coupon-box"
v-if=
"couponTip"
>
<view
class=
"congra"
>
恭喜您!
</view>
<view
class=
"get-
price-tip
"
>
<view
class=
"get-
coupon
"
>
获得摄影抵用券
<text
class=
"price"
>
20
</text>
元
<text
class=
"price"
>
{{couponPrice}}
</text>
元
</view>
<image
class=
"my-card"
src=
"./static/album/myCard.png"
mode=
"aspectFit"
></image>
<view
class=
"use-rule"
@
click=
"
u
seRuleClick"
>
<view
class=
"use-rule"
@
click=
"
showU
seRuleClick"
>
使用规则
<u-icon
name=
"arrow-right"
></u-icon>
</view>
...
...
@@ -104,7 +122,7 @@
<u-button
type=
"primary"
shape=
"circle"
@
click=
"closeMask"
>
知道了
</u-button>
</view>
</u-mask>
</view>
</template>
...
...
@@ -115,182 +133,242 @@ import UMask from '@/uview-ui/components/u-mask/u-mask.vue'
export
default
{
components
:
{
UWaterfall
,
ULazyLoad
,
UWaterfall
,
ULazyLoad
,
UMask
},
data
()
{
return
{
showtip
:
false
,
//领取提示
showUseRule
:
false
,
//使用规则提示
postCartTip
:
false
,
//明信片领取提示
couponTip
:
false
,
//券领取提示
showUseRule
:
false
,
//使用规则提示
statusBarHeight
:
0
,
capsule
:
0
,
navHeight
:
0
,
show
:
false
,
//是否显示首页
list
:
[
{
title
:
'精彩瞬间'
,
count
:
'10W+'
,
image
:
'./static/album/wonderfulMoment.png'
,
color
:
'#037EFF'
},
{
title
:
'网红旅拍'
,
count
:
'8W+'
,
image
:
'./static/album/travalphoto.png'
,
color
:
'#826847'
},
{
title
:
'抱枕DIY'
,
count
:
'4W+'
,
image
:
'./static/album/pillow.png'
,
color
:
'#1175B4'
},
{
title
:
'明信片'
,
count
:
'4W+'
,
image
:
'./static/album/postcard.png'
,
color
:
'#3478DC'
},
{
title
:
'旅游台历定制'
,
count
:
'4W+'
,
image
:
'./static/album/deskCalender.png'
,
color
:
'#1A9B45'
},
{
title
:
'定制相册'
,
count
:
'4W+'
,
image
:
'./static/album/customPic.png'
,
color
:
'#D48D46'
}
],
rules
:
[
{
ruleName
:
'规则说明'
,
contents
:
[
{
value
:
'任意金额皆可抵扣,最高抵扣20'
},
{
value
:
'指定地点可用,提交订单时可自动抵扣'
},
{
value
:
'优惠券只可使用一次,不找零不折现'
},
{
value
:
'仅支持下载电子照片至手机'
},
{
value
:
'如需打印,需额外支付打印费用'
}
]
},
{
ruleName
:
'补充说明'
,
contents
:
[
{
value
:
'使用地址:重庆市渝中区新华路151号闯将索道南站观景台旁'
},
{
value
:
'咨询电话:023-68567748'
}
]
}
show
:
false
,
//是否显示首页
isHaveCoupon
:
false
,
//是否有劵
list
:
[{
title
:
'精彩瞬间'
,
count
:
'10W+'
,
image
:
'./static/album/wonderfulMoment.png'
,
color
:
'#037EFF'
},
{
title
:
'网红旅拍'
,
count
:
'8W+'
,
image
:
'./static/album/travalphoto.png'
,
color
:
'#826847'
},
{
title
:
'抱枕DIY'
,
count
:
'4W+'
,
image
:
'./static/album/pillow.png'
,
color
:
'#1175B4'
},
{
title
:
'明信片'
,
count
:
'4W+'
,
image
:
'./static/album/postcard.png'
,
color
:
'#3478DC'
},
{
title
:
'旅游台历定制'
,
count
:
'4W+'
,
image
:
'./static/album/deskCalender.png'
,
color
:
'#1A9B45'
},
{
title
:
'定制相册'
,
count
:
'4W+'
,
image
:
'./static/album/customPic.png'
,
color
:
'#D48D46'
}
],
options
:
{}
//路由参数
rules
:
[],
//使用规则
options
:
{},
//路由参数
couponPrice
:
''
,
//优惠券金额
openid
:
''
,
userId
:
''
,
}
},
methods
:
{
returnClick
()
{
uni
.
navigateBack
({
delta
:
1
})
uni
.
navigateBack
({
delta
:
1
})
},
closeMask
()
{
//---关闭遮罩
this
.
showtip
=
false
closeMask
()
{
//---关闭遮罩
this
.
postCartTip
=
false
this
.
couponTip
=
false
this
.
showUseRule
=
false
},
useRuleClick
()
{
//---查看使用规则
this
.
showt
ip
=
false
showUseRuleClick
()
{
this
.
couponT
ip
=
false
this
.
showUseRule
=
true
},
jumpToScanFaceClick
()
{
//---跳转扫脸页面
const
openid
=
uni
.
getStorageSync
(
'openid'
)
this
.
$request
(
'wechatUser/pdFace/checkScanFace'
,{
openid
}).
then
(
res
=>
{
if
(
res
.
code
===
'00'
)
{
if
(
res
.
data
.
isScanFace
===
0
)
{
//未扫脸
jumpToScanFaceClick
()
{
//---跳转扫脸页面
this
.
$request
(
'wechatUser/pdFace/checkScanFace'
,
{
openid
:
this
.
openid
}).
then
(
res
=>
{
if
(
res
.
code
===
'00'
)
{
const
merchantId
=
this
.
options
.
merchantId
||
'z0015605022691a5945bbe463141668c'
// 默认长江索道
if
(
res
.
data
.
isScanFace
===
0
)
{
//未扫脸
uni
.
navigateTo
({
url
:
'./getPortrait'
url
:
`./getPortrait?merchantId
${
merchantId
}
`
})
}
else
if
(
res
.
data
.
isScanFace
===
1
)
{
//已扫脸
}
else
if
(
res
.
data
.
isScanFace
===
1
)
{
//已扫脸
const
faceIds
=
JSON
.
stringify
(
res
.
data
.
faceIds
)
const
companyId
=
this
.
options
.
companyId
uni
.
navigateTo
({
url
:
`./myPhotoAlbum/myPhotoAlbum?faceIds=
${
JSON
.
stringify
(
res
.
data
.
faceIds
)}
&companyId=
${
this
.
options
.
company
Id
}
`
url
:
`./myPhotoAlbum/myPhotoAlbum?faceIds=
${
faceIds
}
&companyId=
${
companyId
}
&merchantId
${
merchant
Id
}
`
})
}
}
else
{
uni
.
showToast
({
title
:
res
.
message
,
icon
:
'none'
})
}
}
else
{
uni
.
showToast
({
title
:
res
.
message
,
icon
:
'none'
})
}
}).
catch
(
err
=>
{
uni
.
showToast
({
title
:
err
,
icon
:
'none'
title
:
err
,
icon
:
'none'
})
})
},
jumptoVlog
()
{
//---跳转到vlog页面
jumptoVlog
()
{
//---跳转到vlog页面
uni
.
redirectTo
({
url
:
'/pages/vlog/vlogIndex/vlogIndex'
url
:
'/pages/vlog/vlogIndex/vlogIndex'
})
},
jumpToClick
(
title
)
{
if
(
title
===
'精彩瞬间'
||
title
===
'网红旅拍'
)
{
if
(
title
===
'精彩瞬间'
||
title
===
'网红旅拍'
)
{
this
.
jumpToScanFaceClick
()
}
},
judgeWhether
(
url
,
data
)
{
//---判断是否成功的封装函数
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
$request
(
url
,
data
).
then
(
res
=>
{
if
(
res
.
code
===
'00'
)
{
resolve
(
res
.
data
)
}
else
{
reject
(
false
)
}
}).
catch
(()
=>
{
judgeWhether
(
url
,
data
)
{
//---判断是否成功的封装函数
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
$request
(
url
,
data
).
then
(
res
=>
{
if
(
res
.
code
===
'00'
)
{
resolve
(
res
.
data
)
}
else
{
reject
(
false
)
}
}).
catch
(()
=>
{
reject
(
false
)
})
})
})
},
async
handleWhetherToVotePage
()
{
//---判断是否跳转投票页面
async
handleWhetherToVotePage
()
{
//---判断是否跳转投票页面
// 1.获取调查列表
const
surveyQueryData
=
{
pageCode
:
'albumIndex'
,
//默认前端写死
channelId
:
this
.
options
.
channelId
//游客扫码携带的channelId或者是胖丁登录时的公司id
pageCode
:
'albumIndex'
,
//默认前端写死
channelId
:
this
.
options
.
channelId
//游客扫码携带的channelId或者是胖丁登录时的公司id
}
const
surveyList
=
await
this
.
judgeWhether
(
'scenic/market/findPageMarket'
,
surveyQueryData
)
// 2.判断商店是否在做投票活动
let
surveyIds
let
surveyResult
=
[]
if
(
surveyList
.
length
)
{
if
(
surveyList
.
length
)
{
surveyIds
=
surveyList
.
map
(
item
=>
item
.
surveyId
)
surveyResult
=
await
this
.
judgeWhether
(
'scenic/albumConfig/getSurveyConfig'
,
{
surveyIds
})
surveyResult
=
await
this
.
judgeWhether
(
'scenic/albumConfig/getSurveyConfig'
,
{
surveyIds
})
}
// 3.判断用户是否已经投过票
let
voteObj
=
{}
// 用户投票信息
if
(
surveyResult
.
length
)
{
// 默认保存第一个商店id
到缓存
uni
.
setStorageSync
(
'merchantId'
,
surveyResult
[
0
].
merchantId
)
let
voteObj
=
{}
// 用户投票信息
if
(
surveyResult
.
length
)
{
// 默认保存第一个商店id
// this.options.merchantId = surveyResult[0].merchantId
const
votedQueryData
=
{
merchantId
:
surveyResult
[
0
].
merchantId
,
openid
:
uni
.
getStorageSync
(
'openid'
)
}
voteObj
=
await
this
.
judgeWhether
(
'wechatUser/pdAlbum/checkVisitorSurvey'
,
votedQueryData
)
}
// 4.判断是否跳转投票页面
if
(
voteObj
.
alreadySurvey
===
1
)
{
// 未投过票
if
(
voteObj
.
alreadySurvey
===
0
)
{
// 未投过票
uni
.
navigateTo
({
url
:
`./chooseFavorite?surveyConfig=
${
JSON
.
stringify
(
surveyResult
)}
`
url
:
`./chooseFavorite?surveyConfig=
${
JSON
.
stringify
(
surveyResult
)}
`
})
}
else
if
(
voteObj
.
alreadySurvey
===
0
)
{
// 已投票
}
else
if
(
voteObj
.
alreadySurvey
===
1
)
{
// 已投票
this
.
show
=
true
}
},
recordDeviceInfo
()
{
//---记录设备信息
findPageMarketFun
()
{
//---获取优惠券
var
data
=
{
pageCode
:
'albumIndex'
,
marketingStatus
:
1
,
openid
:
this
.
openid
,
userId
:
this
.
userId
}
this
.
$request
(
'scenic/market/findPageMarket'
,
data
).
then
((
res
)
=>
{
if
(
res
.
code
===
'00'
)
{
this
.
couponIsUse
()
}
else
{
uni
.
showToast
({
title
:
res
.
message
,
icon
:
'none'
})
}
})
},
couponIsUse
()
{
//---判断是否有劵
this
.
$request
(
'wechatUser/myPage/getUserCouponList'
,
{
openid
:
this
.
openid
}).
then
(
res
=>
{
if
(
res
.
code
===
'00'
)
{
res
.
data
.
forEach
(
item
=>
{
if
(
item
.
useRange
===
11
&&
item
.
couponStatus
===
1
)
{
this
.
isHaveCoupon
=
true
this
.
couponPrice
=
item
.
deductPrice
// 处理使用规则数据结构
let
ruleContents
=
item
.
couponRule
?
item
.
couponRule
.
split
(
';'
)
:
[]
ruleContents
=
ruleContents
.
map
(
value
=>
{
return
{
value
}
})
this
.
rules
.
push
({
ruleName
:
'规则说明'
,
contents
:
ruleContents
})
let
elseContents
=
item
.
couponRuleRemind
?
item
.
couponRuleRemind
.
split
(
';'
)
:
[]
elseContents
=
elseContents
.
map
(
value
=>
{
return
{
value
}
})
this
.
rules
.
push
({
ruleName
:
'补充说明'
,
contents
:
elseContents
})
}
})
}
else
{
uni
.
showToast
({
title
:
res
.
message
,
icon
:
'none'
})
}
}).
catch
(
err
=>
{
uni
.
showToast
({
title
:
err
,
icon
:
'none'
})
})
},
recordDeviceInfo
()
{
//---记录设备信息
this
.
statusBarHeight
=
uni
.
getSystemInfoSync
().
statusBarHeight
// 状态栏高度
this
.
capsule
=
uni
.
getMenuButtonBoundingClientRect
()
// 胶囊大小、位置数据
this
.
navHeight
=
(
this
.
capsule
.
top
-
this
.
statusBarHeight
)
*
2
+
this
.
capsule
.
height
// 导航栏高度
...
...
@@ -298,30 +376,33 @@ export default {
},
onLoad
(
options
)
{
this
.
$commonjs
.
getCompanyId
(
options
)
this
.
openid
=
uni
.
getStorageSync
(
'openid'
)
this
.
userId
=
uni
.
getStorageSync
(
'userId'
)
this
.
findPageMarketFun
()
this
.
recordDeviceInfo
()
this
.
options
=
options
if
(
this
.
options
.
tip
===
'true'
)
{
// 从模板选择页进入
if
(
this
.
options
.
tip
===
'true'
)
{
// 从模板选择页进入
this
.
show
=
true
this
.
showt
ip
=
true
}
else
if
(
this
.
options
.
index
==
1
)
{
// 从vlog首页进入
this
.
postCartT
ip
=
true
}
else
if
(
this
.
options
.
index
==
1
)
{
// 从vlog首页进入
this
.
show
=
true
}
else
{
// 扫码进入本页
}
else
{
// 扫码进入本页
this
.
handleWhetherToVotePage
()
}
if
(
uni
.
getStorageSync
(
'location'
))
return
uni
.
getLocation
({
//获取定位
if
(
uni
.
getStorageSync
(
'location'
))
return
uni
.
getLocation
({
//获取定位
type
:
'wgs84'
,
success
:
res
=>
{
uni
.
setStorageSync
(
'location'
,
JSON
.
stringify
(
res
))
uni
.
setStorageSync
(
'location'
,
JSON
.
stringify
(
res
))
},
fail
()
{
uni
.
showToast
({
title
:
'获取经纬度失败'
,
icon
:
'none'
})
}
fail
()
{
uni
.
showToast
({
title
:
'获取经纬度失败'
,
icon
:
'none'
})
}
})
}
}
...
...
@@ -333,35 +414,59 @@ export default {
padding
:
0
24rpx
;
background
:
linear-gradient
(
to
right
bottom
,
#c778f3
50
,
#66ddad
50
,
#68d6de
50
);
z-index
:
0
;
&
:
:
after
{
content
:
''
;
width
:
100%
;
height
:
100%
;
position
:
absolute
;
position
:
absolute
;
bottom
:
0
;
left
:
0
;
z-index
:
-1
;
background
:
linear-gradient
(
to
top
,
#f7f7f7
,
#f7f7f7
80%
,
transparent
100%
);
}
/
deep
/
.u-mask
{
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
transform
:
scale
(
1
);
}
.coupon
{
position
:
fixed
;
right
:
-30rpx
;
bottom
:
200rpx
;
width
:
180rpx
;
height
:
180rpx
;
.coupon-img
{
width
:
100%
;
height
:
100%
;
}
.coupon-price
{
position
:
absolute
;
bottom
:
64rpx
;
left
:
50%
;
transform
:
translateX
(
-50%
);
font-size
:
40rpx
;
font-weight
:
700
;
color
:
#fff
;
}
.r-symbol
{
font-size
:
10rpx
;
}
}
}
.nav-bar
{
font-size
:
36rpx
;
font-weight
:
700
;
z-index
:
9
;
}
}
.scroll-view
{
display
:
flex
;
width
:
calc
(
100%
+
48rpx
);
...
...
@@ -371,34 +476,40 @@ export default {
overflow-x
:
auto
;
padding
:
46rpx
0
0
24rpx
;
margin-bottom
:
48rpx
;
&
:
:-
webkit-scrollbar
{
display
:
none
;
}
.item
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
margin-right
:
24rpx
;
}
.img
{
width
:
200rpx
;
height
:
136rpx
;
border-radius
:
16rpx
;
margin-bottom
:
16rpx
;
box-shadow
:
0px
0px
8px
2px
rgba
(
0
,
0
,
0
,
0
.12
);
box-shadow
:
0px
0px
8px
2px
rgba
(
0
,
0
,
0
,
0
.12
);
overflow
:
hidden
;
}
.title
{
font-size
:
28rpx
;
font-weight
:
700
;
}
}
.private-custom
{
.title
{
position
:
relative
;
margin-bottom
:
24rpx
;
font-size
:
32rpx
;
font-weight
:
700
;
&
:
:
after
{
content
:
''
;
width
:
128rpx
;
...
...
@@ -409,23 +520,28 @@ export default {
background
:
url('@/pages/album/static/album/private-custom.png')
no-repeat
;
}
}
.demo-water
{
image
{
border-radius
:
16rpx
16rpx
0
0
;
height
:
458rpx
;
width
:
100%
;
}
/
deep
/
.u-wrap
,
/
deep
/
.u-lazy-item
{
broder-radius
:
16rpx
16rpx
0
0
!
important
;
}
}
.left.demo-water
{
margin-right
:
14rpx
;
image
{
height
:
400rpx
;
}
}
.info-box
{
display
:
flex
;
flex-direction
:
column
;
...
...
@@ -437,13 +553,16 @@ export default {
box-sizing
:
border-box
;
border-radius
:
0
0
16rpx
16rpx
;
color
:
#fff
;
.item-title
{
font-size
:
28rpx
;
font-weight
:
700
;
}
.slogan
{
font-size
:
24rpx
;
}
.img-btn
{
display
:
flex
;
justify-content
:
center
;
...
...
@@ -455,9 +574,11 @@ export default {
color
:
#333
;
font-size
:
22rpx
;
}
.bottom
{
display
:
flex
;
justify-content
:
space-between
;
.count
{
font-size
:
28rpx
;
color
:
#ececec
;
...
...
@@ -465,20 +586,24 @@ export default {
}
}
}
.mask
{
width
:
504rpx
;
height
:
720rpx
;
.img-box
{
position
:
relative
;
margin-bottom
:
32rpx
;
width
:
100%
;
height
:
100%
;
.close
{
position
:
absolute
;
top
:
-64rpx
;
right
:
24rpx
;
color
:
#fff
;
font-size
:
40rpx
;
&
:
:
after
{
position
:
absolute
;
content
:
''
;
...
...
@@ -490,6 +615,7 @@ export default {
border-left
:
1px
dotted
#fff
;
}
}
.bg
{
position
:
absolute
;
left
:
0
;
...
...
@@ -498,51 +624,83 @@ export default {
height
:
100%
;
z-index
:
-1
;
}
.my-card
{
width
:
85%
;
height
:
340rpx
;
}
}
.post-card
,
.coupon-box
,
.rules
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
padding
:
66rpx
0
24rpx
0
;
height
:
100%
;
overflow-y
:
auto
;
}
.post-card
{
justify-content
:
space-between
;
font-size
:
36rpx
;
.thank
{
font-size
:
28rpx
;
color
:
#999
;
}
.tip-content
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
}
.address
{
font-size
:
24rpx
;
font-weight
:
700
;
}
}
.coupon-box
{
justify-content
:
space-between
;
font-size
:
36rpx
;
.congra
{
font-weight
:
700
;
}
.price
{
margin
:
0
6rpx
;
font-size
:
64rpx
;
font-weight
:
700
;
color
:
#EE520E
;
margin
:
0
16rpx
;
}
.use-rule
{
.use-rule
,
.address
{
font-size
:
24rpx
;
color
:
#333
;
}
.address
{
font-size
:
24rpx
;
font-weight
:
700
;
}
}
.rules
{
padding
:
50rpx
32rpx
24rpx
;
.title
{
font-size
:
36rpx
;
font-weight
:
700
;
margin-bottom
:
48rpx
;
}
.block
{
font-size
:
32rpx
;
align-self
:
flex-start
;
.name
{
display
:
inline-block
;
padding
:
4rpx
16rpx
;
...
...
@@ -552,26 +710,28 @@ export default {
background-color
:
#000
;
color
:
#fff
;
}
.small-font
{
display
:
flex
;
font-size
:
20rpx
;
}
.small-font
:not
(
:last-child
)
{
margin-bottom
:
16rpx
;
}
.dot
{
margin-right
:
10rpx
;
}
}
.block
:not
(
:last-child
)
{
margin-bottom
:
32rpx
;
}
}
/
deep
/
.u-btn
{
width
:
304rpx
;
}
}
.rules
{
}
</
style
>
\ No newline at end of file
</
style
>
pages/album/chooseFavorite.vue
View file @
216e41df
...
...
@@ -60,7 +60,6 @@ export default {
openid
:
uni
.
getStorageSync
(
'openid'
),
//openid
templateIds
//模板Id
}
uni
.
setStorageSync
(
'merchantId'
,
data
.
merchantId
)
this
.
$request
(
'wechatUser/pdAlbum/saveVisitorSurvey'
,
data
).
then
(
res
=>
{
if
(
res
.
code
===
'00'
)
{
uni
.
showToast
({
...
...
@@ -68,7 +67,7 @@ export default {
icon
:
'success'
})
uni
.
navigateTo
({
url
:
'./albumIndex?tip=true'
url
:
`./albumIndex?tip=true&merchantId=
${
data
.
merchantId
}
`
})
}
else
{
uni
.
showToast
({
...
...
pages/album/getPortrait.vue
View file @
216e41df
<
template
>
<view
class=
"big-box"
:style=
"
{'padding-top': statusBarHeight + 'px'}">
<view
class=
"big-box"
:style=
"
{'padding-top': statusBarHeight + 'px'}"
v-if="statusBarHeight"
>
<view
class=
"nav-bar"
:style=
"
{'height': navHeight + 'px'}">
</view>
<text
class=
"title"
>
扫脸获取您的照片
</text>
<view
class=
"scan"
>
...
...
@@ -57,6 +57,7 @@ export default {
maskCount
:
3
,
//弹窗倒计时
queryData
:
{},
//查询参数
defaultBrightness
:
0.5
,
//屏幕亮度
options
:
{},
//路由传参
}
},
methods
:
{
...
...
@@ -135,7 +136,7 @@ export default {
})
},
getQueryField
()
{
//---获取查询参数
const
merchantId
=
uni
.
getStorageSync
(
'merchantId'
)
const
merchantId
=
this
.
options
.
merchantId
this
.
$request
(
'scenic/albumConfig/getAlbumConfig'
,{
merchantId
}).
then
(
res
=>
{
//创建任务
if
(
res
.
code
===
'00'
)
{
...
...
@@ -228,7 +229,8 @@ export default {
})
},
},
onLoad
()
{
onLoad
(
options
)
{
this
.
options
=
options
this
.
recordDeviceInfo
()
uni
.
getScreenBrightness
({
//获取屏幕亮度
success
(
res
)
{
...
...
pages/album/myPhotoAlbum/myPhotoAlbum.vue
View file @
216e41df
...
...
@@ -9,10 +9,12 @@
<image
src=
"../static/album/myPhoto01.png"
></image>
</view>
<u-picker
mode=
"selector"
v-model=
"orderShow"
:default-selector=
"[orderType]"
:range=
"option"
range-key=
"areaName"
@
confirm=
"industrysTypeConfirm($event)"
@
cancel=
"cancel"
></u-picker>
<view
v-for=
"(item,index) in merchantList"
:key=
"index"
class=
"left-project"
:class=
"[projectCheck==0?'left-projectDe':'']"
@
click=
"projectClick(index,item.id)"
>
{{
item
.
name
}}
<i>
{{
previewData
.
length
}}
</i>
</view>
<template
v-for=
"(item,index) in merchantList"
>
<view
:key=
"index"
v-if=
"index
<2
"
class=
"left-project"
:class=
"[projectCheck==0?'left-projectDe':'']"
@
click=
"projectClick(index,item.id)"
>
{{
item
.
name
}}
<i>
{{
previewData
.
length
}}
</i>
</view>
</
template
>
</view>
<view
class=
"address-right"
@
click=
"projectMoreFun()"
v-if=
"merchantList.length>2"
>
<u-icon
name=
"more-dot-fill"
></u-icon>
...
...
@@ -175,7 +177,7 @@ export default {
this
.
openid
=
uni
.
getStorageSync
(
'openid'
)
//获取openid
this
.
faceIds
=
JSON
.
parse
(
option
.
faceIds
)
this
.
location
=
JSON
.
parse
(
uni
.
getStorageSync
(
'location'
))
this
.
merchantId
=
uni
.
getStorageSync
(
'merchantId'
)
// 'z0015605022691a5945bbe463141668c'
this
.
merchantId
=
option
.
merchantId
||
''
// 'z0015605022691a5945bbe463141668c'
this
.
obtainProvince
()
//获取省市区
this
.
inquireMerchant
()
//查询所有商户
this
.
getPhotos
()
//照片列表
...
...
@@ -330,10 +332,11 @@ export default {
tickets
:
1
,
productId
:
this
.
merchantMessage
[
0
].
merchantExtendProjectId
,
orderSource
:
11
,
//指定为相册优惠券
merchantType
:
11
,
//指定为相册
}
this
.
$request
(
'wechatUser/myPage/usableCouponList'
,
data
).
then
((
res
)
=>
{
if
(
res
.
code
==
'00'
){
if
(
res
.
data
.
masterSlaveCouponList
!=
undefined
){
if
(
res
.
data
.
masterSlaveCouponList
.
length
>
0
){
res
.
data
.
masterSlaveCouponList
.
forEach
(
item
=>
{
item
[
'couponPrice'
]
=
item
.
deductPrice
})
...
...
@@ -387,9 +390,9 @@ export default {
orderImgList
:[],
////订单图片
couponList
:[],
//券信息
}
if
(
this
.
masterSlaveCouponList
.
length
>
0
){
orderProductListData
.
couponList
.
push
(
this
.
masterSlaveCouponList
[
0
])
}
if
(
this
.
masterSlaveCouponList
.
length
>
0
){
orderProductListData
.
couponList
.
push
(
this
.
masterSlaveCouponList
[
0
])
}
this
.
previewData
.
forEach
((
item
,
index
)
=>
{
...
...
@@ -463,6 +466,7 @@ export default {
overflow-x
:
auto
;
.left-name
{
flex-shrink
:
0
;
font-size
:
32rpx
;
color
:
#999999
;
line-height
:
76rpx
;
...
...
@@ -470,6 +474,7 @@ export default {
}
.left-picker
{
flex-shrink
:
0
;
display
:
flex
;
font-size
:
32rpx
;
color
:
#333333
;
...
...
pages/vlog/vlogface/vlogface.vue
View file @
216e41df
...
...
@@ -3,7 +3,8 @@
<view
class=
"bg"
>
<image
src=
"../static/vlog/icon/camera.png"
></image>
</view>
<camera
class=
"camera"
device-position=
"front"
flash=
"off"
@
error=
"error"
@
initdone=
"initdone"
></camera>
<camera
class=
"camera"
device-position=
"front"
flash=
"off"
@
error=
"error"
></camera>
<!--
<camera
class=
"camera"
device-position=
"front"
flash=
"off"
@
error=
"error"
@
initdone=
"initdone"
></camera>
-->
<view
class=
"surface"
v-show=
"show"
>
<view>
请正对镜头
</view>
<text>
{{
text
}}
</text>
...
...
@@ -47,6 +48,7 @@ export default {
}
},
onLoad
()
{
//代替 vue 里面的 created
this
.
initdone
()
},
onReady
()
{
//代替 vue 里面的 mounted
},
...
...
static/img/my/coupon.png
View replaced file @
7d237041
View file @
216e41df
11.2 KB
|
W:
|
H:
9.02 KB
|
W:
|
H:
2-up
Swipe
Onion skin
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