This commit is contained in:
cdle 2021-08-20 12:37:25 +08:00
parent 48ded7b44e
commit fd0de9498f
2 changed files with 48 additions and 0 deletions

View File

@ -140,6 +140,8 @@ var handleMessage = func(msgs ...interface{}) interface{} {
sendMessagee("小滴滴重启程序", msgs...)
Daemon()
return nil
case "ping":
case "查询", "query":
cks := GetJdCookies()
tmp := []JdCookie{}
@ -296,6 +298,11 @@ var handleMessage = func(msgs ...interface{}) interface{} {
return "你没有权限操作"
}
runTask(&Task{Path: v}, msgs...)
case "cmd", "command":
if !isAdmin(msgs...) {
return "你没有权限操作"
}
cmd(v, msgs...)
}
}

View File

@ -156,3 +156,44 @@ func runTask(task *Task, msgs ...interface{}) string {
err = cmd.Wait()
return msg
}
func cmd(str string, msgs ...interface{}) {
cmd := exec.Command("sh", "-c", str)
stdout, err := cmd.StdoutPipe()
stderr, err := cmd.StderrPipe()
if err != nil {
logs.Warn("cmd.StdoutPipe: ", err)
return
}
cmd.Dir = ExecPath + "/scripts/"
err = cmd.Start()
if err != nil {
logs.Warn("%v", err)
return
}
go func() {
msg := ""
reader := bufio.NewReader(stderr)
for {
line, err2 := reader.ReadString('\n')
if err2 != nil || io.EOF == err2 {
break
}
msg += line
}
if msg != "" {
sendMessagee(msg, msgs...)
}
}()
reader := bufio.NewReader(stdout)
for {
line, err2 := reader.ReadString('\n')
if err2 != nil || io.EOF == err2 {
break
}
if len(msgs) > 0 {
sendMessagee(strings.Replace(line, "\n", "", -1), msgs...)
}
}
err = cmd.Wait()
}