feat:移除了弹窗,服务器添加sls
This commit is contained in:
33
apps/telemetry-dashboard/server/utils/handler.ts
Normal file
33
apps/telemetry-dashboard/server/utils/handler.ts
Normal file
@ -0,0 +1,33 @@
|
||||
import {
|
||||
createError,
|
||||
defineEventHandler,
|
||||
type EventHandler,
|
||||
type EventHandlerRequest,
|
||||
isError,
|
||||
} from 'h3'
|
||||
|
||||
import { toAdminHttpError } from './admin-http-error'
|
||||
import { AdminApiError } from './errors'
|
||||
|
||||
export function defineAdminHandler<T>(
|
||||
handler: EventHandler<EventHandlerRequest, T | Promise<T>>,
|
||||
): EventHandler<EventHandlerRequest, Promise<T>> {
|
||||
return defineEventHandler(async (event) => {
|
||||
try {
|
||||
return await handler(event)
|
||||
} catch (error) {
|
||||
if (error instanceof AdminApiError) throw toAdminHttpError(error)
|
||||
if (isError(error) && 'statusCode' in error && Number(error.statusCode) < 500) throw error
|
||||
throw createError({
|
||||
statusCode: 503,
|
||||
statusMessage: '遥测数据暂不可用',
|
||||
data: {
|
||||
error: {
|
||||
code: 'service_unavailable',
|
||||
message: '遥测数据暂不可用',
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user