mod: 登录/退出登录逻辑
This commit is contained in:
@ -95,10 +95,6 @@ class Request {
|
|||||||
//Http请求头.
|
//Http请求头.
|
||||||
headers: {
|
headers: {
|
||||||
// 'cookie': '',
|
// 'cookie': '',
|
||||||
"env": 'prod',
|
|
||||||
"app-key": 'android',
|
|
||||||
"x-bili-aurora-eid": 'UlMFQVcABlAH',
|
|
||||||
"x-bili-aurora-zone": 'sh001',
|
|
||||||
'referer': 'https://www.bilibili.com/',
|
'referer': 'https://www.bilibili.com/',
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
@ -106,17 +102,22 @@ class Request {
|
|||||||
Box user = GStrorage.user;
|
Box user = GStrorage.user;
|
||||||
if (user.get(UserBoxKey.userMid) != null) {
|
if (user.get(UserBoxKey.userMid) != null) {
|
||||||
options.headers['x-bili-mid'] = user.get(UserBoxKey.userMid).toString();
|
options.headers['x-bili-mid'] = user.get(UserBoxKey.userMid).toString();
|
||||||
|
options.headers['env'] = 'prod';
|
||||||
|
options.headers['app-key'] = 'android64';
|
||||||
|
options.headers['x-bili-aurora-eid'] = 'UlMFQVcABlAH';
|
||||||
|
options.headers['x-bili-aurora-zone'] = 'sh001';
|
||||||
}
|
}
|
||||||
dio.options = options;
|
dio.options = options;
|
||||||
//添加拦截器
|
//添加拦截器
|
||||||
dio.interceptors
|
dio.interceptors.add(ApiInterceptor());
|
||||||
..add(ApiInterceptor())
|
|
||||||
// 日志拦截器 输出请求、响应内容
|
// 日志拦截器 输出请求、响应内容
|
||||||
..add(LogInterceptor(
|
// dio.interceptors.add(LogInterceptor(
|
||||||
request: false,
|
// request: false,
|
||||||
requestHeader: false,
|
// requestHeader: false,
|
||||||
responseHeader: false,
|
// responseHeader: false,
|
||||||
));
|
// ));
|
||||||
|
|
||||||
dio.transformer = BackgroundTransformer();
|
dio.transformer = BackgroundTransformer();
|
||||||
dio.options.validateStatus = (status) {
|
dio.options.validateStatus = (status) {
|
||||||
return status! >= 200 && status < 300 || status == 304 || status == 302;
|
return status! >= 200 && status < 300 || status == 304 || status == 302;
|
||||||
@ -161,7 +162,7 @@ class Request {
|
|||||||
* post请求
|
* post请求
|
||||||
*/
|
*/
|
||||||
post(url, {data, queryParameters, options, cancelToken, extra}) async {
|
post(url, {data, queryParameters, options, cancelToken, extra}) async {
|
||||||
print('post-data: $data');
|
// print('post-data: $data');
|
||||||
Response response;
|
Response response;
|
||||||
try {
|
try {
|
||||||
response = await dio.post(
|
response = await dio.post(
|
||||||
@ -171,7 +172,7 @@ class Request {
|
|||||||
options: options,
|
options: options,
|
||||||
cancelToken: cancelToken,
|
cancelToken: cancelToken,
|
||||||
);
|
);
|
||||||
print('post success: ${response.data}');
|
// print('post success: ${response.data}');
|
||||||
return response;
|
return response;
|
||||||
} on DioException catch (e) {
|
} on DioException catch (e) {
|
||||||
print('post error: $e');
|
print('post error: $e');
|
||||||
|
|||||||
@ -18,8 +18,9 @@ class BangumiController extends GetxController {
|
|||||||
@override
|
@override
|
||||||
void onInit() {
|
void onInit() {
|
||||||
super.onInit();
|
super.onInit();
|
||||||
mid = int.parse(
|
if (user.get(UserBoxKey.userMid) != null) {
|
||||||
Get.parameters['mid'] ?? user.get(UserBoxKey.userMid).toString());
|
mid = int.parse(user.get(UserBoxKey.userMid).toString());
|
||||||
|
}
|
||||||
userLogin.value = user.get(UserBoxKey.userLogin) != null;
|
userLogin.value = user.get(UserBoxKey.userLogin) != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -177,50 +177,6 @@ class _DynamicsPageState extends State<DynamicsPage>
|
|||||||
icon: const Icon(Icons.history, size: 21),
|
icon: const Icon(Icons.history, size: 21),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Positioned(
|
|
||||||
left: 10,
|
|
||||||
top: 0,
|
|
||||||
bottom: 0,
|
|
||||||
child: Align(
|
|
||||||
alignment: Alignment.center,
|
|
||||||
child: user.get(UserBoxKey.userLogin) ?? false
|
|
||||||
? GestureDetector(
|
|
||||||
onTap: () {
|
|
||||||
feedBack();
|
|
||||||
showModalBottomSheet(
|
|
||||||
context: context,
|
|
||||||
builder: (_) => const SizedBox(
|
|
||||||
height: 450,
|
|
||||||
child: MinePage(),
|
|
||||||
),
|
|
||||||
clipBehavior: Clip.hardEdge,
|
|
||||||
isScrollControlled: true,
|
|
||||||
);
|
|
||||||
},
|
|
||||||
child: NetworkImgLayer(
|
|
||||||
type: 'avatar',
|
|
||||||
width: 30,
|
|
||||||
height: 30,
|
|
||||||
src: user.get(UserBoxKey.userFace),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
: IconButton(
|
|
||||||
onPressed: () {
|
|
||||||
feedBack();
|
|
||||||
showModalBottomSheet(
|
|
||||||
context: context,
|
|
||||||
builder: (_) => const SizedBox(
|
|
||||||
height: 450,
|
|
||||||
child: MinePage(),
|
|
||||||
),
|
|
||||||
clipBehavior: Clip.hardEdge,
|
|
||||||
isScrollControlled: true,
|
|
||||||
);
|
|
||||||
},
|
|
||||||
icon: const Icon(CupertinoIcons.person, size: 22),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@ -1,10 +1,12 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
import 'package:hive/hive.dart';
|
||||||
import 'package:pilipala/http/index.dart';
|
import 'package:pilipala/http/index.dart';
|
||||||
import 'package:pilipala/pages/bangumi/index.dart';
|
import 'package:pilipala/pages/bangumi/index.dart';
|
||||||
import 'package:pilipala/pages/hot/index.dart';
|
import 'package:pilipala/pages/hot/index.dart';
|
||||||
import 'package:pilipala/pages/live/index.dart';
|
import 'package:pilipala/pages/live/index.dart';
|
||||||
import 'package:pilipala/pages/rcmd/index.dart';
|
import 'package:pilipala/pages/rcmd/index.dart';
|
||||||
|
import 'package:pilipala/utils/storage.dart';
|
||||||
|
|
||||||
class HomeController extends GetxController with GetTickerProviderStateMixin {
|
class HomeController extends GetxController with GetTickerProviderStateMixin {
|
||||||
bool flag = false;
|
bool flag = false;
|
||||||
@ -51,6 +53,9 @@ class HomeController extends GetxController with GetTickerProviderStateMixin {
|
|||||||
Get.find<BangumiController>,
|
Get.find<BangumiController>,
|
||||||
];
|
];
|
||||||
RxString defaultSearch = '输入关键词搜索'.obs;
|
RxString defaultSearch = '输入关键词搜索'.obs;
|
||||||
|
Box user = GStrorage.user;
|
||||||
|
RxBool userLogin = false.obs;
|
||||||
|
RxString userFace = ''.obs;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void onInit() {
|
void onInit() {
|
||||||
@ -61,6 +66,8 @@ class HomeController extends GetxController with GetTickerProviderStateMixin {
|
|||||||
vsync: this,
|
vsync: this,
|
||||||
);
|
);
|
||||||
searchDefault();
|
searchDefault();
|
||||||
|
userLogin.value = user.get(UserBoxKey.userLogin) ?? false;
|
||||||
|
userFace.value = user.get(UserBoxKey.userFace) ?? '';
|
||||||
}
|
}
|
||||||
|
|
||||||
void onRefresh() {
|
void onRefresh() {
|
||||||
@ -81,4 +88,10 @@ class HomeController extends GetxController with GetTickerProviderStateMixin {
|
|||||||
defaultSearch.value = res.data['data']['name'];
|
defaultSearch.value = res.data['data']['name'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 更新登录状态
|
||||||
|
void updateLoginStatus(val) {
|
||||||
|
userLogin.value = val ?? false;
|
||||||
|
userFace.value = user.get(UserBoxKey.userFace) ?? '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,5 @@
|
|||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:hive/hive.dart';
|
|
||||||
import 'package:pilipala/common/widgets/network_img_layer.dart';
|
import 'package:pilipala/common/widgets/network_img_layer.dart';
|
||||||
import 'package:pilipala/pages/bangumi/index.dart';
|
import 'package:pilipala/pages/bangumi/index.dart';
|
||||||
import 'package:pilipala/pages/hot/index.dart';
|
import 'package:pilipala/pages/hot/index.dart';
|
||||||
@ -10,7 +8,6 @@ import 'package:pilipala/pages/main/index.dart';
|
|||||||
import 'package:pilipala/pages/mine/index.dart';
|
import 'package:pilipala/pages/mine/index.dart';
|
||||||
import 'package:pilipala/pages/rcmd/index.dart';
|
import 'package:pilipala/pages/rcmd/index.dart';
|
||||||
import 'package:pilipala/utils/feed_back.dart';
|
import 'package:pilipala/utils/feed_back.dart';
|
||||||
import 'package:pilipala/utils/storage.dart';
|
|
||||||
import './controller.dart';
|
import './controller.dart';
|
||||||
|
|
||||||
class HomePage extends StatefulWidget {
|
class HomePage extends StatefulWidget {
|
||||||
@ -29,6 +26,19 @@ class _HomePageState extends State<HomePage>
|
|||||||
@override
|
@override
|
||||||
bool get wantKeepAlive => true;
|
bool get wantKeepAlive => true;
|
||||||
|
|
||||||
|
showUserBottonSheet() {
|
||||||
|
feedBack();
|
||||||
|
showModalBottomSheet(
|
||||||
|
context: context,
|
||||||
|
builder: (_) => const SizedBox(
|
||||||
|
height: 450,
|
||||||
|
child: MinePage(),
|
||||||
|
),
|
||||||
|
clipBehavior: Clip.hardEdge,
|
||||||
|
isScrollControlled: true,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
super.build(context);
|
super.build(context);
|
||||||
@ -38,7 +48,11 @@ class _HomePageState extends State<HomePage>
|
|||||||
appBar: AppBar(toolbarHeight: 0, elevation: 0),
|
appBar: AppBar(toolbarHeight: 0, elevation: 0),
|
||||||
body: Column(
|
body: Column(
|
||||||
children: [
|
children: [
|
||||||
CustomAppBar(stream: stream, ctr: _homeController),
|
CustomAppBar(
|
||||||
|
stream: stream,
|
||||||
|
ctr: _homeController,
|
||||||
|
callback: showUserBottonSheet,
|
||||||
|
),
|
||||||
Container(
|
Container(
|
||||||
padding: const EdgeInsets.only(left: 12, right: 12, bottom: 4),
|
padding: const EdgeInsets.only(left: 12, right: 12, bottom: 4),
|
||||||
child: Row(
|
child: Row(
|
||||||
@ -132,13 +146,15 @@ class _HomePageState extends State<HomePage>
|
|||||||
class CustomAppBar extends StatelessWidget implements PreferredSizeWidget {
|
class CustomAppBar extends StatelessWidget implements PreferredSizeWidget {
|
||||||
final double height;
|
final double height;
|
||||||
final Stream<bool>? stream;
|
final Stream<bool>? stream;
|
||||||
final ctr;
|
final HomeController? ctr;
|
||||||
|
final Function? callback;
|
||||||
|
|
||||||
const CustomAppBar({
|
const CustomAppBar({
|
||||||
super.key,
|
super.key,
|
||||||
this.height = kToolbarHeight,
|
this.height = kToolbarHeight,
|
||||||
this.stream,
|
this.stream,
|
||||||
this.ctr,
|
this.ctr,
|
||||||
|
this.callback,
|
||||||
});
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -146,8 +162,6 @@ class CustomAppBar extends StatelessWidget implements PreferredSizeWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
Box user = GStrorage.user;
|
|
||||||
|
|
||||||
return StreamBuilder(
|
return StreamBuilder(
|
||||||
stream: stream,
|
stream: stream,
|
||||||
initialData: true,
|
initialData: true,
|
||||||
@ -168,103 +182,108 @@ class CustomAppBar extends StatelessWidget implements PreferredSizeWidget {
|
|||||||
bottom: 4,
|
bottom: 4,
|
||||||
top: MediaQuery.of(context).padding.top,
|
top: MediaQuery.of(context).padding.top,
|
||||||
),
|
),
|
||||||
child: Row(
|
child: Row(children: [
|
||||||
children: [
|
const Text(
|
||||||
const Text(
|
'PLPL',
|
||||||
'PLPL',
|
style: TextStyle(
|
||||||
style: TextStyle(
|
height: 2.8,
|
||||||
height: 2.8,
|
fontSize: 17,
|
||||||
fontSize: 17,
|
fontWeight: FontWeight.bold,
|
||||||
fontWeight: FontWeight.bold,
|
fontFamily: 'Jura-Bold',
|
||||||
fontFamily: 'Jura-Bold',
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
const SizedBox(width: 10),
|
),
|
||||||
Expanded(
|
const SizedBox(width: 10),
|
||||||
child: GestureDetector(
|
Expanded(
|
||||||
onTap: () {
|
child: GestureDetector(
|
||||||
Get.toNamed('/search', parameters: {
|
onTap: () {
|
||||||
'hintText': ctr.defaultSearch.value
|
Get.toNamed('/search',
|
||||||
});
|
parameters: {'hintText': ctr!.defaultSearch.value});
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
width: 250,
|
width: 250,
|
||||||
height: 45,
|
height: 42,
|
||||||
clipBehavior: Clip.hardEdge,
|
clipBehavior: Clip.hardEdge,
|
||||||
padding: const EdgeInsets.only(left: 12, right: 22),
|
padding: const EdgeInsets.only(left: 12, right: 22),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
borderRadius:
|
borderRadius:
|
||||||
const BorderRadius.all(Radius.circular(25)),
|
const BorderRadius.all(Radius.circular(25)),
|
||||||
color:
|
color: Theme.of(context).colorScheme.onInverseSurface,
|
||||||
Theme.of(context).colorScheme.onInverseSurface,
|
),
|
||||||
),
|
child: Row(
|
||||||
child: Row(
|
children: [
|
||||||
children: [
|
Icon(
|
||||||
Icon(
|
Icons.search_outlined,
|
||||||
Icons.search_outlined,
|
size: 21,
|
||||||
size: 23,
|
color: Theme.of(context).colorScheme.outline,
|
||||||
color: Theme.of(context).colorScheme.outline,
|
),
|
||||||
),
|
const SizedBox(width: 6),
|
||||||
const SizedBox(width: 7),
|
Expanded(
|
||||||
Expanded(
|
child: Obx(
|
||||||
child: Obx(
|
() => Text(
|
||||||
() => Text(
|
ctr!.defaultSearch.value,
|
||||||
ctr.defaultSearch.value,
|
maxLines: 1,
|
||||||
maxLines: 1,
|
overflow: TextOverflow.ellipsis,
|
||||||
overflow: TextOverflow.ellipsis,
|
style: TextStyle(
|
||||||
style: TextStyle(
|
color: Theme.of(context)
|
||||||
color: Theme.of(context)
|
.colorScheme
|
||||||
.colorScheme
|
.outline),
|
||||||
.outline),
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
),
|
||||||
),
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(width: 12),
|
),
|
||||||
if (user.get(UserBoxKey.userLogin) ?? false) ...[
|
const SizedBox(width: 10),
|
||||||
GestureDetector(
|
// SizedBox(
|
||||||
onTap: () {
|
// width: 36,
|
||||||
feedBack();
|
// height: 36,
|
||||||
showModalBottomSheet(
|
// child: IconButton(
|
||||||
context: context,
|
// style: ButtonStyle(
|
||||||
builder: (_) => const SizedBox(
|
// padding: MaterialStateProperty.all(EdgeInsets.zero),
|
||||||
height: 450,
|
// ),
|
||||||
child: MinePage(),
|
// onPressed: () {},
|
||||||
|
// icon: const Icon(Icons.notifications_none_outlined,
|
||||||
|
// size: 22),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// const SizedBox(width: 8),
|
||||||
|
Obx(
|
||||||
|
() => ctr!.userLogin.value
|
||||||
|
? GestureDetector(
|
||||||
|
onTap: () => callback!(),
|
||||||
|
child: NetworkImgLayer(
|
||||||
|
type: 'avatar',
|
||||||
|
width: 34,
|
||||||
|
height: 34,
|
||||||
|
src: ctr!.userFace.value,
|
||||||
),
|
),
|
||||||
clipBehavior: Clip.hardEdge,
|
)
|
||||||
isScrollControlled: true,
|
: SizedBox(
|
||||||
);
|
width: 36,
|
||||||
},
|
height: 36,
|
||||||
child: NetworkImgLayer(
|
child: IconButton(
|
||||||
type: 'avatar',
|
style: ButtonStyle(
|
||||||
width: 34,
|
padding:
|
||||||
height: 34,
|
MaterialStateProperty.all(EdgeInsets.zero),
|
||||||
src: user.get(UserBoxKey.userFace),
|
backgroundColor:
|
||||||
),
|
MaterialStateProperty.resolveWith((states) {
|
||||||
)
|
return Theme.of(context)
|
||||||
] else ...[
|
.colorScheme
|
||||||
IconButton(
|
.onInverseSurface;
|
||||||
onPressed: () {
|
}),
|
||||||
feedBack();
|
),
|
||||||
showModalBottomSheet(
|
onPressed: () => callback!(),
|
||||||
context: context,
|
icon: Icon(
|
||||||
builder: (_) => const SizedBox(
|
Icons.person_rounded,
|
||||||
height: 450,
|
size: 22,
|
||||||
child: MinePage(),
|
color: Theme.of(context).colorScheme.primary,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
clipBehavior: Clip.hardEdge,
|
),
|
||||||
isScrollControlled: true,
|
),
|
||||||
);
|
]),
|
||||||
},
|
|
||||||
icon: const Icon(CupertinoIcons.person, size: 22),
|
|
||||||
)
|
|
||||||
],
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@ -1,7 +1,11 @@
|
|||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:hive/hive.dart';
|
import 'package:hive/hive.dart';
|
||||||
import 'package:pilipala/http/init.dart';
|
import 'package:pilipala/http/init.dart';
|
||||||
|
import 'package:pilipala/pages/dynamics/index.dart';
|
||||||
|
import 'package:pilipala/pages/home/index.dart';
|
||||||
|
import 'package:pilipala/pages/main/index.dart';
|
||||||
import 'package:pilipala/pages/mine/controller.dart';
|
import 'package:pilipala/pages/mine/controller.dart';
|
||||||
|
import 'package:pilipala/utils/data.dart';
|
||||||
import 'package:pilipala/utils/feed_back.dart';
|
import 'package:pilipala/utils/feed_back.dart';
|
||||||
import 'package:pilipala/utils/storage.dart';
|
import 'package:pilipala/utils/storage.dart';
|
||||||
|
|
||||||
@ -25,6 +29,8 @@ class SettingController extends GetxController {
|
|||||||
await Get.find<MineController>().resetUserInfo();
|
await Get.find<MineController>().resetUserInfo();
|
||||||
userLogin.value = user.get(UserBoxKey.userLogin) ?? false;
|
userLogin.value = user.get(UserBoxKey.userLogin) ?? false;
|
||||||
userInfoCache.put('userInfoCache', null);
|
userInfoCache.put('userInfoCache', null);
|
||||||
|
HomeController homeCtr = Get.find<HomeController>();
|
||||||
|
homeCtr.updateLoginStatus(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 开启关闭震动反馈
|
// 开启关闭震动反馈
|
||||||
|
|||||||
@ -7,6 +7,7 @@ import 'package:pilipala/http/constants.dart';
|
|||||||
import 'package:pilipala/http/init.dart';
|
import 'package:pilipala/http/init.dart';
|
||||||
import 'package:pilipala/http/user.dart';
|
import 'package:pilipala/http/user.dart';
|
||||||
import 'package:pilipala/pages/dynamics/index.dart';
|
import 'package:pilipala/pages/dynamics/index.dart';
|
||||||
|
import 'package:pilipala/pages/home/index.dart';
|
||||||
import 'package:pilipala/pages/mine/index.dart';
|
import 'package:pilipala/pages/mine/index.dart';
|
||||||
import 'package:pilipala/pages/rcmd/controller.dart';
|
import 'package:pilipala/pages/rcmd/controller.dart';
|
||||||
import 'package:pilipala/utils/cookie.dart';
|
import 'package:pilipala/utils/cookie.dart';
|
||||||
@ -71,17 +72,24 @@ class WebviewController extends GetxController {
|
|||||||
print('网页登录: $result');
|
print('网页登录: $result');
|
||||||
if (result['status'] && result['data'].isLogin) {
|
if (result['status'] && result['data'].isLogin) {
|
||||||
SmartDialog.showToast('登录成功');
|
SmartDialog.showToast('登录成功');
|
||||||
Box user = GStrorage.user;
|
try {
|
||||||
user.put(UserBoxKey.userLogin, true);
|
Box user = GStrorage.user;
|
||||||
user.put(UserBoxKey.userName, result['data'].uname);
|
user.put(UserBoxKey.userLogin, true);
|
||||||
user.put(UserBoxKey.userFace, result['data'].face);
|
user.put(UserBoxKey.userName, result['data'].uname);
|
||||||
user.put(UserBoxKey.userMid, result['data'].mid);
|
user.put(UserBoxKey.userFace, result['data'].face);
|
||||||
Box userInfoCache = GStrorage.userInfo;
|
user.put(UserBoxKey.userMid, result['data'].mid);
|
||||||
userInfoCache.put('userInfoCache', result['data']);
|
|
||||||
Get.find<MineController>().userInfo.value = result['data'];
|
Box userInfoCache = GStrorage.userInfo;
|
||||||
Get.find<MineController>().onInit();
|
userInfoCache.put('userInfoCache', result['data']);
|
||||||
Get.find<RcmdController>().queryRcmdFeed('onRefresh');
|
|
||||||
Get.find<DynamicsController>().queryFollowDynamic();
|
Get.find<MineController>().userInfo.value = result['data'];
|
||||||
|
Get.find<MineController>().onInit();
|
||||||
|
Get.find<RcmdController>().queryRcmdFeed('onRefresh');
|
||||||
|
Get.find<DynamicsController>().queryFollowDynamic();
|
||||||
|
|
||||||
|
HomeController homeCtr = Get.find<HomeController>();
|
||||||
|
homeCtr.updateLoginStatus(true);
|
||||||
|
} catch (_) {}
|
||||||
Get.back();
|
Get.back();
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|||||||
@ -21,6 +21,8 @@ class SetCookie {
|
|||||||
await cookieJar.saveFromResponse(Uri.parse(url), jarCookies);
|
await cookieJar.saveFromResponse(Uri.parse(url), jarCookies);
|
||||||
// 重新设置 cookie
|
// 重新设置 cookie
|
||||||
Request.setCookie();
|
Request.setCookie();
|
||||||
|
Request.cookieManager.cookieJar
|
||||||
|
.saveFromResponse(Uri.parse(url), jarCookies);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user