[关闭]
@miniknife 2017-09-21T08:38:02.000000Z 字数 29341 阅读 115344

TSLib 触动精灵基础扩展库使用手册

开发手册


Windows 平台按 Ctrl + F 打开快捷搜索

Mac 平台按 command + F 打开快捷搜索

※右侧文本列表可以找到全部手册


目录

简介

为了进一步降低脚本开发者门槛,触动精灵单独开发一个扩展库,提供了一系列实用函数供开发者使用。
本函数扩展库中的函数如无特殊说明,均支持 iOS Android 双平台。

学习前的准备

越狱及 root 常识

  • 在学习脚本开发之前,首先要具备一些关于 iOS 越狱和安卓 root 的知识,以及触动精灵的常用信息
  • 文档链接:https://www.zybuluo.com/lisaisacat/note/324664
  • 看了上面的文档,你可以具备以下知识:
    • 什么样的手机适合用来做脚本开发
    • 拿到一台越狱手机之后应该做什么才能避免白苹果和报错
    • Cydia 不见了或者已安装界面空白该怎么办
    • 为什么安装插件总是报错呢

Lua 基础简明教程

  • 首先你需要了解 Lua 这门语言的一些基础知识,什么是循环,什么是函数,布尔型和数值型分别是什么意思,才有可能看得懂下面的教程和手册。
  • 文档地址:https://www.zybuluo.com/lisaisacat/note/636399

脚本开发取色技巧

  • 新手在学习使用触动精灵开发脚本的时候,总会进入一些误区,或者会有一些迷惑的点,觉得无从下手,本文总结了一些自己在学习过程中遇到的问题和经验技巧,欢迎大家一起交流分享。
  • 文档链接:https://zybuluo.com/lisaisacat/note/508345
  • 看了上面的文档,你可以具备以下知识:
    • 透明背景图、动图、带动画的界面应该怎么取色
    • 找色和找图哪个更好用
    • 函数封装是什么
    • 脚本报错了怎么办

小白学触动零基础视频教程

  • 如果你没有任何编程基础,可以先看一下零基础教学视频:https://www.zybuluo.com/lisaisacat/note/585252
  • 看了上面的文档,你可以具备以下知识:
    • deb 插件安装方法
    • 平刷插件 Cydia Eraser
    • SSH 命令工具 putty
    • 触动精灵的安装使用及常识
    • 抓色器和编辑器的使用及常识
    • 同样的脚本为什么有的手机运行异常
    • showUI 返回值的调用
    • showUI 应该怎么写才简洁好用
    • 大漠字库工具的用法

触动精灵开发者指南

  • 由于触动精灵在线文档数量较多,很多人不知道如何查询,现建立此文档做为索引,其中会补充一些软件使用的常用信息。
  • 触动精灵旗下目前有四款软件:触动精灵(iOS/Android)、帮你玩商城(iOS/Android)、小精灵(iOS/Android)、企业版(iOS/Android 开发中)。
    • 触动精灵适合开发者和有中控开发能力的工作室使用
    • 帮你玩脚本商城适合开发玩家脚本的开发者和普通脚本用户使用
    • 小精灵适合有图标和包名自定义需求的开发者和工作室使用
    • 企业版适合有批量控制设备需求的工作室使用
  • 文档地址:https://www.zybuluo.com/miniknife/note/509515

触动产品功能对比

产品名称 自定义图标 录制 调试 运行源码 授权 批量控制 支持平台 开发者平台
触动精灵iOS × 30元/台/年 购买API自行开发 iOS/Android http://dev.touchsprite.com/site/index
触动精灵安卓 × 免费 购买API自行开发 iOS/Android http://dev.touchsprite.com/index
触动小精灵 × × × 11元/台/月 购买API自行开发 iOS/Android http://app.touchsprite.com/
帮你玩商城 × × × × 免费 × iOS/Android http://dev.touchsprite.com/p4u/site/index
触动企业版 × × × 38元/台/年 免费 iOS http://ent.touchsprite.com/

如何查看更多文档

在文档右侧栏顶部点击文档分类菜单栏按钮,即可查看触动精灵所有在线文档。
此处输入图片的描述

函数扩展库下载

v1.2.0
触动精灵/小精灵(基础版)/企业版(更新于2017/09/18):TSLib.lua91.1kB
v1.1.8.0
帮你玩(更新于2017/1/18)下载:TSLib.lua51.8kB

※当前内置版本为1.1.8.5,如需使用最新版请下载函数库后重命名再加载

※当前内置版本为1.1.8.5,如需使用最新版请下载函数库后重命名再加载

※当前内置版本为1.1.8.5,如需使用最新版请下载函数库后重命名再加载

使用须知

  • 解压压缩包内文件,需要将文件拉到触动脚本文件目录里面(iOS v2.3.9 已内置本函数库)
  • 触动精灵 iOS 脚本文件目录:/var/mobile/Media/TouchSprite/lua
  • 触动精灵安卓脚本文件目录:/mnt/sdcard/TouchSprite/lua
  • 如果上传 tsp 将该文件一起打进 zip 包即可
  • 在脚本开头写 require "TSLib"(注意文件名大小写是否正确)
  • 务必使用最新版本的扩展库文件
  • 如果脚本要通用于触动和帮你玩平台,建议直接使用帮你玩专版

image_1b5pfoblmh90uv8skhgq74oo9.png-17.2kB

一个包含脚本文件、扩展库文件和资源文件的工程

注意事项:

  • 如果修改了文件名请一定要保持双引号内的文件名与实际文件名一致。
  • 如果要远程调试或上传到开发者平台,记得把函数库文件和脚本文件一起传到设备或打包。
  • 帮你玩开发者平台仅允许使用帮你玩专版扩展库,其他平台可使用触动版。如果没有特殊需求,建议统一使用帮你玩版本。
  • 触动小精灵使用此函数库(非网络获取和打码部分)只需要勾选 基础版 类型即可

函数:TSVersions 获取扩展库版本号

函数名称:获取扩展库版本
函数功能:用来判断获取扩展库版本号
函数方法
TSVersions()
返回值:ver 字符型
脚本示例:
  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. TSVersions() --返回版本号字符串,返回值如:1.1.1

点击滑动类

  • 在部分应用程序中的HTML5页面中,出现脚本能够点击,但点击没有后续反应的问题。此问题目前可以通过以下写法来解决:
    os.execute("input mouse tap x y") --x y 为坐标值
    os.execute("input mouse swipe x1 y1 x2 y2 ")--滑动代码

函数:tap 点击

函数名称:点击
函数功能:模拟点击屏幕,按下抬起一次
函数方法
tap(x,y,ms)
参数 类型 说明
坐标 x number 必填
坐标 y number 必填
时间 ms number 选填,缺省默认为 50,单位毫秒

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. tap(100,200) --点击坐标(100,200),默认按下50毫秒后抬起

注意事项:

tap 点击后可以加适量的延时

函数:randomTap 随机点击

函数名称:随机点击
函数功能:随机点击屏幕一次
函数方法
randomTap(x,y,r)
参数 类型 说明
坐标 x number 必填
坐标 y number 必填
随机 r number 选填,缺省默认为 5,单位 px

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. randomTap(100,200,10) --随机点击坐标(x,y),x 100±10 取一个随机值,y 200±10 取一个随机值。

