xiangqinxiaochengxu/miniprogram/utils/media.js
2026-05-18 14:24:55 +08:00

40 lines
914 B
JavaScript

const { getApiBaseUrl } = require('./constants')
function isLocalDevUrl(url) {
return /^https?:\/\/(127\.0\.0\.1|localhost|0\.0\.0\.0)(:\d+)?\//i.test(url)
}
function upgradeToHttpsIfNeeded(url) {
if (/^http:\/\//i.test(url) && !isLocalDevUrl(url)) {
return url.replace(/^http:\/\//i, 'https://')
}
return url
}
function resolveImageUrl(url) {
if (!url) {
return ''
}
if (/^https?:\/\//i.test(url)) {
return upgradeToHttpsIfNeeded(url)
}
const baseUrl = getApiBaseUrl().replace(/\/api\/v1\/?$/, '')
const resolved = url.startsWith('/') ? `${baseUrl}${url}` : `${baseUrl}/${url}`
return upgradeToHttpsIfNeeded(resolved)
}
function resolveImageList(urls) {
if (!Array.isArray(urls)) {
return []
}
return urls.map((item) => resolveImageUrl(item)).filter(Boolean)
}
module.exports = {
resolveImageUrl,
resolveImageList,
upgradeToHttpsIfNeeded,
isLocalDevUrl
}