import { settingStores } from "@/store/modules/index"; /** * @获取缓存 */ const formatSize = () => { let currentSize = ""; plus.cache.calculate(function (size) { let sizeCache = parseInt(size); if (sizeCache == 0) { currentSize = "0B"; } else if (sizeCache < 1024) { currentSize = sizeCache + "B"; } else if (sizeCache < 1048576) { currentSize = (sizeCache / 1024).toFixed(2) + "KB"; } else if (sizeCache < 1073741824) { currentSize = (sizeCache / 1048576).toFixed(2) + "MB"; } else { v = (sizeCache / 1073741824).toFixed(2) + "GB"; } settingStores().$state.currentSize = currentSize }); return currentSize; }; /** * @清理缓存 */ const clearCache = () => { let os = plus.os.name; if (os == "Android") { let main = plus.android.runtimeMainActivity(); let sdRoot = main.getCacheDir(); let files = plus.android.invoke(sdRoot, "listFiles"); let len = files.length; if (len <= 0) { uni.showToast({ title: "暂无缓存可清理", icon: "none", duration: 2000, mask: true, }); } for (let i = 0; i < len; i++) { let filePath = "" + files[i]; // 没有找到合适的方法获取路径,这样写可以转成文件路径 plus.io.resolveLocalFileSystemURL( filePath, function (entry) { if (entry.isDirectory) { entry.removeRecursively( function (entry) { //递归删除其下的所有文件及子目录 uni.showToast({ title: "缓存清理完成", duration: 2000, mask: true, }); formatSize(); // 重新计算缓存 }, function (e) { console.log(e.message); } ); } else { entry.remove(); } }, function (e) { console.log("文件路径读取失败"); } ); } } else { // ios plus.cache.clear(function () { uni.showToast({ title: "缓存清理完成", duration: 2000, mask: true, }); formatSize(); }); } }; export default { // 设置数字 setBadge(value) { plus.runtime.setBadgeNumber(value); }, // 清除数字 clearBadge(value) { plus.runtime.setBadgeNumber(value); }, formatSize, clearCache, };