全局配置

https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html
小程序根目录下的 app.json 文件用来对微信小程序进行全局配置。文件内容为一个 JSON 对象,有以下属性:

配置项大全

属性类型必填描述最低版本
entryPagePathstring小程序默认启动首页
pagesstring[]页面路径列表
windowObject全局的默认窗口表现
tabBarObject底部 tab 栏的表现
networkTimeoutObject网络超时时间
debugboolean是否开启 debug 模式,默认关闭
functionalPagesboolean是否启用插件功能页,默认关闭2.1.0
subpackagesObject[]分包结构配置1.7.3
workersstringWorker 代码放置的目录1.9.90
requiredBackgroundModesstring[]需要在后台使用的能力,如「音乐播放」
pluginsObject使用到的插件1.9.6
preloadRuleObject分包预下载规则2.3.0
resizablebooleanPC 小程序是否支持用户任意改变窗口大小(包括最大化窗口);iPad 小程序是否支持屏幕旋转。默认关闭2.3.0
usingComponentsObject全局自定义组件配置开发者工具 1.02.1810190
permissionObject小程序接口权限相关设置微信客户端 7.0.0
sitemapLocationstring指明 sitemap.json 的位置
stylestring指定使用升级后的weui样式2.8.0
useExtendedLibObject指定需要引用的扩展库2.2.1
entranceDeclareObject微信消息用小程序打开微信客户端7.0.9
darkmodeboolean小程序支持 DarkMode2.11.0
themeLocationstring指明 theme.json 的位置,darkmode为true为必填开发者工具 1.03.2004271
lazyCodeLoadingstring配置自定义组件代码按需注入2.11.1
singlePageObject单页模式相关配置2.12.0

pages

路径列表,之前介绍过。

window

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

属性类型默认值描述最低版本
navigationBarBackgroundColorHexColor#000000导航栏背景颜色,如 #000000
navigationBarTextStylestringwhite导航栏标题颜色,仅支持 black / white
navigationBarTitleTextstring 导航栏标题文字内容
navigationStylestringdefault导航栏样式,仅支持以下值:
default 默认样式
custom 自定义导航栏,只保留右上角胶囊按钮。参见注 2。
iOS/Android 微信客户端 6.6.0,Windows 微信客户端不支持
backgroundColorHexColor#ffffff窗口的背景色
backgroundTextStylestringdark下拉 loading 的样式,仅支持 dark / light
backgroundColorTopstring#ffffff顶部窗口的背景色,仅 iOS 支持微信客户端 6.5.16
backgroundColorBottomstring#ffffff底部窗口的背景色,仅 iOS 支持微信客户端 6.5.16
enablePullDownRefreshbooleanfalse是否开启全局的下拉刷新。
详见 Page.onPullDownRefresh
onReachBottomDistancenumber50页面上拉触底事件触发时距页面底部距离,单位为 px。
详见 Page.onReachBottom
pageOrientationstringportrait屏幕旋转设置,支持 auto / portrait / landscape
详见 响应显示区域变化
2.4.0 (auto) / 2.5.0 (landscape)

默认app.json中的window:

  "window": {
    "backgroundTextStyle": "light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "Weixin",
    "navigationBarTextStyle": "black"
  },

navigationBarBackgroundColor

  • 导航栏的背景颜色



navigationBarTitleText

  • 标题内容



navigationBarTextStyle

  • 导航栏标题字体颜色

enablePullDownRefresh

是否允许下拉刷新



注意

下拉刷新一般不是配置在全局中,因为有些页面面,比如首页,不需要下拉刷新,所以一般都是配置在个别页面中

backgroundTextStyle

  • 下拉式loading颜色,上图中为黑色

backgroundColor

窗口的背景色,不是指整个页面的背景色,因为所有内容都是在page标签下,所以平时是看不见背景色,只有在下来刷新时可以看见。

tabBar(关键)

底部的菜单栏。

如果小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。

