[关闭]
@miniknife 2017-10-17T08:02:56.000000Z 字数 27252 阅读 15235

ts.so 触动精灵高级扩展库使用手册

开发手册


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

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

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


目录

使用方法

请在脚本开头插入 local ts = require("ts") 即可调用扩展库中所有函数。
iOS版 ts.so需要放到如下路径:/var/mobile/Media/TouchSprite/plugin
安卓版和模拟器版 ts.so 需要放到如下路径:data/data/com.touchsprite.android/files/plugin

注意事项

  • 模拟器版部分功能不支持,请自行尝试
  • 安卓和ios部分函数调用方法不同,请仔细参考
  • 下载新的扩展库后需要重启触动服务才能生效

函数扩展库下载

iOS版_v1.2.3 (更新于2017-10-13):ts.so928.1kB
Android版_v1.1.0 (更新于2017-5-27):ts.so2845.4kB
模拟器版_v1.1.0 (更新于2017-8-25): ts.so4505.6kB

函数: ts.version 获取扩展库版本号

函数名称:获取扩展库版本号
函数功能:获取ts.so扩展库版本号

脚本实例:

  1. local ts = require("ts")
  2. dialog(ts.version(), time)

网络相关模块

FTP

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。

函数: ts.ftp.connect 连接FTP服务器

函数名称:连接FTP服务器
函数功能:连接FTP服务器,使用FTP功能前必须先连接
函数方法:
status = ts.ftp.connect(ftppath,username,password)
参数 类型 说明
ftppath string 服务器地址,示例:"192.168.0.1"
username string 用户名,服务器登录用户名
password string 密码,服务器登录密码
返回值 类型 说明
status boolean 成功返回true失败,返回false

函数: ts.ftp.close 断开FTP连接

函数名称:断开FTP连接
函数功能:断开FTP连接,FTP功能使用结束后必须调用
函数方法:
ts.ftp.close()

函数: ts.ftp.setFTPTimeOut 设置FTP超时时间

函数名称:设置FTP超时时间
函数功能:设置FTP超时时间,超时后执行下一步防止阻塞
函数方法:
ts.ftp.setFTPTimeOut(sec)
参数 类型 说明
sec number 超时时间,单位为秒

函数: ts.ftp.mkdir 创建文件夹

函数名称:创建文件夹
函数功能:在服务器指定目录下创建文件夹
函数方法:
status = ts.ftp.mkdir(filePath)
参数 类型 说明
filePath string 文件夹路径及文件夹名
返回值 类型 说明
status boolean 成功返回true失败,返回false

脚本示例

  1. --脚本仅供参考不可直接使用
  2. local ts = require("ts")--使用官方库前一定要在开头插入这一句
  3. status = ts.ftp.connect("111.111.11.111","username","password")
  4. --FTP操作第一步,连接FTP服务器,连接成功后才可进行FTP相关操作
  5. if status then
  6. dialog("连接成功", 0)
  7. else
  8. dialog("连接失败", 0)
  9. end
  10. mkStatus = ts.ftp.mkdir("firstFile/childFile") --在FTP上的firstFile文件夹内创建一个childFile文件夹,如果没有firstFile文件夹则先创建firstFile文件夹
  11. ts.ftp.close() --操作完成后,断开FTP服务器连接

函数: ts.ftp.rmdir 删除文件夹

函数名称:删除文件夹
函数功能:在服务器指定目录下删除文件夹
函数方法:
ts.ftp.rmdir(filepath)
参数 类型 说明
filepath string 删除指定目录下的文件夹
返回值 类型 说明
status boolean 成功返回true失败,返回false

脚本示例

  1. --脚本仅供参考不可直接使用
  2. local ts = require("ts")--使用官方库前一定要在开头插入这一句
  3. status = ts.ftp.connect("111.111.11.111","username","password")
  4. --FTP操作第一步,连接FTP服务器,连接成功后才可进行FTP相关操作
  5. if status then
  6. dialog("连接成功", 0)
  7. else
  8. dialog("连接失败", 0)
  9. end
  10. ts.ftp.rmdir("firstfile/ChildFile")--删除目录下的文件夹
  11. ts.ftp.close() --操作完成后,断开FTP服务器连接

函数: ts.ftp.list 获取文件列表文件

函数名称:获取文件列表文件
函数功能:获取服务器指定目录下的文件列表
函数方法:
ts.ftp.list(filepath)
参数 类型 说明
filepath table 文件目录下的所有文件列表

脚本示例

  1. --脚本仅供参考不可直接使用
  2. local ts = require("ts")--使用官方库前一定要在开头插入这一句
  3. status = ts.ftp.connect("111.111.11.111","username","password")
  4. --FTP操作第一步,连接FTP服务器,连接成功后才可进行FTP相关操作
  5. if status then
  6. dialog("连接成功", 0)
  7. else
  8. dialog("连接失败", 0)
  9. end
  10. mkStatus = ts.ftp.mkdir("/hehe123/test") --创建文件夹
  11. allFile = ts.ftp.list("/hehe123/test") --列出文件夹里所有文件
  12. if allFile then
  13. allFilestr=""
  14. for i,v in pairs(allFile) do
  15. allFilestr=v.."\n"..allFilestr;
  16. end
  17. dialog(allFilestr, time)--打印文件夹内所有文件列表
  18. else
  19. dialog("error",0)
  20. end
  21. ts.ftp.close() --操作完成后,断开FTP服务器连接

函数: ts.ftp.rename 重命名文件

函数名称:重命名文件
函数功能:重命名服务器上指定目录的文件
函数方法:
ts.ftp.rename(oldfilepath,newfilepath)
参数 类型 说明
oldfilepath string 待重命名文件名
filePath string 新文件名
返回值 类型 说明
status boolean 成功返回true失败,返回false

脚本示例

  1. --脚本仅供参考不可直接使用
  2. local ts = require("ts")--使用官方库前一定要在开头插入这一句
  3. status = ts.ftp.connect("111.111.11.151","username","password")
  4. if status then
  5. dialog("连接成功", 0)
  6. else
  7. dialog("连接失败", 0)
  8. end
  9. ts.ftp.rename("/haha/test1","/haha/test2")
  10. ts.ftp.close() --操作完成后,断开FTP服务器连接

注意事项:

  1. 新、旧文件路径层级数必须相同
  2. 新、旧文件夹路径必须是同一目录

函数: ts.ftp.delete 删除文件

函数名称:删除文件
函数功能:删除指定文件
函数方法:
ts.ftp.delete(fileName)
参数 类型 说明
fileName string 文件路径下的文件,具体文件需要加上扩展名
返回值 类型 说明
status boolean 成功返回true失败,返回false

