# 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('租借指令发送成功'); } ```