From 819a2eb8ec6d886006e8b85a6ffd0df69aba5832 Mon Sep 17 00:00:00 2001 From: YGXB_net Date: Tue, 28 Oct 2025 12:20:16 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E9=87=8D=E6=9E=84=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E7=BB=93=E6=9E=84=E5=B9=B6=E4=BC=98=E5=8C=96=E8=B7=AF?= =?UTF-8?q?=E7=94=B1=E7=BB=84=E7=BB=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/api.go | 41 +++++++++++++++++++ .../controller}/dataController.go | 2 +- .../controller}/tokenController.go | 2 +- {db => internal/db}/local.go | 0 {db => internal/db}/redis.go | 0 {model => internal/model}/data.go | 0 main.go | 38 ++++------------- 7 files changed, 50 insertions(+), 33 deletions(-) create mode 100644 api/api.go rename {controller => internal/controller}/dataController.go (99%) rename {controller => internal/controller}/tokenController.go (99%) rename {db => internal/db}/local.go (100%) rename {db => internal/db}/redis.go (100%) rename {model => internal/model}/data.go (100%) diff --git a/api/api.go b/api/api.go new file mode 100644 index 0000000..fac298b --- /dev/null +++ b/api/api.go @@ -0,0 +1,41 @@ +package api + +import ( + "dypid/internal/controller" + "embed" + "io/fs" + "net/http" + + "github.com/gin-gonic/gin" +) + +func RegRoutes(r *gin.Engine) { + g := r.Group("/api") //初始化路由组 /api/xxxx + { + g.GET("/token", controller.ListTokenHandler) //获取token列表 + g.POST("/token", controller.CreateTokenHandler) //创建token + g.PUT("/token", controller.UpdateTokenHandler) //更新token + g.DELETE("/token", controller.DeleteTokenHandler) //删除token + g.GET("/token/info", controller.GetTokenInfoHandler) //获取token信息 + g.DELETE("/token/info", controller.DeleteTokenInfoHandler) //删除token数据库 + } + { + g.GET("/data", controller.ReadDataHandler) //获取数据 + g.POST("/data", controller.WriteDataHandler) //写入数据 + } +} + +func RegWebService(r *gin.Engine, webDir embed.FS) { + assets, _ := fs.Sub(webDir, "web/dist/assets") + r.StaticFS("/assets", http.FS(assets)) + + icon, _ := fs.ReadFile(webDir, "web/dist/favicon.ico") + r.GET("/favicon.ico", func(c *gin.Context) { + c.Data(200, "image/x-icon", icon) + }) + + indexHtml, _ := fs.ReadFile(webDir, "web/dist/index.html") + r.NoRoute(func(c *gin.Context) { + c.Data(200, "text/html; charset=utf-8", indexHtml) + }) +} diff --git a/controller/dataController.go b/internal/controller/dataController.go similarity index 99% rename from controller/dataController.go rename to internal/controller/dataController.go index 1558f46..d2634e8 100644 --- a/controller/dataController.go +++ b/internal/controller/dataController.go @@ -1,8 +1,8 @@ package controller import ( - "dypid/db" "dypid/global" + "dypid/internal/db" "fmt" "net/http" "strings" diff --git a/controller/tokenController.go b/internal/controller/tokenController.go similarity index 99% rename from controller/tokenController.go rename to internal/controller/tokenController.go index e446d88..1c1d980 100644 --- a/controller/tokenController.go +++ b/internal/controller/tokenController.go @@ -1,8 +1,8 @@ package controller import ( - "dypid/db" "dypid/global" + "dypid/internal/db" "net/http" "strconv" diff --git a/db/local.go b/internal/db/local.go similarity index 100% rename from db/local.go rename to internal/db/local.go diff --git a/db/redis.go b/internal/db/redis.go similarity index 100% rename from db/redis.go rename to internal/db/redis.go diff --git a/model/data.go b/internal/model/data.go similarity index 100% rename from model/data.go rename to internal/model/data.go diff --git a/main.go b/main.go index ec2a46d..483f578 100644 --- a/main.go +++ b/main.go @@ -1,13 +1,11 @@ package main import ( + "dypid/api" "dypid/config" - "dypid/controller" - "dypid/db" + "dypid/internal/db" "embed" "fmt" - "io/fs" - "net/http" "github.com/gin-contrib/cors" "github.com/gin-gonic/gin" @@ -23,35 +21,13 @@ func main() { //初始化一个http服务对象 gin.SetMode(config.APPConfig.RunMode) r := gin.Default() + //跨域设置 r.Use(cors.Default()) - - //Vue网站服务 - assets, _ := fs.Sub(webDir, "web/dist/assets") - r.StaticFS("/assets", http.FS(assets)) - icon, _ := fs.ReadFile(webDir, "web/dist/favicon.ico") - r.GET("/favicon.ico", func(c *gin.Context) { - c.Data(200, "image/x-icon", icon) - }) - indexHtml, _ := fs.ReadFile(webDir, "web/dist/index.html") - r.NoRoute(func(c *gin.Context) { - c.Data(200, "text/html; charset=utf-8", indexHtml) - }) - - //API接口 - g := r.Group("/api") //初始化路由组 /api/xxxx - { - g.GET("/token", controller.ListTokenHandler) //获取token列表 - g.POST("/token", controller.CreateTokenHandler) //创建token - g.PUT("/token", controller.UpdateTokenHandler) //更新token - g.DELETE("/token", controller.DeleteTokenHandler) //删除token - g.GET("/token/info", controller.GetTokenInfoHandler) //获取token信息 - g.DELETE("/token/info", controller.DeleteTokenInfoHandler) //删除token数据库 - } - { - g.GET("/data", controller.ReadDataHandler) //获取数据 - g.POST("/data", controller.WriteDataHandler) //写入数据 - } + //注册网页服务(Vue) + api.RegWebService(r, webDir) + //注册API接口 + api.RegRoutes(r) // 监听并在 0.0.0.0:8080 上启动服务 fmt.Printf("服务器正在运行:http://%s\n", config.APPConfig.Host)