swagger: "2.0"
info: {}
basePath: /api
paths:
  /add-favorites:
    post:
      tags:
      - Favorite API
      operationId: ApiController.AddFavorites
  /add-node:
    post:
      tags:
      - Node API
      operationId: ApiController.AddNode
  /add-node-browse-record:
    post:
      tags:
      - Node API
      operationId: ApiController.AddNodeBrowseCount
  /add-node-moderators:
    post:
      tags:
      - Node API
      operationId: ApiController.AddNodeModerators
  /add-plane:
    post:
      tags:
      - Plane API
      operationId: ApiController.AddPlane
  /add-reply:
    post:
      tags:
      - Reply API
      operationId: ApiController.AddReply
  /add-sensitive:
    get:
      tags:
      - Seneistive API
      operationId: ApiController.AddSensitive
  /add-thanks:
    post:
      tags:
      - Balance API
      operationId: ApiController.AddThanks
  /add-topic:
    post:
      tags:
      - Topic API
      description: add one topic
      operationId: ApiController.AddTopic
      parameters:
      - in: body
        name: form
        description: topic info
        required: true
        schema:
          $ref: '#/definitions/controllers.NewTopicForm'
      responses:
        "200":
          description: The Response object
          schema:
            $ref: '#/definitions/controllers.Response'
  /add-topic-browse-record:
    post:
      tags:
      - Topic API
      description: add topic browse count
      operationId: ApiController.AddTopicBrowseCount
      parameters:
      - in: query
        name: id
        description: topicId
        required: true
        type: string
      responses:
        "200":
          description: The Response object
          schema:
            $ref: '#/definitions/controller.Response'
  /add-topic-hit-count:
    post:
      tags:
      - Topic API
      description: add topic hit count,together with node
      operationId: ApiController.AddTopicHitCount
      parameters:
      - in: query
        name: id
        description: topic id
        required: true
        type: string
      responses:
        "200":
          description: The Response object
          schema:
            $ref: '#/definitions/controller.Response'
  /add-translator:
    post:
      tags:
      - Translator API
      operationId: ApiController.AddTranslator
  /cancel-top-topic:
    post:
      tags:
      - Topic API
      description: cancels top topic according to the topType in the url.
      operationId: ApiController.CancelTopTopic
      parameters:
      - in: query
        name: id
        description: id
        required: true
        type: string
      responses:
        "200":
          description: The Response object
          schema:
            $ref: '#/definitions/controllers.Response'
  /del-sensitive:
    get:
      tags:
      - Seneistive API
      operationId: ApiController.DelSensitive
  /del-translator:
    post:
      tags:
      - Translator API
      operationId: ApiController.DelTranslator
  /delete-favorites:
    post:
      tags:
      - Favorite API
      operationId: ApiController.DeleteFavorites
  /delete-node:
    post:
      tags:
      - Node API
      operationId: ApiController.DeleteNode
  /delete-node-moderators:
    post:
      tags:
      - Node API
      operationId: ApiController.DeleteNodeModerators
  /delete-notifications:
    get:
      tags:
      - Notification API
      operationId: ApiController.DeleteNotification
  /delete-plane:
    post:
      tags:
      - Plane API
      operationId: ApiController.DeletePlane
  /delete-reply:
    post:
      tags:
      - Reply API
      operationId: ApiController.DeleteReply
  /delete-tab:
    post:
      tags:
      - Tab API
      operationId: ApiController.DeleteTab
  /delete-topic:
    post:
      tags:
      - Topic API
      description: delete a topic by id
      operationId: ApiController.DeleteTopic
      parameters:
      - in: query
        name: id
        description: topic id
        required: true
        type: string
      responses:
        "200":
          description: '{bool} bool Delete success or failure'
  /edit-content:
    post:
      tags:
      - Topic API
      description: edit content
      operationId: ApiController.EditContent
      parameters:
      - in: query
        name: editType
        description: edit Type
        required: true
        type: string
      responses:
        "200":
          description: The Response object
          schema:
            $ref: '#/definitions/controllers.Response'
  /get-account:
    get:
      tags:
      - Account API
      description: Get current account
      operationId: ApiController.GetAccount
      responses:
        "200":
          description: The Response object
          schema:
            $ref: '#/definitions/controllers.api_controller.Response'
  /get-account-favorite-num:
    get:
      tags:
      - Favorite API
      operationId: ApiController.GetAccountFavoriteNum
  /get-all-created-topics:
    get:
      tags:
      - Topic API
      description: get all created topics
      operationId: ApiController.GetAllCreatedTopics
      parameters:
      - in: query
        name: id
        description: author id
        required: true
        type: string
      - in: query
        name: tab
        description: tab
        required: true
        type: string
      - in: query
        name: limit
        description: mumber of topics
        required: true
        type: string
      - in: query
        name: page
        description: page offset
        required: true
        type: string
      responses:
        "200":
          description: The Response object
          schema:
            type: array
            items:
              $ref: '#/definitions/object.Topic'
  /get-all-tabs:
    get:
      tags:
      - Tab API
      operationId: ApiController.GetAllTabs
  /get-checkin-bonus:
    get:
      tags:
      - Balance API
      operationId: ApiController.GetCheckinBonus
  /get-checkin-bonus-status:
    get:
      tags:
      - Balance API
      operationId: ApiController.GetCheckinBonusStatus
  /get-community-health:
    get:
      tags:
      - Info API
      operationId: ApiController.GetCommunityHealth
  /get-consumption-record:
    get:
      tags:
      - Balance API
      operationId: ApiController.GetConsumptionRecord
  /get-created-topics-num:
    get:
      tags:
      - Topic API
      description: get created topics count
      operationId: ApiController.GetCreatedTopicsNum
      parameters:
      - in: query
        name: id
        description: member id
        required: true
        type: string
      responses:
        "200":
          description: '{int} int topics count'
  /get-favorites:
    get:
      tags:
      - Favorite API
      operationId: ApiController.GetFavorites
  /get-favorites-status:
    get:
      tags:
      - Favorite API
      operationId: ApiController.GetFavoritesStatus
  /get-forum-version:
    get:
      tags:
      - Info API
      operationId: ApiController.GetForumVersion
  /get-front-conf-by-field:
    get:
      tags:
      - FrontConf API
      description: Get front confs by field
      operationId: ApiController.GetFrontConfsByField
      responses:
        "200":
          description: The Response object
          schema:
            type: array
            items:
              $ref: '#/definitions/object.FrontConf'
  /get-front-confs:
    get:
      tags:
      - FrontConf API
      description: Get all front confs
      operationId: ApiController.GetFrontConfs
      responses:
        "200":
          description: The Response object
          schema:
            type: array
            items:
              $ref: '#/definitions/array'
  /get-hot-node:
    get:
      tags:
      - Node API
      operationId: ApiController.GetHotNod
  /get-hot-topic:
    get:
      tags:
      - Topic API
      description: get sorted topics
      operationId: ApiController.GetSortedTopics
      parameters:
      - in: query
        name: lps
        description: 'sort: last reply count'
        required: true
        type: string
      - in: query
        name: hs
        description: 'sort: hot'
        required: true
        type: string
      - in: query
        name: fcs
        description: 'sort: favorite count'
        required: true
        type: string
      - in: query
        name: cts
        description: 'sort: created time'
        required: true
        type: string
      - in: query
        name: page
        description: offset
        required: true
        type: string
      - in: query
        name: limit
        description: limit size
        required: true
        type: string
      responses:
        "200":
          description: The Response object
          schema:
            $ref: '#/definitions/controller.Response'
  /get-latest-node:
    get:
      tags:
      - Node API
      operationId: ApiController.GetLatestNode
  /get-latest-replies:
    get:
      tags:
      - Reply API
      operationId: ApiController.GetLatestReplies
  /get-member:
    get:
      tags:
      - Member API
      description: get member by id
      operationId: ApiController.GetMember
      parameters:
      - in: query
        name: id
        description: id
        required: true
        type: string
      responses:
        "200":
          description: The Response object
          schema:
            $ref: '#/definitions/auth.User'
  /get-member-editor-type:
    get:
      tags:
      - Member API
      description: member editortype
      operationId: ApiController.GetMemberEditorType
      responses:
        "200":
          description: The Response object
          schema:
            $ref: '#/definitions/controllers.Response'
  /get-member-language:
    get:
      tags:
      - Member API
      description: MemberLanguage
      operationId: ApiController.GetMemberLanguage
      responses:
        "200":
          description: The Response object
          schema:
            $ref: '#/definitions/controllers.Response'
  /get-member-replies-num:
    get:
      tags:
      - Reply API
      description: GetRepliesNum gets member's all replies num.
      operationId: ApiController.GetMemberRepliesNum
  /get-node:
    get:
      tags:
      - Node API
      operationId: ApiController.GetNode
  /get-node-info:
    get:
      tags:
      - Node API
      operationId: ApiController.GetNodeInfo
  /get-node-relation:
    get:
      tags:
      - Node API
      operationId: ApiController.GetNodeRelation
  /get-nodes:
    get:
      tags:
      - Node API
      operationId: ApiController.GetNodes
  /get-nodes-admin:
    get:
      tags:
      - Node API
      operationId: ApiController.GetNodesAdmin
  /get-nodes-num:
    get:
      tags:
      - Node API
      operationId: ApiController.GetNodesNum
  /get-notifications:
    get:
      tags:
      - Notification API
      operationId: ApiController.GetNotifications
  /get-online-num:
    get:
      tags:
      - Info API
      operationId: ApiController.GetOnlineNum
  /get-plane:
    get:
      tags:
      - Plane API
      operationId: ApiController.GetPlane
  /get-plane-list:
    get:
      tags:
      - Plane API
      operationId: ApiController.GetPlaneLis
  /get-planes-admin:
    get:
      tags:
      - Plane API
      operationId: ApiController.GetPlaneAdmin
  /get-ranking-rich:
    get:
      tags:
      - Member API
      description: RankingRich
      operationId: ApiController.GetRankingRich
      responses:
        "200":
          description: The Response object
          schema:
            type: array
            items:
              $ref: '#/definitions/auth.User'
  /get-replies:
    get:
      tags:
      - Reply API
      operationId: ApiController.GetReplies
  /get-replies-of-topic:
    get:
      tags:
      - Reply API
      operationId: ApiController.GetAllRepliesOfTopic
  /get-reply:
    get:
      tags:
      - Reply API
      operationId: ApiController.GetReply
  /get-reply-with-details:
    get:
      tags:
      - Reply API
      operationId: ApiController.GetReplyWithDetails
  /get-sensitive:
    get:
      tags:
      - Seneistive API
      operationId: ApiController.GetSensitive
  /get-tab-with-nodes:
    get:
      tags:
      - Tab API
      operationId: ApiController.GetTabWithNodes
  /get-tabs:
    get:
      tags:
      - Tab API
      operationId: ApiController.GetTabs
  /get-tabs-admin:
    get:
      tags:
      - Tab API
      operationId: ApiController.AddTab
  /get-topic:
    get:
      tags:
      - Topic API
      description: get one topic by id
      operationId: ApiController.GetTopic
      parameters:
      - in: query
        name: id
        description: id
        required: true
        type: string
      responses:
        "200":
          description: The Response object
          schema:
            $ref: '#/definitions/object.TopicWithAvatar'
  /get-topic-admin:
    get:
      tags:
      - Topic API
      description: get topic for admin by id
      operationId: ApiController.GetTopicAdmin
      parameters:
      - in: query
        name: id
        description: id
        required: true
        type: string
      responses:
        "200":
          description: The Response object
          schema:
            $ref: '#/definitions/object.AdminTopicInfo'
  /get-topic-by-urlpath-and-title:
    get:
      tags:
      - Topic API
      operationId: ApiController.GetTopicByUrlPathAndTitle
  /get-topics:
    get:
      tags:
      - Topic API
      description: get current topics
      operationId: ApiController.GetTopics
      parameters:
      - in: query
        name: limit
        description: topics size
        required: true
        type: string
      - in: query
        name: page
        description: offset
        required: true
        type: string
      responses:
        "200":
          description: The Response object
          schema:
            type: array
            items:
              $ref: '#/definitions/object.TopicWithAvatar'
  /get-topics-admin:
    get:
      tags:
      - Topic API
      description: get topics for admin
      operationId: ApiController.GetTopicsAdmin
      parameters:
      - in: query
        name: limit
        description: topics size
        required: true
        type: string
      - in: query
        name: page
        description: offset
        required: true
        type: string
      - in: query
        name: un
        description: username(author)
        required: true
        type: string
      - in: query
        name: ti
        description: 'search: title'
        required: true
        type: string
      - in: query
        name: cn
        description: 'search: content'
        required: true
        type: string
      - in: query
        name: sdt
        description: 'sort: show deleted topics'
        required: true
        type: string
      - in: query
        name: cs
        description: 'sort: created time'
        required: true
        type: string
      - in: query
        name: lrs
        description: 'sort: last reply time'
        required: true
        type: string
      - in: query
        name: us
        description: 'sort: username'
        required: true
        type: string
      - in: query
        name: rcs
        description: 'sort: reply count'
        required: true
        type: string
      - in: query
        name: hs
        description: 'sort: hot'
        required: true
        type: string
      - in: query
        name: fcs
        description: 'sort: favorite count'
        required: true
        type: string
      responses:
        "200":
          description: The Response object
          schema:
            $ref: '#/definitions/controllers.Response'
  /get-topics-by-node:
    get:
      tags:
      - Topic API
      description: get topics by node
      operationId: ApiController.GetTopicsByNode
      parameters:
      - in: query
        name: node-id
        description: node id
        required: true
        type: string
      - in: query
        name: limit
        description: number of topics
        required: true
        type: string
      - in: query
        name: page
        description: page offset
        required: true
        type: string
      responses:
        "200":
          description: The Response object
          schema:
            type: array
            items:
              $ref: '#/definitions/object.NodeTopic'
  /get-topics-by-tab:
    get:
      tags:
      - Topic API
      description: get topics by tab
      operationId: ApiController.GetTopicsByTab
      parameters:
      - in: query
        name: tab-id
        description: tab id
        required: true
        type: string
      - in: query
        name: limit
        description: number of topics
        required: true
        type: string
      - in: query
        name: page
        description: page offset
        required: true
        type: string
      responses:
        "200":
          description: The Response object
          schema:
            type: array
            items:
              $ref: '#/definitions/object.TopicWithAvatar'
  /get-topics-by-tag:
    get:
      tags:
      - Topic API
      description: get topics by tag
      operationId: ApiController.GetTopicsByTag
      parameters:
      - in: query
        name: tag-id
        description: tag id
        required: true
        type: string
      - in: query
        name: limit
        description: number of topics
        required: true
        type: string
      - in: query
        name: page
        description: page offset
        required: true
        type: string
      responses:
        "200":
          description: The Response object
          schema:
            type: array
            items:
              $ref: '#/definitions/object.NodeTopic'
  /get-topics-num:
    get:
      tags:
      - Topic API
      description: get the total number of topics
      operationId: ApiController.GetTopicsNum
      responses:
        "200":
          description: '{int} int The topic nums'
  /get-translator:
    get:
      tags:
      - Translator API
      operationId: ApiController.GetTranslator
  /get-unread-notification-num:
    post:
      tags:
      - Notification API
      operationId: ApiController.GetUnreadNotificationNum
  /node-navigation:
    get:
      tags:
      - Info API
      operationId: ApiController.GetNodeNavigation
  /read-poster:
    get:
      tags:
      - Poster API
      description: get poster by id
      operationId: ApiController.ReadPoster
      parameters:
      - in: query
        name: id
        description: id
        required: true
        type: string
      responses:
        "200":
          description: The Response object
          schema:
            $ref: '#/definitions/object.Poster'
  /search:
    get:
      tags:
      - Search API
      operationId: ApiController.Search
  /signin:
    post:
      tags:
      - Account API
      description: sign in as a member
      operationId: ApiController.Signin
      parameters:
      - in: QueryString
        name: code
        description: The code to sign in
        required: true
        type: string
      - in: QueryString
        name: state
        description: The state
        required: true
        type: string
      responses:
        "200":
          description: The Response object
          schema:
            $ref: '#/definitions/controllers.api_controller.Response'
  /signout:
    post:
      tags:
      - Account API
      description: sign out the current member
      operationId: ApiController.Signout
      responses:
        "200":
          description: The Response object
          schema:
            $ref: '#/definitions/controllers.api_controller.Response'
  /top-topic:
    post:
      tags:
      - Topic API
      description: tops topic according to the topType in the url.
      operationId: ApiController.TopTopic
      parameters:
      - in: query
        name: id
        description: id
        required: true
        type: string
      responses:
        "200":
          description: The Response object
          schema:
            $ref: '#/definitions/controllers.Response'
  /translate-topic:
    get:
      tags:
      - Topic API
      operationId: ApiController.TranslateTopic
  /update-expired-data:
    post:
      tags:
      - Hot API
      operationId: ApiController.ChangeExpiredDataStatus
  /update-front-conf:
    post:
      tags:
      - FrontConf API
      operationId: ApiController.UpdateFrontConf
  /update-hot-info:
    post:
      tags:
      - Hot API
      operationId: ApiController.UpdateHotInfo
  /update-member-editor-type:
    post:
      tags:
      - Member API
      operationId: ApiController.UpdateMemberEditorType
  /update-member-language:
    post:
      tags:
      - Member API
      operationId: ApiController.UpdateMemberLanguage
  /update-node:
    post:
      tags:
      - Node API
      operationId: ApiController.UpdateNode
  /update-plane:
    post:
      tags:
      - Plane API
      operationId: ApiController.UpdatePlane
  /update-poster:
    post:
      tags:
      - Poster API
      description: update poster message
      operationId: ApiController.UpdatePoster
      responses:
        "200":
          description: The Response object
          schema:
            $ref: '#/definitions/controllers.Response'
  /update-read-status:
    post:
      tags:
      - Notification API
      operationId: ApiController.UpdateReadStatus
  /update-reply:
    post:
      tags:
      - Reply API
      operationId: ApiController.UpdateReply
  /update-tab:
    post:
      tags:
      - Tab API
      operationId: ApiController.UpdateTab
  /update-to-default-conf:
    post:
      tags:
      - FrontConf API
      operationId: ApiController.UpdateFrontConfToDefault
  /update-topic-node:
    post:
      tags:
      - Topic API
      description: update the topic node
      operationId: ApiController.UpdateTopicNode
      parameters:
      - in: body
        name: updateTopicNode
        description: topic node info
        required: true
        schema:
          $ref: '#/definitions/controllers.updateTopicNode'
      responses:
        "200":
          description: The Response object
          schema:
            $ref: '#/definitions/controllers.Response'
  /update-translator:
    post:
      tags:
      - Translator API
      operationId: ApiController.UpdateTranslator
  /upload-avatar:
    post:
      tags:
      - File API
      operationId: ApiController.UploadAvatar
  /upload-file:
    post:
      tags:
      - File API
      operationId: ApiController.UploadFile
  /upload-moderator:
    post:
      tags:
      - File API
      operationId: ApiController.ModeratorUpload
  /upload-topic-pic:
    post:
      tags:
      - Topic API
      description: upload topic picture
      operationId: ApiController.UploadTopicPic
      parameters:
      - in: formData
        name: pic
        description: the picture base64 code
        required: true
        type: string
      responses:
        "200":
          description: The Response object
          schema:
            $ref: '#/definitions/_controllers.Response'
  /visible-translator:
    get:
      tags:
      - Translator API
      operationId: ApiController.VisibleTranslator
