uvstat 📈 B3log 分布式社区的浏览、评论计数组件,欢迎加入下一代社区网络。
- 安装依赖
npm install uvstat --save
- 在代码中引入并初始化对象,可参考 index.js
import Uvstat from 'uvstat'
const uvstat = new Uvstat()
uvstat.renderStat()
uvstat.renderCmtStat()
uvstat.getStat(['http://localhost:9219']).then(stats => {
console.log('getStat: ', stats)
})
uvstat.addStat()
- 在 HTML 中插入 js
<!-- ⚠️生产环境请指定版本号,如 https://cdn.jsdelivr.net/npm/uvstat@x.x.x/dist... -->
<script src="https://cdn.jsdelivr.net/npm/uvstat/dist/index.min.js" defer></script>
说明 | 默认值 | |
---|---|---|
cache | 访问过的页面不再进行统计 | true |
cacheId | localStorage 名称 | 'uvstat' |
loading | 加载中的 svg | - |
location | 计数 url 配置 | - |
location.hash | 是否统计 hash | false |
location.pathname | 是否统计 pathname | true |
location.search | 是否统计 search | false |
renderName | 浏览计数元素中的 data 属性名称 | 'uvstaturl' |
renderCmtName | 评论计数元素中的 data 属性名称 | 'uvstatcmt' |
cmtAPI | 评论统计请求地址 | 'https://ld246.com/apis/vcomment/count' |
timeout | 请求超时 ms | 2000 |
url | 服务端请求地址 | 'https://ld246.com/uvstat' |
说明 | |
---|---|
getStat(urls: ICount[], timeout: number = 0) | 获取给定 url 的浏览数 |
getCmtStat(cmts: ICount[], timeout: number = 0) | 获取给定帖子 id 的评论数 |
addStat() | 为当前页面添加计数 |
renderStat() | 浏览计数渲染 |
renderCmtStat(after?: (element: HTMLElement, cnt: number) => void) | 评论计数渲染 |
clearCache() | 清除缓存 |