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

ding的更多相关文章

  1. <转载> GIT 操作小结 http://www.cnblogs.com/-ding/p/6008096.html

    参考: http://www.cnblogs.com/zyf-zhaoyafei/p/4486220.html 作者:万境绝尘 转载请注明出处:http://blog.csdn.net/shulian ...

  2. obs nginx-rtmp-module搭建流媒体服务器实现直播 ding

    接下来我就简单跟大家介绍一下利用nginx来搭建流媒体服务器. 我选择的是腾讯云服务器 1.下载nginx-rtmp-module: nginx-rtmp-module的官方github地址:http ...

  3. 【C#公共帮助类】 Utils 10年代码,最全的系统帮助类

    为大家分享一下个人的一个Utils系统帮助类,可能有些现在有新的技术替代,自行修改哈~ 这个帮助类主要包含:对象转换处理 .分割字符串.截取字符串.删除最后结尾的一个逗号. 删除最后结尾的指定字符后的 ...

  4. php 基础代码大全(不断完善中)

    下面是基础的PHP的代码,不断完善中~ //语法错误(syntax error)在语法分析阶段,源代码并未被执行,故不会有任何输出. /* [命名规则] */ 常量名 类常量建议全大写,单词间用下划线 ...

  5. ContentProvider域名替换小工具

    开发项目域名想怎么换就怎么换,就是这么任性! 这是一个很有意思的小工具! 这是一个方便开发人员和测试人员的小工具!! 吐槽: 一直在做Android开发,一直总有一个问题存在:做自己公司的apk开发时 ...

  6. Oracle 内置sql函数大全

    F.1字符函数--返回字符值 这些函数全都接收的是字符族类型的参数(CHR除外)并且返回字符值.除了特别说明的之外,这些函数大部分返回VARCHAR2类型的数值.字符函数的返回类型所受的限制和基本数据 ...

  7. 【转】漫谈iOS程序的证书和签名机制

    转自:漫谈iOS程序的证书和签名机制 接触iOS开发半年,曾经也被这个主题坑的摸不着头脑,也在淘宝上买过企业证书签名这些服务,有大神都做了一个全自动的发布打包(不过此大神现在不卖企业证书了),甚是羡慕 ...

  8. Oracle汉字转拼音package

    --函数GetHzFullPY(string)用于获取汉字字符串的拼音 --select GetHzFullPY('中华人民共和国') from dual; --返回:ZhongHuaRenMinGo ...

  9. spool命令

    最近工作中,需对数据进行比对.在此之前,则需将数据导出.想到以前用过的spool命令,实验一番,分享如下: 需建SQL执行脚本,内容如下: set feedback off   --关掉行数显示set ...

随机推荐

  1. 如何解决金蝶IKernel.exe报错 Windows Installer 错误 重新安装、无法卸载

    如何解决金蝶IKernel.exe报错 Windows Installer 错误 金蝶这个小婊子,就是这么贱. 卸载了高版本的,再安装低版本就不能安装上,死活都不能安装. 请手动启动一下Install ...

  2. finnal关键字修饰

    1.修饰变量,被赋值后不能被赋其他值,相当于常量 2.修饰方法,该方法不可以被子类重写,但可以重载 3.修饰类,修饰的类不可以被继承,如String,Math等

  3. centos7--zabbix3.4微信报警

    1.申请企业微信 1.1 注册企业微信的地址 https://qy.weixin.qq.com/ 1.2 按照提示进行填写 1.3 完善个人信息: 1.4 创建应用 根据提示创建应用: 1.5 筛出重 ...

  4. jQuery学习笔记——事件

    何为事件 就是你的鼠标,键盘等对网页元素进行的操作. 常见事件 鼠标事件 键盘事件 表单事件 文档/窗口事件 click keypress submit load dblclick keydown c ...

  5. PIT 编辑器编辑及协同架构说明

    pit 项目使用 quill-delta 作为数据层存储文档内容数据,quill-delta 是一个基于 OT 算法的库,用 quill-delta 作为数据层,不仅能很好的保存文档数据,还可以方便的 ...

  6. Assignment5: 使用Visual Studio 进行可编码的UI测试

    一.实验目的: 使用Visual Studio 可编码的UI测试功能创作自动化测试 二.实验原理:黑盒测试 三.实验需求:win8 app.Visual Studio Ultimate 2012/20 ...

  7. Shell同步数据到oracle数据库

    某数据库有几张表更新,本地数据库增量更新数据,用脚本定时执行实现. 由于无blob/clob字段,使用sqlldr导入数据:查询目的数据库,以"|"分割导出所有数据,保存在./da ...

  8. Android Mboot mmc命令介绍

    mmc command.         目前Mboot支持以下mmc命令: 1) mmc read/write.    读写命令.Addr = 内存地址, blk# = 起始block数, size ...

  9. win7+64位+Java学习基本软件安装+环境配置+eclipse(IDE)

    一.下载安装JDK 1.安装包下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.h ...

  10. vue入门|ElementUI使用指南

    vue入门|ElementUI使用指南 1.开发前务必熟悉的文档: vue.js2.0中文,项目所使用的js框架 vue-router,vue.js配套路由 vuex 状态管理 Element UI框 ...