xy 1 year ago
parent 0b7bb45005
commit be1105774e

@ -72,6 +72,7 @@ Vue.config.productionTip = false
Vue.config.errorHandler = (err, vm, info) => { Vue.config.errorHandler = (err, vm, info) => {
console.error(info, err) console.error(info, err)
} }
new Vue({ new Vue({
el: '#app', el: '#app',
router, router,

@ -30,13 +30,14 @@
</template> </template>
<script> <script>
const moduleHistoryMap = JSON.parse(localStorage.getItem('moduleHistoryMap')) ?? {}
import { getToken } from '@/utils/auth' import { getToken } from '@/utils/auth'
import Wujie from 'wujie-vue2' // import Wujie from 'wujie-vue2'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import Cookies from 'js-cookie' import Cookies from 'js-cookie'
export default { export default {
components: { components: {
Wujie // Wujie
}, },
data() { data() {
return { return {
@ -46,6 +47,7 @@ export default {
}, },
auth_uri: '', auth_uri: '',
isLoading: false isLoading: false
} }
}, },
computed: { computed: {
@ -61,6 +63,7 @@ export default {
auth_token: window.encodeURIComponent(getToken()), auth_token: window.encodeURIComponent(getToken()),
module_name: this.module_name, module_name: this.module_name,
theme: window.encodeURIComponent(Cookies.get('defaultTheme')), theme: window.encodeURIComponent(Cookies.get('defaultTheme')),
to: moduleHistoryMap[this.module_name],
...this.$route.query ...this.$route.query
} }
this.auth_uri = `${newVal}/#/?${this.obj2Query(query)}` this.auth_uri = `${newVal}/#/?${this.obj2Query(query)}`
@ -81,13 +84,24 @@ export default {
} }
}, },
created() { created() {
window.addEventListener('beforeunload', this.refreshWindowListener)
}, },
mounted() {}, mounted() {},
beforeDestroy() { beforeDestroy() {
this.$refs['program'].onload = null this.$refs['program'].onload = null
window.removeEventListener('beforeunload', this.refreshWindowListener)
},
beforeRouteLeave(to, from, next) {
moduleHistoryMap[from.meta.moduleName] = new URL(document.querySelector('#iframe-cpn').contentDocument.URL).hash?.replace('#', '')
next()
}, },
methods: { methods: {
refreshWindowListener(e) {
if (this.$route.meta.isModule) {
moduleHistoryMap[this.$route.meta.moduleName] = new URL(document.querySelector('#iframe-cpn').contentDocument.URL).hash?.replace('#', '')
}
localStorage.setItem('moduleHistoryMap', JSON.stringify(moduleHistoryMap))
},
postMessage() { postMessage() {
if (this.props.auth_token && this.props.module_name) { if (this.props.auth_token && this.props.module_name) {
this.$refs['program'].contentWindow.postMessage(this.props) this.$refs['program'].contentWindow.postMessage(this.props)

Loading…
Cancel
Save