vite-uni-dev-tool 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/README.md +46 -0
  2. package/dist/const.cjs +1 -1
  3. package/dist/const.d.ts +12 -0
  4. package/dist/const.d.ts.map +1 -1
  5. package/dist/const.js +1 -1
  6. package/dist/core-shared.d.ts +1 -1
  7. package/dist/core-shared.d.ts.map +1 -1
  8. package/dist/core-shared.js +1 -1
  9. package/dist/core.d.ts +10 -3
  10. package/dist/core.d.ts.map +1 -1
  11. package/dist/core.js +2 -2
  12. package/dist/i18n/locales/en.cjs +1 -1
  13. package/dist/i18n/locales/en.d.ts +81 -0
  14. package/dist/i18n/locales/en.d.ts.map +1 -1
  15. package/dist/i18n/locales/en.js +1 -1
  16. package/dist/i18n/locales/zh-Hans.cjs +1 -1
  17. package/dist/i18n/locales/zh-Hans.d.ts +82 -1
  18. package/dist/i18n/locales/zh-Hans.d.ts.map +1 -1
  19. package/dist/i18n/locales/zh-Hans.js +1 -1
  20. package/dist/modules/devConsole/index.cjs +1 -1
  21. package/dist/modules/devConsole/index.js +3 -3
  22. package/dist/modules/devEvent/index.cjs +3 -3
  23. package/dist/modules/devEvent/index.d.ts +1 -0
  24. package/dist/modules/devEvent/index.d.ts.map +1 -1
  25. package/dist/modules/devEvent/index.js +3 -3
  26. package/dist/modules/devIntercept/index.cjs +14 -13
  27. package/dist/modules/devIntercept/index.d.ts +19 -0
  28. package/dist/modules/devIntercept/index.d.ts.map +1 -1
  29. package/dist/modules/devIntercept/index.js +14 -13
  30. package/dist/modules/devStore/index.cjs +1 -1
  31. package/dist/modules/devStore/index.d.ts +21 -0
  32. package/dist/modules/devStore/index.d.ts.map +1 -1
  33. package/dist/modules/devStore/index.js +1 -1
  34. package/dist/plugins/uniDevTool/transform/transformMain.cjs +1 -1
  35. package/dist/plugins/uniDevTool/transform/transformMain.js +1 -1
  36. package/dist/type.d.ts +47 -2
  37. package/dist/type.d.ts.map +1 -1
  38. package/dist/utils/language.cjs +1 -1
  39. package/dist/utils/language.d.ts.map +1 -1
  40. package/dist/utils/language.js +1 -1
  41. package/dist/utils/object.cjs +1 -1
  42. package/dist/utils/object.d.ts.map +1 -1
  43. package/dist/utils/object.js +1 -1
  44. package/dist/v3/DevTool/components/BluetoothList/BluetoothItem.vue +199 -0
  45. package/dist/v3/DevTool/components/BluetoothList/BluetoothTool.vue +730 -0
  46. package/dist/v3/DevTool/components/BluetoothList/index.vue +167 -0
  47. package/dist/v3/{CaptureScreen → DevTool/components/CaptureScreen}/index.vue +109 -109
  48. package/dist/v3/{ConsoleList → DevTool/components/ConsoleList}/ConsoleItem.vue +225 -224
  49. package/dist/v3/{ConsoleList → DevTool/components/ConsoleList}/RunJSInput.vue +247 -249
  50. package/dist/v3/{ConsoleList → DevTool/components/ConsoleList}/index.vue +171 -160
  51. package/dist/v3/{ConsoleList → DevTool/components/ConsoleList}/staticTips.ts +1145 -1145
  52. package/dist/v3/{DevToolButton → DevTool/components/DevToolButton}/index.vue +7 -4
  53. package/dist/v3/{DevToolTitle → DevTool/components/DevToolTitle}/index.vue +24 -24
  54. package/dist/v3/{DevToolWindow → DevTool/components/DevToolWindow}/DevToolOverlay.vue +197 -182
  55. package/dist/v3/{DevToolWindow → DevTool/components/DevToolWindow}/const.ts +28 -5
  56. package/dist/v3/{DevToolWindow → DevTool/components/DevToolWindow}/hooks/dataUtils.ts +48 -48
  57. package/dist/v3/{DevToolWindow → DevTool/components/DevToolWindow}/hooks/useDevToolData.ts +387 -338
  58. package/dist/v3/{DevToolWindow → DevTool/components/DevToolWindow}/hooks/useDevToolHandlers.ts +629 -549
  59. package/dist/v3/{DevToolWindow → DevTool/components/DevToolWindow}/hooks/useDevToolOverlay.ts +197 -184
  60. package/dist/v3/{DevToolWindow → DevTool/components/DevToolWindow}/index.vue +67 -16
  61. package/dist/v3/{ElEvent → DevTool/components/ElEvent}/ElEventItem.vue +105 -105
  62. package/dist/v3/{ElEvent → DevTool/components/ElEvent}/index.vue +106 -109
  63. package/dist/v3/{Instance → DevTool/components/Instance}/components/InstanceTreeNode.vue +265 -265
  64. package/dist/v3/{Instance → DevTool/components/Instance}/flatten.ts +226 -226
  65. package/dist/v3/{Instance → DevTool/components/Instance}/index.vue +94 -94
  66. package/dist/v3/{Instance → DevTool/components/Instance}/registry.ts +49 -49
  67. package/dist/v3/{Instance → DevTool/components/Instance}/transformTree.ts +375 -375
  68. package/dist/v3/{Instance → DevTool/components/Instance}/transformTreeCtx.ts +268 -268
  69. package/dist/v3/{Instance → DevTool/components/Instance}/typing.d.ts +43 -43
  70. package/dist/v3/{InstanceDetail → DevTool/components/InstanceDetail}/index.vue +485 -485
  71. package/dist/v3/{JsonDetail → DevTool/components/JsonDetail}/index.vue +70 -70
  72. package/dist/v3/{NFCList → DevTool/components/NFCList}/NFCItem.vue +112 -113
  73. package/dist/v3/{NFCList → DevTool/components/NFCList}/NFCTool.vue +454 -478
  74. package/dist/v3/{NFCList → DevTool/components/NFCList}/const.ts +56 -56
  75. package/dist/v3/{NFCList → DevTool/components/NFCList}/index.vue +94 -98
  76. package/dist/v3/{NetworkList → DevTool/components/NetworkList}/InterceptConfig.vue +624 -608
  77. package/dist/v3/{NetworkList → DevTool/components/NetworkList}/InterceptItem.vue +140 -140
  78. package/dist/v3/{NetworkList → DevTool/components/NetworkList}/NetworkDetail.vue +287 -296
  79. package/dist/v3/{NetworkList → DevTool/components/NetworkList}/NetworkIntercept.vue +88 -93
  80. package/dist/v3/{NetworkList → DevTool/components/NetworkList}/NetworkItem.vue +163 -167
  81. package/dist/v3/{NetworkList → DevTool/components/NetworkList}/NetworkSend.vue +589 -556
  82. package/dist/v3/{NetworkList → DevTool/components/NetworkList}/const.ts +4 -4
  83. package/dist/v3/{NetworkList → DevTool/components/NetworkList}/hooks/useNetworkForm.ts +86 -86
  84. package/dist/v3/{NetworkList → DevTool/components/NetworkList}/index.vue +160 -160
  85. package/dist/v3/{NetworkList → DevTool/components/NetworkList}/utils.ts +101 -101
  86. package/dist/v3/{Performance → DevTool/components/Performance}/index.vue +498 -495
  87. package/dist/v3/{Performance → DevTool/components/Performance}/modules/PerformanceMetrics.vue +153 -153
  88. package/dist/v3/{Performance → DevTool/components/Performance}/modules/PerformanceWidget.vue +12 -9
  89. package/dist/v3/{Performance → DevTool/components/Performance}/modules/usePerformanceChart.ts +460 -460
  90. package/dist/v3/{Performance → DevTool/components/Performance}/modules/usePerformanceData.ts +258 -258
  91. package/dist/v3/{PiniaList → DevTool/components/PiniaList}/index.vue +93 -94
  92. package/dist/v3/{RouteList → DevTool/components/RouteList}/index.vue +21 -24
  93. package/dist/v3/{RunJS → DevTool/components/RunJS}/index.vue +148 -148
  94. package/dist/v3/{ScanCodeList → DevTool/components/ScanCodeList}/ScanCodeItem.vue +97 -98
  95. package/dist/v3/{ScanCodeList → DevTool/components/ScanCodeList}/index.vue +100 -104
  96. package/dist/v3/{SettingButton → DevTool/components/SettingButton}/index.vue +45 -45
  97. package/dist/v3/{SettingList → DevTool/components/SettingList}/index.vue +218 -150
  98. package/dist/v3/DevTool/components/SettingList/modules/SettingBarrage.vue +304 -0
  99. package/dist/v3/{SettingList → DevTool/components/SettingList}/modules/SettingDevTool.vue +212 -208
  100. package/dist/v3/{SettingList → DevTool/components/SettingList}/modules/SettingInfo.vue +157 -119
  101. package/dist/v3/{SettingList → DevTool/components/SettingList}/modules/SettingLanguage.vue +74 -74
  102. package/dist/v3/{SettingList → DevTool/components/SettingList}/modules/SettingLog.vue +230 -230
  103. package/dist/v3/{SettingList → DevTool/components/SettingList}/modules/SettingNetwork.vue +3 -3
  104. package/dist/v3/{SettingList → DevTool/components/SettingList}/modules/SettingTheme.vue +37 -7
  105. package/dist/v3/{SettingList → DevTool/components/SettingList}/typing.d.ts +2 -2
  106. package/dist/v3/{SourceCode → DevTool/components/SourceCode}/Line.vue +127 -116
  107. package/dist/v3/{SourceCode → DevTool/components/SourceCode}/index.vue +8 -8
  108. package/dist/v3/{SourceCode → DevTool/components/SourceCode}/parseCode.ts +609 -701
  109. package/dist/v3/{StorageList → DevTool/components/StorageList}/index.vue +174 -174
  110. package/dist/v3/{TransferList → DevTool/components/TransferList}/TransferDetail.vue +268 -268
  111. package/dist/v3/{TransferList → DevTool/components/TransferList}/TransferItem.vue +4 -4
  112. package/dist/v3/{TransferList → DevTool/components/TransferList}/index.vue +8 -8
  113. package/dist/v3/{UniEvent → DevTool/components/UniEvent}/UniEventItem.vue +6 -7
  114. package/dist/v3/{UniEvent → DevTool/components/UniEvent}/index.vue +6 -6
  115. package/dist/v3/{VuexList → DevTool/components/VuexList}/index.vue +84 -84
  116. package/dist/v3/{WebSocket → DevTool/components/WebSocket}/WebSocketDetail.vue +8 -8
  117. package/dist/v3/{WebSocket → DevTool/components/WebSocket}/WebSocketItem.vue +4 -4
  118. package/dist/v3/{WebSocket → DevTool/components/WebSocket}/index.vue +8 -8
  119. package/dist/v3/DevTool/index.vue +179 -5
  120. package/dist/v3/{AppTransition → components/AppTransition}/index.vue +176 -170
  121. package/dist/v3/{AutoSizer → components/AutoSizer}/index.vue +192 -192
  122. package/dist/v3/{AutoSizer → components/AutoSizer}/index1.vue +184 -184
  123. package/dist/v3/{AutoSizer → components/AutoSizer}/utils.ts +49 -49
  124. package/dist/v3/components/Barrage/BarrageItem.vue +137 -0
  125. package/dist/v3/components/Barrage/index.vue +202 -0
  126. package/dist/v3/{CircularButton → components/CircularButton}/index.vue +84 -84
  127. package/dist/v3/{CustomSwiper → components/CustomSwiper}/CustomSwiperItem.vue +49 -49
  128. package/dist/v3/{CustomSwiper → components/CustomSwiper}/index.vue +104 -104
  129. package/dist/v3/{DraggableContainer → components/DraggableContainer}/index.vue +1 -1
  130. package/dist/v3/{Empty → components/Empty}/index.vue +29 -29
  131. package/dist/v3/{FilterInput → components/FilterInput}/index.vue +1 -1
  132. package/dist/v3/{FilterSelect → components/FilterSelect}/index.vue +179 -179
  133. package/dist/v3/{JsonPretty → components/JsonPretty}/components/Brackets/index.vue +27 -27
  134. package/dist/v3/{JsonPretty → components/JsonPretty}/components/Carets/index.vue +59 -59
  135. package/dist/v3/{JsonPretty → components/JsonPretty}/components/CheckController/index.vue +136 -136
  136. package/dist/v3/{JsonPretty → components/JsonPretty}/components/TreeNode/index.vue +387 -381
  137. package/dist/v3/{JsonPretty → components/JsonPretty}/hooks/useClipboard.ts +21 -21
  138. package/dist/v3/{JsonPretty → components/JsonPretty}/hooks/useError.ts +21 -21
  139. package/dist/v3/{JsonPretty → components/JsonPretty}/index.vue +16 -13
  140. package/dist/v3/{JsonPretty → components/JsonPretty}/type.ts +127 -126
  141. package/dist/v3/{JsonPretty → components/JsonPretty}/utils/index.ts +169 -169
  142. package/dist/v3/{MovableContainer → components/MovableContainer}/index.vue +1 -1
  143. package/dist/v3/{Pick → components/Pick}/index.vue +322 -322
  144. package/dist/v3/{Tabs → components/Tabs}/index.vue +30 -4
  145. package/dist/v3/{Tag → components/Tag}/index.vue +113 -113
  146. package/dist/v3/{VirtualList → components/VirtualList}/AutoSize.vue +40 -40
  147. package/dist/v3/{VirtualList → components/VirtualList}/index.vue +416 -412
  148. package/dist/v3/hooks/useBluetooth/index.ts +561 -0
  149. package/dist/v3/hooks/useContainerStyle.ts +153 -153
  150. package/dist/v3/hooks/useNFC/index.ts +107 -107
  151. package/dist/v3/hooks/useNFC/typing.d.ts +396 -396
  152. package/dist/v3/hooks/useNFC/useNFCAndroid.ts +966 -966
  153. package/dist/v3/hooks/useNFC/useNFCMpWeiXin.ts +812 -812
  154. package/dist/v3/hooks/useNFC/utils.ts +754 -754
  155. package/dist/v3/hooks/useRequest/index.ts +586 -573
  156. package/dist/v3/hooks/useRequest/utils.ts +267 -267
  157. package/dist/v3/hooks/useScanCode/index.ts +206 -206
  158. package/dist/v3/hooks/useWebsocket/README.md +79 -0
  159. package/dist/v3/hooks/useWebsocket/index.ts +253 -0
  160. package/dist/v3/styles/theme.css +17 -10
  161. package/dist/v3/styles/theme.ts +12 -12
  162. package/package.json +59 -64
  163. package/dist/plugins/uniParseStock/index.d.ts +0 -10
  164. package/dist/plugins/uniParseStock/index.d.ts.map +0 -1
  165. /package/dist/v3/{DevToolWindow → DevTool/components/DevToolWindow}/index.css +0 -0
  166. /package/dist/v3/{SettingList → DevTool/components/SettingList}/index.css +0 -0
  167. /package/dist/v3/{Empty → components/Empty}/empty.png +0 -0
  168. /package/dist/v3/{VirtualList → components/VirtualList}/readme.md +0 -0
