# shuoshuo-pro **Repository Path**: consuy1382/shuoshuo-pro ## Basic Information - **Project Name**: shuoshuo-pro - **Description**: 自研类多说评论组件。多站点共用一套后端,单机部署,基于 RuoYi-Vue 3.9.2 基座(Spring Boot 4.1 / JDK 17 / MySQL 8 / Redis) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-22 - **Last Updated**: 2026-09-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: sns, 评论组件, 社交, 多说 ## README # Shuoshuo·Pro 自研类多说评论组件。多站点共用一套后端,单机部署,基于 RuoYi-Vue 3.9.2 基座(Spring Boot 4.1 / JDK 17 / MySQL 8 / Redis)。 - **解决什么**:第三方评论服务不可控(停运 / 性能 / 隐私);多站点要共用一套评论系统但数据彼此隔离;接入成本要低——贴一行 ` ``` 站点需先在管理后台「站点管理」创建,并**配置读接口鉴权**(选错模式评论区读不出数据): | 模式 | 适用 | 说明 | | --- | --- | --- | | `origin`(默认) | 纯静态站点 | `allowed_origins` **留空即拒绝** | | `ticket` | 有服务端、密钥不出服务端 | 服务端领票下发,SDK 自动换票 | | `off` | 数据走自己后端 | **SDK 整体退场**,前端自研 | 详见 [docs/integration/read-auth.md](docs/integration/read-auth.md);SSO 免二次登录见 [docs/integration/sso.md](docs/integration/sso.md);SDK API 见 [docs/api/widget-sdk.md](docs/api/widget-sdk.md)。 ## 部署与运维 完整步骤(远程 MySQL 初始化、宿主 Redis 配置、compose 启动、Nginx、监控、备份)见 **[docs/ops/deployment.md](docs/ops/deployment.md)**。要点: - Docker 启动:`DB_HOST` / `DB_PASSWORD` / `REDIS_PASSWORD` / `SHUOSHUO_JWT_SECRET` / `TOKEN_SECRET` 经环境变量注入 compose - Flyway:`ss_*` 表结构由 `db/migration` 版本化迁移管理,禁止改动 V1;菜单与角色走幂等的 `shuoshuo_menu.sql` - 备份:`deploy/scripts/backup.sh`(每日 cron,保留 14 份);**头像目录需单独备份**;恢复演练步骤见 [docs/ops/observability.md](docs/ops/observability.md) - 监控:`/actuator/prometheus` + `deploy/prometheus/`(四条告警规则);生产须网络层限源 ## API 命名空间 | 命名空间 | 用途 | 鉴权 | | --- | --- | --- | | `/api/v1/sdk/**` | widget.js | 读:站点 `read_auth_mode`;写:评论用户 JWT | | `/api/v1/web/**` | 浏览器 AJAX(账号、通知) | 评论用户 JWT | | `/api/v1/admin/shuoshuo/**` | 管理后台 | RuoYi 原生 JWT + 权限串 | | `/api/v1/public/**` | 注册 / 登录 / OAuth | 无(另有认证频控) | | `/api/v1/server/**` | 站点服务端 | HMAC-SHA256 | 统一错误格式与全部错误码见 [docs/api/overview.md](docs/api/overview.md)。 ## 已知限制(一期) - GitHub OAuth 需先申请个人 OAuth App 并配置回调地址 - `comments.ip` 用于风控与审计,长期保留且不对外展示;不提供自动清理 - Widget iframe 登录态依赖 sessionStorage + refresh token 静默续期(第三方 cookie 方案已废弃,见 [ADR-0007](docs/adr/0007-no-third-party-cookie.md)) ## 版本规划 - **一期(当前)**:评论主链路、身份体系(邮箱 / GitHub / SSO)、反滥用、管理后台、Flyway + CI、Widget SDK——已完成 - **二期(规划中)**:表情包、皮肤定制、评论订阅、第三方审核 API、多 OAuth 提供方;以及一期收口项(npm 发包、日志收集、覆盖率门禁、审计查看页) 每项的范围与验收标准见 [docs/roadmap.md](docs/roadmap.md),功能需求以 [docs/spec/overview.md](docs/spec/overview.md) §12 / §13 为准。