IrisAdminApi - iris 框架后台接口项目

简单学习项目 ----写的挺烂,欢迎指点

演示地址

http://112.74.61.105:8087/

项目介绍

  • iris-go 框架后台接口项目
  • gorm 数据库模块
  • jwt 的单点登陆认证方式
  • cors 跨域认证
  • 数据支持 mysqlsqlite3 配置; sqlite3 需要下载 gcc, 并且在 /temp 目录下新建文件 gorm.db , tgorm.dbgcc 下载地址
  • 使用了 https://github.com/snowlyg/gotransformer 转换数据,返回数据格式化,excel 导入数据转换,xml 文件生产数据转换等
  • 增加了 excel 文件接口导入实例
  • 前端采用了 element-ui 框架,代码集成到 front 目录
  • 使用 casbin 做权限控制, backend/config/rbac_model.conf 为相关配置。系统会根据路由名称生成对应路由权限,并配置到管理员角色。
  • 增加系统日志记录 backend//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 从陌生到学会使用的过程


更新日志

UPDATE

问题总结

ERRORS

项目初始化

拉取项目

git clone https://github.com/snowlyg/IrisAdminApi.git

# github 克隆太慢可以用 gitee 地址:

git clone https://gitee.com/snowlyg/IrisAdminApi.git

增加 docker-compose 支持, docker-compose 无需执行后续命令, 如果没有 docker 请跳过此步骤。

  # 需要有 docker 环境,并且完成前段打包 npm install && npm run-script build
  docker-compose up -d  

 # 执行完成需要新建数据库 goirisadminapi

加载依赖管理包 (解决国内下载依赖太慢问题)
使用国内七牛云的 go module 镜像。

参考 https://github.com/goproxy/goproxy.cn

阿里: https://mirrors.aliyun.com/goproxy/

官方: https://goproxy.io/

中国:https://goproxy.cn

其他:https://gocenter.io

golang 1.13 可以直接执行:

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

项目配置文件 backend/config/conf.tml

cp backend/config/application.yml.example backend/config/application.yml

打包前端代码

 cd front               # 进入前端代码目录
 npm install            #加载依赖
 npm run-script build   #打包前端代码

 # 如果是开发前端代码,使用热加载
 npm run dev  

运行项目

gowatch

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

访问文档,从浏览器直接打开 http://localhost:8081/apiDoc


登录项目

感谢

JetBrains 对本项目的支持。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容