You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
OneAuth/init.go

55 lines
1.0 KiB
Go

1 year ago
//
// Copyright (C) 2025 veypi <i@veypi.com>
// 2025-03-04 16:08:06
// Distributed under terms of the MIT license.
//
3 months ago
package vbase
1 year ago
import (
2 months ago
"embed"
3 months ago
"github.com/veypi/vbase/api"
3 months ago
"github.com/veypi/vbase/auth"
3 months ago
"github.com/veypi/vbase/cfg"
"github.com/veypi/vbase/models"
2 months ago
"github.com/veypi/vhtml"
vhtmlui "github.com/veypi/vhtml-ui"
3 months ago
"github.com/veypi/vigo"
1 year ago
)
const Version = "v0.6.4"
var Router = vigo.NewRouter()
2 months ago
var (
NewAuth = auth.Factory.New
Config = cfg.Global
2 months ago
)
func init() {
Router.Extend("/api", api.Router)
Router.Extend("v", vhtmlui.Router)
Router.Extend("vhtml", vhtml.Router)
}
type Options = cfg.Options
func Init() error {
// 初始化 VBaseProvider 并设置到全局 Auth
cfg.Auth.SetProvider(NewAuth("vb"))
// 初始化角色
cfg.Auth.AddRole("admin", "管理员", "*:7")
cfg.Auth.AddRole("user", "普通用户")
return models.Migrate()
}
2 months ago
//go:embed ui
var uifs embed.FS
3 months ago
func init() {
Router.Extend("/api", api.Router)
2 months ago
Router.Extend("v", vhtmlui.Router)
Router.Extend("vhtml", vhtml.Router)
vhtml.WrapUI(Router, uifs)
}