更新 @kevisual/api 版本至 0.0.17,升级 @kevisual/cache 和 @kevisual/query 依赖至最新版本,重构 QueryProxy 类以优化 API 查询初始化

This commit is contained in:
2026-01-03 18:20:02 +08:00
parent cb8723c172
commit 80bd6112ad
3 changed files with 23 additions and 20 deletions

View File

@@ -1,6 +1,6 @@
{ {
"name": "@kevisual/api", "name": "@kevisual/api",
"version": "0.0.16", "version": "0.0.17",
"description": "", "description": "",
"main": "mod.ts", "main": "mod.ts",
"scripts": { "scripts": {
@@ -21,8 +21,8 @@
"packageManager": "pnpm@10.27.0", "packageManager": "pnpm@10.27.0",
"type": "module", "type": "module",
"devDependencies": { "devDependencies": {
"@kevisual/cache": "^0.0.4", "@kevisual/cache": "^0.0.5",
"@kevisual/query": "^0.0.33", "@kevisual/query": "^0.0.34",
"@kevisual/router": "^0.0.52", "@kevisual/router": "^0.0.52",
"@kevisual/types": "^0.0.10", "@kevisual/types": "^0.0.10",
"@kevisual/use-config": "^1.0.21", "@kevisual/use-config": "^1.0.21",

22
pnpm-lock.yaml generated
View File

@@ -25,11 +25,11 @@ importers:
version: 5.1.6 version: 5.1.6
devDependencies: devDependencies:
'@kevisual/cache': '@kevisual/cache':
specifier: ^0.0.4 specifier: ^0.0.5
version: 0.0.4 version: 0.0.5
'@kevisual/query': '@kevisual/query':
specifier: ^0.0.33 specifier: ^0.0.34
version: 0.0.33 version: 0.0.34
'@kevisual/router': '@kevisual/router':
specifier: ^0.0.52 specifier: ^0.0.52
version: 0.0.52 version: 0.0.52
@@ -74,8 +74,8 @@ importers:
packages: packages:
'@kevisual/cache@0.0.4': '@kevisual/cache@0.0.5':
resolution: {integrity: sha512-NlyriJ9fC27TgQhWYbEH9hG84R2k0lIofOxo/+nVHN6a6LJSLnVbpDIysRcnH8MI52n/XHfWwLSjeDDL3D1/cQ==} resolution: {integrity: sha512-fgtUYGUUq/DY0KFV4CkWszNqvQUaA8XvMTUjoR9ZXRpau5IIDolD/Wen2TFsZ7G3Rfy+lef5dnaiZVDkZwdVKg==}
'@kevisual/js-filter@0.0.3': '@kevisual/js-filter@0.0.3':
resolution: {integrity: sha512-vgUB2fUAWS75GUFr/a/tGSSDrPUUmVDktO38k3hIKwU3ZE4tpuhcVxrpUbkXlFS5i0rbL2mAQeID1C6kIlMGRg==} resolution: {integrity: sha512-vgUB2fUAWS75GUFr/a/tGSSDrPUUmVDktO38k3hIKwU3ZE4tpuhcVxrpUbkXlFS5i0rbL2mAQeID1C6kIlMGRg==}
@@ -86,8 +86,8 @@ packages:
'@kevisual/query@0.0.18': '@kevisual/query@0.0.18':
resolution: {integrity: sha512-I2vHTu0I6AyD9PJyr+vxyp9jIJ6rd2EZqLVHTv/+zrVKVc2SS76Tg7aGNkmAFqqLSCB8kLLsmMGtSJU1Qb8VVg==} resolution: {integrity: sha512-I2vHTu0I6AyD9PJyr+vxyp9jIJ6rd2EZqLVHTv/+zrVKVc2SS76Tg7aGNkmAFqqLSCB8kLLsmMGtSJU1Qb8VVg==}
'@kevisual/query@0.0.33': '@kevisual/query@0.0.34':
resolution: {integrity: sha512-3w74bcLpwV3z483eg8n0DgkftfjWC6iLONXBvfyjW6IZf6jMOuouFaM4Rk+uEsTgElU6XGMKseNTp6dlQdWYkg==} resolution: {integrity: sha512-UHA0qEJYzU76pffUx0OhcOL5zKuxR/Kg269OHjrFm7+7RO85Qzv4ON1vUJDFp61hRuRVwiwOEKucQLHLE6UpMg==}
'@kevisual/router@0.0.20': '@kevisual/router@0.0.20':
resolution: {integrity: sha512-uSwDYWh+kvAu6i0m0SJVgcLR/CYz7WvIWGz0nSF8Vg6smJuAgI+laHR4ESO8Fbz+Xn8bPHuSwmM//HHLMLx2FA==} resolution: {integrity: sha512-uSwDYWh+kvAu6i0m0SJVgcLR/CYz7WvIWGz0nSF8Vg6smJuAgI+laHR4ESO8Fbz+Xn8bPHuSwmM//HHLMLx2FA==}
@@ -526,7 +526,7 @@ packages:
snapshots: snapshots:
'@kevisual/cache@0.0.4': '@kevisual/cache@0.0.5':
dependencies: dependencies:
idb-keyval: 6.2.2 idb-keyval: 6.2.2
lru-cache: 11.2.4 lru-cache: 11.2.4
@@ -546,7 +546,9 @@ snapshots:
- ws - ws
- zod - zod
'@kevisual/query@0.0.33': {} '@kevisual/query@0.0.34':
dependencies:
tslib: 2.8.1
'@kevisual/router@0.0.20': '@kevisual/router@0.0.20':
dependencies: dependencies:

View File

@@ -1,4 +1,4 @@
import { Query, Result } from '@kevisual/query/query'; import { QueryClient as Query, Result } from '@kevisual/query';
import { QueryRouterServer, Route } from '@kevisual/router/src/route.ts'; import { QueryRouterServer, Route } from '@kevisual/router/src/route.ts';
import { filter } from '@kevisual/js-filter' import { filter } from '@kevisual/js-filter'
import { EventEmitter } from 'eventemitter3'; import { EventEmitter } from 'eventemitter3';
@@ -8,14 +8,14 @@ export type RouterViewItemInfo = RouterViewApi | RouterViewContext | RouterViewW
export type RouterViewItem<T = {}> = RouterViewItemInfo & T; export type RouterViewItem<T = {}> = RouterViewItemInfo & T;
type RouteViewBase = { type RouteViewBase = {
/**
* _id 用于纯本地存储标识
*/
_id: string;
id: string; id: string;
title: string; title: string;
description: string; description: string;
enabled?: boolean; enabled?: boolean;
/**
* 提示问题
*/
question?: string;
/** /**
* 响应数据 * 响应数据
*/ */
@@ -65,7 +65,7 @@ export type RouterViewWorker = {
* @returns * @returns
*/ */
export const pickRouterViewData = (item: RouterViewItem) => { export const pickRouterViewData = (item: RouterViewItem) => {
const { question, action, response, ...rest } = item; const { action, response, _id, ...rest } = item;
if (rest.type === 'api') { if (rest.type === 'api') {
if (rest.api) { if (rest.api) {
delete rest.api.query; delete rest.api.query;
@@ -141,7 +141,8 @@ export class QueryProxy {
if (item.type === 'api' && item.api?.url) { if (item.type === 'api' && item.api?.url) {
const url = item.api.url; const url = item.api.url;
if (item?.api?.query) return item; if (item?.api?.query) return item;
item['api'] = { url: url, query: new Query({ url: url }) }; const query = new Query({ url: url });
item['api'] = { url: url, query: query };
} }
if (item.type === 'worker' && item.worker?.url) { if (item.type === 'worker' && item.worker?.url) {
let viewItem = item as RouterViewWorker; let viewItem = item as RouterViewWorker;