Main.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  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. this.content.loadHtml(this.viewPath, {"bind": {"lp": this.lp}, "module": this}, function(){
  38. if (!this.options.isRefresh){
  39. this.maxSize(function(){
  40. //检查是否在云服务器上已注册
  41. this.actions.CollectAction.login(//平台封装好的方法
  42. function( json ){ //服务调用成功的回调函数, json为服务传回的数据
  43. //alert(json.type)
  44. if (json.type && json.type=="error"){
  45. o2.xDesktop.notice("error", {x: "right", y:"top"}, json.message+"请至系统配置——云服务配置——连接配置注册并连接到O2云");
  46. }
  47. if (json.type && json.type=="success"){
  48. this.loadApp(callback);
  49. }
  50. }.bind(this),null,false //同步执行
  51. );
  52. }.bind(this));
  53. }else{
  54. this.loadApp(callback);
  55. }
  56. }.bind(this));
  57. },
  58. loadApp: function(callback){
  59. //this.initNode();
  60. this.initNodeSize();
  61. this.recommondLoaded = false;
  62. this.applicationsLoaded = true;
  63. this.loadRecommondContent(function(){ this.recommondLoaded = true; this.checkAppLoaded(callback); }.bind(this));
  64. this.loadApplicationsContent(function(){ this.applicationsLoaded = true; this.checkAppLoaded(callback); }.bind(this));
  65. },
  66. checkAppLoaded: function(callback){
  67. if (this.recommondLoaded && this.applicationsLoaded){
  68. if (callback) callback();
  69. }
  70. },
  71. initNodeSize: function(){
  72. this.resizeNodeSize();
  73. this.addEvent("resize", this.resizeNodeSize.bind(this));
  74. },
  75. resizeNodeSize: function(){
  76. var size = this.content.getSize();
  77. var edge = this.marketnode.getEdgeHeight();
  78. var height = size.y - edge;
  79. if (height<this.options.minHeight) height = this.options.minHeight;
  80. this.marketnode.setStyle("height", ""+height+"px");
  81. },
  82. loadRecommondContent: function(callback){
  83. debugger;
  84. this.recommendContent = new MWF.xApplication.AppMarketV2.RecommendContent(this, this.topRecommendNode, {
  85. "onLoad": function(){if (callback) callback();}
  86. });
  87. },
  88. loadApplicationsContent: function(callback){
  89. o2.requireApp("AppMarketV2", "ApplicationsContent", function(){
  90. this.applicationsContent = new MWF.xApplication.AppMarketV2.ApplicationsContent(this, this.applicationsNode, {
  91. "onLoad": function(){if (callback) callback();}
  92. });
  93. }.bind(this));
  94. }
  95. });