Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
飞
飞鹤小程序
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
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
FH
飞鹤小程序
Commits
3668f53c
Commit
3668f53c
authored
Oct 13, 2025
by
spc
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixed
parent
69f84a38
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
50 additions
and
30 deletions
+50
-30
Brand.vue
views/Brand.vue
+48
-17
Home.vue
views/Home.vue
+2
-13
No files found.
views/Brand.vue
View file @
3668f53c
...
...
@@ -37,19 +37,25 @@
<view
class=
"dot"
:class=
"swiperIndex === index ? 'dot-active' : 'dot-normal'"
>
</view>
</
template
>
<text
class=
"dotText"
>
{{ swiperIconList[swiperIndex]?.text }}
</text>
<text
class=
"dotText"
>
{{ swiperIconList[swiperIndex]?.text.length > 7 ?
swiperIconList[swiperIndex]?.text.substring(0, 7) + '...' :
swiperIconList[swiperIndex]?.text }}
</text>
</view>
</view>
</view>
<view
class=
"swiper-mask"
>
<image
class=
"swiper-mask-img"
:src=
"$baseUrl + 'homepage/home_format_v2.png'"
></image>
</view>
<view
class=
"videoposterbox"
v-if=
"video1Channel.videoUrl || (video1Channel.finderUserName && video1Channel.feedId)"
>
<video
v-if=
"video1Channel.videoUrl"
ref=
"brandVideo1Ref"
id=
"brandVideo1"
class=
"videoposter"
:src=
"video1Channel.videoUrl?.indexOf('http') === 0 ? video1Channel.videoUrl : $baseUrl + video1Channel.videoUrl"
:autoplay=
"false"
:data-log=
"{
:src=
"video1Channel.videoUrl?.indexOf('http') === 0 ? video1Channel.videoUrl : $baseUrl + video1Channel.videoUrl"
:autoplay=
"false"
:data-log=
"{
xcxClick: '品牌故事-次屏页面点击',
pageName: '品牌故事-首屏页面',
buttonName: '腰部品牌Video'
}"
:poster=
"video1Channel.posterUrl?.indexOf('http') === 0 ? video1Channel.posterUrl : $baseUrl + video1Channel.posterUrl"
object-fit=
"cover"
@
loadedmetadata=
"onVideoLoadedMeta"
@
play=
"onVideo1Play"
></video>
}"
:poster=
"video1Channel.posterUrl?.indexOf('http') === 0 ? video1Channel.posterUrl : $baseUrl + video1Channel.posterUrl"
object-fit=
"cover"
@
loadedmetadata=
"onVideoLoadedMeta"
@
play=
"onVideo1Play"
></video>
<image
v-else
:data-log=
"{
xcxClick: '品牌故事-次屏页面点击',
pageName: '品牌故事-首屏页面',
...
...
@@ -59,7 +65,7 @@
pageName: '品牌故事页',
componentName: '品牌故事视频',
componentContent: video1Channel.title || ''
}"
@
tap=
"openChannel(video1Channel, $event)"
class=
"videoposter"
:src=
"$baseUrl + video1Channel.posterUrl"
>
}"
@
tap=
"openChannel(video1Channel, $event)"
class=
"videoposter"
:src=
"
video1Channel.posterUrl?.indexOf('http') === 0 ? video1Channel.posterUrl :
$baseUrl + video1Channel.posterUrl"
>
</image>
<view
class=
"videoposterboxtitle"
>
{{ video1Channel.title || "" }}
</view>
...
...
@@ -108,7 +114,9 @@
<view
class=
"infotitle"
>
{{ infoItem.title }}
</view>
<image
class=
"infoimg"
:src=
"infoItem.bgUrl?.indexOf('http') === 0 ? infoItem.bgUrl : $baseUrl + infoItem.bgUrl"
></image>
<image
class=
"infoimg"
:src=
"infoItem.bgUrl?.indexOf('http') === 0 ? infoItem.bgUrl : $baseUrl + infoItem.bgUrl"
>
</image>
</view>
<view
class=
"infodesc"
>
{{ infoItem.desc }}
</view>
</view>
...
...
@@ -132,7 +140,9 @@
<view
class=
"infotitle"
>
{{ infoItem.title }}
</view>
<image
class=
"infoimg"
:src=
"infoItem.bgUrl?.indexOf('http') === 0 ? infoItem.bgUrl : $baseUrl + infoItem.bgUrl"
></image>
<image
class=
"infoimg"
:src=
"infoItem.bgUrl?.indexOf('http') === 0 ? infoItem.bgUrl : $baseUrl + infoItem.bgUrl"
>
</image>
</view>
<view
class=
"infodesc"
>
{{ infoItem.desc }}
</view>
</view>
...
...
@@ -147,15 +157,17 @@
<view
class=
"videoposterbox"
v-if=
"video2Channel.videoUrl || (video2Channel.finderUserName && video2Channel.feedId)"
>
<video
v-if=
"video2Channel.videoUrl"
ref=
"brandVideo2Ref"
id=
"brandVideo2"
class=
"videoposter"
:src=
"video2Channel.videoUrl?.indexOf('http') === 0 ? video2Channel.videoUrl : $baseUrl + video2Channel.videoUrl"
:autoplay=
"false"
:poster=
"video2Channel.posterUrl?.indexOf('http') === 0 ? video2Channel.posterUrl : $baseUrl + video2Channel.posterUrl"
object-fit=
"cover"
@
loadedmetadata=
"onVideoLoadedMeta"
@
play=
"onVideo2Play"
></video>
:src=
"video2Channel.videoUrl?.indexOf('http') === 0 ? video2Channel.videoUrl : $baseUrl + video2Channel.videoUrl"
:autoplay=
"false"
:poster=
"video2Channel.posterUrl?.indexOf('http') === 0 ? video2Channel.posterUrl : $baseUrl + video2Channel.posterUrl"
object-fit=
"cover"
@
loadedmetadata=
"onVideoLoadedMeta"
@
play=
"onVideo2Play"
></video>
<image
v-else
class=
"videoposter"
:data-comlog=
"{
xcxComponentClick: 'true',
pageName: '品牌故事页',
componentName: '品牌故事视频',
componentContent: video2Channel.title || ''
}"
@
tap=
"openChannel(video2Channel, $event)"
:src=
"video2Channel.posterUrl?.indexOf('http') === 0 ? video2Channel.posterUrl : $baseUrl + video2Channel.posterUrl"
>
}"
@
tap=
"openChannel(video2Channel, $event)"
:src=
"video2Channel.posterUrl?.indexOf('http') === 0 ? video2Channel.posterUrl : $baseUrl + video2Channel.posterUrl"
>
</image>
<view
class=
"videoposterboxtitle"
>
{{ video2Channel.title || "" }}
</view>
</view>
...
...
@@ -180,20 +192,21 @@
</view>
<view
class=
"ipflex"
>
<view
class=
"ipbg ip1"
id=
"ip1"
@
tap=
"ipTapEvent(1, $event)"
>
<store-product
appid=
{erqiPeizhi.appId1}
product-id=
{erqiPeizhi.productId1}
<store-product
:appid=
"erqiPeizhi.appId1"
:product-id=
"erqiPeizhi.productId1"
custom-content=
"true"
>
<image
:data-log=
"{
xcxClick: '品牌故事-三屏页面点击',
pageName: '品牌故事-三屏页面',
buttonName: `${hexiaofeiNameList[0]}`
}"
:src=
"erqiPeizhi.ipImg1?.indexOf('http') === 0 ? erqiPeizhi.ipImg1 : $baseUrl + erqiPeizhi.ipImg1"
class=
"ip1"
>
}"
:src=
"erqiPeizhi.ipImg1?.indexOf('http') === 0 ? erqiPeizhi.ipImg1 : $baseUrl + erqiPeizhi.ipImg1"
class=
"ip1"
>
</image>
</store-product>
</view>
<view
class=
"ipright"
>
<view
class=
"ipbg ip2"
id=
"ip2"
@
tap=
"ipTapEvent(2, $event)"
>
<store-product
appid=
{erqiPeizhi.appId2}
product-id=
{erqiPeizhi.productId2}
<store-product
:appid=
"erqiPeizhi.appId2"
:product-id=
"erqiPeizhi.productId2"
custom-content=
"true"
>
<image
:data-log=
"{
xcxClick: '品牌故事-三屏页面点击',
...
...
@@ -209,7 +222,8 @@
xcxClick: '品牌故事-三屏页面点击',
pageName: '品牌故事-三屏页面',
buttonName: `${hexiaofeiNameList[2]}`
}"
@
tap=
"showPopup(0, $event)"
:src=
"erqiPeizhi.ipImg3?.indexOf('http') === 0 ? erqiPeizhi.ipImg3 : $baseUrl + erqiPeizhi.ipImg3"
>
}"
@
tap=
"showPopup(0, $event)"
:src=
"erqiPeizhi.ipImg3?.indexOf('http') === 0 ? erqiPeizhi.ipImg3 : $baseUrl + erqiPeizhi.ipImg3"
>
</image>
</view>
...
...
@@ -218,7 +232,8 @@
xcxClick: '品牌故事-三屏页面点击',
pageName: '品牌故事-三屏页面',
buttonName: `${hexiaofeiNameList[3]}`
}"
@
tap=
"showPopup(2, $event)"
:src=
"erqiPeizhi.ipImg4?.indexOf('http') === 0 ? erqiPeizhi.ipImg4 : $baseUrl + erqiPeizhi.ipImg4"
>
}"
@
tap=
"showPopup(2, $event)"
:src=
"erqiPeizhi.ipImg4?.indexOf('http') === 0 ? erqiPeizhi.ipImg4 : $baseUrl + erqiPeizhi.ipImg4"
>
</image>
</view>
</view>
...
...
@@ -246,7 +261,9 @@
componentName: '飞鹤ESG',
componentContent: infoItem.desc
}"
@
tap=
"jumpLink(infoItem.link, infoItem.videoUrl, $event)"
>
<image
class=
"infoimg"
:src=
"infoItem.bgUrl?.indexOf('http') === 0 ? infoItem.bgUrl : $baseUrl + infoItem.bgUrl"
></image>
<image
class=
"infoimg"
:src=
"infoItem.bgUrl?.indexOf('http') === 0 ? infoItem.bgUrl : $baseUrl + infoItem.bgUrl"
>
</image>
<view
class=
"infotitle"
>
{{ infoItem.desc }}
</view>
<view
class=
"infodesc"
>
{{ infoItem.desc2 }}
</view>
...
...
@@ -944,6 +961,20 @@ export default {
}
.swiper-mask {
position: absolute;
left: 0;
width: 750rpx;
height: 192rpx;
z-index: 1;
top: 1061rpx;
.swiper-mask-img {
width: 100%;
height: 100%;
}
}
.videoposterbox {
width: 640rpx;
height: 360rpx;
...
...
views/Home.vue
View file @
3668f53c
<
template
>
<view
class=
"home-container"
@
scroll=
"onPageScroll"
>
<!-- 可拖拽悬浮图片 -->
<view
class=
"floating-image-container"
v-if=
"floatIcon.imageUrl
&& !isAnyPopupVisible
"
<view
class=
"floating-image-container"
v-if=
"floatIcon.imageUrl"
:style=
"
{ left: floatIconPosition.left + 'px', top: floatIconPosition.top + 'px' }"
@touchstart="onTouchStart" @touchmove="onTouchMove" @touchend="onTouchEnd" @tap="onfloatIconClick">
<image
class=
"floating-image"
...
...
@@ -501,18 +501,7 @@ export default {
homeStore
()
{
return
useHomeStore
();
},
// 检查是否有任何弹窗可见
isAnyPopupVisible
()
{
// 视频弹窗是否显示
if
(
this
.
showVideo
)
return
true
;
// 注册弹窗是否显示
if
(
this
.
showRegisterLayer
)
return
true
;
// 普通弹窗是否显示
if
(
this
.
$refs
.
popup
&&
this
.
$refs
.
popup
.
show
)
return
true
;
// 图片弹窗是否显示
if
(
this
.
$refs
.
imagePopup
&&
this
.
$refs
.
imagePopup
.
show
)
return
true
;
return
false
;
}
},
props
:
{
scrollTop
:
{
...
...
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