clean cache by type
This commit is contained in:
parent
bdf1b12034
commit
7caad393c2
|
@ -388,6 +388,28 @@ func setDownloadRunning(status bool) {
|
|||
downloadRunning = status
|
||||
}
|
||||
|
||||
func cleanNetworkCache() error {
|
||||
err := network_cache.RemoveAll()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
notifyExport("清理结束")
|
||||
return nil
|
||||
}
|
||||
|
||||
func cleanImageCache() error {
|
||||
notifyExport("清理图片缓存")
|
||||
err := comic_center.RemoveAllRemoteImage()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
notifyExport("清理图片文件")
|
||||
os.RemoveAll(remoteDir)
|
||||
utils.Mkdir(remoteDir)
|
||||
notifyExport("清理结束")
|
||||
return nil
|
||||
}
|
||||
|
||||
func clean() error {
|
||||
var err error
|
||||
notifyExport("清理网络缓存")
|
||||
|
@ -571,6 +593,10 @@ func FlatInvoke(method string, params string) (string, error) {
|
|||
case "deleteViewLog":
|
||||
comic_center.DeleteViewLog(params)
|
||||
return "", nil
|
||||
case "cleanNetworkCache":
|
||||
return "", cleanNetworkCache()
|
||||
case "cleanImageCache":
|
||||
return "", cleanImageCache()
|
||||
case "clean":
|
||||
return "", clean()
|
||||
case "autoClean":
|
||||
|
|
|
@ -360,6 +360,16 @@ class Method {
|
|||
return GameInfo.fromJson(json.decode(data));
|
||||
}
|
||||
|
||||
/// 清理网络缓存
|
||||
Future cleanNetworkCache() {
|
||||
return _flatInvoke("cleanNetworkCache", "");
|
||||
}
|
||||
|
||||
/// 清理图片缓存
|
||||
Future cleanImageCache() {
|
||||
return _flatInvoke("cleanImageCache", "");
|
||||
}
|
||||
|
||||
/// 清理缓存
|
||||
Future clean() {
|
||||
return _flatInvoke("clean", "");
|
||||
|
|
|
@ -3,6 +3,7 @@ import 'dart:async';
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:pikapi/basic/Channels.dart';
|
||||
import 'package:pikapi/basic/Method.dart';
|
||||
import 'package:pikapi/screens/components/FitButton.dart';
|
||||
import 'components/ContentLoading.dart';
|
||||
|
||||
// 清理
|
||||
|
@ -47,37 +48,59 @@ class _CleanScreenState extends State<CleanScreen> {
|
|||
),
|
||||
body: ListView(
|
||||
children: [
|
||||
MaterialButton(
|
||||
onPressed: () async {
|
||||
try {
|
||||
setState(() {
|
||||
_cleaning = true;
|
||||
});
|
||||
await method.clean();
|
||||
setState(() {
|
||||
_cleanResult = "清理成功";
|
||||
});
|
||||
} catch (e) {
|
||||
setState(() {
|
||||
_cleanResult = "清理失败 $e";
|
||||
});
|
||||
} finally {
|
||||
setState(() {
|
||||
_cleaning = false;
|
||||
});
|
||||
}
|
||||
},
|
||||
child: Container(
|
||||
padding: EdgeInsets.all(20),
|
||||
child: Text('清理'),
|
||||
),
|
||||
),
|
||||
Container(
|
||||
padding: EdgeInsets.all(8),
|
||||
child: _cleanResult != "" ? Text(_cleanResult) : Container(),
|
||||
)
|
||||
),
|
||||
Container(
|
||||
height: 50,
|
||||
child: FitButton(
|
||||
text: '清理网络缓存',
|
||||
onPressed: () {
|
||||
processCleanAction(method.cleanNetworkCache);
|
||||
},
|
||||
),
|
||||
),
|
||||
Container(
|
||||
height: 50,
|
||||
child: FitButton(
|
||||
text: '清理图片缓存',
|
||||
onPressed: () {
|
||||
processCleanAction(method.cleanImageCache);
|
||||
},
|
||||
),
|
||||
),
|
||||
Container(
|
||||
height: 50,
|
||||
child: FitButton(
|
||||
text: '清理全部缓存',
|
||||
onPressed: () {
|
||||
processCleanAction(method.clean);
|
||||
},
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Future processCleanAction(Future Function() action) async {
|
||||
try {
|
||||
setState(() {
|
||||
_cleaning = true;
|
||||
});
|
||||
await action();
|
||||
setState(() {
|
||||
_cleanResult = "清理成功";
|
||||
});
|
||||
} catch (e) {
|
||||
setState(() {
|
||||
_cleanResult = "清理失败 $e";
|
||||
});
|
||||
} finally {
|
||||
setState(() {
|
||||
_cleaning = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue