uniapp中在app中清除缓存功能

1.计算缓存大小

javascript 复制代码
	//计算缓存大小
			getStorageSize() {
				let that = this;
				let fileSizeString = "";
				let isFlag = arrIndex(this.menuList, 'key', 'my-ql')
				plus.cache.calculate(function(size) {
					let sizeCache = parseInt(size);
					if (sizeCache == 0) {
						fileSizeString = "0B";
					} else if (sizeCache < 1024) {
						fileSizeString = sizeCache + "B";
					} else if (sizeCache < 1048576) {
						fileSizeString = (sizeCache / 1024).toFixed(2) + "K";
					} else if (sizeCache < 1073741824) {
						fileSizeString = (sizeCache / 1048576).toFixed(2) + "M";
					} else {
						fileSizeString = (sizeCache / 1073741824).toFixed(2) + "G";
					}
					//本地缓存赋值
					that.menuList[isFlag[0]][isFlag[1]].text = fileSizeString
				});
			},

2.清除缓存

javascript 复制代码
// 清理缓存
			clearStorageAll() {
				let that = this;
				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;
					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
									});
									that.getStorageSize(); // 重新计算缓存
								}, function(e) {
									console.log(e.message)
								});
							} else {
								entry.remove();
							}
						}, function(e) {
							console.log('文件路径读取失败')
						});
					}
				} else { // ios
					plus.cache.clear(function() {
						uni.showToast({
							title: '缓存清理完成',
							duration: 2000
						});
						that.getStorageSize();
					});
				}
			},
相关推荐
晓得迷路了31 分钟前
栗子前端技术周刊第 83 期 - Rolldown-Vite、Angular v20、Docusaurus 3.8...
前端·javascript·vite
独立开阀者_FwtCoder32 分钟前
如何让 Cursor AI Agent始终遵守项目规范:使用自动规则生成技术
java·前端·javascript
独立开阀者_FwtCoder36 分钟前
尤雨溪宣布:Vue 3.6 重大更新!Vite 将彻底重写!
前端·javascript·后端
江城开朗的豌豆1 小时前
JavaScript篇:如何实现add(1)(2)(3)()=6?揭秘链式调用的终极奥义!
前端·javascript·面试
lqj_本人1 小时前
鸿蒙OS&基于UniApp的区块链钱包开发实践:打造支持鸿蒙生态的Web3应用#三方框架 #Uniapp
uni-app·区块链·harmonyos
lqj_本人1 小时前
鸿蒙OS&UniApp集成WebGL:打造跨平台3D视觉盛宴#三方框架 #Uniapp
uni-app·harmonyos·webgl
江城开朗的豌豆1 小时前
JavaScript篇:GET、POST、PUT...傻傻分不清?一篇文章带你玩转HTTP请求!
前端·javascript·面试
烛阴10 小时前
Date-fns教程:现代JavaScript日期处理从入门到精通
前端·javascript
小蜜蜂嗡嗡11 小时前
flutter项目迁移空安全
javascript·安全·flutter
moxiaoran575312 小时前
uni-app学习笔记十八--uni-app static目录简介
笔记·学习·uni-app