@seayoo-web/kms 2.0.0 → 2.0.2

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