更新记录

1.0.0(2026-10-28)

  • 首次发布
  • 支持 12 种轮播风格:classic、fade、card、gallery、coverflow、carousel3d、split、thumbnail、fullscreen、story、grid、infinite
  • 支持自动播放、循环、指示点、圆角、图片裁剪模式等配置
  • 支持 change、click 事件与手势滑动

平台兼容性

uni-app(4.33)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
√ √ √ √ √ - 4.4 12 √
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
√ √ √ √ √ √ √ √ √ √ √ √

lunbotu 多风格轮播图

一个 mode 参数即可在 12 种轮播风格之间切换的 uni-app 轮播图组件,纯 vue 实现,无需额外依赖。

特性

  • 12 种风格一键切换,数据源与用法完全一致
  • 支持自动播放、循环、指示点、圆角、图片裁剪模式等常用配置
  • 支持点击、切换事件,支持手动左右滑动(含 3D 风格)
  • 基于 uni_modules 规范,Vue2 / Vue3 均可使用(app-vue、H5、各家小程序)

安装

将 uni_modules/lunbotu 整个目录拷贝到你的 uni-app 项目根目录下的 uni_modules 中,即可通过 easycom 自动引入(无需 import 与注册):

<lunbotu :list="list" mode="classic"></lunbotu>

也可以显式引入:

import lunbotu from '@/uni_modules/lunbotu/components/lunbotu/lunbotu.vue'

export default {
    components: { lunbotu }
}

快速使用

<template>
    <view class="page">
        <lunbotu
            :list="list"
            mode="coverflow"
            :height="420"
            :interval="3000"
            :autoplay="true"
            :loop="true"
            @change="onChange"
            @click="onClick"
        ></lunbotu>
    </view>
</template>

<script>
    export default {
        data() {
            return {
                list: [
                    { image: 'https://example.com/1.jpg', title: '第一张', desc: '描述文字' },
                    { image: 'https://example.com/2.jpg', title: '第二张', desc: '描述文字' }
                ]
            }
        },
        methods: {
            onChange(e) {
                console.log('当前索引', e.index)
            },
            onClick(e) {
                console.log('点击了第', e.index, '张', e.item)
            }
        }
    }
</script>

风格一览

mode 值 风格 说明
classic 经典滑动式 左右滑动切换,最常见
fade 淡入淡出式 图片叠化,适合氛围型大图
card 卡片式轮播 一屏多卡,可左右滑动
gallery 居中放大 / 画廊式 中间主图放大,两侧露出部分
coverflow 3D 层叠 / Coverflow 透视、层叠、旋转效果
carousel3d 旋转木马式 环形排列,适合产品多角度展示
split 分屏 / 左右分栏式 左文右图,分屏切换
thumbnail 缩略图导航式 底部缩略图切换,适合作品集、电商图集
fullscreen 全屏沉浸式 整屏切换 + 进度指示
story 故事 / 时间轴式 类似 Instagram Stories,顶部进度条
grid 网格拼贴 / 马赛克式 多图组合分页轮播
infinite 无限循环 / 自动播放式 适合 logo 墙、客户案例、数据看板

属性

属性名 类型 默认值 说明
list Array 内置 5 张示例图 数据源,元素结构见下文;不传时展示内置示例数据,避免空白
mode String classic 风格,取值见上表
height Number / String 360 高度,数字按 rpx;也可传 '100vh'、'420px'
autoplay Boolean true 是否自动播放(infinite 控制滚动动画)
interval Number 3200 自动播放间隔(ms),同时作为故事进度条时长
duration Number 500 切换动画时长(ms)
loop Boolean true 是否循环播放
indicator Boolean true 是否显示指示点
indicatorColor String rgba(255,255,255,0.42) 指示点颜色
indicatorActiveColor String #ffffff 指示点选中颜色
radius Number / String 16 圆角,数字按 rpx
imageMode String aspectFill 图片裁剪模式,同 <image mode>
showTitle Boolean true 是否显示标题 / 描述
marqueeSpeed Number 3 infinite 每张图滚动所占秒数

事件

事件名 说明 回调参数
change 切换时触发 { index, page, item, mode }
click 点击图片时触发 { index, item, mode }

index 为数据条目索引;page 为当前轮播单元(grid 风格下为页索引,其余与 index 相同)。

数据项结构

{
    image: '',    // 图片地址,兼容 url / src 字段
    title: '',    // 标题,可选
    desc: '',     // 描述,可选
    tag: ''       // 业务自定义字段,可自由扩展
}

说明

  • thumbnail 风格高度由主图决定,缩略图自动追加在主图下方,组件根部高度自适应。
  • fullscreen 风格建议传 height="100vh"。
  • grid 风格每页 3 张:左(或右)一大图 + 右侧两小图,按页切换。
  • infinite 风格会把列表复制一份实现无缝滚动,autoplay 为 false 时动画暂停。
  • 3D 风格(coverflow、carousel3d)与 fade、split、thumbnail、story、grid 支持手势左右滑动。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

无

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

无

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无

暂无用户评论。