更新 @kevisual/api 版本至 0.0.22,修正文件引用路径并优化路由注册逻辑
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@kevisual/api",
|
"name": "@kevisual/api",
|
||||||
"version": "0.0.21",
|
"version": "0.0.22",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "mod.ts",
|
"main": "mod.ts",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { QueryClient as Query, Result } from '@kevisual/query';
|
|||||||
import { QueryRouterServer, App, Route } from '@kevisual/router';
|
import { QueryRouterServer, App, Route } from '@kevisual/router';
|
||||||
import { filter } from '@kevisual/js-filter'
|
import { filter } from '@kevisual/js-filter'
|
||||||
import { EventEmitter } from 'eventemitter3';
|
import { EventEmitter } from 'eventemitter3';
|
||||||
import { initApi } from './router-api-proxy';
|
import { initApi } from './router-api-proxy.ts';
|
||||||
|
|
||||||
export const RouteTypeList = ['api', 'context', 'worker', 'page'] as const;
|
export const RouteTypeList = ['api', 'context', 'worker', 'page'] as const;
|
||||||
export type RouterViewItemInfo = RouterViewApi | RouterViewContext | RouterViewWorker | RouteViewPage;
|
export type RouterViewItemInfo = RouterViewApi | RouterViewContext | RouterViewWorker | RouteViewPage;
|
||||||
|
|||||||
@@ -1,13 +1,14 @@
|
|||||||
import { Query } from "@kevisual/query";
|
import { Query } from "@kevisual/query";
|
||||||
import { RouterViewApi, RouterItem } from ".";
|
import { RouterViewApi, RouterItem } from "./proxy.ts";
|
||||||
import { App, type QueryRouterServer } from "@kevisual/router";
|
import { App, type QueryRouterServer } from "@kevisual/router";
|
||||||
import { filter } from "@kevisual/js-filter";
|
import { filter } from "@kevisual/js-filter";
|
||||||
|
import { isBrowser } from "es-toolkit";
|
||||||
export const initApi = async (opts: {
|
export const initApi = async (opts: {
|
||||||
item?: RouterViewApi,
|
item?: RouterViewApi,
|
||||||
router: QueryRouterServer | App,
|
router: QueryRouterServer | App,
|
||||||
token?: string,
|
token?: string,
|
||||||
/**
|
/**
|
||||||
* WHERE path = 'auth' OR path = 'router'
|
* WHERE path = 'auth' OR path = 'router' OR path = 'call'
|
||||||
*/
|
*/
|
||||||
exclude?: string;
|
exclude?: string;
|
||||||
}) => {
|
}) => {
|
||||||
@@ -22,11 +23,16 @@ export const initApi = async (opts: {
|
|||||||
}
|
}
|
||||||
let _list = res.data?.list || []
|
let _list = res.data?.list || []
|
||||||
if (opts?.exclude) {
|
if (opts?.exclude) {
|
||||||
_list = filter(_list, opts.exclude);
|
if (opts?.exclude) {
|
||||||
|
let excludeList = filter(_list, opts.exclude);
|
||||||
|
const excludeIds = excludeList.map(i => i.id);
|
||||||
|
_list = _list.filter(i => !excludeIds.includes(i.id!));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
const _isBrowser = isBrowser();
|
||||||
for (const r of _list) {
|
for (const r of _list) {
|
||||||
if (r.path || r.id) {
|
if (r.path || r.id) {
|
||||||
console.debug(`注册路由: [${r.path}] ${r?.key}`, 'API');
|
_isBrowser && console.debug(`注册路由: [${r.path}] ${r?.key}`, 'API');
|
||||||
let metadata = r.metadata || {};
|
let metadata = r.metadata || {};
|
||||||
metadata.viewItem = item;
|
metadata.viewItem = item;
|
||||||
router.route({
|
router.route({
|
||||||
|
|||||||
Reference in New Issue
Block a user