feat: 用户管理对接真实 API
后端: 新增 /api/v1/users CRUD + 重置密码接口
前端: user model/repository/provider + 设置页用户 tab 改为真实数据,
支持新增、编辑、启停、重置密码
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import '../core/api/api_client.dart';
|
||||
import '../models/user.dart';
|
||||
|
||||
class UserRepository {
|
||||
final ApiClient _client;
|
||||
UserRepository(this._client);
|
||||
|
||||
Future<List<AppUser>> list() async {
|
||||
final resp = await _client.get('/users');
|
||||
final data = resp.data['data'] as List;
|
||||
return data.map((e) => AppUser.fromJson(e as Map<String, dynamic>)).toList();
|
||||
}
|
||||
|
||||
Future<AppUser> create(Map<String, dynamic> data) async {
|
||||
final resp = await _client.post('/users', data: data);
|
||||
return AppUser.fromJson(resp.data['data'] as Map<String, dynamic>);
|
||||
}
|
||||
|
||||
Future<AppUser> update(int id, Map<String, dynamic> data) async {
|
||||
final resp = await _client.put('/users/$id', data: data);
|
||||
return AppUser.fromJson(resp.data['data'] as Map<String, dynamic>);
|
||||
}
|
||||
|
||||
Future<void> resetPassword(int id, String newPassword) async {
|
||||
await _client.put('/users/$id/reset-password',
|
||||
data: {'password': newPassword});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user