You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
aku_new_community/lib/utils/hive_store.dart

49 lines
1.8 KiB

import 'package:aku_new_community/model/user/province_model.dart';
import 'package:aku_new_community/models/login/china_region_model.dart';
import 'package:aku_new_community/models/login/community_model.dart';
import 'package:aku_new_community/models/login/history_login_model.dart';
import 'package:aku_new_community/models/login/picked_city_model.dart';
import 'package:aku_new_community/models/user/user_config_model.dart';
import 'package:flutter/foundation.dart';
import 'package:hive/hive.dart';
import 'package:path_provider/path_provider.dart';
class HiveStore {
static Box? _appBox;
static Box? get appBox => _appBox;
static Box? _userBox;
static Box? get userBox => _userBox;
static Box? _dataBox;
static Box? get dataBox => _dataBox;
static Box? _shortcutBox;
static Box? get shortcutBox => _shortcutBox;
static Box? _workOrderShortBox;
static Box? get workOrderShortBox => _workOrderShortBox;
static Future init() async {
if (!kIsWeb) {
var dir = await getApplicationDocumentsDirectory();
Hive.init(dir.path);
Hive.registerAdapter(ProvinceModelAdapter()); //HiveTypeId:0
Hive.registerAdapter(CityAdapter()); //HiveTypeId:1
Hive.registerAdapter(DistrictAdapter()); //HiveTypeId:2
Hive.registerAdapter(ChinaRegionModelAdapter()); //HiveTypeId:3
Hive.registerAdapter(HistoryLoginModelAdapter()); //HiveTypeId:4
Hive.registerAdapter(UserConfigModelAdapter()); //HiveTypeId:5
Hive.registerAdapter(PickedCityModelAdapter()); //HiveTypeId:6
Hive.registerAdapter(CommunityModelAdapter());
_appBox = await Hive.openBox('app');
_userBox = await Hive.openBox('userBox');
_dataBox = await Hive.openBox('dataBox');
_shortcutBox = await Hive.openBox('shortcut');
_workOrderShortBox = await Hive.openBox('workOrderShort');
}
}
}