<!-- tabbar --> <template> <div> <web-view :src="pageUrl1" @error="handleError" @message="getMessage"></web-view> <div style="width: 100%;height: 90vh;display: flex;justify-content: center;align-items: center;" > <van-loading size="40px" type="spinner"></van-loading> </div> </div> </template> <script> let forUrlAddKey = require("mayi-front-tools/forUrlAddKey").default; import { getUrlofLink, checkTabbarPage, getUrlofQuery } from "../utils/mayi.js"; import { serialize, DFSImg} from "@/utils/index"; import { getStoreInfo } from "@/utils/mayi.js"; const app = getApp(); const { log } = app; export default { props: { index: { type: Number, default: 1, }, }, data() { return { link: process.env.BASE_URL, page: "/", params: "?mixid=" + this.$store.state.mixid, ss: "", timestamp:"", isMiniPage : false, showPage : true, pageUrl1: "", }; }, computed: { pageUrl() { console.log(this.link, '******', this.page, '-------', this.params, '++++++++') this.params += `&native_test=1&tabbar=${this.index}&location_obj=${wx.getStorageSync( "location" )}` // url添加门店信息参数 let { offlineShopCode, offlineShopName } = getStoreInfo(); if (offlineShopCode) { this.params+=`&offlineShopCode=${offlineShopCode}&offlineShopName=${offlineShopName}` } // 加_ma_uid if (wx.getStorageSync("_ma_uid")) { this.params += `&_ma_uid=${wx.getStorageSync("_ma_uid")}`; } // 加_ma_sid if (wx.getStorageSync("_ma_sid")) { this.params += `&_ma_sid=${wx.getStorageSync("_ma_sid")}`; } let pageUrl1 = (this.page.startsWith('http://') || this.page.startsWith('https://'))? (this.page + this.params) : this.link+this.page+this.params let pageUrl = forUrlAddKey(decodeURIComponent(pageUrl1)); console.log(pageUrl,'--pageUrl') return pageUrl + this.ss + this.timestamp; } }, onLoad(options) { console.log('--onLoad') let tabIndex = this.index>=this.mpApp.globalData.footerVal.componentData.list.length?this.mpApp.globalData.footerVal.componentData.list.length-1:this.index; this.params = this.$options.data.call(this).params let ss = wx.getStorageSync("sessionid"); this.ss = ss ? `&sessionid=${ss}` : ""; let enterpriseAccount = wx.getStorageSync("enterpriseAccount"); if(enterpriseAccount) { this.ss += enterpriseAccount ? `&enterpriseAccount=${enterpriseAccount}` : ""; } if (!ss) { this.params += this.params.includes("logOut") ? "" : "&logOut=true"; } if(wx.getStorageSync("workBox")){ this.params += `&workBox=${wx.getStorageSync("workBox")}` } // 判断当前是否为导购分享 const setGuideEmployeeId = wx.getStorageSync(this.$store.state.mixid + 'setGuideEmployeeId'); if (setGuideEmployeeId) { this.params += `&setGuideEmployeeId=${setGuideEmployeeId}`; } // tabbar 跳转 let homeIndex = checkTabbarPage("/"); console.log(homeIndex,tabIndex,'--tabIndex') homeIndex != 0 && homeIndex == tabIndex && (tabIndex = 0); console.log(this.mpApp.globalData.footerVal,tabIndex,this.mpApp.globalData.footerVal.componentData.list.length,'--this.mpApp.globalData.footerVal') let urlLink = this.mpApp.globalData.footerVal.componentData.list[tabIndex].link; console.log(urlLink,'---urlLink') if (urlLink) { this.page = getUrlofLink( urlLink ); let query=serialize(options) let urlPrams = urlLink.link.split('?')[1]?urlLink.link.split('?')[1]:""; console.log(query,'==================', this.params,'-----------------',urlPrams) // // 只兼容底部导航进入活动页面添加参数,跳转完成删除 if(query){ this.params+='&'+query } else { this.params+=urlPrams?'&'+urlPrams:'' } } let reg = /^\/pages\//; console.log(this.pageUrl,'pageUrl======================',urlLink) if (urlLink) { if(reg.test(urlLink.link)){ wx.reLaunch({ url: urlLink.link, }); } } this.pageUrl1 = this.pageUrl; }, onShow(){ console.log('--onShow--') this.loadPage(); }, methods: { loadPage() { // 需要重新加载页面 let pageList = ['/shopCart/shoppingCart']; let includesPage = pageList.filter(item => this.pageUrl.indexOf(item) > -1); console.log(includesPage,'-----includesPage') // 重载页面 let reloadTabbarPage = wx.getStorageSync("reloadTabbarPage") || 0; if(reloadTabbarPage == 1 || includesPage.length>0){ this.showPage = false; setTimeout(() => { this.showPage = true; }, 0); this.pageUrl1 = this.pageUrl + `&tim=${new Date().getTime()}` wx.removeStorageSync("reloadTabbarPage"); console.log(this.pageUrl1,'--this.pageUrl1') } }, handleError(data) { wx.showLoading({ title: "网页加载失败 请右上角刷新", }); }, //右上角分享时触发 getMessage(res) { this.$emit("getMessage",res); }, }, }; </script>