rentease-app/docs/api-docs.md

10 KiB
Raw Blame History

RentEase API 接口文档

文档说明

本文档定义了 RentEase 租赁管理平台的统一 API 接口规范,用于前后端交互。

基础信息

服务器地址

环境 地址
开发环境 http://localhost:3000
生产环境 https://api.rentease.com

请求前缀

所有 API 请求都需要加上前缀 /api

响应格式

所有 API 响应统一返回以下格式:

{
  "code": 200,      // 状态码200表示成功
  "message": "操作成功",  // 提示信息
  "data": {}        // 返回数据
}

状态码说明

状态码 说明
200 请求成功
400 请求参数错误
401 未授权Token无效或过期
403 禁止访问,权限不足
404 资源不存在
500 服务器内部错误

认证模块 (Auth)

1. 用户登录

  • 接口地址: POST /api/auth/login
  • 是否需要认证: 否
  • 请求参数:
参数名 类型 必填 说明
username string 用户名/手机号
password string 密码
  • 响应示例:
{
  "code": 200,
  "message": "登录成功",
  "data": {
    "token": "eyJhbGciOiJIUzI1NiIs...",
    "userInfo": {
      "id": 1,
      "username": "admin",
      "nickname": "管理员",
      "role": {
        "id": 1,
        "name": "管理员",
        "code": "admin"
      },
      "tenantId": 1,
      "userType": "tenant_admin"
    },
    "tenant": {
      "id": 1,
      "name": "测试租户",
      "code": "test",
      "status": "active"
    },
    "menus": [
      {
        "id": 1,
        "name": "首页",
        "path": "/pages/home/home",
        "icon": "home-filled"
      }
    ]
  }
}

2. 租户自助注册

  • 接口地址: POST /api/auth/register-tenant
  • 是否需要认证: 否
  • 请求参数:
参数名 类型 必填 说明
name string 租户名称
code string 租户编码(唯一标识)
description string 租户描述
contactName string 联系人姓名
contactPhone string 联系人电话
contactEmail string 联系人邮箱
adminUsername string 管理员账号
adminPassword string 管理员密码
  • 响应示例:
{
  "code": 200,
  "message": "注册成功,欢迎试用",
  "data": {
    "tenantId": 1,
    "name": "测试租户",
    "status": "active"
  }
}

3. 用户登出

  • 接口地址: POST /api/auth/logout
  • 是否需要认证: 是
  • 请求参数: 无
  • 响应示例:
{
  "code": 200,
  "message": "登出成功"
}

4. 获取当前用户信息

  • 接口地址: GET /api/auth/user
  • 是否需要认证: 是
  • 请求参数: 无
  • 响应示例:
{
  "code": 200,
  "message": "获取成功",
  "data": {
    "id": 1,
    "username": "admin",
    "nickname": "管理员",
    "role": {
      "id": 1,
      "name": "管理员",
      "code": "admin"
    },
    "tenantId": 1,
    "userType": "tenant_admin"
  }
}

5. 修改密码

  • 接口地址: POST /api/auth/change-password
  • 是否需要认证: 是
  • 请求参数:
参数名 类型 必填 说明
oldPassword string 原密码
newPassword string 新密码至少6位
  • 响应示例:
{
  "code": 200,
  "message": "密码修改成功"
}

公寓管理模块 (Apartments)

1. 获取公寓列表

  • 接口地址: GET /api/apartments
  • 是否需要认证: 是
  • 请求参数:
参数名 类型 必填 说明
page number 页码默认1
pageSize number 每页数量默认10
keyword string 搜索关键词
  • 响应示例:
{
  "code": 200,
  "message": "获取成功",
  "data": {
    "list": [
      {
        "id": 1,
        "name": "阳光公寓",
        "address": "北京市朝阳区xxx街道",
        "totalRooms": 20,
        "occupiedRooms": 15,
        "status": "active"
      }
    ],
    "total": 1,
    "page": 1,
    "pageSize": 10
  }
}

2. 创建公寓

  • 接口地址: POST /api/apartments
  • 是否需要认证: 是
  • 请求参数:
参数名 类型 必填 说明
name string 公寓名称
address string 公寓地址
description string 公寓描述

3. 更新公寓

  • 接口地址: PUT /api/apartments/:id
  • 是否需要认证: 是

4. 删除公寓

  • 接口地址: DELETE /api/apartments/:id
  • 是否需要认证: 是

房间管理模块 (Rooms)

1. 获取房间列表

  • 接口地址: GET /api/rooms
  • 是否需要认证: 是
  • 请求参数:
参数名 类型 必填 说明
apartmentId number 公寓ID
status string 房间状态

2. 创建房间

  • 接口地址: POST /api/rooms
  • 是否需要认证: 是

3. 更新房间

  • 接口地址: PUT /api/rooms/:id
  • 是否需要认证: 是

