更新记录

2.0.0(2025-12-06) 下载此版本

重大更新 - 新增多项高级功能

新增功能

  • 进入动画:支持 slideIn、fadeIn、zoom、bounceIn 四种进入动画效果
  • 骨架屏加载:新增 skeleton 模式,提供优雅的加载状态展示
  • 徽章支持:支持在标题旁显示徽章(badge),可自定义颜色
  • 标题图标:支持在标题前添加图标(emoji 或图标字体)
  • 更多卡片类型:新增 product(商品)、profile(用户)、notification(通知)类型
  • 长按事件:新增 longpress 事件支持
  • 图片懒加载:封面图片支持懒加载,优化性能
  • 头部右侧插槽:新增 header-right 插槽,可在头部右侧添加自定义内容
  • 卡片高度配置:新增 height 属性,可自定义卡片高度
  • 分割线配置:底部分割线可通过 showFooterDivider 控制显示/隐藏

1.0.0(2025-09-01) 下载此版本

  • 多种卡片类型(基础、图文、数据统计等)
  • 丰富的交互反馈(阴影、悬停、涟漪效果、加载状态)
  • 高度灵活的样式配置和插槽
  • 全平台兼容(H5、小程序、App)

平台兼容性

uni-app(3.6.15)

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

其他

多语言 暗黑模式 宽屏模式 蒸汽模式
√ √ √ ×

hy-card-plus 增强型卡片组件

一个功能丰富、高度可定制的 UniApp 卡片组件,支持多种动画效果、骨架屏、徽章等高级功能。

✨ 特性

  • 🎨 多种卡片类型:基础、图文、数据统计、商品、用户、通知等
  • 🎭 进入动画:slideIn、fadeIn、zoom、bounceIn 四种动画效果
  • 💀 骨架屏加载:优雅的加载状态展示
  • 🏷️ 徽章支持:标题徽章、封面角标
  • 🎯 丰富交互:点击、长按、涟漪效果、悬停态
  • 🎛️ 高度可定制:样式配置、插槽系统、主题定制
  • 🚀 性能优化:图片懒加载、按需渲染
  • 📱 全平台兼容:H5、小程序、App 全端支持

🆕 V2.0 新增功能

  • ✅ 进入动画效果(slideIn/fadeIn/zoom/bounceIn)
  • ✅ 骨架屏加载模式
  • ✅ 徽章和标题图标支持
  • ✅ 长按事件支持
  • ✅ 图片懒加载
  • ✅ 更多卡片类型(product/profile/notification)
  • ✅ 头部右侧插槽
  • ✅ 卡片高度配置
  • ✅ 底部分割线控制

安装

  1. 将 hy-card-plus 组件目录拷贝到您的 UniApp 项目的 components 目录下。
  2. 在需要使用的页面或全局注册组件。

📦 快速开始

基础用法

<hy-card-plus title="标题" sub-title="副标题" @click="onClick">
  <text>这里是卡片内容</text>
</hy-card-plus>

图文卡片

<hy-card-plus 
  title="标题" 
  sub-title="副标题" 
  cover="/static/example.jpg" 
  cover-tag="New"
  cover-tag-type="primary">
  <text>这里是卡片内容</text>
  <template v-slot:actions>
    <button size="mini">按钮</button>
  </template>
</hy-card-plus>

带动画效果

<hy-card-plus title="滑入动画" animation="slideIn">
  <text>卡片内容</text>
</hy-card-plus>

徽章和图标

<hy-card-plus 
  title="标题" 
  title-icon="🎉"
  badge="HOT"
  badge-color="#06b6d4">
  <text>带徽章的卡片</text>
</hy-card-plus>

骨架屏加载

<hy-card-plus :skeleton="loading" title="加载中">
  <text>加载完成后显示的内容</text>
</hy-card-plus>

商品卡片

<hy-card-plus 
  type="product"
  title="商品名称" 
  cover="/static/product.jpg"
  cover-tag="8折">
  <view class="price">¥239</view>
  <template v-slot:actions>
    <button size="mini">立即购买</button>
  </template>
</hy-card-plus>

📖 API 文档