脚本示例

  1. --脚本仅供参考不可直接使用
  2. local ts = require("ts")--使用官方库前一定要在开头插入这一句
  3. status = ts.ftp.connect("111.111.11.151","username","password")
  4. if status then
  5. dialog("连接成功", 0)
  6. else
  7. dialog("连接失败", 0)
  8. end
  9. xstatus = ts.ftp.delete("C38K7L77DTWF.txt") --删除某个文件
  10. ts.ftp.close() --操作完成后,断开FTP服务器连接

函数: ts.ftp.upload 上传文件

函数名称:上传文件
函数功能:上传本地文件到服务器
函数方法:
ts.ftp.upload(localfilepath,severfilepath,type)
参数 类型 说明
localfilepath string 本地文件路径
severfilepath string FTP文件路径
type number 选填,默认值~0表示文本类型,0表示非文本类型
返回值 类型 说明
status boolean 成功返回true失败,返回false

脚本示例

  1. --脚本仅供参考不可直接使用
  2. local ts = require("ts")--使用官方库前一定要在开头插入这一句
  3. status = ts.ftp.connect("111.111.11.151","username","password")
  4. if status then
  5. dialog("连接成功", 0)
  6. else
  7. dialog("连接失败", 0)
  8. end
  9. path = userPath()
  10. upStatus = ts.ftp.upload(path.."/lua/main.txt","/haha/main.txt")
  11. --上传本地lua文件夹下的main.lua文件到服务器的haha文件夹里
  12. if dwStatus then
  13. toast("下载完成", 1)
  14. else
  15. toast("下载失败", 1)
  16. end
  17. ts.ftp.close() --操作完成后,断开FTP服务器连接

函数: ts.ftp.download 下载文件

函数名称:下载文件
函数功能:下载服务器文件到本地
函数方法:
ts.ftp.download(localfilepath,severfilepath,type)
参数 类型 说明
localfilepath string 本地文件路径
severfilepath string FTP文件路径
type number 选填,默认值~0表示文本类型,0表示非文本类型
返回值 类型 说明
status boolean 成功返回true失败,返回false

脚本示例

  1. --脚本仅供参考不可直接使用
  2. local ts = require("ts")--使用官方库前一定要在开头插入这一句
  3. status = ts.ftp.connect("111.111.11.151","username","password")
  4. if status then
  5. dialog("连接成功", 0)
  6. else
  7. dialog("连接失败", 0)
  8. end
  9. path = userPath()
  10. dwStatus = ts.ftp.download(path.."/res/me.png","/love.png",0)
  11. --下载服务器上的love.png文件到本地res文件夹
  12. if dwStatus then
  13. toast("下载完成", 1)
  14. else
  15. toast("下载失败", 1)
  16. end
  17. ts.ftp.close() --操作完成后,断开FTP服务器连接

完整示例

  1. local ts = require("ts")--使用官方库前一定要在开头插入这一句
  2. status = ts.ftp.connect("111.111.11.151","username","password")
  3. --FTP操作第一步,连接FTP服务器,连接成功后才可进行FTP相关操作
  4. if status then
  5. dialog("连接成功", 0)
  6. else
  7. dialog("连接失败", 0)
  8. end
  9. mkStatus = ts.ftp.mkdir("tsnewfolder") --创建文件夹
  10. rmStatus=ts.ftp.rmdir("/haha") --删除文件夹
  11. allFile = ts.ftp.list("/tsnewfolder") --列出文件夹里所有文件
  12. if allFile then
  13. allFilestr=""
  14. for i,v in pairs(allFile) do
  15. --dialog(string.format("%s = %s",i,v),1)
  16. --mSleep(3000)
  17. allFilestr=v.."\n"..allFilestr;
  18. end
  19. dialog(allFilestr, time)
  20. else
  21. dialog("error",0)
  22. end
  23. renameStatus = ts.ftp.rename("/haha","/hehe123") --重命名文件夹或文件,第一个参数为旧名,第二个参数为新名
  24. xstatus = ts.ftp.delete("C38K7L77DTWF.txt") --删除某个文件
  25. path = userPath()
  26. upStatus = ts.ftp.upload(path.."/lua/main.txt","/haha/main.txt")
  27. --上传本地lua文件夹下的main.lua文件到服务器的haha文件夹里
  28. dwStatus = ts.ftp.download(path.."/res/me.png","/love.png",0)
  29. --下载服务器上的love.png文件到本地res文件夹
  30. ts.ftp.close() --操作完成后,断开FTP服务器连接

注意事项:

  1. 使用本模块时填写的文件路径中,文件名不能使用中文字符
  2. 文件路径必须填写完整路径

HTTP 模块

函数: ts.httpGet 发送httpGET请求

函数名称:发送httpGET请求
函数功能:发送 http GET类型 请求
函数方法:
status_resp, body_resp = ts.httpGet("http://82flex.com", header_send, body_send)
参数 类型 说明
url string 请求URL (必须填写)
header_send table 请求头部内容
body_send table 请求内容
返回值 类型 说明
status_resp number HTTP 状态码
body_resp string 返回内容

脚本实例:

  1. local ts = require("ts")
  2. header_send = {typeget = "ios"}
  3. ts.setHttpsTimeOut(60) --安卓不支持设置超时时间
  4. status_resp, header_resp,body_resp = ts.httpGet("http://82flex.com&love=1", header_send)
  5. dialog(status_resp,0)
  6. dialog(header_resp,0)
  7. dialog(body_resp,0)

函数: ts.httpPost 发送httpPOST请求

函数名称:ts.httpPost
函数功能:发送 http POST类型 请求
函数方法:
status_resp, body_resp = ts.httpPost("http://dev.touchsprite.com/site/login", header_send, body_send)
参数 类型 说明
url string 请求URL (必须填写)
header_send table 请求头部内容
body_send table 请求内容
返回值 类型 说明
status_resp number HTTP 状态码
body_resp string 返回内容

脚本实例:

  1. local ts = require("ts")
  2. header_send = {typeget = "ios"}
  3. body_send = {msg = "hello"}
  4. ts.setHttpsTimeOut(60) --安卓不支持设置超时时间
  5. status_resp,header_resp,body_resp = ts.httpPost("http://dev.touchsprite.com/site/login", header_send, body_send)
  6. dialog(status_resp,0)
  7. dialog(header_resp,0)
  8. dialog(body_resp,0)

HTTPS

函数: ts.setHttpsTimeOut 设置请求超时时间(仅支持iOS)

