main.go 861 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package main
  2. import (
  3. "cr-launcher/utils"
  4. "fmt"
  5. "os/exec"
  6. "path"
  7. )
  8. func main() {
  9. config, err := utils.ReadConfig()
  10. if err != nil {
  11. fmt.Println("配置文件错误")
  12. return
  13. }
  14. url := ""
  15. if config != nil {
  16. url = config.Url
  17. }
  18. version, err := utils.GetLatest(url)
  19. if err != nil {
  20. fmt.Println("获取版本信息错误")
  21. return
  22. }
  23. // 服务器最新版本有变动 更新
  24. if version.Version != config.Version {
  25. // 下载
  26. utils.DownloadZip(version.Url)
  27. // 解压
  28. fmt.Println("更新")
  29. fileName := path.Base(version.Url)
  30. err := utils.Unzip(fileName)
  31. if err != nil {
  32. fmt.Println(err)
  33. return
  34. }
  35. }
  36. // 运行应用程序
  37. cmd := exec.Command(config.ExePath)
  38. data, err := cmd.Output()
  39. if err != nil {
  40. fmt.Println(err)
  41. fmt.Println("启动失败")
  42. return
  43. }
  44. fmt.Println(string(data))
  45. fmt.Println("启动成功")
  46. }