123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package main
- import (
- "cr-launcher/utils"
- "fmt"
- "os/exec"
- "path"
- )
- func main() {
- config, err := utils.ReadConfig()
- if err != nil {
- fmt.Println("配置文件错误")
- return
- }
- url := ""
- if config != nil {
- url = config.Url
- }
- version, err := utils.GetLatest(url)
- if err != nil {
- fmt.Println("获取版本信息错误")
- return
- }
- // 服务器最新版本有变动 更新
- if version.Version != config.Version {
- // 下载
- fmt.Println("更新中...")
- fmt.Println("下载程序")
- err := utils.DownloadZip(version.Url)
- if err != nil {
- fmt.Println("下载失败,请重新运行")
- return
- }
- // 解压
- fmt.Println("安装程序")
- fileName := path.Base(version.Url)
- err = utils.Unzip(fileName)
- if err != nil {
- fmt.Println(err)
- fmt.Println("安装程序失败")
- return
- }
- // 替换版本
- err = utils.WriteConfig(&utils.Config{
- Version: version.Version,
- Url: config.Url,
- ExePath: config.ExePath,
- })
- if err != nil {
- fmt.Println(err)
- fmt.Println("配置写入失败")
- }
- fmt.Println("安装成功")
- }
- // 运行应用程序
- cmd := exec.Command(config.ExePath)
- data, err := cmd.Output()
- if err != nil {
- fmt.Println(err)
- fmt.Println("启动失败")
- return
- }
- fmt.Println(string(data))
- fmt.Println("启动成功")
- }
|