This commit is contained in:
2026-03-07 17:24:59 +08:00
parent 4418ebecac
commit b0ec8ab4bd
417 changed files with 42546 additions and 2 deletions

View File

@@ -0,0 +1,55 @@
import 'package:flutter/material.dart';
import 'package:flutter_dmzj/app/controller/base_controller.dart';
import 'package:flutter_dmzj/app/log.dart';
import 'package:flutter_dmzj/models/novel/search_model.dart';
import 'package:flutter_dmzj/requests/novel_request.dart';
import 'package:get/get.dart';
class NovelSearchController extends BasePageController<NovelSearchModel> {
final String keyword;
NovelSearchController(this.keyword) {
searchController = TextEditingController(text: keyword);
}
late TextEditingController searchController;
final NovelRequest request = NovelRequest();
String _keyword = "";
RxMap<int, String> hotWords = <int, String>{}.obs;
var showHotWord = true.obs;
@override
void onInit() {
// loadHotWord();
if (keyword.isNotEmpty) {
submit();
}
super.onInit();
}
void submit() {
if (searchController.text.isEmpty) {
list.clear();
showHotWord.value = true;
return;
}
showHotWord.value = false;
_keyword = searchController.text;
refreshData();
}
@override
Future<List<NovelSearchModel>> getData(int page, int pageSize) async {
if (searchController.text.isEmpty) {
return [];
}
return await request.search(keyword: _keyword, page: page);
}
void loadHotWord() async {
try {
hotWords.value = await request.searchHotWord();
} catch (e) {
Log.logPrint(e);
}
}
}