feat: 新增平台更新记录页面

- 添加 changelog 类型定义和导出
- 新增更新记录页面组件,支持从 JSON 文件加载并展示版本变更信息
- 在路由中添加更新记录页面路径
- 在设置抽屉中为版本信息添加点击跳转功能,可查看完整更新记录
- 添加包含历史版本变更的 changelogs.json 数据文件
This commit is contained in:
yangsy
2026-03-02 14:09:29 +08:00
parent fd851bb8d6
commit d53e107ebc
6 changed files with 96 additions and 2 deletions
@@ -13,9 +13,12 @@ import destr from 'destr';
import { isFunction } from 'es-toolkit';
import localforage from 'localforage';
import { DownloadIcon, Trash2Icon, UploadIcon } from 'lucide-vue-next';
import { NButton, NButtonGroup, NDivider, NDrawer, NDrawerContent, NDropdown, NFlex, NFormItem, NIcon, NInput, NInputNumber, NModal, NSwitch, NText, type DropdownOption } from 'naive-ui';
import { NButton, NButtonGroup, NDivider, NDrawer, NDrawerContent, NDropdown, NFlex, NFormItem, NIcon, NInput, NInputNumber, NModal, NSwitch, NText, NTooltip, type DropdownOption } from 'naive-ui';
import { storeToRefs } from 'pinia';
import { computed, ref, watch } from 'vue';
import { useRouter } from 'vue-router';
const router = useRouter();
const show = defineModel<boolean>('show', { default: false });
@@ -284,6 +287,11 @@ const onDrawerAfterLeave = () => {
abortControllers.value.retentionDays.abort();
abortControllers.value.snapStatus.abort();
};
const onClickVersion = () => {
show.value = false;
router.push({ path: '/changelog' });
};
</script>
<template>
@@ -383,7 +391,16 @@ const onDrawerAfterLeave = () => {
</NFlex>
<template #footer>
<NFlex vertical justify="flex-end" align="center" style="width: 100%; font-size: 12px; gap: 4px">
<NText :depth="3">平台版本: {{ versionInfo.version }} ({{ versionInfo.buildTime }})</NText>
<NTooltip>
<template #trigger>
<div @click="onClickVersion">
<NText :depth="3" style="cursor: pointer">平台版本: {{ versionInfo.version }} ({{ versionInfo.buildTime }})</NText>
</div>
</template>
<template #default>
<NText :depth="3">点击可查看平台更新记录</NText>
</template>
</NTooltip>
</NFlex>
</template>
</NDrawerContent>