This commit is contained in:
ryan
2026-06-22 11:32:24 +08:00
parent 16b02fd3f1
commit 3d15c65afd
6 changed files with 9 additions and 45 deletions
+2
View File
@@ -26,6 +26,8 @@ sidebar: false
- 前端页面鉴权改为默认私域:除 `/login`、`/register`、`/callback` 外,未登录访问任意页面(含数据看板 `/`)均重定向至登录页。
- 重构优化:收敛 `flared` 和 `relay` 客户端模块中重复声明的 `APIResponse` 结构体,统一通过类型别名复用 `pkg/protocol.APIResponse`。
### 修复
- 修复 Agent 升级版本比对逻辑:使用统一的 `pkg/utils.CompareVersions` 对比版本,正确处理预览/预发布版本(如 `v3.0.0-beta` 升级到 `v3.0.0-beta.1`),避免升级按钮非预期禁用的问题。
-24
View File
@@ -1,24 +0,0 @@
// Copyright 2026 Arctel.net
// SPDX-License-Identifier: Apache-2.0
// Package custom provides custom business handlers
package custom
import (
"net/http"
"github.com/gin-gonic/gin"
"github.com/Rain-kl/Wavelet/internal/common/response"
)
// Hello is a sample handler for custom business logic
// @Summary Sample Hello API
// @Description A sample business API for customization
// @Tags custom
// @Produce json
// @Success 200 {object} response.Any{data=string} "成功"
// @Router /api/v1/custom/hello [get]
func Hello(c *gin.Context) {
c.JSON(http.StatusOK, response.OK("Hello from custom business module!"))
}
+2 -5
View File
@@ -9,11 +9,8 @@ import (
service "github.com/Rain-kl/Wavelet/pkg/protocol"
)
// APIResponse is the standard JSON envelope returned by the Wavelet API.
type APIResponse[T any] struct {
ErrorMsg string `json:"error_msg"`
Data T `json:"data"`
}
// APIResponse is an alias for service.APIResponse.
type APIResponse[T any] = service.APIResponse[T]
// Client is the HTTP client for the flared tunnel API.
type Client struct {
+2 -5
View File
@@ -9,11 +9,8 @@ import (
service "github.com/Rain-kl/Wavelet/pkg/protocol"
)
// APIResponse wraps a control-plane API response with an optional error message.
type APIResponse[T any] struct {
ErrorMsg string `json:"error_msg"`
Data T `json:"data"`
}
// APIResponse is an alias for service.APIResponse.
type APIResponse[T any] = service.APIResponse[T]
// Client sends authenticated requests to the relay control-plane API.
type Client struct {
+2 -10
View File
@@ -4,15 +4,7 @@
// Package v1 contains router registrations for API V1
package v1
import (
"github.com/Rain-kl/Wavelet/internal/apps/custom"
"github.com/gin-gonic/gin"
)
// RegisterCustomRoutes registers custom business routes to keep routing clean and stable.
func RegisterCustomRoutes(apiV1Router *gin.RouterGroup) {
customRouter := apiV1Router.Group("/custom")
{
customRouter.GET("/hello", custom.Hello)
}
func RegisterCustomRoutes() {
}
+1 -1
View File
@@ -22,5 +22,5 @@ func RegisterV1Routes(apiV1Router *gin.RouterGroup, apiGroup *gin.RouterGroup) {
ofrouter.RegisterRoutes(apiV1Router)
// 4. Custom business routes (example only)
RegisterCustomRoutes(apiV1Router)
RegisterCustomRoutes()
}