import { $fetch } from 'ofetch' import { createError, defineEventHandler, readBody } from 'h3' import { useRuntimeConfig } from '#imports' import { getTenantFromContext } from '../../utils/tenant' /** * 发送注册短信验证码 * POST /api/tender/sms { phone } * 代理到 mp-api /api/hjc/auth/sms;匿名可访问(注册在登录前调用)。 * * 说明:`phone` 必须传经办人手机号——后端以「经办人手机号」作为账号手机号建号, * 注册接口的 `code` 校验的正是发给该号码的短信验证码。 * 原样透传 ApiResult{code,message,data},成功 message 为「验证码已发送」。 */ export default defineEventHandler(async (event) => { const config = useRuntimeConfig() const ctx = getTenantFromContext(event, config) const body = await readBody(event) try { return await $fetch('/hjc/auth/sms', { baseURL: config.public.modulesApiBase, method: 'POST', headers: { TenantId: ctx.tenantId }, query: { TenantId: ctx.tenantId }, body }) } catch (error: any) { throw createError({ statusCode: error?.statusCode || error?.response?.status || 502, statusMessage: error?.data?.message || error?.statusMessage || 'Failed to send sms' }) } })