feat: 用户信息缓存
This commit is contained in:
@ -19,9 +19,10 @@ 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);
|
||||||
}
|
}
|
||||||
videoList.value = list;
|
videoList.value = list;
|
||||||
@ -36,7 +37,11 @@ class HomeController extends GetxController {
|
|||||||
);
|
);
|
||||||
if (res['status']) {
|
if (res['status']) {
|
||||||
if (type == 'init') {
|
if (type == 'init') {
|
||||||
videoList.value = res['data'];
|
if (videoList.length > 1) {
|
||||||
|
videoList.addAll(res['data']);
|
||||||
|
} else {
|
||||||
|
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') {
|
||||||
|
|||||||
@ -90,12 +90,12 @@ 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);
|
||||||
}
|
}
|
||||||
// 骨架屏
|
// 骨架屏
|
||||||
else{
|
else {
|
||||||
return contentGrid(_homeController, []);
|
return contentGrid(_homeController, []);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -25,14 +25,16 @@ class MineController extends GetxController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onLogin() {
|
onLogin() {
|
||||||
Get.toNamed(
|
if (!userLogin.value) {
|
||||||
'/webview',
|
Get.toNamed(
|
||||||
parameters: {
|
'/webview',
|
||||||
'url': 'https://passport.bilibili.com/h5-app/passport/login',
|
parameters: {
|
||||||
'type': 'login',
|
'url': 'https://passport.bilibili.com/h5-app/passport/login',
|
||||||
'pageTitle': '登录bilibili',
|
'type': 'login',
|
||||||
},
|
'pageTitle': '登录bilibili',
|
||||||
);
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Future queryUserInfo() async {
|
Future queryUserInfo() async {
|
||||||
|
|||||||
@ -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';
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user