mod: insert dyn

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-02-18 22:03:50 +08:00
parent 6bc33795a3
commit 3f5aa03056
3 changed files with 47 additions and 47 deletions

View File

@@ -1,9 +1,5 @@
import 'package:PiliPlus/http/dynamics.dart';
import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/http/msg.dart'; import 'package:PiliPlus/http/msg.dart';
import 'package:PiliPlus/models/dynamics/result.dart';
import 'package:PiliPlus/pages/common/common_publish_page.dart'; import 'package:PiliPlus/pages/common/common_publish_page.dart';
import 'package:PiliPlus/pages/dynamics/tab/controller.dart';
import 'package:PiliPlus/pages/dynamics/view.dart'; import 'package:PiliPlus/pages/dynamics/view.dart';
import 'package:PiliPlus/pages/emote/controller.dart'; import 'package:PiliPlus/pages/emote/controller.dart';
import 'package:PiliPlus/pages/emote/view.dart'; import 'package:PiliPlus/pages/emote/view.dart';
@@ -492,31 +488,10 @@ class _CreateDynPanelState extends CommonPublishPageState<CreateDynPanel> {
if (result['status']) { if (result['status']) {
Get.back(); Get.back();
SmartDialog.showToast('发布成功'); SmartDialog.showToast('发布成功');
try { Future.wait([
// insert Utils.insertCreatedDyn(result),
dynamic id = result['data']['dyn_id']; Utils.checkCreatedDyn(result, editController.text)
if (id != null) { ]);
await Future.delayed(const Duration(milliseconds: 200));
dynamic res = await DynamicsHttp.dynamicDetail(id: id);
if (res['status']) {
final ctr = Get.find<DynamicsTabController>(tag: 'all');
List list = ctr.loadingState.value is Success
? (ctr.loadingState.value as Success).response
: <DynamicItemModel>[];
list.insert(0, res['data']);
ctr.loadingState.value = LoadingState.success(list);
}
}
} catch (e) {
debugPrint('create dyn $e');
}
if (GStorage.enableCreateDynAntifraud) {
try {
Utils.checkCreatedDyn(result['data']['dyn_id'], editController.text);
} catch (e) {
SmartDialog.showToast(e.toString());
}
}
} else { } else {
SmartDialog.showToast(result['msg']); SmartDialog.showToast(result['msg']);
debugPrint('failed to publish: ${result['msg']}'); debugPrint('failed to publish: ${result['msg']}');

View File

@@ -386,13 +386,10 @@ class _RepostPanelState extends CommonPublishPageState<RepostPanel> {
Get.back(); Get.back();
SmartDialog.showToast('转发成功'); SmartDialog.showToast('转发成功');
widget.callback?.call(); widget.callback?.call();
if (GStorage.enableCreateDynAntifraud) { Future.wait([
try { Utils.insertCreatedDyn(result),
Utils.checkCreatedDyn(result['data']['dyn_id'], editController.text); Utils.checkCreatedDyn(result, editController.text)
} catch (e) { ]);
SmartDialog.showToast(e.toString());
}
}
} else { } else {
SmartDialog.showToast(result['msg']); SmartDialog.showToast(result['msg']);
} }

View File

@@ -19,6 +19,7 @@ import 'package:PiliPlus/models/common/search_type.dart';
import 'package:PiliPlus/models/dynamics/result.dart'; import 'package:PiliPlus/models/dynamics/result.dart';
import 'package:PiliPlus/models/live/item.dart'; import 'package:PiliPlus/models/live/item.dart';
import 'package:PiliPlus/models/user/fav_folder.dart'; import 'package:PiliPlus/models/user/fav_folder.dart';
import 'package:PiliPlus/pages/dynamics/tab/controller.dart';
import 'package:PiliPlus/pages/later/controller.dart'; import 'package:PiliPlus/pages/later/controller.dart';
import 'package:PiliPlus/pages/video/detail/introduction/widgets/fav_panel.dart'; import 'package:PiliPlus/pages/video/detail/introduction/widgets/fav_panel.dart';
import 'package:PiliPlus/pages/video/detail/introduction/widgets/group_panel.dart'; import 'package:PiliPlus/pages/video/detail/introduction/widgets/group_panel.dart';
@@ -46,9 +47,34 @@ class Utils {
static const channel = MethodChannel("PiliPlus"); static const channel = MethodChannel("PiliPlus");
static void checkCreatedDyn(id, dynText) async { static Future insertCreatedDyn(result) async {
try {
dynamic id = result['data']['dyn_id'];
if (id != null) { if (id != null) {
dynamic res = await DynamicsHttp.dynamicDetail(id: id, clearCookie: true); await Future.delayed(const Duration(milliseconds: 200));
dynamic res = await DynamicsHttp.dynamicDetail(id: id);
if (res['status']) {
final ctr = Get.find<DynamicsTabController>(tag: 'all');
List list = ctr.loadingState.value is Success
? (ctr.loadingState.value as Success).response
: <DynamicItemModel>[];
list.insert(0, res['data']);
ctr.loadingState.value = LoadingState.success(list);
}
}
} catch (e) {
debugPrint('create dyn $e');
}
}
static Future checkCreatedDyn(result, dynText) async {
if (GStorage.enableCreateDynAntifraud) {
try {
dynamic id = result['data']['dyn_id'];
if (id != null) {
await Future.delayed(const Duration(milliseconds: 200));
dynamic res =
await DynamicsHttp.dynamicDetail(id: id, clearCookie: true);
showDialog( showDialog(
context: Get.context!, context: Get.context!,
builder: (context) => AlertDialog( builder: (context) => AlertDialog(
@@ -58,6 +84,8 @@ class Utils {
), ),
); );
} }
} catch (e) {}
}
} }
// 动态点赞 // 动态点赞