var keepScreenOnMinutes = 5;
var randomSleepMinutes = 3;
punchTheClock();
function punchTheClock() {
device.wakeUp();
sleep(2 * 1000);
if (!device.isScreenOn()) {
console.error("屏幕未唤醒,退出脚本");
exit();
}
device.keepScreenOn(keepScreenOnMinutes * 60 * 1000);
var sleep_time = random(0, randomSleepMinutes * 60 * 1000);
sleep(sleep_time);
console.log("打开钉钉");
launchApp("钉钉");
sleep(3 * 1000);
if (id("tv_welcome_name").exists()) {
console.error("钉钉未登录");
reLogin();
}
if (click("我知道了")) {
console.log("自动打卡成功");
}
if (click("暂不更新")) {
console.log("点击暂不更新");
}
sleep(5 * 1000);
console.log("点击工作台");
clickMessage("工作台");
sleep(1 * 1000);
console.log("点击考勤打卡");
clickMessage("考勤打卡");
sleep(2 * 1000);
if (className("android.view.View").text("今日休息").exists()) {
console.log("今日休息");
back();
launchApp("Auto.js");
exit();
}
console.log("查看打卡结果");
var x = className("android.view.View").textContains("已打卡").find();
if(x.length == 0){
x = className("android.view.View").textContains("打卡时间").find();
}
var send_msg = "未打卡成功";
if (x.length > 0) {
send_msg = x[x.length-1].text();
} console.log("打卡结果:", send_msg);
sendWeiChat(getdate() + " " + send_msg);
back();
home();
sleep(1000);
launchApp("Auto.js");
console.log("关闭屏幕常亮");
device.cancelKeepingAwake();
console.log("打卡完成");
exit();
}
function reLogin() {
sleep(2 * 1000);
if (id("cb_privacy").exists()) {
id("cb_privacy").click();
id("et_pwd_login").setText("xxxxxxx");
clickMessage("登录");
console.log("登录成功");
sleep(1 * 1000);
}
}
function internetCheck() {
var url = "m.baidu.com";
var res = http.get(url);
if (res.statusCode != 200) {
console.error("网络不可用");
exit();
}
}
function gpsCheck() {
importClass(android.location.LocationManager);
importClass(android.content.Context);
var locationManager = context.getSystemService(Context.LOCATION_SERVICE);
if (!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
console.error("GPS不可用,无法打卡");
exit();
}
}
function clickMessage(message) {
var n = 3;
var logo = false;
while (n--) {
if (click(message)) {
logo = true;
break;
}
sleep(1 * 1000);
}
if (logo == false) {
console.error("点击" + message + "出错");
exit();
}
}
function sendWeiChat(send_data) {
var corpid = "xxxxx";
var corpsecret = "xxxxx";
var HEADERS = { "Content-Type": "application/json ;charset=utf-8" };
var r = http.get(
"https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" +
corpid +
"&corpsecret=" +
corpsecret,
{
headers: HEADERS,
}
);
var js = r.body.json();
var token = js.access_token;
var data = {
touser: "@all",
msgtype: "text",
agentid: 1000003,
text: { content: send_data },
safe: 0,
enable_id_trans: 0,
enable_duplicate_check: 0,
duplicate_check_interval: 1800,
};
var wechaturl =
"https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + token;
http.postJson(wechaturl, data, { headers: HEADERS });
}
function getdate() {
fdate = new Date();
year = fdate.getFullYear();
month = fdate.getMonth();
day = fdate.getDate();
var keepScreenOnMinutes = 5;
var randomSleepMinutes = 3;
punchTheClock();
function punchTheClock() {
device.wakeUp();
sleep(2 * 1000);
if (!device.isScreenOn()) {
console.error("屏幕未唤醒,退出脚本");
exit();
}
device.keepScreenOn(keepScreenOnMinutes * 60 * 1000);
var sleep_time = random(0, randomSleepMinutes * 60 * 1000);
sleep(sleep_time);
console.log("打开钉钉");
launchApp("钉钉");
sleep(3 * 1000);
if (id("tv_welcome_name").exists()) {
console.error("钉钉未登录");
reLogin();
}
if (click("我知道了")) {
console.log("自动打卡成功");
}
if (click("暂不更新")) {
console.log("点击暂不更新");
}
sleep(5 * 1000);
console.log("点击工作台");
clickMessage("工作台");
sleep(1 * 1000);
console.log("点击考勤打卡");
clickMessage("考勤打卡");
sleep(2 * 1000);
if (className("android.view.View").text("今日休息").exists()) {
console.log("今日休息");
back();
launchApp("Auto.js");
exit();
}
console.log("查看打卡结果");
var x = className("android.view.View").textContains("已打卡").find();
if(x.length == 0){
x = className("android.view.View").textContains("打卡时间").find();
}
var send_msg = "未打卡成功";
if (x.length > 0) {
send_msg = x[x.length-1].text();
} console.log("打卡结果:", send_msg);
sendWeiChat(getdate() + " " + send_msg);
back();
home();
sleep(1000);
launchApp("Auto.js");
console.log("关闭屏幕常亮");
device.cancelKeepingAwake();
console.log("打卡完成");
exit();
}
function reLogin() {
sleep(2 * 1000);
if (id("cb_privacy").exists()) {
id("cb_privacy").click();
id("et_pwd_login").setText("xxxxxxx");
clickMessage("登录");
console.log("登录成功");
sleep(1 * 1000);
}
}
function internetCheck() {
var url = "m.baidu.com";
var res = http.get(url);
if (res.statusCode != 200) {
console.error("网络不可用");
exit();
}
}
function gpsCheck() {
importClass(android.location.LocationManager);
importClass(android.content.Context);
var locationManager = context.getSystemService(Context.LOCATION_SERVICE);
if (!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
console.error("GPS不可用,无法打卡");
exit();
}
}
function clickMessage(message) {
var n = 3;
var logo = false;
while (n--) {
if (click(message)) {
logo = true;
break;
}
sleep(1 * 1000);
}
if (logo == false) {
console.error("点击" + message + "出错");
exit();
}
}
function sendWeiChat(send_data) {
var corpid = "xxxxx";
var corpsecret = "xxxxx";
var HEADERS = { "Content-Type": "application/json ;charset=utf-8" };
var r = http.get(
"https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" +
corpid +
"&corpsecret=" +
corpsecret,
{
headers: HEADERS,
}
);
var js = r.body.json();
var token = js.access_token;
var data = {
touser: "@all",
msgtype: "text",
agentid: 1000003,
text: { content: send_data },
safe: 0,
enable_id_trans: 0,
enable_duplicate_check: 0,
duplicate_check_interval: 1800,
};
var wechaturl =
"https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + token;
http.postJson(wechaturl, data, { headers: HEADERS });
}
function getdate() {
fdate = new Date();
year = fdate.getFullYear();
month = fdate.getMonth();
day = fdate.getDate();
return year + "-" + month + "-" + day;
}
console