* 每隔500ms去检查任务,异步处理任务
(standerTime)
| 24 | * 每隔500ms去检查任务,异步处理任务 |
| 25 | */ |
| 26 | function processTask(standerTime) { |
| 27 | console.log("后端开启轮休任务!"); |
| 28 | var timer = setInterval(function () { |
| 29 | standerTime += 500; |
| 30 | chrome.storage.local.get({"tasks": new Array()}, function(value) { |
| 31 | tasks = value.tasks; |
| 32 | if(tasks != undefined && tasks.length > 0) { |
| 33 | for(var i=0; i<tasks.length; i++) { |
| 34 | |
| 35 | if(tasks[i].status == 0) { |
| 36 | if((new Date(tasks[i].killTime) - standerTime) >= tickTime && (new Date(tasks[i].killTime) - standerTime) <= (tickTime+600)){ |
| 37 | console.log(formatDateTime(new Date(tasks[i].killTime).getTime())); |
| 38 | var task = tasks[i]; |
| 39 | //秒杀开始提醒(检查是否打开相关标签页)没有提示打开 |
| 40 | chrome.tabs.query({url: task.url}, function(results) { |
| 41 | if (results.length == 0) { |
| 42 | chrome.notifications.create("openLinkNotify-"+task.id, { |
| 43 | type: "basic", |
| 44 | iconUrl: "image/link.png", |
| 45 | title: "秒杀助手提醒", |
| 46 | message: task.name + "\n任务将在2分钟后开始,抢购页面尚未打开,是否前往相关页面!", |
| 47 | buttons: [{ title: "打开抢购页面" }, { title: "忽略" }] |
| 48 | }); |
| 49 | } else { |
| 50 | var noActive = true; |
| 51 | for(var j=0; j<results.length; j++){ |
| 52 | if(results[j].active){ |
| 53 | noActive = false; |
| 54 | } |
| 55 | } |
| 56 | if(noActive){ //已经打开但是未激活 |
| 57 | chrome.notifications.create("activeTabNotify-"+task.id, { |
| 58 | type: "basic", |
| 59 | iconUrl: "image/bell.png", |
| 60 | title: "秒杀助手提醒", |
| 61 | message: task.name + "\n将在2分钟后开始,请检查登录及商品规格选择验证码等!", |
| 62 | buttons: [{ title: "切换Tab抢购页面" }, { title: "忽略" }] |
| 63 | }); |
| 64 | } else { //已经打开且激活 |
| 65 | var opt = { type: "basic", title: "秒杀助手提醒", message: task.name + "\n将在2分钟后开始,请检查登录及商品规格选择验证码等!", iconUrl: "image/bell.png"}; |
| 66 | chrome.notifications.create(dialogId+++"", opt); |
| 67 | } |
| 68 | } |
| 69 | }); |
| 70 | } |
| 71 | if((new Date(tasks[i].killTime) - standerTime) >= 0 && (new Date(tasks[i].killTime) - standerTime) <= 600){ |
| 72 | //异步执行点击事件 |
| 73 | var task = tasks[i]; |
| 74 | var tabId = null; |
| 75 | chrome.tabs.query({url: task.url}, function(results) { |
| 76 | if (results.length > 0) { |
| 77 | for(var j=0; j<results.length; j++){ |
| 78 | if(results[j].active){ |
| 79 | tabId = results[j].id; |
| 80 | } |
| 81 | } |
| 82 | if(tabId == null) { |
| 83 | tabId = results[0].id; |
no test coverage detected