# coypus 海狸鼠
![版本](https://img.shields.io/badge/release-0.1.0-blue.svg)
![语言](https://img.shields.io/badge/language-golang1.12-blue.svg)
![base](https://img.shields.io/badge/env-goframe1.7-red.svg)
> 基于 goframe 框架,完成 go web后端 基本组件开发
## 目录
```
- app 业务逻辑层 所有的业务逻辑存放目录。
- api 业务接口 接收/解析用户输入参数的入口/接口层。
- model 数据模型 数据管理层,仅用于操作管理数据,如数据库操作。
- service 逻辑封装 业务逻辑封装层,实现特定的业务需求,可供不同的包调用。
- boot 初始化包 用于项目初始化参数设置。
- config 配置管理 所有的配置文件存放目录。
- docfile 项目文档 DOC项目文档,如: 设计文档、脚本文件等等。
- library 公共库包 公共的功能封装包,往往不包含业务需求实现。
- log 日志
- public 静态目录 仅有该目录下的文件才能对外提供静态服务访问。(本项目没用到)
- router 路由注册 用于路由统一的注册管理。
- template 模板文件 MVC模板文件存放的目录。(本项目没用到)
- test 单元测试
- go.mod 依赖管理 使用Go Module包管理的依赖描述文件。
- main.go 入口文件 程序入口文件。
```
## 实现功能
* 前端项目 https://github.com/hequan2017/coypus-vue (未完成,只完成基本登录)
* 登录
* jwt验证
* 权限验证
* 用户user 增删改查
* 权限组role 增删改查
* 菜单menu 增删改查
## 权限验证说明
> 利用的casbin库, 将 user role menu 进行自动关联
```
项目启动时,会自动加载权限. 如有更改,会删除对应的权限,重新加载.
用户关联角色
角色关联菜单
权限关系为:
角色(role.name,menu.path,menu.method)
用户(user.username,role.name)
例如:
test /api/v1/users GET
hequan test
当hequan GET /api/v1/users 地址的时候,会去检查权限,因为他属于test组,同时组有对应权限,所以本次请求会通过。
用户 admin 有所有的权限,不进行权限匹配
登录接口 /token 不进行验证
```
## 请求
> 请求和接收 都是 传递 json 格式 数据
```
例如:
访问 /token 获取token
{
"username": "admin",
"password": "123456"
}
访问 http://127.0.0.1:8000/api/v1/users?page=1
请求头设置 Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
```
## 运行
* 部署mysql,创建库 coypus
* 导入docfile/sql/coypus.sql
* 修改配置文件 config/config.toml
```bash
go run main.go
2019/05/08 18:10:38 [info] replacing callback `gorm:update_time_stamp` from E:/coypus/app/model/model.go:40
2019/05/08 18:10:38 [info] replacing callback `gorm:update_time_stamp` from E:/coypus/app/model/model.go:41
2019/05/08 18:10:38 [info] replacing callback `gorm:delete` from E:/coypus/app/model/model.go:42
2019-05-08 18:10:38.345 [DEBU] [ghttp] SetServerRoot path: E:\coypus\public
2019-05-08 18:10:38.395 [INFO] 更新角色权限关系 [[hequan test]]
2019-05-08 18:10:38.395 [INFO] 角色权限关系 [[hequan test]]
2019-05-08 18:10:38.397 16856: http server started listening on [:8000]
默认账户密码 admin 123456
```
## 所用组件
* goframe
* gorm
* casbin
* jwt-go
* mysql
* sha1
## 注释
```
200:请求成功
201:创建、修改成功
204:删除成功
400:参数错误
401:未登录
403:禁止访问
404:未找到
500:系统错误
```
## 作者
* 何全
coypus 海狸鼠 基于goframe 的 go web 后端
需积分: 5 49 浏览量
2024-05-23
17:09:54
上传
评论
收藏 31KB ZIP 举报
![avatar](https://profile-avatar.csdnimg.cn/d7864c98224046ec9a7f43fa6207c84e_qq_51320133.jpg!1)
生瓜蛋子
- 粉丝: 3830
- 资源: 6140
最新资源
- 小程序版基于深度学习识别午休有无在睡觉-不含数据集图片-含逐行注释和说明文档.zip
- 小程序版python语言pytorch框架的图像分类是否是蚂蚁识别-不含数据集图片-含逐行注释和说明文档.zip
- 小程序版基于深度学习对马铃薯病变识别-不含数据集图片-含逐行注释和说明文档.zip
- 小程序版python语言pytorch框架的图像分类是否发生火灾识别-不含数据集图片-含逐行注释和说明文档.zip
- 小程序版通过CNN训练识别有机物质和无机物质-不含数据集图片-含逐行注释和说明文档.zip
- 通过Google API赋能大模型,打造智能邮件助理
- 小程序版基于人工智能的卷积网络训练识别是否是蜜蜂-不含数据集图片-含逐行注释和说明文档.zip
- Multisim14.0多谐振荡器清零法仿真
- 小程序版python语言pytorch框架的图像分类不同瓶子识别-不含数据集图片-含逐行注释和说明文档.zip
- 小程序版python语言pytorch框架训练识别开车有无打电话-不含数据集图片-含逐行注释和说明文档.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)