|
@@ -1,6 +1,7 @@
|
|
package httpserver
|
|
package httpserver
|
|
|
|
|
|
import (
|
|
import (
|
|
|
|
+ "auth-server/service"
|
|
"context"
|
|
"context"
|
|
"fmt"
|
|
"fmt"
|
|
"log/slog"
|
|
"log/slog"
|
|
@@ -14,7 +15,6 @@ import (
|
|
import (
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/spf13/cobra"
|
|
"github.com/spf13/cobra"
|
|
- "github.com/spf13/viper"
|
|
|
|
)
|
|
)
|
|
|
|
|
|
import (
|
|
import (
|
|
@@ -27,7 +27,7 @@ import (
|
|
|
|
|
|
var (
|
|
var (
|
|
configFolder string
|
|
configFolder string
|
|
- port int
|
|
|
|
|
|
+ addr string
|
|
mode string
|
|
mode string
|
|
StartCmd = &cobra.Command{
|
|
StartCmd = &cobra.Command{
|
|
Use: "run",
|
|
Use: "run",
|
|
@@ -45,10 +45,8 @@ var (
|
|
|
|
|
|
func init() {
|
|
func init() {
|
|
StartCmd.Flags().StringVarP(&configFolder, "config", "c", "config/", "Start server with provided configuration folder")
|
|
StartCmd.Flags().StringVarP(&configFolder, "config", "c", "config/", "Start server with provided configuration folder")
|
|
- StartCmd.Flags().IntVarP(&port, "port", "p", 8000, "Tcp port server listening on")
|
|
|
|
|
|
+ StartCmd.Flags().StringVarP(&addr, "addr", "a", "0.0.0.0:6001", "Tcp server listening on")
|
|
StartCmd.Flags().StringVarP(&mode, "mode", "m", "debug", "server mode ; eg:debug,test,release")
|
|
StartCmd.Flags().StringVarP(&mode, "mode", "m", "debug", "server mode ; eg:debug,test,release")
|
|
- viper.BindPFlag("port", StartCmd.Flags().Lookup("port"))
|
|
|
|
- viper.BindPFlag("mode", StartCmd.Flags().Lookup("mode"))
|
|
|
|
}
|
|
}
|
|
|
|
|
|
func setup() {
|
|
func setup() {
|
|
@@ -60,23 +58,25 @@ func setup() {
|
|
}
|
|
}
|
|
configToml := configFolder + "/config.toml"
|
|
configToml := configFolder + "/config.toml"
|
|
//1. 读取配置
|
|
//1. 读取配置
|
|
- common.SetupConfig(configToml)
|
|
|
|
|
|
+ common.SetupConfig(configToml, addr, mode)
|
|
//2. 设置日志
|
|
//2. 设置日志
|
|
logger.SetupLogger(true)
|
|
logger.SetupLogger(true)
|
|
//3. 初始化gorm
|
|
//3. 初始化gorm
|
|
models.SetupGorm(true)
|
|
models.SetupGorm(true)
|
|
//4. 初始化i18n
|
|
//4. 初始化i18n
|
|
common.SetupTrans()
|
|
common.SetupTrans()
|
|
|
|
+ //5. 初始化service
|
|
|
|
+ service.ResourceService.Setup()
|
|
|
|
|
|
slog.Info(`starting api server`, "pid", os.Getpid())
|
|
slog.Info(`starting api server`, "pid", os.Getpid())
|
|
}
|
|
}
|
|
|
|
|
|
func run() error {
|
|
func run() error {
|
|
- gin.SetMode(common.ApplicationConfig.Mode)
|
|
|
|
|
|
+ gin.SetMode(common.BasicConfig.Mode)
|
|
r := router.InitRouter()
|
|
r := router.InitRouter()
|
|
|
|
|
|
srv := &http.Server{
|
|
srv := &http.Server{
|
|
- Addr: common.ApplicationConfig.Addr(),
|
|
|
|
|
|
+ Addr: common.ServerConfig.Auth,
|
|
Handler: r,
|
|
Handler: r,
|
|
}
|
|
}
|
|
|
|
|
|
@@ -93,7 +93,7 @@ func run() error {
|
|
slog.Info("version: " + common.Version)
|
|
slog.Info("version: " + common.Version)
|
|
slog.Info("build: " + common.Build)
|
|
slog.Info("build: " + common.Build)
|
|
slog.Info(fmt.Sprintf("Server run at: %s", common.Now()))
|
|
slog.Info(fmt.Sprintf("Server run at: %s", common.Now()))
|
|
- slog.Info(fmt.Sprintf("- Network: http://%s:%d/ \n", common.ApplicationConfig.Host, common.ApplicationConfig.Port))
|
|
|
|
|
|
+ slog.Info(fmt.Sprintf("- Network: http://%s/ \n", common.ServerConfig.Auth))
|
|
slog.Info("Enter Control + C Shutdown Server \n")
|
|
slog.Info("Enter Control + C Shutdown Server \n")
|
|
|
|
|
|
// 等待中断信号以优雅地关闭服务器(设置 5 秒的超时时间)
|
|
// 等待中断信号以优雅地关闭服务器(设置 5 秒的超时时间)
|