Discuss API 与 Discuss 本身并没有直接的关系,你可以随时调用,并不需要初始化 Discuss 即可使用 API
# Visit Stat
访问量统计
当前页被访问 0 次数
提示
如果你的页面已经初始化 (即执行了discuss.init()
) 则会自动寻找当前页面时候存在 id 为Discuss-Visitors
的 DOM 元素有则自动统计
例子:
<script src="https://cdn.jsdelivr.net/npm/discuss@latest/dist/discuss.js"></script>
<script>
/**
* 访问量统计
* @param {String} url 服务端请求地址
* @param {String} path 页面的唯一标识符 如:location.pathname
* @returns {Number}
*/
discuss.getVisitStat(url, path).then((data) => {
console.log(data); // 返回数量
});
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# Recent Comment
获取最新评论
例子:
<script src="https://cdn.jsdelivr.net/npm/discuss@latest/dist/discuss.js"></script>
<script>
/**
* 获取最新评论
* @param {String} url 请求地址
* @param {Boolean} reply 是否请求回复评论 默认: true
* @returns {Array}
*/
discuss.getRecentComment(url, reply).then((data) => {
console.log(data);
// 返回的 Array
// [
// {
// _id: "61a45c3d521411b101113b96",
// nick: "Test",
// site: "",
// content: "<p>Test API</p>",
// pid: "",
// rid: "",
// stick: false,
// master: false,
// avatar: "https://thirdqq.qlogo.cn/g?b=sdk&k=k26Ec8NWH58mHCww4XBVyQ&s=140&t=0",
// time: "1645448647421",
// }
// ]
});
</script>
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
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
# Comment Count
获取评论数量
例子:
<script src="https://cdn.jsdelivr.net/npm/discuss@latest/dist/discuss.js"></script>
<script>
/**
* 请求评论数量
* @param {String} url 请求地址
* @param {Array} paths 请求的标识符(网站path) 如:[location.pathname]
* @param {Boolean} reply 是否请求回复评论 默认: true
* @returns {Array}
*/
discuss.getCommentCount(url, paths, reply).then((data) => {
console.log(data);
// 返回的 Array
// [
// { path: "/About.html", count: 10 },
// { path: "/Quick-Start.html", count: 11 },
// { path: "/Get-MongoDB-DataBase.html", count: 20 },
// ];
});
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 总结
对应的请求类型如下
访问量统计: COUNTER
获取最新评论: RECENT_COMMENT
获取评论数量: COMMENT_COUNT
你也可以自定义请求,并非需要 Discuss 的请求方法去请求
例如使用axios
const url = "https://discuss-doc.imlete.cn";
const options = {
type: "COUNTER",
path: location.pathname,
};
// 请求访问量统计
axios.post(url, options).then((data) => {
console.log(data); // 直接返回数量
});
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9