@xezzon/zeroweb-sdk 0.8.5-beta.0
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/README.md +91 -0
- package/dist/cjs/admin/app.js +22 -0
- package/dist/cjs/admin/authn.js +25 -0
- package/dist/cjs/admin/authz.js +41 -0
- package/dist/cjs/admin/crypto.js +9 -0
- package/dist/cjs/admin/dict.js +36 -0
- package/dist/cjs/admin/index.js +55 -0
- package/dist/cjs/admin/role.js +21 -0
- package/dist/cjs/admin/setting.js +31 -0
- package/dist/cjs/admin/user.js +9 -0
- package/dist/cjs/dev/index.js +20 -0
- package/dist/cjs/dev/locale.js +58 -0
- package/dist/cjs/file/attachment.js +69 -0
- package/dist/cjs/file/index.js +37 -0
- package/dist/cjs/file/upload.js +111 -0
- package/dist/cjs/index.js +22 -0
- package/dist/cjs/metadata/index.js +80 -0
- package/dist/cjs/open/index.js +35 -0
- package/dist/cjs/open/openapi.js +38 -0
- package/dist/cjs/open/subscription.js +39 -0
- package/dist/cjs/open/third_party_app.js +49 -0
- package/dist/cjs/types.js +2 -0
- package/dist/esm/admin/app.js +20 -0
- package/dist/esm/admin/authn.js +23 -0
- package/dist/esm/admin/authz.js +39 -0
- package/dist/esm/admin/crypto.js +7 -0
- package/dist/esm/admin/dict.js +34 -0
- package/dist/esm/admin/index.js +50 -0
- package/dist/esm/admin/role.js +19 -0
- package/dist/esm/admin/setting.js +29 -0
- package/dist/esm/admin/user.js +7 -0
- package/dist/esm/dev/index.js +15 -0
- package/dist/esm/dev/locale.js +56 -0
- package/dist/esm/file/attachment.js +66 -0
- package/dist/esm/file/index.js +30 -0
- package/dist/esm/file/upload.js +104 -0
- package/dist/esm/index.js +5 -0
- package/dist/esm/metadata/index.js +74 -0
- package/dist/esm/open/index.js +27 -0
- package/dist/esm/open/openapi.js +35 -0
- package/dist/esm/open/subscription.js +36 -0
- package/dist/esm/open/third_party_app.js +46 -0
- package/dist/esm/types.js +1 -0
- package/dist/typings/admin/app.d.ts +50 -0
- package/dist/typings/admin/authn.d.ts +76 -0
- package/dist/typings/admin/authz.d.ts +79 -0
- package/dist/typings/admin/crypto.d.ts +26 -0
- package/dist/typings/admin/dict.d.ts +86 -0
- package/dist/typings/admin/index.d.ts +51 -0
- package/dist/typings/admin/role.d.ts +60 -0
- package/dist/typings/admin/setting.d.ts +66 -0
- package/dist/typings/admin/user.d.ts +29 -0
- package/dist/typings/dev/index.d.ts +16 -0
- package/dist/typings/dev/locale.d.ts +142 -0
- package/dist/typings/file/attachment.d.ts +149 -0
- package/dist/typings/file/index.d.ts +28 -0
- package/dist/typings/file/upload.d.ts +15 -0
- package/dist/typings/index.d.ts +10 -0
- package/dist/typings/metadata/index.d.ts +124 -0
- package/dist/typings/open/index.d.ts +28 -0
- package/dist/typings/open/openapi.d.ts +67 -0
- package/dist/typings/open/subscription.d.ts +63 -0
- package/dist/typings/open/third_party_app.d.ts +120 -0
- package/dist/typings/types.d.ts +52 -0
- package/package.json +34 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { InstanceConfig } from "../types";
|
|
2
|
+
declare const _default: (config: InstanceConfig) => {
|
|
3
|
+
/**
|
|
4
|
+
* 拦截器方法
|
|
5
|
+
*/
|
|
6
|
+
interceptors: {
|
|
7
|
+
request: import("axios").AxiosInterceptorManager<import("axios").InternalAxiosRequestConfig>;
|
|
8
|
+
response: import("axios").AxiosInterceptorManager<import("axios").AxiosResponse>;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* 对外接口相关接口
|
|
12
|
+
*/
|
|
13
|
+
openapi: import("./openapi").OpenapiAPI;
|
|
14
|
+
/**
|
|
15
|
+
* 第三方应用订阅相关接口
|
|
16
|
+
*/
|
|
17
|
+
subscription: import("./subscription").SubscriptionAPI;
|
|
18
|
+
/**
|
|
19
|
+
* 第三方应用相关接口
|
|
20
|
+
*/
|
|
21
|
+
thirdPartyApp: import("./third_party_app").ThirdPartyAppAPI;
|
|
22
|
+
};
|
|
23
|
+
export default _default;
|
|
24
|
+
export { OpenapiStatus } from './openapi';
|
|
25
|
+
export { SubscriptionStatus } from './subscription';
|
|
26
|
+
export type * from './openapi';
|
|
27
|
+
export type * from './subscription';
|
|
28
|
+
export type * from './third_party_app';
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { HttpClient, Id, OData, Page, PResponse } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* 对外接口状态
|
|
4
|
+
*/
|
|
5
|
+
export declare enum OpenapiStatus {
|
|
6
|
+
/**
|
|
7
|
+
* 草稿
|
|
8
|
+
*/
|
|
9
|
+
DRAFT = 0,
|
|
10
|
+
/**
|
|
11
|
+
* 已发布
|
|
12
|
+
*/
|
|
13
|
+
PUBLISHED = 1
|
|
14
|
+
}
|
|
15
|
+
export interface Openapi {
|
|
16
|
+
id: string;
|
|
17
|
+
/**
|
|
18
|
+
* 接口编码
|
|
19
|
+
* 即第三方接口调用的路径
|
|
20
|
+
*/
|
|
21
|
+
code: string;
|
|
22
|
+
/**
|
|
23
|
+
* 后端地址
|
|
24
|
+
* 即该接口转发到的后端接口
|
|
25
|
+
*/
|
|
26
|
+
destination: string;
|
|
27
|
+
/**
|
|
28
|
+
* 接口请求的HTTP方法
|
|
29
|
+
* 与后端接口的HTTP方法一致
|
|
30
|
+
*/
|
|
31
|
+
httpMethod: string;
|
|
32
|
+
/**
|
|
33
|
+
* 对外接口状态
|
|
34
|
+
*/
|
|
35
|
+
status: OpenapiStatus;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* 新增开放接口请求
|
|
39
|
+
*/
|
|
40
|
+
declare type AddOpenapiReq = Omit<Openapi, 'id' | 'status'>;
|
|
41
|
+
declare type ModifyOpenapiReq = Omit<Openapi, 'status'>;
|
|
42
|
+
export interface OpenapiAPI {
|
|
43
|
+
/**
|
|
44
|
+
* 新增对外接口
|
|
45
|
+
* @param openapi
|
|
46
|
+
* @returns
|
|
47
|
+
*/
|
|
48
|
+
addOpenapi: (Openapi: AddOpenapiReq) => PResponse<Id>;
|
|
49
|
+
/**
|
|
50
|
+
* 查询对外接口列表(分页)
|
|
51
|
+
* @param odata 分页参数
|
|
52
|
+
* @returns 对外接口列表
|
|
53
|
+
*/
|
|
54
|
+
getOpenapiList: (odata: OData) => PResponse<Page<Openapi>>;
|
|
55
|
+
/**
|
|
56
|
+
* 更新对外接口
|
|
57
|
+
* @param openapi 对外接口
|
|
58
|
+
*/
|
|
59
|
+
modifyOpenapi: (openapi: ModifyOpenapiReq) => PResponse<void>;
|
|
60
|
+
/**
|
|
61
|
+
* 发布对外接口
|
|
62
|
+
* @param id 对外接口ID
|
|
63
|
+
*/
|
|
64
|
+
publishOpenapi: (id: string) => PResponse<void>;
|
|
65
|
+
}
|
|
66
|
+
declare const _default: (client: HttpClient) => OpenapiAPI;
|
|
67
|
+
export default _default;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { HttpClient, Id, OData, Page, PResponse } from "../types";
|
|
2
|
+
import { Openapi } from "./openapi";
|
|
3
|
+
/**
|
|
4
|
+
* 订阅状态
|
|
5
|
+
*/
|
|
6
|
+
export declare enum SubscriptionStatus {
|
|
7
|
+
/**
|
|
8
|
+
* 未订阅
|
|
9
|
+
*/
|
|
10
|
+
NONE = 0,
|
|
11
|
+
/**
|
|
12
|
+
* 审核中
|
|
13
|
+
*/
|
|
14
|
+
AUDITING = 1,
|
|
15
|
+
/**
|
|
16
|
+
* 已订阅
|
|
17
|
+
*/
|
|
18
|
+
SUBSCRIBED = 2
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 对外接口订阅状态
|
|
22
|
+
*/
|
|
23
|
+
export interface Subscription {
|
|
24
|
+
id?: string;
|
|
25
|
+
/**
|
|
26
|
+
* 第三方应用标识
|
|
27
|
+
*/
|
|
28
|
+
appId: string;
|
|
29
|
+
/**
|
|
30
|
+
* 对外接口编码
|
|
31
|
+
*/
|
|
32
|
+
openapiCode?: string;
|
|
33
|
+
/**
|
|
34
|
+
* 订阅状态
|
|
35
|
+
*/
|
|
36
|
+
subscriptionStatus: string;
|
|
37
|
+
/**
|
|
38
|
+
* 对外接口详情
|
|
39
|
+
*/
|
|
40
|
+
openapi: Openapi;
|
|
41
|
+
}
|
|
42
|
+
export interface SubscriptionAPI {
|
|
43
|
+
/**
|
|
44
|
+
* 订阅对外接口
|
|
45
|
+
* @param subscription 接口订阅信息
|
|
46
|
+
*/
|
|
47
|
+
subscribe: (subscription: Subscription) => PResponse<Id>;
|
|
48
|
+
/**
|
|
49
|
+
* 查询应用订阅列表
|
|
50
|
+
* @param appId 应用ID
|
|
51
|
+
* @param odata 分页查询参数
|
|
52
|
+
* @returns 订阅列表
|
|
53
|
+
*/
|
|
54
|
+
listSubscription: (appId: string, odata: OData) => PResponse<Page<Subscription>>;
|
|
55
|
+
/**
|
|
56
|
+
* 审核订阅
|
|
57
|
+
* 审核后第三方应用即可调用该接口
|
|
58
|
+
* @param id 订阅标识
|
|
59
|
+
*/
|
|
60
|
+
auditSubscription: (id: string) => PResponse<void>;
|
|
61
|
+
}
|
|
62
|
+
declare const _default: (client: HttpClient) => SubscriptionAPI;
|
|
63
|
+
export default _default;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { HttpClient, Id, OData, Page, PResponse } from "../types";
|
|
2
|
+
export declare const BASE_URL = "/third-party-app";
|
|
3
|
+
/**
|
|
4
|
+
* 第三方应用
|
|
5
|
+
*/
|
|
6
|
+
export interface ThirdPartyApp {
|
|
7
|
+
id: string;
|
|
8
|
+
/**
|
|
9
|
+
* 第三方应用名
|
|
10
|
+
*/
|
|
11
|
+
name: string;
|
|
12
|
+
/**
|
|
13
|
+
* 第三方应用所属人
|
|
14
|
+
*/
|
|
15
|
+
ownerId: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 第三方应用访问凭据及密钥
|
|
19
|
+
*/
|
|
20
|
+
export interface AccessSecret {
|
|
21
|
+
id: string;
|
|
22
|
+
/**
|
|
23
|
+
* 应用访问凭据
|
|
24
|
+
*/
|
|
25
|
+
accessKey: string;
|
|
26
|
+
/**
|
|
27
|
+
* 应用密钥
|
|
28
|
+
*/
|
|
29
|
+
secretKey: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 第三方应用成员
|
|
33
|
+
*/
|
|
34
|
+
export interface ThirdPartyAppMember {
|
|
35
|
+
/**
|
|
36
|
+
* 第三方应用成员ID
|
|
37
|
+
*/
|
|
38
|
+
id: string;
|
|
39
|
+
/**
|
|
40
|
+
* 第三方应用ID
|
|
41
|
+
*/
|
|
42
|
+
groupId: string;
|
|
43
|
+
/**
|
|
44
|
+
* 用户ID
|
|
45
|
+
*/
|
|
46
|
+
userId: string;
|
|
47
|
+
/**
|
|
48
|
+
* 角色ID
|
|
49
|
+
*/
|
|
50
|
+
roleId: string;
|
|
51
|
+
/**
|
|
52
|
+
* 成员加入第三方应用的时间
|
|
53
|
+
*/
|
|
54
|
+
createTime: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* 新增第三方应用请求
|
|
58
|
+
*/
|
|
59
|
+
declare type AddThirdPartyAppReq = Omit<ThirdPartyApp, 'id' | 'ownerId'>;
|
|
60
|
+
export interface ThirdPartyAppAPI {
|
|
61
|
+
/**
|
|
62
|
+
* 新增第三方应用
|
|
63
|
+
* @param thirdPartyApp 第三方应用
|
|
64
|
+
*/
|
|
65
|
+
addThirdPartyApp: (thirdPartyApp: AddThirdPartyAppReq) => PResponse<AccessSecret>;
|
|
66
|
+
/**
|
|
67
|
+
* 获取当前用户的所有第三方应用列表(分页)
|
|
68
|
+
* @param odata 分页参数
|
|
69
|
+
* @returns 第三方应用列表
|
|
70
|
+
*/
|
|
71
|
+
listMyThirdPartyApp: (odata: OData) => PResponse<Page<ThirdPartyApp>>;
|
|
72
|
+
/**
|
|
73
|
+
* 获取所有的第三方应用列表(分页)
|
|
74
|
+
* @param odata 分页参数
|
|
75
|
+
* @returns 第三方应用列表
|
|
76
|
+
*/
|
|
77
|
+
listThirdPartyApp: (odata: OData) => PResponse<Page<ThirdPartyApp>>;
|
|
78
|
+
/**
|
|
79
|
+
* 刷新应用访问凭据及密钥
|
|
80
|
+
* 旧的密钥将失效
|
|
81
|
+
* @param id 第三方应用ID
|
|
82
|
+
* @returns 新的应用访问凭据及密钥
|
|
83
|
+
*/
|
|
84
|
+
rollAccessSecret: (id: string) => PResponse<AccessSecret>;
|
|
85
|
+
/**
|
|
86
|
+
* 生成邀请码,持有者可凭借邀请码在有效期内成为第三方应用成员。
|
|
87
|
+
* @param appId 第三方应用ID
|
|
88
|
+
* @param timeout 邀请码有效期。单位:小时。默认为 24 小时。
|
|
89
|
+
* @returns 邀请码
|
|
90
|
+
*/
|
|
91
|
+
inviteMember: (appId: string, timeout?: number) => PResponse<string>;
|
|
92
|
+
/**
|
|
93
|
+
* 邀请用户成为第三方应用成员
|
|
94
|
+
* @param appId 第三方应用ID
|
|
95
|
+
* @param userId 用户ID
|
|
96
|
+
* @param timeout 邀请码有效期。单位:小时。默认为 24 小时。
|
|
97
|
+
* @returns 邀请码
|
|
98
|
+
*/
|
|
99
|
+
inviteParticularMember: (appId: string, userId: string, timeout?: number) => PResponse<string>;
|
|
100
|
+
/**
|
|
101
|
+
* 持邀请码成为第三方应用成员
|
|
102
|
+
* @param token 邀请码
|
|
103
|
+
* @returns 成员ID。注意:该 ID 不是用户的 ID。
|
|
104
|
+
*/
|
|
105
|
+
addThirdPartyAppMember: (token: string) => PResponse<Id>;
|
|
106
|
+
/**
|
|
107
|
+
* 查询第三方应用的成员
|
|
108
|
+
* @param appId 第三方应用
|
|
109
|
+
* @returns 第三方应用成员列表
|
|
110
|
+
*/
|
|
111
|
+
listThirdPartyAppMember: (appId: string) => PResponse<ThirdPartyAppMember[]>;
|
|
112
|
+
/**
|
|
113
|
+
* 第三方应用所有权转移
|
|
114
|
+
* @param appId 第三方应用ID
|
|
115
|
+
* @param userId 用户ID
|
|
116
|
+
*/
|
|
117
|
+
moveOwnerShip: (appId: string, userId: string) => PResponse<void>;
|
|
118
|
+
}
|
|
119
|
+
declare const _default: (client: HttpClient) => ThirdPartyAppAPI;
|
|
120
|
+
export default _default;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { AxiosInstance, AxiosResponse, CreateAxiosDefaults } from "axios";
|
|
2
|
+
/**
|
|
3
|
+
* @see {@link https://docs.oasis-open.org/odata/odata/v4.01/cs01/abnf/odata-abnf-construction-rules.txt | OData ABNF Construction Rules Version 4.01}
|
|
4
|
+
*/
|
|
5
|
+
export interface OData {
|
|
6
|
+
/**
|
|
7
|
+
* 分页大小
|
|
8
|
+
*/
|
|
9
|
+
top: number;
|
|
10
|
+
/**
|
|
11
|
+
* 偏移量
|
|
12
|
+
* (页码 - 1) * 分页大小
|
|
13
|
+
* 页码从1开始
|
|
14
|
+
*/
|
|
15
|
+
skip: number;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 分页
|
|
19
|
+
*/
|
|
20
|
+
export interface Page<T> {
|
|
21
|
+
/**
|
|
22
|
+
* 数据列表
|
|
23
|
+
*/
|
|
24
|
+
content: T[];
|
|
25
|
+
/**
|
|
26
|
+
* 分页信息
|
|
27
|
+
*/
|
|
28
|
+
page: {
|
|
29
|
+
/**
|
|
30
|
+
* 分页大小
|
|
31
|
+
*/
|
|
32
|
+
size: number;
|
|
33
|
+
/**
|
|
34
|
+
* 页码
|
|
35
|
+
*/
|
|
36
|
+
number: number;
|
|
37
|
+
/**
|
|
38
|
+
* 总数据量
|
|
39
|
+
*/
|
|
40
|
+
totalElements: number;
|
|
41
|
+
/**
|
|
42
|
+
* 总页数
|
|
43
|
+
*/
|
|
44
|
+
totalPages: null;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export interface Id {
|
|
48
|
+
id: string;
|
|
49
|
+
}
|
|
50
|
+
export declare type HttpClient = AxiosInstance;
|
|
51
|
+
export declare type InstanceConfig = CreateAxiosDefaults;
|
|
52
|
+
export declare type PResponse<T> = Promise<AxiosResponse<T>>;
|
package/package.json
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@xezzon/zeroweb-sdk",
|
|
3
|
+
"version": "0.8.5-beta.0",
|
|
4
|
+
"types": "dist/typings/index.d.ts",
|
|
5
|
+
"exports": {
|
|
6
|
+
".": {
|
|
7
|
+
"import": "./dist/esm/index.js",
|
|
8
|
+
"require": "./dist/cjs/index.js",
|
|
9
|
+
"types": "./dist/typings/index.d.ts"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"files": [
|
|
13
|
+
"dist"
|
|
14
|
+
],
|
|
15
|
+
"scripts": {
|
|
16
|
+
"lint": "oxlint",
|
|
17
|
+
"build": "pnpm run build:cjs && pnpm run build:esm",
|
|
18
|
+
"build:esm": "tsc --module esnext --outDir dist/esm && tsc-alias",
|
|
19
|
+
"build:cjs": "tsc --module commonjs --outDir dist/cjs && tsc-alias"
|
|
20
|
+
},
|
|
21
|
+
"devDependencies": {
|
|
22
|
+
"@types/crypto-js": "^4.2.2",
|
|
23
|
+
"@types/node": "^25.0.1",
|
|
24
|
+
"@zeroweb/oxlint": "workspace:^",
|
|
25
|
+
"oxlint": "catalog:",
|
|
26
|
+
"tsc-alias": "^1.8.16",
|
|
27
|
+
"typescript": "^5.9.3"
|
|
28
|
+
},
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"axios": "^1.13.2",
|
|
31
|
+
"crypto-js": "^4.2.0",
|
|
32
|
+
"js-crc": "^0.3.1"
|
|
33
|
+
}
|
|
34
|
+
}
|