import 'package:cloud_car_internal/models/user/user_info_model.dart'; import 'package:cloud_car_internal/utils/api_client.dart'; import 'package:cloud_car_internal/utils/hive_util.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; class UserProvider extends ChangeNotifier { bool _isLogin = false; bool get isLogin => _isLogin; late UserInfoModel _userInfo; UserInfoModel get userInfo => _userInfo; Future init() async { var appBox = await HiveUtil().openAppBox; if (appBox.containsKey('token')) { final token = appBox.get('token') as String; _isLogin = true; apiClient.setToken(token); await updateUserInfo(); return true; } else { _isLogin = false; return false; } } Future setToken( String token, ) async { var appBox = await HiveUtil().openAppBox; apiClient.setToken(token); await appBox.put('token', token); _isLogin = true; //每次打开app更新用户信息 await updateUserInfo(); } Future logout() async { var appBox = await HiveUtil().openAppBox; apiClient.clearToken(); _isLogin = false; await appBox.delete('token'); } Future updateUserInfo() async { // var base = await apiClient.request(API.user.userInfo); // if (base.code == 0) { // _userInfo = UserInfoModel.fromJson(base.data); // } else { // CloudToast.show(base.msg); // _userInfo = UserInfoModel.fail; // } notifyListeners(); } }