fix: failed to search history

This commit is contained in:
bggRGjQaUbCoE
2024-10-21 18:08:10 +08:00
parent 9d48072515
commit ef80589636
5 changed files with 66 additions and 55 deletions

View File

@@ -217,7 +217,7 @@ class Api {
static const String delHistory = '/x/v2/history/delete'; static const String delHistory = '/x/v2/history/delete';
// 搜索历史记录 // 搜索历史记录
static const String searchHistory = '/x/web-goblin/history/search'; static const String searchHistory = '/x/web-interface/history/search';
// 热搜 // 热搜
static const String hotSearchList = static const String hotSearchList =

View File

@@ -244,6 +244,8 @@ class _CreatePanelState extends State<CreatePanel> {
DateTime? _publishTime; DateTime? _publishTime;
ReplyOption _replyOption = ReplyOption.allow; ReplyOption _replyOption = ReplyOption.allow;
late final int _limit = 18;
@override @override
void dispose() { void dispose() {
_isEnableStream.close(); _isEnableStream.close();
@@ -532,23 +534,27 @@ class _CreatePanelState extends State<CreatePanel> {
parent: BouncingScrollPhysics(), parent: BouncingScrollPhysics(),
), ),
padding: const EdgeInsets.symmetric(horizontal: 16), padding: const EdgeInsets.symmetric(horizontal: 16),
itemCount: _pathList.length == 9 ? 9 : _pathList.length + 1, itemCount:
_pathList.length == _limit ? _limit : _pathList.length + 1,
itemBuilder: (context, index) { itemBuilder: (context, index) {
if (_pathList.length != 9 && index == _pathList.length) { if (_pathList.length != _limit && index == _pathList.length) {
return Material( return Material(
borderRadius: BorderRadius.circular(12), borderRadius: BorderRadius.circular(12),
child: InkWell( child: InkWell(
borderRadius: BorderRadius.circular(12), borderRadius: BorderRadius.circular(12),
onTap: () async { onTap: () {
EasyThrottle.throttle(
'imagePicker', const Duration(milliseconds: 500),
() async {
List<XFile> pickedFiles = List<XFile> pickedFiles =
await _imagePicker.pickMultiImage( await _imagePicker.pickMultiImage(
limit: 9, limit: _limit,
imageQuality: 100, imageQuality: 100,
); );
if (pickedFiles.isNotEmpty) { if (pickedFiles.isNotEmpty) {
for (int i = 0; i < pickedFiles.length; i++) { for (int i = 0; i < pickedFiles.length; i++) {
if (_pathList.length == 9) { if (_pathList.length == _limit) {
SmartDialog.showToast('最多选择9张图片'); SmartDialog.showToast('最多选择$_limit张图片');
if (i != 0) { if (i != 0) {
_pathStream.add(_pathList); _pathStream.add(_pathList);
} }
@@ -565,6 +571,7 @@ class _CreatePanelState extends State<CreatePanel> {
_isEnableStream.add(true); _isEnableStream.add(true);
} }
} }
});
}, },
child: Ink( child: Ink(
width: 75, width: 75,

View File

@@ -56,7 +56,7 @@ class MemberControllerNew extends CommonController
tabs = tab2!.map((item) => Tab(text: item.title ?? '')).toList(); tabs = tab2!.map((item) => Tab(text: item.title ?? '')).toList();
tabController = TabController( tabController = TabController(
vsync: this, vsync: this,
length: response.response.tab2.length, length: tab2!.length,
initialIndex: initialIndex == -1 ? 0 : initialIndex, initialIndex: initialIndex == -1 ? 0 : initialIndex,
); );
} }

View File

@@ -47,7 +47,7 @@ class ActionItemState extends State<ActionItem> with TickerProviderStateMixin {
_lastTime = DateTime.now().millisecondsSinceEpoch; _lastTime = DateTime.now().millisecondsSinceEpoch;
if (!widget.hasOneThree) { if (!widget.hasOneThree) {
controller?.forward(); controller?.forward();
widget.callBack!(true); widget.callBack?.call(true);
} }
} }
@@ -55,11 +55,11 @@ class ActionItemState extends State<ActionItem> with TickerProviderStateMixin {
int duration = DateTime.now().millisecondsSinceEpoch - _lastTime; int duration = DateTime.now().millisecondsSinceEpoch - _lastTime;
if (duration < 1500) { if (duration < 1500) {
controller?.reverse(); controller?.reverse();
widget.callBack!(false); widget.callBack?.call(false);
} }
if (duration <= 50 && !isCancel) { if (duration <= 50 && !isCancel) {
feedBack(); feedBack();
widget.onTap!(); widget.onTap?.call();
} }
} }
@@ -80,7 +80,7 @@ class ActionItemState extends State<ActionItem> with TickerProviderStateMixin {
if (_hideCircle) { if (_hideCircle) {
controller?.reset(); controller?.reset();
if (_isThumbUp) { if (_isThumbUp) {
widget.onLongPress!(); widget.onLongPress?.call();
} }
} }
}); });
@@ -108,14 +108,12 @@ class ActionItemState extends State<ActionItem> with TickerProviderStateMixin {
? null ? null
: () { : () {
feedBack(); feedBack();
widget.onTap!(); widget.onTap?.call();
}, },
onLongPress: _isThumbUp onLongPress: _isThumbUp
? null ? null
: () { : () {
if (widget.onLongPress != null) { widget.onLongPress?.call();
widget.onLongPress!();
}
}, },
onTapDown: (details) => _isThumbUp ? _startLongPress() : null, onTapDown: (details) => _isThumbUp ? _startLongPress() : null,
onTapUp: (details) => _isThumbUp ? _cancelLongPress() : null, onTapUp: (details) => _isThumbUp ? _cancelLongPress() : null,

View File

@@ -6,6 +6,7 @@ import 'package:PiliPalaX/grpc/app/main/community/reply/v1/reply.pb.dart'
as reply; as reply;
import 'package:PiliPalaX/http/msg.dart'; import 'package:PiliPalaX/http/msg.dart';
import 'package:chat_bottom_container/chat_bottom_container.dart'; import 'package:chat_bottom_container/chat_bottom_container.dart';
import 'package:easy_debounce/easy_throttle.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@@ -62,6 +63,7 @@ class _ReplyPageState extends State<ReplyPage>
late final _imagePicker = ImagePicker(); late final _imagePicker = ImagePicker();
late final _pathStream = StreamController<List<String>>(); late final _pathStream = StreamController<List<String>>();
late final _pathList = <String>[]; late final _pathList = <String>[];
late final _limit = 9;
@override @override
void initState() { void initState() {
@@ -355,16 +357,19 @@ class _ReplyPageState extends State<ReplyPage>
tooltip: '图片', tooltip: '图片',
selected: false, selected: false,
icon: const Icon(Icons.image, size: 22), icon: const Icon(Icons.image, size: 22),
onPressed: () async { onPressed: () {
EasyThrottle.throttle(
'imagePicker', const Duration(milliseconds: 500),
() async {
List<XFile> pickedFiles = List<XFile> pickedFiles =
await _imagePicker.pickMultiImage( await _imagePicker.pickMultiImage(
limit: 9, limit: _limit,
imageQuality: 100, imageQuality: 100,
); );
if (pickedFiles.isNotEmpty) { if (pickedFiles.isNotEmpty) {
for (int i = 0; i < pickedFiles.length; i++) { for (int i = 0; i < pickedFiles.length; i++) {
if (_pathList.length == 9) { if (_pathList.length == _limit) {
SmartDialog.showToast('最多选择9张图片'); SmartDialog.showToast('最多选择$_limit张图片');
if (i != 0) { if (i != 0) {
_pathStream.add(_pathList); _pathStream.add(_pathList);
} }
@@ -378,6 +383,7 @@ class _ReplyPageState extends State<ReplyPage>
} }
} }
} }
});
}, },
), ),
], ],