最近日事清服务器总是不稳定,放假前发现好些记录的任务都不见了,吓坏我了,上班就折腾赶紧把任务都导出来。
日事清所谓的客户端,其实也就是嵌套了一个网页,所以直接使用网页登录,通过JS脚本取得任务信息就可以,JS代码如下:
//添加Jquery库
var jqueryCdn = document.createElement('script');
jqueryCdn.src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js";
document.body.append(jqueryCdn);
var list=[];
//取得待办清单
$.getJSON("https://www.rishiqing.com/task/v1/todo/list?startDate=2018.10.07&endDate=2018.10.07&_=1538877940103",function (data){list = data});
//按重要级别排序
list.sort(function (a,b){
if (a.name.substr(0,1) == b.name.substr(0,1))return 0;
if (a.name.substr(0,1) > b.name.substr(0,1)){
return 1;
}else{
return -1;
}
});
list.sort(function (a,b){
return a.priority - b.priority
});
//重新组装任务信息
var nlist=[];
list.forEach(
function (t){
var _a = {"id":t.id,"name":t.name,"note":""};
_a.subTasks = _a.content = [];
//任务描述和子任务
$.getJSON("https://www.rishiqing.com/task/v1/todo/"+t.id,function (d){
_a.note = d.note;
d.subTasks.forEach(function (s){
_a.subTasks=_a.subTasks.concat(new Array(s.name));
});
});
//评论
$.getJSON("https://www.rishiqing.com/task/v1/todoComment/list?todoId="+t.id,function (d){
d.forEach(function (s){
_a.content=_a.content.concat(new Array(s.content));
});
});
nlist=nlist.concat(
new Array(_a)
);
}
)
//输出
docuemnt.open();
document.body.innerText="";
nlist.forEach(
function (l){
document.writeln("<h1>"+l.name+"</h1>");
document.write("<span>["+l.id+"]</span>");
if(l.note != null){document.writeln("<p>"+l.note+"</p>");}
document.writeln("<ul>");
l.subTasks.forEach(function (s){
document.writeln("<li>"+s+"</li>");
});
document.writeln("</ul>");
document.writeln("<table>");
l.content.forEach(function (s){
document.writeln("<tr><td>"+s+"</td></tr>");
});
document.writeln("</table>");
}
)
代码并不难,这个主要用于自己备忘,也方便如果有需要的人获取。