• swagger-open api 手动编写规范


    参考资料

    coding swagger3.0doc 编辑器
    文档 链接 Swagger Editor

    info

    基本结构

    所有关键字名称均区分大小写。

    元数据

    每个API定义都必须包括该定义基于的OpenAPI规范版本:

    openapi: 3.0.0
    

    OpenAPI版本定义了API定义的整体结构-您可以记录什么以及如何记录它。OpenAPI 3.0使用具有三部分版本号的语义版本控制。的可用版本是3.0.0,3.0.1,3.0.2,和3.0.3; 它们在功能上是相同的。
    info节包含API信息:titledescription(可选)version、:

    info:
      title: Sample API
      description: Optional multiline or single-line description in [CommonMark](http://commonmark.org/help/) or HTML.
      version: 0.1.9
    

    title是您的API名称。description是有关您的API的扩展信息。它可以是多行,并支持Markdown的CommonMark方言以表示富文本。在CommonMark提供的范围内支持HTML(请参阅CommonMark 0.27规范中的HTML块)。是一个任意字符串,用于指定API的版本(请勿将其与文件修订或版本混淆)。您可以使用诸如major.minor.patch之类的语义版本控制,或诸如1.0-beta或2017-07-25之类的任意字符串。 versionopenapiinfo 还支持其他关键字,用于联系信息,许可证,服务条款和其他详细信息。
    伺服器
    servers部分指定API服务器和基本URL。您可以定义一台或多台服务器,例如生产服务器和沙箱。

    servers:
      - url: http://api.example.com/v1
        description: Optional server description, e.g. Main (production) server
      - url: http://staging-api.example.com
        description: Optional server description, e.g. Internal staging server for testing
    

    所有API路径均相对于服务器URL。在上面的示例中,/users表示http://api.example.com/v1/users或http://staging-api.example.com/users,具体取决于所使用的服务器。有关更多信息,请参见API服务器和基本路径。

    路径
    paths部分定义了API中的各个端点(路径),以及这些端点支持的HTTP方法(操作)。例如,GET /users可以描述为:

    paths:
      /users:
        get:
          summary: Returns a list of users.
          description: Optional extended description in CommonMark or HTML
          responses:
            '200':
              description: A JSON array of user names
              content:
                application/json:
                  schema: 
                    type: array
                    items: 
                      type: string
    

    操作定义包括参数,请求正文(如果有),可能的响应状态代码(例如200 OK或404未找到)和响应内容。有关更多信息,请参见路径和操作。

    openapi: 3.0.0
    info:
      title: EDP Skip APP API
      version: 1.0.0
      description: |
        公共的请求错误码对应描述如下:
          - 401: 授权失败,当用户access_token失效;
          - 404: 页面不存在;
          - 500: 服务器错误
         
    tags: 
      - name: security
        description: 安全
      - name: account
        description: 账户å
      - name: notification
        description: 通知  
      - name: coupon
        description: 优惠券   
      - name: notice
        description: 告示     
      - name: booking
        description: 预约 
      - name: order
        description: 订单 
      - name: setting
        description: 设置   
      - name: file
        description: 文件     
       
    paths:
      #Security Module
      /password_sessions:
        post:
          tags:
            - security
          summary: 密码登陆
          requestBody:
            content:
              application/json:
                schema:
                  type: object
                  properties:
                    account:
                      type: string
                      description: "账户(email or mobile)"
                    password:
                      type: string
                      description: "密码"
          responses:
            "200":
             description: ""
             content:
               application/json:
                      schema:
                        properties:
                          id:
                            type: integer
                            description: "用户ID"
                          access_token:
                            type: string
                            description: "API调用凭证"
                          role_type:
                            type: integer
                            description: "角色类型:0位顾客;1为职员(用户角色为职员时access_token为空,需要在调用职员登录API)"
                          recycle_company_name:
                            type: string
                            description: "回收公司名称"
                          recycle_company_city_name:
                            type: string
                            description: "回收公司地区名称"
                          recycle_company_group_name:
                            type: string
                            description: "回收公司小组名称"
                         
                          
                          
            "400":
              description: 错误信息(含多种情况)
              content:
                application/json:
                  examples:
                    EMAIL_OR_MOBILE_EMPTY:
                      summary: "邮件/电话為空"
                      value:
                        error_code: "EMAIL_OR_MOBILE_EMPTY"
                        error_msg: "請輸入Email/電話"
                    PASSWORD_EMPTY:
                      summary: "密碼為空"
                      value:
                        error_code: "PASSWORD_EMPTY"
                        error_msg: "請輸入密碼"
                    ACCOUNT_IS_NOT_EXIST:
                      summary: "账户不存在"
                      value:
                        error_code: "ACCOUNT_IS_NOT_EXIST"
                        error_msg: "账户不存在"
                    ACCOUNT_PASSWORD_ERRPR:
                      summary: "帳號或密碼錯誤"
                      value:
                        error_code: "ACCOUNT_PASSWORD_ERRPR"
                        error_msg: "帳號或密碼錯誤"    
      
      /sms_sessions:
        post:
          tags:
            - security
          summary: 短信登陆
          requestBody:
            content:
              application/json:
                schema:
                  type: object
                  properties:
                    mobile:
                      type: string
                      description: "电话"
                    verify_code:
                      type: string
                      description: "验证码"
          responses:
            "200":
             description: ""
             content:
               application/json:
                      schema:
                        properties:
                          id:
                            type: integer
                            description: "用户ID"
                          access_token:
                            type: string
                            description: "API调用凭证"
                          role_type:
                            type: integer
                            description: "角色类型:0位顾客;1为职员"  
                           
                          
            "400":
              description: 错误信息(含多种情况)
              content:
                application/json:
                  examples:
                    MOBILE_EMPTY:
                      summary: "电话為空"
                      value:
                        error_code: "MOBILE_EMPTY"
                        error_msg: "請輸入電話"
                    VERIFY_CODE_EMPTY:
                      summary: "验证码為空"
                      value:
                        error_code: "VERIFY_CODE_EMPTY"
                        error_msg: "验证码為空"
                    ACCOUNT_IS_NOT_EXIST:
                      summary: "账户不存在"
                      value:
                        error_code: "ACCOUNT_IS_NOT_EXIST"
                        error_msg: "账户不存在"
                    VERIFY_CODE_ERRPR:
                      summary: "验证码错误"
                      value:
                        error_code: "VERIFY_CODE_ERRPR"
                        error_msg: "验证码错误"    
       
      /staff_sessions:
        post:
          tags:
            - security
          summary: 职员登陆
          requestBody:
            content:
              application/json:
                schema:
                  type: object
                  properties:
                    account:
                      type: string
                      description: "账户(email or mobile)"
                    password:
                      type: string
                      description: "密码"
                    staff_employee_no:
                      type: string
                      description: "职员编号"  
          responses:
            "200":
             description: ""
             content:
               application/json:
                      schema:
                        properties:
                          id:
                            type: integer
                            description: "用户ID"
                          access_token:
                            type: string
                            description: "API调用凭证"
                          
                          
                          
            "400":
              description: 错误信息(含多种情况)
              content:
                application/json:
                  examples:
                    EMAIL_OR_MOBILE_EMPTY:
                      summary: "邮件/电话為空"
                      value:
                        error_code: "EMAIL_OR_MOBILE_EMPTY"
                        error_msg: "請輸入Email/電話"
                    PASSWORD_EMPTY:
                      summary: "密碼為空"
                      value:
                        error_code: "PASSWORD_EMPTY"
                        error_msg: "請輸入密碼"
                    ACCOUNT_IS_NOT_EXIST:
                      summary: "账户不存在"
                      value:
                        error_code: "ACCOUNT_IS_NOT_EXIST"
                        error_msg: "账户不存在"
                    ACCOUNT_PASSWORD_ERRPR:
                      summary: "帳號或密碼錯誤"
                      value:
                        error_code: "ACCOUNT_PASSWORD_ERRPR"
                        error_msg: "帳號或密碼錯誤"    
      
      /sessions/$session_id:  
        delete:
          tags:
            - security
          summary: 登出
          operationId: logout
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: path
              name: session_id
              required: true
              schema:
                type: integer
                description: 用户id
              
          responses:
            '200':
              description: ""
      
      /verify_code:
        get:
          tags:
            - security
          summary: 发送短信验证码
          parameters:
            - in: query
              name: mobile
              required: true
              schema:
                type: integer
            - in: query
              name: zone
              required: true
              schema:
                type: integer  
              description: "区号"
                    
          responses:
            "200":
             description: ""
                          
            "400":
              description: 错误信息(含多种情况)
              content:
                application/json:
                  examples:
                    MOBILE_EMPTY:
                      summary: "电话為空"
                      value:
                        error_code: "MOBILE_EMPTY"
                        error_msg: "請輸入電話"
                    ZONE_EMPTY:
                      summary: "区号為空"
                      value:
                        error_code: "ZONE_EMPTY"
                        error_msg: "請輸入区号"    
                    
      /forget_password:
        patch:
          tags:
            - security
          summary: 忘记密码
          requestBody:
            content:
              application/json:
                schema:
                  type: object
                  properties:
                    mobile:
                      type: string
                      description: "电话"
                    verify_code:
                      type: string
                      description: "验证码"
                    new_password:
                      type: string
                      description: "新密码"
                    confirm_new_password:
                      type: string
                      description: "确认新密码"  
                    
          responses:
            "200":
             description: ""
                          
            "400":
              description: 错误信息(含多种情况)
              content:
                application/json:
                  examples:
                    VERIFY_CODE_EMPTY:
                      summary: "验证码为空"
                      value:
                        error_code: "VERIFY_CODE_EMPTY"
                        error_msg: "請輸入验证码" 
                    NEW_PASSWORD_EMPTY:
                      summary: "新电话为空"
                      value:
                        error_code: "NEW_PASSWORD_EMPTY"
                        error_msg: "請輸入電話" 
                    CONFIRM_PASSWORD_EMPTY:
                      summary: "电话為空"
                      value:
                        error_code: "CONFIRM_PASSWORD_EMPTY"
                        error_msg: "請輸入确认新密码"     
                    PASSWORD_INCONSISTENT:
                      summary: "密码不一致"
                      value:
                        error_code: "PASSWORD_INCONSISTENT"
                        error_msg: "密码不一致"         
      
      #Account Module
      /customers:
        post:
          tags:
            - account
          summary: 注册顾客
          requestBody:
            content:
              application/json:
                schema:
                  type: object
                  properties:
                    title_type:
                      type: integer
                      description: "称谓类型;0位先生;1为小姐;2位女士"
                    username:
                      type: string
                      description: "用户名"
                    mobile:
                      type: string
                      description: "电话"  
                    verify_code:
                      type: string
                      description: "验证码"    
          responses:
            "200":
             description: ""
             content:
               application/json:
                      schema:
                        properties:
                          id:
                            type: integer
                            description: "用户id"
                          access_token :
                            type: string
                            description: "API调用凭证"  
                          
            "400":
              description: 错误信息(含多种情况)
              content:
                application/json:
                  examples:
                    USERNAME_EMPTY:
                      summary: "名称為空"
                      value:
                        error_code: "USERNAME_EMPTY"
                        error_msg: "請輸入名稱 "
                    MOBILE_EMPTY:
                      summary: "电话為空"
                      value:
                        error_code: "MOBILE_EMPTY"
                        error_msg: "請輸入電話 "    
                    MOBILE_EXIST:
                      summary: "电话已存在"
                      value:
                        error_code: "MOBILE_EXIST"
                        error_msg: "电话已存在"
                    VERIFY_CODE_ERROR:
                      summary: "验证码错误"
                      value:
                        error_code: "VERIFY_CODE_ERROR"
                        error_msg: "验证码错误"    
                    
      /customer_profile:
        get:
          tags:
            - account
          summary: 获取顾客详情
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"
          responses:
            "200":
             description: ""
             content:
               application/json:
                      schema:
                        properties:
                          id:
                            type: integer
                            description: "用户id"
                          title_type:
                            type: integer
                            description: "称谓类型"
                          username:
                            type: string
                            description: "称谓类型;0位先生;1为小姐;2位女士"
                          email:
                            type: string
                            description: "电邮"
                          mobile:
                            type: string
                            description: "电话"  
                          company_name:
                            type: string
                            description: "公司名称" 
                        
        patch:
          tags:
            - account
          summary: 修改顾客资料
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"
          requestBody:
            content:
              application/json:
                schema:
                  type: object
                  properties:
                    title_type:
                      type: integer
                      description: "称谓类型;0位先生;1为小姐;2位女士"
                    username:
                      type: string
                      description: "名称"
                    company_name:
                      type: string
                      description: "公司名称"
                    email:
                      type: string
                      description: "电邮"
          responses:
            "200":
              description: ""
            "400":
              description: 错误信息(含多种情况)
              content:
                application/json:
                  examples:
                    EMAIL_FORMAT_ERROR:
                      summary: "邮件格式错误"
                      value:
                        error_code: "EMAIL_FORMAT_ERROR"
                        error_msg: "電郵格式不正確。"
      
      /customer_password:
        patch:
          tags:
            - account
          summary: 修改顾客密码
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"    
          requestBody:
            content:
              application/json:
                schema:
                  type: object
                  properties:
                    old_password:
                      type: string
                      description: "旧密码"
                    new_password:
                      type: string
                      description: "新密码"
                    confirm_new_password:
                      type: string
                      description: "确认密码"
                   
          responses:
            "200":
              description: ""
            "400":
              description: 错误信息(含多种情况)
              content:
                application/json:
                  examples:
                    OLD_PASSWORD_ERROR:
                      summary: "旧密码错误"
                      value:
                        error_code: "OLD_PASSWORD_ERROR"
                        error_msg: "現有密碼不正確"     
                    NEW_PASSWORD_EMPTY:
                      summary: "新密码为空"
                      value:
                        error_code: "NEW_PASSWORD_EMPTY"
                        error_msg: "新密码为空。"     
                    CONFIRM_NEW_PASSWORD_EMPTY:
                      summary: "确认新密码为空"
                      value:
                        error_code: "CONFIRM_NEW_PASSWORD_EMPTY"
                        error_msg: "确认新密码为空。"         
      
      /customers/$customer_id/dislike_histories:
         get:
          tags:
            - account
          summary: 获取顾客差评记录
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"    
          responses:
            "200":
             description: ""
             content:
               application/json:
                      schema:
                        properties:
                          date:
                            type: string
                            description: "日期"
                          dislike_reason_name:
                            type: string
                            description: "差评原因"
                          collection_location_name:
                            type: number
                            description: "收集点名称"  
                         
      /staff_profile:
        get:
          tags:
            - account
          summary: 获取职员详情
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"    
            
                
          responses:
            "200":
             description: ""
             content:
               application/json:
                      schema:
                        properties:
                          id:
                            type: integer
                            description: "用户id"
                          name:  
                            type: string
                            description: "职员名称"
                          employee_no:
                            type: string
                            description: "职员工号"
                          recycle_company_name:
                            type: string
                            description: "回收公司名称"
                          recycle_company_city_name:
                            type: string
                            description: "回收公司城市名称"
                             
                            
    
      #Notification Module
      /notifications:
        get:
          tags:
            - notification
          summary: 获取通知列表
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"    
            - $ref: '#/components/parameters/limitParam'
            - $ref: '#/components/parameters/pageParam'    
          responses:
            "200":
             description: ""
             content:
               application/json:
                      schema:
                        type: array
                        items:
                          properties:
                            id:
                              type: integer
                              description: "通知id"
                            order_number:
                              type: string
                              description: "订单编号"
                            booking_collection_start_time:
                              type: string
                              description: "预约收集开始时间"
                            booking_collection_end_time:
                              type: string
                              description: "预约收集结束时间"  
                            order_status:
                              type: integer
                              description: "订单状态:0 is pending ; 1 is no_collection ; 2 is completed ; 3 is cancel ; 4 is comment"
                            collection_locaiton_name:
                              type: string
                              description: "收集点名称"  
                            decoration_address_name:
                              type: string
                              description: "装修地址全称"    
                            create_at:
                              type: string
                              description: "发送时间"      
      
      #post 上传远程推送token
      /remote_push_tokens:
        post:
          tags:
            - notification
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string  
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"
                
          summary: 上传远程推送token
          requestBody:
            content:
              application/json:
                schema:
                  type: object
                  properties:
                    type:
                      type: integer
                      description: "远程推送类型:0为android ; 1为ios"
                    token:
                      type: string
                      description: "远程推送token"
          responses:
            "200":
             description: ""
              
      #Coupon Module
      /coupons:
        get:
          tags:
            - coupon
          summary: 获取优惠券列表
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"    
            - in: query
              name: customer_id
              required: false
              schema:
                type: integer  
              description: "顾客id(当前用户角色类型为司机时才需要传递)"      
          responses:
            "200":
             description: ""
             content:
               application/json:
                      schema:
                        type: array
                        items:
                          properties:
                            id:
                              type: integer
                              description: "顾客领取优惠券记录id"
                            coupon_id:
                              type: integer
                              description: "优惠券id"  
                            recycle_company_id:
                              type: integer
                              description: "回收公司id"  
                            recycle_company_name:
                              type: string
                              description: "回收公司名称"
                            recycle_company_city_name:
                              type: string
                              description: "回收公司地区名称"
                            each_like_to_change:
                              type: integer
                              description: "获取一张优惠券所需要的好评数量"
                            current_like_quantity:
                              type: integer
                              description: "顾客当前这个公司的好评数量"  
                            unit_amount:
                              type: integer
                              description: "优惠券单价"
                            issued_quantity:
                              type: integer
                              description: "已发放优惠券数量"  
                            start_weight:
                              type: integer
                              description: "起步吨数"
                            each_weight_to_use:
                              type: number
                              description: "允许使用1张优惠券的每吨重量数"    
                            receive_at:
                              type: string
                              description: "优惠券领取时间"  
                            
                              
                            
      /coupons/$coupon_id:
        get:
          tags:
            - coupon
          summary: 获取优惠券详情
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"       
            - in: path
              name: coupon_id
              required: true
              schema:
                type: integer    
              
          responses:
            "200":
             description: ""
             content:
               application/json:
                      schema:
                        properties:
                          id:
                            type: integer
                            description: "id"
                          recycle_company_name:
                            type: string
                            description: "回收公司名称"
                          recycle_company_city_name:
                            type: string
                            description: "回收公司地区名称"
                          start_weight:
                            type: integer
                            description: "起步吨数"
                          each_weight_to_use:
                            type: integer
                            description: "允许使用1张优惠券的每吨重量数"  
                          each_like_to_change:
                            type: integer
                            description: "获取一张优惠券所需要的好评数量"
                          max_amount_limit:
                            type: integer
                            description: "优惠券最多发放金额限制"  
                          unit_amount:
                            type: integer
                            description: "优惠券定额金额" 
                          summary:
                            type: string
                            description: "摘要" 
                           
                            
      #Notice Module
      /term_and_condition:
        get:
          tags:
            - notice
          summary: 获取条款及细则内容
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"     
          responses:
            "200":
             description: ""
             content:
               text/html:
                  schema:
                      type: string
                      description: "富文本编辑内容"
                      example: "废物产生者 使用者守则"
                              
      /important_notice:
        get:
          tags:
            - notice
          summary: 获取重要告示内容
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"     
          responses:
            "200":
             description: ""
             content:
               text/html:
                  schema:
                      type: string
                      description: "富文本编辑内容"
                      example: "无障碍网页设计声明"
      
      /use_notice:
        get:
          tags:
            - notice
          summary: 获取使用须知
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"     
          responses:
            "200":
             description: ""
             content:
               text/html:
                  schema:
                      type: string
                      description: "富文本编辑内容"
                      example: "使用须知"                
             
      #Booking Module 
      /booking_notice:
        get:
          tags:
            - booking
          summary: 获取预约公告内容
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"       
              
          responses:
            "200":
             description: ""
             content:
               text/html:
                  schema:
                      type: string
                      description: "富文本编辑内容"
                      example: "手机建筑废物-下单通知"
                            
      /nearby_collection_locations:  
        get:
            tags:
              - booking
            summary: 获取附近的收集点
            parameters:
              - in: cookie
                name: access_token
                required: true
                schema:
                  type: string
              - in: cookie
                name: role_type
                required: true
                schema:
                  type: integer  
                description: "角色类型:0表示顾客;1表示司机"       
              - in: query
                name: longitude
                required: true
                schema:
                  type: number
                description: "当前位置:经度"  
              - in: query
                name: latitude
                required: true
                schema:
                  type: number    
                description: "当前位置:维度"  
              - $ref: '#/components/parameters/limitParam'
              - $ref: '#/components/parameters/pageParam'    
            responses:
              "200":
               description: ""
               content:
                 application/json:
                        schema:
                          type: array
                          items:
                            properties:
                              id:
                                type: integer
                                description: "id"
                              recycle_company_name:
                                type: string
                                description: "回收公司名称"
                              name:
                                type: string
                                description: "收集点名称"
                              about_distance:
                                type: number
                                description: "大约距离"
                              longitude:
                                type: number
                                description: "收集点-经度"  
                              latitude:
                                type: number
                                description: "收集点-维度"  
      
      /collection_locations/$collection_location_id/service_calendars:
        get:
          tags:
            - booking
          summary: 获取收集点的营运日历
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"      
            - in: path
              name: collection_location_id
              required: true
              schema:
                type: integer  
              description: "收集点id"        
            
          responses:
            "200":
             description: ""
             content:
               application/json:
                      schema:
                        type: array
                        items:
                          properties:
                            id:
                              type: integer
                              description: "id"
                            working_day:
                              type: string
                              description: "工作日"
                            times:
                              type: array
                              items:
                                  type: string
                                  description: "时间"
                                  
      
      /collection_locations:
        get:
          tags:
            - order
          summary: 获取当前职员所有收集点
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"      
           
            
          responses:
            "200":
             description: ""
             content:
               application/json:
                      schema:
                        type: array
                        items:
                          properties:
                            id:
                              type: integer
                              description: "id"
                            name:
                              type: string
                              description: "收集点名称"
      /available_booking_times:
        get:
          tags:
            - order
          summary: 获取可预约的下单时间(服务器根据当前时间显示在这之后的时间)
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"      
           
            
          responses:
            "200":
             description: ""
             content:
               application/json:
                      schema:
                        type: array
                        items:
                          properties:
                            id:
                              type: integer
                              description: "id"
                            start_time:
                              type: string
                              example: "14:00"
                              description: "开始时间"
                            end_time:
                              type: string
                              example: "14:30"
                              description: "结束时间"  
                            booked_collection_loction_name:
                              type: string
                              example: "文咸东街100号"
                               
      
      #Order Module   
      /orders:
        get:
          tags:
            - order
          summary: 获取订单列表
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"          
            - in: query
              name: book_date_gt
              required: false
              schema:
                type: string
              description: 预约开始日期
            - in: query
              name: booking_date_lt
              required: false
              schema:
                type: string
              description: 预约结束日期
            - in: query
              name: status
              required: false
              description: 订单状态:0 is pending ; 1 is no_collection ; 2 is completed ; 3 is cancel ; 4 is comment(不传递时,默认返回请求者的所有订单数据)
              schema:
                type: string    
            - $ref: '#/components/parameters/limitParam'
            - $ref: '#/components/parameters/pageParam'    
          responses:
            "200":
             description: ""
             content:
               application/json:
                      schema:
                        type: array
                        items:
                          properties:
                            id:
                              type: integer
                              description: "订单id"
                            order_number:
                              type: string
                              description: "订单编号"
                            decoration_location_name:
                              type: string
                              description: "装修位置名称"
                            collection_location_name:
                              type: number
                              description: "收集点名称"  
                            collection_location_longitude:
                              type: number
                              description: "收集点经度"  
                            collection_location_latitude:
                              type: integer
                              description: "收集点维度"    
                            booking_collection_start_time:
                              type: string
                              description: "预约收集开始时间"
                            booking_collection_end_time:
                              type: string
                              description: "预约收集结束时间"
                            actual_cost:
                              type: number
                              description: "实付金额"   
                            customer_name:
                              type: string
                              description: :"顾客名称"
                            customer_mobile:
                              type: string
                              description: :"顾客电话"
                            customer_non_inert_waste_quantity:
                              type: integer
                              description: :"顾客预计惰性废物数量(袋)"
                            customer_insert_waste_quantity:
                              type: integer
                              description: :"顾客预计惰性废物数量(袋)"  
                            is_like:
                              type: boolean
                              description: :"是否好评;0为差评;1为好评" 
                            dislike_reason_name:
                              type: string
                              description: :"差评原因名称"
        
        post:
          tags:
            - order
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"    
          summary: 生成订单
          requestBody:
            content:
              application/json:
                schema:
                  type: object
                  properties:
                    decoration_city_id:
                      type: integer
                      description: "装修城市id"
                    decoration_area_id:
                      type: integer
                      description: "装修区域id"
                    decoration_street:
                      type: string
                      description: "装修地址街道"
                    decoration_address:
                      type: string
                      description: "装修地址单位、大厦、座"
                    collection_location_id:
                      type: integer
                      description: "收集点id"  
                    booking_collection_start_time:
                      type: string
                      description: "预约收集开始"
                    
                    customer_non_inert_waste_quantity:
                      type: integer
                      description: "顾客预计非惰性废物数量(袋)"  
                    customer_insert_waste_quantity:
                      type: integer
                      description: "顾客预计惰性废物数量(袋)"    
                    order_images:
                      type: array
                      items:
                        properties:
                          path:
                            type: string
                            description: "图片绝对路径"
                          type:
                            type: integer
                            description: "图片类型:0为顾客上传的图片;1为司机上传的备注图片;2为司机上传的差评图片"  
                    customer_voice_path:
                       type: integer
                       description: "顾客语音语音绝对文件路径"    
                    customer_additional_info:
                       type: integer
                       description: "顾客补充资料" 
                    
                      
          responses:
            "200":
             description: ""
             content:
               application/json:
                      schema:
                        properties:
                          id:
                            type: integer
                            description: "订单id"
                          order_numebr:
                            type: string
                            description: "订单编号"
      
      /orders/$order_id:
        get:
          tags:
            - order
          summary: 获取订单详情
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"    
            - in: path
              name: order_id
              required: true
              description: 订单id
              schema:
                type: string    
      
          responses:
            "200":
             description: ""
             content:
               application/json:
                      schema:
                        properties:
                          id:
                            type: integer
                            description: "订单id"
                          customer_name:
                            type: string
                            description: "顾客名称"
                          customer_mobile:
                            type: string
                            description: "顾客电话"  
                          order_number:
                            type: string
                            description: "订单编号"
                          status:
                            type: integer
                            description: 订单状态:0 is pending ; 1 is no_collection ; 2 is completed ; 3 is cancel ; 4 is comment
                          is_like:
                            type: boolean
                            description: "是否好评;0为差评;1为好评"
                          dislike_reason_name:
                            type: string
                            description: "差评原因"  
                          decoration_location_name:
                            type: integer
                            description: "装修地址名称"
                         
                          collection_location_name:
                            type: number
                            description: "收集点名称"  
                          collection_location_longitude:
                            type: number
                            description: "收集点经度"  
                          collection_location_latitude:
                            type: integer
                            description: "收集点维度"    
                          booking_collection_start_time:
                            type: string
                            description: "预约收集开始时间"
                          booking_collection_end_time:
                            type: string
                            description: "预约收集结束时间"
                         
                          
                          customer_non_inert_waste_quantity:
                            type: integer
                            description: "顾客预计惰性废物数量(袋)"    
                          customer_insert_waste_quantity:
                            type: integer
                            description: "顾客预计惰性废物数量(袋)"    
                          customer_voice_path:
                            type: string
                            description: "顾客语音语音绝对文件路径"    
                          customer_additional_info:
                            type: string
                            description: "顾客补充资料" 
                          predict_cost:
                            type: string
                            description: "预计收费" 
                          order_images:
                            type: array
                            items:
                              properties:
                                path:
                                  type: string
                                  description: "上传图片绝对路径"
                                type:
                                  type: integer
                                  description: "图片类型:0为顾客上传的图片;1为司机上传的备注图片;2为司机上传的差评图片"  
                          
                          staff_non_inert_waste_quantity:
                            type: number
                            description: "职员预计惰性废物数量(袋)"    
                          staff_insert_waste_quantity:
                            type: number
                            description: "职员预计惰性废物数量(袋)"    
                          staff_voice_path:
                            type: string
                            description: "职员语音语音绝对文件路径"    
                          staff_additional_info:
                            type: string
                            description: "职员补充资料"     
                          origianl_cost:
                            type: number
                            description: "原价"     
                          coupon_cost:
                            type: number
                            description: "优惠价格" 
                          actual_cost:
                            type: number
                            description: "实付价格" 
                          payment_type:
                            type: integer
                            description: "付款类型 :0为现金;1为百达通" 
                          total_like:
                            type: integer
                            description: "好评总数" 
                          total_dislike:
                            type: integer
                            description: "差评总数"   
                          total_completed_order:  
                            type: integer
                            description: "完成订单总数"
                          total_no_collection_order:  
                            type: integer
                            description: "未完成订单总数"
                          total_cancel_order:  
                            type: integer
                            description: "取消订单总数"  
                            
        patch:
          tags:
            - order
          summary: 修改订单
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"    
          requestBody:
            content:
              application/json:
                schema:
                  type: object
                  properties:
                    booking_collection_start_time:
                      type: string
                      description: "预约收集开始时间"
                    booking_collection_end_time:
                      type: string
                      description: "预约收集结束时间"  
                    collection_locaiton_id:
                      type: integer
                      description: "收集点id"    
                   
          responses:
            "200":
              description: ""                          
              
      /score_order_requests:
        post:
          tags:
            - order
          summary: 订单评分
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"    
          requestBody:
            content:
              application/json:
                schema:
                  type: object
                  properties:
                    order_id:
                      type: integer
                      description: "订单id"
                    is_like:
                      type: boolean
                      description: "是否好评;0为差评;1为好评"
                    dislike_reason_id:
                      type: integer
                      description: "差评原因id"
                    order_images:
                      type: array
                      items:
                        properties:
                          path:
                            type: string
                            description: 差评图片绝对路径
                          type:
                            type: integer
                            description: 图片类型:0为顾客上传的图片;1为司机上传的备注图片;2为司机上传的差评图片  
                   
                   
          responses:
            "200":
              description: ""
            
      /reject_order_requests:
        post:
          tags:
            - order
          summary: 拒绝订单
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"    
          requestBody:
            content:
              application/json:
                schema:
                  type: object
                  properties:
                    order_id:
                      type: integer
                      description: "订单id"
                    reject_reason_id:
                      type: integer
                      description: "拒绝原因id"
                   
          responses:
            "200":
              description: ""
      
      /accept_order_requests:
        post:
          tags:
            - order
          summary: 接受订单
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"
          requestBody:
            content:
              application/json:
                schema:
                  type: object
                  properties:
                    order_id:
                      type: integer
                      description: "订单id"
                   
               
          responses:
            "200":
              description: ""
              
      /cancel_order_requests:
        post:
          tags:
            - order
          summary: 取消订单
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"    
          requestBody:
            content:
              application/json:
                schema:
                  type: object
                  properties:
                    cancel_reason_id:
                      type: integer
                      description: "取消原因id"
                    order_id:
                      type: integer
                      description: "订单id"  
                   
          responses:
            "200":
              description: ""        
      
      /quotations:
        post:
          tags:
            - order
          summary: 订单报价
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"    
          requestBody:
            content:
              application/json:
                schema:
                  type: object
                  properties:
                    order_id:
                      type: integer
                      description: "订单id"
                    coupon_record_ids:
                      type: array
                      items: 
                        type: integer
                        description: "优惠券id"
                    coupon_cost:
                      type : string
                      description: "优惠券抵扣金额"
                    staff_non_inert_waste_weight:
                      type: number
                      description: "职员非惰性废物重量(顿)"
                    staff_insert_waste_weight:
                      type: number
                      description: "职员惰性废物重量(顿)"
                    staff_voice_path:
                      type: string
                      description: "职员语音文件绝对路径"
                    staff_additional_info:
                      type: string
                      description: "职员补充资料"
                    payment_type:
                      type: integer
                      description: "付款类型 :0为现金;1为百达通"
                    order_images:
                      type: array
                      items:
                        properties:
                          path:
                            type: string
                            description: "图片绝对路径"
                          type:
                            type: integer
                            description: "图片类型:0为顾客上传的图片;1为司机上传的备注图片;2为司机上传的差评图片"  
                    
                   
          responses:
            "200":
              description: ""        
      
      /accept_quotations:
        post:
          tags:
            - order
          summary: 接收报价
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"
          responses:
            "200":
              description: ""                
      
      /orders/$order_id/reject_quotations:
        post:
          tags:
            - order
          summary: 拒绝报价
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"
          requestBody:
              content:
                application/json:
                  schema:
                    type: object
                    properties:
                      order_id:
                        type: integer
                        description: "订单id"       
                   
          responses:
            "200":
              description: ""                        
      
      /complete_order_requests:
        post:
          tags:
            - order
          summary: 完成订单
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机" 
          requestBody:
            content:
              application/json:
                schema:
                  type: object
                  properties:
                    order_id:
                      type: integer
                      description: "订单id"
                    plate_number:
                      type: string
                      description: "车牌号码"     
                    skip_number:
                      type: string
                      description: "环保斗编号"     
                    classification_field_number:
                      type: string
                      description: "分类场编号(分类场职员填写)"      
                   
          responses:
            "200":
              description: ""        
      
      /order_cancel_reasons:
        get:
          tags:
            - order
          summary: 获取订单取消原因(后台根据请求者角色独立显示)
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"        
          responses:
            "200":
             description: ""
             content:
               application/json:
                      schema:
                        type: array
                        items:
                          properties:
                            id:
                              type: integer
                              description: "id"
                            name:
                              type: string
                              description: "原因名称"
      
      /order_reject_reasons:
        get:
          tags:
            - order
          summary: 获取订单拒绝原因
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"            
          responses:
            "200":
             description: ""
             content:
               application/json:
                      schema:
                        type: array
                        items:
                          properties:
                            id:
                              type: integer
                              description: "id"
                            name:
                              type: string
                              description: "原因名称"                        
                              
      /order_dislike_reasons:
        get:
          tags:
            - order
          summary: 获取订单差评原因
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"            
          responses:
            "200":
             description: ""
             content:
               application/json:
                      schema:
                        type: array
                        items:
                          properties:
                            id:
                              type: integer
                              description: "id"
                            name:
                              type: string
                              description: "原因名称"                                                
                            
      #Setting Module
      /cities:
        get:
          tags:
            - setting
          summary: 获取城市列表
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"            
          responses:
            "200":
             description: ""
             content:
               application/json:
                      schema:
                        type: array
                        items:
                          properties:
                            id:
                              type: integer
                              description: "id"
                            name:
                              type: string
                              description: "城市名称"
                              
      /cities/$city_id/districts:
        get:
          tags:
            - setting
          summary: 获取城市对应区域列表
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: path
              name: city_id
              required: true
              schema:
                type: integer 
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"            
          responses:
            "200":
             description: ""
             content:
               application/json:
                      schema:
                        type: array
                        items:
                          properties:
                            id:
                              type: integer
                              description: "id"
                            name:
                              type: string
                              description: "区域名称"                                             
                              
      /app_banners:
        get:
          tags:
            - setting
          summary: 获取APP横幅列表
          parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            - in: cookie
              name: role_type
              required: true
              schema:
                type: integer  
              description: "角色类型:0表示顾客;1表示司机"            
          responses:
            "200":
             description: ""
             content:
               application/json:
                      schema:
                        type: array
                        items:
                          properties:
                            id:
                              type: integer
                              description: "id"
                            title:
                              type: string
                              description: "标题"  
                            image_path:
                              type: string
                              description: "横幅图片绝对地址"
                            url:
                              type: string
                              description: "跳转地址"
      
       #File Module
      "/files":
        post:
            tags:
              - file
            summary: 上传文件
            parameters:
            - in: cookie
              name: access_token
              required: true
              schema:
                type: string
            requestBody:
              content:
                multipart/form-data:
                  schema:
                    type: object
                    properties:
                        key:
                         type : string 
                         description: "file" 
                        value:
                         type : string 
                         description: "local file" 
                      
            responses:
             "200":
                description: ""
                content:
                  text/plain:
                        schema:
                          type: string
                          example: https://image.baidu.com/search/detail?ct=503316480
                           
    #定义实体对象  
    components: 
      parameters:
        pageParam:
          in: query
          name: _page
          required: true
          description: 从第几页开始取
          schema:
            type: integer
        limitParam:
          in: query
          name: _limit
          required: true
          description: 最多返回多少条
          schema:
            type: integer
      #schemas:
        
    
      schemas:
    
    # iOS&Android 推送
        RemoteNotificationExtraData:
          type: object
          description: 远程推送消息的额外数据,请放在远程推送消息的'data'属性下
          properties:
            notification_type:
              type: number
              description: >-
                notification type, 
                0:订单状态改变;
                1:司机报价;
            extra_data:
              type: string
              description: >-
                notification type, 
                0,1:Return order_id;
    
  • 相关阅读:
    理解和学习qml
    (离线)英语词典软件推荐
    Ubuntu:安装deb文件包以及deb卸载
    mac man汉化方法
    Linux中文件和目录的权限(r, w, x)
    解决mac休眠掉电的解决方法
    线程池之ThreadPool与ForkJoinPool
    程序员的知识焦虑
    回顾2018,展望2019
    NIO基础学习——缓冲区
  • 原文地址:https://www.cnblogs.com/yaoliuyang/p/14003612.html
Copyright © 2020-2023  润新知