修复获取验证码及错误码跳转处理

This commit is contained in:
junleea 2024-06-14 11:15:51 +08:00
parent 595a4feb26
commit 3ad4f9c04e
4 changed files with 49 additions and 54 deletions

View File

@ -11,15 +11,16 @@ request.interceptors.response.use(
if(result.status!==200 ){ if(result.status!==200 ){
router.push("/login") router.push("/login")
} }
if(result.data.message==="NOT_LOGIN" || result.data.message.includes("The Token has expired on") || result.data.code ===3 ||result.data.code ===4){ if(result.data.message==="NOT_LOGIN"||result.data.code==2 || result.data.code ===3 ||result.data.code ===4){
alert("登录失效,请重新登录!")
localStorage.removeItem("token"); localStorage.removeItem("token");
router.push("/login") router.push("/login")
return
} }
if(result.data.code===0){ if(result.data.code == 1){
return result.data; alert("请求失败,请稍后重试!");
}else{ }else{
alert(result.data.message ? result.data.message : "请求失败,请稍后重试!"); return result.data
router.push("/login");
} }
}, },
error => { error => {

View File

@ -35,14 +35,14 @@ export default {
} }
let data = result.data; let data = result.data;
// for(let d in data){ // for(let d in data){
// let res = JSON.parse(d); // let res = JSON.parse(d);
// console.log("res=",res); // console.log("res=",res);
// this.tableData.push(res); // this.tableData.push(res);
// } // }
// console.log(this.tableData); // console.log(this.tableData);
this.tableData=data; this.tableData = data;
}, },
onSubmit() { onSubmit() {
getDeviceList({ token: token }); getDeviceList({ token: token });
@ -138,22 +138,18 @@ export default {
<template> <template>
<div> <div>
<el-menu <el-button
default-active="2" type="primary"
class="el-menu-vertical-demo" size="mini"
background-color="#545c64" @click.prevent="handleMenuSelect('/videoList')"
text-color="#fff" >视频列表</el-button
active-text-color="#ffd04b" >
mode="vertical" <el-button
@select="handleMenuSelect" type="primary"
> size="mini"
<el-menu-item index="/videoList"> @click.prevent="handleMenuSelect('/device')"
<template>视频列表</template> >设备管理</el-button
</el-menu-item> >
<el-menu-item index="/device">
<template>设备管理</template>
</el-menu-item>
</el-menu>
<el-container style="height: 700px; border: 1px solid #eee"> <el-container style="height: 700px; border: 1px solid #eee">
<el-header style="font-size: 40px; background-color: rgb(238, 241, 246)" <el-header style="font-size: 40px; background-color: rgb(238, 241, 246)"
>监控设备列表</el-header >监控设备列表</el-header
@ -163,13 +159,20 @@ export default {
<!-- 表单 --> <!-- 表单 -->
<el-form :inline="true" :model="tokenData" class="demo-form-inline"> <el-form :inline="true" :model="tokenData" class="demo-form-inline">
<el-form-item> <el-form-item>
<el-button class="el-button--danger" type="primary" @click="getDeviceList()">查询</el-button> <el-button
class="el-button--danger"
type="primary"
@click="getDeviceList()"
>查询</el-button
>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="logout()">退出登录</el-button> <el-button type="primary" @click="logout()">退出登录</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="toVideoList()">返回监控视频</el-button> <el-button type="primary" @click="toVideoList()"
>返回监控视频</el-button
>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="restartAllDevice('all')" <el-button type="primary" @click="restartAllDevice('all')"

View File

@ -170,7 +170,7 @@ const startInterval = () => {
// //
return; return;
} }
intervalId.value = setInterval(getQRStatus, 1000); intervalId.value = setInterval(getQRStatus, 2000);
}; };
// //
@ -240,7 +240,7 @@ const generateQRCode = () => {
const getUUID = async () => { const getUUID = async () => {
try { try {
const response = await getUUIDService({ device: "windows" }); const response = await getUUIDService({ device: "windows" ,"address": localStorage.getItem("address"),"ip": localStorage.getItem("ip")});
uuid = response.data.toString(); uuid = response.data.toString();
let uid = uuid.toString(); let uid = uuid.toString();
//await creatQrCode(uid); //await creatQrCode(uid);
@ -273,10 +273,11 @@ const getQRStatus = async () => {
const getIpClient = async () => { const getIpClient = async () => {
try { try {
const response = await axios.get("https://ipinfo.io/json"); const response = await axios.get("https://ip.zxinc.org/api.php?type=json");
loginData.value.ip = response.data.ip; loginData.value.ip = response.data.data.myip;
localStorage.setItem("ip", response.data.ip); localStorage.setItem("ip", response.data.data.myip);
localStorage.setItem("city", response.data.city); localStorage.setItem("city", response.data.data.country);
localStorage.setItem("address", response.data.data.location);
// console.log("ip:",response.data.ip); // console.log("ip:",response.data.ip);
// console.log("login ip:",loginData.ip); // console.log("login ip:",loginData.ip);
// console.log(response.data); // console.log(response.data);
@ -287,7 +288,7 @@ const getIpClient = async () => {
}; };
const init = async () => { const init = async () => {
getIpClient(); getIpClient();
getUUID(); await getUUID();
}; };
const register = async () => { const register = async () => {
let result = registerService(registerData.value); let result = registerService(registerData.value);

View File

@ -210,22 +210,12 @@ export default {
<template> <template>
<div> <div>
<el-menu <el-button type="primary" size="mini" @click.prevent="handleMenuSelect('/videoList')"
default-active="2" >视频列表</el-button
class="el-menu-vertical-demo" >
background-color="#545c64" <el-button type="primary" size="mini" @click.prevent="handleMenuSelect('/device')"
text-color="#fff" >设备管理</el-button
active-text-color="#ffd04b" >
mode="vertical"
@select="handleMenuSelect"
>
<el-menu-item index="/videoList">
<template>视频列表</template>
</el-menu-item>
<el-menu-item index="/device">
<template>设备管理</template>
</el-menu-item>
</el-menu>
<el-container style="height: 700px; border: 1px solid #eee"> <el-container style="height: 700px; border: 1px solid #eee">
<el-header style="font-size: 40px; background-color: rgb(238, 241, 246)" <el-header style="font-size: 40px; background-color: rgb(238, 241, 246)"
>监控视频列表</el-header >监控视频列表</el-header