#关于项目中需要减轻服务器资源消耗问题,前端简单对图片做缓存处理#
export function getEncryption(key) {
const encrypt = new Md5();
encrypt.appendAsciiStr(key);
return encrypt.end();
}
export function setCacheImages(href) {
return new Promise((resolve, reject) => {
// #ifdef MP-WEIXIN
try {
const realUrl = href.split("?")[0];
const fileIdentifier = getEncryption(realUrl);
const fileManager = uni.getFileSystemManager();
// 读取缓存的所有文件
const dir = fileManager.readdirSync(wx.env.USER_DATA_PATH);
// 检查是否存在缓存文件
const cachedFile = dir.find((item) => item.indexOf(fileIdentifier) > -1);
if (cachedFile) {
// 返回对应文件路径
resolve(`${wx.env.USER_DATA_PATH}/${cachedFile}`);
} else {
downloadCanchFile(href, fileIdentifier)
.then((response) => {
resolve(response);
})
.catch(() => {
// 下载失败可能是网络问题,返回原始图片链接
rej


587

被折叠的 条评论
为什么被折叠?



