import 'package:wow_english/common/core/user_util.dart'; import 'package:wow_english/models/user_entity.dart'; import '../request_client.dart'; class UserDao { /// 登录 static Future login(phoneNumber, type, checkKey, checkNumber) async { var params = {'phoneNum': phoneNumber, 'type': type, checkKey: checkNumber}; var data = await requestClient.post( Apis.login, data: params, ); if (data != null) { UserUtil.saveUser(data); } return data; } /// 登出 static Future logout() async { var result = await requestClient.post(Apis.logout); print('logout result=$result'); UserUtil.logout(); return result; } /// 发送验证码 static Future sendCode(phoneNumber, {smsType = 'login'}) async { final params = {'phoneNum': phoneNumber, 'smsType': smsType}; await requestClient.post(Apis.sendSmsCode, data: params); } /// 设置密码,初始化密码 /// [password] 密码 static Future initPassword(String password) async { final params = {'password': password}; await requestClient.post(Apis.initPassword, data: params); } /// 修改密码 /// [password] 密码 static Future changePassword(String password) async { final params = {'password': password}; await requestClient.post(Apis.changePassword, data: params); } /// 忘记密码 /// [password] 密码 static Future resetPassword(String phoneNum, String password, String smsCode) async { final params = {'phoneNum': phoneNum, 'password': password, 'code': smsCode}; await requestClient.post(Apis.resetPassword, data: params); } /// 获取用户信息 static Future getUserInfo() async { return await requestClient.post(Apis.getUserInfo); } /// 更新用户信息,返回即成功,无body static Future updateUserInfo(UserEntity userEntity) async { return await requestClient.put(Apis.setUserInfo, data: userEntity.toUpdateJson()); } }