go语言MVC模式web开发框架go-mvc
创始人
2024-11-14 17:07:20
0


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/gingin框架
github.com/joho/godotenv加载.env配置
go.uber.org/zapzap日志
github.com/spf13/cast变量类型转换
github.com/jinzhu/gormgorm数据库包
github.com/go-sql-driver/mysqlmysql驱动,配合gorm使用
github.com/gookit/validate验证器,支持验证场景和标签
github.com/dgrijalva/jwt-gojwt

上一篇:sftp做成一个池子

下一篇:nvm常用命令

相关内容

热门资讯

绝活儿辅助!广西老友玩老是输怎... 绝活儿辅助!广西老友玩老是输怎么办(辅助挂)都是真的有辅助app(讲解有挂)在进入广西老友玩老是输怎...
法门辅助!福建13水插件(辅助... 法门辅助!福建13水插件(辅助挂)一贯是有辅助技巧(有挂技术)1、许多玩家不知道福建13水插件辅助怎...
办法辅助!潮友会app下载官方... 办法辅助!潮友会app下载官方辅助器(辅助挂)真是真的是有辅助app(有挂教程)该软件可以轻松地帮助...
妙招辅助!邯郸胡乐挂辅助(辅助... 妙招辅助!邯郸胡乐挂辅助(辅助挂)好像存在有辅助插件(有挂方略)1、上手简单,内置详细流程视频教学,...
教程书辅助!乐酷辅助(辅助挂)... 教程书辅助!乐酷辅助(辅助挂)其实存在有辅助脚本(有挂细节)乐酷辅助能透视中分为三种模型:乐酷辅助模...
学习辅助!决战卡五星辅助(辅助... 学习辅助!决战卡五星辅助(辅助挂)本来真的是有辅助软件(有人有挂)学习辅助!决战卡五星辅助(辅助挂)...
绝活辅助!边锋嘉兴麻将辅助器(... 绝活辅助!边锋嘉兴麻将辅助器(辅助挂)真是真的有辅助神器(新版有挂)1、边锋嘉兴麻将辅助器公共底牌简...
举措辅助!枫叶辅助器(辅助挂)... 举措辅助!枫叶辅助器(辅助挂)本来存在有辅助技巧(竟然有挂)1、下载好枫叶辅助器正确养号方法之后点击...
讲义辅助!点我达辅助(辅助挂)... 讲义辅助!点我达辅助(辅助挂)一直存在有辅助技巧(有人有挂)1、点我达辅助辅助器安装包、点我达辅助辅...
模块辅助!威信茶馆有挂的吗(辅... 模块辅助!威信茶馆有挂的吗(辅助挂)一直真的是有辅助脚本(揭秘有挂)1、玩家可以在威信茶馆有挂的吗线...