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>
|