mirror of
				https://gitee.com/dromara/mayfly-go
				synced 2025-11-04 00:10:25 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package config
 | 
						||
 | 
						||
import (
 | 
						||
	sysapp "mayfly-go/internal/sys/application"
 | 
						||
	"mayfly-go/pkg/logx"
 | 
						||
	"mayfly-go/pkg/utils/bytex"
 | 
						||
 | 
						||
	"github.com/may-fly/cast"
 | 
						||
)
 | 
						||
 | 
						||
const (
 | 
						||
	ConfigKeyMachine string = "MachineConfig" // 机器相关配置
 | 
						||
)
 | 
						||
 | 
						||
type Machine struct {
 | 
						||
	UploadMaxFileSize int64  // 允许上传的最大文件size
 | 
						||
	TermOpSaveDays    int    // 终端记录保存天数
 | 
						||
	GuacdHost         string // guacd服务地址 默认 127.0.0.1
 | 
						||
	GuacdPort         int    // guacd服务端口  默认 4822
 | 
						||
	GuacdFilePath     string // guacd服务文件存储位置,用于挂载RDP文件夹
 | 
						||
}
 | 
						||
 | 
						||
// 获取机器相关配置
 | 
						||
func GetMachine() *Machine {
 | 
						||
	c := sysapp.GetConfigApp().GetConfig(ConfigKeyMachine)
 | 
						||
	jm := c.GetJsonMap()
 | 
						||
 | 
						||
	mc := new(Machine)
 | 
						||
 | 
						||
	// 将1GB等字符串转为int64的byte
 | 
						||
	uploadMaxFileSizeStr := jm["uploadMaxFileSize"]
 | 
						||
	var uploadMaxFileSize int64 = 1 * bytex.GB
 | 
						||
	if uploadMaxFileSizeStr != "" {
 | 
						||
		var err error
 | 
						||
		uploadMaxFileSize, err = bytex.ParseSize(uploadMaxFileSizeStr)
 | 
						||
		if err != nil {
 | 
						||
			logx.Errorf("解析机器配置的最大上传文件大小失败: uploadMaxFileSize=%s, 使用系统默认值1GB", uploadMaxFileSizeStr)
 | 
						||
		}
 | 
						||
	}
 | 
						||
	mc.UploadMaxFileSize = uploadMaxFileSize
 | 
						||
	mc.TermOpSaveDays = cast.ToIntD(jm["termOpSaveDays"], 30)
 | 
						||
	// guacd
 | 
						||
	mc.GuacdHost = cast.ToString(jm["guacdHost"])
 | 
						||
	mc.GuacdPort = cast.ToIntD(jm["guacdPort"], 4822)
 | 
						||
	mc.GuacdFilePath = cast.ToStringD(jm["guacdFilePath"], "")
 | 
						||
 | 
						||
	return mc
 | 
						||
}
 |