docs: 更新文档与调整管理端功能

- 移除首页重复的页脚组件渲染
- 在首页和常见问题页面添加文档更新滞后提示
- 将分析接口的 domain 参数改为 siteId 以支持多站点筛选
- 更新管理端点赞统计接口支持按 siteId 筛选
- 修复访问分析页面中点赞统计的筛选逻辑
This commit is contained in:
anghunk
2026-02-09 16:17:33 +08:00
parent 67a2777ea8
commit 77b8402d13
6 changed files with 27 additions and 7 deletions

View File

@@ -342,8 +342,14 @@ export function fetchSiteList(): Promise<SiteListResponse> {
return get<SiteListResponse>('/admin/stats/sites');
}
export function fetchLikeStats(): Promise<LikeStatsResponse> {
return get<LikeStatsResponse>('/admin/likes/stats');
export function fetchLikeStats(siteId?: string): Promise<LikeStatsResponse> {
const searchParams = new URLSearchParams();
if (siteId && siteId !== 'default') {
searchParams.set('siteId', siteId);
}
const query = searchParams.toString();
const url = query ? `/admin/likes/stats?${query}` : '/admin/likes/stats';
return get<LikeStatsResponse>(url);
}
export function fetchFeatureSettings(): Promise<FeatureSettingsResponse> {

View File

@@ -430,7 +430,7 @@ async function loadData() {
const [overviewRes, pagesRes, likeStatsRes] = await Promise.all([
fetchVisitOverview(domain),
fetchVisitPages(domain, order),
fetchLikeStats(),
fetchLikeStats(domain),
]);
overview.value = {
totalPv: overviewRes.totalPv,
@@ -446,7 +446,7 @@ async function loadData() {
: [],
};
const likeItemsRaw = Array.isArray(likeStatsRes.items) ? likeStatsRes.items : [];
likeStatsItems.value = filterLikeStatsByDomain(likeItemsRaw, domain);
likeStatsItems.value = likeItemsRaw;
const pageItemsByPv = Array.isArray(pagesRes.itemsByPv)
? pagesRes.itemsByPv
: [];

View File

@@ -11,7 +11,6 @@ export default {
return h(Layout, null, {
'doc-footer-before': () => h(FooterDoc),
'home-features-after': () => h('div', { class: 'extra-class' }, [h(FooterDoc)]),
'nav-bar-content-after': () => h(GitHubStar),
});
},

View File

@@ -24,7 +24,7 @@ GET /admin/analytics/overview
| 名称 | 位置 | 类型 | 必填 | 说明 |
| -------- | ----- | ------ | ---- | ------------------------------------------ |
| `domain` | query | string | 否 | 按域名筛选访问数据,传入域名,如 `example.com` |
| `siteId` | query | string | 否 | 按站点 ID 筛选访问数据,`blog``docs` |
**成功响应**

View File

@@ -1,5 +1,10 @@
# 常见问题
> [!TIP] 十分抱歉!
> 由于开发团队目前只有一个人,在更新功能后文档可能会滞后。如果遇到问题,请先查看文档是否有更新。
> 如果文档没有更新或者文档描述与实际有误,请在 GitHub 仓库的 Issues 中及时反馈。
> 如果是更改比较重大的功能,我会在 [常见问题] 中更新。
## 1. 为什么设置完 siteId 后,评论区不显示旧的评论数据?
因为设置了 siteId 后,接口会根据 siteId 来查询数据库带有你设置的 siteId 的评论数据。所以如果设置了 siteId旧数据就有可能不显示需要手动去 Cloudflare D1 控制台 Query 运行 SQL 语句来更新数据。

View File

@@ -24,7 +24,7 @@ features:
details: 基于 Cloudflare 全球 300+ 节点网络,毫秒级响应,自动扩缩容,无需管理服务器
- icon: 💬
title: 完善评论体系
details: 支持嵌套回复、分页加载、Markdown 渲染、富文本支持与访客信息记忆
details: 支持多站点管理,支持嵌套回复、分页加载、Markdown 渲染、富文本支持与访客信息记忆
- icon: 🔔
title: 智能邮件通知
details: 新评论、回复提醒实时推送,支持自定义邮件模板,兼容各大邮箱服务商
@@ -45,3 +45,13 @@ features:
details: 提供完整 REST API 与 SDK一行代码嵌入适配 Vue、React 等任意框架
---
<script setup>
import FooterDoc from './.vitepress/components/footerDoc.vue';
</script>
> [!TIP] 十分抱歉!
> 由于开发团队目前只有一个人,在更新功能后文档可能会滞后。如果遇到问题,请先查看文档是否有更新。
> 如果文档没有更新或者文档描述与实际有误,请在 GitHub 仓库的 Issues 中及时反馈。
> 如果是更改比较重大的功能,我会在 [常见问题] 中更新。
<FooterDoc />