更新服务
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,13 @@
|
|||||||
|
[system_setting]
|
||||||
|
downDevicePath=/dev/sr1
|
||||||
|
downDeviceType=0
|
||||||
|
end_time=cWL0ocEfX1NTQW0+hs3SGnKIgYkMeNru
|
||||||
|
logLevel=1
|
||||||
|
retryFreq=2
|
||||||
|
serverPath=/home/test/CDCache
|
||||||
|
server_name=127.0.0.1
|
||||||
|
server_port=10010
|
||||||
|
topDevicePath=/dev/sr0
|
||||||
|
topDeviceType=0
|
||||||
|
update_time=iWfJMJHeTnMCacgifeF9oACX0fK8UsnmNBUJgTgF2cs=
|
||||||
|
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
|
# 路径
|
||||||
|
HOME=$(cd $(dirname $0);pwd)
|
||||||
|
|
||||||
|
# 启动
|
||||||
|
start(){
|
||||||
|
cd $HOME
|
||||||
|
# 将C++程序后台启动,并将启动日志指向springBootThree-1.0.log中
|
||||||
|
spid=$(pgrep -f "controlServer") #$(ps -ef | grep "[m]controlServer" | grep -v grep | awk '{print $2}')
|
||||||
|
if [ -z "$spid" ]
|
||||||
|
then
|
||||||
|
./controlServer > /dev/null 2>&1 &
|
||||||
|
# 打印字符串
|
||||||
|
echo "启动成功"
|
||||||
|
else
|
||||||
|
echo Application is already started
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# 停止
|
||||||
|
stop(){
|
||||||
|
# 查询到项目的pid
|
||||||
|
tpid=$(pgrep -f "controlServer") #$(ps -ef | grep "[m]controlServer" | grep -v grep | awk '{print $2}')
|
||||||
|
# 判断是否为空
|
||||||
|
if [ -z "$tpid" ]
|
||||||
|
then
|
||||||
|
# 如果为空 则打印这句话
|
||||||
|
echo Application is already stoped
|
||||||
|
else
|
||||||
|
# 如果不为空则执行
|
||||||
|
echo kill $tpid
|
||||||
|
# 关闭进程
|
||||||
|
kill -9 $tpid
|
||||||
|
|
||||||
|
echo "程序已关闭"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# 查看状态
|
||||||
|
status(){
|
||||||
|
# 获取pid的
|
||||||
|
pid=$(pgrep -f "controlServer") #$(ps -ef | grep "[m]controlServer" | grep -v grep)
|
||||||
|
if [ -z "$pid" ]
|
||||||
|
then
|
||||||
|
echo "程序不存在"
|
||||||
|
else
|
||||||
|
echo $pid
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# 查看日志信息
|
||||||
|
log(){
|
||||||
|
tail -f $HOME/CSPServer.log
|
||||||
|
}
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
start)
|
||||||
|
start
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
stop
|
||||||
|
;;
|
||||||
|
status)
|
||||||
|
status
|
||||||
|
;;
|
||||||
|
log)
|
||||||
|
log
|
||||||
|
;;
|
||||||
|
restart)
|
||||||
|
$0 stop
|
||||||
|
sleep 5
|
||||||
|
$0 start
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "只能是{start|stop|log|restart}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
exit 0
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -8,6 +8,7 @@
|
|||||||
"main": "./dist/electron/main.js",
|
"main": "./dist/electron/main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "node .electron-vue/build.js && electron-builder",
|
"build": "node .electron-vue/build.js && electron-builder",
|
||||||
|
"build:linux": "node .electron-vue/build.js && electron-builder --linux",
|
||||||
"build:dir": "node .electron-vue/build.js && electron-builder --dir",
|
"build:dir": "node .electron-vue/build.js && electron-builder --dir",
|
||||||
"build:clean": "cross-env BUILD_TARGET=clean node .electron-vue/build.js",
|
"build:clean": "cross-env BUILD_TARGET=clean node .electron-vue/build.js",
|
||||||
"build:web": "cross-env BUILD_TARGET=web node .electron-vue/build.js",
|
"build:web": "cross-env BUILD_TARGET=web node .electron-vue/build.js",
|
||||||
@@ -24,6 +25,16 @@
|
|||||||
"build": {
|
"build": {
|
||||||
"productName": "soonworkerdisk",
|
"productName": "soonworkerdisk",
|
||||||
"appId": "com.kashu.soonworkerdisk",
|
"appId": "com.kashu.soonworkerdisk",
|
||||||
|
"extraFiles": [
|
||||||
|
{
|
||||||
|
"from": "./User Templates",
|
||||||
|
"to": "."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"from": "./cardsoonServer",
|
||||||
|
"to": "."
|
||||||
|
}
|
||||||
|
],
|
||||||
"directories": {
|
"directories": {
|
||||||
"output": "build"
|
"output": "build"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -720,7 +720,8 @@ export default {
|
|||||||
},
|
},
|
||||||
// 获取模板文件列表
|
// 获取模板文件列表
|
||||||
getTemplates() {
|
getTemplates() {
|
||||||
fs.readdir('User Templates', (err, files) => {
|
const filePath = path.join(process.cwd(), 'User Templates');
|
||||||
|
fs.readdir(filePath, (err, files) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.log(err)
|
console.log(err)
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import 'element-ui/lib/theme-chalk/index.css'
|
|||||||
import App from './App'
|
import App from './App'
|
||||||
import router from './router'
|
import router from './router'
|
||||||
import store from './store'
|
import store from './store'
|
||||||
import { accAdd, accSub, accMul, accDiv, filterSize } from './utils'
|
import { accAdd, accSub, accMul, accDiv, filterSize, runCmd } from './utils'
|
||||||
|
|
||||||
import i18n from './lang' // internationalization
|
import i18n from './lang' // internationalization
|
||||||
import './permission' // permission control
|
import './permission' // permission control
|
||||||
@@ -24,6 +24,7 @@ Vue.prototype.$accSub = accSub
|
|||||||
Vue.prototype.$accMul = accMul
|
Vue.prototype.$accMul = accMul
|
||||||
Vue.prototype.$accDiv = accDiv
|
Vue.prototype.$accDiv = accDiv
|
||||||
Vue.prototype.$filterSize = filterSize
|
Vue.prototype.$filterSize = filterSize
|
||||||
|
Vue.prototype.$runCmd = runCmd
|
||||||
|
|
||||||
Vue.use(ElementUI, {
|
Vue.use(ElementUI, {
|
||||||
size: Cookies.get('size') || 'medium', // set element-ui default size
|
size: Cookies.get('size') || 'medium', // set element-ui default size
|
||||||
|
|||||||
@@ -524,6 +524,10 @@ const actions = {
|
|||||||
closeWebsocket: () => {
|
closeWebsocket: () => {
|
||||||
// 关闭
|
// 关闭
|
||||||
if (websock) websock.close()
|
if (websock) websock.close()
|
||||||
|
},
|
||||||
|
// 改变工作状态
|
||||||
|
changeWorkStatus: ({ commit }, data) => {
|
||||||
|
commit('setData', { name: 'workStatus', data: data })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -474,3 +474,19 @@ export const filterSize = (size) => {
|
|||||||
export const pow1024 = (num) => {
|
export const pow1024 = (num) => {
|
||||||
return Math.pow(1024, num)
|
return Math.pow(1024, num)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 执行脚本
|
||||||
|
const { exec } = require('child_process');
|
||||||
|
export const runCmd = (cmd) => {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
exec(cmd, (err, stdout, stderr) => {
|
||||||
|
if (err) {
|
||||||
|
reject(err)
|
||||||
|
}
|
||||||
|
if (stderr) {
|
||||||
|
reject(stderr)
|
||||||
|
}
|
||||||
|
resolve(stdout)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
@@ -1,5 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="container_box">
|
<div class="container_box" v-loading="serviceLoading"
|
||||||
|
:element-loading-text="serviceText"
|
||||||
|
element-loading-spinner="el-icon-loading"
|
||||||
|
element-loading-background="rgba(0, 0, 0, 0.8)">
|
||||||
<!-- 头部 -->
|
<!-- 头部 -->
|
||||||
<div class="flex_box flex_row_between top_box">
|
<div class="flex_box flex_row_between top_box">
|
||||||
<div class="flex_box top_left">
|
<div class="flex_box top_left">
|
||||||
@@ -18,7 +21,7 @@
|
|||||||
<div class="top_left_line"></div>
|
<div class="top_left_line"></div>
|
||||||
<el-tooltip :content="workStatus?'关闭服务':'打开服务'" placement="bottom">
|
<el-tooltip :content="workStatus?'关闭服务':'打开服务'" placement="bottom">
|
||||||
<div class="flex_box flex_row_center top_left_status_box">
|
<div class="flex_box flex_row_center top_left_status_box">
|
||||||
<el-switch :disabled="!serviceStatus" @change="serviceChange" class="top_left_status" v-model="workStatus" active-color="#07C160" inactive-color="#aaa"> </el-switch>
|
<el-switch @change="serviceChange" class="top_left_status" :value="workStatus" active-color="#07C160" inactive-color="#aaa"> </el-switch>
|
||||||
</div>
|
</div>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<div class="flex_box top_left_option">
|
<div class="flex_box top_left_option">
|
||||||
@@ -299,11 +302,13 @@
|
|||||||
let that
|
let that
|
||||||
let outTimer
|
let outTimer
|
||||||
let fs = require('fs')
|
let fs = require('fs')
|
||||||
|
let path = require('path')
|
||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from 'vuex'
|
||||||
const { app, dialog } = require('@electron/remote')
|
const { app, dialog } = require('@electron/remote')
|
||||||
import UserInfo from '@/components/userInfo/userInfo.vue'
|
import UserInfo from '@/components/userInfo/userInfo.vue'
|
||||||
import WorkAdd from '@/components/workAdd/workAdd.vue'
|
import WorkAdd from '@/components/workAdd/workAdd.vue'
|
||||||
|
const exePath = process.cwd();
|
||||||
|
const shPath = path.join(exePath, 'cardsoonServer', 'control.sh')
|
||||||
export default {
|
export default {
|
||||||
name: 'dashboard',
|
name: 'dashboard',
|
||||||
components: { UserInfo, WorkAdd },
|
components: { UserInfo, WorkAdd },
|
||||||
@@ -312,6 +317,8 @@ export default {
|
|||||||
// 服务状态
|
// 服务状态
|
||||||
isConnect: false,
|
isConnect: false,
|
||||||
serviceStatus: false,
|
serviceStatus: false,
|
||||||
|
serviceLoading: false,
|
||||||
|
serviceText: '服务关闭中',
|
||||||
// 工作状态
|
// 工作状态
|
||||||
infoStatus: 0,
|
infoStatus: 0,
|
||||||
// 运行选项
|
// 运行选项
|
||||||
@@ -425,6 +432,8 @@ export default {
|
|||||||
})
|
})
|
||||||
this.taskNum = nums
|
this.taskNum = nums
|
||||||
this.task_list = list
|
this.task_list = list
|
||||||
|
} else {
|
||||||
|
this.task_list = []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
deep: true,
|
deep: true,
|
||||||
@@ -516,6 +525,8 @@ export default {
|
|||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
that = this
|
that = this
|
||||||
|
let name = 'ERR_ELECTRON_BUILDER_CANNOT_EXECUTE'
|
||||||
|
console.log(name.toLowerCase())
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 服务打开/关闭
|
// 服务打开/关闭
|
||||||
@@ -523,16 +534,37 @@ export default {
|
|||||||
if (!that.serviceStatus) {
|
if (!that.serviceStatus) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
that.serviceLoading = true
|
||||||
if (e) {
|
if (e) {
|
||||||
that.store.commit('setData', { name: 'workStatus', data: true })
|
that.serviceTextex = '服务启动中'
|
||||||
|
this.$runCmd(`bash ${shPath} start`).then(res => {
|
||||||
|
that.$store.dispatch('chat/changeWorkStatus', true)
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
that.$store.dispatch('chat/initWebSocket')
|
that.$store.dispatch('chat/initWebSocket')
|
||||||
|
that.serviceLoading = false
|
||||||
}, 500);
|
}, 500);
|
||||||
|
}).catch(err => {
|
||||||
|
that.$message({
|
||||||
|
message: err,
|
||||||
|
type: 'error'
|
||||||
|
})
|
||||||
|
that.serviceLoading = false
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
that.store.commit('setData', { name: 'workStatus', data: false })
|
that.serviceTextex = '服务关闭中'
|
||||||
|
this.$runCmd(`bash ${shPath} stop`).then(res => {
|
||||||
|
that.$store.dispatch('chat/changeWorkStatus', false)
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
that.$store.dispatch('chat/closeWebsocket')
|
that.$store.dispatch('chat/closeWebsocket')
|
||||||
|
that.serviceLoading = false
|
||||||
}, 500);
|
}, 500);
|
||||||
|
}).catch(err => {
|
||||||
|
that.$message({
|
||||||
|
message: err,
|
||||||
|
type: 'error'
|
||||||
|
})
|
||||||
|
that.serviceLoading = false
|
||||||
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 执行
|
// 执行
|
||||||
|
|||||||
Reference in New Issue
Block a user