tencent cloud

腾讯云超级应用服务

动态与公告
【2025年1月2日】关于腾讯云小程序平台更名为腾讯云超级应用服务的公告
控制台更新动态
Android SDK 更新动态
iOS SDK 更新动态
Flutter 更新动态
IDE 更新动态
基础库更新动态
产品简介
产品概述
产品优势
应用场景
购买指南
计费概述
按量计费(后付费)
续费指引
停服说明
快速入门
套餐管理
概述
控制台账号管理
存储配置
加速配置
品牌化配置
平台功能
控制台登录
用户和权限体系
小程序管理
小游戏管理
应用管理
商业化
平台管理
用户管理
团队管理
运营管理
安全中心
代码接入指引
Demo 及 SDK 获取
Android
iOS
Flutter
App 服务端接入指南
GUID 生成规则
小程序开发指南
小程序介绍与开发环境
小程序代码组成
指南
框架
组件
API
服务端
JS SDK
基础库
IDE 使用指南
小游戏开发指南
指南
API
服务端
实践教程
小程序登录实践教程
小程序订阅消息实践教程
支付相关实践教程
广告接入实践教程
小游戏订阅消息实践教程
相关协议
数据处理和安全协议

全局配置

PDF
聚焦模式
字号
最后更新时间: 2025-12-31 18:52:33
小程序根目录下的app.json文件用来对小程序进行全局配置。文件内容为一个 JSON 对象,有以下属性:

配置项

属性
类型
必填
描述
string
小程序默认启动首页
pages
string[]
页面路径列表
window
Object
全局的默认窗口表现
tabBar
Object
底部 tab 栏的表现
debug
boolean
是否开启 debug 模式,默认关闭
Object[]
分包结构配置
workers
string
Worker 代码放置的目录
string[]
需要跳转的小程序列表,详见 wx.navigateToMiniProgram
Object
分包预下载规则
Object
全局 自定义组件 配置
Object
小程序接口权限相关设置
darkmode
boolean
小程序支持 DarkMode
string
指明 theme.json 的位置,darkmode 为 true 为必填
boolean
是否禁用侧滑关闭小程序的手势,默认为 false
string
用于 API(例如:wx.login)版本控制,未配置时默认调用最新版本

entryPagePath

指定小程序的默认启动路径(首页)。如果不填,将默认为 pages 列表的第一项。不支持带页面路径参数。
{
"entryPagePath": "pages/index/index"
}

pages

用于指定小程序由哪些页面组成,每一项都对应一个页面的 路径(含文件名) 信息。文件名不需要写文件后缀,框架会自动去寻找对应位置的 .json,.js,.wxml,.wxss 四个文件进行处理。
未指定 entryPagePath 时,数组的第一项代表小程序的初始页面(首页)。
小程序中新增/减少页面,都需要对 pages 数组进行修改。
如开发目录为:
├── app.js
├── app.json
├── app.wxss
├── pages
│ │── index
│ │ ├── index.wxml
│ │ ├── index.js
│ │ ├── index.json
│ │ └── index.wxss
│ └── logs
│ ├── logs.wxml
│ └── logs.js
└── utils
则需要在 app.json 中写:
{
"pages": ["pages/index/index", "pages/logs/logs"]
}

window

用于设置小程序的状态栏、导航条、标题、窗口背景色。
属性
类型
默认值
描述
navigationBarBackgroundColor
HexColor
#000000
导航栏背景颜色,如 #000000
navigationBarTextStyle
string
white
导航栏标题、状态栏颜色,仅支持 black / white
navigationBarTitleText
string
-
导航栏标题文字内容
navigationStyle
string
default
导航栏样式,仅支持以下值:
default 默认样式,包含原生导航栏和胶囊按钮。
custom 自定义导航栏,只保留右上角胶囊按钮。web-view 所在页面中不生效。
hide 隐藏导航栏和胶囊按钮。web-view 所在页面中只隐藏胶囊按钮。
customV2自定义导航栏,只保留右上角胶囊按钮。
hideV2隐藏导航栏和胶囊按钮。
参见表格后紧接的注 2、注3。
backgroundColor
HexColor
#ffffff
窗口的背景色
backgroundTextStyle
string
dark
下拉 loading 的样式,仅支持 dark / light
backgroundColorTop
string
#ffffff
顶部窗口的背景色,仅 iOS 支持
backgroundColorBottom
string
#ffffff
底部窗口的背景色,仅 iOS 支持
enablePullDownRefresh
boolean
false
是否开启全局的下拉刷新。 详见 Page.onPullDownRefresh
onReachBottomDistance
number
50
页面上拉触底事件触发时距页面底部距离,单位为 px。 详见 Page.onReachBottom
customNavigateBack
Boolean
false
是否需要拦截页面的默认返回(单击 tabBar 返回或侧滑或 back 键返回)结合Page.onCustomBack 使用
pageOrientation
string
portrait
屏幕旋转设置,支持 auto / portrait / landscape
注 1:HexColor(十六进制颜色值),如"#ff00ff"
注 2:navigationStyle有效值中 customV2 hideV2 最低版本要求如下:
IDE
基础库
iOS SDK
Android SDK
2.2.611
2.2.6
2.2.6
2.2.6
注3:navigationStyle取值及展示情况如下:
navigationStyle
普通页面
web-view所在页面
default




