Commit 476096fb authored by spc's avatar spc

Merge branch 'dev' of http://gitlab.dui88.com/fh/20250528_FHQ1 into dev

parents e743c4af e995daf7
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
} }
.invite_button { .invite_button {
width: 172rpx; width: 220rpx;
height: 62rpx; height: 62rpx;
background: linear-gradient(to right, #916633 0%, #AB7A44 100%); background: linear-gradient(to right, #916633 0%, #AB7A44 100%);
border-radius: 30rpx; border-radius: 30rpx;
...@@ -92,7 +92,11 @@ ...@@ -92,7 +92,11 @@
} }
&.item-4 { &.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;
}
} }
} }
} }
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
</template> </template>
<script setup> <script setup>
import { defineProps, defineEmits, ref } from 'vue'; import { defineProps, defineEmits, ref, onMounted } from 'vue';
import { useIntegralStore } from '../../stores/integral'; import { useIntegralStore } from '../../stores/integral';
// Props 定义 // Props 定义
...@@ -35,13 +35,20 @@ const emit = defineEmits(['close']); ...@@ -35,13 +35,20 @@ const emit = defineEmits(['close']);
const integralStore = useIntegralStore(); const integralStore = useIntegralStore();
const ruleText = ref(integralStore.signinAndTaskInfo?.checkInTodo?.checkInExtra?.rule); 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">202541日签到规则升级</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 = () => { const handleClose = () => {
emit('close'); emit('close');
}; };
onMounted(() => {
ruleText.value = integralStore.signinAndTaskInfo?.checkInTodo?.checkInExtra?.rule;
console.log('ruleContent=',ruleContent.value);
});
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
</template> </template>
<script setup> <script setup>
import { defineProps, defineEmits, ref, watch, onMounted } from 'vue'; import { defineProps, defineEmits, ref, watch } from 'vue';
// Props 定义 // Props 定义
const props = defineProps({ const props = defineProps({
...@@ -29,34 +29,51 @@ const props = defineProps({ ...@@ -29,34 +29,51 @@ const props = defineProps({
} }
}); });
onMounted(() => {
isAnimating.value = true;
// 动画播放完毕后(1.5秒)关闭弹窗
setTimeout(() => {
isAnimating.value = false;
emit('close');
}, 1500);
});
// Emits 定义 // Emits 定义
const emit = defineEmits(['close']); const emit = defineEmits(['close']);
// 是否正在播放动画 // 是否正在播放动画
const isAnimating = ref(false); 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 = () => { const handleClose = () => {
// 如果正在播放动画,则不重复触发 // 清除定时器
// if (isAnimating.value) return; if (animationTimer) {
clearTimeout(animationTimer);
// // 开始播放动画 animationTimer = null;
// isAnimating.value = true; }
isAnimating.value = false;
// // 动画播放完毕后(1.5秒)关闭弹窗 emit('close');
// setTimeout(() => {
// isAnimating.value = false;
// emit('close');
// }, 1500);
}; };
</script> </script>
......
...@@ -158,6 +158,7 @@ const initPage = async () => { ...@@ -158,6 +158,7 @@ const initPage = async () => {
// 如果有邀请码,调用助力接口 // 如果有邀请码,调用助力接口
if (ivtCode && isLogin.value) { if (ivtCode && isLogin.value) {
await callAssistInvite(ivtCode, uid); await callAssistInvite(ivtCode, uid);
hideLoading();
} }
} }
...@@ -237,11 +238,17 @@ const callAssistInvite = async (ivtCode,unionId) => { ...@@ -237,11 +238,17 @@ const callAssistInvite = async (ivtCode,unionId) => {
const res = await integralStore.assistInvite(ivtCode, unionId); const res = await integralStore.assistInvite(ivtCode, unionId);
if(res.success && res.data.newUser) { if(res.success && res.data.newUser) {
globalStore.invateUseType = 'new'; // globalStore.invateUseType = 'new';
} else { }else{
globalStore.invateUseType = 'old'; showSharePopLogin.value = true;
gotoIntegral();
} }
// if(res.success && res.data.newUser) {
// globalStore.invateUseType = 'new';
// } else {
// globalStore.invateUseType = 'old';
// gotoIntegral();
// }
console.log('助力接口返回:', res); console.log('助力接口返回:', res);
hideLoading(); hideLoading();
} catch (error) { } catch (error) {
......
...@@ -599,7 +599,7 @@ ...@@ -599,7 +599,7 @@
// itemIndex = 4 只修改 signed 状态 // itemIndex = 4 只修改 signed 状态
&.item-4.signed { &.item-4.signed {
background: #030200; background: #E7CCA4;
} }
// 奖励标签样式 // 奖励标签样式
...@@ -721,7 +721,11 @@ ...@@ -721,7 +721,11 @@
// itemIndex = 4 // itemIndex = 4
&.item-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 @@ ...@@ -1192,7 +1196,11 @@
} }
&.item-4 { &.item-4 {
background: linear-gradient(90deg, #000000 0%, #2C1500 100%); background: linear-gradient(90deg, #E7CA9F 0%, #EBD9C9 100%);
.exchange_text {
color: #030200;
}
} }
.exchange_text { .exchange_text {
...@@ -1289,7 +1297,11 @@ ...@@ -1289,7 +1297,11 @@
} }
&.item-4 { &.item-4 {
background: linear-gradient(90deg, #000000 0%, #2C1500 100%); background: linear-gradient(90deg, #E7CA9F 0%, #EBD9C9 100%);
.exchange_text {
color: #030200;
}
} }
.exchange_text { .exchange_text {
......
...@@ -244,7 +244,7 @@ ...@@ -244,7 +244,7 @@
}]"> }]">
<text class="reward_points">+{{ rewardPoints[day - 1] }}</text> <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> <text class="bonus_text">{{ bonusTagText[day - 1] }}</text>
</view> </view>
<!-- 已签到状态:显示白色圆圈内的对勾 --> <!-- 已签到状态:显示白色圆圈内的对勾 -->
...@@ -292,7 +292,7 @@ ...@@ -292,7 +292,7 @@
<!-- 异业券权益区域 --> <!-- 异业券权益区域 -->
<view class="yiyequan_area" v-if="benefitList?.length > 0"> <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}`"> <view class="yiyequan_card" :class="`item-${itemIndex}`">
......
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