From 86de762a663d5f7b324846ebe7594fec7fddf913 Mon Sep 17 00:00:00 2001
From: junleea <354425203@qq.com>
Date: Wed, 8 May 2024 19:58:21 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0device=E6=9F=A5=E7=9C=8B?=
=?UTF-8?q?=E9=A1=B5=E9=9D=A2=EF=BC=8C=E6=B7=BB=E5=8A=A0=E6=9F=A5=E8=AF=A2?=
=?UTF-8?q?=E5=8F=8A=E9=87=8D=E5=90=AF=E8=AE=BE=E5=A4=87=E4=B8=A4=E4=B8=AA?=
=?UTF-8?q?=E5=8A=9F=E8=83=BD=EF=BC=8C=E6=B7=BB=E5=8A=A0device.js=E8=BF=9B?=
=?UTF-8?q?=E8=A1=8C=E8=AF=B7=E6=B1=82=E7=9A=84=E5=A4=84=E7=90=86=EF=BC=8C?=
=?UTF-8?q?=E5=9C=A8request=E6=B7=BB=E5=8A=A0=E6=9C=AC=E5=9C=B0=E8=B0=83?=
=?UTF-8?q?=E8=AF=95url?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
index.html | 2 +-
public/favicon.ico | Bin 4286 -> 15406 bytes
src/api/device.js | 40 +++++++
src/router/index.js | 6 ++
src/utils/request.js | 1 +
src/views/DeviceList.vue | 228 +++++++++++++++++++++++++++++++++++++++
src/views/Login.vue | 2 +
src/views/VideoList.vue | 42 +++++++-
8 files changed, 318 insertions(+), 3 deletions(-)
create mode 100644 src/api/device.js
create mode 100644 src/views/DeviceList.vue
diff --git a/index.html b/index.html
index 99f583a..5935a10 100644
--- a/index.html
+++ b/index.html
@@ -4,7 +4,7 @@
-
Vite App
+ VP
diff --git a/public/favicon.ico b/public/favicon.ico
index df36fcfb72584e00488330b560ebcf34a41c64c2..1c835255096b42ff3ec3f6afcb47e9c8a7f05c37 100644
GIT binary patch
literal 15406
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
F{sY2)&|v@o
literal 4286
zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj
zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56
zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy
zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei
z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX
zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm
zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp=
zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8
zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO
z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3
z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD
zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6
z={Xwx{T%b6i9IjI)Ls)S{-*mq<@~R{?$}ZKjf;^k75i_}(2MXt}^SEBVg7AI@28
zo_uPg2V)_e-`2Ois=PYoe%9u*n9({PFR)OnHJPi{dNx>KxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S
diff --git a/src/api/device.js b/src/api/device.js
new file mode 100644
index 0000000..d6cd7a6
--- /dev/null
+++ b/src/api/device.js
@@ -0,0 +1,40 @@
+import request from '@/utils/request.js'
+
+export const restartDeviceService = (data) => {
+ const params = new URLSearchParams();
+ for (let key in data) {
+ params.append(key, data[key])
+ }
+ return request.post('/camera/restart', params, Headers = {Authorization: data.Authorization });
+}
+
+export const updateDeviceService = (data) => {
+ const params = new URLSearchParams();
+ for (let key in data) {
+ params.append(key, data[key])
+ }
+ return request.post('/device/update', params, Headers = {Authorization: data.Authorization });
+}
+
+export const addDeviceService = (data) => {
+ const params = new URLSearchParams();
+ for (let key in data) {
+ params.append(key, data[key])
+ }
+ return request.post('/device/add', params, Headers = {Authorization: data.Authorization });
+}
+
+export const getDeviceListService = (data) => {
+ const params = new URLSearchParams();
+ for(let d in data) {
+ params.append(d, data[d]);
+ }
+ // request.headers["Content-Type"] = "application/json";
+ request.defaults.headers["token"] = data.token.value;
+ return request.post('/camera/list', params, {
+ headers: {
+ 'token': data.token, // 将 token 替换为您的令牌值
+ }
+ }
+ );
+}
\ No newline at end of file
diff --git a/src/router/index.js b/src/router/index.js
index aeb904a..461ae51 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -3,6 +3,7 @@ import {createWebHistory, createRouter} from "vue-router";
import LoginVue from "@/views/Login.vue";
import VideoVue from "@/views/Video.vue";
import VideoListVue from "@/views/VideoList.vue";
+import DeviceListVue from "@/views/DeviceList.vue";
const routes = [
{
@@ -20,6 +21,11 @@ const routes = [
name: 'VideoList',
component: VideoListVue
},
+ {
+ path: '/device',
+ name: 'Device',
+ component: DeviceListVue
+ },
{
path: '/',
redirect: '/login'
diff --git a/src/utils/request.js b/src/utils/request.js
index 5249918..3774c35 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -1,6 +1,7 @@
import axios from "axios";
import router from "@/router/index.js";
const baseURL = "https://jp.ljsea.top/";
+//const baseURL= "http://localhost:8082";
const request = axios.create({
baseURL: baseURL,
});
diff --git a/src/views/DeviceList.vue b/src/views/DeviceList.vue
new file mode 100644
index 0000000..409f49c
--- /dev/null
+++ b/src/views/DeviceList.vue
@@ -0,0 +1,228 @@
+
+
+
+
+
+ 监控设备列表
+
+
+
+
+
+ 查询
+
+
+ 退出登录
+
+
+ 返回监控视频
+
+
+ 重启全部设备
+
+
+
+
+
+ :row-style="this.tableRowClassName"
+
+
+
+
+
+
+
+
+
+ 重启
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/Login.vue b/src/views/Login.vue
index 65a74e5..35e8ad6 100644
--- a/src/views/Login.vue
+++ b/src/views/Login.vue
@@ -169,6 +169,8 @@ const getIpClient= async() => {
try {
const response = await axios.get("https://ipinfo.io/json");
loginData.value.ip =response.data.ip;
+ localStorage.setItem("ip", response.data.ip);
+ localStorage.setItem("city", response.data.city);
// console.log("ip:",response.data.ip);
// console.log("login ip:",loginData.ip);
// console.log(response.data);
diff --git a/src/views/VideoList.vue b/src/views/VideoList.vue
index d55531f..948ba17 100644
--- a/src/views/VideoList.vue
+++ b/src/views/VideoList.vue
@@ -55,6 +55,11 @@ export default {
console.log("file_size", this.file_sum_size, "len=", len);
this.tableData = data;
},
+ logout(){
+ //退出登录
+ localStorage.clear();
+ router.push("/login");
+ },
onSubmit() {
getVideoList({ token: token });
},
@@ -120,9 +125,31 @@ export default {
},
async delayVideo(index) {
var id = this.tableData[index].id;
- var days = 10;
+ var days = 15;
var delay_data = {
id: id,
+ option:"one",
+ ip:this.ip,
+ delay: days,
+ userId: this.tokenData.userId,
+ token: this.tokenData.token,
+ };
+ try {
+ var d_re = await delayVideoService(delay_data);
+ if (d_re.code == 0) {
+ alert("延迟成功");
+ } else {
+ alert("操作失败");
+ }
+ } catch (e) {
+ console.log(e);
+ }
+ },
+ async delayAllVideo() {
+ var days = 15;
+ var delay_data = {
+ id: -1,
+ option:"all",
ip:this.ip,
delay: days,
userId: this.tokenData.userId,
@@ -149,7 +176,9 @@ export default {
console.error(error);
}
},
-
+ toDeviceM(){
+ router.push("/device");
+ },
// 修改条纹颜色
tableRowClassName({ row, rowIndex }) {
if (row.human === 1) {
@@ -228,6 +257,15 @@ export default {
查询
+
+ 退出登录
+
+
+ 全部延迟删除
+
+
+ 设备信息
+