usent_ref.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. var _usent_buffer;
  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, num = 1) {
  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. return iterator.data;
  68. }
  69. }
  70. return null;
  71. }
  72. }
  73. var _user_sent_buffer = new USentResult(); //数据库中的全部参考译文句子