简单项目仅供学习,欢迎指点!
If you don't have a QQ account, you can into the iris-go-tenancy/community .
package main
import (
"github.com/snowlyg/iris-admin/server/web"
)
func main() {
webServer := web.Init()
webServer.Run()
}
- 第一次启动项目后,会自动生成
config.yaml
和rbac_model.conf
两个配置文件
go run main.go
- 框架默认内置了v1 版本的基础认证模块
- 可以使用 AddModule() 增加其他 admin模块
package main
import (
"github.com/snowlyg/iris-admin/server/web"
"github.com/kataras/iris/v12"
"github.com/snowlyg/iris-admin/middleware"
"github.com/snowlyg/iris-admin/server/module"
)
// Party admin模块
func Party() module.WebModule {
handler := func(admin iris.Party) {
// 中间件
admin.Use(middleware.InitCheck(), middleware.JwtHandler(), middleware.OperationRecord(), middleware.Casbin())
admin.Get("/", GetAllAdmins).Name = "admin列表"
}
return module.NewModule("/admins", handler)
}
func GetAllAdmins(ctx iris.Context) {
// 处理业务逻辑
// ...
ctx.JSON(g.Response{Code: g.NoErr.Code, Data: list, Msg: g.NoErr.Msg})
}
func main() {
webServer := web.Init()
webServer.AddModule(Party())
webServer.Run()
}
- 编译前端页面到 admim 目录
package main
import (
"github.com/kataras/iris/v12"
"github.com/snowlyg/iris-admin/server/web"
)
func main() {
webServer := web.Init()
webServer.AddStatic("/", iris.Dir("./dist"), iris.DirOptions{
IndexName: "index.html",
SPA: true,
})
webServer.Run()
}
- 前端页面参考/借用:
- gin-vue-admin
- vue-element-admin
JetBrains 对本项目的支持。