vite-uni-dev-tool 0.0.48 → 1.0.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 (292) hide show
  1. package/README.md +20 -0
  2. package/dist/const.cjs +1 -0
  3. package/dist/const.d.ts +78 -161
  4. package/dist/const.d.ts.map +1 -1
  5. package/dist/const.js +1 -47
  6. package/dist/core-shared.d.ts +44 -0
  7. package/dist/core-shared.d.ts.map +1 -0
  8. package/dist/core-shared.js +1 -0
  9. package/dist/core.d.ts +2 -40
  10. package/dist/core.d.ts.map +1 -1
  11. package/dist/core.js +4 -159
  12. package/dist/i18n/index.cjs +1 -0
  13. package/dist/i18n/index.d.ts +9 -0
  14. package/dist/i18n/index.d.ts.map +1 -0
  15. package/dist/i18n/index.js +1 -0
  16. package/dist/i18n/instance.cjs +1 -0
  17. package/dist/i18n/instance.d.ts +15 -0
  18. package/dist/i18n/instance.d.ts.map +1 -0
  19. package/dist/i18n/instance.js +1 -0
  20. package/dist/i18n/locales/en.cjs +1 -0
  21. package/dist/i18n/locales/en.d.ts +470 -0
  22. package/dist/i18n/locales/en.d.ts.map +1 -0
  23. package/dist/i18n/locales/en.js +1 -0
  24. package/dist/i18n/locales/zh-Hans.cjs +1 -0
  25. package/dist/i18n/locales/zh-Hans.d.ts +476 -0
  26. package/dist/i18n/locales/zh-Hans.d.ts.map +1 -0
  27. package/dist/i18n/locales/zh-Hans.js +1 -0
  28. package/dist/index.cjs +1 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +1 -1
  31. package/dist/modules/devConsole/index.cjs +4 -0
  32. package/dist/{devConsole → modules/devConsole}/index.d.ts +1 -1
  33. package/dist/modules/devConsole/index.d.ts.map +1 -0
  34. package/dist/modules/devConsole/index.js +4 -0
  35. package/dist/modules/devEvent/index.cjs +5 -0
  36. package/dist/modules/devEvent/index.d.ts +115 -0
  37. package/dist/modules/devEvent/index.d.ts.map +1 -0
  38. package/dist/modules/devEvent/index.js +5 -0
  39. package/dist/modules/devIntercept/index.cjs +13 -0
  40. package/dist/modules/devIntercept/index.d.ts +71 -0
  41. package/dist/modules/devIntercept/index.d.ts.map +1 -0
  42. package/dist/modules/devIntercept/index.js +13 -0
  43. package/dist/modules/devStore/index.cjs +1 -0
  44. package/dist/modules/devStore/index.d.ts +159 -0
  45. package/dist/modules/devStore/index.d.ts.map +1 -0
  46. package/dist/modules/devStore/index.js +1 -0
  47. package/dist/modules/devToolInfo/index.cjs +1 -0
  48. package/dist/modules/devToolInfo/index.d.ts +27 -0
  49. package/dist/modules/devToolInfo/index.d.ts.map +1 -0
  50. package/dist/modules/devToolInfo/index.js +1 -0
  51. package/dist/plugins/uniDevTool/transform/transformApp.cjs +44 -0
  52. package/dist/plugins/uniDevTool/transform/transformApp.d.ts.map +1 -1
  53. package/dist/plugins/uniDevTool/transform/transformApp.js +17 -17
  54. package/dist/plugins/uniDevTool/transform/transformMain.cjs +3 -0
  55. package/dist/plugins/uniDevTool/transform/transformMain.d.ts.map +1 -1
  56. package/dist/plugins/uniDevTool/transform/transformMain.js +3 -3
  57. package/dist/plugins/uniDevTool/transform/transformVue.cjs +41 -0
  58. package/dist/plugins/uniDevTool/transform/transformVue.d.ts +1 -2
  59. package/dist/plugins/uniDevTool/transform/transformVue.d.ts.map +1 -1
  60. package/dist/plugins/uniDevTool/transform/transformVue.js +32 -19
  61. package/dist/plugins/uniDevTool/uniDevTool.cjs +5 -0
  62. package/dist/plugins/uniDevTool/uniDevTool.d.ts +3 -11
  63. package/dist/plugins/uniDevTool/uniDevTool.d.ts.map +1 -1
  64. package/dist/plugins/uniDevTool/uniDevTool.js +3 -3
  65. package/dist/plugins/uniGlobalComponents/uniGlobalComponents.cjs +19 -0
  66. package/dist/plugins/uniGlobalComponents/uniGlobalComponents.d.ts.map +1 -1
  67. package/dist/plugins/uniGlobalComponents/uniGlobalComponents.js +11 -19
  68. package/dist/plugins/uniParseStock/index.d.ts +10 -0
  69. package/dist/plugins/uniParseStock/index.d.ts.map +1 -0
  70. package/dist/plugins/utils/index.cjs +2 -0
  71. package/dist/plugins/utils/index.d.ts +1 -3
  72. package/dist/plugins/utils/index.d.ts.map +1 -1
  73. package/dist/plugins/utils/index.js +2 -2
  74. package/dist/shims-uni.d.ts +140 -0
  75. package/dist/type.d.ts +174 -16
  76. package/dist/type.d.ts.map +1 -1
  77. package/dist/utils/array.cjs +1 -0
  78. package/dist/utils/array.d.ts.map +1 -1
  79. package/dist/utils/array.js +1 -12
  80. package/dist/utils/date.cjs +1 -0
  81. package/dist/utils/date.d.ts.map +1 -1
  82. package/dist/utils/date.js +1 -59
  83. package/dist/utils/file.cjs +1 -0
  84. package/dist/utils/file.d.ts.map +1 -1
  85. package/dist/utils/file.js +1 -85
  86. package/dist/utils/function.cjs +1 -0
  87. package/dist/utils/function.d.ts +13 -0
  88. package/dist/utils/function.d.ts.map +1 -1
  89. package/dist/utils/function.js +1 -68
  90. package/dist/utils/index.cjs +1 -0
  91. package/dist/utils/index.d.ts.map +1 -1
  92. package/dist/utils/index.js +1 -63
  93. package/dist/utils/ip.cjs +1 -0
  94. package/dist/utils/ip.d.ts +1 -1
  95. package/dist/utils/ip.d.ts.map +1 -1
  96. package/dist/utils/ip.js +1 -45
  97. package/dist/utils/language.cjs +1 -0
  98. package/dist/utils/language.d.ts +2 -1
  99. package/dist/utils/language.d.ts.map +1 -1
  100. package/dist/utils/language.js +1 -63
  101. package/dist/utils/object.cjs +1 -0
  102. package/dist/utils/object.d.ts +4 -5
  103. package/dist/utils/object.d.ts.map +1 -1
  104. package/dist/utils/object.js +1 -136
  105. package/dist/utils/openLink.cjs +1 -0
  106. package/dist/utils/openLink.d.ts.map +1 -1
  107. package/dist/utils/openLink.js +1 -28
  108. package/dist/utils/page.cjs +1 -0
  109. package/dist/utils/page.d.ts.map +1 -1
  110. package/dist/utils/page.js +1 -7
  111. package/dist/utils/platform.cjs +1 -0
  112. package/dist/utils/platform.d.ts.map +1 -1
  113. package/dist/utils/platform.js +1 -17
  114. package/dist/utils/string.cjs +1 -0
  115. package/dist/utils/string.d.ts.map +1 -1
  116. package/dist/utils/string.js +1 -114
  117. package/dist/utils/utils.cjs +1 -0
  118. package/dist/utils/utils.d.ts +1 -1
  119. package/dist/utils/utils.d.ts.map +1 -1
  120. package/dist/utils/utils.js +1 -126
  121. package/dist/v3/AppTransition/index.vue +170 -0
  122. package/dist/v3/AutoSizer/index.vue +4 -5
  123. package/dist/v3/AutoSizer/index1.vue +4 -6
  124. package/dist/v3/AutoSizer/utils.ts +1 -1
  125. package/dist/v3/CaptureScreen/index.vue +19 -8
  126. package/dist/v3/CircularButton/index.vue +64 -13
  127. package/dist/v3/ConsoleList/ConsoleItem.vue +56 -5
  128. package/dist/v3/ConsoleList/RunJSInput.vue +10 -6
  129. package/dist/v3/ConsoleList/index.vue +51 -35
  130. package/dist/v3/CustomSwiper/CustomSwiperItem.vue +49 -0
  131. package/dist/v3/CustomSwiper/index.vue +104 -0
  132. package/dist/v3/DevTool/fps-collector.render.ts +148 -0
  133. package/dist/v3/DevTool/index.vue +209 -102
  134. package/dist/v3/DevToolButton/index.vue +40 -59
  135. package/dist/v3/DevToolTitle/index.vue +4 -1
  136. package/dist/v3/DevToolWindow/DevToolOverlay.vue +182 -0
  137. package/dist/v3/DevToolWindow/const.ts +47 -69
  138. package/dist/v3/DevToolWindow/hooks/dataUtils.ts +48 -0
  139. package/dist/v3/DevToolWindow/hooks/useDevToolData.ts +338 -0
  140. package/dist/v3/DevToolWindow/hooks/useDevToolHandlers.ts +549 -0
  141. package/dist/v3/DevToolWindow/hooks/useDevToolOverlay.ts +184 -0
  142. package/dist/v3/DevToolWindow/index.css +89 -0
  143. package/dist/v3/DevToolWindow/index.vue +800 -1450
  144. package/dist/v3/DraggableContainer/index.vue +456 -0
  145. package/dist/v3/ElEvent/ElEventItem.vue +4 -3
  146. package/dist/v3/ElEvent/index.vue +26 -9
  147. package/dist/v3/Empty/index.vue +1 -0
  148. package/dist/v3/FilterInput/index.vue +8 -22
  149. package/dist/v3/FilterSelect/index.vue +37 -24
  150. package/dist/v3/Instance/components/InstanceTreeNode.vue +265 -0
  151. package/dist/v3/Instance/flatten.ts +226 -0
  152. package/dist/v3/Instance/index.vue +94 -0
  153. package/dist/v3/Instance/registry.ts +49 -0
  154. package/dist/v3/Instance/transformTree.ts +375 -0
  155. package/dist/v3/Instance/transformTreeCtx.ts +268 -0
  156. package/dist/v3/{InstanceTree → Instance}/typing.d.ts +15 -2
  157. package/dist/v3/InstanceDetail/index.vue +433 -44
  158. package/dist/v3/JsonDetail/index.vue +12 -8
  159. package/dist/v3/JsonPretty/components/Brackets/index.vue +1 -0
  160. package/dist/v3/JsonPretty/components/Carets/index.vue +2 -1
  161. package/dist/v3/JsonPretty/components/CheckController/index.vue +26 -15
  162. package/dist/v3/JsonPretty/components/TreeNode/index.vue +42 -20
  163. package/dist/v3/JsonPretty/index.vue +60 -37
  164. package/dist/v3/JsonPretty/utils/index.ts +41 -44
  165. package/dist/v3/MovableContainer/index.vue +89 -0
  166. package/dist/v3/NFCList/NFCItem.vue +14 -14
  167. package/dist/v3/NFCList/NFCTool.vue +99 -81
  168. package/dist/v3/NFCList/index.vue +14 -10
  169. package/dist/v3/NetworkList/InterceptConfig.vue +154 -364
  170. package/dist/v3/NetworkList/InterceptItem.vue +14 -6
  171. package/dist/v3/NetworkList/NetworkDetail.vue +34 -29
  172. package/dist/v3/NetworkList/NetworkIntercept.vue +11 -8
  173. package/dist/v3/NetworkList/NetworkItem.vue +27 -11
  174. package/dist/v3/NetworkList/NetworkSend.vue +132 -290
  175. package/dist/v3/NetworkList/hooks/useNetworkForm.ts +86 -0
  176. package/dist/v3/NetworkList/index.vue +32 -24
  177. package/dist/v3/NetworkList/utils.ts +101 -0
  178. package/dist/v3/Performance/index.vue +495 -0
  179. package/dist/v3/Performance/modules/PerformanceMetrics.vue +153 -0
  180. package/dist/v3/Performance/modules/PerformanceWidget.vue +249 -0
  181. package/dist/v3/Performance/modules/usePerformanceChart.ts +460 -0
  182. package/dist/v3/Performance/modules/usePerformanceData.ts +258 -0
  183. package/dist/v3/Pick/index.vue +322 -0
  184. package/dist/v3/PiniaList/index.vue +38 -17
  185. package/dist/v3/RouteList/index.vue +32 -15
  186. package/dist/v3/RunJS/index.vue +30 -10
  187. package/dist/v3/ScanCodeList/ScanCodeItem.vue +2 -9
  188. package/dist/v3/ScanCodeList/index.vue +12 -9
  189. package/dist/v3/SettingButton/index.vue +45 -0
  190. package/dist/v3/SettingList/index.css +120 -0
  191. package/dist/v3/SettingList/index.vue +96 -537
  192. package/dist/v3/SettingList/modules/SettingDevTool.vue +208 -0
  193. package/dist/v3/SettingList/modules/SettingInfo.vue +119 -0
  194. package/dist/v3/SettingList/modules/SettingLanguage.vue +74 -0
  195. package/dist/v3/SettingList/modules/SettingLog.vue +230 -0
  196. package/dist/v3/SettingList/modules/SettingNetwork.vue +120 -0
  197. package/dist/v3/SettingList/modules/SettingTheme.vue +312 -0
  198. package/dist/v3/SourceCode/Line.vue +15 -2
  199. package/dist/v3/SourceCode/index.vue +25 -24
  200. package/dist/v3/SourceCode/parseCode.ts +114 -56
  201. package/dist/v3/StorageList/index.vue +33 -33
  202. package/dist/v3/Tabs/index.vue +31 -28
  203. package/dist/v3/Tag/index.vue +39 -20
  204. package/dist/v3/TransferList/TransferDetail.vue +268 -0
  205. package/dist/v3/TransferList/TransferItem.vue +125 -0
  206. package/dist/v3/TransferList/index.vue +181 -0
  207. package/dist/v3/UniEvent/UniEventItem.vue +1 -0
  208. package/dist/v3/UniEvent/index.vue +28 -29
  209. package/dist/v3/{VirtualListPro → VirtualList}/AutoSize.vue +1 -1
  210. package/dist/v3/VirtualList/index.vue +382 -82
  211. package/dist/v3/VuexList/index.vue +38 -17
  212. package/dist/v3/WebSocket/WebSocketDetail.vue +142 -80
  213. package/dist/v3/WebSocket/WebSocketItem.vue +10 -4
  214. package/dist/v3/WebSocket/index.vue +44 -30
  215. package/dist/v3/hooks/useNFC/index.ts +6 -6
  216. package/dist/v3/hooks/useNFC/typing.d.ts +2 -2
  217. package/dist/v3/hooks/useNFC/useNFCAndroid.ts +215 -626
  218. package/dist/v3/hooks/useNFC/useNFCMpWeiXin.ts +54 -85
  219. package/dist/v3/hooks/useNFC/utils.ts +3 -3
  220. package/dist/v3/hooks/useRequest/index.ts +2 -2
  221. package/dist/v3/hooks/useScanCode/index.ts +10 -8
  222. package/dist/v3/styles/theme.css +290 -0
  223. package/dist/v3/styles/theme.ts +12 -0
  224. package/package.json +25 -5
  225. package/dist/devConsole/index.d.ts.map +0 -1
  226. package/dist/devConsole/index.js +0 -273
  227. package/dist/devEvent/index.d.ts +0 -328
  228. package/dist/devEvent/index.d.ts.map +0 -1
  229. package/dist/devEvent/index.js +0 -697
  230. package/dist/devEventBus/index.d.ts +0 -42
  231. package/dist/devEventBus/index.d.ts.map +0 -1
  232. package/dist/devEventBus/index.js +0 -70
  233. package/dist/devIntercept/index.d.ts +0 -281
  234. package/dist/devIntercept/index.d.ts.map +0 -1
  235. package/dist/devIntercept/index.js +0 -949
  236. package/dist/devRunJS/index.d.ts +0 -67
  237. package/dist/devRunJS/index.d.ts.map +0 -1
  238. package/dist/devStore/index.d.ts +0 -199
  239. package/dist/devStore/index.d.ts.map +0 -1
  240. package/dist/devStore/index.js +0 -562
  241. package/dist/devToolInfo/index.d.ts +0 -17
  242. package/dist/devToolInfo/index.d.ts.map +0 -1
  243. package/dist/devToolInfo/index.js +0 -15
  244. package/dist/v3/AutoSizer/utils.d.ts +0 -5
  245. package/dist/v3/AutoSizer/utils.d.ts.map +0 -1
  246. package/dist/v3/ConsoleList/staticTips.d.ts +0 -13
  247. package/dist/v3/ConsoleList/staticTips.d.ts.map +0 -1
  248. package/dist/v3/DevToolWindow/const.d.ts +0 -46
  249. package/dist/v3/DevToolWindow/const.d.ts.map +0 -1
  250. package/dist/v3/InstanceTree/components/InstanceTreeNode.vue +0 -81
  251. package/dist/v3/InstanceTree/flatten.d.ts +0 -10
  252. package/dist/v3/InstanceTree/flatten.d.ts.map +0 -1
  253. package/dist/v3/InstanceTree/flatten.ts +0 -75
  254. package/dist/v3/InstanceTree/index.vue +0 -51
  255. package/dist/v3/InstanceTree/transformTree.d.ts +0 -17
  256. package/dist/v3/InstanceTree/transformTree.d.ts.map +0 -1
  257. package/dist/v3/InstanceTree/transformTree.ts +0 -237
  258. package/dist/v3/JsonPretty/hooks/useClipboard.d.ts +0 -4
  259. package/dist/v3/JsonPretty/hooks/useClipboard.d.ts.map +0 -1
  260. package/dist/v3/JsonPretty/hooks/useError.d.ts +0 -8
  261. package/dist/v3/JsonPretty/hooks/useError.d.ts.map +0 -1
  262. package/dist/v3/JsonPretty/type.d.ts +0 -94
  263. package/dist/v3/JsonPretty/type.d.ts.map +0 -1
  264. package/dist/v3/JsonPretty/utils/index.d.ts +0 -10
  265. package/dist/v3/JsonPretty/utils/index.d.ts.map +0 -1
  266. package/dist/v3/NFCList/const.d.ts +0 -13
  267. package/dist/v3/NFCList/const.d.ts.map +0 -1
  268. package/dist/v3/NetworkList/const.d.ts +0 -5
  269. package/dist/v3/NetworkList/const.d.ts.map +0 -1
  270. package/dist/v3/SourceCode/parseCode.d.ts +0 -27
  271. package/dist/v3/SourceCode/parseCode.d.ts.map +0 -1
  272. package/dist/v3/UploadList/UploadDetail.vue +0 -255
  273. package/dist/v3/UploadList/UploadItem.vue +0 -122
  274. package/dist/v3/UploadList/index.vue +0 -125
  275. package/dist/v3/VirtualListPro/index.vue +0 -229
  276. package/dist/v3/hooks/useContainerStyle.d.ts +0 -15
  277. package/dist/v3/hooks/useContainerStyle.d.ts.map +0 -1
  278. package/dist/v3/hooks/useNFC/index.d.ts +0 -5
  279. package/dist/v3/hooks/useNFC/index.d.ts.map +0 -1
  280. package/dist/v3/hooks/useNFC/useNFCAndroid.d.ts +0 -2
  281. package/dist/v3/hooks/useNFC/useNFCAndroid.d.ts.map +0 -1
  282. package/dist/v3/hooks/useNFC/useNFCMpWeiXin.d.ts +0 -2
  283. package/dist/v3/hooks/useNFC/useNFCMpWeiXin.d.ts.map +0 -1
  284. package/dist/v3/hooks/useNFC/utils.d.ts +0 -95
  285. package/dist/v3/hooks/useNFC/utils.d.ts.map +0 -1
  286. package/dist/v3/hooks/useRequest/index.d.ts +0 -126
  287. package/dist/v3/hooks/useRequest/index.d.ts.map +0 -1
  288. package/dist/v3/hooks/useRequest/utils.d.ts +0 -35
  289. package/dist/v3/hooks/useRequest/utils.d.ts.map +0 -1
  290. package/dist/v3/hooks/useScanCode/index.d.ts +0 -36
  291. package/dist/v3/hooks/useScanCode/index.d.ts.map +0 -1
  292. /package/dist/v3/{VirtualListPro → VirtualList}/readme.md +0 -0
