go-mvc web开发框架 go-mvc

jian10982024-08-02 15:18:15 • 2349 次点击    
这是一个分享于 2024-08-02 15:18:15 的项目,其中的信息可能已经有所发展或是发生改变。


Go-MVC

项目地址:https://github.com/jian1098/go-mvc

项目说明

go语言gin框架搭建的MVC模式(参考PHP语言Laravel和ThinkPHP框架结构)web开发框架项目,集成了数据库gorm、类型转换cast等常用包,以及一些代码示例;控制器层和路由层做了仿继承处理,方便添加统一的属性和方法,模型、模板、控制器、路由、常量、验证器、服务、全局日志、全局DB等都做了分离处理,分配到各个模块

运行环境

本项目测试环境为go 1.22.0,理论上go version >= 1.20即可

目录结构

|-- app                                        #开发主目录
|   |-- admin                                #后台模块
|   |   `-- controllers                         #后台控制器
|   |       |-- adminController.go
|   |       |-- baseController.go
|   |       `-- homeController.go
|   |-- api                                    #api模块
|   |   `-- controllers                         #api控制器
|   |       |-- baseController.go
|   |       `-- indexController.go
|   |   `-- requests                         #api请求参数结构体
|   |   `-- responses                         #api响应结构体
|   |-- utils                                #公共模块
|   |   |-- db.go
|   |   `-- zapLogger.go
|   |-- constants                             #常量目录
|   |   `-- Response.go
|   |-- middlewares                             #中间件目录
|   |   `-- Cors.go
|   |-- services                             #服务层目录
|   |   `-- UserServices.go
|   `-- models                                 #模型结构体目录
|       `-- User.go
|-- .env                                    #环境配置
|-- go.mod
|-- go.sum
|-- main.go                                    #main.go
|-- routers                                    #路由模块
|   |-- adminRouter.go
|   |-- apiRouter.go
|   `-- baseRouter.go
|-- static                                    #静态文件
|   `-- js
|       `-- jquery.min.js
|-- templates                                #模板文件
|    `-- admin
|       |-- home
|       |   `-- index.html
|       `-- index
|           `-- index.html
|-- runtimes                                
|     `-- log                                #日志文件目录
|-- uploads                                       #上传文件目录

如何使用

下载源码

git clone https://github.com/jian1098/go-mvc.git

创建配置文件,并修改为你的配置

cd go-mvc
cp .env.example .env
vim .env

开启go mod

go env -w GO111MODULE=on

设置代理

go env -w GOPROXY="https://goproxy.cn"

安装依赖

go mod vendor

运行http服务

go run main.go

添加路由

routers目录下对应模块增加路由

访问API接口

请求路由以/api/开头, 例如:127.0.0.1:8080/api/index/demo

访问后台页面

请求路由以/admin/开头, 例如:127.0.0.1:8080/admin/home/index

第三方包

包名 用途说明
github.com/gin-gonic/gin gin框架
github.com/joho/godotenv 加载.env配置
go.uber.org/zap zap日志
github.com/spf13/cast 变量类型转换
github.com/jinzhu/gorm gorm数据库包
github.com/go-sql-driver/mysql mysql驱动,配合gorm使用
github.com/gookit/validate 验证器,支持验证场景和标签
github.com/dgrijalva/jwt-go jwt

go语言gin框架搭建的MVC模式web项目,集成了数据库gorm、类型转换cast等常用包,以及一些代码示例Read More

Latest commit to the main branch on 8-2-2024
Download as zip
授权协议:
开发语言:
go 查看源码»
2349 次点击  
加入收藏 微博
1 回复  |  直到
LIGUANGYAO
LIGUANGYAO · #1 · 4月之前

学习了,能下载系统源码吗,有go开发的小程序案例吗,或者能免费下载源码能也行

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传