Files
uni-fans-score/README.md
T
2025-05-07 16:12:26 +08:00

300 lines
5.8 KiB
Markdown

# Uni-Fans API 接口文档
本文档详细说明了 Uni-Fans 应用中使用的所有接口,包括参数说明和使用示例。
## 目录
1. [订单查询接口](#1-订单查询接口)
2. [设备信息查询接口](#2-设备信息查询接口)
3. [订单套餐更新接口](#3-订单套餐更新接口)
4. [用户余额更新接口](#4-用户余额更新接口)
5. [微信支付订单创建接口](#5-微信支付订单创建接口)
6. [设备租借指令接口](#6-设备租借指令接口)
## 1. 订单查询接口
### 描述
根据订单ID查询订单详细信息。
### 接口信息
- **方法名**: `queryById`
- **请求方式**: GET
- **URL**: `/app/order/query/{orderId}`
### 请求参数
| 参数名 | 类型 | 必须 | 描述 |
| ----- | ---- | ---- | ---- |
| orderId | String | 是 | 订单ID |
### 响应参数
```json
{
"code": 200,
"msg": "操作成功",
"data": {
"orderId": "订单ID",
"orderNo": "订单编号",
"deviceNo": "设备编号",
"createTime": "创建时间",
"phone": "联系电话",
"depositAmount": "押金金额",
"packageTime": "套餐时间(分钟)",
"packagePrice": "套餐价格"
}
}
```
### 使用示例
```javascript
const orderInfo = await queryById('12345');
if (orderInfo.code === 200) {
// 处理订单信息
console.log(orderInfo.data);
}
```
## 2. 设备信息查询接口
### 描述
根据设备编号查询设备详细信息。
### 接口信息
- **方法名**: `getDeviceInfo`
- **请求方式**: GET
- **URL**: `/app/device/info/{deviceNo}`
### 请求参数
| 参数名 | 类型 | 必须 | 描述 |
| ----- | ---- | ---- | ---- |
| deviceNo | String | 是 | 设备编号 |
### 响应参数
```json
{
"code": 200,
"msg": "操作成功",
"data": {
"device": {
"deviceNo": "设备编号",
"deviceName": "设备名称",
"deviceStatus": "设备状态",
"depositAmount": "押金金额",
"feeType": "收费类型(hour/times)",
"feeConfig": "费用配置JSON字符串"
}
}
}
```
### 使用示例
```javascript
const deviceInfo = await getDeviceInfo('D001');
if (deviceInfo.code === 200) {
// 处理设备信息
console.log(deviceInfo.data.device);
}
```
## 3. 订单套餐更新接口
### 描述
更新订单的套餐信息。
### 接口信息
- **方法名**: `updateOrderPackage`
- **请求方式**: POST
- **URL**: `/app/order/update-package`
### 请求参数
| 参数名 | 类型 | 必须 | 描述 |
| ----- | ---- | ---- | ---- |
| orderId | String | 是 | 订单ID |
| packageTime | Number | 是 | 套餐时间(分钟) |
| packagePrice | Number | 是 | 套餐价格 |
### 响应参数
```json
{
"code": 200,
"msg": "操作成功",
"data": null
}
```
### 使用示例
```javascript
const result = await updateOrderPackage({
orderId: '12345',
packageTime: 360, // 6小时(分钟)
packagePrice: 30 // 30元
});
if (result.code === 200) {
console.log('套餐更新成功');
}
```
## 4. 用户余额更新接口
### 描述
支付成功后更新用户余额信息。
### 接口信息
- **方法名**: `updateUserBalance`
- **请求方式**: POST
- **URL**: `/app/user/update-balance`
### 请求参数
| 参数名 | 类型 | 必须 | 描述 |
| ----- | ---- | ---- | ---- |
| orderId | String | 是 | 订单ID |
### 响应参数
```json
{
"code": 200,
"msg": "操作成功",
"data": {
"userId": "用户ID",
"balance": "更新后余额"
}
}
```
### 使用示例
```javascript
const result = await updateUserBalance('12345');
if (result.code === 200) {
console.log('用户余额更新成功');
}
```
## 5. 微信支付订单创建接口
### 描述
创建微信支付订单。
### 接口信息
- **请求方式**: GET
- **URL**: `/app/wx-payment/create/{orderNo}`
### 请求参数
| 参数名 | 类型 | 必须 | 描述 |
| ----- | ---- | ---- | ---- |
| orderNo | String | 是 | 订单编号 |
### 请求头
| 参数名 | 必须 | 描述 |
| ----- | ---- | ---- |
| Authorization | 是 | Bearer 认证令牌 |
| Clientid | 是 | 客户端ID |
### 响应参数
```json
{
"code": 200,
"msg": "操作成功",
"data": {
"appId": "微信应用ID",
"timeStamp": "时间戳",
"nonceStr": "随机字符串",
"package": "预支付交易会话标识",
"signType": "签名类型",
"paySign": "签名"
}
}
```
### 使用示例
```javascript
const res = await uni.request({
url: `${URL}/app/wx-payment/create/${orderNo}`,
method: 'GET',
header: {
'Authorization': "Bearer " + uni.getStorageSync('token'),
'Clientid': uni.getStorageSync('client_id')
}
});
if (res.statusCode === 200 && res.data.code === 200) {
const payParams = res.data.data;
await uni.requestPayment({
...payParams,
success: () => {
console.log('支付成功');
},
fail: (err) => {
console.error('支付失败:', err);
}
});
}
```
## 6. 设备租借指令接口
### 描述
发送设备租借指令。
### 接口信息
- **请求方式**: POST
- **URL**: `/app/device/sendRentCommand`
### 请求参数
| 参数名 | 类型 | 必须 | 描述 |
| ----- | ---- | ---- | ---- |
| orderId | String | 是 | 订单ID |
### 请求头
| 参数名 | 必须 | 描述 |
| ----- | ---- | ---- |
| Content-Type | 是 | application/x-www-form-urlencoded |
| Authorization | 是 | Bearer 认证令牌 |
| Clientid | 是 | 客户端ID |
### 响应参数
```json
{
"code": 200,
"msg": "操作成功",
"data": null
}
```
### 使用示例
```javascript
const res = await uni.request({
url: `${URL}/app/device/sendRentCommand`,
method: 'POST',
data: {
orderId: '12345'
},
header: {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': "Bearer " + uni.getStorageSync('token'),
'Clientid': uni.getStorageSync('client_id')
}
});
if (res.statusCode === 200 && res.data.code === 200) {
console.log('租借指令发送成功');
}
```