@@ -0,0 +1,120 @@
1
+ <template>
2
+ <view class="setting-item">
3
+ <DevToolTitle>{{ t('setting.network.title') }}</DevToolTitle>
4
+ <view class="setting-item-content">
5
+ <view class="setting-row">
6
+ <view>{{ t('setting.network.ip') }}:</view>
7
+ <Tag
8
+ :mode="
9
+ netWorkStatus?.isConnected === undefined || netWorkStatus?.ip
10
+ ? 'info'
11
+ : netWorkStatus?.isConnected && netWorkStatus?.ip
12
+ ? 'success'
13
+ : 'error'
14
+ ">
15
+ {{
16
+ netWorkStatus?.isConnected === undefined
17
+ ? t('setting.network.unknown')
18
+ : netWorkStatus?.ip || t('setting.network.unknown')
19
+ }}
20
+ </Tag>
21
+ </view>
22
+ <view class="setting-tips">{{ t('setting.network.ipTip') }}</view>
23
+ <view class="setting-row">
24
+ <view>{{ t('setting.network.status') }}:</view>
25
+ <Tag
26
+ :mode="
27
+ netWorkStatus?.isConnected === undefined
28
+ ? 'info'
29
+ : netWorkStatus?.isConnected
30
+ ? 'success'
31
+ : 'error'
32
+ ">
33
+ {{
34
+ netWorkStatus?.isConnected === undefined
35
+ ? t('setting.network.unknown')
36
+ : netWorkStatus?.isConnected
37
+ ? t('setting.network.connected')
38
+ : t('setting.network.disconnected')
39
+ }}
40
+ </Tag>
41
+ </view>
42
+ <view class="setting-row">
43
+ <view>{{ t('setting.network.type') }}:</view>
44
+ <Tag mode="info">
45
+ {{ netWorkStatus?.networkType ?? t('setting.network.unknown') }}
46
+ </Tag>
47
+ </view>
48
+ </view>
49
+ </view>
50
+ <view class="setting-item">
51
+ <DevToolTitle>{{ t('setting.network.interceptRole') }}</DevToolTitle>
52
+ <view class="setting-item-content">
53
+ <checkbox-group @change="onToggleCacheIntercept">
54
+ <label class="setting-row">
55
+ <view>{{ t('setting.network.intercept') }}:</view>
56
+ <checkbox
57
+ :checked="cacheInterceptConfig"
58
+ value="true"
59
+ :color="themeColor"
60
+ style="transform: scale(0.8)" />
61
+ </label>
62
+ </checkbox-group>
63
+ <view class="setting-tips">{{ t('setting.network.interceptTip') }}</view>
64
+ <checkbox-group @change="onToggleCacheNetwork">
65
+ <label class="setting-row">
66
+ <view>{{ t('setting.network.cacheNetworkLog') }}:</view>
67
+ <checkbox
68
+ :checked="cacheNetworkLog"
69
+ value="true"
70
+ :color="themeColor"
71
+ style="transform: scale(0.8)" />
72
+ </label>
73
+ </checkbox-group>
74
+ <view class="setting-tips">
75
+ {{ t('setting.network.cacheNetworkLogTip') }}
76
+ </view>
77
+ </view>
78
+ </view>
79
+ </template>
80
+
81
+ <script setup lang="ts">
82
+ import { computed } from 'vue';
83
+ import DevToolTitle from '../../DevToolTitle/index.vue';
84
+ import Tag from '../../Tag/index.vue';
85
+ import { useI18n } from '../../../i18n';
86
+ import { getThemeMainColor } from '../../styles/theme';
87
+
88
+ const { t } = useI18n();
89
+ const themeColor = computed(() => getThemeMainColor(props.theme));
90
+
91
+ const props = defineProps<{
92
+ theme?: string;
93
+ cacheInterceptConfig?: boolean;
94
+ cacheNetworkLog?: boolean;
95
+ netWorkStatus: {
96
+ isConnected?: boolean;
97
+ networkType?: string;
98
+ ip?: string;
99
+ };
100
+ }>();
101
+
102
+ const emit = defineEmits<{
103
+ (e: 'change-cache-intercept-config', value: boolean): void;
104
+ (e: 'change-cache-network-log', value: boolean): void;
105
+ }>();
106
+
107
+ function onToggleCacheNetwork() {
108
+ const nextValue = !props.cacheNetworkLog;
109
+ emit('change-cache-network-log', nextValue);
110
+ }
111
+
112
+ function onToggleCacheIntercept() {
113
+ const nextValue = !props.cacheInterceptConfig;
114
+ emit('change-cache-intercept-config', nextValue);
115
+ }
116
+ </script>
117
+
118
+ <style scoped>
119
+ @import '../index.css';
120
+ </style>
@@ -0,0 +1,312 @@
1
+ <template>
2
+ <view class="setting-item">
3
+ <DevToolTitle>{{ t('setting.theme.title') }}</DevToolTitle>
4
+ <view class="setting-item-content">
5
+ <view class="theme-group">
6
+ <view class="theme-group-title">
7
+ {{ t('setting.theme.lightMode') }}
8
+ </view>
9
+ <view class="setting-theme">
10
+ <view
11
+ v-for="item in lightThemes"
12
+ :key="item.value"
13
+ :class="[
14
+ 'setting-item-theme',
15
+ `setting-theme-${item.value}`,
16
+ { 'setting-theme-active': theme === item.value },
17
+ ]"
18
+ @click="emit('changeTheme', item.value)">
19
+ <view class="theme-label">{{ item.label }}</view>
20
+ </view>
21
+ </view>
22
+ </view>
23
+
24
+ <view class="theme-group">
25
+ <view class="theme-group-title">
26
+ {{ t('setting.theme.darkMode') }}
27
+ </view>
28
+ <view class="setting-theme">
29
+ <view
30
+ v-for="item in darkThemes"
31
+ :key="item.value"
32
+ :class="[
33
+ 'setting-item-theme',
34
+ `setting-theme-${item.value}`,
35
+ { 'setting-theme-active': theme === item.value },
36
+ ]"
37
+ @click="emit('changeTheme', item.value)">
38
+ <view class="theme-label">{{ item.label }}</view>
39
+ </view>
40
+ </view>
41
+ </view>
42
+ </view>
43
+ <view class="setting-item-content">
44
+ <checkbox-group @change="onToggleTransition">
45
+ <view class="setting-row">
46
+ <view>{{ t('setting.theme.useTransition') }}:</view>
47
+ <checkbox
48
+ :checked="useTransition"
49
+ :color="themeColor"
50
+ style="transform: scale(0.8)" />
51
+ </view>
52
+ </checkbox-group>
53
+ </view>
54
+ <view class="setting-tips">
55
+ {{ t('setting.theme.useTransitionTip') }}
56
+ </view>
57
+
58
+ <view class="setting-item-content">
59
+ <view class="setting-row">
60
+ <view>{{ t('setting.theme.baseFontSize') }}:</view>
61
+ <input
62
+ :value="localBaseFontSize"
63
+ @input="onBaseFontSizeInput"
64
+ type="number"
65
+ class="setting-input" />
66
+ </view>
67
+ <view class="setting-row">
68
+ <view>{{ t('setting.theme.tagFontSize') }}:</view>
69
+ <input
70
+ :value="localTagFontSize"
71
+ @input="onTagFontSizeInput"
72
+ type="number"
73
+ class="setting-input" />
74
+ </view>
75
+ <view class="setting-row">
76
+ <view>{{ t('setting.theme.tipsFontSize') }}:</view>
77
+ <input
78
+ :value="localTipsFontSize"
79
+ @input="onTipsFontSizeInput"
80
+ type="number"
81
+ class="setting-input" />
82
+ </view>
83
+ <view class="setting-row">
84
+ <view>{{ t('setting.theme.fontFamily') }}:</view>
85
+ <Pick
86
+ v-model="localFontFamily"
87
+ :options="fontFamilyList"
88
+ custom-style="width: 150px" />
89
+ </view>
90
+ <view class="setting-row">
91
+ <view>{{ t('setting.theme.fontWeight') }}:</view>
92
+ <Pick
93
+ v-model="localFontWeight"
94
+ :options="fontWeightList"
95
+ custom-style="width: 150px" />
96
+ </view>
97
+ <SettingButton @click="onSave">
98
+ {{ t('setting.theme.save') }}
99
+ </SettingButton>
100
+ </view>
101
+ </view>
102
+ </template>
103
+
104
+ <script setup lang="ts">
105
+ import { ref, watch, computed } from 'vue';
106
+ import DevToolTitle from '../../DevToolTitle/index.vue';
107
+ import SettingButton from '../../SettingButton/index.vue';
108
+ import Pick from '../../Pick/index.vue';
109
+ import { useI18n } from '../../../i18n';
110
+ import { getThemeMainColor } from '../../styles/theme';
111
+
112
+ const { t } = useI18n();
113
+ const themeColor = computed(() => getThemeMainColor(props.theme));
114
+
115
+ const props = defineProps<{
116
+ theme?: string;
117
+ useTransition?: boolean;
118
+ baseFontSize?: number;
119
+ tagFontSize?: number;
120
+
121
+ tipsFontSize?: number;
122
+ fontFamily?: string;
123
+ fontWeight?: string;
124
+ }>();
125
+
126
+ const emit = defineEmits<{
127
+ (e: 'changeTheme', value: string): void;
128
+ (e: 'changeUseTransition', value: boolean): void;
129
+ (
130
+ e: 'changeFont',
131
+ value: {
132
+ baseFontSize: number;
133
+ tagFontSize: number;
134
+ tipsFontSize: number;
135
+ fontFamily: string;
136
+ fontWeight: string;
137
+ },
138
+ ): void;
139
+ (e: 'restartApp'): void;
140
+ }>();
141
+
142
+ const lightThemes = computed(() => [
143
+ { label: t('setting.theme.themes.light'), value: 'light' },
144
+ { label: t('setting.theme.themes.eye'), value: 'eye' },
145
+ { label: t('setting.theme.themes.sakura'), value: 'sakura' },
146
+ { label: t('setting.theme.themes.frost'), value: 'frost' },
147
+ { label: t('setting.theme.themes.sunny'), value: 'sunny' },
148
+ ]);
149
+
150
+ const darkThemes = computed(() => [
151
+ { label: t('setting.theme.themes.dark'), value: 'dark' },
152
+ { label: t('setting.theme.themes.midnight'), value: 'midnight' },
153
+ { label: t('setting.theme.themes.gulf'), value: 'gulf' },
154
+ { label: t('setting.theme.themes.lava'), value: 'lava' },
155
+ { label: t('setting.theme.themes.emerald'), value: 'emerald' },
156
+ ]);
157
+
158
+ const localBaseFontSize = ref(props.baseFontSize || 12);
159
+ const localTagFontSize = ref(props.tagFontSize || 10);
160
+
161
+ const localTipsFontSize = ref(props.tipsFontSize || 10);
162
+ const localFontFamily = ref(props.fontFamily || '');
163
+ const localFontWeight = ref(props.fontWeight || 'normal');
164
+
165
+ const fontWeightList = [
166
+ { label: 'Normal (400)', value: 'normal' },
167
+ { label: 'Medium (500)', value: '500' },
168
+ { label: 'SemiBold (600)', value: '600' },
169
+ { label: 'Bold (700)', value: 'bold' },
170
+ ];
171
+
172
+ const fontFamilyList = computed(() => [
173
+ { label: t('setting.theme.fonts.default'), value: '' },
174
+ { label: 'Fira Code', value: '"Fira Code", monospace' },
175
+ { label: 'Monaco', value: 'Monaco, monospace' },
176
+ { label: 'Consolas', value: 'Consolas, monospace' },
177
+ { label: 'Courier New', value: '"Courier New", monospace' },
178
+ { label: 'Source Code Pro', value: '"Source Code Pro", monospace' },
179
+ { label: 'JetBrains Mono', value: '"JetBrains Mono", monospace' },
180
+ { label: 'Ubuntu Mono', value: '"Ubuntu Mono", monospace' },
181
+ { label: 'Menlo', value: 'Menlo, monospace' },
182
+ { label: 'Inconsolata', value: 'Inconsolata, monospace' },
183
+ { label: 'Droid Sans Mono', value: '"Droid Sans Mono", monospace' },
184
+ {
185
+ label: t('setting.theme.fonts.pingFangSC'),
186
+ value: '"PingFang SC", sans-serif',
187
+ },
188
+ {
189
+ label: t('setting.theme.fonts.microsoftYaHei'),
190
+ value: '"Microsoft YaHei", sans-serif',
191
+ },
192
+ { label: t('setting.theme.fonts.simHei'), value: 'SimHei, sans-serif' },
193
+ { label: t('setting.theme.fonts.simSun'), value: 'SimSun, serif' },
194
+ { label: t('setting.theme.fonts.kaiti'), value: 'KaiTi, serif' },
195
+ { label: t('setting.theme.fonts.fangSong'), value: 'FangSong, serif' },
196
+ ]);
197
+
198
+ watch(
199
+ () => props.baseFontSize,
200
+ (v) => (localBaseFontSize.value = v || 12),
201
+ );
202
+ watch(
203
+ () => props.tagFontSize,
204
+ (v) => (localTagFontSize.value = v || 10),
205
+ );
206
+ watch(
207
+ () => props.tipsFontSize,
208
+ (v) => (localTipsFontSize.value = v || 10),
209
+ );
210
+ watch(
211
+ () => props.fontFamily,
212
+ (v) => (localFontFamily.value = v || ''),
213
+ );
214
+ watch(
215
+ () => props.fontWeight,
216
+ (v) => (localFontWeight.value = v || 'normal'),
217
+ );
218
+
219
+ function onToggleTransition() {
220
+ emit('changeUseTransition', !props.useTransition);
221
+ }
222
+
223
+ function onBaseFontSizeInput(e: any) {
224
+ localBaseFontSize.value = e.detail.value;
225
+ }
226
+
227
+ function onTagFontSizeInput(e: any) {
228
+ localTagFontSize.value = e.detail.value;
229
+ }
230
+
231
+ function onTipsFontSizeInput(e: any) {
232
+ localTipsFontSize.value = e.detail.value;
233
+ }
234
+
235
+ function onSave() {
236
+ emit('changeFont', {
237
+ baseFontSize: Number(localBaseFontSize.value),
238
+ tagFontSize: Number(localTagFontSize.value),
239
+
240
+ tipsFontSize: Number(localTipsFontSize.value),
241
+ fontFamily: localFontFamily.value,
242
+ fontWeight: localFontWeight.value,
243
+ });
244
+
245
+ uni.showToast({
246
+ title: t('setting.theme.saveTip'),
247
+ icon: 'none',
248
+ duration: 1500,
249
+ });
250
+
251
+ setTimeout(() => {
252
+ emit('restartApp');
253
+ }, 1500);
254
+ }
255
+ </script>
256
+
257
+ <style scoped>
258
+ @import '../index.css';
259
+
260
+ .theme-group {
261
+ margin-bottom: 12px;
262
+ }
263
+
264
+ .theme-group-title {
265
+ font-size: 12px;
266
+ color: var(--dev-tool-text-color);
267
+ opacity: 0.6;
268
+ margin-bottom: 8px;
269
+ padding-left: 4px;
270
+ }
271
+
272
+ .setting-theme {
273
+ display: flex;
274
+ flex-wrap: wrap;
275
+ gap: 12px;
276
+ }
277
+
278
+ .setting-item-theme {
279
+ position: relative;
280
+ width: 48px;
281
+ height: 32px;
282
+ border-radius: 6px;
283
+ cursor: pointer;
284
+ transition: all 0.2s;
285
+ display: flex;
286
+ align-items: center;
287
+ justify-content: center;
288
+ overflow: hidden;
289
+ border: 1px solid var(--dev-tool-border-color);
290
+ }
291
+
292
+ .theme-label {
293
+ font-size: 10px;
294
+ color: #fff;
295
+ text-shadow: 0 1px 2px rgb(0 0 0 / 50%);
296
+ pointer-events: none;
297
+ }
298
+
299
+ .setting-theme-light .theme-label,
300
+ .setting-theme-eye .theme-label,
301
+ .setting-theme-sakura .theme-label,
302
+ .setting-theme-frost .theme-label,
303
+ .setting-theme-sunny .theme-label {
304
+ color: #333;
305
+ text-shadow: none;
306
+ }
307
+
308
+ .setting-theme-active {
309
+ transform: scale(1.05);
310
+ box-shadow: 0 0 0 2px var(--dev-tool-main-color);
311
+ }
312
+ </style>
@@ -18,7 +18,7 @@
18
18
  <script lang="ts" setup>
