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
|