update.js 1.6 KB

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