feat: 用户信息缓存

This commit is contained in:
guozhigq
2023-05-19 23:48:09 +08:00
parent 13cecf5b84
commit 006f22bbb6
4 changed files with 34 additions and 21 deletions

View File

@ -19,7 +19,8 @@ class HomeController extends GetxController {
@override @override
void onInit() { void onInit() {
super.onInit(); super.onInit();
if(recVideo.get('cacheList') != null && recVideo.get('cacheList').isNotEmpty){ if (recVideo.get('cacheList') != null &&
recVideo.get('cacheList').isNotEmpty) {
List<RecVideoItemModel> list = []; List<RecVideoItemModel> list = [];
for (var i in recVideo.get('cacheList')) { for (var i in recVideo.get('cacheList')) {
list.add(i); list.add(i);
@ -36,7 +37,11 @@ class HomeController extends GetxController {
); );
if (res['status']) { if (res['status']) {
if (type == 'init') { if (type == 'init') {
if (videoList.length > 1) {
videoList.addAll(res['data']);
} else {
videoList.value = res['data']; videoList.value = res['data'];
}
} else if (type == 'onRefresh') { } else if (type == 'onRefresh') {
videoList.insertAll(0, res['data']); videoList.insertAll(0, res['data']);
} else if (type == 'onLoad') { } else if (type == 'onLoad') {

View File

@ -90,7 +90,7 @@ class _HomePageState extends State<HomePage>
} }
} else { } else {
// 缓存数据 // 缓存数据
if(_homeController.videoList.isNotEmpty) { if (_homeController.videoList.length > 1) {
return contentGrid( return contentGrid(
_homeController, _homeController.videoList); _homeController, _homeController.videoList);
} }

View File

@ -25,6 +25,7 @@ class MineController extends GetxController {
} }
onLogin() { onLogin() {
if (!userLogin.value) {
Get.toNamed( Get.toNamed(
'/webview', '/webview',
parameters: { parameters: {
@ -34,6 +35,7 @@ class MineController extends GetxController {
}, },
); );
} }
}
Future queryUserInfo() async { Future queryUserInfo() async {
if (user.get(UserBoxKey.userLogin) == null) { if (user.get(UserBoxKey.userLogin) == null) {

View File

@ -14,14 +14,7 @@ class GStrorage {
final dir = await getApplicationDocumentsDirectory(); final dir = await getApplicationDocumentsDirectory();
final path = dir.path; final path = dir.path;
await Hive.initFlutter('$path/hive'); await Hive.initFlutter('$path/hive');
// 首页推荐视频 regAdapter();
Hive.registerAdapter(RecVideoItemModelAdapter());
Hive.registerAdapter(RcmdReasonAdapter());
Hive.registerAdapter(StatAdapter());
Hive.registerAdapter(OwnerAdapter());
Hive.registerAdapter(UserInfoDataAdapter());
Hive.registerAdapter(LevelInfoAdapter());
// 用户信息 // 用户信息
user = await Hive.openBox('user'); user = await Hive.openBox('user');
// 首页推荐视频 // 首页推荐视频
@ -29,6 +22,15 @@ class GStrorage {
// 登录用户信息 // 登录用户信息
userInfo = await Hive.openBox('userInfo'); userInfo = await Hive.openBox('userInfo');
} }
static regAdapter() {
Hive.registerAdapter(RecVideoItemModelAdapter());
Hive.registerAdapter(RcmdReasonAdapter());
Hive.registerAdapter(StatAdapter());
Hive.registerAdapter(OwnerAdapter());
Hive.registerAdapter(UserInfoDataAdapter());
Hive.registerAdapter(LevelInfoAdapter());
}
} }
// 约定 key // 约定 key
@ -41,3 +43,7 @@ class UserBoxKey {
// 登录状态 // 登录状态
static const String userLogin = 'userLogin'; static const String userLogin = 'userLogin';
} }
class SettingBoxKey {
static const String themeMode = 'themeMode';
}