简单学习项目 ----写的挺烂,欢迎指点
https://irisadminapi.snowlyg.com
账号/密码 : username/123456
iris-go
框架后台接口项目gorm
数据库模块jwt
的单点登陆认证方式cors
跨域认证- 数据支持
mysql
,sqlite3
配置;sqlite3
需要下载gcc
, 并且在/temp
目录下新建文件gorm.db
,tgorm.db
。 gcc 下载地址 - 使用了 https://github.com/snowlyg/gotransformer 转换数据,返回数据格式化,excel 导入数据转换,xml 文件生产数据转换等
- 增加了
excel
文件接口导入实例 - 前端采用了
element-ui
框架,代码集成到front
目录 - 使用
casbin
做权限控制,backend/config/rbac_model.conf
为相关配置。系统会根据路由名称生成对应路由权限,并配置到管理员角色。 - 增加系统日志记录
/logs
文件夹下,自定义记录,控制器内ctx.Application().Logger().Infof("%s 登录系统",aul.Username)
注意:
-
默认数据库设置为
DriverType = "Sqlite"
,使用 mysql 需要修改为DriverType = "Mysql"
,并且创建对应数据库 ,在backend/config/conf.tml
文件中 -
permissions.xlsx
权限导入测试模板文件,仅供测试使用; 权限会自动生成,无需另外导入。 -
backend/config/config.go
文件中的路径Root = os.Getenv("GOPATH") + "/src/github.com/snowlyg/IrisAdminApi/backend/"
需要修改为你的项目路径,用于加载配置文件
Iris-go 项目登陆 API 构建细节实现过程 iris + casbin 从陌生到学会使用的过程
拉取项目
git clone https://github.com/snowlyg/IrisAdminApi.git
# github 克隆太慢可以用 gitee 地址:
git clone https://gitee.com/snowlyg/IrisAdminApi.git
# 前端打包
cd ./front
npm install
npm run-script build
# 复制配置文件,并修改配置
# 复制到 config/ 目录即可。 docker-compose 脚本会将配置文件同步到 backend/config 目录下。
cp config/application.yml.example config/application.yml
# 启动项目
docker-compose up -d
加载依赖管理包 (解决国内下载依赖太慢问题) 使用国内七牛云的 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
项目配置文件 backend/config/application.yml
cp config/application.yml.example backend/config/application.yml
打包前端代码
cd front # 进入前端代码目录
npm install #加载依赖
npm run-script build #打包前端代码
# 如果是开发前端代码,使用热加载
npm run dev
运行项目
go get github.com/silenceper/gowatch
# 安装 gowatch 后才可以使用
gowatch
# go 命令
go run main.go iris_base_rabc.go
http test
go test -v //所有测试
go test -run TestUserCreate -v //单个方法
// go get github.com/rakyll/gotest@latest 增加测试输出数据颜色
gotest
自动生成文档 (访问过接口就会自动成功) 因为原生的 jquery.min.js 里面的 cdn 是使用国外的,访问很慢。 有条件的可以开个 vpn ,如果没有可以根据下面的方法修改一下,访问就很快了
打开 /resource/apiDoc/index.html 修改里面的
https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js
国内的 cdn
https://cdn.bootcss.com/jquery/2.1.3/jquery.min.js
访问文档,从浏览器直接打开 https://localhost:8081/apiDoc
JetBrains 对本项目的支持。