diff --git a/src/components/AiOpenData.vue b/src/components/AiOpenData.vue index 9a84207b..4c73be46 100644 --- a/src/components/AiOpenData.vue +++ b/src/components/AiOpenData.vue @@ -19,15 +19,23 @@ export default { methods: { ...mapActions(['injectJWeixin']), bindWWOpenData() { - if (window.WWOpenData) { - WWOpenData.bind(this.$el) - } else this.injectJWeixin().then(() => { - this.$nextTick(() => { + window?.WWOpenData?.checkSession({ + success: () => { WWOpenData.bind(this.$el) - }) + }, + fail: () => { + this.$initWxOpenData(WWOpenData => { + WWOpenData.bind(this.$el) + }) + } }) } }, + watch: { + openid(v) { + v && this.bindWWOpenData() + } + }, mounted() { this.$nextTick(() => { this.bindWWOpenData()