x
This commit is contained in:
parent
847b3521cf
commit
11ae38dae7
@ -258,7 +258,7 @@ func redPacket(cookie string, rpc chan []RedList) {
|
||||
req.Header("Connection", "keep-alive")
|
||||
req.Header("Accept-Language", "zh-cn")
|
||||
req.Header("Accept-Encoding", "gzip, deflate, br")
|
||||
req.Header("Referer", "https://st.jingxi.com/my/redpacket.shtml?newPg=App&jxsid=16156262265849285961")
|
||||
req.Header("Referer", "https://st.jingxi.com/my/redpacket.shtml?newPg=App")
|
||||
req.Header("Cookie", cookie)
|
||||
data, _ := req.Bytes()
|
||||
json.Unmarshal(data, &a)
|
||||
|
||||
@ -5,7 +5,6 @@ import (
|
||||
"io/ioutil"
|
||||
"net/url"
|
||||
"os"
|
||||
"os/exec"
|
||||
"regexp"
|
||||
"strconv"
|
||||
"strings"
|
||||
@ -50,6 +49,9 @@ func InitReplies() {
|
||||
}
|
||||
|
||||
var sendMessagee = func(msg string, msgs ...interface{}) {
|
||||
if len(msgs) == 0 {
|
||||
return
|
||||
}
|
||||
tp := msgs[1].(string)
|
||||
id := msgs[2].(int)
|
||||
switch tp {
|
||||
@ -63,6 +65,9 @@ var sendMessagee = func(msg string, msgs ...interface{}) {
|
||||
}
|
||||
|
||||
var sendAdminMessagee = func(msg string, msgs ...interface{}) {
|
||||
if len(msgs) == 0 {
|
||||
return
|
||||
}
|
||||
tp := msgs[1].(string)
|
||||
id := msgs[2].(int)
|
||||
switch tp {
|
||||
@ -83,6 +88,9 @@ var sendAdminMessagee = func(msg string, msgs ...interface{}) {
|
||||
}
|
||||
|
||||
var isAdmin = func(msgs ...interface{}) bool {
|
||||
if len(msgs) == 0 {
|
||||
return false
|
||||
}
|
||||
tp := msgs[1].(string)
|
||||
id := msgs[2].(int)
|
||||
switch tp {
|
||||
@ -129,30 +137,9 @@ var handleMessage = func(msgs ...interface{}) interface{} {
|
||||
if !isAdmin(msgs...) { //
|
||||
return "你没有权限操作"
|
||||
}
|
||||
sendMessagee("小滴滴开始拉取代码", msgs...)
|
||||
rtn, err := exec.Command("sh", "-c", "cd "+ExecPath+" && git pull").Output()
|
||||
if err != nil {
|
||||
if err := Update(msgs...); err != nil {
|
||||
return err.Error()
|
||||
}
|
||||
t := string(rtn)
|
||||
if !strings.Contains(t, "changed") {
|
||||
if strings.Contains(t, "Already") || strings.Contains(t, "已经是最新") {
|
||||
sendMessagee("小滴滴已是最新版啦", msgs...)
|
||||
} else {
|
||||
sendMessagee("小滴滴拉取代失败:", msgs...)
|
||||
}
|
||||
return nil
|
||||
} else {
|
||||
sendMessagee("小滴滴拉取代码成功", msgs...)
|
||||
}
|
||||
sendMessagee("小滴滴正在编译程序", msgs...)
|
||||
rtn, err = exec.Command("sh", "-c", "cd "+ExecPath+" && go build -o "+pname).Output()
|
||||
if err != nil {
|
||||
sendMessagee("小滴滴编译失败:", msgs...)
|
||||
return nil
|
||||
} else {
|
||||
sendAdminMessagee("小滴滴编译成功", msgs...)
|
||||
}
|
||||
fallthrough
|
||||
case "重启":
|
||||
if !isAdmin(msgs...) {
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"io"
|
||||
"os"
|
||||
"os/exec"
|
||||
"regexp"
|
||||
"runtime"
|
||||
"strings"
|
||||
|
||||
"github.com/beego/beego/v2/client/httplib"
|
||||
"github.com/beego/beego/v2/core/logs"
|
||||
@ -21,34 +21,66 @@ func initVersion() {
|
||||
logs.Info("检查更新" + version)
|
||||
value, err := httplib.Get(GhProxy + "https://raw.githubusercontent.com/cdle/xdd/main/models/version.go").String()
|
||||
if err != nil {
|
||||
logs.Info("更新User-Agent失败")
|
||||
logs.Info("更新版本的失败")
|
||||
} else {
|
||||
name := AppName + "_" + runtime.GOOS + "_" + runtime.GOARCH
|
||||
// name := AppName + "_" + runtime.GOOS + "_" + runtime.GOARCH
|
||||
if match := regexp.MustCompile(`var version = "(\d{10})"`).FindStringSubmatch(value); len(match) != 0 {
|
||||
if match[1] > version {
|
||||
logs.Warn("版本过低,下载更新")
|
||||
rsp, err := httplib.Get(GhProxy + "https://github.com/cdle/jd_study/releases/download/main/" + name).Response()
|
||||
logs.Warn("版本过低,自动更新")
|
||||
err := Update()
|
||||
if err != nil {
|
||||
logs.Warn("无法下载更新")
|
||||
return
|
||||
}
|
||||
filename := ExecPath + "/." + pname
|
||||
f, err := os.OpenFile(filename, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0777)
|
||||
if err != nil {
|
||||
logs.Warn("无法创建更新临时文件:%v"+filename, err)
|
||||
return
|
||||
}
|
||||
_, err = io.Copy(f, rsp.Body)
|
||||
f.Close()
|
||||
if err != nil {
|
||||
logs.Warn("下载更新失败")
|
||||
return
|
||||
}
|
||||
if err := os.Rename(filename, ExecPath+"/"+pname); err != nil {
|
||||
logs.Warn("移动临时更新文件失败")
|
||||
logs.Warn("更新失败,", err)
|
||||
}
|
||||
// rsp, err := httplib.Get(GhProxy + "https://github.com/cdle/jd_study/releases/download/main/" + name).Response()
|
||||
// if err != nil {
|
||||
// logs.Warn("无法下载更新")
|
||||
// return
|
||||
// }
|
||||
// filename := ExecPath + "/." + pname
|
||||
// f, err := os.OpenFile(filename, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0777)
|
||||
// if err != nil {
|
||||
// logs.Warn("无法创建更新临时文件:%v"+filename, err)
|
||||
// return
|
||||
// }
|
||||
// _, err = io.Copy(f, rsp.Body)
|
||||
// f.Close()
|
||||
// if err != nil {
|
||||
// logs.Warn("下载更新失败")
|
||||
// return
|
||||
// }
|
||||
// if err := os.Rename(filename, ExecPath+"/"+pname); err != nil {
|
||||
// logs.Warn("移动临时更新文件失败")
|
||||
// }
|
||||
Daemon()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func Update(msgs ...interface{}) error {
|
||||
sendMessagee("小滴滴开始拉取代码", msgs...)
|
||||
rtn, err := exec.Command("sh", "-c", "cd "+ExecPath+" && git pull").Output()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
t := string(rtn)
|
||||
if !strings.Contains(t, "changed") {
|
||||
if strings.Contains(t, "Already") || strings.Contains(t, "已经是最新") {
|
||||
sendMessagee("小滴滴已是最新版啦", msgs...)
|
||||
} else {
|
||||
sendMessagee("小滴滴拉取代失败:", msgs...)
|
||||
}
|
||||
return nil
|
||||
} else {
|
||||
sendMessagee("小滴滴拉取代码成功", msgs...)
|
||||
}
|
||||
sendMessagee("小滴滴正在编译程序", msgs...)
|
||||
rtn, err = exec.Command("sh", "-c", "cd "+ExecPath+" && go build -o "+pname).Output()
|
||||
if err != nil {
|
||||
sendMessagee("小滴滴编译失败:", msgs...)
|
||||
return nil
|
||||
} else {
|
||||
sendAdminMessagee("小滴滴编译成功", msgs...)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user