最近領(lǐng)導(dǎo)交給一個(gè)任務(wù),單獨(dú)開(kāi)發(fā)一個(gè)小程序項(xiàng)目,還要出一篇小程序課題文檔。這也是我第一次接觸小程序,遂把領(lǐng)導(dǎo)對(duì)課題的要求以及自己開(kāi)發(fā)過(guò)程中遇到的問(wèn)題做如下總結(jié): 1. 如何創(chuàng)建小程序項(xiàng)目 這一步在官方文檔中的描述已經(jīng)很清楚了,主要分為幾步: 申請(qǐng)賬號(hào),擁有小程序賬號(hào)。 在小程序管理平臺(tái),可以看到小程序的 AppID與AppSecret。 綁定在一個(gè)微信開(kāi)放平臺(tái)賬戶下的訂閱號(hào)、服務(wù)號(hào)、小程序、APP、PC網(wǎng)站都叫做”應(yīng)用“,每個(gè)應(yīng)用都有自己的AppID和AppSecret,AppID叫做應(yīng)用唯一標(biāo)識(shí),AppSecret叫做應(yīng)用密鑰。 AppID與AppSecret 的作用及使用方式: 在開(kāi)發(fā)過(guò)程中如果要使用微信相關(guān)功能,必須有官方認(rèn)證的賬號(hào)密碼 小程序項(xiàng)目中app.js的data需要添加appid和secret屬性,二者配合使用,可調(diào)用公眾號(hào)的接口能力 管理員需要將開(kāi)發(fā)人員的微信號(hào)設(shè)置為開(kāi)發(fā)者賬號(hào)才可以進(jìn)行小程序的開(kāi)發(fā) 安裝開(kāi)發(fā)工具 簡(jiǎn)要介紹開(kāi)發(fā)工具 微信小程序和公眾號(hào)開(kāi)發(fā)有自己的微信開(kāi)發(fā)工具,集成了公眾號(hào)網(wǎng)頁(yè)調(diào)試和小程序調(diào)試兩種開(kāi)發(fā)模式。 使用公眾號(hào)網(wǎng)頁(yè)調(diào)試,開(kāi)發(fā)者可以調(diào)試微信網(wǎng)頁(yè)授權(quán)和微信JS-SDK 詳情 使用小程序調(diào)試,開(kāi)發(fā)者可以完成小程序的 API 和頁(yè)面的開(kāi)發(fā)調(diào)試、代碼查看和編輯、小程序預(yù)覽和發(fā)布等功能。 增加了支持甘特圖的mermaid語(yǔ)法1 功能; 2. 如何獲取微信賬號(hào)信息及與第三方賬號(hào)做綁定(小程序啟動(dòng)的過(guò)程都經(jīng)歷了哪些東西) 功能性的小程序一般都需要獲取用戶的微信賬號(hào)信息。最初小程序可以在首次進(jìn)入時(shí)調(diào)用wx.getUserInfo(Object object) 彈窗微信授權(quán), 后來(lái)接口getUserInfo做了調(diào)整,在用戶未授權(quán)過(guò)的情況下調(diào)用此接口,將不再出現(xiàn)授權(quán)彈窗,會(huì)直接進(jìn)入 fail 回調(diào)。在用戶已授權(quán)的情況下調(diào)用此接口,可成功獲取用戶信息。 現(xiàn)在小程序獲取授權(quán)需要通過(guò)button組件的bindgetuserinfo屬性,配合open-type屬性,實(shí)現(xiàn)點(diǎn)擊按鈕返回獲取到的用戶信息: 小程序的啟動(dòng): . 微信客戶端在打開(kāi)小程序之前,會(huì)把整個(gè)小程序的代碼包下載到本地。 . 緊接著通過(guò) app.json 的 pages 字段就可以知道當(dāng)前小程序的所有頁(yè)面路徑,寫(xiě)在 pages 字段的第一個(gè)頁(yè)面就是這個(gè)小程序的首頁(yè)(打開(kāi)小程序看到的第一個(gè)頁(yè)面)。 . 于是微信客戶端就把首頁(yè)的代碼裝載進(jìn)來(lái),通過(guò)小程序底層的一些機(jī)制,就可以渲染出這個(gè)首頁(yè)。 . 小程序啟動(dòng)之后,在 app.js 定義的 App 實(shí)例的 onLaunch(小程序啟動(dòng)時(shí)觸發(fā)) 回調(diào)會(huì)被執(zhí)行 我的小程序在app.js的onLaunch 方法中都執(zhí)行了哪些操作: 1.項(xiàng)目啟動(dòng)時(shí)執(zhí)行 wx.getSetting() 獲取用戶的當(dāng)前設(shè)置,判斷用戶是否已授權(quán) 2. 如果用戶已授權(quán),調(diào)用wx.getUserInfo()獲取用戶信息,頭像昵稱等,然后進(jìn)行自己小程序的內(nèi)部操作 3. 如果用戶未授權(quán),則跳轉(zhuǎn)至登錄頁(yè),用戶通過(guò)點(diǎn)擊按鈕彈窗授權(quán),獲取用戶信息 如果需要將微信賬號(hào)信息與自己的項(xiàng)目賬號(hào)做綁定,那么可以將獲取到的微信賬號(hào)信息作為參數(shù)傳送給后臺(tái),后臺(tái)生成一個(gè)相對(duì)應(yīng)的項(xiàng)目賬號(hào)。 3. 小程序配置 : 全局&頁(yè)面 全局配置 app.json是小程序的全局配置,包括小程序的所有頁(yè)面路徑、界面表現(xiàn)、底部 tab 等,一般包含幾個(gè)字段:pages、window、tabBar pages字段 —— 用于描述當(dāng)前小程序所有頁(yè)面路徑,這是為了讓微信客戶端知道當(dāng)前你的小程序頁(yè)面定義在哪個(gè)目錄。 注: tab欄的圖標(biāo)icon 大小限制為40kb,建議尺寸為 81px * 81px,不支持網(wǎng)絡(luò)圖片,同時(shí)tab列表配置最少2個(gè),最多5個(gè)。 頁(yè)面配置 一個(gè)小程序頁(yè)面由四個(gè)文件組成: .json 后綴的 JSON 配置文件 .wxml 后綴的 WXML 模板文件 .wxss 后綴的 WXSS 樣式文件 .js 后綴的 JS 腳本邏輯文件 每個(gè)小程序頁(yè)面可以使用自己的.json文件來(lái)對(duì)本頁(yè)面的窗口表現(xiàn)進(jìn)行配置。 頁(yè)面配置一般包括導(dǎo)航欄標(biāo)題文字內(nèi)容(navigationBarTitleText),是否開(kāi)啟下拉刷新(enablePullDownRefresh)等等。 ———————————————— 頁(yè)面的配置只能設(shè)置 app.json 中部分 window 配置項(xiàng)的內(nèi)容,頁(yè)面中配置項(xiàng)會(huì)覆蓋 app.json 的 window 中相同的配置項(xiàng)。 4. 小程序組件及頁(yè)面介紹小程序?yàn)殚_(kāi)發(fā)者提供了一系列基礎(chǔ)組件,開(kāi)發(fā)者可以通過(guò)組合這些基礎(chǔ)組件進(jìn)行快速開(kāi)發(fā)。 小程序組件參考。 頁(yè)面的生命周期:
頁(yè)面之間的通訊小程序頁(yè)面之間有時(shí)需要進(jìn)行數(shù)據(jù)的傳遞,個(gè)人使用的頁(yè)面間數(shù)據(jù)通訊有兩種方式:
5. 如何開(kāi)發(fā)公共代碼 開(kāi)發(fā)公共組件,個(gè)人使用的是component構(gòu)造器定義公共組件。 Component構(gòu)造器可用于定義組件,調(diào)用Component構(gòu)造器時(shí)可以指定組件的屬性、數(shù)據(jù)、方法等。 具體開(kāi)發(fā)方式是: 項(xiàng)目外層目錄中創(chuàng)建components文件夾,創(chuàng)建組件文件夾然后新建Component,在這里寫(xiě)好公共組件的頁(yè)面結(jié)構(gòu),樣式,事件等。 組件的js文件中包含組件屬性,組件數(shù)據(jù),組件方法等,與vue組件有相似之處。 在需要使用公共組件的頁(yè)面JSON文件中,添加usingComponents配置,使用公共組件,key值是組件要在頁(yè)面中使用時(shí)的標(biāo)簽名,val是公共組件的路徑。
6. 如何使用微信提供的API |
|
來(lái)自: timtxu > 《時(shí)尚科技》