微信小程序開(kāi)發(fā)-簡(jiǎn)易教程10頁(yè)_第1頁(yè)
微信小程序開(kāi)發(fā)-簡(jiǎn)易教程10頁(yè)_第2頁(yè)
微信小程序開(kāi)發(fā)-簡(jiǎn)易教程10頁(yè)_第3頁(yè)
微信小程序開(kāi)發(fā)-簡(jiǎn)易教程10頁(yè)_第4頁(yè)
微信小程序開(kāi)發(fā)-簡(jiǎn)易教程10頁(yè)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 本文檔將帶你一步步創(chuàng)建完成一個(gè)微信小程序,并可以在手機(jī)上體驗(yàn)該小程序的實(shí)際效果。這個(gè)小程序的首頁(yè)將會(huì)顯示歡迎語(yǔ)以及當(dāng)前用戶的微信頭像,點(diǎn)擊頭像,可以在新開(kāi)的頁(yè)面中查看當(dāng)前小程序的啟動(dòng)日志。下載源碼1. 獲取微信小程序的AppID首先,我們需要擁有一個(gè)帳號(hào),如果你能看到該文檔,我們應(yīng)當(dāng)已經(jīng)邀請(qǐng)并為你創(chuàng)建好一個(gè)帳號(hào)。注意不可直接使用服務(wù)號(hào)或訂閱號(hào)的AppID。 利用提供的帳號(hào),登錄 ,就可以在網(wǎng)站的“設(shè)置”-“開(kāi)發(fā)者設(shè)置”中,查看到微信小程序的AppID了。注意:如果我們不是用注冊(cè)時(shí)綁定的管理員微信號(hào),在手機(jī)上體驗(yàn)該小程序。那么我們還需要操作“綁定開(kāi)發(fā)者”。即在“用戶身份”-“開(kāi)發(fā)者”

2、模塊,綁定上需要體驗(yàn)該小程序的微信號(hào)。本教程默認(rèn)注冊(cè)帳號(hào)、體驗(yàn)都是使用管理員微信號(hào)。2. 創(chuàng)建項(xiàng)目 我們需要通過(guò)開(kāi)發(fā)者工具,來(lái)完成小程序創(chuàng)建和代碼編輯。 開(kāi)發(fā)者工具安裝完成后,打開(kāi)并使用微信掃碼登錄。選擇創(chuàng)建“項(xiàng)目”,填入上文獲取到的AppID,設(shè)置一個(gè)本地項(xiàng)目的名稱(非小程序名稱),比如“我的第一個(gè)項(xiàng)目”,并選擇一個(gè)本地的文件夾作為代碼存儲(chǔ)的目錄,點(diǎn)擊“新建項(xiàng)目”就可以了。 為方便初學(xué)者了解微信小程序的基本代碼結(jié)構(gòu),在創(chuàng)建過(guò)程中,如果選擇的本地文件夾是個(gè)空文件夾,開(kāi)發(fā)者工具會(huì)提示,是否需要?jiǎng)?chuàng)建一個(gè)quick start項(xiàng)目。選擇“是”,開(kāi)發(fā)者工具會(huì)幫助我們?cè)陂_(kāi)發(fā)目錄里生成一個(gè)簡(jiǎn)單的demo。

3、 項(xiàng)目創(chuàng)建成功后,我們就可以點(diǎn)擊該項(xiàng)目,進(jìn)入并看到完整的開(kāi)發(fā)者工具界面,點(diǎn)擊左側(cè)導(dǎo)航,在“編輯”里可以查看和編輯我們的代碼,在“調(diào)試”里可以測(cè)試代碼并模擬小程序在微信客戶端效果,在“項(xiàng)目”里可以發(fā)送到手機(jī)里預(yù)覽實(shí)際效果。3. 編寫(xiě)代碼創(chuàng)建小程序?qū)嵗?點(diǎn)擊開(kāi)發(fā)者工具左側(cè)導(dǎo)航的“編輯”,我們可以看到這個(gè)項(xiàng)目,已經(jīng)初始化并包含了一些簡(jiǎn)單的代碼文件。最關(guān)鍵也是必不可少的,是app.js、app.json、app.wxss這三個(gè)。其中,.js后綴的是腳本文件,.json后綴的文件是配置文件,.wxss后綴的是樣式表文件。微信小程序會(huì)讀取這些文件,并生成小程序?qū)嵗?下面我們簡(jiǎn)單了解這三個(gè)文件的功能,方便

