更新记录

0.0.1(2025-04-02)

  • init

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.7.0,Android:支持,iOS:支持,HarmonyNext:不确定 × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
× × × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

lime-svga-x

特性

✅ 原生性能渲染
✅ 支持远程/本地 SVGA 资源
✅ 精准动画控制(播放/暂停/跳帧)
✅ 动态内容替换(文本/图片)
✅ 循环模式与填充策略
✅ 实时进度回调

安装

插件市场导入,在页面使用组件标签后自定义基座

代码演示

基础使用

<template>
  <l-svga-x 
    ref="svgaPlayer"
    src="https://example.com/animation.svga"
    @loaded="onLoaded"
    @percentage="onPercentage"
  />
</template>
export default {
    methods: {
        onPercentage(progress: number) {
            console.log(progress)
        },
        onLoaded(res: UTSJSONObject) {
            // uniappx
            (this.$refs.svgaPlayer as LSvgaXElement).startAnimation()
            // uniapp
            // this.$refs.svgaPlayer.startAnimation()
        }
  }
}

API 参考

Props

属性名 类型 默认值 说明
src String '' SVGA 资源地址(支持网络/本地)

方法

通过 ref 调用:

// uniapp
const player = this.$refs.svgaPlayer

// uniappx
const player = this.$refs["svgaPlayer"] as LSvgaXElement
方法名 参数说明 功能描述
load(url) url: 资源地址 加载新动画
startAnimation() - 开始播放
pauseAnimation() - 暂停播放
stopAnimation() - 停止并重置动画
setLoops(count) count: 循环次数(0=无限) 设置循环次数
stepToFrame(frame, play) frame: 目标帧,play: 是否继续播放 跳转到指定帧
stepToPercentage(percent, play) percent: 0-100,play: 是否继续 跳转到百分比位置
setText(content, key) content: JSON 文本对象,key: 元素标识 动态替换文本内容
setImage(src, key) src: 图片地址,key: 元素标识 动态替换图片元素

事件

事件名 返回值 触发时机
init - 组件初始化完成
loaded {url, videoitem} 资源加载成功
frame 当前帧数 每帧渲染时触发
finished - 动画播放完成(非循环模式)
percentage 当前进度百分比 播放进度变化时触发

高级用法

动态内容替换

这两个方法没有测试,若不支持,可以提供相关的文件反馈

// 替换文本
player.setText({ 
  text: "New Text", 
  color: "#FF0000" 
}, "textLayer");
// 替换图片
player.setImage("/static/new-image.png", "imageLayer");

精准控制

// 设置无限循环
player.setLoops(0);
// 跳转到50%位置并继续播放
player.stepToPercentage(50, true);
// 设置播放结束保留最后一帧
player.setFillMode('forward');

隐私、权限声明

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

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

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

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问