函数名称:设置请求超时时间
函数功能:发送 https GET类型 请求、发送 https POST类型 请求、设置请求超时时间
函数方法:
ts.setHttpsTimeOut(sec)
参数 类型 说明
sec number 超时时间,单位为秒

函数: ts.httpsGet 发送httpsGET请求

函数名称:发送httpsGET请求
函数功能:发送 https GET类型 请求
函数方法:
:
code, header_resp, body_resp = ts.httpsGet("https://www.baidu.com", header_send, body_send)

参数 类型 说明
url string 请求URL (必须填写)
header_send table 请求头部
body_send table 请求内容
返回值 类型 说明
code number 返回状态码
header_resp string 头部返回内容
body_resp string 返回内容

函数: ts.httpsPost 发送httpsPOST请求

函数名称:发送httpsPOST请求
函数功能:发送 https POST类型 请求
函数方法:
:
code ,header_resp, body_resp = ts.httpsPost("https://www.baidu.com", header_send, body_send)

参数 类型 说明
url string 请求URL (必须填写)
header_send table 请求头部
body_send table 请求内容
返回值 类型 说明
code number 返回状态码
header_resp string 头部返回内容
body_resp string 返回内容

脚本实例:

  1. local ts = require("ts")
  2. header_send = {typeget = "ios"}
  3. body_send = {msg = "hello"}
  4. ts.setHttpsTimeOut(60) --安卓不支持设置超时时间
  5. code,header_resp, body_resp = ts.httpsGet("https://www.baidu.com", header_send,body_send)
  6. dialog(code,0)
  7. dialog(header_resp,0)
  8. dialog(body_resp,0)
  1. local ts = require("ts")
  2. header_send = {typeget = "ios"}
  3. body_send = {msg = "hello"}
  4. ts.setHttpsTimeOut(60) --安卓不支持设置超时时间
  5. code,status_resp, body_resp = ts.httpsPost("https://www.baidu.com", header_send, body_send)
  6. dialog(code,0)
  7. dialog(header_resp,0)
  8. dialog(body_resp,0)

Socket

函数功能:发送tcp/udp请求

脚本实例:

  1. local ts = require("ts")
  2. local socket = require("socket")
  3. local host = "www.baidu.com"
  4. local file = "/"
  5. local sock = assert(socket.connect(host, 80)) -- 创建一个 TCP 连接,连接到 HTTP 连接的标准 80 端口上
  6. sock:send("GET " .. file .. " HTTP/1.0\r\n\r\n")
  7. repeat
  8. local chunk, status, partial = sock:receive(1024) -- 1K 的字节块来接收数据,并把接收到字节块输出来
  9. dialog(chunk or partial, 0)
  10. until status ~= "closed"
  11. sock:close() -- 关闭 TCP 连接
  1. local ts = require("ts")
  2. local socket = require("socket")
  3. local host = host or "127.0.0.1"
  4. local port = port or 8080
  5. print("Binding to host '" ..host.. "' and port " ..port.. "...")
  6. --创建udp对象
  7. udp = assert(socket.udp())
  8. --绑定到指定的端口
  9. assert(udp:setsockname(host, port))
  10. --设置超时时间
  11. assert(udp:settimeout(5))
  12. --获取绑定IP和端口
  13. ip, port = udp:getsockname()
  14. assert(ip, port)
  15. print("Waiting packets on " .. ip .. ":" .. port .. "...")
  16. local recvmaxbyte =20
  17. --单线程无限循环
  18. while 1 do
  19. --接收udp packet
  20. dgram, ip, port = udp:receivefrom(recvmaxbyte)
  21. if(dgram=="终止")then
  22. nlog("终止")
  23. break
  24. end
  25. if dgram then
  26. nlog("Echoing '" .. dgram .. "' to " .. ip .. ":" .. port)
  27. --发送数据
  28. udp:sendto(dgram, ip, port)
  29. else
  30. nlog(ip)
  31. end
  32. end
  33. udp=nil
  34. collectgarbage("collect")

函数: ts.ping 测试网络连接情况

函数名称:ts.ping
函数功能:测试设备网络连接情况
函数方法:
ts.ping(域名或ip地址,ping的次数)
返回值 类型 说明
status table 网络连接情况

脚本实例:

  1. local ts = require("ts")
  2. status = ts.ping("www.baidu.com",3) --也可以是ip地址
  3. if status then
  4. for i,v in pairs(status) do
  5. dialog(string.format("%s = %s",i,v))
  6. mSleep(3000)
  7. end
  8. else
  9. dialog(status, 0)
  10. end

注意事项

  • 1.2.1以上版本新增了超时时间,时间为3秒

字符串处理模块

函数: ts.json.encode json串编码

函数名称:ts.json.encode
函数功能:json串编码

函数: ts.json.decode json串解码

函数名称:ts.json.decode
函数功能:json串解码
脚本实例:

  1. local ts = require("ts")--使用扩展库前必须插入这一句
  2. local json = ts.json--使用JSON 模块前必须插入这一句
  3. local tb = {
  4. ["我"] = "五毛",
  5. ["爱"] = "六块",
  6. meme = {
  7. isArray = true,
  8. 1,0,0,4,6,9,5,1,0,0,
  9. },
  10. nullvalue = null,
  11. }
  12. local jsonstring = json.encode(tb);--把table转换成json字符串
  13. dialog(jsonstring, 0);
  14. local tmp = json.decode(jsonstring);--把json字符串转换为table对象
  15. dialog(tmp.meme[5], 0);
  16. dialog(tostring(tmp.nullvalue), 0);

函数: tohex 转码

函数名称:tohex、fromhex
函数功能:转码,字符串十六进制编码转换

脚本实例:

  1. local ts = require("ts")
  2. local str = "触动精灵的征程"
  3. dialog('"'..str..'" 的 16 进制编码为: <'..str:tohex()..'>', 0) --“触动精灵”的 16 进制编码
  4. dialog('<'..str:tohex()..'> 转换成明文为: "'..str:tohex():fromhex()..'"', 0)--将上一行的 16 进制编码转换为明文字符

函数: md5 计算MD5

函数名称:md5
函数功能:字符串 MD5 计算
脚本实例:

  1. local ts = require("ts")
  2. local str = "触动精灵"
  3. local binstr = "\0\1\2\3\4\5"
  4. dialog('"'..str..'" 的 MD5 值是: '..str:md5(), 0)--计算"触动精灵" MD5
  5. dialog('<'..binstr:tohex()..'> 的 MD5 值是: '..binstr:md5(), 0)--计算“000102030405”的 MD5

