nav.js 1.7 KB
// components/nav/nav.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    backgroundColor: {
      type: String,
      value: '#ffffff'
    },
    color: {
      type: String,
      value: '#000000'
    },
    hasHome: {
      type: Boolean,
      value: false
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    disHome: false,
    disBack: false,
  },

  attached(){
    this.init();
  },
  /**
   * 组件的方法列表
   */
  methods: {
    back(){
      this.triggerEvent('NavEvent');
      wx.navigateBack();
    },
    home(){
      if (!this.data.disHome) return;
      wx.reLaunch({
        url: '/pages/customer/index'
      })
    },
    init(){

      let disBack = false;
      let disHome = false;
      let pages = getCurrentPages();
      console.log('pages.length', pages[0]);
      if (pages.length > 1) {
        disBack = true;
      } else {
        //if (getApp().shareTicket && this.data.hasHome) {
        if (this.data.hasHome && pages[0].route != "pages/customer/list") {
          disHome = true;
        }
      }
      //导航栏自适应
      let systemInfo = wx.getSystemInfoSync();
      let reg = /ios/i;
      let pt = 20;//导航状态栏上内边距
      let h = 44;//导航状态栏高度
      if(reg.test(systemInfo.system)){
        pt = systemInfo.statusBarHeight;
        h = 44;
      }else{
        pt = systemInfo.statusBarHeight;
        h = 48;
      }

      this.setData({
        statusBarHeight: pt,
        disHome: disHome,
        disBack: disBack,
        statusBarHeightFull: pt + h,
        titleBarHeight:h,
      })
      console.log('this.setData', this.data);
    },
    getHeight(){
      return this.data.statusBarHeightFull
    },
  }
})