
cmpColorEx({mul_color,sim})

ƣͬʱȽָĶɫֶ֧ɫƫɫƶ

˵
mul_colorַ,ҪԱȵĵxy16ɫ,ʽΪ(X|Y|16ɫ),
?????????????????   ?ɫá|ŷָ,Ҫƫɫá-ŷָ,Ϣá,ŷָ
?????????????????   ?"100|200|FFFFFF|123456-000000,300|500|FFFFFF"
sim˫ȸ,ƶ,ȡֵΧ0-1

ֵͣ1Ϊȫƥ,0Ϊûȫƥ䵽

--ΪʱʹcmpColorExT
local r = cmpColorExT({"500|600|787878|101010-102030,200|105|FFFFFF",0.9})
print(r)

--ͼɫɲĬΪcmpColorEx
local r = cmpColorEx("500|600|787878|101010-102030,200|105|FFFFFF",0.9)
print(r)





cmpColor(x,y,color)

ƣָɫȶ

˵
x:? ,ҪԱɫX
y:? ,ҪԱɫY
color:? ַ,Ƚϵ16ɫ,ʽΪ"RRGGBB",ɫá|ŷָ,
?????????????֧ƫɫ,"787878-101010|123456"

ֵͣ1Ϊƥ䵽,0Ϊûƥ䵽

local r = cmpColor(100,100,"787878-101010|123456")
print(r)





colorDiff(color1,color2)

ƣɫȶ

˵
color116ɫ,ʽΪ"RRGGBB",10ɫ
color216ɫ,ʽΪ"RRGGBB",10ɫ


ֵͣɫĺ졢̡Ĳֵ֮ܺ

local diff = colorDiff(0x998899,0x777777)
local diff1 = colorDiff("FF0000","FB0E02")
print(diff)
print(diff1)





findColor(x1, y1, x2, y2,color,dir,sim)

ƣָڲָɫ

˵һͣ
x1,Ͻx 
y1,Ͻy 
x2,½x 
y2ͣ½y
color ַҪԱȵ16ɫ,ʽΪ"RRGGBB"ɫá|ŷָ,
ҪԱƫɫмá-ŷָ,"FFFFFF|123456-000000|00FF00-101010"
dir,ҷ 
0ʾ£
1 ʾܲң
2ʾϲң
3ʾϲң
4ʾ²
sim ˫ȸƶ,ȡֵΧ0-1

ֵ
retжɫ"|"ָ,Ӧҵ
x,y Ӧҵ

--ΪʱʹfindColorT
local x=-1 y=-1
ret,x,y=findColorT({0,0,0,0,"121212-000000|aabbcc-030303|ddeeff-202020",0,1.0})
if x~=-1 and y ~=-1 then
   tap(x,y)
end 

--ͼɫɲĬΪfindColor
local x=-1 y=-1
ret,x,y=findColor(0,0,0,0,"121212-000000|aabbcc-030303|ddeeff-202020",0,1.0)
if x~=-1 and y ~=-1 then
   tap(x,y)
end 





colorToRGB(color)

ƣɫֵתΪRGB 

˵
color: 16ɫ,ʽΪ"RRGGBB",10ɫ

ֵ
r,ʮɫ
g,ʮɫ̷
b,ʮɫ

local r,g,b = colorToRGB("FF0000")
print(r,g,b)
local r,g,b = colorToRGB(0x777777)
print(r,g,b)





findMultiColorAll(x1,y1,x2,y2,first_color,offset_color,dir,sim)

ƣɫҵĽ

˵ǵһ,ÿһ
x1,X 
y1,Y 
x2,X 
y2,Y
first_colorҪԱȵ16ɫ,ɫ"|"ŷָ,
ҪԱƫɫмá-ŷָ,"888888|123456-000000|00FF00-101010"
sim˫ȸ,ƶ,ȡֵΧ0-1
dir,ҷ.
0ʾ²;
1ʾܲ;
2ʾϲ;
3ʾϲ;
4ʾ²;
offset_colorַ,ƫɫ


ֵɹҪı飬磺{{"y":980,"x":485},{"y":980,"x":612}}

--ΪʱʹfindMultiColorAllT
local ret =findMultiColorAllT({0,0,0,0,"675699-101010","10|11|2F9772-000000|123456-101010,23|57|353535",0,0.9})
if ret ~= nil then
   print(ret)
end 

--ͼɫɲĬΪfindMultiColorAll
local ret =findMultiColorAll(0,0,0,0,"675699-101010","10|11|2F9772-000000|123456-101010,23|57|353535",0,0.9)
if ret ~= nil then
   print(ret)
end 





findMultiColor(x1,y1,x2,y2,first_color,offset_color,dir,sim)

ƣɫҵͷؽ

˵ǵһ,ÿһ
x1,X 
y1,Y 
x2,X 
y2,Y
first_colorҪԱȵ16ɫ,ɫ"|"ŷָ,
ҪԱƫɫмá-ŷָ,"888888|123456-000000|00FF00-101010"
offset_colorַ,ƫɫ
dir,ҷ.
0ʾ²;
1ʾܲ;
2ʾϲ;
3ʾϲ;
4ʾ²;
sim˫ȸ,ƶ,ȡֵΧ0-1

ֵɹضӦx,y,򷵻-1,-1

--ΪʱʹfindMultiColorT
local x=-1 y=-1
x,y=findMultiColorT({0,0,0,0,"778787|675699-101010","10|11|2F9772-000000|123456-101010,23|57|353535",0,0.9})
if x~=-1 and y ~=-1 then
  tap(x,y)
end 

--ͼɫɲĬΪfindMultiColor
local x=-1 y=-1
x,y=findMultiColor(0,0,0,0,"778787|675699-101010","10|11|2F9772-000000|123456-101010,23|57|353535",0,0.9)
if x~=-1 and y ~=-1 then
  tap(x,y)
end 





findPicAllPoint(x1, y1, x2, y2,pic_name,sim)

ƣͼƬһȡҪͼƬѡе

˵
x1,X  (ΧҲ滻ΪͼƬ·)
y1,Y 
x2,X 
y2,Y
pic_nameַ,ҪҵͼƬ,עǵͼƬĲ
sim˫ȸ,ƶ,ȡֵΧ0-1

ֵ
ret:һ

local x=-1 y=-1
local arr = findPicAllPoint(0,0,0,0,"my.bmp",0.98)
--local arr = findPicAllPoint("ͼ.bmp","my.bmp",0.98)
if arr ~= nil then
for n = 1,#arr do
    print("pos:",arr[n].x,arr[n].y)
end
end 





findPicEx(x1, y1, x2, y2,pic_name,sim)

ƣ߼ͼ

˵
ע  ·"1.bmp"  /ͷӽűĿ¼µͼƬĿ¼;"/sdcard/1.bmp"·
x1,X (ΧҲ滻ΪͼƬ·)
y1,Y 
x2,X 
y2,Y
pic_nameַ,ҪҵͼƬ,ͼƬá|ŷָ
sim˫ȸ,ƶ,ȡֵΧ0-1

ֵ
retжɫ"|"ָ,Ӧҵ,0ʼ
x,yӦҵ

local x=-1 y=-1
ret,x,y=findPicEx(0,0,0,0,"1.bmp|2.bmp|3.bmp",1.0)
--ret,x,y=findPicEx("ͼ.bmp","1.bmp|2.bmp|3.bmp",1.0)
if x~=-1 and y ~=-1 then
   tap(x,y)
end  






getColorNum(x1,y1,x2,y2,color)

ƣȡɫֶ֧ɫƫɫƶȱȽ

˵
x1,X 
y1,Y 
x2,X 
y2,Y
colorַ,Ҫҵ16ɫ,ʽΪ"BBGGRR",ɫá|ŷָ,֧ƫɫ,
"FFFFFF-000000|123456"

ֵ,ָɫƥͬص

local number = getColorNum(10,50,600,600,"888888")
print(number)





getPixelColor(x,y,[type])

ƣȡָ괦Ļɫֵ

˵
x,yĻ,
type=1ʱһĬϲдtypeǷɫ16ַ

ֵָ괦ɫֵ

local pixel = getPixelColor(100,100)
print(pixel)





getScreenPixel(x1,y1,x2,y2)

ƣȡָΧڵ

˵x1,y1,x2,y2ȫΪ0ʾȡȫֵ
x1,X 
y1,Y 
x2,X 
y2,Y

