@nutui/nutui 2.3.4 → 2.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/dist/.DS_Store +0 -0
- package/dist/assets/img/grid.png +0 -0
- package/dist/nutui.css +4 -2
- package/dist/nutui.css.map +1 -1
- package/dist/nutui.js +393 -154
- package/dist/nutui.js.map +1 -1
- package/dist/nutui.min.css +2 -2
- package/dist/nutui.min.js +3 -3
- package/dist/nutui.min.js.map +1 -1
- package/dist/nutui.scss +2 -1
- package/dist/packages/actionsheet/actionsheet.css +1 -1
- package/dist/packages/actionsheet/actionsheet.js +1 -1
- package/dist/packages/address/address.css +1 -1
- package/dist/packages/address/address.js +2 -2
- package/dist/packages/address/address.js.map +1 -1
- package/dist/packages/avatar/avatar.css +1 -1
- package/dist/packages/avatar/avatar.js +2 -2
- package/dist/packages/avatar/avatar.js.map +1 -1
- package/dist/packages/backtop/backtop.css +1 -1
- package/dist/packages/backtop/backtop.js +2 -2
- package/dist/packages/backtop/backtop.js.map +1 -1
- package/dist/packages/badge/badge.css +1 -1
- package/dist/packages/badge/badge.js +2 -2
- package/dist/packages/badge/badge.js.map +1 -1
- package/dist/packages/button/button.css +1 -1
- package/dist/packages/button/button.js +1 -1
- package/dist/packages/buttongroup/buttongroup.css +1 -1
- package/dist/packages/buttongroup/buttongroup.js +1 -1
- package/dist/packages/calendar/calendar.css +1 -1
- package/dist/packages/calendar/calendar.js +2 -2
- package/dist/packages/calendar/calendar.js.map +1 -1
- package/dist/packages/calendar/calendar.vue +1 -1
- package/dist/packages/cell/cell.css +1 -1
- package/dist/packages/cell/cell.js +2 -2
- package/dist/packages/cell/cell.js.map +1 -1
- package/dist/packages/checkbox/checkbox.css +1 -1
- package/dist/packages/checkbox/checkbox.js +2 -2
- package/dist/packages/checkboxgroup/checkboxgroup.css +1 -1
- package/dist/packages/checkboxgroup/checkboxgroup.js +2 -2
- package/dist/packages/checkboxgroup/checkboxgroup.js.map +1 -1
- package/dist/packages/circleprogress/circleprogress.css +1 -1
- package/dist/packages/circleprogress/circleprogress.js +2 -2
- package/dist/packages/circleprogress/circleprogress.js.map +1 -1
- package/dist/packages/col/col.css +1 -1
- package/dist/packages/col/col.js +1 -1
- package/dist/packages/collapse/collapse.css +1 -1
- package/dist/packages/collapse/collapse.js +2 -2
- package/dist/packages/collapse/collapse.js.map +1 -1
- package/dist/packages/collapseitem/collapseitem.css +1 -1
- package/dist/packages/collapseitem/collapseitem.js +2 -2
- package/dist/packages/collapseitem/collapseitem.js.map +1 -1
- package/dist/packages/countdown/countdown.css +1 -1
- package/dist/packages/countdown/countdown.js +2 -2
- package/dist/packages/countdown/countdown.js.map +1 -1
- package/dist/packages/countup/countup.css +2 -2
- package/dist/packages/countup/countup.js +2 -2
- package/dist/packages/countup/countup.js.map +1 -1
- package/dist/packages/countup/countup.scss +2 -1
- package/dist/packages/countup/countup.vue +22 -10
- package/dist/packages/coupon/coupon.css +1 -1
- package/dist/packages/coupon/coupon.js +2 -2
- package/dist/packages/coupon/coupon.js.map +1 -1
- package/dist/packages/datepicker/datepicker.css +1 -1
- package/dist/packages/datepicker/datepicker.js +2 -2
- package/dist/packages/datepicker/datepicker.js.map +1 -1
- package/dist/packages/dialog/dialog.css +1 -1
- package/dist/packages/dialog/dialog.js +2 -2
- package/dist/packages/dialog/dialog.js.map +1 -1
- package/dist/packages/drag/drag.css +1 -1
- package/dist/packages/drag/drag.js +2 -2
- package/dist/packages/drag/drag.js.map +1 -1
- package/dist/packages/elevator/elevator.css +1 -1
- package/dist/packages/elevator/elevator.js +2 -2
- package/dist/packages/elevator/elevator.js.map +1 -1
- package/dist/packages/fixednav/fixednav.css +1 -1
- package/dist/packages/fixednav/fixednav.js +2 -2
- package/dist/packages/fixednav/fixednav.js.map +1 -1
- package/dist/packages/flex/flex.css +1 -1
- package/dist/packages/flex/flex.js +2 -2
- package/dist/packages/flex/flex.js.map +1 -1
- package/dist/packages/icon/icon.css +1 -1
- package/dist/packages/icon/icon.js +1 -1
- package/dist/packages/imagepicker/imagepicker.css +1 -1
- package/dist/packages/imagepicker/imagepicker.js +2 -2
- package/dist/packages/imagepicker/imagepicker.js.map +1 -1
- package/dist/packages/infiniteloading/infiniteloading.css +1 -1
- package/dist/packages/infiniteloading/infiniteloading.js +2 -2
- package/dist/packages/infiniteloading/infiniteloading.js.map +1 -1
- package/dist/packages/infiniteloading/infiniteloading.vue +5 -1
- package/dist/packages/lazyload/lazyload.css +1 -1
- package/dist/packages/lazyload/lazyload.js +2 -2
- package/dist/packages/lazyload/lazyload.js.map +1 -1
- package/dist/packages/leftslip/leftslip.css +1 -1
- package/dist/packages/leftslip/leftslip.js +2 -2
- package/dist/packages/leftslip/leftslip.js.map +1 -1
- package/dist/packages/luckdraw/luckdraw.css +1 -1
- package/dist/packages/luckdraw/luckdraw.js +2 -2
- package/dist/packages/luckdraw/luckdraw.js.map +1 -1
- package/dist/packages/luckycard/luckycard.css +1 -1
- package/dist/packages/luckycard/luckycard.js +2 -2
- package/dist/packages/luckycard/luckycard.js.map +1 -1
- package/dist/packages/magic/magic.css +1 -1
- package/dist/packages/magic/magic.js +2 -2
- package/dist/packages/magic/magic.js.map +1 -1
- package/dist/packages/menu/menu.css +1 -1
- package/dist/packages/menu/menu.js +2 -2
- package/dist/packages/menu/menu.js.map +1 -1
- package/dist/packages/navbar/navbar.css +1 -1
- package/dist/packages/navbar/navbar.js +2 -2
- package/dist/packages/navbar/navbar.js.map +1 -1
- package/dist/packages/ninegrid/animation.scss +223 -0
- package/dist/packages/ninegrid/index.js +8 -0
- package/dist/packages/ninegrid/ninegrid.css +5 -0
- package/dist/packages/ninegrid/ninegrid.js +7 -0
- package/dist/packages/ninegrid/ninegrid.js.map +1 -0
- package/dist/packages/ninegrid/ninegrid.scss +132 -0
- package/dist/packages/ninegrid/ninegrid.vue +144 -0
- package/dist/packages/noticebar/noticebar.css +1 -1
- package/dist/packages/noticebar/noticebar.js +2 -2
- package/dist/packages/noticebar/noticebar.js.map +1 -1
- package/dist/packages/notify/notify.css +1 -1
- package/dist/packages/notify/notify.js +2 -2
- package/dist/packages/notify/notify.js.map +1 -1
- package/dist/packages/numberkeyboard/numberkeyboard.css +1 -1
- package/dist/packages/numberkeyboard/numberkeyboard.js +2 -2
- package/dist/packages/numberkeyboard/numberkeyboard.js.map +1 -1
- package/dist/packages/picker/picker.css +1 -1
- package/dist/packages/picker/picker.js +2 -2
- package/dist/packages/picker/picker.js.map +1 -1
- package/dist/packages/popup/popup.css +1 -1
- package/dist/packages/popup/popup.js +1 -1
- package/dist/packages/price/price.css +1 -1
- package/dist/packages/price/price.js +2 -2
- package/dist/packages/price/price.js.map +1 -1
- package/dist/packages/progress/progress.css +1 -1
- package/dist/packages/progress/progress.js +2 -2
- package/dist/packages/progress/progress.js.map +1 -1
- package/dist/packages/radio/radio.css +1 -1
- package/dist/packages/radio/radio.js +2 -2
- package/dist/packages/radio/radio.js.map +1 -1
- package/dist/packages/radiogroup/radiogroup.css +1 -1
- package/dist/packages/radiogroup/radiogroup.js +2 -2
- package/dist/packages/radiogroup/radiogroup.js.map +1 -1
- package/dist/packages/range/range.css +1 -1
- package/dist/packages/range/range.js +2 -2
- package/dist/packages/range/range.js.map +1 -1
- package/dist/packages/rate/rate.css +1 -1
- package/dist/packages/rate/rate.js +2 -2
- package/dist/packages/rate/rate.js.map +1 -1
- package/dist/packages/row/row.css +1 -1
- package/dist/packages/row/row.js +1 -1
- package/dist/packages/scroller/scroller.css +1 -1
- package/dist/packages/scroller/scroller.js +2 -2
- package/dist/packages/scroller/scroller.js.map +1 -1
- package/dist/packages/scroller/scroller.vue +5 -0
- package/dist/packages/scroller/vertical-scroll.vue +7 -2
- package/dist/packages/searchbar/searchbar.css +1 -1
- package/dist/packages/searchbar/searchbar.js +2 -2
- package/dist/packages/searchbar/searchbar.js.map +1 -1
- package/dist/packages/shortpassword/shortpassword.css +1 -1
- package/dist/packages/shortpassword/shortpassword.js +2 -2
- package/dist/packages/shortpassword/shortpassword.js.map +1 -1
- package/dist/packages/sidenavbar/sidenavbar.css +1 -1
- package/dist/packages/sidenavbar/sidenavbar.js +2 -2
- package/dist/packages/sidenavbar/sidenavbar.js.map +1 -1
- package/dist/packages/sidenavbaritem/sidenavbaritem.css +1 -1
- package/dist/packages/sidenavbaritem/sidenavbaritem.js +1 -1
- package/dist/packages/signature/signature.css +1 -1
- package/dist/packages/signature/signature.js +2 -2
- package/dist/packages/signature/signature.js.map +1 -1
- package/dist/packages/skeleton/skeleton.css +1 -1
- package/dist/packages/skeleton/skeleton.js +2 -2
- package/dist/packages/skeleton/skeleton.js.map +1 -1
- package/dist/packages/slider/slider.css +1 -1
- package/dist/packages/slider/slider.js +2 -2
- package/dist/packages/slider/slider.js.map +1 -1
- package/dist/packages/stepper/stepper.css +1 -1
- package/dist/packages/stepper/stepper.js +2 -2
- package/dist/packages/stepper/stepper.js.map +1 -1
- package/dist/packages/steps/steps.css +1 -1
- package/dist/packages/steps/steps.js +2 -2
- package/dist/packages/steps/steps.js.map +1 -1
- package/dist/packages/subsidenavbar/subsidenavbar.css +1 -1
- package/dist/packages/subsidenavbar/subsidenavbar.js +1 -1
- package/dist/packages/swiper/swiper.css +1 -1
- package/dist/packages/swiper/swiper.js +2 -2
- package/dist/packages/swiper/swiper.js.map +1 -1
- package/dist/packages/switch/switch.css +1 -1
- package/dist/packages/switch/switch.js +2 -2
- package/dist/packages/switch/switch.js.map +1 -1
- package/dist/packages/tab/tab.css +1 -1
- package/dist/packages/tab/tab.js +2 -2
- package/dist/packages/tab/tab.js.map +1 -1
- package/dist/packages/tab/tab.vue +1 -0
- package/dist/packages/tabbar/tabbar.css +1 -1
- package/dist/packages/tabbar/tabbar.js +2 -2
- package/dist/packages/tabbar/tabbar.js.map +1 -1
- package/dist/packages/tabbar/tabbar.vue +1 -1
- package/dist/packages/tabpanel/tabpanel.css +1 -1
- package/dist/packages/tabpanel/tabpanel.js +2 -2
- package/dist/packages/tabpanel/tabpanel.js.map +1 -1
- package/dist/packages/tabselect/tabselect.css +1 -1
- package/dist/packages/tabselect/tabselect.js +2 -2
- package/dist/packages/tabselect/tabselect.js.map +1 -1
- package/dist/packages/textbox/textbox.css +1 -1
- package/dist/packages/textbox/textbox.js +2 -2
- package/dist/packages/textbox/textbox.js.map +1 -1
- package/dist/packages/textinput/textinput.css +1 -1
- package/dist/packages/textinput/textinput.js +2 -2
- package/dist/packages/textinput/textinput.js.map +1 -1
- package/dist/packages/timeline/timeline.css +1 -1
- package/dist/packages/timeline/timeline.js +2 -2
- package/dist/packages/timeline/timeline.js.map +1 -1
- package/dist/packages/timelineitem/timelineitem.css +1 -1
- package/dist/packages/timelineitem/timelineitem.js +2 -2
- package/dist/packages/timelineitem/timelineitem.js.map +1 -1
- package/dist/packages/toast/toast.css +1 -1
- package/dist/packages/toast/toast.js +2 -2
- package/dist/packages/toast/toast.js.map +1 -1
- package/dist/packages/uploader/uploader.css +1 -1
- package/dist/packages/uploader/uploader.js +2 -2
- package/dist/packages/uploader/uploader.js.map +1 -1
- package/dist/packages/video/video.css +1 -1
- package/dist/packages/video/video.js +2 -2
- package/dist/packages/video/video.js.map +1 -1
- package/dist/types/nutui.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @nutui/nutui v2.3.
|
|
2
|
+
* @nutui/nutui v2.3.7 - leftslip.js, 78f455d4cba8a497b5f5, Wed Dec 22 2021 20:57:26 GMT+0800 (中国标准时间)
|
|
3
3
|
* (c) 2017-2020 JDC
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("leftslip",[],e):"object"==typeof exports?exports.leftslip=e():t.leftslip=e()}("undefined"!=typeof self?self:this,(function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(i,r,function(e){return t[e]}.bind(null,r));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="./",n(n.s=
|
|
6
|
+
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("leftslip",[],e):"object"==typeof exports?exports.leftslip=e():t.leftslip=e()}("undefined"!=typeof self?self:this,(function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(i,r,function(e){return t[e]}.bind(null,r));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="./",n(n.s=196)}({0:function(t,e,n){"use strict";function i(t,e,n,i,r,s,o,l){var a,u="function"==typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=n,u._compiled=!0),i&&(u.functional=!0),s&&(u._scopeId="data-v-"+s),o?(a=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},u._ssrRegister=a):r&&(a=l?function(){r.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:r),a)if(u.functional){u._injectStyles=a;var f=u.render;u.render=function(t,e){return a.call(e),f(t,e)}}else{var c=u.beforeCreate;u.beforeCreate=c?[].concat(c,a):[a]}return{exports:t,options:u}}n.d(e,"a",(function(){return i}))},130:function(t,e,n){},196:function(t,e,n){"use strict";n.r(e);function i(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return r(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,s=function(){};return{s:s,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:s}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return l=t.done,t},e:function(t){a=!0,o=t},f:function(){try{l||null==n.return||n.return()}finally{if(a)throw o}}}}function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}var s={name:"nut-leftslip",props:{isClickBack:{type:Boolean,default:!0},rightWidth:{type:[Number,String],default:"0.8"},disabled:{type:Boolean,default:!1}},data:function(){return{startX:0,startY:0,moveX:0,moveY:0,buttonWidth:0,pageWidth:null,startPos:0,startLeft:0,startRightW:0,isOpen:!1,scrollTop:0,oldScrollTop:0,lock:!1}},watch:{},mounted:function(){var t=this;this.$nextTick((function(){var e,n=i(t.$slots.slipbtns);try{for(n.s();!(e=n.n()).done;){var r=e.value;t.buttonWidth=t.buttonWidth+r.elm.offsetWidth}}catch(t){n.e(t)}finally{n.f()}})),this.pageWidth=document.documentElement.clientWidth,this.sliderEle=this.$refs.slipItem},beforeDestroy:function(){window.removeEventListener("scroll",this.handleScroll())},methods:{handleRestet:function(){document.getElementsByClassName("leftslip-open")&&this.restSlide()},handleScroll:function(){var t=this;window.addEventListener("scroll",(function(){t.scrollTop=window.scrollY}))},touchStart:function(t){if(this.disabled)return!1;var e=t.currentTarget.parentElement;if(document.getElementsByClassName("leftslip-open")){if(1==e.dataset.type)return;this.restSlide()}1==t.touches.length&&(this.startX=t.touches[0].pageX,this.startY=t.touches[0].pageY);var n=this.sliderEle.style.transform;this.startLeft=Number(n?n.split("(")[1].split("px")[0]:0),this.startRightW=this.startLeft<0?Number(this.$refs.right.style.width.split("px")[0]):0},touchMove:function(t){if(this.disabled)return!1;t.currentTarget.parentElement;var e=t.touches[0].pageX-this.startX,n=t.touches[0].pageY-this.startY;if(1==t.touches.length&&Math.abs(n)<5){if(e>0||e>0&&this.startLeft>=0)return!1;this.doSlide(-this.buttonWidth,!0)}},touchEnd:function(t){if(this.disabled)return!1;var e,n=t.currentTarget.parentElement,i=t.changedTouches[0].pageX-this.startX;if(!this.isClickBack&&0===i)return!1;-i>50?(e=this.buttonWidth>this.pageWidth?this.pageWidth*Number(this.rightWidth):this.buttonWidth,n.className="nut-leftslip-item leftslip-open",n.dataset.type=1):(e=0,n.className="nut-leftslip-item",n.dataset.type=0),this.doSlide(-e,!0)},openSlide:function(){this.isOpen=!0;var t=this.buttonWidth>this.pageWidth?this.pageWidth*Number(this.rightWidth):this.buttonWidth;this.doSlide(-t,!0)},doSlide:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.sliderEle.style.transform="translateX(".concat(t,"px)"),this.$refs.right.style.width=-t+"px",this.sliderEle.style.transition=e?"transform .5s":"initial",this.$refs.right.style.transition=e?"width .5s":"initial"},restSlide:function(){for(var t=document.querySelectorAll(".nut-leftslip-item.leftslip-open"),e=0;e<t.length;e++)t[e].style="transform:translateX(0px)",t[e].dataset.type=0,t[e].className="nut-leftslip-item",this.isOpen=!1}}},o=n(0),l=Object(o.a)(s,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"nut-leftslip"},[n("div",{ref:"slipItem",staticClass:"nut-leftslip-item",class:{"leftslip-open":t.isOpen}},[n("div",{staticClass:"nut-leftslip-item-main",on:{touchstart:function(e){return t.touchStart(e)},touchmove:function(e){return t.touchMove(e)},touchend:function(e){return t.touchEnd(e)}}},[t._t("slip-main")],2),t._v(" "),n("div",{ref:"right",staticClass:"nut-leftslip-item-btn"},[t._t("slipbtns")],2)])])}),[],!1,null,null,null).exports;n(130);l.install=function(t){t.component(l.name,l)};e.default=l}})}));
|
|
7
7
|
//# sourceMappingURL=leftslip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://[name]/webpack/universalModuleDefinition","webpack://[name]/webpack/bootstrap","webpack://[name]/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://[name]/src/packages/leftslip/leftslip.vue","webpack://[name]/./src/packages/leftslip/leftslip.vue?25da","webpack://[name]/./src/packages/leftslip/leftslip.vue","webpack://[name]/./src/packages/leftslip/leftslip.vue?31f4","webpack://[name]/./src/packages/leftslip/index.js"],"names":["root","factory","exports","module","define","amd","self","this","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","props","isClickBack","type","Boolean","default","rightWidth","Number","String","disabled","data","startX","startY","moveX","moveY","buttonWidth","pageWidth","startPos","startLeft","startRightW","isOpen","scrollTop","oldScrollTop","lock","watch","mounted","$nextTick","document","documentElement","clientWidth","sliderEle","$refs","slipItem","beforeDestroy","window","removeEventListener","handleScroll","methods","handleRestet","getElementsByClassName","restSlide","addEventListener","touchStart","parentElement","dataset","e","touches","length","pageX","pageY","transform","split","right","style","width","touchMove","Math","abs","disY","disX","doSlide","touchEnd","distance","className","openSlide","transition","animate","listItems","_vm","_h","$createElement","_c","_self","staticClass","ref","class","on","$event","_t","_v","LeftSlip","install","Vue","component"],"mappings":"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","file":"leftslip/leftslip.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"leftslip\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"leftslip\"] = factory();\n\telse\n\t\troot[\"leftslip\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 195);\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","<template>\n <div class=\"nut-leftslip\">\n <div class=\"nut-leftslip-item\" ref=\"slipItem\" :class=\"{ 'leftslip-open': isOpen }\">\n <div class=\"nut-leftslip-item-main\" @touchstart=\"touchStart($event)\" @touchmove=\"touchMove($event)\" @touchend=\"touchEnd($event)\">\n <slot name=\"slip-main\"></slot>\n </div>\n\n <div class=\"nut-leftslip-item-btn\" ref=\"right\">\n <slot name=\"slipbtns\">\n <!-- <a class=\"nut-delet-btn\" @click.prevent=\"onlyDelClick($event)\" v-if=\"onlyDelBtn\">删除</a> -->\n </slot>\n </div>\n </div>\n </div>\n</template>\n<script>\nexport default {\n name: 'nut-leftslip',\n props: {\n isClickBack: {\n type: Boolean,\n default: true\n },\n rightWidth: {\n type: [Number, String],\n default: '0.8'\n },\n disabled: {\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n startX: 0,\n startY: 0,\n moveX: 0,\n moveY: 0,\n buttonWidth: 0,\n\n pageWidth: null,\n startPos: 0,\n startLeft: 0,\n startRightW: 0,\n isOpen: false,\n scrollTop: 0,\n oldScrollTop: 0,\n lock: false\n };\n },\n watch: {\n // scrollTop(newValue, oldValue) {\n // setTimeout(() => {\n // if (newValue == window.scrollY) { //延时执行后当newValue等于window.scrollY,代表滚动结束\n // console.log('滚动结束');\n // this.oldScrollTop = newValue; //每次滚动结束后都要给oldScrollTop赋值\n // this.lock = false\n // };\n // }, 20); //必须使用延时器,否则每次newValue和window.scrollY都相等,无法判断,20ms刚好大于watch的侦听周期,故延时20ms\n // if (this.oldScrollTop == oldValue) { //每次滚动开始时oldScrollTop与oldValue相等\n // console.log('滚动开始');\n // this.lock = true;\n // }\n // }\n },\n mounted() {\n this.$nextTick(() => {\n for (var slot of this.$slots.slipbtns) {\n this.buttonWidth = this.buttonWidth + slot.elm.offsetWidth;\n }\n });\n this.pageWidth = document.documentElement.clientWidth;\n this.sliderEle = this.$refs.slipItem;\n // this.handleScroll();\n // document.addEventListener('touchstart', this.touchStart, false);\n },\n beforeDestroy() {\n // 移除监听\n window.removeEventListener('scroll', this.handleScroll());\n },\n methods: {\n handleRestet() {\n var slip = document.getElementsByClassName('leftslip-open');\n if (slip) {\n this.restSlide();\n }\n },\n handleScroll() {\n window.addEventListener('scroll', () => {\n this.scrollTop = window.scrollY;\n });\n },\n touchStart(e) {\n if (this.disabled) return false;\n let parentElement = e.currentTarget.parentElement;\n let slip = [];\n slip = document.getElementsByClassName('leftslip-open');\n if (slip) {\n if (parentElement.dataset.type == 1) return;\n this.restSlide();\n }\n if (e.touches.length == 1) {\n this.startX = e.touches[0].pageX;\n this.startY = e.touches[0].pageY;\n }\n const transform = this.sliderEle.style.transform;\n this.startLeft = Number(transform ? transform.split('(')[1].split('px')[0] : 0);\n this.startRightW = this.startLeft < 0 ? Number(this.$refs.right.style.width.split('px')[0]) : 0;\n },\n\n touchMove(e) {\n if (this.disabled) return false;\n let parentElement = e.currentTarget.parentElement;\n\n let disX = e.touches[0].pageX - this.startX; // >0 右滑,<0 左滑\n let disY = e.touches[0].pageY - this.startY;\n if (e.touches.length == 1) {\n if (Math.abs(disY) < 5) {\n // console.log(disX, disY)\n if (disX > 0 || (disX > 0 && this.startLeft >= 0)) {\n //禁止右滑\n return false;\n } else {\n this.doSlide(-this.buttonWidth, true); // 最大滑动距离为右侧宽度\n }\n }\n }\n },\n touchEnd(e) {\n if (this.disabled) return false;\n let parentElement = e.currentTarget.parentElement;\n const disX = e.changedTouches[0].pageX - this.startX; // >0 右滑,<0 左滑\n let distance;\n // console.log(1, disX, this.isClickBack)\n if (!this.isClickBack && disX === 0) {\n // 点击时不收起右侧\n // console.log(2, disX, this.isClickBack)\n return false;\n } else {\n if (-disX > 50) {\n // 向左滑动超过阙值时,右侧滑出固定距离\n distance = this.buttonWidth > this.pageWidth ? this.pageWidth * Number(this.rightWidth) : this.buttonWidth;\n parentElement.className = 'nut-leftslip-item leftslip-open';\n parentElement.dataset.type = 1;\n } else {\n // 向左滑动未超过阙值,或向右滑动时,回原位\n distance = 0;\n parentElement.className = 'nut-leftslip-item';\n parentElement.dataset.type = 0;\n }\n // console.log(3, disX, this.isClickBack)\n this.doSlide(-distance, true);\n }\n },\n openSlide() {\n this.isOpen = true;\n const distance = this.buttonWidth > this.pageWidth ? this.pageWidth * Number(this.rightWidth) : this.buttonWidth;\n this.doSlide(-distance, true);\n },\n doSlide(distance, animate = false) {\n this.sliderEle.style.transform = `translateX(${distance}px)`;\n this.$refs.right.style.width = -distance + 'px';\n this.sliderEle.style.transition = animate ? 'transform .5s' : 'initial';\n this.$refs.right.style.transition = animate ? 'width .5s' : 'initial';\n },\n\n restSlide() {\n let listItems = document.querySelectorAll('.nut-leftslip-item.leftslip-open');\n\n // 复位\n for (let i = 0; i < listItems.length; i++) {\n listItems[i].style = 'transform:translateX(0px)';\n listItems[i].dataset.type = 0; //是否展开标志位默认0,左滑展开为1,右滑隐藏为0\n listItems[i].className = 'nut-leftslip-item';\n this.isOpen = false;\n }\n }\n }\n};\n</script>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./leftslip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./leftslip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./leftslip.vue?vue&type=template&id=f0919bdc&\"\nimport script from \"./leftslip.vue?vue&type=script&lang=js&\"\nexport * from \"./leftslip.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"nut-leftslip\"},[_c('div',{ref:\"slipItem\",staticClass:\"nut-leftslip-item\",class:{ 'leftslip-open': _vm.isOpen }},[_c('div',{staticClass:\"nut-leftslip-item-main\",on:{\"touchstart\":function($event){return _vm.touchStart($event)},\"touchmove\":function($event){return _vm.touchMove($event)},\"touchend\":function($event){return _vm.touchEnd($event)}}},[_vm._t(\"slip-main\")],2),_vm._v(\" \"),_c('div',{ref:\"right\",staticClass:\"nut-leftslip-item-btn\"},[_vm._t(\"slipbtns\")],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import LeftSlip from './leftslip.vue';\nimport './leftslip.scss';\n\nLeftSlip.install = function(Vue) {\n Vue.component(LeftSlip.name, LeftSlip);\n};\n\nexport default LeftSlip;\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack://[name]/webpack/universalModuleDefinition","webpack://[name]/webpack/bootstrap","webpack://[name]/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://[name]/src/packages/leftslip/leftslip.vue","webpack://[name]/./src/packages/leftslip/leftslip.vue?25da","webpack://[name]/./src/packages/leftslip/leftslip.vue","webpack://[name]/./src/packages/leftslip/leftslip.vue?31f4","webpack://[name]/./src/packages/leftslip/index.js"],"names":["root","factory","exports","module","define","amd","self","this","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","props","isClickBack","type","Boolean","default","rightWidth","Number","String","disabled","data","startX","startY","moveX","moveY","buttonWidth","pageWidth","startPos","startLeft","startRightW","isOpen","scrollTop","oldScrollTop","lock","watch","mounted","$nextTick","document","documentElement","clientWidth","sliderEle","$refs","slipItem","beforeDestroy","window","removeEventListener","handleScroll","methods","handleRestet","getElementsByClassName","restSlide","addEventListener","touchStart","parentElement","dataset","e","touches","length","pageX","pageY","transform","split","right","style","width","touchMove","Math","abs","disY","disX","doSlide","touchEnd","distance","className","openSlide","transition","animate","listItems","_vm","_h","$createElement","_c","_self","staticClass","ref","class","on","$event","_t","_v","LeftSlip","install","Vue","component"],"mappings":"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","file":"leftslip/leftslip.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"leftslip\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"leftslip\"] = factory();\n\telse\n\t\troot[\"leftslip\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 196);\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","<template>\n <div class=\"nut-leftslip\">\n <div class=\"nut-leftslip-item\" ref=\"slipItem\" :class=\"{ 'leftslip-open': isOpen }\">\n <div class=\"nut-leftslip-item-main\" @touchstart=\"touchStart($event)\" @touchmove=\"touchMove($event)\" @touchend=\"touchEnd($event)\">\n <slot name=\"slip-main\"></slot>\n </div>\n\n <div class=\"nut-leftslip-item-btn\" ref=\"right\">\n <slot name=\"slipbtns\">\n <!-- <a class=\"nut-delet-btn\" @click.prevent=\"onlyDelClick($event)\" v-if=\"onlyDelBtn\">删除</a> -->\n </slot>\n </div>\n </div>\n </div>\n</template>\n<script>\nexport default {\n name: 'nut-leftslip',\n props: {\n isClickBack: {\n type: Boolean,\n default: true\n },\n rightWidth: {\n type: [Number, String],\n default: '0.8'\n },\n disabled: {\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n startX: 0,\n startY: 0,\n moveX: 0,\n moveY: 0,\n buttonWidth: 0,\n\n pageWidth: null,\n startPos: 0,\n startLeft: 0,\n startRightW: 0,\n isOpen: false,\n scrollTop: 0,\n oldScrollTop: 0,\n lock: false\n };\n },\n watch: {\n // scrollTop(newValue, oldValue) {\n // setTimeout(() => {\n // if (newValue == window.scrollY) { //延时执行后当newValue等于window.scrollY,代表滚动结束\n // console.log('滚动结束');\n // this.oldScrollTop = newValue; //每次滚动结束后都要给oldScrollTop赋值\n // this.lock = false\n // };\n // }, 20); //必须使用延时器,否则每次newValue和window.scrollY都相等,无法判断,20ms刚好大于watch的侦听周期,故延时20ms\n // if (this.oldScrollTop == oldValue) { //每次滚动开始时oldScrollTop与oldValue相等\n // console.log('滚动开始');\n // this.lock = true;\n // }\n // }\n },\n mounted() {\n this.$nextTick(() => {\n for (var slot of this.$slots.slipbtns) {\n this.buttonWidth = this.buttonWidth + slot.elm.offsetWidth;\n }\n });\n this.pageWidth = document.documentElement.clientWidth;\n this.sliderEle = this.$refs.slipItem;\n // this.handleScroll();\n // document.addEventListener('touchstart', this.touchStart, false);\n },\n beforeDestroy() {\n // 移除监听\n window.removeEventListener('scroll', this.handleScroll());\n },\n methods: {\n handleRestet() {\n var slip = document.getElementsByClassName('leftslip-open');\n if (slip) {\n this.restSlide();\n }\n },\n handleScroll() {\n window.addEventListener('scroll', () => {\n this.scrollTop = window.scrollY;\n });\n },\n touchStart(e) {\n if (this.disabled) return false;\n let parentElement = e.currentTarget.parentElement;\n let slip = [];\n slip = document.getElementsByClassName('leftslip-open');\n if (slip) {\n if (parentElement.dataset.type == 1) return;\n this.restSlide();\n }\n if (e.touches.length == 1) {\n this.startX = e.touches[0].pageX;\n this.startY = e.touches[0].pageY;\n }\n const transform = this.sliderEle.style.transform;\n this.startLeft = Number(transform ? transform.split('(')[1].split('px')[0] : 0);\n this.startRightW = this.startLeft < 0 ? Number(this.$refs.right.style.width.split('px')[0]) : 0;\n },\n\n touchMove(e) {\n if (this.disabled) return false;\n let parentElement = e.currentTarget.parentElement;\n\n let disX = e.touches[0].pageX - this.startX; // >0 右滑,<0 左滑\n let disY = e.touches[0].pageY - this.startY;\n if (e.touches.length == 1) {\n if (Math.abs(disY) < 5) {\n // console.log(disX, disY)\n if (disX > 0 || (disX > 0 && this.startLeft >= 0)) {\n //禁止右滑\n return false;\n } else {\n this.doSlide(-this.buttonWidth, true); // 最大滑动距离为右侧宽度\n }\n }\n }\n },\n touchEnd(e) {\n if (this.disabled) return false;\n let parentElement = e.currentTarget.parentElement;\n const disX = e.changedTouches[0].pageX - this.startX; // >0 右滑,<0 左滑\n let distance;\n // console.log(1, disX, this.isClickBack)\n if (!this.isClickBack && disX === 0) {\n // 点击时不收起右侧\n // console.log(2, disX, this.isClickBack)\n return false;\n } else {\n if (-disX > 50) {\n // 向左滑动超过阙值时,右侧滑出固定距离\n distance = this.buttonWidth > this.pageWidth ? this.pageWidth * Number(this.rightWidth) : this.buttonWidth;\n parentElement.className = 'nut-leftslip-item leftslip-open';\n parentElement.dataset.type = 1;\n } else {\n // 向左滑动未超过阙值,或向右滑动时,回原位\n distance = 0;\n parentElement.className = 'nut-leftslip-item';\n parentElement.dataset.type = 0;\n }\n // console.log(3, disX, this.isClickBack)\n this.doSlide(-distance, true);\n }\n },\n openSlide() {\n this.isOpen = true;\n const distance = this.buttonWidth > this.pageWidth ? this.pageWidth * Number(this.rightWidth) : this.buttonWidth;\n this.doSlide(-distance, true);\n },\n doSlide(distance, animate = false) {\n this.sliderEle.style.transform = `translateX(${distance}px)`;\n this.$refs.right.style.width = -distance + 'px';\n this.sliderEle.style.transition = animate ? 'transform .5s' : 'initial';\n this.$refs.right.style.transition = animate ? 'width .5s' : 'initial';\n },\n\n restSlide() {\n let listItems = document.querySelectorAll('.nut-leftslip-item.leftslip-open');\n\n // 复位\n for (let i = 0; i < listItems.length; i++) {\n listItems[i].style = 'transform:translateX(0px)';\n listItems[i].dataset.type = 0; //是否展开标志位默认0,左滑展开为1,右滑隐藏为0\n listItems[i].className = 'nut-leftslip-item';\n this.isOpen = false;\n }\n }\n }\n};\n</script>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./leftslip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./leftslip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./leftslip.vue?vue&type=template&id=f0919bdc&\"\nimport script from \"./leftslip.vue?vue&type=script&lang=js&\"\nexport * from \"./leftslip.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"nut-leftslip\"},[_c('div',{ref:\"slipItem\",staticClass:\"nut-leftslip-item\",class:{ 'leftslip-open': _vm.isOpen }},[_c('div',{staticClass:\"nut-leftslip-item-main\",on:{\"touchstart\":function($event){return _vm.touchStart($event)},\"touchmove\":function($event){return _vm.touchMove($event)},\"touchend\":function($event){return _vm.touchEnd($event)}}},[_vm._t(\"slip-main\")],2),_vm._v(\" \"),_c('div',{ref:\"right\",staticClass:\"nut-leftslip-item-btn\"},[_vm._t(\"slipbtns\")],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import LeftSlip from './leftslip.vue';\nimport './leftslip.scss';\n\nLeftSlip.install = function(Vue) {\n Vue.component(LeftSlip.name, LeftSlip);\n};\n\nexport default LeftSlip;\n"],"sourceRoot":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @nutui/nutui v2.3.
|
|
2
|
+
* @nutui/nutui v2.3.7 - luckdraw.css, 78f455d4cba8a497b5f5, Wed Dec 22 2021 20:57:26 GMT+0800 (中国标准时间)
|
|
3
3
|
* (c) 2017-2020 JDC
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/.nut-luckdraw{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);text-align:center}.nut-luckdraw .drawTable-name{position:absolute;left:10px;top:20px;width:-webkit-calc(100% - 20px);width:calc(100% - 20px);font-size:12px;text-align:center;color:#ff5722}.nut-luckdraw .drawTable-img{position:absolute;left:-webkit-calc(50% - 15px);left:calc(50% - 15px);top:60px;width:30px;height:30px}.nut-luckdraw .drawTable-img img{display:inline-block;width:100%;height:100%}.nut-luckdraw .lucktable{position:absolute;left:0;top:0;width:100%;height:100%}.nut-luckdraw .prize{position:absolute;left:25%;top:0;width:50%;height:50%}.nut-luckdraw .prize .item{position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom}.pointer{position:absolute;left:50%;top:50%;-webkit-transform:translate(-43.75%,-50%);-ms-transform:translate(-43.75%,-50%);transform:translate(-43.75%,-50%)}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @nutui/nutui v2.3.
|
|
2
|
+
* @nutui/nutui v2.3.7 - luckdraw.js, 78f455d4cba8a497b5f5, Wed Dec 22 2021 20:57:26 GMT+0800 (中国标准时间)
|
|
3
3
|
* (c) 2017-2020 JDC
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("luckdraw",[],e):"object"==typeof exports?exports.luckdraw=e():t.luckdraw=e()}("undefined"!=typeof self?self:this,(function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(n,i,function(e){return t[e]}.bind(null,i));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="./",r(r.s=
|
|
6
|
+
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("luckdraw",[],e):"object"==typeof exports?exports.luckdraw=e():t.luckdraw=e()}("undefined"!=typeof self?self:this,(function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(n,i,function(e){return t[e]}.bind(null,i));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="./",r(r.s=199)}({0:function(t,e,r){"use strict";function n(t,e,r,n,i,o,s,a){var u,l="function"==typeof t?t.options:t;if(e&&(l.render=e,l.staticRenderFns=r,l._compiled=!0),n&&(l.functional=!0),o&&(l._scopeId="data-v-"+o),s?(u=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(s)},l._ssrRegister=u):i&&(u=a?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),u)if(l.functional){l._injectStyles=u;var c=l.render;l.render=function(t,e){return u.call(e),c(t,e)}}else{var f=l.beforeCreate;l.beforeCreate=f?[].concat(f,u):[u]}return{exports:t,options:l}}r.d(e,"a",(function(){return n}))},133:function(t,e,r){},199:function(t,e,r){"use strict";r.r(e);var n={name:"nut-luckdraw",mounted:function(){this.init()},props:{luckWidth:{required:!0},luckHeight:{required:!0},prizeList:{required:!0},turnsNumber:{default:5},styleOpt:{default:function(){return{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}},watch:{prizeList:function(t,e){this.init()}},data:function(){return{winningPrize:0,startRotateDegree:0,rotateAngle:0,rotateTransition:""}},methods:{getRotateAngle:function(t){var e=360/this.prizeList.length*t+180/this.prizeList.length;return{transform:"rotate(".concat(e,"deg)")}},init:function(){var t=this.styleOpt,e=this.prizeList.length,r=t.prizeBgColors,n=t.borderColor,i=this.$refs.canvas.getContext("2d"),o=this.$refs.canvas.width=this.$refs.luckdraw.clientWidth,s=this.$refs.canvas.height=this.$refs.luckdraw.clientHeight;i.translate(0,s),i.rotate(-90*Math.PI/180);var a=o/2-1,u=2*Math.PI/e;i.clearRect(0,0,o,s),i.strokeStyle=n;for(var l=0;l<e;l++){var c=l*u;this.prizeList[l].prizeColor?i.fillStyle=this.prizeList[l].prizeColor:i.fillStyle=r[l],i.beginPath(),i.arc(.5*o,.5*s,a,c,c+u,!1),i.arc(.5*o,.5*s,0,c+u,c,!0),i.stroke(),i.fill(),i.save()}},rotate:function(t){var e=this,r=this.turnsTime,n=this.startRotateDegree+360*this.turnsNumber+360-(180/this.prizeList.length+360/this.prizeList.length*t)-this.startRotateDegree%360;this.startRotateDegree=n,this.rotateAngle="rotate(".concat(n,"deg)"),this.rotateTransition="transform ".concat(r,"s cubic-bezier(0.250, 0.460, 0.455, 0.995)"),setTimeout((function(){e.$emit("end-turns")}),1e3*r+500)}}},i=r(0),o=Object(i.a)(n,(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{ref:"luckdraw",staticClass:"nut-luckdraw",style:{width:t.luckWidth,height:t.luckHeight}},[r("div",{staticClass:"lucktable",style:{transform:t.rotateAngle,transition:t.rotateTransition}},[r("canvas",{ref:"canvas",attrs:{id:"canvas"}},[t._v("\n 浏览器版本过低\n ")]),t._v(" "),r("div",{staticClass:"prize"},t._l(t.prizeList,(function(e,n){return r("div",{key:n,staticClass:"item",style:t.getRotateAngle(n)},[t._t("item",null,{item:e})],2)})),0)])])}),[],!1,null,null,null).exports;r(133);o.install=function(t){t.component(o.name,o)};e.default=o}})}));
|
|
7
7
|
//# sourceMappingURL=luckdraw.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://[name]/webpack/universalModuleDefinition","webpack://[name]/webpack/bootstrap","webpack://[name]/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://[name]/./src/packages/luckdraw/luckdraw.vue?e845","webpack://[name]/./src/packages/luckdraw/luckdraw.vue?2393","webpack://[name]/src/packages/luckdraw/luckdraw.vue","webpack://[name]/./src/packages/luckdraw/luckdraw.vue","webpack://[name]/./src/packages/luckdraw/index.js"],"names":["root","factory","exports","module","define","amd","self","this","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","mounted","init","props","luckWidth","required","luckHeight","prizeList","turnsNumber","default","styleOpt","prizeBgColors","borderColor","turnsTime","watch","data","winningPrize","startRotateDegree","rotateAngle","rotateTransition","methods","getRotateAngle","transform","ctx","translate","canvasH","rotate","clearRect","canvasW","strokeStyle","index","fillStyle","beginPath","arc","outRadius","angle","baseAngle","stroke","fill","save","setTimeout","_vm","_h","$createElement","_c","_self","ref","staticClass","style","width","height","transition","attrs","_v","_l","item","_t","LuckDraw","install","Vue","component"],"mappings":"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","file":"luckdraw/luckdraw.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"luckdraw\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"luckdraw\"] = factory();\n\telse\n\t\troot[\"luckdraw\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 198);\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"luckdraw\",staticClass:\"nut-luckdraw\",style:({ width: _vm.luckWidth, height: _vm.luckHeight })},[_c('div',{staticClass:\"lucktable\",style:({ transform: _vm.rotateAngle, transition: _vm.rotateTransition })},[_c('canvas',{ref:\"canvas\",attrs:{\"id\":\"canvas\"}},[_vm._v(\"\\n 浏览器版本过低\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"prize\"},_vm._l((_vm.prizeList),function(item,index){return _c('div',{key:index,staticClass:\"item\",style:(_vm.getRotateAngle(index))},[_vm._t(\"item\",null,{\"item\":item})],2)}),0)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./luckdraw.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./luckdraw.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"nut-luckdraw\" ref=\"luckdraw\" :style=\"{ width: luckWidth, height: luckHeight }\">\n <div class=\"lucktable\" :style=\"{ transform: rotateAngle, transition: rotateTransition }\">\n <canvas id=\"canvas\" ref=\"canvas\">\n 浏览器版本过低\n </canvas>\n <div class=\"prize\">\n <div v-for=\"(item, index) in prizeList\" class=\"item\" :style=\"getRotateAngle(index)\" :key=\"index\">\n <slot name=\"item\" :item=\"item\"></slot>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nexport default {\n name: 'nut-luckdraw',\n mounted() {\n this.init();\n },\n props: {\n luckWidth: {\n required: true\n },\n luckHeight: {\n required: true\n },\n prizeList: {\n required: true\n },\n turnsNumber: {\n default: 5\n },\n styleOpt: {\n default: () => {\n return {\n // 每一块扇形的背景色,默认值,可通过父组件来改变\n prizeBgColors: [\n 'rgb(255, 231, 149)',\n 'rgb(255, 247, 223)',\n 'rgb(255, 231, 149)',\n 'rgb(255, 247, 223)',\n 'rgb(255, 231, 149)',\n 'rgb(255, 247, 223)'\n ],\n // 每一块扇形的外边框颜色,默认值,可通过父组件来改变\n borderColor: '#ff9800'\n };\n }\n },\n turnsTime: {\n // 转动需要持续的时间(秒)\n default: 5\n }\n },\n watch: {\n prizeList: function(newVal, oldVal) {\n this.init();\n }\n },\n data() {\n return {\n winningPrize: 0,\n // 开始转动的角度\n startRotateDegree: 0,\n // 设置指针默认指向的位置,现在是默认指向2个扇形之间的边线上\n rotateAngle: 0, //`rotate(30deg)`\n rotateTransition: ''\n };\n },\n methods: {\n // 根据index计算每一格要旋转的角度的样式\n getRotateAngle(index) {\n const angle = (360 / this.prizeList.length) * index + 180 / this.prizeList.length;\n return {\n transform: `rotate(${angle}deg)`\n };\n },\n // 初始化圆形转盘canvas\n init() {\n const data = this.styleOpt;\n const prizeNum = this.prizeList.length;\n const { prizeBgColors, borderColor } = data;\n // 开始绘画\n const canvas = this.$refs.canvas;\n const ctx = canvas.getContext('2d');\n const canvasW = (this.$refs.canvas.width = this.$refs.luckdraw.clientWidth); // 画板的高度\n const canvasH = (this.$refs.canvas.height = this.$refs.luckdraw.clientHeight); // 画板的宽度\n // translate方法重新映射画布上的 (0,0) 位置\n ctx.translate(0, canvasH);\n // rotate方法旋转当前的绘图,因为文字是和当前扇形中心线垂直的\n ctx.rotate((-90 * Math.PI) / 180);\n // 圆环的外圆的半径,可用来调整圆盘大小来适应外部盒子的大小\n const outRadius = canvasW / 2 - 1;\n // 圆环的内圆的半径\n const innerRadius = 0;\n const baseAngle = (Math.PI * 2) / prizeNum; // 每个奖项所占角度数\n ctx.clearRect(0, 0, canvasW, canvasH); //去掉背景默认色\n ctx.strokeStyle = borderColor; // 设置画图线的颜色\n for (let index = 0; index < prizeNum; index++) {\n const angle = index * baseAngle;\n if (this.prizeList[index]['prizeColor']) {\n ctx.fillStyle = this.prizeList[index]['prizeColor']; //设置每个扇形区域的颜色,根据每条数据中单独设置的优先\n } else {\n ctx.fillStyle = prizeBgColors[index]; //设置每个扇形区域的颜色\n }\n ctx.beginPath(); //开始绘制\n // 标准圆弧:arc(x,y,radius,startAngle,endAngle,anticlockwise)\n ctx.arc(canvasW * 0.5, canvasH * 0.5, outRadius, angle, angle + baseAngle, false);\n ctx.arc(canvasW * 0.5, canvasH * 0.5, innerRadius, angle + baseAngle, angle, true);\n ctx.stroke();\n ctx.fill();\n ctx.save();\n }\n },\n // 转动起来\n rotate(index) {\n const turnsTime = this.turnsTime;\n const rotateAngle =\n this.startRotateDegree +\n this.turnsNumber * 360 +\n 360 -\n (180 / this.prizeList.length + (360 / this.prizeList.length) * index) -\n (this.startRotateDegree % 360);\n this.startRotateDegree = rotateAngle;\n this.rotateAngle = `rotate(${rotateAngle}deg)`;\n this.rotateTransition = `transform ${turnsTime}s cubic-bezier(0.250, 0.460, 0.455, 0.995)`;\n setTimeout(() => {\n this.$emit('end-turns');\n }, turnsTime * 1000 + 500);\n }\n }\n};\n</script>\n","import { render, staticRenderFns } from \"./luckdraw.vue?vue&type=template&id=c2015698&\"\nimport script from \"./luckdraw.vue?vue&type=script&lang=js&\"\nexport * from \"./luckdraw.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import LuckDraw from './luckdraw.vue';\nimport './luckdraw.scss';\n\nLuckDraw.install = function(Vue) {\n Vue.component(LuckDraw.name, LuckDraw);\n};\n\nexport default LuckDraw;\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack://[name]/webpack/universalModuleDefinition","webpack://[name]/webpack/bootstrap","webpack://[name]/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://[name]/./src/packages/luckdraw/luckdraw.vue?e845","webpack://[name]/./src/packages/luckdraw/luckdraw.vue?2393","webpack://[name]/src/packages/luckdraw/luckdraw.vue","webpack://[name]/./src/packages/luckdraw/luckdraw.vue","webpack://[name]/./src/packages/luckdraw/index.js"],"names":["root","factory","exports","module","define","amd","self","this","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","mounted","init","props","luckWidth","required","luckHeight","prizeList","turnsNumber","default","styleOpt","prizeBgColors","borderColor","turnsTime","watch","data","winningPrize","startRotateDegree","rotateAngle","rotateTransition","methods","getRotateAngle","transform","ctx","translate","canvasH","rotate","clearRect","canvasW","strokeStyle","index","fillStyle","beginPath","arc","outRadius","angle","baseAngle","stroke","fill","save","setTimeout","_vm","_h","$createElement","_c","_self","ref","staticClass","style","width","height","transition","attrs","_v","_l","item","_t","LuckDraw","install","Vue","component"],"mappings":"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","file":"luckdraw/luckdraw.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"luckdraw\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"luckdraw\"] = factory();\n\telse\n\t\troot[\"luckdraw\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 199);\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"luckdraw\",staticClass:\"nut-luckdraw\",style:({ width: _vm.luckWidth, height: _vm.luckHeight })},[_c('div',{staticClass:\"lucktable\",style:({ transform: _vm.rotateAngle, transition: _vm.rotateTransition })},[_c('canvas',{ref:\"canvas\",attrs:{\"id\":\"canvas\"}},[_vm._v(\"\\n 浏览器版本过低\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"prize\"},_vm._l((_vm.prizeList),function(item,index){return _c('div',{key:index,staticClass:\"item\",style:(_vm.getRotateAngle(index))},[_vm._t(\"item\",null,{\"item\":item})],2)}),0)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./luckdraw.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./luckdraw.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"nut-luckdraw\" ref=\"luckdraw\" :style=\"{ width: luckWidth, height: luckHeight }\">\n <div class=\"lucktable\" :style=\"{ transform: rotateAngle, transition: rotateTransition }\">\n <canvas id=\"canvas\" ref=\"canvas\">\n 浏览器版本过低\n </canvas>\n <div class=\"prize\">\n <div v-for=\"(item, index) in prizeList\" class=\"item\" :style=\"getRotateAngle(index)\" :key=\"index\">\n <slot name=\"item\" :item=\"item\"></slot>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nexport default {\n name: 'nut-luckdraw',\n mounted() {\n this.init();\n },\n props: {\n luckWidth: {\n required: true\n },\n luckHeight: {\n required: true\n },\n prizeList: {\n required: true\n },\n turnsNumber: {\n default: 5\n },\n styleOpt: {\n default: () => {\n return {\n // 每一块扇形的背景色,默认值,可通过父组件来改变\n prizeBgColors: [\n 'rgb(255, 231, 149)',\n 'rgb(255, 247, 223)',\n 'rgb(255, 231, 149)',\n 'rgb(255, 247, 223)',\n 'rgb(255, 231, 149)',\n 'rgb(255, 247, 223)'\n ],\n // 每一块扇形的外边框颜色,默认值,可通过父组件来改变\n borderColor: '#ff9800'\n };\n }\n },\n turnsTime: {\n // 转动需要持续的时间(秒)\n default: 5\n }\n },\n watch: {\n prizeList: function(newVal, oldVal) {\n this.init();\n }\n },\n data() {\n return {\n winningPrize: 0,\n // 开始转动的角度\n startRotateDegree: 0,\n // 设置指针默认指向的位置,现在是默认指向2个扇形之间的边线上\n rotateAngle: 0, //`rotate(30deg)`\n rotateTransition: ''\n };\n },\n methods: {\n // 根据index计算每一格要旋转的角度的样式\n getRotateAngle(index) {\n const angle = (360 / this.prizeList.length) * index + 180 / this.prizeList.length;\n return {\n transform: `rotate(${angle}deg)`\n };\n },\n // 初始化圆形转盘canvas\n init() {\n const data = this.styleOpt;\n const prizeNum = this.prizeList.length;\n const { prizeBgColors, borderColor } = data;\n // 开始绘画\n const canvas = this.$refs.canvas;\n const ctx = canvas.getContext('2d');\n const canvasW = (this.$refs.canvas.width = this.$refs.luckdraw.clientWidth); // 画板的高度\n const canvasH = (this.$refs.canvas.height = this.$refs.luckdraw.clientHeight); // 画板的宽度\n // translate方法重新映射画布上的 (0,0) 位置\n ctx.translate(0, canvasH);\n // rotate方法旋转当前的绘图,因为文字是和当前扇形中心线垂直的\n ctx.rotate((-90 * Math.PI) / 180);\n // 圆环的外圆的半径,可用来调整圆盘大小来适应外部盒子的大小\n const outRadius = canvasW / 2 - 1;\n // 圆环的内圆的半径\n const innerRadius = 0;\n const baseAngle = (Math.PI * 2) / prizeNum; // 每个奖项所占角度数\n ctx.clearRect(0, 0, canvasW, canvasH); //去掉背景默认色\n ctx.strokeStyle = borderColor; // 设置画图线的颜色\n for (let index = 0; index < prizeNum; index++) {\n const angle = index * baseAngle;\n if (this.prizeList[index]['prizeColor']) {\n ctx.fillStyle = this.prizeList[index]['prizeColor']; //设置每个扇形区域的颜色,根据每条数据中单独设置的优先\n } else {\n ctx.fillStyle = prizeBgColors[index]; //设置每个扇形区域的颜色\n }\n ctx.beginPath(); //开始绘制\n // 标准圆弧:arc(x,y,radius,startAngle,endAngle,anticlockwise)\n ctx.arc(canvasW * 0.5, canvasH * 0.5, outRadius, angle, angle + baseAngle, false);\n ctx.arc(canvasW * 0.5, canvasH * 0.5, innerRadius, angle + baseAngle, angle, true);\n ctx.stroke();\n ctx.fill();\n ctx.save();\n }\n },\n // 转动起来\n rotate(index) {\n const turnsTime = this.turnsTime;\n const rotateAngle =\n this.startRotateDegree +\n this.turnsNumber * 360 +\n 360 -\n (180 / this.prizeList.length + (360 / this.prizeList.length) * index) -\n (this.startRotateDegree % 360);\n this.startRotateDegree = rotateAngle;\n this.rotateAngle = `rotate(${rotateAngle}deg)`;\n this.rotateTransition = `transform ${turnsTime}s cubic-bezier(0.250, 0.460, 0.455, 0.995)`;\n setTimeout(() => {\n this.$emit('end-turns');\n }, turnsTime * 1000 + 500);\n }\n }\n};\n</script>\n","import { render, staticRenderFns } from \"./luckdraw.vue?vue&type=template&id=c2015698&\"\nimport script from \"./luckdraw.vue?vue&type=script&lang=js&\"\nexport * from \"./luckdraw.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import LuckDraw from './luckdraw.vue';\nimport './luckdraw.scss';\n\nLuckDraw.install = function(Vue) {\n Vue.component(LuckDraw.name, LuckDraw);\n};\n\nexport default LuckDraw;\n"],"sourceRoot":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @nutui/nutui v2.3.
|
|
2
|
+
* @nutui/nutui v2.3.7 - luckycard.css, 78f455d4cba8a497b5f5, Wed Dec 22 2021 20:57:26 GMT+0800 (中国标准时间)
|
|
3
3
|
* (c) 2017-2020 JDC
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/.nut-luckycard{position:relative}.nut-luckycard .nut-cover{position:absolute;top:0;left:0}.nut-luckycard .nut-content{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:100%;width:100%;line-height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @nutui/nutui v2.3.
|
|
2
|
+
* @nutui/nutui v2.3.7 - luckycard.js, 78f455d4cba8a497b5f5, Wed Dec 22 2021 20:57:26 GMT+0800 (中国标准时间)
|
|
3
3
|
* (c) 2017-2020 JDC
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("luckycard",[],e):"object"==typeof exports?exports.luckycard=e():t.luckycard=e()}("undefined"!=typeof self?self:this,(function(){return function(t){var e={};function n(o){if(e[o])return e[o].exports;var i=e[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(o,i,function(e){return t[e]}.bind(null,i));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="./",n(n.s=
|
|
6
|
+
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("luckycard",[],e):"object"==typeof exports?exports.luckycard=e():t.luckycard=e()}("undefined"!=typeof self?self:this,(function(){return function(t){var e={};function n(o){if(e[o])return e[o].exports;var i=e[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(o,i,function(e){return t[e]}.bind(null,i));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="./",n(n.s=168)}({0:function(t,e,n){"use strict";function o(t,e,n,o,i,r,c,s){var a,l="function"==typeof t?t.options:t;if(e&&(l.render=e,l.staticRenderFns=n,l._compiled=!0),o&&(l.functional=!0),r&&(l._scopeId="data-v-"+r),c?(a=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(c)},l._ssrRegister=a):i&&(a=s?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),a)if(l.functional){l._injectStyles=a;var u=l.render;l.render=function(t,e){return a.call(e),u(t,e)}}else{var h=l.beforeCreate;l.beforeCreate=h?[].concat(h,a):[a]}return{exports:t,options:l}}n.d(e,"a",(function(){return o}))},150:function(t,e,n){"use strict";n(75)},151:function(t,e,n){},168:function(t,e,n){"use strict";n.r(e);var o=n(7),i=n.n(o);function r(t,e){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,e)}function c(t,e,n){var o=t.getImageData(0,0,this.cWidth,this.cHeight),i=[];s(o.data,(function(t,e){var n=o.data[e+3];0===n&&i.push(n)})),i.length/o.data.length>n&&e&&"function"==typeof e&&e()}function s(t,e){return Array.prototype.forEach.call(t,(function(t,n){e(t,n)}))}function a(){var t=document.createElement("canvas");return!(!t.getContext||!t.getContext("2d"))}function l(t){t.preventDefault(),this.moveEventHandler=u.bind(this),this.cover.addEventListener(this.events[1],this.moveEventHandler,!1),this.endEventHandler=h.bind(this),document.addEventListener(this.events[2],this.endEventHandler,!1)}function u(t){t.preventDefault();var e=this.supportTouch?t.touches[0]:t,n=this.cover.getBoundingClientRect(),o=document.documentElement.scrollTop||document.body.scrollTop,i=document.documentElement.scrollLeft||document.body.scrollLeft,r=e.pageX-n.left-i,c=e.pageY-n.top-o;this.ctx.beginPath(),this.ctx.fillStyle="#FFFFFF",this.ctx.globalCompositeOperation="destination-out",this.ctx.arc(r,c,10,0,2*Math.PI),this.ctx.fill()}function h(t){t.preventDefault(),this.opt.callback&&"function"==typeof this.opt.callback&&c.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)}r.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,e=new Image;e.src=this.opt.coverImg,e.onload=function(){t.ctx.drawImage(e,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},r.prototype.eventDetect=function(){"ontouchstart"in window&&(this.supportTouch=!0),this.events=this.supportTouch?["touchstart","touchmove","touchend"]:["mousedown","mousemove","mouseup"],this.addEvent()},r.prototype.addEvent=function(){this.startEventHandler=l.bind(this),this.cover.addEventListener(this.events[0],this.startEventHandler,!1)},r.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)},r.prototype.init=function(t,e){if(a()){var n=this;s(arguments,(function(t){if("object"===i()(t))for(var e in t)"callback"===e&&"function"==typeof t[e]?n.opt.callback=t[e].bind(n):e in n.opt&&(n.opt[e]=t[e]);else"function"==typeof t&&(n.opt.callback=t.bind(n))})),this.scratchDiv&&(this.cardDiv=this.scratchDiv.querySelector(".nut-content"),this.cardDiv&&(this.cHeight=this.cardDiv.clientHeight,this.cWidth=this.cardDiv.clientWidth,this.cardDiv.style.opacity=0,this.createCanvas(),this.eventDetect()))}else alert("对不起,当前浏览器不支持Canvas,无法使用本控件!")},r.case=function(t,e){return new r(t,e)};var d=r.case,v={name:"nut-luckycard",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}},data:function(){return{luckcard:null}},methods:{clearCover:function(){console.log(this.luckcard),this.luckcard.clearCover()}},mounted:function(){var t=this;this.$nextTick((function(){var e=t;t.luckcard=d({scratchDiv:t.$el,coverColor:t.coverColor,coverImg:t.coverImg,ratio:Number(t.ratio),callback:function(){this.clearCover(),e.$emit("open",this)}})}))}},f=(n(150),n(0)),p=Object(f.a)(v,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"nut-luckycard",style:{height:this.height+"px",width:this.width+"px"}},[e("div",{staticClass:"nut-content",style:{backgroundColor:this.backgroundColor,fontSize:this.fontSize+"px"},domProps:{innerHTML:this._s(this.content)}})])}),[],!1,null,null,null).exports;n(151);p.install=function(t){t.component(p.name,p)};e.default=p},7:function(t,e){function n(e){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(t.exports=n=function(t){return typeof t},t.exports.default=t.exports,t.exports.__esModule=!0):(t.exports=n=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.default=t.exports,t.exports.__esModule=!0),n(e)}t.exports=n,t.exports.default=t.exports,t.exports.__esModule=!0},75:function(t,e,n){}})}));
|
|
7
7
|
//# sourceMappingURL=luckycard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://[name]/webpack/universalModuleDefinition","webpack://[name]/webpack/bootstrap","webpack://[name]/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://[name]/./src/packages/luckycard/luckycard.vue?807d","webpack://[name]/./src/packages/luckycard/luckycard.vue?62f1","webpack://[name]/./src/packages/luckycard/luckycard.js","webpack://[name]/./src/packages/luckycard/luckycard.vue?a47c","webpack://[name]/src/packages/luckycard/luckycard.vue","webpack://[name]/./src/packages/luckycard/luckycard.vue","webpack://[name]/./src/packages/luckycard/index.js","webpack://[name]/./node_modules/@babel/runtime/helpers/typeof.js"],"names":["root","factory","exports","module","define","amd","self","this","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","LuckyCard","settings","callback","cover","ctx","scratchDiv","cardDiv","cHeight","cWidth","supportTouch","events","startEventHandler","moveEventHandler","endEventHandler","opt","coverColor","coverImg","ratio","init","_calcArea","pixels","getImageData","transPixels","_forEach","data","item","pixel","push","length","items","Array","forEach","idx","_isCanvasSupported","elem","document","createElement","getContext","_startEventHandler","event","preventDefault","_moveEventHandler","addEventListener","_endEventHandler","evt","touches","coverPos","getBoundingClientRect","pageScrollTop","documentElement","scrollTop","body","pageScrollLeft","scrollLeft","mouseX","pageX","left","mouseY","pageY","top","beginPath","fillStyle","globalCompositeOperation","arc","Math","PI","fill","removeEventListener","createCanvas","className","height","width","_this","Image","src","onload","drawImage","fillRect","appendChild","style","opacity","eventDetect","window","addEvent","clearCover","clearRect","arguments","k","querySelector","clientHeight","clientWidth","alert","case","props","content","type","String","default","Number","fontSize","backgroundColor","luckcard","methods","console","log","mounted","$nextTick","_vm","$emit","_h","$createElement","_c","_self","staticClass","domProps","_s","install","Vue","component","_typeof","obj","iterator","constructor"],"mappings":"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","file":"luckycard/luckycard.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"luckycard\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"luckycard\"] = factory();\n\telse\n\t\troot[\"luckycard\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 167);\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--0-0!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--0-3!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./luckycard.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"nut-luckycard\",style:({ height: _vm.height + 'px', width: _vm.width + 'px' })},[_c('div',{staticClass:\"nut-content\",style:({ backgroundColor: _vm.backgroundColor, fontSize: _vm.fontSize + 'px' }),domProps:{\"innerHTML\":_vm._s(_vm.content)}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\n * lucky-card.js - Scratch CARDS based on HTML5 Canvas\n *\n * Copyright (c) 2015 Frans Lee dmon@foxmail.com\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n * Version: 1.0.3\n */\n'use strict';\n\n/**\n * Instantiate parameters\n *\n * @constructor\n */\nfunction LuckyCard(settings, callback) {\n this.cover = null;\n this.ctx = null;\n this.scratchDiv = settings.scratchDiv;\n this.cardDiv = null;\n this.cHeight = 0;\n this.cWidth = 0;\n this.supportTouch = false;\n this.events = [];\n this.startEventHandler = null;\n this.moveEventHandler = null;\n this.endEventHandler = null;\n\n this.opt = {\n coverColor: '#C5C5C5',\n coverImg: '',\n ratio: .8,\n callback: null\n };\n\n this.init(settings, callback);\n};\n\nfunction _calcArea(ctx, callback, ratio) {\n var pixels = ctx.getImageData(0, 0, this.cWidth, this.cHeight);\n var transPixels = [];\n _forEach(pixels.data, function(item, i) {\n var pixel = pixels.data[i + 3];\n if (pixel === 0) {\n transPixels.push(pixel);\n }\n });\n\n if (transPixels.length / pixels.data.length > ratio) {\n callback && typeof callback === 'function' && callback();\n }\n}\n\nfunction _forEach(items, callback) {\n return Array.prototype.forEach.call(items, function(item, idx) {\n callback(item, idx);\n });\n}\n\nfunction _isCanvasSupported() {\n var elem = document.createElement('canvas');\n return !!(elem.getContext && elem.getContext('2d'));\n}\n\n/**\n * touchstart/mousedown event handler\n */\nfunction _startEventHandler(event) {\n event.preventDefault();\n this.moveEventHandler = _moveEventHandler.bind(this);\n this.cover.addEventListener(this.events[1], this.moveEventHandler, false);\n this.endEventHandler = _endEventHandler.bind(this);\n document.addEventListener(this.events[2], this.endEventHandler, false);\n};\n\n/**\n * touchmove/mousemove event handler\n */\nfunction _moveEventHandler(event) {\n event.preventDefault();\n var evt = this.supportTouch ? event.touches[0] : event;\n var coverPos = this.cover.getBoundingClientRect();\n var pageScrollTop = document.documentElement.scrollTop || document.body.scrollTop;\n var pageScrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft;\n var mouseX = evt.pageX - coverPos.left - pageScrollLeft;\n var mouseY = evt.pageY - coverPos.top - pageScrollTop;\n\n this.ctx.beginPath();\n this.ctx.fillStyle = '#FFFFFF';\n this.ctx.globalCompositeOperation = \"destination-out\";\n this.ctx.arc(mouseX, mouseY, 10, 0, 2 * Math.PI);\n this.ctx.fill();\n};\n\n/**\n * touchend/mouseup event handler\n */\nfunction _endEventHandler(event) {\n event.preventDefault();\n if (this.opt.callback && typeof this.opt.callback === 'function') _calcArea.call(this, this.ctx, this.opt.callback, this.opt.ratio);\n this.cover.removeEventListener(this.events[1], this.moveEventHandler, false);\n document.removeEventListener(this.events[2], this.endEventHandler, false);\n};\n\n/**\n * Create Canvas element\n */\nLuckyCard.prototype.createCanvas = function() {\n this.cover = document.createElement('canvas');\n this.cover.className = 'nut-cover';\n this.cover.height = this.cHeight;\n this.cover.width = this.cWidth;\n this.ctx = this.cover.getContext('2d');\n if (this.opt.coverImg) {\n var _this = this;\n var coverImg = new Image();\n coverImg.src = this.opt.coverImg;\n coverImg.onload = function() {\n _this.ctx.drawImage(coverImg, 0, 0, _this.cover.width, _this.cover.height);\n }\n } else {\n this.ctx.fillStyle = this.opt.coverColor;\n this.ctx.fillRect(0, 0, this.cover.width, this.cover.height);\n }\n this.scratchDiv.appendChild(this.cover);\n this.cardDiv.style.opacity = 1;\n}\n\n/**\n * To detect whether support touch events\n */\nLuckyCard.prototype.eventDetect = function() {\n if ('ontouchstart' in window) this.supportTouch = true;\n this.events = this.supportTouch ? ['touchstart', 'touchmove', 'touchend'] : ['mousedown', 'mousemove', 'mouseup'];\n this.addEvent();\n};\n\n/**\n * Add touchstart/mousedown event listener\n */\nLuckyCard.prototype.addEvent = function() {\n this.startEventHandler = _startEventHandler.bind(this);\n this.cover.addEventListener(this.events[0], this.startEventHandler, false);\n};\n\n/**\n * Clear pixels of canvas\n */\nLuckyCard.prototype.clearCover = function() {\n this.ctx.clearRect(0, 0, this.cover.width, this.cover.height);\n this.cover.removeEventListener(this.events[0], this.startEventHandler);\n this.cover.removeEventListener(this.events[1], this.moveEventHandler);\n this.cover.removeEventListener(this.events[2], this.endEventHandler);\n};\n\n\n/**\n * LuckyCard initializer\n *\n * @param {Object} settings Settings for LuckyCard\n * @param {function} callback callback function\n */\nLuckyCard.prototype.init = function(settings, callback) {\n if (!_isCanvasSupported()) {\n alert('对不起,当前浏览器不支持Canvas,无法使用本控件!');\n return;\n }\n var _this = this;\n _forEach(arguments, function(item) {\n if (typeof item === \"object\") {\n for (var k in item) {\n if (k === 'callback' && typeof item[k] === 'function') {\n _this.opt.callback = item[k].bind(_this);\n } else {\n k in _this.opt && (_this.opt[k] = item[k]);\n }\n }\n } else if (typeof item === \"function\") {\n _this.opt.callback = item.bind(_this);\n }\n });\n /* this.scratchDiv = document.getElementById('scratch');*/\n if (!this.scratchDiv) return;\n this.cardDiv = this.scratchDiv.querySelector('.nut-content');\n if (!this.cardDiv) return;\n\n this.cHeight = this.cardDiv.clientHeight;\n this.cWidth = this.cardDiv.clientWidth;\n this.cardDiv.style.opacity = 0;\n this.createCanvas();\n this.eventDetect();\n};\n\n/**\n * To generate an instance of object\n *\n * @param {Object} settings Settings for LuckyCard\n * @param {function} callback callback function\n */\nLuckyCard.case = function(settings, callback) {\n return new LuckyCard(settings, callback);\n};\n\nexport default LuckyCard.case;","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./luckycard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./luckycard.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"nut-luckycard\" :style=\"{ height: height + 'px', width: width + 'px' }\">\n <div class=\"nut-content\" v-html=\"content\" :style=\"{ backgroundColor: backgroundColor, fontSize: fontSize + 'px' }\"></div>\n </div>\n</template>\n\n<script>\nimport LuckyCard from './luckycard.js';\nexport default {\n name: 'nut-luckycard',\n props: {\n content: {\n type: String,\n default: ''\n },\n height: {\n type: [String, Number],\n default: 50\n },\n width: {\n type: [String, Number],\n default: 300\n },\n coverColor: {\n type: String,\n default: '#C5C5C5'\n },\n coverImg: {\n type: String,\n default: ''\n },\n fontSize: {\n type: [String, Number],\n default: 20\n },\n backgroundColor: {\n type: String,\n default: '#FFFFFF'\n },\n ratio: {\n type: [String, Number],\n default: 0.5\n }\n },\n data() {\n return {\n luckcard: null\n };\n },\n methods: {\n clearCover() {\n console.log(this.luckcard);\n this.luckcard.clearCover();\n }\n },\n mounted() {\n this.$nextTick(() => {\n const _vm = this;\n this.luckcard = LuckyCard({\n scratchDiv: this.$el,\n coverColor: this.coverColor,\n coverImg: this.coverImg,\n ratio: Number(this.ratio),\n callback: function() {\n //console.log(this);\n this.clearCover();\n _vm.$emit('open', this);\n }\n });\n });\n }\n};\n</script>\n<style lang=\"scss\">\n.nut-luckycard {\n position: relative;\n .nut-cover {\n position: absolute;\n top: 0;\n left: 0;\n }\n .nut-content {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: 100%;\n line-height: 100%;\n user-select: none;\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./luckycard.vue?vue&type=template&id=1a2402ac&\"\nimport script from \"./luckycard.vue?vue&type=script&lang=js&\"\nexport * from \"./luckycard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./luckycard.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import LuckyCard from './luckycard.vue';\nimport './luckycard.scss';\n\nLuckyCard.install = function(Vue) {\n Vue.component(LuckyCard.name, LuckyCard);\n};\n\nexport default LuckyCard","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack://[name]/webpack/universalModuleDefinition","webpack://[name]/webpack/bootstrap","webpack://[name]/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://[name]/./src/packages/luckycard/luckycard.vue?807d","webpack://[name]/./src/packages/luckycard/luckycard.vue?62f1","webpack://[name]/./src/packages/luckycard/luckycard.js","webpack://[name]/./src/packages/luckycard/luckycard.vue?a47c","webpack://[name]/src/packages/luckycard/luckycard.vue","webpack://[name]/./src/packages/luckycard/luckycard.vue","webpack://[name]/./src/packages/luckycard/index.js","webpack://[name]/./node_modules/@babel/runtime/helpers/typeof.js"],"names":["root","factory","exports","module","define","amd","self","this","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","LuckyCard","settings","callback","cover","ctx","scratchDiv","cardDiv","cHeight","cWidth","supportTouch","events","startEventHandler","moveEventHandler","endEventHandler","opt","coverColor","coverImg","ratio","init","_calcArea","pixels","getImageData","transPixels","_forEach","data","item","pixel","push","length","items","Array","forEach","idx","_isCanvasSupported","elem","document","createElement","getContext","_startEventHandler","event","preventDefault","_moveEventHandler","addEventListener","_endEventHandler","evt","touches","coverPos","getBoundingClientRect","pageScrollTop","documentElement","scrollTop","body","pageScrollLeft","scrollLeft","mouseX","pageX","left","mouseY","pageY","top","beginPath","fillStyle","globalCompositeOperation","arc","Math","PI","fill","removeEventListener","createCanvas","className","height","width","_this","Image","src","onload","drawImage","fillRect","appendChild","style","opacity","eventDetect","window","addEvent","clearCover","clearRect","arguments","k","querySelector","clientHeight","clientWidth","alert","case","props","content","type","String","default","Number","fontSize","backgroundColor","luckcard","methods","console","log","mounted","$nextTick","_vm","$emit","_h","$createElement","_c","_self","staticClass","domProps","_s","install","Vue","component","_typeof","obj","iterator","constructor"],"mappings":"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","file":"luckycard/luckycard.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"luckycard\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"luckycard\"] = factory();\n\telse\n\t\troot[\"luckycard\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 168);\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--0-0!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--0-3!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./luckycard.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"nut-luckycard\",style:({ height: _vm.height + 'px', width: _vm.width + 'px' })},[_c('div',{staticClass:\"nut-content\",style:({ backgroundColor: _vm.backgroundColor, fontSize: _vm.fontSize + 'px' }),domProps:{\"innerHTML\":_vm._s(_vm.content)}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\n * lucky-card.js - Scratch CARDS based on HTML5 Canvas\n *\n * Copyright (c) 2015 Frans Lee dmon@foxmail.com\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n * Version: 1.0.3\n */\n'use strict';\n\n/**\n * Instantiate parameters\n *\n * @constructor\n */\nfunction LuckyCard(settings, callback) {\n this.cover = null;\n this.ctx = null;\n this.scratchDiv = settings.scratchDiv;\n this.cardDiv = null;\n this.cHeight = 0;\n this.cWidth = 0;\n this.supportTouch = false;\n this.events = [];\n this.startEventHandler = null;\n this.moveEventHandler = null;\n this.endEventHandler = null;\n\n this.opt = {\n coverColor: '#C5C5C5',\n coverImg: '',\n ratio: .8,\n callback: null\n };\n\n this.init(settings, callback);\n};\n\nfunction _calcArea(ctx, callback, ratio) {\n var pixels = ctx.getImageData(0, 0, this.cWidth, this.cHeight);\n var transPixels = [];\n _forEach(pixels.data, function(item, i) {\n var pixel = pixels.data[i + 3];\n if (pixel === 0) {\n transPixels.push(pixel);\n }\n });\n\n if (transPixels.length / pixels.data.length > ratio) {\n callback && typeof callback === 'function' && callback();\n }\n}\n\nfunction _forEach(items, callback) {\n return Array.prototype.forEach.call(items, function(item, idx) {\n callback(item, idx);\n });\n}\n\nfunction _isCanvasSupported() {\n var elem = document.createElement('canvas');\n return !!(elem.getContext && elem.getContext('2d'));\n}\n\n/**\n * touchstart/mousedown event handler\n */\nfunction _startEventHandler(event) {\n event.preventDefault();\n this.moveEventHandler = _moveEventHandler.bind(this);\n this.cover.addEventListener(this.events[1], this.moveEventHandler, false);\n this.endEventHandler = _endEventHandler.bind(this);\n document.addEventListener(this.events[2], this.endEventHandler, false);\n};\n\n/**\n * touchmove/mousemove event handler\n */\nfunction _moveEventHandler(event) {\n event.preventDefault();\n var evt = this.supportTouch ? event.touches[0] : event;\n var coverPos = this.cover.getBoundingClientRect();\n var pageScrollTop = document.documentElement.scrollTop || document.body.scrollTop;\n var pageScrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft;\n var mouseX = evt.pageX - coverPos.left - pageScrollLeft;\n var mouseY = evt.pageY - coverPos.top - pageScrollTop;\n\n this.ctx.beginPath();\n this.ctx.fillStyle = '#FFFFFF';\n this.ctx.globalCompositeOperation = \"destination-out\";\n this.ctx.arc(mouseX, mouseY, 10, 0, 2 * Math.PI);\n this.ctx.fill();\n};\n\n/**\n * touchend/mouseup event handler\n */\nfunction _endEventHandler(event) {\n event.preventDefault();\n if (this.opt.callback && typeof this.opt.callback === 'function') _calcArea.call(this, this.ctx, this.opt.callback, this.opt.ratio);\n this.cover.removeEventListener(this.events[1], this.moveEventHandler, false);\n document.removeEventListener(this.events[2], this.endEventHandler, false);\n};\n\n/**\n * Create Canvas element\n */\nLuckyCard.prototype.createCanvas = function() {\n this.cover = document.createElement('canvas');\n this.cover.className = 'nut-cover';\n this.cover.height = this.cHeight;\n this.cover.width = this.cWidth;\n this.ctx = this.cover.getContext('2d');\n if (this.opt.coverImg) {\n var _this = this;\n var coverImg = new Image();\n coverImg.src = this.opt.coverImg;\n coverImg.onload = function() {\n _this.ctx.drawImage(coverImg, 0, 0, _this.cover.width, _this.cover.height);\n }\n } else {\n this.ctx.fillStyle = this.opt.coverColor;\n this.ctx.fillRect(0, 0, this.cover.width, this.cover.height);\n }\n this.scratchDiv.appendChild(this.cover);\n this.cardDiv.style.opacity = 1;\n}\n\n/**\n * To detect whether support touch events\n */\nLuckyCard.prototype.eventDetect = function() {\n if ('ontouchstart' in window) this.supportTouch = true;\n this.events = this.supportTouch ? ['touchstart', 'touchmove', 'touchend'] : ['mousedown', 'mousemove', 'mouseup'];\n this.addEvent();\n};\n\n/**\n * Add touchstart/mousedown event listener\n */\nLuckyCard.prototype.addEvent = function() {\n this.startEventHandler = _startEventHandler.bind(this);\n this.cover.addEventListener(this.events[0], this.startEventHandler, false);\n};\n\n/**\n * Clear pixels of canvas\n */\nLuckyCard.prototype.clearCover = function() {\n this.ctx.clearRect(0, 0, this.cover.width, this.cover.height);\n this.cover.removeEventListener(this.events[0], this.startEventHandler);\n this.cover.removeEventListener(this.events[1], this.moveEventHandler);\n this.cover.removeEventListener(this.events[2], this.endEventHandler);\n};\n\n\n/**\n * LuckyCard initializer\n *\n * @param {Object} settings Settings for LuckyCard\n * @param {function} callback callback function\n */\nLuckyCard.prototype.init = function(settings, callback) {\n if (!_isCanvasSupported()) {\n alert('对不起,当前浏览器不支持Canvas,无法使用本控件!');\n return;\n }\n var _this = this;\n _forEach(arguments, function(item) {\n if (typeof item === \"object\") {\n for (var k in item) {\n if (k === 'callback' && typeof item[k] === 'function') {\n _this.opt.callback = item[k].bind(_this);\n } else {\n k in _this.opt && (_this.opt[k] = item[k]);\n }\n }\n } else if (typeof item === \"function\") {\n _this.opt.callback = item.bind(_this);\n }\n });\n /* this.scratchDiv = document.getElementById('scratch');*/\n if (!this.scratchDiv) return;\n this.cardDiv = this.scratchDiv.querySelector('.nut-content');\n if (!this.cardDiv) return;\n\n this.cHeight = this.cardDiv.clientHeight;\n this.cWidth = this.cardDiv.clientWidth;\n this.cardDiv.style.opacity = 0;\n this.createCanvas();\n this.eventDetect();\n};\n\n/**\n * To generate an instance of object\n *\n * @param {Object} settings Settings for LuckyCard\n * @param {function} callback callback function\n */\nLuckyCard.case = function(settings, callback) {\n return new LuckyCard(settings, callback);\n};\n\nexport default LuckyCard.case;","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./luckycard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./luckycard.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"nut-luckycard\" :style=\"{ height: height + 'px', width: width + 'px' }\">\n <div class=\"nut-content\" v-html=\"content\" :style=\"{ backgroundColor: backgroundColor, fontSize: fontSize + 'px' }\"></div>\n </div>\n</template>\n\n<script>\nimport LuckyCard from './luckycard.js';\nexport default {\n name: 'nut-luckycard',\n props: {\n content: {\n type: String,\n default: ''\n },\n height: {\n type: [String, Number],\n default: 50\n },\n width: {\n type: [String, Number],\n default: 300\n },\n coverColor: {\n type: String,\n default: '#C5C5C5'\n },\n coverImg: {\n type: String,\n default: ''\n },\n fontSize: {\n type: [String, Number],\n default: 20\n },\n backgroundColor: {\n type: String,\n default: '#FFFFFF'\n },\n ratio: {\n type: [String, Number],\n default: 0.5\n }\n },\n data() {\n return {\n luckcard: null\n };\n },\n methods: {\n clearCover() {\n console.log(this.luckcard);\n this.luckcard.clearCover();\n }\n },\n mounted() {\n this.$nextTick(() => {\n const _vm = this;\n this.luckcard = LuckyCard({\n scratchDiv: this.$el,\n coverColor: this.coverColor,\n coverImg: this.coverImg,\n ratio: Number(this.ratio),\n callback: function() {\n //console.log(this);\n this.clearCover();\n _vm.$emit('open', this);\n }\n });\n });\n }\n};\n</script>\n<style lang=\"scss\">\n.nut-luckycard {\n position: relative;\n .nut-cover {\n position: absolute;\n top: 0;\n left: 0;\n }\n .nut-content {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: 100%;\n line-height: 100%;\n user-select: none;\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./luckycard.vue?vue&type=template&id=1a2402ac&\"\nimport script from \"./luckycard.vue?vue&type=script&lang=js&\"\nexport * from \"./luckycard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./luckycard.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import LuckyCard from './luckycard.vue';\nimport './luckycard.scss';\n\nLuckyCard.install = function(Vue) {\n Vue.component(LuckyCard.name, LuckyCard);\n};\n\nexport default LuckyCard","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;"],"sourceRoot":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @nutui/nutui v2.3.
|
|
2
|
+
* @nutui/nutui v2.3.7 - magic.css, 78f455d4cba8a497b5f5, Wed Dec 22 2021 20:57:26 GMT+0800 (中国标准时间)
|
|
3
3
|
* (c) 2017-2020 JDC
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/.adjust-position{margin-top:-20px;margin-bottom:-20px}.header-wrap{position:relative;height:710px}.header-wrap .img-header{position:absolute;bottom:0;width:100%}.cube-item{height:90px;width:88px;-webkit-border-radius:26px;border-radius:26px;overflow:hidden;position:relative;-webkit-transform:translateZ(0);transform:translateZ(0)}.cube-item:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:60px;-webkit-border-radius:0 0 26px 26px;border-radius:0 0 26px 26px}.cube-item-box{height:63px;background:#fff;-webkit-border-radius:26px 26px 11px 11px;border-radius:26px 26px 11px 11px;background-size:cover;background-repeat:no-repeat}.cube-item-box,.cube-item .sub-name{width:100%;text-align:center;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);overflow:hidden}.cube-item .sub-name{top:63px;padding:0 10px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#fff;font-size:14px;line-height:27px;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis}.cube-item .sub-image{display:block;width:60px;height:60px;margin:0 auto;background-color:#fff;background-position:50%;background-size:100%;-webkit-transform:translateY(6px);-ms-transform:translateY(6px);transform:translateY(6px)}.cube-item .sub-desc{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:77px;-webkit-box-sizing:border-box;box-sizing:border-box;height:15px;color:#fff;-webkit-border-radius:6px;border-radius:6px;font-size:12px;text-align:center;position:absolute;bottom:29px;left:50%;-webkit-transform-origin:0 center;-ms-transform-origin:0 center;transform-origin:0 center;-webkit-transform:translate3d(-50%,0,1px);transform:translate3d(-50%,0,1px)}.cube-item .sub-desc span{width:100%;display:block;line-height:normal;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cube-item--pic:before{background:url(https://img12.360buyimg.com/imagetools/jfs/t1/184083/34/6101/38841/60b065caEaaf7c5d0/eec4cd260f46d9f0.png) no-repeat 50%/100%;height:100%}.cube-item--pic .cube-item-box,.cube-item--pic .sub-desc,.cube-item--pic .sub-name{display:none}.cube-item--act:before{background:url(https://img11.360buyimg.com/imagetools/jfs/t1/195605/17/5252/39357/60b065caEe0aa4c7e/04a341f4e51c6a9b.png) no-repeat 50%/100%}.cube-item--act .sub-desc{background:#ff5c17}.cube-item--rank:before{background:url(https://img14.360buyimg.com/imagetools/jfs/t1/183388/37/6207/39741/60b065caEea1440a1/8860c63660fc9ac4.png) no-repeat 50%/100%}.cube-item--rank .sub-desc{background:#1f95fb}.cube-item--shop:before{background:url(https://img12.360buyimg.com/imagetools/jfs/t1/184083/34/6101/38841/60b065caEaaf7c5d0/eec4cd260f46d9f0.png) no-repeat 50%/100%}.cube-item--shop .sub-desc{background:#ffd01f}.cube-item--shop .sub-desc span{color:#000}.cube-item--lbs:before{background:url(https://img10.360buyimg.com/imagetools/jfs/t1/129094/23/18726/38672/60b065caEb849e8cb/da761e3ebae5bc84.png) no-repeat 50%/100%}.cube-item--lbs .sub-desc{background:#ffd01f}.cube-item--lbs .sub-desc span{color:#000}.cube-item--unread{-webkit-box-shadow:0 0 20px hsla(0,0%,100%,.2);box-shadow:0 0 20px hsla(0,0%,100%,.2);-webkit-animation:show 2s infinite;animation:show 2s infinite}.cube-item--special{background-size:cover;background-repeat:no-repeat}.cube-item--special .cube-item-box,.cube-item--special .sub-desc,.cube-item--special:before{display:none}@-webkit-keyframes show{0%{-webkit-box-shadow:0 0 20px hsla(0,0%,100%,.2);box-shadow:0 0 20px hsla(0,0%,100%,.2)}50%{-webkit-box-shadow:0 0 20px hsla(0,0%,100%,.5);box-shadow:0 0 20px hsla(0,0%,100%,.5)}to{-webkit-box-shadow:0 0 20px hsla(0,0%,100%,.2);box-shadow:0 0 20px hsla(0,0%,100%,.2)}}@keyframes show{0%{-webkit-box-shadow:0 0 20px hsla(0,0%,100%,.2);box-shadow:0 0 20px hsla(0,0%,100%,.2)}50%{-webkit-box-shadow:0 0 20px hsla(0,0%,100%,.5);box-shadow:0 0 20px hsla(0,0%,100%,.5)}to{-webkit-box-shadow:0 0 20px hsla(0,0%,100%,.2);box-shadow:0 0 20px hsla(0,0%,100%,.2)}}.cube-wrapper--inited .cube-col .cube-item .sub-image{-webkit-animation:cube-image .2s cubic-bezier(.33,0,.67,1) 1s forwards;animation:cube-image .2s cubic-bezier(.33,0,.67,1) 1s forwards}@-webkit-keyframes cube-image{0%{-webkit-transform:translateY(13px);transform:translateY(13px)}66%{-webkit-transform:translateY(-5px);transform:translateY(-5px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes cube-image{0%{-webkit-transform:translateY(13px);transform:translateY(13px)}66%{-webkit-transform:translateY(-5px);transform:translateY(-5px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}.cube{width:100%;z-index:10}.cube-container{width:100%;padding:15px 0;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;overflow:hidden}.cube-wrapper{width:100%;white-space:nowrap;-webkit-perspective:500px;perspective:500px;-webkit-animation-play-state:paused;animation-play-state:paused;-webkit-transition-property:all;-o-transition-property:all;transition-property:all;-webkit-transition-timing-function:cubic-bezier(.39,.575,.565,1);-o-transition-timing-function:cubic-bezier(.39,.575,.565,1);transition-timing-function:cubic-bezier(.39,.575,.565,1)}.cube-col{display:inline-block;width:25%;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:inherit;-o-transition:inherit;transition:inherit}.cube-col--anime:nth-child(5) .cube-item-wrap{-webkit-animation:cube5 .56s cubic-bezier(.33,0,.67,1) 1s both;animation:cube5 .56s cubic-bezier(.33,0,.67,1) 1s both}@-webkit-keyframes cube5{0%{-webkit-animation-timing-function:cubic-bezier(.33,0,.67,1);animation-timing-function:cubic-bezier(.33,0,.67,1);-webkit-transform:translate3d(733px,0,0);transform:translate3d(733px,0,0)}57%{-webkit-animation-timing-function:cubic-bezier(.33,0,.67,1);animation-timing-function:cubic-bezier(.33,0,.67,1);-webkit-transform:translate3d(-30px,0,0);transform:translate3d(-30px,0,0)}58%{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translate3d(-30px,0,0);transform:translate3d(-30px,0,0)}to{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes cube5{0%{-webkit-animation-timing-function:cubic-bezier(.33,0,.67,1);animation-timing-function:cubic-bezier(.33,0,.67,1);-webkit-transform:translate3d(733px,0,0);transform:translate3d(733px,0,0)}57%{-webkit-animation-timing-function:cubic-bezier(.33,0,.67,1);animation-timing-function:cubic-bezier(.33,0,.67,1);-webkit-transform:translate3d(-30px,0,0);transform:translate3d(-30px,0,0)}58%{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translate3d(-30px,0,0);transform:translate3d(-30px,0,0)}to{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translateZ(0);transform:translateZ(0)}}.cube-col--anime:nth-child(6) .cube-item-wrap{-webkit-animation:cube6 .56s cubic-bezier(.33,0,.83,1) 1.08s both;animation:cube6 .56s cubic-bezier(.33,0,.83,1) 1.08s both}@-webkit-keyframes cube6{0%{-webkit-animation-timing-function:cubic-bezier(.33,0,.83,1);animation-timing-function:cubic-bezier(.33,0,.83,1);-webkit-transform:translate3d(554px,0,0);transform:translate3d(554px,0,0)}57%{-webkit-animation-timing-function:cubic-bezier(.33,0,.83,1);animation-timing-function:cubic-bezier(.33,0,.83,1);-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}58%{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes cube6{0%{-webkit-animation-timing-function:cubic-bezier(.33,0,.83,1);animation-timing-function:cubic-bezier(.33,0,.83,1);-webkit-transform:translate3d(554px,0,0);transform:translate3d(554px,0,0)}57%{-webkit-animation-timing-function:cubic-bezier(.33,0,.83,1);animation-timing-function:cubic-bezier(.33,0,.83,1);-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}58%{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translateZ(0);transform:translateZ(0)}}.cube-col--anime:nth-child(7) .cube-item-wrap{-webkit-animation:cube7 .56s cubic-bezier(.33,0,.83,1) 1.16s both;animation:cube7 .56s cubic-bezier(.33,0,.83,1) 1.16s both}@-webkit-keyframes cube7{0%{-webkit-animation-timing-function:cubic-bezier(.33,0,.83,1);animation-timing-function:cubic-bezier(.33,0,.83,1);-webkit-transform:translate3d(378px,0,0);transform:translate3d(378px,0,0)}57%{-webkit-animation-timing-function:cubic-bezier(.33,0,.83,1);animation-timing-function:cubic-bezier(.33,0,.83,1);-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}58%{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes cube7{0%{-webkit-animation-timing-function:cubic-bezier(.33,0,.83,1);animation-timing-function:cubic-bezier(.33,0,.83,1);-webkit-transform:translate3d(378px,0,0);transform:translate3d(378px,0,0)}57%{-webkit-animation-timing-function:cubic-bezier(.33,0,.83,1);animation-timing-function:cubic-bezier(.33,0,.83,1);-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}58%{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translateZ(0);transform:translateZ(0)}}.cube-col--anime:nth-child(8) .cube-item-wrap{-webkit-animation:cube8 .56s cubic-bezier(.33,0,.83,1) 1.28s both;animation:cube8 .56s cubic-bezier(.33,0,.83,1) 1.28s both}@-webkit-keyframes cube8{0%{-webkit-animation-timing-function:cubic-bezier(.33,0,.83,1);animation-timing-function:cubic-bezier(.33,0,.83,1);-webkit-transform:translate3d(205px,0,0);transform:translate3d(205px,0,0)}57%{-webkit-animation-timing-function:cubic-bezier(.33,0,.83,1);animation-timing-function:cubic-bezier(.33,0,.83,1);-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}58%{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes cube8{0%{-webkit-animation-timing-function:cubic-bezier(.33,0,.83,1);animation-timing-function:cubic-bezier(.33,0,.83,1);-webkit-transform:translate3d(205px,0,0);transform:translate3d(205px,0,0)}57%{-webkit-animation-timing-function:cubic-bezier(.33,0,.83,1);animation-timing-function:cubic-bezier(.33,0,.83,1);-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}58%{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{-webkit-animation-timing-function:cubic-bezier(.17,0,.67,1);animation-timing-function:cubic-bezier(.17,0,.67,1);-webkit-transform:translateZ(0);transform:translateZ(0)}}.cube-item-wrap{margin-bottom:16px}
|