123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import 'dart:convert';
- import 'package:shuqi/model/user_model.dart';
- import 'package:shuqi/utility/event_bus.dart';
- import 'package:shuqi/model/constant.dart';
- const String EventUserLogin = 'EventUserLogin';
- const String EventUserLogout = 'EventUserLogout';
- class UserManager {
- static UserManager instance = UserManager();
- UserModel? user;
- static UserModel? get currentUser {
- return UserManager.instance.user;
- }
- logout() {
- this.user = null;
- preferences.remove('user');
- eventBus.emit(EventUserLogout);
- }
- login(Map<String, dynamic> userJson) {
- var user = UserModel.fromJson(userJson);
- this.user = user;
- saveUser();
- eventBus.emit(EventUserLogin);
- }
- bool get isLogin {
- return user != null;
- }
- loadUserFromLocal() {
- String? userJson = preferences.getString('user');
- if (userJson != null) {
- user = UserModel.fromJson(json.decode(userJson));
- }
- }
- void saveUser() async {
- var data = json.encode(user);
- preferences.setString('user', data);
- }
- }
|