28 lines
893 B
TypeScript
28 lines
893 B
TypeScript
import { defineEventHandler, getHeader, getRequestURL, getRouterParam, proxyRequest } from 'h3'
|
||
import { useRuntimeConfig } from '#imports'
|
||
|
||
function joinURL(base: string, path: string) {
|
||
if (!path) return base
|
||
return base.replace(/\/+$/, '') + '/' + path.replace(/^\/+/, '')
|
||
}
|
||
|
||
/**
|
||
* 公开 CMS 接口代理
|
||
* 将 /api/cms/* 代理到 mp-api,无需登录(不要求 Authorization)
|
||
*/
|
||
export default defineEventHandler((event) => {
|
||
const config = useRuntimeConfig()
|
||
const mpApiBase = config.public.mpApiBase || 'https://mp-api.websoft.top'
|
||
const path = getRouterParam(event, 'path') || ''
|
||
const search = getRequestURL(event).search
|
||
const target = joinURL(mpApiBase + '/api/cms', path) + search
|
||
|
||
const tenantId = getHeader(event, 'tenantid') || config.public.tenantId
|
||
|
||
return proxyRequest(event, target, {
|
||
headers: {
|
||
TenantId: String(tenantId)
|
||
}
|
||
})
|
||
})
|