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

比较好的网站开发福建省建设厅网站官网

比较好的网站开发,福建省建设厅网站官网,wordpress用户端,搜索别人的网站是带logo的请问怎么做的最近在看前同事发我的vue3框架时,发现他们有个功能是要实现页面截图功能。 vue3插件——vue-web-screen-shot——实现页面截图功能 效果图如下:1.操作步骤1.1在项目中添加vvue-web-screen-shot组件1.2在项目入口文件导入组件——main.ts1.3在需要使用的页…

最近在看前同事发我的vue3框架时,发现他们有个功能是要实现页面截图功能。

vue3插件——vue-web-screen-shot——实现页面截图功能

  • 效果图如下:
  • 1.操作步骤
    • 1.1在项目中添加`vvue-web-screen-shot`组件
    • 1.2在项目入口文件导入组件——`main.ts`
    • 1.3在需要使用的页面使用组件
    • 1.4在页面截图后使用获得的64位编码转为图片文件形式进行上传
  • 2.参考链接:

效果图如下:

在这里插入图片描述
在这里插入图片描述

最近项目遇到的要求是弹出框上传文件,需要用到页面截图,由于使用的是Vue3的框架于是选择用vue-web-screen-shot组件进行操作。(由于插件是Vue3编写的,所以只适用于Vue3的项目,如果是Vue2的项目,截图组件可以使用js-web-screen-shot)

下面介绍实现步骤:

1.操作步骤

1.1在项目中添加vvue-web-screen-shot组件

在这里插入图片描述
我这边安装的版本是1.5.2,安装代码指令如下:

yarn add vue-web-screen-shot

或者

npm install vue-web-screen-shot --save

1.2在项目入口文件导入组件——main.ts

在这里插入图片描述
main.ts文件中导入组件

import screenShort from 'vue-web-screen-shot';
const createClient = async():Promise<void>=>{const app = createApp(App);app.use(screenShort,{enableWebRtc:false});app.mount('#app');
}

1.3在需要使用的页面使用组件

在这里插入图片描述

<a-upload ref="uploadRef" v-model:file-list="issueForm.fileList" action="/api/sys-storage/image/upload" 
:headers="{'Fusion-Auth':getToken()||'',//此处放头部信息
}"
:limit="1"
accept="image/png,image/jpeg,image/jpg"
image-preview
list-type="picture-card"
:show-link="true"
:on-button-click="handleButtonClick"
/>

在这里插入图片描述

<screen-short v-if="screenshotStatus" @destroy-component="destroyComponent" @get-image-data="completeCallback"></screen-short>

如果将screen-short组件放在弹出窗内部,则隐藏弹出窗时会连同截屏组件一起隐藏,所以建议放在外部,并给弹出窗单独加一个div,用showScreenShort控制弹出窗显示和隐藏。

参数说明:
如示例代码所示,在template中直接使用screen-short插件,绑定组件需要的事件处理函数即可。
接下来就跟大家讲下组件中每个属性的意义:

screenshotStatus:用于控制组件是否出现在dom中
@destroy-component:用于接收截图组件传递的销毁消息,我们需要在对应的函数中销毁截图组件
@get-image-data:用于接收截图组件传递的框选区的base64图片信息,我们需要为他提供一个函数来接收截图组件传递的消息

可选参数
截图插件有一个可选参数,它接收一个对象,对象每个key的作用如下:

enableWebRtc:是否启用webrtc,值为boolean类型,值为false则使用html2canvas来截图
level:截图容器层级,值为number类型
clickCutFullScreen:单击截全屏启用状态,值为boolean类型,默认为false
hiddenToolIco:需要隐藏的截图工具栏图标,值为{save?:boolean;undo?:boolean;confirm?:boolean}类型,默认为{}。传你需要隐藏的图标名称,将值设为true即可。
enableCORS:html2canvas截图模式下跨域的启用状态,值为boolean类型,默认为false
proxyAddress:html2canvas截图模式下的图片服务器代理地址,值为string类型,默认为undefined

1.4在页面截图后使用获得的64位编码转为图片文件形式进行上传

<script setup lang="ts">
const screenshotStatus = ref<boolean>(false);
const destroyComponent = (status:boolean)=>{screenshotStatus.value = status;
}
const completeCallback = async (base64data:any)=>{const bytes = window.atob(base64data.split(',')[1]);const buffer = new ArrayBuffer(bytes.length);const uint = ew Uint8Array(buffer);for(let j = 0;j<bytes.length:j++){uint[j] = bytes.charCodeAt(j);}const imageFile = new Blob([buffer],{type:'image/jpeg'});const formData = new FormData();formData.append('file',imageFile,`${Data.now()}.jpeg`);const res = await fileUpload(formData);if(res.status){curPicToken.value = res.data.fileToken;issueForm.fileList = [];issueForm.fileList.push({url:`/api/sys-storage/download_image?f8s=${res.data.fileToken]`,})}
}
const handleButtonClick = (event:Event):Promise<FileList>|void=>{event.preventDefault();screenshotStatus.value = true;
}
</script>

2.参考链接:

vue-web-screen-shot 前端实现页面截图:https://blog.csdn.net/w1060436872/article/details/129065847

arco.design—上传 Upload:https://arco.design/vue/component/upload

http://www.yayakq.cn/news/628956/

相关文章:

  • 网站建设需要注意的问题做网站后台要学
  • 创意网站建设公司wordpress模板替换
  • 自己做的网站容易被黑吗网站开发的相关岗位
  • 溧阳市建设局网站6网站建设需要什么材料
  • 特级a做爰网站剪辑素材网站
  • 重庆做网站开发的公司有哪些南宁房地产最新消息
  • 友情链接的网站在汕头的网络公司有哪些
  • ui设计师怎么做简历网站南阳做网站收费
  • 百度联盟网站备案信息普升高端品牌网站建设
  • 酒类网站建设策划书网站设计与程序方向
  • 牡丹江建设厅网站关于建设教体局网站的申请
  • 网站建设公司资料大全肇庆百度快速排名
  • 网站兼容视图成都房地产公司排名
  • 常宁网站建设渝北网站制作
  • 三鼎网络网站建设排版设计英文
  • 实验室网站建设重要性网站建设 主要学是么
  • 企业网站排名怎么做网站网页设计引言
  • 公司网站官网佣金高的试玩app平台
  • 做头像网站番禺网站(建设信科网络)
  • 企业搭建自己的网站工作流程管理系统说明书
  • 企业备案网站可以做论坛吗郴州网站建设哪家公司好
  • 兴仁县城乡建设局网站国内 上市网站建设公司排名
  • 四川做文学有关的网站wordpress内容折叠
  • 网站开发和网络安全网站 项目 需求
  • 企业集团网站建设方案论文揭阳企业网站建设开发
  • 网站建设开发设计公司南京医院网站建设方案
  • win2003网站建设北京网站建设咸宁
  • 黑龙江生产建设兵团知青网站宝安网站(建设深圳信科)
  • 佛山深圳建网站海外营销策略
  • 品牌网站织梦模板下载网站如何做伪静态