app.json
文件用来对小程序进行全局配置。文件内容为一个 JSON 对象,有以下属性:属性 | 类型 | 必填 | 描述 |
string | 否 | 小程序默认启动首页 | |
string[] | 是 | 页面路径列表 | |
Object | 否 | 全局的默认窗口表现 | |
Object | 否 | 底部 tab 栏的表现 | |
boolean | 否 | 是否开启 debug 模式,默认关闭 | |
Object[] | 否 | 分包结构配置 | |
string | 否 | Worker 代码放置的目录 | |
string[] | 否 | ||
Object | 否 | 分包预下载规则 | |
Object | 否 | ||
Object | 否 | 小程序接口权限相关设置 | |
boolean | 否 | 小程序支持 DarkMode | |
string | 否 |
{"entryPagePath": "pages/index/index"}
├── app.js├── app.json├── app.wxss├── pages│ │── index│ │ ├── index.wxml│ │ ├── index.js│ │ ├── index.json│ │ └── index.wxss│ └── logs│ ├── logs.wxml│ └── logs.js└── utils
{"pages": ["pages/index/index", "pages/logs/logs"]}
属性 | 类型 | 默认值 | 描述 |
navigationBarBackgroundColor | HexColor | #000000 | 导航栏背景颜色,如 #000000 |
navigationBarTextStyle | string | white | 导航栏标题、状态栏颜色,仅支持 black / white |
navigationBarTitleText | string | - | 导航栏标题文字内容 |
navigationStyle | string | default | 导航栏样式,仅支持以下值: default 默认样式 custom 自定义导航栏,只保留右上角胶囊按钮 hide 自定义导航栏,可以支持隐私导航栏和胶囊按钮。
参见表格后紧接的注 2。 |
backgroundColor | HexColor | #ffffff | 窗口的背景色 |
backgroundTextStyle | string | dark | 下拉 loading 的样式,仅支持 dark / light |
backgroundColorTop | string | #ffffff | 顶部窗口的背景色,仅 iOS 支持 |
backgroundColorBottom | string | #ffffff | 底部窗口的背景色,仅 iOS 支持 |
enablePullDownRefresh | boolean | false | |
onReachBottomDistance | number | 50 | |
customNavigateBack | Boolean | false | 是否需要拦截页面的默认返回(单击 tabBar 返回或侧滑或 back 键返回)结合Page.onCustomBack 使用 |
pageOrientation | string | portrait |
navigationStyle
navigationStyle
只在 app.json 中生效。navigationStyle
: custom 对 web-view 组件无效属性 | 类型 | 必填 | 默认值 | 描述 |
color | HexColor | 是 | - | tab 上的文字默认颜色,仅支持十六进制颜色 |
selectedColor | HexColor | 是 | - | tab 上的文字选中时的颜色,仅支持十六进制颜色 |
backgroundColor | HexColor | 是 | - | tab 的背景色,仅支持十六进制颜色 |
borderStyle | string | 否 | black | tabbar 上边框的颜色, 仅支持 black / white |
list | Array | 是 | - | tab 的列表,详见 list 属性说明,最少 2 个、最多 5 个 tab |
position | string | 否 | bottom | tabBar 的位置,仅支持 bottom / top |
custom | boolean | 否 | false |
属性 | 类型 | 必填 | 说明 |
pagePath | string | 是 | 页面路径,必须在 pages 中先定义 |
text | string | 是 | tab 上按钮文字 |
iconPath | string | 否 | 图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。
当 position 为 top 时,不显示 icon。 |
selectedIconPath | string | 否 | 选中时的图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。
当 position 为 top 时,不显示 icon。 |
debug
模式,在开发者工具的控制台面板,调试信息以 info
的形式给出,其信息有 Page 的注册,页面路由,数据更新,事件触发等。可以帮助开发者快速定位一些常见的问题。app.json
中声明的自定义组件视为全局自定义组件,在小程序内的页面或自定义组件中可以直接使用而无需再声明。建议仅在此声明几乎所有页面都会用到的自定义组件。Object
,结构为:属性 | 类型 | 必填 | 默认值 | 描述 |
scope.userLocation | PermissionObject | 否 | - | 位置相关权限声明 |
属性 | 类型 | 必填 | 默认值 | 说明 |
desc | string | 是 | - | 小程序获取权限时展示的接口中文用途说明。最长80个字符 |
desc-en | string | 否 | - | 小程序获取权限时展示的接口英文用途说明。最长80个字符 |
desc-adesc-ar | string | 否 | - | 小程序获取权限时展示的接口阿语用途说明。最长80个字符 |
{"pages": ["pages/index/index"],"permission": {"scope.userLocation": {"desc": "你的位置信息将用于小程序位置接口的效果展示" // 高速公路行驶持续后台定位}}}
scope | 对应接口 | 描述 |
scope.userinfo | wx.getUserInfo | 用户信息 |
scope.userLocation | wx.getLocation | 获取地理位置信息 |
scope.userFuzzyLocation | wx.getFuzzyLocation | 获取模糊地理位置信息 |
scope.record | live-pusher 组件 or wx.startRecord | 直播或者录音 |
scope.camera | camera 组件 | 相机组件 |
scope.addPhoneCalendar | wx.addPhoneCalendar | 添加日志 |
scope.writePhotosAlbum | wx.saveImageToPhotosAlbum | 保存图片到相册 |
scope.bluetooth | wx.openBluetoothAdapter | 蓝牙 |
"darkmode": true
表示当前小程序可适配 DarkMode,所有基础组件均会根据系统主题展示不同的默认样式,navigation bar 和 tab bar 也会根据开发者的配置自动切换。{"darkmode": true}
{"pages": ["pages/index/index", "pages/logs/index"],"window": {"navigationBarTitleText": "Demo"},"tabBar": {"list": [{"pagePath": "pages/index/index","text": "首页"},{"pagePath": "pages/logs/logs","text": "日志"}]},"debug": true}
本页内容是否解决了您的问题?