vite-uni-dev-tool 1.1.0 → 1.2.1

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 (195) hide show
  1. package/README.md +21 -1
  2. package/dist/const.cjs +1 -1
  3. package/dist/const.d.ts +2 -1
  4. package/dist/const.js +1 -1
  5. package/dist/core-shared.d.ts +2 -3
  6. package/dist/core.d.ts +8 -8
  7. package/dist/core.js +2 -2
  8. package/dist/i18n/index.d.ts +0 -1
  9. package/dist/i18n/instance.d.ts +0 -1
  10. package/dist/i18n/locales/en.cjs +1 -1
  11. package/dist/i18n/locales/en.d.ts +6 -1
  12. package/dist/i18n/locales/en.js +1 -1
  13. package/dist/i18n/locales/zh-Hans.cjs +1 -1
  14. package/dist/i18n/locales/zh-Hans.d.ts +6 -1
  15. package/dist/i18n/locales/zh-Hans.js +1 -1
  16. package/dist/index.d.ts +0 -1
  17. package/dist/modules/devConsole/index.cjs +4 -4
  18. package/dist/modules/devConsole/index.d.ts +6 -107
  19. package/dist/modules/devConsole/index.js +4 -4
  20. package/dist/modules/devEvent/index.cjs +3 -3
  21. package/dist/modules/devEvent/index.d.ts +2 -3
  22. package/dist/modules/devEvent/index.js +3 -3
  23. package/dist/modules/devIntercept/index.cjs +14 -14
  24. package/dist/modules/devIntercept/index.d.ts +34 -6
  25. package/dist/modules/devIntercept/index.js +14 -14
  26. package/dist/modules/devStore/index.cjs +1 -1
  27. package/dist/modules/devStore/index.d.ts +48 -40
  28. package/dist/modules/devStore/index.js +1 -1
  29. package/dist/modules/devToolInfo/index.cjs +1 -1
  30. package/dist/modules/devToolInfo/index.d.ts +6 -25
  31. package/dist/modules/devToolInfo/index.js +1 -1
  32. package/dist/plugins/uniDevTool/transform/transformApp.d.ts +0 -1
  33. package/dist/plugins/uniDevTool/transform/transformMain.cjs +3 -3
  34. package/dist/plugins/uniDevTool/transform/transformMain.d.ts +2 -2
  35. package/dist/plugins/uniDevTool/transform/transformMain.js +3 -3
  36. package/dist/plugins/uniDevTool/transform/transformVue.cjs +31 -25
  37. package/dist/plugins/uniDevTool/transform/transformVue.d.ts +2 -2
  38. package/dist/plugins/uniDevTool/transform/transformVue.js +30 -24
  39. package/dist/plugins/uniDevTool/uniDevTool.cjs +3 -3
  40. package/dist/plugins/uniDevTool/uniDevTool.d.ts +3 -2
  41. package/dist/plugins/uniDevTool/uniDevTool.js +3 -3
  42. package/dist/plugins/uniGlobalComponents/uniGlobalComponents.d.ts +0 -1
  43. package/dist/plugins/utils/index.d.ts +0 -1
  44. package/dist/shims-uni.d.ts +26 -22
  45. package/dist/type.d.ts +47 -43
  46. package/dist/utils/array.d.ts +0 -1
  47. package/dist/utils/date.d.ts +0 -1
  48. package/dist/utils/file.d.ts +0 -1
  49. package/dist/utils/function.d.ts +0 -1
  50. package/dist/utils/index.d.ts +0 -1
  51. package/dist/utils/ip.d.ts +0 -1
  52. package/dist/utils/language.d.ts +14 -15
  53. package/dist/utils/object.cjs +1 -1
  54. package/dist/utils/object.d.ts +7 -8
  55. package/dist/utils/object.js +1 -1
  56. package/dist/utils/openLink.d.ts +0 -1
  57. package/dist/utils/page.d.ts +0 -1
  58. package/dist/utils/platform.d.ts +0 -1
  59. package/dist/utils/string.d.ts +0 -1
  60. package/dist/utils/utils.d.ts +0 -1
  61. package/dist/v3/DevTool/components/BluetoothList/BluetoothItem.vue +199 -199
  62. package/dist/v3/DevTool/components/BluetoothList/BluetoothTool.vue +730 -730
  63. package/dist/v3/DevTool/components/BluetoothList/index.vue +167 -167
  64. package/dist/v3/DevTool/components/CaptureScreen/index.vue +109 -109
  65. package/dist/v3/DevTool/components/ConsoleList/ConsoleItem.vue +230 -225
  66. package/dist/v3/DevTool/components/ConsoleList/RunJSInput.vue +247 -247
  67. package/dist/v3/DevTool/components/ConsoleList/index.vue +171 -171
  68. package/dist/v3/DevTool/components/ConsoleList/staticTips.ts +1145 -1145
  69. package/dist/v3/DevTool/components/DevToolButton/index.vue +42 -6
  70. package/dist/v3/DevTool/components/DevToolTitle/index.vue +24 -24
  71. package/dist/v3/DevTool/components/DevToolWindow/DevToolOverlay.vue +197 -197
  72. package/dist/v3/DevTool/components/DevToolWindow/hooks/dataUtils.ts +48 -48
  73. package/dist/v3/DevTool/components/DevToolWindow/hooks/useDevToolData.ts +411 -387
  74. package/dist/v3/DevTool/components/DevToolWindow/hooks/useDevToolHandlers.ts +644 -629
  75. package/dist/v3/DevTool/components/DevToolWindow/hooks/useDevToolOverlay.ts +201 -197
  76. package/dist/v3/DevTool/components/DevToolWindow/index.vue +27 -64
  77. package/dist/v3/DevTool/components/ElEvent/ElEventItem.vue +105 -105
  78. package/dist/v3/DevTool/components/ElEvent/index.vue +106 -106
  79. package/dist/v3/DevTool/components/Instance/components/InstanceTreeNode.vue +265 -265
  80. package/dist/v3/DevTool/components/Instance/flatten.ts +226 -226
  81. package/dist/v3/DevTool/components/Instance/index.vue +94 -94
  82. package/dist/v3/DevTool/components/Instance/registry.ts +49 -49
  83. package/dist/v3/DevTool/components/Instance/transformTree.ts +393 -375
  84. package/dist/v3/DevTool/components/Instance/transformTreeCtx.ts +268 -268
  85. package/dist/v3/DevTool/components/Instance/typing.d.ts +43 -43
  86. package/dist/v3/DevTool/components/InstanceDetail/index.vue +485 -485
  87. package/dist/v3/DevTool/components/JsonDetail/index.vue +70 -70
  88. package/dist/v3/DevTool/components/NFCList/NFCItem.vue +112 -112
  89. package/dist/v3/DevTool/components/NFCList/NFCTool.vue +454 -454
  90. package/dist/v3/DevTool/components/NFCList/const.ts +56 -56
  91. package/dist/v3/DevTool/components/NFCList/index.vue +94 -94
  92. package/dist/v3/DevTool/components/NetworkList/InterceptConfig.vue +624 -624
  93. package/dist/v3/DevTool/components/NetworkList/InterceptItem.vue +140 -140
  94. package/dist/v3/DevTool/components/NetworkList/NetworkDetail.vue +287 -287
  95. package/dist/v3/DevTool/components/NetworkList/NetworkIntercept.vue +88 -88
  96. package/dist/v3/DevTool/components/NetworkList/NetworkItem.vue +163 -163
  97. package/dist/v3/DevTool/components/NetworkList/NetworkSend.vue +589 -589
  98. package/dist/v3/DevTool/components/NetworkList/const.ts +4 -4
  99. package/dist/v3/DevTool/components/NetworkList/hooks/useNetworkForm.ts +86 -86
  100. package/dist/v3/DevTool/components/NetworkList/index.vue +160 -160
  101. package/dist/v3/DevTool/components/NetworkList/utils.ts +101 -101
  102. package/dist/v3/DevTool/components/Performance/index.vue +498 -498
  103. package/dist/v3/DevTool/components/Performance/modules/PerformanceMetrics.vue +153 -153
  104. package/dist/v3/DevTool/components/Performance/modules/usePerformanceChart.ts +460 -460
  105. package/dist/v3/DevTool/components/Performance/modules/usePerformanceData.ts +258 -258
  106. package/dist/v3/DevTool/components/PiniaList/index.vue +93 -93
  107. package/dist/v3/DevTool/components/RunJS/index.vue +148 -148
  108. package/dist/v3/DevTool/components/ScanCodeList/ScanCodeItem.vue +97 -97
  109. package/dist/v3/DevTool/components/ScanCodeList/index.vue +100 -100
  110. package/dist/v3/DevTool/components/SettingButton/index.vue +45 -45
  111. package/dist/v3/DevTool/components/SettingList/index.vue +226 -218
  112. package/dist/v3/DevTool/components/SettingList/modules/SettingBarrage.vue +320 -304
  113. package/dist/v3/DevTool/components/SettingList/modules/SettingDevTool.vue +212 -212
  114. package/dist/v3/DevTool/components/SettingList/modules/SettingInfo.vue +157 -157
  115. package/dist/v3/DevTool/components/SettingList/modules/SettingLanguage.vue +74 -74
  116. package/dist/v3/DevTool/components/SettingList/modules/SettingLog.vue +230 -230
  117. package/dist/v3/DevTool/components/SettingList/typing.d.ts +2 -2
  118. package/dist/v3/DevTool/components/SourceCode/Line.vue +127 -127
  119. package/dist/v3/DevTool/components/SourceCode/parseCode.ts +609 -609
  120. package/dist/v3/DevTool/components/StorageList/index.vue +174 -174
  121. package/dist/v3/DevTool/components/TransferList/TransferDetail.vue +268 -268
  122. package/dist/v3/DevTool/components/VuexList/index.vue +84 -84
  123. package/dist/v3/DevTool/index.vue +85 -138
  124. package/dist/v3/components/AppTransition/index.vue +156 -176
  125. package/dist/v3/components/AutoSizer/index.vue +192 -192
  126. package/dist/v3/components/AutoSizer/index1.vue +184 -184
  127. package/dist/v3/components/AutoSizer/utils.ts +49 -49
  128. package/dist/v3/components/Barrage/BarrageItem.vue +194 -137
  129. package/dist/v3/components/Barrage/index.vue +205 -202
  130. package/dist/v3/components/CircularButton/index.vue +84 -84
  131. package/dist/v3/components/CustomSwiper/CustomSwiperItem.vue +49 -49
  132. package/dist/v3/components/CustomSwiper/index.vue +104 -104
  133. package/dist/v3/components/DevErrorBoundary/index.vue +388 -0
  134. package/dist/v3/components/DraggableContainer/index.vue +186 -73
  135. package/dist/v3/components/Empty/index.vue +29 -29
  136. package/dist/v3/components/FilterSelect/index.vue +179 -179
  137. package/dist/v3/components/JsonPretty/components/Brackets/index.vue +27 -27
  138. package/dist/v3/components/JsonPretty/components/Carets/index.vue +59 -59
  139. package/dist/v3/components/JsonPretty/components/CheckController/index.vue +136 -136
  140. package/dist/v3/components/JsonPretty/components/TreeNode/index.vue +387 -387
  141. package/dist/v3/components/JsonPretty/hooks/useClipboard.ts +21 -21
  142. package/dist/v3/components/JsonPretty/hooks/useError.ts +21 -21
  143. package/dist/v3/components/JsonPretty/type.ts +127 -127
  144. package/dist/v3/components/JsonPretty/utils/index.ts +169 -169
  145. package/dist/v3/components/MovableContainer/index.vue +10 -4
  146. package/dist/v3/components/Pick/index.vue +321 -322
  147. package/dist/v3/components/Tag/index.vue +113 -113
  148. package/dist/v3/components/VirtualList/AutoSize.vue +40 -40
  149. package/dist/v3/components/VirtualList/index.vue +416 -416
  150. package/dist/v3/hooks/useBluetooth/index.ts +561 -561
  151. package/dist/v3/hooks/useContainerStyle.ts +95 -153
  152. package/dist/v3/hooks/useNFC/index.ts +107 -107
  153. package/dist/v3/hooks/useNFC/typing.d.ts +396 -396
  154. package/dist/v3/hooks/useNFC/useNFCAndroid.ts +966 -966
  155. package/dist/v3/hooks/useNFC/useNFCMpWeiXin.ts +812 -812
  156. package/dist/v3/hooks/useNFC/utils.ts +754 -754
  157. package/dist/v3/hooks/useRequest/index.ts +586 -586
  158. package/dist/v3/hooks/useRequest/utils.ts +267 -267
  159. package/dist/v3/hooks/useScanCode/index.ts +206 -206
  160. package/dist/v3/hooks/useWebsocket/index.ts +253 -253
  161. package/dist/v3/styles/theme.ts +12 -12
  162. package/package.json +70 -59
  163. package/dist/const.d.ts.map +0 -1
  164. package/dist/core-shared.d.ts.map +0 -1
  165. package/dist/core.d.ts.map +0 -1
  166. package/dist/i18n/index.d.ts.map +0 -1
  167. package/dist/i18n/instance.d.ts.map +0 -1
  168. package/dist/i18n/locales/en.d.ts.map +0 -1
  169. package/dist/i18n/locales/zh-Hans.d.ts.map +0 -1
  170. package/dist/index.d.ts.map +0 -1
  171. package/dist/modules/devConsole/index.d.ts.map +0 -1
  172. package/dist/modules/devEvent/index.d.ts.map +0 -1
  173. package/dist/modules/devIntercept/index.d.ts.map +0 -1
  174. package/dist/modules/devStore/index.d.ts.map +0 -1
  175. package/dist/modules/devToolInfo/index.d.ts.map +0 -1
  176. package/dist/plugins/uniDevTool/transform/transformApp.d.ts.map +0 -1
  177. package/dist/plugins/uniDevTool/transform/transformMain.d.ts.map +0 -1
  178. package/dist/plugins/uniDevTool/transform/transformVue.d.ts.map +0 -1
  179. package/dist/plugins/uniDevTool/uniDevTool.d.ts.map +0 -1
  180. package/dist/plugins/uniGlobalComponents/uniGlobalComponents.d.ts.map +0 -1
  181. package/dist/plugins/utils/index.d.ts.map +0 -1
  182. package/dist/type.d.ts.map +0 -1
  183. package/dist/utils/array.d.ts.map +0 -1
  184. package/dist/utils/date.d.ts.map +0 -1
  185. package/dist/utils/file.d.ts.map +0 -1
  186. package/dist/utils/function.d.ts.map +0 -1
  187. package/dist/utils/index.d.ts.map +0 -1
  188. package/dist/utils/ip.d.ts.map +0 -1
  189. package/dist/utils/language.d.ts.map +0 -1
  190. package/dist/utils/object.d.ts.map +0 -1
  191. package/dist/utils/openLink.d.ts.map +0 -1
  192. package/dist/utils/page.d.ts.map +0 -1
  193. package/dist/utils/platform.d.ts.map +0 -1
  194. package/dist/utils/string.d.ts.map +0 -1
  195. package/dist/utils/utils.d.ts.map +0 -1
@@ -1,212 +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 {
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>
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>