usent_ref.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. var _usent_buffer = new Array();
  2. class USentResult {
  3. constructor(filter = {}) {
  4. this.filter = filter;
  5. this.sentList = new Array();
  6. this.buffer = new Array();
  7. }
  8. pushSent(book, para, start, end) {
  9. for (const iterator of this.sentList) {
  10. if (
  11. iterator.book == book &&
  12. iterator.para == para &&
  13. iterator.start == start &&
  14. iterator.end == end
  15. ) {
  16. return;
  17. }
  18. }
  19. this.sentList.push({ book: book, para: para, start: start, end: end });
  20. }
  21. newSent(sent) {
  22. this.buffer.push(sent);
  23. }
  24. queryCallback(data, status) {
  25. switch (status) {
  26. case "success":
  27. try {
  28. let arrSent = JSON.parse(data);
  29. _usent_buffer = arrSent;
  30. } catch (e) {}
  31. break;
  32. case "":
  33. break;
  34. }
  35. }
  36. refresh() {
  37. $.post(
  38. "../usent/sent_query.php",
  39. {
  40. sent: JSON.stringify(this.sentList),
  41. filter: JSON.stringify(this.filter),
  42. },
  43. this.queryCallback
  44. );
  45. }
  46. getSentNum(book, para, start, end) {
  47. for (const iterator of _usent_buffer) {
  48. if (
  49. iterator.info.book == book &&
  50. iterator.info.para == para &&
  51. iterator.info.start == start &&
  52. iterator.info.end == end
  53. ) {
  54. return iterator.count;
  55. }
  56. }
  57. return 0;
  58. }
  59. getSentText(book, para, start, end, channal = 0) {
  60. for (const iterator of _usent_buffer) {
  61. if (
  62. iterator.info.book == book &&
  63. iterator.info.para == para &&
  64. iterator.info.start == start &&
  65. iterator.info.end == end
  66. ) {
  67. if (channal == 0) {
  68. return iterator.data;
  69. } else {
  70. for (const sent of iterator.data) {
  71. if (sent.channal == channal) {
  72. return sent;
  73. }
  74. }
  75. return false;
  76. }
  77. }
  78. }
  79. return false;
  80. }
  81. setSent(objSent) {
  82. for (let iterator of _usent_buffer) {
  83. if (
  84. iterator.info.book == objSent.book &&
  85. iterator.info.para == objSent.paragraph &&
  86. iterator.info.start == objSent.begin &&
  87. iterator.info.end == objSent.end
  88. ) {
  89. let sendSents = new Array();
  90. if (objSent.id == "") {
  91. //新建
  92. objSent.sendId = com_uuid();
  93. objSent.try = 1;
  94. objSent.saveSuccess = false; //是否保存成功
  95. iterator.data.push(objSent);
  96. sendSents.push(objSent);
  97. } else {
  98. for (let sent of iterator.data) {
  99. if (sent.id == objSent.id) {
  100. sent = objSent;
  101. sent.sendId = com_uuid();
  102. sent.try = 1;
  103. sent.saveSuccess = false; //是否保存成功
  104. sendSents.push(sent);
  105. }
  106. }
  107. }
  108. if (sendSents.length > 0) {
  109. for (const oneSent of sendSents) {
  110. $(
  111. "#send_" +
  112. oneSent.book +
  113. "_" +
  114. oneSent.paragraph +
  115. "_" +
  116. oneSent.begin +
  117. "_" +
  118. oneSent.end +
  119. "_" +
  120. oneSent.channal
  121. ).text("发送中");
  122. }
  123. $.post(
  124. "../usent/update.php",
  125. {
  126. data: JSON.stringify(sendSents),
  127. },
  128. function (data, status) {
  129. if (status == "success") {
  130. let result = JSON.parse(data);
  131. console.log(result);
  132. for (const iterator of result.update) {
  133. $(
  134. "#send_" +
  135. iterator.book +
  136. "_" +
  137. iterator.paragraph +
  138. "_" +
  139. iterator.begin +
  140. "_" +
  141. iterator.end +
  142. "_" +
  143. iterator.channal
  144. ).text("");
  145. }
  146. }
  147. }
  148. );
  149. } else {
  150. return false;
  151. }
  152. }
  153. }
  154. return false;
  155. }
  156. }
  157. var _user_sent_buffer = new USentResult(); //数据库中的全部参考译文句子