Commit 2d074ba9 authored by 王炽's avatar 王炽

积分页修改

parent fa2ba651
No preview for this file type
......@@ -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
.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;
}
}
}
}
<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>
.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;
}
}
<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>
{
"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
{
"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
......@@ -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;
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment