Žiadny popis

baishaojie 84b91b6347 Merge branch 'master' of baishaojie/tmrgo into develop 10 hodín pred
__MACOSX e458ed70e8 first commit 10 hodín pred
comm e458ed70e8 first commit 10 hodín pred
conf e458ed70e8 first commit 10 hodín pred
demo e458ed70e8 first commit 10 hodín pred
dist e458ed70e8 first commit 10 hodín pred
docs e458ed70e8 first commit 10 hodín pred
html e458ed70e8 first commit 10 hodín pred
http e458ed70e8 first commit 10 hodín pred
mdns e458ed70e8 first commit 10 hodín pred
middleware e458ed70e8 first commit 10 hodín pred
migration e458ed70e8 first commit 10 hodín pred
models e458ed70e8 first commit 10 hodín pred
module 7d54e7db59 剩料 10 hodín pred
pkg e458ed70e8 first commit 10 hodín pred
scripts e458ed70e8 first commit 10 hodín pred
service 29fbbadc72 剩料 10 hodín pred
test e458ed70e8 first commit 10 hodín pred
uploads e458ed70e8 first commit 10 hodín pred
.drone-bak.yml e458ed70e8 first commit 10 hodín pred
.drone.yml 973e88fab4 剩料 10 hodín pred
.gitignore e458ed70e8 first commit 10 hodín pred
11111.sql e458ed70e8 first commit 10 hodín pred
Dockerfile e458ed70e8 first commit 10 hodín pred
LICENSE e458ed70e8 first commit 10 hodín pred
Makefile e458ed70e8 first commit 10 hodín pred
NULL e458ed70e8 first commit 10 hodín pred
README.md e458ed70e8 first commit 10 hodín pred
TMRWatchComm e458ed70e8 first commit 10 hodín pred
TMRWatchComm.zip e458ed70e8 first commit 10 hodín pred
__debug_bin3584257218.exe e458ed70e8 first commit 10 hodín pred
go.mod e458ed70e8 first commit 10 hodín pred
go.sum e458ed70e8 first commit 10 hodín pred
linux64.bat e458ed70e8 first commit 10 hodín pred
main.go e458ed70e8 first commit 10 hodín pred
tmr-watch.exe a2550f69ba 剩料 10 hodín pred
update.sql e458ed70e8 first commit 10 hodín pred
win32.bat e458ed70e8 first commit 10 hodín pred
win64.bat e458ed70e8 first commit 10 hodín pred
yapi-mock.config.json e458ed70e8 first commit 10 hodín pred
新建文本文档.txt e458ed70e8 first commit 10 hodín pred

README.md

KPTYUN

一个go api 后端例子,包含JWT,RBAC(Casbin),增删改查, 一键生成 Restful API接口(不依赖orm)。

主要说明

  • v1.1.2

  • user
    • username password
  • role
    • name
  • menu
    • name path method

目录结构

  • conf:用于存储配置文件
  • docs: 文档(SQL和API注释)
  • logs: 日志
  • middleware:应用中间件
  • models:应用数据库模型
  • pkg:第三方包
  • routers: 路由逻辑处理
  • service: 逻辑处理
  • test: 单元测试

权限验证说明

利用的casbin库, 将 user role menu 进行自动关联

项目启动时,会自动加载权限. 如有更改,会删除对应的权限,重新加载.

用户关联角色  
角色关联菜单  

权限关系为:
角色(role.name,menu.path,menu.method)  
用户(user.username,role.name)

例如:
test      /api/v1/users       GET
zhuhongbin     test

当zhuhongbin  GET  /api/v1/users 地址的时候,会去检查权限,因为他属于test组,同时组有对应权限,所以本次请求会通过。

用户 admin 有所有的权限,不进行权限匹配

登录接口 /auth  不进行验证

请求

请求和接收 都是 传递 json 格式 数据

例如:
访问 /auth    获取token
{
	"username": "admin",
	"password": "123456"
}

访问  /api/v1/users   
请求头设置  Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

How to run

Required

  • Mysql

Ready

Create a go database and import SQL

创建一个库,然后导入sql,创建表!

Conf

You should modify conf/app.ini

[database]
Type = mysql
User = root
Password =
Host = 127.0.0.1:3306
Name = go
TablePrefix = go_

Installation


yum install go -y 


cd $GOPATH/src/github.com/kptyun/go-admin
go build main.go
go run  main.go 

## 热编译,开发时使用

go get github.com/silenceper/gowatch

gowatch   

Run

Project information and existing API

[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:	export GIN_MODE=release
 - using code:	gin.SetMode(gin.ReleaseMode)

Listening port is 8000

默认 账户 密码 都为  123456

  • 不用orm依赖,直接输入表名字就可以 增删改查

    
    get   http://127.0.0.1:8000/api/restful/go_user
    get   http://127.0.0.1:8000/api/restful/go_user/1
    post   http://127.0.0.1:8000/api/restful/go_user
    数据格式  json  支持批量
    [{
    	"username":"hequan",
    	"password":"hequan1",
    	"created_on": "0",
    	"modified_on":"0",
    	"deleted_on":"0"
    }]
    put  http://127.0.0.1:8000/api/restful/go_user/2
    数据格式  json
    {
    	"password":"654321"
    }
    delete http://127.0.0.1:8000/api/restful/go_user/2
    

API 注释

http://127.0.0.1:8000/swagger/index.html

Features

- RESTful API
- Gorm
- logging
- Jwt-go
- Swagger
- Gin
- Graceful restart or stop (fvbock/endless)
- App configurable
- 一键生成 Restful API接口

其他

##更新注释
swag init

TODO 列表

  • 撒料时间统计分析接口,因数据量太多,目前limit 100条数据