Browse Source

first commit

baishaojie 1 year ago
commit
7041ec7e00
1 changed files with 173 additions and 0 deletions
  1. 173 0
      README.md

+ 173 - 0
README.md

@@ -0,0 +1,173 @@
+# 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](docs/sql/go.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接口
+```
+
+## 其他
+```shell
+##更新注释
+swag init
+
+
+```