|
@@ -72,17 +72,20 @@ export default {
|
|
|
return {
|
|
|
userInfo: {},
|
|
|
dailyBonus: 2800,
|
|
|
- dailyCoins: 10,
|
|
|
- lastSignDate: null
|
|
|
+ dailyCoins: 10
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
|
hasSignedToday() {
|
|
|
- // 如果没有最后签到日期,说明还没签到过
|
|
|
- if (!this.lastSignDate) return false;
|
|
|
-
|
|
|
- const today = new Date().toLocaleDateString();
|
|
|
- return today === this.lastSignDate;
|
|
|
+ if (!this.userInfo.sign_times) return false;
|
|
|
+ // 假设 sign_times 是秒级时间戳
|
|
|
+ const signDate = new Date(this.userInfo.sign_times * 1000);
|
|
|
+ const today = new Date();
|
|
|
+ return (
|
|
|
+ signDate.getFullYear() === today.getFullYear() &&
|
|
|
+ signDate.getMonth() === today.getMonth() &&
|
|
|
+ signDate.getDate() === today.getDate()
|
|
|
+ );
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
@@ -90,29 +93,19 @@ export default {
|
|
|
try {
|
|
|
const res = await getUserInfo();
|
|
|
this.userInfo = res.data;
|
|
|
- // 获取本地存储的最后签到日期
|
|
|
- this.lastSignDate = localStorage.getItem('lastSignDate');
|
|
|
} catch (error) {
|
|
|
console.error('获取用户信息失败:', error);
|
|
|
}
|
|
|
},
|
|
|
async handleSignIn() {
|
|
|
- // 如果今天已经签到,就不再调用接口
|
|
|
if (this.hasSignedToday) {
|
|
|
alert('今日已签到,请明天再来');
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
try {
|
|
|
await signIn();
|
|
|
- // 保存签到日期到本地存储
|
|
|
- const today = new Date().toLocaleDateString();
|
|
|
- localStorage.setItem('lastSignDate', today);
|
|
|
- this.lastSignDate = today;
|
|
|
-
|
|
|
alert('签到成功');
|
|
|
- // 刷新用户信息以更新签到天数
|
|
|
- await this.getUserInfo();
|
|
|
+ await this.getUserInfo(); // 签到后刷新状态
|
|
|
} catch (error) {
|
|
|
console.error('签到失败:', error);
|
|
|
alert('签到失败,请重试');
|