<template>
  <view>
    <view v-if="showStart == true" style="width: 100vw; height: 100vh">
      <image
        :src="startData.PicUrl"
        mode="aspectFit"
        style="width: 100%; height: 100%; position: relative"
      >
        <view
          class="Startbtn"
          :style="{ top: pagePaddingBottom }"
          @click="startb"
        >
          跳过
        </view>
      </image>
    </view>
    <view
      v-if="myPageData.home_pages"
      v-show="showStart == false"
      :style="[myPageData.home_pages.navs[active].templateBg]"
    >
      <view
        class="content"
        :style="{
          'padding-bottom': showtabs == ture ? '100rpx' : 0,
          paddingTop: pagePaddingBottom,
        }"
      >
        <view
          class="index-title"
          :class="{ MainTopLeft: pageTitleStr.length > 10 }"
          :style="[
            myPageData.home_pages.navs[active].templateBg,
            titleStyle,
            {
              color: myPageData.home_pages.navs[active].templateBg
                ? myPageData.home_pages.navs[active].templateBg.titleColor
                : '',
            },
          ]"
        >
          <text v-if="isNavPosition == 0">{{ pageTitleStr }}</text>
          <view v-if="isNavPosition == 1" style="width: 78%">
            <search :style-str="searchData"></search>
          </view>
          <view class="back-arrow" v-if="showBack" @click="goback">
            <u-icon name="arrow-left" size="44"></u-icon>
          </view>
        </view>
        <!-- <view @click='yj' style="width: 200px;height: 50px;">活动</view> -->
        <u-tabs
          v-if="myPageData.home_pages && myPageData.home_pages.navs.length > 1"
          name="name"
          :list="myPageData.home_pages.navs"
          :is-scroll="true"
          :active-color="mainColor"
          :current="active"
          :bar-width="80"
          :font-size="32"
          :bold="false"
          @change="changeHandler"
        ></u-tabs>
        <template v-for="(item, i) in myPageData.home_pages.navs">
          <view :key="i" v-if="active == i">
            <template v-for="(d, di) in item.template.data">
              <search
                v-if="d.id == 'search' && isNavPosition == 0"
                :style-str="d.data"
                :key="di"
              ></search>
              <swiper
                v-if="d.id == 'banner'"
                :swipers="d.data"
                :key="di"
              ></swiper>
              <empty v-if="d.id == 'empty'" :block="d.data" :key="di"></empty>
              <rubik v-if="d.id == 'rubik'" :ad="d.data" :key="di"></rubik>
              <goods v-if="d.id == 'goods'" :goods="d.data" :key="di"></goods>
              <notice
                v-if="d.id == 'notice'"
                :notice="d.data"
                :key="di"
              ></notice>
              <gridnav v-if="d.id == 'nav'" :navs="d.data" :key="di"></gridnav>
              <pagetitle
                v-if="d.id == 'link'"
                :ts="d.data"
                :key="di"
              ></pagetitle>
              <videopage
                v-if="d.id == 'video'"
                :video="d.data"
                :key="di"
              ></videopage>
              <copyright
                v-if="d.id == 'copyright'"
                :cop="d.data"
                :key="di"
              ></copyright>
              <checkin
                v-if="d.id == 'check-in'"
                :check="d.data"
                :key="di"
              ></checkin>
              <userbox
                v-if="d.id == 'user-info'"
                :ts="d.data"
                :key="di"
              ></userbox>
              <view v-if="d.id == 'image-text'" class="imageText" :key="di">
                <view v-html="d.data.content"></view>
              </view>
              <userorder
                v-if="d.id == 'user-order'"
                :uo="d.data"
                :key="di"
              ></userorder>
              <mapi v-if="d.id == 'map'" :mapi="d.data" :key="di"></mapi>
              <checkform
                v-if="d.id == 'form'"
                :forms="d.data"
                :key="di"
              ></checkform>
              <addialog
                v-if="d.id == 'modal' && d.data.opened"
                :ads="d.data"
                :key="di"
              ></addialog>
              <quicknav
                v-if="d.id == 'quick-nav' && d.data.navSwitch == 1"
                :navs="d.data"
                :key="di"
              ></quicknav>
              <pingtuan
                v-if="d.id == 'pintuan'"
                :goods="d.data"
                :key="di"
              ></pingtuan>
              <shopinfo
                v-if="d.id == 'shop-info'"
                :ad="d.data"
                :key="di"
                ref="son"
              ></shopinfo>
              <guide
                v-if="d.id == 'drive-guide'"
                :info="d.data"
                ref="city"
              ></guide>
              <!-- 网课列表 -->
              <rgoods v-if="d.id == 'educationCustom'" :goods="d.data"></rgoods>
              <!-- 资讯 -->
              <argoods
                v-if="d.id == 'educationArticle'"
                :goods="d.data"
              ></argoods>
              <!-- 最近学习组件 -->
              <rstudy
                v-if="d.id == 'education'"
                :goods="d.data"
                ref="study"
              ></rstudy>
              <store
                v-if="d.id == 'reservestore'"
                :goods="d.data"
                :storeinfo="storeInfo"
              ></store>
              <!-- 线下服务商品 -->
              <sindex
                v-if="d.id == 'storeGoods'"
                :goods="d.data"
                :key="di"
              ></sindex>
              <!-- 老师列表 -->
              <educationteacher
                v-if="d.id == 'educationteacher'"
                :goods="d.data"
                :key="di"
              ></educationteacher>
              <!--导航栏-->
              <navpage
                v-if="d.id == 'nav-page'"
                :navs="d.data"
                :key="di"
              ></navpage>
              <!-- 相亲的人物模板 -->
              <matchmaking
                v-if="d.id == 'miaiuser'"
                :navs="d.data"
                :key="di"
              ></matchmaking>
              <!-- 相亲活动 -->
              <miaiactivitytype
                v-if="d.id == 'miaiactivitytype'"
                :goods="d.data"
              ></miaiactivitytype>
              <!-- 相亲活动自定义 -->
              <miaiactivityCustom
                v-if="d.id == 'miaiactivityCustom'"
                :goods="d.data"
              ></miaiactivityCustom>
              <!-- 瀑布流组件 -->
              <Pubu
                v-if="d.id == 'blindDatePPPlus'"
                :dataObj="d.data"
                @refresh="refreshPage"
              ></Pubu>
			  <!-- 首店活动插件 -->
			  <tradeActivity
			    v-if="d.id == 'tradeActivity'"
			    :dataObj="d.data"
			    @refresh="refreshPage"
			  ></tradeActivity>
            </template>
          </view>
        </template>

        <view v-if="showtabs == true">
          <tabbar></tabbar>
        </view>

        <view
          class="tips_t"
          v-if="
            add_show == 1 &&
            JSON.stringify(setting) != '{}' &&
            setting.add_app_text != null
          "
          :style="{
            'border-radius': setting.add_app_bg_radius + 'rpx',
            opacity: setting.add_app_bg_transparency / 100,
            top: pagePaddingBottom,
          }"
        >
          <u-icon name="cross" color="#fff" @click="close"></u-icon>
          <view
            style="width: 1px; height: 20px; margin: 0 10px; background: #fff"
          ></view>
          <Text style="color: #fff">{{ setting.add_app_text }}</Text>
          <view class="triangle-up" :style="{ top: pagePaddingBottom }"></view>
        </view>
        <coupon
          v-if="showCoupons"
          :coupon-message="couponMessage"
          :cform="ComeFrom"
          @goLook="goLook"
          @closeBtn="closeBtn"
        ></coupon>
        <auth
          v-if="showAuth"
          @changeuserinfo="reloadUserinfo"
          @gbAuth="gbAuth"
        ></auth>
        <official-account></official-account>
        <orderPopup
          v-if="showorder"
          :orderPopupdata="orderPopupdata"
          @gosalesvolume="gosalesvolume"
          @closeBtn="closeBtn_order"
        ></orderPopup>
      </view>
    </view>
  </view>
