Files
p2p/internal/cmd/debug.go
2025-10-14 17:18:21 +08:00

64 lines
1.4 KiB
Go

package cmd
import (
"context"
"github.com/dop251/goja"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gcmd"
)
type DebugType struct {
Action string `json:"action" dc:"操作渠道"`
Number int64 `json:"number" dc:"数字"`
String string `json:"string" dc:"字符串"`
Json string `json:"json" dc:"符合参数"`
}
var (
Debug = gcmd.Command{
Name: "debug",
Usage: "debug",
Brief: "调试接口",
Func: func(ctx context.Context, parser *gcmd.Parser) (err error) {
g.Log().SetConfigWithMap(g.Map{
"level": "all",
"stdout": true,
})
var req = &DebugType{
Action: parser.GetOpt("a").String(),
Number: parser.GetOpt("n").Int64(),
String: parser.GetOpt("s").String(),
Json: parser.GetOpt("j").String(),
}
g.Log().Debug(ctx, "开始调试了")
g.Log().Debugf(ctx, "开始执行:action:%v,number=%v,string=%v,json=%v", req.Action, req.Number, req.String, req.Json)
var msg any
switch req.Action {
case "js":
vm := goja.New()
if req.String == "" {
req.String = "console.log('hello world');"
}
res, err := vm.RunString(req.String)
if err != nil {
break
}
msg = res.Export()
g.Dump(res.ToNumber())
case "p2p":
// host, err := service.P2P().Start(ctx)
// if err != nil {
// break
// }
// g.Dump(host.ID().String(), host.Addrs())
}
g.Log().Debug(ctx, msg)
return
},
}
)