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

View File

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

View File

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

View File

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