注意事项:

randomTap(x,y,r)当r不写时默认为 5,即randomTap(x,y)即可。当随机数 r 写 10 时,则按下的 x 和 y 会自动加上 -10 到 10 之间的一个随机数

函数:moveTo 滑动

函数名称:滑动
函数功能:两点之间直线滑动
函数方法
moveTo(x1,y1,x2,y2,step)
参数 类型 说明
起点 x1 number 必填
起点 y1 number 必填
终点 x2 number 必填
终点 y2 number 必填
速度 step number 选填,缺省默认为 10,单位 px
弹起 ms number 选填,缺省为 50,单位毫秒

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. moveTo(100,100,200,200) --从坐标(100,100)滑动到(200,200),默认步长为10 像素。默认移到另一点等待50毫秒弹起

注意事项:

  1. 可选参数速度 step,当不写默认为 10,也可自己填写,step 步长越大滑动越快,为大于 0 小于距离长度的数值。
  2. 使用滑动函数时,新手常犯的错误就是两点之间滑动距离过大,请注步长不宜超过 50。

函数:moveTowards 角度滑动

函数名称:角度滑动
函数功能:确定起点坐标,从该点按角度直线滑动
函数方法
moveTowards(x,y,angle,length,step)
参数 类型 说明
起点 x number 必填
起点 y number 必填
角度 angle number 必填
长度 length number 必填
速度 step number 选填,缺省默认为 10,单位 px

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. moveTowards(500,500,90,300) --从坐标(500,500)向上滑动300

注意事项:

  1. 角度angle为0时向右滑动,90向上滑动,180向左滑动
  2. 长度 length 大于0
  3. 可选参数速度 step,当不写默认为 10,也可自己填写,step 应为大于 0 小于距离长度的数值,建议小于 50,否则会出现滑动无效的情况

函数:moveZoomOut 捏合

函数名称:捏合
函数功能:两点捏合滑动缩小
函数方法
moveZoomOut(x1,y1,x2,y2,step)
参数 类型 说明
坐标 x1 number 必填
坐标 y1 number 必填
坐标 x2 number 必填
坐标 y2 number 必填
速度 step number 选填,缺省默认为 50,单位 px

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. moveZoomOut(100,100,300,300) --从坐标(100,100)和坐标(300,300)同时向中间点滑动缩小

注意事项:

可选参数速度 step,当不写默认为 10,也可自己填写,step 为大于 0 小于距离长度的数值,建议小于 50,否则会出现滑动无效的情况

函数:moveZoomIn 放大滑动

函数名称:放大滑动
函数功能:输入两点坐标,脚本从中间向两点滑动放大
函数方法
moveZoomIn(x1,y1,x2,y2,step)
参数 类型 说明
坐标 x1 number 必填
坐标 y1 number 必填
坐标 x2 number 必填
坐标 y2 number 必填
速度 step number 选填,缺省默认为 50,单位 px

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. moveZoomIn(100,100,300,300) --两点坐标中间同时向坐标(100,100)和坐标(300,300)两端滑动

注意事项:

可选参数速度step,当不写默认为10,也可自己填写,step 为大于0小于距离长度的数值,建议小于 50,否则可能会导致函数运行无效

函数:moveCircleCenter 圆心滑动

函数名称:圆心滑动
函数功能:确定圆心和圆上一点确定圆,从圆上一点按圆弧度滑动
函数方法
moveCircleCenter(cX,cY,x,y,angle,step,direction)
参数 类型 说明
圆心 cX number 必填
圆心 cY number 必填
圆上点 x number 必填
圆上点 y number 必填
角度 angle number 选填,缺省默认为 360,转一周
速度 step number 选填,缺省默认为 10,单位 px
方向 direction number 选填,缺省默认为逆时针,-1 时为顺时针

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. moveCircleCenter(200,200,0,200) --以圆心坐标(200,200),圆上一点起点(0,200),逆时针转一圈

注意事项:

  1. 角度 angle 大于 0,转 1 圈数值为 360,以此类推
  2. step 步长不写默认为10,越小越快,大于 0,建议小于 50,否则可能会导致函数运行无效
  3. 方向 direction 默认逆时针,-1 时为顺时针

函数:moveCirclePonits 圆弧滑动

函数名称:圆弧滑动
函数功能:三点确定圆,从圆上第一点开始按圆弧度滑动
函数方法
moveCirclePonits(x1,y1,x2,y2,x3,y3,angle,step,direction)
参数 类型 说明
圆上点 x1 number 必填
圆上点 y1 number 必填
圆上点 x2 number 必填
圆上点 y2 number 必填
圆上点 x3 number 必填
圆上点 y3 number 必填
速度 step number 必填
角度 angle number 选填,缺省默认为 360,转一周
速度 step number 选填,缺省默认为 10,单位 px
方向 direction number 选填,缺省默认为逆时针,-1 时为顺时针

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. moveCirclePonits(300,100,100,200,500,200) --三点坐标确定圆心,以圆上起点(300,100),逆时针转一圈

注意事项:

  1. 角度 angle 大于 0,转 1 圈数值为 360,以此类推
  2. step 步长不写默认为10,越小越快,大于 0,建议小于 50,否则可能会导致函数运行无效
  3. 方向 direction 默认逆时针,-1 时为顺时针

颜色判断类

函数:intToRgb 十六进制转 RGB

函数名称:十六进制转 RGB
函数功能:十六进制颜色值转RGB,返回三个值
函数方法
intToRgb(color)
返回值:r 数值型,g 数值型,b 数值型
参数 类型 说明
颜色 color number 必填

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. r,g,b = intToRgb(0xffffff) --返回255 255 255 三个值

注意事项:

返回值 r,g,b 可为自定义变量

函数:rgbToInt RGB 转十六进制

函数名称:RGB 转颜色
函数功能:将 RGB 三个值转换成十六进制颜色值
函数方法
rgbToInt(r,g,b)
返回值:color 数值型
参数 类型 说明
红 r number 必填
绿 g number 必填
蓝 b number 必填

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. intToRgb(255,255,255) --返回十六进制颜色值 0xffffff

注意事项:

返回值为十六进制颜色数值

函数:isColor 单点比色

函数名称:比色
函数功能:判断指定坐标的颜色,存在返回 true,不存在返回 false
函数方法
isColor(x,y,c,dim)
参数 类型 说明
坐标 x number 必填
坐标 y number 必填
颜色 c number 必填
模糊度 dim number 选填,缺省默认为 90

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. if isColor(100,200,0xffffff) then --判断点(100,200)的颜色值是否为 0xffffff,模糊度默认为90
  3. dialog("找到啦",0)
  4. end

注意事项:

可选参数模糊度 dim,不写默认为 90,最精确为100,但不建议使用 100

函数:multiColor 多点比色

函数名称:多点比色
函数功能:判断多个坐标相应颜色是否成立,成立返回 true,不成立返回 false
函数方法
multiColor(array,dim)
返回值:true/false 布尔型
参数 类型 说明
颜色数组 array table 必填
模糊度 dim number 选填,缺省默认为 90

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. if multiColor({{78,272,0x00a8e9},{120,266,0xffffff},{122,197,0x00a8e9}}) == true then--全部坐标点和颜色一致时返回 true,== true 可省略不写
  3. tap(x,y)
  4. mSleep(50)
  5. toast("找到颜色并点击")
  6. mSleep(3000)
  7. end