ֵw,h,arrw,hǻȡΧĳ,arrǷص,w,hС0ʧ

--ǰ720x1280ģʽ

function printRGB(color)
  local r,g,b = colorToRGB(color)
  print("col:".."=>"..r..","..g..","..b)
end

local w,h,arr = getScreenPixel(0,0,0,0)

print("image size:"..w..","..h)
local x = 567
local y = 1231
local color = arr[y * w + (x + 1)]
local cc = getPixelColor(x,y)
printRGB(cc)
printRGB(color)





keepCapture()

ƣͼڴ

˵
ȡǰĻݱڴ,Թͼɫ
ɾڴеĽͼʹ

ֵ

keepCapture()
sleep(10000)
releaseCapture()





releaseCapture()

ƣɾڴеĽͼ

˵
ɾڴеĽͼ
Ͻͼڴ溯ʹʱ

ֵ

keepCapture()
sleep(10000)
releaseCapture()





setScreenScale(type,width,height,[scale])

ƣ˹ڷĿֱ豸ɫ͵ʱʹ

˵
type0ȡţ1
width,űʱʹõ豸
height,űʱʹõ豸߶
scaleѡ,ĬΪ1,0ֻԴ뺯,
ӺĲ,Ϊǰʹ豸ʵꡣ
1뺯ţصз

ֵ

--720ֱϿĽű1080ֱʹ
setScreenScale(1,720,1280,0)--
local x=-1 y=-1
x,y=findMultiColor(0,0,0,0,"778787|675699-101010","10|11|2F9772-000000|123456-101010|23|57|353535",0,0.9)
if x~=-1 and y ~=-1 then
  tap(x,y)
end
setScreenScale(0,720,1280,0)--ر





snapShot(path,[left,top,right,bottom])

ƣͼ

˵pathǽͼ·ĸǽǿѡ


ֵ

snapShot("/sdcard/test.bmp",0,0,100,100)





ocr(x1, y1, x2, y2,colorfmt,sim,dir)

ƣѡеֵҸɵַ

˵
x1ͣX  (ΧҲ滻ΪͼƬ·)
y1ͣY 
x2ͣX 
y2ͣY
colorfmtֵַɫʽ
sim˫ȸƶ,ȡֵΧ0-1
dir,ҷ 
0ʾ£
1 ʾܲң
2ʾϲң
3ʾϲң
4ʾ²

ֵַ

--ֿļ--
setDict(0,"dict.txt")

--ʹֿ--
useDict(0)

--1.ͨocrʶ--
local str = ocr(0,0,0,0,"FFFFFF-101010",0.98)
--local str = ocr("ͼ.bmp","FFFFFF-101010",0.98)
if str ~= nil then
   print(str)
end

--2.ָʽͬʶ,ɺ溯Ч,ĸʶĸ
local str = splitFind(0,0,0,0,"FFFFFF-101010",0.98)
--local str = splitFind("ͼ.bmp","FFFFFF-101010",0.98)
if str ~= nil then
   print(str)
end

--϶ֱ֧ʽ׷ӴдT
local str = ocrT(0,0,0,0,"FFFFFF-101010",0.98)





ocrj(x1, y1, x2, y2,colorfmt,sim,dir)

ƣѡеֵҸֺ

˵
x1ͣX  (ΧҲ滻ΪͼƬ·)
y1ͣY 
x2ͣX 
y2ͣY
colorfmtֵַɫʽ
sim˫ȸƶ,ȡֵΧ0-1
dir,ҷ 
0ʾ£
1 ʾܲң
2ʾϲң
3ʾϲң
4ʾ²

ֵjsonʽַ

--ֿļ--
setDict(0,"dict.txt")

--ʹֿ--
useDict(0)

--ʶȡ--
local str = ocrj(0,0,0,0,"FFFFFF-101010",0.98,0)
--local str = ocrj("ͼ.bmp","FFFFFF-101010",0.98,0)
if str ~= nil then
   print(str)

   --jsonתΪlua
   local arr = jsonLib.decode(str)

   --ȡһԪص,X,Y
   print(arr[1].text,arr[1].X,arr[1].Y)

end





setDict(index,name)

ƣֿļ

˵ȫһμ
indexͣҪõֵĿǰȡֵΧ0-29
nameֵƣűеֿļе.txtļ

ֵ0ʧ1ɹ

setDict(0,"ֿ.txt")





useDict(index)

ƣҪҵֵ,еĲѯֵв

˵
indexͣҪõֵĿǰȡֵΧ0-29

ֵ0ʧ1ɹ

useDict(0)





findStr(x1, y1, x2, y2,text,colorfmt,sim,dir)

ƣֲ

˵
x1ͣX  (ΧҲ滻ΪͼƬ·)
y1ͣY 
x2ͣX 
y2ͣY
textַҪҵ,á|ŷָ
colorfmtֵַɫʽ
sim˫ȸƶ,ȡֵΧ0-1
dir,ҷ 
0ʾ£
1 ʾܲң
2ʾϲң
3ʾϲң
4ʾ²

ֵ
retвtext˶֣򷵻ҵĵһֶӦ,0ʼ
x,yӦҵ

--ֿļ--
setDict(0,"dict.txt")

--ʹֿ--
useDict(0)

--ͼɫɲĬΪfindStr
local x=-1 y=-1
ret,x,y=findStr(0,0,0,0,"|","FFFFFF-101010",0.98)
--ret,x,y=findStr("ͼ.bmp","|","FFFFFF-101010",0.98)
if x~=-1 and y ~=-1 then
   print("x:"..x.." y:"..y)
end

--ΪʱʹfindStrT
local x=-1 y=-1
ret,x,y=findStrT({0,0,0,0,"|","FFFFFF-101010",0.98})
if x~=-1 and y ~=-1 then
   print("x:"..x.." y:"..y)
end





isDisplayDead(x1, y1, x2, y2,time,sim)

ƣĻɫǷ仯

˵
x1ͣX 
y1ͣY 
x2ͣX 
y2ͣY
time˫ȸȴʱ䵥λ,֧0.5Ϊ
sim˫ȸƶȣȡֵΧ0-1ֵĬΪ1

ֵ
rettrueʾûб仯falseб仯

local ret = isDisplayDead(100,100,300,300,2,0.8)
print(ret)





yolov5Init(so,param,bin,label)

ƣʼyolov5ҼԴļѡ⡱ѡyoloV5

˵
soַyolov5so·űⷽҼԴļѡ⡱ѡyoloV5
paramַѵõyolov5.paramļ·
binַѵõyolov5.binļ·
labelַѵõyolov5.labelǩļ·

ֵ
rettrueɹflaseʧ
resʶĽjsonʽ

ע
ʼ絥ģֻҪһμɣģлʱҪһγʼ

local so = getScriptRunRootPath().."/Դ/yoloV5/libyolov5ncnn64.so"
local param = getScriptRunRootPath().."/Դ/yoloV5/best.ncnn.param"
local bin = getScriptRunRootPath().."/Դ/yoloV5/best.ncnn.bin"
local label = getScriptRunRootPath().."/Դ/yoloV5/best.ncnn.label"
local ret,res=yolov5Init(so,param,bin,label)
print(ret,res)





yolov5Detect(path,quality,sim)

ƣyolov5ʶ

˵
pathַҪʶͼƬ·ҲֱʶķΧxy
qualityͣͼƬƼʹѵʱֵ
simͣ˵ڸþȷȵĽ

ֵ
rettrueɹflaseʧ
resʶĽjsonʽ

--yoloʶָ·ͼƬ
ret,res = yolov5Detect("/sdcard/Pictures/20240803143250.jpg", 640, 20)
print(ret,res)

--yoloʶָΧ
ret,res = yolov5Detect(100,100,500,600, 640, 20)
print(ret,res)





paddleYolo(so,nb,label,path,quality,sim)

ƣɽyoloʶݼֻһɣ鿴ĵ

˵
soַso·űⷽҼԴļѡ⡱ѡɽAI
nbַѵõyolov5.nbļļ·
labelַݼ.labelļܺǩļ·
pathַҪʶͼƬ·ҲֱʶķΧxy
qualityͣͼƬƼʹѵʱֵ
simͣ˵ڸþȷȵĽ

ֵ
rettrueɹflaseʧ
resʶĽjsonʽ

