// // Copyright (C) 2025 veypi // 2025-03-04 16:08:06 // Distributed under terms of the MIT license. // package vbase import ( "embed" "github.com/veypi/vbase/api" "github.com/veypi/vbase/auth" "github.com/veypi/vbase/cfg" "github.com/veypi/vbase/models" "github.com/veypi/vhtml" vhtmlui "github.com/veypi/vhtml-ui" "github.com/veypi/vigo" ) const Version = "v0.6.4" var Router = vigo.NewRouter() var ( NewAuth = auth.Factory.New Config = cfg.Global ) 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() } //go:embed ui var uifs embed.FS func init() { Router.Extend("/api", api.Router) Router.Extend("v", vhtmlui.Router) Router.Extend("vhtml", vhtml.Router) vhtml.WrapUI(Router, uifs) }