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
00d8eb0f
Commit
00d8eb0f
authored
Aug 06, 2025
by
王炽
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
6666666
parent
4af66cda
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
494 additions
and
33 deletions
+494
-33
request.js
api/request.js
+2
-2
pageCfg.js
stores/pageCfg.js
+416
-1
Brand.vue
views/Brand.vue
+17
-17
Integral.vue
views/Integral.vue
+13
-11
My.vue
views/My.vue
+46
-2
No files found.
api/request.js
View file @
00d8eb0f
...
...
@@ -17,8 +17,8 @@ const {
// 通常可以吧 baseUrl 单独放在一个 js 文件了
// const baseUrl = "http://172.16.224.178:7777/pmall";
// const baseUrl = "https://momclub-uat.feihe.com/pmall";//测试环境
const
baseUrl
=
"https://momclub.feihe.com/pmall"
;
//生产环境
//
const baseUrl = "https://feihe.m.duibatest.com.cn/pmall";//测试环境
//
const baseUrl = "https://momclub.feihe.com/pmall";//生产环境
const
baseUrl
=
"https://feihe.m.duibatest.com.cn/pmall"
;
//测试环境
const
request
=
(
options
=
{})
=>
{
// 在这里可以对请求头进行一些设置
...
...
stores/pageCfg.js
View file @
00d8eb0f
This diff is collapsed.
Click to expand it.
views/Brand.vue
View file @
00d8eb0f
...
...
@@ -26,14 +26,14 @@
}" @tap="jumpSwiper(index, $event)" class="icon"
:src="swiperIndex === index ? $baseUrl + icon.activeUrl : $baseUrl + icon.baseUrl"
v-for="(icon, index) in swiperIconList" :key="index">
</image>
-->
<image
:src=
"$baseUrl + 'brandpage/indicatorDotsBg.png'"
class=
"indicatorDotsBg"
></image>
<image
:src=
"$baseUrl + 'brandpage/indicatorDotsBg.png'"
class=
"indicatorDotsBg"
></image>
<view
class=
"indicatorDots"
>
<template
v-for=
"(item, index) in swiperIconList"
:key=
"index"
>
<view
class=
"dot"
:class=
"swiperIndex === index ? 'dot-active' : 'dot-normal'"
>
</view>
<text
class=
"dotText"
v-if=
"swiperIndex === index"
>
{{
item
.
text
}}
</text>
</
template
>
</view>
</view>
</view>
</view>
<view
class=
"videoposterbox"
>
...
...
@@ -65,19 +65,19 @@
:style=
"{
background: `url(${$baseUrl}brandpage/infoBoxBg.png) no-repeat center/contain`
}"
:data-log=
"{
xcxClick: '品牌故事-次屏页面点击',
pageName: '品牌故事-次屏页面',
buttonName: `${productTabList[channelTabIndex] + '中的' + infoItem.title}+'商品'`
xcxClick: '品牌故事-次屏页面点击',
pageName: '品牌故事-次屏页面',
buttonName: `${productTabList[channelTabIndex] + '中的' + infoItem.title}+'商品'`
}"
@
tap=
"jumpProduct(infoItem, $event)"
>
<view
class=
"flexbox"
>
<view
class=
"infotitle"
>
{{ infoItem.title }}
</view>
<image
class=
"infoimg"
:src=
"$baseUrl + infoItem.bgUrl"
></image>
</view>
<view
class=
"infodesc"
>
{{ infoItem.desc }}
</view>
<view
class=
"flexbox"
>
<view
class=
"infotitle"
>
{{ infoItem.title }}
</view>
<image
class=
"infoimg"
:src=
"$baseUrl + infoItem.bgUrl"
></image>
</view>
<view
class=
"infodesc"
>
{{ infoItem.desc }}
</view>
</view>
</view>
<view
class=
"product-row"
>
<view
class=
"infobox"
:key=
"'bottom-' + index"
v-for=
"(infoItem, index) in productInfoList[channelTabIndex].filter((item, i) => i % 2 === 1)"
...
...
@@ -276,7 +276,7 @@ export default {
}
},
},
data
()
{
return
{
popType
:
'bottom'
,
...
...
@@ -311,13 +311,13 @@ export default {
}
},
mounted
()
{
this
.
initBrandInfo
();
// 初始化曝光检测工具
this
.
exposureTracker
=
new
ExposureTracker
(
this
);
this
.
exposureTracker
.
addExposureElements
(
EXPOSURE_CONFIGS
);
// 初始检查曝光
this
.
$nextTick
(()
=>
{
this
.
checkExposure
(
this
.
scrollTop
);
...
...
@@ -1215,7 +1215,7 @@ export default {
margin-bottom: 0;
}
.infobox {
.infobox {
margin-right: 20rpx;
flex-shrink: 0;
...
...
views/Integral.vue
View file @
00d8eb0f
...
...
@@ -288,7 +288,7 @@
>
<!--
<
image
class
=
"goods-img-bg"
productIdUrl
:
src
=
"$baseUrl + `integral/10
13
/listItemImgBg.png`"
:
src
=
"$baseUrl + `integral/10
08
/listItemImgBg.png`"
mode
=
"aspectFit"
/>
-->
<
view
class
=
"goods-item-container"
@
click
=
"handleGoodsItemClick('xingpin',i)"
>
...
...
@@ -413,11 +413,11 @@
const
integralData
=
ref
({
"tupianBanben"
:
"10
13
"
,
"tupianBanben"
:
"10
08
"
,
"swiper"
:
[
{
"bannerImg"
:
"integralBannerBg0.png"
,
"url"
:
"subPackages/shopMainList/topicNew/index?id=100
1057
"
,
"url"
:
"subPackages/shopMainList/topicNew/index?id=100
0916
"
,
"type"
:
2
,
"extra"
:
{
"appId"
:
"wx4205ec55b793245e"
,
...
...
@@ -594,9 +594,10 @@
}
]
}
,
"vipActive"
:
[{
"vipActive"
:
[
{
"img"
:
"vipAct0.png"
,
"url"
:
"subPackages/shopMainList/topicNew/index?id=100
1057
"
,
"url"
:
"subPackages/shopMainList/topicNew/index?id=100
0911
"
,
"type"
:
2
,
"extra"
:
{
"appId"
:
"wx4205ec55b793245e"
,
...
...
@@ -624,7 +625,7 @@
],
"goodsListData"
:
{
"listCommon"
:
{
"listItemImgBg"
:
"integral/10
13
/listItemImgBg.png"
"listItemImgBg"
:
"integral/10
08
/listItemImgBg.png"
}
,
"tabInfo"
:
{
"tabBg"
:
"tapSelectBg.png"
,
...
...
@@ -1471,6 +1472,7 @@
//banner点击事件
const
bannerHandler
=
(
item
)
=>
{
md
.
sensorLogTake
({
xcxClick
:
"积分服务页-首屏页面点击"
,
pageName
:
"积分服务页-首屏"
,
...
...
@@ -1875,7 +1877,7 @@
height
:
154
rpx
;
// margin-left: 32rpx;
// margin-right: 32rpx;
// background: url('@
{
baseUrl
}
integral
/
10
13
/
vipDetailBg
.
png
') no-repeat center/cover;
// background: url('@
{
baseUrl
}
integral
/
10
08
/
vipDetailBg
.
png
') no-repeat center/cover;
flex-direction: row;
position: relative;
display: flex;
...
...
@@ -1935,7 +1937,7 @@
height: 37rpx;
margin-left: 10rpx;
margin-top: 5rpx;
// background: url('
@{
baseUrl
}
integral
/
10
13
/
tabNowBg
.
png
') no-repeat center/contain;
// background: url('
@{
baseUrl
}
integral
/
10
08
/
tabNowBg
.
png
') no-repeat center/contain;
display: flex;
align-items: center;
justify-content: center;
...
...
@@ -1971,7 +1973,7 @@
// flex: 1;
height: 144rpx;
width: 492rpx;
// background: url('
@{
baseUrl
}
integral
/
10
13
/
inteBarAreaBg
.
png
') no-repeat center/cover;
// background: url('
@{
baseUrl
}
integral
/
10
08
/
inteBarAreaBg
.
png
') no-repeat center/cover;
margin-left: 16rpx;
// padding: 16rpx 24rpx;
.integralClick {
...
...
@@ -2230,8 +2232,8 @@
justify-content: center;
&.active {
//https://duiba.oss-cn-hangzhou.aliyuncs.com/fh/integral/10
13
/tapSelectBg.png
// background-image: url('
@{
baseUrl
}
integral
/
10
13
/
tapSelectBg
.
png
');
//https://duiba.oss-cn-hangzhou.aliyuncs.com/fh/integral/10
08
/tapSelectBg.png
// background-image: url('
@{
baseUrl
}
integral
/
10
08
/
tapSelectBg
.
png
');
background-size: 100% 100%;
.tab-line1 { color: #1d1e25;
}
.tab-line2 { color: #b27c1e;
}
...
...
views/My.vue
View file @
00d8eb0f
...
...
@@ -181,6 +181,28 @@
</view>
</view>
<view
class=
"vip-active-area"
v-if=
"pageCfgStore?.contentCfg?.activeInfo?.length > 0"
>
<text
class=
"vip-title"
>
精彩活动
</text>
<swiper
class=
"vip-active-swiper"
:indicator-dots=
"pageCfgStore?.contentCfg?.activeInfo?.length > 1"
:autoplay=
"true"
:circular=
"true"
indicator-color=
"#dfddd9"
indicator-active-color=
"#b27c1e"
:indicator-top=
"32"
>
<swiper-item
v-for=
"(item, index) in pageCfgStore?.contentCfg?.activeInfo"
:key=
"index"
>
<image
class=
"vip-active-img"
:src=
"item?.img"
mode=
"aspectFit"
@
click=
"handleVipActiveClick(index, item)"
/>
</swiper-item>
</swiper>
</view>
<!-- 协议 -->
<view
class=
"protocol-container"
>
<image
:src=
"$baseUrl + 'my/protocol.png'"
mode=
"aspectFit"
/>
...
...
@@ -444,9 +466,10 @@ onMounted(async () => {
});
showLoading
();
await
userStore
.
loadMemberInfo
();
console
.
log
(
"userStore.memberInfo===="
,
userStore
.
memberInfo
);
await
pageCfgStore
.
fetchCfg
();
console
.
log
(
"pageCfgStore.contentCfg===="
,
pageCfgStore
.
contentCfg
);
initData
();
hideLoading
();
});
...
...
@@ -671,7 +694,7 @@ defineExpose({});
border-radius: 32rpx;
padding: 32rpx 30rpx;
box-sizing: border-box;
margin-top: 1
61
rpx;
margin-top: 1
80
rpx;
.desc-top {
display: flex;
...
...
@@ -766,6 +789,27 @@ defineExpose({});
}
}
.vip-active-area {
margin-left: 28rpx;
margin-top: 60rpx;
.vip-title {
margin-left: 20rpx;
}
.vip-active-swiper {
width: 692rpx;
height: 204rpx;
flex-shrink: 0;
margin-top: 30rpx;
margin-bottom: 100rpx;
.vip-active-img {
width: 100%;
height: 100%;
// border-radius: 16rpx;
}
}
}
.protocol-container {
width: 360rpx;
height: 25rpx;
...
...
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