提交代码

dev_caq
姜玉琦 2025-06-15 18:42:09 +08:00
parent 04cd3a67b0
commit b7c6c7d705
26 changed files with 854 additions and 1410 deletions

View File

@ -1,10 +1,10 @@
# 页面标题
VUE_APP_TITLE = 产发工程数字管理平台
VUE_APP_TITLE = 长安区数字工程监管系统
# 开发环境配置
ENV = 'development'
# 产发工程数字管理平台/开发环境
# 长安区数字工程监管系统/开发环境
VUE_APP_BASE_API = '/jhapi'
# 路由懒加载

View File

@ -1,8 +1,8 @@
# 页面标题
VUE_APP_TITLE = 产发工程数字管理平台
VUE_APP_TITLE = 长安区数字工程监管系统
# 生产环境配置
ENV = 'production'
# 产发工程数字管理平台/生产环境
# 长安区数字工程监管系统/生产环境
VUE_APP_BASE_API = '/jhapi'

View File

@ -1,10 +1,10 @@
# 页面标题
VUE_APP_TITLE = 产发工程数字管理平台
VUE_APP_TITLE = 长安区数字工程监管系统
NODE_ENV = production
# 测试环境配置
ENV = 'staging'
# 产发工程数字管理平台/测试环境
# 长安区数字工程监管系统/测试环境
VUE_APP_BASE_API = '/stage-api'

View File

