feat: vibration

This commit is contained in:
guozhigq
2023-07-26 15:31:42 +08:00
parent 54d003fdb1
commit 5349015776
22 changed files with 139 additions and 27 deletions

View File

@ -8,6 +8,7 @@ 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/feed_back.dart';
import 'package:pilipala/utils/id_utils.dart';
import 'package:pilipala/utils/storage.dart';
import 'package:share_plus/share_plus.dart';
@ -303,6 +304,7 @@ class VideoIntroController extends GetxController {
// 选择文件夹
onChoose(bool checkValue, int index) {
feedBack();
List<FavFolderItemData> datalist = favFolderData.value.list!;
for (var i = 0; i < datalist.length; i++) {
if (i == index) {
@ -327,6 +329,7 @@ class VideoIntroController extends GetxController {
// 关注/取关up
Future actionRelationMod() async {
feedBack();
if (user.get(UserBoxKey.userMid) == null) {
SmartDialog.showToast('账号未登录');
return;

View File

@ -12,6 +12,7 @@ import 'package:pilipala/common/widgets/stat/danmu.dart';
import 'package:pilipala/common/widgets/stat/view.dart';
import 'package:pilipala/models/video_detail_res.dart';
import 'package:pilipala/pages/video/detail/introduction/controller.dart';
import 'package:pilipala/utils/feed_back.dart';
import 'package:pilipala/utils/storage.dart';
import 'package:pilipala/utils/utils.dart';
@ -125,6 +126,7 @@ class _VideoInfoState extends State<VideoInfo> with TickerProviderStateMixin {
// 视频介绍
showIntroDetail() {
feedBack();
showBottomSheet(
context: context,
enableDrag: true,
@ -245,6 +247,7 @@ class _VideoInfoState extends State<VideoInfo> with TickerProviderStateMixin {
],
GestureDetector(
onTap: () {
feedBack();
int mid = !widget.loadingStatus
? widget.videoDetail!.owner!.mid
: videoItem['owner'].mid;

View File

@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:pilipala/utils/feed_back.dart';
class ActionRowItem extends StatelessWidget {
final Icon? icon;
@ -27,7 +28,10 @@ class ActionRowItem extends StatelessWidget {
borderRadius: const BorderRadius.all(Radius.circular(30)),
clipBehavior: Clip.hardEdge,
child: InkWell(
onTap: () => onTap!(),
onTap: () => {
feedBack(),
onTap!(),
},
child: Padding(
padding: const EdgeInsets.fromLTRB(13, 6.5, 15, 6.3),
child: Row(

View File

@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:hive/hive.dart';
import 'package:pilipala/common/widgets/http_error.dart';
import 'package:pilipala/utils/feed_back.dart';
import 'package:pilipala/utils/storage.dart';
class FavPanel extends StatefulWidget {
@ -43,6 +44,7 @@ class _FavPanelState extends State<FavPanel> {
actions: [
TextButton(
onPressed: () async {
feedBack();
await widget.ctr!.actionFavVideo();
},
child: const Text('完成'),

View File

@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:pilipala/utils/feed_back.dart';
class MenuRow extends StatelessWidget {
final bool? loadingStatus;
@ -62,7 +63,10 @@ class MenuRow extends StatelessWidget {
borderRadius: const BorderRadius.all(Radius.circular(30)),
clipBehavior: Clip.hardEdge,
child: InkWell(
onTap: () => onTap!(),
onTap: () => {
feedBack(),
onTap!(),
},
child: Container(
padding: const EdgeInsets.fromLTRB(13, 5.5, 13, 5.5),
decoration: BoxDecoration(

View File

@ -4,6 +4,7 @@ import 'package:pilipala/http/reply.dart';
import 'package:pilipala/models/common/reply_sort_type.dart';
import 'package:pilipala/models/common/reply_type.dart';
import 'package:pilipala/models/video/reply/item.dart';
import 'package:pilipala/utils/feed_back.dart';
class VideoReplyController extends GetxController {
VideoReplyController(
@ -83,6 +84,7 @@ class VideoReplyController extends GetxController {
// 排序搜索评论
queryBySort() {
feedBack();
switch (sortType) {
case ReplySortType.time:
sortType = ReplySortType.like;

View File

@ -8,6 +8,7 @@ import 'package:pilipala/common/widgets/http_error.dart';
import 'package:pilipala/models/common/reply_type.dart';
import 'package:pilipala/pages/video/detail/index.dart';
import 'package:pilipala/pages/video/detail/replyNew/index.dart';
import 'package:pilipala/utils/feed_back.dart';
import 'package:pilipala/utils/id_utils.dart';
import 'controller.dart';
import 'widgets/reply_item.dart';
@ -262,6 +263,7 @@ class _VideoReplyPanelState extends State<VideoReplyPanel>
child: FloatingActionButton(
heroTag: null,
onPressed: () {
feedBack();
showModalBottomSheet(
context: context,
isScrollControlled: true,

View File

@ -7,6 +7,7 @@ import 'package:pilipala/models/common/reply_type.dart';
import 'package:pilipala/models/video/reply/item.dart';
import 'package:pilipala/pages/video/detail/controller.dart';
import 'package:pilipala/pages/video/detail/replyNew/index.dart';
import 'package:pilipala/utils/feed_back.dart';
import 'package:pilipala/utils/utils.dart';
import 'zan.dart';
@ -86,6 +87,7 @@ class ReplyItem extends StatelessWidget {
// 头像、昵称
GestureDetector(
onTap: () {
feedBack();
Get.toNamed('/member?mid=${replyItem!.mid}', arguments: {
'face': replyItem!.member!.avatar!,
'heroTag': heroTag
@ -259,6 +261,7 @@ class ReplyItem extends StatelessWidget {
.labelMedium!
.copyWith(color: Theme.of(context).colorScheme.outline)),
onPressed: () {
feedBack();
showModalBottomSheet(
context: context,
isScrollControlled: true,
@ -348,6 +351,7 @@ class ReplyItemRow extends StatelessWidget {
),
recognizer: TapGestureRecognizer()
..onTap = () {
feedBack();
String heroTag =
Utils.makeHeroTag(replies![i].member.mid);
Get.toNamed(

View File

@ -4,6 +4,7 @@ import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:pilipala/http/reply.dart';
import 'package:pilipala/models/common/reply_type.dart';
import 'package:pilipala/models/video/reply/item.dart';
import 'package:pilipala/utils/feed_back.dart';
class ZanButton extends StatefulWidget {
const ZanButton({
@ -22,6 +23,7 @@ class ZanButton extends StatefulWidget {
class _ZanButtonState extends State<ZanButton> {
// 评论点赞
onLikeReply() async {
feedBack();
SmartDialog.showLoading(msg: 'pilipala ...');
ReplyItemModel replyItem = widget.replyItem!;
int oid = replyItem.oid!;

View File

@ -6,6 +6,7 @@ import 'package:hive/hive.dart';
import 'package:pilipala/http/video.dart';
import 'package:pilipala/models/common/reply_type.dart';
import 'package:pilipala/models/video/reply/item.dart';
import 'package:pilipala/utils/feed_back.dart';
import 'package:pilipala/utils/storage.dart';
class VideoReplyNewDialog extends StatefulWidget {
@ -68,6 +69,7 @@ class _VideoReplyNewDialogState extends State<VideoReplyNewDialog>
}
Future submitReplyAdd() async {
feedBack();
String message = _replyContentController.text;
var result = await VideoHttp.replyAdd(
type: widget.replyType ?? ReplyType.video,