{
    "swagger": "2.0",
    "info": {
        "title": "Health Manage API",
        "description": "\u5065\u5eb7\u7ba1\u7406\u5e73\u53f0 API \u6587\u6863",
        "contact": {
            "name": "Admin",
            "email": "admin@example.com"
        },
        "version": "1.0.0"
    },
    "host": "api.health.huarendjk.com",
    "basePath": "/api",
    "schemes": [
        "http",
        "https"
    ],
    "consumes": [
        "application/json"
    ],
    "produces": [
        "application/json"
    ],
    "paths": {
        "/login": {
            "post": {
                "tags": [
                    "\u767b\u5f55\u8ba4\u8bc1"
                ],
                "summary": "\u7528\u6237\u767b\u5f55",
                "description": "\u7528\u6237\u767b\u5f55\u63a5\u53e3\uff0c\u8fd4\u56de\u7528\u6237\u4fe1\u606f\u53ca api_token",
                "operationId": "login",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "description": "\u767b\u5f55\u53c2\u6570",
                        "required": true,
                        "schema": {
                            "properties": {
                                "vcode": {
                                    "description": "\u56fe\u5f62\u9a8c\u8bc1\u7801",
                                    "type": "string",
                                    "example": "1234"
                                },
                                "vkey": {
                                    "description": "\u9a8c\u8bc1\u7801key",
                                    "type": "string",
                                    "example": ""
                                },
                                "username": {
                                    "description": "\u7528\u6237\u540d",
                                    "type": "string",
                                    "example": "admin"
                                },
                                "password": {
                                    "description": "\u5bc6\u7801",
                                    "type": "string",
                                    "example": "123456"
                                }
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "\u767b\u5f55\u6210\u529f",
                        "schema": {
                            "properties": {
                                "code": {
                                    "type": "integer",
                                    "example": 200
                                },
                                "message": {
                                    "type": "string",
                                    "example": "success"
                                },
                                "data": {
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "example": 1
                                        },
                                        "username": {
                                            "type": "string",
                                            "example": "admin"
                                        },
                                        "api_token": {
                                            "type": "string",
                                            "example": "xxx"
                                        },
                                        "role_list": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "\u8bf7\u6c42\u53c2\u6570\u9519\u8bef"
                    },
                    "429": {
                        "description": "\u5c1d\u8bd5\u6b21\u6570\u8fc7\u591a"
                    }
                }
            }
        },
        "/members/list": {
            "get": {
                "tags": [
                    "\u60a3\u8005\u7ba1\u7406"
                ],
                "summary": "\u60a3\u8005\u5217\u8868",
                "description": "\u83b7\u53d6\u60a3\u8005\u5206\u9875\u5217\u8868",
                "operationId": "memberList",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "\u9875\u7801",
                        "required": true,
                        "type": "integer",
                        "default": 1
                    },
                    {
                        "name": "page_size",
                        "in": "query",
                        "description": "\u6bcf\u9875\u6570\u91cf",
                        "required": false,
                        "type": "integer",
                        "default": 15
                    },
                    {
                        "name": "keyword",
                        "in": "query",
                        "description": "\u641c\u7d22\u5173\u952e\u8bcd",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "\u8bf7\u6c42\u6210\u529f",
                        "schema": {
                            "properties": {
                                "code": {
                                    "type": "integer",
                                    "example": 200
                                },
                                "message": {
                                    "type": "string",
                                    "example": "success"
                                },
                                "data": {
                                    "properties": {
                                        "total": {
                                            "type": "integer",
                                            "example": 100
                                        },
                                        "per_page": {
                                            "type": "integer",
                                            "example": 15
                                        },
                                        "current_page": {
                                            "type": "integer",
                                            "example": 1
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "\u8bf7\u6c42\u53c2\u6570\u9519\u8bef"
                    }
                }
            }
        },
        "/members/detail": {
            "get": {
                "tags": [
                    "\u60a3\u8005\u7ba1\u7406"
                ],
                "summary": "\u60a3\u8005\u8be6\u60c5",
                "description": "\u83b7\u53d6\u60a3\u8005\u8be6\u7ec6\u4fe1\u606f",
                "operationId": "memberDetail",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "\u60a3\u8005ID",
                        "required": true,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "\u8bf7\u6c42\u6210\u529f",
                        "schema": {
                            "properties": {
                                "code": {
                                    "type": "integer",
                                    "example": 200
                                },
                                "message": {
                                    "type": "string",
                                    "example": "success"
                                },
                                "data": {
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "example": 1
                                        },
                                        "realname": {
                                            "type": "string",
                                            "example": "\u5f20\u4e09"
                                        },
                                        "mobile": {
                                            "type": "string",
                                            "example": "13800138000"
                                        },
                                        "sex": {
                                            "description": "1\u75372\u5973",
                                            "type": "integer",
                                            "example": 1
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "\u8bf7\u6c42\u53c2\u6570\u9519\u8bef"
                    }
                }
            }
        },
        "/member/appointment/list": {
            "get": {
                "tags": [
                    "\u9884\u7ea6\u7ba1\u7406"
                ],
                "summary": "\u9884\u7ea6\u5217\u8868",
                "description": "\u83b7\u53d6\u60a3\u8005\u7684\u9884\u7ea6\u5217\u8868",
                "operationId": "appointmentList",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "member_id",
                        "in": "query",
                        "description": "\u60a3\u8005ID",
                        "required": true,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "\u8bf7\u6c42\u6210\u529f",
                        "schema": {
                            "properties": {
                                "code": {
                                    "type": "integer",
                                    "example": 200
                                },
                                "message": {
                                    "type": "string",
                                    "example": "success"
                                },
                                "data": {
                                    "type": "array",
                                    "items": {
                                        "type": "object"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "\u8bf7\u6c42\u53c2\u6570\u9519\u8bef"
                    }
                }
            }
        },
        "/member/appointment/submit": {
            "post": {
                "tags": [
                    "\u9884\u7ea6\u7ba1\u7406"
                ],
                "summary": "\u63d0\u4ea4\u9884\u7ea6",
                "description": "\u63d0\u4ea4\u60a3\u8005\u9884\u7ea6\u4fe1\u606f",
                "operationId": "appointmentSubmit",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "description": "\u9884\u7ea6\u53c2\u6570",
                        "required": true,
                        "schema": {
                            "properties": {
                                "member_id": {
                                    "description": "\u60a3\u8005ID",
                                    "type": "integer",
                                    "example": 1
                                },
                                "realname": {
                                    "description": "\u59d3\u540d",
                                    "type": "string",
                                    "example": "\u5f20\u4e09"
                                },
                                "mobile": {
                                    "description": "\u624b\u673a\u53f7",
                                    "type": "string",
                                    "example": "13800138000"
                                },
                                "sex": {
                                    "description": "1\u75372\u5973",
                                    "type": "integer",
                                    "example": 1
                                },
                                "birthday": {
                                    "description": "\u751f\u65e5",
                                    "type": "string",
                                    "example": "1990-01-01"
                                },
                                "id_no": {
                                    "description": "\u8eab\u4efd\u8bc1\u53f7",
                                    "type": "string",
                                    "example": "11010119900101xxxx"
                                },
                                "province": {
                                    "description": "\u7701\u7f16\u7801",
                                    "type": "string",
                                    "example": "110000"
                                },
                                "city": {
                                    "description": "\u5e02\u7f16\u7801",
                                    "type": "string",
                                    "example": "110100"
                                },
                                "district": {
                                    "description": "\u533a\u7f16\u7801",
                                    "type": "string",
                                    "example": "110101"
                                },
                                "user_id": {
                                    "description": "\u533b\u751f\u7528\u6237ID",
                                    "type": "integer",
                                    "example": 1
                                },
                                "appointment_time": {
                                    "description": "\u9884\u7ea6\u65e5\u671f",
                                    "type": "string",
                                    "example": "2024-06-06"
                                },
                                "segment_start": {
                                    "description": "\u65f6\u6bb5\u5f00\u59cb\u65f6\u95f4",
                                    "type": "string",
                                    "example": "09:00:00"
                                },
                                "segment_end": {
                                    "description": "\u65f6\u6bb5\u7ed3\u675f\u65f6\u95f4",
                                    "type": "string",
                                    "example": "10:00:00"
                                }
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "\u8bf7\u6c42\u6210\u529f",
                        "schema": {
                            "properties": {
                                "code": {
                                    "type": "integer",
                                    "example": 200
                                },
                                "message": {
                                    "type": "string",
                                    "example": "success"
                                },
                                "data": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "\u8bf7\u6c42\u53c2\u6570\u9519\u8bef"
                    }
                }
            }
        }
    },
    "definitions": {}
}