zoukankan      html  css  js  c++  java
  • ding

    Import "shanhai.lua"
    Dim currHour,currMinute,currSecond
    Dim mmRnd = 0
    Dim sumFor=Int(ReadUIConfig("sumFor"))
    Dim waitTime=Int(ReadUIConfig("waitTime"))//单位秒

    If sumFor = 0 Then
    sumFor = 3
    End If

    If waitTime = 0 Then
    waitTime = 39
    End If

    Dim satu = ReadUIConfig("satu")
    Dim sund = ReadUIConfig("sund")

    Dim cardhh = ReadUIConfig("cardhh")
    Dim cardmm = ReadUIConfig("cardmm")

    Dim w_cardhh = ReadUIConfig("w_cardhh")
    Dim w_cardmm = ReadUIConfig("w_cardmm")
    Dim dingshijiancha=0
    Dim sbTimeH=7
    Dim sbTimeM=17
    Dim xbTimeH=17
    Dim xbTimeM=30

    sbTimeH = Int(cardhh)
    sbTimeM = Int(cardmm)
    If sbTimeH = 0 Then
    sbTimeH = DateTime.Hour()
    End If
    If sbTimeM = 0 Then
    sbTimeM = DateTime.Minute() +1
    End If
    outPrint "预计首次触发时间:" & CStr(sbTimeH) & ":" & CStr(sbTimeM)
    Delay 1000

    xbTimeH = Int(w_cardhh)
    xbTimeM = Int(w_cardmm)
    If xbTimeH = 0 Then
    xbTimeH = DateTime.Hour()
    End If
    If xbTimeM = 0 Then
    xbTimeM = DateTime.Minute() +1
    End If
    outPrint "预计第二次触发时间:" & CStr(xbTimeH) & ":" & CStr(xbTimeM)
    Delay 1000

    Dim isCard=0//不打卡0,打卡大于0小于10

    Dim intX, intY,times//寻找图片标记使用
    Dim cardTagSendMail=0
    dim cardExec=0

    Log.Open //打开日志

    While True
    Dim p = CatchTouchPoint(1)
    ShowMessage p[1][1]
    Dim currWeek = DateTime.WeekDay()
    currHour = DateTime.Hour()
    currMinute = DateTime.Minute()
    currSecond= DateTime.Second()
    Dim hm= CSTR(currHour) & ":" & CSTR(currMinute)&":"& CSTR(currSecond)
    If currSecond = 59 or currSecond = 30 Then
    ShowMessage "当前时间:" & hm
    End If

    If currHour = 22 and currMinute = 10 and dingshijiancha = 0 Then
    setMMRnd (3)
    sbTimeM = sbTimeM + mmRnd
    Device.Lock
    Device.UnLock
    dingshijiancha = 1
    Delay 600
    sendEmail "延后分钟:" & CStr(mmRnd) & " 服务还在:" & CStr(DateTime.Hour()) & ":" & CStr(DateTime.Minute())
    Device.Lock
    End If

    //处理星期6 7 情况,weekTag 0为false 1为true
    Dim weekTag = 0
    If currWeek = 6 and satu Then
    weekTag= 1
    End If

    If currWeek = 7 and sund Then
    weekTag= 1
    End If

    If currWeek >= 1 and currWeek <= 5 Then
    weekTag= 1
    End If

    If weekTag=1 and ((currHour = sbTimeH and currMinute = sbTimeM) or (currHour = xbTimeH and currMinute = xbTimeM)) Then
    If isCard = 0 Then
    sbTimeM = sbTimeM - mmRnd
    mmRnd = 0
    isCard = sumFor//反复开启应用n次
    End If
    End If

    While isCard > 0
    Device.Lock
    Device.UnLock
    killDD
    Delay 200
    openDD

    outPrint "isCard:" & isCard
    If isCard = sumFor Then
    sendEmail "开始,"& CStr(DateTime.Hour()) & ":" & CStr(DateTime.Minute())
    End If

    searchTag

    If isCard = 1 Then //最后一次循环的时候锁屏
    cardTagSendMail = 0//上下班打卡标记,免得多次sendEmail
    dingshijiancha = 0//定时23:30 5:10
    cardExec = 0//检测有没有打卡成功的标记
    sendEmail CStr(sumFor) & "次检查完毕,"& CStr(DateTime.Hour()) & ":" & CStr(DateTime.Minute())
    Delay 1000 * 20
    killDD
    Device.Lock()
    End If

    isCard = isCard-1
    Delay 1000 * waitTime
    Wend

    If (currHour=11 or currHour=15 or currHour=16 or currHour=17 or currHour=20 or currHour=4) and currMinute = 50 Then
    Device.Lock
    Device.UnLock
    Delay 1000 * 30
    sendEmail "服务还在:"& CStr(DateTime.Hour()) & ":" & CStr(DateTime.Minute())
    Delay 1000 * 30
    Device.Lock
    End If
    Wend

    Function openDD
    RunApp "com.alibaba.android.rimet"
    End Function
    Function killDD
    KillApp "com.alibaba.android.rimet"
    End Function

    Function setMMRnd(max)
    Randomize
    mmRnd = Int(((max - 0 + 1) * Rnd()) + 0)
    ShowMessage "向后延长分钟数:" & CStr(mmRnd)
    End Function

    Sub searchTag
    /*
    times = 0
    FindPic 0, 0, 16959, 16959, "Attachment:my.png", "000000", 0, 0.8, intX, intY
    While intX = -1 And intY = -1 and times < 5
    FindPic 0, 0, 16959, 16959, "Attachment:my.png", "000000", 0, 0.8, intX, intY
    If intX > -1 And intY > -1 Then
    Exit While
    End If
    Delay 5000
    times = times + 1
    Wend

    times = 0
    FindPic 0, 0, 16959, 16959, "Attachment:search.png", "000000", 0, 0.8, intX, intY
    While intX = -1 And intY = -1 and times < 5
    FindPic 0, 0, 16959, 16959, "Attachment:search.png", "000000", 0, 0.8, intX, intY
    If intX > -1 And intY > -1 Then
    Exit While
    End If
    Delay 5000
    times = times + 1
    Wend
    */
    times = 0
    FindPic 0, 0, 16959, 16959, "Attachment:gs.png", "000000", 0, 0.8, intX, intY
    While intX >= -1 And intY >= -1 and times < 11
    FindPic 0, 0, 16959, 16959, "Attachment:gs.png", "000000", 0, 0.8, intX, intY
    If intX > -1 And intY > -1 Then
    Tap intX, intY
    Exit While
    End If
    Delay 6000
    times = times + 1
    Wend

    times = 0
    FindPic 0, 0, 16959, 16959, "Attachment:card.png", "000000", 0, 0.8, intX, intY
    While intX >= -1 And intY >= -1 and times < 11
    FindPic 0, 0, 16959, 16959, "Attachment:card.png", "000000", 0, 0.8, intX, intY
    If intX > -1 And intY > -1 Then
    Tap intX, intY
    Exit While
    End If
    Delay 6000
    times = times + 1
    Wend

    ///*//上午打卡
    If DateTime.Hour() < 13 and cardTagSendMail = 0 Then
    cardTagSendMail=1
    times = 0

    sbxb_Suc "sb"
    End If
    //*/

    ///*下午打卡
    If DateTime.Hour() > 13 and cardTagSendMail = 0 Then
    cardTagSendMail=1
    times = 0

    sbxb_Suc "xb"
    End If
    //*/

    End Sub

    Sub sbxb_Suc(name)
    FindPic 0, 0, 16959, 16959, "Attachment:" & name & "_success.png", "000000", 0, 0.8, intX, intY
    While intX >= -1 And intY >= -1 and times < 11
    FindPic 0, 0, 16959, 16959, "Attachment:" & name & "_success.png", "000000", 0, 0.8, intX, intY
    If intX > -1 And intY > -1 Then
    cardExec = 1
    ShowMessage name & "已经打过卡"
    sendEmail name & "打卡成功:" & CStr(DateTime.Hour()) & ":" & CStr(DateTime.Minute())
    Exit While
    End If
    Delay 4000
    times = times + 1
    Wend

    If cardExec = 0 Then
    //FindStr(0,0,2000,2000,"长安","9f2e3f-000000",1.0,intX,intY)
    //FindPic 0, 0, 16959, 16959, "Attachment:" & name & "_exec.png", "000000", 0, 0.8, intX, intY
    Dim n="上班打卡"
    If name = "xb" Then
    n="下班打卡"
    End If
    FindStr 0, 0, 16959, 16959, n, "9f2e3f-000000", 1.0, intX, intY
    While intX >= -1 And intY >= -1 and times < 8
    //FindPic 0, 0, 16959, 16959, "Attachment:" & name & "_exec.png", "000000", 0, 0.8, intX, intY
    FindStr 0, 0, 16959, 16959, n, "9f2e3f-000000", 1.0, intX, intY
    If intX > -1 And intY > -1 Then
    Delay 1000*10
    Tap intX, intY
    ShowMessage "执行打卡成功"
    sendEmail name & "打卡成功:" & CStr(DateTime.Hour()) & ":" & CStr(DateTime.Minute())
    Exit While
    End If
    Delay 4000
    times = times + 1
    Wend
    End If
    End Sub

    Sub sendEmail(msg)
    For 3 '固定循环3次跳出
    Dim server ="smtp.qq.com"
    Dim send = "472708969@qq.com"
    Dim pass = "ddvalizklnsubggg"
    Dim title = "card"
    Dim content = msg
    Dim address = "472708969@qq.com"
    Dim ret = SendSimpleEmail(server,send,pass,title,content,address)
    If ret = True Then
    outPrint "邮件发送成功"
    Exit For
    Else
    outPrint "邮件发送失败"
    End If
    Next
    End Sub

    Sub outPrint(msg)
    TracePrint msg
    ShowMessage msg
    Delay 30
    End Sub

  • 相关阅读:
    zabbix 安装(离线源码安装)
    云天励飞摄像头rtsp取流格式
    k8s创建deployment时出现错误ValidationError
    pod 生命周期
    十. Python基础(10)--装饰器
    九. Python基础(9)--命名空间, 作用域
    八. Python基础(8)--函数
    七. Python基础(7)--文件的读写
    六. Python基础(6)--语法
    五. Python基础(5)--语法
  • 原文地址:https://www.cnblogs.com/zzq-include/p/10988383.html
Copyright © 2011-2022 走看看