W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
manifest.json文件中包含了應用描述、接口聲明、頁面路由信息
屬性 | 類型 | 默認值 | 必填 | 描述 | |||
---|---|---|---|---|---|---|---|
package | String | - | 是 | 應用包名,確認與原生應用的包名不一致,推薦采用com.company.module的格式,如:com.example.demo | |||
name | String | - | 是 | 應用名稱,6個漢字以內(nèi),與應用商店保存的名稱一致,用于在桌面圖標、彈窗等處顯示應用名稱 | |||
icon | String | - | 是 | 應用圖標,提供192x192大小的即可 | |||
versionName | String | - | 否 | 應用版本名稱,如:"1.0"
|
|||
versionCode | Integer | - | 是 | 應用版本號,從1 自增,推薦每次重新上傳包時versionCode +1
|
|||
minPlatformVersion | Integer | - | 否 | 支持的最小平臺版本號,兼容性檢查,避免上線后在低版本平臺運行并導致不兼容;如果不填按照內(nèi)測版本處理 | |||
features | Array | - | 否 | 接口列表,絕大部分接口都需要在這里聲明,否則不能調(diào)用,詳見每個接口的文檔說明 | |||
config | Object | - | 是 | 系統(tǒng)配置信息,詳見下面說明 | |||
router | Object | - | 是 | 路由信息,詳見下面說明 | |||
display | Object | - | 否 | UI顯示相關(guān)配置,詳見下面說明 |
用于定義系統(tǒng)配置和全局數(shù)據(jù)。
屬性 | 類型 | 默認值 | 描述 |
---|---|---|---|
logLevel | String | log | 打印日志等級,分為 off,error,warn,info,log,debug |
designWidth | Integer | 750 | 頁面設(shè)計基準寬度,根據(jù)實際設(shè)備寬度來縮放元素大小 |
data | Object | - | 全局數(shù)據(jù)對象,屬性名不能以$或_開頭,在頁面中可通過 this 進行訪問;如果全局數(shù)據(jù)屬性與頁面的數(shù)據(jù)屬性重名,則頁面初始化時,全局數(shù)據(jù)會覆蓋頁面中對應的屬性值 |
background 1050+
|
Object | - | 后臺運行配置信息,可使用 features 字段申請需要在后臺使用的接口(同時仍需在最外層的 features 字段中聲明)??缮暾埖慕涌跒椋? system.audio system.geolocation system.record system.request 等。 詳細用法參見 后臺運行腳本。 |
network 1060+
|
Object | - | 網(wǎng)絡(luò)超時時間配置選項,詳見下面說明 |
參數(shù)名 | 類型 | 默認值 | 單位 | 必填 | 描述 |
---|---|---|---|---|---|
connectTimeout | Number | 30000 | ms | 否 | 連接超時時間 |
readTimeout | Number | 30000 | ms | 否 | 讀取超時時間 |
writeTimeout | Number | 30000 | ms | 否 | 寫入超時時間 |
用于定義頁面的組成和相關(guān)配置信息,如果頁面沒有配置路由信息,則在編譯打包時跳過。
屬性 | 類型 | 默認值 | 必填 | 描述 |
---|---|---|---|---|
entry | String | - | 是 | 首頁名稱;使用分包功能時,建議將首頁定義在基礎(chǔ)包中 |
pages | Object | - | 是 | 頁面配置列表,key 值為頁面名稱(對應頁面目錄名,例如 Hello 對應'Hello'目錄),value 為頁面詳細配置 page,詳見下面說明 |
errorPage 1060+
|
String | - | 否 | 自定義錯誤頁面的 key 值,需要提供一個在 pages 項里已經(jīng)配置的 key 值 |
"router": {
"entry": "Demo",
"errorPage": "ErrorPage",
"pages": {
"Demo": {
"component": "index"
},
"ErrorPage": {
"component": "index"
},
}
}
用于定義單個頁面路由信息。
屬性 | 類型 | 默認值 | 必填 | 描述 | |||
---|---|---|---|---|---|---|---|
component | String | - | 是 | 頁面對應的組件名,與 ux 文件名保持一致,例如'hello' 對應 'hello.ux' | |||
path | String | /<頁面名稱> | 否 | 頁面路徑,例如“/user”,不填則默認為/<頁面名稱>。
path 必須唯一,不能和其他 page 的 path 相同。 下面 page 的 path 因為缺失,會被設(shè)置為“/Index”: "Index": {"component": "index"}
|
|||
filter | Object | - | 否 | 聲明頁面可以處理某種請求 | |||
launchMode 1050+
|
String | standard | 否 | 聲明頁面的啟動模式,支持"singleTask","standard"兩種頁面啟動模式。
標識為"singleTask"模式時每次打開目標頁面都會打開已有的目標頁面并回調(diào) onRefresh 生命周期函數(shù),清除該頁面上打開的其他頁面,沒有打開過此頁面時會創(chuàng)建新的目標頁面實例。 標識為"standard"模式時會每次打開新的目標頁面(多次打開目標頁面地址時會存在多個相同頁面) |
匹配頁面某種請求,如請求 uri 和 filter 中 uri 匹配成功,則在匹配頁面打開。
filter 匹配原則是按照 manifest.json 中 router.pages 中頁面順序自上往下逐一匹配,uri 匹配成功即會在該頁面中使用,故不建議多頁面采用相同 uri 匹配規(guī)則,可能會導致頁面跳轉(zhuǎn)出錯。
filter 的結(jié)構(gòu)如下:
"filter": {
"<action>": {
"uri": "<pattern>"
}
}
屬性 | 類型 | 默認值 | 必填 | 描述 |
---|---|---|---|---|
action | String | - | 是 | 請求的動作,目前僅支持view這一種 |
uri | Pattern | - | 是 | 請求的數(shù)據(jù)的匹配規(guī)則。必須是正則表達式。如https?://.* 可以匹配所有http和https類型的網(wǎng)址 |
可以處理所有http和https請求的filter定義如下:
"filter": {
"view": {
"uri": "https?://.*"
}
}
當頁面跳轉(zhuǎn)異常時,快應用默認將會跳轉(zhuǎn)到 sdk 的默認錯誤頁,同時前端 app.ux 也會收到 onPageNotFound 回調(diào)
此參數(shù)可提供給開發(fā)者配置自定義錯誤頁面
參數(shù):自定義錯誤頁面的參數(shù),需要提供一個在 pages 項里已經(jīng)配置好的 key 值
注意:開發(fā)者自定義錯誤頁面的時候,推薦在 script 標簽加入以下這段代碼。按照這樣設(shè)置,當用戶 deeplink 跳轉(zhuǎn)進快應用報錯時,點擊返回鍵,可以跳到當前快應用的首頁,繼續(xù)瀏覽快應用的頁面。
import router from '@system.router'
export default {
onBackPress() {
// 由deep-link等方式進來,異常發(fā)生時,一進來首頁就是Error Page
// 則此時返回需要手動修改,使其跳轉(zhuǎn)到首頁
if (router.getLength() === 1) {
router.replace({
// 返回首頁
path: '/'
})
return true
}
}
}
用于定義與 UI 顯示相關(guān)的配置。
如果在 display 對象下定義以下屬性值,則生效范圍為此快應用全部頁面;
如果在 display.pages 對象里的頁面 key 值下定義以下屬性值,則生效范圍僅為此頁面;并且,此處指定的頁面 display 屬性值,優(yōu)先級高于上述的全局范圍的屬性值
屬性 | 類型 | 默認值 | 描述 |
---|---|---|---|
backgroundColor | String | #ffffff | 窗口背景顏色 |
fullScreen | Boolean | false | 是否是全屏模式,默認不會同時作用于 titleBar,titleBar 需要繼續(xù)通過 titleBar 控制 |
titleBar | Boolean | true | 是否顯示 titleBar |
titleBarBackgroundColor | String | #000000 | 標題欄背景色 |
titleBarTextColor | String | - | 標題欄文字顏色 |
titleBarText | String | - | 標題欄文字(也可通過頁面跳轉(zhuǎn)傳遞參數(shù)(titleBarText)設(shè)置) |
menu | Boolean | false | 1000~1060 版本用于配置是否顯示標題欄右上角菜單按鈕,true 顯示,false 隱藏。
注意:當 menu 值設(shè)為 true 時,方可在 1000~1060 版本點擊菜單按鈕,或 1070 版本點擊menuBar 左邊菜單按鈕時,觸發(fā)前端的onMenuPress 回調(diào)(若前端已實現(xiàn)此回調(diào)方法) |
windowSoftInputMode 1030+
|
adjustPan | adjustResize | adjustPan | 軟鍵盤彈出時為保證輸入框可見,頁面的調(diào)整方式?!?adjustPan:上移頁面; adjustResize:壓縮頁面顯示區(qū)域,當頁面全屏時,此設(shè)置不生效 |
pages | Object | - | 各個頁面的顯示樣式,key 為頁面名(與路由中的頁面名保持一致),value 為窗口顯示樣式,頁面樣式覆蓋 default 樣式。 |
orientation 1040+
|
String | portrait | 頁面顯示橫屏還是豎屏
portrait:豎屏 landscape:橫屏 |
statusBarImmersive 1050+
|
Boolean | false | 是否顯示沉浸式狀態(tài)欄,顯示沉浸式狀態(tài)需要隱藏 titleBar |
statusBarTextStyle 1050+
|
light | dark | auto | auto | 狀態(tài)欄文字樣式,有亮,暗和自動 當為自動時會根據(jù)狀態(tài)欄背景色調(diào)整 |
statusBarBackgroundColor 1050+
|
String | - | 狀態(tài)欄背景色,默認值同標題欄背景色 |
statusBarBackgroundOpacity 1050+
|
float(0-1.0) | false | 狀態(tài)欄背景色不透明度,默認值同標題欄背景色不透明度 |
fitCutout 1060+
|
String | - | 是否在異形區(qū)域繪制內(nèi)容。豎屏下只有在 fullScreen 為 true 時才會生效
none:不會在異形區(qū)域繪制,異形區(qū)域加黑處理 portrait:豎屏下內(nèi)容會在異形區(qū)域繪制 landscape:橫屏下內(nèi)容會在異形區(qū)域繪制 portrait|landscape:豎屏和橫屏下都會在異形區(qū)域繪制 |
textSizeAdjust 1060+
|
none | auto | none | 系統(tǒng)字體大小變化時,文本類型組件字體大小的調(diào)整方式
none:不跟隨系統(tǒng)字體大小變化 auto:跟隨系統(tǒng)字體大小變化 |
themeMode 1070+
|
Number | -1 | 主題模式配置值,非必填,默認值為 -1(跟隨系統(tǒng)主題模式)。現(xiàn)在支持 3 個值: -1(跟隨系統(tǒng)主題模式)、 0(固定日間模式)、1(固定夜間模式) |
menuBarData 1070+
|
Object | - | menuBar 顯示相關(guān)配置,詳見下面說明 |
forceDark 1070+
|
Boolean | true | 應用級別 的夜間模式自動反色開關(guān)(僅 Android 10+系統(tǒng)支持),非必填,默認值為 true(開啟自動反色) |
1040+
用于定義分包的相關(guān)配置。分包的詳細使用方法參見 分包加載。
屬性 | 類型 | 含義 | 描述 | ||||
---|---|---|---|---|---|---|---|
name | String | 分包名稱 | 分包的名稱,用于區(qū)分不同分包。只能是字母數(shù)字和下劃線,不允許包含其他符號,"base"作為基礎(chǔ)包的保留名稱(無需為基礎(chǔ)包定義分包配置) | ||||
resource | String | 資源目錄 | 分包資源根目錄,相對于源碼目錄"src"的相對路徑。只能是字母數(shù)字以及"_"、"-"、"/"組成,第一個字符不允許為"-"和"/",不允許包含其他符號。編譯時會把該目錄下的所有資源都打包到這個分包中去 |
{
"package": "com.company.unit",
"name": "appName",
"icon": "/Common/icon.png",
"versionName": "1.0",
"versionCode": 1,
"minPlatformVersion": 1000,
"features": [
{ "name": "system.network" }
],
"permissions": [
{ "origin": "*" }
],
"config": {
"logLevel": "off"
},
"router": {
"entry": "Hello",
"pages": {
"Hello": {
"component": "hello",
"path": "/",
"filter": {
"view": {
"uri": "https?://.*"
}
}
}
}
},
"display": {
"backgroundColor": "#ffffff",
"fullScreen": false,
"titleBar": true,
"titleBarBackgroundColor": "#000000",
"titleBarTextColor": "#fffff",
"pages": {
"Hello": {
"backgroundColor": "#eeeeee",
"fullScreen": true,
"titleBarBackgroundColor": "#0000ff",
"titleBarText": "Hello"
}
}
}
}
用于定義 menuBar 的相關(guān)配置。
屬性 | 類型 | 含義 | 描述 |
---|---|---|---|
menuBar | Boolean | 是否顯示 | 配置 menuBar 是否顯示,默認是否顯示請查看廠商支持表格。當fullScreen 屬性為 true 或視頻全屏狀態(tài)下,若menuBar 不顯式設(shè)置為 true,則 menuBar 會自動隱藏。 |
menuBarStyle | String | 樣式 | menuBar 樣式,默認黑色圖標 icon 樣式,dark,可以設(shè)置 light 淺色 |
shareTitle | String | 分享標題 | menuBar 中分享功能對應 標題,默認當前快應用名稱 |
shareDescription | String | 分享描述 | menuBar 中分享功能對應描述,默認當前快應用描述 |
shareIcon | String | 分享鏈接 | menuBar 中分享功能對應圖片,默認當前快應用 icon |
注意:實際代碼中 json 文件不能包含注釋行,此處注釋僅為說明用
{
"package": "com.company.unit",
"name": "appName",
"icon": "/Common/icon.png",
"versionName": "1.0",
"versionCode": 1,
"minPlatformVersion": 1000,
"display": {
"menuBarData": {
// 全局配置
"menuBar" : true,
"menuBarStyle":"dark",
"shareTitle":"分享標題",
"shareDescription":"分享描述",
"shareIcon":"分享url"
},
"pages": {
"Hello": {
// 頁面配置,默認使用頁面menuBarData配置,頁面無配置使用全局menuBarData配置
"menuBarData": {
"menuBar" : true,
"menuBarStyle":"dark",
"shareTitle":"分享標題",
"shareDescription":"分享描述",
"shareIcon":"分享url"
}
}
}
}
如果以下沒有特別備注,則 menuBar 在此廠商手機 1070+ 的 sdk 上會默認顯示。同時,開發(fā)者可通過配置 menuBarData.menuBar 決定是否顯示。
廠商 | 支持 | 備注 |
---|---|---|
預覽版 | YES | |
OPPO | YES | |
小米 | YES | 1070 版本默認隱藏,可設(shè)置menuBarData.menuBar 參數(shù)為true 來顯示 |
vivo | YES | |
華為 | YES | 1070 版本默認隱藏。僅在項目設(shè)置manifest.json 的minPlatformVersion 大于等于1070 時,快應用會顯示 menuBar。
且不可以通過設(shè)置 menuBarData.menuBar 為false 來隱藏 menuBar。 |
一加 | YES | |
中興 | YES | |
努比亞 | YES | |
金立 | YES | 1070 版本默認隱藏,可設(shè)置menuBarData.menuBar 參數(shù)為true 來顯示 |
聯(lián)想 | YES | 1070 版本默認隱藏,可設(shè)置menuBarData.menuBar 參數(shù)為true 來顯示 |
魅族 | YES | 1070 版本默認隱藏,可設(shè)置menuBarData.menuBar 參數(shù)為true 來顯示 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: