同步web端组件到企微
This commit is contained in:
@@ -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)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div :type="type" :openid="oid"/>
|
<div class="AiOpenData" :type="type" :openid="oid"/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -17,31 +17,15 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapActions(['injectJWeixin']),
|
...mapActions(['initOpenData']),
|
||||||
bindWWOpenData() {
|
|
||||||
window?.WWOpenData?.checkSession({
|
|
||||||
success: () => {
|
|
||||||
WWOpenData.bind(this.$el)
|
|
||||||
},
|
|
||||||
fail: () => {
|
|
||||||
this.injectJWeixin().then(() => {
|
|
||||||
WWOpenData.bind(this.$el)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}) || this.injectJWeixin().then(() => {
|
|
||||||
WWOpenData.bind(this.$el)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
openid(v) {
|
openid: {
|
||||||
v && this.bindWWOpenData()
|
handler(v) {
|
||||||
|
v && this.initOpenData()
|
||||||
|
},
|
||||||
|
immediate: true
|
||||||
}
|
}
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.bindWWOpenData()
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user