Files
yshop-pro-uniapp/unpackage/dist/build/h5/assets/views-distribution-goods-index.54e17f67.js

2 lines
7.7 KiB
JavaScript
Raw Normal View History

import{a as e,o as a,j as s,w as t,f as o,h as l,e as n,F as i,k as r,I as c,l as u,p as f,A as d,N as p,B as m,T as h,bu as v,G as _,H as x,Q as y,z as g,ab as w,bv as b,a2 as k,aZ as j,aV as T,ad as S,bw as C,bx as I,a7 as P,W as D,X as G,O as F,v as $,u as E,i as H}from"./index-90c12cc1.js";import{H as R}from"./index.0e2fd26a.js";import{u as A}from"./useScroll.50272fa4.js";import{G as N}from"./Goods.94b8dae8.js";import{u as W}from"./usePage.8865205f.js";import{d as z}from"./product.4783a646.js";import{u as O}from"./useShare.9ac42bc5.js";import{P as Q}from"./Popup.4e72ea57.js";import{a9 as q,aa as B}from"./images.cf3befb9.js";import{l as J}from"./lodash.b1309c50.js";import{_ as L}from"./_plugin-vue_export-helper.1b428a4d.js";import{_ as M}from"./u-overlay.1411b0ae.js";import{u as U}from"./useImage.fddbd11e.js";import"./uv-icon.c815b875.js";import"./uv-icon.vue_vue_type_style_index_0_scoped_23936b10_lang.7145f5b2.js";import"./utils.80a0ac72.js";import"./index.d156dd8a.js";import"./useShearPlate.4a901d40.js";import"./useInterface.bd4f041a.js";import"./u-icon.ec8b667f.js";import"./_commonjsHelpers.02d3be64.js";const V=L({__name:"Goods",emits:["share"],setup(h,{expose:v,emit:_}){const x=e(null),y=e("分享"),g=e(void 0);function w(){g.value=void 0,x.value.close()}function b(e){_("share",e,J.cloneDeep(g.value)),w()}v({open:function(e,a){a&&(e&&(y.value=e),g.value=a,x.value.show())}});const k=[{label:"微信好友",value:"wechat",icon:q},{label:"生成海报",value:"photo",icon:B}];return(e,h)=>{const v=f,_=d,g=p,j=m;return a(),s(Q,{ref_key:"popupRef",ref:x,title:y.value},{rightOption:t((()=>[o("span")])),default:t((()=>[l(j,{class:"share-box flex flex-ai__center flex-jc__sa"},{default:t((()=>[(a(),n(i,null,r(k,(e=>(a(),n(i,{key:e.value},["wechat"===e.value?(a(),s(g,{key:0,"open-type":"share",onClick:a=>b(e),class:"item flex flex-column flex-jc__center flex-ai__center"},{default:t((()=>[l(v,{src:e.icon},null,8,["src"]),l(_,null,{default:t((()=>[c(u(e.label),1)])),_:2},1024)])),_:2},1032,["onClick"])):(a(),s(j,{key:1,onClick:a=>b(e),class:"item flex flex-column flex-jc__center flex-ai__center"},{default:t((()=>[l(v,{src:e.icon},null,8,["src"]),l(_,null,{default:t((()=>[c(u(e.label),1)])),_:2},1024)])),_:2},1032,["onClick"]))],64)))),64))])),_:1}),l(j,{class:"cancel",onClick:w},{default:t((()=>[c(" 取消 ")])),_:1})])),_:1},8,["title"])}}},[["__scopeId","data-v-7f00a598"]]),X=L({__name:"Goods",setup(o,{expose:n}){const i=h(),{getImageInfo:r,base64ToUrl:u,saveImageToPhotosAlbum:d}=U(),{shareInfo:p,goodsDetailShare:P}=O(),D=e(!1),G=e(void 0),F=e("");function $(){G.value=E.value=void 0,D.value=!1}n({open:async function(e){G.value=e,D.value=!0,w({title:"获取数据中..."}),P(e),F.value=await b({path:"pages/share/index",name:p.value.query}),await k((()=>{!function(){w({title:"海报生成中"});T().in(H).select("#goods-canvas").boundingClientRect().exec((async e=>{try{const{width:a,height:s}=e[0];!function(e={}){A.save();e={x:0,y:0,width:0,height:0,round:0,stroke:!1,strokeStyle:"#ffffff",fillStyle:"#ffffff",...e};const{x:a,y:s,width:t,height:o,round:l,stroke:n,strokeStyle:i,fillStyle:r}=e;A.beginPath(),A.moveTo(a+l,s),A.arcTo(a+t,s,a+t,s+l,l),A.lineTo(a+t,s+o-l),A.arcTo(a+t,s+o,a+t-l,s+o,l),A.lineTo(a+l,s+o),A.arcTo(a,s+o,a,s+o-l,l),A.lineTo(a,s+l),A.arcTo(a,s,a+l,s,l),A.closePath(),A.fillStyle=r,A.strokeStyle=i,A.fill(),n&&A.stroke(),A.restore()}({width:a,height:s,round:10}),await async function(){await N({x:15,y:15,width:32,height:32,src:i.user.avatar}),A.save(),A.font="normal 16px sans-serif",A.fillStyle="#000000",A.translate(68,32),A.fillText(i.user.nickname,0,8),A.restore()}(),await async function(e){const a=e-48,s=G.value.image;await N({x:24,y:72,width:a,height:a,src:s});const t=G.value.storeName,o=G.value.price,l=G.value.otPrice,n=A.measureText(t)>=e/1.5?t:t.slice(0,17)+"...";A.save(),A.translate(24,e+58),A.font="normal bold 16px sans-serif",A.fillStyle="#000000",A.fillText(n,0,0),A.restore(),A.save(),A.translate(24,e+58+36),A.font="normal bold 24px sans-serif",A.fillStyle="#EE6D46",A.fillText(`${o}`,0,0);const i=A.me