diff --git a/src/common/modules.js b/src/common/modules.js index eab13fa0..916cdf13 100644 --- a/src/common/modules.js +++ b/src/common/modules.js @@ -341,21 +341,30 @@ export const wxwork = { }) }) }, - initOpenData({dispatch, commit}, params) { - const canvas = params?.canvas - if (canvas) delete params.canvas - if (timer.initOpenData) { - clearTimeout(timer.initOpenData) + initOpenData({dispatch, commit}, params = {}) { + if (!!window?.WWOpenData) { + const canvas = params?.canvas + if (canvas) delete params.canvas + if (timer.initOpenData) { + clearTimeout(timer.initOpenData) + } + const init = () => canvas ? dispatch('initCanvas') : dispatch('bindElements') + timer.initOpenData = setTimeout(() => { + window?.WWOpenData?.checkSession({ + success: () => init(), + fail: () => { + dispatch('agentSign', params).then(() => dispatch("injectJWeixin")).then(() => init()) + } + }) + }, 50) + } else if (params?.count > 10) { + console.log("无法获取WWOpenData") + } else { + setTimeout(() => { + params.count = (params?.count || 0) + 1 + dispatch('initOpenData', params) + }, 200) } - const init = () => canvas ? dispatch('initCanvas') : dispatch('bindElements') - timer.initOpenData = setTimeout(() => { - window?.WWOpenData?.checkSession({ - success: () => init(), - fail: () => { - dispatch('agentSign', params).then(() => dispatch("injectJWeixin")).then(() => init()) - } - }) - }, 50) }, bindElements() { const nodes = document.querySelectorAll('.AiOpenData')