bindbox-game/docs/swagger.yaml

8581 lines
202 KiB
YAML
Raw Permalink 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:
activity.CardTypeConfig:
properties:
code:
type: string
image_url:
type: string
name:
type: string
quantity:
type: integer
type: object
activity.MatchingCard:
properties:
id:
type: string
type:
type: string
type: object
activity.MatchingGame:
properties:
activity_id:
type: integer
board:
items:
$ref: '#/definitions/activity.MatchingCard'
type: array
card_configs:
items:
$ref: '#/definitions/activity.CardTypeConfig'
type: array
card_id_counter:
type: integer
created_at:
description: 游戏创建时间,用于自动开奖超时判断
type: string
deck:
items:
$ref: '#/definitions/activity.MatchingCard'
type: array
issue_id:
type: integer
last_activity:
type: string
max_possible_pairs:
type: integer
nonce:
type: integer
order_id:
type: integer
position:
description: 用户选择的类型,用于服务端验证
type: string
server_seed:
items:
type: integer
type: array
server_seed_hash:
type: string
total_pairs:
type: integer
user_id:
type: integer
type: object
admin.GrantRewardRequest:
properties:
activity_id:
description: 活动ID可选
type: integer
address_id:
description: 收货地址ID可选实物商品需要
type: integer
points_amount:
description: 消耗积分
type: integer
product_id:
description: 商品ID
type: integer
quantity:
description: 发放数量
minimum: 1
type: integer
remark:
description: 备注
type: string
reward_id:
description: 奖励配置ID可选
type: integer
required:
- product_id
type: object
admin.GrantRewardResponse:
properties:
inventory_ids:
items:
type: integer
type: array
message:
type: string
order_id:
type: integer
success:
type: boolean
type: object
admin.ShippingOrderGroup:
properties:
address_id:
description: 地址ID
type: integer
address_info:
description: 地址信息
type: string
batch_no:
description: 批次号
type: string
count:
description: 商品数量
type: integer
created_at:
type: string
express_code:
description: 快递公司编码
type: string
express_no:
description: 运单号
type: string
group_key:
description: 分组键(用于批量操作)
type: string
inventory_ids:
description: 资产ID列表
items:
type: integer
type: array
product_ids:
description: 商品ID列表
items:
type: integer
type: array
products:
description: 商品详情列表
items:
properties:
id:
type: integer
image:
type: string
name:
type: string
price:
type: integer
type: object
type: array
received_at:
type: string
record_ids:
description: 发货记录ID列表
items:
type: integer
type: array
shipped_at:
type: string
status:
description: 状态(取最大值)
type: integer
total_price:
description: 总价格
type: integer
user_id:
description: 用户ID
type: integer
user_nickname:
description: 用户昵称
type: string
type: object
admin.UserProfileResponse:
properties:
avatar:
type: string
channel_id:
type: integer
created_at:
type: string
current_assets:
description: 当前资产快照
properties:
coupon_count:
description: 持有优惠券数
type: integer
coupon_value:
description: 持有优惠券价值
type: integer
inventory_count:
description: 持有商品数
type: integer
inventory_value:
description: 持有商品价值
type: integer
item_card_count:
description: 持有道具卡数
type: integer
item_card_value:
description: 持有道具卡价值
type: integer
points_balance:
description: 积分余额
type: integer
profit_loss_ratio:
description: 累计盈亏比
type: number
total_asset_value:
description: 总资产估值
type: integer
type: object
douyin_id:
type: string
id:
description: 基本信息
type: integer
invite_code:
type: string
invite_count:
description: 邀请统计
type: integer
inviter_id:
type: integer
lifetime_stats:
description: 生命周期财务指标
properties:
net_cash_cost:
description: 净现金支出
type: integer
order_count:
description: 订单数
type: integer
total_paid:
description: 累计支付
type: integer
total_refunded:
description: 累计退款
type: integer
type: object
mobile:
type: string
nickname:
type: string
type: object
admin.activityDetailResponse:
properties:
activity_category_id:
type: integer
allow_coupons:
type: boolean
allow_item_cards:
type: boolean
banner:
type: string
created_at:
type: string
draw_mode:
type: string
end_time:
type: string
gameplay_intro:
type: string
id:
type: integer
image:
type: string
interval_minutes:
type: integer
is_boss:
type: integer
last_settled_at:
type: string
min_participants:
type: integer
name:
type: string
play_type:
type: string
price_draw:
type: integer
refund_coupon_id:
type: integer
scheduled_time:
type: string
start_time:
type: string
status:
type: integer
updated_at:
type: string
type: object
admin.activityItem:
properties:
activity_category_id:
type: integer
banner:
type: string
category_name:
type: string
id:
type: integer
image:
type: string
is_boss:
type: integer
name:
type: string
price_draw:
type: integer
status:
type: integer
type: object
admin.activitysvcIssueData:
properties:
id:
type: integer
issue_number:
type: string
prize_count:
type: integer
sort:
type: integer
status:
type: integer
type: object
admin.addCouponRequest:
properties:
coupon_id:
type: integer
required:
- coupon_id
type: object
admin.addCouponResponse:
properties:
success:
type: boolean
type: object
admin.addPointsRequest:
properties:
kind:
type: string
points:
description: 正数=增加,负数=扣减
type: integer
remark:
type: string
valid_days:
type: integer
type: object
admin.addPointsResponse:
properties:
success:
type: boolean
type: object
admin.adminUserCouponItem:
properties:
balance_amount:
type: integer
coupon_id:
type: integer
discount_type:
type: integer
discount_value:
type: integer
id:
type: integer
min_spend:
type: integer
name:
type: string
scope_type:
type: integer
status:
type: integer
used_at:
type: string
used_order_id:
type: integer
valid_end:
type: string
valid_start:
type: string
type: object
admin.adminUserItem:
properties:
avatar:
type: string
channel_code:
type: string
channel_name:
type: string
coupons_count:
type: integer
created_at:
type: string
douyin_id:
type: string
id:
type: integer
invite_code:
type: string
inviter_id:
type: integer
item_cards_count:
type: integer
nickname:
type: string
points_balance:
type: integer
seven_day_consume:
type: integer
today_consume:
type: integer
type: object
admin.assignItemCardRequest:
properties:
card_id:
type: integer
quantity:
type: integer
required:
- card_id
type: object
admin.bannerItem:
properties:
id:
type: integer
image_url:
type: string
link_url:
type: string
sort:
type: integer
status:
type: integer
title:
type: string
type: object
admin.batchModifyRewardItem:
properties:
reward_id:
type: integer
weight:
minimum: 0
type: number
required:
- reward_id
type: object
admin.batchModifyRewardsRequest:
properties:
rewards:
items:
$ref: '#/definitions/admin.batchModifyRewardItem'
type: array
required:
- rewards
type: object
admin.batchUpdateProductsRequest:
properties:
ids:
items:
type: integer
type: array
status:
type: integer
stock:
type: integer
required:
- ids
type: object
admin.batchUpdateProductsResponse:
properties:
message:
type: string
updated_count:
type: integer
type: object
admin.categoryItem:
properties:
id:
type: integer
name:
type: string
type: object
admin.checkActivityGamePassesResponse:
properties:
activity_id:
type: integer
can_delete:
type: boolean
message:
type: string
total_remaining:
type: integer
user_count:
type: integer
type: object
admin.copyActivityResponse:
properties:
new_activity_id:
type: integer
status:
type: string
type: object
admin.createActivityRequest:
properties:
activity_category_id:
type: integer
allow_coupons:
type: integer
allow_item_cards:
type: integer
banner:
type: string
draw_mode:
type: string
end_time:
type: string
gameplay_intro:
type: string
image:
type: string
interval_minutes:
type: integer
is_boss:
type: integer
min_participants:
type: integer
name:
type: string
play_type:
type: string
price_draw:
type: integer
refund_coupon_amount:
type: number
refund_coupon_id:
type: integer
refund_coupon_type:
type: string
scheduled_delay_minutes:
type: integer
scheduled_time:
type: string
start_time:
type: string
status:
type: integer
required:
- activity_category_id
- name
type: object
admin.createBannerRequest:
properties:
image_url:
type: string
link_url:
type: string
sort:
type: integer
status:
type: integer
title:
type: string
required:
- image_url
- title
type: object
admin.createBannerResponse:
properties:
id:
type: integer
message:
type: string
type: object
admin.createGamePassPackageRequest:
properties:
activity_id:
type: integer
name:
type: string
original_price:
type: integer
pass_count:
minimum: 1
type: integer
price:
minimum: 0
type: integer
sort_order:
type: integer
status:
description: 1=上架 2=下架
type: integer
valid_days:
type: integer
required:
- name
- pass_count
- price
type: object
admin.createGamePassPackageResponse:
properties:
id:
type: integer
message:
type: string
type: object
admin.createIssueRequest:
properties:
issue_number:
type: string
sort:
type: integer
status:
type: integer
required:
- issue_number
type: object
admin.createItemCardRequest:
properties:
activity_category_id:
type: integer
activity_id:
type: integer
boost_rate_x1000:
type: integer
card_type:
type: integer
effect_type:
type: integer
issue_id:
type: integer
max_effect_value_x1000:
type: integer
name:
type: string
price:
type: integer
remark:
type: string
reward_multiplier_x1000:
type: integer
scope_type:
type: integer
stacking_strategy:
type: integer
status:
type: integer
valid_end_unix:
type: integer
valid_start_unix:
type: integer
required:
- card_type
- effect_type
- name
- price
- scope_type
type: object
admin.createItemCardResponse:
properties:
id:
type: integer
message:
type: string
type: object
admin.createProductCategoryRequest:
properties:
name:
type: string
parent_id:
type: integer
status:
type: integer
required:
- name
type: object
admin.createProductCategoryResponse:
properties:
id:
type: integer
message:
type: string
type: object
admin.createProductRequest:
properties:
category_id:
type: integer
description:
type: string
images_json:
type: string
name:
type: string
price:
type: integer
status:
type: integer
stock:
type: integer
required:
- category_id
- name
- price
- stock
type: object
admin.createProductResponse:
properties:
id:
type: integer
message:
type: string
type: object
admin.createRewardsRequest:
properties:
rewards:
items:
$ref: '#/definitions/admin.rewardItem'
type: array
required:
- rewards
type: object
admin.createUserRequest:
properties:
avatar:
type: string
mobile:
type: string
nickname:
type: string
password:
type: string
username:
type: string
required:
- password
- username
type: object
admin.createUserResponse:
properties:
message:
type: string
success:
type: boolean
type: object
admin.gamePassItem:
properties:
activity_id:
type: integer
activity_name:
type: string
created_at:
type: string
expired_at:
type: string
id:
type: integer
remaining:
type: integer
remark:
type: string
source:
type: string
total_granted:
type: integer
total_used:
type: integer
user_id:
type: integer
user_name:
type: string
type: object
admin.gamePassPackageItem:
properties:
activity_id:
type: integer
activity_name:
type: string
created_at:
type: string
id:
type: integer
name:
type: string
original_price:
type: integer
pass_count:
type: integer
price:
type: integer
sort_order:
type: integer
status:
type: integer
valid_days:
type: integer
type: object
admin.getOrderSnapshotsResponse:
properties:
after_snapshot:
$ref: '#/definitions/snapshot.UserStateSnapshot'
before_snapshot:
$ref: '#/definitions/snapshot.UserStateSnapshot'
diff:
$ref: '#/definitions/snapshot.SnapshotDiff'
has_snapshots:
type: boolean
order:
properties:
actual_amount:
type: integer
id:
type: integer
order_no:
type: string
paid_at:
type: string
status:
type: integer
user_id:
type: integer
type: object
type: object
admin.getUserGamePassesResponse:
properties:
activity_passes:
items:
$ref: '#/definitions/admin.gamePassItem'
type: array
global_remaining:
type: integer
total_remaining:
type: integer
user_id:
type: integer
type: object
admin.grantGamePassRequest:
properties:
activity_id:
description: 可选NULL表示全局通用
type: integer
count:
minimum: 1
type: integer
remark:
type: string
user_id:
type: integer
valid_days:
description: 可选NULL表示永久有效
type: integer
required:
- count
- user_id
type: object
admin.grantGamePassResponse:
properties:
id:
type: integer
message:
type: string
type: object
admin.issueUserTokenResponse:
properties:
expires_in:
type: integer
token:
type: string
type: object
admin.itemCardListItem:
properties:
activity_category_id:
type: integer
activity_id:
type: integer
boost_rate_x1000:
type: integer
card_type:
type: integer
created_at:
type: string
effect_type:
type: integer
id:
type: integer
issue_id:
type: integer
max_effect_value_x1000:
type: integer
name:
type: string
price:
type: integer
remark:
type: string
reward_multiplier_x1000:
type: integer
scope_type:
type: integer
stacking_strategy:
type: integer
status:
type: integer
updated_at:
type: string
valid_end:
type: string
valid_start:
type: string
type: object
admin.listActivitiesResponse:
properties:
list:
items:
$ref: '#/definitions/admin.activityItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listBannersResponse:
properties:
list:
items:
$ref: '#/definitions/admin.bannerItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listCategoriesResponse:
properties:
list:
items:
$ref: '#/definitions/admin.categoryItem'
type: array
type: object
admin.listCouponsResponse:
properties:
list:
items:
$ref: '#/definitions/admin.adminUserCouponItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listGamePassPackagesResponse:
properties:
list:
items:
$ref: '#/definitions/admin.gamePassPackageItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listGamePassesResponse:
properties:
list:
items:
$ref: '#/definitions/admin.gamePassItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listInventoryResponse:
properties:
list:
items:
$ref: '#/definitions/user.InventoryWithProduct'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listInvitesResponse:
properties:
list:
items:
$ref: '#/definitions/admin.adminUserItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listIssuesResponse:
properties:
list:
items:
$ref: '#/definitions/admin.activitysvcIssueData'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listItemCardsResponse:
properties:
list:
items:
$ref: '#/definitions/admin.itemCardListItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listMatchingCardTypesResponse:
properties:
list:
items:
$ref: '#/definitions/admin.matchingCardTypeResponse'
type: array
total:
type: integer
type: object
admin.listOrdersResponse:
properties:
list:
items:
$ref: '#/definitions/user.OrderWithItems'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listPointsResponse:
properties:
list:
items:
$ref: '#/definitions/model.UserPointsLedger'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listProductCategoriesResponse:
properties:
list:
items:
$ref: '#/definitions/admin.productCategoryListItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listProductsResponse:
properties:
list:
items:
$ref: '#/definitions/admin.productItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listRewardsResponse:
properties:
list:
items:
$ref: '#/definitions/admin.rewardItem'
type: array
type: object
admin.listShippingOrdersResponse:
properties:
list:
items:
$ref: '#/definitions/admin.ShippingOrderGroup'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listUserItemCardsResponse:
properties:
list:
items:
$ref: '#/definitions/user.ItemCardWithTemplate'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.listUsersResponse:
properties:
list:
items:
$ref: '#/definitions/admin.adminUserItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
admin.loginRequest:
properties:
password:
description: 密码 (MD5加密后的密码)
type: string
username:
description: 用户名
type: string
required:
- password
- username
type: object
admin.loginResponse:
properties:
is_super:
description: 是否是超级管理员(1:是 0:否)
type: integer
token:
description: 登录成功后颁发的 Token
type: string
type: object
admin.matchingCardTypeRequest:
properties:
code:
type: string
image_url:
type: string
name:
type: string
quantity:
type: integer
sort:
type: integer
status:
type: integer
required:
- code
- name
type: object
admin.matchingCardTypeResponse:
properties:
code:
type: string
created_at:
type: string
id:
type: integer
image_url:
type: string
name:
type: string
quantity:
type: integer
sort:
type: integer
status:
type: integer
type: object
admin.modifyActivityRequest:
properties:
activity_category_id:
type: integer
allow_coupons:
type: integer
allow_item_cards:
type: integer
banner:
type: string
draw_mode:
type: string
end_time:
type: string
force:
type: boolean
gameplay_intro:
type: string
image:
type: string
interval_minutes:
type: integer
is_boss:
type: integer
min_participants:
type: integer
name:
type: string
play_type:
type: string
price_draw:
type: integer
refund_coupon_amount:
type: number
refund_coupon_id:
type: integer
refund_coupon_type:
type: string
scheduled_delay_minutes:
type: integer
scheduled_time:
type: string
start_time:
type: string
status:
type: integer
type: object
admin.modifyBannerRequest:
properties:
image_url:
type: string
link_url:
type: string
sort:
type: integer
status:
type: integer
title:
type: string
type: object
admin.modifyGamePassPackageRequest:
properties:
activity_id:
type: integer
name:
type: string
original_price:
type: integer
pass_count:
type: integer
price:
type: integer
sort_order:
type: integer
status:
type: integer
valid_days:
type: integer
type: object
admin.modifyIssueRequest:
properties:
issue_number:
type: string
sort:
type: integer
status:
type: integer
type: object
admin.modifyItemCardRequest:
properties:
activity_category_id:
type: integer
activity_id:
type: integer
boost_rate_x1000:
type: integer
card_type:
type: integer
effect_type:
type: integer
issue_id:
type: integer
max_effect_value_x1000:
type: integer
name:
type: string
price:
type: integer
remark:
type: string
reward_multiplier_x1000:
type: integer
scope_type:
type: integer
stacking_strategy:
type: integer
status:
type: integer
valid_end_unix:
type: integer
valid_start_unix:
type: integer
type: object
admin.modifyProductCategoryRequest:
properties:
name:
type: string
parent_id:
type: integer
status:
type: integer
type: object
admin.modifyProductRequest:
properties:
category_id:
type: integer
description:
type: string
images_json:
type: string
name:
type: string
price:
type: integer
status:
type: integer
stock:
type: integer
type: object
admin.modifyRewardRequest:
properties:
is_boss:
type: integer
level:
type: integer
min_score:
type: integer
original_qty:
type: integer
product_id:
type: integer
quantity:
type: integer
sort:
type: integer
weight:
type: number
type: object
admin.pcSimpleMessage:
properties:
message:
type: string
type: object
admin.pointsBalanceResponse:
properties:
balance:
type: integer
type: object
admin.productCategoryListItem:
properties:
id:
type: integer
name:
type: string
parent_id:
type: integer
status:
type: integer
type: object
admin.productItem:
properties:
category_id:
type: integer
description:
type: string
id:
type: integer
images_json:
type: string
name:
type: string
price:
type: integer
sales:
type: integer
status:
type: integer
stock:
type: integer
type: object
admin.refreshResponse:
properties:
expires_in:
type: integer
token:
type: string
type: object
admin.rewardItem:
properties:
id:
type: integer
is_boss:
type: integer
level:
type: integer
min_score:
type: integer
original_qty:
type: integer
product_id:
type: integer
product_image_url:
type: string
product_name:
type: string
product_price:
type: number
quantity:
type: integer
sort:
type: integer
weight:
type: number
required:
- level
- original_qty
- quantity
- weight
type: object
admin.roleItem:
properties:
createTime:
type: string
description:
type: string
enabled:
type: boolean
roleCode:
type: string
roleId:
type: integer
roleName:
type: string
type: object
admin.roleListResponse:
properties:
current:
type: integer
records:
items:
$ref: '#/definitions/admin.roleItem'
type: array
size:
type: integer
total:
type: integer
type: object
admin.rollbackOrderRequest:
properties:
confirm:
type: boolean
reason:
type: string
type: object
admin.rollbackOrderResponse:
properties:
coupons_restored:
type: integer
error_msg:
type: string
inventory_revoked:
type: integer
item_cards_restored:
type: integer
points_restored:
type: integer
refund_amount:
type: integer
rollback_log_id:
type: integer
success:
type: boolean
type: object
admin.simpleMessage:
properties:
message:
type: string
type: object
admin.simpleMessageResponse:
properties:
message:
type: string
type: object
admin.updateShippingRequest:
properties:
express_code:
description: 快递公司编码
type: string
express_no:
description: 运单号
type: string
record_ids:
description: 发货记录ID列表
items:
type: integer
type: array
status:
description: 状态
type: integer
type: object
admin.updateShippingResponse:
properties:
success:
type: boolean
updated_count:
type: integer
type: object
admin.userListItem:
properties:
avatar:
type: string
createBy:
type: string
createTime:
type: string
id:
type: integer
nickName:
type: string
status:
type: string
updateBy:
type: string
updateTime:
type: string
userEmail:
type: string
userGender:
type: string
userName:
type: string
userPhone:
type: string
userRoles:
items:
type: string
type: array
type: object
admin.userListResponse:
properties:
current:
type: integer
records:
items:
$ref: '#/definitions/admin.userListItem'
type: array
size:
type: integer
total:
type: integer
type: object
app.MatchingRewardInfo:
properties:
level:
type: integer
name:
type: string
product_image:
description: 商品图片
type: string
product_name:
description: 商品原始名称
type: string
reward_id:
type: integer
type: object
app.activityDetailResponse:
properties:
activity_category_id:
type: integer
allow_coupons:
type: boolean
allow_item_cards:
type: boolean
banner:
type: string
created_at:
type: string
draw_mode:
type: string
end_time:
type: string
gameplay_intro:
type: string
id:
type: integer
image:
type: string
interval_minutes:
type: integer
is_boss:
type: integer
last_settled_at:
type: string
min_participants:
type: integer
name:
type: string
play_type:
type: string
price_draw:
type: integer
refund_coupon_id:
type: integer
scheduled_time:
type: string
start_time:
type: string
status:
type: integer
updated_at:
type: string
type: object
app.activityItem:
properties:
activity_category_id:
type: integer
banner:
type: string
category_name:
type: string
id:
type: integer
image:
type: string
is_boss:
type: integer
name:
type: string
price_draw:
type: integer
status:
type: integer
type: object
app.addAddressRequest:
properties:
address:
type: string
city:
type: string
district:
type: string
is_default:
type: boolean
mobile:
type: string
name:
type: string
province:
type: string
type: object
app.addAddressResponse:
properties:
id:
type: integer
type: object
app.addressShareCreateRequest:
properties:
expires_at:
type: string
expires_in_minutes:
type: integer
inventory_id:
type: integer
type: object
app.addressShareCreateResponse:
properties:
expires_at:
type: string
share_token:
type: string
share_url:
type: string
short_link:
type: string
type: object
app.addressShareRevokeRequest:
properties:
inventory_id:
type: integer
type: object
app.addressShareSubmitRequest:
properties:
address:
type: string
city:
type: string
district:
type: string
mobile:
type: string
name:
type: string
province:
type: string
share_token:
type: string
type: object
app.addressShareSubmitResponse:
properties:
address_id:
type: integer
type: object
app.appBannerItem:
properties:
id:
type: integer
image_url:
type: string
link_url:
type: string
sort:
type: integer
title:
type: string
type: object
app.appCategoryItem:
properties:
id:
type: integer
name:
type: string
type: object
app.appNoticeItem:
properties:
content:
type: string
type: object
app.bindDouyinPhoneRequest:
properties:
code:
type: string
type: object
app.bindDouyinPhoneResponse:
properties:
mobile:
type: string
success:
type: boolean
type: object
app.bindPhoneRequest:
properties:
code:
type: string
type: object
app.bindPhoneResponse:
properties:
mobile:
type: string
success:
type: boolean
type: object
app.cancelOrderRequest:
properties:
reason:
type: string
type: object
app.cancelOrderResponse:
properties:
cancelled_at:
type: string
order_id:
type: integer
order_no:
type: string
status:
type: integer
type: object
app.cancelShippingRequest:
properties:
batch_no:
description: 批次号与inventory_id二选一取消整批
type: string
inventory_id:
description: 单个资产ID与batch_no二选一
type: integer
type: object
app.cancelShippingResponse:
properties:
cancelled_count:
description: 成功取消的数量
type: integer
type: object
app.couponDetail:
properties:
amount:
description: 原始面值
type: integer
id:
type: integer
name:
type: string
remaining:
description: 剩余额度
type: integer
status:
type: integer
use_count:
description: 使用次数
type: integer
used_amount:
description: 累计已使用金额
type: integer
valid_end:
type: string
valid_start:
type: string
type: object
app.couponItem:
properties:
amount:
type: integer
id:
type: integer
name:
type: string
remaining:
type: integer
rules:
type: string
status:
type: integer
used_at:
description: 使用时间(已使用时返回)
type: string
valid_end:
type: string
valid_start:
type: string
type: object
app.couponStatsResponse:
properties:
expired_count:
description: 已过期优惠券数量
type: integer
total_remaining:
description: 可用优惠券总余额(分)
type: integer
total_saved:
description: 累计节省金额(分)
type: integer
unused_count:
description: 可用优惠券数量
type: integer
used_count:
description: 已使用优惠券数量
type: integer
type: object
app.couponUsageItem:
properties:
activity_name:
description: 活动名称
type: string
amount:
description: 本次使用金额(正数)
type: integer
created_at:
type: string
id:
type: integer
order_no:
description: 订单号
type: string
type: object
app.douyinLoginRequest:
properties:
anonymous_code:
type: string
channel_code:
type: string
code:
type: string
invite_code:
type: string
type: object
app.douyinLoginResponse:
properties:
avatar:
type: string
invite_code:
type: string
nickname:
type: string
token:
type: string
user_id:
type: integer
type: object
app.drawLogGroup:
properties:
level:
type: integer
level_name:
type: string
list:
items:
$ref: '#/definitions/app.drawLogItem'
type: array
type: object
app.drawLogItem:
properties:
avatar:
type: string
created_at:
type: string
current_level:
type: integer
id:
type: integer
is_winner:
type: integer
issue_id:
type: integer
level:
type: integer
order_id:
type: integer
reward_id:
type: integer
reward_image:
type: string
reward_name:
type: string
user_id:
type: integer
user_name:
type: string
type: object
app.getAppProductDetailResponse:
properties:
album:
items:
type: string
type: array
description:
type: string
id:
type: integer
name:
type: string
points_required:
type: integer
price:
type: integer
recommendations:
items:
$ref: '#/definitions/app.listAppProductsItem'
type: array
sales:
type: integer
service:
items:
type: string
type: array
stock:
type: integer
type: object
app.getGamePassesResponse:
properties:
global_remaining:
description: 全局通用次数
type: integer
passes:
items:
$ref: '#/definitions/app.userGamePassItem'
type: array
total_remaining:
type: integer
type: object
app.getPackagesResponse:
properties:
packages:
items:
$ref: '#/definitions/app.packageItem'
type: array
type: object
app.inviteUserItem:
properties:
avatar:
type: string
id:
type: integer
invite_code:
type: string
nickname:
type: string
type: object
app.issueItem:
properties:
id:
type: integer
issue_number:
type: string
remaining_prize_quantity:
type: integer
sort:
type: integer
status:
type: integer
total_prize_quantity:
type: integer
type: object
app.joinLotteryRequest:
properties:
activity_id:
type: integer
channel:
type: string
count:
type: integer
coupon_id:
type: integer
issue_id:
type: integer
item_card_id:
type: integer
slot_index:
items:
type: integer
type: array
use_game_pass:
type: boolean
use_points:
type: integer
type: object
app.joinLotteryResponse:
properties:
actual_amount:
type: integer
draw_mode:
type: string
join_id:
type: string
order_no:
type: string
queued:
type: boolean
reward_id:
type: integer
reward_name:
type: string
status:
type: integer
type: object
app.jsapiPreorderRequest:
properties:
openid:
type: string
order_no:
type: string
type: object
app.jsapiPreorderResponse:
properties:
nonceStr:
type: string
package:
type: string
paySign:
type: string
signType:
type: string
timeStamp:
type: string
type: object
app.listActivitiesResponse:
properties:
list:
items:
$ref: '#/definitions/app.activityItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
app.listAddressesResponse:
properties:
list:
items:
$ref: '#/definitions/model.UserAddresses'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
app.listAppBannersResponse:
properties:
list:
items:
$ref: '#/definitions/app.appBannerItem'
type: array
type: object
app.listAppCategoriesResponse:
properties:
list:
items:
$ref: '#/definitions/app.appCategoryItem'
type: array
type: object
app.listAppNoticesResponse:
properties:
list:
items:
$ref: '#/definitions/app.appNoticeItem'
type: array
type: object
app.listAppProductsItem:
properties:
id:
type: integer
in_stock:
type: boolean
main_image:
type: string
name:
type: string
points_required:
type: integer
price:
type: integer
sales:
type: integer
type: object
app.listAppProductsResponse:
properties:
currentPage:
type: integer
list:
items:
$ref: '#/definitions/app.listAppProductsItem'
type: array
pageSize:
type: integer
total:
type: integer
type: object
app.listCouponUsageResponse:
properties:
coupon:
$ref: '#/definitions/app.couponDetail'
page:
type: integer
page_size:
type: integer
records:
items:
$ref: '#/definitions/app.couponUsageItem'
type: array
total:
type: integer
type: object
app.listCouponsResponse:
properties:
list:
items:
$ref: '#/definitions/app.couponItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
app.listDrawLogsByLevelResponse:
properties:
groups:
items:
$ref: '#/definitions/app.drawLogGroup'
type: array
type: object
app.listDrawLogsResponse:
properties:
list:
items:
$ref: '#/definitions/app.drawLogItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
app.listInventoryResponse:
properties:
list:
items:
$ref: '#/definitions/user.AggregatedInventory'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
app.listInvitesResponse:
properties:
list:
items:
$ref: '#/definitions/app.inviteUserItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
app.listIssueChoicesResponse:
properties:
available:
items:
type: integer
type: array
claimed:
items:
type: integer
type: array
total_slots:
type: integer
type: object
app.listIssuesResponse:
properties:
list:
items:
$ref: '#/definitions/app.issueItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
app.listOrdersResponse:
properties:
list:
items:
$ref: '#/definitions/user.OrderWithItems'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
app.listPointsResponse:
properties:
list:
items:
$ref: '#/definitions/model.UserPointsLedger'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
app.listRewardsResponse:
properties:
list:
items:
$ref: '#/definitions/app.rewardItem'
type: array
play_type:
description: 活动类型
type: string
type: object
app.listShipmentsResponse:
properties:
list:
items:
$ref: '#/definitions/user.ShipmentGroup'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
app.listStoreItem:
properties:
discount_type:
type: integer
discount_value:
type: integer
id:
type: integer
in_stock:
type: boolean
kind:
type: string
main_image:
type: string
min_spend:
type: integer
name:
type: string
points_required:
type: integer
price:
type: integer
status:
type: integer
supported:
type: boolean
type: object
app.listStoreItemsResponse:
properties:
list:
items:
$ref: '#/definitions/app.listStoreItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
app.listUserItemCardUsesResponse:
properties:
list:
items:
$ref: '#/definitions/model.ActivityDrawEffects'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
app.listUserItemCardsResponse:
properties:
list:
items:
$ref: '#/definitions/user.ItemCardWithTemplate'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
app.matchingGameCardsResponse:
properties:
all_cards:
items:
$ref: '#/definitions/activity.MatchingCard'
type: array
game_id:
type: string
type: object
app.matchingGameCheckRequest:
properties:
game_id:
type: string
total_pairs:
description: 客户端上报的消除总对数
type: integer
required:
- game_id
type: object
app.matchingGameCheckResponse:
properties:
finished:
type: boolean
game_id:
type: string
reward:
$ref: '#/definitions/app.MatchingRewardInfo'
total_pairs:
type: integer
type: object
app.matchingGamePreOrderRequest:
properties:
coupon_id:
type: integer
issue_id:
type: integer
item_card_id:
type: integer
position:
type: string
use_game_pass:
description: 新增:是否使用次数卡
type: boolean
type: object
app.matchingGamePreOrderResponse:
properties:
game_id:
type: string
order_no:
type: string
pay_status:
description: 1=Pending, 2=Paid
type: integer
server_seed_hash:
type: string
type: object
app.modifyUserRequest:
properties:
avatar:
type: string
nickname:
type: string
type: object
app.modifyUserResponse:
properties:
user:
$ref: '#/definitions/app.userItem'
type: object
app.okDeleteResponse:
properties:
ok:
type: boolean
type: object
app.okResponse:
properties:
ok:
type: boolean
type: object
app.orderResultItem:
properties:
draw_index:
type: integer
image:
type: string
level:
type: integer
reward_id:
type: integer
reward_name:
type: string
type: object
app.orderResultResponse:
properties:
completed:
type: integer
count:
type: integer
draw_mode:
type: string
next_draw_time:
type: string
nextPollMs:
type: integer
receipt:
additionalProperties: {}
type: object
results:
items:
$ref: '#/definitions/app.orderResultItem'
type: array
seed_hex:
type: string
status:
type: string
type: object
app.packageItem:
properties:
activity_id:
type: integer
id:
type: integer
name:
type: string
original_price:
type: integer
pass_count:
type: integer
price:
type: integer
valid_days:
type: integer
type: object
app.pointsBalanceResponse:
properties:
balance:
type: integer
type: object
app.purchasePackageRequest:
properties:
count:
description: 购买数量
type: integer
package_id:
type: integer
required:
- package_id
type: object
app.purchasePackageResponse:
properties:
message:
type: string
order_no:
type: string
type: object
app.redeemCouponRequest:
properties:
coupon_id:
type: integer
type: object
app.redeemCouponResponse:
properties:
coupon_id:
type: integer
ledger_id:
type: integer
message:
type: string
success:
type: boolean
type: object
app.redeemInventoryRequest:
properties:
inventory_ids:
items:
type: integer
type: array
type: object
app.redeemInventoryResponse:
properties:
points:
type: integer
type: object
app.redeemItemCardRequest:
properties:
card_id:
type: integer
quantity:
type: integer
type: object
app.redeemItemCardResponse:
properties:
card_id:
type: integer
ledger_id:
type: integer
message:
type: string
success:
type: boolean
type: object
app.redeemProductRequest:
properties:
product_id:
type: integer
quantity:
type: integer
type: object
app.redeemProductResponse:
properties:
inventory_ids:
items:
type: integer
type: array
ledger_id:
type: integer
message:
type: string
order_id:
type: integer
success:
type: boolean
type: object
app.requestShippingBatchRequest:
properties:
address_id:
type: integer
inventory_ids:
items:
type: integer
type: array
type: object
app.requestShippingBatchResponse:
properties:
address_id:
type: integer
batch_no:
type: string
failed:
items:
additionalProperties: {}
type: object
type: array
skipped:
items:
additionalProperties: {}
type: object
type: array
success_ids:
items:
type: integer
type: array
type: object
app.requestShippingRequest:
properties:
inventory_id:
type: integer
type: object
app.requestShippingResponse:
properties:
address_id:
type: integer
type: object
app.resultResponse:
properties:
receipt:
additionalProperties: {}
type: object
result:
additionalProperties: {}
type: object
results:
items:
additionalProperties: {}
type: object
type: array
type: object
app.rewardItem:
properties:
id:
type: integer
is_boss:
type: integer
level:
type: integer
min_score:
type: integer
name:
type: string
original_qty:
type: integer
prize_level:
description: 兼容部分前端逻辑
type: integer
product_id:
type: integer
product_image:
type: string
quantity:
type: integer
sort:
type: integer
weight:
type: integer
type: object
app.sendSmsCodeRequest:
properties:
mobile:
type: string
required:
- mobile
type: object
app.sendSmsCodeResponse:
properties:
expire_seconds:
type: integer
success:
type: boolean
type: object
app.smsLoginRequest:
properties:
code:
type: string
invite_code:
type: string
mobile:
type: string
required:
- code
- mobile
type: object
app.smsLoginResponse:
properties:
avatar:
type: string
invite_code:
type: string
is_new_user:
type: boolean
mobile:
type: string
nickname:
type: string
openid:
type: string
token:
type: string
user_id:
type: integer
type: object
app.updateAddressRequest:
properties:
address:
type: string
city:
type: string
district:
type: string
is_default:
type: boolean
mobile:
type: string
name:
type: string
province:
type: string
type: object
app.userGamePassItem:
properties:
activity_id:
type: integer
activity_name:
type: string
expired_at:
type: string
id:
type: integer
remaining:
type: integer
source:
type: string
type: object
app.userItem:
properties:
avatar:
type: string
balance:
description: Points
type: integer
id:
type: integer
invite_code:
type: string
inviter_id:
type: integer
mobile:
type: string
nickname:
type: string
type: object
app.userStatsResponse:
properties:
coupon_count:
type: integer
item_card_count:
type: integer
points_balance:
type: integer
type: object
app.weixinLoginRequest:
properties:
code:
type: string
douyin_id:
type: string
invite_code:
type: string
type: object
app.weixinLoginResponse:
properties:
avatar:
type: string
invite_code:
type: string
nickname:
type: string
openid:
type: string
token:
type: string
user_id:
type: integer
type: object
code.Failure:
properties:
code:
description: 业务码
type: integer
message:
description: 描述信息
type: string
type: object
game.consumeTicketRequest:
properties:
game_code:
type: string
ticket:
type: string
user_id:
type: string
type: object
game.consumeTicketResponse:
properties:
error:
type: string
success:
type: boolean
type: object
game.enterGameRequest:
properties:
game_code:
type: string
required:
- game_code
type: object
game.enterGameResponse:
properties:
client_url:
type: string
expires_at:
type: string
game_token:
type: string
nakama_key:
type: string
nakama_server:
type: string
remaining_times:
type: integer
type: object
game.grantTicketRequest:
properties:
amount:
minimum: 1
type: integer
game_code:
type: string
remark:
type: string
required:
- amount
- game_code
type: object
game.settleRequest:
properties:
match_id:
type: string
score:
type: integer
ticket:
type: string
user_id:
type: string
win:
type: boolean
type: object
game.settleResponse:
properties:
reward:
type: string
success:
type: boolean
type: object
game.validateTokenRequest:
properties:
game_token:
type: string
required:
- game_token
type: object
game.validateTokenResponse:
properties:
avatar:
type: string
error:
type: string
game_type:
type: string
ticket:
type: string
user_id:
type: integer
username:
type: string
valid:
type: boolean
type: object
game.verifyRequest:
properties:
ticket:
type: string
user_id:
type: string
type: object
game.verifyResponse:
properties:
game_config:
additionalProperties: {}
type: object
user_id:
type: string
valid:
type: boolean
type: object
minesweeper.SettleGameRequest:
properties:
match_id:
type: string
metadata:
type: string
score:
type: integer
ticket:
type: string
user_id:
type: string
win:
type: boolean
type: object
minesweeper.SettleGameResponse:
properties:
reward:
type: string
success:
type: boolean
type: object
minesweeper.VerifyTicketRequest:
properties:
ticket:
type: string
user_id:
type: string
type: object
minesweeper.VerifyTicketResponse:
properties:
remaining_times:
type: integer
user_id:
type: string
valid:
type: boolean
type: object
model.ActivityDrawEffects:
properties:
activity_category_id:
description: 范围快照-活动分类ID
type: integer
activity_id:
description: 范围快照-活动ID
type: integer
applied:
description: 是否生效0否 1是
type: integer
card_type:
description: 卡类型快照
type: integer
created_at:
description: 创建时间
type: string
draw_log_id:
description: 抽奖日志IDactivity_draw_logs.id
type: integer
effect_type:
description: 效果类型快照
type: integer
id:
description: 主键ID
type: integer
issue_id:
description: 范围快照-期ID
type: integer
probability_delta_x1000:
description: 概率相对增益(千分比)
type: integer
remark:
description: 备注
type: string
reward_multiplier_x1000:
description: 奖励倍数(千分比)
type: integer
scope_type:
description: 适用范围快照
type: integer
system_item_card_id:
description: 卡模板IDsystem_item_cards.id
type: integer
user_id:
description: 用户IDusers.id
type: integer
user_item_card_id:
description: 用户卡实例IDuser_item_cards.id
type: integer
type: object
model.OrderItems:
properties:
created_at:
description: 创建时间
type: string
id:
description: 主键ID
type: integer
order_id:
description: 订单IDorders.id
type: integer
price:
description: 成交单价(分)
type: integer
product_id:
description: 商品IDproducts.id
type: integer
product_images:
description: 商品图片快照JSON
type: string
quantity:
description: 购买数量
type: integer
status:
description: 行状态1正常 2取消
type: integer
title:
description: 商品标题快照
type: string
total_amount:
description: 行应付总额(分)
type: integer
type: object
model.ShippingRecords:
properties:
address_id:
description: 收货地址IDuser_addresses.id
type: integer
batch_no:
description: 批次号(批量发货时用于聚合)
type: string
created_at:
description: 创建时间
type: string
express_code:
description: 快递公司编码
type: string
express_no:
description: 运单号
type: string
id:
description: 主键ID
type: integer
inventory_id:
description: 资产ID抽奖产物发货时使用
type: integer
order_id:
description: 关联订单IDorders.id抽奖产物可为空
type: integer
order_item_id:
description: 订单行ID商城直发时使用
type: integer
price:
description: 行价格(分,可选)
type: integer
product_id:
description: 商品ID统计/冗余)
type: integer
quantity:
description: 发货数量
type: integer
received_at:
description: 签收时间
type: string
remark:
description: 备注
type: string
shipped_at:
description: 发货时间
type: string
status:
description: 发货状态1待发货 2已发货 3已签收 4异常
type: integer
updated_at:
description: 更新时间
type: string
user_id:
description: 收件用户IDuser_members.id
type: integer
type: object
model.UserAddresses:
properties:
address:
description: 详细地址
type: string
city:
description:
type: string
created_at:
description: 创建时间
type: string
default_user_unique:
description: 用于唯一约束的生成列默认地址→user_id
type: integer
district:
description: 区/县
type: string
id:
description: 主键ID
type: integer
is_default:
description: 是否默认地址0否 1是
type: integer
mobile:
description: 收件人手机号
type: string
name:
description: 收件人姓名
type: string
province:
description:
type: string
updated_at:
description: 更新时间
type: string
user_id:
description: 用户IDuser_members.id
type: integer
type: object
model.UserPointsLedger:
properties:
action:
description: 变更动作signin/order_deduct/refund_restore/manual
type: string
created_at:
description: 创建时间
type: string
id:
description: 主键ID
type: integer
points:
description: 积分变动值(正增负减)
type: integer
ref_id:
description: 关联ID如订单号/记录ID
type: string
ref_table:
description: 关联表名如orders/payment_refund
type: string
remark:
description: 备注
type: string
user_id:
description: 用户IDuser_members.id
type: integer
type: object
pay.notifyAck:
properties:
code:
type: string
message:
type: string
type: object
snapshot.CouponInfo:
properties:
balance_amount:
type: integer
coupon_id:
type: integer
coupon_name:
type: string
status:
type: integer
user_coupon_id:
type: integer
valid_end:
type: string
type: object
snapshot.ItemCardInfo:
properties:
card_id:
type: integer
card_name:
type: string
status:
type: integer
user_item_card_id:
type: integer
valid_end:
type: string
type: object
snapshot.PointsInfo:
properties:
balance:
type: integer
version:
type: integer
type: object
snapshot.SnapshotDiff:
properties:
coupons_used:
items:
$ref: '#/definitions/snapshot.CouponInfo'
type: array
inventory_added:
type: integer
item_cards_used:
items:
$ref: '#/definitions/snapshot.ItemCardInfo'
type: array
points_changed:
type: integer
type: object
snapshot.UserInfo:
properties:
id:
type: integer
mobile:
type: string
nickname:
type: string
type: object
snapshot.UserStateSnapshot:
properties:
coupons:
items:
$ref: '#/definitions/snapshot.CouponInfo'
type: array
inventory_count:
type: integer
item_cards:
items:
$ref: '#/definitions/snapshot.ItemCardInfo'
type: array
points:
$ref: '#/definitions/snapshot.PointsInfo'
snapshot_time:
type: string
user:
$ref: '#/definitions/snapshot.UserInfo'
type: object
taskcenter.claimTaskRequest:
properties:
tier_id:
type: integer
type: object
taskcenter.createTaskRequest:
properties:
description:
type: string
end_time:
type: string
name:
type: string
start_time:
type: string
status:
type: integer
visibility:
type: integer
type: object
taskcenter.listTasksResponse:
properties:
list:
items:
$ref: '#/definitions/taskcenter.taskItem'
type: array
page:
type: integer
page_size:
type: integer
total:
type: integer
type: object
taskcenter.modifyTaskRequest:
properties:
description:
type: string
end_time:
type: string
name:
type: string
start_time:
type: string
status:
type: integer
visibility:
type: integer
type: object
taskcenter.simulateInviteSuccessRequest:
properties:
invitee_id:
type: integer
inviter_id:
type: integer
type: object
taskcenter.simulateOrderPaidRequest:
properties:
order_id:
type: integer
user_id:
type: integer
type: object
taskcenter.taskItem:
properties:
description:
type: string
end_time:
type: integer
id:
type: integer
name:
type: string
rewards:
items:
$ref: '#/definitions/taskcenter.taskRewardItem'
type: array
start_time:
type: integer
status:
type: integer
tiers:
items:
$ref: '#/definitions/taskcenter.taskTierItem'
type: array
type: object
taskcenter.taskProgressResponse:
properties:
claimed_tiers:
items:
type: integer
type: array
first_order:
type: boolean
invite_count:
type: integer
order_amount:
type: integer
order_count:
type: integer
task_id:
type: integer
user_id:
type: integer
type: object
taskcenter.taskRewardItem:
properties:
id:
type: integer
quantity:
type: integer
reward_name:
type: string
reward_payload:
additionalProperties: {}
type: object
reward_type:
type: string
tier_id:
type: integer
type: object
taskcenter.taskTierItem:
properties:
id:
type: integer
metric:
type: string
operator:
type: string
priority:
type: integer
repeatable:
type: integer
threshold:
type: integer
window:
type: string
type: object
taskcenter.upsertRewardsRequest:
properties:
rewards:
items:
properties:
quantity:
type: integer
reward_payload:
items:
type: integer
type: array
reward_type:
type: string
tier_id:
type: integer
type: object
type: array
type: object
taskcenter.upsertTiersRequest:
properties:
tiers:
items:
properties:
activity_id:
type: integer
extra_params:
items:
type: integer
type: array
metric:
type: string
operator:
type: string
priority:
type: integer
repeatable:
type: integer
threshold:
type: integer
window:
type: string
type: object
type: array
type: object
user.AggregatedInventory:
properties:
count:
type: integer
has_shipment:
type: boolean
inventory_ids:
items:
type: integer
type: array
product_id:
type: integer
product_images:
type: string
product_name:
type: string
product_price:
type: integer
shipping_status:
type: integer
status:
description: 用于区分 1持有 3已处理
type: integer
updated_at:
type: string
type: object
user.CouponSimpleInfo:
properties:
name:
type: string
type:
description: 1:满减 2:折扣
type: integer
user_coupon_id:
type: integer
value:
type: integer
type: object
user.DrawReceiptInfo:
properties:
algo_version:
type: string
client_id:
type: integer
client_seed:
type: string
draw_id:
type: integer
draw_index:
type: integer
draw_log_id:
type: integer
items_root:
type: string
items_snapshot:
type: string
nonce:
type: integer
rand_proof:
type: string
reward_id:
type: integer
round_id:
type: integer
selected_index:
type: integer
server_seed_hash:
type: string
server_sub_seed:
type: string
signature:
type: string
timestamp:
type: integer
weights_total:
type: integer
type: object
user.InventoryWithProduct:
properties:
activity_id:
description: 来源活动ID
type: integer
created_at:
description: 创建时间
type: string
has_shipment:
type: boolean
id:
description: 主键ID
type: integer
order_id:
description: 来源订单ID
type: integer
product_id:
description: 资产对应商品ID实物奖/商品)
type: integer
product_images:
type: string
product_name:
type: string
product_price:
description: 新增价格字段
type: integer
remark:
description: 备注
type: string
reward_id:
description: 来源奖励IDactivity_reward_settings.id
type: integer
shipping_no:
description: 发货单号
type: string
shipping_status:
type: integer
status:
description: 状态1持有 2作废 3已使用/发货
type: integer
updated_at:
description: 更新时间
type: string
user_id:
description: 资产归属用户ID
type: integer
type: object
user.ItemCardSimpleInfo:
properties:
effect_type:
type: integer
name:
type: string
user_card_id:
type: integer
type: object
user.ItemCardWithTemplate:
properties:
card_id:
description: 卡模板IDsystem_item_cards.id
type: integer
card_type:
type: integer
count:
type: integer
created_at:
description: 创建时间
type: string
effect_type:
type: integer
id:
description: 主键ID
type: integer
name:
type: string
remark:
type: string
scope_type:
type: integer
stacking_strategy:
type: integer
status:
description: 状态1未使用 2已使用 3已过期
type: integer
updated_at:
description: 更新时间
type: string
used_activity_id:
description: 使用时活动ID
type: integer
used_activity_name:
type: string
used_at:
description: 使用时间
type: string
used_draw_log_id:
description: 使用关联抽奖日志IDactivity_draw_logs.id
type: integer
used_issue_id:
description: 使用时期ID
type: integer
used_issue_number:
type: string
used_reward_name:
type: string
user_id:
description: 用户IDusers.id
type: integer
valid_end:
description: 有效期结束
type: string
valid_start:
description: 有效期开始
type: string
type: object
user.OrderWithItems:
properties:
activity_id:
type: integer
activity_name:
type: string
actual_amount:
description: 实际支付金额(分)
type: integer
cancelled_at:
description: 取消时间
type: string
category_id:
type: integer
category_name:
type: string
coupon_id:
description: 使用的优惠券ID
type: integer
coupon_info:
$ref: '#/definitions/user.CouponSimpleInfo'
created_at:
description: 创建时间
type: string
discount_amount:
description: 优惠券抵扣金额(分)
type: integer
draw_receipts:
items:
$ref: '#/definitions/user.DrawReceiptInfo'
type: array
id:
description: 主键ID
type: integer
is_consumed:
description: 是否已履约/消耗(对虚拟资产)
type: integer
is_draw:
type: boolean
is_winner:
type: boolean
issue_number:
type: string
item_card_id:
description: 使用的道具卡ID
type: integer
item_card_info:
$ref: '#/definitions/user.ItemCardSimpleInfo'
items:
items:
$ref: '#/definitions/model.OrderItems'
type: array
order_no:
description: 业务订单号(唯一)
type: string
paid_at:
description: 支付完成时间
type: string
pay_preorder_id:
description: 关联预支付单IDpayment_preorder.id
type: integer
play_type:
type: string
points_amount:
description: 积分抵扣金额(分)
type: integer
points_ledger_id:
description: 积分扣减流水IDuser_points_ledger.id
type: integer
remark:
description: 备注
type: string
reward_level:
type: integer
source_type:
description: 来源1商城直购 2抽奖票据 3其他
type: integer
status:
description: 订单状态1待支付 2已支付 3已取消 4已退款
type: integer
total_amount:
description: 订单总金额(分)
type: integer
updated_at:
description: 更新时间
type: string
user_address_id:
description: 收货地址IDuser_addresses.id
type: integer
user_id:
description: 下单用户IDuser_members.id
type: integer
type: object
user.ProductInfo:
properties:
id:
type: integer
image:
type: string
name:
type: string
price:
type: integer
type: object
user.ShipmentGroup:
properties:
batch_no:
type: string
count:
type: integer
express_code:
type: string
express_no:
type: string
inventory_ids:
items:
type: integer
type: array
product_ids:
items:
type: integer
type: array
products:
items:
$ref: '#/definitions/user.ProductInfo'
type: array
received_at:
type: string
shipped_at:
type: string
status:
type: integer
type: object
info:
contact: {}
title: mini-chat 接口文档
version: v0.0.1
paths:
/admin/task_center/simulate/invite_success:
post:
consumes:
- application/json
description: 模拟用户邀请成功,触发任务进度更新
parameters:
- description: 模拟请求
in: body
name: request
required: true
schema:
$ref: '#/definitions/taskcenter.simulateInviteSuccessRequest'
produces:
- application/json
responses:
"200":
description: 操作成功
schema:
additionalProperties: true
type: object
summary: 模拟邀请成功(Admin)
tags:
- TaskCenter(Admin)
/admin/task_center/simulate/order_paid:
post:
consumes:
- application/json
description: 模拟用户支付订单,触发任务进度更新
parameters:
- description: 模拟请求
in: body
name: request
required: true
schema:
$ref: '#/definitions/taskcenter.simulateOrderPaidRequest'
produces:
- application/json
responses:
"200":
description: 操作成功
schema:
additionalProperties: true
type: object
summary: 模拟订单支付(Admin)
tags:
- TaskCenter(Admin)
/admin/task_center/tasks:
get:
consumes:
- application/json
description: 获取任务管理列表
produces:
- application/json
responses:
"200":
description: 任务列表
schema:
additionalProperties: true
type: object
summary: 任务列表(Admin)
tags:
- TaskCenter(Admin)
post:
consumes:
- application/json
description: 创建一个新的任务
parameters:
- description: 创建任务请求
in: body
name: request
required: true
schema:
$ref: '#/definitions/taskcenter.createTaskRequest'
produces:
- application/json
responses:
"200":
description: 创建成功
schema:
additionalProperties: true
type: object
summary: 创建任务(Admin)
tags:
- TaskCenter(Admin)
/admin/task_center/tasks/{id}:
delete:
consumes:
- application/json
description: 删除指定的任务
parameters:
- description: 任务ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: 删除成功
schema:
additionalProperties: true
type: object
summary: 删除任务(Admin)
tags:
- TaskCenter(Admin)
put:
consumes:
- application/json
description: 修改指定任务的信息
parameters:
- description: 任务ID
in: path
name: id
required: true
type: integer
- description: 修改任务请求
in: body
name: request
required: true
schema:
$ref: '#/definitions/taskcenter.modifyTaskRequest'
produces:
- application/json
responses:
"200":
description: 修改成功
schema:
additionalProperties: true
type: object
summary: 修改任务(Admin)
tags:
- TaskCenter(Admin)
/admin/task_center/tasks/{id}/rewards:
get:
consumes:
- application/json
description: 获取任务层级对应的奖励列表
parameters:
- description: 任务ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: 奖励列表
schema:
additionalProperties: true
type: object
summary: 获取任务奖励(Admin)
tags:
- TaskCenter(Admin)
post:
consumes:
- application/json
description: 设置任务层级对应的奖励
parameters:
- description: 任务ID
in: path
name: id
required: true
type: integer
- description: 设置奖励请求
in: body
name: request
required: true
schema:
$ref: '#/definitions/taskcenter.upsertRewardsRequest'
produces:
- application/json
responses:
"200":
description: 设置成功
schema:
additionalProperties: true
type: object
summary: 设置任务奖励(Admin)
tags:
- TaskCenter(Admin)
/admin/task_center/tasks/{id}/tiers:
get:
consumes:
- application/json
description: 获取任务的完成条件层级列表
parameters:
- description: 任务ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: 层级列表
schema:
additionalProperties: true
type: object
summary: 获取任务层级(Admin)
tags:
- TaskCenter(Admin)
post:
consumes:
- application/json
description: 设置任务的完成条件层级
parameters:
- description: 任务ID
in: path
name: id
required: true
type: integer
- description: 设置层级请求
in: body
name: request
required: true
schema:
$ref: '#/definitions/taskcenter.upsertTiersRequest'
produces:
- application/json
responses:
"200":
description: 设置成功
schema:
additionalProperties: true
type: object
summary: 设置任务层级(Admin)
tags:
- TaskCenter(Admin)
/api/admin/activities:
get:
consumes:
- application/json
description: 获取活动列表支持分类、Boss、状态过滤与分页
parameters:
- description: 活动名称(模糊)
in: query
name: name
type: string
- description: 活动分类ID
in: query
name: category_id
type: integer
- description: 是否Boss(0/1)
in: query
name: is_boss
type: integer
- description: 状态(1进行中 2下线)
in: query
name: status
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listActivitiesResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 活动列表
tags:
- 管理端.活动
post:
consumes:
- application/json
description: 创建活动配置基本信息与分类、Boss标签
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.createActivityRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessageResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 创建活动
tags:
- 管理端.活动
/api/admin/activities/{activity_id}:
delete:
consumes:
- application/json
description: 删除指定活动
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessageResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 删除活动
tags:
- 管理端.活动
get:
consumes:
- application/json
description: 查看指定活动的详细信息
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.activityDetailResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看活动详情
tags:
- 管理端.活动
put:
consumes:
- application/json
description: 修改活动基本信息、分类、Boss标签等
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.modifyActivityRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessageResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 修改活动
tags:
- 管理端.活动
/api/admin/activities/{activity_id}/copy:
post:
consumes:
- application/json
description: 根据活动ID深度复制期次与奖品生成新的活动
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.copyActivityResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 复制活动
tags:
- 管理端.活动
/api/admin/activities/{activity_id}/game-passes/check:
get:
consumes:
- application/json
description: 检查指定活动是否有用户持有未使用的次数卡,用于下架/删除前校验
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.checkActivityGamePassesResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 检查活动次数卡
tags:
- 管理端.次数卡
/api/admin/activities/{activity_id}/issues:
get:
consumes:
- application/json
description: 获取指定活动的期数列表,支持分页
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listIssuesResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看活动期数
tags:
- 管理端.活动
post:
consumes:
- application/json
description: 为指定活动创建一个新的期数
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.createIssueRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessage'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 创建活动期数
tags:
- 管理端.活动
/api/admin/activities/{activity_id}/issues/{issue_id}:
delete:
consumes:
- application/json
description: 删除指定期数
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- description: 期ID
in: path
name: issue_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessage'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 删除活动期数
tags:
- 管理端.活动
put:
consumes:
- application/json
description: 修改指定期数的信息
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- description: 期ID
in: path
name: issue_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.modifyIssueRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessage'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 修改活动期数
tags:
- 管理端.活动
/api/admin/activities/{activity_id}/issues/{issue_id}/rewards:
get:
consumes:
- application/json
description: 查看指定期数的奖励配置列表
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- description: 期ID
in: path
name: issue_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listRewardsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看期数奖品
tags:
- 管理端.活动
post:
consumes:
- application/json
description: 为指定期数批量创建奖励配置
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- description: 期ID
in: path
name: issue_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.createRewardsRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessageResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 创建期数奖品
tags:
- 管理端.活动
/api/admin/activities/{activity_id}/issues/{issue_id}/rewards/{reward_id}:
delete:
consumes:
- application/json
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- description: 期ID
in: path
name: issue_id
required: true
type: integer
- description: 奖励ID
in: path
name: reward_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessageResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 删除期数奖励
tags:
- 管理端.活动
put:
consumes:
- application/json
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- description: 期ID
in: path
name: issue_id
required: true
type: integer
- description: 奖励ID
in: path
name: reward_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.modifyRewardRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessageResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 更新期数奖励
tags:
- 管理端.活动
/api/admin/activities/{activity_id}/issues/{issue_id}/rewards/batch:
put:
consumes:
- application/json
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- description: 期ID
in: path
name: issue_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.batchModifyRewardsRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessageResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 批量更新期数奖励
tags:
- 管理端.活动
/api/admin/activity_categories:
get:
consumes:
- application/json
description: 获取启用状态的活动分类列表
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listCategoriesResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 活动分类列表
tags:
- 管理端.活动
/api/admin/auth/refresh:
post:
consumes:
- application/json
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.refreshResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 管理端令牌刷新
tags:
- 管理端.登录
/api/admin/banners:
get:
consumes:
- application/json
parameters:
- description: 状态
in: query
name: status
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listBannersResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看轮播图列表
tags:
- 管理端.运营
post:
consumes:
- application/json
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.createBannerRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.createBannerResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 创建轮播图
tags:
- 管理端.运营
/api/admin/banners/{banner_id}:
delete:
consumes:
- application/json
parameters:
- description: 轮播图ID
in: path
name: banner_id
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.pcSimpleMessage'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 删除轮播图
tags:
- 管理端.运营
put:
consumes:
- application/json
parameters:
- description: 轮播图ID
in: path
name: banner_id
required: true
type: string
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.modifyBannerRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.pcSimpleMessage'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 修改轮播图
tags:
- 管理端.运营
/api/admin/game-pass-packages:
get:
consumes:
- application/json
description: 查询次数卡套餐列表
parameters:
- description: 活动ID
in: query
name: activity_id
type: integer
- description: '状态: 1=上架 2=下架'
in: query
name: status
type: integer
- description: 页码
in: query
name: page
type: integer
- description: 每页条数
in: query
name: page_size
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listGamePassPackagesResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 次数卡套餐列表
tags:
- 管理端.次数卡套餐
post:
consumes:
- application/json
description: 创建可购买的次数卡套餐
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.createGamePassPackageRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.createGamePassPackageResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 创建次数卡套餐
tags:
- 管理端.次数卡套餐
/api/admin/game-pass-packages/{package_id}:
delete:
consumes:
- application/json
description: 软删除次数卡套餐
parameters:
- description: 套餐ID
in: path
name: package_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessageResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 删除次数卡套餐
tags:
- 管理端.次数卡套餐
put:
consumes:
- application/json
description: 修改次数卡套餐配置
parameters:
- description: 套餐ID
in: path
name: package_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.modifyGamePassPackageRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessageResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 修改次数卡套餐
tags:
- 管理端.次数卡套餐
/api/admin/game-passes/grant:
post:
consumes:
- application/json
description: 管理员为用户发放游戏次数卡
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.grantGamePassRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.grantGamePassResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 发放次数卡
tags:
- 管理端.次数卡
/api/admin/game-passes/list:
get:
consumes:
- application/json
description: 查询用户次数卡列表,支持按用户、活动过滤
parameters:
- description: 用户ID
in: query
name: user_id
type: integer
- description: 活动ID
in: query
name: activity_id
type: integer
- description: 页码
in: query
name: page
type: integer
- description: 每页条数
in: query
name: page_size
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listGamePassesResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 次数卡列表
tags:
- 管理端.次数卡
/api/admin/login:
post:
consumes:
- application/json
description: 管理员登录
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.loginRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.loginResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 管理员登录
tags:
- 管理端.登录
/api/admin/matching/audit/{order_no}:
get:
consumes:
- application/json
description: 运营通过单号查询发牌过程
parameters:
- description: 订单号
in: path
name: order_no
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/activity.MatchingGame'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- AdminAuth: []
summary: 获取对对碰审计数据
tags:
- 管理端.对对碰
/api/admin/matching_card_types:
get:
consumes:
- application/json
description: 获取所有卡牌类型配置
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listMatchingCardTypesResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- AdminAuth: []
summary: 列出对对碰卡牌类型
tags:
- 管理端.对对碰
post:
consumes:
- application/json
description: 创建新的卡牌类型
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.matchingCardTypeRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.matchingCardTypeResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- AdminAuth: []
summary: 创建卡牌类型
tags:
- 管理端.对对碰
/api/admin/matching_card_types/{id}:
delete:
consumes:
- application/json
description: 删除指定的卡牌类型
parameters:
- description: 卡牌类型ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
additionalProperties: true
type: object
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- AdminAuth: []
summary: 删除卡牌类型
tags:
- 管理端.对对碰
put:
consumes:
- application/json
description: 修改已有的卡牌类型
parameters:
- description: 卡牌类型ID
in: path
name: id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.matchingCardTypeRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.matchingCardTypeResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- AdminAuth: []
summary: 修改卡牌类型
tags:
- 管理端.对对碰
/api/admin/orders/{order_id}/rollback:
post:
consumes:
- application/json
description: 基于快照将用户数据回滚到消费前状态,包括恢复积分、优惠券、道具卡,作废资产,调用微信退款
parameters:
- description: 订单ID
in: path
name: order_id
required: true
type: integer
- description: 回滚请求
in: body
name: request
required: true
schema:
$ref: '#/definitions/admin.rollbackOrderRequest'
produces:
- application/json
responses:
"200":
description: 成功
schema:
$ref: '#/definitions/admin.rollbackOrderResponse'
summary: 回滚订单到消费前状态
tags:
- Admin-Audit
/api/admin/orders/{order_id}/snapshots:
get:
consumes:
- application/json
description: 获取订单消费前后的完整用户状态快照
parameters:
- description: 订单ID
in: path
name: order_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: 成功
schema:
$ref: '#/definitions/admin.getOrderSnapshotsResponse'
summary: 获取订单审计快照
tags:
- Admin-Audit
/api/admin/product_categories:
get:
consumes:
- application/json
parameters:
- description: 名称
in: query
name: name
type: string
- description: 状态
in: query
name: status
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listProductCategoriesResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看商品分类列表
tags:
- 管理端.商品
post:
consumes:
- application/json
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.createProductCategoryRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.createProductCategoryResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 创建商品分类
tags:
- 管理端.商品
/api/admin/product_categories/{category_id}:
delete:
consumes:
- application/json
parameters:
- description: 分类ID
in: path
name: category_id
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.pcSimpleMessage'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 删除商品分类
tags:
- 管理端.商品
put:
consumes:
- application/json
parameters:
- description: 分类ID
in: path
name: category_id
required: true
type: string
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.modifyProductCategoryRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.pcSimpleMessage'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 修改商品分类
tags:
- 管理端.商品
/api/admin/products:
get:
consumes:
- application/json
parameters:
- description: 名称
in: query
name: name
type: string
- description: 分类ID
in: query
name: category_id
type: integer
- description: 状态
in: query
name: status
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listProductsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看商品列表
tags:
- 管理端.商品
post:
consumes:
- application/json
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.createProductRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.createProductResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 创建商品
tags:
- 管理端.商品
/api/admin/products/{product_id}:
delete:
consumes:
- application/json
parameters:
- description: 商品ID
in: path
name: product_id
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.pcSimpleMessage'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 删除商品
tags:
- 管理端.商品
put:
consumes:
- application/json
parameters:
- description: 商品ID
in: path
name: product_id
required: true
type: string
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.modifyProductRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.pcSimpleMessage'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 修改商品
tags:
- 管理端.商品
/api/admin/products/batch:
put:
consumes:
- application/json
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.batchUpdateProductsRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.batchUpdateProductsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 批量更新商品(库存/上下架)
tags:
- 管理端.商品
/api/admin/shipping/orders:
get:
consumes:
- application/json
description: 按批次号或运单号聚合显示发货记录,支持筛选状态、用户、时间等
parameters:
- description: 页码默认1
in: query
name: page
type: integer
- description: 每页数量最多100默认20
in: query
name: page_size
type: integer
- description: 状态1待发货 2已发货 3已签收 4异常
in: query
name: status
type: integer
- description: 用户ID
in: query
name: user_id
type: integer
- description: 批次号
in: query
name: batch_no
type: string
- description: 运单号
in: query
name: express_no
type: string
- description: 开始日期 2006-01-02
in: query
name: start_date
type: string
- description: 结束日期 2006-01-02
in: query
name: end_date
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listShippingOrdersResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 发货订单列表
tags:
- 管理端.发货管理
/api/admin/shipping/orders/{id}:
get:
consumes:
- application/json
description: 根据发货记录ID获取详情
parameters:
- description: 发货记录ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/model.ShippingRecords'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 获取发货订单详情
tags:
- 管理端.发货管理
/api/admin/shipping/orders/batch:
put:
consumes:
- application/json
description: 为多条发货记录填写运单号或更新状态
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.updateShippingRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.updateShippingResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 批量更新发货信息
tags:
- 管理端.发货管理
/api/admin/system_item_cards:
get:
consumes:
- application/json
description: 管理员获取道具卡列表,支持按名称、状态、类型等条件筛选
parameters:
- description: 道具卡名称
in: query
name: name
type: string
- description: 状态1启用 2禁用
in: query
name: status
type: integer
- description: 道具卡类型1抽奖卡 2加成卡 3保底卡
in: query
name: card_type
type: integer
- description: 适用范围1全局 2活动分类 3活动 4期次
in: query
name: scope_type
type: integer
- description: 页码默认1
in: query
name: page
type: integer
- description: 每页条数默认10
in: query
name: page_size
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listItemCardsResponse'
"400":
description: 参数错误
schema:
$ref: '#/definitions/code.Failure'
"401":
description: 未授权
schema:
$ref: '#/definitions/code.Failure'
"500":
description: 服务器内部错误
schema:
$ref: '#/definitions/code.Failure'
summary: 获取道具卡列表
tags:
- 管理端.运营管理
post:
consumes:
- application/json
description: 管理员创建新的道具卡,支持设置类型、效果、有效期等属性
parameters:
- description: 创建道具卡请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.createItemCardRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.createItemCardResponse'
"400":
description: 参数错误
schema:
$ref: '#/definitions/code.Failure'
"401":
description: 未授权
schema:
$ref: '#/definitions/code.Failure'
"403":
description: 无权限,仅超管可操作
schema:
$ref: '#/definitions/code.Failure'
"500":
description: 服务器内部错误
schema:
$ref: '#/definitions/code.Failure'
summary: 创建道具卡
tags:
- 管理端.运营管理
/api/admin/system_item_cards/{item_card_id}:
delete:
consumes:
- application/json
description: 管理员删除指定的道具卡
parameters:
- description: 道具卡ID
in: path
name: item_card_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessageResponse'
"400":
description: 参数错误
schema:
$ref: '#/definitions/code.Failure'
"401":
description: 未授权
schema:
$ref: '#/definitions/code.Failure'
"403":
description: 无权限,仅超管可操作
schema:
$ref: '#/definitions/code.Failure'
"500":
description: 服务器内部错误
schema:
$ref: '#/definitions/code.Failure'
summary: 删除道具卡
tags:
- 管理端.运营管理
put:
consumes:
- application/json
description: 管理员修改道具卡信息,支持修改名称、价格、有效期等属性
parameters:
- description: 道具卡ID
in: path
name: item_card_id
required: true
type: integer
- description: 修改道具卡请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.modifyItemCardRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessageResponse'
"400":
description: 参数错误
schema:
$ref: '#/definitions/code.Failure'
"401":
description: 未授权
schema:
$ref: '#/definitions/code.Failure'
"403":
description: 无权限,仅超管可操作
schema:
$ref: '#/definitions/code.Failure'
"500":
description: 服务器内部错误
schema:
$ref: '#/definitions/code.Failure'
summary: 修改道具卡
tags:
- 管理端.运营管理
/api/admin/users:
get:
consumes:
- application/json
description: 查看APP端用户分页列表
parameters:
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
- description: 用户昵称
in: query
name: nickname
type: string
- description: 邀请码
in: query
name: inviteCode
type: string
- description: 开始日期(YYYY-MM-DD)
in: query
name: startDate
type: string
- description: 结束日期(YYYY-MM-DD)
in: query
name: endDate
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listUsersResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 管理端用户列表
tags:
- 管理端.用户
/api/admin/users/{user_id}/coupons:
get:
consumes:
- application/json
description: 查看指定用户持有的优惠券列表
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listCouponsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看用户优惠券列表
tags:
- 管理端.用户
/api/admin/users/{user_id}/coupons/add:
post:
consumes:
- application/json
description: 管理端为指定用户发放优惠券
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.addCouponRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.addCouponResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 给用户添加优惠券
tags:
- 管理端.用户
/api/admin/users/{user_id}/game-passes:
get:
consumes:
- application/json
description: 查询指定用户的所有次数卡
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.getUserGamePassesResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查询用户次数卡
tags:
- 管理端.次数卡
/api/admin/users/{user_id}/game_tickets:
get:
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 页码
in: query
name: page
type: integer
- description: 每页数量
in: query
name: page_size
type: integer
responses:
"200":
description: OK
schema:
additionalProperties: true
type: object
summary: 查询用户游戏资格日志
tags:
- 管理端.游戏
post:
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/game.grantTicketRequest'
responses:
"200":
description: OK
schema:
additionalProperties: true
type: object
summary: 发放游戏资格
tags:
- 管理端.游戏
/api/admin/users/{user_id}/inventory:
get:
consumes:
- application/json
description: 查看指定用户的资产记录
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listInventoryResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看用户资产列表
tags:
- 管理端.用户
/api/admin/users/{user_id}/invites:
get:
consumes:
- application/json
description: 查看指定用户邀请的用户列表
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listInvitesResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看用户邀请列表
tags:
- 管理端.用户
/api/admin/users/{user_id}/item_cards:
get:
consumes:
- application/json
description: 查看指定用户的道具卡持有记录
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listUserItemCardsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看用户道具卡列表
tags:
- 管理端.用户
post:
consumes:
- application/json
description: 管理员给指定用户分配道具卡,可指定数量
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 分配道具卡请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.assignItemCardRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.simpleMessageResponse'
"400":
description: 参数错误
schema:
$ref: '#/definitions/code.Failure'
"401":
description: 未授权
schema:
$ref: '#/definitions/code.Failure'
"403":
description: 无权限,仅超管可操作
schema:
$ref: '#/definitions/code.Failure'
"500":
description: 服务器内部错误
schema:
$ref: '#/definitions/code.Failure'
summary: 给用户分配道具卡
tags:
- 管理端.运营管理
/api/admin/users/{user_id}/orders:
get:
consumes:
- application/json
description: 查看指定用户的订单记录
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listOrdersResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看用户订单列表
tags:
- 管理端.用户
/api/admin/users/{user_id}/points:
get:
consumes:
- application/json
description: 查看指定用户的积分流水记录
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.listPointsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看用户积分记录
tags:
- 管理端.用户
/api/admin/users/{user_id}/points/add:
post:
consumes:
- application/json
description: 管理端为指定用户发放或扣减积分,正数为增加,负数为扣减
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.addPointsRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.addPointsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 给用户增加或扣减积分
tags:
- 管理端.用户
/api/admin/users/{user_id}/points/balance:
get:
consumes:
- application/json
description: 查看指定用户当前积分余额(过滤过期)
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.pointsBalanceResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看用户积分余额
tags:
- 管理端.用户
/api/admin/users/{user_id}/profile:
get:
consumes:
- application/json
description: 聚合用户基本信息、生命周期财务指标、当前资产快照
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.UserProfileResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 获取用户综合画像
tags:
- 管理端.用户
/api/admin/users/{user_id}/rewards/grant:
post:
consumes:
- application/json
description: 管理员给用户发放奖励,支持实物和虚拟奖品,可选择关联活动和奖励配置
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.GrantRewardRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.GrantRewardResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
"401":
description: Unauthorized
schema:
$ref: '#/definitions/code.Failure'
"403":
description: Forbidden
schema:
$ref: '#/definitions/code.Failure'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/code.Failure'
summary: 给用户发放奖励
tags:
- 管理端.用户
/api/admin/users/{user_id}/token:
post:
consumes:
- application/json
description: 仅超级管理员可用用于测试或紧急场景下为指定用户签发APP令牌
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.issueUserTokenResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 管理端为APP用户签发令牌
tags:
- 管理端.用户
/api/app/activities:
get:
consumes:
- application/json
description: 获取活动列表支持分类、Boss、状态过滤与分页
parameters:
- description: 活动名称(模糊)
in: query
name: name
type: string
- description: 活动分类ID
in: query
name: category_id
type: integer
- description: 是否Boss(0/1)
in: query
name: is_boss
type: integer
- description: 状态(1进行中 2下线)
in: query
name: status
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listActivitiesResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 活动列表
tags:
- APP端.活动
/api/app/activities/{activity_id}:
get:
consumes:
- application/json
description: 获取指定活动的详细信息
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.activityDetailResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 活动详情
tags:
- APP端.活动
/api/app/activities/{activity_id}/issues:
get:
consumes:
- application/json
description: 获取指定活动的期列表,支持分页
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listIssuesResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 活动期列表
tags:
- APP端.活动
/api/app/activities/{activity_id}/issues/{issue_id}/choices:
get:
consumes:
- application/json
description: 返回总位置数量、已占用位置列表以及当前可选位置列表。仅在活动玩法为 ichiban 时可用。
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- description: 期ID
in: path
name: issue_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listIssueChoicesResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 获取指定活动期的可选位置与已占用位置
tags:
- APP端.活动
/api/app/activities/{activity_id}/issues/{issue_id}/draw_logs:
get:
consumes:
- application/json
description: 查看指定活动期数的抽奖记录支持等级筛选默认返回最新的100条不支持自定义翻页
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- description: 期ID
in: path
name: issue_id
required: true
type: integer
- description: 奖品等级过滤
in: query
name: level
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listDrawLogsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 抽奖记录列表
tags:
- APP端.活动
/api/app/activities/{activity_id}/issues/{issue_id}/draw_logs_grouped:
get:
consumes:
- application/json
description: 查看指定活动期数的抽奖记录,按奖品等级分组返回
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- description: 期ID
in: path
name: issue_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listDrawLogsByLevelResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 按奖品等级分类的抽奖记录
tags:
- APP端.活动
/api/app/activities/{activity_id}/issues/{issue_id}/rewards:
get:
consumes:
- application/json
description: 获取指定期的奖励配置列表
parameters:
- description: 活动ID
in: path
name: activity_id
required: true
type: integer
- description: 期ID
in: path
name: issue_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listRewardsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 奖励配置列表
tags:
- APP端.活动
/api/app/address-share/submit:
post:
consumes:
- application/json
description: 被邀请者使用分享令牌提交收件信息;服务端校验令牌有效并创建待发货记录(极简方案)
parameters:
- description: 请求参数:令牌与地址信息
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.addressShareSubmitRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.addressShareSubmitResponse'
"400":
description: 令牌无效/已处理/资产不可用
schema:
$ref: '#/definitions/code.Failure'
summary: 提交共享地址
tags:
- APP端.用户
/api/app/banners:
get:
consumes:
- application/json
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listAppBannersResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: APP端轮播图列表
tags:
- APP端.运营
/api/app/categories:
get:
consumes:
- application/json
description: 获取APP端商品分类列表
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listAppCategoriesResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 获取分类列表
tags:
- APP端.基础
/api/app/game-passes/available:
get:
consumes:
- application/json
description: 查询当前用户可用的游戏次数卡
parameters:
- description: 活动ID不传返回所有可用次数卡
in: query
name: activity_id
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.getGamePassesResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 获取用户次数卡
tags:
- APP端.用户
/api/app/game-passes/packages:
get:
consumes:
- application/json
description: 获取可购买的次数卡套餐列表
parameters:
- description: 活动ID不传返回全局套餐
in: query
name: activity_id
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.getPackagesResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 获取次数卡套餐
tags:
- APP端.用户
/api/app/game-passes/purchase:
post:
consumes:
- application/json
description: 购买次数卡套餐,创建订单等待支付
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.purchasePackageRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.purchasePackageResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 购买次数卡套餐
tags:
- APP端.用户
/api/app/games/enter:
post:
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/game.enterGameRequest'
responses:
"200":
description: OK
schema:
$ref: '#/definitions/game.enterGameResponse'
summary: 进入游戏
tags:
- APP端.游戏
/api/app/lottery/join:
post:
consumes:
- application/json
description: 提交活动ID与期ID创建参与记录与订单支持积分抵扣返回参与ID、订单号、抽奖模式及是否进入队列
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.joinLotteryRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.joinLotteryResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 用户参与抽奖
tags:
- APP端.抽奖
/api/app/lottery/result:
get:
consumes:
- application/json
description: 根据订单号查询抽奖结果与进度,返回结果明细与可验证凭证;需登录
parameters:
- description: 订单号
in: query
name: order_no
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.orderResultResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 抽奖订单结果查询
tags:
- APP端.抽奖
/api/app/matching/card_types:
get:
consumes:
- application/json
description: 获取所有启用的卡牌类型配置用于App端预览或动画展示
produces:
- application/json
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/activity.CardTypeConfig'
type: array
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 列出对对碰卡牌类型
tags:
- APP端.活动
/api/app/matching/cards:
get:
consumes:
- application/json
description: 只有支付成功后才能获取游戏牌组数据,防止未支付用户获取牌组信息
parameters:
- description: 游戏ID
in: query
name: game_id
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.matchingGameCardsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 获取对对碰游戏数据
tags:
- APP端.活动
/api/app/matching/check:
post:
consumes:
- application/json
description: 前端游戏结束后上报结果,服务器发放奖励
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.matchingGameCheckRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.matchingGameCheckResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 游戏结束结算校验
tags:
- APP端.活动
/api/app/matching/preorder:
post:
consumes:
- application/json
description: 用户下单服务器扣费并返回全量99张乱序卡牌前端自行负责游戏流程
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.matchingGamePreOrderRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.matchingGamePreOrderResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 下单并获取对对碰全量数据
tags:
- APP端.活动
/api/app/matching/state:
get:
consumes:
- application/json
description: 获取当前游戏的完整状态
parameters:
- description: 游戏ID
in: query
name: game_id
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
additionalProperties: true
type: object
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 获取对对碰游戏状态
tags:
- APP端.活动
/api/app/notices:
get:
consumes:
- application/json
description: 获取APP首页滚动公告
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listAppNoticesResponse'
summary: 获取公告列表
tags:
- APP端.基础
/api/app/orders/{order_id}:
get:
consumes:
- application/json
description: 获取指定订单的详细信息
parameters:
- description: 订单ID
in: path
name: order_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/user.OrderWithItems'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 获取订单详情
tags:
- APP端.用户
/api/app/orders/{order_id}/cancel:
post:
consumes:
- application/json
description: 取消指定订单(仅限待付款状态)
parameters:
- description: 订单ID
in: path
name: order_id
required: true
type: integer
- description: 取消原因
in: body
name: body
schema:
$ref: '#/definitions/app.cancelOrderRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.cancelOrderResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 取消订单
tags:
- APP端.用户
/api/app/pay/wechat/jsapi/preorder:
post:
consumes:
- application/json
description: 根据`order_no`与`openid`创建或复用JSAPI预下单返回`wx.requestPayment`调起参数;订单需为当前登录用户且状态为待支付
parameters:
- description: 请求参数业务订单号与openid
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.jsapiPreorderRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.jsapiPreorderResponse'
"400":
description: 参数错误/配置缺失/订单不存在或状态不合法/微信预下单失败/签名构建失败
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 小程序微信支付预下单
tags:
- APP端.支付
/api/app/products:
get:
consumes:
- application/json
description: 分页查询商品列表,支持分类筛选,返回分页信息与商品数组
parameters:
- description: 页码默认1
in: query
name: page
type: integer
- description: 每页数量默认20
in: query
name: page_size
type: integer
- description: 分类ID
in: query
name: category_id
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listAppProductsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 商品列表
tags:
- APP端.商品
/api/app/products/{id}:
get:
consumes:
- application/json
description: 根据商品ID返回完整商品信息含相册与同类推荐校验下架/缺货状态
parameters:
- description: 商品ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.getAppProductDetailResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 商品详情
tags:
- APP端.商品
/api/app/sms/login:
post:
consumes:
- application/json
description: 使用短信验证码登录或注册(新手机号自动创建账户)
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.smsLoginRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.smsLoginResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 短信验证码登录
tags:
- APP端.用户
/api/app/sms/send-code:
post:
consumes:
- application/json
description: 发送短信验证码到指定手机号60秒内不可重复发送每日最多10次
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.sendSmsCodeRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.sendSmsCodeResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 发送短信验证码
tags:
- APP端.用户
/api/app/store/items:
get:
consumes:
- application/x-www-form-urlencoded
description: 分页获取积分商城商品列表,支持按类型筛选(product/item_card/coupon)
parameters:
- description: '商品类型: product(默认), item_card, coupon'
in: query
name: kind
type: string
- default: 1
description: 页码
in: query
name: page
type: integer
- default: 20
description: 每页数量
in: query
name: page_size
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listStoreItemsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 获取积分商城商品列表
tags:
- APP端.积分商城
/api/app/task-center/tasks:
get:
consumes:
- application/x-www-form-urlencoded
description: 获取当前可用的任务列表,支持分页
parameters:
- default: 1
description: 页码
in: query
name: page
type: integer
- default: 20
description: 每页数量
in: query
name: page_size
type: integer
produces:
- application/json
responses:
"200":
description: 任务列表
schema:
$ref: '#/definitions/taskcenter.listTasksResponse'
summary: 获取任务列表(App)
tags:
- TaskCenter(App)
/api/app/task-center/tasks/{id}/claim/{user_id}:
post:
consumes:
- application/json
description: 用户领取指定任务层级的奖励
parameters:
- description: 任务ID
in: path
name: id
required: true
type: integer
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 领取请求
in: body
name: request
required: true
schema:
$ref: '#/definitions/taskcenter.claimTaskRequest'
produces:
- application/json
responses:
"200":
description: 领取成功
schema:
additionalProperties: true
type: object
summary: 领取任务奖励(App)
tags:
- TaskCenter(App)
/api/app/task-center/tasks/{id}/progress/{user_id}:
get:
consumes:
- application/json
description: 获取指定用户在特定任务上的进度详情
parameters:
- description: 任务ID
in: path
name: id
required: true
type: integer
- description: 用户ID
in: path
name: user_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: 任务进度详情
schema:
$ref: '#/definitions/taskcenter.taskProgressResponse'
summary: 获取用户任务进度(App)
tags:
- TaskCenter(App)
/api/app/users/{user_id}:
put:
consumes:
- application/json
description: 修改用户昵称与头像
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.modifyUserRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.modifyUserResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 修改用户信息
tags:
- APP端.用户
/api/app/users/{user_id}/addresses:
get:
consumes:
- application/json
description: 分页获取当前登录用户的收货地址列表,默认地址优先
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 页码默认1
in: query
name: page
type: integer
- description: 每页条数默认20最多100
in: query
name: page_size
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listAddressesResponse'
"400":
description: 参数错误
schema:
$ref: '#/definitions/code.Failure'
"401":
description: 未授权
schema:
$ref: '#/definitions/code.Failure'
"500":
description: 服务器内部错误
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 获取用户地址列表
tags:
- APP端.用户
post:
consumes:
- application/json
description: 为当前登录用户新增收货地址,可选择设为默认
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.addAddressRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.addAddressResponse'
"400":
description: 参数错误
schema:
$ref: '#/definitions/code.Failure'
"401":
description: 未授权
schema:
$ref: '#/definitions/code.Failure'
"500":
description: 服务器内部错误
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 新增用户地址
tags:
- APP端.用户
/api/app/users/{user_id}/addresses/{address_id}:
delete:
consumes:
- application/json
description: 删除当前登录用户的指定收货地址
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 地址ID
in: path
name: address_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.okDeleteResponse'
"400":
description: 参数错误
schema:
$ref: '#/definitions/code.Failure'
"401":
description: 未授权
schema:
$ref: '#/definitions/code.Failure'
"500":
description: 服务器内部错误
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 删除用户地址
tags:
- APP端.用户
put:
consumes:
- application/json
description: 更新当前登录用户的指定收货地址
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 地址ID
in: path
name: address_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.updateAddressRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.okResponse'
"400":
description: 参数错误
schema:
$ref: '#/definitions/code.Failure'
"401":
description: 未授权
schema:
$ref: '#/definitions/code.Failure'
"500":
description: 服务器内部错误
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 更新用户地址
tags:
- APP端.用户
/api/app/users/{user_id}/addresses/{address_id}/default:
put:
consumes:
- application/json
description: 将指定地址设置为当前登录用户的默认地址
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 地址ID
in: path
name: address_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.okResponse'
"400":
description: 参数错误
schema:
$ref: '#/definitions/code.Failure'
"401":
description: 未授权
schema:
$ref: '#/definitions/code.Failure'
"500":
description: 服务器内部错误
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 设置默认用户地址
tags:
- APP端.用户
/api/app/users/{user_id}/coupons:
get:
consumes:
- application/json
description: 查看用户持有的优惠券列表,支持按状态过滤
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
- description: 状态1未使用 2已使用 3已过期不传默认1
in: query
name: status
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listCouponsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看用户优惠券
tags:
- APP端.用户
/api/app/users/{user_id}/coupons/{user_coupon_id}/usage:
get:
consumes:
- application/json
description: 获取指定优惠券的使用记录,包含优惠券详情、订单号、活动名称
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 用户优惠券ID
in: path
name: user_coupon_id
required: true
type: integer
- description: 页码默认1
in: query
name: page
type: integer
- description: 每页数量默认20
in: query
name: page_size
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listCouponUsageResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 获取单张优惠券使用记录
tags:
- APP端.用户
/api/app/users/{user_id}/coupons/stats:
get:
consumes:
- application/json
description: 获取用户优惠券各状态数量和累计金额
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.couponStatsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 获取用户优惠券统计
tags:
- APP端.用户
/api/app/users/{user_id}/douyin/phone/bind:
post:
consumes:
- application/json
description: 使用抖音手机号 code 换取手机号并绑定到指定用户
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.bindDouyinPhoneRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.bindDouyinPhoneResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 抖音绑定手机号
tags:
- APP端.用户
/api/app/users/{user_id}/game_tickets:
get:
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
responses:
"200":
description: OK
schema:
additionalProperties:
type: integer
type: object
summary: 获取我的游戏资格
tags:
- APP端.游戏
/api/app/users/{user_id}/inventory:
get:
consumes:
- application/json
description: 获取 APP 端当前登录用户在 user_inventory 的资产记录,支持分页
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 页码默认1
in: query
name: page
type: integer
- description: 每页数量最多100默认20
in: query
name: page_size
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listInventoryResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 获取用户资产列表
tags:
- APP端.用户
/api/app/users/{user_id}/inventory/address-share/create:
post:
consumes:
- application/json
description: 生成一次性分享令牌不落库用于邀请他人填写收货地址令牌默认有效期1小时无需传过期参数
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 请求参数资产ID过期参数可不传默认1小时
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.addressShareCreateRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.addressShareCreateResponse'
"400":
description: 参数错误/资产不可用
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 创建共享地址链接
tags:
- APP端.用户
/api/app/users/{user_id}/inventory/address-share/revoke:
post:
consumes:
- application/json
description: 极简方案下为前端态操作:不落库令牌,撤销仅用于提示与禁用旧链接(可忽略服务端状态)
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 请求参数资产ID
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.addressShareRevokeRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.okResponse'
"400":
description: 参数错误
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 撤销共享地址链接
tags:
- APP端.用户
/api/app/users/{user_id}/inventory/cancel-shipping:
post:
consumes:
- application/json
description: 取消已提交但未发货的申请恢复库存状态。支持按单个资产ID取消或按批次号批量取消
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 请求参数资产ID或批次号二选一
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.cancelShippingRequest'
produces:
- application/json
responses:
"200":
description: 成功
schema:
$ref: '#/definitions/app.cancelShippingResponse'
"400":
description: 参数错误/记录不存在/已处理
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 取消发货申请
tags:
- APP端.用户
/api/app/users/{user_id}/inventory/redeem:
post:
consumes:
- application/json
description: 将资产按规则转换为积分,成功后资产不可再发货;默认兑换比率来自系统配置`points_exchange_per_cent`
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 请求参数资产ID
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.redeemInventoryRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.redeemInventoryResponse'
"400":
description: 参数错误/资产不可用
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 资产兑换为积分
tags:
- APP端.用户
/api/app/users/{user_id}/inventory/request-shipping:
post:
consumes:
- application/json
description: 用户已有默认地址时,申请对指定资产发货;幂等校验已存在发货记录时返回已处理
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 请求参数资产ID
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.requestShippingRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.requestShippingResponse'
"400":
description: 参数错误/未设置默认地址/已处理
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 申请发货
tags:
- APP端.用户
/api/app/users/{user_id}/inventory/request-shipping-batch:
post:
consumes:
- application/json
description: 为多个资产申请发货,校验所有权与状态;幂等:已申请的资产跳过
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 请求参数资产ID列表与可选地址ID
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.requestShippingBatchRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.requestShippingBatchResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 批量申请发货
tags:
- APP端.用户
/api/app/users/{user_id}/invites:
get:
consumes:
- application/json
description: 查看被该用户邀请的用户列表
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listInvitesResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看用户邀请记录
tags:
- APP端.用户
/api/app/users/{user_id}/item_cards:
get:
consumes:
- application/json
description: 获取指定用户的道具卡列表,支持分页和状态过滤
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 页码默认1
in: query
name: page
type: integer
- description: 每页条数默认10
in: query
name: page_size
type: integer
- description: 状态1未使用 2已使用 3已过期不传默认1
in: query
name: status
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listUserItemCardsResponse'
"400":
description: 参数错误
schema:
$ref: '#/definitions/code.Failure'
"401":
description: 未授权
schema:
$ref: '#/definitions/code.Failure'
"500":
description: 服务器内部错误
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 获取用户道具卡列表
tags:
- APP端.用户
/api/app/users/{user_id}/item_cards/uses:
get:
consumes:
- application/json
description: 获取指定用户的道具卡使用记录,支持分页
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 页码默认1
in: query
name: page
type: integer
- description: 每页条数默认10
in: query
name: page_size
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listUserItemCardUsesResponse'
"400":
description: 参数错误
schema:
$ref: '#/definitions/code.Failure'
"401":
description: 未授权
schema:
$ref: '#/definitions/code.Failure'
"500":
description: 服务器内部错误
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 获取用户道具卡使用记录
tags:
- APP端.用户
/api/app/users/{user_id}/orders:
get:
consumes:
- application/json
description: 查看用户抽奖来源订单记录
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
- description: 订单状态1待支付 2已支付 3已取消 4已退款
in: query
name: status
type: integer
- description: 是否已消耗/履约0否 1是
in: query
name: is_consumed
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listOrdersResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看用户订单记录
tags:
- APP端.用户
/api/app/users/{user_id}/phone/bind:
post:
consumes:
- application/json
description: 使用微信手机号 code 换取手机号并绑定到指定用户
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.bindPhoneRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.bindPhoneResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 绑定手机号
tags:
- APP端.用户
/api/app/users/{user_id}/points:
get:
consumes:
- application/json
description: 查看用户积分流水记录
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
required: true
type: integer
- default: 20
description: 每页数量最多100
in: query
name: page_size
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listPointsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看用户积分记录
tags:
- APP端.用户
/api/app/users/{user_id}/points/balance:
get:
consumes:
- application/json
description: 查看用户积分余额(过滤过期积分)
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.pointsBalanceResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 查看用户积分余额
tags:
- APP端.用户
/api/app/users/{user_id}/points/redeem-coupon:
post:
consumes:
- application/json
description: 使用积分兑换指定直减金额券,按比率 1积分=1元券面值为分
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.redeemCouponRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.redeemCouponResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 积分兑换优惠券
tags:
- APP端.积分
/api/app/users/{user_id}/points/redeem-item-card:
post:
consumes:
- application/json
description: 使用积分兑换指定数量的道具卡
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 兑换请求参数
in: body
name: request
required: true
schema:
$ref: '#/definitions/app.redeemItemCardRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.redeemItemCardResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 积分兑换道具卡
tags:
- APP端.用户
/api/app/users/{user_id}/points/redeem-product:
post:
consumes:
- application/json
description: 使用积分按比率1积分=1元兑换商品生成系统发放订单与用户资产
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.redeemProductRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.redeemProductResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 积分兑换商品
tags:
- APP端.积分
/api/app/users/{user_id}/shipments:
get:
consumes:
- application/json
description: 按运单号聚合用户的发货记录,支持分页
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
- description: 页码默认1
in: query
name: page
type: integer
- description: 每页数量最多100默认20
in: query
name: page_size
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.listShipmentsResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 获取用户发货分组列表
tags:
- APP端.发货
/api/app/users/{user_id}/stats:
get:
consumes:
- application/json
description: 返回当前登录用户的道具卡数量、优惠券数量、积分余额
parameters:
- description: 用户ID
in: path
name: user_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.userStatsResponse'
"400":
description: 参数错误
schema:
$ref: '#/definitions/code.Failure'
"401":
description: 未授权
schema:
$ref: '#/definitions/code.Failure'
"500":
description: 服务器内部错误
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 获取用户统计
tags:
- APP端.用户
/api/app/users/douyin/login:
post:
consumes:
- application/json
description: 抖音小程序登录(需传递 code 或 anonymous_code
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.douyinLoginRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.douyinLoginResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 抖音登录
tags:
- APP端.用户
/api/app/users/profile:
get:
consumes:
- application/json
description: 获取当前登录用户的详细信息
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.userItem'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 获取用户信息
tags:
- APP端.用户
/api/app/users/weixin/login:
post:
consumes:
- application/json
description: 微信静默登录(需传递 code可选 invite_code
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/app.weixinLoginRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/app.weixinLoginResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
summary: 微信登录
tags:
- APP端.用户
/api/role/list:
get:
consumes:
- application/json
parameters:
- default: 1
description: 页码
in: query
name: current
required: true
type: integer
- default: 20
description: 每页数量
in: query
name: size
required: true
type: integer
- description: 角色名称
in: query
name: roleName
type: string
- description: 角色编码
in: query
name: roleCode
type: string
- description: 是否启用
in: query
name: enabled
type: boolean
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.roleListResponse'
security:
- LoginVerifyToken: []
summary: 角色列表
tags:
- 管理端.系统
/api/user:
post:
consumes:
- application/json
description: 创建新的管理员账号
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/admin.createUserRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.createUserResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/code.Failure'
security:
- LoginVerifyToken: []
summary: 创建系统用户
tags:
- 管理端.系统
/api/user/list:
get:
consumes:
- application/json
description: 返回系统用户分页数据
parameters:
- default: 1
description: 页码
in: query
name: current
required: true
type: integer
- default: 20
description: 每页数量
in: query
name: size
required: true
type: integer
- description: 用户名
in: query
name: userName
type: string
- description: 邮箱
in: query
name: userEmail
type: string
- description: 手机号
in: query
name: userPhone
type: string
- description: 状态
in: query
name: status
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/admin.userListResponse'
security:
- LoginVerifyToken: []
summary: 系统用户列表
tags:
- 管理端.系统
/api/v3/system/menus/simple:
get:
responses: {}
/common/upload/wangeditor:
post:
consumes:
- multipart/form-data
description: 适配 WangEditor 的图片上传接口
parameters:
- description: 图片文件
in: formData
name: file
required: true
type: file
produces:
- application/json
responses:
"200":
description: 上传成功
schema:
additionalProperties: true
type: object
"400":
description: 上传失败
schema:
additionalProperties: true
type: object
summary: WangEditor图片上传
tags:
- Common
/internal/game/consume-ticket:
post:
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/game.consumeTicketRequest'
responses:
"200":
description: OK
schema:
$ref: '#/definitions/game.consumeTicketResponse'
summary: 扣减游戏次数
tags:
- Internal.游戏
/internal/game/minesweeper/config:
get:
responses:
"200":
description: OK
schema:
additionalProperties: true
type: object
summary: 获取扫雷配置
tags:
- Internal.游戏
/internal/game/settle:
post:
consumes:
- application/json
description: 游戏结束后结算并发放奖励
parameters:
- description: 结算信息
in: body
name: result
required: true
schema:
$ref: '#/definitions/minesweeper.SettleGameRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/minesweeper.SettleGameResponse'
summary: 结算游戏
tags:
- Internal
/internal/game/validate-token:
post:
parameters:
- description: 请求参数
in: body
name: RequestBody
required: true
schema:
$ref: '#/definitions/game.validateTokenRequest'
responses:
"200":
description: OK
schema:
$ref: '#/definitions/game.validateTokenResponse'
summary: 验证GameToken
tags:
- Internal.游戏
/internal/game/verify:
post:
consumes:
- application/json
description: 验证游戏票据是否有效
parameters:
- description: 票据信息
in: body
name: ticket
required: true
schema:
$ref: '#/definitions/minesweeper.VerifyTicketRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/minesweeper.VerifyTicketResponse'
summary: 验证游戏票据
tags:
- Internal
/pay/wechat/notify:
post:
consumes:
- application/json
description: 接收微信支付结果通知,验证签名并处理订单状态
produces:
- application/json
responses:
"200":
description: 处理成功
schema:
$ref: '#/definitions/pay.notifyAck'
"400":
description: 请求参数错误
schema:
$ref: '#/definitions/pay.notifyAck'
"500":
description: 服务器内部错误
schema:
$ref: '#/definitions/pay.notifyAck'
summary: 微信支付回调通知
tags:
- Pay
securityDefinitions:
LoginVerifyToken:
in: header
name: Authorization
type: apiKey
swagger: "2.0"