@kevisual/api 0.0.49 → 0.0.51

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kevisual/api",
3
- "version": "0.0.49",
3
+ "version": "0.0.51",
4
4
  "description": "",
5
5
  "main": "mod.ts",
6
6
  "scripts": {
@@ -36,9 +36,10 @@
36
36
  "ws": "npm:@kevisual/ws"
37
37
  },
38
38
  "dependencies": {
39
- "@kevisual/context": "^0.0.4",
39
+ "@kevisual/context": "^0.0.6",
40
40
  "@kevisual/js-filter": "^0.0.5",
41
41
  "@kevisual/load": "^0.0.6",
42
+ "@paralleldrive/cuid2": "^3.3.0",
42
43
  "es-toolkit": "^1.44.0",
43
44
  "eventemitter3": "^5.0.4",
44
45
  "fuse.js": "^7.1.0",
@@ -56,6 +57,7 @@
56
57
  "./proxy": "./query/query-proxy/index.ts",
57
58
  "./secret": "./query/query-secret/index.ts",
58
59
  "./resources": "./query/query-resources/index.ts",
60
+ "./utils-node": "./dist/utils-node.js",
59
61
  "./utils": "./dist/utils.js",
60
62
  "./query-secret": "./dist/query-secret.js",
61
63
  "./query-mark": "./dist/query-mark.js",
@@ -62,7 +62,7 @@ export type RouterViewWorker = {
62
62
  } & RouteViewBase;
63
63
 
64
64
  /**
65
- * 去掉不需要保存都服务器的数据
65
+ * 去掉不需要保存的服务器的数据
66
66
  * @param item
67
67
  * @returns
68
68
  */
@@ -86,7 +86,7 @@ export const pickRouterViewData = (item: RouterViewItem) => {
86
86
  return rest
87
87
  }
88
88
  /**
89
- * 注入 js 的url地址,使用importScripts加载
89
+ * 注入 js 的url地址,使用 importScripts 加载
90
90
  */
91
91
  export type RouteViewPage = {
92
92
  type: 'page',
@@ -100,6 +100,9 @@ export type RouterViewQuery = {
100
100
  query: string,
101
101
  title: string
102
102
  }
103
+ /**
104
+ * 后端存储结构
105
+ */
103
106
  export type RouterViewData = {
104
107
  data: { items: RouterViewItem[]; }
105
108
  views: RouterViewQuery[];
@@ -121,7 +124,7 @@ export class QueryProxy {
121
124
  this.initRouterViewQuery();
122
125
  this.emitter = new EventEmitter();
123
126
  }
124
- getDefulatToken() {
127
+ private getDefulatToken() {
125
128
  try {
126
129
  if (typeof window !== 'undefined' && typeof window.localStorage !== 'undefined') {
127
130
  return localStorage.getItem('token') || undefined;
@@ -139,7 +142,7 @@ export class QueryProxy {
139
142
  });
140
143
  }
141
144
 
142
- initRouterView(item: RouterViewItem) {
145
+ private initRouterView(item: RouterViewItem) {
143
146
  if (item.type === 'api' && item.api?.url) {
144
147
  const url = item.api.url;
145
148
  if (item?.api?.query) return item;
@@ -253,6 +256,7 @@ export class QueryProxy {
253
256
  console.debug(`注册路由: [${r.path}] ${r?.key}`, 'Context');
254
257
  let metadata = r.metadata || {};
255
258
  metadata.viewItem = item;
259
+ metadata.source = 'query-proxy-context';
256
260
  this.router.route({
257
261
  path: r.path,
258
262
  key: r.key || '',
@@ -268,7 +272,7 @@ export class QueryProxy {
268
272
  generateId() {
269
273
  return 'route_' + Math.random().toString(36).substring(2, 9);
270
274
  }
271
- async callWorker(msg: any, viewItem: RouterViewWorker['worker']): Promise<Result> {
275
+ private async callWorker(msg: any, viewItem: RouterViewWorker['worker']): Promise<Result> {
272
276
  const that = this;
273
277
  const requestId = this.generateId();
274
278
  const worker = viewItem?.worker;
@@ -296,7 +300,7 @@ export class QueryProxy {
296
300
  });
297
301
  });
298
302
  }
299
- async initWorker(item?: RouterViewWorker, initRoutes: boolean = true) {
303
+ private async initWorker(item?: RouterViewWorker, initRoutes: boolean = true) {
300
304
  const that = this;
301
305
  if (!item?.worker?.url) {
302
306
  console.warn('Worker URL not provided');
@@ -347,6 +351,7 @@ export class QueryProxy {
347
351
  console.debug(`注册路由: [${r.path}] ${r?.key}`, 'API');
348
352
  let metadata = r.metadata || {};
349
353
  metadata.viewItem = item;
354
+ metadata.source = 'query-proxy-worker';
350
355
  this.router.route({
351
356
  path: r.path,
352
357
  key: r.key || '',
@@ -364,7 +369,7 @@ export class QueryProxy {
364
369
  }
365
370
  }
366
371
  }
367
- async initPage(item?: RouteViewPage) {
372
+ private async initPage(item?: RouteViewPage) {
368
373
  if (!item?.page?.url) {
369
374
  console.warn('Page地址未提供');
370
375
  return;
@@ -381,7 +386,7 @@ export class QueryProxy {
381
386
  return;
382
387
  }
383
388
  }
384
- getQueryByViewId(viewId: string): string | undefined {
389
+ private getQueryByViewId(viewId: string): string | undefined {
385
390
  const view = this.views.find(v => v.id === viewId);
386
391
  if (view) {
387
392
  return view.query;
@@ -465,7 +470,7 @@ export class QueryProxy {
465
470
  item.response = res;
466
471
  return item;
467
472
  }
468
- item.response = { code: 500, message: '无法处理的路由类型' };
473
+ item.response = { code: 500, message: '无法处理的路由类型', data: item };
469
474
  return item;
470
475
  }
471
476
  }
@@ -477,4 +482,15 @@ export type RouterItem = {
477
482
  description?: string;
478
483
  middleware?: string[];
479
484
  metadata?: Record<string, any>;
485
+ }
486
+
487
+ export const createViewData = (routerViewData: RouterViewItem | RouterViewItem[], data?: RouterViewData): RouterViewData => {
488
+ return {
489
+ views: [],
490
+ viewId: undefined,
491
+ data: {
492
+ items: Array.isArray(routerViewData) ? routerViewData : [routerViewData],
493
+ },
494
+ ...data
495
+ }
480
496
  }
@@ -38,6 +38,7 @@ export const initApi = async (opts: {
38
38
  let metadata = r.metadata || {};
39
39
  metadata.viewItem = item;
40
40
  metadata.url = query.url;
41
+ metadata.source = 'query-proxy-api';
41
42
  router.route({
42
43
  path: r.path,
43
44
  key: r.key || '',
@@ -1,9 +1,12 @@
1
1
  import { customAlphabet } from 'nanoid';
2
+ import { createId } from '@paralleldrive/cuid2';
2
3
 
3
4
  export const letter = 'abcdefghijklmnopqrstuvwxyz';
4
5
  export const number = '0123456789';
5
6
  const alphanumeric = `${letter}${number}`;
6
7
  export const alphanumericWithDash = `${alphanumeric}-`;
8
+
9
+ export const cuid2 = createId;
7
10
  /**
8
11
  * 创建一个随机的字母字符串
9
12
  */
@@ -12,12 +15,12 @@ export const uuid = customAlphabet(letter);
12
15
  /**
13
16
  * 创建一个随机的 id,包含字母和数字
14
17
  */
15
- export const nanoid = customAlphabet(alphanumeric, 10);
18
+ export const nanoid = customAlphabet(alphanumeric, 16);
16
19
 
17
20
  /**
18
21
  * 创建一个随机的 id,包含字母、数字和短横线
19
22
  */
20
- export const nanoidWithDash = customAlphabet(alphanumericWithDash, 10);
23
+ export const nanoidWithDash = customAlphabet(alphanumericWithDash, 16);
21
24
 
22
25
  /**
23
26
  * 创建一个随机的 id,以字母开头的字符串