oxy-uni-ui 2.1.0 → 2.1.2

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 (269) hide show
  1. package/attributes.json +1 -1
  2. package/components/common/abstracts/variable.scss +145 -100
  3. package/components/common/util.ts +25 -0
  4. package/components/composables/useDynamicVirtualScroll.ts +80 -0
  5. package/components/oxy-action-sheet/index.scss +6 -6
  6. package/components/oxy-backtop/index.scss +1 -1
  7. package/components/oxy-badge/index.scss +2 -2
  8. package/components/oxy-button/index.scss +3 -6
  9. package/components/oxy-calendar/index.scss +2 -2
  10. package/components/oxy-calendar/oxy-calendar.vue +3 -3
  11. package/components/oxy-calendar-view/monthPanel/month-panel.vue +72 -37
  12. package/components/oxy-calendar-view/monthPanel/types.ts +43 -1
  13. package/components/oxy-calendar-view/types.ts +1 -1
  14. package/components/oxy-calendar-view/utils.ts +12 -1
  15. package/components/oxy-calendar-view/yearPanel/types.ts +36 -2
  16. package/components/oxy-calendar-view/yearPanel/year-panel.vue +64 -45
  17. package/components/oxy-card/index.scss +4 -4
  18. package/components/oxy-cell/index.scss +1 -1
  19. package/components/oxy-cell-group/index.scss +2 -2
  20. package/components/oxy-checkbox/index.scss +87 -197
  21. package/components/oxy-collapse/index.scss +1 -1
  22. package/components/oxy-collapse-item/index.scss +2 -2
  23. package/components/oxy-corner/index.scss +3 -3
  24. package/components/oxy-count-to/oxy-count-to.vue +3 -3
  25. package/components/oxy-count-to/types.ts +1 -1
  26. package/components/oxy-date-strip-item/index.scss +4 -4
  27. package/components/oxy-datetime-picker/types.ts +1 -1
  28. package/components/oxy-datetime-picker-view/types.ts +2 -2
  29. package/components/oxy-fab/index.scss +1 -5
  30. package/components/oxy-file-list/index.scss +2 -2
  31. package/components/oxy-footer/index.scss +2 -2
  32. package/components/oxy-footer/oxy-footer.vue +2 -3
  33. package/components/oxy-form-item/index.scss +0 -5
  34. package/components/oxy-grid/oxy-grid.vue +1 -1
  35. package/components/oxy-grid-item/index.scss +1 -1
  36. package/components/oxy-guidance/index.scss +2 -2
  37. package/components/oxy-img/index.scss +2 -2
  38. package/components/oxy-img-cropper/index.scss +0 -2
  39. package/components/oxy-img-lazy/index.scss +0 -1
  40. package/components/oxy-index-anchor/index.scss +3 -3
  41. package/components/oxy-input/index.scss +2 -2
  42. package/components/oxy-input-number/index.scss +21 -3
  43. package/components/oxy-input-number/oxy-input-number.vue +9 -1
  44. package/components/oxy-keyboard/index.scss +1 -1
  45. package/components/oxy-link/index.scss +11 -10
  46. package/components/oxy-loading/index.scss +1 -1
  47. package/components/oxy-loadmore/index.scss +1 -1
  48. package/components/oxy-message-box/index.scss +7 -7
  49. package/components/oxy-navbar/index.scss +1 -1
  50. package/components/oxy-navbar/oxy-navbar.vue +2 -3
  51. package/components/oxy-password-input/index.scss +4 -4
  52. package/components/oxy-picker/types.ts +1 -1
  53. package/components/oxy-picker-view/oxy-picker-view.vue +8 -5
  54. package/components/oxy-picker-view/types.ts +2 -2
  55. package/components/oxy-progress/index.scss +2 -2
  56. package/components/oxy-radio/index.scss +8 -4
  57. package/components/oxy-radio-group/index.scss +0 -1
  58. package/components/oxy-rich-text/index.scss +2 -6
  59. package/components/oxy-rich-text/mp-html/mp-html.d.ts +2 -0
  60. package/components/oxy-rich-text/mp-html/mp-html.vue +2 -1
  61. package/components/oxy-rich-text/mp-html/node/node.vue +23 -0
  62. package/components/oxy-rich-text/mp-html/parser.js +6 -6
  63. package/components/oxy-rich-text/oxy-rich-text.vue +23 -0
  64. package/components/oxy-search/index.scss +1 -1
  65. package/components/oxy-segmented/index.scss +4 -8
  66. package/components/oxy-select/index.scss +6 -6
  67. package/components/oxy-sidebar-item/index.scss +20 -11
  68. package/components/oxy-slider/index.scss +4 -5
  69. package/components/oxy-sort-button/index.scss +6 -9
  70. package/components/oxy-splitter-panel/index.scss +8 -8
  71. package/components/oxy-step/index.scss +9 -9
  72. package/components/oxy-swiper-nav/index.scss +2 -2
  73. package/components/oxy-switch/index.scss +3 -3
  74. package/components/oxy-tab/index.scss +8 -2
  75. package/components/oxy-tabbar/index.scss +3 -3
  76. package/components/oxy-tabbar/oxy-tabbar.vue +3 -3
  77. package/components/oxy-table/index.scss +0 -1
  78. package/components/oxy-table-col/index.scss +1 -2
  79. package/components/oxy-tabs/index.scss +3 -3
  80. package/components/oxy-tag/index.scss +160 -20
  81. package/components/oxy-tag/oxy-tag.vue +14 -2
  82. package/components/oxy-tag/types.ts +9 -0
  83. package/components/oxy-text/index.scss +1 -1
  84. package/components/oxy-textarea/index.scss +2 -6
  85. package/components/oxy-toast/index.scss +1 -1
  86. package/components/oxy-tree/index.scss +31 -11
  87. package/components/oxy-tree/oxy-tree.vue +113 -2
  88. package/components/oxy-tree/types.ts +1 -0
  89. package/components/oxy-upload/index.scss +3 -3
  90. package/components/oxy-video-preview/index.scss +3 -3
  91. package/components/oxy-virtual-scroll/index.scss +1 -1
  92. package/components/oxy-voice-player/index.scss +36 -36
  93. package/components/oxy-watermark/index.scss +1 -1
  94. package/dev-tools.ts +2 -0
  95. package/devTools/components/DevToolsOverlay.vue +56 -0
  96. package/devTools/components/DevToolsUiHost.vue +589 -0
  97. package/devTools/config.js +55 -0
  98. package/devTools/core/components/mpDevBubble.vue +174 -0
  99. package/devTools/core/libs/createH5Bubble.js +156 -0
  100. package/devTools/core/libs/devCache.js +151 -0
  101. package/devTools/core/libs/devOptions.js +163 -0
  102. package/devTools/core/libs/devUi.js +219 -0
  103. package/devTools/core/libs/drawView.js +140 -0
  104. package/devTools/core/libs/errorReport.js +64 -0
  105. package/devTools/core/libs/jsonCompress.js +334 -0
  106. package/devTools/core/libs/logReport.js +59 -0
  107. package/devTools/core/libs/pageLinkList.js +125 -0
  108. package/devTools/core/libs/timeFormat.js +94 -0
  109. package/devTools/core/proxy/console.js +430 -0
  110. package/devTools/core/proxy/index.js +36 -0
  111. package/devTools/core/proxy/request.js +495 -0
  112. package/devTools/core/proxy/storage.js +113 -0
  113. package/devTools/core/proxy/uniBus.js +153 -0
  114. package/devTools/core/proxy/uniListen.js +192 -0
  115. package/devTools/core/proxy/vueMixin.js +120 -0
  116. package/devTools/index.js +168 -0
  117. package/devTools/page/components/bottomTools.vue +1046 -0
  118. package/devTools/page/components/dialog/addStorage.vue +204 -0
  119. package/devTools/page/components/dialog/createDir.vue +366 -0
  120. package/devTools/page/components/dialog/editDialog.vue +192 -0
  121. package/devTools/page/components/dialog/routeDialog.vue +184 -0
  122. package/devTools/page/components/dialog/sendRequest.vue +603 -0
  123. package/devTools/page/components/dialog/textFileEditDialog.vue +391 -0
  124. package/devTools/page/components/libs/appDelDir.js +86 -0
  125. package/devTools/page/components/libs/dirReader.js +248 -0
  126. package/devTools/page/components/libs/fileSize.js +15 -0
  127. package/devTools/page/components/libs/getRuntimeInfo.js +134 -0
  128. package/devTools/page/components/listItem/consoleItem.vue +314 -0
  129. package/devTools/page/components/listItem/errorItem.vue +292 -0
  130. package/devTools/page/components/listItem/fileSysItem.vue +533 -0
  131. package/devTools/page/components/listItem/infoList.vue +100 -0
  132. package/devTools/page/components/listItem/jsRunnerItem.vue +255 -0
  133. package/devTools/page/components/listItem/logItem.vue +193 -0
  134. package/devTools/page/components/listItem/networkItem.vue +398 -0
  135. package/devTools/page/components/listItem/objectAnalysis.vue +651 -0
  136. package/devTools/page/components/listItem/pages.vue +319 -0
  137. package/devTools/page/components/listItem/routeItem.vue +153 -0
  138. package/devTools/page/components/listItem/setting.vue +734 -0
  139. package/devTools/page/components/listItem/storageList.vue +681 -0
  140. package/devTools/page/components/listItem/tools.vue +315 -0
  141. package/devTools/page/components/listItem/vuexList.vue +599 -0
  142. package/devTools/page/components/main.vue +1867 -0
  143. package/devTools/page/components/mixins/animationControl.js +91 -0
  144. package/devTools/page/components/mixins/mp.js +83 -0
  145. package/devTools/page/components/ui/btnTabs.vue +90 -0
  146. package/devTools/page/components/ui/codeHisPicker.vue +172 -0
  147. package/devTools/page/components/ui/h5Cell.vue +13 -0
  148. package/devTools/page/components/ui/menuBtn.vue +94 -0
  149. package/devTools/page/components/ui/mobileSwiperScroll.vue +74 -0
  150. package/devTools/page/components/ui/requestSpeedLimit.vue +52 -0
  151. package/devTools/page/components/ui/requestTimeoutMock.vue +55 -0
  152. package/devTools/page/components/ui/subTitleBar.vue +101 -0
  153. package/devTools/page/static/copy.png +0 -0
  154. package/devTools/page/static/delete.png +0 -0
  155. package/devTools/page/static/fileSys/AI.png +0 -0
  156. package/devTools/page/static/fileSys/DWG.png +0 -0
  157. package/devTools/page/static/fileSys/EXE.png +0 -0
  158. package/devTools/page/static/fileSys/GIF.png +0 -0
  159. package/devTools/page/static/fileSys/HTML.png +0 -0
  160. package/devTools/page/static/fileSys/PSD.png +0 -0
  161. package/devTools/page/static/fileSys/RVT.png +0 -0
  162. package/devTools/page/static/fileSys/SKP.png +0 -0
  163. package/devTools/page/static/fileSys/SVG.png +0 -0
  164. package/devTools/page/static/fileSys/excel.png +0 -0
  165. package/devTools/page/static/fileSys/pdf.png +0 -0
  166. package/devTools/page/static/fileSys/pptl.png +0 -0
  167. package/devTools/page/static/fileSys/shipin.png +0 -0
  168. package/devTools/page/static/fileSys/tupian.png +0 -0
  169. package/devTools/page/static/fileSys/txt.png +0 -0
  170. package/devTools/page/static/fileSys/weizhiwenjian.png +0 -0
  171. package/devTools/page/static/fileSys/wenjianjia.png +0 -0
  172. package/devTools/page/static/fileSys/word.png +0 -0
  173. package/devTools/page/static/fileSys/yasuo.png +0 -0
  174. package/devTools/page/static/fileSys/yinpin.png +0 -0
  175. package/devTools/page/static/fold.png +0 -0
  176. package/devTools/page/static/menu.png +0 -0
  177. package/devTools/page/static/refresh.png +0 -0
  178. package/devTools/page/static/unfold.png +0 -0
  179. package/devTools/tools.vue +25 -0
  180. package/devTools/type/devTools.d.ts +406 -0
  181. package/oxy-dev-tools/components/DevToolsUiHost.vue +555 -0
  182. package/oxy-dev-tools/config.js +61 -0
  183. package/oxy-dev-tools/core/components/mpDevBubble.vue +176 -0
  184. package/oxy-dev-tools/core/libs/createH5Bubble.js +156 -0
  185. package/oxy-dev-tools/core/libs/devCache.js +149 -0
  186. package/oxy-dev-tools/core/libs/devOptions.js +160 -0
  187. package/oxy-dev-tools/core/libs/devUi.js +219 -0
  188. package/oxy-dev-tools/core/libs/drawView.js +144 -0
  189. package/oxy-dev-tools/core/libs/errorReport.js +60 -0
  190. package/oxy-dev-tools/core/libs/jsonCompress.js +328 -0
  191. package/oxy-dev-tools/core/libs/logReport.js +55 -0
  192. package/oxy-dev-tools/core/libs/pageLinkList.js +121 -0
  193. package/oxy-dev-tools/core/libs/timeFormat.js +93 -0
  194. package/oxy-dev-tools/core/proxy/console.js +398 -0
  195. package/oxy-dev-tools/core/proxy/index.js +33 -0
  196. package/oxy-dev-tools/core/proxy/request.js +473 -0
  197. package/oxy-dev-tools/core/proxy/storage.js +96 -0
  198. package/oxy-dev-tools/core/proxy/uniBus.js +148 -0
  199. package/oxy-dev-tools/core/proxy/uniListen.js +190 -0
  200. package/oxy-dev-tools/core/proxy/vueMixin.js +115 -0
  201. package/oxy-dev-tools/index.ts +183 -0
  202. package/oxy-dev-tools/oxy-dev-tools.vue +62 -0
  203. package/oxy-dev-tools/page/components/bottomTools.vue +933 -0
  204. package/oxy-dev-tools/page/components/dialog/addStorage.vue +184 -0
  205. package/oxy-dev-tools/page/components/dialog/createDir.vue +352 -0
  206. package/oxy-dev-tools/page/components/dialog/editDialog.vue +178 -0
  207. package/oxy-dev-tools/page/components/dialog/routeDialog.vue +170 -0
  208. package/oxy-dev-tools/page/components/dialog/sendRequest.vue +530 -0
  209. package/oxy-dev-tools/page/components/dialog/textFileEditDialog.vue +379 -0
  210. package/oxy-dev-tools/page/components/libs/appDelDir.js +77 -0
  211. package/oxy-dev-tools/page/components/libs/dirReader.js +239 -0
  212. package/oxy-dev-tools/page/components/libs/fileSize.js +15 -0
  213. package/oxy-dev-tools/page/components/libs/getRuntimeInfo.js +132 -0
  214. package/oxy-dev-tools/page/components/listItem/consoleItem.vue +292 -0
  215. package/oxy-dev-tools/page/components/listItem/errorItem.vue +268 -0
  216. package/oxy-dev-tools/page/components/listItem/fileSysItem.vue +511 -0
  217. package/oxy-dev-tools/page/components/listItem/infoList.vue +89 -0
  218. package/oxy-dev-tools/page/components/listItem/jsRunnerItem.vue +236 -0
  219. package/oxy-dev-tools/page/components/listItem/logItem.vue +185 -0
  220. package/oxy-dev-tools/page/components/listItem/networkItem.vue +362 -0
  221. package/oxy-dev-tools/page/components/listItem/objectAnalysis.vue +642 -0
  222. package/oxy-dev-tools/page/components/listItem/pages.vue +285 -0
  223. package/oxy-dev-tools/page/components/listItem/routeItem.vue +140 -0
  224. package/oxy-dev-tools/page/components/listItem/setting.vue +687 -0
  225. package/oxy-dev-tools/page/components/listItem/storageList.vue +623 -0
  226. package/oxy-dev-tools/page/components/listItem/tools.vue +273 -0
  227. package/oxy-dev-tools/page/components/listItem/vuexList.vue +559 -0
  228. package/oxy-dev-tools/page/components/main.vue +1824 -0
  229. package/oxy-dev-tools/page/components/mixins/animationControl.js +80 -0
  230. package/oxy-dev-tools/page/components/mixins/mp.js +76 -0
  231. package/oxy-dev-tools/page/components/ui/btnTabs.vue +77 -0
  232. package/oxy-dev-tools/page/components/ui/codeHisPicker.vue +161 -0
  233. package/oxy-dev-tools/page/components/ui/h5Cell.vue +13 -0
  234. package/oxy-dev-tools/page/components/ui/menuBtn.vue +87 -0
  235. package/oxy-dev-tools/page/components/ui/mobileSwiperScroll.vue +71 -0
  236. package/oxy-dev-tools/page/components/ui/requestSpeedLimit.vue +47 -0
  237. package/oxy-dev-tools/page/components/ui/requestTimeoutMock.vue +50 -0
  238. package/oxy-dev-tools/page/components/ui/subTitleBar.vue +87 -0
  239. package/oxy-dev-tools/page/static/copy.png +0 -0
  240. package/oxy-dev-tools/page/static/delete.png +0 -0
  241. package/oxy-dev-tools/page/static/fileSys/AI.png +0 -0
  242. package/oxy-dev-tools/page/static/fileSys/DWG.png +0 -0
  243. package/oxy-dev-tools/page/static/fileSys/EXE.png +0 -0
  244. package/oxy-dev-tools/page/static/fileSys/GIF.png +0 -0
  245. package/oxy-dev-tools/page/static/fileSys/HTML.png +0 -0
  246. package/oxy-dev-tools/page/static/fileSys/PSD.png +0 -0
  247. package/oxy-dev-tools/page/static/fileSys/RVT.png +0 -0
  248. package/oxy-dev-tools/page/static/fileSys/SKP.png +0 -0
  249. package/oxy-dev-tools/page/static/fileSys/SVG.png +0 -0
  250. package/oxy-dev-tools/page/static/fileSys/excel.png +0 -0
  251. package/oxy-dev-tools/page/static/fileSys/pdf.png +0 -0
  252. package/oxy-dev-tools/page/static/fileSys/pptl.png +0 -0
  253. package/oxy-dev-tools/page/static/fileSys/shipin.png +0 -0
  254. package/oxy-dev-tools/page/static/fileSys/tupian.png +0 -0
  255. package/oxy-dev-tools/page/static/fileSys/txt.png +0 -0
  256. package/oxy-dev-tools/page/static/fileSys/weizhiwenjian.png +0 -0
  257. package/oxy-dev-tools/page/static/fileSys/wenjianjia.png +0 -0
  258. package/oxy-dev-tools/page/static/fileSys/word.png +0 -0
  259. package/oxy-dev-tools/page/static/fileSys/yasuo.png +0 -0
  260. package/oxy-dev-tools/page/static/fileSys/yinpin.png +0 -0
  261. package/oxy-dev-tools/page/static/fold.png +0 -0
  262. package/oxy-dev-tools/page/static/menu.png +0 -0
  263. package/oxy-dev-tools/page/static/refresh.png +0 -0
  264. package/oxy-dev-tools/page/static/unfold.png +0 -0
  265. package/oxy-dev-tools/tools.vue +22 -0
  266. package/oxy-dev-tools/type/devTools.d.ts +406 -0
  267. package/package.json +1 -1
  268. package/tags.json +1 -1
  269. package/web-types.json +1 -1
