服务初始化
约 777 字大约 3 分钟
2025-03-03
本指南将帮助您快速搭建联犀物联网平台的后端服务开发环境,包括工具安装、环境配置、服务创建等核心步骤。
📋 目录
🛠️ 环境准备
安装 goctl 工具
⚠️ 重要:请使用联犀 fork 的 go-zero 版本,而非官方版本
克隆项目
git clone https://gitee.com/unitedrhino/go-zero.git
安装 goctl
cd go-zero/tools/goctl go install
验证安装
goctl --version
环境依赖安装
一键安装 protobuf 相关依赖:
goctl env check --install --verbose --force
📖 参考文档:go-zero 环境配置
🚀 服务创建
RPC 服务
创建 gRPC 微服务:
goctl rpc new rpcsvr --style=goZero -m
参数说明:
rpcsvr
:服务名称--style=goZero
:使用 go-zero 代码风格-m
:生成模型文件
HTTP 服务
创建 RESTful API 服务:
goctl api new viewsvr --style=goZero
参数说明:
viewsvr
:服务名称--style=goZero
:使用 go-zero 代码风格
📖 参考文档:go-zero 服务创建指南
🗄️ 数据库操作
模型生成
使用在线工具生成模型
- 访问:https://sql2gorm.mccode.info/
- 输入 SQL 建表语句
- 生成 GORM 模型代码
- 将代码保存到
internal/repo/relationDB/model.go
创建数据访问层
# 复制示例文件 cp internal/repo/relationDB/example.go internal/repo/relationDB/your_table.go
修改配置
- 将
Example
替换为实际的表名 - 根据业务需求定制 CRUD 操作
- 将
数据库迁移
# 自动迁移数据库结构
go run main.go migrate
📚 文档生成
Swagger 文档
生成 API 接口文档:
goctl api swagger -filename swagger.json -api http/api.api -dir ./http
参数说明:
-filename
:输出文件名-api
:API 定义文件-dir
:输出目录
权限配置
生成功能权限配置:
goctl api access -api http/api.api -dir ./http
🔧 开发调试
Goland 配置
在 Goland 中调试服务时,需要正确配置工作目录:
- 点击 Run → Edit Configurations
- 选择对应的运行配置
- 将 Working directory 设置为服务 main 函数所在目录
- 保存配置
常见问题
问题:找不到配置文件 解决:确保工作目录设置正确,配置文件应位于 etc/
目录下
问题:依赖包找不到 解决:运行 go mod tidy
更新依赖
📖 参考案例
示例项目
- Gitee:service-example
- GitHub:service-example
最佳实践
- 代码结构:遵循 go-zero 推荐的目录结构
- 错误处理:统一使用平台提供的错误处理机制
- 日志记录:合理使用日志级别,便于问题排查
- 配置管理:使用 YAML 配置文件,支持环境变量覆盖
🔗 相关链接
💡 提示:建议先运行示例项目,熟悉整体架构后再开始自己的项目开发。