erp_server/cmd/start.go
2022-10-09 11:39:33 +08:00

73 lines
1.4 KiB
Go

package cmd
import (
"fmt"
"gitee.com/codinl/erp_server/config"
"gitee.com/codinl/erp_server/lib/auth"
"gitee.com/codinl/erp_server/lib/log"
"gitee.com/codinl/erp_server/model"
"gitee.com/codinl/erp_server/router"
"github.com/codinl/go-logger"
"github.com/gin-gonic/gin"
"github.com/urfave/cli/v2"
"os"
)
func Start() {
app := &cli.App{
Commands: []*cli.Command{
{
Name: "start",
Usage: "启动服务",
Action: startService,
Flags: []cli.Flag{
&cli.StringFlag{
Name: config.ServiceName,
Aliases: []string{"n"},
Usage: "服务名",
Value: "erp",
},
&cli.StringFlag{
Name: config.STAGE,
Aliases: []string{"s"},
Usage: "stage",
Value: config.DefaultStage,
EnvVars: []string{config.STAGE},
},
},
},
},
}
if err := app.Run(os.Args); err != nil {
logger.Fatal("err:", err)
}
}
func startService(c *cli.Context) error {
err := config.Init(c)
if err != nil {
fmt.Println("config init err:", err)
return err
}
log.Init(config.ConfigValue.LoggerPath, config.ConfigValue.LoggerFile, config.ConfigValue.LoggerLevel)
model.InitDB()
auth.Init(config.ConfigValue.JwtKey, int64(config.ConfigValue.JwtExpire))
runServer()
return nil
}
func runServer() {
server := gin.Default()
gin.SetMode(gin.DebugMode)
router.ConfigAppRouter(server)
err := server.Run(fmt.Sprintf(":%d", 8030))
if err != nil {
logger.Error(err)
return
}
}