微信小程序 --- app.js文件


app.js文件是項目的入口文件:

//app.js
App({
  onLaunch: function () {
    // 展示本地存儲能力
    var logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)

    // 登錄
    wx.login({
      success: res => {
        // 發送 res.code 到后台換取 openId, sessionKey, unionId
      }
    })
    // 獲取用戶信息
    wx.getSetting({
      success: res => {
        if (res.authSetting['scope.userInfo']) {
          // 已經授權,可以直接調用 getUserInfo 獲取頭像昵稱,不會彈框
          wx.getUserInfo({
            success: res => {
              // 可以將 res 發送給后台解碼出 unionId
              this.globalData.userInfo = res.userInfo

              // 由於 getUserInfo 是網絡請求,可能會在 Page.onLoad 之后才返回
              // 所以此處加入 callback 以防止這種情況
              if (this.userInfoReadyCallback) {
                this.userInfoReadyCallback(res)
              }
            }
          })
        }
      }
    })
  },
  globalData: {
    userInfo: null
  }
})

頁面的 page.js 文件會覆蓋 app.js文件

App.js文件里面的一些方法:

onLaunch : function(){}:

onLoad:function(options){}:頁面初始化 options 為頁面跳轉所傳遞過來的參數

onReady:function(){}:頁面渲染完成

onShow:function(){}:頁面顯示

onHide:function(){}:頁面隱藏

onUnload:function(){}:頁面關閉

還可以在 app.js里面定義一些全局的方法:

例如:獲取用戶信息的方法(wx.getSetting)和屬性(globalData):

在 page 頁面如何獲取 app.js 定義的屬性:

首先在 page.js 文件里面:const  app = getApp(); 在對應方法里面直接console.log(  app.globalData.userInfo  );

實例:獲取當前微信用戶信息

 

這個可以用在登陸頁:判斷是否存在登陸。登陸過就改變 app.js 里面的配置。

使用:

例如這個用戶是否登陸了,如果全局里面沒有用戶的信息,需要跳轉到登陸的頁面進行登陸,如果說有了用戶的信息就不用跳轉到登陸頁面,當登陸完成之后,我們就可以設置全局的數據,然后返回到跳轉的頁面,直接讀取用戶的信息就可以。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM