Skip to content

Commit b1e73cc

Browse files
committed
feat: 刷新按钮
1 parent fdbfbba commit b1e73cc

File tree

4 files changed

+58
-0
lines changed

4 files changed

+58
-0
lines changed

MaiChartManager/Controllers/MusicListController.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,14 @@ public string GetSelectedAssetsDir()
2525
{
2626
return settings.MusicList.Select(it => it.GetBrief());
2727
}
28+
29+
[HttpPost]
30+
public void ReloadAll()
31+
{
32+
settings.ScanMusicList();
33+
settings.ScanGenre();
34+
settings.ScanVersionList();
35+
settings.ScanAssetBundles();
36+
settings.ScanSoundData();
37+
}
2838
}

MaiChartManager/Front/src/client/apiGen.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1369,5 +1369,19 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
13691369
format: "json",
13701370
...params,
13711371
}),
1372+
1373+
/**
1374+
* No description
1375+
*
1376+
* @tags MusicList
1377+
* @name ReloadAll
1378+
* @request POST:/MaiChartManagerServlet/ReloadAllApi
1379+
*/
1380+
ReloadAll: (params: RequestParams = {}) =>
1381+
this.request<void, any>({
1382+
path: `/MaiChartManagerServlet/ReloadAllApi`,
1383+
method: "POST",
1384+
...params,
1385+
}),
13721386
};
13731387
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import { defineComponent, ref } from "vue";
2+
import { NButton } from "naive-ui";
3+
import { globalCapture, updateAddVersionList, updateAssetDirs, updateGenreList, updateSelectedAssetDir, updateVersion } from "@/store/refs";
4+
import api from "@/client/api";
5+
6+
export default defineComponent({
7+
setup(props) {
8+
const load = ref(false);
9+
10+
const reload = async () => {
11+
load.value = true;
12+
try {
13+
await api.ReloadAll();
14+
await Promise.all([
15+
updateGenreList(),
16+
updateAddVersionList(),
17+
updateSelectedAssetDir(),
18+
updateAssetDirs(),
19+
updateVersion()
20+
]);
21+
} catch (err) {
22+
globalCapture(err, "刷新失败")
23+
} finally {
24+
load.value = false;
25+
}
26+
}
27+
28+
return () => <NButton secondary loading={load.value} onClick={reload}>
29+
{!load.value && <span class="i-ic-baseline-refresh text-lg"/>}
30+
</NButton>;
31+
}
32+
})

MaiChartManager/Front/src/views/Index.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import ModManager from "@/components/ModManager";
1111
import VersionInfo from "@/components/VersionInfo";
1212
import { captureException } from "@sentry/vue";
1313
import AssetDirsManager from "@/components/AssetDirsManager";
14+
import RefreshAllButton from "@/components/RefreshAllButton";
1415

1516
export default defineComponent({
1617
setup() {
@@ -54,6 +55,7 @@ export default defineComponent({
5455
<GenreVersionManager type="version"/>
5556
</>}
5657
<ModManager/>
58+
<RefreshAllButton/>
5759

5860
<div class="grow-1"/>
5961

0 commit comments

Comments
 (0)