支付寶小程序框架 app.json 全局配置

2020-09-18 10:15 更新

app.json 用于對(duì)小程序進(jìn)行全局配置,設(shè)置頁(yè)面文件的路徑、窗口表現(xiàn)、多 tab 等。

以下是一個(gè)基本配置示例:

{
  "pages": [
    "pages/index/index",
    "pages/logs/index"
  ],
  "window": {
    "defaultTitle": "Demo"
  }
}

完整配置項(xiàng)如下:

屬性 類型 是否必填 描述
pages Array 設(shè)置頁(yè)面路徑
window Object 設(shè)置默認(rèn)頁(yè)面的窗口表現(xiàn)
tabBar Object 設(shè)置底部 tabbar 的表現(xiàn)

pages

app.json 中的 pages 為數(shù)組屬性,數(shù)組中每一項(xiàng)都是字符串,用于指定小程序的頁(yè)面。在小程序中新增或刪除頁(yè)面,都需要對(duì) pages 數(shù)組進(jìn)行修改。

pages 數(shù)組的每一項(xiàng)代表對(duì)應(yīng)頁(yè)面的路徑信息,其中,第一項(xiàng)代表小程序的首頁(yè)。

頁(yè)面路徑不需要寫任何后綴,框架會(huì)自動(dòng)去加載同名的 .json、.js、.axml、.acss 文件。舉例來(lái)說(shuō),如果開(kāi)發(fā)目錄為:

├── pages
│   ├──index
│   │    ├── index.json
│   │    ├── index.js
│   │    ├── index.axml
│   │    └── index.acss
│   ├──logs
│   │    ├── logs.json
│   │    ├── logs.js
│   │    └── logs.axml
├── app.json
├── app.js
└── app.acss

app.json 中應(yīng)當(dāng)如下配置:

{
  "pages":[
    "pages/index/index",
    "pages/logs/logs"
  ]
}

window

window 用于設(shè)置小程序的狀態(tài)欄、導(dǎo)航條、標(biāo)題、窗口背景色等。

示例代碼:

{
  "window":{
    "defaultTitle": "支付寶接口功能演示"
  }
}
屬性 類型 是否必填 描述 最低版本
defaultTitle String 頁(yè)面默認(rèn)標(biāo)題。 -
pullRefresh Boolean 是否允許下拉刷新,默認(rèn) true說(shuō)明:下拉刷新生效的前提是 allowsBounceVertical 值為 YES。window 全局配置后全局生效,但是如果單個(gè)頁(yè)面配置了該參數(shù),以頁(yè)面的配置為準(zhǔn)。 -
allowsBounceVertical String 是否允許向下拉拽。默認(rèn) YES, 支持 YES / NO -
transparentTitle String 導(dǎo)航欄透明設(shè)置。默認(rèn) none,支持 always 一直透明 / auto 滑動(dòng)自適應(yīng) / none 不透明。 -
titlePenetrate String 是否允許導(dǎo)航欄點(diǎn)擊穿透。默認(rèn) NO,支持 YES / NO。 -
showTitleLoading String 是否進(jìn)入時(shí)顯示導(dǎo)航欄的 loading。默認(rèn) NO,支持 YES / NO -
titleImage String 導(dǎo)航欄圖片地址。 -
titleBarColor HexColor 導(dǎo)航欄背景色。例:白色 "#FFFFFF"。 -
backgroundColor HexColor 頁(yè)面的背景色。例:白色 "#FFFFFF"。 -
backgroundImageColor HexColor 下拉露出顯示背景圖的底色。例:白色 "#FFFFFF"。 -
backgroundImageUrl String 下拉露出顯示背景圖的鏈接。 -
gestureBack String 僅支持 iOS,是否支持手勢(shì)返回。默認(rèn) YES,支持 YES / NO。 -
enableScrollBar String 僅支持 Android,是否顯示 WebView滾動(dòng)條。默認(rèn) YES,支持 YES / NO -
onReachBottomDistance Number 頁(yè)面上拉觸底時(shí)觸發(fā)時(shí)距離頁(yè)面底部的距離,單位為 px,詳情請(qǐng)參見(jiàn) 頁(yè)面事件處理函數(shù)。 1.19.0 ,目前iOSpage.json下設(shè)置無(wú)效,只能全局設(shè)置。
responsive Boolean rpx 單位是否寬度自適應(yīng) ,默認(rèn)true,當(dāng)設(shè)置為 false 時(shí),2 rpx 將恒等于 1 px,不再根據(jù)屏幕寬度進(jìn)行自適應(yīng),注意,此時(shí) 750 rpx 將不再等于100% 寬度。 1.23.0

tabBar

如果開(kāi)發(fā)的小程序是一個(gè)多 tab 應(yīng)用(客戶端窗口的底部欄可以切換頁(yè)面),那么可以通過(guò) tabBar 配置項(xiàng)指定 tab 欄的表現(xiàn),以及 tab 切換時(shí)顯示的對(duì)應(yīng)頁(yè)面。

tabBar 配置項(xiàng)有以下:

屬性 類型 是否必填 描述
textColor HexColor 文字顏色
selectedColor HexColor 選中文字顏色
backgroundColor HexColor 背景色
items Array 每個(gè) tab 配置

每個(gè) item 配置:

屬性 類型 是否必填 描述
pagePath String 設(shè)置頁(yè)面路徑
name String 名稱
icon String 平常圖標(biāo)路徑(非選中狀態(tài))
activeIcon String 高亮圖標(biāo)路徑(選中狀態(tài))

icon 圖標(biāo)推薦大小為 60×60 px 大小,系統(tǒng)會(huì)對(duì)傳入的非推薦尺寸的圖片進(jìn)行非等比拉伸或縮放。

示例代碼:

{
  "tabBar": {
    "textColor": "#dddddd",
    "selectedColor": "#49a9ee",
    "backgroundColor": "#ffffff",
    "items": [
      {
        "pagePath": "pages/index/index",
        "name": "首頁(yè)"
      },
      {
        "pagePath": "pages/logs/logs",
        "name": "日志"
      }
    ]
  }
}

代碼中,開(kāi)發(fā)者可以通過(guò) my.setTabBarItem 動(dòng)態(tài)設(shè)置 tabBar 中指定 item 的內(nèi)容。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)