HomeLease/api/README.md

187 lines
4.6 KiB
Markdown
Raw Permalink Normal View History

2025-08-19 10:11:19 +08:00
# API 模块使用说明
## 概述
本项目使用统一的API请求工具 `@/utils/request.js`所有API请求都通过该工具进行无需重复配置基地址和请求头。
## 目录结构
```
api/
├── index.js # API模块统一导出
2025-08-20 15:32:16 +08:00
├── account.js # 银行卡账户管理API
2025-08-19 10:11:19 +08:00
├── lease/ # 租赁相关API
│ └── lease.js
├── device/ # 设备相关API
│ └── device.js
├── banner/ # 轮播图相关API
│ └── banner.js
├── article/ # 文章相关API
│ └── article.js
└── auth/ # 认证相关API
└── auth.js
```
2025-08-20 15:32:16 +08:00
## 银行卡账户管理API
### 接口说明
银行卡账户管理模块提供了完整的银行卡CRUD操作支持银行卡和收款二维码两种类型。
### 主要接口
#### 1. 添加银行卡号
```javascript
import { addBankAccount } from '@/api/account.js'
// 添加银行卡
const params = {
type: 'BANK', // 类型BANK=银行卡, QR=收款二维码
no: '6217002490009046470', // 银行卡号或收款码图片URL
name: '刘芙杰', // 收款人姓名
idCard: '411303198912184826', // 身份证号
mobile: '18913873357' // 手机号
}
const response = await addBankAccount(params)
```
#### 2. 删除银行卡号
```javascript
import { deleteBankAccount } from '@/api/account.js'
// 删除单个银行卡
await deleteBankAccount('15')
// 删除多个银行卡
await deleteBankAccount(['15', '14'])
// 或者
await deleteBankAccount('15,14')
```
#### 3. 获取银行卡列表
```javascript
import { getBankAccountList } from '@/api/account.js'
const response = await getBankAccountList()
```
#### 4. 更新银行卡信息
```javascript
import { updateBankAccount } from '@/api/account.js'
const params = {
id: '15', // 银行卡ID
type: 'BANK',
no: '6217002490009046470',
name: '刘芙杰',
idCard: '411303198912184826',
mobile: '18913873357'
}
const response = await updateBankAccount(params)
```
### 参数说明
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| type | string | 是 | BANK=线下银行卡, QR=线下收款二维码 |
| no | string | 是 | type是银行卡:银行卡号。type是二维码收款:收款码图片URL |
| name | string | 是 | 收款人姓名 |
| idCard | string | 是 | 身份证号 |
| mobile | string | 是 | 手机号 |
2025-08-19 10:11:19 +08:00
## 使用方法
### 1. 导入API方法
```javascript
// 方式1从具体模块导入
import { getDeviceTypes, getPeriodPackages } from '@/api/lease/lease.js'
// 方式2从统一入口导入
import { getDeviceTypes, getPeriodPackages } from '@/api/index.js'
```
### 2. 在组件中使用
```javascript
export default {
methods: {
async fetchData() {
try {
const response = await getDeviceTypes()
if (response.code === 200) {
this.deviceTypes = response.data
} else {
throw new Error(response.message || '请求失败')
}
} catch (error) {
console.error('获取数据失败:', error)
uni.showToast({
title: error.message || '获取数据失败',
icon: 'error',
})
}
}
}
}
```
## API方法命名规范
- 获取列表:`getXxxList`
- 获取详情:`getXxxDetail`
- 创建:`createXxx`
- 更新:`updateXxx`
- 删除:`deleteXxx`
## 请求工具特性
### 自动处理
- ✅ 基地址配置
- ✅ 请求头设置
- ✅ Token管理
- ✅ Loading状态
- ✅ 错误处理
- ✅ 超时处理
### 配置选项
```javascript
request({
url: '/api/endpoint',
method: 'GET',
params: { id: 1 },
loadingText: '加载中...', // 自定义loading文本
showLoading: true, // 是否显示loading
timeout: 60000, // 超时时间
noToken: false, // 是否需要token
})
```
## 环境配置
请求工具会根据当前环境自动选择对应的配置:
- **开发环境**`http://192.168.2.114:4601`
- **体验版**`http://192.168.2.114:4601`
- **正式版**`http://192.168.2.114:4601`
## 错误处理
所有API请求都会自动处理以下错误
- 401登录过期自动跳转登录页
- 403权限不足
- 404资源不存在
- 500服务器错误
- 网络错误:超时、连接失败等
## 注意事项
1. **方法名冲突**避免页面方法名与API方法名相同建议使用别名导入
2. **Loading管理**请求工具已内置loading管理无需手动处理
3. **错误提示**:统一使用 `uni.showToast` 显示错误信息
4. **Token处理**开发环境支持临时token生产环境使用真实token