You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

4304 lines
145 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Generated with protoc-gen-openapi
# https://github.com/google/gnostic/tree/master/cmd/protoc-gen-openapi
openapi: 3.0.3
info:
title: ""
version: 0.0.1
paths:
/api/v1/article:
get:
tags:
- ArticleAPI
operationId: ArticleAPI_GetArticle
parameters:
- name: id
in: query
schema:
type: integer
format: int64
- name: identifier
in: query
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Article'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
put:
tags:
- ArticleAPI
operationId: ArticleAPI_UpdateArticle
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Article'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- ArticleAPI
operationId: ArticleAPI_CreateArticle
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Article'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
delete:
tags:
- ArticleAPI
operationId: ArticleAPI_DeleteArticle
parameters:
- name: id
in: query
schema:
type: array
items:
type: integer
format: int64
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/article/list:
get:
tags:
- ArticleAPI
operationId: ArticleAPI_ListArticle
parameters:
- name: page
in: query
schema:
type: integer
format: int64
- name: size
in: query
schema:
type: integer
format: int64
- name: wd
in: query
schema:
type: string
- name: field
in: query
schema:
type: array
items:
type: string
- name: order
in: query
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListArticleReply'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/attachment:
get:
tags:
- AttachmentAPI
operationId: AttachmentAPI_GetAttachment
parameters:
- name: id
in: query
schema:
type: integer
format: int64
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Attachment'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
put:
tags:
- AttachmentAPI
operationId: AttachmentAPI_UpdateAttachment
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Attachment'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
delete:
tags:
- AttachmentAPI
operationId: AttachmentAPI_DeleteAttachment
parameters:
- name: id
in: query
schema:
type: array
items:
type: integer
format: int64
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/attachment/list:
get:
tags:
- AttachmentAPI
operationId: AttachmentAPI_ListAttachment
parameters:
- name: page
in: query
schema:
type: integer
format: int64
- name: size
in: query
schema:
type: integer
format: int64
- name: wd
in: query
schema:
type: string
- name: enable
in: query
schema:
type: array
items:
type: boolean
- name: userId
in: query
schema:
type: array
items:
type: integer
format: int64
- name: type
in: query
schema:
type: array
items:
type: integer
format: int64
- name: ext
in: query
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListAttachmentReply'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/banner:
get:
tags:
- BannerAPI
operationId: BannerAPI_GetBanner
parameters:
- name: id
in: query
schema:
type: integer
format: int64
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Banner'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
put:
tags:
- BannerAPI
operationId: BannerAPI_UpdateBanner
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Banner'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- BannerAPI
operationId: BannerAPI_CreateBanner
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Banner'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Banner'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
delete:
tags:
- BannerAPI
operationId: BannerAPI_DeleteBanner
parameters:
- name: id
in: query
schema:
type: array
items:
type: integer
format: int64
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/banner/list:
get:
tags:
- BannerAPI
operationId: BannerAPI_ListBanner
parameters:
- name: page
in: query
schema:
type: integer
format: int64
- name: size
in: query
schema:
type: integer
format: int64
- name: type
in: query
schema:
type: array
items:
type: integer
format: int32
- name: enable
in: query
schema:
type: array
items:
type: boolean
- name: wd
in: query
schema:
type: string
- name: field
in: query
schema:
type: array
items:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListBannerReply'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/category:
get:
tags:
- CategoryAPI
operationId: CategoryAPI_GetCategory
parameters:
- name: id
in: query
schema:
type: integer
format: int64
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Category'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
put:
tags:
- CategoryAPI
operationId: CategoryAPI_UpdateCategory
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Category'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- CategoryAPI
operationId: CategoryAPI_CreateCategory
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Category'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
delete:
tags:
- CategoryAPI
operationId: CategoryAPI_DeleteCategory
parameters:
- name: id
in: query
schema:
type: array
items:
type: integer
format: int64
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/category/list:
get:
tags:
- CategoryAPI
operationId: CategoryAPI_ListCategory
parameters:
- name: page
in: query
schema:
type: integer
format: int64
- name: size
in: query
schema:
type: integer
format: int64
- name: parentId
in: query
schema:
type: array
items:
type: integer
format: int64
- name: wd
in: query
schema:
type: string
- name: enable
in: query
schema:
type: array
items:
type: boolean
- name: field
in: query
schema:
type: array
items:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListCategoryReply'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/comment:
get:
tags:
- CommentAPI
description: 获取单个评论
operationId: CommentAPI_GetComment
parameters:
- name: id
in: query
schema:
type: integer
format: int64
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Comment'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
put:
tags:
- CommentAPI
description: 更新评论,仅限管理员操作
operationId: CommentAPI_UpdateComment
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Comment'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- CommentAPI
operationId: CommentAPI_CreateComment
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCommentRequest'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
delete:
tags:
- CommentAPI
description: 管理员或用户自己删除自己的评论
operationId: CommentAPI_DeleteComment
parameters:
- name: id
in: query
schema:
type: array
items:
type: integer
format: int64
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/comment/check:
post:
tags:
- CommentAPI
description: 审核评论
operationId: CommentAPI_CheckComment
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CheckCommentRequest'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/comment/list:
get:
tags:
- CommentAPI
description: 获取评论列表
operationId: CommentAPI_ListComment
parameters:
- name: page
in: query
schema:
type: integer
format: int64
- name: size
in: query
schema:
type: integer
format: int64
- name: wd
in: query
schema:
type: string
- name: field
in: query
schema:
type: array
items:
type: string
- name: order
in: query
schema:
type: string
- name: status
in: query
schema:
type: array
items:
type: integer
format: int32
- name: documentId
in: query
schema:
type: integer
format: int64
- name: userId
in: query
schema:
type: integer
format: int64
- name: parentId
in: query
schema:
type: array
items:
type: integer
format: int64
- name: withDocumentTitle
in: query
schema:
type: boolean
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListCommentReply'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/config:
put:
tags:
- ConfigAPI
description: UpdateConfig 更新配置
operationId: ConfigAPI_UpdateConfig
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Configs'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/config/list:
get:
tags:
- ConfigAPI
description: ListConfig 查询配置项
operationId: ConfigAPI_ListConfig
parameters:
- name: category
in: query
schema:
type: array
items:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Configs'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/document:
get:
tags:
- DocumentAPI
operationId: DocumentAPI_GetDocument
parameters:
- name: id
in: query
schema:
type: integer
format: int64
- name: withAuthor
in: query
schema:
type: boolean
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Document'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
put:
tags:
- DocumentAPI
operationId: DocumentAPI_UpdateDocument
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Document'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- DocumentAPI
operationId: DocumentAPI_CreateDocument
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDocumentRequest'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
delete:
tags:
- DocumentAPI
operationId: DocumentAPI_DeleteDocument
parameters:
- name: id
in: query
schema:
type: array
items:
type: integer
format: int64
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/document/download:
get:
tags:
- DocumentAPI
operationId: DocumentAPI_DownloadDocument
parameters:
- name: id
in: query
schema:
type: integer
format: int64
- name: title
in: query
schema:
type: string
- name: keywords
in: query
schema:
type: string
- name: description
in: query
schema:
type: string
- name: userId
in: query
schema:
type: integer
format: int64
- name: cover
in: query
schema:
type: string
- name: width
in: query
schema:
type: integer
format: int32
- name: height
in: query
schema:
type: integer
format: int32
- name: preview
in: query
schema:
type: integer
format: int32
- name: pages
in: query
schema:
type: integer
format: int32
- name: uuid
in: query
schema:
type: string
- name: downloadCount
in: query
schema:
type: integer
format: int32
- name: viewCount
in: query
schema:
type: integer
format: int32
- name: favoriteCount
in: query
schema:
type: integer
format: int32
- name: commentCount
in: query
schema:
type: integer
format: int32
- name: score
in: query
schema:
type: integer
format: int32
- name: scoreCount
in: query
schema:
type: integer
format: int32
- name: price
in: query
schema:
type: integer
format: int32
- name: size
in: query
schema:
type: integer
format: int64
- name: status
in: query
schema:
type: integer
format: int32
- name: createdAt.seconds
in: query
description: Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
schema:
type: integer
format: int64
- name: createdAt.nanos
in: query
description: Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
schema:
type: integer
format: int32
- name: updatedAt.seconds
in: query
description: Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
schema:
type: integer
format: int64
- name: updatedAt.nanos
in: query
description: Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
schema:
type: integer
format: int32
- name: deletedAt.seconds
in: query
description: Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
schema:
type: integer
format: int64
- name: deletedAt.nanos
in: query
description: Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
schema:
type: integer
format: int32
- name: recommendAt.seconds
in: query
description: Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
schema:
type: integer
format: int64
- name: recommendAt.nanos
in: query
description: Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
schema:
type: integer
format: int32
- name: deletedUserId
in: query
schema:
type: integer
format: int64
- name: username
in: query
schema:
type: string
- name: categoryId
in: query
schema:
type: array
items:
type: integer
format: int64
- name: deletedUsername
in: query
schema:
type: string
- name: ext
in: query
schema:
type: string
- name: attachment.id
in: query
schema:
type: integer
format: int64
- name: attachment.hash
in: query
schema:
type: string
- name: attachment.userId
in: query
schema:
type: integer
format: int64
- name: attachment.typeId
in: query
schema:
type: integer
format: int64
- name: attachment.type
in: query
schema:
type: integer
format: int32
- name: attachment.enable
in: query
schema:
type: boolean
- name: attachment.path
in: query
schema:
type: string
- name: attachment.name
in: query
schema:
type: string
- name: attachment.size
in: query
schema:
type: integer
format: int64
- name: attachment.width
in: query
schema:
type: integer
format: int64
- name: attachment.height
in: query
schema:
type: integer
format: int64
- name: attachment.ext
in: query
schema:
type: string
- name: attachment.ip
in: query
schema:
type: string
- name: attachment.username
in: query
schema:
type: string
- name: attachment.typeName
in: query
schema:
type: string
- name: attachment.description
in: query
schema:
type: string
- name: attachment.createdAt.seconds
in: query
description: Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
schema:
type: integer
format: int64
- name: attachment.createdAt.nanos
in: query
description: Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
schema:
type: integer
format: int32
- name: attachment.updatedAt.seconds
in: query
description: Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
schema:
type: integer
format: int64
- name: attachment.updatedAt.nanos
in: query
description: Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
schema:
type: integer
format: int32
- name: user.loginAt.seconds
in: query
description: Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
schema:
type: integer
format: int64
- name: user.loginAt.nanos
in: query
description: Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
schema:
type: integer
format: int32
- name: user.createdAt.seconds
in: query
description: Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
schema:
type: integer
format: int64
- name: user.createdAt.nanos
in: query
description: Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
schema:
type: integer
format: int32
- name: user.id
in: query
schema:
type: integer
format: int64
- name: user.username
in: query
schema:
type: string
- name: user.mobile
in: query
schema:
type: string
- name: user.email
in: query
schema:
type: string
- name: user.address
in: query
schema:
type: string
- name: user.signature
in: query
schema:
type: string
- name: user.lastLoginIp
in: query
schema:
type: string
- name: user.registerIp
in: query
schema:
type: string
- name: user.docCount
in: query
schema:
type: integer
format: int32
- name: user.followCount
in: query
schema:
type: integer
format: int32
- name: user.fansCount
in: query
schema:
type: integer
format: int32
- name: user.favoriteCount
in: query
schema:
type: integer
format: int32
- name: user.commentCount
in: query
schema:
type: integer
format: int32
- name: user.status
in: query
schema:
type: integer
format: int32
- name: user.avatar
in: query
schema:
type: string
- name: user.identity
in: query
schema:
type: string
- name: user.realname
in: query
schema:
type: string
- name: user.groupId
in: query
schema:
type: array
items:
type: integer
format: int64
- name: user.creditCount
in: query
schema:
type: integer
format: int32
- name: enableGzip
in: query
schema:
type: boolean
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DownloadDocumentReply'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/document/home:
get:
tags:
- DocumentAPI
operationId: DocumentAPI_ListDocumentForHome
parameters:
- name: limit
in: query
schema:
type: integer
format: int64
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListDocumentForHomeResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/document/list:
get:
tags:
- DocumentAPI
operationId: DocumentAPI_ListDocument
parameters:
- name: page
in: query
schema:
type: integer
format: int64
- name: size
in: query
schema:
type: integer
format: int64
- name: wd
in: query
schema:
type: string
- name: field
in: query
schema:
type: array
items:
type: string
- name: order
in: query
schema:
type: string
- name: categoryId
in: query
schema:
type: array
items:
type: integer
format: int64
- name: userId
in: query
schema:
type: array
items:
type: integer
format: int64
- name: status
in: query
schema:
type: array
items:
type: integer
format: int32
- name: isRecommend
in: query
schema:
type: array
items:
type: boolean
- name: limit
in: query
schema:
type: integer
format: int64
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListDocumentReply'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/document/recommend:
put:
tags:
- DocumentAPI
operationId: DocumentAPI_SetDocumentRecommend
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetDocumentRecommendRequest'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/document/recycle:
get:
tags:
- RecycleAPI
description: 文档回收站列表
operationId: RecycleAPI_ListRecycleDocument
parameters:
- name: page
in: query
schema:
type: integer
format: int64
- name: size
in: query
schema:
type: integer
format: int64
- name: wd
in: query
schema:
type: string
- name: field
in: query
schema:
type: array
items:
type: string
- name: order
in: query
schema:
type: string
- name: categoryId
in: query
schema:
type: array
items:
type: integer
format: int64
- name: userId
in: query
schema:
type: array
items:
type: integer
format: int64
- name: status
in: query
schema:
type: array
items:
type: integer
format: int32
- name: isRecommend
in: query
schema:
type: array
items:
type: boolean
- name: limit
in: query
schema:
type: integer
format: int64
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListDocumentReply'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
put:
tags:
- RecycleAPI
description: 恢复回收站文档,支持恢复单个文档或者是批量恢复
operationId: RecycleAPI_RecoverRecycleDocument
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RecoverRecycleDocumentRequest'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
delete:
tags:
- RecycleAPI
description: 删除回收站文档
operationId: RecycleAPI_DeleteRecycleDocument
parameters:
- name: id
in: query
schema:
type: array
items:
type: integer
format: int64
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/document/recycle/all:
delete:
tags:
- RecycleAPI
description: 清空回收站文档
operationId: RecycleAPI_ClearRecycleDocument
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/document/related:
get:
tags:
- DocumentAPI
operationId: DocumentAPI_GetRelatedDocuments
parameters:
- name: id
in: query
schema:
type: integer
format: int64
- name: title
in: query
schema:
type: string
- name: keywords
in: query
schema:
type: string
- name: description
in: query
schema:
type: string
- name: userId
in: query
schema:
type: integer
format: int64
- name: cover
in: query
schema:
type: string
- name: width
in: query
schema:
type: integer
format: int32
- name: height
in: query
schema:
type: integer
format: int32
- name: preview
in: query
schema:
type: integer
format: int32
- name: pages
in: query
schema:
type: integer
format: int32
- name: uuid
in: query
schema:
type: string
- name: downloadCount
in: query
schema:
type: integer
format: int32
- name: viewCount
in: query
schema:
type: integer
format: int32
- name: favoriteCount
in: query
schema:
type: integer
format: int32
- name: commentCount
in: query
schema:
type: integer
format: int32
- name: score
in: query
schema:
type: integer
format: int32
- name: scoreCount
in: query
schema:
type: integer
format: int32
- name: price
in: query
schema:
type: integer
format: int32
- name: size
in: query
schema:
type: integer
format: int64
- name: status
in: query
schema:
type: integer
format: int32
- name: createdAt.seconds
in: query
description: Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
schema:
type: integer
format: int64
- name: createdAt.nanos
in: query
description: Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
schema:
type: integer
format: int32
- name: updatedAt.seconds
in: query
description: Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
schema:
type: integer
format: int64
- name: updatedAt.nanos
in: query
description: Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
schema:
type: integer
format: int32
- name: deletedAt.seconds
in: query
description: Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
schema:
type: integer
format: int64
- name: deletedAt.nanos
in: query
description: Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
schema:
type: integer
format: int32
- name: recommendAt.seconds
in: query
description: Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
schema:
type: integer
format: int64
- name: recommendAt.nanos
in: query
description: Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
schema:
type: integer
format: int32
- name: deletedUserId
in: query
schema:
type: integer
format: int64
- name: username
in: query
schema:
type: string
- name: categoryId
in: query
schema:
type: array
items:
type: integer
format: int64
- name: deletedUsername
in: query
schema:
type: string
- name: ext
in: query
schema:
type: string
- name: attachment.id
in: query
schema:
type: integer
format: int64
- name: attachment.hash
in: query
schema:
type: string
- name: attachment.userId
in: query
schema:
type: integer
format: int64
- name: attachment.typeId
in: query
schema:
type: integer
format: int64
- name: attachment.type
in: query
schema:
type: integer
format: int32
- name: attachment.enable
in: query
schema:
type: boolean
- name: attachment.path
in: query
schema:
type: string
- name: attachment.name
in: query
schema:
type: string
- name: attachment.size
in: query
schema:
type: integer
format: int64
- name: attachment.width
in: query
schema:
type: integer
format: int64
- name: attachment.height
in: query
schema:
type: integer
format: int64
- name: attachment.ext
in: query
schema:
type: string
- name: attachment.ip
in: query
schema:
type: string
- name: attachment.username
in: query
schema:
type: string
- name: attachment.typeName
in: query
schema:
type: string
- name: attachment.description
in: query
schema:
type: string
- name: attachment.createdAt.seconds
in: query
description: Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
schema:
type: integer
format: int64
- name: attachment.createdAt.nanos
in: query
description: Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
schema:
type: integer
format: int32
- name: attachment.updatedAt.seconds
in: query
description: Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
schema:
type: integer
format: int64
- name: attachment.updatedAt.nanos
in: query
description: Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
schema:
type: integer
format: int32
- name: user.loginAt.seconds
in: query
description: Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
schema:
type: integer
format: int64
- name: user.loginAt.nanos
in: query
description: Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
schema:
type: integer
format: int32
- name: user.createdAt.seconds
in: query
description: Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
schema:
type: integer
format: int64
- name: user.createdAt.nanos
in: query
description: Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
schema:
type: integer
format: int32
- name: user.id
in: query
schema:
type: integer
format: int64
- name: user.username
in: query
schema:
type: string
- name: user.mobile
in: query
schema:
type: string
- name: user.email
in: query
schema:
type: string
- name: user.address
in: query
schema:
type: string
- name: user.signature
in: query
schema:
type: string
- name: user.lastLoginIp
in: query
schema:
type: string
- name: user.registerIp
in: query
schema:
type: string
- name: user.docCount
in: query
schema:
type: integer
format: int32
- name: user.followCount
in: query
schema:
type: integer
format: int32
- name: user.fansCount
in: query
schema:
type: integer
format: int32
- name: user.favoriteCount
in: query
schema:
type: integer
format: int32
- name: user.commentCount
in: query
schema:
type: integer
format: int32
- name: user.status
in: query
schema:
type: integer
format: int32
- name: user.avatar
in: query
schema:
type: string
- name: user.identity
in: query
schema:
type: string
- name: user.realname
in: query
schema:
type: string
- name: user.groupId
in: query
schema:
type: array
items:
type: integer
format: int64
- name: user.creditCount
in: query
schema:
type: integer
format: int32
- name: enableGzip
in: query
schema:
type: boolean
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListDocumentReply'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/document/score:
get:
tags:
- DocumentAPI
description: 获取当前登录用户的文档评分
operationId: DocumentAPI_GetDocumentScore
parameters:
- name: id
in: query
schema:
type: integer
format: int64
- name: documentId
in: query
schema:
type: integer
format: int64
- name: userId
in: query
schema:
type: integer
format: int64
- name: score
in: query
schema:
type: integer
format: int32
- name: createdAt.seconds
in: query
description: Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
schema:
type: integer
format: int64
- name: createdAt.nanos
in: query
description: Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
schema:
type: integer
format: int32
- name: updatedAt.seconds
in: query
description: Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
schema:
type: integer
format: int64
- name: updatedAt.nanos
in: query
description: Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
schema:
type: integer
format: int32
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentScore'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- DocumentAPI
description: 设置文档评分
operationId: DocumentAPI_SetDocumentScore
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentScore'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/document/search:
get:
tags:
- DocumentAPI
operationId: DocumentAPI_SearchDocument
parameters:
- name: page
in: query
schema:
type: integer
format: int32
- name: size
in: query
schema:
type: integer
format: int32
- name: wd
in: query
schema:
type: string
- name: categoryId
in: query
schema:
type: array
items:
type: integer
format: int64
- name: sort
in: query
schema:
type: string
- name: ext
in: query
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SearchDocumentReply'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/envs:
get:
tags:
- ConfigAPI
description: 获取系统环境依赖检测
operationId: ConfigAPI_GetEnvs
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Envs'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/favorite:
get:
tags:
- FavoriteAPI
description: 根据文章id查询用户是否有收藏某篇文档
operationId: FavoriteAPI_GetFavorite
parameters:
- name: documentId
in: query
schema:
type: integer
format: int64
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Favorite'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- FavoriteAPI
description: 添加收藏
operationId: FavoriteAPI_CreateFavorite
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Favorite'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Favorite'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
delete:
tags:
- FavoriteAPI
description: 取消收藏
operationId: FavoriteAPI_DeleteFavorite
parameters:
- name: id
in: query
schema:
type: array
items:
type: integer
format: int64
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/favorite/list:
get:
tags:
- FavoriteAPI
description: 查询用户的收藏
operationId: FavoriteAPI_ListFavorite
parameters:
- name: page
in: query
schema:
type: integer
format: int64
- name: size
in: query
schema:
type: integer
format: int64
- name: userId
in: query
schema:
type: integer
format: int64
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListFavoriteReply'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/friendlink:
get:
tags:
- FriendlinkAPI
operationId: FriendlinkAPI_GetFriendlink
parameters:
- name: id
in: query
schema:
type: integer
format: int64
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Friendlink'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
put:
tags:
- FriendlinkAPI
operationId: FriendlinkAPI_UpdateFriendlink
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Friendlink'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- FriendlinkAPI
operationId: FriendlinkAPI_CreateFriendlink
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Friendlink'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Friendlink'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
delete:
tags:
- FriendlinkAPI
operationId: FriendlinkAPI_DeleteFriendlink
parameters:
- name: id
in: query
schema:
type: array
items:
type: integer
format: int64
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/friendlink/list:
get:
tags:
- FriendlinkAPI
operationId: FriendlinkAPI_ListFriendlink
parameters:
- name: page
in: query
schema:
type: integer
format: int32
- name: size
in: query
schema:
type: integer
format: int32
- name: wd
in: query
schema:
type: string
- name: enable
in: query
schema:
type: array
items:
type: boolean
- name: field
in: query
schema:
type: array
items:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListFriendlinkReply'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/group:
get:
tags:
- GroupAPI
description: 获取用户组列表
operationId: GroupAPI_GetGroup
parameters:
- name: id
in: query
schema:
type: integer
format: int64
- name: title
in: query
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
put:
tags:
- GroupAPI
description: 更新用户组
operationId: GroupAPI_UpdateGroup
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- GroupAPI
description: 创建用户组
operationId: GroupAPI_CreateGroup
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
delete:
tags:
- GroupAPI
description: 删除用户组
operationId: GroupAPI_DeleteGroup
parameters:
- name: id
in: query
schema:
type: array
items:
type: integer
format: int64
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/group/list:
get:
tags:
- GroupAPI
operationId: GroupAPI_ListGroup
parameters:
- name: wd
in: query
schema:
type: string
- name: page
in: query
schema:
type: integer
format: int64
- name: size
in: query
schema:
type: integer
format: int64
- name: sort
in: query
schema:
type: string
- name: field
in: query
schema:
type: array
items:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListGroupReply'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/group/permission:
get:
tags:
- GroupAPI
description: 获取用户组权限列表
operationId: GroupAPI_GetGroupPermission
parameters:
- name: id
in: query
schema:
type: integer
format: int64
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GroupPermissions'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
put:
tags:
- GroupAPI
description: 更新用户组权限,给用户组设置权限
operationId: GroupAPI_UpdateGroupPermission
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateGroupPermissionRequest'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/permission:
get:
tags:
- PermissionAPI
operationId: PermissionAPI_GetPermission
parameters:
- name: id
in: query
schema:
type: integer
format: int64
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Permission'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
put:
tags:
- PermissionAPI
operationId: PermissionAPI_UpdatePermission
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Permission'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/permission/list:
get:
tags:
- PermissionAPI
operationId: PermissionAPI_ListPermission
parameters:
- name: page
in: query
schema:
type: integer
format: int64
- name: size
in: query
schema:
type: integer
format: int64
- name: wd
in: query
schema:
type: string
- name: method
in: query
schema:
type: array
items:
type: string
- name: path
in: query
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListPermissionReply'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/ping:
get:
tags:
- HealthAPI
operationId: HealthAPI_Ping
parameters:
- name: name
in: query
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PongReply'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/report:
put:
tags:
- ReportAPI
operationId: ReportAPI_UpdateReport
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Report'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- ReportAPI
operationId: ReportAPI_CreateReport
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Report'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
delete:
tags:
- ReportAPI
operationId: ReportAPI_DeleteReport
parameters:
- name: id
in: query
schema:
type: array
items:
type: integer
format: int64
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/report/list:
get:
tags:
- ReportAPI
operationId: ReportAPI_ListReport
parameters:
- name: page
in: query
schema:
type: integer
format: int64
- name: size
in: query
schema:
type: integer
format: int64
- name: wd
in: query
schema:
type: string
- name: field
in: query
schema:
type: array
items:
type: string
- name: order
in: query
schema:
type: string
- name: status
in: query
schema:
type: array
items:
type: boolean
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListReportReply'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/settings:
get:
tags:
- ConfigAPI
description: 获取系统配置(针对所有用户,只读)
operationId: ConfigAPI_GetSettings
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Settings'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/sitemap:
put:
tags:
- ConfigAPI
description: 更新站点地图
operationId: ConfigAPI_UpdateSitemap
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/stats:
get:
tags:
- ConfigAPI
description: 获取系统配置
operationId: ConfigAPI_GetStats
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Stats'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/user:
get:
tags:
- UserAPI
description: 查询用户信息。如果传递了Id参数则表示查询用户的公开信息否则查询当前用户的私有信息
operationId: UserAPI_GetUser
parameters:
- name: id
in: query
schema:
type: integer
format: int64
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/User'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
put:
tags:
- UserAPI
description: 设置用户
operationId: UserAPI_SetUser
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetUserRequest'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- UserAPI
description: 新增用户
operationId: UserAPI_AddUser
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetUserRequest'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
delete:
tags:
- UserAPI
description: 删除用户。需要验证用户权限
operationId: UserAPI_DeleteUser
parameters:
- name: id
in: query
schema:
type: array
items:
type: integer
format: int64
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/user/caniuploaddocument:
get:
tags:
- UserAPI
description: 用户是否可以上传文档
operationId: UserAPI_CanIUploadDocument
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/user/captcha:
get:
tags:
- UserAPI
description: GetUserCaptcha 获取用户验证码
operationId: UserAPI_GetUserCaptcha
parameters:
- name: type
in: query
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetUserCaptchaReply'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/user/dynamic:
get:
tags:
- UserAPI
description: 获取用户动态,包括获取关注的用户的动态
operationId: UserAPI_ListUserDynamic
parameters:
- name: page
in: query
schema:
type: integer
format: int64
- name: size
in: query
schema:
type: integer
format: int64
- name: id
in: query
schema:
type: integer
format: int64
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListUserDynamicReply'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/user/findpassword/stepone:
post:
tags:
- UserAPI
operationId: UserAPI_FindPasswordStepOne
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FindPasswordRequest'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/user/findpassword/steptwo:
put:
tags:
- UserAPI
operationId: UserAPI_FindPasswordStepTwo
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FindPasswordRequest'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/user/list:
get:
tags:
- UserAPI
description: |-
查询用户列表。对于非管理员,返回相应用户的公开信息;
对于管理员,返回相应用户的绝大部分信息
operationId: UserAPI_ListUser
parameters:
- name: page
in: query
schema:
type: integer
format: int64
- name: size
in: query
schema:
type: integer
format: int64
- name: wd
in: query
schema:
type: string
- name: sort
in: query
schema:
type: string
- name: id
in: query
schema:
type: array
items:
type: integer
format: int64
- name: groupId
in: query
schema:
type: array
items:
type: integer
format: int64
- name: status
in: query
schema:
type: array
items:
type: integer
format: int32
- name: limit
in: query
schema:
type: integer
format: int64
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListUserReply'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/user/login:
post:
tags:
- UserAPI
description: 用户登录
operationId: UserAPI_Login
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RegisterAndLoginRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/LoginReply'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/user/logout:
delete:
tags:
- UserAPI
description: 退出登录
operationId: UserAPI_Logout
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/user/password:
put:
tags:
- UserAPI
description: |-
更新用户密码。如果不传用户ID则表示更新当前用户的密码
如果穿了用户ID则表示更新指定用户的密码这时需要验证当前用户的权限
operationId: UserAPI_UpdateUserPassword
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateUserPasswordRequest'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/user/permission:
get:
tags:
- UserAPI
description: GetUserCaptcha 获取用户验证码
operationId: UserAPI_GetUserPermissions
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetUserPermissionsReply'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/user/profile:
put:
tags:
- UserAPI
description: |-
更新用户密码。如果不传用户ID则表示更新当前用户的密码
如果穿了用户ID则表示更新指定用户的密码这时需要验证当前用户的权限
operationId: UserAPI_UpdateUserProfile
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/User'
required: true
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/user/register:
post:
tags:
- UserAPI
description: 用户注册
operationId: UserAPI_Register
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RegisterAndLoginRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/LoginReply'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/user/sign:
get:
tags:
- UserAPI
description: 获取今日已签到记录
operationId: UserAPI_GetSignedToday
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Sign'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
put:
tags:
- UserAPI
description: 每日签到
operationId: UserAPI_SignToday
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Sign'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/health:
get:
tags:
- HealthAPI
operationId: HealthAPI_Health
responses:
"200":
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
components:
schemas:
Article:
type: object
properties:
id:
type: integer
format: int64
identifier:
type: string
author:
type: string
viewCount:
type: integer
format: int64
title:
type: string
keywords:
type: string
description:
type: string
content:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
Attachment:
type: object
properties:
id:
type: integer
format: int64
hash:
type: string
userId:
type: integer
format: int64
typeId:
type: integer
format: int64
type:
type: integer
format: int32
enable:
type: boolean
path:
type: string
name:
type: string
size:
type: integer
format: int64
width:
type: integer
format: int64
height:
type: integer
format: int64
ext:
type: string
ip:
type: string
username:
type: string
typeName:
type: string
description:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
Banner:
type: object
properties:
id:
type: integer
format: int64
title:
type: string
path:
type: string
sort:
type: integer
format: int32
enable:
type: boolean
type:
type: integer
format: int32
url:
type: string
description:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
Category:
type: object
properties:
id:
type: integer
format: int32
parentId:
type: integer
format: int32
title:
type: string
docCount:
type: integer
format: int32
sort:
type: integer
format: int32
enable:
type: boolean
cover:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
CheckCommentRequest:
type: object
properties:
id:
type: array
items:
type: integer
format: int64
status:
type: integer
format: int32
Comment:
type: object
properties:
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
id:
type: integer
format: int64
parentId:
type: integer
format: int64
content:
type: string
documentId:
type: integer
format: int64
status:
type: integer
format: int32
commentCount:
type: integer
format: int32
userId:
type: integer
format: int64
user:
$ref: '#/components/schemas/User'
documentTitle:
type: string
Config:
type: object
properties:
id:
type: integer
format: int64
label:
type: string
name:
type: string
value:
type: string
placeholder:
type: string
inputType:
type: string
category:
type: string
sort:
type: integer
format: int32
options:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
ConfigFooter:
type: object
properties:
about:
type: string
contact:
type: string
agreement:
type: string
copyright:
type: string
feedback:
type: string
description: 底链配置项
ConfigSecurity:
type: object
properties:
isClose:
type: boolean
closeStatement:
type: string
enableRegister:
type: boolean
enableCaptchaLogin:
type: boolean
enableCaptchaRegister:
type: boolean
enableCaptchaComment:
type: boolean
enableCaptchaFindPassword:
type: boolean
enableCaptchaUpload:
type: boolean
maxDocumentSize:
type: integer
format: int32
documentAllowedExt:
type: array
items:
type: string
description: 安全配置
ConfigSystem:
type: object
properties:
domain:
type: string
title:
type: string
keywords:
type: string
description:
type: string
logo:
type: string
favicon:
type: string
icp:
type: string
analytics:
type: string
sitename:
type: string
copyrightStartYear:
type: string
registerBackground:
type: string
loginBackground:
type: string
recommendWords:
type: array
items:
type: string
version:
type: string
description: 系统配置项
Configs:
type: object
properties:
config:
type: array
items:
$ref: '#/components/schemas/Config'
CreateCommentRequest:
type: object
properties:
documentId:
type: integer
format: int64
parentId:
type: integer
format: int64
content:
type: string
captchaId:
type: string
captcha:
type: string
CreateDocumentItem:
type: object
properties:
title:
type: string
attachmentId:
type: integer
format: int64
price:
type: integer
format: int32
CreateDocumentRequest:
type: object
properties:
overwrite:
type: boolean
categoryId:
type: array
items:
type: integer
format: int64
document:
type: array
items:
$ref: '#/components/schemas/CreateDocumentItem'
Document:
type: object
properties:
id:
type: integer
format: int64
title:
type: string
keywords:
type: string
description:
type: string
userId:
type: integer
format: int64
cover:
type: string
width:
type: integer
format: int32
height:
type: integer
format: int32
preview:
type: integer
format: int32
pages:
type: integer
format: int32
uuid:
type: string
downloadCount:
type: integer
format: int32
viewCount:
type: integer
format: int32
favoriteCount:
type: integer
format: int32
commentCount:
type: integer
format: int32
score:
type: integer
format: int32
scoreCount:
type: integer
format: int32
price:
type: integer
format: int32
size:
type: integer
format: int64
status:
type: integer
format: int32
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
deletedAt:
type: string
format: date-time
recommendAt:
type: string
format: date-time
deletedUserId:
type: integer
format: int64
username:
type: string
categoryId:
type: array
items:
type: integer
format: int64
deletedUsername:
type: string
ext:
type: string
attachment:
$ref: '#/components/schemas/Attachment'
user:
$ref: '#/components/schemas/User'
enableGzip:
type: boolean
DocumentScore:
type: object
properties:
id:
type: integer
format: int64
documentId:
type: integer
format: int64
userId:
type: integer
format: int64
score:
type: integer
format: int32
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
DownloadDocumentReply:
type: object
properties:
url:
type: string
Dynamic:
type: object
properties:
id:
type: integer
format: int64
userId:
type: integer
format: int64
content:
type: string
type:
type: integer
format: int32
username:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
EnvDependent:
type: object
properties:
name:
type: string
description:
type: string
isInstalled:
type: boolean
error:
type: string
checkedAt:
type: string
format: date-time
cmd:
type: string
isRequired:
type: boolean
Envs:
type: object
properties:
envs:
type: array
items:
$ref: '#/components/schemas/EnvDependent'
Favorite:
type: object
properties:
id:
type: integer
format: int64
userId:
type: integer
format: int64
documentId:
type: integer
format: int64
title:
type: string
ext:
type: string
score:
type: integer
format: int32
size:
type: integer
format: int64
pages:
type: integer
format: int32
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
FindPasswordRequest:
type: object
properties:
email:
type: string
token:
type: string
password:
type: string
captcha:
type: string
captchaId:
type: string
Friendlink:
type: object
properties:
id:
type: integer
format: int32
title:
type: string
link:
type: string
description:
type: string
sort:
type: integer
format: int32
enable:
type: boolean
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
GetUserCaptchaReply:
type: object
properties:
enable:
type: boolean
id:
type: string
captcha:
type: string
type:
type: string
GetUserPermissionsReply:
type: object
properties:
permission:
type: array
items:
$ref: '#/components/schemas/Permission'
GoogleProtobufAny:
type: object
properties:
'@type':
type: string
description: The type of the serialized message.
additionalProperties: true
description: Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.
Group:
type: object
properties:
id:
type: integer
format: int64
title:
type: string
color:
type: string
isDefault:
type: boolean
isDisplay:
type: boolean
description:
type: string
userCount:
type: integer
format: int32
sort:
type: integer
format: int32
enableUpload:
type: boolean
enableCommentApproval:
type: boolean
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
GroupPermissions:
type: object
properties:
permissionId:
type: array
items:
type: integer
format: int64
ListArticleReply:
type: object
properties:
total:
type: integer
format: int64
article:
type: array
items:
$ref: '#/components/schemas/Article'
ListAttachmentReply:
type: object
properties:
total:
type: integer
format: int64
attachment:
type: array
items:
$ref: '#/components/schemas/Attachment'
ListBannerReply:
type: object
properties:
total:
type: integer
format: int64
banner:
type: array
items:
$ref: '#/components/schemas/Banner'
ListCategoryReply:
type: object
properties:
total:
type: integer
format: int64
category:
type: array
items:
$ref: '#/components/schemas/Category'
ListCommentReply:
type: object
properties:
total:
type: integer
format: int64
comment:
type: array
items:
$ref: '#/components/schemas/Comment'
ListDocumentForHomeItem:
type: object
properties:
categoryId:
type: integer
format: int64
categoryCover:
type: string
categoryName:
type: string
document:
type: array
items:
$ref: '#/components/schemas/Document'
ListDocumentForHomeResponse:
type: object
properties:
document:
type: array
items:
$ref: '#/components/schemas/ListDocumentForHomeItem'
ListDocumentReply:
type: object
properties:
total:
type: integer
format: int64
document:
type: array
items:
$ref: '#/components/schemas/Document'
ListFavoriteReply:
type: object
properties:
total:
type: integer
format: int64
favorite:
type: array
items:
$ref: '#/components/schemas/Favorite'
ListFriendlinkReply:
type: object
properties:
friendlink:
type: array
items:
$ref: '#/components/schemas/Friendlink'
total:
type: integer
format: int64
ListGroupReply:
type: object
properties:
group:
type: array
items:
$ref: '#/components/schemas/Group'
total:
type: integer
format: int64
ListPermissionReply:
type: object
properties:
total:
type: integer
format: int64
permission:
type: array
items:
$ref: '#/components/schemas/Permission'
ListReportReply:
type: object
properties:
total:
type: integer
format: int64
report:
type: array
items:
$ref: '#/components/schemas/Report'
ListUserDynamicReply:
type: object
properties:
total:
type: integer
format: int64
dynamic:
type: array
items:
$ref: '#/components/schemas/Dynamic'
ListUserReply:
type: object
properties:
total:
type: integer
format: int64
user:
type: array
items:
$ref: '#/components/schemas/User'
LoginReply:
type: object
properties:
token:
type: string
user:
$ref: '#/components/schemas/User'
Permission:
type: object
properties:
id:
type: integer
format: int64
method:
type: string
path:
type: string
title:
type: string
description:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
PongReply:
type: object
properties:
name:
type: string
createdAt:
type: string
format: date-time
RecoverRecycleDocumentRequest:
type: object
properties:
id:
type: array
items:
type: integer
format: int64
RegisterAndLoginRequest:
type: object
properties:
username:
type: string
password:
type: string
captcha:
type: string
captchaId:
type: string
email:
type: string
Report:
type: object
properties:
id:
type: integer
format: int64
documentId:
type: integer
format: int64
userId:
type: integer
format: int64
reason:
type: integer
format: int32
status:
type: boolean
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
documentTitle:
type: string
remark:
type: string
username:
type: string
description: 这里是proto文件中的结构体可以根据需要删除或者调整
SearchDocumentReply:
type: object
properties:
total:
type: integer
format: int64
spend:
type: string
document:
type: array
items:
$ref: '#/components/schemas/Document'
SetDocumentRecommendRequest:
type: object
properties:
id:
type: array
items:
type: integer
format: int64
type:
type: integer
format: int32
SetUserRequest:
type: object
properties:
id:
type: integer
format: int64
username:
type: string
password:
type: string
groupId:
type: array
items:
type: integer
format: int64
Settings:
type: object
properties:
system:
$ref: '#/components/schemas/ConfigSystem'
footer:
$ref: '#/components/schemas/ConfigFooter'
security:
$ref: '#/components/schemas/ConfigSecurity'
Sign:
type: object
properties:
id:
type: integer
format: int64
userId:
type: integer
format: int64
signAt:
type: integer
format: int32
ip:
type: string
createdAt:
type: string
format: date-time
award:
type: integer
format: int32
Stats:
type: object
properties:
userCount:
type: integer
format: int64
documentCount:
type: integer
format: int64
categoryCount:
type: integer
format: int64
articleCount:
type: integer
format: int64
commentCount:
type: integer
format: int64
bannerCount:
type: integer
format: int64
friendlinkCount:
type: integer
format: int64
os:
type: string
version:
type: string
hash:
type: string
buildAt:
type: string
reportCount:
type: integer
format: int64
Status:
type: object
properties:
code:
type: integer
description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
format: int32
message:
type: string
description: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
details:
type: array
items:
$ref: '#/components/schemas/GoogleProtobufAny'
description: A list of messages that carry the error details. There is a common set of message types for APIs to use.
description: 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).'
UpdateGroupPermissionRequest:
type: object
properties:
groupId:
type: integer
format: int64
permissionId:
type: array
items:
type: integer
format: int64
UpdateUserPasswordRequest:
type: object
properties:
id:
type: integer
format: int64
oldPassword:
type: string
newPassword:
type: string
description: 修改用户密码
User:
type: object
properties:
loginAt:
type: string
format: date-time
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
id:
type: integer
format: int64
username:
type: string
mobile:
type: string
email:
type: string
address:
type: string
signature:
type: string
lastLoginIp:
type: string
registerIp:
type: string
docCount:
type: integer
format: int32
followCount:
type: integer
format: int32
fansCount:
type: integer
format: int32
favoriteCount:
type: integer
format: int32
commentCount:
type: integer
format: int32
status:
type: integer
format: int32
avatar:
type: string
identity:
type: string
realname:
type: string
groupId:
type: array
items:
type: integer
format: int64
creditCount:
type: integer
format: int32
tags:
- name: ArticleAPI
- name: AttachmentAPI
description: 附件服务。只有管理员才有权限操作
- name: BannerAPI
- name: CategoryAPI
- name: CommentAPI
- name: ConfigAPI
- name: DocumentAPI
- name: FavoriteAPI
- name: FriendlinkAPI
- name: GroupAPI
- name: HealthAPI
- name: PermissionAPI
- name: RecycleAPI
- name: ReportAPI
- name: UserAPI