文档中心 > 店铺动态卡片-开发指引

Lottie 小程序使用文档

更新时间:2023/02/14 访问次数:11940

lottie 的相关介绍与动画生成方法等请参考 官方说明


一、使用方法


1. 通过 npm 安装:


npm install --save @tbminiapp/lottie-miniapp


2. app.json 里添加 enableSkia 配置:


{
  "pages": [
    "pages/index/index"
  ],
  "window": {
    "defaultTitle": "My App",
    "enableSkia":"true"
  }
}


3. axml 里传入 canvas 对象用于适配:


<canvas id="canvas"  type="2d" onReady="onCanvasReady" style="width: 100%; height: 500px"></canvas>


4. 使用 lottie 接口:


import lottie from '@tbminiapp/lottie-miniapp'

Page({
  onCanvasReady() {
    this.canvas = my.createCanvas({
      id: 'canvas',
      success: (canvas) => {
        var systemInfo = my.getSystemInfoSync();
        canvas.width = 300 * systemInfo.pixelRatio;
        canvas.height = 500 * systemInfo.pixelRatio;
        lottie.setup(canvas);
        const context = canvas.getContext('2d')
        this.ani = lottie.loadAnimation({
          loop: true,
          autoplay: true,
          // animationData: require('../../json/redbao.js'),
          path:'https://gw.alicdn.com/bao/uploaded/LB1JfFSHYr1gK0jSZR0XXbP8XXa.json',
          rendererSettings: {
            context: context,
          },
        })
      }
    });
  }
})


二、接口


目前提供两个接口:


1)lottie.setup(canvas)

需要在任何 lottie 接口调用之前调用,传入 canvas 对象。


2)lottie.loadAnimation(options)

与原来的 loadAnimation 有些不同,支持的参数有:

① loop;

② autoplay;

③ animationData (支持内置 json 文件,需要以 js 形式内置在包内);

④ path (只支持网络地址,走的是my.downloadFile的链路,需要阿里系域名);

⑤ rendererSettings.context (必填);


三、说明


1. 注意:使用网络加载 json 的时候请将 json 资源放置在阿里系域名下,或者通过module.exports=将 json文件转为 js 文件2 内置在小程序包里,走本地加载 json 链路;

2. 本项目是以 npm 的方式依赖原 lottie-web 项目,若原项目有新版本,可直接改变依赖的版本号。

3. 由于小程序本身不支持动态执行脚本,因此 lottie 的 expression 功能也是不支持的。



FAQ

关于此文档暂时还没有FAQ
返回
顶部