uview-pro 0.0.17 → 0.0.19

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 (232) hide show
  1. package/changelog.md +283 -249
  2. package/components/u-action-sheet/types.ts +35 -35
  3. package/components/u-action-sheet/u-action-sheet.vue +160 -160
  4. package/components/u-alert-tips/types.ts +39 -39
  5. package/components/u-alert-tips/u-alert-tips.vue +212 -212
  6. package/components/u-avatar/types.ts +34 -34
  7. package/components/u-avatar/u-avatar.vue +193 -193
  8. package/components/u-avatar-cropper/types.ts +23 -23
  9. package/components/u-avatar-cropper/u-avatar-cropper.vue +286 -286
  10. package/components/u-avatar-cropper/weCropper.d.ts +62 -62
  11. package/components/u-avatar-cropper/weCropper.js +1253 -1253
  12. package/components/u-avatar-cropper/weCropper.ts +1255 -1255
  13. package/components/u-back-top/types.ts +39 -39
  14. package/components/u-back-top/u-back-top.vue +125 -125
  15. package/components/u-badge/types.ts +36 -36
  16. package/components/u-badge/u-badge.vue +165 -165
  17. package/components/u-button/types.ts +66 -66
  18. package/components/u-button/u-button.vue +554 -554
  19. package/components/u-calendar/types.ts +63 -63
  20. package/components/u-calendar/u-calendar.vue +592 -592
  21. package/components/u-car-keyboard/types.ts +12 -12
  22. package/components/u-car-keyboard/u-car-keyboard.vue +234 -234
  23. package/components/u-card/types.ts +59 -59
  24. package/components/u-card/u-card.vue +194 -194
  25. package/components/u-cell-group/types.ts +17 -17
  26. package/components/u-cell-group/u-cell-group.vue +50 -50
  27. package/components/u-cell-item/types.ts +54 -54
  28. package/components/u-cell-item/u-cell-item.vue +202 -202
  29. package/components/u-checkbox/types.ts +31 -31
  30. package/components/u-checkbox/u-checkbox.vue +267 -265
  31. package/components/u-checkbox-group/types.ts +32 -32
  32. package/components/u-checkbox-group/u-checkbox-group.vue +79 -79
  33. package/components/u-circle-progress/types.ts +52 -52
  34. package/components/u-circle-progress/u-circle-progress.vue +189 -189
  35. package/components/u-city-select/types.ts +20 -20
  36. package/components/u-city-select/u-city-select.vue +236 -236
  37. package/components/u-col/types.ts +30 -30
  38. package/components/u-col/u-col.vue +123 -123
  39. package/components/u-collapse/types.ts +31 -31
  40. package/components/u-collapse/u-collapse.vue +68 -68
  41. package/components/u-collapse-item/types.ts +25 -25
  42. package/components/u-collapse-item/u-collapse-item.vue +176 -176
  43. package/components/u-column-notice/types.ts +48 -48
  44. package/components/u-column-notice/u-column-notice.vue +176 -176
  45. package/components/u-count-down/types.ts +42 -42
  46. package/components/u-count-down/u-count-down.vue +258 -258
  47. package/components/u-count-to/types.ts +32 -32
  48. package/components/u-count-to/u-count-to.vue +241 -241
  49. package/components/u-divider/types.ts +31 -31
  50. package/components/u-divider/u-divider.vue +121 -121
  51. package/components/u-dropdown/types.ts +32 -32
  52. package/components/u-dropdown/u-dropdown.vue +289 -289
  53. package/components/u-dropdown-item/types.ts +27 -27
  54. package/components/u-dropdown-item/u-dropdown-item.vue +123 -123
  55. package/components/u-empty/types.ts +36 -36
  56. package/components/u-empty/u-empty.vue +88 -88
  57. package/components/u-field/types.ts +69 -69
  58. package/components/u-field/u-field.vue +354 -354
  59. package/components/u-full-screen/types.ts +14 -14
  60. package/components/u-full-screen/u-full-screen.vue +82 -82
  61. package/components/u-gap/types.ts +18 -18
  62. package/components/u-gap/u-gap.vue +40 -40
  63. package/components/u-grid/types.ts +19 -19
  64. package/components/u-grid/u-grid.vue +93 -93
  65. package/components/u-grid-item/types.ts +16 -16
  66. package/components/u-grid-item/u-grid-item.vue +130 -130
  67. package/components/u-icon/types.ts +62 -62
  68. package/components/u-icon/u-icon.vue +274 -274
  69. package/components/u-image/types.ts +51 -51
  70. package/components/u-image/u-image.vue +222 -222
  71. package/components/u-index-anchor/types.ts +16 -16
  72. package/components/u-index-anchor/u-index-anchor.vue +86 -86
  73. package/components/u-index-list/types.ts +43 -43
  74. package/components/u-index-list/u-index-list.vue +355 -355
  75. package/components/u-input/types.ts +140 -140
  76. package/components/u-input/u-input.vue +255 -255
  77. package/components/u-keyboard/types.ts +40 -40
  78. package/components/u-keyboard/u-keyboard.vue +158 -158
  79. package/components/u-lazy-load/types.ts +37 -37
  80. package/components/u-lazy-load/u-lazy-load.vue +233 -233
  81. package/components/u-line/types.ts +44 -44
  82. package/components/u-line/u-line.vue +59 -59
  83. package/components/u-line-progress/types.ts +58 -58
  84. package/components/u-line-progress/u-line-progress.vue +109 -109
  85. package/components/u-link/types.ts +43 -43
  86. package/components/u-link/u-link.vue +75 -75
  87. package/components/u-loading/types.ts +35 -35
  88. package/components/u-loading/u-loading.vue +90 -90
  89. package/components/u-loading-popup/types.ts +26 -26
  90. package/components/u-loading-popup/u-loading-popup.vue +239 -239
  91. package/components/u-loadmore/types.ts +79 -79
  92. package/components/u-loadmore/u-loadmore.vue +140 -140
  93. package/components/u-mask/types.ts +43 -43
  94. package/components/u-mask/u-mask.vue +106 -106
  95. package/components/u-message-input/types.ts +74 -74
  96. package/components/u-message-input/u-message-input.vue +255 -255
  97. package/components/u-modal/types.ts +118 -118
  98. package/components/u-modal/u-modal.vue +200 -200
  99. package/components/u-navbar/types.ts +103 -103
  100. package/components/u-navbar/u-navbar.vue +226 -226
  101. package/components/u-no-network/image.ts +2 -2
  102. package/components/u-no-network/types.ts +28 -28
  103. package/components/u-no-network/u-no-network.vue +290 -290
  104. package/components/u-notice-bar/types.ts +111 -111
  105. package/components/u-notice-bar/u-notice-bar.vue +174 -174
  106. package/components/u-number-box/types.ts +42 -42
  107. package/components/u-number-box/u-number-box.vue +312 -312
  108. package/components/u-number-keyboard/types.ts +26 -26
  109. package/components/u-number-keyboard/u-number-keyboard.vue +166 -166
  110. package/components/u-picker/types.ts +111 -111
  111. package/components/u-picker/u-picker.vue +637 -637
  112. package/components/u-popup/types.ts +59 -59
  113. package/components/u-popup/u-popup.vue +359 -359
  114. package/components/u-radio/types.ts +25 -25
  115. package/components/u-radio/u-radio.vue +258 -258
  116. package/components/u-radio-group/types.ts +29 -29
  117. package/components/u-radio-group/u-radio-group.vue +98 -98
  118. package/components/u-rate/types.ts +40 -40
  119. package/components/u-rate/u-rate.vue +234 -234
  120. package/components/u-read-more/types.ts +35 -35
  121. package/components/u-read-more/u-read-more.vue +150 -150
  122. package/components/u-row/types.ts +20 -20
  123. package/components/u-row/u-row.vue +87 -87
  124. package/components/u-row-notice/types.ts +39 -39
  125. package/components/u-row-notice/u-row-notice.vue +213 -213
  126. package/components/u-search/types.ts +53 -53
  127. package/components/u-search/u-search.vue +256 -256
  128. package/components/u-section/types.ts +32 -32
  129. package/components/u-section/u-section.vue +125 -125
  130. package/components/u-select/types.ts +43 -43
  131. package/components/u-select/u-select.vue +361 -361
  132. package/components/u-skeleton/types.ts +20 -20
  133. package/components/u-skeleton/u-skeleton.vue +205 -205
  134. package/components/u-slider/types.ts +32 -32
  135. package/components/u-slider/u-slider.vue +238 -238
  136. package/components/u-steps/types.ts +28 -28
  137. package/components/u-steps/u-steps.vue +160 -160
  138. package/components/u-sticky/types.ts +22 -22
  139. package/components/u-sticky/u-sticky.vue +159 -159
  140. package/components/u-subsection/types.ts +36 -36
  141. package/components/u-subsection/u-subsection.vue +328 -328
  142. package/components/u-swipe-action/types.ts +50 -50
  143. package/components/u-swipe-action/u-swipe-action.vue +253 -253
  144. package/components/u-swiper/types.ts +47 -47
  145. package/components/u-swiper/u-swiper.vue +266 -266
  146. package/components/u-switch/types.ts +28 -28
  147. package/components/u-switch/u-switch.vue +128 -128
  148. package/components/u-tabbar/types.ts +36 -36
  149. package/components/u-tabbar/u-tabbar.vue +280 -280
  150. package/components/u-table/types.ts +25 -25
  151. package/components/u-table/u-table.vue +55 -55
  152. package/components/u-tabs/types.ts +51 -51
  153. package/components/u-tabs/u-tabs.vue +284 -284
  154. package/components/u-tabs-swiper/types.ts +53 -53
  155. package/components/u-tabs-swiper/u-tabs-swiper.vue +379 -379
  156. package/components/u-tag/types.ts +37 -37
  157. package/components/u-tag/u-tag.vue +244 -244
  158. package/components/u-td/types.ts +12 -12
  159. package/components/u-td/u-td.vue +69 -69
  160. package/components/u-th/types.ts +12 -12
  161. package/components/u-th/u-th.vue +63 -63
  162. package/components/u-time-line/u-time-line.vue +39 -39
  163. package/components/u-time-line-item/types.ts +14 -14
  164. package/components/u-time-line-item/u-time-line-item.vue +78 -78
  165. package/components/u-toast/types.ts +36 -36
  166. package/components/u-toast/u-toast.vue +233 -233
  167. package/components/u-top-tips/types.ts +14 -14
  168. package/components/u-top-tips/u-top-tips.vue +113 -113
  169. package/components/u-tr/types.ts +8 -8
  170. package/components/u-tr/u-tr.vue +24 -24
  171. package/components/u-upload/types.ts +71 -71
  172. package/components/u-upload/u-upload.vue +545 -545
  173. package/components/u-verification-code/types.ts +22 -22
  174. package/components/u-verification-code/u-verification-code.vue +164 -164
  175. package/components/u-waterfall/types.ts +16 -16
  176. package/components/u-waterfall/u-waterfall.vue +175 -175
  177. package/iconfont.css +910 -910
  178. package/index.scss +22 -22
  179. package/index.ts +195 -202
  180. package/libs/config/config.ts +26 -26
  181. package/libs/config/zIndex.ts +37 -37
  182. package/libs/css/color.scss +155 -155
  183. package/libs/css/common.scss +175 -175
  184. package/libs/css/style.components.scss +6 -6
  185. package/libs/css/style.h5.scss +8 -8
  186. package/libs/css/style.mp.scss +72 -72
  187. package/libs/css/style.nvue.scss +2 -2
  188. package/libs/css/style.vue.scss +175 -175
  189. package/libs/function/$parent.ts +22 -22
  190. package/libs/function/addUnit.ts +13 -13
  191. package/libs/function/color.ts +36 -36
  192. package/libs/function/colorGradient.ts +125 -125
  193. package/libs/function/debounce.ts +28 -28
  194. package/libs/function/deepClone.ts +39 -39
  195. package/libs/function/deepMerge.ts +34 -34
  196. package/libs/function/getParent.ts +58 -58
  197. package/libs/function/getRect.ts +26 -26
  198. package/libs/function/guid.ts +42 -42
  199. package/libs/function/md5.ts +398 -398
  200. package/libs/function/parent.ts +21 -21
  201. package/libs/function/queryParams.ts +60 -60
  202. package/libs/function/random.ts +16 -16
  203. package/libs/function/randomArray.ts +11 -11
  204. package/libs/function/route.ts +118 -118
  205. package/libs/function/sys.ts +15 -15
  206. package/libs/function/test.ts +229 -229
  207. package/libs/function/throttle.ts +31 -31
  208. package/libs/function/timeFormat.ts +54 -54
  209. package/libs/function/timeFrom.ts +48 -48
  210. package/libs/function/toast.ts +14 -14
  211. package/libs/function/trim.ts +21 -21
  212. package/libs/function/type2icon.ts +36 -36
  213. package/libs/hooks/useEmitter.ts +77 -77
  214. package/libs/hooks/useParent.ts +29 -29
  215. package/libs/request/auto-http.ts +76 -76
  216. package/libs/request/index.ts +223 -237
  217. package/libs/store/index.ts +88 -88
  218. package/libs/util/async-validator.d.ts +62 -62
  219. package/libs/util/async-validator.js +1356 -1356
  220. package/libs/util/emitter.ts +112 -112
  221. package/libs/util/mitt.ts +118 -118
  222. package/libs/util/parent.ts +20 -20
  223. package/package.json +107 -107
  224. package/readme.md +231 -231
  225. package/theme.scss +38 -38
  226. package/types/components.d.ts +95 -95
  227. package/types/global.d.ts +221 -221
  228. package/types/ignore-errors.d.ts +30 -30
  229. package/types/index.d.ts +90 -90
  230. package/types/uni-app.d.ts +63 -63
  231. package/libs/request/uni-http.md +0 -156
  232. package/libs/request/uni-http.ts +0 -434