注意事项:

  1. array 为 table 表,坐标颜色值数量任意(填一个坐标和颜色值时为单点找色),可配合触动精灵抓色器自动生成代码使用
  2. 模糊度 dim 不填默认为 90

函数:multiColTap 多点比色点击

函数名称:多点比色点击
函数功能:判断多个坐标相应颜色是否成立,成立则点击最后一个坐标
函数方法
multiColTap(array,dim)
参数 类型 说明
颜色数组 array table 必填
模糊度 dim number 选填,缺省默认为 90

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. multiColTap({{78,272,0x00a8e9},{120,266,0xffffff},{122,197,0x00a8e9}}) --所有坐标和颜色都成立则点击最后一个坐标

或者写作

  1. if multiColor({{78,272,0x00a8e9},{120,266,0xffffff},{122,197,0x00a8e9}}) == true then --所有坐标颜色都成立
  2. tap(122,197)--点击最后一个坐标
  3. end

注意事项:

  1. array 为 table 表,坐标颜色值数量任意(填一个坐标和颜色值时为单点找色),可配合触动精灵抓色器自动生成代码使用
  2. 模糊度 dim 不填默认为 90

函数:findMultiColorInRegionFuzzyByTable 点阵找色

函数名称:点阵找色
函数功能:利用table进行多点找色,这种方法将会保留原始的点阵数据
函数方法
x,y=findMultiColorInRegionFuzzyByTable(tmp,degree,x1,y1,x2,y2)
返回值:x,y 整数型
参数 类型 说明
颜色点阵 tmp table 必填,点阵
模糊度 degree number 必填,模糊度
坐标 x1 number 选填,缺省默认值0,区域左上角横坐标
坐标 y1 number 选填,缺省默认值0,区域左上角纵坐标
坐标 x2 number 选填,缺省默认值0,区域右下角横坐标
坐标 y2 number 选填,缺省默认值0,区域右下角纵坐标
返回值 类型 说明
x,y number 返回符合条件的参照点的坐标,如未找到则返回 -1,-1

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. 反叛的堕天使路西法= {
  3. { 46, 418, 0xf7efda},
  4. { 77, 429, 0x8b6248},
  5. { 42, 449, 0xfdf5ee},
  6. { 70, 439, 0x83305d},
  7. { 57, 458, 0xad736a},
  8. }
  9. x,y=findMultiColorInRegionFuzzyByTable(反叛的堕天使路西法,90,1,365,105,500)--在1,365,105,500这个区域寻找反叛的堕天使路西法这个图像

开发调试类

函数:log 日志

函数名称:日志
函数功能:记录脚本日志,便于了解挂机详情
函数方法
log(wlog,name)
参数 类型 说明
内容wlog string 必填
日志名称name string 选填,缺省默认为“脚本日志”

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. log("我的第一个脚本","脚本日志")--在 log 目录下生成文件:脚本日志.log,文本内容:"我的第一个脚本"

注意事项:

日志会自动生成到触动精灵文件目录的 log 文件夹下,在客户端更多 - 日志界面可以查看。
日志过多时记得及时清除避免设备卡顿

文件操作类

函数:isFileExist 判断文件

函数名称:判断文件
函数功能:判断文件是否存在,存在返回true,不存在返回false
函数方法
isFileExist(file)
返回值:true/false 布尔型
参数 类型 说明
文件路径 file string 必填

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. isFileExist(userPath().."/res/test.txt") --存在返回true,不存在返回false

注意事项:

文件存在返回true,不存在则返回false

函数:readFile 读文件返回表

函数名称:读文件返回表
函数功能:读文件操作,读取文件内容,返回一个 table
函数方法
readFile(file)
参数 类型 说明
文件路径file string 必填

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. readFile(userPath().."/res/test.txt") --读取文件内容,返回一个 table

注意事项:

文件不存在则返回false

函数:readFileString 读文件返回字符串

函数名称:读文件返回字符串
函数功能:读文件操作,读取文件内容,返回全部内容的string
函数方法
readFileString(file)
参数 类型 说明
文件路径file string 必填

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. readFileString(userPath().."/res/test.txt") --读取文件内容,返回全部内容的string

注意事项:

文件不存在则返回false

函数:writeFile 保存表到文件

函数名称:保存表到文件
函数功能:将表 table 内容存入文件,成功返回true
函数方法
writeFile(file,tab,mode)
参数 类型 说明
文件路径file string 必填
表格内容tab string 必填
写入方式mode string 选填,默认是清空写入模式"w",追加写入模式"a"

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. writeFile(userPath().."/res/test.txt",{1,2,3,4},"a") --将 table 内容存入文件,成功返回 true

注意事项:

  1. 写入文件会追加在文件原来的内容后面,不存在该文件则创建文件再写入内容
  2. 如果想重新写入先用删除函数删除文本再写入即可

函数:writeFileString 保存字符串到文件

函数名称:保存字符串到文件
函数功能:将字符串 string 内容存入文件,成功则返回 true
函数方法
writeFileString(file,str,mode)
参数 类型 说明
文件路径file string 必填
字符串内容str string 必填
写入方式mode string 选填,默认是清空写入模式"w",追加写入模式"a"

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. writeFileString(userPath().."/res/test.txt","触动精灵帮你玩") --将 string 内容存入文件,成功返回 true

注意事项:

写入文件会追加在文件原来的内容后面,不存在该文件则创建文件再写入内容

函数:delFile 删除文件

函数名称:删除文件
函数功能:删除单个文件,不能删除文件夹
函数方法
delFile(file)
参数 类型 说明
文件路径file string 必填,绝对路径

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. delFile(userPath().."/res/test.txt") --删除test.txt文件,需要填写绝对路径

注意事项:

需要填写绝对路径

应用信息类

函数:getAppName 获取应用名称

函数名称:获取应用名称
函数功能:根据应用包名获取应用名称
支持版本:仅支持 iOS 系统
函数方法
getAppName(bid)
返回值:name 字符型
参数 类型 说明
应用 ID bid string 必填,应用 Bundle ID
返回值 类型 说明
应用名 name string bid 对应的应用名称

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. getAppName("com.tencent.xin") --获取com.tencent.xin的应用名称,该函数只支持苹果 iOS 系统

注意事项:

该函数只支持苹果 iOS 系统

函数:getUserApp 获取已安装 ipa 应用列表

函数名称:获取已安装 ipa 应用列表
函数功能:获取用户安装的非越狱应用
支持版本:仅支持 iOS 系统
函数方法
getUserApp()
返回值:返回一个table,返回值如:{com.tencent.xin,com.tencent.mqq,...}

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. getUserApp() --该函数只支持苹果 iOS 系统

注意事项:

该函数只支持苹果 iOS 系统

数据操作类

函数:strSplit 分割字符串

