Files
quyun-v2/backend/docs/swagger.yaml

6588 lines
169 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
basePath: /
definitions:
consts.ContentAccessStatus:
enum:
- active
- revoked
- expired
type: string
x-enum-varnames:
- ContentAccessStatusActive
- ContentAccessStatusRevoked
- ContentAccessStatusExpired
consts.ContentStatus:
enum:
- draft
- reviewing
- published
- unpublished
- blocked
type: string
x-enum-varnames:
- ContentStatusDraft
- ContentStatusReviewing
- ContentStatusPublished
- ContentStatusUnpublished
- ContentStatusBlocked
consts.CouponType:
enum:
- fix_amount
- discount
type: string
x-enum-varnames:
- CouponTypeFixAmount
- CouponTypeDiscount
consts.Currency:
enum:
- CNY
type: string
x-enum-varnames:
- CurrencyCNY
consts.Gender:
enum:
- male
- female
- secret
type: string
x-enum-varnames:
- GenderMale
- GenderFemale
- GenderSecret
consts.MediaAssetStatus:
enum:
- uploaded
- processing
- ready
- failed
- deleted
type: string
x-enum-varnames:
- MediaAssetStatusUploaded
- MediaAssetStatusProcessing
- MediaAssetStatusReady
- MediaAssetStatusFailed
- MediaAssetStatusDeleted
consts.MediaAssetType:
enum:
- video
- audio
- image
type: string
x-enum-varnames:
- MediaAssetTypeVideo
- MediaAssetTypeAudio
- MediaAssetTypeImage
consts.MediaAssetVariant:
enum:
- main
- preview
type: string
x-enum-varnames:
- MediaAssetVariantMain
- MediaAssetVariantPreview
consts.NotificationType:
enum:
- system
- order
- audit
- interaction
type: string
x-enum-varnames:
- NotificationTypeSystem
- NotificationTypeOrder
- NotificationTypeAudit
- NotificationTypeInteraction
consts.OrderStatus:
enum:
- created
- paid
- refunding
- refunded
- canceled
- failed
type: string
x-enum-varnames:
- OrderStatusCreated
- OrderStatusPaid
- OrderStatusRefunding
- OrderStatusRefunded
- OrderStatusCanceled
- OrderStatusFailed
consts.OrderType:
enum:
- content_purchase
- recharge
- withdrawal
type: string
x-enum-varnames:
- OrderTypeContentPurchase
- OrderTypeRecharge
- OrderTypeWithdrawal
consts.Role:
enum:
- user
- super_admin
- creator
type: string
x-enum-varnames:
- RoleUser
- RoleSuperAdmin
- RoleCreator
consts.TenantStatus:
enum:
- pending_verify
- verified
- banned
type: string
x-enum-varnames:
- TenantStatusPendingVerify
- TenantStatusVerified
- TenantStatusBanned
consts.TenantUserRole:
enum:
- member
- tenant_admin
type: string
x-enum-varnames:
- TenantUserRoleMember
- TenantUserRoleTenantAdmin
consts.UserContentActionType:
enum:
- like
- favorite
type: string
x-enum-varnames:
- UserContentActionTypeLike
- UserContentActionTypeFavorite
consts.UserCouponStatus:
enum:
- unused
- used
- expired
type: string
x-enum-varnames:
- UserCouponStatusUnused
- UserCouponStatusUsed
- UserCouponStatusExpired
consts.UserStatus:
enum:
- active
- inactive
- pending_verify
- verified
- banned
type: string
x-enum-varnames:
- UserStatusActive
- UserStatusInactive
- UserStatusPendingVerify
- UserStatusVerified
- UserStatusBanned
dto.AdminContentItem:
properties:
content:
allOf:
- $ref: '#/definitions/dto.ContentItem'
description: Content 内容摘要信息。
owner:
allOf:
- $ref: '#/definitions/dto.AdminContentOwnerLite'
description: Owner 内容作者用户信息。
price:
allOf:
- $ref: '#/definitions/dto.ContentPrice'
description: Price 内容价格信息。
status_description:
description: StatusDescription 状态描述(用于展示)。
type: string
tenant:
allOf:
- $ref: '#/definitions/dto.SuperContentTenantLite'
description: Tenant 内容所属租户信息,用于超管列表展示与跳转。
visibility_description:
description: VisibilityDescription 可见性描述(用于展示)。
type: string
type: object
dto.AdminContentOwnerLite:
properties:
id:
description: ID 用户ID。
type: integer
roles:
description: Roles 用户角色列表。
items:
$ref: '#/definitions/consts.Role'
type: array
status:
allOf:
- $ref: '#/definitions/consts.UserStatus'
description: Status 用户状态。
username:
description: Username 用户名。
type: string
type: object
dto.ApplyForm:
properties:
avatar:
description: Avatar 头像URL。
type: string
bio:
description: Bio 频道简介。
type: string
name:
description: Name 频道/创作者名称。
type: string
type: object
dto.AssetDTO:
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
type: object
dto.Comment:
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 回复的评论ID0 表示一级评论)。
type: integer
user_avatar:
description: UserAvatar 评论用户头像。
type: string
user_id:
description: UserID 评论用户ID。
type: integer
user_nickname:
description: UserNickname 评论用户昵称。
type: string
type: object
dto.CommentCreateForm:
properties:
content:
description: Content 评论正文,不能为空。
type: string
reply_to:
description: ReplyTo 被回复评论ID0 表示一级评论)。
type: integer
type: object
dto.ContentCreateForm:
properties:
cover_ids:
description: CoverIDs 封面资源ID集合。
items:
type: integer
type: array
genre:
description: Genre 内容分类/风格。
type: string
key:
description: Key 音乐调性或主音。
type: string
media_ids:
description: MediaIDs 媒体资源ID集合音频/视频/图片)。
items:
type: integer
type: array
price:
description: Price 价格(单位元)。
type: number
status:
description: Status 内容状态draft/published
type: string
title:
description: Title 内容标题。
type: string
type: object
dto.ContentDetail:
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 关联媒体资源(音频/视频/预览)。
items:
$ref: '#/definitions/dto.MediaURL'
type: array
meta:
allOf:
- $ref: '#/definitions/dto.Meta'
description: 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
type: object
dto.ContentEditDTO:
properties:
assets:
description: Assets 资源列表(封面/媒体)。
items:
$ref: '#/definitions/dto.AssetDTO'
type: array
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
type: object
dto.ContentItem:
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
type: object
dto.ContentPrice:
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
type: object
dto.ContentUpdateForm:
properties:
cover_ids:
description: CoverIDs 封面资源ID集合。
items:
type: integer
type: array
genre:
description: Genre 内容分类/风格。
type: string
is_pinned:
description: IsPinned 是否置顶。
type: boolean
key:
description: Key 音乐调性或主音。
type: string
media_ids:
description: MediaIDs 媒体资源ID集合。
items:
type: integer
type: array
price:
description: Price 价格单位元nil 表示不修改)。
type: number
status:
description: Status 内容状态draft/published
type: string
title:
description: Title 内容标题(为空表示不修改)。
type: string
type: object
dto.CouponCreateForm:
properties:
description:
description: Description 优惠券描述。
type: string
end_at:
description: EndAt 过期时间RFC3339可为空
type: string
max_discount:
description: MaxDiscount 折扣券最高抵扣金额(分)。
type: integer
min_order_amount:
description: MinOrderAmount 使用门槛金额(分)。
type: integer
start_at:
description: StartAt 生效时间RFC3339可为空
type: string
title:
description: Title 优惠券标题。
type: string
total_quantity:
description: TotalQuantity 发行总量0 表示不限量)。
type: integer
type:
description: Type 优惠券类型fix_amount/discount
type: string
value:
description: Value 优惠券面值(分/折扣百分比)。
type: integer
type: object
dto.CouponGrantForm:
properties:
user_ids:
description: UserIDs 领取用户ID集合。
items:
type: integer
type: array
type: object
dto.CouponItem:
properties:
created_at:
description: CreatedAt 创建时间RFC3339
type: string
description:
description: Description 优惠券描述。
type: string
end_at:
description: EndAt 过期时间RFC3339
type: string
id:
description: ID 券模板ID。
type: integer
max_discount:
description: MaxDiscount 折扣券最高抵扣金额(分)。
type: integer
min_order_amount:
description: MinOrderAmount 使用门槛金额(分)。
type: integer
start_at:
description: StartAt 生效时间RFC3339
type: string
title:
description: Title 优惠券标题。
type: string
total_quantity:
description: TotalQuantity 发行总量。
type: integer
type:
description: Type 优惠券类型fix_amount/discount
type: string
updated_at:
description: UpdatedAt 更新时间RFC3339
type: string
used_quantity:
description: UsedQuantity 已使用数量。
type: integer
value:
description: Value 优惠券面值(分/折扣百分比)。
type: integer
type: object
dto.CouponReceiveForm:
properties:
coupon_id:
description: CouponID 券模板ID。
type: integer
type: object
dto.CouponUpdateForm:
properties:
description:
description: Description 优惠券描述(为空表示不修改)。
type: string
end_at:
description: EndAt 过期时间RFC3339可为空
type: string
max_discount:
description: MaxDiscount 折扣券最高抵扣金额(分)。
type: integer
min_order_amount:
description: MinOrderAmount 使用门槛金额(分)。
type: integer
start_at:
description: StartAt 生效时间RFC3339可为空
type: string
title:
description: Title 优惠券标题(为空表示不修改)。
type: string
total_quantity:
description: TotalQuantity 发行总量0 表示不限量)。
type: integer
type:
description: Type 优惠券类型fix_amount/discount
type: string
value:
description: Value 优惠券面值(分/折扣百分比)。
type: integer
type: object
dto.DashboardStats:
properties:
new_messages:
description: NewMessages 新消息数量。
type: integer
pending_refunds:
description: PendingRefunds 待处理退款数量。
type: integer
total_followers:
allOf:
- $ref: '#/definitions/dto.IntStatItem'
description: TotalFollowers 粉丝总数统计。
total_revenue:
allOf:
- $ref: '#/definitions/dto.FloatStatItem'
description: TotalRevenue 累计收入统计(单位元)。
type: object
dto.FloatStatItem:
properties:
trend:
description: Trend 环比/同比变化比例。
type: number
value:
description: Value 统计数值(浮点)。
type: number
type: object
dto.IntStatItem:
properties:
trend:
description: Trend 环比/同比变化比例。
type: number
value:
description: Value 统计数值。
type: integer
type: object
dto.MediaURL:
properties:
duration:
description: Duration 媒体时长(秒),无时长则为 0。
type: integer
type:
description: Type 媒体类型audio/video/image/preview
type: string
url:
description: URL 媒体资源地址。
type: string
type: object
dto.Meta:
properties:
beat:
description: Beat 节拍信息(如 4/4
type: string
key:
description: Key 音乐调性或主音。
type: string
role:
description: Role 内容角色/定位(如 demo/主稿)。
type: string
type: object
dto.Notification:
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
type: object
dto.OptionsResponse:
properties:
content_genre:
description: ContentGenre 内容类型/分类选项。
items:
$ref: '#/definitions/requests.KV'
type: array
content_status:
description: ContentStatus 内容状态选项。
items:
$ref: '#/definitions/requests.KV'
type: array
type: object
dto.Order:
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 订单内容明细。
items:
$ref: '#/definitions/dto.ContentItem'
type: array
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
type: object
dto.OrderBuyerLite:
properties:
id:
description: ID 买家用户ID。
type: integer
username:
description: Username 买家用户名。
type: string
type: object
dto.OrderCreateForm:
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
type: object
dto.OrderCreateResponse:
properties:
order_id:
description: OrderID 创建成功的订单ID。
type: integer
type: object
dto.OrderPayForm:
properties:
method:
description: Method 支付方式wechat/alipay/balance
type: string
type: object
dto.OrderPayResponse:
properties:
pay_params:
description: PayParams 支付参数(透传给前端)。
type: string
type: object
dto.OrderStatisticsResponse:
properties:
by_status:
description: ByStatus 按状态聚合统计。
items:
$ref: '#/definitions/dto.OrderStatisticsRow'
type: array
total_amount_paid_sum:
description: TotalAmountPaidSum 实付总额(分)。
type: integer
total_count:
description: TotalCount 订单总数。
type: integer
type: object
dto.OrderStatisticsRow:
properties:
amount_paid_sum:
description: AmountPaidSum 该状态实付总额(分)。
type: integer
count:
description: Count 该状态订单数量。
type: integer
status:
allOf:
- $ref: '#/definitions/consts.OrderStatus'
description: Status 订单状态。
status_description:
description: StatusDescription 状态描述(用于展示)。
type: string
type: object
dto.OrderStatusResponse:
properties:
status:
description: Status 订单状态unpaid/paid/completed 等)。
type: string
type: object
dto.OrderTenantLite:
properties:
code:
description: Code 租户编码。
type: string
id:
description: ID 租户ID。
type: integer
name:
description: Name 租户名称。
type: string
type: object
dto.PayoutAccount:
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
type: object
dto.RealNameForm:
properties:
id_card:
description: IDCard 身份证号。
type: string
realname:
description: Realname 真实姓名。
type: string
type: object
dto.RechargeForm:
properties:
amount:
description: Amount 充值金额(单位元)。
type: number
method:
description: Method 充值方式wechat/alipay
type: string
type: object
dto.RechargeResponse:
properties:
order_id:
description: OrderID 充值订单ID。
type: integer
pay_params:
description: PayParams 支付参数(透传给前端)。
type: string
type: object
dto.RefundForm:
properties:
action:
description: Action 处理动作accept/reject
type: string
reason:
description: Reason 退款原因/备注。
type: string
type: object
dto.ReportExportForm:
properties:
end_at:
description: EndAt 统计结束时间RFC3339可选默认当前时间
type: string
format:
description: Format 导出格式(仅支持 csv
type: string
granularity:
description: Granularity 统计粒度day目前仅支持 day
type: string
start_at:
description: StartAt 统计开始时间RFC3339可选默认当前时间往前 7 天)。
type: string
type: object
dto.ReportExportResponse:
properties:
content:
description: Content 导出内容CSV 文本)。
type: string
filename:
description: Filename 导出文件名。
type: string
mime_type:
description: MimeType 导出内容类型。
type: string
type: object
dto.ReportOverviewItem:
properties:
comment_count:
description: CommentCount 当日新增评论数。
type: integer
content_created:
description: ContentCreated 当日新增内容数。
type: integer
date:
description: Date 日期YYYY-MM-DD
type: string
favorite_actions:
description: FavoriteActions 当日新增收藏数(基于互动记录)。
type: integer
like_actions:
description: LikeActions 当日新增点赞数(基于互动记录)。
type: integer
paid_amount:
description: PaidAmount 当日已支付金额(单位元)。
type: number
paid_orders:
description: PaidOrders 当日已支付订单数。
type: integer
refund_amount:
description: RefundAmount 当日退款金额(单位元)。
type: number
refund_orders:
description: RefundOrders 当日退款订单数。
type: integer
withdrawal_apply_amount:
description: WithdrawalApplyAmount 当日提现申请金额(单位元)。
type: number
withdrawal_apply_orders:
description: WithdrawalApplyOrders 当日提现申请订单数。
type: integer
withdrawal_failed_amount:
description: WithdrawalFailedAmount 当日提现失败金额(单位元)。
type: number
withdrawal_failed_orders:
description: WithdrawalFailedOrders 当日提现失败订单数。
type: integer
withdrawal_paid_amount:
description: WithdrawalPaidAmount 当日提现完成金额(单位元)。
type: number
withdrawal_paid_orders:
description: WithdrawalPaidOrders 当日提现完成订单数。
type: integer
type: object
dto.ReportOverviewResponse:
properties:
items:
description: Items 按日期拆分的趋势数据。
items:
$ref: '#/definitions/dto.ReportOverviewItem'
type: array
summary:
allOf:
- $ref: '#/definitions/dto.ReportSummary'
description: Summary 汇总指标。
type: object
dto.ReportSummary:
properties:
comment_count:
description: CommentCount 统计区间内新增评论数。
type: integer
content_count:
description: ContentCount 内容总量(当前快照)。
type: integer
content_created:
description: ContentCreated 统计区间内新增内容数。
type: integer
conversion_rate:
description: ConversionRate 转化率(已支付订单数 / 累计曝光)。
type: number
favorite_actions:
description: FavoriteActions 统计区间内新增收藏数(基于互动记录)。
type: integer
like_actions:
description: LikeActions 统计区间内新增点赞数(基于互动记录)。
type: integer
paid_amount:
description: PaidAmount 统计区间内已支付金额(单位元)。
type: number
paid_orders:
description: PaidOrders 统计区间内已支付订单数。
type: integer
refund_amount:
description: RefundAmount 统计区间内退款金额(单位元)。
type: number
refund_orders:
description: RefundOrders 统计区间内退款订单数。
type: integer
total_views:
description: TotalViews 内容累计曝光(全量累计值,用于粗略换算)。
type: integer
withdrawal_apply_amount:
description: WithdrawalApplyAmount 统计区间内提现申请金额(单位元)。
type: number
withdrawal_apply_orders:
description: WithdrawalApplyOrders 统计区间内提现申请订单数。
type: integer
withdrawal_failed_amount:
description: WithdrawalFailedAmount 统计区间内提现失败金额(单位元)。
type: number
withdrawal_failed_orders:
description: WithdrawalFailedOrders 统计区间内提现失败订单数。
type: integer
withdrawal_paid_amount:
description: WithdrawalPaidAmount 统计区间内提现完成金额(单位元)。
type: number
withdrawal_paid_orders:
description: WithdrawalPaidOrders 统计区间内提现完成订单数。
type: integer
type: object
dto.Settings:
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
type: object
dto.Stats:
properties:
contents:
description: Contents 内容数。
type: integer
followers:
description: Followers 粉丝数。
type: integer
likes:
description: Likes 累计点赞数。
type: integer
type: object
dto.SuperAssetItem:
properties:
bucket:
description: Bucket 存储桶名称。
type: string
created_at:
description: CreatedAt 创建时间RFC3339
type: string
filename:
description: Filename 原始文件名。
type: string
hash:
description: Hash 文件哈希MD5
type: string
id:
description: ID 资产ID。
type: integer
object_key:
description: ObjectKey 对象Key。
type: string
provider:
description: Provider 存储提供方。
type: string
size:
description: Size 文件大小(字节)。
type: integer
source_asset_id:
description: SourceAssetID 源资产ID用于变体关联
type: integer
status:
allOf:
- $ref: '#/definitions/consts.MediaAssetStatus'
description: Status 处理状态。
tenant_code:
description: TenantCode 租户编码。
type: string
tenant_id:
description: TenantID 租户ID。
type: integer
tenant_name:
description: TenantName 租户名称。
type: string
type:
allOf:
- $ref: '#/definitions/consts.MediaAssetType'
description: Type 媒体类型。
updated_at:
description: UpdatedAt 更新时间RFC3339
type: string
url:
description: URL 访问URL若可用
type: string
used_count:
description: UsedCount 被内容引用次数。
type: integer
user_id:
description: UserID 上传用户ID。
type: integer
username:
description: Username 上传用户名/昵称。
type: string
variant:
allOf:
- $ref: '#/definitions/consts.MediaAssetVariant'
description: Variant 媒体变体main/preview/cover 等)。
type: object
dto.SuperAssetUsageItem:
properties:
count:
description: Count 该类型资产数量。
type: integer
total_size:
description: TotalSize 该类型资产大小总和(字节)。
type: integer
type:
allOf:
- $ref: '#/definitions/consts.MediaAssetType'
description: Type 媒体类型。
type: object
dto.SuperAssetUsageResponse:
properties:
by_type:
description: ByType 按媒体类型汇总的用量统计。
items:
$ref: '#/definitions/dto.SuperAssetUsageItem'
type: array
total_count:
description: TotalCount 资产总量。
type: integer
total_size:
description: TotalSize 资产总大小(字节)。
type: integer
type: object
dto.SuperAuditLogItem:
properties:
action:
description: Action 动作标识。
type: string
created_at:
description: CreatedAt 创建时间RFC3339
type: string
detail:
description: Detail 操作详情。
type: string
id:
description: ID 审计日志ID。
type: integer
operator_id:
description: OperatorID 操作者用户ID。
type: integer
operator_name:
description: OperatorName 操作者用户名/昵称。
type: string
target_id:
description: TargetID 目标ID。
type: string
tenant_code:
description: TenantCode 租户编码。
type: string
tenant_id:
description: TenantID 租户ID。
type: integer
tenant_name:
description: TenantName 租户名称。
type: string
type: object
dto.SuperContentBatchReviewForm:
properties:
action:
description: Action 审核动作approve/reject
enum:
- approve
- reject
type: string
content_ids:
description: ContentIDs 待审核内容ID列表。
items:
type: integer
minItems: 1
type: array
reason:
description: Reason 审核说明(驳回时填写,便于作者修正)。
type: string
required:
- action
- content_ids
type: object
dto.SuperContentReviewForm:
properties:
action:
description: Action 审核动作approve/reject
enum:
- approve
- reject
type: string
reason:
description: Reason 审核说明(驳回时填写,便于作者修正)。
type: string
required:
- action
type: object
dto.SuperContentStatisticsResponse:
properties:
total_count:
description: TotalCount 内容总量。
type: integer
trend:
description: Trend 按天新增内容趋势。
items:
$ref: '#/definitions/dto.SuperContentTrendItem'
type: array
type: object
dto.SuperContentTenantLite:
properties:
code:
description: Code 租户编码。
type: string
id:
description: ID 租户ID。
type: integer
name:
description: Name 租户名称。
type: string
type: object
dto.SuperContentTrendItem:
properties:
created_count:
description: CreatedCount 当日新增内容数量。
type: integer
date:
description: Date 日期YYYY-MM-DD
type: string
type: object
dto.SuperCouponGrantItem:
properties:
coupon_id:
description: CouponID 优惠券ID。
type: integer
coupon_title:
description: CouponTitle 优惠券标题。
type: string
created_at:
description: CreatedAt 领取时间RFC3339
type: string
id:
description: ID 用户券ID。
type: integer
order_id:
description: OrderID 使用订单ID。
type: integer
status:
allOf:
- $ref: '#/definitions/consts.UserCouponStatus'
description: Status 用户券状态。
status_description:
description: StatusDescription 状态描述(用于展示)。
type: string
tenant_code:
description: TenantCode 租户编码。
type: string
tenant_id:
description: TenantID 租户ID。
type: integer
tenant_name:
description: TenantName 租户名称。
type: string
used_at:
description: UsedAt 使用时间RFC3339
type: string
user_id:
description: UserID 用户ID。
type: integer
username:
description: Username 用户名。
type: string
type: object
dto.SuperCouponGrantResponse:
properties:
granted:
description: Granted 实际发放数量。
type: integer
type: object
dto.SuperCouponItem:
properties:
created_at:
description: CreatedAt 创建时间RFC3339
type: string
description:
description: Description 优惠券描述。
type: string
end_at:
description: EndAt 结束时间RFC3339
type: string
id:
description: ID 优惠券ID。
type: integer
max_discount:
description: MaxDiscount 最大折扣金额(折扣券)。
type: integer
min_order_amount:
description: MinOrderAmount 最低订单金额门槛。
type: integer
start_at:
description: StartAt 生效时间RFC3339
type: string
status:
description: Status 状态active/expired/upcoming
type: string
status_description:
description: StatusDescription 状态描述(用于展示)。
type: string
tenant_code:
description: TenantCode 租户编码。
type: string
tenant_id:
description: TenantID 租户ID。
type: integer
tenant_name:
description: TenantName 租户名称。
type: string
title:
description: Title 优惠券标题。
type: string
total_quantity:
description: TotalQuantity 总发行数量0 表示不限量)。
type: integer
type:
allOf:
- $ref: '#/definitions/consts.CouponType'
description: Type 优惠券类型。
type_description:
description: TypeDescription 类型描述(用于展示)。
type: string
updated_at:
description: UpdatedAt 更新时间RFC3339
type: string
used_quantity:
description: UsedQuantity 已使用数量。
type: integer
value:
description: Value 优惠券面额/折扣值。
type: integer
type: object
dto.SuperCouponRiskItem:
properties:
coupon_id:
description: CouponID 优惠券ID。
type: integer
coupon_title:
description: CouponTitle 优惠券标题。
type: string
created_at:
description: CreatedAt 领取时间RFC3339
type: string
id:
description: ID 用户券ID。
type: integer
order_amount_paid:
description: OrderAmountPaid 订单实付金额(分)。
type: integer
order_id:
description: OrderID 使用订单ID。
type: integer
order_status:
allOf:
- $ref: '#/definitions/consts.OrderStatus'
description: OrderStatus 订单状态。
order_status_description:
description: OrderStatusDescription 订单状态描述(用于展示)。
type: string
paid_at:
description: PaidAt 订单支付时间RFC3339
type: string
risk_reason:
description: RiskReason 异常说明。
type: string
risk_type:
description: RiskType 异常类型。
type: string
status:
allOf:
- $ref: '#/definitions/consts.UserCouponStatus'
description: Status 用户券状态。
status_description:
description: StatusDescription 状态描述(用于展示)。
type: string
tenant_code:
description: TenantCode 租户编码。
type: string
tenant_id:
description: TenantID 租户ID。
type: integer
tenant_name:
description: TenantName 租户名称。
type: string
used_at:
description: UsedAt 使用时间RFC3339
type: string
user_id:
description: UserID 用户ID。
type: integer
username:
description: Username 用户名。
type: string
type: object
dto.SuperCouponStatusUpdateForm:
properties:
status:
description: Status 目标状态frozen
enum:
- frozen
type: string
required:
- status
type: object
dto.SuperCreatorApplicationReviewForm:
properties:
action:
description: Action 审核动作approve/reject
enum:
- approve
- reject
type: string
reason:
description: Reason 审核说明(可选,驳回时填写)。
type: string
required:
- action
type: object
dto.SuperNotificationBroadcastForm:
properties:
content:
description: Content 通知内容。
type: string
tenant_id:
description: TenantID 租户ID选填用于指定租户成员
type: integer
title:
description: Title 通知标题。
type: string
type:
allOf:
- $ref: '#/definitions/consts.NotificationType'
description: Type 通知类型system/order/audit/interaction
user_ids:
description: UserIDs 指定接收用户ID列表优先级高于 TenantID
items:
type: integer
type: array
type: object
dto.SuperNotificationItem:
properties:
content:
description: Content 通知内容。
type: string
created_at:
description: CreatedAt 创建时间RFC3339
type: string
id:
description: ID 通知ID。
type: integer
is_read:
description: IsRead 是否已读。
type: boolean
tenant_code:
description: TenantCode 租户编码。
type: string
tenant_id:
description: TenantID 租户ID。
type: integer
tenant_name:
description: TenantName 租户名称。
type: string
title:
description: Title 通知标题。
type: string
type:
allOf:
- $ref: '#/definitions/consts.NotificationType'
description: Type 通知类型。
user_id:
description: UserID 用户ID。
type: integer
username:
description: Username 用户名/昵称。
type: string
type: object
dto.SuperNotificationTemplateCreateForm:
properties:
content:
description: Content 通知内容。
type: string
is_active:
description: IsActive 是否启用(不传默认启用)。
type: boolean
name:
description: Name 模板名称(用于识别用途)。
type: string
tenant_id:
description: TenantID 租户ID不传代表全平台模板
type: integer
title:
description: Title 通知标题。
type: string
type:
allOf:
- $ref: '#/definitions/consts.NotificationType'
description: Type 通知类型system/order/audit/interaction
type: object
dto.SuperNotificationTemplateItem:
properties:
content:
description: Content 模板内容。
type: string
created_at:
description: CreatedAt 创建时间RFC3339
type: string
id:
description: ID 模板ID。
type: integer
is_active:
description: IsActive 是否启用。
type: boolean
name:
description: Name 模板名称。
type: string
tenant_code:
description: TenantCode 租户编码。
type: string
tenant_id:
description: TenantID 租户ID。
type: integer
tenant_name:
description: TenantName 租户名称。
type: string
title:
description: Title 模板标题。
type: string
type:
allOf:
- $ref: '#/definitions/consts.NotificationType'
description: Type 通知类型。
updated_at:
description: UpdatedAt 更新时间RFC3339
type: string
type: object
dto.SuperOrderDetail:
properties:
buyer:
allOf:
- $ref: '#/definitions/dto.OrderBuyerLite'
description: Buyer 订单买家信息。
order:
allOf:
- $ref: '#/definitions/dto.SuperOrderItem'
description: Order 订单详细信息。
tenant:
allOf:
- $ref: '#/definitions/dto.OrderTenantLite'
description: Tenant 订单所属租户信息。
type: object
dto.SuperOrderItem:
properties:
amount_discount:
description: AmountDiscount 优惠金额(分)。
type: integer
amount_original:
description: AmountOriginal 原价金额(分)。
type: integer
amount_paid:
description: AmountPaid 实付金额(分)。
type: integer
buyer:
allOf:
- $ref: '#/definitions/dto.OrderBuyerLite'
description: Buyer 订单买家信息。
created_at:
description: CreatedAt 创建时间RFC3339
type: string
currency:
allOf:
- $ref: '#/definitions/consts.Currency'
description: Currency 币种。
id:
description: ID 订单ID。
type: integer
items:
description: Items 订单明细行,用于展示具体内容与金额拆分。
items:
$ref: '#/definitions/dto.SuperOrderItemLine'
type: array
paid_at:
description: PaidAt 支付时间RFC3339
type: string
refunded_at:
description: RefundedAt 退款时间RFC3339
type: string
snapshot:
description: Snapshot 订单快照,包含下单时的关键参数与定价信息,便于审计回溯。
status:
allOf:
- $ref: '#/definitions/consts.OrderStatus'
description: Status 订单状态。
status_description:
description: StatusDescription 状态描述(用于展示)。
type: string
tenant:
allOf:
- $ref: '#/definitions/dto.OrderTenantLite'
description: Tenant 订单所属租户信息。
type:
allOf:
- $ref: '#/definitions/consts.OrderType'
description: Type 订单类型。
updated_at:
description: UpdatedAt 更新时间RFC3339
type: string
type: object
dto.SuperOrderItemLine:
properties:
amount_paid:
description: AmountPaid 该明细实付金额(分)。
type: integer
content_id:
description: ContentID 购买的内容ID。
type: integer
id:
description: ID 订单明细ID。
type: integer
snapshot:
description: Snapshot 明细快照,用于展示内容标题等历史信息。
type: object
dto.SuperOrderRefundForm:
properties:
force:
description: Force 是否强制退款(忽略部分约束)。
type: boolean
idempotency_key:
description: IdempotencyKey 幂等键(防止重复提交)。
type: string
reason:
description: Reason 退款原因说明。
type: string
type: object
dto.SuperPayoutAccountItem:
properties:
account:
description: Account 收款账号。
type: string
created_at:
description: CreatedAt 创建时间RFC3339
type: string
id:
description: ID 结算账户ID。
type: integer
name:
description: Name 账户名称/开户行。
type: string
realname:
description: Realname 收款人姓名。
type: string
tenant_code:
description: TenantCode 租户编码。
type: string
tenant_id:
description: TenantID 租户ID。
type: integer
tenant_name:
description: TenantName 租户名称。
type: string
type:
description: Type 账户类型。
type: string
updated_at:
description: UpdatedAt 更新时间RFC3339
type: string
user_id:
description: UserID 用户ID。
type: integer
username:
description: Username 用户名。
type: string
type: object
dto.SuperReportExportForm:
properties:
end_at:
description: EndAt 统计结束时间RFC3339可选默认当前时间
type: string
format:
description: Format 导出格式(仅支持 csv
type: string
granularity:
description: Granularity 统计粒度day目前仅支持 day
type: string
start_at:
description: StartAt 统计开始时间RFC3339可选默认当前时间往前 7 天)。
type: string
tenant_id:
description: TenantID 租户ID不传代表全平台
type: integer
type: object
dto.SuperSystemConfigCreateForm:
properties:
config_key:
description: ConfigKey 配置项Key唯一
type: string
description:
description: Description 配置说明。
type: string
value:
description: Value 配置值JSON
items:
type: integer
type: array
type: object
dto.SuperSystemConfigItem:
properties:
config_key:
description: ConfigKey 配置项Key。
type: string
created_at:
description: CreatedAt 创建时间RFC3339
type: string
description:
description: Description 配置说明。
type: string
id:
description: ID 配置ID。
type: integer
updated_at:
description: UpdatedAt 更新时间RFC3339
type: string
value:
description: Value 配置值JSON
items:
type: integer
type: array
type: object
dto.SuperSystemConfigUpdateForm:
properties:
description:
description: Description 配置说明(可选)。
type: string
value:
description: Value 配置值JSON可选
items:
type: integer
type: array
type: object
dto.SuperTenantContentStatusUpdateForm:
properties:
status:
allOf:
- $ref: '#/definitions/consts.ContentStatus'
description: Status 目标内容状态。
enum:
- unpublished
- blocked
required:
- status
type: object
dto.SuperTenantJoinRequestItem:
properties:
created_at:
description: CreatedAt 申请时间RFC3339
type: string
decided_at:
description: DecidedAt 审核时间RFC3339
type: string
decided_operator_user_id:
description: DecidedOperatorUserID 审核操作者ID。
type: integer
decided_reason:
description: DecidedReason 审核备注/原因。
type: string
id:
description: ID 申请记录ID。
type: integer
reason:
description: Reason 申请说明。
type: string
status:
description: Status 申请状态。
type: string
status_description:
description: StatusDescription 状态描述(用于展示)。
type: string
tenant_code:
description: TenantCode 租户编码。
type: string
tenant_id:
description: TenantID 租户ID。
type: integer
tenant_name:
description: TenantName 租户名称。
type: string
updated_at:
description: UpdatedAt 更新时间RFC3339
type: string
user_id:
description: UserID 申请用户ID。
type: integer
username:
description: Username 申请用户名称。
type: string
type: object
dto.SuperTenantUserItem:
properties:
tenant_user:
allOf:
- $ref: '#/definitions/dto.TenantUser'
description: TenantUser 租户成员关系信息。
user:
allOf:
- $ref: '#/definitions/dto.SuperUserLite'
description: User 用户信息。
type: object
dto.SuperUserContentActionItem:
properties:
action_at:
description: ActionAt 互动发生时间RFC3339
type: string
action_id:
description: ActionID 互动记录ID。
type: integer
action_type:
allOf:
- $ref: '#/definitions/consts.UserContentActionType'
description: ActionType 互动类型like/favorite
content:
allOf:
- $ref: '#/definitions/dto.AdminContentItem'
description: Content 互动对应内容详情(含租户与作者信息)。
type: object
dto.SuperUserCouponItem:
properties:
coupon_id:
description: CouponID 券模板ID。
type: integer
created_at:
description: CreatedAt 领取时间RFC3339
type: string
description:
description: Description 券描述。
type: string
end_at:
description: EndAt 过期时间RFC3339
type: string
id:
description: ID 用户券ID。
type: integer
max_discount:
description: MaxDiscount 折扣券最高抵扣金额(分)。
type: integer
min_order_amount:
description: MinOrderAmount 使用门槛金额(分)。
type: integer
order_id:
description: OrderID 使用订单ID未使用为0
type: integer
start_at:
description: StartAt 生效时间RFC3339
type: string
status:
allOf:
- $ref: '#/definitions/consts.UserCouponStatus'
description: Status 用户券状态。
status_description:
description: StatusDescription 用户券状态描述(用于展示)。
type: string
tenant_code:
description: TenantCode 券所属租户编码。
type: string
tenant_id:
description: TenantID 券所属租户ID。
type: integer
tenant_name:
description: TenantName 券所属租户名称。
type: string
title:
description: Title 券标题。
type: string
type:
allOf:
- $ref: '#/definitions/consts.CouponType'
description: Type 券类型。
type_description:
description: TypeDescription 券类型描述(用于展示)。
type: string
used_at:
description: UsedAt 使用时间RFC3339
type: string
value:
description: Value 券面值/折扣值。
type: integer
type: object
dto.SuperUserLibraryItem:
properties:
access_id:
description: AccessID 访问记录ID。
type: integer
access_status:
allOf:
- $ref: '#/definitions/consts.ContentAccessStatus'
description: AccessStatus 访问状态。
access_status_description:
description: AccessStatusDescription 访问状态描述(用于展示)。
type: string
accessed_at:
description: AccessedAt 获取访问权限时间RFC3339
type: string
amount_paid:
description: AmountPaid 该内容实付金额(分)。
type: integer
content:
allOf:
- $ref: '#/definitions/dto.AdminContentItem'
description: Content 内容详情(含租户/作者/价格)。
content_id:
description: ContentID 内容ID。
type: integer
order_id:
description: OrderID 订单ID。
type: integer
order_status:
allOf:
- $ref: '#/definitions/consts.OrderStatus'
description: OrderStatus 订单状态。
order_status_description:
description: OrderStatusDescription 订单状态描述(用于展示)。
type: string
order_type:
allOf:
- $ref: '#/definitions/consts.OrderType'
description: OrderType 订单类型。
paid_at:
description: PaidAt 支付时间RFC3339
type: string
snapshot:
description: Snapshot 下单快照(内容标题/金额等)。
tenant_id:
description: TenantID 内容所属租户ID。
type: integer
type: object
dto.SuperUserLite:
properties:
created_at:
description: CreatedAt 创建时间RFC3339
type: string
id:
description: ID 用户ID。
type: integer
roles:
description: Roles 用户角色列表。
items:
$ref: '#/definitions/consts.Role'
type: array
status:
allOf:
- $ref: '#/definitions/consts.UserStatus'
description: Status 用户状态。
status_description:
description: StatusDescription 状态描述(用于展示)。
type: string
updated_at:
description: UpdatedAt 更新时间RFC3339
type: string
username:
description: Username 用户名(用于识别/展示)。
type: string
verified_at:
description: VerifiedAt 实名认证时间RFC3339
type: string
type: object
dto.SuperUserNotificationItem:
properties:
content:
description: Content 通知内容。
type: string
created_at:
description: CreatedAt 发送时间RFC3339
type: string
id:
description: ID 通知ID。
type: integer
read:
description: Read 是否已读。
type: boolean
tenant_code:
description: TenantCode 通知所属租户编码。
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: object
dto.SuperUserRealNameResponse:
properties:
id_card_masked:
description: IDCardMasked 身份证号脱敏展示。
type: string
is_real_name_verified:
description: IsRealNameVerified 是否已实名认证。
type: boolean
real_name:
description: RealName 真实姓名(来自用户元数据)。
type: string
verified_at:
description: VerifiedAt 实名认证时间RFC3339
type: string
type: object
dto.SuperWalletResponse:
properties:
balance:
description: Balance 账户可用余额(分)。
type: integer
balance_frozen:
description: BalanceFrozen 账户冻结余额(分)。
type: integer
transactions:
description: Transactions 最近交易记录。
items:
$ref: '#/definitions/dto.SuperWalletTransaction'
type: array
type: object
dto.SuperWalletTransaction:
properties:
amount:
description: Amount 交易金额(分)。
type: integer
date:
description: Date 交易时间RFC3339
type: string
id:
description: ID 订单ID。
type: integer
order_type:
allOf:
- $ref: '#/definitions/consts.OrderType'
description: OrderType 订单类型。
tenant_code:
description: TenantCode 租户编码。
type: string
tenant_id:
description: TenantID 交易所属租户ID充值为0
type: integer
tenant_name:
description: TenantName 租户名称。
type: string
title:
description: Title 交易标题。
type: string
type:
description: Type 交易流向income/expense
type: string
type: object
dto.SuperWithdrawalRejectForm:
properties:
reason:
description: Reason 驳回原因。
type: string
required:
- reason
type: object
dto.TenantAdminUserLite:
properties:
id:
description: ID 用户ID。
type: integer
username:
description: Username 用户名。
type: string
type: object
dto.TenantCreateForm:
properties:
admin_user_id:
description: AdminUserID 租户管理员用户ID。
type: integer
code:
description: Code 租户编码(唯一)。
maxLength: 64
type: string
duration:
description: Duration 租户有效期(天)。
enum:
- 7
- 30
- 90
- 180
- 365
type: integer
name:
description: Name 租户名称。
maxLength: 128
type: string
required:
- admin_user_id
- code
- duration
- name
type: object
dto.TenantExpireUpdateForm:
properties:
duration:
description: Duration 延长有效期(天)。
enum:
- 7
- 30
- 90
- 180
- 365
type: integer
required:
- duration
type: object
dto.TenantHealthItem:
properties:
alerts:
description: Alerts 异常提示列表(用于运营侧提示)。
items:
type: string
type: array
code:
description: Code 租户编码。
type: string
content_count:
description: ContentCount 内容总数。
type: integer
health_level:
description: HealthLevel 健康等级healthy/warning/risk
type: string
last_paid_at:
description: LastPaidAt 最近成交时间RFC3339空代表暂无成交
type: string
member_count:
description: MemberCount 租户成员数量(包含管理员)。
type: integer
name:
description: Name 租户名称。
type: string
owner:
allOf:
- $ref: '#/definitions/dto.TenantOwnerUserLite'
description: Owner 租户所有者信息。
paid_amount:
description: PaidAmount 已支付金额(分)。
type: integer
paid_orders:
description: PaidOrders 已支付订单数(内容购买)。
type: integer
published_content_count:
description: PublishedContentCount 已发布内容数量。
type: integer
refund_amount:
description: RefundAmount 已退款金额(分)。
type: integer
refund_orders:
description: RefundOrders 已退款订单数(内容购买)。
type: integer
refund_rate:
description: RefundRate 退款率(退款订单数 / 已支付订单数)。
type: number
status:
allOf:
- $ref: '#/definitions/consts.TenantStatus'
description: Status 租户状态。
status_description:
description: StatusDescription 租户状态描述(用于展示)。
type: string
tenant_id:
description: TenantID 租户ID。
type: integer
type: object
dto.TenantInviteAcceptForm:
properties:
code:
description: Code 邀请码(必填)。
type: string
type: object
dto.TenantInviteCreateForm:
properties:
expires_at:
description: ExpiresAt 过期时间RFC3339可选空值使用默认过期时间
type: string
max_uses:
description: MaxUses 最大可使用次数(<=0 默认 1
type: integer
remark:
description: Remark 备注说明(可选)。
type: string
type: object
dto.TenantInviteItem:
properties:
code:
description: Code 邀请码。
type: string
created_at:
description: CreatedAt 创建时间RFC3339
type: string
expires_at:
description: ExpiresAt 过期时间RFC3339空字符串表示不限制
type: string
id:
description: ID 邀请记录ID。
type: integer
max_uses:
description: MaxUses 最大可使用次数。
type: integer
remark:
description: Remark 备注说明。
type: string
status:
description: Status 邀请状态active/disabled/expired
type: string
used_count:
description: UsedCount 已使用次数。
type: integer
type: object
dto.TenantItem:
properties:
admin_users:
description: AdminUsers 租户管理员列表。
items:
$ref: '#/definitions/dto.TenantAdminUserLite'
type: array
code:
description: Code 租户编码。
type: string
config:
description: Config 租户配置项(占位/需要结构化时替换)。
items:
type: integer
type: array
created_at:
description: CreatedAt 创建时间RFC3339
type: string
expired_at:
description: ExpiredAt 租户过期时间RFC3339
type: string
id:
description: ID 租户ID。
type: integer
income_amount_paid_sum:
description: IncomeAmountPaidSum 累计实收金额(分)。
type: integer
name:
description: Name 租户名称。
type: string
owner:
allOf:
- $ref: '#/definitions/dto.TenantOwnerUserLite'
description: Owner 租户所有者信息。
status:
allOf:
- $ref: '#/definitions/consts.TenantStatus'
description: Status 租户状态。
status_description:
description: StatusDescription 租户状态描述。
type: string
updated_at:
description: UpdatedAt 更新时间RFC3339
type: string
user_count:
description: UserCount 租户成员数量。
type: integer
user_id:
description: UserID 创建者用户ID。
type: integer
users:
description: Users 租户成员列表(用于详情展示)。
items:
$ref: '#/definitions/dto.SuperUserLite'
type: array
uuid:
description: UUID 租户UUID。
type: string
type: object
dto.TenantJoinApplyForm:
properties:
reason:
description: Reason 申请加入原因(可选,空值会使用默认文案)。
type: string
type: object
dto.TenantJoinReviewForm:
properties:
action:
description: Action 审核动作approve/reject
type: string
reason:
description: Reason 审核说明(可选,用于展示驳回原因或备注)。
type: string
type: object
dto.TenantOwnerUserLite:
properties:
id:
description: ID 用户ID。
type: integer
username:
description: Username 用户名。
type: string
type: object
dto.TenantProfile:
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:
allOf:
- $ref: '#/definitions/dto.Stats'
description: Stats 统计信息。
type: object
dto.TenantStatusUpdateForm:
properties:
status:
allOf:
- $ref: '#/definitions/consts.TenantStatus'
description: Status 目标租户状态。
required:
- status
type: object
dto.TenantUser:
properties:
created_at:
description: CreatedAt 创建时间RFC3339
type: string
id:
description: ID 成员记录ID。
type: integer
role:
description: Role 成员角色列表。
items:
$ref: '#/definitions/consts.TenantUserRole'
type: array
status:
allOf:
- $ref: '#/definitions/consts.UserStatus'
description: Status 成员状态。
tenant_id:
description: TenantID 租户ID。
type: integer
updated_at:
description: UpdatedAt 更新时间RFC3339
type: string
user_id:
description: UserID 用户ID。
type: integer
type: object
dto.Topic:
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
type: object
dto.Transaction:
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
type: object
dto.UploadCompleteForm:
properties:
upload_id:
description: UploadID 分片上传ID。
type: string
type: object
dto.UploadInitForm:
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
type: object
dto.UploadInitResponse:
properties:
chunk_size:
description: ChunkSize 分片大小(字节)。
type: integer
key:
description: Key 对象存储KeyS3 直传使用)。
type: string
upload_id:
description: UploadID 分片上传ID。
type: string
type: object
dto.UploadResult:
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
type: object
dto.UserCouponItem:
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
type: object
dto.UserItem:
properties:
balance:
description: Balance 账户可用余额(分)。
type: integer
balance_frozen:
description: BalanceFrozen 账户冻结余额(分)。
type: integer
created_at:
description: CreatedAt 创建时间RFC3339
type: string
id:
description: ID 用户ID。
type: integer
joined_tenant_count:
description: JoinedTenantCount 加入的租户数量。
type: integer
owned_tenant_count:
description: OwnedTenantCount 拥有的租户数量。
type: integer
roles:
description: Roles 用户角色列表。
items:
$ref: '#/definitions/consts.Role'
type: array
status:
allOf:
- $ref: '#/definitions/consts.UserStatus'
description: Status 用户状态。
status_description:
description: StatusDescription 状态描述(用于展示)。
type: string
updated_at:
description: UpdatedAt 更新时间RFC3339
type: string
username:
description: Username 用户名(用于识别/展示)。
type: string
verified_at:
description: VerifiedAt 实名认证时间RFC3339
type: string
type: object
dto.UserRolesUpdateForm:
properties:
roles:
description: Roles 目标角色列表(至少包含 1 个)。
items:
$ref: '#/definitions/consts.Role'
minItems: 1
type: array
required:
- roles
type: object
dto.UserStatistics:
properties:
count:
description: Count 该状态用户数量。
type: integer
status:
allOf:
- $ref: '#/definitions/consts.UserStatus'
description: Status 用户状态枚举。
status_description:
description: StatusDescription 状态描述(用于展示)。
type: string
type: object
dto.UserStatusUpdateForm:
properties:
status:
allOf:
- $ref: '#/definitions/consts.UserStatus'
description: Status 目标用户状态。
required:
- status
type: object
dto.UserTenantItem:
properties:
code:
description: Code 租户编码。
type: string
expired_at:
description: ExpiredAt 租户过期时间RFC3339
type: string
joined_at:
description: JoinedAt 加入时间RFC3339
type: string
member_status:
allOf:
- $ref: '#/definitions/consts.UserStatus'
description: MemberStatus 成员状态。
member_status_description:
description: MemberStatusDescription 成员状态描述。
type: string
name:
description: Name 租户名称。
type: string
owner:
allOf:
- $ref: '#/definitions/dto.TenantOwnerUserLite'
description: Owner 租户所有者用户信息。
role:
description: Role 用户在该租户内的角色列表。
items:
$ref: '#/definitions/consts.TenantUserRole'
type: array
tenant_id:
description: TenantID 租户ID。
type: integer
tenant_status:
allOf:
- $ref: '#/definitions/consts.TenantStatus'
description: TenantStatus 租户状态。
tenant_status_description:
description: TenantStatusDescription 租户状态描述。
type: string
type: object
dto.UserUpdate:
properties:
avatar:
description: Avatar 头像URL。
type: string
bio:
description: Bio 个人简介。
type: string
birthday:
description: Birthday 生日YYYY-MM-DD
type: string
gender:
allOf:
- $ref: '#/definitions/consts.Gender'
description: Gender 性别(枚举)。
location:
allOf:
- $ref: '#/definitions/quyun_v2_app_http_v1_dto.Location'
description: Location 地区信息(省/市)。
nickname:
description: Nickname 昵称。
type: string
type: object
dto.WalletResponse:
properties:
balance:
description: Balance 账户余额(单位元)。
type: number
transactions:
description: Transactions 交易流水列表。
items:
$ref: '#/definitions/dto.Transaction'
type: array
type: object
dto.WithdrawForm:
properties:
account_id:
description: AccountID 收款账户ID。
type: integer
amount:
description: Amount 提现金额(单位元)。
type: number
method:
description: Method 提现方式wallet/external
type: string
type: object
quyun_v2_app_http_super_v1_dto.Location:
properties:
city:
description: City 城市名称。
type: string
province:
description: Province 省份名称。
type: string
type: object
quyun_v2_app_http_super_v1_dto.LoginForm:
properties:
password:
description: Password 登录密码(加密传输)。
type: string
username:
description: Username 登录用户名。
type: string
type: object
quyun_v2_app_http_super_v1_dto.LoginResponse:
properties:
token:
description: Token 登录后签发的 JWT。
type: string
user:
allOf:
- $ref: '#/definitions/quyun_v2_app_http_super_v1_dto.User'
description: User 当前登录用户信息。
type: object
quyun_v2_app_http_super_v1_dto.User:
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:
allOf:
- $ref: '#/definitions/consts.Gender'
description: Gender 性别male/female/secret
id:
description: ID 用户ID。
type: integer
is_real_name_verified:
description: IsRealNameVerified 是否已实名认证。
type: boolean
location:
allOf:
- $ref: '#/definitions/quyun_v2_app_http_super_v1_dto.Location'
description: Location 所在地(省/市)。
nickname:
description: Nickname 用户昵称。
type: string
phone:
description: Phone 手机号。
type: string
points:
description: Points 用户积分。
type: integer
type: object
quyun_v2_app_http_v1_dto.Location:
properties:
city:
description: City 城市名称。
type: string
province:
description: Province 省份名称。
type: string
type: object
quyun_v2_app_http_v1_dto.LoginForm:
properties:
otp:
description: OTP 短信验证码。
type: string
phone:
description: Phone 手机号(登录账号)。
type: string
type: object
quyun_v2_app_http_v1_dto.LoginResponse:
properties:
token:
description: Token 登录成功后的 JWT。
type: string
user:
allOf:
- $ref: '#/definitions/quyun_v2_app_http_v1_dto.User'
description: User 当前登录用户信息。
type: object
quyun_v2_app_http_v1_dto.SendOTPForm:
properties:
phone:
description: Phone 手机号(用于发送验证码)。
type: string
type: object
quyun_v2_app_http_v1_dto.User:
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:
allOf:
- $ref: '#/definitions/consts.Gender'
description: Gender 性别(枚举)。
id:
description: ID 用户ID。
type: integer
is_real_name_verified:
description: IsRealNameVerified 是否完成实名认证。
type: boolean
location:
allOf:
- $ref: '#/definitions/quyun_v2_app_http_v1_dto.Location'
description: Location 地区信息(省/市)。
nickname:
description: Nickname 昵称。
type: string
phone:
description: Phone 绑定手机号。
type: string
points:
description: Points 积分余额。
type: integer
type: object
requests.KV:
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.
type: object
requests.Pager:
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 <= 0 are normalized to 1.
type: integer
total:
description: Total is the total number of items matching current filter (before
paging).
type: integer
type: object
v1.WebhookForm:
properties:
external_id:
type: string
order_id:
type: integer
type: object
externalDocs:
description: OpenAPI
url: https://swagger.io/resources/open-api/
host: localhost:8080
info:
contact:
email: support@swagger.io
name: UserName
url: http://www.swagger.io/support
description: Multi-tenant media platform backend API.
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
termsOfService: http://swagger.io/terms/
title: ApiDoc
version: "1.0"
paths:
/super/v1/assets:
get:
consumes:
- application/json
description: List assets across tenants
parameters:
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.SuperAssetItem'
type: array
type: object
summary: List assets
tags:
- Asset
/super/v1/assets/{id}:
delete:
consumes:
- application/json
description: Delete asset
parameters:
- description: Asset ID
format: int64
in: path
name: id
required: true
type: integer
- description: Force delete
in: query
name: force
type: boolean
produces:
- application/json
responses:
"200":
description: Deleted
schema:
type: string
summary: Delete asset
tags:
- Asset
/super/v1/assets/usage:
get:
consumes:
- application/json
description: Asset usage statistics
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.SuperAssetUsageResponse'
summary: Asset usage
tags:
- Asset
/super/v1/audit-logs:
get:
consumes:
- application/json
description: List audit logs across tenants
parameters:
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.SuperAuditLogItem'
type: array
type: object
summary: List audit logs
tags:
- Audit
/super/v1/auth/login:
post:
consumes:
- application/json
description: Login
parameters:
- description: Login form
in: body
name: form
required: true
schema:
$ref: '#/definitions/quyun_v2_app_http_super_v1_dto.LoginForm'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/quyun_v2_app_http_super_v1_dto.LoginResponse'
summary: Login
tags:
- Auth
/super/v1/auth/token:
get:
consumes:
- application/json
description: Check token
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/quyun_v2_app_http_super_v1_dto.LoginResponse'
summary: Check token
tags:
- Auth
/super/v1/contents:
get:
consumes:
- application/json
description: List contents
parameters:
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.AdminContentItem'
type: array
type: object
summary: List contents
tags:
- Content
/super/v1/contents/{id}/review:
post:
consumes:
- application/json
description: Review content
parameters:
- description: Content ID
format: int64
in: path
name: id
required: true
type: integer
- description: Review form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.SuperContentReviewForm'
produces:
- application/json
responses:
"200":
description: Reviewed
schema:
type: string
summary: Review content
tags:
- Content
/super/v1/contents/review/batch:
post:
consumes:
- application/json
description: Batch review contents
parameters:
- description: Batch review form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.SuperContentBatchReviewForm'
produces:
- application/json
responses:
"200":
description: Reviewed
schema:
type: string
summary: Batch review contents
tags:
- Content
/super/v1/contents/statistics:
get:
consumes:
- application/json
description: Content statistics
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.SuperContentStatisticsResponse'
summary: Content statistics
tags:
- Content
/super/v1/coupon-grants:
get:
consumes:
- application/json
description: List coupon grant records across tenants
parameters:
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.SuperCouponGrantItem'
type: array
type: object
summary: List coupon grants
tags:
- Coupon
/super/v1/coupon-risks:
get:
consumes:
- application/json
description: List coupon risk records across tenants
parameters:
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.SuperCouponRiskItem'
type: array
type: object
summary: List coupon risks
tags:
- Coupon
/super/v1/coupons:
get:
consumes:
- application/json
description: List coupon templates across tenants
parameters:
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.SuperCouponItem'
type: array
type: object
summary: List coupons
tags:
- Coupon
/super/v1/coupons/{id}/status:
patch:
consumes:
- application/json
description: Update coupon status across tenants
parameters:
- description: Coupon ID
format: int64
in: path
name: id
required: true
type: integer
- description: Update form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.SuperCouponStatusUpdateForm'
produces:
- application/json
responses:
"200":
description: Updated
schema:
type: string
summary: Update coupon status
tags:
- Coupon
/super/v1/creator-applications:
get:
consumes:
- application/json
description: List creator applications across tenants
parameters:
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.TenantItem'
type: array
type: object
summary: List creator applications
tags:
- Creator
/super/v1/creator-applications/{id}/review:
post:
consumes:
- application/json
description: Approve or reject creator application
parameters:
- description: Tenant ID
format: int64
in: path
name: id
required: true
type: integer
- description: Review form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.SuperCreatorApplicationReviewForm'
produces:
- application/json
responses:
"200":
description: Reviewed
schema:
type: string
summary: Review creator application
tags:
- Creator
/super/v1/creators:
get:
consumes:
- application/json
description: List creator tenants (channels) across the platform
parameters:
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.TenantItem'
type: array
type: object
summary: List creators
tags:
- Creator
/super/v1/notifications:
get:
consumes:
- application/json
description: List notifications across tenants
parameters:
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.SuperNotificationItem'
type: array
type: object
summary: List notifications
tags:
- Notification
/super/v1/notifications/broadcast:
post:
consumes:
- application/json
description: Broadcast notification to users or tenant members
parameters:
- description: Broadcast form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.SuperNotificationBroadcastForm'
produces:
- application/json
responses:
"200":
description: Sent
schema:
type: string
summary: Broadcast notification
tags:
- Notification
/super/v1/notifications/templates:
get:
consumes:
- application/json
description: List notification templates
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.SuperNotificationTemplateItem'
type: array
type: object
summary: List notification templates
tags:
- Notification
post:
consumes:
- application/json
description: Create notification template
parameters:
- description: Template form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.SuperNotificationTemplateCreateForm'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.SuperNotificationTemplateItem'
summary: Create notification template
tags:
- Notification
/super/v1/orders:
get:
consumes:
- application/json
description: List orders
parameters:
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.SuperOrderItem'
type: array
type: object
summary: List orders
tags:
- Order
/super/v1/orders/{id}:
get:
consumes:
- application/json
description: Get order
parameters:
- description: Order ID
format: int64
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.SuperOrderDetail'
summary: Get order
tags:
- Order
/super/v1/orders/{id}/refund:
post:
consumes:
- application/json
description: Refund order
parameters:
- description: Order ID
format: int64
in: path
name: id
required: true
type: integer
- description: Refund form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.SuperOrderRefundForm'
produces:
- application/json
responses:
"200":
description: Refunded
schema:
type: string
summary: Refund order
tags:
- Order
/super/v1/orders/statistics:
get:
consumes:
- application/json
description: Order statistics
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.OrderStatisticsResponse'
summary: Order statistics
tags:
- Order
/super/v1/payout-accounts:
get:
consumes:
- application/json
description: List payout accounts across tenants
parameters:
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.SuperPayoutAccountItem'
type: array
type: object
summary: List payout accounts
tags:
- Finance
/super/v1/payout-accounts/{id}:
delete:
consumes:
- application/json
description: Remove payout account across tenants
parameters:
- description: Payout account ID
format: int64
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: Removed
schema:
type: string
summary: Remove payout account
tags:
- Finance
/super/v1/reports/export:
post:
consumes:
- application/json
description: Export platform report data
parameters:
- description: Export form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.SuperReportExportForm'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.ReportExportResponse'
summary: Export report
tags:
- Report
/super/v1/reports/overview:
get:
consumes:
- application/json
description: Get platform report overview
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.ReportOverviewResponse'
summary: Report overview
tags:
- Report
/super/v1/system-configs:
get:
consumes:
- application/json
description: List platform system configs
parameters:
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.SuperSystemConfigItem'
type: array
type: object
summary: List system configs
tags:
- SystemConfig
post:
consumes:
- application/json
description: Create platform system config
parameters:
- description: Create form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.SuperSystemConfigCreateForm'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.SuperSystemConfigItem'
summary: Create system config
tags:
- SystemConfig
/super/v1/system-configs/{id}:
patch:
consumes:
- application/json
description: Update platform system config
parameters:
- description: Config ID
format: int64
in: path
name: id
required: true
type: integer
- description: Update form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.SuperSystemConfigUpdateForm'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.SuperSystemConfigItem'
summary: Update system config
tags:
- SystemConfig
/super/v1/tenant-join-requests:
get:
consumes:
- application/json
description: List tenant join requests across tenants
parameters:
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.SuperTenantJoinRequestItem'
type: array
type: object
summary: List tenant join requests
tags:
- Tenant
/super/v1/tenant-join-requests/{id}/review:
post:
consumes:
- application/json
description: Approve or reject a tenant join request
parameters:
- description: Join request ID
format: int64
in: path
name: id
required: true
type: integer
- description: Review form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.TenantJoinReviewForm'
produces:
- application/json
responses:
"200":
description: Reviewed
schema:
type: string
summary: Review tenant join request
tags:
- Tenant
/super/v1/tenants:
get:
consumes:
- application/json
description: List tenants
parameters:
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
- description: Name
in: query
name: name
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.TenantItem'
type: array
type: object
summary: List tenants
tags:
- Tenant
post:
consumes:
- application/json
description: Create tenant
parameters:
- description: Create form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.TenantCreateForm'
produces:
- application/json
responses:
"200":
description: Created
schema:
type: string
summary: Create tenant
tags:
- Tenant
/super/v1/tenants/{id}:
get:
consumes:
- application/json
description: Get tenant
parameters:
- description: Tenant ID
format: int64
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.TenantItem'
summary: Get tenant
tags:
- Tenant
patch:
consumes:
- application/json
description: Update tenant expire
parameters:
- description: Tenant ID
format: int64
in: path
name: id
required: true
type: integer
- description: Update form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.TenantExpireUpdateForm'
produces:
- application/json
responses:
"200":
description: Updated
schema:
type: string
summary: Update tenant expire
tags:
- Tenant
/super/v1/tenants/{id}/status:
patch:
consumes:
- application/json
description: Update tenant status
parameters:
- description: Tenant ID
format: int64
in: path
name: id
required: true
type: integer
- description: Update form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.TenantStatusUpdateForm'
produces:
- application/json
responses:
"200":
description: Updated
schema:
type: string
summary: Update tenant status
tags:
- Tenant
/super/v1/tenants/{tenantID}/contents:
get:
consumes:
- application/json
description: List contents by tenant
parameters:
- description: Tenant ID
format: int64
in: path
name: tenantID
required: true
type: integer
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.AdminContentItem'
type: array
type: object
summary: List tenant contents
tags:
- Content
/super/v1/tenants/{tenantID}/contents/{contentID}/status:
patch:
consumes:
- application/json
description: Update content status
parameters:
- description: Tenant ID
format: int64
in: path
name: tenantID
required: true
type: integer
- description: Content ID
format: int64
in: path
name: contentID
required: true
type: integer
- description: Update form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.SuperTenantContentStatusUpdateForm'
produces:
- application/json
responses:
"200":
description: Updated
schema:
type: string
summary: Update content status
tags:
- Content
/super/v1/tenants/{tenantID}/coupons:
post:
consumes:
- application/json
description: Create coupon for tenant
parameters:
- description: Tenant ID
format: int64
in: path
name: tenantID
required: true
type: integer
- description: Create form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.CouponCreateForm'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.CouponItem'
summary: Create coupon
tags:
- Coupon
/super/v1/tenants/{tenantID}/coupons/{id}:
get:
consumes:
- application/json
description: Get coupon detail
parameters:
- description: Tenant ID
format: int64
in: path
name: tenantID
required: true
type: integer
- description: Coupon ID
format: int64
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.CouponItem'
summary: Get coupon
tags:
- Coupon
put:
consumes:
- application/json
description: Update coupon for tenant
parameters:
- description: Tenant ID
format: int64
in: path
name: tenantID
required: true
type: integer
- description: Coupon ID
format: int64
in: path
name: id
required: true
type: integer
- description: Update form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.CouponUpdateForm'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.CouponItem'
summary: Update coupon
tags:
- Coupon
/super/v1/tenants/{tenantID}/coupons/{id}/grant:
post:
consumes:
- application/json
description: Grant coupon to users
parameters:
- description: Tenant ID
format: int64
in: path
name: tenantID
required: true
type: integer
- description: Coupon ID
format: int64
in: path
name: id
required: true
type: integer
- description: Grant form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.CouponGrantForm'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.SuperCouponGrantResponse'
summary: Grant coupon
tags:
- Coupon
/super/v1/tenants/{tenantID}/invites:
post:
consumes:
- application/json
description: Create tenant invite code
parameters:
- description: Tenant ID
format: int64
in: path
name: tenantID
required: true
type: integer
- description: Invite form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.TenantInviteCreateForm'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.TenantInviteItem'
summary: Create tenant invite
tags:
- Tenant
/super/v1/tenants/{tenantID}/users:
get:
consumes:
- application/json
description: List tenant users
parameters:
- description: Tenant ID
format: int64
in: path
name: tenantID
required: true
type: integer
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.SuperTenantUserItem'
type: array
type: object
summary: List tenant users
tags:
- Tenant
/super/v1/tenants/health:
get:
consumes:
- application/json
description: Tenant health overview
parameters:
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.TenantHealthItem'
type: array
type: object
summary: Tenant health overview
tags:
- Tenant
/super/v1/tenants/statuses:
get:
consumes:
- application/json
description: Tenant statuses
produces:
- application/json
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/requests.KV'
type: array
summary: Tenant statuses
tags:
- Tenant
/super/v1/users:
get:
consumes:
- application/json
description: List users
parameters:
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
- description: Username
in: query
name: username
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.UserItem'
type: array
type: object
summary: List users
tags:
- User
/super/v1/users/{id}:
get:
consumes:
- application/json
description: Get user
parameters:
- description: User ID
format: int64
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.UserItem'
summary: Get user
tags:
- User
/super/v1/users/{id}/coupons:
get:
consumes:
- application/json
description: List coupons of a user
parameters:
- description: User ID
format: int64
in: path
name: id
required: true
type: integer
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.SuperUserCouponItem'
type: array
type: object
summary: List user coupons
tags:
- User
/super/v1/users/{id}/favorites:
get:
consumes:
- application/json
description: List user's favorited contents
parameters:
- description: User ID
format: int64
in: path
name: id
required: true
type: integer
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.SuperUserContentActionItem'
type: array
type: object
summary: List user favorites
tags:
- User
/super/v1/users/{id}/following:
get:
consumes:
- application/json
description: List tenants followed by user
parameters:
- description: User ID
format: int64
in: path
name: id
required: true
type: integer
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.UserTenantItem'
type: array
type: object
summary: List user following tenants
tags:
- User
/super/v1/users/{id}/library:
get:
consumes:
- application/json
description: List purchased contents of a user
parameters:
- description: User ID
format: int64
in: path
name: id
required: true
type: integer
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.SuperUserLibraryItem'
type: array
type: object
summary: List user library
tags:
- User
/super/v1/users/{id}/likes:
get:
consumes:
- application/json
description: List user's liked contents
parameters:
- description: User ID
format: int64
in: path
name: id
required: true
type: integer
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.SuperUserContentActionItem'
type: array
type: object
summary: List user likes
tags:
- User
/super/v1/users/{id}/notifications:
get:
consumes:
- application/json
description: List notifications of a user
parameters:
- description: User ID
format: int64
in: path
name: id
required: true
type: integer
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.SuperUserNotificationItem'
type: array
type: object
summary: List user notifications
tags:
- User
/super/v1/users/{id}/realname:
get:
consumes:
- application/json
description: Get real-name verification detail of a user
parameters:
- description: User ID
format: int64
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.SuperUserRealNameResponse'
summary: Get user real-name verification detail
tags:
- User
/super/v1/users/{id}/roles:
patch:
consumes:
- application/json
description: Update user roles
parameters:
- description: User ID
format: int64
in: path
name: id
required: true
type: integer
- description: Update form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.UserRolesUpdateForm'
produces:
- application/json
responses:
"200":
description: Updated
schema:
type: string
summary: Update user roles
tags:
- User
/super/v1/users/{id}/status:
patch:
consumes:
- application/json
description: Update user status
parameters:
- description: User ID
format: int64
in: path
name: id
required: true
type: integer
- description: Update form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.UserStatusUpdateForm'
produces:
- application/json
responses:
"200":
description: Updated
schema:
type: string
summary: Update user status
tags:
- User
/super/v1/users/{id}/tenants:
get:
consumes:
- application/json
description: List tenants joined by user
parameters:
- description: User ID
format: int64
in: path
name: id
required: true
type: integer
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.UserTenantItem'
type: array
type: object
summary: List user tenants
tags:
- User
/super/v1/users/{id}/wallet:
get:
consumes:
- application/json
description: Get user wallet balance and transactions
parameters:
- description: User ID
format: int64
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.SuperWalletResponse'
summary: Get user wallet
tags:
- User
/super/v1/users/statistics:
get:
consumes:
- application/json
description: User statistics
produces:
- application/json
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/dto.UserStatistics'
type: array
summary: User statistics
tags:
- User
/super/v1/users/statuses:
get:
consumes:
- application/json
description: User statuses
produces:
- application/json
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/requests.KV'
type: array
summary: User statuses
tags:
- User
/super/v1/withdrawals:
get:
consumes:
- application/json
description: List withdrawal orders across tenants
parameters:
- description: Page number
in: query
name: page
type: integer
- description: Page size
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.SuperOrderItem'
type: array
type: object
summary: List withdrawals
tags:
- Finance
/super/v1/withdrawals/{id}/approve:
post:
consumes:
- application/json
description: Approve a withdrawal request
parameters:
- description: Withdrawal order ID
format: int64
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: Approved
schema:
type: string
summary: Approve withdrawal
tags:
- Finance
/super/v1/withdrawals/{id}/reject:
post:
consumes:
- application/json
description: Reject a withdrawal request
parameters:
- description: Withdrawal order ID
format: int64
in: path
name: id
required: true
type: integer
- description: Reject form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.SuperWithdrawalRejectForm'
produces:
- application/json
responses:
"200":
description: Rejected
schema:
type: string
summary: Reject withdrawal
tags:
- Finance
/t/{tenantCode}/v1/auth/login:
post:
consumes:
- application/json
description: Login or register user using phone number and OTP
parameters:
- description: Login form
in: body
name: form
required: true
schema:
$ref: '#/definitions/quyun_v2_app_http_v1_dto.LoginForm'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/quyun_v2_app_http_v1_dto.LoginResponse'
summary: Login or Register with OTP
tags:
- Auth
/t/{tenantCode}/v1/auth/otp:
post:
consumes:
- application/json
description: Send OTP to phone number
parameters:
- description: Phone number
in: body
name: form
required: true
schema:
$ref: '#/definitions/quyun_v2_app_http_v1_dto.SendOTPForm'
produces:
- application/json
responses:
"200":
description: OTP sent
schema:
type: string
summary: Send OTP
tags:
- Auth
/t/{tenantCode}/v1/comments/{id}/like:
post:
consumes:
- application/json
description: Like a comment
parameters:
- description: Comment ID
format: int64
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: Liked
schema:
type: string
summary: Like comment
tags:
- Content
/t/{tenantCode}/v1/common/options:
get:
consumes:
- application/json
description: Get global options (enums)
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.OptionsResponse'
summary: Get options
tags:
- Common
/t/{tenantCode}/v1/contents:
get:
consumes:
- application/json
description: List contents with filtering and pagination
parameters:
- description: Search keyword
in: query
name: keyword
type: string
- description: Genre
in: query
name: genre
type: string
- description: Filter by creator
format: int64
in: query
name: tenant_id
type: integer
- description: Sort order
enum:
- latest
- hot
- price_asc
in: query
name: sort
type: string
- description: Page number
in: query
name: page
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.ContentItem'
type: array
type: object
summary: List contents
tags:
- Content
/t/{tenantCode}/v1/contents/{id}:
get:
consumes:
- application/json
description: Get content detail by ID
parameters:
- description: Content ID
format: int64
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.ContentDetail'
summary: Get content detail
tags:
- Content
/t/{tenantCode}/v1/contents/{id}/comments:
get:
consumes:
- application/json
description: Get comments for a content
parameters:
- description: Content ID
format: int64
in: path
name: id
required: true
type: integer
- description: Page number
in: query
name: page
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.Comment'
type: array
type: object
summary: Get comments
tags:
- Content
post:
consumes:
- application/json
description: Post a comment to a content
parameters:
- description: Content ID
format: int64
in: path
name: id
required: true
type: integer
- description: Comment form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.CommentCreateForm'
produces:
- application/json
responses:
"200":
description: Comment created
schema:
type: string
summary: Post comment
tags:
- Content
/t/{tenantCode}/v1/contents/{id}/favorite:
delete:
parameters:
- description: Content ID
format: int64
in: path
name: id
required: true
type: integer
responses:
"200":
description: Unfavorited
schema:
type: string
summary: Remove favorite
tags:
- Content
post:
parameters:
- description: Content ID
format: int64
in: path
name: id
required: true
type: integer
responses:
"200":
description: Favorited
schema:
type: string
summary: Add favorite
tags:
- Content
/t/{tenantCode}/v1/contents/{id}/like:
delete:
parameters:
- description: Content ID
format: int64
in: path
name: id
required: true
type: integer
responses:
"200":
description: Unliked
schema:
type: string
summary: Remove like
tags:
- Content
post:
parameters:
- description: Content ID
format: int64
in: path
name: id
required: true
type: integer
responses:
"200":
description: Liked
schema:
type: string
summary: Add like
tags:
- Content
/t/{tenantCode}/v1/creator/apply:
post:
consumes:
- application/json
description: Apply to become a creator
parameters:
- description: Apply form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.ApplyForm'
produces:
- application/json
responses:
"200":
description: Application submitted
schema:
type: string
summary: Apply creator
tags:
- CreatorCenter
/t/{tenantCode}/v1/creator/contents:
get:
consumes:
- application/json
description: List creator contents
parameters:
- description: Status
in: query
name: status
type: string
- description: Genre
in: query
name: genre
type: string
- description: Keyword
in: query
name: keyword
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/dto.ContentItem'
type: array
summary: List contents
tags:
- CreatorCenter
post:
consumes:
- application/json
description: Create/Publish content
parameters:
- description: Content form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.ContentCreateForm'
produces:
- application/json
responses:
"200":
description: Created
schema:
type: string
summary: Create content
tags:
- CreatorCenter
/t/{tenantCode}/v1/creator/contents/{id}:
delete:
consumes:
- application/json
description: Delete content
parameters:
- description: Content ID
format: int64
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: Deleted
schema:
type: string
summary: Delete content
tags:
- CreatorCenter
get:
consumes:
- application/json
description: Get content details for edit
parameters:
- description: Content ID
format: int64
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.ContentEditDTO'
summary: Get content
tags:
- CreatorCenter
put:
consumes:
- application/json
description: Update content
parameters:
- description: Content ID
format: int64
in: path
name: id
required: true
type: integer
- description: Update form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.ContentUpdateForm'
produces:
- application/json
responses:
"200":
description: Updated
schema:
type: string
summary: Update content
tags:
- CreatorCenter
/t/{tenantCode}/v1/creator/coupons:
get:
consumes:
- application/json
description: List coupon templates
parameters:
- description: Page
in: query
name: page
type: integer
- description: Limit
in: query
name: limit
type: integer
- description: Type (fix_amount/discount)
in: query
name: type
type: string
- description: Status (active/expired)
in: query
name: status
type: string
- description: Keyword
in: query
name: keyword
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/requests.Pager'
summary: List coupons
tags:
- CreatorCenter
post:
consumes:
- application/json
description: Create coupon template
parameters:
- description: Coupon form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.CouponCreateForm'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.CouponItem'
summary: Create coupon
tags:
- CreatorCenter
/t/{tenantCode}/v1/creator/coupons/{id}:
get:
consumes:
- application/json
description: Get coupon template detail
parameters:
- description: Coupon ID
format: int64
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.CouponItem'
summary: Get coupon
tags:
- CreatorCenter
put:
consumes:
- application/json
description: Update coupon template
parameters:
- description: Coupon ID
format: int64
in: path
name: id
required: true
type: integer
- description: Coupon form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.CouponUpdateForm'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.CouponItem'
summary: Update coupon
tags:
- CreatorCenter
/t/{tenantCode}/v1/creator/coupons/{id}/grant:
post:
consumes:
- application/json
description: Grant coupon to users
parameters:
- description: Coupon ID
format: int64
in: path
name: id
required: true
type: integer
- description: Grant form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.CouponGrantForm'
produces:
- application/json
responses:
"200":
description: Granted
schema:
type: string
summary: Grant coupon
tags:
- CreatorCenter
/t/{tenantCode}/v1/creator/dashboard:
get:
consumes:
- application/json
description: Get creator dashboard stats
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.DashboardStats'
summary: Dashboard stats
tags:
- CreatorCenter
/t/{tenantCode}/v1/creator/members/{id}/review:
post:
consumes:
- application/json
description: Approve or reject a tenant join request
parameters:
- description: Join request ID
format: int64
in: path
name: id
required: true
type: integer
- description: Review form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.TenantJoinReviewForm'
produces:
- application/json
responses:
"200":
description: Reviewed
schema:
type: string
summary: Review join request
tags:
- CreatorCenter
/t/{tenantCode}/v1/creator/members/invite:
post:
consumes:
- application/json
description: Create an invite for tenant members
parameters:
- description: Invite form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.TenantInviteCreateForm'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.TenantInviteItem'
summary: Create member invite
tags:
- CreatorCenter
/t/{tenantCode}/v1/creator/orders:
get:
consumes:
- application/json
description: List sales orders
parameters:
- description: Status
in: query
name: status
type: string
- description: Keyword
in: query
name: keyword
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/dto.Order'
type: array
summary: List sales orders
tags:
- CreatorCenter
/t/{tenantCode}/v1/creator/orders/{id}/refund:
post:
consumes:
- application/json
description: Process refund
parameters:
- description: Order ID
format: int64
in: path
name: id
required: true
type: integer
- description: Refund form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.RefundForm'
produces:
- application/json
responses:
"200":
description: Processed
schema:
type: string
summary: Process refund
tags:
- CreatorCenter
/t/{tenantCode}/v1/creator/payout-accounts:
delete:
consumes:
- application/json
description: Remove payout account
parameters:
- description: Account ID
format: int64
in: query
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: Removed
schema:
type: string
summary: Remove payout account
tags:
- CreatorCenter
get:
consumes:
- application/json
description: List payout accounts
produces:
- application/json
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/dto.PayoutAccount'
type: array
summary: List payout accounts
tags:
- CreatorCenter
post:
consumes:
- application/json
description: Add payout account
parameters:
- description: Account form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.PayoutAccount'
produces:
- application/json
responses:
"200":
description: Added
schema:
type: string
summary: Add payout account
tags:
- CreatorCenter
/t/{tenantCode}/v1/creator/reports/export:
post:
consumes:
- application/json
description: Export creator report overview
parameters:
- description: Export form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.ReportExportForm'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.ReportExportResponse'
summary: Export report overview
tags:
- CreatorCenter
/t/{tenantCode}/v1/creator/reports/overview:
get:
consumes:
- application/json
description: Get creator report overview
parameters:
- description: Start time (RFC3339)
in: query
name: start_at
type: string
- description: End time (RFC3339)
in: query
name: end_at
type: string
- description: Granularity (day)
in: query
name: granularity
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.ReportOverviewResponse'
summary: Report overview
tags:
- CreatorCenter
/t/{tenantCode}/v1/creator/settings:
get:
consumes:
- application/json
description: Get channel settings
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.Settings'
summary: Get settings
tags:
- CreatorCenter
put:
consumes:
- application/json
description: Update channel settings
parameters:
- description: Settings form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.Settings'
produces:
- application/json
responses:
"200":
description: Updated
schema:
type: string
summary: Update settings
tags:
- CreatorCenter
/t/{tenantCode}/v1/creator/withdraw:
post:
consumes:
- application/json
description: Request withdrawal
parameters:
- description: Withdraw form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.WithdrawForm'
produces:
- application/json
responses:
"200":
description: Withdrawal requested
schema:
type: string
summary: Request withdrawal
tags:
- CreatorCenter
/t/{tenantCode}/v1/creators/{id}/contents:
get:
consumes:
- application/json
description: List contents of a specific creator
parameters:
- description: Creator User ID
format: int64
in: path
name: id
required: true
type: integer
- description: Page
in: query
name: page
type: integer
- description: Limit
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/requests.Pager'
summary: List creator contents
tags:
- TenantPublic
/t/{tenantCode}/v1/me:
get:
consumes:
- application/json
description: Get current user profile
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/quyun_v2_app_http_v1_dto.User'
summary: Get user profile
tags:
- UserCenter
put:
consumes:
- application/json
description: Update user profile
parameters:
- description: Update form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.UserUpdate'
produces:
- application/json
responses:
"200":
description: Updated
schema:
type: string
summary: Update user profile
tags:
- UserCenter
/t/{tenantCode}/v1/me/coupons:
get:
consumes:
- application/json
description: List my coupons
parameters:
- description: Status (unused, used, expired)
in: query
name: status
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/dto.UserCouponItem'
type: array
summary: List coupons
tags:
- UserCenter
/t/{tenantCode}/v1/me/coupons/available:
get:
consumes:
- application/json
description: List coupons available for the given order amount
parameters:
- description: Order amount (cents)
format: int64
in: query
name: amount
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/dto.UserCouponItem'
type: array
summary: List available coupons
tags:
- UserCenter
/t/{tenantCode}/v1/me/coupons/receive:
post:
consumes:
- application/json
description: Receive a coupon by coupon_id
parameters:
- description: Receive form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.CouponReceiveForm'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.UserCouponItem'
summary: Receive coupon
tags:
- UserCenter
/t/{tenantCode}/v1/me/favorites:
get:
consumes:
- application/json
description: Get favorites
produces:
- application/json
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/dto.ContentItem'
type: array
summary: Get favorites
tags:
- UserCenter
post:
consumes:
- application/json
description: Add to favorites
parameters:
- description: Content ID
format: int64
in: query
name: contentId
required: true
type: integer
produces:
- application/json
responses:
"200":
description: Added
schema:
type: string
summary: Add favorite
tags:
- UserCenter
/t/{tenantCode}/v1/me/favorites/{contentId}:
delete:
consumes:
- application/json
description: Remove from favorites
parameters:
- description: Content ID
format: int64
in: path
name: contentId
required: true
type: integer
produces:
- application/json
responses:
"200":
description: Removed
schema:
type: string
summary: Remove favorite
tags:
- UserCenter
/t/{tenantCode}/v1/me/following:
get:
consumes:
- application/json
description: Get following tenants
produces:
- application/json
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/dto.TenantProfile'
type: array
summary: Get following
tags:
- UserCenter
/t/{tenantCode}/v1/me/library:
get:
consumes:
- application/json
description: Get purchased content
produces:
- application/json
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/dto.ContentItem'
type: array
summary: Get library
tags:
- UserCenter
/t/{tenantCode}/v1/me/likes:
get:
consumes:
- application/json
description: Get liked contents
produces:
- application/json
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/dto.ContentItem'
type: array
summary: Get likes
tags:
- UserCenter
post:
consumes:
- application/json
description: Like content
parameters:
- description: Content ID
format: int64
in: query
name: contentId
required: true
type: integer
produces:
- application/json
responses:
"200":
description: Liked
schema:
type: string
summary: Like content
tags:
- UserCenter
/t/{tenantCode}/v1/me/likes/{contentId}:
delete:
consumes:
- application/json
description: Unlike content
parameters:
- description: Content ID
format: int64
in: path
name: contentId
required: true
type: integer
produces:
- application/json
responses:
"200":
description: Unliked
schema:
type: string
summary: Unlike content
tags:
- UserCenter
/t/{tenantCode}/v1/me/notifications:
get:
consumes:
- application/json
description: Get notifications
parameters:
- description: Type enum(all, system, order, audit, interaction)
in: query
name: type
type: string
- description: Page number
in: query
name: page
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/requests.Pager'
- properties:
items:
items:
$ref: '#/definitions/dto.Notification'
type: array
type: object
summary: Get notifications
tags:
- UserCenter
/t/{tenantCode}/v1/me/notifications/{id}/read:
post:
consumes:
- application/json
parameters:
- description: Notification ID
format: int64
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
summary: Mark as read
tags:
- UserCenter
/t/{tenantCode}/v1/me/notifications/read-all:
post:
consumes:
- application/json
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
summary: Mark all as read
tags:
- UserCenter
/t/{tenantCode}/v1/me/orders:
get:
consumes:
- application/json
description: List user orders
parameters:
- description: Status enum(all, unpaid, completed, refund)
in: query
name: status
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/dto.Order'
type: array
summary: List orders
tags:
- UserCenter
/t/{tenantCode}/v1/me/orders/{id}:
get:
consumes:
- application/json
description: Get user order detail
parameters:
- description: Order ID
format: int64
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.Order'
summary: Get order detail
tags:
- UserCenter
/t/{tenantCode}/v1/me/realname:
post:
consumes:
- application/json
description: Submit real-name authentication
parameters:
- description: Realname form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.RealNameForm'
produces:
- application/json
responses:
"200":
description: Submitted
schema:
type: string
summary: Realname auth
tags:
- UserCenter
/t/{tenantCode}/v1/me/wallet:
get:
consumes:
- application/json
description: Get wallet balance and transactions
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.WalletResponse'
summary: Get wallet
tags:
- UserCenter
/t/{tenantCode}/v1/me/wallet/recharge:
post:
consumes:
- application/json
description: Recharge wallet
parameters:
- description: Recharge form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.RechargeForm'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.RechargeResponse'
summary: Recharge wallet
tags:
- UserCenter
/t/{tenantCode}/v1/media-assets/{id}:
delete:
consumes:
- application/json
description: Delete media asset
parameters:
- description: Asset ID
format: int64
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
summary: Delete media asset
tags:
- Common
/t/{tenantCode}/v1/orders:
post:
consumes:
- application/json
description: Create Order
parameters:
- description: Create form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.OrderCreateForm'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.OrderCreateResponse'
summary: Create Order
tags:
- Transaction
/t/{tenantCode}/v1/orders/{id}/pay:
post:
consumes:
- application/json
description: Pay for order
parameters:
- description: Order ID
format: int64
in: path
name: id
required: true
type: integer
- description: Pay form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.OrderPayForm'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.OrderPayResponse'
summary: Pay for order
tags:
- Transaction
/t/{tenantCode}/v1/orders/{id}/status:
get:
consumes:
- application/json
description: Check order payment status
parameters:
- description: Order ID
format: int64
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.OrderStatusResponse'
summary: Check order status
tags:
- Transaction
/t/{tenantCode}/v1/storage/{any}:
get:
consumes:
- application/json
parameters:
- description: any path
in: path
name: any
type: string
- description: Expiry
in: query
name: expires
required: true
type: string
- description: Signature
in: query
name: sign
required: true
type: string
produces:
- application/octet-stream
responses:
"200":
description: OK
schema:
type: file
summary: Download file
tags:
- Storage
put:
consumes:
- application/octet-stream
parameters:
- description: any path
in: path
name: any
type: string
- description: Expiry
in: query
name: expires
required: true
type: string
- description: Signature
in: query
name: sign
required: true
type: string
produces:
- application/json
responses:
"200":
description: success
schema:
type: string
summary: Upload file
tags:
- Storage
/t/{tenantCode}/v1/tenants:
get:
consumes:
- application/json
description: Search tenants
parameters:
- description: Keyword
in: query
name: keyword
type: string
- description: Page
in: query
name: page
type: integer
- description: Limit
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/requests.Pager'
summary: List tenants
tags:
- TenantPublic
/t/{tenantCode}/v1/tenants/{id}:
get:
consumes:
- application/json
description: Get tenant public profile
parameters:
- description: Tenant ID
format: int64
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.TenantProfile'
summary: Get tenant profile
tags:
- TenantPublic
/t/{tenantCode}/v1/tenants/{id}/follow:
delete:
consumes:
- application/json
description: Unfollow a tenant
parameters:
- description: Tenant ID
format: int64
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: Unfollowed
schema:
type: string
summary: Unfollow tenant
tags:
- TenantPublic
post:
consumes:
- application/json
description: Follow a tenant
parameters:
- description: Tenant ID
format: int64
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: Followed
schema:
type: string
summary: Follow tenant
tags:
- TenantPublic
/t/{tenantCode}/v1/tenants/{id}/invites/accept:
post:
consumes:
- application/json
description: Accept a tenant invite by code
parameters:
- description: Tenant ID
format: int64
in: path
name: id
required: true
type: integer
- description: Invite form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.TenantInviteAcceptForm'
produces:
- application/json
responses:
"200":
description: Accepted
schema:
type: string
summary: Accept tenant invite
tags:
- TenantPublic
/t/{tenantCode}/v1/tenants/{id}/join:
delete:
consumes:
- application/json
description: Cancel join request for a tenant
parameters:
- description: Tenant ID
format: int64
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: Canceled
schema:
type: string
summary: Cancel join request
tags:
- TenantPublic
post:
consumes:
- application/json
description: Submit join request for a tenant
parameters:
- description: Tenant ID
format: int64
in: path
name: id
required: true
type: integer
- description: Join form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.TenantJoinApplyForm'
produces:
- application/json
responses:
"200":
description: Applied
schema:
type: string
summary: Apply to join tenant
tags:
- TenantPublic
/t/{tenantCode}/v1/topics:
get:
consumes:
- application/json
description: List curated topics
produces:
- application/json
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/dto.Topic'
type: array
summary: List topics
tags:
- Content
/t/{tenantCode}/v1/upload:
post:
consumes:
- multipart/form-data
description: Upload file
parameters:
- description: File
in: formData
name: file
required: true
type: file
- description: Type 上传资源类型(如 cover/media/avatar
in: formData
name: type
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.UploadResult'
summary: Upload file
tags:
- Common
/t/{tenantCode}/v1/upload/{uploadId}:
delete:
consumes:
- application/json
description: Abort multipart upload
parameters:
- description: Upload ID
in: path
name: uploadId
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
summary: Abort upload
tags:
- Common
/t/{tenantCode}/v1/upload/check:
get:
consumes:
- application/json
description: Check if file hash exists
parameters:
- description: File MD5 Hash
in: query
name: hash
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.UploadResult'
summary: Check hash
tags:
- Common
/t/{tenantCode}/v1/upload/complete:
post:
consumes:
- application/json
description: Complete multipart upload
parameters:
- description: Complete form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.UploadCompleteForm'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.UploadResult'
summary: Complete upload
tags:
- Common
/t/{tenantCode}/v1/upload/init:
post:
consumes:
- application/json
description: Initialize multipart upload
parameters:
- description: Init form
in: body
name: form
required: true
schema:
$ref: '#/definitions/dto.UploadInitForm'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.UploadInitResponse'
summary: Init multipart upload
tags:
- Common
/t/{tenantCode}/v1/upload/part:
post:
consumes:
- multipart/form-data
description: Upload a part
parameters:
- description: Part File
in: formData
name: file
required: true
type: file
- description: PartNumber 分片序号(从 1 开始)。
in: formData
name: part_number
type: integer
- description: UploadID 分片上传ID。
in: formData
name: upload_id
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
type: string
summary: Upload part
tags:
- Common
/t/{tenantCode}/v1/webhook/payment/notify:
post:
consumes:
- application/json
description: Payment Webhook
parameters:
- description: Webhook Data
in: body
name: form
required: true
schema:
$ref: '#/definitions/v1.WebhookForm'
produces:
- application/json
responses:
"200":
description: success
schema:
type: string
summary: Payment Webhook
tags:
- Transaction
securityDefinitions:
BasicAuth:
type: basic
swagger: "2.0"