@mx-space/api-client 0.7.0 → 0.7.1
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/adaptors/axios.ts +34 -32
- package/adaptors/umi-request.ts +25 -22
- package/build/index.cjs.js +12 -32
- package/build/index.cjs.js.map +1 -1
- package/build/index.cjs.min.js +1 -1
- package/build/index.cjs.min.js.map +1 -1
- package/build/index.esm.js +13 -32
- package/build/index.esm.js.map +1 -1
- package/build/index.esm.min.js +1 -1
- package/build/index.esm.min.js.map +1 -1
- package/build/index.umd.js +12 -32
- package/build/index.umd.js.map +1 -1
- package/build/index.umd.min.js +1 -1
- package/build/index.umd.min.js.map +1 -1
- package/controllers/aggregate.ts +9 -5
- package/controllers/base.ts +3 -3
- package/controllers/category.ts +18 -7
- package/controllers/comment.ts +10 -6
- package/controllers/link.ts +11 -4
- package/controllers/note.ts +11 -7
- package/controllers/page.ts +10 -5
- package/controllers/post.ts +15 -8
- package/controllers/project.ts +10 -3
- package/controllers/recently.ts +10 -5
- package/controllers/say.ts +10 -5
- package/controllers/search.ts +14 -7
- package/controllers/snippet.ts +9 -4
- package/controllers/user.ts +10 -5
- package/core/attach-request.ts +1 -1
- package/core/client.ts +37 -47
- package/coverage/clover.xml +281 -274
- package/coverage/coverage-final.json +20 -20
- package/coverage/lcov-report/adaptors/axios.ts.html +48 -42
- package/coverage/lcov-report/adaptors/index.html +24 -24
- package/coverage/lcov-report/adaptors/umi-request.ts.html +42 -33
- package/coverage/lcov-report/auto-bind.ts.html +229 -0
- package/coverage/lcov-report/controllers/aggregate.ts.html +20 -8
- package/coverage/lcov-report/controllers/base.ts.html +4 -4
- package/coverage/lcov-report/controllers/category.ts.html +43 -10
- package/coverage/lcov-report/controllers/comment.ts.html +21 -9
- package/coverage/lcov-report/controllers/index.html +1 -1
- package/coverage/lcov-report/controllers/index.ts.html +2 -2
- package/coverage/lcov-report/controllers/link.ts.html +28 -7
- package/coverage/lcov-report/controllers/note.ts.html +21 -9
- package/coverage/lcov-report/controllers/page.ts.html +22 -7
- package/coverage/lcov-report/controllers/post.ts.html +37 -16
- package/coverage/lcov-report/controllers/project.ts.html +27 -6
- package/coverage/lcov-report/controllers/recently.ts.html +23 -8
- package/coverage/lcov-report/controllers/say.ts.html +23 -8
- package/coverage/lcov-report/controllers/search.ts.html +31 -10
- package/coverage/lcov-report/controllers/snippet.ts.html +22 -7
- package/coverage/lcov-report/controllers/user.ts.html +23 -8
- package/coverage/lcov-report/core/attach-request.ts.html +13 -13
- package/coverage/lcov-report/core/client.ts.html +120 -150
- package/coverage/lcov-report/core/error.ts.html +1 -1
- package/coverage/lcov-report/core/index.html +18 -18
- package/coverage/lcov-report/core/index.ts.html +1 -1
- package/coverage/lcov-report/index.html +26 -26
- package/coverage/lcov-report/index.ts.html +244 -0
- package/coverage/lcov-report/models/aggregate.ts.html +1 -1
- package/coverage/lcov-report/models/category.ts.html +1 -1
- package/coverage/lcov-report/models/index.html +1 -1
- package/coverage/lcov-report/utils/auto-bind.ts.html +18 -18
- package/coverage/lcov-report/utils/index.html +1 -1
- package/coverage/lcov-report/utils/index.ts.html +3 -3
- package/coverage/lcov.info +496 -485
- package/esm/adaptors/axios.d.ts +2 -2
- package/esm/adaptors/axios.js +1 -0
- package/esm/adaptors/axios.js.map +1 -1
- package/esm/adaptors/umi-request.d.ts +2 -2
- package/esm/adaptors/umi-request.js +1 -0
- package/esm/adaptors/umi-request.js.map +1 -1
- package/esm/controllers/aggregate.d.ts +25 -8
- package/esm/controllers/aggregate.js.map +1 -1
- package/esm/controllers/base.d.ts +17 -5
- package/esm/controllers/category.d.ts +64 -13
- package/esm/controllers/category.js.map +1 -1
- package/esm/controllers/comment.d.ts +42 -10
- package/esm/controllers/comment.js.map +1 -1
- package/esm/controllers/link.d.ts +5 -4
- package/esm/controllers/link.js.map +1 -1
- package/esm/controllers/note.d.ts +42 -12
- package/esm/controllers/note.js.map +1 -1
- package/esm/controllers/page.d.ts +22 -8
- package/esm/controllers/page.js.map +1 -1
- package/esm/controllers/post.d.ts +24 -11
- package/esm/controllers/post.js.map +1 -1
- package/esm/controllers/project.d.ts +4 -3
- package/esm/controllers/project.js.map +1 -1
- package/esm/controllers/recently.d.ts +30 -8
- package/esm/controllers/recently.js.map +1 -1
- package/esm/controllers/say.d.ts +15 -5
- package/esm/controllers/say.js.map +1 -1
- package/esm/controllers/search.d.ts +168 -9
- package/esm/controllers/search.js.map +1 -1
- package/esm/controllers/snippet.d.ts +16 -6
- package/esm/controllers/snippet.js.map +1 -1
- package/esm/controllers/user.d.ts +28 -8
- package/esm/controllers/user.js.map +1 -1
- package/esm/core/attach-request.d.ts +1 -1
- package/esm/core/attach-request.js.map +1 -1
- package/esm/core/client.d.ts +9 -6
- package/esm/core/client.js +13 -32
- package/esm/core/client.js.map +1 -1
- package/esm/index.d.ts +2 -1
- package/esm/index.js +1 -1
- package/esm/index.js.map +1 -1
- package/esm/interfaces/adapter.d.ts +9 -8
- package/esm/interfaces/client.d.ts +1 -1
- package/esm/interfaces/request.d.ts +22 -13
- package/esm/interfaces/types.d.ts +2 -0
- package/esm/interfaces/types.js +2 -0
- package/esm/interfaces/types.js.map +1 -0
- package/index.ts +2 -1
- package/interfaces/adapter.ts +29 -24
- package/interfaces/client.ts +1 -1
- package/interfaces/request.ts +45 -20
- package/{types/helper.d.ts → interfaces/types.ts} +0 -0
- package/lib/adaptors/axios.d.ts +2 -2
- package/lib/adaptors/axios.js +1 -0
- package/lib/adaptors/axios.js.map +1 -1
- package/lib/adaptors/umi-request.d.ts +2 -2
- package/lib/adaptors/umi-request.js +1 -0
- package/lib/adaptors/umi-request.js.map +1 -1
- package/lib/controllers/aggregate.d.ts +25 -8
- package/lib/controllers/aggregate.js.map +1 -1
- package/lib/controllers/base.d.ts +17 -5
- package/lib/controllers/category.d.ts +64 -13
- package/lib/controllers/category.js.map +1 -1
- package/lib/controllers/comment.d.ts +42 -10
- package/lib/controllers/comment.js.map +1 -1
- package/lib/controllers/link.d.ts +5 -4
- package/lib/controllers/link.js.map +1 -1
- package/lib/controllers/note.d.ts +42 -12
- package/lib/controllers/note.js.map +1 -1
- package/lib/controllers/page.d.ts +22 -8
- package/lib/controllers/page.js.map +1 -1
- package/lib/controllers/post.d.ts +24 -11
- package/lib/controllers/post.js.map +1 -1
- package/lib/controllers/project.d.ts +4 -3
- package/lib/controllers/project.js.map +1 -1
- package/lib/controllers/recently.d.ts +30 -8
- package/lib/controllers/recently.js.map +1 -1
- package/lib/controllers/say.d.ts +15 -5
- package/lib/controllers/say.js.map +1 -1
- package/lib/controllers/search.d.ts +168 -9
- package/lib/controllers/search.js.map +1 -1
- package/lib/controllers/snippet.d.ts +16 -6
- package/lib/controllers/snippet.js.map +1 -1
- package/lib/controllers/user.d.ts +28 -8
- package/lib/controllers/user.js.map +1 -1
- package/lib/core/attach-request.d.ts +1 -1
- package/lib/core/attach-request.js.map +1 -1
- package/lib/core/client.d.ts +9 -6
- package/lib/core/client.js +13 -33
- package/lib/core/client.js.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +1 -2
- package/lib/index.js.map +1 -1
- package/lib/interfaces/adapter.d.ts +9 -8
- package/lib/interfaces/client.d.ts +1 -1
- package/lib/interfaces/request.d.ts +22 -13
- package/lib/interfaces/types.d.ts +2 -0
- package/lib/interfaces/types.js +3 -0
- package/lib/interfaces/types.js.map +1 -0
- package/package.json +5 -5
- package/tsconfig.json +25 -4
- package/tsconfig.types.json +18 -0
- package/types/adaptors/axios.d.ts +3 -0
- package/types/adaptors/umi-request.d.ts +3 -0
- package/types/controllers/aggregate.d.ts +64 -0
- package/types/controllers/base.d.ts +39 -0
- package/types/controllers/category.d.ts +114 -0
- package/types/controllers/comment.d.ts +81 -0
- package/types/controllers/index.d.ts +16 -0
- package/types/controllers/link.d.ts +16 -0
- package/types/controllers/note.d.ts +94 -0
- package/types/controllers/page.d.ts +59 -0
- package/types/controllers/post.d.ts +72 -0
- package/types/controllers/project.d.ts +15 -0
- package/types/controllers/recently.d.ts +61 -0
- package/types/controllers/say.d.ts +37 -0
- package/types/controllers/search.d.ts +247 -0
- package/types/controllers/snippet.d.ts +33 -0
- package/types/controllers/user.d.ts +54 -0
- package/types/core/attach-request.d.ts +2 -0
- package/types/core/client.d.ts +29 -0
- package/types/core/error.d.ts +6 -0
- package/types/core/index.d.ts +2 -0
- package/types/dtos/comment.d.ts +6 -0
- package/types/index.d.ts +7 -0
- package/types/interfaces/adapter.d.ts +14 -0
- package/types/interfaces/client.d.ts +5 -0
- package/types/interfaces/controller.d.ts +4 -0
- package/types/interfaces/instance.d.ts +7 -0
- package/types/interfaces/options.d.ts +1 -0
- package/types/interfaces/params.d.ts +4 -0
- package/types/interfaces/request.d.ts +43 -0
- package/types/interfaces/types.d.ts +2 -0
- package/types/models/aggregate.d.ts +53 -0
- package/types/models/base.d.ts +37 -0
- package/types/models/category.d.ts +22 -0
- package/types/models/comment.d.ts +34 -0
- package/types/models/index.d.ts +14 -0
- package/types/models/link.d.ts +20 -0
- package/types/models/note.d.ts +30 -0
- package/types/models/page.d.ts +14 -0
- package/types/models/post.d.ts +15 -0
- package/types/models/project.d.ts +11 -0
- package/types/models/recently.d.ts +6 -0
- package/types/models/say.d.ts +6 -0
- package/types/models/setting.d.ts +66 -0
- package/types/models/snippet.d.ts +16 -0
- package/types/models/user.d.ts +21 -0
- package/types/utils/auto-bind.d.ts +4 -0
- package/types/utils/index.d.ts +5 -0
|
@@ -3,25 +3,33 @@ declare type NoStringIndex<T> = {
|
|
|
3
3
|
[K in keyof T as string extends K ? never : K]: T[K];
|
|
4
4
|
};
|
|
5
5
|
export declare type Method = 'get' | 'delete' | 'post' | 'put' | 'patch';
|
|
6
|
-
export interface IRequestHandler {
|
|
7
|
-
(path?: string | number): IRequestHandler
|
|
8
|
-
get<P = unknown>(options?: Omit<NoStringIndex<RequestOptions>, 'data'>): RequestProxyResult<P>;
|
|
9
|
-
post<P = unknown>(options?: RequestOptions): RequestProxyResult<P>;
|
|
10
|
-
patch<P = unknown>(options?: RequestOptions): RequestProxyResult<P>;
|
|
11
|
-
delete<P = unknown>(options?: Omit<NoStringIndex<RequestOptions>, 'data'>): RequestProxyResult<P>;
|
|
12
|
-
put<P = unknown>(options?: RequestOptions): RequestProxyResult<P>;
|
|
13
|
-
|
|
6
|
+
export interface IRequestHandler<ResponseWrapper> {
|
|
7
|
+
(path?: string | number): IRequestHandler<ResponseWrapper>;
|
|
8
|
+
get<P = unknown>(options?: Omit<NoStringIndex<RequestOptions>, 'data'>): RequestProxyResult<P, ResponseWrapper>;
|
|
9
|
+
post<P = unknown>(options?: RequestOptions): RequestProxyResult<P, ResponseWrapper>;
|
|
10
|
+
patch<P = unknown>(options?: RequestOptions): RequestProxyResult<P, ResponseWrapper>;
|
|
11
|
+
delete<P = unknown>(options?: Omit<NoStringIndex<RequestOptions>, 'data'>): RequestProxyResult<P, ResponseWrapper>;
|
|
12
|
+
put<P = unknown>(options?: RequestOptions): RequestProxyResult<P, ResponseWrapper>;
|
|
13
|
+
toString(withBase?: boolean): string;
|
|
14
|
+
valueOf(withBase?: boolean): string;
|
|
15
|
+
[key: string]: IRequestHandler<ResponseWrapper>;
|
|
14
16
|
}
|
|
15
|
-
export declare type RequestProxyResult<T, R = {
|
|
17
|
+
export declare type RequestProxyResult<T, ResponseWrapper, R = ResponseWrapper extends unknown ? {
|
|
16
18
|
data: T;
|
|
17
19
|
[key: string]: any;
|
|
18
|
-
}
|
|
20
|
+
} : ResponseWrapper extends {
|
|
21
|
+
data: T;
|
|
22
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, 'data'> & {
|
|
23
|
+
data: T;
|
|
24
|
+
}> = Promise<ResponseProxyExtraRaw<T, R, ResponseWrapper>>;
|
|
19
25
|
declare type CamelToSnake<T extends string, P extends string = ''> = string extends T ? string : T extends `${infer C0}${infer R}` ? CamelToSnake<R, `${P}${C0 extends Lowercase<C0> ? '' : '_'}${Lowercase<C0>}`> : P;
|
|
20
26
|
declare type CamelKeysToSnake<T> = {
|
|
21
27
|
[K in keyof T as CamelToSnake<Extract<K, string>>]: T[K];
|
|
22
28
|
};
|
|
23
|
-
|
|
24
|
-
$raw: Response extends
|
|
29
|
+
declare type ResponseWrapperType<Response, RawData, T> = {
|
|
30
|
+
$raw: Response extends {
|
|
31
|
+
data: infer T;
|
|
32
|
+
} ? Response : Response extends unknown ? {
|
|
25
33
|
[i: string]: any;
|
|
26
34
|
data: RawData extends unknown ? CamelKeysToSnake<T> : RawData;
|
|
27
35
|
} : Response;
|
|
@@ -30,5 +38,6 @@ export declare type ResponseProxyExtraRaw<T, RawData = unknown, Response = unkno
|
|
|
30
38
|
method: string;
|
|
31
39
|
[k: string]: string;
|
|
32
40
|
};
|
|
33
|
-
}
|
|
41
|
+
};
|
|
42
|
+
export declare type ResponseProxyExtraRaw<T, RawData = unknown, Response = unknown> = T extends object ? T & ResponseWrapperType<Response, RawData, T> : T extends unknown ? T & ResponseWrapperType<Response, RawData, T> : unknown;
|
|
34
43
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../interfaces/types.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mx-space/api-client",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "A api client for mx-space server@next",
|
|
5
5
|
"author": "Innei",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"main": "build/index.cjs.js",
|
|
8
8
|
"module": "build/index.esm.js",
|
|
9
|
-
"types": "index.ts",
|
|
9
|
+
"types": "types/index.d.ts",
|
|
10
10
|
"unpkg": "build/index.umd.min.js",
|
|
11
11
|
"husky": {
|
|
12
12
|
"hooks": {
|
|
@@ -33,10 +33,10 @@
|
|
|
33
33
|
"pnpm": ">=6"
|
|
34
34
|
},
|
|
35
35
|
"scripts": {
|
|
36
|
-
"
|
|
37
|
-
"prebuild": "rm -rf rm -rf lib && rm -rf esm",
|
|
36
|
+
"prebuild": "rm -rf lib && rm -rf esm",
|
|
38
37
|
"build": "tsc --build tsconfig.build.json && tsc --build tsconfig.cjs.json",
|
|
39
|
-
"postbuild": "tsconfig-replace-paths -p tsconfig.build.json && tsconfig-replace-paths -p tsconfig.cjs.json",
|
|
38
|
+
"postbuild": "tsconfig-replace-paths -p tsconfig.build.json && tsconfig-replace-paths -p tsconfig.cjs.json && npm run types",
|
|
39
|
+
"types": "rm -rf types && tsc --build tsconfig.types.json && tsconfig-replace-paths -p tsconfig.types.json",
|
|
40
40
|
"package": "NODE_ENV=production npm run build && rollup -c",
|
|
41
41
|
"prepackage": "rm -rf build",
|
|
42
42
|
"release": "vv",
|
package/tsconfig.json
CHANGED
|
@@ -1,12 +1,33 @@
|
|
|
1
1
|
{
|
|
2
|
-
"extends": "../tsconfig.json",
|
|
3
2
|
"compilerOptions": {
|
|
4
3
|
"declaration": true,
|
|
5
4
|
"outDir": "./esm",
|
|
6
5
|
"baseUrl": ".",
|
|
7
|
-
"jsx": "react"
|
|
6
|
+
"jsx": "react",
|
|
7
|
+
"target": "ES2020",
|
|
8
|
+
"lib": [
|
|
9
|
+
"ESNext",
|
|
10
|
+
"DOM",
|
|
11
|
+
"DOM.Iterable"
|
|
12
|
+
],
|
|
13
|
+
"module": "ESNext",
|
|
14
|
+
"moduleResolution": "node",
|
|
15
|
+
"strict": true,
|
|
16
|
+
"resolveJsonModule": true,
|
|
17
|
+
"esModuleInterop": true,
|
|
18
|
+
"skipLibCheck": true,
|
|
19
|
+
"forceConsistentCasingInFileNames": true,
|
|
20
|
+
"sourceMap": true,
|
|
21
|
+
"paths": {
|
|
22
|
+
"~/*": [
|
|
23
|
+
"*"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
8
26
|
},
|
|
9
|
-
"
|
|
10
|
-
"
|
|
27
|
+
"exclude": [
|
|
28
|
+
"esm/*",
|
|
29
|
+
"build/*",
|
|
30
|
+
"node_modules/*",
|
|
31
|
+
"lib/*"
|
|
11
32
|
]
|
|
12
33
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "./tsconfig.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"module": "commonjs",
|
|
5
|
+
"rootDir": ".",
|
|
6
|
+
"outDir": "types",
|
|
7
|
+
"declaration": true,
|
|
8
|
+
"declarationMap": false,
|
|
9
|
+
"isolatedModules": false,
|
|
10
|
+
"noEmit": false,
|
|
11
|
+
"allowJs": false,
|
|
12
|
+
"emitDeclarationOnly": true
|
|
13
|
+
},
|
|
14
|
+
"exclude": [
|
|
15
|
+
"__tests__/**/*",
|
|
16
|
+
"**/*.test.ts"
|
|
17
|
+
]
|
|
18
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { IRequestAdapter } from '../interfaces/adapter';
|
|
2
|
+
import { IController } from '../interfaces/controller';
|
|
3
|
+
import { SortOrder } from '../interfaces/options';
|
|
4
|
+
import { IRequestHandler, RequestProxyResult } from '../interfaces/request';
|
|
5
|
+
import { AggregateRoot, AggregateStat, AggregateTop, TimelineData, TimelineType } from '../models/aggregate';
|
|
6
|
+
import { HTTPClient } from '../core';
|
|
7
|
+
declare module '../core/client' {
|
|
8
|
+
interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
|
|
9
|
+
aggregate: AggregateController<ResponseWrapper>;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export declare class AggregateController<ResponseWrapper> implements IController {
|
|
13
|
+
private client;
|
|
14
|
+
base: string;
|
|
15
|
+
name: string;
|
|
16
|
+
constructor(client: HTTPClient);
|
|
17
|
+
get proxy(): IRequestHandler<ResponseWrapper>;
|
|
18
|
+
/**
|
|
19
|
+
* 获取聚合数据
|
|
20
|
+
*/
|
|
21
|
+
getAggregateData(): RequestProxyResult<AggregateRoot, ResponseWrapper>;
|
|
22
|
+
/**
|
|
23
|
+
* 获取最新发布的内容
|
|
24
|
+
*/
|
|
25
|
+
getTop(size?: number): RequestProxyResult<AggregateTop, ResponseWrapper, ResponseWrapper extends unknown ? {
|
|
26
|
+
[key: string]: any;
|
|
27
|
+
data: AggregateTop;
|
|
28
|
+
} : ResponseWrapper extends {
|
|
29
|
+
data: AggregateTop;
|
|
30
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
31
|
+
data: AggregateTop;
|
|
32
|
+
}>;
|
|
33
|
+
getTimeline(options?: {
|
|
34
|
+
sort?: SortOrder;
|
|
35
|
+
type?: TimelineType;
|
|
36
|
+
year?: number;
|
|
37
|
+
}): RequestProxyResult<{
|
|
38
|
+
data: TimelineData;
|
|
39
|
+
}, ResponseWrapper, ResponseWrapper extends unknown ? {
|
|
40
|
+
[key: string]: any;
|
|
41
|
+
data: {
|
|
42
|
+
data: TimelineData;
|
|
43
|
+
};
|
|
44
|
+
} : ResponseWrapper extends {
|
|
45
|
+
data: {
|
|
46
|
+
data: TimelineData;
|
|
47
|
+
};
|
|
48
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
49
|
+
data: {
|
|
50
|
+
data: TimelineData;
|
|
51
|
+
};
|
|
52
|
+
}>;
|
|
53
|
+
/**
|
|
54
|
+
* 获取聚合数据统计
|
|
55
|
+
*/
|
|
56
|
+
getStat(): RequestProxyResult<AggregateStat, ResponseWrapper, ResponseWrapper extends unknown ? {
|
|
57
|
+
[key: string]: any;
|
|
58
|
+
data: AggregateStat;
|
|
59
|
+
} : ResponseWrapper extends {
|
|
60
|
+
data: AggregateStat;
|
|
61
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
62
|
+
data: AggregateStat;
|
|
63
|
+
}>;
|
|
64
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { IRequestHandler, RequestProxyResult } from '../interfaces/request';
|
|
2
|
+
import { PaginateResult } from '../models/base';
|
|
3
|
+
import { HTTPClient } from '../core';
|
|
4
|
+
export declare abstract class BaseCrudController<T, ResponseWrapper> {
|
|
5
|
+
protected client: HTTPClient;
|
|
6
|
+
base: string;
|
|
7
|
+
constructor(client: HTTPClient);
|
|
8
|
+
get proxy(): IRequestHandler<ResponseWrapper>;
|
|
9
|
+
getById(id: string): RequestProxyResult<T, ResponseWrapper>;
|
|
10
|
+
getAll(): RequestProxyResult<{
|
|
11
|
+
data: T[];
|
|
12
|
+
}, ResponseWrapper, ResponseWrapper extends unknown ? {
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
data: {
|
|
15
|
+
data: T[];
|
|
16
|
+
};
|
|
17
|
+
} : ResponseWrapper extends {
|
|
18
|
+
data: {
|
|
19
|
+
data: T[];
|
|
20
|
+
};
|
|
21
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
22
|
+
data: {
|
|
23
|
+
data: T[];
|
|
24
|
+
};
|
|
25
|
+
}>;
|
|
26
|
+
/**
|
|
27
|
+
* 带分页的查询
|
|
28
|
+
* @param page
|
|
29
|
+
* @param perPage
|
|
30
|
+
*/
|
|
31
|
+
getAllPaginated(page?: number, perPage?: number): RequestProxyResult<PaginateResult<T>, ResponseWrapper, ResponseWrapper extends unknown ? {
|
|
32
|
+
[key: string]: any;
|
|
33
|
+
data: PaginateResult<T>;
|
|
34
|
+
} : ResponseWrapper extends {
|
|
35
|
+
data: PaginateResult<T>;
|
|
36
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
37
|
+
data: PaginateResult<T>;
|
|
38
|
+
}>;
|
|
39
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { IRequestAdapter } from '../interfaces/adapter';
|
|
2
|
+
import { IController } from '../interfaces/controller';
|
|
3
|
+
import { IRequestHandler, RequestProxyResult, ResponseProxyExtraRaw } from '../interfaces/request';
|
|
4
|
+
import { HTTPClient } from '../core/client';
|
|
5
|
+
import { CategoryModel, CategoryType, CategoryWithChildrenModel, TagModel } from '../models/category';
|
|
6
|
+
import { PostModel } from '../models/post';
|
|
7
|
+
declare module '../core/client' {
|
|
8
|
+
interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
|
|
9
|
+
category: CategoryController<ResponseWrapper>;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export declare class CategoryController<ResponseWrapper> implements IController {
|
|
13
|
+
private client;
|
|
14
|
+
name: string;
|
|
15
|
+
base: string;
|
|
16
|
+
constructor(client: HTTPClient);
|
|
17
|
+
get proxy(): IRequestHandler<ResponseWrapper>;
|
|
18
|
+
getAllCategories(): RequestProxyResult<{
|
|
19
|
+
data: CategoryModel[];
|
|
20
|
+
}, ResponseWrapper>;
|
|
21
|
+
getAllTags(): RequestProxyResult<{
|
|
22
|
+
data: TagModel[];
|
|
23
|
+
}, ResponseWrapper>;
|
|
24
|
+
getCategoryDetail(id: string): Promise<ResponseProxyExtraRaw<CategoryWithChildrenModel>>;
|
|
25
|
+
getCategoryDetail(ids: string[]): Promise<ResponseProxyExtraRaw<Map<string, CategoryWithChildrenModel>>>;
|
|
26
|
+
getCategoryByIdOrSlug(idOrSlug: string): Promise<CategoryModel & {
|
|
27
|
+
children: Pick<PostModel, "id" | "title" | "slug" | "modified" | "created">[];
|
|
28
|
+
} & {
|
|
29
|
+
$raw: ResponseWrapper extends {
|
|
30
|
+
data: infer T;
|
|
31
|
+
} ? ResponseWrapper : ResponseWrapper extends unknown ? {
|
|
32
|
+
[i: string]: any;
|
|
33
|
+
data: (ResponseWrapper extends unknown ? {
|
|
34
|
+
[key: string]: any;
|
|
35
|
+
data: CategoryWithChildrenModel;
|
|
36
|
+
} : ResponseWrapper extends {
|
|
37
|
+
data: CategoryWithChildrenModel;
|
|
38
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
39
|
+
data: CategoryWithChildrenModel;
|
|
40
|
+
}) extends unknown ? {
|
|
41
|
+
type: CategoryType;
|
|
42
|
+
count: number;
|
|
43
|
+
slug: string;
|
|
44
|
+
name: string;
|
|
45
|
+
created: string;
|
|
46
|
+
id: string;
|
|
47
|
+
children: Pick<PostModel, "id" | "title" | "slug" | "modified" | "created">[];
|
|
48
|
+
} : ResponseWrapper extends unknown ? {
|
|
49
|
+
[key: string]: any;
|
|
50
|
+
data: CategoryWithChildrenModel;
|
|
51
|
+
} : ResponseWrapper extends {
|
|
52
|
+
data: CategoryWithChildrenModel;
|
|
53
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
54
|
+
data: CategoryWithChildrenModel;
|
|
55
|
+
};
|
|
56
|
+
} : ResponseWrapper;
|
|
57
|
+
$request: {
|
|
58
|
+
[k: string]: string;
|
|
59
|
+
path: string;
|
|
60
|
+
method: string;
|
|
61
|
+
};
|
|
62
|
+
}>;
|
|
63
|
+
getTagByName(name: string): Promise<{
|
|
64
|
+
tag: string;
|
|
65
|
+
data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
|
|
66
|
+
} & {
|
|
67
|
+
$raw: ResponseWrapper extends {
|
|
68
|
+
data: infer T;
|
|
69
|
+
} ? ResponseWrapper : ResponseWrapper extends unknown ? {
|
|
70
|
+
[i: string]: any;
|
|
71
|
+
data: (ResponseWrapper extends unknown ? {
|
|
72
|
+
[key: string]: any;
|
|
73
|
+
data: {
|
|
74
|
+
tag: string;
|
|
75
|
+
data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
|
|
76
|
+
};
|
|
77
|
+
} : ResponseWrapper extends {
|
|
78
|
+
data: {
|
|
79
|
+
tag: string;
|
|
80
|
+
data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
|
|
81
|
+
};
|
|
82
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
83
|
+
data: {
|
|
84
|
+
tag: string;
|
|
85
|
+
data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
|
|
86
|
+
};
|
|
87
|
+
}) extends unknown ? {
|
|
88
|
+
tag: string;
|
|
89
|
+
data: Pick<PostModel, "id" | "title" | "slug" | "created" | "category">[];
|
|
90
|
+
} : ResponseWrapper extends unknown ? {
|
|
91
|
+
[key: string]: any;
|
|
92
|
+
data: {
|
|
93
|
+
tag: string;
|
|
94
|
+
data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
|
|
95
|
+
};
|
|
96
|
+
} : ResponseWrapper extends {
|
|
97
|
+
data: {
|
|
98
|
+
tag: string;
|
|
99
|
+
data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
|
|
100
|
+
};
|
|
101
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
102
|
+
data: {
|
|
103
|
+
tag: string;
|
|
104
|
+
data: Pick<PostModel, 'id' | 'title' | 'slug' | 'category' | 'created'>[];
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
} : ResponseWrapper;
|
|
108
|
+
$request: {
|
|
109
|
+
[k: string]: string;
|
|
110
|
+
path: string;
|
|
111
|
+
method: string;
|
|
112
|
+
};
|
|
113
|
+
}>;
|
|
114
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { IRequestAdapter } from '../interfaces/adapter';
|
|
2
|
+
import { IController } from '../interfaces/controller';
|
|
3
|
+
import { PaginationParams } from '../interfaces/params';
|
|
4
|
+
import { IRequestHandler } from '../interfaces/request';
|
|
5
|
+
import { PaginateResult } from '../models/base';
|
|
6
|
+
import { CommentModel } from '../models/comment';
|
|
7
|
+
import { HTTPClient } from '../core';
|
|
8
|
+
import { CommentDto } from '../dtos/comment';
|
|
9
|
+
declare module '../core/client' {
|
|
10
|
+
interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
|
|
11
|
+
comment: CommentController<ResponseWrapper>;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export declare class CommentController<ResponseWrapper> implements IController {
|
|
15
|
+
private readonly client;
|
|
16
|
+
base: string;
|
|
17
|
+
name: string;
|
|
18
|
+
constructor(client: HTTPClient);
|
|
19
|
+
get proxy(): IRequestHandler<ResponseWrapper>;
|
|
20
|
+
/**
|
|
21
|
+
* 根据 comment id 获取评论, 包括子评论
|
|
22
|
+
*/
|
|
23
|
+
getById(id: string): import("../interfaces/request").RequestProxyResult<CommentModel & {
|
|
24
|
+
ref: string;
|
|
25
|
+
}, ResponseWrapper, ResponseWrapper extends unknown ? {
|
|
26
|
+
[key: string]: any;
|
|
27
|
+
data: CommentModel & {
|
|
28
|
+
ref: string;
|
|
29
|
+
};
|
|
30
|
+
} : ResponseWrapper extends {
|
|
31
|
+
data: CommentModel & {
|
|
32
|
+
ref: string;
|
|
33
|
+
};
|
|
34
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
35
|
+
data: CommentModel & {
|
|
36
|
+
ref: string;
|
|
37
|
+
};
|
|
38
|
+
}>;
|
|
39
|
+
/**
|
|
40
|
+
* 获取文章的评论列表
|
|
41
|
+
* @param refId 文章 Id
|
|
42
|
+
*/
|
|
43
|
+
getByRefId(refId: string, pagination?: PaginationParams): import("../interfaces/request").RequestProxyResult<PaginateResult<CommentModel & {
|
|
44
|
+
ref: string;
|
|
45
|
+
}>, ResponseWrapper, ResponseWrapper extends unknown ? {
|
|
46
|
+
[key: string]: any;
|
|
47
|
+
data: PaginateResult<CommentModel & {
|
|
48
|
+
ref: string;
|
|
49
|
+
}>;
|
|
50
|
+
} : ResponseWrapper extends {
|
|
51
|
+
data: PaginateResult<CommentModel & {
|
|
52
|
+
ref: string;
|
|
53
|
+
}>;
|
|
54
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
55
|
+
data: PaginateResult<CommentModel & {
|
|
56
|
+
ref: string;
|
|
57
|
+
}>;
|
|
58
|
+
}>;
|
|
59
|
+
/**
|
|
60
|
+
* 评论
|
|
61
|
+
*/
|
|
62
|
+
comment(refId: string, data: CommentDto): import("../interfaces/request").RequestProxyResult<CommentModel, ResponseWrapper, ResponseWrapper extends unknown ? {
|
|
63
|
+
[key: string]: any;
|
|
64
|
+
data: CommentModel;
|
|
65
|
+
} : ResponseWrapper extends {
|
|
66
|
+
data: CommentModel;
|
|
67
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
68
|
+
data: CommentModel;
|
|
69
|
+
}>;
|
|
70
|
+
/**
|
|
71
|
+
* 回复评论
|
|
72
|
+
*/
|
|
73
|
+
reply(commentId: string, data: CommentDto): import("../interfaces/request").RequestProxyResult<CommentModel, ResponseWrapper, ResponseWrapper extends unknown ? {
|
|
74
|
+
[key: string]: any;
|
|
75
|
+
data: CommentModel;
|
|
76
|
+
} : ResponseWrapper extends {
|
|
77
|
+
data: CommentModel;
|
|
78
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
79
|
+
data: CommentModel;
|
|
80
|
+
}>;
|
|
81
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { AggregateController } from './aggregate';
|
|
2
|
+
import { CategoryController } from './category';
|
|
3
|
+
import { CommentController } from './comment';
|
|
4
|
+
import { LinkController } from './link';
|
|
5
|
+
import { NoteController } from './note';
|
|
6
|
+
import { PageController } from './page';
|
|
7
|
+
import { PostController } from './post';
|
|
8
|
+
import { ProjectController } from './project';
|
|
9
|
+
import { RecentlyController } from './recently';
|
|
10
|
+
import { SayController } from './say';
|
|
11
|
+
import { SearchController } from './search';
|
|
12
|
+
import { SnippetController } from './snippet';
|
|
13
|
+
import { UserController } from './user';
|
|
14
|
+
export declare const allControllers: (typeof AggregateController | typeof CategoryController | typeof CommentController | typeof LinkController | typeof NoteController | typeof PageController | typeof PostController | typeof ProjectController | typeof RecentlyController | typeof SayController | typeof SearchController | typeof SnippetController | typeof UserController)[];
|
|
15
|
+
export declare const allContollerNames: readonly ["aggregate", "category", "comment", "link", "note", "page", "post", "project", "recently", "say", "search", "snippet", "user", "friend", "master", "shorthand"];
|
|
16
|
+
export { AggregateController, CategoryController, CommentController, LinkController, NoteController, PageController, PostController, ProjectController, RecentlyController, SayController, SearchController, SnippetController, UserController, };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IRequestAdapter } from '../interfaces/adapter';
|
|
2
|
+
import { LinkModel } from '../models/link';
|
|
3
|
+
import { HTTPClient } from '../core';
|
|
4
|
+
import { BaseCrudController } from './base';
|
|
5
|
+
declare module '../core/client' {
|
|
6
|
+
interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
|
|
7
|
+
link: LinkController<ResponseWrapper>;
|
|
8
|
+
friend: LinkController<ResponseWrapper>;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export declare class LinkController<ResponseWrapper> extends BaseCrudController<LinkModel, ResponseWrapper> {
|
|
12
|
+
protected readonly client: HTTPClient;
|
|
13
|
+
constructor(client: HTTPClient);
|
|
14
|
+
name: string[];
|
|
15
|
+
base: string;
|
|
16
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { IRequestAdapter } from '../interfaces/adapter';
|
|
2
|
+
import { IController } from '../interfaces/controller';
|
|
3
|
+
import { IRequestHandler } from '../interfaces/request';
|
|
4
|
+
import { SelectFields } from '../interfaces/types';
|
|
5
|
+
import { PaginateResult } from '../models/base';
|
|
6
|
+
import { NoteModel, NoteWrappedPayload } from '../models/note';
|
|
7
|
+
import { HTTPClient } from '../core/client';
|
|
8
|
+
declare module '../core/client' {
|
|
9
|
+
interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
|
|
10
|
+
note: NoteController<ResponseWrapper>;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export declare type NoteListOptions = {
|
|
14
|
+
select?: SelectFields<keyof NoteModel>;
|
|
15
|
+
year?: number;
|
|
16
|
+
sortBy?: 'weather' | 'mood' | 'title' | 'created' | 'modified';
|
|
17
|
+
sortOrder?: 1 | -1;
|
|
18
|
+
};
|
|
19
|
+
export declare class NoteController<ResponseWrapper> implements IController {
|
|
20
|
+
private client;
|
|
21
|
+
base: string;
|
|
22
|
+
name: string;
|
|
23
|
+
constructor(client: HTTPClient);
|
|
24
|
+
get proxy(): IRequestHandler<ResponseWrapper>;
|
|
25
|
+
/**
|
|
26
|
+
* 最新日记
|
|
27
|
+
*/
|
|
28
|
+
getLatest(): import("../interfaces/request").RequestProxyResult<NoteWrappedPayload, ResponseWrapper, ResponseWrapper extends unknown ? {
|
|
29
|
+
[key: string]: any;
|
|
30
|
+
data: NoteWrappedPayload;
|
|
31
|
+
} : ResponseWrapper extends {
|
|
32
|
+
data: NoteWrappedPayload;
|
|
33
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
34
|
+
data: NoteWrappedPayload;
|
|
35
|
+
}>;
|
|
36
|
+
/**
|
|
37
|
+
* 获取一篇日记
|
|
38
|
+
* @param id id | nid
|
|
39
|
+
* @param password 访问密码
|
|
40
|
+
*/
|
|
41
|
+
getNoteById(id: string | number, password?: string): import("../interfaces/request").RequestProxyResult<NoteWrappedPayload, ResponseWrapper, ResponseWrapper extends unknown ? {
|
|
42
|
+
[key: string]: any;
|
|
43
|
+
data: NoteWrappedPayload;
|
|
44
|
+
} : ResponseWrapper extends {
|
|
45
|
+
data: NoteWrappedPayload;
|
|
46
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
47
|
+
data: NoteWrappedPayload;
|
|
48
|
+
}>;
|
|
49
|
+
/**
|
|
50
|
+
* 日记列表分页
|
|
51
|
+
*/
|
|
52
|
+
getList(page?: number, perPage?: number, options?: NoteListOptions): import("../interfaces/request").RequestProxyResult<PaginateResult<NoteModel>, ResponseWrapper, ResponseWrapper extends unknown ? {
|
|
53
|
+
[key: string]: any;
|
|
54
|
+
data: PaginateResult<NoteModel>;
|
|
55
|
+
} : ResponseWrapper extends {
|
|
56
|
+
data: PaginateResult<NoteModel>;
|
|
57
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
58
|
+
data: PaginateResult<NoteModel>;
|
|
59
|
+
}>;
|
|
60
|
+
/**
|
|
61
|
+
* 获取当前日记的上下各 n / 2 篇日记
|
|
62
|
+
*/
|
|
63
|
+
getMiddleList(id: string, size?: number): import("../interfaces/request").RequestProxyResult<{
|
|
64
|
+
data: Pick<NoteModel, 'id' | 'title' | 'nid' | 'created'>[];
|
|
65
|
+
size: number;
|
|
66
|
+
}, ResponseWrapper, ResponseWrapper extends unknown ? {
|
|
67
|
+
[key: string]: any;
|
|
68
|
+
data: {
|
|
69
|
+
data: Pick<NoteModel, 'id' | 'title' | 'nid' | 'created'>[];
|
|
70
|
+
size: number;
|
|
71
|
+
};
|
|
72
|
+
} : ResponseWrapper extends {
|
|
73
|
+
data: {
|
|
74
|
+
data: Pick<NoteModel, 'id' | 'title' | 'nid' | 'created'>[];
|
|
75
|
+
size: number;
|
|
76
|
+
};
|
|
77
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
78
|
+
data: {
|
|
79
|
+
data: Pick<NoteModel, 'id' | 'title' | 'nid' | 'created'>[];
|
|
80
|
+
size: number;
|
|
81
|
+
};
|
|
82
|
+
}>;
|
|
83
|
+
/**
|
|
84
|
+
* 喜欢这篇日记
|
|
85
|
+
*/
|
|
86
|
+
likeIt(id: string | number): import("../interfaces/request").RequestProxyResult<never, ResponseWrapper, ResponseWrapper extends unknown ? {
|
|
87
|
+
[key: string]: any;
|
|
88
|
+
data: never;
|
|
89
|
+
} : ResponseWrapper extends {
|
|
90
|
+
data: never;
|
|
91
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
92
|
+
data: never;
|
|
93
|
+
}>;
|
|
94
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { IRequestAdapter } from '../interfaces/adapter';
|
|
2
|
+
import { IController } from '../interfaces/controller';
|
|
3
|
+
import { IRequestHandler } from '../interfaces/request';
|
|
4
|
+
import { SelectFields } from '../interfaces/types';
|
|
5
|
+
import { PaginateResult } from '../models/base';
|
|
6
|
+
import { PageModel } from '../models/page';
|
|
7
|
+
import { HTTPClient } from '../core';
|
|
8
|
+
declare module '../core/client' {
|
|
9
|
+
interface HTTPClient<T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown> {
|
|
10
|
+
page: PageController<ResponseWrapper>;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export declare type PageListOptions = {
|
|
14
|
+
select?: SelectFields<keyof PageModel>;
|
|
15
|
+
sortBy?: 'order' | 'subtitle' | 'title' | 'created' | 'modified';
|
|
16
|
+
sortOrder?: 1 | -1;
|
|
17
|
+
};
|
|
18
|
+
export declare class PageController<ResponseWrapper> implements IController {
|
|
19
|
+
private readonly client;
|
|
20
|
+
constructor(client: HTTPClient);
|
|
21
|
+
base: string;
|
|
22
|
+
name: string;
|
|
23
|
+
get proxy(): IRequestHandler<ResponseWrapper>;
|
|
24
|
+
/**
|
|
25
|
+
* 页面列表
|
|
26
|
+
*/
|
|
27
|
+
getList(page?: number, perPage?: number, options?: PageListOptions): import("../interfaces/request").RequestProxyResult<PaginateResult<PageModel>, ResponseWrapper, ResponseWrapper extends unknown ? {
|
|
28
|
+
[key: string]: any;
|
|
29
|
+
data: PaginateResult<PageModel>;
|
|
30
|
+
} : ResponseWrapper extends {
|
|
31
|
+
data: PaginateResult<PageModel>;
|
|
32
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
33
|
+
data: PaginateResult<PageModel>;
|
|
34
|
+
}>;
|
|
35
|
+
/**
|
|
36
|
+
* 页面详情
|
|
37
|
+
*/
|
|
38
|
+
getById(id: string): import("../interfaces/request").RequestProxyResult<PageModel, ResponseWrapper, ResponseWrapper extends unknown ? {
|
|
39
|
+
[key: string]: any;
|
|
40
|
+
data: PageModel;
|
|
41
|
+
} : ResponseWrapper extends {
|
|
42
|
+
data: PageModel;
|
|
43
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
44
|
+
data: PageModel;
|
|
45
|
+
}>;
|
|
46
|
+
/**
|
|
47
|
+
* 根据路径获取页面
|
|
48
|
+
* @param slug 路径
|
|
49
|
+
* @returns
|
|
50
|
+
*/
|
|
51
|
+
getBySlug(slug: string): import("../interfaces/request").RequestProxyResult<PageModel, ResponseWrapper, ResponseWrapper extends unknown ? {
|
|
52
|
+
[key: string]: any;
|
|
53
|
+
data: PageModel;
|
|
54
|
+
} : ResponseWrapper extends {
|
|
55
|
+
data: PageModel;
|
|
56
|
+
} ? ResponseWrapper : Omit<ResponseWrapper, "data"> & {
|
|
57
|
+
data: PageModel;
|
|
58
|
+
}>;
|
|
59
|
+
}
|