--ɽyoloʶָ·ͼƬ
local so = getScriptRunRootPath().."/Դ/paddleAi/libpaddle_lite_jni.so"
local nb = getScriptRunRootPath().."/Դ/paddleAi/model.nb"
local label = getScriptRunRootPath().."/Դ/paddleAi/pass.label"
ret,res = paddleYolo(so,nb,label,"/sdcard/yolo.bmp", 640, 20)
print(ret,res)

--ɽyoloʶָΧ
local so = getScriptRunRootPath().."/Դ/paddleAi/libpaddle_lite_jni.so"
local nb = getScriptRunRootPath().."/Դ/paddleAi/model.nb"
local label = getScriptRunRootPath().."/Դ/paddleAi/pass.label"
ret,res = paddleYolo(so,nb,label,100,100,500,600, 640, 20)
print(ret,res)





paddleSsd(so,nb,label,path,quality,sim)

ƣɽSSDʶݼֻһɣ鿴ĵ

˵
soַso·űⷽҼԴļѡ⡱ѡɽAI
nbַѵõssd.nbļļ·
labelַݼ.labelļܺǩļ·
pathַҪʶͼƬ·ҲֱʶķΧxy
qualityͣͼƬƼʹѵʱֵ
simͣ˵ڸþȷȵĽ

ֵ
rettrueɹflaseʧ
resʶĽjsonʽ

--ɽyoloʶָ·ͼƬ
local so = getScriptRunRootPath().."/Դ/paddleAi/libpaddle_lite_jni.so"
local nb = getScriptRunRootPath().."/Դ/paddleAi/model.nb"
local label = getScriptRunRootPath().."/Դ/paddleAi/pass.label"
ret,res = paddleSsd(so,nb,label,"/sdcard/ssd.bmg", 640, 20)
print(ret,res)

--ɽyoloʶָΧ
local so = getScriptRunRootPath().."/Դ/paddleAi/libpaddle_lite_jni.so"
local nb = getScriptRunRootPath().."/Դ/paddleAi/model.nb"
local label = getScriptRunRootPath().."/Դ/paddleAi/pass.label"
ret,res = paddleSsd(so,nb,label,100,100,500,600, 640, 20)
print(ret,res)





paddleOcr(path,shot,ret)

ƣɽocrʶͬһֻOCRʶں2

˵
pathַʶ⣬űⷽҼԴļѡ⡱ѡɽOCR
shotַҪʶͼƬҲֱӴͼƬxy߷Χ
retͣĬ0Ϊjsonʽ1ʶַ

ֵ
rettrueɹflaseʧ
resʶĽjsonʽ

--ocrʶָ·ͼƬ
ret,res = paddleOcr(getScriptRunRootPath().."/Դ/paddleOcr","/sdcard/1.bmp")
print(ret,res)
if ret and #res > 0 then
?  ?--jsonתlua
  tab=jsonLib.decode(res)
  --ȡеһı
  print(tab[1]["text"]) 
end

--ocrʶָΧ
ret,res = paddleOcr(getScriptRunRootPath().."/Դ/paddleOcr",69,362,380,80)
print(ret,res)





tesseractOcr(path,font,shot,part,ret)

ƣѧocrʶͬһֻںһOCRʶ

˵
pathַʶļűⷽҼԴļѡ⡱ѡѧOCR
fontֿļԴֿnum.traineddataֻдnumɣֶֿ֧ʶ+ӣֿļ/tesseractOcr/tessdata/ڣ
shotַҪʶͼƬҲֱӴͼƬxy߷Χ
partͣ1~13ַָķʽʶַȷɳԵƼ36
retͣĬ0Ϊjsonʽ1ʶַ

ֵ
rettrueɹflaseʧ
resʶĽjsonʽ

--ocrʶָ·ͼƬjsonʽ
ret,res = tesseractOcr(getScriptRunRootPath().."/Դ/tesseractOcr","eng2","/sdcard/12.bmp",3)
print(ret,res)
if ret and #res > 0 then
?  ?--jsonתlua
  tab=jsonLib.decode(res)
  --ȡеһı
  print(tab[1]["text"]) 
end

--ocrʶָΧؽ
ret,res = tesseractOcr(getScriptRunRootPath().."/Դ/tesseractOcr","eng2",69,362,380,80,3,1)
print(ret,res)





imageProcessing(x,y,w,h,savePath,lvse)

ƣͼƬ֧OpenCVĴ

˵
xͣͼƬxֵ(x,y,w,hҲ滻ΪͼƬ·)
yͣͼƬyֵ
wͣͼƬĿ
hͣͼƬĸ
savePathַͣɹͼƬ·
lvseַͣͼƬĹ̲ͼɫиƲ

ע⣺
ͼƬopenCVĴ̣ҪǰغopencvĿŻִдOpenCVĴºķΧ֧滻ͼƬ·ͼƬʶʹá

FindPicEx
FindPicAllPoint
Ocr
Ocrj
FindStr

ֵ
rettrueɹflaseʧ
whyɹ""ʧܷشԭ

--ͼƬ
local param="[{\"\":\"ɫ\",\"ɫ\":\"FEFEFE\",\"ƫɫ\":\"000000\",\"ɫ\":\"000000\"}]"
local ret,why=imageProcessing("ԭͼƬ.bmp",".bmp",param)
--ɹrettrue,ʧwhyʧԭ
print(ret,why)





imageRotate(Apic,Bpic,deg)

ƣͼƬ˳ʱת0~360

˵
Apic :   ַͣתͼƬ·
Bpic :   ַͣתͼƬ·
deg ͣ˳ʱתĽǶ

ֵ
rettrueɹflaseʧ
whyɹ""ʧܷشԭ

--ͼƬת(˳ʱת90)
local ret,why = imageRotate("/sdcard/bus.bmp","/sdcard/bus2.bmp",90)





imageZoom(Apic,Bpic,zoom)

ƣͼƬŴ

˵
Apic :   ַͣͼƬ·
Bpic :   ַͣźͼƬ·
zoom  ˫ȸŵıΪ0ɺ׷ͼƬ͸ŵ̶С

ֵ
rettrueɹflaseʧ
whyɹ""ʧܷشԭ

--ͼƬ(ŵԭ0.5)
local ret,why = imageZoom("/sdcard/bus.bmp","/sdcard/bus2.bmp",0.5)
--ͼƬ(ŵ̶С500x500)
local ret,why = imageZoom("/sdcard/bus.bmp","/sdcard/bus2.bmp",0,500,500)





cacheScreenProcessing(param)

ƣǰĻͼڴУͼƬ

˵
paramַͣͼƬĹ̲ͼɫиƲ

ֵ
rettrueɹflaseʧ
whyɹ""ʧܷشԭ

--ͼƬ
local param="[{\"\":\"ɫ\",\"ɫ\":\"FEFEFE\",\"ƫɫ\":\"000000\",\"ɫ\":\"000000\"}]"
--ͼڴ
keepCapture()
--ͼǰĻڴУд
local ret,why=cacheScreenProcessing(param)
--ɹrettrue,ʧwhyʧԭ
print(ret,why)
--ѻĻ浽ļ,ԿЧ
--napShot("/sdcard/Pictures/test.bmp",0,0,720,1280)
--ڽ ͼɫ 
local ret,x,y = findPicEx(2,66,88,114,"ͼƬ2.bmp",0.9,0)
if x ~= -1 and y ~= -1 then
    print("ͼɹ")
else
    print("ͼʧ")
end
--ɾڴеĽͼ
releaseCapture()





imageRotateCompare(Apic,Bpic)

ƣͼƬ2360˳ʱתͼ1ƵתԼƶ

˵
ApicַͣͼƬ1·
BpicַͣͼƬ2·

ֵ
Ƶת
ƶȣƵĽƶ
ɹһ洢תͽƶȵjsonַʧܷ":"ͷַ

local ,ƶ,=imageRotateCompare(/sdcard/bus.bmp","/sdcard/bus2.bmp)
--ͷʧ
if string.find(, "", 1, true) == 1 then
    print(":"..)
else
    print(,ƶ)
end





setOnTouchListener(onTouchEvent)

ƣȡûĻ

˵onTouchEventһصûĻʱᴥ
ע:˺֧ϰģʽʹãֻڼrootģʽʹ(androidЧ)ȡлͺΪgetRunEnvType

ֵһͣtrueʾɹfalseʾʧ

