79 lines
2.8 KiB
Go
79 lines
2.8 KiB
Go
package main
|
||
|
||
import (
|
||
"asset_assistant/db" // 数据库相关操作包
|
||
"asset_assistant/logger" // 日志工具包
|
||
"asset_assistant/logic" // 业务逻辑处理包
|
||
|
||
"time"
|
||
"github.com/gin-contrib/cors"
|
||
"github.com/gin-gonic/gin" // Gin框架,用于构建HTTP服务
|
||
_ "github.com/lib/pq" // PostgreSQL数据库驱动(下划线表示仅初始化不直接使用)
|
||
"go.uber.org/zap" // Zap日志库,用于结构化日志输出
|
||
)
|
||
|
||
// main函数是程序的入口点
|
||
func main() {
|
||
// 初始化日志配置
|
||
logger.Init()
|
||
// 记录服务初始化日志
|
||
zap.L().Info("🚀 用户服务初始化")
|
||
|
||
// 记录数据库初始化开始日志
|
||
zap.L().Info("⌛️ 数据库初始化开始")
|
||
// 初始化数据库连接
|
||
db.Init()
|
||
// 程序退出时关闭数据库连接(defer确保在函数退出前执行)
|
||
defer db.DB.Close()
|
||
// 记录数据库初始化成功日志
|
||
zap.L().Info("✅ 数据库初始化成功")
|
||
|
||
// 设置Gin框架为发布模式(关闭调试信息)
|
||
gin.SetMode(gin.ReleaseMode)
|
||
// 创建Gin默认路由器
|
||
r := gin.Default()
|
||
|
||
// 配置跨域中间件
|
||
r.Use(cors.New(cors.Config{
|
||
// 允许所有来源(生产环境建议指定具体域名)
|
||
AllowOrigins: []string{"*"},
|
||
// 允许的请求方法
|
||
AllowMethods: []string{"GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"},
|
||
// 允许的请求头
|
||
AllowHeaders: []string{"Origin", "Content-Type", "Content-Length", "Accept-Encoding", "X-CSRF-Token", "Authorization", "X-LoginRequest-ID"},
|
||
// 允许前端读取的响应头
|
||
ExposeHeaders: []string{"Content-Length"},
|
||
// 是否允许携带cookie
|
||
AllowCredentials: true,
|
||
// 预检请求的缓存时间
|
||
MaxAge: 12 * time.Hour,
|
||
}))
|
||
zap.L().Info("✅ 配置跨域中间件完成")
|
||
|
||
// 注册品种接口
|
||
variety := r.Group("/user")
|
||
{
|
||
variety.POST("/create", logic4variety.CreateVarietyHandler)
|
||
}
|
||
zap.L().Info("✅ 用户接口注册完成")
|
||
|
||
// // 注册创建国家的接口,POST请求,由logic.CreateHandler处理
|
||
// r.POST("/asset_assistant/create", logic.CreateHandler)
|
||
// zap.L().Info("✅ 创建接口注册完成: POST /asset_assistant/create")
|
||
|
||
// // 注册读取国家的接口,POST请求,由logic.ReadHandler
|
||
// r.POST("/asset_assistant/read", logic.ReadHandler)
|
||
// zap.L().Info("✅ 读取接口注册完成: POST /asset_assistant/read")
|
||
|
||
// // 注册更新国家的接口,POST请求,由logic.UpdateHandler
|
||
// r.POST("/asset_assistant/update", logic.UpdateHandler)
|
||
// zap.L().Info("✅ 更新接口注册完成: POST /asset_assistant/update")
|
||
|
||
// // 注册删除国家的接口,POST请求,由logic.DeleteHandler处理
|
||
// r.POST("/asset_assistant/delete", logic.DeleteHandler)
|
||
// zap.L().Info("✅ 删除接口注册完成: POST /asset_assistant/delete")
|
||
|
||
// 记录服务启动日志,监听80端口
|
||
zap.L().Info("✅ 服务启动在80端口")
|
||
r.Run(":80")
|
||
} |