yfs/components/banner/README.md

136 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Banner 组件使用说明
这是一个通用的轮播图(Banner)组件,可以在应用的任何页面轻松集成。
## 特点
- 支持配置不同类型的banner通过type_id参数
- 自动从后端接口获取数据
- 支持可选的指示器显示
- 处理点击事件跳转到对应页面
- 自动轮播图片
- **支持通过插槽在轮播图上方添加自定义内容**
- **支持自定义轮播图高度**
## 使用方法
### 1. 引入组件
项目已经在 `pages.json``easycom` 中配置了自动引入规则,因此您无需手动导入组件。
### 2. 在页面中使用
```vue
<template>
<view>
<!-- 基本用法 -->
<banner :type-id="1"></banner>
<!-- 显示指示器 -->
<banner :type-id="2" :show-indicator="true"></banner>
<!-- 使用插槽添加自定义内容 -->
<banner :type-id="3">
<view class="custom-content">
<text class="title">热门活动</text>
</view>
</banner>
<!-- 自定义高度 -->
<banner :type-id="4" :height="400"></banner>
<!-- 组合使用多个属性 -->
<banner :type-id="5" :height="500" :show-indicator="true">
<view class="custom-title">限时活动</view>
</banner>
</view>
</template>
<style>
.custom-content {
width: 100%;
text-align: center;
padding: 10rpx 0;
}
.title {
font-size: 32rpx;
font-weight: bold;
color: #ffffff;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}
</style>
```
### 3. 参数说明
| 参数名 | 类型 | 默认值 | 说明 |
| --- | --- | --- | --- |
| typeId | Number/String | 1 | banner类型ID对应接口的type_id参数 |
| showIndicator | Boolean | false | 是否显示轮播图指示器 |
| height | Number/String | 300 | 轮播图高度单位rpx |
### 4. 插槽
组件提供了一个默认插槽,可以用来在轮播图上方添加自定义内容。插槽内容会被定位在轮播图的顶部,并且会保持在最上层。
示例:
```vue
<banner :type-id="1">
<!-- 这里的内容会显示在轮播图上方 -->
<view class="banner-title">热门推荐</view>
</banner>
```
### 5. 接口数据
组件通过调用 `api/getAdvert` 接口获取数据,传入 `type_id` 参数。
接口返回数据格式示例:
```json
{
"status": 1,
"msg": "请求成功",
"data": [
{
"imgurl": "https://example.com/image1.png",
"ttype": 1,
"coupon_id": 123,
"goods_id": 0
},
{
"imgurl": "https://example.com/image2.png",
"ttype": 2,
"coupon_id": 0,
"goods_id": 456
}
]
}
```
### 6. 点击跳转逻辑
根据返回数据中的 `ttype``goods_id` 属性,组件会自动处理点击跳转:
- ttype=1: 跳转到"领券中心"
- ttype=2: 跳转到"一番赏"详情页
- ttype=3: 跳转到"无限赏"详情页
- ttype=4: 跳转到"连击赏"页面
## 示例
### 首页banner
```vue
<banner :type-id="1"></banner>
```
### 商城页banner带标题和自定义高度
```vue
<banner :type-id="3" :show-indicator="true" :height="400">
<view class="mall-title">精选商品</view>
</banner>
```
### 活动页banner
```vue
<banner :type-id="5" :height="350"></banner>
```