|
|
@@ -0,0 +1,107 @@
|
|
|
+package main
|
|
|
+
|
|
|
+import (
|
|
|
+ "easydo-echo_win7/config"
|
|
|
+ "easydo-echo_win7/handlers"
|
|
|
+ "easydo-echo_win7/services"
|
|
|
+
|
|
|
+ "log"
|
|
|
+
|
|
|
+ "github.com/labstack/echo-contrib/session"
|
|
|
+ "github.com/labstack/echo/v4"
|
|
|
+ "github.com/labstack/echo/v4/middleware"
|
|
|
+)
|
|
|
+
|
|
|
+func main() {
|
|
|
+ conf, err := config.Load("./config/config-dev.yaml")
|
|
|
+ if err != nil {
|
|
|
+ println("配置文件加载失败")
|
|
|
+ }
|
|
|
+ // 初始化服务
|
|
|
+ go services.InitCaptcha()
|
|
|
+ go services.InitMyRedis(
|
|
|
+ conf.Redis.Addr,
|
|
|
+ conf.Redis.Password,
|
|
|
+ conf.Redis.DB,
|
|
|
+ )
|
|
|
+ go services.InitMysqlPool(
|
|
|
+ conf.Database.User,
|
|
|
+ conf.Database.Password,
|
|
|
+ conf.Database.Host,
|
|
|
+ conf.Database.Port,
|
|
|
+ conf.Database.Name,
|
|
|
+ conf.Database.Log,
|
|
|
+ )
|
|
|
+ go services.InitMinioServie(
|
|
|
+ conf.Minio.Addr,
|
|
|
+ conf.Minio.User,
|
|
|
+ conf.Minio.Password,
|
|
|
+ conf.Minio.UseSSL,
|
|
|
+ )
|
|
|
+
|
|
|
+ // 创建Echo实例
|
|
|
+ e := echo.New()
|
|
|
+
|
|
|
+ // 配置中间件
|
|
|
+ if conf.Server.WebLog {
|
|
|
+ // e.Use(middleware.LoggerWithConfig())
|
|
|
+ e.Use(middleware.BodyDump(func(c echo.Context, reqBody, resBody []byte) {
|
|
|
+ log.Printf("URI: \033[34m%s\033[0m, Agent: %s, remote_ip: %s\n Request Body: \033[31m%s\033[0m\n Response Body: \033[32m%s\033[0m",
|
|
|
+ c.Request().URL.Path, c.Request().UserAgent(), c.Request().RemoteAddr, string(reqBody), string(resBody))
|
|
|
+ }))
|
|
|
+ }
|
|
|
+
|
|
|
+ // e.Use(middleware.Recover())
|
|
|
+ e.Use(middleware.CORSWithConfig(middleware.CORSConfig{
|
|
|
+ AllowOrigins: []string{"*"},
|
|
|
+ AllowMethods: []string{echo.GET, echo.POST, echo.PUT, echo.DELETE, echo.OPTIONS},
|
|
|
+ AllowHeaders: []string{echo.HeaderContentType, echo.HeaderAuthorization},
|
|
|
+ }))
|
|
|
+
|
|
|
+ // 配置Session中间件
|
|
|
+ e.Use(session.Middleware(services.SessionStore()))
|
|
|
+
|
|
|
+ // 定义路由
|
|
|
+ setupRoutes(e)
|
|
|
+
|
|
|
+ // 启动服务器
|
|
|
+ port := conf.Server.Port
|
|
|
+ log.Printf("服务器启动在 http://%s", port)
|
|
|
+
|
|
|
+ if err := e.Start(port); err != nil {
|
|
|
+ e.Logger.Fatal(err)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func setupRoutes(e *echo.Echo) {
|
|
|
+ handlers.Add_auth_to_routes(e)
|
|
|
+ handlers.Add_menu_to_routes(e)
|
|
|
+ handlers.Add_role_to_routes(e)
|
|
|
+ handlers.Add_dept_to_routes(e)
|
|
|
+ handlers.Add_user_to_routes(e)
|
|
|
+ handlers.Add_role_menu_to_routes(e)
|
|
|
+
|
|
|
+ handlers.Add_device_to_routes(e)
|
|
|
+ handlers.Add_tenant_to_routes(e)
|
|
|
+ handlers.Add_minio_to_routes(e)
|
|
|
+ handlers.Add_customer_to_routes(e)
|
|
|
+ handlers.Add_quality_inspect_program_to_routes(e)
|
|
|
+ handlers.Add_product_material_to_routes(e)
|
|
|
+ handlers.Add_product_bom_to_routes(e)
|
|
|
+
|
|
|
+ handlers.Add_process_stage_to_routes(e)
|
|
|
+ handlers.Add_process_route_to_routes(e)
|
|
|
+
|
|
|
+ handlers.Add_sale_plan_to_routes(e)
|
|
|
+ handlers.Add_sale_order_to_routes(e)
|
|
|
+ handlers.Add_sale_performance_to_routes(e)
|
|
|
+
|
|
|
+ handlers.Add_purchase_plan_to_routes(e)
|
|
|
+ handlers.Add_purchase_order_to_routes(e)
|
|
|
+
|
|
|
+ handlers.Add_warehouse_to_routes(e)
|
|
|
+ handlers.Add_warehouse_material_to_routes(e)
|
|
|
+
|
|
|
+ handlers.Add_product_plan_to_routes(e)
|
|
|
+ handlers.Add_product_pre_plan_to_routes(e)
|
|
|
+}
|