import Vue from 'vue' /** * 全局推送/活动广告弹窗状态(App.vue 内统一挂载一层 UI) * 极光 extras 可约定字段:adImage(必填,图片 URL)、adUrl(可选,点击跳转) */ export const pushAdState = Vue.observable({ visible: false, imageUrl: '', linkUrl: '', extras: null }) export function openPushAd(payload) { if (!payload || typeof payload !== 'object') return const imageUrl = payload.adImage || payload.imageUrl || payload.img if (!imageUrl) return pushAdState.imageUrl = imageUrl pushAdState.linkUrl = payload.adUrl || payload.linkUrl || payload.url || '' pushAdState.extras = payload pushAdState.visible = true } export function closePushAd() { pushAdState.visible = false pushAdState.imageUrl = '' pushAdState.linkUrl = '' pushAdState.extras = null }