添加类型
This commit is contained in:
parent
192685537a
commit
39f0d7c566
@ -3,13 +3,39 @@ import type { Result, DataOpts } from '@kevisual/query/query';
|
|||||||
import { setBaseResponse } from '@kevisual/query/query';
|
import { setBaseResponse } from '@kevisual/query/query';
|
||||||
|
|
||||||
export type SimpleObject = Record<string, any>;
|
export type SimpleObject = Record<string, any>;
|
||||||
|
export const markType = ['simple', 'md', 'mdx', 'wallnote', 'excalidraw'] as const;
|
||||||
|
export type MarkType = (typeof markType)[number];
|
||||||
|
export type MarkData = {
|
||||||
|
nodes?: any[];
|
||||||
|
edges?: any[];
|
||||||
|
elements?: any[];
|
||||||
|
permission?: any;
|
||||||
|
|
||||||
|
[key: string]: any;
|
||||||
|
};
|
||||||
|
export type Mark = {
|
||||||
|
id: string;
|
||||||
|
title: string;
|
||||||
|
description: string;
|
||||||
|
markType: MarkType;
|
||||||
|
link: string;
|
||||||
|
data?: MarkData;
|
||||||
|
uid: string;
|
||||||
|
puid: string;
|
||||||
|
summary: string;
|
||||||
|
thumbnail?: string;
|
||||||
|
tags: string[];
|
||||||
|
createdAt: string;
|
||||||
|
updatedAt: string;
|
||||||
|
};
|
||||||
|
export type ShowMarkPick = Pick<Mark, 'id' | 'title' | 'description' | 'summary' | 'link' | 'tags' | 'thumbnail' | 'updatedAt'>;
|
||||||
|
|
||||||
export type SearchOpts = {
|
export type SearchOpts = {
|
||||||
page: number;
|
page: number;
|
||||||
pageSize: number;
|
pageSize: number;
|
||||||
search?: string;
|
search?: string;
|
||||||
sort?: string; // DESC, ASC
|
sort?: string; // DESC, ASC
|
||||||
markType?: string; // 类型
|
markType?: MarkType; // 类型
|
||||||
[key: string]: any;
|
[key: string]: any;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -19,6 +45,14 @@ export type QueryMarkOpts<T extends SimpleObject = SimpleObject> = {
|
|||||||
onLoad?: () => void;
|
onLoad?: () => void;
|
||||||
} & T;
|
} & T;
|
||||||
|
|
||||||
|
export type ResultMarkList = {
|
||||||
|
list: Mark[];
|
||||||
|
pagination: {
|
||||||
|
pageSize: number;
|
||||||
|
current: number;
|
||||||
|
total: number;
|
||||||
|
};
|
||||||
|
};
|
||||||
export type QueryMarkData = {
|
export type QueryMarkData = {
|
||||||
id?: string;
|
id?: string;
|
||||||
title?: string;
|
title?: string;
|
||||||
@ -51,9 +85,9 @@ export class QueryMarkBase<T extends SimpleObject = SimpleObject> {
|
|||||||
this.onLoad?.();
|
this.onLoad?.();
|
||||||
}
|
}
|
||||||
|
|
||||||
async post<T = any>(data: any, opts?: DataOpts) {
|
async post<T = Result<any>>(data: any, opts?: DataOpts): Promise<T> {
|
||||||
try {
|
try {
|
||||||
return this.query.post<T>({ path: 'mark', ...data }, opts);
|
return this.query.post({ path: 'mark', ...data }, opts) as Promise<T>;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log('error', error);
|
console.log('error', error);
|
||||||
return {
|
return {
|
||||||
@ -63,15 +97,19 @@ export class QueryMarkBase<T extends SimpleObject = SimpleObject> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async getMarkList(search: SearchOpts, opts?: DataOpts) {
|
async getMarkList(search: SearchOpts, opts?: DataOpts) {
|
||||||
return this.post({ key: 'list', ...search }, opts);
|
return this.post<Result<ResultMarkList>>({ key: 'list', ...search }, opts);
|
||||||
}
|
}
|
||||||
|
|
||||||
async getMark(id: string, opts?: DataOpts) {
|
async getMark(id: string, opts?: DataOpts) {
|
||||||
return this.post({ key: 'get', id }, opts);
|
return this.post<Result<Mark>>({ key: 'get', id }, opts);
|
||||||
}
|
}
|
||||||
|
|
||||||
async updateMark(id: string, data: any, opts?: DataOpts) {
|
async updateMark(id: string, data: any, opts?: DataOpts) {
|
||||||
return this.post({ key: 'update', id, ...data }, opts);
|
return this.post<Result<Mark>>({ key: 'update', id, data }, opts);
|
||||||
|
}
|
||||||
|
|
||||||
|
async deleteMark(id: string, opts?: DataOpts) {
|
||||||
|
return this.post<Result<Mark>>({ key: 'delete', id }, opts);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
export class QueryMark extends QueryMarkBase<SimpleObject> {
|
export class QueryMark extends QueryMarkBase<SimpleObject> {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user