function onTouchEvent(x,y)
   print(x,y)
end
print("ʼĻ")
setOnTouchListener(onTouchEvent)
sleep(1000000)





keyDown(keycode)

ƣһ

ע⣺˺֧ϰģʽʹãֻڼrootģʽʹãȡлͺΪgetRunEnvType

˵
keycode:ʶְ
 ʶͰӦ
------------------------------------
 ʶ 
ҳ Home 3
ؼ Back 4
绰 Call 5
ҵ绰 EndCall 6
 VolUp 24
 VolDown 25
Դ Power 26
 Camera 27
˵ Menu 82
Ϸҳ PageUp 92
·ҳ PageDown 93

ֵ

keyDown("home")
sleep(100)
keyUp("home")





keyPress(keycode)

ƣһ°

ע⣺˺root߼ģʽаȫЧϰģʽֻ֧home back recent power ĸ֧

˵
keycodeʶְ
 ʶͰӦ
------------------------------------
 ʶ 
ҳ Home 3
ؼ Back 4
RECENT Recent 187
绰 Call 5
ҵ绰 EndCall 6
 VolUp 24
 VolDown 25
Դ Power 26
 Camera 27
˵ Menu 82
Ϸҳ PageUp 92
·ҳ PageDown 93

ֵ

keyPress("home")





keyUp(keycode)

ƣһ

⣺˺֧ϰģʽʹãֻڼrootģʽʹãȡлͺΪgetRunEnvType

˵
keycode:ʶְ
 ʶͰӦ
------------------------------------
 ʶ 
ҳ Home 3
ؼ Back 4
绰 Call 5
ҵ绰 EndCall 6
 VolUp 24
 VolDown 25
Դ Power 26
 Camera 27
˵ Menu 82
Ϸҳ PageUp 92
·ҳ PageDown 93

ֵ

keyDown("home")
sleep(100)
keyUp("home")





longTap(x,y)

ƣΪx,yĵ

˵
x,ǰĻ
y,ǰĻ

ֵ

longTap(100,100)





swipe(x1,y1,x2,y2,time)

ƣģһ㻬һ

˵
x1,x 
y1,y 
x2,յx 
y2,յy
time,x,yҪʱ䵥λǺ

ֵ

 swipe(200,200,800,200,500) 





tap(x,y)

ƣΪx,yĵ

˵
x,ǰĻ
y,ǰĻ

ֵ

tap(100,100)





touchDown(id,x,y)

ƣָס̧

˵
idģָ0-4֮
x,ǰĻ
y,ǰĻ

ֵ

touchDown(0,100,100)
touchDown(1,100,100)
sleep(300)
touchUp(1)
sleep(100)
touchUp(0) 





touchMove(id,x,y,time)

ƣģ⻬

˵
idģָ0-4֮
x,ǰĻ
y,ǰĻ
time,x,yҪʱ䵥λǺ

ֵ

touchDown(0,100,100)
sleep(50)
touchMove(0,300,300,800)
touchUp(0)





touchUp(id)

ƣָ

˵
idģָ0-4֮

ֵ

touchDown(0,100,100)
touchDown(1,100,100)
sleep(300)
touchUp(1)
sleep(100)
touchUp(0)





getPackageName()

ƣȡǰűİ

ֵػȡAPK

ע⣺˺֧APP

local pkg = getPackageName()
print(pkg) 





appIsFront(package_name)

ƣжϵǰappǷΪǰ̨

˵
package_nameָҪҵİ

ֵزֵtrueʾɹfalseʧ

local pkg = "com.tencent.mm";
local ret = appIsFront(pkg)
if ret == false then
  --appδǰ̨, app
  runApp(pkg)
end





appIsRunning(package_name)

ƣжϵǰappǷ

˵
package_name:ָҪҵİ

ֵزֵtrueʾɹfalseʧ

local pkg = "com.tencent.mm";
local ret = appIsRunning(pkg)
if ret == false then
--appδ, app
  runApp(pkg)
end





exec(cmd,[isRet])

ƣԵǰȨ(豸rootrootȨִУǼԼȨִ)ִ

˵
cmd ִַ,isRetͱʾǷ񷵻ִеĽĬtrue

local r = exec("ls /")
if r ~= nil then
  print(r)
end





exitScript()

ƣֹͣű

ֵ

exitScript()





frontAppName()

ƣȡǰ̨app

ֵǰ̨app

local pkg = frontAppName()
print(pkg)





getApkVerInt()

ƣȡӰ汾

ֵȡǰapkӵİ汾ţһ

local ver = getApkVerInt()
print("apk ver:"..ver)





getDisplaySize()

ƣȡĻֱ

˵

ֵĻĳߴ糤Ϳ

local w,h
w,h = getDisplaySize()
print(w,h)





getSdPath()

ƣȡsdľ·

ֵػȡsd·

local path = getSdPath()
print("sd·:"..path)





getWorkPath()

ƣȡǰűĹĿ¼Ŀ¼пִȨ

ֵĿ¼

local path = getWorkPath()
print("ǰĿ¼:"..path)





installApk(apkpath)

ƣװapk

˵
apkpathװapkľ·

installApk("/sdcard/test.apk")





runApp(package_name,[activity_name])

ƣapp

˵
package_nameַ,ĳӦóİ
activity_nameѡ,ַ,Ӧó,ʡ

ֵ

runApp("com.tencent.mm")





stopApp(package_name)

ƣرapp

˵
package_nameַ,ĳӦóİ


runApp("com.tencent.mm")
sleep(1000)
stopApp("com.tencent.mm")





playAudio(audio_path)

ƣ

˵Դļ

ע⣺˺֧APP

playAudio("test.mp3")
sleep(10000)
stopAudio() 





stopAudio()


ƣرղ

ע⣺˺֧APP

playAudio("test.mp3")
sleep(10000)
stopAudio()





print(str)

ƣ

˵ԴӡϢ

print("hello word")





readPasteboard()

ƣȡ

ֵַ,ؼ

ע⣺˺֧APP

writePasteboard("123")
local ret = readPasteboard()
print(ret)





writePasteboard(str)

ƣдݵ

˵
strַд

ע⣺˺֧APP

writePasteboard("123")
local ret = readPasteboard()
print(ret)





restartScript()

ƣǰű

ֵ

toast("ʼǰű")  --ĻʾϢ
sleep(1000)
restartScript()





setTimer(function,time,arg,...)

ƣʱִָķ

˵
functionҪõĺ,
timeָǰʱ䵽úʱ,
argǲб

ֵ

function callback(arg0,arg1)
  print(arg0,arg1)
  setTimer(callback,1000,arg0,arg1)
end
setTimer(callback,1000,1,2)





getDisplayRotate()

ƣĻת

ֵ
0ת 
90ʾĻʱת90
180ʾĻʱת180
270ʾĻʱת270

local rotate
rotate = getDisplayRotate()
print(rotate)





unInstallApk(package_name)

ƣжapk

˵
package_nameжApkİ

unInstallApk("com.tencent.mm")





pauseRun()

ƣͣű״̬continueRunָ

ϸʾ鿴http://39.100.68.56:4999/web/#/p/b17d800a83d479975deb03efa634fa77

--ͣű
pauseRun()





continueRun()

ƣָнű

ϸʾ鿴http://39.100.68.56:4999/web/#/p/b17d800a83d479975deb03efa634fa77

--ָű
continueRun()





setTimer(id,time,function)

ƣһʱʱִŻ᷵ؼ

˵
idͣʱidڶඨʱΪʶ
timeͣʱʱλ롣2000ʱÿ2ִжʱҪֹͣöʱʱֵΪ<=0ֵ
functionͣʱִеĺ

--ʱִеĺ
function timerFun()
? ? print("ʱ")
? ? sleep(2000)
end

--ʱ
setTimer(1,1000,timerFun)

--ѭȡʱ
local ʱ1 = os.time()
while true do
? ?sleep(500)
? ?print("ʱ:"..os.time()) ?
? ?if os.time() > ʱ1 + 5 then
? ? ? ? --ֹͣʱ
? ? ? ? setTimer(1,0)
? ?end
end





openUrl(URL)

ƣʴָURL

˵
URLַ,urlַ

ֵزֵtrueʾɹfalseʧ

ע⣺˺֧APP

ret=openUrl("http://www.baidu.com")
print(ret)





