一个实时二维码共享应用,支持两个客户端通过 WebSocket 进行实时通信。
# 使用脚本启动
./deploy.sh dev
# 或直接运行
go run ./cmd/server/main.go
访问应用: http://localhost:8080/a/
./deploy.sh docker-up
./deploy.sh build ./deploy.sh run
./deploy.sh docker-build docker run -p 8080:8080 dynamic-qr-share:latest
├── cmd/server/ # 服务器入口 ├── internal/ # 核心逻辑 │ ├── channel/ # 频道管理 │ ├── http/ # HTTP 处理器 │ ├── protocol/ # 消息协议 │ └── ws/ # WebSocket 客户端 ├── web/ # 前端资源 │ ├── a/ # Client A (接收端) │ ├── b/ # Client B (发送端) │ └── shared/ # 共享样式 ├── Dockerfile # Docker 构建文件 ├── docker-compose.yml # Docker Compose 配置 └── deploy.sh # 快速部署脚本
详细的部署说明请参考 DEPLOYMENT.md,包括:
# 开发
./deploy.sh dev
# 构建
./deploy.sh build
# 运行
./deploy.sh run
# Docker Compose
./deploy.sh docker-up
./deploy.sh docker-down
# 健康检查
./deploy.sh health
# 帮助
./deploy.sh help
| 端点 | 方法 | 说明 |
|---|---|---|
/health | GET | 健康检查 |
/api/channels | POST | 创建频道 |
/api/channel | GET | 获取频道状态 |
/api/qr | GET | 生成二维码图片 |
/ws | WebSocket | WebSocket 连接 |
github.com/google/uuid - UUID 生成github.com/gorilla/websocket - WebSocket 支持github.com/skip2/go-qrcode - 二维码生成| 变量 | 默认值 | 说明 |
|---|---|---|
PORT | 8080 | 服务监听端口 |
SOCKET_PATH | `` | Unix Domain Socket 路径(设置后优先使用 UDS) |
MIT
需要帮助? 查看完整的 部署指南