12345678910111213141516171819202122232425262728293031323334353637 |
- import { ref } from 'vue'
- interface MessageResult {
- status: boolean
- error?: string
- }
- const isMessageModalOpen = ref(false)
- const isNeedContact = ref(false)
- const option = ref(null)
- let resolvePromise: ((value: MessageResult) => void) | null = null
- export function useMessageModal() {
- const openMessageModal = (opt: any): Promise<MessageResult> => {
- isMessageModalOpen.value = true
- isNeedContact.value = !opt || false
- option.value = opt
- return new Promise((resolve) => {
- resolvePromise = resolve
- })
- }
- const closeMessageModal = (result: MessageResult) => {
- isMessageModalOpen.value = false
- if (resolvePromise) {
- resolvePromise(result)
- resolvePromise = null
- }
- }
- return {
- isMessageModalOpen,
- isNeedContact,
- option,
- openMessageModal,
- closeMessageModal,
- }
- }
|