Files
work_cation/version/version.go
T

94 lines
1.6 KiB
Go

package version
import (
"bufio"
"net/http"
"os"
"strconv"
"strings"
)
type Version struct {
Big int
Small int
Debug int
}
const (
versionPath = "http://192.168.5.35:6801/share/%E8%8B%8F%E9%80%9A/work_cation_v.txt"
defaultVersion = "0.0.0"
versionSave = "version.txt"
)
var NowVersion = "0.0.1"
var NewVersion = "0.0.0"
func GetNewVersion(path string) (string, error) {
return GetUrl(path)
}
func GetOldVersion(path string) (string, error) {
return GetFile(path)
}
func PauseVersion(varsionStr string) (Version, error) {
varSplit := strings.Split(varsionStr, ".")
big, err := strconv.Atoi(varSplit[0])
if err != nil {
return Version{}, err
}
small, err := strconv.Atoi(varSplit[1])
if err != nil {
return Version{}, err
}
debug, err := strconv.Atoi(varSplit[2])
if err != nil {
return Version{}, err
}
version := Version{
Big: big,
Small: small,
Debug: debug,
}
return version, nil
}
func GetUrl(url string) (string, error) {
resp, err := http.Get(url)
if err != nil {
return "", err
}
defer resp.Body.Close()
sc := bufio.NewScanner(resp.Body)
var result string
for sc.Scan() {
result += sc.Text()
}
return result, nil
}
func GetFile(path string) (string, error) {
file, err := os.Open(path)
if err != nil {
return "", err
}
defer file.Close()
sc := bufio.NewScanner(file)
var result string
for sc.Scan() {
result += sc.Text()
}
return result, nil
}
func WriteFile(path, context string) {
file, err := os.OpenFile(path, os.O_WRONLY|os.O_CREATE, 0666)
if err != nil {
return
}
defer file.Close()
file.WriteString(context)
}