mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-07-20 02:20:11 +08:00
opt history account
Closes #948 Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import 'package:PiliPlus/http/user.dart';
|
||||
import 'package:PiliPlus/utils/accounts.dart';
|
||||
import 'package:PiliPlus/utils/storage.dart';
|
||||
import 'package:PiliPlus/utils/storage_key.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
@@ -11,6 +12,8 @@ class HistoryBaseController extends GetxController {
|
||||
RxBool enableMultiSelect = false.obs;
|
||||
RxInt checkedCount = 0.obs;
|
||||
|
||||
final account = Accounts.history;
|
||||
|
||||
// 清空观看历史
|
||||
void onClearHistory(BuildContext context, VoidCallback onSuccess) {
|
||||
showDialog(
|
||||
@@ -31,7 +34,7 @@ class HistoryBaseController extends GetxController {
|
||||
onPressed: () async {
|
||||
Get.back();
|
||||
SmartDialog.showLoading(msg: '请求中');
|
||||
var res = await UserHttp.clearHistory();
|
||||
var res = await UserHttp.clearHistory(account: account);
|
||||
SmartDialog.dismiss();
|
||||
if (res.data['code'] == 0) {
|
||||
SmartDialog.showToast('清空观看历史');
|
||||
@@ -66,7 +69,10 @@ class HistoryBaseController extends GetxController {
|
||||
TextButton(
|
||||
onPressed: () async {
|
||||
SmartDialog.showLoading(msg: '请求中');
|
||||
var res = await UserHttp.pauseHistory(pauseStatus);
|
||||
var res = await UserHttp.pauseHistory(
|
||||
pauseStatus,
|
||||
account: account,
|
||||
);
|
||||
SmartDialog.dismiss();
|
||||
if (res.data['code'] == 0) {
|
||||
SmartDialog.showToast(pauseStatus ? '暂停观看历史' : '恢复观看历史');
|
||||
|
||||
@@ -6,6 +6,7 @@ import 'package:PiliPlus/models_new/history/list.dart';
|
||||
import 'package:PiliPlus/models_new/history/tab.dart';
|
||||
import 'package:PiliPlus/pages/common/multi_select/multi_select_controller.dart';
|
||||
import 'package:PiliPlus/pages/history/base_controller.dart';
|
||||
import 'package:PiliPlus/utils/accounts/account.dart';
|
||||
import 'package:PiliPlus/utils/extension.dart';
|
||||
import 'package:PiliPlus/utils/storage.dart';
|
||||
import 'package:PiliPlus/utils/storage_key.dart';
|
||||
@@ -20,6 +21,8 @@ class HistoryController
|
||||
|
||||
late final baseCtr = Get.put(HistoryBaseController());
|
||||
|
||||
Account get account => baseCtr.account;
|
||||
|
||||
final String? type;
|
||||
TabController? tabController;
|
||||
late RxList<HistoryTab> tabs = <HistoryTab>[].obs;
|
||||
@@ -74,7 +77,7 @@ class HistoryController
|
||||
|
||||
// 观看历史暂停状态
|
||||
Future<void> historyStatus() async {
|
||||
var res = await UserHttp.historyStatus();
|
||||
var res = await UserHttp.historyStatus(account: account);
|
||||
if (res['status']) {
|
||||
baseCtr.pauseStatus.value = res['data'];
|
||||
GStorage.localCache.put(LocalCacheKey.historyPause, res['data']);
|
||||
@@ -90,15 +93,13 @@ class HistoryController
|
||||
|
||||
// 删除已看历史记录
|
||||
void onDelViewedHistory() {
|
||||
if (loadingState.value.isSuccess) {
|
||||
final viewedList = loadingState.value.data!
|
||||
.where((e) => e.progress == -1)
|
||||
.toSet();
|
||||
if (viewedList.isNotEmpty) {
|
||||
_onDelete(viewedList);
|
||||
} else {
|
||||
SmartDialog.showToast('无已看记录');
|
||||
}
|
||||
final viewedList = loadingState.value.dataOrNull
|
||||
?.where((e) => e.progress == -1)
|
||||
.toSet();
|
||||
if (viewedList != null && viewedList.isNotEmpty) {
|
||||
_onDelete(viewedList);
|
||||
} else {
|
||||
SmartDialog.showToast('无已看记录');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,6 +109,7 @@ class HistoryController
|
||||
removeList
|
||||
.map((item) => '${item.history.business}_${item.kid}')
|
||||
.join(','),
|
||||
account: account,
|
||||
);
|
||||
if (response['status']) {
|
||||
afterDelete(removeList);
|
||||
@@ -128,8 +130,12 @@ class HistoryController
|
||||
}
|
||||
|
||||
@override
|
||||
Future<LoadingState<HistoryData>> customGetData() =>
|
||||
UserHttp.historyList(type: type ?? 'all', max: max, viewAt: viewAt);
|
||||
Future<LoadingState<HistoryData>> customGetData() => UserHttp.historyList(
|
||||
type: type ?? 'all',
|
||||
max: max,
|
||||
viewAt: viewAt,
|
||||
account: account,
|
||||
);
|
||||
|
||||
@override
|
||||
void onClose() {
|
||||
|
||||
@@ -5,6 +5,7 @@ import 'package:PiliPlus/models_new/history/data.dart';
|
||||
import 'package:PiliPlus/models_new/history/list.dart';
|
||||
import 'package:PiliPlus/pages/common/multi_select/base.dart';
|
||||
import 'package:PiliPlus/pages/common/search/common_search_controller.dart';
|
||||
import 'package:PiliPlus/utils/accounts.dart';
|
||||
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
@@ -15,6 +16,7 @@ class HistorySearchController
|
||||
Future<LoadingState<HistoryData>> customGetData() => UserHttp.searchHistory(
|
||||
pn: page,
|
||||
keyword: editController.value.text,
|
||||
account: account,
|
||||
);
|
||||
|
||||
@override
|
||||
@@ -22,8 +24,13 @@ class HistorySearchController
|
||||
return response.list;
|
||||
}
|
||||
|
||||
final account = Accounts.history;
|
||||
|
||||
Future<void> onDelHistory(int index, kid, String business) async {
|
||||
var res = await UserHttp.delHistory('${business}_$kid');
|
||||
var res = await UserHttp.delHistory(
|
||||
'${business}_$kid',
|
||||
account: account,
|
||||
);
|
||||
if (res['status']) {
|
||||
loadingState
|
||||
..value.data!.removeAt(index)
|
||||
@@ -45,6 +52,7 @@ class HistorySearchController
|
||||
removeList
|
||||
.map((item) => '${item.history.business!}_${item.kid!}')
|
||||
.join(','),
|
||||
account: account,
|
||||
);
|
||||
if (response['status']) {
|
||||
afterDelete(removeList);
|
||||
|
||||
Reference in New Issue
Block a user