ミラー元
https://github.com/ialley-workshop-open/uni-halo.git
前回の同期 2026-06-11 12:49:30 +08:00
v1.0.0-beta 源码正式开源
このコミットが含まれているのは:
@@ -0,0 +1,52 @@
|
||||
/**
|
||||
* 图片缓存
|
||||
*/
|
||||
|
||||
/*
|
||||
* @description 获取文件的缓存路径,如果文件未缓存,则直接返回网络路径,并下载缓存
|
||||
* @method getImageCache
|
||||
* @param {String} filePath 完整的图片下载路径,如果没有从缓存中获取到,则用这个路径去下载
|
||||
* @param {String} fileMd5 文件md5,必须唯一
|
||||
* @return {Object} promise对象
|
||||
*/
|
||||
const getImageCache = (filePath, fileMd5) => {
|
||||
// 图片缓存key值
|
||||
let storageKey = 'IMAGE_CACHE_INFO_' + fileMd5
|
||||
// 首先获取本地存储的数据,查询是否有对应文件路径,如果有缓存内容,直接返回
|
||||
const cacheFileInfo = uni.getStorageSync(storageKey)
|
||||
if (cacheFileInfo) {
|
||||
// console.log("已缓存为:" + cacheFileInfo)
|
||||
return cacheFileInfo
|
||||
} else {
|
||||
// console.log("未缓存,进行下载保存")
|
||||
// 如果没有,执行下载,并存储起来后
|
||||
uni.downloadFile({
|
||||
url: filePath,
|
||||
success: (res) => {
|
||||
if (res.statusCode === 200) {
|
||||
// console.log('下载成功');
|
||||
// 再进行本地保存
|
||||
uni.saveFile({
|
||||
tempFilePath: res.tempFilePath,
|
||||
success: function(res2) {
|
||||
uni.setStorageSync(storageKey, res2.savedFilePath)
|
||||
return res2.savedFilePath
|
||||
},
|
||||
fail: function(res2) {
|
||||
return filePath
|
||||
}
|
||||
})
|
||||
} else {
|
||||
return filePath
|
||||
}
|
||||
},
|
||||
fail: (res) => {
|
||||
return filePath
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
export default {
|
||||
getImageCache
|
||||
}
|
||||
新しいイシューから参照
ユーザーをブロックする