update.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. var user_wbw_data_buffer = new Array();
  2. function user_wbw_push_paragraph(blockid) {}
  3. function user_wbw_push_word_element(xWord) {
  4. let wordid = getNodeText(xWord, "id");
  5. let wId = wordid.split("-")[2];
  6. let mWord = doc_word("#" + wordid);
  7. let blockid = mWord.block.info("id");
  8. user_wbw_push(blockid, wId, com_xmlToString(xWord));
  9. }
  10. function user_wbw_push_word(wordid) {
  11. let xWord = doc_word("#" + wordid);
  12. let blockid = xWord.block.info("id");
  13. let book = xWord.block.info("book");
  14. let para = xWord.block.info("paragraph");
  15. let aWordid = wordid.split("-");
  16. aWordid.length = 3;
  17. if (para != aWordid[1]) {
  18. alert("error:paragraph sn.");
  19. return;
  20. }
  21. let newWordid = aWordid.join("-");
  22. let wId = aWordid[2];
  23. let xAllWord = gXmlBookDataBody.getElementsByTagName("word");
  24. let index = getWordIndex(newWordid);
  25. let wordData = "";
  26. if (xAllWord[index]) {
  27. for (let i = index; i < xAllWord.length; i++) {
  28. if (getNodeText(xAllWord[i], "id").split("-")[2] != wId) {
  29. break;
  30. }
  31. wordData += com_xmlToString(xAllWord[i]);
  32. }
  33. user_wbw_push(blockid, wId, wordData);
  34. }
  35. }
  36. function user_wbw_push(block_id, wid, data) {
  37. let d = new Date();
  38. let objData = new Object();
  39. objData.block_id = block_id;
  40. objData.word_id = wid;
  41. objData.data = data;
  42. objData.time = d.getTime();
  43. objData.book = doc_block("#" + block_id).info("book");
  44. objData.para = doc_block("#" + block_id).info("paragraph");
  45. user_wbw_data_buffer.push(objData);
  46. }
  47. function user_wbw_commit() {
  48. if (user_wbw_data_buffer.length == 0) {
  49. return;
  50. }
  51. $.post(
  52. "../uwbw/update.php",
  53. {
  54. data: JSON.stringify(user_wbw_data_buffer),
  55. },
  56. function (data, status) {
  57. try {
  58. let result = JSON.parse(data);
  59. if (result.status == 0) {
  60. ntf_show("user wbw" + result.message);
  61. } else {
  62. ntf_show("user wbw error" + result.message);
  63. }
  64. } catch (e) {
  65. console.error("user_wbw_update:" + e + " data:" + data);
  66. ntf_show("user wbw");
  67. }
  68. }
  69. );
  70. user_wbw_data_buffer = new Array();
  71. }