@@ -16,34 +16,40 @@ var (
16
16
ConfPath = WorkPath + "conf/"
17
17
)
18
18
19
- func GetLatestVersion (conf ServerConf ) string {
19
+ func (conf ServerConf ) GetLatestVersion ( ) string {
20
20
if ! conf .IsRoot {
21
- res , getErr := http .Get (conf .RootServerAddr )
22
- if getErr != nil {
23
- return common . LocalVersion
21
+ res , err := http .Get (conf .RootServerAddr )
22
+ if err != nil {
23
+ return "N/A (请检查网络连接)"
24
24
}
25
25
defer res .Body .Close ()
26
- recvJson , getErr := ioutil .ReadAll (res .Body )
27
- if getErr != nil {
28
- return common . LocalVersion
26
+ recvJson , err := ioutil .ReadAll (res .Body )
27
+ if err != nil {
28
+ return "N/A (数据包错误)"
29
29
}
30
30
recv := common.PublicInfo {}
31
- getErr = json .Unmarshal (recvJson , & recv )
32
- if getErr != nil {
33
- return common .LocalVersion
31
+ err = json .Unmarshal (recvJson , & recv )
32
+ if err != nil {
33
+ return "N/A (数据包错误)"
34
+ }
35
+ if recv .Version == "" {
36
+ return "N/A (没有获取到版本信息)"
34
37
}
35
38
return recv .Version
36
39
}
37
40
return common .LocalVersion
38
41
}
39
42
40
- func CheckLatestVersion (conf ServerConf ) {
43
+ func (conf ServerConf ) CheckLatestVersion ( ) {
41
44
if ! conf .IsRoot {
42
- LatestVersion := GetLatestVersion (conf )
45
+ LatestVersion := conf . GetLatestVersion ()
43
46
fmt .Println ("当前版本 " , common .LocalVersion )
44
47
fmt .Println ("最新版本 " , LatestVersion )
45
- if common .CompareVersionString (LatestVersion , common .LocalVersion ) {
46
- fmt .Println ("\n 发现新版本,请前往 https://github.com/yzy613/ddns/releases 下载" )
48
+ switch {
49
+ case strings .Contains (LatestVersion , "N/A" ):
50
+ fmt .Println ("\n 需要手动检查更新,请前往 " + common .ProjectAddr + " 查看" )
51
+ case common .CompareVersionString (LatestVersion , common .LocalVersion ):
52
+ fmt .Println ("\n 发现新版本,请前往 " + common .ProjectAddr + " 下载" )
47
53
}
48
54
} else {
49
55
fmt .Println ("本机是根服务器" )
@@ -113,9 +119,9 @@ func Uninstall() {
113
119
if IsWindows () {
114
120
fmt .Println ("Windows 暂不支持安装到系统" )
115
121
} else {
116
- getErr := os .Remove ("/etc/systemd/system/ddns-server.service" )
117
- if getErr != nil {
118
- fmt .Println (getErr )
122
+ err := os .Remove ("/etc/systemd/system/ddns-server.service" )
123
+ if err != nil {
124
+ fmt .Println (err )
119
125
return
120
126
}
121
127
fmt .Println ("卸载服务成功" )
0 commit comments