diff --git a/intern-log/src/App.vue b/intern-log/src/App.vue index 70e0ee9..2bc1717 100644 --- a/intern-log/src/App.vue +++ b/intern-log/src/App.vue @@ -21,24 +21,12 @@ import { categoryLabel, type Attendance, type LogItem, type Memo } from './db/sc const toasts = useToasts() -// ---- 用户会话 ---- +// ---- 用户会话(持久化登录,退出走顶栏按钮)---- const session = ref(getSession()) -const IDLE_LOGOUT_MS = 30 * 60 * 1000 -let sessionIdleTimer: number | null = null - -function armSessionTimer() { - if (sessionIdleTimer !== null) window.clearTimeout(sessionIdleTimer) - if (!session.value) return - sessionIdleTimer = window.setTimeout(() => { doLogout(true) }, IDLE_LOGOUT_MS) -} -function onActivity() { - if (session.value) armSessionTimer() -} async function onLogin(s: Session) { session.value = s location.hash = '#/calendar' route.value = 'calendar' - armSessionTimer() await refreshClock() await refreshTip() startSyncTimer() @@ -49,12 +37,12 @@ async function onLogin(s: Session) { showToast('已迁移原有数据 ' + mt + ' 条') } } -async function doLogout(auto: boolean) { +async function doLogout() { await logoutUser() session.value = null route.value = 'calendar' location.hash = '#/calendar' - showToast(auto ? '长时间未操作已自动退出' : '已退出登录') + showToast('已退出登录') } // ---- 自动同步:登录后与每 5 分钟,静默执行 ---- @@ -212,10 +200,8 @@ async function refreshTip() { onMounted(async () => { window.addEventListener('keydown', onGlobalKey) - window.addEventListener('click', onActivity) if (session.value) { openUserDatabase(session.value.userId) - armSessionTimer() await refreshClock() await refreshTip() startSyncTimer() @@ -268,7 +254,7 @@ onMounted(async () => { 填写本周周记 {{ session?.username }} - +