微信小程序設計的基本原則是微信設計中心針對在微信類上線的小程序頁面總結的設計指南及建議。如下設計原則都是基於對用戶的尊重的基礎上的,旨在微信生態類創建有號、高效、一致的用戶體驗的同時,最大程度順應和支持各業務需求設計,實現用戶與程序的雙贏。php
爲了不用戶在微信中使用小程序服務時,注意力被周圍複雜環境干擾,小程序哎設計時應該注意減小無關的設計元素對用戶目標干擾,禮貌地向用戶展現程序側提供的服務,友好地引導用戶進行操做。web
1. 重點突出
每一個頁面都應有明確的重點,以便於用戶每進入一個新頁面的時候都能快速地理解頁面內容,在肯定了重點的前提下,應儘可能避免頁面上出現其餘干擾項影響用戶的決策和操做。小程序
反例示意
此頁面的主題是查詢,卻添加了諸多與查詢不相關的業務入口,與用戶的預期不符,易形成用戶的迷失。微信小程序
糾正示意
去掉任何與用戶目標不相關的內容,明確頁面主題,在技術和頁面控件容許的前提下提供有助於用戶目標的幫助內容,好比最近搜索詞,經常使用搜索詞等。安全
反例示意
操做沒有註冊,讓用戶無從選擇微信
糾正示意
首先要避免並列過多操做讓用戶選擇,在不得不併列多個操做時,需區分操做主次,減輕用戶的選擇難度。app
2. 流程明確
爲了讓用戶順暢地使用頁面,在用戶進行某一個操做流程時,應避免出現用戶目標流程以外的內容而打斷用戶。
反例示意
用戶本打算進行搜索,在進入頁面時卻被突如其來的抽獎彈窗所打斷;對於抽獎沒有興趣的用戶是很是不友好的干擾,平添一份對開發團隊的惱怒;而即便有部分用戶確實被「誘人」的抽獎活動所吸引,離開主流程去抽獎以後可能就遺忘了本來的目標,進而失去了對產品真正價值的利用和認識。性能
做爲一個負責任的開發者,一旦用戶進入咱們的小程序頁面,就有責任和義務清晰明確告知用戶身在何處、又能夠往何處去,確保用戶在頁面中游刃有餘地穿梭而不迷路,這樣才能爲用戶提供安全的愉悅的使用體驗。學習
1. 導航明確,來去自如
導航是確保用戶在網頁中瀏覽跳轉時不迷路的最關鍵因素。導航須要告訴用戶,我在哪,我能夠去哪,如何回去等問題。首先在微信系統內的全部小程序的所有頁面,均會自帶微信提供的導航欄,統一統一解決我在哪,如何回去的問題。在微信層級導航保持體驗一致,有益用戶在微信內造成較爲統一的體驗和交互認知,無需在各小程序和微信切換中新增學習成本或使用習慣。字體
微信導航欄
微信導航欄,直接繼承於客戶端,除導航欄顏色以外,開發者無需亦不能夠對其中的內容進行自定義。但開發者須要規定小程序各個頁面的跳轉關係,讓導航系統可以以合理的方式工做。
微信導航欄分爲導航區域、標題區域以及操做區域。其中導航區控制程序頁面進程。目前導航欄分深淺兩種基本配色,在iOS和Android展現有所不一樣,以下圖所示:
導航區(iOS)
導航區一般只有一個操做,即返回上一級界面。開發者可定義其內容,不可對樣式進行修改。
導航區(Android)
一般狀況下,系統導航左側惟一的操做爲「離開小程序,回到微信,程序後臺運行」。
當用戶進入小程序次級頁面後,咱們建議小程序自身能夠設計返回操做,同事用戶也能夠經過安卓系統自帶的硬件返回按鈕返回上一級。
微信導航欄自定義顏色規則(iOS和Android)
小程序導航欄支持基本的背景顏色自定義功能,選擇的顏色須要在知足可用性前提下,和諧搭配微信提供的兩套主導航欄圖標。建議參考如下選色效果:
選色方案示例:
頁面內導航
開發者可根據自身功能合計須要在頁面內添加自有導航。並保持不一樣頁面間導航一致。可是受限於手機屏幕尺寸的限制,小程序頁面的導航應儘可能簡單,若僅爲通常線性瀏覽的頁面建議僅使用微信導航欄便可。
微信控件庫提供tab導航供開發者選擇。tab欄可固定在頁面頂部或者底部,便於用戶在不一樣的tab頁面間做切換。爲確保點擊區域,tab項不得超過4項。一個頁面也不該出現一組以上的tab欄。
2. 減小等待,反饋及時
頁面的過長時間的等待會引發用戶的不良情緒,使用微信小程序項目提供的技術已能很大程度縮短等待時間。即使如此,當不可避免的出現了加載和等待的時候,須要予以及時的反饋以舒緩用戶等待的不良情緒。
啓動頁設計
小程序啓動也是小程序在微信內容必定程度上展示品牌特徵的頁面之一。
本頁面將突出展現小程序品牌特徵和加載狀態。
啓動頁除LOGO品牌展現外,頁面上的其餘全部元素如加載進度指示,由微信統一提供且不能更改。無需開發者開發。
下拉標示區
微信類全部小程序頁面,都會再下拉時出現微信爲其統一設計的標示區。品牌展現區由品牌名稱和微信小程序提示組成。目的是強化品牌和用戶對小程序的產品感知。
下拉標示(iOS深淺兩色方案)
微信提供深淺兩套配色方案,如此處標示所示,文字顏色不可自定義,開發者在自定義背景色時,應注意保證下拉標示的辨識度。
下拉標示(Android深淺兩色方案)
微信下拉提示用於給用戶明確的小程序歸屬者,防止造假與做弊。此處標示提供深淺兩套方案,文字顏色不可自定義,開發者在自定義背景色時,應注意保證下拉標示的辨識度。
頁面刷新交互(iOS)
開發者可自定義須要經過下拉交互完成刷新的頁面,此類交互微信將提供標準能力和樣式。在樣式上,刷新圖標與下拉標示配色已捆綁,分爲深淺兩套方案,開發者在使用時,應注意頭部文字、下拉標示與刷新圖標的和諧統一。但用戶在該類頁面作出下拉交互時,出現微信小程序頁面標準加載動畫。開發者無需自行開發樣式。
在開發者沒有在頁面頂部設計tab的狀況下,若定義該頁面可經過下拉動做刷新,則刷新後加載狀態提示語小程序品牌展現區出如今標題欄之下,頁面頂部。
開發者暫沒法執行定義此加載效果。
在開發者定義了頁面頂部tab並定義該Tab下的內容頁面可經過下拉動做刷新,則刷新後加載狀態提示語小程序品牌展現區出如今頂部Tab之下,且僅刷新當前頁面內容。開發者暫沒法自行定義此加載效果。
頁面刷新交互(Android)
與iOS相同,在樣式上,Android下刷新圖標與下拉標示配色已捆綁,分爲深淺兩套方案,開發者在使用時,應注意頭部文字、下拉標識與刷新圖標的和諧統一。
微信下拉標示錯誤使用案例
請避免如下錯誤使用狀況,確保信息的可見性和頁面的可用性。
頁面內導航
微信控件庫提供深淺tab導航方案供開發者選擇。tab欄需固定在頁面頂部,便於用戶在不一樣的tab頁面間做切換。爲確保點擊區域,tab項不得超過4項。一個頁面也不該出現一組以上的tab欄。
Tab欄選中態默認爲100%實色,未選中態帶有60%,其中選中態顏色可自定義。在自定義顏色選擇中,務必保持Tab的可用性、可視性和可操做性。
頁面內加載反饋
開發者可在小程序裏自定義頁面內容的加載樣式。建議無論是使用在局部仍是全體,自定義加載樣式都應該儘量簡潔,並使用簡單動畫告知用戶加載過程。開發者也可使用微信提供的,統一的頁面加載樣式,如圖中例所示。
模態加載
模態的加載樣式將覆蓋整個頁面的,因爲沒法明確告知具體加載的位置或內哦讓那個將可能引發用戶的焦慮感,所以應謹慎使用。除了在某些全局性操做下不要使用模態的菊花。
局部加載反饋
即旨在觸發加載的頁面局部進行反饋,這樣的反饋機制更加有針對性,頁面改動小,是微信推薦的反饋方式。例如:
加載反饋注意事項
結果反饋
除了在用戶等待的過程當中需予以及時反饋外,對操做的結果也須要予以明確反饋。根據實際狀況看,可選擇不一樣的結果反饋樣式。對於頁面局部的操做,可在操做區域予以直接反饋,對於頁面級操做結果,可以使用toast、彈窗或結果頁面展現。
頁面局部操做結果反饋
對於頁面局部的操做,可在操做區域予以直接反饋,例如點擊多選控件先後以下圖。對於經常使用控件,微信設計中心已提供控件庫及WeUI控件庫,其中的控件都已設計有完整的操做反饋。
頁面全局操做結果——toast
其中toast適用於輕量級的成功提示,1.5秒後自動消失,並不打斷流程,對用戶影響較小,適用於不須要強調成功專題的操做提醒。特別注意toast形式不適用於任何錯誤提醒。
頁面全局操做結果——彈框
對於須要用戶明確知曉的操做結果狀態可經過彈框來提示,並可附帶下一步操做指引。
頁面全局操做結果——結果頁
對於操做結果已是當前流程的終結的狀況,可以使用操做結果頁來反饋。這種方式最爲強烈和明確的告知用戶操做已經完成,並可根據實際狀況給出下一步操做的指引。
3. 異常可控,有路可退
在設計任何的任務和流程時,異常狀態和流程每每容易被忽略,而這些異常場景每每是用戶最爲沮喪和須要幫助的時候,所以須要格外注意異常狀態的設計,在出現異常時予以用戶必要的狀態提示,並告知解決方案,使其有路可退。
要杜絕異常狀態下,用戶莫名其妙又無處可去,卡在某一個頁面的狀況。2.2中所提到的彈窗和結果頁面均可做爲異常狀態的提醒方式。除此以外,在表單頁面中尤爲是表單項較多的頁面中,還應明確指出出錯項目,以便用戶修改。
異常狀態——表單出錯
表單報錯,在表單頂部告知錯誤緣由,並標識出錯誤字段提示用戶修改。
從PC時代的物理鍵盤鼠標到移動端時代手指,雖然輸入設備極大精簡,可是手指操做的準確性卻大大不如鍵盤鼠標精確。爲了適應這個變化,須要開發者在設計過程當中充分利用手機特性,讓用戶便捷優雅的操控界面。
1. 減小輸入
因爲手機鍵盤區域小且密集,輸入困難的同時還易引發輸入錯誤,所以在設計小程序頁面時因儘可能減小用戶輸入,理由現有接口或其餘一些易於操做的選擇控件來改善用戶輸入的體驗。
減小輸入,巧用接口
例以下圖中,在添加銀行卡時,採用攝像頭識別SDK接口來幫助用戶輸入。除此以外微信團隊還對外開放例如地理位置接口等多種SDK接口(詳見微信JS-SDK),充分利用這些接口將大大提升用戶輸入的效率和準確性,進而優化體驗。
除了利用接口外,在不得不讓用戶進行手動輸入時,應儘可能讓用戶作選擇而不是鍵盤輸入。一方面,回憶易於記憶,讓用戶在有限的選項中作選擇一般來講是容易於徹底靠記憶輸入;另外一方面,仍然是考慮到手機鍵盤密集的單鍵輸入極易形成輸入錯誤。例如圖中,在用戶搜索時提供搜索歷史快捷選項將幫助用戶快速進行搜索,而減小或避免沒必要要的鍵盤輸入。
2. 避免誤操做
一位內在手機上咱們經過手指觸摸屏幕來操控界面,手指的點擊精確度遠不如鼠標,所以在設計頁面上需點擊的控件時,須要充分考慮到其熱區面積,避免因爲可點擊區域太小或過於密集而形成誤操做。當簡單的將本來在電腦屏幕上使用的界面不作任何適配直接移植到手機上時,每每就容易出現這樣的問題。因爲手機屏幕分辨率各不相同,所以最適宜點擊像素尺寸也不徹底一致,但換算成物理尺寸後大體是在7mm-9mm之間。在微信提供的標準控件庫中,各類控件均已考慮到了頁面點擊效果以及不一樣屏幕的適配,所以再次推薦使用或模仿標準控件尺寸進行設計。
3. 利用接口提高性能
微信設計中心已推出了一套網頁標準控件庫,包括sketch設計控件庫和WeUI重構代碼庫,這些控件都已充分考慮了移動端頁面的特色,可以保證其在移動端頁面上的可用性和操做性能;同事微信web開發團隊也在不斷完善和擴充微信JS-SDK接口,並提供微信公共庫,利用這些資源不但可以爲用戶提供更加快捷的服務,並且對頁面性能的提升有極大做用,無形之中提高了用戶體驗。
除了以上所提到的種種原則,建議接入微信的小程序還應該時刻注意不一樣頁面間的統一性和延續性,在不一樣的頁面儘可能使用一致的控件和交互方式。
統一的頁面體驗和有延續性的界面元素都將幫助用最少的學習成本達成使用目標,減輕頁面跳動所形成的不適感。正因如此,小程序可根據須要使用微信提供的標準控件,以達到統一穩定的目的。
爲方便設計師進行設計,微信提供一套可供Web設計和小程序使用的基礎控件庫;同時方便開發者調用。
1. 字體規範
經常使用字號爲20,18,17,16,14,13,11(pt),使用場景具體以下:
微信類字體的使用與所運行的系統字體保持一致,以導航爲例,iOS與Android對應字體以下:
導航(iOS和Android)
字體顏色
主內容Black黑色,次要內容Grey灰色;時間戳與表單缺省值Light灰色;大段的說明內容並且屬於主要內容用Semi黑;
藍色爲連接用色,綠色爲完成字樣顏色,紅色爲出錯用色Press與Disable狀態分別下降透明度爲20%與10%;
2. 列表視覺規範
3. 表單輸入視覺規範
4. 按鈕使用原則
列表外按鈕上文字標準
按鈕高度爲44px下使用:顏色#000000 / #353535 字號18pt
列表外按鈕上文字標準
按鈕高度爲25px下使用:顏色#000000 / #353535 字號14pt
頁面線性按鈕上文字標準
按鈕高度爲35px下使用:顏色#09BB07 / #353535 字號16pt
5. 圖標使用原則
做者:曾二