/** 从 globalData.pageAssets / paihangAssets 拼 OSS 完整 URL */ export function buildOssUrl(path) { if (!path) return '' if (String(path).startsWith('http')) return path const g = getApp().globalData const oss = (g.ossImageUrl || '').replace(/\/$/, '') if (!oss) return '' return `${oss}/${String(path).replace(/^\//, '')}` } export function getPaihangImgUrls() { const g = getApp().globalData const assets = g.paihangAssets || {} const def = { pageBg: 'beijing/paihangbang/page-bg.jpg', cardBg: 'beijing/paihangbang/list-card-bg.png', emptyIcon: 'beijing/paihangbang/empty.png', refreshIcon: 'beijing/paihangbang/icon-refresh.png', } return { pageBg: buildOssUrl(assets.pageBg || def.pageBg), cardBg: buildOssUrl(assets.cardBg || def.cardBg), emptyIcon: buildOssUrl(assets.emptyIcon || def.emptyIcon), refreshIcon: buildOssUrl(assets.refreshIcon || def.refreshIcon), } } /** 按资源组从后台配置读取图标/背景(无配置时用 defaultPaths) */ export function getGroupImgUrls(group, defaultPaths) { const cfg = getApp().globalData.pageAssets?.[group] || {} const urls = {} Object.keys(defaultPaths).forEach((key) => { urls[key] = buildOssUrl(cfg[key] || defaultPaths[key]) }) return urls } export const SHANGJIADUAN_DEFAULTS = { pageBg: 'beijing/shangjiaduan/page_bg.png', avatarCardBg: 'beijing/shangjiaduan/avatar_card_bg.png', assetCardBg: 'beijing/shangjiaduan/asset_card_bg.png', statCardBg: 'beijing/shangjiaduan/stat_card_bg.png', funcItemBg: 'beijing/shangjiaduan/func_item_bg.png', primaryFuncBg: 'beijing/shangjiaduan/primary_func_bg.png', highlightFuncBg: 'beijing/shangjiaduan/highlight_func_bg.png', iconRelease: 'beijing/shangjiaduan/icon_release.png', iconFast: 'beijing/shangjiaduan/icon_fast.png', iconOrders: 'beijing/shangjiaduan/icon_orders.png', iconService: 'beijing/shangjiaduan/icon_service.png', iconPunish: 'beijing/shangjiaduan/icon_punish.png', iconRank: 'beijing/shangjiaduan/icon_rank.png', iconRecharge: 'beijing/shangjiaduan/icon_recharge.png', iconWithdraw: 'beijing/shangjiaduan/icon_withdraw.png', iconRefresh: 'beijing/shangjiaduan/icon_refresh.png', iconCopy: 'beijing/shangjiaduan/icon_copy.png', avatarFrame: 'beijing/shangjiaduan/avatar_frame.png', } export const GUANSHIDUAN_DEFAULTS = { pageBg: 'beijing/guanshiduan/page-bg.jpg', topDecor: 'beijing/guanshiduan/top-decor.png', cardBg1: 'beijing/guanshiduan/card-bg1.png', cardBg2: 'beijing/guanshiduan/card-bg2.png', iconRefresh: 'beijing/guanshiduan/icon-refresh.png', iconCopy: 'beijing/guanshiduan/icon-copy.png', avatarDefault: 'beijing/morentouxiang.jpg', iconInvite: 'beijing/guanshiduan/icon-invite.png', iconSub: 'beijing/guanshiduan/icon-sub.png', iconRecord: 'beijing/guanshiduan/icon-record.png', iconRank: 'beijing/guanshiduan/icon-rank.png', iconPoster: 'beijing/guanshiduan/icon-poster.png', iconWithdraw: 'beijing/guanshiduan/icon-withdraw.png', iconContact: 'beijing/guanshiduan/icon-contact.png', iconArrow: 'beijing/guanshiduan/icon-arrow.png', }