41 lines
610 B
Go
41 lines
610 B
Go
package router
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
"wireguard-ui/config"
|
|
)
|
|
|
|
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())
|
|
|
|
if config.Config.File.Type == "local" {
|
|
r.Static("/assets", config.Config.File.Path)
|
|
}
|
|
|
|
for _, opt := range options {
|
|
opt(r.Group("api"))
|
|
}
|
|
|
|
return r
|
|
}
|
|
|
|
func Rooters() {
|
|
includeRouters(
|
|
LoginApi,
|
|
UserApi,
|
|
ClientApi,
|
|
)
|
|
}
|