diff --git a/README.md b/README.md
index de133e7..056dc32 100644
--- a/README.md
+++ b/README.md
@@ -86,7 +86,7 @@
### 开发进度
-- 在`main`分支上保留原作者`0.1.0`版本;
+- 正在`main`分支上维护`1.1.0`版本。
- 正在`dev`分支上开发`1.1-Malkuth`版本。
### Project Setup
diff --git a/src/renderer/src/components/AppTopBar.vue b/src/renderer/src/components/AppTopBar.vue
index 71bdcd1..d374b3c 100644
--- a/src/renderer/src/components/AppTopBar.vue
+++ b/src/renderer/src/components/AppTopBar.vue
@@ -5,6 +5,7 @@
回到主页
+ 关于
diff --git a/src/renderer/src/components/ExamList.vue b/src/renderer/src/components/ExamList.vue
index 9ba01a8..f9fafe3 100644
--- a/src/renderer/src/components/ExamList.vue
+++ b/src/renderer/src/components/ExamList.vue
@@ -73,6 +73,7 @@ const headers = [
const formatTime = (isoString: string) => {
const date = new Date(isoString);
+ date.setSeconds(date.getSeconds() + 1); // 加1秒
return `${date.getHours().toString().padStart(2, '0')}:${date.getMinutes().toString().padStart(2, '0')}`;
};
diff --git a/src/renderer/src/components/SubjectInfo.vue b/src/renderer/src/components/SubjectInfo.vue
index 4e3cc6e..c2c28bc 100644
--- a/src/renderer/src/components/SubjectInfo.vue
+++ b/src/renderer/src/components/SubjectInfo.vue
@@ -11,6 +11,7 @@
考试状态: {{ statusText }}
考试即将结束
+ 剩余时间: {{ remainingTime }}
@@ -69,6 +70,27 @@ const isWarning = computed(() => {
return now.value >= fifteenMinutesBeforeEnd && now.value < end;
});
+const showRemainingTime = computed(() => {
+ if (!props.exam) return false;
+
+ const start = new Date(props.exam.start);
+ const end = new Date(props.exam.end);
+ const fifteenMinutesBeforeStart = new Date(start.getTime() - 15 * 60 * 1000);
+
+ return now.value >= fifteenMinutesBeforeStart && now.value < end;
+});
+
+const remainingTime = computed(() => {
+ if (!props.exam) return '';
+
+ const end = new Date(props.exam.end);
+ const timeDiff = end.getTime() - now.value.getTime();
+ const minutes = Math.floor(timeDiff / (1000 * 60));
+ const seconds = Math.floor((timeDiff % (1000 * 60)) / 1000);
+
+ return `${minutes}分${seconds}秒`;
+});
+
// Update the current time every second
const updateNow = () => {
now.value = new Date();
@@ -86,6 +108,10 @@ updateNow();
color: #ffc107 !important; /* Vuetify's default warning color */
}
+.text--info {
+ color: #17a2b8 !important; /* Info color */
+}
+
.status-before {
color: orange;
}
diff --git a/src/renderer/src/pages/about.vue b/src/renderer/src/pages/about.vue
new file mode 100644
index 0000000..985dfa0
--- /dev/null
+++ b/src/renderer/src/pages/about.vue
@@ -0,0 +1,47 @@
+
+
+
+
+
+ 关于考试展板
+
+
+ 欢迎来到考试展板应用程序。这是一个用于展示考试信息的工具,帮助考生更好地了解考试安排和状态。
+
+ 本应用程序旨在为考生提供便捷的考试信息查看体验。
+ 版本号: 1.1.0-Malkuth
+ 开发者:Hello8963 & Mkstoler4096
+
+ 在 GitHub 上查看源代码
+
+
+
+
+
+
+
+
+
diff --git a/src/renderer/src/pages/testComponents.vue b/src/renderer/src/pages/testComponents.vue
deleted file mode 100644
index 2b3c6fc..0000000
--- a/src/renderer/src/pages/testComponents.vue
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
测试页面
-
-
-
-
-
diff --git a/src/renderer/src/stores/app.js b/src/renderer/src/stores/app.js
index cba549d..8fd3214 100644
--- a/src/renderer/src/stores/app.js
+++ b/src/renderer/src/stores/app.js
@@ -4,7 +4,7 @@ import { defineStore } from 'pinia';
export const useProfileStore = defineStore('app', {
state: () => ({
examName: '考试名称',
- appHeader: 'DSZ考试看板',
+ appHeader: '考试看板',
message: '考试提醒信息',
examInfos: []
}),
diff --git a/src/renderer/src/typed-router.d.ts b/src/renderer/src/typed-router.d.ts
index b49550c..42863d8 100644
--- a/src/renderer/src/typed-router.d.ts
+++ b/src/renderer/src/typed-router.d.ts
@@ -19,8 +19,8 @@ declare module 'vue-router/auto-routes' {
*/
export interface RouteNamedMap {
'/': RouteRecordInfo<'/', '/', Record, Record>,
+ '/about': RouteRecordInfo<'/about', '/about', Record, Record>,
'/infoPage': RouteRecordInfo<'/infoPage', '/infoPage', Record, Record>,
'/mainWindow': RouteRecordInfo<'/mainWindow', '/mainWindow', Record, Record>,
- '/testComponents': RouteRecordInfo<'/testComponents', '/testComponents', Record, Record>,
}
}