UNPKG

@nutui/nutui-bingo

Version:

nutui生态之一抽奖组件库

6 lines (5 loc) 35.1 kB
var Gt=Object.defineProperty,Ot=Object.defineProperties;var jt=Object.getOwnPropertyDescriptors;var ne=Object.getOwnPropertySymbols;var Yt=Object.prototype.hasOwnProperty,Xt=Object.prototype.propertyIsEnumerable;var ae=(g,e,C)=>e in g?Gt(g,e,{enumerable:!0,configurable:!0,writable:!0,value:C}):g[e]=C,F=(g,e)=>{for(var C in e||(e={}))Yt.call(e,C)&&ae(g,C,e[C]);if(ne)for(var C of ne(e))Xt.call(e,C)&&ae(g,C,e[C]);return g},R=(g,e)=>Ot(g,jt(e));/*! * @nutui/nutui-bingo v1.0.7 Wed Nov 09 2022 15:47:10 GMT+0800 (中国标准时间) * (c) 2022 @jdf2e. * Released under the MIT License. */(function(g,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(g=typeof globalThis!="undefined"?globalThis:g||self,e(g.nutbig={},g.Vue))})(this,function(g,e){"use strict";function C(t){const a="nutbig-"+t;return{componentName:a,create:function(r){return r.baseName=t,r.name=a,r.install=n=>{n.component(r.name,r)},e.defineComponent(r)},createDemo:function(r){return r.baseName=t,r.name="demo-"+t,e.defineComponent(r)}}}var Jt="",L=(t,a)=>{const r=t.__vccOpts||t;for(const[n,o]of a)r[n]=o;return r};const{componentName:re,create:le}=C("turntable"),se=le({props:{width:{required:!0,default:"300px"},height:{required:!0,default:"300px"},prizeList:{type:Array,required:!0,default:()=>[]},prizeIndex:{type:Number,default:-1},turnsNumber:{type:Number,default:5},styleOpt:{default:()=>({prizeBgColors:["rgb(255, 231, 149)","rgb(255, 247, 223)","rgb(255, 231, 149)","rgb(255, 247, 223)","rgb(255, 231, 149)","rgb(255, 247, 223)"],borderColor:"#ff9800"})},turnsTime:{default:5},lockTime:{default:0},pointerStyle:{default:()=>({width:"80px",height:"80px",backgroundImage:'url("https://img11.360buyimg.com/imagetools/jfs/t1/89512/11/15244/137408/5e6f15edEf57fa3ff/cb57747119b3bf89.png")',backgroundSize:"contain",backgroundRepeat:"no-repeat"})}},emits:["click","start-turns","end-turns","lock-turns"],setup(t,{emit:a}){let{prizeList:r}=e.reactive(t);const{styleOpt:n,turnsTime:o,pointerStyle:m,turnsNumber:l,lockTime:s}=e.reactive(t),i=e.computed(()=>({[re]:!0})),d=e.ref(!1),E=e.ref(!1),_=e.ref(0),y=e.ref("0"),w=e.ref(""),f=e.ref(null),B=e.ref(null),u=c=>({transform:`rotate(${360/r.length*c+180/r.length}deg)`}),p=()=>{const c=n,v=r.length,{prizeBgColors:$,borderColor:z}=c,D=B.value,V=f.value,N=D.getContext("2d"),H=D.width=V.clientWidth,M=D.height=V.clientHeight;N.translate(0,M),N.rotate(-90*Math.PI/180);const Wt=H/2-1,qt=0,A=Math.PI*2/v;N.clearRect(0,0,H,M),N.strokeStyle=z;for(let x=0;x<v;x++){const P=x*A;r[x].prizeColor?N.fillStyle=r[x].prizeColor:N.fillStyle=$[x],N.beginPath(),N.arc(H*.5,M*.5,Wt,P,P+A,!1),N.arc(H*.5,M*.5,qt,P+A,P,!0),N.stroke(),N.fill(),N.save()}},h=()=>d.value?(E.value||a("lock-turns"),!1):!0,S=()=>{setTimeout(()=>{d.value=!1},s*1e3)},T=c=>{const v=o,$=_.value+l*360+360-(180/r.length+360/r.length*c)-_.value%360;_.value=$,y.value=`rotate(${$}deg)`,w.value=`transform ${v}s cubic-bezier(0.250, 0.460, 0.455, 0.995)`,setTimeout(()=>{a("end-turns"),E.value=!1,S()},v*1e3+500)},k=()=>{if(!h())return!1;a("start-turns")},b=()=>{d.value=!0,E.value=!0,setTimeout(()=>{T(t.prizeIndex)},300)};return e.onMounted(()=>{p()}),e.watch(()=>t.prizeList,c=>{r=c,p()}),{classes:i,turntableDom:f,canvasDom:B,getRotateAngle:u,rotateAngle:y,rotateTransition:w,pointerStyle:m,startTurns:k,rotateTurn:b}}}),oe={id:"canvas",ref:"canvasDom"},ie={class:"prize"},ce={class:"drawTable-name"},de={class:"drawTable-img"},me=["src"];function ue(t,a,r,n,o,m){return e.openBlock(),e.createElementBlock("view",{class:e.normalizeClass(t.classes),ref:"turntableDom",style:e.normalizeStyle({width:t.width,height:t.height})},[e.createElementVNode("view",{class:"turntable",style:e.normalizeStyle({transform:t.rotateAngle,transition:t.rotateTransition})},[e.createElementVNode("canvas",oe," \u6D4F\u89C8\u5668\u7248\u672C\u8FC7\u4F4E ",512),e.createElementVNode("view",ie,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.prizeList,(l,s)=>(e.openBlock(),e.createElementBlock("view",{class:"item",style:e.normalizeStyle(t.getRotateAngle(s)),key:l.id},[e.createElementVNode("view",ce,e.toDisplayString(l.prizeName),1),e.createElementVNode("view",de,[e.createElementVNode("img",{src:l.prizeImg},null,8,me)])],4))),128))])],4),e.createElementVNode("view",{class:"pointer",style:e.normalizeStyle(t.pointerStyle),onClick:a[0]||(a[0]=(...l)=>t.startTurns&&t.startTurns(...l))},null,4)],6)}var W=L(se,[["render",ue]]),Ut="";const{componentName:fe,create:he}=C("marquee"),pe=he({props:{styleOpt:{default:()=>({itemStyle:{},startStyle:{},bgStyle:{background:"rgb(255, 231, 149)"}})},prizeList:{type:Array,required:!0},prizeIndex:{type:Number||String,default:-1},speed:{type:Number||String,default:150},circle:{type:Number||String,default:30}},emits:["click","start-turns","end-turns"],setup(t,{emit:a}){let{prizeList:r,styleOpt:n}=e.reactive(t);const o=e.computed(()=>({[fe]:!0}));e.onMounted(()=>{}),e.watch(()=>t.prizeList,(h,S)=>{r=h});const m=e.ref(null),l=e.ref(!1),s=e.ref(0),i=e.ref(0),d=e.ref(t.speed),E=e.ref(t.circle),_=e.ref(null),y=n.bgStyle,w=n.itemStyle,f=n.startStyle,B=()=>{i.value+=1;let h=s.value;const S=8;h+=1,h>S-1&&(h=0),s.value=h,u()},u=()=>{i.value>E.value&&t.prizeIndex===s.value?(clearTimeout(_.value),_.value=0,i.value=0,d.value=t.speed,E.value=t.circle,setTimeout(()=>{s.value=t.prizeIndex,a("end-turns"),l.value=!1},500)):(i.value<E.value?d.value-=4:d.value+=20,_.value=setTimeout(B,d.value))};return{classes:o,marqueeDom:m,prizeList:r,index:s,lock:l,startDraw:()=>{l.value||(l.value=!0,a("start-turns"),B())},bgContentStyle:y,bgItemStyle:w,cursorStyle:f}}}),ge=e.createElementVNode("view",{class:"bgContent"},null,-1),ye={class:"gift-img"},ke=["src"],be=["innerHTML"];function ve(t,a,r,n,o,m){return e.openBlock(),e.createElementBlock("view",{class:e.normalizeClass(t.classes),ref:"marqueeDom"},[ge,e.createElementVNode("view",{class:"marqueeBg",style:e.normalizeStyle(t.bgContentStyle)},null,4),e.createElementVNode("view",{class:e.normalizeClass(["start",{disabledDraw:t.lock}]),onClick:a[0]||(a[0]=(...l)=>t.startDraw&&t.startDraw(...l)),style:e.normalizeStyle(t.cursorStyle)},null,6),e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.prizeList,(l,s)=>(e.openBlock(),e.createElementBlock("li",{key:"luckmarquee"+s,class:e.normalizeClass(["gift-"+(s+1),{active:t.index==s}]),style:e.normalizeStyle(t.bgItemStyle)},[e.createElementVNode("div",ye,[e.createElementVNode("img",{src:l.prizeImg},null,8,ke)]),e.createElementVNode("span",{class:"desc",innerHTML:l.prizeName},null,8,be)],6))),128))])],2)}var q=L(pe,[["render",ve]]),Zt="";const{componentName:Ee,create:we}=C("squarenine"),$e=we({props:{prizeList:{type:[Object,Array],default:()=>[]},prizeId:{type:Number,default:5},cardImg:{type:String,default:""}},emits:["click","start","return"],setup(t,{emit:a,slots:r}){const n=e.reactive({gridList:[],oldGridList:[],activeState:!0,currIndex:10,drawTitle:"\u5F00\u59CB\u62BD\u5956",drawDesc:"\u8BF7\u7FFB\u724C",isBeginClick:!1,arrPos:[],isDraw:!0,isStartDraw:!1}),o=e.computed(()=>({[Ee]:!0})),m=e.ref(t.prizeId);e.watch(()=>t.prizeList,u=>{s(u)}),e.watch(()=>t.prizeId,u=>{m.value=u});const l=u=>r[u],s=u=>{JSON.stringify(u[4])!="{}"&&u.splice(4,0,{}),n.gridList=u},i=()=>{setTimeout(()=>{[...n.oldGridList]=n.gridList;let u=n.gridList.find(p=>p.id==m.value);for(let p=0;p<n.gridList.length;p++)p==4?n.gridList[p]={}:n.gridList[p]=u})},d=u=>{var p=null;for(var h in n.oldGridList)n.oldGridList[h].id==n.gridList[u].id&&(p=h);n.oldGridList[u]=n.oldGridList.splice(p,1,n.oldGridList[u])[0],[...n.gridList]=n.oldGridList},E=u=>{n.currIndex=u,a("click"),i(),setTimeout(()=>{d(u),n.activeState=!0,n.isDraw=!0,n.drawTitle="\u5F00\u59CB\u62BD\u5956",n.drawDesc="\u8BF7\u7FFB\u724C"},1500)},_=()=>{if(n.isBeginClick)return;a("start"),n.oldGridList.length>0&&([...n.gridList]=n.oldGridList),n.isBeginClick=!0,n.isStartDraw=!1,n.currIndex=10,n.drawTitle="\u8FD4\u56DE",n.drawDesc="",n.activeState=!n.activeState;let u=setTimeout(()=>{clearTimeout(u),w(110),u=setTimeout(()=>{clearTimeout(u),w(0)},1500)},1e3);setTimeout(()=>{n.isStartDraw=!0,n.isDraw=!1,n.isBeginClick=!1},3900)},y=()=>{var u=function(){return Math.random()>.5?-1:1};n.gridList.splice(4,1),n.gridList.sort(u),n.gridList.splice(4,0,{}),B()},w=u=>{n.arrPos=[],y(),n.gridList.map((h,S)=>{const T=u*(1-h.twoArry.x),k=u*(1-h.twoArry.y);n.arrPos.push({x:T,y:k})}),document.querySelectorAll(".nine-ninegrid__item").forEach((h,S)=>{setTimeout(()=>{h.style.transform="translate("+n.arrPos[S].x+"px,"+n.arrPos[S].y+"px)"},150*S)})},f=()=>{a("return"),n.drawTitle="\u5F00\u59CB\u62BD\u5956",n.drawDesc="\u8BF7\u7FFB\u724C",n.activeState=!0,n.isDraw=!0},B=()=>{n.gridList.map((p,h)=>{let S=h%3,T=parseInt(h/3);p.twoArry={x:S,y:T}})};return e.onMounted(()=>{s(t.prizeList)}),R(F({},e.toRefs(n)),{classes:o,resResponse:s,isHaveSlots:l,resetData:B,prizeId:m,startFlop:E,startDraw:_,returnDraw:f})}}),Ce=["onClick"],_e=["src"],Be={class:"back"},Se=["src"];function Ne(t,a,r,n,o,m){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.classes)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.gridList,(l,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["nine-ninegrid__item",[{active:t.activeState||s!=4&&s==t.currIndex}]]),key:s},[s==4&&t.isHaveSlots("startBtn")?e.renderSlot(t.$slots,"startBtn",{key:0}):e.createCommentVNode("",!0),s==4&&!t.isHaveSlots("startBtn")?(e.openBlock(),e.createElementBlock("div",{key:1,class:"nine-ninegrid__item__center",onClick:a[0]||(a[0]=i=>t.isDraw?t.startDraw():t.returnDraw())},[e.createElementVNode("span",null,e.toDisplayString(t.drawTitle),1),e.createElementVNode("p",null,e.toDisplayString(t.drawDesc),1)])):e.createCommentVNode("",!0),s!=4?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createElementVNode("div",{class:"front",onClick:i=>t.isStartDraw?t.startFlop(s):""},[e.createElementVNode("img",{src:t.cardImg},null,8,_e)],8,Ce),e.createElementVNode("div",Be,[e.createElementVNode("p",null,e.toDisplayString(l.name||""),1),l.pictureUrl?(e.openBlock(),e.createElementBlock("img",{key:0,src:l.pictureUrl},null,8,Se)):e.createCommentVNode("",!0)])],64)):e.createCommentVNode("",!0)],2))),128))],2)}var G=L($e,[["render",Ne]]);function I(t,a){this.cover=null,this.ctx=null,this.scratchDiv=t.scratchDiv,this.cardDiv=null,this.cHeight=0,this.cWidth=0,this.supportTouch=!1,this.events=[],this.startEventHandler=null,this.moveEventHandler=null,this.endEventHandler=null,this.opt={coverColor:"#C5C5C5",coverImg:"",ratio:.8,callback:null},this.init(t,a)}function Te(t,a,r){var n=t.getImageData(0,0,this.cWidth,this.cHeight),o=[];O(n.data,function(m,l){var s=n.data[l+3];s===0&&o.push(s)}),o.length/n.data.length>r&&a&&typeof a=="function"&&a()}function O(t,a){return Array.prototype.forEach.call(t,function(r,n){a(r,n)})}function ze(){var t=document.createElement("canvas");return!!(t.getContext&&t.getContext("2d"))}function Le(t){t.preventDefault(),this.moveEventHandler=De.bind(this),this.cover.addEventListener(this.events[1],this.moveEventHandler,!1),this.endEventHandler=Ie.bind(this),document.addEventListener(this.events[2],this.endEventHandler,!1)}function De(t){t.preventDefault();var a=this.supportTouch?t.touches[0]:t,r=this.cover.getBoundingClientRect(),n=document.documentElement.scrollTop||document.body.scrollTop,o=document.documentElement.scrollLeft||document.body.scrollLeft,m=a.pageX-r.left-o,l=a.pageY-r.top-n;this.ctx.beginPath(),this.ctx.fillStyle="#FFFFFF",this.ctx.globalCompositeOperation="destination-out",this.ctx.arc(m,l,10,0,2*Math.PI),this.ctx.fill()}function Ie(t){t.preventDefault(),this.opt.callback&&typeof this.opt.callback=="function"&&Te.call(this,this.ctx,this.opt.callback,this.opt.ratio),this.cover.removeEventListener(this.events[1],this.moveEventHandler,!1),document.removeEventListener(this.events[2],this.endEventHandler,!1)}I.prototype.createCanvas=function(){if(this.cover=document.createElement("canvas"),this.cover.className="nut-cover",this.cover.height=this.cHeight,this.cover.width=this.cWidth,this.ctx=this.cover.getContext("2d"),this.opt.coverImg){var t=this,a=new Image;a.src=this.opt.coverImg,a.onload=function(){t.ctx.drawImage(a,0,0,t.cover.width,t.cover.height)}}else this.ctx.fillStyle=this.opt.coverColor,this.ctx.fillRect(0,0,this.cover.width,this.cover.height);this.scratchDiv.appendChild(this.cover),this.cardDiv.style.opacity=1},I.prototype.eventDetect=function(){"ontouchstart"in window&&(this.supportTouch=!0),this.events=this.supportTouch?["touchstart","touchmove","touchend"]:["mousedown","mousemove","mouseup"],this.addEvent()},I.prototype.addEvent=function(){this.startEventHandler=Le.bind(this),this.cover.addEventListener(this.events[0],this.startEventHandler,!1)},I.prototype.clearCover=function(){this.ctx.clearRect(0,0,this.cover.width,this.cover.height),this.cover.removeEventListener(this.events[0],this.startEventHandler),this.cover.removeEventListener(this.events[1],this.moveEventHandler),this.cover.removeEventListener(this.events[2],this.endEventHandler)},I.prototype.init=function(t,a){if(!ze()){console.log("\u5BF9\u4E0D\u8D77\uFF0C\u5F53\u524D\u6D4F\u89C8\u5668\u4E0D\u652F\u6301Canvas\uFF0C\u65E0\u6CD5\u4F7F\u7528\u672C\u63A7\u4EF6\uFF01");return}var r=this;O(arguments,function(n){if(typeof n=="object")for(var o in n)o==="callback"&&typeof n[o]=="function"?r.opt.callback=n[o].bind(r):o in r.opt&&(r.opt[o]=n[o]);else typeof n=="function"&&(r.opt.callback=n.bind(r))}),this.scratchDiv&&(this.cardDiv=this.scratchDiv.querySelector(".scratchcard-content"),this.cardDiv&&(this.cHeight=this.cardDiv.clientHeight,this.cWidth=this.cardDiv.clientWidth,this.cardDiv.style.opacity=0,this.createCanvas(),this.eventDetect()))},I.case=function(t,a){return new I(t,a)};var xe=I.case,Kt="";const{componentName:Fe,create:Ve}=C("scratch-card"),He=Ve({props:{content:{type:String,default:""},height:{type:[String,Number],default:50},width:{type:[String,Number],default:300},coverColor:{type:String,default:"#C5C5C5"},coverImg:{type:String,default:""},fontSize:{type:[String,Number],default:20},backgroundColor:{type:String,default:"#FFFFFF"},ratio:{type:[String,Number],default:.5}},components:{},emits:["click","open"],setup(t,{emit:a}){const r=e.ref(null),n=e.computed(()=>({[Fe]:!0})),o=e.ref(t.content),m=e.reactive({luckcard:null}),l=()=>{m.luckcard.clearCover()};return e.onMounted(()=>{e.nextTick(()=>{m.luckcard=xe({scratchDiv:r.value,coverColor:t.coverColor,coverImg:t.coverImg,ratio:Number(t.ratio)},()=>{l(),a("open",this)})})}),e.watch(()=>t.content,s=>{o.value=s}),R(F({},m),{result:o,classes:n,scratchcard:r})}}),Me=["innerHTML"];function Pe(t,a,r,n,o,m){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.classes),style:e.normalizeStyle({height:t.height+"px",width:t.width+"px"}),ref:"scratchcard",id:"scratchcard"},[e.createElementVNode("div",{class:"scratchcard-content",innerHTML:t.result,style:e.normalizeStyle({backgroundColor:t.backgroundColor,fontSize:t.fontSize+"px"})},null,12,Me)],6)}var j=L(He,[["render",Pe]]),Qt="";const{componentName:Ae,create:Re}=C("giftbox"),We=Re({props:{initPrize:{type:Boolean,default:!0}},emits:["start-turns","end-turns"],setup(t,{emit:a}){const r=e.computed(()=>({[Ae]:!0,"gift-box":!0})),n=e.ref(!1),o=i=>{if(n.value)return!1;a("start-turns"),n.value=!0,l()},m=()=>{n.value=!1},l=()=>{let i=!0;document.getElementById("giftAnimate").addEventListener("webkitTransitionEnd",function(E){E.target===E.currentTarget&&i&&(i=!1,a("end-turns"),s())})},s=()=>{document.getElementById("giftAnimate").removeEventListener("webkitTransitionEnd",function(){})};return{classes:r,init:m,openActive:n,handleClick:o}}}),qe={class:"giftbox-wraper"},Ge=e.createElementVNode("view",{class:"gBox gift-box-2"},null,-1);function Oe(t,a,r,n,o,m){return e.openBlock(),e.createElementBlock("view",qe,[e.createElementVNode("view",{class:e.normalizeClass(t.classes),onClick:a[0]||(a[0]=(...l)=>t.handleClick&&t.handleClick(...l))},[e.createElementVNode("view",{id:"giftAnimate",class:e.normalizeClass(["gBox gift-box-1",{"gift-box-1-open":t.openActive}])},null,2),Ge,e.createElementVNode("view",{class:e.normalizeClass(["gBox gift-box-3",{"gift-box-3-open":t.openActive}])},null,2)],2)])}var Y=L(We,[["render",Oe]]),en="";const{create:je}=C("lotto-roll"),Ye=je({props:{prizeList:{type:Array,default:()=>[]},turnsTime:{type:Number,default:0},turnsNumber:{type:Number,default:0},prizeIndex:{type:Number,default:-1}},emits:["click","start-turns","end-turns"],setup(t,{emit:a}){const r=e.ref(t.prizeIndex);e.watch(()=>t.prizeIndex,y=>{r.value=y});const n=e.ref([]);e.watch(()=>t.prizeList,y=>{n.value=y},{immediate:!0,deep:!0});const o=window,m=o.requestAnimationFrame||o.webkitRequestAnimationFrame||o.mozRequestAnimationFrame||o.msRequestAnimationFrame||o.oRequestAnimationFrame||function(y){o.setTimeout(y,1e3/60)},l=e.ref(),s=e.ref(null),i=e.ref(!1),d=y=>{if(!l.value)return!1;s.value==null&&(s.value=y);const w=y-s.value;l.value.forEach(f=>{if(f.isFinished)return;const B=Math.max(f.duration-w,0),u=3,p=Math.pow(B,u)/Math.pow(f.duration,u)*f.rollTimes,h=-1*Math.floor((p+f.location)%f.height);f.el.style.transform="translateY("+h+"px)",w>f.duration&&(f.isFinished=!0)}),l.value.every(f=>f.isFinished)?(a("end-turns"),i.value=!1,l.value=null,s.value=null):m(d)},E=()=>{if(a("start-turns"),l.value){l.value.forEach(w=>{w.isFinished=!0;const f=-w.location;w.el.style.transform="translateY("+f+"px)"});return}const y=Array.from(document.getElementsByClassName("lotto-roll-wrap")).map((w,f)=>{const B=document.getElementsByClassName("lotto-roll-wrap")[f],u=document.getElementsByClassName("lotto-item")[0].offsetHeight;let p=r.value;return p<0&&(p=Math.floor(Math.random()*n.value.length)),{el:B.querySelector(".lotto-wrap"),location:p*u,rollTimes:2e3+Math.random()*500+f*500+1e3*t.turnsNumber,height:n.value.length*u,duration:6e3+f*2e3+t.turnsTime,isFinished:!1}});l.value=y,m(d)};return{list:n,start:()=>{if(i.value)return!1;i.value=!0,setTimeout(()=>{E()},300)}}}}),Xe={class:"nutbig-lotto-roll"},Je={class:"lotto-roll-content"},Ue={class:"lotto-wrap"},Ze={key:0,class:"lotto-item-image"},Ke=["src"],Qe={key:1,class:"lotto-item-content"};function et(t,a,r,n,o,m){return e.openBlock(),e.createElementBlock("div",Xe,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(3,(l,s)=>e.createElementVNode("div",{class:"lotto-roll-wrap",key:s},[e.createElementVNode("div",Je,[e.createElementVNode("div",Ue,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList([...t.list,...t.list],(i,d)=>(e.openBlock(),e.createElementBlock("div",{class:"lotto-item",key:`'lotto'-${s}-${d}`},[i.imagePath?(e.openBlock(),e.createElementBlock("div",Ze,[i.imagePath?(e.openBlock(),e.createElementBlock("img",{key:0,class:"lotto-item-img",src:i.imagePath},null,8,Ke)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),i.text?(e.openBlock(),e.createElementBlock("div",Qe,e.toDisplayString(i.text),1)):e.createCommentVNode("",!0)]))),128))])])])),64))])}var X=L(Ye,[["render",et],["__scopeId","data-v-cee5f8fe"]]),tn="";const{componentName:tt,create:nt}=C("hiteggs"),at=nt({props:{num:{type:Number,default:9},intactImg:{type:String,default:"//img10.360buyimg.com/imagetools/jfs/t1/217651/2/1901/114207/617770f2E74551438/5342f7b949e7bec3.png"},hammer:{type:String,default:"//img13.360buyimg.com/imagetools/jfs/t1/95159/30/17834/9845/61444874E0f463263/924741cae55efb85.png"},splitImg:{type:String,default:"//img13.360buyimg.com/imagetools/jfs/t1/219949/29/1870/75442/61776f7aE5d1a8e07/a8de5321e4e8071e.png"},width:{type:String,default:"80px"},height:{type:String,default:"80px"}},emits:["click"],setup(t,{emit:a}){const r=e.ref(),n=e.ref(!1),o=e.reactive([]);return{classes:e.computed(()=>({[tt]:!0})),hitIndex:r,hitEggs:s=>{n.value||(n.value=!0,r.value=s,setTimeout(()=>{o.push(s),r.value=t.num+1,n.value=!1,a("click")},1500))},arr:o}}}),rt=["src","onClick"],lt=["src"],st=["src"];function ot(t,a,r,n,o,m){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.classes)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.num,(l,s)=>(e.openBlock(),e.createElementBlock("div",{key:s,class:"nut-eggs-item",style:e.normalizeStyle({width:t.width,height:t.height})},[t.arr.indexOf(s)>-1?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("img",{key:0,class:"intactImg",src:t.intactImg,alt:"",onClick:i=>t.hitEggs(s)},null,8,rt)),t.arr.indexOf(s)>-1?(e.openBlock(),e.createElementBlock("img",{key:1,class:"splitImg",src:t.splitImg,alt:""},null,8,lt)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("img",{class:"hammer",style:{animation:"shake-rotate 0.5s linear 0s infinite"},src:t.hammer,alt:""},null,8,st),[[e.vShow,s==t.hitIndex]])],4))),128))],2)}var J=L(at,[["render",ot]]),nn="";const{componentName:it,create:ct}=C("giftrain"),dt=ct({props:{width:{type:String,default:"375px"},height:{type:String,default:"500px"},rainWidth:{type:Number,default:50},rainHeight:{type:Number,default:50},rainTime:{type:Number,default:3e4},rainNum:{type:Number,default:4},rainImg:{type:String,default:"//img13.360buyimg.com/imagetools/jfs/t1/199416/7/16633/40527/618c8bebEb03467d8/6af8bde529c5cf61.png"}},emits:["start","gameOver","click"],setup(t,{emit:a}){const r=e.ref(null),n=e.ref(null),o=e.ref(t.rainTime),m=e.ref(t.rainNum),l=e.ref(t.rainImg),s=e.ref([]),i=e.ref(!1),d=e.ref(0),E=e.reactive([]);let _=e.ref(),y=e.ref();const w=()=>{f(),s.value=[],p(),_.value=setTimeout(()=>{B()},o.value),u(),a("start")},f=()=>{d.value=0,s.value=[],i.value=!1,clearTimeout(_.value),window.cancelAnimationFrame(y.value),_.value=null},B=()=>{a("gameOver"),i.value=!0,f()},u=()=>{if(i.value)return;let b=r.value,c=b.clientHeight,v=b.clientWidth-t.rainWidth;s.value&&s.value.map($=>{$.y>c+80&&($.y=0,$.x=Math.floor(v*Math.random()),E.push($)),$.y+=$.speed}),y.value=window.requestAnimationFrame(u)},p=()=>{let c=r.value.clientWidth-t.rainWidth,v=setInterval(()=>{let $=e.reactive({width:t.rainWidth,height:t.rainHeight,id:new Date().getTime().toString(),img:l.value,hasSelected:!1,y:0,x:Math.floor(c*Math.random()),speed:Math.floor(Math.random()*1+4)});s.value.length<=m.value?s.value.push($):clearInterval(v)},1e3)},h=(b,c)=>{if(i.value)return;let $=r.value.clientWidth-t.rainWidth;s.value.map(z=>{z.id==c&&(z.hasSelected=!0,z.width=0,E.push(z),a("click"),setTimeout(()=>{z.x=$*Math.random(),z.y=0,z.width=t.rainWidth,z.hasSelected=!1},300))})},S=(b,c,v,$)=>({width:b+"px",height:c+"px",left:v+"px",top:-(c+10)+"px",transform:`translateY(${$}px)`}),T=(b,c)=>({width:b+"px"});return{classes:e.computed(()=>({[it]:!0})),rainContent:r,rainTime:o,rainNum:m,rainImg:l,init:f,rainList:s,rainOver:B,startRain:w,touchStart:h,rainImgStyle:S,seclected:T,isOver:i,img:n}}}),mt=["onTouchstart","src"];function ut(t,a,r,n,o,m){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.classes)},[e.createElementVNode("div",{class:"nutbig-giftrain-content",ref:"rainContent",style:e.normalizeStyle({width:t.width,height:t.height})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.rainList,(l,s)=>(e.openBlock(),e.createElementBlock("img",{class:e.normalizeClass(["nutbig-giftrain-content-rainimg",l.hasSelected?"":"noselected"]),style:e.normalizeStyle(l.hasSelected?t.seclected(l.width,l.height):t.rainImgStyle(l.width,l.height,l.x,l.y)),onTouchstart:i=>t.touchStart(i,l.id),key:s,ref_for:!0,ref:"img",src:l.img,alt:""},null,46,mt))),128))],4)],2)}var U=L(dt,[["render",ut]]),an="";const{componentName:ft,create:ht}=C("luckshake"),pt=ht({props:{isShake:{type:Boolean,default:!1},luckWidth:{type:String,default:"200px"},luckHeight:{type:String,default:"106px"},luckImgTop:{type:String,default:"//img13.360buyimg.com/imagetools/jfs/t1/203344/20/16885/31149/61a07610E2520903c/899a906f039535b0.png"},luckImgBottom:{type:String,default:"//img13.360buyimg.com/imagetools/jfs/t1/208979/10/10371/28087/61a07610Ee1e2f1b4/5b6fa12658906939.png"},clickPoint:{type:String,default:"//img11.360buyimg.com/ling/jfs/t1/104643/13/16899/24402/5e830316E70f93784/3f9e9b0d6e11db14.png"},shakeSpeed:{type:Number,default:110},durationTime:{type:Number,default:1e3},durationAnimation:{type:Number,default:1e3},pointerStyle:{default:()=>({width:"90px",height:"90px"})}},emits:["click-shake","shake-event"],setup(t,{emit:a}){let{isShake:r,luckWidth:n,luckHeight:o,shakeSpeed:m,durationTime:l,durationAnimation:s}=e.reactive(t),i=e.ref(!1),d=e.ref({openFlag:!1,shakeSpeed:m,lastTime:0,x:0,y:0,z:0,lastX:0,lastY:0,lastZ:0});e.onMounted(()=>{y(),B()}),e.onUnmounted(()=>{window.removeEventListener("devicemotion",u,!1),w()});const E=e.computed(()=>({[ft]:!0})),_=e.computed(()=>({width:n,height:o})),y=()=>{d.value.openFlag=!0},w=()=>{d.value.openFlag=!1},f=()=>{i.value=!0},B=()=>{i.value||(window.DeviceMotionEvent?(r=!0,window.addEventListener("devicemotion",u,!1)):r=!1)},u=S=>{if(!d.value.openFlag)return;let T=S.accelerationIncludingGravity,k=new Date().getTime();if(k-d.value.lastTime>100){let b=k-d.value.lastTime;d.value.lastTime=k,d.value.x=T.x,d.value.y=T.y,d.value.z=T.z,Math.abs(d.value.x+d.value.y+d.value.z-d.value.lastX-d.value.lastY-d.value.lastZ)/b*1e4>d.value.shakeSpeed&&(f(),h(l),setTimeout(()=>{a("shake-event"),i.value=!1,console.log("loading.value",i.value)},s)),d.value.lastX=d.value.x,d.value.lastY=d.value.y,d.value.lastZ=d.value.z}},p=()=>{i.value||(i.value=!0,h(l),setTimeout(()=>{a("click-shake"),i.value=!1},s))},h=S=>{navigator.vibrate&&navigator.vibrate(S)};return{classes:E,styles:_,mobileShake:h,clickShake:p,loading:i}}}),gt=["src"],yt=["src"],kt=["src"];function bt(t,a,r,n,o,m){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.classes)},[e.createElementVNode("div",{class:"shake-box",style:e.normalizeStyle(t.styles)},[e.createElementVNode("div",{class:e.normalizeClass(["shake-box-img",[t.loading?"animation":"rockit"]])},[e.createElementVNode("img",{class:"img-top",src:t.luckImgTop},null,8,gt),e.createElementVNode("img",{class:"img-bottom",src:t.luckImgBottom},null,8,yt)],2)],4),e.renderSlot(t.$slots,"shake-num"),t.clickPoint?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["pointer",[t.loading?"":"clickShake"]]),style:e.normalizeStyle(t.pointerStyle),onClick:a[0]||(a[0]=(...l)=>t.clickShake&&t.clickShake(...l))},[e.createElementVNode("img",{src:t.clickPoint},null,8,kt)],6)):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"default")],2)}var Z=L(pt,[["render",bt]]),rn="";const{create:vt}=C("doll-machine"),Et=vt({props:{defaultClaw:{type:String,default:"https://img14.360buyimg.com/imagetools/jfs/t1/146467/34/22553/4178/61b088afE198f676e/21952e7018d1d141.png"},activeClaw:{type:String,default:"https://img13.360buyimg.com/imagetools/jfs/t1/218082/28/7092/15914/61b088afEf9c253f7/8392e2b14bd8f43a.png"},speed:{type:Number,default:20},prizeList:{type:Array,default:()=>[]},prizeIndex:{type:Number,default:-1}},emits:["click","start-turns","end-turns"],setup(t,{emit:a}){const r=e.ref(),n=e.ref(),o=e.ref(),m=e.reactive({left:"50%",marginLeft:"0"}),l=()=>{m.left="50%";const c=o.value.offsetWidth;m.marginLeft="-"+c/2+"px"},s=c=>{const v=o.value.offsetLeft,$=n.value.offsetWidth,z=o.value.offsetWidth,D=$-z;if(c=="left"&&v==0||c=="right"&&v==D)return!1;const V=c=="left"?-30:30,N=v+V;c=="left"?m.left=(N<0?0:N)+"px":m.left=(N>D?D:N)+"px"},i=c=>{m.marginLeft="0",(c=="left"||c=="right")&&s(c)},d=e.ref({"background-image":`url(${t.defaultClaw})`,"background-size":"100% 100%","background-position":"center","background-repeat":"no-repeat"}),E=e.ref(),_=e.ref(),y=e.ref(),w=e.ref(!1),f=e.ref(!1),B=()=>{a("start-turns"),r.value="",w.value=!0,f.value=!0,d.value["background-image"]=`url(${t.activeClaw})`;const c=n.value.offsetHeight,v=o.value.offsetHeight,$=y.value.offsetHeight;E.value.style.height=`${c-$-v-20}px`},u=()=>{E.value.style.height="20px"},p=()=>{document.getElementById("machine-rope").removeEventListener("webkitTransitionEnd",function(){})},h=()=>{document.getElementById("machine-rope").addEventListener("webkitTransitionEnd",function(v){f.value=!1,E.value.offsetHeight==20&&(w.value=!1,a("end-turns")),p(),d.value["background-image"]=`url(${t.defaultClaw})`,r.value=t.prizeList[t.prizeIndex].imagePath,setTimeout(()=>{u()},200)})},S=e.reactive([]),T=c=>{S.push(c)},k=()=>{S.forEach((c,v)=>{const $=Math.floor(Math.random()*325),z=Math.floor(Math.random()*(150-70)+70),D=Math.floor(Math.random()*90);c.style.left=$+"px",c.style.top=z+"px",c.style.transform="rotate("+D+"deg)"})},b=()=>{r.value="",l(),u()};return e.onMounted(()=>{l(),h(),k()}),e.watch(()=>f.value,(c,v)=>{}),{clawStyle:d,setGiftEle:T,giftPrize:r,machineBoxDom:n,machineOperateDom:y,machineToolsDom:o,machineRopeDom:E,machineClawDom:_,toolsStyle:m,moveTools:i,machineLock:w,initLock:f,startGame:B,init:b}}}),wt={class:"nutbig-doll-machine"},$t={class:"machine-box",ref:"machineBoxDom"},Ct={class:"machine-rope",id:"machine-rope",ref:"machineRopeDom"},_t=["src"],Bt={class:"machine-gift-box"},St={class:"box-glass"},Nt=["src"],Tt={class:"machine-operate",ref:"machineOperateDom"};function zt(t,a,r,n,o,m){return e.openBlock(),e.createElementBlock("div",wt,[e.createElementVNode("div",$t,[e.createElementVNode("div",{class:"machine-tools",ref:"machineToolsDom",style:e.normalizeStyle(t.toolsStyle)},[e.createElementVNode("div",Ct,null,512),e.createElementVNode("div",{class:"machine-claw",ref:"machineClawDom",style:e.normalizeStyle(t.clawStyle)},[t.giftPrize?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.giftPrize,alt:"\u52A0\u8F7D\u5931\u8D25",class:"gift-prize"},null,8,_t)):e.createCommentVNode("",!0)],4)],4),e.createElementVNode("div",Bt,[e.createElementVNode("div",St,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.prizeList,(l,s)=>(e.openBlock(),e.createElementBlock("img",{src:l.imagePath,key:s,class:"gift-img",ref_for:!0,ref:t.setGiftEle},null,8,Nt))),128))]),e.createElementVNode("div",Tt,[e.createElementVNode("div",{class:e.normalizeClass(["machine-direction",t.machineLock?"disabledClick":""])},[e.createElementVNode("span",{class:"direction-block direction-block-left",onClick:a[0]||(a[0]=l=>t.moveTools("left"))}),e.createElementVNode("span",{class:"direction-block direction-block-right",onClick:a[1]||(a[1]=l=>t.moveTools("right"))})],2),e.createElementVNode("div",{class:e.normalizeClass(["machine-btn",t.machineLock?"machine-disabled disabledClick":"machine-start"]),onClick:a[2]||(a[2]=(...l)=>t.startGame&&t.startGame(...l))},null,2),e.createElementVNode("div",{class:e.normalizeClass(["machine-reset-btn",t.initLock?"disabledClick":""]),onClick:a[3]||(a[3]=(...l)=>t.init&&t.init(...l))}," \u91CD\u7F6E ",2)],512)])],512)])}var K=L(Et,[["render",zt],["__scopeId","data-v-6e0eecf9"]]),ln="";const{componentName:Lt,create:Dt}=C("shakedice"),It=Dt({props:{time:{type:Number,default:1},speed:{type:Number,default:3e3},id:{type:Number,default:4}},emits:["end"],setup(t,{emit:a}){const r=e.ref(6),n=e.ref(!1);let o=e.ref({});const m=e.ref(!1),l=e.computed(()=>({[Lt]:!0}));return e.watch(()=>m.value,i=>{if(i){const d={animation:`rotate ${t.time}s infinite linear`};o.value=F(F({},o.value),d),setTimeout(()=>{m.value=!1,o.value={animation:"none"};let _=[{value:1,x:0,y:0},{value:1,x:0,y:0},{value:2,x:90,y:0},{value:3,x:0,y:-90},{value:4,x:0,y:90},{value:5,x:-90,y:0},{value:6,x:0,y:180}][t.id];setTimeout(()=>{let y=document.querySelector(".nutbig-shakedice");y&&(y.style.transform=`rotateX(${_.x}deg) rotateY(${_.y}deg)`)},0),a("end")},t.speed)}else o.value={}}),{classes:l,dice:r,animationStyle:o,shake:()=>{if(n.value)return!1;n.value=!0,m.value=!0,setTimeout(()=>{n.value=!1},t.speed)}}}});function xt(t,a,r,n,o,m){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.classes),style:e.normalizeStyle(t.animationStyle)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(new Array(t.dice),(l,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["page","page"+(s+1)]),key:s},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(new Array(s+1),(i,d)=>(e.openBlock(),e.createElementBlock("span",{key:d}))),128))],2))),128))],6)}var Q=L(It,[["render",xt]]),sn="";const{componentName:Ft,create:Vt}=C("guess-gift"),Ht=Vt({props:{initPrize:{type:Boolean,default:!0},turnNumber:{type:Number,default:20},turnsFrequency:{type:Number,default:500},raiseHeight:{type:Number,default:50},prizeIndex:{type:Number,default:-1}},emits:["start-turns","end-turns"],setup(t,{emit:a}){const r=e.reactive([1,2,3]),n=e.ref(0),o=e.ref(!1),m=e.ref(0),l=e.ref(!0),s=e.ref(!1);let i=e.reactive([]);const d=e.ref(null);e.watch(()=>s.value,(k,b)=>{i=[]});const E=e.computed(()=>({[Ft]:!0,"guess-gift":!0,disabledClick:l.value})),_=k=>{const b=JSON.parse(JSON.stringify(k));for(let c=b.length-1;c>0;c--){const v=Math.floor(Math.random()*(c+1));[b[c],b[v]]=[b[v],b[c]]}return b},y=k=>{i.push(k)},w=e.reactive([]);e.onMounted(()=>{i.forEach(k=>{w.push(k.getBoundingClientRect())})});const f=e.ref(null);let B=e.reactive([]);const u=()=>{const k=w;B=_(w),i.forEach((b,c)=>{const v=k[c].x,$=B[c].x;b.style.left=(v-$)*-1+"px"})},p=e.ref(null),h=()=>{s.value=!1,clearTimeout(p),p.value=setTimeout(function(){u(),n.value<t.turnNumber?(h(),n.value++):(clearTimeout(p),n.value=0,setTimeout(()=>{o.value=!1,l.value=!1},500))},t.turnsFrequency)};return{bowlList:r,classes:E,goldBeanDom:f,init:h,bowlBox:d,setBowlEle:y,raise:k=>{if(o.value)return!1;if(t.prizeIndex>-1){s.value=!0;const b=B[k],c=d.value.getBoundingClientRect().left||0;setTimeout(()=>{f.value.style.left=b.x+b.width/2-c-f.value.offsetWidth/2+"px"},100)}else s.value=!1;m.value=k,i[k].style.top=`-${t.raiseHeight}px`,setTimeout(()=>{a("end-turns"),l.value=!0},300)},showBean:s,start:()=>{const k=m.value;if(o.value)return!1;k>-1&&(i[k].style.top=0),s.value=!0,o.value=!0;const b=k+1>2?0:k+1,c=i[b];setTimeout(()=>{if(k>-1){const v=c.getBoundingClientRect(),$=d.value.getBoundingClientRect().left||0;f.value.style.left=v.left+v.width/2-$-f.value.offsetWidth/2+"px"}setTimeout(()=>{c.style.top=`-${t.raiseHeight}px`,setTimeout(()=>{c.style.top=0},800),setTimeout(()=>{h()},1300)},400)},100)}}}}),Mt=["onClick"],Pt={ref:"goldBeanDom",class:"gold-bean"};function At(t,a,r,n,o,m){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.classes),ref:"bowlBox"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.bowlList,(l,s)=>(e.openBlock(),e.createElementBlock("div",{class:"bowl-item",key:"bowl"+l,ref_for:!0,ref:t.setBowlEle,onClick:i=>t.raise(s)},null,8,Mt))),128)),e.withDirectives(e.createElementVNode("div",Pt,null,512),[[e.vShow,t.showBean]])],2)}var ee=L(Ht,[["render",At]]);function te(t){[W,q,G,j,Y,X,J,U,Z,K,Q,ee].forEach(r=>{r.install?t.use(r):r.name&&t.component(r.name,r)})}var Rt={install:te,version:"1.0.7"};g.DollMachine=K,g.GiftBox=Y,g.GiftRain=U,g.GuessGift=ee,g.Hiteggs=J,g.LottoRoll=X,g.LuckShake=Z,g.Marquee=q,g.ScratchCard=j,g.ShakeDice=Q,g.SquareNine=G,g.TurnTable=W,g.default=Rt,g.install=te,Object.defineProperties(g,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});