函数: sha1 计算SHA1

函数名称:sha1
函数功能:字符串 SHA1 计算

脚本实例:

  1. local ts = require("ts")
  2. local str = "触动精灵的征程"
  3. local binstr = "\0\1\2\3\4\5"
  4. dialog('"'..str..'" 的 SHA1 值是: '..str:sha1(), 0)--计算"触动精灵" SHA1
  5. dialog('<'..binstr:tohex()..'> 的 SHA1 值是: '..binstr:sha1(), 0)计算“000102030405”的 SHA1

函数名称:aes128_encrypt、aes128_decrypt、base64_encode、base64_decode
函数功能:字符串 AES128、BASE64 编解码

脚本实例:

  1. local ts = require("ts")
  2. local msg = "\5\4\3\2\1\0"
  3. local key = "触动精灵"
  4. local emsg = msg:aes128_encrypt(key)
  5. local emsgb64 = emsg:base64_encode()
  6. dialog('二进制数据<'..msg:tohex()..'> \n 使用 AES128 算法 密钥 "'..key..'" 加密 值是: <'..emsg:tohex()..'> \n base64 串为 "'..emsgb64..'"', 0)
  7. local tmp = emsgb64:base64_decode()
  8. msg = tmp:aes128_decrypt(key)
  9. dialog('"'..emsgb64..'" base64 解码后的数据为 <'..tmp:tohex()..'> \n使用 AES128 算法 密钥 "'..key..'" 解密 值是: <'..msg:tohex()..'>', 0)

函数: 字符串分割过滤

函数名称:split、rtrim、ltrim、trim、atrim
函数功能:字符串分割、过滤
脚本实例:
字符串分割及空白字符过滤

  1. local ts = require("ts")
  2. str = " 哈哈,he he,1,3,6 "
  3. new = str:split(",") --将字符串str按照 `,` 分割并返回一个TABLE
  4. dialog(new[2], 0)
  5. dialog(str:rtrim(), 0) -- 结果 " 哈哈,he he,1,3,6" ,删除字符串尾部的空白字符
  6. dialog(str:ltrim(), 0) -- 结果 "哈哈,he he,1,3,6 " ,删除字符串首部的空白字符
  7. dialog(str:trim(), 0) -- 结果 "哈哈,he he,1,3,6" ,删除字符串首尾的空白字符
  8. dialog(str:atrim(), 0) -- 结果 "哈哈,hehe,1,3,6" ,删除字符串所有的空白字符

名词解析:

空白字符包括:空格、制表符 \t 、换行符 \n\r

函数名称:fromgbk
函数功能:转码,GBK 转 UTF8

脚本实例:
将字符串从 GBK 编码转换到 UTF8 编码(需iOS 引擎版本 v2.2.6 以上版本)

  1. require "ts"
  2. f = io.open("/var/mobile/Media/TouchSprite/lua/a.txt", "r")
  3. s = f:read("*a")
  4. f:close()
  5. dialog(s:fromgbk())

unicode 转 utf8

代码示例:

  1. --unicode utf8
  2. local ts = require "ts"
  3. local tmp = ts.json.totable([[{"toUTF8":"\u6211\u7231\u5a1c\u5a1c"}]])
  4. dialog(tmp["toUTF8"],0)

系统相关模块

函数: ts.system.resetNetWork 还原网络设置 (仅支持 iOS)

函数名称:ts.system.resetNetWork
函数功能:还原网络设置,仅支持1.2.1以上版本
函数方法
ts.system.resetNetWork()

※仅支持ios 8及以上系统

脚本实例:

  1. local ts = require("ts")
  2. ts.system.resetNetWork()

注意事项

  • 本函数调用后会自动重启设备,请勿频繁调用

函数: ts.system.udid 获取设备UDID码(仅支持 iOS)

函数名称:ts.system.udid
函数功能:获取设备UDID码
函数方法
udid = ts.system.udid()
返回值:文本型 udid

返回值 类型 说明
udid string 设备 UDID

脚本实例:

  1. local ts = require("ts")
  2. udid = ts.system.udid() --获取设备的 UDID
  3. dialog(udid, 0)

函数: ts.system.serialnumber 获取设备序列号

函数名称:ts.system.serialnumber(安卓不同的手机可能返回空值)
函数功能:获取设备序列号
函数方法
serialnumber = ts.system.serialnumber()
返回值:文本型 serialnumber

返回值 类型 说明
serialnumber string 设备序列号

脚本实例:

  1. local ts = require("ts")
  2. serialnumber = ts.system.serialnumber()--获取设备的序列号
  3. dialog(serialnumber, 0)

函数: ts.system.space 获取设备存储空间(仅支持 iOS)

函数名称:ts.system.space
函数功能:获取设备存储空间
函数方法
string = ts.system.space()

返回值 类型 说明
string string 剩余容量*G/总容量*G

脚本实例:

  1. local ts = require("ts")
  2. string = ts.system.space()
  3. dialog(string, 0)

函数: ts.system.wifimac 获取设备 WiFi MAC地址

函数名称:ts.system.wifimac(安卓不同的手机可能返回空值)
函数功能:获取设备 WiFi MAC地址
函数方法
wifimac = ts.system.wifimac()
返回值:文本型 wifimac

返回值 类型 说明
wifimac 文本型 设备 WiFi MAC 地址

脚本实例:

  1. local ts = require("ts")
  2. wifimac = ts.system.wifimac() --获取设备的 WiFi MAC 地址
  3. dialog(wifimac, 0)

函数: ts.system.btmac 获取设备蓝牙 MAC 地址

函数名称:ts.system.btmac(安卓不同的手机可能返回空值)
函数功能:获取设备蓝牙 MAC 地址
函数方法
btmac = ts.system.btmac()
返回值: btmac

返回值 类型 说明
btmac string 蓝牙 MAC 地址

脚本实例:

  1. local ts = require("ts")
  2. btmac = ts.system.btmac() --获取设备的蓝牙 MAC 地址
  3. dialog(btmac, 0)

函数: ts.system.osversion 获取设备系统版本号

函数名称:ts.system.osversion(安卓不同的手机可能返回空值)
函数功能:获取设备系统版本号
函数方法
osversion = ts.system.osversion()
返回值: osversion

返回值 类型 说明
osversion string 设备系统版本号

脚本实例:

  1. local ts = require("ts")
  2. osversion = ts.system.osversion() --获取设备的系统版本号
  3. dialog(osversion, 0)

函数: ts.system.devicetype 获取设备详细型号

