Commit adb233f3 by 潘建波

暂时去除登录星云效果

1 parent db60e2e7
No preview for this file type
...@@ -6,36 +6,36 @@ ...@@ -6,36 +6,36 @@
<script> <script>
export default { export default {
data() { data() {
return { return {};
}
}, },
created(){ created() {
let menus = JSON.parse(localStorage.getItem('menu')) let menus = JSON.parse(localStorage.getItem("menu"));
if(menus) { if (menus) {
this.$store.dispatch('GetMenuRole',menus).then(res => {}) this.$store.dispatch("GetMenuRole", menus).then(res => {});
}
let token = localStorage.getItem("atoken");
if (!token) {
this.$router.push("/login");
} }
}, },
mounted(){ mounted() {
window.videoEquitTableHeight = document.body.clientHeight - 142 + 'px'; window.videoEquitTableHeight = document.body.clientHeight - 142 + "px";
window.opsTableHeight = document.body.clientHeight - 260 + 'px'; window.opsTableHeight = document.body.clientHeight - 260 + "px";
if(document.body.clientWidth>1366){ if (document.body.clientWidth > 1366) {
window.oneSearchTableHeight = document.body.clientHeight - 250 + 'px'; window.oneSearchTableHeight = document.body.clientHeight - 250 + "px";
window.twoSearchTableHeight = document.body.clientHeight - 280 + 'px'; window.twoSearchTableHeight = document.body.clientHeight - 280 + "px";
} else {
}else { window.oneSearchTableHeight = document.body.clientHeight - 280 + "px";
window.oneSearchTableHeight = document.body.clientHeight - 280 + 'px'; window.twoSearchTableHeight = document.body.clientHeight - 315 + "px";
window.twoSearchTableHeight = document.body.clientHeight - 315 + 'px'; }
}
} }
} };
</script> </script>
<style lang="scss"> <style lang="scss">
#app { #app {
height: 100%; height: 100%;
font-family:MicrosoftYaHeiUI; font-family: MicrosoftYaHeiUI;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
......
import axios from 'axios' import axios from "axios";
import store from '../store/index.js' import store from "../store/index.js";
import router from "../router/index";
// 创建 axios 实例 // 创建 axios 实例
let service = axios.create({ let service = axios.create({
// headers: {'Content-Type': 'application/json'}, // headers: {'Content-Type': 'application/json'},
timeout: 60000 timeout: 60000
}) });
// 添加请求拦截器 // 添加请求拦截器
service.interceptors.request.use( service.interceptors.request.use(
(config) => { config => {
if (store.state.users.atoken) { // 判断是否存在token,如果存在的话,则每个http header都加上token let token = localStorage.getItem("atoken");
config.headers.authorization = store.state.users.atoken; if (token) {
} // 判断是否存在token,如果存在的话,则每个http header都加上token
if (config.method == 'get') { config.headers.authorization = token;
config.params = { } else {
_t: Date.parse(new Date()) / 1000, router.push("/login");
...config.params }
} if (config.method == "get") {
} config.params = {
return config _t: Date.parse(new Date()) / 1000,
...config.params
};
}
return config;
}, },
(error) => { error => {
// 请求错误处理 // 请求错误处理
return Promise.reject(error) return Promise.reject(error);
} }
) );
// 添加响应拦截器 // 添加响应拦截器
service.interceptors.response.use( service.interceptors.response.use(
(response) => { response => {
let { data } = response let { data } = response;
return data return data;
}, },
(error) => { error => {
console.log(error) console.log(error);
return Promise.reject(error) return Promise.reject(error);
} }
) );
/** /**
* 创建统一封装过的 axios 实例 * 创建统一封装过的 axios 实例
* @return {AxiosInstance} * @return {AxiosInstance}
*/ */
export default function() { export default function() {
return service return service;
} }
...@@ -18,10 +18,10 @@ Vue.prototype.$echarts = echarts; ...@@ -18,10 +18,10 @@ Vue.prototype.$echarts = echarts;
Vue.prototype.$moment = moment; Vue.prototype.$moment = moment;
Vue.prototype.$buildCode = buildCode; Vue.prototype.$buildCode = buildCode;
Vue.prototype.oParse = new XML.ObjTree(); Vue.prototype.oParse = new XML.ObjTree();
Vue.prototype.axios=axios; Vue.prototype.axios = axios;
import VueParticles from 'vue-particles' // import VueParticles from "vue-particles";
Vue.use(VueParticles) // Vue.use(VueParticles);
Vue.use(api); Vue.use(api);
Vue.use(ElementUI, { size: "small", zIndex: 3000 }); Vue.use(ElementUI, { size: "small", zIndex: 3000 });
......
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
</template> </template>
<script> <script>
import types from "../../store/types.js";
// import HelloWorld from "@/components/HelloWorld.vue"; // import HelloWorld from "@/components/HelloWorld.vue";
import menus from "./menu"; import menus from "./menu";
export default { export default {
...@@ -110,11 +111,10 @@ export default { ...@@ -110,11 +111,10 @@ export default {
this.curdate = `${Y}/${M}/${D} ${h}:${m}:${s} ${wtext}`; this.curdate = `${Y}/${M}/${D} ${h}:${m}:${s} ${wtext}`;
}, },
logout() { logout() {
localStorage.removeItem("atkoen");
localStorage.removeItem("menu"); localStorage.removeItem("menu");
localStorage.removeItem("curmenu"); localStorage.removeItem("curmenu");
this.$store.commit(types.ATOKEN, ""); this.$store.commit(types.ATOKEN, "");
localStorage.removeItem("atkoen"); localStorage.removeItem("atoken");
this.$router.push("/login"); this.$router.push("/login");
} }
}, },
......
<template> <template>
<div id="login" :style="{height:innerHeight+'px'}"> <div id="login" :style="{ height: innerHeight + 'px' }">
<vue-particles <vue-particles
color="#dedede" color="#dedede"
:particleOpacity="0.7" :particleOpacity="0.7"
:particlesNumber="80" :particlesNumber="80"
shapeType="circle" shapeType="circle"
:particleSize="4" :particleSize="4"
linesColor="#dedede" linesColor="#dedede"
:linesWidth="1" :linesWidth="1"
:lineLinked="true" :lineLinked="true"
:lineOpacity="0.4" :lineOpacity="0.4"
:linesDistance="150" :linesDistance="150"
:moveSpeed="3" :moveSpeed="3"
:hoverEffect="true" :hoverEffect="true"
hoverMode="grab" hoverMode="grab"
:clickEffect="true" :clickEffect="true"
clickMode="push" clickMode="push"
> >
</vue-particles> </vue-particles>
<div class="box"> <div class="box">
<h1>视频分析综合管理平台</h1> <h1>视频分析综合管理平台</h1>
<div style="width: 60%;margin: 0 auto;"> <div style="width: 60%;margin: 0 auto;">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="0px" class="demo-ruleForm"> <el-form
<el-form-item label=" " prop="username"> :model="ruleForm"
<el-input v-model="ruleForm.username" placeholder="请输入用户名"></el-input> :rules="rules"
</el-form-item> ref="ruleForm"
<el-form-item label=" " prop="password"> label-width="0px"
<el-input v-model="ruleForm.password" type="password" placeholder="请输入密码"></el-input> class="demo-ruleForm"
</el-form-item> >
<el-form-item> <el-form-item label=" " prop="username">
<el-button type="primary" @click="submitForm('ruleForm')">登 录</el-button> <el-input
</el-form-item> v-model="ruleForm.username"
</el-form> placeholder="请输入用户名"
</div> ></el-input>
</div> </el-form-item>
</div> <el-form-item label=" " prop="password">
<el-input
v-model="ruleForm.password"
type="password"
placeholder="请输入密码"
></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')"
>登 录</el-button
>
</el-form-item>
</el-form>
</div>
</div>
</div>
</template> </template>
<script> <script>
let sha1 = require('js-sha1'); let sha1 = require("js-sha1");
import types from '../store/types.js' import types from "../store/types.js";
export default { export default {
name: 'Login', name: "Login",
data() { data() {
var validatePass = (rule, value, callback) => { var validatePass = (rule, value, callback) => {
if (value === '') { if (value === "") {
callback(new Error('请输入密码')); callback(new Error("请输入密码"));
} else { } else {
callback(); callback();
} }
}; };
var validateUser = (rule, value, callback) => { var validateUser = (rule, value, callback) => {
if (value === '') { if (value === "") {
callback(new Error('请输入用户名')); callback(new Error("请输入用户名"));
} else { } else {
callback(); callback();
} }
}; };
return { return {
username: '', username: "",
password: '', password: "",
innerHeight:0, innerHeight: 0,
ruleForm:{ ruleForm: {
username:'', username: "",
password:'', password: ""
}, },
rules: { rules: {
password: [ password: [{ validator: validatePass, trigger: "change" }],
{ validator: validatePass, trigger: 'change' } username: [{ validator: validateUser, trigger: "change" }]
], }
username: [ };
{ validator: validateUser, trigger: 'change' } },
] methods: {
} submitForm(formName) {
} this.$refs[formName].validate(valid => {
}, if (valid) {
methods: { this.login();
submitForm(formName) { } else {
this.$refs[formName].validate((valid) => { return false;
if (valid) { }
this.login(); });
} else { },
return false; initHeight() {
} this.innerHeight = window.innerHeight;
}); },
}, login() {
initHeight(){ this.$api.login
this.innerHeight=window.innerHeight; .login({
}, username: this.ruleForm.username,
login(){ password: this.ruleForm.password,
this.$api.login.login({ user_type: "user"
"username":this.ruleForm.username, })
"password":this.ruleForm.password, .then(res => {
"user_type": "user" if (!res.ecode) {
}).then(res => { this.$store.commit(types.ATOKEN, res.atoken);
if(!res.ecode){ // localStorage.setItem('rtoken',m.data.rtoken)
this.$store.commit(types.ATOKEN,res.atoken); sessionStorage.setItem("user_unid", res.user_unid);
// localStorage.setItem('rtoken',m.data.rtoken) //本系统可以直接用本地缓存做
sessionStorage.setItem('user_unid',res.user_unid)
//本系统可以直接用本地缓存做
// localStorage.setItem('user_name',this.username)
// 处理登录用户权限菜单显示问题;
//算法配置列表
this.algoList();
//存储配置列表
this.storeConfList();
//code列表
this.getCatesList();
this.getCodeList();
this.getCustomCode();
this.getEventList();
this.getDev();
this.getMenu(res.user_unid);
}
}).catch((err) => { localStorage.setItem("atoken", res.atoken);
}) // 处理登录用户权限菜单显示问题;
}, //算法配置列表
getMenu(id){ this.algoList();
//获取菜单 //存储配置列表
this.$api.login.getMenus({ this.storeConfList();
"shape":"tree" //code列表
}).then(res=>{ this.getCatesList();
localStorage.setItem('menu', JSON.stringify(res.menu_tree[0].children)) this.getCodeList();
this.$store.dispatch('GetMenuRole',res.menu_tree[0].children).then(res => { this.getCustomCode();
this.$router.push('/') this.getEventList();
}) this.getDev();
}) this.getMenu(res.user_unid);
}, }
algoList() { })
this.$api.login.algocombs({ .catch(err => {});
limit: '', },
algo_set: 'video' getMenu(id) {
}).then(res => { //获取菜单
if(!res.ecode){ this.$api.login
this.$store.commit(types.ALGO,res.list_data); .getMenus({
} shape: "tree"
}).catch((err) => { })
}) .then(res => {
}, localStorage.setItem(
storeConfList(){ "menu",
this.$api.login.storeconfs({ JSON.stringify(res.menu_tree[0].children)
offset: 0, );
limit: '' this.$store
}).then(res => { .dispatch("GetMenuRole", res.menu_tree[0].children)
if(!res.ecode){ .then(res => {
this.$store.commit(types.STORECONF,res.list_data); this.$router.push("/");
} });
}).catch((err) => { });
}) },
}, algoList() {
getCodeList(){ this.$api.login
this.$api.codes.cates().then(res => { .algocombs({
res.list_data.forEach(item=>{ limit: "",
this.$api.codes.codes({ algo_set: "video"
},item.cate_unid).then(res => { })
// 存储code列表 .then(res => {
window.localStorage.setItem(item.name,JSON.stringify(res.list_data)) if (!res.ecode) {
// 存储单独code this.$store.commit(types.ALGO, res.list_data);
res.list_data.forEach(chilItem=>{ }
window.localStorage.setItem(item.name+'-'+chilItem.code,chilItem.name) })
}) .catch(err => {});
}).catch((err) => { },
}) storeConfList() {
}) this.$api.login
}).catch((err) => { .storeconfs({
}) offset: 0,
}, limit: ""
getCustomCode(){ })
this.$api.codes.customCode().then(res => { .then(res => {
if(res.list_data.length > 0) { if (!res.ecode) {
res.list_data.forEach((item) => { this.$store.commit(types.STORECONF, res.list_data);
window.localStorage.setItem(item.name + '-' + item.cate, item.unid); }
}) })
} else { .catch(err => {});
this.$message({ },
type: 'warning', getCodeList() {
message: '获取自定义编码失败!' this.$api.codes
}) .cates()
} .then(res => {
}).catch((err) => { res.list_data.forEach(item => {
}) this.$api.codes
.codes({}, item.cate_unid)
}, .then(res => {
getCatesList(){ // 存储code列表
this.$api.codes.eventCates({}).then(res=>{ window.localStorage.setItem(
// 存储cate列表 item.name,
window.localStorage.setItem('cate列表',JSON.stringify(res.list_data)) JSON.stringify(res.list_data)
// 存储单独code );
res.list_data.forEach(item=>{ // 存储单独code
this.getOneEventList(item.code,item.event_cate_unid) res.list_data.forEach(chilItem => {
}) window.localStorage.setItem(
}) item.name + "-" + chilItem.code,
}, chilItem.name
getOneEventList(code,id){ );
this.$api.codes.eventType({},id).then(res=>{ });
// 存储cate列表 })
window.localStorage.setItem(code,JSON.stringify(res.list_data)) .catch(err => {});
}) });
}, })
getEventList(){ .catch(err => {});
this.$api.search.eventTypes({}).then(res=>{ },
// 存储code列表 getCustomCode() {
window.localStorage.setItem('安防事件',JSON.stringify(res.list_data)) this.$api.codes
// 存储单独code .customCode()
res.list_data.forEach(item=>{ .then(res => {
window.localStorage.setItem('安防事件-'+item.code,item.name) if (res.list_data.length > 0) {
}) res.list_data.forEach(item => {
}) window.localStorage.setItem(
}, item.name + "-" + item.cate,
getDev() { item.unid
this.$api.resource.devs().then(res => { );
sessionStorage.setItem('dev_unid',res[0].dev_unid); });
this.getDevsName(res[0].dev_unid); } else {
}) this.$message({
}, type: "warning",
getDevsName(id){ message: "获取自定义编码失败!"
this.$api.resource.getDevsName({ });
is_leaf: 0 }
},id).then(res=>{ })
if(res.list_data.length>0){ .catch(err => {});
sessionStorage.setItem('device_id',res.list_data[0].device_id); },
} getCatesList() {
}) this.$api.codes.eventCates({}).then(res => {
}, // 存储cate列表
}, window.localStorage.setItem("cate列表", JSON.stringify(res.list_data));
watch: {}, // 存储单独code
mounted() { res.list_data.forEach(item => {
}, this.getOneEventList(item.code, item.event_cate_unid);
created() { });
this.initHeight(); });
} },
} getOneEventList(code, id) {
this.$api.codes.eventType({}, id).then(res => {
// 存储cate列表
window.localStorage.setItem(code, JSON.stringify(res.list_data));
});
},
getEventList() {
this.$api.search.eventTypes({}).then(res => {
// 存储code列表
window.localStorage.setItem("安防事件", JSON.stringify(res.list_data));
// 存储单独code
res.list_data.forEach(item => {
window.localStorage.setItem("安防事件-" + item.code, item.name);
});
});
},
getDev() {
this.$api.resource.devs().then(res => {
sessionStorage.setItem("dev_unid", res[0].dev_unid);
this.getDevsName(res[0].dev_unid);
});
},
getDevsName(id) {
this.$api.resource
.getDevsName(
{
is_leaf: 0
},
id
)
.then(res => {
if (res.list_data.length > 0) {
sessionStorage.setItem("device_id", res.list_data[0].device_id);
}
});
}
},
watch: {},
mounted() {},
created() {
this.initHeight();
}
};
</script> </script>
<!-- Add "scoped" attribute to limit CSS to this component only --> <!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="scss"> <style scoped lang="scss">
#particles{ #particles {
position: absolute; position: absolute;
width: 100%; width: 100%;
height: 100%; height: 100%;
background-color: #b61924; background-color: #b61924;
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: cover; background-size: cover;
background-position: 50% 50%; background-position: 50% 50%;
}
.loginTitle {
height: 60px;
background: #dcdcdc;
position: relative;
}
.loginTitle > div {
position: absolute;
text-align: left;
/*left: 5%;*/
height: 60px;
/*margin-top: 15px;*/
/*background: url(../assets/daer.jpg) no-repeat;*/
padding-left: 50px;
background-size: 100% 60px;
width: 150px;
}
.loginTitle > div span:first-child {
position: absolute;
left: 50px;
top: -5px;
font-weight: bold;
font-size: 18px;
font-family: "隶书";
}
.loginTitle > div span:last-child {
font-weight: 500;
font-size: 12px;
font-family: Aparajita;
position: absolute;
left: 50px;
top: 16px;
} }
.loginTitle{
height:60px;
background: #dcdcdc;
position: relative;
}
.loginTitle>div{
position: absolute;
text-align: left;
/*left: 5%;*/
height: 60px;
/*margin-top: 15px;*/
/*background: url(../assets/daer.jpg) no-repeat;*/
padding-left: 50px;
background-size: 100% 60px;
width:150px
}
.loginTitle>div span:first-child{
position: absolute;
left:50px;
top: -5px;
font-weight: bold;
font-size: 18px;
font-family: "隶书";
}
.loginTitle>div span:last-child{
font-weight: 500;
font-size: 12px;
font-family: Aparajita;
position: absolute;
left:50px;
top: 16px;
}
h1 { h1 {
color: #000000; color: #000000;
height: 40px; height: 40px;
line-height: 40px; line-height: 40px;
padding: 60px 0px; padding: 60px 0px;
font-size:44px; font-size: 44px;
} }
#login { #login {
text-align: center; text-align: center;
position: relative; position: relative;
background: url(../assets/img/login/background.png) no-repeat 0 0; background: url(../assets/img/login/background.png) no-repeat 0 0;
background-size:cover background-size: cover;
} }
#login input:focus { #login input:focus {
outline: none; outline: none;
box-shadow: none; box-shadow: none;
} }
.box{ .box {
width: 25%; width: 25%;
position: absolute; position: absolute;
left: 52%; left: 52%;
top: 20%; top: 20%;
}
button {
width: 100%;
margin-top: 40px;
border-radius: 30px;
background: #0069ff;
height: 50px;
font-size: 20px;
} }
button {
width: 100%;
margin-top: 40px;
border-radius: 30px;
background: #0069FF;
height: 50px;
font-size: 20px;
}
button:hover { button:hover {
color: #D6D9DF color: #d6d9df;
} }
p { p {
margin: 0; margin: 0;
} }
p:nth-child(1) { p:nth-child(1) {
padding-top: 15px padding-top: 15px;
} }
@media screen and (max-width: 1366px) { @media screen and (max-width: 1366px) {
h1 { h1 {
height: 40px; height: 40px;
line-height: 40px; line-height: 40px;
padding: 60px 0px; padding: 60px 0px;
font-size:34px; font-size: 34px;
} }
.box{ .box {
width: 25%; width: 25%;
position: absolute; position: absolute;
left: 57%; left: 57%;
top: 20%; top: 20%;
} }
} }
</style> </style>
<template> <template>
<div class="contentBox"> <div class="contentBox">
<div class="content"> <div class="content">
<div style="padding: 20px 15px 20px 23px;"> <div style="padding: 20px 15px 20px 23px;">
<span class="selectBox"> <span class="selectBox">
<el-select v-model="selectDevs" placeholder="请选择" @change="devsChange" :popper-append-to-body=false> <el-select
<el-option v-for="item in devsList" :value="item.device_id" :label='item.device_name'></el-option> v-model="selectDevs"
</el-select> placeholder="请选择"
</span> @change="devsChange"
<div class="resourceDiv"> :popper-append-to-body="false"
<span>图片可用分析资源:{{resource.picture_free}}</span> >
<span>图片在用分析资源:{{resource.picture_busy}}</span> <el-option
<span>视频可用分析资源:{{resource.video_free}}</span> v-for="(item, index) in devsList"
<span>视频在用分析资源:{{resource.video_busy}}</span> :key="index"
</div> :value="item.device_id"
:label="item.device_name"
</div> ></el-option>
<div style="padding: 0 15px 20px 23px;"> </el-select>
<el-table </span>
height="574" <div class="resourceDiv">
:data="tableData" <span>图片可用分析资源:{{ resource.picture_free }}</span>
stripe <span>图片在用分析资源:{{ resource.picture_busy }}</span>
border <span>视频可用分析资源:{{ resource.video_free }}</span>
style="width: 100%"> <span>视频在用分析资源:{{ resource.video_busy }}</span>
<el-table-column </div>
align="center" </div>
prop="device_name" <div style="padding: 0 15px 20px 23px;">
label="设备名称"> <el-table
</el-table-column> height="574"
<el-table-column :data="tableData"
prop="in_ip" stripe
align="center" border
label="ip地址"> style="width: 100%"
</el-table-column> >
<el-table-column <el-table-column align="center" prop="device_name" label="设备名称">
align="center" </el-table-column>
prop="online" <el-table-column prop="in_ip" align="center" label="ip地址">
:formatter="statusFormatter" </el-table-column>
label="在线状态"> <el-table-column
</el-table-column> align="center"
<el-table-column prop="online"
align="center" :formatter="statusFormatter"
prop="video_total" label="在线状态"
label="分析资源数"> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column align="center" prop="video_total" label="分析资源数">
align="center" </el-table-column>
prop="video_free" <el-table-column
label="可用分析资源数"> align="center"
</el-table-column> prop="video_free"
<el-table-column label="可用分析资源数"
align="center" >
prop="working_status" </el-table-column>
label="工作状态"> <el-table-column
</el-table-column> align="center"
<el-table-column prop="working_status"
align="center" label="工作状态"
width="300" >
prop="operation" </el-table-column>
label="操作"> <el-table-column
<template slot-scope="scope"> align="center"
<el-tooltip content="详情" placement="bottom" effect="light" :visible-arrow=false> width="300"
<span class="el-icon-info editIcon" @click="detail(scope.$index, scope.row)"></span> prop="operation"
</el-tooltip> label="操作"
</template> >
</el-table-column> <template slot-scope="scope">
</el-table> <el-tooltip
<div style="margin-top: 28px;"> content="详情"
<el-pagination placement="bottom"
style="float: right;" effect="light"
background :visible-arrow="false"
prev-text="上一页" >
next-text="下一页" <span
:page-sizes="[30, 50, 100, 200]" class="el-icon-info editIcon"
layout="prev, pager, next,sizes" @click="detail(scope.$index, scope.row)"
:current-page="page" ></span>
@size-change="handleSizeChange" </el-tooltip>
@current-change="handleCurrentChange" </template>
:total="total"> </el-table-column>
</el-pagination> </el-table>
<div style="clear: both;"></div> <div style="margin-top: 28px;">
</div> <el-pagination
style="float: right;"
</div> background
</div> prev-text="上一页"
<el-dialog title="详情" :visible.sync="detailVisible"> next-text="下一页"
<el-table height="574" :page-sizes="[30, 50, 100, 200]"
:data="detailData" layout="prev, pager, next,sizes"
stripe :current-page="page"
border> @size-change="handleSizeChange"
<li>{{detail.online == 1 ? (detail.status.hardWareInfo.temperature[0]?detail.status.hardWareInfo.temperature[0].curTemperature : ''):''}}</li> @current-change="handleCurrentChange"
<el-table-column prop="device_name" align="center" label="核心板名称"></el-table-column> :total="total"
<el-table-column prop="in_ip" align="center" label="核心板IP"></el-table-column> >
<el-table-column </el-pagination>
align="center" <div style="clear: both;"></div>
prop="online" </div>
:formatter="statusFormatter" </div>
label="在线状态"> </div>
</el-table-column> <el-dialog title="详情" :visible.sync="detailVisible">
<el-table-column prop="cpuUse" align="center" label="CPU使用率" :formatter="cpuUseFormatter"></el-table-column> <el-table height="574" :data="detailData" stripe border>
<el-table-column prop="cpuTem" align="center" label="CPU温度(℃)" :formatter="cpuTemFormatter"></el-table-column> <li>
</el-table> {{
</el-dialog> detail.online == 1
? detail.status.hardWareInfo.temperature[0]
? detail.status.hardWareInfo.temperature[0].curTemperature
: ""
: ""
}}
</li>
<el-table-column
prop="device_name"
align="center"
label="核心板名称"
></el-table-column>
<el-table-column
prop="in_ip"
align="center"
label="核心板IP"
></el-table-column>
<el-table-column
align="center"
prop="online"
:formatter="statusFormatter"
label="在线状态"
>
</el-table-column>
<el-table-column
prop="cpuUse"
align="center"
label="CPU使用率"
:formatter="cpuUseFormatter"
></el-table-column>
<el-table-column
prop="cpuTem"
align="center"
label="CPU温度(℃)"
:formatter="cpuTemFormatter"
></el-table-column>
</el-table>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
data(){ data() {
return{ return {
detailData:[], detailData: [],
dev_unid: sessionStorage.getItem('dev_unid'), dev_unid: sessionStorage.getItem("dev_unid"),
resource:{ resource: {
picture_busy: 0, picture_busy: 0,
picture_free: 0, picture_free: 0,
video_busy: 0, video_busy: 0,
video_free: 0, video_free: 0
}, },
total:0, total: 0,
page:1, page: 1,
pageSize:30, pageSize: 30,
tableData: [], tableData: [],
devsList:[], devsList: [],
selectDevs:'', selectDevs: "",
detailVisible:false detailVisible: false
} };
}, },
components:{ components: {},
}, mounted() {
mounted(){ this.getResource();
this.getResource(); this.getDevsName();
this.getDevsName(); },
}, methods: {
methods:{ devsChange() {
devsChange(){ this.getTableList();
this.getTableList(); },
}, getResource() {
getResource(){ this.$api.resource.getResource({}, this.dev_unid).then(res => {
this.$api.resource.getResource({},this.dev_unid).then(res=>{ this.resource = res.works;
this.resource=res.works; });
}) },
}, getDevsName() {
getDevsName(){ this.$api.resource
this.$api.resource.getDevsName({ .getDevsName(
is_leaf: 0 {
},this.dev_unid).then(res=>{ is_leaf: 0
this.devsList=res.list_data; },
if(res.list_data.length>0){ this.dev_unid
this.selectDevs=res.list_data[0].device_id; )
} .then(res => {
this.getTableList(); this.devsList = res.list_data;
}) if (res.list_data.length > 0) {
}, this.selectDevs = res.list_data[0].device_id;
statusFormatter(row, column, cellValue, index){ }
if(cellValue == 1){ this.getTableList();
return '在线' });
}else if(cellValue == 0){ },
return '离线' statusFormatter(row, column, cellValue, index) {
}else { if (cellValue == 1) {
return '未知' return "在线";
} } else if (cellValue == 0) {
}, return "离线";
cpuUseFormatter(row, column, cellValue, index){ } else {
if(row.online == 1){ return "未知";
return parseInt(row.status.hardWareInfo.usedResourceInfo.cpuRatio*60)+'%' }
}else{ },
return '' cpuUseFormatter(row, column, cellValue, index) {
} if (row.online == 1) {
}, return (
cpuTemFormatter(row, column, cellValue, index){ parseInt(row.status.hardWareInfo.usedResourceInfo.cpuRatio * 60) + "%"
if(row.online == 1){ );
if(row.status.hardWareInfo.temperature[0]){ } else {
return row.status.hardWareInfo.temperature[0].curTemperature return "";
}else{ }
return '' },
} cpuTemFormatter(row, column, cellValue, index) {
}else{ if (row.online == 1) {
return '' if (row.status.hardWareInfo.temperature[0]) {
} return row.status.hardWareInfo.temperature[0].curTemperature;
}, } else {
handleSizeChange(val) { return "";
this.pageSize=val; }
this.getTableList(); } else {
}, return "";
handleCurrentChange(val) { }
this.page=val; },
this.getTableList(); handleSizeChange(val) {
}, this.pageSize = val;
getTableList(){ this.getTableList();
this.tableData=[]; },
let offset = (this.page - 1) * this.pageSize; handleCurrentChange(val) {
this.$api.resource.getDevsName({ this.page = val;
limit: this.pageSize, this.getTableList();
offset: offset, },
parent_id: this.selectDevs, getTableList() {
},this.dev_unid).then((res)=>{ this.tableData = [];
this.total=res.total_num; let offset = (this.page - 1) * this.pageSize;
this.$api.resource
if(res.list_data==null){ .getDevsName(
this.tableData=[] {
}else{ limit: this.pageSize,
this.tableData=res.list_data; offset: offset,
} parent_id: this.selectDevs
}).catch((error)=>{ },
this.dev_unid
}) )
}, .then(res => {
detail(index,row){ this.total = res.total_num;
this.detailData=[];
this.detailVisible=true; if (res.list_data == null) {
this.$api.resource.getDevsName({ this.tableData = [];
parent_id:row.device_id, } else {
offset: 0, this.tableData = res.list_data;
limit: 10000, }
},this.dev_unid).then(res=>{ })
this.detailData=res.list_data; .catch(error => {});
this.detailData.unshift(row) },
}) detail(index, row) {
}, this.detailData = [];
}, this.detailVisible = true;
} this.$api.resource
.getDevsName(
{
parent_id: row.device_id,
offset: 0,
limit: 10000
},
this.dev_unid
)
.then(res => {
this.detailData = res.list_data;
this.detailData.unshift(row);
});
}
}
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.topCon{
background: $white-back-color;
margin-bottom: 12px;
height: 100px;
.left{
display: inline-block;
margin: {
top: 22px;
left: 30px;
};
img{
width:65px ;
height: 55px;
margin-right: 11px;
}
.topText{
font-size:24px;
font-family:MicrosoftYaHeiUI-Bold,MicrosoftYaHeiUI;
font-weight:bold;
margin-bottom: 4px;
}
.bottomText{
font-size:14px;
font-family:MicrosoftYaHeiUI;
}
}
.right{
float: right;
.topText{
font-size:28px;
font-family:MicrosoftYaHeiUI-Bold,MicrosoftYaHeiUI;
font-weight:bold;
}
.bottomText{
position: relative;
top: -1px;
font-size:14px;
font-family:MicrosoftYaHeiUI;
}
}
.textCon{
display: inline-block;
vertical-align: top;
}
.border{
display: inline-block;
height: 40px;
border: {
left: 2px solid $border-color;
};
}
.rightBox{
margin-top: 14px;
display: inline-block;
img{
margin:{
top:15px;
right: 22px;
}
}
}
.rightBox:nth-of-type(1){
img{
width: 34px;
height: 34px;
}
.textCon{
margin-right:114px ;
}
}
.rightBox:nth-of-type(2){
position: relative;
top: 4px;
img{
width: 40px;
height: 40px;
margin-left: 102px;
}
.textCon{
margin-right:101px ;
}
}
.rightBox:nth-of-type(3){
img{
width: 34px;
height: 35px;
margin-left: 104px;
}
.textCon{
margin-right:184px ;
}
}
}
.resourceDiv{
display: inline-block;
margin-left: 10%;
span{
margin-right: 5%;
}
}
.content{
background: #FFFFFF;
}
.inputBox{
margin-right: 20px;
}
.selectBox{
margin-right: 20px;
}
.editIcon{
cursor: pointer;
color:#0069ff;
font-size:16px;
}
.editIcon2{
cursor: pointer;
color:#87d14b;
font-size:16px;
}
.playIcon{
cursor: pointer;
color:#34b3a2;
font-size:16px;
}
.pauseIcon{
cursor: pointer;
color:#ffc62e;
font-size:14px;
}
.delIcon{
cursor: pointer;
color:#f2365a;
font-size:16px;
}
</style>
\ No newline at end of file \ No newline at end of file
.topCon {
background: $white-back-color;
margin-bottom: 12px;
height: 100px;
.left {
display: inline-block;
margin: {
top: 22px;
left: 30px;
}
img {
width: 65px;
height: 55px;
margin-right: 11px;
}
.topText {
font-size: 24px;
font-family: MicrosoftYaHeiUI-Bold, MicrosoftYaHeiUI;
font-weight: bold;
margin-bottom: 4px;
}
.bottomText {
font-size: 14px;
font-family: MicrosoftYaHeiUI;
}
}
.right {
float: right;
.topText {
font-size: 28px;
font-family: MicrosoftYaHeiUI-Bold, MicrosoftYaHeiUI;
font-weight: bold;
}
.bottomText {
position: relative;
top: -1px;
font-size: 14px;
font-family: MicrosoftYaHeiUI;
}
}
.textCon {
display: inline-block;
vertical-align: top;
}
.border {
display: inline-block;
height: 40px;
border: {
left: 2px solid $border-color;
}
}
.rightBox {
margin-top: 14px;
display: inline-block;
img {
margin: {
top: 15px;
right: 22px;
}
}
}
.rightBox:nth-of-type(1) {
img {
width: 34px;
height: 34px;
}
.textCon {
margin-right: 114px;
}
}
.rightBox:nth-of-type(2) {
position: relative;
top: 4px;
img {
width: 40px;
height: 40px;
margin-left: 102px;
}
.textCon {
margin-right: 101px;
}
}
.rightBox:nth-of-type(3) {
img {
width: 34px;
height: 35px;
margin-left: 104px;
}
.textCon {
margin-right: 184px;
}
}
}
.resourceDiv {
display: inline-block;
margin-left: 10%;
span {
margin-right: 5%;
}
}
.content {
background: #ffffff;
}
.inputBox {
margin-right: 20px;
}
.selectBox {
margin-right: 20px;
}
.editIcon {
cursor: pointer;
color: #0069ff;
font-size: 16px;
}
.editIcon2 {
cursor: pointer;
color: #87d14b;
font-size: 16px;
}
.playIcon {
cursor: pointer;
color: #34b3a2;
font-size: 16px;
}
.pauseIcon {
cursor: pointer;
color: #ffc62e;
font-size: 14px;
}
.delIcon {
cursor: pointer;
color: #f2365a;
font-size: 16px;
}
</style>
...@@ -2553,7 +2553,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3: ...@@ -2553,7 +2553,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
dependencies: dependencies:
ms "2.0.0" ms "2.0.0"
debug@3.2.6, debug@^3.0.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6: debug@3.2.6, debug@^3.0.0, debug@^3.1.1, debug@^3.2.5:
version "3.2.6" version "3.2.6"
resolved "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" resolved "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
dependencies: dependencies:
...@@ -2596,10 +2596,6 @@ deep-equal@^1.0.1: ...@@ -2596,10 +2596,6 @@ deep-equal@^1.0.1:
object-keys "^1.1.1" object-keys "^1.1.1"
regexp.prototype.flags "^1.2.0" regexp.prototype.flags "^1.2.0"
deep-extend@^0.6.0:
version "0.6.0"
resolved "https://registry.npm.taobao.org/deep-extend/download/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
deep-is@~0.1.3: deep-is@~0.1.3:
version "0.1.3" version "0.1.3"
resolved "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" resolved "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
...@@ -2687,10 +2683,6 @@ destroy@~1.0.4: ...@@ -2687,10 +2683,6 @@ destroy@~1.0.4:
version "1.0.4" version "1.0.4"
resolved "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" resolved "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
detect-libc@^1.0.2:
version "1.0.3"
resolved "https://registry.npm.taobao.org/detect-libc/download/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
detect-node@^2.0.4: detect-node@^2.0.4:
version "2.0.4" version "2.0.4"
resolved "https://registry.npm.taobao.org/detect-node/download/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" resolved "https://registry.npm.taobao.org/detect-node/download/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c"
...@@ -3501,12 +3493,6 @@ fs-extra@^7.0.1: ...@@ -3501,12 +3493,6 @@ fs-extra@^7.0.1:
jsonfile "^4.0.0" jsonfile "^4.0.0"
universalify "^0.1.0" universalify "^0.1.0"
fs-minipass@^1.2.5:
version "1.2.7"
resolved "https://registry.npm.taobao.org/fs-minipass/download/fs-minipass-1.2.7.tgz?cache=0&sync_timestamp=1579628689954&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-minipass%2Fdownload%2Ffs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7"
dependencies:
minipass "^2.6.0"
fs-minipass@^2.0.0: fs-minipass@^2.0.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.npm.taobao.org/fs-minipass/download/fs-minipass-2.1.0.tgz?cache=0&sync_timestamp=1579628689954&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-minipass%2Fdownload%2Ffs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" resolved "https://registry.npm.taobao.org/fs-minipass/download/fs-minipass-2.1.0.tgz?cache=0&sync_timestamp=1579628689954&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-minipass%2Fdownload%2Ffs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb"
...@@ -3988,7 +3974,7 @@ human-signals@^1.1.1: ...@@ -3988,7 +3974,7 @@ human-signals@^1.1.1:
version "1.1.1" version "1.1.1"
resolved "https://registry.npm.taobao.org/human-signals/download/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" resolved "https://registry.npm.taobao.org/human-signals/download/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4: iconv-lite@0.4.24, iconv-lite@^0.4.24:
version "0.4.24" version "0.4.24"
resolved "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" resolved "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
dependencies: dependencies:
...@@ -4008,12 +3994,6 @@ iferr@^0.1.5: ...@@ -4008,12 +3994,6 @@ iferr@^0.1.5:
version "0.1.5" version "0.1.5"
resolved "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" resolved "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
ignore-walk@^3.0.1:
version "3.0.3"
resolved "https://registry.npm.taobao.org/ignore-walk/download/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37"
dependencies:
minimatch "^3.0.4"
ignore@^3.3.5: ignore@^3.3.5:
version "3.3.10" version "3.3.10"
resolved "https://registry.npm.taobao.org/ignore/download/ignore-3.3.10.tgz?cache=0&sync_timestamp=1565775199290&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" resolved "https://registry.npm.taobao.org/ignore/download/ignore-3.3.10.tgz?cache=0&sync_timestamp=1565775199290&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
...@@ -4104,10 +4084,6 @@ inherits@2.0.3: ...@@ -4104,10 +4084,6 @@ inherits@2.0.3:
version "2.0.3" version "2.0.3"
resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz?cache=0&sync_timestamp=1560975547815&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz?cache=0&sync_timestamp=1560975547815&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
ini@~1.3.0:
version "1.3.5"
resolved "https://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
inquirer@^6.2.2: inquirer@^6.2.2:
version "6.5.2" version "6.5.2"
resolved "https://registry.npm.taobao.org/inquirer/download/inquirer-6.5.2.tgz?cache=0&sync_timestamp=1579939863311&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finquirer%2Fdownload%2Finquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" resolved "https://registry.npm.taobao.org/inquirer/download/inquirer-6.5.2.tgz?cache=0&sync_timestamp=1579939863311&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finquirer%2Fdownload%2Finquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca"
...@@ -4986,25 +4962,12 @@ minipass-pipeline@^1.2.2: ...@@ -4986,25 +4962,12 @@ minipass-pipeline@^1.2.2:
dependencies: dependencies:
minipass "^3.0.0" minipass "^3.0.0"
minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0:
version "2.9.0"
resolved "https://registry.npm.taobao.org/minipass/download/minipass-2.9.0.tgz?cache=0&sync_timestamp=1571953917221&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminipass%2Fdownload%2Fminipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6"
dependencies:
safe-buffer "^5.1.2"
yallist "^3.0.0"
minipass@^3.0.0, minipass@^3.1.1: minipass@^3.0.0, minipass@^3.1.1:
version "3.1.1" version "3.1.1"
resolved "https://registry.npm.taobao.org/minipass/download/minipass-3.1.1.tgz?cache=0&sync_timestamp=1571953917221&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminipass%2Fdownload%2Fminipass-3.1.1.tgz#7607ce778472a185ad6d89082aa2070f79cedcd5" resolved "https://registry.npm.taobao.org/minipass/download/minipass-3.1.1.tgz?cache=0&sync_timestamp=1571953917221&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminipass%2Fdownload%2Fminipass-3.1.1.tgz#7607ce778472a185ad6d89082aa2070f79cedcd5"
dependencies: dependencies:
yallist "^4.0.0" yallist "^4.0.0"
minizlib@^1.2.1:
version "1.3.3"
resolved "https://registry.npm.taobao.org/minizlib/download/minizlib-1.3.3.tgz?cache=0&sync_timestamp=1570255638980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminizlib%2Fdownload%2Fminizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d"
dependencies:
minipass "^2.9.0"
mississippi@^3.0.0: mississippi@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.npm.taobao.org/mississippi/download/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" resolved "https://registry.npm.taobao.org/mississippi/download/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022"
...@@ -5157,14 +5120,6 @@ natural-compare@^1.4.0: ...@@ -5157,14 +5120,6 @@ natural-compare@^1.4.0:
version "1.4.0" version "1.4.0"
resolved "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" resolved "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
needle@^2.2.1:
version "2.3.2"
resolved "https://registry.npm.taobao.org/needle/download/needle-2.3.2.tgz#3342dea100b7160960a450dc8c22160ac712a528"
dependencies:
debug "^3.2.6"
iconv-lite "^0.4.4"
sax "^1.2.4"
negotiator@0.6.2: negotiator@0.6.2:
version "0.6.2" version "0.6.2"
resolved "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" resolved "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
...@@ -5247,21 +5202,6 @@ node-libs-browser@^2.2.1: ...@@ -5247,21 +5202,6 @@ node-libs-browser@^2.2.1:
util "^0.11.0" util "^0.11.0"
vm-browserify "^1.0.1" vm-browserify "^1.0.1"
node-pre-gyp@*:
version "0.14.0"
resolved "https://registry.npm.taobao.org/node-pre-gyp/download/node-pre-gyp-0.14.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-pre-gyp%2Fdownload%2Fnode-pre-gyp-0.14.0.tgz#9a0596533b877289bcad4e143982ca3d904ddc83"
dependencies:
detect-libc "^1.0.2"
mkdirp "^0.5.1"
needle "^2.2.1"
nopt "^4.0.1"
npm-packlist "^1.1.6"
npmlog "^4.0.2"
rc "^1.2.7"
rimraf "^2.6.1"
semver "^5.3.0"
tar "^4.4.2"
node-releases@^1.1.47: node-releases@^1.1.47:
version "1.1.47" version "1.1.47"
resolved "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.47.tgz?cache=0&sync_timestamp=1579641052401&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.47.tgz#c59ef739a1fd7ecbd9f0b7cf5b7871e8a8b591e4" resolved "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.47.tgz?cache=0&sync_timestamp=1579641052401&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.47.tgz#c59ef739a1fd7ecbd9f0b7cf5b7871e8a8b591e4"
...@@ -5300,13 +5240,6 @@ nodent-runtime@^3.2.1: ...@@ -5300,13 +5240,6 @@ nodent-runtime@^3.2.1:
dependencies: dependencies:
abbrev "1" abbrev "1"
nopt@^4.0.1:
version "4.0.1"
resolved "https://registry.npm.taobao.org/nopt/download/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
dependencies:
abbrev "1"
osenv "^0.1.4"
normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0:
version "2.5.0" version "2.5.0"
resolved "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" resolved "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
...@@ -5351,24 +5284,6 @@ normalize-wheel@^1.0.1: ...@@ -5351,24 +5284,6 @@ normalize-wheel@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.npm.taobao.org/normalize-wheel/download/normalize-wheel-1.0.1.tgz#aec886affdb045070d856447df62ecf86146ec45" resolved "https://registry.npm.taobao.org/normalize-wheel/download/normalize-wheel-1.0.1.tgz#aec886affdb045070d856447df62ecf86146ec45"
npm-bundled@^1.0.1:
version "1.1.1"
resolved "https://registry.npm.taobao.org/npm-bundled/download/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b"
dependencies:
npm-normalize-package-bin "^1.0.1"
npm-normalize-package-bin@^1.0.1:
version "1.0.1"
resolved "https://registry.npm.taobao.org/npm-normalize-package-bin/download/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2"
npm-packlist@^1.1.6:
version "1.4.8"
resolved "https://registry.npm.taobao.org/npm-packlist/download/npm-packlist-1.4.8.tgz?cache=0&sync_timestamp=1579784145028&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnpm-packlist%2Fdownload%2Fnpm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e"
dependencies:
ignore-walk "^3.0.1"
npm-bundled "^1.0.1"
npm-normalize-package-bin "^1.0.1"
npm-run-path@^2.0.0: npm-run-path@^2.0.0:
version "2.0.2" version "2.0.2"
resolved "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" resolved "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
...@@ -5381,7 +5296,7 @@ npm-run-path@^4.0.0: ...@@ -5381,7 +5296,7 @@ npm-run-path@^4.0.0:
dependencies: dependencies:
path-key "^3.0.0" path-key "^3.0.0"
"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2: "npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0:
version "4.1.2" version "4.1.2"
resolved "https://registry.npm.taobao.org/npmlog/download/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" resolved "https://registry.npm.taobao.org/npmlog/download/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
dependencies: dependencies:
...@@ -5588,7 +5503,7 @@ os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: ...@@ -5588,7 +5503,7 @@ os-tmpdir@^1.0.0, os-tmpdir@~1.0.2:
version "1.0.2" version "1.0.2"
resolved "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" resolved "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
osenv@0, osenv@^0.1.4: osenv@0:
version "0.1.5" version "0.1.5"
resolved "https://registry.npm.taobao.org/osenv/download/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" resolved "https://registry.npm.taobao.org/osenv/download/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
dependencies: dependencies:
...@@ -5724,6 +5639,10 @@ parseurl@~1.3.2, parseurl@~1.3.3: ...@@ -5724,6 +5639,10 @@ parseurl@~1.3.2, parseurl@~1.3.3:
version "1.3.3" version "1.3.3"
resolved "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" resolved "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
particles.js@^2.0.0:
version "2.0.0"
resolved "https://registry.npm.taobao.org/particles.js/download/particles.js-2.0.0.tgz#21386c4328d6c7f96780a201e96eedfc09c736f6"
pascalcase@^0.1.1: pascalcase@^0.1.1:
version "0.1.1" version "0.1.1"
resolved "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" resolved "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
...@@ -6367,15 +6286,6 @@ rbush@^3.0.1: ...@@ -6367,15 +6286,6 @@ rbush@^3.0.1:
dependencies: dependencies:
quickselect "^2.0.0" quickselect "^2.0.0"
rc@^1.2.7:
version "1.2.8"
resolved "https://registry.npm.taobao.org/rc/download/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
dependencies:
deep-extend "^0.6.0"
ini "~1.3.0"
minimist "^1.2.0"
strip-json-comments "~2.0.1"
read-pkg-up@^1.0.1: read-pkg-up@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
...@@ -6724,7 +6634,7 @@ sass-loader@^8.0.0: ...@@ -6724,7 +6634,7 @@ sass-loader@^8.0.0:
schema-utils "^2.6.1" schema-utils "^2.6.1"
semver "^6.3.0" semver "^6.3.0"
sax@^1.2.4, sax@~1.2.4: sax@~1.2.4:
version "1.2.4" version "1.2.4"
resolved "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" resolved "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
...@@ -6766,7 +6676,7 @@ selfsigned@^1.10.7: ...@@ -6766,7 +6676,7 @@ selfsigned@^1.10.7:
dependencies: dependencies:
node-forge "0.9.0" node-forge "0.9.0"
"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0: "semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0:
version "5.7.1" version "5.7.1"
resolved "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1580434257623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" resolved "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1580434257623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
...@@ -7257,7 +7167,7 @@ strip-indent@^2.0.0: ...@@ -7257,7 +7167,7 @@ strip-indent@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.npm.taobao.org/strip-indent/download/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" resolved "https://registry.npm.taobao.org/strip-indent/download/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68"
strip-json-comments@2.0.1, strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: strip-json-comments@2.0.1, strip-json-comments@^2.0.1:
version "2.0.1" version "2.0.1"
resolved "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" resolved "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
...@@ -7365,18 +7275,6 @@ tar@^2.0.0: ...@@ -7365,18 +7275,6 @@ tar@^2.0.0:
fstream "^1.0.12" fstream "^1.0.12"
inherits "2" inherits "2"
tar@^4.4.2:
version "4.4.13"
resolved "https://registry.npm.taobao.org/tar/download/tar-4.4.13.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftar%2Fdownload%2Ftar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525"
dependencies:
chownr "^1.1.1"
fs-minipass "^1.2.5"
minipass "^2.8.6"
minizlib "^1.2.1"
mkdirp "^0.5.0"
safe-buffer "^5.1.2"
yallist "^3.0.3"
terser-webpack-plugin@^1.4.3: terser-webpack-plugin@^1.4.3:
version "1.4.3" version "1.4.3"
resolved "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.4.3.tgz?cache=0&sync_timestamp=1580403891929&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-1.4.3.tgz#5ecaf2dbdc5fb99745fd06791f46fc9ddb1c9a7c" resolved "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.4.3.tgz?cache=0&sync_timestamp=1580403891929&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-1.4.3.tgz#5ecaf2dbdc5fb99745fd06791f46fc9ddb1c9a7c"
...@@ -7819,6 +7717,13 @@ vue-loader@^15.7.2: ...@@ -7819,6 +7717,13 @@ vue-loader@^15.7.2:
vue-hot-reload-api "^2.3.0" vue-hot-reload-api "^2.3.0"
vue-style-loader "^4.1.0" vue-style-loader "^4.1.0"
vue-particles@^1.0.9:
version "1.0.9"
resolved "https://registry.npm.taobao.org/vue-particles/download/vue-particles-1.0.9.tgz#29d9cc2be0157df1c0a87ec3b96c96f33279526e"
dependencies:
particles.js "^2.0.0"
vue "^2.2.6"
vue-router@^3.1.3: vue-router@^3.1.3:
version "3.1.5" version "3.1.5"
resolved "https://registry.npm.taobao.org/vue-router/download/vue-router-3.1.5.tgz#ff29b8a1e1306c526b52d4dc0532109f16c41231" resolved "https://registry.npm.taobao.org/vue-router/download/vue-router-3.1.5.tgz#ff29b8a1e1306c526b52d4dc0532109f16c41231"
...@@ -7841,7 +7746,7 @@ vue-template-es2015-compiler@^1.9.0: ...@@ -7841,7 +7746,7 @@ vue-template-es2015-compiler@^1.9.0:
version "1.9.1" version "1.9.1"
resolved "https://registry.npm.taobao.org/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825" resolved "https://registry.npm.taobao.org/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825"
vue@^2.6.10: vue@^2.2.6, vue@^2.6.10:
version "2.6.11" version "2.6.11"
resolved "https://registry.npm.taobao.org/vue/download/vue-2.6.11.tgz#76594d877d4b12234406e84e35275c6d514125c5" resolved "https://registry.npm.taobao.org/vue/download/vue-2.6.11.tgz#76594d877d4b12234406e84e35275c6d514125c5"
...@@ -8145,7 +8050,7 @@ yallist@^2.1.2: ...@@ -8145,7 +8050,7 @@ yallist@^2.1.2:
version "2.1.2" version "2.1.2"
resolved "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" resolved "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: yallist@^3.0.2:
version "3.1.1" version "3.1.1"
resolved "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" resolved "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!