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

@ -9,6 +9,7 @@ import 'package:pilipala/models/common/dynamics_type.dart';
import 'package:pilipala/models/dynamics/result.dart';
import 'package:pilipala/models/dynamics/up.dart';
import 'package:pilipala/models/live/item.dart';
import 'package:pilipala/utils/feed_back.dart';
class DynamicsController extends GetxController {
int page = 1;
@ -78,6 +79,7 @@ class DynamicsController extends GetxController {
}
pushDetail(item, floor, {action = 'all'}) async {
feedBack();
if (action == 'comment') {
Get.toNamed('/dynamicDetail',
arguments: {'item': item, 'floor': floor, 'action': action});

View File

@ -8,6 +8,7 @@ import 'package:pilipala/common/widgets/http_error.dart';
import 'package:pilipala/common/widgets/network_img_layer.dart';
import 'package:pilipala/models/dynamics/result.dart';
import 'package:pilipala/pages/mine/index.dart';
import 'package:pilipala/utils/feed_back.dart';
import 'package:pilipala/utils/storage.dart';
import 'controller.dart';
@ -143,6 +144,7 @@ class _DynamicsPageState extends State<DynamicsPage>
duration: const Duration(milliseconds: 300),
curve: Curves.easeInOut,
onValueChanged: (v) {
feedBack();
_dynamicsController.onSelectType(v);
},
),
@ -155,7 +157,8 @@ class _DynamicsPageState extends State<DynamicsPage>
bottom: 0,
child: IconButton(
padding: EdgeInsets.zero,
onPressed: () => _dynamicsController.resetSearch(),
onPressed: () =>
{feedBack(), _dynamicsController.resetSearch()},
icon: const Icon(Icons.history, size: 21),
),
),
@ -167,15 +170,18 @@ class _DynamicsPageState extends State<DynamicsPage>
alignment: Alignment.center,
child: user.get(UserBoxKey.userLogin) ?? false
? GestureDetector(
onTap: () => showModalBottomSheet(
context: context,
builder: (_) => const SizedBox(
height: 450,
child: MinePage(),
),
clipBehavior: Clip.hardEdge,
isScrollControlled: true,
),
onTap: () {
feedBack();
showModalBottomSheet(
context: context,
builder: (_) => const SizedBox(
height: 450,
child: MinePage(),
),
clipBehavior: Clip.hardEdge,
isScrollControlled: true,
);
},
child: NetworkImgLayer(
type: 'avatar',
width: 30,
@ -184,15 +190,18 @@ class _DynamicsPageState extends State<DynamicsPage>
),
)
: IconButton(
onPressed: () => showModalBottomSheet(
context: context,
builder: (_) => const SizedBox(
height: 450,
child: MinePage(),
),
clipBehavior: Clip.hardEdge,
isScrollControlled: true,
),
onPressed: () {
feedBack();
showModalBottomSheet(
context: context,
builder: (_) => const SizedBox(
height: 450,
child: MinePage(),
),
clipBehavior: Clip.hardEdge,
isScrollControlled: true,
);
},
icon: const Icon(CupertinoIcons.person, size: 22),
),
),

View File

@ -6,6 +6,7 @@ import 'package:get/get.dart';
import 'package:pilipala/http/dynamics.dart';
import 'package:pilipala/models/dynamics/result.dart';
import 'package:pilipala/pages/dynamics/index.dart';
import 'package:pilipala/utils/feed_back.dart';
class ActionPanel extends StatefulWidget {
const ActionPanel({
@ -31,6 +32,7 @@ class _ActionPanelState extends State<ActionPanel> {
// 动态点赞
onLikeDynamic() async {
feedBack();
var item = widget.item!;
String dynamicId = item.idStr!;
// 1 已点赞 2 不喜欢 0 未操作

View File

@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:pilipala/common/widgets/network_img_layer.dart';
import 'package:pilipala/utils/feed_back.dart';
import 'package:pilipala/utils/utils.dart';
Widget author(item, context) {
@ -10,12 +11,16 @@ Widget author(item, context) {
child: Row(
children: [
GestureDetector(
onTap: () => Get.toNamed(
onTap: () {
feedBack();
Get.toNamed(
'/member?mid=${item.modules.moduleAuthor.mid}',
arguments: {
'face': item.modules.moduleAuthor.face,
'heroTag': heroTag
}),
},
);
},
child: Hero(
tag: heroTag,
child: NetworkImgLayer(

View File

@ -5,6 +5,7 @@ import 'package:pilipala/common/widgets/network_img_layer.dart';
import 'package:pilipala/models/dynamics/up.dart';
import 'package:pilipala/models/live/item.dart';
import 'package:pilipala/pages/dynamics/controller.dart';
import 'package:pilipala/utils/feed_back.dart';
import 'package:pilipala/utils/storage.dart';
import 'package:pilipala/utils/utils.dart';
@ -81,7 +82,7 @@ class _UpPanelState extends State<UpPanel> {
),
Material(
child: InkWell(
onTap: () => Get.toNamed('/follow'),
onTap: () => {feedBack(), Get.toNamed('/follow')},
child: Container(
height: 100,
padding: const EdgeInsets.only(left: 10, right: 10),
@ -111,6 +112,7 @@ class _UpPanelState extends State<UpPanel> {
bool isCurrent = currentMid == data.mid || currentMid == -1;
return InkWell(
onTap: () {
feedBack();
if (data.type == 'up') {
currentMid = data.mid;
Get.find<DynamicsController>().mid.value = data.mid;
@ -149,6 +151,7 @@ class _UpPanelState extends State<UpPanel> {
}
},
onLongPress: () {
feedBack();
String heroTag = Utils.makeHeroTag(data.mid);
Get.toNamed('/member?mid=${data.mid}',
arguments: {'face': data.face, 'heroTag': heroTag});