From c2aeb443a0360f8008da75ece098ae6939e97d28 Mon Sep 17 00:00:00 2001 From: guozhigq Date: Fri, 26 May 2023 22:28:48 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=88=86=E4=BA=AB=E8=A7=86=E9=A2=91&?= =?UTF-8?q?=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/preview/controller.dart | 2 +- lib/pages/preview/view.dart | 10 +++++----- .../video/detail/introduction/controller.dart | 20 ++++++++++++++----- lib/pages/video/detail/introduction/view.dart | 4 ++-- 4 files changed, 23 insertions(+), 13 deletions(-) diff --git a/lib/pages/preview/controller.dart b/lib/pages/preview/controller.dart index fd0d4472..20d9e9a3 100644 --- a/lib/pages/preview/controller.dart +++ b/lib/pages/preview/controller.dart @@ -64,7 +64,7 @@ class PreviewController extends GetxController { options: Options(responseType: ResponseType.bytes)); final temp = await getTemporaryDirectory(); String imgName = - "pic_vvex${DateTime.now().toString().split('-').join()}.jpg"; + "pic_plpl${DateTime.now().toString().split('-').join()}.jpg"; var path = '${temp.path}/$imgName'; File(path).writeAsBytesSync(response.data); Share.shareXFiles([XFile(path)], subject: imgList[initialPage.value]); diff --git a/lib/pages/preview/view.dart b/lib/pages/preview/view.dart index dfcd7b07..3dbca113 100644 --- a/lib/pages/preview/view.dart +++ b/lib/pages/preview/view.dart @@ -168,7 +168,7 @@ class _ImagePreviewState extends State bottom: 0, child: Container( // height: 45, - padding: EdgeInsets.only(bottom: MediaQuery.of(context).padding.bottom + 10, top: 20), + padding: EdgeInsets.only(bottom: MediaQuery.of(context).padding.bottom, top: 20), decoration: const BoxDecoration( gradient: LinearGradient( begin: Alignment.topCenter, @@ -199,10 +199,10 @@ class _ImagePreviewState extends State ]), ), ), - FloatingActionButton( - onPressed: () => _previewController.onSaveImg(), - child: const Icon(Icons.save_alt_rounded), - ), + const Spacer(), + ElevatedButton(onPressed: () => _previewController.onShareImg(), child: Text('分享')), + const SizedBox(width: 10), + ElevatedButton(onPressed: () => _previewController.onSaveImg(), child: Text('保存')) ], ), ), diff --git a/lib/pages/video/detail/introduction/controller.dart b/lib/pages/video/detail/introduction/controller.dart index b1532ae2..4dfadeb8 100644 --- a/lib/pages/video/detail/introduction/controller.dart +++ b/lib/pages/video/detail/introduction/controller.dart @@ -2,12 +2,14 @@ import 'package:flutter/material.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; import 'package:hive/hive.dart'; +import 'package:pilipala/http/constants.dart'; import 'package:pilipala/http/user.dart'; import 'package:pilipala/http/video.dart'; import 'package:pilipala/models/user/fav_folder.dart'; import 'package:pilipala/models/video_detail_res.dart'; import 'package:pilipala/pages/video/detail/controller.dart'; import 'package:pilipala/utils/storage.dart'; +import 'package:share_plus/share_plus.dart'; class VideoIntroController extends GetxController { // 视频aid @@ -161,12 +163,15 @@ class VideoIntroController extends GetxController { Future actionLikeVideo() async { var result = await VideoHttp.likeVideo(aid: aid, type: !hasLike.value); if (result['status']) { - hasLike.value = result["data"] == 1 ? true : false; - if (hasLike.value) { - SmartDialog.showToast('已点赞 👍'); - } else { + // hasLike.value = result["data"] == 1 ? true : false; + if (!hasLike.value) { + SmartDialog.showToast('点赞成功 👍'); + hasLike.value = true; + } else if(hasLike.value){ SmartDialog.showToast('取消赞'); + hasLike.value = false; } + hasLike.refresh(); } else { SmartDialog.showToast(result['msg']); } @@ -206,7 +211,12 @@ class VideoIntroController extends GetxController { // 分享视频 Future actionShareVideo() async { - print('分享视频'); + var result = await Share.share( + '${HttpString.baseUrl}/video/$aid' + ).whenComplete(() { + print("share completion block "); + }); + return result; } Future queryVideoInFolder() async { diff --git a/lib/pages/video/detail/introduction/view.dart b/lib/pages/video/detail/introduction/view.dart index 4a5dccf5..2fbda43c 100644 --- a/lib/pages/video/detail/introduction/view.dart +++ b/lib/pages/video/detail/introduction/view.dart @@ -467,8 +467,8 @@ class _VideoInfoState extends State with TickerProviderStateMixin { ), Obx( () => ActionItem( - icon: const Icon(FontAwesomeIcons.star), - selectIcon: const Icon(FontAwesomeIcons.star), + icon: const Icon(FontAwesomeIcons.heart), + selectIcon: const Icon(FontAwesomeIcons.heartCircleCheck), onTap: () => showFavBottomSheet(), selectStatus: videoIntroController.hasFav.value, loadingStatus: widget.loadingStatus,