vite-uni-dev-tool 0.0.11 → 0.0.13

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 (180) hide show
  1. package/README.md +55 -1
  2. package/dist/const.d.ts +133 -0
  3. package/dist/const.d.ts.map +1 -0
  4. package/dist/const.js +36 -0
  5. package/dist/core.d.ts +52 -0
  6. package/dist/core.d.ts.map +1 -0
  7. package/dist/core.js +80 -0
  8. package/dist/devConsole/index.d.ts +169 -0
  9. package/dist/devConsole/index.d.ts.map +1 -0
  10. package/dist/devConsole/index.js +270 -0
  11. package/dist/devEvent/index.d.ts +286 -0
  12. package/dist/devEvent/index.d.ts.map +1 -0
  13. package/dist/devEvent/index.js +435 -0
  14. package/dist/devEventBus/index.d.ts +42 -0
  15. package/dist/devEventBus/index.d.ts.map +1 -0
  16. package/dist/devEventBus/index.js +70 -0
  17. package/dist/devIntercept/index.d.ts +119 -0
  18. package/dist/devIntercept/index.d.ts.map +1 -0
  19. package/dist/devIntercept/index.js +582 -0
  20. package/dist/devRunJS/index.d.ts +67 -0
  21. package/dist/devRunJS/index.d.ts.map +1 -0
  22. package/dist/devStore/index.d.ts +178 -0
  23. package/dist/devStore/index.d.ts.map +1 -0
  24. package/dist/devStore/index.js +395 -0
  25. package/dist/devToolInfo/index.d.ts +17 -0
  26. package/dist/devToolInfo/index.d.ts.map +1 -0
  27. package/dist/devToolInfo/index.js +15 -0
  28. package/{dev → dist}/plugins/uniDevTool/uniDevTool.d.ts +15 -1
  29. package/dist/plugins/uniDevTool/uniDevTool.d.ts.map +1 -0
  30. package/dist/plugins/uniDevTool/uniDevTool.js +35 -0
  31. package/{dev → dist}/plugins/uniGlobalComponents/uniGlobalComponents.js +7 -7
  32. package/{dev → dist}/plugins/utils/index.d.ts +3 -0
  33. package/{dev → dist}/plugins/utils/index.d.ts.map +1 -1
  34. package/dist/plugins/utils/index.js +1 -0
  35. package/dist/type.d.ts +264 -0
  36. package/dist/type.d.ts.map +1 -0
  37. package/dist/utils/array.d.ts +2 -0
  38. package/dist/utils/array.d.ts.map +1 -0
  39. package/dist/utils/array.js +12 -0
  40. package/dist/utils/date.d.ts +19 -0
  41. package/dist/utils/date.d.ts.map +1 -0
  42. package/dist/utils/date.js +40 -0
  43. package/dist/utils/file.d.ts +11 -0
  44. package/dist/utils/file.d.ts.map +1 -0
  45. package/dist/utils/file.js +87 -0
  46. package/dist/utils/function.d.ts +28 -0
  47. package/dist/utils/function.d.ts.map +1 -0
  48. package/dist/utils/function.js +46 -0
  49. package/dist/utils/index.d.ts +11 -0
  50. package/dist/utils/index.d.ts.map +1 -0
  51. package/dist/utils/index.js +55 -0
  52. package/dist/utils/ip.d.ts +5 -0
  53. package/dist/utils/ip.d.ts.map +1 -0
  54. package/dist/utils/ip.js +21 -0
  55. package/dist/utils/language.d.ts +29 -0
  56. package/dist/utils/language.d.ts.map +1 -0
  57. package/dist/utils/language.js +50 -0
  58. package/dist/utils/object.d.ts +49 -0
  59. package/dist/utils/object.d.ts.map +1 -0
  60. package/dist/utils/object.js +118 -0
  61. package/dist/utils/page.d.ts +7 -0
  62. package/dist/utils/page.d.ts.map +1 -0
  63. package/dist/utils/page.js +7 -0
  64. package/dist/utils/platform.d.ts +4 -0
  65. package/dist/utils/platform.d.ts.map +1 -0
  66. package/dist/utils/platform.js +14 -0
  67. package/dist/utils/string.d.ts +45 -0
  68. package/dist/utils/string.d.ts.map +1 -0
  69. package/dist/utils/string.js +88 -0
  70. package/dist/utils/utils.d.ts +16 -0
  71. package/dist/utils/utils.d.ts.map +1 -0
  72. package/dist/v2/AutoSizer/utils.d.ts +5 -0
  73. package/dist/v2/AutoSizer/utils.d.ts.map +1 -0
  74. package/dist/v2/JsonPretty/hooks/useClipboard.d.ts +4 -0
  75. package/dist/v2/JsonPretty/hooks/useClipboard.d.ts.map +1 -0
  76. package/dist/v2/JsonPretty/hooks/useError.d.ts +8 -0
  77. package/dist/v2/JsonPretty/hooks/useError.d.ts.map +1 -0
  78. package/dist/v2/JsonPretty/type.d.ts +93 -0
  79. package/dist/v2/JsonPretty/type.d.ts.map +1 -0
  80. package/dist/v3/AutoSizer/utils.d.ts +5 -0
  81. package/dist/v3/AutoSizer/utils.d.ts.map +1 -0
  82. package/dist/v3/ConsoleList/staticTips.d.ts +13 -0
  83. package/dist/v3/ConsoleList/staticTips.d.ts.map +1 -0
  84. package/dist/v3/JsonPretty/hooks/useClipboard.d.ts +4 -0
  85. package/dist/v3/JsonPretty/hooks/useClipboard.d.ts.map +1 -0
  86. package/dist/v3/JsonPretty/hooks/useError.d.ts +8 -0
  87. package/dist/v3/JsonPretty/hooks/useError.d.ts.map +1 -0
  88. package/dist/v3/JsonPretty/type.d.ts +93 -0
  89. package/dist/v3/JsonPretty/type.d.ts.map +1 -0
  90. package/dist/v3/JsonPretty/utils/index.d.ts +10 -0
  91. package/dist/v3/JsonPretty/utils/index.d.ts.map +1 -0
  92. package/package.json +5 -5
  93. package/dev/components/AppInfo/index.vue +0 -36
  94. package/dev/components/AutoSizer/index.vue +0 -193
  95. package/dev/components/AutoSizer/index1.vue +0 -186
  96. package/dev/components/AutoSizer/utils.ts +0 -49
  97. package/dev/components/Button/index.vue +0 -34
  98. package/dev/components/CaptureScreen/index.vue +0 -62
  99. package/dev/components/Checkbox/index.vue +0 -40
  100. package/dev/components/CloseButton/index.vue +0 -26
  101. package/dev/components/Code/index.vue +0 -230
  102. package/dev/components/Connection/index.vue +0 -88
  103. package/dev/components/ConsoleList/Code.vue +0 -227
  104. package/dev/components/ConsoleList/ConsoleItem.vue +0 -186
  105. package/dev/components/ConsoleList/RunJSInput.vue +0 -235
  106. package/dev/components/ConsoleList/index.vue +0 -130
  107. package/dev/components/ConsoleList/staticTips.ts +0 -1145
  108. package/dev/components/DevTool/index.vue +0 -182
  109. package/dev/components/DevToolButton/index.vue +0 -213
  110. package/dev/components/DevToolTitle/index.vue +0 -21
  111. package/dev/components/DevToolWindow/index.vue +0 -1037
  112. package/dev/components/DeviceInfo/index.vue +0 -32
  113. package/dev/components/Empty/empty.png +0 -0
  114. package/dev/components/Empty/index.vue +0 -28
  115. package/dev/components/FilterInput/index.vue +0 -86
  116. package/dev/components/JsonPretty/components/Brackets/index.vue +0 -23
  117. package/dev/components/JsonPretty/components/Carets/index.vue +0 -59
  118. package/dev/components/JsonPretty/components/CheckController/index.vue +0 -125
  119. package/dev/components/JsonPretty/components/TreeNode/index.vue +0 -349
  120. package/dev/components/JsonPretty/hooks/useClipboard.ts +0 -21
  121. package/dev/components/JsonPretty/hooks/useError.ts +0 -21
  122. package/dev/components/JsonPretty/index.vue +0 -474
  123. package/dev/components/JsonPretty/type.ts +0 -125
  124. package/dev/components/JsonPretty/utils/index.ts +0 -172
  125. package/dev/components/NetworkList/NetworkDetail.vue +0 -197
  126. package/dev/components/NetworkList/NetworkItem.vue +0 -106
  127. package/dev/components/NetworkList/index.vue +0 -115
  128. package/dev/components/PiniaList/index.vue +0 -64
  129. package/dev/components/RouteList/index.vue +0 -110
  130. package/dev/components/RunJS/index.vue +0 -128
  131. package/dev/components/SettingList/index.vue +0 -225
  132. package/dev/components/StorageList/index.vue +0 -170
  133. package/dev/components/SystemInfo/index.vue +0 -34
  134. package/dev/components/Tabs/index.vue +0 -123
  135. package/dev/components/Tag/index.vue +0 -89
  136. package/dev/components/UniEvent/UniEventItem.vue +0 -124
  137. package/dev/components/UniEvent/index.vue +0 -94
  138. package/dev/components/UploadList/UploadDetail.vue +0 -208
  139. package/dev/components/UploadList/UploadItem.vue +0 -111
  140. package/dev/components/UploadList/index.vue +0 -104
  141. package/dev/components/VirtualList/index.vue +0 -112
  142. package/dev/components/VirtualListPro/AutoSize.vue +0 -43
  143. package/dev/components/VirtualListPro/index.vue +0 -175
  144. package/dev/components/VirtualListPro/readme.md +0 -40
  145. package/dev/components/VuexList/index.vue +0 -54
  146. package/dev/components/WebSocket/WebSocketItem.vue +0 -98
  147. package/dev/components/WebSocket/WebSocketList.vue +0 -176
  148. package/dev/components/WebSocket/index.vue +0 -111
  149. package/dev/components/WindowInfo/index.vue +0 -33
  150. package/dev/const.ts +0 -166
  151. package/dev/core.ts +0 -118
  152. package/dev/devConsole/index.ts +0 -350
  153. package/dev/devEvent/index.ts +0 -806
  154. package/dev/devEventBus/index.ts +0 -94
  155. package/dev/devIntercept/index.ts +0 -745
  156. package/dev/devRunJS/index.ts +0 -170
  157. package/dev/devStore/index.ts +0 -718
  158. package/dev/plugins/uniDevTool/uniDevTool.d.ts.map +0 -1
  159. package/dev/plugins/uniDevTool/uniDevTool.js +0 -36
  160. package/dev/plugins/utils/index.js +0 -1
  161. package/dev/shims-uni.d.ts +0 -43
  162. package/dev/type.ts +0 -264
  163. package/dev/utils/array.ts +0 -15
  164. package/dev/utils/date.ts +0 -75
  165. package/dev/utils/file.ts +0 -121
  166. package/dev/utils/function.ts +0 -192
  167. package/dev/utils/index.d.ts +0 -6
  168. package/dev/utils/index.ts +0 -46
  169. package/dev/utils/ip.ts +0 -79
  170. package/dev/utils/language.ts +0 -72
  171. package/dev/utils/object.ts +0 -298
  172. package/dev/utils/page.ts +0 -13
  173. package/dev/utils/platform.ts +0 -14
  174. package/dev/utils/string.ts +0 -133
  175. package/dev/utils/utils.ts +0 -198
  176. /package/{dev → dist}/index.d.ts +0 -0
  177. /package/{dev → dist}/index.d.ts.map +0 -0
  178. /package/{dev → dist}/index.js +0 -0
  179. /package/{dev → dist}/plugins/uniGlobalComponents/uniGlobalComponents.d.ts +0 -0
  180. /package/{dev → dist}/plugins/uniGlobalComponents/uniGlobalComponents.d.ts.map +0 -0
