327 lines
7.2 KiB
JavaScript
327 lines
7.2 KiB
JavaScript
import request from './http'
|
|
import { URL, appid } from './url'
|
|
|
|
|
|
//用户登录
|
|
export const login = (data) => {
|
|
return request({
|
|
url: '/app/user/login',
|
|
method: 'get',
|
|
data
|
|
})
|
|
}
|
|
|
|
//用户退出登录
|
|
export const userLogout = (data)=>{
|
|
return request({
|
|
url:'/auth/logout',
|
|
method:'post',
|
|
data
|
|
})
|
|
}
|
|
|
|
//获取用户信息
|
|
export const getMyIndexInfo = (data) => {
|
|
return request({
|
|
url: '/app/user/userInfo',
|
|
method: 'get',
|
|
data,
|
|
})
|
|
}
|
|
|
|
// 添加押金提现API
|
|
export const withdrawDeposit = (orderNo) => {
|
|
return request({
|
|
url: `/app/withdraw/add/${orderNo}`,
|
|
method: 'get',
|
|
hideLoading: true
|
|
})
|
|
}
|
|
|
|
//获取所有全部订单
|
|
export const getOrderList = (data) => {
|
|
return request({
|
|
url: '/app/order/list',
|
|
method: 'get',
|
|
data,
|
|
hideLoading: true
|
|
})
|
|
}
|
|
|
|
//查询是否有订单
|
|
export const queryHasOrder = (deviceNo) => {
|
|
return request({
|
|
url: `/app/order/list?deviceNo=${deviceNo}&orderStatus=in_used`,
|
|
method: 'get',
|
|
})
|
|
}
|
|
|
|
// 查询指定设备号下,特定状态的订单列表
|
|
export const checkOrdersByStatus = (deviceNo, statuses) => {
|
|
// statuses 是一个包含状态字符串的数组,例如 ['in_used', 'waiting_for_payment']
|
|
const statusQuery = statuses.join(','); // 后端需要支持逗号分隔的状态查询
|
|
return request({
|
|
url: `/app/order/list?deviceNo=${deviceNo}&orderStatus=${statusQuery}`,
|
|
method: 'get',
|
|
hideLoading: true, // 隐藏加载提示,避免干扰用户
|
|
ignoreEmptyError: true // 添加标记,表示即使返回空数据也不视为错误
|
|
})
|
|
}
|
|
|
|
//设备查询
|
|
export const getDeviceInfo = (deviceNo) => {
|
|
return request({
|
|
url: `/app/device/${deviceNo}`,
|
|
method: 'get',
|
|
})
|
|
}
|
|
|
|
|
|
//创建订单
|
|
export const createOrder = (data) => {
|
|
return request({
|
|
url: '/app/order/add',
|
|
method: 'post',
|
|
data,
|
|
})
|
|
}
|
|
|
|
//查询订单
|
|
export const queryById = (id) => {
|
|
console.log(`查询订单详情, orderId: ${id}`)
|
|
return request({
|
|
url: `/app/order/${id}`,
|
|
method: 'get',
|
|
hideLoading: true
|
|
})
|
|
}
|
|
|
|
|
|
//取消订单
|
|
export const cancelOrder = (data) => {
|
|
return request({
|
|
url: `/device/order/clear/${data.orderId}`,
|
|
method: 'get',
|
|
data,
|
|
})
|
|
}
|
|
|
|
|
|
//结束订单
|
|
export const overOrderById = (orderId) => {
|
|
console.log(`调用结束订单API, orderId: ${orderId}`)
|
|
return request({
|
|
url: `/app/order/close/${orderId}`,
|
|
method: 'get',
|
|
})
|
|
}
|
|
|
|
//立即租借
|
|
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 addUserFeedback = (data) => {
|
|
console.log(data);
|
|
return request({
|
|
url: '/app/feedback/add',
|
|
method: 'post',
|
|
data,
|
|
})
|
|
}
|
|
|
|
//强制打开空格子
|
|
export const forcefOpenEmptyGrid = (deviceNo) => {
|
|
console.log(`强制打开空格子, deviceNo: ${deviceNo}`)
|
|
return request({
|
|
url: `/app/device/forcef/${deviceNo}`,
|
|
method: 'post'
|
|
})
|
|
}
|
|
|
|
// 通过订单号获取订单信息
|
|
export const getOrderByOrderNo = (orderNo) => {
|
|
return request({
|
|
url: `/app/order/byOrderNo/${orderNo}`,
|
|
method: 'get',
|
|
hideLoading: true
|
|
})
|
|
}
|
|
// 通过订单号获取支付分订单信息
|
|
export const getOrderByOrderNoScore = (orderNo) => {
|
|
console.log('通过订单号获取支付分订单信息', orderNo);
|
|
return request({
|
|
url: `/app/wx-payment/score/create/${orderNo}`,
|
|
method: 'get',
|
|
hideLoading: true
|
|
})
|
|
}
|
|
|
|
export const getOrderByOrderNoScorePayStatus = (orderNo) => {
|
|
console.log('通过订单号获取支付分订单状态', orderNo);
|
|
return request({
|
|
url: `/app/wx-payment/score/status/${orderNo}`,
|
|
method: 'get',
|
|
hideLoading: true
|
|
})
|
|
}
|
|
|
|
// 更新订单套餐信息
|
|
export const updateOrderPackage = (data) => {
|
|
console.log('更新订单套餐信息:', data)
|
|
return request({
|
|
url: '/app/device/updateOrderPackage',
|
|
method: 'post',
|
|
data
|
|
})
|
|
}
|
|
|
|
// 更新用户余额
|
|
export const updateUserBalance = (orderId) => {
|
|
return request({
|
|
url: `/app/user/updateBalance/${orderId}`,
|
|
method: 'post',
|
|
hideLoading: true
|
|
})
|
|
}
|
|
|
|
/*
|
|
*弃用
|
|
*/
|
|
export const getPotionsDetail = (data) => {
|
|
console.log(data);
|
|
return request({
|
|
url: '/device/position/positionDetails',
|
|
method: 'get',
|
|
data
|
|
})
|
|
}
|
|
|
|
// 文件上传到 OSS(若依后端)
|
|
export const uploadOssResource = (filePath) => {
|
|
return new Promise((resolve, reject) => {
|
|
uni.uploadFile({
|
|
url: URL + '/manager/upload',
|
|
filePath,
|
|
name: 'file',
|
|
header: {
|
|
'appid': appid,
|
|
'Authorization': 'Bearer ' + uni.getStorageSync('token'),
|
|
'Clientid': uni.getStorageSync('client_id')
|
|
},
|
|
success: (res) => {
|
|
try {
|
|
const parsed = typeof res.data === 'string' ? JSON.parse(res.data) : res.data
|
|
const codeOk = (res.statusCode === 200 || res.statusCode === 201 || parsed?.code === 200)
|
|
const url = parsed?.url || parsed?.data?.url || parsed?.data?.fileUrl || parsed?.fileUrl || parsed?.path || parsed?.data
|
|
if (codeOk && url) {
|
|
resolve(url)
|
|
return
|
|
}
|
|
reject(parsed || res)
|
|
} catch (e) {
|
|
reject(e)
|
|
}
|
|
},
|
|
fail: (err) => {
|
|
reject(err)
|
|
}
|
|
})
|
|
})
|
|
}
|
|
|
|
// 获取系统配置(预留接口)
|
|
// 期望后端返回形如:{ code: 200, data: { expressReturnCountdownSeconds: number } }
|
|
export const getSystemConfig = () => {
|
|
return request({
|
|
url: '/app/system/config',
|
|
method: 'get',
|
|
hideLoading: true
|
|
})
|
|
}
|
|
|
|
// ===================== 快递归还相关接口 =====================
|
|
// 1) 申请快递归还
|
|
export const applyExpressReturn = (data) => {
|
|
// data: { orderId: number, logisticsTrackingNumber?: string, remark?: string }
|
|
return request({
|
|
url: '/app/express-return/apply',
|
|
method: 'post',
|
|
data
|
|
})
|
|
}
|
|
|
|
// 2) 补填快递单号
|
|
export const fillExpressTrackingNumber = (data) => {
|
|
// data: { id: number, logisticsTrackingNumber: string }
|
|
return request({
|
|
url: '/app/express-return/fill-tracking-number',
|
|
method: 'post',
|
|
data
|
|
})
|
|
}
|
|
|
|
// 3) 查询快递归还记录列表
|
|
export const getExpressReturnList = (params) => {
|
|
// params: { orderId?: number, status?: number, logisticsTrackingNumber?: string, pageNum?: number, pageSize?: number }
|
|
return request({
|
|
url: '/app/express-return/list',
|
|
method: 'get',
|
|
data: params,
|
|
hideLoading: true
|
|
})
|
|
}
|
|
|
|
// 4) 根据订单ID查询快递归还记录
|
|
export const getExpressReturnByOrder = (orderId) => {
|
|
return request({
|
|
url: `/app/express-return/by-order/${orderId}`,
|
|
method: 'get',
|
|
hideLoading: true
|
|
})
|
|
}
|
|
|
|
// 5) 获取快递归还记录详情
|
|
export const getExpressReturnDetail = (id) => {
|
|
return request({
|
|
url: `/app/express-return/${id}`,
|
|
method: 'get',
|
|
hideLoading: true
|
|
})
|
|
}
|
|
|
|
// 6) 取消快递归还申请
|
|
export const cancelExpressReturn = (id) => {
|
|
return request({
|
|
url: `/app/express-return/cancel/${id}`,
|
|
method: 'post'
|
|
})
|
|
}
|
|
|
|
|
|
//获取通知接口
|
|
export const getNoticeTextData = (data)=>{
|
|
return request({
|
|
url: `/system/notice/title/${data.title}`,
|
|
method: 'get'
|
|
})
|
|
} |