@yqg/simple 1.0.4 → 1.0.5
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/dist/index-062b0fd9.js +2 -0
- package/dist/index-062b0fd9.js.map +1 -0
- package/dist/index-2ed76f56.js +2 -0
- package/dist/index-2ed76f56.js.map +1 -0
- package/dist/index-7a99ba74.js +2 -0
- package/dist/index-7a99ba74.js.map +1 -0
- package/dist/index-8836d6f0.js +2 -0
- package/dist/index-8836d6f0.js.map +1 -0
- package/dist/index-dd1d23ad.js +2 -0
- package/dist/index-dd1d23ad.js.map +1 -0
- package/dist/index-dd6c92b2.js +2 -0
- package/dist/index-dd6c92b2.js.map +1 -0
- package/dist/index-ed85163f.js +2 -0
- package/dist/index-ed85163f.js.map +1 -0
- package/dist/index-f6916f6f.js +2 -0
- package/dist/index-f6916f6f.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("@vueuse/core"),i=require("moment"),n=require("underscore"),r=require("./index-7a99ba74.js");require("ant-design-vue"),require("vue-clipboard2"),require("@yqg/enum"),require("vue"),require("vuex"),require("vue-codemirror"),require("codemirror/mode/clike/clike.js"),require("codemirror/mode/groovy/groovy.js"),require("codemirror/mode/javascript/javascript.js"),require("codemirror/mode/sql/sql.js"),require("codemirror/mode/yaml/yaml.js"),require("codemirror/mode/xml/xml.js"),require("codemirror/lib/codemirror.css"),require("codemirror/theme/neo.css"),require("codemirror/addon/hint/show-hint.css"),require("codemirror/addon/display/placeholder.js"),require("codemirror/addon/edit/closebrackets.js"),require("codemirror/addon/edit/closetag.js"),require("codemirror/addon/edit/matchbrackets.js"),require("codemirror/addon/edit/matchtags.js"),require("codemirror/addon/hint/show-hint.js"),require("codemirror/addon/hint/sql-hint.js"),require("codemirror/addon/fold/foldgutter.css"),require("codemirror/addon/fold/foldcode.js"),require("codemirror/addon/fold/foldgutter.js"),require("codemirror/addon/fold/brace-fold.js"),require("codemirror/addon/fold/comment-fold.js"),require("codemirror/addon/fold/indent-fold.js"),require("yqg-common/core/StageUtil"),require("element-resize-detector"),require("moment-timezone"),require("vuedraggable"),require("prismjs"),require("@yqg/resource"),require("qiniu-js"),require("dompurify"),require("marked"),require("tiptap"),require("tiptap-extensions"),require("tiptap-commands"),require("prosemirror-inputrules"),require("tiptap-utils"),require("@ant-design/icons/lib/outline/LinkOutline"),require("@ant-design/icons/lib/outline/FileOutline"),require("@ant-design/icons/lib/outline/BoldOutline"),require("@ant-design/icons/lib/outline/StrikethroughOutline"),require("@ant-design/icons/lib/outline/UnderlineOutline"),require("@ant-design/icons/lib/outline/UnorderedListOutline"),require("@ant-design/icons/lib/outline/OrderedListOutline"),require("@ant-design/icons/lib/outline/UndoOutline"),require("@ant-design/icons/lib/outline/FontColorsOutline"),require("@ant-design/icons/lib/outline/FontSizeOutline"),require("@ant-design/icons/lib/outline/AlignLeftOutline"),require("@ant-design/icons/lib/outline/AlignCenterOutline"),require("@ant-design/icons/lib/outline/AlignRightOutline"),require("@ant-design/icons/lib/outline/AudioOutline"),require("@ant-design/icons/lib/outline/BgColorsOutline"),require("@ant-design/icons/lib/outline/UserOutline"),require("@ant-design/icons/lib/outline/MenuFoldOutline"),require("@ant-design/icons/lib/outline/MenuUnfoldOutline"),require("@ant-design/icons/lib/outline/UploadOutline"),require("@ant-design/icons/lib/outline/BookOutline"),require("@ant-design/icons/lib/outline/LockOutline"),require("@ant-design/icons/lib/outline/UnlockOutline"),require("@ant-design/icons/lib/outline/PhoneOutline"),require("@ant-design/icons/lib/outline/QuestionOutline"),require("@ant-design/icons/lib/outline/SettingOutline"),require("@ant-design/icons/lib/outline/HeartOutline"),require("@ant-design/icons/lib/outline/CaretLeftOutline"),require("@ant-design/icons/lib/outline/CaretRightOutline"),require("@ant-design/icons/lib/outline/BellOutline"),require("@ant-design/icons/lib/outline/BarChartOutline"),require("@ant-design/icons/lib/outline/RedEnvelopeOutline"),require("@ant-design/icons/lib/outline/CreditCardOutline"),require("@ant-design/icons/lib/outline/ToolOutline"),require("@ant-design/icons/lib/outline/AppstoreOutline"),require("@ant-design/icons/lib/outline/DownloadOutline"),require("@ant-design/icons/lib/outline/SyncOutline"),require("@ant-design/icons/lib/outline/CloseOutline"),require("@ant-design/icons/lib/outline/CheckOutline"),require("@ant-design/icons/lib/outline/LoadingOutline"),require("@ant-design/icons/lib/outline/CheckCircleOutline"),require("@ant-design/icons/lib/outline/InfoCircleOutline"),require("@ant-design/icons/lib/outline/CloseCircleOutline"),require("@ant-design/icons/lib/outline/ExclamationCircleOutline"),require("@ant-design/icons/lib/outline/QuestionCircleOutline"),require("@ant-design/icons/lib/fill/CheckCircleFill"),require("@ant-design/icons/lib/fill/InfoCircleFill"),require("@ant-design/icons/lib/fill/CloseCircleFill"),require("@ant-design/icons/lib/fill/ExclamationCircleFill"),require("@ant-design/icons/lib/outline/UpOutline"),require("@ant-design/icons/lib/outline/DownOutline"),require("@ant-design/icons/lib/outline/LeftOutline"),require("@ant-design/icons/lib/outline/RightOutline"),require("@ant-design/icons/lib/outline/RedoOutline"),require("@ant-design/icons/lib/outline/CalendarOutline"),require("@ant-design/icons/lib/outline/SearchOutline"),require("@ant-design/icons/lib/outline/BarsOutline"),require("@ant-design/icons/lib/fill/StarFill"),require("@ant-design/icons/lib/outline/FilterOutline"),require("@ant-design/icons/lib/fill/CaretUpFill"),require("@ant-design/icons/lib/fill/CaretDownFill"),require("@ant-design/icons/lib/outline/CaretUpOutline"),require("@ant-design/icons/lib/outline/CaretDownOutline"),require("@ant-design/icons/lib/outline/MinusOutline"),require("@ant-design/icons/lib/outline/EditOutline"),require("@ant-design/icons/lib/outline/FolderOpenOutline"),require("@ant-design/icons/lib/outline/FolderOutline"),require("@ant-design/icons/lib/outline/PaperClipOutline"),require("@ant-design/icons/lib/outline/PictureOutline"),require("@ant-design/icons/lib/outline/EyeOutline"),require("@ant-design/icons/lib/outline/EyeInvisibleOutline"),require("@ant-design/icons/lib/outline/DeleteOutline"),require("@ant-design/icons/lib/outline/ItalicOutline"),require("@ant-design/icons/lib/outline/CodeOutline"),require("@ant-design/icons/lib/outline/FileImageOutline"),require("@ant-design/icons/lib/outline/FullscreenOutline"),require("@ant-design/icons/lib/outline/FullscreenExitOutline"),require("@ant-design/icons/lib/outline/GlobalOutline"),require("@ant-design/icons/lib/outline/FastBackwardOutline"),require("@ant-design/icons/lib/outline/FastForwardOutline"),require("@ant-design/icons/lib/outline/BorderOutline"),require("@ant-design/icons/lib/outline/PauseOutline"),require("@ant-design/icons/lib/outline/BulbOutline");const t=3,l=e.useStorage("FIREWORK",{perDay:0,dateRange:[],expired:!0});var o={name:"YqgFirework",props:{getConfig:{type:Function,required:!0},serializer:{type:[Array,String,Boolean],default:()=>["data","body","data"]},options:{type:Object,default:()=>({})},zIndex:{type:Number,default:1e3},intervalPerLaunch:{type:Number,default:1e3},countPerLaunch:{type:Number,default:12},launchCount:{type:Number,default:2},disabledInFrame:{type:Boolean,default:!0}},data(){const{zIndex:e}=this;return{firework:null,canFire:!1,style:{width:0,height:0,position:"fixed",top:0,left:0,zIndex:e}}},async mounted(){if(this.disabledInFrame&&self!==top)return;const{Fireworks:i}=await import("fireworks-js");await this.setStore();if(!this.checkCanFire())return;this.$nextTick(()=>{const n=new i(this.$refs.container,this.options);this.firework=n,this.updateCanvasSize(),this.launch(()=>{this.style.zIndex=-1,this.style.display="none",l.value.perDay=(e.get(l)?.perDay??0)-1})});const n=e.useEventListener(window,"resize",this.updateCanvasSize);this.$once("hook:beforeDestroy",()=>{n(),this.firework?.clear?.(),this.firework=null})},methods:{async setStore(){if("function"!=typeof this.getConfig)return;const r=await this.getConfig(),{DateRange:o="",Perday:u=t,IsOn:s=!1}=this.serializer?n.get(r,this.serializer,Object.create(null)):r;if(!s)return void e.set(l,null);const d=o?.split(",")?.slice(0,2)?.map((e,n)=>i(e)?.[n?"endOf":"startOf"]?.("day"))?.filter(e=>e?.isValid?.())??[],{perDay:a,expired:c}=e.get(l)??{},q=!0===c||i().isAfter(c)?Number(u)||t:a;e.set(l,{perDay:q,dateRange:d,expired:i().endOf("day")})},checkCanFire(){const{perDay:n,dateRange:r}=e.get(l)??{},t=i();return 2===r?.length&&t.isAfter(r?.[0])&&t.isBefore(r?.[1])&&!Number.isNaN(n)&&n>0},updateCanvasSize(){if(!this.firework)return;const{width:i,height:n}=e.useWindowSize();this.firework.updateSize?.({width:e.get(i),height:e.get(n)})},async launch(i){for(let i=0;i<this.launchCount;i++)await e.promiseTimeout(this.intervalPerLaunch),this.firework?.launch?.(this.countPerLaunch);await e.promiseTimeout(2e3),i?.()}},render(){return(0,arguments[0])("div",{class:"firework-container",style:this.style,ref:"container"})}};const u=o,s=r.normalizeComponent({},undefined,u,undefined,undefined,undefined,!1,void 0,void 0,void 0);exports.default=s;
|
|
2
|
+
//# sourceMappingURL=index-8836d6f0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-8836d6f0.js","sources":["../src/component/yqg-firework/index.vue"],"sourcesContent":["<!-- @author youboli -->\n<!-- @email youboli@yangqianguan.com -->\n<!-- @date 2023-01-12 13:34:38.000 -->\n<!-- @desc generated by yqg-cli@5.9.3 -->\n\n<script>\n\n import {\n useStorage,\n useWindowSize,\n useEventListener,\n promiseTimeout,\n get,\n set\n } from '@vueuse/core';\n import moment from 'moment';\n import _ from 'underscore';\n\n const DefaultPerday = 3;\n const StorageKey = 'FIREWORK';\n const store = useStorage(StorageKey, {perDay: 0, dateRange: [], expired: true});\n\n export default {\n name: 'YqgFirework',\n\n props: {\n getConfig: {\n type: Function,\n required: true\n },\n\n serializer: {\n type: [Array, String, Boolean],\n default: () => ['data', 'body', 'data']\n },\n\n options: {\n type: Object,\n default: () => ({})\n },\n\n zIndex: {\n type: Number,\n default: 1000\n },\n\n intervalPerLaunch: {\n type: Number,\n default: 1000\n },\n\n countPerLaunch: {\n type: Number,\n default: 12\n },\n\n launchCount: {\n type: Number,\n default: 2\n },\n\n disabledInFrame: {\n type: Boolean,\n default: true\n }\n },\n\n data() {\n const {zIndex} = this;\n\n return {\n firework: null,\n canFire: false,\n style: {\n width: 0,\n height: 0,\n position: 'fixed',\n top: 0,\n left: 0,\n zIndex\n }\n };\n },\n\n async mounted() {\n if (this.disabledInFrame && self !== top) return;\n\n const {Fireworks} = await import('fireworks-js');\n\n await this.setStore();\n\n const canFire = this.checkCanFire();\n\n if (!canFire) return;\n\n this.$nextTick(() => {\n const firework = new Fireworks(this.$refs.container, this.options);\n\n this.firework = firework;\n\n this.updateCanvasSize();\n\n this.launch(() => {\n this.style.zIndex = -1;\n this.style.display = 'none';\n store.value.perDay = (get(store)?.perDay ?? 0) - 1;\n });\n });\n\n const cleanWindowResize = useEventListener(window, 'resize', this.updateCanvasSize);\n\n this.$once('hook:beforeDestroy', () => {\n cleanWindowResize();\n this.firework?.clear?.();\n this.firework = null;\n });\n },\n\n methods: {\n async setStore() {\n if (typeof this.getConfig !== 'function') return;\n\n const config = await this.getConfig();\n const {\n DateRange = '',\n Perday = DefaultPerday,\n IsOn = false\n } = this.serializer ? _.get(config, this.serializer, Object.create(null)) : config;\n\n if (!IsOn) {\n set(store, null);\n\n return;\n }\n\n const dateRange = DateRange\n ?.split(',')\n ?.slice(0, 2)\n ?.map((date, index) => moment(date)?.[index ? 'endOf' : 'startOf']?.('day'))\n ?.filter(date => date?.isValid?.())\n ?? [];\n\n const {perDay: cachePerday, expired: cacheExpired} = get(store) ?? {};\n const isExpired = cacheExpired === true || moment().isAfter(cacheExpired);\n const perDay = isExpired\n ? Number(Perday) || DefaultPerday\n : cachePerday;\n\n set(store, {\n perDay,\n dateRange,\n expired: moment().endOf('day')\n });\n },\n\n checkCanFire() {\n const {perDay, dateRange} = get(store) ?? {};\n const now = moment();\n\n const canFire = dateRange?.length === 2\n && now.isAfter(dateRange?.[0])\n && now.isBefore(dateRange?.[1])\n && !Number.isNaN(perDay)\n && perDay > 0;\n\n return canFire;\n },\n\n updateCanvasSize() {\n if (!this.firework) return;\n\n const {width, height} = useWindowSize();\n this.firework.updateSize?.({width: get(width), height: get(height)});\n },\n\n async launch(afterLaunchCb) {\n for (let index = 0; index < this.launchCount; index++) {\n await promiseTimeout(this.intervalPerLaunch);\n\n this.firework?.launch?.(this.countPerLaunch);\n }\n\n await promiseTimeout(2000);\n\n afterLaunchCb?.();\n }\n },\n\n render() {\n return (\n <div class=\"firework-container\" style={this.style} ref=\"container\" />\n );\n }\n };\n\n</script>\n"],"names":["DefaultPerday","store","useStorage","perDay","dateRange","expired","script","name","props","getConfig","type","Function","required","serializer","Array","String","Boolean","default","options","Object","zIndex","Number","intervalPerLaunch","countPerLaunch","launchCount","disabledInFrame","data","this","firework","canFire","style","width","height","position","top","left","mounted","self","Fireworks","import","setStore","checkCanFire","$nextTick","$refs","container","updateCanvasSize","launch","display","value","get","cleanWindowResize","useEventListener","window","$once","clear","methods","config","DateRange","Perday","IsOn","_","create","set","split","slice","map","date","index","moment","filter","isValid","cachePerday","cacheExpired","isAfter","endOf","now","length","isBefore","isNaN","useWindowSize","updateSize","afterLaunchCb","promiseTimeout","render","h","arguments","class","ref","__vue_script__"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("@vueuse/core"),i=require("moment"),n=require("underscore"),r=require("./index-2ed76f56.js");require("ant-design-vue"),require("vue-clipboard2"),require("@yqg/enum"),require("vue"),require("vuex"),require("vue-codemirror"),require("codemirror/mode/clike/clike.js"),require("codemirror/mode/groovy/groovy.js"),require("codemirror/mode/javascript/javascript.js"),require("codemirror/mode/sql/sql.js"),require("codemirror/mode/yaml/yaml.js"),require("codemirror/mode/xml/xml.js"),require("codemirror/lib/codemirror.css"),require("codemirror/theme/neo.css"),require("codemirror/addon/hint/show-hint.css"),require("codemirror/addon/display/placeholder.js"),require("codemirror/addon/edit/closebrackets.js"),require("codemirror/addon/edit/closetag.js"),require("codemirror/addon/edit/matchbrackets.js"),require("codemirror/addon/edit/matchtags.js"),require("codemirror/addon/hint/show-hint.js"),require("codemirror/addon/hint/sql-hint.js"),require("codemirror/addon/fold/foldgutter.css"),require("codemirror/addon/fold/foldcode.js"),require("codemirror/addon/fold/foldgutter.js"),require("codemirror/addon/fold/brace-fold.js"),require("codemirror/addon/fold/comment-fold.js"),require("codemirror/addon/fold/indent-fold.js"),require("yqg-common/core/StageUtil"),require("element-resize-detector"),require("moment-timezone"),require("vuedraggable"),require("prismjs"),require("@yqg/resource"),require("qiniu-js"),require("dompurify"),require("marked"),require("tiptap"),require("tiptap-extensions"),require("tiptap-commands"),require("prosemirror-inputrules"),require("tiptap-utils"),require("@ant-design/icons/lib/outline/LinkOutline"),require("@ant-design/icons/lib/outline/FileOutline"),require("@ant-design/icons/lib/outline/BoldOutline"),require("@ant-design/icons/lib/outline/StrikethroughOutline"),require("@ant-design/icons/lib/outline/UnderlineOutline"),require("@ant-design/icons/lib/outline/UnorderedListOutline"),require("@ant-design/icons/lib/outline/OrderedListOutline"),require("@ant-design/icons/lib/outline/UndoOutline"),require("@ant-design/icons/lib/outline/FontColorsOutline"),require("@ant-design/icons/lib/outline/FontSizeOutline"),require("@ant-design/icons/lib/outline/AlignLeftOutline"),require("@ant-design/icons/lib/outline/AlignCenterOutline"),require("@ant-design/icons/lib/outline/AlignRightOutline"),require("@ant-design/icons/lib/outline/AudioOutline"),require("@ant-design/icons/lib/outline/BgColorsOutline"),require("@ant-design/icons/lib/outline/UserOutline"),require("@ant-design/icons/lib/outline/MenuFoldOutline"),require("@ant-design/icons/lib/outline/MenuUnfoldOutline"),require("@ant-design/icons/lib/outline/UploadOutline"),require("@ant-design/icons/lib/outline/BookOutline"),require("@ant-design/icons/lib/outline/LockOutline"),require("@ant-design/icons/lib/outline/UnlockOutline"),require("@ant-design/icons/lib/outline/PhoneOutline"),require("@ant-design/icons/lib/outline/QuestionOutline"),require("@ant-design/icons/lib/outline/SettingOutline"),require("@ant-design/icons/lib/outline/HeartOutline"),require("@ant-design/icons/lib/outline/CaretLeftOutline"),require("@ant-design/icons/lib/outline/CaretRightOutline"),require("@ant-design/icons/lib/outline/BellOutline"),require("@ant-design/icons/lib/outline/BarChartOutline"),require("@ant-design/icons/lib/outline/RedEnvelopeOutline"),require("@ant-design/icons/lib/outline/CreditCardOutline"),require("@ant-design/icons/lib/outline/ToolOutline"),require("@ant-design/icons/lib/outline/AppstoreOutline"),require("@ant-design/icons/lib/outline/DownloadOutline"),require("@ant-design/icons/lib/outline/SyncOutline"),require("@ant-design/icons/lib/outline/CloseOutline"),require("@ant-design/icons/lib/outline/CheckOutline"),require("@ant-design/icons/lib/outline/LoadingOutline"),require("@ant-design/icons/lib/outline/CheckCircleOutline"),require("@ant-design/icons/lib/outline/InfoCircleOutline"),require("@ant-design/icons/lib/outline/CloseCircleOutline"),require("@ant-design/icons/lib/outline/ExclamationCircleOutline"),require("@ant-design/icons/lib/outline/QuestionCircleOutline"),require("@ant-design/icons/lib/fill/CheckCircleFill"),require("@ant-design/icons/lib/fill/InfoCircleFill"),require("@ant-design/icons/lib/fill/CloseCircleFill"),require("@ant-design/icons/lib/fill/ExclamationCircleFill"),require("@ant-design/icons/lib/outline/UpOutline"),require("@ant-design/icons/lib/outline/DownOutline"),require("@ant-design/icons/lib/outline/LeftOutline"),require("@ant-design/icons/lib/outline/RightOutline"),require("@ant-design/icons/lib/outline/RedoOutline"),require("@ant-design/icons/lib/outline/CalendarOutline"),require("@ant-design/icons/lib/outline/SearchOutline"),require("@ant-design/icons/lib/outline/BarsOutline"),require("@ant-design/icons/lib/fill/StarFill"),require("@ant-design/icons/lib/outline/FilterOutline"),require("@ant-design/icons/lib/fill/CaretUpFill"),require("@ant-design/icons/lib/fill/CaretDownFill"),require("@ant-design/icons/lib/outline/CaretUpOutline"),require("@ant-design/icons/lib/outline/CaretDownOutline"),require("@ant-design/icons/lib/outline/MinusOutline"),require("@ant-design/icons/lib/outline/EditOutline"),require("@ant-design/icons/lib/outline/FolderOpenOutline"),require("@ant-design/icons/lib/outline/FolderOutline"),require("@ant-design/icons/lib/outline/PaperClipOutline"),require("@ant-design/icons/lib/outline/PictureOutline"),require("@ant-design/icons/lib/outline/EyeOutline"),require("@ant-design/icons/lib/outline/EyeInvisibleOutline"),require("@ant-design/icons/lib/outline/DeleteOutline"),require("@ant-design/icons/lib/outline/ItalicOutline"),require("@ant-design/icons/lib/outline/CodeOutline"),require("@ant-design/icons/lib/outline/FileImageOutline"),require("@ant-design/icons/lib/outline/FullscreenOutline"),require("@ant-design/icons/lib/outline/FullscreenExitOutline"),require("@ant-design/icons/lib/outline/GlobalOutline"),require("@ant-design/icons/lib/outline/FastBackwardOutline"),require("@ant-design/icons/lib/outline/FastForwardOutline"),require("@ant-design/icons/lib/outline/BorderOutline"),require("@ant-design/icons/lib/outline/PauseOutline"),require("@ant-design/icons/lib/outline/BulbOutline");const t=3,l=e.useStorage("FIREWORK",{perDay:0,dateRange:[],expired:!0});var o={name:"YqgFirework",props:{getConfig:{type:Function,required:!0},serializer:{type:[Array,String,Boolean],default:()=>["data","body","data"]},options:{type:Object,default:()=>({})},zIndex:{type:Number,default:1e3},intervalPerLaunch:{type:Number,default:1e3},countPerLaunch:{type:Number,default:12},launchCount:{type:Number,default:2},disabledInFrame:{type:Boolean,default:!0}},data(){const{zIndex:e}=this;return{firework:null,canFire:!1,style:{width:0,height:0,position:"fixed",top:0,left:0,zIndex:e}}},async mounted(){if(this.disabledInFrame&&self!==top)return;const{Fireworks:i}=await import("fireworks-js");await this.setStore();if(!this.checkCanFire())return;this.$nextTick(()=>{const n=new i(this.$refs.container,this.options);this.firework=n,this.updateCanvasSize(),this.launch(()=>{this.style.zIndex=-1,this.style.display="none",l.value.perDay=(e.get(l)?.perDay??0)-1})});const n=e.useEventListener(window,"resize",this.updateCanvasSize);this.$once("hook:beforeDestroy",()=>{n(),this.firework?.clear?.(),this.firework=null})},methods:{async setStore(){if("function"!=typeof this.getConfig)return;const r=await this.getConfig(),{DateRange:o="",Perday:u=t,IsOn:s=!1}=this.serializer?n.get(r,this.serializer,Object.create(null)):r;if(!s)return void e.set(l,null);const d=o?.split(",")?.slice(0,2)?.map((e,n)=>i(e)?.[n?"endOf":"startOf"]?.("day"))?.filter(e=>e?.isValid?.())??[],{perDay:a,expired:c}=e.get(l)??{},q=!0===c||i().isAfter(c)?Number(u)||t:a;e.set(l,{perDay:q,dateRange:d,expired:i().endOf("day")})},checkCanFire(){const{perDay:n,dateRange:r}=e.get(l)??{},t=i();return 2===r?.length&&t.isAfter(r?.[0])&&t.isBefore(r?.[1])&&!Number.isNaN(n)&&n>0},updateCanvasSize(){if(!this.firework)return;const{width:i,height:n}=e.useWindowSize();this.firework.updateSize?.({width:e.get(i),height:e.get(n)})},async launch(i){for(let i=0;i<this.launchCount;i++)await e.promiseTimeout(this.intervalPerLaunch),this.firework?.launch?.(this.countPerLaunch);await e.promiseTimeout(2e3),i?.()}},render(){return(0,arguments[0])("div",{class:"firework-container",style:this.style,ref:"container"})}};const u=o,s=r.normalizeComponent({},undefined,u,undefined,undefined,undefined,!1,void 0,void 0,void 0);exports.default=s;
|
|
2
|
+
//# sourceMappingURL=index-dd1d23ad.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-dd1d23ad.js","sources":["../src/component/yqg-firework/index.vue"],"sourcesContent":["<!-- @author youboli -->\n<!-- @email youboli@yangqianguan.com -->\n<!-- @date 2023-01-12 13:34:38.000 -->\n<!-- @desc generated by yqg-cli@5.9.3 -->\n\n<script>\n\n import {\n useStorage,\n useWindowSize,\n useEventListener,\n promiseTimeout,\n get,\n set\n } from '@vueuse/core';\n import moment from 'moment';\n import _ from 'underscore';\n\n const DefaultPerday = 3;\n const StorageKey = 'FIREWORK';\n const store = useStorage(StorageKey, {perDay: 0, dateRange: [], expired: true});\n\n export default {\n name: 'YqgFirework',\n\n props: {\n getConfig: {\n type: Function,\n required: true\n },\n\n serializer: {\n type: [Array, String, Boolean],\n default: () => ['data', 'body', 'data']\n },\n\n options: {\n type: Object,\n default: () => ({})\n },\n\n zIndex: {\n type: Number,\n default: 1000\n },\n\n intervalPerLaunch: {\n type: Number,\n default: 1000\n },\n\n countPerLaunch: {\n type: Number,\n default: 12\n },\n\n launchCount: {\n type: Number,\n default: 2\n },\n\n disabledInFrame: {\n type: Boolean,\n default: true\n }\n },\n\n data() {\n const {zIndex} = this;\n\n return {\n firework: null,\n canFire: false,\n style: {\n width: 0,\n height: 0,\n position: 'fixed',\n top: 0,\n left: 0,\n zIndex\n }\n };\n },\n\n async mounted() {\n if (this.disabledInFrame && self !== top) return;\n\n const {Fireworks} = await import('fireworks-js');\n\n await this.setStore();\n\n const canFire = this.checkCanFire();\n\n if (!canFire) return;\n\n this.$nextTick(() => {\n const firework = new Fireworks(this.$refs.container, this.options);\n\n this.firework = firework;\n\n this.updateCanvasSize();\n\n this.launch(() => {\n this.style.zIndex = -1;\n this.style.display = 'none';\n store.value.perDay = (get(store)?.perDay ?? 0) - 1;\n });\n });\n\n const cleanWindowResize = useEventListener(window, 'resize', this.updateCanvasSize);\n\n this.$once('hook:beforeDestroy', () => {\n cleanWindowResize();\n this.firework?.clear?.();\n this.firework = null;\n });\n },\n\n methods: {\n async setStore() {\n if (typeof this.getConfig !== 'function') return;\n\n const config = await this.getConfig();\n const {\n DateRange = '',\n Perday = DefaultPerday,\n IsOn = false\n } = this.serializer ? _.get(config, this.serializer, Object.create(null)) : config;\n\n if (!IsOn) {\n set(store, null);\n\n return;\n }\n\n const dateRange = DateRange\n ?.split(',')\n ?.slice(0, 2)\n ?.map((date, index) => moment(date)?.[index ? 'endOf' : 'startOf']?.('day'))\n ?.filter(date => date?.isValid?.())\n ?? [];\n\n const {perDay: cachePerday, expired: cacheExpired} = get(store) ?? {};\n const isExpired = cacheExpired === true || moment().isAfter(cacheExpired);\n const perDay = isExpired\n ? Number(Perday) || DefaultPerday\n : cachePerday;\n\n set(store, {\n perDay,\n dateRange,\n expired: moment().endOf('day')\n });\n },\n\n checkCanFire() {\n const {perDay, dateRange} = get(store) ?? {};\n const now = moment();\n\n const canFire = dateRange?.length === 2\n && now.isAfter(dateRange?.[0])\n && now.isBefore(dateRange?.[1])\n && !Number.isNaN(perDay)\n && perDay > 0;\n\n return canFire;\n },\n\n updateCanvasSize() {\n if (!this.firework) return;\n\n const {width, height} = useWindowSize();\n this.firework.updateSize?.({width: get(width), height: get(height)});\n },\n\n async launch(afterLaunchCb) {\n for (let index = 0; index < this.launchCount; index++) {\n await promiseTimeout(this.intervalPerLaunch);\n\n this.firework?.launch?.(this.countPerLaunch);\n }\n\n await promiseTimeout(2000);\n\n afterLaunchCb?.();\n }\n },\n\n render() {\n return (\n <div class=\"firework-container\" style={this.style} ref=\"container\" />\n );\n }\n };\n\n</script>\n"],"names":["DefaultPerday","store","useStorage","perDay","dateRange","expired","script","name","props","getConfig","type","Function","required","serializer","Array","String","Boolean","default","options","Object","zIndex","Number","intervalPerLaunch","countPerLaunch","launchCount","disabledInFrame","data","this","firework","canFire","style","width","height","position","top","left","mounted","self","Fireworks","import","setStore","checkCanFire","$nextTick","$refs","container","updateCanvasSize","launch","display","value","get","cleanWindowResize","useEventListener","window","$once","clear","methods","config","DateRange","Perday","IsOn","_","create","set","split","slice","map","date","index","moment","filter","isValid","cachePerday","cacheExpired","isAfter","endOf","now","length","isBefore","isNaN","useWindowSize","updateSize","afterLaunchCb","promiseTimeout","render","h","arguments","class","ref","__vue_script__"],"mappings":"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"}
|