|
@@ -0,0 +1,88 @@
|
|
|
+/**
|
|
|
+ * @获取缓存
|
|
|
+ */
|
|
|
+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";
|
|
|
+ }
|
|
|
+ });
|
|
|
+ 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 {
|
|
|
+ formatSize,
|
|
|
+ clearCache,
|
|
|
+};
|