Không có mô tả

baishaojie bcd4ae84d4 切换分支 9 tháng trước cách đây
comm c2af6927ee project: 框架升级 1 năm trước cách đây
conf 1149fa645e 圣牧 手动上传云养牛更新 9 tháng trước cách đây
demo 1e42d30b28 first commit 2 năm trước cách đây
dist 087817e6b1 云养牛手动上传 9 tháng trước cách đây
docs 1e42d30b28 first commit 2 năm trước cách đây
html 1e42d30b28 first commit 2 năm trước cách đây
http bcd4ae84d4 切换分支 9 tháng trước cách đây
mdns 1e42d30b28 first commit 2 năm trước cách đây
middleware a5b7c8c9cf release: tmr集团1.0版本 1 năm trước cách đây
migration f85bc1458a sheep: 去除栏舍关键字牛 1 năm trước cách đây
models f85bc1458a sheep: 去除栏舍关键字牛 1 năm trước cách đây
module e31e36de8b 切换分支 10 tháng trước cách đây
pkg e31e36de8b 切换分支 10 tháng trước cách đây
scripts 5641426df2 cicd: 增加手动构建镜像流程 1 năm trước cách đây
service f85bc1458a sheep: 去除栏舍关键字牛 1 năm trước cách đây
test 1e42d30b28 first commit 2 năm trước cách đây
uploads b8f810e154 圣牧 手动上传云养牛更新 9 tháng trước cách đây
.drone-bak.yml 9b6f017c9a drone: update 1 năm trước cách đây
.drone.yml d12a8bd36b drone 10 tháng trước cách đây
.gitignore 628b1e1245 tmr: dashboard 1 năm trước cách đây
11111.sql f121e364bd 新生成时间长问题修复 10 tháng trước cách đây
Dockerfile 7fa5c1f923 圣牧更新 11 tháng trước cách đây
KPTAdmin64.exe 5bc1450e9a 切换羊场分支 10 tháng trước cách đây
LICENSE 1e42d30b28 first commit 2 năm trước cách đây
Makefile 5987e91d12 feature: init 1 năm trước cách đây
README.md b025f6679e group: 空版本 1 năm trước cách đây
go.mod 5f2b217f74 羊场同步代码提交 11 tháng trước cách đây
go.sum 5f2b217f74 羊场同步代码提交 11 tháng trước cách đây
linux64.bat 1e42d30b28 first commit 2 năm trước cách đây
main.go 9f04883f95 project: cicd 6 1 năm trước cách đây
update.sql 087817e6b1 云养牛手动上传 9 tháng trước cách đây
win32.bat ffe724c489 圣牧优化更新 1 năm trước cách đây
win64.bat ffe724c489 圣牧优化更新 1 năm trước cách đây
yapi-mock.config.json 74fd038f91 多语言 9 tháng trước cách đây

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