PortIO/resources/js/views/Sign.vue

83 lines
2.0 KiB
Vue
Raw Normal View History

2023-05-14 15:31:50 +00:00
<template>
<div>
2023-05-16 11:25:37 +00:00
<h3>流量补给</h3>
2023-05-14 15:31:50 +00:00
<div>
<p>当前流量: {{ traffic.traffic }}GB</p>
<div v-if="traffic.is_signed">今日已签到</div>
<div v-else>
2023-07-30 11:15:45 +00:00
<p>完成验证码以签到</p>
<vue-recaptcha
2023-07-30 14:01:13 +00:00
:sitekey="key"
2023-07-30 11:15:45 +00:00
loadRecaptchaScript
recaptchaHost="www.recaptcha.net"
@verify="sign"
/>
2023-05-14 15:31:50 +00:00
</div>
</div>
</div>
</template>
<script setup>
import { ref } from "vue";
2023-07-30 11:15:45 +00:00
import { VueRecaptcha } from 'vue-recaptcha';
2023-05-14 15:31:50 +00:00
import http from "../plugins/http";
2023-07-30 14:01:13 +00:00
const key = window.Base.ReCaptcha
2023-05-14 15:31:50 +00:00
const traffic = ref({
last_sign_at: null,
traffic: 0,
});
http.get("user")
.then((res) => {
traffic.value.traffic = res.data.traffic;
})
2023-07-30 11:15:45 +00:00
function sign(captcha_token) {
http.post("traffic", {
"recaptcha": captcha_token
})
2023-05-14 15:31:50 +00:00
.then((res) => {
traffic.value = res.data;
let content = `获得了 ${res.data.traffic} GB 流量!`;
if (res.data.traffic === 0) {
content = "没有获得流量~";
}
alert(content);
})
.finally(() => {
http.get("user")
.then((res) => {
traffic.value.traffic = res.data.traffic;
})
.finally(() => {
// refreshSign()
});
});
}
// function refreshSign() {
// const date = new Date(traffic.value.last_sign_at)
//
//
// if (traffic.value.last_sign_at) {
// date.setDate(date.getDate() + 1)
// // nextSignAt.value = date.toLocaleString()
// // 算出差多少小时
// const diff = date.getTime() - new Date().getTime()
// const hours = Math.floor(diff / 1000 / 60 / 60)
// const minutes = Math.floor(diff / 1000 / 60 % 60)
// nextSignAt.value = `${hours} 小时 ${minutes} 分钟`
//
// } else {
// nextSignAt.value = null
// }
// }
</script>