Browse Source

通知

master
3136352472 5 years ago
parent
commit
66821cf3a4
  1. 2
      lib/main.js
  2. 20
      lib/tray.js
  3. 31
      lib/web/data.js
  4. 48
      lib/web/main.js

2
lib/main.js

@ -22,7 +22,7 @@ exports.createMainWindow = function () {
exports.MainWindow.hide();
});
exports.MainWindow.isClose = false;
exports.MainWindow.isClose = true;
exports.MainWindow.on("close", function (event) {
if (!exports.MainWindow.isClose) {
event.preventDefault();

20
lib/tray.js

@ -10,11 +10,19 @@ const git = require(path.join(__dirname, 'git.js'));
const mainwin = require(path.join(__dirname, 'main.js'));
let tray = null
ipcMain.on('new-notification', (event, title, body) => {
(new Notification({
ipcMain.on('new-notification', (event, title, body, url) => {
let n = new Notification({
title: title,
body: body
})).show()
body: body,
})
n.on('click', function () {
console.log(url);
if (url) {
mainwin.MainWindow.loadURL(url)
mainwin.MainWindow.show();
}
})
n.show()
});
ipcMain.on('new-task-notification', (event) => {
@ -31,6 +39,10 @@ ipcMain.on('test', (event, a, b, c) => {
let isUpdate = false;
ipcMain.on('put-in-tray', (event) => {
if (!tray) {
mainwin.MainWindow.isClose = false;
tray = new Tray(path.join(__dirname, '../windows-icon.png'))
tray.on("double-click", function () {

31
lib/web/data.js

@ -105,3 +105,34 @@ exports.getTask = function () {
exports.getProjectMap = function () {
return JSON.parse(fs.readFileSync(libdata2.ProjectMapPath));
}
exports.getTaskById = function (id) {
var result = {
"单号": "-",
"标题": "-",
"类型": "-",
"等级": "-",
"分配给": "-",
"所属项目": "-",
"说明": "-",
"开始时间": "-",
"创建人": "-",
"创建时间": "-",
}
$.ajax({
url: `http://oa.ouxuan.net/task.php?a=x&num=work&show=we&mid=${id}`,
async: false,
success: function (html) {
var last = "";
$(html).find("div").each(function (item) {
if (result[last]) {
result[last] = $(this).text();
}
last = $(this).text()
})
}
});
return result;
}

48
lib/web/main.js

@ -13,20 +13,64 @@ function get(name) {
var config = libdata2.GetConfig();
var lastTime = config["loadhit-lastTime"];
if (!lastTime) {
lastTime = config["loadhit-lastTime"] = Date.parse(new Date()) / 1000;
libdata2.SyncConfig(config);
}
window.addEventListener('DOMContentLoaded', () => {
libdata.syncTaskToFile(function () {
ipc.send('put-in-tray')
})
setInterval(function () {
if (libdata.syncDaibanCount()) {
ipc.send('new-task-notification')
console.log("通知中...")
libdata.syncTaskToFile();
}
}, 5 * 1000)
function Loadhit() {
setTimeout(() => {
let url = `http://oa.ouxuan.net/api.php?m=indexreim&a=loadhit&cfrom=mweb&time=${lastTime}`;
$.get(url, function (data) {
data = JSON.parse(data);
console.log(data);
if (data.code == 200) {
data = data.data;
if (data.rows.length > 0) {
lastTime = data.loadtime;
config = libdata2.GetConfig();
libdata2.SyncConfig(config);
config["loadhit-lastTime"] = lastTime;
for (var i = 0; i < data.rows.length; i++) {
var xgurlSplice = data.rows[i].xgurl.split("|")
if (xgurlSplice[0] == "work") {
let id = xgurlSplice[1];
let taskData = libdata.getTaskById(id);
let taskUrl = `http://oa.ouxuan.net/task.php?a=x&num=work&show=mweb&mid=${id}`;
ipc.send('new-notification'
, `${taskData["标题"]}`
, `${taskData["创建人"]} ${taskData["所属项目"]} ${taskData["创建时间"]}\n说明:${taskData["说明"]}`
, taskUrl)
}
}
Loadhit()
}
}
})
}, 5000);
}
Loadhit();
function CommitByQueue() {
setTimeout(() => {
let item = libdata2.PopCommitByQueue();

Loading…
Cancel
Save