import 'package:flutter/material.dart'; import '../../utils/user_util.dart'; import 'http.dart'; class HomeApiUtil { static Future?> getHomeAd( BuildContext context, String dataKey, String vtid) async { Map params = {}; params["DataKey"] = dataKey; params["Vtid"] = vtid; params["Method"] = "getHomeAd"; var result = await HttpUtil.baseRequest( context, "/api/v2/recommend", params, () {}, notifyError: true); if (result.success) { return result.data; } return null; } static Future?> getHomeTypes( BuildContext context, String dataKey, String vtid, int page) async { Map params = {}; params["DataKey"] = dataKey; params["Vtid"] = vtid; params["Method"] = "getHomeTypeNew"; params["Page"] = "$page"; params["PageSize"] = "5"; var result = await HttpUtil.baseRequest( context, "/api/v2/recommend", params, () {}, notifyError: true); if (result.success) { return result.data; } return null; } static Future?> getRecommendSearchSpecial( BuildContext context) async { Map params = {}; params["Method"] = "getRecommendSearchSpecial"; var result = await HttpUtil.baseRequest( context, "/api/v2/recommend", params, () {}, notifyError: true); if (result.success) { return result.data; } return null; } } class SearchApiUtil { static Future?> getHotSearch( BuildContext context) async { Map params = {}; var result = await HttpUtil.baseRequest( context, "/api/user/getHotSearch", params, () {}, notifyError: true); if (result.success) { return result.data; } return null; } static Future?> getSuggestSearch( BuildContext context, String key) async { Map params = {}; params["Key"] = key; var result = await HttpUtil.baseRequest( context, "/api/user/suggestSearch", params, () {}, notifyError: true); if (result.success) { return result.data; } return null; } static Future?> search( BuildContext context, String key, int page, int? type) async { Map params = {}; params["Key"] = key; params["Page"] = "$page"; type ??= 0; params["Type"] = "$type"; var result = await HttpUtil.baseRequest( context, "/api/user/searchNew", params, () {}, notifyError: true); if (result.success) { return result.data; } return null; } } class VideoApiUtil { //获取搜索专题视频列表 static Future?> getSearchSpecialVideoList( BuildContext context, String key, int page) async { Map params = {}; params["Method"] = "getSpecialVideo"; params["key"] = key; params["page"] = "$page"; var result = await HttpUtil.baseRequest( context, "/api/v2/search", params, () {}, notifyError: true); if (result.success) { return result.data; } return null; } //获取详情 static Future?> getVideoDetail( BuildContext context, String videoId, String? resourceId) async { Map params = {}; params["VideoId"] = videoId; params["Type"] = "0"; params["Uid"] = "1"; params["ResourceId"] = resourceId ?? ""; if (await UserUtil.isLogin()) { params["LoginUid"] = await UserUtil.getUid(); } var result = await HttpUtil.baseRequest( context, "/api/recommend/getVideoDetailV2", params, () {}, notifyError: true); if (result.success) { return result.data; } return null; } //获取剧集列表 static Future?> getVideoEpisodeList( BuildContext context, String videoId, String? resourceId, int page, {int pageSize = 100}) async { Map params = {}; params["VideoId"] = videoId; params["PageSize"] = "$pageSize"; params["Page"] = "$page"; params["Method"] = "getVideoEpisodeList"; params["ResourceId"] = resourceId ?? ""; var result = await HttpUtil.baseRequest( context, "/api/v2/recommend", params, () {}, notifyError: true); if (result.success) { return result.data; } return null; } //获取播放列表 static Future?> getPlayUrl(BuildContext context, String videoId, String id, String resourceId) async { Map params = {}; params["VideoId"] = videoId; params["Id"] = id; params["ResourceId"] = resourceId; var result = await HttpUtil.baseRequest( context, "/api/recommend/getPlayUrl", params, () {}, notifyError: true); if (result.success) { return result.data; } return null; } //相关推荐 static Future?> getRelativeVideos( BuildContext context, String videoId) async { Map params = {}; params["VideoId"] = videoId; var result = await HttpUtil.baseRequest( context, "/api/user/getRelativeVideos", params, () {}, notifyError: true); if (result.success) { return result.data; } return null; } //是否收藏 static Future?> isCollelctedVideo( BuildContext context, String videoId) async { Map params = {}; params["Id"] = videoId; params["LoginUid"] = await UserUtil.getUid(); params["ThirdType"] = "0"; var result = await HttpUtil.baseRequest( context, "/api/recommend/isCollect", params, () {}, notifyError: true); if (result.success) { return result.data; } return null; } //收藏/取消收藏 视频 static Future?> collelctVideo( BuildContext context, String videoId, bool collected) async { Map params = {}; params["VideoId"] = videoId; params["LoginUid"] = await UserUtil.getUid(); var result; if (collected) { result = await HttpUtil.baseRequest( context, "/api/uservideo/collectVideo", params, () { showLoading(context); }, notifyError: true); } else { result = await HttpUtil.baseRequest( context, "/api/uservideo/cancelCollectVideo", params, () { showLoading(context); }, notifyError: true); } dismissDialog(context); if (result.success) { return result.data; } return null; } static Future?> getCollelctedVideos( BuildContext context, int page) async { Map params = {}; params["Page"] = "$page"; params["LoginUid"] = await UserUtil.getUid(); var result = await HttpUtil.baseRequest( context, "/api/uservideo/getCollectVideoList", params, () {}, notifyError: true); if (result.success) { return result.data; } return null; } static Future?> getUserVideoCount( BuildContext context) async { Map params = {}; params["LoginUid"] = await UserUtil.getUid(); params["Method"] = "getUserVideoDataCount"; var result = await HttpUtil.baseRequest( context, "/api/v2/userVideo", params, () {}, notifyError: true); if (result.success) { return result.data; } return null; } //关注 static Future?> addAttentionVideo( BuildContext context, String videoId) async { Map params = {}; params["VideoId"] = videoId; params["LoginUid"] = await UserUtil.getUid(); var result = await HttpUtil.baseRequest( context, "/api/attention/addAttention", params, () {}, notifyError: true); if (result.success) { return result.data; } return null; } //取消关注 static Future?> cancelAttentionVideo( BuildContext context, String videoId) async { Map params = {}; params["VideoId"] = videoId; params["LoginUid"] = await UserUtil.getUid(); var result = await HttpUtil.baseRequest( context, "/api/attention/cancelAttention", params, () {}, notifyError: true); if (result.success) { return result.data; } return null; } //获取关注列表 static Future?> getAttentionVideoList( BuildContext context, int page) async { Map params = {}; params["Page"] = page; params["LoginUid"] = await UserUtil.getUid(); var result = await HttpUtil.baseRequest( context, "/api/attention/getAttentionList", params, () {}, notifyError: true); if (result.success) { return result.data; } return null; } }