59 lines
1.4 KiB
Go
59 lines
1.4 KiB
Go
package main
|
||
|
||
import (
|
||
"embed"
|
||
"flag"
|
||
"fmt"
|
||
"io/fs"
|
||
"net/http"
|
||
|
||
"bj_power_mes/common/httpx"
|
||
xlog "bj_power_mes/common/logx"
|
||
"bj_power_mes/internal/config"
|
||
"bj_power_mes/internal/handler"
|
||
"bj_power_mes/internal/svc"
|
||
|
||
"github.com/zeromicro/go-zero/core/conf"
|
||
"github.com/zeromicro/go-zero/core/logx"
|
||
"github.com/zeromicro/go-zero/rest"
|
||
)
|
||
|
||
var configFile = flag.String("f", "etc/bj_power_mes-api.yaml", "the config file")
|
||
|
||
//go:embed public
|
||
var public embed.FS
|
||
|
||
func main() {
|
||
flag.Parse()
|
||
|
||
var c config.Config
|
||
conf.MustLoad(*configFile, &c)
|
||
|
||
// 日志按天存储:logs/bj_power_mes-2026-01-02.log,保留 30 天
|
||
logger := xlog.NewLogger(c.Logger)
|
||
xlog.SetDefault(logger)
|
||
logx.SetWriter(logger)
|
||
logx.DisableStat()
|
||
defer func() { _ = logger.Close() }()
|
||
|
||
svcCtx := svc.NewServiceContext(c)
|
||
|
||
// 内嵌前端(public/)SPA
|
||
sub, _ := fs.Sub(public, "public")
|
||
spaHandler := httpx.NewNotFoundHandler(http.FS(sub))
|
||
|
||
server := rest.MustNewServer(
|
||
c.RestConf,
|
||
rest.WithCors("*"),
|
||
rest.WithNotFoundHandler(http.HandlerFunc(spaHandler.ServeHTTP)),
|
||
)
|
||
defer server.Stop()
|
||
|
||
// 鉴权/系统管理 + 生产业务 + 内部 API/看板
|
||
handler.RegisterRoutes(server, svcCtx)
|
||
handler.RegisterProductionRoutes(server, svcCtx)
|
||
|
||
fmt.Printf("Starting bj_power_mes server at %s:%d...\n", c.Host, c.Port)
|
||
logx.Infof("Starting bj_power_mes server at %s:%d...", c.Host, c.Port)
|
||
server.Start()
|
||
} |