callJava(file,param,type)

ƣJavaܺ

˵
fileַ,Java·
paramַͣݵĲ
typeͣ0=ǰ߳Ун󣬽űټУִUIأ1=߳УأںִUIأ2=߳Уȴִн󷵻أ3=ǰ߳Уúأ

ֵزֵtrueʾɹfalseʧ,ʧʱwhyܴԭ

ע⣺˺֧APP

ret,why=callJava("/sdcard/java.apk","","0")
print(ret,why)





while ѭ﷨

ƣwhileѭ﷨

˵
Ϊ true ʱóظִĳЩ䡣ִǰȼǷΪ true

--10-19ֵ
a=10
while (?a?<?20?) do
   print("a ֵΪ:",?a)
   a?=?a+1
end

--ѭȥ
while (?true?) do
print("ѭԶִȥ")
end





for ѭ﷨

ƣforѭ﷨

˵
ظִָ䣬ظ for пơ
for var = exp1,exp2,exp3 do
    <ִ>
end
var  exp1 仯 exp2ÿα仯 exp3 Ϊ varִһ?"ִ"exp3 ǿѡģָĬΪ1

--ѭ10
for?i=1,10,1?do
? ??print(i)
end





repeat ... until(condition)

ƣظѭ..ֱ

˵
condition жΪtrueѭ

ֵ

--[  --]
a = 10
--[ ִѭ --]
repeat
   print("aֵΪ:", a)
   a = a + 1
until( a > 15 )





break

ƣ˳ǰѭ䣬ʼűִнŵ

˵
ʵִ while ѭڱ a С 20 ʱ a ֵ a  15 ʱִֹѭ

--[  --]

a = 10



--[ while ѭ --]

while ( a < 20 )
 do

   print("a ֵΪ:", a)

   a=a+1

   if( a > 15)
 then

      --[ ʹ break ֹѭ --]

      break

   end
end





goto

ƣתǵ䴦

˵
ǵĸʽΪ
:: Label ::

ʵԿһ?--- goto label ---

local?a?=?1
::label::?
print("--- goto label ---")

a?=?a+1
if?a?<?3?then
? ? goto label ??-- a С 3 ʱתǩ label
end





if..then..end

ƣif һʽΪжϣ

˵
if(ʽ)then
   --[ ڲʽΪ true ʱִе --]
end
ڲʽΪ true ʱ if еĴᱻִУڲʽΪ false ʱ if  end ֮Ĵᱻִ

--ʵжϱ a ֵǷС 20
--[  --]
a?=?10;

--[ ʹ if  --]
if(?a?<?20?) then
? ?--[ if Ϊ true ʱӡϢ --]
? ?print("a С 20"?);
end
print("a ֵΪ:",?a);





if..then..end

ƣif  else ʹ,  if ʽΪ false ʱִ else 

˵
if(ʽ)then
   --[ ʽΪ true ʱִи --]
else
   --[ ʽΪ false ʱִи --]
end
ڲʽΪ true ʱifеĴᱻִУڲʽΪ false ʱelse Ĵᱻִ

--ʵжϱ a ֵǷС 20
--[  --]
a?=?100;
--[  --]
if(?a?<?20?) then
? ?--[ if Ϊ true ʱִи --]
? ?print("a С 20"?)
else
? ?--[ if Ϊ false ʱִи --]
? ?print("a  20"?)
end
print("a ֵΪ :",?a)





if..then..elseif..then..else..end

ƣif  elseif...else ʹ,  if ʽΪ false ʱִ elseif...else 飬ڼ

˵
if( ʽ 1)then
   --[ ڲʽ 1 Ϊ true ʱִи --]
elseif( ʽ 2)then
   --[ ڲʽ 2 Ϊ true ʱִи --]
elseif( ʽ 3)then
   --[ ڲʽ 3 Ϊ true ʱִи --]
else
   --[ ϲʽΪ true ִи --]
end

--[  --]
a?=?100

--[ 鲼 --]
if(?a?==?10?) then
? ?--[ Ϊ true ӡϢ --]
? ?print("a ֵΪ 10"?)
elseif(?a?==?20?) then??
? ?--[ if else if Ϊ true ʱӡϢ --]
? ?print("a ֵΪ 20"?)
elseif(?a?==?30?) then
? ?--[ if else if condition Ϊ true ʱӡϢ --]
? ?print("a ֵΪ 30"?)
else
? ?--[ ûһΪ true ʱӡϢ --]
? ?print("ûƥ a ֵ"?)
end
print("a ʵֵΪ: ",?a?)





function..end

ƣǶͱʽгҪȿһЩĹҲһЩֵ

˵
ʵ˺?max()Ϊ num1, num2ڱȽֵĴСֵ

--[[ ֵֵ --]]
function max(num1, num2)
   if (num1 > num2) then
      result = num1;
   else
      result = num2;
   end
   return result;
end

-- ú
print("ֵȽֵΪ ",max(10,4))
print("ֵȽֵΪ ",max(5,6))





return

ƣreturnؼڴӺзһִֵеreturnʱִֹͣУıʽΪֵظ

˵
returnûֵָĬϷnilҪضֵʹöŷָʽ
return䲻ںһУҲںм䡣£returnִУֵָʾ

function bar(x)
  if x < 0 then
    return ":xΪ"
  end
  return x
end
print(bar(-1)) -- ":xΪ"
print(bar(4)) -- 4





sleep(time)

ƣߣֻͬ汾һġѭ

˵
timeߵʱ䵥λǺ

sleep(5000)





print()

ƣ̨Ϣ

˵


--ı
print("һ")

--ıӱ
a = 10


print("a ֵΪ:", a)
 





{ ,?, , }

ƣͬ͵Ԫذһ˳еļϣһάͶά

ע⣺
lua Ĭϴ 1 ʼ


-- һ
local?myArray?=?{10,?20,?30,?40,?50}
-- Ԫ
print(myArray[3])??--  30
-- 鳤
local?length?=?#myArray
print(length)?--  5
-- ޸Ԫ
myArray[2]?=?25
-- Ԫصĩβ
myArray[#myArray?+?1]?=?60
-- ɾԪ
table.remove(myArray,?3)





require(Lua)

ƣluaļɵáű.luaļ

˵
Luaַ, Ҫõluaļļluaֱ


ֵ

--򵥵ĵáʦ.lua
require("ʦ")

--ǹؼʵò
--·"װ.lua"
local ?qre = {}
function qre.ӷ(aaa,bbb)
? ? return aaa+bbb
end

return qre


--ǵáװ.luaʱʾ
local װ = require("װ")
print(װ.ӷ(11,22))






getNetWorkTime()

ƣȡʱ

ֵʽΪ--_ʱ--ʱַ

local tm = getNetWorkTime()
print(tm)





os.time([table])

ƣȡʱ

˵Ĭϻȡǰʱ,Ҳָtable


local time = os.time()
local hour = os.date("*t", time).hour
print(hour)





tickCount()


ƣȡűʱ䣬λǺ


local tick = tickCount()
print(tick)





systemTime()


ƣϵͳʱλǺ


local tm = systemTime()
print(tm)





os.date(format [, time]])

ƣڸʽ

˵ʽʱΪɶʱ,timeΪѡʱ,ʡʱȡ


local now = os.date("%Y-%m-%d %H:%M:%S")
-- %a abbreviated weekday name (e.g., Wed)
-- %A full weekday name (e.g., Wednesday)
-- %b abbreviated month name (e.g., Sep)
-- %B full month name (e.g., September)
-- %c date and time (e.g., 09/16/98 23:48:10)
-- %d һļ[01C31]
-- %H 24Сʱ[00C23]
-- %I 12Сʱ[01C12]
-- %j һеĵڼ[001C366]
-- %M [00C59]
-- %m ·[01C12]
-- %p am(),pm()
-- %S [00C60]
-- %w ڼ[0C6 = C]
-- %x date (e.g., 09/16/98)
-- %X time (e.g., 23:48:10)
-- %y two-digit year (98) [00C99]
-- %Y (1998)
-- %% the character %
--ȡǰʱ-1525829060
local secs = os.time()
local year = string.sub(now,1,4)
local month = string.sub(now,6,7)
local day = string.sub(now,9,10)
local hour = string.sub(now,12,13)
local minute = string.sub(now,15,16)
local second = string.sub(now,18,19)
--ȡ7ǰʱ
ta = {
year=year,
month=month,
day=day-7,
hour=hour,
min=minute,
sec=second
}
--2018-05-02 09:50:57
local t = os.date("%Y-%m-%d %H:%M:%S", os.time(ta))
--ȡ2·ݵ
--3·ݿͷȥ12·ݵһ
ta = {
year=year,
month=3,
day=0,
}
--28
local days = os.date("%d", os.time(ta))





