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