feat: 新增不感兴趣功能;优化access_key刷新反馈

This commit is contained in:
orz12
2024-06-14 16:46:36 +08:00
parent ed6651bf7e
commit 72ba9f7062
6 changed files with 309 additions and 9 deletions

View File

@@ -6,6 +6,10 @@ class Api {
'${HttpString.appBaseUrl}/x/v2/feed/index';
static const String recommendListWeb = '/x/web-interface/index/top/feed/rcmd';
// APP端不感兴趣、取消不感兴趣
static const String feedDislike = '${HttpString.appBaseUrl}/x/feed/dislike';
static const String feedDislikeCancel = '${HttpString.appBaseUrl}/x/feed/dislike/cancel';
// 热门视频
static const String hotList = '/x/web-interface/popular';

View File

@@ -416,7 +416,8 @@ class MemberHttp {
var authCodeRes = await getTVCode();
if (authCodeRes['status']) {
SmartDialog.showLoading(msg: "正在确认登录...");
var confirmRes = await Request().post(Api.qrcodeConfirm, queryParameters: {
var confirmRes =
await Request().post(Api.qrcodeConfirm, queryParameters: {
'auth_code': authCodeRes['data'],
'local_id': '0',
'build': 1442100,
@@ -427,6 +428,14 @@ class MemberHttp {
print(confirmRes);
SmartDialog.dismiss();
if (confirmRes.data['code'] != 0) {
if (confirmRes.data['code'] == -101 ||
confirmRes.data['message'] == "账号未登录") {
return {
'status': false,
'data': [],
'msg': "请在设置中退出账号并重新登录再试",
};
}
return {
'status': false,
'data': [],
@@ -478,7 +487,11 @@ class MemberHttp {
var userInfo = userInfoCache.get('userInfoCache');
localCache.put(
LocalCacheKey.accessKey, {'mid': userInfo.mid, 'value': accessKey});
return {'status': true, 'data': [], 'message': '操作成功当前获取的access_key为$accessKey'};
return {
'status': true,
'data': [],
'message': '操作成功当前获取的access_key为$accessKey'
};
} else {
return {
'status': false,

View File

@@ -325,7 +325,7 @@ class VideoHttp {
String? accessKey = GStrorage.localCache
.get(LocalCacheKey.accessKey, defaultValue: {})['value'];
if (accessKey == null || accessKey == "") {
return {'status': false, 'data': [], 'msg': "本操作使用app端接口请前往【隐私设置】刷新access_key"};
return {'status': false, 'msg': "本操作使用app端接口请前往【隐私设置】刷新access_key"};
}
var res = await Request().post(
Api.dislikeVideo,
@@ -337,9 +337,74 @@ class VideoHttp {
);
print(res);
if (res.data is! String && res.data['code'] == 0) {
return {'status': true, 'data': res.data['data']};
return {'status': true};
} else {
return {'status': false, 'data': [], 'msg': res.data['message']};
return {
'status': false,
'msg': res.data is String ? res.data : res.data['message']
};
}
}
// 推送不感兴趣反馈
static Future feedDislike(
{required String goto,
required int id,
int? reasonId,
int? feedbackId}) async {
String? accessKey = GStrorage.localCache
.get(LocalCacheKey.accessKey, defaultValue: {})['value'];
if (accessKey == null || accessKey == "") {
return {'status': false, 'msg': "本操作使用app端接口请前往【隐私设置】刷新access_key"};
}
assert((reasonId != null) ^ (feedbackId != null));
var res = await Request().get(Api.feedDislike, data: {
'goto': goto,
'id': id,
// 'mid': mid,
if (reasonId != null) 'reason_id': reasonId,
if (feedbackId != null) 'feedback_id': feedbackId,
'build': 1,
'mobi_app': 'android',
'access_key': accessKey,
'appkey': Constants.appKey,
});
print(res);
if (res.data['code'] == 0) {
return {'status': true};
} else {
return {'status': false, 'msg': res.data['message']};
}
}
// 推送不感兴趣取消
static Future feedDislikeCancel(
{required String goto,
required int id,
int? reasonId,
int? feedbackId}) async {
String? accessKey = GStrorage.localCache
.get(LocalCacheKey.accessKey, defaultValue: {})['value'];
if (accessKey == null || accessKey == "") {
return {'status': false, 'msg': "本操作使用app端接口请前往【隐私设置】刷新access_key"};
}
// assert ((reasonId != null) ^ (feedbackId != null));
var res = await Request().get(Api.feedDislikeCancel, data: {
'goto': goto,
'id': id,
// 'mid': mid,
if (reasonId != null) 'reason_id': reasonId,
if (feedbackId != null) 'feedback_id': feedbackId,
'build': 1,
'mobi_app': 'android',
'access_key': accessKey,
'appkey': Constants.appKey,
});
print(res);
if (res.data['code'] == 0) {
return {'status': true};
} else {
return {'status': false, 'msg': res.data['message']};
}
}