全局配置

配置 app.json 文件

可以通过配置 app.json 文件,设置 SWAN 的界面、路径、多 TAB 等。

app.json 配置项列表如下

属性类型必填描述
pagesString Array设置页面路径
windowObject设置页面展现
preloadRuleObject分包预下载规则
tabBarObject底部 tab 栏的表现
subpackagesObject Array分包结构配置

示例:



  1. {
    "pages": [
    "pages/index/index",
    "pages/detail/detail"
    ],
    "window": {
    "navigationBarTitleText": "Demo"
    },
    "tabBar": {
    "list": [{
    "pagePath": "pages/index/index",
    "text": "首页"
    }, {
    "pagePath": "pages/detail/detail",
    "text": "详情"
    }]
    }
    }


pages

pages 接受一个数组,每一项都是一个字符串,指定 SWAN App 都有哪些页面。每一项代表页面的 [路径 + 文件名],数组第一项代表 SWAN 初始页面。

SWAN 中新增或减少页面的话,需要在 pages 中进行配置。

配置项中不需要加文件后缀名, SWAN 会自动解析。

如,开发目录为:

  1. ├── app.js
    ├── app.json
    ├── app.css
    ├── project.config.json
    └── pages
    └── index
    ├── index.swan
    ├── index.css
    ├── index.js
    └── index.json
    └── detail
    ├── detail.swan
    ├── detail.css
    ├── detail.js
    └── detail.json

则需要在 app.json 中书写

  1. {
    "pages":[
    "pages/index/index",
    "pages/detail/detail"
    ]
    }

window

用于设置 SWAN 的状态栏、导航条、标题、窗口背景色。

属性类型默认值描述最低版本
navigationBarBackgroundColorHexColor#000000导航栏背景颜色,如 “#000000”-
navigationBarTextStyleStringwhite导航栏标题颜色,目前仅支持 black/white-
navigationBarTitleTextString-导航栏标题文字内容-
navigationStyleStringdefault导航栏样式,仅支持以下值:default(默认样式) custom(自定义导航栏),只保留右上角胶囊按钮百度 App版本11.1.0
backgroundColorHexColor#ffffff背景颜色-
backgroundTextStyleStringdark下拉背景字体、loading 图的样式,仅支持 dark/light-
enablePullDownRefreshBooleanfalse是否开启下拉刷新-
onReachBottomDistanceNumber50页面上拉触底事件触发时距页面底部距离,单位为 px-

注意

  • navigationStyle 全局配置AndroidiOS从百度 App版本 11.1.0 开始支持, 但子页面配置支持情况Android百度 App版本11.1开始支持,iOS百度 App版本11.2开始支持, 做低版本兼容时,通过 swan.getSystemInfo 或者 swan.getSystemInfoSync 获取百度 App 版本号进行兼容判断,具体见下表;
  • 无其它特殊说明,请使用canIUse或者SWAN基础库版本进行兼容判断。
    navigationStyle配置
顶bar设置iOSAndroidWebView组件页面备注
百度 App定义的顶bar无版本限制无版本限制无版本限制-
顶bar全局透明设置百度 App版本>=11.1百度 App版本>=11.1不生效-
顶bar子页面透明设置百度 App版本>=11.2百度 App版本>=11.1不生效每个page的json文件可以单独配置navigationStyle

适配提示

原生顶bar高度=状态栏高度(通过 swan.getSystemInfo 或者 swan.getSystemInfoSync 获取)+action高度(iOS 为 44px,Android 为 38px)

示例:
  1. {
    "window":{
    "navigationBarBackgroundColor": "#ffffff",
    "navigationBarTextStyle": "black",
    "navigationBarTitleText": "swan接口功能演示",
    "backgroundColor": "#eeeeee",
    "backgroundTextStyle": "light"
    }
    }

tabBar

用于设置客户端底部的 tab 栏:可通过 tabBar 设置 tab 的颜色、个数、位置、背景色等内容。

属性类型必填描述
backgroundColorHexColortab 的背景色。
borderStyleStringtabBar 边框颜色。仅支持 black/white 两种边框颜色,默认值为 black 。
colorHexColortab 上文字的默认颜色。
listArraytab 的列表,列表个数 2~5 个。 list 接受一个数组,tab 按数组的顺序排序,每个项都是一个对象,其属性值如下:- pagePath:已在 pages 中定义的页面路径;类型:String;必填项。- text:tab上显示的文字信息;类型:String;必填项。- iconPath:图片路径,icon 大小限制为 40kb,建议尺寸为 78px*78px,不支持网络图片;类型:String;非必填项。- selectedIconPath:选中时的图片路径,icon 规格同上;类型:String;非必填项。- 当 position 为 top 时,不显示 icon 。
selectedColorHexColortab 上的文字选中时的颜色。

配置 app.js 文件

app.js 中存放全局的 JavaScript 逻辑。

示例:
  1. App({
    onLaunch: function () {
    console.log('SWAN launch');
    },
    onShow: function () {
    console.log('SWAN展现');
    },
    onHide: function () {
    console.log('SWAN当前处于后台');
    },
    onError: function () {
    console.log('SWAN发生错误');
    },
    globalData: 'SWAN'
    });

安装开发者工具页面开发