我的golang内容管理系统笔记

分类: 编程日志 发布时间: 2018-10-09 13:28:33

config/db.ini配置DB数据

config/redis.ini配置Redis数据

router/backgroun.go为后台的路由配置     ./backgroun.go为后台的编译入口

router/home.go为后台的路由配置     ./home.go为后台的编译入口

前无论是前台的路由、后台的路由,都必须实用router.Use(common.Web("appname"))中间件,此中间件主要记录所有的操作日志

app\helper.go文件为一些公共函数文件
Strmd5(string)						        //MD5加密
ClientIp(c)			        			//客户端IP
PulicIp()							//服务器IP
RemoveDuplicationInt64(list [] int64)			        //Int64类型的数组去重复
TemplateFunc()						        //这个函数为自定义函数,主要用户在模板中调用,根据情况,大家自行往里面增加,例如{{SizeFormat $value.Size}}
session的调用
import session "app/vendors/session/models"
session.SetSession(c,"adminid",admin.Id)			//设置session
session.GetSession(c,"adminid")					//读取session
session.HasSession(c,"adminid")					//判断session是否存在
session.DeleteSession(c,"adminid")				//删除session
log日志的记录和打印--此方式会将错误的日志和info的日志记录到文件里面
import loger "app/vendors/loger/models"                                   //记录信息
_, file, line, _ := runtime.Caller(0)				          //获取错误文件和错误行
loger.Info(file+":"+strconv.Itoa(line),"PostgresSql %v","连接成功")        //记录错误信息
_, file, line, _ := runtime.Caller(1)					  //获取错误文件和错误行
loger.Error(file+":"+strconv.Itoa(line),"PostgresSql 数据库连接测试:%s",er)
文件夹的操作
import directory "app/vendors/directory/models"
path:="uploads/"+filetype+"/"+time.Now().Format("2006/0102/")
directory.DirectoryMkdir(path)				//创建文件夹,传入路径自动判断文件夹是否存在,不存在自动创建
directory.DirectoryExists(path)				//传入路径,判断该文件夹是否存在
redis的调用
import newredis "app/vendors/redis/models"
newredis.Set(key,value)							//生成Key
newredis.Get(key)							//读取Key
newredis.Exists(key)							//判断Key是否存在
newredis.DelAll()							//删除该db下的所有Key
newredis.DelKey(key)							//删除某一个Key
newredis.DelKeyByPrefix(key_prefix)					//删除前缀为key_prefix的所有Key
将size大小转化Byte、KB、MB、GB、TB
import size "app/vendors/size/models"
size.SizeFormat(header.Size)					//传入一个int64类型的数字。默认为需要为Byte字节大小
验证码
import captcha "app/vendors/captcha/controllers"
router.GET("/captcha/:width/:height",captcha.GetCaptcha)    			//图片验证码
captcha.VerifyCaptcha(c,captcha)						//验证验证码返回True和False
上传文件
import upload "app/vendors/upload/controllers"
v1.POST("/upload/image",upload.PostUpLoadImg)			//上传图片
v1.POST("/upload/file",upload.PostUpLoadFile)			//上传文件
v1.POST("/upload/video",upload.PostUpLoadVideo)			//上传视频
备注:如果上传格式不够,请修改函数内进行修改
mac 下打包win
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build gofile.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build gofile.go