前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Go语言实战框架GoFly全栈开发社区的Go快速开发框架简介与腾讯云服务器部署说明

Go语言实战框架GoFly全栈开发社区的Go快速开发框架简介与腾讯云服务器部署说明

原创
作者头像
用户2848031
修改2023-08-16 18:57:39
5640
修改2023-08-16 18:57:39
举报
文章被收录于专栏:Go开发框架

一、前言

今天为大家推荐的Go框架,比较适合企业和个人用于实战项目,框架前后端质量比较注重实际应用。后端使用Gin优异性能,和前端Arco Design 优秀UI体验,两者结合可开发出,性能与交互都优秀的项目。社区团队们更加多年积累经验打磨出Go快速开发应用框架。同比其他框架开发速度更快,扩展性更强,资源复用性更高,框架约束开发规则更简单,特别是数据库操作更简单。

例如

1. 添加一条文章内容:

代码语言:javascript
复制
// 添加文章内容
func (api *Article) Save(c *gin.Context) {
	//获取post传过来的data
	body, _ := ioutil.ReadAll(c.Request.Body)
	var parameter map[string]interface{}
	_ = json.Unmarshal(body, &parameter)
	addId, err := model.DB().Table("article").Data(parameter).InsertGetId()
		if err != nil {
			results.Failed(c, "添加失败", err)
		} else {
			results.Success(c, "添加成功!", addId, nil)
		}
}

2. 获取文章列表

代码语言:javascript
复制
// 获取文章列表
func (api *Article) Get_list(c *gin.Context) {
	name := c.DefaultQuery("name", "")
	pageNo, _ := strconv.Atoi( c.DefaultQuery("page", "1"))
	pageSize, _ := strconv.Atoi(c.DefaultQuery("pageSize", "10"))
	MDB := model.DB().Table("article").Fields("id,name,image,des,price,weigh,status,visit,star,createtime")
	if name != "" {
		MDB.Where("name", "like", "%"+name+"%")
	}
	list, err := MDB.Limit(pageSize).Page(pageNo).Order("id desc").Get()
	if err != nil {
		results.Failed(c, err.Error(), nil)
	} else {
       var totalCount int64
		totalCount, _ = MDB.Reset().Count()
		results.Success(c, "获取文章列表", map[string]interface{}{
			"page":     pageNo,
			"pageSize": pageSize,
			"total":    totalCount,
			"items":    list}, nil)
	}
}

3. 删除文章

代码语言:javascript
复制
// 批量删除文章
func (api *Article) Del(c *gin.Context) {
	body, _ := ioutil.ReadAll(c.Request.Body)
	var parameter map[string]interface{}
	_ = json.Unmarshal(body, &parameter)
	ids := parameter["ids"]
	res, err := model.DB().Table("article").WhereIn("id", ids.([]interface{})).Delete()
	if err != nil {
		results.Failed(c, "删除失败", err)
	} else {
		results.Success(c, "删除成功!", res, nil)
	}
}

从以上大家可以看到了,这个框架使用起来很简单,框架把发展繁琐的语法规则封装简化了,让开发代码简洁易读,复用性强。

二、打包部署到腾讯云(建议linux)上

1.打开项目根目录,在根目录路径cmd打开命令窗口,输入如下命令:

代码语言:javascript
复制
SET GOOS=linux
SET GOARCH=amd64
go build

等待几秒生成完成,在根目录下就有一个gofly文件,注意linux版生产的文件不带后缀。

2.安装Go环境,建议使用宝塔面板(安装方法区参考宝塔面板文档

3.上传项目文件到服务器

上传文件有:config/settings.yml、runtime(空文件夹)、resource(资源文件),gofly(打包编译文件),如下图:

resource(资源文件)文件内文件有:staticfile(存放固定文件)、uploads(存放上传文件)、webadmin(SaaS后端管理前端打包后上传到这里)、webbusiness(SaaS上传业务端前端打包文件),如下图:

4.新建数据库并导入数据库文件

建号数据库后在config/settings.yml修改数据库配置。

5.在宝塔面板Go项目管理配置域名,最后启动项目,就OK了!

三、优势简介

  • 基于优秀成熟框架集成,保证系统文档可靠。集成的主要有Gin、Arco Design 、Mysql等主流框架技术。
  • 系统已集成开发常用基础功能,开箱即用,快速开始您业务开发,快人一步,比同行节省成本,
  • 框架提供其他开发者开发的插件,可快速安装或卸载,让开个资源共享,同意功能无需重复造车,一键安装即可使用。
  • 框架搭建了一键CRUD生成前后端代码,建数据库一键生成,节省您的复制粘贴时间,进一步为您节省时间。
  • 框架自带API接口文档管理,接口带有请求token等配置,添加接口只需配置路径和数据库或者备注,其部分信息如数据字段,系统自动根据数据库字段补齐,开发配套接口文档尽可能的为您节省一点时间。不需要其他接口文档工具复制粘贴,登录注册等时间。还有一个重点!接口文档可以一键生成接口CRUD的代码和通用的操作数据的CRUD接口,根据您的业务选择自己写接口代码、一键生成接口代码、不用写和生成代码调用通用接口。让写接口工作节省更多时间。
  • 前后端分离解耦业务,让前段人员与后端人协调开发,提高项目交付,并且可以开发出功能复杂度高的项目。
  • 前端用Vue3+TypeScript 的UI框架Arco Design,好用的UI框架前端可以设计出优秀且交互不错的界面,完善的大厂UI支持,前端开发效率也很高!
  • 框架的数据库操作也是极为简单,你可以去开发文档看看,用gofly框架开发数据库这块几乎是去文档复制粘贴就可以从前言介绍可以看到。

四、在线体验

1 GoFly全栈开发社区

2 Go快速后台系统开发框架完整代码包下载

3 Go快速后台系统开发文档

4 A端Demo在线预览

5 B端Demo在线预览

五、图片预览

后台登录
后台登录
统计页
统计页
权限菜单
权限菜单
角色分配
角色分配
数据字典
数据字典
附件管理
附件管理
邮箱配置
邮箱配置
公众号菜单管理
公众号菜单管理
附件选择器
附件选择器
开发接口管理
开发接口管理
接口配置和api接口一键生成代码
接口配置和api接口一键生成代码
前后端代码生成管理
前后端代码生成管理
一键生成前后端代码
一键生成前后端代码

下面是生成代码示例:

生成数据列表
生成数据列表
生成提交表单的富文本编辑器
生成提交表单的富文本编辑器
编辑的文本内容
编辑的文本内容

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言
    • 1. 添加一条文章内容:
      • 2. 获取文章列表
        • 3. 删除文章
        • 二、打包部署到腾讯云(建议linux)上
        • 三、优势简介
        • 四、在线体验
        • 五、图片预览
        相关产品与服务
        项目管理
        CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档