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.
- package/changelog.md +283 -249
- package/components/u-action-sheet/types.ts +35 -35
- package/components/u-action-sheet/u-action-sheet.vue +160 -160
- package/components/u-alert-tips/types.ts +39 -39
- package/components/u-alert-tips/u-alert-tips.vue +212 -212
- package/components/u-avatar/types.ts +34 -34
- package/components/u-avatar/u-avatar.vue +193 -193
- package/components/u-avatar-cropper/types.ts +23 -23
- package/components/u-avatar-cropper/u-avatar-cropper.vue +286 -286
- package/components/u-avatar-cropper/weCropper.d.ts +62 -62
- package/components/u-avatar-cropper/weCropper.js +1253 -1253
- package/components/u-avatar-cropper/weCropper.ts +1255 -1255
- package/components/u-back-top/types.ts +39 -39
- package/components/u-back-top/u-back-top.vue +125 -125
- package/components/u-badge/types.ts +36 -36
- package/components/u-badge/u-badge.vue +165 -165
- package/components/u-button/types.ts +66 -66
- package/components/u-button/u-button.vue +554 -554
- package/components/u-calendar/types.ts +63 -63
- package/components/u-calendar/u-calendar.vue +592 -592
- package/components/u-car-keyboard/types.ts +12 -12
- package/components/u-car-keyboard/u-car-keyboard.vue +234 -234
- package/components/u-card/types.ts +59 -59
- package/components/u-card/u-card.vue +194 -194
- package/components/u-cell-group/types.ts +17 -17
- package/components/u-cell-group/u-cell-group.vue +50 -50
- package/components/u-cell-item/types.ts +54 -54
- package/components/u-cell-item/u-cell-item.vue +202 -202
- package/components/u-checkbox/types.ts +31 -31
- package/components/u-checkbox/u-checkbox.vue +267 -265
- package/components/u-checkbox-group/types.ts +32 -32
- package/components/u-checkbox-group/u-checkbox-group.vue +79 -79
- package/components/u-circle-progress/types.ts +52 -52
- package/components/u-circle-progress/u-circle-progress.vue +189 -189
- package/components/u-city-select/types.ts +20 -20
- package/components/u-city-select/u-city-select.vue +236 -236
- package/components/u-col/types.ts +30 -30
- package/components/u-col/u-col.vue +123 -123
- package/components/u-collapse/types.ts +31 -31
- package/components/u-collapse/u-collapse.vue +68 -68
- package/components/u-collapse-item/types.ts +25 -25
- package/components/u-collapse-item/u-collapse-item.vue +176 -176
- package/components/u-column-notice/types.ts +48 -48
- package/components/u-column-notice/u-column-notice.vue +176 -176
- package/components/u-count-down/types.ts +42 -42
- package/components/u-count-down/u-count-down.vue +258 -258
- package/components/u-count-to/types.ts +32 -32
- package/components/u-count-to/u-count-to.vue +241 -241
- package/components/u-divider/types.ts +31 -31
- package/components/u-divider/u-divider.vue +121 -121
- package/components/u-dropdown/types.ts +32 -32
- package/components/u-dropdown/u-dropdown.vue +289 -289
- package/components/u-dropdown-item/types.ts +27 -27
- package/components/u-dropdown-item/u-dropdown-item.vue +123 -123
- package/components/u-empty/types.ts +36 -36
- package/components/u-empty/u-empty.vue +88 -88
- package/components/u-field/types.ts +69 -69
- package/components/u-field/u-field.vue +354 -354
- package/components/u-full-screen/types.ts +14 -14
- package/components/u-full-screen/u-full-screen.vue +82 -82
- package/components/u-gap/types.ts +18 -18
- package/components/u-gap/u-gap.vue +40 -40
- package/components/u-grid/types.ts +19 -19
- package/components/u-grid/u-grid.vue +93 -93
- package/components/u-grid-item/types.ts +16 -16
- package/components/u-grid-item/u-grid-item.vue +130 -130
- package/components/u-icon/types.ts +62 -62
- package/components/u-icon/u-icon.vue +274 -274
- package/components/u-image/types.ts +51 -51
- package/components/u-image/u-image.vue +222 -222
- package/components/u-index-anchor/types.ts +16 -16
- package/components/u-index-anchor/u-index-anchor.vue +86 -86
- package/components/u-index-list/types.ts +43 -43
- package/components/u-index-list/u-index-list.vue +355 -355
- package/components/u-input/types.ts +140 -140
- package/components/u-input/u-input.vue +255 -255
- package/components/u-keyboard/types.ts +40 -40
- package/components/u-keyboard/u-keyboard.vue +158 -158
- package/components/u-lazy-load/types.ts +37 -37
- package/components/u-lazy-load/u-lazy-load.vue +233 -233
- package/components/u-line/types.ts +44 -44
- package/components/u-line/u-line.vue +59 -59
- package/components/u-line-progress/types.ts +58 -58
- package/components/u-line-progress/u-line-progress.vue +109 -109
- package/components/u-link/types.ts +43 -43
- package/components/u-link/u-link.vue +75 -75
- package/components/u-loading/types.ts +35 -35
- package/components/u-loading/u-loading.vue +90 -90
- package/components/u-loading-popup/types.ts +26 -26
- package/components/u-loading-popup/u-loading-popup.vue +239 -239
- package/components/u-loadmore/types.ts +79 -79
- package/components/u-loadmore/u-loadmore.vue +140 -140
- package/components/u-mask/types.ts +43 -43
- package/components/u-mask/u-mask.vue +106 -106
- package/components/u-message-input/types.ts +74 -74
- package/components/u-message-input/u-message-input.vue +255 -255
- package/components/u-modal/types.ts +118 -118
- package/components/u-modal/u-modal.vue +200 -200
- package/components/u-navbar/types.ts +103 -103
- package/components/u-navbar/u-navbar.vue +226 -226
- package/components/u-no-network/image.ts +2 -2
- package/components/u-no-network/types.ts +28 -28
- package/components/u-no-network/u-no-network.vue +290 -290
- package/components/u-notice-bar/types.ts +111 -111
- package/components/u-notice-bar/u-notice-bar.vue +174 -174
- package/components/u-number-box/types.ts +42 -42
- package/components/u-number-box/u-number-box.vue +312 -312
- package/components/u-number-keyboard/types.ts +26 -26
- package/components/u-number-keyboard/u-number-keyboard.vue +166 -166
- package/components/u-picker/types.ts +111 -111
- package/components/u-picker/u-picker.vue +637 -637
- package/components/u-popup/types.ts +59 -59
- package/components/u-popup/u-popup.vue +359 -359
- package/components/u-radio/types.ts +25 -25
- package/components/u-radio/u-radio.vue +258 -258
- package/components/u-radio-group/types.ts +29 -29
- package/components/u-radio-group/u-radio-group.vue +98 -98
- package/components/u-rate/types.ts +40 -40
- package/components/u-rate/u-rate.vue +234 -234
- package/components/u-read-more/types.ts +35 -35
- package/components/u-read-more/u-read-more.vue +150 -150
- package/components/u-row/types.ts +20 -20
- package/components/u-row/u-row.vue +87 -87
- package/components/u-row-notice/types.ts +39 -39
- package/components/u-row-notice/u-row-notice.vue +213 -213
- package/components/u-search/types.ts +53 -53
- package/components/u-search/u-search.vue +256 -256
- package/components/u-section/types.ts +32 -32
- package/components/u-section/u-section.vue +125 -125
- package/components/u-select/types.ts +43 -43
- package/components/u-select/u-select.vue +361 -361
- package/components/u-skeleton/types.ts +20 -20
- package/components/u-skeleton/u-skeleton.vue +205 -205
- package/components/u-slider/types.ts +32 -32
- package/components/u-slider/u-slider.vue +238 -238
- package/components/u-steps/types.ts +28 -28
- package/components/u-steps/u-steps.vue +160 -160
- package/components/u-sticky/types.ts +22 -22
- package/components/u-sticky/u-sticky.vue +159 -159
- package/components/u-subsection/types.ts +36 -36
- package/components/u-subsection/u-subsection.vue +328 -328
- package/components/u-swipe-action/types.ts +50 -50
- package/components/u-swipe-action/u-swipe-action.vue +253 -253
- package/components/u-swiper/types.ts +47 -47
- package/components/u-swiper/u-swiper.vue +266 -266
- package/components/u-switch/types.ts +28 -28
- package/components/u-switch/u-switch.vue +128 -128
- package/components/u-tabbar/types.ts +36 -36
- package/components/u-tabbar/u-tabbar.vue +280 -280
- package/components/u-table/types.ts +25 -25
- package/components/u-table/u-table.vue +55 -55
- package/components/u-tabs/types.ts +51 -51
- package/components/u-tabs/u-tabs.vue +284 -284
- package/components/u-tabs-swiper/types.ts +53 -53
- package/components/u-tabs-swiper/u-tabs-swiper.vue +379 -379
- package/components/u-tag/types.ts +37 -37
- package/components/u-tag/u-tag.vue +244 -244
- package/components/u-td/types.ts +12 -12
- package/components/u-td/u-td.vue +69 -69
- package/components/u-th/types.ts +12 -12
- package/components/u-th/u-th.vue +63 -63
- package/components/u-time-line/u-time-line.vue +39 -39
- package/components/u-time-line-item/types.ts +14 -14
- package/components/u-time-line-item/u-time-line-item.vue +78 -78
- package/components/u-toast/types.ts +36 -36
- package/components/u-toast/u-toast.vue +233 -233
- package/components/u-top-tips/types.ts +14 -14
- package/components/u-top-tips/u-top-tips.vue +113 -113
- package/components/u-tr/types.ts +8 -8
- package/components/u-tr/u-tr.vue +24 -24
- package/components/u-upload/types.ts +71 -71
- package/components/u-upload/u-upload.vue +545 -545
- package/components/u-verification-code/types.ts +22 -22
- package/components/u-verification-code/u-verification-code.vue +164 -164
- package/components/u-waterfall/types.ts +16 -16
- package/components/u-waterfall/u-waterfall.vue +175 -175
- package/iconfont.css +910 -910
- package/index.scss +22 -22
- package/index.ts +195 -202
- package/libs/config/config.ts +26 -26
- package/libs/config/zIndex.ts +37 -37
- package/libs/css/color.scss +155 -155
- package/libs/css/common.scss +175 -175
- package/libs/css/style.components.scss +6 -6
- package/libs/css/style.h5.scss +8 -8
- package/libs/css/style.mp.scss +72 -72
- package/libs/css/style.nvue.scss +2 -2
- package/libs/css/style.vue.scss +175 -175
- package/libs/function/$parent.ts +22 -22
- package/libs/function/addUnit.ts +13 -13
- package/libs/function/color.ts +36 -36
- package/libs/function/colorGradient.ts +125 -125
- package/libs/function/debounce.ts +28 -28
- package/libs/function/deepClone.ts +39 -39
- package/libs/function/deepMerge.ts +34 -34
- package/libs/function/getParent.ts +58 -58
- package/libs/function/getRect.ts +26 -26
- package/libs/function/guid.ts +42 -42
- package/libs/function/md5.ts +398 -398
- package/libs/function/parent.ts +21 -21
- package/libs/function/queryParams.ts +60 -60
- package/libs/function/random.ts +16 -16
- package/libs/function/randomArray.ts +11 -11
- package/libs/function/route.ts +118 -118
- package/libs/function/sys.ts +15 -15
- package/libs/function/test.ts +229 -229
- package/libs/function/throttle.ts +31 -31
- package/libs/function/timeFormat.ts +54 -54
- package/libs/function/timeFrom.ts +48 -48
- package/libs/function/toast.ts +14 -14
- package/libs/function/trim.ts +21 -21
- package/libs/function/type2icon.ts +36 -36
- package/libs/hooks/useEmitter.ts +77 -77
- package/libs/hooks/useParent.ts +29 -29
- package/libs/request/auto-http.ts +76 -76
- package/libs/request/index.ts +223 -237
- package/libs/store/index.ts +88 -88
- package/libs/util/async-validator.d.ts +62 -62
- package/libs/util/async-validator.js +1356 -1356
- package/libs/util/emitter.ts +112 -112
- package/libs/util/mitt.ts +118 -118
- package/libs/util/parent.ts +20 -20
- package/package.json +107 -107
- package/readme.md +231 -231
- package/theme.scss +38 -38
- package/types/components.d.ts +95 -95
- package/types/global.d.ts +221 -221
- package/types/ignore-errors.d.ts +30 -30
- package/types/index.d.ts +90 -90
- package/types/uni-app.d.ts +63 -63
- package/libs/request/uni-http.md +0 -156
- 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 {};
|
package/types/uni-app.d.ts
CHANGED
|
@@ -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 {};
|
package/libs/request/uni-http.md
DELETED
|
@@ -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。
|