git :https://github.com/svga/svgaplayer-weapp
<script>
const { Parser, Player } = require('../utils/svgaplayer.weapp.js')
// 必须放这
const parser = new Parser()
const player = new Player()
export default{
methods: {
showGift (svga, gift) {
this.showGiftCanvas = true
this.$nextTick(async () => {
try {
player.loops = 1
player.clearsAfterStop = true
await player.setCanvas('#demoCanvas')
const videoItem = await parser.load(`${this.$OSS_IMAGES_URL}/show/gift_${svga}.svga`)
await player.setVideoItem(videoItem)
player.startAnimation()
player.onFinished(() => {
player.stopAnimation(true)
player.clearsAfterStop = true
})
} catch (error) {
console.log('礼物', error)
}
})
}
}
</script>
<canvas
v-if="showGiftCanvas"
id="demoCanvas"
type="2d"
style="width: 300px; height: 300px; position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);"></canvas>