简单学习项目 ----写的挺烂,欢迎指点
http://irisadminapi.snowlyg.com
账号/密码 : username/123456
iris-go
框架后台接口项目gorm
数据库模块jwt
的单点登陆认证方式cors
跨域认证- 数据支持
mysql
,sqlite3
配置;sqlite3
需要下载gcc
。 gcc 下载地址 - 使用了 https://github.com/snowlyg/gotransformer 转换数据,返回数据格式化,excel 导入数据转换,xml 文件生产数据转换等
- 使用
casbin
做权限控制,server/config/rbac_model.conf
为相关配置。系统会根据路由名称生成对应路由权限,并配置到管理员角色。
最近更新:增加 bindata 配置项 默认为 false , 为 true 的时候开启 bindata 单文件模式; 前端将会通过 bindata.go 文件集成到项目中。 增加 build.sh 部署 docker 编译部署文件 。
# 需要安装 docker
# application.yml 配置 bindata 为 true
# application.yml 配置 host 为 0.0.0.0
./build.sh
- 运行项目
-
从地址 https://github.com/snowlyg/IrisAdminApi/releases/tag/v0.3 ,选择下载编译好的系统文件,
-
运行项目
# 安装
./main install
# 卸载
./main uninstall
# 启动
./main start
# 停止
./main stop
# 查看版本
./main version
# 数据填充
./main seeder
# 查看权限信息
./main perms
- 拉取项目
git clone https://github.com/snowlyg/IrisAdminApi.git
# github 克隆太慢可以用 gitee 地址:
git clone https://gitee.com/snowlyg/IrisAdminApi.git
- 安装项目依赖
加载依赖管理包 (解决国内下载依赖太慢问题) 使用国内七牛云的 go module 镜像。
参考 https://github.com/goproxy/goproxy.cn。
阿里: https://mirrors.aliyun.com/goproxy/
golang 1.13 可以直接执行:
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
修改配置文件
application.yml
,配置文件需要放置在运行程序的同级目录
- 前端代码运行
# 安装前端依赖
npm i
# 开发方式启动(开发时使用,会在修改代码后实时更新)
npm run dev
# 打包前端代码(部署时使用)
npm run build:prod
#或者
npm run build:stage
如果配置文件 bindata 设置为 true,为二进制模式需要将前端文件打包成二进制文件
- 生成二进制前端文件
# 安装 go-bindata 工具
go get -u github.com/go-bindata/go-bindata/v3/go-bindata
# 生成二进制文件 bindata.go
go generate
- 运行项目,
推荐使用 air 或者 gowatch 等热编译工具,直接使用
go run main.go bindata.go
方法运行,可能会出现配置文件无法加载的问题 如果想使用go run main.go bindata.go
命令运行, 设置环境变量TRAVIS_BUILD_DIR=~/go/src/github.com/snowlyg/IrisAdminApi
# 安装工具 air
go get -u github.com/cosmtrek/air
# 在 server 目录执行,可以通过 .air.conf 配置 air 工具
air
http test
# 设置环境变量 TRAVIS_BUILD_DIR=~/go/src/github.com/snowlyg/IrisAdminApi
# 否则无法加载配置文件
# 所有测试
go test -v ./... -tags test
#单个方法
go test -run TestUserCreate -v -tags test
# 安装工具 gotest 增加测试输出数据颜色
go get github.com/rakyll/gotest@latest
# 测试
gotest
自动生成文档 (访问过的接口就会自动成功)
访问文档,从浏览器直接打开
http://localhost:8085/apiDoc
JetBrains 对本项目的支持。