1 Star 0 Fork 0

艺术名 / gin_blog

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

使用 gin 框架写一个 blog项目

  1. 使用 go get gopkg.in/yaml.v2 安装 yaml依赖
  2. 封装文件 config mysql 和 日志 和 系统配置
  3. 安装 go get github.com/sirupsen/logrus 日志系统
  4. 安装 go get -u github.com/gin-gonic/gin 框架
  5. 绑定命令行参数在 flag 文件下面
package flag

import sys_flag "flag"

type Option struct {
	DB bool
}

// Parse 解析命令行参数
func Parse() Option {
	db := sys_flag.Bool("db", false, "初始化数据库")
	// 解析命令行参数写入注册的flag里
	sys_flag.Parse()
	return Option{
		DB: *db,
	}
}

// IsWebStop 是否停止 web 项目
func IsWebStop(option Option) bool {
	if option.DB {
		return true
	}
	return false
}

// SwitchOption 根据命令执行不同的函数
func SwitchOption(option Option) {
	if option.DB {
		MakeMigrations()
	}
}
  1. 在flag文件夹下面增加 db.go 文件
package flag

import (
	"gin_study_blog/common"
	"gin_study_blog/models"
)

// MakeMigrations models开头的都是建的模型文件,统一引用到这个文件执行
func MakeMigrations() {
	var err error
	common.DB.SetupJoinTable(&models.UserModel{}, "CollectsModels", &models.UserCollectsModel{})
	common.DB.SetupJoinTable(&models.MenuModel{}, "Banners", &models.MenuBannerModel{})
	// 生成表的表结构
	err = common.DB.Set("gorm:table_options", "ENGINE=InnoDB").
		AutoMigrate(
			&models.BannerModel{},
			&models.TagModel{},
			&models.MessageModel{},
			&models.AdvertModel{},
			&models.UserModel{},
			&models.CommentModel{},
			&models.ArticleModel{},
			&models.MenuModel{},
			&models.MenuBannerModel{},
			&models.FeedBackModel{},
			&models.LoginDataModel{},
		)
	if err != nil {
		common.Log.Error("生成数据库表结构失败")
		return
	}
	common.Log.Info("生成数据库表结构成功")
}
  1. 在命令行执行 go run main.go -db 就可以迁移到数据库了
  2. 项目自动重启下载 air go install github.com/cosmtrek/air@latest 安装成功后再命令行输入 air 就可以了, 修改代码后鼠标点击命令行就可以自动更新了, 如果不需要更新一些文件就是用 air init会生成一个文件exclude_dir配置不需要更新的目录
  3. 使用 jwt 进行登录 go get -u github.com/golang-jwt/jwt/v5

空文件

简介

go+gin+grom博客 展开 收起
Go
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/wx_9c34c68eeb/gin_blog.git
git@gitee.com:wx_9c34c68eeb/gin_blog.git
wx_9c34c68eeb
gin_blog
gin_blog
master

搜索帮助