1&&void 0!==arguments[1]?arguments[1]:"alert";a.showConfirm({content:e,type:r})}function r(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"success";a.showTipsMsg({msg:e,type:r})}var t=require("../../lib/react.js"),i=require("../../cssStr/cssStr.js"),s=require("../../stores/windowStores.js"),a=require("../../actions/windowActions.js"),o=require("../../actions/webviewActions.js"),n=require("../../stores/projectStores.js"),c=require("../../weapp/utils/projectManager.js"),l=require("../../config/dirConfig.js"),p=require("../../common/request/request.js"),u=require("../../common/log/log.js"),d=require("glob"),h=require("path"),m=require("fs"),f=require("../../config/urlConfig.js"),g=f.cleanUserAuth,v=require("../../config/errcodeConfig.js"),j=v.DEV_PLATFORM_INVALID_EXT_APPID,S=v.DEV_PLATFORM_EXT_APPID_NOT_AUTH,A=t.createClass({displayName:"Cache",getInitialState:function(){return{show:!1}},clickOpen:function(){var e=this.state.show;this.setState({show:!e})},clearStorage:function(){var e=s.getUserInfo(),t=e?e.openid:"unknow",i=l.WeappStorage,a=this.props.project,n=a.appid,c=a.appname,p=h.join(i,n+"_"+c+"_"+t+".data.json");m.unlink(p,function(e){r("清除数据存储成功"),o.upASData(n,{})})},clearFileStorage:function(){var e=s.getUserInfo(),t=e?e.openid:"unknow",i=l.WeappFileCache,a=this.props.project,o=a.hash;d("*",{cwd:i},function(e,s){var a=""+o+t;s.forEach(function(e){if(e.indexOf(a)>-1){var r=h.join(i,e);m.unlink(r)}}),r("清除文件存储成功")})},clearSdkUserAuthStorage:function(){n.setUserAuthPemissionStorage(this.props.project,{}),r("清除授权数据成功")},clearCloudAuth:function(){var t=this.props.project,i=c.getExtAppId(t);p({method:"post",url:g+"?appid="+t.appid+"&ext_appid="+i+"&platform="+(t.platform?1:0),needToken:1},function(t,i,s){var a="清除工具及手机授权数据失败";if(t)u.info("cache.js clearSdkUserAuthStorage error: "+t.toString());else if(s=JSON.parse(s),s.baseresponse){var o=s.baseresponse.errcode;if(0==o)return void r("清除工具及手机授权数据成功");if(o==j)return void r(a+",无效的 extAppID");if(o==S)return void r(a+",extAppID 未授权");a=a+",errcode:"+s.baseresponse.errcode}e(a)})},render:function(){var e=this.state.show?i.displayBlock:i.displayNone;return t.createElement("div",{onClick:this.clickOpen,title:"清除缓存",className:"sidebar-item"},t.createElement("i",{className:"sidebar-item-icon sidebar-item-icon-cache"}),t.createElement("label",{className:"sidebar-item-label"},"缓存"),t.createElement("div",{className:"cache-card",style:e},t.createElement("div",{className:"cache-card-item",onClick:this.clearStorage},t.createElement("p",null,"清除数据存储")),t.createElement("div",{className:"cache-card-item",onClick:this.clearFileStorage},t.createElement("p",null,"清除文件存储")),t.createElement("div",{className:"cache-card-item",onClick:this.clearCloudAuth},t.createElement("p",null,"清除授权数据"))))}});_exports=A}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/sidebar/music.js b/app/dist/components/sidebar/music.js
index cd523957..07e15fce 100644
--- a/app/dist/components/sidebar/music.js
+++ b/app/dist/components/sidebar/music.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../lib/react.js'),b=require('../../cssStr/cssStr.js'),c=require('../../stores/windowStores.js'),d=require('../../stores/projectStores.js');require('../../actions/windowActions.js');const f=require('../../actions/webviewActions.js'),g=2,h=3,i=4,j=' ',k=a.createClass({displayName:'Music',getInitialState:function(){return{showPlayer:!1,musicState:1,title:j}},_initMusic:function(){let l=document.createElement('audio');document.body.appendChild(l),this.audio=l,l.addEventListener('play',()=>{this.setState({musicState:g}),f.postMessageToAS({eventName:'onMusicPlay',type:'ON_MUSIC_EVENT',data:{dataUrl:l.src}})}),l.addEventListener('pause',()=>{this.audio&&!this.audio.ended&&(!this.audio.error&&this.setState({musicState:h}),f.postMessageToAS({eventName:'onMusicPause',type:'ON_MUSIC_EVENT',data:{dataUrl:l.src}}))}),l.addEventListener('ended',()=>{this.setState({musicState:i}),f.postMessageToAS({eventName:'onMusicEnd',type:'ON_MUSIC_EVENT',data:{dataUrl:l.src}})}),l.addEventListener('error',m=>{this.setState({musicState:5}),f.postMessageToAS({eventName:'onMusicError',type:'ON_MUSIC_EVENT',data:{dataUrl:l.src,errMsg:'Error: '+l.error.code}})})},_play:function(l){this.audio||this._initMusic();let m=this.audio;l.dataUrl?(m.src=l.dataUrl,m.play(),m.currentTime=0):m.src&&m.play(),this.setState({title:l.title||j})},_resume:function(l){let m=this.audio;m.paused&&m.play()},_pause:function(l){let m=this.audio;m.paused||m.pause()},_seek:function(l){let m=this.audio;m.paused||(m.currentTime=1*l.position)},_stop:function(){this.audio&&(this.audio.remove(),this.audio=void 0),this.setState({musicState:i})},_getMusicPlayState:function(l){let n,m=this.audio;if(!m)n={status:2};else try{n={dataUrl:m.src,duration:Math.floor(m.duration),currentPosition:Math.floor(m.currentTime),status:m.paused?0:1,downloadPercent:Math.round(100*m.buffered.end(0)/m.duration)}}catch(o){n={status:2}}return l&&l(n),n},_operateMusicPlayer:function(l){'play'==l.operationType?(this._play(l),this.setState({showPlayer:!0})):'resume'==l.operationType?this._resume(l):'pause'==l.operationType?this._pause(l):'seek'==l.operationType?this._seek(l):'stop'==l.operationType&&this._stop(l)},componentDidMount:function(){c.on('GET_MUSIC_PLAY_STATE',this._getMusicPlayState),c.on('BODY_CLICK',this._bodyClick),c.on('OPERATE_MUSIC_PLAY',this._operateMusicPlayer),d.on('RESTART_PROJECT',this._stop),d.on('CLOSE_PROJECT',this._stop)},componentWillUnmount:function(){c.removeListener('GET_MUSIC_PLAY_STATE',this._getMusicPlayState),c.removeListener('BODY_CLICK',this._bodyClick),c.removeListener('OPERATE_MUSIC_PLAY',this._operateMusicPlayer),d.removeListener('RESTART_PROJECT',this._stop),d.removeListener('CLOSE_PROJECT',this._stop),this.audio&&this.audio.remove()},_bodyClick:function(l){this.setState({showPlayer:!1})},stop:function(l){this._stop()},_showOrHide:function(l){this.setState({showPlayer:!this.state.showPlayer}),l.stopPropagation(),l.preventDefault()},_playOrPause:function(l){this.state.musicState==h?this._resume():this._pause(),l.stopPropagation(),l.preventDefault()},render:function(){let l=this.state.musicState==g||this.state.musicState==h?{}:b.displayNone,m=this.state.showPlayer?{}:b.displayNone,n=this.state.musicState==h?{}:b.displayNone,o=this.state.musicState==g?{}:b.displayNone;return a.createElement('div',{style:l,title:`音乐控件`,onClick:this._showOrHide,className:'sidebar-item'},a.createElement('i',{className:'sidebar-item-icon sidebar-item-icon-music'}),a.createElement('label',{className:'sidebar-item-label'},'\u97F3\u4E50'),a.createElement('div',{className:'music-card',style:m,onClick:this._playOrPause},a.createElement('div',{className:'music-card-main'},a.createElement('p',{className:'music-card-status'},'\u6B63\u5728\u64AD\u653E'),a.createElement('p',{className:'music-card-name'},this.state.title)),a.createElement('div',{className:'music-card-opr'},a.createElement('i',{className:'music-card-play-icon',style:n}),a.createElement('i',{className:'music-card-pause-icon',style:o}))))}});_exports=k}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var e=require("../../lib/react.js"),t=require("../../cssStr/cssStr.js"),s=require("../../stores/windowStores.js"),a=require("../../stores/projectStores.js"),i=(require("../../actions/windowActions.js"),require("../../actions/webviewActions.js")),o=1,r=2,n=3,c=4,u=5,d=" ",l=e.createClass({displayName:"Music",getInitialState:function(){return{showPlayer:!1,musicState:o,title:d}},_initMusic:function(){var e=this,t=document.createElement("audio");document.body.appendChild(t),this.audio=t,t.addEventListener("play",function(){e.setState({musicState:r}),i.postMessageToAS({eventName:"onMusicPlay",type:"ON_MUSIC_EVENT",data:{dataUrl:t.src}})}),t.addEventListener("pause",function(){e.audio&&!e.audio.ended&&(e.audio.error||e.setState({musicState:n}),i.postMessageToAS({eventName:"onMusicPause",type:"ON_MUSIC_EVENT",data:{dataUrl:t.src}}))}),t.addEventListener("ended",function(){e.setState({musicState:c}),i.postMessageToAS({eventName:"onMusicEnd",type:"ON_MUSIC_EVENT",data:{dataUrl:t.src}})}),t.addEventListener("error",function(s){e.setState({musicState:u}),i.postMessageToAS({eventName:"onMusicError",type:"ON_MUSIC_EVENT",data:{dataUrl:t.src,errMsg:"Error: "+t.error.code}})})},_play:function(e){this.audio||this._initMusic();var t=this.audio;e.dataUrl&&e.dataUrl!==t.src?(t.src=e.dataUrl,t.play(),t.currentTime=0):t.src&&t.play(),this.setState({title:e.title||d})},_resume:function(e){var t=this.audio;t.paused&&t.play()},_pause:function(e){var t=this.audio;t.paused||t.pause()},_seek:function(e){var t=this.audio;t.paused||(t.currentTime=1*e.position)},_stop:function(){if(this.audio){var e=this.audio.src;setTimeout(function(){i.postMessageToAS({eventName:"onMusicEnd",type:"ON_MUSIC_EVENT",data:{dataUrl:e}})}),this.audio.remove(),this.audio=void 0}this.setState({musicState:c})},_getMusicPlayState:function(e){var t=this.audio,s=void 0;if(t)try{s={dataUrl:t.src,duration:Math.floor(t.duration),currentPosition:Math.floor(t.currentTime),status:t.paused?0:1,downloadPercent:Math.round(100*t.buffered.end(0)/t.duration)}}catch(e){s={status:2}}else s={status:2};return e&&e(s),s},_operateMusicPlayer:function(e){"play"==e.operationType?(this._play(e),this.setState({showPlayer:!0})):"resume"==e.operationType?this._resume(e):"pause"==e.operationType?this._pause(e):"seek"==e.operationType?this._seek(e):"stop"==e.operationType&&this._stop(e)},componentDidMount:function(){s.on("GET_MUSIC_PLAY_STATE",this._getMusicPlayState),s.on("BODY_CLICK",this._bodyClick),s.on("OPERATE_MUSIC_PLAY",this._operateMusicPlayer),a.on("RESTART_PROJECT",this._stop),a.on("CLOSE_PROJECT",this._stop)},componentWillUnmount:function(){s.removeListener("GET_MUSIC_PLAY_STATE",this._getMusicPlayState),s.removeListener("BODY_CLICK",this._bodyClick),s.removeListener("OPERATE_MUSIC_PLAY",this._operateMusicPlayer),a.removeListener("RESTART_PROJECT",this._stop),a.removeListener("CLOSE_PROJECT",this._stop),this.audio&&this.audio.remove()},_bodyClick:function(e){this.setState({showPlayer:!1})},stop:function(e){this._stop()},_showOrHide:function(e){this.setState({showPlayer:!this.state.showPlayer}),e.stopPropagation(),e.preventDefault()},_playOrPause:function(e){this.state.musicState==n?this._resume():this._pause(),e.stopPropagation(),e.preventDefault()},render:function(){var s=this.state.musicState==r||this.state.musicState==n?{}:t.displayNone,a=this.state.showPlayer?{}:t.displayNone,i=this.state.musicState==n?{}:t.displayNone,o=this.state.musicState==r?{}:t.displayNone;return e.createElement("div",{style:s,title:"音乐控件",onClick:this._showOrHide,className:"sidebar-item"},e.createElement("i",{className:"sidebar-item-icon sidebar-item-icon-music"}),e.createElement("label",{className:"sidebar-item-label"},"音乐"),e.createElement("div",{className:"music-card",style:a,onClick:this._playOrPause},e.createElement("div",{className:"music-card-main"},e.createElement("p",{className:"music-card-status"},"正在播放"),e.createElement("p",{className:"music-card-name"},this.state.title)),e.createElement("div",{className:"music-card-opr"},e.createElement("i",{className:"music-card-play-icon",style:i}),e.createElement("i",{className:"music-card-pause-icon",style:o}))))}});_exports=l}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/sidebar/sidebar.js b/app/dist/components/sidebar/sidebar.js
index bb795fbc..301a82c8 100644
--- a/app/dist/components/sidebar/sidebar.js
+++ b/app/dist/components/sidebar/sidebar.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../lib/react.js'),b=require('../../cssStr/cssStr.js'),c=require('../../actions/webviewActions.js'),d=require('../../actions/windowActions.js'),e=require('../../actions/projectActions.js'),f=require('../../stores/projectStores.js');require('../../weapp/utils/projectManager.js');const g=require('./music.js'),h=require('./cache.js'),i=require('../../utils/newReport.js');var j;const k=a.createClass({displayName:'Sidebar',getInitialState:function(){return this.props.project&&i(`project_debug`,this.props.project.appid),{inForeground:!0}},_restart:function(){this.setState({inForeground:!0})},componentDidMount:function(){f.on('RESTART_PROJECT',this._restart)},componentWillUnmount:function(){f.removeListener('RESTART_PROJECT',this._restart)},handleOnclick:function(l){let m=l.currentTarget,n=m.dataset,o=n.type;this.props.optProject(o),i(`project_${o}`,this.props.project.appid)},handleAppTerminate:function(l){e.close(),i(`project_${close}`,this.props.project.appid)},handleAppRestart:function(l){clearTimeout(j),j=setTimeout(()=>{e.restart(this.props.project);let m='edit'===this.props.show?`project_compile`:`project_restart`;i(m,this.props.project.appid)},200)},handleAppEnterBackground:function(l){this.setState({inForeground:!1}),d.appEnterBackground(),c.postMessageToAS({eventName:'onAppEnterBackground',type:'ON_APPLIFECYCLE_EVENT'}),i(`project_background`,this.props.project.appid)},handleAppEnterForeground:function(l){this.setState({inForeground:!0}),d.appEnterForeground(),c.postMessageToAS({eventName:'onAppEnterForeground',type:'ON_APPLIFECYCLE_EVENT'})},showCustom:function(){let l=this.props.project;d.showCustomPreview({project:l,callback:m=>{f.setProjectInitPath(l.hash,{enable:m.enable,page:m.page,query:m.query}),this.handleAppRestart()}})},render:function(){let l={detail:'sidebar-item',debug:'sidebar-item',edit:'sidebar-item',mobile:'sidebar-item'},m=this.props.show;if(l[m]='sidebar-item sidebar-item-active',!this.props.project)return a.createElement('div',{className:'sidebar'},a.createElement('div',{'data-type':'debug',onClick:this.handleOnclick,className:l.debug},a.createElement('i',{className:'sidebar-item-icon sidebar-item-icon-debug'}),a.createElement('label',{className:'sidebar-item-label'},'\u8C03\u8BD5')),a.createElement('div',{className:'sidebar-item sidebar-item-sep'}),a.createElement('div',{className:'sidebar-item-toolbar'},a.createElement('div',{title:'\u8FD4\u56DE','data-type':'appTerminate',onClick:this.handleAppTerminate,className:'sidebar-item'},a.createElement('i',{className:'sidebar-item-icon sidebar-item-icon-close'}),a.createElement('label',{className:'sidebar-item-label'},'\u8FD4\u56DE'))));let n=this.state.inForeground?{}:b.displayNone,o=this.state.inForeground?b.displayNone:{},p='debug'===m||'edit'===m?{}:b.displayNone,q='debug'===m||'edit'===m?{borderTop:'none'}:{};return a.createElement('div',{className:'sidebar'},a.createElement('div',{'data-type':'edit',onClick:this.handleOnclick,className:l.edit},a.createElement('i',{className:'sidebar-item-icon sidebar-item-icon-editor'}),a.createElement('label',{className:'sidebar-item-label'},'\u7F16\u8F91')),a.createElement('div',{'data-type':'debug',onClick:this.handleOnclick,className:l.debug},a.createElement('i',{className:'sidebar-item-icon sidebar-item-icon-debug'}),a.createElement('label',{className:'sidebar-item-label'},'\u8C03\u8BD5')),a.createElement('div',{'data-type':'detail',onClick:this.handleOnclick,className:l.detail},a.createElement('i',{className:'sidebar-item-icon sidebar-item-icon-detail'}),a.createElement('label',{className:'sidebar-item-label'},'\u9879\u76EE')),a.createElement('div',{className:'sidebar-item sidebar-item-sep'}),a.createElement('div',{className:'sidebar-item-toolbar',style:p},a.createElement(g,null),a.createElement('div',{title:`${'darwin'===process.platform?'Command':'Ctrl'} + b`,onClick:this.handleAppRestart,className:'sidebar-item',style:{paddingBottom:0}},a.createElement('i',{className:'sidebar-item-icon sidebar-item-icon-reset'})),a.createElement('div',{title:`${'darwin'===process.platform?'Command':'Ctrl'} + b`,onClick:this.showCustom,className:'sidebar-item',style:{paddingTop:0}},a.createElement('i',{className:'sidebar-item-icon sidebar-item-icon-custom',style:{marginRight:5}}),a.createElement('label',{className:'sidebar-item-label'},'\u7F16\u8BD1')),a.createElement('div',{title:'\u5207\u6362\u5230\u540E\u53F0','data-type':'appEnterBackground',onClick:this.handleAppEnterBackground,style:n,className:'sidebar-item'},a.createElement('i',{className:'sidebar-item-icon sidebar-item-icon-backward'}),a.createElement('label',{className:'sidebar-item-label'},'\u540E\u53F0')),a.createElement('div',{title:'\u5207\u6362\u5230\u524D\u53F0','data-type':'appEnterForeground',onClick:this.handleAppEnterForeground,style:o,className:'sidebar-item'},a.createElement('i',{className:'sidebar-item-icon sidebar-item-icon-forward'}),a.createElement('label',{className:'sidebar-item-label'},'\u524D\u53F0')),a.createElement(h,{project:this.props.project})),a.createElement('div',{className:'sidebar-item-toolbar',style:q},a.createElement('div',{title:'\u5173\u95ED\u9879\u76EE','data-type':'appTerminate',onClick:this.handleAppTerminate,className:'sidebar-item'},a.createElement('i',{className:'sidebar-item-icon sidebar-item-icon-close'}),a.createElement('label',{className:'sidebar-item-label'},'\u5173\u95ED'))))}});_exports=k}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var e,t=require("../../lib/react.js"),a=require("../../cssStr/cssStr.js"),i=require("../../actions/webviewActions.js"),r=require("../../actions/windowActions.js"),s=require("../../stores/windowStores.js"),n=require("../../actions/projectActions.js"),c=require("../../stores/projectStores.js"),o=(require("../../weapp/utils/projectManager.js"),require("../../config/sceneConfig.js")),l=o.defaultScene,d=require("./music.js"),m=require("./cache.js"),p=require("url"),b=require("querystring"),u=require("../../utils/newReport.js"),E=t.createClass({displayName:"Sidebar",getInitialState:function(){return this.props.project&&u("project_debug",this.props.project.appid),{inForeground:!0}},_restart:function(){this.setState({inForeground:!0})},_appEnterBackground:function(){this.setState({inForeground:!1})},_appEnterForeground:function(){this.setState({inForeground:!0})},componentDidMount:function(){c.on("RESTART_PROJECT",this._restart),s.on("APP_ENTER_BACKGROUND",this._appEnterBackground),s.on("APP_ENTER_FOREGROUND",this._appEnterForeground)},componentWillUnmount:function(){c.removeListener("RESTART_PROJECT",this._restart),s.removeListener("APP_ENTER_BACKGROUND",this._appEnterBackground),s.removeListener("APP_ENTER_FOREGROUND",this._appEnterForeground)},handleOnclick:function(e){var t=e.currentTarget,a=t.dataset,i=a.type;this.props.optProject(i),u("project_"+i,this.props.project.appid)},handleAppTerminate:function(e){n.close(),u("project_"+close,this.props.project.appid)},handleAppRestart:function(t){var a=this;clearTimeout(e),e=setTimeout(function(){n.restart(a.props.project);"edit"===a.props.show?"project_compile":"project_restart"},200)},handleAppEnterBackground:function(e){r.appEnterBackground(),i.postMessageToAS({eventName:"onAppEnterBackground",type:"ON_APPLIFECYCLE_EVENT"}),u("project_background",this.props.project.appid)},handleAppEnterForeground:function(e){var t=c.getCurrentProject(),a=t.initPath.enable&&t.initPath.scene||l;r.appEnterForeground({scene:a});var n=s.getCurrentWebviewUrl(),o=p.parse(n),d=o.pathname.replace(/^\//,"");i.postMessageToAS({eventName:"onAppEnterForeground",data:{scene:a,path:d||"",query:b.parse(o.query||"")},type:"ON_APPLIFECYCLE_EVENT"})},showCustom:function(){var e=this,t=this.props.project;r.showCustomPreview({project:t,callback:function(a){c.setProjectInitPath(t.hash,{enable:a.enable,page:a.page,scene:a.scene,query:a.query,referData:a.referData,appid:a.appid}),e.handleAppRestart()}})},render:function(){var e={detail:"sidebar-item",debug:"sidebar-item",edit:"sidebar-item",mobile:"sidebar-item"},i=this.props.show;if(e[i]="sidebar-item sidebar-item-active",!this.props.project)return t.createElement("div",{className:"sidebar"},t.createElement("div",{"data-type":"debug",onClick:this.handleOnclick,className:e.debug},t.createElement("i",{className:"sidebar-item-icon sidebar-item-icon-debug"}),t.createElement("label",{className:"sidebar-item-label"},"调试")),t.createElement("div",{className:"sidebar-item sidebar-item-sep"}),t.createElement("div",{className:"sidebar-item-toolbar"},t.createElement("div",{title:"返回","data-type":"appTerminate",onClick:this.handleAppTerminate,className:"sidebar-item"},t.createElement("i",{className:"sidebar-item-icon sidebar-item-icon-close"}),t.createElement("label",{className:"sidebar-item-label"},"返回"))));var r=this.state.inForeground?{}:a.displayNone,s=this.state.inForeground?a.displayNone:{},n="debug"===i||"edit"===i?{}:a.displayNone,c="debug"===i||"edit"===i?{borderTop:"none"}:{};return t.createElement("div",{className:"sidebar"},t.createElement("div",{"data-type":"edit",onClick:this.handleOnclick,className:e.edit},t.createElement("i",{className:"sidebar-item-icon sidebar-item-icon-editor"}),t.createElement("label",{className:"sidebar-item-label"},"编辑")),t.createElement("div",{"data-type":"debug",onClick:this.handleOnclick,className:e.debug},t.createElement("i",{className:"sidebar-item-icon sidebar-item-icon-debug"}),t.createElement("label",{className:"sidebar-item-label"},"调试")),t.createElement("div",{"data-type":"detail",onClick:this.handleOnclick,className:e.detail},t.createElement("i",{className:"sidebar-item-icon sidebar-item-icon-detail"}),t.createElement("label",{className:"sidebar-item-label"},"项目")),t.createElement("div",{className:"sidebar-item sidebar-item-sep"}),t.createElement("div",{className:"sidebar-item-toolbar",style:n},t.createElement(d,null),t.createElement("div",{title:("darwin"===process.platform?"Command":"Ctrl")+" + b",onClick:this.handleAppRestart,className:"sidebar-item",style:{paddingBottom:0}},t.createElement("i",{className:"sidebar-item-icon sidebar-item-icon-reset"})),t.createElement("div",{title:("darwin"===process.platform?"Command":"Ctrl")+" + b",onClick:this.showCustom,className:"sidebar-item",style:{paddingTop:0,paddingBottom:5}},t.createElement("i",{className:"sidebar-item-icon sidebar-item-icon-custom",style:{marginRight:5}})),t.createElement("div",{onClick:this.handleAppRestart,className:"sidebar-item",style:{paddingTop:0,cursor:"default"}},t.createElement("label",{className:"sidebar-item-label",style:{cursor:"default"}},"编译")),t.createElement("div",{title:"切换到后台","data-type":"appEnterBackground",onClick:this.handleAppEnterBackground,style:r,className:"sidebar-item"},t.createElement("i",{className:"sidebar-item-icon sidebar-item-icon-backward"}),t.createElement("label",{className:"sidebar-item-label"},"后台")),t.createElement("div",{title:"切换到前台","data-type":"appEnterForeground",onClick:this.handleAppEnterForeground,style:s,className:"sidebar-item"},t.createElement("i",{className:"sidebar-item-icon sidebar-item-icon-forward"}),t.createElement("label",{className:"sidebar-item-label"},"前台")),t.createElement(m,{project:this.props.project})),t.createElement("div",{className:"sidebar-item-toolbar",style:c},t.createElement("div",{title:"关闭项目","data-type":"appTerminate",onClick:this.handleAppTerminate,className:"sidebar-item"},t.createElement("i",{className:"sidebar-item-icon sidebar-item-icon-close"}),t.createElement("label",{className:"sidebar-item-label"},"关闭"))))}});_exports=E}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/actions/simulatorActions.js b/app/dist/components/simulator/actions/simulatorActions.js
index 79ddb374..f8ef18b7 100644
--- a/app/dist/components/simulator/actions/simulatorActions.js
+++ b/app/dist/components/simulator/actions/simulatorActions.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../../actions/webviewActions.js'),b=require('../../../actions/windowActions.js');require('../../../common/log/log.js');const c={S_UP_WEBVIEW_STATUS:function(e,f,g){let h=g.currentWebviewID;e===h&&b.changeUrl(f.url,e),a.upWebviewStatus(e,f)},S_EXEC_JSSDK:function(e,f,g){a.execWebviewJSSDK(e,f)},S_OPEN_DEVTOOLS:function(e,f){b.openWebviewDevtools(e,f.webview,f.webviewOffset)},S_CLOSE_DEVTOOLS:function(e){b.closeWebviewDevtools(e)},S_GET_SNAPSHOT:function(e,f){a.setWebviewSnapshot(e,f.dataURI)},S_GET_A8KEY:function(e,f,g){a.getA8keyWebview(e,f)},S_POSTMSG_TO_AS:function(e,f,g){a.postMessageToAS(f)},S_CLEAN_WEBVIEW:function(e,f,g){a.cleanWebview(e)},S_SET_ACTION:function(e,f,g){a.setWebviewAction(e,f)},S_CHANGE_CURRENT_WEBVIEW:function(e,f){a.changeWebviewID(f.webviewID),b.changeWebviewID(f.webviewID)},S_DELETE_WEBVIEW:function(e,f){a.deleteWebviewID(f.webviewID)},S_SET_WEBVIEW_INFO:function(e,f,g){a.setWebviewInfo(f),b.setWebviewInfo(f)},S_AUTHORIZE_SDK:function(e,f,g){a.authorizeSdk(e,f.authorizeSdkId,f.url,f.appname,f.scope_list)},S_AUTHORIZE_SDK_RETURN:function(e,f,g){a.authorizeSdkReturn(f.authorizeSdkId,f.scope_list,f.isAllowed)},S_SET_WEBVIEW_MARGIN:function(e,f,g){a.setInterfaceFromPageFrame(e,f)},S_START_DEBUGGEE:function(e,f,g){b.startDebuggee(e,f)}};_exports=(d,e,f,g)=>{c[d]&&c[d](e,f,g)}}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){function e(e,n,i){var t=i.currentWebviewID;e===t&&b.changeUrl(n.url,e),r.upWebviewStatus(e,n)}function n(e,n,i){r.execWebviewJSSDK(e,n)}function i(e,n){b.openWebviewDevtools(e,n.webview,n.webviewOffset)}function t(e){b.closeWebviewDevtools(e)}function o(e,n){r.setWebviewSnapshot(e,n.dataURI)}function _(e,n,i){r.getA8keyWebview(e,n)}function S(e,n,i){r.postMessageToAS(n)}function E(e,n,i){r.cleanWebview(e)}function c(e,n,i){r.setWebviewAction(e,n)}function s(e,n){r.changeWebviewID(n.webviewID),b.changeWebviewID(n.webviewID)}function w(e,n){r.deleteWebviewID(n.webviewID)}function u(e,n,i){r.setWebviewInfo(n),b.setWebviewInfo(n)}function W(e,n,i){r.setInterfaceFromPageFrame(e,n)}function v(e,n,i){b.startDebuggee(e,n)}var r=require("../../../actions/webviewActions.js"),b=require("../../../actions/windowActions.js"),f=(require("../../../common/log/log.js"),{S_UP_WEBVIEW_STATUS:e,S_EXEC_JSSDK:n,S_OPEN_DEVTOOLS:i,S_CLOSE_DEVTOOLS:t,S_GET_SNAPSHOT:o,S_GET_A8KEY:_,S_POSTMSG_TO_AS:S,S_CLEAN_WEBVIEW:E,S_SET_ACTION:c,S_CHANGE_CURRENT_WEBVIEW:s,S_DELETE_WEBVIEW:w,S_SET_WEBVIEW_INFO:u,S_SET_WEBVIEW_MARGIN:W,S_START_DEBUGGEE:v});_exports=function(e,n,i,t){f[e]&&f[e](n,i,t)}}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/console/consoleHandler.js b/app/dist/components/simulator/console/consoleHandler.js
index f82a859f..f3a0665a 100644
--- a/app/dist/components/simulator/console/consoleHandler.js
+++ b/app/dist/components/simulator/console/consoleHandler.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const{WXML_LOSE_ERROR:a,COMPONENT_FOR_DEVELOPER:b,WXML_ERROR:c,PAGE_DEFINE_ERROR:d,WXML_RUNTIME_ERROR:e,WEBVIEW_ERROR:f,WEBVIEW_NETWORK_ERROR:g}=require('../../../config/config.js'),h=require('../../../actions/windowActions.js');_exports=i=>{let j=i.message;0===j.indexOf(b)?h.showWeappError(b,i):0===j.indexOf(c)?h.showWeappError(c,j):0===j.indexOf(d)?h.showWeappError(d,j):0===j.indexOf(e)?h.showWeappError(e,i):0===j.indexOf(a)?h.showWeappError(a,i):0===j.indexOf(g)?h.showWeappError(g,i):h.showWeappError(f,i)}}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var r=require("../../../config/config.js"),E=r.WXML_LOSE_ERROR,o=r.COMPONENT_FOR_DEVELOPER,e=r.WXML_ERROR,R=r.PAGE_DEFINE_ERROR,i=r.WXML_RUNTIME_ERROR,s=r.WEBVIEW_ERROR,p=r.WEBVIEW_NETWORK_ERROR,O=require("../../../actions/windowActions.js");_exports=function(r){var n=r.message;0===n.indexOf(o)?O.showWeappError(o,r):0===n.indexOf(e)?O.showWeappError(e,n):0===n.indexOf(R)?O.showWeappError(R,n):0===n.indexOf(i)?O.showWeappError(i,r):0===n.indexOf(E)?O.showWeappError(E,r):0===n.indexOf(p)?O.showWeappError(p,r):O.showWeappError(s,r)}}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/controller.js b/app/dist/components/simulator/controller.js
index 1a3ecca4..6ca61c0e 100644
--- a/app/dist/components/simulator/controller.js
+++ b/app/dist/components/simulator/controller.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){function a(I){m.showTipsMsg({msg:I,type:'error'})}require('fs');const b=require('../../lib/react.js'),c=require('../../lib/react-dom.js'),d=require('./toolbar/toolbar.js'),f=require('./webviewtab.js'),g=require('./webviewWeappShare.js'),h=require('querystring'),j=require('./webview.js'),k=require('../../weapp/utils/tools.js'),l=require('../../stores/webviewStores.js');require('../../stores/windowStores.js');const m=require('../../actions/windowActions.js');require('../../actions/webviewActions.js'),require('../../stores/projectStores.js');const n=require('../../cssStr/cssStr.js'),o=require('../../common/log/log.js'),p=require('../../common/request/request.js'),q=require('./actions/simulatorActions.js'),r=require('./webviewBackwardMask.js'),s=require('./payment/webviewpayment.js');require('../../utils/tools.js');const t=require('url'),u=require('../../config/urlConfig.js'),v=require('../../weapp/utils/projectManager.js'),w=require('./webview/modal.js'),x=require('./webview/toast.js'),y=require('./webview/picker'),z=require('./webview/actionSheet.js'),A=require('./webview/confirm.js'),B=require('./webview/previewImage.js'),{default_tabheight:C,default_backgroundColor:D}=require('../../config/weappConfig.js');var E=0,F=0,G;const H=b.createClass({displayName:'Controller',getInitialState:function(){let I='app/html/about.html',J={},K={window:{}},L={},M=l.getOffset(),N=!1,O=this.props.project;if(O){try{I=v.getAppEntranceSync(O),K=v.getAppJSONSync(O),J=K.tabBar||{};let Q=K.pages||[];L=v.getPageJSONSync(O,Q[0])}catch(Q){I=''}let P=this.getTabPageIndex(I,J);N=!!(-1{let S=this.setAnimateImg(!1,{dataURI:R}),T=Q.offsetWidth,U=Object.assign({},this.state.list);for(var V in O)delete U[O[V]];this.setState({list:U,currentWebviewID:N},()=>{S.addEventListener('transitionend',()=>{global.contentDocumentBody.removeChild(S);let W=c.findDOMNode(this.refs[`webview${N}`]),X=W.querySelector(`.webviewbody${N}`);if(this.props.project){let Z=J.src,$=k.getBaseURL(this.props.project);0===Z.indexOf($)&&this.postAppRoute(X.src,this.state.currentWebviewID,'navigateBack')}for(var Y in O)this.getSimulatorActions('S_DELETE_WEBVIEW',null,{webviewID:O[Y]});this.getSimulatorActions('S_CHANGE_CURRENT_WEBVIEW',null,{webviewID:N})}),S.style.transform=`translate3d(${T}px,0,0)`})})}},_getOpenWebviewNum:function(){let I=this.state.list,J=1;for(let K in I)I.hasOwnProperty(K)&&I[K]&&!I[K].isTabbar&&J++;return J},_openNewWebview:function(I,J=()=>{}){let{webviewID:K,url:L,isMap:M,type:N}=I;if(!I.isMap&&5{R.parentNode.removeChild(R),E++;let S=Object.assign({},this.state.list);S[E]={prevWebviewID:K,href:L,pageJSON:P,isMap:M,type:N},this.setState({currentWebviewID:E,list:S}),this.getSimulatorActions('S_CHANGE_CURRENT_WEBVIEW',null,{webviewID:E}),J(null,E)})},_openNewWindowWebview:function(I){let J=I.url,K=this.getRouteName(J),L={},M=this.props.project;try{L=v.getPageJSONSync(M,J)}catch(U){}L.backgroundColor||'#ffffff';let N=k.getBaseURL(M);J=t.resolve(N,`${J}.html`);let O=Object.assign({},this.state.list),P={},Q={};for(let U in O){let V=O[U];V.isTabbar&&(V.isTabbar===K&&(Q.currentWebviewID=U),P[U]=V)}Q.list=P;let R=!1;void 0===Q.currentWebviewID&&(Q.currentWebviewID=++E,Q.list[E]={showUrl:!1,hideBack:!0,isTabbar:K,href:J,pageJSON:L,type:'switchTab'},R=!0);let S=Q.currentWebviewID,T=Q.currentWebviewID!=this.state.currentWebviewID;return this.setState(Q,()=>{setTimeout(()=>{!R&&T&&this.postAppRoute(J,S,'switchTab'),this.getSimulatorActions('S_CHANGE_CURRENT_WEBVIEW',null,{webviewID:S})},0)}),S},_changeWebviewID:function(I){this.setState({currentWebviewID:I})},_setWebviewInfo:function(I){let J=this.state.tabBar;J.list||[],I.height&&this.setState({offset:{height:I.height,width:I.width,dpr:I.dpr}})},_setWebviewSnapshot:function(I,J){let K=Object.assign({},this.state.list);K[I].dataURI=J,this.setState({list:K})},_postMessageToAllWebview:function(I){let J=I.webviewIds||[],K=0===J.length;setTimeout(()=>{I.act='sendMsgFromAppService';let L;L=K?Object.keys(this.state.list):J,L.forEach(M=>{this.getSimulatorActions('S_SET_ACTION',M,I)})},17)},_getShortUrl:function(I){let J='';if(this.props.project){let K=this.props.project;J=k.getBaseURL(K)}return I.replace(J,'')},navigateTo:function(I,J){let K=I.args.url,L=this.getTabPageIndex(this.getRouteName(K));if(0<=L)return void J({errMsg:'navigateTo:fail can not navigate to tabBar page'});let M=this.state.currentWebviewID;this._openNewWebview({webviewID:M,url:K,type:'navigateTo'},(N,O)=>{null===N?J({errMsg:'navigateTo:ok',url:this._getShortUrl(K),webviewId:O}):J({errMsg:'navigateTo:fail webview count limit exceed.'})})},redirectTo:function(I,J){let K=I.args.url,L=this.getTabPageIndex(this.getRouteName(K));if(0<=L)return void J({errMsg:'redirectTo:fail can not redirect to tabBar page'});let M={};try{M=v.getPageJSONSync(this.props.project,K)}catch(T){}let N=this.state.currentWebviewID,O=Object.assign({},this.state.list),P=O[N],Q=P.isTabbar,R=P.prevWebviewID;delete O[N],E++,O[E]={pageJSON:M,prevWebviewID:R,href:K,hideBack:Q||N===this.state.topWebviewID,type:'redirectTo'};let S={currentWebviewID:E};1==Object.keys(O).length&&(S.topWebviewID=E),Q?(S.list={},S.list[E]=O[E],S.topWebviewID=E):S.list=O,this.setState(S),setTimeout(()=>{this.getSimulatorActions('S_CHANGE_CURRENT_WEBVIEW',null,{webviewID:E})}),J({errMsg:'redirectTo:ok',url:this._getShortUrl(K),webviewId:N})},switchTab:function(I,J){let K=this.getTabPageIndex(this.getRouteName(I.args.url));if(0>K)return void J({errMsg:'switchTab:fail can not switch to no-tabBar page'});let L=this._openNewWindowWebview({url:this.getRouteName(I.args.url)});J({errMsg:'switchTab:ok',webviewId:L,url:this._getShortUrl(I.args.url)})},_asSdk:function(I,J,K){if('redirectTo'===I)this.redirectTo(J,K);else if('navigateTo'===I)this.navigateTo(J,K);else if('switchTab'===I)this.switchTab(J,K);else if('navigateBack'===I){let M=this.state.currentWebviewID,N=c.findDOMNode(this.refs[`webview${M}`]),O=N.querySelector(`.webviewbody${M}`);this.goBack(this.state.currentWebviewID,O,!1,J.args.delta||1),setTimeout(()=>{K({errMsg:'navigateBack:ok',url:this._getShortUrl(O.src)})},200)}else if('setNavigationBarTitle'===I)setTimeout(()=>{let M=this.state.currentWebviewID,N=J.args;this.getSimulatorActions('S_SET_WEBVIEW_MARGIN',M,{name:I,value:N.title||''}),K({errMsg:'setNavigationBarTitle:ok'})},400);else if('showNavigationBarLoading'===I){let M=this.state.currentWebviewID;J.args,setTimeout(()=>{this.getSimulatorActions('S_SET_WEBVIEW_MARGIN',M,{name:I}),K({errMsg:`${I}:ok`})},0)}else if('hideNavigationBarLoading'===I){let M=this.state.currentWebviewID;J.args,setTimeout(()=>{this.getSimulatorActions('S_SET_WEBVIEW_MARGIN',M,{name:I}),K({errMsg:`${I}:ok`})},0)}else if('chooseLocation'===I){let M=this.state.currentWebviewID,N=J.url;this._openNewWebview({isMap:!0,webviewID:M,url:N});let O={};this.chooseLocation=function(P){return P?void(O=P):void(0===Object.keys(O).length?K({errMsg:'chooseLocation:fail'}):K({name:O.poiname,address:O.poiaddress,latitude:O.latlng.lat,longitude:O.latlng.lng,errMsg:'chooseLocation:ok'}))},this.closeLocation=function(){K({errMsg:'chooseLocation:cancel'})}}else if('openLocation'===I){let M=this.state.currentWebviewID;this._openNewWebview({isMap:!0,webviewID:M,url:J.url}),K({errMsg:'openLocation:ok'})}else if('operateWXData'===I){let M='',N=J.args;if(this.props.project){let O=this.props.project;M=O.appid}p({url:`${u.jsOperateWXDATAURL}?appid=${M}`,method:'post',body:JSON.stringify({data:JSON.stringify(N.data||{})}),needToken:1},(O,P,Q)=>{let R={},S='';if(!O&&200===P.statusCode&&(Q=JSON.parse(Q),Q.baseresponse))if(0==Q.baseresponse.errcode)try{R.data=JSON.parse(Q.data),R.errMsg='operateWXData:ok'}catch(U){R.errMsg='operateWXData:fail'}else{if(-12000==Q.baseresponse.errcode){var T=F++;let U=(V,W,X)=>{R.errMsg=X?'operateWXData:ok':'operateWXData:cancel';let Y=W[0];if(X&&Y.checked){let Z={data:JSON.stringify(N.data||{}),grant_scope:Y.scope};p({url:`${u.jsOperateWXDATAURL}?appid=${M}`,method:'post',body:JSON.stringify(Z),needToken:1},($,_,aa)=>{let ba={};if(!$&&200===_.statusCode&&(aa=JSON.parse(aa),aa.baseresponse&&0===aa.baseresponse.errcode))try{ba.data=JSON.parse(aa.data),ba.errMsg='operateWXData:ok'}catch(ca){ba.errMsg='operateWXData:fail'}ba.errMsg||(ba.errMsg='operateWXData:fail; '),K(ba)})}else K(R);l.removeListener('AUTHORIZE_SDK_RETURN_'+V,U)};return l.on('AUTHORIZE_SDK_RETURN_'+T,U),void this.getSimulatorActions('S_AUTHORIZE_SDK',this.state.currentWebviewID,{authorizeSdkId:T,url:`${Q.appicon_url}/0`,appname:Q.appname,scope_list:[Q.scope]})}S=Q.baseresponse.errmsg}R.errMsg||(R.errMsg='operateWXData:fail '+S),K(R)})}else if('authorize'===I){let M='';if(this.props.project){let P=this.props.project;M=P.appid}let N=J.args,O={scope:N.scope||[]};p({url:`${u.jsAuthorizeURL}?appid=${M}`,method:'post',body:JSON.stringify(O),needToken:1},(P,Q,R)=>{let S={},T='';if(!P&&200===Q.statusCode&&(R=JSON.parse(R),R.baseresponse))if(S.body=R,0==R.baseresponse.errcode)S.errMsg='authorize:ok';else{if(-12000==R.baseresponse.errcode){var U=F++;let V=(W,X,Y)=>{if(S.errMsg=Y?'authorize:ok':'authorize:cancel',Y){let Z=[];for(let $=0;${let ba={};$||200!==_.statusCode||(aa=JSON.parse(aa),aa.baseresponse&&0===aa.baseresponse.errcode&&(ba.errMsg='authorize:ok')),ba.errMsg||(ba.errMsg='authorize:fail'),K(ba)})}else K(S);l.removeListener('AUTHORIZE_SDK_RETURN_'+W,V)};return l.on('AUTHORIZE_SDK_RETURN_'+U,V),void this.getSimulatorActions('S_AUTHORIZE_SDK',this.state.currentWebviewID,{authorizeSdkId:U,url:`${R.appicon_url}/0`,appname:R.appname,scope_list:R.scope_list})}T=R.baseresponse.errmsg}S.errMsg||(S.errMsg='authorize:fail '+T),K(S)})}else if('getSystemInfo'===I||'getSystemInfoSync'===I){let M=this.state.currentWebviewID,N=l.getInfo(),O=this.state.list[M],P=N.os;K({errMsg:`${I}:ok`,model:N.model,pixelRatio:N.dpr,windowWidth:N.width,windowHeight:-1{let Q={show:!0,title:M.title,desc:M.desc,imgUrl:M.imgUrl,dataURI:P,callback:K};this.setState({share:Q})})}else if('requestPayment'===I){this.setState({uuid:J.uuid,qrcode:J.qrcode});let M=this.props.project,N=M.appid;this.requestPaymentCallBack=K;var L=()=>{p({url:`${u.paymentStateURL}?appid=${N}`,loginForc:1,needToken:1,method:'post',body:JSON.stringify({wxa_pay_uuid:J.uuid})},(O,P,Q)=>{if(O)m.showTipsMsg({msg:JSON.stringify(O),type:'error'});else{let R;try{R=JSON.parse(Q)}catch(U){return a(`系统错误 ${JSON.stringify(U)}`),o.error(`controller.js payment parse body error: ${Q} ${JSON.stringify(O)}`),void K({errMsg:`requestPayment:fail`})}let S=R.baseresponse,T=S?parseInt(S.errcode):0;if(0===T){let U=parseInt(R.qrcode_state);if(4===U||3===U)return this.state.uuid&&(G=setTimeout(L,3000)),void this.setState({qrcodeState:U});if(5===U){let V=JSON.parse(R.payment_ret);return V.errMsg=V.err_msg.replace(/^get_brand_wcpay_request/,'requestPayment'),delete V.err_msg,K(V),void this.setState({qrcode:'',uuid:'',qrcodeState:''})}1===U?a(`UUID 错误`):2===U?a(`等待超时,请重试`):a(`系统错误 错误码 ${U}`),K({errMsg:`requestPayment:fail`})}else a(`系统错误,错误码 ${T},错误信息 ${S.errmsg}`)}})};L()}},_upWebviewStatus:function(I,J){this.upCurrentWebviewURL(J.url)},_toggleRecordWording:function(I){this.setState({showRecordWording:I})},getTabPageIndex:function(I,J){let K=k.getFileNameFromUrl(I,this.props.project).replace(/\.wxml$/,'');J=J||this.state.tabBar;let L=J.list||[],M=L.findIndex(N=>{return N.pagePath===K});return M},upCurrentWebviewURL:function(I){},getSimulatorActions:function(I,J,K){let L={currentWebviewID:this.state.currentWebviewID};if(q(I,J,K,L),'S_CHANGE_CURRENT_WEBVIEW'===I){let M=K.webviewID;if(M===this.state.currentWebviewID){let N=c.findDOMNode(this.refs[`webview${M}`]),O=N.querySelector('webview'),P=O.src;this.upCurrentWebviewURL(P),m.changeUrl(P,M)}}},projectHasTab:function(){let I=this.state.tabBar.list||[],J=I.length;return J&&5>=I.length&&2<=I.length},closePayment:function(){this.requestPaymentCallBack&&this.requestPaymentCallBack({errMsg:'requestPayment:cancel'}),clearTimeout(G),this.setState({uuid:'',qrcode:''})},componentDidMount:function(){l.on('CHANGE_WEBVIEW_ID',this._changeWebviewID),l.on('SET_WEBVIEW_INFO',this._setWebviewInfo),l.on('AS_PUBLISH',this._postMessageToAllWebview),l.on('SEND_AS_SDK',this._asSdk),l.on('SET_WEBVIEW_SNAPSHOT',this._setWebviewSnapshot),l.on('UP_WEBVIEW_STATUS',this._upWebviewStatus),l.on('TOGGLE_RECORD_WORDING',this._toggleRecordWording);let I=this.props.project?1:12;chrome.fontSettings.setMinimumFontSize({pixelSize:I})},componentWillUnmount:function(){l.removeListener('CHANGE_WEBVIEW_ID',this._changeWebviewID),l.removeListener('SET_WEBVIEW_INFO',this._setWebviewInfo),l.removeListener('AS_PUBLISH',this._postMessageToAllWebview),l.removeListener('SEND_AS_SDK',this._asSdk),l.removeListener('SET_WEBVIEW_SNAPSHOT',this._setWebviewSnapshot),l.removeListener('UP_WEBVIEW_STATUS',this._upWebviewStatus),l.removeListener('TOGGLE_RECORD_WORDING',this._toggleRecordWording)},chooseLocation:function(){},closeLocation:function(){},hideShare:function(){this.setState({share:{show:!1}})},render:function(){let I=[];for(let K in this.state.list){let L=K==this.state.currentWebviewID?{}:n.webviewDisplayNone,M=this.state.list[K],N=this.getTabPageIndex(M.href),O=null,P=null,Q=Object.assign({},this.state.offset);if(this.projectHasTab()&&-1-1&&this.getRouteName(s.list[W].pagePath),setTimeout(function(){h.changeUrl(e,t)})}var E=!1;return{currentWebviewID:t,topWebviewID:i,showCard:p,tabBar:s,appJSON:a,offset:l,cardInfo:n,showRecordWording:E,list:{0:{href:e,dataURI:w,preWebviewID:r,pageJSON:o,isTabbar:u,shareBtnShow:!1,shareWithTicket:!1,shareDataURI:void 0}},shareInfo:{show:!1,imgUrl:"",title:"",desc:""},uuid:v,qrcode:b,qrcodeState:d,scene:g&&g.initPath&&g.initPath.enable&&g.initPath.scene||D,beta:global.appConfig.isBeta}},createWebviewId:function(){return++O},setAnimateImg:function(e,i){var r=document.createElement("div");if(i.dataURI){var s=document.createElement("img");r.appendChild(s),s.src=i.dataURI}r.className="simulator-animate-png";var a=t.findDOMNode(this.refs["webview"+this.state.currentWebviewID]),n=a.getBoundingClientRect(),o=n.top,c=n.left,l=n.height,h=n.width;e?r.style.cssText="background-color:"+i.color+";width:"+h+"px;height:"+l+"px;top:"+o+"px;left:"+c+"px;transform:translate3d("+h+"px,0,0)":r.style.cssText="margin-top:42px;width:"+h+"px;height:"+(l-42)+"px;top:"+o+"px;left:"+c+"px;transform:translate3d(0,0,0)",global.contentDocumentBody.appendChild(r);r.offsetTop;return r},getRouteName:function(e){return b.parse(e).pathname.split(".")[0].replace(/^\//,"")},postAppRoute:function(e,t,i){if(this.props.project){var r=b.parse(e),s=r.pathname.replace(/^\//,""),a=(r.query||"").split("&"),n={};a.forEach(function(e){var t=e.split("=");n[t[0]]=t[1]}),this.getSimulatorActions("S_POSTMSG_TO_AS",null,{eventName:"onAppRoute",type:"ON_APPLIFECYCLE_EVENT",data:{path:s||"index.html",query:n,openType:i},webviewID:parseInt(t)})}},goBack:function(e,i,r,s){var a=this;if(s=s||1,this.props.project||!i.canGoBack()||r){if(e===this.state.topWebviewID||1==Object.keys(this.state.list).length)return;var n=i.src,c=this.getTabPageIndex(this.getRouteName(n));if(c>=0)return;for(var l,h=e,u=[];s--&&this.state.list[h]&&0!=h;)u.push(h),l=this.state.list[h],h=l.prevWebviewID;this.state.list[h]||(h=0);var p=t.findDOMNode(this.refs["webview"+e]),w=p.querySelector(".webviewbody"+e);w.captureVisibleRegion(function(e){var r=a.setAnimateImg(!1,{dataURI:e}),s=w.offsetWidth,n=Object.assign({},a.state.list);for(var c in u)delete n[u[c]];a.setState({list:n,currentWebviewID:h},function(){r.addEventListener("transitionend",function(){global.contentDocumentBody.removeChild(r);var e=t.findDOMNode(a.refs["webview"+h]),s=e.querySelector(".webviewbody"+h);if(a.props.project){var n=i.src,c=o.getBaseURL(a.props.project);0===n.indexOf(c)&&a.postAppRoute(s.src,a.state.currentWebviewID,"navigateBack")}for(var l in u)a.getSimulatorActions("S_DELETE_WEBVIEW",null,{webviewID:u[l]});a.getSimulatorActions("S_CHANGE_CURRENT_WEBVIEW",null,{webviewID:h})}),r.style.transform="translate3d("+s+"px,0,0)"})})}else i.back()},_getOpenWebviewNum:function(){var e=this.state.list,t=0,i=!1;for(var r in e)!i&&e[r].isTabbar&&(i=!0,t++),e[r].isTabbar||t++;return t},_openNewWebview:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},r=e.url,s=e.isMap,a=e.type,n=this.state.currentWebviewID;if(!e.isMap&&this._getOpenWebviewNum()>=5)return void i("webview count limit exceed");var o=this.state.appJSON,c={},l=R;if(!s){try{c=f.getPageJSONSync(this.props.project,r)}catch(e){}l=c.backgroundColor||o.window.backgroundColor||R}var h=this.setAnimateImg(!0,{color:l});h.style.transform="translate3d(0,0,0)",h.addEventListener("transitionend",function(){h.parentNode.removeChild(h),O++;var e=Object.assign({},t.state.list);e[O]={prevWebviewID:n,href:r,pageJSON:c,isMap:s,type:a},t.setState({currentWebviewID:O,list:e}),t.getSimulatorActions("S_CHANGE_CURRENT_WEBVIEW",null,{webviewID:O}),i(null,O)})},_openNewWindowWebview:function(e){var t=this,i=e.url,r=this.getRouteName(i),s={},a=this.props.project;try{s=f.getPageJSONSync(a,i)}catch(e){}var n=(s.backgroundColor||"#ffffff",o.getBaseURL(a));i=b.resolve(n,i+".html");var c=Object.assign({},this.state.list),l={},h={};for(var u in c){var p=c[u];p.isTabbar&&(p.isTabbar===r&&(h.currentWebviewID=parseInt(u)),l[u]=p)}h.list=l;var w=!1;void 0===h.currentWebviewID&&(h.currentWebviewID=++O,h.list[O]={showUrl:!1,hideBack:!0,isTabbar:r,href:i,pageJSON:s,type:"switchTab"},w=!0);var v=h.currentWebviewID,d=h.currentWebviewID!=this.state.currentWebviewID;return this.setState(h,function(){setTimeout(function(){!w&&d&&t.postAppRoute(i,v,"switchTab"),t.getSimulatorActions("S_CHANGE_CURRENT_WEBVIEW",null,{webviewID:v})},0)}),v},_changeWebviewID:function(e){this.setState({currentWebviewID:e})},_setWebviewInfo:function(e){var t=this.state.tabBar;t.list||[];e.height&&this.setState({offset:{height:e.height,width:e.width,dpr:e.dpr}})},_setWebviewSnapshot:function(e,t){var i=Object.assign({},this.state.list);i[e].dataURI=t,this.setState({list:i})},_postMessageToAllWebview:function(e){var t=this,i=e.webviewIds||[],r=0===i.length;setTimeout(function(){e.act="sendMsgFromAppService";var s=void 0;s=r?Object.keys(t.state.list):i,s.forEach(function(i){t.getSimulatorActions("S_SET_ACTION",i,e)})},17)},doSimulaterActions:function(e,i,r){var s=function(){"function"==typeof r&&r.apply(r,arguments)};switch(e){case"OPEN_NEW_WEBVIEW":this._openNewWebview(i,s);break;case"OPEN_NEW_WINDOW_WEBVIEW":this._openNewWindowWebview(i),s(null);break;case"WEBVIEW_BACK":var a=this.state.currentWebviewID,n=t.findDOMNode(this.refs["webview"+a]),o=n.querySelector(".webviewbody"+a);this.goBack(this.state.currentWebviewID,o,!1,i.delta);break;case"CAPTRUE_WEBVIEW":var c=this.state.currentWebviewID,l=t.findDOMNode(this.refs["webview"+c]),h=l.querySelector(".webviewbody"+c);h.captureVisibleRegion(function(e){s(null,e)})}},getWebviewList:function(e){return Object.assign({},this.state.list)},_upWebviewStatus:function(e,t){this.upCurrentWebviewURL(t.url)},_toggleRecordWording:function(e){this.setState({showRecordWording:e})},_onSumilatorNetworkChange:function(e){this.getSimulatorActions("S_POSTMSG_TO_AS",null,{eventName:"onNetworkStatusChange",data:{networkType:e,isConnected:"none"!=e},webviewID:parseInt(this.state.currentWebviewID)})},_onWebviewInterface:function(e,i,r,s){var a=this;if("initReady"===i){var n=t.findDOMNode(this.refs["webview"+e]),o=n.querySelector(".webviewbody"+e);setTimeout(function(){try{o.captureVisibleRegion(function(t){var i=Object.assign({},a.state.list);i[e]&&(i[e].shareDataURI=t,a.setState({list:i}))})}catch(e){}},200)}},getTabPageIndex:function(e,t){var i=o.getFileNameFromUrl(e,this.props.project).replace(/\.wxml$/,"");t=t||this.state.tabBar;var r=t.list||[],s=r.findIndex(function(e){return e.pagePath===i});return s},upCurrentWebviewURL:function(e){},getSimulatorActions:function(e,i,r){var s={currentWebviewID:this.state.currentWebviewID};if(p(e,i,r,s),"S_CHANGE_CURRENT_WEBVIEW"===e){var a=r.webviewID;if(a===this.state.currentWebviewID){var n=t.findDOMNode(this.refs["webview"+a]),o=n.querySelector("webview"),c=o.src;this.upCurrentWebviewURL(c),h.changeUrl(c,a)}}},projectHasTab:function(){var e=this.state.tabBar.list||[],t=e.length;return t&&e.length<=5&&e.length>=2},_onAppEnterForground:function(e){this.setState({scene:e.scene})},componentDidMount:function(){c.on("CHANGE_WEBVIEW_ID",this._changeWebviewID),c.on("SET_WEBVIEW_INFO",this._setWebviewInfo),c.on("AS_PUBLISH",this._postMessageToAllWebview),c.on("SET_WEBVIEW_SNAPSHOT",this._setWebviewSnapshot),c.on("UP_WEBVIEW_STATUS",this._upWebviewStatus),c.on("TOGGLE_RECORD_WORDING",this._toggleRecordWording),c.on("SET_INTERFACE_ASYNC_RES",this._onWebviewInterface),c.on("SIMULATOR_NETWORK_CHANGE",this._onSumilatorNetworkChange),l.on("APP_ENTER_FOREGROUND",this._onAppEnterForground);var e=this.props.project?1:12;chrome.fontSettings.setMinimumFontSize({pixelSize:e}),A.register(this)},componentWillUnmount:function(){c.removeListener("CHANGE_WEBVIEW_ID",this._changeWebviewID),c.removeListener("SET_WEBVIEW_INFO",this._setWebviewInfo),c.removeListener("AS_PUBLISH",this._postMessageToAllWebview),c.removeListener("SET_WEBVIEW_SNAPSHOT",this._setWebviewSnapshot),c.removeListener("UP_WEBVIEW_STATUS",this._upWebviewStatus),c.removeListener("TOGGLE_RECORD_WORDING",this._toggleRecordWording),c.removeListener("SET_INTERFACE_ASYNC_RES",this._onWebviewInterface),c.removeListener("SIMULATOR_NETWORK_CHANGE",this._onSumilatorNetworkChange),l.removeListener("APP_ENTER_FOREGROUND",this._onAppEnterForground),A.unregister(this)},chooseLocation:function(){},closeLocation:function(){},hideShare:function(){var e={show:!1};this.setState({shareInfo:e})},render:function(){var t=[];for(var o in this.state.list){var c=o==this.state.currentWebviewID?{}:u.webviewDisplayNone,l=this.state.list[o],h=this.getTabPageIndex(l.href),p=null,f=null,N=Object.assign({},this.state.offset);if(this.projectHasTab()&&h>-1){var j=this.state.tabBar.position,R={width:this.state.offset.width,margin:"0 auto"},A=e.createElement("div",{style:R},e.createElement(r,{webviewID:o,tabPageIndex:h,project:this.props.project,_openNewWindowWebview:this._openNewWindowWebview,tabBar:this.state.tabBar}));"top"===j?p=A:f=A,N.height=N.height-T}t.push(e.createElement("div",{key:o,style:c},e.createElement("div",{className:"simulator-shadow",style:{width:N.width}},e.createElement(n,{showRecordWording:this.state.showRecordWording,type:l.type,ref:"webview"+o,webviewID:o,project:this.props.project,offset:N,isTabWebview:h>-1,href:l.href,pageJSON:l.pageJSON,appJSON:this.state.appJSON,isMap:l.isMap,chooseLocation:this.chooseLocation,closeLocation:this.closeLocation,hideBack:!!l.hideBack,goBack:this.goBack,getSimulatorActions:this.getSimulatorActions,postAppRoute:this.postAppRoute,topTabDom:p,shareBtnShow:l.shareBtnShow,shareWithTicket:l.shareWithTicket}),f)))}var O=this.props.project?e.createElement(s,{shareInfo:this.state.shareInfo,hideShare:this.hideShare}):null,y=!!this.props.project,q=u.displayNone,B=void 0,C=void 0,P=u.displayNone,k=void 0;if(y){var U=this.state.list[this.state.currentWebviewID];if(U.href){var L=b.parse(U.href);q={},B=L.pathname.replace(".html","").replace(/^\//,"");var x=a.parse(L.query||""),M=[];for(var V in x)M.push(V+"="+x[V]);C=M.join("&")}C&&(P={}),k=this.state.scene||D}return e.createElement("div",{className:"simulator-wrapper"},e.createElement(i,{getSimulatorActions:this.getSimulatorActions,list:this.state.list,currentWebviewID:this.state.currentWebviewID,project:this.props.project,show:this.props.show}),e.createElement("div",{className:"simulator-list-wrapper",style:{width:this.state.offset.width}},O,t,e.createElement(W,{webviewID:this.state.currentWebviewID}),e.createElement(g,{project:this.props.project,webviewID:this.state.currentWebviewID}),e.createElement(d,{webviewID:this.state.currentWebviewID}),e.createElement(I,{webviewID:this.state.currentWebviewID}),e.createElement(m,{webviewID:this.state.currentWebviewID}),e.createElement(_,{width:this.state.offset.width,project:this.props.project}),e.createElement(v,null),e.createElement(E,null),e.createElement(S,{project:this.props.project})),e.createElement(w,null),e.createElement("div",{className:"simulator-status-bar",style:q},e.createElement("p",{className:"simulator-status-bar-item",style:this.state.beta?u.displayNone:{}},e.createElement("label",null,"场景值:"),e.createElement("span",{title:k},k)),e.createElement("p",{className:"simulator-status-bar-item"},e.createElement("label",null,"页面路径:"),e.createElement("span",{title:B},B)),e.createElement("p",{style:P,className:"simulator-status-bar-item"},e.createElement("label",null,"页面参数:"),e.createElement("span",{title:C},C))))}});_exports=y}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/payment/webviewpayment.js b/app/dist/components/simulator/payment/webviewpayment.js
index f8b8d2ad..d5ea6158 100644
--- a/app/dist/components/simulator/payment/webviewpayment.js
+++ b/app/dist/components/simulator/payment/webviewpayment.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../../lib/react.js'),b=require('../../../cssStr/cssStr.js'),c=require('../../../stores/windowStores.js'),d=a.createClass({displayName:'Webviewpayment',componentDidMount:function(){},componentWillUnmount:function(){},close:function(){this.props.closePayment()},render:function(){let{uuid:e,qrcode:f,qrcodeState:g}=this.props;const h=e&&f?b.displayBlock:b.displayNone,i=c.getUserInfo();let j=i?i.nickName:'';return a.createElement('div',{style:h,className:'payment-wrapper'},a.createElement('div',{className:'payment'},a.createElement('div',{className:'payment-hd'},a.createElement('a',{href:'javascript:;',onClick:this.close,className:'payment-close'},a.createElement('i',{className:'payment-icon-close'}))),a.createElement('div',{className:'payment-bd'},a.createElement('p',{className:'payment-title'},'\u5FAE\u4FE1\u652F\u4ED8\u6D4B\u8BD5'),a.createElement('div',{className:'payment-qrcode-wrapper'},a.createElement('img',{className:'payment-qrcode',src:'data:image/png;base64,'+f}),a.createElement('div',{className:'payment-qrcode-scaned',style:4===g?b.displayBlock:b.displayNone},a.createElement('i',{className:'payment-icon-success'}))),a.createElement('p',{className:'payment-tips'},'\u8BF7\u7528\u5F00\u53D1\u8005\u672C\u4EBA\u5FAE\u4FE1\uFF08',j,'\uFF09\u626B\u63CF\u4EE5\u4E0A\u4E8C\u7EF4\u7801\u8FDB\u884C\u652F\u4ED8\u8C03\u8BD5'))))}});_exports=d}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var e=require("../../../lib/react.js"),t=require("../../../cssStr/cssStr.js"),a=require("../../../stores/windowStores.js"),s=require("../../../stores/webviewStores.js"),c=e.createClass({displayName:"Webviewpayment",getInitialState:function(){return{lazyLoaded:!1,qrcode:"",uuid:"",qrcodeState:""}},_operatePaymentQrcodeWnd:function(e){"show"===e.type?(this._callback=e.callback,this.setState({show:!0,lazyLoaded:!0,qrcode:e.qrcode,uuid:e.uuid,qrcodeState:e.qrcodeState})):"update"===e.type?this.setState({qrcodeState:e.qrcodeState}):"close"===e.type&&this.setState({show:!1,qrcode:"",uuid:"",qrcodeState:""})},componentDidMount:function(){s.on("OPERATE_PAYMENT_QRCODE_WND",this._operatePaymentQrcodeWnd)},componentWillUnmount:function(){s.removeListener("OPERATE_PAYMENT_QRCODE_WND",this._operatePaymentQrcodeWnd)},closePayment:function(){this.setState({show:!1,qrcode:"",uuid:"",qrcodeState:""}),"function"==typeof this._callback&&(this._callback(),this._callback=null)},render:function(){if(!this.state.lazyLoaded)return null;var s=this.state,c=(s.uuid,s.qrcode),n=s.qrcodeState,r=s.show,o=r?t.displayBlock:t.displayNone,i=a.getUserInfo(),l=i?i.nickName:"";return e.createElement("div",{style:o,className:"payment-wrapper"},e.createElement("div",{className:"payment"},e.createElement("div",{className:"payment-hd"},e.createElement("a",{href:"javascript:;",onClick:this.closePayment,className:"payment-close"},e.createElement("i",{className:"payment-icon-close"}))),e.createElement("div",{className:"payment-bd"},e.createElement("p",{className:"payment-title"},"微信支付测试"),e.createElement("div",{className:"payment-qrcode-wrapper"},e.createElement("img",{className:"payment-qrcode",src:"data:image/png;base64,"+c}),e.createElement("div",{className:"payment-qrcode-scaned",style:4===n?t.displayBlock:t.displayNone},e.createElement("i",{className:"payment-icon-success"}))),e.createElement("p",{className:"payment-tips"},"请用开发者本人微信(",l,")扫描以上二维码进行支付调试"))))}});_exports=c}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/private/private.js b/app/dist/components/simulator/private/private.js
index aa384209..a943ad25 100644
--- a/app/dist/components/simulator/private/private.js
+++ b/app/dist/components/simulator/private/private.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../../common/request/request.js');_exports={geolocation:function(c,d){a({url:`${'http://apis.map.qq.com/ws/location/v1/ip'}?key=${'JMRBZ-R4HCD-X674O-PXLN4-B7CLH-42BSB'}`,needToken:-1},(e,f,g)=>{d(e,g)})}}}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){function e(e,s){var u=i.getGeoSetting();return u.checked?void s(null,JSON.stringify({status:0,result:{location:{lat:u.latitude,lng:u.longitude}}})):t?void s(null,t):void o({url:r+"?key="+n,needToken:-1},function(e,o,i){e||(t=i),s(e,i)})}var t,o=require("../../../common/request/request.js"),i=require("../../../stores/webviewStores.js"),n="JMRBZ-R4HCD-X674O-PXLN4-B7CLH-42BSB",r="http://apis.map.qq.com/ws/location/v1/ip";_exports={geolocation:e}}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/sdkimplement/index.js b/app/dist/components/simulator/sdkimplement/index.js
new file mode 100644
index 00000000..772b28e1
--- /dev/null
+++ b/app/dist/components/simulator/sdkimplement/index.js
@@ -0,0 +1 @@
+"use strict";function init(){var e=require("../../../stores/webviewStores.js"),i=require("./navigateSdk.js"),_=require("./locationSdk.js"),t=require("./uiSdk.js"),o=require("./shareSdk.js"),s=function(){this.__implement__=Object.assign({},i,_,t,o)};s.prototype.register=function(i){i&&(this.__simulator__=i,this.__invoke__||(this.__invoke__=this.invoke.bind(this)),e.removeListener("SEND_AS_SDK",this.__invoke__),e.on("SEND_AS_SDK",this.__invoke__))},s.prototype.unregister=function(){this.__simulator__=void 0,e.removeListener("SEND_AS_SDK",this.__invoke__)},s.prototype.invoke=function(e,i,_){var t=this,o=arguments;"function"==typeof this.__implement__[e]&&setTimeout(function(){t.__implement__[e].apply(t.__simulator__,o)},0)},_exports=new s}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/sdkimplement/locationSdk.js b/app/dist/components/simulator/sdkimplement/locationSdk.js
new file mode 100644
index 00000000..393dc9dc
--- /dev/null
+++ b/app/dist/components/simulator/sdkimplement/locationSdk.js
@@ -0,0 +1 @@
+"use strict";function init(){var o=function(o,t,i){this.doSimulaterActions("OPEN_NEW_WEBVIEW",{url:t.url,isMap:!0},function(t){i(null!==t?{errMsg:o+":fail "+t}:{errMsg:o+":ok"})})},t=function(o,t,i){this.doSimulaterActions("OPEN_NEW_WEBVIEW",{url:t.url,isMap:!0});var n={};this.chooseLocation=function(t){return t?void(n=t):void i(0===Object.keys(n).length?{errMsg:o+":fail"}:{name:n.poiname,address:n.poiaddress,latitude:n.latlng.lat,longitude:n.latlng.lng,errMsg:o+":ok"})},this.closeLocation=function(){i({errMsg:o+":cancel"})}};_exports={openLocation:o,chooseLocation:t}}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/sdkimplement/navigateSdk.js b/app/dist/components/simulator/sdkimplement/navigateSdk.js
new file mode 100644
index 00000000..422b2487
--- /dev/null
+++ b/app/dist/components/simulator/sdkimplement/navigateSdk.js
@@ -0,0 +1 @@
+"use strict";function init(){var e=require("url"),t=require("../../../stores/projectStores.js"),r=require("../../../weapp/utils/projectManager.js"),i=function(t){return e.parse(t).pathname.split(".")[0].replace(/^\//,"")},a=function(e,a,s){var o=a.args.url,n=t.getCurrentProject();return r.isTabBar(n,i(o))?void s({errMsg:e+":fail can not navigate to a tabbar page"}):void this.doSimulaterActions("OPEN_NEW_WEBVIEW",{url:o,type:"navigateTo"},function(t){s(null!==t?{errMsg:e+":fail "+t}:{errMsg:e+":ok"})})},s=function(e,a,s){var o=a.args.url,n=t.getCurrentProject();if(r.isTabBar(n,i(o)))return void s({errMsg:e+":fail can not redirect to a tabbar page"});var c={},u={},g=this.state.currentWebviewID,v=this.getWebviewList(),l=v[g],p=l.isTabbar;try{c=r.getPageJSONSync(this.props.project,o)}catch(e){}var b=this.createWebviewId(),h={href:o,hideBack:p||g===this.state.topWebviewID,type:"redirectTo",prevWebviewID:l.prevWebviewID,pageJSON:c};p?(v={},v[b]=h):(delete v[g],v[b]=h),1==Object.keys(v).length&&(u.topWebviewID=b),u.currentWebviewID=b,u.list=v,this.setState(u),this.getSimulatorActions("S_CHANGE_CURRENT_WEBVIEW",null,{webviewID:b}),s({errMsg:e+":ok"})},o=function(e,a,s){var o=a.args.url,n=t.getCurrentProject();return r.isTabBar(n,i(o))?void this.doSimulaterActions("OPEN_NEW_WINDOW_WEBVIEW",{url:i(o)},function(t){s(null!==t?{errMsg:e+":fail "+t}:{errMsg:e+":ok"})}):void s({errMsg:e+":fail can not switch to no-tabBar page"})},n=function(e,i,a){var s=i.args.url,o=(t.getCurrentProject(),{});try{o=r.getPageJSONSync(this.props.project,s)}catch(e){}var n={},c=this.createWebviewId();n[c]={pageJSON:o,prevWebviewID:-1,href:s,hideBack:!0,type:"reLaunch"};var u={currentWebviewID:c,topWebviewID:c,list:n};this.setState(u),this.getSimulatorActions("S_CHANGE_CURRENT_WEBVIEW",null,{webviewID:c}),a({errMsg:e+":ok"})},c=function(e,t,r){this.doSimulaterActions("WEBVIEW_BACK",{delta:t.args.delta||1}),r({errMsg:"navigateBack:ok"})};_exports={navigateTo:a,redirectTo:s,switchTab:o,reLaunch:n,navigateBack:c}}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/sdkimplement/shareSdk.js b/app/dist/components/simulator/sdkimplement/shareSdk.js
new file mode 100644
index 00000000..2edbef97
--- /dev/null
+++ b/app/dist/components/simulator/sdkimplement/shareSdk.js
@@ -0,0 +1 @@
+"use strict";function init(){var t=function(t,e,s){var i=this.getWebviewList(),r=this.state.currentWebviewID;i[r].shareBtnShow=!0,i[r].shareWithTicket=!1,this.setState({list:i}),s({errMsg:t+":ok"})},e=function(t,e,s){var i=this.getWebviewList(),r=this.state.currentWebviewID;i[r].shareBtnShow=!0,i[r].shareWithTicket=!0,this.setState({list:i}),s({errMsg:t+":ok"})},s=function(t,e,s){var i=this.getWebviewList(),r=this.state.currentWebviewID;i[r].shareBtnShow=!1,i[r].shareWithTicket=!1,this.setState({list:i}),s({errMsg:t+":ok"})},i=function(t,e,s){var i=this,r=e.args,a=this.state.currentWebviewID,h=this.state.list[a].shareDataURI,n=this.state.list[a].shareWithTicket,o=function(e,a){if(null===e){var h={show:!0,title:r.title,desc:r.desc,imgUrl:r.imgUrl,shareWithTicket:n,dataURI:a,callback:s};i.setState({shareInfo:h})}else s({errMsg:t+":fail"})};h?o(null,h):this.doSimulaterActions("CAPTRUE_WEBVIEW",{},o)};_exports={showShareMenu:t,shareAppMessage:i,hideShareMenu:s,showShareMenuWithShareTicket:e}}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/sdkimplement/uiSdk.js b/app/dist/components/simulator/sdkimplement/uiSdk.js
new file mode 100644
index 00000000..0c010c5a
--- /dev/null
+++ b/app/dist/components/simulator/sdkimplement/uiSdk.js
@@ -0,0 +1 @@
+"use strict";function init(){var t=function(t,i,e){var r=i.args,a=this.state.currentWebviewID;this.getSimulatorActions("S_SET_WEBVIEW_MARGIN",a,{name:t,value:r.title||""}),e({errMsg:t+":ok"})},i=function(t,i,e){var r=this.state.currentWebviewID;this.getSimulatorActions("S_SET_WEBVIEW_MARGIN",r,{name:t}),e({errMsg:t+":ok"})},e=function(t,i,e){var r=this.state.currentWebviewID;this.getSimulatorActions("S_SET_WEBVIEW_MARGIN",r,{name:t}),e({errMsg:t+":ok"})};_exports={setNavigationBarTitle:t,showNavigationBarLoading:i,hideNavigationBarLoading:e}}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/share/webviewWeappShare.js b/app/dist/components/simulator/share/webviewWeappShare.js
new file mode 100644
index 00000000..88ea31ce
--- /dev/null
+++ b/app/dist/components/simulator/share/webviewWeappShare.js
@@ -0,0 +1 @@
+"use strict";function init(){var e=require("../../../lib/react.js"),a=require("../../../cssStr/cssStr.js"),s=(require("../../../stores/webviewStores.js"),require("../../../actions/leftviewActions.js"),require("../../../stores/leftviewStores.js"),e.createClass({displayName:"WebviewShare",getInitialState:function(){return{lazyLoaded:!1}},componentDidMount:function(){},componentWillUnmount:function(){},componentWillReceiveProps:function(e){e.shareInfo&&e.shareInfo.show&&this.setState({lazyLoaded:!0})},handleCancel:function(){this.props.shareInfo.callback({errMsg:"shareAppMessage:cancel"}),this.props.hideShare()},handleConfirm:function(){var e=this.props.shareInfo,a={errMsg:"shareAppMessage:ok"};e.shareWithTicket&&(a.shareInfos=[{shareKey:"this is a mock shareKey",userName:"this is a mock userName"}]),e.callback(a),this.props.hideShare()},render:function(){if(!this.state.lazyLoaded)return null;var s=this.props.shareInfo;return e.createElement("div",{className:"simulator-bd-share",style:s.show?{}:a.displayNone},e.createElement("div",{className:"simulator-bd-share-mask"}),e.createElement("div",{className:"simulator-bd-share-dialog weapp"},e.createElement("div",{className:"simulator-bd-share-dialog-hd"},e.createElement("strong",{className:"simulator-bd-share-dialog-title"},s.title)),e.createElement("div",{className:"simulator-bd-share-dialog-bd"},e.createElement("p",{className:"simulator-bd-share-dialog-desc"},s.desc),e.createElement("div",{className:"simulator-bd-share-dialog-cover"},e.createElement("img",{src:s.dataURI,style:{objectPosition:"0% 0%"}}))),e.createElement("div",{className:"simulator-bd-share-dialog-ft"},e.createElement("a",{onClick:this.handleCancel,href:"javascript:;",className:"simulator-bd-share-dialog-button-default"},"取消"),e.createElement("a",{onClick:this.handleConfirm,href:"javascript:;",className:"simulator-bd-share-dialog-button-primary"},"确定"))))}}));_exports=s}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/share/webviewshare.js b/app/dist/components/simulator/share/webviewshare.js
new file mode 100644
index 00000000..a802108a
--- /dev/null
+++ b/app/dist/components/simulator/share/webviewshare.js
@@ -0,0 +1 @@
+"use strict";function init(){var e=require("../../../lib/react.js"),t=require("../../../cssStr/cssStr.js"),s=(require("../../../stores/webviewStores.js"),require("../../../actions/leftviewActions.js")),a=require("../../../stores/leftviewStores.js"),i=e.createClass({displayName:"WebviewShare",getInitialState:function(){return{title:"",desc:"",imgUrl:"",webviewID:parseInt(this.props.webviewID)}},_leftStatusUp:function(e,t,s){this.setState({show:t.showShare})},componentDidMount:function(){a.on("LEFT_STATUS_UP_"+this.state.webviewID,this._leftStatusUp)},componentWillUnmount:function(){a.removeListener("LEFT_STATUS_UP_"+this.state.webviewID,this._leftStatusUp)},upLeftviewStatus:function(){var e=this;setTimeout(function(){s.upShareStatus(e.state.webviewID,e.state.show)})},handleCancel:function(){this.sendMsg("cancel")},handleConfirm:function(){this.sendMsg("ok")},sendMsg:function(e){var t=this.props.shareOpt.sdkName;this.props.getSimulatorActions("S_SET_ACTION",this.state.webviewID,{act:"sendMsg",sdkName:t,res:{errMsg:t+":"+e}}),this.props.showShare(!1)},render:function(){var s=this.props.shareOpt;return e.createElement("div",{className:"simulator-bd-share",style:this.props.show?{}:t.displayNone},e.createElement("div",{className:"simulator-bd-share-mask"}),e.createElement("div",{className:"simulator-bd-share-dialog"},e.createElement("div",{style:"shareTimeline"===s.sdkName?t.displayNone:{},className:"simulator-bd-share-dialog-hd"},e.createElement("strong",{className:"simulator-bd-share-dialog-title"},s.title)),e.createElement("div",{className:"simulator-bd-share-dialog-bd"},e.createElement("div",{className:"simulator-bd-share-dialog-cover"},e.createElement("img",{src:s.imgUrl,alt:""})),e.createElement("p",{className:"simulator-bd-share-dialog-desc"},s.desc)),e.createElement("div",{className:"simulator-bd-share-dialog-ft"},e.createElement("a",{onClick:this.handleCancel,href:"javascript:;",className:"simulator-bd-share-dialog-button-default"},"取消"),e.createElement("a",{onClick:this.handleConfirm,href:"javascript:;",className:"simulator-bd-share-dialog-button-primary"},"确定"))))}});_exports=i}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/toolbar/devicemodules.js b/app/dist/components/simulator/toolbar/devicemodules.js
index 801d8226..e796489e 100644
--- a/app/dist/components/simulator/toolbar/devicemodules.js
+++ b/app/dist/components/simulator/toolbar/devicemodules.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../../lib/react.js'),b=require('../../../cssStr/cssStr.js'),c=require('../../../stores/windowStores.js'),d=require('../../../config/DeviceModules.js'),e=require('../../../actions/windowActions.js'),f='devicemodules',g=a.createClass({displayName:'DeviceModules',getInitialState:function(){let h=c.getSetting(),i=h&&h.device?h.device:'iPhone 6';return{show:!1,device:i}},handleOnClick:function(h){h.stopPropagation();let i=!this.state.show;this.setState({show:i}),e.clickToolsbar(f)},_clickToolsbar:function(h){f!=h&&this.setState({show:!1})},componentDidMount:function(){c.on('CLICK_TOOLSBAR',this._clickToolsbar),c.on('BODY_CLICK',this._clickToolsbar)},componentWillUnmount:function(){c.removeListener('CLICK_TOOLSBAR',this._clickToolsbar),c.removeListener('BODY_CLICK',this._clickToolsbar)},selectDevice:function(h){let i=d[h],j=i.screen;this.props.getSimulatorActions('S_SET_WEBVIEW_INFO',null,{height:j.vertical.height-42,width:j.vertical.width,device:i.title,dpr:j['device-pixel-ratio'],ua:i['user-agent'],os:i.os})},clickDevice:function(h){h.stopPropagation();let i=h.currentTarget,j=i.dataset;this.selectDevice(j.device),this.setState({show:!1,device:j.device})},render:function(){let h=this.state.show?{}:b.displayNone,i=[],j=this.state.show?'simulator-toolbar-model-icon-up':'simulator-toolbar-model-icon-down';for(let k in d){let l=d[k],m=l.screen.vertical,n=l.screen['device-pixel-ratio'],o=`simulator-toolbar-model-content-item ${l.title===this.state.device?'simulator-toolbar-model-content-item-current':''}`;i.push(a.createElement('div',{onClick:this.clickDevice,className:o,'data-device':k,key:k},a.createElement('h4',null,m.width,' X ',m.height,' ; Dpr: ',n),a.createElement('p',null,l.title)))}return a.createElement('div',{className:'simulator-toolbar-model',onClick:this.handleOnClick},a.createElement('p',null,this.state.device),a.createElement('i',{className:j}),a.createElement('div',{className:'simulator-toolbar-model-content',style:h},i))}});_exports=g}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var e=require("../../../lib/react.js"),t=require("../../../cssStr/cssStr.js"),i=require("../../../stores/windowStores.js"),o=require("../../../config/DeviceModules.js"),s=require("../../../actions/windowActions.js"),r="devicemodules",c=e.createClass({displayName:"DeviceModules",getInitialState:function(){var e=i.getSetting(),t=e&&e.device?e.device:"iPhone 6";return{show:!1,device:t}},handleOnClick:function(e){e.stopPropagation();var t=!this.state.show;this.setState({show:t}),s.clickToolsbar(r)},_clickToolsbar:function(e){r!=e&&this.setState({show:!1})},componentDidMount:function(){i.on("CLICK_TOOLSBAR",this._clickToolsbar),i.on("BODY_CLICK",this._clickToolsbar)},componentWillUnmount:function(){i.removeListener("CLICK_TOOLSBAR",this._clickToolsbar),i.removeListener("BODY_CLICK",this._clickToolsbar)},selectDevice:function(e){var t=o[e],i=t.screen;this.props.getSimulatorActions("S_SET_WEBVIEW_INFO",null,{height:i.vertical.height-42,width:i.vertical.width,device:t.title,dpr:i["device-pixel-ratio"],ua:t["user-agent"],os:t.os})},clickDevice:function(e){e.stopPropagation();var t=e.currentTarget,i=t.dataset;this.selectDevice(i.device),this.setState({show:!1,device:i.device})},render:function(){var i=this.state.show?{}:t.displayNone,s=[],r=this.state.show?"simulator-toolbar-model-icon-up":"simulator-toolbar-model-icon-down";for(var c in o){var l=o[c],n=l.screen.vertical,a=l.screen["device-pixel-ratio"],d="simulator-toolbar-model-content-item "+(l.title===this.state.device?"simulator-toolbar-model-content-item-current":"");s.push(e.createElement("div",{onClick:this.clickDevice,className:d,"data-device":c,key:c},e.createElement("h4",null,n.width," X ",n.height," ; Dpr: ",a),e.createElement("p",null,l.title)))}return e.createElement("div",{className:"simulator-toolbar-model",onClick:this.handleOnClick},e.createElement("p",null,this.state.device),e.createElement("i",{className:r}),e.createElement("div",{className:"simulator-toolbar-model-content",style:i},s))}});_exports=c}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/toolbar/network.js b/app/dist/components/simulator/toolbar/network.js
index 9fe4cd38..c9cb1a25 100644
--- a/app/dist/components/simulator/toolbar/network.js
+++ b/app/dist/components/simulator/toolbar/network.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../../lib/react.js'),b=require('../../../cssStr/cssStr.js'),c=require('../../../stores/webviewStores.js'),d=['wifi','2g','3g','4g'],e=require('../../../stores/windowStores.js'),f=require('../../../actions/windowActions.js'),g='network',h=a.createClass({displayName:'Network',getInitialState:function(){let i=c.getNetworkType();return{show:!1,nettype:i}},handleOnClick:function(i){i.stopPropagation();let j=!this.state.show;this.setState({show:j}),f.clickToolsbar(g)},_clickToolsbar:function(i){g!=i&&this.setState({show:!1})},componentDidMount:function(){e.on('CLICK_TOOLSBAR',this._clickToolsbar),e.on('BODY_CLICK',this._clickToolsbar)},componentWillUnmount:function(){e.removeListener('CLICK_TOOLSBAR',this._clickToolsbar),e.removeListener('BODY_CLICK',this._clickToolsbar)},clickNettype:function(i){i.stopPropagation();let j=i.currentTarget,k=j.dataset,l=k.nettype;c.setNetworkType(l),this.setState({show:!1,nettype:l})},render:function(){let i=this.state.show?{}:b.displayNone,j=this.state.show?'simulator-toolbar-model-icon-up':'simulator-toolbar-model-icon-down',k=[];for(let l in d){let m=d[l],n='simulator-toolbar-model-content-item';m===this.state.nettype&&(n+=' simulator-toolbar-model-content-item-current'),k.push(a.createElement('div',{onClick:this.clickNettype,className:n,'data-nettype':m,key:m},a.createElement('p',null,m)))}return a.createElement('div',{className:'simulator-toolbar-model simulator-toolbar-model_network',onClick:this.handleOnClick},a.createElement('p',null,this.state.nettype),a.createElement('i',{className:j}),a.createElement('div',{className:'simulator-toolbar-model-content',style:i},k))}});_exports=h}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var t=require("../../../lib/react.js"),e=require("../../../cssStr/cssStr.js"),o=require("../../../stores/webviewStores.js"),s=["wifi","2g","3g","4g","none"],r=require("../../../stores/windowStores.js"),i=require("../../../actions/windowActions.js"),n="network",a=t.createClass({displayName:"Network",getInitialState:function(){var t=o.getNetworkType();return{show:!1,nettype:t}},handleOnClick:function(t){t.stopPropagation();var e=!this.state.show;this.setState({show:e}),i.clickToolsbar(n)},_clickToolsbar:function(t){n!=t&&this.setState({show:!1})},componentDidMount:function(){r.on("CLICK_TOOLSBAR",this._clickToolsbar),r.on("BODY_CLICK",this._clickToolsbar)},componentWillUnmount:function(){r.removeListener("CLICK_TOOLSBAR",this._clickToolsbar),r.removeListener("BODY_CLICK",this._clickToolsbar)},clickNettype:function(t){t.stopPropagation();var e=t.currentTarget,s=e.dataset,r=s.nettype;o.setNetworkType(r),this.setState({show:!1,nettype:r})},render:function(){var o=this.state.show?{}:e.displayNone,r=this.state.show?"simulator-toolbar-model-icon-up":"simulator-toolbar-model-icon-down",i=[];for(var n in s){var a=s[n],l="simulator-toolbar-model-content-item";a===this.state.nettype&&(l+=" simulator-toolbar-model-content-item-current"),i.push(t.createElement("div",{onClick:this.clickNettype,className:l,"data-nettype":a,key:a},t.createElement("p",null,a)))}return t.createElement("div",{className:"simulator-toolbar-model simulator-toolbar-model_network",onClick:this.handleOnClick},t.createElement("p",null,this.state.nettype),t.createElement("i",{className:r}),t.createElement("div",{className:"simulator-toolbar-model-content",style:o},i))}});_exports=a}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/toolbar/toolbar.js b/app/dist/components/simulator/toolbar/toolbar.js
index 9243cde9..50cf2bf2 100644
--- a/app/dist/components/simulator/toolbar/toolbar.js
+++ b/app/dist/components/simulator/toolbar/toolbar.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../../lib/react.js'),b=require('../../../cssStr/cssStr.js'),c=require('./devicemodules.js'),d=require('./network.js'),e=require('../../../stores/windowStores.js'),f=require('../../../actions/windowActions.js'),g=require('../../../stores/projectStores.js'),h='toolstabs',i=a.createClass({displayName:'ToolBar',getInitialState:function(){return{showItems:!1,showMask:!1}},_clickToolsbar:function(j){h!=j&&this.setState({showItems:!1})},componentDidMount:function(){e.on('CLICK_TOOLSBAR',this._clickToolsbar)},componentWillUnmount:function(){e.removeListener('CLICK_TOOLSBAR',this._clickToolsbar)},showItems:function(j){j.stopPropagation();let k=!this.state.showItems;if(k)for(let l in this.props.list)this.props.getSimulatorActions('S_SET_ACTION',parseInt(l),{act:'CAPTURE'});this.setState({showItems:k}),f.clickToolsbar(h)},clickItems:function(j){j.stopPropagation();let k=j.currentTarget,l=k.dataset,m=parseInt(l.webviewid);this.setState({webviewID:m}),this.props.getSimulatorActions('S_CHANGE_CURRENT_WEBVIEW',null,{webviewID:m})},onWebviewEditClick:function(){let j=this.props.project;g.setProjectEditWebview(j.hash,!j.editWebview)},render:function(){let{list:j,show:k,project:l}=this.props,m=this.props.currentWebviewID,n=Object.keys(j).length,o=11?{}:e.displayNone,m=this.state.showMask?{}:e.displayNone,u=[];for(var p in r){var h="simulator-toolbar-tabs-item "+(p==l?" simulator-toolbar-tabs-item-current":"");u.push(t.createElement("div",{onClick:this.clickItems,className:h,"data-webviewid":p,key:p},t.createElement("img",{src:r[p].dataURI})))}var d=this.state.showItems?{}:e.displayNone,b="edit"===a?{}:e.displayNone;return t.createElement("div",{className:"simulator-toolbar"},t.createElement("div",{onClick:this.onWebviewEditClick,style:b,className:"simulator-toolbar-toggle"},t.createElement("i",{className:"simulator-toolbar-toggle-icon"})),t.createElement(s,{getSimulatorActions:this.props.getSimulatorActions}),t.createElement(o,null),t.createElement("div",{onClick:this.showItems,className:"simulator-toolbar-tabs",style:c},t.createElement("p",null,"正在调试",n,"个页面"),t.createElement("i",{className:"simulator-toolbar-model-icon-down"}),t.createElement("div",{className:"simulator-toolbar-tabs-content",style:d},u)),t.createElement("div",{style:m,className:"simulator-toolbar-mask"}))}});_exports=n}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/webview.js b/app/dist/components/simulator/webview.js
index 45d2de6e..4d7bc22e 100644
--- a/app/dist/components/simulator/webview.js
+++ b/app/dist/components/simulator/webview.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../lib/react.js'),b=require('../../lib/react-dom.js'),c=require('./webviewheader.js'),d=require('./webviewbody.js'),e=require('./webviewfooter.js'),f=require('./webviewloading.js'),g=require('./webviewshare.js'),h=require('./webviewcard.js'),i=require('./webviewAuthorizeDialog.js'),j=require('../../stores/webviewStores.js'),k=require('../../actions/windowActions.js'),l=require('../../cssStr/cssStr.js'),m=a.createClass({displayName:'Webview',getInitialState:function(){return{showFooter:!1,showShare:!1,showAuthorizeDialog:!1,shareOpt:{},webviewID:parseInt(this.props.webviewID),showCard:!1,cardInfo:{}}},goBack:function(n){let o=this.state.webviewID,p=b.findDOMNode(this.refs.container).querySelector(`.webviewbody${o}`);this.props.goBack(o,p,n)},showFooter:function(n){let o=n===void 0?!this.state.showFooter:n;this.setState({showFooter:o})},showAuthorizeDialog:function(n){this.setState({showAuthorizeDialog:n===void 0?!this.state.showAuthorizeDialog:n})},showShare:function(n){this.setState({showShare:n})},_showShareWebview:function(n,o,p){this.setState({showShare:!0,showFooter:!1,shareOpt:{title:p.title,desc:p.desc||p.title,imgUrl:p.img_url,sdkName:o.sdkName}})},_cardSdk:function(n,o,p,q,r){this.setState({showCard:!0,cardInfo:{sdkName:o,data:r,webviewID:n,isHavePurview:q,cardData:p}}),k.disAbleURLBar()},closeCard:function(){this.setState({showCard:!1,cardType:'',cardWebviewID:''}),k.ableURLBar()},componentDidMount:function(){j.on(`SHOW_SHARE_WEBVIEW_${this.state.webviewID}`,this._showShareWebview),j.on('CRAD_SDK_RES',this._cardSdk)},componentWillUnmount:function(){j.removeListener(`SHOW_SHARE_WEBVIEW_${this.state.webviewID}`,this._showShareWebview),j.removeListener('CRAD_SDK_RES',this._cardSdk)},render:function(){let{webviewID:n,project:o,offset:p,isTabWebview:q,href:r,pageJSON:s,appJSON:t,isMap:u,chooseLocation:v,closeLocation:w,hideBack:x,goBack:y,getSimulatorActions:z,postAppRoute:A,type:B,shareBtnShow:C}=this.props,D=s.backgroundColor||t.window.backgroundColor||'#ffffff',E={width:p.width,backgroundColor:D},F={width:p.width,height:p.height},G=this.props.project?null:a.createElement(h,{showCard:this.state.showCard,cardInfo:this.state.cardInfo,closeCard:this.closeCard}),H=this.props.project?null:a.createElement(g,{webviewID:n,getSimulatorActions:z,show:this.state.showShare,showShare:this.showShare,showFooter:this.showFooter,shareOpt:this.state.shareOpt}),I=this.state.showCard?l.webviewDisplayNone:{};return a.createElement('div',{ref:'container',className:'simulator',style:E},a.createElement('div',{style:I},a.createElement(c,{showRecordWording:this.props.showRecordWording,offset:p,hideBack:x,webviewID:n,project:o,isMap:u,chooseLocation:v,closeLocation:w,pageJSON:s,appJSON:t,goBack:this.goBack,showFooter:this.showFooter}),this.props.topTabDom,a.createElement('div',{className:'simulator-bd',style:F},a.createElement(f,{webviewID:n}),H,a.createElement(d,{type:B,isMap:u,chooseLocation:v,closeLocation:w,offset:p,href:r,webviewID:n,project:o,getSimulatorActions:z,postAppRoute:A,isTabWebview:q,goBack:this.goBack}),a.createElement(e,{shareBtnShow:C,project:o,offset:p,webviewID:n,getSimulatorActions:z,show:this.state.showFooter,showFooter:this.showFooter}),a.createElement(i,{webviewID:n,getSimulatorActions:z,show:this.state.showAuthorizeDialog,showAuthorizeDialog:this.showAuthorizeDialog}))),G)}});_exports=m}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var e=require("../../lib/react.js"),t=require("../../lib/react-dom.js"),o=require("./webviewheader.js"),s=require("./webviewbody.js"),r=require("./webviewfooter.js"),i=require("./webviewloading.js"),a=require("./share/webviewshare.js"),h=require("./webviewcard.js"),w=require("../../stores/webviewStores.js"),c=require("../../actions/windowActions.js"),n=require("../../cssStr/cssStr.js"),d="#ffffff",p=e.createClass({displayName:"Webview",getInitialState:function(){return{showFooter:!1,showShare:!1,shareOpt:{},webviewID:parseInt(this.props.webviewID),showCard:!1,cardInfo:{}}},goBack:function(e){var o=this.state.webviewID,s=t.findDOMNode(this.refs.container).querySelector(".webviewbody"+o);this.props.goBack(o,s,e)},showFooter:function e(t){var e=void 0===t?!this.state.showFooter:t;this.setState({showFooter:e})},showShare:function(e){this.setState({showShare:e})},_showShareWebview:function(e,t,o){this.setState({showShare:!0,showFooter:!1,shareOpt:{title:o.title,desc:o.desc||o.title,imgUrl:o.img_url,sdkName:t.sdkName}})},_cardSdk:function(e,t,o,s,r){this.setState({showCard:!0,cardInfo:{sdkName:t,data:r,webviewID:e,isHavePurview:s,cardData:o}}),c.disAbleURLBar()},closeCard:function(){this.setState({showCard:!1,cardType:"",cardWebviewID:""}),c.ableURLBar()},componentDidMount:function(){w.on("SHOW_SHARE_WEBVIEW_"+this.state.webviewID,this._showShareWebview),w.on("CRAD_SDK_RES",this._cardSdk)},componentWillUnmount:function(){w.removeListener("SHOW_SHARE_WEBVIEW_"+this.state.webviewID,this._showShareWebview),w.removeListener("CRAD_SDK_RES",this._cardSdk)},render:function(){var t=this.props,w=t.webviewID,c=t.project,p=t.offset,l=t.isTabWebview,u=t.href,b=t.pageJSON,v=t.appJSON,S=t.isMap,f=t.chooseLocation,m=t.closeLocation,g=t.hideBack,D=(t.goBack,t.getSimulatorActions),I=t.postAppRoute,k=t.type,_=t.shareBtnShow,W=t.shareWithTicket,j=b.backgroundColor||v.window.backgroundColor||d,E={width:p.width,backgroundColor:j},B={width:p.width,height:p.height},C=this.props.project?null:e.createElement(h,{showCard:this.state.showCard,cardInfo:this.state.cardInfo,closeCard:this.closeCard}),q=this.props.project?null:e.createElement(a,{webviewID:w,getSimulatorActions:D,show:this.state.showShare,showShare:this.showShare,showFooter:this.showFooter,shareOpt:this.state.shareOpt}),A=this.state.showCard?n.webviewDisplayNone:{};return e.createElement("div",{ref:"container",className:"simulator",style:E},e.createElement("div",{style:A},e.createElement(o,{showRecordWording:this.props.showRecordWording,offset:p,hideBack:g,webviewID:w,project:c,isMap:S,chooseLocation:f,closeLocation:m,pageJSON:b,appJSON:v,goBack:this.goBack,showFooter:this.showFooter}),this.props.topTabDom,e.createElement("div",{className:"simulator-bd",style:B},e.createElement(i,{webviewID:w}),q,e.createElement(s,{type:k,isMap:S,chooseLocation:f,closeLocation:m,offset:p,href:u,webviewID:w,project:c,getSimulatorActions:D,postAppRoute:I,isTabWebview:l,goBack:this.goBack}),e.createElement(r,{shareBtnShow:_,shareWithTicket:W,project:c,offset:p,webviewID:w,getSimulatorActions:D,show:this.state.showFooter,showFooter:this.showFooter}))),C)}});_exports=p}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/webview/actionSheet.js b/app/dist/components/simulator/webview/actionSheet.js
index f8c1e216..b382c73e 100644
--- a/app/dist/components/simulator/webview/actionSheet.js
+++ b/app/dist/components/simulator/webview/actionSheet.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../../lib/react.js');require('../../../lib/react-dom.js');const b=require('../../../stores/webviewStores.js'),c=a.createClass({displayName:'ActionSheet',getInitialState:function(){return{itemList:[],itemColor:'#000000',cancelColor:'#000000',cancelText:'\u53D6\u6D88',hidden:!0}},componentDidMount:function(){b.on('SEND_AS_SDK',this.handleAssdkCommand)},componentWillUnmount:function(){b.removeListener('SEND_AS_SDK',this.handleAssdkCommand)},componentWillReceiveProps:function(d){d.webviewID!=this.__showOnWebviewID&&this.setState({hidden:!0})},handleAssdkCommand:function(d,e,f){let{args:g}=e;'showActionSheet'===d&&(this.__showOnWebviewID=this.props.webviewID,this.setState({itemList:g.itemList,itemColor:g.itemColor,cancelText:g.cancelText,cancelColor:g.cancelColor,hidden:!1}),this.callback=f)},handleCancelClick:function(){this.callback({errMsg:`showActionSheet:cancel`}),this.hide()},handleItemClick:function(d){this.callback({errMsg:'showActionSheet:ok',tapIndex:d}),this.hide()},hide:function(){this.setState({hidden:!0})},render:function(){let d=[];return this.state.itemList.map((e,f)=>{d.push(a.createElement('div',{className:'wx-action-sheet-item',onClick:this.handleItemClick.bind(this,f),style:{color:this.state.itemColor}},e))}),a.createElement('div',{style:{display:this.state.hidden?'none':'block'}},a.createElement('div',{className:'wx-action-sheet-mask',onClick:this.handleCancelClick}),a.createElement('div',{className:'wx-action-sheet wx-action-sheet-show'},a.createElement('div',{className:'wx-action-sheet-menu'},d,a.createElement('div',{className:'wx-action-sheet-item-cancel'},a.createElement('div',{className:'wx-action-sheet-middle'}),a.createElement('div',{className:'wx-action-sheet-cancel',onClick:this.handleCancelClick,style:{color:this.state.cancelColor}},this.state.cancelText)))))}});_exports=c}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var e=require("../../../lib/react.js"),t=(require("../../../lib/react-dom.js"),require("../../../stores/webviewStores.js")),i=e.createClass({displayName:"ActionSheet",getInitialState:function(){return{itemList:[],itemColor:"#000000",cancelColor:"#000000",cancelText:"取消",hidden:!0,lazyLoaded:!1}},componentDidMount:function(){t.on("SEND_AS_SDK",this._handleAssdkCommand)},componentWillUnmount:function(){t.removeListener("SEND_AS_SDK",this._handleAssdkCommand)},componentWillReceiveProps:function(e){e.webviewID!=this.__showOnWebviewID&&this.setState({hidden:!0})},_handleAssdkCommand:function(e,t,i){var n=t.args;"showActionSheet"===e&&(this.__showOnWebviewID=this.props.webviewID,this.setState({itemList:n.itemList,itemColor:n.itemColor,cancelText:n.cancelText,cancelColor:n.cancelColor,hidden:!1,lazyLoaded:!0}),this.callback=i)},handleCancelClick:function(){this.callback({errMsg:"showActionSheet:cancel"}),this.hide()},handleItemClick:function(e){this.callback({errMsg:"showActionSheet:ok",tapIndex:e}),this.hide()},hide:function(){this.setState({hidden:!0})},render:function(){var t=this;if(!this.state.lazyLoaded)return null;var i=[];return this.state.itemList.map(function(n,s){i.push(e.createElement("div",{className:"wx-action-sheet-item",onClick:t.handleItemClick.bind(t,s),style:{color:t.state.itemColor}},n))}),e.createElement("div",{style:{display:this.state.hidden?"none":"block"}},e.createElement("div",{className:"wx-action-sheet-mask",onClick:this.handleCancelClick}),e.createElement("div",{className:"wx-action-sheet wx-action-sheet-show"},e.createElement("div",{className:"wx-action-sheet-menu"},i,e.createElement("div",{className:"wx-action-sheet-item-cancel"},e.createElement("div",{className:"wx-action-sheet-middle"}),e.createElement("div",{className:"wx-action-sheet-cancel",onClick:this.handleCancelClick,style:{color:this.state.cancelColor}},this.state.cancelText)))))}});_exports=i}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/webview/authorizeDialog.js b/app/dist/components/simulator/webview/authorizeDialog.js
new file mode 100644
index 00000000..fca1720b
--- /dev/null
+++ b/app/dist/components/simulator/webview/authorizeDialog.js
@@ -0,0 +1 @@
+"use strict";function init(){var e=require("../../../lib/react.js"),t=require("../../../cssStr/cssStr.js"),a=require("../../../stores/windowStores.js"),i=2,l=3,s=e.createClass({displayName:"WebviewAuthorizeDialog",getInitialState:function(){return{appicon_url:"",appname:0,scope_list:[],show:!1,lazyLoaded:!1}},_authorizeSdkShowDialog:function(e){for(var t=e.scope_list,a=e.appicon_url,s=e.appname,o=0;og;g++)13>g&&e.push(9=g;g++)d.push(`${g}年`);return{yearArray:d,monthArray:e,dayArray:f,yearCurrent:new Date().getFullYear(),monthCurrent:0,dayCurrent:1}},componentDidMount:function(){this.range={},this.setRange('start',this.props.start||'1900-01-01'),this.setRange('end',this.props.end||'2100-01-01'),this.setCurrent(this.props.current)},componentWillReceiveProps:function(d){if(d.current!=this.props.current){let e=d.current.split('-'),f=parseInt(e[0]),g=parseInt(e[1]),h=parseInt(e[1]);this.setState({yearCurrent:isNaN(f)?new Date().getFullYear():Math.min(Math.max(f,0),2100),monthCurrent:isNaN(g)?0:Math.min(Math.max(g,0),11),dayCurrent:isNaN(h)?1:Math.min(Math.max(h,0),31)})}d.start!=this.props.start&&this.setRange('start',d.start||'1900-01-01'),d.end!=this.props.end&&this.setRange('end',d.end||'2100-01-01')},validDate:function(d,e,f){let g=new Date(`${d}-${e+1}-${f}`),h=g.getDate();return this.state.dayCurrent!=h&&(this.setState({dayCurrent:h}),this.refs.dayPicker.setCurrent(h-1)),g},setRange:function(d,e){if(e){let g=new Date(e);'Invalid Date'!=g&&(this.range[d]=g.getTime())}},setCurrent:function(d){if(d){let g=new Date(d);'Invalid Date'==g&&(g=new Date,g.getTime()this.range.end&&(g=new Date(this.range.end))),this.setState({yearCurrent:g.getFullYear(),monthCurrent:g.getMonth(),dayCurrent:g.getDate()})}},onYearSelect:function(d){let e=d+1900,f=this.validDate(e,this.state.monthCurrent,this.state.dayCurrent);f.getTime()this.range.end&&(e=new Date(this.range.end).getFullYear(),this.refs.yearPicker.setCurrent(e-1900)),this.setState({yearCurrent:e})},onMonthSelect:function(d){let e=d,f=this.validDate(this.state.yearCurrent,e,this.state.dayCurrent);f.getTime()this.range.end&&(e=new Date(this.range.end).getMonth(),this.refs.monthPicker.setCurrent(e)),this.setState({monthCurrent:e})},onDaySelect:function(d){let e=d+1,f=this.validDate(this.state.yearCurrent,this.state.monthCurrent,e);e=f.getDate(),f.getTime()this.range.end&&(e=new Date(this.range.end).getDate()),this.setState({dayCurrent:e}),this.refs.dayPicker.setCurrent(e-1)},getValue:function(){let d=this.state.yearCurrent;if('month'===this.props.fields){let e=this.state.monthCurrent+1;e=99?a+"月":"0"+a+"月"),r.push(a>9?a+"日":"0"+a+"日");for(var n=1900;n<=2100;n++)t.push(n+"年");var s=new Date;return{yearArray:t,monthArray:e,dayArray:r,yearCurrent:s.getFullYear()-1900,monthCurrent:s.getMonth(),dayCurrent:s.getDate()-1}},componentDidMount:function(){this.range={},this.setRange("start",this.props.start||"1900-01-01"),this.setRange("end",this.props.end||"2100-01-01"),this.setCurrent(this.props.current)},componentWillReceiveProps:function(t){if(t.show){if(t.current!=this.props.current){var e=t.current||"";e=t.current.split("-");var r=parseInt(e[0])-1900,a=parseInt(e[1])-1,n=parseInt(e[2])-1,s=new Date;this.setState({yearCurrent:isNaN(r)?s.getFullYear()-1900:Math.min(Math.max(r,0),2100),monthCurrent:isNaN(a)?s.getMonth():Math.min(Math.max(a,0),11),dayCurrent:isNaN(n)?s.getDate()-1:Math.min(Math.max(n,0),30)})}t.start!=this.props.start&&this.setRange("start",t.start||"1900-01-01"),t.end!=this.props.end&&this.setRange("end",t.end||"2100-01-01")}},validDate:function(t,e,r){var a=new Date(t+1900+"-"+(e+1)+"-"+(r+1)),n=a.getDate()-1;return this.state.dayCurrent!=n&&(this.setState({dayCurrent:n}),this.refs.dayPicker.setCurrent(n)),a},setRange:function(t,e){if(e){var r=new Date(e);"Invalid Date"!=r&&(this.range[t]=r.getTime())}},setCurrent:function(t){if(t){var e=new Date(t);"Invalid Date"==e&&(e=new Date,e.getTime()this.range.end&&(e=new Date(this.range.end))),this.setState({yearCurrent:e.getFullYear()-1900,monthCurrent:e.getMonth(),dayCurrent:e.getDate()-1})}},onYearSelect:function(t){var e=t,r=this.validDate(e,this.state.monthCurrent,this.state.dayCurrent);r.getTime()this.range.end&&(e=new Date(this.range.end).getFullYear()-1900,this.refs.yearPicker.setCurrent(e)),this.setState({yearCurrent:e})},onMonthSelect:function(t){var e=t,r=this.validDate(this.state.yearCurrent,e,this.state.dayCurrent);r.getTime()this.range.end&&(e=new Date(this.range.end).getMonth(),this.refs.monthPicker.setCurrent(e)),this.setState({monthCurrent:e})},onDaySelect:function(t){var e=t,r=this.validDate(this.state.yearCurrent,this.state.monthCurrent,e);e=r.getDate()-1,r.getTime()this.range.end&&(e=new Date(this.range.end).getDate()-1,this.refs.dayPicker.setCurrent(e)),this.setState({dayCurrent:e})},getValue:function(){var t=this.state.yearCurrent+1900;if("month"===this.props.fields){var e=this.state.monthCurrent+1;e=e>9?e:"0"+e,t=t+"-"+e}else if("day"===this.props.fields){var r=this.state.monthCurrent+1;r=r>9?r:"0"+r;var a=this.state.dayCurrent+1;a=a>9?a:"0"+a,t=t+"-"+r+"-"+a}return t},render:function(){return e.createElement("div",{className:"wx-picker-bd",style:this.props.show?{}:t.displayNone},e.createElement(r,{ref:"yearPicker",array:this.state.yearArray,current:this.state.yearCurrent,onPickerSelect:this.onYearSelect}),e.createElement(r,{ref:"monthPicker",hidden:"year"==this.props.fields,array:this.state.monthArray,current:this.state.monthCurrent,onPickerSelect:this.onMonthSelect}),e.createElement(r,{ref:"dayPicker",hidden:"day"!=this.props.fields,array:this.state.dayArray,current:this.state.dayCurrent,onPickerSelect:this.onDaySelect}))}});_exports=a}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/webview/modal.js b/app/dist/components/simulator/webview/modal.js
index 0c377761..33f1d1df 100644
--- a/app/dist/components/simulator/webview/modal.js
+++ b/app/dist/components/simulator/webview/modal.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../../lib/react.js');require('../../../lib/react-dom.js');const b=require('../../../stores/webviewStores.js'),c=a.createClass({displayName:'Modal',getInitialState:function(){return{title:'',content:'',confirmText:'\u786E\u5B9A',cancelText:'\u53D6\u6D88',showCancel:!0,confirmColor:'#3CC51F',cancelColor:'#000000',hidden:!0}},componentDidMount:function(){b.on('SEND_AS_SDK',this.handleAssdkCommand)},componentWillUnmount:function(){b.removeListener('SEND_AS_SDK',this.handleAssdkCommand)},componentWillReceiveProps:function(d){d.webviewID!=this.__showOnWebviewID&&this.setState({hidden:!0})},handleAssdkCommand:function(d,e,f){let{args:g}=e;'showModal'===d&&(this.callback=f,this.__showOnWebviewID=this.props.webviewID,this.setState({title:g.title||'',content:g.content||'',confirmText:g.confirmText||'\u786E\u5B9A',cancelText:g.cancelText||'\u53D6\u6D88',showCancel:!1!==g.showCancel,confirmColor:g.confirmColor||'#3CC51F',cancelColor:g.cancelColor||'#000000',hidden:!1}))},handleCancelClick:function(){this.callback({errMsg:'showModal:ok',confirm:0}),this.hide()},handleConfrimClick:function(){this.callback({errMsg:'showModal:ok',confirm:1}),this.hide()},hide:function(){this.setState({hidden:!0})},render:function(){return a.createElement('div',{className:'wx-modal',style:{display:this.state.hidden?'none':'block'}},a.createElement('div',{className:'wx-modal-mask'}),a.createElement('div',{className:'wx-modal-dialog'},a.createElement('div',{className:'wx-modal-dialog-hd'},a.createElement('strong',null,this.state.title)),a.createElement('div',{className:'wx-modal-dialog-bd'},this.state.content),a.createElement('div',{className:'wx-modal-dialog-ft'},a.createElement('a',{className:'wx-modal-btn-default',style:{color:this.state.cancelColor,display:this.state.showCancel?'':'none'},onClick:this.handleCancelClick},this.state.cancelText),a.createElement('a',{className:'wx-modal-btn-primary',style:{color:this.state.confirmColor},onClick:this.handleConfrimClick},this.state.confirmText))))}});_exports=c}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var e=require("../../../lib/react.js"),t=(require("../../../lib/react-dom.js"),require("../../../stores/webviewStores.js")),a=e.createClass({displayName:"Modal",getInitialState:function(){return{title:"",content:"",confirmText:"确定",cancelText:"取消",showCancel:!0,confirmColor:"#3CC51F",cancelColor:"#000000",hidden:!0,lazyLoaded:!1}},componentDidMount:function(){t.on("SEND_AS_SDK",this._handleAssdkCommand)},componentWillUnmount:function(){t.removeListener("SEND_AS_SDK",this._handleAssdkCommand)},componentWillReceiveProps:function(e){e.webviewID!=this.__showOnWebviewID&&this.setState({hidden:!0})},_handleAssdkCommand:function(e,t,a){var n=t.args;"showModal"===e&&(this.callback=a,this.__showOnWebviewID=this.props.webviewID,this.setState({title:n.title||"",content:n.content||"",confirmText:n.confirmText||"确定",cancelText:n.cancelText||"取消",showCancel:n.showCancel!==!1,confirmColor:n.confirmColor||"#3CC51F",cancelColor:n.cancelColor||"#000000",hidden:!1,lazyLoaded:!0}))},handleCancelClick:function(){this.callback({errMsg:"showModal:ok",confirm:0}),this.hide()},handleConfrimClick:function(){this.callback({errMsg:"showModal:ok",confirm:1}),this.hide()},hide:function(){this.setState({hidden:!0})},render:function(){return this.state.lazyLoaded?e.createElement("div",{className:"wx-modal",style:{display:this.state.hidden?"none":"block"}},e.createElement("div",{className:"wx-modal-mask"}),e.createElement("div",{className:"wx-modal-dialog"},e.createElement("div",{className:"wx-modal-dialog-hd"},e.createElement("strong",null,this.state.title)),e.createElement("div",{className:"wx-modal-dialog-bd"},this.state.content),e.createElement("div",{className:"wx-modal-dialog-ft"},e.createElement("a",{className:"wx-modal-btn-default",style:{color:this.state.cancelColor,display:this.state.showCancel?"":"none"},onClick:this.handleCancelClick},this.state.cancelText),e.createElement("a",{className:"wx-modal-btn-primary",style:{color:this.state.confirmColor},onClick:this.handleConfrimClick},this.state.confirmText)))):null}});_exports=a}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/webview/picker.js b/app/dist/components/simulator/webview/picker.js
index 878e84a1..f0b54312 100644
--- a/app/dist/components/simulator/webview/picker.js
+++ b/app/dist/components/simulator/webview/picker.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../../lib/react.js');require('../../../lib/react-dom.js');const b=require('../../../stores/webviewStores.js'),c=require('../../../actions/webviewActions.js'),d=require('./selectorRing'),e=require('./timeRing'),f=require('./dateRing'),g=a.createClass({displayName:'Picker',getInitialState:function(){return{mode:'selector',title:'',content:'',confirmText:'\u786E\u5B9A',cancelText:'\u53D6\u6D88',showCancel:!0,confirmColor:'#3CC51F',cancelColor:'#000000',hidden:!0,array:[]}},componentDidMount:function(){b.on(`SET_INTERFACE_ASYNC_RES`,this.handleWebviewsdkCommand)},componentWillUnmount:function(){b.removeListener(`SET_INTERFACE_ASYNC_RES`,this.handleWebviewsdkCommand)},handleWebviewsdkCommand:function(h,i,j,k){let{args:l}=k;this.webviewID=h,this.sdkName=i,'showPickerView'===i?this.setState({mode:'selector',array:l.array,current:l.current,hidden:!1}):'showDatePickerView'==i&&this.setState({mode:l.mode,start:l.range&&l.range.start||'',end:l.range&&l.range.end||'',current:l.current||'',fields:l.fields||'day',hidden:!1})},hide:function(){this.setState({hidden:!0,mode:'none'})},confirm:function(){this.hide();let h=this.refs[this.state.mode].getValue();'showPickerView'===this.sdkName?c.sendJSSDKRes(this.webviewID,this.sdkName,{errMsg:`${this.sdkName}:ok`,index:parseInt(h)}):'showDatePickerView'===this.sdkName&&c.sendJSSDKRes(this.webviewID,this.sdkName,{errMsg:`${this.sdkName}:ok`,value:h})},getRing:function(){return'selector'==this.state.mode?a.createElement(d,{ref:'selector',array:this.state.array,current:this.state.current}):'time'==this.state.mode?a.createElement(e,{ref:'time',current:this.state.current,start:this.state.start,end:this.state.end}):a.createElement(f,{ref:'date',current:this.state.current,start:this.state.start,end:this.state.end,fields:this.state.fields})},render:function(){return a.createElement('div',{style:{display:this.state.hidden?'none':''}},a.createElement('div',{className:'wx-picker-mask',onClick:this.hide}),a.createElement('div',{className:'wx-picker'},a.createElement('div',{className:'wx-picker-hd'},a.createElement('a',{className:'wx-picker-action',onClick:this.hide},'\u53D6\u6D88'),a.createElement('a',{className:'wx-picker-action',onClick:this.confirm},'\u786E\u5B9A')),this.getRing()))}});_exports=g}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var e=require("../../../lib/react.js"),t=(require("../../../lib/react-dom.js"),require("../../../stores/webviewStores.js")),s=require("../../../actions/webviewActions.js"),i=require("./selectorRing"),r=require("./timeRing"),a=require("./dateRing"),n=e.createClass({displayName:"Picker",getInitialState:function(){return{mode:"selector",title:"",content:"",confirmText:"确定",cancelText:"取消",showCancel:!0,confirmColor:"#3CC51F",cancelColor:"#000000",hidden:!0,array:[],lazyLoaded:!1}},componentDidMount:function(){t.on("SET_INTERFACE_ASYNC_RES",this._handleWebviewsdkCommand)},componentWillUnmount:function(){t.removeListener("SET_INTERFACE_ASYNC_RES",this._handleWebviewsdkCommand)},_handleWebviewsdkCommand:function(e,t,s,i){var r=i.args;this.webviewID=e,this.sdkName=t,"showPickerView"===t?this.setState({mode:"selector",array:r.array,current:r.current,lazyLoaded:!0,hidden:!1}):"showDatePickerView"===t&&this.setState({mode:r.mode,start:r.range&&r.range.start||"",end:r.range&&r.range.end||"",current:r.current||"",fields:r.fields||"day",lazyLoaded:!0,hidden:!1})},hide:function(){this.setState({hidden:!0,mode:"none"})},confirm:function(){this.hide();var e=this.refs[this.state.mode].getValue();"showPickerView"===this.sdkName?s.sendJSSDKRes(this.webviewID,this.sdkName,{errMsg:this.sdkName+":ok",index:parseInt(e)}):"showDatePickerView"===this.sdkName&&s.sendJSSDKRes(this.webviewID,this.sdkName,{errMsg:this.sdkName+":ok",value:e})},render:function(){return this.state.lazyLoaded?e.createElement("div",{style:{display:this.state.hidden?"none":""}},e.createElement("div",{className:"wx-picker-mask",onClick:this.hide}),e.createElement("div",{className:"wx-picker"},e.createElement("div",{className:"wx-picker-hd"},e.createElement("a",{className:"wx-picker-action",onClick:this.hide},"取消"),e.createElement("a",{className:"wx-picker-action",onClick:this.confirm},"确定")),e.createElement(i,{ref:"selector",array:this.state.array,current:this.state.current,show:"selector"==this.state.mode}),e.createElement(r,{ref:"time",current:this.state.current,start:this.state.start,end:this.state.end,show:"time"==this.state.mode}),e.createElement(a,{ref:"date",current:this.state.current,start:this.state.start,end:this.state.end,fields:this.state.fields,show:"date"==this.state.mode}))):null}});_exports=n}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/webview/pickerRing.js b/app/dist/components/simulator/webview/pickerRing.js
index 2e8802d6..9eae0641 100644
--- a/app/dist/components/simulator/webview/pickerRing.js
+++ b/app/dist/components/simulator/webview/pickerRing.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../../lib/react.js');require('../../../lib/react-dom.js');const b=34,c=a.createClass({displayName:'PickerRing',getInitialState:function(){return{translateY:0}},componentDidMount:function(){this.setCurrent(this.props.current)},componentWillReceiveProps:function(d){d.current!=this.props.current&&this.setCurrent(d.current)},setCurrent:function(d){this.setState({translateY:(3-d)*b})},onMouseDown:function(d){console.log('mouserdonw'),this.touch=!0,this.startY=d.pageY,this.lastTranslateY=this.state.translateY||0},onMouseMove:function(d){if(this.touch){let g=d.pageY-this.startY+this.lastTranslateY;g=Math.max((3-this.props.array.length+1)*b,g),g=Math.min(3*b,g),this.setState({translateY:g})}},onMouseUp:function(d){this.touch=!1,this.startY=0,this.lastTranslateY=0;let f=this.state.translateY;f=Math.max((3-this.props.array.length+1)*b,f),f=Math.min(3*b,f);let g=3-parseInt(f/b);isNaN(g)||(this.current=g),f=(3-this.current)*b,this.setState({translateY:f}),setTimeout(()=>{this.props.onPickerSelect&&this.props.onPickerSelect(this.current)},0)},getItemList:function(){let d=this.props.array,f=[];for(var g=0;g{let i=h;return 0<=h.indexOf('wxfile://')&&(i=d.getUrlFromFilePath(this.props.project,h.replace('wxfile://',''))),a.createElement('div',{className:'weui-gallery__img',style:{backgroundImage:`url("${i}")`}})})))):null}});_exports=f}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var e=require("../../../lib/react.js"),t=(require("../../../lib/react-dom.js"),require("../../../stores/webviewStores.js")),s=require("../../../cssStr/cssStr.js"),a=(require("../../../utils/file.js"),require("../../../weapp/utils/tools"),e.createClass({displayName:"PreviewImage",getInitialState:function(){return{urls:[],translateX:0,load:!1,hidden:!0}},componentDidMount:function(){t.on("SEND_AS_SDK",this._handleAssdkCommand)},componentWillUnmount:function(){t.removeListener("SEND_AS_SDK",this._handleAssdkCommand)},_handleAssdkCommand:function(e,t,s){var a=t.args;if("previewImage"===e){var i=a.current,n=a.urls||[];i=n.indexOf(i),i=i>=0?i:0,this.callback=s,this.setState({urls:n,translateX:-i*this.props.width,load:!0,hidden:!1}),s({errMsg:"previewImage:ok"})}},hide:function(){this.setState({hidden:!0})},onMouseDown:function(e){this.startX=e.pageX,this.touch=!0,this.lastTranslateX=this.state.translateX},onMouseMove:function(e){if(this.touch){var t=e.pageX-this.startX+this.lastTranslateX;t=Math.min(0,t),t=Math.max((1-this.state.urls.length)*this.props.width,t),this.setState({translateX:t})}},onMouseUp:function(e){this.startX=0,this.touch=!1,this.setState({translateX:parseInt(this.state.translateX/this.props.width-.5)*this.props.width})},render:function(){var t={width:100*this.state.urls.length+"%",transition:"all linear 0.3s",transform:"translate3d("+this.state.translateX+"px,0,0)"};return this.state.load?e.createElement("div",{className:"weui-gallery-wrapper",style:this.state.hidden?s.displayNone:{}},e.createElement("div",{className:"simulator-hd"},e.createElement("div",{className:"simulator-hd-back",onClick:this.hide},e.createElement("i",{className:"simulator-hd-back-icon"}),e.createElement("span",{style:{color:"white"}},"返回"))),e.createElement("div",{className:"weui-gallery-body"},e.createElement("div",{className:"weui-gallery",style:t,onMouseDown:this.onMouseDown,onMouseMove:this.onMouseMove,onMouseUp:this.onMouseUp,onMouseLeave:this.onMouseUp},this.state.urls.map(function(t){var s=t;return t.indexOf("wxfile://")>=0&&(s=t.replace("wxfile://","http://wxfile.open.weixin.qq.com/")),e.createElement("div",{className:"weui-gallery__img",style:{backgroundImage:'url("'+s+'")'}})})))):null}}));_exports=a}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/webview/selectorRing.js b/app/dist/components/simulator/webview/selectorRing.js
index 3a81b9db..9180357c 100644
--- a/app/dist/components/simulator/webview/selectorRing.js
+++ b/app/dist/components/simulator/webview/selectorRing.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../../lib/react.js');require('../../../lib/react-dom.js');const b=require('./pickerRing'),c=a.createClass({displayName:'SelectorRing',getInitialState:function(){return{}},componentWillReceiveProps:function(d){d.current!=this.props.current&&this.current},onPickerSelect:function(d){this.current=d},getValue:function(){return this.current},render:function(){return a.createElement('div',{className:'wx-picker-bd'},a.createElement(b,{array:this.props.array,current:this.props.current,onPickerSelect:this.onPickerSelect}))}});_exports=c}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var e=require("../../../lib/react.js"),r=(require("../../../lib/react-dom.js"),require("./pickerRing")),t=require("../../../cssStr/cssStr.js"),i=e.createClass({displayName:"SelectorRing",getInitialState:function(){return{}},componentWillReceiveProps:function(e){e.show&&e.current!=this.props.current&&(this.current=e.current)},onPickerSelect:function(e){this.current=e},getValue:function(){return this.current||0},render:function(){return e.createElement("div",{className:"wx-picker-bd",style:this.props.show?{}:t.displayNone},e.createElement(r,{array:this.props.array,current:this.props.current,onPickerSelect:this.onPickerSelect}))}});_exports=i}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/webview/settingDialog.js b/app/dist/components/simulator/webview/settingDialog.js
new file mode 100644
index 00000000..55b7a022
--- /dev/null
+++ b/app/dist/components/simulator/webview/settingDialog.js
@@ -0,0 +1 @@
+"use strict";function init(){var e=require("../../../lib/react.js"),t=require("../../../cssStr/cssStr.js"),s=(require("../../../lib/react-dom.js"),require("../../../stores/webviewStores.js")),a=require("../../../actions/windowActions.js"),i=require("../../../common/actions/actions.js"),o=function(e){a.showTipsMsg({type:"error",msg:e})},c=e.createClass({displayName:"SettingDialog",getInitialState:function(){return{lazyLoaded:!1,show:!1}},componentDidMount:function(){s.on("SEND_AS_SDK",this._handleAssdkCommand)},componentWillUnmount:function(){s.removeListener("SEND_AS_SDK",this._handleAssdkCommand)},_handleAssdkCommand:function(e,t,s){var a=this;t.args;"openSetting"===e&&(this.callback=s,i.getAuthList(this.props.project,function(e,t){null!==e?o("获取权限列表失败!"+e):a.setState({lazyLoaded:!0,show:!0,scopeList:t||[]})}))},setAuthList:function(){var e=this;if(this.state.scopeList&&this.state.scopeList.length>0){var t=[];this.state.scopeList.forEach(function(e){t.push({scope:e.scope,state:e.state})}),i.setAuth(this.props.project,t,function(t){return null!==t?void o("设置权限列表失败!"+t):void e.close()})}else this.close()},close:function(){if(this.callback){var e=[];this.state.scopeList.forEach(function(t){e.push({state:t.state,scope:t.scope,desc:t.scope_desc})}),this.callback({errMsg:"openSetting:ok",authSetting:e}),this.callback=null}this.setState({show:!1})},_checkboxChange:function(e){var t=this,s=this.state.scopeList;return function(){s[e].state=1==s[e].state?2:1,t.setState({scopeList:s})}},render:function(){if(!this.state.lazyLoaded)return null;var s=this.props.project,a=s.app_nickname;s.ext_appid&&(a=s.extAppInfo&&s.extAppInfo.app_nickname||s.app_nickname),a=decodeURIComponent(a);for(var i=this.state.scopeList,o=[],c=0;cf;f++)24>f&&d.push(9this.range.end&&(f=parseInt(this.range.end/60)),this.setState({hourCurrent:f}),this.refs.hourPicker.setCurrent(f)},onMinuteSelect:function(d){let e=60*this.state.hourCurrent+d,f=d;ethis.range.end&&(f=parseInt(this.range.end%60),this.setState({minuteCurrent:f}),this.refs.minutePicker.setCurrent(f)),this.setState({minuteCurrent:f}),this.refs.minutePicker.setCurrent(f)},getValue:function(){return this.state.hourArray[this.state.hourCurrent]+':'+this.state.minuteArray[this.state.minuteCurrent]},render:function(){return a.createElement('div',{className:'wx-picker-bd'},a.createElement(b,{ref:'hourPicker',array:this.state.hourArray,current:this.state.hourCurrent,onPickerSelect:this.onHourSelect}),a.createElement(b,{ref:'minutePicker',array:this.state.minuteArray,current:this.state.minuteCurrent,onPickerSelect:this.onMinuteSelect}))}});_exports=c}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var t=require("../../../lib/react.js"),e=(require("../../../lib/react-dom.js"),require("./pickerRing")),r=require("../../../cssStr/cssStr.js"),s=t.createClass({displayName:"TimeRing",getInitialState:function(){for(var t=[],e=[],r=0;r<60;r++)r<24&&t.push(r>9?""+r:"0"+r),e.push(r>9?""+r:"0"+r);return{hourArray:t,minuteArray:e,hourCurrent:0,minuteCurrent:0}},componentDidMount:function(){this.range={},this.setRange("start",this.props.start||"00:00"),this.setRange("end",this.props.end||"23:59"),this.setCurrent(this.props.current||"00:00")},componentWillReceiveProps:function(t){t.show&&(t.current!=this.props.current&&this.setCurrent(t.current),t.start!=this.props.start&&this.setRange("start",t.start),t.end!=this.props.end&&this.setRange("end",t.end))},setCurrent:function(t){var e=t.split(":"),r=parseInt(e[0]),s=parseInt(e[1]);this.setState({hourCurrent:isNaN(r)?0:Math.min(Math.max(r,0),23),minuteCurrent:isNaN(s)?0:Math.min(Math.max(s,0),59)})},setRange:function(t,e){var r=e.split(":"),s=parseInt(r[0]);s=isNaN(s)?0:s;var n=parseInt(r[1]);n=isNaN(n)?0:n,this.range[t]=60*s+n},onHourSelect:function(t){var e=60*t+this.state.minuteCurrent,r=t;ethis.range.end&&(r=parseInt(this.range.end/60)),this.setState({hourCurrent:r}),this.refs.hourPicker.setCurrent(r)},onMinuteSelect:function(t){var e=60*this.state.hourCurrent+t,r=t;ethis.range.end&&(r=parseInt(this.range.end%60),this.setState({minuteCurrent:r}),this.refs.minutePicker.setCurrent(r)),this.setState({minuteCurrent:r}),this.refs.minutePicker.setCurrent(r)},getValue:function(){return this.state.hourArray[this.state.hourCurrent]+":"+this.state.minuteArray[this.state.minuteCurrent]},render:function(){return t.createElement("div",{className:"wx-picker-bd",style:this.props.show?{}:r.displayNone},t.createElement(e,{ref:"hourPicker",array:this.state.hourArray,current:this.state.hourCurrent,onPickerSelect:this.onHourSelect}),t.createElement(e,{ref:"minutePicker",array:this.state.minuteArray,current:this.state.minuteCurrent,onPickerSelect:this.onMinuteSelect}))}});_exports=s}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/webview/toast.js b/app/dist/components/simulator/webview/toast.js
index a9128db3..32751c88 100644
--- a/app/dist/components/simulator/webview/toast.js
+++ b/app/dist/components/simulator/webview/toast.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../../lib/react.js');require('../../../lib/react-dom.js');const b=require('../../../stores/webviewStores.js'),c=require('../../../weapp/utils/tools'),d=a.createClass({displayName:'Toast',getInitialState:function(){return{title:'',icon:'success',hidden:!0}},componentDidMount:function(){b.on('SEND_AS_SDK',this.handleAssdkCommand)},componentWillUnmount:function(){b.removeListener('SEND_AS_SDK',this.handleAssdkCommand)},componentWillReceiveProps:function(e){e.webviewID!=this.__showOnWebviewID&&this.setState({hidden:!0})},handleAssdkCommand:function(e,f,g){let{args:h}=f;'showToast'===e?(this.__showOnWebviewID=this.props.webviewID,this.setState({title:h.title||'',image:h.image||'',icon:h.icon||'success',hideMask:!h.mask,hidden:!1}),this.hiddenTimeId=setTimeout(this.hide,h.duration||1500),g({errMsg:'showToast:ok'})):'hideToast'==e&&(clearTimeout(this.hiddenTimeId),this.hide(),g({errMsg:'hideToast:ok'}))},getIconClass:function(){return this.state.image?'wx-toast-image-icon':`wx-toast-icon wx-icon-${this.state.icon}`},hide:function(){this.setState({hidden:!0})},render:function(){let e={fontSize:'55px',color:'#ffffff',display:'block'};return this.state.image&&(e.backgroundImage=`url(${c.getUrlFromFilePath(this.props.project,this.state.image)})`),a.createElement('div',{style:{display:this.state.hidden?'none':'block'}},a.createElement('div',{className:'wx-toast-mask',style:{display:this.state.hideMask?'none':'block'}}),a.createElement('div',{className:'wx-toast'},a.createElement('i',{className:this.getIconClass(),style:e}),a.createElement('p',{className:'wx-toast-content'},this.state.title)))}});_exports=d}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var e=require("../../../lib/react.js"),t=(require("../../../lib/react-dom.js"),require("../../../stores/webviewStores.js")),s=require("../../../weapp/utils/tools"),i=e.createClass({displayName:"Toast",getInitialState:function(){return{title:"",icon:"success",hidden:!0,lazyLoaded:!1}},componentDidMount:function(){t.on("SEND_AS_SDK",this._handleAssdkCommand)},componentWillUnmount:function(){t.removeListener("SEND_AS_SDK",this._handleAssdkCommand)},componentWillReceiveProps:function(e){e.webviewID!=this.__showOnWebviewID&&this.setState({hidden:!0})},_handleAssdkCommand:function(e,t,s){var i=t.args;"showToast"===e?(this.__showOnWebviewID=this.props.webviewID,this.setState({title:i.title||"",image:i.image||"",icon:i.icon||"success",hideMask:!i.mask,hidden:!1,lazyLoaded:!0}),this.hiddenTimeId=setTimeout(this.hide,i.duration||1500),s({errMsg:"showToast:ok"})):"hideToast"===e&&(clearTimeout(this.hiddenTimeId),this.hide(),s({errMsg:"hideToast:ok"}))},getIconClass:function(){return this.state.image?"wx-toast-image-icon":"wx-toast-icon wx-icon-"+this.state.icon},hide:function(){this.setState({hidden:!0})},render:function(){if(!this.state.lazyLoaded)return null;var t={fontSize:"55px",color:"#ffffff",display:"block"};return this.state.image&&(t.backgroundImage="url("+s.getUrlFromFilePath(this.props.project,this.state.image)+")"),e.createElement("div",{style:{display:this.state.hidden?"none":"block"}},e.createElement("div",{className:"wx-toast-mask",style:{display:this.state.hideMask?"none":"block"}}),e.createElement("div",{className:"wx-toast"},e.createElement("i",{className:this.getIconClass(),style:t}),e.createElement("p",{className:"wx-toast-content"},this.state.title)))}});_exports=i}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/webviewBackwardMask.js b/app/dist/components/simulator/webviewBackwardMask.js
index 3a076a8f..09b9cbb3 100644
--- a/app/dist/components/simulator/webviewBackwardMask.js
+++ b/app/dist/components/simulator/webviewBackwardMask.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../lib/react.js'),b=require('../../cssStr/cssStr.js'),c=require('../../stores/windowStores.js'),d=a.createClass({displayName:'WebviewBackwardMask',getInitialState:function(){return{show:!1}},_appEnterBackground:function(){this.setState({show:!0})},_appEnterForeground:function(){this.setState({show:!1})},componentDidMount:function(){c.on('APP_ENTER_BACKGROUND',this._appEnterBackground),c.on('APP_ENTER_FOREGROUND',this._appEnterForeground)},componentWillUnmount:function(){c.removeListener('APP_ENTER_BACKGROUND',this._appEnterBackground),c.removeListener('APP_ENTER_FOREGROUND',this._appEnterForeground)},render:function(){const e=this.state.show?b.displayBlock:b.displayNone;return a.createElement('div',{style:e,className:'simulator-backward-mask'},a.createElement('p',null,a.createElement('i',null),'\u540E\u53F0\u8FD0\u884C\u4E2D'))}});_exports=d}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var e=require("../../lib/react.js"),t=require("../../cssStr/cssStr.js"),a=require("../../stores/windowStores.js"),r=require("../../actions/windowActions.js"),n=require("../../actions/webviewActions.js"),i=require("../../stores/projectStores.js"),s=require("url"),o=require("querystring"),c=require("../../config/sceneConfig.js"),l=c.sceneData,u=e.createClass({displayName:"WebviewBackwardMask",getInitialState:function(){return{lazyLoaded:!1,show:!1,beta:global.appConfig.isBeta}},_appEnterBackground:function(){this.setState({lazyLoaded:!0,show:!0})},_appEnterForeground:function(){this.setState({show:!1})},componentDidMount:function(){a.on("APP_ENTER_BACKGROUND",this._appEnterBackground),a.on("APP_ENTER_FOREGROUND",this._appEnterForeground)},componentWillUnmount:function(){a.removeListener("APP_ENTER_BACKGROUND",this._appEnterBackground),a.removeListener("APP_ENTER_FOREGROUND",this._appEnterForeground)},onItemClick:function(e){var t=e.currentTarget.dataset,c=t.scene,l=i.getCurrentProject(),u=a.getCurrentWebviewUrl(),d=s.parse(u),p=d.pathname.replace(/^\//,""),m=void 0;if("mini_program"===c&&(m={},l.initPath.enable&&(l.initPath.appid&&(m.appId=l.initPath.appid),l.initPath.referData)))try{m.extraData=JSON.parse(l.initPath.referData)}catch(e){}r.appEnterForeground({scene:c}),n.postMessageToAS({eventName:"onAppEnterForeground",data:{scene:c,path:p||"",referrerInfo:m,query:o.parse(d.query||"")},type:"ON_APPLIFECYCLE_EVENT"})},render:function(){if(!this.state.lazyLoaded)return null;var a=this.state.show?t.displayBlock:t.displayNone,r=[];for(var n in l)r.push(e.createElement("div",{className:"simulator-backward-item","data-scene":n,onClick:this.onItemClick},e.createElement("p",null,n+": "+l[n])));return e.createElement("div",{style:a,className:"simulator-backward-mask"},e.createElement("div",{className:"simulator-backward-dialog",style:this.state.beta?t.displayNone:{}},e.createElement("div",{className:"simulator-backward-dialog-hd"},e.createElement("p",null,"已转为后台运行,可通过以下方式返回前台运行")),e.createElement("div",{className:"simulator-backward-dialog-bd"},e.createElement("div",{className:"simulator-backward-list"},r))))}});_exports=u}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/webviewbody.js b/app/dist/components/simulator/webviewbody.js
index 2940ddf4..3815b93e 100644
--- a/app/dist/components/simulator/webviewbody.js
+++ b/app/dist/components/simulator/webviewbody.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../lib/react.js'),b=require('../../stores/webviewStores.js'),c=require('../../actions/leftviewActions.js'),d=require('../../stores/windowStores.js'),f=require('../../actions/windowActions.js'),g=require('../../actions/projectActions.js'),h=require('../../common/log/log.js'),j=require('../../config/config.js');require('../../common/jssdk/sdkNameTrans.js');const k=require('../../utils/newReport.js'),l=require('./console/consoleHandler.js'),m=require('./private/private.js');var n=!1;const o=function(s){f.showTipsMsg({msg:s,type:'error'})},p=function(s,t){f.showConfirm({content:s,type:'confirm',callback:t})};var q={};const r=a.createClass({displayName:'WebviewBody',getInitialState:function(){return{webviewID:parseInt(this.props.webviewID)}},captureVisibleRegion:function(){this.webview.captureVisibleRegion(s=>{this.props.getSimulatorActions('S_GET_SNAPSHOT',this.state.webviewID,{dataURI:s})})},reload:function(){this.webview.reload()},_setWebviewActions:function(s,t){let u=this.webview,v=t.act,w=this.postMessage;switch(this.props.project&&'reLoad'===v&&(v='reBuild'),v){case'reBuild':{this.props.project&&setTimeout(()=>{g.restart(this.props.project),k('project_shortcut_restart',this.props.project.appid)},17);break}case'reLoad':{this.reload();break}case'goBack':{this.props.goBack();break}case'goForward':{u.forward();break}case'load':{n='urlbar'!==t.from,u.src=t.url;break}case'goToBlank':{u.src='app/html/about.html';break}case'sendMsg':{let x={sdkName:t.sdkName,res:t.res};w('webframe',x,'INVOKE_SDK',t.ext);break}case'sendMsgFromAppService':{w('webframe',t,'MSG_FROM_APPSERVICE');break}case'open':{nw.Shell.openExternal(u.src);break}case'CAPTURE':this.captureVisibleRegion();}},_getJSSDKRes:function(s,t,u,v){this.postMessage('webframe',{sdkName:t,res:u},'GET_JSSDK_RES',v)},setUserAgentOverride:function(s){s=s||b.getUA(),s=s.replace('{{webviewID}}',this.state.webviewID),this.props.project&&(s=`${s} weapp/${this.id}`),this.webview.setUserAgentOverride(s)},setWebviewSrc:function(s){this.webview.src=s},upWebviewStatus:function(s){let t=this.webview,u={url:t.src,canGoBack:t.canGoBack()};this.props.getSimulatorActions('S_UP_WEBVIEW_STATUS',this.state.webviewID,Object.assign(s,u))},loadstart:function(){this.webview.addEventListener('loadstart',s=>{s.isTopLevel&&this.upWebviewStatus({loading:'start'})})},loadcommit:function(){let s=this.webview;s.addEventListener('loadcommit',t=>{if(t.isTopLevel&&(this.upWebviewStatus({type:'loadcommit'}),this.props.project&&(q={}),!this.initDevtools)){if(this.props.project){let u=this.props.offset;this.props.getSimulatorActions('S_START_DEBUGGEE',this.state.webviewID,{webview:s,webviewOffset:u})}else{let u=this.props.offset;this.props.getSimulatorActions('S_OPEN_DEVTOOLS',this.state.webviewID,{webview:s,webviewOffset:u})}this.initDevtools=!0}})},loadstop:function(){this.webview.addEventListener('loadstop',s=>{this.upWebviewStatus({loading:'stop'}),this.props.project||this.postMessage('webframe',{},'COMMAND_GET_TITLE'),c.hideAll(this.state.webviewID)})},initEvent:function(){this.loadstart(),this.loadcommit(),this.loadstop();let s=this.webview;global.appConfig.isDev||s.contextMenus.onShow.addListener(t=>{t.preventDefault()}),s.addEventListener('newwindow',t=>{'new_window'===t.windowOpenDisposition&&(s.src=t.targetUrl)}),s.addEventListener('dialog',t=>{let u=t.messageType||'',v=t.messageText,w=t.dialog;if('alert'===u){if(this.props.isMap&&0===v.indexOf('map handle:')){let x=v.replace('map handle:','');this.props.chooseLocation(JSON.parse(x))}else o(v);}else if('confirm'===u)t.preventDefault(),p(v,x=>{x?w.ok():w.cancel()});else if('prompt'===u){let x=prompt(v);null===x?w.cancel():w.ok(x)}})},onBeforeSendHeaders:function(){let s=this.webview,t=s.request;t.onBeforeSendHeaders.addListener(u=>{let v=this.props.project;if(v){let A=u.requestHeaders||[],B=A.findIndex(C=>{return'cookie'===C.name.toLowerCase()});A.splice(B,1);for(var y=0;y']},['blocking','requestHeaders'])},onCompleted:function(){let s=this.webview,t=s.request;t.onCompleted.addListener(u=>{let{type:v,statusCode:w}=u;'script'!==v&&'main_frame'!==v&&400<=w&&l({message:j.WEBVIEW_NETWORK_ERROR,details:u})},{urls:['']},['responseHeaders'])},onErrorOccurred:function(){let s=this.webview,t=s.request;t.onErrorOccurred.addListener(u=>{let{type:v}=u;'script'===v||'main_frame'===v||'net::ERR_ABORTED'===u.error||l({message:j.WEBVIEW_NETWORK_ERROR,details:u})},{urls:['']})},onBeforeRequest:function(){let s=this.webview,t=s.request;t.onBeforeRequest.addListener(u=>{if('main_frame'!==u.type)return{};if(!n)return n=!0,{};let v=u.url;if(/^chrome-extension:\/\//.test(v)||/^file:\/\//.test(v))return{};if(j.weappURLRegular.test(v))return{};let w=/\#wechat_redirect$/.test(v);return this.props.getSimulatorActions('S_GET_A8KEY',this.state.webviewID,{url:v,isSync:w}),{cancel:w}},{urls:['']},['blocking'])},onHeadersReceived:function(){let s=this.webview,t=s.request;t.onHeadersReceived.addListener(u=>{u.responseHeaders||[],u.type;let v=this.state.webviewID;'main_frame'===u.type&&this.props.getSimulatorActions('S_CLEAN_WEBVIEW',v)},{urls:['']},['blocking','responseHeaders'])},initRequest:function(){this.onBeforeRequest(),this.onBeforeSendHeaders(),this.onHeadersReceived(),this.onCompleted(),this.onErrorOccurred()},permissionrequest:function(){this.webview.addEventListener('permissionrequest',function(s){'geolocation'===s.permission&&s.request.allow()})},addContentScripts:function(){this.webview.addContentScripts([{name:'contentscript',matches:[''],js:{files:['app/dist/contentscript/contentScript.js']},run_at:'document_start'}])},_initport:function(s){`webview${this.state.webviewID}`===s.name&&(this.port=s,this.portID=s.name,b.addWebviewPorts(this.portID,this.port),this.port.onMessage.addListener(this.onMessage),this.port.onDisconnect.addListener(()=>{b.delWebviewPorts(this.portID),this.port.onMessage.removeListener(this.onMessage),delete this.port,delete this.portID,this.msgQuery=[]}),this.postMessage('contentscript',{},'SHAKE_HANDS'))},initRuntime:function(){chrome.runtime.onConnect.addListener(this._initport)},toAppService:function(s){s.webviewID=this.state.webviewID,this.props.getSimulatorActions('S_POSTMSG_TO_AS',this.state.webviewID,s)},onMessage:function(s){let t=s.command,u=this.state.webviewID,v=s.msg;if(this.props.project){let w=s.weappID;if(w!==this.id)return h.error(`webviewbody.js get a message from a wrong webview`),void chrome.runtime.onConnect.removeListener(this._initport)}switch(t){case'COMMAND_GET_TITLE':{this.upWebviewStatus(v);break}case'EXEC_JSSDK':{let w=v.sdkName;if(/^private_/.test(w)){let x=w.replace(/^private_/,'');m[x]&&m[x](v.args,(y,z)=>{z=y?{errMsg:`${w}:fail`}:z,this._getJSSDKRes(u,w,z,{args:v.args})})}else v.ext=s.ext,this.props.getSimulatorActions('S_EXEC_JSSDK',u,v);break}case'TO_APP_SERVICE':{this.toAppService(v);break}case'PULLDOWN_REFRESH':{this.props.getSimulatorActions('S_POSTMSG_TO_AS',this.state.webviewID,{eventName:'onPullDownRefresh',data:{},webviewID:this.state.webviewID});break}case'WEBVIEW_READY':{this.props.project&&('redirectTo'===this.props.type||'navigateTo'===this.props.type||'switchTab'===this.props.type?this.props.postAppRoute(this.webview.src,this.state.webviewID,this.props.type):0===this.state.webviewID&&this.props.postAppRoute(this.webview.src,this.state.webviewID,'appLaunch'));break}}},postMessage:function(s,t,u,v){let w={to:s,msg:t,command:u,ext:v};return(w.webviewID=this.state.webviewID,w.id=this.id,!this.port)?void this.msgQuery.push(w):void(this.msgQuery.length&&(this.msgQuery.forEach(x=>{this.port.postMessage(x)}),this.msgQuery=[]),this.port.postMessage(w))},_setInterfaceRes:function(s,t,u){'closeWindow'===t&&(0===s?this.webview.src='app/html/about.html':this.props.goBack(!0))},_setWebviewInfo:function(s){let t=s.ua;t&&this.setUserAgentOverride(t),this.props.project?setTimeout(()=>{g.restart(this.props.project),k('project_shortcut_restart',this.props.project.appid)},17):this.reload()},_clearWebviewData:function(s){let t=s.callBack;delete s.callBack,this.webview.clearData({since:0},s,()=>{t&&t()})},_touchSetSuc:function(){this.setWebviewSrc(this.props.href)},_didMount:function(){let s=this.refs.container,t=this.state.webviewID,u=this.webview=document.createElement('webview');u.className=`simulator-bd-webview_body webviewbody${this.state.webviewID}`,u.setAttribute('partition','persist:trusted'),s.appendChild(u),this.setUserAgentOverride(),this.addContentScripts(),this.initRuntime();let v=this.props.href;this.props.project?(b.on(`TOUCH_SET_SUC_${t}`,this._touchSetSuc),u.src='about:blank',u.addEventListener('consolemessage',w=>{let x=w.message;q[x]||(q[x]=!0,l(w))})):this.setWebviewSrc(v),this.initEvent(),this.initRequest(),this.permissionrequest(),b.on(`SET_WEBVIEW_ACTION_${t}`,this._setWebviewActions),b.on(`GET_JSSDK_RES_${t}`,this._getJSSDKRes),b.on(`SET_INTERFACE_RES_${t}`,this._setInterfaceRes),d.on(`INIT_DEVTOOLS_SUCCESS${t}`,this._successDevtools),b.on('SET_WEBVIEW_INFO',this._setWebviewInfo),b.on('CLEAR_WEBVIEW_DATA',this._clearWebviewData),b.on('STOP_PULL_DOWN_REFRESH',this._onStopPullDownRefresh)},_onStopPullDownRefresh:function(){this.postMessage('webframe',{},'STOP_PULL_DOWN_REFRESH')},_successDevtools:function(){this.postMessage('webframe',{},'INIT_DEVTOOLS_SUCCESS')},componentDidMount:function(){this.id=parseInt(100000*Math.random()),this.msgQuery=[],this.props.project&&0===this.state.webviewID?b.on('APPSERVICE_INIT',this._didMount):this._didMount()},componentWillUnmount:function(){let s=this.state.webviewID,t=global.contentDocumentBody.querySelector(`.devtools${s}`);t&&t.remove(),this.initDevtools=!1,b.removeListener('CLEAR_WEBVIEW_DATA',this._clearWebviewData),b.removeListener('APPSERVICE_INIT',this._didMount),b.removeListener(`SET_WEBVIEW_ACTION_${s}`,this._setWebviewActions),b.removeListener(`GET_JSSDK_RES_${s}`,this._getJSSDKRes),b.removeListener(`SET_INTERFACE_RES_${s}`,this._setInterfaceRes),b.removeListener('SET_WEBVIEW_INFO',this._setWebviewInfo),b.removeListener('STOP_PULL_DOWN_REFRESH',this._onStopPullDownRefresh),d.removeListener(`INIT_DEVTOOLS_SUCCESS${this.state.webviewID}`,this._successDevtools),this.props.project&&b.removeListener(`TOUCH_SET_SUC_${s}`,this._touchSetSuc),chrome.runtime.onConnect.removeListener(this._initport)},render:function(){return a.createElement('div',{className:'simulator-bd-webview',ref:'container'})}});_exports=r}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var e=require("../../lib/react.js"),t=require("../../stores/webviewStores.js"),s=require("../../actions/leftviewActions.js"),i=require("../../stores/windowStores.js"),r=require("../../actions/windowActions.js"),o=require("../../actions/projectActions.js"),n=require("../../common/log/log.js"),a=require("../../config/config.js"),c=(require("../../common/jssdk/sdkNameTrans.js"),require("./console/consoleHandler.js")),p=require("./private/private.js"),u=!1,w=function(e){r.showTipsMsg({msg:e,type:"error"})},h=function(e,t){r.showConfirm({content:e,type:"confirm",callback:t})},v={},l=e.createClass({displayName:"WebviewBody",getInitialState:function(){return{webviewID:parseInt(this.props.webviewID)}},captureVisibleRegion:function(){var e=this;this.webview.captureVisibleRegion(function(t){e.props.getSimulatorActions("S_GET_SNAPSHOT",e.state.webviewID,{dataURI:t})})},reload:function(){this.webview.reload()},_setWebviewActions:function(e,t){var s=this,i=this.webview,r=t.act,n=this.postMessage;switch(this.props.project&&"reLoad"===r&&(r="reBuild"),r){case"reBuild":this.props.project&&setTimeout(function(){o.restart(s.props.project)},17);break;case"reLoad":this.reload();break;case"goBack":this.props.goBack();break;case"goForward":i.forward();break;case"load":u="urlbar"!==t.from,i.src=t.url;break;case"goToBlank":i.src="app/html/about.html";break;case"sendMsg":var a={sdkName:t.sdkName,res:t.res};n("webframe",a,"INVOKE_SDK",t.ext);break;case"sendMsgFromAppService":n("webframe",t,"MSG_FROM_APPSERVICE");break;case"open":nw.Shell.openExternal(i.src);break;case"CAPTURE":return void this.captureVisibleRegion()}},_getJSSDKRes:function(e,t,s,i){var r={sdkName:t,res:s};this.postMessage("webframe",r,"GET_JSSDK_RES",i)},setUserAgentOverride:function(e){e=e||t.getUA(),e=e.replace("{{webviewID}}",this.state.webviewID),this.props.project&&(e=e+" weapp/"+this.id),this.webview.setUserAgentOverride(e)},setWebviewSrc:function(e){this.webview.src=e},upWebviewStatus:function(e){var t=this.webview,s={url:t.src,canGoBack:t.canGoBack()};this.props.getSimulatorActions("S_UP_WEBVIEW_STATUS",this.state.webviewID,Object.assign(e,s))},loadstart:function(){var e=this;this.webview.addEventListener("loadstart",function(t){t.isTopLevel&&e.upWebviewStatus({loading:"start"})})},loadcommit:function(){var e=this,t=this.webview;t.addEventListener("loadcommit",function(s){if(s.isTopLevel&&(e.upWebviewStatus({type:"loadcommit"}),e.props.project&&(v={}),!e.initDevtools)){if(e.props.project){var i=e.props.offset;e.props.getSimulatorActions("S_START_DEBUGGEE",e.state.webviewID,{webview:t,webviewOffset:i})}else{var r=e.props.offset;e.props.getSimulatorActions("S_OPEN_DEVTOOLS",e.state.webviewID,{webview:t,webviewOffset:r})}e.initDevtools=!0}})},loadstop:function(){var e=this;this.webview.addEventListener("loadstop",function(t){e.upWebviewStatus({loading:"stop"}),e.props.project||e.postMessage("webframe",{},"COMMAND_GET_TITLE"),s.hideAll(e.state.webviewID)})},initEvent:function(){var e=this;this.loadstart(),this.loadcommit(),this.loadstop();var t=this.webview;global.appConfig.isDev||t.contextMenus.onShow.addListener(function(e){e.preventDefault()}),t.addEventListener("newwindow",function(e){"new_window"===e.windowOpenDisposition&&(t.src=e.targetUrl)}),t.addEventListener("dialog",function(t){var s=t.messageType||"",i=t.messageText,r=t.dialog;if("alert"===s)if(e.props.isMap&&0===i.indexOf("map handle:")){var o=i.replace("map handle:","");e.props.chooseLocation(JSON.parse(o))}else w(i);else if("confirm"===s)t.preventDefault(),h(i,function(e){e?r.ok():r.cancel()});else if("prompt"===s){var n=prompt(i);null!==n?r.ok(n):r.cancel()}})},onBeforeSendHeaders:function(){var e=this,t=this.webview,s=t.request;s.onBeforeSendHeaders.addListener(function(t){var s=e.props.project;if(s){var i=t.requestHeaders||[],r=i.findIndex(function(e){return"cookie"===e.name.toLowerCase()});i.splice(r,1);for(var o=0;o"]},["blocking","requestHeaders"])},onCompleted:function(){var e=this.webview,t=e.request;t.onCompleted.addListener(function(e){var t=e.type,s=e.statusCode;"script"!==t&&"main_frame"!==t&&s>=400&&c({message:a.WEBVIEW_NETWORK_ERROR,details:e})},{urls:[""]},["responseHeaders"])},onErrorOccurred:function(){var e=this.webview,t=e.request;t.onErrorOccurred.addListener(function(e){var t=e.type;"script"!==t&&"main_frame"!==t&&"net::ERR_ABORTED"!==e.error&&c({message:a.WEBVIEW_NETWORK_ERROR,details:e})},{urls:[""]})},onBeforeRequest:function(){var e=this,t=this.webview,s=t.request;s.onBeforeRequest.addListener(function(t){if("main_frame"!==t.type)return{};if(!u)return u=!0,{};var s=t.url;if(/^chrome-extension:\/\//.test(s)||/^file:\/\//.test(s))return{};if(a.weappURLRegular.test(s))return{};var i=/\#wechat_redirect$/.test(s);return e.props.getSimulatorActions("S_GET_A8KEY",e.state.webviewID,{url:s,isSync:i}),{cancel:i}},{urls:[""]},["blocking"])},onHeadersReceived:function(){var e=this,t=this.webview,s=t.request;s.onHeadersReceived.addListener(function(t){var s=t.responseHeaders||[],i=(t.type,e.state.webviewID);if("main_frame"===t.type&&e.props.getSimulatorActions("S_CLEAN_WEBVIEW",i),"xmlhttprequest"===t.type){for(var r=!1,o=0;o"]},["blocking","responseHeaders"])},initRequest:function(){this.onBeforeRequest(),this.onBeforeSendHeaders(),this.onHeadersReceived(),this.onCompleted(),this.onErrorOccurred()},permissionrequest:function(){this.webview.addEventListener("permissionrequest",function(e){"geolocation"===e.permission&&e.request.allow()})},addContentScripts:function(){this.webview.addContentScripts([{name:"contentscript",matches:[""],js:{files:["app/dist/contentscript/contentScript.js"]},run_at:"document_start"}])},_initport:function(e){var s=this;e.name==="webview"+this.state.webviewID&&(this.port=e,this.portID=e.name,t.addWebviewPorts(this.portID,this.port),this.port.onMessage.addListener(this.onMessage),this.port.onDisconnect.addListener(function(){t.delWebviewPorts(s.portID),s.port.onMessage.removeListener(s.onMessage),delete s.port,delete s.portID,s.msgQuery=[]}),this.postMessage("contentscript",{},"SHAKE_HANDS"))},initRuntime:function(){chrome.runtime.onConnect.addListener(this._initport)},toAppService:function(e){e.webviewID=this.state.webviewID,this.props.getSimulatorActions("S_POSTMSG_TO_AS",this.state.webviewID,e)},onMessage:function(e){var t=this,s=e.command,r=this.state.webviewID,o=e.msg;if(this.props.project){var a=e.weappID;if(a!==this.id){n.error("webviewbody.js get a message from a wrong webview"),chrome.runtime.onConnect.removeListener(this._initport),n.info("webviewbody.js this.componentWillUnmount begin");try{this.componentWillUnmount(),n.info("webviewbody.js this.componentWillUnmount end")}catch(e){this.webview.remove(),n.error("webviewbody.js trigger this.componentWillUnmount() error "+e.toString())}return}}switch(s){case"COMMAND_GET_TITLE":this.upWebviewStatus(o);break;case"EXEC_JSSDK":var c=o.sdkName;if(/^private_/.test(c)){var u=c.replace(/^private_/,"");p[u]&&p[u](o.args,function(e,s){s=e?{errMsg:c+":fail"}:s,t._getJSSDKRes(r,c,s,{args:o.args})})}else o.ext=e.ext,this.props.getSimulatorActions("S_EXEC_JSSDK",r,o);break;case"TO_APP_SERVICE":this.toAppService(o);break;case"PULLDOWN_REFRESH":this.props.getSimulatorActions("S_POSTMSG_TO_AS",this.state.webviewID,{eventName:"onPullDownRefresh",data:{},webviewID:this.state.webviewID});break;case"WEBVIEW_READY":this.props.project&&("redirectTo"===this.props.type||"navigateTo"===this.props.type||"switchTab"===this.props.type||"reLaunch"===this.props.type?this.props.postAppRoute(this.webview.src,this.state.webviewID,this.props.type):0===this.state.webviewID&&this.props.postAppRoute(this.webview.src,this.state.webviewID,"appLaunch"),i.isEditorFocus()||this.webview.focus())}},postMessage:function(e,t,s,i){var r=this,o={to:e,msg:t,command:s,ext:i};return o.webviewID=this.state.webviewID,o.id=this.id,this.port?(this.msgQuery.length&&(this.msgQuery.forEach(function(e){r.port.postMessage(e)}),this.msgQuery=[]),void this.port.postMessage(o)):void this.msgQuery.push(o)},_setInterfaceRes:function(e,t,s){"closeWindow"===t&&(0===e?this.webview.src="app/html/about.html":this.props.goBack(!0))},_setWebviewInfo:function(e){var t=this,s=e.ua;s&&this.setUserAgentOverride(s),this.props.project?setTimeout(function(){o.restart(t.props.project)},17):this.reload()},_clearWebviewData:function(e){var t=e.callBack;delete e.callBack,this.webview.clearData({since:0},e,function(){t&&t()})},_touchSetSuc:function(){this.setWebviewSrc(this.props.href)},_didMount:function(){var e=this.refs.container,s=this.state.webviewID,r=this.webview=document.createElement("webview");r.className="simulator-bd-webview_body webviewbody"+this.state.webviewID,r.setAttribute("partition","persist:trusted"),e.appendChild(r),this.setUserAgentOverride(),this.addContentScripts(),this.initRuntime();var o=this.props.href;this.props.project?(t.on("TOUCH_SET_SUC_"+s,this._touchSetSuc),r.src="about:blank",r.addEventListener("consolemessage",function(e){var t=e.message;v[t]||(v[t]=!0,c(e))})):this.setWebviewSrc(o),this.initEvent(),this.initRequest(),this.permissionrequest(),t.on("SET_WEBVIEW_ACTION_"+s,this._setWebviewActions),t.on("GET_JSSDK_RES_"+s,this._getJSSDKRes),t.on("SET_INTERFACE_RES_"+s,this._setInterfaceRes),i.on("INIT_DEVTOOLS_SUCCESS"+s,this._successDevtools),t.on("SET_WEBVIEW_INFO",this._setWebviewInfo),t.on("CLEAR_WEBVIEW_DATA",this._clearWebviewData),t.on("STOP_PULL_DOWN_REFRESH",this._onStopPullDownRefresh)},_onStopPullDownRefresh:function(){this.postMessage("webframe",{},"STOP_PULL_DOWN_REFRESH")},_successDevtools:function(){this.postMessage("webframe",{},"INIT_DEVTOOLS_SUCCESS")},componentDidMount:function(){this.id=parseInt(1e5*Math.random()),this.msgQuery=[],this.props.project&&0===this.state.webviewID?t.on("APPSERVICE_INIT",this._didMount):this._didMount()},componentWillUnmount:function(){var e=this.state.webviewID;this.initDevtools=!1,t.removeListener("CLEAR_WEBVIEW_DATA",this._clearWebviewData),t.removeListener("APPSERVICE_INIT",this._didMount),t.removeListener("SET_WEBVIEW_ACTION_"+e,this._setWebviewActions),t.removeListener("GET_JSSDK_RES_"+e,this._getJSSDKRes),t.removeListener("SET_INTERFACE_RES_"+e,this._setInterfaceRes),t.removeListener("SET_WEBVIEW_INFO",this._setWebviewInfo),t.removeListener("STOP_PULL_DOWN_REFRESH",this._onStopPullDownRefresh),i.removeListener("INIT_DEVTOOLS_SUCCESS"+this.state.webviewID,this._successDevtools),this.props.project&&t.removeListener("TOUCH_SET_SUC_"+e,this._touchSetSuc),chrome.runtime.onConnect.removeListener(this._initport),this.webview&&this.webview.remove()},render:function(){return e.createElement("div",{className:"simulator-bd-webview",ref:"container"})}});_exports=l}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/webviewcard.js b/app/dist/components/simulator/webviewcard.js
index c14e3a99..16b9aa18 100644
--- a/app/dist/components/simulator/webviewcard.js
+++ b/app/dist/components/simulator/webviewcard.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../lib/react.js'),b=require('../../cssStr/cssStr.js'),c=require('../../stores/webviewStores.js'),d=require('../../actions/webviewActions.js');require('../../actions/leftviewActions.js'),require('../../stores/leftviewStores.js');const e=require('../../common/log/log.js'),f=require('../../common/jssdk/sdkNameTrans.js'),g=require('../../config/errcodeConfig.js'),h=a.createClass({displayName:'WebviewCard',getInitialState:function(){return{showDetails:!1}},cancel:function(){this.close();let j=this.props.cardInfo,k=j.data,l=j.webviewID,m=j.sdkName,n=j.isHavePurview;if('batchViewCard'!==m){let p={errMsg:`${f.getSdkDisplayName(m)}:cancel`};d.sendJSSDKRes(l,m,p,k.ext),d.setSdkLog(l,k,n,p,{type:'CARD_SDK'})}},close:function(j){return this.state.showDetails?void this.setState({showDetails:!1}):void this.props.closeCard()},batchAddCard:function(j){let k=j.currentTarget,l=k.dataset,m=l.index,n=this.props.cardInfo,o=n.data,p=o.args,q=n.webviewID,r=n.sdkName,s=n.isHavePurview,t=p.appId,u=this.props.cardInfo.cardData[m],v=p.card_list[m],w=[];for(let B=0;B{if(!B){let E=JSON.parse(D),F=E.baseresponse;if(0===F.errcode){let G={errMsg:'addCard:ok',card_list:JSON.stringify(w)},H=w.map(I=>{return{cardExt:I.card_ext,cardId:I.card_id,isSuccess:!0}});d.sendJSSDKRes(q,r,G,o.ext),d.setSdkLog(q,o,s,{errMsg:'addCard:ok',cardList:H},A),this.close()}else{let G={errMsg:`addCard:fail; ${F.errmsg}`};d.sendJSSDKRes(q,r,G,o.ext),d.setSdkLog(q,o,s,G,A),this.close()}}else{e.error(`WebviewCards.js batchAddCard request error ${JSON.stringify(B)}`);let E={errMsg:`addCard:fail; ${JSON.stringify(B)}`};d.sendJSSDKRes(q,r,E,o.ext),d.setSdkLog(q,o,s,E,A),this.close()}})},chooseCard:function(j){let k=this.props.cardInfo,l=k.data,m=k.sdkName,n=k.webviewID,o=k.isHavePurview,p=j.currentTarget,q=p.dataset,r=[{card_id:q.cardid,encrypt_code:q.encryptcode}],s={errMsg:'chooseCard:ok',choose_card_info:JSON.stringify(r)};d.sendJSSDKRes(n,m,s,l.ext),d.setSdkLog(n,l,o,s,{type:'CARD_SDK'}),this.close()},formatTime:function(j){let k=new Date(1000*j);return`${k.getFullYear()}.${k.getMonth()+1}.${k.getDate()}`},cardDetail:function(j){let k=j.currentTarget,l=k.dataset,m=l.index;this.setState({showDetails:!0,cardIndex:m})},render:function(){let j=this.props.showCard?{}:b.displayNone,k=c.getOffset();delete k.dpr,j=Object.assign({},j,k);let l=this.props.cardInfo,m=l.sdkName,n=l.cardData,o=a.createElement('div',null);if('batchAddCard'===m){let p={},q=n.map((r,s)=>{if(r.errmsg)return a.createElement('div',{className:'webview-card-add-item',key:s},a.createElement('div',{className:'webview-card-add-item_top'},a.createElement('div',{className:'webview-card-add-item_details'},a.createElement('div',{className:'webview-card-add-item_name'},'cardId: ',r.card_id),a.createElement('div',{className:'webview-card-add-item_info'},a.createElement('span',{className:'webview-card-add-item_intro'},'errmsg: ',r.errmsg)))),a.createElement('div',{className:'webview-card-add-item_bottom webview-card-add-item_bottom_error'},a.createElement('div',{className:'webview-card-add-item_button'},'\u9519\u8BEF\u5361\u5238')));let t=r.card_tp_info,u=t.brand_name,v=t.title,w=t.logo_url,x=r.card_data_info;p.backgroundColor=t.color;let B,y=this.formatTime(t.begin_time),z=this.formatTime(t.end_time),A=0===x.limit_num;return B=A?a.createElement('div',{className:'webview-card-add-item_bottom webview-card-add-item_bottom_disable',style:p},a.createElement('div',{className:'webview-card-add-item_button_error'},t.limit_wording)):a.createElement('div',{'data-index':s,onClick:this.batchAddCard,className:'webview-card-add-item_bottom',style:p},a.createElement('div',{className:'webview-card-add-item_button'},t.accept_wording)),a.createElement('div',{className:'webview-card-add-item',key:s},a.createElement('div',{className:'webview-card-add-item_top'},a.createElement('div',{className:'webview-card-add-item_left'},a.createElement('img',{className:'webview-card-add-item_img',src:w})),a.createElement('div',{className:'webview-card-add-item_details'},a.createElement('div',{className:'webview-card-add-item_name'},u),a.createElement('div',{className:'webview-card-add-item_info'},a.createElement('span',{className:'webview-card-add-item_intro'},v),a.createElement('span',{className:'webview-card-add-item_num'},'X',r.amount)),a.createElement('div',{className:'webview-card-add-item_time'},y,' - ',z))),B)});o=a.createElement('div',{className:'webview-card-add',style:p},a.createElement('div',{className:'webview-card-add-header'},a.createElement('div',{className:'webview-card-add-header_button',onClick:this.cancel},' \u53D6\u6D88 '),a.createElement('div',{className:'webview-card-add-header_title'},' \u6DFB\u52A0\u5361\u5377 ')),a.createElement('div',{className:'webview-card-add-container'},q))}else if('chooseCard'===m){let p=n.available_cards,q=p.map((s,t)=>{return a.createElement('div',{onClick:this.chooseCard,key:t,'data-appid':s.app_id,'data-cardid':s.card_tp_id,'data-encryptcode':s.encrypt_code,className:'webview-card-choose-item'},a.createElement('div',{className:'webview-card-choose_m'},a.createElement('div',{className:'webview-card-choose_left'},a.createElement('img',{className:'webview-card-choose-item_img',src:s.logo_url})),a.createElement('div',{className:'webview-card-choose_details'},a.createElement('div',{className:'webview-card-choose-item_name'},s.sub_title),a.createElement('div',{className:'webview-card-choose-item_info'},s.title))))}),r;r=q.length?a.createElement('div',{className:'webview-card-choose-container',style:{height:k.height-42}},a.createElement('span',{className:'webview-card-choose-mycard'},'\u6211\u7684\u5361\u5377'),a.createElement('div',{className:'webview-card-choose-item'},q)):a.createElement('div',{className:'webview-card-choose-container',style:{height:k.height-42}},a.createElement('span',{className:'webview-card-choose-mycard webview-card-choose-mycardEmpty'},'\u6682\u65E0\u53EF\u6DFB\u52A0\u7684\u5361\u5238')),o=a.createElement('div',{className:'webview-card-choose'},a.createElement('div',{className:'webview-card-choose-header'},a.createElement('div',{className:'webview-card-choose-header_button',onClick:this.cancel},' \u53D6\u6D88 '),a.createElement('div',{className:'webview-card-choose-header_title'},' \u9009\u62E9\u5361\u5377 ')),r)}else if('batchViewCard'===m){let p=l.cardData.retData.card_array,q=l.cardData.errData,r=!!q.length,s=this.state.showDetails;if(1===p.length&&!r||s){let t=s?p[this.state.cardIndex]:p[0],u=t.card_data_info,v=this.formatTime(u.begin_time),w=this.formatTime(u.end_time),x=t.card_tp_info,y=x.brand_name,z=x.title,A=x.logo_url,B=0===x.limit_num,C={};C.backgroundColor=x.color,B?a.createElement('div',{className:'webview-card-add-item_bottom webview-card-add-item_bottom_disable'},a.createElement('div',{className:'webview-card-add-item_button_error'},x.limit_wording)):a.createElement('div',{onClick:this.batchAddCard,className:'webview-card-add-item_bottom'},a.createElement('div',{className:'webview-card-add-item_button'},x.accept_wording));let D=s?'\u8FD4\u56DE':'\u5173\u95ED';o=a.createElement('div',{className:'webview-card-open',style:C},a.createElement('div',{className:'webview-card-open-header'},a.createElement('div',{className:'webview-card-open-header_button',onClick:this.cancel},' ',D,' ')),a.createElement('div',{className:'webview-card-open-container'},a.createElement('div',{className:'webview-card-open_top'},a.createElement('img',{className:'webview-card-open-item_img',src:A})),a.createElement('div',{className:'webview-card-open_middle'},a.createElement('div',{className:'webview-card-open-name'},y),a.createElement('div',{className:'webview-card-open-intro'},z),a.createElement('div',{className:'webview-card-open-item_button',style:C},a.createElement('div',{className:'webview-card-open_buttom_wording'},'\u7ACB\u5373\u4F7F\u7528')),a.createElement('div',{className:'webview-card-open-time'},'\u6709\u6548\u671F: ',v,'-',w)),a.createElement('div',{className:'webview-card-open_bottom'},a.createElement('div',{className:'webview-card-open_detail'},'\u5151\u6362\u5377\u8BE6\u60C5'),a.createElement('div',{className:'webview-card-open_detail'},'\u516C\u4F17\u53F7'),a.createElement('div',{className:'webview-card-open_detail'},'\u5728\u7EBF\u5151\u6362'))))}else{let t=p.map((v,w)=>{let x=v.card_tp_info;return a.createElement('div',{onClick:this.cardDetail,key:w,'data-index':w,className:'webview-card-choose-item'},a.createElement('div',{className:'webview-card-choose_m'},a.createElement('div',{className:'webview-card-choose_left'},a.createElement('img',{className:'webview-card-choose-item_img',src:x.logo_url})),a.createElement('div',{className:'webview-card-choose_details'},a.createElement('div',{className:'webview-card-choose-item_name'},x.brand_name),a.createElement('div',{className:'webview-card-choose-item_info'},x.title))))}),u=q.map((v,w)=>{let x='INVALID_CODE'===g[v.errcode]?'\u9519\u8BEF\u5361\u5238 ID':'\u9519\u8BEF\u5361\u5377 code';return a.createElement('div',{key:w,className:'webview-card-choose-item'},a.createElement('div',{className:'webview-card-choose_mErr'},a.createElement('div',{className:'webview-card-choose_details'},a.createElement('div',{className:'webview-card-choose-item_error'},x),a.createElement('div',{className:'webview-card-choose-item_error'},'cardId: ',v.card_id),a.createElement('div',{className:'webview-card-choose-item_error'},'code: ',v.code))))});o=a.createElement('div',{className:'webview-card-choose'},a.createElement('div',{className:'webview-card-choose-header'},a.createElement('div',{className:'webview-card-choose-header_button',onClick:this.cancel},' \u5173\u95ED '),a.createElement('div',{className:'webview-card-choose-header_title'},' \u5361\u5238\u5217\u8868 ')),a.createElement('div',{className:'webview-card-choose-container',style:{height:k.height-42}},a.createElement('div',{className:'webview-card-choose-item'},t,u)))}}return a.createElement('div',{className:'webview-card',style:j},o)}});_exports=h}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var e=require("../../lib/react.js"),a=require("../../cssStr/cssStr.js"),t=require("../../stores/webviewStores.js"),r=require("../../actions/webviewActions.js"),c=(require("../../actions/leftviewActions.js"),require("../../stores/leftviewStores.js"),require("../../common/log/log.js")),i=require("../../common/jssdk/sdkNameTrans.js"),d=require("../../config/errcodeConfig.js"),s="https://mp.weixin.qq.com/debug/cgi-bin/webdebugger/acceptcarditem",m=e.createClass({displayName:"WebviewCard",getInitialState:function(){return{showDetails:!1}},cancel:function(){this.close();var e=this.props.cardInfo,a=e.data,t=e.webviewID,c=e.sdkName,d=e.isHavePurview;if("batchViewCard"!==c){var s={errMsg:i.getSdkDisplayName(c)+":cancel"},m={type:"CARD_SDK"};r.sendJSSDKRes(t,c,s,a.ext),r.setSdkLog(t,a,d,s,m)}},close:function(e){return this.state.showDetails?void this.setState({showDetails:!1}):void this.props.closeCard()},batchAddCard:function(e){for(var a=this,t=e.currentTarget,i=t.dataset,d=i.index,m=this.props.cardInfo,o=m.data,l=o.args,n=m.webviewID,v=m.sdkName,w=m.isHavePurview,b=l.appId,_=this.props.cardInfo.cardData[d],h=l.card_list[d],N=[],E=0;E<_.amount;E++)N.push({card_id:h.card_id,card_ext:h.card_ext,is_succ:1});var p=require("../../common/request/request.js"),u={appid:b,acceptitem_list:N,js_checinfo_url:o.ext.url},g={url:s,body:JSON.stringify(u),method:"post",needToken:!0},f={type:"CARD_SDK"};p(g,function(e,t,i){if(e){c.error("WebviewCards.js batchAddCard request error "+JSON.stringify(e));var d={errMsg:"addCard:fail; "+JSON.stringify(e)};r.sendJSSDKRes(n,v,d,o.ext),r.setSdkLog(n,o,w,d,f),a.close()}else{var s=JSON.parse(i),m=s.baseresponse;if(0===m.errcode){var l={errMsg:"addCard:ok",card_list:JSON.stringify(N)},b=N.map(function(e){return{cardExt:e.card_ext,cardId:e.card_id,isSuccess:!0}}),_={errMsg:"addCard:ok",cardList:b};r.sendJSSDKRes(n,v,l,o.ext),r.setSdkLog(n,o,w,_,f),a.close()}else{var h={errMsg:"addCard:fail; "+m.errmsg};r.sendJSSDKRes(n,v,h,o.ext),r.setSdkLog(n,o,w,h,f),a.close()}}})},chooseCard:function(e){var a=this.props.cardInfo,t=a.data,c=a.sdkName,i=a.webviewID,d=a.isHavePurview,s=e.currentTarget,m=s.dataset,o={type:"CARD_SDK"},l=[{card_id:m.cardid,encrypt_code:m.encryptcode}],n={errMsg:"chooseCard:ok",choose_card_info:JSON.stringify(l)};r.sendJSSDKRes(i,c,n,t.ext),r.setSdkLog(i,t,d,n,o),this.close()},formatTime:function(e){var a=new Date(1e3*e);return a.getFullYear()+"."+(a.getMonth()+1)+"."+a.getDate()},cardDetail:function(e){var a=e.currentTarget,t=a.dataset,r=t.index;this.setState({showDetails:!0,cardIndex:r})},render:function(){var r=this,c=this.props.showCard?{}:a.displayNone,i=t.getOffset();delete i.dpr,c=Object.assign({},c,i);var s=this.props.cardInfo,m=s.sdkName,o=s.cardData,l=e.createElement("div",null);if("batchAddCard"===m){var n={},v=o.map(function(a,t){if(a.errmsg)return e.createElement("div",{className:"webview-card-add-item",key:t},e.createElement("div",{className:"webview-card-add-item_top"},e.createElement("div",{className:"webview-card-add-item_details"},e.createElement("div",{className:"webview-card-add-item_name"},"cardId: ",a.card_id),e.createElement("div",{className:"webview-card-add-item_info"},e.createElement("span",{className:"webview-card-add-item_intro"},"errmsg: ",a.errmsg)))),e.createElement("div",{className:"webview-card-add-item_bottom webview-card-add-item_bottom_error"},e.createElement("div",{className:"webview-card-add-item_button"},"错误卡券")));var c=a.card_tp_info,i=c.brand_name,d=c.title,s=c.logo_url,m=a.card_data_info;n.backgroundColor=c.color;var o=r.formatTime(c.begin_time),l=r.formatTime(c.end_time),v=0===m.limit_num,w=void 0;return w=v?e.createElement("div",{className:"webview-card-add-item_bottom webview-card-add-item_bottom_disable",style:n},e.createElement("div",{className:"webview-card-add-item_button_error"},c.limit_wording)):e.createElement("div",{"data-index":t,onClick:r.batchAddCard,className:"webview-card-add-item_bottom",style:n},e.createElement("div",{className:"webview-card-add-item_button"},c.accept_wording)),e.createElement("div",{className:"webview-card-add-item",key:t},e.createElement("div",{className:"webview-card-add-item_top"},e.createElement("div",{className:"webview-card-add-item_left"},e.createElement("img",{className:"webview-card-add-item_img",src:s})),e.createElement("div",{className:"webview-card-add-item_details"},e.createElement("div",{className:"webview-card-add-item_name"},i),e.createElement("div",{className:"webview-card-add-item_info"},e.createElement("span",{className:"webview-card-add-item_intro"},d),e.createElement("span",{className:"webview-card-add-item_num"},"X",a.amount)),e.createElement("div",{className:"webview-card-add-item_time"},o," - ",l))),w)});l=e.createElement("div",{className:"webview-card-add",style:n},e.createElement("div",{className:"webview-card-add-header"},e.createElement("div",{className:"webview-card-add-header_button",onClick:this.cancel}," 取消 "),e.createElement("div",{className:"webview-card-add-header_title"}," 添加卡卷 ")),e.createElement("div",{className:"webview-card-add-container"},v))}else if("chooseCard"===m){var w=o.available_cards,b=w.map(function(a,t){return e.createElement("div",{onClick:r.chooseCard,key:t,"data-appid":a.app_id,"data-cardid":a.card_tp_id,"data-encryptcode":a.encrypt_code,className:"webview-card-choose-item"},e.createElement("div",{className:"webview-card-choose_m"},e.createElement("div",{className:"webview-card-choose_left"},e.createElement("img",{className:"webview-card-choose-item_img",src:a.logo_url})),e.createElement("div",{className:"webview-card-choose_details"},e.createElement("div",{className:"webview-card-choose-item_name"},a.sub_title),e.createElement("div",{className:"webview-card-choose-item_info"},a.title))))}),_=void 0;_=b.length?e.createElement("div",{className:"webview-card-choose-container",style:{height:i.height-42}},e.createElement("span",{className:"webview-card-choose-mycard"},"我的卡卷"),e.createElement("div",{className:"webview-card-choose-item"},b)):e.createElement("div",{className:"webview-card-choose-container",style:{height:i.height-42}},e.createElement("span",{className:"webview-card-choose-mycard webview-card-choose-mycardEmpty"},"暂无可添加的卡券")),l=e.createElement("div",{className:"webview-card-choose"},e.createElement("div",{className:"webview-card-choose-header"},e.createElement("div",{className:"webview-card-choose-header_button",onClick:this.cancel}," 取消 "),e.createElement("div",{className:"webview-card-choose-header_title"}," 选择卡卷 ")),_)}else if("batchViewCard"===m){var h=s.cardData.retData.card_array,N=s.cardData.errData,E=!!N.length,p=this.state.showDetails;if(1===h.length&&!E||p){var u=p?h[this.state.cardIndex]:h[0],g=u.card_data_info,f=this.formatTime(g.begin_time),y=this.formatTime(g.end_time),C=u.card_tp_info,D=C.brand_name,S=C.title,k=C.logo_url,x=0===C.limit_num,I=void 0,q={};q.backgroundColor=C.color,I=x?e.createElement("div",{className:"webview-card-add-item_bottom webview-card-add-item_bottom_disable"},e.createElement("div",{className:"webview-card-add-item_button_error"},C.limit_wording)):e.createElement("div",{onClick:this.batchAddCard,className:"webview-card-add-item_bottom"},e.createElement("div",{className:"webview-card-add-item_button"},C.accept_wording));var j=p?"返回":"关闭";l=e.createElement("div",{className:"webview-card-open",style:q},e.createElement("div",{className:"webview-card-open-header"},e.createElement("div",{className:"webview-card-open-header_button",onClick:this.cancel}," ",j," ")),e.createElement("div",{className:"webview-card-open-container"},e.createElement("div",{className:"webview-card-open_top"},e.createElement("img",{className:"webview-card-open-item_img",src:k})),e.createElement("div",{className:"webview-card-open_middle"},e.createElement("div",{className:"webview-card-open-name"},D),e.createElement("div",{className:"webview-card-open-intro"},S),e.createElement("div",{className:"webview-card-open-item_button",style:q},e.createElement("div",{className:"webview-card-open_buttom_wording"},"立即使用")),e.createElement("div",{className:"webview-card-open-time"},"有效期: ",f,"-",y)),e.createElement("div",{className:"webview-card-open_bottom"},e.createElement("div",{className:"webview-card-open_detail"},"兑换卷详情"),e.createElement("div",{className:"webview-card-open_detail"},"公众号"),e.createElement("div",{className:"webview-card-open_detail"},"在线兑换"))))}else{var A=h.map(function(a,t){var c=a.card_tp_info;return e.createElement("div",{onClick:r.cardDetail,key:t,"data-index":t,className:"webview-card-choose-item"},e.createElement("div",{className:"webview-card-choose_m"},e.createElement("div",{className:"webview-card-choose_left"},e.createElement("img",{className:"webview-card-choose-item_img",src:c.logo_url})),e.createElement("div",{className:"webview-card-choose_details"},e.createElement("div",{className:"webview-card-choose-item_name"},c.brand_name),e.createElement("div",{className:"webview-card-choose-item_info"},c.title))))}),J=N.map(function(a,t){var r="INVALID_CODE"===d[a.errcode]?"错误卡券 ID":"错误卡卷 code";return e.createElement("div",{key:t,className:"webview-card-choose-item"},e.createElement("div",{className:"webview-card-choose_mErr"},e.createElement("div",{className:"webview-card-choose_details"},e.createElement("div",{className:"webview-card-choose-item_error"},r),e.createElement("div",{className:"webview-card-choose-item_error"},"cardId: ",a.card_id),e.createElement("div",{className:"webview-card-choose-item_error"},"code: ",a.code))))});l=e.createElement("div",{className:"webview-card-choose"},e.createElement("div",{className:"webview-card-choose-header"},e.createElement("div",{className:"webview-card-choose-header_button",onClick:this.cancel}," 关闭 "),e.createElement("div",{className:"webview-card-choose-header_title"}," 卡券列表 ")),e.createElement("div",{className:"webview-card-choose-container",style:{height:i.height-42}},e.createElement("div",{className:"webview-card-choose-item"},A,J)))}}return e.createElement("div",{className:"webview-card",style:c},l)}});_exports=m}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/webviewfooter.js b/app/dist/components/simulator/webviewfooter.js
index de7b8e67..1082e3ae 100644
--- a/app/dist/components/simulator/webviewfooter.js
+++ b/app/dist/components/simulator/webviewfooter.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../lib/react.js'),b=require('../../cssStr/cssStr.js'),c=a.createClass({displayName:'WebviewFooter',getInitialState:function(){return{webviewID:parseInt(this.props.webviewID)}},handleShareClick:function(){this.props.getSimulatorActions('S_POSTMSG_TO_AS',null,{eventName:'onShareAppMessage',data:{data:'{}'},webviewID:this.state.webviewID}),this.props.showFooter(!1)},handleOnClick:function(d){let e=d.currentTarget,f=e.dataset,g=f.type;if('share'===g){let h=f.name;this.props.getSimulatorActions('S_SET_ACTION',this.state.webviewID,{act:'sendMsg',sdkName:h,res:{}})}else'reload'===g?this.props.getSimulatorActions('S_SET_ACTION',this.state.webviewID,{act:'reLoad'}):'open'===g&&this.props.getSimulatorActions('S_SET_ACTION',this.state.webviewID,{act:'open'});this.props.showFooter(!1)},render:function(){let d=this.props.show?{}:b.displayNone,e=!!this.props.project,{shareBtnShow:f}=this.props;return a.createElement('div',{style:d,className:'simulator-actionsheet-wrapper'},a.createElement('div',{className:'simulator-actionsheet-mask'}),a.createElement('div',{className:'simulator-actionsheet'},a.createElement('div',{style:e?{}:b.displayNone},a.createElement('div',{className:'wx-action-sheet-item',onClick:this.handleShareClick,style:f?{}:b.displayNone},'\u5206\u4EAB')),a.createElement('div',{className:'simulator-actionsheet-bd',style:e?b.displayNone:{}},a.createElement('a',{onClick:this.handleOnClick,'data-type':'share','data-name':'menu:share:appmessage',href:'javascript:;',className:'simulator-actionsheet-menu'},a.createElement('i',{className:'simulator-actionsheet-menu-icon simulator-actionsheet-menu-icon-share2friend'}),a.createElement('label',{className:'simulator-actionsheet-menu-label'},'\u53D1\u9001\u7ED9\u670B\u53CB')),a.createElement('a',{onClick:this.handleOnClick,'data-type':'share','data-name':'menu:share:timeline',href:'javascript:;',className:'simulator-actionsheet-menu'},a.createElement('i',{className:'simulator-actionsheet-menu-icon simulator-actionsheet-menu-icon-share2moment'}),a.createElement('label',{className:'simulator-actionsheet-menu-label'},'\u5206\u4EAB\u5230\u670B\u53CB\u5708')),a.createElement('a',{onClick:this.handleOnClick,'data-type':'open',href:'javascript:;',className:'simulator-actionsheet-menu'},a.createElement('i',{className:'simulator-actionsheet-menu-icon simulator-actionsheet-menu-icon-safari'}),a.createElement('label',{className:'simulator-actionsheet-menu-label'},'\u5728\u6D4F\u89C8\u5668\u6253\u5F00')),a.createElement('a',{onClick:this.handleOnClick,'data-type':'reload',href:'javascript:;',className:'simulator-actionsheet-menu'},a.createElement('i',{className:'simulator-actionsheet-menu-icon simulator-actionsheet-menu-icon-refresh'}),a.createElement('label',{className:'simulator-actionsheet-menu-label'},'\u5237\u65B0'))),a.createElement('div',{className:'simulator-actionsheet-bd',style:e?b.displayNone:{}},a.createElement('a',{onClick:this.handleOnClick,'data-type':'share','data-name':'menu:share:appmessage',href:'javascript:;',className:'simulator-actionsheet-menu'},a.createElement('i',{className:'simulator-actionsheet-menu-icon simulator-actionsheet-menu-icon-share2friend'}),a.createElement('label',{className:'simulator-actionsheet-menu-label'},'\u53D1\u9001\u7ED9\u670B\u53CB')),a.createElement('a',{onClick:this.handleOnClick,'data-type':'share','data-name':'menu:share:timeline',href:'javascript:;',className:'simulator-actionsheet-menu'},a.createElement('i',{className:'simulator-actionsheet-menu-icon simulator-actionsheet-menu-icon-share2moment'}),a.createElement('label',{className:'simulator-actionsheet-menu-label'},'\u5206\u4EAB\u5230\u670B\u53CB\u5708')),a.createElement('a',{onClick:this.handleOnClick,'data-type':'open',href:'javascript:;',className:'simulator-actionsheet-menu'},a.createElement('i',{className:'simulator-actionsheet-menu-icon simulator-actionsheet-menu-icon-safari'}),a.createElement('label',{className:'simulator-actionsheet-menu-label'},'\u5728\u6D4F\u89C8\u5668\u6253\u5F00')),a.createElement('a',{onClick:this.handleOnClick,'data-type':'reload',href:'javascript:;',className:'simulator-actionsheet-menu'},a.createElement('i',{className:'simulator-actionsheet-menu-icon simulator-actionsheet-menu-icon-refresh'}),a.createElement('label',{className:'simulator-actionsheet-menu-label'},'\u5237\u65B0'))),a.createElement('div',{onClick:this.handleOnClick,'data-type':'cancel',className:'simulator-actionsheet-ft'},a.createElement('a',{href:'javascript:;'},e&&!f?'\u5F53\u524D\u9875\u9762\u672A\u8BBE\u7F6E\u5206\u4EAB':'\u53D6\u6D88'))))}});_exports=c}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var e=require("../../lib/react.js"),t=require("../../cssStr/cssStr.js"),a=e.createClass({displayName:"WebviewFooter",getInitialState:function(){return{webviewID:parseInt(this.props.webviewID)}},handleMaskClick:function(){this.props.showFooter(!1)},handleShareClick:function(){this.props.getSimulatorActions("S_POSTMSG_TO_AS",null,{eventName:"onShareAppMessage",data:{mode:this.props.shareWithTicket?"withShareTicket":"common"},webviewID:this.state.webviewID}),this.props.showFooter(!1)},handleOnClick:function(e){var t=e.currentTarget,a=t.dataset,s=a.type;if("share"===s){var i=a.name;this.props.getSimulatorActions("S_SET_ACTION",this.state.webviewID,{act:"sendMsg",sdkName:i,res:{}})}else"reload"===s?this.props.getSimulatorActions("S_SET_ACTION",this.state.webviewID,{act:"reLoad"}):"open"===s&&this.props.getSimulatorActions("S_SET_ACTION",this.state.webviewID,{act:"open"});this.props.showFooter(!1)},render:function(){var a=this.props.show?{}:t.displayNone,s=!!this.props.project,i=this.props.shareBtnShow;return e.createElement("div",{style:a,className:"simulator-actionsheet-wrapper"},e.createElement("div",{className:"simulator-actionsheet-mask",onClick:this.handleMaskClick}),e.createElement("div",{className:"simulator-actionsheet"},e.createElement("div",{style:s?{}:t.displayNone},e.createElement("div",{className:"wx-action-sheet-item",onClick:this.handleShareClick,style:i?{}:t.displayNone},"分享")),e.createElement("div",{className:"simulator-actionsheet-bd",style:s?t.displayNone:{}},e.createElement("a",{onClick:this.handleOnClick,"data-type":"share","data-name":"menu:share:appmessage",href:"javascript:;",className:"simulator-actionsheet-menu"},e.createElement("i",{className:"simulator-actionsheet-menu-icon simulator-actionsheet-menu-icon-share2friend"}),e.createElement("label",{className:"simulator-actionsheet-menu-label"},"发送给朋友")),e.createElement("a",{onClick:this.handleOnClick,"data-type":"share","data-name":"menu:share:timeline",href:"javascript:;",className:"simulator-actionsheet-menu"},e.createElement("i",{className:"simulator-actionsheet-menu-icon simulator-actionsheet-menu-icon-share2moment"}),e.createElement("label",{className:"simulator-actionsheet-menu-label"},"分享到朋友圈")),e.createElement("a",{onClick:this.handleOnClick,"data-type":"open",href:"javascript:;",className:"simulator-actionsheet-menu"},e.createElement("i",{className:"simulator-actionsheet-menu-icon simulator-actionsheet-menu-icon-safari"}),e.createElement("label",{className:"simulator-actionsheet-menu-label"},"在浏览器打开")),e.createElement("a",{onClick:this.handleOnClick,"data-type":"reload",href:"javascript:;",className:"simulator-actionsheet-menu"},e.createElement("i",{className:"simulator-actionsheet-menu-icon simulator-actionsheet-menu-icon-refresh"}),e.createElement("label",{className:"simulator-actionsheet-menu-label"},"刷新"))),e.createElement("div",{onClick:this.handleOnClick,"data-type":"cancel",className:"simulator-actionsheet-ft"},e.createElement("a",{href:"javascript:;"},s&&!i?"当前页面未设置分享":"取消"))))}});_exports=a}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/webviewheader.js b/app/dist/components/simulator/webviewheader.js
index d52f590d..045715cd 100644
--- a/app/dist/components/simulator/webviewheader.js
+++ b/app/dist/components/simulator/webviewheader.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){require('path'),require('fs');const a=require('../../lib/react.js'),b=require('../../cssStr/cssStr.js'),c=require('../../stores/webviewStores.js');require('../../stores/windowStores.js');const d=require('../../actions/leftviewActions.js');require('../../weapp/utils/tools.js'),require('../../common/log/log.js'),require('../../weapp/utils/projectManager.js');const e=a.createClass({displayName:'WebviewHeader',getInitialState:function(){let{project:f,appJSON:g,pageJSON:h}=this.props,i='';return f&&(i=h.navigationBarTitleText||g.window.navigationBarTitleText||''),{title:i,webviewID:parseInt(this.props.webviewID),canGoBack:!1,showRightBtn:!0,showBarLoading:!1}},_upWebviewStatus:function(f,g){0!==f&&(g.canGoBack=!0),Object.assign(this.state,g),this.setState(this.state)},_cleanWebview:function(){this.state.webviewID,this.setState({title:'',showRightBtn:!0,showBarLoading:!1})},_setInterfaceFromPageFrame:function(f){let g=f.name;'setNavigationBarTitle'===g?this.setState({title:f.value}):'showNavigationBarLoading'===g?this.setState({showBarLoading:!0}):'hideNavigationBarLoading'===g&&this.setState({showBarLoading:!1})},_setInterfaceRes:function(f,g,h,i){h&&('hideOptionMenu'===g||'hideMenuItems'===g||'hideAllNonBaseMenuItem'===g?this.setState({showRightBtn:!1}):('showOptionMenu'==g||'showMenuItems'==g||'showAllNonBaseMenuItem'==g)&&this.setState({showRightBtn:!0}))},componentDidMount:function(){let f=this.state.webviewID;c.on(`SET_INTERFACE_RES_${f}`,this._setInterfaceRes),c.on(`UP_WEBVIEW_STATUS_${f}`,this._upWebviewStatus),c.on(`CLEAN_WEBVIEW_${f}`,this._cleanWebview),c.on(`SET_INTERFACT_FROMPAGEFRAME_${f}`,this._setInterfaceFromPageFrame)},componentWillUnmount:function(){let f=this.state.webviewID;c.removeListener(`CLEAN_WEBVIEW_${f}`,this._cleanWebview),c.removeListener(`SET_INTERFACE_RES_${f}`,this._setInterfaceRes),c.removeListener(`UP_WEBVIEW_STATUS_${f}`,this._upWebviewStatus),c.removeListener(`SET_INTERFACT_FROMPAGEFRAME_${f}`,this._setInterfaceFromPageFrame)},handleRightClick:function(){d.clickRightHeader(this.state.webviewID)},goBack:function(f){this.props.goBack()},closeLocation:function(){this.goBack(),this.props.closeLocation()},chooseLocation:function(){this.goBack(),this.props.chooseLocation()},render:function(){let{offset:f,hideBack:g,webviewID:h,project:i,isMap:j,goBack:k,showFooter:l,pageJSON:m,appJSON:n}=this.props;if(this.props.isMap)return a.createElement('div',{style:{width:f.width},className:'simulator-hd'},a.createElement('div',{onClick:this.closeLocation,className:'simulator-hd-back'},a.createElement('span',null,'\u53D6\u6D88')),a.createElement('h3',{className:'simulator-hd-title'},'\u4F4D\u7F6E'),a.createElement('div',{onClick:this.chooseLocation,className:'simulator-hd-option'},'\u53D1\u9001'));let o={width:f.width,backgroundColor:m.navigationBarBackgroundColor||n.window.navigationBarBackgroundColor||'#000000'},p=!g&&this.state.canGoBack?{}:b.visibilityHidden;0==h&&i&&(p=b.visibilityHidden);let q={};this.props.project||!this.state.showRightBtn&&(q=b.visibilityHidden);let r={color:m.navigationBarTextStyle||n.window.navigationBarTextStyle||'white'},s=this.state.title||m.navigationBarTitleText||n.window.navigationBarTitleText,t=this.props.showRecordWording?' \u5F55\u97F3\u4E2D...':'';return a.createElement('div',{style:o,className:'simulator-hd'},a.createElement('div',{onClick:this.goBack,style:p,className:'simulator-hd-back'},a.createElement('i',{className:'simulator-hd-back-icon'}),a.createElement('span',{style:r},'\u8FD4\u56DE')),a.createElement('h3',{className:'simulator-hd-title',style:r},this.state.showBarLoading?a.createElement('i',{className:'simulator-hd-title-loading'}):'',s,t),a.createElement('div',{style:q,onClick:l,className:'simulator-hd-option'},a.createElement('i',{className:'simulator-hd-option-icon'})))}});_exports=e}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var e=(require("path"),require("fs"),require("../../lib/react.js")),t=require("../../cssStr/cssStr.js"),i=require("../../stores/webviewStores.js"),o=(require("../../stores/windowStores.js"),require("../../actions/leftviewActions.js")),a=(require("../../weapp/utils/tools.js"),require("../../common/log/log.js"),require("../../weapp/utils/projectManager.js"),"white"),s="#000000",n=e.createClass({displayName:"WebviewHeader",getInitialState:function(){var e=this.props,t=e.project,i=e.appJSON,o=e.pageJSON,a="";return t&&(a=o.navigationBarTitleText||i.window.navigationBarTitleText||""),{title:a,webviewID:parseInt(this.props.webviewID),canGoBack:!1,showRightBtn:!0,showBarLoading:!1}},_upWebviewStatus:function(e,t){0!==e&&(t.canGoBack=!0),Object.assign(this.state,t),this.setState(this.state)},_cleanWebview:function(){this.state.webviewID;this.setState({title:"",showRightBtn:!0,showBarLoading:!1})},_setInterfaceFromPageFrame:function(e){var t=e.name;"setNavigationBarTitle"===t?this.setState({title:e.value}):"showNavigationBarLoading"===t?this.setState({showBarLoading:!0}):"hideNavigationBarLoading"===t&&this.setState({showBarLoading:!1})},_setInterfaceRes:function(e,t,i,o){i&&("hideOptionMenu"===t||"hideMenuItems"===t||"hideAllNonBaseMenuItem"===t?this.setState({showRightBtn:!1}):"showOptionMenu"!==t&&"showMenuItems"!==t&&"showAllNonBaseMenuItem"!==t||this.setState({showRightBtn:!0}))},showFooter:function(){"function"==typeof this.props.showFooter&&this.props.showFooter()},componentDidMount:function(){var e=this.state.webviewID;i.on("SET_INTERFACE_RES_"+e,this._setInterfaceRes),i.on("UP_WEBVIEW_STATUS_"+e,this._upWebviewStatus),i.on("CLEAN_WEBVIEW_"+e,this._cleanWebview),i.on("SET_INTERFACT_FROMPAGEFRAME_"+e,this._setInterfaceFromPageFrame)},componentWillUnmount:function(){var e=this.state.webviewID;i.removeListener("CLEAN_WEBVIEW_"+e,this._cleanWebview),i.removeListener("SET_INTERFACE_RES_"+e,this._setInterfaceRes),i.removeListener("UP_WEBVIEW_STATUS_"+e,this._upWebviewStatus),i.removeListener("SET_INTERFACT_FROMPAGEFRAME_"+e,this._setInterfaceFromPageFrame)},handleRightClick:function(){o.clickRightHeader(this.state.webviewID)},goBack:function(e){this.props.goBack()},closeLocation:function(){this.goBack(),this.props.closeLocation()},chooseLocation:function(){this.goBack(),this.props.chooseLocation()},render:function(){var i=this.props,o=i.offset,n=i.hideBack,r=i.webviewID,c=i.project,l=(i.isMap,i.goBack,i.showFooter,i.pageJSON),h=i.appJSON;if(this.props.isMap)return e.createElement("div",{style:{width:o.width},className:"simulator-hd"},e.createElement("div",{onClick:this.closeLocation,className:"simulator-hd-back"},e.createElement("span",null,"取消")),e.createElement("h3",{className:"simulator-hd-title"},"位置"),e.createElement("div",{onClick:this.chooseLocation,className:"simulator-hd-option"},"发送"));var w={width:o.width,backgroundColor:l.navigationBarBackgroundColor||h.window.navigationBarBackgroundColor||s},u=!n&&this.state.canGoBack?{}:t.visibilityHidden;0==r&&c&&(u=t.visibilityHidden);var d={};this.props.project||this.state.showRightBtn||(d=t.visibilityHidden);var p={color:l.navigationBarTextStyle||h.window.navigationBarTextStyle||a};"white"!==p.color&&"black"!==p.color&&(p.color="white");var m={borderColor:l.navigationBarTextStyle||h.window.navigationBarTextStyle||a};"white"!==m.color&&"black"!==m.color&&(m.color="white");var v="black"===p.color?"ui-icon-dots-black":"ui-icon-dots-white",g=this.state.title||l.navigationBarTitleText||h.window.navigationBarTitleText,B=this.props.showRecordWording?" 录音中...":"";return e.createElement("div",{style:w,className:"simulator-hd"},e.createElement("div",{onClick:this.goBack,style:u,className:"simulator-hd-back"},e.createElement("i",{className:"simulator-hd-back-icon",style:m}),e.createElement("span",{style:p},"返回")),e.createElement("h3",{className:"simulator-hd-title",style:p},this.state.showBarLoading?e.createElement("i",{className:"simulator-hd-title-loading"}):"",g,B),e.createElement("div",{style:d,onClick:this.showFooter,className:"simulator-hd-option"},e.createElement("i",{className:v})))}});_exports=n}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/webviewloading.js b/app/dist/components/simulator/webviewloading.js
index ac9123a9..f5928a30 100644
--- a/app/dist/components/simulator/webviewloading.js
+++ b/app/dist/components/simulator/webviewloading.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../lib/react.js'),b=require('../../stores/webviewStores.js');var c,d;const e=a.createClass({displayName:'Webviewloading',getInitialState:function(){return{webviewID:parseInt(this.props.webviewID),rate:0}},_upWebviewStatus:function(f,g){let h=g.loading;if('start'===h){clearTimeout(c);let i=parseInt(100*Math.random());this.state.rate=i,this.setState(this.state),d=setTimeout(()=>{50>this.state.rate&&(this.state.rate+=5),75>this.state.rate&&(this.state.rate+=2),90>this.state.rate&&(this.state.rate+=1),this.setState(this.state)},200)}else'stop'===h&&(clearTimeout(c),clearTimeout(d),this.state.rate=100,this.setState(this.state),c=setTimeout(()=>{this.state.rate=0,this.setState(this.state)},200))},_cleanWebview:function(f){this.setState({rate:0})},componentDidMount:function(){let f=this.state.webviewID;b.on(`UP_WEBVIEW_STATUS_${f}`,this._upWebviewStatus),b.on(`CLEAN_WEBVIEW_${f}`,this._cleanWebview)},componentWillUnmount:function(){let f=this.state.webviewID;clearTimeout(c),clearTimeout(d),b.removeListener(`UP_WEBVIEW_STATUS_${f}`,this._upWebviewStatus),b.removeListener(`CLEAN_WEBVIEW_${f}`,this._cleanWebview)},render:function(){let f={width:`${this.state.rate}%`};return 0===this.state.rate&&(f.display='none'),a.createElement('div',{className:'simulator-bd-loading',style:f})}});_exports=e}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var t,e,a=require("../../lib/react.js"),s=require("../../stores/webviewStores.js"),i=a.createClass({displayName:"Webviewloading",getInitialState:function(){return{webviewID:parseInt(this.props.webviewID),rate:0}},_upWebviewStatus:function(a,s){var i=this,r=s.loading;if("start"===r){clearTimeout(t);var n=parseInt(100*Math.random());this.state.rate=n,this.setState(this.state),e=setTimeout(function(){i.state.rate<50&&(i.state.rate+=5),i.state.rate<75&&(i.state.rate+=2),i.state.rate<90&&(i.state.rate+=1),i.setState(i.state)},200)}else"stop"===r&&(clearTimeout(t),clearTimeout(e),this.state.rate=100,this.setState(this.state),t=setTimeout(function(){i.state.rate=0,i.setState(i.state)},200))},_cleanWebview:function(t){this.setState({rate:0})},componentDidMount:function(){var t=this.state.webviewID;s.on("UP_WEBVIEW_STATUS_"+t,this._upWebviewStatus),s.on("CLEAN_WEBVIEW_"+t,this._cleanWebview)},componentWillUnmount:function(){var a=this.state.webviewID;clearTimeout(t),clearTimeout(e),s.removeListener("UP_WEBVIEW_STATUS_"+a,this._upWebviewStatus),s.removeListener("CLEAN_WEBVIEW_"+a,this._cleanWebview)},render:function(){var t={width:this.state.rate+"%"};return 0===this.state.rate&&(t.display="none"),a.createElement("div",{className:"simulator-bd-loading",style:t})}});_exports=i}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/simulator/webviewtab.js b/app/dist/components/simulator/webviewtab.js
index b095ef2c..94ec963e 100644
--- a/app/dist/components/simulator/webviewtab.js
+++ b/app/dist/components/simulator/webviewtab.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../lib/react.js'),b=require('../../cssStr/cssStr.js');require('../../weapp/utils/projectManager.js'),require('../../stores/webviewStores.js'),require('../../config/config.js'),require('../../stores/projectStores.js');const c=require('../../weapp/utils/tools.js'),{default_tabheight:d,default_backgroundColor:e}=require('../../config/weappConfig.js');require('url');const f=a.createClass({displayName:'Tab',getInitialState:function(){let g=c.getBaseURL(this.props.project);return{href:g}},clickTab:function(g){let h=g.currentTarget,i=h.dataset,j=i.index,k=this.props.tabBar,l=k.list||[],m=this.props._openNewWindowWebview,n=`${l[j].pagePath}`;m({url:n})},render:function(){let{tabBar:g,tabPageIndex:h}=this.props,i=g.position||'bottom',j=g.list||[],k={};k.backgroundColor=g.backgroundColor,k.borderColor='white'===g.borderStyle?'white':'black',k.color=g.color;let l=j.map((n,o)=>{let p=o===h&&g.selectedColor?{color:g.selectedColor}:{color:g.color},q=o===h?n.selectedIconPath:n.iconPath,r=q?{}:b.displayNone;return q=q?`${this.state.href}${q}?r=${Math.random()}`:'',a.createElement('a',{className:`tabbar-item ${o===h?'tabbar-item-selected':''}`,href:'javascript:;','data-index':o,onClick:this.clickTab,style:{height:d},key:o},'bottom'===i?a.createElement('img',{className:'tabbar-icon',style:r,src:q}):null,a.createElement('p',{className:'tabbar-label',style:p},n.text,'top'===i?a.createElement('i',{className:'tabbar-label-indicator'}):''))}),m=`tabbar tabbar-${i}`;return a.createElement('div',{className:m,style:k},l)}});_exports=f}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var e=require("../../lib/react.js"),r=require("../../cssStr/cssStr.js"),t=(require("../../weapp/utils/projectManager.js"),require("../../stores/webviewStores.js"),require("../../config/config.js"),require("../../stores/projectStores.js"),require("../../weapp/utils/tools.js")),a=require("../../config/weappConfig.js"),o=a.default_tabheight,s=(a.default_backgroundColor,a.default_tabBarBorderBlackColor),i=a.default_tabBarBorderWhiteColor,l=(require("url"),e.createClass({displayName:"Tab",getInitialState:function(){var e=t.getBaseURL(this.props.project);return{href:e}},clickTab:function(e){var r=e.currentTarget,t=r.dataset,a=t.index,o=this.props.tabBar,s=o.list||[],i=this.props._openNewWindowWebview,l=""+s[a].pagePath;i({url:l})},render:function(){var t=this,a=this.props,l=a.tabBar,c=a.tabPageIndex,n=l.position||"bottom",b=l.list||[],u={};u.backgroundColor=l.backgroundColor,u.borderColor="white"===l.borderStyle?i:s,u.color=l.color;var p=b.map(function(a,s){var i=s===c&&l.selectedColor?{color:l.selectedColor}:{color:l.color},b=s===c?a.selectedIconPath:a.iconPath,u=b?{}:r.displayNone;return b=b?""+t.state.href+b+"?r="+Math.random():"",e.createElement("a",{className:"tabbar-item "+(s===c?"tabbar-item-selected":""),href:"javascript:;","data-index":s,onClick:t.clickTab,style:{height:o},key:s},"bottom"===n?e.createElement("img",{className:"tabbar-icon",style:u,src:b}):null,e.createElement("p",{className:"tabbar-label",style:i},a.text,"top"===n?e.createElement("i",{className:"tabbar-label-indicator"}):""))}),d="tabbar tabbar-"+n;return e.createElement("div",{className:d,style:u},p)}}));_exports=l}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/toast/toast.js b/app/dist/components/toast/toast.js
index 8769d1d1..1cd7cf64 100644
--- a/app/dist/components/toast/toast.js
+++ b/app/dist/components/toast/toast.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../lib/react.js'),b=require('../../cssStr/cssStr.js'),c=require('../../stores/windowStores.js');var d;const e=a.createClass({displayName:'Toast',getInitialState:function(){return{msg:'',show:!1,type:''}},_tipsMsg:function(f){this.setState({msg:f.msg,show:!0,type:f.type||'success'}),d=setTimeout(()=>{this.setState({show:!1})},2000)},componentDidMount:function(){c.on('SHOW_TIPS_MSG',this._tipsMsg)},componentWillUnmount:function(){clearTimeout(d),c.removeListener('SHOW_TIPS_MSG',this._tipsMsg)},render:function(){let f=this.state.show?b.displayBlock:b.displayNone;return a.createElement('div',{className:`toast toast-${this.state.type}`,style:f},a.createElement('i',{className:'icon-info'}),this.state.msg)}});_exports=e}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var t,e=require("../../lib/react.js"),s=require("../../cssStr/cssStr.js"),i=require("../../stores/windowStores.js"),o=e.createClass({displayName:"Toast",getInitialState:function(){return{lazyLoaded:!1,msg:"",show:!1,type:""}},_tipsMsg:function(e){var s=this;this.setState({lazyLoaded:!0,msg:e.msg,show:!0,type:e.type||"success"}),t=setTimeout(function(){s.setState({show:!1})},2e3)},componentDidMount:function(){i.on("SHOW_TIPS_MSG",this._tipsMsg)},componentWillUnmount:function(){clearTimeout(t),i.removeListener("SHOW_TIPS_MSG",this._tipsMsg)},render:function(){if(!this.state.lazyLoaded)return null;var t=this.state.show?s.displayBlock:s.displayNone;return e.createElement("div",{className:"toast toast-"+this.state.type,style:t},e.createElement("i",{className:"icon-info"}),this.state.msg)}});_exports=o}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/toolbar/clearbutton.js b/app/dist/components/toolbar/clearbutton.js
index e50a0547..18a7a16c 100644
--- a/app/dist/components/toolbar/clearbutton.js
+++ b/app/dist/components/toolbar/clearbutton.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../lib/react.js'),b=require('../../cssStr/cssStr.js'),c=require('../../actions/webviewActions.js'),d=require('../../stores/windowStores.js'),e=require('../../actions/windowActions.js'),f=a.createClass({displayName:'Clearbutton',getInitialState:function(){return{show:!1,showSuc:''}},handleOnClick:function(g){g.stopPropagation();let h=this.state.show;this.setState({show:!h})},buttonClick:function(g){g.stopPropagation();let h=g.currentTarget,i=h.dataset,j=i.type,k=()=>{this.setState({showSuc:j}),setTimeout(()=>{this.setState({showSuc:''})},500)};'cookies'===j?c.clearWebview({cookies:!0,callBack:k}):'cache'===j?c.clearWebview({appcache:!0,cache:!0,fileSystems:!0,indexedDB:!0,localStorage:!0,webSQL:!0,callBack:k}):'historyUrl'===j&&e.clearAddressHistory({callBack:k})},_bodyClick:function(){this.setState({show:!1})},componentDidMount:function(){d.on('BODY_CLICK',this._bodyClick)},componentWillUnmount:function(){d.removeListener('BODY_CLICK',this._bodyClick)},render:function(){let g=this.state.show?{}:b.displayNone,h=this.state.show?'toolbar-clear-icon-up':'toolbar-clear-icon-down',i=this.state.showSuc;return a.createElement('div',{className:'toolbar-clear',onClick:this.handleOnClick},a.createElement('p',null,'\u6E05\u7406\u7F13\u5B58 ',a.createElement('i',{className:h})),a.createElement('div',{onClick:this.handleOnClick,className:'toolbar-clear-dropdown',style:g},a.createElement('div',{onClick:this.buttonClick,'data-type':'cookies',className:'toolbar-clear-dropdown-item'},a.createElement('p',null,'\u6E05\u9664\u5F00\u53D1\u8005\u5DE5\u5177cookie'),a.createElement('span',{style:'cookies'===i?{}:b.displayNone},'\u5DF2\u6E05\u9664')),a.createElement('div',{onClick:this.buttonClick,'data-type':'cache',className:'toolbar-clear-dropdown-item'},a.createElement('p',null,'\u6E05\u9664\u5F00\u53D1\u8005\u5DE5\u5177\u7F13\u5B58'),a.createElement('span',{style:'cache'===i?{}:b.displayNone},'\u5DF2\u6E05\u9664')),a.createElement('div',{onClick:this.buttonClick,'data-type':'historyUrl',className:'toolbar-clear-dropdown-item'},a.createElement('p',null,'\u6E05\u9664\u5730\u5740\u680F\u5386\u53F2\u8BB0\u5F55'),a.createElement('span',{style:'historyUrl'===i?{}:b.displayNone},'\u5DF2\u6E05\u9664'))))}});_exports=f}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var e=require("../../lib/react.js"),t=require("../../cssStr/cssStr.js"),o=require("../../actions/webviewActions.js"),a=require("../../stores/windowStores.js"),s=require("../../actions/windowActions.js"),c=e.createClass({displayName:"Clearbutton",getInitialState:function(){return{show:!1,showSuc:""}},handleOnClick:function(e){e.stopPropagation();var t=this.state.show;this.setState({show:!t})},buttonClick:function(e){var t=this;e.stopPropagation();var a=e.currentTarget,c=a.dataset,i=c.type,n=function(){t.setState({showSuc:i}),setTimeout(function(){t.setState({showSuc:""})},500)};"cookies"===i?o.clearWebview({cookies:!0,callBack:n}):"cache"===i?o.clearWebview({appcache:!0,cache:!0,fileSystems:!0,indexedDB:!0,localStorage:!0,webSQL:!0,callBack:n}):"historyUrl"===i&&s.clearAddressHistory({callBack:n})},_bodyClick:function(){this.setState({show:!1})},componentDidMount:function(){a.on("BODY_CLICK",this._bodyClick)},componentWillUnmount:function(){a.removeListener("BODY_CLICK",this._bodyClick)},render:function(){var o=this.state.show?{}:t.displayNone,a=this.state.show?"toolbar-clear-icon-up":"toolbar-clear-icon-down",s=this.state.showSuc;return e.createElement("div",{className:"toolbar-clear",onClick:this.handleOnClick},e.createElement("p",null,"清理缓存 ",e.createElement("i",{className:a})),e.createElement("div",{onClick:this.handleOnClick,className:"toolbar-clear-dropdown",style:o},e.createElement("div",{onClick:this.buttonClick,"data-type":"cookies",className:"toolbar-clear-dropdown-item"},e.createElement("p",null,"清除开发者工具cookie"),e.createElement("span",{style:"cookies"===s?{}:t.displayNone},"已清除")),e.createElement("div",{onClick:this.buttonClick,"data-type":"cache",className:"toolbar-clear-dropdown-item"},e.createElement("p",null,"清除开发者工具缓存"),e.createElement("span",{style:"cache"===s?{}:t.displayNone},"已清除")),e.createElement("div",{onClick:this.buttonClick,"data-type":"historyUrl",className:"toolbar-clear-dropdown-item"},e.createElement("p",null,"清除地址栏历史记录"),e.createElement("span",{style:"historyUrl"===s?{}:t.displayNone},"已清除"))))}});_exports=c}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/toolbar/toolbar.js b/app/dist/components/toolbar/toolbar.js
index b1a811a5..9943642c 100644
--- a/app/dist/components/toolbar/toolbar.js
+++ b/app/dist/components/toolbar/toolbar.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../lib/react.js'),b=require('./userinfo.js'),c=require('./urlbar.js'),d=require('./clearbutton.js'),e=require('../../stores/windowStores.js'),f=a.createClass({displayName:'Toolbar',getInitialState:function(){let g=e.getUserInfo();return{userInfo:g}},_upDataUserInfo:function(g){this.setState({uesrInfo:g})},componentDidMount:function(){e.on('UPDATA_USER_INFO',this._upDataUserInfo)},componentWillUnmount:function(){e.removeListener('UPDATA_USER_INFO',this._upDataUserInfo)},render:function(){let g=this.props.project;return g?a.createElement('div',{className:'toolbar'},a.createElement(b,{project:this.props.project,userInfo:this.state.userInfo})):a.createElement('div',{className:'toolbar'},a.createElement(b,{userInfo:this.state.userInfo}),a.createElement(c,{project:this.props.project}),a.createElement(d,null))}});_exports=f}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var e=require("../../lib/react.js"),t=require("./userinfo.js"),r=require("./urlbar.js"),o=require("./clearbutton.js"),n=require("../../stores/windowStores.js"),s=e.createClass({displayName:"Toolbar",getInitialState:function(){var e=n.getUserInfo();return{userInfo:e}},_upDataUserInfo:function(e){this.setState({uesrInfo:e})},componentDidMount:function(){n.on("UPDATA_USER_INFO",this._upDataUserInfo)},componentWillUnmount:function(){n.removeListener("UPDATA_USER_INFO",this._upDataUserInfo)},render:function(){var n=this.props.project;return n?e.createElement("div",{className:"toolbar"},e.createElement(t,{project:this.props.project,userInfo:this.state.userInfo})):e.createElement("div",{className:"toolbar"},e.createElement(t,{userInfo:this.state.userInfo}),e.createElement(r,{project:this.props.project}),e.createElement(o,null))}});_exports=s}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/toolbar/urlbar.js b/app/dist/components/toolbar/urlbar.js
index 1e42b621..ff2bd3ca 100644
--- a/app/dist/components/toolbar/urlbar.js
+++ b/app/dist/components/toolbar/urlbar.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../lib/react.js');require('../../cssStr/cssStr.js');const b=require('../../actions/webviewActions.js'),c=require('../../stores/windowStores.js'),d=require('../../actions/windowActions.js'),e=require('./urlcomplete.js');var f;const g=a.createClass({displayName:'Urlbar',getInitialState:function(){return{webviewID:0,url:'',autoIndex:0,autocomplete:[]}},loadUrl:function(h){h=h||this.getCurrentUrl(),h=h.trim();let i=this.state.webviewID;'about:blank'===h?b.setWebviewAction(i,{act:'reLoad'}):(d.setAutoComplete(h),b.getA8keyWebview(i,{url:h,isSync:!0,from:'urlbar'})),this.setState({autocomplete:[]})},getAutoComplete:function(h){let i=h.trim(),j=/^http:\/\//.test(i),k=/^https:\/\//.test(i),l=[],m=c.getAutoComplete();return m.forEach(n=>{4=k?0:k;else{let m=this.state.autocomplete.length;k++,k=k>=m?m-1:k}l=0<=k?this.state.autocomplete[k]:l,this.setState({autoIndex:k,url:l},()=>{setTimeout(()=>{i.selectionStart=i.value.length},17)})}else 8===j&&(i.dataset.changeFrom='backspace')},handleChange:function(h){let i=h.target,j=i.value,k='backspace'===i.dataset.changeFrom,l=this.getAutoComplete(j);if(this.state.webviewID,k)return i.dataset.changeFrom='',void this.setState({url:j,autocomplete:l});let m=l[0]&&!k?l[0]:j;this.setState({url:m,autocomplete:l},()=>{let n=m.indexOf(j)+j.length;n===m.length||(this.refs.urlinput.selectionStart=n,this.refs.urlinput.selectionEnd=m.length)})},handleBlur:function(){f=setTimeout(()=>{this.setState({autocomplete:[]})},100)},handleFocus:function(){let h=this.getCurrentUrl(),i=this.getAutoComplete(h);this.setState({autocomplete:i})},handleOnClick:function(){this.loadUrl()},getCurrentUrl:function(){return this.state.url},autoClick:function(h){clearTimeout(f);let i=h.currentTarget,j=i.dataset,k=j.index,l=this.state.autocomplete[k];this.setState({url:l,autocomplete:[]}),this.loadUrl(l)},_changeWebviewID:function(h){this.setState({webviewID:h})},_changeUrl:function(h){0===h.indexOf('chrome-extension:')&&(h='about:blank'),this.setState({url:h})},_focusAddressbar:function(h){this.refs.urlinput.select(),this.refs.urlinput.focus()},componentDidMount:function(){c.on('CHANGE_WEBVIEW_URL',this._changeUrl),c.on('FOCUS_ADDRESSBAR',this._focusAddressbar)},componentWillUnmount:function(){c.removeListener('CHANGE_WEBVIEW_URL',this._changeUrl),c.removeListener('FOCUS_ADDRESSBAR',this._focusAddressbar)},render:function(){this.state.webviewID;let h=this.state.url;return a.createElement('div',{className:'toolbar-location'},a.createElement('input',{className:'toolbar-location-input',type:'text',ref:'urlinput',onKeyDown:this.handleKeyUp,onBlur:this.handleBlur,onFocus:this.handleFocus,value:h,onChange:this.handleChange}),a.createElement('div',{className:'toolbar-location-refresh'},a.createElement('i',{className:'toolbar-location-refresh-icon'})),a.createElement('div',{className:'toolbar-location-history'},a.createElement('i',{className:'toolbar-location-history-icon'})),a.createElement(e,{autoClick:this.autoClick,autocomplete:this.state.autocomplete,autoIndex:this.state.autoIndex}))}});_exports=g}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var t,e=require("../../lib/react.js"),a=(require("../../cssStr/cssStr.js"),require("../../actions/webviewActions.js")),o=require("../../stores/windowStores.js"),s=require("../../actions/windowActions.js"),n=require("./urlcomplete.js"),i=e.createClass({displayName:"Urlbar",getInitialState:function(){return{webviewID:0,url:"",autoIndex:0,autocomplete:[]}},loadUrl:function(t){t=t||this.getCurrentUrl(),t=t.trim();var e=this.state.webviewID;"about:blank"===t?a.setWebviewAction(e,{act:"reLoad"}):(s.setAutoComplete(t),a.getA8keyWebview(e,{url:t,isSync:!0,from:"urlbar"})),this.setState({autocomplete:[]})},getAutoComplete:function(t){var e=t.trim(),a=/^http:\/\//.test(e),s=/^https:\/\//.test(e),n=a||s,i=[],r=o.getAutoComplete();return r.forEach(function(t){e.length>4&&(n?/^https?:\/\//.test(t)||(t=a?"http://"+t:"https://"+t):t=t.replace(/^https?:\/\//,"")),0===t.indexOf(e)&&i.indexOf(t)===-1&&i.push(t)}),i},handleKeyUp:function(t){var e=t.target,a=t.keyCode;this.state.webviewID;if(13===a)e.selectionStart=e.value.length,this.loadUrl();else if(40===a||38===a){var o=this.state.autoIndex,s=this.getCurrentUrl(),n=38===a;if(n)o--,o=o<=0?0:o;else{var i=this.state.autocomplete.length;o++,o=o>=i?i-1:o}s=o>=0?this.state.autocomplete[o]:s,this.setState({autoIndex:o,url:s},function(){setTimeout(function(){e.selectionStart=e.value.length},17)})}else 8===a&&(e.dataset.changeFrom="backspace")},handleChange:function(t){var e=this,a=t.target,o=a.value,s="backspace"===a.dataset.changeFrom,n=this.getAutoComplete(o);this.state.webviewID;if(s)return a.dataset.changeFrom="",void this.setState({url:o,autocomplete:n});var i=n[0]&&!s?n[0]:o;this.setState({url:i,autocomplete:n},function(){var t=i.indexOf(o)+o.length;t!==i.length&&(e.refs.urlinput.selectionStart=t,e.refs.urlinput.selectionEnd=i.length)})},handleBlur:function(){var e=this;t=setTimeout(function(){e.setState({autocomplete:[]})},100)},handleFocus:function(){var t=this.getCurrentUrl(),e=this.getAutoComplete(t);this.setState({autocomplete:e})},handleOnClick:function(){this.loadUrl()},getCurrentUrl:function(){return this.state.url},autoClick:function(e){clearTimeout(t);var a=e.currentTarget,o=a.dataset,s=o.index,n=this.state.autocomplete[s];this.setState({url:n,autocomplete:[]}),this.loadUrl(n)},_changeWebviewID:function(t){this.setState({webviewID:t})},_changeUrl:function(t){0===t.indexOf("chrome-extension:")&&(t="about:blank"),this.setState({url:t})},_focusAddressbar:function(t){this.refs.urlinput.select(),this.refs.urlinput.focus()},componentDidMount:function(){o.on("CHANGE_WEBVIEW_URL",this._changeUrl),o.on("FOCUS_ADDRESSBAR",this._focusAddressbar)},componentWillUnmount:function(){o.removeListener("CHANGE_WEBVIEW_URL",this._changeUrl),o.removeListener("FOCUS_ADDRESSBAR",this._focusAddressbar)},render:function(){var t=(this.state.webviewID,this.state.url);return e.createElement("div",{className:"toolbar-location"},e.createElement("input",{className:"toolbar-location-input",type:"text",ref:"urlinput",onKeyDown:this.handleKeyUp,onBlur:this.handleBlur,onFocus:this.handleFocus,value:t,onChange:this.handleChange}),e.createElement("div",{className:"toolbar-location-refresh"},e.createElement("i",{className:"toolbar-location-refresh-icon"})),e.createElement("div",{className:"toolbar-location-history"},e.createElement("i",{className:"toolbar-location-history-icon"})),e.createElement(n,{autoClick:this.autoClick,autocomplete:this.state.autocomplete,autoIndex:this.state.autoIndex}))}});_exports=i}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/toolbar/urlcomplete.js b/app/dist/components/toolbar/urlcomplete.js
index 4d6c938f..7def1afa 100644
--- a/app/dist/components/toolbar/urlcomplete.js
+++ b/app/dist/components/toolbar/urlcomplete.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../lib/react.js'),b=require('../../cssStr/cssStr.js'),c=a.createClass({displayName:'Urlcomplete',render:function(){let d=this.props.autocomplete;this.props.autoIndex;let e=this.props.autocomplete.length?{}:b.displayNone,f=d.map((g,h)=>{let i='toolbar-location-recommend-item'+(this.props.autoIndex===h?' toolbar-location-recommend-item-selected':'');return a.createElement('p',{onClick:this.props.autoClick,'data-index':h,key:h,className:i},g)});return a.createElement('div',{className:'toolbar-location-recommend',style:e},f)}});_exports=c}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var e=require("../../lib/react.js"),t=require("../../cssStr/cssStr.js"),o=e.createClass({displayName:"Urlcomplete",render:function(){var o=this,r=this.props.autocomplete,s=(this.props.autoIndex,this.props.autocomplete.length?{}:t.displayNone),a=r.map(function(t,r){var s="toolbar-location-recommend-item"+(o.props.autoIndex===r?" toolbar-location-recommend-item-selected":"");return e.createElement("p",{onClick:o.props.autoClick,"data-index":r,key:r,className:s},t)});return e.createElement("div",{className:"toolbar-location-recommend",style:s},a)}});_exports=o}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/components/toolbar/userinfo.js b/app/dist/components/toolbar/userinfo.js
index b23b7f78..8000d53c 100644
--- a/app/dist/components/toolbar/userinfo.js
+++ b/app/dist/components/toolbar/userinfo.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../../lib/react.js'),b=require('../../cssStr/cssStr.js'),c=require('../../actions/windowActions.js'),d=require('../../stores/windowStores.js'),e=a.createClass({displayName:'Userinfo',getInitialState:function(){return{show:!1}},clearUserInfo:function(){c.clearUserInfo()},showProfile:function(f){let g=this.state.show;this.setState({show:!g}),f.stopPropagation()},_bodyClick:function(){this.setState({show:!1})},componentDidMount:function(){d.on('BODY_CLICK',this._bodyClick)},componentWillUnmount:function(){d.removeListener('BODY_CLICK',this._bodyClick)},render:function(){let f=this.props.userInfo,g=this.props.project,h=this.state.show?{}:b.displayNone;return a.createElement('div',{onClick:this.showProfile,className:g?'toolbar-avatar':'toolbar-avatar-noproject'},a.createElement('img',{src:f.headUrl}),a.createElement('div',{className:'toolbar-profile',style:h},a.createElement('img',{className:'toolbar-profile-avatar',src:f.headUrl}),a.createElement('h3',{className:'toolbar-profile-nickname'},f.nickName),a.createElement('a',{href:'javascript:;',onClick:this.clearUserInfo,className:'toolbar-profile-button'},'\u9000\u51FA')))}});_exports=e}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var e=require("../../lib/react.js"),t=require("../../cssStr/cssStr.js"),o=require("../../actions/windowActions.js"),r=require("../../stores/windowStores.js"),s=e.createClass({displayName:"Userinfo",getInitialState:function(){return{show:!1}},clearUserInfo:function(){o.clearUserInfo()},showProfile:function(e){var t=this.state.show;this.setState({show:!t}),e.stopPropagation()},_bodyClick:function(){this.setState({show:!1})},componentDidMount:function(){r.on("BODY_CLICK",this._bodyClick)},componentWillUnmount:function(){r.removeListener("BODY_CLICK",this._bodyClick)},render:function(){var o=this.props.userInfo,r=this.props.project,s=this.state.show?{}:t.displayNone;return e.createElement("div",{onClick:this.showProfile,className:r?"toolbar-avatar":"toolbar-avatar-noproject"},e.createElement("img",{src:o.headUrl}),e.createElement("div",{className:"toolbar-profile",style:s},e.createElement("img",{className:"toolbar-profile-avatar",src:o.headUrl}),e.createElement("h3",{className:"toolbar-profile-nickname"},o.nickName),e.createElement("a",{href:"javascript:;",onClick:this.clearUserInfo,className:"toolbar-profile-button"},"退出")))}});_exports=s}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/config/DeviceModules.js b/app/dist/config/DeviceModules.js
index 014c3af5..8e6c452b 100644
--- a/app/dist/config/DeviceModules.js
+++ b/app/dist/config/DeviceModules.js
@@ -1 +1 @@
-'use strict';let version=global.appVersion;module.exports={'iPhone 4':{title:'iPhone 4',os:'iOS','user-agent':`Mozilla/5.0 (iPhone; CPU iPhone OS 8_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 wechatdevtools/${version} MicroMessenger/{{version}} Language/zh_CN webview/{{webviewID}}`,screen:{horizontal:{width:480,height:320},'device-pixel-ratio':1,vertical:{width:320,height:480}}},'iPhone 4s':{title:'iPhone 4s',os:'iOS','user-agent':`Mozilla/5.0 (iPhone; CPU iPhone OS 8_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 wechatdevtools/${version} MicroMessenger/{{version}} Language/zh_CN webview/{{webviewID}}`,screen:{horizontal:{width:480,height:320},'device-pixel-ratio':2,vertical:{width:320,height:480}}},'iPhone 5':{title:'iPhone 5',os:'iOS','user-agent':`Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 wechatdevtools/${version} MicroMessenger/{{version}} Language/zh_CN webview/{{webviewID}}`,screen:{horizontal:{width:568,height:320},'device-pixel-ratio':2,vertical:{width:320,height:568}}},'iPhone 6':{title:'iPhone 6',os:'iOS','user-agent':`Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 wechatdevtools/${version} MicroMessenger/{{version}} Language/zh_CN webview/{{webviewID}}`,screen:{horizontal:{width:375,height:667},'device-pixel-ratio':2,vertical:{width:375,height:667}}},'iPhone 6 Plus':{title:'iPhone 6 Plus',os:'iOS','user-agent':`Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 wechatdevtools/${version} MicroMessenger/{{version}} Language/zh_CN webview/{{webviewID}}`,screen:{horizontal:{width:414,height:736},'device-pixel-ratio':3,vertical:{width:414,height:736}}},'Galaxy S5':{title:'Galaxy S5',os:'Android','user-agent':`Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.23 Mobile Safari/537.36 wechatdevtools/${version} MicroMessenger/{{version}} webview/{{webviewID}}`,screen:{horizontal:{width:640,height:384},'device-pixel-ratio':3,vertical:{width:384,height:640}}},'Galaxy Note II':{title:'Galaxy Note II',os:'Android','user-agent':`Mozilla/5.0 (Linux; U; Android 4.1; en-us; GT-N7100 Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 wechatdevtools/${version} MicroMessenger/{{version}} webview/{{webviewID}}`,screen:{horizontal:{width:640,height:360},'device-pixel-ratio':2,vertical:{width:360,height:640}}},'Nexus 4':{title:'Nexus 4',os:'Android','user-agent':`Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.23 Mobile Safari/537.36 wechatdevtools/${version} MicroMessenger/{{version}} webview/{{webviewID}}`,screen:{horizontal:{width:640,height:384},'device-pixel-ratio':2,vertical:{width:384,height:640}}},'Nexus 5':{title:'Nexus 5',os:'Android','user-agent':`Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.23 Mobile Safari/537.36 wechatdevtools/${version} MicroMessenger/{{version}} webview/{{webviewID}}`,screen:{horizontal:{width:360,height:640},'device-pixel-ratio':3,vertical:{width:360,height:640}}},'Nexus 5x':{title:'Nexus 5x',os:'Android','user-agent':`Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.23 Mobile Safari/537.36 wechatdevtools/${version} MicroMessenger/{{version}} webview/{{webviewID}}`,screen:{horizontal:{width:731,height:411},'device-pixel-ratio':2.625,vertical:{width:411,height:731}}},'Nexus 6':{title:'Nexus 6',os:'Android','user-agent':`Mozilla/5.0 (Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.23 Mobile Safari/537.36 wechatdevtools/${version} MicroMessenger/{{version}} webview/{{webviewID}}`,screen:{horizontal:{width:732,height:412},'device-pixel-ratio':3.5,vertical:{width:412,height:732}}}};
\ No newline at end of file
+"use strict";var version=global.appVersion;module.exports={"iPhone 4":{title:"iPhone 4",os:"iOS","user-agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 8_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 wechatdevtools/"+version+" MicroMessenger/{{version}} Language/zh_CN webview/{{webviewID}}",screen:{horizontal:{width:480,height:320},"device-pixel-ratio":1,vertical:{width:320,height:480}}},"iPhone 4s":{title:"iPhone 4s",os:"iOS","user-agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 8_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 wechatdevtools/"+version+" MicroMessenger/{{version}} Language/zh_CN webview/{{webviewID}}",screen:{horizontal:{width:480,height:320},"device-pixel-ratio":2,vertical:{width:320,height:480}}},"iPhone 5":{title:"iPhone 5",os:"iOS","user-agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 wechatdevtools/"+version+" MicroMessenger/{{version}} Language/zh_CN webview/{{webviewID}}",screen:{horizontal:{width:568,height:320},"device-pixel-ratio":2,vertical:{width:320,height:568}}},"iPhone 6":{title:"iPhone 6",os:"iOS","user-agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 wechatdevtools/"+version+" MicroMessenger/{{version}} Language/zh_CN webview/{{webviewID}}",screen:{horizontal:{width:375,height:667},"device-pixel-ratio":2,vertical:{width:375,height:667}}},"iPhone 6 Plus":{title:"iPhone 6 Plus",os:"iOS","user-agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 wechatdevtools/"+version+" MicroMessenger/{{version}} Language/zh_CN webview/{{webviewID}}",screen:{horizontal:{width:414,height:736},"device-pixel-ratio":3,vertical:{width:414,height:736}}},"iPhone 7":{title:"iPhone 7",os:"iOS","user-agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Mobile/14C92 Safari/601.1 wechatdevtools/"+version+" MicroMessenger/{{version}} Language/zh_CN webview/{{webviewID}}",screen:{horizontal:{width:375,height:667},"device-pixel-ratio":2,vertical:{width:375,height:667}}},"iPhone 7 Plus":{title:"iPhone 7 Plus",os:"iOS","user-agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Mobile/14C92 Safari/601.1 wechatdevtools/"+version+" MicroMessenger/{{version}} Language/zh_CN webview/{{webviewID}}",screen:{horizontal:{width:414,height:736},"device-pixel-ratio":3,vertical:{width:414,height:736}}},"Galaxy S5":{title:"Galaxy S5",os:"Android","user-agent":"Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.23 Mobile Safari/537.36 wechatdevtools/"+version+" MicroMessenger/{{version}} webview/{{webviewID}}",screen:{horizontal:{width:640,height:384},"device-pixel-ratio":3,vertical:{width:384,height:640}}},"Galaxy Note II":{title:"Galaxy Note II",os:"Android","user-agent":"Mozilla/5.0 (Linux; U; Android 4.1; en-us; GT-N7100 Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 wechatdevtools/"+version+" MicroMessenger/{{version}} webview/{{webviewID}}",screen:{horizontal:{width:640,height:360},"device-pixel-ratio":2,vertical:{width:360,height:640}}},"Nexus 4":{title:"Nexus 4",os:"Android","user-agent":"Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.23 Mobile Safari/537.36 wechatdevtools/"+version+" MicroMessenger/{{version}} webview/{{webviewID}}",screen:{horizontal:{width:640,height:384},"device-pixel-ratio":2,vertical:{width:384,height:640}}},"Nexus 5":{title:"Nexus 5",os:"Android","user-agent":"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.23 Mobile Safari/537.36 wechatdevtools/"+version+" MicroMessenger/{{version}} webview/{{webviewID}}",screen:{horizontal:{width:360,height:640},"device-pixel-ratio":3,vertical:{width:360,height:640}}},"Nexus 5x":{title:"Nexus 5x",os:"Android","user-agent":"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.23 Mobile Safari/537.36 wechatdevtools/"+version+" MicroMessenger/{{version}} webview/{{webviewID}}",screen:{horizontal:{width:731,height:411},"device-pixel-ratio":2.625,vertical:{width:411,height:731}}},"Nexus 6":{title:"Nexus 6",os:"Android","user-agent":"Mozilla/5.0 (Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.23 Mobile Safari/537.36 wechatdevtools/"+version+" MicroMessenger/{{version}} webview/{{webviewID}}",screen:{horizontal:{width:732,height:412},"device-pixel-ratio":3.5,vertical:{width:412,height:732}}}};
\ No newline at end of file
diff --git a/app/dist/config/appserviceConfig.js b/app/dist/config/appserviceConfig.js
index 24826426..096eec1d 100644
--- a/app/dist/config/appserviceConfig.js
+++ b/app/dist/config/appserviceConfig.js
@@ -1 +1 @@
-module.exports={AppserviceMaxDataSize:1048576,HTTPSetting:{HTTPHeaderMode:'BlackList',HeaderBlackList:['User-Agent'],HeaderWhiteList:[],UploadMaxTimeoutMS:60000,DownloadMaxTimeoutMS:60000,WebsocketMaxTimeoutMS:60000,RequestMaxTimeoutMS:60000,HTTPHeaderReferer:'servicewechat.com'},CDNBaseURL:'https://res.wx.qq.com/weapp',AppMaxRunningCount:5,DownloadFileSizeLimit:10,TempFileSizeLimitTotal:300};
\ No newline at end of file
+"use strict";module.exports={AppserviceMaxDataSize:1048576,HTTPSetting:{HTTPHeaderMode:"BlackList",HeaderBlackList:["User-Agent"],HeaderWhiteList:[],UploadMaxTimeoutMS:6e4,DownloadMaxTimeoutMS:6e4,WebsocketMaxTimeoutMS:6e4,RequestMaxTimeoutMS:6e4,HTTPHeaderReferer:"servicewechat.com"},CDNBaseURL:"https://res.wx.qq.com/weapp",AppMaxRunningCount:5,DownloadFileSizeLimit:10,TempFileSizeLimitTotal:300};
\ No newline at end of file
diff --git a/app/dist/config/config.js b/app/dist/config/config.js
index bbe71b69..13ee08cd 100644
--- a/app/dist/config/config.js
+++ b/app/dist/config/config.js
@@ -1 +1 @@
-'use strict';function init(){let a=global.appVersion;module.exports={COMPONENT_FOR_DEVELOPER:'For developer:',WXML_RUNTIME_ERROR:'WXMLRT:',WXML_ERROR:'WXML ERROR:',WXML_LOSE_ERROR:'WXML_LOSE_ERROR',PAGE_DEFINE_ERROR:'PAGE DEFINE ERROR',ES6_ERROR:'ES6_ERROR',WXSS_ERROR:'WXSS_ERROR',WXSS_IMPORT_ERROR:'WXSS_IMPORT_ERROR',JSON_FILE_ERROR:'JSON_FILE_ERROR',JSON_PARSE_ERROR:'JSON_PARSE_ERROR',JSON_CONTENT_ERROR:'JSON_CONTENT_ERROR',PAGEJS_FILE_ERROR:'PAGEJS_FILE_ERROR',JSON_ENTRANCE_ERROR:'JSON_ENTRANCE_ERROR',WEBVIEW_ERROR:'WEBVIEW_ERROR',WEBVIEW_NETWORK_ERROR:'WEBVIEW_NETWORK_ERROR',SELECT_URL_TYPE:1,SELECT_UNKNOW_TYPE:0,weappURLRegular:/^https?\:\/\/.*?\.debug.open.weixin.qq.com/,weappASURLRegular:/^https?\:\/\/.*?\.appservice.open.weixin.qq.com/,weappLocalIdRegular:/^https?\:\/\/wxfile.open.weixin.qq.com\//,defaultWechatVersion:'6.3.9',defaultUa:`Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 wechatdevtools/${a} MicroMessenger/{{version}} Language/zh_CN webview/{{webviewID}}`,Android_useragent:`Mozilla/5.0 (Linux; Android 4.4.4; AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38 Mobile Safari/537.36 wechatdevtools/${a} MicroMessenger/{{version}} webview/{{webviewID}}`}}init();
\ No newline at end of file
+"use strict";function init(){var R=global.appVersion;module.exports={COMPONENT_FOR_DEVELOPER:"For developer:",WXML_RUNTIME_ERROR:"WXMLRT:",WXML_ERROR:"WXML ERROR:",WXML_LOSE_ERROR:"WXML_LOSE_ERROR",PAGE_DEFINE_ERROR:"PAGE DEFINE ERROR",ES6_ERROR:"ES6_ERROR",WXSS_ERROR:"WXSS_ERROR",WXSS_IMPORT_ERROR:"WXSS_IMPORT_ERROR",JSON_FILE_ERROR:"JSON_FILE_ERROR",JSON_PARSE_ERROR:"JSON_PARSE_ERROR",JSON_CONTENT_ERROR:"JSON_CONTENT_ERROR",PAGEJS_FILE_ERROR:"PAGEJS_FILE_ERROR",JSON_ENTRANCE_ERROR:"JSON_ENTRANCE_ERROR",WEBVIEW_ERROR:"WEBVIEW_ERROR",WEBVIEW_NETWORK_ERROR:"WEBVIEW_NETWORK_ERROR",SELECT_URL_TYPE:1,SELECT_UNKNOW_TYPE:0,weappURLRegular:/^https?\:\/\/.*?\.debug.open.weixin.qq.com/,weappASURLRegular:/^https?\:\/\/.*?\.appservice.open.weixin.qq.com/,weappLocalIdRegular:/^https?\:\/\/wxfile.open.weixin.qq.com\//,defaultWechatVersion:"6.5.6",defaultUa:"Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 wechatdevtools/"+R+" MicroMessenger/{{version}} Language/zh_CN webview/{{webviewID}}",Android_useragent:"Mozilla/5.0 (Linux; Android 4.4.4; AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38 Mobile Safari/537.36 wechatdevtools/"+R+" MicroMessenger/{{version}} webview/{{webviewID}}"}}init();
\ No newline at end of file
diff --git a/app/dist/config/dirConfig.js b/app/dist/config/dirConfig.js
index 1913dc11..1078215f 100644
--- a/app/dist/config/dirConfig.js
+++ b/app/dist/config/dirConfig.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('path'),b=require('mkdir-p'),c=a.join(nw.App.getDataPath(),'..');_exports={},_exports.WeappStorage=a.join(c,'WeappStorage'),b.sync(_exports.WeappStorage),_exports.WeappFileCache=a.join(c,'WeappFileCache'),b.sync(_exports.WeappFileCache),_exports.Weappdest=a.join(c,'Weappdest'),b.sync(_exports.Weappdest),_exports.WeappApplication=a.join(c,'WeappApplication'),b.sync(_exports.WeappApplication),_exports.WeappVendor=a.join(c,'WeappVendor'),b.sync(_exports.WeappVendor),_exports.WeappBuildCache=a.join(c,'WeappBuildCache'),b.sync(_exports.WeappBuildCache),_exports.WeappLog=a.join(c,'WeappLog'),b.sync(_exports.WeappLog),_exports.WeappProjectInfo=a.join(c,'WeappProject'),b.sync(_exports.WeappProjectInfo),_exports.ProxyCache=a.join(c,'ProxyCache'),b.sync(_exports.ProxyCache)}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var p=require("path"),e=require("mkdir-p"),o=p.join(nw.App.getDataPath(),"..");_exports={},_exports.WeappStorage=p.join(o,"WeappStorage"),e.sync(_exports.WeappStorage),_exports.WeappFileCache=p.join(o,"WeappFileCache"),e.sync(_exports.WeappFileCache),_exports.Weappdest=p.join(o,"Weappdest"),e.sync(_exports.Weappdest),_exports.WeappApplication=p.join(o,"WeappApplication"),e.sync(_exports.WeappApplication),_exports.WeappVendor=p.join(o,"WeappVendor"),e.sync(_exports.WeappVendor),_exports.WeappBuildCache=p.join(o,"WeappBuildCache"),e.sync(_exports.WeappBuildCache),_exports.WeappLog=p.join(o,"WeappLog"),e.sync(_exports.WeappLog),_exports.WeappProjectInfo=p.join(o,"WeappProject"),e.sync(_exports.WeappProjectInfo),_exports.ProxyCache=p.join(o,"ProxyCache"),e.sync(_exports.ProxyCache)}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/config/errcodeConfig.js b/app/dist/config/errcodeConfig.js
index 2b6bfafb..7f352c4f 100644
--- a/app/dist/config/errcodeConfig.js
+++ b/app/dist/config/errcodeConfig.js
@@ -1 +1 @@
-"use strict";module.exports={ILLEGAL_URL:-2005,NOT_LIMITS:-1024,NOT_LIMITS_QY:-1025,NOT_LIMITS_CARD:-1026,NOT_LOGIN:41001,INVALID_TOKEN:40001,INVALID_LOGIN:42001,INVALID_CODE:10010,INVALID_CARD_ID:10023,DEV_Invalid_Appid:40013,DEV_Missing_Appid:41002,DEV_Limit:45011,DEV_Need_ReLogin:-80001,DEV_App_Not_Band:-80002,DEV_Need_Admin:-80003,DEV_Invalid_Clinet_Report:-80004,DEV_Need_Update:-80005,DEV_Need_SCAN_CODE:-80006,DEV_COMPILE_EMPTY_SOURCE:-80050,DEV_COMPILE_SOURCE_MAX_LIMIT:-80051,DEV_COMPILE_WXPKG_MAX_LIMIT:-80052,DEV_COMPILE_INVALID_WXPKG:-80053,DEV_COMPILE_WXML_FAIL:-80054,DEV_COMPILE_WXSS_FAIL:-80056,DEV_Expired_Signature:42002,DEV_Invalid_Signature:40030,DEV_COMPILE_INVALID_JSON_FILE:-80058,DEV_COMPILE_LACK_OF_FILE:-800059,DEV_BIND_NOT_24H:-80007};
\ No newline at end of file
+"use strict";module.exports={ILLEGAL_URL:-2005,NOT_LIMITS:-1024,NOT_LIMITS_QY:-1025,NOT_LIMITS_CARD:-1026,NOT_LOGIN:41001,INVALID_TOKEN:40001,INVALID_LOGIN:42001,NEED_CONFORM:-12e3,INVALID_CODE:10010,INVALID_CARD_ID:10023,DEV_Invalid_Appid:40013,DEV_Missing_Appid:41002,DEV_Limit:45011,DEV_Need_ReLogin:-80001,DEV_App_Not_Band:-80002,DEV_Need_Admin:-80003,DEV_Invalid_Clinet_Report:-80004,DEV_Need_Update:-80005,DEV_Need_SCAN_CODE:-80006,DEV_COMPILE_EMPTY_SOURCE:-80050,DEV_COMPILE_SOURCE_MAX_LIMIT:-80051,DEV_COMPILE_WXPKG_MAX_LIMIT:-80052,DEV_COMPILE_INVALID_WXPKG:-80053,DEV_COMPILE_WXML_FAIL:-80054,DEV_COMPILE_WXSS_FAIL:-80056,DEV_Expired_Signature:42002,DEV_Invalid_Signature:40030,DEV_COMPILE_INVALID_JSON_FILE:-80058,DEV_COMPILE_LACK_OF_FILE:-800059,DEV_BIND_NOT_24H:-80007,DEV_PLATFORM_NOT_BAND_DEV:-80060,DEV_PLATFORM_INVALID_EXT_APPID:-80061,DEV_PLATFORM_EXT_APPID_NOT_AUTH:-80062};
\ No newline at end of file
diff --git a/app/dist/config/permissionConfig.js b/app/dist/config/permissionConfig.js
new file mode 100644
index 00000000..ea505310
--- /dev/null
+++ b/app/dist/config/permissionConfig.js
@@ -0,0 +1 @@
+"use strict";module.exports={NoAllow:0,Allow:1,UserCancel:2,AuthFail:3};
\ No newline at end of file
diff --git a/app/dist/config/sceneConfig.js b/app/dist/config/sceneConfig.js
new file mode 100644
index 00000000..b5d958a6
--- /dev/null
+++ b/app/dist/config/sceneConfig.js
@@ -0,0 +1 @@
+"use strict";function init(){var e={1001:"发现栏小程序主入口",1005:"顶部搜索框的搜索结果页",1006:"发现栏小程序主入口搜索框的搜索结果页",1007:"单人聊天会话",1008:"群聊会话",1011:"扫描二维码",1014:"小程序模版消息",1020:"公众号 profile 页相关小程序列表",1022:"聊天顶部置顶小程序入口",1023:"安卓系统桌面图标",1024:"小程序 profile 页",1025:"扫描一维码",1028:"我的卡包",1029:"卡券详情页",1035:"公众号自定义菜单",1036:"App 分享消息卡片",1042:"添加好友搜索框的搜索结果页",1043:"公众号模板消息"};module.exports={getSceneWording:function(n){return e[n]||"未知"},defaultScene:1001,sceneData:e}}init();
\ No newline at end of file
diff --git a/app/dist/config/urlConfig.js b/app/dist/config/urlConfig.js
index 28a7f13a..29f1d878 100644
--- a/app/dist/config/urlConfig.js
+++ b/app/dist/config/urlConfig.js
@@ -1 +1 @@
-'use strict';function init(){var a=localStorage.getItem('urlConfig');a=a?JSON.parse(a):{};const b='https://servicewechat.com/',c='https://mp.weixin.qq.com/',d='https://open.weixin.qq.com/';var e=a.webdebugger_geta8key||`${c}debug/cgi-bin/webdebugger/geta8key`,f=a.webdebugger_preverify||`${c}debug/cgi-bin/webdebugger/preverify`,g=a.wechat_login||`${d}connect/qrconnect?appid=wxde40e023744664cb&redirect_uri=https%3a%2f%2fmp.weixin.qq.com%2fdebug%2fcgi-bin%2fwebdebugger%2fqrcode&scope=snsapi_login&state=login#wechat_redirect`,h=a.webdebugger_clientreport||`${c}debug/cgi-bin/webdebugger/clientreport`,i=a.webdebugger_download||`${c}debug/cgi-bin/webdebugger/download`,j=a.refresh_ticket||`${c}debug/cgi-bin/webdebugger/refreshticket`;module.exports={CGI_DOMAIN:b,MP_DOMAIN:c,OPEN_DOMAIN:d,LOADCONFIG_URL:`${c}debug/cgi-bin/webdebugger/loadconfig`,GET8KEY_URL:global.appConfig.GET8KEY_URL||e,PREVERIFY_URL:global.appConfig.PREVERIFY_URL||f,LOGIN_URL:global.appConfig.LOGIN_URL||g,CLIENTREPORT_URL:h,DOWNLOAD_URL:i,refreshTicketURL:j,batchAddCardURL:`${c}debug/cgi-bin/webdebugger/getcarditeminfo`,chooseCardURL:`${c}debug/cgi-bin/webdebugger/getavailablecard`,batchViewCardURL:`${c}debug/cgi-bin/webdebugger/batchgetcarditembytpinfo`,createWeappURL:`${b}wxa-dev-logic/getappinfo`,newReportURL:`${b}wxa-dev-logic/clientreport`,getWeappAttrURL:`${b}wxa-dev-logic/batchgetappattr`,jsLoginURL:`${b}wxa-dev-logic/jslogin`,jsRefreshSessionURL:`${b}wxa-dev-logic/jsrefresh_session`,jsOperateWXDATAURL:`${b}wxa-dev-logic/jsoperatewxdata`,jsDecodeQRCodeURL:`${b}wxa-dev-logic/decode_qrcode`,jsAuthorizeURL:`${b}wxa-dev-logic/jsauthorize`,jsAuthorizeConfirmURL:`${b}wxa-dev-logic/jsauthorize-confirm`,testSourceURL:`${b}wxa-dev/testsource`,testSourceNewFeatureURL:`${b}wxa-dev-new/testsource`,commitSourceURL:`${b}wxa-dev/commitsource`,downloadRedirectURL:``,touristCreateURL:`${b}wxa-dev-logic/createtourist`,uploadQrCodeURL:`${b}wxa-dev-logic/getcommitqrcode`,paymentURL:`${b}wxa-dev-logic/payment`,paymentStateURL:`${b}wxa-dev-logic/querypaymentstate`,refreshUploadConfirm:`${b}wxa-dev-logic/queryqrcodestate`}}init();
\ No newline at end of file
+"use strict";function init(){var e=localStorage.getItem("urlConfig");e=e?JSON.parse(e):{};var t="https://servicewechat.com/",i="https://mp.weixin.qq.com/",o="https://open.weixin.qq.com/",g=e.webdebugger_geta8key||i+"debug/cgi-bin/webdebugger/geta8key",a=e.webdebugger_preverify||i+"debug/cgi-bin/webdebugger/preverify",c=e.wechat_login||o+"connect/qrconnect?appid=wxde40e023744664cb&redirect_uri=https%3a%2f%2fmp.weixin.qq.com%2fdebug%2fcgi-bin%2fwebdebugger%2fqrcode&scope=snsapi_login&state=login#wechat_redirect",r=e.webdebugger_clientreport||i+"debug/cgi-bin/webdebugger/clientreport",d=e.webdebugger_download||i+"debug/cgi-bin/webdebugger/download",b=e.refresh_ticket||i+"debug/cgi-bin/webdebugger/refreshticket";module.exports={NEW_VERSION_LOG:"https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/new.html",CGI_DOMAIN:t,MP_DOMAIN:i,OPEN_DOMAIN:o,LOADCONFIG_URL:i+"debug/cgi-bin/webdebugger/loadconfig",GET8KEY_URL:global.appConfig.GET8KEY_URL||g,PREVERIFY_URL:global.appConfig.PREVERIFY_URL||a,LOGIN_URL:global.appConfig.LOGIN_URL||c,CLIENTREPORT_URL:r,DOWNLOAD_URL:d,refreshTicketURL:b,batchAddCardURL:i+"debug/cgi-bin/webdebugger/getcarditeminfo",chooseCardURL:i+"debug/cgi-bin/webdebugger/getavailablecard",batchViewCardURL:i+"debug/cgi-bin/webdebugger/batchgetcarditembytpinfo",createWeappURL:t+"wxa-dev-logic/getappinfo",newReportURL:t+"wxa-dev-logic/clientreport",getWeappAttrURL:t+"wxa-dev-logic/batchgetappattr",jsLoginURL:t+"wxa-dev-logic/jslogin",jsRefreshSessionURL:t+"wxa-dev-logic/jsrefresh_session",jsOperateWXDATAURL:t+"wxa-dev-logic/jsoperatewxdata",jsDecodeQRCodeURL:t+"wxa-dev-logic/decode_qrcode",jsAuthorizeURL:t+"wxa-dev-logic/jsauthorize",jsAuthorizeConfirmURL:t+"wxa-dev-logic/jsauthorize-confirm",testSourceURL:t+"wxa-dev/testsource",testSourceNewFeatureURL:t+"wxa-dev-new/testsource",commitSourceURL:t+"wxa-dev/commitsource",downloadRedirectURL:"https://github.com/yuan1994/wechat_web_devtools",touristCreateURL:t+"wxa-dev-logic/createtourist",uploadQrCodeURL:t+"wxa-dev-logic/getcommitqrcode",paymentURL:t+"wxa-dev-logic/payment",paymentStateURL:t+"wxa-dev-logic/querypaymentstate",refreshUploadConfirm:t+"wxa-dev-logic/queryqrcodestate",cleanUserAuth:t+"wxa-dev-logic/deleteuserauth",getBbsTicket:t+"wxa-dev-logic/getbbsopenticket",checkApiAuth:t+"wxa-dev-logic/jsapiauth",getAuthList:t+"wxa-dev-logic/getauthlist",setAuth:t+"wxa-dev-logic/setauth"}}init();
\ No newline at end of file
diff --git a/app/dist/config/weappConfig.js b/app/dist/config/weappConfig.js
index 3fe29451..45c4166e 100644
--- a/app/dist/config/weappConfig.js
+++ b/app/dist/config/weappConfig.js
@@ -1 +1 @@
-module.exports={default_tabheight:56,default_backgroundColor:'#ffffff',default_navigationBarTextStyle:'white',default_navigationBarBackgroundColor:'#000000'};
\ No newline at end of file
+"use strict";module.exports={default_tabheight:56,default_backgroundColor:"#ffffff",default_navigationBarTextStyle:"white",default_navigationBarBackgroundColor:"#000000",default_tabBarBorderBlackColor:"rgba(0, 0, 0, 0.33)",default_tabBarBorderWhiteColor:"rgba(255, 255, 255, 0.33)"};
\ No newline at end of file
diff --git a/app/dist/config/wordingConfig.js b/app/dist/config/wordingConfig.js
index d2e3dfc6..4e13af5b 100644
--- a/app/dist/config/wordingConfig.js
+++ b/app/dist/config/wordingConfig.js
@@ -1 +1 @@
-module.exports=['\u7CFB\u7EDF\u9519\u8BEF\uFF0C \u9519\u8BEF\u7801','\u6682\u4E0D\u652F\u6301\u5F53\u524D URL \u7684 Oatuh \u8C03\u8BD5\u652F\u6301'];
\ No newline at end of file
+"use strict";module.exports=["系统错误, 错误码","暂不支持当前 URL 的 Oatuh 调试支持"];
\ No newline at end of file
diff --git a/app/dist/contentscript/contentScript.js b/app/dist/contentscript/contentScript.js
index 13243468..0e3d3ec4 100644
--- a/app/dist/contentscript/contentScript.js
+++ b/app/dist/contentscript/contentScript.js
@@ -1 +1 @@
-'use strict';var ua=navigator.userAgent,webviewID=parseInt(ua.match(/webview\/(\d*)/)[1]),weapp=ua.match(/weapp\/(\d*)/),weappID=weapp?parseInt(weapp[1]):void 0;window.runtime={};var portInit=!1,postMessageInit=!1,portMsgQuery=[],postMessageQuery=[],port=window.runtime.port=chrome.runtime.connect('',{name:`webview${webviewID}`}),__msgQueue={},__id=0;function postMessageToNW(a){if(a.webviewID=webviewID,a.weappID=weappID,!portInit)return void portMsgQuery.push(a);for(__msgQueue[a.__id]=a;__msgQueue[__id];)port.postMessage(__msgQueue[__id]),delete __msgQueue[__id],__id++}function postMessageToWebPage(a){return postMessageInit?void(a.webviewID=webviewID,window.postMessage(a,'*')):void postMessageQuery.push(a)}function handleMsg(a){let b=a.command;'SHAKE_HANDS'===b&&(portInit=!0,portMsgQuery.length&&(portMsgQuery.forEach(c=>{postMessageToNW(c)}),portMsgQuery=[]))}function receiveMessageFromPageFrame(a){'backgroundjs'===a.to&&postMessageToNW(a)}port.onMessage.addListener(a=>{let b=a.to;'contentscript'===b?handleMsg(a):'webframe'===b?postMessageToWebPage(a):'appservice'===b&&postMessageToWebPage(a)}),window.addEventListener('message',a=>{let b=a.data;if(b&&'object'==typeof b&&b.webviewID===webviewID){let i=b.comefrom,j=b.to;if('webframe'===i){let k=b.command;'contentscript'===j&&'SHAKE_HANDS'===k?(postMessageInit=!0,postMessageQuery.length&&(postMessageQuery.forEach(l=>{postMessageToWebPage(l)}),postMessageQuery=[])):receiveMessageFromPageFrame(b)}}});
\ No newline at end of file
+"use strict";function postMessageToNW(e){if(e.webviewID=webviewID,e.weappID=weappID,!portInit)return void portMsgQuery.push(e);for(__msgQueue[e.__id]=e;__msgQueue[__id];)port.postMessage(__msgQueue[__id]),delete __msgQueue[__id],__id++}function postMessageToWebPage(e){return postMessageInit?(e.webviewID=webviewID,void window.postMessage(e,"*")):void postMessageQuery.push(e)}function handleMsg(e){var o=e.command;if("SHAKE_HANDS"===o)portInit=!0,portMsgQuery.length&&(portMsgQuery.forEach(function(e){postMessageToNW(e)}),portMsgQuery=[]);else if("ERR_CONNECTION_RESET"!==o||showProxyErr){if("SHOW_SYS_INFO"===o){var t=e.msg,s=t.memory,r=t.restartInfo,n=+new Date-r.projectBeginTime,a=r.projectRestartNum;console.group(new Date+" 工具系统信息"),console.info("工具已运行 "+(n/1e3).toFixed(2)+" 秒,执行编译 "+a+" 次, 当前内存占用 "+s.toFixed(2)+"m"),console.table(t.info),console.groupEnd()}}else{var i=e.msg,p="因为网络代理软件或者 VPN 影响,工具无法加载本地模拟开发服务 "+i.url+" 请尝试以下任一解决方案\n1.关闭相关网络代理软件,重新编译成功后,再启动相关网络代理软件;\n2.配置相关软件不针对 *.appservice.open.weixin.qq.com 和 *.debug.open.weixin.qq.com 进行代理;\n3.配置相关软件不针对 开发者工具 做代理。";console.group(new Date+" 工具加载错误"),console.error(p),console.groupEnd(),showProxyErr=!0}}function receiveMessageFromPageFrame(e){"backgroundjs"===e.to&&postMessageToNW(e)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ua=navigator.userAgent,webviewID=parseInt(ua.match(/webview\/(\d*)/)[1]),weapp=ua.match(/weapp\/(\d*)/),weappID=weapp?parseInt(weapp[1]):void 0;window.runtime={};var portInit=!1,postMessageInit=!1,portMsgQuery=[],postMessageQuery=[],port=window.runtime.port=chrome.runtime.connect("",{name:"webview"+webviewID}),__msgQueue={},__id=0,showProxyErr=!1;port.onMessage.addListener(function(e){var o=e.to;"contentscript"===o?handleMsg(e):"webframe"===o?postMessageToWebPage(e):"appservice"===o&&postMessageToWebPage(e)}),window.addEventListener("message",function(e){var o=e.data;if(o&&"object"===("undefined"==typeof o?"undefined":_typeof(o))&&o.webviewID===webviewID){var t=o.comefrom,s=o.to;if("webframe"===t){var r=o.command;"contentscript"===s&&"SHAKE_HANDS"===r?(postMessageInit=!0,postMessageQuery.length&&(postMessageQuery.forEach(function(e){postMessageToWebPage(e)}),postMessageQuery=[])):receiveMessageFromPageFrame(o)}}});
\ No newline at end of file
diff --git a/app/dist/contentscript/editcontent.js b/app/dist/contentscript/editcontent.js
index 443a0c3b..24b8068c 100644
--- a/app/dist/contentscript/editcontent.js
+++ b/app/dist/contentscript/editcontent.js
@@ -1 +1 @@
-'use strict';var portInit=!1,postMessageInit=!1,portMsgQuery=[],postMessageQuery=[],port=chrome.runtime.connect('',{name:`edit`});function postMessageToNW(a){return portInit?void port.postMessage(a):void portMsgQuery.push(a)}function postMessageToWebPage(a){return postMessageInit?void window.postMessage(a,'*'):void postMessageQuery.push(a)}function handleMsg(a){let b=a.command;'SHAKE_HANDS'===b&&(portInit=!0,portMsgQuery.length&&(portMsgQuery.forEach(c=>{postMessageToNW(c)}),portMsgQuery=[]))}function receiveMessageFromPageFrame(a){'backgroundjs'===a.to&&postMessageToNW(a)}port.onMessage.addListener(a=>{let b=a.to;'contentscript'===b?handleMsg(a):'webframe'===b&&postMessageToWebPage(a)}),window.addEventListener('message',a=>{let b=a.data;if('object'==typeof b){let f=b.to,g=b.command;'contentscript'===f&&'SHAKE_HANDS'===g?(postMessageInit=!0,postMessageQuery.length&&(postMessageQuery.forEach(h=>{postMessageToWebPage(h)}),postMessageQuery=[])):'backgroundjs'===f&&receiveMessageFromPageFrame(b)}});
\ No newline at end of file
+"use strict";function postMessageToNW(e){return portInit?void port.postMessage(e):void portMsgQuery.push(e)}function postMessageToWebPage(e){return postMessageInit?void window.postMessage(e,"*"):void postMessageQuery.push(e)}function handleMsg(e){var o=e.command;"SHAKE_HANDS"===o&&(portInit=!0,portMsgQuery.length&&(portMsgQuery.forEach(function(e){postMessageToNW(e)}),portMsgQuery=[]))}function receiveMessageFromPageFrame(e){"backgroundjs"===e.to&&postMessageToNW(e)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},portInit=!1,postMessageInit=!1,portMsgQuery=[],postMessageQuery=[],port=chrome.runtime.connect("",{name:"edit"});port.onMessage.addListener(function(e){var o=e.to;"contentscript"===o?handleMsg(e):"webframe"===o&&postMessageToWebPage(e)}),window.addEventListener("message",function(e){var o=e.data;if("object"===("undefined"==typeof o?"undefined":_typeof(o))){var t=o.to,s=o.command;"contentscript"===t&&"SHAKE_HANDS"===s?(postMessageInit=!0,postMessageQuery.length&&(postMessageQuery.forEach(function(e){postMessageToWebPage(e)}),postMessageQuery=[])):"backgroundjs"===t&&receiveMessageFromPageFrame(o)}});
\ No newline at end of file
diff --git a/app/dist/cssStr/cssStr.js b/app/dist/cssStr/cssStr.js
index d77396a3..45ac5b62 100644
--- a/app/dist/cssStr/cssStr.js
+++ b/app/dist/cssStr/cssStr.js
@@ -1 +1 @@
-'use strict';module.exports={displayNone:{display:'none'},displayBlock:{display:'block'},displayFlex:{display:'flex'},visibilityHidden:{visibility:'hidden'},visibilityVisible:{visibility:'visible'},webviewDisplayNone:{height:0.01,width:0.01,marginTop:0,overflow:'hidden',flex:'initial'}};
\ No newline at end of file
+"use strict";module.exports={displayNone:{display:"none"},displayBlock:{display:"block"},displayFlex:{display:"flex"},visibilityHidden:{visibility:"hidden"},visibilityVisible:{visibility:"visible"},webviewDisplayNone:{height:.01,width:.01,marginTop:0,overflow:"hidden",flex:"initial"}};
\ No newline at end of file
diff --git a/app/dist/debugger/debugger.js b/app/dist/debugger/debugger.js
index aca1b436..80382cd5 100644
--- a/app/dist/debugger/debugger.js
+++ b/app/dist/debugger/debugger.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('async');chrome.debugger;var b={};chrome.debugger.onEvent.addListener(function(d,e,f){let g=d.targetId;b[g]&&b[g].onEventCall(d,e,f)}),chrome.debugger.onDetach.addListener(function(d,e){let f=d.targetId;b[f]&&(b[f].onDetachCall(d,e),delete b[f])}),_exports={start:function(d,e,f,g,h){let i=[];i.push(function(k){chrome.debugger.getTargets(l=>{k(null,l)})}),i.push(function(k,l){let m=k.find(o=>{return o.url===d.src});var n={targetId:m.id};chrome.debugger.attach(n,'1.1',()=>{b[n.targetId]={onEventCall:g,onDetachCall:h},l(null,n)})}),i.push(function(k,l){chrome.debugger.sendCommand(k,'DOM.enable',()=>{l(null,k)})}),i.push(function(k,l){chrome.debugger.sendCommand(k,'CSS.enable',()=>{l(null,k)})}),i.push(function(k,l){chrome.debugger.sendCommand(k,'Emulation.setTouchEmulationEnabled',{enabled:!0,configuration:'mobile'},()=>{l(null,k)})}),i.push(function(k,l){let m=e.webviewOffset;chrome.debugger.sendCommand(k,'Emulation.setDeviceMetricsOverride',{width:parseInt(m.width),height:parseInt(m.height),deviceScaleFactor:m.dpr,mobile:!0,fitWindow:!1},()=>{l(null,k)})}),a.waterfall(i,(j,k)=>{f&&f(k)})},sendCommand:function(d,e,f,g){f?chrome.debugger.sendCommand(d,e,f,g):chrome.debugger.sendCommand(d,e,g)}}}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){function e(e,n,t,r){t?chrome.debugger.sendCommand(e,n,t,r):chrome.debugger.sendCommand(e,n,r)}function n(e,n,t){var r=e.targetId;u[r]&&u[r].onEventCall(e,n,t)}function t(e,n){var t=e.targetId;u[t]&&(u[t].onDetachCall(e,n),delete u[t])}function r(e,n,t,r,i){function d(e){chrome.debugger.getTargets(function(n){e(null,n)})}function a(n,t){var o=n.find(function(n){return n.url===e.src});if(!o)return void t("did not find target");var d={targetId:o.id};chrome.debugger.attach(d,"1.1",function(){u[d.targetId]={onEventCall:r,onDetachCall:i},t(null,d)})}function c(e,n){chrome.debugger.sendCommand(e,"DOM.enable",function(){n(null,e)})}function l(e,n){chrome.debugger.sendCommand(e,"CSS.enable",function(){n(null,e)})}function g(e,n){chrome.debugger.sendCommand(e,"Emulation.setTouchEmulationEnabled",{enabled:!0,configuration:"mobile"},function(){n(null,e)})}function m(e,t){var r=n.webviewOffset;chrome.debugger.sendCommand(e,"Emulation.setDeviceMetricsOverride",{width:parseInt(r.width),height:parseInt(r.height),deviceScaleFactor:r.dpr,mobile:!0,fitWindow:!1},function(){t(null,e)})}var s=[];s.push(d),s.push(a),s.push(c),s.push(l),s.push(g),s.push(m),o.waterfall(s,function(e,n){e||t&&t(n)})}var o=require("async"),u=(chrome.debugger,{});chrome.debugger.onEvent.addListener(n),chrome.debugger.onDetach.addListener(t),_exports={start:r,sendCommand:e}}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/dispatcher/dispatcher.js b/app/dist/dispatcher/dispatcher.js
index ddf01d5c..4d1fa7f6 100644
--- a/app/dist/dispatcher/dispatcher.js
+++ b/app/dist/dispatcher/dispatcher.js
@@ -1 +1 @@
-'use strict';var _exports;function init(){const a=require('../lib/flux.js').Dispatcher,b=new a,c=require('./webviewDispatcher.js'),d=require('./leftviewDispatcher.js'),e=require('./windowDispatcher.js'),f=require('./projectDispatcher.js');let g=c(b);d(b,g),e(b),f(b),_exports=b}init(),module.exports=_exports;
\ No newline at end of file
+"use strict";function init(){var e=require("../lib/flux.js").Dispatcher,r=new e,i=require("./webviewDispatcher.js"),s=require("./leftviewDispatcher.js"),t=require("./windowDispatcher.js"),p=require("./projectDispatcher.js"),u=i(r);s(r,u),t(r),p(r),_exports=r}var _exports;init(),module.exports=_exports;
\ No newline at end of file
diff --git a/app/dist/dispatcher/leftviewDispatcher.js b/app/dist/dispatcher/leftviewDispatcher.js
index 1ca08391..578473bf 100644
--- a/app/dist/dispatcher/leftviewDispatcher.js
+++ b/app/dist/dispatcher/leftviewDispatcher.js
@@ -1 +1 @@
-'use strict';function init(){const a=require('../stores/leftviewStores.js');module.exports=(b,c)=>{b.register(d=>{b.waitFor([c]);let e=d.webviewID;switch(d.actionType){case'LEFTVIEW_CLICK_RIGHTHEADER':a.clickRightHeader(e);break;case'LEFTVIEW_UP_SHARESTATUS':a.upShareStatus(e,d.show);break;case'LEFTVIEW_CLICK_MASK':a.clickMask(e);break;case'LEFTVIEW_HIDEALL':a.hideAll(e);break;default:}})}}init();
\ No newline at end of file
+"use strict";function init(){var e=require("../stores/leftviewStores.js");module.exports=function(i,t){i.register(function(r){i.waitFor([t]);var s=r.webviewID;switch(r.actionType){case"LEFTVIEW_CLICK_RIGHTHEADER":e.clickRightHeader(s);break;case"LEFTVIEW_UP_SHARESTATUS":e.upShareStatus(s,r.show);break;case"LEFTVIEW_CLICK_MASK":e.clickMask(s);break;case"LEFTVIEW_HIDEALL":e.hideAll(s)}})}}init();
\ No newline at end of file
diff --git a/app/dist/dispatcher/projectDispatcher.js b/app/dist/dispatcher/projectDispatcher.js
index 812fbfbe..f57a2a06 100644
--- a/app/dist/dispatcher/projectDispatcher.js
+++ b/app/dist/dispatcher/projectDispatcher.js
@@ -1 +1 @@
-'use strict';function init(){const a=require('../stores/projectStores.js');module.exports=b=>{b.register(c=>{switch(c.actionType){case'ADD_PROJECT':a.add(c.project,c.needInitQuickStart);break;case'DELETE_PROJECT':a.del(c.projectid);break;case'CLOSE_PROJECT':a.close();break;case'RESTART_PROJECT':a.restart(c.project);break;default:}})}}init();
\ No newline at end of file
+"use strict";function init(){var e=require("../stores/projectStores.js");module.exports=function(t){t.register(function(t){switch(t.actionType){case"ADD_PROJECT":e.add(t.project,t.needInitQuickStart);break;case"DELETE_PROJECT":e.del(t.projectid);break;case"CLOSE_PROJECT":e.close();break;case"RESTART_PROJECT":e.restart(t.project)}})}}init();
\ No newline at end of file
diff --git a/app/dist/dispatcher/webviewDispatcher.js b/app/dist/dispatcher/webviewDispatcher.js
index e347ae85..4d92baa9 100644
--- a/app/dist/dispatcher/webviewDispatcher.js
+++ b/app/dist/dispatcher/webviewDispatcher.js
@@ -1 +1 @@
-'use strict';function init(){const a=require('../stores/webviewStores.js');module.exports=b=>{return b.register(c=>{let d=c.webviewID;switch(c.actionType){case'UP_WEBVIEW_STATUS':a.upStatus(d,c.data);break;case'SET_WEBVIEW_ACTION':a.setAction(d,c.data);break;case'GET_A8KEY_WEBVIEW':a.getA8key(d,c.data);break;case'EXEC_WEBVIEW_JSSDK':a.execJSSDK(d,c.data);break;case'SHOW_SHARE_WEBVIEW':a.showShare(d,c.data);break;case'CLEAR_WEBVIEW_DATA':a.clearData(c.data);break;case'SET_WEBVIEW_UA':a.setUA(c.data);break;case'SET_WEBVIEW_INFO':a.setInfo(c.data);break;case'SET_INIT_URL':a.setInitURL(c.URL);break;case'SET_WEBVIEW_SNAPSHOT':a.setSnapShot(d,c.data);break;case'CHANGE_WEBVIEW_ID':a.changeWebviewID(d);break;case'DELETE_WEBVIEW_ID':a.deleteWebviewID(d);break;case'GET_JSSDK_RES':a.sendJSSDKRes(c.webviewID,c.sdkName,c.sdkRes,c.sdkResExt);break;case'SET_INTERFACT_FROMPAGEFRAME':a.setInterfaceFromPageFrame(c.webviewID,c.header);break;case'ClEAN_WEBVIEW':a.cleanWebview(c.webviewID);break;case'AS_TO_JS':a.asTojs(c.data);break;case'UP_AS_DATA':a.upASData(c.appid,c.data);break;case'AS_PUBLISH':a.asPublish(c.msg);break;case'POST_MSG_TOAS':a.postMessageToAS(c.msg);break;case'SEND_AS_SDK':a.sendASSdk(c.api,c.data,c.callback);break;case'SHOW_AUTHORIZE_SDK_DIALOG':a.authorizeSdkShowDialog(c.webviewId,c.authorizeSdkId,c.appicon_url,c.appname,c.scope_list);break;case'AUTHORIZE_SDK_RETURN':a.authorizeSdkReturn(c.authorizeSdkId,c.scope_list,c.isAllowed);break;case'STOP_PULL_DOWN_REFRESH':a.stopPullDownRefresh(c.args);break;case'TOUCH_SET_SUC':a.touchSetSuc(c.webviewID);break;case'TOGGLE_RECORD_WORDING':a.togglerRecordWording(c.show);break;default:}})}}init();
\ No newline at end of file
+"use strict";function init(){var e=require("../stores/webviewStores.js");module.exports=function(a){return a.register(function(a){var s=a.webviewID;switch(a.actionType){case"UP_WEBVIEW_STATUS":e.upStatus(s,a.data);break;case"SET_WEBVIEW_ACTION":e.setAction(s,a.data);break;case"GET_A8KEY_WEBVIEW":e.getA8key(s,a.data);break;case"EXEC_WEBVIEW_JSSDK":e.execJSSDK(s,a.data);break;case"SHOW_SHARE_WEBVIEW":e.showShare(s,a.data);break;case"CLEAR_WEBVIEW_DATA":e.clearData(a.data);break;case"SET_WEBVIEW_UA":e.setUA(a.data);break;case"SET_WEBVIEW_INFO":e.setInfo(a.data);break;case"SET_INIT_URL":e.setInitURL(a.URL);break;case"SET_WEBVIEW_SNAPSHOT":e.setSnapShot(s,a.data);break;case"CHANGE_WEBVIEW_ID":e.changeWebviewID(s);break;case"DELETE_WEBVIEW_ID":e.deleteWebviewID(s);break;case"GET_JSSDK_RES":e.sendJSSDKRes(a.webviewID,a.sdkName,a.sdkRes,a.sdkResExt);break;case"SET_INTERFACT_FROMPAGEFRAME":e.setInterfaceFromPageFrame(a.webviewID,a.header);break;case"ClEAN_WEBVIEW":e.cleanWebview(a.webviewID);break;case"AS_TO_JS":e.asTojs(a.data);break;case"UP_AS_DATA":e.upASData(a.appid,a.data);break;case"UP_BL_DATA":e.upBLData(a.appid,a.data);break;case"AS_PUBLISH":e.asPublish(a.msg);break;case"POST_MSG_TOAS":e.postMessageToAS(a.msg);break;case"SEND_AS_SDK":e.sendASSdk(a.api,a.data,a.callback);break;case"STOP_PULL_DOWN_REFRESH":e.stopPullDownRefresh(a.args);break;case"TOUCH_SET_SUC":e.touchSetSuc(a.webviewID);break;case"TOGGLE_RECORD_WORDING":e.togglerRecordWording(a.show);break;case"OPERATE_PAYMENT_QRCODE_WND":e.operatePaymentQrcodeWnd(a.data)}})}}init();
\ No newline at end of file
diff --git a/app/dist/dispatcher/windowDispatcher.js b/app/dist/dispatcher/windowDispatcher.js
index df9c5767..48958d7b 100644
--- a/app/dist/dispatcher/windowDispatcher.js
+++ b/app/dist/dispatcher/windowDispatcher.js
@@ -1 +1 @@
-'use strict';function init(){const a=require('../stores/windowStores.js');module.exports=b=>{b.register(c=>{switch(c.actionType){case'WINDOW_RESIZE':a.resize(c.height);break;case'WINDOW_BLUR':a.blur();break;case'WINDOW_FOCUS':a.focus();break;case'UPDATA_USER_INFO':a.updateUserInfo(c.info);break;case'CLEAR_USER_INFO':a.clearUserInfo();break;case'SET_AUTO_COMPLETET':a.setAutoComplete(c.url);break;case'FOCUS_ADDRESSBAR':a.focusAddressBar(c.webviewID);break;case'CLEAR_ADDRESSBAR_HISTORY':a.clearAddressHistory(c.data);break;case'BODY_CLICK':a.bodyClick(c.event);break;case'SHOW_SETTING':a.showSetting();break;case'SHOW_LOGIN_LAYER':a.showLoginLayer();break;case'SHOW_ABOUT_LAYER':a.showAbout();break;case'UPDATA_PROXY_SETTING':a.updataProxySetting(c.proxyType,c.callback);break;case'SHOW_TIPS_MSG':a.showTipsMsg(c.opt);break;case'CHANGE_DEVTOOLS':a.changeDevtools();break;case'UP_USER_TICKET':a.upUserTikcet(c.newticket,c.ticketExpiredTime);break;case'DEL_USER_TICKET':a.delUserTicket();break;case'SAVE_SETTING':a.saveSetting(c.data);break;case'CHANGE_WEBVIEW_URL':a.changeUrl(c.url,c.webviewID);break;case'CLOSE_WEBVIEW_DEVTOOLS':a.closeDevtools(c.webviewID);break;case'OPEN_WEBVIEW_DEVTOOLS':a.openDevtools(c.webviewID,c.webview,c.webviewOffset);break;case'WINDOW_SET_WEBVIEW_INFO':a.setInfo(c.data);break;case'APP_ENTER_BACKGROUND':a.appEnterBackground();break;case'APP_ENTER_FOREGROUND':a.appEnterForeground();break;case'CLICK_TOOLSBAR':a.clickToolsbar(c.clickkey);break;case'OPERATE_MUSIC_PLAY':a.operateMusicPlayer(c.opt);break;case'GET_MUSIC_PLAY_STATE':a.getMusicPlayState(c.callback);break;case'START_WEBVIEW_DEBUGGEE':a.startDebuggee(c.webviewID,c.data);break;case'WINDOW_CHANGE_WEBVIEW_ID':a.changeWebviewID(c.webviewID);break;case'WINDOW_GET_WEBAPP_ERROR':a.getWeappError(c.webviewID,c.url,c.errStr);break;case'WINDOW_SHOW_WEBAPP_ERROR':a.showWeappError(c.type,c.event);case'WINDOW_SHOW_CONFIRM':a.showConfirm(c.data);break;case'WINDOW_SHOW_SIMULATOR_CONFIRM':a.showSimulatorConfirm(c.data);break;case'OPEN_PROJECT_FILE':a.openProjectFile(c.data);break;case'TOGGLE_NEW_FEACHE_CHECK_SHOW_STATUS':a.toggleNewFeatureCheckShowStatus(c.status);break;case'SHOW_CUSTOM_PREVIEW':a.showCustomPreview(c.options);break;default:}})}}init();
\ No newline at end of file
+"use strict";function init(){var e=require("../stores/windowStores.js");module.exports=function(a){a.register(function(a){switch(a.actionType){case"WINDOW_RESIZE":e.resize(a.height);break;case"WINDOW_BLUR":e.blur();break;case"WINDOW_FOCUS":e.focus();break;case"UPDATA_USER_INFO":e.updateUserInfo(a.info);break;case"CLEAR_USER_INFO":e.clearUserInfo();break;case"SET_AUTO_COMPLETET":e.setAutoComplete(a.url);break;case"FOCUS_ADDRESSBAR":e.focusAddressBar(a.webviewID);break;case"CLEAR_ADDRESSBAR_HISTORY":e.clearAddressHistory(a.data);break;case"BODY_CLICK":e.bodyClick(a.event);break;case"SHOW_SETTING":e.showSetting();break;case"SHOW_LOGIN_LAYER":e.showLoginLayer();break;case"SHOW_ABOUT_LAYER":e.showAbout();break;case"UPDATA_PROXY_SETTING":e.updataProxySetting(a.proxyType,a.callback);break;case"SHOW_TIPS_MSG":e.showTipsMsg(a.opt);break;case"CHANGE_DEVTOOLS":e.changeDevtools();break;case"UP_USER_TICKET":e.upUserTikcet(a.newticket,a.ticketExpiredTime);break;case"DEL_USER_TICKET":e.delUserTicket();break;case"SAVE_SETTING":e.saveSetting(a.data);break;case"CHANGE_WEBVIEW_URL":e.changeUrl(a.url,a.webviewID);break;case"CLOSE_WEBVIEW_DEVTOOLS":e.closeDevtools(a.webviewID);break;case"OPEN_WEBVIEW_DEVTOOLS":e.openDevtools(a.webviewID,a.webview,a.webviewOffset);break;case"WINDOW_SET_WEBVIEW_INFO":e.setInfo(a.data);break;case"APP_ENTER_BACKGROUND":e.appEnterBackground();break;case"APP_ENTER_FOREGROUND":e.appEnterForeground(a.data);break;case"CLICK_TOOLSBAR":e.clickToolsbar(a.clickkey);break;case"OPERATE_MUSIC_PLAY":e.operateMusicPlayer(a.opt);break;case"GET_MUSIC_PLAY_STATE":e.getMusicPlayState(a.callback);break;case"START_WEBVIEW_DEBUGGEE":e.startDebuggee(a.webviewID,a.data);break;case"WINDOW_CHANGE_WEBVIEW_ID":e.changeWebviewID(a.webviewID);break;case"WINDOW_GET_WEBAPP_ERROR":e.getWeappError(a.webviewID,a.url,a.errStr);break;case"WINDOW_SHOW_WEBAPP_ERROR":e.showWeappError(a.type,a.event);case"WINDOW_SHOW_CONFIRM":e.showConfirm(a.data);break;case"WINDOW_SHOW_SIMULATOR_CONFIRM":e.showSimulatorConfirm(a.data);break;case"OPEN_PROJECT_FILE":e.openProjectFile(a.data);break;case"TOGGLE_NEW_FEACHE_CHECK_SHOW_STATUS":e.toggleNewFeatureCheckShowStatus(a.status);break;case"SHOW_CUSTOM_PREVIEW":e.showCustomPreview(a.options);break;case"WINDOW_SHOW_AUTHORIZE_CONFIRM":e.showAuthorizeConfirm(a.data);break;case"EDITOR_FOCUS":e.editorFocus();break;case"EDITOR_BLUR":e.editorBlur()}})}}init();
\ No newline at end of file
diff --git a/app/dist/editor/index.min.js b/app/dist/editor/index.min.js
index ec55e63d..9f5e89c8 100644
--- a/app/dist/editor/index.min.js
+++ b/app/dist/editor/index.min.js
@@ -1,13 +1,13 @@
-!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";var r=n(2),o=n(3),i=n(4),a=n(38),s=n(68),l=n(242),c=n(250),u=n(11),d=n(16),p=n(19),f=n(253),h=n(258);n(259);var g,m,v=!0,b=r.createClass({displayName:"Page",getInitialState:function(){return this.changeFileList={},{showSearchResultTab:!1,searchResultTabSelected:!1,showSearchResultContent:!1,searchResult:[],currentFile:"",files:[],tree:[],code:"",showCode:!1,appname:"",appid:"",modifiedFiles:[],treeStyle:{display:"flex",width:"300px"},isSearchFile:!1,simulatorShow:!0,fileinfo:{},isSearchFileGlobally:!1,searchKey:"",searchGloballyOpts:{wholeword:!1,i:!0,initPos:{top:100,left:100}},resizeEditor:0}},fileChange:function(){var e=this;clearTimeout(g),g=setTimeout(function(){window.EditBridge.getFileList(function(t,n){if(t||e.setState({tree:n.files,fileinfo:n.info}),v){e.getOpenFilesfromDB();var r=e;p.getItem("editorRightWidth",function(e){e&&r.setState({treeStyle:{width:e}})}),v=!1}})},17)},openSearchResult:function(e,t){var n=this,r=Object.assign([],this.state.files);if(r.indexOf(null)<0){var o=r.length;r[o]=null}EditBridge.findStr(e,t,function(o,i){n.setState({showSearchResultTab:!0,searchResultTabSelected:!0,showSearchResultContent:!0,searchResult:i,searchKey:e,searchGloballyOpts:t,files:r})})},globallySearch:function(e){var t=Object.assign([],this.state.searchGloballyOpts);t.cwd="undefined"!=e?e:"",this.setState({isSearchFileGlobally:!0,searchGloballyOpts:t})},folderNameChange:function(e,t){var n=Object.assign([],this.state.files),r=[];0==e.indexOf("/")&&(e=e.substr(1)),0==t.indexOf("/")&&(t=t.substr(1));for(var o=0;o-1&&0==i.indexOf(e)&&(i=i.replace(e,t)),r.push(i)}var a=this.state.currentFile;a.indexOf("/")>-1&&0==a.indexOf(e)&&(a=a.replace(e,t)),this.setState({files:r,currentFile:a})},componentDidMount:function(){var e=this;d.on("FILE_CHANGE",this.fileChange),d.on("FOLDER_NAME_CHANGE",this.folderNameChange),d.on("FILE_NAME_CHANGE",this.fileNameChange);var t=function(){e.fileChange(),EditBridge.on("FILE_CHANGE",function(t,n){u.fileChange();var r=n.replace(/\\/g,"/");window.editorState&&window.editorState[r]&&(window.editorState[r]=void 0),"change"==t&&(r==e.state.currentFile?u.editorEvent("FILE_CONTENT_CHANGE",r,!0):e.changeFileList[r]=!0),"unlink"==t&&window.EditBridge.getFileList(function(t,n){t||e.setState({tree:n.files,fileinfo:n.info})})}),EditBridge.getProjectInfo(function(t,n){e.setState({appname:n.appname,appid:n.appid,simulatorShow:n.editWebview||!1}),p.init(e.state.appid,e.state.appname)}),EditBridge.on("WINDOW_CHANGE",function(e){"blur"==e&&u.editorEvent("SET_CURSOR",t.state.currentFile)});var t=e;EditBridge.on("WEBVIEW_SHOW_CHANGE",function(e){t.setState({simulatorShow:e})}),EditBridge.on("OPEN_FILE",function(e){t.editorRevealPosition(e.file,parseInt(e.line),1)})};window.EditBridge?t():document.addEventListener("EditBridgeReady",function(){t()}),window.addEventListener("resize",function(t){var n=e.state.currentFile;u.editorEvent("RESIZE_EDITOR",n,n);var r=e.state.resizeEditor+1;e.setState({resizeEditor:r})}),window.addEventListener("keydown",function(t){var n=t.code.toLowerCase();if("keys"===n&&(t.ctrlKey||t.metaKey)){var r=e.state.currentFile;if(!r)return;u.editorEvent("SAVE_FILE",r,r);var o=e.state.modifiedFiles;o.splice(o.indexOf(r),1)}if("keys"===n&&t.shiftKey&&t.ctrlKey){var i=e.state.modifiedFiles;for(var a in i)u.editorEvent("SAVE_FILE",i[a],i[a]);e.setState({modifiedFiles:[]})}if("backslash"===n&&(t.ctrlKey||t.metaKey)&&e.handleHideTree(),"keyp"===n&&(t.ctrlKey||t.metaKey)){var s=e.state.isSearchFile;e.setState({isSearchFile:!s})}if("escape"===n&&e.state.isSearchFile&&e.setState({isSearchFile:!1}),"keyw"===n&&t.ctrlKey&&e.closeFile(e.state.currentFile),"keym"===n&&t.ctrlKey){var l=e.state.simulatorShow;e.setState({simulatorShow:!l}),EditBridge.setEditWebview(!l,function(e,t){})}"keyf"===n&&t.shiftKey&&t.ctrlKey&&e.globallySearch()}),d.on("DidChangeModelContent",function(t){e.state.modifiedFiles.indexOf(t)<0&&e.setState({modifiedFiles:[t].concat(e.state.modifiedFiles)})}),d.on("DidModelSave",function(t){e.state.tree.indexOf(t)==-1&&window.EditBridge.getFileList(function(t,n){t||e.setState({tree:n.files,fileinfo:n.info})})}),window.oncontextmenu=function(e){var t=e.target.className;(t.indexOf("directory")>-1||t.indexOf("filetab-list")>-1||t.indexOf("root-folder")>-1)&&e.preventDefault()}},componentWillUnmount:function(){d.removeListener("FILE_CHANGE",this.fileChange),d.removeListener("FILE_NAME_CHANGE",this.fileNameChange)},saveOpenFilestoDB:function(e,t){p.setItem("openFiles",{currentFile:e,files:t})},fileNameChange:function(e,t){var n=this.state.files,r=this.state.files.indexOf(e),o=this.state.currentFile;r!=-1&&(n[r]=t),e==this.state.currentFile&&(o=t),this.setState({files:n,currentFile:o})},editorRevealPosition:function(e,t,n){this.openFile(e),window.setTimeout(function(){u.editorEvent("REVEAL_POSITION",e,{lineNumber:t,column:n})},30)},getOpenFilesfromDB:function(){var e=this;p.getItem("openFiles",function(t){if(t&&t.files){for(var n=[],r=t.currentFile,o=e.state.tree,i=0;i-1&&n.push(t.files[i]);o.indexOf(r)==-1&&(r=n[0],t.currentFile=r),t.files=n,e.setState(t)}})},closeFile:function(e){var t=this.state.currentFile,n=Object.assign([],this.state.files),r=n.indexOf(e);if(r!=-1){n.splice(r,1);var o="";o=n.indexOf(t)>-1?t:0==r?n[0]:n[r-1],null===o&&this.setState({searchResultTabSelected:!0,showSearchResultContent:!0}),this.setState({currentFile:o,files:n}),this.saveOpenFilestoDB(o,n)}},closeSearchResult:function(){var e=this.state.currentFile,t=Object.assign([],this.state.files),n=t.indexOf(null);n>=0&&t.splice(n,1);var r=void 0;r=t.indexOf(e)>-1?e:0==n?t[0]:t[n-1],this.setState({currentFile:r,showSearchResultTab:!1,searchResultTabSelected:!1,showSearchResultContent:!1,files:t})},resultItemClicked:function(){this.setState({searchResultTabSelected:!0,showSearchResultContent:!0})},openFile:function(e){this.setState({isSearchFile:!1,showSearchResultContent:!1,searchResultTabSelected:!1});var t=(this.state.currentFile,Object.assign([],this.state.files));t.indexOf(e)>-1?(this.setState({currentFile:e}),this.changeFileList[e]&&(u.editorEvent("FILE_CONTENT_CHANGE",e,!0),this.changeFileList[e]=!1)):(t.push(e),this.setState({files:t,currentFile:e})),this.saveOpenFilestoDB(e,t);var n=window.editorState?window.editorState[e]:null,r=n?n.viewState:null;u.cursorChange(r)},addFile:function(e){},delFile:function(e){var t=Object.assign([],this.state.files),n=t.indexOf(e),r=this.state.currentFile;t.splice(n,1),this.state.currentFile==e&&(r=t[0]),this.setState({currentFile:r,files:t})},delDir:function(e){e=(e+"/").replace(/^\//,"")},bodyClick:function(e){u.bodyClick(e);var t=!!e&&e.target;t&&(t.className.indexOf("search-input")>-1||t.className.indexOf("search-result-item-desc")>-1)||this.state.isSearchFile&&this.setState({isSearchFile:!1})},resizeRightMouseDown:function(e){return m=!0,!1},resizeRightMouseMove:function(e){if(m){var t=document.body.clientWidth-200,n=300,r=0,o=e.clientX;r=o>t?t:o1){for(var m=Array(g),v=0;v1){for(var y=Array(b),A=0;A>"),S={array:a("array"),bool:a("boolean"),func:a("function"),number:a("number"),object:a("object"),string:a("string"),symbol:a("symbol"),any:s(),arrayOf:l,element:c(),instanceOf:u,node:h(),objectOf:p,oneOf:d,oneOfType:f,shape:g};o.prototype=Error.prototype,t.exports=S},{12:12,14:14,19:19,23:23,26:26,9:9}],14:[function(e,t,n){"use strict";var r="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";t.exports=r},{}],15:[function(e,t,n){"use strict";function r(e,t,n){this.props=e,this.context=t,this.refs=l,this.updater=n||s}function o(){}var i=e(27),a=e(6),s=e(11),l=e(24);o.prototype=a.prototype,r.prototype=new o,r.prototype.constructor=r,i(r.prototype,a.prototype),r.prototype.isPureReactComponent=!0,t.exports=r},{11:11,24:24,27:27,6:6}],16:[function(e,t,n){"use strict";var r=e(27),o=e(3),i=r({__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentOwner:e(7)}},o);t.exports=i},{27:27,3:3,7:7}],17:[function(e,t,n){"use strict";t.exports="15.4.1"},{}],18:[function(e,t,n){"use strict";var r=!1;t.exports=r},{}],19:[function(e,t,n){"use strict";function r(e){var t=e&&(o&&e[o]||e[i]);if("function"==typeof t)return t}var o="function"==typeof Symbol&&Symbol.iterator,i="@@iterator";t.exports=r},{}],20:[function(e,t,n){"use strict";function r(e){return i.isValidElement(e)?void 0:o("143"),e}var o=e(21),i=e(9);e(25),t.exports=r},{21:21,25:25,9:9}],21:[function(e,t,n){"use strict";function r(e){for(var t=arguments.length-1,n="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,r=0;r8&&x<=11),C=32,k=String.fromCharCode(C),T={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:["topBlur","topCompositionEnd","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:["topBlur","topCompositionStart","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:["topBlur","topCompositionUpdate","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]}},S=!1,_=null,D={eventTypes:T,extractEvents:function(e,t,n,r){return[c(e,t,n,r),p(e,t,n,r)]}};t.exports=D},{123:123,19:19,20:20,78:78,82:82}],4:[function(e,t,n){"use strict";function r(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}var o={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},i=["Webkit","ms","Moz","O"];Object.keys(o).forEach(function(e){i.forEach(function(t){o[r(t,e)]=o[e]})});var a={background:{backgroundAttachment:!0,backgroundColor:!0,backgroundImage:!0,backgroundPositionX:!0,backgroundPositionY:!0,backgroundRepeat:!0},backgroundPosition:{backgroundPositionX:!0,backgroundPositionY:!0},border:{borderWidth:!0,borderStyle:!0,borderColor:!0},borderBottom:{borderBottomWidth:!0,borderBottomStyle:!0,borderBottomColor:!0},borderLeft:{borderLeftWidth:!0,borderLeftStyle:!0,borderLeftColor:!0},borderRight:{borderRightWidth:!0,borderRightStyle:!0,borderRightColor:!0},borderTop:{borderTopWidth:!0,borderTopStyle:!0,borderTopColor:!0},font:{fontStyle:!0,fontVariant:!0,fontWeight:!0,fontSize:!0,lineHeight:!0,fontFamily:!0},outline:{outlineWidth:!0,outlineStyle:!0,outlineColor:!0}},s={isUnitlessNumber:o,shorthandPropertyExpansions:a};t.exports=s},{}],5:[function(e,t,n){"use strict";var r=e(4),o=e(123),i=(e(58),e(125),e(94)),a=e(136),s=e(140),l=(e(142),s(function(e){return a(e)})),c=!1,u="cssFloat";if(o.canUseDOM){var d=document.createElement("div").style;try{d.font=""}catch(e){c=!0}void 0===document.documentElement.style.cssFloat&&(u="styleFloat")}var p={createMarkupForStyles:function(e,t){var n="";for(var r in e)if(e.hasOwnProperty(r)){var o=e[r];null!=o&&(n+=l(r)+":",n+=i(r,o,t)+";")}return n||null},setValueForStyles:function(e,t,n){var o=e.style;for(var a in t)if(t.hasOwnProperty(a)){var s=i(a,t[a],n);if("float"!==a&&"cssFloat"!==a||(a=u),s)o[a]=s;else{var l=c&&r.shorthandPropertyExpansions[a];if(l)for(var d in l)o[d]="";else o[a]=""}}}};t.exports=p},{123:123,125:125,136:136,140:140,142:142,4:4,58:58,94:94}],6:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=e(113),i=e(24),a=(e(137),function(){function e(t){r(this,e),this._callbacks=null,this._contexts=null,this._arg=t}return e.prototype.enqueue=function(e,t){this._callbacks=this._callbacks||[],this._callbacks.push(e),this._contexts=this._contexts||[],this._contexts.push(t)},e.prototype.notifyAll=function(){var e=this._callbacks,t=this._contexts,n=this._arg;if(e&&t){e.length!==t.length?o("24"):void 0,this._callbacks=null,this._contexts=null;for(var r=0;r8));var R=!1;A.canUseDOM&&(R=k("input")&&(!document.documentMode||document.documentMode>11));var M={get:function(){return N.get.call(this)},set:function(e){O=""+e,N.set.call(this,e)}},P={eventTypes:S,extractEvents:function(e,t,n,o){var i,a,s=t?x.getNodeFromInstance(t):window;if(r(s)?I?i=l:a=c:T(s)?R?i=f:(i=g,a=h):m(s)&&(i=v),i){var u=i(e,t);if(u){var d=w.getPooled(S.change,u,n,o);return d.type="change",y.accumulateTwoPhaseDispatches(d),d}}a&&a(e,s,t)}};t.exports=P},{102:102,110:110,111:111,123:123,16:16,19:19,33:33,71:71,80:80}],8:[function(e,t,n){"use strict";function r(e,t){return Array.isArray(t)&&(t=t[1]),t?t.nextSibling:e.firstChild}function o(e,t,n){u.insertTreeBefore(e,t,n)}function i(e,t,n){Array.isArray(t)?s(e,t[0],t[1],n):g(e,t,n)}function a(e,t){if(Array.isArray(t)){var n=t[1];t=t[0],l(e,t,n),e.removeChild(n)}e.removeChild(t)}function s(e,t,n,r){for(var o=t;;){var i=o.nextSibling;if(g(e,o,r),o===n)break;o=i}}function l(e,t,n){for(;;){var r=t.nextSibling;if(r===n)break;e.removeChild(r)}}function c(e,t,n){var r=e.parentNode,o=e.nextSibling;o===t?n&&g(r,document.createTextNode(n),o):n?(h(o,n),l(r,o,t)):l(r,e,t)}var u=e(9),d=e(13),p=(e(33),e(58),e(93)),f=e(115),h=e(116),g=p(function(e,t,n){e.insertBefore(t,n)}),m=d.dangerouslyReplaceNodeWithMarkup,v={dangerouslyReplaceNodeWithMarkup:m,replaceDelimitedText:c,processUpdates:function(e,t){for(var n=0;n-1?void 0:a("96",e),!c.plugins[n]){t.extractEvents?void 0:a("97",e),c.plugins[n]=t;var r=t.eventTypes;for(var i in r)o(r[i],t,i)?void 0:a("98",i,e)}}}function o(e,t,n){c.eventNameDispatchConfigs.hasOwnProperty(n)?a("99",n):void 0,c.eventNameDispatchConfigs[n]=e;var r=e.phasedRegistrationNames;if(r){for(var o in r)if(r.hasOwnProperty(o)){var s=r[o];i(s,t,n)}return!0}return!!e.registrationName&&(i(e.registrationName,t,n),!0)}function i(e,t,n){c.registrationNameModules[e]?a("100",e):void 0,c.registrationNameModules[e]=t,c.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var a=e(113),s=(e(137),null),l={},c={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:null,injectEventPluginOrder:function(e){s?a("101"):void 0,s=Array.prototype.slice.call(e),r()},injectEventPluginsByName:function(e){var t=!1;for(var n in e)if(e.hasOwnProperty(n)){var o=e[n];l.hasOwnProperty(n)&&l[n]===o||(l[n]?a("102",n):void 0,l[n]=o,t=!0)}t&&r()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return c.registrationNameModules[t.registrationName]||null;if(void 0!==t.phasedRegistrationNames){var n=t.phasedRegistrationNames;for(var r in n)if(n.hasOwnProperty(r)){var o=c.registrationNameModules[n[r]];if(o)return o}}return null},_resetEventPlugins:function(){s=null;for(var e in l)l.hasOwnProperty(e)&&delete l[e];c.plugins.length=0;var t=c.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var r=c.registrationNameModules;for(var o in r)r.hasOwnProperty(o)&&delete r[o]}};t.exports=c},{113:113,137:137}],18:[function(e,t,n){"use strict";function r(e){return"topMouseUp"===e||"topTouchEnd"===e||"topTouchCancel"===e}function o(e){return"topMouseMove"===e||"topTouchMove"===e}function i(e){return"topMouseDown"===e||"topTouchStart"===e}function a(e,t,n,r){var o=e.type||"unknown-event";e.currentTarget=v.getNodeFromInstance(r),t?g.invokeGuardedCallbackWithCatch(o,n,e):g.invokeGuardedCallback(o,n,e),e.currentTarget=null}function s(e,t){var n=e._dispatchListeners,r=e._dispatchInstances;if(Array.isArray(n))for(var o=0;o1?1-t:void 0;return this._fallbackText=o.slice(e,s),this._fallbackText}}),i.addPoolingTo(r),t.exports=r},{107:107,143:143,24:24}],21:[function(e,t,n){"use strict";var r=e(11),o=r.injection.MUST_USE_PROPERTY,i=r.injection.HAS_BOOLEAN_VALUE,a=r.injection.HAS_NUMERIC_VALUE,s=r.injection.HAS_POSITIVE_NUMERIC_VALUE,l=r.injection.HAS_OVERLOADED_BOOLEAN_VALUE,c={isCustomAttribute:RegExp.prototype.test.bind(new RegExp("^(data|aria)-["+r.ATTRIBUTE_NAME_CHAR+"]*$")),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:i,allowTransparency:0,alt:0,as:0,async:i,autoComplete:0,autoPlay:i,capture:i,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:o|i,cite:0,classID:0,className:0,cols:s,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:i,coords:0,crossOrigin:0,data:0,dateTime:0,"default":i,defer:i,dir:0,disabled:i,download:l,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:i,formTarget:0,frameBorder:0,headers:0,height:0,hidden:i,high:0,href:0,hrefLang:0,htmlFor:0,httpEquiv:0,icon:0,id:0,inputMode:0,integrity:0,is:0,keyParams:0,keyType:0,kind:0,label:0,lang:0,list:0,loop:i,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,media:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:o|i,muted:o|i,name:0,nonce:0,noValidate:i,open:i,optimum:0,pattern:0,placeholder:0,playsInline:i,poster:0,preload:0,profile:0,radioGroup:0,readOnly:i,referrerPolicy:0,rel:0,required:i,reversed:i,role:0,rows:s,rowSpan:a,sandbox:0,scope:0,scoped:i,scrolling:0,seamless:i,selected:o|i,shape:0,size:s,sizes:0,span:s,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:a,step:0,style:0,summary:0,tabIndex:0,target:0,title:0,type:0,useMap:0,value:0,width:0,wmode:0,wrap:0,about:0,datatype:0,inlist:0,prefix:0,property:0,resource:0,"typeof":0,vocab:0,autoCapitalize:0,autoCorrect:0,autoSave:0,color:0,itemProp:0,itemScope:i,itemType:0,itemID:0,itemRef:0,results:0,security:0,unselectable:0},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{}};t.exports=c},{11:11}],22:[function(e,t,n){"use strict";function r(e){var t=/[=:]/g,n={"=":"=0",":":"=2"},r=(""+e).replace(t,function(e){return n[e]});return"$"+r}function o(e){var t=/(=0|=2)/g,n={"=0":"=","=2":":"},r="."===e[0]&&"$"===e[1]?e.substring(2):e.substring(1);return(""+r).replace(t,function(e){return n[e]})}var i={escape:r,unescape:o};t.exports=i},{}],23:[function(e,t,n){"use strict";function r(e){null!=e.checkedLink&&null!=e.valueLink?s("87"):void 0}function o(e){r(e),null!=e.value||null!=e.onChange?s("88"):void 0}function i(e){r(e),null!=e.checked||null!=e.onChange?s("89"):void 0}function a(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}var s=e(113),l=e(121),c=e(64),u=(e(137),e(142),{button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0}),d={value:function(e,t,n){return!e[t]||u[e.type]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.")},checked:function(e,t,n){return!e[t]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.")},onChange:l.PropTypes.func},p={},f={checkPropTypes:function(e,t,n){for(var r in d){if(d.hasOwnProperty(r))var o=d[r](t,r,e,"prop",null,c);o instanceof Error&&!(o.message in p)&&(p[o.message]=!0,a(n))}},getValue:function(e){return e.valueLink?(o(e),e.valueLink.value):e.value},getChecked:function(e){return e.checkedLink?(i(e),e.checkedLink.value):e.checked},executeOnChange:function(e,t){return e.valueLink?(o(e),e.valueLink.requestChange(t.target.value)):e.checkedLink?(i(e),e.checkedLink.requestChange(t.target.checked)):e.onChange?e.onChange.call(void 0,t):void 0}};t.exports=f},{113:113,121:121,137:137,142:142,64:64}],24:[function(e,t,n){"use strict";var r=e(113),o=(e(137),function(e){var t=this;if(t.instancePool.length){var n=t.instancePool.pop();return t.call(n,e),n}return new t(e)}),i=function(e,t){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,e,t),r}return new n(e,t)},a=function(e,t,n){var r=this;if(r.instancePool.length){var o=r.instancePool.pop();return r.call(o,e,t,n),o}return new r(e,t,n)},s=function(e,t,n,r){var o=this;if(o.instancePool.length){var i=o.instancePool.pop();return o.call(i,e,t,n,r),i}return new o(e,t,n,r)},l=function(e,t,n,r,o){var i=this;if(i.instancePool.length){var a=i.instancePool.pop();return i.call(a,e,t,n,r,o),a}return new i(e,t,n,r,o)},c=function(e){var t=this;e instanceof t?void 0:r("25"),e.destructor(),t.instancePool.length=0||null!=t.is}function h(e){var t=e.type;p(t),this._currentElement=e,this._tag=t.toLowerCase(),this._namespaceURI=null,this._renderedChildren=null,this._previousStyle=null,this._previousStyleCopy=null,this._hostNode=null,this._hostParent=null,this._rootNodeID=0,this._domID=0,this._hostContainerInfo=null,this._wrapperState=null,this._topLevelWrapper=null,this._flags=0}var g=e(113),m=e(143),v=e(2),b=e(5),y=e(9),A=e(10),x=e(11),E=e(12),w=e(16),C=e(17),k=e(25),T=e(32),S=e(33),_=e(38),D=e(39),O=e(40),N=e(43),I=(e(58),e(61)),R=e(68),M=(e(129),e(95)),P=(e(137),e(110),e(141),e(119),e(142),T),F=w.deleteListener,j=S.getNodeFromInstance,L=k.listenTo,B=C.registrationNameModules,U={string:!0,number:!0},H="style",V="__html",G={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null},K=11,Q={topAbort:"abort",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topSeeked:"seeked",topSeeking:"seeking",topStalled:"stalled",topSuspend:"suspend",topTimeUpdate:"timeupdate",topVolumeChange:"volumechange",topWaiting:"waiting"},Y={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},W={listing:!0,pre:!0,textarea:!0},z=m({menuitem:!0},Y),J=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,q={},X={}.hasOwnProperty,Z=1;h.displayName="ReactDOMComponent",h.Mixin={mountComponent:function(e,t,n,r){this._rootNodeID=Z++,this._domID=n._idCounter++,this._hostParent=t,this._hostContainerInfo=n;var i=this._currentElement.props;switch(this._tag){case"audio":case"form":case"iframe":case"img":case"link":case"object":case"source":case"video":this._wrapperState={listeners:null},e.getReactMountReady().enqueue(u,this);break;case"input":_.mountWrapper(this,i,t),i=_.getHostProps(this,i),e.getReactMountReady().enqueue(u,this);break;case"option":D.mountWrapper(this,i,t),i=D.getHostProps(this,i);break;case"select":O.mountWrapper(this,i,t),i=O.getHostProps(this,i),e.getReactMountReady().enqueue(u,this);break;case"textarea":N.mountWrapper(this,i,t),i=N.getHostProps(this,i),e.getReactMountReady().enqueue(u,this)}o(this,i);var a,d;null!=t?(a=t._namespaceURI,d=t._tag):n._tag&&(a=n._namespaceURI,d=n._tag),(null==a||a===A.svg&&"foreignobject"===d)&&(a=A.html),a===A.html&&("svg"===this._tag?a=A.svg:"math"===this._tag&&(a=A.mathml)),this._namespaceURI=a;var p;if(e.useCreateElement){var f,h=n._ownerDocument;if(a===A.html)if("script"===this._tag){var g=h.createElement("div"),m=this._currentElement.type;g.innerHTML="<"+m+">"+m+">",f=g.removeChild(g.firstChild)}else f=i.is?h.createElement(this._currentElement.type,i.is):h.createElement(this._currentElement.type);else f=h.createElementNS(a,this._currentElement.type);S.precacheNode(this,f),this._flags|=P.hasCachedChildNodes,this._hostParent||E.setAttributeForRoot(f),this._updateDOMProperties(null,i,e);var b=y(f);this._createInitialChildren(e,i,r,b),p=b}else{var x=this._createOpenTagMarkupAndPutListeners(e,i),w=this._createContentMarkup(e,i,r);p=!w&&Y[this._tag]?x+"/>":x+">"+w+""+this._currentElement.type+">"}switch(this._tag){case"input":e.getReactMountReady().enqueue(s,this),i.autoFocus&&e.getReactMountReady().enqueue(v.focusDOMComponent,this);break;case"textarea":e.getReactMountReady().enqueue(l,this),i.autoFocus&&e.getReactMountReady().enqueue(v.focusDOMComponent,this);break;case"select":i.autoFocus&&e.getReactMountReady().enqueue(v.focusDOMComponent,this);break;case"button":i.autoFocus&&e.getReactMountReady().enqueue(v.focusDOMComponent,this);break;case"option":e.getReactMountReady().enqueue(c,this)}return p},_createOpenTagMarkupAndPutListeners:function(e,t){var n="<"+this._currentElement.type;for(var r in t)if(t.hasOwnProperty(r)){var o=t[r];if(null!=o)if(B.hasOwnProperty(r))o&&i(this,r,o,e);else{r===H&&(o&&(o=this._previousStyleCopy=m({},t.style)),o=b.createMarkupForStyles(o,this));var a=null;null!=this._tag&&f(this._tag,t)?G.hasOwnProperty(r)||(a=E.createMarkupForCustomAttribute(r,o)):a=E.createMarkupForProperty(r,o),a&&(n+=" "+a)}}return e.renderToStaticMarkup?n:(this._hostParent||(n+=" "+E.createMarkupForRoot()),n+=" "+E.createMarkupForID(this._domID))},_createContentMarkup:function(e,t,n){var r="",o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&(r=o.__html);else{var i=U[typeof t.children]?t.children:null,a=null!=i?null:t.children;if(null!=i)r=M(i);else if(null!=a){var s=this.mountChildren(a,e,n);r=s.join("")}}return W[this._tag]&&"\n"===r.charAt(0)?"\n"+r:r},_createInitialChildren:function(e,t,n,r){var o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&y.queueHTML(r,o.__html);else{var i=U[typeof t.children]?t.children:null,a=null!=i?null:t.children;if(null!=i)y.queueText(r,i);else if(null!=a)for(var s=this.mountChildren(a,e,n),l=0;l"},receiveComponent:function(){},getHostNode:function(){return i.getNodeFromInstance(this)},unmountComponent:function(){i.uncacheNode(this)}}),t.exports=a},{143:143,33:33,9:9}],36:[function(e,t,n){"use strict";var r={useCreateElement:!0,useFiber:!1};t.exports=r},{}],37:[function(e,t,n){"use strict";var r=e(8),o=e(33),i={dangerouslyProcessChildrenUpdates:function(e,t){var n=o.getNodeFromInstance(e);r.processUpdates(n,t)}};t.exports=i},{33:33,8:8}],38:[function(e,t,n){"use strict";function r(){this._rootNodeID&&d.updateWrapper(this)}function o(e){var t=this._currentElement.props,n=l.executeOnChange(t,e);u.asap(r,this);var o=t.name;if("radio"===t.type&&null!=o){for(var a=c.getNodeFromInstance(this),s=a;s.parentNode;)s=s.parentNode;for(var d=s.querySelectorAll("input[name="+JSON.stringify(""+o)+'][type="radio"]'),p=0;pt.end?(n=t.end,r=t.start):(n=t.start,r=t.end),o.moveToElementText(e),o.moveStart("character",n),o.setEndPoint("EndToStart",o),o.moveEnd("character",r-n),o.select()}function s(e,t){if(window.getSelection){var n=window.getSelection(),r=e[u()].length,o=Math.min(t.start,r),i=void 0===t.end?o:Math.min(t.end,r);if(!n.extend&&o>i){var a=i;i=o,o=a}var s=c(e,o),l=c(e,i);if(s&&l){var d=document.createRange();d.setStart(s.node,s.offset),n.removeAllRanges(),o>i?(n.addRange(d),n.extend(l.node,l.offset)):(d.setEnd(l.node,l.offset),n.addRange(d))}}}var l=e(123),c=e(106),u=e(107),d=l.canUseDOM&&"selection"in document&&!("getSelection"in window),p={getOffsets:d?o:i,setOffsets:d?a:s};t.exports=p},{106:106,107:107,123:123}],42:[function(e,t,n){"use strict";var r=e(113),o=e(143),i=e(8),a=e(9),s=e(33),l=e(95),c=(e(137),e(119),function(e){this._currentElement=e,this._stringText=""+e,
-this._hostNode=null,this._hostParent=null,this._domID=0,this._mountIndex=0,this._closingComment=null,this._commentNodes=null});o(c.prototype,{mountComponent:function(e,t,n,r){var o=n._idCounter++,i=" react-text: "+o+" ",c=" /react-text ";if(this._domID=o,this._hostParent=t,e.useCreateElement){var u=n._ownerDocument,d=u.createComment(i),p=u.createComment(c),f=a(u.createDocumentFragment());return a.queueChild(f,a(d)),this._stringText&&a.queueChild(f,a(u.createTextNode(this._stringText))),a.queueChild(f,a(p)),s.precacheNode(this,d),this._closingComment=p,f}var h=l(this._stringText);return e.renderToStaticMarkup?h:""+h+""},receiveComponent:function(e,t){if(e!==this._currentElement){this._currentElement=e;var n=""+e;if(n!==this._stringText){this._stringText=n;var r=this.getHostNode();i.replaceDelimitedText(r[0],r[1],n)}}},getHostNode:function(){var e=this._commentNodes;if(e)return e;if(!this._closingComment)for(var t=s.getNodeFromInstance(this),n=t.nextSibling;;){if(null==n?r("67",this._domID):void 0,8===n.nodeType&&" /react-text "===n.nodeValue){this._closingComment=n;break}n=n.nextSibling}return e=[this._hostNode,this._closingComment],this._commentNodes=e,e},unmountComponent:function(){this._closingComment=null,this._commentNodes=null,s.uncacheNode(this)}}),t.exports=c},{113:113,119:119,137:137,143:143,33:33,8:8,9:9,95:95}],43:[function(e,t,n){"use strict";function r(){this._rootNodeID&&u.updateWrapper(this)}function o(e){var t=this._currentElement.props,n=s.executeOnChange(t,e);return c.asap(r,this),n}var i=e(113),a=e(143),s=e(23),l=e(33),c=e(71),u=(e(137),e(142),{getHostProps:function(e,t){null!=t.dangerouslySetInnerHTML?i("91"):void 0;var n=a({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue,onChange:e._wrapperState.onChange});return n},mountWrapper:function(e,t){var n=s.getValue(t),r=n;if(null==n){var a=t.defaultValue,l=t.children;null!=l&&(null!=a?i("92"):void 0,Array.isArray(l)&&(l.length<=1?void 0:i("93"),l=l[0]),a=""+l),null==a&&(a=""),r=a}e._wrapperState={initialValue:""+r,listeners:null,onChange:o.bind(e)}},updateWrapper:function(e){var t=e._currentElement.props,n=l.getNodeFromInstance(e),r=s.getValue(t);if(null!=r){var o=""+r;o!==n.value&&(n.value=o),null==t.defaultValue&&(n.defaultValue=o)}null!=t.defaultValue&&(n.defaultValue=t.defaultValue)},postMountWrapper:function(e){var t=l.getNodeFromInstance(e);t.value=t.textContent}});t.exports=u},{113:113,137:137,142:142,143:143,23:23,33:33,71:71}],44:[function(e,t,n){"use strict";function r(e,t){"_hostNode"in e?void 0:l("33"),"_hostNode"in t?void 0:l("33");for(var n=0,r=e;r;r=r._hostParent)n++;for(var o=0,i=t;i;i=i._hostParent)o++;for(;n-o>0;)e=e._hostParent,n--;for(;o-n>0;)t=t._hostParent,o--;for(var a=n;a--;){if(e===t)return e;e=e._hostParent,t=t._hostParent}return null}function o(e,t){"_hostNode"in e?void 0:l("35"),"_hostNode"in t?void 0:l("35");for(;t;){if(t===e)return!0;t=t._hostParent}return!1}function i(e){return"_hostNode"in e?void 0:l("36"),e._hostParent}function a(e,t,n){for(var r=[];e;)r.push(e),e=e._hostParent;var o;for(o=r.length;o-- >0;)t(r[o],"captured",n);for(o=0;o0;)n(l[c],"captured",i)}var l=e(113);e(137),t.exports={isAncestor:o,getLowestCommonAncestor:r,getParentInstance:i,traverseTwoPhase:a,traverseEnterLeave:s}},{113:113,137:137}],45:[function(e,t,n){"use strict";var r=e(143),o=e(30),i=r({__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactInstanceMap:e(57)}},o);t.exports=i},{143:143,30:30,57:57}],46:[function(e,t,n){"use strict";function r(){this.reinitializeTransaction()}var o=e(143),i=e(71),a=e(89),s=e(129),l={initialize:s,close:function(){p.isBatchingUpdates=!1}},c={initialize:s,close:i.flushBatchedUpdates.bind(i)},u=[c,l];o(r.prototype,a,{getTransactionWrappers:function(){return u}});var d=new r,p={isBatchingUpdates:!1,batchedUpdates:function(e,t,n,r,o,i){var a=p.isBatchingUpdates;return p.isBatchingUpdates=!0,a?e(t,n,r,o,i):d.perform(e,null,t,n,r,o,i)}};t.exports=p},{129:129,143:143,71:71,89:89}],47:[function(e,t,n){"use strict";function r(){w||(w=!0,b.EventEmitter.injectReactEventListener(v),b.EventPluginHub.injectEventPluginOrder(s),b.EventPluginUtils.injectComponentTree(p),b.EventPluginUtils.injectTreeTraversal(h),b.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:E,EnterLeaveEventPlugin:l,ChangeEventPlugin:a,SelectEventPlugin:x,BeforeInputEventPlugin:i}),b.HostComponent.injectGenericComponentClass(d),b.HostComponent.injectTextComponentClass(g),b.DOMProperty.injectDOMPropertyConfig(o),b.DOMProperty.injectDOMPropertyConfig(c),b.DOMProperty.injectDOMPropertyConfig(A),b.EmptyComponent.injectEmptyComponentFactory(function(e){return new f(e)}),b.Updates.injectReconcileTransaction(y),b.Updates.injectBatchingStrategy(m),b.Component.injectEnvironment(u))}var o=e(1),i=e(3),a=e(7),s=e(14),l=e(15),c=e(21),u=e(27),d=e(31),p=e(33),f=e(35),h=e(44),g=e(42),m=e(46),v=e(52),b=e(55),y=e(65),A=e(73),x=e(74),E=e(75),w=!1;t.exports={inject:r}},{1:1,14:14,15:15,21:21,27:27,3:3,31:31,33:33,35:35,42:42,44:44,46:46,52:52,55:55,65:65,7:7,73:73,74:74,75:75}],48:[function(e,t,n){"use strict";var r="function"==typeof Symbol&&Symbol["for"]&&Symbol["for"]("react.element")||60103;t.exports=r},{}],49:[function(e,t,n){"use strict";var r,o={injectEmptyComponentFactory:function(e){r=e}},i={create:function(e){return r(e)}};i.injection=o,t.exports=i},{}],50:[function(e,t,n){"use strict";function r(e,t,n){try{t(n)}catch(e){null===o&&(o=e)}}var o=null,i={invokeGuardedCallback:r,invokeGuardedCallbackWithCatch:r,rethrowCaughtError:function(){if(o){var e=o;throw o=null,e}}};t.exports=i},{}],51:[function(e,t,n){"use strict";function r(e){o.enqueueEvents(e),o.processEventQueue(!1)}var o=e(16),i={handleTopLevel:function(e,t,n,i){var a=o.extractEvents(e,t,n,i);r(a)}};t.exports=i},{16:16}],52:[function(e,t,n){"use strict";function r(e){for(;e._hostParent;)e=e._hostParent;var t=d.getNodeFromInstance(e),n=t.parentNode;return d.getClosestInstanceFromNode(n)}function o(e,t){this.topLevelType=e,this.nativeEvent=t,this.ancestors=[]}function i(e){var t=f(e.nativeEvent),n=d.getClosestInstanceFromNode(t),o=n;do e.ancestors.push(o),o=o&&r(o);while(o);for(var i=0;i/,i=/^<\!\-\-/,a={CHECKSUM_ATTR_NAME:"data-react-checksum",addChecksumToMarkup:function(e){var t=r(e);return i.test(e)?e:e.replace(o," "+a.CHECKSUM_ATTR_NAME+'="'+t+'"$&')},canReuseMarkup:function(e,t){var n=t.getAttribute(a.CHECKSUM_ATTR_NAME);n=n&&parseInt(n,10);var o=r(e);return o===n}};t.exports=a},{92:92}],60:[function(e,t,n){"use strict";function r(e,t){for(var n=Math.min(e.length,t.length),r=0;r .":"function"==typeof t?" Instead of passing a class like Foo, pass React.createElement(Foo) or .":null!=t&&void 0!==t.props?" This may be caused by unintentionally loading two independent copies of React.":"");var a,s=m.createElement(L,{child:t});if(e){var l=E.get(e);a=l._processChildContext(l._context)}else a=S;var u=p(n);if(u){var d=u._currentElement,h=d.props.child;if(O(h,t)){var g=u._renderedComponent.getPublicInstance(),v=r&&function(){r.call(g)};return B._updateRootComponent(u,s,a,n,v),g}B.unmountComponentAtNode(n)}var b=o(n),y=b&&!!i(b),A=c(n),x=y&&!u&&!A,w=B._renderNewRootComponent(s,n,x,a)._renderedComponent.getPublicInstance();return r&&r.call(w),w},render:function(e,t,n){return B._renderSubtreeIntoContainer(null,e,t,n)},unmountComponentAtNode:function(e){u(e)?void 0:f("40");var t=p(e);return t?(delete F[t._instance.rootID],T.batchedUpdates(l,t,e,!1),!0):(c(e),1===e.nodeType&&e.hasAttribute(I),!1)},_mountImageIntoNode:function(e,t,n,i,a){if(u(t)?void 0:f("41"),i){var s=o(t);if(w.canReuseMarkup(e,s))return void b.precacheNode(n,s);var l=s.getAttribute(w.CHECKSUM_ATTR_NAME);s.removeAttribute(w.CHECKSUM_ATTR_NAME);var c=s.outerHTML;s.setAttribute(w.CHECKSUM_ATTR_NAME,l);var d=e,p=r(d,c),g=" (client) "+d.substring(p-20,p+20)+"\n (server) "+c.substring(p-20,p+20);t.nodeType===M?f("42",g):void 0}if(t.nodeType===M?f("43"):void 0,a.useCreateElement){for(;t.lastChild;)t.removeChild(t.lastChild);h.insertTreeBefore(t,e,null)}else D(t,e),b.precacheNode(n,t.firstChild)}};t.exports=B},{109:109,11:11,113:113,115:115,117:117,120:120,121:121,130:130,137:137,142:142,25:25,33:33,34:34,36:36,53:53,57:57,58:58,59:59,66:66,70:70,71:71,9:9}],61:[function(e,t,n){"use strict";function r(e,t,n){return{type:"INSERT_MARKUP",content:e,fromIndex:null,fromNode:null,toIndex:n,afterNode:t}}function o(e,t,n){return{type:"MOVE_EXISTING",content:null,fromIndex:e._mountIndex,fromNode:p.getHostNode(e),toIndex:n,afterNode:t}}function i(e,t){return{type:"REMOVE_NODE",content:null,fromIndex:e._mountIndex,fromNode:t,toIndex:null,afterNode:null}}function a(e){return{type:"SET_MARKUP",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function s(e){return{type:"TEXT_CONTENT",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function l(e,t){return t&&(e=e||[],e.push(t)),e}function c(e,t){d.processChildrenUpdates(e,t)}var u=e(113),d=e(28),p=(e(57),e(58),e(120),e(66)),f=e(26),h=(e(129),e(97)),g=(e(137),{Mixin:{_reconcilerInstantiateChildren:function(e,t,n){return f.instantiateChildren(e,t,n)},_reconcilerUpdateChildren:function(e,t,n,r,o,i){var a,s=0;return a=h(t,s),f.updateChildren(e,a,n,r,o,this,this._hostContainerInfo,i,s),a},mountChildren:function(e,t,n){var r=this._reconcilerInstantiateChildren(e,t,n);this._renderedChildren=r;var o=[],i=0;for(var a in r)if(r.hasOwnProperty(a)){var s=r[a],l=0,c=p.mountComponent(s,t,this,this._hostContainerInfo,n,l);s._mountIndex=i++,o.push(c)}return o},updateTextContent:function(e){var t=this._renderedChildren;f.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&u("118");var r=[s(e)];c(this,r)},updateMarkup:function(e){var t=this._renderedChildren;f.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&u("118");var r=[a(e)];c(this,r)},updateChildren:function(e,t,n){this._updateChildren(e,t,n)},_updateChildren:function(e,t,n){var r=this._renderedChildren,o={},i=[],a=this._reconcilerUpdateChildren(r,e,i,o,t,n);if(a||r){var s,u=null,d=0,f=0,h=0,g=null;for(s in a)if(a.hasOwnProperty(s)){var m=r&&r[s],v=a[s];m===v?(u=l(u,this.moveChild(m,g,d,f)),f=Math.max(m._mountIndex,f),m._mountIndex=d):(m&&(f=Math.max(m._mountIndex,f)),u=l(u,this._mountChildAtIndex(v,i[h],g,d,t,n)),h++),d++,g=p.getHostNode(v)}for(s in o)o.hasOwnProperty(s)&&(u=l(u,this._unmountChild(r[s],o[s])));u&&c(this,u),this._renderedChildren=a}},unmountChildren:function(e){var t=this._renderedChildren;f.unmountChildren(t,e),this._renderedChildren=null},moveChild:function(e,t,n,r){if(e._mountIndex0&&r.length<20?n+" (keys: "+r.join(", ")+")":n}function i(e,t){var n=s.get(e);return n?n:null}var a=e(113),s=(e(120),e(57)),l=(e(58),e(71)),c=(e(137),e(142),{isMounted:function(e){var t=s.get(e);return!!t&&!!t._renderedComponent},enqueueCallback:function(e,t,n){c.validateCallback(t,n);var o=i(e);return o?(o._pendingCallbacks?o._pendingCallbacks.push(t):o._pendingCallbacks=[t],void r(o)):null},enqueueCallbackInternal:function(e,t){e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],r(e)},enqueueForceUpdate:function(e){var t=i(e,"forceUpdate");t&&(t._pendingForceUpdate=!0,r(t))},enqueueReplaceState:function(e,t){var n=i(e,"replaceState");n&&(n._pendingStateQueue=[t],n._pendingReplaceState=!0,r(n))},enqueueSetState:function(e,t){var n=i(e,"setState");if(n){var o=n._pendingStateQueue||(n._pendingStateQueue=[]);o.push(t),r(n)}},enqueueElementInternal:function(e,t,n){e._pendingElement=t,e._context=n,r(e)},validateCallback:function(e,t){e&&"function"!=typeof e?a("122",t,o(e)):void 0}});t.exports=c},{113:113,120:120,137:137,142:142,57:57,58:58,71:71}],71:[function(e,t,n){"use strict";function r(){S.ReactReconcileTransaction&&x?void 0:u("123")}function o(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=p.getPooled(),this.reconcileTransaction=S.ReactReconcileTransaction.getPooled(!0)}function i(e,t,n,o,i,a){return r(),x.batchedUpdates(e,t,n,o,i,a)}function a(e,t){return e._mountOrder-t._mountOrder}function s(e){var t=e.dirtyComponentsLength;t!==v.length?u("124",t,v.length):void 0,v.sort(a),b++;for(var n=0;n]/;t.exports=o},{}],96:[function(e,t,n){"use strict";function r(e){if(null==e)return null;if(1===e.nodeType)return e;var t=a.get(e);return t?(t=s(t),t?i.getNodeFromInstance(t):null):void("function"==typeof e.render?o("44"):o("45",Object.keys(e)))}var o=e(113),i=(e(120),e(33)),a=e(57),s=e(103);e(137),e(142),t.exports=r},{103:103,113:113,120:120,137:137,142:142,33:33,57:57}],97:[function(e,t,n){(function(n){"use strict";function r(e,t,n,r){if(e&&"object"==typeof e){var o=e,i=void 0===o[n];i&&null!=t&&(o[n]=t)}}function o(e,t){if(null==e)return e;var n={};return i(e,r,n),n}var i=(e(22),e(118));e(142),"undefined"!=typeof n&&n.env,t.exports=o}).call(this,void 0)},{118:118,142:142,22:22}],98:[function(e,t,n){"use strict";function r(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}t.exports=r},{}],99:[function(e,t,n){"use strict";function r(e){var t,n=e.keyCode;return"charCode"in e?(t=e.charCode,0===t&&13===n&&(t=13)):t=n,t>=32||13===t?t:0}t.exports=r},{}],100:[function(e,t,n){"use strict";function r(e){if(e.key){var t=i[e.key]||e.key;if("Unidentified"!==t)return t}if("keypress"===e.type){var n=o(e);return 13===n?"Enter":String.fromCharCode(n)}return"keydown"===e.type||"keyup"===e.type?a[e.keyCode]||"Unidentified":""}var o=e(99),i={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},a={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"};t.exports=r},{99:99}],101:[function(e,t,n){"use strict";function r(e){var t=this,n=t.nativeEvent;if(n.getModifierState)return n.getModifierState(e);var r=i[e];return!!r&&!!n[r]}function o(e){return r}var i={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};t.exports=o},{}],102:[function(e,t,n){"use strict";function r(e){var t=e.target||e.srcElement||window;return t.correspondingUseElement&&(t=t.correspondingUseElement),3===t.nodeType?t.parentNode:t}t.exports=r},{}],103:[function(e,t,n){"use strict";function r(e){for(var t;(t=e._renderedNodeType)===o.COMPOSITE;)e=e._renderedComponent;return t===o.HOST?e._renderedComponent:t===o.EMPTY?null:void 0}var o=e(62);t.exports=r},{62:62}],104:[function(e,t,n){"use strict";function r(e){var t=e&&(o&&e[o]||e[i]);if("function"==typeof t)return t}var o="function"==typeof Symbol&&Symbol.iterator,i="@@iterator";t.exports=r},{}],105:[function(e,t,n){"use strict";function r(){return o++}var o=1;t.exports=r},{}],106:[function(e,t,n){"use strict";function r(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function o(e){for(;e;){if(e.nextSibling)return e.nextSibling;e=e.parentNode}}function i(e,t){for(var n=r(e),i=0,a=0;n;){if(3===n.nodeType){if(a=i+n.textContent.length,i<=t&&a>=t)return{node:n,offset:t-i};i=a}n=r(o(n))}}t.exports=i},{}],107:[function(e,t,n){"use strict";function r(){return!i&&o.canUseDOM&&(i="textContent"in document.documentElement?"textContent":"innerText"),i}var o=e(123),i=null;t.exports=r},{123:123}],108:[function(e,t,n){"use strict";function r(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n["ms"+e]="MS"+t,n["O"+e]="o"+t.toLowerCase(),n}function o(e){if(s[e])return s[e];if(!a[e])return e;var t=a[e];for(var n in t)if(t.hasOwnProperty(n)&&n in l)return s[e]=t[n];return""}var i=e(123),a={animationend:r("Animation","AnimationEnd"),animationiteration:r("Animation","AnimationIteration"),animationstart:r("Animation","AnimationStart"),transitionend:r("Transition","TransitionEnd")},s={},l={};i.canUseDOM&&(l=document.createElement("div").style,"AnimationEvent"in window||(delete a.animationend.animation,delete a.animationiteration.animation,delete a.animationstart.animation),"TransitionEvent"in window||delete a.transitionend.transition),t.exports=o},{123:123}],109:[function(e,t,n){"use strict";function r(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}function o(e){return"function"==typeof e&&"undefined"!=typeof e.prototype&&"function"==typeof e.prototype.mountComponent&&"function"==typeof e.prototype.receiveComponent}function i(e,t){var n;if(null===e||e===!1)n=c.create(i);else if("object"==typeof e){var s=e;!s||"function"!=typeof s.type&&"string"!=typeof s.type?a("130",null==s.type?s.type:typeof s.type,r(s._owner)):void 0,"string"==typeof s.type?n=u.createInternalComponent(s):o(s.type)?(n=new s.type(s),n.getHostNode||(n.getHostNode=n.getNativeNode)):n=new d(s)}else"string"==typeof e||"number"==typeof e?n=u.createInstanceForText(e):a("131",typeof e);return n._mountIndex=0,n._mountImage=null,n}var a=e(113),s=e(143),l=e(29),c=e(49),u=e(54),d=(e(105),e(137),e(142),function(e){this.construct(e)});s(d.prototype,l,{_instantiateReactComponent:i}),t.exports=i},{105:105,113:113,137:137,142:142,143:143,29:29,49:49,54:54}],110:[function(e,t,n){"use strict";function r(e,t){if(!i.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,r=n in document;if(!r){var a=document.createElement("div");a.setAttribute(n,"return;"),r="function"==typeof a[n]}return!r&&o&&"wheel"===e&&(r=document.implementation.hasFeature("Events.wheel","3.0")),r}var o,i=e(123);i.canUseDOM&&(o=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0),t.exports=r},{123:123}],111:[function(e,t,n){"use strict";function r(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!o[e.type]:"textarea"===t}var o={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};t.exports=r},{}],112:[function(e,t,n){"use strict";function r(e){return'"'+o(e)+'"'}var o=e(95);t.exports=r},{95:95}],113:[function(e,t,n){"use strict";function r(e){for(var t=arguments.length-1,n="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,r=0;r ]/,l=e(93),c=l(function(e,t){if(e.namespaceURI!==i.svg||"innerHTML"in e)e.innerHTML=t;else{r=r||document.createElement("div"),r.innerHTML=""+t+" ";for(var n=r.firstChild;n.firstChild;)e.appendChild(n.firstChild)}});if(o.canUseDOM){var u=document.createElement("div");u.innerHTML=" ",""===u.innerHTML&&(c=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),a.test(t)||"<"===t[0]&&s.test(t)){e.innerHTML=String.fromCharCode(65279)+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t}),u=null}t.exports=c},{10:10,123:123,93:93}],116:[function(e,t,n){"use strict";var r=e(123),o=e(95),i=e(115),a=function(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t};r.canUseDOM&&("textContent"in document.documentElement||(a=function(e,t){return 3===e.nodeType?void(e.nodeValue=t):void i(e,o(t))})),t.exports=a},{115:115,123:123,95:95}],117:[function(e,t,n){"use strict";function r(e,t){var n=null===e||e===!1,r=null===t||t===!1;if(n||r)return n===r;var o=typeof e,i=typeof t;return"string"===o||"number"===o?"string"===i||"number"===i:"object"===i&&e.type===t.type&&e.key===t.key}t.exports=r},{}],118:[function(e,t,n){"use strict";function r(e,t){return e&&"object"==typeof e&&null!=e.key?c.escape(e.key):t.toString(36)}function o(e,t,n,i){var p=typeof e;if("undefined"!==p&&"boolean"!==p||(e=null),null===e||"string"===p||"number"===p||"object"===p&&e.$$typeof===s)return n(i,e,""===t?u+r(e,0):t),1;var f,h,g=0,m=""===t?u:t+d;if(Array.isArray(e))for(var v=0;v ":a.innerHTML="<"+e+">"+e+">",s[e]=!a.firstChild),s[e]?p[e]:null}var o=e(123),i=e(137),a=o.canUseDOM?document.createElement("div"):null,s={},l=[1,''," "],c=[1,""],u=[3,""],d=[1,''," "],p={"*":[1,"?","
"],area:[1,""," "],col:[2,""],legend:[1,""," "],param:[1,""," "],tr:[2,""],optgroup:l,option:l,caption:c,colgroup:c,tbody:c,tfoot:c,thead:c,td:u,th:u},f=["circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","text","tspan"];f.forEach(function(e){p[e]=d,s[e]=!0}),t.exports=r},{123:123,137:137}],134:[function(e,t,n){"use strict";function r(e){return e===window?{x:window.pageXOffset||document.documentElement.scrollLeft,y:window.pageYOffset||document.documentElement.scrollTop}:{x:e.scrollLeft,y:e.scrollTop}}t.exports=r},{}],135:[function(e,t,n){"use strict";function r(e){return e.replace(o,"-$1").toLowerCase()}var o=/([A-Z])/g;t.exports=r},{}],136:[function(e,t,n){"use strict";function r(e){return o(e).replace(i,"-ms-")}var o=e(135),i=/^ms-/;t.exports=r},{135:135}],137:[function(e,t,n){"use strict";function r(e,t,n,r,o,i,a,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,i,a,s],u=0;l=new Error(t.replace(/%s/g,function(){return c[u++]})),l.name="Invariant Violation"}throw l.framesToPop=1,l}}t.exports=r},{}],138:[function(e,t,n){"use strict";function r(e){return!(!e||!("function"==typeof Node?e instanceof Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName))}t.exports=r},{}],139:[function(e,t,n){"use strict";function r(e){return o(e)&&3==e.nodeType}var o=e(138);t.exports=r},{138:138}],140:[function(e,t,n){"use strict";function r(e){var t={};return function(n){return t.hasOwnProperty(n)||(t[n]=e.call(this,n)),t[n]}}t.exports=r},{}],141:[function(e,t,n){"use strict";function r(e,t){return e===t?0!==e||0!==t||1/e===1/t:e!==e&&t!==t}function o(e,t){if(r(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(var a=0;a-1)return void alert("当前目录有同名文件,修改文件 "+a+" 名失败");var c=h.props.modifiedFiles;return c.indexOf(u)!=-1&&u!=r?void alert("文件修改尚未保存,修改文件名"+r+"失败"):void EditBridge.rename(u,r,function(e,n){t(),e?alert("修改文件 "+a+" 名失败"):(l.fileChange(),h.props.files.indexOf(u)>-1&&l.fileNameChange(u,r))})}function r(e){var t=e.keyCode;13===t&&(n(),e.preventDefault(),e.stopPropagation())}e.preventDefault(),e.stopPropagation();var o=e.currentTarget,i=o.dataset,a=i.filename,s=i.basename,u=i.path,d=c.closest(o,".directory"),p=d.querySelector(".input-filename"),f=d.querySelector(".directory__file"),h=this;if(p.addEventListener("blur",n),p.addEventListener("keydown",r),p.value=a,p.classList.add("show"),p.value.indexOf(".")>-1){var g=p.value.match(/.*\./),m=g?g[0].length:p.value.length;p.select(),p.selectionStart=0,p.selectionEnd=m-1}else p.select(),p.selectionStart=0,p.selectionEnd=p.value.length;f.classList.add("hide")},handleDelFile:function(e,t){var n=this;return function(r){confirm("确定删除文件"+e+"?")&&EditBridge.delFile(t,function(r,o){r?alert("删除文件"+e+"失败"):(l.fileChange(),n.props.delFile(t))}),r.preventDefault(),r.stopPropagation()}},fileNameKeydownHandle:function(e){e.stopPropagation()},getFileIcon:function(e){var t=r.extname(e),n={".wxss":"icon-file-wxss",".wxml":"icon-file-wxml",".js":"icon-file-js",".json":"icon-file-json",".png":"icon-file-img",".gif":"icon-file-img",".jpg":"icon-file-img",".jpeg":"icon-file-img"};return n[t]||"icon-file"},handleRenameClick:function(e){e.preventDefault(),e.stopPropagation()},createTreeView:function(e){var t=this,n=[],r=this.props.currentFile;return e.folderNames.sort().forEach(function(r){var i=t.state.currentFolderPath,s=e.children[r].path+"/",l=s+r,c=i===l?"selected":"",u=!0;//!this.first
-t.first=!1,n.push(o.createElement(a,{handleAddFile:t.handleAddFile,delDir:t.props.delDir,folderName:r,key:l,path:l,baseName:s,defaultCollapsed:u,itemClassName:c,onClick:t.selectFolder,handleIconClick:t.handleIconClick},t.createTreeView(e.children[r])))}),e.fileNames.sort().forEach(function(i){var a=e.children[i].path,s=e.children[i].baseName,l=r===a?"directory selected":"directory",c=t.getFileIcon(i),u={};u.display="none",n.push(o.createElement("div",{className:l,key:a,path:a,"data-path":a,onMouseDown:t.handleFileClickOnMouseDown},o.createElement("i",{className:"directory__icon "+c,"data-path":a}),o.createElement("input",{className:"input-filename",type:"text",onClick:t.handleRenameClick}),o.createElement("span",{className:"directory__file","data-path":a}," ",i," "),o.createElement("div",{className:"directory-operation"},o.createElement("a",{href:"javascript:;","data-filename":i,"data-basename":s,"data-path":a,onClick:t.handleMvFile,style:u},o.createElement("i",{className:"icon-rename"})),o.createElement("a",{href:"javascript:;",onClick:t.handleDelFile(i,a),style:u},o.createElement("i",{className:"icon-delete"})),o.createElement("a",{href:"javascript:;","data-path":a},o.createElement("i",{className:"icon-moreactions file","data-path":a,onClick:t.handleIconClick})))))}),n},handleFileClickOnMouseDown:function(e){0==e.button?this.openFile(e):2==e.button},addWithRename:function(e){var t=i.findDOMNode(this.refs.directoryOperation),n=t.querySelector('a[data-path="'+e+'"]');!!n&&n.click()},handleAddFile:function(e){var t=e.currentTarget,n=c.getOffset(t),r=n.left,o=n.top,i=t.dataset.path,a=i!==this.state.createInfo.path;a||(i=void 0),this.setState({showAddFile:a,createInfo:{left:r+10,top:o-5,path:i}}),e.preventDefault(),e.stopPropagation()},hideAddFile:function(e){if(e){var t=e.target.className;if(t.indexOf("right-click-create")>-1||t.indexOf("icon-moreactions")>-1||t.indexOf("icon-new")>-1||t.indexOf("tree-view-create-item ")>-1)return}this.setState({showAddFile:!1,createInfo:{left:0,top:0,path:void 0},showTreeRightClick:{show:!1,path:void 0,left:0,top:0}})},componentDidMount:function(){u.on("BODY_CLICK",this.hideAddFile),u.on("ADD_FILE",this.addWithRename)},componentWillMount:function(){u.removeListener("BODY_CLICK",this.hideAddFile),u.removeListener("ADD_FILE",this.addWithRename)},handleTreeRightClick:function(e){if(2==e.button){var t=e.target.getAttribute("data-path"),n="file";e.target.className.indexOf("root-folder")>-1?n="root-folder":e.target.className.indexOf("folder")>-1&&(n="folder",l.folderCollapsed(t,!1)),this.setState({showTreeRightClick:{path:t,show:!0,top:e.clientY,left:e.clientX,type:n}})}},handleIconClick:function(e){event.preventDefault(),event.stopPropagation();var t=e.target.getAttribute("data-path"),n="file";e.target.className.indexOf("folder")>-1&&(n="folder",l.folderCollapsed(t,!1)),this.setState({showTreeRightClick:{path:t,show:!0,top:e.clientY-20,left:e.clientX,type:n}})},render:function(){this.first=!0;var e=this.calculateStructor(this.props.tree),t=this.state.showAddFile,n=[];return this.props.simulatorShow||n.push(o.createElement("a",{href:"javascript:;",className:"filetab-toggle-mo",onClick:this.props.handleClickSimulatorIcon},o.createElement("i",{className:"icon-mo"}))),"none"!=this.props.treeStyle.display&&n.push(o.createElement("a",{className:"tree-project-name-toggle",title:"收起文件树",href:"javascript:;",onClick:this.props.handleHideTree},o.createElement("i",{className:"icon-tree"}))),o.createElement("div",{className:"tree-container",style:this.props.treeStyle,onMouseDown:this.handleTreeRightClick},o.createElement(p,{showTreeRightClick:this.state.showTreeRightClick,openFile:this.props.openFile,globallySearch:this.props.globallySearch,delFile:this.props.delFile,delDir:this.props.delDir,tree:this.props.tree,hideAddFile:this.hideAddFile}),o.createElement(s,{createInfo:this.state.createInfo,show:t,hideAddFile:this.hideAddFile,openFile:this.props.openFile,tree:this.props.tree}),o.createElement("div",{className:"tree-project-name root-folder","data-path":"/"},n,o.createElement("p",{className:"root-folder","data-path":"/"},decodeURI(this.props.projectname)),o.createElement("a",{className:"tree-project-name-add",href:"javascript:;",title:"新建"},o.createElement("i",{className:"icon-moreactions root-folder","data-path":"/","data-isadd":1,onClick:this.handleIconClick}))),o.createElement("div",{className:"tree-view-wrapper noselect",ref:"directoryOperation"},this.createTreeView(e)))}});e.exports=f},function(e,t,n){(function(t){"use strict";function r(e,t){for(var n=[],r=0;r=0&&!e[r];r--);return 0===n&&r===t?e:n>r?[]:e.slice(n,r+1)}function i(e){var t=d.exec(e),n=(t[1]||"")+(t[2]||""),r=t[3]||"",o=p.exec(r),i=o[1],a=o[2],s=o[3];return[n,i,a,s]}function a(e){var t=d.exec(e),n=t[1]||"",r=!!n&&":"!==n[1];return{device:n,isUnc:r,isAbsolute:r||!!t[2],tail:t[3]}}function s(e){return"\\\\"+e.replace(/^[\\\/]+/,"").replace(/[\\\/]+/g,"\\")}function l(e){return h.exec(e).slice(1)}var c="win32"===t.platform,u=n(7),d=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/,p=/^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/,f={};f.resolve=function(){for(var e="",n="",o=!1,i=arguments.length-1;i>=-1;i--){var l;if(i>=0?l=arguments[i]:e?(l=t.env["="+e],l&&l.substr(0,3).toLowerCase()===e.toLowerCase()+"\\"||(l=e+"\\")):l=t.cwd(),!u.isString(l))throw new TypeError("Arguments to path.resolve must be strings");if(l){var c=a(l),d=c.device,p=c.isUnc,f=c.isAbsolute,h=c.tail;if((!d||!e||d.toLowerCase()===e.toLowerCase())&&(e||(e=d),o||(n=h+"\\"+n,o=f),e&&o))break}}return p&&(e=s(e)),n=r(n.split(/[\\\/]+/),!o).join("\\"),e+(o?"\\":"")+n||"."},f.normalize=function(e){var t=a(e),n=t.device,o=t.isUnc,i=t.isAbsolute,l=t.tail,c=/[\\\/]$/.test(l);return l=r(l.split(/[\\\/]+/),!i).join("\\"),l||i||(l="."),l&&c&&(l+="\\"),o&&(n=s(n)),n+(i?"\\":"")+l},f.isAbsolute=function(e){return a(e).isAbsolute},f.join=function(){for(var e=[],t=0;t=-1&&!n;o--){var i=o>=0?arguments[o]:t.cwd();if(!u.isString(i))throw new TypeError("Arguments to path.resolve must be strings");i&&(e=i+"/"+e,n="/"===i[0])}return e=r(e.split("/"),!n).join("/"),(n?"/":"")+e||"."},g.normalize=function(e){var t=g.isAbsolute(e),n=e&&"/"===e[e.length-1];return e=r(e.split("/"),!t).join("/"),e||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e},g.isAbsolute=function(e){return"/"===e.charAt(0)},g.join=function(){for(var e="",t=0;t1)for(var n=1;n=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),g(n)?r.showHidden=n:n&&t._extend(r,n),x(r.showHidden)&&(r.showHidden=!1),x(r.depth)&&(r.depth=2),x(r.colors)&&(r.colors=!1),x(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=i),l(r,e,r.depth)}function i(e,t){var n=o.styles[t];return n?"["+o.colors[n][0]+"m"+e+"["+o.colors[n][1]+"m":e}function a(e,t){return e}function s(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}function l(e,n,r){if(e.customInspect&&n&&T(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var o=n.inspect(r,e);return y(o)||(o=l(e,o,r)),o}var i=c(e,n);if(i)return i;var a=Object.keys(n),g=s(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(n)),k(n)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return u(n);if(0===a.length){if(T(n)){var m=n.name?": "+n.name:"";return e.stylize("[Function"+m+"]","special")}if(E(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(C(n))return e.stylize(Date.prototype.toString.call(n),"date");if(k(n))return u(n)}var v="",b=!1,A=["{","}"];if(h(n)&&(b=!0,A=["[","]"]),T(n)){var x=n.name?": "+n.name:"";v=" [Function"+x+"]"}if(E(n)&&(v=" "+RegExp.prototype.toString.call(n)),C(n)&&(v=" "+Date.prototype.toUTCString.call(n)),k(n)&&(v=" "+u(n)),0===a.length&&(!b||0==n.length))return A[0]+v+A[1];if(r<0)return E(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special");e.seen.push(n);var w;return w=b?d(e,n,r,g,a):a.map(function(t){return p(e,n,r,g,t,b)}),e.seen.pop(),f(w,v,A)}function c(e,t){if(x(t))return e.stylize("undefined","undefined");if(y(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return b(t)?e.stylize(""+t,"number"):g(t)?e.stylize(""+t,"boolean"):m(t)?e.stylize("null","null"):void 0}function u(e){return"["+Error.prototype.toString.call(e)+"]"}function d(e,t,n,r,o){for(var i=[],a=0,s=t.length;a-1&&(s=i?s.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+s.split("\n").map(function(e){return" "+e}).join("\n"))):s=e.stylize("[Circular]","special")),x(a)){if(i&&o.match(/^\d+$/))return s;a=JSON.stringify(""+o),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+s}function f(e,t,n){var r=0,o=e.reduce(function(e,t){return r++,t.indexOf("\n")>=0&&r++,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0);return o>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}function h(e){return Array.isArray(e)}function g(e){return"boolean"==typeof e}function m(e){return null===e}function v(e){return null==e}function b(e){return"number"==typeof e}function y(e){return"string"==typeof e}function A(e){return"symbol"==typeof e}function x(e){return void 0===e}function E(e){return w(e)&&"[object RegExp]"===_(e)}function w(e){return"object"==typeof e&&null!==e}function C(e){return w(e)&&"[object Date]"===_(e)}function k(e){return w(e)&&("[object Error]"===_(e)||e instanceof Error)}function T(e){return"function"==typeof e}function S(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||"undefined"==typeof e}function _(e){return Object.prototype.toString.call(e)}function D(e){return e<10?"0"+e.toString(10):e.toString(10)}function O(){var e=new Date,t=[D(e.getHours()),D(e.getMinutes()),D(e.getSeconds())].join(":");return[e.getDate(),P[e.getMonth()],t].join(" ")}function N(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var I=/%[sdj%]/g;t.format=function(e){if(!y(e)){for(var t=[],n=0;n=i)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(t){return"[Circular]"}default:return e}}),s=r[n];n=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}var o=n(2),i=(n(3),n(11)),a=n(16),s=n(18),l=n(19),c=o.createClass({displayName:"TreeView",propTypes:{collapsed:o.PropTypes.bool,defaultCollapsed:o.PropTypes.bool,className:o.PropTypes.string,itemClassName:o.PropTypes.string},getInitialState:function(){return this.getCollapsedfromDB(),{collapsed:this.props.defaultCollapsed,showAddFile:!1}},handleAddFile:function(e){this.props.handleAddFile(e),this.setState({collapsed:!1}),e.preventDefault(),e.stopPropagation()},hideAddFile:function(){this.setState({showAddFile:!1})},handleMvFile:function(e){function t(){p.removeEventListener("blur",n),p.removeEventListener("keydown",r),p.classList.remove("show"),f.classList.remove("hide")}function n(e){var n=p.value.trim();return n&&n!==l?void EditBridge.rename(u,c+n,function(e,r){t(),e?alert("修改目录 "+l+" 名失败"):(i.fileChange(),i.folderNameChange(u,c+n))}):void t()}function r(e){var t=e.keyCode;13===t&&n()}e.preventDefault(),e.stopPropagation();var o=e.currentTarget,a=o.dataset,l=a.foldername,c=a.basename,u=a.path,d=s.closest(o,".tree-view_item"),p=d.querySelector(".input-filename"),f=d.querySelector(".directory__folder");p.addEventListener("blur",n),p.addEventListener("keydown",r),p.value=l,p.classList.add("show"),p.select(),f.classList.add("hide")},handleDelFile:function(e,t){var n=this;return function(r){confirm("确定删除目录"+e+"?")&&EditBridge.rmdir(t,function(r,o){r?confirm("删除目录"+e+"失败"):(i.fileChange(),n.props.delDir(t))}),r.preventDefault(),r.stopPropagation()}},folderCollapsed:function(e,t){this.setState({collapsed:t})},handleClick:function(){var e=arguments.length<=0?void 0:arguments[0],t=e.target.className;t.indexOf("input-filename show")>-1||t.indexOf("icon-moreactions")>-1||(this.setState({collapsed:!this.state.collapsed}),this.props.onClick&&this.props.onClick(this.props.path,!this.state.collapsed),this.hideAddFile())},componentDidMount:function(){var e=this.props.path;a.on("HIDE_ADD_FILE_"+e,this.hideAddFile),a.on("FOLDER_COLLAPSED_"+e,this.folderCollapsed)},componentWillUnmount:function(){var e=this.props.path;a.removeListener("HIDE_ADD_FILE_"+e,this.hideAddFile),a.removeListener("FOLDER_COLLAPSED_"+e,this.folderCollapsed)},getCollapsedfromDB:function(){var e="tree-collapsed-"+this.props.path,t=this;l.getItem(e,function(e){e===!1&&t.setState({collapsed:!1})})},handleIconClick:function(e){this.props.handleIconClick(e)},render:function(){var e=this.props,t=e.collapsed,n=void 0===t?this.state.collapsed:t,i=e.className,a=void 0===i?"":i,s=e.itemClassName,l=void 0===s?"":s,c=e.children,u=(e.defaultCollapsed,e.folderName),d=e.baseName,p=e.path,f=(r(e,["collapsed","className","itemClassName","children","defaultCollapsed","folderName","baseName","path"]),"tree-view_arrow"),h="tree-view_children",g="directory__icon icon-folder";this.state.showAddFile;n?(f+=" tree-view_arrow-collapsed",h+=" tree-view_children-collapsed"):g+="-open";var m={};m.display="none";var v=o.createElement("div",{className:a+" "+f,"data-path":p}),b=o.createElement("div",{className:"tree-view-item-operation"},o.createElement("a",{"data-foldername":u,"data-basename":d,"data-path":p,onClick:this.handleMvFile,style:m,href:"javascript:;",title:"重命名"},o.createElement("i",{className:"icon-rename"})),o.createElement("a",{href:"javascript:;",title:"删除",onClick:this.handleDelFile(u,p),style:m},o.createElement("i",{className:"icon-delete"})),o.createElement("a",{href:"javascript:;",title:"添加",style:m},o.createElement("i",{"data-isadd":1,"data-path":p,onClick:this.handleAddFile,className:"icon-new"})),o.createElement("a",{href:"javascript:;"},o.createElement("i",{className:"icon-moreactions folder","data-path":p,onClick:this.handleIconClick})));return o.createElement("div",{className:"tree-view"},o.createElement("div",{className:"folder tree-view_item "+l,onClick:this.handleClick,"data-path":p},v,o.createElement("span",{className:"directory folder","data-path":p},o.createElement("i",{className:g,"data-path":p}),o.createElement("input",{className:"input-filename",type:"text"}),o.createElement("span",{className:"directory__folder","data-path":p}," ",u," ")),b),o.createElement("div",{className:h},n?null:c))}});e.exports=c},function(e,t,n){"use strict";var r=n(12),o={hideAddFile:function(e){r.dispatch({actionType:"HIDE_ADD_FILE",data:{path:e}})},fileChange:function(){r.dispatch({actionType:"FILE_CHANGE"})},addFile:function(e){r.dispatch({actionType:"ADD_FILE",data:{path:e}})},folderNameChange:function(e,t){r.dispatch({actionType:"FOLDER_NAME_CHANGE",data:{oldpath:e,newpath:t}})},fileNameChange:function(e,t){r.dispatch({actionType:"FILE_NAME_CHANGE",data:{oldpath:e,newpath:t}})},bodyClick:function(e){r.dispatch({actionType:"BODY_CLICK",data:{event:e}})},cursorChange:function(e){r.dispatch({actionType:"CURSOR_CHANGE",data:{viewState:e}})},editorEvent:function(e,t,n){r.dispatch({actionType:"EDITOR_EVENT",data:{action:e,path:t,opt:n}})},folderCollapsed:function(e,t){r.dispatch({actionType:"FOLDER_COLLAPSED",data:{path:e,collapsed:t}})}};e.exports=o},function(e,t,n){"use strict";var r=n(13),o=n(16),i=new r.Dispatcher;i.register(function(e){var t=(e.actionType,e.data);switch(e.actionType){case"HIDE_ADD_FILE":o.hideAddFile(t.path);break;case"FILE_CHANGE":o.fileChange();break;case"FILE_NAME_CHANGE":o.fileNameChange(t.oldpath,t.newpath);break;case"FOLDER_NAME_CHANGE":o.folderNameChange(t.oldpath,t.newpath);break;case"BODY_CLICK":o.bodyClick(t.event);break;case"CURSOR_CHANGE":o.cursorChange(t.viewState);break;case"EDITOR_EVENT":o.editorEvent(t.action,t.path,t.opt);break;case"ADD_FILE":o.addFile(t.path);break;case"FOLDER_COLLAPSED":o.folderCollapsed(t.path,t.collapsed)}}),e.exports=i},function(e,t,n){e.exports.Dispatcher=n(14)},function(e,t,n){(function(r){"use strict";function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}t.__esModule=!0;var i=n(15),a="ID_",s=function(){function e(){o(this,e),this._callbacks={},this._isDispatching=!1,this._isHandled={},this._isPending={},this._lastID=1}return e.prototype.register=function(e){var t=a+this._lastID++;return this._callbacks[t]=e,t},e.prototype.unregister=function(e){this._callbacks[e]?void 0:"production"!==r.env.NODE_ENV?i(!1,"Dispatcher.unregister(...): `%s` does not map to a registered callback.",e):i(!1),delete this._callbacks[e]},e.prototype.waitFor=function(e){this._isDispatching?void 0:"production"!==r.env.NODE_ENV?i(!1,"Dispatcher.waitFor(...): Must be invoked while dispatching."):i(!1);for(var t=0;t0&&this._events[e].length>o&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace())),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){function n(){this.removeListener(e,n),o||(o=!0,t.apply(this,arguments))}if(!r(t))throw TypeError("listener must be a function");var o=!1;return n.listener=t,this.on(e,n),this},n.prototype.removeListener=function(e,t){var n,o,a,s;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(n=this._events[e],a=n.length,o=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(i(n)){for(s=a;s-- >0;)if(n[s]===t||n[s].listener&&n[s].listener===t){o=s;break}if(o<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(o,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(n=this._events[e],r(n))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t){"use strict";function n(e){return e.split(".").pop()}function r(e){var t=n(e);return a[t]||"unknow"}function o(e){var t=e.getBoundingClientRect();return{top:t.top+document.body.scrollTop,left:t.left+document.body.scrollLeft}}function i(e,t){for(var n=e.matches;e;){if(n.call(e,t))return e;e=e.parentElement}return null}var a={js:"javascript",json:"json",wxml:"xml",wxss:"css",html:"html",css:"css",md:"markdown",png:"image",jpg:"image",icon:"image",gif:"image",txt:"plain"};e.exports={getFileType:r,getFileExtname:n,getOffset:o,closest:i}},function(e,t){"use strict";function n(e,t){l=e+"_"+t+"_editor";var n=indexedDB.open(l,c);n.onsuccess=function(e){d=this.result},n.onerror=function(e){console.error("initDb:",e.target.errorCode)},n.onupgradeneeded=function(e){e.currentTarget.result.createObjectStore(u,{keyPath:"name",autoIncrement:!1})}}function r(){var e=window.indexedDB.deleteDatabase(l);e.onsuccess=function(e){},e.onerror=function(e){console.log("Database error: "+e.target.errorCode)}}function o(e,t){if(!d)return void console.log("setItem: the db is not initialized");var n=d.transaction(u,"readwrite"),r=n.objectStore(u),o=r.put({name:e,value:t});o.onsuccess=function(e){},o.onerror=function(){console.log("put error",this.error)}}function i(e){if(d)return void(!!e&&e());var t=indexedDB.open(l,c);t.onsuccess=function(t){d=this.result,!!e&&e()},t.onerror=function(e){console.error("initDb:",e.target.errorCode)},t.onupgradeneeded=function(e){e.currentTarget.result.createObjectStore(u,{
-keyPath:"name",autoIncrement:!1})}}function a(e,t){i(function(){var n=d.transaction(u),r=n.objectStore(u),o=r.get(e);o.onsuccess=function(e){t(o.result?o.result.value:null)},o.onerror=function(){console.log("put error",this.error)}})}function s(e){i(function(){var t=d.transaction(u,"readwrite"),n=t.objectStore(u),r=n["delete"](e);r.onsuccess=function(e){console.log("del succ")},r.onerror=function(){}})}var l=null,c=1,u="editor",d=null;e.exports={init:n,clear:r,setItem:o,getItem:a,delItem:s}},function(e,t,n){"use strict";var r=n(2),o=(n(3),n(11));n(21);var i=r.createClass({displayName:"Create",propTypes:{},addDir:function(e){var t=this,n=this.props.createInfo.path,r=this.props.tree;0==n.indexOf("/")&&(n=n.substr(1));for(var i="untitled",a=(n?n+"/"+i:i)+"/",s=1;r.indexOf(a)>-1;)i="untitled("+s+")",a=(n?n+"/"+i:i)+"/",s+=1;EditBridge.mkdir(a,function(e,n){e?alert("创建目录"+i+"失败"):(o.fileChange(),setTimeout(function(){a.lastIndexOf("/")==a.length-1&&(a=a.substr(0,a.length-1)),a.indexOf("/")==-1&&(a="/"+a),o.addFile(a)},100)),t.props.hideAddFile()}),e.preventDefault(),e.stopPropagation()},addFile:function(e){var t=this;return function(n){t.props.hideAddFile();var r=t.props.createInfo.path,i=t.props.tree;0==r.indexOf("/")&&(r=r.substr(1)),setTimeout(function(){var n="untitled";n=n+"."+e;for(var a=1,s=r?r+"/"+n:n;i.indexOf(s)>-1;)n="untitled("+a+")."+e,s=r?r+"/"+n:n,a+=1;EditBridge.addFile(s,function(e,r){e?alert("创建文件"+n+"失败"):(o.fileChange(),setTimeout(function(){o.addFile(s)},100),t.props.openFile(s))})}),n.preventDefault(),n.stopPropagation()}},render:function(){var e=this.props.show,t=this.props.createInfo,n=e?{top:t.top,left:t.left,display:"block"}:{};return r.createElement("div",{className:"tree-view-create",style:n},r.createElement("div",{onClick:this.addDir,className:"tree-view-create-item"},r.createElement("p",null,r.createElement("i",{className:"icon-folder"}),"目录")),r.createElement("div",{onClick:this.addFile("js"),className:"tree-view-create-item"},r.createElement("p",null,r.createElement("i",{className:"icon-file-js"}),".js")),r.createElement("div",{onClick:this.addFile("json"),className:"tree-view-create-item"},r.createElement("p",null,r.createElement("i",{className:"icon-file-json"}),".json")),r.createElement("div",{onClick:this.addFile("wxml"),className:"tree-view-create-item"},r.createElement("p",null,r.createElement("i",{className:"icon-file-wxml"}),".wxml")),r.createElement("div",{onClick:this.addFile("wxss"),className:"tree-view-create-item"},r.createElement("p",null,r.createElement("i",{className:"icon-file-wxss"}),".wxss")))}});e.exports=i},function(e,t,n){var r=n(22);"string"==typeof r&&(r=[[e.id,r,""]]);n(29)(r,{});r.locals&&(e.exports=r.locals)},function(e,t,n){t=e.exports=n(23)(),t.push([e.id,'.tree-view-create{display:none;position:absolute;left:100%;top:0;margin-left:20px;background:#fff;border:1px solid #f0f0f0;box-shadow:1px 1px 10px #ccc;z-index:10000}.tree-view-create:before{content:"";position:absolute;left:0;top:6px;border:9px solid transparent;border-right-color:#e6e6e6;margin-left:-19px}.tree-view-create:after{content:"";position:absolute;left:0;top:6px;border:9px solid transparent;border-right-color:#fff;margin-left:-18px}.tree-view-create-item-wrapper{background:#ecf8eb;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tree-view-create-item-wrapper .tree-view-create-item{padding-left:35px}.tree-view-create-item-wrapper .tree-view-create-item:hover{background-color:#48c23d;color:#fff}.tree-view-create-item-wrapper .tree-view-create-item:hover .icon-folder{width:16px;height:15px;display:inline-block;vertical-align:middle;background:url('+n(24)+") no-repeat}.tree-view-create-item-wrapper .tree-view-create-item:hover .icon-file-js{width:16px;height:16px;display:inline-block;vertical-align:middle;background:url("+n(25)+") no-repeat}.tree-view-create-item-wrapper .tree-view-create-item:hover .icon-file-json{width:16px;height:16px;display:inline-block;vertical-align:middle;background:url("+n(26)+") no-repeat}.tree-view-create-item-wrapper .tree-view-create-item:hover .icon-file-wxml{width:16px;height:9px;display:inline-block;vertical-align:middle;background:url("+n(27)+") no-repeat}.tree-view-create-item-wrapper .tree-view-create-item:hover .icon-file-wxss{width:16px;height:17px;display:inline-block;vertical-align:middle;background:url("+n(28)+") no-repeat}.tree-view-create-item{padding:10px 15px;cursor:pointer}.tree-view-create-item.tree-view-create-item-expand,.tree-view-create-item:hover{background-color:#ecf8eb}.tree-view-create-item p{display:flex;align-items:center;white-space:nowrap}.tree-view-create-item p i{margin-right:5px}.tree-view-item-operation a{display:inline-block;vertical-align:3px;margin:0 3px}",""])},function(e,t){e.exports=function(){var e=[];return e.toString=function(){for(var e=[],t=0;t=0&&y.splice(t,1)}function s(e){var t=document.createElement("style");return t.type="text/css",i(e,t),t}function l(e){var t=document.createElement("link");return t.rel="stylesheet",i(e,t),t}function c(e,t){var n,r,o;if(t.singleton){var i=b++;n=v||(v=s(t)),r=u.bind(null,n,i,!1),o=u.bind(null,n,i,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=l(t),r=p.bind(null,n),o=function(){a(n),n.href&&URL.revokeObjectURL(n.href)}):(n=s(t),r=d.bind(null,n),o=function(){a(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}function u(e,t,n,r){var o=n?"":r.css;if(e.styleSheet)e.styleSheet.cssText=A(t,o);else{var i=document.createTextNode(o),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(i,a[t]):e.appendChild(i)}}function d(e,t){var n=t.css,r=t.media;if(r&&e.setAttribute("media",r),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}function p(e,t){var n=t.css,r=t.sourceMap;r&&(n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+" */");var o=new Blob([n],{type:"text/css"}),i=e.href;e.href=URL.createObjectURL(o),i&&URL.revokeObjectURL(i)}var f={},h=function(e){var t;return function(){return"undefined"==typeof t&&(t=e.apply(this,arguments)),t}},g=h(function(){return/msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase())}),m=h(function(){return document.head||document.getElementsByTagName("head")[0]}),v=null,b=0,y=[];e.exports=function(e,t){t=t||{},"undefined"==typeof t.singleton&&(t.singleton=g()),"undefined"==typeof t.insertAt&&(t.insertAt="bottom");var n=o(e);return r(n,t),function(e){for(var i=[],a=0;a-1;)i="untitled("+s+")",a=(n?n+"/"+i:i)+"/",s+=1;EditBridge.mkdir(a,function(e,n){e?alert("创建目录"+i+"失败"):(o.fileChange(),setTimeout(function(){a.lastIndexOf("/")==a.length-1&&(a=a.substr(0,a.length-1)),a.indexOf("/")==-1&&(a="/"+a),o.addFile(a)},100)),t.props.hideAddFile()}),e.preventDefault(),e.stopPropagation()},addFile:function(e){var t=this;return function(n){t.props.hideAddFile();var r=t.props.path,i=t.props.tree;0==r.indexOf("/")&&(r=r.substr(1)),setTimeout(function(){var n="untitled";n=n+"."+e;for(var a=1,s=r?r+"/"+n:n;i.indexOf(s)>-1;)n="untitled("+a+")."+e,s=r?r+"/"+n:n,a+=1;EditBridge.addFile(s,function(e,r){e?alert("创建文件"+n+"失败"):(o.fileChange(),setTimeout(function(){o.addFile(s),t.props.openFile(s)},100))})}),n.preventDefault(),n.stopPropagation()}},render:function(){return this.props.treeCreateShow?r.createElement("div",{className:"tree-view-create-item-wrapper"},r.createElement("div",{onClick:this.addDir,className:"tree-view-create-item"},r.createElement("p",null,r.createElement("i",{className:"icon-folder"}),"目录")),r.createElement("div",{onClick:this.addFile("js"),className:"tree-view-create-item"},r.createElement("p",null,r.createElement("i",{className:"icon-file-js"}),".js")),r.createElement("div",{onClick:this.addFile("json"),className:"tree-view-create-item"},r.createElement("p",null,r.createElement("i",{className:"icon-file-json"}),".json")),r.createElement("div",{onClick:this.addFile("wxml"),className:"tree-view-create-item"},r.createElement("p",null,r.createElement("i",{className:"icon-file-wxml"}),".wxml")),r.createElement("div",{onClick:this.addFile("wxss"),className:"tree-view-create-item"},r.createElement("p",null,r.createElement("i",{className:"icon-file-wxss"}),".wxss"))):null}});e.exports=i},function(e,t,n){var r=n(33);"string"==typeof r&&(r=[[e.id,r,""]]);n(29)(r,{});r.locals&&(e.exports=r.locals)},function(e,t,n){t=e.exports=n(23)(),t.push([e.id,'.tree-view{overflow-y:hidden}.tree-view_children{margin-left:16px}.tree-view_children-collapsed{height:0}.tree-view_arrow{cursor:pointer;margin-right:6px;display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tree-view_arrow:after{content:"\\25BE"}.tree-view_arrow-collapsed{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}',""])},function(e,t,n){var r=n(35);"string"==typeof r&&(r=[[e.id,r,""]]);n(29)(r,{});r.locals&&(e.exports=r.locals)},function(e,t,n){t=e.exports=n(23)(),t.push([e.id,".tree-container{min-width:250px;height:100%;display:flex;flex-direction:column;border-right:1px solid #d8d8d8}.tree-project-name{background-color:#f0f0f0;border-bottom:1px solid #d8d8d8;padding:0 10px 0 0;display:flex;align-items:center;position:relative;min-height:26px}.tree-project-name .tree-project-name-add{margin-left:auto;cursor:pointer;line-height:1}.tree-project-name .tree-project-name-add .tree-view-create{color:#404042;top:3px;margin-left:10px}.tree-project-name .tree-project-name-add:hover .icon-new{width:14px;height:14px;display:inline-block;vertical-align:middle;background:url("+n(36)+") no-repeat}.tree-project-name .tree-project-name-toggle{border-right:1px solid #fff;padding:3px 5px 4px;line-height:1;margin-right:10px}.tree-project-name .tree-project-name-toggle:hover{background-color:#ecf8eb}.tree-project-name .tree-project-name-toggle:hover .icon-tree{width:16px;height:17px;display:inline-block;vertical-align:middle;background:url("+n(37)+') no-repeat}.tree-view-wrapper{padding:10px;color:#404042;flex:1 1 auto;overflow-y:auto}.tree-view_arrow{color:#888}.tree-view_children>.directory{margin-left:10px}.directory{cursor:pointer;position:relative;padding:0 0 3px 5px;line-height:24px;display:flex;align-items:center}.directory .directory__file,.directory .directory__folder{display:inline-block;vertical-align:middle;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:40px}.directory .directory__file.hide,.directory .directory__folder.hide{display:none}.directory.selected{color:#65cc5c}.directory:hover:before{content:"";position:absolute;left:-999px;top:0;right:-999px;height:100%;background-color:#ecf8eb;z-index:-1}.directory:hover .directory-operation{display:flex}.directory__icon{min-width:16px;margin-right:5px;margin-top:1px}.directory__icon-folder{display:inline-block}.tree-view{overflow-y:visible}.tree-view_arrow{margin-right:0}.tree-view_item{position:relative;display:flex;align-items:center}.tree-view_item:hover:before{content:"";position:absolute;left:-999px;top:0;right:-999px;height:100%;background-color:#ecf8eb;z-index:-1}.tree-view_item:hover .tree-view-item-operation{display:block}.tree-view_item.selected:before{content:"";position:absolute;left:-999px;top:0;right:-20px;height:100%;background-color:#ecf8eb;z-index:-1}.tree-view-item-operation{display:none;position:absolute;right:0;cursor:pointer}.input-filename{display:none;flex:1;border:1px solid #d8d8d8;outline:0;padding:0 5px;vertical-align:1px;line-height:22px;font-size:14px}.input-filename::selection{background:#48c23d}.input-filename.show{display:inline-block}.directory-operation{display:none;margin-left:auto;position:absolute;right:0;top:0}.directory-operation a{margin-left:10px}.directory-operation a:first-child{margin-left:0}::selection{color:#fff;background-color:blue}',""])},function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAAXNSR0IArs4c6QAAAElJREFUKBVjYKA28Dps1wDCuMxlwiVBSHwIaWQE+cXzsH0app/++ULEmDajy223PTiLBSL43xhdEsiXxCOHRTlUaDQ6cIcNQRkAGq0Pv7oFQ7cAAAAASUVORK5CYII="},function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAARCAYAAADUryzEAAAAAXNSR0IArs4c6QAAAJNJREFUOBGlkFEOgDAIQ53xWvrtkf3Wg2nQ1JQKWxb3w4D2wVbWfT4HOdtyFCnlqQI0z51PZ2wJWv3fgMkm9K7d2qqr//62bcG/H23FfUy5n4BEIxsioOkdACI2KhQa1B2gZoRBNQ4AEaJOQz2MXWIipBtEQF3fOCnAmmyIgB8ARGw0ER9ouBbeVag5TNUnZCaYLV65fjpbYtmGBAAAAABJRU5ErkJggg=="},function(e,t,n){"use strict";var r=n(2),o=n(3),i=n(16),a=n(11),s=n(39),l=n(19),c=n(18);n(66);var u,d=r.createClass({displayName:"Editor",getInitialState:function(){return this.dirty=!1,{path:this.props.path,imgurl:"",notSupport:!1}},getFileExt:function(e){return e.split(".").pop()},_changeFile:function(e){if(!this.state.notSupport){var t=this.state.path;this.dirty?e&&confirm("文件内容已经发生变化,是否载入新的文件内容?")&&this._reloadEditor(t):this._reloadEditor(t)}},_reloadEditor:function(e){var t=this;EditBridge.getFile(e,function(n,r){var d=c.getFileType(e),p=o.findDOMNode(t.refs.container),f=t;return"image"===d?void t.setState({imgurl:encodeURI(r.data)}):(s.addJSCompletion(),void l.getItem("content_"+e,function(t){t&&f.props.fileinfo[e]&&t.mtime==r.info.mtime&&(r.data==t.content||(r.data=t.content,f.dirty=!0,i.emit("DidChangeModelContent",e))),f.editor&&f.editor.dispose(),f.editor=monaco.editor.create(p,{value:r.data,language:d,folding:!0,wrappingColumn:0}),"xml"!==d&&"css"!==d||f.editor.addAction({id:"format-code",label:"格式化代码",keybindings:[monaco.KeyMod.Shift|monaco.KeyMod.Alt|monaco.KeyCode.KEY_F],keybindingContext:"Shift+Alt+F",contextMenuGroupId:"1_modification",contextMenuOrder:1.5,run:function(e){return EditBridge.formatCode(f.editor.getValue(),{fileType:d},function(e,t){f.editor.setValue(t)}),null}}),f.editor.onDidChangeModelContent(function(){f.dirty=!0,i.emit("DidChangeModelContent",e),clearTimeout(u),u=setTimeout(function(){l.setItem("content_"+e,{mtime:r.info.mtime,content:f.editor.getValue()})},400)}),f.editor.onDidChangeCursorPosition(function(){f.saveEditorState(e),a.cursorChange(f.editor.saveViewState())})}))})},revealPosition:function(e){var t=this.state.path,n=this.props.currentFile;if(t==n&&this.editor){var r={lineNumber:e.lineNumber,column:e.column};this.editor.revealPositionInCenter(r),this.editor.setPosition(r),this.editor.focus()}},saveEditorState:function(e){this.editor&&(window.editorState=window.editorState||{},window.editorState[e]={viewState:this.editor.saveViewState(),model:this.editor.getModel()})},_resizeEditor:function(e){var t=o.findDOMNode(this.refs.container);!!this.editor&&this.editor.layout({width:t.offsetWidth,height:t.offsetHeight})},_setCursor:function(){var e=this.state.path,t=this.props.currentFile;if(e==t&&this.editor){var n=this;if(this.props.isNeedSetCursor){var r=null;if(window.editorState&&window.editorState[e]&&(r=window.editorState[e]),!r)return;n.editor.setModel(r.model),n.editor.restoreViewState(r.viewState),n.editor.focus()}}},_saveFile:function(e){var t=this,n=this.editor.getValue();EditBridge.saveFile(e,n,function(n){n?alert("保存失败,"+n):(t.dirty=!1,i.emit("DidModelSave",e))})},editorEvent:function(e,t){"REVEAL_POSITION"==e?this.revealPosition(t):"SET_CURSOR"==e?this._setCursor():"RESIZE_EDITOR"==e?this._resizeEditor(t):"SAVE_EDITOR_STATE"==e?this.saveEditorState(t):"FILE_CONTENT_CHANGE"==e?this._changeFile(t):"SAVE_FILE"==e&&this._saveFile(t)},componentDidMount:function(){var e=this.state.path,t=c.getFileType(e);o.findDOMNode(this.refs.container);"unknow"===t?this.setState({notSupport:!0}):(this._reloadEditor(e),i.on("EDITOR_EVENT_"+e,this.editorEvent))},componentWillUnmount:function(){var e=this.state.path;i.removeListener("EDITOR_EVENT_"+e,this.editorEvent)},componentDidUpdate:function(){this._resizeEditor(),this._setCursor()},render:function(){var e=this.props.show,t=e?{}:{display:"none"},n=void 0;return this.state.imgurl?n=r.createElement("div",{className:"editor-container_img"},r.createElement("img",{src:this.state.imgurl})):this.state.notSupport&&(n=r.createElement("div",null,"暂不支持此文件类型")),r.createElement("div",{ref:"container",style:t,className:"editor-container"},n)}});e.exports=d},function(e,t,n){"use strict";function r(){var e=n(40),t=n(57),r=n(62);o||(o=!0,monaco.languages.registerCompletionItemProvider("xml",{provideCompletionItems:t.provideCompletionItems}),monaco.languages.registerCompletionItemProvider("javascript",{triggerCharacters:e.triggerCharacters,provideCompletionItems:e.provideCompletionItems}),monaco.languages.registerCompletionItemProvider("json",{provideCompletionItems:r.provideCompletionItems}))}var o=!1;e.exports={addJSCompletion:r}},function(e,t,n){"use strict";var r=n(41),o={wx:[]},i=r.api;for(var a in i)o.wx.push({label:a,kind:monaco.languages.CompletionItemKind.Function,insertText:i[a].insertText,documentation:i[a].documentation});var s=r.mina;for(var l in s)o[l]=[s[l]];var c=function(e,t,n){var r=e.getWordUntilPosition({lineNumber:t.lineNumber,column:t.column-1}),i=r.word;if(o[i])return o[i];var a=e.getWordUntilPosition({lineNumber:t.lineNumber,column:t.column}),s=a.word;return o[s]?o[s]:[]},u=["."];e.exports={provideCompletionItems:c,triggerCharacters:u}},function(e,t,n){"use strict";var r=n(42),o=n(44),i=n(45),a=n(46),s=n(47),l=n(48),c=n(49),u=n(50),d=n(51),p=n(52),f=n(53),h=n(54),g=n(55),m=n(56),v=Object.assign({},r,o,i,a,s,l,c,u,d,p,f,h);e.exports={api:v,mina:{a:g,p:m}}},function(e,t,n){"use strict";var r=n(43),o="request({\n url: 'https://{{URL}}',\n data: {{{}}},\n method: '{{GET}}', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT\n // header: {}, // 设置请求的 header\n "+r.cb+"\n})",i="发起 https 请求。一个微信小程序,同时只能有5个网络请求连接。",a={insertText:o,documentation:i};o="connectSocket({\n url: \"wss://{{URL}}\",\n data: {{{}}},\n // header: {}, // 设置请求的 header\n method: '{{GET}}', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT\n "+r.cb+"\n})",i="创建一个 WebSocket 连接。";var s={insertText:o,documentation:i};o="onSocketClose(function() {\n {{// callback}}\n})",i="监听 WebSocket 关闭。";var l={insertText:o,documentation:i};o="onSocketError(function() {\n {{// callback}}\n})",i="监听 WebSocket 错误。";var c={insertText:o,documentation:i};o="onSocketMessage(function(data) {\n {{// data}}\n})",i="监听 WebSocket 接受到服务器的消息事件。";var u={insertText:o,documentation:i};o="onSocketOpen(function() {\n {{// callback}}\n})",i="监听 WebSocket 连接打开事件。";var d={insertText:o,documentation:i};o="sendSocketMessage({\n data: '{{String}}',\n "+r.cb+"\n})",i="通过 WebSocket 连接发送数据,需要先 wx.connectSocket,并在 wx.onSocketOpen 回调之后才能发送。";var p={insertText:o,documentation:i};o="downloadFile({\n url: \"https://{{URL}}\",\n // type: 'image', // 下载资源的类型,用于客户端识别处理,有效值:image/audio/video\n // header: {}, // 设置请求的 header\n "+r.cb+"\n})",i="下载文件资源到本地。客户端直接发起一个 HTTP GET 请求,把下载到的资源根据 type 进行处理,并返回文件的本地临时路径。";var f={insertText:o,documentation:i};o="uploadFile({\n url: 'https://{{String}}',\n filePath:'{{filePath}}',\n name:'{{name}}',\n // header: {}, // 设置请求的 header\n // formData: {}, // HTTP 请求中其他额外的 form data\n "+r.cb+"\n})",i="将本地资源上传到开发者服务器。";var h={insertText:o,documentation:i};o="closeSocket()",i="关闭 WebSocket 连接。";var g={insertText:o,documentation:i};e.exports={request:a,connectSocket:s,onSocketClose:l,onSocketError:c,onSocketMessage:u,onSocketOpen:d,sendSocketMessage:p,downloadFile:f,uploadFile:h,closeSocket:g}},function(e,t){"use strict";var n="success: function(res){\n {{// success}}\n },\n fail: function() {\n {{// fail}}\n },\n complete: function() {\n {{// complete}}\n }";e.exports={cb:n}},function(e,t,n){"use strict";var r=n(43),o="chooseImage({\n count: {{9}}, // 最多可以选择的图片张数,默认9\n sizeType: [{{'original', 'compressed'}}], // original 原图,compressed 压缩图,默认二者都有\n sourceType: [{{'album', 'camera'}}], // album 从相册选图,camera 使用相机,默认二者都有\n "+r.cb+"\n})",i="从本地相册选择图片或使用相机拍照。",a={insertText:o,documentation:i};o="previewImage({\n // current: '{{String}}', // 当前显示图片的链接,不填则默认为 urls 的第一张\n urls: [{{StringArray}}],\n "+r.cb+"\n})",i="预览图片。";var s={insertText:o,documentation:i};o="getImageInfo({\n src: '{{src}}',\n "+r.cb+"\n})",i="获取图片信息。";var l={insertText:o,documentation:i};o="startRecord({\n "+r.cb+"\n})",i="开始录音。当主动调用 wx.stopRecord,或者录音超过1分钟时自动结束录音,返回录音文件的临时文件路径。";var c={insertText:o,documentation:i};o="stopRecord({\n "+r.cb+"\n})",i=" 主动调用停止录音。";var u={insertText:o,documentation:i};o="playVoice({\n filePath: '{{String}}',\n "+r.cb+"\n})",i="开始播放语音,同时只允许一个语音文件正在播放,如果前一个语音文件还没播放完,将中断前一个语音播放。";var d={insertText:o,documentation:i};o="pauseVoice({\n "+r.cb+"\n})",i="暂停正在播放的语音。";var p={insertText:o,documentation:i};o="stopVoice({\n "+r.cb+"\n})",i="结束播放语音。";var f={insertText:o,documentation:i};o="getBackgroundAudioPlayerState({\n "+r.cb+"\n})",i="获取音乐播放状态。";var h={insertText:o,documentation:i};o="playBackgroundAudio({\n dataUrl: '{{String}}',\n "+r.cb+"\n})",i="播放音乐,同时只能有一首音乐正在播放。";var g={insertText:o,documentation:i};o="pauseBackgroundAudio({\n "+r.cb+"\n})",i="暂停播放音乐。";var m={insertText:o,documentation:i};o="seekBackgroundAudio({\n position: {{Number}},\n "+r.cb+"\n})",i="控制音乐播放进度。";var v={insertText:o,documentation:i};o="stopBackgroundAudio({\n "+r.cb+"\n})",i="停止播放音乐。";var b={insertText:o,documentation:i};o="onBackgroundAudioPlay(function() {\n {{// callback}}\n})",i="监听音乐播放。";var y={insertText:o,documentation:i};o="onBackgroundAudioPause(function() {\n {{// callback}}\n})",i="监听音乐暂停。";var A={insertText:o,documentation:i};o="onBackgroundAudioStop(function() {\n {{// callback}}\n})",i="监听音乐停止。";var x={insertText:o,documentation:i};o="chooseVideo({\n sourceType: ['album', 'camera'], // album 从相册选视频,camera 使用相机拍摄\n // maxDuration: 60, // 拍摄视频最长拍摄时间,单位秒。最长支持60秒\n camera: ['front', 'back'],\n "+r.cb+"\n})",i="拍摄视频或从手机相册中选视频,返回视频的临时文件路径。";var E={insertText:o,documentation:i};o="createAudioContext({{AudioId}})\n",i="创建并返回 audio 上下文 audioContext 对象。";var w={insertText:o,documentation:i};o="createVideoContext({{VideoId}})\n",i="创建并返回 video 上下文 videoContext 对象。";var C={insertText:o,documentation:i};e.exports={chooseImage:a,previewImage:s,getImageInfo:l,startRecord:c,stopRecord:u,playVoice:d,pauseVoice:p,stopVoice:f,getBackgroundAudioPlayerState:h,playBackgroundAudio:g,pauseBackgroundAudio:m,seekBackgroundAudio:v,stopBackgroundAudio:b,onBackgroundAudioPlay:y,onBackgroundAudioPause:A,onBackgroundAudioStop:x,chooseVideo:E,createAudioContext:w,createVideoContext:C}},function(e,t,n){"use strict";var r=n(43),o="saveFile({\n tempFilePath: '{{String}}',\n "+r.cb+"\n})",i="保存文件到本地。",a={insertText:o,documentation:i};o="openDocument({\n filePath: '{{String}}',\n "+r.cb+"\n})",i="在新 webview 打开文档,支持格式:doc, xls, ppt, pdf, docx, xlsx, pptx。";var s={insertText:o,documentation:i};o="getSavedFileList({\n "+r.cb+"\n})",i="获取该小程序下已保存的文件列表。";var l={insertText:o,documentation:i};o="getSavedFileInfo({\n filePath: '{{String}}',\n "+r.cb+"\n})",i="获取该已保存的文件信息。";var c={insertText:o,documentation:i};o="removeSavedFile({\n filePath: '{{String}}',\n "+r.cb+"\n})",i="删除已保存的文件。";var u={insertText:o,documentation:i};e.exports={saveFile:a,openDocument:s,getSavedFileList:l,getSavedFileInfo:c,removeSavedFile:u}},function(e,t,n){
-"use strict";var r=n(43),o="setStorage({\n key: '{{String}}',\n data: {{Object/String}},\n "+r.cb+"\n})",i="将数据存储在本地缓存中指定的 key 中,这是一个异步接口。",a={insertText:o,documentation:i};o="setStorageSync('{{String}}', {{Object/String}})",i="将 data 存储在本地缓存中指定的 key 中,这是一个同步接口。";var s={insertText:o,documentation:i};o="getStorage({\n key: '{{String}}',\n "+r.cb+"\n})",i="从本地缓存中异步获取指定 key 对应的内容,这是一个异步接口。";var l={insertText:o,documentation:i};o="getStorageSync('{{String}}')",i="从本地缓存中同步获取指定 key 对应的内容,这是一个同步接口。";var c={insertText:o,documentation:i};o="clearStorage({\n key: '{{String}}',\n "+r.cb+"\n})",i="清理本地数据缓存,这是一个异步接口。";var u={insertText:o,documentation:i};o="clearStorageSync()",i="清理本地数据缓存,这是一个同步接口。";var d={insertText:o,documentation:i};o="getStorageInfo({\n key: '{{String}}',\n "+r.cb+"\n})",i="获取 storage 相关信息,这是一个异步接口。";var p={insertText:o,documentation:i};o="getStorageInfoSync()",i="获取 storage 相关信息,这是一个同步接口。";var f={insertText:o,documentation:i};o="removeStorage({\n key: '{{String}}',\n "+r.cb+"\n})",i="指定 key 删除本地数据,这是一个异步接口。";var h={insertText:o,documentation:i};o="removeStorageSync('{{String}}')",i="指定 key 删除本地数据,这是一个同步接口。";var g={insertText:o,documentation:i};e.exports={setStorage:a,setStorageSync:s,getStorage:l,getStorageSync:c,clearStorage:u,clearStorageSync:d,getStorageInfo:p,getStorageInfoSync:f,removeStorage:h,removeStorageSync:g}},function(e,t,n){"use strict";var r=n(43),o="getLocation({\n type: '{{wgs84}}', // 默认为 wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标\n "+r.cb+"\n})",i="获取当前的地理位置、速度。",a={insertText:o,documentation:i};o="openLocation({\n latitude: {{Float}}, // 纬度,范围为-90~90,负数表示南纬\n longitude: {{Float}}, // 经度,范围为-180~180,负数表示西经\n scale: {{28}}, // 缩放比例\n // name: '{{name}}', // 位置名\n // address: '{{address}}', // 地址的详细说明\n "+r.cb+"\n})",i="使用微信内置地图查看位置。";var s={insertText:o,documentation:i};o="chooseLocation({\n "+r.cb+"\n})",i="调起原生地图选点界面,返回用户所选的位置名称及经纬度。";var l={insertText:o,documentation:i};o="createMapContext({{MapId}})\n",i="创建并返回 map 上下文 mapContext 对象。";var c={insertText:o,documentation:i};e.exports={getLocation:a,openLocation:s,chooseLocation:l,createMapContext:c}},function(e,t){"use strict";var n="getNetworkType({\n success: function(res) {\n {{// success}}\n }\n})",r="获取网络类型。",o={insertText:n,documentation:r};n="getSystemInfo({\n success: function(res) {\n {{// success}}\n }\n})",r="获取系统信息,这是一个异步接口。";var i={insertText:n,documentation:r};n="getSystemInfoSync()",r="获取系统信息,这是一个同步接口。";var a={insertText:n,documentation:r};n="onAccelerometerChange(function(res){\n {{// callback}}\n})",r="监听重力感应数据,频率:5次/秒。";var s={insertText:n,documentation:r};n="onCompassChange(function(res){\n {{// callback}}\n})",r="监听罗盘数据,频率:5次/秒。";var l={insertText:n,documentation:r};n="makePhoneCall({\n phoneNumber: '{{String}}',\n success: function(res) {\n {{// success}}\n }\n})",r="拨打电话";var c={insertText:n,documentation:r};n="scanCode({\n success: function(res) {\n {{// success}}\n },\n fail: function(res) {\n {{// fail}}\n },\n complete: function(res) {\n {{// complete}}\n }\n})",r="调起扫码界面";var u={insertText:n,documentation:r};e.exports={getNetworkType:o,getSystemInfo:i,getSystemInfoSync:a,onAccelerometerChange:s,onCompassChange:l,makePhoneCall:c,scanCode:u}},function(e,t){"use strict";var n="setNavigationBarTitle({\n title: '{{String}}',\n success: function(res) {\n {{// success}}\n }\n})",r="动态设置当前页面的标题。",o={insertText:n,documentation:r};n="hideNavigationBarLoading()",r="隐藏导航条加载动画。";var i={insertText:n,documentation:r};n="showNavigationBarLoading()",r="在当前页面显示导航条加载动画。";var a={insertText:n,documentation:r};e.exports={setNavigationBarTitle:o,showNavigationBarLoading:a,hideNavigationBarLoading:i}},function(e,t,n){"use strict";var r=n(43),o="navigateTo({\n url: '{{String}}',\n "+r.cb+"\n})",i="保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面。",a={insertText:o,documentation:i};o="redirectTo({\n url: '{{String}}',\n "+r.cb+"\n})",i="关闭当前页面,跳转到应用内的某个页面。";var s={insertText:o,documentation:i};o="navigateBack({\n delta: {{1}}, // 回退前 delta(默认为1) 页面\n "+r.cb+"\n})",i="关闭当前页面,回退前 delta(默认为1) 页面。";var l={insertText:o,documentation:i};o="switchTab({\n url: '{{String}}',\n "+r.cb+"\n})",i="跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面";var c={insertText:o,documentation:i};e.exports={navigateTo:a,redirectTo:s,navigateBack:l,switchTab:c}},function(e,t){"use strict";var n='createAnimation({\n duration: 400,\n timingFunction: \'linear\', // "linear","ease","ease-in","ease-in-out","ease-out","step-start","step-end"\n delay: 0,\n transformOrigin: \'50% 50% 0\',\n success: function(res) {\n {{function code}}\n }\n})',r="创建一个动画实例 animation。",o={insertText:n,documentation:r};e.exports={createAnimation:o}},function(e,t,n){"use strict";var r=n(43),o="createContext()",i="创建并返回绘图上下文context对象。",a={insertText:o,documentation:i};o="drawCanvas({\n canvasId: '{{String}}',\n actions: {{actions}}\n})",i="drawCanvas。";var s={insertText:o,documentation:i};o="canvasToTempFilePath({\n canvasId: {{canvasId}},\n "+r.cb+"\n})\n",i="将 canvas 导出为图片,并返回临时文件路劲。";var l={insertText:o,documentation:i};o="canvasToTempFilePath({\n canvasId: {{canvasId}}\n})\n",i="创建 canvas 绘图上下文(指定 canvasId)";var c={insertText:o,documentation:i};e.exports={createContext:a,drawCanvas:s,canvasToTempFilePath:l,createCanvasContext:c}},function(e,t,n){"use strict";var r=n(43),o="hideKeyboard()",i="收起键盘。",a={insertText:o,documentation:i};o="stopPullDownRefresh()",i="停止当前页面下拉刷新。";var s={insertText:o,documentation:i};o="scanCode({\n "+r.cb+"\n})",i="调起客户端扫码界面,扫码成功后返回对应的结果";var l={insertText:o,documentation:i};e.exports={hideKeyboard:a,stopPullDownRefresh:s,scanCode:l}},function(e,t,n){"use strict";var r=n(43),o="login({\n "+r.cb+"\n})",i="调用接口获取登录凭证(code)进而换取用户登录态信息,包括用户的唯一标识(openid) 及本次登录的 会话密钥(session_key)。",a={insertText:o,documentation:i};o="getUserInfo({\n "+r.cb+"\n})",i="获取用户信息,需要先调用 wx.login 接口。";var s={insertText:o,documentation:i};o="requestPayment({\n timeStamp: '{{String1}}',\n nonceStr: '{{String2}}',\n package: '{{String3}}',\n signType: 'MD5',\n paySign: '{{String4}}',\n "+r.cb+"\n})",i="发起微信支付。";var l={insertText:o,documentation:i};e.exports={login:a,getUserInfo:s,requestPayment:l}},function(e,t){"use strict";var n="App({\n onLaunch: function () {\n {{String1}}\n },\n onShow: function () {\n {{String2}}\n },\n onHide: function () {\n {{String3}}\n },\n onError: function (msg) {\n {{String4}}\n }\n})",r="使用 App 函数来生成一个程序实例",o=monaco.languages.CompletionItemKind.Function,i="App";e.exports={insertText:n,documentation:r,kind:o,label:i}},function(e,t){"use strict";var n="Page({\n data:{\n {{String1}}\n },\n onLoad:function(options){\n // 生命周期函数--监听页面加载\n {{String2}}\n },\n onReady:function(){\n // 生命周期函数--监听页面初次渲染完成\n {{String3}}\n },\n onShow:function(){\n // 生命周期函数--监听页面显示\n {{String4}}\n },\n onHide:function(){\n // 生命周期函数--监听页面隐藏\n {{String5}}\n },\n onUnload:function(){\n // 生命周期函数--监听页面卸载\n {{String6}}\n },\n onPullDownRefresh: function() {\n // 页面相关事件处理函数--监听用户下拉动作\n {{String7}}\n },\n onReachBottom: function() {\n // 页面上拉触底事件的处理函数\n {{String8}}\n },\n onShareAppMessage: function() {\n // 用户点击右上角分享\n return {\n title: '{{title}}', // 分享标题\n desc: '{{desc}}', // 分享描述\n path: '{{path}}' // 分享路径\n }\n }\n})",r="使用 Page 函数来生成一个页面实例",o=monaco.languages.CompletionItemKind.Function,i="Page";e.exports={insertText:n,documentation:r,kind:o,label:i}},function(e,t,n){"use strict";var r=n(58).tag,o=n(59).tag,i=n(60).name,a=n(61).value,s=function(e,t,n){var s=t.lineNumber,l=(t.column,e.getLineContent(s).substr(0,t.column-2));if(!(l.lastIndexOf("<")!=l.lastIndexOf("")&&l.lastIndexOf("<")>l.lastIndexOf(">")&&l.lastIndexOf(" ")>l.lastIndexOf("<")))return l.lastIndexOf("<")>-1&&l.lastIndexOf("<")==l.length-1?o:r;var c=l.substring(l.lastIndexOf("<")).trim(),u=c.indexOf(" ")>0?c.substring(1,c.indexOf(" ")):c.substr(1).trim(),d=c.substring(c.lastIndexOf(" "),c.lastIndexOf('="')).trim();if(c.lastIndexOf('="')==c.length-2){if(u&&d&&a[u+","+d])return a[u+","+d]}else if(u&&i[u])return i[u];return[]};e.exports={provideCompletionItems:s}},function(e,t){"use strict";var n=[{insertText:' ',documentation:"音频",label:"audio",kind:13},{insertText:"{{}} ",documentation:"按钮",label:"button",kind:13},{insertText:" ",documentation:"画布",label:"canvas",kind:13},{insertText:"{{}} ",documentation:"多项选择器",label:"checkbox-group",kind:13},{insertText:" ",documentation:"多选项目",label:"checkbox",kind:13},{insertText:" ",documentation:"客服会话按钮",label:"contact-button",kind:13},{insertText:"",documentation:"表单",label:"form",kind:13},{insertText:' ',documentation:"图标",label:"icon",kind:13},{insertText:' ',documentation:"图片",label:"image",kind:13},{insertText:" ",documentation:"输入框",label:"input",kind:13},{insertText:"{{}} ",documentation:"标签",label:"label",kind:13},{insertText:" ",documentation:"地图",label:"map",kind:13},{insertText:'{{}} ',documentation:"页面链接",label:"navigator",kind:13},{insertText:"{{}} ",documentation:"内嵌选择器项",label:"picker-view-column",kind:13},{insertText:"{{}} ",documentation:"内嵌选择器",label:"picker-view",kind:13},{insertText:"{{}} ",documentation:"选择器",label:"picker",kind:13},{insertText:" ",documentation:"地图",label:"progress",kind:13},{insertText:"{{}} ",documentation:"单项选择器",label:"radio-group",kind:13},{insertText:"{{}} ",documentation:"单选项目",label:"radio",kind:13},{insertText:"{{}} ",documentation:"可滚动视图区域",label:"scroll-view",kind:13},{insertText:" ",documentation:"分享按钮",label:"share-button",kind:13},{insertText:" ",documentation:"滑动选择器",label:"slider",kind:13},{insertText:"{{}} ",documentation:"滑块视图项目",label:"swiper-item",kind:13},{insertText:"{{}} ",documentation:"滑块视图",label:"swiper",kind:13},{insertText:' ',documentation:"开关选择器",label:"switch",kind:13},{insertText:"{{}} ",documentation:"文本",label:"text",kind:13},{insertText:"",documentation:"多行输入框",label:"textarea",kind:13},{insertText:' ',documentation:"视频",label:"video",kind:13},{insertText:"{{}} ",documentation:"视图窗口",label:"view",kind:13}];e.exports={tag:n}},function(e,t){"use strict";var n=[{insertText:'audio src="{{src}}">',documentation:"音频",label:"audio",kind:13},{insertText:"button>{{}}",documentation:"按钮",label:"button",kind:13},{insertText:"canvas {{}} />",documentation:"画布",label:"canvas",kind:13},{insertText:"checkbox-group>{{}}",documentation:"多项选择器",label:"checkbox-group",kind:13},{insertText:"checkbox>",documentation:"多选项目",label:"checkbox",kind:13},{insertText:"contact-button>",documentation:"客服会话按钮",label:"contact-button",kind:13},{insertText:"form>{{}}",documentation:"表单",label:"form",kind:13},{insertText:'icon type="{{String}}">',documentation:"图标",label:"icon",kind:13},{insertText:'image src="{{src}}">',documentation:"图片",label:"image",kind:13},{insertText:"input />",documentation:"输入框",label:"input",kind:13},{insertText:"label>{{}}",documentation:"标签",label:"label",kind:13},{insertText:"map {{}}/>",documentation:"地图",label:"map",kind:13},{insertText:'navigator url="{{url}}">{{}}',documentation:"页面链接",label:"navigator",kind:13},{insertText:"picker-view-column>{{}}",documentation:"内嵌选择器项",label:"picker-view-column",kind:13},{insertText:"picker-view>{{}}",documentation:"内嵌选择器",label:"picker-view",kind:13},{insertText:"picker>{{}}",documentation:"选择器",label:"picker",kind:13},{insertText:"progress />",documentation:"地图",label:"progress",kind:13},{insertText:"radio-group>{{}}",documentation:"单项选择器",label:"radio-group",kind:13},{insertText:"radio>{{}}",documentation:"单选项目",label:"radio",kind:13},{insertText:"scroll-view>{{}}",documentation:"可滚动视图区域",label:"scroll-view",kind:13},{insertText:"share-button>",documentation:"分享按钮",label:"share-button",kind:13},{insertText:"slider />",documentation:"滑动选择器",label:"slider",kind:13},{insertText:"swiper-item>{{}}",documentation:"滑块视图项目",label:"swiper-item",kind:13},{insertText:"swiper>{{}}",documentation:"滑块视图",label:"swiper",kind:13},{insertText:'switch type="{{switch}}" />',documentation:"开关选择器",label:"switch",kind:13},{insertText:"text>{{}}",documentation:"文本",label:"text",kind:13},{insertText:"textarea />",documentation:"多行输入框",label:"textarea",kind:13},{insertText:'video src="{{src}}">',documentation:"视频",label:"video",kind:13},{insertText:"view>{{}}",documentation:"视图窗口",label:"view",kind:13}];e.exports={tag:n}},function(e,t){"use strict";var n={audio:[{insertText:'src="{{src}}"',documentation:"音频资源地址",label:"src",kind:9},{insertText:'loop="{{false}}"',documentation:"是否循环播放",label:"loop",kind:9},{insertText:'controls="{{false}}"',documentation:"是否显示默认控件",label:"controls",kind:9},{insertText:'poster="{{poster}}"',documentation:"默认控件上的音频封面的图片资源地址",label:"poster",kind:9},{insertText:'name="{{name}}"',documentation:"默认控件上的音频名字",label:"name",kind:9},{insertText:'author="{{author}}"',documentation:"默认控件上的作者名字",label:"author",kind:9},{insertText:'bindplay="{{EventHandle}}"',documentation:"音频开始播放事件",label:"bindplay",kind:9},{insertText:'bindpause="{{EventHandle}}"',documentation:"音频暂停播放事件",label:"bindpause",kind:9},{insertText:'bindeneded="{{EventHandle}}"',documentation:"音频播放结束事件",label:"bindended",kind:9},{insertText:'binderror="{{EventHandle}}"',documentation:"音频错误事件",label:"binderror",kind:9},{insertText:'bindtimeupdate="{{EventHandle}}"',documentation:"音频播放进度改变事件",label:"bindtimeupdate",kind:9}],button:[{insertText:'size="{{default}}"',documentation:"尺寸",label:"size",kind:9},{insertText:'type="{{default}}"',documentation:"类型",label:"type",kind:9},{insertText:"plain",documentation:"是否镂空(背景色透明)",label:"plain",kind:9},{insertText:"disabled",documentation:"是否禁用",label:"disabled",kind:9},{insertText:"loading",documentation:"名称前是否带 loading 图标",label:"loading",kind:9},{insertText:'form-type="{{submit}}"',documentation:"在表单中的行为类型",label:"form-type",kind:9},{insertText:'hover-class="{{String}}"',documentation:"被按下时的样式类",label:"hover-class",kind:9},{insertText:'bindtap="{{EventHandle}}"',documentation:"点击时触发",label:"bindtap",kind:9},{insertText:'hover-start-time="{{Number}}"',documentation:"按住后多久出现点击态",label:"hover-start-time",kind:9},{insertText:'hover-stay-time="{{Number}}"',documentation:"手指松开后点击态保留时间",label:"hover-stay-time",kind:9}],canvas:[{insertText:'canvas-id="{{String}}"',documentation:"canvas 组件的唯一标识符",label:"canvas-id",kind:9},{insertText:"disable-scroll",documentation:"当在 canvas 中移动时,禁止屏幕滚动以及下拉刷新",label:"disable-scroll",kind:9},{insertText:'bindtouchstart="{{EventHandle}}"',documentation:"手指触摸动作开始",label:"bindtouchstart",kind:9},{insertText:'bindtouchmove="{{EventHandle}}"',documentation:"手指触摸后移动",label:"bindtouchmove",kind:9},{insertText:'bindtouchend="{{EventHandle}}"',documentation:"手指触摸动作结束",label:"bindtouchend",kind:9},{insertText:'bindtouchcancel="{{EventHandle}}"',documentation:"手指触摸动作被打断,如来电提醒,弹窗",label:"bindtouchcancel",kind:9},{insertText:'binderror="{{EventHandle}}"',documentation:"当发生错误时触发 error 事件,detail = {errMsg: 'something wrong'}",label:"binderror",kind:9},{insertText:'bindlongtap="{{EventHandle}}"',documentation:"手指长按 500ms 之后触发,触发了长按事件后进行移动不会触发屏幕的滚动",label:"bindlongtap",kind:9}],"checkbox-group":[{insertText:'bindchange="{{EventHandle}}"',documentation:"值改变时触发的事件",label:"bindchange",kind:9}],checkbox:[{insertText:'value="{{String}}"',documentation:"标识值",label:"value",kind:9},{insertText:"disabled",documentation:"是否禁用",label:"disabled",kind:9},{insertText:"checked",documentation:"是否选中",label:"checked",kind:9}],"contact-button":[{insertText:'size="{{36}}"',documentation:"尺寸",label:"size",kind:9},{insertText:'session-from="{{String}}"',documentation:"回话来源",label:"session-from",kind:9},{insertText:'type="{{default-dark}}"',documentation:"类型",label:"type",kind:9}],form:[{insertText:"report-submit",documentation:"是否返回formId用于发送模板消息",label:"report-submit",kind:9},{insertText:'bindsubmit="{{EventHandle}}"',documentation:"表单提交时触发的事件",label:"bindsubmit",kind:9},{insertText:'bindreset="{{EventHandle}}"',documentation:"表单重置时触发的事件",label:"bindreset",kind:9}],icon:[{insertText:'type="{{String}}"',documentation:"类型",label:"type",kind:9},{insertText:'size="{{23}}"',documentation:"尺寸",label:"size",kind:9},{insertText:'color="{{Color}}"',documentation:"颜色",label:"color",kind:9}],image:[{insertText:'src="{{src}}"',documentation:"图片资源地址",label:"src",kind:9},{insertText:'mode="{{scaleToFill}}"',documentation:"图片裁剪,缩放模式",label:"mode",kind:9},{insertText:'bindload="{{EventHandle}}"',documentation:"图片载入完毕回调",label:"bindload",kind:9},{insertText:'binderror="{{EventHandle}}"',documentation:"图片载入错误回调",label:"binderror",kind:9}],input:[{insertText:'maxlength="{{Number}}"',documentation:"最大输入长度",label:"maxlength",kind:9},{insertText:"auto-focus",documentation:"自动聚焦",label:"auto-focus",kind:9},{insertText:'focus="{{Boolean}}"',documentation:"设置聚焦",label:"focus",kind:9},{insertText:'placeholder="{{String}}"',documentation:"占位符",label:"placeholder",kind:9},{insertText:'placeholder-style="{{String}}"',documentation:"占位符样式",label:"placeholder-style",kind:9},{insertText:'placeholder-class="{{String}}"',documentation:"占位符样式类",label:"placeholder-class",kind:9},{insertText:'type="{{text}}"',documentation:"输入框类型",label:"type",kind:9},{insertText:"password",documentation:"是否为密码输入框",label:"password",kind:9},{insertText:'bindinput="{{EventHandle}}"',documentation:"用户输入时触发",label:"bindinput",kind:9},{insertText:'bindblur="{{EventHandle}}"',documentation:"输入框失去焦点时调用",label:"bindblur",kind:9},{insertText:'bindfocus="{{EventHandle}}"',documentation:"输入框聚焦时调用",label:"bindfocus",kind:9},{insertText:'cursor-spacing="{{Number}}"',documentation:"光标与键盘之间的间距",label:"cursor-spacing",kind:9},{insertText:'bindconfirm="{{EventHandle}}"',documentation:"键盘点击完成时触发",label:"bindconfirm",kind:9}],label:[{insertText:'for="{{String}}"',documentation:"被绑定控件的id",label:"for",kind:9}],map:[{insertText:'longitude="{{Number}}"',documentation:"中心经度",label:"longitude",kind:9},{insertText:'latitude="{{Number}}"',documentation:"中心纬度",label:"latitude",kind:9},{insertText:'scale="{{Number}}"',documentation:"缩放级别",label:"scale",kind:9},{insertText:'markers="{{Array}}"',documentation:"标记点",label:"markers",kind:9},{insertText:'include-points="{{Array}}"',documentation:"将地图缩放以至于都够完整展示所有给定的坐标点",label:"include-points",kind:9},{insertText:'polyline="{{Array}}"',documentation:"在某个地图画线,可用于显示两点之间的路线",label:"polyline",kind:9},{insertText:'circles="{{Array}}"',documentation:"在某个地图以某点为中心画圆",label:"circles",kind:9},{insertText:'controls="{{Array}}"',documentation:"在地图上添加控件,控件不随着地图移动",label:"controls",kind:9},{insertText:"show-location",documentation:"显示当前定位位置的图标",label:"show-location",kind:9},{insertText:'bindmarkertap="{{EventHandle}}"',documentation:"点击marker触发",label:"bindmarkertap",kind:9},{insertText:'bindcontroltap="{{EventHandle}}"',documentation:"点击control触发",label:"bindcontroltap",kind:9},{insertText:'bindregionchange="{{EventHandle}}"',documentation:"地图视野变化时触发",label:"bindregionchange",kind:9},{insertText:'bindtap="{{EventHandle}}"',documentation:"点击地图时触发",label:"bindtap",kind:9}],navigator:[{insertText:'url="{{url}}"',documentation:"应用内的跳转链接",label:"url",kind:9},{insertText:"redirect",documentation:"是否关闭当前页面",label:"redirect",kind:9},{insertText:'open-type="{{type}}"',documentation:"跳转类型",label:"open-type",kind:9},{insertText:'hover-class="{{className}}"',documentation:'指定点击时的样式类,当hover-class="none"时,没有点击态效果',label:"hover-class",kind:9},{insertText:'hover-start-time="{{Number}}"',documentation:"按住后多久出现点击态",label:"hover-start-time",kind:9},{insertText:'hover-stay-time="{{Number}}"',documentation:"手指松开后点击态保留时间",label:"hover-stay-time",kind:9}],"picker-view":[{insertText:'indicator-style="{{String}}"',documentation:"设置选择器中间选中框的样式",label:"indicator-style",kind:9},{insertText:'bindchange="{{EventHandle}}"',documentation:"当滚动选择,value 改变时触发 change 事件",label:"bindchange",kind:9},{insertText:'value="{{Array}}"',documentation:"指定选择内容",label:"value",kind:9}],picker:[{insertText:'mode="{{selector}}"',documentation:"类型",label:"mode",kind:9},{insertText:'fields="{{day}}"',documentation:"日期选择器的选择范围",label:"fields",kind:9},{insertText:'start="{{String}}"',documentation:"时间或日期的开始范围",label:"start",kind:9},{insertText:'end="{{String}}"',documentation:"时间或日期的结束范围",label:"end",kind:9},{insertText:"disabled",documentation:"是否禁用",label:"disabled",kind:9}],progress:[{insertText:'percent="{{Number}}"',documentation:"百分比0~100",label:"percent",kind:9},{insertText:"show-info",documentation:"在进度条右侧显示百分比",label:"show-info",kind:9},{insertText:'stroke-width="{{6}}"',documentation:"进度条线的宽度,单位px",label:"stroke-width",kind:9},{insertText:'color="{{#09BB07}}"',documentation:"进度条颜色",label:"color",kind:9},{insertText:"active",documentation:"进度条从左往右的动画",label:"active",kind:9}],"radio-group":[{insertText:'bindchange="{{EventHandle}}"',documentation:"值改变时触发的事件",label:"bindchange",kind:9}],radio:[{insertText:'value="{{String}}"',documentation:"标识值",label:"value",kind:9},{insertText:"disabled",documentation:"是否禁用",label:"disabled",kind:9},{insertText:"checked",documentation:"是否选中",label:"checked",kind:9}],"scroll-view":[{insertText:"scroll-x",documentation:"允许横向滚动",label:"scroll-x",kind:9},{insertText:"scroll-y",documentation:"允许竖向滚动",label:"scroll-y",kind:9},{insertText:'upper-threshold="{{Number}}"',documentation:"距顶部/左边多远时(单位px),触发 scrolltoupper 事件",label:"upper-threshold",kind:9},{insertText:'lower-threshold="{{Number}}"',documentation:"距底部/右边多远时(单位px),触发 scrolltolower 事件",label:"lower-threshold",kind:9},{insertText:'scroll-top="{{Number}}"',documentation:"设置竖向滚动条位置",label:"scroll-top",kind:9},{insertText:'scroll-left="{{Number}}"',documentation:"设置横向滚动条位置",label:"scroll-left",kind:9},{insertText:'scroll-into-view="{{String}}"',documentation:"值应为某子元素id,则滚动到该元素,元素顶部对齐滚动区域顶部",label:"scroll-into-view",kind:9},{insertText:'bindscrolltoupper="{{EventHandle}}"',documentation:"滚动到顶部/左边,会触发 scrolltoupper 事件",label:"bindscrolltoupper",kind:9},{insertText:'bindscrolltolower="{{EventHandle}}"',documentation:"滚动到底部/右边,会触发 scrolltolower 事件",label:"bindscrolltolower",kind:9},{insertText:'bindscroll="{{EventHandle}}"',documentation:"滚动时触发",label:"bindscroll",kind:9}],"share-button":[{insertText:'size="{{36}}"',documentation:"尺寸",label:"size",kind:9},{insertText:'type="{{default-dark}}"',documentation:"类型",label:"type",kind:9},{insertText:'bindshare="{{EventHandle}}"',documentation:"开始分享事件",label:"bindshare",kind:9},{insertText:'bindsuccess="{{EventHandle}}"',documentation:"分享成功事件",label:"bindsuccess",kind:9},{insertText:'bindcancel="{{EventHandle}}"',documentation:"取消分享事件",label:"bindcancel",kind:9}],slider:[{insertText:'min="{{0}}"',documentation:"最小值",label:"min",kind:9},{insertText:'max="{{100}}"',documentation:"最大值",label:"max",kind:9},{insertText:'max="{{1}}"',documentation:"步长",label:"step",kind:9},{insertText:"disabled",documentation:"是否禁用",label:"disabled",kind:9},{insertText:'value="{{0}}"',documentation:"当前取值",label:"value",kind:9},{insertText:"show-value",documentation:"是否显示当前取值",label:"show-value",kind:9},{insertText:'bindchange="{{EventHandle}}"',documentation:"完成一次拖动后触发的事件",label:"bindchange",kind:9}],swiper:[{insertText:"autoplay",documentation:"是否自动切换",label:"autoplay",kind:9},{insertText:"indicator-dots",documentation:"是否显示面板指示点",label:"indicator-dots",kind:9},{insertText:'current="{{0}}"',documentation:"当前所在页面的 index",label:"current",kind:9},{insertText:'interval="{{5000}}"',documentation:"自动切换时间间隔",label:"interval",kind:9},{insertText:'duration="{{1000}}"',documentation:"滑动动画时长",label:"duration",kind:9},{insertText:'bindchange="{{EventHandle}}"',documentation:"所在页面改变时触发的事件",label:"bindchange",kind:9},{insertText:"circular",documentation:"是否采用衔接滑动",label:"circular",kind:9}],"switch":[{insertText:'type="{{switch}}"',documentation:"类型",label:"type",kind:9},{insertText:"checked",documentation:"是否选中",label:"checked",kind:9},{insertText:'bindchange="{{EventHandle}}"',documentation:"是否选中",label:"bindchange",kind:9},{insertText:'color="{{color}}"',documentation:"颜色",label:"color",kind:9}],text:[{insertText:"selectable",documentation:"是否可长按选中",label:"selectable",kind:9}],textarea:[{insertText:'maxlength="{{Number}}"',documentation:"最大输入长度",label:"maxlength",kind:9},{insertText:"auto-focus",documentation:"自动聚焦",label:"auto-focus",kind:9},{insertText:'focus="{{Boolean}}"',documentation:"设置聚焦",label:"focus",kind:9},{insertText:'placeholder="{{String}}"',documentation:"占位符",label:"placeholder",kind:9},{insertText:'placeholder-style="{{String}}"',documentation:"占位符样式",label:"placeholder-style",kind:9},{insertText:'placeholder-class="{{String}}"',documentation:"占位符样式类",label:"placeholder-class",kind:9},{insertText:'bindlinechange="{{EventHandle}}"',documentation:"行数变化时触发",label:"bindlinechange",kind:9},{insertText:'bindblur="{{EventHandle}}"',documentation:"输入框失去焦点时调用",label:"bindblur",kind:9},{insertText:'bindfocus="{{EventHandle}}"',documentation:"输入框聚焦时调用",label:"bindfocus",kind:9},{insertText:"confirm",documentation:"是否显示完成按钮",label:"confirm",kind:9},{insertText:"disabled",documentation:"是否不可用",label:"disabled",kind:9},{insertText:"hidden",documentation:"是否隐藏",label:"hidden",kind:9},{insertText:"auto-height",documentation:"是否自动增高",label:"auto-height",kind:9},{insertText:'cursor-spacing="{{Number}}"',documentation:"光标与键盘之间的间距",label:"cursor-spacing",kind:9},{insertText:'bindconfirm="{{EventHandle}}"',documentation:"键盘点击完成时触发",label:"bindconfirm",kind:9},{insertText:"fixed",documentation:"固定区域",label:"fixed",kind:9}],video:[{insertText:'src="{{src}}"',documentation:"视频资源地址",label:"src",kind:9},{insertText:'controls="{{controls}}"',documentation:"是否显示默认控件",label:"controls",kind:9},{insertText:'danmu-list="{{danmuList}}"',documentation:"弹幕列表",label:"danmu-list",kind:9},{insertText:'danmu-btn="{{false}}"',documentation:"是否显示弹幕按钮",label:"danmu-btn",kind:9},{insertText:'danmu-btn="{{false}}"',documentation:"是否默认显示弹幕",label:"enable-danmu",kind:9},{insertText:'autoplay="{{false}}"',documentation:"是否自动播放",label:"autoplay",kind:9},{insertText:'bindplay="{{EventHandle}}"',documentation:"视频开始播放事件",label:"bindplay",kind:9},{insertText:'bindpause="{{EventHandle}}"',documentation:"视频暂停播放事件",label:"bindpause",kind:9},{insertText:'bindeneded="{{EventHandle}}"',documentation:"视频播放结束事件",label:"bindended",kind:9},{insertText:'binderror="{{EventHandle}}"',documentation:"视频错误事件",label:"binderror",kind:9},{insertText:'bindtimeupdate="{{EventHandle}}"',documentation:"播放进度变化时触发",label:"bindtimeupdate",kind:9},{insertText:'objectFit="{{String}}"',documentation:"当视频大小与 video 容器大小不一致时,视频的表现形式",label:"objectFit",kind:9}],view:[{insertText:"hover",documentation:"是否启用点击态",label:"hover",kind:9},{insertText:'hover-class="{{className}}"',documentation:"指定按下去的样式类",label:"hover-class",kind:9},{insertText:'hover-start-time="{{Number}}"',documentation:"按住后多久出现点击态",label:"hover-start-time",kind:9},{insertText:'hover-stay-time="{{Number}}"',documentation:"手指松开后点击态保留时间",label:"hover-stay-time",kind:9}]};e.exports={name:n}},function(e,t){"use strict";var n={"audio,loop":[{insertText:"{{true}}",documentation:"循环播放",label:"{{true}}",kind:11},{insertText:"{{false}}",documentation:"不循环播放",label:"{{false}}",kind:11}],"audio,controls":[{insertText:"{{true}}",documentation:"显示默认控件",label:"{{true}}",kind:11},{insertText:"{{false}}",documentation:"不显示默认控件",label:"{{false}}",kind:11}],"button,size":[{insertText:"default",documentation:"默认尺寸",label:"default",kind:11},{insertText:"mini",documentation:"迷你尺寸",label:"mini",kind:11}],"button,type":[{insertText:"primary",documentation:"基本",label:"primary",kind:11},{insertText:"default",documentation:"默认",label:"default",kind:11},{insertText:"warn",documentation:"警告",label:"warn",kind:11}],"button,form-type":[{insertText:"submit",documentation:"提交表单",label:"submit",kind:11},{insertText:"reset",documentation:"重置表单",label:"reset",kind:11}],"contact-button,type":[{insertText:"default-dark",documentation:"默认深色",label:"default-dark",kind:11},{insertText:"default-light",documentation:"默认浅色",label:"default-light",kind:11}],"icon,type":[{insertText:"success",documentation:"成功",label:"success",kind:11},{insertText:"success_no_circle",documentation:"成功(无圆圈)",label:"success_no_circle",kind:11},{insertText:"info",documentation:"提示信息",label:"info",kind:11},{insertText:"warn",documentation:"警告",label:"warn",kind:11},{insertText:"waiting",documentation:"请等待",label:"waiting",kind:11},{insertText:"cancel",documentation:"取消",label:"cancel",kind:11},{insertText:"download",documentation:"下载",label:"download",kind:11},{insertText:"search",documentation:"搜索",label:"search",kind:11},{insertText:"clear",documentation:"清空",label:"clear",kind:11}],"image,mode":[{insertText:"scaleToFill",documentation:"不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素",label:"scaleToFill",kind:11},{insertText:"aspectFit",documentation:"保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。",label:"aspectFit",kind:11},{insertText:"aspectFill",documentation:"保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。",label:"aspectFill",kind:11},{insertText:"top",documentation:"不缩放图片,只显示图片的顶部区域",label:"top",kind:11},{insertText:"bottom",documentation:"不缩放图片,只显示图片的底部区域",label:"bottom",kind:11},{insertText:"center",documentation:"不缩放图片,只显示图片的中间区域",label:"center",kind:11},{insertText:"left",documentation:"不缩放图片,只显示图片的左边区域",label:"left",kind:11},{insertText:"right",documentation:"不缩放图片,只显示图片的右边区域",label:"right",kind:11},{insertText:"top left",documentation:"不缩放图片,只显示图片的左上边区域",label:"top left",kind:11},{insertText:"top right",documentation:"不缩放图片,只显示图片的右上边区域",label:"top right",kind:11},{insertText:"bottom left",documentation:"不缩放图片,只显示图片的左下边区域",label:"bottom left",kind:11},{insertText:"bottom right",documentation:"不缩放图片,只显示图片的右下边区域",label:"bottom right",kind:11},{insertText:"widthFix",documentation:"高度会自动根据宽度变化来变化,保持长宽比不变",label:"widthFix",kind:11}],"input,type":[{insertText:"text",documentation:"文本输入框",label:"text",kind:11},{insertText:"number",documentation:"数字输入框",label:"number",kind:11},{insertText:"digit",documentation:"带小数点的数字输入框",label:"digit",kind:11},{insertText:"idcard",documentation:"身份证类型的输入框",label:"idcard",kind:11}],"navigator,open-type":[{insertText:"redirect",documentation:"关闭当前页面",label:"redirect",kind:11},{insertText:"navigate",documentation:"打开新页面",label:"navigate",kind:11},{insertText:"switchTab",documentation:"跳转到 tabBar 页面",label:"switchTab",kind:11}],"picker,mode":[{insertText:"selector",documentation:"单项选择器",label:"selector",kind:11},{insertText:"time",documentation:"时间选择器",label:"time",kind:11},{insertText:"date",documentation:"日期选择器",label:"date",kind:11}],"picker,fields":[{insertText:"day",documentation:"可以选择年、月、日",label:"day",kind:11},{insertText:"month",documentation:"可以选择年、月",label:"month",kind:11},{insertText:"year",documentation:"可以选择年",label:"year",kind:11}],"share-button,type":[{insertText:"default-dark",documentation:"默认深色",label:"default-dark",kind:11},{insertText:"default-light",documentation:"默认浅色",label:"default-light",kind:11}],"switch,type":[{insertText:"switch",documentation:"开关式",label:"switch",kind:11},{insertText:"checkbox",documentation:"勾选式",label:"checkbox",kind:11}],"video,controls":[{insertText:"{{true}}",documentation:"显示默认控件",label:"{{true}}",kind:11},{insertText:"{{false}}",
-documentation:"不显示默认控件",label:"{{false}}",kind:11}],"video,danmu-btn":[{insertText:"{{true}}",documentation:"显示弹幕按钮",label:"{{true}}",kind:11},{insertText:"{{false}}",documentation:"不显示弹幕按钮",label:"{{false}}",kind:11}],"video,enable-danmu":[{insertText:"{{true}}",documentation:"默认显示弹幕",label:"{{true}}",kind:11},{insertText:"{{false}}",documentation:"默认不显示弹幕",label:"{{false}}",kind:11}],"video,autoplay":[{insertText:"{{true}}",documentation:"自动播放",label:"{{true}}",kind:11},{insertText:"{{false}}",documentation:"不自动播放",label:"{{false}}",kind:11}],"video,objectFit":[{insertText:"contain",documentation:"包含",label:"contain",kind:11},{insertText:"fill",documentation:"填充",label:"fill",kind:11},{insertText:"cover",documentation:"覆盖",label:"cover",kind:11}]};e.exports={value:n}},function(e,t,n){"use strict";var r=n(63),o=n(64),i=n(65),a=function(e,t,n){e.getValueInRange({startLineNumber:1,startColumn:1,endLineNumber:t.lineNumber,endColumn:t.column});return r.concat(o).concat(i)};e.exports={provideCompletionItems:a}},function(e,t){"use strict";var n=monaco.languages.CompletionItemKind.Keyword,r=void 0,o=void 0,i=void 0;r="navigationBarBackgroundColor",o='导航栏背景颜色,如"#000000"。',i='"navigationBarBackgroundColor": "{{#000000}}"';var a={label:r,documentation:o,insertText:i,kind:n};r="navigationBarTextStyle",o="导航栏标题颜色,仅支持 black/white。",i='"navigationBarTextStyle": "{{white}}"';var s={label:r,documentation:o,insertText:i,kind:n};r="navigationBarTitleText",o="导航栏标题文字内容。",i='"navigationBarTitleText": "{{String}}"';var l={label:r,documentation:o,insertText:i,kind:n};r="backgroundColor",o="窗口的背景色。",i='"backgroundColor": "{{#ffffff}}"';var c={label:r,documentation:o,insertText:i,kind:n};r="backgroundTextStyle",o="下拉背景字体、loading 图的样式,仅支持 dark/light。",i='"backgroundTextStyle": "{{dark}}"';var u={label:r,documentation:o,insertText:i,kind:n};r="enablePullDownRefresh",o="是否开启下拉刷新。",i='"enablePullDownRefresh": {{false}}';var d={label:r,documentation:o,insertText:i,kind:n};e.exports=[a,s,l,c,u,d]},function(e,t){"use strict";var n=monaco.languages.CompletionItemKind.Keyword,r=void 0,o=void 0,i=void 0;r="color",o="tab 上的文字默认颜色。",i='"color": "{{#000000}}"';var a={label:r,documentation:o,insertText:i,kind:n};r="selectedColor",o="tab 上的文字选中时的颜色。",i='"selectedColor": "{{#000000}}"';var s={label:r,documentation:o,insertText:i,kind:n};r="backgroundColor",o="tab 的背景色。",i='"backgroundColor": "{{#000000}}"';var l={label:r,documentation:o,insertText:i,kind:n};r="borderStyle",o="tabbar上边框的颜色, 仅支持 black/white 。",i='"borderStyle": "{{black}}"';var c={label:r,documentation:o,insertText:i,kind:n};r="backgroundTextStyle",o="下拉背景字体、loading 图的样式,仅支持 dark/light。",i='"backgroundTextStyle": "{{dark}}"';var u={label:r,documentation:o,insertText:i,kind:n};r="tabBar",o="tab 的列表最少2个、最多5个 tab",i='"tabBar": {\n "list": [{\n "pagePath": "{{pagePath}}",\n "text": "{{text}}",\n "iconPath": "{{iconPath}}",\n "selectedIconPath": "{{selectedIconPath}}"\n }]\n}';var d={label:r,documentation:o,insertText:i,kind:n};e.exports=[a,s,c,l,u,d]},function(e,t){"use strict";var n=monaco.languages.CompletionItemKind.Keyword,r=void 0,o=void 0,i=void 0;r="pages",o="设置页面路径。",i='"pages": [\n {{Entrance}}\n],';var a={label:r,documentation:o,insertText:i,kind:n};r="window",o="设置默认页面的窗口表现。",i='"window": {\n "navigationBarBackgroundColor": "{{#ffffff}}",\n "navigationBarTextStyle": "{{black}}",\n "navigationBarTitleText": "{{小程序}}",\n "backgroundColor": "{{#eeeeee}}",\n "backgroundTextStyle": "{{light}}",\n "enablePullDownRefresh": {{false}}\n}';var s={label:r,documentation:o,insertText:i,kind:n};r="networkTimeout",o="设置各种网络请求的超时时间。",i='"networkTimeout": {\n "request": {{20000}},\n "connectSocket": {{20000}},\n "uploadFile": {{20000}},\n "downloadFile": {{20000}}\n}';var l={label:r,documentation:o,insertText:i,kind:n};e.exports=[a,s,l]},function(e,t,n){var r=n(67);"string"==typeof r&&(r=[[e.id,r,""]]);n(29)(r,{});r.locals&&(e.exports=r.locals)},function(e,t,n){t=e.exports=n(23)(),t.push([e.id,".editor-container{flex:1}.editor-container_img{height:100%;width:100%;display:flex;justify-content:center;align-items:center}.editor-container_img img{margin-top:-10%;max-width:80%;max-height:80%}",""])},function(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var o=n(2),i=n(3),a=(n(10),n(16)),s=n(11),l=n(69),c=n(206),u=n(70).DragDropContext,d=n(207),p=n(19);n(32),n(239);var f=o.createClass({displayName:"Filetab",getInitialState:function(){return{menuStyle:{top:0,right:0},rightClickPath:"",showRightKeyMenu:!1,morefileListStyle:{display:"none"}}},getFileName:function(e){return e.split("/").pop()},closeFile:function(e){if("DidChangeModelContent"===this.state[e]){var t=confirm(this.getFileName(e)+" 文件还未保存,确认关闭?");if(!t)return;delete this.state[e],p.delItem("content_"+e)}this.props.closeFile(e),s.hideAddFile(e)},openFile:function(e){this.props.openFile(e),s.hideAddFile(e)},componentDidMount:function(){var e=this;a.on("DidChangeModelContent",function(t){e.setState(r({},t,"DidChangeModelContent"))}),a.on("DidModelSave",function(t){e.setState(r({},t,"DidModelSave"))});var t=this;document.body.addEventListener("click",function(e){var n=e.target.className;n.indexOf("right-tags")==-1&&t.setState({showRightKeyMenu:!1}),n.indexOf("filetab-more")==-1&&n.indexOf("icon-morefile")==-1&&t.setState({morefileListStyle:{display:"none"}})})},handleTabRightClick:function(e,t,n){this.setState({showRightKeyMenu:!0,menuStyle:{top:t+"px",left:n+"px"},rightClickPath:e})},closeOthers:function(e){e.preventDefault(),e.stopPropagation(),this.props.closeOthers(this.state.rightClickPath),this.setState({showRightKeyMenu:!1})},closeRight:function(e){e.preventDefault(),e.stopPropagation(),this.props.closeRight(this.state.rightClickPath),this.setState({showRightKeyMenu:!1})},handleMoreFileClick:function(e){var t=e.target.className,n=e.target.getAttribute("data-path");n&&t.indexOf("filetab-more-filelist-item")>-1?this.openFile(n):n&&t.indexOf("icon-close")>-1&&this.closeFile(n);var r=this.props.files,o=i.findDOMNode(this),a=r,s=[];if(o){var l=o.offsetWidth,c=Math.floor(l/130)||10;a=r.slice(0,c),s=r.slice(c,r.length)}if(s.length>0){var u=this.state.morefileListStyle.display;"none"==u?u="block":"block"==u&&(u="none"),this.setState({morefileListStyle:{display:u}})}},render:function(){var e=this.props.files,t=this.props.currentFile,n=[],r=i.findDOMNode(this),a=e,s=[];if(r){var u=r.offsetWidth,d=Math.floor(u/130)||10;a=e.slice(0,d),s=e.slice(d,e.length)}for(var p=0,f=a.length;p-1?(e.preventDefault(),e.stopPropagation(),this.props.closeFile(this.props.path)):this.props.openFile(t);else if(1==e.button)this.props.closeFile(t);else if(2==e.button){e.stopPropagation(),e.preventDefault();var n=(l.findDOMNode(this),parseInt(this.props.leftWidth)||0);this.props.handleTabRightClick(t,e.clientY,e.clientX-n)}},iconClick:function(e){e.preventDefault(),e.stopPropagation(),this.props.closeFile(this.props.path)},render:function(){var e=this.props.connectDragSource,t=this.props.connectDropTarget;this.props.isDragging;return e(t(i.createElement("li",{"data-path":this.props.path,onMouseDown:this.handleClick,className:this.props.liname,title:this.props.path,key:this.props.path},i.createElement("span",null,this.props.fileName),i.createElement("i",{"data-path":this.props.path,className:this.props.iname,onClick:this.iconClick}))))},componentDidMount:function(){}}),u={beginDrag:function(e){return{path:e.path}}},d={hover:function(e,t){var n=t.getItem().path;n!==e.path&&e.moveItem(n,e.path)}};e.exports=a("tabitem",u,r)(s("tabitem",d,o)(c))},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e["default"]:e}t.__esModule=!0;var o=n(71);t.DragDropContext=r(o);var i=n(183);t.DragLayer=r(i);var a=n(186);t.DragSource=r(a);var s=n(201);t.DropTarget=r(s)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function a(e){m["default"].apply(void 0,["DragDropContext","backend"].concat(l.call(arguments)));var t=void 0;t="object"==typeof e&&"function"==typeof e["default"]?e["default"]:e,h["default"]("function"==typeof t,"Expected the backend to be a function or an ES6 module exporting a default function. Read more: http://gaearon.github.io/react-dnd/docs-drag-drop-context.html");var n={dragDropManager:new p.DragDropManager(t)};return function(e){var t=e.displayName||e.name||"Component";return function(r){function a(){o(this,a),r.apply(this,arguments)}return i(a,r),a.prototype.getDecoratedComponentInstance=function(){return this.refs.child},a.prototype.getManager=function(){return n.dragDropManager},a.prototype.getChildContext=function(){return n},a.prototype.render=function(){return d["default"].createElement(e,s({},this.props,{ref:"child"}))},c(a,null,[{key:"DecoratedComponent",value:e,enumerable:!0},{key:"displayName",value:"DragDropContext("+t+")",enumerable:!0},{key:"childContextTypes",value:{dragDropManager:u.PropTypes.object.isRequired},enumerable:!0}]),a}(u.Component)}}t.__esModule=!0;var s=Object.assign||function(e){for(var t=1;t0;e&&!this.isSetUp?(this.backend.setup(),this.isSetUp=!0):!e&&this.isSetUp&&(this.backend.teardown(),this.isSetUp=!1)},e.prototype.getMonitor=function(){return this.monitor},e.prototype.getBackend=function(){return this.backend},e.prototype.getRegistry=function(){return this.registry},e.prototype.getActions=function(){function e(e){return function(){var r=e.apply(t,arguments);"undefined"!=typeof r&&n(r)}}var t=this,n=this.store.dispatch;return Object.keys(d).filter(function(e){return"function"==typeof d[e]}).reduce(function(t,n){return t[n]=e(d[n]),t},{})},e}());t["default"]=g,e.exports=t["default"]},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t,n){function r(){v===m&&(v=m.slice())}function i(){return g}function s(e){if("function"!=typeof e)throw new Error("Expected listener to be a function.");var t=!0;return r(),v.push(e),function(){if(t){t=!1,r();var n=v.indexOf(e);v.splice(n,1)}}}function u(e){if(!(0,a["default"])(e))throw new Error("Actions must be plain objects. Use custom middleware for async actions.");if("undefined"==typeof e.type)throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(b)throw new Error("Reducers may not dispatch actions.");try{b=!0,g=h(g,e)}finally{b=!1}for(var t=m=v,n=0;n=0;c--)if(s.canDragSource(e[c])){u=e[c];break}if(null!==u){var d=null;i&&(p["default"]("function"==typeof a,"When clientOffset is provided, getSourceClientOffset must be a function."),d=a(u));var f=l.getSource(u),g=f.beginDrag(s,u);p["default"](m["default"](g),"Item must be an object."),l.pinSource(u);var b=l.getSourceType(u);return{type:v,itemType:b,item:g,sourceId:u,clientOffset:i,sourceClientOffset:d,isSourcePublic:r}}}function i(e){var t=this.getMonitor();if(t.isDragging())return{type:b}}function a(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=t.clientOffset,r=void 0===n?null:n;p["default"](h["default"](e),"Expected targetIds to be an array."),e=e.slice(0);var o=this.getMonitor(),i=this.getRegistry();p["default"](o.isDragging(),"Cannot call hover while not dragging."),p["default"](!o.didDrop(),"Cannot call hover after drop.");for(var a=0;a=0;a--){var s=e[a],d=i.getTargetType(s);u["default"](d,c)||e.splice(a,1)}for(var a=0;a=u&&(p=c,f=!1,t=new o(t));e:for(;++d-1}var o=n(120);e.exports=r},function(e,t,n){function r(e,t){var n=this.__data__,r=o(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}var o=n(120);e.exports=r},function(e,t,n){var r=n(106),o=n(78),i=r(o,"Map");e.exports=i},function(e,t,n){function r(e){var t=o(this,e)["delete"](e);return this.size-=t?1:0,t}var o=n(127);e.exports=r},function(e,t,n){function r(e,t){var n=e.__data__;return o(t)?n["string"==typeof t?"string":"hash"]:n.map}var o=n(128);e.exports=r},function(e,t){function n(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}e.exports=n},function(e,t,n){function r(e){return o(this,e).get(e)}var o=n(127);e.exports=r},function(e,t,n){function r(e){return o(this,e).has(e)}var o=n(127);e.exports=r},function(e,t,n){function r(e,t){var n=o(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}var o=n(127);e.exports=r},function(e,t){function n(e){return this.__data__.set(e,r),this}var r="__lodash_hash_undefined__";e.exports=n},function(e,t){function n(e){return this.__data__.has(e)}e.exports=n},function(e,t,n){function r(e,t){var n=null==e?0:e.length;return!!n&&o(e,t,0)>-1}var o=n(135);e.exports=r},function(e,t,n){function r(e,t,n){return t===t?a(e,t,n):o(e,i,n)}var o=n(136),i=n(137),a=n(138);e.exports=r},function(e,t){function n(e,t,n,r){for(var o=e.length,i=n+(r?1:-1);r?i--:++i0){if(++t>=r)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var r=800,o=16,i=Date.now;e.exports=n},function(e,t,n){function r(e){return i(e)&&o(e)}var o=n(153),i=n(84);e.exports=r},function(e,t,n){function r(e){return null!=e&&i(e.length)&&!o(e)}var o=n(108),i=n(154);e.exports=r},function(e,t){function n(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=r}var r=9007199254740991;e.exports=n},function(e,t,n){"use strict";function r(e,t){switch(void 0===e&&(e=0),t.type){case o.ADD_SOURCE:case o.ADD_TARGET:return e+1;case o.REMOVE_SOURCE:case o.REMOVE_TARGET:return e-1;default:return e}}t.__esModule=!0,t["default"]=r;var o=n(97);e.exports=t["default"]},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t,n){switch(void 0===e&&(e=p),t.type){case u.HOVER:break;case d.ADD_SOURCE:case d.ADD_TARGET:case d.REMOVE_TARGET:case d.REMOVE_SOURCE:return p;case u.BEGIN_DRAG:case u.PUBLISH_DRAG_SOURCE:case u.END_DRAG:case u.DROP:default:return f}var r=t.targetIds,o=n.targetIds,i=s["default"](r,o),a=!1;if(0===i.length){for(var l=0;l0)}t.__esModule=!0,t["default"]=o,t.areDirty=i;var a=n(157),s=r(a),l=n(170),c=r(l),u=n(91),d=n(97),p=[],f=[]},function(e,t,n){var r=n(158),o=n(143),i=n(159),a=n(152),s=o(function(e){return i(r(e,a))});e.exports=s},function(e,t){function n(e,t){for(var n=-1,r=null==e?0:e.length,o=0,i=[];++n0&&n(u)?t>1?r(u,t-1,n,a,s):o(s,u):a||(s[s.length]=u)}return s}var o=n(161),i=n(162);e.exports=r},function(e,t){function n(e,t){for(var n=-1,r=t.length,o=e.length;++n=u){var m=t?null:l(e);if(m)return c(m);f=!1,d=s,g=new o}else g=t?[]:h;e:for(;++r=120&&v.length>=120)?new o(f&&v):void 0}v=e[0];var b=-1,y=h[0];e:for(;++b-1},e.prototype.getItemType=function(){return this.store.getState().dragOperation.itemType},e.prototype.getItem=function(){return this.store.getState().dragOperation.item},e.prototype.getSourceId=function(){return this.store.getState().dragOperation.sourceId},e.prototype.getTargetIds=function(){return this.store.getState().dragOperation.targetIds},e.prototype.getDropResult=function(){return this.store.getState().dragOperation.dropResult},e.prototype.didDrop=function(){return this.store.getState().dragOperation.didDrop},e.prototype.isSourcePublic=function(){return this.store.getState().dragOperation.isSourcePublic},e.prototype.getInitialClientOffset=function(){return this.store.getState().dragOffset.initialClientOffset},e.prototype.getInitialSourceClientOffset=function(){return this.store.getState().dragOffset.initialSourceClientOffset},e.prototype.getClientOffset=function(){return this.store.getState().dragOffset.clientOffset},e.prototype.getSourceClientOffset=function(){return f.getSourceClientOffset(this.store.getState().dragOffset)},e.prototype.getDifferenceFromInitialOffset=function(){return f.getDifferenceFromInitialOffset(this.store.getState().dragOffset)},e}();t["default"]=g,e.exports=t["default"]},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e){return e&&e.constructor===Symbol?"symbol":typeof e}function a(e){p["default"]("function"==typeof e.canDrag,"Expected canDrag to be a function."),p["default"]("function"==typeof e.beginDrag,"Expected beginDrag to be a function."),p["default"]("function"==typeof e.endDrag,"Expected endDrag to be a function.")}function s(e){p["default"]("function"==typeof e.canDrop,"Expected canDrop to be a function."),p["default"]("function"==typeof e.hover,"Expected hover to be a function."),p["default"]("function"==typeof e.drop,"Expected beginDrag to be a function.")}function l(e,t){return t&&h["default"](e)?void e.forEach(function(e){return l(e,!1)}):void p["default"]("string"==typeof e||"symbol"===("undefined"==typeof e?"undefined":i(e)),t?"Type can only be a string, a symbol, or an array of either.":"Type can only be a string or a symbol.")}function c(e){var t=m["default"]().toString();switch(e){case A.SOURCE:return"S"+t;case A.TARGET:return"T"+t;default:p["default"](!1,"Unknown role: "+e)}}function u(e){switch(e[0]){case"S":return A.SOURCE;case"T":return A.TARGET;default:p["default"](!1,"Cannot parse handler ID: "+e)}}t.__esModule=!0;var d=n(94),p=r(d),f=n(93),h=r(f),g=n(176),m=r(g),v=n(97),b=n(177),y=r(b),A={SOURCE:"SOURCE",TARGET:"TARGET"},x=function(){function e(t){o(this,e),this.store=t,this.types={},this.handlers={},this.pinnedSourceId=null,this.pinnedSource=null}return e.prototype.addSource=function(e,t){l(e),a(t);var n=this.addHandler(A.SOURCE,e,t);return this.store.dispatch(v.addSource(n)),n},e.prototype.addTarget=function(e,t){l(e,!0),s(t);var n=this.addHandler(A.TARGET,e,t);return this.store.dispatch(v.addTarget(n)),n},e.prototype.addHandler=function(e,t,n){var r=c(e);return this.types[r]=t,this.handlers[r]=n,r},e.prototype.containsHandler=function(e){var t=this;return Object.keys(this.handlers).some(function(n){return t.handlers[n]===e})},e.prototype.getSource=function(e,t){p["default"](this.isSourceId(e),"Expected a valid source ID.");var n=t&&e===this.pinnedSourceId,r=n?this.pinnedSource:this.handlers[e];return r},e.prototype.getTarget=function(e){return p["default"](this.isTargetId(e),"Expected a valid target ID."),this.handlers[e]},e.prototype.getSourceType=function(e){return p["default"](this.isSourceId(e),"Expected a valid source ID."),this.types[e]},e.prototype.getTargetType=function(e){return p["default"](this.isTargetId(e),"Expected a valid target ID."),this.types[e]},e.prototype.isSourceId=function(e){var t=u(e);return t===A.SOURCE},e.prototype.isTargetId=function(e){var t=u(e);return t===A.TARGET},e.prototype.removeSource=function(e){var t=this;p["default"](this.getSource(e),"Expected an existing source."),this.store.dispatch(v.removeSource(e)),y["default"](function(){delete t.handlers[e],delete t.types[e]})},e.prototype.removeTarget=function(e){var t=this;p["default"](this.getTarget(e),"Expected an existing target."),this.store.dispatch(v.removeTarget(e)),y["default"](function(){delete t.handlers[e],delete t.types[e]})},e.prototype.pinSource=function(e){var t=this.getSource(e);p["default"](t,"Expected an existing source."),this.pinnedSourceId=e,this.pinnedSource=t},e.prototype.unpinSource=function(){p["default"](this.pinnedSource,"No source is pinned at the time."),this.pinnedSourceId=null,this.pinnedSource=null},e}();t["default"]=x,e.exports=t["default"]},function(e,t){"use strict";function n(){return r++}t.__esModule=!0,t["default"]=n;var r=0;e.exports=t["default"]},function(e,t,n){"use strict";function r(){if(l.length)throw l.shift()}function o(e){var t;t=s.length?s.pop():new i,t.task=e,a(t)}function i(){this.task=null}var a=n(178),s=[],l=[],c=a.makeRequestCallFromTimer(r);e.exports=o,i.prototype.call=function(){try{this.task.call()}catch(e){o.onerror?o.onerror(e):(l.push(e),c())}finally{this.task=null,s[s.length]=this}}},function(e,t){(function(t){"use strict";function n(e){s.length||(a(),l=!0),s[s.length]=e}function r(){for(;cu){for(var t=0,n=s.length-c;t2?r-2:0),i=2;i-1,'Expected the drag source specification to only have some of the following keys: %s. Instead received a specification with an unexpected "%s" key. Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html',d.join(", "),t),l["default"]("function"==typeof e[t],"Expected %s in the drag source specification to be a function. Instead received a specification with %s: %s. Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html",t,t,e[t])}),p.forEach(function(t){l["default"]("function"==typeof e[t],"Expected %s in the drag source specification to be a function. Instead received a specification with %s: %s. Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html",t,t,e[t])});var t=function(){function t(e){i(this,t),this.monitor=e,this.props=null,this.component=null}return t.prototype.receiveProps=function(e){this.props=e},t.prototype.receiveComponent=function(e){this.component=e},t.prototype.canDrag=function(){return!e.canDrag||e.canDrag(this.props,this.monitor)},t.prototype.isDragging=function(t,n){return e.isDragging?e.isDragging(this.props,this.monitor):n===t.getSourceId()},t.prototype.beginDrag=function(){var t=e.beginDrag(this.props,this.monitor,this.component);return"production"!==r.env.NODE_ENV&&l["default"](u["default"](t),"beginDrag() must return a plain object that represents the dragged item. Instead received %s. Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html",t),t},t.prototype.endDrag=function(){e.endDrag&&e.endDrag(this.props,this.monitor,this.component)},t}();return function(e){return new t(e)}}t.__esModule=!0,t["default"]=a;var s=n(94),l=o(s),c=n(75),u=o(c),d=["canDrag","beginDrag","canDrag","isDragging","endDrag"],p=["beginDrag"];e.exports=t["default"]}).call(t,n(6))},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e){return new u(e)}t.__esModule=!0,t["default"]=i;var a=n(94),s=r(a),l=!1,c=!1,u=function(){function e(t){o(this,e),this.internalMonitor=t.getMonitor()}return e.prototype.receiveHandlerId=function(e){this.sourceId=e},e.prototype.canDrag=function(){s["default"](!l,"You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html");try{return l=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{l=!1}},e.prototype.isDragging=function(){s["default"](!c,"You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html");try{return c=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{c=!1}},e.prototype.getItemType=function(){return this.internalMonitor.getItemType()},e.prototype.getItem=function(){return this.internalMonitor.getItem()},e.prototype.getDropResult=function(){
-return this.internalMonitor.getDropResult()},e.prototype.didDrop=function(){return this.internalMonitor.didDrop()},e.prototype.getInitialClientOffset=function(){return this.internalMonitor.getInitialClientOffset()},e.prototype.getInitialSourceClientOffset=function(){return this.internalMonitor.getInitialSourceClientOffset()},e.prototype.getSourceClientOffset=function(){return this.internalMonitor.getSourceClientOffset()},e.prototype.getClientOffset=function(){return this.internalMonitor.getClientOffset()},e.prototype.getDifferenceFromInitialOffset=function(){return this.internalMonitor.getDifferenceFromInitialOffset()},e}();e.exports=t["default"]},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e){function t(){c&&(c(),c=null),o&&i&&(c=e.connectDragSource(o,i,s))}function n(){p&&(p(),p=null),o&&u&&(p=e.connectDragPreview(o,u,d))}function r(e){e!==o&&(o=e,t(),n())}var o=void 0,i=void 0,s=void 0,c=void 0,u=void 0,d=void 0,p=void 0,f=a["default"]({dragSource:function(e,n){e===i&&l["default"](n,s)||(i=e,s=n,t())},dragPreview:function(e,t){e===u&&l["default"](t,d)||(u=e,d=t,n())}});return{receiveHandlerId:r,hooks:f}}t.__esModule=!0,t["default"]=o;var i=n(197),a=r(i),s=n(199),l=r(s);e.exports=t["default"]},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e){if("string"!=typeof e.type){var t=e.type.displayName||e.type.name||"the component";throw new Error("Only native element nodes can now be passed to React DnD connectors. "+("You can either wrap "+t+" into a