stellar-ui-plus 1.25.1 → 1.25.3

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 (253) hide show
  1. package/components/ste-animate/ATTRIBUTES.md +13 -5
  2. package/components/ste-animate/README.md +4 -28
  3. package/components/ste-animate/ste-animate.easycom.json +31 -9
  4. package/components/ste-app-update/ATTRIBUTES.md +11 -5
  5. package/components/ste-app-update/README.md +1 -3
  6. package/components/ste-app-update/method.ts +44 -1
  7. package/components/ste-app-update/props.ts +17 -2
  8. package/components/ste-app-update/ste-app-update.easycom.json +18 -8
  9. package/components/ste-app-update/ste-app-update.vue +93 -18
  10. package/components/ste-area-chart/ATTRIBUTES.md +3 -1
  11. package/components/ste-area-chart/README.md +21 -4
  12. package/components/ste-area-chart/ste-area-chart.vue +33 -1
  13. package/components/ste-badge/ATTRIBUTES.md +10 -1
  14. package/components/ste-badge/README.md +9 -18
  15. package/components/ste-badge/ste-badge.easycom.json +8 -0
  16. package/components/ste-bar-chart/ATTRIBUTES.md +3 -1
  17. package/components/ste-bar-chart/README.md +20 -5
  18. package/components/ste-bar-chart/ste-bar-chart.vue +34 -1
  19. package/components/ste-barcode/ATTRIBUTES.md +6 -2
  20. package/components/ste-barcode/README.md +3 -5
  21. package/components/ste-barcode/ste-barcode.easycom.json +1 -2
  22. package/components/ste-button/ATTRIBUTES.md +24 -14
  23. package/components/ste-button/README.md +11 -19
  24. package/components/ste-button/ste-button.easycom.json +76 -12
  25. package/components/ste-calendar/ATTRIBUTES.md +12 -2
  26. package/components/ste-calendar/README.md +16 -24
  27. package/components/ste-calendar/ste-calendar.easycom.json +4 -3
  28. package/components/ste-category/ATTRIBUTES.md +6 -2
  29. package/components/ste-category/README.md +2 -4
  30. package/components/ste-category/ste-category.easycom.json +1 -2
  31. package/components/ste-checkbox/ATTRIBUTES.md +6 -2
  32. package/components/ste-checkbox/README.md +18 -20
  33. package/components/ste-checkbox/ste-checkbox.easycom.json +1 -3
  34. package/components/ste-checkbox/ste-checkbox.vue +71 -80
  35. package/components/ste-code-input/ATTRIBUTES.md +8 -4
  36. package/components/ste-code-input/README.md +7 -9
  37. package/components/ste-code-input/ste-code-input.easycom.json +13 -4
  38. package/components/ste-column-chart/ATTRIBUTES.md +3 -1
  39. package/components/ste-column-chart/README.md +22 -7
  40. package/components/ste-column-chart/ste-column-chart.vue +34 -1
  41. package/components/ste-comment/ATTRIBUTES.md +3 -1
  42. package/components/ste-comment/README.md +2 -4
  43. package/components/ste-coupon-list/ATTRIBUTES.md +15 -5
  44. package/components/ste-coupon-list/README.md +6 -14
  45. package/components/ste-coupon-list/ste-coupon-list.easycom.json +22 -3
  46. package/components/ste-custom-keyboard/ATTRIBUTES.md +16 -7
  47. package/components/ste-custom-keyboard/README.md +10 -18
  48. package/components/ste-custom-keyboard/ste-custom-keyboard.easycom.json +28 -10
  49. package/components/ste-date-picker/ATTRIBUTES.md +9 -5
  50. package/components/ste-date-picker/README.md +9 -11
  51. package/components/ste-date-picker/ste-date-picker.easycom.json +19 -4
  52. package/components/ste-date-user/ATTRIBUTES.md +9 -1
  53. package/components/ste-date-user/README.md +3 -11
  54. package/components/ste-date-user/ste-date-user.easycom.json +4 -0
  55. package/components/ste-drag/ATTRIBUTES.md +13 -3
  56. package/components/ste-drag/README.md +5 -13
  57. package/components/ste-drag/ste-drag.easycom.json +10 -2
  58. package/components/ste-drag-sort/ATTRIBUTES.md +25 -0
  59. package/components/ste-drag-sort/README.md +116 -0
  60. package/components/ste-drag-sort/config.json +5 -0
  61. package/components/ste-drag-sort/props.ts +16 -0
  62. package/components/ste-drag-sort/ste-drag-sort.easycom.json +88 -0
  63. package/components/ste-drag-sort/ste-drag-sort.vue +589 -0
  64. package/components/ste-dropdown-menu/ATTRIBUTES.md +8 -4
  65. package/components/ste-dropdown-menu/README.md +14 -16
  66. package/components/ste-dropdown-menu/ste-dropdown-menu.easycom.json +13 -4
  67. package/components/ste-filter-tool/ATTRIBUTES.md +6 -2
  68. package/components/ste-filter-tool/README.md +4 -6
  69. package/components/ste-filter-tool/ste-filter-tool.easycom.json +1 -5
  70. package/components/ste-function-list/ATTRIBUTES.md +13 -2
  71. package/components/ste-function-list/README.md +3 -12
  72. package/components/ste-function-list/ste-function-list.easycom.json +8 -3
  73. package/components/ste-funnel-chart/ATTRIBUTES.md +3 -1
  74. package/components/ste-funnel-chart/README.md +21 -6
  75. package/components/ste-funnel-chart/ste-funnel-chart.vue +34 -1
  76. package/components/ste-goods-info/ATTRIBUTES.md +15 -4
  77. package/components/ste-goods-info/README.md +8 -17
  78. package/components/ste-goods-info/ste-goods-info.easycom.json +40 -13
  79. package/components/ste-goods-list/ATTRIBUTES.md +9 -1
  80. package/components/ste-goods-list/README.md +4 -12
  81. package/components/ste-goods-list/ste-goods-list.easycom.json +4 -0
  82. package/components/ste-guide-qa/ATTRIBUTES.md +15 -4
  83. package/components/ste-guide-qa/README.md +6 -15
  84. package/components/ste-guide-qa/ste-guide-qa.easycom.json +20 -2
  85. package/components/ste-icon/ATTRIBUTES.md +7 -3
  86. package/components/ste-icon/README.md +5 -7
  87. package/components/ste-icon/ste-icon.easycom.json +7 -2
  88. package/components/ste-image/ATTRIBUTES.md +13 -2
  89. package/components/ste-image/README.md +6 -15
  90. package/components/ste-image/ste-image.easycom.json +8 -3
  91. package/components/ste-index-list/ATTRIBUTES.md +8 -4
  92. package/components/ste-index-list/README.md +6 -8
  93. package/components/ste-index-list/ste-index-list.easycom.json +13 -3
  94. package/components/ste-input/ATTRIBUTES.md +14 -3
  95. package/components/ste-input/README.md +16 -25
  96. package/components/ste-input/ste-input.easycom.json +14 -5
  97. package/components/ste-line-chart/ATTRIBUTES.md +3 -1
  98. package/components/ste-line-chart/README.md +22 -7
  99. package/components/ste-line-chart/ste-line-chart.vue +34 -1
  100. package/components/ste-loading/ATTRIBUTES.md +3 -1
  101. package/components/ste-loading/README.md +6 -8
  102. package/components/ste-login/ATTRIBUTES.md +12 -2
  103. package/components/ste-login/README.md +7 -15
  104. package/components/ste-login/ste-login.easycom.json +4 -7
  105. package/components/ste-login-info/ATTRIBUTES.md +6 -2
  106. package/components/ste-login-info/README.md +2 -4
  107. package/components/ste-login-info/ste-login-info.easycom.json +1 -4
  108. package/components/ste-marquee/ATTRIBUTES.md +44 -0
  109. package/components/ste-marquee/README.md +123 -0
  110. package/components/ste-marquee/config.json +5 -0
  111. package/components/ste-marquee/props.ts +106 -0
  112. package/components/ste-marquee/ste-marquee.easycom.json +132 -0
  113. package/components/ste-marquee/ste-marquee.vue +249 -0
  114. package/components/ste-media-preview/ATTRIBUTES.md +14 -4
  115. package/components/ste-media-preview/README.md +23 -32
  116. package/components/ste-media-preview/ste-media-preview.easycom.json +16 -4
  117. package/components/ste-message-box/ATTRIBUTES.md +3 -1
  118. package/components/ste-message-box/README.md +11 -13
  119. package/components/ste-navbar/ATTRIBUTES.md +13 -3
  120. package/components/ste-navbar/README.md +5 -13
  121. package/components/ste-navbar/ste-navbar.easycom.json +10 -1
  122. package/components/ste-notice-bar/ATTRIBUTES.md +16 -5
  123. package/components/ste-notice-bar/README.md +11 -20
  124. package/components/ste-notice-bar/ste-notice-bar.easycom.json +26 -3
  125. package/components/ste-number-keyboard/ATTRIBUTES.md +17 -7
  126. package/components/ste-number-keyboard/README.md +9 -18
  127. package/components/ste-number-keyboard/ste-number-keyboard.easycom.json +32 -9
  128. package/components/ste-order-card/ATTRIBUTES.md +6 -2
  129. package/components/ste-order-card/README.md +4 -6
  130. package/components/ste-order-card/ste-order-card.easycom.json +1 -4
  131. package/components/ste-pie-chart/ATTRIBUTES.md +3 -1
  132. package/components/ste-pie-chart/README.md +21 -6
  133. package/components/ste-pie-chart/ste-pie-chart.vue +34 -1
  134. package/components/ste-popup/ATTRIBUTES.md +15 -5
  135. package/components/ste-popup/README.md +10 -18
  136. package/components/ste-popup/ste-popup.easycom.json +22 -4
  137. package/components/ste-price/ATTRIBUTES.md +7 -3
  138. package/components/ste-price/README.md +10 -12
  139. package/components/ste-price/ste-price.easycom.json +7 -2
  140. package/components/ste-progress/ATTRIBUTES.md +9 -1
  141. package/components/ste-progress/README.md +9 -17
  142. package/components/ste-progress/ste-progress.easycom.json +4 -0
  143. package/components/ste-qrcode/ATTRIBUTES.md +6 -2
  144. package/components/ste-qrcode/README.md +4 -6
  145. package/components/ste-qrcode/ste-qrcode.easycom.json +1 -2
  146. package/components/ste-radio/ATTRIBUTES.md +6 -2
  147. package/components/ste-radio/README.md +17 -19
  148. package/components/ste-radio/ste-radio.easycom.json +1 -3
  149. package/components/ste-radio/ste-radio.vue +109 -85
  150. package/components/ste-rate/ATTRIBUTES.md +7 -3
  151. package/components/ste-rate/README.md +8 -10
  152. package/components/ste-rate/ste-rate.easycom.json +7 -2
  153. package/components/ste-read-more/ATTRIBUTES.md +20 -4
  154. package/components/ste-read-more/README.md +5 -19
  155. package/components/ste-read-more/ste-read-more.easycom.json +20 -2
  156. package/components/ste-rich-text/ATTRIBUTES.md +3 -1
  157. package/components/ste-rich-text/README.md +2 -4
  158. package/components/ste-ring-chart/ATTRIBUTES.md +3 -1
  159. package/components/ste-ring-chart/README.md +22 -5
  160. package/components/ste-ring-chart/ste-ring-chart.vue +33 -1
  161. package/components/ste-scroll-to/ATTRIBUTES.md +7 -3
  162. package/components/ste-scroll-to/README.md +2 -4
  163. package/components/ste-scroll-to/ste-scroll-to.easycom.json +7 -2
  164. package/components/ste-search/ATTRIBUTES.md +14 -3
  165. package/components/ste-search/README.md +12 -21
  166. package/components/ste-search/ste-search.easycom.json +14 -7
  167. package/components/ste-search-box/ATTRIBUTES.md +6 -2
  168. package/components/ste-search-box/README.md +3 -5
  169. package/components/ste-search-box/ste-search-box.easycom.json +1 -3
  170. package/components/ste-select/ATTRIBUTES.md +9 -5
  171. package/components/ste-select/README.md +11 -11
  172. package/components/ste-select/ste-select.easycom.json +19 -6
  173. package/components/ste-select-seat/ATTRIBUTES.md +8 -4
  174. package/components/ste-select-seat/README.md +7 -21
  175. package/components/ste-select-seat/ste-select-seat.easycom.json +13 -3
  176. package/components/ste-signature/ATTRIBUTES.md +18 -5
  177. package/components/ste-signature/README.md +3 -14
  178. package/components/ste-signature/ste-signature.easycom.json +50 -3
  179. package/components/ste-simple-calendar/ATTRIBUTES.md +16 -4
  180. package/components/ste-simple-calendar/README.md +8 -18
  181. package/components/ste-simple-calendar/ste-simple-calendar.easycom.json +30 -2
  182. package/components/ste-skeleton/ATTRIBUTES.md +9 -1
  183. package/components/ste-skeleton/README.md +5 -13
  184. package/components/ste-skeleton/ste-skeleton.easycom.json +4 -0
  185. package/components/ste-slide-verify/ATTRIBUTES.md +16 -5
  186. package/components/ste-slide-verify/README.md +7 -16
  187. package/components/ste-slide-verify/ste-slide-verify.easycom.json +26 -3
  188. package/components/ste-slider/ATTRIBUTES.md +14 -2
  189. package/components/ste-slider/README.md +11 -21
  190. package/components/ste-slider/ste-slider.easycom.json +12 -4
  191. package/components/ste-stepper/ATTRIBUTES.md +9 -5
  192. package/components/ste-stepper/README.md +9 -13
  193. package/components/ste-stepper/ste-stepper.easycom.json +19 -6
  194. package/components/ste-steps/ATTRIBUTES.md +6 -2
  195. package/components/ste-steps/README.md +9 -11
  196. package/components/ste-steps/ste-steps.easycom.json +1 -2
  197. package/components/ste-sticky/ATTRIBUTES.md +8 -4
  198. package/components/ste-sticky/README.md +2 -4
  199. package/components/ste-sticky/ste-sticky.easycom.json +13 -3
  200. package/components/ste-swipe-action/ATTRIBUTES.md +14 -3
  201. package/components/ste-swipe-action/README.md +9 -18
  202. package/components/ste-swipe-action/ste-swipe-action.easycom.json +20 -2
  203. package/components/ste-swipe-action/useData.ts +15 -8
  204. package/components/ste-swipe-action-group/ATTRIBUTES.md +6 -2
  205. package/components/ste-swipe-action-group/ste-swipe-action-group.easycom.json +1 -3
  206. package/components/ste-swiper/ATTRIBUTES.md +6 -2
  207. package/components/ste-swiper/README.md +12 -14
  208. package/components/ste-swiper/ste-swiper.easycom.json +1 -3
  209. package/components/ste-switch/ATTRIBUTES.md +8 -4
  210. package/components/ste-switch/README.md +7 -9
  211. package/components/ste-switch/ste-switch.easycom.json +13 -3
  212. package/components/ste-tab/ATTRIBUTES.md +3 -1
  213. package/components/ste-table/ATTRIBUTES.md +12 -8
  214. package/components/ste-table/README.md +23 -23
  215. package/components/ste-table/ste-table.easycom.json +38 -9
  216. package/components/ste-tabs/ATTRIBUTES.md +9 -4
  217. package/components/ste-tabs/README.md +4 -6
  218. package/components/ste-tabs/props.ts +3 -0
  219. package/components/ste-tabs/ste-tabs.easycom.json +18 -2
  220. package/components/ste-tabs/useData.ts +1 -1
  221. package/components/ste-text/ATTRIBUTES.md +9 -1
  222. package/components/ste-text/README.md +4 -12
  223. package/components/ste-text/ste-text.easycom.json +4 -0
  224. package/components/ste-toast/ATTRIBUTES.md +10 -1
  225. package/components/ste-toast/README.md +9 -18
  226. package/components/ste-toast/ste-toast.easycom.json +14 -0
  227. package/components/ste-touch-swipe/ATTRIBUTES.md +6 -2
  228. package/components/ste-touch-swipe/README.md +4 -6
  229. package/components/ste-touch-swipe/ste-touch-swipe.easycom.json +1 -2
  230. package/components/ste-tour/ATTRIBUTES.md +7 -3
  231. package/components/ste-tour/README.md +5 -7
  232. package/components/ste-tour/ste-tour.easycom.json +11 -4
  233. package/components/ste-tree/ATTRIBUTES.md +15 -2
  234. package/components/ste-tree/README.md +6 -17
  235. package/components/ste-tree/ste-tree.easycom.json +16 -4
  236. package/components/ste-upload/ATTRIBUTES.md +17 -5
  237. package/components/ste-upload/README.md +9 -20
  238. package/components/ste-upload/ste-upload.easycom.json +36 -9
  239. package/components/ste-user-info/ATTRIBUTES.md +15 -5
  240. package/components/ste-user-info/README.md +5 -13
  241. package/components/ste-user-info/ste-user-info.easycom.json +22 -4
  242. package/components/ste-video/ATTRIBUTES.md +3 -1
  243. package/components/ste-video/README.md +4 -8
  244. package/components/ste-watermark/ATTRIBUTES.md +3 -1
  245. package/components/ste-watermark/README.md +5 -7
  246. package/config/font-size.ts +3 -0
  247. package/config/index.ts +5 -0
  248. package/index.ts +4 -0
  249. package/package.json +1 -1
  250. package/types/components.d.ts +4 -0
  251. package/types/refComponents.d.ts +4 -0
  252. package/utils/System.ts +50 -15
  253. package/utils/mixin.ts +4 -3
