home.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. /*var TestData={"sequence_id":"0","command":"studio_send_recentfile","data":[{"path":"D:\\work\\Models\\Toy\\3d-puzzle-cube-model_files\\3d-puzzle-cube.3mf","time":"2022\/3\/24 20:33:10"},{"path":"D:\\work\\Models\\Art\\Carved Stone Vase - remeshed+drainage\\Carved Stone Vase.3mf","time":"2022\/3\/24 17:11:51"},{"path":"D:\\work\\Models\\Art\\Kity & Cat\\Cat.3mf","time":"2022\/3\/24 17:07:55"},{"path":"D:\\work\\Models\\Toy\\鐩村墤.3mf","time":"2022\/3\/24 17:06:02"},{"path":"D:\\work\\Models\\Toy\\minimalistic-dual-tone-whistle-model_files\\minimalistic-dual-tone-whistle.3mf","time":"2022\/3\/22 21:12:22"},{"path":"D:\\work\\Models\\Toy\\spiral-city-model_files\\spiral-city.3mf","time":"2022\/3\/22 18:58:37"},{"path":"D:\\work\\Models\\Toy\\impossible-dovetail-puzzle-box-model_files\\impossible-dovetail-puzzle-box.3mf","time":"2022\/3\/22 20:08:40"}]};*/
  2. function OnInit()
  3. {
  4. //-----Test-----
  5. //$("#Login1").hide();
  6. //$("#UserName").text("ZZZZZZZZ");
  7. //$("#Login2").css("display","flex");
  8. TranslatePage();
  9. SendMsg_GetLoginInfo();
  10. SendMsg_GetRecentFile();
  11. }
  12. function HandleStudio( pVal )
  13. {
  14. let strCmd = pVal['command'];
  15. //alert(strCmd);
  16. if(strCmd=='get_recent_projects')
  17. {
  18. ShowRecentFileList(pVal['response']);
  19. }
  20. else if(strCmd=='studio_userlogin')
  21. {
  22. SetLoginInfo(pVal['data']['avatar'],pVal['data']['name']);
  23. }
  24. else if(strCmd=='studio_useroffline')
  25. {
  26. SetUserOffline();
  27. }
  28. else if( strCmd=="studio_set_mallurl" )
  29. {
  30. SetMallUrl( pVal['data']['url'] );
  31. }
  32. else if( strCmd=="studio_clickmenu" )
  33. {
  34. let strName=pVal['data']['menu'];
  35. GotoMenu(strName);
  36. }
  37. }
  38. function GotoMenu( strMenu )
  39. {
  40. let MenuList=$(".BtnItem");
  41. let nAll=MenuList.length;
  42. for(let n=0;n<nAll;n++)
  43. {
  44. let OneBtn=MenuList[n];
  45. if( $(OneBtn).attr("menu")==strMenu )
  46. {
  47. $(".BtnItem").removeClass("BtnItemSelected");
  48. $(OneBtn).addClass("BtnItemSelected");
  49. $("div[board]").hide();
  50. $("div[board=\'"+strMenu+"\']").show();
  51. }
  52. }
  53. }
  54. function SetLoginInfo( strAvatar, strName )
  55. {
  56. $("#Login1").hide();
  57. $("#UserAvatarIcon").prop("src",strAvatar);
  58. $("#UserName").text(strName);
  59. $("#Login2").show();
  60. $("#Login2").css("display","flex");
  61. }
  62. function SetUserOffline()
  63. {
  64. $("#UserAvatarIcon").prop("src","img/c.jpg");
  65. $("#UserName").text('');
  66. $("#Login2").hide();
  67. $("#Login1").show();
  68. $("#Login1").css("display","flex");
  69. }
  70. function SetMallUrl( strUrl )
  71. {
  72. $("#MallWeb").prop("src",strUrl);
  73. }
  74. function ShowRecentFileList( pList )
  75. {
  76. let nTotal=pList.length;
  77. let strHtml='';
  78. for(let n=0;n<nTotal;n++)
  79. {
  80. let OneFile=pList[n];
  81. let sImg=OneFile["image"];
  82. let sPath=OneFile['path'];
  83. let sTime=OneFile['time'];
  84. let sName=OneFile['project_name'];
  85. //let index=sPath.lastIndexOf('\\')>0?sPath.lastIndexOf('\\'):sPath.lastIndexOf('\/');
  86. //let sShortName=sPath.substring(index+1,sPath.length);
  87. let TmpHtml='<div class="FileItem" onClick="OnOpenRecentFile(\''+ encodeURI(sPath)+'\')" >'+
  88. '<a class="FileTip" title="'+sPath+'"></a>'+
  89. '<div class="FileImg" ><img src="'+sImg+'" onerror="this.onerror=null;this.src=\'img/d.png\';" alt="No Image" /></div>'+
  90. '<a>'+sName+'</a>'+
  91. '<div class="FileDate">'+sTime+'</div>'+
  92. '</div>';
  93. strHtml+=TmpHtml;
  94. }
  95. $("#FileList").html(strHtml);
  96. }
  97. /*-------MX Message------*/
  98. function SendMsg_GetLoginInfo()
  99. {
  100. var tSend={};
  101. tSend['sequence_id']=Math.round(new Date() / 1000);
  102. tSend['command']="get_login_info";
  103. SendWXMessage( JSON.stringify(tSend) );
  104. }
  105. function SendMsg_GetRecentFile()
  106. {
  107. var tSend={};
  108. tSend['sequence_id']=Math.round(new Date() / 1000);
  109. tSend['command']="get_recent_projects";
  110. SendWXMessage( JSON.stringify(tSend) );
  111. }
  112. function OnLoginOrRegister()
  113. {
  114. var tSend={};
  115. tSend['sequence_id']=Math.round(new Date() / 1000);
  116. tSend['command']="homepage_login_or_register";
  117. SendWXMessage( JSON.stringify(tSend) );
  118. }
  119. function OnClickNewProject()
  120. {
  121. var tSend={};
  122. tSend['sequence_id']=Math.round(new Date() / 1000);
  123. tSend['command']="homepage_newproject";
  124. SendWXMessage( JSON.stringify(tSend) );
  125. }
  126. function OnClickOpenProject()
  127. {
  128. var tSend={};
  129. tSend['sequence_id']=Math.round(new Date() / 1000);
  130. tSend['command']="homepage_openproject";
  131. SendWXMessage( JSON.stringify(tSend) );
  132. }
  133. function OnOpenRecentFile( strPath )
  134. {
  135. var tSend={};
  136. tSend['sequence_id']=Math.round(new Date() / 1000);
  137. tSend['command']="homepage_open_recentfile";
  138. tSend['data']={};
  139. tSend['data']['path']=decodeURI(strPath);
  140. SendWXMessage( JSON.stringify(tSend) );
  141. }
  142. function OnLogOut()
  143. {
  144. var tSend={};
  145. tSend['sequence_id']=Math.round(new Date() / 1000);
  146. tSend['command']="homepage_logout";
  147. SendWXMessage( JSON.stringify(tSend) );
  148. }
  149. window.postMessage = HandleStudio