jquery-rockoffice.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /**
  2. * 在线编辑获取内容的20250606
  3. */
  4. js.plugin_rockoffice = function(conf){
  5. if(conf){
  6. this.plugin_rockofficefileid= 0;
  7. this.plugin_rockoffice_conf = conf;
  8. this.plugin_rockofficeopen();
  9. if(conf.erand)js.plugin_rockofficestartv();
  10. }
  11. }
  12. js.plugin_rockofficeopen = function(){
  13. clearInterval(js.plugin_rockofficetime);
  14. if(js.plugin_rockofficebool)return;
  15. var conf = this.plugin_rockoffice_conf;
  16. if(!conf)return;
  17. var ws = new WebSocket(jm.base64decode(conf.wsurl));
  18. ws.onopen = function(){
  19. this.send('{"from":"'+conf.recid+'","adminid":"'+conf.adminid+'","atype":"connect","sendname":"'+conf.adminname+'"}');
  20. js.plugin_rockofficebool = true;
  21. }
  22. ws.onclose = function(e){
  23. js.plugin_rockofficebool = false;
  24. js.plugin_rockofficetime = setTimeout('js.plugin_rockofficeopen()',3000);
  25. };
  26. ws.onerror = function(e){
  27. js.plugin_rockofficebool = false;
  28. js.plugin_rockofficetime = setTimeout('js.plugin_rockofficeopen()',5000);
  29. };
  30. ws.onmessage = function(evt){
  31. js.plugin_rockofficebool = true;
  32. var ds = JSON.parse(evt.data);
  33. js.plugin_rockofficemessage(ds);
  34. };
  35. js.plugin_rockofficews = ws;
  36. }
  37. js.plugin_rockofficemessage = function(d){
  38. var xxtype = d.xxtype;
  39. if(d.waitmsg)js.msg('wait',jm.base64decode(d.waitmsg));
  40. if(d.msg)js.msg('success',jm.base64decode(d.msg));
  41. if(d.xxtype=='glast'){
  42. js.plugin_rockofficegetfile(d.fileid);
  43. }
  44. }
  45. js.plugin_rockofficegetfile = function(fid){
  46. if(this.plugin_rockofficefileid == fid)return;
  47. this.plugin_rockofficefileid = fid;
  48. $.get('api.php?m=upload&a=editfileb&fileid='+fid+'', function(s){
  49. js.plugin_rockoffice_conf = '';
  50. if(s)js.msg('success',s);
  51. });
  52. }
  53. js.plugin_rockofficestart = function(){
  54. var d = this.plugin_rockoffice_conf;
  55. if(!d)return;
  56. if(this.plugin_rockofficefileid == d.fileid)return;
  57. $.get('api.php?m=upload&a=editfilec&fileid='+d.fileid+'&erand='+d.erand+'', function(s){
  58. if(s=='start'){
  59. js.msg('wait','获取编辑文件中...');
  60. js.plugin_rockofficegetfile(d.fileid);
  61. }
  62. if(s=='wait'){
  63. js.plugin_rockofficestartv();
  64. }
  65. });
  66. }
  67. js.plugin_rockofficestartv = function(){
  68. clearTimeout(js.plugin_rockofficestarts);
  69. js.plugin_rockofficestarts = setTimeout('js.plugin_rockofficestart()',10*1000);
  70. }
粤ICP备19079148号