函数名称:ts.system.devicetype(安卓不同的手机可能返回空值)
函数功能:获取设备详细型号
函数方法
producttype = ts.system.devicetype()

返回值 类型 说明
producttype string 设备详细型号

脚本实例:

  1. local ts = require("ts")
  2. producttype = ts.system.devicetype()--获取设备详细型号
  3. dialog(producttype,0)
  4. --安卓返回的是手机型号
  5. --iOS附录对照表
  6. /*
  7. iPhone2,1 (iPhone3GS 产品型号:国行-A1325 ;国际版-A1303
  8. iPhone3,1 (iPhone4 GSM 产品型号:A1332 )
  9. iPhone3,2 (iPhone4 8G新制程版,目前新出的国行8G版均为此型号 型号同为: A1332)
  10. iPhone3,3 (iPhone4 CDMA 产品型号:A1349 )
  11. iPhone4,1 (iPhone4s 产品型号:A1387(电信版&国际版) ; A1431(联通专用型号) )
  12. iPhone5,1 (iPhone5 产品型号: A1428 - 3G+4G+GSM )
  13. iPhone5,2 (iPhone5 产品型号: A1429 ;中国电信定制版-A1442 - 3G+4G+GSM+CDMA )
  14. iPhone5,3 (iPhone5c 产品型号: A1532 A1456 CDMA)
  15. iPhone5,4 (iPhone5c 产品型号: A1526 A1529 A1507 GSM)
  16. iPhone6,1 (iPhone5s 产品型号: A1533 A1453 CDMA)
  17. iPhone6,2 (iPhone5s 产品型号: A1528 A1530 A1457 GSM)
  18. iPhone7,1 (iPhone6Plus)
  19. iPhone7,2 (iPhone6)
  20. iPhone8,1 (iPhone6s)
  21. iPhone8,2 (iPhone6sPlus)
  22. iPhone8,3 (iPhoneSE)
  23. iPhone8,4 (iPhoneSE)
  24. iPhone9,1 (iPhone7)
  25. iPhone9,2 (iPhone7Plus)
  26. --------iPod itouch--------
  27. iPod4,1 ( iPod touch4 产品型号:A1367 )
  28. iPod5,1 ( iPod touch5 产品型号:A1421 )
  29. iPod7,1 ( iPodTouch6G)
  30. --------iPad--------
  31. iPad2,1 ( 产品型号:A1395 iPad 2 Wi-Fi )
  32. iPad2,2 ( 产品型号:A1396 iPad 2 Wi-Fi+3G+GSM )
  33. iPad2,3 ( 产品型号:A1397 iPad 2 Wi-Fi+3G+GSM+CDMA )
  34. iPad2,4 ( 产品型号:iPad 2 Wi-Fi rev_a 新制程版 )
  35. iPad3,1 ( 产品型号:A1416 NewPad - iPad 3 Wi-Fi )
  36. iPad3,2 ( 产品型号:A1403 NewPad - iPad 3 Wi-Fi+3G+GSM+CDMA )
  37. iPad3,3 ( 产品型号:A1430 NewPad - iPad 3 Wi-Fi+3G+GSM )
  38. iPad2,5 ( 产品型号:A1432 - iPad mini Wi-Fi )
  39. iPad2,6 ( 产品型号:A1454 - iPad mini Wi-Fi+3G+4G+GSM )
  40. iPad2,7 ( 产品型号:A1455 - iPad mini Wi-Fi+3G+4G+GSM+CDMA )
  41. iPad3,4 ( 产品型号:A1458 - iPad 4 Wi-Fi )
  42. iPad3,5 ( 产品型号:A1459 - iPad 4 Wi-Fi+3G+4G+GSM)
  43. iPad3,6 ( 产品型号:A1460 - iPad 4 Wi-Fi+3G+4G+GSM+CDMA )
  44. iPad4,1 ( iPadAir)
  45. iPad4,2 ( iPadAir)
  46. iPad4,3 ( iPadAir)
  47. iPad5,3 ( iPadAir2)
  48. iPad5,4 ( iPadAir2)
  49. iPad4,4 ( iPadmini2)
  50. iPad4,5 ( iPadmini2)
  51. iPad4,6 ( iPadmini2)
  52. iPad4,7 ( iPadmini3)
  53. iPad4,8 ( iPadmini3)
  54. iPad4,9 ( iPadmini3)
  55. iPad5,1 ( iPadmini4)
  56. iPad5,2 ( iPadmini4)
  57. */

函数: ts.system.imei 获取设备 IMEI

函数名称:ts.system.imei(安卓不同的手机可能返回空值)
函数功能:获取设备 IMEI
函数方法
imei = ts.system.imei()

返回值 类型 说明
imei string 设备 IMEI

脚本实例:

  1. local ts = require("ts")
  2. imei = ts.system.imei() --获取设备 IMEI
  3. dialog(imei,0)

函数: ts.system.localwifiaddr 获取本地网络地址(仅支持 iOS)

函数名称:ts.system.localwifiaddr
函数功能:获取本地网络地址
函数方法
tab = ts.system.localwifiaddr()

返回值 类型 说明
tab table 本地网络地址,包含本地内部环回地址、蜂窝地址、本地 WiFi 地址

脚本实例:

  1. local ts = require("ts")
  2. local ret = ""
  3. for i,v in ipairs(ts.system.localwifiaddr()) do --获取本地网络地址
  4. ret = ret..(v[1]).."="..(v[2]).."\n"
  5. end
  6. dialog(ret,0)

注意事项:

ts.system.localwifiaddr() 将返回一个 TABLE,TABLE 中包含本地内部环回地址、蜂窝地址、本地 WiFi 地址。

函数: ts.getNetType 获取设备网络类型(仅支持 iOS)

函数名称:ts.getNetType
函数功能:判断设备网络类型
函数方法:
ts.getNetType()

脚本实例:

  1. local ts = require("ts")
  2. nettype = ts.getNetType()
  3. dialog(nettype, 0)
返回值 类型 说明
type string 2G/3G/4G/WiFi/NO NETWORK

文件操作类模块

函数: ts.zip 文件压缩(仅限iOS)

函数名称:ts.zip
函数功能:文件压缩,生成压缩包,仅支持1.2.1以上版本
函数方法:
local fileList = {
{path1},
{path2},
{path3},
...
}
flag = ts.zip(zipPath,fileList)
参数 类型 说明
zipPath string 压缩包生成路径
fileList table 文件路径列表,仅支持文件不支持目录
返回值 类型 说明
flag boolean 成功返回true,失败返回false

