diff --git a/README.md b/README.md index d8df885..cad2f92 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# 客服云(kefu_sys) +# 客服云(kefu_cloud) 多租户在线客服 SaaS:租户坐席工作台 + 访客 Widget + 平台超管后台。 @@ -81,11 +81,11 @@ ## 目录结构 ``` -kefu_sys/ +kefu_cloud/ # 仓库目录名(本地可能仍为旧名,以模块名为准) ├── docker-compose.dev.yml # Postgres + MinIO ├── Makefile ├── docs/ # 产品原型 / 需求 HTML -├── server/ +├── server/ # Go module: kefu-cloud/server │ ├── cmd/main.go # 服务入口 │ ├── cmd/seed/ # 演示数据 │ └── internal/ @@ -205,7 +205,7 @@ make db-up | `SERVER_PORT` | `8080` | HTTP 端口 | | `GIN_MODE` | `debug` | Gin 模式 | | `DB_HOST` / `DB_PORT` | `localhost` / `5433` | 数据库 | -| `DB_USER` / `DB_PASSWORD` / `DB_NAME` | `postgres` / `postgres` / `kefu_sys` | | +| `DB_USER` / `DB_PASSWORD` / `DB_NAME` | `postgres` / `postgres` / `kefu_cloud` | | | `JWT_SECRET` | 内置开发密钥 | **生产务必修改** | | `STORAGE_ENDPOINT` | `localhost:9100` | MinIO/S3 | | `STORAGE_ACCESS_KEY` / `STORAGE_SECRET_KEY` | `minioadmin` | | diff --git a/deploy/.env.prod.example b/deploy/.env.prod.example index 00c3d06..ad09fec 100644 --- a/deploy/.env.prod.example +++ b/deploy/.env.prod.example @@ -15,7 +15,7 @@ STORAGE_PUBLIC_BASE_URL=http://你的公网IP或域名/files # ========== 数据库 ========== DB_USER=kefu DB_PASSWORD=请改成强密码 -DB_NAME=kefu_sys +DB_NAME=kefu_cloud DB_SSLMODE=disable # ========== JWT(deploy.sh 可自动生成)========== diff --git a/deploy/README.md b/deploy/README.md index cd23ab5..b78d40b 100644 --- a/deploy/README.md +++ b/deploy/README.md @@ -29,8 +29,8 @@ docker compose version 4. 上传代码到服务器,例如: ```bash -git clone <你的仓库地址> kefu_sys -cd kefu_sys +git clone <你的仓库地址> kefu_cloud +cd kefu_cloud ``` ## 一键部署 diff --git a/deploy/scripts/backup-db.sh b/deploy/scripts/backup-db.sh index a10d6a4..3fb1ed0 100755 --- a/deploy/scripts/backup-db.sh +++ b/deploy/scripts/backup-db.sh @@ -23,10 +23,10 @@ set +a mkdir -p "$OUT_DIR" STAMP="$(date +%Y%m%d_%H%M%S)" -FILE="${OUT_DIR}/kefu_pg_${STAMP}.sql.gz" +FILE="${OUT_DIR}/kefu_cloud_pg_${STAMP}.sql.gz" echo "备份到 $FILE …" docker compose -f "$COMPOSE_FILE" --env-file "$ENV_FILE" exec -T postgres \ - pg_dump -U "${DB_USER:-kefu}" "${DB_NAME:-kefu_sys}" | gzip > "$FILE" + pg_dump -U "${DB_USER:-kefu}" "${DB_NAME:-kefu_cloud}" | gzip > "$FILE" echo "完成: $FILE ($(du -h "$FILE" | awk '{print $1}'))" diff --git a/deploy/scripts/deploy.sh b/deploy/scripts/deploy.sh index bd2c30c..0e996e4 100755 --- a/deploy/scripts/deploy.sh +++ b/deploy/scripts/deploy.sh @@ -196,7 +196,7 @@ cmd_down() { ensure_env log "停止容器(保留数据卷)…" compose down - log "已停止。删除数据卷请手动: docker volume rm kefu-prod_kefu_pgdata kefu-prod_kefu_miniodata" + log "已停止。删除数据卷请手动: docker volume rm kefu-cloud_kefu_cloud_pgdata kefu-cloud_kefu_cloud_miniodata" } cmd_status() { diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 2d2ffc1..498adf0 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -1,11 +1,11 @@ services: postgres: image: postgres:16-alpine - container_name: kefu-db + container_name: kefu-cloud-db environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres - POSTGRES_DB: kefu_sys + POSTGRES_DB: kefu_cloud ports: - "5433:5432" volumes: @@ -13,7 +13,7 @@ services: minio: image: minio/minio:latest - container_name: kefu-minio + container_name: kefu-cloud-minio command: server /data --console-address ":9001" environment: MINIO_ROOT_USER: minioadmin @@ -29,7 +29,7 @@ services: # 注意:容器网络内仍访问 minio:9000(服务端口),宿主机映射为 9100 minio-init: image: minio/mc:latest - container_name: kefu-minio-init + container_name: kefu-cloud-minio-init depends_on: - minio restart: "no" diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 780819f..b96ba4d 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -2,23 +2,23 @@ # 使用:./deploy/scripts/deploy.sh # 或:docker compose -f docker-compose.prod.yml --env-file deploy/.env.prod up -d --build -name: kefu-prod +name: kefu-cloud services: postgres: image: postgres:16-alpine - container_name: kefu-prod-db + container_name: kefu-cloud-db restart: unless-stopped environment: POSTGRES_USER: ${DB_USER:-kefu} POSTGRES_PASSWORD: ${DB_PASSWORD:?请在 deploy/.env.prod 设置 DB_PASSWORD} - POSTGRES_DB: ${DB_NAME:-kefu_sys} + POSTGRES_DB: ${DB_NAME:-kefu_cloud} volumes: - - kefu_pgdata:/var/lib/postgresql/data + - kefu_cloud_pgdata:/var/lib/postgresql/data networks: - - kefu_net + - kefu_cloud_net healthcheck: - test: ["CMD-SHELL", "pg_isready -U ${DB_USER:-kefu} -d ${DB_NAME:-kefu_sys}"] + test: ["CMD-SHELL", "pg_isready -U ${DB_USER:-kefu} -d ${DB_NAME:-kefu_cloud}"] interval: 10s timeout: 5s retries: 10 @@ -26,27 +26,27 @@ services: minio: image: minio/minio:latest - container_name: kefu-prod-minio + container_name: kefu-cloud-minio restart: unless-stopped command: server /data --console-address ":9001" environment: MINIO_ROOT_USER: ${STORAGE_ACCESS_KEY:?请设置 STORAGE_ACCESS_KEY} MINIO_ROOT_PASSWORD: ${STORAGE_SECRET_KEY:?请设置 STORAGE_SECRET_KEY} volumes: - - kefu_miniodata:/data + - kefu_cloud_miniodata:/data networks: - - kefu_net + - kefu_cloud_net # 官方镜像极简,无 curl/bash;由 minio-init 重试建桶保证就绪 minio-init: image: minio/mc:latest - container_name: kefu-prod-minio-init + container_name: kefu-cloud-minio-init depends_on: minio: condition: service_started restart: "no" networks: - - kefu_net + - kefu_cloud_net entrypoint: > /bin/sh -c " set -e; @@ -70,8 +70,8 @@ services: build: context: . dockerfile: deploy/docker/Dockerfile.api - image: kefu-api:${IMAGE_TAG:-latest} - container_name: kefu-prod-api + image: kefu-cloud-api:${IMAGE_TAG:-latest} + container_name: kefu-cloud-api restart: unless-stopped depends_on: postgres: @@ -85,7 +85,7 @@ services: DB_PORT: "5432" DB_USER: ${DB_USER:-kefu} DB_PASSWORD: ${DB_PASSWORD} - DB_NAME: ${DB_NAME:-kefu_sys} + DB_NAME: ${DB_NAME:-kefu_cloud} DB_SSLMODE: ${DB_SSLMODE:-disable} JWT_SECRET: ${JWT_SECRET:?请设置 JWT_SECRET} STORAGE_ENDPOINT: minio:9000 @@ -100,15 +100,15 @@ services: STORAGE_MAX_IMAGE_EDGE: ${STORAGE_MAX_IMAGE_EDGE:-1920} STORAGE_WEBP_QUALITY: ${STORAGE_WEBP_QUALITY:-80} networks: - - kefu_net + - kefu_cloud_net # 不对外暴露 8080,统一走 nginx web: build: context: . dockerfile: deploy/docker/Dockerfile.web - image: kefu-web:${IMAGE_TAG:-latest} - container_name: kefu-prod-web + image: kefu-cloud-web:${IMAGE_TAG:-latest} + container_name: kefu-cloud-web restart: unless-stopped depends_on: api: @@ -118,13 +118,13 @@ services: ports: - "${HTTP_PORT:-80}:80" networks: - - kefu_net + - kefu_cloud_net # 可选:导入演示数据(profile seed) # docker compose -f docker-compose.prod.yml --env-file deploy/.env.prod --profile seed run --rm seed seed: - image: kefu-api:${IMAGE_TAG:-latest} - container_name: kefu-prod-seed + image: kefu-cloud-api:${IMAGE_TAG:-latest} + container_name: kefu-cloud-seed profiles: ["seed"] depends_on: api: @@ -134,7 +134,7 @@ services: DB_PORT: "5432" DB_USER: ${DB_USER:-kefu} DB_PASSWORD: ${DB_PASSWORD} - DB_NAME: ${DB_NAME:-kefu_sys} + DB_NAME: ${DB_NAME:-kefu_cloud} DB_SSLMODE: ${DB_SSLMODE:-disable} JWT_SECRET: ${JWT_SECRET} STORAGE_ENDPOINT: minio:9000 @@ -145,13 +145,13 @@ services: STORAGE_PUBLIC_BASE_URL: ${STORAGE_PUBLIC_BASE_URL} entrypoint: ["/app/seed"] networks: - - kefu_net + - kefu_cloud_net restart: "no" networks: - kefu_net: + kefu_cloud_net: driver: bridge volumes: - kefu_pgdata: - kefu_miniodata: + kefu_cloud_pgdata: + kefu_cloud_miniodata: diff --git a/server/.env.example b/server/.env.example index 73f6aa8..e9a0a78 100644 --- a/server/.env.example +++ b/server/.env.example @@ -5,7 +5,7 @@ DB_HOST=localhost DB_PORT=5433 DB_USER=postgres DB_PASSWORD=postgres -DB_NAME=kefu_sys +DB_NAME=kefu_cloud DB_SSLMODE=disable -JWT_SECRET=kefu-sys-dev-secret-key +JWT_SECRET=kefu-cloud-dev-secret-key diff --git a/server/cmd/main.go b/server/cmd/main.go index 39b082c..7691250 100644 --- a/server/cmd/main.go +++ b/server/cmd/main.go @@ -6,13 +6,13 @@ import ( "time" "github.com/gin-gonic/gin" - "kefu-sys/server/internal/config" - "kefu-sys/server/internal/handler" - "kefu-sys/server/internal/metrics" - "kefu-sys/server/internal/middleware" - "kefu-sys/server/internal/model" - "kefu-sys/server/internal/storage" - "kefu-sys/server/internal/ws" + "kefu-cloud/server/internal/config" + "kefu-cloud/server/internal/handler" + "kefu-cloud/server/internal/metrics" + "kefu-cloud/server/internal/middleware" + "kefu-cloud/server/internal/model" + "kefu-cloud/server/internal/storage" + "kefu-cloud/server/internal/ws" ) func main() { diff --git a/server/cmd/seed/main.go b/server/cmd/seed/main.go index 4672bc9..e665ad2 100644 --- a/server/cmd/seed/main.go +++ b/server/cmd/seed/main.go @@ -6,8 +6,8 @@ import ( "golang.org/x/crypto/bcrypt" - "kefu-sys/server/internal/config" - "kefu-sys/server/internal/model" + "kefu-cloud/server/internal/config" + "kefu-cloud/server/internal/model" ) func main() { diff --git a/server/go.mod b/server/go.mod index b785430..dba0885 100644 --- a/server/go.mod +++ b/server/go.mod @@ -1,4 +1,4 @@ -module kefu-sys/server +module kefu-cloud/server go 1.26.3 diff --git a/server/internal/config/config.go b/server/internal/config/config.go index 6ff130d..a9b1754 100644 --- a/server/internal/config/config.go +++ b/server/internal/config/config.go @@ -57,11 +57,11 @@ func Load() *Config { Port: getEnv("DB_PORT", "5433"), User: getEnv("DB_USER", "postgres"), Password: getEnv("DB_PASSWORD", "postgres"), - Name: getEnv("DB_NAME", "kefu_sys"), + Name: getEnv("DB_NAME", "kefu_cloud"), SSLMode: getEnv("DB_SSLMODE", "disable"), }, JWT: JWTConfig{ - Secret: getEnv("JWT_SECRET", "kefu-sys-secret-key"), + Secret: getEnv("JWT_SECRET", "kefu-cloud-secret-key"), ExpireTime: 24 * time.Hour, }, Storage: StorageConfig{ diff --git a/server/internal/handler/admin.go b/server/internal/handler/admin.go index c484b36..4a9e2c9 100644 --- a/server/internal/handler/admin.go +++ b/server/internal/handler/admin.go @@ -8,9 +8,9 @@ import ( "github.com/gin-gonic/gin" "golang.org/x/crypto/bcrypt" - "kefu-sys/server/internal/middleware" - "kefu-sys/server/internal/model" - "kefu-sys/server/internal/storage" + "kefu-cloud/server/internal/middleware" + "kefu-cloud/server/internal/model" + "kefu-cloud/server/internal/storage" ) type AdminHandler struct { diff --git a/server/internal/handler/assignment.go b/server/internal/handler/assignment.go index 4f0057b..0b35b44 100644 --- a/server/internal/handler/assignment.go +++ b/server/internal/handler/assignment.go @@ -4,8 +4,8 @@ import ( "fmt" "strings" - "kefu-sys/server/internal/model" - "kefu-sys/server/internal/ws" + "kefu-cloud/server/internal/model" + "kefu-cloud/server/internal/ws" ) const ( diff --git a/server/internal/handler/assignment_test.go b/server/internal/handler/assignment_test.go index f45af85..03b3ecd 100644 --- a/server/internal/handler/assignment_test.go +++ b/server/internal/handler/assignment_test.go @@ -3,7 +3,7 @@ package handler import ( "testing" - "kefu-sys/server/internal/model" + "kefu-cloud/server/internal/model" ) func TestPickLeastLoadedPrefersFewerSessions(t *testing.T) { diff --git a/server/internal/handler/auth.go b/server/internal/handler/auth.go index 941c271..f612f56 100644 --- a/server/internal/handler/auth.go +++ b/server/internal/handler/auth.go @@ -5,8 +5,8 @@ import ( "github.com/gin-gonic/gin" "golang.org/x/crypto/bcrypt" - "kefu-sys/server/internal/middleware" - "kefu-sys/server/internal/model" + "kefu-cloud/server/internal/middleware" + "kefu-cloud/server/internal/model" ) type AuthHandler struct{} diff --git a/server/internal/handler/channel.go b/server/internal/handler/channel.go index 08649ca..61c5cb6 100644 --- a/server/internal/handler/channel.go +++ b/server/internal/handler/channel.go @@ -9,8 +9,8 @@ import ( "strings" "github.com/gin-gonic/gin" - "kefu-sys/server/internal/middleware" - "kefu-sys/server/internal/model" + "kefu-cloud/server/internal/middleware" + "kefu-cloud/server/internal/model" ) type ChannelHandler struct{} diff --git a/server/internal/handler/customer.go b/server/internal/handler/customer.go index b898a8c..8049500 100644 --- a/server/internal/handler/customer.go +++ b/server/internal/handler/customer.go @@ -4,8 +4,8 @@ import ( "net/http" "github.com/gin-gonic/gin" - "kefu-sys/server/internal/middleware" - "kefu-sys/server/internal/model" + "kefu-cloud/server/internal/middleware" + "kefu-cloud/server/internal/model" ) type CustomerHandler struct{} diff --git a/server/internal/handler/export.go b/server/internal/handler/export.go index cacf4f5..da7cf77 100644 --- a/server/internal/handler/export.go +++ b/server/internal/handler/export.go @@ -8,8 +8,8 @@ import ( "time" "github.com/gin-gonic/gin" - "kefu-sys/server/internal/middleware" - "kefu-sys/server/internal/model" + "kefu-cloud/server/internal/middleware" + "kefu-cloud/server/internal/model" ) // Export 导出客户列表 CSV(沿用列表筛选与坐席可见范围)。 diff --git a/server/internal/handler/knowledge.go b/server/internal/handler/knowledge.go index 59f38a9..69bdbf8 100644 --- a/server/internal/handler/knowledge.go +++ b/server/internal/handler/knowledge.go @@ -7,8 +7,8 @@ import ( "unicode/utf8" "github.com/gin-gonic/gin" - "kefu-sys/server/internal/middleware" - "kefu-sys/server/internal/model" + "kefu-cloud/server/internal/middleware" + "kefu-cloud/server/internal/model" ) type KnowledgeHandler struct{} diff --git a/server/internal/handler/message_validation.go b/server/internal/handler/message_validation.go index cf2be22..b8ceb86 100644 --- a/server/internal/handler/message_validation.go +++ b/server/internal/handler/message_validation.go @@ -5,7 +5,7 @@ import ( "strings" "unicode/utf8" - "kefu-sys/server/internal/storage" + "kefu-cloud/server/internal/storage" ) const ( diff --git a/server/internal/handler/ops_metrics.go b/server/internal/handler/ops_metrics.go index 04a8567..2416b07 100644 --- a/server/internal/handler/ops_metrics.go +++ b/server/internal/handler/ops_metrics.go @@ -10,11 +10,11 @@ import ( "github.com/shirou/gopsutil/v4/cpu" "github.com/shirou/gopsutil/v4/disk" "github.com/shirou/gopsutil/v4/mem" - "kefu-sys/server/internal/metrics" - "kefu-sys/server/internal/middleware" - "kefu-sys/server/internal/model" - "kefu-sys/server/internal/storage" - "kefu-sys/server/internal/ws" + "kefu-cloud/server/internal/metrics" + "kefu-cloud/server/internal/middleware" + "kefu-cloud/server/internal/model" + "kefu-cloud/server/internal/storage" + "kefu-cloud/server/internal/ws" ) // OpsMetrics 平台运维实时指标(当前 API 实例视角)。 diff --git a/server/internal/handler/router.go b/server/internal/handler/router.go index 4af08df..d9f3a10 100644 --- a/server/internal/handler/router.go +++ b/server/internal/handler/router.go @@ -2,9 +2,9 @@ package handler import ( "github.com/gin-gonic/gin" - "kefu-sys/server/internal/config" - "kefu-sys/server/internal/middleware" - "kefu-sys/server/internal/storage" + "kefu-cloud/server/internal/config" + "kefu-cloud/server/internal/middleware" + "kefu-cloud/server/internal/storage" ) func SetupRoutes(r *gin.Engine, store storage.ObjectStorage, storageCfg config.StorageConfig) { diff --git a/server/internal/handler/security_integration_test.go b/server/internal/handler/security_integration_test.go index 31588af..ee18f63 100644 --- a/server/internal/handler/security_integration_test.go +++ b/server/internal/handler/security_integration_test.go @@ -15,11 +15,11 @@ import ( "golang.org/x/crypto/bcrypt" "gorm.io/driver/sqlite" "gorm.io/gorm" - "kefu-sys/server/internal/config" - "kefu-sys/server/internal/handler" - "kefu-sys/server/internal/middleware" - "kefu-sys/server/internal/model" - "kefu-sys/server/internal/storage" + "kefu-cloud/server/internal/config" + "kefu-cloud/server/internal/handler" + "kefu-cloud/server/internal/middleware" + "kefu-cloud/server/internal/model" + "kefu-cloud/server/internal/storage" ) func setupRouter(t *testing.T) *gin.Engine { diff --git a/server/internal/handler/session.go b/server/internal/handler/session.go index d20f2e3..71b3e3f 100644 --- a/server/internal/handler/session.go +++ b/server/internal/handler/session.go @@ -9,9 +9,9 @@ import ( "github.com/gin-gonic/gin" "gorm.io/gorm" - "kefu-sys/server/internal/middleware" - "kefu-sys/server/internal/model" - "kefu-sys/server/internal/ws" + "kefu-cloud/server/internal/middleware" + "kefu-cloud/server/internal/model" + "kefu-cloud/server/internal/ws" ) type SessionHandler struct{} diff --git a/server/internal/handler/settings.go b/server/internal/handler/settings.go index 01564c1..e7046cd 100644 --- a/server/internal/handler/settings.go +++ b/server/internal/handler/settings.go @@ -7,8 +7,8 @@ import ( "time" "github.com/gin-gonic/gin" - "kefu-sys/server/internal/middleware" - "kefu-sys/server/internal/model" + "kefu-cloud/server/internal/middleware" + "kefu-cloud/server/internal/model" ) type SettingsHandler struct{} diff --git a/server/internal/handler/staff.go b/server/internal/handler/staff.go index 3dd8cea..934f7b1 100644 --- a/server/internal/handler/staff.go +++ b/server/internal/handler/staff.go @@ -7,8 +7,8 @@ import ( "github.com/gin-gonic/gin" "golang.org/x/crypto/bcrypt" - "kefu-sys/server/internal/middleware" - "kefu-sys/server/internal/model" + "kefu-cloud/server/internal/middleware" + "kefu-cloud/server/internal/model" ) type StaffHandler struct{} diff --git a/server/internal/handler/statistics.go b/server/internal/handler/statistics.go index 3295f4a..1f3c376 100644 --- a/server/internal/handler/statistics.go +++ b/server/internal/handler/statistics.go @@ -6,8 +6,8 @@ import ( "time" "github.com/gin-gonic/gin" - "kefu-sys/server/internal/middleware" - "kefu-sys/server/internal/model" + "kefu-cloud/server/internal/middleware" + "kefu-cloud/server/internal/model" ) type StatisticsHandler struct{} diff --git a/server/internal/handler/upload.go b/server/internal/handler/upload.go index d79c406..260b148 100644 --- a/server/internal/handler/upload.go +++ b/server/internal/handler/upload.go @@ -9,10 +9,10 @@ import ( "strings" "github.com/gin-gonic/gin" - "kefu-sys/server/internal/config" - "kefu-sys/server/internal/media" - "kefu-sys/server/internal/middleware" - "kefu-sys/server/internal/storage" + "kefu-cloud/server/internal/config" + "kefu-cloud/server/internal/media" + "kefu-cloud/server/internal/middleware" + "kefu-cloud/server/internal/storage" ) type UploadHandler struct { diff --git a/server/internal/handler/widget.go b/server/internal/handler/widget.go index e97b23e..99e5a46 100644 --- a/server/internal/handler/widget.go +++ b/server/internal/handler/widget.go @@ -10,9 +10,9 @@ import ( "github.com/gin-gonic/gin" "gorm.io/gorm" - "kefu-sys/server/internal/middleware" - "kefu-sys/server/internal/model" - "kefu-sys/server/internal/ws" + "kefu-cloud/server/internal/middleware" + "kefu-cloud/server/internal/model" + "kefu-cloud/server/internal/ws" ) type WidgetHandler struct{} diff --git a/server/internal/handler/ws.go b/server/internal/handler/ws.go index 5abf336..8ad68d1 100644 --- a/server/internal/handler/ws.go +++ b/server/internal/handler/ws.go @@ -4,8 +4,8 @@ import ( "net/http" "github.com/gin-gonic/gin" - "kefu-sys/server/internal/middleware" - "kefu-sys/server/internal/ws" + "kefu-cloud/server/internal/middleware" + "kefu-cloud/server/internal/ws" ) type WsHandler struct{} diff --git a/server/internal/middleware/auth.go b/server/internal/middleware/auth.go index 98d6e31..9005d16 100644 --- a/server/internal/middleware/auth.go +++ b/server/internal/middleware/auth.go @@ -10,7 +10,7 @@ import ( "github.com/gin-gonic/gin" "github.com/golang-jwt/jwt/v5" - "kefu-sys/server/internal/model" + "kefu-cloud/server/internal/model" ) var jwtSecret []byte diff --git a/server/internal/storage/s3.go b/server/internal/storage/s3.go index 0374f34..bdfc2fc 100644 --- a/server/internal/storage/s3.go +++ b/server/internal/storage/s3.go @@ -9,7 +9,7 @@ import ( "github.com/minio/minio-go/v7" "github.com/minio/minio-go/v7/pkg/credentials" - "kefu-sys/server/internal/config" + "kefu-cloud/server/internal/config" ) // S3Storage 基于 minio-go 的 S3 兼容实现(MinIO / OSS / COS / AWS S3) diff --git a/server/internal/ws/ws.go b/server/internal/ws/ws.go index b669077..5137374 100644 --- a/server/internal/ws/ws.go +++ b/server/internal/ws/ws.go @@ -8,7 +8,7 @@ import ( "time" "github.com/gorilla/websocket" - "kefu-sys/server/internal/model" + "kefu-cloud/server/internal/model" ) var upgrader = websocket.Upgrader{