├── 111111111柴房 ├── 2222222.js ├── yeah.png ├── 微信赞赏码.png └── 支付宝收款码.jpg ├── README.md ├── UI ├── 1怎样动态增加text标签157.js ├── 1改变字体大小和内容148.js ├── 1改变字体颜色大小和内容118.js ├── 1鸣人分身158.js ├── 3d视角图3.js ├── Auto.js教程浏览器162.js ├── Switch控件242.js ├── UI和悬浮窗一起使用的完整栗子 │ ├── main.js │ ├── view点击事件.js │ ├── window在屏幕之内.js │ ├── 多线程控制悬浮窗.js │ ├── 小红点悬浮球.js │ ├── 带属性的悬浮窗.js │ ├── 悬控移动和点击.js │ ├── 悬浮窗输入框.js │ ├── 接码窗口.js │ ├── 控制台.js │ ├── 浏览器窗口.js │ ├── 滑动效果.js │ └── 移动悬浮窗.js ├── UI控件隐藏.js ├── UI文件选择442.js ├── UI轮播图 ├── WebView多页面浏览.js ├── WebView简单示例安卓调用js428.js ├── activity.js ├── activity和context.js ├── aj功能搜索.js ├── autojs教程瀏覽器.js ├── bmob用户验证demoV1.js ├── drawer.js ├── fab.js ├── getPixels参数详解.js ├── list显示脚本文件夹下所有js文件.js ├── list隔行变色.js ├── scroll的使用.js ├── spinner.js ├── switch控件.js ├── ui保存控件属性3.js ├── ui多界面215.js ├── ui属性.js ├── ui延时.js ├── ui开关控件236.js ├── ui显示日志.js ├── ui示例下方tabs ├── ui示例下方tabs(1.0.0-1 修复宽度不适配问题).js ├── ui脚本使用无障碍的最佳实践.js ├── unlock.js ├── unlock306.js ├── webViewClient的用法.js ├── webViewCookie.js ├── webViewUA切换.js ├── webView保存网页图片到本地.js ├── webView填充表单.js ├── webView提取图片地址并加载.js ├── webView攀登.js ├── webView获取网页原始图片.js ├── webView输入关键词搜索.js ├── webviewClient的使用方法.js ├── windowFlag.js ├── windowManager.js ├── 一开始不要显示输入法.js ├── 下拉框控制文本框表驱动.js ├── 二值化图片seekbar.js ├── 任性弹窗.js ├── 使用自带图标--图片相交的效果PorterDuffXfermode.js ├── 保存imgView加载的图片.js ├── 保存imgView加载的图片第二种方法.js ├── 全局半透明背景1192.js ├── 全屏显示背景图191.js ├── 列表控件(1).js ├── 制作浏览器.js ├── 动态布局.js ├── 动态改变控件大小和位置.js ├── 动态显示隐藏布局156.js ├── 包名查看器5125.js ├── 单选按钮demo.js ├── 双击返回退出的ui.js ├── 只能在autojs弹框.js ├── 图中图效果(镜中镜) │ ├── init悬浮窗2222222222222222222.js │ ├── 一个倍数一个图片.js │ └── 矩阵变图片.js ├── 图片圆角.js ├── 在ui中使用悬浮窗demo.js ├── 在别的脚本中获取ui的控件属性 │ ├── ui模块.js │ └── 获取ui模块中按钮的文本.js ├── 坐标点击和控件点击测试.js326.js ├── 基础图片查看122.js ├── 声音示波器2.js ├── 复选框.js ├── 多任务计时器117.js ├── 多点_取色_点线.js ├── 多重绕轴画图.js ├── 帧布局139.js ├── 应用列表320.js ├── 待办事项_全选.js ├── 循环缩放webView.js ├── 快手组队助力脚本.js ├── 悬浮窗和UI一起使用的例子 │ ├── main.js │ ├── view点击事件.js │ ├── window在屏幕之内.js │ ├── 多线程控制悬浮窗.js │ ├── 小红点悬浮球.js │ ├── 带属性的悬浮窗.js │ ├── 悬控移动和点击.js │ ├── 接码窗口.js │ ├── 控制台.js │ ├── 浏览器窗口.js │ ├── 滑动效果.js │ └── 移动悬浮窗.js ├── 手勢模塊 │ ├── 44.png │ ├── onetouch.js │ └── 手势.js ├── 拖动条控件.js ├── 拨号盘.js ├── 拨号盘1409.js ├── 按钮平分.js ├── 按钮设置图片demo.js ├── 接入天御滑动验证码.js ├── 控件坐标系变换最终版.js ├── 控件自身绘制坐标系的变换.js ├── 播放gif161.js ├── 数字键盘.js ├── 数字键盘186.js ├── 数字键盘输入.js ├── 数字键盘输入196.js ├── 文件查看.js ├── 文件查看385.js ├── 文件浏览器419.js ├── 文本搜索高亮.js ├── 文本搜索高亮231.js ├── 显示指定控件信息 ├── 显示网页.js ├── 最最原始的验证码.js ├── 本地图片浏览器390.js ├── 模糊的百度.js ├── 欢迎页.js ├── 海贼王之家.js ├── 清晰的百度.js ├── 演示ColorMatrix各个值的用法.js ├── 登录258.js ├── 监听 │ ├── spinner.js │ ├── 单选按钮demo.js │ ├── 悬控移动和点击.js │ ├── 横竖屏监听.js │ └── 输入框删除监听.js ├── 相对布局137.js ├── 答题搜索3105.js ├── 线性布局134.js ├── 脚本文件夹276.js ├── 脚本管理工具UI示例337.js ├── 自动机.js ├── 自动机146.js ├── 自定义canvasButton.js ├── 自定义向上浮动view.js ├── 获取UI界面控件宽度和高度.js ├── 获取ui界面左上角坐标.js ├── 获取手机应用信息(对话框).js ├── 表格布局283.js ├── 视频播放器--带注释.js ├── 视频播放器.js ├── 设置三秒后才能点击.js ├── 设置按钮三秒后才能点击311.js ├── 设置界面颜色149.js ├── 调色板.js ├── 足艺阁图片浏览器 密码666420.js ├── 跑马灯.js ├── 跑马灯首尾相接无缝隙.js ├── 轮播图.js ├── 输入框光标.js ├── 运动的小球.js ├── 运行勾选的脚本.js ├── 遍历查找指定类型的子控件.js ├── 配音阁webView填表.js ├── 随机颜色.js ├── 隐藏控件.js └── 音波调频3.js ├── app操作 ├── app启动停止和输入.js ├── 卸载所有分身加上非root卸载1298.js ├── 强制更新.js ├── 我经常用的shell命令.txt ├── 打开app安装界面.js ├── 最新安装的app176.js ├── 禁止联网133.js ├── 结束autojs自己.js ├── 获取app图标1229.js ├── 获取app安装时间153.js └── 获取指定应用的版本号.js ├── autojsCommonFunctions.js ├── autojs机器人关键词.js ├── bmob ├── bmob用户表的增删改查.js ├── bmob示例-对象的增删改查424.js └── 发送手机上的app到bmob.js ├── canvas ├── ColorMatrix各个值的用法.js ├── app打开链接和图片添加水印.js ├── canvas画正方形117.js ├── qq消息周围画边框.js ├── 一直在跳的球255.js ├── 一箭穿心.js ├── 一箭穿心376.js ├── 一致在跳的球.js ├── 世上最无聊的脚本115.js ├── 任意扭转图片160.js ├── 传感器图像03.06_最新版399.js ├── 俄罗斯方块半成品182.js ├── 像素印画Ⅱ_正式版141.js ├── 像素绘画.js ├── 像素绘画1235.js ├── 分形 │ ├── 二叉树分形图.js │ ├── 叶子.js │ ├── 树杈.js │ ├── 树杈2.js │ ├── 歇尔宾斯基三角.js │ ├── 科赫雪花.js │ ├── 经典分形图案Mandelbrot.js │ ├── 龙形线慢慢画.js │ └── 龙行线带补间动画.js ├── 吸星大法.js ├── 图片加文字383.js ├── 图片加水印.js ├── 坐标类自动操作$动作录制241.js ├── 彩色星空187.js ├── 截图取色1194.js ├── 截图查看113.js ├── 截图水印.js ├── 截图水印412.js ├── 手指动作录制168.js ├── 控件布局层次动态.js ├── 教程_多点触控6144.js ├── 教程_画布159.js ├── 教程_矩阵.js ├── 教程多点触控.js ├── 旋转的小白.js ├── 时钟球球动画.js ├── 时钟球球动画205.js ├── 星系.js ├── 最小可点击控件213.js ├── 有点真实的星系.js ├── 桌球.js ├── 模仿抽屉第二版.js ├── 正方形和圆形的结晶.js ├── 流星.js ├── 球球中袋.js ├── 生成迷宫.js ├── 画小猪佩奇.js ├── 画正方形.js ├── 画画149.js ├── 立方体.js ├── 线球.js ├── 线球2.js ├── 线球41381.js ├── 贝塞尔曲线.js └── 这算分形吗.js ├── events ├── 按下键停止脚本运行252.js └── 气泡监听和移除.js ├── git常用命令.txt ├── http ├── 1查询本机IP地理位置322.js ├── HTTP请求315.js ├── [Http代理] 讯代理_优质代理425.js ├── httpBuild.js ├── http超时返回null.js ├── ip地址查询UI225.js ├── jsoupDemo.js ├── tcp连接客户端105.js ├── 下载文件百分比.js ├── 下载王者荣耀全英雄头像.js ├── 启动github下载的脚本114.js ├── 喜马拉雅下载某专辑.js ├── 妹子图批量.js ├── 带进度条文件更新.js ├── 格式化headers.js ├── 爬取bilibili视频弹幕.js ├── 爬取百度贴吧.js ├── 百度贴吧一键签到1167.js ├── 获取内外网ip地址.js └── 跑步.js ├── intent ├── Intent生成器263.js ├── intent生成器.js ├── 分享多个文件.js ├── 分享多个文件270.js ├── 发送广播.js ├── 启动脚本autojsProIntent.js ├── 启动脚本data.js ├── 启动脚本extras.js ├── 安卓intent源码300.js ├── 安卓系统相关参数.js ├── 小米图库查看图片.js ├── 广播电量.js ├── 手机设置.js ├── 打开vpn.js ├── 打开关闭usb网络共享.js ├── 打开无障碍设置界面.js ├── 打开飞行模式设置界面.js ├── 提取广播数据.js ├── 淘宝 内打开网页389.js └── 语音识别.js ├── jar ├── 二维码识别.js └── 获取汉字拼音.js ├── module.expo.pdf ├── ocr └── 本地ocr.js ├── pro商店的脚本 ├── UI脚本使用无障碍的最佳实践-1.0.0.1 │ ├── main.js │ └── project.json ├── Uiobject节点的智能提示(包含文档中没有的api)-1.0.0.1 │ ├── UiNode.js │ ├── main.js │ └── project.json ├── ui启动ui-1.0.0.1 │ ├── main.js │ ├── project.json │ └── ui.js ├── 一般常用函数模块-1.0.15.1015 │ ├── lib │ │ └── RootTools-3.4.jar │ ├── main.js │ ├── modules │ │ ├── ex_by_root.js │ │ └── ex_by_user.js │ ├── project.json │ └── readme.txt ├── 二维码自定义生成-1.0.0.1 │ ├── project.json │ ├── res │ │ └── logo.png │ └── 二维码生成.js ├── 亲戚关系计算器-1.0.0.1 │ ├── main.js │ ├── project.json │ ├── relationship.js │ └── res │ │ └── logo.png ├── 免root启用无障碍-1.0.0.1 │ ├── project.json │ └── 打开无障碍.js ├── 刮刮卡之佐罗-1.0.0.1 │ ├── main.js │ └── project.json ├── 图片相交的效果PorterDuffXfermode-1.0.1.2 │ ├── main.js │ └── project.json ├── 对话框自定义View-1.0.0.1 │ ├── main.js │ └── project.json ├── 屏幕取色-1.0.0.1 │ ├── main.js │ └── project.json ├── 属性动画ObjectAnimator-1.0.0.1 │ ├── main.js │ └── project.json ├── 录屏简单实现-1.0.0.1 │ ├── main.js │ └── project.json ├── 悬浮按钮-2.0.0-1.2 │ ├── main.js │ └── project.json ├── 悬浮教程文档-1.0.0.1 │ ├── main.js │ ├── project.json │ └── res │ │ └── logo.png ├── 打手那个枪-1.0.0.1 │ ├── main.js │ └── project.json ├── 文件选择对话框-1.0.1.2 │ ├── file_chooser.js │ ├── file_chooser_dialog.js │ ├── main.js │ └── project.json ├── 无情的打字机-1.0.0.0 │ ├── main.js │ └── project.json ├── 更新UI悬浮窗样例-1.0.0.1 │ ├── main.js │ ├── project.json │ └── res │ │ ├── img │ │ └── download_bg-1.png │ │ └── js │ │ ├── download.js │ │ ├── ui_download.js │ │ └── window_download.js ├── 画经典分形图案Mandelbrot-1.0.0.1 │ ├── main.js │ └── project.json ├── 脚本引擎实现顺序执行-1.0.0.1 │ ├── main.js │ ├── project.json │ ├── 脚本1.js │ ├── 脚本2.js │ └── 脚本3.js └── 跑马灯-1.0.0.1 │ ├── main.js │ └── project.json ├── socket ├── ipv6聊天室.js ├── socket.js └── 斗鱼实时弹幕104.js ├── 养号 ├── dy关注粉丝 │ ├── Command.js │ ├── Page.js │ ├── appConfig.js │ ├── commands.js │ ├── common.js │ ├── main.js │ └── 关注三个男粉丝.js ├── 抖音养号.js └── 抖音点击关注.js ├── 加密 ├── AES加解密demo.js ├── Base64_Codec.js ├── RSA.js ├── autojs_AES_CBC加解密_纯英文变量.js ├── autojs和nodejs的AES_CBC加解密Demo │ ├── autojs_AES_CBC加解密.js │ └── nodejs_AES_CBC加解密.js ├── base64和des.js ├── md5.js └── 微信转账说明加密.js ├── 动画 ├── (可修改王者荣耀启动动画)视频播放器.js ├── LED倒计时.js ├── PorterDuffXfermode正方形和圆形的结晶.js ├── autojs图标和波浪同时显示.js ├── drawBitMap之平移佐罗.js ├── mesh之扭曲的佐罗.js ├── surface(简单精灵动画) │ ├── 1122.png │ └── surface(简单精灵动画).js ├── ui 悬浮窗动画+滑动界面.js ├── 传感器图像.js ├── 刮刮卡之佐罗.js ├── 听歌变色.js ├── 图片相交的效果PorterDuffXfermode.js ├── 属性动画ObjectAnimator例子.js ├── 左右上下正常移动的波浪.js ├── 彩色星空.js ├── 拖尾效果.js ├── 摇摆的丁丁.js ├── 旋转的仁太.js ├── 流畅的流星.js ├── 生僻字大佬的触摸模块.js ├── 画玫瑰.js ├── 立方体动画.js ├── 粉色的仁太.js ├── 自定义canvasButton.js ├── 视觉干扰神器(记忆力增强).js ├── 跑马灯1377.js ├── 跑马灯首尾衔接无缝隙406.js ├── 迷宫游戏.js └── 阿基米德螺线.js ├── 图色 └── 滑块-1440.js ├── 坐标 └── 两点之间的坐标.js ├── 坚果云 └── 创建删除下载上传.js ├── 字符串 └── 模板字符串.js ├── 小游戏 ├── 坦克大战游戏 │ ├── audio │ │ ├── attack.mp3 │ │ ├── bulletCrack.mp3 │ │ ├── move.mp3 │ │ ├── playerCrack.mp3 │ │ ├── prop.mp3 │ │ ├── start.mp3 │ │ └── tankCrack.mp3 │ ├── images │ │ ├── menu.gif │ │ └── tankAll.gif │ ├── js │ │ ├── Collision.js │ │ ├── Helper.js │ │ ├── bullet.js │ │ ├── const.js │ │ ├── crackAnimation.js │ │ ├── jquery.min.js │ │ ├── keyboard.js │ │ ├── level.js │ │ ├── main.js │ │ ├── map.js │ │ ├── menu.js │ │ ├── num.js │ │ ├── prop.js │ │ ├── stage.js │ │ └── tank.js │ └── 坦克大战.js ├── 挑战巅峰.js └── 挑战巅峰测试器.js ├── 工具箱 ├── 1删除重写@data@data@com.aaa.bbb226.js ├── 1安装指定目录下的app1224.js ├── 1获取当前app名字122.js ├── AJ_api_search.js ├── AJ功能搜索127.js ├── activity.js ├── autojs查找类.js ├── base64和des.js ├── cookie.js ├── des加密438.js ├── digit152.js ├── flash112.js ├── gps时间获取239.js ├── java代码改成autojs过程.js ├── module_md5203.js ├── music110.js ├── orc文字识别.js ├── shell启动脚本.js ├── shell开关飞行模式135.js ├── testTouch171.js ├── tts3269.js ├── web拦截修改359.js ├── wifi设置代理未完成.js257.js ├── 一个倍数一个图片208.js ├── 一个字一个字输入 ├── 二维码 │ ├── 二维码识别.dex │ └── 图片二维码识别.js ├── 二维码识别186.js ├── 二维码识别_白酒煮饭.js ├── 停止给定名字脚本StopEngine161.js ├── 停止除了自身的脚本250.js ├── 分享文件到QQ.js ├── 删除行.js ├── 判断公共字符串234.js ├── 单例模式.js ├── 双击返回退出的ui266.js ├── 取随机姓名.js ├── 启动github下载的脚本.js ├── 图片转灰度188.js ├── 填写资料106.js ├── 复制文件和文件夹179.js ├── 多功能工具箱292.js ├── 多进程共享数据接收数据.js ├── 定位.js ├── 实心158.js ├── 实时显示脚本运行时长214.js ├── 密码加密241.js ├── 密码生成器304.js ├── 小米锁屏解锁密码8888136.js ├── 庄园排球395.js ├── 当前activitys1173.js ├── 彩色马冬梅.js ├── 微信搜索框输入消息291.js ├── 微信朋友圈分享256.js ├── 微信直接跳转扫一扫243.js ├── 截图_增加打开指针.js ├── 截图_增加打开指针195.js ├── 截图取色.js ├── 手机号码归属地查询238.js ├── 找透明图方法.js ├── 把富宝余额转账到最近下面的第一个yhk里319.js ├── 抓取logcat日志453.js ├── 挑战巅峰测试器104.js ├── 控件布局层次动态2393.js ├── 控件驱动行为215.js ├── 控制app联网134.js ├── 提取广播数据126.js ├── 支付宝收能量380.js ├── 支付宝蚂蚁庄园登山赛228.js ├── 改变toast位置120.js ├── 数组填充.js ├── 文字翻译UI346.js ├── 文字转语音3180.js ├── 无障碍测试.js ├── 显示控件位置174.js ├── 最大公约数.js ├── 本地时间及网络时间验证改版.js ├── 格式化时间262.js ├── 模板字符串408.js ├── 生成随机字符串待解密107.js ├── 用shell操作sqlite数据库331.js ├── 监听一次toast.js ├── 移动bilibili缓存视频到SD卡.js ├── 繁简转换 │ ├── complex.txt │ ├── simple.txt │ └── 繁简转换.js ├── 线段上的所有点.js ├── 结束autojs自己.js ├── 编辑距离py2js318.js ├── 网易云音乐相关api.js ├── 脚本引擎实现顺序执行 │ ├── advancedEngines.js │ ├── main.js │ ├── project.json │ ├── 脚本1.js │ ├── 脚本2.js │ └── 脚本3.js ├── 脚本排队 │ ├── 1.js │ ├── 2.js │ ├── 3.js │ └── 排队运行脚本.js ├── 脚本排队模块155.js ├── 脚本排队第二种 │ ├── 1.js │ ├── 2.js │ ├── 3.js │ └── main.js ├── 脚本通信 │ ├── ScriptEngine_emit通信 │ │ ├── 1.js │ │ └── 2.js │ ├── broadcast通信 │ │ ├── 先监听.js │ │ └── 后发送.js │ ├── engines通信 │ │ ├── 1.js │ │ └── 2.js │ └── 脚本结束事件.js ├── 自动回复(双击版)316.js ├── 获取对象属性.js ├── 获取汉字拼音250.js ├── 获取页面所有文字143.js ├── 获取首字母中英文249.js ├── 观察者模式216.js ├── 读写@data目录文件379.js ├── 调整手机音量402.js ├── 贝塞尔曲线369.js ├── 输入微/信支/付密码206.js ├── 返回当前页面的所有文字列表111.js ├── 远程控制手机控制端328.js ├── 连接wifi.js ├── 通知便签418.js ├── 随机滑动433.js ├── 随机评论.js ├── 音频制作(wav文件生成) (1).js ├── 预言家题库收集293.js ├── 飞行模式.js ├── 马冬梅.js └── 高德地图经纬度求实际距离240.js ├── 广播 ├── 发射广播362.js ├── 广播发出文件251.js ├── 广播电量 1.0217.js ├── 打印广播Intent信息232.js └── 网络广播324.js ├── 微信 └── root打开朋友圈.js ├── 悬浮窗 ├── 1比1比4悬浮窗.js ├── 1比1比4悬浮窗可限制显示行数151.js ├── UI和悬浮窗一起使用的完整栗子 │ ├── main.js │ ├── view点击事件.js │ ├── window在屏幕之内.js │ ├── 多线程控制悬浮窗.js │ ├── 小红点悬浮球.js │ ├── 带属性的悬浮窗.js │ ├── 悬控移动和点击.js │ ├── 悬浮窗输入框.js │ ├── 接码窗口.js │ ├── 控制台.js │ ├── 浏览器窗口.js │ ├── 滑动效果.js │ └── 移动悬浮窗.js ├── autojs悬浮按钮.js ├── autojs悬浮按钮2.js ├── flash.js ├── qq模仿歪果仁语调.js ├── qq画涂鸦.js ├── uc答题140.js ├── ui悬浮窗动画和滑动界面.js ├── 任性弹窗.js ├── 区域截图.js ├── 取色.js ├── 取色器114.js ├── 坐标点击器.js ├── 坐标颜色显示器391.js ├── 对话框.js ├── 小白点.js ├── 屏幕边缘画了一个圆角的矩形.js ├── 展示图片.js ├── 彩色马冬梅.js ├── 悬浮单任务计时器115.js ├── 悬浮悬对话框菜单.js ├── 悬浮控282.js ├── 悬浮时间268.js ├── 悬浮框自增按钮.js ├── 悬浮画布 ├── 悬浮画布.js ├── 悬浮知识点.js ├── 悬浮窗下拉框.js ├── 悬浮窗仿抽屉栏菜单效果.js ├── 悬浮窗动态添加控件.js ├── 悬浮窗动态添加控件177.js ├── 悬浮窗单位px.js ├── 悬浮窗和UI一起使用的例子 │ ├── main.js │ ├── view点击事件.js │ ├── window在屏幕之内.js │ ├── 多线程控制悬浮窗.js │ ├── 小红点悬浮球.js │ ├── 带属性的悬浮窗.js │ ├── 悬控移动和点击.js │ ├── 接码窗口.js │ ├── 控制台.js │ ├── 浏览器窗口.js │ ├── 滑动效果.js │ └── 移动悬浮窗.js ├── 悬浮窗属性.js ├── 悬浮窗左边计时右边按钮100.js ├── 悬浮窗控制运行代码.js ├── 悬浮窗日志-限制行数和长度374.js ├── 悬浮窗日志.js ├── 悬浮窗脚本列表.js173.js ├── 悬浮窗计数器172.js ├── 悬浮窗运行代码及移动控制1109.js ├── 悬浮窗隐藏控件.js ├── 截图_增加打开指针.js ├── 截图搜题.js ├── 截图脚本.js ├── 找图数据生成.js ├── 按钮平分.js ├── 显示指定控件信息 ├── 显示指定控件信息2.js ├── 模仿抽屉第二版378.js ├── 模拟鼠标332.js ├── 炫酷流量网速悬浮窗.js ├── 焦点.js ├── 移动点击器.js ├── 答题.js └── 选图涂鸦线条.js ├── 感应器 └── 声动1388.js ├── 手势 ├── gestures动作数据生成.js ├── testTouch.js ├── 仿真随机滑动.js ├── 免root动作录制.js ├── 小米锁屏解锁.js ├── 心形手势.js ├── 手指动作录制.js ├── 贝赛尔曲线.js └── 随机滑动.js ├── 手机 ├── callPhone.js ├── notification1247.js ├── 光能手电筒.js ├── 全部短信获取144.js ├── 删除所有联系人.js ├── 判断屏幕是否锁定.js ├── 发短信2.js ├── 发送通知2451.js ├── 开发者选项-指针位置116.js ├── 开发者选项指针位置.js ├── 录音播放 ├── 播放系统提示音.js ├── 文字转语音.js ├── 无限震动.js ├── 查看wifi状态.js ├── 横竖屏.js ├── 添加联系人.js ├── 直接打开开发者模式.js ├── 相机拍照.js ├── 花500买的_联系人_短信_日历_通话记录 │ ├── 日历提醒 │ │ └── 日历添加日程.js │ ├── 短信 │ │ ├── 发短信.js │ │ ├── 收短信.js │ │ └── 读短信.js │ ├── 通讯录增删改查 │ │ ├── 读取通讯录.js │ │ └── 通讯录添加联系人.js │ └── 通话记录 │ │ ├── 插入通话记录.js │ │ └── 通信记录.js ├── 获取wifi信息.js ├── 获取手机桌面壁纸.js ├── 获取最近创建的媒体文件121.js ├── 获取设备信息和非系统app列表.js ├── 获取通讯录.js ├── 蓝牙接收信息获取.js ├── 调整屏幕亮度.js ├── 通知栏.js ├── 通知栏2.js ├── 通知栏3.js ├── 铃声.js └── 高级输入法.js ├── 接码 ├── 易码获取手机号码224.js ├── 火云接码1155.js ├── 短租.js └── 联众.js ├── 数据库 ├── 数据库操作.js └── 数据库的一些命令.js ├── 数组 ├── 1求交集222.js ├── 大数组包含小数组.js ├── 数组映射排序.js └── 随机打乱数组顺序329.js ├── 文件 ├── 复制文件和文件夹.js ├── 获取最近创建的媒体文件.js └── 读写data目录.js ├── 时间 └── 实时显示脚本运行时长.js ├── 显示消息 └── 改变toast位置.js ├── 牙叔教程q群.png ├── 牙叔教程公众号.jpg ├── 电脑知识点 └── win7结束任务.txt ├── 白酒煮饭 ├── 1gps码表.js ├── 2018年刑侦科推理题.js ├── 2048全自动.js ├── 2048游戏机UI版.js ├── 24计算器.js ├── AJ功能搜索.js ├── Auto.js悬浮知识点.js ├── Auto.js教程浏览器.js ├── Autojs悬浮按钮.js ├── BASE64加解密.js ├── IP地址查询.js ├── Intent生成器v 0.3.js ├── QQ_微信_自定义小尾巴.js ├── QQ加好友.js ├── QQ加群成员脚本.js ├── QQ名片点赞脚本.js ├── QQ清除好友聊天字体.js ├── QQ福城辅助线.js ├── QQ空间快速批量浏览.js ├── QQ空间点赞.js ├── QQ群撤回信息.js ├── QQ聊天机器人.js ├── QQ自动回赞_简易版.js ├── QQ,微信聊天辅助脚本(文本分割填充字符) v2.js ├── UI练习文字小游戏m.js ├── [Http代理] 讯代理 动态转发 示例.js ├── [Http代理] 讯代理_优质代理.js ├── [QQ] 为指定好用发送固定金额的红包..js ├── [刷脸打卡]快速进入钉钉打卡界面.js ├── [原创]__密码生成器--百度应用移植版.js ├── [外挂] 链派航海 宝箱透视.js ├── [微信小程序]加减大师辅助_渣渣版.js ├── [挖矿脚本] 链派自动回收出海_需要root权限.js ├── [此项目已废] HAHA小视频自动刷趣币 [一天就搞一块五,不够电费].js ├── [系统Intent]_系统设置页面的相关intent跳转.js ├── [网络]_获取内外网IP地址.js ├── [网赚脚本]遍地红包脱机脚本.js ├── [需Root权限] 手机安全系列之_别动我手机.js_.js ├── app启动停止和输入.js ├── autojs常用函数.js ├── fab控件.js ├── gps时间获取.js ├── mp3音频合并.js ├── qq自定义分享.js ├── toast代替.js ├── 一笔画.js ├── 三合一登入注册界面.js ├── 下载王者全英雄皮肤海报图.js ├── 世上最无聊的脚本.js ├── 为指定好友点赞.js ├── 九九乘法表.js ├── 任意扭转图片.js ├── 传感器图像2.js ├── 使用命令删除图片后,更新图库缓存.js ├── 俄罗斯方块.js ├── 像素绘画.js ├── 光能手电筒.js ├── 免root免无障碍画圆.js ├── 免root免无障碍画球.js ├── 免费时间API.js ├── 全局半透明背景.js ├── 分享多个文件.js ├── 删除空白文件.js ├── 刷会撩更会聊QQ勋章.js ├── 剪贴板翻译.js ├── 包名查看器.js ├── 单词答题4级.js ├── 单词答题6级.js ├── 压缩打包文件夹.js ├── 双击返回退出的ui.js ├── 发送_小尾巴.js ├── 发送通知.js ├── 取关全部公众号.js ├── 取色_多点.js ├── 只同时运行一个脚本.js ├── 可以做头像的表.js.js ├── 号码归属地查询.js ├── 同时请求多个URL.js ├── 名人游记页面.js ├── 图片仔细观察器bt.js ├── 图片放大旋转观察器.js ├── 基于rhino开发的网易云音乐播放器.js ├── 好友列表名片点赞(不完美).js ├── 好友列表点赞.js ├── 对话框更新示例.js ├── 小猿搜题-脑力24点(半自动).js ├── 带进度条的文件更新.js ├── 快手小游戏_拯救萌宠脚本_自动版.js ├── 快手消砖块.js ├── 悬浮单任务计时器.js ├── 悬浮窗仿抽屉栏菜单效果.js ├── 悬浮窗颜色渐变.js ├── 悬浮音乐播放器.js ├── 成语词典.js ├── 截图查看.js ├── 截图水印.js ├── 打印当前页面 所有的 文字 和描.js ├── 拨号盘.js ├── 拼图.js ├── 搜狗图床.js ├── 搬运脚本]JAVA改AutoJS_TCP服务端与客户端的通讯示例【客户端】.js ├── 搬运脚本]JAVA改AutoJS_TCP服务端与客户端的通讯示例【服务端】.js ├── 支付宝帐单自动清理.js ├── 支付宝部分小程序的intent.js ├── 改变字体颜色.js ├── 数独算法.js ├── 文件夹深度搜索.js ├── 文字翻译.js ├── 文本搜索高亮.js ├── 日期➕周数.js ├── 日期农历时间显示.js ├── 时钟球球动画.js ├── 时间截转换小工具.js ├── 星星球.js ├── 最新妹子图爬图(1).js ├── 朋友圈点赞.js ├── 机械毫秒表.js ├── 查看wifi状态.js ├── 查询本机IP地理位置.js ├── 格式化时间.js ├── 检测网络是否可用.js ├── 模拟更新应用.js ├── 模拟鼠标操作网页.js ├── 横竖屏监听.js ├── 欢迎页.js ├── 正则表达式学习.js ├── 每日一句(英文励志).js ├── 消消乐通用版.js.js ├── 爬ip和地区.js ├── 登山.js ├── 登山赛.js ├── 百度人脸识别.js ├── 百度文字识别(自动获取token).js ├── 百度翻译[中转英].js ├── 相机(拍照)↘.js ├── 精选图片2.js ├── 系统设置界面.js ├── 经典分形图案Mandelbrot.js ├── 网易云热评.js ├── 网易云音乐连接转换.js ├── 网易歌曲&歌单下载.js ├── 网络(广播).js ├── 网络监视器悬浮窗.js ├── 网页翻译.js ├── 翻译模块.js ├── 脚本助手.js ├── 脚本打包器.js ├── 脚本管理.js ├── 自动加QQ好友.js ├── 自动加群.js ├── 自动连接电脑vscode.js ├── 薅羊毛线报.js ├── 计算天数并朗读.js ├── 调用扫一扫.js ├── 调色板_new.js ├── 身份证查询.js ├── 输入微/信支/付密码.js ├── 进制计算.js ├── 通知便签.js ├── 遍历群成员.js ├── 音乐播放器.js ├── 音悦台超清mv视频地址解析.js └── 高仿在线AES加解密.js ├── 百度网盘 ├── 百度网盘bsd获取199.js └── 百度网盘模块294.js ├── 第三方API接口 ├── 百度AI开放平台人脸检测102.js ├── 百度ocr图片文字识别253.js ├── 百度文字识别140.js ├── 语音api131.js ├── 语音识别177.js └── 配音阁文字转语音.js ├── 获取手机粘贴板.js └── 调用java └── imgSize.js /111111111柴房/2222222.js: -------------------------------------------------------------------------------- 1 | "ui"; 2 | ui.layout( 3 | 4 | 5 | 5 | 6 | ) 7 | ui.but.click(function(){toast('我被点了')}) 8 | 9 | activity.getWindow().setFlags(-1, -1) //变黑 10 | 11 | // activity.getWindow().setFlags(16, 16) //无法获取焦点 12 | 13 | // activity.getWindow().setFlags(1024, 1024) //隐藏所有的装饰物(比如状态栏) 14 | 15 | // activity.getWindow().setFlags(8192, 8192) //不允许截屏 16 | 17 | // activity.getWindow().setFlags(524288, 524288) //强制锁屏显示本界面 18 | -------------------------------------------------------------------------------- /UI/windowManager.js: -------------------------------------------------------------------------------- 1 | importClass(android.widget.Button) 2 | importClass('android.view.WindowManager') 3 | importClass('android.view.Gravity') 4 | importClass('android.graphics.PixelFormat') 5 | 6 | windowManager = context.getSystemService(context.WINDOW_SERVICE); 7 | log(windowManager) 8 | screenWidth = windowManager.getDefaultDisplay().getWidth(); 9 | screenHeight = windowManager.getDefaultDisplay().getHeight(); 10 | mBallView = new Button(context); 11 | params = new WindowManager.LayoutParams(); 12 | params.x = screenWidth; 13 | params.y = screenHeight / 2; 14 | params.width = WindowManager.LayoutParams.WRAP_CONTENT; 15 | params.height = WindowManager.LayoutParams.WRAP_CONTENT; 16 | params.gravity = Gravity.LEFT | Gravity.TOP; 17 | params.type = WindowManager.LayoutParams.TYPE_PHONE; 18 | params.format = PixelFormat.RGBA_8888; 19 | params.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; 20 | mBallView.setLayoutParams(params); 21 | mBallView.setTextSize(20); 22 | mBallView.setTextColor(colors.parseColor("#ff00f0")) 23 | mBallView.setText("大护法"); 24 | mBallView.setGravity(0); //左护法 25 | windowManager.addView(mBallView, params); 26 | -------------------------------------------------------------------------------- /UI/一开始不要显示输入法.js: -------------------------------------------------------------------------------- 1 | activity.getWindow().setSoftInputMode(android.view.WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 2 | -------------------------------------------------------------------------------- /UI/保存imgView加载的图片.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 作者: 家 3 | * QQ: 203118908 4 | * 功能: 保存imgView加载的图片 5 | */ 6 | 'ui'; 7 | ui.layout( 8 | 9 | 10 | 11 | 12 | 13 | ) 14 | ui.post( 15 | function () { 16 | var imgView=ui.img 17 | var myBitmap=createBitmap(imgView) 18 | var imgPath=saveBitmap(myBitmap) 19 | log(imgPath) 20 | }, 1000 21 | ) 22 | function createBitmap(view) { 23 | view.setDrawingCacheEnabled(true); 24 | view.buildDrawingCache(); 25 | var bitmap = view.getDrawingCache(); 26 | return bitmap; 27 | } 28 | function saveBitmap(bitmap) { 29 | var imgPath="/sdcard/1.png" 30 | var canvas = new Canvas(bitmap); 31 | var myimg = canvas.toImage(); 32 | log('myimg=') 33 | log(myimg) 34 | images.save(myimg, imgPath ); 35 | app.viewFile(imgPath); 36 | return imgPath 37 | } 38 | -------------------------------------------------------------------------------- /UI/全局半透明背景1192.js: -------------------------------------------------------------------------------- 1 | var w = floaty.rawWindow( 2 | 3 | 4 | 5 | ); 6 | 7 | w.setTouchable(false); 8 | 9 | setTimeout(()=>{ 10 | w.close(); 11 | }, 360000); 12 | //720*1280分辨率显示正常 -------------------------------------------------------------------------------- /UI/全屏显示背景图191.js: -------------------------------------------------------------------------------- 1 | "ui"; 2 | 3 | var url="http://smimg5.mingxing.com.cpgzh.com/upload/pic/smpic/20160913/20160913170456_89448.jpg"; 4 | //引用安卓类 5 | importClass(android.view.WindowManager); 6 | //全屏显示 7 | activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 8 | ui.layout( 9 | 10 | ); 11 | -------------------------------------------------------------------------------- /UI/动态显示隐藏布局156.js: -------------------------------------------------------------------------------- 1 | "ui"; 2 | ui.layout( 3 | 4 | 5 | 10 | 11 | 12 | ) 13 | var w; 14 | ui.show.on('click',function(){ 15 | toastLog('show') 16 | if(w){ 17 | w.setSize(666,666) 18 | }else{ 19 | threads.start( 20 | function(){ 21 | w = floaty.rawWindow( 22 | 23 | 悬浮文字 24 | 25 | ); 26 | w.setSize(666,666) 27 | } 28 | ) 29 | } 30 | }) 31 | ui.hide.on('click',function(){ 32 | toastLog('hide') 33 | w.setSize(1,1) 34 | }) 35 | setInterval( 36 | function(){ 37 | },1000 38 | ) 39 | -------------------------------------------------------------------------------- /UI/在别的脚本中获取ui的控件属性/ui模块.js: -------------------------------------------------------------------------------- 1 | "ui"; 2 | ui.layout( 3 | 4 | 5 | 6 | ) 7 | module.exports=ui.myButton 8 | -------------------------------------------------------------------------------- /UI/在别的脚本中获取ui的控件属性/获取ui模块中按钮的文本.js: -------------------------------------------------------------------------------- 1 | "ui"; 2 | var ui的引用=require('./ui模块.js') 3 | log(ui的引用.text()) 4 | -------------------------------------------------------------------------------- /UI/复选框.js: -------------------------------------------------------------------------------- 1 | "ui"; 2 | ui.layout( 3 | 4 | 5 | 6 | 7 | ) 8 | setInterval( 9 | fn,200 10 | ) 11 | 12 | function fn(){ 13 | if(ui.cb1.isChecked()){ 14 | ui.cb1.setText("选了") 15 | }else{ 16 | ui.cb1.setText("没选") 17 | } 18 | if(ui.cb2.isChecked()){ 19 | ui.cb2.setText("选了") 20 | }else{ 21 | ui.cb2.setText("没选") 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /UI/帧布局139.js: -------------------------------------------------------------------------------- 1 | "ui"; 2 | ui.layout( 3 | 4 | 7 | 8 | 12 | 16 | 17 | 18 | 22 | 23 | 24 | 28 | 29 | 30 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | ); 42 | -------------------------------------------------------------------------------- /UI/循环缩放webView.js: -------------------------------------------------------------------------------- 1 | "ui"; 2 | ui.layout( 3 | 4 | 5 | 6 | 7 | ) 8 | ui.web.loadUrl('https://www.baidu.com') 9 | var mode = [{ 10 | w: 100, 11 | h: 150 12 | }, 13 | { 14 | w: 300, 15 | h: 450 16 | }, 17 | { 18 | w: device.width+"px", 19 | h: device.height+"px" 20 | }, 21 | { 22 | w: 900, 23 | h: 1350 24 | } 25 | ] 26 | var num = function () { 27 | var current = 0 28 | return function () { 29 | if (current > mode.length - 1) { 30 | current = 0 31 | } 32 | return current++ 33 | } 34 | }() 35 | ui.zoom.click( 36 | function () { 37 | var currentNum = num() 38 | var currentMode = mode[currentNum] 39 | log('currentNum=', currentNum) 40 | ui.run( 41 | function () { 42 | ui.web.attr("width", currentMode.w) 43 | ui.web.attr("height", currentMode.h) 44 | } 45 | ) 46 | } 47 | ) 48 | -------------------------------------------------------------------------------- /UI/悬浮窗和UI一起使用的例子/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 作者: 家 3 | * QQ: 203118908 4 | * 功能: 悬浮窗和ui一起使用的例子 5 | */ 6 | 7 | "ui"; 8 | require('./浏览器窗口.js') 9 | threads.start( 10 | function(){ 11 | require('./小红点悬浮球.js') 12 | } 13 | ) 14 | 15 | -------------------------------------------------------------------------------- /UI/悬浮窗和UI一起使用的例子/view点击事件.js: -------------------------------------------------------------------------------- 1 | var 悬控移动和点击=require('./悬控移动和点击.js') 2 | function View点击事件(window,viewName,view,clickAction){ 3 | this.window=window 4 | this.name=viewName 5 | this.view=view 6 | var 默认点击动作=()=>{ 7 | toast(this.name+'被点了') 8 | } 9 | this.clickAction = 默认点击动作 10 | if(clickAction){ 11 | this.clickAction = clickAction 12 | 悬控移动和点击(window,viewName,view,clickAction) 13 | } 14 | } 15 | View点击事件.prototype.setClickAction=function(clickAction){ 16 | this.clickAction=function (){ 17 | 悬控移动和点击(window,viewName,view,clickAction) 18 | } 19 | } 20 | 21 | module.exports=View点击事件 22 | -------------------------------------------------------------------------------- /UI/悬浮窗和UI一起使用的例子/window在屏幕之内.js: -------------------------------------------------------------------------------- 1 | function window在屏幕之内(window){ 2 | var x=window.getX() 3 | var y=window.getY() 4 | var w=window.getWidth() 5 | var h=window.getHeight() 6 | var centerX=x+w/2 7 | var centerY=y+h/2 8 | if(centerX>0 && centerX0 && centerY 2000) { 29 | log('控制台在%sms之内没有加载出来', spendTime) 30 | alert('控制台在%sms之内没有加载出来', spendTime) 31 | exit() 32 | } 33 | } 34 | } 35 | ) 36 | 37 | } 38 | 39 | 40 | 41 | var 多线程控制悬浮窗={} 42 | 多线程控制悬浮窗.隐藏或显示=多线程控制悬浮窗隐藏或显示 43 | module.exports=多线程控制悬浮窗 44 | -------------------------------------------------------------------------------- /UI/悬浮窗和UI一起使用的例子/带属性的悬浮窗.js: -------------------------------------------------------------------------------- 1 | var View点击事件=require('./View点击事件.js') 2 | 3 | function 带属性的悬浮窗(windowName,window){ 4 | this.name=windowName 5 | this.window=window 6 | } 7 | 带属性的悬浮窗.prototype.setViewClickAction=function(viewName,view,clickAction){ 8 | log("带属性的悬浮窗.prototype.setViewClickAction=function(viewName,view,clickAction){") 9 | log(viewName) 10 | log(view) 11 | log(clickAction) 12 | var window=this.window 13 | var 添加了点击事件的view=new View点击事件(window,viewName,view,clickAction) 14 | log('setViewClickAction已设置-->'+viewName) 15 | return viewName 16 | } 17 | 18 | module.exports=带属性的悬浮窗 19 | -------------------------------------------------------------------------------- /UI/手勢模塊/44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snailuncle/autojsDemo/d3617a3cb7958407e0b2d7f6d132f23f297e383c/UI/手勢模塊/44.png -------------------------------------------------------------------------------- /UI/按钮平分.js: -------------------------------------------------------------------------------- 1 | 'ui'; 2 | ui.layout( 3 | 4 | 5 | 6 | 7 | 8 | 9 | ) 10 | 11 | -------------------------------------------------------------------------------- /UI/数字键盘.js: -------------------------------------------------------------------------------- 1 | "ui"; 2 | 3 | ui.layout( 4 | 5 | 6 | 7 | 10 | 11 | 12 | ) 13 | var view=ui.input 14 | var imgId=getResource('ic_android_eat_js') 15 | view.setCursorDrawableRes(imgId) 16 | function getResource(imageName) { 17 | var resId = context.getResources().getIdentifier(imageName, "drawable", context.getPackageName()); 18 | return resId; 19 | } 20 | -------------------------------------------------------------------------------- /UI/随机颜色.js: -------------------------------------------------------------------------------- 1 | function getRndColor() { 2 | var a, r, g, b; 3 | a = Math.floor(0), r = Math.floor(随机0_255()), g = Math.floor(随机0_255()), b = Math.floor(随机0_255()); 4 | // var 反色 = -1 - colors.argb(0, r, g, b); 5 | var color = colors.argb(0, r, g, b); 6 | color = colors.toString(color) 7 | log(color) 8 | return color 9 | } 10 | function 随机0_255() { 11 | var r = parseInt(255 * Math.random()) 12 | return r 13 | } 14 | -------------------------------------------------------------------------------- /app操作/强制更新.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * 作者: 家 4 | * QQ: 203118908 5 | * 功能: 强制更新app 6 | */ 7 | 'ui'; 8 | var dialog = new android.app.AlertDialog.Builder(activity).setTitle("Tips").setMessage("请更新最新版本!") 9 | .setNeutralButton("退出", new android.content.DialogInterface 10 | .OnClickListener({ 11 | onClick: (dialog, which) => { 12 | exit() 13 | } 14 | }) 15 | ).setNegativeButton("更新", new android.content.DialogInterface 16 | .OnClickListener({ 17 | onClick: (dialog, which) => { 18 | toastLog('在这里更新app') 19 | } 20 | }) 21 | ).show(); 22 | dialog.setCanceledOnTouchOutside(false); //点击dialog其它地方dismiss无效 23 | dialog.setCancelable(false); //点击返回键无效 24 | -------------------------------------------------------------------------------- /app操作/我经常用的shell命令.txt: -------------------------------------------------------------------------------- 1 | 标题: 我经常用的shell命令 2 | 作者: 小曲奇 3 | 4 | ① 5 | 点击 input tap X Y 6 | 长按250ms input swipe X1 Y1 X1 Y1 250 7 | 划屏250ms input swipe X1 Y1 X2 Y2 250 8 | 输入文本 input text 文本 9 | 10 | ② 11 | 安装apk pm install 12 | 卸载apk pm uninstall <包名> 13 | 隐藏应用pm hide <包名> 14 | 显示应用pm unhide <包名> 15 | 停止应用 am force-stop 包名 16 | 17 | ③ 18 | am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等) 19 | (这个是可玩性最强的,可以设置在打开应用时运行该命令来达到跳广告,其他还有很多,我也正在研究中) 20 | 跳广告例子:打开优酷时触发(当然也可以用活动触发,但是得找到这个活动) 21 | am start -n com.youku.phone/com.youku.phone.com.youku.HomePageEntry 22 | 就可以跳广告 23 | 注:应用包名可以用 【酷安】 的应用管理找或者用其他的都可以 24 | 活动名称可以用 【开发者助手】 来找 25 | 26 | ④ 27 | 打开网址(默认浏览器) am start -a android.intent.action.VIEW -d 网址 28 | 微信打开网址 29 | am start -n com.tencent.mm/com.tencent.mm.plugin.webview.ui.tools.WebViewUI -d 网址 30 | 31 | ⑤ 32 | 打开桌面图标(比如桌面的快捷方式、小程序等) 33 | am start "intent:@" (@是/data/data/com.miui.home/databases/launcher5x6.db里的图标对应的intent值 34 | 35 | ⑥ 36 | 关机 shutdown 37 | 重启 reboot 38 | -------------------------------------------------------------------------------- /app操作/打开app安装界面.js: -------------------------------------------------------------------------------- 1 | path = '/storage/emulated/0/backups/apps/MD配色参考_1.1.4.apk' 2 | app.startActivity({ 3 | data: "file://" + path, 4 | type: "application/vnd.android.package-archive", 5 | action: "VIEW", 6 | flags: ["grant_read_uri_permission", "grant_write_uri_permission"] 7 | }) 8 | -------------------------------------------------------------------------------- /app操作/最新安装的app176.js: -------------------------------------------------------------------------------- 1 | 2 | var pm = context.getPackageManager() 3 | var appList=pm.getInstalledApplications(0) 4 | var appInfoList=[] 5 | for(let i=0;i{ 16 | return b.firstInstallTime-a.firstInstallTime 17 | }) 18 | log('最新安装的app是=%j',appInfoList[0]) 19 | -------------------------------------------------------------------------------- /app操作/禁止联网133.js: -------------------------------------------------------------------------------- 1 | 2 | uid=`cat /data/system/packages.list | grep com.sohu.inputmethod.sogou | busybox awk '{print $2}'` 3 | iptables -t filter -A OUTPUT -m owner --uid-owner=$uid -j DROP 4 | 5 | 以上是android iptables 屏蔽某个app网络访问的内容, 6 | -------------------------------------------------------------------------------- /app操作/结束autojs自己.js: -------------------------------------------------------------------------------- 1 | var nowPid = android.os.Process.myPid(); 2 | var am = context.getSystemService(java.lang.Class.forName("android.app.ActivityManager")); 3 | var list = am.getRunningAppProcesses(); 4 | for(var i=0;i 6 | ); 7 | window.setTouchable(false); 8 | setInterval(() => {}, 3000) 9 | paint = new Paint() 10 | paint.setStrokeWidth(5); 11 | paint.setColor(-28707) 12 | paint.setStyle(Paint.Style.STROKE); 13 | window.board.on("draw", function (canvas) { 14 | canvas.drawRect(0,0,300,300,paint) 15 | }); 16 | 17 | -------------------------------------------------------------------------------- /canvas/一直在跳的球255.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snailuncle/autojsDemo/d3617a3cb7958407e0b2d7f6d132f23f297e383c/canvas/一直在跳的球255.js -------------------------------------------------------------------------------- /canvas/图片加文字383.js: -------------------------------------------------------------------------------- 1 | requestScreenCapture(); 2 | var img = captureScreen(); 3 | var p = new Paint(); 4 | var canvas = new Canvas(img); 5 | 6 | p.setStrokeWidth(10)//设置画笔宽度 7 | p.setAntiAlias(true)//设置是否使用抗锯齿功能,如果使用,会导致绘图速度变慢 8 | p.setStyle(Paint.Style.FILL); 9 | p.setTextSize(100) 10 | p.setColor(colors.parseColor("#000000")) 11 | canvas.drawText("xxx",100, 100, p); 12 | images.save(canvas.toImage(), "./1.png"); 13 | img.recycle(); -------------------------------------------------------------------------------- /canvas/图片加水印.js: -------------------------------------------------------------------------------- 1 | requestScreenCapture(); 2 | var img = captureScreen(); 3 | var p = new Paint(); 4 | var canvas = new Canvas(img); 5 | 6 | p.setStrokeWidth(10)//设置画笔宽度 7 | p.setAntiAlias(true)//设置是否使用抗锯齿功能,如果使用,会导致绘图速度变慢 8 | p.setStyle(Paint.Style.FILL); 9 | p.setTextSize(100) 10 | p.setColor(colors.parseColor("#000000")) 11 | canvas.drawText("xxx",100, 100, p); 12 | images.save(canvas.toImage(), "./1.png"); 13 | img.recycle(); 14 | -------------------------------------------------------------------------------- /canvas/截图水印.js: -------------------------------------------------------------------------------- 1 | toastLog("Are you ready?"); 2 | if (!requestScreenCapture()) { 3 | toast("请求截图失败"); 4 | exit(); 5 | }; 6 | 7 | 8 | var IMG=captureScreen(); 9 | var bitmap=IMG.getBitmap(); 10 | var canvas=new Canvas(bitmap); 11 | var w=canvas.width,h=canvas.height; 12 | var paint = new Paint; 13 | paint.setTextAlign(Paint.Align.CENTER); 14 | paint.setStrokeWidth(5); 15 | paint.setARGB(127,127,127,127); 16 | var size = 150; 17 | paint.setTextSize(size); 18 | canvas.drawText("这是我的截图", w / 2, h / 2 + 0.365 * size, paint); 19 | 20 | var img=canvas.toImage(); 21 | images.save(img,"/sdcard/脚本/我的截图.png","png",50); 22 | -------------------------------------------------------------------------------- /canvas/截图水印412.js: -------------------------------------------------------------------------------- 1 | toastLog("Are you ready?"); 2 | if (!requestScreenCapture()) { 3 | toast("请求截图失败"); 4 | exit(); 5 | }; 6 | 7 | 8 | var IMG=captureScreen(); 9 | var bitmap=IMG.getBitmap(); 10 | var canvas=new Canvas(bitmap); 11 | var w=canvas.width,h=canvas.height; 12 | var paint = new Paint; 13 | paint.setTextAlign(Paint.Align.CENTER); 14 | paint.setStrokeWidth(5); 15 | paint.setARGB(127,127,127,127); 16 | var size = 150; 17 | paint.setTextSize(size); 18 | canvas.drawText("这是我的截图", w / 2, h / 2 + 0.365 * size, paint); 19 | 20 | var img=canvas.toImage(); 21 | images.save(img,"/sdcard/脚本/我的截图.png","png",50); -------------------------------------------------------------------------------- /canvas/画正方形.js: -------------------------------------------------------------------------------- 1 | var window = floaty.rawWindow( 2 | 6 | ); 7 | window.setTouchable(false); 8 | setInterval(() => {}, 3000) 9 | paint = new Paint() 10 | paint.setStrokeWidth(5); 11 | paint.setColor(-28707) 12 | paint.setStyle(Paint.Style.STROKE); 13 | window.board.on("draw", function (canvas) { 14 | canvas.drawRect(0,0,300,300,paint) 15 | }); 16 | -------------------------------------------------------------------------------- /events/按下键停止脚本运行252.js: -------------------------------------------------------------------------------- 1 | 2 | //无名小姐 -----<<>>><<<>--- 将就吧! 3 | events.setKeyInterceptionEnabled("volume_down", true); 4 | threads.start(function(){ 5 | events.observeKey(); 6 | events.on("key", function(volume_down, event){ 7 | //处理按键事件 8 | // toast("音量下键被按下了"); 9 | toast("脚本已停止运行"); 10 | //exit(); 11 | }); 12 | }); 13 | 14 | //主线程代码 15 | while(true){ 16 | sleep(1000); 17 | log("ghhj"); 18 | } -------------------------------------------------------------------------------- /events/气泡监听和移除.js: -------------------------------------------------------------------------------- 1 | events.observeToast(); 2 | events.onToast(function(toast){ 3 | log("Toast内容: " + toast.getText() + " 包名: " + toast.getPackageName()); 4 | events.removeAllListeners() 5 | }); 6 | 7 | // setTimeout( 8 | // function(){ 9 | // log(events.eventNames()) 10 | // events.removeAllListeners() 11 | // log('所有监听移除') 12 | // log(events.eventNames()) 13 | // },3000 14 | // ) 15 | -------------------------------------------------------------------------------- /http/1查询本机IP地理位置322.js: -------------------------------------------------------------------------------- 1 | var ip地理位置 = false 2 | var ip地理位置正则 = /本机IP: \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}<\/span>([\s\S]*?)<\/td/ 3 | var ipUrl = "http://www.baidu.com/s?ie=UTF-8&wd=ip%E5%BD%92%E5%B1%9E%E5%9C%B0%E6%9F%A5%E8%AF%A2" 4 | var r = http.get(ipUrl); 5 | log("code = " + r.statusCode); 6 | var htmlResult = r.body.string() 7 | ip地理位置 = ip地理位置正则.exec(htmlResult) 8 | if (ip地理位置) { 9 | ip地理位置 = ip地理位置正则.exec(ip地理位置) 10 | ip地理位置 = ip地理位置[1] 11 | toastLog(ip地理位置) 12 | } else { 13 | log('没有查询到Ip地理位置,脚本停止') 14 | exit() 15 | } 16 | -------------------------------------------------------------------------------- /http/[Http代理] 讯代理_优质代理425.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snailuncle/autojsDemo/d3617a3cb7958407e0b2d7f6d132f23f297e383c/http/[Http代理] 讯代理_优质代理425.js -------------------------------------------------------------------------------- /http/httpBuild.js: -------------------------------------------------------------------------------- 1 | var myUrl='https://www.baidu.com' 2 | var client=new OkHttpClient() 3 | var request=new Request.Builder() 4 | .url(myUrl) 5 | .get() 6 | .build() 7 | 8 | client.newCall(request).enqueue(new Callback( 9 | { 10 | onFailure:function(call,err){ 11 | log(err) 12 | }, 13 | onResponse:function(call,res){ 14 | log(res.body().string()) 15 | } 16 | } 17 | )) 18 | -------------------------------------------------------------------------------- /http/http超时返回null.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | let request = http.request; 3 | // 覆盖http关键函数request,其他http返回最终会调用这个函数 4 | http.request = function () { 5 | try { 6 | // 捕捉所有异常 7 | return request.apply(http, arguments); 8 | } catch (e) { 9 | // 出现异常返回null 10 | console.error(e); 11 | return null; 12 | } 13 | } 14 | })(); 15 | 16 | //设置超时为10秒 17 | http.__okhttp__.setTimeout(10000); 18 | // 获取一个不存在的网站,应该会Timeout (或者把网络断开) 19 | console.log(http.get("https://www.google.com.hk")); 20 | toast("程序结束"); 21 | -------------------------------------------------------------------------------- /http/格式化headers.js: -------------------------------------------------------------------------------- 1 | // var str = files.read('./data.js') 2 | var str = getClip() 3 | log("\n\n\n"+str + "\n\n\n"); 4 | var array = str.split("\n"); 5 | var 非空行=[] 6 | var json = {}; 7 | array.map( 8 | (line)=>{ 9 | if(line.length>3 && !(/^(GET|POST).*HTTP\//.test(line))){ 10 | 非空行.push(line) 11 | } 12 | if(/^(GET|POST).*HTTP\//.test(line)){ 13 | line=line.trim() 14 | var method=line.match(/[^ ]*(?= )/)[0] 15 | var url=line.match(/\/[^ ]*(?= )/)[0] 16 | log(method) 17 | json.method=method 18 | json.url=url 19 | } 20 | } 21 | ) 22 | log(非空行) 23 | for (let i = 0; i < 非空行.length; i++) { 24 | var kvstr = 非空行[i].split(":"); 25 | var key = kvstr[0].trim(); 26 | var value = kvstr[1].trim(); 27 | json[key] = value; 28 | } 29 | log("\n\n\n==========================================================================================\n\n\n"); 30 | log("\n\n\n",json, "\n\n\n"); 31 | -------------------------------------------------------------------------------- /http/获取内外网ip地址.js: -------------------------------------------------------------------------------- 1 | auto(); 2 | console.show(); 3 | 4 | importClass('java.net.Inet4Address'); 5 | importClass('java.net.InetAddress'); 6 | importClass('java.net.NetworkInterface'); 7 | importClass('java.util.Enumeration'); 8 | importClass('java.net.Inet6Address'); 9 | //获取内网IP地址 10 | var hostIp = null; 11 | try{ 12 | var nis = NetworkInterface.getNetworkInterfaces(); 13 | var ia = null; 14 | while (nis.hasMoreElements()) { 15 | var ni = nis.nextElement(); 16 | var ias = ni.getInetAddresses(); 17 | while (ias.hasMoreElements()) { 18 | ia = ias.nextElement(); 19 | if (ia instanceof Inet6Address) { 20 | continue; 21 | } 22 | var ip = ia.getHostAddress(); 23 | if (!"127.0.0.1".equals(ip)) { 24 | hostIp = ia.getHostAddress(); 25 | break; 26 | } 27 | } 28 | } 29 | } catch (e) { 30 | log(e); 31 | } 32 | log(hostIp); 33 | 34 | //获取外网ip地址 35 | var getIp_api = http.get('http://pv.sohu.com/cityjson?ie=utf-8'); 36 | var InetIP = getIp_api.body.string(); 37 | eval(InetIP); 38 | log(returnCitySN.cip); 39 | -------------------------------------------------------------------------------- /intent/发送广播.js: -------------------------------------------------------------------------------- 1 | // 发送广播: android.intent.action.激活路飞 2 | var action="android.intent.action.激活路飞" 3 | app.sendBroadcast( 4 | { 5 | action:action, 6 | extras:{ 7 | name:'哦雷瓦路飞', 8 | dream:'One Piece' 9 | } 10 | } 11 | ); 12 | log('发送了广播',action) 13 | -------------------------------------------------------------------------------- /intent/启动脚本autojsProIntent.js: -------------------------------------------------------------------------------- 1 | app.startActivity({ 2 | packageName : "org.autojs.autojspro", 3 | className : "org.autojs.autojs.external.open.RunIntentActivity", 4 | data : "/sdcard/脚本/2.js", 5 | type : "application/x-javascript" 6 | }); 7 | -------------------------------------------------------------------------------- /intent/启动脚本data.js: -------------------------------------------------------------------------------- 1 | app.startActivity({ 2 | packageName : "org.autojs.autojs", 3 | className : "org.autojs.autojs.external.open.RunIntentActivity", 4 | data : "/sdcard/脚本/2.js", 5 | type : "application/x-javascript" 6 | }); 7 | -------------------------------------------------------------------------------- /intent/启动脚本extras.js: -------------------------------------------------------------------------------- 1 | app.startActivity({ 2 | packageName : "org.autojs.autojs", 3 | className : "org.autojs.autojs.external.open.RunIntentActivity", 4 | extras : { 5 | script: "engines.stopAllAndToast();", 6 | }, 7 | type : "application/x-javascript" 8 | }); 9 | -------------------------------------------------------------------------------- /intent/小米图库查看图片.js: -------------------------------------------------------------------------------- 1 | app.startActivity({ 2 | action: "android.intent.action.VIEW", 3 | packageName: "com.miui.gallery", 4 | className: "com.miui.gallery.activity.ExternalPhotoPageActivity", 5 | data: app.parseUri("file:///storage/emulated/0/DCIM/Screenshots/Screenshot_2019-04-10-10-33-44-041_org.autojs.autojspro.png"), 6 | type: "image/png", 7 | flags: ["grant_read_uri_permission","grant_write_uri_permission"], 8 | }); 9 | -------------------------------------------------------------------------------- /intent/打开vpn.js: -------------------------------------------------------------------------------- 1 | var intent=new Intent() 2 | intent.setAction("android.settings.VPN_SETTINGS") 3 | app.startActivity(intent) 4 | -------------------------------------------------------------------------------- /intent/打开关闭usb网络共享.js: -------------------------------------------------------------------------------- 1 | app.startActivity({ 2 | packageName: "com.android.settings", 3 | className: "com.android.settings.Settings$TetherSettingsActivity" 4 | }); 5 | waitForActivity("com.android.settings.Settings$TetherSettingsActivity") 6 | click("USB 共享网络"); 7 | -------------------------------------------------------------------------------- /intent/打开无障碍设置界面.js: -------------------------------------------------------------------------------- 1 | var intent = new Intent(); 2 | intent.setAction("android.settings.ACCESSIBILITY_SETTINGS"); //打开无障碍设置界面 3 | app.startActivity(intent); 4 | -------------------------------------------------------------------------------- /intent/打开飞行模式设置界面.js: -------------------------------------------------------------------------------- 1 | var intent=new Intent() 2 | intent.setAction("android.settings.AIRPLANE_MODE_SETTINGS") 3 | app.startActivity(intent) 4 | -------------------------------------------------------------------------------- /intent/提取广播数据.js: -------------------------------------------------------------------------------- 1 | let intent = engines.myEngine().execArgv.intent; 2 | if (intent == null) { 3 | toastLog("请使用定时任务运行此脚本"); 4 | exit(); 5 | } 6 | log("action = ", intent.action); 7 | log("package = ", intent.package); 8 | log("data = ", intent.data); 9 | let extras = intent.extras; 10 | log("extras = ", intent.extras); 11 | if (extras) { 12 | let str = "{\n"; 13 | let iter = extras.keySet().iterator(); 14 | while (iter.hasNext()) { 15 | let key = iter.next(); 16 | let value = extras.get(key); 17 | str += " " + key + ": " + value; 18 | str += ", \n"; 19 | } 20 | str += "}"; 21 | log(str); 22 | } 23 | -------------------------------------------------------------------------------- /intent/淘宝 内打开网页389.js: -------------------------------------------------------------------------------- 1 | app.startActivity({ 2 | action: "android.intent.action.VIEW", 3 | data: "taobao://hitow.net" 4 | }); -------------------------------------------------------------------------------- /intent/语音识别.js: -------------------------------------------------------------------------------- 1 | //importClass(android.content.Intent); 2 | importClass(android.speech.RecognizerIntent) 3 | 4 | intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 5 | //intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); 6 | // intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "开始语音识别"); 7 | // app.startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE); 8 | intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); //本地识别程序 9 | 10 | intent = new Intent(RecognizerIntent.ACTION_WEB_SEARCH); //网络识别程序 11 | app.startActivity(intent); 12 | -------------------------------------------------------------------------------- /jar/二维码识别.js: -------------------------------------------------------------------------------- 1 | runtime.loadDex("/storage/emulated/0/Tencent/QQfile_recv/zy.dex"); 2 | importPackage(com.google.zxing); 3 | importPackage(com.google.zxing.common); 4 | importPackage(com.google.zxing.client.j2se); 5 | 6 | var imgPath = "/sdcard/Quark/Download/zx.png"; 7 | 8 | var pixels = images.readPixels(imgPath); 9 | var w = pixels.width; 10 | var h = pixels.height; 11 | var binaryBitmap = new BinaryBitmap(new HybridBinarizer( 12 | new RGBLuminanceSource(w, h, pixels.data))); 13 | var qrCodeResult = new MultiFormatReader().decode(binaryBitmap); 14 | toastLog(qrCodeResult.getText()); 15 | -------------------------------------------------------------------------------- /module.expo.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/snailuncle/autojsDemo/d3617a3cb7958407e0b2d7f6d132f23f297e383c/module.expo.pdf -------------------------------------------------------------------------------- /pro商店的脚本/UI脚本使用无障碍的最佳实践-1.0.0.1/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "assets": [], 3 | "build": { 4 | "build_number": 0, 5 | "build_time": 0, 6 | "release": false 7 | }, 8 | "encryptLevel": 0, 9 | "useFeatures": [], 10 | "launchConfig": { 11 | "displaySplash": true, 12 | "hideLogs": false, 13 | "splashText": "Powered by Auto.js Pro", 14 | "stableMode": false 15 | }, 16 | "mainScriptFile": "main.js", 17 | "name": "UI脚本使用无障碍的最佳实践", 18 | "optimization": { 19 | "removeOpenCv": false, 20 | "unusedResources": false 21 | }, 22 | "packageName": "com.org.autojs.pro", 23 | "publish": { 24 | "category": "实用工具", 25 | "details": "作者提供的UI最佳无障碍服务开启方式,UI完美体验,从此拒绝线程,拒绝卡屏🤔🤔", 26 | "maxAutoJsVersion": -1, 27 | "maxProVersion": 7009999, 28 | "minAutoJsVersion": -1, 29 | "minProVersion": 7000000, 30 | "minSdkVersion": 2, 31 | "permissions": [], 32 | "summary": "作者提供的UI最佳无障碍服务开启方式", 33 | "tags": [] 34 | }, 35 | "scripts": {}, 36 | "versionCode": 1, 37 | "versionName": "1.0.0" 38 | } -------------------------------------------------------------------------------- /pro商店的脚本/Uiobject节点的智能提示(包含文档中没有的api)-1.0.0.1/main.js: -------------------------------------------------------------------------------- 1 | //示列 2 | var uinode = require("./UiNode").UiNode; 3 | 4 | var obj = text("Auto.js Pro").findOne(200); 5 | 6 | if(obj!=null){ 7 | var node = uinode.create(obj); 8 | 9 | //获得节点文本 10 | print(node.text) 11 | 12 | //控件是否可见 13 | print(node.visibleToUser); 14 | 15 | //节点的方法,获取控件的宽高 16 | print(node.method.bounds()); 17 | } 18 | 19 | -------------------------------------------------------------------------------- /pro商店的脚本/Uiobject节点的智能提示(包含文档中没有的api)-1.0.0.1/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "assets": [], 3 | "build": { 4 | "build_time": 0, 5 | "build_number": 0, 6 | "release": false 7 | }, 8 | "encryptLevel": 0, 9 | "useFeatures": [], 10 | "launchConfig": { 11 | "displaySplash": true, 12 | "hideLogs": false, 13 | "splashText": "Powered by Auto.js Pro", 14 | "stableMode": false 15 | }, 16 | "mainScriptFile": "main.js", 17 | "name": "Uiobject节点的智能提示(包含文档中没有的api)", 18 | "optimization": { 19 | "removeOpenCv": false, 20 | "unusedResources": false 21 | }, 22 | "packageName": "com.uinode", 23 | "publish": { 24 | "category": "实用工具", 25 | "details": "包含有文档中没有的api", 26 | "maxAutoJsVersion": -1, 27 | "maxProVersion": 7009999, 28 | "minAutoJsVersion": -1, 29 | "minProVersion": 7000000, 30 | "minSdkVersion": 2, 31 | "permissions": [], 32 | "summary": "对aj的uiobject对象的简单封装", 33 | "tags": [] 34 | }, 35 | "scripts": {}, 36 | "versionCode": 1, 37 | "versionName": "1.0.0" 38 | } -------------------------------------------------------------------------------- /pro商店的脚本/ui启动ui-1.0.0.1/main.js: -------------------------------------------------------------------------------- 1 | "ui"; 2 | "ui"; 3 | 4 | ui.layout( 5 | 6 | 6 | 7 | 8 | ) 9 | ui.run(() => { 10 | loging.setPosition(170, 1074) 11 | }) 12 | 13 | _log = log 14 | 15 | function log(text) { 16 | if (loging) { 17 | ui.run(() => { 18 | loging.log.text(text) 19 | }) 20 | } 21 | } 22 | var on = threads.start(function() { 23 | loging.log.on("click", () => { 24 | toast("已隐藏日志悬浮窗") 25 | loging.close() 26 | }) 27 | loging.stop.on("click", () => { 28 | engines.stopAll() 29 | }) 30 | }) 31 | fn=function (){ 32 | var c=0 33 | return ()=>{ 34 | log(c.toString()) 35 | return (++c) 36 | } 37 | }() 38 | setInterval(fn,1000) 39 | -------------------------------------------------------------------------------- /悬浮窗/悬浮窗隐藏控件.js: -------------------------------------------------------------------------------- 1 | var window=floaty.rawWindow( 2 | 3 | 5 | 生僻字大佬真棒生僻字大佬真棒生僻字大佬真棒生僻字大佬真棒生僻字大佬真棒生僻字大佬真棒生僻字大佬真棒生僻字大佬真棒生僻字大佬真棒生僻字大佬真棒生僻字大佬真棒生僻字大佬真棒生僻字大佬真棒生僻字大佬真棒生僻字大佬真棒生僻字大佬真棒生僻字大佬真棒生僻字大佬真棒生僻字大佬真棒生僻字大佬真棒生僻字大佬真棒 6 | 7 | 8 | 9 | ) 10 | window.setPosition(300,300) 11 | var view = window.main 12 | function scrollX(view, x) { 13 | view.scrollTo(x, 0) 14 | } 15 | var num = function () { 16 | var count = 0 17 | return function () { 18 | return count++; 19 | } 20 | }() 21 | var intervalId; 22 | var fn = () => { 23 | var n=num() 24 | scrollX(view, n) 25 | var width=view.getWidth() 26 | if(n>width/3*2){ 27 | clearInterval(intervalId) 28 | } 29 | } 30 | setTimeout(() => { 31 | intervalId=setInterval( 32 | fn, 3 33 | ) 34 | }, 1000); 35 | 36 | setInterval(()=>{},3000) 37 | -------------------------------------------------------------------------------- /悬浮窗/按钮平分.js: -------------------------------------------------------------------------------- 1 | 2 | var window=floaty.window( 3 | 4 | 5 | 6 | 7 | 8 | 9 | ) 10 | setInterval(()=>{},3000) 11 | 12 | -------------------------------------------------------------------------------- /悬浮窗/焦点.js: -------------------------------------------------------------------------------- 1 | var window = floaty.window( 2 | 3 | 4 |