脚本实例:

  1. local ts = require("ts")
  2. local root = userPath()
  3. io.open(root .. "/res/1.txt","w"):write("测试"):close()
  4. io.open(root .. "/res/2.txt","w"):write("测试"):close()
  5. io.open(root .. "/res/3.txt","w"):write("还是测试"):close()
  6. local fileList = {
  7. {root .. "/res/1.txt","1.txt"},
  8. {root .. "/res/2.txt","/file/2.txt"},
  9. {root .. "/res/3.txt","3.txt"}
  10. }
  11. flag = ts.zip(root .. "/res/测试.zip",fileList)
  12. if flag then
  13. dialog("压缩成功", time)
  14. else
  15. dialog("压缩失败", time)
  16. end

注意事项:

  • 添加到压缩包的文件名是中文的情况下会导致文件名乱码,请使用英文文件名

函数: ts.unzip 文件解压(仅限iOS)

函数名称:ts.unzip
函数功能:文件解压,解压压缩包,仅支持1.2.1以上版本
函数方法:
flag = ts.unzip(zipPath,filePath)
参数 类型 说明
zipPath string 压缩包路径
filePath string 解压路径
返回值 类型 说明
flag boolean 成功返回true,失败返回false

脚本实例:

  1. local ts = require("ts")
  2. ocal root = userPath()
  3. io.open(root .. "/res/1.txt","w"):write("测试"):close()
  4. io.open(root .. "/res/2.txt","w"):write("测试"):close()
  5. io.open(root .. "/res/3.txt","w"):write("还是测试"):close()
  6. local fileList = {
  7. {root .. "/res/1.txt","1.txt"},
  8. {root .. "/res/2.txt","/file/2.txt"},
  9. {root .. "/res/3.txt","3.txt"}
  10. }
  11. ts.zip(root .. "/res/测试.zip",fileList)
  12. zipPath = root .. "/res/测试.zip"
  13. filePath = root .. "/res/解压"
  14. flag = ts.unzip(zipPath,filePath)
  15. if flag then
  16. dialog("解压成功", time)
  17. else
  18. dialog("解压失败", time)
  19. end

注意事项:

  • 添加到压缩包的文件名是中文的情况下会导致文件名乱码,请使用英文文件名

函数: ts.download 下载文件

函数名称:ts.download
函数功能:下载文件到设备,支持http和ftp
函数方法:
code,msg = ts.tsDownload(path,url)
参数 类型 说明
url string 下载URL
path string 保存路径
返回值 类型 说明
code number 状态码
msg string 下载状态

脚本实例:

  1. local ts = require("ts")
  2. code,msg = ts.tsDownload("/var/1.jpg","http://p0.so.qhmsg.com/sdr/720_1080_/t01f0c2107148464d50.jpg")
  3. --同样支持ftp地址
  4. --"1.jpg"(如只填文件名,默认保存到触动res目录下)
  5. dialog(code,0)
  6. dialog(msg,0)

函数: ts.hlfs.getFileList 列出文件夹下所有文件

**函数名称:ts.hlfs.getFileList
函数功能:获取目录下所有文件列表,返回一个表
函数方法:
tableGet =ts.hlfs.getFileList(filePath)
参数 类型 说明
path string 目标目录的路径
返回值 类型 说明
tableGet table 目录下所有文件列表

脚本实例:

  1. local ts = require("ts")
  2. creatflag= ts.hlfs.makeDir("/var/mobile/hello") --新建文件夹
  3. io.open("/var/mobile/hello/test.txt","w"):write("测试"):close()--在/var/mobile/hello目录下创建一个test.txt的文件夹并写入“测试”这个字符串
  4. io.open("/var/mobile/hello/test2.txt","w"):write("测试2"):close()
  5. tableGet = ts.hlfs.getFileList("/var/mobile/hello") --列出hello文件夹下所有文件
  6. if tableGet then
  7. for i,v in pairs(tableGet) do
  8. dialog(string.format("%s = %s",i,v),1)
  9. mSleep(3000)
  10. end
  11. else
  12. dialog("没有此文件夹")
  13. end

函数: ts.hlfs.removeEntryDir 删除空文件夹

**函数名称:ts.hlfs.removeEntryDir
函数功能:删除空文件夹
函数方法:
status = ts.hlfs.removeEntryDir(filePath)
参数 类型 说明
path string 文件夹路径
返回值 类型 说明
status boolean 是否删除成功

脚本实例:

  1. local ts = require("ts")
  2. creatflag= ts.hlfs.makeDir("/var/mobile/hello") --新建文件夹
  3. status = ts.hlfs.removeEntryDir("/var/mobile/hello")--删除hello文件夹
  4. if status then
  5. dialog("删除成功")
  6. else
  7. dialog("删除失败或没有此文件夹")
  8. end

函数: ts.hlfs.removeDir 删除文件夹及所有的文件

**函数名称:ts.hlfs.removeDir
函数功能:删除文件夹及里面的文件
函数方法:
status = ts.hlfs.removeDir(filePath)
参数 类型 说明
path string 路径
返回值 类型 说明
status boolean 返回文件夹是否删除成功

脚本实例:

  1. local ts = require("ts")
  2. creatflag= ts.hlfs.makeDir("/var/mobile/hello") --新建文件夹
  3. io.open("/var/mobile/hello/test.txt","w"):write("测试"):close()--在/var/mobile/hello目录下创建一个test.txt的文件夹并写入“测试”这个字符串
  4. status = ts.hlfs.removeDir("/var/mobile/hello")--删除hello文件夹及所有文件
  5. if status then
  6. dialog("删除成功")
  7. else
  8. dialog("删除失败或没有此文件夹")
  9. end

函数: ts.hlfs.isDir 判断是否是文件夹

函数名称:ts.hlfs.isDir
函数功能:判断是否是文件夹
函数方法:
status = ts.hlfs.isDir(filePath)
参数 类型 说明
path stirng 路径
返回值 类型 说明
status boolean 返回判断结果

脚本实例:

  1. local ts = require("ts")
  2. creatflag= ts.hlfs.makeDir("/var/mobile/hello") --新建文件夹
  3. status = ts.hlfs.isDir("/var/mobile/hello")--判断hello是否是文件夹
  4. if status then
  5. dialog("这是一个文件夹")
  6. else
  7. dialog("这不是一个文件夹或没有此文件夹")
  8. end

函数: ts.hlfs.makeDir 新建文件夹

函数名称:ts.hlfs.makeDir
函数功能:新建文件夹
函数方法:
status = ts.hlfs.makeDir(filePath)
参数 类型 说明
path stirng 路径
返回值 类型 说明
status boolean 是否创建成功

