Browse Source

sort error

master
zeus 2 years ago
parent
commit
f2577977a5
  1. 2
      dist/index.html
  2. 2
      dist/js/app.8f8d6e80.js
  3. 1
      dist/js/app.8f8d6e80.js.map
  4. 2
      dist/js/app.e836f85c.js
  5. 1
      dist/js/app.e836f85c.js.map
  6. 93
      src-local/llo/new.js
  7. 144
      src/components/mynetwork/availablemicroservices.vue
  8. 63
      src/config/index-web.js
  9. 75
      src/store/modules/create_pipelineLLO.js

2
dist/index.html

@ -1 +1 @@
<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Vue App</title><link href="/css/app.25658f84.css" rel="preload" as="style"><link href="/css/chunk-vendors.e469b508.css" rel="preload" as="style"><link href="/js/app.8f8d6e80.js" rel="preload" as="script"><link href="/js/chunk-vendors.d8d18fe6.js" rel="preload" as="script"><link href="/css/chunk-vendors.e469b508.css" rel="stylesheet"><link href="/css/app.25658f84.css" rel="stylesheet"></head><body><div id="app"></div><script src="/js/chunk-vendors.d8d18fe6.js"></script><script src="/js/app.8f8d6e80.js"></script></body></html> <!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Vue App</title><link href="/css/app.25658f84.css" rel="preload" as="style"><link href="/css/chunk-vendors.e469b508.css" rel="preload" as="style"><link href="/js/app.e836f85c.js" rel="preload" as="script"><link href="/js/chunk-vendors.d8d18fe6.js" rel="preload" as="script"><link href="/css/chunk-vendors.e469b508.css" rel="stylesheet"><link href="/css/app.25658f84.css" rel="stylesheet"></head><body><div id="app"></div><script src="/js/chunk-vendors.d8d18fe6.js"></script><script src="/js/app.e836f85c.js"></script></body></html>

2
dist/js/app.8f8d6e80.js

File diff suppressed because one or more lines are too long

1
dist/js/app.8f8d6e80.js.map

File diff suppressed because one or more lines are too long

2
dist/js/app.e836f85c.js

File diff suppressed because one or more lines are too long

1
dist/js/app.e836f85c.js.map

File diff suppressed because one or more lines are too long

93
src-local/llo/new.js