custom



hide




customV2




hideV2






tabBar

如果小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。
属性
类型
必填
默认值
描述
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
自定义 tabBar,详情请参见 自定义 tabBar
其中 list 接受一个数组,只能配置最少2个、最多5个 tab。tab 按数组的顺序排序,每个项都是一个对象,其属性值如下:
属性
类型
必填
说明
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

可以在IDE中开启 debug 模式,在 IDE 的控制台面板,调试信息以 info 的形式给出,其信息有 Page 的注册,页面路由,数据更新,事件触发等。可以帮助开发者快速定位一些常见的问题。

subpackages

启用 分包加载 时,声明项目分包结构。
说明:
写成 subPackages 也支持。

workers

使用 Worker 处理多线程任务时,设置 Worker 代码放置的目录。
当小程序需要使用 navigateToMiniProgram 接口跳转到其他小程序时,需要先在配置文件中声明需要跳转的小程序 appid 列表,最多允许填写10个。

preloadRule

声明 分包预下载 的规则。

usingComponents

app.json 中声明的自定义组件视为全局自定义组件,在小程序内的页面或自定义组件中可以直接使用而无需再声明。建议仅在此声明几乎所有页面都会用到的自定义组件。
注意:
全局自定义组件会被视为所有页面依赖,会在所有页面启动时进行初始化,影响启动性能且会占用主包大小。只被个别页面或分包引用的自定义组件应尽量在页面配置中声明。

permission

小程序接口权限相关设置。字段类型为 Object,结构为:
属性
类型
必填
默认值
描述
scope.userLocation
PermissionObject
-
位置相关权限声明

PermissionObject 结构

属性
类型
必填
默认值
说明
desc
string
-
小程序获取权限时展示的接口中文用途说明。最长80个字符
desc-en
string
-
小程序获取权限时展示的接口英文用途说明。最长80个字符
desc-ar
string
-
小程序获取权限时展示的接口阿语用途说明。最长80个字符
如:
{
"pages": ["pages/index/index"],
"permission": {
"scope.userLocation": {
"desc": "你的位置信息将用于小程序位置接口的效果展示" // 高速公路行驶持续后台定位
}
}
}

scope 列表

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
蓝牙
scope.chooseMessageFile
wx.chooseMessageFile
wx.chooseExternalFile
从客户端会话选择文件
从手机上的文件选择器选择文件
scope.getPhoneNumber
button 组件 open-type="getPhoneNumber"
获取手机号
scope.getEmail
button 组件 open-type="getEmailAddress"
获取邮箱地址
scope.chooseImage
wx.chooseImage
从本地相册选择图片或使用相机拍照
scope.chooseVideo
wx.chooseVideo
拍摄视频或从手机相册中选择视频
scope.chooseMedia
wx.chooseMedia
拍摄或从手机相册中选择图片或视频

darkmode

可通过配置"darkmode": true表示当前小程序可适配 DarkMode,所有基础组件均会根据系统主题展示不同的默认样式,navigation bar 和 tab bar 也会根据开发者的配置自动切换。
配置后,请根据 DarkMode 适配指南 自行完成基础样式以外的适配工作。
{
"darkmode": true
}

themeLocation

自定义 theme.json 的路径,当配置 "darkmode":true 时,当前配置文件为必填项。

disableSlideCloseGesture

是否禁用侧滑关闭小程序的手势,默认为false。

apiVersion

用于 API(例如:wx.login)版本控制,未配置时默认调用最新版本。
{
"apiVersion": "v1"
}

配置示例

{
"pages": ["pages/index/index", "pages/logs/index"],
"window": {
"navigationBarTitleText": "Demo"
},
"tabBar": {
"list": [
{
"pagePath": "pages/index/index",
"text": "首页"
},
{
"pagePath": "pages/logs/logs",
"text": "日志"
}
]
},
"debug": true
}

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