import { App } from '@kevisual/router'; import { HttpsPem } from '@/module/assistant/https/sign.ts'; // import { AssistantConfig } from '@/module/assistant/index.ts'; import { AssistantInit, parseHomeArg } from '@/services/init/index.ts'; import { configDir as HomeConfigDir } from '@/module/assistant/config/index.ts'; import { useContextKey } from '@kevisual/use-config/context'; import { AssistantQuery } from '@/module/assistant/query/index.ts'; const manualParse = parseHomeArg(HomeConfigDir); const _configDir = manualParse.configDir; export const configDir = AssistantInit.detectConfigDir(_configDir); const isInit = manualParse?.options?.help ? false : true; export const assistantConfig = useContextKey('assistantConfig', () => { return new AssistantInit({ path: configDir, init: isInit, }); }); export const assistantQuery = useContextKey('assistantQuery', () => { return new AssistantQuery(assistantConfig); }); const httpsPem = new HttpsPem(assistantConfig); export const runtime = useContextKey('runtime', () => { return { type: 'client', }; }); export const app: App = useContextKey('app', () => { const init = isInit; if (init) { const config = assistantConfig.getConfig(); if (config?.https?.type !== 'https') { console.log('http模式', 'http'); return new App({ serverOptions: { path: '/client/router', httpType: 'http', cors: { origin: '*', } }, }); } } return new App({ serverOptions: { path: '/client/router', httpType: 'https', httpsCert: httpsPem.cert, httpsKey: httpsPem.key, cors: { origin: '*', } }, }); });