函数名称:分割字符串
函数功能:按照指定字符分割一个字符串为一个表
函数方法
data = strSplit(str,symbol,pos)
参数 类型 说明
str string 必填,要被分割的字符串
symbol string 选填,分割的依据,不填写默认'@'
pos numebr 选填,起始分割位置,缺省默认值1
返回值 类型 说明
data table 分割后形成的表

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. str='1@2@3'
  3. data = strSplit(str) --data = {1,2,3}

函数:httpGet 获取网页数据

函数名称:获取网页数据
函数功能:获取网页数据信息
函数方法
webdata = httpGet(url)
参数 类型 说明
url string 必填,请求的网页地址url
返回值 类型 说明
webdata string 网页内容

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. webdata = httpGet("http://www.baidu.com/")--获取百度首页网页数据
  3. dialog(webdata)

函数:httpPost 提交网页数据

函数名称:提交网页数据
函数功能:以 post 方式提交数据获取网页返回信息
函数方法
str=httpPost(url,data)
参数 类型 说明
url string 必填,访问的网页地址url
data string 必填,要提交的Post参数数据
返回值 类型 说明
str string 网页内容

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. --稍后补充

函数:getNetIP 获取外网IP

函数名称:获取外网IP
函数功能:获取外网IP
支持版本:扩展库1.1.7以上版本
函数方法
ip = getNetIP()
返回值 类型 说明
ip string ip地址

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. ip = getNetIP() --获取IP
  3. dialog(ip)

函数:inputStr 输入字符串

函数名称:输入字符串
函数功能:向输入框中输入文本
支持版本:仅支持 iOS 系统
函数方法
inputStr(String);
返回值:无
参数 类型 说明
String string 要输入的文本

脚本实例:
输入欢迎文本并发送

  1. inputStr("Welcome"); --在输入框中输入字符串"Welcome",此函数仅适用于 iOS 系统

注意事项:

  1. inputText 输入无效时可尝试使用该函数
  2. 该输入函数可能会影响剪贴板中数据
  3. 此函数仅适用于 iOS 系统
  4. 要使用此函数请将函数库文件升级到最新版本,否则可能会报错 keyDown 为空值

函数:getStrNum 获取字符串数

函数名称:获取字符串数
函数功能:获取字符串的个数
函数方法
num=getStrNum(String);
参数 类型 说明
String string 输要入的文本
返回值 类型 说明
num number 字符串数量数

脚本实例:

  1. num = getStrNum("计算str");
  2. dialog(num,0) --返回 5

函数:getRndNum 获取随机数

函数名称:获取随机数
函数功能:获取真随机数,随机数值
函数方法
rnum = getRndNum()
参数:无
返回值 类型 说明
随机数字 rnum number 随机范围的整数,每次获取数字不同

脚本实例:

  1. math.randomseed(getRndNum()) -- 随机种子初始化真随机数
  2. num = math.random(1, 100) -- 随机获取一个1-100之间的数字

函数:snapAndSave 截图保存到相册

函数名称:截图保存到相册
函数功能:截取指定区域,并保存到系统相册
支持版本:仅支持 iOS 系统
函数方法
snapAndSave(x1,y1,x2,y2)
参数 类型 说明
坐标 x1 number 选填,缺省默认值0,截取区域左上角横坐标
坐标 y1 number 选填,缺省默认值0,截取区域左上角纵坐标
坐标 x2 number 选填,缺省默认值0,截取区域右下角横坐标
坐标 y2 number 选填,缺省默认值0,截取区域右下角纵坐标

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. snapAndSave(233,233,555,555)--该函数只支持苹果 iOS 系统,缺少任一参数则默认全屏截图

注意事项:

  1. 该函数只支持苹果 iOS 系统
  2. 缺少任一参数则默认全屏截图。

函数:deepCopyTable 复制表

函数名称:复制表
函数功能:深度复制一张表
函数方法
result=deepCopyTable(tmp)
参数 类型 说明
tmp table 必填,将要被复制的表
返回值 类型 说明
result table 复制后的表

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. a={1,2,3}
  3. result=deepCopyTable(a)

系统类模块

函数:luaExit 退出脚本执行

函数名称:退出脚本、结束函数
函数功能:直接终止脚本。
函数方法
luaExit();
返回值:无

脚本实例:
弹出许可协议,若不同意则退出脚本

  1. ret = dialogRet("许可协议\n协议内容", "同意", "不同意", 0, 0);
  2. if ret == 0 then --如果按下"同意"按钮
  3. init("0",0); --开始初始化
  4. else
  5. luaExit(); --否则退出脚本
  6. end

注意事项:

  1. 区别于lua_exit,如果lua_exit退出无效可使用该函数,

函数:getRender 获取屏幕的 render 值

函数名称:获取屏幕的 render 值
函数功能:获取屏幕的 render 值
支持版本:仅支持 iOS 系统
函数方法
getRender()
返回值 类型 说明
render number 设备的 render 值

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. render=getRender()--该函数只支持苹果 iOS 系统

注意事项:

该函数只支持苹果 iOS 系统

函数:isDay 日期判断

函数名称:日期判断
函数功能:判断当前日期是否为指定日期
函数方法
flag=isDay(dayTable)
参数 类型 说明
dayTable table 必填,指定的日期的年月日分别对应表的 year 域,month 域,day 域
返回值 类型 说明
flag boolean 判断结果

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. flag=isDay({year=2016,month=2,day=16})--判断是否是2016216

clear 清理类模块

模块说明

  1. 该清理类函数仅限苹果 iOS 系统使用
  2. 数据清理不可逆转,请谨慎使用

函数:clearAllPhotos 清空相册

函数名称:清空相册
函数功能:删除手机相册所有照片
支持版本:仅支持 iOS 系统
函数方法
clearAllPhotos()

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. clearAllPhotos()--该函数只支持苹果 iOS 系统

注意事项:

该函数只支持苹果 iOS 系统

函数:clearAllKeyChains 清空钥匙串

函数名称:清空所有应用钥匙串信息
函数功能:删除所有手机安装应用钥匙串信息
支持版本:仅支持 iOS 系统
函数方法
clearAllKeyChains()

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. clearAllKeyChains()--该函数只支持苹果 iOS 系统

注意事项:

该函数只支持苹果 iOS 系统

函数:clearIDFAV 清理 IDFAV

函数名称:清理 IDFAV
函数功能:删除 IDFA 和 IDFV 等设备信息
函数方法
strIdfav=clearIDFAV(info)
参数 类型 说明
info string或table 选填,默认全部清理,指定生成设备的 IDFA 和 IDFA 信息
返回值 类型 说明
strIdfav string 设备原来的 IDFA 和 IDFV 信息

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. str1 = clearIDFAV() --清空信息,该函数只支持苹果 iOS 系统
  3. mSleep(500)
  4. str2 = clearIDFAV(str1) --清空信息并将备份信息写入
  5. dialog(str1.."\n"..str2, 0)

注意事项:

  1. 参数 info 类型可以是字符串或数组,或nil。参数请严格按照返回信息格式
  2. 返回值 strIdfav 获取成功返回设备信息,设备信息为空返回 0 或 1
  3. 该函数只支持苹果 iOS 系统

函数:clearPasteboard 清空剪贴板

函数名称:清空剪贴板
函数功能:清除设备剪贴板信息
函数方法
clearPasteboard()

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. clearPasteboard()--该函数只支持苹果 iOS 系统

注意事项:

