更新记录

0.1.3(2025-08-24) 下载此版本

  • feat: 兼容鸿蒙Next

0.1.2(2025-05-17) 下载此版本

  • feat: 兼容uniappx 小程序、H5、IOS、安卓

0.1.1(2025-04-01) 下载此版本

  • feat: 更新示例
查看更多

平台兼容性

uni-app(4.62)

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

uni-app x(4.76)

Chrome Safari Android iOS 鸿蒙 微信小程序
5.0

lime-pag PAG动画组件

一个高性能的PAG动画渲染组件,基于腾讯高性能动画渲染库,完美兼容UniApp(微信小程序、H5)和UniAppX(微信小程序、H5、安卓、iOS、鸿蒙Next)平台。支持加载、播放、暂停PAG动画,并提供丰富的事件监听功能。

插件依赖:UniAppX App端需要依赖 lime-pag-x 原生插件

文档链接

📚 组件详细文档请访问以下站点:

安装方法

  1. 在uni-app插件市场中搜索并导入lime-pag
  2. 根据平台安装相应依赖:
    • 微信小程序:npm install libpag-miniprogram --save
    • H5:npm install libpag --save
    • UniappX App端:需要额外导入lime-pag-x原生插件

注意:如果小程序控制台报错提示未加载wasm,请把node_modules/libpag-miniprogram/lib/libpag.wasm.br复制到uni_modules/lime-pag/static/目录下

代码演示

基础用法

创建一个PAG动画组件并播放动画。

<l-pag ref="pagRef" @init="init"></l-pag>
const pagRef = ref(null);
let pagView = null;

const init = async (PAG) => {
  // 加载PAG文件
  const pagFile = await PAG.PAGFile.load('https://pag.art/file/like.pag');
  // 初始化PAG视图
  pagView = await PAG.PAGView.init(pagFile);
  // 播放动画
  pagView.play();

  // 添加事件监听
  pagView.addListener('', () => {
    console.log('动画开始')
  });
  pagView.addListener('', () => {
    console.log('动画结束')
  });
}

// 播放动画
const play = () => {
  if(!pagView) return;
  pagView.play();
}

// 暂停动画
const pause = () => {
  if(!pagView) return;
  pagView.pause();
}

UniAppX 用法

UniAppX App端需要依赖lime-pag-x原生插件。

<l-pag style="height: 450px;" ref="pagRef" @init="init"></l-pag>
import type { LPAG, LPAGView } from '@/uni_modules/lime-pag'

let pagView: LPAGView | null = null;
const pag = `https://pag.art/file/like.pag`;

const init = async (PAG: LPAG) => {
  const pagFile = await PAG.PAGFile.load(pag);
  pagView = await PAG.PAGView.init(pagFile);

  // 设置动画重复次数,默认是1,0为无限次
  pagView!.setRepeatCount(5);
  pagView!.play();

  pagView!.addListener('', () => {
    console.log('动画开始')
  });
  pagView!.addListener('', () => {
    console.log('动画结束')
  });
}

const play = () => {
  if(pagView == null) return;
  pagView?.play();
}

const pause = () => {
  if(pagView == null) return;
  pagView?.pause();
}

快速预览

导入插件后,可以直接使用以下标签查看演示效果:

<!-- 代码位于 uni_modules/lime-pag/components/lime-pag -->
<lime-pag />

插件标签说明

标签名 说明
l-pag 组件标签
lime-pag 演示标签

Vue2使用说明

main.js中添加以下代码:

// vue2项目中使用
import Vue from 'vue'
import VueCompositionAPI from '@vue/composition-api'
Vue.use(VueCompositionAPI)

详细配置请参考官方文档:Vue Composition API

API文档

Props 属性说明

属性名 说明 类型 默认值
width 画布宽度 number -
height 画布高度 number -
autoPlay 是否自动播放 boolean false
repeatCount 重复播放次数,0为无限循环 number 1
src PAG文件路径 string -

Events 事件

事件名 说明 回调参数
init PAG初始化完成时触发 PAG: LPAG
frame 动画播放进度更新时触发 progress: number
fail 发生错误时触发 error: Error

常见问题

  • 微信小程序无法读取pag的本地资源,但可以将pag后缀改成png就能读取
  • H5环境下可能存在跨域问题,请确保PAG资源允许跨域访问
  • App端需要额外安装lime-pag-x原生插件

支持与赞赏

如果你觉得本插件解决了你的问题,可以考虑支持作者:

支付宝赞助 微信赞助

隐私、权限声明

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

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

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

许可协议

MIT协议