Просмотр исходного кода

网页端设置电报机器人开关

vaxilu 3 лет назад
Родитель
Сommit
dfc6b56327

+ 14 - 14
util/common/format.go

@@ -1,21 +1,21 @@
 package common
 
 import (
-   "fmt"
+	"fmt"
 )
 
 func FormatTraffic(trafficBytes int64) (size string) {
-   if trafficBytes < 1024 {
-      return fmt.Sprintf("%.2fB", float64(trafficBytes)/float64(1))
-   } else if trafficBytes < (1024 * 1024) {
-      return fmt.Sprintf("%.2fKB", float64(trafficBytes)/float64(1024))
-   } else if trafficBytes < (1024 * 1024 * 1024) {
-      return fmt.Sprintf("%.2fMB", float64(trafficBytes)/float64(1024*1024))
-   } else if trafficBytes < (1024 * 1024 * 1024 * 1024) {
-      return fmt.Sprintf("%.2fGB", float64(trafficBytes)/float64(1024*1024*1024))
-   } else if trafficBytes < (1024 * 1024 * 1024 * 1024 * 1024) {
-      return fmt.Sprintf("%.2fTB", float64(trafficBytes)/float64(1024*1024*1024*1024))
-   } else {
-      return fmt.Sprintf("%.2fEB", float64(trafficBytes)/float64(1024*1024*1024*1024*1024))
-   }
+	if trafficBytes < 1024 {
+		return fmt.Sprintf("%.2fB", float64(trafficBytes)/float64(1))
+	} else if trafficBytes < (1024 * 1024) {
+		return fmt.Sprintf("%.2fKB", float64(trafficBytes)/float64(1024))
+	} else if trafficBytes < (1024 * 1024 * 1024) {
+		return fmt.Sprintf("%.2fMB", float64(trafficBytes)/float64(1024*1024))
+	} else if trafficBytes < (1024 * 1024 * 1024 * 1024) {
+		return fmt.Sprintf("%.2fGB", float64(trafficBytes)/float64(1024*1024*1024))
+	} else if trafficBytes < (1024 * 1024 * 1024 * 1024 * 1024) {
+		return fmt.Sprintf("%.2fTB", float64(trafficBytes)/float64(1024*1024*1024*1024))
+	} else {
+		return fmt.Sprintf("%.2fEB", float64(trafficBytes)/float64(1024*1024*1024*1024*1024))
+	}
 }

+ 1 - 0
web/assets/js/model/models.js

@@ -163,6 +163,7 @@ class AllSetting {
         this.webCertFile = "";
         this.webKeyFile = "";
         this.webBasePath = "/";
+        this.tgBotEnable = false;
         this.tgBotToken = "";
         this.tgBotChatId = 0;
         this.tgRunTime = "";

+ 1 - 0
web/entity/entity.go

@@ -32,6 +32,7 @@ type AllSetting struct {
 	WebCertFile        string `json:"webCertFile" form:"webCertFile"`
 	WebKeyFile         string `json:"webKeyFile" form:"webKeyFile"`
 	WebBasePath        string `json:"webBasePath" form:"webBasePath"`
+	TgBotEnable        bool   `json:"tgBotEnable" form:"tgBotEnable"`
 	TgBotToken         string `json:"tgBotToken" form:"tgBotToken"`
 	TgBotChatId        int    `json:"tgBotChatId" form:"tgBotChatId"`
 	TgRunTime          string `json:"tgRunTime" form:"tgRunTime"`

+ 3 - 0
web/html/xui/component/setting.html

@@ -14,6 +14,9 @@
             <template v-else-if="type === 'textarea'">
                 <a-textarea :value="value" @input="$emit('input', $event.target.value)" :auto-size="{ minRows: 10, maxRows: 10 }"></a-textarea>
             </template>
+            <template v-else-if="type === 'switch'">
+                <a-switch :checked="value" @change="value => $emit('input', value)"></a-switch>
+            </template>
         </a-col>
     </a-row>
 </a-list-item>

+ 2 - 1
web/html/xui/setting.html

@@ -73,9 +73,10 @@
                         </a-tab-pane>
                         <a-tab-pane key="4" tab="TG提醒相关设置">
                             <a-list item-layout="horizontal" style="background: white">
+                                <setting-list-item type="switch" title="启用电报机器人" desc="重启面板生效"  v-model="allSetting.tgBotEnable"></setting-list-item>
                                 <setting-list-item type="text" title="电报机器人TOKEN" desc="重启面板生效"  v-model="allSetting.tgBotToken"></setting-list-item>
                                 <setting-list-item type="number" title="电报机器人ChatId" desc="重启面板生效"  v-model.number="allSetting.tgBotChatId"></setting-list-item>
-                                <setting-list-item type="text" title="电报机器人通知时间" desc="采用Crontab定时格式"  v-model="allSetting.tgRunTime"></setting-list-item>
+                                <setting-list-item type="text" title="电报机器人通知时间" desc="采用Crontab定时格式,重启面板生效"  v-model="allSetting.tgRunTime"></setting-list-item>
                             </a-list>
                         </a-tab-pane>
                         <a-tab-pane key="5" tab="其他设置">

+ 2 - 0
web/service/setting.go

@@ -83,6 +83,8 @@ func (s *SettingService) GetAllSetting() (*entity.AllSetting, error) {
 			fieldV.SetInt(n)
 		case string:
 			fieldV.SetString(value)
+		case bool:
+			fieldV.SetBool(value == "true")
 		default:
 			return common.NewErrorf("unknown field %v type %v", key, t)
 		}