@yqg/simple 1.0.4-beta.5 → 1.0.4-beta.5.2
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/cjs/node_modules/tslib/tslib.es6.js +100 -0
- package/dist/cjs/node_modules/tslib/tslib.es6.js.map +1 -0
- package/dist/index-12ff2d75.js +2 -0
- package/dist/index-12ff2d75.js.map +1 -0
- package/dist/index-1548c08c.js +2 -0
- package/dist/index-1548c08c.js.map +1 -0
- package/dist/index-1fa70813.js +2 -0
- package/dist/index-1fa70813.js.map +1 -0
- package/dist/index-20d841e8.js +2 -0
- package/dist/index-20d841e8.js.map +1 -0
- package/dist/index-34cd606f.js +2 -0
- package/dist/index-34cd606f.js.map +1 -0
- package/dist/index-5feeadcc.js +2 -0
- package/dist/index-5feeadcc.js.map +1 -0
- package/dist/index-6ed1c37c.js +2 -0
- package/dist/index-6ed1c37c.js.map +1 -0
- package/dist/index-8be827e1.js +2 -0
- package/dist/index-8be827e1.js.map +1 -0
- package/dist/index-a9bef2d1.js +2 -0
- package/dist/index-a9bef2d1.js.map +1 -0
- package/dist/index-c5a7d215.js +2 -0
- package/dist/index-c5a7d215.js.map +1 -0
- package/dist/index-ca2b3be9.js +2 -0
- package/dist/index-ca2b3be9.js.map +1 -0
- package/dist/index-d2923f28.js +2 -0
- package/dist/index-d2923f28.js.map +1 -0
- package/dist/index-d2d6f0f2.js +2 -0
- package/dist/index-d2d6f0f2.js.map +1 -0
- package/dist/index-eade8ea5.js +2 -0
- package/dist/index-eade8ea5.js.map +1 -0
- package/dist/index-f0937fdd.js +2 -0
- package/dist/index-f0937fdd.js.map +1 -0
- package/dist/index-fe0b4328.js +2 -0
- package/dist/index-fe0b4328.js.map +1 -0
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/node_modules/tslib/tslib.es6.js +95 -0
- package/dist/node_modules/tslib/tslib.es6.js.map +1 -0
- package/package.json +2 -6
- package/src/component/i18n/index.js +1 -1
- package/src/component/index.js +1 -5
- package/src/index.js +9 -15
- package/CHANGELOG.md +0 -90
- /package/src/component/i18n/{zh-cn.ts → zh-cn.js} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useStorage as i,get as t,useEventListener as n,set as e,useWindowSize as o,promiseTimeout as l}from"@vueuse/core";import r from"moment";import s from"underscore";import{n as d}from"./index-fe0b4328.js";import"ant-design-vue";import"vue-clipboard2";import"@yqg/enum";import"vue";import"vuex";import"vue-codemirror";import"codemirror/mode/clike/clike.js";import"codemirror/mode/groovy/groovy.js";import"codemirror/mode/javascript/javascript.js";import"codemirror/mode/sql/sql.js";import"codemirror/mode/yaml/yaml.js";import"codemirror/mode/xml/xml.js";import"codemirror/lib/codemirror.css";import"codemirror/theme/neo.css";import"codemirror/addon/hint/show-hint.css";import"codemirror/addon/display/placeholder.js";import"codemirror/addon/edit/closebrackets.js";import"codemirror/addon/edit/closetag.js";import"codemirror/addon/edit/matchbrackets.js";import"codemirror/addon/edit/matchtags.js";import"codemirror/addon/hint/show-hint.js";import"codemirror/addon/hint/sql-hint.js";import"codemirror/addon/fold/foldgutter.css";import"codemirror/addon/fold/foldcode.js";import"codemirror/addon/fold/foldgutter.js";import"codemirror/addon/fold/brace-fold.js";import"codemirror/addon/fold/comment-fold.js";import"codemirror/addon/fold/indent-fold.js";import"yqg-common/core/StageUtil";import"element-resize-detector";import"vuedraggable";import"moment-timezone";import"prismjs";import"@yqg/resource";import"qiniu-js";import"dompurify";import"marked";import"tiptap";import"tiptap-extensions";import"tiptap-commands";import"prosemirror-inputrules";import"tiptap-utils";import"@ant-design/icons/lib/outline/LinkOutline";import"@ant-design/icons/lib/outline/FileOutline";import"@ant-design/icons/lib/outline/BoldOutline";import"@ant-design/icons/lib/outline/StrikethroughOutline";import"@ant-design/icons/lib/outline/UnderlineOutline";import"@ant-design/icons/lib/outline/UnorderedListOutline";import"@ant-design/icons/lib/outline/OrderedListOutline";import"@ant-design/icons/lib/outline/UndoOutline";import"@ant-design/icons/lib/outline/FontColorsOutline";import"@ant-design/icons/lib/outline/FontSizeOutline";import"@ant-design/icons/lib/outline/AlignLeftOutline";import"@ant-design/icons/lib/outline/AlignCenterOutline";import"@ant-design/icons/lib/outline/AlignRightOutline";import"@ant-design/icons/lib/outline/AudioOutline";import"@ant-design/icons/lib/outline/BgColorsOutline";import"@ant-design/icons/lib/outline/UserOutline";import"@ant-design/icons/lib/outline/MenuFoldOutline";import"@ant-design/icons/lib/outline/MenuUnfoldOutline";import"@ant-design/icons/lib/outline/UploadOutline";import"@ant-design/icons/lib/outline/BookOutline";import"@ant-design/icons/lib/outline/LockOutline";import"@ant-design/icons/lib/outline/UnlockOutline";import"@ant-design/icons/lib/outline/PhoneOutline";import"@ant-design/icons/lib/outline/QuestionOutline";import"@ant-design/icons/lib/outline/SettingOutline";import"@ant-design/icons/lib/outline/HeartOutline";import"@ant-design/icons/lib/outline/CaretLeftOutline";import"@ant-design/icons/lib/outline/CaretRightOutline";import"@ant-design/icons/lib/outline/BellOutline";import"@ant-design/icons/lib/outline/BarChartOutline";import"@ant-design/icons/lib/outline/RedEnvelopeOutline";import"@ant-design/icons/lib/outline/CreditCardOutline";import"@ant-design/icons/lib/outline/ToolOutline";import"@ant-design/icons/lib/outline/AppstoreOutline";import"@ant-design/icons/lib/outline/DownloadOutline";import"@ant-design/icons/lib/outline/SyncOutline";import"@ant-design/icons/lib/outline/CloseOutline";import"@ant-design/icons/lib/outline/CheckOutline";import"@ant-design/icons/lib/outline/LoadingOutline";import"@ant-design/icons/lib/outline/CheckCircleOutline";import"@ant-design/icons/lib/outline/InfoCircleOutline";import"@ant-design/icons/lib/outline/CloseCircleOutline";import"@ant-design/icons/lib/outline/ExclamationCircleOutline";import"@ant-design/icons/lib/outline/QuestionCircleOutline";import"@ant-design/icons/lib/fill/CheckCircleFill";import"@ant-design/icons/lib/fill/InfoCircleFill";import"@ant-design/icons/lib/fill/CloseCircleFill";import"@ant-design/icons/lib/fill/ExclamationCircleFill";import"@ant-design/icons/lib/outline/UpOutline";import"@ant-design/icons/lib/outline/DownOutline";import"@ant-design/icons/lib/outline/LeftOutline";import"@ant-design/icons/lib/outline/RightOutline";import"@ant-design/icons/lib/outline/RedoOutline";import"@ant-design/icons/lib/outline/CalendarOutline";import"@ant-design/icons/lib/outline/SearchOutline";import"@ant-design/icons/lib/outline/BarsOutline";import"@ant-design/icons/lib/fill/StarFill";import"@ant-design/icons/lib/outline/FilterOutline";import"@ant-design/icons/lib/fill/CaretUpFill";import"@ant-design/icons/lib/fill/CaretDownFill";import"@ant-design/icons/lib/outline/CaretUpOutline";import"@ant-design/icons/lib/outline/CaretDownOutline";import"@ant-design/icons/lib/outline/MinusOutline";import"@ant-design/icons/lib/outline/EditOutline";import"@ant-design/icons/lib/outline/FolderOpenOutline";import"@ant-design/icons/lib/outline/FolderOutline";import"@ant-design/icons/lib/outline/PaperClipOutline";import"@ant-design/icons/lib/outline/PictureOutline";import"@ant-design/icons/lib/outline/EyeOutline";import"@ant-design/icons/lib/outline/EyeInvisibleOutline";import"@ant-design/icons/lib/outline/DeleteOutline";import"@ant-design/icons/lib/outline/ItalicOutline";import"@ant-design/icons/lib/outline/CodeOutline";import"@ant-design/icons/lib/outline/FileImageOutline";import"@ant-design/icons/lib/outline/FullscreenOutline";import"@ant-design/icons/lib/outline/FullscreenExitOutline";import"@ant-design/icons/lib/outline/GlobalOutline";import"@ant-design/icons/lib/outline/FastBackwardOutline";import"@ant-design/icons/lib/outline/FastForwardOutline";import"@ant-design/icons/lib/outline/BorderOutline";import"@ant-design/icons/lib/outline/PauseOutline";import"@ant-design/icons/lib/outline/BulbOutline";const a=3,u=i("FIREWORK",{perDay:0,dateRange:[],expired:!0});const m=d({},undefined,{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:i}=this;return{firework:null,canFire:!1,style:{width:0,height:0,position:"fixed",top:0,left:0,zIndex:i}}},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",u.value.perDay=(t(u)?.perDay??0)-1})});const e=n(window,"resize",this.updateCanvasSize);this.$once("hook:beforeDestroy",()=>{e(),this.firework?.clear?.(),this.firework=null})},methods:{async setStore(){if("function"!=typeof this.getConfig)return;const i=await this.getConfig(),{DateRange:n="",Perday:o=a,IsOn:l=!1}=this.serializer?s.get(i,this.serializer,Object.create(null)):i;if(!l)return void e(u,null);const d=n?.split(",")?.slice(0,2)?.map((i,t)=>r(i)?.[t?"endOf":"startOf"]?.("day"))?.filter(i=>i?.isValid?.())??[],{perDay:m,expired:c}=t(u)??{},p=!0===c||r().isAfter(c)?Number(o)||a:m;e(u,{perDay:p,dateRange:d,expired:r().endOf("day")})},checkCanFire(){const{perDay:i,dateRange:n}=t(u)??{},e=r();return 2===n?.length&&e.isAfter(n?.[0])&&e.isBefore(n?.[1])&&!Number.isNaN(i)&&i>0},updateCanvasSize(){if(!this.firework)return;const{width:i,height:n}=o();this.firework.updateSize?.({width:t(i),height:t(n)})},async launch(i){for(let i=0;i<this.launchCount;i++)await l(this.intervalPerLaunch),this.firework?.launch?.(this.countPerLaunch);await l(2e3),i?.()}},render(){return(0,arguments[0])("div",{class:"firework-container",style:this.style,ref:"container"})}},undefined,undefined,undefined,!1,void 0,void 0,void 0);export{m as default};
|
|
2
|
+
//# sourceMappingURL=index-5feeadcc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-5feeadcc.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","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"],"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-d2d6f0f2.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("vuedraggable"),require("moment-timezone"),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-6ed1c37c.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-6ed1c37c.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
|
+
import{useStorage as i,get as t,useEventListener as n,set as e,useWindowSize as o,promiseTimeout as l}from"@vueuse/core";import r from"moment";import s from"underscore";import{n as d}from"./index-eade8ea5.js";import"ant-design-vue";import"vue-clipboard2";import"@yqg/enum";import"vue";import"vuex";import"vue-codemirror";import"codemirror/mode/clike/clike.js";import"codemirror/mode/groovy/groovy.js";import"codemirror/mode/javascript/javascript.js";import"codemirror/mode/sql/sql.js";import"codemirror/mode/yaml/yaml.js";import"codemirror/mode/xml/xml.js";import"codemirror/lib/codemirror.css";import"codemirror/theme/neo.css";import"codemirror/addon/hint/show-hint.css";import"codemirror/addon/display/placeholder.js";import"codemirror/addon/edit/closebrackets.js";import"codemirror/addon/edit/closetag.js";import"codemirror/addon/edit/matchbrackets.js";import"codemirror/addon/edit/matchtags.js";import"codemirror/addon/hint/show-hint.js";import"codemirror/addon/hint/sql-hint.js";import"codemirror/addon/fold/foldgutter.css";import"codemirror/addon/fold/foldcode.js";import"codemirror/addon/fold/foldgutter.js";import"codemirror/addon/fold/brace-fold.js";import"codemirror/addon/fold/comment-fold.js";import"codemirror/addon/fold/indent-fold.js";import"yqg-common/core/StageUtil";import"element-resize-detector";import"vuedraggable";import"moment-timezone";import"prismjs";import"@yqg/resource";import"qiniu-js";import"dompurify";import"marked";import"tiptap";import"tiptap-extensions";import"tiptap-commands";import"prosemirror-inputrules";import"tiptap-utils";import"@ant-design/icons/lib/outline/LinkOutline";import"@ant-design/icons/lib/outline/FileOutline";import"@ant-design/icons/lib/outline/BoldOutline";import"@ant-design/icons/lib/outline/StrikethroughOutline";import"@ant-design/icons/lib/outline/UnderlineOutline";import"@ant-design/icons/lib/outline/UnorderedListOutline";import"@ant-design/icons/lib/outline/OrderedListOutline";import"@ant-design/icons/lib/outline/UndoOutline";import"@ant-design/icons/lib/outline/FontColorsOutline";import"@ant-design/icons/lib/outline/FontSizeOutline";import"@ant-design/icons/lib/outline/AlignLeftOutline";import"@ant-design/icons/lib/outline/AlignCenterOutline";import"@ant-design/icons/lib/outline/AlignRightOutline";import"@ant-design/icons/lib/outline/AudioOutline";import"@ant-design/icons/lib/outline/BgColorsOutline";import"@ant-design/icons/lib/outline/UserOutline";import"@ant-design/icons/lib/outline/MenuFoldOutline";import"@ant-design/icons/lib/outline/MenuUnfoldOutline";import"@ant-design/icons/lib/outline/UploadOutline";import"@ant-design/icons/lib/outline/BookOutline";import"@ant-design/icons/lib/outline/LockOutline";import"@ant-design/icons/lib/outline/UnlockOutline";import"@ant-design/icons/lib/outline/PhoneOutline";import"@ant-design/icons/lib/outline/QuestionOutline";import"@ant-design/icons/lib/outline/SettingOutline";import"@ant-design/icons/lib/outline/HeartOutline";import"@ant-design/icons/lib/outline/CaretLeftOutline";import"@ant-design/icons/lib/outline/CaretRightOutline";import"@ant-design/icons/lib/outline/BellOutline";import"@ant-design/icons/lib/outline/BarChartOutline";import"@ant-design/icons/lib/outline/RedEnvelopeOutline";import"@ant-design/icons/lib/outline/CreditCardOutline";import"@ant-design/icons/lib/outline/ToolOutline";import"@ant-design/icons/lib/outline/AppstoreOutline";import"@ant-design/icons/lib/outline/DownloadOutline";import"@ant-design/icons/lib/outline/SyncOutline";import"@ant-design/icons/lib/outline/CloseOutline";import"@ant-design/icons/lib/outline/CheckOutline";import"@ant-design/icons/lib/outline/LoadingOutline";import"@ant-design/icons/lib/outline/CheckCircleOutline";import"@ant-design/icons/lib/outline/InfoCircleOutline";import"@ant-design/icons/lib/outline/CloseCircleOutline";import"@ant-design/icons/lib/outline/ExclamationCircleOutline";import"@ant-design/icons/lib/outline/QuestionCircleOutline";import"@ant-design/icons/lib/fill/CheckCircleFill";import"@ant-design/icons/lib/fill/InfoCircleFill";import"@ant-design/icons/lib/fill/CloseCircleFill";import"@ant-design/icons/lib/fill/ExclamationCircleFill";import"@ant-design/icons/lib/outline/UpOutline";import"@ant-design/icons/lib/outline/DownOutline";import"@ant-design/icons/lib/outline/LeftOutline";import"@ant-design/icons/lib/outline/RightOutline";import"@ant-design/icons/lib/outline/RedoOutline";import"@ant-design/icons/lib/outline/CalendarOutline";import"@ant-design/icons/lib/outline/SearchOutline";import"@ant-design/icons/lib/outline/BarsOutline";import"@ant-design/icons/lib/fill/StarFill";import"@ant-design/icons/lib/outline/FilterOutline";import"@ant-design/icons/lib/fill/CaretUpFill";import"@ant-design/icons/lib/fill/CaretDownFill";import"@ant-design/icons/lib/outline/CaretUpOutline";import"@ant-design/icons/lib/outline/CaretDownOutline";import"@ant-design/icons/lib/outline/MinusOutline";import"@ant-design/icons/lib/outline/EditOutline";import"@ant-design/icons/lib/outline/FolderOpenOutline";import"@ant-design/icons/lib/outline/FolderOutline";import"@ant-design/icons/lib/outline/PaperClipOutline";import"@ant-design/icons/lib/outline/PictureOutline";import"@ant-design/icons/lib/outline/EyeOutline";import"@ant-design/icons/lib/outline/EyeInvisibleOutline";import"@ant-design/icons/lib/outline/DeleteOutline";import"@ant-design/icons/lib/outline/ItalicOutline";import"@ant-design/icons/lib/outline/CodeOutline";import"@ant-design/icons/lib/outline/FileImageOutline";import"@ant-design/icons/lib/outline/FullscreenOutline";import"@ant-design/icons/lib/outline/FullscreenExitOutline";import"@ant-design/icons/lib/outline/GlobalOutline";import"@ant-design/icons/lib/outline/FastBackwardOutline";import"@ant-design/icons/lib/outline/FastForwardOutline";import"@ant-design/icons/lib/outline/BorderOutline";import"@ant-design/icons/lib/outline/PauseOutline";import"@ant-design/icons/lib/outline/BulbOutline";const a=3,u=i("FIREWORK",{perDay:0,dateRange:[],expired:!0});const m=d({},undefined,{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:i}=this;return{firework:null,canFire:!1,style:{width:0,height:0,position:"fixed",top:0,left:0,zIndex:i}}},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",u.value.perDay=(t(u)?.perDay??0)-1})});const e=n(window,"resize",this.updateCanvasSize);this.$once("hook:beforeDestroy",()=>{e(),this.firework?.clear?.(),this.firework=null})},methods:{async setStore(){if("function"!=typeof this.getConfig)return;const i=await this.getConfig(),{DateRange:n="",Perday:o=a,IsOn:l=!1}=this.serializer?s.get(i,this.serializer,Object.create(null)):i;if(!l)return void e(u,null);const d=n?.split(",")?.slice(0,2)?.map((i,t)=>r(i)?.[t?"endOf":"startOf"]?.("day"))?.filter(i=>i?.isValid?.())??[],{perDay:m,expired:c}=t(u)??{},p=!0===c||r().isAfter(c)?Number(o)||a:m;e(u,{perDay:p,dateRange:d,expired:r().endOf("day")})},checkCanFire(){const{perDay:i,dateRange:n}=t(u)??{},e=r();return 2===n?.length&&e.isAfter(n?.[0])&&e.isBefore(n?.[1])&&!Number.isNaN(i)&&i>0},updateCanvasSize(){if(!this.firework)return;const{width:i,height:n}=o();this.firework.updateSize?.({width:t(i),height:t(n)})},async launch(i){for(let i=0;i<this.launchCount;i++)await l(this.intervalPerLaunch),this.firework?.launch?.(this.countPerLaunch);await l(2e3),i?.()}},render(){return(0,arguments[0])("div",{class:"firework-container",style:this.style,ref:"container"})}},undefined,undefined,undefined,!1,void 0,void 0,void 0);export{m as default};
|
|
2
|
+
//# sourceMappingURL=index-8be827e1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-8be827e1.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","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"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useStorage as i,get as t,useEventListener as n,set as e,useWindowSize as o,promiseTimeout as l}from"@vueuse/core";import r from"moment";import s from"underscore";import{n as d}from"./index-c5a7d215.js";import"ant-design-vue";import"vue-clipboard2";import"@yqg/enum";import"vue";import"vuex";import"vue-codemirror";import"codemirror/mode/clike/clike.js";import"codemirror/mode/groovy/groovy.js";import"codemirror/mode/javascript/javascript.js";import"codemirror/mode/sql/sql.js";import"codemirror/mode/yaml/yaml.js";import"codemirror/mode/xml/xml.js";import"codemirror/lib/codemirror.css";import"codemirror/theme/neo.css";import"codemirror/addon/hint/show-hint.css";import"codemirror/addon/display/placeholder.js";import"codemirror/addon/edit/closebrackets.js";import"codemirror/addon/edit/closetag.js";import"codemirror/addon/edit/matchbrackets.js";import"codemirror/addon/edit/matchtags.js";import"codemirror/addon/hint/show-hint.js";import"codemirror/addon/hint/sql-hint.js";import"codemirror/addon/fold/foldgutter.css";import"codemirror/addon/fold/foldcode.js";import"codemirror/addon/fold/foldgutter.js";import"codemirror/addon/fold/brace-fold.js";import"codemirror/addon/fold/comment-fold.js";import"codemirror/addon/fold/indent-fold.js";import"yqg-common/core/StageUtil";import"element-resize-detector";import"vuedraggable";import"moment-timezone";import"prismjs";import"@yqg/resource";import"qiniu-js";import"dompurify";import"marked";import"tiptap";import"tiptap-extensions";import"tiptap-commands";import"prosemirror-inputrules";import"tiptap-utils";import"@ant-design/icons/lib/outline/LinkOutline";import"@ant-design/icons/lib/outline/FileOutline";import"@ant-design/icons/lib/outline/BoldOutline";import"@ant-design/icons/lib/outline/StrikethroughOutline";import"@ant-design/icons/lib/outline/UnderlineOutline";import"@ant-design/icons/lib/outline/UnorderedListOutline";import"@ant-design/icons/lib/outline/OrderedListOutline";import"@ant-design/icons/lib/outline/UndoOutline";import"@ant-design/icons/lib/outline/FontColorsOutline";import"@ant-design/icons/lib/outline/FontSizeOutline";import"@ant-design/icons/lib/outline/AlignLeftOutline";import"@ant-design/icons/lib/outline/AlignCenterOutline";import"@ant-design/icons/lib/outline/AlignRightOutline";import"@ant-design/icons/lib/outline/AudioOutline";import"@ant-design/icons/lib/outline/BgColorsOutline";import"@ant-design/icons/lib/outline/UserOutline";import"@ant-design/icons/lib/outline/MenuFoldOutline";import"@ant-design/icons/lib/outline/MenuUnfoldOutline";import"@ant-design/icons/lib/outline/UploadOutline";import"@ant-design/icons/lib/outline/BookOutline";import"@ant-design/icons/lib/outline/LockOutline";import"@ant-design/icons/lib/outline/UnlockOutline";import"@ant-design/icons/lib/outline/PhoneOutline";import"@ant-design/icons/lib/outline/QuestionOutline";import"@ant-design/icons/lib/outline/SettingOutline";import"@ant-design/icons/lib/outline/HeartOutline";import"@ant-design/icons/lib/outline/CaretLeftOutline";import"@ant-design/icons/lib/outline/CaretRightOutline";import"@ant-design/icons/lib/outline/BellOutline";import"@ant-design/icons/lib/outline/BarChartOutline";import"@ant-design/icons/lib/outline/RedEnvelopeOutline";import"@ant-design/icons/lib/outline/CreditCardOutline";import"@ant-design/icons/lib/outline/ToolOutline";import"@ant-design/icons/lib/outline/AppstoreOutline";import"@ant-design/icons/lib/outline/DownloadOutline";import"@ant-design/icons/lib/outline/SyncOutline";import"@ant-design/icons/lib/outline/CloseOutline";import"@ant-design/icons/lib/outline/CheckOutline";import"@ant-design/icons/lib/outline/LoadingOutline";import"@ant-design/icons/lib/outline/CheckCircleOutline";import"@ant-design/icons/lib/outline/InfoCircleOutline";import"@ant-design/icons/lib/outline/CloseCircleOutline";import"@ant-design/icons/lib/outline/ExclamationCircleOutline";import"@ant-design/icons/lib/outline/QuestionCircleOutline";import"@ant-design/icons/lib/fill/CheckCircleFill";import"@ant-design/icons/lib/fill/InfoCircleFill";import"@ant-design/icons/lib/fill/CloseCircleFill";import"@ant-design/icons/lib/fill/ExclamationCircleFill";import"@ant-design/icons/lib/outline/UpOutline";import"@ant-design/icons/lib/outline/DownOutline";import"@ant-design/icons/lib/outline/LeftOutline";import"@ant-design/icons/lib/outline/RightOutline";import"@ant-design/icons/lib/outline/RedoOutline";import"@ant-design/icons/lib/outline/CalendarOutline";import"@ant-design/icons/lib/outline/SearchOutline";import"@ant-design/icons/lib/outline/BarsOutline";import"@ant-design/icons/lib/fill/StarFill";import"@ant-design/icons/lib/outline/FilterOutline";import"@ant-design/icons/lib/fill/CaretUpFill";import"@ant-design/icons/lib/fill/CaretDownFill";import"@ant-design/icons/lib/outline/CaretUpOutline";import"@ant-design/icons/lib/outline/CaretDownOutline";import"@ant-design/icons/lib/outline/MinusOutline";import"@ant-design/icons/lib/outline/EditOutline";import"@ant-design/icons/lib/outline/FolderOpenOutline";import"@ant-design/icons/lib/outline/FolderOutline";import"@ant-design/icons/lib/outline/PaperClipOutline";import"@ant-design/icons/lib/outline/PictureOutline";import"@ant-design/icons/lib/outline/EyeOutline";import"@ant-design/icons/lib/outline/EyeInvisibleOutline";import"@ant-design/icons/lib/outline/DeleteOutline";import"@ant-design/icons/lib/outline/ItalicOutline";import"@ant-design/icons/lib/outline/CodeOutline";import"@ant-design/icons/lib/outline/FileImageOutline";import"@ant-design/icons/lib/outline/FullscreenOutline";import"@ant-design/icons/lib/outline/FullscreenExitOutline";import"@ant-design/icons/lib/outline/GlobalOutline";import"@ant-design/icons/lib/outline/FastBackwardOutline";import"@ant-design/icons/lib/outline/FastForwardOutline";import"@ant-design/icons/lib/outline/BorderOutline";import"@ant-design/icons/lib/outline/PauseOutline";import"@ant-design/icons/lib/outline/BulbOutline";const a=3,u=i("FIREWORK",{perDay:0,dateRange:[],expired:!0});const m=d({},undefined,{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:i}=this;return{firework:null,canFire:!1,style:{width:0,height:0,position:"fixed",top:0,left:0,zIndex:i}}},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",u.value.perDay=(t(u)?.perDay??0)-1})});const e=n(window,"resize",this.updateCanvasSize);this.$once("hook:beforeDestroy",()=>{e(),this.firework?.clear?.(),this.firework=null})},methods:{async setStore(){if("function"!=typeof this.getConfig)return;const i=await this.getConfig(),{DateRange:n="",Perday:o=a,IsOn:l=!1}=this.serializer?s.get(i,this.serializer,Object.create(null)):i;if(!l)return void e(u,null);const d=n?.split(",")?.slice(0,2)?.map((i,t)=>r(i)?.[t?"endOf":"startOf"]?.("day"))?.filter(i=>i?.isValid?.())??[],{perDay:m,expired:c}=t(u)??{},p=!0===c||r().isAfter(c)?Number(o)||a:m;e(u,{perDay:p,dateRange:d,expired:r().endOf("day")})},checkCanFire(){const{perDay:i,dateRange:n}=t(u)??{},e=r();return 2===n?.length&&e.isAfter(n?.[0])&&e.isBefore(n?.[1])&&!Number.isNaN(i)&&i>0},updateCanvasSize(){if(!this.firework)return;const{width:i,height:n}=o();this.firework.updateSize?.({width:t(i),height:t(n)})},async launch(i){for(let i=0;i<this.launchCount;i++)await l(this.intervalPerLaunch),this.firework?.launch?.(this.countPerLaunch);await l(2e3),i?.()}},render(){return(0,arguments[0])("div",{class:"firework-container",style:this.style,ref:"container"})}},undefined,undefined,undefined,!1,void 0,void 0,void 0);export{m as default};
|
|
2
|
+
//# sourceMappingURL=index-a9bef2d1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-a9bef2d1.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","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"],"mappings":"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"}
|