toast(text,x,y,textsize,jsonsezi)

ƣĻָλõϢ򣬵x,yͬʱΪ0ʱĬºʾ5Զʧ

˵
textҪʾַ
x,Ļ꣬ԲдĬΪ0
y,Ļ꣬ԲдĬΪ0 
textsize,СԲдĬΪ12
jsonsezi:   jsonʽ, ɺԲþ忴

-- ĻʾϢ
local 汾 = "1.00"
toast("ӭʹһű:"..汾)

-- ʾʾ(jsonĬֵ,jsonḲǰĲ)
ȫ_ts={};
ȫ_ts["ɫ"] = "RGB(255,255,255)"
ȫ_ts["͸"] = 0      --ȡֵ0~100=͸10=ȫ͸
ȫ_ts["ɫ"] = "RGB(0,0,0)"
ȫ_ts["С"] = 12
ȫ_ts["ֶ뷽ʽ"] = 3 --1=,2=,3=,4=,5=,6=,7=,8=,9=
ȫ_ts["ʾʱ"] = 3
ȫ_ts["ԲǴС"] = 5
ȫ_ts["С"] = 0 ? --0=̶,1=Ӧ,2=߶Ӧ,3=СӦ
--²ĻİٷֱȣXΪ0=Ļ࣬0.5ΪĻ
--Ϊ-1ʱΪָĬֵĬΪĻ·ʾӦ
ȫ_ts["X"] = 0?   
ȫ_ts["Y"] = 0.95    
ȫ_ts[""] = 0.4
ȫ_ts["߶"] = 0.05
toast("ÿʾϢ",0,0,0,jsonLib.encode(ȫ_ts))






loadUI(name)

ƣUI

˵
nameı, Ҫؽ(:".ui")

ֵ0ʧ;1ɹ

--棬ƻԶ
loadUI(".ui")





runScriptMain()

ƣһнűؼлƣִиúִС.luaڽ津нű

ֵ
нʧܺͳɹ
errʧʱʧܵԭ

--аťǩ
function ǩ_5_()
? ? local ,err = runScriptMain()
    print(,err)
end





scrollToPoint(y)

ƣһתָλ

˵
yy

ֵ

--ȡidΪ12Ŀؼλ
local x,y=GetWindowRect(12)

--ת12ؼλ
scrollToPoint(y)





GetCheck(id,name)

ƣȡؼǰѡ״̬

˵
id, ؼid
nameı, (:".ui") , ʡĬΪǰصĽ

ֵ0δѡ;1ѡ

local Ƿѡ = GetCheck(10)





SetCheck(id,check,name)

ƣÿؼǰǷѡ״̬

˵
id, ؼid
check0ѡ״̬;1ѡ״̬
nameı, (:".ui") , ʡĬΪǰصĽ

ֵ

SetCheck(10,1)





GetShowText(id,name)

ƣȡؼʾııݣǩť

˵
id, ؼid
nameı, (:".ui") , ʡĬΪǰصĽ

ֵ0ʧ;1ɹ

local text = GetShowText(10)





SetShowText(id,text,name)

ƣÿؼҪʾııݣǩť

˵
id, ؼid
textı, Ҫʾı
nameı, (:".ui") , ʡĬΪǰصĽ

ֵ0ʧ;1ɹ

SetShowText(10,"нűť")





GetRadioSelID(id,name)

ƣȡǰؼڵѡѡеĵѡid

˵
id, ؼid
nameı, (:".ui") , ʡĬΪǰصĽ

ֵѡеĿؼid

local id = GetRadioSelID(33)





GetRadioSelIDText(id,name)

ƣȡǰؼڵѡѡеĵѡı

˵
id, ؼid
nameı, (:".ui") , ʡĬΪǰصĽ

ֵѡеĿؼı

local text = GetRadioSelIDText(33)





GetCount(id,name)

ƣȡббһٸѡ

˵
id, ؼid
nameı, (:".ui") , ʡĬΪǰصĽ

ֵͣĸ

local count=GetCount(24)--ȡбܸ





GetCurSel(id,name)

ƣȡббѡѡ

˵
id, ؼid
nameı, (:".ui") , ʡĬΪǰصĽ

ֵͣһ0

local ѡ=GetCurSel(24)--ȡбѡ





SetCurSel(id,index,name)

ƣȡббѡѡ

˵
id, ؼid
index, б0ʼһΪ0
nameı, (:".ui") , ʡĬΪǰصĽ

ֵ

SetCurSel(24,1)--бѡΪ2





GetItemText(id,index,name)

ƣȡббָѡı

˵
id, ؼid
index, б0ʼһΪ0
nameı, (:".ui") , ʡĬΪǰصĽ

ֵıָͣı

--ȡid24бѡ
local ѡ = GetCurSel(24)    
 --ȡid24бѡı
local  = GetItemText(24,ѡ)    





SetItemText(id,index,text,name)

ƣббָѡı

˵
id, ؼid
index, б0ʼһΪ0
textı, Ҫõı
nameı, (:".ui") , ʡĬΪǰصĽ

ֵ

SetItemText(24,1,"ʦ")     --ȡid24б2ı





DeleteItem(id,index,name)

ƣɾббָѡ

˵
id, ؼid
index, б0ʼһΪ0
nameı, (:".ui") , ʡĬΪǰصĽ

ֵ

DeleteItem(24,1)  --ɾб2





DeleteAllItem(id,name)

ƣɾббеѡ

˵
id, ؼid
nameı, (:".ui") , ʡĬΪǰصĽ

ֵ

DeleteAllItem(24)  --ɾбѡ





InsertItem(id,index,text,name)

ƣббָвһѡ

˵
id, ؼid
index, б0ʼһΪ0
textı, Ҫı
nameı, (:".ui") , ʡĬΪǰصĽ

ֵ

InsertItem(24,0,"ʦ")     --id24б1ǰһ





GetWindowRect(id,name)

ƣȡؼλ

˵
id, ؼid
nameı, (:".ui") , ʡĬΪǰصĽ

ֵ0ʧ;1ɹ

--ȡؼλxyꡢ
local x,y,w,h=GetWindowRect(11,".ui")





SetWindowRect(id,x,y,w,h,type,name)

ƣýؼλ

˵
id, ؼid
x, x
y, y
w, 
h, 
type,1=ƶ,2=ıС,3=ƶҲıС
nameı, (:".ui") , ʡĬΪǰصĽ

ֵ0ʧ;1ɹ

--ÿؼλ
SetWindowRect(11,10,10,30,10,3,".ui")





IsWindowVisible(id,name)

ƣȡؼǰǷɼ״̬

˵
id, ؼid
nameı, (:".ui") , ʡĬΪǰصĽ

ֵ0״̬;1ʾ״̬

local ״̬ = IsWindowVisible(10)





ShowWindow(id,show,name)

ƣÿؼǰʾ״̬

˵
id, ؼid
show0״̬;1ʾ״̬
nameı, (:".ui") , ʡĬΪǰصĽ

ֵ

ShowWindow(10,1)





IsWindowDisable(id,name)

ƣȡؼǰǷ״̬

˵
id, ؼid
nameı, (:".ui") , ʡĬΪǰصĽ

ֵ0״̬;1״̬

local ״̬ = IsWindowDisable(10)





DisableWindow(id,disable,name)

ƣÿؼǰû״̬

˵
id, ؼid
disable0״̬;1״̬
nameı, (:".ui") , ʡĬΪǰصĽ

ֵ

DisableWindow(10,1)





GetBackImage(id,name)

ƣȡؼͼƬ·

˵
id, ؼid
nameı, (:".ui") , ʡĬΪǰصĽ

ֵıͣͼƬڵ·

local path = GetBackImage(24)





SetBackImage(id,path,name)

ƣÿؼͼƬ

˵
id, ؼid
pathı, ͼƬڵ·
nameı, (:".ui") , ʡĬΪǰصĽ

ֵ

SetBackImage(24,"/Դ/.png")





