# uniapp-lantern-release
**Repository Path**: isixe/uniapp-lantern-release
## Basic Information
- **Project Name**: uniapp-lantern-release
- **Description**: uniapp放花灯效果组件
- **Primary Language**: JavaScript
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2025-12-22
- **Last Updated**: 2026-02-04
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# uniapp-lantern-release
一个基于 UniApp 的 放花灯 组件,适用于 H5,其他平台暂未测试。组件通过 requestAnimationFrame 实现花灯从底部向上飘动,并叠加左右摇摆动画,适合节日、活动氛围展示。
## 预览
## 安装使用
1. 下载项目并引入组件
2. 在页面中引入 `lantern-release` 组件
3. 按需修改样式和配置参数
4. 通过 ref 调用动画控制方法
## 示例代码
```vue
```
## API
### 参数
| 参数名 | 类型 | 默认值 | 说明 |
| ------------------ | ------------------------ | -------------- | -------------------------------------------------------- |
| imageUrl | `string` | `""` | 花灯图片地址 |
| speed | `number` | `5` | 上升速度(数值越大越快,基于 60fps 计算) |
| swingAmplitude | `number` | `10` | 摆动角度幅度(单位:deg) |
| swingSpeed | `number` | `500` | 摆动周期速度(值越小,摆动越快) |
| startPosition | `number` | `-100` | 初始底部位置(px,负值表示屏幕外),需要大于花灯图片高度 |
| endPosition | `number \| "screen-top"` | `"screen-top"` | 终止位置,`screen-top` 表示完全离开屏幕 |
| width | `string` | `"80px"` | 花灯宽度 |
| height | `string` | `"100px"` | 花灯高度 |
| horizontalPosition | `string \| "center"` | `"center"` | 水平位置,如 `"20%"`、`"100px"` |
| autoStart | `boolean` | `false` | 是否在组件挂载后自动开始动画 |
| delay | `number` | `0` | 启动延迟时间(毫秒) |
### 事件
| 事件名 | 说明 |
| -------------- | ---------------------- |
| animationStart | 动画开始时触发 |
| animationEnd | 花灯到达终点位置时触发 |
| animationReset | 调用重置方法时触发 |
### 实例方法
通过 ref 可调用以下方法控制花灯动画
| 方法名 | 参数 | 返回值 | 说明 |
| ---------------- | ---- | ------ | -------------------------------- |
| startAnimation | — | `void` | 启动动画,重置位置并开始向上飘动 |
| stopAnimation | — | `void` | 立即停止动画,保持当前花灯位置 |
| resetAnimation | — | `void` | 重置花灯到初始位置,不播放动画 |
| restartAnimation | — | `void` | 重置并重新启动动画 |
## 许可协议
MIT License,请查看项目根目录下的 LICENSE 文件。