82 lines
2.2 KiB
JavaScript
82 lines
2.2 KiB
JavaScript
import request from '../http'
|
|
|
|
// 设备查询
|
|
export const getDeviceInfo = (deviceNo) => {
|
|
return request({
|
|
url: `/app/device/${deviceNo}`,
|
|
method: 'get',
|
|
})
|
|
}
|
|
|
|
// 查询附近设备
|
|
export const getNearbyDevices = ({ userLatitude, userLongitude, queryType = 'rent', radiusKm = 5, pageNum = 1, pageSize = 100 }) => {
|
|
return request({
|
|
url: `/device/device/nearby?pageNum=${pageNum}&pageSize=${pageSize}`,
|
|
method: 'post',
|
|
data: {
|
|
userLatitude,
|
|
userLongitude,
|
|
queryType, // 'rent' 可租借 或 'return' 可归还
|
|
radiusKm
|
|
},
|
|
hideLoading: true // 不显示加载提示,由页面自己控制
|
|
})
|
|
}
|
|
|
|
// 转换设备数据为统一格式(兼容旧的场地数据结构)
|
|
export const transformDeviceData = (device) => {
|
|
return {
|
|
...device,
|
|
// 保持原有字段
|
|
positionId: device.deviceId, // 使用 deviceId 作为 positionId
|
|
name: device.name || device.positionName,
|
|
location: device.deviceLocation,
|
|
latitude: device.latitude,
|
|
longitude: device.longitude,
|
|
distance: device.distance ? `${device.distance}km` : '',
|
|
distanceInMeters: device.distance ? device.distance * 1000 : 999000,
|
|
// 设备特有字段
|
|
deviceNo: device.deviceNo,
|
|
deviceImg: device.deviceImg,
|
|
availablePowerBankCount: device.availablePowerBankCount,
|
|
availableEmptyGridCount: device.availableEmptyGridCount,
|
|
totalGridCount: device.totalGridCount,
|
|
remark: device.remark || '', // 计费备注信息
|
|
status: device.status || 'online',
|
|
// 添加租借和归还能力标识
|
|
canRent: (device.availablePowerBankCount || 0) > 0,
|
|
canReturn: (device.availableEmptyGridCount || 0) > 0
|
|
}
|
|
}
|
|
|
|
// 立即租借
|
|
export const rentPowerBank = (deviceNo, phone) => {
|
|
return request({
|
|
url: `/app/device/rentPowerBank?deviceNo=${deviceNo}`,
|
|
method: 'post',
|
|
data: {
|
|
// deviceNo,
|
|
phone
|
|
}
|
|
})
|
|
}
|
|
|
|
// 确认支付并弹出风扇
|
|
export const confirmPaymentAndRent = (orderId) => {
|
|
console.log(`确认支付并弹出风扇, orderId: ${orderId}`)
|
|
return request({
|
|
url: `/app/device/confirmPaymentAndRent?orderId=${orderId}`,
|
|
method: 'GET'
|
|
})
|
|
}
|
|
|
|
// 强制打开空格子
|
|
export const forcefOpenEmptyGrid = (deviceNo) => {
|
|
console.log(`强制打开空格子, deviceNo: ${deviceNo}`)
|
|
return request({
|
|
url: `/app/device/forcef/${deviceNo}`,
|
|
method: 'post'
|
|
})
|
|
}
|
|
|