mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-21 09:37:02 +08:00
feat: msg link setting
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -834,4 +834,15 @@ class Api {
|
||||
|
||||
static const String setMsgDnd =
|
||||
'${HttpString.tUrl}/link_setting/v1/link_setting/set_msg_dnd';
|
||||
|
||||
static const String imUserInfos = '${HttpString.tUrl}/x/im/user_infos';
|
||||
|
||||
static const String getSessionSs =
|
||||
'${HttpString.tUrl}/link_setting/v1/link_setting/get_session_ss';
|
||||
|
||||
static const String getMsgDnd =
|
||||
'${HttpString.tUrl}/link_setting/v1/link_setting/get_msg_dnd';
|
||||
|
||||
static const String setPushSs =
|
||||
'${HttpString.tUrl}/link_setting/v1/link_setting/set_push_ss';
|
||||
}
|
||||
|
||||
@@ -6,11 +6,14 @@ import 'package:PiliPlus/http/init.dart';
|
||||
import 'package:PiliPlus/http/loading_state.dart';
|
||||
import 'package:PiliPlus/models/common/reply/reply_option_type.dart';
|
||||
import 'package:PiliPlus/models/msg/account.dart';
|
||||
import 'package:PiliPlus/models/msg/im_user_infos/datum.dart';
|
||||
import 'package:PiliPlus/models/msg/msg_dnd/uid_setting.dart';
|
||||
import 'package:PiliPlus/models/msg/msgfeed_at_me.dart';
|
||||
import 'package:PiliPlus/models/msg/msgfeed_like_me.dart';
|
||||
import 'package:PiliPlus/models/msg/msgfeed_reply_me.dart';
|
||||
import 'package:PiliPlus/models/msg/msgfeed_sys_msg.dart';
|
||||
import 'package:PiliPlus/models/msg/session.dart';
|
||||
import 'package:PiliPlus/models/msg/session_ss/data.dart';
|
||||
import 'package:PiliPlus/utils/storage.dart';
|
||||
import 'package:PiliPlus/utils/wbi_sign.dart';
|
||||
import 'package:dio/dio.dart';
|
||||
@@ -607,4 +610,96 @@ class MsgHttp {
|
||||
return {'status': false, 'msg': res.data['message']};
|
||||
}
|
||||
}
|
||||
|
||||
static Future setPushSs({
|
||||
required int setting,
|
||||
required talkerUid,
|
||||
}) async {
|
||||
final csrf = Accounts.main.csrf;
|
||||
var res = await Request().post(
|
||||
Api.setPushSs,
|
||||
data: {
|
||||
'setting': setting,
|
||||
'talker_uid': talkerUid,
|
||||
'build': 0,
|
||||
'mobi_app': 'web',
|
||||
'csrf_token': csrf,
|
||||
'csrf': csrf,
|
||||
},
|
||||
options: Options(contentType: Headers.formUrlEncodedContentType),
|
||||
);
|
||||
if (res.data['code'] == 0) {
|
||||
return {'status': true};
|
||||
} else {
|
||||
return {'status': false, 'msg': res.data['message']};
|
||||
}
|
||||
}
|
||||
|
||||
static Future<LoadingState<List<ImUserInfosData>?>> imUserInfos({
|
||||
required List uids,
|
||||
}) async {
|
||||
final csrf = Accounts.main.csrf;
|
||||
var res = await Request().get(
|
||||
Api.imUserInfos,
|
||||
queryParameters: {
|
||||
'uids': uids.join(','),
|
||||
'build': 0,
|
||||
'mobi_app': 'web',
|
||||
'csrf_token': csrf,
|
||||
'csrf': csrf,
|
||||
},
|
||||
);
|
||||
if (res.data['code'] == 0) {
|
||||
return Success((res.data['data'] as List?)
|
||||
?.map((e) => ImUserInfosData.fromJson(e))
|
||||
.toList());
|
||||
} else {
|
||||
return Error(res.data['message']);
|
||||
}
|
||||
}
|
||||
|
||||
static Future<LoadingState<SessionSsData>> getSessionSs({
|
||||
required talkerUid,
|
||||
}) async {
|
||||
final csrf = Accounts.main.csrf;
|
||||
var res = await Request().get(
|
||||
Api.getSessionSs,
|
||||
queryParameters: {
|
||||
'talker_uid': talkerUid,
|
||||
'build': 0,
|
||||
'mobi_app': 'web',
|
||||
'csrf_token': csrf,
|
||||
'csrf': csrf,
|
||||
},
|
||||
);
|
||||
if (res.data['code'] == 0) {
|
||||
return Success(SessionSsData.fromJson(res.data['data']));
|
||||
} else {
|
||||
return Error(res.data['message']);
|
||||
}
|
||||
}
|
||||
|
||||
static Future<LoadingState<List<UidSetting>?>> getMsgDnd({
|
||||
required uidsStr,
|
||||
}) async {
|
||||
final csrf = Accounts.main.csrf;
|
||||
var res = await Request().get(
|
||||
Api.getMsgDnd,
|
||||
queryParameters: {
|
||||
'own_uid': Accounts.main.mid,
|
||||
'uids_str': uidsStr,
|
||||
'build': 0,
|
||||
'mobi_app': 'web',
|
||||
'csrf_token': csrf,
|
||||
'csrf': csrf,
|
||||
},
|
||||
);
|
||||
if (res.data['code'] == 0) {
|
||||
return Success((res.data['data']?['uid_settings'] as List?)
|
||||
?.map((e) => UidSetting.fromJson(e))
|
||||
.toList());
|
||||
} else {
|
||||
return Error(res.data['message']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user