x
This commit is contained in:
parent
48ded7b44e
commit
fd0de9498f
@ -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...)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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()
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user