// Package docs Code generated by swaggo/swag. DO NOT EDIT package docs import "github.com/rogeecn/swag" const docTemplate = `{ "schemes": {{ marshal .Schemes }}, "swagger": "2.0", "info": { "description": "{{escape .Description}}", "title": "{{.Title}}", "termsOfService": "http://swagger.io/terms/", "contact": { "name": "UserName", "url": "http://www.swagger.io/support", "email": "support@swagger.io" }, "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.html" }, "version": "{{.Version}}" }, "host": "{{.Host}}", "basePath": "{{.BasePath}}", "paths": { "/super/v1/auth/login": { "post": { "description": "Login", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Auth" ], "summary": "Login", "parameters": [ { "description": "Login form", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/quyun_v2_app_http_super_v1_dto.LoginForm" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/quyun_v2_app_http_super_v1_dto.LoginResponse" } } } } }, "/super/v1/auth/token": { "get": { "description": "Check token", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Auth" ], "summary": "Check token", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/quyun_v2_app_http_super_v1_dto.LoginResponse" } } } } }, "/super/v1/contents": { "get": { "description": "List contents", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Content" ], "summary": "List contents", "parameters": [ { "type": "integer", "description": "Page number", "name": "page", "in": "query" }, { "type": "integer", "description": "Page size", "name": "limit", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/requests.Pager" }, { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/definitions/dto.AdminContentItem" } } } } ] } } } } }, "/super/v1/orders": { "get": { "description": "List orders", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Order" ], "summary": "List orders", "parameters": [ { "type": "integer", "description": "Page number", "name": "page", "in": "query" }, { "type": "integer", "description": "Page size", "name": "limit", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/requests.Pager" }, { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/definitions/dto.SuperOrderItem" } } } } ] } } } } }, "/super/v1/orders/statistics": { "get": { "description": "Order statistics", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Order" ], "summary": "Order statistics", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.OrderStatisticsResponse" } } } } }, "/super/v1/orders/{id}": { "get": { "description": "Get order", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Order" ], "summary": "Get order", "parameters": [ { "type": "integer", "format": "int64", "description": "Order ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.SuperOrderDetail" } } } } }, "/super/v1/orders/{id}/refund": { "post": { "description": "Refund order", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Order" ], "summary": "Refund order", "parameters": [ { "type": "integer", "format": "int64", "description": "Order ID", "name": "id", "in": "path", "required": true }, { "description": "Refund form", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.SuperOrderRefundForm" } } ], "responses": { "200": { "description": "Refunded", "schema": { "type": "string" } } } } }, "/super/v1/tenants": { "get": { "description": "List tenants", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Tenant" ], "summary": "List tenants", "parameters": [ { "type": "integer", "description": "Page number", "name": "page", "in": "query" }, { "type": "integer", "description": "Page size", "name": "limit", "in": "query" }, { "type": "string", "description": "Name", "name": "name", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/requests.Pager" }, { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/definitions/dto.TenantItem" } } } } ] } } } }, "post": { "description": "Create tenant", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Tenant" ], "summary": "Create tenant", "parameters": [ { "description": "Create form", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.TenantCreateForm" } } ], "responses": { "200": { "description": "Created", "schema": { "type": "string" } } } } }, "/super/v1/tenants/statuses": { "get": { "description": "Tenant statuses", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Tenant" ], "summary": "Tenant statuses", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/requests.KV" } } } } } }, "/super/v1/tenants/{id}": { "get": { "description": "Get tenant", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Tenant" ], "summary": "Get tenant", "parameters": [ { "type": "integer", "format": "int64", "description": "Tenant ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.TenantItem" } } } }, "patch": { "description": "Update tenant expire", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Tenant" ], "summary": "Update tenant expire", "parameters": [ { "type": "integer", "format": "int64", "description": "Tenant ID", "name": "id", "in": "path", "required": true }, { "description": "Update form", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.TenantExpireUpdateForm" } } ], "responses": { "200": { "description": "Updated", "schema": { "type": "string" } } } } }, "/super/v1/tenants/{id}/status": { "patch": { "description": "Update tenant status", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Tenant" ], "summary": "Update tenant status", "parameters": [ { "type": "integer", "format": "int64", "description": "Tenant ID", "name": "id", "in": "path", "required": true }, { "description": "Update form", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.TenantStatusUpdateForm" } } ], "responses": { "200": { "description": "Updated", "schema": { "type": "string" } } } } }, "/super/v1/tenants/{tenantID}/contents": { "get": { "description": "List contents by tenant", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Content" ], "summary": "List tenant contents", "parameters": [ { "type": "integer", "format": "int64", "description": "Tenant ID", "name": "tenantID", "in": "path", "required": true }, { "type": "integer", "description": "Page number", "name": "page", "in": "query" }, { "type": "integer", "description": "Page size", "name": "limit", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/requests.Pager" }, { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/definitions/dto.AdminContentItem" } } } } ] } } } } }, "/super/v1/tenants/{tenantID}/contents/{contentID}/status": { "patch": { "description": "Update content status", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Content" ], "summary": "Update content status", "parameters": [ { "type": "integer", "format": "int64", "description": "Tenant ID", "name": "tenantID", "in": "path", "required": true }, { "type": "integer", "format": "int64", "description": "Content ID", "name": "contentID", "in": "path", "required": true }, { "description": "Update form", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.SuperTenantContentStatusUpdateForm" } } ], "responses": { "200": { "description": "Updated", "schema": { "type": "string" } } } } }, "/super/v1/tenants/{tenantID}/users": { "get": { "description": "List tenant users", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Tenant" ], "summary": "List tenant users", "parameters": [ { "type": "integer", "format": "int64", "description": "Tenant ID", "name": "tenantID", "in": "path", "required": true }, { "type": "integer", "description": "Page number", "name": "page", "in": "query" }, { "type": "integer", "description": "Page size", "name": "limit", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/requests.Pager" }, { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/definitions/dto.SuperTenantUserItem" } } } } ] } } } } }, "/super/v1/users": { "get": { "description": "List users", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "List users", "parameters": [ { "type": "integer", "description": "Page number", "name": "page", "in": "query" }, { "type": "integer", "description": "Page size", "name": "limit", "in": "query" }, { "type": "string", "description": "Username", "name": "username", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/requests.Pager" }, { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/definitions/dto.UserItem" } } } } ] } } } } }, "/super/v1/users/statistics": { "get": { "description": "User statistics", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "User statistics", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/dto.UserStatistics" } } } } } }, "/super/v1/users/statuses": { "get": { "description": "User statuses", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "User statuses", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/requests.KV" } } } } } }, "/super/v1/users/{id}": { "get": { "description": "Get user", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "Get user", "parameters": [ { "type": "integer", "format": "int64", "description": "User ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.UserItem" } } } } }, "/super/v1/users/{id}/roles": { "patch": { "description": "Update user roles", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "Update user roles", "parameters": [ { "type": "integer", "format": "int64", "description": "User ID", "name": "id", "in": "path", "required": true }, { "description": "Update form", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.UserRolesUpdateForm" } } ], "responses": { "200": { "description": "Updated", "schema": { "type": "string" } } } } }, "/super/v1/users/{id}/status": { "patch": { "description": "Update user status", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "Update user status", "parameters": [ { "type": "integer", "format": "int64", "description": "User ID", "name": "id", "in": "path", "required": true }, { "description": "Update form", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.UserStatusUpdateForm" } } ], "responses": { "200": { "description": "Updated", "schema": { "type": "string" } } } } }, "/super/v1/users/{id}/tenants": { "get": { "description": "List tenants joined by user", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User" ], "summary": "List user tenants", "parameters": [ { "type": "integer", "format": "int64", "description": "User ID", "name": "id", "in": "path", "required": true }, { "type": "integer", "description": "Page number", "name": "page", "in": "query" }, { "type": "integer", "description": "Page size", "name": "limit", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/requests.Pager" }, { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/definitions/dto.UserTenantItem" } } } } ] } } } } }, "/t/{tenantCode}/v1/auth/login": { "post": { "description": "Login or register user using phone number and OTP", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Auth" ], "summary": "Login or Register with OTP", "parameters": [ { "description": "Login form", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/quyun_v2_app_http_v1_dto.LoginForm" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/quyun_v2_app_http_v1_dto.LoginResponse" } } } } }, "/t/{tenantCode}/v1/auth/otp": { "post": { "description": "Send OTP to phone number", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Auth" ], "summary": "Send OTP", "parameters": [ { "description": "Phone number", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/quyun_v2_app_http_v1_dto.SendOTPForm" } } ], "responses": { "200": { "description": "OTP sent", "schema": { "type": "string" } } } } }, "/t/{tenantCode}/v1/comments/{id}/like": { "post": { "description": "Like a comment", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Content" ], "summary": "Like comment", "parameters": [ { "type": "integer", "format": "int64", "description": "Comment ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Liked", "schema": { "type": "string" } } } } }, "/t/{tenantCode}/v1/common/options": { "get": { "description": "Get global options (enums)", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Common" ], "summary": "Get options", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.OptionsResponse" } } } } }, "/t/{tenantCode}/v1/contents": { "get": { "description": "List contents with filtering and pagination", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Content" ], "summary": "List contents", "parameters": [ { "type": "string", "description": "Search keyword", "name": "keyword", "in": "query" }, { "type": "string", "description": "Genre", "name": "genre", "in": "query" }, { "type": "integer", "format": "int64", "description": "Filter by creator", "name": "tenant_id", "in": "query" }, { "enum": [ "latest", "hot", "price_asc" ], "type": "string", "description": "Sort order", "name": "sort", "in": "query" }, { "type": "integer", "description": "Page number", "name": "page", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/requests.Pager" }, { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/definitions/dto.ContentItem" } } } } ] } } } } }, "/t/{tenantCode}/v1/contents/{id}": { "get": { "description": "Get content detail by ID", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Content" ], "summary": "Get content detail", "parameters": [ { "type": "integer", "format": "int64", "description": "Content ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.ContentDetail" } } } } }, "/t/{tenantCode}/v1/contents/{id}/comments": { "get": { "description": "Get comments for a content", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Content" ], "summary": "Get comments", "parameters": [ { "type": "integer", "format": "int64", "description": "Content ID", "name": "id", "in": "path", "required": true }, { "type": "integer", "description": "Page number", "name": "page", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/requests.Pager" }, { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/definitions/dto.Comment" } } } } ] } } } }, "post": { "description": "Post a comment to a content", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Content" ], "summary": "Post comment", "parameters": [ { "type": "integer", "format": "int64", "description": "Content ID", "name": "id", "in": "path", "required": true }, { "description": "Comment form", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.CommentCreateForm" } } ], "responses": { "200": { "description": "Comment created", "schema": { "type": "string" } } } } }, "/t/{tenantCode}/v1/contents/{id}/favorite": { "post": { "tags": [ "Content" ], "summary": "Add favorite", "parameters": [ { "type": "integer", "format": "int64", "description": "Content ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Favorited", "schema": { "type": "string" } } } }, "delete": { "tags": [ "Content" ], "summary": "Remove favorite", "parameters": [ { "type": "integer", "format": "int64", "description": "Content ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Unfavorited", "schema": { "type": "string" } } } } }, "/t/{tenantCode}/v1/contents/{id}/like": { "post": { "tags": [ "Content" ], "summary": "Add like", "parameters": [ { "type": "integer", "format": "int64", "description": "Content ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Liked", "schema": { "type": "string" } } } }, "delete": { "tags": [ "Content" ], "summary": "Remove like", "parameters": [ { "type": "integer", "format": "int64", "description": "Content ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Unliked", "schema": { "type": "string" } } } } }, "/t/{tenantCode}/v1/creator/apply": { "post": { "description": "Apply to become a creator", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "CreatorCenter" ], "summary": "Apply creator", "parameters": [ { "description": "Apply form", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.ApplyForm" } } ], "responses": { "200": { "description": "Application submitted", "schema": { "type": "string" } } } } }, "/t/{tenantCode}/v1/creator/contents": { "get": { "description": "List creator contents", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "CreatorCenter" ], "summary": "List contents", "parameters": [ { "type": "string", "description": "Status", "name": "status", "in": "query" }, { "type": "string", "description": "Genre", "name": "genre", "in": "query" }, { "type": "string", "description": "Keyword", "name": "keyword", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/dto.ContentItem" } } } } }, "post": { "description": "Create/Publish content", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "CreatorCenter" ], "summary": "Create content", "parameters": [ { "description": "Content form", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.ContentCreateForm" } } ], "responses": { "200": { "description": "Created", "schema": { "type": "string" } } } } }, "/t/{tenantCode}/v1/creator/contents/{id}": { "get": { "description": "Get content details for edit", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "CreatorCenter" ], "summary": "Get content", "parameters": [ { "type": "integer", "format": "int64", "description": "Content ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.ContentEditDTO" } } } }, "put": { "description": "Update content", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "CreatorCenter" ], "summary": "Update content", "parameters": [ { "type": "integer", "format": "int64", "description": "Content ID", "name": "id", "in": "path", "required": true }, { "description": "Update form", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.ContentUpdateForm" } } ], "responses": { "200": { "description": "Updated", "schema": { "type": "string" } } } }, "delete": { "description": "Delete content", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "CreatorCenter" ], "summary": "Delete content", "parameters": [ { "type": "integer", "format": "int64", "description": "Content ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Deleted", "schema": { "type": "string" } } } } }, "/t/{tenantCode}/v1/creator/dashboard": { "get": { "description": "Get creator dashboard stats", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "CreatorCenter" ], "summary": "Dashboard stats", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.DashboardStats" } } } } }, "/t/{tenantCode}/v1/creator/orders": { "get": { "description": "List sales orders", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "CreatorCenter" ], "summary": "List sales orders", "parameters": [ { "type": "string", "description": "Status", "name": "status", "in": "query" }, { "type": "string", "description": "Keyword", "name": "keyword", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/dto.Order" } } } } } }, "/t/{tenantCode}/v1/creator/orders/{id}/refund": { "post": { "description": "Process refund", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "CreatorCenter" ], "summary": "Process refund", "parameters": [ { "type": "integer", "format": "int64", "description": "Order ID", "name": "id", "in": "path", "required": true }, { "description": "Refund form", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.RefundForm" } } ], "responses": { "200": { "description": "Processed", "schema": { "type": "string" } } } } }, "/t/{tenantCode}/v1/creator/payout-accounts": { "get": { "description": "List payout accounts", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "CreatorCenter" ], "summary": "List payout accounts", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/dto.PayoutAccount" } } } } }, "post": { "description": "Add payout account", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "CreatorCenter" ], "summary": "Add payout account", "parameters": [ { "description": "Account form", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.PayoutAccount" } } ], "responses": { "200": { "description": "Added", "schema": { "type": "string" } } } }, "delete": { "description": "Remove payout account", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "CreatorCenter" ], "summary": "Remove payout account", "parameters": [ { "type": "integer", "format": "int64", "description": "Account ID", "name": "id", "in": "query", "required": true } ], "responses": { "200": { "description": "Removed", "schema": { "type": "string" } } } } }, "/t/{tenantCode}/v1/creator/settings": { "get": { "description": "Get channel settings", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "CreatorCenter" ], "summary": "Get settings", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.Settings" } } } }, "put": { "description": "Update channel settings", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "CreatorCenter" ], "summary": "Update settings", "parameters": [ { "description": "Settings form", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.Settings" } } ], "responses": { "200": { "description": "Updated", "schema": { "type": "string" } } } } }, "/t/{tenantCode}/v1/creator/withdraw": { "post": { "description": "Request withdrawal", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "CreatorCenter" ], "summary": "Request withdrawal", "parameters": [ { "description": "Withdraw form", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.WithdrawForm" } } ], "responses": { "200": { "description": "Withdrawal requested", "schema": { "type": "string" } } } } }, "/t/{tenantCode}/v1/creators/{id}/contents": { "get": { "description": "List contents of a specific creator", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "TenantPublic" ], "summary": "List creator contents", "parameters": [ { "type": "integer", "format": "int64", "description": "Tenant ID", "name": "id", "in": "path", "required": true }, { "type": "integer", "description": "Page", "name": "page", "in": "query" }, { "type": "integer", "description": "Limit", "name": "limit", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/requests.Pager" } } } } }, "/t/{tenantCode}/v1/me": { "get": { "description": "Get current user profile", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "UserCenter" ], "summary": "Get user profile", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/quyun_v2_app_http_v1_dto.User" } } } }, "put": { "description": "Update user profile", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "UserCenter" ], "summary": "Update user profile", "parameters": [ { "description": "Update form", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.UserUpdate" } } ], "responses": { "200": { "description": "Updated", "schema": { "type": "string" } } } } }, "/t/{tenantCode}/v1/me/coupons": { "get": { "description": "List my coupons", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "UserCenter" ], "summary": "List coupons", "parameters": [ { "type": "string", "description": "Status (unused, used, expired)", "name": "status", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/dto.UserCouponItem" } } } } } }, "/t/{tenantCode}/v1/me/favorites": { "get": { "description": "Get favorites", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "UserCenter" ], "summary": "Get favorites", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/dto.ContentItem" } } } } }, "post": { "description": "Add to favorites", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "UserCenter" ], "summary": "Add favorite", "parameters": [ { "type": "integer", "format": "int64", "description": "Content ID", "name": "contentId", "in": "query", "required": true } ], "responses": { "200": { "description": "Added", "schema": { "type": "string" } } } } }, "/t/{tenantCode}/v1/me/favorites/{contentId}": { "delete": { "description": "Remove from favorites", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "UserCenter" ], "summary": "Remove favorite", "parameters": [ { "type": "integer", "format": "int64", "description": "Content ID", "name": "contentId", "in": "path", "required": true } ], "responses": { "200": { "description": "Removed", "schema": { "type": "string" } } } } }, "/t/{tenantCode}/v1/me/following": { "get": { "description": "Get following tenants", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "UserCenter" ], "summary": "Get following", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/dto.TenantProfile" } } } } } }, "/t/{tenantCode}/v1/me/library": { "get": { "description": "Get purchased content", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "UserCenter" ], "summary": "Get library", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/dto.ContentItem" } } } } } }, "/t/{tenantCode}/v1/me/likes": { "get": { "description": "Get liked contents", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "UserCenter" ], "summary": "Get likes", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/dto.ContentItem" } } } } }, "post": { "description": "Like content", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "UserCenter" ], "summary": "Like content", "parameters": [ { "type": "integer", "format": "int64", "description": "Content ID", "name": "contentId", "in": "query", "required": true } ], "responses": { "200": { "description": "Liked", "schema": { "type": "string" } } } } }, "/t/{tenantCode}/v1/me/likes/{contentId}": { "delete": { "description": "Unlike content", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "UserCenter" ], "summary": "Unlike content", "parameters": [ { "type": "integer", "format": "int64", "description": "Content ID", "name": "contentId", "in": "path", "required": true } ], "responses": { "200": { "description": "Unliked", "schema": { "type": "string" } } } } }, "/t/{tenantCode}/v1/me/notifications": { "get": { "description": "Get notifications", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "UserCenter" ], "summary": "Get notifications", "parameters": [ { "type": "string", "description": "Type enum(all, system, order, audit, interaction)", "name": "type", "in": "query" }, { "type": "integer", "description": "Page number", "name": "page", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "allOf": [ { "$ref": "#/definitions/requests.Pager" }, { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/definitions/dto.Notification" } } } } ] } } } } }, "/t/{tenantCode}/v1/me/notifications/read-all": { "post": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "UserCenter" ], "summary": "Mark all as read", "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/t/{tenantCode}/v1/me/notifications/{id}/read": { "post": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "UserCenter" ], "summary": "Mark as read", "parameters": [ { "type": "integer", "format": "int64", "description": "Notification ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/t/{tenantCode}/v1/me/orders": { "get": { "description": "List user orders", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "UserCenter" ], "summary": "List orders", "parameters": [ { "type": "string", "description": "Status enum(all, unpaid, completed, refund)", "name": "status", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/dto.Order" } } } } } }, "/t/{tenantCode}/v1/me/orders/{id}": { "get": { "description": "Get user order detail", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "UserCenter" ], "summary": "Get order detail", "parameters": [ { "type": "integer", "format": "int64", "description": "Order ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.Order" } } } } }, "/t/{tenantCode}/v1/me/realname": { "post": { "description": "Submit real-name authentication", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "UserCenter" ], "summary": "Realname auth", "parameters": [ { "description": "Realname form", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.RealNameForm" } } ], "responses": { "200": { "description": "Submitted", "schema": { "type": "string" } } } } }, "/t/{tenantCode}/v1/me/wallet": { "get": { "description": "Get wallet balance and transactions", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "UserCenter" ], "summary": "Get wallet", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.WalletResponse" } } } } }, "/t/{tenantCode}/v1/me/wallet/recharge": { "post": { "description": "Recharge wallet", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "UserCenter" ], "summary": "Recharge wallet", "parameters": [ { "description": "Recharge form", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.RechargeForm" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.RechargeResponse" } } } } }, "/t/{tenantCode}/v1/media-assets/{id}": { "delete": { "description": "Delete media asset", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Common" ], "summary": "Delete media asset", "parameters": [ { "type": "integer", "format": "int64", "description": "Asset ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/t/{tenantCode}/v1/orders": { "post": { "description": "Create Order", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Transaction" ], "summary": "Create Order", "parameters": [ { "description": "Create form", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.OrderCreateForm" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.OrderCreateResponse" } } } } }, "/t/{tenantCode}/v1/orders/{id}/pay": { "post": { "description": "Pay for order", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Transaction" ], "summary": "Pay for order", "parameters": [ { "type": "integer", "format": "int64", "description": "Order ID", "name": "id", "in": "path", "required": true }, { "description": "Pay form", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.OrderPayForm" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.OrderPayResponse" } } } } }, "/t/{tenantCode}/v1/orders/{id}/status": { "get": { "description": "Check order payment status", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Transaction" ], "summary": "Check order status", "parameters": [ { "type": "integer", "format": "int64", "description": "Order ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.OrderStatusResponse" } } } } }, "/t/{tenantCode}/v1/storage/{any}": { "get": { "consumes": [ "application/json" ], "produces": [ "application/octet-stream" ], "tags": [ "Storage" ], "summary": "Download file", "parameters": [ { "type": "string", "description": "any path", "name": "any", "in": "path" }, { "type": "string", "description": "Expiry", "name": "expires", "in": "query", "required": true }, { "type": "string", "description": "Signature", "name": "sign", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "file" } } } }, "put": { "consumes": [ "application/octet-stream" ], "produces": [ "application/json" ], "tags": [ "Storage" ], "summary": "Upload file", "parameters": [ { "type": "string", "description": "any path", "name": "any", "in": "path" }, { "type": "string", "description": "Expiry", "name": "expires", "in": "query", "required": true }, { "type": "string", "description": "Signature", "name": "sign", "in": "query", "required": true } ], "responses": { "200": { "description": "success", "schema": { "type": "string" } } } } }, "/t/{tenantCode}/v1/tenants": { "get": { "description": "Search tenants", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "TenantPublic" ], "summary": "List tenants", "parameters": [ { "type": "string", "description": "Keyword", "name": "keyword", "in": "query" }, { "type": "integer", "description": "Page", "name": "page", "in": "query" }, { "type": "integer", "description": "Limit", "name": "limit", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/requests.Pager" } } } } }, "/t/{tenantCode}/v1/tenants/{id}": { "get": { "description": "Get tenant public profile", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "TenantPublic" ], "summary": "Get tenant profile", "parameters": [ { "type": "integer", "format": "int64", "description": "Tenant ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.TenantProfile" } } } } }, "/t/{tenantCode}/v1/tenants/{id}/follow": { "post": { "description": "Follow a tenant", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "TenantPublic" ], "summary": "Follow tenant", "parameters": [ { "type": "integer", "format": "int64", "description": "Tenant ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Followed", "schema": { "type": "string" } } } }, "delete": { "description": "Unfollow a tenant", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "TenantPublic" ], "summary": "Unfollow tenant", "parameters": [ { "type": "integer", "format": "int64", "description": "Tenant ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Unfollowed", "schema": { "type": "string" } } } } }, "/t/{tenantCode}/v1/topics": { "get": { "description": "List curated topics", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Content" ], "summary": "List topics", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/dto.Topic" } } } } } }, "/t/{tenantCode}/v1/upload": { "post": { "description": "Upload file", "consumes": [ "multipart/form-data" ], "produces": [ "application/json" ], "tags": [ "Common" ], "summary": "Upload file", "parameters": [ { "type": "file", "description": "File", "name": "file", "in": "formData", "required": true }, { "type": "string", "description": "Type 上传资源类型(如 cover/media/avatar)。", "name": "type", "in": "formData" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.UploadResult" } } } } }, "/t/{tenantCode}/v1/upload/check": { "get": { "description": "Check if file hash exists", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Common" ], "summary": "Check hash", "parameters": [ { "type": "string", "description": "File MD5 Hash", "name": "hash", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.UploadResult" } } } } }, "/t/{tenantCode}/v1/upload/complete": { "post": { "description": "Complete multipart upload", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Common" ], "summary": "Complete upload", "parameters": [ { "description": "Complete form", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.UploadCompleteForm" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.UploadResult" } } } } }, "/t/{tenantCode}/v1/upload/init": { "post": { "description": "Initialize multipart upload", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Common" ], "summary": "Init multipart upload", "parameters": [ { "description": "Init form", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.UploadInitForm" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.UploadInitResponse" } } } } }, "/t/{tenantCode}/v1/upload/part": { "post": { "description": "Upload a part", "consumes": [ "multipart/form-data" ], "produces": [ "application/json" ], "tags": [ "Common" ], "summary": "Upload part", "parameters": [ { "type": "file", "description": "Part File", "name": "file", "in": "formData", "required": true }, { "type": "integer", "description": "PartNumber 分片序号(从 1 开始)。", "name": "part_number", "in": "formData" }, { "type": "string", "description": "UploadID 分片上传ID。", "name": "upload_id", "in": "formData" } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/t/{tenantCode}/v1/upload/{uploadId}": { "delete": { "description": "Abort multipart upload", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Common" ], "summary": "Abort upload", "parameters": [ { "type": "string", "description": "Upload ID", "name": "uploadId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/t/{tenantCode}/v1/webhook/payment/notify": { "post": { "description": "Payment Webhook", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Transaction" ], "summary": "Payment Webhook", "parameters": [ { "description": "Webhook Data", "name": "form", "in": "body", "required": true, "schema": { "$ref": "#/definitions/v1.WebhookForm" } } ], "responses": { "200": { "description": "success", "schema": { "type": "string" } } } } } }, "definitions": { "consts.ContentStatus": { "type": "string", "enum": [ "draft", "reviewing", "published", "unpublished", "blocked" ], "x-enum-varnames": [ "ContentStatusDraft", "ContentStatusReviewing", "ContentStatusPublished", "ContentStatusUnpublished", "ContentStatusBlocked" ] }, "consts.Currency": { "type": "string", "enum": [ "CNY" ], "x-enum-varnames": [ "CurrencyCNY" ] }, "consts.Gender": { "type": "string", "enum": [ "male", "female", "secret" ], "x-enum-varnames": [ "GenderMale", "GenderFemale", "GenderSecret" ] }, "consts.OrderStatus": { "type": "string", "enum": [ "created", "paid", "refunding", "refunded", "canceled", "failed" ], "x-enum-varnames": [ "OrderStatusCreated", "OrderStatusPaid", "OrderStatusRefunding", "OrderStatusRefunded", "OrderStatusCanceled", "OrderStatusFailed" ] }, "consts.OrderType": { "type": "string", "enum": [ "content_purchase", "recharge", "withdrawal" ], "x-enum-varnames": [ "OrderTypeContentPurchase", "OrderTypeRecharge", "OrderTypeWithdrawal" ] }, "consts.Role": { "type": "string", "enum": [ "user", "super_admin", "creator" ], "x-enum-varnames": [ "RoleUser", "RoleSuperAdmin", "RoleCreator" ] }, "consts.TenantStatus": { "type": "string", "enum": [ "pending_verify", "verified", "banned" ], "x-enum-varnames": [ "TenantStatusPendingVerify", "TenantStatusVerified", "TenantStatusBanned" ] }, "consts.TenantUserRole": { "type": "string", "enum": [ "member", "tenant_admin" ], "x-enum-varnames": [ "TenantUserRoleMember", "TenantUserRoleTenantAdmin" ] }, "consts.UserStatus": { "type": "string", "enum": [ "active", "inactive", "pending_verify", "verified", "banned" ], "x-enum-varnames": [ "UserStatusActive", "UserStatusInactive", "UserStatusPendingVerify", "UserStatusVerified", "UserStatusBanned" ] }, "dto.AdminContentItem": { "type": "object", "properties": { "content": { "$ref": "#/definitions/dto.ContentItem" }, "owner": { "$ref": "#/definitions/dto.AdminContentOwnerLite" }, "price": { "$ref": "#/definitions/dto.ContentPrice" }, "status_description": { "type": "string" }, "tenant": { "description": "Tenant 内容所属租户信息,用于超管列表展示与跳转。", "allOf": [ { "$ref": "#/definitions/dto.SuperContentTenantLite" } ] }, "visibility_description": { "type": "string" } } }, "dto.AdminContentOwnerLite": { "type": "object", "properties": { "id": { "type": "integer" }, "roles": { "type": "array", "items": { "$ref": "#/definitions/consts.Role" } }, "status": { "$ref": "#/definitions/consts.UserStatus" }, "username": { "type": "string" } } }, "dto.ApplyForm": { "type": "object", "properties": { "avatar": { "description": "Avatar 头像URL。", "type": "string" }, "bio": { "description": "Bio 频道简介。", "type": "string" }, "name": { "description": "Name 频道/创作者名称。", "type": "string" } } }, "dto.AssetDTO": { "type": "object", "properties": { "id": { "description": "ID 资源ID。", "type": "integer" }, "name": { "description": "Name 文件名。", "type": "string" }, "role": { "description": "Role 资源角色(cover/media/preview)。", "type": "string" }, "size": { "description": "Size 文件大小描述。", "type": "string" }, "sort": { "description": "Sort 排序权重。", "type": "integer" }, "type": { "description": "Type 资源类型(image/audio/video)。", "type": "string" }, "url": { "description": "URL 资源访问地址。", "type": "string" } } }, "dto.Comment": { "type": "object", "properties": { "content": { "description": "Content 评论内容。", "type": "string" }, "create_time": { "description": "CreateTime 评论创建时间(RFC3339)。", "type": "string" }, "id": { "description": "ID 评论ID。", "type": "integer" }, "is_liked": { "description": "IsLiked 当前用户是否点赞该评论。", "type": "boolean" }, "likes": { "description": "Likes 评论点赞数。", "type": "integer" }, "reply_to": { "description": "ReplyTo 回复的评论ID(0 表示一级评论)。", "type": "integer" }, "user_avatar": { "description": "UserAvatar 评论用户头像。", "type": "string" }, "user_id": { "description": "UserID 评论用户ID。", "type": "integer" }, "user_nickname": { "description": "UserNickname 评论用户昵称。", "type": "string" } } }, "dto.CommentCreateForm": { "type": "object", "properties": { "content": { "description": "Content 评论正文,不能为空。", "type": "string" }, "reply_to": { "description": "ReplyTo 被回复评论ID(0 表示一级评论)。", "type": "integer" } } }, "dto.ContentCreateForm": { "type": "object", "properties": { "cover_ids": { "description": "CoverIDs 封面资源ID集合。", "type": "array", "items": { "type": "integer" } }, "genre": { "description": "Genre 内容分类/风格。", "type": "string" }, "key": { "description": "Key 音乐调性或主音。", "type": "string" }, "media_ids": { "description": "MediaIDs 媒体资源ID集合(音频/视频/图片)。", "type": "array", "items": { "type": "integer" } }, "price": { "description": "Price 价格(单位元)。", "type": "number" }, "status": { "description": "Status 内容状态(draft/published)。", "type": "string" }, "title": { "description": "Title 内容标题。", "type": "string" } } }, "dto.ContentDetail": { "type": "object", "properties": { "author_avatar": { "description": "AuthorAvatar 作者头像URL。", "type": "string" }, "author_id": { "description": "AuthorID 作者用户ID。", "type": "integer" }, "author_is_following": { "description": "AuthorIsFollowing 当前用户是否关注作者(未登录默认 false)。", "type": "boolean" }, "author_name": { "description": "AuthorName 作者展示名(优先昵称)。", "type": "string" }, "body": { "description": "Body 详细正文/图文内容(文章类可为空)。", "type": "string" }, "cover": { "description": "Cover 封面URL(无封面时为空)。", "type": "string" }, "created_at": { "description": "CreatedAt 创建时间(RFC3339 格式)。", "type": "string" }, "description": { "description": "Description 内容描述(用于详情页摘要)。", "type": "string" }, "genre": { "description": "Genre 内容分类/风格标签。", "type": "string" }, "id": { "description": "ID 内容唯一ID。", "type": "integer" }, "is_favorited": { "description": "IsFavorited 当前用户是否收藏。", "type": "boolean" }, "is_liked": { "description": "IsLiked 当前用户是否点赞。", "type": "boolean" }, "is_purchased": { "description": "IsPurchased 是否已购买(用于内容列表快速判断)。", "type": "boolean" }, "likes": { "description": "Likes 点赞数统计。", "type": "integer" }, "media_urls": { "description": "MediaUrls 关联媒体资源(音频/视频/预览)。", "type": "array", "items": { "$ref": "#/definitions/dto.MediaURL" } }, "meta": { "description": "Meta 内容元信息(曲风/调性/节拍等)。", "allOf": [ { "$ref": "#/definitions/dto.Meta" } ] }, "price": { "description": "Price 价格(单位元,免费为 0)。", "type": "number" }, "published_at": { "description": "PublishedAt 发布时间,未发布为空。", "type": "string" }, "status": { "description": "Status 内容状态(如 published/unpublished)。", "type": "string" }, "tenant_id": { "description": "TenantID 内容所属租户ID。", "type": "integer" }, "title": { "description": "Title 内容标题。", "type": "string" }, "type": { "description": "Type 内容媒体类型(video/audio/article)。", "type": "string" }, "user_id": { "description": "UserID 内容作者用户ID(与 author_id 同义,便于后台展示)。", "type": "integer" }, "views": { "description": "Views 浏览量统计。", "type": "integer" }, "visibility": { "description": "Visibility 内容可见性(如 public/tenant_only/private)。", "type": "string" } } }, "dto.ContentEditDTO": { "type": "object", "properties": { "assets": { "description": "Assets 资源列表(封面/媒体)。", "type": "array", "items": { "$ref": "#/definitions/dto.AssetDTO" } }, "description": { "description": "Description 内容简介。", "type": "string" }, "enable_trial": { "description": "EnableTrial 是否开启试读/试听。", "type": "boolean" }, "genre": { "description": "Genre 内容分类。", "type": "string" }, "id": { "description": "ID 内容ID。", "type": "integer" }, "key": { "description": "Key 音乐调性或主音。", "type": "string" }, "preview_seconds": { "description": "PreviewSeconds 试看/试听秒数。", "type": "integer" }, "price": { "description": "Price 价格(单位元)。", "type": "number" }, "status": { "description": "Status 内容状态。", "type": "string" }, "title": { "description": "Title 内容标题。", "type": "string" } } }, "dto.ContentItem": { "type": "object", "properties": { "author_avatar": { "description": "AuthorAvatar 作者头像URL。", "type": "string" }, "author_id": { "description": "AuthorID 作者用户ID。", "type": "integer" }, "author_is_following": { "description": "AuthorIsFollowing 当前用户是否关注作者(未登录默认 false)。", "type": "boolean" }, "author_name": { "description": "AuthorName 作者展示名(优先昵称)。", "type": "string" }, "cover": { "description": "Cover 封面URL(无封面时为空)。", "type": "string" }, "created_at": { "description": "CreatedAt 创建时间(RFC3339 格式)。", "type": "string" }, "genre": { "description": "Genre 内容分类/风格标签。", "type": "string" }, "id": { "description": "ID 内容唯一ID。", "type": "integer" }, "is_purchased": { "description": "IsPurchased 是否已购买(用于内容列表快速判断)。", "type": "boolean" }, "likes": { "description": "Likes 点赞数统计。", "type": "integer" }, "price": { "description": "Price 价格(单位元,免费为 0)。", "type": "number" }, "published_at": { "description": "PublishedAt 发布时间,未发布为空。", "type": "string" }, "status": { "description": "Status 内容状态(如 published/unpublished)。", "type": "string" }, "tenant_id": { "description": "TenantID 内容所属租户ID。", "type": "integer" }, "title": { "description": "Title 内容标题。", "type": "string" }, "type": { "description": "Type 内容媒体类型(video/audio/article)。", "type": "string" }, "user_id": { "description": "UserID 内容作者用户ID(与 author_id 同义,便于后台展示)。", "type": "integer" }, "views": { "description": "Views 浏览量统计。", "type": "integer" }, "visibility": { "description": "Visibility 内容可见性(如 public/tenant_only/private)。", "type": "string" } } }, "dto.ContentPrice": { "type": "object", "properties": { "currency": { "description": "Currency 币种(CNY 等)。", "type": "string" }, "discount_end_at": { "description": "DiscountEndAt 折扣结束时间(RFC3339)。", "type": "string" }, "discount_start_at": { "description": "DiscountStartAt 折扣开始时间(RFC3339)。", "type": "string" }, "discount_type": { "description": "DiscountType 折扣类型(amount/percent)。", "type": "string" }, "discount_value": { "description": "DiscountValue 折扣值(amount=元,percent=百分比)。", "type": "number" }, "price_amount": { "description": "PriceAmount 原价金额(单位元)。", "type": "number" } } }, "dto.ContentUpdateForm": { "type": "object", "properties": { "cover_ids": { "description": "CoverIDs 封面资源ID集合。", "type": "array", "items": { "type": "integer" } }, "genre": { "description": "Genre 内容分类/风格。", "type": "string" }, "is_pinned": { "description": "IsPinned 是否置顶。", "type": "boolean" }, "key": { "description": "Key 音乐调性或主音。", "type": "string" }, "media_ids": { "description": "MediaIDs 媒体资源ID集合。", "type": "array", "items": { "type": "integer" } }, "price": { "description": "Price 价格(单位元,nil 表示不修改)。", "type": "number" }, "status": { "description": "Status 内容状态(draft/published)。", "type": "string" }, "title": { "description": "Title 内容标题(为空表示不修改)。", "type": "string" } } }, "dto.DashboardStats": { "type": "object", "properties": { "new_messages": { "description": "NewMessages 新消息数量。", "type": "integer" }, "pending_refunds": { "description": "PendingRefunds 待处理退款数量。", "type": "integer" }, "total_followers": { "description": "TotalFollowers 粉丝总数统计。", "allOf": [ { "$ref": "#/definitions/dto.IntStatItem" } ] }, "total_revenue": { "description": "TotalRevenue 累计收入统计(单位元)。", "allOf": [ { "$ref": "#/definitions/dto.FloatStatItem" } ] } } }, "dto.FloatStatItem": { "type": "object", "properties": { "trend": { "description": "Trend 环比/同比变化比例。", "type": "number" }, "value": { "description": "Value 统计数值(浮点)。", "type": "number" } } }, "dto.IntStatItem": { "type": "object", "properties": { "trend": { "description": "Trend 环比/同比变化比例。", "type": "number" }, "value": { "description": "Value 统计数值。", "type": "integer" } } }, "dto.MediaURL": { "type": "object", "properties": { "duration": { "description": "Duration 媒体时长(秒),无时长则为 0。", "type": "integer" }, "type": { "description": "Type 媒体类型(audio/video/image/preview)。", "type": "string" }, "url": { "description": "URL 媒体资源地址。", "type": "string" } } }, "dto.Meta": { "type": "object", "properties": { "beat": { "description": "Beat 节拍信息(如 4/4)。", "type": "string" }, "key": { "description": "Key 音乐调性或主音。", "type": "string" }, "role": { "description": "Role 内容角色/定位(如 demo/主稿)。", "type": "string" } } }, "dto.Notification": { "type": "object", "properties": { "content": { "description": "Content 通知内容。", "type": "string" }, "id": { "description": "ID 通知ID。", "type": "integer" }, "read": { "description": "Read 是否已读。", "type": "boolean" }, "time": { "description": "Time 发送时间(RFC3339)。", "type": "string" }, "title": { "description": "Title 通知标题。", "type": "string" }, "type": { "description": "Type 通知类型(system/order/interaction)。", "type": "string" } } }, "dto.OptionsResponse": { "type": "object", "properties": { "content_genre": { "description": "ContentGenre 内容类型/分类选项。", "type": "array", "items": { "$ref": "#/definitions/requests.KV" } }, "content_status": { "description": "ContentStatus 内容状态选项。", "type": "array", "items": { "$ref": "#/definitions/requests.KV" } } } }, "dto.Order": { "type": "object", "properties": { "amount": { "description": "Amount 实付金额(单位元)。", "type": "number" }, "buyer_avatar": { "description": "BuyerAvatar 买家头像URL。", "type": "string" }, "buyer_name": { "description": "BuyerName 买家昵称。", "type": "string" }, "cover": { "description": "Cover 订单封面图。", "type": "string" }, "create_time": { "description": "CreateTime 创建时间(RFC3339)。", "type": "string" }, "id": { "description": "ID 订单ID。", "type": "integer" }, "is_virtual": { "description": "IsVirtual 是否虚拟订单。", "type": "boolean" }, "items": { "description": "Items 订单内容明细。", "type": "array", "items": { "$ref": "#/definitions/dto.ContentItem" } }, "pay_time": { "description": "PayTime 支付时间(RFC3339)。", "type": "string" }, "quantity": { "description": "Quantity 内容数量。", "type": "integer" }, "status": { "description": "Status 订单状态。", "type": "string" }, "status_description": { "description": "StatusDescription 订单状态描述。", "type": "string" }, "tenant_id": { "description": "TenantID 内容所属租户ID。", "type": "integer" }, "tenant_name": { "description": "TenantName 租户名称。", "type": "string" }, "title": { "description": "Title 订单标题(用于列表展示)。", "type": "string" }, "type": { "description": "Type 订单类型(内容购买/充值等)。", "type": "string" }, "type_description": { "description": "TypeDescription 订单类型描述。", "type": "string" } } }, "dto.OrderBuyerLite": { "type": "object", "properties": { "id": { "type": "integer" }, "username": { "type": "string" } } }, "dto.OrderCreateForm": { "type": "object", "properties": { "content_id": { "description": "ContentID 内容ID。", "type": "integer" }, "idempotency_key": { "description": "IdempotencyKey 幂等键(同一业务请求需保持一致)。", "type": "string" }, "quantity": { "description": "Quantity 购买数量(默认 1)。", "type": "integer" }, "sku": { "description": "Sku 规格标识(可选)。", "type": "string" }, "user_coupon_id": { "description": "UserCouponID 用户券ID(可选)。", "type": "integer" } } }, "dto.OrderCreateResponse": { "type": "object", "properties": { "order_id": { "description": "OrderID 创建成功的订单ID。", "type": "integer" } } }, "dto.OrderPayForm": { "type": "object", "properties": { "method": { "description": "Method 支付方式(wechat/alipay/balance)。", "type": "string" } } }, "dto.OrderPayResponse": { "type": "object", "properties": { "pay_params": { "description": "PayParams 支付参数(透传给前端)。", "type": "string" } } }, "dto.OrderStatisticsResponse": { "type": "object", "properties": { "by_status": { "type": "array", "items": { "$ref": "#/definitions/dto.OrderStatisticsRow" } }, "total_amount_paid_sum": { "type": "integer" }, "total_count": { "type": "integer" } } }, "dto.OrderStatisticsRow": { "type": "object", "properties": { "amount_paid_sum": { "type": "integer" }, "count": { "type": "integer" }, "status": { "$ref": "#/definitions/consts.OrderStatus" }, "status_description": { "type": "string" } } }, "dto.OrderStatusResponse": { "type": "object", "properties": { "status": { "description": "Status 订单状态(unpaid/paid/completed 等)。", "type": "string" } } }, "dto.OrderTenantLite": { "type": "object", "properties": { "code": { "type": "string" }, "id": { "type": "integer" }, "name": { "type": "string" } } }, "dto.PayoutAccount": { "type": "object", "properties": { "account": { "description": "Account 收款账号。", "type": "string" }, "id": { "description": "ID 收款账户ID。", "type": "integer" }, "name": { "description": "Name 账户名称/开户行。", "type": "string" }, "realname": { "description": "Realname 收款人姓名。", "type": "string" }, "type": { "description": "Type 账户类型(bank/alipay)。", "type": "string" } } }, "dto.RealNameForm": { "type": "object", "properties": { "id_card": { "description": "IDCard 身份证号。", "type": "string" }, "realname": { "description": "Realname 真实姓名。", "type": "string" } } }, "dto.RechargeForm": { "type": "object", "properties": { "amount": { "description": "Amount 充值金额(单位元)。", "type": "number" }, "method": { "description": "Method 充值方式(wechat/alipay)。", "type": "string" } } }, "dto.RechargeResponse": { "type": "object", "properties": { "order_id": { "description": "OrderID 充值订单ID。", "type": "integer" }, "pay_params": { "description": "PayParams 支付参数(透传给前端)。", "type": "string" } } }, "dto.RefundForm": { "type": "object", "properties": { "action": { "description": "Action 处理动作(accept/reject)。", "type": "string" }, "reason": { "description": "Reason 退款原因/备注。", "type": "string" } } }, "dto.Settings": { "type": "object", "properties": { "avatar": { "description": "Avatar 头像URL。", "type": "string" }, "bio": { "description": "Bio 频道简介。", "type": "string" }, "cover": { "description": "Cover 封面图URL。", "type": "string" }, "description": { "description": "Description 详细描述。", "type": "string" }, "id": { "description": "ID 租户/频道ID。", "type": "integer" }, "name": { "description": "Name 频道名称。", "type": "string" } } }, "dto.Stats": { "type": "object", "properties": { "contents": { "description": "Contents 内容数。", "type": "integer" }, "followers": { "description": "Followers 粉丝数。", "type": "integer" }, "likes": { "description": "Likes 累计点赞数。", "type": "integer" } } }, "dto.SuperContentTenantLite": { "type": "object", "properties": { "code": { "type": "string" }, "id": { "type": "integer" }, "name": { "type": "string" } } }, "dto.SuperOrderDetail": { "type": "object", "properties": { "buyer": { "$ref": "#/definitions/dto.OrderBuyerLite" }, "order": { "description": "Using SuperOrderItem as base, extend if needed", "allOf": [ { "$ref": "#/definitions/dto.SuperOrderItem" } ] }, "tenant": { "$ref": "#/definitions/dto.OrderTenantLite" } } }, "dto.SuperOrderItem": { "type": "object", "properties": { "amount_discount": { "type": "integer" }, "amount_original": { "type": "integer" }, "amount_paid": { "type": "integer" }, "buyer": { "$ref": "#/definitions/dto.OrderBuyerLite" }, "created_at": { "type": "string" }, "currency": { "$ref": "#/definitions/consts.Currency" }, "id": { "type": "integer" }, "items": { "description": "Items 订单明细行,用于展示具体内容与金额拆分。", "type": "array", "items": { "$ref": "#/definitions/dto.SuperOrderItemLine" } }, "paid_at": { "type": "string" }, "refunded_at": { "type": "string" }, "snapshot": { "description": "Snapshot 订单快照,包含下单时的关键参数与定价信息,便于审计回溯。" }, "status": { "$ref": "#/definitions/consts.OrderStatus" }, "status_description": { "type": "string" }, "tenant": { "$ref": "#/definitions/dto.OrderTenantLite" }, "type": { "$ref": "#/definitions/consts.OrderType" }, "updated_at": { "type": "string" } } }, "dto.SuperOrderItemLine": { "type": "object", "properties": { "amount_paid": { "description": "AmountPaid 该明细实付金额(分)。", "type": "integer" }, "content_id": { "description": "ContentID 购买的内容ID。", "type": "integer" }, "id": { "description": "ID 订单明细ID。", "type": "integer" }, "snapshot": { "description": "Snapshot 明细快照,用于展示内容标题等历史信息。" } } }, "dto.SuperOrderRefundForm": { "type": "object", "properties": { "force": { "type": "boolean" }, "idempotency_key": { "type": "string" }, "reason": { "type": "string" } } }, "dto.SuperTenantContentStatusUpdateForm": { "type": "object", "required": [ "status" ], "properties": { "status": { "enum": [ "unpublished", "blocked" ], "allOf": [ { "$ref": "#/definitions/consts.ContentStatus" } ] } } }, "dto.SuperTenantUserItem": { "type": "object", "properties": { "tenant_user": { "$ref": "#/definitions/dto.TenantUser" }, "user": { "$ref": "#/definitions/dto.SuperUserLite" } } }, "dto.SuperUserLite": { "type": "object", "properties": { "created_at": { "type": "string" }, "id": { "type": "integer" }, "roles": { "type": "array", "items": { "$ref": "#/definitions/consts.Role" } }, "status": { "$ref": "#/definitions/consts.UserStatus" }, "status_description": { "type": "string" }, "updated_at": { "type": "string" }, "username": { "type": "string" }, "verified_at": { "type": "string" } } }, "dto.TenantAdminUserLite": { "type": "object", "properties": { "id": { "type": "integer" }, "username": { "type": "string" } } }, "dto.TenantCreateForm": { "type": "object", "required": [ "admin_user_id", "code", "duration", "name" ], "properties": { "admin_user_id": { "type": "integer" }, "code": { "type": "string", "maxLength": 64 }, "duration": { "type": "integer", "enum": [ 7, 30, 90, 180, 365 ] }, "name": { "type": "string", "maxLength": 128 } } }, "dto.TenantExpireUpdateForm": { "type": "object", "required": [ "duration" ], "properties": { "duration": { "type": "integer", "enum": [ 7, 30, 90, 180, 365 ] } } }, "dto.TenantItem": { "type": "object", "properties": { "admin_users": { "type": "array", "items": { "$ref": "#/definitions/dto.TenantAdminUserLite" } }, "code": { "type": "string" }, "config": { "description": "Replace with actual config struct if needed", "type": "array", "items": { "type": "integer" } }, "created_at": { "type": "string" }, "expired_at": { "type": "string" }, "id": { "type": "integer" }, "income_amount_paid_sum": { "type": "integer" }, "name": { "type": "string" }, "owner": { "$ref": "#/definitions/dto.TenantOwnerUserLite" }, "status": { "$ref": "#/definitions/consts.TenantStatus" }, "status_description": { "type": "string" }, "updated_at": { "type": "string" }, "user_count": { "type": "integer" }, "user_id": { "type": "integer" }, "users": { "type": "array", "items": { "$ref": "#/definitions/dto.SuperUserLite" } }, "uuid": { "type": "string" } } }, "dto.TenantOwnerUserLite": { "type": "object", "properties": { "id": { "type": "integer" }, "username": { "type": "string" } } }, "dto.TenantProfile": { "type": "object", "properties": { "avatar": { "description": "Avatar 头像URL。", "type": "string" }, "bio": { "description": "Bio 简短简介。", "type": "string" }, "cert_type": { "description": "CertType 认证类型(personal/enterprise)。", "type": "string" }, "cover": { "description": "Cover 封面图URL。", "type": "string" }, "description": { "description": "Description 详细描述。", "type": "string" }, "id": { "description": "ID 租户ID。", "type": "integer" }, "is_following": { "description": "IsFollowing 当前用户是否关注。", "type": "boolean" }, "name": { "description": "Name 租户名称。", "type": "string" }, "stats": { "description": "Stats 统计信息。", "allOf": [ { "$ref": "#/definitions/dto.Stats" } ] } } }, "dto.TenantStatusUpdateForm": { "type": "object", "required": [ "status" ], "properties": { "status": { "$ref": "#/definitions/consts.TenantStatus" } } }, "dto.TenantUser": { "type": "object", "properties": { "created_at": { "type": "string" }, "id": { "type": "integer" }, "role": { "type": "array", "items": { "$ref": "#/definitions/consts.TenantUserRole" } }, "status": { "$ref": "#/definitions/consts.UserStatus" }, "tenant_id": { "type": "integer" }, "updated_at": { "type": "string" }, "user_id": { "type": "integer" } } }, "dto.Topic": { "type": "object", "properties": { "count": { "description": "Count 专题内内容数量。", "type": "integer" }, "cover": { "description": "Cover 专题封面图。", "type": "string" }, "id": { "description": "ID 专题ID。", "type": "integer" }, "tag": { "description": "Tag 专题标签(用于筛选/展示)。", "type": "string" }, "title": { "description": "Title 专题标题。", "type": "string" } } }, "dto.Transaction": { "type": "object", "properties": { "amount": { "description": "Amount 发生金额(单位元)。", "type": "number" }, "date": { "description": "Date 发生时间(RFC3339)。", "type": "string" }, "id": { "description": "ID 流水ID。", "type": "integer" }, "title": { "description": "Title 流水标题/描述。", "type": "string" }, "type": { "description": "Type 流水类型(income/expense)。", "type": "string" } } }, "dto.UploadCompleteForm": { "type": "object", "properties": { "upload_id": { "description": "UploadID 分片上传ID。", "type": "string" } } }, "dto.UploadInitForm": { "type": "object", "properties": { "filename": { "description": "Filename 原始文件名。", "type": "string" }, "hash": { "description": "Hash 文件 MD5 哈希(用于秒传校验)。", "type": "string" }, "mime_type": { "description": "MimeType 文件类型(如 image/png)。", "type": "string" }, "size": { "description": "Size 文件大小(字节)。", "type": "integer" }, "type": { "description": "Type 业务类型(如 cover/media/avatar)。", "type": "string" } } }, "dto.UploadInitResponse": { "type": "object", "properties": { "chunk_size": { "description": "ChunkSize 分片大小(字节)。", "type": "integer" }, "key": { "description": "Key 对象存储Key(S3 直传使用)。", "type": "string" }, "upload_id": { "description": "UploadID 分片上传ID。", "type": "string" } } }, "dto.UploadResult": { "type": "object", "properties": { "filename": { "description": "Filename 原始文件名。", "type": "string" }, "id": { "description": "ID 媒体资源ID。", "type": "integer" }, "mime_type": { "description": "MimeType 文件类型(如 image/png)。", "type": "string" }, "size": { "description": "Size 文件大小(字节)。", "type": "integer" }, "url": { "description": "URL 访问地址(包含签名或公共URL)。", "type": "string" } } }, "dto.UserCouponItem": { "type": "object", "properties": { "coupon_id": { "description": "CouponID 券模板ID。", "type": "integer" }, "description": { "description": "Description 券描述。", "type": "string" }, "end_at": { "description": "EndAt 过期时间(RFC3339)。", "type": "string" }, "id": { "description": "ID 用户券ID。", "type": "integer" }, "min_order_amount": { "description": "MinOrderAmount 使用门槛金额(分)。", "type": "integer" }, "start_at": { "description": "StartAt 生效时间(RFC3339)。", "type": "string" }, "status": { "description": "Status 当前状态(可用/已用/过期)。", "type": "string" }, "title": { "description": "Title 券标题。", "type": "string" }, "type": { "description": "Type 券类型(满减/折扣)。", "type": "string" }, "value": { "description": "Value 券面值(分/百分比)。", "type": "integer" } } }, "dto.UserItem": { "type": "object", "properties": { "balance": { "type": "integer" }, "balance_frozen": { "type": "integer" }, "created_at": { "type": "string" }, "id": { "type": "integer" }, "joined_tenant_count": { "type": "integer" }, "owned_tenant_count": { "type": "integer" }, "roles": { "type": "array", "items": { "$ref": "#/definitions/consts.Role" } }, "status": { "$ref": "#/definitions/consts.UserStatus" }, "status_description": { "type": "string" }, "updated_at": { "type": "string" }, "username": { "type": "string" }, "verified_at": { "type": "string" } } }, "dto.UserRolesUpdateForm": { "type": "object", "required": [ "roles" ], "properties": { "roles": { "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/consts.Role" } } } }, "dto.UserStatistics": { "type": "object", "properties": { "count": { "type": "integer" }, "status": { "$ref": "#/definitions/consts.UserStatus" }, "status_description": { "type": "string" } } }, "dto.UserStatusUpdateForm": { "type": "object", "required": [ "status" ], "properties": { "status": { "$ref": "#/definitions/consts.UserStatus" } } }, "dto.UserTenantItem": { "type": "object", "properties": { "code": { "type": "string" }, "expired_at": { "type": "string" }, "joined_at": { "type": "string" }, "member_status": { "$ref": "#/definitions/consts.UserStatus" }, "member_status_description": { "type": "string" }, "name": { "type": "string" }, "owner": { "$ref": "#/definitions/dto.TenantOwnerUserLite" }, "role": { "type": "array", "items": { "$ref": "#/definitions/consts.TenantUserRole" } }, "tenant_id": { "type": "integer" }, "tenant_status": { "$ref": "#/definitions/consts.TenantStatus" }, "tenant_status_description": { "type": "string" } } }, "dto.UserUpdate": { "type": "object", "properties": { "avatar": { "description": "Avatar 头像URL。", "type": "string" }, "bio": { "description": "Bio 个人简介。", "type": "string" }, "birthday": { "description": "Birthday 生日(YYYY-MM-DD)。", "type": "string" }, "gender": { "description": "Gender 性别(枚举)。", "allOf": [ { "$ref": "#/definitions/consts.Gender" } ] }, "location": { "description": "Location 地区信息(省/市)。", "allOf": [ { "$ref": "#/definitions/quyun_v2_app_http_v1_dto.Location" } ] }, "nickname": { "description": "Nickname 昵称。", "type": "string" } } }, "dto.WalletResponse": { "type": "object", "properties": { "balance": { "description": "Balance 账户余额(单位元)。", "type": "number" }, "transactions": { "description": "Transactions 交易流水列表。", "type": "array", "items": { "$ref": "#/definitions/dto.Transaction" } } } }, "dto.WithdrawForm": { "type": "object", "properties": { "account_id": { "description": "AccountID 收款账户ID。", "type": "integer" }, "amount": { "description": "Amount 提现金额(单位元)。", "type": "number" }, "method": { "description": "Method 提现方式(wallet/external)。", "type": "string" } } }, "quyun_v2_app_http_super_v1_dto.Location": { "type": "object", "properties": { "city": { "type": "string" }, "province": { "type": "string" } } }, "quyun_v2_app_http_super_v1_dto.LoginForm": { "type": "object", "properties": { "password": { "type": "string" }, "username": { "type": "string" } } }, "quyun_v2_app_http_super_v1_dto.LoginResponse": { "type": "object", "properties": { "token": { "type": "string" }, "user": { "$ref": "#/definitions/quyun_v2_app_http_super_v1_dto.User" } } }, "quyun_v2_app_http_super_v1_dto.User": { "type": "object", "properties": { "avatar": { "type": "string" }, "balance": { "type": "number" }, "bio": { "type": "string" }, "birthday": { "description": "YYYY-MM-DD", "type": "string" }, "gender": { "$ref": "#/definitions/consts.Gender" }, "id": { "type": "integer" }, "is_real_name_verified": { "type": "boolean" }, "location": { "$ref": "#/definitions/quyun_v2_app_http_super_v1_dto.Location" }, "nickname": { "type": "string" }, "phone": { "type": "string" }, "points": { "type": "integer" } } }, "quyun_v2_app_http_v1_dto.Location": { "type": "object", "properties": { "city": { "description": "City 城市名称。", "type": "string" }, "province": { "description": "Province 省份名称。", "type": "string" } } }, "quyun_v2_app_http_v1_dto.LoginForm": { "type": "object", "properties": { "otp": { "description": "OTP 短信验证码。", "type": "string" }, "phone": { "description": "Phone 手机号(登录账号)。", "type": "string" } } }, "quyun_v2_app_http_v1_dto.LoginResponse": { "type": "object", "properties": { "token": { "description": "Token 登录成功后的 JWT。", "type": "string" }, "user": { "description": "User 当前登录用户信息。", "allOf": [ { "$ref": "#/definitions/quyun_v2_app_http_v1_dto.User" } ] } } }, "quyun_v2_app_http_v1_dto.SendOTPForm": { "type": "object", "properties": { "phone": { "description": "Phone 手机号(用于发送验证码)。", "type": "string" } } }, "quyun_v2_app_http_v1_dto.User": { "type": "object", "properties": { "avatar": { "description": "Avatar 头像URL。", "type": "string" }, "balance": { "description": "Balance 余额(单位元)。", "type": "number" }, "bio": { "description": "Bio 个人简介。", "type": "string" }, "birthday": { "description": "Birthday 生日(YYYY-MM-DD)。", "type": "string" }, "gender": { "description": "Gender 性别(枚举)。", "allOf": [ { "$ref": "#/definitions/consts.Gender" } ] }, "id": { "description": "ID 用户ID。", "type": "integer" }, "is_real_name_verified": { "description": "IsRealNameVerified 是否完成实名认证。", "type": "boolean" }, "location": { "description": "Location 地区信息(省/市)。", "allOf": [ { "$ref": "#/definitions/quyun_v2_app_http_v1_dto.Location" } ] }, "nickname": { "description": "Nickname 昵称。", "type": "string" }, "phone": { "description": "Phone 绑定手机号。", "type": "string" }, "points": { "description": "Points 积分余额。", "type": "integer" } } }, "requests.KV": { "type": "object", "properties": { "key": { "description": "Key is a machine-readable value, usually an enum string.", "type": "string" }, "value": { "description": "Value is the label payload, often a human-readable string." } } }, "requests.Pager": { "type": "object", "properties": { "items": { "description": "Items is the paged result list; concrete type depends on endpoint." }, "limit": { "description": "Limit is page size; only values in {10,20,50,100} are accepted (otherwise defaults to 10).", "type": "integer" }, "page": { "description": "Page is 1-based page index; values \u003c= 0 are normalized to 1.", "type": "integer" }, "total": { "description": "Total is the total number of items matching current filter (before paging).", "type": "integer" } } }, "v1.WebhookForm": { "type": "object", "properties": { "external_id": { "type": "string" }, "order_id": { "type": "integer" } } } }, "securityDefinitions": { "BasicAuth": { "type": "basic" } }, "externalDocs": { "description": "OpenAPI", "url": "https://swagger.io/resources/open-api/" } }` // SwaggerInfo holds exported Swagger Info so clients can modify it var SwaggerInfo = &swag.Spec{ Version: "1.0", Host: "localhost:8080", BasePath: "/", Schemes: []string{}, Title: "ApiDoc", Description: "Multi-tenant media platform backend API.", InfoInstanceName: "swagger", SwaggerTemplate: docTemplate, LeftDelim: "{{", RightDelim: "}}", } func init() { swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo) }