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
476096fb
Commit
476096fb
authored
Oct 30, 2025
by
spc
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
http://gitlab.dui88.com/fh/20250528_FHQ1
into dev
parents
e743c4af
e995daf7
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
83 additions
and
36 deletions
+83
-36
InviteGift.less
components/integralArea/InviteGift.less
+6
-2
SignRuleDes.vue
components/qiandao/SignRuleDes.vue
+9
-2
SignedTips.vue
components/qiandao/SignedTips.vue
+39
-22
sharepage.vue
pages/invate/sharepage.vue
+11
-4
Integral.less
views/Integral.less
+16
-4
Integral.vue
views/Integral.vue
+2
-2
No files found.
components/integralArea/InviteGift.less
View file @
476096fb
...
...
@@ -57,7 +57,7 @@
}
.invite_button {
width:
172
rpx;
width:
220
rpx;
height: 62rpx;
background: linear-gradient(to right, #916633 0%, #AB7A44 100%);
border-radius: 30rpx;
...
...
@@ -92,7 +92,11 @@
}
&.item-4 {
background: linear-gradient(to right, #000000 0%, #2C1500 100%);
background: linear-gradient(to right, #E7CA9F 0%, #EBD9C9 100%);
.invite_button_text {
color: #030200;
}
}
}
}
...
...
components/qiandao/SignRuleDes.vue
View file @
476096fb
...
...
@@ -19,7 +19,7 @@
</
template
>
<
script
setup
>
import
{
defineProps
,
defineEmits
,
ref
}
from
'vue'
;
import
{
defineProps
,
defineEmits
,
ref
,
onMounted
}
from
'vue'
;
import
{
useIntegralStore
}
from
'../../stores/integral'
;
// Props 定义
...
...
@@ -35,13 +35,20 @@ const emit = defineEmits(['close']);
const
integralStore
=
useIntegralStore
();
const
ruleText
=
ref
(
integralStore
.
signinAndTaskInfo
?.
checkInTodo
?.
checkInExtra
?.
rule
);
// 富文本内容字符串
const
ruleContent
=
ref
(
ruleText
.
value
?
ruleText
.
value
:
'<div class="rule_text">2025年4月1日签到规则升级</div><div class="rule_text">1. 当月连签2天后,单日签到奖励升至2分</div><div class="rule_text">2. 当周满签7天,额外再奖励5分</div><div class="rule_text">3. 断签也有机会补,邀请小伙伴帮你助力</div><div class="rule_text">4. 每月1号连签次数清零</div>'
);
// const ruleContent = ref(ruleText.value ? ruleText.value : '
<
div
class
=
"rule_text"
>
2025
年
4
月
1
日签到规则升级
<
/div><div class="rule_text">1. 当月连签2天后,单日签到奖励升至2分</
div
><
div
class
=
"rule_text"
>
2
.
当周满签
7
天
,
额外再奖励
5
分
<
/div><div class="rule_text">3. 断签也有机会补,邀请小伙伴帮你助力</
div
><
div
class
=
"rule_text"
>
4
.
每月
1
号连签次数清零
<
/div>'
)
;
const
ruleContent
=
ref
(
ruleText
.
value
?
ruleText
.
value
:
''
);
// 关闭弹窗
const
handleClose
=
()
=>
{
emit
(
'close'
);
};
onMounted
(()
=>
{
ruleText
.
value
=
integralStore
.
signinAndTaskInfo
?.
checkInTodo
?.
checkInExtra
?.
rule
;
console
.
log
(
'ruleContent='
,
ruleContent
.
value
);
});
</
script
>
<
style
lang=
"less"
scoped
>
...
...
components/qiandao/SignedTips.vue
View file @
476096fb
...
...
@@ -15,7 +15,7 @@
</
template
>
<
script
setup
>
import
{
defineProps
,
defineEmits
,
ref
,
watch
,
onMounted
}
from
'vue'
;
import
{
defineProps
,
defineEmits
,
ref
,
watch
}
from
'vue'
;
// Props 定义
const
props
=
defineProps
({
...
...
@@ -29,34 +29,51 @@ const props = defineProps({
}
});
onMounted
(()
=>
{
isAnimating
.
value
=
true
;
// 动画播放完毕后(1.5秒)关闭弹窗
setTimeout
(()
=>
{
isAnimating
.
value
=
false
;
emit
(
'close'
);
},
1500
);
});
// Emits 定义
const
emit
=
defineEmits
([
'close'
]);
// 是否正在播放动画
const
isAnimating
=
ref
(
false
);
// 关闭弹窗 - 点击时播放动画,动画结束后关闭
// 动画定时器
let
animationTimer
=
null
;
// 监听 visible 变化,当 visible = true 时自动播放动画
watch
(()
=>
props
.
visible
,
(
newVal
)
=>
{
if
(
newVal
)
{
// 弹窗显示时,开始播放动画
isAnimating
.
value
=
true
;
// 清除之前的定时器(防止重复触发)
if
(
animationTimer
)
{
clearTimeout
(
animationTimer
);
}
// 动画播放完毕后(1.5秒)停止动画并关闭弹窗
animationTimer
=
setTimeout
(()
=>
{
isAnimating
.
value
=
false
;
emit
(
'close'
);
animationTimer
=
null
;
},
1500
);
}
else
{
// 弹窗关闭时,清除定时器并停止动画
if
(
animationTimer
)
{
clearTimeout
(
animationTimer
);
animationTimer
=
null
;
}
isAnimating
.
value
=
false
;
}
});
// 关闭弹窗
const
handleClose
=
()
=>
{
// 如果正在播放动画,则不重复触发
// if (isAnimating.value) return;
// // 开始播放动画
// isAnimating.value = true;
// // 动画播放完毕后(1.5秒)关闭弹窗
// setTimeout(() => {
// isAnimating.value = false;
// emit('close');
// }, 1500);
// 清除定时器
if
(
animationTimer
)
{
clearTimeout
(
animationTimer
);
animationTimer
=
null
;
}
isAnimating
.
value
=
false
;
emit
(
'close'
);
};
</
script
>
...
...
pages/invate/sharepage.vue
View file @
476096fb
...
...
@@ -158,6 +158,7 @@ const initPage = async () => {
// 如果有邀请码,调用助力接口
if
(
ivtCode
&&
isLogin
.
value
)
{
await
callAssistInvite
(
ivtCode
,
uid
);
hideLoading
();
}
}
...
...
@@ -237,11 +238,17 @@ const callAssistInvite = async (ivtCode,unionId) => {
const
res
=
await
integralStore
.
assistInvite
(
ivtCode
,
unionId
);
if
(
res
.
success
&&
res
.
data
.
newUser
)
{
globalStore
.
invateUseType
=
'new'
;
}
else
{
globalStore
.
invateUseType
=
'old'
;
gotoIntegral
();
// globalStore.invateUseType = 'new';
}
else
{
showSharePopLogin
.
value
=
true
;
}
// if(res.success && res.data.newUser) {
// globalStore.invateUseType = 'new';
// } else {
// globalStore.invateUseType = 'old';
// gotoIntegral();
// }
console
.
log
(
'助力接口返回:'
,
res
);
hideLoading
();
}
catch
(
error
)
{
...
...
views/Integral.less
View file @
476096fb
...
...
@@ -599,7 +599,7 @@
// itemIndex = 4 只修改 signed 状态
&.item-4.signed {
background: #
030200
;
background: #
E7CCA4
;
}
// 奖励标签样式
...
...
@@ -721,7 +721,11 @@
// itemIndex = 4
&.item-4 {
background: linear-gradient(to left, #000000 0%, #2C1500 100%);
background: linear-gradient(to left, #E7CA9F 0%, #EBD9C9 100%);
.signin_button_text {
color: #030200;
}
}
}
...
...
@@ -1192,7 +1196,11 @@
}
&.item-4 {
background: linear-gradient(90deg, #000000 0%, #2C1500 100%);
background: linear-gradient(90deg, #E7CA9F 0%, #EBD9C9 100%);
.exchange_text {
color: #030200;
}
}
.exchange_text {
...
...
@@ -1289,7 +1297,11 @@
}
&.item-4 {
background: linear-gradient(90deg, #000000 0%, #2C1500 100%);
background: linear-gradient(90deg, #E7CA9F 0%, #EBD9C9 100%);
.exchange_text {
color: #030200;
}
}
.exchange_text {
...
...
views/Integral.vue
View file @
476096fb
...
...
@@ -244,7 +244,7 @@
}
]
">
<text class="
reward_points
">+{{ rewardPoints[day - 1]
}}
</text>
<!-- 奖励标签,通过变量控制显示 -->
<view class="
bonus_tag
" v-if="
bonusTagStatus
[
day
-
1
]
">
<view class="
bonus_tag
" v-if="
bonusTagStatus
[
day
-
1
]
&&
day
===
7
">
<text class="
bonus_text
">{{ bonusTagText[day - 1]
}}
</text>
</view>
<!-- 已签到状态:显示白色圆圈内的对勾 -->
...
...
@@ -292,7 +292,7 @@
<!-- 异业券权益区域 -->
<view class="
yiyequan_area
" v-if="
benefitList
?.
length
>
0
">
<!-- 主标题 -->
<
text class="
yiyequan_title
" :class="`item-${itemIndex
}
`">异业券权益</text
>
<
!-- <text class="
yiyequan_title
" :class="`item-${itemIndex
}
`">异业券权益</text> --
>
<!-- 权益卡片 -->
<view class="
yiyequan_card
" :class="`item-${itemIndex
}
`">
...
...
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