refactor(router): 优化路由重定向配置与组件初始化逻辑

- 设置默认重定向路由为 '/'
- 修复路由实例化后未正确调用 init 方法的问题
- 移除不必要的控制台日志输出
- 调整路由守卫中 next 回调的参数传递方式
- 导出 Router 类时增加空格以符合代码风格
- 更新时间戳组件导入方式并移除冗余初始化调用
- 为定时器管理器添加清理功能的日志提示
- 从 BaseComponent 中移除调试日志并修复定时器返回值处理
This commit is contained in:
雨霖铃
2025-12-13 21:52:52 +08:00
parent aaefc9c3fc
commit 8cb9580860
6 changed files with 21 additions and 20 deletions
+8 -10
View File
@@ -11,8 +11,7 @@ import {
} from '../modules/eventHandlers.js';
import {updateTimestamp} from './utils/timestampUtils.js';
import {timeZoneList} from './const/timezone.js';
const BaseComponent = window.BaseComponent;
import {BaseComponent} from './components/BaseComponet.js';
// 获取本地时区
const localTimeZone = new Intl.DateTimeFormat().resolvedOptions().timeZone;
@@ -20,7 +19,6 @@ const localTimeZone = new Intl.DateTimeFormat().resolvedOptions().timeZone;
class Timestamp extends BaseComponent {
constructor() {
super();
this.init();
// 定义一个全局变量来保存是否显示毫秒
this.showMilliseconds = true;
// 定义一个全局变量来保存计时器
@@ -33,14 +31,13 @@ class Timestamp extends BaseComponent {
// 初始化时更新一次时间戳
updateTimestamp(currentTimestampValue, this.showMilliseconds);
this.setInterval(() => updateTimestamp(currentTimestampValue, this.showMilliseconds), 100);
this.timestampInterval = this.setInterval(() =>
updateTimestamp(currentTimestampValue, this.showMilliseconds),
100);
const timezoneResultSelect = document.getElementById('timezone-result');
const timezoneInputSelect = document.getElementById('timezone-input');
// 获取本地时区在列表中的索引
const localTimeZoneIndex = timeZoneList.indexOf(localTimeZone);
for (let i = 0; i < timeZoneList.length; i++) {
if (i === localTimeZoneIndex) {
// 默认选中本地时区
@@ -68,13 +65,14 @@ class Timestamp extends BaseComponent {
'click',
() => (this.showMilliseconds = handleToggleUnit(this.showMilliseconds))
);
// 绑定计时器相关按钮事件
this.bindEvent('stop-timer-btn', 'click', () => handleStopTimer(this.timestampInterval));
// 绑定开始计时器事件
this.bindEvent(
'start-timer-btn',
'click',
() => (this.timestampInterval = handleStartTimer(this.timestampInterval, this.showMilliseconds))
() =>
(this.timestampInterval = handleStartTimer(this.timestampInterval, this.showMilliseconds))
);
// 绑定时间戳转换按钮事件
this.bindEvent('convert-timestamp-to-date-btn', 'click', handleConvertTimestamp);
@@ -91,4 +89,4 @@ class Timestamp extends BaseComponent {
}
}
window.timestamp = Timestamp;
window.timestamp = Timestamp;