脚本实例:

  1. local ts = require("ts")
  2. status = ts.hlfs.makeDir("/var/mobile/hello") --新建文件夹
  3. if status then
  4. dialog("创建成功")
  5. else
  6. dialog("创建失败")
  7. end

函数: ts.hlfs.copyDir 复制文件夹及所有文件

函数名称:ts.hlfs.copyDir
函数功能:复制文件夹及所有文件,并把数据拷贝到新的文件夹路径下
函数方法:
status = ts.hlfs.copyDir(oldpath,newpath)
参数 类型 说明
oldpath stirng 要拷贝的文件路径
newpath stirng 新的文件路径
返回值 类型 说明
status boolean 复制是否成功

脚本实例:

  1. local ts = require("ts")
  2. creatflag= ts.hlfs.makeDir("/var/mobile/hello") --新建文件夹
  3. io.open("/var/mobile/hello/test.txt","w"):write("测试"):close()--在/var/mobile/hello目录下创建一个test.txt的文件夹并写入“测试”这个字符串
  4. status = ts.hlfs.copyDir("/var/mobile/hello","/var/hello") --复制文件夹及里面所有文件
  5. if status then
  6. dialog("复制成功")
  7. else
  8. dialog("复制失败")
  9. end

函数: ts.hlfs.copyFile 复制文件

函数名称:ts.hlfs.copyFile
函数功能:复制单个文件,并把拷贝到新的目录下
函数方法:
status = ts.hlfs.copyFile(oldpath,newpath)
参数 类型 说明
oldpath stirng 要拷贝的文件路径
newpath stirng 新的文件路径
返回值 类型 说明
status boolean 复制是否成功

脚本实例:

  1. local ts = require("ts")
  2. io.open("/var/mobile/hello/test.txt","w"):write("测试"):close()--在/var/mobile/hello目录下创建一个test.txt的文件夹并写入“测试”这个字符串
  3. creatflag= ts.hlfs.makeDir("/var/mobile/hello") --新建文件夹
  4. status = ts.hlfs.copyFile("/var/mobile/hello/test.txt","/1.txt") --复制文件
  5. if status then
  6. dialog("复制成功")
  7. else
  8. dialog("复制失败")
  9. end

PLIST 文件操作(仅支持 iOS)

函数名称:plist.read、plist.write
函数功能:PLIST文件读取、写入
函数方法:
tmp2 = plist.read(plfilename)
返回值 TABLE
plist.write(plfilename, tmp2)

脚本实例:

  1. --读取键值
  2. local ts = require("ts")
  3. local plist = ts.plist
  4. local plfilename = "/var/mobile/Library/Caches/com.apple.mobile.installation.plist" --设置plist路径
  5. local tmp2 = plist.read(plfilename) --读取plist文件内容并返回一个TABLE
  6. dialog(tmp2.Metadata.ProductBuildVersion, 0) --显示ProductBuildVersion的键值
  1. --写入键值
  2. local ts = require("ts")
  3. local plist = ts.plist
  4. local plfilename = "/var/mobile/Library/Caches/com.apple.mobile.installation.plist" --设置plist路径
  5. local tmp2 = plist.read(plfilename) --读取plist文件内容并返回一个TABLE
  6. tmp2["Metadata"]["ProductBuildVersion"] = "havonz" --将表中ProductBuildVersion键值改为havonz
  7. plist.write(plfilename, tmp2) --将修改后的表写入PLIST文件

注意事项:

  1. 实例代码仅做为参考,实际调试中请将文件路径替换为实际存在的文件路径。
  2. 对于个别重要的 PLIST 文件,请谨慎使用写入功能或在运行脚本前进行备份。
  3. 需要注意的是,nib 文件作为一种特殊的 plist 文件格式,不能被正确的读取。

其他

函数: ts.imgSize 图片缩放(仅支持iOS)

函数名称:ts.imgSize
函数功能:对指定图片进行缩放,仅支持1.2.1以上版本
函数方法:
ts.imgSize(path1,path2,w,h)
参数 类型 说明
path1 string 指定缩放的图片路径
path2 string 生成的图片路径
w number 图片缩放后宽度
h number 图片缩放后高度

脚本实例:

  1. local ts = require("ts")
  2. path = userPath()
  3. ts.imgSize(path.."/res/1.png",path.."/res/2.png",400,400)
  4. --图片后缀可写jpgpng

注意事项:

缩放函数可能导致图片变模糊

函数: ts.smtp 通过smtp发送邮件

函数名称:ts.smtp
函数功能:通过smtp方式发送邮件
函数方法:
status = ts.smtp("收件人邮箱","邮件主题","邮件正文","smtp服务器","smtp邮箱账号","smtp邮箱密码")

脚本实例:

  1. local ts = require("ts")
  2. status = ts.smtp("10879433@qq.com","紧急通知","今天不上班","smtp.163.com","test@163.com","testpassword")
  3. if (status) then
  4. dialog("Success", 0) --发送成功
  5. else
  6. dialog("False", 0) --发送失败
  7. end

注意事项:

  1. 邮箱需先开启SMTP服务功能,例如163邮箱,在登录邮箱后-设置-POP3/SMTP/IMAP中开启SMTP服务。
  2. SMTP服务器和SMTP密码请以邮箱后台提供的为准,一般与邮箱登录密码不同。
  3. 邮件有可能会被归入垃圾箱,请自行检查邮件内容。

函数: ts.ms 获取毫秒级时间戳

函数名称:ts.ms
函数功能:返回毫秒级时间戳,用于精确计算时间
函数方法:
ts.ms()

脚本实例:

  1. local ts = require("ts")
  2. time =ts.ms()
  3. dialog(time, 0) --Unix时间戳
  4. --如需转换为标准时间格式
  5. print(os.date("%c",time))

函数: ts.qrEncode 二维码图片生成

函数名称:ts.qrEncode
函数功能:将文本编译成二维码图片
函数方法:
ts.qrEncode(path,string,size)
参数 类型 说明
path string 保存路径
string string 二维码信息内容
size string 二维码图片尺寸
返回值 类型 说明
status string 返回状态

脚本实例:

  1. local ts = require("ts")
  2. status = ts.qrEncode("/var/1.png","我只是比别人帅了一点而已","288")
  3. --"1.jpg"(如只填文件名,默认为图片在触动res目录下)
  4. dialog(status,0)

函数: ts.qrDecode 二维码图片解析(仅支持iOS)

函数名称:ts.qrDecode
函数功能:将二维码图片解析为字符串,需要1.2.1及以上版本

