From 9d734d6a4f94e2ac053efcf8f6103588a7e29e05 Mon Sep 17 00:00:00 2001 From: zoujing Date: Sat, 25 Apr 2026 23:44:13 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=A6=96=E9=A1=B5=E9=A1=B6=E9=83=A8?= =?UTF-8?q?=E7=9A=84=E6=90=AD=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/Home/components/HomeWelcome.vue | 122 +++++ src/pages/Home/index.vue | 63 ++- src/static/scss/colors.scss | 8 + src/static/scss/padding.scss | 6 - src/uni_modules/yo-indicator-dot/changelog.md | 27 + .../yo-indicator-dot/yo-indicator-dot.vue | 516 ++++++++++++++++++ src/uni_modules/yo-indicator-dot/package.json | 101 ++++ src/uni_modules/yo-indicator-dot/readme.md | 299 ++++++++++ .../yo-indicator-dot/uni_modules.config.json | 8 + 9 files changed, 1118 insertions(+), 32 deletions(-) create mode 100644 src/pages/Home/components/HomeWelcome.vue create mode 100644 src/uni_modules/yo-indicator-dot/changelog.md create mode 100644 src/uni_modules/yo-indicator-dot/components/yo-indicator-dot/yo-indicator-dot.vue create mode 100644 src/uni_modules/yo-indicator-dot/package.json create mode 100644 src/uni_modules/yo-indicator-dot/readme.md create mode 100644 src/uni_modules/yo-indicator-dot/uni_modules.config.json diff --git a/src/pages/Home/components/HomeWelcome.vue b/src/pages/Home/components/HomeWelcome.vue new file mode 100644 index 0000000..3d06f33 --- /dev/null +++ b/src/pages/Home/components/HomeWelcome.vue @@ -0,0 +1,122 @@ + + + + diff --git a/src/pages/Home/index.vue b/src/pages/Home/index.vue index dc8234e..1f7b1ad 100644 --- a/src/pages/Home/index.vue +++ b/src/pages/Home/index.vue @@ -1,35 +1,54 @@ - - diff --git a/src/static/scss/colors.scss b/src/static/scss/colors.scss index a59c733..06683e3 100644 --- a/src/static/scss/colors.scss +++ b/src/static/scss/colors.scss @@ -56,6 +56,14 @@ color: #fa7319; } +.color-B45309 { + color: #b45309; +} + +.color-D97706 { + color: #d97706; +} + // text 颜色 .text-color-900 { color: $text-color-900; // #181B25 diff --git a/src/static/scss/padding.scss b/src/static/scss/padding.scss index de3f33f..275bad8 100644 --- a/src/static/scss/padding.scss +++ b/src/static/scss/padding.scss @@ -57,7 +57,6 @@ padding-bottom: 4px; } - .p-6 { padding: 6px; } @@ -88,7 +87,6 @@ padding-bottom: 6px; } - .p-8 { padding: 8px; } @@ -149,7 +147,6 @@ padding-bottom: 10px; } - .p-12 { padding: 12px; } @@ -204,7 +201,6 @@ padding-bottom: 14px; } - .p-16 { padding: 16px; } @@ -235,7 +231,6 @@ padding-bottom: 16px; } - .p-20 { padding: 20px; } @@ -266,7 +261,6 @@ padding-bottom: 20px; } - .p-24 { padding: 24px; } diff --git a/src/uni_modules/yo-indicator-dot/changelog.md b/src/uni_modules/yo-indicator-dot/changelog.md new file mode 100644 index 0000000..5aa6d18 --- /dev/null +++ b/src/uni_modules/yo-indicator-dot/changelog.md @@ -0,0 +1,27 @@ +## 2.0.0(2025-10-09) +### ✨ 新功能 +- 新增多种显示模式:dots(点状)、numbers(数字)、progress(进度条)、thumbnails(缩略图) +- 新增多种形状:circle(圆形)、square(方形)、diamond(菱形)、bar(条形)、custom(自定义) +- 新增丰富动画效果:scale(缩放)、rotate(旋转)、bounce(弹性)、pulse(脉冲)、fade(淡入淡出)、none(无动画) +- 新增位置布局选项:top(顶部)、bottom(底部)、left(左侧)、right(右侧)、inside(内嵌) +- 新增交互功能:点击跳转、悬停效果 +- 新增事件支持:change、click、hover +- 新增插槽支持:indicator、thumbnail + +### 🔧 改进 +- 保持向后兼容,现有代码无需修改 +- 优化API设计,支持渐进式增强 +- 完善响应式设计,适配各种屏幕尺寸 +- 增强无障碍支持 + +### 📚 文档 +- 完善使用文档和API说明 +- 新增丰富的演示示例 +- 提供使用技巧和最佳实践 +## 1.0.0(2025-09-11) + +### 🎉 初始版本 +- 基础点状指示器功能 +- 支持自定义颜色和尺寸 +- 支持平滑过渡动画 +- 支持所有UniApp平台 diff --git a/src/uni_modules/yo-indicator-dot/components/yo-indicator-dot/yo-indicator-dot.vue b/src/uni_modules/yo-indicator-dot/components/yo-indicator-dot/yo-indicator-dot.vue new file mode 100644 index 0000000..d3924df --- /dev/null +++ b/src/uni_modules/yo-indicator-dot/components/yo-indicator-dot/yo-indicator-dot.vue @@ -0,0 +1,516 @@ + + + + + \ No newline at end of file diff --git a/src/uni_modules/yo-indicator-dot/package.json b/src/uni_modules/yo-indicator-dot/package.json new file mode 100644 index 0000000..50c59ab --- /dev/null +++ b/src/uni_modules/yo-indicator-dot/package.json @@ -0,0 +1,101 @@ +{ + "id": "yo-indicator-dot", + "displayName": "轮播指示器组件", + "version": "2.0.0", + "description": "一个美观的uniapp轮播指示器组件,支持自定义颜色和平滑过渡动画", + "keywords": [ + "uniapp", + "轮播", + "指示器", + "indicator", + "swiper" +], + "repository": "", + "engines": { + "HBuilderX": "^3.0.0", + "uni-app": "^4.07", + "uni-app-x": "^4.07" + }, + "dcloudext": { + "type": "component-vue", + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "", + "darkmode": "x", + "i18n": "x", + "widescreen": "√" + }, + "uni_modules": { + "dependencies": [], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "√", + "aliyun": "√", + "alipay": "x" + }, + "client": { + "uni-app": { + "vue": { + "vue2": "√", + "vue3": "√" + }, + "web": { + "safari": "√", + "chrome": "√" + }, + "app": { + "vue": "√", + "nvue": "√", + "android": "√", + "ios": "√", + "harmony": "√" + }, + "mp": { + "weixin": "√", + "alipay": "√", + "toutiao": "√", + "baidu": "√", + "kuaishou": "√", + "jd": "√", + "harmony": "√", + "qq": "√", + "lark": "√" + }, + "quickapp": { + "huawei": "√", + "union": "√" + } + }, + "uni-app-x": { + "web": { + "safari": "-", + "chrome": "-" + }, + "app": { + "android": "-", + "ios": "-", + "harmony": "-" + }, + "mp": { + "weixin": "-" + } + } + } + } + } +} \ No newline at end of file diff --git a/src/uni_modules/yo-indicator-dot/readme.md b/src/uni_modules/yo-indicator-dot/readme.md new file mode 100644 index 0000000..a88b944 --- /dev/null +++ b/src/uni_modules/yo-indicator-dot/readme.md @@ -0,0 +1,299 @@ +# yo-indicator-dot + +🚀 功能强大的轮播指示器组件,支持多种显示模式、形状和动画效果 + +## ✨ 功能特点 + +- 🎯 **零配置开箱即用** - 不传任何参数就能正常工作 +- 🎨 **多种显示模式** - 点状、数字、进度条、缩略图 +- 🔷 **多种形状** - 圆形、方形、菱形、条形、自定义 +- ⚡️ **丰富动画** - 缩放、旋转、弹性、脉冲、淡入淡出 +- 📍 **灵活位置** - 顶部、底部、左侧、右侧、内嵌 +- 🖱️ **交互功能** - 点击跳转、悬停效果 +- 📱 **全平台支持** - H5、小程序、App +- 🔄 **向后兼容** - 现有代码升级无压力 + +## 🚀 快速开始 + +### 1. 安装 + +通过 HBuilderX 插件市场安装: + +1. 打开 HBuilderX +2. 点击菜单栏 `工具` → `插件安装` +3. 搜索 `yo-indicator-dot` 并安装 +4. 或直接下载 uni_modules 文件夹到项目中 + +### 2. 基础使用 + +```vue + + + +``` + +## 🎨 显示模式 + +### 点状模式(默认) +```vue + +``` + +### 数字模式 +```vue + +``` + +### 进度条模式 +```vue + +``` + +### 缩略图模式 +```vue + + + +``` + +## 🔷 形状样式 + +```vue + + + + + + + + + + + + + + + + +``` + +## ⚡️ 动画效果 + +```vue + + + + + + + + + + + + + + + + + +``` + +## 📍 位置布局 + +```vue + + + + + + + + + + + + + + +``` + +## 🖱️ 交互功能 + +```vue + +``` + +## 📋 完整参数 + +### 基础参数(向后兼容) + +| 参数 | 类型 | 默认值 | 说明 | +|------|------|--------|------| +| current-index | Number | 0 | 当前轮播的下标 | +| length | Number | 0 | 轮播数据的长度 | +| default-color | String | #cccccc | 默认指示点的颜色 | +| active-color | String | #007aff | 选中指示点的颜色 | +| default-width | String | 12rpx | 默认指示点宽度 | +| active-width | String | 20rpx | 选中指示点宽度 | +| dot-height | String | 12rpx | 指示点高度 | +| gap | String | 12rpx | 指示点间距 | +| duration | String | 0.3s | 动画持续时间 | + +> **💡 智能形状提示**: 当 `active-width` 或 `default-width` 是 `dot-height` 的2倍以上时,组件会自动使用条形样式,确保视觉效果更佳。 + +### 新增功能参数 + +| 参数 | 类型 | 默认值 | 说明 | +|------|------|--------|------| +| mode | String | dots | 显示模式:dots/numbers/progress/thumbnails | +| shape | String | circle | 指示器形状:circle/square/diamond/bar/custom | +| animation | String | scale | 动画效果:scale/rotate/bounce/pulse/fade/none | +| position | String | bottom | 位置:top/bottom/left/right/inside | +| clickable | Boolean | true | 是否可点击 | +| hoverable | Boolean | true | 是否显示悬停效果 | +| custom-content | Boolean | false | 自定义内容(用于custom形状) | +| progress-height | String | 6rpx | 进度条高度(progress模式) | +| thumbnail-size | String | 60rpx | 缩略图尺寸(thumbnails模式) | + +## 🎯 事件 + +| 事件名 | 说明 | 参数 | +|--------|------|------| +| change | 指示器切换时触发 | index: 新的下标 | +| click | 点击指示器时触发 | index: 点击的下标 | +| hover | 悬停指示器时触发 | { index, isHover } | + +## 🔧 插槽 + +| 插槽名 | 说明 | 参数 | +|--------|------|------| +| indicator | 自定义指示器内容 | { index, isActive } | +| thumbnail | 自定义缩略图内容 | { index, isActive } | + +## 💡 使用技巧 + +### 1. 渐进式增强 +```vue + + + + + +``` + +### 2. 主题定制 +```vue + +``` + +### 3. 响应式设计 +```vue + +``` + +## 📱 平台支持 + +- ✅ H5(Safari、Chrome、Firefox) +- ✅ App(Android、iOS、HarmonyOS) +- ✅ 微信小程序、支付宝小程序、百度小程序 +- ✅ 字节跳动小程序、QQ小程序、快手小程序 +- ✅ 钉钉小程序、京东小程序 + +## 🔄 更新日志 + +### v2.0.0 +- ✨ 新增多种显示模式(数字、进度条、缩略图) +- ✨ 新增多种形状(方形、菱形、条形、自定义) +- ✨ 新增丰富动画效果 +- ✨ 新增位置布局选项 +- ✨ 新增交互功能(点击、悬停) +- 🔧 保持向后兼容,现有代码无需修改 +- 📚 完善文档和演示 + +### v1.0.0 +- 🎉 初始版本发布 +- 基础点状指示器功能 +- 支持自定义颜色和尺寸 + +## License + +MIT \ No newline at end of file diff --git a/src/uni_modules/yo-indicator-dot/uni_modules.config.json b/src/uni_modules/yo-indicator-dot/uni_modules.config.json new file mode 100644 index 0000000..2be693f --- /dev/null +++ b/src/uni_modules/yo-indicator-dot/uni_modules.config.json @@ -0,0 +1,8 @@ +{ + "easycom": { + "autoscan": true, + "custom": { + "^yo-indicator-dot$": "@/uni_modules/yo-indicator-dot/components/yo-indicator-dot/yo-indicator-dot.vue" + } + } +} \ No newline at end of file