</template>

<script>
import tabbar from "@/components/tabbar/index";
import search from "@/components/search/index";
import swiper from "@/components/swiper/index";
import empty from "@/components/empty/index";
import rubik from "@/components/rubik/index";
import goods from "@/components/goods/index";
import notice from "@/components/notice/index";
import gridnav from "@/components/gridnav/index";
import pagetitle from "@/components/pagetitle/index";
import videopage from "@/components/videopage/index";
import copyright from "@/components/copyright/index";
import checkin from "@/components/checkin/index";
import userbox from "@/components/userbox/index";
import userorder from "@/components/userorder/index";
import mapi from "@/components/mapi/index";
import checkform from "@/components/checkform/index";
import addialog from "@/components/addialog/index";
import quicknav from "@/components/quicknav/index";
import coupon from "@/components/coupons/coupons";
import pingtuan from "@/components/pingtuan/index";
import shopinfo from "@/components/shopinfo/shopinfo";
import auth from "@/components/auth/index.vue";
import guide from "@/components/guidecar/index.vue";
import rstudy from "@/components/study/Rstudy.vue";
import rgoods from "@/components/study/index.vue";
import argoods from "@/components/studyArticle/index.vue";
import store from "@/components/store/store.vue";
import sindex from "@/components/store/index.vue";
import educationteacher from "@/components/educationteacher/index";
import navpage from "@/components/navpage/index";
import matchmaking from "@/components/matchmaking/index";
import miaiactivitytype from "@/components/miaiactivitytype/index";
import miaiactivityCustom from "@/components/miaiactivityCustom/index";
import orderPopup from "@/components/coupons/orderPopup.vue"; //离线订单弹窗
import Pubu from "@/components/pubu/index.vue"; //瀑布流
import tradeActivity from "@/components/tradeActivity/index.vue"; //首店活动插件
const innerAudioContext = uni.createInnerAudioContext();
export default {
  data() {
    return {
      title: "Hello",
      myPageData: {},
      indexPageData: {},
      mainColor: "",
      active: 0,
      contentHeight: 0,
      pageId: 0,
      setting: {},
      add_show: 1,
      showtabs: true,
      showCoupons: false,
      couponMessage: "",
      pageTitleStr: "",
      titleStyle: "",
      pagePaddingBottom: "0px",
      showBack: false,
      showAuth: false,
      U: {},
      shopData: {},
      JumpType: 0,
      GoodsId: 29,
      guidecar: {},
      searchData: {}, //传递给search data
      isNavPosition: 0, //设置搜索框位置
      IsOpenSchool: 0,
      OrderId: 0,
      storePosition: "", //线下服务获取经纬度
      storeInfo: {},
      fxstoreId: 0, //分享过来的门店id
      showStart: false, //是否显示启动页
      startData: {},
      ComeFrom: "",
      cardsmoney: 0, //储值卡带过来的金额
      orderPopupdata: {}, //离线收益的弹窗
      showorder: false, //显示弹出
      carrierType: "", //载体type
      AppletID: 0, //判断小程序的id,相亲：11
    };
  },
  components: {
    tabbar,
    search,
    swiper,
    empty,
    rubik,
    goods,
    notice,
    gridnav,
    pagetitle,
    videopage,
    copyright,
    checkin,
    userbox,
    userorder,
    mapi,
    checkform,
    addialog,
    quicknav,
    coupon,
    pingtuan,
    shopinfo,
    auth,
    guide,
    rstudy,
    rgoods,
    argoods,
    store,
    sindex,
    educationteacher,
    navpage,
    matchmaking,
    miaiactivitytype,
    miaiactivityCustom,
    orderPopup,
    Pubu,
	tradeActivity,
  },
  onLoad(options) {
    let that = this;
    // options = {user_id:125459,SmallShopId:0,EduSchoolId:79}
    uni.getSystemInfo({
      success(res) {
        that.titleStyle = {
          height: "45px",
          paddingTop: `${res.statusBarHeight}px`,
        };
        that.pagePaddingBottom = 45 + res.statusBarHeight + "px";
      },
    });
    let c = this.$uiConfig.is_bang ? 78 : 50;
    this.contentHeight = this.$utils.calcContentHeight(c);
    if (options && options.page_id) {
      this.pageId = options.page_id;
      let queryString = "";
      for (var k in options) {
        queryString += `&${k}=${options[k]}`;
      }
      if (queryString != "") {
        queryString =
          "/pages/index/index?" + queryString.substring(1, queryString.length);
      }
      let p = 0;
      if (uni.getStorageSync("navs")) {
        uni.getStorageSync("navs").forEach((x) => {
          if (x.url == queryString) {
            p = 1;
          }
        });
      }
      if (p == 0) {
        this.showtabs = false;
        this.contentHeight = this.$utils.calcContentHeight();
      }
    }
    let mall_UserInfo = uni.getStorageSync("mall_UserInfo");
    if (options && options.Up) {
      //校园id
      uni.setStorageSync("Up", {
        Up: options.Up,
      });
      this.IsOpenSchool = options.Up == 2 ? 1 : 0; //分享进来是否是校园模式
    }
    if (options && options.custom_params) {
      let custom_params = JSON.parse(decodeURIComponent(options.custom_params));
      console.log(custom_params);
      if (custom_params.user_id) {
        uni.setStorageSync("pid", {
          pid: custom_params.user_id,
        });
      }
      if (custom_params.Up) {
        //校园id
        uni.setStorageSync("Up", {
          Up: custom_params.Up,
        });
        this.IsOpenSchool = custom_params.Up == 2 ? 1 : 0; //分享进来是否是校园模式
      }
    }
    if (mall_UserInfo && mall_UserInfo.UserPageType) {
      //进入页面时 判断登录缓存里是否是校园模式
      this.IsOpenSchool = mall_UserInfo.UserPageType == 2 ? 1 : 0;
    }
    if (options && options.user_id) {
      uni.setStorageSync("pid", {
        pid: options.user_id,
      });
    }
    if (options && options.SmallShopId) {
      uni.setStorageSync("SmallShopId", {
        SmallShopId: options.SmallShopId,
      });
    }
    if (options && options.EduSchoolId) {
      uni.setStorageSync("EduSchoolId", {
        EduSchoolId: options.EduSchoolId,
      });
    }
    //从其他小程序跳转过来
    if (options && options.CounponPassword) {
      //小程序的来自
      uni.setStorageSync("CounponPassword", {
        CounponPassword: options.CounponPassword,
      });
    }
    if (options && options.KeyWord) {
      //口令
      uni.setStorageSync("KeyWord", {
        KeyWord: options.KeyWord,
      });
    }
    if (options && options.ComeFrom) {
      //跳过来的文字描述
      this.ComeFrom = options.ComeFrom;
      uni.setStorageSync("ComeFrom", {
        ComeFrom: options.ComeFrom,
      });
    }
    if (options && options.scene) {
      //兼容之前小程序的调转
      this.getjump(options.scene);
    }
    if (options && options.storeId) {
      this.fxstoreId = options.storeId;
    }
    if (options && options.type) {
      this.carrierType = options.type;
    }

    // #ifdef MP-WEIXIN
    wx.showShareMenu({
      withShareTicket: true,
      menus: ["shareAppMessage", "shareTimeline"],
    });
    if (options && options.JumpType) {
      //跳转类型 1为详情2为直播列表3为司导
      this.JumpType = options.JumpType;
      if (options.JumpType == 3) {
        this.guidecar.GoodsId = options.GoodsId;
        this.guidecar.address = options.address
          ? JSON.parse(decodeURIComponent(options.address))
          : "";
        this.guidecar.Pickcar = options.Pickcar
          ? JSON.parse(decodeURIComponent(options.Pickcar))
          : "";
        this.guidecar.StartTime = options.StartTime ? options.StartTime : "";
        this.guidecar.EndTime = options.EndTime ? options.EndTime : "";
      }
    }
    if (options && options.J) {
      //司导分享的的特殊处理

      this.JumpType = options.J;
      if (options.J == 3) {
        this.guidecar.GoodsId = options.i;
        this.guidecar.address = options.address
          ? JSON.parse(decodeURIComponent(options.address))
          : "";
        this.guidecar.Pickcar = options.P
          ? JSON.parse(decodeURIComponent(options.P))
          : "";
        this.guidecar.StartTime = options.S ? options.S : "";
        this.guidecar.EndTime = options.E ? options.E : "";
      }
      if (options && options.u) {
        uni.setStorageSync("pid", {
          pid: options.u,
        });
      }
      if (options && options.m) {
        uni.setStorageSync("SmallShopId", {
          SmallShopId: options.m,
        });
      }
    }
    if (options && options.id) {
      //商品详情
      this.GoodsId = options.id;
    } else {
      this.GoodsId = options.GoodsId ? options.GoodsId : 29;
    }
    if (options && options.money) {
      //储值卡
      this.cardsmoney = options.money;
    }
    if (options && options.OrderId) {
      //代付订单id
      this.OrderId = options.OrderId;
    }
    that.u = uni.getStorageSync("mall_UserInfo");
    if (!that.u) {
      that.u = {
        nickName: "未登录",
        avatarUrl: "",
      };
      that.showAuth = true;
    } else {
      that.sharejump(); //4-9新加
    }
    //4-11这里暂时不能使用
    // wx.getUserInfo({//4-9修改 不使用getUserInfo 会造成获取回来的微信默认名称和头像
    // 	success: function(res) {//4-9之后的好像这里不能静默登录了需要弹出登录
    // 		console.log(res,'getUserInfo')
    // 		if (uni.getStorageSync("mall_UserInfo")) {
    // 			let uid = uni.getStorageSync("mall_UserInfo").UserId;
    // 			let msg = {
    // 				Id: uid,
    // 				AliasName: res.userInfo.nickName,
    // 				Photo: res.userInfo.avatarUrl,
    // 			};
    // 			that.updateuserinfo(msg);
    // 			that.getPageType()
    // 			// 如果登录的情况下直接跳转商品详情或者直播列表
    // 			// that.sharejump();
    // 			//如果登录状态 并且是uni.getStorageSync("CounponPassword")
    // 			if(uni.getStorageSync("CounponPassword")){
    // 				that.getunilogin(res)
    // 			}
    // 		} else {
    // 			that.getunilogin(res)
    // 		}
    // 	},
    // 	fail: function(e) {
    // 		uni.showToast({
    // 			title: "微信登录授权失败",
    // 			icon: "none"
    // 		});

    // 	},
    // });

    // #endif

    let set = uni.getStorageSync("basedata")
      ? uni.getStorageSync("basedata").mall.setting
      : {};
    if (!uni.getStorageSync("add_top_app")) {
      uni.setStorageSync("add_top_app", {
        add_top_app_show: 1,
      });
    }
    this.add_show = uni.getStorageSync("add_top_app")
      ? uni.getStorageSync("add_top_app").add_top_app_show
      : 1;
    this.setting = set;
    this.isShowBack();

    // this.init();
    let now = new Date();
    let nowtime =
      now.getFullYear() + "-" + (now.getMonth() + 1) + "-" + now.getDate();
    // this.getIsOpenReserve();//4-11注释
    if (!uni.getStorageSync("Startup_page")) {
      //获取启动页信息1、没有记录日期
      this.getstartModel(nowtime);
    } else {
      //记录日期和当天相差1天调取
      let dayc = this.DateDiff(
        uni.getStorageSync("Startup_page").time,
        nowtime
      );
      if (dayc >= 1) {
        this.getstartModel(nowtime);
      }
    }
    uni.showNavigationBarLoading();
  },
  created() {},
  // #ifdef MP-WEIXIN
  onShareTimeline() {
    setTimeout(() => {
      // console.log("分享调用");
      this.getReceive();
    }, 2500);
    let uid = uni.getStorageSync("mall_UserInfo")
      ? uni.getStorageSync("mall_UserInfo").UserId
      : 0;
    if (uid == 0) {
      uid = uni.getStorageSync("pid") ? uni.getStorageSync("pid").pid : 0;
    }
    let SmallShopId = uni.getStorageSync("mall_UserInfo")
      ? uni.getStorageSync("mall_UserInfo").SmallShopId
      : 0;
    if (SmallShopId == 0) {
      //如果微店id为0 去找所属微店id
      SmallShopId = uni.getStorageSync("mall_UserInfo")
        ? uni.getStorageSync("mall_UserInfo").UserSmallShopId
        : 0;
    }
    let title = this.setting.share_title
      ? this.setting.share_title
      : uni.getStorageSync("basedata").mall.name;
    if (SmallShopId != 0) {
      title = this.shopData.Name;
    }
    let Up = uni.getStorageSync("mall_UserInfo")
      ? uni.getStorageSync("mall_UserInfo").UserPageType
      : 0;
    return {
      title: title,
      query: "user_id=" + uid + "&SmallShopId=" + SmallShopId + "&Up=" + Up,
      imageUrl: "",
    };
  },
  onShareAppMessage(res) {
    setTimeout(() => {
      // console.log("分享调用");
      this.getReceive();
    }, 2500);
    let uid = uni.getStorageSync("mall_UserInfo")
      ? uni.getStorageSync("mall_UserInfo").UserId
      : 0;
    if (uid == 0) {
      uid = uni.getStorageSync("pid") ? uni.getStorageSync("pid").pid : 0;
    }
    let SmallShopId = uni.getStorageSync("mall_UserInfo")
      ? uni.getStorageSync("mall_UserInfo").SmallShopId
      : 0;
    if (SmallShopId == 0) {
      //如果微店id为0 去找所属微店id
      SmallShopId = uni.getStorageSync("mall_UserInfo")
        ? uni.getStorageSync("mall_UserInfo").UserSmallShopId
        : 0;
    }
    let title = this.setting.share_title
      ? this.setting.share_title
      : uni.getStorageSync("basedata").mall.name;
    if (SmallShopId != 0) {
      title = this.shopData.Name;
    }
    let Up = uni.getStorageSync("mall_UserInfo")
      ? uni.getStorageSync("mall_UserInfo").UserPageType
      : 0;
    return {
      title: title,
      path:
        "/pages/index/index?user_id=" +
        uid +
        "&SmallShopId=" +
        SmallShopId +
        "&Up=" +
        Up,
      imageUrl: "",
    };
  },
  // #endif
  onShow() {
    setTimeout(() => {
      uni.hideNavigationBarLoading();
    }, 500);
    this.mainColor = this.$uiConfig.mainColor;
    this.getIsOpenReserve();
  },

  methods: {
    getunilogin(res) {
      let that = this;
      //静默登录操作
      uni.login({
        provider: "weixin",
        success: (info) => {
          let obj = {
            Name: res.userInfo.nickName,
            Photo: res.userInfo.avatarUrl,
            code: info.code,
          };
          that.getCode(obj);
        },
        fail: () => {
          uni.showToast({
            title: "微信登录授权失败",
            icon: "none",
          });
          if (!that.u) {
            that.u = {
              nickName: "未登录",
              avatarUrl: "",
            };
            that.showAuth = true;
          }
        },
      });
    },
    //获取IsOpenReserve
    getIsOpenReserve() {
      this.request2(
        {
          url: "/api/Mall/GetAppConfig",
          data: {},
        },
        (res) => {
          uni.setStorageSync("GetAppConfig", res.data); //方便在分类判断
          if (res.resultCode == 1) {
            if (res.data.IsOpenReserve == 1) {
              this.getstore();
            } else {
              this.init();
            }
          } else {
            this.init();
          }
        }
      );
    },
    DateDiff(sDate1, sDate2) {
      var aDate, oDate1, oDate2, iDays;
      aDate = sDate1.split("-");
      oDate1 = new Date(aDate[1] + "-" + aDate[2] + "-" + aDate[0]); //转换为9-25-2017格式
      aDate = sDate2.split("-");
      oDate2 = new Date(aDate[1] + "-" + aDate[2] + "-" + aDate[0]);
      iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24); //把相差的毫秒数转换为天数
      return iDays;
    },
    getstartModel(time) {
      this.request2(
        {
          url: "/api/AppletSchool/GetEducationStartUpModel",
          data: {},
        },
        (res) => {
          uni.setStorageSync("Startup_page", { time: time }); //方便在分类判断
          if (res.resultCode == 1) {
            if (res.data.IsShow == 1) {
              this.showStart = true;
              this.startData = res.data;
              innerAudioContext.src = res.data.MusicUrl;
              innerAudioContext.play();
              setTimeout(() => {
                this.showStart = false;
                if (innerAudioContext != undefined) {
                  //判断下不是无法暂停
                  innerAudioContext.stop();
                }
              }, res.data.Seconds * 1000);
            }
          } else {
          }
        }
      );
    },
    startb() {
      //跳过启动页
      this.showStart = false;
      if (innerAudioContext != undefined) {
        //判断下不是无法暂停
        innerAudioContext.stop();
      }
    },
    getphonenumber(e) {
      console.log(e);
      uni.checkSession({
        //检查登录状态是否过期

        success: (x) => {
          if (x.errMsg == "checkSession:ok") {
            //没有过期
            console.log("没过期");
          }
        },
        fail: (err) => {
          //检测失败重新登录
          console.log(err);
        },
      });
    },
    //调用获取code
    getCode(obj) {
      var that = this;
      //这里请求接口
      that.request2(
        {
          url: "/api/mall/GetWeChatOpenId",
          data: {
            Code: obj.code,
          },
        },
        (res) => {
          if (res.resultCode == 1) {
            obj.OpenId = res.data;
            that.getLogin(obj);
          }
        }
      );
    },
    getLogin(obj) {
      var that = this;
      let pid = uni.getStorageSync("pid") ? uni.getStorageSync("pid").pid : 0;
      let Up = uni.getStorageSync("Up") ? uni.getStorageSync("Up").Up : 0;
      let SmallShopId = uni.getStorageSync("SmallShopId")
        ? uni.getStorageSync("SmallShopId").SmallShopId
        : 0;
      let CounponPassword = uni.getStorageSync("CounponPassword")
        ? uni.getStorageSync("CounponPassword").CounponPassword
        : 0;
      let KeyWord = uni.getStorageSync("KeyWord")
        ? uni.getStorageSync("KeyWord").KeyWord
        : "";
      let EduSchoolId = uni.getStorageSync("EduSchoolId")
        ? uni.getStorageSync("EduSchoolId").EduSchoolId
        : 0;
      that.request2(
        {
          url: "/api/AppletLogin/Login",
          data: {
            Source: 1,
            OpenId: obj.OpenId,
            Name: obj.Name,
            Photo: obj.Photo,
            Moblie: "",
            SuperiorId: pid,
            SmallShopId: SmallShopId,
            UserPageType: Up,
            CounponPassword: CounponPassword,
            KeyWord: KeyWord,
            EduSchoolId: EduSchoolId,
          },
        },
        (res) => {
          if (res.resultCode == 1) {
            uni.setStorageSync("mall_UserInfo", res.data);
            if (res.couponResultCode == 1) {
              that.showCoupons = true;
              that.couponMessage = res.couponMessage;
            }
            that.u = res.data;
            uni.removeStorageSync("pid");
            uni.removeStorageSync("SmallShopId");
            uni.removeStorageSync("Up");
            uni.removeStorageSync("CounponPassword");
            uni.removeStorageSync("KeyWord");
            uni.removeStorageSync("EduSchoolId");
            that.getPageType();
            if (res.data.IsOpenSchool == 1) {
              //校园开启
              that.init();
            }
            // 如果登录的情况下直接跳转商品详情或者直播列表
            that.sharejump();
          } else {
            if (!that.u) {
              that.u = {
                nickName: "未登录",
                avatarUrl: "",
              };
              that.showAuth = true;
            }
          }
        }
      );
    },
    getorderPupop() {
      let now = new Date();
      let Month =
        now.getMonth() + 1 < 10
          ? "0" + (now.getMonth() + 1)
          : now.getMonth() + 1;
      let day = now.getDate() < 10 ? "0" + now.getDate() : now.getDate();
      let nowtime =
        now.getFullYear() +
        "-" +
        Month +
        "-" +
        day +
        " " +
        now.getHours() +
        ":" +
        now.getMinutes() +
        ":" +
        now.getSeconds();
      if (uni.getStorageSync("order_old_time")) {
        let oldtime = uni.getStorageSync("order_old_time").time;
        if (new Date(nowtime).getTime() != new Date(oldtime).getTime()) {
          this.getUserOffline(nowtime, oldtime);
        }
      }
      uni.setStorageSync("order_old_time", { time: nowtime }); //吧当前时间存起来
    },
    getUserOffline(now, old) {
      this.request2(
        {
          url: "/api/AppletUser/GetUserOfflineEarningsInfo",
          data: {
            StartTime: old,
            EndTime: now,
          },
        },
        (res) => {
          this.orderPopupdata = res.data;
          if (this.orderPopupdata.State == 1) {
            if (this.orderPopupdata.OrderNum > 0) {
              this.showorder = true;
            }
          }
        }
      );
    },
    closeBtn_order() {
      this.showorder = false;
    },
    gosalesvolume() {
      this.showorder = false;
      setTimeout(() => {
        let UserId = uni.getStorageSync("mall_UserInfo")
          ? uni.getStorageSync("mall_UserInfo").UserId
          : 0;
        uni.navigateTo({
          // url: "/pages/share/salesvolume?UserId="+UserId,
          url: "/pages/share-order/share-order",
        });
      }, 10);
    },
    sharejump() {
      //分享的总跳转
      let that = this;
      setTimeout(() => {
        if (that.JumpType == 1) {
          //商品详情
          uni.navigateTo({
            url: "/pages/goods/goods?GoodsId=" + that.GoodsId,
          });
        } else if (that.JumpType == 2) {
          //直播列表
          uni.navigateTo({
            url: "/pages/live/index",
          });
        } else if (that.JumpType == 3) {
          //司导详情
          that.goguidecar();
        } else if (that.JumpType == 4) {
          //代付页面
          uni.navigateTo({
            url: "/pages/order/payment-order?GoodsId=" + that.OrderId,
          });
        } else if (that.JumpType == 5) {
          //课程详情
          uni.navigateTo({
            url: "/pages/school/courseInfo?GoodsId=" + that.GoodsId,
          });
        } else if (that.JumpType == 6) {
          //课程代付页面
          uni.navigateTo({
            url: "/pages/school/personal/payment-order?OrderId=" + that.OrderId,
          });
        } else if (that.JumpType == 7) {
          //线下服务门店详情

          uni.navigateTo({
            url: "/pages/reserve/storeDetails?id=" + that.GoodsId,
          });
        } else if (that.JumpType == 8) {
          //服务人员详情
          uni.navigateTo({
            url:
              "/pages/reserve/designerDetail?ID=" +
              that.GoodsId +
              "&storeId=" +
              that.fxstoreId,
          });
        } else if (that.JumpType == 9) {
          //线下服务商品
          try {
            uni.setStorageSync("storeId", { storeId: that.fxstoreId });
          } catch (e) {
            console.log(e);
          }
          uni.navigateTo({
            url: "/pages/reserve/goodsDetails?GoodsId=" + that.GoodsId,
          });
        } else if (that.JumpType == 10) {
          //拼拼push活动详情
          uni.navigateTo({
            url: "/pages/blindDate/postDetails?Id=" + that.GoodsId,
          });
        } else if (that.JumpType == 11) {
          //用户详情
          uni.navigateTo({
            url: "/pages/blindDate/persondetails?UserId=" + that.GoodsId,
          });
        } else if (that.JumpType == 12) {
          //储值卡的领取
          uni.navigateTo({
            url:
              "/pages/coupon/cards/cardsreceive?Id=" +
              that.GoodsId +
              "&cardsmoney=" +
              this.cardsmoney,
          });
        } else if (that.JumpType == 13) {
          //用户资料
          uni.navigateTo({
            url: "/pages/blindDate/persondetails?UserId=" + that.GoodsId,
          });
        } else if (that.JumpType == 14) {
          //用户资料填写
          uni.navigateTo({ url: "/pages/blindDate/editData" });
        } else if (that.JumpType == 15) {
          //品牌详情
          uni.navigateTo({
            url: "/pages/kotra/brand/detail?id=" + that.GoodsId,
          });
        } else if (that.JumpType == 16) {
          //载体详情
          uni.navigateTo({
            url:
              "/pages/kotra/carrier/detail?id=" +
              that.GoodsId +
              "&type=" +
              that.carrierType,
          });
        } else if (that.JumpType == 17) {
          //教育后台，广告二维码进入
          // uni.navigateTo({ url: "/pages/kotra/carrier/detail?id=" + that.GoodsId+'&type='+that.carrierType});
        } else if (that.JumpType == 18) {
          //活动详情
          uni.navigateTo({
            url: "/pages/school/JIaheactivitydetails?Id=" + that.GoodsId,
          });
        }
      }, 500);
    },
    updateuserinfo(msg) {
      this.request2(
        {
          url: "/api/MemberUser/SetMemberPhoto",
          data: msg,
        },
        (res) => {
          //静默处理不做任何提示
        },
        (error) => {}
      );
    },
    goback() {
      uni.navigateBack({
        delta: 1,
      });
    },
    isShowBack() {
      let navs = uni.getStorageSync("navs") ? uni.getStorageSync("navs") : [];
      if (navs) {
        let t = getCurrentPages();
        let query = t[t.length - 1].__displayReporter.query;
        let queryString = "";
        for (var k in query) {
          queryString += `&${k}=${query[k]}`;
        }
        if (queryString != "") {
          queryString = "?" + queryString.substring(1, queryString.length);
        }
        let crtPath = "/" + t[t.length - 1].route + queryString;
        let isExsit = false;
        navs.forEach((x, i) => {
          if (x.url == crtPath) {
            isExsit = true;
          }
        });
        this.showBack = !isExsit;
      }
    },
    getjump(scene) {
      let a = "YZnsGuRojCKBkb1siP3VwkhkPFvh-D"; //测试数据
      this.request(
        {
          url: "",
          data: {
            r: "api/default/qr-code-parameter",
            token: scene,
          },
        },
        (res) => {
          console.log(res.data.detail.path);
          uni.setStorageSync("pid", {
            pid: res.data.detail.user_id ? res.data.detail.user_id : 0,
          }); //存储上级的id
          let objurl = this.ObjectToUrl(res.data.detail.data);
          uni.navigateTo({
            url: "/" + res.data.detail.path + "?" + objurl,
          });
        }
      );
    },
    ObjectToUrl(e, t) {
      var n = "";
      for (var i in e)
        n += "&" + i + "=" + (t ? encodeURIComponent(e[i]) : e[i]);
      return n.substr(1);
    },
    init() {
      let mall_IsOpenSchool = uni.getStorageSync("mall_UserInfo")
        ? uni.getStorageSync("mall_UserInfo").IsOpenSchool
        : 0;
      let open_school = 0;

      if (this.IsOpenSchool == 1 && mall_IsOpenSchool == 1) {
        //this.IsOpenSchool 通过分享进来的 是否是校园 1 是0不是   mall_IsOpenSchool缓存获取校园模式开启没有
        open_school = 1;
      } else {
        open_school = 0;
      }
      let storeId =
        uni.getStorageSync("storeId") && uni.getStorageSync("storeId").storeId
          ? uni.getStorageSync("storeId").storeId
          : 0;
      this.request2(
        {
          url: "/api/Mall/GetHome",
          data: {
            page_id: this.pageId,
            open_school: open_school,
            StoreId: storeId,
          },
        },
        (res) => {
          this.$uiConfig.mainColor = res.data.mall.setting.mallStyle.main;
          this.$uiConfig.secondary = res.data.mall.setting.mallStyle.secondary;
          if (res.data.mall.setting.mallStyle.pricecolor) {
            this.$uiConfig.pricecolor =
              res.data.mall.setting.mallStyle.pricecolor;
          }
          this.indexPageData = res.data.home_pages.navs[0].template.data;
          this.myPageData = res.data;
          if (res.data.navbar.navs) {
            uni.setStorageSync("navs", res.data.navbar.navs);
          }
          uni.setStorageSync("basedata", res.data);

          if (Object.keys(this.$refs).length > 0 && this.$refs.study) {
            //判断
            this.$refs.study[0].getData(); //调取最近学习组件的方法
          }
          if (
            this.myPageData.home_pages.navs.length > 0 &&
            this.myPageData.home_pages.navs[0].template.data.length > 0
          ) {
            this.myPageData.home_pages.navs[0].template.data.forEach((x) => {
              if (x.id == "search") {
                this.searchData = x.data;
                this.isNavPosition = x.data.searchPosition;
                if (this.isNavPosition == 1) {
                  this.searchData.top = -5;
                  this.searchData.left = 10;
                }
              } else if (x.id == "shop-info") {
                this.getSmallShopById();
              } else if (x.id == "miaiuser") {
                //4-29新加 相亲模式随机的时候调用接口
                if (x.data.addUserType == 4) {
                  this.request2(
                    {
                      url: "/api/AppletMiai/GetDailyRandomList",
                      data: {
                        pageIndex: 1,
                        pageSize: x.data.goodsLength,
                        Sex: 0,
                      },
                    },
                    (Daily) => {
                      if (Daily.resultCode == 1) {
                        x.data.list = Daily.data.pageData;
                      }
                    }
                  );
                }
              }
            });
          }

          if (res.data.home_pages.title != "") {
            if (this.pageId == 0) {
              uni.setNavigationBarTitle({
                title: res.data.home_pages.title,
              });
              if (!this.shopData.Name || this.shopData.Name == "") {
                this.pageTitleStr = res.data.home_pages.title;
              }
            } else {
              uni.setNavigationBarTitle({
                title: res.data.home_pages.navs[0].name,
              });
              if (!this.shopData.Name || this.shopData.Name == "") {
                this.pageTitleStr = res.data.home_pages.navs[0].name;
              }
            }

            // uni.setNavigationBarColor({
            //   //字体颜色
            //   frontColor: res.data.navbar.top_text_color,
            //   //背景颜色
            //   backgroundColor: res.data.navbar.top_background_color,
            // });
            this.titleStyle.color = res.data.navbar.top_text_color;
            this.titleStyle.backgroundColor =
              res.data.navbar.top_background_color;

            this.isShowBack();
          }
          this.formatBg();
          if (
            this.u &&
            res.data.user_info &&
            res.data.user_info.openOfflineEarnings == 1
          ) {
            //判断是否登录 是否开启 进行离线收益的弹出
            this.getorderPupop(); //4-9号新加
          }
        },
        (error) => {}
      );
    },
    getstore() {
      let that = this;
      uni.getLocation({
        type: "wgs84",
        success: function (res) {
          let position = res.latitude + "," + res.longitude;
          uni.setStorageSync("position", {
            position: position,
          });
          that.getCurrentStore();
        },
        fail: function (err) {
          that.getCurrentStore();
        },
      });
    },
    getCurrentStore() {
      let storeId =
        uni.getStorageSync("storeId") && uni.getStorageSync("storeId").storeId
          ? uni.getStorageSync("storeId").storeId
          : 0;
      let position =
        uni.getStorageSync("position") &&
        uni.getStorageSync("position").position
          ? uni.getStorageSync("position").position
          : "";

      this.request2(
        {
          url: "/api/AppletStores/GetCurrentStore",
          data: {
            storeId: storeId,
            position: position,
          },
        },
        (res) => {
          if (res.data && res.data.storeInfo) {
            this.storeInfo = res.data.storeInfo;
            uni.setStorageSync("storeId", {
              storeId: res.data.storeInfo.storeId,
            });
            if (res.data.storeInfo.storeId && res.data.storeInfo.storeId > 0) {
              setTimeout((x) => {
                this.init();
              }, 1000);
            }
          }
        }
      );
    },
    getSmallShopById() {
      let Id = uni.getStorageSync("mall_UserInfo")
        ? uni.getStorageSync("mall_UserInfo").SmallShopId
        : 0;
      if (Id == 0) {
        Id = uni.getStorageSync("mall_UserInfo")
          ? uni.getStorageSync("mall_UserInfo").UserSmallShopId
          : 0;
      }
      this.request2(
        {
          url: "/api/AppletUser/GetSmallShopById",
          data: {
            Id: Id,
          },
        },
        (res) => {
          if (res.resultCode == 1) {
            this.shopData = res.data;
            if (this.shopData.Name && this.shopData.Name != "") {
              this.pageTitleStr = this.shopData.Name;
            }
          }
        }
      );
    },
    close() {
      this.add_show = 2;
      uni.setStorageSync("add_top_app", {
        add_top_app_show: 2,
      });
    },
    changeHandler(i) {
      this.active = i;
    },
    formatBg() {
      this.myPageData.home_pages.navs.forEach((y) => {
        y.template.data.forEach((x) => {
          if (x.id == "background") {
            let t = "";
            y.templateBg = {};
            if (x.data.showImg) {
              y.templateBg.backgroundColor = x.data.backgroundColor;
              y.templateBg.backgroundImage = `url('${x.data.backgroundPicUrl}')`;
              y.templateBg.backgroundPosition = x.data.positionText;
              y.templateBg.backgroundRepeat = x.data.repeatText
                ? x.data.repeatText
                : "no-repeat";
              y.templateBg.backgroundSize = `${
                x.data.backgroundWidth == 0
                  ? "auto"
                  : x.data.backgroundWidth + "%"
              } ${
                x.data.backgroundHeight == 0
                  ? "auto"
                  : x.data.backgroundHeight + "%"
              }`;
            } else {
              y.templateBg.background = x.data.backgroundColor;
              y.templateBg.titleColor = "#000 !important";
            }
            if (this.myPageData.home_pages.navs.length > 1) {
              y.templateBg.overflowY = "auto";
              y.templateBg.height = this.contentHeight + "px";
            } else {
              y.templateBg.overflowY = "auto";
              y.templateBg.height = this.contentHeight + 40 + "px";
            }
            if (x.data.titleColor) {
              y.templateBg.titleColor = x.data.titleColor + " !important";
            }
            // y.templateBg +="padding-bottom:"+(this.$uiConfig.is_bang ? '88px' : '60px')+";box-sizing: border-box;";
          }
        });
        if (!y.templateBg) {
          y.templateBg = {
            titleColor: "#000",
          };
        }
      });
      // this.myPageData.home_pages.navs[0].template.data.push({
      //   id: "pintuan",
      //   permission_key: "pintuan",
      //   data: {
      //     buttonColor: "#ff4544",
      //     list: [
      //       {
      //         id: 179402,
      //         name:
      //           "日本POLA宝丽黑BA限定小礼盒（黑ba水20ml +黑ba乳液15ml +黑ba面霜5g +黑ba唇颊膏2g）",
      //         picUrl:
      //           "https://cdnimg.iotweixin.com/uploads/mall1285/20200506/904171cab7db2201f6f35c0ca5bb0a93.png",
      //         price: "388.00",
      //         peopleNum: 2,
      //         pintuanPrice: "348.00",
      //       },
      //       {
      //         id: 178355,
      //         name:
      //           "日本珂润（Curel）润浸保湿 滋养乳霜 40g 敏感肌专用 神经酰胺护理 抵抗外部刺激",
      //         picUrl:
      //           "https://cdnimg.iotweixin.com/uploads/mall1285/20200503/979653726a7bc1df0e24464f94b404bd.jpg",
      //         price: "180.00",
      //         peopleNum: 2,
      //         pintuanPrice: "180.00",
      //       },
      //       {
      //         id: 178352,
      //         name: "500g 干羊肚菌 干货 煲汤菌 菌中之王  包邮",
      //         picUrl:
      //           "https://cdnimg.iotweixin.com/uploads/mall1285/20200311/358dd9acf5dafd3cab2c05be3354400c.png",
      //         price: "780.00",
      //         peopleNum: 3,
      //         pintuanPrice: "680.00",
      //       },
      //     ],
      //     listStyle: 1,
      //     textStyle: 1,
      //     fill: 1,
      //     goodsCoverProportion: "1-1",
      //     goodsStyle: 1,
      //     showGoodsName: true,
      //     showBuyBtn: true,
      //     buyBtnStyle: 1,
      //     buyBtnText: "去拼团",
      //     showGoodsTag: false,
      //     customizeGoodsTag: false,
      //     goodsTagPicUrl: "",
      //     showImg: false,
      //     backgroundColor: "#fff",
      //     backgroundPicUrl: "",
      //     position: 5,
      //     mode: 1,
      //     backgroundHeight: 100,
      //     backgroundWidth: 100,
      //     borderBackground: "#ffffff",
      //   },
      // });
    },
    getReceive() {
      //分享进入调取领券接口
      // 1-分享，2-购买并付款
      this.request2(
        {
          url: "/api/AppletUser/ShareCoupon",
          data: {
            TriggerType: 1,
          },
        },
        (res) => {
          console.log(res, "res");
          if (res.couponResultCode == 1) {
            this.couponMessage = res.couponMessage;
            this.showCoupons = true;
          }
        }
      );
    },
    goLook() {
      this.showCoupons = false;
    },
    closeBtn() {
      this.showCoupons = false;
    },
    reloadUserinfo() {
      this.u = uni.getStorageSync("mall_UserInfo");
      if (this.$refs.son) {
        this.$refs.son[0].getSmallShopById(2); //第一次登陆成功后去调取微店的信息
      }
      this.getPageType(); //获取用户类型（校园）
      let IsOpenMiAi = uni.getStorageSync("basedata")
        ? uni.getStorageSync("basedata").mall.setting.is_show_miai
        : 0; //是否开启相亲模式 5-13新加
      if (this.u.IsOpenSchool == 1 || IsOpenMiAi == 1) {
        this.init();
      }
      // 如果登录的情况下直接跳转商品详情或者直播列表
      this.sharejump();
    },
    getPageType() {
      this.request2(
        {
          url: "/api/AppletUser/GetAppletUserPageType",
          data: {},
        },
        (res) => {
          let mall_UserInfo = uni.getStorageSync("mall_UserInfo")
            ? uni.getStorageSync("mall_UserInfo")
            : {};
          mall_UserInfo.IsOpenSchool = res.data.IsOpenSchool;
          mall_UserInfo.UserPageType = res.data.UserPageType;
          uni.setStorageSync("mall_UserInfo", mall_UserInfo);
          if (this.IsOpenSchool == 1 && res.data.UserPageType != 2) {
            //这种情况是自己注册过 但是 通过分享进来的判断
            this.IsOpenSchool = 0;
            this.init();
          }
        }
      );
    },
    //关闭登录窗口
    gbAuth() {
      this.showAuth = false;
    },
    goguidecar() {
      uni.navigateTo({
        url:
          "/pages/guidecar/guidecarGoodsdetails?GoodsId=" +
          this.guidecar.GoodsId +
          "&address=" +
          this.guidecar.address +
          "&Pickcar=" +
          this.guidecar.Pickcar +
          "&StartTime=" +
          this.guidecar.StartTime +
          "&EndTime=" +
          this.guidecar.EndTime,
      });
    },
    getPickcar(Name) {
      //选择取消地址
      this.$refs.city[0].getPickcar(Name);
    },
    refreshPage() {
      //   this.init();
      //   this.$forceUpdate();
      //   console.log("tag", "刷新");
    },
    yj() {
      uni.navigateTo({
        // url: '/pages/blindDate/persondetails?UserId=123978'
        url: "/pages/school/personal/bindSalesman",
      });
    },
  },
};
</script>

<style>
.content {
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow-x: hidden;
  /* align-items: center;
  justify-content: center; */
}

.content .tips_t {
  position: fixed;

  right: 6px;
  height: 36px;
  background: #000000;
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0 10px;
  font-size: 12px;
  margin-top: 10px;
  z-index: 9999999;
}

.triangle-up {
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 12px solid black;
  position: fixed;
  right: 65px;
}

.index-title {
  line-height: 45px !important;
  font-size: 16px;
  text-align: center;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  color: #fff;
  box-sizing: content-box;
  z-index: 5;
}

.back-arrow {
  position: absolute;
  left: 5px;
  bottom: 12.5px;
}
.Startbtn {
  position: absolute;
  top: 10px;
  right: 15px;
  width: 50px;
  height: 20px;
  background: rgba(45, 45, 45, 0.5);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.MainTopLeft {
  text-align: left !important;
  padding-left: 10px;
}
/* .logo {
  height: 200rpx;
  width: 200rpx;
  margin-top: 200rpx;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 50rpx;
}

.text-area {
  display: flex;
  justify-content: center;
}

.title {
  font-size: 36rpx;
  color: #8f8f94;
} */
</style>
