oa助手类工具
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

134 lines
3.6 KiB

const fs = require('fs');
const path = require('path')
const libdata = require(path.join(__dirname, "data.js"));
const libdata2 = require(path.join(__dirname, "../data.js"));
const ipc = require('electron').ipcRenderer
function get(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return (r[2]); return null;
}
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()) {
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();
console.log("PopCommitByQueue")
if (item && item.id) {
console.log(item)
let data = {
sm: item.commit,
name: "评论",
mid: item.id,
modenum: "work"
};
$.ajax({
url: "http://oa.ouxuan.net/index.php?a=pinglun&m=flowopt&d=flow&ajaxbool=true",
async: false,
data: data,
success: function () {
ipc.send('new-notification', "有一条新的评论被同步", `分支:${item.branch} 评论内容:${item.commit}`)
}
});
}
CommitByQueue();
}, 1000);
}
CommitByQueue();
let m = get("m");
if (PageJs[m]) {
PageJs[m]()
} else {
// alert("未有指定动作:" + m);
}
})
PageJs = {
login() {
_loginsubmit = loginsubmit
loginsubmit = function () {
const adminuser = document.getElementById("adminuser")
const adminpass = document.getElementById("adminpass")
fs.writeFileSync(libdata2.UsernamePath, JSON.stringify({
username: adminuser.value,
password: adminpass.value,
}))
_loginsubmit(0)
}
if (fs.existsSync(libdata2.UsernamePath)) {
let data = fs.readFileSync(libdata2.UsernamePath);
data = JSON.parse(data)
const adminuser = document.getElementById("adminuser")
adminuser.value = data["username"];
const adminpass = document.getElementById("adminpass")
adminpass.value = data["password"];
loginsubmit(0)
}
}
}