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,9 +19,10 @@ 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')){
for (var i in recVideo.get('cacheList')) {
list.add(i);
}
videoList.value = list;
@ -36,7 +37,11 @@ class HomeController extends GetxController {
);
if (res['status']) {
if (type == 'init') {
videoList.value = res['data'];
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,12 +90,12 @@ class _HomePageState extends State<HomePage>
}
} else {
// 缓存数据
if(_homeController.videoList.isNotEmpty) {
if (_homeController.videoList.length > 1) {
return contentGrid(
_homeController, _homeController.videoList);
}
// 骨架屏
else{
else {
return contentGrid(_homeController, []);
}
}

View File

@ -25,14 +25,16 @@ class MineController extends GetxController {
}
onLogin() {
Get.toNamed(
'/webview',
parameters: {
'url': 'https://passport.bilibili.com/h5-app/passport/login',
'type': 'login',
'pageTitle': '登录bilibili',
},
);
if (!userLogin.value) {
Get.toNamed(
'/webview',
parameters: {
'url': 'https://passport.bilibili.com/h5-app/passport/login',
'type': 'login',
'pageTitle': '登录bilibili',
},
);
}
}
Future queryUserInfo() async {

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';
}