完善功能

This commit is contained in:
2025-04-10 18:11:03 +08:00
parent b71c2bd071
commit 0bbe30bc7e
9 changed files with 324 additions and 89 deletions

View File

@@ -14,13 +14,13 @@
<div>
<el-card class="box-card-num center-justify" v-for="(item, index) in 2" :key="index">
<el-card class="box-card-num" v-for="(item, index) in 2" :key="index">
<div class="center-justify">
<div class="from-input-item">
<div class="from-input-item-title center-justify">
公会账号
</div>
<el-input :disabled="!(isTk || tkData[index].code == 1)" v-model="tkData[index].account"
<el-input :disabled="!(isTk && tkData[index].code == 0)" v-model="tkData[index].account"
style="height: 50px;" placeholder="请输入登录账号" clearable />
</div>
@@ -28,18 +28,18 @@
<div class="from-input-item-title center-justify">
公会密码
</div>
<el-input :disabled="!(isTk || tkData[index].code == 1)" v-model="tkData[index].password"
<el-input :disabled="!(isTk && tkData[index].code == 0)" v-model="tkData[index].password"
style="height: 50px;" type="password" placeholder="请输入登录密码" show-password />
</div>
<el-button class="open-login" style="margin-left: 60px;"
:disabled="!(isTk || tkData[index].code == 1)" type="primary"
:disabled="!(isTk && tkData[index].code == 0)" type="primary"
@click="loginTK(index)">登录tk</el-button>
<div v-if="tkData[index].code == 0" class="loginState" style="background-color: red;"></div>
<div v-else class="loginState" style="background-color: green;"></div>
<div v-if="tkData[index].code == 0" class="loginState"></div>
<div v-if="tkData[index].code == 1" class="loginState" style="background-color: green;"></div>
</div>
<div class="todayCount">今日已查询次数{{ tkData[index].num }}</div>
</el-card>
</div>
@@ -51,7 +51,7 @@
<template #header>
<div class="card-header">
<span class="center-justify"><img src="@/assets/worklogo.png">工作台 </span>
<div>当前网络:{{ countryData }}
<div style="margin-right: 120px;">当前网络:{{ countryData }}
<!-- <el-button class="reset-button" @click="reset">重置数据</el-button> -->
</div>
</div>
@@ -116,11 +116,12 @@
import { ref, onMounted } from 'vue';
// import { useIPCountry } from '@/utils/useIPCountry';
import { usePythonBridge, } from '@/utils/pythonBridge'
import { setNumData, getNumData, getUser } from '@/utils/storage'
import { setNumData, getNumData, getUser, setTkUser, getTkUser } from '@/utils/storage'
import { ElMessage, ElMessageBox } from 'element-plus'
import { getCountryName } from '@/utils/countryUtil'
import { tkaccountuseinfo } from '@/api/account'
//导入python交互方法
const { fetchDataConfig, fetchDataCount, loginBackStage, loginTikTok } = usePythonBridge();
const { fetchDataConfig, fetchDataCount, loginBackStage, loginTikTok, backStageloginStatus, backStageloginStatusCopy } = usePythonBridge();
//ip国家
let countryData = ref('');
@@ -137,6 +138,10 @@ let hostData = ref({
//是否开启tk
let isTk = ref(false);
//设置状态轮询定时器
let statusTimer = ref(null);
let statusTimerCopy = ref(null);
//tk账号信息
let tkData = ref([
@@ -145,12 +150,15 @@ let tkData = ref([
password: '',
index: 1,
code: 0,
num: 0
},
{
account: '',
password: '',
index: 2,
code: 0,
num: 0
},
]);
@@ -176,7 +184,18 @@ onMounted(() => {
if (getNumData()) {
pyData.value = getNumData();
}
if (getTkUser()) {
tkData.value = getTkUser();
tkData.value[0].code = 0;
tkData.value[1].code = 0;
}
tkData.value[0].num = tkaccountuse(tkData.value[0].account)
tkData.value[1].num = tkaccountuse(tkData.value[1].account)
getIpInfo()
//查询次数查询
})
@@ -277,18 +296,23 @@ const reset = () => {
const loginTK = (index) => {
loginBackStage(JSON.stringify({
setTkUser(tkData.value)
loginBackStage({
account: tkData.value[index].account,
password: tkData.value[index].password,
index: index
})).then((res) => {
// let data = JSON.parse(res);
// if (data.code == 1) {
// tkData.value[data.index].code = 1;
// }
}).catch((err) => {
})
if (index == 0) {
statusTimer = setInterval(() => {
getloginStatus();
}, 2000)
} else if (index == 1) {
statusTimerCopy = setInterval(() => {
getloginStatusCopy();
}, 2000)
}
}
const openTK = () => {
@@ -297,9 +321,38 @@ const openTK = () => {
loginTikTok();
}
function jszhuru() {
isTk.value = true;
tkData[index].code = 1;
function getloginStatus() {
backStageloginStatus().then((res) => {
const data = JSON.parse(res);
tkData.value[data.index].code = data.code
if (data.code == 1) {
clearInterval(statusTimer);
statusTimer = null;
}
})
}
function getloginStatusCopy() {
backStageloginStatusCopy().then((res) => {
const data = JSON.parse(res);
tkData.value[data.index].code = data.code
if (data.code == 1) {
clearInterval(statusTimer);
statusTimer = null;
}
})
}
function tkaccountuse(id) {
let num = 0;
tkaccountuseinfo({ userId: id }).then((res) => {
num = res
console.log(num)
})
return num
}
</script>
@@ -346,15 +399,20 @@ function jszhuru() {
}
.box-card-num {
width: 897px;
height: 145px;
background: #FFFFFF;
box-shadow: 0px 0px 21px 0px rgba(183, 183, 183, 0.33);
border-radius: 24px;
margin-bottom: 30px;
padding-top: 18px;
box-sizing: border-box;
.todayCount {
padding: 15px 21px;
font-size: 14px;
}
}
.from-input-item {
@@ -382,7 +440,7 @@ function jszhuru() {
width: 15px;
height: 15px;
border-radius: 50%;
background-color: red;
background-color: #b90000;
margin-left: 15px;
}
@@ -424,6 +482,7 @@ label {
height: 47px;
background: #E7CA92;
border-radius: 10px;
border: none;
}
.reset-button {