# ISIM 电费查询系统 API 文档 ## 概述 ISIM(Integrated Student Information Management)电费查询系统是为安徽财经大学学生提供的后勤电费查询服务。通过该系统,学生可以: - 选择和绑定宿舍房间 - 查询电费余额和用电记录 - 查看充值记录 ## API 端点 ### 认证 所有API都需要通过认证令牌(authme_token)进行身份验证。认证信息通过依赖注入自动处理。 ### 房间选择器 API #### 1. 获取楼栋列表 **POST** `/api/v1/isim/picker/building/get` 获取所有可选择的楼栋信息。 **响应示例:** ```json { "code": 0, "message": "楼栋列表获取成功", "data": [ { "code": "11", "name": "北苑11号学生公寓" }, { "code": "12", "name": "北苑12号学生公寓" } ] } ``` #### 2. 设置楼栋并获取楼层列表 **POST** `/api/v1/isim/picker/building/set` 设置楼栋并获取对应的楼层列表。 **请求参数:** ```json { "building_code": "11" } ``` **响应示例:** ```json { "code": 0, "message": "楼层列表获取成功", "data": [ { "code": "010101", "name": "1-1层" }, { "code": "010102", "name": "1-2层" } ] } ``` #### 3. 设置楼层并获取房间列表 **POST** `/api/v1/isim/picker/floor/set` 设置楼层并获取对应的房间列表。 **请求参数:** ```json { "floor_code": "010101" } ``` **响应示例:** ```json { "code": 0, "message": "房间列表获取成功", "data": [ { "code": "01", "name": "1-101" }, { "code": "02", "name": "1-102" } ] } ``` #### 4. 绑定房间 **POST** `/api/v1/isim/picker/room/set` 绑定房间到用户账户。 **请求参数:** ```json { "building_code": "11", "floor_code": "010101", "room_code": "01" } ``` **响应示例:** ```json { "code": 0, "message": "房间绑定成功", "data": { "building": { "code": "11", "name": "北苑11号学生公寓" }, "floor": { "code": "010101", "name": "1-1层" }, "room": { "code": "01", "name": "1-101" }, "room_id": "01", "display_text": "北苑11号学生公寓/1-1层/1-101" } } ``` ### 电费查询 API #### 5. 获取电费信息 **POST** `/api/v1/isim/electricity/info` 获取电费余额和用电记录信息。 **响应示例:** ```json { "code": 0, "message": "电费信息获取成功", "data": { "balance": { "remaining_purchased": 815.30, "remaining_subsidy": 2198.01 }, "usage_records": [ { "record_time": "2025-08-29 00:04:58", "usage_amount": 0.00, "meter_name": "1-101" }, { "record_time": "2025-08-29 00:04:58", "usage_amount": 0.00, "meter_name": "1-101空调" } ] } } ``` #### 6. 获取充值信息 **POST** `/api/v1/isim/payment/info` 获取电费余额和充值记录信息。 **响应示例:** ```json { "code": 0, "message": "充值信息获取成功", "data": { "balance": { "remaining_purchased": 815.30, "remaining_subsidy": 2198.01 }, "payment_records": [ { "payment_time": "2025-02-21 11:30:08", "amount": 71.29, "payment_type": "下发补助" }, { "payment_time": "2024-09-01 15:52:40", "amount": 71.29, "payment_type": "下发补助" } ] } } ``` #### 7. 检查房间绑定状态 **POST** `/api/v1/isim/room/binding/status` 检查用户是否已绑定宿舍房间。 **已绑定响应示例:** ```json { "code": 0, "message": "用户已绑定宿舍房间", "data": { "is_bound": true, "binding_info": { "building": { "code": "35", "name": "西校荆苑5号学生公寓" }, "floor": { "code": "3501", "name": "荆5-1层" }, "room": { "code": "350116", "name": "J5-116" }, "room_id": "350116", "display_text": "西校荆苑5号学生公寓/荆5-1层/J5-116" } } } ``` **未绑定响应示例:** ```json { "code": 0, "message": "用户未绑定宿舍房间", "data": { "is_bound": false, "binding_info": null } } ``` ## 错误处理 ### 标准错误响应 ```json { "code": 1, "message": "错误描述信息" } ``` ### 认证错误响应 ```json { "code": 401, "message": "Cookie已失效或不在VPN/校园网环境,请重新登录" } ``` ### 常见错误代码 - `0`: 成功 - `1`: 一般业务错误 - `400`: 请求参数错误或未绑定房间 - `401`: 认证失败 - `500`: 服务器内部错误 ### 特殊错误情况 #### 未绑定房间错误 当用户尝试查询电费或充值信息但未绑定房间时,会返回特定错误: ```json { "code": 400, "message": "请先绑定宿舍房间后再查询电费信息" } ``` 或 ```json { "code": 400, "message": "请先绑定宿舍房间后再查询充值信息" } ``` ## 使用流程 ### 房间绑定流程 1. **检查绑定状态**:调用房间绑定状态API检查是否已绑定 2. **首次绑定**(如果未绑定): - 调用楼栋列表API获取所有楼栋 - 调用楼栋设置API获取楼层列表 - 调用楼层设置API获取房间列表 - 调用房间绑定API完成房间绑定 ### 查询流程 1. **确认绑定**:确保用户已绑定房间(必需) 2. **查询信息**:调用电费信息或充值信息API获取数据 ## 注意事项 - 所有接口都需要有效的认证令牌 - 数据实时从后勤系统获取,不会在数据库中缓存 - 房间绑定信息会保存在数据库中以便下次使用 - 系统需要VPN或校园网环境才能正常访问 - **电费查询和充值查询需要先绑定房间**,否则会返回400错误 - 访问`/go`端点会返回302重定向,系统会自动处理并提取JSESSIONID