|
|
@@ -1,79 +1,42 @@
|
|
|
# 宿舍房间管理API文档
|
|
|
|
|
|
-**版本:** 1.0.0
|
|
|
-**作者:** Cursor
|
|
|
-**更新日期:** 2025-07-03
|
|
|
-
|
|
|
## 目录
|
|
|
|
|
|
-- [1. 概述](#1-概述)
|
|
|
-- [2. 接口基础信息](#2-接口基础信息)
|
|
|
-- [3. 宿舍楼树形结构接口](#3-宿舍楼树形结构接口)
|
|
|
-- [4. 房间管理接口](#4-房间管理接口)
|
|
|
-- [5. 床位管理接口](#5-床位管理接口)
|
|
|
-- [6. 数据字典](#6-数据字典)
|
|
|
-- [7. 错误码说明](#7-错误码说明)
|
|
|
-- [8. 移动端实现](#8-移动端实现)
|
|
|
-
|
|
|
-## 1. 概述
|
|
|
-
|
|
|
-本文档描述了宿舍楼房间管理模块的接口规范,包括宿舍楼树形结构查询、房间增删改查和床位管理等功能。
|
|
|
-
|
|
|
-### 1.1 应用场景
|
|
|
-
|
|
|
-- 学工处管理宿舍楼房间信息
|
|
|
-- 学生宿舍分配
|
|
|
-- 宿舍房间和床位状态维护
|
|
|
+- [1. 宿舍楼树形结构](#1-宿舍楼树形结构)
|
|
|
+ - [1.1 获取宿舍楼树形结构](#11-获取宿舍楼树形结构)
|
|
|
+- [2. 宿舍楼信息管理](#2-宿舍楼信息管理)
|
|
|
+ - [2.1 获取宿舍楼列表](#21-获取宿舍楼列表)
|
|
|
|
|
|
-### 1.2 功能列表
|
|
|
+## 1. 宿舍楼树形结构
|
|
|
|
|
|
-- 宿舍楼树形结构查询
|
|
|
-- 房间列表查询(支持分页和条件筛选)
|
|
|
-- 房间新增、修改、删除
|
|
|
-- 床位列表查询
|
|
|
-- 床位新增、修改、删除
|
|
|
+### 1.1 获取宿舍楼树形结构
|
|
|
|
|
|
-## 2. 接口基础信息
|
|
|
+#### 接口说明
|
|
|
|
|
|
-### 2.1 接口规范
|
|
|
+该接口用于获取宿舍楼的树形结构数据,按照校区-宿舍区-宿舍楼三级结构组织。校区和宿舍区节点不可点击,只有宿舍楼节点可以点击。
|
|
|
|
|
|
-- 接口采用RESTful风格
|
|
|
-- 请求和响应数据格式均为JSON
|
|
|
-- 所有接口均需要携带Token进行认证
|
|
|
-- 接口基础路径: `/xsssfjgl`
|
|
|
+#### 请求方式
|
|
|
|
|
|
-### 2.2 统一响应格式
|
|
|
-
|
|
|
-```json
|
|
|
-{
|
|
|
- "code": 200, // 响应状态码,200表示成功
|
|
|
- "msg": "操作成功", // 响应消息
|
|
|
- "data": {} // 响应数据,根据接口定义不同而不同
|
|
|
-}
|
|
|
```
|
|
|
-
|
|
|
-### 2.3 分页查询响应格式
|
|
|
-
|
|
|
-```json
|
|
|
-{
|
|
|
- "code": 200,
|
|
|
- "msg": "查询成功",
|
|
|
- "rows": [], // 数据列表
|
|
|
- "total": 0 // 总记录数
|
|
|
-}
|
|
|
+GET /xgss/dormBuildingTree/list
|
|
|
```
|
|
|
|
|
|
-## 3. 宿舍楼树形结构接口
|
|
|
+#### 权限要求
|
|
|
|
|
|
-### 3.1 获取宿舍树形结构
|
|
|
+```
|
|
|
+xgss:dormBuildingTree:list
|
|
|
+```
|
|
|
|
|
|
-**接口说明:** 获取校区-宿舍区-宿舍楼的树形结构数据
|
|
|
+#### 请求参数
|
|
|
|
|
|
-- **请求方式:** GET
|
|
|
-- **请求路径:** `/xsssfjgl/tree`
|
|
|
-- **请求参数:** 无
|
|
|
+| 参数名 | 类型 | 必须 | 描述 |
|
|
|
+| ------------- | ------- | ---- | -------------------- |
|
|
|
+| campusId | Long | 否 | 校区ID,用于筛选 |
|
|
|
+| areaId | Long | 否 | 宿舍区ID,用于筛选 |
|
|
|
+| buildingName | String | 否 | 宿舍楼名称,模糊查询 |
|
|
|
+| status | String | 否 | 宿舍楼状态 |
|
|
|
|
|
|
-**响应示例:**
|
|
|
+#### 返回结果
|
|
|
|
|
|
```json
|
|
|
{
|
|
|
@@ -82,21 +45,44 @@
|
|
|
"data": [
|
|
|
{
|
|
|
"id": 1,
|
|
|
- "label": "东校区",
|
|
|
+ "label": "主校区",
|
|
|
"type": "campus",
|
|
|
"disabled": true,
|
|
|
"children": [
|
|
|
{
|
|
|
- "id": 11,
|
|
|
+ "id": 101,
|
|
|
"label": "东区宿舍",
|
|
|
"type": "area",
|
|
|
"disabled": true,
|
|
|
"children": [
|
|
|
{
|
|
|
- "id": 111,
|
|
|
- "label": "东区1号楼",
|
|
|
+ "id": 1001,
|
|
|
+ "label": "1号楼",
|
|
|
"type": "building",
|
|
|
+ "disabled": false,
|
|
|
"buildingFloors": 6
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "id": 1002,
|
|
|
+ "label": "2号楼",
|
|
|
+ "type": "building",
|
|
|
+ "disabled": false,
|
|
|
+ "buildingFloors": 5
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "id": 102,
|
|
|
+ "label": "西区宿舍",
|
|
|
+ "type": "area",
|
|
|
+ "disabled": true,
|
|
|
+ "children": [
|
|
|
+ {
|
|
|
+ "id": 1003,
|
|
|
+ "label": "3号楼",
|
|
|
+ "type": "building",
|
|
|
+ "disabled": false,
|
|
|
+ "buildingFloors": 7
|
|
|
}
|
|
|
]
|
|
|
}
|
|
|
@@ -106,384 +92,172 @@
|
|
|
}
|
|
|
```
|
|
|
|
|
|
-**字段说明:**
|
|
|
-
|
|
|
-| 字段名 | 类型 | 说明 |
|
|
|
-| ---- | ---- | ---- |
|
|
|
-| id | string/number | 节点ID |
|
|
|
-| label | string | 节点名称 |
|
|
|
-| type | string | 节点类型:campus(校区)、area(宿舍区)、building(宿舍楼) |
|
|
|
-| disabled | boolean | 是否禁用选择 |
|
|
|
-| children | array | 子节点 |
|
|
|
-| buildingFloors | number | 宿舍楼层数,仅type为building时有效 |
|
|
|
-
|
|
|
-## 4. 房间管理接口
|
|
|
-
|
|
|
-### 4.1 获取房间列表
|
|
|
-
|
|
|
-**接口说明:** 分页查询房间信息
|
|
|
-
|
|
|
-- **请求方式:** GET
|
|
|
-- **请求路径:** `/xsssfjgl/room/list`
|
|
|
-- **请求参数:**
|
|
|
-
|
|
|
-| 参数名 | 必填 | 类型 | 说明 |
|
|
|
-| ---- | ---- | ---- | ---- |
|
|
|
-| pageNum | 是 | number | 页码,从1开始 |
|
|
|
-| pageSize | 是 | number | 每页记录数 |
|
|
|
-| buildingId | 是 | string/number | 宿舍楼ID |
|
|
|
-| roomName | 否 | string | 房间名称,支持模糊查询 |
|
|
|
-| floorNumber | 否 | number | 楼层号 |
|
|
|
-| status | 否 | string | 房间状态:0-正常,1-维修中,2-停用 |
|
|
|
-
|
|
|
-**响应示例:**
|
|
|
-
|
|
|
-```json
|
|
|
-{
|
|
|
- "code": 200,
|
|
|
- "msg": "查询成功",
|
|
|
- "rows": [
|
|
|
- {
|
|
|
- "roomId": "111101",
|
|
|
- "roomName": "101",
|
|
|
- "floorNumber": 1,
|
|
|
- "buildingId": 111,
|
|
|
- "capacity": 4,
|
|
|
- "used": 2,
|
|
|
- "roomType": "标准间",
|
|
|
- "status": "0",
|
|
|
- "remark": "",
|
|
|
- "createBy": "admin",
|
|
|
- "createTime": "2023-01-01 00:00:00",
|
|
|
- "updateBy": "admin",
|
|
|
- "updateTime": "2023-01-01 00:00:00"
|
|
|
+#### 返回参数说明
|
|
|
+
|
|
|
+| 参数名 | 类型 | 描述 |
|
|
|
+| -------------- | ------- | ------------------------------------------------ |
|
|
|
+| id | Long | 节点ID |
|
|
|
+| label | String | 节点名称 |
|
|
|
+| type | String | 节点类型(campus:校区,area:宿舍区,building:宿舍楼) |
|
|
|
+| disabled | Boolean | 是否禁用点击(校区和宿舍区为true,宿舍楼为false) |
|
|
|
+| buildingFloors | Integer | 宿舍楼层数(只有宿舍楼节点有此字段) |
|
|
|
+| children | Array | 子节点列表 |
|
|
|
+
|
|
|
+#### 数据权限说明
|
|
|
+
|
|
|
+接口会根据当前登录用户的权限进行数据过滤:
|
|
|
+
|
|
|
+1. 全校管理员(manager_type=1):可以查看所有校区、宿舍区和宿舍楼数据
|
|
|
+2. 校区管理员(manager_type=2):只能查看其管理的校区下的宿舍区和宿舍楼数据
|
|
|
+3. 宿舍区管理员(manager_type=3):只能查看其管理的宿舍区下的宿舍楼数据
|
|
|
+4. 宿舍楼管理员(manager_type=4):只能查看其管理的宿舍楼数据
|
|
|
+5. **多角色支持**:如果用户同时拥有多种管理员角色(如既是校区管理员又是宿舍楼管理员),将会合并所有权限范围内的数据。例如,一个用户同时是A校区管理员和B宿舍楼管理员,则可以看到A校区下的所有宿舍楼以及B宿舍楼。
|
|
|
+
|
|
|
+权限判断逻辑:
|
|
|
+- 通过 xg_dorm_manager 表的 user_id 与当前登录用户匹配,获取用户管理员类型
|
|
|
+- 根据 manager_type 确定权限级别
|
|
|
+- 通过 xg_dorm_manager_source 表的 auth_source 确定具体权限范围
|
|
|
+- **多角色权限合并**:合并不同角色对应的宿舍楼数据,确保不重复
|
|
|
+
|
|
|
+#### 错误码
|
|
|
+
|
|
|
+| 错误码 | 描述 |
|
|
|
+| ------ | -------------------- |
|
|
|
+| 401 | 未授权,需要登录 |
|
|
|
+| 403 | 无权限访问该接口 |
|
|
|
+| 500 | 服务器内部错误 |
|
|
|
+
|
|
|
+#### 使用示例
|
|
|
+
|
|
|
+```javascript
|
|
|
+// 前端代码示例(使用axios)
|
|
|
+import axios from 'axios';
|
|
|
+
|
|
|
+// 获取宿舍楼树形结构
|
|
|
+async function getDormBuildingTree() {
|
|
|
+ try {
|
|
|
+ const response = await axios.get('/xgss/dormBuildingTree/list');
|
|
|
+ if (response.data.code === 200) {
|
|
|
+ return response.data.data;
|
|
|
}
|
|
|
- ],
|
|
|
- "total": 60
|
|
|
-}
|
|
|
-```
|
|
|
-
|
|
|
-### 4.2 获取房间详情
|
|
|
-
|
|
|
-**接口说明:** 根据房间ID获取详细信息
|
|
|
-
|
|
|
-- **请求方式:** GET
|
|
|
-- **请求路径:** `/xsssfjgl/room/{roomId}`
|
|
|
-- **请求参数:**
|
|
|
-
|
|
|
-| 参数名 | 必填 | 类型 | 说明 |
|
|
|
-| ---- | ---- | ---- | ---- |
|
|
|
-| roomId | 是 | string/number | 房间ID |
|
|
|
-
|
|
|
-**响应示例:**
|
|
|
-
|
|
|
-```json
|
|
|
-{
|
|
|
- "code": 200,
|
|
|
- "msg": "操作成功",
|
|
|
- "data": {
|
|
|
- "roomId": "111101",
|
|
|
- "roomName": "101",
|
|
|
- "floorNumber": 1,
|
|
|
- "buildingId": 111,
|
|
|
- "capacity": 4,
|
|
|
- "used": 2,
|
|
|
- "roomType": "标准间",
|
|
|
- "status": "0",
|
|
|
- "remark": "",
|
|
|
- "createBy": "admin",
|
|
|
- "createTime": "2023-01-01 00:00:00",
|
|
|
- "updateBy": "admin",
|
|
|
- "updateTime": "2023-01-01 00:00:00"
|
|
|
+ } catch (error) {
|
|
|
+ console.error('获取宿舍楼树失败:', error);
|
|
|
}
|
|
|
+ return [];
|
|
|
}
|
|
|
```
|
|
|
|
|
|
-### 4.3 新增房间
|
|
|
+## 2. 宿舍楼信息管理
|
|
|
|
|
|
-**接口说明:** 新增宿舍房间
|
|
|
+### 2.1 获取宿舍楼列表
|
|
|
|
|
|
-- **请求方式:** POST
|
|
|
-- **请求路径:** `/xsssfjgl/room`
|
|
|
-- **请求参数:**
|
|
|
+#### 接口说明
|
|
|
|
|
|
-```json
|
|
|
-{
|
|
|
- "roomName": "101",
|
|
|
- "floorNumber": 1,
|
|
|
- "buildingId": 111,
|
|
|
- "capacity": 4,
|
|
|
- "roomType": "标准间",
|
|
|
- "status": "0",
|
|
|
- "remark": "新增房间"
|
|
|
-}
|
|
|
-```
|
|
|
+该接口用于获取宿舍楼信息的分页列表,包含宿舍楼基本信息以及关联的校区和宿舍区信息。
|
|
|
|
|
|
-**响应示例:**
|
|
|
+#### 请求方式
|
|
|
|
|
|
-```json
|
|
|
-{
|
|
|
- "code": 200,
|
|
|
- "msg": "操作成功"
|
|
|
-}
|
|
|
```
|
|
|
-
|
|
|
-### 4.4 修改房间
|
|
|
-
|
|
|
-**接口说明:** 修改宿舍房间信息
|
|
|
-
|
|
|
-- **请求方式:** PUT
|
|
|
-- **请求路径:** `/xsssfjgl/room`
|
|
|
-- **请求参数:**
|
|
|
-
|
|
|
-```json
|
|
|
-{
|
|
|
- "roomId": "111101",
|
|
|
- "roomName": "101",
|
|
|
- "floorNumber": 1,
|
|
|
- "buildingId": 111,
|
|
|
- "capacity": 4,
|
|
|
- "roomType": "标准间",
|
|
|
- "status": "0",
|
|
|
- "remark": "修改房间信息"
|
|
|
-}
|
|
|
+GET /sslxx/dormBuilding/list
|
|
|
```
|
|
|
|
|
|
-**响应示例:**
|
|
|
+#### 权限要求
|
|
|
|
|
|
-```json
|
|
|
-{
|
|
|
- "code": 200,
|
|
|
- "msg": "操作成功"
|
|
|
-}
|
|
|
```
|
|
|
-
|
|
|
-### 4.5 删除房间
|
|
|
-
|
|
|
-**接口说明:** 删除宿舍房间
|
|
|
-
|
|
|
-- **请求方式:** DELETE
|
|
|
-- **请求路径:** `/xsssfjgl/room/{roomIds}`
|
|
|
-- **请求参数:**
|
|
|
-
|
|
|
-| 参数名 | 必填 | 类型 | 说明 |
|
|
|
-| ---- | ---- | ---- | ---- |
|
|
|
-| roomIds | 是 | string | 房间ID,多个ID用逗号分隔 |
|
|
|
-
|
|
|
-**响应示例:**
|
|
|
-
|
|
|
-```json
|
|
|
-{
|
|
|
- "code": 200,
|
|
|
- "msg": "操作成功"
|
|
|
-}
|
|
|
+sslxx:dormBuilding:list
|
|
|
```
|
|
|
|
|
|
-## 5. 床位管理接口
|
|
|
-
|
|
|
-### 5.1 获取床位列表
|
|
|
-
|
|
|
-**接口说明:** 查询指定房间的床位列表
|
|
|
-
|
|
|
-- **请求方式:** GET
|
|
|
-- **请求路径:** `/xsssfjgl/bed/list`
|
|
|
-- **请求参数:**
|
|
|
+#### 请求参数
|
|
|
|
|
|
-| 参数名 | 必填 | 类型 | 说明 |
|
|
|
-| ---- | ---- | ---- | ---- |
|
|
|
-| roomId | 是 | string/number | 房间ID |
|
|
|
+| 参数名 | 类型 | 必须 | 描述 |
|
|
|
+| --------------- | ------- | ---- | ---------------------- |
|
|
|
+| pageNum | Integer | 是 | 当前页码,从1开始 |
|
|
|
+| pageSize | Integer | 是 | 每页记录数 |
|
|
|
+| buildingCode | String | 否 | 宿舍楼编码,模糊查询 |
|
|
|
+| buildingName | String | 否 | 宿舍楼名称,模糊查询 |
|
|
|
+| areaId | Long | 否 | 宿舍区ID,精确查询 |
|
|
|
+| campusId | Long | 否 | 校区ID,精确查询 |
|
|
|
+| buildingType | String | 否 | 宿舍楼类型(1男生楼 2女生楼 3混合楼) |
|
|
|
|
|
|
-**响应示例:**
|
|
|
+#### 返回结果
|
|
|
|
|
|
```json
|
|
|
{
|
|
|
- "code": 200,
|
|
|
- "msg": "操作成功",
|
|
|
- "data": [
|
|
|
- {
|
|
|
- "bedId": "111101-1",
|
|
|
- "bedName": "1号床",
|
|
|
- "roomId": "111101",
|
|
|
- "status": "0",
|
|
|
- "studentId": null,
|
|
|
- "studentName": null,
|
|
|
- "remark": "",
|
|
|
- "createBy": "admin",
|
|
|
- "createTime": "2023-01-01 00:00:00",
|
|
|
- "updateBy": "admin",
|
|
|
- "updateTime": "2023-01-01 00:00:00"
|
|
|
- },
|
|
|
+ "total": 1,
|
|
|
+ "rows": [
|
|
|
{
|
|
|
- "bedId": "111101-2",
|
|
|
- "bedName": "2号床",
|
|
|
- "roomId": "111101",
|
|
|
- "status": "1",
|
|
|
- "studentId": 10001,
|
|
|
- "studentName": "张三",
|
|
|
- "remark": "",
|
|
|
- "createBy": "admin",
|
|
|
- "createTime": "2023-01-01 00:00:00",
|
|
|
- "updateBy": "admin",
|
|
|
- "updateTime": "2023-01-01 00:00:00"
|
|
|
+ "id": "1947459199879495681",
|
|
|
+ "buildingCode": "xixi-ssq01-ssl01",
|
|
|
+ "buildingName": "西溪校区-宿舍区01-宿舍楼01",
|
|
|
+ "areaId": "1946829650430935041",
|
|
|
+ "areaName": "西溪校区-宿舍区01",
|
|
|
+ "campusId": "1946815553291304962",
|
|
|
+ "campusName": "西溪校区",
|
|
|
+ "buildingType": "1",
|
|
|
+ "buildingDescription": "12312",
|
|
|
+ "sortOrder": 1,
|
|
|
+ "floors": 6,
|
|
|
+ "createBy": 1,
|
|
|
+ "createTime": "2025-07-22 08:50:30",
|
|
|
+ "updateBy": 1,
|
|
|
+ "updateTime": "2025-07-22 08:51:06"
|
|
|
}
|
|
|
- ]
|
|
|
-}
|
|
|
-```
|
|
|
-
|
|
|
-### 5.2 新增床位
|
|
|
-
|
|
|
-**接口说明:** 新增床位
|
|
|
-
|
|
|
-- **请求方式:** POST
|
|
|
-- **请求路径:** `/xsssfjgl/bed`
|
|
|
-- **请求参数:**
|
|
|
-
|
|
|
-```json
|
|
|
-{
|
|
|
- "bedName": "3号床",
|
|
|
- "roomId": "111101",
|
|
|
- "status": "0",
|
|
|
- "remark": "新增床位"
|
|
|
-}
|
|
|
-```
|
|
|
-
|
|
|
-**响应示例:**
|
|
|
-
|
|
|
-```json
|
|
|
-{
|
|
|
- "code": 200,
|
|
|
- "msg": "操作成功"
|
|
|
-}
|
|
|
-```
|
|
|
-
|
|
|
-### 5.3 修改床位
|
|
|
-
|
|
|
-**接口说明:** 修改床位信息
|
|
|
-
|
|
|
-- **请求方式:** PUT
|
|
|
-- **请求路径:** `/xsssfjgl/bed`
|
|
|
-- **请求参数:**
|
|
|
-
|
|
|
-```json
|
|
|
-{
|
|
|
- "bedId": "111101-3",
|
|
|
- "bedName": "3号床",
|
|
|
- "roomId": "111101",
|
|
|
- "status": "1",
|
|
|
- "remark": "修改床位信息"
|
|
|
-}
|
|
|
-```
|
|
|
-
|
|
|
-**响应示例:**
|
|
|
-
|
|
|
-```json
|
|
|
-{
|
|
|
- "code": 200,
|
|
|
- "msg": "操作成功"
|
|
|
-}
|
|
|
-```
|
|
|
-
|
|
|
-### 5.4 删除床位
|
|
|
-
|
|
|
-**接口说明:** 删除床位
|
|
|
-
|
|
|
-- **请求方式:** DELETE
|
|
|
-- **请求路径:** `/xsssfjgl/bed/{bedIds}`
|
|
|
-- **请求参数:**
|
|
|
-
|
|
|
-| 参数名 | 必填 | 类型 | 说明 |
|
|
|
-| ---- | ---- | ---- | ---- |
|
|
|
-| bedIds | 是 | string | 床位ID,多个ID用逗号分隔 |
|
|
|
-
|
|
|
-**响应示例:**
|
|
|
-
|
|
|
-```json
|
|
|
-{
|
|
|
+ ],
|
|
|
"code": 200,
|
|
|
- "msg": "操作成功"
|
|
|
+ "msg": "查询成功"
|
|
|
}
|
|
|
```
|
|
|
|
|
|
-## 6. 数据字典
|
|
|
-
|
|
|
-### 6.1 房间状态
|
|
|
-
|
|
|
-| 状态码 | 说明 |
|
|
|
-| ---- | ---- |
|
|
|
-| 0 | 正常 |
|
|
|
-| 1 | 维修中 |
|
|
|
-| 2 | 停用 |
|
|
|
-
|
|
|
-### 6.2 床位状态
|
|
|
-
|
|
|
-| 状态码 | 说明 |
|
|
|
-| ---- | ---- |
|
|
|
-| 0 | 空闲 |
|
|
|
-| 1 | 已分配 |
|
|
|
-| 2 | 维修中 |
|
|
|
-
|
|
|
-### 6.3 房间类型
|
|
|
-
|
|
|
-| 类型 | 说明 |
|
|
|
-| ---- | ---- |
|
|
|
-| 标准间 | 标准宿舍,通常4-6人 |
|
|
|
-| 单人间 | 单人宿舍 |
|
|
|
-| 套间 | 带独立卫浴的宿舍 |
|
|
|
-
|
|
|
-## 7. 错误码说明
|
|
|
-
|
|
|
-| 错误码 | 说明 |
|
|
|
-| ---- | ---- |
|
|
|
-| 200 | 操作成功 |
|
|
|
-| 400 | 请求参数错误 |
|
|
|
-| 401 | 未授权 |
|
|
|
-| 403 | 禁止访问 |
|
|
|
-| 404 | 资源不存在 |
|
|
|
-| 500 | 系统内部错误 |
|
|
|
-| 1001 | 房间名称已存在 |
|
|
|
-| 1002 | 房间包含已分配的床位,无法删除 |
|
|
|
-| 1003 | 床位已分配给学生,无法删除 |
|
|
|
-
|
|
|
-## 8. 移动端实现
|
|
|
-
|
|
|
-### 8.1 移动端适配说明
|
|
|
-
|
|
|
-移动端将实现以下功能:
|
|
|
-- 宿舍楼列表查看(无树形结构,改用列表+筛选)
|
|
|
-- 房间信息查看
|
|
|
-- 床位信息查看
|
|
|
-
|
|
|
-暂不支持在移动端进行房间和床位的增删改操作,仅支持查询功能。
|
|
|
-
|
|
|
-### 8.2 特殊API
|
|
|
-
|
|
|
-移动端将使用与PC端相同的API,但增加以下特殊接口:
|
|
|
-
|
|
|
-**获取宿舍楼列表:**
|
|
|
-
|
|
|
-- **请求方式:** GET
|
|
|
-- **请求路径:** `/xsssfjgl/mobile/buildings`
|
|
|
-- **请求参数:**
|
|
|
-
|
|
|
-| 参数名 | 必填 | 类型 | 说明 |
|
|
|
-| ---- | ---- | ---- | ---- |
|
|
|
-| campusId | 否 | string/number | 校区ID |
|
|
|
-| areaId | 否 | string/number | 宿舍区ID |
|
|
|
-
|
|
|
-**响应示例:**
|
|
|
-
|
|
|
-```json
|
|
|
-{
|
|
|
- "code": 200,
|
|
|
- "msg": "操作成功",
|
|
|
- "data": [
|
|
|
- {
|
|
|
- "buildingId": 111,
|
|
|
- "buildingName": "东区1号楼",
|
|
|
- "campusName": "东校区",
|
|
|
- "areaName": "东区宿舍",
|
|
|
- "floors": 6
|
|
|
+#### 返回参数说明
|
|
|
+
|
|
|
+| 参数名 | 类型 | 描述 |
|
|
|
+| ------------------ | ------- | ---------------------------------------- |
|
|
|
+| id | Long | 宿舍楼主键ID |
|
|
|
+| buildingCode | String | 宿舍楼编码 |
|
|
|
+| buildingName | String | 宿舍楼名称 |
|
|
|
+| areaId | Long | 所属宿舍区ID |
|
|
|
+| areaName | String | 所属宿舍区名称 |
|
|
|
+| campusId | Long | 所属校区ID |
|
|
|
+| campusName | String | 所属校区名称 |
|
|
|
+| buildingType | String | 宿舍楼类型(1男生楼 2女生楼 3混合楼) |
|
|
|
+| buildingDescription | String | 宿舍楼描述 |
|
|
|
+| sortOrder | Integer | 排序号 |
|
|
|
+| floors | Integer | 总楼层数 |
|
|
|
+| createBy | Long | 创建者ID |
|
|
|
+| createTime | Date | 创建时间 |
|
|
|
+| updateBy | Long | 更新者ID |
|
|
|
+| updateTime | Date | 更新时间 |
|
|
|
+
|
|
|
+#### 错误码
|
|
|
+
|
|
|
+| 错误码 | 描述 |
|
|
|
+| ------ | -------------------- |
|
|
|
+| 401 | 未授权,需要登录 |
|
|
|
+| 403 | 无权限访问该接口 |
|
|
|
+| 500 | 服务器内部错误 |
|
|
|
+
|
|
|
+#### 使用示例
|
|
|
+
|
|
|
+```javascript
|
|
|
+// 前端代码示例(使用axios)
|
|
|
+import axios from 'axios';
|
|
|
+
|
|
|
+// 获取宿舍楼列表
|
|
|
+async function getDormBuildingList(params) {
|
|
|
+ try {
|
|
|
+ const response = await axios.get('/sslxx/dormBuilding/list', {
|
|
|
+ params: {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ ...params
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if (response.data.code === 200) {
|
|
|
+ return response.data;
|
|
|
}
|
|
|
- ]
|
|
|
+ } catch (error) {
|
|
|
+ console.error('获取宿舍楼列表失败:', error);
|
|
|
+ }
|
|
|
+ return { total: 0, rows: [] };
|
|
|
}
|
|
|
```
|