Main.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  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. if (json.type && json.type=="success"){
  45. this.loadApp(callback);
  46. }
  47. }.bind(this),
  48. function( json ){ //服务调用成功的回调函数, json为服务传回的数据
  49. errtype = JSON.parse(json.response).type;
  50. if (errtype && errtype=="error"){
  51. //o2.xDesktop.notice("error", {x: "right", y:"top"}, JSON.parse(json.response).message+"请至系统配置——云服务配置——连接配置注册并连接到O2云");
  52. this.loadCloudConnectTip(callback);
  53. }
  54. }.bind(this)
  55. ,false //同步执行
  56. );
  57. }.bind(this));
  58. }else{
  59. this.loadApp(callback);
  60. }
  61. }.bind(this));
  62. }else{
  63. o2.xDesktop.notice("error", {x: "right", y:"top"}, "应用市场需要管理员角色才能访问");
  64. }
  65. },
  66. loadApp: function(callback){
  67. //this.initNode();
  68. this.initNodeSize();
  69. this.recommondLoaded = false;
  70. this.applicationsLoaded = true;
  71. this.loadRecommondContent(function(){ this.recommondLoaded = true; this.checkAppLoaded(callback); }.bind(this));
  72. this.loadApplicationsContent(function(){ this.applicationsLoaded = true; this.checkAppLoaded(callback); }.bind(this));
  73. },
  74. loadCloudConnectTip:function(callback){
  75. this.initNodeSize();
  76. o2.requireApp("AppMarketV2", "CloudConnectTip", function(){
  77. this.cloudTip = new MWF.xApplication.AppMarketV2.CloudConnectTip(this, this.cloudConnectTipNode, {
  78. "onLoad": function(){if (callback) callback();}
  79. });
  80. }.bind(this));
  81. },
  82. checkAppLoaded: function(callback){
  83. if (this.recommondLoaded && this.applicationsLoaded){
  84. if (callback) callback();
  85. }
  86. },
  87. initNodeSize: function(){
  88. this.resizeNodeSize();
  89. this.addEvent("resize", this.resizeNodeSize.bind(this));
  90. },
  91. resizeNodeSize: function(){
  92. var size = this.content.getSize();
  93. var edge = this.marketnode.getEdgeHeight();
  94. var height = size.y - edge;
  95. if (height<this.options.minHeight) height = this.options.minHeight;
  96. this.marketnode.setStyle("height", ""+height+"px");
  97. },
  98. loadRecommondContent: function(callback){
  99. debugger;
  100. this.recommendContent = new MWF.xApplication.AppMarketV2.RecommendContent(this, this.topRecommendNode, {
  101. "onLoad": function(){if (callback) callback();}
  102. });
  103. },
  104. loadApplicationsContent: function(callback){
  105. o2.requireApp("AppMarketV2", "ApplicationsContent", function(){
  106. this.applicationsContent = new MWF.xApplication.AppMarketV2.ApplicationsContent(this, this.applicationsNode, {
  107. "onLoad": function(){if (callback) callback();}
  108. });
  109. }.bind(this));
  110. }
  111. });