本项目已集成百度统计 API,可以实时获取文章的浏览量(PV)和访客量(UV)数据,并在页面中展示。
src/config/analytics.ts
export const BAIDU_ANALYTICS_CONFIG = {
// 访问令牌 - 需要定期更新
accessToken: 'your_access_token_here',
// 站点 ID
siteId: 'your_site_id_here',
// 百度统计站点代码
siteCode: 'your_site_code_here',
// 缓存配置
cache: {
expiry: 5 * 60 * 1000, // 5分钟缓存
}
};
在 .env 文件中设置:
VITE_BAIDU_ACCESS_TOKEN=your_access_token
VITE_BAIDU_SITE_ID=your_site_id
VITE_BAIDU_SITE_CODE=your_site_code
import { ArticleStatsDisplay } from '@/components/blog/stats-display';
// 在文章组件中使用
<ArticleStatsDisplay
articleSlug="your-article-slug"
variant="inline" // 或 "card", "badge"
/>
import { TotalStatsDisplay } from '@/components/blog/stats-display';
// 显示网站总体统计
<TotalStatsDisplay variant="card" />
import { useBaiduAnalytics, useArticleStats } from '@/hooks/use-baidu-analytics';
// 获取所有统计数据
const { articleStats, totalStats, loading, error } = useBaiduAnalytics();
// 获取单个文章统计
const { stats, loading, error } = useArticleStats('article-slug');
/analytics)GET https://openapi.baidu.com/rest/2.0/tongji/report/getData
access_token: 访问令牌site_id: 站点IDmethod: visit/toppage/a(受访页面报告)metrics: pv_count,visitor_count(浏览量和访客数)start_date: 开始日期(可选)end_date: 结束日期(可选){
"result": {
"items": [
[
[{"name": "页面URL", "pageId": "页面ID"}],
[浏览量, 访客数]
]
]
}
}
系统通过以下方式匹配文章和统计数据:
/article/{articleSlug}