refactor: hrp ui server drag

This commit is contained in:
lilong.129
2024-11-05 16:46:12 +08:00
parent 2bdfe45f1d
commit e279ac0a3a
3 changed files with 29 additions and 13 deletions

View File

@@ -1 +1 @@
v5.0.0+2411051626
v5.0.0+2411051646

View File

@@ -17,11 +17,12 @@ type TapRequest struct {
}
type DragRequest struct {
FromX float64 `json:"from_x"`
FromY float64 `json:"from_y"`
ToX float64 `json:"to_x"`
ToY float64 `json:"to_y"`
Duration float64 `json:"duration"`
FromX float64 `json:"from_x"`
FromY float64 `json:"from_y"`
ToX float64 `json:"to_x"`
ToY float64 `json:"to_y"`
Options *uixt.ActionOptions `json:"options,omitempty"`
}
type InputRequest struct {

View File

@@ -30,7 +30,7 @@ func tapHandler(c *gin.Context) {
if tapReq.Text != "" {
err := dExt.TapByOCR(tapReq.Text, actionOptions...)
if err != nil {
log.Err(err).Msg(fmt.Sprintf("[%s]: failed to tap text %s", c.HandlerName(), tapReq.Text))
log.Err(err).Str("text", tapReq.Text).Msg("tap text failed")
c.JSON(http.StatusInternalServerError,
HttpResponse{
Code: code.GetErrorCode(err),
@@ -43,7 +43,7 @@ func tapHandler(c *gin.Context) {
} else if tapReq.X < 1 && tapReq.Y < 1 {
err := dExt.TapXY(tapReq.X, tapReq.Y, actionOptions...)
if err != nil {
log.Err(err).Msg(fmt.Sprintf("[%s]: failed to tap %f, %f", c.HandlerName(), tapReq.X, tapReq.Y))
log.Err(err).Float64("x", tapReq.X).Float64("y", tapReq.Y).Msg("tap relative xy failed")
c.JSON(http.StatusInternalServerError,
HttpResponse{
Code: code.GetErrorCode(err),
@@ -56,7 +56,7 @@ func tapHandler(c *gin.Context) {
} else {
err := dExt.TapAbsXY(tapReq.X, tapReq.Y, actionOptions...)
if err != nil {
log.Err(err).Msg(fmt.Sprintf("[%s]: failed to tap %f, %f", c.HandlerName(), tapReq.X, tapReq.Y))
log.Err(err).Float64("x", tapReq.X).Float64("y", tapReq.Y).Msg("tap abs xy failed")
c.JSON(http.StatusInternalServerError,
HttpResponse{
Code: code.GetErrorCode(err),
@@ -82,10 +82,20 @@ func dragHandler(c *gin.Context) {
return
}
var actionOptions []uixt.ActionOption
if dragReq.Options != nil {
actionOptions = dragReq.Options.Options()
}
if dragReq.FromX < 1 && dragReq.FromY < 1 && dragReq.ToX < 1 && dragReq.ToY < 1 {
err := dExt.SwipeRelative(dragReq.FromX, dragReq.FromY, dragReq.ToX, dragReq.ToY, uixt.WithPressDuration(dragReq.Duration))
err := dExt.SwipeRelative(
dragReq.FromX, dragReq.FromY, dragReq.ToX, dragReq.ToY,
actionOptions...)
if err != nil {
log.Err(err).Msg(fmt.Sprintf("[%s]: failed to drag from %f, %f to %f, %f", c.HandlerName(), dragReq.FromX, dragReq.FromY, dragReq.ToX, dragReq.ToY))
log.Err(err).
Float64("from_x", dragReq.FromX).Float64("from_y", dragReq.FromY).
Float64("to_x", dragReq.ToX).Float64("to_y", dragReq.ToY).
Msg("swipe relative failed")
c.JSON(http.StatusInternalServerError,
HttpResponse{
Code: code.GetErrorCode(err),
@@ -96,9 +106,14 @@ func dragHandler(c *gin.Context) {
return
}
} else {
err := dExt.Driver.SwipeFloat(dragReq.FromX, dragReq.FromY, dragReq.ToX, dragReq.ToY, uixt.WithPressDuration(dragReq.Duration))
err := dExt.Driver.SwipeFloat(
dragReq.FromX, dragReq.FromY, dragReq.ToX, dragReq.ToY,
actionOptions...)
if err != nil {
log.Err(err).Msg(fmt.Sprintf("[%s]: failed to drag from %f, %f to %f, %f", c.HandlerName(), dragReq.FromX, dragReq.FromY, dragReq.ToX, dragReq.ToY))
log.Err(err).
Float64("from_x", dragReq.FromX).Float64("from_y", dragReq.FromY).
Float64("to_x", dragReq.ToX).Float64("to_y", dragReq.ToY).
Msg("swipe absolute failed")
c.JSON(http.StatusInternalServerError,
HttpResponse{
Code: code.GetErrorCode(err),