该函数只支持苹果 iOS 系统

函数:clearCookies 清除浏览器Cookies

函数名称:清除浏览器Cookies
函数功能:清除浏览器Cookies信息
函数方法
clearCookies()

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. clearCookies()--该函数只支持苹果 iOS 系统

注意事项:

该函数只支持苹果 iOS 系统

showUI 脚本配置界面

函数:checkTable 检查 UItable

函数名称:检查 UItable
函数功能:用于检测 UItable 是否合法,是的话返回一个 json,否则报错并提示具体属性错误
函数方法
checkTable(UITable)
参数 类型 说明
UITable table 必填,需要检测的UItable
返回值 类型 说明
UIjson string 可以给showUI函数使用的json

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. MyTable = { --这是一个错误的 UItable,并且错的离谱
  3. ["style"] = "default",
  4. ["width"] = w,
  5. ["height"] = h,
  6. ["config"] = "save_01.dat",
  7. ["timer"] = 99,
  8. ["orient"] = 0,
  9. ["pagetype"] = "multi",
  10. ["title"] = "触动精灵脚本配置",
  11. ["cancelname"] = "取消",
  12. ["okname"] = "开始",
  13. pages =
  14. {
  15. {
  16. {
  17. ["type"] = "Label",
  18. ["text"] = "第一页设置",
  19. ["size"] = "25",
  20. ["align"] = "center",
  21. ["color"] = "0,0,0",
  22. },
  23. {
  24. ["type"] = "RadioGroup",
  25. ["list"] = "选项1,选项2,选项3,选项4,选项5,选项6,选项7",
  26. ["select"] = "1",
  27. },
  28. },{
  29. {
  30. ["type"] = "Label",
  31. ["text"] = "第二页设置",
  32. ["size"] = 25,
  33. ["align"] = "center",
  34. ["color"] = "0,0,0",
  35. },
  36. {
  37. ["type"] = "Edit",
  38. ["prompt"] = "请输入一个字母",
  39. ["text"] = "默认值",
  40. ["kbtype"] = "ascii",
  41. },
  42. {
  43. ["type"] = "Edit",
  44. ["prompt"] = "请输入一个数字",
  45. ["text"] = "默认值",
  46. ["kbtype"] = "number",
  47. },
  48. },{
  49. {
  50. ["type"] = "Label",
  51. ["text"] = 1,
  52. ["size"] = 25,
  53. ["align"] = "center",
  54. ["color"] = "0,0,0",
  55. },
  56. {
  57. ["type"] = "CheckBoxGroup",
  58. ["list"] = "选项1,选项2,选项3,选项4,选项5,选项6,选项7",
  59. ["select"] = "3@5",
  60. },
  61. {
  62. ["type"] = "ComboBox",
  63. ["list"] = "选项1,选项2,选项3",
  64. ["select"] = 1,
  65. ["data"] = "子选项1,子选项2,子选项3,子选项4#子选项5,子选项6,子选项7#子选项8,子选项9",
  66. ["source"] = "test"
  67. },
  68. {
  69. ["type"] = "ComboBox",
  70. ["select"] = "1",
  71. ["dataSource"] = "test"
  72. },
  73. }
  74. }
  75. }
  76. showUI(checkTable(MyTable))

注意事项

程序将会报错,并回报以下错误:
1. 第 1 页第 1 个控件 size 属性错误
2. 第 3 页第 1 个控件 text 属性错误
3. 第 3 页第 3 个控件 select 属性错误
有些控件并没有检测,这个函数只是检测会引起服务崩溃的控件,如果通过了检测却造成设备进入安全模式,请反馈给QQ 288562893。

函数:getMode 获取 UI 模式

函数名称:获取UI模式
函数功能:获取当前版本下触动的 UI 模式
支持版本:仅支持 iOS 系统
函数方法
getMode()
返回值 类型 说明
mode string 当mode为'New'时则表示2.26及以后版本的新UI,当mode为'Old'时则表示2.26以前版本的UI

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. mode=getMode()--该函数只支持苹果 iOS 系统

注意事项:

该函数只支持苹果 iOS 系统

函数:neosUI 显示 UI

函数名称:显示 UI
函数功能:显示一个 UI,并将返回值处理后创建对应全局变量
函数方法
neosUI(Table,Explist)
参数 类型 说明
Table table 必填,UI表
Explist number 必填,变量列表
返回值 类型 说明
用户确认情况 ret number 1 == 确认;0 == 取消

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. local MyTable = {
  3. ["style"] = "default",
  4. ["width"] = w,
  5. ["height"] = h,
  6. ["config"] = "save_01.dat",
  7. ["timer"] = 99,
  8. ["orient"] = 0,
  9. ["pagetype"] = "multi",
  10. ["title"] = "触动精灵脚本配置",
  11. ["cancelname"] = "取消",
  12. ["okname"] = "开始",
  13. pages =
  14. {
  15. {
  16. {
  17. ["type"] = "Label",
  18. ["text"] = "第一页设置",
  19. ["size"] = 25,
  20. ["align"] = "center",
  21. ["color"] = "0,0,0",
  22. },
  23. {
  24. ["type"] = "RadioGroup",
  25. ["list"] = "男,女,人妖",
  26. ["select"] = "1",
  27. },
  28. }
  29. }
  30. }--以table的书写UI,这在手册中的showUI中有详细说明
  31. local Explist={'sex'}--控件的返回值用变量去接受,在这个模式下,将会返回值而非序号
  32. ret=neosUI(MyTable,Explist)

注意事项:

1.Explist 需要按照控件顺序返回,并且返回的是具体的值。例:如果用户选择男,那么 sex 这个全局变量的值就是字符串'男'
2.Explist 中变量名的数量必须严格与控件返回数量对应,如果是多选框那么这个变量是一个 table 类型,并且这个 table 是一个数组;其余全为 string 类型

便捷UI

使用说明

  1. 本 UI 函数需要触动 iOS 引擎版本 v2.3.5, 安卓引擎版本 v2.0 以上支持
  2. 控件支持 table 格式传入,请看例子对比
  3. 宽度默认不写是一行,如果自己要写的话,一行的默认数值为:-1
  4. 便捷 UI 的使用分为三步,初始化UI:UINew(),添加自定UI控件,让UI显示:UIshow()。
  5. UI 的取值直接通过控件变量名来获取,返回值为选项名,多选项记得填写多个变量
  6. 如果需要创建多个页面,只需要在控件最前面加上页数,默认不写表示在第一页

函数:UINew 创建UI

