Files
tyapi-server/docs/swagger/swagger.yaml

1987 lines
49 KiB
YAML
Raw Normal View History

2025-07-13 16:36:20 +08:00
basePath: /
2025-07-02 16:17:59 +08:00
definitions:
2025-07-13 16:36:20 +08:00
commands.AdminLoginCommand:
properties:
password:
type: string
username:
type: string
required:
- password
- username
type: object
commands.ChangeAdminPasswordCommand:
properties:
new_password:
type: string
old_password:
type: string
required:
- new_password
- old_password
type: object
commands.ChangePasswordCommand:
description: 修改用户密码请求参数
2025-07-02 16:17:59 +08:00
properties:
code:
example: "123456"
type: string
confirm_new_password:
example: newpassword123
type: string
new_password:
example: newpassword123
maxLength: 128
minLength: 6
type: string
old_password:
example: oldpassword123
type: string
required:
- code
- confirm_new_password
- new_password
- old_password
type: object
2025-07-13 16:36:20 +08:00
commands.CreateAdminCommand:
2025-07-02 16:17:59 +08:00
properties:
2025-07-13 16:36:20 +08:00
email:
2025-07-02 16:17:59 +08:00
type: string
2025-07-13 16:36:20 +08:00
password:
2025-07-02 16:17:59 +08:00
type: string
2025-07-13 16:36:20 +08:00
permissions:
items:
type: string
type: array
phone:
2025-07-02 16:17:59 +08:00
type: string
2025-07-13 16:36:20 +08:00
real_name:
type: string
role:
type: string
username:
type: string
required:
- email
- password
- real_name
- role
- username
type: object
commands.CreateUserSecretsCommand:
properties:
expires_at:
type: string
user_id:
type: string
required:
- user_id
type: object
commands.CreateWalletCommand:
properties:
user_id:
type: string
required:
- user_id
type: object
commands.InitiateFaceVerifyCommand:
properties:
id_card_number:
type: string
real_name:
type: string
return_url:
type: string
required:
- id_card_number
- real_name
- return_url
2025-07-02 16:17:59 +08:00
type: object
2025-07-13 16:36:20 +08:00
commands.LoginWithPasswordCommand:
description: 使用密码进行用户登录请求参数
2025-07-02 16:17:59 +08:00
properties:
password:
example: password123
type: string
phone:
example: "13800138000"
type: string
required:
- password
- phone
type: object
2025-07-13 16:36:20 +08:00
commands.LoginWithSMSCommand:
description: 使用短信验证码进行用户登录请求参数
2025-07-02 16:17:59 +08:00
properties:
code:
example: "123456"
type: string
phone:
example: "13800138000"
type: string
required:
- code
- phone
type: object
2025-07-13 16:36:20 +08:00
commands.RechargeWalletCommand:
properties:
amount:
type: number
user_id:
type: string
required:
- amount
- user_id
type: object
commands.RegisterUserCommand:
description: 用户注册请求参数
2025-07-02 16:17:59 +08:00
properties:
code:
example: "123456"
type: string
confirm_password:
example: password123
type: string
password:
example: password123
maxLength: 128
minLength: 6
type: string
phone:
example: "13800138000"
type: string
required:
- code
- confirm_password
- password
- phone
type: object
2025-07-13 16:36:20 +08:00
commands.SendCodeCommand:
description: 发送短信验证码请求参数
2025-07-02 16:17:59 +08:00
properties:
phone:
example: "13800138000"
type: string
scene:
enum:
- register
- login
- change_password
- reset_password
- bind
- unbind
example: register
2025-07-13 16:36:20 +08:00
type: string
2025-07-02 16:17:59 +08:00
required:
- phone
- scene
type: object
2025-07-13 16:36:20 +08:00
commands.SubmitEnterpriseInfoCommand:
properties:
company_name:
type: string
legal_person_id:
type: string
legal_person_name:
type: string
license_upload_record_id:
type: string
unified_social_code:
type: string
required:
- company_name
- legal_person_id
- legal_person_name
- license_upload_record_id
- unified_social_code
type: object
commands.UpdateAdminCommand:
properties:
email:
type: string
is_active:
type: boolean
permissions:
items:
type: string
type: array
phone:
type: string
real_name:
type: string
role:
type: string
type: object
commands.UpdateWalletCommand:
properties:
balance:
type: number
is_active:
type: boolean
user_id:
type: string
required:
- user_id
type: object
commands.WalletTransactionCommand:
properties:
amount:
type: number
from_user_id:
type: string
notes:
type: string
to_user_id:
type: string
user_id:
type: string
required:
- amount
- from_user_id
- to_user_id
- user_id
type: object
commands.WithdrawWalletCommand:
properties:
amount:
type: number
user_id:
type: string
required:
- amount
- user_id
type: object
entities.AdminRole:
enum:
- super_admin
- admin
- reviewer
type: string
x-enum-comments:
RoleAdmin: 普通管理员 - 拥有大部分管理权限
RoleReviewer: 审核员 - 仅拥有审核相关权限
RoleSuperAdmin: 超级管理员 - 拥有所有权限
x-enum-varnames:
- RoleSuperAdmin
- RoleAdmin
- RoleReviewer
enums.CertificationStatus:
enum:
- not_started
- pending
- info_submitted
- face_verified
- contract_applied
- contract_pending
- contract_approved
- contract_signed
- completed
- face_failed
- sign_failed
- rejected
type: string
x-enum-comments:
StatusCompleted: 认证完成
StatusContractApplied: 已申请合同
StatusContractApproved: 合同已审核(有链接)
StatusContractPending: 合同待审核
StatusContractSigned: 合同已签署
StatusFaceFailed: 人脸识别失败
StatusFaceVerified: 人脸识别完成
StatusInfoSubmitted: 企业信息已提交
StatusNotStarted: 未开始认证
StatusPending: 待开始
StatusRejected: 已拒绝
StatusSignFailed: 签署失败
x-enum-varnames:
- StatusNotStarted
- StatusPending
- StatusInfoSubmitted
- StatusFaceVerified
- StatusContractApplied
- StatusContractPending
- StatusContractApproved
- StatusContractSigned
- StatusCompleted
- StatusFaceFailed
- StatusSignFailed
- StatusRejected
internal_application_certification_dto_responses.EnterpriseInfoResponse:
properties:
certification_id:
type: string
company_name:
type: string
created_at:
type: string
id:
type: string
is_face_verified:
type: boolean
is_ocr_verified:
type: boolean
legal_person_id:
type: string
legal_person_name:
type: string
license_upload_record_id:
type: string
unified_social_code:
type: string
updated_at:
type: string
type: object
internal_application_user_dto_responses.EnterpriseInfoResponse:
description: 企业信息响应
properties:
certified_at:
example: "2024-01-01T00:00:00Z"
type: string
company_name:
example: 示例企业有限公司
type: string
created_at:
example: "2024-01-01T00:00:00Z"
type: string
id:
example: 123e4567-e89b-12d3-a456-426614174000
type: string
is_certified:
example: false
type: boolean
is_face_verified:
example: false
type: boolean
is_ocr_verified:
example: false
type: boolean
legal_person_id:
example: "110101199001011234"
type: string
legal_person_name:
example: 张三
type: string
unified_social_code:
example: 91110000123456789X
type: string
updated_at:
example: "2024-01-01T00:00:00Z"
type: string
type: object
responses.AdminInfoResponse:
properties:
created_at:
type: string
email:
type: string
id:
type: string
is_active:
type: boolean
last_login_at:
type: string
login_count:
type: integer
permissions:
items:
type: string
type: array
phone:
type: string
real_name:
type: string
role:
$ref: '#/definitions/entities.AdminRole'
username:
type: string
type: object
responses.AdminListResponse:
properties:
admins:
items:
$ref: '#/definitions/responses.AdminInfoResponse'
type: array
page:
type: integer
size:
type: integer
total:
type: integer
type: object
responses.AdminLoginResponse:
properties:
admin:
$ref: '#/definitions/responses.AdminInfoResponse'
expires_at:
type: string
token:
type: string
type: object
responses.AdminStatsResponse:
properties:
active_admins:
type: integer
today_logins:
type: integer
total_admins:
type: integer
total_operations:
type: integer
type: object
responses.CertificationResponse:
properties:
completed_at:
type: string
contract_applied_at:
type: string
contract_approved_at:
type: string
contract_signed_at:
type: string
contract_url:
type: string
created_at:
type: string
enterprise:
$ref: '#/definitions/internal_application_certification_dto_responses.EnterpriseInfoResponse'
face_verified_at:
type: string
id:
type: string
info_submitted_at:
type: string
is_admin_action_required:
type: boolean
is_user_action_required:
type: boolean
progress:
type: integer
reject_reason:
type: string
signing_url:
type: string
status:
$ref: '#/definitions/enums.CertificationStatus'
status_name:
type: string
updated_at:
type: string
user_id:
type: string
type: object
responses.FaceVerifyResponse:
2025-07-02 16:17:59 +08:00
properties:
2025-07-13 16:36:20 +08:00
certify_id:
type: string
2025-07-02 16:17:59 +08:00
expires_at:
type: string
2025-07-13 16:36:20 +08:00
verify_url:
type: string
type: object
responses.LoginUserResponse:
description: 用户登录成功响应
properties:
access_token:
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
type: string
expires_in:
example: 86400
type: integer
login_method:
example: password
type: string
token_type:
example: Bearer
type: string
user:
$ref: '#/definitions/responses.UserProfileResponse'
type: object
responses.RegisterUserResponse:
description: 用户注册成功响应
properties:
id:
example: 123e4567-e89b-12d3-a456-426614174000
type: string
phone:
example: "13800138000"
type: string
type: object
responses.TransactionResponse:
properties:
amount:
type: number
created_at:
type: string
from_balance:
type: number
from_user_id:
type: string
notes:
type: string
to_balance:
type: number
to_user_id:
type: string
transaction_id:
type: string
type: object
responses.UploadLicenseResponse:
properties:
credit_code:
type: string
enterprise_name:
description: OCR识别结果如果成功
type: string
file_url:
type: string
legal_person:
type: string
ocr_confidence:
type: number
ocr_error_message:
type: string
ocr_processed:
type: boolean
ocr_success:
type: boolean
upload_record_id:
2025-07-02 16:17:59 +08:00
type: string
type: object
2025-07-13 16:36:20 +08:00
responses.UserProfileResponse:
description: 用户基本信息
2025-07-02 16:17:59 +08:00
properties:
created_at:
example: "2024-01-01T00:00:00Z"
type: string
2025-07-13 16:36:20 +08:00
enterprise_info:
$ref: '#/definitions/internal_application_user_dto_responses.EnterpriseInfoResponse'
2025-07-02 16:17:59 +08:00
id:
example: 123e4567-e89b-12d3-a456-426614174000
type: string
phone:
example: "13800138000"
type: string
updated_at:
example: "2024-01-01T00:00:00Z"
type: string
type: object
2025-07-13 16:36:20 +08:00
responses.UserSecretsResponse:
properties:
access_id:
type: string
access_key:
type: string
created_at:
type: string
expires_at:
type: string
id:
type: string
is_active:
type: boolean
last_used_at:
type: string
updated_at:
type: string
user_id:
type: string
type: object
responses.WalletResponse:
properties:
balance:
type: number
created_at:
type: string
id:
type: string
is_active:
type: boolean
updated_at:
type: string
user_id:
type: string
type: object
responses.WalletStatsResponse:
properties:
active_wallets:
type: integer
today_transactions:
type: integer
today_volume:
type: number
total_balance:
type: number
total_wallets:
type: integer
type: object
2025-07-02 16:17:59 +08:00
host: localhost:8080
info:
contact:
email: support@example.com
name: API Support
url: https://github.com/your-org/tyapi-server-gin
description: |-
基于DDD和Clean Architecture的企业级后端API服务
采用Gin框架构建支持用户管理、JWT认证、事件驱动等功能
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
title: TYAPI Server API
version: "1.0"
paths:
2025-07-13 16:36:20 +08:00
/api/v1/admin:
get:
consumes:
- application/json
description: 分页获取管理员列表,支持搜索和筛选
parameters:
- default: 1
description: 页码
in: query
name: page
type: integer
- default: 10
description: 每页数量
in: query
name: size
type: integer
- description: 搜索关键词
in: query
name: keyword
type: string
- description: 状态筛选
in: query
name: status
type: string
produces:
- application/json
responses:
"200":
description: 获取管理员列表成功
schema:
$ref: '#/definitions/responses.AdminListResponse'
"400":
description: 请求参数错误
schema:
additionalProperties: true
type: object
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 获取管理员列表
tags:
- 管理员管理
post:
consumes:
- application/json
description: 创建新的管理员账户,需要超级管理员权限
parameters:
- description: 创建管理员请求
in: body
name: request
required: true
schema:
$ref: '#/definitions/commands.CreateAdminCommand'
produces:
- application/json
responses:
"201":
description: 管理员创建成功
schema:
additionalProperties: true
type: object
"400":
description: 请求参数错误
schema:
additionalProperties: true
type: object
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"403":
description: 权限不足
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 创建管理员
tags:
- 管理员管理
/api/v1/admin/{id}:
delete:
consumes:
- application/json
description: 删除指定的管理员账户
parameters:
- description: 管理员ID
in: path
name: id
required: true
type: string
produces:
- application/json
responses:
"200":
description: 管理员删除成功
schema:
additionalProperties: true
type: object
"400":
description: 请求参数错误
schema:
additionalProperties: true
type: object
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"403":
description: 权限不足
schema:
additionalProperties: true
type: object
"404":
description: 管理员不存在
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 删除管理员
tags:
- 管理员管理
get:
consumes:
- application/json
description: 根据管理员ID获取详细信息
parameters:
- description: 管理员ID
in: path
name: id
required: true
type: string
produces:
- application/json
responses:
"200":
description: 获取管理员详情成功
schema:
$ref: '#/definitions/responses.AdminInfoResponse'
"400":
description: 请求参数错误
schema:
additionalProperties: true
type: object
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"404":
description: 管理员不存在
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 获取管理员详情
tags:
- 管理员管理
put:
consumes:
- application/json
description: 更新指定管理员的基本信息
parameters:
- description: 管理员ID
in: path
name: id
required: true
type: string
- description: 更新管理员请求
in: body
name: request
required: true
schema:
$ref: '#/definitions/commands.UpdateAdminCommand'
produces:
- application/json
responses:
"200":
description: 管理员更新成功
schema:
additionalProperties: true
type: object
"400":
description: 请求参数错误
schema:
additionalProperties: true
type: object
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"403":
description: 权限不足
schema:
additionalProperties: true
type: object
"404":
description: 管理员不存在
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 更新管理员信息
tags:
- 管理员管理
/api/v1/admin/auth/login:
post:
consumes:
- application/json
description: 使用用户名和密码进行管理员登录返回JWT令牌
parameters:
- description: 管理员登录请求
in: body
name: request
required: true
schema:
$ref: '#/definitions/commands.AdminLoginCommand'
produces:
- application/json
responses:
"200":
description: 登录成功
schema:
$ref: '#/definitions/responses.AdminLoginResponse'
"400":
description: 请求参数错误
schema:
additionalProperties: true
type: object
"401":
description: 用户名或密码错误
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
summary: 管理员登录
tags:
- 管理员认证
/api/v1/admin/change-password:
post:
consumes:
- application/json
description: 修改当前登录管理员的密码
parameters:
- description: 修改密码请求
in: body
name: request
required: true
schema:
$ref: '#/definitions/commands.ChangeAdminPasswordCommand'
produces:
- application/json
responses:
"200":
description: 密码修改成功
schema:
additionalProperties: true
type: object
"400":
description: 请求参数错误
schema:
additionalProperties: true
type: object
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 修改管理员密码
tags:
- 管理员管理
/api/v1/admin/stats:
get:
consumes:
- application/json
description: 获取管理员相关的统计数据
produces:
- application/json
responses:
"200":
description: 获取统计信息成功
schema:
$ref: '#/definitions/responses.AdminStatsResponse'
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 获取管理员统计信息
tags:
- 管理员管理
/api/v1/certification:
post:
consumes:
- application/json
description: 为用户创建新的企业认证申请
produces:
- application/json
responses:
"200":
description: 认证申请创建成功
schema:
$ref: '#/definitions/responses.CertificationResponse'
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 创建认证申请
tags:
- 企业认证
/api/v1/certification/contract:
post:
consumes:
- application/json
description: 申请企业认证合同
produces:
- application/json
responses:
"200":
description: 合同申请成功
schema:
$ref: '#/definitions/responses.CertificationResponse'
"400":
description: 请求参数错误
schema:
additionalProperties: true
type: object
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 申请合同
tags:
- 企业认证
/api/v1/certification/details:
get:
consumes:
- application/json
description: 获取当前用户的认证申请详细信息
produces:
- application/json
responses:
"200":
description: 获取认证详情成功
schema:
$ref: '#/definitions/responses.CertificationResponse'
"400":
description: 请求参数错误
schema:
additionalProperties: true
type: object
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"404":
description: 认证申请不存在
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 获取认证详情
tags:
- 企业认证
/api/v1/certification/enterprise-info:
post:
consumes:
- application/json
description: 提交企业基本信息,包括企业名称、统一社会信用代码、法定代表人信息等
parameters:
- description: 企业信息
in: body
name: request
required: true
schema:
$ref: '#/definitions/commands.SubmitEnterpriseInfoCommand'
produces:
- application/json
responses:
"200":
description: 企业信息提交成功
schema:
$ref: '#/definitions/responses.CertificationResponse'
"400":
description: 请求参数错误
schema:
additionalProperties: true
type: object
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 提交企业信息
tags:
- 企业认证
/api/v1/certification/face-verify:
post:
consumes:
- application/json
description: 发起企业法人人脸验证流程
parameters:
- description: 人脸验证请求
in: body
name: request
required: true
schema:
$ref: '#/definitions/commands.InitiateFaceVerifyCommand'
produces:
- application/json
responses:
"200":
description: 人脸验证发起成功
schema:
$ref: '#/definitions/responses.FaceVerifyResponse'
"400":
description: 请求参数错误
schema:
additionalProperties: true
type: object
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 发起人脸验证
tags:
- 企业认证
/api/v1/certification/license/{record_id}/ocr-result:
get:
consumes:
- application/json
description: 根据上传记录ID获取OCR识别结果
parameters:
- description: 上传记录ID
in: path
name: record_id
required: true
type: string
produces:
- application/json
responses:
"200":
description: 获取OCR结果成功
schema:
$ref: '#/definitions/responses.UploadLicenseResponse'
"400":
description: 请求参数错误
schema:
additionalProperties: true
type: object
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"404":
description: 记录不存在
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 获取营业执照OCR识别结果
tags:
- 企业认证
/api/v1/certification/progress:
get:
consumes:
- application/json
description: 获取当前用户的认证申请详细进度信息
produces:
- application/json
responses:
"200":
description: 获取认证进度成功
schema:
additionalProperties: true
type: object
"400":
description: 请求参数错误
schema:
additionalProperties: true
type: object
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"404":
description: 认证申请不存在
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 获取认证进度
tags:
- 企业认证
/api/v1/certification/retry/{step}:
post:
consumes:
- application/json
description: 重新执行指定的认证步骤
parameters:
- description: 步骤名称
in: path
name: step
required: true
type: string
produces:
- application/json
responses:
"200":
description: 步骤重试成功
schema:
additionalProperties: true
type: object
"400":
description: 请求参数错误
schema:
additionalProperties: true
type: object
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 重试认证步骤
tags:
- 企业认证
/api/v1/certification/stats:
get:
consumes:
- application/json
description: 获取认证申请的进度统计数据
produces:
- application/json
responses:
"200":
description: 获取进度统计成功
schema:
additionalProperties: true
type: object
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 获取进度统计
tags:
- 企业认证
/api/v1/certification/status:
get:
consumes:
- application/json
description: 获取当前用户的认证申请状态
produces:
- application/json
responses:
"200":
description: 获取认证状态成功
schema:
$ref: '#/definitions/responses.CertificationResponse'
"400":
description: 请求参数错误
schema:
additionalProperties: true
type: object
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 获取认证状态
tags:
- 企业认证
/api/v1/certification/upload-license:
post:
consumes:
- multipart/form-data
description: 上传营业执照文件立即进行OCR识别并返回结果
parameters:
- description: 营业执照文件
in: formData
name: file
required: true
type: file
produces:
- application/json
responses:
"200":
description: 上传成功
schema:
$ref: '#/definitions/responses.UploadLicenseResponse'
"400":
description: 请求参数错误
schema:
additionalProperties: true
type: object
"401":
description: 未授权
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 上传营业执照并同步OCR识别
tags:
- 认证管理
/api/v1/finance/secrets:
get:
consumes:
- application/json
description: 获取当前用户的API访问密钥信息
produces:
- application/json
responses:
"200":
description: 获取用户密钥成功
schema:
$ref: '#/definitions/responses.UserSecretsResponse'
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"404":
description: 密钥不存在
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 获取用户密钥
tags:
- 用户密钥管理
post:
consumes:
- application/json
description: 为用户创建API访问密钥
parameters:
- description: 创建密钥请求
in: body
name: request
required: true
schema:
$ref: '#/definitions/commands.CreateUserSecretsCommand'
produces:
- application/json
responses:
"201":
description: 用户密钥创建成功
schema:
$ref: '#/definitions/responses.UserSecretsResponse'
"400":
description: 请求参数错误
schema:
additionalProperties: true
type: object
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"409":
description: 密钥已存在
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 创建用户密钥
tags:
- 用户密钥管理
/api/v1/finance/secrets/deactivate:
post:
consumes:
- application/json
description: 停用用户的API访问密钥
produces:
- application/json
responses:
"200":
description: 用户密钥停用成功
schema:
additionalProperties: true
type: object
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"404":
description: 密钥不存在
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 停用用户密钥
tags:
- 用户密钥管理
/api/v1/finance/secrets/regenerate:
post:
consumes:
- application/json
description: 重新生成用户的API访问密钥
produces:
- application/json
responses:
"200":
description: 访问密钥重新生成成功
schema:
$ref: '#/definitions/responses.UserSecretsResponse'
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"404":
description: 密钥不存在
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 重新生成访问密钥
tags:
- 用户密钥管理
/api/v1/finance/wallet:
get:
consumes:
- application/json
description: 获取当前用户的钱包详细信息
produces:
- application/json
responses:
"200":
description: 获取钱包信息成功
schema:
$ref: '#/definitions/responses.WalletResponse'
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"404":
description: 钱包不存在
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 获取钱包信息
tags:
- 钱包管理
post:
consumes:
- application/json
description: 为用户创建新的钱包账户
parameters:
- description: 创建钱包请求
in: body
name: request
required: true
schema:
$ref: '#/definitions/commands.CreateWalletCommand'
produces:
- application/json
responses:
"201":
description: 钱包创建成功
schema:
$ref: '#/definitions/responses.WalletResponse'
"400":
description: 请求参数错误
schema:
additionalProperties: true
type: object
"409":
description: 钱包已存在
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
summary: 创建钱包
tags:
- 钱包管理
put:
consumes:
- application/json
description: 更新当前用户的钱包基本信息
parameters:
- description: 更新钱包请求
in: body
name: request
required: true
schema:
$ref: '#/definitions/commands.UpdateWalletCommand'
produces:
- application/json
responses:
"200":
description: 钱包更新成功
schema:
additionalProperties: true
type: object
"400":
description: 请求参数错误
schema:
additionalProperties: true
type: object
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 更新钱包信息
tags:
- 钱包管理
/api/v1/finance/wallet/recharge:
post:
consumes:
- application/json
description: 为钱包进行充值操作
parameters:
- description: 充值请求
in: body
name: request
required: true
schema:
$ref: '#/definitions/commands.RechargeWalletCommand'
produces:
- application/json
responses:
"200":
description: 充值成功
schema:
$ref: '#/definitions/responses.TransactionResponse'
"400":
description: 请求参数错误
schema:
additionalProperties: true
type: object
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 钱包充值
tags:
- 钱包管理
/api/v1/finance/wallet/stats:
get:
consumes:
- application/json
description: 获取钱包相关的统计数据
produces:
- application/json
responses:
"200":
description: 获取钱包统计成功
schema:
$ref: '#/definitions/responses.WalletStatsResponse'
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 获取钱包统计
tags:
- 钱包管理
/api/v1/finance/wallet/transaction:
post:
consumes:
- application/json
description: 执行钱包内部交易操作
parameters:
- description: 交易请求
in: body
name: request
required: true
schema:
$ref: '#/definitions/commands.WalletTransactionCommand'
produces:
- application/json
responses:
"200":
description: 交易成功
schema:
$ref: '#/definitions/responses.TransactionResponse'
"400":
description: 请求参数错误
schema:
additionalProperties: true
type: object
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 钱包交易
tags:
- 钱包管理
/api/v1/finance/wallet/withdraw:
post:
consumes:
- application/json
description: 从钱包进行提现操作
parameters:
- description: 提现请求
in: body
name: request
required: true
schema:
$ref: '#/definitions/commands.WithdrawWalletCommand'
produces:
- application/json
responses:
"200":
description: 提现申请已提交
schema:
$ref: '#/definitions/responses.TransactionResponse'
"400":
description: 请求参数错误
schema:
additionalProperties: true
type: object
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 钱包提现
tags:
- 钱包管理
/api/v1/users/login-password:
2025-07-02 16:17:59 +08:00
post:
consumes:
- application/json
description: 使用手机号和密码进行用户登录返回JWT令牌
parameters:
- description: 密码登录请求
in: body
name: request
required: true
schema:
2025-07-13 16:36:20 +08:00
$ref: '#/definitions/commands.LoginWithPasswordCommand'
2025-07-02 16:17:59 +08:00
produces:
- application/json
responses:
"200":
description: 登录成功
schema:
2025-07-13 16:36:20 +08:00
$ref: '#/definitions/responses.LoginUserResponse'
2025-07-02 16:17:59 +08:00
"400":
description: 请求参数错误
schema:
additionalProperties: true
type: object
"401":
2025-07-13 16:36:20 +08:00
description: 用户名或密码错误
2025-07-02 16:17:59 +08:00
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
summary: 用户密码登录
tags:
- 用户认证
2025-07-13 16:36:20 +08:00
/api/v1/users/login-sms:
2025-07-02 16:17:59 +08:00
post:
consumes:
- application/json
description: 使用手机号和短信验证码进行用户登录返回JWT令牌
parameters:
- description: 短信登录请求
in: body
name: request
required: true
schema:
2025-07-13 16:36:20 +08:00
$ref: '#/definitions/commands.LoginWithSMSCommand'
2025-07-02 16:17:59 +08:00
produces:
- application/json
responses:
"200":
description: 登录成功
schema:
2025-07-13 16:36:20 +08:00
$ref: '#/definitions/responses.LoginUserResponse'
2025-07-02 16:17:59 +08:00
"400":
description: 请求参数错误或验证码无效
schema:
additionalProperties: true
type: object
"401":
description: 认证失败
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
summary: 用户短信验证码登录
tags:
- 用户认证
2025-07-13 16:36:20 +08:00
/api/v1/users/me:
2025-07-02 16:17:59 +08:00
get:
consumes:
- application/json
description: 根据JWT令牌获取当前登录用户的详细信息
produces:
- application/json
responses:
"200":
description: 用户信息
schema:
2025-07-13 16:36:20 +08:00
$ref: '#/definitions/responses.UserProfileResponse'
2025-07-02 16:17:59 +08:00
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"404":
description: 用户不存在
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 获取当前用户信息
tags:
- 用户管理
2025-07-13 16:36:20 +08:00
/api/v1/users/me/password:
2025-07-02 16:17:59 +08:00
put:
consumes:
- application/json
description: 使用旧密码、新密码确认和验证码修改当前用户的密码
parameters:
- description: 修改密码请求
in: body
name: request
required: true
schema:
2025-07-13 16:36:20 +08:00
$ref: '#/definitions/commands.ChangePasswordCommand'
2025-07-02 16:17:59 +08:00
produces:
- application/json
responses:
"200":
description: 密码修改成功
schema:
additionalProperties: true
type: object
"400":
description: 请求参数错误或验证码无效
schema:
additionalProperties: true
type: object
"401":
description: 未认证
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
security:
- Bearer: []
summary: 修改密码
tags:
- 用户管理
2025-07-13 16:36:20 +08:00
/api/v1/users/register:
2025-07-02 16:17:59 +08:00
post:
consumes:
- application/json
description: 使用手机号、密码和验证码进行用户注册,需要确认密码
parameters:
- description: 用户注册请求
in: body
name: request
required: true
schema:
2025-07-13 16:36:20 +08:00
$ref: '#/definitions/commands.RegisterUserCommand'
2025-07-02 16:17:59 +08:00
produces:
- application/json
responses:
"201":
description: 注册成功
schema:
2025-07-13 16:36:20 +08:00
$ref: '#/definitions/responses.RegisterUserResponse'
2025-07-02 16:17:59 +08:00
"400":
description: 请求参数错误或验证码无效
schema:
additionalProperties: true
type: object
"409":
description: 手机号已存在
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
summary: 用户注册
tags:
- 用户认证
2025-07-13 16:36:20 +08:00
/api/v1/users/send-code:
2025-07-02 16:17:59 +08:00
post:
consumes:
- application/json
description: 向指定手机号发送验证码,支持注册、登录、修改密码等场景
parameters:
- description: 发送验证码请求
in: body
name: request
required: true
schema:
2025-07-13 16:36:20 +08:00
$ref: '#/definitions/commands.SendCodeCommand'
2025-07-02 16:17:59 +08:00
produces:
- application/json
responses:
"200":
description: 验证码发送成功
schema:
2025-07-13 16:36:20 +08:00
additionalProperties: true
type: object
2025-07-02 16:17:59 +08:00
"400":
description: 请求参数错误
schema:
additionalProperties: true
type: object
"429":
description: 请求频率限制
schema:
additionalProperties: true
type: object
"500":
description: 服务器内部错误
schema:
additionalProperties: true
type: object
summary: 发送短信验证码
tags:
- 用户认证
securityDefinitions:
Bearer:
description: Type "Bearer" followed by a space and JWT token.
in: header
name: Authorization
type: apiKey
swagger: "2.0"