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 { final String keyword; NovelSearchController(this.keyword) { searchController = TextEditingController(text: keyword); } late TextEditingController searchController; final NovelRequest request = NovelRequest(); String _keyword = ""; RxMap hotWords = {}.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> 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); } } }