feat: 用户信息缓存
This commit is contained in:
@ -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') {
|
||||
|
@ -90,7 +90,7 @@ class _HomePageState extends State<HomePage>
|
||||
}
|
||||
} else {
|
||||
// 缓存数据
|
||||
if(_homeController.videoList.isNotEmpty) {
|
||||
if (_homeController.videoList.length > 1) {
|
||||
return contentGrid(
|
||||
_homeController, _homeController.videoList);
|
||||
}
|
||||
|
@ -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) {
|
||||
|
@ -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';
|
||||
}
|
||||
|
Reference in New Issue
Block a user