更新记录
1.0.3(2025-07-12) 下载此版本
修复Vue2环境下语法错误导致编译失败的问题 移除data()方法前的多余逗号,确保Vue2兼容性
1.0.2(2025-07-11) 下载此版本
修复若干已知bug
1.0.1(2025-07-11) 下载此版本
修复
平台兼容性
uni-app(4.36)
Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
---|---|---|---|---|---|---|---|---|
√ | √ | √ | √ | √ | √ | √ | √ | √ |
微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
---|---|---|---|---|---|---|---|---|---|---|
√ | - | - | - | - | - | - | - | - | - | - |
uni-app x(4.41)
Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
---|---|---|---|---|---|
√ | √ | 5.0 | 12 | √ | √ |
其他
多语言 | 暗黑模式 | 宽屏模式 |
---|---|---|
× | × | √ |
🚀 *** Backdrop - 强大的 uni-app 背景组件
一个功能强大、设计精美的 uni-app 通用背景组件,支持多种视觉效果和交互功能。
✨ 特性
- 🎨 丰富的背景效果:纯色背景、图片背景、渐变背景
- 🌊 弧形装饰:内凹、外凸、波浪等多种弧形效果
- 🎭 科技感配色:内置多种渐变和弧形预设
- 📱 多端兼容:支持 H5、小程序、App 等全平台
- 🎯 交互功能:点击、长按、视差滚动等交互支持
- ⚡ 高性能:优化的渲染机制,流畅不卡顿
- 🔧 易于使用:简单的 API,丰富的预设效果
📦 平台兼容性
Vue2 | Vue3 | H5 | Android | iOS | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | **小程序 | 快手小程序 | 钉钉小程序 | 京东小程序 | App | 快应用 | 鸿蒙Next |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
📦 安装
通过 DCloud 插件市场安装
- 在 DCloud 插件市场 搜索 "***-backdrop"
- 点击下载并导入到项目,HBuilderX 会自动安装
手动安装
- 将
***-backdrop
文件夹复制到项目的uni_modules
目录下 - 重新编译项目
🚀 快速开始
基础用法
<template>
<***-backdrop
background-color="#4facfe"
height="400rpx"
>
<view>你的内容</view>
</***-backdrop>
</template>
渐变背景
<template>
<!-- 使用预设渐变 -->
<***-backdrop
gradient-preset="neon-blue"
height="400rpx"
>
<view>霓虹蓝科技感背景</view>
</***-backdrop>
<!-- 自定义渐变 -->
<***-backdrop
:gradient="{
type: 'linear',
direction: '135deg',
stops: [
{ color: '#00d4ff', position: '0%' },
{ color: '#5b21b6', position: '100%' }
]
}"
height="400rpx"
>
<view>自定义渐变</view>
</***-backdrop>
</template>
弧形效果
<template>
<!-- 外凸弧形 -->
<***-backdrop
gradient-preset="electric-pink"
curve-preset="tech-gentle"
height="400rpx"
>
<view>科技感弧形效果</view>
</***-backdrop>
<!-- 内凹弧形 -->
<***-backdrop
gradient-preset="matrix-green"
curve-preset="concave-modern"
height="400rpx"
>
<view>现代内凹效果</view>
</***-backdrop>
</template>
轮播背景
<template>
<***-backdrop
:carousel="{
images: [
'/static/bg1.jpg',
'/static/bg2.jpg',
'/static/bg3.jpg'
],
interval: 3000,
autoplay: true
}"
height="400rpx"
>
<view>轮播背景内容</view>
</***-backdrop>
</template>
📚 API 文档
Props 属性
属性名 | 类型 | 默认值 | 说明 |
---|---|---|---|
backgroundColor | String | transparent | 背景颜色 |
backgroundImage | String | - | 背景图片 |
gradient | Object | null | 渐变配置对象 |
gradientPreset | String | - | 渐变预设名称 |
carousel | Object | null | 轮播配置对象 |
curve | Object | null | 弧形配置对象 |
curvePreset | String | - | 弧形预设名称 |
height | String/Number | 100vh | 容器高度 |
width | String/Number | 100% | 容器宽度 |
borderRadius | String/Number | 0 | 圆角大小 |
opacity | Number | 1 | 透明度 |
blur | Number | 0 | 模糊程度 |
clickable | Boolean | false | 是否可点击 |
longPressable | Boolean | false | 是否支持长按 |
parallax | Boolean | false | 是否启用视差 |
parallaxStrength | Number | 0.5 | 视差强度 |
loading | Boolean | false | 是否显示加载 |
loadingText | String | 加载中... | 加载文本 |
animationDuration | Number | 300 | 动画时长(ms) |
Events 事件
事件名 | 说明 | 参数 |
---|---|---|
click | 点击事件 | event |
longpress | 长按事件 | event |
carousel-change | 轮播切换 | event |
image-load | 图片加载完成 | event |
image-error | 图片加载失败 | event |
touch-start | 触摸开始 | event |
touch-move | 触摸移动 | event |
touch-end | 触摸结束 | event |
Slots 插槽
插槽名 | 说明 |
---|---|
default | 主要内容 |
overlay | 覆盖层内容 |
loading | 自定义加载内容 |
🎨 预设效果
渐变预设
neon-blue
- 霓虹蓝cyber-purple
- 赛博紫electric-pink
- 电光粉matrix-green
- 矩阵绿***uantum-orange
- 量子橙tech-rainbow
- 科技彩虹hologram
- 全息投影plasma-burst
- 等离子爆发energy-core
- 能量核心neon-pulse
- 霓虹脉冲
弧形预设
tech-gentle
- 科技温和弧形tech-bold
- 科技大胆弧形neon-top
- 霓虹顶部弧形concave-modern
- 现代内凹wave-electric
- 电光波浪pulse-neon
- 霓虹脉冲gradient-cyber
- 赛博渐变弧形glow-bottom
- 发光底部弧形energy-wave
- 能量波浪
🔧 配置详解
渐变配置
const gradient = {
type: 'linear', // linear | radial
direction: '45deg', // 渐变方向
stops: [ // 颜色停止点
{ color: '#00d4ff', position: '0%' },
{ color: '#5b21b6', position: '100%' }
]
}
弧形配置
const curve = {
type: 'convex', // convex | concave | wave
position: 'bottom', // top | bottom | both
height: 60, // 弧形高度
width: 1, // 宽度比例
color: '#ffffff', // 颜色
opacity: 1, // 透明度
waveCount: 2, // 波浪数量(wave类型)
animation: false, // 是否动画
***: '#ffffff' // 背景色(concave类型)
}
轮播配置
const carousel = {
images: [], // 图片数组
interval: 3000, // 切换间隔
autoplay: true, // 自动播放
circular: true, // 循环播放
indicatorDots: true, // 显示指示器
duration: 500 // 动画时长
}
🌟 最佳实践
- 性能优化:避免在同一页面使用过多动画效果
- 颜色搭配:使用对比度适中的颜色,确保内容可读性
- 响应式设计:合理设置高度和宽度,适配不同屏幕
- 交互体验:适当使用点击和视差效果提升用户体验
🐛 常见问题
***: 弧形效果在某些平台不显示? A: 组件已内置兼容性处理,如遇问题请检查 uni-app 版本是否为最新。
***: 如何实现更复杂的渐变效果? A: 可以通过 gradient 属性传入自定义配置,支持多个颜色停止点。
***: 动画效果影响性能怎么办? A: 组件已优化性能,建议控制同时播放的动画数量,必要时可关闭动画。
: 内凹弧形效果不明显? A: 确保背景色与 有足够对比度,建议使用白色或浅色作为 ***。
*** Backdrop - 让你的应用界面更精彩!