package/types/index.d.ts CHANGED
@@ -1,90 +1,90 @@
1
- /// <reference path="./components.d.ts" />
2
- /// <reference path="./uni-app.d.ts" />
3
-
4
- import http from '../libs/request/index';
5
- import queryParams from '../libs/function/queryParams';
6
- import route from '../libs/function/route';
7
- import timeFormat from '../libs/function/timeFormat';
8
- import timeFrom from '../libs/function/timeFrom';
9
- import colorGradient from '../libs/function/colorGradient';
10
- import guid from '../libs/function/guid';
11
- import color from '../libs/function/color';
12
- import type2icon from '../libs/function/type2icon';
13
- import randomArray from '../libs/function/randomArray';
14
- import deepClone from '../libs/function/deepClone';
15
- import deepMerge from '../libs/function/deepMerge';
16
- import addUnit from '../libs/function/addUnit';
17
- import test from '../libs/function/test';
18
- import random from '../libs/function/random';
19
- import trim from '../libs/function/trim';
20
- import toast from '../libs/function/toast';
21
- import getParent from '../libs/function/getParent';
22
- import $parent from '../libs/function/$parent';
23
- import debounce from '../libs/function/debounce';
24
- import throttle from '../libs/function/throttle';
25
- import getRect from '../libs/function/getRect';
26
- import { sys, os } from '../libs/function/sys';
27
- import { parentData, parent } from '../libs/function/parent';
28
- import config from '../libs/config/config';
29
- import zIndex from '../libs/config/zIndex';
30
- import { dispatch, broadcast } from '../libs/util/emitter';
31
- import { mitt } from '../libs/util/mitt';
32
-
33
- // uview-pro 模块类型声明
34
- declare module 'uview-pro' {
35
- // 导出安装函数
36
- export function install(): void;
37
-
38
- // 导出 $u 工具类型
39
- export interface $Utils {
40
- queryParams: typeof queryParams;
41
- route: typeof route;
42
- timeFormat: typeof timeFormat;
43
- date: typeof timeFormat;
44
- timeFrom: typeof timeFrom;
45
- colorGradient: typeof colorGradient.colorGradient;
46
- colorToRgba: typeof colorGradient.colorToRgba;
47
- guid: typeof guid;
48
- color: typeof color;
49
- sys: typeof sys;
50
- os: typeof os;
51
- type2icon: typeof type2icon;
52
- randomArray: typeof randomArray;
53
- dispatch: typeof dispatch;
54
- broadcast: typeof broadcast;
55
- get: typeof http.get;
56
- post: typeof http.post;
57
- put: typeof http.put;
58
- delete: typeof http.delete;
59
- hexToRgb: typeof colorGradient.hexToRgb;
60
- rgbToHex: typeof colorGradient.rgbToHex;
61
- test: typeof test;
62
- random: typeof random;
63
- deepClone: typeof deepClone;
64
- deepMerge: typeof deepMerge;
65
- getParent: typeof getParent;
66
- $parent: typeof $parent;
67
- parent: typeof parent;
68
- parentData: typeof parentData;
69
- addUnit: typeof addUnit;
70
- trim: typeof trim;
71
- type: string[];
72
- http: typeof http;
73
- toast: typeof toast;
74
- config: typeof config;
75
- zIndex: typeof zIndex;
76
- debounce: typeof debounce;
77
- throttle: typeof throttle;
78
- mitt: ReturnType<typeof mitt>;
79
- getRect: typeof getRect;
80
- }
81
- }
82
-
83
- // 全局类型扩展
84
- declare global {
85
- interface Uni {
86
- $u: import('uview-pro').$Utils;
87
- }
88
- }
89
-
90
- export {};
1
+ /// <reference path="./components.d.ts" />
2
+ /// <reference path="./uni-app.d.ts" />
3
+
4
+ import http from '../libs/request/index';
5
+ import queryParams from '../libs/function/queryParams';
6
+ import route from '../libs/function/route';
7
+ import timeFormat from '../libs/function/timeFormat';
8
+ import timeFrom from '../libs/function/timeFrom';
9
+ import colorGradient from '../libs/function/colorGradient';
10
+ import guid from '../libs/function/guid';
11
+ import color from '../libs/function/color';
12
+ import type2icon from '../libs/function/type2icon';
13
+ import randomArray from '../libs/function/randomArray';
14
+ import deepClone from '../libs/function/deepClone';
15
+ import deepMerge from '../libs/function/deepMerge';
16
+ import addUnit from '../libs/function/addUnit';
17
+ import test from '../libs/function/test';
18
+ import random from '../libs/function/random';
19
+ import trim from '../libs/function/trim';
20
+ import toast from '../libs/function/toast';
21
+ import getParent from '../libs/function/getParent';
22
+ import $parent from '../libs/function/$parent';
23
+ import debounce from '../libs/function/debounce';
24
+ import throttle from '../libs/function/throttle';
25
+ import getRect from '../libs/function/getRect';
26
+ import { sys, os } from '../libs/function/sys';
27
+ import { parentData, parent } from '../libs/function/parent';
28
+ import config from '../libs/config/config';
29
+ import zIndex from '../libs/config/zIndex';
30
+ import { dispatch, broadcast } from '../libs/util/emitter';
31
+ import { mitt } from '../libs/util/mitt';
32
+
33
+ // uview-pro 模块类型声明
34
+ declare module 'uview-pro' {
35
+ // 导出安装函数
36
+ export function install(): void;
37
+
38
+ // 导出 $u 工具类型
39
+ export interface $Utils {
40
+ queryParams: typeof queryParams;
41
+ route: typeof route;
42
+ timeFormat: typeof timeFormat;
43
+ date: typeof timeFormat;
44
+ timeFrom: typeof timeFrom;
45
+ colorGradient: typeof colorGradient.colorGradient;
46
+ colorToRgba: typeof colorGradient.colorToRgba;
47
+ guid: typeof guid;
48
+ color: typeof color;
49
+ sys: typeof sys;
50
+ os: typeof os;
51
+ type2icon: typeof type2icon;
52
+ randomArray: typeof randomArray;
53
+ dispatch: typeof dispatch;
54
+ broadcast: typeof broadcast;
55
+ get: typeof http.get;
56
+ post: typeof http.post;
57
+ put: typeof http.put;
58
+ delete: typeof http.delete;
59
+ hexToRgb: typeof colorGradient.hexToRgb;
60
+ rgbToHex: typeof colorGradient.rgbToHex;
61
+ test: typeof test;
62
+ random: typeof random;
63
+ deepClone: typeof deepClone;
64
+ deepMerge: typeof deepMerge;
65
+ getParent: typeof getParent;
66
+ $parent: typeof $parent;
67
+ parent: typeof parent;
68
+ parentData: typeof parentData;
69
+ addUnit: typeof addUnit;
70
+ trim: typeof trim;
71
+ type: string[];
72
+ http: typeof http;
73
+ toast: typeof toast;
74
+ config: typeof config;
75
+ zIndex: typeof zIndex;
76
+ debounce: typeof debounce;
77
+ throttle: typeof throttle;
78
+ mitt: ReturnType<typeof mitt>;
79
+ getRect: typeof getRect;
80
+ }
81
+ }
82
+
83
+ // 全局类型扩展
84
+ declare global {
85
+ interface Uni {
86
+ $u: import('uview-pro').$Utils;
87
+ }
88
+ }
89
+
90
+ export {};
@@ -1,63 +1,63 @@
1
- // /src/uni_modules/uview-pro/types/uni-app.d.ts
2
- // 扩展全局 HTMLAttributes 以支持 uni-app/小程序自定义属性
3
- import 'vue';
4
-
5
- declare module 'vue' {
6
- export interface GlobalComponents {
7
- // UniApp core/native tags
8
- view: any;
9
- 'scroll-view': any;
10
- swiper: any;
11
- 'swiper-item': any;
12
- image: any;
13
- 'rich-text': any;
14
- canvas: any;
15
- block: any;
16
-
17
- // Basic HTML shims often used by uni-app compiler
18
- text: any;
19
- }
20
- interface HTMLAttributes {
21
- // 支持小程序/uni-app 特有属性
22
- 'hover-class'?: string;
23
- 'hover-stop-propagation'?: boolean;
24
- 'hover-start-time'?: number;
25
- 'hover-stay-time'?: number;
26
- animation?: string;
27
- 'data-*'?: any;
28
- catchtap?: (e: any) => void;
29
- catchlongpress?: (e: any) => void;
30
- catchtouchstart?: (e: any) => void;
31
- catchtouchmove?: (e: any) => void;
32
- catchtouchend?: (e: any) => void;
33
- catchtouchcancel?: (e: any) => void;
34
- // 其他常用 uni-app 事件和属性可按需补充
35
- src?: string;
36
- }
37
- }
38
-
39
- // 兼容 JSX/TSX 场景
40
- declare global {
41
- namespace JSX {
42
- interface IntrinsicAttributes {
43
- 'hover-class'?: string;
44
- 'hover-stop-propagation'?: boolean;
45
- 'hover-start-time'?: number;
46
- 'hover-stay-time'?: number;
47
- animation?: string;
48
- 'data-*'?: any;
49
- catchtap?: (e: any) => void;
50
- catchlongpress?: (e: any) => void;
51
- catchtouchstart?: (e: any) => void;
52
- catchtouchmove?: (e: any) => void;
53
- catchtouchend?: (e: any) => void;
54
- catchtouchcancel?: (e: any) => void;
55
- src?: string;
56
- }
57
- interface IntrinsicElements {
58
- [elem: string]: any;
59
- }
60
- }
61
- }
62
-
63
- export {};
1
+ // /src/uni_modules/uview-pro/types/uni-app.d.ts
2
+ // 扩展全局 HTMLAttributes 以支持 uni-app/小程序自定义属性
3
+ import 'vue';
4
+
5
+ declare module 'vue' {
6
+ export interface GlobalComponents {
7
+ // UniApp core/native tags
8
+ view: any;
9
+ 'scroll-view': any;
10
+ swiper: any;
11
+ 'swiper-item': any;
12
+ image: any;
13
+ 'rich-text': any;
14
+ canvas: any;
15
+ block: any;
16
+
17
+ // Basic HTML shims often used by uni-app compiler
18
+ text: any;
19
+ }
20
+ interface HTMLAttributes {
21
+ // 支持小程序/uni-app 特有属性
22
+ 'hover-class'?: string;
23
+ 'hover-stop-propagation'?: boolean;
24
+ 'hover-start-time'?: number;
25
+ 'hover-stay-time'?: number;
26
+ animation?: string;
27
+ 'data-*'?: any;
28
+ catchtap?: (e: any) => void;
29
+ catchlongpress?: (e: any) => void;
30
+ catchtouchstart?: (e: any) => void;
31
+ catchtouchmove?: (e: any) => void;
32
+ catchtouchend?: (e: any) => void;
33
+ catchtouchcancel?: (e: any) => void;
34
+ // 其他常用 uni-app 事件和属性可按需补充
35
+ src?: string;
36
+ }
37
+ }
38
+
39
+ // 兼容 JSX/TSX 场景
40
+ declare global {
41
+ namespace JSX {
42
+ interface IntrinsicAttributes {
43
+ 'hover-class'?: string;
44
+ 'hover-stop-propagation'?: boolean;
45
+ 'hover-start-time'?: number;
46
+ 'hover-stay-time'?: number;
47
+ animation?: string;
48
+ 'data-*'?: any;
49
+ catchtap?: (e: any) => void;
50
+ catchlongpress?: (e: any) => void;
51
+ catchtouchstart?: (e: any) => void;
52
+ catchtouchmove?: (e: any) => void;
53
+ catchtouchend?: (e: any) => void;
54
+ catchtouchcancel?: (e: any) => void;
55
+ src?: string;
56
+ }
57
+ interface IntrinsicElements {
58
+ [elem: string]: any;
59
+ }
60
+ }
61
+ }
62
+
63
+ export {};
@@ -1,156 +0,0 @@
1
- # uni-http 使用说明(useHttp hooks 版)
2
-
3
- > 本文档适用于 uView Pro 3.x 及以上版本,推荐使用 hooks 方式引入 Http 请求库。
4
-
5
- ## 目录
6
- - [简介](#简介)
7
- - [快速开始](#快速开始)
8
- - [类型定义](#类型定义)
9
- - [拦截器用法](#拦截器用法)
10
- - [常见用例](#常见用例)
11
- - [常见问题](#常见问题)
12
- - [类型提示与 TS 支持](#类型提示与 TS 支持)
13
- - [FAQ](#faq)
14
-
15
- ---
16
-
17
- ## 简介
18
-
19
- `uni-http` 是基于 Promise 封装的 uni-app HTTP 请求库,支持全局配置、请求/响应拦截、类型安全、hooks 化调用,适配多端。推荐通过 `useHttp` hooks 工厂函数创建实例,支持全局单例和按需实例化。
20
-
21
- ## 快速开始
22
-
23
- ### 1. 引入 useHttp
24
- ```ts
25
- import useHttp from '@/uni_modules/uview-pro/libs/request/uni-http';
26
- ```
27
-
28
- ### 2. 创建 http 实例
29
- ```ts
30
- const http = useHttp({
31
- baseURL: 'https://api.example.com',
32
- timeout: 10000,
33
- header: { 'Content-Type': 'application/json' }
34
- });
35
- ```
36
-
37
- ### 3. 发起请求
38
- ```ts
39
- // GET
40
- http.get('/user/info', { params: { id: 1 } })
41
- .then(res => { /* ... */ })
42
- .catch(err => { /* ... */ });
43
-
44
- // POST
45
- http.post('/user/update', { name: '张三' })
46
- .then(res => { /* ... */ });
47
- ```
48
-
49
- ## 类型定义
50
-
51
- ```ts
52
- interface HttpRequestConfig {
53
- baseURL?: string;
54
- timeout?: number;
55
- header?: Record<string, any>;
56
- [key: string]: any;
57
- }
58
-
59
- interface HttpResponse<T = any> {
60
- code: number;
61
- data: T;
62
- msg: string;
63
- [key: string]: any;
64
- }
65
-
66
- interface Http {
67
- get<T = any>(url: string, config?: HttpRequestConfig): Promise<HttpResponse<T>>;
68
- post<T = any>(url: string, data?: any, config?: HttpRequestConfig): Promise<HttpResponse<T>>;
69
- put<T = any>(url: string, data?: any, config?: HttpRequestConfig): Promise<HttpResponse<T>>;
70
- delete<T = any>(url: string, config?: HttpRequestConfig): Promise<HttpResponse<T>>;
71
- // ... 其他方法
72
- setRequestInterceptor(fn: (config: HttpRequestConfig) => HttpRequestConfig | Promise<HttpRequestConfig>): void;
73
- setResponseInterceptor(fn: (response: HttpResponse) => HttpResponse | Promise<HttpResponse>): void;
74
- }
75
- ```
76
-
77
- ## 拦截器用法
78
-
79
- ### 请求拦截器
80
- ```ts
81
- http.setRequestInterceptor(config => {
82
- // 可统一添加 token、日志等
83
- config.header = config.header || {};
84
- config.header.Authorization = 'Bearer ' + uni.getStorageSync('token');
85
- return config;
86
- });
87
- ```
88
-
89
- ### 响应拦截器
90
- ```ts
91
- http.setResponseInterceptor(response => {
92
- if (response.code !== 0) {
93
- uni.showToast({ title: response.msg || '请求失败', icon: 'none' });
94
- }
95
- return response;
96
- });
97
- ```
98
-
99
- ## 常见用例
100
-
101
- ### 1. 全局单例
102
- ```ts
103
- // src/common/http.ts
104
- import useHttp from '@/uni_modules/uview-pro/libs/request/uni-http';
105
- const http = useHttp({ baseURL: 'https://api.example.com' });
106
- export default http;
107
- ```
108
-
109
- ### 2. 组件内按需实例化
110
- ```ts
111
- import useHttp from '@/uni_modules/uview-pro/libs/request/uni-http';
112
- const http = useHttp();
113
- ```
114
-
115
- ### 3. 类型推断
116
- ```ts
117
- interface UserInfo { id: number; name: string; }
118
- const res = await http.get<UserInfo>('/user/info');
119
- console.log(res.data.id);
120
- ```
121
-
122
- ### 4. 错误处理
123
- ```ts
124
- http.get('/error/api').catch(err => {
125
- uni.showToast({ title: err.message, icon: 'none' });
126
- });
127
- ```
128
-
129
- ## 常见问题
130
-
131
- - **Q: 如何全局配置 baseURL、header?**
132
- A: 在 useHttp({ baseURL, header }) 传入即可。
133
- - **Q: 如何自定义拦截器?**
134
- A: 通过 setRequestInterceptor/setResponseInterceptor。
135
- - **Q: 支持多实例吗?**
136
- A: 支持,useHttp 可多次调用。
137
- - **Q: 支持类型推断吗?**
138
- A: 支持,泛型参数自动推断返回数据类型。
139
-
140
- ## 类型提示与 TS 支持
141
-
142
- - 完全 TypeScript 支持,类型自动推断。
143
- - 推荐在 `tsconfig.json` 中包含 `uni-http.ts` 路径。
144
-
145
- ## FAQ
146
-
147
- - **Q: 还能用 new Http() 吗?**
148
- A: 不推荐,已废弃。请统一使用 useHttp。
149
- - **Q: 如何清理拦截器?**
150
- A: 暂不支持移除,建议重新实例化。
151
- - **Q: 支持 uni.uploadFile、downloadFile 吗?**
152
- A: 暂未内置,可自行扩展。
153
-
154
- ---
155
-
156
- 如有更多问题,欢迎提 Issue 或 PR。