feat: 引入签名认证、加密工具包及大量goctl代码生成模板,并更新API、Admin和Node服务逻辑。

This commit is contained in:
2026-02-27 08:49:37 -08:00
parent 9dacd85a89
commit e1896f677c
166 changed files with 2913 additions and 489 deletions
@@ -9,23 +9,19 @@ import (
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/logic/auth"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/svc"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
"github.com/zero-ppanel/zero-ppanel/pkg/result"
)
func ResetPasswordHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.ResetPasswordReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
if err := result.Parse(r, &req); err != nil {
result.HttpResult(r, w, nil, err)
return
}
l := auth.NewResetPasswordLogic(r.Context(), svcCtx)
err := l.ResetPassword(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.Ok(w)
}
resp, err := l.ResetPassword(&req)
result.HttpResult(r, w, resp, err)
}
}
@@ -9,23 +9,19 @@ import (
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/logic/auth"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/svc"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
"github.com/zero-ppanel/zero-ppanel/pkg/result"
)
func UserLoginHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.UserLoginReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
if err := result.Parse(r, &req); err != nil {
result.HttpResult(r, w, nil, err)
return
}
l := auth.NewUserLoginLogic(r.Context(), svcCtx)
resp, err := l.UserLogin(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
result.HttpResult(r, w, resp, err)
}
}
@@ -9,23 +9,19 @@ import (
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/logic/auth"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/svc"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
"github.com/zero-ppanel/zero-ppanel/pkg/result"
)
func UserRegisterHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.UserRegisterReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
if err := result.Parse(r, &req); err != nil {
result.HttpResult(r, w, nil, err)
return
}
l := auth.NewUserRegisterLogic(r.Context(), svcCtx)
resp, err := l.UserRegister(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
result.HttpResult(r, w, resp, err)
}
}
@@ -8,17 +8,13 @@ import (
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/logic/common"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/svc"
"github.com/zeromicro/go-zero/rest/httpx"
"github.com/zero-ppanel/zero-ppanel/pkg/result"
)
func GetAnnouncementListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
l := common.NewGetAnnouncementListLogic(r.Context(), svcCtx)
resp, err := l.GetAnnouncementList()
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
result.HttpResult(r, w, resp, err)
}
}
@@ -8,17 +8,13 @@ import (
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/logic/common"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/svc"
"github.com/zeromicro/go-zero/rest/httpx"
"github.com/zero-ppanel/zero-ppanel/pkg/result"
)
func GetAvailablePaymentMethodsHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
l := common.NewGetAvailablePaymentMethodsLogic(r.Context(), svcCtx)
resp, err := l.GetAvailablePaymentMethods()
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
result.HttpResult(r, w, resp, err)
}
}
@@ -9,23 +9,19 @@ import (
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/logic/common"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/svc"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
"github.com/zero-ppanel/zero-ppanel/pkg/result"
)
func GetDocumentDetailHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.DocumentDetailReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
if err := result.Parse(r, &req); err != nil {
result.HttpResult(r, w, nil, err)
return
}
l := common.NewGetDocumentDetailLogic(r.Context(), svcCtx)
resp, err := l.GetDocumentDetail(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
result.HttpResult(r, w, resp, err)
}
}
@@ -8,17 +8,13 @@ import (
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/logic/common"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/svc"
"github.com/zeromicro/go-zero/rest/httpx"
"github.com/zero-ppanel/zero-ppanel/pkg/result"
)
func GetDocumentListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
l := common.NewGetDocumentListLogic(r.Context(), svcCtx)
resp, err := l.GetDocumentList()
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
result.HttpResult(r, w, resp, err)
}
}
@@ -8,17 +8,13 @@ import (
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/logic/common"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/svc"
"github.com/zeromicro/go-zero/rest/httpx"
"github.com/zero-ppanel/zero-ppanel/pkg/result"
)
func GetGlobalConfigHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
l := common.NewGetGlobalConfigLogic(r.Context(), svcCtx)
resp, err := l.GetGlobalConfig()
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
result.HttpResult(r, w, resp, err)
}
}
@@ -8,17 +8,13 @@ import (
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/logic/common"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/svc"
"github.com/zeromicro/go-zero/rest/httpx"
"github.com/zero-ppanel/zero-ppanel/pkg/result"
)
func GetSubscribeGroupListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
l := common.NewGetSubscribeGroupListLogic(r.Context(), svcCtx)
resp, err := l.GetSubscribeGroupList()
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
result.HttpResult(r, w, resp, err)
}
}
@@ -8,17 +8,13 @@ import (
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/logic/common"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/svc"
"github.com/zeromicro/go-zero/rest/httpx"
"github.com/zero-ppanel/zero-ppanel/pkg/result"
)
func GetSubscribeListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
l := common.NewGetSubscribeListLogic(r.Context(), svcCtx)
resp, err := l.GetSubscribeList()
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
result.HttpResult(r, w, resp, err)
}
}
@@ -8,17 +8,13 @@ import (
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/logic/common"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/svc"
"github.com/zeromicro/go-zero/rest/httpx"
"github.com/zero-ppanel/zero-ppanel/pkg/result"
)
func HealthHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
l := common.NewHealthLogic(r.Context(), svcCtx)
resp, err := l.Health()
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
result.HttpResult(r, w, resp, err)
}
}
@@ -9,23 +9,19 @@ import (
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/logic/common"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/svc"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
"github.com/zero-ppanel/zero-ppanel/pkg/result"
)
func SendEmailCodeHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.SendEmailCodeReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
if err := result.Parse(r, &req); err != nil {
result.HttpResult(r, w, nil, err)
return
}
l := common.NewSendEmailCodeLogic(r.Context(), svcCtx)
err := l.SendEmailCode(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.Ok(w)
}
result.HttpResult(r, w, nil, err)
}
}
@@ -9,23 +9,19 @@ import (
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/logic/order"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/svc"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
"github.com/zero-ppanel/zero-ppanel/pkg/result"
)
func CloseOrderHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.CloseOrderReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
if err := result.Parse(r, &req); err != nil {
result.HttpResult(r, w, nil, err)
return
}
l := order.NewCloseOrderLogic(r.Context(), svcCtx)
err := l.CloseOrder(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.Ok(w)
}
result.HttpResult(r, w, nil, err)
}
}
@@ -9,23 +9,19 @@ import (
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/logic/order"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/svc"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
"github.com/zero-ppanel/zero-ppanel/pkg/result"
)
func CreateOrderHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.CreateOrderReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
if err := result.Parse(r, &req); err != nil {
result.HttpResult(r, w, nil, err)
return
}
l := order.NewCreateOrderLogic(r.Context(), svcCtx)
resp, err := l.CreateOrder(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
result.HttpResult(r, w, resp, err)
}
}
@@ -9,23 +9,19 @@ import (
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/logic/order"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/svc"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
"github.com/zero-ppanel/zero-ppanel/pkg/result"
)
func GetOrderDetailHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.OrderDetailReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
if err := result.Parse(r, &req); err != nil {
result.HttpResult(r, w, nil, err)
return
}
l := order.NewGetOrderDetailLogic(r.Context(), svcCtx)
resp, err := l.GetOrderDetail(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
result.HttpResult(r, w, resp, err)
}
}
+1 -1
View File
@@ -31,7 +31,7 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
},
{
Method: http.MethodPost,
Path: "/reset_password",
Path: "/reset",
Handler: auth.ResetPasswordHandler(serverCtx),
},
},
@@ -9,23 +9,19 @@ import (
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/logic/ticket"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/svc"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
"github.com/zero-ppanel/zero-ppanel/pkg/result"
)
func CreateTicketFollowHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.CreateTicketFollowReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
if err := result.Parse(r, &req); err != nil {
result.HttpResult(r, w, nil, err)
return
}
l := ticket.NewCreateTicketFollowLogic(r.Context(), svcCtx)
err := l.CreateTicketFollow(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.Ok(w)
}
result.HttpResult(r, w, nil, err)
}
}
@@ -9,23 +9,19 @@ import (
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/logic/ticket"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/svc"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
"github.com/zero-ppanel/zero-ppanel/pkg/result"
)
func CreateTicketHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.CreateTicketReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
if err := result.Parse(r, &req); err != nil {
result.HttpResult(r, w, nil, err)
return
}
l := ticket.NewCreateTicketLogic(r.Context(), svcCtx)
resp, err := l.CreateTicket(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
result.HttpResult(r, w, resp, err)
}
}
@@ -9,23 +9,19 @@ import (
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/logic/ticket"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/svc"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
"github.com/zero-ppanel/zero-ppanel/pkg/result"
)
func GetTicketDetailHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.TicketDetailReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
if err := result.Parse(r, &req); err != nil {
result.HttpResult(r, w, nil, err)
return
}
l := ticket.NewGetTicketDetailLogic(r.Context(), svcCtx)
resp, err := l.GetTicketDetail(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
result.HttpResult(r, w, resp, err)
}
}
@@ -8,17 +8,13 @@ import (
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/logic/user"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/svc"
"github.com/zeromicro/go-zero/rest/httpx"
"github.com/zero-ppanel/zero-ppanel/pkg/result"
)
func GetUserInfoHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
l := user.NewGetUserInfoLogic(r.Context(), svcCtx)
resp, err := l.GetUserInfo()
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
result.HttpResult(r, w, resp, err)
}
}
@@ -8,17 +8,13 @@ import (
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/logic/user"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/svc"
"github.com/zeromicro/go-zero/rest/httpx"
"github.com/zero-ppanel/zero-ppanel/pkg/result"
)
func GetUserSubscribeHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
l := user.NewGetUserSubscribeLogic(r.Context(), svcCtx)
resp, err := l.GetUserSubscribe()
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
result.HttpResult(r, w, resp, err)
}
}
@@ -9,23 +9,19 @@ import (
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/logic/user"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/svc"
"github.com/zero-ppanel/zero-ppanel/apps/api/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
"github.com/zero-ppanel/zero-ppanel/pkg/result"
)
func UpdateUserPasswordHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.UpdatePasswordReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
if err := result.Parse(r, &req); err != nil {
result.HttpResult(r, w, nil, err)
return
}
l := user.NewUpdateUserPasswordLogic(r.Context(), svcCtx)
err := l.UpdateUserPassword(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.Ok(w)
}
result.HttpResult(r, w, nil, err)
}
}