No Description

baishaojie 8fe98011da 轨迹代码 10 months ago
comm c2af6927ee project: 框架升级 1 year ago
conf 8fe98011da 轨迹代码 10 months ago
demo 1e42d30b28 first commit 1 year ago
dist 8fe98011da 轨迹代码 10 months ago
dist(1) 8fe98011da 轨迹代码 10 months ago
docs 1e42d30b28 first commit 1 year ago
html 1e42d30b28 first commit 1 year ago
http 8fe98011da 轨迹代码 10 months ago
mdns 1e42d30b28 first commit 1 year ago
middleware a5b7c8c9cf release: tmr集团1.0版本 1 year ago
migration a40f2093a8 圣牧更新 1 year ago
models 62c7e8084f debug: 配方修改数据同步 1 year ago
module 13fb519d36 feet_template: upgrade 1 year ago
pkg 6038dc1b52 代码合并 光明ud上传 1 year ago
scripts 5641426df2 cicd: 增加手动构建镜像流程 1 year ago
service 48b5d9db93 测试 1 year ago
test 1e42d30b28 first commit 1 year ago
uploads a40f2093a8 圣牧更新 1 year ago
.drone.yml 234cf44495 dockerfile: edit timezone for Shanghai 4 1 year ago
.gitignore 628b1e1245 tmr: dashboard 1 year ago
Dockerfile bb428490ab 圣牧模板文件上传 1 year ago
LICENSE 1e42d30b28 first commit 1 year ago
Makefile 5641426df2 cicd: 增加手动构建镜像流程 1 year ago
README.md b025f6679e group: 空版本 1 year ago
TMRWatchComm 8fe98011da 轨迹代码 10 months ago
TMRWatchComm.zip 8fe98011da 轨迹代码 10 months ago
dist(1).zip 8fe98011da 轨迹代码 10 months ago
go.mod 8fe98011da 轨迹代码 10 months ago
go.sum 8fe98011da 轨迹代码 10 months ago
linux64.bat 1e42d30b28 first commit 1 year ago
main.go 9f04883f95 project: cicd 6 1 year ago
uploads.zip 33a82455f5 轨迹数据推送 11 months ago
win32.bat ffe724c489 圣牧优化更新 1 year ago
win64.bat ffe724c489 圣牧优化更新 1 year ago

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条数据