conf->app.ini
app_name = 你好 gin
# possible values: DEBUG, INFO, WARNING, ERROR, FATAL
log_level = DEBUG
admin_path = /admin
[mysql]
ip = 192.168.0.6
port = 3306
user = root
password = 123456
database = gin
[redis]
ip = 127.0.0.1
port = 6379
main.go
package main
import (
"gindemo19/models"
"gindemo19/routers"
"html/template"
"github.com/gin-contrib/sessions"
"github.com/gin-contrib/sessions/cookie"
"github.com/gin-gonic/gin"
)
func main() {
// 创建一个默认的路由引擎
r := gin.Default()
//自定义模板函数 注意要把这个函数放在加载模板前
r.SetFuncMap(template.FuncMap{
"UnixToTime": models.UnixToTime,
})
//加载模板 放在配置路由前面
r.LoadHTMLGlob("templates/**/*")
//配置静态web目录 第一个参数表示路由, 第二个参数表示映射的目录
r.Static("/static", "./static")
// 创建基于 cookie 的存储引擎,secret11111 参数是用于加密的密钥
store := cookie.NewStore([]byte("secret111"))
//配置session的中间件 store是前面创建的存储引擎,我们可以替换成其他存储引擎
r.Use(sessions.Sessions("mysession", store))
routers.AdminRoutersInit(r)
routers.ApiRoutersInit(r)
routers.DefaultRoutersInit(r)
//演示 "gopkg.in/ini.v1"模块的使用
// config, err := ini.Load("./conf/app.ini")
// if err != nil {
// fmt.Printf("Fail to read file: %v", err)
// os.Exit(1)
// }
// //获取ini里面的配置
// fmt.Println(config.Section("").Key("app_name").String())
// fmt.Println(config.Section("mysql").Key("password").String())
// fmt.Println(config.Section("redis").Key("ip").String())
// //给ini写入数据
// config.Section("").Key("app_name").SetValue("你好 gin")
// config.Section("").Key("admin_path").SetValue("/admin")
// config.SaveTo("./conf/app.ini")
r.Run()
}
浙公网安备 33010602011771号