@magicbe/api-generator
Version:
api 生成器
182 lines (181 loc) • 4.25 kB
TypeScript
export interface ResBodyOtherRootProperty {
type: string;
items?: ResBodyOtherRoot;
description: string;
example?: string;
}
export interface ResBodyOtherRoot {
$schema: string;
type: string;
properties: Record<string, ResBodyOtherRootProperty>;
required: string[];
$$ref: string;
}
/** 接口详情数据路径参数 */
export interface ApiDetailsRootDataQueryPath {
path: string;
params: any[];
}
/** 接口详情数据请求头 */
export interface ApiDetailsRootDataReqHeader {
required: string;
_id: string;
name: string;
value: string;
}
export interface ApiDetailsRootDataReqBodyRoot {
required: string;
_id: string;
name: string;
desc: string;
}
/** 接口详情数据 */
export interface ApiDetailsRootData {
query_path: ApiDetailsRootDataQueryPath;
edit_uid: number;
status: string;
type: string;
req_body_is_json_schema: boolean;
res_body_is_json_schema: boolean;
api_opened: boolean;
index: number;
tag: string[];
_id: number;
method: string;
catid: number;
title: string;
path: string;
project_id: number;
res_body_type: string;
res_body: string;
req_body_other: string;
req_params: ApiDetailsRootDataReqBodyRoot[];
req_query: ApiDetailsRootDataReqBodyRoot[];
req_headers: ApiDetailsRootDataReqBodyRoot[];
req_body_form: any[];
desc: string;
markdown: string;
req_body_type: string;
uid: number;
add_time: number;
up_time: number;
__v: number;
username: string;
}
/** 接口详情数据 */
export interface ApiDetailsRoot {
errcode: number;
errmsg: string;
data: ApiDetailsRootData;
}
/** 接口菜单列数据列表 */
export interface ListMenuRootDataList {
edit_uid: number;
status: string;
index: number;
tag: any[];
_id: number;
method: string;
catid: number;
title: string;
path: string;
project_id: number;
uid: number;
add_time: number;
up_time: number;
}
/** 接口菜单列数据 */
export interface ListMenuRootData {
index: number;
_id: number;
name: string;
project_id: number;
desc: string;
uid: number;
add_time: number;
up_time: number;
__v: number;
list: ListMenuRootDataList[];
}
/** 项目基本信息对象环境头 */
export interface ProjectRootDataEnvHeader {
name: string;
value: string;
}
/** 项目基本信息对象环境 */
export interface ProjectRootDataEnv {
header: ProjectRootDataEnvHeader[];
global: any[];
_id: string;
name: string;
domain: string;
}
/** 项目基本信息对象标签 */
export interface ProjectRootDataTag {
_id: string;
name: string;
desc: string;
}
/** 项目基本信息对象数据 */
export interface ProjectRootData {
switch_notice: boolean;
is_mock_open: boolean;
strice: boolean;
is_json5: boolean;
_id: number;
name: string;
basepath: string;
project_type: string;
uid: number;
group_id: number;
icon: string;
color: string;
add_time: number;
up_time: number;
env: ProjectRootDataEnv[];
tag: ProjectRootDataTag[];
cat: any[];
role: boolean;
}
/** 项目基本信息对象 */
export interface ProjectRoot {
errcode: number;
errmsg: string;
data: ProjectRootData;
}
/** 接口菜单列数据 */
export interface ListMenuRoot {
errcode: number;
errmsg: string;
data: ListMenuRootData[];
}
export interface GeneratorYapiV3Options {
service: string;
target: string;
output: string;
function: string;
token: string;
cats?: number[];
}
declare class GeneratorYapiV3 {
private options;
constructor(options: GeneratorYapiV3Options);
gen(): Promise<void>;
private genJavascript;
private genTypescript;
private parseQueryParams;
private parsePathParams;
private parseBodyParams;
private parseResponseBody;
private getTypeFromSchema;
private generateNestedInterfaceName;
private generateNestedInterface;
private getInterfaceName;
private getFunctionName;
private buildUrl;
/**
* 创建目录
*/
private static mkDir;
}
export default GeneratorYapiV3;