mod: 用户信息渲染、退出登录

This commit is contained in:
guozhigq
2023-05-10 00:35:24 +08:00
parent 04668b3591
commit e612e60361
19 changed files with 674 additions and 159 deletions

View File

@ -0,0 +1,23 @@
import 'package:get/get.dart';
import 'package:hive/hive.dart';
import 'package:pilipala/http/init.dart';
import 'package:pilipala/pages/mine/controller.dart';
import 'package:pilipala/utils/storage.dart';
import 'package:flutter_cache_manager/flutter_cache_manager.dart';
class SettingController extends GetxController {
Box user = GStrorage.user;
RxBool userLogin = false.obs;
@override
void onInit() {
super.onInit();
userLogin.value = user.get(UserBoxKey.userLogin) ?? false;
}
loginOut() async {
await Request.removeCookie();
await Get.find<MineController>().resetUserInfo();
userLogin.value = user.get(UserBoxKey.userLogin) ?? false;
}
}

View File

@ -0,0 +1,4 @@
library setting;
export './controller.dart';
export './view.dart';

View File

@ -0,0 +1,36 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:pilipala/pages/setting/index.dart';
class SettingPage extends StatefulWidget {
const SettingPage({super.key});
@override
State<SettingPage> createState() => _SettingPageState();
}
class _SettingPageState extends State<SettingPage> {
final SettingController _settingController = Get.put(SettingController());
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('设置'),
),
body: Column(
children: [
Obx(
() => Visibility(
visible: _settingController.userLogin.value,
child: ListTile(
onTap: () => _settingController.loginOut(),
dense: false,
title: const Text('退出登录'),
),
),
),
],
),
);
}
}