@@ -1,4 +1,6 @@
1
- #### Props
1
+ ## API
2
+
3
+ ### Props
2
4
  | 属性名 | 说明 | 类型 | 默认值 | 可选值 | 支持版本 |
3
5
  | ----- | ----- | --- | ------- | ------ | -------- |
4
6
  | `width` | 水印的宽度, content 的默认值是它自己的宽度 | `number` | `120` | - | `v1.18.3` |
@@ -4,9 +4,9 @@
4
4
 
5
5
  ---$
6
6
 
7
- ### 代码演示
7
+ ## 代码演示
8
8
 
9
- #### 基础用法
9
+ ## 基础用法
10
10
 
11
11
  默认水印会覆盖整个页面,若想局部使用可配置`fullPage`属性
12
12
 
@@ -16,7 +16,7 @@
16
16
  </template>
17
17
  ```
18
18
 
19
- #### 多行水印
19
+ ## 多行水印
20
20
 
21
21
  使用 "content" 设置一个字符串数组来指定多行文本水印内容
22
22
 
@@ -28,7 +28,7 @@
28
28
  </template>
29
29
  ```
30
30
 
31
- #### 图片水印
31
+ ## 图片水印
32
32
 
33
33
  通过 'image' 指定图像地址。 为了确保图像清晰展示而不是被拉伸,请设置宽度和高度,建议使用至少两倍的宽度和高度的图片来保证显示效果。
