diff --git a/README.md b/README.md index cb93cab4a..25cead5a8 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,8 @@ pnpm build - [x] 文章元数据信息显示:文章标题下显示作者、发布时间、所属分类、标签列表等信息,可全局配置作者及作者主页信息 + - [x] 已扩展文章阅读数信息,默认已启用,可在 docs/.vitepress/config/theme.ts 中 articleMetadataConfig 配置中关闭(开启需要自行提供并配置好 API 服务,API 服务可参考:[Charles7c/charles7c-api](https://github.com/Charles7c/charles7c-api),目前来看搞起来还有点麻烦,不喜欢折腾的可以直接关闭或更换其他方式提供 API 服务,欢迎提建议) + - [x] 《我的标签》:模仿语雀标签页风格,另有标签云展示。语雀标签页地址:https://www.yuque.com/r/语雀用户名/tags?tag= - [x] 《我的归档》:自定义时间轴,展示历史文章数据。年份前可展示生肖,还可按分类、标签筛选 diff --git a/docs/.vitepress/config/theme.ts b/docs/.vitepress/config/theme.ts index f29732f41..944b3a2e6 100644 --- a/docs/.vitepress/config/theme.ts +++ b/docs/.vitepress/config/theme.ts @@ -47,7 +47,7 @@ export const themeConfig: DefaultTheme.Config = { articleMetadataConfig: { author: '查尔斯', // 文章全局默认作者名称 authorLink: '/about/me', // 点击作者名时默认跳转的链接 - showPv: false // 是否显示文章阅读数, 需配置好相应后端API接口 + showPv: true // 是否显示文章阅读数, 需要在 docs/.vitepress/theme/api/config.js 及 interface.js 配置好相应 API 接口 }, // 自定义扩展: 文章版权配置 copyrightConfig: { diff --git a/docs/.vitepress/theme/api/config.js b/docs/.vitepress/theme/api/config.js new file mode 100644 index 000000000..bafdfe72f --- /dev/null +++ b/docs/.vitepress/theme/api/config.js @@ -0,0 +1,24 @@ +import axios from 'axios' + +const createBaseInstance = () => { + const instance = axios.create({ + baseURL: 'https://api.charles7c.top/blog', + timeout: 3000 + }) + instance.interceptors.request.use(handleRequest, handleError) + instance.interceptors.response.use(handleResponse, handleError) + return instance +} +export const request = createBaseInstance() + +function handleError(e) { + throw e +} + +function handleRequest(request) { + return request; +} + +function handleResponse(response) { + return response.data +} \ No newline at end of file diff --git a/docs/.vitepress/theme/api/index.js b/docs/.vitepress/theme/api/index.js new file mode 100644 index 000000000..ec92786e9 --- /dev/null +++ b/docs/.vitepress/theme/api/index.js @@ -0,0 +1,3 @@ +export * from './interface' + +export { default } from './interface' \ No newline at end of file diff --git a/docs/.vitepress/theme/api/interface.js b/docs/.vitepress/theme/api/interface.js new file mode 100644 index 000000000..4f5b21bec --- /dev/null +++ b/docs/.vitepress/theme/api/interface.js @@ -0,0 +1,17 @@ +import { request } from './config' + +export const getPv = (id, call) => { + request.get(`/pv/${id}`, {}).then(result => { + call(process(result)) + }) +} + +function process(result) { + if (result.code === 200) { + return result.data + } else { + console.log(result.msg) + } +} + +export default { getPv } \ No newline at end of file diff --git a/docs/.vitepress/theme/components/ArticleMetadata.vue b/docs/.vitepress/theme/components/ArticleMetadata.vue index 2dc53fed1..3a8b0a72c 100644 --- a/docs/.vitepress/theme/components/ArticleMetadata.vue +++ b/docs/.vitepress/theme/components/ArticleMetadata.vue @@ -14,11 +14,11 @@ -