diff --git a/src/main/java/xyz/wbsite/jmacro/JMacro.java b/src/main/java/xyz/wbsite/jmacro/JMacro.java index d9762e6..7ca2199 100644 --- a/src/main/java/xyz/wbsite/jmacro/JMacro.java +++ b/src/main/java/xyz/wbsite/jmacro/JMacro.java @@ -338,7 +338,7 @@ public abstract class JMacro { * 抖动延迟 */ public void delayUnstable() { - delayUnstable(500); + delayUnstable(800); } /** @@ -512,4 +512,28 @@ public abstract class JMacro { int y = center.getY() + RandomUtil.randomInt(-radius, radius); return new Location(x, y); } + + /** + * 输入文本 + * + * @param text 文本 + */ + public void input(String text) { + // 纯英文输入以type输入,其他情况使用paste输入 + if (text.matches("^[a-zA-Z0-9]+$")) { + for (char c : text.toCharArray()) { + try { + // 每个字符输入间隔随机(100-500 毫秒) + long delay = RandomUtil.randomLong(100, 500); + screen.type(String.valueOf(c)); + Thread.sleep(delay); + } catch (InterruptedException e) { + throw new IllegalArgumentException(e); + } + } + workRegion.type(text); + } else { + workRegion.paste(text); + } + } } \ No newline at end of file diff --git a/src/main/java/xyz/wbsite/jmacro/util/DateUtil.java b/src/main/java/xyz/wbsite/jmacro/util/DateUtil.java index 952acb8..d5bb9c1 100644 --- a/src/main/java/xyz/wbsite/jmacro/util/DateUtil.java +++ b/src/main/java/xyz/wbsite/jmacro/util/DateUtil.java @@ -2,6 +2,8 @@ package xyz.wbsite.jmacro.util; import cn.hutool.core.date.DateTime; +import java.util.Date; + /** * 日期工具. * @@ -33,15 +35,25 @@ public class DateUtil extends cn.hutool.core.date.DateUtil { } } + /** + * 判断当前时间是否在指定时间之后 + * + * @param baseTime 基准时间 HH:mm:ss + * @return 是否在基准时间之后 + */ + public static boolean isTimeAfter(String baseTime) { + return isTimeAfter(baseTime, DateUtil.date()); + } + /** * 判断时间是否在指定时间之后 * - * @param dateTime 日期 - * @param time 时间 HH:mm:ss - * @return 是否在区间 + * @param baseTime 基准时间 HH:mm:ss + * @param time 时间 + * @return 是否在基准时间之后 */ - public static boolean isTimeAfter(DateTime dateTime, String time) { - return isTimeAfter(dateTime.toString("HH:mm:ss"), time); + public static boolean isTimeAfter(String baseTime, Date time) { + return isTimeAfter(baseTime, DateUtil.format(time, "HH:mm:ss")); } /** @@ -49,29 +61,39 @@ public class DateUtil extends cn.hutool.core.date.DateUtil { * * @param baseTime 基准时间 HH:mm:ss * @param time 被比较值 HH:mm:ss - * @return 是否在区间 + * @return 是否在基准时间之后 */ public static boolean isTimeAfter(String baseTime, String time) { return baseTime.compareTo(time) < 0; } /** - * 判断时间是否在指定时间之后 + * 判断当前时间是否在指定时间之前 * - * @param dateTime 日期 - * @param time 时间 HH:mm:ss - * @return 是否在区间 + * @param baseTime 基准时间 HH:mm:ss + * @return 是否在基准时间之前 */ - public static boolean isTimeBefore(DateTime dateTime, String time) { - return isTimeBefore(dateTime.toString("HH:mm:ss"), time); + public static boolean isTimeBefore(String baseTime) { + return isTimeBefore(baseTime, DateUtil.date()); } /** - * 判断时间是否在指定时间之后 + * 判断时间是否在指定时间之前 + * + * @param baseTime 基准时间 HH:mm:ss + * @param time 时间 + * @return 是否在基准时间之前 + */ + public static boolean isTimeBefore(String baseTime, Date time) { + return isTimeBefore(baseTime, DateUtil.format(time, "HH:mm:ss")); + } + + /** + * 判断时间是否在指定时间之前 * * @param baseTime 基准时间 HH:mm:ss * @param time 被比较值 HH:mm:ss - * @return 是否在区间 + * @return 是否在基准时间之前 */ public static boolean isTimeBefore(String baseTime, String time) { return baseTime.compareTo(time) > 0;