diff --git a/example/admin.html b/example/admin.html
index d4be95e..dc558d9 100644
--- a/example/admin.html
+++ b/example/admin.html
@@ -41,7 +41,7 @@
//代码写在onload里防止阻塞页面渲染
window.onload = function () {
Rap.config({
- debug: true,
+ debug: false,
default_page: "test/default",
app_version: '12',
comp_version: {'test_page6': 1},
diff --git a/rap.1.2.6.min.js b/rap.1.2.6.min.js
index fa75860..7e0cc36 100644
--- a/rap.1.2.6.min.js
+++ b/rap.1.2.6.min.js
@@ -1 +1 @@
-(function webpackUniversalModuleDefinition(root,factory){if(typeof exports==='object'&&typeof module==='object')module.exports=factory();else if(typeof define==='function'&&define.amd)define([],factory);else if(typeof exports==='object')exports["Rap"]=factory();else root["Rap"]=factory()})(this,function(){function P(call){function create(){var success=null;var success_arg=null;var result=0;var error=null;var error_arg=null;var next=null;var nextCall=function(){try{var data=success(success_arg);if(data&&typeof data.then=="function"){data.then(function(res){next.resolve(res)}).catch(function(e){next.reject(e)})}else{next.resolve(data)}}catch(e){next.reject(e)}};return{resolve:function(res){success_arg=res;result=1;if(success){nextCall()}return this},reject:function(res){error_arg=res;result=2;if(error){error(error_arg)}else if(next){next.reject(res)}return this},then:function(call,e){next=P();success=call;error=e;if(result==1){nextCall()}else if(result==2){if(error){error(error_arg)}else{next.reject(error_arg)}}next.parent=this;return next},catch:function(e){error=e;if(result==2){error(error_arg)}}}}var p=create();if(call){p=p.resolve().then(call)}return p}function rapGet(url){var p=P();var request;if(window.XMLHttpRequest){request=new XMLHttpRequest();}else{request=new ActiveXObject('MicroSoft.XMLHTTP');}request.open('get',url);request.onreadystatechange=function(){if(request.readyState==4&&request.status==200){p.resolve(request.responseText)}};request.send();return p}var viewLines={};var routers={};var RapConfig={script:[],css:[]};var Cache={get:function(key){return localStorage.getItem(key)},set:function(key,value){try{localStorage.setItem(key,value)}catch(e){var length=this.count();var js="";for(var i=0;i-1&&RapConfig.script.indexOf(k)<0){this.remove(k)}else if(key.indexOf('.css')>-1&&RapConfig.css.indexOf(k)<0){this.remove(k)}}try{localStorage.setItem(key,value)}catch(e){}}},remove:function(key){localStorage.remove(key)},clear:function(){localStorage.clear()},count:function(){return localStorage.length},key:function(index){return localStorage.key(index)}};function urlJoin(base,url){if(url.indexOf('/')==0){return url}if(!(url.indexOf('/')>-1&&url.indexOf('.')>-1)){return base+url}var p=base.split("/");p.pop();p.pop();var pre=[];while(url.indexOf('../')==0){url=url.replace("../","");pre.push(p.pop())}return pre.join("/")+"/"+url}function loadLayoutAndRely(url,rely,layout){var p=Rap.loadMod(layout);if(rely){for(var i=0;i-1){p.resolve();return p}scripts_loaded.push(url);var content=Cache.get(url);if(!Rap.debug&&content){try{if(!raw){evalJS(url,content)}p.resolve({url:url,content:content});return p}catch(e){Cache.remove(url)}}rapGet(url).then(function(content){if(!raw){evalJS(url,content)}Cache.set(url,content);p.resolve({url:url,content:content})})}return p},loadCss:function(url,raw){var p=P();if(!url){p.resolve();return p}if(url instanceof Array){var promise=Rap.promise().resolve();for(var i=0;i2){layout=arguments[0];rely=arguments[1];config=arguments[2]}else if(arguments.length>1){rely=arguments[0];config=arguments[1]}else{config=arguments[0]}this.$pageDefine={layout:layout,rely:rely,config:config}},appVersion:function(version){Rap.RapAppVersion=version;var rapAppVersion=Cache.get('RapAppVersion');if(rapAppVersion&&rapAppVersion!=Rap.RapAppVersion){Cache.clear()}Cache.set('RapAppVersion',Rap.RapAppVersion)},init:function(){Rap.isReady=true;Cache.set('RapAppVersion',Rap.RapAppVersion);var promise=Rap.promise().resolve();for(var i=0;i-1){hash=hash.substr(hash.indexOf('?')+1);var qs=hash.split('&');for(var i=0;i-1){hash=hash.substr(0,hash.indexOf('?'))}var path=hash.split('/');var m=[];var args=arguments;for(var i=0;i0){var result={};for(i=0;i-1){hash=hash.substr(0,hash.indexOf('?'))}else if(hash.indexOf('&')>-1){hash=hash.substr(0,hash.indexOf('&'))}for(var key in Rap.global_router.query){delete Rap.global_router.query[key]}var query=Rap.$query();for(var key in query){var value=query[key];if(parseInt(value)+""==value){value=parseInt(value)}Vue.set(Rap.global_router.query,key,value)}Rap.global_router.search.length=0;var search=Rap.$search();for(var i=0;i0){this.childView=this.RapViews.items[0]}}};function currentItems(items,view){items.push(view);var layout=viewLines[view];if(layout){currentItems(items,layout)}}Rap.onViewChange(function(view){var items=[];currentItems(items,view);items=items.reverse();RapShareData.RapViews.items=items;RapShareData.RapViews.index++});window.addEventListener("popstate",Rap.onhashchange,false);Rap.build=function(file){var div=document.createElement("div");div.setAttribute('style',"width: 100%;height: 100%; background: white;position: fixed;left: 0;right: 0;text-align: center;padding-top: 30px;top: 0;z-index: 10000;font-size: 21px;");div.textContent="编译中...";document.body.appendChild(div);function buildJs(){var length=Cache.count();var js="";for(var i=0;i https://tool.lu/js/";doSave(js,'text/javascript','rap-all.js')}function doSave(value,type,name){var blob;if(typeof window.Blob=="function"){blob=new Blob([value],{type:type})}else{var BlobBuilder=window.BlobBuilder||window.MozBlobBuilder||window.WebKitBlobBuilder||window.MSBlobBuilder;var bb=new BlobBuilder();bb.append(value);blob=bb.getBlob(type)}var URL=window.URL||window.webkitURL;var bloburl=URL.createObjectURL(blob);var anchor=document.createElement("a");if('download'in anchor){anchor.style.visibility="hidden";anchor.href=bloburl;anchor.download=name;document.body.appendChild(anchor);var evt=document.createEvent("MouseEvents");evt.initEvent("click",true,true);anchor.dispatchEvent(evt);document.body.removeChild(anchor)}else if(navigator.msSaveBlob){navigator.msSaveBlob(blob,name)}else{location.href=bloburl}}if(!file){buildJs();return}rapGet(file+'.json').then(function(content){content=JSON.parse(content);function renderUrl(){var url=content.pop();Rap.go(url);if(content.length>0){setTimeout(renderUrl,500)}else{buildJs()}}renderUrl()})};Rap.promise=P;return Rap});
\ No newline at end of file
+(function webpackUniversalModuleDefinition(root,factory){if(typeof exports==='object'&&typeof module==='object')module.exports=factory();else if(typeof define==='function'&&define.amd)define([],factory);else if(typeof exports==='object')exports["Rap"]=factory();else root["Rap"]=factory()})(this,function(){function P(call){function create(){var success=null;var success_arg=null;var result=0;var error=null;var error_arg=null;var next=null;var nextCall=function(){try{var data=success(success_arg);if(data&&typeof data.then=="function"){data.then(function(res){next.resolve(res)}).catch(function(e){next.reject(e)})}else{next.resolve(data)}}catch(e){next.reject(e)}};return{resolve:function(res){if(result==2){return this}success_arg=res;result=1;if(success){nextCall()}return this},reject:function(res){error_arg=res;result=2;var reject_ok=false;if(error){reject_ok=error(error_arg)}if(!reject_ok&&next){next.reject(res)}return this},then:function(call){next=P();success=call;if(result==1){nextCall()}else if(result==2){if(error){error(error_arg)}else{next.reject(error_arg)}}next.parent=this;return next},catch:function(e){next=P();this.then(function(){next.resolve()});error=e;if(result==2){error(error_arg)}next.parent=this;return next}}}var p=create();if(call){p=p.resolve().then(call)}return p}function rapGet(url){var p=P();var request;if(window.XMLHttpRequest){request=new XMLHttpRequest();}else{request=new ActiveXObject('MicroSoft.XMLHTTP');}request.open('get',url);request.onreadystatechange=function(){if(request.readyState==4&&request.status==200){p.resolve(request.responseText)}};request.send();return p}var viewLines={};var routers={};var RapConfig={script:[],css:[]};var Cache={get:function(key){return localStorage.getItem(key)},set:function(key,value){try{localStorage.setItem(key,value)}catch(e){var length=this.count();var js="";for(var i=0;i-1&&RapConfig.script.indexOf(k)<0){this.remove(k)}else if(key.indexOf('.css')>-1&&RapConfig.css.indexOf(k)<0){this.remove(k)}}try{localStorage.setItem(key,value)}catch(e){}}},remove:function(key){localStorage.remove(key)},clear:function(){localStorage.clear()},count:function(){return localStorage.length},key:function(index){return localStorage.key(index)}};function urlJoin(base,url){if(url.indexOf('/')==0){return url}if(!(url.indexOf('/')>-1&&url.indexOf('.')>-1)){return base+url}var p=base.split("/");p.pop();p.pop();var pre=[];while(url.indexOf('../')==0){url=url.replace("../","");pre.push(p.pop())}return pre.join("/")+"/"+url}function loadLayoutAndRely(url,rely,layout){var p=Rap.loadMod(layout);if(rely){for(var i=0;i-1){p.resolve();return p}scripts_loaded.push(url);var content=Cache.get(url);if(!Rap.debug&&content){try{if(!raw){evalJS(url,content)}p.resolve({url:url,content:content});return p}catch(e){Cache.remove(url)}}rapGet(url).then(function(content){if(!raw){evalJS(url,content)}Cache.set(url,content);p.resolve({url:url,content:content})})}return p},loadCss:function(url,raw){var p=P();if(!url){p.resolve();return p}if(url instanceof Array){var promise=Rap.promise().resolve();for(var i=0;i2){layout=arguments[0];rely=arguments[1];config=arguments[2]}else if(arguments.length>1){rely=arguments[0];config=arguments[1]}else{config=arguments[0]}this.$pageDefine={layout:layout,rely:rely,config:config}},appVersion:function(version){Rap.RapAppVersion=version;var rapAppVersion=Cache.get('RapAppVersion');if(rapAppVersion&&rapAppVersion!=Rap.RapAppVersion){Cache.clear()}Cache.set('RapAppVersion',Rap.RapAppVersion)},init:function(){Rap.isReady=true;Cache.set('RapAppVersion',Rap.RapAppVersion);var promise=Rap.promise().resolve();for(var i=0;i-1){hash=hash.substr(hash.indexOf('?')+1);var qs=hash.split('&');for(var i=0;i-1){hash=hash.substr(0,hash.indexOf('?'))}var path=hash.split('/');var m=[];var args=arguments;for(var i=0;i0){var result={};for(i=0;i-1){hash=hash.substr(0,hash.indexOf('?'))}else if(hash.indexOf('&')>-1){hash=hash.substr(0,hash.indexOf('&'))}for(var key in Rap.global_router.query){delete Rap.global_router.query[key]}var query=Rap.$query();for(var key in query){var value=query[key];if(parseInt(value)+""==value){value=parseInt(value)}Vue.set(Rap.global_router.query,key,value)}Rap.global_router.search.length=0;var search=Rap.$search();for(var i=0;i0){this.childView=this.RapViews.items[0]}}};function currentItems(items,view){items.push(view);var layout=viewLines[view];if(layout){currentItems(items,layout)}}Rap.onViewChange(function(view){var items=[];currentItems(items,view);items=items.reverse();RapShareData.RapViews.items=items;RapShareData.RapViews.index++});window.addEventListener("popstate",Rap.onhashchange,false);Rap.build=function(file){var div=document.createElement("div");div.setAttribute('style',"width: 100%;height: 100%; background: white;position: fixed;left: 0;right: 0;text-align: center;padding-top: 30px;top: 0;z-index: 10000;font-size: 21px;");div.textContent="编译中...";document.body.appendChild(div);function buildJs(){var length=Cache.count();var js="";for(var i=0;i https://tool.lu/js/";doSave(js,'text/javascript','rap-all.js')}function doSave(value,type,name){var blob;if(typeof window.Blob=="function"){blob=new Blob([value],{type:type})}else{var BlobBuilder=window.BlobBuilder||window.MozBlobBuilder||window.WebKitBlobBuilder||window.MSBlobBuilder;var bb=new BlobBuilder();bb.append(value);blob=bb.getBlob(type)}var URL=window.URL||window.webkitURL;var bloburl=URL.createObjectURL(blob);var anchor=document.createElement("a");if('download'in anchor){anchor.style.visibility="hidden";anchor.href=bloburl;anchor.download=name;document.body.appendChild(anchor);var evt=document.createEvent("MouseEvents");evt.initEvent("click",true,true);anchor.dispatchEvent(evt);document.body.removeChild(anchor)}else if(navigator.msSaveBlob){navigator.msSaveBlob(blob,name)}else{location.href=bloburl}}if(!file){buildJs();return}rapGet(file+'.json').then(function(content){content=JSON.parse(content);function renderUrl(){var url=content.pop();Rap.go(url);if(content.length>0){setTimeout(renderUrl,500)}else{buildJs()}}renderUrl()})};Rap.promise=P;return Rap});
\ No newline at end of file
diff --git a/rap.laster.js b/rap.laster.js
index cfb8abc..cf11802 100644
--- a/rap.laster.js
+++ b/rap.laster.js
@@ -39,6 +39,9 @@
return {
resolve: function (res) {
+ if(result==2){
+ return this;
+ }
success_arg = res;
result = 1;
if (success) {
@@ -49,17 +52,18 @@
reject: function (res) {
error_arg = res;
result = 2;
+ var reject_ok=false;
if (error) {
- error(error_arg);
- } else if (next) {
+ reject_ok=error(error_arg);
+ }
+ if (!reject_ok&&next) {
next.reject(res);
}
return this;
},
- then: function (call, e) {
+ then: function (call) {
next = P();
success = call;
- error = e;
if (result == 1) {
nextCall();
} else if (result == 2 ) {
@@ -73,10 +77,16 @@
return next;
},
catch: function (e) {
+ next = P();
+ this.then(function () {
+ next.resolve();
+ });
error = e;
if (result == 2) {
error(error_arg);
}
+ next.parent = this;
+ return next;
}
};
}
@@ -192,7 +202,12 @@
if (Rap.debug) {
script += "//@ sourceURL=" + modUrl;
}
- eval(script);
+ try {
+ eval(script);
+ }catch (e){
+ throw e;
+ }
+
return p;
}
@@ -246,6 +261,9 @@
var RapReady = null;
+ var onPageLoadError=function () {
+
+ };
var Rap = {
config: function (config) {
@@ -267,6 +285,9 @@
}
var loadCss = Rap.loadCss(config.css);
var loadScript = Rap.loadScript(config.script);
+ if(config.onPageLoadError){
+ onPageLoadError=config.onPageLoadError;
+ }
Rap.promise(function () {
return loadCss;
}).then(function () {
@@ -676,6 +697,12 @@
} else {
this.loadMod(Rap.global_router.page).then(function () {
Rap.onViewChangeCallBack(modName);
+ }).catch(function (e) {
+ console.log(Rap.global_router.page+'页面加载错误');
+ console.log(e);
+ if(onPageLoadError){
+ onPageLoadError(Rap.global_router.page,e);
+ }
});
}
},
@@ -729,10 +756,7 @@
try {
content = Cache.get(key_content);
var json = JSON.parse(content);
- evalScript(modUrl + ".js", url, modName, json).then(function () {
- p.resolve();
- });
- return p;
+ return evalScript(modUrl + ".js", url, modName, json);
} catch (e) {
Cache.remove(key_content);
}
@@ -741,12 +765,12 @@
}
}
}
- rapGet(modUrl + '.html?version=' + version).then(function (content) {
+ var template = "";
+ var style = "";
+ var script = "";
+ return rapGet(modUrl + '.html?version=' + version).then(function (content) {
var el = document.createElement('div');
el.innerHTML = content;
- var style = "";
- var template = "";
- var script = "";
var links = [];
for (var i = 0; i < el.children.length; i++) {
var child = el.children[i];
@@ -771,39 +795,35 @@
})
})(i);
}
-
- promise.then(function () {
- var compile = Vue.compile(template);
- var lc = {
- render: compile.render,
- staticRenderFns: compile.staticRenderFns,
- style: style,
- script: script,
- name: key_content,
- base: url
- };
- Cache.set(key, version);
- var lc_json = {
- render: compile.render.toString(),
- staticRenderFns: compile.staticRenderFns.toString(),
- style: style,
- script: script,
- name: key_content,
- base: url
- };
- Cache.set(key_content, JSON.stringify(lc_json));
- return lc;
- }).then(function (lc) {
- return evalScript(modUrl + ".js", url, modName, lc);
- }).then(function () {
- p.resolve();
- });
-
- }).catch(function () {
- console.log('url:' + modUrl + " get error")
+ return promise;
+ }).then(function () {
+ var compile = Vue.compile(template);
+ var lc = {
+ render: compile.render,
+ staticRenderFns: compile.staticRenderFns,
+ style: style,
+ script: script,
+ name: key_content,
+ base: url
+ };
+ Cache.set(key, version);
+ var lc_json = {
+ render: compile.render.toString(),
+ staticRenderFns: compile.staticRenderFns.toString(),
+ style: style,
+ script: script,
+ name: key_content,
+ base: url
+ };
+ Cache.set(key_content, JSON.stringify(lc_json));
+ return lc;
+ }).then(function (lc) {
+ return evalScript(modUrl + ".js", url, modName, lc);
+ }).catch(function (e) {
+ console.log('url:' + modUrl + " get error");
+ console.log(e);
});
}
- return p;
},
$query: function () {
var hash = window.location.hash;
diff --git a/rap.laster.min.js b/rap.laster.min.js
index fa75860..7e0cc36 100644
--- a/rap.laster.min.js
+++ b/rap.laster.min.js
@@ -1 +1 @@
-(function webpackUniversalModuleDefinition(root,factory){if(typeof exports==='object'&&typeof module==='object')module.exports=factory();else if(typeof define==='function'&&define.amd)define([],factory);else if(typeof exports==='object')exports["Rap"]=factory();else root["Rap"]=factory()})(this,function(){function P(call){function create(){var success=null;var success_arg=null;var result=0;var error=null;var error_arg=null;var next=null;var nextCall=function(){try{var data=success(success_arg);if(data&&typeof data.then=="function"){data.then(function(res){next.resolve(res)}).catch(function(e){next.reject(e)})}else{next.resolve(data)}}catch(e){next.reject(e)}};return{resolve:function(res){success_arg=res;result=1;if(success){nextCall()}return this},reject:function(res){error_arg=res;result=2;if(error){error(error_arg)}else if(next){next.reject(res)}return this},then:function(call,e){next=P();success=call;error=e;if(result==1){nextCall()}else if(result==2){if(error){error(error_arg)}else{next.reject(error_arg)}}next.parent=this;return next},catch:function(e){error=e;if(result==2){error(error_arg)}}}}var p=create();if(call){p=p.resolve().then(call)}return p}function rapGet(url){var p=P();var request;if(window.XMLHttpRequest){request=new XMLHttpRequest();}else{request=new ActiveXObject('MicroSoft.XMLHTTP');}request.open('get',url);request.onreadystatechange=function(){if(request.readyState==4&&request.status==200){p.resolve(request.responseText)}};request.send();return p}var viewLines={};var routers={};var RapConfig={script:[],css:[]};var Cache={get:function(key){return localStorage.getItem(key)},set:function(key,value){try{localStorage.setItem(key,value)}catch(e){var length=this.count();var js="";for(var i=0;i-1&&RapConfig.script.indexOf(k)<0){this.remove(k)}else if(key.indexOf('.css')>-1&&RapConfig.css.indexOf(k)<0){this.remove(k)}}try{localStorage.setItem(key,value)}catch(e){}}},remove:function(key){localStorage.remove(key)},clear:function(){localStorage.clear()},count:function(){return localStorage.length},key:function(index){return localStorage.key(index)}};function urlJoin(base,url){if(url.indexOf('/')==0){return url}if(!(url.indexOf('/')>-1&&url.indexOf('.')>-1)){return base+url}var p=base.split("/");p.pop();p.pop();var pre=[];while(url.indexOf('../')==0){url=url.replace("../","");pre.push(p.pop())}return pre.join("/")+"/"+url}function loadLayoutAndRely(url,rely,layout){var p=Rap.loadMod(layout);if(rely){for(var i=0;i-1){p.resolve();return p}scripts_loaded.push(url);var content=Cache.get(url);if(!Rap.debug&&content){try{if(!raw){evalJS(url,content)}p.resolve({url:url,content:content});return p}catch(e){Cache.remove(url)}}rapGet(url).then(function(content){if(!raw){evalJS(url,content)}Cache.set(url,content);p.resolve({url:url,content:content})})}return p},loadCss:function(url,raw){var p=P();if(!url){p.resolve();return p}if(url instanceof Array){var promise=Rap.promise().resolve();for(var i=0;i2){layout=arguments[0];rely=arguments[1];config=arguments[2]}else if(arguments.length>1){rely=arguments[0];config=arguments[1]}else{config=arguments[0]}this.$pageDefine={layout:layout,rely:rely,config:config}},appVersion:function(version){Rap.RapAppVersion=version;var rapAppVersion=Cache.get('RapAppVersion');if(rapAppVersion&&rapAppVersion!=Rap.RapAppVersion){Cache.clear()}Cache.set('RapAppVersion',Rap.RapAppVersion)},init:function(){Rap.isReady=true;Cache.set('RapAppVersion',Rap.RapAppVersion);var promise=Rap.promise().resolve();for(var i=0;i-1){hash=hash.substr(hash.indexOf('?')+1);var qs=hash.split('&');for(var i=0;i-1){hash=hash.substr(0,hash.indexOf('?'))}var path=hash.split('/');var m=[];var args=arguments;for(var i=0;i0){var result={};for(i=0;i-1){hash=hash.substr(0,hash.indexOf('?'))}else if(hash.indexOf('&')>-1){hash=hash.substr(0,hash.indexOf('&'))}for(var key in Rap.global_router.query){delete Rap.global_router.query[key]}var query=Rap.$query();for(var key in query){var value=query[key];if(parseInt(value)+""==value){value=parseInt(value)}Vue.set(Rap.global_router.query,key,value)}Rap.global_router.search.length=0;var search=Rap.$search();for(var i=0;i0){this.childView=this.RapViews.items[0]}}};function currentItems(items,view){items.push(view);var layout=viewLines[view];if(layout){currentItems(items,layout)}}Rap.onViewChange(function(view){var items=[];currentItems(items,view);items=items.reverse();RapShareData.RapViews.items=items;RapShareData.RapViews.index++});window.addEventListener("popstate",Rap.onhashchange,false);Rap.build=function(file){var div=document.createElement("div");div.setAttribute('style',"width: 100%;height: 100%; background: white;position: fixed;left: 0;right: 0;text-align: center;padding-top: 30px;top: 0;z-index: 10000;font-size: 21px;");div.textContent="编译中...";document.body.appendChild(div);function buildJs(){var length=Cache.count();var js="";for(var i=0;i https://tool.lu/js/";doSave(js,'text/javascript','rap-all.js')}function doSave(value,type,name){var blob;if(typeof window.Blob=="function"){blob=new Blob([value],{type:type})}else{var BlobBuilder=window.BlobBuilder||window.MozBlobBuilder||window.WebKitBlobBuilder||window.MSBlobBuilder;var bb=new BlobBuilder();bb.append(value);blob=bb.getBlob(type)}var URL=window.URL||window.webkitURL;var bloburl=URL.createObjectURL(blob);var anchor=document.createElement("a");if('download'in anchor){anchor.style.visibility="hidden";anchor.href=bloburl;anchor.download=name;document.body.appendChild(anchor);var evt=document.createEvent("MouseEvents");evt.initEvent("click",true,true);anchor.dispatchEvent(evt);document.body.removeChild(anchor)}else if(navigator.msSaveBlob){navigator.msSaveBlob(blob,name)}else{location.href=bloburl}}if(!file){buildJs();return}rapGet(file+'.json').then(function(content){content=JSON.parse(content);function renderUrl(){var url=content.pop();Rap.go(url);if(content.length>0){setTimeout(renderUrl,500)}else{buildJs()}}renderUrl()})};Rap.promise=P;return Rap});
\ No newline at end of file
+(function webpackUniversalModuleDefinition(root,factory){if(typeof exports==='object'&&typeof module==='object')module.exports=factory();else if(typeof define==='function'&&define.amd)define([],factory);else if(typeof exports==='object')exports["Rap"]=factory();else root["Rap"]=factory()})(this,function(){function P(call){function create(){var success=null;var success_arg=null;var result=0;var error=null;var error_arg=null;var next=null;var nextCall=function(){try{var data=success(success_arg);if(data&&typeof data.then=="function"){data.then(function(res){next.resolve(res)}).catch(function(e){next.reject(e)})}else{next.resolve(data)}}catch(e){next.reject(e)}};return{resolve:function(res){if(result==2){return this}success_arg=res;result=1;if(success){nextCall()}return this},reject:function(res){error_arg=res;result=2;var reject_ok=false;if(error){reject_ok=error(error_arg)}if(!reject_ok&&next){next.reject(res)}return this},then:function(call){next=P();success=call;if(result==1){nextCall()}else if(result==2){if(error){error(error_arg)}else{next.reject(error_arg)}}next.parent=this;return next},catch:function(e){next=P();this.then(function(){next.resolve()});error=e;if(result==2){error(error_arg)}next.parent=this;return next}}}var p=create();if(call){p=p.resolve().then(call)}return p}function rapGet(url){var p=P();var request;if(window.XMLHttpRequest){request=new XMLHttpRequest();}else{request=new ActiveXObject('MicroSoft.XMLHTTP');}request.open('get',url);request.onreadystatechange=function(){if(request.readyState==4&&request.status==200){p.resolve(request.responseText)}};request.send();return p}var viewLines={};var routers={};var RapConfig={script:[],css:[]};var Cache={get:function(key){return localStorage.getItem(key)},set:function(key,value){try{localStorage.setItem(key,value)}catch(e){var length=this.count();var js="";for(var i=0;i-1&&RapConfig.script.indexOf(k)<0){this.remove(k)}else if(key.indexOf('.css')>-1&&RapConfig.css.indexOf(k)<0){this.remove(k)}}try{localStorage.setItem(key,value)}catch(e){}}},remove:function(key){localStorage.remove(key)},clear:function(){localStorage.clear()},count:function(){return localStorage.length},key:function(index){return localStorage.key(index)}};function urlJoin(base,url){if(url.indexOf('/')==0){return url}if(!(url.indexOf('/')>-1&&url.indexOf('.')>-1)){return base+url}var p=base.split("/");p.pop();p.pop();var pre=[];while(url.indexOf('../')==0){url=url.replace("../","");pre.push(p.pop())}return pre.join("/")+"/"+url}function loadLayoutAndRely(url,rely,layout){var p=Rap.loadMod(layout);if(rely){for(var i=0;i-1){p.resolve();return p}scripts_loaded.push(url);var content=Cache.get(url);if(!Rap.debug&&content){try{if(!raw){evalJS(url,content)}p.resolve({url:url,content:content});return p}catch(e){Cache.remove(url)}}rapGet(url).then(function(content){if(!raw){evalJS(url,content)}Cache.set(url,content);p.resolve({url:url,content:content})})}return p},loadCss:function(url,raw){var p=P();if(!url){p.resolve();return p}if(url instanceof Array){var promise=Rap.promise().resolve();for(var i=0;i2){layout=arguments[0];rely=arguments[1];config=arguments[2]}else if(arguments.length>1){rely=arguments[0];config=arguments[1]}else{config=arguments[0]}this.$pageDefine={layout:layout,rely:rely,config:config}},appVersion:function(version){Rap.RapAppVersion=version;var rapAppVersion=Cache.get('RapAppVersion');if(rapAppVersion&&rapAppVersion!=Rap.RapAppVersion){Cache.clear()}Cache.set('RapAppVersion',Rap.RapAppVersion)},init:function(){Rap.isReady=true;Cache.set('RapAppVersion',Rap.RapAppVersion);var promise=Rap.promise().resolve();for(var i=0;i-1){hash=hash.substr(hash.indexOf('?')+1);var qs=hash.split('&');for(var i=0;i-1){hash=hash.substr(0,hash.indexOf('?'))}var path=hash.split('/');var m=[];var args=arguments;for(var i=0;i0){var result={};for(i=0;i-1){hash=hash.substr(0,hash.indexOf('?'))}else if(hash.indexOf('&')>-1){hash=hash.substr(0,hash.indexOf('&'))}for(var key in Rap.global_router.query){delete Rap.global_router.query[key]}var query=Rap.$query();for(var key in query){var value=query[key];if(parseInt(value)+""==value){value=parseInt(value)}Vue.set(Rap.global_router.query,key,value)}Rap.global_router.search.length=0;var search=Rap.$search();for(var i=0;i0){this.childView=this.RapViews.items[0]}}};function currentItems(items,view){items.push(view);var layout=viewLines[view];if(layout){currentItems(items,layout)}}Rap.onViewChange(function(view){var items=[];currentItems(items,view);items=items.reverse();RapShareData.RapViews.items=items;RapShareData.RapViews.index++});window.addEventListener("popstate",Rap.onhashchange,false);Rap.build=function(file){var div=document.createElement("div");div.setAttribute('style',"width: 100%;height: 100%; background: white;position: fixed;left: 0;right: 0;text-align: center;padding-top: 30px;top: 0;z-index: 10000;font-size: 21px;");div.textContent="编译中...";document.body.appendChild(div);function buildJs(){var length=Cache.count();var js="";for(var i=0;i https://tool.lu/js/";doSave(js,'text/javascript','rap-all.js')}function doSave(value,type,name){var blob;if(typeof window.Blob=="function"){blob=new Blob([value],{type:type})}else{var BlobBuilder=window.BlobBuilder||window.MozBlobBuilder||window.WebKitBlobBuilder||window.MSBlobBuilder;var bb=new BlobBuilder();bb.append(value);blob=bb.getBlob(type)}var URL=window.URL||window.webkitURL;var bloburl=URL.createObjectURL(blob);var anchor=document.createElement("a");if('download'in anchor){anchor.style.visibility="hidden";anchor.href=bloburl;anchor.download=name;document.body.appendChild(anchor);var evt=document.createEvent("MouseEvents");evt.initEvent("click",true,true);anchor.dispatchEvent(evt);document.body.removeChild(anchor)}else if(navigator.msSaveBlob){navigator.msSaveBlob(blob,name)}else{location.href=bloburl}}if(!file){buildJs();return}rapGet(file+'.json').then(function(content){content=JSON.parse(content);function renderUrl(){var url=content.pop();Rap.go(url);if(content.length>0){setTimeout(renderUrl,500)}else{buildJs()}}renderUrl()})};Rap.promise=P;return Rap});
\ No newline at end of file