diff --git a/src/common/modules.js b/src/common/modules.js index 916cdf13..94e65e0f 100644 --- a/src/common/modules.js +++ b/src/common/modules.js @@ -341,30 +341,36 @@ export const wxwork = { }) }) }, - initOpenData({dispatch, commit}, params = {}) { - if (!!window?.WWOpenData) { - const canvas = params?.canvas - if (canvas) delete params.canvas - if (timer.initOpenData) { - clearTimeout(timer.initOpenData) + initOpenData({dispatch, commit, state}, params = {}) { + wx.config({...state.config, jsApiList: []}) + wx.ready(() => { + 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) - } else if (params?.count > 10) { - console.log("无法获取WWOpenData") - } else { - setTimeout(() => { - params.count = (params?.count || 0) + 1 - dispatch('initOpenData', params) - }, 200) - } + }) + wx.error(err => { + console.log(err) + }) }, bindElements() { const nodes = document.querySelectorAll('.AiOpenData')