# wit-admin-go
**Repository Path**: taiping520/wit-admin-go
## Basic Information
- **Project Name**: wit-admin-go
- **Description**: go iris wit-admin-go后台框架
- **Primary Language**: Go
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 1
- **Created**: 2022-12-13
- **Last Updated**: 2025-08-22
## Categories & Tags
**Categories**: Uncategorized
**Tags**: Iris, Go语言
## README
English | 简体中文
## 特性
- ⚡️ [Golang](https://go.dev/), [Iris](https://www.iris-go.com/), [GORM](https://gorm.io/) - 快,且更快!
- ⚡ [zap 日志](https://pkg.go.dev/go.uber.org/zap#section-readme) - 高性能
- [validator v10](https://github.com/go-playground/validator) - 数据验证
- [wit-gen](https://gitee.com/taiping520/wit-gen) - 代码生成
- [Casbin](https://casbin.org/zh/docs/overview) - 访问控制库
## 现在可以试试!
## 前端框架
- [wit-admin-react](https://gitee.com/taiping520/wit-admin-react) - React v18 + Ant Design v5 + Vite + React-Router v6等
- [wit-admin](https://gitee.com/taiping520/wit-admin) - Vue v3 + Element Plus + Vite + Pinia等
## 如何贡献
你可以[提一个 issue](https://gitee.com/taiping520/wit-admin-go/issues/new) 或者提交一个 Pull Request。
**Pull Request:**
1. Fork 代码
2. 创建自己的分支: `git checkout -b feat/xxxx`
3. 提交你的修改: `git commit -am 'feat(function): add xxxxx'`
4. 推送您的分支: `git push origin feat/xxxx`
5. 提交 `pull request`
## Git 贡献提交规范
- `feat` 新功能
- `fix` 修补 bug
- `docs` 文档
- `style` 格式、样式(不影响代码运行的变动)
- `refactor` 重构(即不是新增功能,也不是修改 BUG 的代码)
- `perf` 优化相关,比如提升性能、体验
- `test` 添加测试
- `build` 编译相关的修改,对项目构建或者依赖的改动
- `ci` 持续集成修改
- `chore` 构建过程或辅助工具的变动
- `revert` 回滚到上一个版本
- `workflow` 工作流改进
- `mod` 不确定分类的修改
- `wip` 开发中
- `types` 类型
-
### Gitee 模板
[使用这个模板创建仓库](https://gitee.com/taiping520/wit-admin-go.git).
### 克隆到本地
```bash
git clone https://gitee.com/taiping520/wit-admin-go.git wit-admin-go
cd wit-admin-go
go mod tidy
```
然后,你就可以享受编写代码的乐趣了 :)
## 使用
### 开发
只需要执行以下命令就可以在 http://localhost:9999/wit/index.html 中看到
```bash
go run main.go
```
1、在[business](business)/[model](business%2Fmodel)目录下创建test.go
```go
package model
import "wit-admin-go/system/app/model"
// Test 测试
type Test struct {
model.Model
Name string `json:"name" gorm:"not null;unique;comment:测试名"`
Sole string `json:"sole" gorm:"comment:测试标识"`
}
```
2、在[business](business)/[model](business%2Fmodel)/[initBusinessDB.go](business%2FbusinessModel%2FinitBusinessDB.go)
文件utils.InitDB(...,&Test{})末尾添加
```go
&Test{}
```
3、在[business](business)/[dto](business%2Fdto)目录下创建test.go
```go
package businessDto
import (
"wit-admin-go/system/app/dto"
"wit-admin-go/system/app/model"
)
// Test 测试
type Test struct {
model.Model
Name string `json:"name"`
Sole string `json:"sole"`
}
// TestPage 获取分页角色
type TestPage struct {
dto.Page
Name string `json:"name"` // 角色名
}
```
4、打开终端运行项目根目录下的gen工具
```shell
un@un:/media/un/数据/go/wit-admin-go$ ./gen c test Test 测试
模块创建中...
{test Test 测试}
解析模板中......
=========>生成controller成功!
=========>生成service成功!
=========>生成router成功!
```
5、在[business](business)/[router](business%2Frouter)/[router.go](business%2FbusinessRouter%2Frouter.go)文件末尾添加
#### 注意 ./sysgen 工具是对system/app下进行生成代码
```go
Test(app)
```
6、在终端中运行
```shell
swag init
```
7、重新启动项目,打开浏览器进入swaager就能看到新添加的接口了。
```http request
http://localhost:9999/wit/index.html
```
### 构建
构建该应用只需要执行以下命令
```bash
go-bindata -o=bindata/bindata.go -pkg=bindata conf/
go build
```
### 目录结构
|—— [business](business) 业务代码编写位置
|———— [controller](business%2Fcontroller) 接口编写和返回数据处理
|———— [dto](business%2Fdto) 接口操作实体
|———— [model](business%2Fmodel) 数据库实体
|———— [router](business%2Frouter) 路由配置
|———— [service](business%2Fservice)
数据层操作
|—— [conf](conf) 系统配置
|———— [config.yaml](conf%2Fconfig.yaml) 系统参数配置
|—— [docs](docs) swagger文档
|—— [log](log) 日志
|—— [system](system) 系统相关
|———— [app](system%2Fapp) 系统接口:用户、权限、菜单、角色、
接口等
|———— [boot](system%2Fboot) 系统启动相关
|———— [jwt](system%2Fjwt) jwt
|———— [middleware](system%2Fmiddleware) 中间件
|———— [router](system%2Frouter)
系统级路由,只添加系统级接口时添加
|———— [utils](system%2Futils) 工具
|———— [zaplogger](system%2Fzaplogger) 日志功能
|—— [gen](gen) 对[business](business)
业务接口代码进行生成
|—— [sysgen](sysgen) 对[system](system)/[app](system%2Fapp)
系统级接口代码进行生成
|—— [main.go](main.go) 系统运行主程序