36 lines
596 B
Go
36 lines
596 B
Go
package route
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
"net/http"
|
|
"wireguard-dashboard/web"
|
|
)
|
|
|
|
type Option func(engine *gin.RouterGroup)
|
|
|
|
var options []Option
|
|
|
|
func IncludeRouters(opts ...Option) {
|
|
options = append(options, opts...)
|
|
}
|
|
|
|
func InitRouter() *gin.Engine {
|
|
r := gin.New()
|
|
// 开启IP 追踪
|
|
r.ForwardedByClientIP = true
|
|
// 将请求打印至控制台
|
|
r.Use(gin.Logger())
|
|
|
|
//r.GET("/", func(c *gin.Context) {
|
|
// c.Redirect(http.StatusMovedPermanently, "/web/")
|
|
//})
|
|
|
|
r.StaticFS("/web", http.FS(web.Static))
|
|
|
|
for _, opt := range options {
|
|
opt(r.Group("api"))
|
|
}
|
|
|
|
return r
|
|
}
|