deprecate replytype

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-05-20 21:43:10 +08:00
parent cfb42075dc
commit 12eb430d8c
12 changed files with 98 additions and 112 deletions

View File

@@ -8,7 +8,6 @@ import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/http/login.dart'; import 'package:PiliPlus/http/login.dart';
import 'package:PiliPlus/models/bangumi/pgc_rank/pgc_rank_item_model.dart'; import 'package:PiliPlus/models/bangumi/pgc_rank/pgc_rank_item_model.dart';
import 'package:PiliPlus/models/common/account_type.dart'; import 'package:PiliPlus/models/common/account_type.dart';
import 'package:PiliPlus/models/common/reply/reply_type.dart';
import 'package:PiliPlus/models/home/rcmd/result.dart'; import 'package:PiliPlus/models/home/rcmd/result.dart';
import 'package:PiliPlus/models/member/article.dart'; import 'package:PiliPlus/models/member/article.dart';
import 'package:PiliPlus/models/model_hot_video_item.dart'; import 'package:PiliPlus/models/model_hot_video_item.dart';
@@ -643,7 +642,7 @@ class VideoHttp {
// message str 发送评论内容 必要 最大1000字符 // message str 发送评论内容 必要 最大1000字符
// plat num 发送平台标识 非必要 1web端 2安卓客户端 3ios客户端 4wp客户端 // plat num 发送平台标识 非必要 1web端 2安卓客户端 3ios客户端 4wp客户端
static Future replyAdd({ static Future replyAdd({
required ReplyType type, required int type,
required int oid, required int oid,
required String message, required String message,
int? root, int? root,
@@ -655,7 +654,7 @@ class VideoHttp {
return {'status': false, 'msg': '请输入评论内容'}; return {'status': false, 'msg': '请输入评论内容'};
} }
Map<String, dynamic> data = { Map<String, dynamic> data = {
'type': type.index, 'type': type,
'oid': oid, 'oid': oid,
if (root != null && root != 0) 'root': root, if (root != null && root != 0) 'root': root,
if (parent != null && parent != 0) 'parent': parent, if (parent != null && parent != 0) 'parent': parent,

View File

@@ -1,49 +1,49 @@
enum ReplyType { // enum ReplyType {
unset, // unset,
// 视频 // // 视频
video, // video,
// 话题 // // 话题
topic, // topic,
// // //
unset2, // unset2,
// 活动 // // 活动
activity, // activity,
// 小视频 // // 小视频
videoS, // videoS,
// 小黑屋封禁信息 // // 小黑屋封禁信息
blockMsg, // blockMsg,
// 公告信息 // // 公告信息
publicMsg, // publicMsg,
// 直播活动 // // 直播活动
liveActivity, // liveActivity,
// 活动稿件 // // 活动稿件
activityFile, // activityFile,
// 直播公告 // // 直播公告
livePublic, // livePublic,
// 相簿 // // 相簿
album, // album,
// 专栏 // // 专栏
column, // column,
// 票务 // // 票务
ticket, // ticket,
// 音频 // // 音频
audio, // audio,
// 风纪委员会 // // 风纪委员会
unset3, // unset3,
// 点评 // // 点评
comment, // comment,
// 动态 // // 动态
dynamics, // dynamics,
// 播单 // // 播单
playList, // playList,
// 音乐播单 // // 音乐播单
musicPlayList, // musicPlayList,
// 漫画 // // 漫画
comics1, // comics1,
// 漫画 // // 漫画
comics2, // comics2,
// 漫画 // // 漫画
comics3, // comics3,
// 课程 // // 课程
course, // course,
} // }

View File

@@ -14,7 +14,6 @@ import 'package:PiliPlus/models/common/badge_type.dart';
import 'package:PiliPlus/models/common/image_preview_type.dart'; import 'package:PiliPlus/models/common/image_preview_type.dart';
import 'package:PiliPlus/models/common/image_type.dart'; import 'package:PiliPlus/models/common/image_type.dart';
import 'package:PiliPlus/models/common/reply/reply_sort_type.dart'; import 'package:PiliPlus/models/common/reply/reply_sort_type.dart';
import 'package:PiliPlus/models/common/reply/reply_type.dart';
import 'package:PiliPlus/models/dynamics/result.dart' show DynamicStat; import 'package:PiliPlus/models/dynamics/result.dart' show DynamicStat;
import 'package:PiliPlus/pages/article/controller.dart'; import 'package:PiliPlus/pages/article/controller.dart';
import 'package:PiliPlus/pages/article/widgets/html_render.dart'; import 'package:PiliPlus/pages/article/widgets/html_render.dart';
@@ -195,7 +194,7 @@ class _ArticlePageState extends State<ArticlePage>
oid: oid, oid: oid,
rpid: rpid, rpid: rpid,
source: 'dynamic', source: 'dynamic',
replyType: ReplyType.values[_articleCtr.commentType], replyType: _articleCtr.commentType,
firstFloor: replyItem, firstFloor: replyItem,
onDispose: onDispose, onDispose: onDispose,
), ),
@@ -813,7 +812,7 @@ class _ArticlePageState extends State<ArticlePage>
_articleCtr.onReply( _articleCtr.onReply(
context, context,
oid: _articleCtr.commentId, oid: _articleCtr.commentId,
replyType: ReplyType.values[_articleCtr.commentType], replyType: _articleCtr.commentType,
); );
}, },
tooltip: '评论动态', tooltip: '评论动态',

View File

@@ -4,7 +4,6 @@ import 'package:PiliPlus/grpc/bilibili/pagination.pb.dart';
import 'package:PiliPlus/http/loading_state.dart'; import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/http/reply.dart'; import 'package:PiliPlus/http/reply.dart';
import 'package:PiliPlus/models/common/reply/reply_sort_type.dart'; import 'package:PiliPlus/models/common/reply/reply_sort_type.dart';
import 'package:PiliPlus/models/common/reply/reply_type.dart';
import 'package:PiliPlus/pages/common/common_list_controller.dart'; import 'package:PiliPlus/pages/common/common_list_controller.dart';
import 'package:PiliPlus/pages/video/reply_new/view.dart'; import 'package:PiliPlus/pages/video/reply_new/view.dart';
import 'package:PiliPlus/utils/feed_back.dart'; import 'package:PiliPlus/utils/feed_back.dart';
@@ -111,11 +110,12 @@ abstract class ReplyController<R> extends CommonListController<R, ReplyInfo> {
void onReply( void onReply(
BuildContext context, { BuildContext context, {
dynamic oid, int? oid,
dynamic replyItem, ReplyInfo? replyItem,
int index = 0, int index = 0,
ReplyType? replyType, int? replyType,
}) { }) {
assert(replyItem != null || (oid != null && replyType != null));
String? hint; String? hint;
try { try {
if (loadingState.value is Success) { if (loadingState.value is Success) {
@@ -128,18 +128,16 @@ abstract class ReplyController<R> extends CommonListController<R, ReplyInfo> {
} }
} }
} catch (_) {} } catch (_) {}
dynamic key = oid ?? replyItem.oid + replyItem.id; dynamic key = oid ?? replyItem!.oid + replyItem.id;
Navigator.of(context) Navigator.of(context)
.push( .push(
GetDialogRoute( GetDialogRoute(
pageBuilder: (buildContext, animation, secondaryAnimation) { pageBuilder: (buildContext, animation, secondaryAnimation) {
return ReplyPage( return ReplyPage(
oid: oid ?? replyItem.oid.toInt(), oid: oid ?? replyItem!.oid.toInt(),
root: oid != null ? 0 : replyItem.id.toInt(), root: oid != null ? 0 : replyItem!.id.toInt(),
parent: oid != null ? 0 : replyItem.id.toInt(), parent: oid != null ? 0 : replyItem!.id.toInt(),
replyType: replyItem != null replyType: replyItem?.type.toInt() ?? replyType!,
? ReplyType.values[replyItem.type.toInt()]
: replyType,
replyItem: replyItem, replyItem: replyItem,
initialValue: savedReplies[key], initialValue: savedReplies[key],
onSave: (reply) { onSave: (reply) {

View File

@@ -3,7 +3,6 @@ import 'package:PiliPlus/grpc/bilibili/main/community/reply/v1.pb.dart'
import 'package:PiliPlus/grpc/reply.dart'; import 'package:PiliPlus/grpc/reply.dart';
import 'package:PiliPlus/http/dynamics.dart'; import 'package:PiliPlus/http/dynamics.dart';
import 'package:PiliPlus/http/loading_state.dart'; import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/models/common/reply/reply_type.dart';
import 'package:PiliPlus/models/dynamics/result.dart'; import 'package:PiliPlus/models/dynamics/result.dart';
import 'package:PiliPlus/pages/common/reply_controller.dart'; import 'package:PiliPlus/pages/common/reply_controller.dart';
import 'package:PiliPlus/utils/id_utils.dart'; import 'package:PiliPlus/utils/id_utils.dart';
@@ -21,8 +20,7 @@ class DynamicDetailController extends ReplyController<MainListReply> {
late final showDynActionBar = GStorage.showDynActionBar; late final showDynActionBar = GStorage.showDynActionBar;
@override @override
dynamic get sourceId => dynamic get sourceId => type == 1 ? IdUtils.av2bv(oid) : oid;
type == ReplyType.video.index ? IdUtils.av2bv(oid) : oid;
@override @override
void onInit() { void onInit() {

View File

@@ -10,7 +10,6 @@ import 'package:PiliPlus/grpc/bilibili/main/community/reply/v1.pb.dart'
import 'package:PiliPlus/http/constants.dart'; import 'package:PiliPlus/http/constants.dart';
import 'package:PiliPlus/http/loading_state.dart'; import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/models/common/reply/reply_sort_type.dart'; import 'package:PiliPlus/models/common/reply/reply_sort_type.dart';
import 'package:PiliPlus/models/common/reply/reply_type.dart';
import 'package:PiliPlus/models/dynamics/result.dart'; import 'package:PiliPlus/models/dynamics/result.dart';
import 'package:PiliPlus/pages/dynamics/widgets/author_panel.dart'; import 'package:PiliPlus/pages/dynamics/widgets/author_panel.dart';
import 'package:PiliPlus/pages/dynamics/widgets/dynamic_panel.dart'; import 'package:PiliPlus/pages/dynamics/widgets/dynamic_panel.dart';
@@ -190,7 +189,7 @@ class _DynamicDetailPageState extends State<DynamicDetailPage>
oid: oid, oid: oid,
rpid: rpid, rpid: rpid,
source: 'dynamic', source: 'dynamic',
replyType: ReplyType.values[replyType], replyType: replyType,
firstFloor: replyItem, firstFloor: replyItem,
onDispose: onDispose, onDispose: onDispose,
), ),
@@ -477,7 +476,7 @@ class _DynamicDetailPageState extends State<DynamicDetailPage>
_dynamicDetailController.onReply( _dynamicDetailController.onReply(
context, context,
oid: _dynamicDetailController.oid, oid: _dynamicDetailController.oid,
replyType: ReplyType.values[replyType], replyType: replyType,
); );
}, },
tooltip: '评论动态', tooltip: '评论动态',

View File

@@ -6,7 +6,6 @@ import 'package:PiliPlus/grpc/bilibili/main/community/reply/v1.pb.dart'
show ReplyInfo; show ReplyInfo;
import 'package:PiliPlus/http/loading_state.dart'; import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/models/common/reply/reply_sort_type.dart'; import 'package:PiliPlus/models/common/reply/reply_sort_type.dart';
import 'package:PiliPlus/models/common/reply/reply_type.dart';
import 'package:PiliPlus/pages/video/reply/controller.dart'; import 'package:PiliPlus/pages/video/reply/controller.dart';
import 'package:PiliPlus/pages/video/reply/widgets/reply_item_grpc.dart'; import 'package:PiliPlus/pages/video/reply/widgets/reply_item_grpc.dart';
import 'package:PiliPlus/utils/feed_back.dart'; import 'package:PiliPlus/utils/feed_back.dart';
@@ -175,7 +174,7 @@ class _VideoReplyPanelState extends State<VideoReplyPanel>
_videoReplyController.onReply( _videoReplyController.onReply(
context, context,
oid: _videoReplyController.aid, oid: _videoReplyController.aid,
replyType: ReplyType.video, replyType: 1,
); );
}, },
tooltip: '发表评论', tooltip: '发表评论',
@@ -239,7 +238,7 @@ class _VideoReplyPanelState extends State<VideoReplyPanel>
_videoReplyController.onToggleTop( _videoReplyController.onToggleTop(
index, index,
_videoReplyController.aid, _videoReplyController.aid,
ReplyType.video.index, 1,
isUpTop, isUpTop,
rpid, rpid,
), ),

View File

@@ -1,10 +1,11 @@
import 'dart:async'; import 'dart:async';
import 'package:PiliPlus/common/widgets/button/toolbar_icon_button.dart'; import 'package:PiliPlus/common/widgets/button/toolbar_icon_button.dart';
import 'package:PiliPlus/grpc/bilibili/main/community/reply/v1.pb.dart'
show ReplyInfo;
import 'package:PiliPlus/http/video.dart'; import 'package:PiliPlus/http/video.dart';
import 'package:PiliPlus/main.dart'; import 'package:PiliPlus/main.dart';
import 'package:PiliPlus/models/common/publish_panel_type.dart'; import 'package:PiliPlus/models/common/publish_panel_type.dart';
import 'package:PiliPlus/models/common/reply/reply_type.dart';
import 'package:PiliPlus/pages/common/common_publish_page.dart'; import 'package:PiliPlus/pages/common/common_publish_page.dart';
import 'package:PiliPlus/pages/emote/view.dart'; import 'package:PiliPlus/pages/emote/view.dart';
import 'package:PiliPlus/utils/storage.dart'; import 'package:PiliPlus/utils/storage.dart';
@@ -13,11 +14,11 @@ import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
class ReplyPage extends CommonPublishPage { class ReplyPage extends CommonPublishPage {
final int? oid; final int oid;
final int? root; final int root;
final int? parent; final int parent;
final ReplyType? replyType; final int replyType;
final dynamic replyItem; final ReplyInfo? replyItem;
final String? hint; final String? hint;
const ReplyPage({ const ReplyPage({
@@ -25,10 +26,10 @@ class ReplyPage extends CommonPublishPage {
super.initialValue, super.initialValue,
super.imageLengthLimit, super.imageLengthLimit,
super.onSave, super.onSave,
this.oid, required this.oid,
this.root, required this.root,
this.parent, required this.parent,
this.replyType, required this.replyType,
this.replyItem, this.replyItem,
this.hint, this.hint,
}); });
@@ -243,12 +244,12 @@ class _ReplyPageState extends CommonPublishPageState<ReplyPage> {
Future<void> onCustomPublish( Future<void> onCustomPublish(
{required String message, List? pictures}) async { {required String message, List? pictures}) async {
var result = await VideoHttp.replyAdd( var result = await VideoHttp.replyAdd(
type: widget.replyType ?? ReplyType.video, type: widget.replyType,
oid: widget.oid!, oid: widget.oid,
root: widget.root!, root: widget.root,
parent: widget.parent!, parent: widget.parent,
message: widget.replyItem != null && widget.replyItem.root != 0 message: widget.replyItem != null && widget.replyItem!.root != 0
? ' 回复 @${widget.replyItem.member.name} : $message' ? ' 回复 @${widget.replyItem!.member.name} : $message'
: message, : message,
pictures: pictures, pictures: pictures,
syncToDynamic: _syncToDynamic.value, syncToDynamic: _syncToDynamic.value,

View File

@@ -2,7 +2,6 @@ import 'package:PiliPlus/grpc/bilibili/main/community/reply/v1.pb.dart'
show ReplyInfo, DetailListReply, Mode; show ReplyInfo, DetailListReply, Mode;
import 'package:PiliPlus/grpc/reply.dart'; import 'package:PiliPlus/grpc/reply.dart';
import 'package:PiliPlus/http/loading_state.dart'; import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/models/common/reply/reply_type.dart';
import 'package:PiliPlus/pages/common/reply_controller.dart'; import 'package:PiliPlus/pages/common/reply_controller.dart';
import 'package:PiliPlus/utils/id_utils.dart'; import 'package:PiliPlus/utils/id_utils.dart';
import 'package:PiliPlus/utils/storage.dart'; import 'package:PiliPlus/utils/storage.dart';
@@ -30,7 +29,7 @@ class VideoReplyReplyController extends ReplyController
int oid; int oid;
// rpid 请求楼中楼回复 // rpid 请求楼中楼回复
int rpid; int rpid;
ReplyType replyType; // = ReplyType.video; int replyType; // = ReplyType.video;
ReplyInfo? firstFloor; ReplyInfo? firstFloor;
@@ -40,8 +39,7 @@ class VideoReplyReplyController extends ReplyController
late final horizontalPreview = GStorage.horizontalPreview; late final horizontalPreview = GStorage.horizontalPreview;
@override @override
dynamic get sourceId => dynamic get sourceId => replyType == 1 ? IdUtils.av2bv(oid) : oid;
replyType == ReplyType.video ? IdUtils.av2bv(oid) : oid;
@override @override
void onInit() { void onInit() {
@@ -108,7 +106,7 @@ class VideoReplyReplyController extends ReplyController
@override @override
Future<LoadingState> customGetData() => isDialogue Future<LoadingState> customGetData() => isDialogue
? ReplyGrpc.dialogList( ? ReplyGrpc.dialogList(
type: replyType.index, type: replyType,
oid: oid, oid: oid,
root: rpid, root: rpid,
dialog: dialog!, dialog: dialog!,
@@ -116,7 +114,7 @@ class VideoReplyReplyController extends ReplyController
antiGoodsReply: antiGoodsReply, antiGoodsReply: antiGoodsReply,
) )
: ReplyGrpc.detailList( : ReplyGrpc.detailList(
type: replyType.index, type: replyType,
oid: oid, oid: oid,
root: rpid, root: rpid,
rpid: id ?? 0, rpid: id ?? 0,

View File

@@ -4,7 +4,6 @@ import 'package:PiliPlus/common/widgets/refresh_indicator.dart';
import 'package:PiliPlus/grpc/bilibili/main/community/reply/v1.pb.dart' import 'package:PiliPlus/grpc/bilibili/main/community/reply/v1.pb.dart'
show ReplyInfo, Mode; show ReplyInfo, Mode;
import 'package:PiliPlus/http/loading_state.dart'; import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/models/common/reply/reply_type.dart';
import 'package:PiliPlus/pages/common/common_slide_page.dart'; import 'package:PiliPlus/pages/common/common_slide_page.dart';
import 'package:PiliPlus/pages/video/reply/widgets/reply_item_grpc.dart'; import 'package:PiliPlus/pages/video/reply/widgets/reply_item_grpc.dart';
import 'package:PiliPlus/pages/video/reply_new/view.dart'; import 'package:PiliPlus/pages/video/reply_new/view.dart';
@@ -39,7 +38,7 @@ class VideoReplyReplyPanel extends CommonSlidePage {
final int? dialog; final int? dialog;
final ReplyInfo? firstFloor; final ReplyInfo? firstFloor;
final String? source; final String? source;
final ReplyType replyType; final int replyType;
final bool isDialogue; final bool isDialogue;
final VoidCallback? onViewImage; final VoidCallback? onViewImage;
final ValueChanged<int>? onDismissed; final ValueChanged<int>? onDismissed;
@@ -194,7 +193,7 @@ class _VideoReplyReplyPanelState
_videoReplyReplyController.onToggleTop( _videoReplyReplyController.onToggleTop(
index, index,
_videoReplyReplyController.oid, _videoReplyReplyController.oid,
_videoReplyReplyController.replyType.index, _videoReplyReplyController.replyType,
isUpTop, isUpTop,
rpid, rpid,
), ),
@@ -457,7 +456,7 @@ class _VideoReplyReplyPanelState
onToggleTop: (isUpTop, rpid) => _videoReplyReplyController.onToggleTop( onToggleTop: (isUpTop, rpid) => _videoReplyReplyController.onToggleTop(
index, index,
_videoReplyReplyController.oid, _videoReplyReplyController.oid,
_videoReplyReplyController.replyType.index, _videoReplyReplyController.replyType,
isUpTop, isUpTop,
rpid, rpid,
), ),

View File

@@ -12,7 +12,6 @@ import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/main.dart'; import 'package:PiliPlus/main.dart';
import 'package:PiliPlus/models/bangumi/info.dart' as bangumi; import 'package:PiliPlus/models/bangumi/info.dart' as bangumi;
import 'package:PiliPlus/models/common/episode_panel_type.dart'; import 'package:PiliPlus/models/common/episode_panel_type.dart';
import 'package:PiliPlus/models/common/reply/reply_type.dart';
import 'package:PiliPlus/models/common/search_type.dart'; import 'package:PiliPlus/models/common/search_type.dart';
import 'package:PiliPlus/models/video_detail_res.dart' as video; import 'package:PiliPlus/models/video_detail_res.dart' as video;
import 'package:PiliPlus/pages/danmaku/view.dart'; import 'package:PiliPlus/pages/danmaku/view.dart';
@@ -2060,7 +2059,7 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
oid: oid, oid: oid,
rpid: rpid, rpid: rpid,
firstFloor: replyItem, firstFloor: replyItem,
replyType: ReplyType.video, replyType: 1,
source: 'videoDetail', source: 'videoDetail',
onViewImage: videoDetailController.onViewImage, onViewImage: videoDetailController.onViewImage,
onDismissed: videoDetailController.onDismissed, onDismissed: videoDetailController.onDismissed,

View File

@@ -1,7 +1,6 @@
import 'dart:async'; import 'dart:async';
import 'package:PiliPlus/http/search.dart'; import 'package:PiliPlus/http/search.dart';
import 'package:PiliPlus/models/common/reply/reply_type.dart';
import 'package:PiliPlus/pages/video/reply_reply/view.dart'; import 'package:PiliPlus/pages/video/reply_reply/view.dart';
import 'package:PiliPlus/utils/extension.dart'; import 'package:PiliPlus/utils/extension.dart';
import 'package:PiliPlus/utils/id_utils.dart'; import 'package:PiliPlus/utils/id_utils.dart';
@@ -114,7 +113,7 @@ class PiliScheme {
arguments: { arguments: {
'oid': oid, 'oid': oid,
'rpid': rpid, 'rpid': rpid,
'type': ReplyType.video.index, 'type': 1,
'id': queryParameters['comment_secondary_id'], 'id': queryParameters['comment_secondary_id'],
}, },
() => Scaffold( () => Scaffold(
@@ -141,7 +140,7 @@ class PiliScheme {
oid: int.parse(oid), oid: int.parse(oid),
rpid: rpid, rpid: rpid,
source: 'routePush', source: 'routePush',
replyType: ReplyType.video, replyType: 1,
firstFloor: null, firstFloor: null,
id: queryParameters['comment_secondary_id'] != null id: queryParameters['comment_secondary_id'] != null
? int.tryParse( ? int.tryParse(
@@ -285,7 +284,7 @@ class PiliScheme {
rpid: rootId, rpid: rootId,
id: rpId, id: rpId,
source: 'routePush', source: 'routePush',
replyType: ReplyType.values[type], replyType: type,
firstFloor: null, firstFloor: null,
), ),
), ),
@@ -335,7 +334,7 @@ class PiliScheme {
oid: oid, oid: oid,
rpid: rpId, rpid: rpId,
source: 'routePush', source: 'routePush',
replyType: ReplyType.values[type], replyType: type,
firstFloor: null, firstFloor: null,
), ),
), ),
@@ -375,7 +374,7 @@ class PiliScheme {
arguments: { arguments: {
'oid': oid ?? dynId, 'oid': oid ?? dynId,
'rpid': rpid, 'rpid': rpid,
'type': businessId ?? ReplyType.dynamics.index, 'type': businessId ?? 17,
'id': queryParameters['comment_secondary_id'], 'id': queryParameters['comment_secondary_id'],
}, },
() => Scaffold( () => Scaffold(
@@ -400,9 +399,7 @@ class PiliScheme {
oid: oid ?? int.parse(dynId), oid: oid ?? int.parse(dynId),
rpid: rpid, rpid: rpid,
source: 'routePush', source: 'routePush',
replyType: businessId != null replyType: businessId ?? 17,
? ReplyType.values[businessId]
: ReplyType.dynamics,
firstFloor: null, firstFloor: null,
id: queryParameters['comment_secondary_id'] != null id: queryParameters['comment_secondary_id'] != null
? int.tryParse( ? int.tryParse(