函数名称:创建UI
函数功能:UI 创建初始化
函数方法
UINew(titles,okname,cancelname,config,orient,timer,width,height,bgcolor,btnbkcolor)
参数 类型 说明 默认值
标题 titles string 选填,多页多标题之间用英文半角逗号分割 "脚本配置"
确定文字 okname string 选填,UI底部右侧文字 "开始"
取消文字 cancelname string 选填,UI底部左侧文字 "取消"
配置文件 config string 选填,保存配置到该文件 "uiconfig.dat"
UI 方向 orient number 选填。0-向下;1-向右;2-向左 0
倒计时 timer number 选填,倒计时完成自动开始 120
控件宽度 width number 选填 屏幕宽
控件高度 height number 选填 屏幕高
背景颜色 bgcolor string 选填,使用 RGB 十进制数值,以英文半角逗号分割 "0,0,0"
按钮背景色 btnbkcolor string 选填,使用 RGB 十进制数值,以英文半角逗号分割 "0,0,0"
界面的背景图片 bg string 选填,相对路径为 res 目录,可填写绝对路径 -
分页指示样式 pagenumtype string 选填,dot - 小圆点;number - 数字;default - 不显示 "default"
多页模式默认停留的页面 selpage number 选填 1

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. w,h = getScreenSize()
  3. UINew("我的脚本","运行脚本","退出脚本","uiconfig.dat",0,120,w*0.9,h*0.9,"255,231,186","255,231,186") --方式一,宽高为屏幕的 90%
  4. UIShow()
  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. w,h = getScreenSize()
  3. UINew({titles="我的脚本",okname="运行脚本",cancelname="退出脚本"}) --方式二
  4. UIShow()

注意事项:

  1. 可选参数如果写部分的话,该参数前的所有参数都必须需要填写,否则会报错。其他控件也一样
  2. 标题 titles,如果每页标题显示不一样该项请用逗号隔开,如:"标题1,标题2,标题3"
  3. 函数有两种传入方式,普通和 table 方式,table 方式可选择性写入
  4. 函数方法内没有的参数,可以用 table 方式实现

函数:UIShow 显示UI

函数名称:显示UI
函数功能:UI设置完成显示
函数方法
UIShow()

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. UINew()
  3. UIShow() --显示 UIUI 设置完成记得加上该函数,不然不能创建显示

注意事项:

  1. UI 设置完成记得加上该函数,不然不能创建显示
  2. 选择退出默认自动退出脚本,如果需要自己处理,参数填 0,点取消返回值为 0,确定返回 1

函数:UILabel 文本标签

函数名称:文本标签
函数功能:一般来用显示说明文字或者标题,只用作显示。
函数方法
UILabel(text,size,align,color,width,nowrap)
参数 类型 说明 默认值
文字标题 text string 必填 -
字体大小 size number 选填 15
对齐方式 align string 选填,左对齐 left,右对齐 right,居中 center "left"
文字颜色 color string 选填,使用RGB十进制数值,以英文半角逗号分割 "0,0,255"
控件宽度 width number 选填,默认-1为一行,自定义宽度可写其他数值 -1
下控件换行 nowrap number 选填,当此属性为 1 时,将指定下一个控件不换行 0

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. UINew()
  3. UILabel("我的第一个脚本",15,"left","255,0,0",-1,0) --宽度写-1为一行,自定义宽度可写其他数值
  4. UIShow()
  5. --可选参数如果写部分的话,该参数前的所有参数都必须需要填写,否则会报错

注意事项:

  1. 本函数无返回值,只作文字显示
  2. 标签支持多行显示,在字符串中插入 \n 可以进行换行,例如:\"测试\n测试 1\n测试 2"

函数:UIRadio 单选框

函数名称:单选框
函数功能:单项选择返回
函数方法
UIRadio(id,list,sel,width,nowrap,images,scale)
参数 类型 说明 默认值
变量名 id string 必填 -
单选项 list string 必填,多个可选项目之间用英文半角逗号分割 -
选中项 sel string 选填,需填写选项编号,选项1 编号为 0,选项2 为 1,依次类推 "0"
控件宽度 width number 选填,默认-1为一行,自定义宽度可写其他数值 -1
下控件换行 nowrap number 选填,当此属性为 1 时,将指定下一个控件不换行 0
图片项 images string 选填,可以和list属性同时使用,多个图片资源用英文半角逗号分割 -
图片缩放 scale number 选填,范围0 - 1 1

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. UINew()
  3. UIRadio("rdo","选项1,选项2,选项3,选项4,选项5,选项6","1")--6 个单选选项,默认选择选项 2
  4. UIShow()

返回值

  1. if rdo == "选项1"then--返回值为字符型
  2. toast("选项1")
  3. elseif rdo == "选项2" then
  4. toast("选项2")
  5. elseif rdo == "选项3" then
  6. toast("选项3")
  7. elseif rdo == "选项4" then
  8. toast("选项4")
  9. elseif rdo == "选项5" then
  10. toast("选项5")
  11. else
  12. toast("选项6")
  13. end

注意事项:

  1. 可选参数如果写部分的话,该参数前的所有参数都必须需要填写,否则会报错
  2. 返回值为选项名,选中第一个的话,返回 rdo == "选项1",依此类推
  3. 选中项 sel 需填写选项编号,选项1 编号为 0,选项2 为 1,依次类推
  4. 由于单选为非此即彼的选择,返回值判断需要用到 if...then...elseif...then...else...then...end 判断语句

函数:UIEdit 编辑框

函数名称:编辑框
函数功能:编辑框内容返回
函数方法
UIEdit(id,prompt,text,size,align,color,kbtype,width,nowrap)
参数 类型 说明 默认值
变量名 id string 必填 -
提示内容 prompt string 必填 -
文本内容 text string 必填,编辑框默认内容 -
文本大小 size number 选填 15
文本对齐 align string 选填,左对齐 left,右对齐 right,居中 center "left"
文本颜色 color string 选填,使用RGB十进制数值,以英文半角逗号分割 "0,0,255"
键盘类型 kbtype string 选填,类型有number ascii default三种 "default"
控件宽度 width string 选填,默认-1为一行,自定义宽度可写其他数值 -1
下控件换行 nowrap string 选填,当此属性为 1 时,将指定下一个控件不换行 0

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. UINew()
  3. UIEdit("edt","测试","test",15,"left","255,0,0")--返回值为字符串,若文本框内容为:测试,则返回 edt == "测试"
  4. UIShow()

返回值

  1. if edt == "测试" then
  2. toast("您输入的文字是:测试")
  3. end

注意事项:

  1. 可选参数如果写部分的话,该参数前的所有参数都必须需要填写,否则会报错
  2. 返回值为字符串,若文本框内容为:测试,则返回 edt == "测试"

函数:UICheck 多选框

函数名称:多选框
函数功能:多项选择返回
函数方法
UICheck(id,list,sel,width,nowrap,images,scale)
参数 类型 说明 默认值
变量名id string 必填,多个可选项目之间用英文半角逗号分割 -
单选项list string 必填,确定与变量名的项目数相同 -
选中项sel string 选填,需填写选项编号,选项1 编号为 0,选项2 为 1,依次类推;填写多个时以 @ 分割 "0"
控件宽度width number 选填,默认-1为一行,自定义宽度可写其他数值 -1
下控件换行nowrap number 选填,当此属性为 1 时,将指定下一个控件不换行 0
图片项images string 选填,可以和list属性同时使用,多个图片资源用英文半角逗号分割 ""
图片缩放scale number 选填,范围0 - 1 1

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. UINew()
  3. UICheck("check1,check2,check3,check4,check5,check6","选项1,选项2,选项3,选项4,选项5,选项6","0@1")--默认选项:选项1 和选项2
  4. UIShow()

返回值

  1. if check1 == "选项1" then
  2. toast("您选择了1")
  3. end
  4. if check2 == "选项2" then
  5. toast("您选择了2")
  6. end
  7. if check3 == "选项3" then
  8. toast("您选择了3")
  9. end

