74 lines
2.2 KiB
JavaScript
74 lines
2.2 KiB
JavaScript
// /utils/imageUrl.js - 统一的COS图片路径管理
|
||
const app = getApp();
|
||
|
||
/**
|
||
* 获取完整的COS图片URL
|
||
* @param {string} path - 图片相对路径,如 'a_long/images/common/arrow-down.png'
|
||
* @returns {string} 完整的URL
|
||
*/
|
||
export function getImageUrl(path) {
|
||
if (!app || !app.globalData || !app.globalData.ossImageUrl) {
|
||
console.warn('⚠️ App.globalData.ossImageUrl 未初始化');
|
||
return path; // 返回原路径作为fallback
|
||
}
|
||
|
||
// 如果已经是完整URL,直接返回
|
||
if (path.startsWith('http')) {
|
||
return path;
|
||
}
|
||
|
||
// 拼接完整URL
|
||
return app.globalData.ossImageUrl + path;
|
||
}
|
||
|
||
/**
|
||
* 获取常用图片的URL
|
||
*/
|
||
export const imageUrls = {
|
||
// 身份相关
|
||
identityIcon: 'a_long/images/identity/identity-icon.png',
|
||
arrowDown: 'a_long/images/common/arrow-down.png',
|
||
bossIcon: 'a_long/images/identity/boss-icon.png',
|
||
dashouIcon: 'a_long/images/identity/dashou-icon.png',
|
||
shangjiaIcon: 'a_long/images/identity/shangjia-icon.png',
|
||
|
||
// 公共图标
|
||
actionIcon: 'a_long/images/common/action.png',
|
||
emptyMessage: 'a_long/images/common/empty-message.png',
|
||
|
||
// 通知相关
|
||
notificationOn: 'a_long/images/notifications/notification-on.png',
|
||
notificationOff: 'a_long/images/notifications/notification-off.png',
|
||
|
||
// TabBar图标
|
||
tabbarHome: 'a_long/images/tabbar/home.png',
|
||
tabbarHomeActive: 'a_long/images/tabbar/home-active.png',
|
||
tabbarCategory: 'a_long/images/tabbar/category.png',
|
||
tabbarCategoryActive: 'a_long/images/tabbar/category-active.png',
|
||
tabbarMessage: 'a_long/images/tabbar/message.png',
|
||
tabbarMessageActive: 'a_long/images/tabbar/message-active.png',
|
||
tabbarProfile: 'a_long/images/tabbar/profile.png',
|
||
tabbarProfileActive: 'a_long/images/tabbar/profile-active.png',
|
||
|
||
// 用户相关
|
||
defaultAvatar: 'a_long/images/common/default-avatar.png'
|
||
};
|
||
|
||
/**
|
||
* 预加载常用图片
|
||
*/
|
||
export function preloadCommonImages() {
|
||
const images = Object.values(imageUrls).map(path => getImageUrl(path));
|
||
|
||
images.forEach(src => {
|
||
wx.getImageInfo({
|
||
src: src,
|
||
success: () => {
|
||
console.log('✅ 图片预加载成功:', src);
|
||
},
|
||
fail: (err) => {
|
||
console.warn('⚠️ 图片预加载失败:', src, err);
|
||
}
|
||
});
|
||
});
|
||
} |