add: some user api and all api desc

This commit is contained in:
wwweww
2026-02-27 19:17:01 +08:00
parent a0c720eb2f
commit 5930fb0dde
156 changed files with 9457 additions and 1086 deletions
@@ -0,0 +1,14 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.2
package config
import "github.com/zeromicro/go-zero/rest"
type Config struct {
rest.RestConf
Logger struct {
AccessSecret string
AccessExpire int64
}
}
@@ -0,0 +1,32 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.2
package file
import (
"net/http"
"github.com/zeromicro/go-zero/rest/httpx"
"juwan-backend/app/objectstory/api/internal/logic/file"
"juwan-backend/app/objectstory/api/internal/svc"
"juwan-backend/app/objectstory/api/internal/types"
)
// 文件获取接口 (如果是私有文件,通过此接口获取或重定向)
func GetFileHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.GetFileReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := file.NewGetFileLogic(r.Context(), svcCtx)
err := l.GetFile(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.Ok(w)
}
}
}
@@ -0,0 +1,32 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.2
package file
import (
"net/http"
"github.com/zeromicro/go-zero/rest/httpx"
"juwan-backend/app/objectstory/api/internal/logic/file"
"juwan-backend/app/objectstory/api/internal/svc"
"juwan-backend/app/objectstory/api/internal/types"
)
// 文件上传接口
func UploadHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.UploadReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := file.NewUploadLogic(r.Context(), svcCtx)
resp, err := l.Upload(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}
@@ -0,0 +1,37 @@
// Code generated by goctl. DO NOT EDIT.
// goctl 1.9.2
package handler
import (
"net/http"
file "juwan-backend/app/objectstory/api/internal/handler/file"
"juwan-backend/app/objectstory/api/internal/svc"
"github.com/zeromicro/go-zero/rest"
)
func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
server.AddRoutes(
rest.WithMiddlewares(
[]rest.Middleware{serverCtx.FileSizeLimit},
[]rest.Route{
{
// 文件获取接口 (如果是私有文件,通过此接口获取或重定向)
Method: http.MethodGet,
Path: "/files/:fileId",
Handler: file.GetFileHandler(serverCtx),
},
{
// 文件上传接口
Method: http.MethodPost,
Path: "/upload",
Handler: file.UploadHandler(serverCtx),
},
}...,
),
rest.WithJwt(serverCtx.Config.Logger.AccessSecret),
rest.WithPrefix("/api/v1"),
)
}
@@ -0,0 +1,34 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.2
package file
import (
"context"
"juwan-backend/app/objectstory/api/internal/svc"
"juwan-backend/app/objectstory/api/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type GetFileLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
// 文件获取接口 (如果是私有文件,通过此接口获取或重定向)
func NewGetFileLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetFileLogic {
return &GetFileLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *GetFileLogic) GetFile(req *types.GetFileReq) error {
// todo: add your logic here and delete this line
return nil
}
@@ -0,0 +1,34 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.2
package file
import (
"context"
"juwan-backend/app/objectstory/api/internal/svc"
"juwan-backend/app/objectstory/api/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type UploadLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
// 文件上传接口
func NewUploadLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UploadLogic {
return &UploadLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *UploadLogic) Upload(req *types.UploadReq) (resp *types.UploadResp, err error) {
// todo: add your logic here and delete this line
return
}
@@ -0,0 +1,22 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.2
package middleware
import "net/http"
type FileSizeLimitMiddleware struct {
}
func NewFileSizeLimitMiddleware() *FileSizeLimitMiddleware {
return &FileSizeLimitMiddleware{}
}
func (m *FileSizeLimitMiddleware) Handle(next http.HandlerFunc) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
// TODO generate middleware implement function, delete after code implementation
// Passthrough to next handler if need
next(w, r)
}
}
@@ -0,0 +1,22 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.2
package svc
import (
"github.com/zeromicro/go-zero/rest"
"juwan-backend/app/objectstory/api/internal/config"
"juwan-backend/app/objectstory/api/internal/middleware"
)
type ServiceContext struct {
Config config.Config
FileSizeLimit rest.Middleware
}
func NewServiceContext(c config.Config) *ServiceContext {
return &ServiceContext{
Config: c,
FileSizeLimit: middleware.NewFileSizeLimitMiddleware().Handle,
}
}
@@ -0,0 +1,16 @@
// Code generated by goctl. DO NOT EDIT.
// goctl 1.9.2
package types
type GetFileReq struct {
FileId string `path:"fileId"`
}
type UploadReq struct {
Type string `form:"type,options=avatar|chat|post|verification|dispute"` // 文件类型限制
}
type UploadResp struct {
Url string `json:"url"` // 返回 CDN 地址或访问地址
}