# cms-go **Repository Path**: HemeraRepo/cms-go ## Basic Information - **Project Name**: cms-go - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-04 - **Last Updated**: 2025-12-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ``` mkdir cms-go cd cms-go git init touch README.md git add README.md git commit -m "first commit" git remote add origin https://gitee.com/HemeraRepo/cms-go.git git push -u origin "master" go get -u gorm.io/gorm go get -u gorm.io/driver/sqlite go get -tool github.com/99designs/gqlgen go tool gqlgen init /saas-cms-backend ├── cmd/ │ └── server/ │ └── main.go // 应用程序入口,初始化配置、DB连接,启动 GraphQL HTTP 服务 | ├── internal/ // 核心业务代码,外部不应直接导入 │ ├── model/ // 数据库实体(GORM Model) │ │ ├── user.go // GORM 结构体定义,包含 TenantID 字段 │ │ └── content.go │ | │ ├── repository/ // 数据访问层(Repository Pattern) │ │ ├── repository.go // 定义 Repository 接口 (e.g., ContentRepo, UserRepo) │ │ ├── user.go // UserRepo 的 GORM 实现 │ │ └── content.go // ContentRepo 的 GORM 实现 │ | │ ├── service/ // (Service Layer) │ │ ├── service.go // 聚合所有 Service 接口 │ │ ├── user.go // 实现 User Service,包含业务规则,调用 Repository │ │ └── content.go // 实现 Content Service,处理发布/权限等逻辑 │ | │ ├── config/ // 配置管理 │ │ └── config.go // 加载环境变量、配置结构体 │ | │ └── util/ // 内部共享工具函数(例如:错误处理、上下文操作) │ └── context.go // 处理上下文中的 TenantID 或 User | ├── pkg/ // 外部可安全导入的库,如自定义 JWT 或通用工具 | ├── graph/ // GraphQL API 层 │ ├── schema/ // GraphQL Schema 定义文件 (.graphqls) │ │ └── schema.graphqls │ ├── resolvers/ // GraphQL 解析器(Resolver) │ │ ├── resolver.go // 根解析器,注入 Service │ │ ├── content.resolvers.go // 调用 service.Content.Create/Update/Query │ │ └── user.resolvers.go │ └── model/ // GraphQL 输入/输出类型,可能与 GORM model 不同 │ └── graphql_types.go | ├── migrations/ // 数据库迁移脚本(如使用 Goose 或 Golang Migrate) │ ├── 001_create_tenants_table.sql │ └── 002_create_content_table.sql | ├── go.mod // Go 模块文件 └── README.md ### 1. CMD 命令提示符 ```cmd set DB_HOST=127.0.0.1 set DB_PORT=5432 set DB_USER=bdkj set DB_PASSWORD=Bdkj@1688 set DB_NAME=cms ``` ### 2. PowerShell ```powershell $env:DB_HOST="127.0.0.1" $env:DB_PORT="5432" $env:DB_USER="bdkj" $env:DB_PASSWORD="Bdkj@1688" $env:DB_NAME="cms" ``` gqlgen generate