HomeLease/api/user/user.js

167 lines
4.0 KiB
JavaScript
Raw Normal View History

2025-08-19 11:54:07 +08:00
import request from '@/utils/request'
2025-08-19 12:01:17 +08:00
import { mockUserInfo, mockFinancialData, mockAgentStats, createMockResponse } from './mockData.js'
2025-08-19 11:54:07 +08:00
/**
* 获取用户信息
* @returns {Promise} 返回用户信息
*/
export function getUserInfo() {
return request({
url: '/app/user/getUser',
method: 'GET',
showLoading: false,
}).catch(error => {
console.warn('用户信息API调用失败使用模拟数据:', error)
// 如果API调用失败返回模拟数据
return createMockResponse(mockUserInfo)
})
}
/**
* 获取用户财务数据
* @returns {Promise} 返回财务数据
*/
export function getUserFinancialData() {
return request({
url: '/app/user/getBill',
2025-08-19 11:54:07 +08:00
method: 'GET',
showLoading: false,
}).catch(error => {
console.warn('财务数据API调用失败使用模拟数据:', error)
// 如果API调用失败返回模拟数据
return createMockResponse(mockFinancialData)
})
}
/**
* 获取用户统计信息
* @returns {Promise} 返回用户统计信息
*/
export function getUserStats() {
return request({
url: '/app/user/stats',
method: 'GET',
showLoading: false,
}).catch(error => {
console.warn('用户统计API调用失败使用模拟数据:', error)
// 如果API调用失败返回模拟数据
2025-08-19 12:01:17 +08:00
return createMockResponse(mockAgentStats)
})
}
/**
* 获取代理统计数据
* @returns {Promise} 返回代理统计信息
*/
export function getAgentCount() {
return request({
url: '/app/order/agentCount',
method: 'GET',
showLoading: false,
}).catch(error => {
console.warn('代理统计API调用失败使用模拟数据:', error)
// 如果API调用失败返回模拟数据
return createMockResponse({
userNum: 4,
deviceNum: 1,
rentAmount: 2
})
})
}
/**
* 获取用户列表
* @param {Object} params - 查询参数
* @returns {Promise} 返回用户列表数据
*/
export function getUserList(params = {}) {
return request({
url: '/app/user/list',
method: 'GET',
params,
showLoading: false,
}).catch(error => {
console.warn('用户列表API调用失败使用模拟数据:', error)
// 如果API调用失败返回模拟数据
return createMockResponse([
{
id: 1,
username: '张三',
totalAmount: '5000',
deviceCount: 2,
devices: [
{
type: '智能门锁',
amount: '1000',
rentDate: '2025.01.15 12:56:08',
period: '1年',
expiryDate: '2026.01.15 12:56:08',
},
{
type: '智能摄像头',
amount: '800',
rentDate: '2025.02.20 10:30:00',
period: '6个月',
expiryDate: '2025.08.20 10:30:00',
},
],
},
{
id: 2,
username: '李四',
totalAmount: '3200',
deviceCount: 3,
devices: [
{
type: '智能门锁',
amount: '1200',
rentDate: '2025.03.10 14:20:00',
period: '1年',
expiryDate: '2026.03.10 14:20:00',
},
{
type: '智能摄像头',
amount: '600',
rentDate: '2025.04.05 09:15:00',
period: '3个月',
expiryDate: '2025.07.05 09:15:00',
},
{
type: '智能音箱',
amount: '400',
rentDate: '2025.05.12 16:45:00',
period: '6个月',
expiryDate: '2025.11.12 16:45:00',
},
],
},
])
2025-08-19 11:54:07 +08:00
})
}
/**
* 更新用户信息
* @param {Object} data - 用户信息数据
* @returns {Promise} 返回更新结果
*/
export function updateUserInfo(data) {
return request({
url: '/app/user/update',
method: 'POST',
data,
})
}
/**
* 获取用户头像
* @param {string} userId - 用户ID
* @returns {Promise} 返回头像URL
*/
export function getUserAvatar(userId) {
return request({
url: '/app/user/avatar',
method: 'GET',
params: { userId },
showLoading: false,
})
}