definitions:
  _controllers.Response:
    title: Response
    type: object
  87715.0xc0004fa000.false:
    title: "false"
    type: object
  87749.0xc0004fa030.false:
    title: "false"
    type: object
  array:
    title: array
    type: object
  auth.User:
    title: User
    type: object
  controller.Response:
    title: Response
    type: object
  controllers.NewTopicForm:
    title: NewTopicForm
    type: object
    properties:
      body:
        type: string
      editorType:
        type: string
      nodeId:
        type: string
      tags:
        type: array
        items:
          type: string
      title:
        type: string
  controllers.Response:
    title: Response
    type: object
    properties:
      data:
        $ref: '#/definitions/87715.0xc0004fa000.false'
      data2:
        $ref: '#/definitions/87749.0xc0004fa030.false'
      msg:
        type: string
      status:
        type: string
  controllers.api_controller.Response:
    title: Response
    type: object
    properties:
      data:
        $ref: '#/definitions/87715.0xc0004fa000.false'
      data2:
        $ref: '#/definitions/87749.0xc0004fa030.false'
      msg:
        type: string
      status:
        type: string
  controllers.updateTopicNode:
    title: updateTopicNode
    type: object
    properties:
      id:
        type: integer
        format: int64
      nodeId:
        type: string
      nodeName:
        type: string
  object.AdminTopicInfo:
    title: AdminTopicInfo
    type: object
    properties:
      author:
        type: string
      content:
        type: string
      createdTime:
        type: string
      deleted:
        type: boolean
      downCount:
        type: integer
        format: int64
      editorType:
        type: string
      favoriteCount:
        type: integer
        format: int64
      hitCount:
        type: integer
        format: int64
      homePageTopTime:
        type: string
      hot:
        type: integer
        format: int64
      id:
        type: integer
        format: int64
      ip:
        type: string
      isHidden:
        type: boolean
      lastReplyTime:
        type: string
      lastReplyUser:
        type: string
      nodeId:
        type: string
      nodeName:
        type: string
      nodeTopTime:
        type: string
      replyCount:
        type: integer
        format: int64
      state:
        type: string
      tabId:
        type: string
      tabTopTime:
        type: string
      tags:
        type: array
        items:
          type: string
      title:
        type: string
      upCount:
        type: integer
        format: int64
      urlPath:
        type: string
  object.FrontConf:
    title: FrontConf
    type: object
    properties:
      Field:
        type: string
      Id:
        type: string
      Value:
        type: string
  object.NodeTopic:
    title: NodeTopic
    type: object
    properties:
      author:
        type: string
      avatar:
        type: string
      content:
        type: string
      contentLength:
        type: integer
        format: int64
      createdTime:
        type: string
      downCount:
        type: integer
        format: int64
      editable:
        type: boolean
      editorType:
        type: string
      favoriteCount:
        type: integer
        format: int64
      hitCount:
        type: integer
        format: int64
      homePageTopTime:
        type: string
      hot:
        type: integer
        format: int64
      id:
        type: integer
        format: int64
      ip:
        type: string
      isHidden:
        type: boolean
      lastReplyTime:
        type: string
      lastReplyUser:
        type: string
      nodeId:
        type: string
      nodeModerator:
        type: boolean
      nodeName:
        type: string
      nodeTopTime:
        type: string
      replyCount:
        type: integer
        format: int64
      state:
        type: string
      tabId:
        type: string
      tabTopTime:
        type: string
      tags:
        type: array
        items:
          type: string
      thanksStatus:
        type: boolean
      title:
        type: string
      upCount:
        type: integer
        format: int64
      urlPath:
        type: string
  object.Poster:
    title: Poster
    type: object
    properties:
      advertiser:
        type: string
      id:
        type: string
      link:
        type: string
      picture_link:
        type: string
      state:
        type: string
  object.Topic:
    title: Topic
    type: object
    properties:
      author:
        type: string
      content:
        type: string
      createdTime:
        type: string
      downCount:
        type: integer
        format: int64
      editorType:
        type: string
      favoriteCount:
        type: integer
        format: int64
      hitCount:
        type: integer
        format: int64
      homePageTopTime:
        type: string
      hot:
        type: integer
        format: int64
      id:
        type: integer
        format: int64
      ip:
        type: string
      isHidden:
        type: boolean
      lastReplyTime:
        type: string
      lastReplyUser:
        type: string
      nodeId:
        type: string
      nodeName:
        type: string
      nodeTopTime:
        type: string
      replyCount:
        type: integer
        format: int64
      state:
        type: string
      tabId:
        type: string
      tabTopTime:
        type: string
      tags:
        type: array
        items:
          type: string
      title:
        type: string
      upCount:
        type: integer
        format: int64
      urlPath:
        type: string
  object.TopicWithAvatar:
    title: TopicWithAvatar
    type: object
    properties:
      author:
        type: string
      avatar:
        type: string
      content:
        type: string
      createdTime:
        type: string
      downCount:
        type: integer
        format: int64
      editable:
        type: boolean
      editorType:
        type: string
      favoriteCount:
        type: integer
        format: int64
      hitCount:
        type: integer
        format: int64
      homePageTopTime:
        type: string
      hot:
        type: integer
        format: int64
      id:
        type: integer
        format: int64
      ip:
        type: string
      isHidden:
        type: boolean
      lastReplyTime:
        type: string
      lastReplyUser:
        type: string
      nodeId:
        type: string
      nodeModerator:
        type: boolean
      nodeName:
        type: string
      nodeTopTime:
        type: string
      replyCount:
        type: integer
        format: int64
      state:
        type: string
      tabId:
        type: string
      tabTopTime:
        type: string
      tags:
        type: array
        items:
          type: string
      thanksStatus:
        type: boolean
      title:
        type: string
      upCount:
        type: integer
        format: int64
      urlPath:
        type: string
