ZakoDevTeam ChatRoom 是一个基于 Cloudflare Workers、Durable Objects 和 PartyKit 的实时聊天室。用户访问首页后会自动进入一个随机房间,输入用户名后即可加入;同一房间内用户名必须唯一。
- 实时 WebSocket 消息同步
- 每个 URL 房间对应一个 Durable Object 实例
- 消息使用 Durable Object SQL Storage 持久化
- 进入房间前设置用户名,并由服务端检查重名
- Vue 3 + Naive UI 后台面板式界面
- 支持明暗主题切换
- 前端页面加载不创建 WebSocket,提交用户名后才连接后端
安装依赖:
npm install启动开发服务器:
npm run dev类型检查和部署预检:
npm run checknpm run deploy项目入口和配置:
- 前端入口:
src/client/index.ts - 前端样式:
public/styles.css - 后端 Durable Object:
src/server/index.ts - 共享类型:
src/shared.ts - Cloudflare 配置:
wrangler.json