注意事项:

  1. 返回值为字符串,选中第一个和第二个的话,则:check1 == "选项1",check2 == "选项2",依此类推。
  2. 有多少个选项需要创建多少个变量来赋值,没有选中的变量为nil。
  3. 由于多选框为允许并存的选择,判断返回值需要用到多个 if...then..end 判断语句

函数:UICombo 下拉框

函数名称:下拉框
函数功能:单项选择返回
函数方法
UIComboRlt(id,list,sel,width,nowrap)
参数 类型 说明 默认值
变量名 id string 必填 -
选择项 list string 必填,多个可选项目之间用英文半角逗号分割 -
选中项 sel string 选填,需填写选项编号,选项1 编号为 0,选项2 为 1,依次类推 "0"
控件宽度 width number 选填,默认-1为一行,自定义宽度可写其他数值 -1
下控件换行 nowrap number 选填,当此属性为 1 时,将指定下一个控件不换行 0

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. UINew()
  3. UICombo("name","下拉框1,下拉框2,下拉框3")--默认选择:下拉框1
  4. UIShow()

返回值

  1. if name == "下拉框1" then--返回值为字符型
  2. toast("下拉框1")
  3. elseif name == "下拉框2" then
  4. toast("下拉框2")
  5. else
  6. toast("下拉框3")
  7. end

注意事项:

  1. 返回值为字符串,选中第一个的话,返回 name == "下拉框1"
  2. 由于下拉框为非此即彼的选择,返回值判断需要用到 if...then...elseif...then...else...then...end 判断语句

函数:UIComboRlt 联动下拉框

函数名称:联动框
函数功能:单项选择返回,该函数与联动关联框配合使用回
函数方法
UIComboRlt(id,list,data,source,sel,width,nowrap)
参数 类型 说明 默认值
变量名 id string 必填 -
选择项 list string 必填,多个可选项目之间用英文半角逗号分割 -
关联项 data string 必填,联动关联框选项,选择项有几项,需要用#号分割成几项 -
标志名 source string 必填,与UIComboRlts 的dataSource通过一致的字符串保证匹配
选中项 sel string 选填,需填写选项编号,选项1 编号为 0,选项2 为 1,依次类推 "0"
控件宽度 width number 选填,默认-1为一行,自定义宽度可写其他数值 -1
下控件换行 nowrap number 选填,当此属性为 1 时,将指定下一个控件不换行 0

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. UINew()
  3. UIComboRlt("name1,name2","选项1,选项2,选项3","子选项1,子选项2,子选项3,子选项4#子选项5,子选项6,子选项7#子选项8,子选项9","test")--可选参数如果写部分的话,该参数前的所有参数都必须需要填写,否则会报错
  4. UIShow()

注意事项:

  1. 联动框第一个变量名请填写两个变量名,第二个变量名与关联框的变量名一致。否则会出现取值不对的问题
  2. 返回值为字符串,联动框选择第二个,关联框选择第一个,则返回 name1 == "选项2",name2 == "子选项5"。

函数:UIComboRlts 联动关联框

函数名称:关联框
函数功能:可作为UIComboRlt的子对象,通过标志项dataSource与UIComboRlt
函数方法
UIComboRlts(id,dataSource,sel,width,nowrap)
参数 类型 说明 默认值
变量名id string 必填 -
标志项dataSource string 必填,与UIComboRlts的source通过一致的字符串保证匹配 -
选中项sel string 选填 "0"
控件宽度width number 选填,默认-1为一行,自定义宽度可写其他数值 -1
下控件换行nowrap number 选填,当此属性为 1 时,将指定下一个控件不换行 0

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. UINew()
  3. UIComboRlts("name2","test")--请保证变量名与标志项与联动框一致,返回值已通过联动框获取
  4. UIShow()

注意事项:

  1. 请保证变量名与标志项与联动框一致
  2. 返回值已通过联动框获取

函数:UIImage 图片框

函数名称:图片框
函数功能:图片显示
函数方法
UIImage(way,align,scale,width,nowrap)
返回值:无
参数 类型 说明 默认值
图片路径way string 必填,可以是本地路径或者网络路径 -
对齐方式align string 选填,左对齐 left,右对齐 right,居中 center "center"
图片缩放scale number 选填,范围0 - 1 1
控件宽度width number 选填,默认-1为一行,自定义宽度可写其他数值 -1
下控件换行nowrap number 选填,当此属性为 1 时,将指定下一个控件不换行 0

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. UINew()
  3. UIImage("http://www.baidu.com/img/bdlogo.png") --创建一个图片框,默认居中对齐,图片不缩放,宽度默认一行,下一控件不换行
  4. --可选参数如果写部分的话,该参数前的所有参数都必须需要填写,否则会报错
  5. UIShow()

注意事项:

  1. 无返回值,只做图片显示
  2. 触动精灵 iOS 默认图片资源路径为 /var/mobile/Media/TouchSprite/res,触动精灵安卓默认路径为 sdcard/TouchSprite/res
  3. 帮你玩 iOS 默认图片资源路径为 /var/mobile/Media/Play4UStore/用户名/res,帮你玩安卓默认路径为 sdcard/Play4UStore/用户名/res
  4. 小精灵 iOS 默认图片资源路径为 /var/mobile/Media/程序唯一标识/res,触动精灵安卓默认路径为 sdcard/程序唯一标识/res

UI 完整实例

使用了 table 格式和一般格式两种,可根据自己需要使用哪一种或者两种同时使用,多页 UI 只需在前面写数字页数,不写默认布局到第一页。

  1. require "TSLib"--使用函数库一定要在最前面调用并将函数库文件发送到手机 lua 目录
  2. w,h = getScreenSize()
  3. UINew(2,"第一页,第二页","开始","取消","uiconfig.dat",0,120,w*0.8,h*0.8,"221,240,237","88,210,232")
  4. UIImage(2,"http://www.baidu.com/img/bdlogo.png")
  5. UILabel({text="单选框设置:"})
  6. UIRadio({id="radio",list="单选1,单选2,单选3,单选4,单选5,单选6"})
  7. UILabel(2,"下拉框设置:")
  8. UICombo({num=2,id="combo",list="下拉框1,下拉框2,下拉框3,下拉框4,下拉框5,下拉框6"})
  9. UILabel("多选框设置:")
  10. UICheck("check1,check2,check3,check4,check5,check6","多选1,多选2,多选3,多选4,多选5,多选6")
  11. UILabel("联动框设置:")
  12. UIComboRlt("comborle,comborles","选项1,选项2,选项3","子选项1,子选项2,子选项3,子选项4#子选项5,子选项6,子选项7#子选项8,子选项9","test")
  13. UILabel("关联框设置:")
  14. UIComboRlts("comborles","test")
  15. UIShow()
  16. dialog("单选框选择:"..radio.."\n".."下拉框选择:"..combo.."\n".."联动框选择:"..comborle.."\n".."关联框选择:"..comborles, 0)
  17. dialog("多选框结果:".."\ncheck1="..tostring(check1).."\ncheck2="..tostring(check2).."\ncheck3="..tostring(check3).."\ncheck4="..tostring(check4).."\ncheck5="..tostring(check5).."\ncheck6="..tostring(check6), 0)