GetFontColor(id,name)

ƣȡؼɫ

˵
id, ؼid
nameı, (:".ui") , ʡĬΪǰصĽ

ֵıͣɫ

local color = GetFontColor(24)





SetFontColor(id,path,name)

ƣÿؼɫ

˵
id, ؼid
colorı, ɫֵ
nameı, (:".ui") , ʡĬΪǰصĽ

ֵ

SetFontColor(24,"255,255,255")





GetFontSize(id,name)

ƣȡؼС

˵
id, ؼid
nameı, (:".ui") , ʡĬΪǰصĽ

ֵͣĴС

local size = GetFontSize(24)





SetFontSize(id,size,name)

ƣÿؼɫ

˵
id, ؼid
size, С
nameı, (:".ui") , ʡĬΪǰصĽ

ֵ

SetFontSize(24,20)





showBigFloating(state)

ƣʾUIΪСUI

˵
state,  0Ϊأ1Ϊʾ

ֵ

showBigFloating(0)--0С





showControlBar(state)

ƣʾűС򣻻С

˵
state,  0Ϊأ1Ϊʾ

ֵ

showControlBar(0)--ؽűС





setControlBarPosNew(x,y)

ƣСλ

˵
x,  Ļλõİٷֱȣ1=ĻҲ࣬0=Ļ
y,  Ļλõİٷֱȣ1=Ļײ0.5=Ļм

ֵ

--λΪĻм
setControlBarPosNew(0,0.5)





CallJsFunction(ID,js,js,name,time)

ƣִؼjs

˵
ID, һؼID
jsַ, jsжĺ
jsַ, ҪjsдĲ
nameַ,ui,ɺ,ĬΪ.ui
time,ִеȴʱ,ʱִ, 0Ϊֱӷ

ֵ
,0=ʧܣ1=ɹ
ֵַ, jsصַ

local ,ֵ = CallJsFunction(1,"luaCall","һԴ","",3)
if  == 1 then
    print("jsֵΪ:"..ֵ)
end





JsCallJava.CallLua()

ƣjsĹ̶һд

ע⣺˺дhtmlУһ溯һ¼Żִ

˵
ı, ҪһдĲ

ֵ

<html>
<script type="text/javascript" charset="utf-8">
? ?function ButClick(){
? ? ? ? ?JsCallJava.CallLua("ǸLUAĲ");
? ?}
</script>
<body>
? ? <input type="button" style="width:30%;height:2rem" value="LUA" onclick="ButClick()">
</body>
</html>





LoadHtml(ID,URL,name)

ƣؼһhtmlurl

˵
ID, ؼID
URLı, htmlļ·url
nameı, (:".ui") , ʡĬΪǰصĽ

ֵ

LoadHtml(1, "http://www.baidu.com")





SaveAllControlState(path,state)

ƣûõָļ

˵
pathַͣҪ·
stateͣ1+23 ,еѡ͸ѡ+ı
1=еѡ͸ѡ,
2=ı,
4=бб,
8=ѡ״̬,
15=ȫ(ʡ)

ֵ,   0ʧܣ1ɹ

SaveAllControlState("/sdcard/Pictures/1.txt")
print("ɹ")





ResetAllControlState(path)

ƣָΪĽ״̬

˵
pathַͣҪָĽ·

ֵ,   0ʧܣ1ɹ

ResetAllControlState("/sdcard/Pictures/1.txt")
print("ָɹ")





PopupImage(id,json)

ƣָ굯һͼƬ

˵
idͣͼƬid
jsonͼƬʽλõȲjson

ֵ,   0ʧܣ1ɹ

config={}
config["X"]=100--0=,-1=,-2=Ҳ
config["Y"]=100--0=,-1=,-2=ײ
config["width"]=200--
config["height"]=200--߶
config["background"]="RGB(0,0,255)"--
config["showText"]="ʾı"--ʾı
config["fontSize"]=14--С
config["fontColor"]="RGB(255,0,0)"--ɫ
config["trans"]=50--͸(0-99)0=͸,99=͸

json=jsonLib.encode(config)--luaתjson
PopupImage(1, json)--ͼƬ





PopupImageEvent(id,event,function,arg)

ƣָͼƬid¼

˵
idͣͼƬid
eventͣ0=,1=,2=,3=ͼƬƶ,4=ͼƬƶ,5=ƶ
functionַͣ¼,д <.lua> 
argַͣ¼ʱ贫ݵĲ,ɲ

ֵ,   0ʧܣ1ɹ

config={}
config["X"]=100--0=,-1=,-2=Ҳ
config["Y"]=100--0=,-1=,-2=ײ
config["width"]=200--
config["height"]=200--߶
config["background"]="RGB(0,0,255)"--
config["showText"]="ʾı"--ʾı
config["fontSize"]=14--С
config["fontColor"]="RGB(255,0,0)"--ɫ
config["trans"]=50--͸(0-99)0=͸,99=͸

json=jsonLib.encode(config)--luaתjson
PopupImage(1, json)--ͼƬ
--¼
function (,ͼƬID)
? ? print(,ͼƬID)
end
--ͼƬ¼
PopupImageEvent(1, 5, "", "ǴݵĲ")--õͼƬ¼





PopupImagePosition(id)

ƣȡָͼƬidλ

˵
idͣͼƬid

ֵ,   0ʧܣ1ɹ

config={}
config["X"]=100--0=,-1=,-2=Ҳ
config["Y"]=100--0=,-1=,-2=ײ
config["width"]=200--
config["height"]=200--߶
config["background"]="RGB(0,0,255)"--
config["showText"]="ʾı"--ʾı
config["fontSize"]=14--С
config["fontColor"]="RGB(255,0,0)"--ɫ
config["trans"]=50--͸(0-99)0=͸,99=͸

json=jsonLib.encode(config)--luaתjson
PopupImage(1, json)--ͼƬ
PopupImageEvent(1, 5, "popupEvent1", "111")--õͼƬ¼
--ȡͼƬλ,xy
local x,y=PopupImagePosition(1)
print(x,y)





PopupImageClose(id)

ƣرָidĵͼƬ

˵
idͣͼƬid

ֵ,   0ʧܣ1ɹ

config={}
config["X"]=100--0=,-1=,-2=Ҳ
config["Y"]=100--0=,-1=,-2=ײ
config["width"]=200--
config["height"]=200--߶
config["background"]="RGB(0,0,255)"--
config["showText"]="ʾı"--ʾı
config["fontSize"]=14--С
config["fontColor"]="RGB(255,0,0)"--ɫ
config["trans"]=50--͸(0-99)0=͸,99=͸

json=jsonLib.encode(config)--luaתjson
PopupImage(1, json)--ͼƬ
PopupImageEvent(1, 5, "popupEvent1", "111")--õͼƬ¼
--ȡͼƬλ,xy
local x,y=PopupImagePosition(1)
print(x,y)
--رյͼƬ
PopupImageClose(1)





getWindowSize()

ƣȡһűҳߴСΪʱʹãɰĵв鿴ʾ

˵

ֵ
width,   ȡĿ
height,   ȡĸ߶

local width,height=getWindowSize()
print(width,height)





getWindowScrollTop()

ƣȡ浱ǰλãĹ¼лȡжλʵָ˵Ĺ

˵

ֵ
top,   ȡλ

local top=getWindowScrollTop()
print(top)





rnd(begin,end)

ƣ

˵
ʼͽ

ֵɵ

local r = rnd(-5,5)
print("rnd:"..r)





unZip(zippath,outdir,pass)

ƣѹzipļָĿ¼

˵
zippathѹ·,
outdirҪͷļĴ·
passַͣѹ룬ûԲд

--Դеbmpλͼļͷŵ/data/tempĿ¼
unZip("/sdcard/test.zip","/mnt/sdcard/mydir") 





zip(file,zippath)

ƣzip ѹļ

˵
fileѹļ,
zippath ѹļ·


--Դеbmpλͼļͷŵ/data/tempĿ¼
zip("/sdcard/test.png","/mnt/sdcard/test.zip")





io.input([file])

ƣһļ

˵
fileַ·Ҳio.open򿪵ľ
ļʱ,(ıģʽ)򿪸ֵļ,
ļΪĬļ.ļȥ,
ͼ򵥵ĽþΪĬļ.ʱ,صǰĬļ

ֵļ,ڳ,׳Ƿش

