Main.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. MWF.require("MWF.widget.MaskNode", null, false);
  2. o2.requireApp("AppMarketV2", "RecommendContent", null, false);
  3. MWF.xApplication.AppMarketV2.Main = new Class({
  4. Extends: MWF.xApplication.Common.Main,
  5. Implements: [Options, Events],
  6. options: {
  7. "style": "default",
  8. "mvcStyle": "style.css",
  9. "name": "AppMarketV2",
  10. "icon": "icon.png",
  11. "width": "1000",
  12. "height": "700",
  13. "isResize": true,
  14. "isMax": true,
  15. "title": MWF.xApplication.AppMarketV2.LP.title,
  16. "minHeight": 700
  17. },
  18. onQueryLoad: function(){
  19. this.lp = MWF.xApplication.AppMarketV2.LP;
  20. this.actions = MWF.Actions.load("x_program_center");
  21. this.viewPath = this.path+this.options.style+"/view.html";
  22. this.iconPath = this.path+this.options.style+"/icon/";
  23. },
  24. mask: function(){
  25. if (!this.maskNode){
  26. this.maskNode = new MWF.widget.MaskNode(this.marketnode, {"style": "bam"});
  27. this.maskNode.load();
  28. }
  29. },
  30. unmask: function(){
  31. if (this.maskNode) this.maskNode.hide(function(){
  32. MWF.release(this.maskNode);
  33. this.maskNode = null;
  34. }.bind(this));
  35. },
  36. loadApplication: function(callback){
  37. if (MWF.AC.isAdministrator()){ //this.checkO2Collect();
  38. this.content.loadHtml(this.viewPath, {"bind": {"lp": this.lp}, "module": this}, function(){
  39. if (!this.options.isRefresh){
  40. this.maxSize(function(){
  41. //检查是否在云服务器上已注册
  42. this.actions.CollectAction.login(//平台封装好的方法
  43. function( json ){ //服务调用成功的回调函数, json为服务传回的数据
  44. //alert(json.type)
  45. if (json.type && json.type=="error"){
  46. o2.xDesktop.notice("error", {x: "right", y:"top"}, json.message+"请至系统配置——云服务配置——连接配置注册并连接到O2云");
  47. }
  48. if (json.type && json.type=="success"){
  49. this.loadApp(callback);
  50. }
  51. }.bind(this),null,false //同步执行
  52. );
  53. }.bind(this));
  54. }else{
  55. this.loadApp(callback);
  56. }
  57. }.bind(this));
  58. }else{
  59. o2.xDesktop.notice("error", {x: "right", y:"top"}, "应用市场需要管理员角色才能访问");
  60. }
  61. },
  62. loadApp: function(callback){
  63. //this.initNode();
  64. this.initNodeSize();
  65. this.recommondLoaded = false;
  66. this.applicationsLoaded = true;
  67. this.loadRecommondContent(function(){ this.recommondLoaded = true; this.checkAppLoaded(callback); }.bind(this));
  68. this.loadApplicationsContent(function(){ this.applicationsLoaded = true; this.checkAppLoaded(callback); }.bind(this));
  69. },
  70. checkAppLoaded: function(callback){
  71. if (this.recommondLoaded && this.applicationsLoaded){
  72. if (callback) callback();
  73. }
  74. },
  75. initNodeSize: function(){
  76. this.resizeNodeSize();
  77. this.addEvent("resize", this.resizeNodeSize.bind(this));
  78. },
  79. resizeNodeSize: function(){
  80. var size = this.content.getSize();
  81. var edge = this.marketnode.getEdgeHeight();
  82. var height = size.y - edge;
  83. if (height<this.options.minHeight) height = this.options.minHeight;
  84. this.marketnode.setStyle("height", ""+height+"px");
  85. },
  86. loadRecommondContent: function(callback){
  87. debugger;
  88. this.recommendContent = new MWF.xApplication.AppMarketV2.RecommendContent(this, this.topRecommendNode, {
  89. "onLoad": function(){if (callback) callback();}
  90. });
  91. },
  92. loadApplicationsContent: function(callback){
  93. o2.requireApp("AppMarketV2", "ApplicationsContent", function(){
  94. this.applicationsContent = new MWF.xApplication.AppMarketV2.ApplicationsContent(this, this.applicationsNode, {
  95. "onLoad": function(){if (callback) callback();}
  96. });
  97. }.bind(this));
  98. }
  99. });