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){throw g(),console.dir(a),new Error(a)}}))}()}))},close:F});const G=a(null),B=m(),R=a(),$=t("goods-canvas",B);async function q(e={}){e={x:0,y:0,width:0,height:0,src:"",...e};const{path:a}=await T(e.src);$.drawImage(a,e.x,e.y,e.width,e.height)}async function A(){f({title:"保存中"});try{await S(G.value,P.value.storeName),F()}finally{g()}}return(e,a)=>{const t=h,f=k,v=w,p=s(l("u-overlay"),W);return o(),i(p,{onTouchmove:a[1]||(a[1]=e=>{e.preventDefault()}),show:C.value,onClick:F},{default:n((()=>[P.value&&G.value?(o(),i(f,{key:0,class:"poster"},{default:n((()=>[u(f,{class:"poster-image",onClick:a[0]||(a[0]=r((()=>{}),["stop"]))},{default:n((()=>[u(t,{src:G.value},null,8,["src"])])),_:1}),u(f,{class:"button-group"},{default:n((()=>[u(f,{class:"button line-button",onClick:r(F,["stop"])},{default:n((()=>[c(" 取消 ")])),_:1},8,["onClick"]),u(f,{class:"button animation-button",onClick:r(A,["stop"])},{default:n((()=>[c(" 保存 ")])),_:1},8,["onClick"])])),_:1})])),_:1})):d("",!0),u(v,{"canvas-id":"goods-canvas",ref_key:"canvasRef",ref:R,style:{width:"654rpx",height:"1032rpx",margin:"20rpx auto",position:"absolute","z-index":"999",top:"-999px"},id:"goods-canvas"},null,512)])),_:1},8,["show"])}}},[["__scopeId","data-v-44ad3847"]]),K=N({__name:"detail",setup(t){const{getParams:r,push:v}=S(),{scrollTop:p}=A(),m=e(),_=a(),{toast:y}=Q();x((e=>{const a=r(e);a.t&&a.t===z.GROUP_BY?_.value=a.id:_.value=a.teamworkId,N()})),b((()=>{re()}));const w=a(),W=a(0),E=I((()=>{if(w.value)return 0===W.value?`再邀${ce.value}位即可拼团成功`:1===W.value?"拼团成功,请等待商家发货":2===W.value?"拼团失败,可以再次开团啊~":void 0}));async function N(){const e=await U({id:_.value});w.value=e,w.value.teamworkId=_.value,W.value=e.state,await async function(){ee.value=await J({productId:w.value.id,skuId:w.value.skuId}),L.value=!0,me({...w.value,cartInfo:[{productInfo:{image:w.value.image}}]});const{productValue:e}=ee.value;for(const a in e){const t=e[a];if(t.id===w.value.skuId){ae.value=t;break}}if(!ae.value)return y({title:"此规格下架了~看看其他商品吧~"}),void(L.value=!1);if(!ae.value.campaignStock||ae.value<=0)return y({title:"此规格库存不足~看看其他商品吧~"}),void(L.value=!1);L.value=!0}(),e.state>0||function(e){const a=Date.now();if(ue.value=e,0===ue.value||e-a<=0)return;const t=()=>{ne.value=V(ue.value),e-a<=0&&(re(),N())};t(),ie=setInterval((()=>t()),1e3)}(e.closeTime)}const K=a(),L=a(!0),ee=a(),ae=a(),te=a(1);function se(e){const{store:a,num:t}=e;a.id===w.value.skuId?(ae.value=a,te.value=t,le()):y({title:"检测到您选择的规格和好友下单拼团规格不一致~请重新选择",time:3e3})}const le=async(e=2)=>{f({title:"加载中"});let a=await X({orderType:e,cartNum:te.value,productId:ae.value.productId,uniqueId:ae.value.unique,new:1,teamworkId:w.value.teamworkId});g();const t=oe(e,a);v({url:"/pages/submitOrder/submitOrder"},{data:t})},oe=(e,a)=>{let t={cartId:a.cartId,orderType:e};return 2===e&&(t.campaignType=ae.value.campaignType,t.campaignDetailId=ae.value.campaignDetailId,t.teamworkType=2,t.teamworkId=w.value.teamworkId),t};let ie,ne=a({});const ue=a(0);function re(){ie&&clearInterval(ie),ie=void 0,ue.value=0}const ce=I((()=>w.value?w.value.person-w.value.users.length:1)),de=I((()=>!!w.value&&w.value.users.findIndex((e=>e.uid===m.user.id))>-1)),fe=[{index:1,info:"开团或成团享团购价"},{index:2,info:"邀请好友参与优惠多"},{index:3,info:"人满发货不满退款"}];function ve(){if(!L.value)return y({title:"此规格不能下单,可以看看其他上哦~"});K.value.open()}const{shareInfo:pe,groupByInvitationShare:me,shareH5:_e,shareAppMessage:ge,shareTimeline:ye}=M();T(ge),j(ye);const he=a(),ke=a();function we(){2!==W.value&&ke.value.open()}function xe(){v({url:"/pages/goodsDetail/goodsDetail"},{data:{id:w.value.id,skuId:w.value.skuId},type:"redirectTo"})}function be(e){"wechat"===e.value?_e():he.value.open(w.value,pe.value)}return(e,a)=>{const t=k,r=R,f=h,v=s(l("u-icon"),$);return o(),i(t,{class:"group-by-detail"},{default:n((()=>[u(q,{"scroll-top":C(p)},{default:n((()=>[c(" 拼团详情")])),_:1},8,["scroll-top"]),w.value?(o(),i(t,{key:0,class:"main"},{default:n((()=>[u(t,{class:"goods-row row"},{default:n((()=>[u(H,{goods:w.value,ratio:!0,imgWidth:"200rpx",infoPadding:"20rpx 20rpx",row:""},{options:n((({goods:e})=>[P("span",{class:"price"}," ¥"+D(e.price),1)])),_:1},8,["goods"])])),_:1}),u(t,{class:"row group-info"},{default:n((()=>[u(t,{class:"title"},{default:n((()=>[c(D(C(E)),1)])),_:1}),C(ne)&&0===W.value?(o(),i(t,{key:0,class:"time"},{default:n((()=>[c(" 剩余 "),u(t,{class:"time-group"},{default:n((()=>[u(r,{class:"time-item"},{default:n((()=>[c(D(C(ne).hours),1)])),_:1}),u(r,{class:"primary-color"},{default:n((()=>[c(":")])),_:1}),u(r,{class:"time-item"},{default:n((()=>[c(D(C(ne).minutes),1)])),_:1}),u(r,{class:"primary-color"},{default:n((()=>[c(":")])),_:1}),u(r,{class:"time-item"},{default:n((()=>[c(D(C(ne).seconds),1)])),_:1})])),_:1}),c(" 结束 ")])),_:1})):d("",!0),u(t,{class:"users"},{default:n((()=>[(o(!0),F(B,null,G(w.value.users,(e=>(o(),i(t,{key:e.id,class:"user-item"},{default:n((()=>[u(f,{src:e.avatar},null,8,["src"]),"1"===e.isHead?(o(),i(t,{key:0,class:"first-group"},{default:n((()=>[c(" 团长 ")])),_:1})):d("",!0)])),_:2},1024)))),128)),(o(!0),F(B,null,G(C(ce),(e=>(o(),i(t,{class:"user-item plus",key:e,onClick:we},{default:n((()=>[u(v,{name:"plus"})])),_:2},1024)))),128))])),_:1}),C(de)?(o(),F(B,{key:1},[0===W.value?(o(),i(t,{key:0,class:"btn animation-button",onClick:we},{default:n((()=>[c(" 邀请好友拼团 ")])),_:1})):d("",!0),[1,2].includes(W.value)?(o(),i(t,{key:1,class:"btn animation-button",onClick:xe},{default:n((()=>[c(" 再次拼团 ")])),_:1})):d("",!0)],64)):(o(),F(B,{key:2},[[1,2].includes(W.value)?(o(),i(t,{key:0,class:"btn animation-button",onClick:xe},{default:n((()=>[c(" 再次拼团 ")])),_:1})):(o(),i(t,{key:1,class:"btn animation-button",onClick:ve},{default:n((()=>[c(" 立即参团 ")])),_:1}))],64))])),_:1}),u(t,{class:"group-rule group-info row"},{default:n((()=>[u(t,{class:"title"},{default:n((()=>[c(" 拼团玩法 ")])),_:1}),u(t,{class:"rule-box"},{default:n((()=>[(o(),F(B,null,G(fe,(e=>u(t,{key:e.index,class:"rule-item"},{default:n((()=>[u(t,{class:"circle-number"},{default:n((()=>[c(D(e.index),1)])),_:2},1024),u(t,{class:"info"},{default:n((()=>[c(D(e.info),1)])),_:2},1024),u(t,{class:"line"})])),_:2},1024))),64))])),_:1})])),_:1})])),_:1})):d("",!0),ee.value&&ae.value?(o(),i(Y,{key:1,ref_key:"selectAttrPanel",ref:K,"goods-detail":ee.value,"sku-id":ae.value.id,onSelect:se},null,8,["goods-detail","sku-id"])):d("",!0),u(O,{ref_key:"inviteFriendShareRef",ref:ke,onShare:be},null,512),u(Z,{ref_key:"groupByPosterRef",ref:he},null,512)])),_:1})}}},[["__scopeId","data-v-47c66290"]]);export{K as default};
|