@@ -0,0 +1,362 @@
1
+ <template>
2
+ <view class="networkItem" :class="['type-' + item.type]">
3
+ <view class="card">
4
+ <view class="content">
5
+ <view class="head">
6
+ <view class="method" :class="'type-' + item.method">
7
+ <text class="methodText" :class="'type-' + item.method">
8
+ {{ item.method }}
9
+ </text>
10
+ </view>
11
+ <view class="path">
12
+ <text class="pageText">{{ getPath(item.url) }}</text>
13
+ </view>
14
+ </view>
15
+ <objectAnalysis :data="getItem(item)" :width="670" />
16
+ <view class="msgBar">
17
+ <text class="status" :class="'s-' + item.type">
18
+ {{ getTypeName(item.type) }}
19
+ </text>
20
+ <text class="time" :style="{ color: getTimeColor }">{{ item.useTime }}s</text>
21
+ <text class="data">
22
+ {{ item.date }}
23
+ </text>
24
+ <text v-if="item.type == 1" class="size" :style="{ color: getSizeColor }">
25
+ {{ getByteSize }}
26
+ </text>
27
+ </view>
28
+ <view class="actionBar">
29
+ <view class="actionBtn" @click.stop="$emit('goSendRequest', item)">
30
+ <text class="actionText">重发</text>
31
+ </view>
32
+ <view class="actionBtn" @click.stop="$emit('goOpenRequest', item)">
33
+ <text class="actionText">编辑</text>
34
+ </view>
35
+ <view class="actionBtn" @click.stop="copyItem">
36
+ <text class="actionText">复制</text>
37
+ </view>
38
+ <view class="actionBtn more" @click.stop="openMenu">
39
+ <text class="actionText">更多</text>
40
+ </view>
41
+ </view>
42
+ </view>
43
+ </view>
44
+ </view>
45
+ </template>
46
+ <script>
47
+ import objectAnalysis from './objectAnalysis.vue'
48
+ import devUi from '../../../core/libs/devUi.js'
49
+ export default {
50
+ components: {
51
+ objectAnalysis
52
+ },
53
+ props: {
54
+ /**
55
+ * console单行数据
56
+ */
57
+ item: {
58
+ type: Object,
59
+ default() {
60
+ return {
61
+ id: 0, //请求id
62
+ type: 0, // 0发起请求中 1请求成功 2请求失败
63
+ date: '', //请求日期
64
+ sendTime: 0, //发送请求的时间
65
+ responseTime: 0, //响应时间
66
+ useTime: 0, //请求总耗时
67
+
68
+ url: '', //请求地址
69
+ header: '', //请求头
70
+ method: 'get', //请求方式
71
+ data: '', //请求参数
72
+
73
+ responseBody: '', //响应主体
74
+ responseHeader: '', //响应头
75
+ responseStatus: '', //响应编码
76
+ responseMsg: '', //响应报错信息
77
+ responseBodySize: 0 //请求主体大小
78
+ }
79
+ }
80
+ }
81
+ },
82
+ computed: {
83
+ /**
84
+ * 获取请求时间的颜色
85
+ */
86
+ getTimeColor() {
87
+ if (this.item.useTime == 0) {
88
+ return '#eeeeee'
89
+ } else if (this.item.useTime > 3) {
90
+ return '#fa3534'
91
+ } else if (this.item.useTime > 1) {
92
+ return '#ff9900'
93
+ } else {
94
+ return '#909399'
95
+ }
96
+ },
97
+ /**
98
+ * 获取字节大小,b转kb mb
99
+ */
100
+ getByteSize() {
101
+ let size = Number(this.item.responseBodySize)
102
+ if (null == size || size == '') return '0.00 KB'
103
+ var unitArr = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']
104
+ var index = 0
105
+ var srcsize = parseFloat(size)
106
+ index = Math.floor(Math.log(srcsize) / Math.log(1024))
107
+ size = srcsize / Math.pow(1024, index)
108
+ size = size.toFixed(2) //保留的小数位数
109
+ if (Number(this.item.responseBodySize) < 1024) {
110
+ return (size / 1000).toFixed(2) + 'KB'
111
+ }
112
+ return size + unitArr[index]
113
+ },
114
+ /**
115
+ * 获取响应大小的颜色
116
+ */
117
+ getSizeColor() {
118
+ let size = this.item.responseBodySize
119
+ if (size == 0) {
120
+ return '#fa3534'
121
+ } else if (size > 256 * 1024) {
122
+ return '#ff9900'
123
+ } else if (size > 1024 * 1024) {
124
+ return '#fa3534'
125
+ } else {
126
+ return '#909399'
127
+ }
128
+ }
129
+ },
130
+ methods: {
131
+ /**
132
+ * 通过url获取路径
133
+ */
134
+ getPath(url) {
135
+ if (!url) return '无'
136
+ function getPathFromUrl(url) {
137
+ const pathStart = url.indexOf('//') + 2
138
+ const pathEnd = url.indexOf('?', pathStart) >= 0 ? url.indexOf('?', pathStart) : url.length
139
+ return url.substring(url.indexOf('/', pathStart), pathEnd)
140
+ }
141
+ return getPathFromUrl(url)
142
+ },
143
+ /**
144
+ * 获取请求类型名称
145
+ */
146
+ getTypeName(type) {
147
+ return ['请求中...', '请求完成', '请求失败'][Number(type)]
148
+ },
149
+ /**
150
+ * 精简item
151
+ */
152
+ getItem(item) {
153
+ return {
154
+ data: item.data,
155
+ responseMsg: item.responseMsg,
156
+ responseStatus: item.responseStatus,
157
+ method: item.method,
158
+ url: item.url,
159
+ header: item.header,
160
+ responseBody: item.responseBody,
161
+ responseHeader: item.responseHeader,
162
+ responseBodySize: this.getByteSize
163
+ }
164
+ },
165
+ copyItem() {
166
+ this.copyToClipboard(JSON.stringify(this.item))
167
+ },
168
+ copyToClipboard(data) {
169
+ uni.setClipboardData({
170
+ data,
171
+ success: () => {
172
+ devUi.showToast({
173
+ title: '复制成功',
174
+ icon: 'success'
175
+ })
176
+ }
177
+ })
178
+ },
179
+ /**
180
+ * 更多菜单
181
+ */
182
+ openMenu() {
183
+ let that = this
184
+
185
+ let menu = [
186
+ {
187
+ text: '重发此请求',
188
+ click() {
189
+ that.$emit('goSendRequest', that.item)
190
+ }
191
+ },
192
+ {
193
+ text: '复制请求日志信息',
194
+ click() {
195
+ that.copyToClipboard(JSON.stringify(that.item))
196
+ }
197
+ },
198
+ {
199
+ text: '在请求构建工具中打开',
200
+ click() {
201
+ that.$emit('goOpenRequest', that.item)
202
+ }
203
+ },
204
+ {
205
+ text: '删除此记录',
206
+ click() {
207
+ uni.$emit('devTools_delNetworkItemById', that.item.id)
208
+ devUi.showToast({
209
+ title: '删除成功!',
210
+ icon: 'success'
211
+ })
212
+ }
213
+ }
214
+ ]
215
+
216
+ devUi.showActionSheet({
217
+ itemList: menu.map((x) => x.text),
218
+ success({ tapIndex }) {
219
+ menu[tapIndex].click()
220
+ }
221
+ })
222
+ }
223
+ }
224
+ }
225
+ </script>
226
+ <style lang="scss" scoped>
227
+ .networkItem {
228
+ width: 100%;
229
+ box-sizing: border-box;
230
+ padding: 10rpx 20rpx;
231
+ .card {
232
+ width: 100%;
233
+ box-sizing: border-box;
234
+ border-radius: 16rpx;
235
+ padding: 14rpx 16rpx 12rpx;
236
+ border: 1px solid rgba(148, 163, 184, 0.22);
237
+ background: #fff;
238
+ box-shadow: 0 4rpx 16rpx rgba(15, 23, 42, 0.05);
239
+ }
240
+ &.type-0 .card {
241
+ border-color: rgba(245, 158, 11, 0.4);
242
+ background: #fffbf2;
243
+ }
244
+ &.type-2 .card {
245
+ border-color: rgba(239, 68, 68, 0.36);
246
+ background: #fff5f5;
247
+ }
248
+ .content {
249
+ display: flex;
250
+ flex-direction: column;
251
+ gap: 8rpx;
252
+ .head {
253
+ display: flex;
254
+ flex-direction: row;
255
+ align-items: center;
256
+ margin-bottom: 2rpx;
257
+ .method {
258
+ background-color: #eef2ff;
259
+ color: #333;
260
+ padding: 4rpx 10rpx;
261
+ border-radius: 999rpx;
262
+ &.type-get {
263
+ background-color: rgba(59, 130, 246, 0.14);
264
+ }
265
+ &.type-post {
266
+ background-color: rgba(16, 185, 129, 0.14);
267
+ }
268
+ .methodText {
269
+ color: #0f172a;
270
+ font-size: 20rpx;
271
+ line-height: 24rpx;
272
+ font-weight: 600;
273
+ }
274
+ }
275
+ .path {
276
+ flex: 1;
277
+ min-width: 0;
278
+ lines: 1;
279
+ margin-left: 10rpx;
280
+ overflow: hidden;
281
+ display: -webkit-box;
282
+ -webkit-box-orient: vertical;
283
+ -webkit-line-clamp: 1;
284
+ .pageText {
285
+ font-size: 22rpx;
286
+ color: #334155;
287
+ }
288
+ }
289
+ }
290
+ .context {
291
+ font-size: 20rpx;
292
+ color: #333;
293
+ line-height: 24rpx;
294
+ }
295
+ .msgBar {
296
+ display: flex;
297
+ flex-direction: row;
298
+ align-items: center;
299
+ flex-wrap: wrap;
300
+ gap: 10rpx;
301
+ .data {
302
+ font-size: 20rpx;
303
+ color: #64748b;
304
+ }
305
+ .time {
306
+ font-size: 20rpx;
307
+ color: #334155;
308
+ }
309
+ .size {
310
+ font-size: 20rpx;
311
+ }
312
+ .status {
313
+ font-size: 20rpx;
314
+ line-height: 28rpx;
315
+ padding: 2rpx 10rpx;
316
+ border-radius: 999rpx;
317
+ background: #f1f5f9;
318
+ &.s-0 {
319
+ color: #a16207;
320
+ background: #fef3c7;
321
+ }
322
+ &.s-1 {
323
+ color: #065f46;
324
+ background: #d1fae5;
325
+ }
326
+ &.s-2 {
327
+ color: #b91c1c;
328
+ background: #fee2e2;
329
+ }
330
+ }
331
+ }
332
+ .actionBar {
333
+ margin-top: 4rpx;
334
+ display: flex;
335
+ flex-direction: row;
336
+ justify-content: flex-end;
337
+ gap: 10rpx;
338
+ .actionBtn {
339
+ height: 42rpx;
340
+ border-radius: 999rpx;
341
+ border: 1px solid #bfdbfe;
342
+ background: #eff6ff;
343
+ padding: 0 14rpx;
344
+ display: flex;
345
+ align-items: center;
346
+ &:active {
347
+ background: #dbeafe;
348
+ }
349
+ &.more {
350
+ border-color: #cbd5e1;
351
+ background: #f8fafc;
352
+ }
353
+ .actionText {
354
+ font-size: 20rpx;
355
+ color: #1e3a8a;
356
+ line-height: 20rpx;
357
+ }
358
+ }
359
+ }
360
+ }
361
+ }
362
+ </style>