diy_top_nav.js 3.17 KB
// components/diy_top_nav/diy_top_nav.js
const app = getApp();
var os = app.globalData.setting;
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    nav_type:{
      type:Number,
      value:0,
    },
    istop:{
      type:Number,
      value:0,
    },
    nav_title:{
      type:String,
      value:'首页',
    },
    nav_frontColor:{
      type:String,
      value:'#ffffff',
    },
    nav_backgroundColor:{
      type:String,
      value:'#ff7295',
    },
    is_share:{
      type:Boolean,
      value:true
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    imghots: os.imghost,
    nav_h:0, //导航胶囊上面状态栏的高度
    mentButt_h:0,//导航胶囊高度
    navleft_pb:0, //导航左边的自定义内容的左右内边距
    nav_left_w:281,  // 导航左边自定义的内容宽度
    navleft_w:0,   //左边胶囊宽度
    nav_pb:0,  // 导航的下内边距  
    show_menu:false,//详情页导航下拉菜单显示
    men_list:[
      {
        name:'首页',
        img:'miniapp/js_img/goods_info/home.png?v=3',
        url:'/pages/index/index/index' 
      },
      {
        name:'我的订单',
         img:'miniapp/js_img/goods_info/order.png?v=3',
        url:'/pages/user/order_list/order_list' 
      },
      {
        name:'我的收藏',
         img:'miniapp/js_img/goods_info/collect.png?v=3',
        url:'/packageB/pages/user/collect_list/collect_list' 
      },
      // {
      //   name:'浏览足迹',
      //   img:'',
      //   url:'' 
      // },
    ]
  },
  lifetimes:{
    attached:function(){
      //满屏顶部导航参数获取-----------
      try {
        let systemInfo = wx.getSystemInfoSync()
        let mentButt = wx.getMenuButtonBoundingClientRect()
        let nav_pb = mentButt.top - systemInfo.statusBarHeight
        let navleft_pb = systemInfo.windowWidth - mentButt.right

        let user_no='';
        if(getApp().globalData.userInfo){
          user_no=getApp().globalData.userInfo.erpvipno
        }

        this.setData({
          nav_h:mentButt.top,
          mentButt_h:mentButt.height,
          nav_left_w:mentButt.left,
          navleft_pb,
          nav_pb,
          navleft_w:mentButt.width*0.9,
          user_no
        })
      } catch (e) {
        console.error(e);
        wx.showToast({
          title: '系统参数获取失败',
          icon: 'none',
          duration: 2000
        })
        // this.setData({
        //   is_full_screen_navigation:false
        // })
        // Do something when catch error
      }
    }
  },
  /**
   * 组件的方法列表
   */
  methods: {
    nav_menu(e){
      let url=e.currentTarget.dataset.url
      getApp().goto(url)
    },
    show_menu_fn(){
      this.setData({
        show_menu:!this.data.show_menu
      })
    },
    hide_menu_fn(){
      this.setData({
        show_menu:false
      })
    },
    //分享
    fenx_fn(){
      this.triggerEvent('clickShare')
    },
    call_back(){
      wx.navigateBack({
        delta:1,
        fail:()=>{
          wx.reLaunch({
            url: '/pages/index/index/index',
          })
        }
      })
    },
    nav_search(){
      getApp().goto('/packageG/pages/goods/search/search')
    }
  }
})