首页的热门推荐组件
1.准备组件(只有首页用到)
2.导入并使用组件
热门推荐布局为独立的组件 `HotPanel`,属于首页的业务组件,存放到首页的 `components` 目录中。
静态:
<script setup lang="ts"> // </script> <template> <!-- 推荐专区 --> <view class="panel hot"> <view class="item" v-for="item in 4" :key="item"> <view class="title"> <text class="title-text">特惠推荐</text> <text class="title-desc">精选全攻略</text> </view> <navigator hover-class="none" url="/pages/hot/hot" class="cards"> <image class="image" mode="aspectFit" src="https://pcapi-xiaotuxian-front-devtest.itheima.net/miniapp/uploads/goods_small_1.jpg" ></image> <image class="image" mode="aspectFit" src="https://pcapi-xiaotuxian-front-devtest.itheima.net/miniapp/uploads/goods_small_2.jpg" ></image> </navigator> </view> </view> </template> <style lang="scss"> /* 热门推荐 */ .hot { display: flex; flex-wrap: wrap; min-height: 508rpx; margin: 20rpx 20rpx 0; border-radius: 10rpx; background-color: #fff; .title { display: flex; align-items: center; padding: 24rpx 24rpx 0; font-size: 32rpx; color: #262626; position: relative; .title-desc { font-size: 24rpx; color: #7f7f7f; margin-left: 18rpx; } } .item { display: flex; flex-direction: column; width: 50%; height: 254rpx; border-right: 1rpx solid #eee; border-top: 1rpx solid #eee; .title { justify-content: start; } &:nth-child(2n) { border-right: 0 none; } &:nth-child(-n + 2) { border-top: 0 none; } .image { width: 150rpx; height: 150rpx; } } .cards { flex: 1; padding: 15rpx 20rpx; display: flex; justify-content: space-between; align-items: center; } } </style>
下面我们导入主页
现在的界面是这样的
打开接口文档看接口
接口地址:/home/hot/mutli
请求方式:GET
请求参数:无
放在home.ts里面
类型声明:
/** 首页-热门推荐数据类型 */ export type HotItem = { /** 说明 */ alt: string /** id */ id: string /** 图片集合[ 图片路径 ] */ pictures: string[] /** 跳转地址 */ target: string /** 标题 */ title: string /** 推荐类型 */ type: string }
这里加一句再onload里面
下面开始接收
这个修改完成之后的界面
图片的存放:
最后我们来看一下效果