Initial commit
This commit is contained in:
		
							
								
								
									
										74
									
								
								desktop/framework/windows/start/index.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								desktop/framework/windows/start/index.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,74 @@ | ||||
| /** | ||||
|  ****************************************************************************** | ||||
|  * @file    index.go | ||||
|  * @author  MakerYang | ||||
|  ****************************************************************************** | ||||
|  */ | ||||
|  | ||||
| package StartWindows | ||||
|  | ||||
| import ( | ||||
| 	"cnc/framework/config" | ||||
| 	"context" | ||||
| 	"os" | ||||
| 	"runtime" | ||||
| 	"strings" | ||||
| ) | ||||
|  | ||||
| type Api struct { | ||||
| 	ctx context.Context | ||||
| } | ||||
|  | ||||
| type ReturnResponse struct { | ||||
| 	Code int         `json:"code"` | ||||
| 	Data interface{} `json:"data"` | ||||
| 	Msg  string      `json:"msg"` | ||||
| } | ||||
|  | ||||
| func Init() *Api { | ||||
| 	return &Api{} | ||||
| } | ||||
|  | ||||
| func (start *Api) Startup(ctx context.Context) { | ||||
| 	start.ctx = ctx | ||||
| } | ||||
|  | ||||
| func (start *Api) Shutdown(ctx context.Context) { | ||||
|  | ||||
| } | ||||
|  | ||||
| func (start *Api) GetPlatform() string { | ||||
| 	platform := "" | ||||
| 	switch runtime.GOOS { | ||||
| 	case "windows": | ||||
| 		platform = "Windows" | ||||
| 	case "darwin": | ||||
| 		platform = "Darwin" | ||||
| 	case "linux": | ||||
| 		platform = "Linux" | ||||
| 		content, err := os.ReadFile("/etc/os-release") | ||||
| 		if err == nil { | ||||
| 			lines := strings.Split(string(content), "\n") | ||||
| 			for _, line := range lines { | ||||
| 				if strings.HasPrefix(line, "ID=") { | ||||
| 					switch { | ||||
| 					case strings.Contains(line, "ubuntu"): | ||||
| 						platform = "Ubuntu" | ||||
| 					case strings.Contains(line, "debian"): | ||||
| 						platform = "Debian" | ||||
| 					default: | ||||
| 						platform = "Linux" | ||||
| 					} | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 	default: | ||||
| 		platform = "-" | ||||
| 	} | ||||
|  | ||||
| 	return platform | ||||
| } | ||||
|  | ||||
| func (start *Api) GetVersion() []string { | ||||
| 	return []string{Config.Get.Info.ProductName, Config.Get.Info.ProductVersion} | ||||
| } | ||||
		Reference in New Issue
	
	Block a user