restart singbox button #328

This commit is contained in:
Alireza Ahmadi
2024-10-28 13:49:38 +01:00
parent d255905907
commit 50d1177443
8 changed files with 25 additions and 1 deletions
+5
View File
@@ -3,6 +3,7 @@ package api
import ( import (
"s-ui/logger" "s-ui/logger"
"s-ui/service" "s-ui/service"
"s-ui/singbox"
"s-ui/util" "s-ui/util"
"strconv" "strconv"
"strings" "strings"
@@ -20,6 +21,7 @@ type APIHandler struct {
service.PanelService service.PanelService
service.StatsService service.StatsService
service.ServerService service.ServerService
singbox.Controller
} }
func NewAPIHandler(g *gin.RouterGroup) { func NewAPIHandler(g *gin.RouterGroup) {
@@ -89,6 +91,9 @@ func (a *APIHandler) postHandler(c *gin.Context) {
case "restartApp": case "restartApp":
err = a.PanelService.RestartPanel(3) err = a.PanelService.RestartPanel(3)
jsonMsg(c, "restartApp", err) jsonMsg(c, "restartApp", err)
case "restartSb":
err = a.Controller.Restart()
jsonMsg(c, "restartSb", err)
case "linkConvert": case "linkConvert":
link := c.Request.FormValue("link") link := c.Request.FormValue("link")
result, _, err := util.GetOutbound(link, 0) result, _, err := util.GetOutbound(link, 0)
+14 -1
View File
@@ -5,7 +5,7 @@
:logType="logModal.logType" :logType="logModal.logType"
@close="closeLogs" @close="closeLogs"
/> />
<v-container class="fill-height"> <v-container class="fill-height" :loading="loading">
<v-responsive :class="reloadItems.length>0 ? 'fill-height text-center' : 'align-center'" > <v-responsive :class="reloadItems.length>0 ? 'fill-height text-center' : 'align-center'" >
<v-row class="d-flex align-center justify-center"> <v-row class="d-flex align-center justify-center">
<v-col cols="auto"> <v-col cols="auto">
@@ -116,6 +116,12 @@
</v-tooltip> </v-tooltip>
<v-icon icon="mdi-list-box-outline" :color="tilesData.sbd?.running ? 'success': 'error'" /> <v-icon icon="mdi-list-box-outline" :color="tilesData.sbd?.running ? 'success': 'error'" />
</v-chip> </v-chip>
<v-chip density="compact" color="transparent" v-if="tilesData.sbd?.running && !loading" style="cursor: pointer;" @click="restartSingbox()">
<v-tooltip activator="parent" location="top">
{{ $t('actions.restartSb') }}
</v-tooltip>
<v-icon icon="mdi-restart" color="warning" />
</v-chip>
</v-col> </v-col>
<v-col cols="4">{{ $t('main.info.memory') }}</v-col> <v-col cols="4">{{ $t('main.info.memory') }}</v-col>
<v-col cols="8"> <v-col cols="8">
@@ -168,6 +174,7 @@ import { computed, onBeforeUnmount, onMounted, ref } from 'vue'
import { i18n } from '@/locales' import { i18n } from '@/locales'
import LogVue from '@/layouts/modals/Logs.vue' import LogVue from '@/layouts/modals/Logs.vue'
const loading = ref(false)
const menu = ref(false) const menu = ref(false)
const menuItems = [ const menuItems = [
{ title: i18n.global.t('main.gauges'), value: [ { title: i18n.global.t('main.gauges'), value: [
@@ -249,4 +256,10 @@ const closeLogs = () => {
logModal.value.logType = "s-ui" logModal.value.logType = "s-ui"
logModal.value.visible = false logModal.value.visible = false
} }
const restartSingbox = async () => {
loading.value = true
await HttpUtils.post('api/restartSb',{})
loading.value = false
}
</script> </script>
+1
View File
@@ -103,6 +103,7 @@ export default {
disable: "Disable", disable: "Disable",
close: "Close", close: "Close",
restartApp: "Restart App", restartApp: "Restart App",
restartSb: "Restart Singbox",
}, },
login: { login: {
title: "Login", title: "Login",
+1
View File
@@ -102,6 +102,7 @@ export default {
disable: "غیرفعال", disable: "غیرفعال",
close: "بستن", close: "بستن",
restartApp: "ریستارت پنل", restartApp: "ریستارت پنل",
restartSb: "ریستارت سینگ‌باکس",
}, },
login: { login: {
title: "ورود", title: "ورود",
+1
View File
@@ -103,6 +103,7 @@ export default {
disable: "Отключить", disable: "Отключить",
close: "Закрыть", close: "Закрыть",
restartApp: "Перезапустить приложение", restartApp: "Перезапустить приложение",
restartSb: "Перезапустить Singbox",
}, },
login: { login: {
title: "Вход", title: "Вход",
+1
View File
@@ -103,6 +103,7 @@ export default {
disable: "Vô hiệu hóa", disable: "Vô hiệu hóa",
close: "Đóng", close: "Đóng",
restartApp: "Khởi động lại ứng dụng", restartApp: "Khởi động lại ứng dụng",
restartSb: "Khởi động lại Singbox",
}, },
login: { login: {
title: "Đăng nhập", title: "Đăng nhập",
+1
View File
@@ -103,6 +103,7 @@ export default {
disable: "禁用", disable: "禁用",
close: "关闭", close: "关闭",
restartApp: "重启面板", restartApp: "重启面板",
restartSb: "重启 Singbox",
}, },
login: { login: {
title: "登录", title: "登录",
+1
View File
@@ -104,6 +104,7 @@ export default {
disable: "禁用", disable: "禁用",
close: "關閉", close: "關閉",
restartApp: "重啟面板", restartApp: "重啟面板",
restartSb: "重啟 Singbox",
}, },
login: { login: {
title: "登錄", title: "登錄",