import 'dart:async'; // import 'package:google_sign_in/google_sign_in.dart'; import 'package:bytedesk_kefu/model/codeResult.dart'; import 'package:bytedesk_kefu/model/jsonResult.dart'; import 'package:bytedesk_kefu/model/user.dart'; import 'package:bytedesk_kefu/http/bytedesk_user_api.dart'; import 'package:bytedesk_kefu/model/oauth.dart'; // import 'package:meta/meta.dart'; class UserRepository { final BytedeskUserHttpApi bytedeskHttpApi = BytedeskUserHttpApi(); UserRepository(); Future<OAuth> login(String? username, String? password) { return bytedeskHttpApi.oauth(username, password); } Future<OAuth> smsOAuth(String? mobile, String? code) { return bytedeskHttpApi.smsOAuth(mobile, code); } Future<OAuth> unionIdOAuth(String? unionid) { return bytedeskHttpApi.unionIdOAuth(unionid); } Future<JsonResult> register(String? mobile, String? password) { return bytedeskHttpApi.register(mobile, password); } Future<JsonResult> changePassword(String? mobile, String? password) { return bytedeskHttpApi.changePassword(mobile, password); } Future<CodeResult> requestCode(String? mobile) { return bytedeskHttpApi.requestCode(mobile); } Future<JsonResult> bindMobile(String? mobile) { return bytedeskHttpApi.bindMobile(mobile); } Future<String> upload(String? filePath) { return bytedeskHttpApi.upload(filePath); } Future<User> updateAvatar(String? avatar) { return bytedeskHttpApi.updateAvatar(avatar); } Future<User> updateNickname(String? nickname) { return bytedeskHttpApi.updateNickname(nickname); } Future<User> updateDescription(String? description) { return bytedeskHttpApi.updateDescription(description); } Future<User> updateSex(bool? sex) { return bytedeskHttpApi.updateSex(sex); } Future<User> updateLocation(String? location) { return bytedeskHttpApi.updateLocation(location); } Future<User> updateBirthday(String? birthday) { return bytedeskHttpApi.updateBirthday(birthday); } Future<User> updateMobile(String? mobile) { return bytedeskHttpApi.updateMobile(mobile); } Future<bool> isFollowed(String? uid) { return bytedeskHttpApi.isFollowed(uid); } Future<JsonResult> follow(String? uid) { return bytedeskHttpApi.follow(uid); } Future<JsonResult> unfollow(String? uid) { return bytedeskHttpApi.unfollow(uid); } Future<void> logout() { // BytedeskUtils.printLog("user_repository logout"); return Future.wait([bytedeskHttpApi.logout()]); } // Future<bool> isLogin() { // BytedeskUtils.printLog("user_repository isSignedIn"); // // final currentUser = BytedeskHttpApi.currentUser(); // // return currentUser != null; // } Future<User> getProfile() { return bytedeskHttpApi.getProfile(); } // Future<String> getUsername() { // BytedeskUtils.printLog("user_repository getUsername"); // return (BytedeskHttpApi.currentUser()).username; // } }