随着golang越来越火,很多大厂小厂正在转go,特别是市面上有大型平台在使用go,如字节跳动,滴滴,知乎等这些大流量项目,证明了golang性能,使得go也受到甲方的欢迎,很多外包开发者或者外包公司开始用Go。这样Go也需要一个比较友好web用于开发基础框架,方便快速搭建应用。把通用功能预制好,项目来直接开发项目业务。
快速预览 Demo, 在Github,Gitee上开源, 官方社区源码下载,开发文档。框架配有完整开发文档和技术支持保证项目能快速开发,提高了开发者开发效率。
GoFly是一个基于Go+Vue
实现的Web应用模板,支持前后端,拥有完整的认证、限流、JWT,Restful API,Auth权限管理等功能。
后端基于Golang开发,主要特性如下:
gin
实现JWT
认证Casbin
提供前端基于Vue
开发,使用ArcoDesign 组件库
vite
快速编译echarts
less
,减少CSS编写主要界面如下:
后端按照MC
架构实现,参考了社区一些最佳实践和php主流框架相似,具体如下:
GoGly 后端项目目录
├── app //应用目录
│ ├── admin //后台管理应用模块
│ ├── business //业务端应用模块
│ ├── common //通用应用模块
│ ├── model //数据操作
│ ├── wxapp //微信小程序模块
│ ├── wxoffi //微信公众号模块
├── bootstrap //工具方法
├── config //配置文件
├── global //全局变量
├── resource //静态资源
├── route //路由
├── runtime //运行日志文件
├── tmp //开发是使用fresh热编译 产生临时文件
├── utils //工具包
├── go.mod //依赖包管理工具
├── go.sum
├── gofly_single.sql //数据库文件
├── main.go //main函数
└── README.md //项目介绍
前端实现Vue3
实现,与一般Vue项目类似
GoGly 后端项目目录
├── config //配置
│ ├── plugin //工具
│ ├── utils //公共函数
│ ├── vite.config.base.ts //配置基础文件
│ ├── vite.config.dev.ts //开发配置文件
│ ├── vite.config.prod.ts //打包配置文件
├── public //静态资源目录
│ ├── config.js //动态配置文件-打包好可以修改
├── src // 源文件目录,编写的代码基本都在这个目录下
│ ├── api //请求api
│ ├── assets //公共静态资源
│ ├── components //公共组件
│ ├── config //pro 配置
│ ├── directive //自定义指令
│ ├── hooks //钩子函数
│ ├── layout //框架布局
│ ├── locale //多语言包
│ ├── router //路由
│ ├── store //pinia 共享状态存储库
│ ├── types //ts 声明文件
│ ├── utils //公共方法
│ └── views //多页面文件夹
├── types //ts 声明文件
├── .env //生产环境
├── .env.development //开发环境-环境变量
├── .env.production //生产环境-环境变量
├── .gitignore //git过滤文件
├── babel.config.js //工具包
├── commitlint.config.js //依赖包管理工具
├── components.d.ts //依赖包管理工具
├── index.html //入口的html文件
├── package.json //命令配置和包管理文件
├── README.md //项目介绍
└──tsconfig.json //ts 配置
限流使用了golang.org/x/time/rate
提供的令牌桶算法,以应对突发流量,可以对单个IP以及Server层面实现请求控制。
需要特别注意的是限流应当区别长连接与短连接,比如Weave
中实现了容器exec
接口,通过Websocket登录到容器,不应该影响其他正常请求。
前端而言只要有点基础就行,选用Vue3
,主要是文档比较全面适合新手。UI基于了Arco
,主要是UI页面体验感好,毕竟字节跳动团队前端水平可以相信的,目前Vue3
比较成熟,且arco的UI库丰富,没有的自己加点就够用。
1.数据库
mysql建议安装8及以上的版本。
2.后端
安装fresh 热更新-边开发边编译
go install github.com/pilu/fresh@latest
运行Go服务
fresh
3.前端
第一次用Arco 初始一下命令:
npm i -g arco-cli 或者 yarn i -g arco-cli
初始化项目
npm run install 或者 yarn install
#运行项目
npm run serve 或者 yarn serve
框架我们已经在多个项目使用,最典型是在我们3年前开发的医疗项目中使用,扛住了疫情是疫苗接种排队预约留观的并发。还有安全和稳定都经得住时间考验。今天就分享到这里,希望对大家有帮助。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。