@ -1027,6 +1027,25 @@ app.get('/buildservices', (req, res, next) => {
}); });
app.get('/getservicesinfoall', (req, res, next) => {
var RES = new Object();
RES.instance = req.query["instance"]
var servicepath = './instance/'
fs.readdir(servicepath, { withFileTypes: true }, (error, files) => {
const directoriesInDIrectory = files
.filter((item) => item.isDirectory())
.map((item) => item.name);
//console.log(directoriesInDIrectory);
RES.error = false
RES.error_msg = "ok"
RES.data = directoriesInDIrectory;
res.json(RES)
});
});
app.get('/getservicesinfo', (req, res, next) => { app.get('/getservicesinfo', (req, res, next) => {
@ -1416,6 +1435,80 @@ app.get('/getservicesstatus', (req, res, next) => {
}); });
app.get('/getservicesstatusall', (req, res, next) => {
var RES = new Object();
var showexec = `docker ps --format '{"Names":"{{ .Names }}", "Status":"{{.Status}}"}' | jq . -s `
exec(showexec, (err, stdout, stderr) => {
if (err) {
console.error(`exec error: ${err}`);
return;
}
if (stdout) {
var string = stdout.toString()
var datajson = JSON.parse(string);
RES.error = false
RES.error_msg = "ok"
RES.data = datajson;
res.json(RES)
}else{
RES.error = true
RES.error_msg = "no"
RES.data = 'no';
res.json(RES)
}
});
});
app.get('/stopservice', (req, res, next) => {
var RES = new Object();
var service = req.query["instance"]
var services_path = './instance/'+service+'/'+service
var services_pathexec = process.cwd()
var stopeditexec = `/bin/bash ./stop-sidecar-edit-service.sh ${service}`
const stopedit = spawn(stopeditexec, {
stdio: 'pipe',
shell: true,
cwd: services_pathexec
});
stopedit.on('close', function (code) {
const stop = spawn('/bin/sh ./stop.sh', {
stdio: 'pipe',
shell: true,
cwd: services_path
});
stop.stdout.on('data', function (data) {
var n = {}
n.data = data.toString()
io.emit('message_out', n);
});
stop.stderr.on('data', function (data) {
var n = {}
n.data = data.toString()
io.emit('message_err', n);
});
stop.on('close', function (code) {
var n = {}
n.data = code
io.emit('message_close', n);
RES.error = false
RES.error_msg = "ok"
RES.data = 'ok';
res.json(RES)
});
});
});
app.get('/rmbuildstatus', (req, res, next) => { app.get('/rmbuildstatus', (req, res, next) => {
var RES = new Object(); var RES = new Object();
RES.instance = req.query["instance"] RES.instance = req.query["instance"]

144
src/components/mynetwork/availablemicroservices.vue

@ -100,6 +100,12 @@
Up</button> Up</button>
</div> </div>
<div class="input-group-append"
v-if="viewhybridoptions && heavy"
>
<p class="text-danger">{{ heavytext }}</p>
</div>
<div class="white h-100 flex-fixed-width-item" <div class="white h-100 flex-fixed-width-item"
<vuetable <vuetable
ref="vuetable" ref="vuetable"
@ -130,23 +136,29 @@ EDO
props.rowData._id gia to pagination problem props.rowData._id gia to pagination problem
pass props.rowData._id as index pass props.rowData._id as index
allagi tou vuetablerefresh allagi tou vuetablerefresh
<button
class="ti-cloud-down btn btn-outline-secondary btn-sm"
title="Download Lab_Instance"
round
@click="checkactionrowindex(props.rowData,props.rowData._id)">
update</button>
--> -->
<div slot="actionsenabled" slot-scope="props"> <div slot="actionsenabled" slot-scope="props">
<div class="d-flex justify-content-center"> <div class="d-flex justify-content-center">
<button <button
v-if="testactionrowindex[props.rowData.swarmlabname] == props.rowData._id" v-if="testtest[props.rowData.swarmlabname] != props.rowData.swarmlabname && testtestdir[props.rowData.swarmlabname] == props.rowData.swarmlabname"
class="ti-thumb-up btn btn-info btn-sm" class="ti-thumb-down btn btn-secondary btn-sm"
title="Stop Lab_Instance" title="Start Lab_Instance"
round round
@click="onAction('down-item', props.rowData, props.rowData._id)" @click="onAction('run-item', props.rowData, props.rowData._id)"
> >
</button> </button>
<button <button
v-if="testactionrowindex[props.rowData.swarmlabname] != props.rowData._id && testactionrowindex[props.rowData._id] == props.rowData._id" v-if="testtest[props.rowData.swarmlabname] == props.rowData.swarmlabname && testtestdir[props.rowData.swarmlabname] == props.rowData.swarmlabname"
class="ti-thumb-down btn btn-secondary btn-sm" class="ti-thumb-up btn btn-info btn-sm"
title="Start Lab_Instance" title="Stop Lab_Instance"
round round
@click="onAction('run-item', props.rowData, props.rowData._id)" @click="onAction('down-item', props.rowData, props.rowData._id)"
> >
</button> </button>
</div> </div>
@ -155,7 +167,7 @@ allagi tou vuetablerefresh
:key="vuetablekeygslot"> :key="vuetablekeygslot">
<div class="d-flex justify-content-center"> <div class="d-flex justify-content-center">
<button <button
v-if="testactionrowindex[props.rowData._id] == props.rowData._id && testactionrowindex[props.rowData.swarmlabname] != props.rowData._id" v-if="testtest[props.rowData.swarmlabname] != props.rowData.swarmlabname && testtestdir[props.rowData.swarmlabname] == props.rowData.swarmlabname"
class="ti-trash btn btn-info btn-sm" class="ti-trash btn btn-info btn-sm"
title="Remove Lab_Instance" title="Remove Lab_Instance"
@click="onAction('rm-install', props.rowData, props.rowData._id)" @click="onAction('rm-install', props.rowData, props.rowData._id)"
@ -167,7 +179,6 @@ allagi tou vuetablerefresh
<div slot="actions" slot-scope="props"> <div slot="actions" slot-scope="props">
<div class="d-flex justify-content-center"> <div class="d-flex justify-content-center">
<button <button
v-if="checkactionrowindex(props.rowData,props.rowData._id)"
class="ti-cloud-down btn btn-outline-secondary btn-sm" class="ti-cloud-down btn btn-outline-secondary btn-sm"
title="Download Lab_Instance" title="Download Lab_Instance"
round round
@ -224,6 +235,8 @@ export default {
return{ return{
testactionrowindex:[], // downloaded used in installed testactionrowindex:[], // downloaded used in installed
teststatusindex:[], // status stop run used in status teststatusindex:[], // status stop run used in status
testtest:[], // up or down services
testtestdir:[], // install download or not service
hybridoptions: { hybridoptions: {
'index':'', 'index':'',
'swarmlabname':'', 'swarmlabname':'',
@ -231,6 +244,8 @@ export default {
'port':'' 'port':''
}, },
viewhybridoptions: false, viewhybridoptions: false,
heavy: false,
heavytext: '',
up_name:'', up_name:'',
swarmlab:{}, swarmlab:{},
playbookInfo: {}, playbookInfo: {},
@ -349,12 +364,12 @@ export default {
}) })
}) })
}, },
created() { async created() {
var url_string = window.location.href var url_string = window.location.href
var url = new URL(url_string); var url = new URL(url_string);
this.token = url.searchParams.get("token"); this.token = url.searchParams.get("token");
await this.checkactionrowindexall()
//console.log("token "+ this.token); //console.log("token "+ this.token);
}, },
beforeDestroy () { beforeDestroy () {
this.$root.$off('hybrid_refresh_availableservices') this.$root.$off('hybrid_refresh_availableservices')
@ -386,6 +401,42 @@ export default {
focusCancel: true, focusCancel: true,
confirmButtonText: 'Ok!' confirmButtonText: 'Ok!'
}) })
},
async checkactionrowindexall(){
var obj = {}
obj.token = this.token
obj.instance = 'info'
var res1 = await store.dispatch('pipelineLLO/getservicesstatusall', obj)
if(res1.data.data){
//console.log('resall '+JSON.stringify(res1))
//console.log('resall--- '+JSON.stringify(res1.data.data))
var al = res1.data.data.length;
for (var arrayIndex in this.testtest) {
Vue.delete(this.testtest, this.testtest[arrayIndex])
}
//console.log(this.testtest)
for (let index = 0; index < al; ++index) {
var el = res1.data.data[index];
//console.log(el.Names)
var el1 = el.Names.split('_');
Vue.set(this.testtest, el1[0], el1[0])
}
}
var res2 = await store.dispatch('pipelineLLO/getservicesinfoall', obj)
if(res2.data.data){
//console.log(res2.data.data)
for (var arrayIndex in this.testtestdir) {
Vue.delete(this.testtestdir, this.testtestdir[arrayIndex])
}
//console.log(this.testtestdir)
var all = res2.data.data.length;
for (let index = 0; index < all; ++index) {
var el1a = res2.data.data[index];
//console.log(el1a)
Vue.set(this.testtestdir, el1a, el1a)
}
}
//console.log(this.testtestdir)
}, },
async checkactionrowindex(data,index){ async checkactionrowindex(data,index){
if(data._id == index) { if(data._id == index) {
@ -402,11 +453,16 @@ export default {
//console.log('res8 all '+JSON.stringify(res1)) //console.log('res8 all '+JSON.stringify(res1))
if(res1.data.data == 'yes'){ if(res1.data.data == 'yes'){
//EDO //EDO
Vue.set(this.testactionrowindex, data.swarmlabname, index) //Vue.set(this.testactionrowindex, data.swarmlabname, index)
//Vue.set(this.testactionrowindex, data.swarmlabname, data.swarmlabname) Vue.set(this.testactionrowindex, index, data.swarmlabname)
//console.log('running---- '+data.swarmlabname)
//console.log(this.testactionrowindex)
}else{ }else{
//console.log('res8 NO '+JSON.stringify(res1.data)) //console.log('res8 NO '+JSON.stringify(res1.data))
Vue.delete(this.testactionrowindex, data.swarmlabname) //Vue.delete(this.testactionrowindex, data.swarmlabname)
Vue.delete(this.testactionrowindex, index)
//console.log('NOTrunning---- '+data.swarmlabname)
//console.log(this.testactionrowindex)
} }
}else{ }else{
var obj = {} var obj = {}
@ -416,25 +472,28 @@ export default {
//console.log('resi YES '+JSON.stringify(res)) //console.log('resi YES '+JSON.stringify(res))
if(res.data.data == 'yes'){ if(res.data.data == 'yes'){
//EDO //EDO
Vue.set(this.testactionrowindex, index, index) Vue.set(this.testactionrowindex, index, data.swarmlabname)
var res1 = await store.dispatch('pipelineLLO/getservicesstatus', obj) var res1 = await store.dispatch('pipelineLLO/getservicesstatus', obj)
//console.log('res8 all '+JSON.stringify(res1)) //console.log('res8 all '+JSON.stringify(res1))
if(res1.data.data == 'yes'){ if(res1.data.data == 'yes'){
//EDO //EDO
Vue.set(this.testactionrowindex, data.swarmlabname, index) Vue.set(this.testactionrowindex, index, data.swarmlabname)
//Vue.set(this.testactionrowindex, data.swarmlabname, data.swarmlabname) //console.log('running1111111111---- '+data.swarmlabname)
//console.log(this.testactionrowindex)
//console.log('res8 YES '+JSON.stringify(res1.data)) //console.log('res8 YES '+JSON.stringify(res1.data))
}else{ }else{
//console.log('res8 NO '+JSON.stringify(res1.data)) //console.log('res8 NO '+JSON.stringify(res1.data))
Vue.delete(this.testactionrowindex, data.swarmlabname) Vue.delete(this.testactionrowindex, index)
//console.log('notrunning1111111111---- '+data.swarmlabname)
//console.log(this.testactionrowindex)
} }
//console.log('resiiiiiiii yes '+JSON.stringify(this.testactionrowindex[index])) //console.log('resiiiiiiii yes '+JSON.stringify(this.testactionrowindex[index]))
}else{ }else{
//Vue.delete(this.testactionrowindex, index) Vue.delete(this.testactionrowindex, index)
//console.log('resi NO2 '+JSON.stringify(res)) //console.log('resi NO2 '+JSON.stringify(res))
} }
} }
//console.log('string YES '+JSON.stringify(this.testactionrowindex)) //console.log(this.testactionrowindex)
}, },
setFilter () { setFilter () {
this.moreParams = { this.moreParams = {
@ -514,10 +573,9 @@ export default {
}else if(action == 'rm-install' ){ }else if(action == 'rm-install' ){
this.hybridoptions.swarmlabname = data.swarmlabname this.hybridoptions.swarmlabname = data.swarmlabname
this.$wait.start('myRunInstancetutor'); this.$wait.start('myRunInstancetutor');
//console.log(this.hybridoptions.swarmlabname)
var res = await store.dispatch('pipelineLLO/rmswarmlablocal', this.hybridoptions.swarmlabname) var res = await store.dispatch('pipelineLLO/rmswarmlablocal', this.hybridoptions.swarmlabname)
this.$wait.end('myRunInstancetutor'); this.$wait.end('myRunInstancetutor');
var obj = {} var obj = {}
obj.token = this.token obj.token = this.token
obj.instance = data.swarmlabname obj.instance = data.swarmlabname
@ -544,13 +602,8 @@ export default {
focusCancel: true, focusCancel: true,
confirmButtonText: 'Ok!' confirmButtonText: 'Ok!'
}) })
//console.log('inf res11111111111 '+ JSON.stringify(res.data.path))
} }
} }
//Vue.nextTick( () => this.$refs.vuetable.refresh())
Vue.delete(this.testactionrowindex, data.swarmlabname)
this.refreshVuetable() this.refreshVuetable()
this.$root.$emit('hybrid_refresh_info_deploy_local') this.$root.$emit('hybrid_refresh_info_deploy_local')
}else if(action == 'run-install' ){ }else if(action == 'run-install' ){
@ -577,8 +630,16 @@ export default {
this.refreshVuetable() this.refreshVuetable()
}else if(action == 'run-item' ){ }else if(action == 'run-item' ){
this.heavy = false
this.heavytext = ''
this.up_name = data.swarmlabname this.up_name = data.swarmlabname
//console.log('RUN------------ '+ JSON.stringify(data))
var filtermicrosfot = `microservice-volatilitywindows`
var grepmicrosoft = new RegExp(filtermicrosfot);
var filterju = `microservice-jupyter` var filterju = `microservice-jupyter`
var grepju = new RegExp(filterju); var grepju = new RegExp(filterju);
if(grepju.test(data.swarmlabname)){ if(grepju.test(data.swarmlabname)){
@ -589,7 +650,14 @@ export default {
value.size = this.hybridoptions.size value.size = this.hybridoptions.size
value.port = this.hybridoptions.port value.port = this.hybridoptions.port
this.$root.$emit('hybrid_start_instance', value) this.$root.$emit('hybrid_start_instance', value)
Vue.set(this.testactionrowindex, value.swarmlabname, value.index) //Vue.set(this.testactionrowindex, value.swarmlabname, value.index)
//Vue.set(this.testactionrowindex, value.index, value.swarmlabname)
}else if(grepmicrosoft.test(data.swarmlabname)){
this.viewhybridoptions = true
this.heavy = true
this.heavytext = 'Note that this image are somewhat heavy (~2GB) since they embed some of the kernel debug symbols for Microsoft Windows. It can take some time to build the Instance'
this.hybridoptions.swarmlabname = data.swarmlabname
this.hybridoptions.index = index
}else{ }else{
this.viewhybridoptions = true this.viewhybridoptions = true
this.hybridoptions.swarmlabname = data.swarmlabname this.hybridoptions.swarmlabname = data.swarmlabname
@ -599,7 +667,6 @@ export default {
console.log('RUN 1 '+ JSON.stringify(data.swarmlabname)) console.log('RUN 1 '+ JSON.stringify(data.swarmlabname))
// run on mytable.vue // run on mytable.vue
this.$root.$emit('hybrid_start_instance', data.swarmlabname) this.$root.$emit('hybrid_start_instance', data.swarmlabname)
Vue.set(this.testactionrowindex, data.swarmlabname, index)
Vue.nextTick( () => this.$refs.vuetable.refresh()) Vue.nextTick( () => this.$refs.vuetable.refresh())
*/ */
} }
@ -639,10 +706,15 @@ export default {
//console.log('yes') //console.log('yes')
// run on mytable.vue // run on mytable.vue
var value = this.hybridoptions.swarmlabname var value = this.hybridoptions.swarmlabname
await this.$root.$emit('hybrid_stop_instance', value) //await this.$root.$emit('hybrid_stop_instance', value)
Vue.delete(this.testactionrowindex, this.hybridoptions.index) var log = await store.dispatch("pipelineLLO/stopservice",{
token:this.token,
instance:this.hybridoptions.swarmlabname
})
//Vue.delete(this.testactionrowindex, this.hybridoptions.index)
//console.log('down service '+ JSON.stringify(this.hybridoptions.index)) //console.log('down service '+ JSON.stringify(this.hybridoptions.index))
//Vue.nextTick( () => this.$refs.vuetable.refresh()) //Vue.nextTick( () => this.$refs.vuetable.refresh())
//console.log(log)
this.refreshVuetable() this.refreshVuetable()
}else { }else {
console.log('no') console.log('no')
@ -664,7 +736,8 @@ export default {
//console.log('chown '+ JSON.stringify(this.hybridoptions.swarmlabname)) //console.log('chown '+ JSON.stringify(this.hybridoptions.swarmlabname))
//console.log('chownlog '+ JSON.stringify(log)) //console.log('chownlog '+ JSON.stringify(log))
this.$root.$emit('hybrid_start_instance', value) this.$root.$emit('hybrid_start_instance', value)
Vue.set(this.testactionrowindex, value.swarmlabname, value.index) //Vue.set(this.testactionrowindex, value.swarmlabname, value.index)
//Vue.set(this.testactionrowindex, value.index, value.swarmlabname)
//Vue.nextTick( () => this.$refs.vuetable.refresh()) //Vue.nextTick( () => this.$refs.vuetable.refresh())
//Vue.nextTick( () => this.$refs.vuetable.refresh()) //Vue.nextTick( () => this.$refs.vuetable.refresh())
this.refreshVuetable() this.refreshVuetable()
@ -690,7 +763,10 @@ export default {
//this.indexselect=index //this.indexselect=index
//console.log('error2a '+JSON.stringify(this.dataselect)) //console.log('error2a '+JSON.stringify(this.dataselect))
//console.log('error2b '+JSON.stringify(this.indexselect)) //console.log('error2b '+JSON.stringify(this.indexselect))
await this.checkactionrowindex(this.dataselect, this.indexselect) // this version with this.checkactionrowindex dont work
// render hangs
//await this.checkactionrowindex(this.dataselect, this.indexselect)
await this.checkactionrowindexall()
this.vuetablekeygslot += 1 this.vuetablekeygslot += 1
//}) //})
}, },

63
src/config/index-web.js

@ -189,5 +189,68 @@ export const ApiConfigWEB = [
"ttyd": true, "ttyd": true,
"ttydport": "3787/tcp", "ttydport": "3787/tcp",
"ttydurl": 'http' "ttydurl": 'http'
},
{
"name": "microservice-powershell",
"app": false,
"url": 'http',
"port": "80/tcp",
"ttyd": true,
"ttydport": "3787/tcp",
"ttydurl": 'http'
},
{
"name": "microservice-dvwa",
"app": true,
"url": 'http',
"port": "80/tcp",
"ttyd": true,
"ttydport": "3787/tcp",
"ttydurl": 'http'
},
{
"name": "microservice-hping3",
"app": false,
"url": 'http',
"port": "80/tcp",
"ttyd": true,
"ttydport": "3787/tcp",
"ttydurl": 'http'
},
{
"name": "microservice-volatilitylinux",
"app": false,
"url": 'http',
"port": "80/tcp",
"ttyd": true,
"ttydport": "3787/tcp",
"ttydurl": 'http'
},
{
"name": "microservice-volatilitywindows",
"app": false,
"url": 'http',
"port": "80/tcp",
"ttyd": true,
"ttydport": "3787/tcp",
"ttydurl": 'http'
},
{
"name": "microservice-twint",
"app": false,
"url": 'http',
"port": "80/tcp",
"ttyd": true,
"ttydport": "3787/tcp",
"ttydurl": 'http'
},
{
"name": "microservice-twintexplorer",
"app": false,
"url": 'http',
"port": "80/tcp",
"ttyd": true,
"ttydport": "3787/tcp",
"ttydurl": 'http'
} }
]; ];

75
src/store/modules/create_pipelineLLO.js

@ -915,6 +915,81 @@ export default {
return R; return R;
} }
} }
},
async getservicesstatusall({commit,rootGetters}, value) {
try {
var token = value.token
var params = {
instance: value.instance
}
var options = {
params: params,
headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },
};
var sock_server_l = ApiConfig.url_80+'/getservicesstatusall'
var p = await axios.get(sock_server_l,options);
return p
} catch (e) {
if(e.message == "Request failed with status code 401" || /401/i.test(e.message)){
window.location.href = 'https://api-login.swarmlab.io:8089';
}else{
var R = {
ERROR_str: e,
ERROR: 'yes'
}
return R;
}
}
},
async stopservice({commit,rootGetters}, value) {
try {
var token = value.token
var params = {
instance: value.instance
}
var options = {
params: params,
headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },
};
var sock_server_l = ApiConfig.url_80+'/stopservice'
var p = await axios.get(sock_server_l,options);
return p
} catch (e) {
if(e.message == "Request failed with status code 401" || /401/i.test(e.message)){
window.location.href = 'https://api-login.swarmlab.io:8089';
}else{
var R = {
ERROR_str: e,
ERROR: 'yes'
}
return R;
}
}
},
async getservicesinfoall({commit,rootGetters}, value) {
try {
var token = value.token
var params = {
instance: value.instance
}
var options = {
params: params,
headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },
};
var sock_server_l = ApiConfig.url_80+'/getservicesinfoall'
var p = await axios.get(sock_server_l,options);
return p
} catch (e) {
if(e.message == "Request failed with status code 401" || /401/i.test(e.message)){
window.location.href = 'https://api-login.swarmlab.io:8089';
}else{
var R = {
ERROR_str: e,
ERROR: 'yes'
}
return R;
}
}
}, },
async rmbuildstatus({commit,rootGetters}, value) { async rmbuildstatus({commit,rootGetters}, value) {
//console.log('valuei22222222222222222222222222222222 '+JSON.stringify(value)) //console.log('valuei22222222222222222222222222222222 '+JSON.stringify(value))

Loading…
Cancel
Save