| | |
| | | type: Object, |
| | | default: () => ({}), |
| | | }, |
| | | context:{ |
| | | context: { |
| | | type: Object, |
| | | default: () => ({}), |
| | | }, |
| | |
| | | }); |
| | | |
| | | const emit = defineEmits(['ready']); |
| | | |
| | | function insertScript(src, callback) { |
| | | const script = document.createElement('script'); |
| | | script.setAttribute('type', 'text/javascript'); |
| | | script.setAttribute('src', src); |
| | | script.async = true; |
| | | script.onload = () => callback(); |
| | | script.onerror = () => callback(new Error(`Failed to load ${src}`)); |
| | | document.head.appendChild(script); |
| | | } |
| | | function loadScript(callback) { |
| | | if (!window.eventList.amisSdkJsPromise) { |
| | | window.eventList.amisSdkJsPromise = new Promise((resolve, reject) => { |
| | | insertScript('/static/amis/sdk/sdk.js', (error) => { |
| | | if (error) { |
| | | reject(error); |
| | | return; |
| | | } |
| | | resolve(); |
| | | }); |
| | | }); |
| | | } |
| | | window.eventList.amisSdkJsPromise |
| | | .then(() => { |
| | | callback(); |
| | |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | |
| | | const current = router.currentRoute.value; |
| | | |