This commit is contained in:
2025-10-24 03:04:06 +08:00
parent cc74dc6803
commit ac32ff9d4a
3 changed files with 32 additions and 7 deletions

View File

@@ -1,7 +1,7 @@
{ {
"$schema": "https://json.schemastore.org/package", "$schema": "https://json.schemastore.org/package",
"name": "@kevisual/router", "name": "@kevisual/router",
"version": "0.0.30", "version": "0.0.31",
"description": "", "description": "",
"type": "module", "type": "module",
"main": "./dist/router.js", "main": "./dist/router.js",
@@ -24,18 +24,18 @@
"@kevisual/local-proxy": "^0.0.6", "@kevisual/local-proxy": "^0.0.6",
"@kevisual/query": "^0.0.29", "@kevisual/query": "^0.0.29",
"@rollup/plugin-alias": "^5.1.1", "@rollup/plugin-alias": "^5.1.1",
"@rollup/plugin-commonjs": "28.0.6", "@rollup/plugin-commonjs": "28.0.8",
"@rollup/plugin-node-resolve": "^16.0.3", "@rollup/plugin-node-resolve": "^16.0.3",
"@rollup/plugin-typescript": "^12.1.4", "@rollup/plugin-typescript": "^12.3.0",
"@types/lodash-es": "^4.17.12", "@types/lodash-es": "^4.17.12",
"@types/node": "^24.7.2", "@types/node": "^24.9.1",
"@types/send": "^1.2.0", "@types/send": "^1.2.0",
"@types/ws": "^8.18.1", "@types/ws": "^8.18.1",
"@types/xml2js": "^0.4.14", "@types/xml2js": "^0.4.14",
"cookie": "^1.0.2", "cookie": "^1.0.2",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
"nanoid": "^5.1.6", "nanoid": "^5.1.6",
"rollup": "^4.52.4", "rollup": "^4.52.5",
"rollup-plugin-dts": "^6.2.3", "rollup-plugin-dts": "^6.2.3",
"ts-loader": "^9.5.4", "ts-loader": "^9.5.4",
"ts-node": "^10.9.2", "ts-node": "^10.9.2",

View File

@@ -5,7 +5,7 @@ import { CustomError } from './result/error.ts';
import { handleServer } from './server/handle-server.ts'; import { handleServer } from './server/handle-server.ts';
import { IncomingMessage, ServerResponse } from 'http'; import { IncomingMessage, ServerResponse } from 'http';
type RouterHandle = (msg: { path: string; [key: string]: any }) => { code: string; data?: any; message?: string; [key: string]: any }; type RouterHandle = (msg: { path: string;[key: string]: any }) => { code: string; data?: any; message?: string;[key: string]: any };
type AppOptions<T = {}> = { type AppOptions<T = {}> = {
router?: QueryRouter; router?: QueryRouter;
server?: Server; server?: Server;
@@ -82,6 +82,19 @@ export class App<T = {}, U = AppReqRes> {
} }
return new Route(path, key, opts); return new Route(path, key, opts);
} }
prompt(description: string): Route<Required<RouteContext>>;
prompt(description: Function): Route<Required<RouteContext>>;
prompt(...args: any[]) {
const [desc] = args;
let description = ''
if (typeof desc === 'string') {
description = desc;
} else if (typeof desc === 'function') {
description = desc() || ''; // 如果是Promise需要addTo App之前就要获取应有的函数了。
}
return new Route('', '', { description });
}
async call(message: { id?: string, path?: string; key?: string; payload?: any }, ctx?: RouteContext & { [key: string]: any }) { async call(message: { id?: string, path?: string; key?: string; payload?: any }, ctx?: RouteContext & { [key: string]: any }) {
const router = this.router; const router = this.router;
return await router.call(message, ctx); return await router.call(message, ctx);

View File

@@ -133,7 +133,7 @@ export class Route<U = { [key: string]: any }> {
* 是否开启debug开启后会打印错误信息 * 是否开启debug开启后会打印错误信息
*/ */
isDebug?: boolean; isDebug?: boolean;
constructor(path: string, key: string = '', opts?: RouteOpts) { constructor(path: string = '', key: string = '', opts?: RouteOpts) {
if (!path) { if (!path) {
path = nanoid(8) path = nanoid(8)
} }
@@ -767,6 +767,18 @@ export class QueryRouterServer extends QueryRouter {
} }
return new Route(path, key, opts); return new Route(path, key, opts);
} }
prompt(description: string): Route<Required<RouteContext>>;
prompt(description: Function): Route<Required<RouteContext>>;
prompt(...args: any[]) {
const [desc] = args;
let description = ''
if (typeof desc === 'string') {
description = desc;
} else if (typeof desc === 'function') {
description = desc() || ''; // 如果是Promise需要addTo App之前就要获取应有的函数了。
}
return new Route('', '', { description });
}
/** /**
* 等于queryRoute但是调用了handle * 等于queryRoute但是调用了handle