openapi: 3.0.3
info:
  title: 'Owl Admin API Documentation'
  description: 'Owl Admin API 接口文档'
  version: 1.0.0
servers:
  -
    url: 'http://192.168.110.10'
paths:
  '/api/scribe/update-token/{mobile}':
    get:
      summary: 更新API文档的认证Token
      operationId: APIToken
      description: 通过手机号获取验证码并登录，然后更新API文档的认证Token
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 200
                  message: Token更新成功
                  data:
                    token: your_new_token_here
                properties:
                  code:
                    type: integer
                    example: 200
                  message:
                    type: string
                    example: Token更新成功
                  data:
                    type: object
                    properties:
                      token:
                        type: string
                        example: your_new_token_here
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: mobile
        description: 手机号码.
        example: '13800138000'
        required: true
        schema:
          type: string
  /api/account/send-code:
    post:
      summary: '[账户管理] 发送验证码'
      operationId: ''
      description: 向指定手机号发送验证码
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 200
                  message: 验证码发送成功
                  data: null
                properties:
                  code:
                    type: integer
                    example: 200
                  message:
                    type: string
                    example: 验证码发送成功
                  data:
                    type: string
                    example: null
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                mobile:
                  type: string
                  description: 手机号码.
                  example: '13800138000'
                  nullable: false
              required:
                - mobile
  /api/account/login:
    post:
      summary: '[账户管理] 用户登录'
      operationId: ''
      description: 使用手机号和验证码登录账户
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 200
                  message: 登录成功
                  data:
                    token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...
                    user:
                      id: 1
                      mobile: '13800138000'
                      nickname: 用户昵称
                properties:
                  code:
                    type: integer
                    example: 200
                  message:
                    type: string
                    example: 登录成功
                  data:
                    type: object
                    properties:
                      token:
                        type: string
                        example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...
                      user:
                        type: object
                        properties:
                          id:
                            type: integer
                            example: 1
                          mobile:
                            type: string
                            example: '13800138000'
                          nickname:
                            type: string
                            example: 用户昵称
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                mobile:
                  type: string
                  description: 手机号码.
                  example: '13800138000'
                  nullable: false
                code:
                  type: string
                  description: 验证码.
                  example: '123456'
                  nullable: false
              required:
                - mobile
                - code
  /api/account/wx-login:
    post:
      summary: '[账户管理] 微信登录'
      operationId: ''
      description: 使用微信openid登录账户
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 200
                  message: 登录成功
                  data:
                    token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...
                    user:
                      id: 1
                      openid: wx_123456789
                      nickname: 微信昵称
                properties:
                  code:
                    type: integer
                    example: 200
                  message:
                    type: string
                    example: 登录成功
                  data:
                    type: object
                    properties:
                      token:
                        type: string
                        example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...
                      user:
                        type: object
                        properties:
                          id:
                            type: integer
                            example: 1
                          openid:
                            type: string
                            example: wx_123456789
                          nickname:
                            type: string
                            example: 微信昵称
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                openid:
                  type: string
                  description: 微信openid.
                  example: wx_123456789
                  nullable: false
              required:
                - openid
  /api/account/logout:
    post:
      summary: '[账户管理] 用户退出'
      operationId: ''
      description: 退出当前账户登录状态
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 200
                  message: 退出成功
                  data: null
                properties:
                  code:
                    type: integer
                    example: 200
                  message:
                    type: string
                    example: 退出成功
                  data:
                    type: string
                    example: null
      tags:
        - Endpoints
  /api/account:
    delete:
      summary: '[账户管理] 用户注销'
      operationId: ''
      description: 永久注销当前账户
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 200
                  message: 注销成功
                  data: null
                properties:
                  code:
                    type: integer
                    example: 200
                  message:
                    type: string
                    example: 注销成功
                  data:
                    type: string
                    example: null
      tags:
        - Endpoints
  /api/user/withdraw:
    post:
      summary: '[用户管理] 用户提现'
      operationId: ''
      description: 提现用户的余额
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 200
                  message: 提现成功
                  data: null
                properties:
                  code:
                    type: integer
                    example: 200
                  message:
                    type: string
                    example: 提现成功
                  data:
                    type: string
                    example: null
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: decimal
                  description: 提现金额.
                  example: '100.00'
                  nullable: false
  /api/user/feedback:
    post:
      summary: '[用户管理] 用户反馈'
      operationId: ''
      description: 提交用户的反馈信息
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 200
                  message: 提交成功
                  data: null
                properties:
                  code:
                    type: integer
                    example: 200
                  message:
                    type: string
                    example: 提交成功
                  data:
                    type: string
                    example: null
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                content:
                  type: string
                  description: 反馈内容.
                  example: 这是一个反馈信息
                  nullable: false
  /api/user/apply-coach:
    post:
      summary: '[用户管理] 申请成为技师'
      operationId: ''
      description: 申请成为技师
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 200
                  message: 申请成功
                  data: null
                properties:
                  code:
                    type: integer
                    example: 200
                  message:
                    type: string
                    example: 申请成功
                  data:
                    type: string
                    example: null
      tags:
        - Endpoints
tags:
  -
    name: Endpoints
    description: ''
components:
  securitySchemes:
    default:
      type: http
      scheme: bearer
      description: '通过登录接口获取 token，格式为 Bearer {token}'
security:
  -
    default: []
