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
2d074ba9
Commit
2d074ba9
authored
Oct 08, 2025
by
王炽
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
积分页修改
parent
fa2ba651
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
1244 additions
and
34 deletions
+1244
-34
.DS_Store
.DS_Store
+0
-0
integral.js
api/integral.js
+4
-1
SignRuleDes.less
components/qiandao/SignRuleDes.less
+82
-0
SignRuleDes.vue
components/qiandao/SignRuleDes.vue
+47
-0
SignedTips.less
components/qiandao/SignedTips.less
+65
-0
SignedTips.vue
components/qiandao/SignedTips.vue
+41
-0
bannerDataIntegral.json
mock/bannerDataIntegral.json
+23
-0
jifenGoodsData.json
mock/jifenGoodsData.json
+547
-0
Integral.vue
views/Integral.vue
+435
-33
No files found.
.DS_Store
View file @
2d074ba9
No preview for this file type
api/integral.js
View file @
2d074ba9
...
...
@@ -26,4 +26,7 @@ export const fetchBatchReceiveJSON = () => api.post('/c/equity/birthdayGift/batc
* 获取活动状态--溯源游
* @returns
*/
export
const
fetchActivityStateJSON
=
()
=>
api
.
get
(
'/c/third/activity/state'
);
\ No newline at end of file
export
const
fetchActivityStateJSON
=
()
=>
api
.
get
(
'/c/third/activity/state'
);
//获取配置项和商品列表
export
const
getResourceList
=
()
=>
api
.
get
(
'c/resource/list'
);
\ No newline at end of file
components/qiandao/SignRuleDes.less
0 → 100644
View file @
2d074ba9
.sign_rule_overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.8);
display: flex;
align-items: center;
justify-content: center;
z-index: 9999;
.sign_rule_container {
background: linear-gradient(to bottom, #FFE9C5, #FFFFFF);
border-radius: 38rpx;
// padding: 40rpx 30rpx;
// margin: 0 40rpx;
width: 546rpx;
height: 338rpx;
box-shadow: 0 8rpx 32rpx rgba(0, 0, 0, 0.2);
position: relative;
.rule_content {
display: flex;
flex-direction: column;
align-items: center;
.rule_title {
font-size: 36rpx;
font-weight: bold;
color: #D3A458;
margin-bottom: 20rpx;
text-align: center;
margin-bottom: 36rpx;
margin-top: 36rpx;
}
.rule_list {
width: 100%;
margin-left: 108rpx;
.rule_date {
font-size: 26rpx;
color: #54390D;
width: 100%;
display: block;
}
.rule_text {
font-size: 26rpx;
color: #54390D;
// line-height: 1.5;
display: block;
// margin-bottom: 20rpx;
}
}
}
.close_button {
position: absolute;
bottom: -80rpx;
left: 50%;
transform: translateX(-50%);
width: 56rpx;
height: 56rpx;
background:rgba(255, 255, 255, 0.5);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.2);
z-index: 2;
.close_icon {
font-size: 36rpx;
color: #333333;
font-weight: bold;
line-height: 1;
}
}
}
}
components/qiandao/SignRuleDes.vue
0 → 100644
View file @
2d074ba9
<
template
>
<view
class=
"sign_rule_overlay"
v-if=
"visible"
>
<view
class=
"sign_rule_container"
@
click
.
stop
>
<!-- 弹窗内容 -->
<view
class=
"rule_content"
>
<text
class=
"rule_title"
>
任务规则
</text>
<view
class=
"rule_list"
>
<text
class=
"rule_date"
>
2025年4月1日签到规则升级
</text>
<text
class=
"rule_text"
>
1. 当月连签2天后,单日签到奖励升至2分
</text>
<text
class=
"rule_text"
>
2. 当周满签7天,额外再奖励5分
</text>
<text
class=
"rule_text"
>
3. 断签也有机会补,邀请小伙伴帮你助力
</text>
<text
class=
"rule_text"
>
4. 每月1号连签次数清零
</text>
</view>
</view>
<!-- 关闭按钮 -->
<view
class=
"close_button"
@
click=
"handleClose"
>
<text
class=
"close_icon"
>
×
</text>
</view>
</view>
</view>
</
template
>
<
script
setup
>
import
{
defineProps
,
defineEmits
}
from
'vue'
;
// Props 定义
const
props
=
defineProps
({
visible
:
{
type
:
Boolean
,
default
:
false
}
});
// Emits 定义
const
emit
=
defineEmits
([
'close'
]);
// 关闭弹窗
const
handleClose
=
()
=>
{
emit
(
'close'
);
};
</
script
>
<
style
lang=
"less"
scoped
>
@import '@/components/qiandao/SignRuleDes.less';
</
style
>
components/qiandao/SignedTips.less
0 → 100644
View file @
2d074ba9
.signed_tips_overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
z-index: 9999;
.background_container {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0);
&::after {
content: '';
position: absolute;
bottom: 42rpx;
right: 26rpx;
width: 136rpx;
height: 136rpx;
background: transparent;
border-radius: 20rpx;
box-shadow: 0 0 0 9999rpx rgba(0, 0, 0, 0.8);
mix-blend-mode: multiply;
}
}
.signed_tips_container {
display: flex;
flex-direction: column;
align-items: center;
height: 150rpx;
width: 100%;
z-index: 1;
position: absolute;
bottom: 1030rpx;
.tips_title {
width: 260rpx;
height: 68rpx;
margin-bottom: 20rpx;
}
.points_text {
font-size: 28rpx;
color: #D3A458;
font-weight: bold;
}
}
.signedbg_icon {
position: absolute;
bottom: 140rpx;
right: -70rpx;
width: 750rpx;
height: 880rpx;
z-index: 2;
}
}
components/qiandao/SignedTips.vue
0 → 100644
View file @
2d074ba9
<
template
>
<view
class=
"signed_tips_overlay"
v-if=
"visible"
@
click=
"handleClose"
>
<!-- 背景容器,右下角镂空透明圆角矩形 -->
<view
class=
"background_container"
></view>
<view
class=
"signed_tips_container"
>
<!--
<text
class=
"tips_title"
>
签到成功!
</text>
-->
<image
class=
"tips_title"
:src=
"$baseUrl + `integral/1023/signedTitle.png`"
mode=
"aspectFit"
/>
<text
class=
"points_text"
>
获得
{{
points
}}
积分
</text>
</view>
<image
class=
"signedbg_icon"
:src=
"$baseUrl + `integral/1023/signedBgIcon.png`"
mode=
"aspectFit"
/>
</view>
</
template
>
<
script
setup
>
import
{
defineProps
,
defineEmits
}
from
'vue'
;
// Props 定义
const
props
=
defineProps
({
visible
:
{
type
:
Boolean
,
default
:
false
},
points
:
{
type
:
Number
,
default
:
0
}
});
// Emits 定义
const
emit
=
defineEmits
([
'close'
]);
// 关闭弹窗
const
handleClose
=
()
=>
{
emit
(
'close'
);
};
</
script
>
<
style
lang=
"less"
scoped
>
@import '@/components/qiandao/SignedTips.less';
</
style
>
mock/bannerDataIntegral.json
0 → 100644
View file @
2d074ba9
{
"success"
:
true
,
"msg"
:
"irure"
,
"code"
:
"ut elit"
,
"data"
:
[
{
"resourcePositionType"
:
"vip活动"
,
"resourcePositionName"
:
"积分-vip活动-资源位名称"
,
"resourcePositionCode"
:
"1"
,
"contentType"
:
"1"
,
"contentConfig"
:
"{
\"
link
\"
:{
\"
type
\"
:
\"
MINI_APP_THIRD
\"
,
\"
value
\"
:
\"
wx4205ec55b793245e
\"
,
\"
label
\"
:
\"
黄糯玉米
\"
,
\"
url
\"
:
\"
/subPackages/shopMainProcess/product/index?productId=543558664688883066&skuId=543560605494007100
\"
,
\"
skuId
\"
:
\"\"
},
\"
imageUrl
\"
:
\"
https://course.feihe.com/momclub-picture/integral/1022/vipAct250910001.png
\"
}"
,
"resourcePositionGoods"
:
null
},
{
"resourcePositionType"
:
"vip活动"
,
"resourcePositionName"
:
"积分-vip活动-资源位名称"
,
"resourcePositionCode"
:
"2"
,
"contentType"
:
"2"
,
"contentConfig"
:
"{
\"
link
\"
:{
\"
type
\"
:
\"
MINI_APP_THIRD
\"
,
\"
value
\"
:
\"
wx4205ec55b793245e
\"
,
\"
label
\"
:
\"
黄糯玉米
\"
,
\"
url
\"
:
\"
/subPackages/shopMainProcess/lottery/index?utm_campaign=%E6%BA%AF%E6%BA%90%E6%8A%BD%E5%A5%96&_channel_track_key=ngSppZAj
\"
,
\"
skuId
\"
:
\"\"
},
\"
imageUrl
\"
:
\"
https://course.feihe.com/momclub-picture/integral/1022/vipAct2.png
\"
}"
,
"resourcePositionGoods"
:
null
}
]
}
\ No newline at end of file
mock/jifenGoodsData.json
0 → 100644
View file @
2d074ba9
{
"success"
:
true
,
"msg"
:
"irure"
,
"code"
:
"ut elit"
,
"data"
:
[
{
"resourcePositionType"
:
"vip活动"
,
"resourcePositionName"
:
"星品榜单"
,
"resourcePositionCode"
:
"1"
,
"contentType"
:
"1"
,
"contentConfig"
:
""
,
"resourcePositionGoods"
:
[
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"22222星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"750"
,
"priceMarket"
:
"250"
,
"priceSale"
:
"115"
,
"price"
:
"80"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
},
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"2星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"750"
,
"priceMarket"
:
"250"
,
"priceSale"
:
"115"
,
"price"
:
"80"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
},
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"3星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"750"
,
"priceMarket"
:
"250"
,
"priceSale"
:
"115"
,
"price"
:
"80"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
},
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"4星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"750"
,
"priceMarket"
:
"250"
,
"priceSale"
:
"115"
,
"price"
:
"80"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
},
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"5星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"750"
,
"priceMarket"
:
"250"
,
"priceSale"
:
"115"
,
"price"
:
"80"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
},
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"6星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"750"
,
"priceMarket"
:
"250"
,
"priceSale"
:
"115"
,
"price"
:
"80"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
},
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"7星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"750"
,
"priceMarket"
:
"250"
,
"priceSale"
:
"115"
,
"price"
:
"80"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
},
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"8星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"750"
,
"priceMarket"
:
"250"
,
"priceSale"
:
"115"
,
"price"
:
"80"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
},
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"9星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"750"
,
"priceMarket"
:
"250"
,
"priceSale"
:
"115"
,
"price"
:
"80"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
}
]
},
{
"resourcePositionType"
:
"vip活动"
,
"resourcePositionName"
:
"0元爆款"
,
"resourcePositionCode"
:
"2"
,
"contentType"
:
"2"
,
"contentConfig"
:
""
,
"resourcePositionGoods"
:
[
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"111星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"750"
,
"priceMarket"
:
"250"
,
"priceSale"
:
0
,
"price"
:
0
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
},
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"2星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
0
,
"priceMarket"
:
"250"
,
"priceSale"
:
"115"
,
"price"
:
"80"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
},
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"3星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"750"
,
"priceMarket"
:
"250"
,
"priceSale"
:
"0"
,
"price"
:
"80"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
},
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"4星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"750"
,
"priceMarket"
:
"250"
,
"priceSale"
:
"115"
,
"price"
:
"0"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
},
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"5星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"0"
,
"priceMarket"
:
"250"
,
"priceSale"
:
"115"
,
"price"
:
"80"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
},
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"6星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"750"
,
"priceMarket"
:
"250"
,
"priceSale"
:
"115"
,
"price"
:
"80"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
},
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"7星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"750"
,
"priceMarket"
:
"250"
,
"priceSale"
:
"115"
,
"price"
:
"80"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
},
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"8星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"750"
,
"priceMarket"
:
"250"
,
"priceSale"
:
"115"
,
"price"
:
"80"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
},
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"9星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"750"
,
"priceMarket"
:
"250"
,
"priceSale"
:
"115"
,
"price"
:
"80"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
}
]
},
{
"resourcePositionType"
:
"vip活动"
,
"resourcePositionName"
:
"北纬专场"
,
"resourcePositionCode"
:
"3"
,
"contentType"
:
"3"
,
"contentConfig"
:
""
,
"resourcePositionGoods"
:
[
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"750"
,
"priceMarket"
:
"250"
,
"priceSale"
:
"115"
,
"price"
:
"80"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
},
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"2星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"750"
,
"priceMarket"
:
"250"
,
"priceSale"
:
"115"
,
"price"
:
"80"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
},
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"3星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"750"
,
"priceMarket"
:
"250"
,
"priceSale"
:
"115"
,
"price"
:
"80"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
},
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"4星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"750"
,
"priceMarket"
:
"250"
,
"priceSale"
:
"115"
,
"price"
:
"80"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
},
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"5星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"750"
,
"priceMarket"
:
"250"
,
"priceSale"
:
"115"
,
"price"
:
"80"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
},
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"6星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"750"
,
"priceMarket"
:
"250"
,
"priceSale"
:
"115"
,
"price"
:
"80"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
},
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"7星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"750"
,
"priceMarket"
:
"250"
,
"priceSale"
:
"115"
,
"price"
:
"80"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
},
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"8星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"750"
,
"priceMarket"
:
"250"
,
"priceSale"
:
"115"
,
"price"
:
"80"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
},
{
"resourcePositionCode"
:
"mollit"
,
"identifier"
:
"in nulla veniam voluptate anim"
,
"source"
:
"third"
,
"goodsName"
:
"9星飞帆4段儿童成长配..."
,
"appGoodsId"
:
"in ad"
,
"goodsLogo"
:
"exercitation"
,
"goodsIcon"
:
"https://course.feihe.com/momclub-picture/integral/1022/listItemImgJx0.png"
,
"credits"
:
"750"
,
"priceMarket"
:
"250"
,
"priceSale"
:
"115"
,
"price"
:
"80"
,
"goodsType"
:
"aliqua in"
,
"sort"
:
"1"
,
"urlType"
:
"2"
,
"url"
:
"subPackages/shopMainProcess/product/index?productId=632366292935447153&skuId=632366292935447154&entrySource=xmh_wechatmp_points_star"
,
"wxAppId"
:
"wx4205ec55b793245e"
,
"envVersion"
:
"release"
}
]
}
]
}
\ No newline at end of file
views/Integral.vue
View file @
2d074ba9
...
...
@@ -423,6 +423,49 @@
/>
</view>
<!-- 7天连续签到奖励容器 -->
<view class="
signin_reward_container
">
<!-- 标题区域 -->
<view class="
signin_title_area
">
<text class="
signin_main_title
">连签7天,奖励翻5倍</text>
<view class="
help_icon
" @click="
handleHelpClick
">
<text class="
help_text
">?</text>
</view>
<text class="
signin_sub_title
">再连续签4天,获得5倍积分</text>
</view>
<!-- 奖励展示区域 -->
<view class="
reward_display_area
">
<!-- 第1-7天奖励 -->
<view class="
daily_reward_item
" v-for="
day
in
7
" :key="
day
">
<!-- 奖励内容容器 -->
<view class="
reward_content_container
" :class="
{
signed
:
signinStatus
[
day
-
1
]
}
">
<text class="
reward_points
">{{ day === 7 ? '+100' : '+20'
}}
</text>
<!-- 奖励标签,通过变量控制显示 -->
<view class="
bonus_tag
" v-if="
bonusTagStatus
[
day
-
1
]
">
<text class="
bonus_text
">{{ bonusTagText[day - 1]
}}
</text>
</view>
<!-- 已签到状态:显示白色圆圈内的对勾 -->
<view class="
reward_status
signed
" v-if="
signinStatus
[
day
-
1
]
">
<view class="
check_circle
">
<text class="
check_mark
">✓</text>
</view>
</view>
<!-- 未签到状态:显示金币图标 -->
<image class="
reward_coin
" v-else :src="
$baseUrl
+
`integral/1023/signIcon.png`" mode="
aspectFit
" />
</view>
<text class="
day_label
">第{{day
}}
天</text>
</view>
</view>
<!-- 签到按钮 -->
<view class="
signin_button
" @click="
handleSigninClick
">
<text class="
signin_button_text
">立即签到</text>
</view>
</view>
<!-- 会员活动 -->
<view class="
vip
-
active
-
area
">
<text class="
vip
-
title
" :style="
{
color
:
itemIndex
===
4
?
'#fff0df'
:
'#1d1e25'
}
">会员活动</text>
...
...
@@ -438,7 +481,7 @@
<swiper-item v-for="
(
item
,
index
)
in
vipActive
" :key="
index
">
<image
class="
vip
-
active
-
img
"
:src=
"
$baseUrl
+
`integral/${tupianBanben
}
/${item?.img
}
`"
:src=
item?.img
mode="
aspectFit
"
@click="
handleVipActiveClick
(
index
,
item
)
"
/>
...
...
@@ -451,7 +494,7 @@
<!-- 页签栏 -->
<view class="
custom
-
tabs
">
<view
v-for="
(
tab
,
index
)
in
tabInfo
?.
tabTexts
"
v-for="
(
tab
,
index
)
in
goodsDataArr
"
:key="
index
"
class="
tab
-
item
"
:class="
{
...
...
@@ -460,15 +503,46 @@
}
"
@click="
tabItemClick
(
index
)
"
>
<text class="
tab
-
line1
">{{ tab?.
line1
}}
</text>
<text class="
tab
-
line1
">{{ tab?.
resourcePositionName
}}
</text>
<!-- <text class="
tab
-
line2
">{{ tab?.line2
}}
</text> -->
<view class="
select
-
line
" v-if="
activeIndex
===
index
"></view>
</view>
</view>
<view class="
goods
-
content
" v-for="
(
goodItemList
,
index
)
in
goodsDataArr
" :key="
index
">
<view
class="
goods
-
list
"
v-if="
activeIndex
===
index
"
>
<view
class="
goods
-
item
"
v-for="
(
goodItem
,
i
)
in
goodItemList
?.
resourcePositionGoods
"
:key="
i
"
:style="
{
background
:
`url(${$baseUrl
}
integral/1022/listItemImgBg${itemIndex
}
.png) no-repeat center/contain`
}
"
>
<view class="
goods
-
item
-
container
" @click="
handleGoodsItemClick
(
goodItem
,
i
)
">
<image
class="
goods
-
img
"
:src=goodItem?.goodsIcon
mode="
aspectFit
"
/>
<view class="
title
-
container1
">
<text class="
title
-
text1
">{{ goodItem?.goodsName
}}
</text>
</view>
<text v-if="
Number
(
goodItem
?.
priceSale
)
&&
Number
(
goodItem
?.
credits
)
" class="
num0
">低至{{ goodItem?.credits
}}
<text class="
price
-
text0
">积分</text><text class="
price
-
text1
">+</text><text class="
price
-
text0
">¥</text>{{ goodItem?.priceSale
}}
</text>
<text v-else-if="
Number
(
goodItem
?.
priceSale
)
" class="
price
-
text
"><text class="
num
">¥{{ goodItem?.priceSale
}}
</text></text>
<text v-else-if="
Number
(
goodItem
?.
credits
)
" class="
price
-
text
"><text class="
num
">{{ goodItem?.credits
}}
</text>积分</text>
</view>
</view>
</view>
</view>
<!-- 商品内容 -->
<view class="
goods
-
content
">
<!-- 精选榜单 -->
<!-- <view class="
goods
-
content
">
<view
class="
goods
-
list
"
v-if="
activeIndex
===
0
"
...
...
@@ -482,11 +556,6 @@
background
:
`url(${$baseUrl
}
integral/1022/listItemImgBg${itemIndex
}
.png) no-repeat center/contain`
}
"
>
<!-- <image
class="
goods
-
img
-
bg
"productIdUrl
:src="
$baseUrl
+
`integral/1008/listItemImgBg.png`"
mode="
aspectFit
"
/> -->
<view class="
goods
-
item
-
container
" @click="
handleGoodsItemClick
(
'xingpin'
,
i
)
">
<image
class="
goods
-
img
"
...
...
@@ -502,7 +571,6 @@
</view>
</view>
<!-- 品质专区 -->
<view
class="
goods
-
list
"
v-if="
activeIndex
===
1
"
...
...
@@ -530,7 +598,6 @@
</view>
</view>
<!-- 限量推荐 -->
<view
class="
goods
-
list
"
v-if="
activeIndex
===
2
"
...
...
@@ -558,7 +625,7 @@
</view>
</view>
</view>
</view>
-->
</view>
<!-- 查看更多容器 -->
...
...
@@ -604,6 +671,19 @@
@close="
showShengriliTipPanel
=
false
"
@add="
gotoAddBaby
"
/>
<!-- 签到提示弹窗 -->
<SignedTips
:visible="
showSignedTips
"
:points="
earnedPoints
"
@close="
handleCloseSignedTips
"
/>
<!-- 签到规则说明弹窗 -->
<SignRuleDes
:visible="
showSignRuleDes
"
@close="
handleCloseSignRuleDes
"
/>
</view>
</template>
...
...
@@ -633,9 +713,13 @@
import popupShengri from '../components/popup-shengri/popup-shengri.vue';
import { getHealthField
}
from "
@
/api/
common
";
import MonthGift from '../components/pointRightsCom/monthGift.vue';
import YearGift from '../components/pointRightsCom/yearGift.vue';
import ShengriliTipPanel from '../components/quanyi/shengriliTipPanel.vue';
import MonthGift from '../components/pointRightsCom/monthGift.vue';
import YearGift from '../components/pointRightsCom/yearGift.vue';
import ShengriliTipPanel from '../components/quanyi/shengriliTipPanel.vue';
import SignedTips from '../components/qiandao/SignedTips.vue';
import SignRuleDes from '../components/qiandao/SignRuleDes.vue';
import bannerDataIntegral from '../mock/bannerDataIntegral.json';
import jifenGoodsData from '../mock/jifenGoodsData.json';
// 进度条图片加载错误处理
const onProgressBarError = (e) => {
...
...
@@ -1387,6 +1471,7 @@ import ShengriliTipPanel from '../components/quanyi/shengriliTipPanel.vue';
}
}
);
const
goodsDataArr
=
ref
([]);
//商品数据,包括tab内容
// const integralData = ref(
{
}
);
const
showShengriliTipPanel
=
ref
(
false
);
const
quanyitiaozhuanInfo
=
ref
({
}
);
...
...
@@ -1402,7 +1487,7 @@ import ShengriliTipPanel from '../components/quanyi/shengriliTipPanel.vue';
const
upLvTxts
=
ref
(
integralData
.
value
?.
viplv
?.
upLvTxts
);
//会员等级提升文字
const
vipIntegral
=
ref
(
integralData
.
value
?.
vipIntegral
);
//积分明细\
const
clickMore
=
ref
(
integralData
.
value
?.
clickMore
);
//点击更多
const
vipActive
=
ref
(
integralData
.
value
?.
vipActive
);
//会员活动
const
vipActive
=
ref
(
{
}
);
//会员活动
const
tabInfo
=
ref
(
integralData
.
value
?.
goodsListData
?.
tabInfo
);
//tabbar信息
const
listCommon
=
ref
(
integralData
.
value
?.
goodsListData
?.
listCommon
);
//商品列表通用信息
const
goodsData
=
ref
(
integralData
.
value
?.
goodsListData
?.
goodsData
);
//商品数据
...
...
@@ -1476,6 +1561,22 @@ import ShengriliTipPanel from '../components/quanyi/shengriliTipPanel.vue';
const
showPopupShengri
=
ref
(
false
);
// 签到状态数组,控制每天是否已签到
const
signinStatus
=
ref
([
true
,
false
,
false
,
false
,
false
,
false
,
false
]);
// 示例:第1天已签到,其他未签到
// 奖励标签显示状态数组,控制每天是否显示奖励标签
const
bonusTagStatus
=
ref
([
false
,
false
,
false
,
false
,
false
,
false
,
true
]);
// 示例:只有第7天显示标签
// 奖励标签文本数组,控制每天标签的文本内容
const
bonusTagText
=
ref
([
''
,
''
,
''
,
''
,
''
,
''
,
'5倍'
]);
// 示例:第7天显示"5倍"
// 签到提示弹窗相关
const
showSignedTips
=
ref
(
false
);
const
earnedPoints
=
ref
(
0
);
// 签到规则说明弹窗相关
const
showSignRuleDes
=
ref
(
false
);
// Props 定义
const
props
=
defineProps
({
scrollTop
:
{
...
...
@@ -1733,6 +1834,34 @@ import ShengriliTipPanel from '../components/quanyi/shengriliTipPanel.vue';
componentContent
:
"查看升级攻略"
}
);
// let bannerData = await getResourceList(
{
page
:
'points_benefit'
,
resourcePositionType
:
'banner'
}
);
let
bannerData
=
bannerDataIntegral
;
if
(
bannerData
.
success
){
vipActive
.
value
=
[];
bannerData
.
data
.
forEach
(
item
=>
{
console
.
log
(
'item.contentConfig=='
,
item
.
contentConfig
);
const
data
=
JSON
.
parse
(
item
.
contentConfig
);
vipActive
.
value
.
push
({
"img"
:
data
.
imageUrl
,
"url"
:
data
.
link
.
url
,
"type"
:
data
.
link
.
type
,
"extra"
:
{
"appId"
:
data
.
link
.
value
,
"envVersion"
:
"release"
}
}
);
}
);
}
// let goodsData1 = await getResourceList(
{
page
:
'points_benefit'
,
resourcePositionType
:
'exchange'
}
);
let
goodsDataJson
=
jifenGoodsData
;
if
(
goodsDataJson
.
success
){
console
.
log
(
'goodsData1.data=='
,
goodsDataJson
.
data
);
goodsDataArr
.
value
=
goodsDataJson
.
data
;
}
const
{
data
}
=
await
fetchIntegralJSON
();
integralData
.
value
=
{...
data
}
;
...
...
@@ -1742,7 +1871,7 @@ import ShengriliTipPanel from '../components/quanyi/shengriliTipPanel.vue';
vipLvNameImgs
.
value
=
integralData
.
value
?.
viplv
?.
vipNameImgs
;
vipIntegral
.
value
=
integralData
.
value
?.
vipIntegral
;
clickMore
.
value
=
integralData
.
value
?.
clickMore
;
vipActive
.
value
=
integralData
.
value
?.
vipActive
;
//
vipActive.value = integralData.value?.vipActive;
tabInfo
.
value
=
integralData
.
value
?.
goodsListData
?.
tabInfo
;
listCommon
.
value
=
integralData
.
value
?.
goodsListData
?.
listCommon
;
goodsData
.
value
=
integralData
.
value
?.
goodsListData
?.
goodsData
;
...
...
@@ -2080,6 +2209,18 @@ import ShengriliTipPanel from '../components/quanyi/shengriliTipPanel.vue';
case
2
:
buttonName
=
'第三张焦点图'
;
break
;
case
3
:
buttonName
=
'第三张焦点图'
;
break
;
case
4
:
buttonName
=
'第三张焦点图'
;
break
;
case
5
:
buttonName
=
'第三张焦点图'
;
break
;
case
6
:
buttonName
=
'第三张焦点图'
;
break
;
}
md
.
sensorLogTake
({
...
...
@@ -2092,17 +2233,37 @@ import ShengriliTipPanel from '../components/quanyi/shengriliTipPanel.vue';
const
type
=
item
?.
type
;
const
extra
=
item
?.
extra
;
jump
({
type
:
type
,
url
:
url
,
extra
:
extra
}
)
jump
(
convertType
(
type
,
url
,
extra
));
}
//转换跳转类型
const
convertType
=
(
type
,
url
,
extra
=
{
}
)
=>
{
switch
(
type
){
case
"MINI_APP_THIRD"
:
return
{
type
:
JumpType
.
MINI
,
url
:
url
,
extra
:
extra
}
;
case
"MINI_APP"
:
return
{
type
:
JumpType
.
INNER
,
url
:
url
}
;
case
"LINK"
:
return
{
type
:
JumpType
.
H5
,
url
:
url
}
;
}
}
//商品点击
const
handleGoodsItemClick
=
(
arridx
,
googidx
)
=>
{
console
.
log
(
'handleGoodsItemClick:'
,
arridx
,
googidx
);
const
handleGoodsItemClick
=
(
goodsItem
,
googidx
)
=>
{
console
.
log
(
'handleGoodsItemClick:'
,
goodsItem
,
googidx
);
let
buttonName0
=
''
;
let
buttonName1
=
''
;
...
...
@@ -2125,17 +2286,23 @@ import ShengriliTipPanel from '../components/quanyi/shengriliTipPanel.vue';
buttonName
:
buttonName0
+
buttonName1
,
}
);
let
item
=
productIdUrl
.
value
[
arridx
][
googidx
-
1
];
const
url
=
item
.
url
.
replace
(
'{productId
}
'
,
item
.
productId
).
replace
(
'{skuId
}
'
,
item
.
skuId
);
const
type
=
item
.
type
;
const
extra
=
item
.
extra
;
//
let item = productIdUrl.value[arridx][googidx-1];
//
const url = item.url.replace('
{
productId
}
',item.productId).replace('
{
skuId
}
',item.skuId);
//
const type = item.type;
//
const extra = item.extra;
extra
.
embedded
=
true
;
//半屏拉起小程序
const url = goodsItem.url;
const type = goodsItem.urlType;
const extra = {
"appId": goodsItem.wxAppId,
"envVersion": goodsItem.envVersion
}
;
console
.
log
(
'url11111='
,
url
);
extra.embedded = true; //半屏拉起小程序
jump({
type
:
type
,
type:
Number(type)
,
url: url,
extra:extra
}
)
...
...
@@ -2495,6 +2662,55 @@ import ShengriliTipPanel from '../components/quanyi/shengriliTipPanel.vue';
//
}
}
// 帮助图标点击事件
const handleHelpClick = () => {
console.log('
帮助图标点击
');
showSignRuleDes.value = true;
}
// 签到按钮点击事件
const handleSigninClick = () => {
console.log('
签到按钮点击
');
// 埋点统计
md.sensorLogTake({
xcxClick: "积分服务页-签到奖励页面点击",
pageName: "积分服务页-签到奖励",
buttonName: "立即签到",
}
);
// 找到下一个未签到的天数
const nextUnsignedDay = signinStatus.value.findIndex(status => !status);
if (nextUnsignedDay !== -1) {
// 标记该天为已签到
signinStatus.value[nextUnsignedDay] = true;
// 设置获得的积分数
earnedPoints.value = nextUnsignedDay === 6 ? 100 : 20; // 第7天100积分,其他天20积分
// 显示签到提示弹窗
showSignedTips.value = true;
}
else {
// 所有天都已签到
uni.showToast({
title: "本周已全部签到完成!",
icon: "success",
duration: 2000
}
);
}
}
// 关闭签到提示弹窗
const handleCloseSignedTips = () => {
showSignedTips.value = false;
}
// 关闭签到规则说明弹窗
const handleCloseSignRuleDes = () => {
showSignRuleDes.value = false;
}
// 手动显示注册层(用于测试)
...
...
@@ -2970,6 +3186,7 @@ import ShengriliTipPanel from '../components/quanyi/shengriliTipPanel.vue';
font-size: 24rpx;
.highlight {
font-weight: bold;
}
}
...
...
@@ -3087,6 +3304,187 @@ import ShengriliTipPanel from '../components/quanyi/shengriliTipPanel.vue';
}
}
// 7天连续签到奖励容器样式
.signin_reward_container {
width: 686rpx;
height: 418rpx;
background: rgba(255, 255, 255, 0.3);
border-radius: 30rpx;
margin-top: 30rpx;
box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.08); // 更柔和的阴影
// 标题区域
.signin_title_area {
display: flex;
align-items: center;
margin-top: 30rpx;
// margin-bottom: 40rpx;
flex-wrap: wrap;
.signin_main_title {
font-size: 32rpx;
font-weight: bold;
color: #383838; // 主标题字体颜色
margin-left: 30rpx; // 左边距30rpx
margin-right: 10rpx;
}
.help_icon {
width: 24rpx;
height: 24rpx;
border: 2rpx solid #9EA1A5; // 空心圆圈边框
border-radius: 50%;
display: flex;
align-items: center;
// justify-content: center;
margin-right: 10rpx;
.help_text {
font-size: 16rpx;
color: #9EA1A5; // 深灰色问号
font-weight: bold;
width: 22rpx;
// line-height: 1;
display: flex;
align-items: center;
justify-content: center;
}
}
.signin_sub_title {
font-size: 24rpx;
color: #909090; // 副标题字体颜色
line-height: 1.4;
}
}
// 奖励展示区域
.reward_display_area {
display: flex;
justify-content: space-between;
margin-top: 30rpx;
flex-wrap: wrap;
width: 626rpx;
margin-left: 30rpx;
.daily_reward_item {
display: flex;
flex-direction: column;
align-items: center;
position: relative;
width: 80rpx;
// 奖励内容容器
.reward_content_container {
width: 76rpx;
height: 112rpx;
background: #ffffff; // 默认白色背景
border-radius: 16rpx;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
position: relative;
margin-bottom: 10rpx;
&.signed {
background: #D3A458; // 已签到状态的金色背景
}
// 奖励标签样式
.bonus_tag {
position: absolute;
top: -15rpx;
right: -30rpx;
background: #e74c3c; // 红色标签,更接近截图中的红色
border-radius: 16rpx 16rpx 16rpx 4rpx;
// padding: 4rpx 8rpx;
width: 54rpx;
height: 30rpx;
z-index: 2;
.bonus_text {
position: absolute;
// left: 50%;
// transform: translateX(-50%);
width: 100%;
height: 100%;
text-align: center;
line-height: 28rpx;
font-size: 20rpx;
color: #ffffff;
font-weight: bold;
}
}
.reward_points {
font-size: 24rpx;
font-weight: bold;
color: #000000; // 默认黑色(未签到状态)
margin-bottom: 8rpx;
}
&.signed .reward_points {
color: #ffffff; // 已签到状态为白色
}
.reward_coin {
width: 50rpx;
height: 50rpx;
}
// 已签到状态样式
.reward_status {
&.signed {
.check_circle {
width: 40rpx;
height: 40rpx;
background: #ffffff;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
.check_mark {
font-size: 24rpx;
color: #000000;
font-weight: bold;
}
}
}
}
}
.day_label {
font-size: 20rpx;
color: #666666; // 深灰色天数标签
}
}
}
// 签到按钮
.signin_button {
width: 384rpx;
height: 86rpx;
// background: linear-gradient(135deg, #d4a468 0%, #b27c1e 50%, #9d7a3a 100%); // 更丰富的金色渐变
background: #D3A458;
border-radius: 60rpx;
display: flex;
align-items: center;
margin-left: 151rpx;
justify-content: center;
box-shadow: 0 4rpx 15rpx rgba(178, 124, 30, 0.4); // 更明显的金色阴影
margin-top: 46rpx;
.signin_button_text {
font-size: 32rpx;
color: #ffffff;
font-weight: bold;
}
}
}
.vip-active-area {
width: 686rpx;
...
...
@@ -3224,9 +3622,13 @@ import ShengriliTipPanel from '../components/quanyi/shengriliTipPanel.vue';
margin-top: -48rpx;
.title-text1 {
position: relative;
width:
100%
;
width:
294rpx
;
font-size: 28rpx;
color: #1d1e25;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: block;
}
}
...
...
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