layui 复制图片和文字到内存,以转发到微信,qq,钉钉

浪淘沙10个月前前端205
   , { field: 'id', title: '活动二维码', width: 140,align:'center',templet: function (d) { return '<a href="#" lay-event="copy"><img src="'+d.qcode+'" height="100" width="100"><br>点击复制转发</a>'; } }
 case 'copy':                     
       const text = '📢 活动报名:\n名称:'+data.title+'\n网址:'+data.qcodeurl+'\n说明:请复制网址到浏览器中,或扫码报名';
       copyTextAndImage(text, data.qcode);

break;
  function copyTextAndImage(text, base64Img) {

      const html = `<div>${text.replace(/\n/g,'<br>')}<br><img src="${base64Img}" width="150" height="150" /></div>`;
      const blob = new Blob([html], { type: 'text/html' });
      const item = new ClipboardItem({ 'text/html': blob });

      navigator.clipboard.write([item]).then(() => {
           layer.msg('复制成功,请转发');
       }).catch(err => {
           layer.msg('复制失败:' + err);
       });
   }

   function base64ToBlob(base64) {
       const arr = base64.split(',');
       const mime = arr[0].match(/:(.*?);/)[1];
       const bstr = atob(arr[1]);
       let n = bstr.length;
       const u8arr = new Uint8Array(n);
       while (n--) {
           u8arr[n] = bstr.charCodeAt(n);
       }
       return new Blob([u8arr], { type: mime });
   }


相关文章

echarts 柱状图成交金额数字格式化

<div id="main"></div>     <script type="...

asp.net core razor layui 分页和url参数绑定一起

@page @model xxtsoft.Web.Entry.Pages.sysadmins.rw.rw_listModel @{     La...

el-switch选中状态

 <el-switch v-model="form.flg"        &nb...

layui多级表头,行高,序号,fixed固定对不齐问题

layui多级表头,行高,序号,fixed固定对不齐问题

<style>             /* 表头文字垂...

INTEGER 类型时,下拉编辑绑定Number

 <el-select v-model="form.zj_link_class_id"      &n...

layui table中单元格的行高处理

   , lineStyle: 'height: 55px;' <style>  &nbs...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。