index.js 1.97 KB
Newer Older
程智春 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
// static/nativeComponents/PopUp/index.js
let app = getApp()
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    datas:{
      type:Object
    }
  },

  

  /**
   * 组件的初始数据
   */
  data: {
    timeout: null,
    domainShow: false,
    img : ''
  },
  detached(){
    clearTimeout(this.data.timeout);
  },

  ready() {

    this.setData({
      img: app.DFSImg(this.data.datas.componentData.imageUrl,700,null,1)
    })

    if (this.getPopFlag() == 'true'){
      this.setData({
        domainShow : false
      })
    }else{
      this.setData({
        domainShow: true
      })

      if (this.data.datas.componentData.columnNum > 0 && this.data.datas.componentData.autoOff){
        clearTimeout(this.data.timeout);
        this.data.timeout = setTimeout(() => {
          this.setData({
            domainShow: false
          })
          this.setPopFlag('true')
        }, this.data.datas.componentData.columnNum * 1000)
      }
    }
  },

  /**
   * 组件的方法列表
   */
  methods: {
    getPopFlag() {
      let routes = getCurrentPages()
      let page = routes[routes.length - 1].route
      return wx.getStorageSync(`${app.globalData.shopInfo.shopCode}_popFlag_${page}_${this.data.datas.id}`)
      
    },
    setPopFlag(value) {
      app.globalData.setPopupStorage = 1;
      let routes = getCurrentPages()
      let page = routes[routes.length - 1].route
      wx.setStorageSync(`${app.globalData.shopInfo.shopCode}_popFlag_${page}_${this.data.datas.id}`, value)
      let popUpList =  wx.getStorageSync('popUpList') || [];
      popUpList.push(`${app.globalData.shopInfo.shopCode}_popFlag_${page}_${this.data.datas.id}`)
      wx.setStorageSync('popUpList', popUpList)
      console.log(app.globalData)
    },
    backHandle(){
      this.setData({
        domainShow : false
      })
      this.setPopFlag("true");
      clearTimeout(this.data.timeout);
    },
    onclickHandle() {
      app.$themeToLink(this.data.datas.componentData.link);
    }
  }
})