34
34
 
@@ -42,11 +42,9 @@
42
42
 
43
43
  ---$
44
44
 
45
- ### API
46
-
47
45
  <!-- props -->
48
46
 
49
- #### Font Props
47
+ ## Font Props
50
48
 
51
49
  | 属性名 | 说明 | 类型 | 默认值 | 可选值 | 支持版本 |
52
50
  | ------------ | -------- | -------- | ----------------- | --------------------------------- | --------- |
@@ -54,6 +54,9 @@ class FontSize {
54
54
  return FontSize.config.max;
55
55
  }
56
56
  constructor() {
57
+ // 初始化 changes 数组,防止构造函数提前 return 导致问题
58
+ this._changes = [];
59
+
57
60
  if (process.env.NODE_ENV == 'test') {
58
61
  return;
59
62
  }
package/config/index.ts CHANGED
@@ -2,6 +2,11 @@ import useFontSize from './font-size';
2
2
 
3
3
  const { config, fontSizeStyle } = useFontSize();
4
4
 
5
+ // 防御性检查:确保 config 存在
6
+ if (!config) {
7
+ throw new Error('FontSize config initialization failed');
8
+ }
9
+
5
10
  class Options {
6
11
  get minSize() {
7
12
  return config.min;
package/index.ts CHANGED
@@ -36,6 +36,8 @@ import steDateUser from "./components/ste-date-user/ste-date-user.vue"
36
36
  export const SteDateUser = steDateUser
37
37
  import steDrag from "./components/ste-drag/ste-drag.vue"
38
38
  export const SteDrag = steDrag
39
+ import steDragSort from "./components/ste-drag-sort/ste-drag-sort.vue"
40
+ export const SteDragSort = steDragSort
39
41
  import steDropdownMenu from "./components/ste-dropdown-menu/ste-dropdown-menu.vue"
40
42
  export const SteDropdownMenu = steDropdownMenu
41
43
  import steDropdownMenuItem from "./components/ste-dropdown-menu-item/ste-dropdown-menu-item.vue"
@@ -70,6 +72,8 @@ import steLogin from "./components/ste-login/ste-login.vue"
70
72
  export const SteLogin = steLogin
71
73
  import steLoginInfo from "./components/ste-login-info/ste-login-info.vue"
72
74
  export const SteLoginInfo = steLoginInfo
75
+ import steMarquee from "./components/ste-marquee/ste-marquee.vue"
76
+ export const SteMarquee = steMarquee
73
77
  import steMediaPreview from "./components/ste-media-preview/ste-media-preview.vue"
74
78
  export const SteMediaPreview = steMediaPreview
75
79
  import steMessageBox from "./components/ste-message-box/ste-message-box.vue"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stellar-ui-plus",
3
- "version": "1.25.1",
3
+ "version": "1.25.3",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "license": "MIT",
@@ -17,6 +17,7 @@ import steCustomKeyboard from "../components/ste-custom-keyboard/ste-custom-keyb
17
17
  import steDatePicker from "../components/ste-date-picker/ste-date-picker.vue"
18
18
  import steDateUser from "../components/ste-date-user/ste-date-user.vue"
19
19
  import steDrag from "../components/ste-drag/ste-drag.vue"
20
+ import steDragSort from "../components/ste-drag-sort/ste-drag-sort.vue"
20
21
  import steDropdownMenu from "../components/ste-dropdown-menu/ste-dropdown-menu.vue"
21
22
  import steDropdownMenuItem from "../components/ste-dropdown-menu-item/ste-dropdown-menu-item.vue"
22
23
  import steFilterTool from "../components/ste-filter-tool/ste-filter-tool.vue"
@@ -34,6 +35,7 @@ import steLineChart from "../components/ste-line-chart/ste-line-chart.vue"
34
35
  import steLoading from "../components/ste-loading/ste-loading.vue"
35
36
  import steLogin from "../components/ste-login/ste-login.vue"
36
37
  import steLoginInfo from "../components/ste-login-info/ste-login-info.vue"
38
+ import steMarquee from "../components/ste-marquee/ste-marquee.vue"
37
39
  import steMediaPreview from "../components/ste-media-preview/ste-media-preview.vue"
38
40
  import steMessageBox from "../components/ste-message-box/ste-message-box.vue"
39
41
  import steNavbar from "../components/ste-navbar/ste-navbar.vue"
@@ -111,6 +113,7 @@ import steWatermark from "../components/ste-watermark/ste-watermark.vue"
111
113
  SteDatePicker: typeof steDatePicker;
112
114
  SteDateUser: typeof steDateUser;
113
115
  SteDrag: typeof steDrag;
116
+ SteDragSort: typeof steDragSort;
114
117
  SteDropdownMenu: typeof steDropdownMenu;
115
118
  SteDropdownMenuItem: typeof steDropdownMenuItem;
116
119
  SteFilterTool: typeof steFilterTool;
@@ -128,6 +131,7 @@ import steWatermark from "../components/ste-watermark/ste-watermark.vue"
128
131
  SteLoading: typeof steLoading;
129
132
  SteLogin: typeof steLogin;
130
133
  SteLoginInfo: typeof steLoginInfo;
134
+ SteMarquee: typeof steMarquee;
131
135
  SteMediaPreview: typeof steMediaPreview;
132
136
  SteMessageBox: typeof steMessageBox;
133
137
  SteNavbar: typeof steNavbar;
@@ -17,6 +17,7 @@ import steCustomKeyboard from "../components/ste-custom-keyboard/ste-custom-keyb
17
17
  import steDatePicker from "../components/ste-date-picker/ste-date-picker.vue"
18
18
  import steDateUser from "../components/ste-date-user/ste-date-user.vue"
19
19
  import steDrag from "../components/ste-drag/ste-drag.vue"
20
+ import steDragSort from "../components/ste-drag-sort/ste-drag-sort.vue"
20
21
  import steDropdownMenu from "../components/ste-dropdown-menu/ste-dropdown-menu.vue"
21
22
  import steDropdownMenuItem from "../components/ste-dropdown-menu-item/ste-dropdown-menu-item.vue"
22
23
  import steFilterTool from "../components/ste-filter-tool/ste-filter-tool.vue"
@@ -34,6 +35,7 @@ import steLineChart from "../components/ste-line-chart/ste-line-chart.vue"
34
35
  import steLoading from "../components/ste-loading/ste-loading.vue"
35
36
  import steLogin from "../components/ste-login/ste-login.vue"
36
37
  import steLoginInfo from "../components/ste-login-info/ste-login-info.vue"
38
+ import steMarquee from "../components/ste-marquee/ste-marquee.vue"
37
39
  import steMediaPreview from "../components/ste-media-preview/ste-media-preview.vue"
38
40
  import steMessageBox from "../components/ste-message-box/ste-message-box.vue"
39
41
  import steNavbar from "../components/ste-navbar/ste-navbar.vue"
@@ -106,6 +108,7 @@ export type RefCustomKeyboard = InstanceType<typeof steCustomKeyboard>
106
108
  export type RefDatePicker = InstanceType<typeof steDatePicker>
107
109
  export type RefDateUser = InstanceType<typeof steDateUser>
108
110
  export type RefDrag = InstanceType<typeof steDrag>
111
+ export type RefDragSort = InstanceType<typeof steDragSort>
109
112
  export type RefDropdownMenu = InstanceType<typeof steDropdownMenu>
110
113
  export type RefDropdownMenuItem = InstanceType<typeof steDropdownMenuItem>
111
114
  export type RefFilterTool = InstanceType<typeof steFilterTool>
@@ -123,6 +126,7 @@ export type RefLineChart = InstanceType<typeof steLineChart>
123
126
  export type RefLoading = InstanceType<typeof steLoading>
124
127
  export type RefLogin = InstanceType<typeof steLogin>
125
128
  export type RefLoginInfo = InstanceType<typeof steLoginInfo>
129
+ export type RefMarquee = InstanceType<typeof steMarquee>
126
130
  export type RefMediaPreview = InstanceType<typeof steMediaPreview>
127
131
  export type RefMessageBox = InstanceType<typeof steMessageBox>
128
132
  export type RefNavbar = InstanceType<typeof steNavbar>
package/utils/System.ts CHANGED
@@ -1,3 +1,27 @@
1
+ // 模块级缓存,所有实例共享,App 生命周期内只调用一次系统 API
2
+ // 定义 WindowInfo 类型,包含 getWindowInfo 和 getSystemInfoSync 返回的共同字段
3
+ interface WindowInfo {
4
+ pixelRatio: number;
5
+ safeArea: {
6
+ bottom: number;
7
+ height: number;
8
+ left: number;
9
+ right: number;
10
+ top: number;
11
+ width: number;
12
+ };
13
+ safeAreaInsets?: { bottom: number };
14
+ screenHeight: number;
15
+ screenTop?: number;
16
+ screenWidth: number;
17
+ statusBarHeight: number;
18
+ windowHeight: number;
19
+ windowWidth: number;
20
+ [key: string]: any;
21
+ }
22
+
23
+ let _cachedWindowInfo: WindowInfo | null = null;
24
+
1
25
  export default class System {
2
26
  /**
3
27
  * 获取设备设置
@@ -39,12 +63,14 @@ export default class System {
39
63
  }
40
64
 
41
65
  /**
42
- * 获取窗口信息
66
+ * 获取窗口信息(结果已缓存,同一 App 生命周期内只调用一次系统 API)
43
67
  */
44
68
  static getWindowInfo() {
69
+ if (_cachedWindowInfo) return _cachedWindowInfo;
70
+
45
71
  // 测试环境判断
46
72
  if (process.env.NODE_ENV == 'test' || process.env.UNI_APP_NAME == 'stellar-debug') {
47
- let windowInfo = {
73
+ let windowInfo: WindowInfo = {
48
74
  pixelRatio: 3,
49
75
  safeArea: {
50
76
  bottom: 778,
@@ -65,21 +91,30 @@ export default class System {
65
91
  windowInfo.safeAreaInsets = {
66
92
  bottom: windowInfo.screenHeight - windowInfo.safeArea.bottom,
67
93
  };
68
- return windowInfo;
94
+ _cachedWindowInfo = windowInfo;
95
+ return _cachedWindowInfo;
69
96
  }
70
- if (process.env.NODE_ENV != 'test') {
71
- // #ifdef MP-WEIXIN
72
- let windowInfo = wx.getWindowInfo();
73
- windowInfo.safeAreaInsets = {
74
- bottom: (windowInfo?.screenHeight ?? 812) - (windowInfo?.safeArea?.bottom ?? 778),
75
- };
76
- return windowInfo;
77
- // #endif
78
97
 
79
- // #ifndef MP-WEIXIN
80
- return uni.getSystemInfoSync();
81
- // #endif
82
- }
98
+ // #ifdef MP-WEIXIN
99
+ let windowInfo: WindowInfo = wx.getWindowInfo();
100
+ windowInfo.safeAreaInsets = {
101
+ bottom: (windowInfo?.screenHeight ?? 812) - (windowInfo?.safeArea?.bottom ?? 778),
102
+ };
103
+ _cachedWindowInfo = windowInfo;
104
+ return _cachedWindowInfo;
105
+ // #endif
106
+
107
+ // #ifndef MP-WEIXIN
108
+ _cachedWindowInfo = uni.getSystemInfoSync() as WindowInfo;
109
+ return _cachedWindowInfo;
110
+ // #endif
111
+ }
112
+
113
+ /**
114
+ * 清除窗口信息缓存(屏幕旋转或窗口尺寸变化时调用)
115
+ */
116
+ static clearWindowInfoCache() {
117
+ _cachedWindowInfo = null;
83
118
  }
84
119
 
85
120
  /**
package/utils/mixin.ts CHANGED
@@ -86,7 +86,7 @@ export function sortChildren(parent: SelfComponentInternalInstance, internalChil
86
86
  }
87
87
 
88
88
  // 如果指定组件名称,则只查找此组件并且查到后结束。也就是不关心此组件下的内容,在大部分场景下节省查找消耗。
89
- export function useProvide<ProvideValue>(key: InjectionKey<ProvideValue>, childName?: string) {
89
+ export function useProvide<ProvideValue>(key: InjectionKey<ParentProvide<ProvideValue>>, childName?: string) {
90
90
  const internalChildren: SelfComponentInternalInstance[] = shallowReactive([])
91
91
  const publicChildren = shallowReactive<any[]>([])
92
92
  const parent = getCurrentInstance()!
@@ -107,12 +107,13 @@ export function useProvide<ProvideValue>(key: InjectionKey<ProvideValue>, childN
107
107
  }
108
108
 
109
109
  return (value?: ProvideValue) => {
110
- provide(key, {
110
+ // 使用 markRaw 包装整个 provide 对象,避免 provide/inject 链形成循环引用
111
+ provide(key, markRaw({
111
112
  add,
112
113
  remove,
113
114
  internalChildren,
114
115
  ...value,
115
- } as any)
116
+ }) as ParentProvide<ProvideValue>)
116
117
 
117
118
  return {
118
119
  internalChildren,