更新记录

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 Vue2插件版本 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协议