上代码
腾讯这个例子还是很值得学习的,不轻有东西,单也不重到看着都蒙圈的样子。
https://github.com/Tencent/bk-cmdb/blob/master/src/web_server/service/service.go
Beego没gin配置静态页面方便
下面是gin的静态页面承载配置。
ws.Static("/static", s.Config.Site.HtmlRoot)
ws.LoadHTMLFiles(s.Config.Site.HtmlRoot + "/index.html")
简单吧。
func (s *Service) WebService() *gin.Engine {
ws := gin.Default()
ws.Use(sessions.Sessions(s.Config.Session.Name, s.Session))
ws.Use(middleware.ValidLogin(*s.Config, s.Discovery()))
middleware.Engine = s.Engine
ws.Static("/static", s.Config.Site.HtmlRoot)
ws.LoadHTMLFiles(s.Config.Site.HtmlRoot + "/index.html")
ws.POST("/hosts/import", s.ImportHost)
ws.POST("/hosts/export", s.ExportHost)
ws.POST("/importtemplate/:bk_obj_id", s.BuildDownLoadExcelTemplate)
ws.POST("/insts/owner/:bk_supplier_account/object/:bk_obj_id/import", s.ImportInst)
ws.POST("/insts/owner/:bk_supplier_account/object/:bk_obj_id/export", s.ExportInst)
ws.POST("/logout", s.LogOutUser)
ws.POST("/object/owner/:bk_supplier_account/object/:bk_obj_id/import", s.ImportObject)
ws.POST("/object/owner/:bk_supplier_account/object/:bk_obj_id/export", s.ExportObject)
ws.GET("/user/list", s.GetUserList)
ws.GET("/user/language/:language", s.UpdateUserLanguage)
ws.GET("/userinfo", s.UserInfo)
ws.PUT("/user/current/supplier/:id", s.UpdateSupplier)
ws.GET("/healthz", s.Healthz)
ws.GET("/", s.Index)
return ws
}