4. 删除房间

  • 接口地址: DELETE /api/rooms/:id
  • 是否需要认证: 是

租户管理模块 (Tenants)

1. 获取租户列表

  • 接口地址: GET /api/tenants
  • 是否需要认证: 是

2. 创建租户

  • 接口地址: POST /api/tenants
  • 是否需要认证: 是

3. 更新租户

  • 接口地址: PUT /api/tenants/:id
  • 是否需要认证: 是

4. 删除租户

  • 接口地址: DELETE /api/tenants/:id
  • 是否需要认证: 是

租房管理模块 (Rentals)

1. 获取租房记录列表

  • 接口地址: GET /api/rentals
  • 是否需要认证: 是

2. 创建租房记录

  • 接口地址: POST /api/rentals
  • 是否需要认证: 是

3. 更新租房记录

  • 接口地址: PUT /api/rentals/:id
  • 是否需要认证: 是

4. 删除租房记录

  • 接口地址: DELETE /api/rentals/:id
  • 是否需要认证: 是

水电费管理模块

水费管理 (WaterBills)

1. 获取水费记录列表

  • 接口地址: GET /api/water-bills
  • 是否需要认证: 是

2. 创建水费记录

  • 接口地址: POST /api/water-bills
  • 是否需要认证: 是

电费管理 (ElectricityBills)

1. 获取电费记录列表

  • 接口地址: GET /api/electricity-bills
  • 是否需要认证: 是

2. 创建电费记录

  • 接口地址: POST /api/electricity-bills
  • 是否需要认证: 是

费用支出管理模块 (Expenses)

1. 获取费用支出列表

  • 接口地址: GET /api/expenses
  • 是否需要认证: 是

2. 创建费用支出

  • 接口地址: POST /api/expenses
  • 是否需要认证: 是

统计分析模块 (Statistics)

1. 获取首页统计数据

  • 接口地址: GET /api/statistics/dashboard
  • 是否需要认证: 是
  • 响应示例:
{
  "code": 200,
  "message": "获取成功",
  "data": {
    "totalApartments": 5,
    "totalRooms": 100,
    "occupiedRooms": 80,
    "vacantRooms": 20,
    "monthlyIncome": 50000,
    "monthlyExpenses": 15000
  }
}

2. 获取收入统计

  • 接口地址: GET /api/statistics/income
  • 是否需要认证: 是

3. 获取支出统计

  • 接口地址: GET /api/statistics/expense
  • 是否需要认证: 是

用户管理模块 (Users)

1. 获取用户列表

  • 接口地址: GET /api/users
  • 是否需要认证: 是

2. 创建用户

  • 接口地址: POST /api/users
  • 是否需要认证: 是

3. 更新用户

  • 接口地址: PUT /api/users/:id
  • 是否需要认证: 是

4. 删除用户

  • 接口地址: DELETE /api/users/:id
  • 是否需要认证: 是

角色管理模块 (Roles)

1. 获取角色列表

  • 接口地址: GET /api/roles
  • 是否需要认证: 是

2. 创建角色

  • 接口地址: POST /api/roles
  • 是否需要认证: 是

3. 更新角色

  • 接口地址: PUT /api/roles/:id
  • 是否需要认证: 是

4. 删除角色

  • 接口地址: DELETE /api/roles/:id
  • 是否需要认证: 是

菜单管理模块 (Menus)

1. 获取菜单列表

  • 接口地址: GET /api/menus
  • 是否需要认证: 是

2. 创建菜单

  • 接口地址: POST /api/menus
  • 是否需要认证: 是

3. 更新菜单

  • 接口地址: PUT /api/menus/:id
  • 是否需要认证: 是

4. 删除菜单

  • 接口地址: DELETE /api/menus/:id
  • 是否需要认证: 是

日志管理模块 (Logs)

1. 获取操作日志列表

  • 接口地址: GET /api/logs
  • 是否需要认证: 是

计费管理模块 (Billing)

1. 获取计费记录列表

  • 接口地址: GET /api/billing
  • 是否需要认证: 是

2. 创建计费记录

  • 接口地址: POST /api/billing
  • 是否需要认证: 是

请求头规范

公共请求头

请求头 必填 说明
Content-Type 固定值 application/json
Authorization 条件 认证接口需要,格式 Bearer {token}

认证请求示例

uni.request({
  url: 'http://localhost:3000/api/apartments',
  method: 'GET',
  header: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIs...'
  }
})

错误处理规范

统一错误响应格式

{
  "code": 400,
  "message": "请求参数错误",
  "error": "具体错误信息"
}

常见错误场景

场景 状态码 处理方式
Token过期 401 跳转登录页重新登录
权限不足 403 提示用户无权限
参数错误 400 提示用户检查输入
服务器错误 500 提示用户稍后重试

版本记录

版本 日期 说明
v1.0.0 2025-04-07 初始版本,定义基础接口规范