1 Star 0 Fork 161

denispan / go iris

forked from 二十四桥明月夜 / go iris 
加入 Gitee
与超过 600 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未指定开源许可证,未经作者的许可,此代码仅用于学习,不能用于其他用途。
克隆/下载
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md

go iris web

go iris RESTful实战

目前的界面效果

gif 新增用户 新增部门 部门table tree

背景介绍

感谢iview的作者提供的admin框架,后续一定会支持,哈哈。 Golang + Iris(web框架) + Casbin(权限) + JWT + Vue(渐进式js)的web server框架,可前后端分离。
Iris的教程较少、零散、基础,且框架集合的完整实战案例极少(毕竟多数是用于工作,商业项目),几乎没有。后期可以直接使用。
源于开源,馈与社区。
称着还有精力在这方面。 QQ交流群:955576223

软件架构

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

  • 采用了Casbin(租户+角色)做Restful的rbac权限控制;
  • 采用jwt做用户认证、回话控制;
  • 采用Mysql+xorm做持久层;
  • admin前端项目持续更新中...,目前在iview-admin分支;

项目目录结构

go-iris
  +-- conf 所有的配置文件
  +-- doc 说明文档(含go-bindata和mysql脚本文件)
  +-- main
  |------- inits 所有需初始化的目录
  |            +-- bindata 打包后的配置数据
  |            +-- parse 解析配置的golang结构
  |            +-- sys 系统初始化目录
  |            +-- init.go 初始化总入口
  |------- middleware 中间件
  |                 +-- casbin 权限中间件
  |                 +-- jwts JWT中间件
  |                 +-- middleware.go 中间件入口
  |------- utils 工具目录
  |------- web Web分层目录结构
  |          +-- db 数据库工具目录
  |          +-- models 数据模型
  |          +-- routes 路由
  |          +-- supports 一些支持结构
  |          +-- main.go 服务器启动入口文件
  |          +-- main.exe 打包的可执行文件
  +-- resources
  |          +-- static 其他全部静态文件
  |          +-- index.html 网页入口文件
  |          +-- favicon.ico
  +-- build64.bat 打包的脚本文件(windows 64bit)

使用教程

  1. 修改配置:/conf/db.conf数据库配置,然后执行/build.bat文件,会在/main/main.exe生成可执行文件;
  2. 直接执行;
  3. 如果是mac或其他linux机器,请参考部署说明中的编译,按指定编译就可。

部署(不使用nginx情况下),这里在windows 64bit环境下操作为例。依如下步骤操作:

  1. 编译server端项目。在项目下使用命令行执行下面的命令(根据你的需要选择目标OS):
[[编译成当前环境]]
go install
[[编译成Linux 64bit]]
set CGO_ENABLED=0
set GOARCH=amd64
set GOOS=linux
go install
[[编译成Mac]]
set CGO_ENABLED=0
set GOARCH=amd64
set GOOS=darwin
go install
编译后的可执行文件在你本地go环境的GOPATH/bin/下找到。
  1. 启动项目。执行项目中/main/main.exe不需要其他任何依赖文件。如下图: 启动 只要cmd没有退出,说明启动成功
  • 启动后的本地服务地址:localhost:8088
  • 超级用户登录:

    初始账号:root
    初始密码: 123456

  • 一般用户登录:

    账号:yhm1
    密码:123456


安装环境

  • golang >= 1.9
  • nginx 不必须

    如果不使用前端环境,直接使用项目下的/resource/*的文件,则可以不需要下面的环境:

    • vue >= 2.x
    • node.js >= v8.9.3(LTS)

待需优化项,如:

  • 前端静态文件数据打包
  • 相同密码没随机加密
  • 同一用户生成的token,生成两次前一次没失效
  • 数据库连接池等等....

QQ交流群:

输入图片说明

点评 ( 0 )

你可以在登录后,发表评论

简介

go iris casbin jwt vue实战。go+iris(web框架)+casbin(权限)+jwt+vue的web server框架,响应式web,可前后端分离 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Go
1
https://gitee.com/denispan/go-iris.git
git@gitee.com:denispan/go-iris.git
denispan
go-iris
go iris
master

搜索帮助

105716 1d94204e 1850385 105716 2d26be5c 1850385