zsqy-naive-ui/src/enums/httpEnum.ts

166 lines
3.4 KiB
TypeScript

/**
* @description: 请求结果集
*/
export enum ResultEnum {
STATUS = 200,
DATA_SUCCESS = 0,
SUCCESS = 2000,
SERVER_ERROR = 500,
SERVER_FORBIDDEN = 403,
NOT_FOUND = 404,
TIMEOUT = 10042,
}
// 数据相关
export enum RequestDataTypeEnum {
// 静态数据
STATIC = 0,
// 请求数据
AJAX = 1,
}
// 请求主体类型
export enum RequestContentTypeEnum {
// 普通请求
DEFAULT = 0,
// SQL请求
SQL = 1,
}
/**
* @description: 请求方法
*/
export enum RequestHttpEnum {
GET = "get",
POST = "post",
PATCH = "patch",
PUT = "put",
DELETE = "delete",
}
/**
* @description: 请求间隔
*/
export enum RequestHttpIntervalEnum {
// 秒
SECOND = "second",
// 分
MINUTE = "minute",
// 时
HOUR = "hour",
// 天
DAY = "day",
}
/**
* @description: 请求间隔名称
*/
export const SelectHttpTimeNameObj = {
[RequestHttpIntervalEnum.SECOND]: "秒",
[RequestHttpIntervalEnum.MINUTE]: "分",
[RequestHttpIntervalEnum.HOUR]: "时",
[RequestHttpIntervalEnum.DAY]: "天",
};
/**
* @description: 请求头部类型
*/
export enum RequestBodyEnum {
NONE = "none",
FORM_DATA = "form-data",
X_WWW_FORM_URLENCODED = "x-www-form-urlencoded",
JSON = "json",
XML = "xml",
}
/**
* @description: 请求头部类型数组
*/
export const RequestBodyEnumList = [
RequestBodyEnum.NONE,
RequestBodyEnum.FORM_DATA,
RequestBodyEnum.X_WWW_FORM_URLENCODED,
RequestBodyEnum.JSON,
RequestBodyEnum.XML,
];
/**
* @description: 请求参数类型
*/
export enum RequestParamsTypeEnum {
PARAMS = "Params",
BODY = "Body",
HEADER = "Header",
}
/**
* @description: 请求参数主体
*/
export type RequestParamsObjType = {
[T: string]: string;
};
export type RequestParams = {
[RequestParamsTypeEnum.PARAMS]: RequestParamsObjType;
[RequestParamsTypeEnum.HEADER]: RequestParamsObjType;
[RequestParamsTypeEnum.BODY]: {
[RequestBodyEnum.FORM_DATA]: RequestParamsObjType;
[RequestBodyEnum.X_WWW_FORM_URLENCODED]: RequestParamsObjType;
[RequestBodyEnum.JSON]: string;
[RequestBodyEnum.XML]: string;
};
};
/**
* @description: 常用的contentTyp类型
*/
export enum ContentTypeEnum {
// json
JSON = "application/json;charset=UTF-8",
// text
TEXT = "text/plain;charset=UTF-8",
// xml
XML = "application/xml;charset=UTF-8",
// application/x-www-form-urlencoded 一般配合qs
FORM_URLENCODED = "application/x-www-form-urlencoded;charset=UTF-8",
// form-data 上传
FORM_DATA = "multipart/form-data;charset=UTF-8",
}
//
// 请求公共类型
type RequestPublicConfigType = {
// 时间单位(时分秒)
requestIntervalUnit: RequestHttpIntervalEnum;
// 请求内容
requestParams: RequestParams;
};
// 全局的图表请求配置
export interface RequestGlobalConfigType extends RequestPublicConfigType {
// 组件定制轮询时间
requestInterval: number;
// 请求源地址
requestOriginUrl?: string;
}
// 单个图表请求配置
export interface RequestConfigType extends RequestPublicConfigType {
// 组件定制轮询时间
requestInterval?: number;
// 获取数据的方式
requestDataType: RequestDataTypeEnum;
// 请求方式 get/post/del/put/patch
requestHttpType: RequestHttpEnum;
// 源后续的 url
requestUrl?: string;
// 请求内容主体方式 普通/sql
requestContentType: RequestContentTypeEnum;
// 请求体类型
requestParamsBodyType: RequestBodyEnum;
// SQL 请求对象
requestSQLContent: {
sql: string;
};
}