1. 程式人生 > >微信小程式開發測試教程

微信小程式開發測試教程

簡單介紹

小程式是一種微信開發不需要下載安裝即可使用的應用。

實質

微信小程式就是Hybrid技術的應用。 Hybrid App(混合模式移動應用)。 小程式能夠更多的可以更多的呼叫手機本身的功能(如位置資訊,攝像頭等)。

小程式註冊

小程式開發框架的邏輯層是由JavaScript編寫。 邏輯層將資料進行處理後傳送給檢視層,同時接受檢視層的事件反饋。小程式再次基礎上做了一些修改方便開發: 增加 App 和 Page 方法,進行程式和頁面的註冊。

App() 函式用來註冊一個小程式。接受一個 object 引數,其指定小程式的生命週期函式等。

在這裡插入圖片描述

Page() 函式用來註冊一個頁面。接受一個 object 引數,其指定頁面的初始資料、生命週期函式、事件處理函式等。生命週期函式為:

onLoad: 頁面載入

一個頁面只會呼叫一次。

onShow: 頁面顯示

每次開啟頁面都會呼叫一次。

onReady: 頁面初次渲染完成

一個頁面只會呼叫一次,代表頁面已經準備妥當,可以和檢視層進行互動

onHide: 頁面隱藏

當navigateTo或底部tab切換時呼叫

onUnload: 頁面解除安裝

當redirectTo或navigateBack的時候呼叫

小程式例項解析

建立專案

現在是內測版本,所有的AppID全部都是騰訊內部發布的。但是,沒有AppID也不影響測試開發,我們可以選擇無AppID進行測試開發,只是不能在手機真機上面除錯。

選擇專案目錄,再新增專案即可。

編寫程式碼

點選開發者工具左側導航的「編輯」,我們可以看到這個專案,已經初始化幷包含了一些簡單的程式碼檔案。是 app.js、app.json、app.wxss 這三個。其中app.js是我們傳統的js檔案,app.json是專案配置檔案,app.wxss是專案css檔案,微信小程式會讀取這些檔案,並生成小程式例項。

app.json:

app.json 是對整個小程式的全域性配置。其中有5個屬性,官方給出的配置表為:

在這裡插入圖片描述

我們可以在這個檔案中配置小程式是由哪些頁面組成,配置小程式的視窗 背景色,配置導航條樣式,配置預設標題。注意該檔案不可新增任何註釋。

window是用於設定小程式的狀態列、導航條、標題、視窗背景色。

在這裡插入圖片描述

pages裡面是程式的所有頁面的目錄,所有需要跳轉的頁面,都需要在pages裡面配置好。

tabBar:

tabBar是底部導航欄部分,tabBar API為

在這裡插入圖片描述

tabBar配置好後,在任何頁面下,都會有一個tab導航欄,其中list裡面是配置tab裡有多少個按鈕,案例中為兩個。list裡面有多個屬性

在這裡插入圖片描述

案例APP的app.json為:

{

pages:[

pages/index/index,

pages/logs/logs

],

window:{

backgroundTextStyle:light,

navigationBarBackgroundColor: green,

navigationBarTitleText: APP,

navigationBarTextStyle:white

},

tabBar: {

selectedColor:red,

list: [{

pagePath: pages/index/index,

text: 首頁,

iconPath:goods_mgold.png,

selectedIconPath:goods_mgold.png

}, {

pagePath: pages/logs/logs,

text: 天氣查詢,

iconPath:icon_community.png,

selectedIconPath:icon_community.png

}]

}

}

app.js:

app.js是小程式的指令碼程式碼。我們可以在這個檔案中監聽並處理小程式的生命週期函式、宣告全域性變數。呼叫 MINA 提供的豐富的 API。程式碼主要是寫在APP物件裡面作用於全域性。

其中每個頁面都可以有自己的js檔案,例如index.js就是Index.wxml頁面的js程式碼,其中js程式碼的一些應用主要是寫在page物件裡面。

事件的使用方式:

首先在wxml裡面寫入一個bindtap點選事件。

Click me!

然後再js的page物件中定義:

在這裡插入圖片描述

就可以實現一個點選事件。其中bind是繫結,type為tap。type是事件型別。

資料渲染:

在元件上使用wx:for控制屬性繫結一個數組,即可使用陣列中各項的資料重複渲染該元件。預設陣列的當前項的下標變數名預設為index,陣列當前項的變數名預設為item

可以在Page物件裡面的data屬性裡面寫入condition的值為true或者false判斷是否渲染。

模板定義:

可以在模板中定義程式碼片段,然後在不同的地方呼叫。

直接在外部新建一個box.wxml的模板: 在這裡插入圖片描述

然後建立一個外部commom.js模組。

在這裡插入圖片描述

通過module.exports匯出模組,先在需要引入模組的wxml檔案中直接include 帶上src地址,然後在需要引入模組的js檔案中。

介面API:

小程式開發框架提供豐富的微信原生 API,可以方便的調起微信提供的能力,如獲取使用者資訊,本地儲存,支付功能等。