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
d177b5a6
Commit
d177b5a6
authored
Aug 27, 2025
by
张九刚
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 我的和积分服务页
parent
fca0ea76
Changes
12
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
344 additions
and
110 deletions
+344
-110
.DS_Store
.DS_Store
+0
-0
babyClass.vue
components/pointRightsCom/babyClass.vue
+17
-3
monthGift.vue
components/pointRightsCom/monthGift.vue
+25
-0
aibenxinrenli.vue
components/quanyi/aibenxinrenli.vue
+13
-0
jinjili.vue
components/quanyi/jinjili.vue
+18
-1
mianfeiwenzhen.vue
components/quanyi/mianfeiwenzhen.vue
+17
-1
suyuanyou.vue
components/quanyi/suyuanyou.vue
+14
-1
zhuanduanli.vue
components/quanyi/zhuanduanli.vue
+18
-1
home.json
mock/home.json
+3
-3
my.json
mock/my.json
+1
-0
Integral.vue
views/Integral.vue
+18
-1
My.vue
views/My.vue
+200
-99
No files found.
.DS_Store
View file @
d177b5a6
No preview for this file type
components/pointRightsCom/babyClass.vue
View file @
d177b5a6
...
@@ -111,9 +111,9 @@
...
@@ -111,9 +111,9 @@
</
template
>
</
template
>
<
script
setup
>
<
script
setup
>
import
{
getCurrentInstance
}
from
'vue'
import
{
getCurrentInstance
,
onMounted
,
computed
}
from
'vue'
import
{
BABY_CLASS_IMAGES
}
from
'./babyClassImages.js'
import
{
BABY_CLASS_IMAGES
}
from
'./babyClassImages.js'
import
{
computed
}
from
'vue
'
import
md
from
'../../md.js
'
// 获取全局属性
// 获取全局属性
const
{
proxy
}
=
getCurrentInstance
()
const
{
proxy
}
=
getCurrentInstance
()
...
@@ -144,7 +144,15 @@ const getColor = () => {
...
@@ -144,7 +144,15 @@ const getColor = () => {
]
]
return
colors
[
props
.
currentLevel
];
return
colors
[
props
.
currentLevel
];
}
}
onMounted
(()
=>
{
md
.
sensorComponentLogTake
({
xcxComponentExposure
:
"true"
,
pageName
:
"积分服务页"
,
componentName
:
"育儿课程"
,
componentContent
:
"育儿课程-查看育儿课程"
});
})
// 等级映射常量
// 等级映射常量
const
LEVEL_MAP
=
{
const
LEVEL_MAP
=
{
...
@@ -165,6 +173,12 @@ const userLevelName = computed(() => LEVEL_MAP[props.userLevel])
...
@@ -165,6 +173,12 @@ const userLevelName = computed(() => LEVEL_MAP[props.userLevel])
const
jump
=
(
level
)
=>
{
const
jump
=
(
level
)
=>
{
console
.
log
(
`跳转到
${
level
}
等级页面`
)
console
.
log
(
`跳转到
${
level
}
等级页面`
)
md
.
sensorComponentLogTake
({
xcxComponentClick
:
"true"
,
pageName
:
"积分服务页"
,
componentName
:
"育儿课程"
,
componentContent
:
"育儿课程-查看育儿课程"
});
// 检查用户等级是否符合要求
// 检查用户等级是否符合要求
// const levelOrder = [0, 1, 2, 3, 4]; // gold, platinum, diamond, starlight, starshine
// const levelOrder = [0, 1, 2, 3, 4]; // gold, platinum, diamond, starlight, starshine
// const userLevelIndex = levelOrder.indexOf(props.userLevel);
// const userLevelIndex = levelOrder.indexOf(props.userLevel);
...
...
components/pointRightsCom/monthGift.vue
View file @
d177b5a6
...
@@ -481,6 +481,7 @@ import { getCurrentInstance, reactive, computed, onMounted, watch, onUnmounted }
...
@@ -481,6 +481,7 @@ import { getCurrentInstance, reactive, computed, onMounted, watch, onUnmounted }
import
{
MONTH_GIFT_IMAGES
}
from
'./monthGiftImages.js'
import
{
MONTH_GIFT_IMAGES
}
from
'./monthGiftImages.js'
import
{
monthlyGiftIndex
,
monthlyGiftDrawOne
,
monthlyGiftDrawAll
}
from
'../../api/monthGift.js'
import
{
monthlyGiftIndex
,
monthlyGiftDrawOne
,
monthlyGiftDrawAll
}
from
'../../api/monthGift.js'
import
{
jump
}
from
'../../utils/index.js'
import
{
jump
}
from
'../../utils/index.js'
import
md
from
'../../md.js'
// import popupJingxuan from '../popup-jingxuan/popup-jingxuan.vue'
// import popupJingxuan from '../popup-jingxuan/popup-jingxuan.vue'
// 获取全局属性
// 获取全局属性
...
@@ -654,6 +655,12 @@ const handleCouponClick = async (level) => {
...
@@ -654,6 +655,12 @@ const handleCouponClick = async (level) => {
}
}
const
handleBuyClick
=
async
(
level
)
=>
{
const
handleBuyClick
=
async
(
level
)
=>
{
md
.
sensorComponentLogTake
({
xcxComponentClick
:
"true"
,
pageName
:
"积分服务页"
,
componentName
:
"月月礼"
,
componentContent
:
"月月礼-"
+
getBuyButtonText
(
currentLevelName
.
value
)
});
console
.
log
(
`Clicked buy for
${
level
}
`
)
console
.
log
(
`Clicked buy for
${
level
}
`
)
// 检查用户等级是否符合领取条件(优先级最高)
// 检查用户等级是否符合领取条件(优先级最高)
...
@@ -755,6 +762,12 @@ const handleBuyClick = async (level) => {
...
@@ -755,6 +762,12 @@ const handleBuyClick = async (level) => {
const
switchTimeSlot
=
(
index
)
=>
{
const
switchTimeSlot
=
(
index
)
=>
{
state
.
selectedTimeSlot
=
index
state
.
selectedTimeSlot
=
index
console
.
log
(
`切换到时间段:
${
state
.
timeSlots
[
index
].
time
}
`
)
console
.
log
(
`切换到时间段:
${
state
.
timeSlots
[
index
].
time
}
`
)
md
.
sensorComponentLogTake
({
xcxComponentExposure
:
"true"
,
pageName
:
"积分服务页"
,
componentName
:
"月月礼"
,
componentContent
:
"月月礼-"
+
state
.
timeSlots
[
state
.
selectedTimeSlot
].
time
+
"-"
+
getBuyButtonText
(
currentLevelName
.
value
)
});
}
}
// 获取精选好券按钮文本
// 获取精选好券按钮文本
...
@@ -974,10 +987,22 @@ onUnmounted(() => {
...
@@ -974,10 +987,22 @@ onUnmounted(() => {
}
}
})
})
const
initExposure
=
()
=>
{
md
.
sensorComponentLogTake
({
xcxComponentExposure
:
"true"
,
pageName
:
"积分服务页"
,
componentName
:
"月月礼"
,
componentContent
:
"月月礼-"
+
state
.
timeSlots
[
state
.
selectedTimeSlot
].
time
+
"-"
+
getBuyButtonText
(
currentLevelName
.
value
)
});
}
// 初始化
// 初始化
onMounted
(
async
()
=>
{
onMounted
(
async
()
=>
{
console
.
log
(
'MonthGift component mounted, current level:'
,
props
.
currentLevel
,
props
.
userLevel
)
console
.
log
(
'MonthGift component mounted, current level:'
,
props
.
currentLevel
,
props
.
userLevel
)
await
fetchMonthlyGiftData
()
await
fetchMonthlyGiftData
()
initExposure
();
})
})
// 调试函数:打印当前状态
// 调试函数:打印当前状态
...
...
components/quanyi/aibenxinrenli.vue
View file @
d177b5a6
...
@@ -47,6 +47,7 @@
...
@@ -47,6 +47,7 @@
<
script
setup
>
<
script
setup
>
import
{
defineProps
,
defineEmits
,
onMounted
}
from
'vue'
import
{
defineProps
,
defineEmits
,
onMounted
}
from
'vue'
import
md
from
'../../md.js'
// 定义组件名称
// 定义组件名称
defineOptions
({
defineOptions
({
...
@@ -105,6 +106,12 @@ const isShowBtn = () => {
...
@@ -105,6 +106,12 @@ const isShowBtn = () => {
}
}
onMounted
(()
=>
{
onMounted
(()
=>
{
md
.
sensorComponentLogTake
({
xcxComponentExposure
:
"true"
,
pageName
:
"积分服务页"
,
componentName
:
"爱本新人礼"
,
componentContent
:
"爱本新人礼-去升级"
});
console
.
log
(
'props.isshowLocksdfsdfsdfsdsf==='
,
props
.
isshowLock
)
console
.
log
(
'props.isshowLocksdfsdfsdfsdsf==='
,
props
.
isshowLock
)
})
})
...
@@ -113,6 +120,12 @@ const emit = defineEmits(['upgrade'])
...
@@ -113,6 +120,12 @@ const emit = defineEmits(['upgrade'])
// 去升级按钮点击
// 去升级按钮点击
const
handleUpgrade
=
()
=>
{
const
handleUpgrade
=
()
=>
{
md
.
sensorComponentLogTake
({
xcxComponentClick
:
"true"
,
pageName
:
"积分服务页"
,
componentName
:
"爱本新人礼"
,
componentContent
:
"爱本新人礼-去升级"
});
emit
(
'upgrade'
,
{
emit
(
'upgrade'
,
{
index
:
props
.
index
index
:
props
.
index
})
})
...
...
components/quanyi/jinjili.vue
View file @
d177b5a6
...
@@ -44,13 +44,24 @@
...
@@ -44,13 +44,24 @@
</
template
>
</
template
>
<
script
setup
>
<
script
setup
>
import
{
defineProps
,
defineEmits
}
from
'vue'
import
{
defineProps
,
defineEmits
,
onMounted
}
from
'vue'
import
md
from
'../../md.js'
// 定义组件名称
// 定义组件名称
defineOptions
({
defineOptions
({
name
:
'jinjili'
name
:
'jinjili'
})
})
onMounted
(()
=>
{
md
.
sensorComponentLogTake
({
xcxComponentExposure
:
"true"
,
pageName
:
"积分服务页"
,
componentName
:
"晋级礼"
,
componentContent
:
"晋级礼-去升级"
});
})
const
getBgName
=
()
=>
{
const
getBgName
=
()
=>
{
if
(
props
.
isshowLock
){
if
(
props
.
isshowLock
){
return
props
.
index
+
""
return
props
.
index
+
""
...
@@ -94,6 +105,12 @@ const emit = defineEmits(['upgrade'])
...
@@ -94,6 +105,12 @@ const emit = defineEmits(['upgrade'])
// 去升级按钮点击
// 去升级按钮点击
const
handleUpgrade
=
()
=>
{
const
handleUpgrade
=
()
=>
{
md
.
sensorComponentLogTake
({
xcxComponentClick
:
"true"
,
pageName
:
"积分服务页"
,
componentName
:
"晋级礼"
,
componentContent
:
"晋级礼-去升级"
});
emit
(
'upgrade'
,
{
emit
(
'upgrade'
,
{
index
:
props
.
index
index
:
props
.
index
})
})
...
...
components/quanyi/mianfeiwenzhen.vue
View file @
d177b5a6
...
@@ -35,7 +35,8 @@
...
@@ -35,7 +35,8 @@
</
template
>
</
template
>
<
script
setup
>
<
script
setup
>
import
{
defineProps
,
defineEmits
}
from
'vue'
import
{
defineProps
,
defineEmits
,
onMounted
}
from
'vue'
import
md
from
'../../md.js'
// 定义组件名称
// 定义组件名称
defineOptions
({
defineOptions
({
...
@@ -50,6 +51,14 @@ const props = defineProps({
...
@@ -50,6 +51,14 @@ const props = defineProps({
}
}
})
})
onMounted
(()
=>
{
md
.
sensorComponentLogTake
({
xcxComponentExposure
:
"true"
,
pageName
:
"积分服务页"
,
componentName
:
"免费问诊"
,
componentContent
:
"免费问诊-立即使用"
});
})
// 定义组件事件
// 定义组件事件
const
emit
=
defineEmits
([
'doctor-click'
,
'use-now'
])
const
emit
=
defineEmits
([
'doctor-click'
,
'use-now'
])
...
@@ -62,9 +71,16 @@ const handleDoctorGridClick = () => {
...
@@ -62,9 +71,16 @@ const handleDoctorGridClick = () => {
// 立即使用按钮点击
// 立即使用按钮点击
const
handleUseNow
=
()
=>
{
const
handleUseNow
=
()
=>
{
md
.
sensorComponentLogTake
({
xcxComponentClick
:
"true"
,
pageName
:
"积分服务页"
,
componentName
:
"免费问诊"
,
componentContent
:
"免费问诊-立即使用"
});
emit
(
'use-now'
,
{
emit
(
'use-now'
,
{
index
:
props
.
index
index
:
props
.
index
})
})
}
}
// 颜色配置
// 颜色配置
...
...
components/quanyi/suyuanyou.vue
View file @
d177b5a6
...
@@ -45,7 +45,7 @@
...
@@ -45,7 +45,7 @@
import
{
defineProps
,
defineEmits
,
ref
,
onMounted
}
from
'vue'
import
{
defineProps
,
defineEmits
,
ref
,
onMounted
}
from
'vue'
import
{
showLoading
,
hideLoading
}
from
'../../utils'
;
import
{
showLoading
,
hideLoading
}
from
'../../utils'
;
import
{
fetchActivityStateJSON
}
from
'../../api/integral'
;
import
{
fetchActivityStateJSON
}
from
'../../api/integral'
;
import
md
from
'../../md.js'
const
handleUpgrade_daikaiqi
=
()
=>
{
const
handleUpgrade_daikaiqi
=
()
=>
{
uni
.
showToast
({
uni
.
showToast
({
title
:
'活动暂未开启'
,
title
:
'活动暂未开启'
,
...
@@ -97,6 +97,12 @@ const emit = defineEmits(['upgrade'])
...
@@ -97,6 +97,12 @@ const emit = defineEmits(['upgrade'])
// 去升级按钮点击
// 去升级按钮点击
const
handleUpgrade
=
()
=>
{
const
handleUpgrade
=
()
=>
{
md
.
sensorComponentLogTake
({
xcxComponentClick
:
"true"
,
pageName
:
"积分服务页"
,
componentName
:
"溯源游"
,
componentContent
:
"溯源游-"
+
(
props
.
isshowLock
?
'去升级'
:
'立即报名'
)
});
emit
(
'upgrade'
,
{
emit
(
'upgrade'
,
{
index
:
props
.
index
index
:
props
.
index
})
})
...
@@ -148,6 +154,13 @@ onMounted(async () => {
...
@@ -148,6 +154,13 @@ onMounted(async () => {
}
}
hideLoading
();
hideLoading
();
md
.
sensorComponentLogTake
({
xcxComponentExposure
:
"true"
,
pageName
:
"积分服务页"
,
componentName
:
"溯源游"
,
componentContent
:
"溯源游-"
+
(
props
.
isshowLock
?
'去升级'
:
'立即报名'
)
});
})
})
</
script
>
</
script
>
...
...
components/quanyi/zhuanduanli.vue
View file @
d177b5a6
...
@@ -46,7 +46,8 @@
...
@@ -46,7 +46,8 @@
</
template
>
</
template
>
<
script
setup
>
<
script
setup
>
import
{
defineProps
,
defineEmits
}
from
'vue'
import
{
defineProps
,
defineEmits
,
onMounted
}
from
'vue'
import
md
from
'../../md.js'
// 定义组件名称
// 定义组件名称
defineOptions
({
defineOptions
({
...
@@ -66,6 +67,16 @@ const props = defineProps({
...
@@ -66,6 +67,16 @@ const props = defineProps({
}
}
})
})
onMounted
(()
=>
{
md
.
sensorComponentLogTake
({
xcxComponentExposure
:
"true"
,
pageName
:
"积分服务页"
,
componentName
:
"转段礼"
,
componentContent
:
"转段礼-去升级"
});
})
const
getBgName
=
()
=>
{
const
getBgName
=
()
=>
{
if
(
props
.
isshowLock
){
if
(
props
.
isshowLock
){
return
props
.
index
+
""
return
props
.
index
+
""
...
@@ -96,6 +107,12 @@ const emit = defineEmits(['upgrade'])
...
@@ -96,6 +107,12 @@ const emit = defineEmits(['upgrade'])
// 去升级按钮点击
// 去升级按钮点击
const
handleUpgrade
=
()
=>
{
const
handleUpgrade
=
()
=>
{
md
.
sensorComponentLogTake
({
xcxComponentClick
:
"true"
,
pageName
:
"积分服务页"
,
componentName
:
"转段礼"
,
componentContent
:
"转段礼-去升级"
});
emit
(
'upgrade'
,
{
emit
(
'upgrade'
,
{
index
:
props
.
index
index
:
props
.
index
})
})
...
...
mock/home.json
View file @
d177b5a6
...
@@ -98,24 +98,23 @@
...
@@ -98,24 +98,23 @@
"swiperList"
:
[
"swiperList"
:
[
{
{
"img"
:
"homepage/homeSwiper/V1/7.jpg"
,
"img"
:
"homepage/homeSwiper/V1/7.jpg"
,
"title"
:
"北纬47°鲜活溯源之旅"
,
"link"
:
{
"link"
:
{
"extra"
:
{},
"extra"
:
{},
"type"
:
1
,
"type"
:
1
,
"url"
:
"/pages/syWebview/syWebview?p=xmh09"
"url"
:
"/pages/syWebview/syWebview?p=xmh09"
},
},
"title"
:
"北纬47°鲜活溯源之旅"
,
"type"
:
1
,
"type"
:
1
,
"url"
:
"homepage/homeSwiper/V1/7.jpg"
"url"
:
"homepage/homeSwiper/V1/7.jpg"
},
},
{
{
"videoUrl"
:
"homepage/homeSwiper/V1/2.m4v"
,
"videoUrl"
:
"homepage/homeSwiper/V1/2.m4v"
,
"title"
:
"成为妈妈更懂妈妈"
,
"link"
:
{},
"link"
:
{},
"title"
:
"成为妈妈更懂妈妈"
,
"url"
:
"homepage/homeSwiper/V1/2.png"
"url"
:
"homepage/homeSwiper/V1/2.png"
},
},
{
{
"img"
:
"homepage/homeSwiper/V1/28会员日.jpg"
,
"img"
:
"homepage/homeSwiper/V1/28会员日.jpg"
,
"title"
:
"28会员日"
,
"link"
:
{
"link"
:
{
"extra"
:
{
"extra"
:
{
"envVersion"
:
"release"
,
"envVersion"
:
"release"
,
...
@@ -124,6 +123,7 @@
...
@@ -124,6 +123,7 @@
"type"
:
2
,
"type"
:
2
,
"url"
:
"/subPackages/shopMainList/topicNew/index?id=1001087"
"url"
:
"/subPackages/shopMainList/topicNew/index?id=1001087"
},
},
"title"
:
"28会员日"
,
"url"
:
"homepage/homeSwiper/V1/28会员日.jpg"
"url"
:
"homepage/homeSwiper/V1/28会员日.jpg"
}
}
],
],
...
...
mock/my.json
View file @
d177b5a6
...
@@ -432,6 +432,7 @@
...
@@ -432,6 +432,7 @@
"appId"
:
"wx4205ec55b793245e"
"appId"
:
"wx4205ec55b793245e"
},
},
"type"
:
1
,
"type"
:
1
,
"title"
:
"北纬47鲜活溯源之旅"
,
"url"
:
"/pages/syWebview/syWebview?p=xmh12"
"url"
:
"/pages/syWebview/syWebview?p=xmh12"
}
}
],
],
...
...
views/Integral.vue
View file @
d177b5a6
...
@@ -1769,8 +1769,20 @@ import ShengriliTipPanel from '../components/quanyi/shengriliTipPanel.vue';
...
@@ -1769,8 +1769,20 @@ import ShengriliTipPanel from '../components/quanyi/shengriliTipPanel.vue';
}
}
hideLoading
();
hideLoading
();
initExposure
();
}
);
}
);
const
initExposure
=
()
=>
{
imgInfos
.
value
.
forEach
((
item
,
index
)
=>
{
md
.
sensorComponentLogTake
({
xcxComponentExposure
:
"true"
,
pageName
:
"积分服务页"
,
componentName
:
"会员权益"
,
componentContent
:
"会员权益-"
+
item
.
name
}
);
}
);
}
const
initNetData
=
()
=>
{
const
initNetData
=
()
=>
{
console
.
log
(
'initNetData'
);
console
.
log
(
'initNetData'
);
...
@@ -2147,7 +2159,12 @@ import ShengriliTipPanel from '../components/quanyi/shengriliTipPanel.vue';
...
@@ -2147,7 +2159,12 @@ import ShengriliTipPanel from '../components/quanyi/shengriliTipPanel.vue';
pageName
:
"积分服务页-首屏"
,
pageName
:
"积分服务页-首屏"
,
buttonName
:
`${item.name
}
`
,
buttonName
:
`${item.name
}
`
,
}
);
}
);
md
.
sensorComponentLogTake
({
xcxComponentClick
:
"true"
,
pageName
:
"积分服务页"
,
componentName
:
"会员权益"
,
componentContent
:
"会员权益-"
+
item
.
name
}
);
console
.
log
(
'selectIdx.value='
,
selectIdx
.
value
);
console
.
log
(
'selectIdx.value='
,
selectIdx
.
value
);
// const url = vipQuanyiUrl.value.url;
// const url = vipQuanyiUrl.value.url;
...
...
views/My.vue
View file @
d177b5a6
This diff is collapsed.
Click to expand it.
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