<!--
 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>