update
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@kevisual/api",
|
||||
"version": "0.0.8",
|
||||
"version": "0.0.9",
|
||||
"description": "",
|
||||
"main": "mod.ts",
|
||||
"scripts": {
|
||||
@@ -32,6 +32,7 @@
|
||||
"fast-glob": "^3.3.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"@kevisual/js-filter": "^0.0.1",
|
||||
"@kevisual/load": "^0.0.6",
|
||||
"es-toolkit": "^1.43.0",
|
||||
"nanoid": "^5.1.6"
|
||||
|
||||
26
pnpm-lock.yaml
generated
26
pnpm-lock.yaml
generated
@@ -8,6 +8,9 @@ importers:
|
||||
|
||||
.:
|
||||
dependencies:
|
||||
'@kevisual/js-filter':
|
||||
specifier: ^0.0.1
|
||||
version: 0.0.1
|
||||
'@kevisual/load':
|
||||
specifier: ^0.0.6
|
||||
version: 0.0.6
|
||||
@@ -25,8 +28,8 @@ importers:
|
||||
specifier: ^0.0.33
|
||||
version: 0.0.33
|
||||
'@kevisual/router':
|
||||
specifier: ^0.0.41
|
||||
version: 0.0.41
|
||||
specifier: ^0.0.51
|
||||
version: 0.0.51
|
||||
'@kevisual/types':
|
||||
specifier: ^0.0.10
|
||||
version: 0.0.10
|
||||
@@ -71,6 +74,9 @@ packages:
|
||||
'@kevisual/cache@0.0.4':
|
||||
resolution: {integrity: sha512-NlyriJ9fC27TgQhWYbEH9hG84R2k0lIofOxo/+nVHN6a6LJSLnVbpDIysRcnH8MI52n/XHfWwLSjeDDL3D1/cQ==}
|
||||
|
||||
'@kevisual/js-filter@0.0.1':
|
||||
resolution: {integrity: sha512-wACP0Hphhel/ZkH9moSAIABofs/Zz7EUmUKdHv+jTaXRSkdJEs4pCpzg0MUc9PMqs/7C5yXrJaM50O4TXWKIoQ==}
|
||||
|
||||
'@kevisual/load@0.0.6':
|
||||
resolution: {integrity: sha512-+3YTFehRcZ1haGel5DKYMUwmi5i6f2psyaPZlfkKU/cOXgkpwoG9/BEqPCnPjicKqqnksEpixVRkyHJ+5bjLVA==}
|
||||
|
||||
@@ -83,8 +89,8 @@ packages:
|
||||
'@kevisual/router@0.0.20':
|
||||
resolution: {integrity: sha512-uSwDYWh+kvAu6i0m0SJVgcLR/CYz7WvIWGz0nSF8Vg6smJuAgI+laHR4ESO8Fbz+Xn8bPHuSwmM//HHLMLx2FA==}
|
||||
|
||||
'@kevisual/router@0.0.41':
|
||||
resolution: {integrity: sha512-OKtTLOnTVew+uAx9R4VOdgCpf7KjOL7wMB2bZEJUun9SnqvTBQ+/dJkJ2VlihYPBuSEB5EkxZrOoaDRj7CMRJw==}
|
||||
'@kevisual/router@0.0.51':
|
||||
resolution: {integrity: sha512-i9qYBeS/um78oC912oWJD3iElB+5NTKyTrz1Hzf4DckiUFnjLL81UPwjIh5I2l9+ul0IZ/Pxx+sFSF99fJkzKg==}
|
||||
|
||||
'@kevisual/types@0.0.10':
|
||||
resolution: {integrity: sha512-Q73uzzjk9UidumnmCvOpgzqDDvQxsblz22bIFuoiioUFJWwaparx8bpd8ArRyFojicYL1YJoFDzDZ9j9NN8grA==}
|
||||
@@ -460,8 +466,8 @@ packages:
|
||||
resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
selfsigned@5.2.0:
|
||||
resolution: {integrity: sha512-QKF6fsJgdKn5Cy1SekTuwUQ6LOLUdnO4gVne1+TGSAyL/CD1aznNCmBna+bQB9xyon7DiYbDtTR1cLaxDXuaVA==}
|
||||
selfsigned@5.4.0:
|
||||
resolution: {integrity: sha512-Yn8qZOOJv+NhcGY19iC+ngW6hlUCNpvWEkrKllXNhmkLgR9fcErm8EqZ/wev7/tiwjKC9qj17Fa/PtBNzb6q8g==}
|
||||
engines: {node: '>=15.6.0'}
|
||||
|
||||
send@1.2.1:
|
||||
@@ -523,6 +529,8 @@ snapshots:
|
||||
lru-cache: 11.2.4
|
||||
nanoid: 5.1.6
|
||||
|
||||
'@kevisual/js-filter@0.0.1': {}
|
||||
|
||||
'@kevisual/load@0.0.6':
|
||||
dependencies:
|
||||
eventemitter3: 5.0.1
|
||||
@@ -542,10 +550,10 @@ snapshots:
|
||||
path-to-regexp: 8.2.0
|
||||
selfsigned: 2.4.1
|
||||
|
||||
'@kevisual/router@0.0.41':
|
||||
'@kevisual/router@0.0.51':
|
||||
dependencies:
|
||||
path-to-regexp: 8.3.0
|
||||
selfsigned: 5.2.0
|
||||
selfsigned: 5.4.0
|
||||
send: 1.2.1
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
@@ -947,7 +955,7 @@ snapshots:
|
||||
'@types/node-forge': 1.3.11
|
||||
node-forge: 1.3.1
|
||||
|
||||
selfsigned@5.2.0:
|
||||
selfsigned@5.4.0:
|
||||
dependencies:
|
||||
'@peculiar/x509': 1.14.2
|
||||
pkijs: 3.3.3
|
||||
|
||||
@@ -1,5 +1,21 @@
|
||||
import { Query } from '@kevisual/query/query';
|
||||
import { QueryRouterServer, Route } from '@kevisual/router/src/route.ts';
|
||||
import { filter } from '@kevisual/js-filter'
|
||||
export type ProxyItem = {
|
||||
title?: string;
|
||||
type?: 'api' | 'context' | 'page';
|
||||
description?: string;
|
||||
api?: {
|
||||
url: string;
|
||||
},
|
||||
context?: {
|
||||
key: string;
|
||||
},
|
||||
page?: {},
|
||||
where?: string;
|
||||
whereList?: Array<{ title: string; where: string }>;
|
||||
}
|
||||
|
||||
export class QueryProxy {
|
||||
query: Query;
|
||||
router: QueryRouterServer;
|
||||
@@ -7,7 +23,16 @@ export class QueryProxy {
|
||||
constructor(opts?: { query: Query, router?: QueryRouterServer, token?: string }) {
|
||||
this.query = opts?.query || new Query();
|
||||
this.router = opts?.router || new QueryRouterServer();
|
||||
this.token = opts?.token;
|
||||
this.token = opts?.token || this.getDefulatToken();
|
||||
}
|
||||
getDefulatToken() {
|
||||
try {
|
||||
if (localStorage) {
|
||||
return localStorage.getItem('token') || undefined;
|
||||
}
|
||||
} catch (e) {
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 初始化路由
|
||||
@@ -22,11 +47,12 @@ export class QueryProxy {
|
||||
}
|
||||
const _list = res.data?.list || []
|
||||
for (const item of _list) {
|
||||
if (item.path && item.key) {
|
||||
console.log(`Register route: [${item.path}] ${item.key}`);
|
||||
if (item.path || item.id) {
|
||||
console.log(`Register route: [${item.path}] ${item?.key}`);
|
||||
this.router.route({
|
||||
path: item.path,
|
||||
key: item.key,
|
||||
key: item.key || '',
|
||||
id: item.id,
|
||||
description: item.description,
|
||||
metadata: item.metadata,
|
||||
}).define(async (ctx) => {
|
||||
@@ -43,10 +69,15 @@ export class QueryProxy {
|
||||
/**
|
||||
* 列出路由
|
||||
* @param filter
|
||||
* @param query WHERE metadata.tags CONTAINS 'premium'
|
||||
* @returns
|
||||
*/
|
||||
async listRoutes(filter?: (item: Route) => boolean) {
|
||||
return this.router.routes.filter(filter || (() => true));
|
||||
async listRoutes(filterFn?: (item: Route) => boolean, query?: string) {
|
||||
const routes = this.router.routes.filter(filterFn || (() => true));
|
||||
if (query) {
|
||||
return filter(routes, query);
|
||||
}
|
||||
return routes;
|
||||
}
|
||||
/**
|
||||
* 运行路由
|
||||
|
||||
Reference in New Issue
Block a user