属性类型必填默认值描述最低版本
colorHexColor tab 上的文字默认颜色,仅支持十六进制颜色
selectedColorHexColor tab 上的文字选中时的颜色,仅支持十六进制颜色
backgroundColorHexColor tab 的背景色,仅支持十六进制颜色
borderStylestringblacktabbar 上边框的颜色, 仅支持 black / white
listArray tab 的列表,详见 list 属性说明,最少 2 个、最多 5 个 tab
positionstringbottomtabBar 的位置,仅支持 bottom / top
custombooleanfalse自定义 tabBar,见详情2.5.0

其中 list 接受一个数组,只能配置最少 2 个、最多 5 个 tab。tab 按数组的顺序排序,每个项都是一个对象,其属性值如下:

属性类型必填说明
pagePathstring页面路径,必须在 pages 中先定义
textstringtab 上按钮文字
iconPathstring图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。
positiontop 时,不显示 icon。
selectedIconPathstring选中时的图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。
positiontop 时,不显示 icon。


实践

app.json:

  "tabBar": {
    "list":[
      {
        "pagePath": "pages/index/index",
        "text": "首页"
      },{
        "pagePath": "pages/demo/demo",
        "text": "案例"
      }
    ]
  },



底部有菜单栏出现。

接着配置其他参数:

  "tabBar": {
    "color": "#c30",
    "selectedColor": "#0af",
    "backgroundColor": "#cc0",
    "borderStyle": "black",
    "position": "top",
    "list":[
      {
        "pagePath": "pages/index/index",
        "text": "首页"
      },{
        "pagePath": "pages/demo/demo",
        "text": "案例"
      },{
        "pagePath": "pages/logs/logs",
        "text": "日志"
      }
    ]
  },



配置list

对list修改:

    "list":[
      {
        "pagePath": "pages/index/index",
        "text": "首页",
        "iconPath":"images/home.png",
        "selectedIconPath": "images/home_opened.png"
      },{
        "pagePath": "pages/demo/demo",
        "text": "案例",
        "iconPath":"images/list.png",
        "selectedIconPath": "images/list_opened.png"
      },{
        "pagePath": "pages/logs/logs",
        "text": "日志",
        "iconPath":"images/user.png",
        "selectedIconPath": "images/user_opened.png"
      }
    ]

pagePath

导航路径

text

导航标题

iconPath

导航图标(未被选中)

selectedIconPath

被选中时导航图标



单页面配置

https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/page.html
和全局配置类似,想修改哪个页面就去该页面下的json中配置,配置只针对该页面有效。

属性类型默认值描述最低版本
navigationBarBackgroundColorHexColor#000000导航栏背景颜色,如 #000000
navigationBarTextStylestringwhite导航栏标题颜色,仅支持 black / white
navigationBarTitleTextstring 导航栏标题文字内容
navigationStylestringdefault导航栏样式,仅支持以下值:
default 默认样式
custom 自定义导航栏,只保留右上角胶囊按钮。参见注 1。
iOS/Android 微信客户端 7.0.0,Windows 微信客户端不支持
backgroundColorHexColor#ffffff窗口的背景色
backgroundTextStylestringdark下拉 loading 的样式,仅支持 dark / light
backgroundColorTopstring#ffffff顶部窗口的背景色,仅 iOS 支持微信客户端 6.5.16
backgroundColorBottomstring#ffffff底部窗口的背景色,仅 iOS 支持微信客户端 6.5.16
enablePullDownRefreshbooleanfalse是否开启当前页面下拉刷新。
详见 Page.onPullDownRefresh
onReachBottomDistancenumber50页面上拉触底事件触发时距页面底部距离,单位为px。
详见 Page.onReachBottom
pageOrientationstringportrait屏幕旋转设置,支持 auto / portrait / landscape
详见 响应显示区域变化
2.4.0 (auto) / 2.5.0 (landscape)
disableScrollbooleanfalse设置为 true 则页面整体不能上下滚动。
只在页面配置中有效,无法在 app.json 中设置
usingComponentsObject页面自定义组件配置1.6.3
initialRenderingCachestring 页面初始渲染缓存配置2.11.1
stylestringdefault启用新版的组件样式2.10.2
singlePageObject单页模式相关配置2.12.0
最后修改:2024 年 03 月 14 日
如果觉得我的文章对你有用,请随意赞赏