作者:Mr_OOO,來自原文地址目錄結(jié)構(gòu)小程序的基本目錄結(jié)構(gòu)如圖(1)所示:
pages
pages目錄下,每個文件夾代表了一個頁面的所有配置,一般情況下每個文件夾下都有四個文件,并且每個文件名都必須和文件夾名相同,只有后綴不同。
var app = getApp()
Page({
data: {
motto: 'Hello World wechat',
userInfo: {}
},
//事件處理函數(shù)
bindViewTap: function () {
wx.navigateTo({
url: '../logs/logs'
})
},
bindViewDemo: function () {
wx.navigateTo({
url: '../demo/demo'
})
},
onLoad: function () {
console.log('onLoad')
var that = this
//調(diào)用應(yīng)用實(shí)例的方法獲取全局?jǐn)?shù)據(jù)
app.getUserInfo(function (userInfo) {
//更新數(shù)據(jù)
that.setData({
userInfo: userInfo
})
that.update()
})
}
})
其中data:{}是本頁面可以用的數(shù)據(jù), 頁面上需要調(diào)用的方法都必須寫到Page({})中。 - .json文件用來管理頁面的配置, 具體配置項(xiàng)如下:
代碼示例(注:.json中不能有注釋):
{
"navigationBarTitleText": "demo"
}
typings系統(tǒng)自動生成的,不用管了。 utils系統(tǒng)自動生成的,不用管了。 app.js全局js, 整個APP中都需要使用的方法和變量都可以定義到App({})中,示例代碼:
//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
}
})
|