mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
refa: article (#757)
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
import 'package:PiliPlus/grpc/app/main/community/reply/v1/reply.pb.dart';
|
||||
import 'package:PiliPlus/http/dynamics.dart';
|
||||
import 'package:PiliPlus/http/loading_state.dart';
|
||||
import 'package:PiliPlus/models/common/reply_type.dart';
|
||||
import 'package:PiliPlus/models/dynamics/opus_detail/data.dart';
|
||||
import 'package:PiliPlus/models/dynamics/result.dart';
|
||||
import 'package:PiliPlus/pages/common/reply_controller.dart';
|
||||
import 'package:PiliPlus/utils/id_utils.dart';
|
||||
import 'package:PiliPlus/utils/storage.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:PiliPlus/http/html.dart';
|
||||
import 'package:PiliPlus/http/reply.dart';
|
||||
import 'package:fixnum/fixnum.dart' as $fixnum;
|
||||
|
||||
@@ -38,12 +39,14 @@ class DynamicDetailController extends ReplyController<MainListReply> {
|
||||
}
|
||||
}
|
||||
|
||||
// 根据jumpUrl获取动态html
|
||||
reqHtmlByOpusId(int id) async {
|
||||
var res = await HtmlHttp.reqHtml(id, 'opus');
|
||||
type = res['commentType'];
|
||||
oid = res['commentId'];
|
||||
queryData();
|
||||
getCommentParams(int id) async {
|
||||
var res = await DynamicsHttp.opusDetail(opusId: id);
|
||||
if (res['status']) {
|
||||
OpusData data = res['data'];
|
||||
type = data.item!.basic!.commentType!;
|
||||
oid = int.parse(data.item!.basic!.commentIdStr!);
|
||||
queryData();
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
@@ -109,8 +109,7 @@ class _DynamicDetailPageState extends State<DynamicDetailPage>
|
||||
duration: const Duration(milliseconds: 300),
|
||||
);
|
||||
_fabAnimationCtr?.forward();
|
||||
// 滚动事件监听
|
||||
scrollListener();
|
||||
_dynamicDetailController.scrollController.addListener(listener);
|
||||
}
|
||||
|
||||
// 页面初始化
|
||||
@@ -139,7 +138,7 @@ class _DynamicDetailPageState extends State<DynamicDetailPage>
|
||||
DynamicDetailController(oid, replyType),
|
||||
tag: Utils.makeHeroTag(opusId),
|
||||
);
|
||||
await _dynamicDetailController.reqHtmlByOpusId(opusId!);
|
||||
await _dynamicDetailController.getCommentParams(opusId!);
|
||||
setState(() {});
|
||||
}
|
||||
} else {
|
||||
@@ -227,17 +226,22 @@ class _DynamicDetailPageState extends State<DynamicDetailPage>
|
||||
});
|
||||
}
|
||||
|
||||
// 滑动事件监听
|
||||
void scrollListener() {
|
||||
_dynamicDetailController.scrollController.addListener(listener);
|
||||
@override
|
||||
void didChangeDependencies() {
|
||||
super.didChangeDependencies();
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
if (_dynamicDetailController.scrollController.hasClients) {
|
||||
_visibleTitle.value =
|
||||
_dynamicDetailController.scrollController.positions.first.pixels >
|
||||
55;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void listener() {
|
||||
// 标题
|
||||
if (_dynamicDetailController.scrollController.positions.length == 1) {
|
||||
_visibleTitle.value =
|
||||
_dynamicDetailController.scrollController.offset > 55;
|
||||
}
|
||||
_visibleTitle.value =
|
||||
_dynamicDetailController.scrollController.positions.first.pixels > 55;
|
||||
|
||||
// fab按钮
|
||||
final ScrollDirection direction1 = _dynamicDetailController
|
||||
|
||||
Reference in New Issue
Block a user