# MySQL-Server **Repository Path**: badering/my-sql-server ## Basic Information - **Project Name**: MySQL-Server - **Description**: 本地web后台api - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-01 - **Last Updated**: 2026-02-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 演员API接口文档 ## 1. 接口概述 本API提供了对演员信息的增删改查功能,包括获取演员列表、获取单个演员信息、创建演员、更新演员信息和删除演员等功能。 ## 2. 基础信息 - 接口地址:http://127.0.0.1:5000 - 请求方式:GET/POST/PUT/DELETE - 数据格式:JSON - 编码格式:UTF-8 - **认证方式**:JWT Token认证,所有API(除登录接口外)均需要在请求头中携带有效Token - **Token有效期**:默认30分钟,可在代码中配置 ## 3. 认证机制 ### 3.1 获取Token 通过登录接口获取JWT Token,Token有效期默认为30分钟。 ### 3.2 使用Token 在请求头中添加`Authorization`字段,格式为: ``` Authorization: Bearer ``` ### 3.3 Token验证失败响应 | 状态码 | 错误信息 | 描述 | | ------ | ----------- | ----------------------- | | 401 | 请先登录 | 请求头中未携带Token | | 401 | Token已过期 | Token超过有效期 | | 401 | 无效的Token | Token格式错误或已被篡改 | ## 4. 接口列表 | 接口名称 | 请求方法 | 接口地址 | 功能描述 | 是否需要Token | | ------------ | -------- | ------------------ | -------------------------------- | ------------- | | 用户登录 | POST | /login | 用户登录获取Token | 否 | | 获取所有演员 | GET | /actors | 获取所有演员的详细信息 | 是 | | 获取单个演员 | GET | /actors/{actor_id} | 根据演员ID获取单个演员的详细信息 | 是 | | 创建演员 | POST | /actors | 创建新的演员信息 | 是 | | 更新演员 | PUT | /actors/{actor_id} | 更新指定演员的信息 | 是 | | 删除演员 | DELETE | /actors/{actor_id} | 删除指定演员的信息 | 是 | ## 5. 接口详情 ### 5.1 用户登录 #### 请求信息 - 请求方法:POST - 请求地址:/login - 请求参数: | 参数名 | 类型 | 位置 | 必选 | 描述 | |-------|-----|-----|-----|-----| | user_name | string | body | 是 | 用户名 | | password | string | body | 是 | 密码 | | verify_code | string | body | 是 | 验证码,万能验证码为1357 | - 请求示例: ```json { "user_name": "admin", "password": "your_password", "verify_code": "1357" } ``` #### 响应信息 - 状态码:200 OK(成功)/ 400 Bad Request(参数错误)/ 401 Unauthorized(认证失败) - 响应格式:JSON - 成功响应示例: ```json { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiMSIsImV4cCI6MTcxNjI5NzQ0MX0.5eW9X9z7q7a7z7a7z7a7z7a7z7a7z7a7z7a7z7a7z7a7z7", "expires_in": 1800, "user_info": { "user_id": "1", "user_name": "admin", "nick_name": "admin", "email": "aaa@163.com", "phonenumber": "15888888888" } } ``` - 失败响应示例: ```json { "error": "用户名或密码错误" } ``` ```json { "error": "验证码错误" } ``` ### 5.2 获取所有演员 #### 请求信息 - 请求方法:GET - 请求地址:/actors - 请求参数:无 - **请求头**:需要携带Token - 请求示例: ```bash curl -X GET -H "Authorization: Bearer " http://127.0.0.1:5000/actors ``` #### 响应信息 - 状态码:200 OK(成功)/ 401 Unauthorized(Token无效) - 响应格式:JSON - 响应示例: ```json [ { "actor_id": "126", "actor_name": "新海诚", "actor_img": "249e7a7481c0dbe4d2e20b0d7d66465e36249.jpg@128w_170h_1e_1c.jpg", "actor_desc": "新海诚(Makoto Shinkai),原名新津诚(Makoto Niitsu),1973年2月9日出生于日本长野县南佐久郡小海町...", "followers": 4450, "box_office": 864 }, { "actor_id": "127", "actor_name": "醍醐虎汰朗", "actor_img": "74cf5577c9cf7c2bf60f3c023c37135f158637.jpg@128w_170h_1e_1c.jpg", "actor_desc": "无", "followers": 4450, "box_office": 887 } ] ``` ### 5.3 获取单个演员 #### 请求信息 - 请求方法:GET - 请求地址:/actors/{actor_id} - 请求参数: | 参数名 | 类型 | 位置 | 必选 | 描述 | |-------|-----|-----|-----|-----| | actor_id | string | path | 是 | 演员ID | - **请求头**:需要携带Token - 请求示例: ```bash curl -X GET -H "Authorization: Bearer " http://127.0.0.1:5000/actors/126 ``` #### 响应信息 - 状态码:200 OK(成功)/ 404 Not Found(未找到)/ 401 Unauthorized(Token无效) - 响应格式:JSON - 成功响应示例: ```json { "actor_id": "126", "actor_name": "新海诚", "actor_img": "249e7a7481c0dbe4d2e20b0d7d66465e36249.jpg@128w_170h_1e_1c.jpg", "actor_desc": "新海诚(Makoto Shinkai),原名新津诚(Makoto Niitsu),1973年2月9日出生于日本长野县南佐久郡小海町...", "followers": 4450, "box_office": 864 } ``` - 失败响应示例: ```json { "error": "Actor not found" } ``` ### 5.4 创建演员 #### 请求信息 - 请求方法:POST - 请求地址:/actors - 请求参数: | 参数名 | 类型 | 位置 | 必选 | 描述 | |-------|-----|-----|-----|-----| | actor_id | string | body | 是 | 演员ID | | actor_name | string | body | 是 | 演员姓名 | | actor_img | string | body | 否 | 演员图片URL | | actor_desc | string | body | 否 | 演员描述 | | followers | integer | body | 否 | 粉丝数量 | | box_office | integer | body | 否 | 票房数据 | - **请求头**:需要携带Token - 请求示例: ```json { "actor_id": "263", "actor_name": "测试演员", "actor_img": "test.jpg", "actor_desc": "这是一个测试演员", "followers": 1000, "box_office": 500 } ``` #### 响应信息 - 状态码:201 Created(成功)/ 400 Bad Request(参数错误)/ 401 Unauthorized(Token无效) - 响应格式:JSON - 响应示例: ```json { "actor_id": "263", "actor_name": "测试演员", "actor_img": "test.jpg", "actor_desc": "这是一个测试演员", "followers": 1000, "box_office": 500 } ``` ### 5.5 更新演员 #### 请求信息 - 请求方法:PUT - 请求地址:/actors/{actor_id} - 请求参数: | 参数名 | 类型 | 位置 | 必选 | 描述 | |-------|-----|-----|-----|-----| | actor_id | string | path | 是 | 演员ID | | actor_name | string | body | 否 | 演员姓名 | | actor_img | string | body | 否 | 演员图片URL | | actor_desc | string | body | 否 | 演员描述 | | followers | integer | body | 否 | 粉丝数量 | | box_office | integer | body | 否 | 票房数据 | - **请求头**:需要携带Token - 请求示例: ```bash curl -X PUT -H "Authorization: Bearer " -H "Content-Type: application/json" -d '{"actor_name": "更新后的演员姓名", "followers": 2000}' http://127.0.0.1:5000/actors/263 ``` #### 响应信息 - 状态码:200 OK(成功)/ 404 Not Found(未找到)/ 401 Unauthorized(Token无效) - 响应格式:JSON - 成功响应示例: ```json { "actor_id": "263", "actor_name": "更新后的演员姓名", "actor_img": "test.jpg", "actor_desc": "这是一个测试演员", "followers": 2000, "box_office": 500 } ``` - 失败响应示例: ```json { "error": "Actor not found" } ``` ### 5.6 删除演员 #### 请求信息 - 请求方法:DELETE - 请求地址:/actors/{actor_id} - 请求参数: | 参数名 | 类型 | 位置 | 必选 | 描述 | |-------|-----|-----|-----|-----| | actor_id | string | path | 是 | 演员ID | - **请求头**:需要携带Token - 请求示例: ```bash curl -X DELETE -H "Authorization: Bearer " http://127.0.0.1:5000/actors/263 ``` #### 响应信息 - 状态码:200 OK(成功)/ 404 Not Found(未找到)/ 401 Unauthorized(Token无效) - 响应格式:JSON - 成功响应示例: ```json { "message": "Actor deleted successfully" } ``` - 失败响应示例: ```json { "error": "Actor not found" } ``` # 电影院API接口文档 ## 1. 接口概述 本API提供了对电影院信息的增删改查功能,包括获取电影院列表、获取单个电影院信息、创建电影院、更新电影院信息和删除电影院等功能。 ## 2. 基础信息 - 接口地址:http://127.0.0.1:5000 - 请求方式:GET/POST/PUT/DELETE - 数据格式:JSON - 编码格式:UTF-8 - **认证方式**:JWT Token认证,所有API(除登录接口外)均需要在请求头中携带有效Token - **Token有效期**:默认30分钟,可在代码中配置 ## 3. 接口列表 | 接口名称 | 请求方法 | 接口地址 | 功能描述 | 是否需要Token | | -------------- | -------- | -------------------- | ------------------------------------ | ------------- | | 获取所有电影院 | GET | /cinemas | 获取所有电影院的详细信息 | 是 | | 获取单个电影院 | GET | /cinemas/{cinema_id} | 根据电影院ID获取单个电影院的详细信息 | 是 | | 创建电影院 | POST | /cinemas | 创建新的电影院信息 | 是 | | 更新电影院 | PUT | /cinemas/{cinema_id} | 更新指定电影院的信息 | 是 | | 删除电影院 | DELETE | /cinemas/{cinema_id} | 删除指定电影院的信息 | 是 | ## 4. 接口详情 ### 4.1 获取所有电影院 #### 请求信息 - 请求方法:GET - 请求地址:/cinemas - 请求参数:无 - **请求头**:需要携带Token - 请求示例: ```bash curl -X GET -H "Authorization: Bearer " http://127.0.0.1:5000/cinemas ``` #### 响应信息 - 状态码:200 OK(成功)/ 401 Unauthorized(Token无效) - 响应格式:JSON - 响应示例: ```json [ { "cinema_id": "4", "cinema_name": "万达影城(松江店)", "cinema_phone": "021-888888", "cinema_area": 2715, "cinema_location": "广富林路692号松江万达广场5楼", "cinema_brand": "11", "cinema_img": "9cb5c151b5093a8861cf90590e4bf4af.jpg", "cinema_city": "321", "cinema_lng": 121.242249, "cinema_lat": 31.057309, "cinema_province": "25" }, { "cinema_id": "7", "cinema_name": "大地影院(华润万家大华店)", "cinema_phone": "021-66405215;021-66405201;4006782828", "cinema_area": 2717, "cinema_location": "大华路518号华润万家超市4层大地影院", "cinema_brand": "11", "cinema_img": "0f6e6f3ec9099a618b37d34d8042007c.jpg", "cinema_city": "321", "cinema_lng": 121.41412, "cinema_lat": 31.271551, "cinema_province": "25" } ] ``` ### 4.2 获取单个电影院 #### 请求信息 - 请求方法:GET - 请求地址:/cinemas/{cinema_id} - 请求参数: | 参数名 | 类型 | 位置 | 必选 | 描述 | |-------|-----|-----|-----|-----| | cinema_id | string | path | 是 | 电影院ID | - **请求头**:需要携带Token - 请求示例: ```bash curl -X GET -H "Authorization: Bearer " http://127.0.0.1:5000/cinemas/4 ``` #### 响应信息 - 状态码:200 OK(成功)/ 404 Not Found(未找到)/ 401 Unauthorized(Token无效) - 响应格式:JSON - 成功响应示例: ```json { "cinema_id": "4", "cinema_name": "万达影城(松江店)", "cinema_phone": "021-888888", "cinema_area": 2715, "cinema_location": "广富林路692号松江万达广场5楼", "cinema_brand": "11", "cinema_img": "9cb5c151b5093a8861cf90590e4bf4af.jpg", "cinema_city": "321", "cinema_lng": 121.242249, "cinema_lat": 31.057309, "cinema_province": "25" } ``` - 失败响应示例: ```json { "error": "Cinema not found" } ``` ### 4.3 创建电影院 #### 请求信息 - 请求方法:POST - 请求地址:/cinemas - 请求参数: | 参数名 | 类型 | 位置 | 必选 | 描述 | |-------|-----|-----|-----|-----| | cinema_id | string | body | 是 | 电影院ID | | cinema_name | string | body | 是 | 电影院名称 | | cinema_phone | string | body | 否 | 电影院电话 | | cinema_area | integer | body | 否 | 电影院区域 | | cinema_location | string | body | 否 | 电影院地址 | | cinema_brand | string | body | 否 | 电影院品牌 | | cinema_img | string | body | 否 | 电影院图片URL | | cinema_city | string | body | 否 | 电影院城市 | | cinema_lng | float | body | 否 | 电影院经度 | | cinema_lat | float | body | 否 | 电影院纬度 | | cinema_province | string | body | 否 | 电影院省份 | - **请求头**:需要携带Token - 请求示例: ```bash curl -X POST -H "Authorization: Bearer " -H "Content-Type: application/json" -d '{"cinema_id": "24", "cinema_name": "测试电影院", "cinema_phone": "021-12345678", "cinema_area": 2701, "cinema_location": "测试地址", "cinema_brand": "1", "cinema_img": "test.jpg", "cinema_city": "321", "cinema_lng": 121.0, "cinema_lat": 31.0, "cinema_province": "25"}' http://127.0.0.1:5000/cinemas ``` #### 响应信息 - 状态码:201 Created(成功)/ 400 Bad Request(参数错误)/ 401 Unauthorized(Token无效) - 响应格式:JSON - 响应示例: ```json { "cinema_id": "24", "cinema_name": "测试电影院", "cinema_phone": "021-12345678", "cinema_area": 2701, "cinema_location": "测试地址", "cinema_brand": "1", "cinema_img": "test.jpg", "cinema_city": "321", "cinema_lng": 121.0, "cinema_lat": 31.0, "cinema_province": "25" } ``` ### 4.4 更新电影院 #### 请求信息 - 请求方法:PUT - 请求地址:/cinemas/{cinema_id} - 请求参数: | 参数名 | 类型 | 位置 | 必选 | 描述 | |-------|-----|-----|-----|-----| | cinema_id | string | path | 是 | 电影院ID | | cinema_name | string | body | 否 | 电影院名称 | | cinema_phone | string | body | 否 | 电影院电话 | | cinema_area | integer | body | 否 | 电影院区域 | | cinema_location | string | body | 否 | 电影院地址 | | cinema_brand | string | body | 否 | 电影院品牌 | | cinema_img | string | body | 否 | 电影院图片URL | | cinema_city | string | body | 否 | 电影院城市 | | cinema_lng | float | body | 否 | 电影院经度 | | cinema_lat | float | body | 否 | 电影院纬度 | | cinema_province | string | body | 否 | 电影院省份 | - **请求头**:需要携带Token - 请求示例: ```bash curl -X PUT -H "Authorization: Bearer " -H "Content-Type: application/json" -d '{"cinema_name": "更新后的电影院名称", "cinema_phone": "021-87654321"}' http://127.0.0.1:5000/cinemas/24 ``` #### 响应信息 - 状态码:200 OK(成功)/ 404 Not Found(未找到)/ 401 Unauthorized(Token无效) - 响应格式:JSON - 成功响应示例: ```json { "cinema_id": "24", "cinema_name": "更新后的电影院名称", "cinema_phone": "021-87654321", "cinema_area": 2701, "cinema_location": "测试地址", "cinema_brand": "1", "cinema_img": "test.jpg", "cinema_city": "321", "cinema_lng": 121.0, "cinema_lat": 31.0, "cinema_province": "25" } ``` - 失败响应示例: ```json { "error": "Cinema not found" } ``` ### 4.5 删除电影院 #### 请求信息 - 请求方法:DELETE - 请求地址:/cinemas/{cinema_id} - 请求参数: | 参数名 | 类型 | 位置 | 必选 | 描述 | |-------|-----|-----|-----|-----| | cinema_id | string | path | 是 | 电影院ID | - **请求头**:需要携带Token - 请求示例: ```bash curl -X DELETE -H "Authorization: Bearer " http://127.0.0.1:5000/cinemas/24 ``` #### 响应信息 - 状态码:200 OK(成功)/ 404 Not Found(未找到)/ 401 Unauthorized(Token无效) - 响应格式:JSON - 成功响应示例: ```json { "message": "Cinema deleted successfully" } ``` - 失败响应示例: ```json { "error": "Cinema not found" } ``` ## 5. 数据模型 ### 演员模型 | 字段名 | 类型 | 描述 | 是否必填 | | ---------- | ------- | ---------------- | -------- | | actor_id | string | 演员ID,作为主键 | 是 | | actor_name | string | 演员姓名 | 是 | | actor_img | string | 演员图片URL | 否 | | actor_desc | string | 演员描述 | 否 | | followers | integer | 粉丝数量 | 否 | | box_office | integer | 票房数据 | 否 | ### 电影院模型 | 字段名 | 类型 | 描述 | 是否必填 | | --------------- | ------- | ------------------ | -------- | | cinema_id | string | 电影院ID,作为主键 | 是 | | cinema_name | string | 电影院名称 | 是 | | cinema_phone | string | 电影院电话 | 否 | | cinema_area | integer | 电影院区域 | 否 | | cinema_location | string | 电影院地址 | 否 | | cinema_brand | string | 电影院品牌 | 否 | | cinema_img | string | 电影院图片URL | 否 | | cinema_city | string | 电影院城市 | 否 | | cinema_lng | float | 电影院经度 | 否 | | cinema_lat | float | 电影院纬度 | 否 | | cinema_province | string | 电影院省份 | 否 | ## 6. 错误码说明 | 状态码 | 描述 | | ------ | --------------------------- | | 200 | 操作成功 | | 201 | 创建成功 | | 401 | 未授权(Token无效或未提供) | | 404 | 资源未找到 | | 400 | 请求参数错误 | | 500 | 服务器内部错误 | ## 7. 启动方式 1. 安装依赖: ```bash pip install -r requirements.txt ``` 2. 启动应用: ```bash python run.py ``` 3. 访问API: - API地址:http://127.0.0.1:5000 - 登录接口:http://127.0.0.1:5000/login(无需Token) - 演员列表:http://127.0.0.1:5000/actors(需要Token) - 电影院列表:http://127.0.0.1:5000/cinemas(需要Token)