manifest.json文件中包含了應用描述、接口聲明、頁面路由信息
manifest
屬性 | 類型 | 默認值 | 必填 | 描述 |
---|---|---|---|---|
package | String | - | 是 | 應用包名,確認與原生應用的包名不一致, 推薦採用com.company.module的格式, 如:com.example.demo |
name | String | - | 是 | 應用名稱,6個漢字以內, 與應用商店保存的名稱一致,用於 在桌面圖標、彈窗等處顯示應用名稱 |
icon | String | - | 是 | 應用圖標,提供192x192大小的即可 |
versionName | String | - | 否 | 應用版本名稱,如:“1.0” |
versionCode | Integer | - | 是 | 應用版本號,從1自增,推薦每次 重新上傳包時versionCode+1 |
minPlatformVersion | Integer | 1000 | 是 | 支持的最小平臺版本號,原理同 Android API Level,兼容性檢查, 避免上線後在低版本平臺運行並導致不兼容 |
features | Array | - | 否 | 接口列表,絕大部分接口都需要在這裏聲明, 否則不能調用,詳見每個接口的文檔說明 |
config | Object | - | 是 | 系統配置信息,詳見下面說明 |
router | Object | - | 是 | 路由信息,詳見下面說明 |
display | Object | - | 否 | UI顯示相關配置,詳見下面說明 |
config
用於定義系統配置和全局數據。
屬性 | 類型 | 默認值 | 描述 |
---|---|---|---|
logLevel | String | log | 打印日誌等級,分爲off,error,warn,info,log,debug |
designWidth | Integer | 750 | 頁面設計基準寬度,根據實際設備寬度來縮放元素大小 |
data | Object | - | 全局數據對象,屬性名不能以$或_開頭,在頁面中可 通過this進行訪問;如果全局數據屬性與頁面中data屬性 重名,則頁面初始化時,全局數據會覆蓋頁面中對應的屬性值 |
router
用於定義頁面的組成和相關配置信息,如果頁面沒有配置路由信息,則在編譯打包時跳過。
屬性 | 類型 | 默認值 | 描述 |
---|---|---|---|
entry | String | - | 首頁名稱 |
pages | Object | - | 頁面配置列表,key值爲頁面名稱(對應頁面目錄名, 例如Demo對應’Demo’目錄),value爲頁面詳細配置page, 詳見下面說明 |
router.page
用於定義單個頁面路由信息。
屬性 | 類型 | 默認值 | 必填 | 描述 |
---|---|---|---|---|
component | String | - | 是 | 頁面對應的組件名,與ux文件名保持一致, 例如’index’ 對應 ‘index.ux’ |
path | String | /<頁面名稱> | 否 | 頁面路徑,例如“/user”, 不填則默認爲/<頁面名稱>。path必須唯一, 不能和其他page的path相同。 當page的path缺失,path會被設置爲“/Index” |
filter | Object | - | 否 | 聲明頁面可以處理某種請求 |
router.page.filter
聲明頁面可以處理某種請求,頁面可以從$page獲取打開頁面的參數,參見script腳本。filter的結構如下:
屬性 | 類型 | 默認值 | 必填 | 描述 |
---|---|---|---|---|
action | String | - | 是 | 請求的動作,目前僅支持view這一種 |
uri | Pattern | - | 是 | 請求的數據的匹配規則。必須是正則表達式。 如https?😕/.*可以匹配所有http和https類型的網址 |
display
用於定義與UI顯示相關的配置。
屬性 | 類型 | 默認值 | 描述 |
---|---|---|---|
backgroundColor | String | #ffffff | 窗口背景顏色 |
fullScreen | Boolean | false | 是否是全屏模式,默認不會 同時作用於titleBar,titleBar需要 繼續通過titleBar控制 |
titleBar | Boolean | true | 是否顯示titleBar |
titleBarBackgroundColor | String | - | 標題欄背景色 |
titleBarTextColor | String | - | 標題欄文字顏色 |
titleBarText | String | - | 標題欄文字(也可通過頁面 跳轉傳遞參數(titleBarText)設置) |
menu | Boolean | false | 是否顯示標題欄右上角菜單按鈕 |
pages | Object | - | 各個頁面的顯示樣式, key爲頁面名(與路由中的頁面名 保持一致),value爲窗口顯示樣式, 頁面樣式覆蓋default樣式。 |
實例
{
"package": "com.application.demo",
"name": "myQuickapp",
"versionName": "1.0.0",
"versionCode": "1",
"minPlatformVersion": "101",
"icon": "/Common/logo.png",
"features": [
{ "name": "system.prompt" },
{ "name": "system.router" },
{ "name": "system.shortcut" }
],
"permissions": [
{ "origin": "*" }
],
"config": {
"logLevel": "debug"
},
"router": {
"entry": "Demo",
"pages": {
"Demo": {
"component": "index"
},
"DemoDetail": {
"component": "index"
},
"About": {
"component": "index"
}
}
},
"display": {
"titleBarBackgroundColor": "#f2f2f2",
"titleBarTextColor": "#414141",
"menu": true,
"pages": {
"Demo": {
"titleBarText": "示例頁",
"menu": false
},
"DemoDetail": {
"titleBarText": "詳情頁"
},
"About": {
"menu": false
}
}
}
}