Browse Source

add: 新增宠物手册分类接口对接

zlong 1 year ago
parent
commit
c096a2c69b
3 changed files with 25 additions and 13 deletions
  1. 5 2
      src/api/carousal.ts
  2. 7 0
      src/model/carousals.ts
  3. 13 11
      src/pages/pet-manual/index.vue

+ 5 - 2
src/api/carousal.ts

@@ -1,10 +1,13 @@
-import type { CreateCarousalsRequest } from '@/model/carousals'
+import type { CreateCarousalsRequest, TypeList } from '@/model/carousals'
 import httpClient from '@/api/httpClient'
 
 function getCarousalList() {
   return httpClient.get<CreateCarousalsRequest[]>('/carousals/active-list')
 }
-
+function getTypeList() {
+  return httpClient.get<TypeList[]>('/categories/list')
+}
 export default {
   getCarousalList,
+  getTypeList,
 }

+ 7 - 0
src/model/carousals.ts

@@ -4,3 +4,10 @@ export interface CreateCarousalsRequest {
   targetUrl: string
   targetId?: string
 }
+
+export interface TypeList {
+  id: string
+  code: string
+  name: string
+  isClick?: boolean
+}

+ 13 - 11
src/pages/pet-manual/index.vue

@@ -1,5 +1,5 @@
 <script setup lang="ts">
-import type { CreateCarousalsRequest } from '@/model/carousals'
+import type { CreateCarousalsRequest, TypeList } from '@/model/carousals'
 import carousalApi from '@/api/carousal'
 import CardList from '@/pages/pet-manual/components/CardList.vue'
 // const searchValue = ref('')
@@ -97,12 +97,7 @@ function change(e: CustomEvent<{ current: number }>): void {
   current.value = e.detail.current
 }
 
-const typeList = ref<TypeItem[]>([
-  { name: '趣味科普', isClick: true },
-  { name: '科学喂养', isClick: false },
-  { name: '科学喂养', isClick: false },
-  { name: '科学喂养', isClick: false },
-])
+const typeList = ref<TypeList[]>([])
 
 function handleClickType(item: TypeItem) {
   typeList.value.forEach(i => (i.isClick = false))
@@ -120,13 +115,20 @@ const historyList = ref<{ name: string }[]>([
   { name: '狗' },
   { name: '烘培粮' },
 ])
-
 const findList = ref<{ name: string }[]>([
   { name: '宠物吃饭慢' },
   { name: '猫咪尿闭怎么办' },
 ])
-async function onLoad() {
+async function init() {
   info.value = await carousalApi.getCarousalList()
+  typeList.value = (await carousalApi.getTypeList()).map((item, index) => {
+    return {
+      name: item.name,
+      id: item.id,
+      code: item.code,
+      isClick: index === 0,
+    }
+  })
 }
 function handleJumpUrl(item: CreateCarousalsRequest) {
   if (item.targetType === 'url') {
@@ -135,7 +137,7 @@ function handleJumpUrl(item: CreateCarousalsRequest) {
     })
   }
 }
-onLoad()
+init()
 </script>
 
 <template>
@@ -198,7 +200,7 @@ onLoad()
       <view class="ml-4 mt-5 text-[20px] font-600">
         养宠贴士
       </view>
-      <view class="mx-4">
+      <view class="mx-4 sticky top-0 bg-[#f5f6f7]">
         <scroll-view class="scroll mt-2" scroll-x="auto">
           <view class="group h-[40px] mt-1">
             <view