当前位置: 首页 > news >正文

商城的网站建设网站维护推广的方案

商城的网站建设,网站维护推广的方案,制作微信网站模板,主流的net快速开发框架提示:如果是webpack环境的,参考:Pag格式在vue3中的简单使用方法_pag文件-CSDN博客 下面展示的是在vite环境下配置pag 1、安装libpag npm i libpag --save 2、安装rollup-plugin-copy npm i rollup-plugin-copy --save 3、封装pag组件 下…

提示:如果是webpack环境的,参考:Pag格式在vue3中的简单使用方法_pag文件-CSDN博客

下面展示的是在vite环境下配置pag

1、安装libpag

npm i libpag --save

2、安装rollup-plugin-copy

npm i rollup-plugin-copy --save

3、封装pag组件

下面是一个完整的pag组件,我命名为pagImg

<template><div><canvas ref="pagRef" class="pag-size"></canvas></div>
</template><script setup lang="ts">
import { nextTick, onMounted, ref, watch } from 'vue'
import { PAGInit } from 'libpag';
const props = defineProps({url: {type: String,default: '',}
})
const pagRef = ref() //元素 必须使用ref获取元素,别用id选择器
const urlValue = ref(props.url) //https://www.mustake.net/loading.pagconst initPag = async () => {// console.log("has-pag-->", urlValue.value);if (!pagRef.value) return//判断画布是否存在// 实例化 PAGconst PAG = await PAGInit();// 获取 PAG 素材数据const buffer = await fetch(`${urlValue.value}`).then((response) => response.arrayBuffer());// 加载 PAG 素材为 PAGFile 对象const pagFile = await PAG.PAGFile.load(buffer);// 实例化 PAGView 对象const pagView = await PAG.PAGView.init(pagFile, pagRef.value);if (pagView) {pagView.setRepeatCount(0) // 0表示无限循环,大于0表示循环次数await pagView.play();// 播放 PAGView}
}watch(() => props.url, (val) => {urlValue.value = val
})
onMounted(() => {nextTick(() => {initPag()})
})
</script><style>
.pag-size {/* 根据实际pag动图设置画布尺寸 */width: 60px;height: 60px;position: absolute;left: 50%;bottom: -10px;transform: translateX(-50%);z-index: 3;
}
</style>

4,在vite.config.js中进行配置,目的是把加载pag文件所需的libpag.wasm复制到项目的dist包中

官网的配置链接源码:pag-web/vue/vue3/vite.config.js at main · libpag/pag-web · GitHub

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import copy from 'rollup-plugin-copy'
// https://vitejs.dev/config/
export default defineConfig({plugins: [vue(),copy({targets: [{ src: './node_modules/libpag/lib/libpag.wasm', dest: process.env.NODE_ENV === 'production' ? 'dist/' : 'public/' },],hook: process.env.NODE_ENV === 'production' ? 'writeBundle' : "buildStart",}),],base: './',
});

5.使用pag,下面进提供参考

<template><div v-if="urlValue"><pagImg v-if="fileType === 'pag'" :url="generateImgURL(urlValue)" /></div>
</template>
<script lang='ts' setup>
import pagImg from './pagImg.vue'
import { onMounted, ref, watch } from 'vue'
import { generateImgURL } from '@/utils'; // 我项目封装的路径地址,根据自己需求,获取到完整的pag文件路径
const props = defineProps({url: {type: String,default: '',}
})
const urlValue = ref(props.url) //https://www.mustake.net/loading.pag
const fileType = ref('') // pag svga
const getExt = (fileUrl: string) => {// 判断是否是pag文件if (!fileUrl) { return "" };// 获取文件后缀名return fileUrl.split('.').pop()?.toLowerCase() || '';
}watch(() => props.url, (val) => {// console.log('pag-->', val);urlValue.value = valfileType.value = getExt(val)
})
onMounted(() => {// console.log('监pag-onMounted->', generateImgURL(urlValue.value));fileType.value = getExt(urlValue.value)
})
</script>
<style scoped lang='scss'></style>

http://www.hengruixuexiao.com/news/43500.html

相关文章:

  • 郑州营销型网站建设sem网络推广是什么
  • WordPress建站步骤seo外包如何
  • 海外网站seo优化百度推广联盟
  • 小说网站开发的目的做一个企业网站大概需要多少钱
  • 天津网站建设 易尔通宁波网站推广公司报价
  • 重庆江北营销型网站建设价格输入关键词搜索
  • 如何做自己的简历网站网络营销知名企业
  • 做电影资源缓存网站教程做好网络推广
  • 学平面设计的网站郑州网络推广厂家
  • 宁皓网 wordpressseo搜索引擎优化实训
  • IT男为女朋友做的求婚网站ai智能搜索引擎
  • 阿里云网站建设部署与发布视频网络营销的实现方式
  • 做网站开发学什么语言手机系统流畅神器
  • 网站建设优化外包免费拓客软件
  • 网站制作青岛公司网站排名英文
  • 吉林响应式网站建设赣州seo优化
  • 互联网网站建设趋势排名优化培训
  • 上海网站的优化公司百度在线搜索
  • 网站多语切换怎么做seo推广效果怎么样
  • 做相册的网站 网易企业关键词排名优化网址
  • 做网站常用的插件google海外版入口
  • 网站建设制作自媒体培训学校
  • 直接做的黄页视频网站友情链接检测的特点
  • 即墨网站建设招聘google推广教程
  • 做彩票网站需要多少钱南宁关键词优化公司
  • 做涉黄的视频网站用什么服务器招聘seo专员
  • 非自己的网站如何做二次跳转网站优化推广服务
  • 入侵织梦网站后台网址解析ip地址
  • 泉州企业网站制作定制seo排名赚app是真的吗
  • 天津免费做网站新的营销模式有哪些