@seayoo-web/kms 2.0.1 → 3.0.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 +20 -2
- package/dist/index.js +40 -22
- package/package.json +3 -12
- package/types/index.d.ts +1 -1
- package/types/src/dsi.d.ts +22 -15
package/README.md
CHANGED
|
@@ -2,6 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
- dsi 查询工具
|
|
4
4
|
- `queryDsi` 以 ajax 方式查询 dsi 数据
|
|
5
|
-
- `jsonpDsi` 以 jsonp 方式查询 dsi
|
|
6
|
-
- `jsonxDsi` 以 script 方式查询 dsi
|
|
5
|
+
- `jsonpDsi` 以 jsonp 方式查询 dsi 数据,微信环境无效
|
|
6
|
+
- `jsonxDsi` 以 script 方式查询 dsi 数据,微信环境无效
|
|
7
7
|
- `convertDsiParam` 工具函数,将 dsi query 参数转成 request param
|
|
8
|
+
|
|
9
|
+
```js
|
|
10
|
+
import { DSI } from "@seayoo-web/kms";
|
|
11
|
+
|
|
12
|
+
// 微信小程序导入
|
|
13
|
+
// import { DSI } from "@seayoo-web/kms/wx"
|
|
14
|
+
|
|
15
|
+
const dsi = new DSI("https://<project>.dsi.seayoo.com");
|
|
16
|
+
|
|
17
|
+
dsi.queryDsi({ key, query, guard });
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
```js
|
|
21
|
+
import { convertDsiParam } from "@seayoo-web/kms";
|
|
22
|
+
|
|
23
|
+
// 可以仅仅使用工具来生成 dsi 的查询参数
|
|
24
|
+
const param = convertDsiParam(query);
|
|
25
|
+
```
|
package/dist/index.js
CHANGED
|
@@ -1,32 +1,50 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
var L = Object.defineProperty;
|
|
2
|
+
var D = (t, r, i) => r in t ? L(t, r, { enumerable: !0, configurable: !0, writable: !0, value: i }) : t[r] = i;
|
|
3
|
+
var w = (t, r, i) => D(t, typeof r != "symbol" ? r + "" : r, i);
|
|
4
|
+
import { jsonp as k, jsonx as z } from "@seayoo-web/request";
|
|
3
5
|
function y(t) {
|
|
4
|
-
const r = {}, { group: i, filter: a, filterLogic:
|
|
5
|
-
if (
|
|
6
|
-
const
|
|
6
|
+
const r = {}, { group: i, filter: a, filterLogic: s, range: l, created: j, updated: d, size: m, page: A, sort: e } = t, { sn: $, fields: o, dataFields: n, multi: h, combo: v, pure: g = "items", label: c, value: f, option: b } = t;
|
|
7
|
+
if ($ && (r.sn = $), i && (r.g = Array.isArray(i) ? i.join(",") : i), a) {
|
|
8
|
+
const q = s === "or" ? "|" : "+", x = Object.keys(a);
|
|
7
9
|
r.filter = x.map((p) => {
|
|
8
10
|
const u = a[p];
|
|
9
11
|
return Array.isArray(u) ? `${p}:${u.join(",")}` : `${p}:${u}`;
|
|
10
|
-
}).join(
|
|
12
|
+
}).join(q);
|
|
11
13
|
}
|
|
12
|
-
return l && (r.r = l),
|
|
14
|
+
return l && (r.r = l), j && (r.created = j.join("-")), d && (r.updated = d.join("-")), e && (r.sort = Array.isArray(e) ? e.join(",") : e), h === !1 && (r.m = "n"), m && (r.s = `${m}`), A && (r.p = `${A}`), o && (r.f = Array.isArray(o) ? o.join(",") : o), n && (r.df = Array.isArray(n) ? n.join(",") : n), v === !0 && (o ? r.c = "y" : console.warn("设置 combo:true 必须要同步设置 fields")), g && (r.pure = g === "items" ? "items" : "y"), c && (r.label = Array.isArray(c) ? c.join(",") : c), f && (r.value = Array.isArray(f) ? f.join(",") : f), b && (r.option = b), r;
|
|
13
15
|
}
|
|
14
|
-
|
|
15
|
-
const { data: n } = await z(`https://${j(t)}/${r}`, a, { params: y(i) });
|
|
16
|
-
return n;
|
|
17
|
-
}
|
|
18
|
-
async function F({ endpoint: t, key: r, query: i, guard: a }) {
|
|
19
|
-
return await k(`https://${j(t)}/${r}/jsonp`, a, y(i));
|
|
20
|
-
}
|
|
21
|
-
async function N({ endpoint: t, key: r, query: i, guard: a }) {
|
|
22
|
-
return await q(`https://${j(t)}/${r}/script`, a, y(i));
|
|
23
|
-
}
|
|
24
|
-
function j(t) {
|
|
16
|
+
function C(t) {
|
|
25
17
|
return t.replace(/(?:^https?:\/\/|\/*$)/gi, "").toLowerCase();
|
|
26
18
|
}
|
|
19
|
+
class K {
|
|
20
|
+
constructor(r, i) {
|
|
21
|
+
w(this, "req");
|
|
22
|
+
this.req = i({ baseURL: `https://${C(r)}`, timeout: 1e4 });
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* 查询 Dsi 数据接口并返回接口响应
|
|
26
|
+
*/
|
|
27
|
+
async query({ key: r, query: i, guard: a }) {
|
|
28
|
+
const { data: s } = await this.req.get(r, a, { params: y(i) });
|
|
29
|
+
return s;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 通过 jsonp 方式加载 dsi 数据
|
|
33
|
+
*
|
|
34
|
+
* ⚠️ 微信环境下不支持
|
|
35
|
+
*/
|
|
36
|
+
async jsonp({ key: r, query: i, guard: a }) {
|
|
37
|
+
return await k(`${r}/jsonp`, a, y(i));
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* 通过 jsonx(script) 方式加载 dsi 数据
|
|
41
|
+
*
|
|
42
|
+
* ⚠️ 微信环境下不支持
|
|
43
|
+
*/
|
|
44
|
+
async jsonx({ key: r, query: i, guard: a }) {
|
|
45
|
+
return await z(`${r}/script`, a, y(i));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
27
48
|
export {
|
|
28
|
-
|
|
29
|
-
F as jsonpDsi,
|
|
30
|
-
N as jsonxDsi,
|
|
31
|
-
E as queryDsi
|
|
49
|
+
K as KMSDsi
|
|
32
50
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seayoo-web/kms",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "agent for seayoo.kms",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"source": "index.ts",
|
|
@@ -12,25 +12,16 @@
|
|
|
12
12
|
"types",
|
|
13
13
|
"README.md"
|
|
14
14
|
],
|
|
15
|
-
"exports": {
|
|
16
|
-
".": {
|
|
17
|
-
"types": "./types/index.d.ts",
|
|
18
|
-
"import": "./dist/index.js",
|
|
19
|
-
"default": "./dist/index.js"
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
15
|
"author": "web@seayoo.com",
|
|
23
16
|
"license": "MIT",
|
|
24
17
|
"publishConfig": {
|
|
25
18
|
"access": "public"
|
|
26
19
|
},
|
|
27
20
|
"devDependencies": {
|
|
28
|
-
"@seayoo-web/request": "^2.0
|
|
21
|
+
"@seayoo-web/request": "^2.1.0",
|
|
22
|
+
"@seayoo-web/scripts": "^1.2.5",
|
|
29
23
|
"@seayoo-web/tsconfig": "^1.0.2"
|
|
30
24
|
},
|
|
31
|
-
"peerDependencies": {
|
|
32
|
-
"@seayoo-web/request": "^2.0.6"
|
|
33
|
-
},
|
|
34
25
|
"scripts": {
|
|
35
26
|
"build": "vite build && tsc --emitDeclarationOnly",
|
|
36
27
|
"prepublish": "pnpm build"
|
package/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { KMSDsi } from "./src/dsi";
|
package/types/src/dsi.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type NetRequestFactory } from "@seayoo-web/request";
|
|
1
2
|
type BaseFieldType = string | number | null;
|
|
2
3
|
type QuerySortBaseField = "start" | "end" | "created" | "order" | "updated" | `data.${string}`;
|
|
3
4
|
type QuerySortField = QuerySortBaseField | `-${QuerySortBaseField}`;
|
|
@@ -140,9 +141,7 @@ export interface DsiQueryParam {
|
|
|
140
141
|
* 将查询配置转成 dsi 查询参数
|
|
141
142
|
*/
|
|
142
143
|
export declare function convertDsiParam(query: DsiQueryParam): Record<string, string>;
|
|
143
|
-
interface DsiQueryOption<T> {
|
|
144
|
-
/** dsi 服务器地址,比如 xxx.dsi.seayoo.com */
|
|
145
|
-
endpoint: string;
|
|
144
|
+
export interface DsiQueryOption<T> {
|
|
146
145
|
/** dsi key / alias */
|
|
147
146
|
key: string;
|
|
148
147
|
/** 查询参数 */
|
|
@@ -150,16 +149,24 @@ interface DsiQueryOption<T> {
|
|
|
150
149
|
/** 响应数据守卫函数 */
|
|
151
150
|
guard: (data: unknown) => data is T;
|
|
152
151
|
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
152
|
+
export declare class KMSDsi {
|
|
153
|
+
req: ReturnType<NetRequestFactory>;
|
|
154
|
+
constructor(endpoint: string, request: NetRequestFactory);
|
|
155
|
+
/**
|
|
156
|
+
* 查询 Dsi 数据接口并返回接口响应
|
|
157
|
+
*/
|
|
158
|
+
query<T = unknown>({ key, query, guard }: DsiQueryOption<T>): Promise<T | null>;
|
|
159
|
+
/**
|
|
160
|
+
* 通过 jsonp 方式加载 dsi 数据
|
|
161
|
+
*
|
|
162
|
+
* ⚠️ 微信环境下不支持
|
|
163
|
+
*/
|
|
164
|
+
jsonp<T = unknown>({ key, query, guard }: DsiQueryOption<T>): Promise<T | null>;
|
|
165
|
+
/**
|
|
166
|
+
* 通过 jsonx(script) 方式加载 dsi 数据
|
|
167
|
+
*
|
|
168
|
+
* ⚠️ 微信环境下不支持
|
|
169
|
+
*/
|
|
170
|
+
jsonx<T = unknown>({ key, query, guard }: DsiQueryOption<T>): Promise<T | null>;
|
|
171
|
+
}
|
|
165
172
|
export {};
|