import { $fetch } from 'ofetch' import { createError, defineEventHandler, getQuery } from 'h3' import { useRuntimeConfig } from '#imports' import { getTenantFromContext } from '../../utils/tenant' /** * 域名解析 * GET /api/domain/resolve?domain=www.example.com * 查询自定义域名绑定的租户信息 */ export default defineEventHandler(async (event) => { const config = useRuntimeConfig() const ctx = getTenantFromContext(event, config) const query = getQuery(event) const modulesApiBase = config.public.modulesApiBase as string if (!query.domain) { throw createError({ statusCode: 400, statusMessage: 'Missing domain parameter' }) } try { const res = await $fetch('/cms/cms-website/resolveDomain', { baseURL: modulesApiBase, headers: { TenantId: ctx.tenantId }, query }) return res } catch (error: any) { throw createError({ statusCode: error?.statusCode || error?.response?.status || 502, statusMessage: error?.statusMessage || 'Failed to resolve domain' }) } })