Skip to content

Commit 28c5a6a

Browse files
committed
feat: 恢复默认配置前必须备份配置
1 parent bc347d4 commit 28c5a6a

File tree

3 files changed

+15
-6
lines changed

3 files changed

+15
-6
lines changed

error.vue

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@ const showClearConfig = ref(false)
1111
const clearingConfig = ref(false)
1212
async function handleClearConfig() {
1313
clearingConfig.value = true
14-
await saveFile('config.json', JSON.stringify(localStorage))
15-
clearingConfig.value = false
14+
if (!await saveFile('config.json', JSON.stringify(localStorage))) { // 用户取消
15+
clearingConfig.value = false
16+
return
17+
}
1618
localStorage.clear()
1719
location.reload()
1820
}

utils/group.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,12 @@ export async function importGroupFromExcel(file: File) {
5353
.filter(Boolean)
5454
}
5555

56-
/** 导出名单到文本文件。 */
56+
/**
57+
* 导出名单到文本文件。
58+
* @returns 是否导出成功
59+
*/
5760
export async function exportGroupToText(group: string) {
58-
await saveFile(
61+
return await saveFile(
5962
`${group}.txt`,
6063
useGroupMembers(group).value!.join('\n'),
6164
{

utils/ui.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,10 @@ export interface SaveFileOptions {
1616
defaultPath?: string
1717
filters?: DialogFilter[]
1818
}
19-
/** 保存文件。 */
19+
/**
20+
* 保存文件。
21+
* @returns 是否保存成功
22+
*/
2023
export async function saveFile(filename: string, content: string, options: SaveFileOptions) {
2124
if (__ENV__ === Env.App) { // 独立 app 环境,使用 Tauri API
2225
const {
@@ -31,7 +34,7 @@ export async function saveFile(filename: string, content: string, options: SaveF
3134
],
3235
})
3336
if (!path)
34-
return
37+
return false
3538
await writeFile(path, content)
3639
}
3740
else { // 浏览器环境,利用 a 标签
@@ -43,5 +46,6 @@ export async function saveFile(filename: string, content: string, options: SaveF
4346
el.click()
4447
URL.revokeObjectURL(url)
4548
await promiseTimeout(1000) /// 1s 等待开始下载
49+
return true
4650
}
4751
}

0 commit comments

Comments
 (0)