@ -79,13 +79,11 @@ table{
.head-title-select{
padding-top: 23px;
width: 12% ;
position: relative;
}
.head-title-date{
padding-top: 15px;
width: 15% ;
padding-top: 30px;
width: 290px;
display: flex;
align-items: center;
}
.head-nav{
width: 105px;
@ -130,19 +128,32 @@ table{
.head-select input::-webkit-input-placeholder{
color: #6ca5b1;
}
.header-screen-ul{
.title-select1 .header-screen-ul{
list-style: none;
width: 90%;
width: 128px;
position: absolute;
max-height: 600px;
border: 1px solid #05556b;
left: 5%;
background: #00092a;
overflow: auto;
color: #02a6ff;
border-radius: 3px;
z-index: 99999;
}
.title-select3 .header-screen-ul{
list-style: none;
width: 182px;
position: absolute;
max-height: 600px;
border: 1px solid #05556b;
background: #00092a;
overflow: auto;
color: #02a6ff;
border-radius: 3px;
z-index: 99999;
}
.header-screen-ul::-webkit-scrollbar {
width: 10px;
height: 1px;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico?v=2">
<title>产发工程数字管理平台-大屏</title>
<title>长安区数字工程监管系统-大屏</title>
<link rel="stylesheet" href="/cdn/element-ui/lib/theme-chalk/index.css">
<link rel="stylesheet" href="css/largeScreenLayout.css?v=20240415">
<link rel="stylesheet" href="css/largeScreenStyle.css?v=20240415">
@ -62,30 +62,5 @@
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
<div class="is-test" style="display:none;position: fixed;
border: solid 10px red;
width: calc(100% - 20px);
height:calc(100% - 20px);
top: 0px;
left: 0px;" id="divTest">
<div style="font-size: 40px;
position: absolute;
right: 10px;
color: red;
">这是测试环境</div>
<div><a class="link-prod" style="position: absolute;top:50px;font-size: 40px;right:10px;" href="https://szgc.jhncidg.com/">访问生产环境</a></div>
</div>
<script>
setTimeout(()=>{
if(location.href.indexOf("szgc.jhncidg.com")==-1 && location.href.indexOf("localhost")==-1){
document.getElementById("divTest").style.display="block";
}
},400);
setTimeout(()=>{
document.getElementById("divTest").remove();
},60*1000);
</script>
</body>
</html>

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<script src="./Cesium/BIMGISEngine_5.20.js"></script>
<title>产发工程数字管理平台</title>
<title>长安区数字工程监管系统</title>
<style>
html,
body,

View File

@ -0,0 +1,40 @@
import request from "@/utils/request";
// 查询配电箱点位列表
const findProAllConfigPoint = (proId) => {
return request({
url: `/device/iotConfigPoint/findProAllConfigPoint/${proId}`,
method: "get",
});
};
// 查询配电箱点位详情
const findConfigPointInfo = (id) => {
return request({
url: `/device/iotConfigPoint/${id}`,
method: "get",
});
};
// 查询配电箱数据统计
const findIotDatasMonitor = (proId,pointId,date) => {
return request({
url: `/device/iotDatas/findIotDatasMonitor/${proId}?pointId=${pointId}&date=${date}`,
method: "get",
});
};
// 查询配电箱预警数据
const findIotWarnings = (proId,pointId) => {
return request({
url: `/device/iotWarning/findIotWarnings/${proId}?pointId=${pointId}`,
method: "get",
});
};
export default {
findProAllConfigPoint,
findConfigPointInfo,
findIotDatasMonitor,
findIotWarnings
};

View File

@ -1,16 +1,16 @@
import request from '@/utils/request'
// 查询塔基配置列表
const findTowerConfigGroupOnline=(deptId, projectId)=> {
const findTowerConfigGroupOnline=(projectId)=> {
return request({
url: `bgscreen/tower/findTowerConfigGroupOnline?deptId=${deptId||0}&projectId=${projectId||0}`,
url: `bgscreen/tower/findTowerConfigGroupOnline?projectId=${projectId||0}`,
method: 'get'
})
}
// 查询塔基配置列表
const findTowerConfigListByProjectId=(deptId, projectId)=> {
const findTowerConfigListByProjectId=(projectId)=> {
return request({
url: `bgscreen/tower/findTowerConfigListByProjectId?deptId=${deptId||0}&projectId=${projectId||0}`,
url: `bgscreen/tower/findTowerConfigListByProjectId?projectId=${projectId||0}`,
method: 'get'
})
}
@ -26,7 +26,7 @@ const findTowerStatisticsView=(deviceSn)=> {
// 查询塔基限位数据
const selectDevTowerDataLimitList=(deviceSn)=> {
return request({
url: `bgscreen/tower/selectDevTowerDataLimitList?deviceKey=${deviceSn}&pageNum=1&pageSize=10`,
url: `bgscreen/tower/selectDevTowerDataLimitList?deviceKey=${deviceSn}`,
method: 'get'
})
}
@ -34,15 +34,25 @@ const selectDevTowerDataLimitList=(deviceSn)=> {
// 查询塔基实时数据
const selectDevTowerDataRunList=(deviceSn)=> {
return request({
url: `bgscreen/tower/selectDevTowerDataRunList?deviceKey=${deviceSn}&pageNum=1&pageSize=10&warnings=Y`,
url: `bgscreen/tower/selectDevTowerDataRunList?deviceKey=${deviceSn}`,
method: 'get'
})
}
// 查询塔基预警数据
const findDevTowerDataWarningDatas = (query) => {
return request({
url: `bgscreen/tower/findDevTowerDataWarningDatas`,
method: "get",
params: query,
});
};
export default{
findTowerConfigGroupOnline,
findTowerConfigListByProjectId,
findTowerStatisticsView,
selectDevTowerDataLimitList,
selectDevTowerDataRunList
selectDevTowerDataRunList,
findDevTowerDataWarningDatas
}

View File

@ -1,25 +0,0 @@
import request from '@/utils/requestOthers'
const getDict = (dictName) => {
let key = 'dict_' + dictName;
let obj = window.jhcaches[key];
if (obj && obj.length > 0) {
return new Promise((resolve) => {
resolve(obj);
})
} else {
return new Promise(async (resolve) => {
let data = await request({
url: `/publics/aiBox/dicts`,
method: 'get'
});
let obj = data.data || [];
if (obj && obj.length > 0) {
window.jhcaches[key] = obj;
}
resolve(obj);
});
}
}
export default getDict;

View File

@ -1,29 +0,0 @@
import request from '@/utils/requestOthers'
const listView=(deptId,projectId)=> {
return request({
url: `/publics/aiBox/v1/listView?deptId=${deptId||0}&projectId=${projectId||0}&pageSize=20&pageNum=1`,
method: 'get'
})
}
const list=(data,pageNum,pageSize)=> {
return request({
url: `/publics/aiBox/list?pageNum=${pageNum}&pageSize=${pageSize}`,
data:data,
method: 'post'
})
}
const groupCountByAlarmType=(deptId,projectId,now)=> {
return request({
url: `/publics/aiBox/groupCountByAlarmType?deptId=${deptId||0}&projectId=${projectId||0}&now=${now}`,
method: 'get'
})
}
export default{
list,
listView,
groupCountByAlarmType
}

View File

@ -20,11 +20,10 @@ import standard from './standard/index'
import flow from './flow/index'
import video from './video/index'
import aiBoxVideo from './video/aiBoxVideo'
import gzAiBoxVideo from './gzaiBox/index'
import gzDict from './gzaiBox/dict'
import plan from './plan/index'
import periodical from './periodical/index'
import engin from './engin'
import powerIot from './device/powerIot/index'
import tower from './device/tower/index'
import quality from './quality'
import pitmonit from './pitmonit'
@ -57,8 +56,7 @@ export default {
plan,
downFile:download,
engin,
gzAiBoxVideo,
gzDict,
powerIot,
tower,
quality,
pitmonit

View File

@ -106,6 +106,13 @@ const selectLastPhotography=id=>{
});
}
const findMyProjectList=()=>{
return request({
url: `publics/findMyProjectList`,
method: 'get'
});
}
export default{
findProjectByDept,
getProjectBuildNode,
@ -116,7 +123,8 @@ export default{
getProjectUser,
getInfo,
listPhotography,
selectLastPhotography
selectLastPhotography,
findMyProjectList
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 KiB

View File

@ -1,13 +1,17 @@
<template>
<div :class="red ? 'head-title red-head' : 'head-title'" class="main-header" :key="nav">
<div class="head-title-label">
<img src="cflogo.png" style="position: absolute;height: 24px;left: 4px;top: 28px;">
<span style="margin-left: 108px;display: block;margin-top: 3px;">产发工程数字管理平台</span>
<img src="@/assets/images/logo.png" style="position: absolute;height: 48px;left: 20px;top: 12px;">
<span style="margin-left: 60px;display: block;margin-top: 3px;">长安区数字工程监管系统</span>
</div>
<div class="head-title-tab">
<div v-if="!isTypeBuser" :class="nav == 1 ? 'head-nav active' : 'head-nav'" @click="pageJump(1, '#/')">
</div>
<div :class="(nav >= 20 && nav < 40) || nav == 2 ? 'head-nav active' : 'head-nav'" style="position: relative;"
<div :class="nav == 26 ? 'head-nav active' : 'head-nav'" @click="pageJump(26, '#/prjAiVideo')">AI监测</div>
<div :class="nav == 28 ? 'head-nav active' : 'head-nav'" @click="pageJump(28, '#/towerCrane')">塔机监测</div>
<div :class="nav == 29 ? 'head-nav active' : 'head-nav'" @click="pageJump(29, '#/excavation')">基坑监测</div>
<div :class="nav == 30 ? 'head-nav active' : 'head-nav'" @click="pageJump(30, '#/distributionBox')">配电箱监测</div>
<!-- <div v-if="!isTypeBuser" :class="nav == 1 ? 'head-nav active' : 'head-nav'" @click="pageJump(1, '#/')">
</div> -->
<!-- <div :class="(nav >= 20 && nav < 40) || nav == 2 ? 'head-nav active' : 'head-nav'" style="position: relative;"
class="has-submenu">
<div @click="pageJump(2, '#/detail')">项目详情</div>
<div class="header-btn-list" v-if="!isTypeBuser">
@ -50,8 +54,8 @@
</div>
</div>
</div>
</div>
<div :class="nav == 3 ? 'head-nav active' : 'head-nav'" @click="pageJump(3, '#/safety')">安全管理</div>
</div> -->
<!-- <div :class="nav == 3 ? 'head-nav active' : 'head-nav'" @click="pageJump(3, '#/safety')">安全管理</div>
<div :class="nav == 4 ? 'head-nav active' : 'head-nav'" @click="pageJump(4, '#/quality')">质量管理</div>
<div :class="nav == 5 ? 'head-nav active' : 'head-nav'" @click="pageJump(5, '#/progress')">进度管理</div>
<div :class="nav>=60 && nav <=69 ? 'head-nav active' : 'head-nav'" style="position: relative;"
@ -86,9 +90,9 @@
</div>
</div>
</div>
</div>
</div> -->
<div v-if="!isTypeBuser" :class="(nav >= 70 && nav < 80) || nav == 7 ? 'head-nav active' : 'head-nav'"
<!-- <div v-if="!isTypeBuser" :class="(nav >= 70 && nav < 80) || nav == 7 ? 'head-nav active' : 'head-nav'"
style="position: relative;" class="has-submenu">
<div @click="pageJump(7, '#/engin')">工程管理</div>
<div class="header-btn-list">
@ -103,9 +107,10 @@
</div>
<div v-if="isTypeBuser" :class="nav == 7 ? 'head-nav active' : 'head-nav'" style="position: relative;"
@click="pageJump(7, '#/enginBUser')">工程管理
</div> -->
</div>
</div>
<template v-if="!isTypeBuser">
<div style="margin-left: 16px;position: absolute;right: 24px;display: flex;">
<!-- <template v-if="!isTypeBuser">
<div class="head-title-select title-select1" @mouseleave="hideScreenUlSel1" v-if="localStorage1">
<div class="head-select head-select-150">
<input type="text" :value="dept1" @click="showScreenUlSel1" placeholder="请选择公司" readonly>
@ -116,8 +121,8 @@
</ul>
</el-collapse-transition>
</div>
</template>
<div class="head-title-select title-select1" @mouseleave="hideScreenUlSel3">
</template> -->
<!-- <div class="head-title-select title-select1" @mouseleave="hideScreenUlSel3">
<div class="head-select head-select-150">
<input type="text" :value="proType" @click="showScreenUlSel3" placeholder="项目类型" readonly>
</div>
@ -127,10 +132,10 @@
</li>
</ul>
</el-collapse-transition>
</div>
</div> -->
<div class="head-title-select title-select3" @mouseleave="hideScreenUlSel2" v-if="localStorage2">
<div class="head-select">
<input type="text" :value="dept2" @click="showScreenUlSel2" placeholder="请选择项目" readonly>
<input type="text" :value="dept2" @click="showScreenUlSel2" placeholder="请选择项目信息" readonly>
</div>
<el-collapse-transition>
<ul class="header-screen-ul" v-show="showSel2" ref="selectUl">
@ -139,7 +144,7 @@
</el-collapse-transition>
</div>
<div class="head-title-date">
<div class="head-title-time" v-if="1 == 2">
<div class="head-title-time">
<div class="head-title-date-con">{{ date }}</div>
<div class="head-title-time-con">{{ time }}</div>
</div>
@ -150,9 +155,9 @@
<span>{{ temperature }}</span>
</div>
-->
<div class="header-title-user" style="margin-left:12px;">
<div class="header-title-user" style="margin-left:15px;">
{{ getName() }}
<i @click="doLogout" title="退出" style="margin-left:12px;cursor: pointer;">
<i @click="doLogout" title="退出" style="margin-left:15px;cursor: pointer;">
<svg class="icon"
style=" width:20px;height: 20px;vertical-align: middle;fill: currentColor;overflow: hidden;"
viewBox="0 0 1072 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3432">
@ -163,8 +168,7 @@
</i>
</div>
</div>
<i class="set-fullscreen set-font-size" style="margin-left: 16px;position: absolute;top: 30px;right: 24px;"
@click="toggleFullScreen">
<i class="set-fullscreen set-font-size" @click="toggleFullScreen" style="margin-top: 30px;">
<svg class="icon" v-if="!isFullScreen"
style="width: 24px; vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024"
version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3304">
@ -180,6 +184,7 @@
</svg>
</i>
</div>
</div>
</template>
<script>
@ -199,7 +204,7 @@ export default {
data() {
return {
isTypeBuser: false,//,
nav: 1,
nav: 26,
dept1: '',
dept2: '',
showSel1: false,
@ -225,91 +230,111 @@ export default {
}
},
created() {
let obj = localStorage.getItem("project_category");
let type = localStorage.getItem("proType");
if (obj && obj.length > 0) {
obj = tryToJson(obj, []);
if (obj.length > 0) {
this.proTypeList = obj;
let tmps = obj.filter(d => d.value == type);
this.proType = tmps.length > 0 ? tmps[0].text : "全部";
return;
}
}
this.$api.dict("project_category").then(d => {
let tmps = (d || []).map(it => {
return {
value: it.dictValue,
text: it.dictLabel,
}
});
tmps = [{ value: "0", text: "全部" }, ...tmps];
this.proTypeList = tmps;
this.proType = "全部";
localStorage.setItem("project_category", JSON.stringify(tmps));
});
// let obj = localStorage.getItem("project_category");
// let type = localStorage.getItem("proType");
// if (obj && obj.length > 0) {
// obj = tryToJson(obj, []);
// if (obj.length > 0) {
// this.proTypeList = obj;
// let tmps = obj.filter(d => d.value == type);
// this.proType = tmps.length > 0 ? tmps[0].text : "";
// return;
// }
// }
// this.$api.dict("project_category").then(d => {
// let tmps = (d || []).map(it => {
// return {
// value: it.dictValue,
// text: it.dictLabel,
// }
// });
// tmps = [{ value: "0", text: "" }, ...tmps];
// this.proTypeList = tmps;
// this.proType = "";
// localStorage.setItem("project_category", JSON.stringify(tmps));
// });
},
async mounted() {
window.headerApp = this
await this.initMe();
this.nav = this.$route.meta?.nav || 1
//await this.initMe();
this.nav = this.$route.meta?.nav || 26
this.setTitle();
this.timerID = setInterval(this.updateTime, 1000);
this.updateTime();
let roleId = + this.$store.getters.roleId;
Cookies.remove("__ids__");
if ([5, 6, 7, 15, 16, 17, 99].includes(roleId)) {
this.isTypeBuser = true;
if (this.$route.name == "index") {
this.$router.push("/detail");
}
this.loadInitData(-1,()=>{
let objs=this.projects;
this.data = [{ id: 0, text: '所有项目' }, ...objs];
let dept = { id: 0, text: '' };
this.$root.dept = dept;
this.$api.project.findMyProjectList().then(res=>{
if(res.rows.length>0){
let _dept = { id: res.rows[0].deptId, text: res.rows[0].deptName };
this.$root.dept = _dept;
let _project = { id: res.rows[0].id, text: res.rows[0].projectName };
this.$root.project = _project;
this.$root.hasInitHeader = true;
//this.$bus.$emit("deptChange", dept)
this.$root._prjIds = objs.map(it => it.id);
Cookies.set("__ids__", objs.map(it => it.id).join(","));
//this.$bus.$emit("loadProjects", this.data);
this.$root.projects = this.data;
if (this.data.length > 0) {
this.setScreenLiSel2(this.data[0], true);
} else {
this.setScreenLiSel2(null);
this.$root._prjIds = res.rows[0].id;
let _projects = [];
res.rows.forEach(item => {
_projects.push({ id: item.id, text: item.projectName });
})
this.data = _projects;
this.$root.projects = res.rows;
this.setScreenLiSel2(_project, true);
}else{
this.$root.dept = {'id':0,'text':'默认单位'};
this.$root.project = {'id':0,'text':'默认项目'};
}
});
} else {
this.isTypeBuser = false;
this.loadInitData(0,()=>{
this.$api.dept.list().then(d => {
this.$root.hasInitHeader = true;
if (roleId < 4) {
this.depts = [{ text: '产发集团', id: 0 }, ...(d?.data || []).map(it => {
it.text = it.deptName;
it.id = it.deptId;
return it;
})]
} else {
this.depts = [...(d?.data || []).map(it => {
it.text = it.deptName;
it.id = it.deptId;
return it;
})]
}
if(this.localStorage1==null){
this.localStorage1={text: '产发集团', id: 0};
}
if(this.localStorage2==null){
this.localStorage2={};
}
this.setScreenLiSel1(this.localStorage1,true);
this.checkIsDetailSubPage();
});
});
}
this.$root.isTypeBuser = this.isTypeBuser;
// let roleId = + this.$store.getters.roleId;
// Cookies.remove("__ids__");
// if ([5, 6, 7, 15, 16, 17, 99].includes(roleId)) {
// this.isTypeBuser = true;
// if (this.$route.name == "index") {
// this.$router.push("/detail");
// }
// this.loadInitData(-1,()=>{
// let objs=this.projects;
// this.data = [{ id: 0, text: '' }, ...objs];
// let dept = { id: 0, text: '' };
// this.$root.dept = dept;
// this.$root.hasInitHeader = true;
// //this.$bus.$emit("deptChange", dept)
// this.$root._prjIds = objs.map(it => it.id);
// Cookies.set("__ids__", objs.map(it => it.id).join(","));
// //this.$bus.$emit("loadProjects", this.data);
// this.$root.projects = this.data;
// if (this.data.length > 0) {
// this.setScreenLiSel2(this.data[0], true);
// } else {
// this.setScreenLiSel2(null);
// }
// });
// } else {
// this.isTypeBuser = false;
// this.loadInitData(0,()=>{
// this.$api.dept.list().then(d => {
// this.$root.hasInitHeader = true;
// if (roleId < 4) {
// this.depts = [{ text: '', id: 0 }, ...(d?.data || []).map(it => {
// it.text = it.deptName;
// it.id = it.deptId;
// return it;
// })]
// } else {
// this.depts = [...(d?.data || []).map(it => {
// it.text = it.deptName;
// it.id = it.deptId;
// return it;
// })]
// }
// if(this.localStorage1==null){
// this.localStorage1={text: '', id: 0};
// }
// if(this.localStorage2==null){
// this.localStorage2={};
// }
// this.setScreenLiSel1(this.localStorage1,true);
// this.checkIsDetailSubPage();
// });
// });
// }
// this.$root.isTypeBuser = this.isTypeBuser;
},
methods: {
checkIsDetailSubPage(){
@ -421,12 +446,12 @@ export default {
}
},
setTitle() {
let titls = ['', '项目概况', '项目详情', '安全管理', '质量管理', '进度管理', '视频管理', '工程管理']
let titls = ['AI监测', '塔机监测', '基坑监测', '配电箱监测']
let title = titls[this.nav];
if (title) {
window.document.title = title;
} else {
window.document.title = '产发工程数字管理平台-大屏';
window.document.title = '长安区数字工程监管系统-大屏';
}
},
//
@ -453,7 +478,6 @@ export default {
},
showScreenUlSel2() {
this.showSel2 = true
},
showScreenUlSel3() {
this.showSel3 = true

View File

@ -6,7 +6,7 @@ Vue.component("screen-header", {
template: `
<div :class="red?'head-title red-head':'head-title'">
<div class="head-title-label">
产发工程数字管理平台
长安区数字工程监管系统
</div>
<div class="head-title-tab">
<div :class="nav==1?'head-nav active':'head-nav'" @click="pageJump(1,'index.html','index.html')">项目概况</div>
@ -88,7 +88,7 @@ Vue.component("screen-header", {
this.updateTime();
this.init()
this.$api.dept.list().then(d=>{
this.depts=[{text:'产发集团',id:0},...(d?.data||[]).map(it=>{
this.depts=[{text:'所有单位',id:0},...(d?.data||[]).map(it=>{
it.text=it.deptName;
it.id=it.deptId;
return it;

View File

@ -7,7 +7,7 @@ Vue.component("trend-chart-line", {
`,
props: {
data:{
type:Object
type:[Object,Array]
},
height:{
type:Number

View File

@ -1,484 +0,0 @@
<template>
<div class="project-aivideo">
<div class="screen-content">
<el-row>
<el-col :span="6">
<module-one-1-1 label="今日预警" style="position: relative">
<!-- <div
style="transform: scale(0.8); position: relative; top: -40px; left: -70px"
> -->
<project-overview-chart
:key="'ai1' + overviewDay"
:sp="''"
:maintitle="overviewTotalDay"
:legend-opt="legendOpt1"
:typedata="typeDistributionDataDay"
:text="overviewTextDay"
:height="230"
></project-overview-chart>
<!-- </div> -->
</module-one-1-1>
<module-one-2-1 label="预警概况">
<!-- <div
class="scroll"
style="max-height: 580px; overflow-y: auto; margin-top: 20px"
>
<table class="tb-list1">
<tr>
<th>排名</th>
<th>项目名称</th>
<th>预警数量</th>
<th>预警占比</th>
</tr>
<tr
v-for="(it, idx) in orderList"
:key="idx"
class="tr-cmd"
@click="doStandardDlg(it)"
>
<td>{{ it.ord }}</td>
<td>{{ it.projectName }}</td>
<td>{{ it.value }}</td>
<td>{{ it.percent.toFixed(2) }}%</td>
</tr>
</table>
</div> -->
<project-overview-chart
:key="'ai2' + overview"
:sp="''"
:maintitle="overviewTotal"
:legend-opt="legendOpt2"
:typedata="typeDistributionData"
:text="overviewText"
:height="230"
></project-overview-chart>
</module-one-2-1>
</el-col>
<el-col :span="18">
<module-one-1-3 label="今日预警详情" :key="todayKey" style="position: relative">
<div class="today-list ai-list" v-if="todayList.length > 0">
<div v-for="(it, idx) in todayList" :key="idx" class="today-item ai-item">
<div class="item-left">
<el-image
style="width: 180px; height: 100px"
:src="baseUrl + it.imageUrl + '.min.jpg'"
:preview-src-list="[baseUrl + it.imageUrl]"
>
</el-image>
</div>
<div class="item-right">
<div class="item-row">
<div>预警名称:</div>
<div style="color: rgba(1, 169, 255, 1)">{{ it.alarmTypeName }}</div>
</div>
<div class="item-row">
<div>预警时间:</div>
<div style="color: rgba(1, 169, 255, 1)">{{ it.createTime }}</div>
</div>
</div>
</div>
</div>
<el-pagination
v-if="todayList.length > 0"
layout="total,prev, pager, next"
:hide-on-single-page="false"
@current-change="handleTodayCurrentChange"
:total="todayPage.total"
:page-size="todayPage.pageSize"
:current-page.sync="todayPage.pageIndex"
class="bg-pagination"
></el-pagination>
<div
v-if="todayList.length == 0"
style="text-align: center; margin-top: 20px"
>
<img src="images/nodata.png" style="width: 240px" />
<div style="text-align: center">暂无数据</div>
</div>
</module-one-1-3>
<module-one-2-3 label="预警概况明细" style="position: relative">
<div style="position: absolute; right: 0px; top: 4px">
<el-date-picker
class="bg-date-picker"
v-model="selDate"
type="daterange"
popper-class="bg-date-picker-pop"
:editable="false"
@change="dtChange"
:picker-options="pickerOptions"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</div>
<div class="ai-nav">
<div
class="nav-item ai-content-nav-con ai-content-nav"
:class="selType == 0 ? 'active' : ''"
@click="doSelType(0)"
>
全部
</div>
<div
class="nav-item ai-content-nav-con ai-content-nav"
:class="selType == it.dictValue ? 'active' : ''"
@click="doSelType(it.dictValue)"
v-for="(it, idx) in aiTypes"
:key="idx"
>
{{ it.dictLabel }}
</div>
</div>
<div class="data-list">
<div class="ai-list" v-if="listDatas.length > 0">
<div v-for="(it, idx) in listDatas" :key="idx" class="today-item ai-item">
<div class="item-left">
<el-image
style="width: 180px; height: 100px"
:src="baseUrl + it.imageUrl + '.min.jpg'"
:preview-src-list="[baseUrl + it.imageUrl]"
>
</el-image>
</div>
<div class="item-right">
<div class="item-row">
<div>预警名称:</div>
<div style="color: rgba(1, 169, 255, 1)">
{{ it.alarmTypeName }}
</div>
</div>
<div class="item-row">
<div>预警时间:</div>
<div style="color: rgba(1, 169, 255, 1)">{{ it.createTime }}</div>
</div>
</div>
</div>
</div>
<el-pagination
v-if="listDatas.length > 0"
layout="total,prev, pager, next"
:hide-on-single-page="false"
@current-change="handleListCurrentChange"
:total="listPage.total"
:page-size="listPage.pageSize"
:current-page.sync="listPage.pageIndex"
class="bg-pagination"
></el-pagination>
<div
v-if="listDatas.length == 0"
style="text-align: center; margin-top: 100px"
>
<img src="images/nodata.png" style="width: 240px" />
<div style="text-align: center">暂无数据</div>
</div>
</div>
</module-one-2-3>
</el-col>
</el-row>
</div>
</div>
</template>
<script>
import "../../components/module/module-one-1-3";
import "../../components/module/module-one-2-1";
import "../../components/module/module-one-1-1";
import "../../components/module/module-one-2-3";
import debounce from "lodash.debounce";
export default {
data() {
return {
baseUrl: "https://guangzhou.sxyanzhu.com/YanZhuGZAI",
//
overview: 0,
overviewDay: 0,
overviewInterval: "",
overviewTotal: 0,
legendOpt1: {
icon: "rect",
textStyle: {
color: "#c3dbfd",
fontSize: 15,
rich: {
name: {
color: "#c3dbfd",
padding: [0, 20, 0, 0],
},
percent: {
color: "#4676FD",
},
},
},
},
legendOpt2: {
icon: "rect",
textStyle: {
color: "#c3dbfd",
fontSize: 14,
rich: {
name: {
color: "#c3dbfd",
padding: [0, 20, 0, 0],
},
percent: {
color: "#4676FD",
},
},
},
},
overviewText: "累计预警",
//
typeDistributionData: [],
overviewTextDay: "今日预警",
overviewTotalDay: 0,
typeDistributionDataDay: [],
orderList: [],
todayPage: {
pageSize: 6,
pageIndex: 1,
total: 0,
},
listPage: {
pageSize: 12,
pageIndex: 1,
total: 0,
},
todayList: [],
todayKey: 0,
listDatas: [],
listKey: 0,
selDate: [],
aiTypes: [],
selType: 0,
pickerOptions: {
shortcuts: [
{
text: "最近一周",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit("pick", [start, end]);
},
},
{
text: "最近一个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit("pick", [start, end]);
},
},
{
text: "最近三个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit("pick", [start, end]);
},
},
],
},
intervalTimes: null
};
},
mounted() {
document.body.classList.add("no-header");
document.getElementById("divTest").remove();
this.$api.gzDict("aibox_alarm_type").then((d) => {
this.aiTypes = d || [];
});
let dt1 = this.$dt(+new Date() - 30 * 24 * 3600 * 1000);
let dt2 = this.$dt(new Date());
this.selDate = [dt1, dt2];
document.title = "广湛高铁文昌隧道AI预警";
document.querySelector('link[rel="icon"]').setAttribute("href", "sxyz.ico");
this.init();
},
beforeDestroy() {
document.body.classList.remove("no-header");
},
methods: {
doSelType(n) {
if (this.selType != n) {
this.selType = n;
this.listPage.pageIndex = 1;
this.loadList();
}
},
dtChange(init) {
this.listPage.pageIndex = 1;
this.loadList();
},
init() {
this.todayPage.pageIndex = 1;
this.listPage.pageIndex = 1;
this.selType = 0;
this.getAiVideoAlertorTypeCount();
this.loadTodayList();
this.loadList();
this.initIntervalTimes();
},
myInit(){
this.getAiVideoAlertorTypeCount();
this.loadTodayList();
this.loadList();
},
initIntervalTimes(){
this.intervalId = setInterval(this.myInit, 150000); // 2.5
},
handleTodayCurrentChange(n) {
this.todayPage.pageIndex = n;
this.loadTodayList();
},
handleListCurrentChange(n) {
this.listPage.pageIndex = n;
this.loadList();
},
loadList() {
let postData = {
projectDeptId: 1,
projectId: 1,
params: {
beginTime: this.selDate[0],
endTime: this.selDate[1],
},
};
if (this.selType != 0) {
postData.alarmType = this.selType;
}
this.$api.gzAiBoxVideo
.list(postData, this.listPage.pageIndex, this.listPage.pageSize)
.then((d) => {
this.listPage.total = d.total || 0;
this.listDatas = d.rows || [];
this.listKey++;
});
},
loadTodayList() {
let postData = {
projectDeptId: 1,
projectId: 1,
params: {
date: new Date(),
},
};
this.$api.gzAiBoxVideo
.list(postData, this.todayPage.pageIndex, this.todayPage.pageSize)
.then((d) => {
this.todayPage.total = d.total || 0;
this.todayList = d.rows || [];
this.todayKey++;
});
},
// groupCountByProject() {
// this.$api.gzAiBoxVideo
// .groupCountByProject(0, null)
// .then((d) => {
// let sum = 0;
// let tmps = (d.data || []).map((it, idx) => {
// it.ord = idx + 1;
// it.percent = 0;
// sum += it.value;
// return it;
// });
// tmps.forEach((it) => {
// it.percent = (it.value * 100.0) / sum;
// });
// this.orderList = tmps;
// });
// },
getAiVideoAlertorTypeCount() {
//
this.$api.gzAiBoxVideo.groupCountByAlarmType(1, 1, "Y").then((response) => {
if (response.data) {
let sum = 0;
response.data.forEach((datum) => {
sum += datum.value;
});
this.overviewTotalDay = sum;
this.typeDistributionDataDay = response.data;
this.overviewDay++;
}
});
//
this.$api.gzAiBoxVideo.groupCountByAlarmType(1, 1, "N").then((response) => {
if (response.data) {
let sum = 0;
response.data.forEach((datum) => {
sum += datum.value;
});
this.overviewTotal = sum;
this.typeDistributionData = response.data;
this.overview++;
}
});
},
},
};
</script>
<style lang="less" scope>
body.no-header {
.main-header {
display: none;
}
}
.project-aivideo {
.tb-list1 {
margin: 12px;
width: calc(100% - 24px);
border-collapse: collapse;
border: solid 1px #ffffff52;
th {
font-size: 14px;
border: solid 1px #ffffff52;
line-height: 60px;
}
td {
font-size: 12px;
text-align: center;
border: solid 1px #ffffff52;
line-height: 40px;
}
}
.ai-list {
padding: 0px 24px 8px;
.ai-item {
display: inline-flex;
margin: 12px 12px 0px 0px;
width: calc(33% - 12px);
color: #ccc;
line-height: 24px;
.item-right {
padding-left: 12px;
}
}
}
.data-list {
.ai-list {
.ai-item {
margin-bottom: 8px;
}
}
}
.ai-nav {
padding: 12px;
.nav-item {
display: inline-block;
margin-left: 12px;
text-align: center;
padding: 0px 8px;
&:first-child {
margin-left: 0px;
}
}
}
}
</style>

File diff suppressed because one or more lines are too long

View File

@ -296,10 +296,7 @@
<div class="analyse-equipment">塔机监测</div>
</div>
<div class="afoot-content safe-afoot-content">
<div
class="afoot-overflow safe-afoot-overflow"
id="afootOverflow"
>
<div class="afoot-overflow safe-afoot-overflow" id="afootOverflow">
<div v-if="warningData.length == 0" class="not-data">
暂无预警数据
</div>
@ -307,24 +304,17 @@
<div
v-if="warningData.length > 0"
class="quality-table special-table scroll"
style="height: 180px;padding:0px;"
style="height: 180px; padding: 0px"
>
<el-table :data="warningData" class="mytable"
style="width: 100%;background: transparent;" height="265" ref="fbsubordinateUnit">
<el-table-column prop="createTime" label="发送时间" width="160"></el-table-column>
<el-table-column label="预警类型">
<template slot-scope="scope">
<div class="tag-group">
<el-tag
v-for="item in dicts"
v-if="dic(item.dictValue,scope.row.warnings)"
type="danger"
effect="dark">
{{ item.dictLabel }}
</el-tag>
</div>
</template>
</el-table-column>
<el-table
:data="warningData"
class="mytable"
style="width: 100%; background: transparent"
height="265"
ref="fbsubordinateUnit"
>
<el-table-column prop="createTime" label="发生时间" />
<el-table-column prop="warnNote" label="预警内容" />
</el-table>
</div>
</div>
@ -336,6 +326,7 @@
</div>
<div class="safe-moment">
<safe-curve-chart
:key="itemChartKey1"
:height="260"
:momentdata="momentData"
></safe-curve-chart>
@ -487,16 +478,19 @@
</div>
<div class="row-scale">
<div class="row-scale-ctx">
<div v-for="i in 10" :key="i" class="scale-item"></div>
<div
v-for="i in reversedList"
:key="i"
:class="it.scale1 >= i ? 'scale-item-ac' : 'scale-item'"
></div>
</div>
<span class="sp-data1 sp-data sp-sc">报警:{{ it.data1 }}</span>
<span
class="sp-data2 sp-data sp-sc"
v-if="it.data2 >= 5"
:style="calcTop(it)"
<span class="sp-data1 sp-data sp-sc">报警:{{ it.data2 }}</span>
<span class="sp-data2 sp-data sp-sc" v-if="false" :style="calcTop(it)"
>报警:{{ it.data2 }}</span
>
<span class="sp-sc2 sp-sc">{{ it.scale2 }}</span>
<span class="sp-sc2 sp-sc" :style="calcTop(it)"
>当前:{{ it.data1 }}</span
>
</div>
</div>
</el-col>
@ -522,6 +516,7 @@ export default {
data() {
return {
index: 0,
itemChartKey1: 0,
towerConfigView: [],
towerConfigList: [],
towerConfigStat: { a0: 0, b0: 0, c0: 0, a1: 0, b1: 0, c1: 0 },
@ -550,7 +545,6 @@ export default {
direction: "right",
comName: "tower-crane-value-1",
warningData: [],
momentData: {},
forIndex: 0,
warningInterval: undefined,
countvwInterval: undefined,
@ -559,56 +553,47 @@ export default {
prjs: [],
project: null,
dicts: [],
momentData: {
dataX: [15, 20, 25, 30, 35, 40, 45, 50, 55, 60],
dataY: [3, 3, 3, 3, 2.59, 2.2, 1.9, 1.66, 1.46, 1.3],
},
};
},
computed: {
reversedList() {
return Array.from({ length: 10 }, (_, i) => i + 1).reverse();
},
},
created() {
this.$api.dict("device_tower_warning").then((d) => {
this.dicts = d || [];
});
this.initMe();
},
mounted() {
this.momentData = JSON.parse(
'{"point":[[null,null]],"dataX":[15,20,25,30,35,40,45,50,55,60],"dataY":[3,3,3,3,2.59,2.2,1.9,1.66,1.46,1.3]}'
);
this.$bus.$on(
"projectChange",
debounce((res) => {
this.project = res || this.$root.project;
this.dept = this.$root.dept || this.dept;
this.prjs = this.$root.projects || this.prjs;
this.index = 0;
this.initMe();
this.project = res;
this.init();
})
);
if (this.$root.hasInitHeader) {
this.initMe();
}
},
methods: {
initMe() {
this.project = this.$root.project;
this.init();
},
init() {
this.initTowerConfigView();
this.initTowerConfigList();
},
getProjectId(cb) {
let func = () => {
let prjId = this.project?.id || 0;
if (prjId == 0) {
if (!this.prjs || this.prjs.length == 0) {
setTimeout(func, 100);
} else {
if (this.prjs.length > 1) {
cb && cb(this.prjs[1].id);
} else {
cb(0);
}
}
} else {
cb && cb(prjId);
}
};
func();
},
initTowerConfigView() {
this.getProjectId((id) => {
this.$api.tower.findTowerConfigGroupOnline(null, id).then((d) => {
this.$api.tower.findTowerConfigGroupOnline(this.project.id).then((d) => {
let list = [];
let total = 0;
if (d.data && d.data.length > 0) {
@ -627,15 +612,13 @@ export default {
this.towerTotalNum = total;
this.towerConfigView = list;
});
});
},
initTowerConfigList() {
this.getProjectId((id) => {
this.$api.tower.findTowerConfigListByProjectId(null, id).then((d) => {
this.$api.tower.findTowerConfigListByProjectId(this.project.id).then((d) => {
this.towerConfigList = d.data || [];
if (d.data.length > 0) {
this.initSelDev(this.index);
}else{
} else {
this.runData.height = "0";
this.runData.range = "0";
this.runData.rotation = "0";
@ -666,10 +649,13 @@ export default {
this.towerConfigStat.b1 = 0;
this.towerConfigStat.c1 = 0;
this.warningData = [];
this.selDev = {deviceName:"未找到设备",frontBrachium:0,afterBrachium:0};
this.selDev = {
deviceName: "未找到设备",
frontBrachium: 0,
afterBrachium: 0,
};
}
});
});
},
initCountData() {
this.$api.tower.findTowerStatisticsView(this.selDev.deviceSn).then((d) => {
@ -700,21 +686,64 @@ export default {
this.runData.momentPercent = d.data[0].momentPercent;
this.runData.windSpeedPercent = d.data[0].windSpeedPercent;
this.runData.warnings = d.data[0].warnings;
this.devBottomInfo[0].data1 = d.data[0].range;
this.devBottomInfo[1].data1 = d.data[0].windSpeed;
this.devBottomInfo[2].data1 = d.data[0].load;
this.devBottomInfo[3].data1 = d.data[0].leanAnglePercent
? d.data[0].leanAnglePercent
: 0;
this.devBottomInfo[4].data1 = d.data[0].rotation;
this.devBottomInfo[5].data1 = d.data[0].height;
this.devBottomInfo[0].data1 = d.data[0].range || 0;
this.devBottomInfo[1].data1 = d.data[0].windSpeed || 0;
this.devBottomInfo[2].data1 = d.data[0].load || 0;
this.devBottomInfo[3].data1 = d.data[0].leanAnglePercent || 0;
this.devBottomInfo[4].data1 = d.data[0].rotation || 0;
this.devBottomInfo[5].data1 = d.data[0].height || 0;
if (this.devBottomInfo[0].data1 > 0 && this.devBottomInfo[0].data2 > 0) {
this.devBottomInfo[0].scale1 = Math.round(
(this.devBottomInfo[0].data1 / this.devBottomInfo[0].data2) * 10
);
}
if (this.devBottomInfo[1].data1 > 0 && this.devBottomInfo[1].data2 > 0) {
this.devBottomInfo[1].scale1 = Math.round(
(this.devBottomInfo[1].data1 / this.devBottomInfo[1].data2) * 10
);
}
if (this.devBottomInfo[2].data1 > 0 && this.devBottomInfo[2].data2 > 0) {
this.devBottomInfo[2].scale1 = Math.round(
(this.devBottomInfo[2].data1 / this.devBottomInfo[2].data2) * 10
);
}
if (this.devBottomInfo[3].data1 > 0 && this.devBottomInfo[3].data2 > 0) {
this.devBottomInfo[3].scale1 = Math.round(
(this.devBottomInfo[3].data1 / this.devBottomInfo[3].data2) * 10
);
}
if (this.devBottomInfo[4].data1 > 0 && this.devBottomInfo[4].data2 > 0) {
this.devBottomInfo[4].scale1 = Math.round(
(this.devBottomInfo[4].data1 / this.devBottomInfo[4].data2) * 10
);
}
if (this.devBottomInfo[5].data1 > 0 && this.devBottomInfo[5].data2 > 0) {
this.devBottomInfo[5].scale1 = Math.round(
(this.devBottomInfo[5].data1 / this.devBottomInfo[5].data2) * 10
);
}
let _dataX = [];
let _dataY = [];
let _dataList = [...d.data].reverse();
_dataList.forEach((item) => {
_dataX.push(item.range);
_dataY.push(item.load);
});
this.momentData.dataX = _dataX;
this.momentData.dataY = _dataY;
this.itemChartKey1++;
}
});
//
this.$api.tower
.findDevTowerDataWarningDatas({ deviceKey: this.selDev.deviceSn })
.then((d) => {
this.warningData = d.data || [];
});
},
calcTop(d) {
let tmp = 100 - (d.data2 * 100.0) / d.data1;
return `top:calc(20px + ${tmp > 78 ? 78 : tmp}%)`;
let tmp = d.scale1 * 16;
return `top:calc(222px - ${tmp}px)`;
},
getRoudValue(a, b) {
if (a > 0) {
@ -757,10 +786,10 @@ export default {
this.initRunData();
//
clearInterval(this.warningInterval);
this.warningInterval = setInterval(this.initRunData, 60000);
this.warningInterval = setInterval(this.initRunData, 30000);
this.initCountData();
clearInterval(this.countvwInterval);
this.countvwInterval = setInterval(this.initCountData, 60000);
this.countvwInterval = setInterval(this.initCountData, 30000);
},
onTowerCraneList(n) {
this.index = n;
@ -786,14 +815,14 @@ export default {
warningListMinMouseout() {
this.warningInterval = setInterval(this.safeAutomaticRoll, 10000);
},
dic(ds,value){
if(value.split(",").indexOf(ds)>-1){
dic(ds, value) {
if (value.split(",").indexOf(ds) > -1) {
return true;
}else{
return false
}
} else {
return false;
}
},
},
};
</script>
<style lang="less">
@ -969,6 +998,12 @@ export default {
background: #002d8d94;
border-radius: 5%;
}
.scale-item-ac {
margin: 22% 0px;
height: 4%;
background: #6632fdde;
border-radius: 5%;
}
}
.sp-sc {

View File

@ -3,19 +3,13 @@
<div class="screen-content">
<el-row>
<el-col :span="6">
<module-one-1-1 label="预警概况" style="position: relative;">
<div style="transform: scale(0.8);position: relative;top: -40px;left:-70px;">
<project-overview-chart :key="'ai1' + overviewDay" :sp="''" txtTop="12" gifTop="8px"
<module-one-1-1 label="今日概况" style="position: relative;">
<project-overview-chart :key="'ai1' + overviewDay" :sp="''" txtTop="12" gifTop="75px"
:maintitle="overviewTotalDay" :legend-opt="legendOpt2" :typedata="typeDistributionDataDay"
:text="overviewTextDay" :height="180" :width="580" :fn="changeChart1"></project-overview-chart>
<project-overview-chart :key="'ai2' + overview" :sp="''" txtTop="12" gifTop="8px"
:maintitle="overviewTotal" :legend-opt="legendOpt1" :typedata="typeDistributionData"
:text="overviewText" :height="180" :width="580" :fn="changeChart1"></project-overview-chart>
</div>
:text="overviewTextDay" :height="250"></project-overview-chart>
</module-one-1-1>
<module-one-2-1 label="预警排名" style="position: relative;">
<div class="scroll" style="max-height: 580px;overflow-y: auto;margin-top: 20px;">
<module-one-2-1 label="预警概况" style="position: relative;">
<!-- <div class="scroll" style="max-height: 580px;overflow-y: auto;margin-top: 20px;">
<table class="tb-list1">
<tr>
<th>排名</th>
@ -30,8 +24,10 @@
<td>{{ it.percent.toFixed(2) }}%</td>
</tr>
</table>
</div>
</div> -->
<project-overview-chart :key="'ai2' + overview" :sp="''" txtTop="12" gifTop="86px"
:maintitle="overviewTotal" :legend-opt="legendOpt1" :typedata="typeDistributionData"
:text="overviewText" :height="280" style="top:100px"></project-overview-chart>
</module-one-2-1>
</el-col>
<el-col :span="18">
@ -326,7 +322,7 @@ export default {
groupCountByProject() {
this.$api.aiBoxVideo
//.groupCountByProject(this.dept?.id || 0, this.projectInfo?.id)
.groupCountByProject( 0, null)
.groupCountByProject( 0, this.projectInfo?.id)
.then((d) => {
let sum = 0;
let tmps = (d.data || []).map((it, idx) => {
@ -353,7 +349,7 @@ export default {
sum += datum.value;
});
this.overviewTotalDay = sum;
this.typeDistributionDataDay = response.data;
this.typeDistributionDataDay = response.data.filter(detail=>detail.value>0);
this.overviewDay++;
}
});
@ -379,10 +375,6 @@ export default {
<style lang="less">
.project-aivideo {
.chart-overview-gif {
top: 37px !important;
left: 93px;
}
.tb-list1 {
margin: 12px;

View File

@ -3,7 +3,7 @@ import store from './store'
import { Message } from 'element-ui'
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
import { getToken } from '@/utils/auth'
import { getToken,setToken } from '@/utils/auth'
import { isRelogin } from '@/utils/request'
NProgress.configure({ showSpinner: false })
@ -12,6 +12,7 @@ const whiteList = ['/yanZhuGZAI']
router.beforeEach((to, from, next) => {
NProgress.start()
//setToken("eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjZjOWYxYTcwLTk3NzUtNDQ0OS1hMTkxLWYyM2U4MDIwNDkzNCJ9.2sWOuGQf1yKvpPuZaxq7gkiL30eTBIF3toSCPZi7gYq8-AjK-EX5S9-jbee_7VfvLT_10Lj8mm0rffxD4AtS_g");
if (getToken()) {
to.meta.title && store.dispatch('settings/setTitle', to.meta.title)
/* has token*/
@ -43,9 +44,6 @@ router.beforeEach((to, from, next) => {
} else {
//next(`/login?redirect=#/index`) // 否则全部重定向到登录页
let base="/";
if(location.host.indexOf("localhost")>=0){
base="/jhapp/"
}
location.href=base+"#/login?redirect=/jhbs/#/";
NProgress.done()
}

View File

@ -7,9 +7,10 @@ const routes = [
{
path: "/",
name: "index",
meta: { nav: 1 },
meta: { nav: 26 },
component: () =>
import(/* webpackChunkName: "index" */ "../pages/index.vue"),
import(/* webpackChunkName: "video" */ "../pages/toAIVideoProject.vue"),
//import(/* webpackChunkName: "index" */ "../pages/index.vue"),
},
{
path: "/map",
@ -261,13 +262,7 @@ const routes = [
meta: { nav: 71 },
component: () =>
import(/* webpackChunkName: "video" */ "../pages/engin/auditingPage.vue"),
},
{
path: '/yanZhuGZAI',
name: 'yanZhuGZAI',
component: () => import(/* webpackChunkName: "gzaiBox" */ '../pages/gzaiBox/index.vue')
}
];
const router = new VueRouter({
mode: "hash",

View File

@ -1,143 +0,0 @@
import axios from 'axios'
import { Notification, Message, Loading } from 'element-ui'
import { getToken } from '@/utils/auth'
import errorCode from '@/utils/errorCode'
import { tansParams, blobValidate } from "@/utils/ruoyi";
import cache from '@/plugins/cache'
import { saveAs } from 'file-saver'
let downloadLoadingInstance;
// 是否显示重新登录
export let isRelogin = { show: false };
axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
// 创建axios实例
const service = axios.create({
// axios中请求配置有baseURL选项表示请求URL公共部分
baseURL: "https://guangzhou.sxyanzhu.com/YanZhuGZAI",
// 超时
timeout: 200000
})
// request拦截器
service.interceptors.request.use(config => {
// 是否需要设置 token
const isToken = (config.headers || {}).isToken === false
// 是否需要防止数据重复提交
const isRepeatSubmit = (config.headers || {}).repeatSubmit === false
if (getToken() && !isToken) {
config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
}
// get请求映射params参数
if (config.method === 'get' && config.params) {
let url = config.url + '?' + tansParams(config.params);
url = url.slice(0, -1);
config.params = {};
config.url = url;
}
if (!isRepeatSubmit && (config.method === 'post' || config.method === 'put')) {
const requestObj = {
url: config.url,
data: typeof config.data === 'object' ? JSON.stringify(config.data) : config.data,
time: new Date().getTime()
}
const sessionObj = cache.session.getJSON('sessionObj')
if (sessionObj === undefined || sessionObj === null || sessionObj === '') {
cache.session.setJSON('sessionObj', requestObj)
} else {
const s_url = sessionObj.url; // 请求地址
const s_data = sessionObj.data; // 请求数据
const s_time = sessionObj.time; // 请求时间
const interval = 1000; // 间隔时间(ms),小于此时间视为重复提交
if (s_data === requestObj.data && requestObj.time - s_time < interval && s_url === requestObj.url) {
const message = '数据正在处理,请勿重复提交';
console.warn("--->",s_data,requestObj.data,s_url)
return Promise.reject(new Error(message))
} else {
cache.session.setJSON('sessionObj', requestObj)
}
}
}
return config
}, error => {
console.log(error)
Promise.reject(error)
})
// 响应拦截器
service.interceptors.response.use(res => {
// 未设置状态码则默认成功状态
const code = res.data.code || 200;
// 获取错误信息
const msg = errorCode[code] || res.data.msg || errorCode['default']
// 二进制数据则直接返回
if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') {
return res.data
}
if (code === 401) {
Message({ message: "权限不足,请登录后重试!", type: 'error' })
return Promise.reject('error')
} else if (code === 500) {
if(msg.indexOf('重复提交')==-1){
Message({ message: msg, type: 'error' })
}
return Promise.reject(new Error(msg))
} else if (code === 601) {
if(msg.indexOf('重复提交')==-1){
Message({ message: msg, type: 'warning' })
}
return Promise.reject('error')
} else if (code !== 200) {
if(msg.indexOf('重复提交')==-1){
Notification.error({ title: msg })
}
return Promise.reject('error')
} else {
return res.data
}
},
error => {
console.log('err' + error)
let { message } = error;
if (message == "Network Error") {
message = "后端接口连接异常";
} else if (message.includes("Request failed with status code")) {
message = "系统接口" + message.substr(message.length - 3) + "异常";
}
if(message.indexOf('重复提交')==-1){
Message({ message: message, type: 'error', duration: 5 * 1000 })
}
return Promise.reject(error)
}
)
// 通用下载方法
export function download(url, params, filename, config={}) {
downloadLoadingInstance = Loading.service({ text: "正在下载数据,请稍候", spinner: "el-icon-loading", background: "rgba(0, 0, 0, 0.7)", })
return axios({
url:url,
method:"get",
params:params||{},
responseType: 'blob',
...config
}).then(async ({data}) => {
const isBlob = blobValidate(data);
if (isBlob) {
const blob = new Blob([data])
saveAs(blob, filename)
} else {
const resText = await data.text();
const rspObj = JSON.parse(resText);
const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default']
Message.error(errMsg);
}
downloadLoadingInstance.close();
}).catch((r) => {
console.error(r)
Message.error('下载文件出现错误,请联系管理员!')
downloadLoadingInstance.close();
})
}
export { axios,service}
export default service

View File

@ -9,46 +9,29 @@ module.exports = defineConfig({
port: 3000,
open: true,
proxy: {
// '/jhapi/profile':{
// target: `http://62.234.3.186/jhapi/profile/`,
// changeOrigin: true,
// pathRewrite: {
// '^/jhapi/profile':'/'
// }
// },
'/jhapp':{
target: `http://62.234.3.186/`,
changeOrigin: true,
pathRewrite: {
'^/jhapp':'/'
}
},
'/cesium':{
target: `http://62.234.3.186/cesium/`,
target: `http://106.55.153.13/cesium/`,
changeOrigin: true,
pathRewrite: {
'^/cesium':'/'
}
},
'/cdn':{
target: `http://62.234.3.186/cdn/`,
target: `http://106.55.153.13/cdn/`,
changeOrigin: true,
pathRewrite: {
'^/cdn':'/'
}
},
'/jhapi':{
//target: `http://62.234.3.186/jhapi/`,
target: `http://127.0.0.1:8090/jhapi/`,
//target: `http://szgc.jhncidg.com/jhapi/`,
target: `http://106.55.153.13/jhapi/`,
changeOrigin: true,
pathRewrite: {
'^/jhapi':'/'
}
},
'/profile':{
//target: `http://szgc.jhncidg.com/jhapi/profile`,
target: `http://62.234.3.186/profile/`,
target: `http://106.55.153.13/profile/`,
changeOrigin: true,
pathRewrite: {
'^/profile':'/'

446
yarn.lock
View File

@ -24,13 +24,6 @@
"@jridgewell/gen-mapping" "^0.3.0"
"@jridgewell/trace-mapping" "^0.3.9"
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.22.5":
version "7.22.5"
resolved "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.22.5.tgz"
integrity sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==
dependencies:
"@babel/highlight" "^7.22.5"
"@babel/code-frame@7.12.11":
version "7.12.11"
resolved "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.12.11.tgz"
@ -38,12 +31,19 @@
dependencies:
"@babel/highlight" "^7.10.4"
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.22.5":
version "7.22.5"
resolved "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.22.5.tgz"
integrity sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==
dependencies:
"@babel/highlight" "^7.22.5"
"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.22.5":
version "7.22.5"
resolved "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.22.5.tgz"
integrity sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==
"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.12.0", "@babel/core@^7.12.16", "@babel/core@^7.13.0", "@babel/core@^7.4.0-0", "@babel/core@>=7.11.0":
"@babel/core@^7.12.16":
version "7.22.5"
resolved "https://registry.npmmirror.com/@babel/core/-/core-7.22.5.tgz"
integrity sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==
@ -1085,7 +1085,7 @@
optionalDependencies:
source-map "~0.6.1"
"@javascript-obfuscator/estraverse@^5.3.0", "@javascript-obfuscator/estraverse@5.4.0":
"@javascript-obfuscator/estraverse@5.4.0", "@javascript-obfuscator/estraverse@^5.3.0":
version "5.4.0"
resolved "https://registry.npmmirror.com/@javascript-obfuscator/estraverse/-/estraverse-5.4.0.tgz"
integrity sha512-CZFX7UZVN9VopGbjTx4UXaXsi9ewoM1buL0kY7j1ftYdSs7p2spv9opxFjHlQ/QGTgh4UqufYqJJ0WKLml7b6w==
@ -1159,7 +1159,7 @@
"@nodelib/fs.stat" "2.0.5"
run-parallel "^1.1.9"
"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5":
"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
version "2.0.5"
resolved "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
@ -1562,7 +1562,7 @@
resolved "https://registry.npmmirror.com/@vue/cli-plugin-vuex/-/cli-plugin-vuex-5.0.8.tgz"
integrity sha512-HSYWPqrunRE5ZZs8kVwiY6oWcn95qf/OQabwLfprhdpFWAGtLStShjsGED2aDpSSeGAskQETrtR/5h7VqgIlBA==
"@vue/cli-service@^3.0.0 || ^4.0.0 || ^5.0.0-0", "@vue/cli-service@~5.0.0":
"@vue/cli-service@~5.0.0":
version "5.0.8"
resolved "https://registry.npmmirror.com/@vue/cli-service/-/cli-service-5.0.8.tgz"
integrity sha512-nV7tYQLe7YsTtzFrfOMIHc5N2hp5lHG2rpYr0aNja9rNljdgcPZLyQRb2YRivTHqTv7lI962UXFURcpStHgyFw==
@ -1682,7 +1682,7 @@
resolved "https://registry.npmmirror.com/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz"
integrity sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==
"@webassemblyjs/ast@^1.11.5", "@webassemblyjs/ast@1.11.6":
"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5":
version "1.11.6"
resolved "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.11.6.tgz"
integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==
@ -1783,7 +1783,7 @@
"@webassemblyjs/wasm-gen" "1.11.6"
"@webassemblyjs/wasm-parser" "1.11.6"
"@webassemblyjs/wasm-parser@^1.11.5", "@webassemblyjs/wasm-parser@1.11.6":
"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5":
version "1.11.6"
resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz"
integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==
@ -1826,12 +1826,7 @@ acorn-import-assertions@^1.9.0:
resolved "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz"
integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==
acorn-jsx@^5.3.1:
version "5.3.2"
resolved "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz"
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
acorn-jsx@^5.3.2:
acorn-jsx@^5.3.1, acorn-jsx@^5.3.2:
version "5.3.2"
resolved "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz"
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
@ -1841,20 +1836,20 @@ acorn-walk@^8.0.0, acorn-walk@^8.0.2:
resolved "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-8.2.0.tgz"
integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8, acorn@^8.0.4, acorn@^8.0.5, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0:
version "8.12.1"
resolved "https://registry.npmmirror.com/acorn/-/acorn-8.12.1.tgz"
integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==
acorn@8.8.2:
version "8.8.2"
resolved "https://registry.npmmirror.com/acorn/-/acorn-8.8.2.tgz"
integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==
acorn@^7.4.0:
version "7.4.1"
resolved "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz"
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
acorn@8.8.2:
version "8.8.2"
resolved "https://registry.npmmirror.com/acorn/-/acorn-8.8.2.tgz"
integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==
acorn@^8.0.4, acorn@^8.0.5, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0:
version "8.12.1"
resolved "https://registry.npmmirror.com/acorn/-/acorn-8.12.1.tgz"
integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==
address@^1.1.2:
version "1.2.2"
@ -1880,7 +1875,7 @@ ajv-keywords@^5.1.0:
dependencies:
fast-deep-equal "^3.1.3"
ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1:
ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5:
version "6.12.6"
resolved "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz"
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
@ -1890,17 +1885,7 @@ ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1:
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
ajv@^8.0.0, ajv@^8.8.2, ajv@^8.9.0:
version "8.12.0"
resolved "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz"
integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==
dependencies:
fast-deep-equal "^3.1.1"
json-schema-traverse "^1.0.0"
require-from-string "^2.0.2"
uri-js "^4.2.2"
ajv@^8.0.1:
ajv@^8.0.0, ajv@^8.0.1, ajv@^8.9.0:
version "8.12.0"
resolved "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz"
integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==
@ -1984,16 +1969,16 @@ array-differ@^3.0.0:
resolved "https://registry.npmmirror.com/array-differ/-/array-differ-3.0.0.tgz"
integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==
array-flatten@^2.1.2:
version "2.1.2"
resolved "https://registry.npmmirror.com/array-flatten/-/array-flatten-2.1.2.tgz"
integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==
array-flatten@1.1.1:
version "1.1.1"
resolved "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz"
integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
array-flatten@^2.1.2:
version "2.1.2"
resolved "https://registry.npmmirror.com/array-flatten/-/array-flatten-2.1.2.tgz"
integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==
array-union@^2.1.0:
version "2.1.0"
resolved "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz"
@ -2212,7 +2197,7 @@ braces@^3.0.2, braces@~3.0.2:
dependencies:
fill-range "^7.0.1"
browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.3, browserslist@^4.21.3, browserslist@^4.21.4, browserslist@^4.21.5, "browserslist@>= 4.21.0":
browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.3, browserslist@^4.21.3, browserslist@^4.21.4, browserslist@^4.21.5:
version "4.21.9"
resolved "https://registry.npmmirror.com/browserslist/-/browserslist-4.21.9.tgz"
integrity sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==
@ -2299,16 +2284,15 @@ case-sensitive-paths-webpack-plugin@^2.3.0:
resolved "https://registry.npmmirror.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz"
integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==
chalk@^2.0.0:
version "2.4.2"
resolved "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
chalk@4.1.2, chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2:
version "4.1.2"
resolved "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz"
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
dependencies:
ansi-styles "^3.2.1"
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
ansi-styles "^4.1.0"
supports-color "^7.1.0"
chalk@^2.1.0:
chalk@^2.0.0, chalk@^2.1.0:
version "2.4.2"
resolved "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@ -2325,14 +2309,6 @@ chalk@^3.0.0:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2, chalk@4.1.2:
version "4.1.2"
resolved "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz"
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
dependencies:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
chance@1.1.9:
version "1.1.9"
resolved "https://registry.npmmirror.com/chance/-/chance-1.1.9.tgz"
@ -2466,16 +2442,16 @@ color-convert@^2.0.1:
dependencies:
color-name "~1.1.4"
color-name@~1.1.4:
version "1.1.4"
resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
color-name@1.1.3:
version "1.1.3"
resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz"
integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
color-name@~1.1.4:
version "1.1.4"
resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
colord@^2.9.1:
version "2.9.3"
resolved "https://registry.npmmirror.com/colord/-/colord-2.9.3.tgz"
@ -2493,6 +2469,11 @@ combined-stream@^1.0.8:
dependencies:
delayed-stream "~1.0.0"
commander@10.0.0:
version "10.0.0"
resolved "https://registry.npmmirror.com/commander/-/commander-10.0.0.tgz"
integrity sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==
commander@^2.20.0:
version "2.20.3"
resolved "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz"
@ -2508,11 +2489,6 @@ commander@^8.3.0:
resolved "https://registry.npmmirror.com/commander/-/commander-8.3.0.tgz"
integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==
commander@10.0.0:
version "10.0.0"
resolved "https://registry.npmmirror.com/commander/-/commander-10.0.0.tgz"
integrity sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==
commondir@^1.0.1:
version "1.0.1"
resolved "https://registry.npmmirror.com/commondir/-/commondir-1.0.1.tgz"
@ -2673,7 +2649,7 @@ css-declaration-sorter@^6.3.1:
resolved "https://registry.npmmirror.com/css-declaration-sorter/-/css-declaration-sorter-6.4.0.tgz"
integrity sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew==
css-loader@*, css-loader@^6.5.0:
css-loader@^6.5.0:
version "6.8.1"
resolved "https://registry.npmmirror.com/css-loader/-/css-loader-6.8.1.tgz"
integrity sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==
@ -2799,14 +2775,14 @@ de-indent@^1.0.2:
resolved "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz"
integrity sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==
debug@^3.2.6:
version "3.2.7"
resolved "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz"
integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
debug@2.6.9:
version "2.6.9"
resolved "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
dependencies:
ms "^2.1.1"
ms "2.0.0"
debug@^3.2.7:
debug@^3.2.6, debug@^3.2.7:
version "3.2.7"
resolved "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz"
integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
@ -2820,13 +2796,6 @@ debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2:
dependencies:
ms "2.1.2"
debug@2.6.9:
version "2.6.9"
resolved "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
dependencies:
ms "2.0.0"
deep-is@^0.1.3, deep-is@~0.1.3:
version "0.1.4"
resolved "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz"
@ -2879,16 +2848,16 @@ delayed-stream@~1.0.0:
resolved "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz"
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
depd@~1.1.2:
version "1.1.2"
resolved "https://registry.npmmirror.com/depd/-/depd-1.1.2.tgz"
integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==
depd@2.0.0:
version "2.0.0"
resolved "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz"
integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
depd@~1.1.2:
version "1.1.2"
resolved "https://registry.npmmirror.com/depd/-/depd-1.1.2.tgz"
integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==
destroy@1.2.0:
version "1.2.0"
resolved "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz"
@ -3134,7 +3103,7 @@ eslint-plugin-vue@^8.0.3:
semver "^7.3.5"
vue-eslint-parser "^8.0.1"
eslint-scope@^5.1.1, eslint-scope@5.1.1:
eslint-scope@5.1.1, eslint-scope@^5.1.1:
version "5.1.1"
resolved "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz"
integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
@ -3142,14 +3111,6 @@ eslint-scope@^5.1.1, eslint-scope@5.1.1:
esrecurse "^4.3.0"
estraverse "^4.1.1"
eslint-scope@^7.0.0:
version "7.2.0"
resolved "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.2.0.tgz"
integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==
dependencies:
esrecurse "^4.3.0"
estraverse "^5.2.0"
eslint-scope@7.1.1:
version "7.1.1"
resolved "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.1.1.tgz"
@ -3158,6 +3119,14 @@ eslint-scope@7.1.1:
esrecurse "^4.3.0"
estraverse "^5.2.0"
eslint-scope@^7.0.0:
version "7.2.0"
resolved "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.2.0.tgz"
integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==
dependencies:
esrecurse "^4.3.0"
estraverse "^5.2.0"
eslint-utils@^2.1.0:
version "2.1.0"
resolved "https://registry.npmmirror.com/eslint-utils/-/eslint-utils-2.1.0.tgz"
@ -3172,12 +3141,12 @@ eslint-utils@^3.0.0:
dependencies:
eslint-visitor-keys "^2.0.0"
eslint-visitor-keys@^1.1.0:
version "1.3.0"
resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz"
integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
eslint-visitor-keys@3.3.0:
version "3.3.0"
resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz"
integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
eslint-visitor-keys@^1.3.0:
eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
version "1.3.0"
resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz"
integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
@ -3192,11 +3161,6 @@ eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.4.1:
resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz"
integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==
eslint-visitor-keys@3.3.0:
version "3.3.0"
resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz"
integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
eslint-webpack-plugin@^3.1.0:
version "3.2.0"
resolved "https://registry.npmmirror.com/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz"
@ -3208,7 +3172,7 @@ eslint-webpack-plugin@^3.1.0:
normalize-path "^3.0.0"
schema-utils "^4.0.0"
"eslint@^6.2.0 || ^7.0.0 || ^8.0.0", "eslint@^7.0.0 || ^8.0.0", eslint@^7.32.0, "eslint@^7.5.0 || ^8.0.0", eslint@>=5, eslint@>=6.0.0, eslint@>=7.5.0:
eslint@^7.32.0:
version "7.32.0"
resolved "https://registry.npmmirror.com/eslint/-/eslint-7.32.0.tgz"
integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==
@ -3404,7 +3368,7 @@ express@^4.17.3:
utils-merge "1.0.1"
vary "~1.1.2"
fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3, fast-deep-equal@3.1.3:
fast-deep-equal@3.1.3, fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
@ -3569,6 +3533,11 @@ fs.realpath@^1.0.0:
resolved "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz"
integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
fsevents@~2.3.2:
version "2.3.3"
resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
function-bind@^1.1.1, function-bind@^1.1.2:
version "1.1.2"
resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz"
@ -3653,14 +3622,7 @@ globals@^11.1.0:
resolved "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz"
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
globals@^13.6.0:
version "13.20.0"
resolved "https://registry.npmmirror.com/globals/-/globals-13.20.0.tgz"
integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==
dependencies:
type-fest "^0.20.2"
globals@^13.9.0:
globals@^13.6.0, globals@^13.9.0:
version "13.20.0"
resolved "https://registry.npmmirror.com/globals/-/globals-13.20.0.tgz"
integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==
@ -3845,16 +3807,6 @@ http-deceiver@^1.2.7:
resolved "https://registry.npmmirror.com/http-deceiver/-/http-deceiver-1.2.7.tgz"
integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==
http-errors@~1.6.2:
version "1.6.3"
resolved "https://registry.npmmirror.com/http-errors/-/http-errors-1.6.3.tgz"
integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==
dependencies:
depd "~1.1.2"
inherits "2.0.3"
setprototypeof "1.1.0"
statuses ">= 1.4.0 < 2"
http-errors@2.0.0:
version "2.0.0"
resolved "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz"
@ -3866,6 +3818,16 @@ http-errors@2.0.0:
statuses "2.0.1"
toidentifier "1.0.1"
http-errors@~1.6.2:
version "1.6.3"
resolved "https://registry.npmmirror.com/http-errors/-/http-errors-1.6.3.tgz"
integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==
dependencies:
depd "~1.1.2"
inherits "2.0.3"
setprototypeof "1.1.0"
statuses ">= 1.4.0 < 2"
http-parser-js@>=0.5.1:
version "0.5.8"
resolved "https://registry.npmmirror.com/http-parser-js/-/http-parser-js-0.5.8.tgz"
@ -3896,13 +3858,6 @@ human-signals@^2.1.0:
resolved "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz"
integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
iconv-lite@^0.6.3:
version "0.6.3"
resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz"
integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
dependencies:
safer-buffer ">= 2.1.2 < 3.0.0"
iconv-lite@0.4.24:
version "0.4.24"
resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz"
@ -3910,6 +3865,13 @@ iconv-lite@0.4.24:
dependencies:
safer-buffer ">= 2.1.2 < 3"
iconv-lite@^0.6.3:
version "0.6.3"
resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz"
integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
dependencies:
safer-buffer ">= 2.1.2 < 3.0.0"
icss-utils@^5.0.0, icss-utils@^5.1.0:
version "5.1.0"
resolved "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz"
@ -3956,7 +3918,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@2, inherits@2.0.4:
inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
version "2.0.4"
resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
@ -3971,16 +3933,16 @@ inversify@6.0.1:
resolved "https://registry.npmmirror.com/inversify/-/inversify-6.0.1.tgz"
integrity sha512-B3ex30927698TJENHR++8FfEaJGqoWOgI6ZY5Ht/nLUsFCwHn6akbwtnUAPCgUepAnTpe2qHxhDNjoKLyz6rgQ==
ipaddr.js@^2.0.1:
version "2.1.0"
resolved "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz"
integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==
ipaddr.js@1.9.1:
version "1.9.1"
resolved "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz"
integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
ipaddr.js@^2.0.1:
version "2.1.0"
resolved "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz"
integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==
is-arguments@^1.0.4:
version "1.1.1"
resolved "https://registry.npmmirror.com/is-arguments/-/is-arguments-1.1.1.tgz"
@ -4145,7 +4107,7 @@ isobject@^3.0.1:
resolved "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz"
integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==
"javascript-obfuscator@^2.8.0 || ^3.0.0 || ^4.0.0", javascript-obfuscator@^4.1.1:
javascript-obfuscator@^4.1.1:
version "4.1.1"
resolved "https://registry.npmmirror.com/javascript-obfuscator/-/javascript-obfuscator-4.1.1.tgz"
integrity sha512-gt+KZpIIrrxXHEQGD8xZrL8mTRwRY0U76/xz/YX0gZdPrSqQhT/c7dYLASlLlecT3r+FxE7je/+C0oLnTDCx4A==
@ -4322,7 +4284,7 @@ less-loader@^11.1.3:
resolved "https://registry.npmmirror.com/less-loader/-/less-loader-11.1.3.tgz"
integrity sha512-A5b7O8dH9xpxvkosNrP0dFp2i/dISOJa9WwGF3WJflfqIERE2ybxh1BFDj5CovC2+jCE4M354mk90hN6ziXlVw==
"less@^3.5.0 || ^4.0.0", less@^4.1.3:
less@^4.1.3:
version "4.1.3"
resolved "https://registry.npmmirror.com/less/-/less-4.1.3.tgz"
integrity sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==
@ -4577,7 +4539,7 @@ micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5:
braces "^3.0.2"
picomatch "^2.3.1"
"mime-db@>= 1.43.0 < 2", mime-db@1.52.0:
mime-db@1.52.0, "mime-db@>= 1.43.0 < 2":
version "1.52.0"
resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz"
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
@ -4589,7 +4551,7 @@ mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17,
dependencies:
mime-db "1.52.0"
mime@^1.4.1, mime@1.6.0:
mime@1.6.0, mime@^1.4.1:
version "1.6.0"
resolved "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz"
integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
@ -4635,6 +4597,11 @@ minipass@^3.1.1:
dependencies:
yallist "^4.0.0"
mkdirp@2.1.3:
version "2.1.3"
resolved "https://registry.npmmirror.com/mkdirp/-/mkdirp-2.1.3.tgz"
integrity sha512-sjAkg21peAG9HS+Dkx7hlG9Ztx7HLeKnvB3NQRcu/mltCVmvkF0pisbiTSfDVYTT86XEfZrTUosLdZLStquZUw==
mkdirp@^0.5.6:
version "0.5.6"
resolved "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz"
@ -4642,11 +4609,6 @@ mkdirp@^0.5.6:
dependencies:
minimist "^1.2.6"
mkdirp@2.1.3:
version "2.1.3"
resolved "https://registry.npmmirror.com/mkdirp/-/mkdirp-2.1.3.tgz"
integrity sha512-sjAkg21peAG9HS+Dkx7hlG9Ztx7HLeKnvB3NQRcu/mltCVmvkF0pisbiTSfDVYTT86XEfZrTUosLdZLStquZUw==
module-alias@^2.2.2:
version "2.2.3"
resolved "https://registry.npmmirror.com/module-alias/-/module-alias-2.2.3.tgz"
@ -4657,11 +4619,6 @@ mrmime@^1.0.0:
resolved "https://registry.npmmirror.com/mrmime/-/mrmime-1.0.1.tgz"
integrity sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==
ms@^2.1.1, ms@2.1.3:
version "2.1.3"
resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
ms@2.0.0:
version "2.0.0"
resolved "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz"
@ -4672,6 +4629,11 @@ ms@2.1.2:
resolved "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
ms@2.1.3, ms@^2.1.1:
version "2.1.3"
resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
multi-stage-sourcemap@^0.3.1:
version "0.3.1"
resolved "https://registry.npmmirror.com/multi-stage-sourcemap/-/multi-stage-sourcemap-0.3.1.tgz"
@ -4687,7 +4649,7 @@ multicast-dns@^7.2.5:
dns-packet "^5.2.2"
thunky "^1.0.2"
multimatch@^5.0.0, multimatch@5.0.0:
multimatch@5.0.0, multimatch@^5.0.0:
version "5.0.0"
resolved "https://registry.npmmirror.com/multimatch/-/multimatch-5.0.0.tgz"
integrity sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==
@ -5063,12 +5025,7 @@ path-key@^2.0.0, path-key@^2.0.1:
resolved "https://registry.npmmirror.com/path-key/-/path-key-2.0.1.tgz"
integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==
path-key@^3.0.0:
version "3.1.1"
resolved "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz"
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
path-key@^3.1.0:
path-key@^3.0.0, path-key@^3.1.0:
version "3.1.1"
resolved "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz"
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
@ -5376,15 +5333,6 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0:
resolved "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
"postcss@^7.0.0 || ^8.0.1", postcss@^8.0.9, postcss@^8.1.0, postcss@^8.2.15, postcss@^8.2.2, postcss@^8.2.6, postcss@^8.3.5, postcss@^8.4.14, postcss@^8.4.21:
version "8.4.24"
resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.24.tgz"
integrity sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==
dependencies:
nanoid "^3.3.6"
picocolors "^1.0.0"
source-map-js "^1.0.2"
postcss@^7.0.36:
version "7.0.39"
resolved "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz"
@ -5393,6 +5341,15 @@ postcss@^7.0.36:
picocolors "^0.2.1"
source-map "^0.6.1"
postcss@^8.2.6, postcss@^8.3.5, postcss@^8.4.14, postcss@^8.4.21:
version "8.4.24"
resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.24.tgz"
integrity sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==
dependencies:
nanoid "^3.3.6"
picocolors "^1.0.0"
source-map-js "^1.0.2"
prelude-ls@^1.2.1:
version "1.2.1"
resolved "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz"
@ -5706,21 +5663,16 @@ run-parallel@^1.1.9:
dependencies:
queue-microtask "^1.2.2"
safe-buffer@^5.1.0, safe-buffer@>=5.1.0, safe-buffer@~5.2.0, safe-buffer@5.2.1:
safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.2"
resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz"
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0:
version "5.2.1"
resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.2"
resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz"
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
safe-buffer@5.1.2:
version "5.1.2"
resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz"
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0":
version "2.1.2"
resolved "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz"
@ -5740,25 +5692,7 @@ schema-utils@^2.6.5:
ajv "^6.12.4"
ajv-keywords "^3.5.2"
schema-utils@^3.0.0:
version "3.3.0"
resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz"
integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==
dependencies:
"@types/json-schema" "^7.0.8"
ajv "^6.12.5"
ajv-keywords "^3.5.2"
schema-utils@^3.1.1:
version "3.3.0"
resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz"
integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==
dependencies:
"@types/json-schema" "^7.0.8"
ajv "^6.12.5"
ajv-keywords "^3.5.2"
schema-utils@^3.2.0:
schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0:
version "3.3.0"
resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz"
integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==
@ -5789,12 +5723,7 @@ selfsigned@^2.1.1:
dependencies:
node-forge "^1"
semver@^5.5.0:
version "5.7.1"
resolved "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
semver@^5.6.0:
"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0:
version "5.7.1"
resolved "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
@ -5804,39 +5733,13 @@ semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
resolved "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
semver@^7.2.1:
semver@^7.2.1, semver@^7.3.4, semver@^7.3.5, semver@^7.3.8:
version "7.5.3"
resolved "https://registry.npmmirror.com/semver/-/semver-7.5.3.tgz"
integrity sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==
dependencies:
lru-cache "^6.0.0"
semver@^7.3.4:
version "7.5.3"
resolved "https://registry.npmmirror.com/semver/-/semver-7.5.3.tgz"
integrity sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==
dependencies:
lru-cache "^6.0.0"
semver@^7.3.5:
version "7.5.3"
resolved "https://registry.npmmirror.com/semver/-/semver-7.5.3.tgz"
integrity sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==
dependencies:
lru-cache "^6.0.0"
semver@^7.3.8:
version "7.5.3"
resolved "https://registry.npmmirror.com/semver/-/semver-7.5.3.tgz"
integrity sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==
dependencies:
lru-cache "^6.0.0"
"semver@2 || 3 || 4 || 5":
version "5.7.1"
resolved "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
send@0.18.0:
version "0.18.0"
resolved "https://registry.npmmirror.com/send/-/send-0.18.0.tgz"
@ -6000,7 +5903,7 @@ source-map-js@^1.0.2:
resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz"
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
source-map-support@~0.5.20, source-map-support@0.5.21:
source-map-support@0.5.21, source-map-support@~0.5.20:
version "0.5.21"
resolved "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz"
integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
@ -6091,29 +5994,15 @@ stackframe@^1.3.4:
resolved "https://registry.npmmirror.com/stackframe/-/stackframe-1.3.4.tgz"
integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==
"statuses@>= 1.4.0 < 2":
version "1.5.0"
resolved "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz"
integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
statuses@2.0.1:
version "2.0.1"
resolved "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz"
integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
string_decoder@^1.1.1:
version "1.3.0"
resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz"
integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
dependencies:
safe-buffer "~5.2.0"
string_decoder@~1.1.1:
version "1.1.1"
resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz"
integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
dependencies:
safe-buffer "~5.1.0"
"statuses@>= 1.4.0 < 2":
version "1.5.0"
resolved "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz"
integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
string-template@1.0.0:
version "1.0.0"
@ -6137,6 +6026,20 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.1"
string_decoder@^1.1.1:
version "1.3.0"
resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz"
integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
dependencies:
safe-buffer "~5.2.0"
string_decoder@~1.1.1:
version "1.1.1"
resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz"
integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
dependencies:
safe-buffer "~5.1.0"
stringz@2.1.0:
version "2.1.0"
resolved "https://registry.npmmirror.com/stringz/-/stringz-2.1.0.tgz"
@ -6334,16 +6237,16 @@ tr46@~0.0.3:
resolved "https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz"
integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
tslib@^2.0.3, tslib@^2.3.0:
version "2.6.0"
resolved "https://registry.npmmirror.com/tslib/-/tslib-2.6.0.tgz"
integrity sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==
tslib@2.5.0:
version "2.5.0"
resolved "https://registry.npmmirror.com/tslib/-/tslib-2.5.0.tgz"
integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==
tslib@^2.0.3, tslib@^2.3.0:
version "2.6.0"
resolved "https://registry.npmmirror.com/tslib/-/tslib-2.6.0.tgz"
integrity sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==
type-check@^0.4.0, type-check@~0.4.0:
version "0.4.0"
resolved "https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz"
@ -6409,7 +6312,7 @@ universalify@^2.0.0:
resolved "https://registry.npmmirror.com/universalify/-/universalify-2.0.0.tgz"
integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
unpipe@~1.0.0, unpipe@1.0.0:
unpipe@1.0.0, unpipe@~1.0.0:
version "1.0.0"
resolved "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz"
integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
@ -6460,9 +6363,8 @@ uuid@^8.3.2:
resolved "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz"
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
"v3@file:":
"v3@file:.":
version "0.1.0"
resolved "file:"
dependencies:
axios "^1.6.8"
core-js "^3.8.3"
@ -6478,7 +6380,7 @@ uuid@^8.3.2:
lodash.throttle "^4.1.1"
logt "^1.4.1"
nprogress "0.2.0"
v3 "file:"
v3 "file:C:/Users/Administrator/AppData/Local/Yarn/Cache/v6/npm-v3-0.1.0-3e9026ee-069e-4094-b2ce-905e20bc1e7e-1749400098525/node_modules/v3"
vue "^2.6.14"
vue-router "^3.1.3"
vuex "3.6.0"
@ -6546,7 +6448,7 @@ vue-style-loader@^4.1.0, vue-style-loader@^4.1.3:
hash-sum "^1.0.2"
loader-utils "^1.0.2"
vue-template-compiler@^2.0.0, vue-template-compiler@^2.6.14:
vue-template-compiler@^2.6.14:
version "2.7.14"
resolved "https://registry.npmmirror.com/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz"
integrity sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==
@ -6559,7 +6461,7 @@ vue-template-es2015-compiler@^1.9.0:
resolved "https://registry.npmmirror.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz"
integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==
vue@*, "vue@^2 || ^3.2.13", vue@^2.0.0, vue@^2.5.17, vue@^2.6.14:
vue@^2.6.14:
version "2.7.14"
resolved "https://registry.npmmirror.com/vue/-/vue-2.7.14.tgz"
integrity sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ==
@ -6688,11 +6590,6 @@ webpack-obfuscator@^3.5.1:
multimatch "^5.0.0"
webpack-sources "^2.0.1"
webpack-sources@*, webpack-sources@^3.2.3:
version "3.2.3"
resolved "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz"
integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
webpack-sources@^2.0.1:
version "2.3.1"
resolved "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-2.3.1.tgz"
@ -6701,12 +6598,17 @@ webpack-sources@^2.0.1:
source-list-map "^2.0.1"
source-map "^0.6.1"
webpack-sources@^3.2.3:
version "3.2.3"
resolved "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz"
integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
webpack-virtual-modules@^0.4.2:
version "0.4.6"
resolved "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.4.6.tgz"
integrity sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==
"webpack@^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0", "webpack@^3.0.0 || ^4.1.0 || ^5.0.0-0", "webpack@^4.0.0 || ^5.0.0", "webpack@^4.1.0 || ^5.0.0-0", "webpack@^4.27.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", webpack@^5.0.0, webpack@^5.1.0, webpack@^5.20.0, webpack@^5.54.0, webpack@>=2:
webpack@^5.54.0:
version "5.88.1"
resolved "https://registry.npmmirror.com/webpack/-/webpack-5.88.1.tgz"
integrity sha512-FROX3TxQnC/ox4N+3xQoWZzvGXSuscxR32rbzjpXgEzWudJFEJBpdlkkob2ylrv5yzzufD1zph1OoFsLtm6stQ==
@ -6736,7 +6638,7 @@ webpack-virtual-modules@^0.4.2:
watchpack "^2.4.0"
webpack-sources "^3.2.3"
websocket-driver@^0.7.4, websocket-driver@>=0.5.1:
websocket-driver@>=0.5.1, websocket-driver@^0.7.4:
version "0.7.4"
resolved "https://registry.npmmirror.com/websocket-driver/-/websocket-driver-0.7.4.tgz"
integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==