Golang + Iris(web框架) + Casbin(权限) + JWT + Vue(渐进式js)的web server框架,可前后端分离。

Iris的教程较少、零散、基础,且框架集合的完整实战案例极少(毕竟多数是用于工作,商业项目),几乎没有。后期可以直接使用。

软件架构

目前支持单web架构,如果部署成前后端分离,可用 nginx 中间件代理(已添加跨域访问设置)。

  • 采用了Casbin做 Restful 的rbac权限控制;
  • 采用jwt做用户认证、回话控制;
  • 采用Mysql+xorm做持久层;
  • Vue前端项目持续更新中…,目前在front-vue分支;
项目目录结构
go-iris
 +-- a 该目录放的是临时的测试方法
 +-- conf 所有的配置文件目录
 +-- doc 说明文档(含go-bindata和mysql文件)
 +-- exec_packahe 可执行的打包文件(目前只有win 64bit的打包)
 +-- inits 所有需初始化的目录
 | +-- parse 所有配置文件的初始化目录
 | +-- init.go 用于初始化系统root用户,并注入所有service
 +-- middleware 包含的中间件目录
 | +-- casbins 用于rbac权限的中间件的目录
 | +-- jwts jwt中间件目录
 +-- resources 打包的前端静态资源文件
 +-- utils 工具包目录
 +-- web
 | +-- db 数据库 dao 层目录
 | +-- models 模型文件目录
 | +-- routes 所有分发出来的路由的目录
 | +-- supports 提供辅助方法的目录
 +-- main.go 入口
 
目前的界面效果
项目地址