配置

最近更新时间:2024-04-10 17:06:21

我的收藏

全局配置

小程序根目录下的 app.json 文件用来对 TMF 小程序进行全局配置,可以通过设置来决定页面文件的路径、窗口表现、网络超时时间以及多 tab 等功能。

配置示例

以下是一个包含了部分常用配置选项的 app.json :
{
"pages": ["pages/index/index", "pages/logs/index"],
"window": {
"navigationBarTitleText": "Demo"
},
"tabBar": {
"list": [
{
"pagePath": "pages/index/index",
"text": "首页"
},
{
"pagePath": "pages/logs/logs",
"text": "日志"
}
]
},
"networkTimeout": {
"request": 10000,
"downloadFile": 10000
},
"debug": true,
"navigateToMiniProgramAppIdList": ["tmfq0nbl3hxxlv2w7u"],
"groupIdList":["123456","34356576","457658769"]
}

app.json配置项列表

属性
类型
必填
描述
pages
String Array
页面路径列表
window
Object
全局的默认窗口表现
tabBar
Object
底部 tab 栏表现
networkTimeout
Object
网络超时时间
requiredBackgroundModes
String Array
需要后台使用的能力,如音乐播放
navigateToMiniProgramAppIdList
String Array
需要跳转的小程序列表,详见 navigateToMiniProgram
permission
Object
小程序接口权限相关设置
darkmode
Boolean
获取当前手机是否为夜间模式

pages

用于指定小程序由哪些页面组成,每一项都对应一个页面的路径 + 文件名信息。文件名不需要写文件后缀,框架会自动去寻找对于位置的.json,.js ,.wxml.wxss 四个文件进行处理。
数组的第一项代表小程序的初始页面(首页)。小程序中新增/减少页面,都需要对 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:自定义导航栏,只保留右上角胶囊按钮;
hide:自定义导航栏,可以支持隐私导航栏和胶囊按钮。
backgroundColor
HexColor
#ffffff
窗口的背景色
backgroundTextStyle
String
dark
下拉 loading 的样式,仅支持 dark / light
backgroundColorTop
String
#ffffff
顶部窗口的背景色,仅 iOS 支持
backgroundColorBottom
String
#ffffff
底部窗口的背景色,仅 iOS 支持
enablePullDownRefresh
Boolean
false
是否开启当前页面的下拉刷新。详见 Page.onPullDownRefresh
customNavigateBack
Boolean
false
是否需要拦截页面的默认返回(单击 tabBar 返回或侧滑或 back 键返回)结合Page.onCustomBack 使用
pageOrientation
String
portrait
屏幕旋转设置,支持 auto / portrait / landscape。详见 响应显示区域变化
注1:HexColor(十六进制颜色值),如"#ff00ff"。
注2:关于navigationStyle
如 app.json:
{
"window": {
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black",
"navigationBarTitleText": "TMF接口功能演示",
"backgroundColor": "#eeeeee",
"backgroundTextStyle": "light"
}
}

tabBar

如果小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。
属性
类型
必填
默认值
描述
color
HexColor
-
tab 上的文字默认颜色,仅支持十六进制颜色
selectedColor
HexColor
-
tab 上的文字选中时的颜色,仅支持十六进制颜色
backgroundColor
HexColor
-
tab 的背景色,仅支持十六进制颜色
borderStyle
String
black
tabbar上边框的颜色, 仅支持 black / white
list
Array
-
tab 的列表,最少2个 tab、最多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,不支持网络图片
selectedIconPath
String
选中时的图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。当 postion 为 top 时,不显示 icon。

disableSlideCloseGesture

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

networkTimeout

各类网络请求的超时时间,单位均为毫秒。
属性
类型
必填
默认值
描述
request
Number
60000
request 的超时时间,单位:毫秒
uploadFile
Number
60000
uploadFile 的超时时间,单位:毫秒

requiredBackgroundModes

申明需要后台运行的能力,类型为数组。目前支持以下项目:
audio: 后台音乐播放。
示例代码:
{
"pages": ["pages/index/index"],
"requiredBackgroundModes": ["audio"]
}
说明:
在此处申明了后台运行的接口,开发版和体验版上可以直接生效,正式版还需通过审核。

navigateToMiniProgramAppIdList

当小程序需要使用 navigateToMiniProgram 接口跳转到其他小程序时,需要先在配置文件中声明需要跳转的小程序 appId 列表,最多允许填写 10 个。

permission

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

PermissionObject 结构

属性
类型
必填
默认值
说明
desc
string
-
小程序获取权限时展示的接口中文用途说明。最长80个字符
desc-en
string
-
小程序获取权限时展示的接口英文用途说明。最长80个字符
desc-adesc-ar
string
-
小程序获取权限时展示的接口阿语用途说明。最长80个字符
示例代码:
{
"pages": ["pages/index/index"],
"permission": {
"scope.userLocation": {
"desc": "你的位置信息将用于小程序位置接口的效果展示",
"desc-en": "where are you? do you know",
"desc-ar":"انا من السعودية"
}
}
}

页面配置

每一个小程序页面也可以使用 .json 文件来对本页面的窗口表现进行配置。
页面的配置,只能设置 app.json 中部分 window 配置项的内容,页面中配置项会覆盖 app.json 的 window 中相同的配置项。

配置示例

{
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black",
"navigationBarTitleText": "TMF接口功能演示",
"backgroundColor": "#eeeeee",
"backgroundTextStyle": "light"
}

页面配置项列表

属性
类型
默认值
描述
navigationBarBackgroundColor
HexColor
#000000
导航栏背景颜色,如 #000000
navigationBarTextStyle
String
white
导航栏标题颜色,仅支持 black / white
navigationBarTitleText
String
-
导航栏标题文字内容
navigationStyle
String
default
导航栏样式,仅支持以下值:
default:默认样式;
custom:自定义导航栏,只保留右上角胶囊按钮;
hide:自定义导航栏,可以支持隐私导航栏和胶囊按钮。
backgroundColor
HexColor
#ffffff
窗口的背景色
backgroundTextStyle
String
dark
下拉 loading 的样式,仅支持 dark / light
backgroundColorTop
String
#ffffff
顶部窗口的背景色,仅 iOS 支持
backgroundColorBottom
String
#ffffff
底部窗口的背景色,仅 iOS 支持
enablePullDownRefresh
Boolean
false
是否全局开启下拉刷新。 详见 Page.onPullDownRefresh
pageOrientation
String
portrait
屏幕旋转设置,支持 auto / portrait / landscape 详见 响应显示区域变化