var _usent_buffer = new Array();
class USentResult {
constructor(filter = {}) {
this.filter = filter;
this.sentList = new Array();
this.buffer = new Array();
}
getSent() {
return this.sentList;
}
pushSent(book, para, start, end) {
for (const iterator of this.sentList) {
if (iterator.book == book && iterator.para == para && iterator.start == start && iterator.end == end) {
return;
}
}
this.sentList.push({ book: book, para: para, start: start, end: end });
}
newSent(sent) {
this.buffer.push(sent);
}
queryCallback(data, status) {
switch (status) {
case "success":
try {
let arrSent = JSON.parse(data);
_usent_buffer = arrSent;
} catch (e) {}
break;
case "":
break;
}
}
refresh() {
$.post(
"../usent/sent_query.php",
{
sent: JSON.stringify(this.sentList),
filter: JSON.stringify(this.filter),
},
this.queryCallback
);
}
getSentNum(book, para, start, end) {
for (const iterator of _usent_buffer) {
if (
iterator.info.book == book &&
iterator.info.para == para &&
iterator.info.start == start &&
iterator.info.end == end
) {
return iterator.count;
}
}
return 0;
}
getSentText(book, para, start, end, channal = 0) {
for (const iterator of _usent_buffer) {
if (
iterator.info.book == book &&
iterator.info.para == para &&
iterator.info.start == start &&
iterator.info.end == end
) {
if (channal == 0) {
return iterator.data;
} else {
for (const sent of iterator.data) {
if (sent.channal == channal) {
return sent;
}
}
return false;
}
}
}
return false;
}
setSent(objSent) {
for (let iterator of _usent_buffer) {
if (
iterator.info.book == objSent.book &&
iterator.info.para == objSent.paragraph &&
iterator.info.start == objSent.begin &&
iterator.info.end == objSent.end
) {
let sendSents = new Array();
if (objSent.id == "") {
//新建
objSent.sendId = com_uuid();
objSent.try = 1;
objSent.status = 1;
objSent.saveSuccess = false; //是否保存成功
iterator.data.push(objSent);
sendSents.push(objSent);
} else {
for (let sent of iterator.data) {
if (sent.id == objSent.id) {
sent = objSent;
sent.sendId = com_uuid();
sent.try = 1;
sent.status = 1;
sent.saveSuccess = false; //是否保存成功
sendSents.push(sent);
}
}
}
if (sendSents.length > 0) {
for (const oneSent of sendSents) {
$(
"#send_" +
oneSent.book +
"_" +
oneSent.paragraph +
"_" +
oneSent.begin +
"_" +
oneSent.end +
"_" +
oneSent.channal
).html(
""
);
}
$.post(
"../usent/update.php",
{
data: JSON.stringify(sendSents),
},
function (data, status) {
if (status == "success") {
let result = JSON.parse(data);
let now_time = new Date();
console.log(result);
for (const iterator of result.update) {
$(
"#send_" +
iterator.book +
"_" +
iterator.paragraph +
"_" +
iterator.begin +
"_" +
iterator.end +
"_" +
iterator.channal
).html(
now_time.toLocaleTimeString() +
""
);
}
}
}
);
} else {
return false;
}
}
}
return false;
}
}
var _user_sent_buffer = new USentResult(); //数据库中的全部参考译文句子