| 
					
				 | 
			
			
				@@ -0,0 +1,992 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    v-if="isShow" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    class="bottomTools" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    :style="{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'padding-bottom': pb, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- Error --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <template v-if="tabTitle == 'Error'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        class="miniBtn mr warn" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @click="emptyLogs('error')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <text class="miniBtnText">清空 x</text> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <btnTabs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :list="errorTypeList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :value="errorTypeIndex" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @indexChange="errorTypeIndexChange" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- Console --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <template v-if="tabTitle == 'Console'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        class="miniBtn mr warn" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @click="emptyLogs('console')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <text class="miniBtnText">清空 x</text> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <btnTabs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :list="consoleTypeList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :value="consoleTypeListIndex" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @indexChange="consoleTypeIndexChange" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- Network --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <template v-if="tabTitle == 'Network'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        class="miniBtn mr warn" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @click="emptyLogs('network')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <text class="miniBtnText">清空 x</text> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <MenuBtn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :list="networkFilterType" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :value="networkTypeListIndex" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @indexChange="networkTypeIndexChange" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        title="筛选:" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <view class="mr"></view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <RequestSpeedLimit /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <view class="mr"></view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <RequestTimeoutMock /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- Pages --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <template v-if="tabTitle == 'Pages'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        class="miniBtn mr warn" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @click="emptyLogs('pages_1')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <text class="miniBtnText">清空停留统计</text> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        class="miniBtn mr warn" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @click="emptyLogs('pages_2')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <text class="miniBtnText">清空日活统计</text> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        class="miniBtn mr primary" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @click="goPage" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <text class="miniBtnText">跳转页面</text> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- Logs --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <template v-if="tabTitle == 'Logs'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        class="miniBtn mr warn" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @click="emptyLogs('logs')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <text class="miniBtnText">清空 x</text> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- Storage --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <template v-if="tabTitle == 'Storage'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        class="miniBtn mr warn" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @click="emptyLogs('storage')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <text class="miniBtnText">清空 x</text> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <!-- #ifdef H5 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <btnTabs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :list="storageFilterTypeList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :value="storageTypeListIndex" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @indexChange="storageTypeIndexChange" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <!-- #endif --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        class="miniBtn primary ml" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @click="addStorage" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <text class="miniBtnText">新增数据+</text> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- UniBus --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <template v-if="tabTitle == 'UniBus'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        class="miniBtn mr warn" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @click="emptyLogs('UniBus')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <text class="miniBtnText">清空 x</text> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <btnTabs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :list="busFilterType" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :value="busTypeListIndex" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @indexChange="busTypeIndexChange" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- FileSys --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <template v-if="tabTitle == 'FileSys'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <!-- #ifdef APP-PLUS || MP-WEIXIN --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <scroll-view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        scroll-x 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        class="dirList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <view class="dirScrollItem"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <text 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            class="dirName" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            style="color: #999" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @click="$emit('goChildDir', '_goIndex_0')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {{ options.fileSysDirType }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </text> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <text class="delimiter">/</text> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-for="(item, index) in options.fileSysDirList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :key="index" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            class="dirItem" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <text 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              v-if="index != 0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              class="delimiter" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              / 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </text> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <text 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              class="dirName" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              @click="$emit('goChildDir', '_goIndex_' + (index + 1))" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              {{ item }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </text> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </scroll-view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        class="miniBtn mr warn" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @click="emptyFolder" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <text class="miniBtnText">清空 x</text> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <!-- #ifdef APP-PLUS --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <btnTabs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :list="dirTypeList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :value="fileTypeListIndex" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @indexChange="$emit('changeFileDirType', dirTypeList[$event].type)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <view style="width: 20rpx"></view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <!-- #endif --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        class="miniBtn primary" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @click="createDir" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <text class="miniBtnText">新建文件(夹)</text> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <!-- #endif --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- JsRunner --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <template v-if="tabTitle == 'JsRunner'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <view class="jsRunnerTools"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <view class="runOptions"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <view class="radiusList"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <text class="runType">运行环境:</text> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <radio-group 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              @change="jsRunType = $event.detail.value" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              class="radiusList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              style="display: flex; flex-direction: row" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                v-for="(item, index) in jsRunTypeList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :key="index" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                class="radiusItem" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                @click="jsRunType = item" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <radio 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  class="radiusRadio" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  :value="item" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  :checked="jsRunType == item" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  color="#ff2d55" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <text 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  class="radiusText" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  :style="{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    color: jsRunType == item ? '#ff2d55' : '#333', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  {{ item }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </text> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </radio-group> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            class="hisEmpty" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @click="$emit('emptyCodeHis')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-if="options.codeHisLength > 0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <image 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              class="hisEmptyIcon" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              src="@/devTools/page/static/delete.png" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <text class="hisEmptyText">清空记录</text> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            class="logList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @click="showHisCode" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <text class="hisText">历史代码</text> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <image 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              class="unfold" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              src="@/devTools/page/static/unfold.png" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <view class="code"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <textarea 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-model="waitSendCode" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            class="codeInput" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            placeholder="js code ..." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            maxlength="-1" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            class="codeSend" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @click="runJs" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <text class="codeSendText">run</text> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- Vuex --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <template v-if="tabTitle == 'Vuex'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <btnTabs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :list="stateTypeList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :value="stateTypeListIndex" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @indexChange="stateTypeIndexChange" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <codeHisPicker ref="codeHisPicker" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  </view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import devCache from "../../core/libs/devCache"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import appDelDir from "./libs/appDelDir"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import btnTabs from "./ui/btnTabs.vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import codeHisPicker from "./ui/codeHisPicker.vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import MenuBtn from "./ui/menuBtn.vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import RequestSpeedLimit from "./ui/requestSpeedLimit.vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import RequestTimeoutMock from "./ui/requestTimeoutMock.vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  components: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    btnTabs, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    codeHisPicker, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    MenuBtn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    RequestSpeedLimit, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    RequestTimeoutMock, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  props: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 列表索引 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    tabIndex: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: Number, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 当前标题 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    tabTitle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 配置项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    options: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: Object, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: () => ({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        errorFilterType: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        consoleFilterType: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        networkFilterType: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        busFilterType: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fileSysDirList: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fileSysDirType: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        storageType: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 是否渲染 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    isShow: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: Boolean, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * Vuex变量类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    stateType: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: "vuex", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  data() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let pb = "20px"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // #ifdef H5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pb = "8px"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let sys = uni.getSystemInfoSync(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (sys.platform == "ios") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      pb = "40px"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let jsRunTypeList = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // #ifdef H5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    jsRunTypeList = ["h5"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // #ifdef APP-PLUS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    jsRunTypeList = ["nvue", "webview"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       * 底部边距 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      pb, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       * 错误类型列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      errorTypeList: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "全部", type: "" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "error", type: "ve" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "warn", type: "vw" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "jsError", type: "oe" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "unknown", type: "n" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       * console过滤类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      consoleTypeList: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "全部", type: "" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "log", type: "log" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "info", type: "info" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "warn", type: "warn" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "error", type: "error" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       * 请求过滤类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      networkFilterType: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "全部请求", type: "", msg: "不使用筛选" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "请求失败", type: "请求失败", msg: "仅展示请求失败的记录" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "1s+", type: "1s+", msg: "仅展示响应超过1秒的记录" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "5s+", type: "5s+", msg: "仅展示响应超过5秒的记录" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "10s+", type: "10s+", msg: "仅展示响应超过10秒的记录" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "500KB+", type: "500KB+", msg: "仅展示响应内容超过500KB的记录" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "1MB+", type: "1MB+", msg: "仅展示响应内容超过1MB的记录" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "get", type: "get", msg: "仅展示get请求" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "post", type: "post", msg: "仅展示post请求" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "other", type: "other", msg: "除了get和post的其他请求" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       * uni bus 过滤类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      busFilterType: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "全部", type: "" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "on", type: "on" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "once", type: "once" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "emit", type: "emit" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "off", type: "off" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       * 文件类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      dirTypeList: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "_doc", type: "PRIVATE_DOC" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "_www", type: "PRIVATE_WWW" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "公共文档", type: "PUBLIC_DOCUMENTS" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "公共下载", type: "PUBLIC_DOWNLOADS" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       * 缓存类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      storageFilterTypeList: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "localStorage", type: "localStorage" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "sessionStorage", type: "sessionStorage" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "cookie", type: "cookie" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       * 等待执行的js代码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      waitSendCode: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       * js运行类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      jsRunType: jsRunTypeList[0], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      jsRunTypeList, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       * Vuex变量类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      stateTypeList: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "vuex", type: "vuex" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "pinia", type: "pinia" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { title: "globalData", type: "globalData" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  computed: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 错误筛选分类index 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    errorTypeIndex() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return this.errorTypeList.findIndex((x) => x.type == this.options.errorFilterType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 日志分类索引 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    consoleTypeListIndex() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return this.consoleTypeList.findIndex((x) => x.type == this.options.consoleFilterType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 网络筛选索引 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    networkTypeListIndex() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return this.networkFilterType.findIndex((x) => x.type == this.options.networkFilterType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * bus分类索引 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    busTypeListIndex() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return this.busFilterType.findIndex((x) => x.type == this.options.busFilterType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 文件分类索引 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fileTypeListIndex() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return this.dirTypeList.findIndex((x) => x.type == this.options.fileSysDirType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 缓存类型索引 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    storageTypeListIndex() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return this.storageFilterTypeList.findIndex((x) => x.type == this.options.storageType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * Vuex变量类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    stateTypeListIndex() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return this.stateTypeList.findIndex((x) => x.type == this.stateType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 过滤类型改变 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    filterTypeChange(type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$emit("filterTypeChange", type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 错误类型索引改变 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    errorTypeIndexChange(e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.filterTypeChange(this.errorTypeList[e].type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 日志分类索引改变 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    consoleTypeIndexChange(e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.filterTypeChange(this.consoleTypeList[e].type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 网络状态筛选改变事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    networkTypeIndexChange(e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.filterTypeChange(this.networkFilterType[e].type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * bus筛选改变事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    busTypeIndexChange(e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.filterTypeChange(this.busFilterType[e].type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 文件分类改变事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fileTypeIndexChange(e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$emit("changeFileDirType", this.dirTypeList[e].type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 缓存类型改变事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    storageTypeIndexChange(e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$emit("changeStorageType", this.storageFilterTypeList[e].type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * Vuex变量类型改变事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    stateTypeIndexChange(e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$emit("changeStateType", this.stateTypeList[e].type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 清空日志 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    emptyLogs(type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let that = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let title = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        error: "报错记录", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console: "console", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        network: "请求日志", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pages_1: "页面停留统计", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pages_2: "页面日活统计", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        logs: "Logs", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        UniBus: "UniBus", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        storage: "Storage", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // #ifdef H5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (type == "storage") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        title[type] = this.options.storageType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uni.showModal({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        title: "警告", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content: `是否确认清空${title[type]}全部数据?`, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        success(e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (e.confirm) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            uni.showLoading({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              title: "处理中...", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (type == "error") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              devCache.set("errorReport", []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else if (type == "console") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              uni.$emit("devTools_delConsoleAll"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else if (type == "network") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              uni.$emit("devTools_delNetworkAll"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else if (type == "logs") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              devCache.set("logReport", []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else if (type == "UniBus") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              uni.$emit("devTools_delUniBusAll"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else if (type == "pages_1") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              devCache.set("pageCount", []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else if (type == "pages_2") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              devCache.set("dayOnline", []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else if (type == "storage") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              that.delStorage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              that.$emit("getPage"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }, 5500); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              uni.hideLoading(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              uni.showToast({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                title: "清空成功!", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                icon: "success", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }, 5000); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 清空全部缓存 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    delStorage() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // #ifdef APP-PLUS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let keys = plus.storage.getAllKeys(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      for (let i = 0; i < keys.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const key = String(keys[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (key.indexOf("devTools_") == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        uni.removeStorageSync(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // #ifdef H5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (this.options.storageType == "localStorage") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (let i = 0; i < localStorage.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let key = String(localStorage.key(i)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (key.indexOf("devTools_") == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          uni.removeStorageSync(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else if (this.options.storageType == "sessionStorage") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (let i = 0; i < sessionStorage.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let key = String(sessionStorage.key(i)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (key.indexOf("devTools_") == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          sessionStorage.removeItem(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else if (this.options.storageType == "cookie") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let keys = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        document.cookie.split(";").forEach((cookieStr) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          const [name, value] = cookieStr.trim().split("="); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          keys.push(name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        keys.map((k) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          document.cookie = `${k}=;expires=` + new Date(new Date().getTime() + 200).toGMTString() + ";path=/"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // #ifdef MP 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let keyList = devCache.get("storage"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!keyList) keyList = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      for (let i = 0; i < keyList.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const key = keyList[i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (key.indexOf("devTools_") == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        uni.removeStorageSync(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 清空文件夹 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    emptyFolder() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let that = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (that.options.fileSysDirType == "PRIVATE_WWW") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return uni.showToast({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          title: "该目录不可删除", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          icon: "none", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uni.showModal({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        title: "提示", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content: "是否确认清空全部文件?", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        success(res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (res.confirm) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            uni.showLoading({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              title: "清空中", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let path = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            switch (that.options.fileSysDirType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              case "wx": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                path = wx.env.USER_DATA_PATH; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              case "PRIVATE_DOC": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                path = "_doc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              case "PUBLIC_DOCUMENTS": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                path = "_documents"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              case "PUBLIC_DOWNLOADS": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                path = "_downloads"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // #ifdef APP-PLUS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            appDelDir(path + "/", false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              .then(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                uni.hideLoading(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                uni.showToast({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  title: "清空成功!", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  icon: "success", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                that.$emit("getPage"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              .catch(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                uni.hideLoading(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                uni.showToast({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  title: "清空失败!", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  icon: "none", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // #ifdef MP-WEIXIN 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let fs = wx.getFileSystemManager(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fs.rmdir({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              dirPath: path + "/", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              recursive: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              success() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                uni.hideLoading(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                uni.showToast({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  title: "清空成功!", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  icon: "success", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                that.$emit("getPage"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              fail() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                uni.hideLoading(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                uni.showToast({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  title: "清空失败!", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  icon: "none", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 创建文件夹 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    createDir() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let that = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let menu = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          text: `新建文件`, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          click() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            that.$emit("editDirName", { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              isEdit: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              isDir: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          text: `新建文件夹`, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          click() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            that.$emit("editDirName", { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              isEdit: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              isDir: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uni.showActionSheet({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        itemList: menu.map((x) => x.text), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        success({ tapIndex }) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          menu[tapIndex].click(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 新增缓存 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addStorage() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uni.$emit("devTools_showAddStorageDialog"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 执行js 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    runJs() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let that = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (this.waitSendCode == "") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return uni.showToast({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          title: "请先输入需要执行的js代码", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          icon: "none", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let code = String(this.waitSendCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$emit("runJs", { code, type: that.jsRunType }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.waitSendCode = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 获取历史代码运行记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    showHisCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let that = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let his = devCache.get("codeRunHis"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!his) his = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (his.length == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return uni.showToast({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          title: "暂无记录!", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          icon: "none", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      that.$refs.codeHisPicker.show(his).then((res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        that.waitSendCode = res; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 跳转指定页面 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    goPage() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uni.$emit("devTools_showRouteDialog"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<style lang="scss" scoped> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.bottomTools { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  position: fixed; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  z-index: 3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  bottom: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  left: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  width: 750rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  border-top: 1px solid rgba(0, 0, 0, 0.05); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  background-color: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  padding-top: 15rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  padding-left: 20rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  padding-right: 20rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  flex-wrap: wrap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  flex-direction: row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .mr { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    margin-right: 20rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .mt { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    margin-left: 20rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .ml { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    margin-left: 20rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .miniBtn { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    height: 40rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    border-radius: 8rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    padding: 0 10rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    border: 1px solid rgba(0, 0, 0, 0.05); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    &.warn { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      background-color: rgb(255, 251, 229); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    &.primary { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      background-color: #ecf5ff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .miniBtnText { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      font-size: 20rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      height: 40rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      line-height: 40rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.dirList { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  flex-direction: row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  width: 710rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  height: 34rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  margin-bottom: 10rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  /* #ifndef APP-PLUS */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  white-space: nowrap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  /* #endif */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .dirScrollItem { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    flex-direction: row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    height: 34rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .dirItem { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    flex-direction: row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .delimiter { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    color: #999; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    margin: 0 6rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    font-size: 22rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    line-height: 34rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .dirName { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    color: #333; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    font-size: 22rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    line-height: 34rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    height: 34rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    padding: 0 6rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    background-color: rgba(0, 0, 0, 0.02); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    border-radius: 6rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.jsRunnerTools { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  flex-direction: column; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  width: 710rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .runOptions { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    flex-direction: row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    width: 710rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    justify-content: space-between; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    padding-bottom: 10rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .radiusList { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      flex-direction: row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .runType { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        font-size: 20rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        line-height: 24rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        color: #333; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .radiusItem { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flex-direction: row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        margin-left: 10rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .radiusText { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          font-size: 20rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          line-height: 24rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          color: #333; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .radiusRadio { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          transform: scale(0.5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .hisEmpty { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      flex-direction: row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .hisEmptyIcon { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        width: 16rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        height: 16rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .hisEmptyText { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        font-size: 20rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        margin-left: 5rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        color: #ff2d55; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .logList { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // margin-right: 120rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      flex-direction: row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .hisText { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        font-size: 20rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        color: #777; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        line-height: 24rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        margin-right: 5rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .unfold { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        width: 24rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        height: 24rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .code { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    flex-direction: row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    justify-content: space-between; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    width: 710rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .codeInput { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      width: 590rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      height: 100rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      font-size: 20rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      line-height: 28rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      color: #333; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      padding: 10rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      background-color: rgba(0, 0, 0, 0.03); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      border-radius: 15rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .codeSend { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      width: 100rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      height: 100rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      border-radius: 15rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      border: 1px solid #ff2d55; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      flex-direction: row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      justify-content: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .codeSendText { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        color: #ff2d55; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        font-size: 24rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        font-weight: bold; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .codeSend:active { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      background-color: rgba(0, 0, 0, 0.03); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.menuBtn { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</style> 
			 |