19
19
  import type { LineInfo } from './parseCode';
20
20
 
21
- const props = withDefaults(
21
+ const _props = withDefaults(
22
22
  defineProps<{
23
23
  line: LineInfo;
24
24
 
@@ -41,8 +41,9 @@ const props = withDefaults(
41
41
 
42
42
  .source-code-line-active {
43
43
  color: #fff;
44
+
44
45
  /* background-color: var(--dev-tool-main-color); */
45
- background-color: rgba(#9254de, 0.5);
46
+ background-color: rgb(146 84 222 / 50%);
46
47
  }
47
48
 
48
49
  .source-code-line-num {
@@ -100,4 +101,16 @@ const props = withDefaults(
100
101
  .source-code-pre-operator {
101
102
  color: var(--dev-tool-operator-color);
102
103
  }
104
+
105
+ .source-code-pre-number {
106
+ color: var(--dev-tool-number-color);
107
+ }
108
+
109
+ .source-code-pre-builtin {
110
+ color: var(--dev-tool-builtin-color, var(--dev-tool-keyword-color));
111
+ }
112
+
113
+ .source-code-pre-symbol {
114
+ color: var(--dev-tool-symbol-color, var(--dev-tool-text-color));
115
+ }
103
116
  </style>
@@ -1,41 +1,33 @@
1
1
  <template>
2
2
  <view class="dev-tool-code" :style="customStyle">
3
3
  <view class="dev-tool-code-control">
4
- <!-- <FilterInput
5
- v-model="modelValue"
6
- style="width: 100%"
7
- @search="onSearch"
8
- /> -->
4
+ <!-- FilterInput removed to avoid v-model lint issues -->
9
5
  <view class="dev-tool-code-title">{{ fileName }}</view>
10
6
  <CircularButton style="margin-left: auto" text="×" @click="onClose" />
11
7
  </view>
12
8
 
13
- <VirtualListPro
9
+ <VirtualList
14
10
  v-if="codes.length > 0"
15
11
  scrollX
16
- virtual
17
12
  :pageSize="pageSize"
18
13
  :height="contentHeight - 32"
19
14
  :data="codes"
20
- :scrollWithAnimation="true"
21
- >
15
+ :scrollWithAnimation="true">
22
16
  <template #default="{ list, start, itemsHeight, onSizeChange }">
23
17
  <AutoSize
24
18
  v-for="(code, index) in list"
25
19
  :key="start + index"
26
20
  :index="start + index"
27
21
  :itemsHeight="itemsHeight"
28
- :onSizeChange="onSizeChange"
29
- >
22
+ :onSizeChange="onSizeChange">
30
23
  <Line
31
24
  :line="code"
32
25
  :id="`dev-code-${start + index}`"
33
26
  :num="start + index + 1"
34
- :active="start + index === activeRowCol.row"
35
- />
27
+ :active="start + index === activeRowCol.row" />
36
28
  </AutoSize>
37
29
  </template>
38
- </VirtualListPro>
30
+ </VirtualList>
39
31
  <Empty v-if="!codes || codes.length === 0" />
40
32
  </view>
41
33
  </template>
@@ -43,9 +35,9 @@
43
35
  import { computed, ref, onMounted } from 'vue';
44
36
  // import FilterInput from '../FilterInput/index.vue';
45
37
  import CircularButton from '../CircularButton/index.vue';
46
- import VirtualListPro from '../VirtualListPro/index.vue';
38
+ import VirtualList from '../VirtualList/index.vue';
47
39
  import Empty from '../Empty/index.vue';
48
- import AutoSize from '../VirtualListPro/AutoSize.vue';
40
+ import AutoSize from '../VirtualList/AutoSize.vue';
49
41
  import Line from './Line.vue';
50
42
  import { isAndroid, parseStock } from '../../utils';
51
43
  import { parseCode, type LineInfo } from './parseCode';
@@ -67,7 +59,7 @@ const fileName = computed(() => {
67
59
  });
68
60
 
69
61
  const activeRowCol = ref({ row: -1, col: -1, activeRow: -1 });
70
- const scrollIntoView = ref('');
62
+ const _scrollIntoView = ref('');
71
63
 
72
64
  // let backupCodes: string[] = [];
73
65
 
@@ -79,12 +71,13 @@ function onClose() {
79
71
  emit('close');
80
72
  }
81
73
 
82
- function onSearch(value: string) {
74
+ function _onSearch(_value: string) {
83
75
  // codes.value = backupCodes.map((code) => {
84
- // return hightLight(code, value);
76
+ // return hightLight(code, _value);
85
77
  // });
86
78
  }
87
79
 
80
+ /*
88
81
  let timer: number;
89
82
  function startCounter({
90
83
  start,
@@ -113,6 +106,7 @@ function startCounter({
113
106
  onExecute(s);
114
107
  }, duration);
115
108
  }
109
+ */
116
110
 
117
111
  let index = 0;
118
112
  function getCode(url: string, i: number = 0) {
@@ -162,7 +156,7 @@ function getCode(url: string, i: number = 0) {
162
156
  // });
163
157
  }
164
158
  },
165
- fail: (err) => {
159
+ fail: (_err) => {
166
160
  index++;
167
161
  getCode(url, index);
168
162
  uni.showToast({ icon: 'none', title: '正在重新尝试中...' });
@@ -176,8 +170,7 @@ function getCode(url: string, i: number = 0) {
176
170
  /** 开发环境获取源代码 */
177
171
  function getSourceCodeDev(url: string) {
178
172
  if (!url) {
179
- uni.showToast({ icon: 'none', title: '[DevTool] url 处理异常' });
180
- console?.error('[DevTool] url 处理异常');
173
+ // console?.error('[DevTool] url 处理异常');
181
174
  return;
182
175
  }
183
176
  index = 0;
@@ -186,6 +179,8 @@ function getSourceCodeDev(url: string) {
186
179
  }
187
180
 
188
181
  onMounted(() => {
182
+ if (!props.url) return;
183
+
189
184
  let url = props?.url;
190
185
 
191
186
  const { path, col, row } = parseStock(props?.url ?? '');
@@ -194,6 +189,8 @@ onMounted(() => {
194
189
  url = path;
195
190
  }
196
191
 
192
+ if (!url) return;
193
+
197
194
  activeRowCol.value.col = col;
198
195
  activeRowCol.value.row = row;
199
196
 
@@ -211,17 +208,21 @@ onMounted(() => {
211
208
  top: 0;
212
209
  left: 0;
213
210
  padding: 0 16px;
211
+
214
212
  /* #ifdef H5 */
215
213
  padding: 50px 16px;
214
+
216
215
  /* #endif */
217
216
 
218
217
  /* #ifdef MP-WEIXIN */
218
+
219
219
  /* padding-bottom:30px; */
220
+
220
221
  /* #endif */
221
222
 
222
223
  width: 100vw;
223
224
  height: 100vh;
224
- font-size: 12px;
225
+ font-size: var(--dev-tool-base-font-size);
225
226
  color: var(--dev-tool-text-color);
226
227
  box-sizing: border-box;
227
228
  transition: color 0.3s;
@@ -233,7 +234,6 @@ onMounted(() => {
233
234
  align-items: center;
234
235
  gap: 12px;
235
236
  height: 32px;
236
- box-sizing: border-box;
237
237
  border-bottom: 1px solid var(--dev-tool-border-color);
238
238
  box-sizing: border-box;
239
239
  }
@@ -242,6 +242,7 @@ onMounted(() => {
242
242
  height: 32px;
243
243
  line-height: 30px;
244
244
  margin-bottom: 4px;
245
+
245
246
  /* border-bottom: 1px solid var(--dev-tool-border-color); */
246
247
  box-sizing: border-box;
247
248
  white-space: nowrap;