4、修改以及從頭開(kāi)發(fā)自己的微信小程序。 app.js是小程序的腳本代碼。我們可以在這個(gè)文件中監(jiān)聽(tīng)并處理小程序的生命周期函數(shù)、聲明全局變量。調(diào)用MINA提供的豐富的API,如本例的同步存儲(chǔ)及同步讀取本地?cái)?shù)據(jù)。想了解更多可用API,可參考API文檔/app.jsApp( onLaunch: function () /調(diào)用API從本地緩存中獲取數(shù)據(jù) var logs = wx.getStorageSync('logs') | logs.unshift(Date.now() wx.setStorageSync('logs', logs) , getUserInfo:func

5、tion(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(

6、that.globalData.userInfo) ) ); , globalData: userInfo:null ) app.json是對(duì)整個(gè)小程序的全局配置。我們可以在這個(gè)文件中配置小程序是由哪些頁(yè)面組成,配置小程序的窗口背景色,配置導(dǎo)航條樣式,配置默認(rèn)標(biāo)題。注意該文件不可添加任何注釋。更多可配置項(xiàng)可參考配置詳解 "pages": "pages/index/index", "pages/logs/logs" , "window": "backgroundTextStyle":"l

7、ight", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": "WeChat", "navigationBarTextStyle":"black" app.wxss是整個(gè)小程序的公共樣式表。我們可以在頁(yè)面組件的class屬性上直接使用app.wxss中聲明的樣式規(guī)則。/*app.wxss*/.container height: 100%; display: flex; flex-di

8、rection: column; align-items: center; justify-content: space-between; padding: 200rpx 0; box-sizing: border-box;創(chuàng)建頁(yè)面 在這個(gè)教程里,我們有兩個(gè)頁(yè)面,index頁(yè)面和logs頁(yè)面,即歡迎頁(yè)和小程序啟動(dòng)日志的展示頁(yè),他們都在pages目錄下。微信小程序中的每一個(gè)頁(yè)面的【路徑+頁(yè)面名】都需要寫(xiě)在app.json的pages中,且pages中的第一個(gè)頁(yè)面是小程序的首頁(yè)。 每一個(gè)小程序頁(yè)面是由同路徑下同名的四個(gè)不同后綴文件的組成,如:index.js、index.wxml、index.wx

9、ss、index.json。.js后綴的文件是腳本文件,.json后綴的文件是配置文件,.wxss后綴的是樣式表文件,.wxml后綴的文件是頁(yè)面結(jié)構(gòu)文件。 index.wxml是頁(yè)面的結(jié)構(gòu)文件:<!-index.wxml-><view class="container"> <view bindtap="bindViewTap" class="userinfo"> <image class="userinfo-avatar" src="userInfo.avatar

10、Url" background-size="cover"></image> <text class="userinfo-nickname">userInfo.nickName</text> </view> <view class="usermotto"> <text class="user-motto">motto</text> </view></view> 本例中使用了<view/&g

11、t;、<image/>、<text/>來(lái)搭建頁(yè)面結(jié)構(gòu),綁定數(shù)據(jù)和交互處理函數(shù)。 index.js是頁(yè)面的腳本文件,在這個(gè)文件中我們可以監(jiān)聽(tīng)并處理頁(yè)面的生命周期函數(shù)、獲取小程序?qū)嵗暶鞑⑻幚頂?shù)據(jù),響應(yīng)頁(yè)面交互事件等。/index.js/獲取應(yīng)用實(shí)例var app = getApp()Page( data: motto: 'Hello World', userInfo: , /事件處理函數(shù) bindViewTap: function() wx.navigateTo( url: './logs/logs' ) , onLoad: functi

12、on () 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是頁(yè)面的樣式表:/*index.wxss*/.userinfo display: flex; flex-direction: column; align-items: center;.userinfo-avatar width: 128rpx; height: 128rpx; mar

13、gin: 20rpx; border-radius: 50%;.userinfo-nickname color: #aaa;.usermotto margin-top: 200px; 頁(yè)面的樣式表是非必要的。當(dāng)有頁(yè)面樣式表時(shí),頁(yè)面的樣式表中的樣式規(guī)則會(huì)層疊覆蓋app.wxss中的樣式規(guī)則。如果不指定頁(yè)面的樣式表,也可以在頁(yè)面的結(jié)構(gòu)文件中直接使用app.wxss中指定的樣式規(guī)則。 index.json是頁(yè)面的配置文件: 頁(yè)面的配置文件是非必要的。當(dāng)有頁(yè)面的配置文件時(shí),配置項(xiàng)在該頁(yè)面會(huì)覆蓋app.json的window中相同的配置項(xiàng)。如果沒(méi)有指定的頁(yè)面配置文件,則在該頁(yè)面直接使用app.json中

14、的默認(rèn)配置。 logs的頁(yè)面結(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頁(yè)面使用<block/>控制標(biāo)簽來(lái)組織代碼,在<block/>上使用wx:for-items綁定logs數(shù)據(jù),并將logs數(shù)據(jù)循環(huán)展開(kāi)節(jié)點(diǎn)/logs.jsvar util = require('././utils/util.js')Page( data: logs: , onLoad: function ()

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論