diff --git a/src/common/modules.js b/src/common/modules.js index 4d456580..eab13fa0 100644 --- a/src/common/modules.js +++ b/src/common/modules.js @@ -341,5 +341,35 @@ export const wxwork = { }) }) }, + initOpenData({dispatch, commit}, params) { + 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) + }, + bindElements() { + const nodes = document.querySelectorAll('.AiOpenData') + window.WWOpenData?.bindAll(nodes) + }, + initCanvas() { + window.WWOpenData?.initCanvas() + }, + transCanvas(store, items) { + return new Promise((resolve, reject) => { + window.WWOpenData?.prefetch({items}, (err, data) => { + err ? reject(err) : resolve(data) + }) + }) + } } } diff --git a/src/components/AiOpenData.vue b/src/components/AiOpenData.vue index 3a19f0ab..e82bfecd 100644 --- a/src/components/AiOpenData.vue +++ b/src/components/AiOpenData.vue @@ -1,5 +1,5 @@