重复请求处理

This commit is contained in:
tangly1024
2022-12-06 22:35:34 +08:00
parent a6d3dfe7c0
commit 23fe756f34
4 changed files with 15 additions and 25 deletions

View File

@@ -4,26 +4,23 @@ import { useGlobal } from '@/lib/global'
// import { useRouter } from 'next/router'
import React from 'react'
let path = ''
export default function Busuanzi () {
const { theme } = useGlobal()
const router = useRouter()
// 切换文章时更新
React.useEffect(() => {
const busuanziRouteChange = url => {
const Router = useRouter()
Router.events.on('routeChangeComplete', (url, option) => {
if (url !== path) {
path = url
busuanzi.fetch()
}
router.events.on('routeChangeComplete', busuanziRouteChange)
return () => {
router.events.off('routeChangeComplete', busuanziRouteChange)
}
}, [router.events])
})
// 更换主题时更新
React.useEffect(() => {
if (theme) {
busuanzi.fetch()
}
})
}, [theme])
return null
}

View File

@@ -9,26 +9,15 @@ import 'prismjs/plugins/line-numbers/prism-line-numbers.css'
// mermaid图
import mermaid from 'mermaid'
import { useGlobal } from '@/lib/global'
import { useRouter } from 'next/router'
/**
* @author https://github.com/txs/
* @returns
*/
const PrismMac = () => {
const router = useRouter()
const { isDarkMode } = useGlobal()
const scrollTop = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop
React.useEffect(() => {
renderPrismMac()
window.scrollTo(0, scrollTop)
router.events.on('routeChangeComplete', renderPrismMac)
return () => {
router.events.off('routeChangeComplete', renderPrismMac)
}
}, [isDarkMode])
})
return <></>
}

View File

@@ -3,6 +3,8 @@ import { init } from '@waline/client'
import BLOG from '@/blog.config'
import { useRouter } from 'next/router'
const path = ''
/**
* @see https://waline.js.org/guide/get-started.html
* @param {*} props
@@ -14,7 +16,9 @@ const WalineComponent = (props) => {
const router = useRouter()
const updateWaline = url => {
walineInstanceRef.current?.update(props)
if (url !== path) {
walineInstanceRef.current?.update(props)
}
}
React.useEffect(() => {

View File

@@ -55,7 +55,7 @@ bszCaller = {
const fetch = () => {
bszTag && bszTag.hides()
bszCaller.fetch('//busuanzi.ibruce.info/busuanzi?jsonpCallback=BusuanziCallback', function (t) {
// console.log('不蒜子请求结果',t)
// console.log('不蒜子',t)
bszTag.texts(t), bszTag.shows()
})
}