fix:图片

This commit is contained in:
董海洋
2026-06-04 10:04:40 +08:00
parent 9cf2e00031
commit c6a877ab28
3 changed files with 22 additions and 13 deletions
-1
View File
@@ -51,7 +51,6 @@ STOCK_WARN_THRESHOLD=10
# 微信支付 # 微信支付
WECHAT_MCH_ID= WECHAT_MCH_ID=
WECHAT_API_KEY= WECHAT_API_KEY=
# WECHAT_NOTIFY_URL=http://110.42.255.239:3006/api/payment/notify
WECHAT_NOTIFY_URL=https://donghy.top/api/payment/notify WECHAT_NOTIFY_URL=https://donghy.top/api/payment/notify
WECHAT_CERT_PATH= WECHAT_CERT_PATH=
WECHAT_KEY_PATH= WECHAT_KEY_PATH=
+9 -5
View File
@@ -1,14 +1,18 @@
// 服务端域名配置 - 从环境变量读取,默认临时域名(备案期间) // 服务端域名配置 - 从环境变量读取,默认正式域名
const BASE_URL = process.env.BASE_URL || 'http://110.42.255.239:3006' const BASE_URL = process.env.BASE_URL || 'https://donghy.top'
// 图片域名(不带端口)
const IMG_DOMAIN = BASE_URL.replace(/:\d+/, '')
const DOMAIN_CONFIG = { const DOMAIN_CONFIG = {
BASE_URL: BASE_URL, BASE_URL: BASE_URL,
API_PATH: '/api', API_PATH: '/api',
IMG_PATH: '/img' IMG_PATH: '/img',
IMG_DOMAIN: IMG_DOMAIN
} }
// 完整的图片基础地址 // 完整的图片基础地址(不带端口)
const IMG_BASE_URL = `${DOMAIN_CONFIG.BASE_URL}${DOMAIN_CONFIG.IMG_PATH}` const IMG_BASE_URL = `${IMG_DOMAIN}${DOMAIN_CONFIG.IMG_PATH}`
module.exports = { module.exports = {
DOMAIN_CONFIG, DOMAIN_CONFIG,
+13 -7
View File
@@ -29,20 +29,26 @@ function toRelativeUrl(url) {
return url; return url;
} }
// 将相对路径转换为完整URL(用于返回给前端) // 将相对路径转换为完整URL(用于返回给前端,图片URL不带端口
function toFullUrl(url) { function toFullUrl(url) {
if (!url) return ''; if (!url) return '';
// 如果已经是完整URL直接返回 // 如果已经是完整URL替换路径并移除端口
if (url.startsWith('http://') || url.startsWith('https://')) { if (url.startsWith('http://') || url.startsWith('https://')) {
return url; // 将 /uploads/goods/ 替换为 /img/,并移除端口
return url.replace('/uploads/goods/', '/img/').replace(/:\d+/, '');
} }
// 如果是相对路径,拼接当前域名 // 如果是相对路径,拼接图片域名(不带端口)并替换路径
const baseUrl = DOMAIN_CONFIG.BASE_URL; const imgDomain = DOMAIN_CONFIG.IMG_DOMAIN || DOMAIN_CONFIG.BASE_URL.replace(/:\d+/, '');
if (url.startsWith('/')) { if (url.startsWith('/')) {
return baseUrl + url; // 将 /uploads/goods/ 替换为 /img/
return imgDomain + url.replace('/uploads/goods/', '/img/');
} }
if (url.startsWith('img/')) { if (url.startsWith('img/')) {
return baseUrl + '/' + url; return imgDomain + '/' + url;
}
// 处理可能的 uploads/goods/ 开头的路径
if (url.startsWith('uploads/goods/')) {
return imgDomain + '/img/' + url.replace('uploads/goods/', '');
} }
return url; return url;
} }