Files
cwd/docs/config/site-isolation.md
anghunk ac87af705f fix(api): 移除评论导出接口的站点筛选功能
移除评论导出接口的站点筛选功能,现在导出所有站点的评论数据。同时更新相关文档,移除站点隔离相关的API说明,并修复文档组件的内存泄漏问题。导入接口现在支持自动识别和转换第三方评论系统数据格式,并修复站点ID字段的导入问题。

- 移除 `/admin/comments/export` 接口的 `siteId` 查询参数
- 更新数据导入文档,说明第三方评论系统自动转换功能
- 修复文档组件页面切换时的配置更新和内存泄漏
- 修复评论和统计数据的导入逻辑,确保站点ID字段正确保存
- 更新数据库表结构,为统计相关表添加站点ID字段和联合唯一约束
2026-02-09 16:52:48 +08:00

2.0 KiB
Raw Permalink Blame History

站点隔离

CWD 评论系统支持通过 siteId 参数实现多站点数据隔离。当你需要为多个不同的网站或博客使用同一套评论系统后端时,可以通过 siteId 来区分不同站点的评论数据。

功能说明

  • 数据隔离:每个 siteId 对应独立的评论数据,不同站点的评论互不干扰
  • 统一管理:所有站点共用同一个后端 API 和管理后台,通过 siteId 进行区分

前端配置

在初始化评论组件时,通过 siteId 参数指定站点标识:

<div id="comments"></div>
<script src="https://unpkg.com/cwd-widget@0.0.x/dist/cwd.js"></script>

<script>
	const comments = new CWDComments({
		el: '#comments',
		apiBaseUrl: 'https://your-api.example.com',
		siteId: 'blog', // 站点 ID例如blog, docs, forum
	});
	comments.mount();
</script>

参数说明

参数 类型 必填 说明
siteId string 站点标识符,用于隔离不同站点的评论数据

siteId 命名建议

  • 使用小写字母、数字和连字符,如 blogdocsmy-site-1
  • 避免使用特殊字符和空格
  • 建议使用有意义的名称,便于识别不同站点

多站点示例

如果你有多个站点,可以为每个站点配置不同的 siteId

<!-- 博客站点 -->
<div id="blog-comments"></div>
<script>
	const blogComments = new CWDComments({
		el: '#blog-comments',
		apiBaseUrl: 'https://your-api.example.com',
		siteId: 'blog',
	});
	blogComments.mount();
</script>

<!-- 文档站点 -->
<div id="docs-comments"></div>
<script>
	const docsComments = new CWDComments({
		el: '#docs-comments',
		apiBaseUrl: 'https://your-api.example.com',
		siteId: 'docs',
	});
	docsComments.mount();
</script>

注意事项

为什么设置完 siteId 后,评论区不显示旧的评论数据?