├── php-api/ # 改造后的PHP接口层 ├── java-ad-service/ # 若依框架微服务(广告+VIP+分账) ├── uniapp-reader/ # UniApp前端项目 │ ├── pages/ # 各端页面 │ └──
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

index.vue 1.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <!-- src/views/search/index.vue -->
  2. <template>
  3. <div class="app-container">
  4. <el-input
  5. v-model="keyword"
  6. placeholder="请输入搜索内容"
  7. clearable
  8. @keyup.enter.native="handleSearch"
  9. >
  10. <el-button
  11. slot="append"
  12. icon="el-icon-search"
  13. @click="handleSearch"
  14. />
  15. </el-input>
  16. <!-- 搜索结果展示 -->
  17. <div v-if="results.length > 0" class="search-results">
  18. <el-card v-for="item in results" :key="item.id">
  19. <h3>{{ item.title }}</h3>
  20. <p>{{ item.description }}</p>
  21. </el-card>
  22. </div>
  23. </div>
  24. </template>
  25. <script>
  26. import { searchNovels } from '@/api/novel'
  27. export default {
  28. name: 'Search',
  29. data() {
  30. return {
  31. keyword: '',
  32. results: []
  33. }
  34. },
  35. methods: {
  36. handleSearch() {
  37. if (!this.keyword.trim()) {
  38. this.$message.warning('请输入搜索关键词')
  39. return
  40. }
  41. searchNovels(this.keyword).then(response => {
  42. this.results = response.data
  43. })
  44. }
  45. }
  46. }
  47. </script>
  48. <style scoped>
  49. .app-container {
  50. padding: 20px;
  51. }
  52. .search-results {
  53. margin-top: 20px;
  54. }
  55. </style>