此项
目 是 todo小 程 序 的 后 台 ,todo是 一个任务发布提醒小程序,你可以加入 一 个组织,在 里 面 可 以给成 员发布 一些待完成的任务,主要 服 务于学校 和 一些公司之间,为了更 加 方便 的 管理 任 务需求 而制作 的 一款小程序应用。
goframe
1.9.10
go get -u github.com/gogf/gf
func init() {
s := g.Server()
s.BindHandler("/wxLogin", wxLogin)
}
type WxLoginRequest struct {
Code string `json:"code" gvalid:"type@required#code码不能 为空"`
}
// 校 验
if err := gvalid.CheckStruct(wxLoginRequest, nil); err != nil {
log.Error("code为空", "err", err.String())
r.Response.WriteJson(errorResponse(err.String()))
return
}
// 获取前 端 请求数 据
r.GetToStruct(wxLoginRequest)
s := g.Server()
port := config.ServerConfig.Port
s.SetPort(int(port))
host := config.ServerConfig.Host
s.Domain(host)
// 开启日 志
s.SetLogPath("log/todo.log")
s.SetAccessLogEnabled(true)
s.SetErrorLogEnabled(true)
s.Run()
viper
go get -u github.com/spf13/viper
// 设置配置 文 件名
configName := fmt.Sprintf("%s-%s", "config", ServerStartupFlags.Environment)
viper.SetConfigName(configName)
// 设置配置 文 件 路 径
viper.AddConfigPath("conf")
// 解析 配置
viper.ReadInConfig()
// 获取server配置 ,map类型
viper.GetStringMap("server")
zap
go get -u go.uber.org/zap
utils/log/log.go
cron
go get -u github.com/robfig/cron
c := cron.New()
for _, job := range jobs.GetJobs() {
log.Info("job启动", "job name", job.Name())
c.AddFunc(job.Cron(), func() {
defer func() {
if err := recover(); err != nil {
log.Error("job 运行出 错", "job name", job.Name(), "error", err)
}
}()
// 执行任 务
job.Run()
})
}
c.Start()
defer c.Stop()
cd scripts
./build.bat
docker build -t go-todo .
docker run -dit -p 7410:7410 --name todo-container go-todo /bin/bash
docker exec -it todo-container /bin/bash
# 停止 容器
docker stop todo-container
# 删除容器
docker rm todo-container
# 删除镜像
docker rmi go-todo
展 开查看
.
├─conf
├─config
├─constant
├─controller
├─cron
│ └─jobs
├─https
├─log
│ └─todo.log
│ └─access
├─middleware
├─models
│ └─db
├─scritps
├─test
│ ├─config
│ ├─model
│ └─utils
├─utils
│ └─logger
└─vendor