2 lines
11 KiB
JavaScript
2 lines
11 KiB
JavaScript
![]() |
import{T as e,a,bu as t,G as s,H as l,o,j as i,w as n,h as u,Q as r,I as c,z as d,ab as f,bv as v,a2 as p,aZ as m,aV as _,ad as g,bw as y,p as h,B as k,bx as w,O as x,M as b,x as I,W as T,X as j,u as S,i as C,f as P,l as D,e as F,k as G,F as B,A as R}from"./index-90c12cc1.js";import{_ as $}from"./u-icon.ec8b667f.js";import{H as q}from"./index.0e2fd26a.js";import{u as A}from"./useScroll.50272fa4.js";import{G as H}from"./Goods.94b8dae8.js";import{I as O}from"./InviteFriends.20bdd103.js";import{_ as W}from"./u-overlay.1411b0ae.js";import{u as E}from"./useImage.fddbd11e.js";import{_ as N}from"./_plugin-vue_export-helper.1b428a4d.js";import{S as z,u as M}from"./useShare.9ac42bc5.js";import{a as U}from"./goods.0c66f5d1.js";import{g as V}from"./utils.80a0ac72.js";import{G as Y}from"./good-attr-select.3f64fa6c.js";import{a as J}from"./product.4783a646.js";import{u as Q}from"./useInterface.bd4f041a.js";import{e as X}from"./cart.031a8a42.js";import"./uv-icon.c815b875.js";import"./uv-icon.vue_vue_type_style_index_0_scoped_23936b10_lang.7145f5b2.js";import"./index.d156dd8a.js";import"./images.cf3befb9.js";import"./Popup.4e72ea57.js";import"./useShearPlate.4a901d40.js";import"./uv-image.b3f882de.js";import"./uv-loading-icon.ad70964c.js";import"./uv-loading-icon.vue_vue_type_style_index_0_scoped_bad0efbf_lang.de7e0d02.js";import"./space.af0e7a6e.js";import"./uv-button.8e862d87.js";import"./uv-button.vue_vue_type_style_index_0_scoped_bc0e850d_lang.79bfdc50.js";import"./index.188c29d6.js";const Z=N({__name:"GroupBy",setup(x,{expose:b}){const I=e(),{getImageInfo:T,base64ToUrl:j,saveImageToPhotosAlbum:S}=E(),C=a(!1),P=a(void 0),D=a("");function F(){P.value=G.value=void 0,C.value=!1}b({open:async function(e,a){P.value=e,C.value=!0,f({title:"获取数据中..."}),D.value=await v({path:"pages/share/index",name:a.query}),await p((()=>{!function(){f({title:"海报生成中"});_().in(B).select("#goods-canvas").boundingClientRect().exec((async e=>{try{const{width:a,height:t}=e[0];!function(e={}){$.save();e={x:0,y:0,width:0,height:0,round:0,stroke:!1,strokeStyle:"rgb(255,255,255)",fillStyle:"rgb(255,255,255)",...e};const{x:a,y:t,width:s,height:l,round:o,stroke:i,strokeStyle:n,fillStyle:u}=e;$.beginPath(),$.moveTo(a+o,t),$.arcTo(a+s,t,a+s,t+o,o),$.lineTo(a+s,t+l-o),$.arcTo(a+s,t+l,a+s-o,t+l,o),$.lineTo(a+o,t+l),$.arcTo(a,t+l,a,t+l-o,o),$.lineTo(a,t+o),$.arcTo(a,t,a+o,t,o),$.closePath(),$.fillStyle=u,$.strokeStyle=n,$.fill(),i&&$.stroke(),$.restore()}({width:a,height:t,round:10}),await async function(){await q({x:15,y:15,width:32,height:32,src:I.user.avatar}),$.save(),$.font="normal 16px sans-serif",$.fillStyle="#000000",$.translate(68,32),$.fillText(I.user.nickname+"邀请您来拼团啦~",0,8),$.restore()}(),await async function(e){const a=e-48,t=P.value.image;await q({x:24,y:72,width:a,height:a,src:t});const s=P.value.storeName,l=P.value.price,o="快来和我拼团",i=$.measureText(s)>=e/1.5?s:s.slice(0,17)+"...";$.save(),$.translate(24,e+58),$.font="normal bold 16px sans-serif",$.fillStyle="#000000",$.fillText(i,0,0),$.restore(),$.save(),$.translate(24,e+58+36),$.font="normal bold 24px sans-serif",$.fillStyle="#EE6D46",$.fillText(`¥${l}`,0,0);const n=$.measureText(`¥${l}`);$.font="normal normal 16px sans-serif",$.fillStyle="#999999",$.fillText(`${o}`,n.width+10,0),$.restore(),$.save(),$.beginPath(),$.strokeStyle="#F0F0F0",$.translate(24,e+58+36+15),$.moveTo(0,0),$.lineWidth=1,$.lineTo(a,0),$.stroke(),$.closePath(),$.restore()}(a),await async function(e){$.save(),$.translate(24,e+58+36+15+25);const a="长按识别图中二维码",t="来自「Yshop商城」小程序";$.font="normal bold 16px sans-serif",$.fillStyle="#000000",$.fillText(a,0,0),$.font="normal normal 14px sans-serif",$.fillStyle="#8C8C8C",$.fillText(t,0,25);const s=await j(D.value);await q({x:e-48-50,y:-18,width:50,height:50,src:s}),$.restore()}(a),console.log("画布绘画完毕"),$.draw(!1,(()=>{!async function(){console.log("开始生成画布"),y({canvasId:"goods-canvas",success:async e=>{G.value=await j(e.tempFilePath),g()},fail:e=>{console.log(e),g()}})}()}))}catch(a){thr
|