1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package router
- import (
- "github.com/gin-gonic/gin"
- "go.uber.org/zap"
- "log"
- "os"
- "path/filepath"
- "sfbase/core"
- "sfbase/global"
- "strings"
- )
- type server interface {
- ListenAndServe() error
- }
- func HttpServerRun() {
- r := InitRouter()
- if global.BaseConfig.HttpConfig.ServerPageRouter {
- /**
- -----注册后端页面路由,该段逻辑可放置在前端处理-----
- */
- pageRouterRegister(r)
- initViews(r)
- /*------------------------------------*/
- }
- //通过公共方法获取配置文件属性 不用定义结构体的方法
- address := core.GetStringConf("base.http.http_port")
- readTimeOut := core.GetIntConf("base.http.read_timeout")
- writeTimeOut := core.GetIntConf("base.http.write_timeout")
- //
- s := initServer(address, readTimeOut, writeTimeOut, r)
- if err := s.ListenAndServe(); err != nil {
- global.Logger.Error("sf_base web 服务启动失败", zap.Any("error:", err))
- }
- }
- func initViews(router *gin.Engine) {
- router.Static(core.GetStringConf("base.http.static_prefix"), core.GetStringConf("base.http.static_root"))
- //router.StaticFile("/favicon", config.SysConfig.App.Favicon)
- templateDir := core.GetStringConf("base.http.template_dir")
- if templateDir != "" {
- templateFiles := loadAllTemplates(templateDir)
- if len(templateFiles) > 0 {
- router.LoadHTMLFiles(templateFiles...)
- }
- router.Delims("{{", "}}")
- }
- }
- func loadAllTemplates(dir string) []string {
- templateFiles := make([]string, 0)
- filepath.Walk(dir, func(path string, info os.FileInfo, err error) error {
- if strings.HasSuffix(info.Name(), ".html") {
- log.Println("加载模板文件", path)
- if _, err := os.Stat(path); err != nil {
- log.Println(path, err.Error())
- }
- templateFiles = append(templateFiles, path)
- }
- return nil
- })
- return templateFiles
- }
|