import { $fetch } from 'ofetch' import { createError, defineEventHandler } from 'h3' import { useRuntimeConfig } from '#imports' import { getTenantFromContext } from '../../utils/tenant' /** * 图形验证码(登录用) * GET /api/tender/captcha * 代理到 mp-api /api/hjc/auth/captcha;匿名可访问。 * * 约定:mp-api 原样透传 ApiResult{code,message,data}, * data = { image: 'data:image/png;base64,...' }。后端刻意不下发答案, * 必须把图片显示给用户肉眼识别后输入,前端不得(也无法)自行校验答案。 */ export default defineEventHandler(async (event) => { const config = useRuntimeConfig() const ctx = getTenantFromContext(event, config) try { return await $fetch('/hjc/auth/captcha', { baseURL: config.public.modulesApiBase, method: 'GET', headers: { TenantId: ctx.tenantId }, query: { TenantId: ctx.tenantId } }) } catch (error: any) { throw createError({ statusCode: error?.statusCode || error?.response?.status || 502, statusMessage: error?.data?.message || error?.statusMessage || 'Failed to fetch captcha' }) } })