1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- /**
- ******************************************************************************
- * @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}
- }
|