amis-model-design
Version:
amis模型设计器
60 lines (59 loc) • 2.13 kB
TypeScript
import { MainStore } from '../base/MainStore';
import { ModelStore } from '../base/ModelStore';
import { ApiBuilder } from './ApiBuilder';
import type { ApiStrategyInterface } from './ApiStrategyInterface';
import type { Api } from '../type';
export interface JsonQLApiStrategyOptions {
apiPrefix?: string;
}
export declare class JsonQLApiStrategy implements ApiStrategyInterface {
readonly store: MainStore;
readonly model: ModelStore;
readonly options: JsonQLApiStrategyOptions;
strategy: "jsonql";
constructor(store: MainStore, model: ModelStore, options: JsonQLApiStrategyOptions);
setOptions(options: Partial<JsonQLApiStrategyOptions>): void;
get apiPrefix(): string;
/** 数据源和模型相关信息 */
get modelInfo(): {
value: string;
label: string;
dsId: string;
dsKey: string;
dsLabel: string;
mId: string;
mKey: string;
mLabel: string;
};
/** FROM子句,SELECT子句使用from为key,其他情况使用table为key */
get FROMClause(): string;
normalizeVars(defaultVars: string[], ab?: ApiBuilder): string[];
/** 列表查询接口 */
listApi(ab: ApiBuilder): Api;
/** 选项类数据源接口 */
optionsApi(ab?: ApiBuilder): Api;
/** 自动补全联想列表接口 */
autoCompleteApi(ab?: ApiBuilder): Api;
extractIdParam(str?: string): string | undefined;
/** 单条详情查询接口 */
detailApi(ab: ApiBuilder): Api;
/** 新增单条接口 */
storeApi(ab?: ApiBuilder): Api;
/** 编辑单条接口 */
updateApi(ab?: ApiBuilder): Api;
bulkSaveApi(ab?: ApiBuilder): Api;
/** 快速编辑单条数据 */
quickSaveItemApi(ab: ApiBuilder): Api;
/** 快速编辑多条数据 */
quickSaveApi(ab: ApiBuilder): Api;
/** 单条删除接口 */
deleteApi(ab: ApiBuilder): Api;
/** 批量删除接口 */
bulkDeleteApi(ab: ApiBuilder): Api;
saveOrderApi(): string;
exportApi(): Api;
importApi(): string;
importAsyncApi(): string;
donwloadImportTemplateApi(): Api;
truncatApi(): string;
}