--ļ
local handle = io.input("/mnt/sdcard/test.txt")
print(io.read("*a"))
io.close(handle)
--ļ(Ҫʹÿɶģʽ)
local file = io.open("/mnt/sdcard/test.txt", "r")
print(io.input(file))
print(io.read("*a"))
print(file)
io.close(file)





io.open(path,mode)

ƣһļ

˵
pathַͱʾҪ򿪵ļ·
modeļ򿪵ģʽ,
"r"ģʽ (Ĭ);
"w"дģʽ;\r\na: ģʽ;
"r+"ģʽ,֮ǰݽ
"w+"ģʽ,֮ǰݽ
"a+"Ӹģʽ,֮ǰݽ,ֻļβ
"b"ĳЩϵͳֶ֧Ʒʽ

ֵļ,ʧ򷵻nil+Ϣ

local file = io.open("/mnt/sdcard/test.txt", mode)
print(file:write("123", "a"))
file:close()
local file = io.open("/mnt/sdcard/test.txt", "r+")
print(file:read("*a"))
file:close()





getFileBase64(path,extra)

ƣȡļݵbase64

˵
pathļľ·
extraĬϿջ0Ϊȥbase64ͷ1ȥͷ

ֵbase64

local path = "/mnt/sdcard/test.png"
local e = getFileBase64(path)
print("filebase64 ret:",e)





encodeBase64(str)

ƣַbase64

˵
strַ

ֵbase64

local ret = encodeBase64("ӭʹһPC")
print("encode:",ret)





decodeBase64(str)

ƣbase64ַ

˵
strַ

ֵbase64

local ret = encodeBase64("ӭʹһPC")
print("encode:",ret)
local dec = decodeBase64(ret)
print("decode:",dec)





BmpToPng(bmpPath,pngPath)

ƣbmpͼƬתpngͼƬ

˵
bmpPathתbmpͼƬ·
pngPathתpngͼƬ·

ֵ

BmpToPng("/sdcard/1.bmp","/sdcard/2.png")





getScriptRunRootPath( )

ƣȡűеĸ·

˵

ֵűеĸĿ¼·

local ȫ· = getScriptRunRootPath()
--ڽűĿ¼±һͼƬ
snapShot(ȫ·.."/1.bmp",464,72,1088,115)





writeFileBase64(path,base64)

ƣļbase64д뵽ļ

˵
pathҪдļ·
base64base64ļı

ֵ
rettrueɹflaseʧ
resʧܵĽ

--ȡһļbase64
local base64 = httpPost("http://pc.yijianwan.com:8080/yjw_pc_login/api/webFile64/getFile?=100003&ûʶ=zuozhe&ļ=123.txt")
if string.find(base64, "") then
? ? print("ȡʧ:"..base64)
else
   --ļд뱾
? ? local ret,res = writeFileBase64("/sdcard/111.txt", base64)
? ? if ret then
? ? ? ? --дɹ
? ? ? ? print("дɹ")
? ? else
? ? ? ? --дʧ
? ? ? ? print("ԭ:"..res)
? ? end
end





jsonLib.decode(json)

ƣjsonַתlua

˵
jsonַ

ֵlua

local json = "{\"data\":{\"ret\":\"hello ok\",\"status\":123},\"code\":1}"
print(jsonLib.decode(json))





jsonLib.encode(table)

ƣluajsonַ

˵
tablelua

ֵjsonַ

local tb={
   code = 1,
   data = {
       ret = "hello ok",
       status = 123
   }
}
print(jsonLib.encode(tb))      ----{"code":1,"data":{"status":123,"ret":"hello ok"}}





jsonToUrl-json(json,key)

ƣҪûʱʹã紴û

˵
jsonjson
keyIDEԿ

ֵַurl

--Կڿߺ̨Ĵȡ
local Կ ="ab48112543c10762f4959718e625e19e"
-- jsonת֤URL
obj={}
obj[""]="100003"
obj["ûʶ"]="û"
obj["ű"]="λ"
url=jsonToUrl(jsonLib.encode(obj),Կ);
print(url)
--û
url=httpGet("http://pc.yijianwan.com:8080/yjw_pc_login/api/script/addWebUserApi?"..url)
print(url)





httpPost(url,postdata,[timeout],[header])

ƣHTTP POST

˵
urlPOSTַɴ
postdataַͣPOSTݵ
timeoutʱʱ䵥λɲдĬ30
headerhttpͷĬΪ

ֵַͣhttpӦ״̬

local ret,code = httpPost("http://www.baidu.com","arg=123")
print(ret) 





httpGet(url,time)

ƣHTTP GET

˵
urlGETַ
timeʱʱ䵥λɲдĬ30

ֵ
text: ַͣget󷵻صı
code: ַͣgetӦ״̬룬ɹΪ200

local text,code = httpGet("http://www.baidu.com")
print(text) 





urlDown(url,localPath,type)

ƣurlļ

˵
urlַͣصurlַ
localPathַͣصص·
type(0=ȴ1=أ

ֵַͣɹ""ʧܷʧԭ

urlDown("http://www.baidu.com","/sdcard/1.txt",0)





ftpDown(ftpAddr,ftpName,ftpPass,ftpPath,localPath,type)

ƣftpļص

˵
ftpAddrַͣftpַ
ftpNameַͣftpʺ
ftpPassַͣftp
ftpPathַͣftpļ·
localPathַͣرļ·
type(0=ȴ1=أ

ֵַͣɹ""ʧܷʧԭ

ftpDown("http://www.baidu.com","zhanghao","123456","/ceshi/1.txt","/sdcard/1.txt",0)





ftpUpload(ftpAddr,ftpName,ftpPass,ftpPath,localPath,type)

ƣļϴftp

˵
ftpAddrַͣftpַ
ftpNameַͣftpʺ
ftpPassַͣftp
ftpPathַͣftpļ·
localPathַͣرļ·
type(0=ȴ1=أ

ֵַͣɹ""ʧܷʧԭ

ftpUpload("http://www.baidu.com","zhanghao","123456","/ceshi/1.txt","/sdcard/1.txt",0)





cardCipherMessage(toke)

ƣȡĵʱ

˵
toke: ַ,Կַ

ֵ
state:ֵ,trueΪȡɹfalseȡʧ
time:ַ,뵽ڵڣʽΪ(2024-06-19 16:12:47)

---ȡ뵽ʱ
local state,time=cardCipherMessage("T3L4OFHAKF900Q")





cardCipherLogin(toke,kick)

ƣ¼

˵
toke:ַ,Կַ
kick:ֵ,trueΪظ¼ʱԶߵ豸б̨豸falseظ¼ʱߵشĬΪfalse

ע⣺
ĽűΪշѽűrunScriptMain()ǰ¼룬ڵʧܣűֱӽ

ֵ
state:ֵ,trueΪ¼ɹfalse¼ʧ
err:ַ,ʧԭ򡣽ʹtoast()ԭû鿴

local state,err=cardCipherLogin("T3L4OFHAKF900Q",true)--¼
if state == true then
   runScriptMain()   ---űڵ
else
      print(":"..err)
      toast(":"..err)
end





scriptUpdate()

ƣⲢ½ű

˵

ע⣺
˺ڽ.luaļڵãĬϵģ.lua

ֵ
rettrueɹflaseʧ
resк

local ret,res = scriptUpdate()
print(ret,res)





getStringVariable(CH)

ƣȡ׿һеֵַ

˵
CHַ,  ׿һַı

ֵɹرֵʧܷ""

getStringVariable("AA")





getIntVariable(int)

ƣȡ׿һеֵ

˵
intַ,  ׿һı

ֵɹرֵʧܷ-1

getIntVariable("BB")





setStringVariable(variate,txt)

ƣð׿һеֵַ

˵
variateַ, ׿һַı
txtַ,  ֵַ

ֵɹ1ʧܷ0

setStringVariable("AA","PCһ")





setIntVariable(variate,int)

ƣð׿һеֵ

˵
variateַ, ׿һı
int,  ֵ

ֵɹ1ʧܷ0

setIntVariable("BB",12356)





getYJWAdminID()

ƣȡ׿һпߵid

˵


ֵַͣɹؿߵID

local ID = getYJWAdminID()
print(ID)





getYJWUserName()

ƣȡ׿һе¼û

˵

ֵַͣػȡû

local name = getYJWUserName()
print(name)