Props 配置

参数 类型 默认值 说明
type String 'basic' 卡片类型:'basic', 'image', 'stats', 'product', 'profile', 'notification'
title String '' 卡片主标题
subTitle String '' 卡片副标题
cover String '' 封面图片 URL
coverTag String '' 封面角标文字
coverTagType String 'error' 封面角标类型:'primary', 'success', 'warning', 'error'
shadow String 'always' 阴影显示时机:'always', 'hover', 'never'
border Boolean true 是否显示边框
disabled Boolean false 是否禁用卡片
hover Boolean true 是否开启点击悬停效果
loading Boolean false 是否显示加载状态
loadingText Object {...} 加载状态文字配置
ripple Boolean true 是否开启点击涟漪效果
rippleColor String 'rgba(0, 0, 0, 0.1)' 涟漪效果颜色
customStyle Object {} 自定义卡片容器样式
headerStyle Object {} 自定义头部样式
bodyStyle Object {} 自定义内容体样式
footerStyle Object {} 自定义底部样式
coverStyle Object {} 自定义封面样式
padding String '24rpx' 卡片内边距
radius String '16rpx' 卡片圆角
backgroundColor String '#FFFFFF' 卡片背景色
height 🆕 String '' 卡片高度
titleIcon 🆕 String '' 标题图标(emoji 或图标字体)
badge 🆕 String/Number '' 徽章文字
badgeColor 🆕 String '#FF5722' 徽章颜色
showFooterDivider 🆕 Boolean true 是否显示底部分割线
animation 🆕 String 'none' 进入动画:'none', 'slideIn', 'fadeIn', 'zoom', 'bounceIn'
skeleton 🆕 Boolean false 是否显示骨架屏
lazyLoad 🆕 Boolean true 封面图片是否懒加载

Events 事件

事件名 参数 说明
click (e: Event) 点击卡片时触发(禁用或加载状态不会触发)
cover-click (e: Event) 点击封面图时触发
longpress 🆕 (e: Event) 长按卡片时触发

Slots 插槽

名称 说明
default 卡片主体内容
cover 自定义封面内容,覆盖 cover 属性
cover-tag 自定义封面角标,覆盖 coverTag 属性
header 自定义头部内容,覆盖 title 和 subTitle 属性
header-right 🆕 自定义头部右侧内容
footer 自定义底部内容
actions 自定义底部操作区内容(通常放置按钮)

🎨 示例场景

1. 数据统计卡片

<hy-card-plus type="stats" title="数据概览" animation="fadeIn">
  <view class="stats">
    <view class="stat-item">
      <text class="value">1,234</text>
      <text class="label">访问量</text>
    </view>
    <!-- 更多统计项... -->
  </view>
</hy-card-plus>

2. 用户信息卡片

<hy-card-plus type="profile" animation="slideIn">
  <template v-slot:header>
    <view class="profile">
      <image class="avatar" src="/static/avatar.jpg"></image>
      <view class="info">
        <text class="name">张三</text>
        <text class="desc">资深开发者</text>
      </view>
    </view>
  </template>
  <view class="stats">...</view>
</hy-card-plus>

3. 通知卡片

<hy-card-plus 
  type="notification"
  title="系统消息"
  title-icon="📧"
  badge="5"
  animation="bounceIn">
  <text>你有 5 条新消息</text>
  <template v-slot:header-right>
    <text class="time">2分钟前</text>
  </template>
</hy-card-plus>

💡 最佳实践

  1. 性能优化:对于长列表,建议开启图片懒加载 lazy-load="true"
  2. 动画使用:避免同时为大量卡片设置动画,建议按需或分批加载
  3. 骨架屏:数据加载时使用骨架屏提升用户体验
  4. 响应式设计:使用 rpx 单位确保多端适配
  5. 事件处理:合理使用点击和长按事件,提供丰富的交互体验

🔧 版本要求

  • HBuilderX:^3.1.0
  • uni-app:^4.07
  • Vue:2.x / 3.x 均支持

📄 许可证

MIT License

隐私、权限声明

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

无

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

插件不采集任何数据

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

无

许可协议

MIT协议