halo-fe 1.0.2 → 1.0.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.
- package/dist/main.js +1282 -804
- package/dist/style.css +1 -0
- package/esm/coms/Code.vue.d.ts +41 -0
- package/esm/coms/Col.vue.d.ts +11 -0
- package/esm/coms/Compare.vue.d.ts +40 -0
- package/esm/coms/Container.vue.d.ts +23 -0
- package/esm/coms/Empty.vue.d.ts +26 -0
- package/esm/coms/Progress.vue.d.ts +8 -0
- package/esm/coms/Row.vue.d.ts +21 -0
- package/esm/coms/index.d.ts +8 -0
- package/esm/coms/types/CodeEmit.d.ts +23 -0
- package/esm/coms/types/CodeProps.d.ts +18 -0
- package/esm/coms/types/RowProps.d.ts +14 -0
- package/esm/coms/types/index.d.ts +4 -0
- package/esm/drivers/cdns/CdnFactory.d.ts +1 -1
- package/esm/drivers/cdns/index.d.ts +2 -0
- package/esm/drivers/encoders/EncoderFactory.d.ts +2 -2
- package/esm/drivers/encoders/index.d.ts +2 -0
- package/esm/drivers/excels/ExcelFactory.d.ts +1 -1
- package/esm/drivers/excels/index.d.ts +2 -1
- package/esm/drivers/explainers/index.d.ts +2 -0
- package/esm/drivers/factories/DriverFactory.d.ts +12 -12
- package/esm/drivers/factories/Factory.d.ts +1 -1
- package/esm/drivers/factories/IFactory.d.ts +1 -1
- package/esm/drivers/factories/index.d.ts +13 -1
- package/esm/drivers/features/FeatureFactory.d.ts +1 -1
- package/esm/drivers/features/index.d.ts +2 -1
- package/esm/drivers/hashers/HasherFactory.d.ts +2 -2
- package/esm/drivers/hashers/index.d.ts +2 -1
- package/esm/drivers/https/Http.d.ts +24 -0
- package/esm/drivers/https/HttpFactory.d.ts +20 -0
- package/esm/drivers/https/IHttp.d.ts +49 -0
- package/esm/drivers/https/entities/HttpMessage.d.ts +32 -0
- package/esm/drivers/https/entities/HttpRequest.d.ts +19 -0
- package/esm/drivers/{requesters → https}/entities/HttpResponse.d.ts +2 -5
- package/esm/drivers/{requesters/implements/DefaultRequester.d.ts → https/implements/DefaultHttp.d.ts} +4 -4
- package/esm/drivers/https/implements/HaloHttp.d.ts +37 -0
- package/esm/drivers/{requesters/implements/MkRequester.d.ts → https/implements/MkHttp.d.ts} +7 -7
- package/esm/drivers/https/index.d.ts +6 -0
- package/esm/drivers/index.d.ts +8 -8
- package/esm/drivers/providers/ProviderFactory.d.ts +3 -3
- package/esm/drivers/providers/index.d.ts +2 -1
- package/esm/drivers/signers/ISigner.d.ts +2 -2
- package/esm/drivers/signers/Signer.d.ts +13 -0
- package/esm/drivers/signers/SignerFactory.d.ts +1 -1
- package/esm/drivers/signers/implements/DefaultSigner.d.ts +4 -4
- package/esm/drivers/signers/index.d.ts +2 -1
- package/esm/drivers/ssos/ISso.d.ts +1 -1
- package/esm/drivers/ssos/SsoFactory.d.ts +1 -1
- package/esm/drivers/ssos/implements/AnonymousSso.d.ts +1 -1
- package/esm/drivers/ssos/implements/BearerSso.d.ts +1 -3
- package/esm/drivers/ssos/implements/NioSso.d.ts +1 -1
- package/esm/drivers/ssos/implements/SecretSso.d.ts +3 -3
- package/esm/drivers/ssos/implements/WeiXinSso.d.ts +1 -1
- package/esm/drivers/ssos/index.d.ts +2 -1
- package/esm/helpers/json-helper.d.ts +12 -4
- package/esm/helpers/object-helper.d.ts +4 -0
- package/esm/helpers/types/index.d.ts +0 -0
- package/esm/helpers/url-helper.d.ts +2 -2
- package/esm/main.d.ts +14 -3
- package/esm/services/index.d.ts +6 -12
- package/esm/services/types/IMessage.d.ts +14 -0
- package/esm/services/types/IMessager.d.ts +14 -0
- package/esm/services/types/index.d.ts +2 -0
- package/esm/stores/config.d.ts +10 -6
- package/esm/stores/driver.d.ts +2 -6
- package/esm/stores/index.d.ts +3 -2
- package/esm/stores/setting.d.ts +0 -4
- package/esm/stores/user.d.ts +3 -7
- package/esm/utilities/AffixUtility.d.ts +10 -0
- package/esm/utilities/EventUtility.d.ts +30 -0
- package/esm/utilities/KeyboardUtility.d.ts +73 -0
- package/esm/utilities/MouseUtility.d.ts +24 -0
- package/esm/utilities/index.d.ts +4 -0
- package/package.json +7 -7
- package/dist/vendor-axios-ud9O0vdJ.js +0 -1670
- package/esm/drivers/driver-helper.d.ts +0 -46
- package/esm/drivers/requesters/IRequester.d.ts +0 -25
- package/esm/drivers/requesters/Requester.d.ts +0 -13
- package/esm/drivers/requesters/RequesterFactory.d.ts +0 -21
- package/esm/drivers/requesters/entities/HttpRequest.d.ts +0 -34
- package/esm/drivers/requesters/implements/LocalRequester.d.ts +0 -43
- package/esm/drivers/requesters/index.d.ts +0 -5
- /package/esm/{thirds → plugins}/index.d.ts +0 -0
package/dist/style.css
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
html{-webkit-user-select:initial;user-select:initial;font-size:14px;font-family:Consolas}a{text-decoration:none}p{margin:0;line-height:20px}input{outline:none;margin:0;font-family:inherit}ul,ol{margin:0;padding:0;outline:none}li{list-style-type:none}img{display:block}pre{margin:0;font-family:inherit}.ha-code{width:100%;height:100%}.ha-code.border{width:calc(100% - 2px);height:calc(100% - 2px);border-radius:4px}.ha-code.border .monaco-editor,.ha-code.border .overflow-guard{border-radius:4px}.ha-code.border:has(.monaco-editor.focused){border:1px solid #007fd4}.ha-col{display:flex;gap:5px}.ha-compare{width:100%;height:100%}.ha-container{padding:10px;width:calc(100% - 20px);height:calc(100% - 20px)}.ha-container .ha-operation:nth-child(1){margin-top:0;margin-bottom:10px;padding:8px 10px;line-height:32px}.ha-progress{position:absolute;width:0;z-index:1}.ha-row{display:flex;gap:5px}.ha-row.between{justify-content:space-between}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
import { type Monaco } from "../plugins";
|
2
|
+
import { CodeProps } from "./types";
|
3
|
+
declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<CodeProps>, {
|
4
|
+
config: {};
|
5
|
+
}>, {
|
6
|
+
layout: () => void;
|
7
|
+
getEditor: () => Monaco.editor.IStandaloneCodeEditor;
|
8
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
9
|
+
mounted: (monaco: typeof Monaco, editor: Monaco.editor.IStandaloneCodeEditor) => void;
|
10
|
+
change: (value: string) => void;
|
11
|
+
scroll: (scrollTop: number) => void;
|
12
|
+
"update:modelValue": (value: any) => void;
|
13
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<CodeProps>, {
|
14
|
+
config: {};
|
15
|
+
}>>> & {
|
16
|
+
onScroll?: (scrollTop: number) => any;
|
17
|
+
onMounted?: (monaco: typeof Monaco, editor: Monaco.editor.IStandaloneCodeEditor) => any;
|
18
|
+
onChange?: (value: string) => any;
|
19
|
+
"onUpdate:modelValue"?: (value: any) => any;
|
20
|
+
}, {
|
21
|
+
config: any;
|
22
|
+
}, {}>;
|
23
|
+
export default _default;
|
24
|
+
|
25
|
+
type __VLS_WithDefaults<P, D> = {
|
26
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
27
|
+
default: D[K];
|
28
|
+
}> : P[K];
|
29
|
+
};
|
30
|
+
type __VLS_Prettify<T> = {
|
31
|
+
[K in keyof T]: T[K];
|
32
|
+
} & {};
|
33
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
34
|
+
type __VLS_TypePropsToOption<T> = {
|
35
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
36
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
37
|
+
} : {
|
38
|
+
type: import('vue').PropType<T[K]>;
|
39
|
+
required: true;
|
40
|
+
};
|
41
|
+
};
|
@@ -0,0 +1,11 @@
|
|
1
|
+
declare function __VLS_template(): {
|
2
|
+
default?(_: {}): any;
|
3
|
+
};
|
4
|
+
declare const __VLS_component: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
|
5
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
|
6
|
+
export default _default;
|
7
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
8
|
+
new (): {
|
9
|
+
$slots: S;
|
10
|
+
};
|
11
|
+
};
|
@@ -0,0 +1,40 @@
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{
|
2
|
+
inline: {
|
3
|
+
type: BooleanConstructor;
|
4
|
+
default: boolean;
|
5
|
+
};
|
6
|
+
language: {
|
7
|
+
type: StringConstructor;
|
8
|
+
};
|
9
|
+
original: {
|
10
|
+
type: StringConstructor;
|
11
|
+
};
|
12
|
+
modelValue: {
|
13
|
+
type: StringConstructor;
|
14
|
+
};
|
15
|
+
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
16
|
+
change: (...args: any[]) => void;
|
17
|
+
"update:modelValue": (...args: any[]) => void;
|
18
|
+
"update:original": (...args: any[]) => void;
|
19
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
20
|
+
inline: {
|
21
|
+
type: BooleanConstructor;
|
22
|
+
default: boolean;
|
23
|
+
};
|
24
|
+
language: {
|
25
|
+
type: StringConstructor;
|
26
|
+
};
|
27
|
+
original: {
|
28
|
+
type: StringConstructor;
|
29
|
+
};
|
30
|
+
modelValue: {
|
31
|
+
type: StringConstructor;
|
32
|
+
};
|
33
|
+
}>> & {
|
34
|
+
onChange?: (...args: any[]) => any;
|
35
|
+
"onUpdate:modelValue"?: (...args: any[]) => any;
|
36
|
+
"onUpdate:original"?: (...args: any[]) => any;
|
37
|
+
}, {
|
38
|
+
inline: boolean;
|
39
|
+
}, {}>;
|
40
|
+
export default _default;
|
@@ -0,0 +1,23 @@
|
|
1
|
+
declare function __VLS_template(): {
|
2
|
+
default?(_: {}): any;
|
3
|
+
};
|
4
|
+
declare const __VLS_component: import("vue").DefineComponent<{
|
5
|
+
container: {
|
6
|
+
type: BooleanConstructor;
|
7
|
+
default: boolean;
|
8
|
+
};
|
9
|
+
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
10
|
+
container: {
|
11
|
+
type: BooleanConstructor;
|
12
|
+
default: boolean;
|
13
|
+
};
|
14
|
+
}>>, {
|
15
|
+
container: boolean;
|
16
|
+
}, {}>;
|
17
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
|
18
|
+
export default _default;
|
19
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
20
|
+
new (): {
|
21
|
+
$slots: S;
|
22
|
+
};
|
23
|
+
};
|
@@ -0,0 +1,26 @@
|
|
1
|
+
declare function __VLS_template(): {
|
2
|
+
default?(_: {}): any;
|
3
|
+
};
|
4
|
+
declare const __VLS_component: import("vue").DefineComponent<{
|
5
|
+
message: {
|
6
|
+
type: StringConstructor;
|
7
|
+
default: string;
|
8
|
+
};
|
9
|
+
hasData: BooleanConstructor;
|
10
|
+
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
11
|
+
message: {
|
12
|
+
type: StringConstructor;
|
13
|
+
default: string;
|
14
|
+
};
|
15
|
+
hasData: BooleanConstructor;
|
16
|
+
}>>, {
|
17
|
+
message: string;
|
18
|
+
hasData: boolean;
|
19
|
+
}, {}>;
|
20
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
|
21
|
+
export default _default;
|
22
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
23
|
+
new (): {
|
24
|
+
$slots: S;
|
25
|
+
};
|
26
|
+
};
|
@@ -0,0 +1,8 @@
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{
|
2
|
+
modelValue: BooleanConstructor;
|
3
|
+
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
4
|
+
modelValue: BooleanConstructor;
|
5
|
+
}>>, {
|
6
|
+
modelValue: boolean;
|
7
|
+
}, {}>;
|
8
|
+
export default _default;
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { RowProps } from "./types";
|
2
|
+
declare function __VLS_template(): {
|
3
|
+
default?(_: {}): any;
|
4
|
+
};
|
5
|
+
declare const __VLS_component: import("vue").DefineComponent<__VLS_TypePropsToOption<RowProps>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<RowProps>>>, {}, {}>;
|
6
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
|
7
|
+
export default _default;
|
8
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
9
|
+
new (): {
|
10
|
+
$slots: S;
|
11
|
+
};
|
12
|
+
};
|
13
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
14
|
+
type __VLS_TypePropsToOption<T> = {
|
15
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
16
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
17
|
+
} : {
|
18
|
+
type: import('vue').PropType<T[K]>;
|
19
|
+
required: true;
|
20
|
+
};
|
21
|
+
};
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import HaCode from "./Code.vue";
|
2
|
+
import HaCol from "./Col.vue";
|
3
|
+
import HaCompare from "./Compare.vue";
|
4
|
+
import HaContainer from "./Container.vue";
|
5
|
+
import HaEmpty from "./Empty.vue";
|
6
|
+
import HaProgress from "./Progress.vue";
|
7
|
+
import HaRow from "./Row.vue";
|
8
|
+
export { HaCode, HaCol, HaCompare, HaContainer, HaEmpty, HaProgress, HaRow };
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { Monaco } from "../../plugins";
|
2
|
+
/**
|
3
|
+
* 代码控件事件
|
4
|
+
*/
|
5
|
+
interface CodeEmit {
|
6
|
+
/**
|
7
|
+
* 挂载完毕事件
|
8
|
+
*/
|
9
|
+
(event: 'mounted', monaco: typeof Monaco, editor: Monaco.editor.IStandaloneCodeEditor): void;
|
10
|
+
/**
|
11
|
+
* 值变动事件
|
12
|
+
*/
|
13
|
+
(event: 'change', value: string): void;
|
14
|
+
/**
|
15
|
+
* 滚动事件
|
16
|
+
*/
|
17
|
+
(event: 'scroll', scrollTop: number): void;
|
18
|
+
/**
|
19
|
+
* 值更新
|
20
|
+
*/
|
21
|
+
(event: 'update:modelValue', value: any): void;
|
22
|
+
}
|
23
|
+
export default CodeEmit;
|
@@ -8,11 +8,11 @@ declare class EncoderFactory extends Factory<IEncoder> {
|
|
8
8
|
/**
|
9
9
|
* 创建执行类型的Hash实例
|
10
10
|
*/
|
11
|
-
create(type: string, conn?: string): IEncoder
|
11
|
+
create(type: string, conn?: string): Promise<IEncoder>;
|
12
12
|
private base64;
|
13
13
|
/**
|
14
14
|
* 获取Base64 编码器对象
|
15
15
|
*/
|
16
|
-
getBase64(): IEncoder
|
16
|
+
getBase64(): Promise<IEncoder>;
|
17
17
|
}
|
18
18
|
export default EncoderFactory;
|
@@ -1,13 +1,13 @@
|
|
1
|
-
import {
|
2
|
-
import EncoderFactory from "../encoders
|
3
|
-
import SignerFactory from "../signers
|
4
|
-
import SsoFactory from "../ssos
|
5
|
-
import CdnFactory from "../cdns
|
6
|
-
import ExplainerFactory from "../explainers
|
7
|
-
import ExcelFactory from "../excels
|
8
|
-
import FeatureFactory from "../features
|
9
|
-
import HasherFactory from "../hashers
|
10
|
-
import ProviderFactory from "../providers
|
1
|
+
import { HttpFactory } from "../https";
|
2
|
+
import { EncoderFactory } from "../encoders";
|
3
|
+
import { SignerFactory } from "../signers";
|
4
|
+
import { SsoFactory } from "../ssos";
|
5
|
+
import { CdnFactory } from "../cdns";
|
6
|
+
import { ExplainerFactory } from "../explainers";
|
7
|
+
import { ExcelFactory } from "../excels";
|
8
|
+
import { FeatureFactory } from "../features";
|
9
|
+
import { HasherFactory } from "../hashers";
|
10
|
+
import { ProviderFactory } from "../providers";
|
11
11
|
/**
|
12
12
|
* 驱动工厂类
|
13
13
|
*/
|
@@ -49,9 +49,9 @@ declare class DriverFactory {
|
|
49
49
|
*/
|
50
50
|
static getProvider(): ProviderFactory;
|
51
51
|
/**
|
52
|
-
|
52
|
+
*获取Http请求工厂
|
53
53
|
*/
|
54
|
-
static
|
54
|
+
static getHttp(): HttpFactory;
|
55
55
|
/**
|
56
56
|
*获取签名工厂
|
57
57
|
*/
|
@@ -1,2 +1,14 @@
|
|
1
1
|
import DriverFactory from "./DriverFactory";
|
2
|
-
|
2
|
+
import { HttpFactory, IHttp } from "../https";
|
3
|
+
import { EncoderFactory } from "../encoders";
|
4
|
+
/**
|
5
|
+
* 默认Http请求对象
|
6
|
+
*/
|
7
|
+
declare let httpFactory: HttpFactory;
|
8
|
+
declare let encoderFactory: EncoderFactory;
|
9
|
+
declare let http: IHttp;
|
10
|
+
/**
|
11
|
+
* 设置Http请求对象
|
12
|
+
*/
|
13
|
+
declare let setHttp: () => Promise<void>;
|
14
|
+
export { DriverFactory, httpFactory, encoderFactory, http, setHttp };
|
@@ -2,11 +2,11 @@ import IHasher from "./IHasher";
|
|
2
2
|
import Factory from "../factories/Factory";
|
3
3
|
declare class HasherFactory extends Factory<IHasher> {
|
4
4
|
getInstances(): IHasher[];
|
5
|
-
create(type: string, conn?: string): IHasher
|
5
|
+
create(type: string, conn?: string): Promise<IHasher>;
|
6
6
|
private md5;
|
7
7
|
/**
|
8
8
|
* 获取MD5 Hash对象
|
9
9
|
*/
|
10
|
-
getMd5(): IHasher
|
10
|
+
getMd5(): Promise<IHasher>;
|
11
11
|
}
|
12
12
|
export default HasherFactory;
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import IHttp from "./IHttp";
|
2
|
+
import HttpRequest from "./entities/HttpRequest";
|
3
|
+
import HttpResponse from "./entities/HttpResponse";
|
4
|
+
/**
|
5
|
+
* 请求器基类
|
6
|
+
*/
|
7
|
+
declare abstract class Http implements IHttp {
|
8
|
+
type: string;
|
9
|
+
abstract open(conn: string): Promise<void>;
|
10
|
+
onRequest: (request: HttpRequest) => void;
|
11
|
+
onResponse: (response: HttpResponse) => void;
|
12
|
+
get(path: string): Promise<any>;
|
13
|
+
sendGet(path: string): Promise<HttpResponse>;
|
14
|
+
post(path: string, body: any): Promise<any>;
|
15
|
+
sendPost(path: string, body?: any): Promise<HttpResponse>;
|
16
|
+
patch(path: string): Promise<any>;
|
17
|
+
sendPatch(path: string, pairs: any): Promise<HttpResponse>;
|
18
|
+
abstract send(request: HttpRequest): Promise<HttpResponse>;
|
19
|
+
/**
|
20
|
+
* 获取请求消息
|
21
|
+
*/
|
22
|
+
getRequest(method: string, path: string, body?: any): HttpRequest;
|
23
|
+
}
|
24
|
+
export default Http;
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import IHttp from "./IHttp";
|
2
|
+
import Factory from "../factories/Factory";
|
3
|
+
/**
|
4
|
+
* 请求器工厂类
|
5
|
+
*/
|
6
|
+
declare class HttpFactory extends Factory<IHttp> {
|
7
|
+
getInstances(): IHttp[];
|
8
|
+
private _default;
|
9
|
+
/**
|
10
|
+
* 获取默认请求器
|
11
|
+
*/
|
12
|
+
getDefault(): Promise<IHttp>;
|
13
|
+
private halo;
|
14
|
+
/**
|
15
|
+
* 获取本地请求实例
|
16
|
+
* 获取完毕后,下游第一行代码就要配置消息服务
|
17
|
+
*/
|
18
|
+
getHalo(): Promise<IHttp>;
|
19
|
+
}
|
20
|
+
export default HttpFactory;
|
@@ -0,0 +1,49 @@
|
|
1
|
+
import HttpRequest from "./entities/HttpRequest";
|
2
|
+
import HttpResponse from "./entities/HttpResponse";
|
3
|
+
import IDriver from "../IDriver";
|
4
|
+
/**
|
5
|
+
* 请求器接口
|
6
|
+
*/
|
7
|
+
interface IHttp extends IDriver {
|
8
|
+
/**
|
9
|
+
* 开启
|
10
|
+
*/
|
11
|
+
open(conn: string): Promise<void>;
|
12
|
+
/**
|
13
|
+
* 请求时执行
|
14
|
+
*/
|
15
|
+
onRequest: (request: HttpRequest) => void;
|
16
|
+
/**
|
17
|
+
* 响应时执行
|
18
|
+
*/
|
19
|
+
onResponse: (response: HttpResponse) => void;
|
20
|
+
/**
|
21
|
+
* 发送GET请求,并得到响应体
|
22
|
+
*/
|
23
|
+
get(path: string): Promise<any>;
|
24
|
+
/**
|
25
|
+
* 发送GET请求
|
26
|
+
*/
|
27
|
+
sendGet(path: string): Promise<HttpResponse>;
|
28
|
+
/**
|
29
|
+
* 发送Post请求,并得到响应体
|
30
|
+
*/
|
31
|
+
post(path: string, body?: any): Promise<any>;
|
32
|
+
/**
|
33
|
+
* 发送Post请求
|
34
|
+
*/
|
35
|
+
sendPost(path: string, body?: any): Promise<HttpResponse>;
|
36
|
+
/**
|
37
|
+
* 发送Patch请求,并得到响应体
|
38
|
+
*/
|
39
|
+
patch(path: string, pairs: any): Promise<any>;
|
40
|
+
/**
|
41
|
+
* 发送Patch请求
|
42
|
+
*/
|
43
|
+
sendPatch(path: string, pairs: any): Promise<HttpResponse>;
|
44
|
+
/**
|
45
|
+
* 发送请求
|
46
|
+
*/
|
47
|
+
send(request: HttpRequest): Promise<HttpResponse>;
|
48
|
+
}
|
49
|
+
export default IHttp;
|
@@ -0,0 +1,32 @@
|
|
1
|
+
/**
|
2
|
+
* Http消息基类
|
3
|
+
*/
|
4
|
+
declare abstract class HttpMessage {
|
5
|
+
/**
|
6
|
+
* 实体数据
|
7
|
+
*/
|
8
|
+
data: any;
|
9
|
+
/**
|
10
|
+
* 数据体
|
11
|
+
*/
|
12
|
+
body: string;
|
13
|
+
/**
|
14
|
+
* 请求头
|
15
|
+
*/
|
16
|
+
headers?: [string, string];
|
17
|
+
/**
|
18
|
+
* 内容类型
|
19
|
+
*/
|
20
|
+
contentType: string;
|
21
|
+
/**
|
22
|
+
* 获取指定Key的值
|
23
|
+
*/
|
24
|
+
getHeader(key: string): string;
|
25
|
+
/**
|
26
|
+
* 添加请求头
|
27
|
+
*/
|
28
|
+
addHeaders(headers: {
|
29
|
+
[key: string]: string;
|
30
|
+
}): void;
|
31
|
+
}
|
32
|
+
export default HttpMessage;
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import HttpMessage from "./HttpMessage";
|
2
|
+
/**
|
3
|
+
* Http请求
|
4
|
+
*/
|
5
|
+
declare class HttpRequest extends HttpMessage {
|
6
|
+
/**
|
7
|
+
* 请求路径
|
8
|
+
*/
|
9
|
+
path: string;
|
10
|
+
/**
|
11
|
+
* 请求方法
|
12
|
+
*/
|
13
|
+
method: string;
|
14
|
+
/**
|
15
|
+
* 实际请求地址
|
16
|
+
*/
|
17
|
+
url?: string;
|
18
|
+
}
|
19
|
+
export default HttpRequest;
|
@@ -1,16 +1,13 @@
|
|
1
1
|
import HttpRequest from "./HttpRequest";
|
2
|
+
import HttpMessage from "./HttpMessage";
|
2
3
|
/**
|
3
4
|
* Http响应
|
4
5
|
*/
|
5
|
-
declare class HttpResponse {
|
6
|
+
declare class HttpResponse extends HttpMessage {
|
6
7
|
/**
|
7
8
|
* 请求耗时
|
8
9
|
*/
|
9
10
|
elapsed: number;
|
10
|
-
/**
|
11
|
-
* 请求体
|
12
|
-
*/
|
13
|
-
body: string;
|
14
11
|
/**
|
15
12
|
* 对应的请求信息
|
16
13
|
*/
|
@@ -1,12 +1,12 @@
|
|
1
|
-
import
|
1
|
+
import Http from "../Http";
|
2
2
|
import HttpRequest from "../entities/HttpRequest";
|
3
3
|
import HttpResponse from "../entities/HttpResponse";
|
4
4
|
/**
|
5
5
|
* 默认Http请求器
|
6
6
|
*/
|
7
|
-
declare class
|
7
|
+
declare class DefaultHttp extends Http {
|
8
8
|
type: string;
|
9
|
-
open(conn: string): void
|
9
|
+
open(conn: string): Promise<void>;
|
10
10
|
send(request: HttpRequest): Promise<HttpResponse>;
|
11
11
|
}
|
12
|
-
export default
|
12
|
+
export default DefaultHttp;
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import Http from "../Http";
|
2
|
+
import HttpRequest from "../entities/HttpRequest";
|
3
|
+
import HttpResponse from "../entities/HttpResponse";
|
4
|
+
import IHttp from "../IHttp";
|
5
|
+
/**
|
6
|
+
* 框架请求器
|
7
|
+
*/
|
8
|
+
declare class HaloHttp extends Http {
|
9
|
+
type: string;
|
10
|
+
/**
|
11
|
+
* 基准地址
|
12
|
+
*/
|
13
|
+
baseUrl: string;
|
14
|
+
/**
|
15
|
+
* 默认请求器
|
16
|
+
*/
|
17
|
+
http: IHttp;
|
18
|
+
/**
|
19
|
+
* 开启
|
20
|
+
*/
|
21
|
+
open(conn: string): Promise<void>;
|
22
|
+
/**
|
23
|
+
* 发送请求
|
24
|
+
*/
|
25
|
+
send(request: HttpRequest): Promise<HttpResponse>;
|
26
|
+
/**
|
27
|
+
* 获取请求头
|
28
|
+
*/
|
29
|
+
getHeaders(request: HttpRequest): Promise<{
|
30
|
+
[key: string]: string;
|
31
|
+
}>;
|
32
|
+
/**
|
33
|
+
* 处理网络错误和响应错误场景
|
34
|
+
*/
|
35
|
+
handleError(error: any): Promise<never>;
|
36
|
+
}
|
37
|
+
export default HaloHttp;
|