函数方法:
str = ts.qrDecode(path)

※仅支持ios 8及以上系统

参数 类型 说明
path string 解析二维码图片的路径,支持jpg,png等格式
返回值 类型 说明
str string 解析二维码得到的字符串

脚本实例:

  1. local ts = require("ts")
  2. str = ts.qrDecode(userPath().."/res/1.png")
  3. --"1.jpg"(如只填文件名,默认为图片在触动res目录下)
  4. dialog(str,0)
  • 此函数为系统方法,可能因为机型原因导致解析失败,如果出现解析失败或服务重启等问题,请尝试使用第三方扩展库→ tsqr.so

数据操作类

注意事项:

1.数据操作config类,所有的数据操作,必须以open开始,以close结束。

函数: ts.config.open 打开数据存储文件(仅支持 iOS)

函数名称:ts.config.open
函数功能:创建并初始化数据流
函数方法:
ts.config.open(path)
参数 类型 说明
path string 创建并初始化的文件路径

函数: ts.config 关闭数据流(仅支持 iOS)

函数名称:ts.config
函数功能:完成数据操作,必须执行此的函数
函数方法:
ts.config.close(flag)
参数 类型 说明
flag boolean true表示提交之前操作,false表示不提交之前操作,一般填true

函数: ts.config.save 数据存储(仅支持 iOS)

函数名称:ts.config.save
函数功能:通过指定索引和索引值存储数据
函数方法:
ts.config.save(key,value)
参数 类型 说明
key string 索引
value string/number/boolean/table 索引对应的数据

脚本实例:

  1. local ts = require("ts")
  2. ts.config.open("/var/coc.plist")
  3. --打开一个plist文件,如果文件不存在,将自动创建该文件,同时只允许打开一个
  4. --此函数为初始化函数,所有config操作第一步必须以open开始并且以close结尾
  5. ts.config.save("金币数",999)
  6. --存储lua中的number string nil boolean table类型(不允许嵌套table
  7. --ps:键值对(key-value)是一种存储格式,一个key对应一个value
  8. --此处代表“金币数”是key999value,将存入此键值对
  9. ts.config.close(true)
  10. --必要函数,参数为true,操作结束后必须以此函数结尾,
  11. dialog(coin,0)
  12. --结尾后,此处才可输出coin值或删除“金币数”对应的值

函数: ts.config.get 获取数据(仅支持 iOS)

函数名称:ts.config.get
函数功能:通过索引获取数据
函数方法:
string = ts.config.get(key)
参数 类型 说明
key string
返回值 类型 说明
string string 通过索引获取之前存储的数据

脚本实例:

  1. local ts = require("ts")
  2. ts.config.open("/var/coc.plist")
  3. --打开一个plist文件,如果文件不存在,将自动创建该文件,同时只允许打开一个
  4. --此函数为初始化函数,所有config操作第一步必须以open开始并且以close结尾
  5. ts.config.save("金币数",999)
  6. --存储lua中的number string nil boolean table类型(不允许嵌套table
  7. --ps:键值对(key-value)是一种存储格式,一个key对应一个value
  8. --此处代表“金币数”是key999value,将存入此键值对
  9. ts.config.close(true)
  10. --必要函数,参数为true,操作结束后必须以此函数结尾,
  11. dialog(coin,0)
  12. --结尾后,此处才可输出coin值或删除“金币数”对应的值

函数: ts.config.delete 删除数据(仅支持 iOS)

函数名称:ts.config.delete
函数功能:通过键值删除数据
函数方法:
ts.config.delete(key)

脚本实例:

  1. local ts = require("ts")
  2. ts.config.open("/var/coc.plist")
  3. --打开一个plist文件,如果文件不存在,将自动创建该文件,同时只允许打开一个
  4. --此函数为初始化函数,所有config操作第一步必须以open开始并且以close结尾
  5. ts.config.save("金币数",999)
  6. --存储lua中的number string nil boolean table类型(不允许嵌套table
  7. --ps:键值对(key-value)是一种存储格式,一个key对应一个value
  8. --此处代表“金币数”是key999value,将存入此键值对
  9. coin = ts.config.get("金币数")
  10. --获取键对应的值, 此处代表获取“金币数”所对应的值coin = 999
  11. --但是此处暂时获取不到coin值,因为操作还没结束,请继续往下阅读
  12. ts.config.delete("金币数")
  13. --删除这个键值对应的value值,此处代表把999变成nil
  14. --但是此处暂时删除不掉value值,因为操作还没结束,请继续往下阅读
  15. ts.config.close(true)
  16. --必要函数,参数为true,操作结束后必须以此函数结尾,
  17. dialog(coin,0)
  18. --结尾后,此处才可输出coin值或删除“金币数”对应的值
参数 类型 说明
key string

函数: ts.dborder 数据库操作

函数名称:ts.dborder
函数功能:利用sql语句对数据库进行操作,支持增删改查操作
iOS函数方法:
ts.dborder(path,order,Binary Parameters)

iOS脚本实例:

  1. local ts = require("ts")
  2. --没有二进制参数的命令,无需第三个参数
  3. status = ts.dborder("/var/1.db","insert into stu_msg(ID, name, time) values(0, '华罗庚', 2)")
  4. --含有二进制参数的命令,第三个参数为table格式
  5. --注意:order命令里,涉及到二进制的参数,统一用英文问号(?)代替,然后在第三个参数里填二进制参数,一个问号仅对应一个二进制参数
  6. --iOS 和安卓使用有所差异
  7. status = ts.dborder("/var/1.db","insert into stu_msg(ID, name, picture) values(0, '华罗庚', ? ,?)",{a,b})
  8. --查询表中内容
  9. local result,msg = ts.dborder(userPath().."/res/LuaData.db","select * from ACCOUNT_INFO")
参数 类型 说明
path 文本型 数据库文件路径
order string sql语句命令
Binary Parameters table 二进制参数
返回值 类型 说明
status string 数据操作结果
result table 查询结果
安卓函数方法:
ts.dborder(path,order)

安卓脚本实例:

  1. local ts = require("ts")
  2. status = ts.dborder("/data/data/com.android.providers.contacts/databases/contacts2.db","insert into data(package_id, mimetype_id, raw_contact_id,is_read_only,is_primary,is_super_primary,data_version,data1,data2,data3,data4) values(1,1,1,1,1,1,1, '华罗庚','华罗庚','','110')")
参数 类型 说明
path string 数据库文件路径
order string sql语句命令
返回值 类型 说明
status string 数据操作结果
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注