Skip to content

Commit f1b6b79

Browse files
committed
feat(settings): 添加自动导出存档设置并优化用户体验
- 在 App.vue 中添加设置部分,包含自动导出存档选项 - 在 README.md 中添加在线体验链接 - 优化自动导出逻辑,根据用户设置决定是否自动导出 - 添加作者和项目 GitHub 链接到应用底部
1 parent fb7f4da commit f1b6b79

File tree

5 files changed

+62
-27
lines changed

5 files changed

+62
-27
lines changed

README.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
# 时探客 Task Time Tracker
22

3-
一个简洁易用的个人项目时间追踪工具,帮助你记录和管理各项任务的时间投入
3+
一个简洁易用的个人项目时间追踪工具,帮助你记录和管理各项任务的时间投入
44

5-
*业余个人开发,非客单质量
5+
*业余个人开发,非客单质量*
66

7+
[在线体验:https://createskyblue.github.io/Task-Time-Tracker/](https://createskyblue.github.io/Task-Time-Tracker/)
78

89
## 功能特点
910

dist/assets/index-CYOe4rX2.js dist/assets/index-B3RBvvrU.js

+19-19
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/assets/index-BSg6JReu.css dist/assets/index-DW2GDUDf.css

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
<link rel="icon" href="./favicon.ico">
66
<meta name="viewport" content="width=device-width, initial-scale=1.0">
77
<title>Vite App</title>
8-
<script type="module" crossorigin src="./assets/index-CYOe4rX2.js"></script>
9-
<link rel="stylesheet" crossorigin href="./assets/index-BSg6JReu.css">
8+
<script type="module" crossorigin src="./assets/index-B3RBvvrU.js"></script>
9+
<link rel="stylesheet" crossorigin href="./assets/index-DW2GDUDf.css">
1010
</head>
1111
<body>
1212
<div id="app"></div>

src/App.vue

+37-3
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,25 @@
182182
</template>
183183
</el-dialog>
184184
</div>
185+
<!-- Settings Section -->
186+
<div class="mt-4 p-4 border border-gray-200 rounded-lg">
187+
<h3 class="text-lg font-medium mb-4">设置</h3>
188+
<el-switch
189+
v-model="autoExport"
190+
active-text="自动导出存档"
191+
inactive-text="手动导出存档"
192+
@change="saveSettings"
193+
/>
194+
</div>
195+
<!-- Footer -->
196+
<div class="mt-8 text-center text-gray-500 text-sm">
197+
<p>Created by <a href="https://github.com/createskyblue" target="_blank" class="text-blue-500 hover:underline">createskyblue</a></p>
198+
<p class="mt-1">
199+
<a href="https://github.com/createskyblue/Task-Time-Tracker" target="_blank" class="text-blue-500 hover:underline">
200+
Visit on GitHub
201+
</a>
202+
</p>
203+
</div>
185204
</el-main>
186205
</el-container>
187206
</template>
@@ -248,6 +267,7 @@ export default {
248267
editingEventDate: null,
249268
editingEventOriginal: null,
250269
requireCtrlForZoom: false, // 新增:控制是否需要Ctrl键进行缩放
270+
autoExport: true, // Add this line
251271
}
252272
},
253273
mounted() {
@@ -391,8 +411,10 @@ export default {
391411
ElMessage.success('计时已结束');
392412
this.taskDescriptions[taskId] = ''; // 清空任务说明
393413
this.saveToStorage(); // 保存到本地存储以保持颜色信息
394-
//自动下载存档
395-
this.handleGlobalExport('json');
414+
// Only auto-export if enabled
415+
if (this.autoExport) {
416+
this.handleGlobalExport('json');
417+
}
396418
}
397419
}
398420
}
@@ -616,6 +638,12 @@ export default {
616638
this.taskDescriptions = parsed.taskDescriptions || {};
617639
this.splitCrossDayTimers(); // 拆分跨天时间记录
618640
}
641+
// Load settings
642+
const settings = localStorage.getItem('taskTimeTracker_settings');
643+
if (settings) {
644+
const parsed = JSON.parse(settings);
645+
this.autoExport = parsed.autoExport ?? true;
646+
}
619647
},
620648
621649
handleExport(format, task) {
@@ -948,7 +976,13 @@ export default {
948976
}).length;
949977
950978
return `${hours}小时${minutes}分钟 (${recordCount})`;
951-
}
979+
},
980+
// Add new method for saving settings
981+
saveSettings() {
982+
localStorage.setItem('taskTimeTracker_settings', JSON.stringify({
983+
autoExport: this.autoExport
984+
}));
985+
},
952986
}
953987
}
954988
</script>

0 commit comments

Comments
 (0)