2017 年 1 月 9 日,備受關(guān)注的微信小程序如約而至。微信小程序,這個(gè)設(shè)定為“無處不在”的產(chǎn)品,這一刻就真真實(shí)實(shí)地“在”你身邊了。
從今天起,只要有開發(fā)者登錄小程序后臺(tái),并在“開發(fā)管理”頁(yè)面點(diǎn)擊了“發(fā)布”按鈕,就會(huì)有一個(gè)小程序,降臨在微信上。
小程序是什么?
小程序是一種無需下載安裝,通過線下掃碼、微信搜索、公眾號(hào)關(guān)聯(lián)、好友推薦、歷史記錄等即可在微信中使用。不同的小程序,能幫你實(shí)現(xiàn)不同的功能。例如,買電影票、餐廳排號(hào)、餐館點(diǎn)菜、查詢公交、查詢股票信息、查詢天氣、收聽電臺(tái)、預(yù)定酒店、共享單車、打車、查匯率、查單詞、買機(jī)票、網(wǎng)購(gòu)…
小程序如何注冊(cè)申請(qǐng)?
通過https://mp.weixin.qq.com/進(jìn)入注冊(cè)頁(yè)面,點(diǎn)擊上方注冊(cè)
點(diǎn)擊選擇“小程序”出現(xiàn)注冊(cè)頁(yè)面
填寫注冊(cè)小程序的郵箱,然后填寫小程序登錄密碼,最后填寫驗(yàn)證碼,點(diǎn)擊同意協(xié)議,注冊(cè)。
登錄郵箱,點(diǎn)擊鏈接,進(jìn)行驗(yàn)證。
進(jìn)入信息登記界面,進(jìn)行信息登記,分為“主體信息登記”和“管理員信息登記”。注意“主體信息提交后不可修改”。
選擇驗(yàn)證方式,直接選擇“對(duì)公賬號(hào)打款驗(yàn)證”,獲取打款信息,向這個(gè)賬號(hào)打指定金額(一般是幾分錢),打款完畢,等待微信官方審核結(jié)果(一般一天就可以回復(fù))。
最后登錄,就可以看到小程序后臺(tái)可以使用了。
開始項(xiàng)目:
在公眾平臺(tái)使用注冊(cè)的帳戶進(jìn)行登錄。然后,在主頁(yè)面左邊列表中點(diǎn)擊設(shè)置,再設(shè)置頁(yè)面中選開發(fā)設(shè)置,就可以看到AppID。而AppID 可以用于在開發(fā)工具中進(jìn)行登記,使用開發(fā)工具的高級(jí)功能。你可以到官網(wǎng)下載開發(fā)工具。
打開開發(fā)者工具,選擇小程序選項(xiàng),然后直接點(diǎn)擊「添加項(xiàng)目」按鈕。我們可以在這個(gè)步驟,填入剛才注冊(cè)的時(shí)候使用的AppID。如果項(xiàng)目目錄中的文件是個(gè)空文件夾,會(huì)提示是否創(chuàng)建 quick start 項(xiàng)目。選擇“是”,開發(fā)者工具會(huì)幫助我們?cè)陂_發(fā)目錄里生成一個(gè)簡(jiǎn)單的 Demo。這個(gè) Demo 擁有一個(gè)完整的小程序的大概框架。
我們首先看一下官方提供的 Demo 含有的目錄:
app.js:小程序邏輯、生命周期、全局變量。
app.json:小程序公共設(shè)置、導(dǎo)航欄顏色等,不可以注釋。
app.wxss:小程序公共樣式,類似 CSS 。
每一個(gè)小程序頁(yè)面是由同路徑下同名的四個(gè)不同后綴文件的組成,如:index.js、index.wxml、index.wxss、index.json
微信小程序中的每一個(gè)頁(yè)面的路徑和頁(yè)面文件名,都需要寫在app.json的pages中,且pages數(shù)組中的第一個(gè)頁(yè)面是小程序的首頁(yè)。
這四個(gè)文件按照功能可以分成三個(gè)部分:
配置:json文件
邏輯層:js文件
視圖層:wxss.wxml文件
在 iOS 上,小程序的邏輯代碼運(yùn)行于JavaScriptCore 中,而在Android上,這個(gè)任務(wù)則是交給 X5 內(nèi)核來完成。
在開發(fā)工具上,小程序的JavaScript代碼是運(yùn)行在 NW.js(Chrome內(nèi)核) 中。這也導(dǎo)致開發(fā)工具上的效果跟實(shí)際效果有所出入。
微信提供了許多組件,主要分為八種:
這其中,包含了view、scroll-view、button、form等普通常用的組件,也提供了地圖mapcanvas
組件主要屬于視圖層,通過 WXML 來進(jìn)行結(jié)構(gòu)布局,類似于HTML。樣式則通過 WXSS 來定義和修改,它的語法和使用都近似 CSS。
組件使用語法實(shí)例:
小程序的API分別為:網(wǎng)絡(luò)、媒體、數(shù)據(jù)、位置、設(shè)備、界面、開發(fā)接口。
重要提示:
小程序的網(wǎng)絡(luò)請(qǐng)求接口包含了HTTPS請(qǐng)求,支持上傳、下載、Socket,滿足開發(fā)中所需要的網(wǎng)絡(luò)需求。這些 API 屬于邏輯層,寫在 JS 邏輯文件中。就是說所有小程序的網(wǎng)絡(luò)請(qǐng)求都是必須通過HTTPS加密才能通過微信審核,微信推薦的CA企業(yè)天威誠(chéng)信的所有SSL證書產(chǎn)品均能滿足微信小程序HTTPS加密的使用需求。
使用實(shí)例:
wx.getLocation({ type: 'wgs84', success: function(res) { var latitude = res.latitude var longitude = res.longitude var speed = res.speed var accuracy = res.accuracy } })