package router import ( "electricity_bill_calc/controller" "electricity_bill_calc/response" "electricity_bill_calc/security" "log" "runtime/debug" "github.com/gin-gonic/gin" ) func Router() *gin.Engine { router := gin.Default() router.Use(Recover) router.Use(security.SessionRecovery) controller.InitializeUserController(router) controller.InitializeRegionController(router) controller.InitializeChargesController(router) controller.InitializeParkController(router) controller.InitializeMaintenanceFeeController(router) controller.InitializeMeter04kVController(router) controller.InitializeReportController(router) controller.InitializeEndUserController(router) controller.InitializeWithdrawController(router) controller.InitializeStatisticsController(router) return router } // 404 func HandleNotFound(c *gin.Context) { response.NewResult(c).NotFound("指定资源未找到。") } // 500 func Recover(c *gin.Context) { defer func() { if r := recover(); r != nil { //打印错误堆栈信息 log.Printf("panic: %v\n", r) debug.PrintStack() // response.NewResult(c).Error(500, "服务器内部错误") } }() //继续后续接口调用 c.Next() }