forked from chansee97/nuxt-blog
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathuseViewCount.ts
More file actions
31 lines (28 loc) · 770 Bytes
/
useViewCount.ts
File metadata and controls
31 lines (28 loc) · 770 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
export function useViewCount(slug: string) {
const views = ref<number | null>(null)
const getCount = async () => {
try {
const key = `qiu-blog-${slug}`
const res = await fetch(`https://api.countapi.xyz/get/qiu-blog/${key}`)
const data = await res.json()
views.value = data.value
} catch (e) {
views.value = null
}
}
const increaseCount = async () => {
try {
const key = `qiu-blog-${slug}`
const res = await fetch(`https://api.countapi.xyz/hit/qiu-blog/${key}`)
const data = await res.json()
views.value = data.value
} catch (e) {
views.value = null
}
}
return {
views,
getCount,
increaseCount,
}
}