【Demo】【微信小程序】在app.js中添加對所有頁面的操作,比如設置是否分享,爲所有頁面的data添加屬性等。

 

//允許分享的頁面路由數組
var showShareUrls = ['pages/index/index', //首頁
  'pages/other/aboutUs', //關於我們
];
//無需登錄頁面
var noLogins = [
  'pages/my/bind',
];
noLogins = noLogins.concat(showShareUrls);

! function () {
  //獲取頁面配置並進行頁面分享配置
  var PageTmp = Page
  Page = function (pageConfig) {
    //全局關閉分享
    var pageOnLoad = pageConfig.onLoad;
    var pageOnShow = pageConfig.onShow;
    pageConfig = Object.assign(pageConfig, {
      //暫存頁面加載事件
      pageOnLoad: pageOnLoad,
      //重寫頁面加載事件和onShow
      onLoad: function (options) {
        var that = this;
        //獲取當前頁面路由
        let pages = getCurrentPages();
        let currPage = null;
        if (pages.length) {
          currPage = pages[pages.length - 1];
        }
        // console.log("新onLoad");
        //當前頁面是否不允許分享
        if (!showShareUrls.some(function (url) {
            return currPage.route.includes(url);
          })) {
          //禁止分享
          wx.hideShareMenu();
        }

  //執行頁面中的加載事件
        if (that.pageOnLoad)
          that.pageOnLoad(options);


   //爲頁面的data添加屬性
        //在線靜態圖片存放位置
        that.setData({ImgDomain:"https://***.***.com"});
      },
      pageOnShow: pageOnShow,

  //重寫onShow
      onShow: function (options) {
        // console.log("新onShow");
        var that = this;
        //獲取當前頁面路由
        let pages = getCurrentPages();
        let currPage = null;
        if (pages.length) {
          currPage = pages[pages.length - 1];
        }
        if (that.pageOnShow)
          that.pageOnShow(options);
      }
    });


    // 配置頁面模板執行
    PageTmp(pageConfig);
  }
}();

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章