mod: 用户信息渲染、退出登录
This commit is contained in:
@ -23,4 +23,7 @@ class Api {
|
||||
|
||||
// 获取用户信息
|
||||
static const String userInfo = '/x/web-interface/nav';
|
||||
|
||||
// 获取当前用户状态
|
||||
static const String userStatOwner = '/x/web-interface/nav/stat';
|
||||
}
|
||||
|
||||
@ -12,6 +12,7 @@ import 'package:dio_cookie_manager/dio_cookie_manager.dart';
|
||||
|
||||
class Request {
|
||||
static final Request _instance = Request._internal();
|
||||
static late CookieManager cookieManager;
|
||||
|
||||
factory Request() => _instance;
|
||||
|
||||
@ -31,11 +32,9 @@ class Request {
|
||||
ignoreExpires: true,
|
||||
storage: FileStorage(cookiePath),
|
||||
);
|
||||
|
||||
dio.interceptors.add(CookieManager(cookieJar));
|
||||
|
||||
var cookie = await CookieManager(cookieJar)
|
||||
.cookieJar
|
||||
cookieManager = CookieManager(cookieJar);
|
||||
dio.interceptors.add(cookieManager);
|
||||
var cookie = await cookieManager.cookieJar
|
||||
.loadForRequest(Uri.parse(HttpString.baseUrl));
|
||||
if (cookie.isEmpty) {
|
||||
try {
|
||||
@ -46,6 +45,16 @@ class Request {
|
||||
}
|
||||
}
|
||||
|
||||
// 移除cookie
|
||||
static removeCookie() async {
|
||||
await cookieManager.cookieJar
|
||||
.saveFromResponse(Uri.parse(HttpString.baseUrl), []);
|
||||
await cookieManager.cookieJar
|
||||
.saveFromResponse(Uri.parse(HttpString.baseApiUrl), []);
|
||||
cookieManager.cookieJar.deleteAll();
|
||||
dio.interceptors.add(cookieManager);
|
||||
}
|
||||
|
||||
/*
|
||||
* config it and create
|
||||
*/
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
import 'package:pilipala/http/api.dart';
|
||||
import 'package:pilipala/http/init.dart';
|
||||
import 'package:pilipala/models/user/info.dart';
|
||||
import 'package:pilipala/models/user/stat.dart';
|
||||
|
||||
class UserHttp {
|
||||
static Future<dynamic> userStat({required int mid}) async {
|
||||
@ -17,6 +18,16 @@ class UserHttp {
|
||||
if (res.data['code'] == 0) {
|
||||
UserInfoData data = UserInfoData.fromJson(res.data['data']);
|
||||
return {'status': true, 'data': data};
|
||||
} else {
|
||||
return {'status': false, 'msg': res.data['message']};
|
||||
}
|
||||
}
|
||||
|
||||
static Future<dynamic> userStatOwner() async {
|
||||
var res = await Request().get(Api.userStatOwner);
|
||||
if (res.data['code'] == 0) {
|
||||
UserStat data = UserStat.fromJson(res.data['data']);
|
||||
return {'status': true, 'data': data};
|
||||
} else {
|
||||
return {'status': false};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user