@@ -1,208 +1,212 @@
1
- <template>
2
- <view class="setting-item">
3
- <DevToolTitle>{{ t('setting.devTool.title') }}</DevToolTitle>
4
- <view class="setting-item-content">
5
- <view class="setting-row">
6
- <view>
7
- {{ t('setting.devTool.currentVersion') }}:{{
8
- buildInfo?.devToolVersion
9
- }}
10
- </view>
11
- <view>
12
- {{ t('setting.devTool.buildTime') }}:{{
13
- buildInfo?.devToolBuildTime
14
- }}
15
- </view>
16
- </view>
17
- <view class="setting-row">
18
- {{ t('setting.devTool.feedbackUrl') }}:
19
- <text class="setting-link" @click="onOpenLink">
20
- {{ buildInfo?.devToolGit }}
21
- </text>
22
- </view>
23
- <view class="setting-tips">
24
- {{ t('setting.devTool.slogan') }}
25
- </view>
26
- <view class="setting-row">
27
- <view>{{ t('setting.devTool.tabsConfig') }}:</view>
28
- </view>
29
- <view class="setting-tips">
30
- {{ t('setting.devTool.tabsConfigTip') }}
31
- </view>
32
- <checkbox-group class="setting-checkbox-group" @change="onCheckboxChange">
33
- <label
34
- v-for="item in allTabs"
35
- :key="item.key"
36
- class="setting-checkbox-item">
37
- <checkbox
38
- :value="item.key"
39
- :checked="!hiddenTabs.includes(item.key)"
40
- :color="themeColor"
41
- style="transform: scale(0.8)" />
42
- <text>{{ item.label }}</text>
43
- </label>
44
- </checkbox-group>
45
- <SettingButton @click="onSaveAndRestart">
46
- {{ t('setting.devTool.saveAndRestart') }}
47
- </SettingButton>
48
-
49
- <view class="setting-row">
50
- <view>{{ t('setting.devTool.showHideButton') }}:</view>
51
- </view>
52
- <view class="setting-tips">
53
- {{ t('setting.devTool.hideButtonTip') }}
54
- </view>
55
- <SettingButton @click="onToggleDevButton">
56
- {{
57
- devToolVisible
58
- ? t('setting.devTool.hideButton')
59
- : t('setting.devTool.showButton')
60
- }}
61
- </SettingButton>
62
- <view class="setting-row">
63
- <view>{{ t('setting.devTool.restartDevTool') }}:</view>
64
- </view>
65
-
66
- <view class="setting-tips">
67
- {{ t('setting.devTool.restartDevToolTip') }}
68
- </view>
69
- <SettingButton @click="onRestartDevTool">
70
- {{ t('setting.devTool.restartDevToolButton') }}
71
- </SettingButton>
72
-
73
- <view class="setting-row">
74
- <view>{{ t('setting.devTool.destroyDevTool') }}:</view>
75
- </view>
76
-
77
- <view class="setting-tips">
78
- {{ t('setting.devTool.destroyDevToolTip') }}
79
- </view>
80
- <SettingButton @click="onDestroyDevTool">
81
- {{ t('setting.devTool.destroyDevToolButton') }}
82
- </SettingButton>
83
-
84
- <view class="setting-row">
85
- <view>{{ t('setting.devTool.restartApp') }}:</view>
86
- </view>
87
- <view class="setting-tips">{{ t('setting.devTool.restartAppTip') }}</view>
88
- <SettingButton @click="onRestartApp">
89
- {{ t('setting.devTool.restartAppButton') }}
90
- </SettingButton>
91
-
92
- <view class="setting-row">
93
- <view>{{ t('setting.devTool.storageUsage') }}:{{ sizeFormat }}</view>
94
- </view>
95
- <view class="setting-tips">
96
- {{ t('setting.devTool.storageUsageTip') }}
97
- </view>
98
- <SettingButton @click="onClearCache">
99
- {{ t('setting.devTool.clearCache') }}
100
- </SettingButton>
101
- </view>
102
- </view>
103
- </template>
104
-
105
- <script setup lang="ts">
106
- import { onMounted, ref, computed } from 'vue';
107
- import DevToolTitle from '../../DevToolTitle/index.vue';
108
- import SettingButton from '../../SettingButton/index.vue';
109
- import { openOutLink } from '../../../utils';
110
- import { useI18n } from '../../../i18n';
111
- import { getTabItems } from '../../DevToolWindow/const';
112
- import { getDevToolInfo, setDevToolInfo } from '../../../modules/devToolInfo';
113
- import { getThemeMainColor } from '../../styles/theme';
114
-
115
- const { t } = useI18n();
116
-
117
- const props = defineProps<{
118
- theme?: string;
119
- devToolVisible?: boolean;
120
- sizeFormat?: string;
121
- buildInfo?: {
122
- devToolVersion?: string;
123
- devToolBuildTime?: string;
124
- devToolGit?: string;
125
- };
126
- }>();
127
-
128
- const themeColor = computed(() => getThemeMainColor(props.theme));
129
-
130
- const emit = defineEmits<{
131
- (e: 'showDevButton', show: boolean): void;
132
- (e: 'restartDevTool'): void;
133
- (e: 'restartApp'): void;
134
- (e: 'clearCache'): void;
135
- (e: 'destroyDevTool'): void;
136
- }>();
137
-
138
- function onOpenLink() {
139
- openOutLink(props.buildInfo?.devToolGit);
140
- }
141
-
142
- function onToggleDevButton() {
143
- emit('showDevButton', !props.devToolVisible);
144
- }
145
-
146
- function onRestartDevTool() {
147
- emit('restartDevTool');
148
- }
149
-
150
- function onDestroyDevTool() {
151
- emit('destroyDevTool');
152
- }
153
-
154
- function onRestartApp() {
155
- emit('restartApp');
156
- }
157
-
158
- function onClearCache() {
159
- emit('clearCache');
160
- }
161
-
162
- const allTabs = getTabItems(t).filter((item) => item.key !== 'Setting');
163
- const hiddenTabs = ref<string[]>([]);
164
-
165
- onMounted(() => {
166
- const info = getDevToolInfo();
167
- hiddenTabs.value = info.hiddenTabs || [
168
- 'Performance',
169
- 'CaptureScreen',
170
- 'ScanCode',
171
- 'NFC',
172
- 'ElEvent',
173
- 'UniEvent',
174
- ];
175
- });
176
-
177
- function onCheckboxChange(e: any) {
178
- const checkedKeys = e.detail.value;
179
- hiddenTabs.value = allTabs
180
- .map((item) => item.key)
181
- .filter((key) => !checkedKeys.includes(key));
182
- }
183
-
184
- function onSaveAndRestart() {
185
- setDevToolInfo({
186
- hiddenTabs: hiddenTabs.value,
187
- });
188
- // 重启应用使配置生效
189
- emit('restartApp');
190
- }
191
- </script>
192
-
193
- <style scoped>
194
- @import '../index.css';
195
-
196
- .setting-checkbox-group {
197
- display: flex;
198
- flex-wrap: wrap;
199
- margin-bottom: 10px;
200
- }
201
-
202
- .setting-checkbox-item {
203
- display: flex;
204
- align-items: center;
205
- margin-bottom: 5px;
206
- min-width: 33.33%;
207
- }
208
- </style>
1
+ <template>
2
+ <view class="setting-item">
3
+ <DevToolTitle>{{ t('setting.devTool.title') }}</DevToolTitle>
4
+ <view class="setting-item-content">
5
+ <view class="setting-row">
6
+ <view>
7
+ {{ t('setting.devTool.currentVersion') }}:{{
8
+ buildInfo?.devToolVersion
9
+ }}
10
+ </view>
11
+ <view>
12
+ {{ t('setting.devTool.buildTime') }}:{{
13
+ buildInfo?.devToolBuildTime
14
+ }}
15
+ </view>
16
+ </view>
17
+ <view class="setting-row">
18
+ {{ t('setting.devTool.feedbackUrl') }}:
19
+ <text class="setting-link" @click="onOpenLink">
20
+ {{ buildInfo?.devToolGit }}
21
+ </text>
22
+ </view>
23
+ <view class="setting-tips">
24
+ {{ t('setting.devTool.slogan') }}
25
+ </view>
26
+ <view class="setting-row">
27
+ <view>{{ t('setting.devTool.tabsConfig') }}:</view>
28
+ </view>
29
+ <view class="setting-tips">
30
+ {{ t('setting.devTool.tabsConfigTip') }}
31
+ </view>
32
+ <checkbox-group class="setting-checkbox-group" @change="onCheckboxChange">
33
+ <label
34
+ v-for="item in allTabs"
35
+ :key="item.key"
36
+ class="setting-checkbox-item">
37
+ <checkbox
38
+ :value="item.key"
39
+ :checked="!hiddenTabs.includes(item.key)"
40
+ :color="themeColor"
41
+ style="transform: scale(0.8)" />
42
+ <text>{{ item.label }}</text>
43
+ </label>
44
+ </checkbox-group>
45
+ <SettingButton @click="onSaveAndRestart">
46
+ {{ t('setting.devTool.saveAndRestart') }}
47
+ </SettingButton>
48
+
49
+ <view class="setting-row">
50
+ <view>{{ t('setting.devTool.showHideButton') }}:</view>
51
+ </view>
52
+ <view class="setting-tips">
53
+ {{ t('setting.devTool.hideButtonTip') }}
54
+ </view>
55
+ <SettingButton @click="onToggleDevButton">
56
+ {{
57
+ devToolVisible
58
+ ? t('setting.devTool.hideButton')
59
+ : t('setting.devTool.showButton')
60
+ }}
61
+ </SettingButton>
62
+ <view class="setting-row">
63
+ <view>{{ t('setting.devTool.restartDevTool') }}:</view>
64
+ </view>
65
+
66
+ <view class="setting-tips">
67
+ {{ t('setting.devTool.restartDevToolTip') }}
68
+ </view>
69
+ <SettingButton @click="onRestartDevTool">
70
+ {{ t('setting.devTool.restartDevToolButton') }}
71
+ </SettingButton>
72
+
73
+ <view class="setting-row">
74
+ <view>{{ t('setting.devTool.destroyDevTool') }}:</view>
75
+ </view>
76
+
77
+ <view class="setting-tips">
78
+ {{ t('setting.devTool.destroyDevToolTip') }}
79
+ </view>
80
+ <SettingButton @click="onDestroyDevTool">
81
+ {{ t('setting.devTool.destroyDevToolButton') }}
82
+ </SettingButton>
83
+
84
+ <view class="setting-row">
85
+ <view>{{ t('setting.devTool.restartApp') }}:</view>
86
+ </view>
87
+ <view class="setting-tips">{{ t('setting.devTool.restartAppTip') }}</view>
88
+ <SettingButton @click="onRestartApp">
89
+ {{ t('setting.devTool.restartAppButton') }}
90
+ </SettingButton>
91
+
92
+ <view class="setting-row">
93
+ <view>{{ t('setting.devTool.storageUsage') }}:{{ sizeFormat }}</view>
94
+ </view>
95
+ <view class="setting-tips">
96
+ {{ t('setting.devTool.storageUsageTip') }}
97
+ </view>
98
+ <SettingButton @click="onClearCache">
99
+ {{ t('setting.devTool.clearCache') }}
100
+ </SettingButton>
101
+ </view>
102
+ </view>
103
+ </template>
104
+
105
+ <script setup lang="ts">
106
+ import { onMounted, ref, computed } from 'vue';
107
+ import DevToolTitle from '../../DevToolTitle/index.vue';
108
+ import SettingButton from '../../SettingButton/index.vue';
109
+ import { openOutLink } from '../../../../../utils';
110
+ import { useI18n } from '../../../../../i18n';
111
+ import { getTabItems } from '../../DevToolWindow/const';
112
+ import {
113
+ getDevToolInfo,
114
+ setDevToolInfo,
115
+ } from '../../../../../modules/devToolInfo';
116
+ import { getThemeMainColor } from '../../../../styles/theme';
117
+
118
+ const { t } = useI18n();
119
+
120
+ const props = defineProps<{
121
+ theme?: string;
122
+ devToolVisible?: boolean;
123
+ sizeFormat?: string;
124
+ buildInfo?: {
125
+ devToolVersion?: string;
126
+ devToolBuildTime?: string;
127
+ devToolGit?: string;
128
+ };
129
+ }>();
130
+
131
+ const themeColor = computed(() => getThemeMainColor(props.theme));
132
+
133
+ const emit = defineEmits<{
134
+ (e: 'showDevButton', show: boolean): void;
135
+ (e: 'restartDevTool'): void;
136
+ (e: 'restartApp'): void;
137
+ (e: 'clearCache'): void;
138
+ (e: 'destroyDevTool'): void;
139
+ }>();
140
+
141
+ function onOpenLink() {
142
+ openOutLink(props.buildInfo?.devToolGit);
143
+ }
144
+
145
+ function onToggleDevButton() {
146
+ emit('showDevButton', !props.devToolVisible);
147
+ }
148
+
149
+ function onRestartDevTool() {
150
+ emit('restartDevTool');
151
+ }
152
+
153
+ function onDestroyDevTool() {
154
+ emit('destroyDevTool');
155
+ }
156
+
157
+ function onRestartApp() {
158
+ emit('restartApp');
159
+ }
160
+
161
+ function onClearCache() {
162
+ emit('clearCache');
163
+ }
164
+
165
+ const allTabs = getTabItems(t).filter((item) => item.key !== 'Setting');
166
+ const hiddenTabs = ref<string[]>([]);
167
+
168
+ onMounted(() => {
169
+ const info = getDevToolInfo();
170
+ hiddenTabs.value = info.hiddenTabs || [
171
+ 'Performance',
172
+ 'CaptureScreen',
173
+ 'ScanCode',
174
+ 'NFC',
175
+ 'Bluetooth',
176
+ 'ElEvent',
177
+ 'UniEvent',
178
+ ];
179
+ });
180
+
181
+ function onCheckboxChange(e: any) {
182
+ const checkedKeys = e.detail.value;
183
+ hiddenTabs.value = allTabs
184
+ .map((item) => item.key)
185
+ .filter((key) => !checkedKeys.includes(key));
186
+ }
187
+
188
+ function onSaveAndRestart() {
189
+ setDevToolInfo({
190
+ hiddenTabs: hiddenTabs.value,
191
+ });
192
+ // 重启应用使配置生效
193
+ emit('restartApp');
194
+ }
195
+ </script>
196
+
197
+ <style scoped>
198
+ @import '../index.css';
199
+
200
+ .setting-checkbox-group {
201
+ display: flex;
202
+ flex-wrap: wrap;
203
+ margin-bottom: 10px;
204
+ }
205
+
206
+ .setting-checkbox-item {
207
+ display: flex;
208
+ align-items: center;
209
+ margin-bottom: 5px;
210
+ min-width: 33.33%;
211
+ }
212
+ </style>