日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)百度小程序教程:配置app.json文件
  • 配置 app.json 文件
    • app.json 配置項列表
  • pages
    • 代碼示例
  • window
    • navigationStyle 配置
    • 代碼示例 1
    • 代碼示例 2:適配各種移動機(jī)型(包含 iPad 等設(shè)備)
    • 代碼示例 3:錯誤寫法
  • tabBar
    • 代碼示例
    • 自定義 tabbar
  • requiredBackgroundModes
    • 代碼示例:audio 后臺音樂播放
  • networkTimeout
    • 代碼示例
  • permission
    • PermissionObject 結(jié)構(gòu)
    • 代碼示例
  • routes
    • 代碼示例

    配置 app.json 文件

    可以通過配置 app.json 文件,設(shè)置 SWAN 的界面、路徑、多 TAB 等。

    創(chuàng)新互聯(lián)專注于網(wǎng)站建設(shè)|成都網(wǎng)站維護(hù)公司|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計與制作經(jīng)驗,為許多企業(yè)提供了網(wǎng)站定制設(shè)計服務(wù),案例作品覆蓋成都柔性防護(hù)網(wǎng)等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結(jié)合品牌形象的塑造,量身開發(fā)品質(zhì)網(wǎng)站。

    app.json 配置項列表

    屬性 類型 必填 描述
    pagesArray.設(shè)置頁面路徑
    windowObject設(shè)置頁面展現(xiàn)
    preloadRuleObject分包預(yù)下載規(guī)則
    tabBarObject底部 tab 欄的表現(xiàn)
    requiredBackgroundModesArray.需要在后臺使用的能力,如「音樂播放」
    subPackagesArray.分包結(jié)構(gòu)配置
    networkTimeoutObject網(wǎng)絡(luò)超時
    permissionObject小程序接口權(quán)限相關(guān)設(shè)置
    routesArray.小程序自定義路由相關(guān)設(shè)置
    dynamicLibObject引入動態(tài)庫,詳情請參考使用動態(tài)庫

    代碼示例

    在開發(fā)者工具中打開

    在開發(fā)者工具中打開

    在 WEB IDE 中打開

    • JSON
     
     
     
    1. {
    2. "pages": [
    3. "component/component",
    4. "api/api"
    5. ],
    6. "subPackages": [
    7. {
    8. "root": "subpackage",
    9. "pages": [
    10. "pages/subpageone/subpageone",
    11. "pages/subpagetwo/subpagetwo"
    12. ]
    13. }
    14. ],
    15. "window": {
    16. "navigationBarTitleText": "Demo",
    17. "navigationBarBackgroundColor": "#000000",
    18. "navigationBarTextStyle": "white",
    19. "navigationStyle": "default",
    20. "backgroundColor": "#ffffff",
    21. "backgroundTextStyle": "dark",
    22. "enablePullDownRefresh": "true",
    23. "onReachBottomDistance":"50"
    24. },
    25. "preloadRule": {
    26. "pages/index": {
    27. "network": "all",
    28. "packages": ["subpackage"]
    29. }
    30. },
    31. "tabBar": {
    32. "list": [
    33. {
    34. "pagePath": "component/component",
    35. "text": "首頁",
    36. "iconPath": "/images/API_normal.png",
    37. "selectedIconPath": "/images/API_selected.png"
    38. },
    39. {
    40. "pagePath": "api/api",
    41. "text": "詳情",
    42. "iconPath": "/images/component_normal.png",
    43. "selectedIconPath": "/images/component_selected.png"
    44. }
    45. ],
    46. "backgroundColor" : "#ffffff",
    47. "borderStyle": "white",
    48. "color": "#000",
    49. "selectedColor": "#6495ED"
    50. },
    51. "requiredBackgroundModes": ["audio"],
    52. "networkTimeout": {
    53. "request": 30000,
    54. "connectSocket": 10000,
    55. "uploadFile": 10000,
    56. "downloadFile": 10000
    57. },
    58. "permission": {
    59. "scope.userLocation": {
    60. // 高速公路行駛持續(xù)后臺定位
    61. "desc": "你的位置信息將用于小程序位置接口的效果展示"
    62. }
    63. }
    64. }

    pages

    pages 接受一個數(shù)組,每一項都是一個字符串,指定 SWAN App 都有哪些頁面。每一項代表頁面的 [路徑 + 文件名] ,默認(rèn)第一項為 SWAN App 首頁。

    SWAN 中新增或減少頁面的話,需要在 pages 中進(jìn)行配置。

    配置項中不需要加文件后綴名, SWAN 會自動解析。

    如,開發(fā)目錄為:

     
     
     
    1. ├── app.js
    2. ├── app.json
    3. ├── app.css
    4. ├── project.swan.json
    5. └── pages
    6. └── index
    7. ├── index.swan
    8. ├── index.css
    9. ├── index.js
    10. └── index.json
    11. └── detail
    12. ├── detail.swan
    13. ├── detail.css
    14. ├── detail.js
    15. └── detail.json

    則需要在 app.json 中書寫

    代碼示例

    • JSON
     
     
     
    1. {
    2. "pages":[
    3. "pages/index/index",
    4. "pages/detail/detail"
    5. ]
    6. }

    提示

    • 開發(fā)者工具在 app.json 的 pages 中填寫頁面路徑可自動生成文件夾。

    window

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

    屬性 類型 默認(rèn)值 描述 最低版本
    navigationBarBackgroundColorHexColor#000000導(dǎo)航欄背景顏色,如 “#000000”
    navigationBarTextStyleStringwhite導(dǎo)航欄標(biāo)題顏色,目前有效值 black/white
    navigationBarTitleTextString導(dǎo)航欄標(biāo)題文字內(nèi)容
    navigationStyleStringdefault導(dǎo)航欄樣式,有效值:default(默認(rèn)樣式) custom(自定義導(dǎo)航欄),只保留右上角膠囊按鈕2.10.34
    backgroundColorHexColor#ffffff背景顏色
    backgroundTextStyleStringdark下拉背景字體、loading 圖的樣式,有效值 dark/light
    backgroundColorTopHexColor#ffffff頂部窗口的背景色,僅 iOS 支持
    backgroundColorBottomHexColor#ffffff底部窗口的背景色,僅 iOS 支持
    enablePullDownRefreshBooleanfalse是否開啟下拉刷新
    onReachBottomDistanceNumber50頁面上拉觸底事件觸發(fā)時距頁面底部距離(單位:px
    textSizeAdjustStringauto小程序頁面是否禁止響應(yīng)字體大小的設(shè)置,有效值:auto(默認(rèn)響應(yīng))、none(不響應(yīng))基礎(chǔ)庫版本 3.200.1

    注意

    • navigationStyle 全局配置AndroidiOS從基礎(chǔ)庫版本 2.10.34 開始支持, 但子頁面配置支持情況Android從基礎(chǔ)庫版本 2.10.34 開始支持,iOS從基礎(chǔ)庫 3.0.39 開始支持, 做低版本兼容時,通過 swan.getSystemInfo 或者 swan.getSystemInfoSync 獲取百度 APP 版本號進(jìn)行兼容判斷,具體見下表;
    • 無其它特殊說明,請使用 SWAN 基礎(chǔ)庫版本進(jìn)行兼容判斷。

    navigationStyle 配置

    頂 bar 設(shè)置 iOS Android WebView 組件頁面 備注
    百度 APP 定義的頂 bar無版本限制無版本限制無版本限制
    頂 bar 全局透明設(shè)置基礎(chǔ)庫版本 2.10.34基礎(chǔ)庫版本 2.10.34不生效
    頂 bar 子頁面透明設(shè)置基礎(chǔ)庫版本 2.10.34基礎(chǔ)庫版本 2.10.34不生效每個 page 的 json 文件可以單獨配置 navigationStyle

    適配提示

    原生頂bar高度=狀態(tài)欄高度(statusBarHeight)+頂部導(dǎo)航欄高度(navigationBarHeight);可通過 swan.getSystemInfo 或者 swan.getSystemInfoSync 獲取。

    代碼示例 1

    • JSON
     
     
     
    1. {
    2. "window": {
    3. "navigationBarBackgroundColor": "#ffffff",
    4. "navigationBarTextStyle": "black",
    5. "navigationBarTitleText": "swan接口功能演示",
    6. "backgroundColor": "#eeeeee",
    7. "backgroundTextStyle": "light"
    8. }
    9. }

    代碼示例 2:適配各種移動機(jī)型(包含 iPad 等設(shè)備)

    在開發(fā)者工具中打開

    在開發(fā)者工具中打開

    在 WEB IDE 中打開

    • SWAN
    • JS
     
     
     
    1. {{navTitle}}
     
     
     
    1. Component({
    2. properties: {
    3. statusHeight: {
    4. type: Number,
    5. value: 0
    6. },
    7. navHeight: {
    8. type: Number,
    9. value: 0
    10. },
    11. navTitle: {
    12. type: String,
    13. value: ''
    14. },
    15. backIcon: {
    16. type: String,
    17. value: ''
    18. },
    19. homeIcon: {
    20. type: String,
    21. value: ''
    22. }
    23. },
    24. // 私有數(shù)據(jù),可用于模版渲染
    25. data: {
    26. },
    27. created: function () {
    28. },
    29. // 生命周期函數(shù),可以為函數(shù),或一個在methods段中定義的方法名
    30. attached: function () {
    31. this.getHeightInfo()
    32. },
    33. detached: function () { },
    34. methods: {
    35. getHeightInfo() {
    36. swan.getSystemInfo({
    37. success: res => {
    38. this.setData({
    39. // 狀態(tài)欄高度
    40. statusHeight: res.statusBarHeight,
    41. // 導(dǎo)航欄高度
    42. navHeight: res.navigationBarHeight
    43. })
    44. }
    45. })
    46. },
    47. goBack() {
    48. this.triggerEvent('goBack', { back: '您點擊了返回' })
    49. },
    50. goHome() {
    51. this.triggerEvent('goHome', { home: '您點擊了返回首頁' })
    52. },
    53. }
    54. });

    代碼示例 3:錯誤寫法

    json 文件看起來同 JavaScript 的對象表達(dá)方式十分相似,但是有所不同。

    json 的 Key 必須包裹在一個雙引號中,在實踐中,編寫 JSON 的時候,忘了給 Key 值加雙引號或者是把雙引號寫成單引號是常見錯誤。

    • JSON
     
     
     
    1. {
    2. "window": {
    3. "navigationBarBackgroundColor": "#ffffff",
    4. "navigationBarTextStyle": "black",
    5. "navigationBarTitleText": "swan接口功能演示",
    6. "backgroundColor": "#eeeeee",
    7. "backgroundTextStyle": "light"
    8. }
    9. }

    tabBar

    用于設(shè)置客戶端底部的 tab 欄:可通過 tabBar 設(shè)置 tab 的顏色、個數(shù)、位置、背景色等內(nèi)容。

    屬性 類型 必填 描述
    backgroundColorHexColortab 的背景色
    borderStyleStringtabBar 邊框顏色。有效值 black/white 兩種邊框顏色,默認(rèn)值為 black
    colorHexColortab 上文字的默認(rèn)顏色
    listArraytab 的列表,列表個數(shù) 2~5 個。
    list 接受一個數(shù)組,tab 按數(shù)組的順序排序,每個項都是一個對象,其屬性值如下:
    - pagePath:已在 pages 中定義的頁面路徑;類型:String;必填項。
    - text:tab 上顯示的文字信息;類型:String;必填項。
    - iconPath:圖片路徑,icon 大小限制為 40kb,建議尺寸為 78px*78px,不支持網(wǎng)絡(luò)圖片;類型:String;非必填項。
    - selectedIconPath:選中時的圖片路徑,icon 規(guī)格同上;類型:String;非必填項
    selectedColorHexColortab 上的文字選中時的顏色

    代碼示例

    在開發(fā)者工具中打開

    在開發(fā)者工具中打開

    在 WEB IDE 中打開

    • JSON
     
     
     
    1. {
    2. "tabBar": {
    3. "list": [
    4. {
    5. "pagePath": "pages/index/index",
    6. "text": "首頁",
    7. "iconPath":"/images/API_normal.png",
    8. "selectedIconPath":"/images/API_selected.png"
    9. },
    10. {
    11. "pagePath": "pages/detail/detail",
    12. "text": "詳情",
    13. "iconPath":"/images/component_normal.png",
    14. "selectedIconPath":"/images/component_selected.png"
    15. }
    16. ],
    17. "backgroundColor" : "#ffffff",
    18. "borderStyle": "white",
    19. "color": "#000",
    20. "selectedColor": "#6495ED"
    21. }
    22. }

    自定義 tabbar

    代碼示例

    在開發(fā)者工具中打開

    在開發(fā)者工具中打開

    在 WEB IDE 中打開

    • SWAN
    • JS
     
     
     
    1. 首頁
    2. 小視頻
    3. 個人中心
     
     
     
    1. Page({
    2. data: {
    3. color: 'firstTab',
    4. isActive: 'index1',
    5. isActive2: 'index2',
    6. isActive3: 'index3',
    7. isActive4: 'index4'
    8. },
    9. setTabBarStyle(e) {
    10. this.setData('isActive4', e.currentTarget.dataset.index);
    11. e.currentTarget.dataset.index === 'index4'
    12. ? this.setData({
    13. 'color': 'firstTab'
    14. })
    15. : '';
    16. console.log(this.data.color);
    17. e.currentTarget.dataset.index === 'tinyVideo4'
    18. ? this.setData({
    19. 'color': 'secondTab'
    20. })
    21. : '';
    22. e.currentTarget.dataset.index === 'centre4'
    23. ? this.setData({
    24. 'color': 'thirdTab'
    25. })
    26. : '';
    27. }
    28. });

    requiredBackgroundModes

    基礎(chǔ)庫 3.50.36 及以上版本支持

    申明需要后臺運行的能力,類型為數(shù)組。

    代碼示例:audio 后臺音樂播放

    • JSON
     
     
     
    1. {
    2. "pages": ["pages/index/index"],
    3. "requiredBackgroundModes": ["audio"]
    4. }

    注:在此處申明了后臺運行的接口,開發(fā)版和體驗版上可以直接生效,正式版還需通過審核。

    networkTimeout

    各類網(wǎng)絡(luò)請求的超時時間。

    屬性 類型 必填 默認(rèn)值 說明
    requestNumber60000swan.request 的超時時間(單位:毫秒)。
    connectSocketNumber60000swan.connectSocket 的超時時間(單位:毫秒)。
    uploadFileNumber60000swan.uploadFile 的超時時間(單位:毫秒)。
    downloadFileNumber60000swan.downloadFile 的超時時間(單位:毫秒)。

    代碼示例

    • JSON
     
     
     
    1. "networkTimeout": {
    2. "request": 30000,
    3. "connectSocket": 10000,
    4. "uploadFile": 10000,
    5. "downloadFile": 10000
    6. }

    permission

    小程序接口權(quán)限相關(guān)設(shè)置。

    屬性 類型 必填 默認(rèn)值 說明
    scope.userLocationPermissionObject位置相關(guān)權(quán)限聲明

    PermissionObject 結(jié)構(gòu)

    屬性 類型 必填 默認(rèn)值 說明
    descString小程序獲取權(quán)限時展示的接口用途說明。最長 30 個字符

    代碼示例

    • JSON
     
     
     
    1. "permission": {
    2. "scope.userLocation": {
    3. // 高速公路行駛持續(xù)后臺定位
    4. "desc": "你的位置信息將用于小程序位置接口的效果展示"
    5. }
    6. }

    routes

    基礎(chǔ)庫 3.160.3 及以上版本支持

    更多詳見自定義路由

    routes 為一個數(shù)組,數(shù)組中每一項代表一組路由規(guī)則,具體包含字段為:

    屬性 類型 必填 描述 示例
    pathString訪問路徑“home”
    pageString頁面源碼文件路徑,從小程序包根目錄開始的文件路徑“pages/home/index”

    代碼示例

    • JSON
     
     
     
    1. // app.json
    2. {
    3. "pages": [
    4. "pages/home/home",
    5. "pages/list/list",
    6. "pages/detail/detail"
    7. ],
    8. "subPackage": [
    9. {
    10. "root": "packageA",
    11. "pages": [
    12. "pages/home/home",
    13. "pages/list/list",
    14. "pages/detail/detail"
    15. ]
    16. }
    17. ],
    18. "routes": [
    19. {
    20. // 投放入口,scheme中的path
    21. "path": "home",
    22. // 真實的物理存儲路徑
    23. "page": "pages/home/home"
    24. },
    25. {
    26. "path": "list",
    27. "page": "pages/list/list"
    28. },
    29. {
    30. "path": "foo/bar",
    31. "page": "pages/list/list"
    32. }
    33. ]
    34. }

    分享標(biāo)題:創(chuàng)新互聯(lián)百度小程序教程:配置app.json文件
    分享鏈接:http://www.dlmjj.cn/article/cdiejje.html