luck-draw-react
Version:
luck-draw-react
3 lines (2 loc) • 5.19 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).LuckDraw={},e.React)}(this,function(e,t){"use strict";function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=r(t);function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function u(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function s(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?n(Object(r),!0).forEach(function(e){u(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function o(e){return(o=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function a(e,t){return(a=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function f(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(r){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=o(r);return e=n?(e=o(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),t=this,!(e=e)||"object"!=typeof e&&"function"!=typeof e?f(t):e}}e.default=function(){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&a(e,t)}(o,c["default"].PureComponent);var e,t,r,n=p(o);function o(e){var a;return function(e){if(!(e instanceof o))throw new TypeError("Cannot call a class as a function")}(this),u(f(a=n.call(this,e)),"start",function(){var e=a.state,t=e.roll_map_list,r=e.times,n=a.props,o=n.gift,e=n.speed,i=void 0===e?120:e,e=n.cycle_times,c=void 0===e?3:e,l=a.data_format(n.giftList);a.setState({active_index:a.current_index},function(){var e=l[t.indexOf(a.current_index)]||{};if(i<a.speed&&+e.id==+o.id)return clearTimeout(a.lotteryTimer),a.lotteryTimer=null,a.CYCLE_TIMES=0,a.speed=50,void(a.callbacktimer=setTimeout(function(){a.setState({is_rolling:!1,times:r-1}),a.props.callback&&a.props.callback(s(s({},e),o),f(a))},500));a.current_index=++a.current_index%l.length,0===a.current_index&&a.CYCLE_TIMES++,a.lotteryTimer=setTimeout(function(){a.start()},a.speed),c<a.CYCLE_TIMES&&(a.speed+=10)})}),u(f(a),"reset",function(){a.setState({active_index:null}),a.lotteryTimer=null,a.current_index=0,a.CYCLE_TIMES=0,a.speed=50}),u(f(a),"handlePlay",function(){return a.state.times?void(a.state.is_rolling||(a.current_index=0,a.CYCLE_TIMES=0,a.speed=50,a.props.beforeStart?a.props.beforeStart().then(function(){a.setState({is_rolling:!0},function(){a.start()})}):a.setState({is_rolling:!0},function(){a.start()}))):a.props.finishCallback&&a.props.finishCallback(f(a))}),a.state={active_index:null,times:"times"in e?+e.times:1,is_rolling:!1,roll_map_list:[0,1,2,7,8,3,6,5,4]},a.lotteryTimer=null,a.current_index=0,a.CYCLE_TIMES=0,a.speed=50,a}return e=o,(t=[{key:"componentWillUnmount",value:function(){clearTimeout(this.lotteryTimer),clearTimeout(this.callbacktimer)}},{key:"data_format",value:function(e){if(e){e=e.slice(0,8);return e.splice(e.length/2,0,{name:"立即抽奖",image:"",id:"",startBtn:!0}),e}return console.error("未获取到奖品信息!"),[]}},{key:"render",value:function(){var n=this,e=this.state,o=e.active_index,i=e.roll_map_list,e=this.data_format(this.props.giftList);return e.length<8?null:c.default.createElement("div",{className:"lottery pos-r"},c.default.createElement("div",{className:"lottery_content"},e.map(function(e,t){var r=c.default.createElement("div",{key:t,className:"lottery_item ".concat(o===i[t]?"lottery_item-active":"")},e.ele||c.default.createElement("div",{className:"lottery_item_main"},e.name));return e.startBtn&&(r=c.default.createElement("div",{key:t,className:"lottery_item",onClick:n.handlePlay},"object"===l(n.props.playBtn)?n.props.playBtn:c.default.createElement("div",{className:"lottery_item_main"},n.props.playBtn||e.name))),r})))}}])&&i(e.prototype,t),r&&i(e,r),o}(),Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=luck-draw.min.js.map