UI效果图:

IMG_0253.png-319.1kB

IMG_0254.png-824.2kB

ocr 云打码扩展库

注意事项:

  • 支持触动精灵 iOS 和安卓版,需扩展库 v1.1.5 以上版本,区别于官方打码
  • 触动小精灵使用此打码库需要勾选 网络插件 类型
  • 如果函数返回 false 都为网络错误超时
  • 扩展库支持如下打码平台:
  • 出现多次打码或者平台有结果脚本返回空的情况,请延长超时时间参数
  • 不支持帮你玩

函数:ocrInfo 初始化打码平台

函数名称:建立远程打码
函数功能:建立远程打码初始化
函数方法
ocrInfo(platform,username,password)
返回值:无
参数 类型 说明
平台platform string 必填,目前支持平台dama2haoi23qqchaorenruokuai
用户名username string 必填,好爱平台用户名随便写
密码password string 必填,好爱平台密码需填写钥匙串信息

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. ocrInfo("dama2","username","password")

函数:ocrBalance 查询用户余额

函数名称:查询用户余额
函数功能:获取余额,查询用户余额
函数方法
bool,bal=ocrBalance()
参数:无
返回值 类型 说明
bool boolean 正确返回true,错误返回nil
bal string 正确返回余额,错误返回错误信息

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. ocrInfo("dama2","username","password")--先初始化
  3. bool,bal=ocrBalance()
  4. if bool then
  5. dialog(bal,0)
  6. else
  7. dialog(bal,0)
  8. end

函数:ocrScreen 区域打码识别

函数名称:区域打码识别
函数功能:区域范围打码识别
函数方法
text,tid = ocrScreen(x1,y1,x2,y2,type,timeout,scale)
参数 类型 说明
坐标x1,y1 number 区域左上角坐标
坐标x2,y2 number 区域右上角坐标
打码类型type number 对应打码官网查询,QQ超人填写任意数字
超时处理timeout number 默认超时60秒
缩放比例scale number 范围0-1,默认1
返回值 类型 说明
text string.boolean 正确返回打码结果,错误返回nil
tid string 正常返回id,错误返回错误信息

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. ocrInfo("dama2","username","password")--先初始化
  3. text,tid = ocrScreen(100,100,200,200,103,30,1)

注意事项:

id可用于打码提交错误识别

函数:ocrImage 图片打码识别

函数名称:图片打码识别
函数功能:图片文件打码识别
函数方法
text,tid = ocrImage(path,type,timeout,scale)
参数 类型 说明
图片路径 path string 需要打码图片的路径,默认触动 res 目录,支持绝对路径
打码类型 type number 对应打码官网查询,QQ 超人填写任意数字
超时处理 timeout number 默认超时 60 秒
缩放比例 scale number 范围0-1,默认1
返回值 类型 说明
text string.boolean 正确返回打码结果,错误返回nil
tid string 正常返回id,错误返回错误信息

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. ocrInfo("dama2","username","password")--先初始化
  3. text,tid = ocrImage("img.png",103,30,1)

函数:ocrReportError 提交错误识别

函数名称:提交错误识别
函数功能:提交错误的识别
函数方法
bool,text=ocrReportError(id)
参数 类型 说明
打码返回id string 打码成功会返回,默认传入最后一次打码id,该参数一般不写
返回值 类型 说明
bool boolean 正确返回true,错误返回nil
tid string 返回的信息状态,一般不需获取

脚本示例:

  1. require "TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备 lua 目录下
  2. ocrInfo("dama2","username","password")--先初始化
  3. bool = ocrReportError()
  4. if bool then
  5. dialog("提交成功",0)
  6. end

注意事项:

id 可用于打码提交错误识别

企业版相关

函数:setDeviceAlias 设置设备别名(仅限企业版)

函数名称:设置设备别名
函数功能:设置企业版设备别名
函数方法
bool = setDeviceAlias(ent_name)
参数 类型 说明
ent_name string 设备别名
返回值 类型 说明
bool boolean 成功返回true,失败返回false

附录

已知与触动精灵/帮你玩/小精灵/企业版 iOS 冲突的插件列表

如果您安装了以下插件导致触动精灵服务使用异常,请在Cydia 中卸载该插件后重新安装客户端。

Stashing(内存修正插件)

会导致帮你玩无法注册和登录账号,提示文件获取失败

StatusHUD2 插件

会导致脚本showUI无法弹。

FakeGPS/易天行(伪装地理位置插件)

会导致点击失效或服务无法启动

CCSettings(修改美化控制中心插件)

会导致脚本showUI无法弹出

协奏助手

会导致点击失效

按键精灵iOS

会导致UI弹出后点击【取消】【确定】无反应

xxplugin - coc/cok(xxplugin 系列插件)

会导致点击失效或服务无法启动

XY苹果助手

会导致点击失效或服务无法启动

Lua math 库

函数名 描述 示例 结果
pi 圆周率 math.pi 3.1415926535898
abs 取绝对值 math.abs(-2012) 2012
ceil 向上取整 math.ceil(9.1) 10
floor 向下取整 math.floor(9.9) 9
max 取参数最大值 math.max(2,4,6,8) 8
min 取参数最小值 math.max(2,4,6,8) 2
pow 计算x的y次幂 math.pow(2,16) 65536
sqrt 开平方 math.sqrt(65536) 256
modf 取整数和小数部分 math.modf(20.12) 20 0.12
randomseed 设随机数种子 math.randomseed(os.time())
random 取随机数 math.random(5,90) 5 ~ 90
rad 角度转弧度 math.rad(180) 3.1415926535898
deg 弧度转角度 math.deg(math.pi) 180
exp e的x次方 math.exp(4) 54.598150033144
log 计算x的自然对数 math.log(54.598150033144) 4
log10 计算10为底,x的对数 math.log10(1000) 3
frexp 将参数拆成 x * (2 ^ y) 的形式 math.frexp(160) 0.625 8
ldexp 计算x * (2 ^ y) math.ldexp(0.625,8) 160
sin 正弦 math.sin(math.rad(30)) 0.5
cos 余弦 math.cos(math.rad(60)) 0.5
tan 正切 math.tan(math.rad(45)) 1
asin 反正弦 math.deg(math.asin(0.5)) 30
acos 反余弦 math.deg(math.acos(0.5)) 60
atan 反正切 math.deg(math.atan(1)) 45

设备 SSH 连接工具

  1. WinSCP:http://pan.baidu.com/s/1o6jtP7G
  2. 简体中文语言包:http://pan.baidu.com/s/15xaEy
  3. Putty:http://pan.baidu.com/s/1mgslwX6

相关工具运行库

  1. VCredist 2010:http://pan.baidu.com/s/1sjjTFQH
  2. NET Framework 4:http://www.microsoft.com/zh-cn/download/details.aspx?id=17718

OCR(光学字符识别)相关

  1. 触动精灵本地OCR简体中文识别库:http://pan.baidu.com/s/1qW2mDWC
  2. 触动精灵本地OCR英文数字识别库:http://pan.baidu.com/s/1eQ3nbZs

LuaSQLite

http://lua.sqlite.org/index.cgi/doc/tip/doc/lsqlite3.wiki

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注