chore: src/modules/base/event/app.ts

This commit is contained in:
2026-07-01 17:56:05 +08:00
parent 66a3fbdbaa
commit 74f9eed0ac
+45
View File
@@ -0,0 +1,45 @@
import { CoolEvent, Event } from '@cool-midway/core';
import { App, ILogger, IMidwayApplication, Inject } from '@midwayjs/core';
/**
* 接收事件
*/
@CoolEvent()
export class BaseAppEvent {
@App()
app: IMidwayApplication;
@Inject()
logger: ILogger;
@Event('onServerReady')
async onServerReady() {
if (!process['pkg']) return;
const port = this.app.getConfig('koa.port') || 8001;
this.logger.info(`Server is running at http://127.0.0.1:${port}`);
const url = `http://127.0.0.1:${port}`;
// 使用 child_process 打开浏览器
const { exec } = require('child_process');
let command;
switch (process.platform) {
case 'darwin': // macOS
command = `open ${url}`;
break;
case 'win32': // Windows
command = `start ${url}`;
break;
default: // Linux
command = `xdg-open ${url}`;
break;
}
console.log('url=>', url);
exec(command, (error: any) => {
if (!error) {
this.logger.info(`Application has opened in browser at ${url}`);
}
});
}
}