本系列文章主要对 one-api 主要架构进行解析,本文重点对主函数 main.go 的功能进行解析,后面的文档将分类解析。
一、主函数 main.go
主函数部分大致可以分为四个部分,分别是:
1. 初始化日志
2. 初始化数据库
3. 其他初始化操作
4. 初始化 HTTP 服务器,设置路由
主函数代码如下所示。
package main
import (
"embed"
"fmt"
"os"
"strconv"
"github.com/gin-contrib/sessions"
"github.com/gin-contrib/sessions/cookie"
"github.com/gin-gonic/gin"
"github.com/songquanpeng/one-api/common"
"github.com/songquanpeng/one-api/common/client"
"github.com/songquanpeng/one-api/common/config"
"github.com/songquanpeng/one-api/common/logger"
"github.com/songquanpeng/one-api/controller"
"github.co