2025-08-19 11:54:07 +08:00
|
|
|
|
import request from '@/utils/request'
|
2025-08-22 16:51:58 +08:00
|
|
|
|
import {
|
|
|
|
|
|
mockUserInfo,
|
|
|
|
|
|
mockFinancialData,
|
|
|
|
|
|
mockAgentStats,
|
|
|
|
|
|
mockAgentList,
|
|
|
|
|
|
mockWithdrawInfo,
|
|
|
|
|
|
mockBanks,
|
|
|
|
|
|
createMockResponse,
|
|
|
|
|
|
} from './mockData.js'
|
2025-08-20 11:57:07 +08:00
|
|
|
|
import { uploadFile } from '@/utils/request.js'
|
2025-08-19 11:54:07 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 获取用户信息
|
|
|
|
|
|
* @returns {Promise} 返回用户信息
|
|
|
|
|
|
*/
|
|
|
|
|
|
export function getUserInfo() {
|
|
|
|
|
|
return request({
|
|
|
|
|
|
url: '/app/user/getUser',
|
|
|
|
|
|
method: 'GET',
|
|
|
|
|
|
showLoading: false,
|
|
|
|
|
|
})
|
2025-08-22 16:51:58 +08:00
|
|
|
|
.then(response => {
|
|
|
|
|
|
// 如果API调用成功,将用户ID存入本地存储
|
|
|
|
|
|
if (response.code === 200 && response.data && response.data.userId) {
|
|
|
|
|
|
uni.setStorageSync('userId', response.data.userId)
|
|
|
|
|
|
console.log('用户ID已存入本地存储:', response.data.userId)
|
|
|
|
|
|
}
|
|
|
|
|
|
return response
|
|
|
|
|
|
})
|
|
|
|
|
|
.catch(error => {
|
|
|
|
|
|
console.warn('用户信息API调用失败,使用模拟数据:', error)
|
|
|
|
|
|
// 如果API调用失败,返回模拟数据
|
|
|
|
|
|
const mockResponse = createMockResponse(mockUserInfo)
|
|
|
|
|
|
// 模拟数据中如果有用户ID,也存入本地存储
|
|
|
|
|
|
if (mockResponse.data && mockResponse.data.userId) {
|
|
|
|
|
|
uni.setStorageSync('userId', mockResponse.data.userId)
|
|
|
|
|
|
console.log('模拟数据用户ID已存入本地存储:', mockResponse.data.userId)
|
|
|
|
|
|
}
|
|
|
|
|
|
return mockResponse
|
|
|
|
|
|
})
|
2025-08-19 11:54:07 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 获取用户财务数据
|
|
|
|
|
|
* @returns {Promise} 返回财务数据
|
|
|
|
|
|
*/
|
|
|
|
|
|
export function getUserFinancialData() {
|
|
|
|
|
|
return request({
|
2025-08-19 11:58:06 +08:00
|
|
|
|
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,
|
2025-08-22 16:51:58 +08:00
|
|
|
|
rentAmount: 2,
|
2025-08-19 12:01:17 +08:00
|
|
|
|
})
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
2025-08-19 14:01:32 +08:00
|
|
|
|
* 获取代理用户列表
|
2025-08-19 12:01:17 +08:00
|
|
|
|
* @param {Object} params - 查询参数
|
2025-08-19 14:01:32 +08:00
|
|
|
|
* @param {string} params.beginTime - 开始时间
|
2025-08-22 16:51:58 +08:00
|
|
|
|
* @param {string} params.endTime - 结束时间
|
2025-08-19 14:01:32 +08:00
|
|
|
|
* @param {string} params.name - 用户昵称搜索
|
|
|
|
|
|
* @returns {Promise}
|
2025-08-19 12:01:17 +08:00
|
|
|
|
*/
|
2025-08-19 14:01:32 +08:00
|
|
|
|
export function getAgentList(params = {}) {
|
2025-08-19 12:01:17 +08:00
|
|
|
|
return request({
|
2025-08-19 14:01:32 +08:00
|
|
|
|
url: '/app/order/agentList',
|
2025-08-19 12:01:17 +08:00
|
|
|
|
method: 'GET',
|
|
|
|
|
|
params,
|
|
|
|
|
|
showLoading: false,
|
|
|
|
|
|
}).catch(error => {
|
2025-08-19 14:01:32 +08:00
|
|
|
|
console.warn('代理用户列表API调用失败,使用模拟数据:', error)
|
2025-08-19 12:01:17 +08:00
|
|
|
|
// 如果API调用失败,返回模拟数据
|
2025-08-19 14:01:32 +08:00
|
|
|
|
return createMockResponse(mockAgentList)
|
2025-08-19 11:54:07 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-19 14:01:32 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 获取用户列表 (使用代理列表接口)
|
|
|
|
|
|
* @param {Object} params - 查询参数
|
|
|
|
|
|
* @returns {Promise}
|
|
|
|
|
|
*/
|
|
|
|
|
|
export function getUserList(params = {}) {
|
|
|
|
|
|
return getAgentList(params)
|
|
|
|
|
|
}
|
|
|
|
|
|
|
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,
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-20 10:03:06 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 更新用户昵称
|
|
|
|
|
|
* @param {string} nickName - 新的昵称
|
|
|
|
|
|
* @returns {Promise} 返回更新结果
|
|
|
|
|
|
*/
|
|
|
|
|
|
export function updateNickName(nickName) {
|
|
|
|
|
|
return request({
|
|
|
|
|
|
url: '/app/user/updateNickName',
|
|
|
|
|
|
method: 'PUT',
|
|
|
|
|
|
params: { nickName },
|
|
|
|
|
|
showLoading: true,
|
2025-08-20 10:12:49 +08:00
|
|
|
|
// 强制将params作为查询参数发送
|
|
|
|
|
|
useQueryParams: true,
|
2025-08-20 10:03:06 +08:00
|
|
|
|
}).catch(error => {
|
|
|
|
|
|
console.warn('更新昵称API调用失败:', error)
|
|
|
|
|
|
throw error
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-19 14:22:25 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 获取提现信息
|
|
|
|
|
|
* @returns {Promise} 返回提现相关信息
|
|
|
|
|
|
*/
|
|
|
|
|
|
export function getWithdrawInfo() {
|
|
|
|
|
|
return request({
|
|
|
|
|
|
url: '/app/withdraw',
|
|
|
|
|
|
method: 'GET',
|
|
|
|
|
|
showLoading: false,
|
|
|
|
|
|
}).catch(error => {
|
|
|
|
|
|
console.warn('提现信息API调用失败,使用模拟数据:', error)
|
|
|
|
|
|
return createMockResponse(mockWithdrawInfo)
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-22 16:51:58 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 获取服务费用明细
|
|
|
|
|
|
* @returns {Promise} 返回服务费用明细
|
|
|
|
|
|
*/
|
2025-08-25 10:11:25 +08:00
|
|
|
|
export function computedServiceAmount(amount) {
|
2025-08-22 16:51:58 +08:00
|
|
|
|
return request({
|
|
|
|
|
|
url: '/app/withdraw/serviceAmount',
|
|
|
|
|
|
method: 'GET',
|
|
|
|
|
|
showLoading: false,
|
2025-08-25 10:11:25 +08:00
|
|
|
|
params: { amount },
|
2025-08-22 16:51:58 +08:00
|
|
|
|
}).catch(error => {
|
|
|
|
|
|
console.warn('服务费用API调用失败,使用模拟数据:', error)
|
|
|
|
|
|
return createMockResponse(mockWithdrawInfo)
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-19 14:22:25 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 提交提现申请
|
|
|
|
|
|
* @param {Object} data 提现数据
|
|
|
|
|
|
* @param {number} data.amount 提现金额
|
2025-08-25 11:40:20 +08:00
|
|
|
|
* @param {string} data.accountId 账号id
|
|
|
|
|
|
* @param {string} data.serviceType 服务类型
|
|
|
|
|
|
* @param {string} data.serviceCharge 服务费
|
|
|
|
|
|
* @param {string} data.arrivalAmount 实际到达金额
|
2025-08-19 14:22:25 +08:00
|
|
|
|
* @returns {Promise} 返回提现申请结果
|
|
|
|
|
|
*/
|
|
|
|
|
|
export function submitWithdraw(data) {
|
|
|
|
|
|
return request({
|
|
|
|
|
|
url: '/app/withdraw',
|
|
|
|
|
|
method: 'POST',
|
|
|
|
|
|
data,
|
|
|
|
|
|
showLoading: true,
|
|
|
|
|
|
}).catch(error => {
|
|
|
|
|
|
console.warn('提现申请API调用失败:', error)
|
|
|
|
|
|
throw error
|
|
|
|
|
|
})
|
2025-08-22 16:51:58 +08:00
|
|
|
|
}
|
2025-08-20 11:45:42 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 上传头像
|
|
|
|
|
|
* @param {string} filePath - 文件路径
|
|
|
|
|
|
* @returns {Promise} 返回上传结果
|
|
|
|
|
|
*/
|
|
|
|
|
|
export function uploadAvatar(filePath) {
|
2025-08-22 16:51:58 +08:00
|
|
|
|
return uploadFile(
|
|
|
|
|
|
'/app/user/avatar',
|
|
|
|
|
|
filePath,
|
|
|
|
|
|
'avatarfile',
|
|
|
|
|
|
{},
|
|
|
|
|
|
{
|
|
|
|
|
|
timeout: 60000,
|
|
|
|
|
|
}
|
|
|
|
|
|
)
|
|
|
|
|
|
.then(data => {
|
|
|
|
|
|
// 上传成功后更新本地存储
|
|
|
|
|
|
const userInfo = uni.getStorageSync('userInfo') || {}
|
|
|
|
|
|
userInfo.avatar = data.data?.avatar || data.data
|
|
|
|
|
|
uni.setStorageSync('userInfo', userInfo)
|
|
|
|
|
|
|
|
|
|
|
|
// 通知其他页面更新头像
|
|
|
|
|
|
uni.$emit('avatarUpdated', userInfo.avatar)
|
|
|
|
|
|
|
|
|
|
|
|
console.log('头像上传成功,已更新本地存储:', userInfo.avatar)
|
|
|
|
|
|
return data
|
|
|
|
|
|
})
|
|
|
|
|
|
.catch(error => {
|
|
|
|
|
|
console.error('头像上传失败:', error)
|
|
|
|
|
|
throw error
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
2025-08-20 16:59:06 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 获取本地存储的用户ID
|
|
|
|
|
|
* @returns {string|null} 返回用户ID,如果不存在则返回null
|
|
|
|
|
|
*/
|
|
|
|
|
|
export function getLocalUserId() {
|
|
|
|
|
|
return uni.getStorageSync('userId') || null
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 清除本地存储的用户ID
|
|
|
|
|
|
*/
|
|
|
|
|
|
export function clearLocalUserId() {
|
|
|
|
|
|
uni.removeStorageSync('userId')
|
|
|
|
|
|
console.log('本地用户ID已清除')
|
2025-08-22 16:51:58 +08:00
|
|
|
|
}
|