成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

微信小程序開發(fā)教程(基礎(chǔ)篇)3-app.js 解析

lemon / 1910人閱讀

摘要:微信小程序框架提供了一系列來幫助我們進行本地數(shù)據(jù)存儲,上面的代碼中使用到了和兩個更多相關(guān)可以參考這里方法很容易理解,會執(zhí)行獲取用戶信息的功能。

上一篇教程中寫道,開發(fā)工具會生成一個默認的程序框架,其中程序的主流程代碼包含在app.js中。默認實現(xiàn)中,該部分功能比較簡單,不過對于學(xué)研究小程序開發(fā)還是比較有價值的。

由于代碼行數(shù)不多,下面一次性貼出來后進行講解

//app.js
App({
  onLaunch: function () {
    //調(diào)用API從本地緩存中獲取數(shù)據(jù)
    var logs = wx.getStorageSync("logs") || []
    logs.unshift(Date.now())
    wx.setStorageSync("logs", logs)
  },
  getUserInfo:function(cb){
    var that = this
    if(this.globalData.userInfo){
      typeof cb == "function" && cb(this.globalData.userInfo)
    }else{
      //調(diào)用登錄接口
      wx.login({
        success: function () {
          wx.getUserInfo({
            success: function (res) {
              that.globalData.userInfo = res.userInfo
              typeof cb == "function" && cb(that.globalData.userInfo)
            }
          })
        }
      })
    }
  },
  globalData:{
    userInfo:null
  }
})

代碼中定義了一個App對象,該對象包含onLaunch, getUserInfo兩個方法和globalData成員變量 其中onLaunch方法會在程序啟動時由框架來進行調(diào)用。在該方法中,程序通過微信提供的本地存儲接口獲取了一個logs變量,第一次獲取時會返回空,這時將變量初始化為空數(shù)組。之后在數(shù)組頭部添加一個格式化的時間字符串,之后將數(shù)組變量存儲在本地。

微信小程序框架提供了一系列api來幫助我們進行本地數(shù)據(jù)存儲,上面的代碼中使用到了wx.getStorageSyncwx.setStorageSync兩個api,更多相關(guān)api可以參考這里

getUserInfo方法很容易理解,會執(zhí)行獲取用戶信息的功能。不過該方法不同于onLaunch,它不是框架預(yù)設(shè)的函數(shù),因此不會自動觸發(fā)調(diào)用。該方法是在index.js的onload方法中調(diào)用的(關(guān)于index.js部分會在后續(xù)教程中講解)。該方法需要調(diào)用者傳遞一個名為cb的參數(shù),首先判斷是否獲取過用戶信息,如果獲取過并且cb是函數(shù)的話,就會調(diào)用cb函數(shù)并將globalData成員變量傳遞進去,否則將調(diào)用wx.login接口來獲取用戶信息。

對js不熟悉或者很少接觸腳本語言的同學(xué)可能會對上述代碼的語法產(chǎn)生困惑,這幾行代碼涉及到了函數(shù)回調(diào),匿名函數(shù),閉包等概念,我后續(xù)會針對這部分多帶帶寫一篇教程。

代碼最后定義了 globalData成員變量,該成員包含userInfo變量,用來保存用戶信息。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/80959.html

相關(guān)文章

  • 微信小程開發(fā)教程(基礎(chǔ))6-logs頁面解析

    摘要:到此為止,默認生成程序的解析部分就結(jié)束了。這個解析過程是為了對微信小程序有個總體上的理解,所以很多地方并沒有深入。在后面的教程中,我會繼續(xù)講解微信小程序開發(fā)的各個方面。 上一篇教程中對index頁面進行了解析,這一篇來解析下logs頁面 老規(guī)矩先上圖 showImg(https://segmentfault.com/img/remote/1460000007613022?w=378&h...

    shiguibiao 評論0 收藏0
  • 微信小程開發(fā)教程(基礎(chǔ))5-index 頁面解析

    摘要:上一篇教程談了些和微信小程序開發(fā)本身無關(guān)的技術(shù)問題,現(xiàn)在回到主題。這邊教程主要對默認生成的頁面進行講解。而的顯示則是由屬性直接指定。在該例子中,當用戶點擊用戶頭像和昵稱的視圖區(qū)域時,程序便會顯示頁面。 上一篇教程談了些和微信小程序開發(fā)本身無關(guān)的技術(shù)問題,現(xiàn)在回到主題。 這邊教程主要對默認生成的index 頁面進行講解。在之前的教程中有寫道,每一個頁面都包含.js(處理邏輯),.wxml...

    GT 評論0 收藏0
  • 微信小程開發(fā)教程(基礎(chǔ))2-微信小程結(jié)構(gòu)概覽

    摘要:在新建一個項目后,微信小程序會生成一個默認的程序框架,后續(xù)程序的開發(fā)工作都在這個框架上進行。微信小程序的開發(fā)模式確實和開發(fā)很相似。通常一個完整的微信小程序包含上面兩部分,當然我們也可以定義自己的目錄用于存放公共代碼和程序需要的其它文件。 在上一篇教程的最后,我們生成了一個類似Hello World的小程序,這個過程中沒有編寫任何一行代碼。在新建一個項目后,微信小程序會生成一個默認的程序...

    muddyway 評論0 收藏0
  • 前端資源系列(3)-微信小程開發(fā)資源匯總

    摘要:微信小程序應(yīng)用號開發(fā)資源匯總文檔工具教程代碼插件組件文檔從搭建一個微信小程序開始小程序開發(fā)文檔小程序設(shè)計指南工具小程序開發(fā)者工具官方支持微信小程序?qū)崟r預(yù)覽的支持的微信小程序組件化開發(fā)框架轉(zhuǎn)在線工具小程序云端增強社區(qū)微信小程序 微信(小程序or應(yīng)用號)開發(fā)資源匯總-文檔-工具-教程-代碼-插件-組件 文檔 從搭建一個微信小程序開始 小程序開發(fā)文檔 小程序設(shè)計指南 工具 小程序開發(fā)者...

    paney129 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<