148 lines
4.1 KiB
Dart
148 lines
4.1 KiB
Dart
import 'dart:developer';
|
|
|
|
import 'package:pilipala/http/api.dart';
|
|
import 'package:pilipala/http/init.dart';
|
|
import 'package:pilipala/models/model_hot_video_item.dart';
|
|
import 'package:pilipala/models/user/fav_detail.dart';
|
|
import 'package:pilipala/models/user/fav_folder.dart';
|
|
import 'package:pilipala/models/user/history.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 {
|
|
var res = await Request().get(Api.userStat, data: {'vmid': mid});
|
|
if (res.data['code'] == 0) {
|
|
return {'status': true, 'data': res.data['data']};
|
|
} else {
|
|
return {'status': false};
|
|
}
|
|
}
|
|
|
|
static Future<dynamic> userInfo() async {
|
|
var res = await Request().get(Api.userInfo);
|
|
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, 'data': [], 'msg': res.data['message']};
|
|
}
|
|
}
|
|
|
|
// 收藏夹
|
|
static Future<dynamic> userfavFolder({
|
|
required int pn,
|
|
required int ps,
|
|
required int mid,
|
|
}) async {
|
|
var res = await Request().get(Api.userFavFolder, data: {
|
|
'pn': pn,
|
|
'ps': ps,
|
|
'up_mid': mid,
|
|
});
|
|
if (res.data['code'] == 0) {
|
|
FavFolderData data = FavFolderData.fromJson(res.data['data']);
|
|
return {'status': true, 'data': data};
|
|
} else {
|
|
return {'status': false, 'data': [], 'msg': '账号未登录'};
|
|
}
|
|
}
|
|
|
|
static Future<dynamic> userFavFolderDetail(
|
|
{required int mediaId,
|
|
required int pn,
|
|
required int ps,
|
|
String keyword = '',
|
|
String order = 'mtime'}) async {
|
|
var res = await Request().get(Api.userFavFolderDetail, data: {
|
|
'media_id': mediaId,
|
|
'pn': pn,
|
|
'ps': ps,
|
|
'keyword': keyword,
|
|
'order': order,
|
|
'type': 0,
|
|
'tid': 0
|
|
});
|
|
if (res.data['code'] == 0) {
|
|
FavDetailData data = FavDetailData.fromJson(res.data['data']);
|
|
return {'status': true, 'data': data};
|
|
} else {
|
|
return {'status': false, 'data': [], 'msg': res.data['message']};
|
|
}
|
|
}
|
|
|
|
// 稍后再看
|
|
static Future<dynamic> seeYouLater() async {
|
|
var res = await Request().get(Api.seeYouLater);
|
|
if (res.data['code'] == 0) {
|
|
List<HotVideoItemModel> list = [];
|
|
for (var i in res.data['data']['list']) {
|
|
list.add(HotVideoItemModel.fromJson(i));
|
|
}
|
|
return {
|
|
'status': true,
|
|
'data': {'list': list, 'count': res.data['data']['count']}
|
|
};
|
|
} else {
|
|
return {'status': false, 'data': [], 'msg': res.data['message']};
|
|
}
|
|
}
|
|
|
|
// 观看历史
|
|
static Future historyList(int? max, int? viewAt) async {
|
|
var res = await Request().get(Api.historyList, data: {
|
|
'type': 'all',
|
|
'ps': 20,
|
|
'max': max ?? 0,
|
|
'view_at': viewAt ?? 0,
|
|
});
|
|
if (res.data['code'] == 0) {
|
|
return {'status': true, 'data': HistoryData.fromJson(res.data['data'])};
|
|
} else {
|
|
return {'status': false, 'data': [], 'msg': res.data['message']};
|
|
}
|
|
}
|
|
|
|
// 暂停观看历史
|
|
static Future pauseHistory(bool switchStatus) async {
|
|
// 暂停switchStatus传true 否则false
|
|
var res = await Request().post(
|
|
Api.pauseHistory,
|
|
queryParameters: {
|
|
'switch': switchStatus,
|
|
'jsonp': 'jsonp',
|
|
'csrf': await Request.getCsrf(),
|
|
},
|
|
);
|
|
return res;
|
|
}
|
|
|
|
// 观看历史暂停状态
|
|
static Future historyStatus() async {
|
|
var res = await Request().get(Api.historyStatus);
|
|
return res;
|
|
}
|
|
|
|
// 清空历史记录
|
|
static Future clearHistory() async {
|
|
var res = await Request().post(
|
|
Api.clearHistory,
|
|
queryParameters: {
|
|
'jsonp': 'jsonp',
|
|
'csrf': await Request.getCsrf(),
|
|
},
|
|
);
|
|
return res;
|
|
}
|
|
}
|