157 lines
3.6 KiB
Markdown
157 lines
3.6 KiB
Markdown
# 用户API模块
|
||
|
||
## 概述
|
||
|
||
用户API模块提供了用户信息、财务数据和统计信息的获取功能。
|
||
|
||
## API列表
|
||
|
||
### 1. 获取用户信息
|
||
```javascript
|
||
import { getUserInfo } from '@/api/user/user.js'
|
||
|
||
// 获取用户基本信息
|
||
const response = await getUserInfo()
|
||
if (response.code === 200) {
|
||
const userInfo = response.data
|
||
// userInfo包含:userId, nickName, phonenumber, avatar等
|
||
}
|
||
```
|
||
|
||
### 2. 获取财务数据
|
||
```javascript
|
||
import { getUserFinancialData } from '@/api/user/user.js'
|
||
|
||
// 获取用户财务信息
|
||
const response = await getUserFinancialData()
|
||
if (response.code === 200) {
|
||
const financialData = response.data
|
||
// financialData包含:withdrawable, pending, withdrawing, withdrawn等
|
||
}
|
||
```
|
||
|
||
### 3. 获取用户统计
|
||
```javascript
|
||
import { getUserStats } from '@/api/user/user.js'
|
||
|
||
// 获取用户统计信息
|
||
const response = await getUserStats()
|
||
if (response.code === 200) {
|
||
const userStats = response.data
|
||
// userStats包含:users, leases, amount等
|
||
}
|
||
```
|
||
|
||
### 4. 更新用户信息
|
||
```javascript
|
||
import { updateUserInfo } from '@/api/user/user.js'
|
||
|
||
// 更新用户信息
|
||
const userData = {
|
||
nickName: '新昵称',
|
||
phonenumber: '13800138000'
|
||
}
|
||
const response = await updateUserInfo(userData)
|
||
```
|
||
|
||
## 数据结构
|
||
|
||
### 用户信息 (UserInfo)
|
||
```javascript
|
||
{
|
||
userId: '1', // 用户ID
|
||
nickName: '超级管理员', // 昵称
|
||
phonenumber: '15888888888', // 手机号
|
||
avatar: 'https://...', // 头像URL
|
||
email: null, // 邮箱
|
||
sex: null, // 性别
|
||
status: '0', // 状态
|
||
createTime: null, // 创建时间
|
||
updateTime: null // 更新时间
|
||
}
|
||
```
|
||
|
||
### 财务数据 (FinancialData)
|
||
```javascript
|
||
{
|
||
withdrawable: '18079.29', // 可提现金额
|
||
pending: '399.59', // 待入账金额
|
||
withdrawing: '9.59', // 提现中金额
|
||
withdrawn: '999.59', // 已提现金额
|
||
totalIncome: '20000.00', // 总收入
|
||
totalExpense: '1521.72' // 总支出
|
||
}
|
||
```
|
||
|
||
### 用户统计 (UserStats)
|
||
```javascript
|
||
{
|
||
users: 30, // 名下用户数
|
||
leases: 30, // 租赁数量
|
||
amount: 3000, // 租赁金额
|
||
activeUsers: 25, // 活跃用户数
|
||
totalLeases: 45, // 总租赁数
|
||
totalAmount: 5000 // 总金额
|
||
}
|
||
```
|
||
|
||
## 错误处理
|
||
|
||
所有API都包含错误处理机制:
|
||
|
||
1. **网络错误**:自动使用模拟数据
|
||
2. **API错误**:返回错误信息
|
||
3. **数据验证**:确保返回数据格式正确
|
||
|
||
## 模拟数据
|
||
|
||
当API不可用时,系统会自动使用模拟数据:
|
||
|
||
- 用户信息:超级管理员
|
||
- 财务数据:预设的金额数据
|
||
- 用户统计:预设的统计数据
|
||
|
||
## 使用示例
|
||
|
||
在Vue组件中使用:
|
||
|
||
```javascript
|
||
export default {
|
||
data() {
|
||
return {
|
||
userInfo: {},
|
||
financialData: {},
|
||
userStats: {}
|
||
}
|
||
},
|
||
|
||
async onLoad() {
|
||
await this.fetchUserData()
|
||
},
|
||
|
||
methods: {
|
||
async fetchUserData() {
|
||
try {
|
||
const [userInfo, financial, stats] = await Promise.all([
|
||
getUserInfo(),
|
||
getUserFinancialData(),
|
||
getUserStats()
|
||
])
|
||
|
||
this.userInfo = userInfo.data
|
||
this.financialData = financial.data
|
||
this.userStats = stats.data
|
||
} catch (error) {
|
||
console.error('获取用户数据失败:', error)
|
||
}
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
## 注意事项
|
||
|
||
1. 所有API都需要有效的token
|
||
2. 财务数据需要用户登录后才能获取
|
||
3. 统计数据可能有缓存,建议定期刷新
|
||
4. 头像URL需要网络访问权限 |