@@ -1,123 +0,0 @@
1
- <template>
2
- <view class="tabs">
3
- <scroll-view
4
- class="tabs-list"
5
- ref="tabsRef"
6
- scroll-x="true"
7
- enable-flex="true"
8
- scroll-with-animation
9
- :scrollLeft="scrollLeft"
10
- :scroll-into-view="scrollIntoView"
11
- @scroll="onScroll"
12
- >
13
- <view
14
- v-for="item in items"
15
- :key="item.key"
16
- :class="`tabs-item ${
17
- item.index === modelValue ? 'tabs-item-active' : ''
18
- } `"
19
- :id="`tabs-item-${item.index}`"
20
- @click="onChangeTabs(item)"
21
- >
22
- {{ item.label }}
23
- </view>
24
- </scroll-view>
25
- <view class="tabs-extra">
26
- <slot name="extra"></slot>
27
- <CloseButton style="margin: 0 16px" @click="onClose" />
28
- </view>
29
- </view>
30
- </template>
31
-
32
- <script setup lang="ts">
33
- import { computed, ref } from 'vue';
34
- import CloseButton from '../CloseButton/index.vue';
35
- // const activeKey = ref("Console");
36
- const props = defineProps<{
37
- modelValue: number;
38
- items: { label: string; key: string; value: any; index: number }[];
39
- scrollLeft?: number;
40
- }>();
41
-
42
- const tabsRef = ref();
43
-
44
- const emit = defineEmits<{
45
- (e: 'close'): void;
46
- (e: 'update:modelValue', value: number): void;
47
- (e: 'change', value: number): void;
48
- (e: 'scroll', value: any): void;
49
- }>();
50
-
51
- const scrollIntoView = computed(() => {
52
- return `tabs-item-${props.modelValue}`;
53
- });
54
-
55
- function onChangeTabs(item: {
56
- label: string;
57
- key: string;
58
- value: any;
59
- index: number;
60
- }) {
61
- // activeKey.value = item.key;
62
- emit('update:modelValue', item.index);
63
- emit('change', item.index);
64
- }
65
- function onClose() {
66
- emit('close');
67
- }
68
-
69
- function onScroll(e: any) {
70
- emit('scroll', e);
71
- }
72
- </script>
73
-
74
- <style scoped>
75
- .tabs {
76
- display: flex;
77
- align-items: center;
78
- height: 32px;
79
- border-bottom: 1px solid var(--dev-tool-border-color);
80
- box-sizing: border-box;
81
- font-size: var(--dev-tool-base-font-size);
82
- }
83
- .tabs .tabs-list {
84
- display: flex;
85
- align-items: center;
86
- flex: 1;
87
- overflow: auto;
88
- -ms-overflow-style: none;
89
- scrollbar-width: none;
90
- white-space: nowrap;
91
- width: 100%;
92
- }
93
- .tabs-list ::-webkit-scrollbar {
94
- display: none;
95
- width: 0;
96
- height: 0;
97
- background-color: transparent;
98
- }
99
- .tabs-list ::-webkit-scrollbar-thumb {
100
- width: 0;
101
- height: 0;
102
- background-color: transparent;
103
- }
104
- .tabs .tabs-item {
105
- display: inline-block;
106
- padding: 0 16px;
107
- height: 32px;
108
- line-height: 32px;
109
- border-bottom: 1px solid transparent;
110
- box-sizing: border-box;
111
- transition: all 0.3s;
112
- cursor: pointer;
113
- }
114
- .tabs .tabs-item-active {
115
- color: var(--dev-tool-main-color);
116
- border-color: var(--dev-tool-main-color);
117
- }
118
-
119
- .tabs-extra {
120
- display: flex;
121
- align-items: center;
122
- }
123
- </style>
@@ -1,89 +0,0 @@
1
- <template>
2
- <view
3
- :class="`tag tag-${mode} ${active ? 'tag-active' : ''}`"
4
- @click="onClick"
5
- >
6
- <slot></slot>
7
- </view>
8
- </template>
9
- <script setup lang="ts">
10
- defineProps<{
11
- mode:
12
- | 'primary'
13
- | 'warn'
14
- | 'success'
15
- | 'error'
16
- | 'info'
17
- | 'log'
18
- | 'main'
19
- | 'clear'
20
- | string;
21
- active?: boolean;
22
- }>();
23
- const emit = defineEmits<{ (e: 'click', event: MouseEvent): void }>();
24
- function onClick(event: MouseEvent) {
25
- emit('click', event);
26
- }
27
- </script>
28
- <style scoped>
29
- .tag {
30
- display: flex;
31
- align-items: center;
32
- padding: 0 4px;
33
- width: min-content;
34
- height: 24px;
35
- color: #fff;
36
- border-radius: 4px;
37
- white-space: nowrap;
38
- box-sizing: border-box;
39
- font-size: var(--dev-tool-tag-font-size);
40
- cursor: pointer;
41
- transition: all 0.3s;
42
- }
43
- .tag-log {
44
- color: #000;
45
- background-color: var(--dev-tool-border-color);
46
- border: 1px solid var(--dev-tool-border-color);
47
- }
48
- .tag-info {
49
- color: #000;
50
- background-color: var(--dev-tool-normal-bg-color);
51
- border: 1px solid var(--dev-tool-normal-bg-color);
52
- }
53
- .tag-warn {
54
- background-color: var(--dev-tool-warn-color);
55
- border: 1px solid var(--dev-tool-warn-color);
56
- }
57
- .tag-success {
58
- background-color: var(--dev-tool-success-color);
59
- border: 1px solid var(--dev-tool-success-color);
60
- }
61
- .tag-error {
62
- background-color: var(--dev-tool-error-color);
63
- border: 1px solid var(--dev-tool-error-color);
64
- }
65
- .tag-main {
66
- background-color: var(--dev-tool-main-color);
67
- color: #fff;
68
- border: 1px solid var(--dev-tool-main-color);
69
- }
70
-
71
- .tag-primary {
72
- color: #fff;
73
- background-color: #0958d9;
74
- border: 1px solid #0958d9;
75
- }
76
- .tag-clear {
77
- color: #0958d9;
78
- border: 1px solid #0958d9;
79
- }
80
- .tag-all {
81
- color: #000;
82
- border: 1px solid #000;
83
- }
84
-
85
- .tag-active {
86
- border-color: var(--dev-tool-main-color);
87
- color: var(--dev-tool-main-color);
88
- }
89
- </style>
@@ -1,124 +0,0 @@
1
- <template>
2
- <view class="uni-event-item">
3
- <view class="uni-event-item-row"> {{ eventItem.eventName }} </view>
4
- <view class="uni-event-item-row">
5
- <Tag mode="info" v-if="eventItem.type == 'on'">
6
- {{ eventItem.type }}
7
- </Tag>
8
- <Tag mode="warn" v-if="eventItem.type == 'once'">
9
- {{ eventItem.type }}
10
- </Tag>
11
- <Tag mode="main" v-if="eventItem.type == 'emit'">
12
- {{ eventItem.type }}
13
- </Tag>
14
- <Tag mode="error" v-if="eventItem.type == 'off'">
15
- {{ eventItem.type }}
16
- </Tag>
17
- <view class="uni-event-item-right"> {{ eventItem.timer }}</view>
18
- </view>
19
-
20
- <view
21
- :class="`uni-event-item-right ${isUseDevSource ? 'link' : ''}`"
22
- @click="onStackClick"
23
- >
24
- {{ eventItem.stack }}
25
- </view>
26
-
27
- <Code
28
- v-if="openCode && eventItem.stack"
29
- :url="eventItem.stack"
30
- :sourceFileServers="sourceFileServers"
31
- :mode="mode"
32
- @close="onCloseCode"
33
- />
34
- </view>
35
- </template>
36
- <script lang="ts" setup>
37
- import Tag from '../Tag/index.vue';
38
- import Code from '../Code/index.vue';
39
- import type { DevTool } from '../../type';
40
- import { computed, ref } from 'vue';
41
- import { isAndroid, isMockWX } from '../../utils';
42
-
43
- const props = defineProps<{
44
- eventItem: DevTool.EventItem;
45
- mode?: string;
46
- useDevSource?: boolean;
47
- sourceFileServers?: string[];
48
- }>();
49
-
50
- const openCode = ref(false);
51
-
52
- const isUseDevSource = computed(() => {
53
- return (
54
- !isMockWX(props?.eventItem?.stack ?? '') &&
55
- props.mode === 'development' &&
56
- props.useDevSource
57
- );
58
- });
59
-
60
- const isWXLink = computed(() => {
61
- console.log('props?.eventItem: ', props?.eventItem);
62
- console.log('props.mode: ', props.mode);
63
- return (
64
- isMockWX(props?.eventItem?.stack ?? '') || props.mode !== 'development'
65
- );
66
- });
67
-
68
- function onStackClick() {
69
- if (isWXLink.value) {
70
- uni.showToast({
71
- icon: 'none',
72
- title: '[DevTool] 请在小程序真机调试模式下查看源码',
73
- });
74
- return;
75
- }
76
-
77
- if (!isUseDevSource.value) {
78
- return;
79
- }
80
-
81
- if (isAndroid()) {
82
- if (props.sourceFileServers && props.sourceFileServers.length > 0) {
83
- openCode.value = true;
84
- } else {
85
- uni.showToast({
86
- icon: 'none',
87
- title: '[DevTool] sourceFileServers 配置异常',
88
- });
89
- uni?.__dev__console?.log('[DevTool] sourceFileServers 配置异常');
90
- }
91
- } else {
92
- openCode.value = true;
93
- }
94
- }
95
-
96
- function onCloseCode() {
97
- openCode.value = false;
98
- }
99
- </script>
100
-
101
- <style scoped>
102
- .uni-event-item {
103
- padding: 16px;
104
- border-bottom: 1px solid var(--dev-tool-border-color);
105
- box-sizing: border-box;
106
- }
107
-
108
- .uni-event-item-row {
109
- display: flex;
110
- align-items: center;
111
- justify-content: space-between;
112
- height: 28px;
113
- word-break: break-all;
114
- }
115
-
116
- .uni-event-item-right {
117
- text-align: right;
118
- word-break: break-all;
119
- }
120
- .link {
121
- cursor: pointer;
122
- text-decoration: underline;
123
- }
124
- </style>
@@ -1,94 +0,0 @@
1
- <template>
2
- <view class="uni-event-content">
3
- <DevToolTitle style="padding: 0 16px">事件触发统计</DevToolTitle>
4
- <view class="uni-event-statistics">
5
- <view class="uni-event-statistics-item">
6
- <view>on: </view>
7
- <Tag mode="log" style="flex: 1; justify-content: center">
8
- {{ eventCount?.on ?? 0 }}
9
- </Tag>
10
- </view>
11
- <view class="uni-event-statistics-item">
12
- <view>once: </view>
13
- <Tag mode="warn" style="flex: 1; justify-content: center">
14
- {{ eventCount?.once ?? 0 }}
15
- </Tag>
16
- </view>
17
- <view class="uni-event-statistics-item">
18
- <view>emit: </view>
19
- <Tag mode="main" style="flex: 1; justify-content: center">
20
- {{ eventCount?.emit ?? 0 }}
21
- </Tag>
22
- </view>
23
- <view class="uni-event-statistics-item">
24
- <view>off: </view>
25
- <Tag mode="error" style="flex: 1; justify-content: center">
26
- {{ eventCount?.off ?? 0 }}
27
- </Tag>
28
- </view>
29
- </view>
30
- <DevToolTitle style="padding: 0 16px"
31
- >事件触发列表
32
-
33
- <Tag mode="clear" style="margin-left: auto" @click="emit('clear')">
34
- 清空
35
- </Tag>
36
- </DevToolTitle>
37
- <view class="uni-event-list">
38
- <UniEventItem
39
- v-for="item in eventList"
40
- :eventItem="item"
41
- :mode="mode"
42
- :useDevSource="useDevSource"
43
- :sourceFileServers="sourceFileServers"
44
- />
45
- </view>
46
- </view>
47
- </template>
48
- <script lang="ts" setup>
49
- import DevToolTitle from '../DevToolTitle/index.vue';
50
- import UniEventItem from './UniEventItem.vue';
51
- import Tag from '../Tag/index.vue';
52
- import type { DevTool } from '@/dev/type';
53
-
54
- defineProps<{
55
- eventList?: DevTool.EventItem[];
56
- eventCount?: DevTool.EventCount;
57
- useDevSource?: boolean;
58
- mode?: string;
59
- sourceFileServers?: string[];
60
- }>();
61
-
62
- const emit = defineEmits<{
63
- (e: 'clear'): void;
64
- }>();
65
- </script>
66
- <style scoped>
67
- .uni-event-content {
68
- height: 100%;
69
- overflow: auto;
70
- font-size: var(--dev-tool-base-font-size);
71
- }
72
-
73
- .uni-event-statistics {
74
- display: flex;
75
- align-items: center;
76
- justify-content: space-around;
77
- padding: 0 16px;
78
- height: 32px;
79
- box-sizing: border-box;
80
- gap: 12px;
81
- }
82
- .uni-event-statistics-item {
83
- display: flex;
84
- align-items: center;
85
- width: 25%;
86
- }
87
- .uni-event-statistics-item view:first-child {
88
- margin-right: 8px;
89
- }
90
- .uni-event-list {
91
- height: calc(100% - 32px * 3);
92
- overflow: auto;
93
- }
94
- </style>
@@ -1,208 +0,0 @@
1
- <template>
2
- <view class="upload-detail">
3
- <view class="upload-detail-control">
4
- <Tag
5
- v-for="item in selectItems"
6
- :active="currentSelect === item.value"
7
- :mode="item.mode"
8
- :key="item.value"
9
- @click="onSelect(item)"
10
- >
11
- {{ item.label }}
12
- </Tag>
13
-
14
- <CloseButton style="margin-left: auto" @click="onClose" />
15
- </view>
16
-
17
- <view class="upload-detail-header" v-if="currentSelect === 'header'">
18
- <view class="upload-detail-title">常规</view>
19
- <view class="net-detail-item">
20
- <view>请求url:</view>
21
- <view>{{ upload.url }}</view>
22
- </view>
23
- <view class="net-detail-item">
24
- <view>请求方法:</view>
25
- <Tag mode="info">{{ upload.method ?? 'POST' }}</Tag>
26
- </view>
27
- <view class="net-detail-item">
28
- <view>状态代码:</view>
29
- <Tag mode="info">{{ upload.status }}</Tag>
30
- </view>
31
- <view class="upload-detail-title">请求头</view>
32
- <view
33
- class="net-detail-item"
34
- v-for="item in upload?.headers?.requestHeader"
35
- :key="item.key"
36
- >
37
- <view>{{ item.key }}:</view>
38
- {{ item.value }}
39
- </view>
40
- <!-- <view class="upload-detail-title">响应头</view>
41
- <view
42
- class="net-detail-item"
43
- v-for="item in upload?.headers?.responseHeader"
44
- :key="item.key"
45
- >
46
- <view>{{ item.key }}:</view>
47
- {{ item.value }}
48
- </view> -->
49
- </view>
50
-
51
- <template v-if="currentSelect === 'formdata'">
52
- <template v-if="formData?.type === 'object'">
53
- <JsonPretty :data="formData.value" />
54
- </template>
55
- <view
56
- v-else-if="formData?.type === 'string'"
57
- class="upload-detail-payload"
58
- >
59
- {{ formData.value }}
60
- </view>
61
- <Empty v-else />
62
- </template>
63
-
64
- <template v-if="currentSelect === 'response'">
65
- <template v-if="response?.type === 'object'">
66
- <JsonPretty :data="response.value" virtual />
67
- </template>
68
- <view
69
- v-else-if="response?.type === 'string'"
70
- class="upload-detail-payload"
71
- >
72
- {{ response.value }}
73
- </view>
74
- <Empty v-else />
75
- </template>
76
- </view>
77
- </template>
78
- <script lang="ts" setup>
79
- import { ref, computed } from 'vue';
80
- import JsonPretty from '../JsonPretty/index.vue';
81
- import Tag from '../Tag/index.vue';
82
- import Empty from '../Empty/index.vue';
83
- import CloseButton from '../CloseButton/index.vue';
84
- import type { DevTool } from '../../type';
85
- const props = defineProps<{ upload: DevTool.UploadItem }>();
86
- const emit = defineEmits<{ (e: 'close'): void }>();
87
- const selectItems = [
88
- {
89
- label: 'header',
90
- value: 'header',
91
- mode: 'info',
92
- },
93
- {
94
- label: 'formdata',
95
- value: 'formdata',
96
- mode: 'info',
97
- },
98
- {
99
- label: 'response',
100
- value: 'response',
101
- mode: 'info',
102
- },
103
- ];
104
- const currentSelect = ref('header');
105
-
106
- const formData = computed(() => {
107
- try {
108
- if (props.upload.formData) {
109
- return {
110
- value: JSON.parse(JSON.stringify(props.upload.formData)),
111
- type: 'object',
112
- };
113
- }
114
- return {
115
- value: {},
116
- type: 'empty',
117
- };
118
- } catch (error) {
119
- return {
120
- value: JSON.parse(JSON.stringify(props.upload.formData)),
121
- type: 'object',
122
- };
123
- }
124
- });
125
-
126
- const response = computed(() => {
127
- try {
128
- if (props.upload.response) {
129
- return {
130
- value: JSON.parse(JSON.stringify(props.upload.response)),
131
- type: 'object',
132
- };
133
- }
134
- return {
135
- value: {},
136
- type: 'empty',
137
- };
138
- } catch (error) {
139
- return {
140
- value: props.upload.response,
141
- type: props.upload.response ? 'string' : 'empty',
142
- };
143
- }
144
- });
145
-
146
- function onSelect(item: { label: string; value: string }) {
147
- currentSelect.value = item.value;
148
- }
149
-
150
- function onClose() {
151
- emit('close');
152
- }
153
- </script>
154
- <style>
155
- .upload-detail {
156
- position: fixed;
157
- width: 100vw;
158
- height: 100vh;
159
- z-index: 1000;
160
- top: 0;
161
- left: 0;
162
- padding: 0 16px;
163
- /* #ifdef H5 */
164
- padding: 50px 16px;
165
- /* #endif */
166
-
167
- background-color: rgba(255, 255, 255, 0.95);
168
- box-sizing: border-box;
169
- }
170
- .upload-detail .upload-detail-control {
171
- display: flex;
172
- align-items: center;
173
- margin-bottom: 4px;
174
- gap: 12px;
175
- height: 32px;
176
- border-bottom: 1px solid transparent;
177
- box-sizing: border-box;
178
- }
179
-
180
- .upload-detail .upload-detail-close {
181
- flex-shrink: 0;
182
- display: flex;
183
- align-items: center;
184
- justify-content: center;
185
- width: 24px;
186
- height: 24px;
187
- margin-left: auto;
188
- border-radius: 50%;
189
- border: 1px solid #000;
190
- box-sizing: border-box;
191
- }
192
-
193
- .upload-detail .upload-detail-header .net-detail-item {
194
- display: flex;
195
- align-items: center;
196
- min-height: 28px;
197
- word-break: break-all;
198
- }
199
- .upload-detail .upload-detail-header .net-detail-item > view:first-child {
200
- white-space: nowrap;
201
- margin-right: 8px;
202
- color: #616161;
203
- }
204
- .upload-detail .upload-detail-payload {
205
- word-break: break-all;
206
- max-width: 100%;
207
- }
208
- </style>