微信小程序開發(fā)入門教程做任何程序開發(fā)要首先找到其官方文檔,微信小程序目前還在邀請內(nèi)測階段,目前官方放出了部分開發(fā)文檔,經(jīng)過筆者一天的查看和嘗試,感覺文檔并不全面,但是通過這些文檔已經(jīng)能夠看出其大概面貌了。閑話不多說,我們先來看看其有哪些官方文檔。 微信公眾平臺開發(fā)者文檔統(tǒng)一入口為:https://mp.weixin.qq.com/wiki,這里面大部分內(nèi)容都是以前就有的,微信開發(fā)都是基于此份文檔。 現(xiàn)在的變化是在這份文檔的頂部加了一個(gè)“微信公眾平臺.小程序”的入口,這個(gè)入口才就是專門針對微信小程序開發(fā)的文檔,如下圖: 點(diǎn)擊“微信公眾平臺. 小程序”,進(jìn)入詳細(xì)頁,如下圖: 這里就是目前發(fā)布的所有文檔啦。 知道了文檔的位置,下面我們來介紹下如何做一個(gè)微信小程序開發(fā):
第一步:下載微信小程序開發(fā)者工具并安裝,下載路徑:
https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html 進(jìn)到下載界面后,根據(jù)自己的操作系統(tǒng)選擇相應(yīng)的鏈接進(jìn)行下載,下載完成后進(jìn)行安裝。
第二步:創(chuàng)建一個(gè)項(xiàng)目
開發(fā)者工具安裝完成后我們就可以將其打開,初次打開會彈出創(chuàng)建項(xiàng)目的窗口,如下圖: 為方便初學(xué)者了解微信小程序的基本代碼結(jié)構(gòu),在創(chuàng)建過程中,如果選擇的本地文件夾是個(gè)空文件夾,開發(fā)者工具會提示,是否需要?jiǎng)?chuàng)建一個(gè) quick start 項(xiàng)目。選擇“是”,開發(fā)者工具會幫助我們在開發(fā)目錄里生成一個(gè)簡單的 demo,為了方便后面的學(xué)習(xí),請務(wù)必選擇“是”。
第三步:項(xiàng)目代碼結(jié)構(gòu)解釋
點(diǎn)擊開發(fā)者工具左側(cè)導(dǎo)航的“編輯”,我們可以看到這個(gè)項(xiàng)目,已經(jīng)初始化并包含了一些簡單的代碼文件。最關(guān)鍵也是必不可少的,是 app.js、app.json、app.wxss 這三個(gè)。其中, /** 微信小程序視頻教程下載地址:http://pan.baidu.com/s/1gfhuh7H **/ 下面我們簡單了解這三個(gè)文件的功能,方便修改以及從頭開發(fā)自己的微信小程序。 1、app.js是小程序的腳本代碼。我們可以在這個(gè)文件中監(jiān)聽并處理小程序的生命周期函數(shù)、聲明全局變量。調(diào)用框架提供的豐富的 API,如本例的同步存儲及同步讀取本地?cái)?shù)據(jù)。 2、? app.json 是對整個(gè)小程序的全局配置。我們可以在這個(gè)文件中配置小程序是由哪些頁面組成,配置小程序的窗口背景色,配置導(dǎo)航條樣式,配置默認(rèn)標(biāo)題。注意該文件不可添加任何注釋。 3、app.wxss 是整個(gè)小程序的公共樣式表。我們可以在頁面組件的 class 屬性上直接使用 app.wxss 中聲明的樣式規(guī)則。 我們注意到,在實(shí)例程序的代碼中還有2個(gè)文件夾,一個(gè)是pages,一個(gè)是utils,其中utils是放通用工具類方法的一個(gè)文件夾,pages是存放所有頁面的文件夾。我們著重講一下這個(gè)pages.
第四步:小程序頁面文件構(gòu)成
在這個(gè)示例中,我們有兩個(gè)頁面,index 頁面和 logs 頁面,即歡迎頁和小程序啟動日志的展示頁,他們都在 pages 目錄下。微信小程序中的每一個(gè)頁面的【路徑+頁面名】都需要寫在 app.json 的 pages 中,且 pages 中的第一個(gè)頁面是小程序的首頁。 每一個(gè)小程序頁面是由同路徑下同名的四個(gè)不同后綴文件的組成,如:index.js、index.wxml、index.wxss、index.json。 index.wxml 是頁面的結(jié)構(gòu)文件: <!--index.wxml--> <view class="container"> <view bindtap="bindViewTap" class="userinfo"> <image class="userinfo-avatar" src="{{userInfo.avatarUrl}}" background-size="cover"></image> <text class="userinfo-nickname">{{userInfo.nickName}}</text> </view> <view class="usermotto"> <text class="user-motto">{{motto}}</text> </view> </view>
本例中使用了 index.js 是頁面的腳本文件,在這個(gè)文件中我們可以監(jiān)聽并處理頁面的生命周期函數(shù)、獲取小程序?qū)嵗?,聲明并處理?shù)據(jù),響應(yīng)頁面交互事件等。 //index.js //獲取應(yīng)用實(shí)例 var app = getApp() Page({ data: { motto: 'Hello World', userInfo: {} }, //事件處理函數(shù) bindViewTap: function() { wx.navigateTo({ url: '../logs/logs' }) }, 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 }) }) } })
index.wxss 是頁面的樣式表: /**index.wxss**/ .userinfo { display: flex; flex-direction: column; align-items: center; } .userinfo-avatar { width: 128rpx; height: 128rpx; margin: 20rpx; border-radius: 50%; } .userinfo-nickname { color: #aaa; } .usermotto { margin-top: 200px; }
頁面的樣式表是非必要的。當(dāng)有頁面樣式表時(shí),頁面的樣式表中的樣式規(guī)則會層疊覆蓋 app.wxss 中的樣式規(guī)則。如果不指定頁面的樣式表,也可以在頁面的結(jié)構(gòu)文件中直接使用 app.wxss 中指定的樣式規(guī)則。 index.json 是頁面的配置文件: 頁面的配置文件是非必要的。當(dāng)有頁面的配置文件時(shí),配置項(xiàng)在該頁面會覆蓋 app.json 的 window 中相同的配置項(xiàng)。如果沒有指定的頁面配置文件,則在該頁面直接使用 app.json 中的默認(rèn)配置。 logs 的頁面結(jié)構(gòu) <!--logs.wxml--> <view class="container log-list"> <block wx:for-items="{{logs}}" wx:for-item="log"> <text class="log-item">{{index + 1}}. {{log}}</text> </block> </view>
logs 頁面使用 //logs.js var util = require('../../utils/util.js') Page({ data: { logs: [] }, onLoad: function () { this.setData({ logs: (wx.getStorageSync('logs') || []).map(function (log) { return util.formatTime(new Date(log)) }) }) } })
運(yùn)行結(jié)果如下:
第五步:手機(jī)預(yù)覽(只有獲得AppId的才有權(quán)限預(yù)覽) 開發(fā)者工具左側(cè)菜單欄選擇"項(xiàng)目",點(diǎn)擊"預(yù)覽",掃碼后即可在微信客戶端中體驗(yàn)。
|
|