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,137 +1,194 @@
1
- <template>
2
- <view class="barrage-item" :style="itemStyle" @animationend="onAnimationEnd">
3
- <view class="barrage-content" :class="type">
4
- <view class="barrage-type-tag">
5
- {{ typeTag }}
6
- </view>
7
- <view class="barrage-text">{{ text }}</view>
8
- </view>
9
- </view>
10
- </template>
11
-
12
- <script setup lang="ts">
13
- import { computed } from 'vue';
14
-
15
- const props = defineProps<{
16
- text: string;
17
- type: string;
18
- top: number;
19
- duration: number;
20
- delay?: number; // 新增延迟属性,毫秒单位
21
- maxLength?: number;
22
- color?: string;
23
- }>();
24
-
25
- const emit = defineEmits<{
26
- (e: 'remove'): void;
27
- }>();
28
-
29
- const typeTag = computed(() => {
30
- const t = props.type.toLowerCase();
31
- if (t === 'network') return 'NET';
32
- return t.toUpperCase();
33
- });
34
-
35
- const itemStyle = computed(() => ({
36
- top: `${props.top}px`,
37
- '--barrage-duration': `${props.duration}s`,
38
- '--barrage-delay': `${props.delay || 0}ms`,
39
- '--barrage-max-width': props.maxLength ? 'none' : '300px',
40
- color: props.color || 'inherit',
41
- }));
42
-
43
- function onAnimationEnd() {
44
- emit('remove');
45
- }
46
- </script>
47
-
48
- <style scoped>
49
- .barrage-item {
50
- position: fixed;
51
- left: 100%;
52
- top: 0;
53
- white-space: nowrap;
54
- pointer-events: none;
55
- z-index: 10001;
56
- display: flex;
57
- will-change: transform;
58
- animation: barrage-move var(--barrage-duration) linear var(--barrage-delay)
59
- forwards;
60
- }
61
-
62
- .barrage-item:hover {
63
- animation-play-state: paused;
64
- z-index: 20000;
65
- }
66
-
67
- @keyframes barrage-move {
68
- from {
69
- transform: translateX(0);
70
- }
71
-
72
- to {
73
- transform: translateX(calc(-100vw - 100%));
74
- }
75
- }
76
-
77
- .barrage-content {
78
- display: flex;
79
- align-items: center;
80
- padding: 4px 12px;
81
- border-radius: 16px;
82
- background: rgb(0 0 0 / 60%);
83
- backdrop-filter: blur(4px);
84
- color: #fff;
85
- font-size: 12px;
86
- box-shadow: 0 2px 8px rgb(0 0 0 / 20%);
87
- pointer-events: auto;
88
- cursor: pointer;
89
- }
90
-
91
- /* Log & Info: 白色/中性系 */
92
- .barrage-content.log,
93
- .barrage-content.info {
94
- background: rgb(255 255 255 / 90%);
95
- color: #333;
96
- box-shadow: 0 2px 10px rgb(0 0 0 / 10%);
97
- }
98
-
99
- .barrage-content.log .barrage-type-tag,
100
- .barrage-content.info .barrage-type-tag {
101
- background: rgb(0 0 0 / 10%);
102
- }
103
-
104
- /* Warn: 黄橙色系 */
105
- .barrage-content.warn {
106
- background: rgb(180 100 0 / 75%);
107
- box-shadow: 0 0 10px rgb(255 149 0 / 30%);
108
- }
109
-
110
- /* Error & Network: 红色系 */
111
- .barrage-content.error,
112
- .barrage-content.network {
113
- background: rgb(180 30 20 / 75%);
114
- box-shadow: 0 0 10px rgb(255 59 48 / 30%);
115
- }
116
-
117
- /* Debug: 灰色系 */
118
- .barrage-content.debug {
119
- background: rgb(80 80 80 / 75%);
120
- box-shadow: 0 0 10px rgb(142 142 147 / 30%);
121
- }
122
-
123
- .barrage-type-tag {
124
- font-weight: bold;
125
- margin-right: 6px;
126
- font-size: 10px;
127
- padding: 2px 4px;
128
- background: rgb(0 0 0 / 5%);
129
- border-radius: 4px;
130
- }
131
-
132
- .barrage-text {
133
- max-width: var(--barrage-max-width, 300px);
134
- overflow: hidden;
135
- text-overflow: ellipsis;
136
- }
137
- </style>
1
+ <template>
2
+ <view class="barrage-item" :style="itemStyle" @animationend="onAnimationEnd">
3
+ <view
4
+ class="barrage-content"
5
+ :class="type"
6
+ :style="contentStyle"
7
+ @mousedown.stop="onTouchStart"
8
+ @mousemove.stop="onTouchMove"
9
+ @mouseup.stop="onTouchEnd"
10
+ @mouseleave.stop="onTouchEnd"
11
+ @touchstart.stop="onTouchStart"
12
+ @touchmove.stop.prevent="onTouchMove"
13
+ @touchend.stop="onTouchEnd"
14
+ @touchcancel.stop="onTouchEnd">
15
+ <view class="barrage-type-tag">
16
+ {{ typeTag }}
17
+ </view>
18
+ <view class="barrage-text">{{ text }}</view>
19
+ </view>
20
+ </view>
21
+ </template>
22
+
23
+ <script setup lang="ts">
24
+ import { computed, ref } from 'vue';
25
+
26
+ const props = defineProps<{
27
+ text: string;
28
+ type: string;
29
+ top: number;
30
+ duration: number;
31
+ delay?: number; // 毫秒单位
32
+ maxLength?: number;
33
+ color?: string;
34
+ allowDrag?: boolean; // 是否允许拖动
35
+ }>();
36
+
37
+ const emit = defineEmits<{
38
+ (e: 'remove'): void;
39
+ }>();
40
+
41
+ const typeTag = computed(() => {
42
+ const t = props.type.toLowerCase();
43
+ if (t === 'network') return 'NET';
44
+ return t.toUpperCase();
45
+ });
46
+
47
+ const itemStyle = computed(() => ({
48
+ top: `${props.top}px`,
49
+ '--barrage-duration': `${props.duration}s`,
50
+ '--barrage-delay': `${props.delay || 0}ms`,
51
+ '--barrage-max-width': props.maxLength ? 'none' : '300px',
52
+ color: props.color || 'inherit',
53
+ 'animation-play-state': isPaused.value ? 'paused' : 'running', // 支持触控暂停
54
+ }));
55
+
56
+ function onAnimationEnd() {
57
+ emit('remove');
58
+ }
59
+
60
+ // 触屏滑动/鼠标拖拽时暂停动画并支持拖拽
61
+ const isPaused = ref(false);
62
+ const transformOffset = ref(0);
63
+ let startX = 0;
64
+ let lastOffset = 0;
65
+
66
+ function getClientX(e: TouchEvent | MouseEvent) {
67
+ if (
68
+ typeof (e as TouchEvent).touches !== 'undefined' &&
69
+ (e as TouchEvent).touches.length > 0
70
+ ) {
71
+ return (
72
+ (e as TouchEvent).touches[0].pageX || (e as TouchEvent).touches[0].clientX
73
+ );
74
+ }
75
+ return (e as MouseEvent).pageX || (e as MouseEvent).clientX || 0;
76
+ }
77
+
78
+ function onTouchStart(e: TouchEvent | MouseEvent) {
79
+ isPaused.value = true;
80
+ if (props.allowDrag === false) return; // 不允许拖动时直接返回
81
+ startX = getClientX(e);
82
+ lastOffset = transformOffset.value;
83
+ }
84
+
85
+ function onTouchMove(e: TouchEvent | MouseEvent) {
86
+ if (props.allowDrag === false || !isPaused.value) return;
87
+ const currentX = getClientX(e);
88
+ if (currentX === 0) return; // 防止无效的移动触发跳动
89
+ const deltaX = currentX - startX;
90
+ transformOffset.value = lastOffset + deltaX;
91
+ }
92
+
93
+ function onTouchEnd() {
94
+ isPaused.value = false;
95
+ }
96
+
97
+ const contentStyle = computed(() => ({
98
+ transform: `translateX(${transformOffset.value}px)`,
99
+ }));
100
+ </script>
101
+
102
+ <style scoped>
103
+ .barrage-item {
104
+ position: fixed;
105
+ left: 100%;
106
+ top: 0;
107
+ white-space: nowrap;
108
+ pointer-events: none;
109
+ z-index: 10001;
110
+ display: flex;
111
+ will-change: transform;
112
+ animation-name: barrage-move;
113
+ animation-duration: var(--barrage-duration);
114
+ animation-timing-function: linear;
115
+ animation-delay: var(--barrage-delay);
116
+ animation-fill-mode: forwards;
117
+ }
118
+
119
+ .barrage-item:hover {
120
+ animation-play-state: paused !important;
121
+ z-index: 20000;
122
+ }
123
+
124
+ @keyframes barrage-move {
125
+ from {
126
+ transform: translateX(0);
127
+ }
128
+
129
+ to {
130
+ transform: translateX(calc(-100vw - 100%));
131
+ }
132
+ }
133
+
134
+ .barrage-content {
135
+ display: flex;
136
+ align-items: center;
137
+ padding: 4px 12px;
138
+ border-radius: 16px;
139
+ background: rgb(0 0 0 / 60%);
140
+ backdrop-filter: blur(4px);
141
+ color: #fff;
142
+ font-size: 12px;
143
+ box-shadow: 0 2px 8px rgb(0 0 0 / 20%);
144
+ pointer-events: auto;
145
+ cursor: pointer;
146
+ }
147
+
148
+ /* Log & Info: 白色/中性系 */
149
+ .barrage-content.log,
150
+ .barrage-content.info {
151
+ background: rgb(255 255 255 / 90%);
152
+ color: #333;
153
+ box-shadow: 0 2px 10px rgb(0 0 0 / 10%);
154
+ }
155
+
156
+ .barrage-content.log .barrage-type-tag,
157
+ .barrage-content.info .barrage-type-tag {
158
+ background: rgb(0 0 0 / 10%);
159
+ }
160
+
161
+ /* Warn: 黄橙色系 */
162
+ .barrage-content.warn {
163
+ background: rgb(180 100 0 / 75%);
164
+ box-shadow: 0 0 10px rgb(255 149 0 / 30%);
165
+ }
166
+
167
+ /* Error & Network: 红色系 */
168
+ .barrage-content.error,
169
+ .barrage-content.network {
170
+ background: rgb(180 30 20 / 75%);
171
+ box-shadow: 0 0 10px rgb(255 59 48 / 30%);
172
+ }
173
+
174
+ /* Debug: 灰色系 */
175
+ .barrage-content.debug {
176
+ background: rgb(80 80 80 / 75%);
177
+ box-shadow: 0 0 10px rgb(142 142 147 / 30%);
178
+ }
179
+
180
+ .barrage-type-tag {
181
+ font-weight: bold;
182
+ margin-right: 6px;
183
+ font-size: 10px;
184
+ padding: 2px 4px;
185
+ background: rgb(0 0 0 / 5%);
186
+ border-radius: 4px;
187
+ flex-shrink: 0; /* 保证标签不被压缩 */
188
+ }
189
+
190
+ /* 移除截断,使其完整展示,通过滑动外面来查看 */
191
+ .barrage-text {
192
+ white-space: nowrap;
193
+ }
194
+ </style>