- 开发无止境 -
Data: 2019-11-10 17:21:52Form: JournalClick: 12
JSON
配置json
JSON 是一种数据格式,并不是编程语言,在小程序中,JSON扮演的静态配置的角色
JSON文件都是被包裹在一个大括号中 {},通过key-value的方式来表达数据。JSON的Key必须包裹在一个双引号中,在实践中,编写 JSON 的时候,忘了给 Key 值加双引号或者是把双引号写成单引号是常见错误。
JSON的值只能是以下几种数据格式,其他任何格式都会触发报错。
还需要注意的是 JSON 文件中无法使用注释,添加注释将会引发报错。
json数据最后一个元素,不能有,号。数组和对象里的最后一个元素,也不能有,号。
小程序根目录下的 app.json 文件用来对微信小程序进行全局配置
编号|属性|类型|必填|描述 ---|---|---|---|---|--- 1|pages|string[]|是|页面路径列表 2|window|Object|否|全局的默认窗口 3|tabBar|Object|否|底部 tab 栏 4|networkTimeout|Object|否|网络超时时间 5|debug|boolean|否|是否开启 debug 模式,默认关闭 6|functionalPages|boolean|否|是否启用插件功能页,默认关闭 7|subpackages|Object[]|否|分包结构配置 8|workers|string|否|Worker 代码放置的目录 9|requiredBackgroundModes|string[]|否|需要在后台使用的能力,如「音乐播放」 10|plugins|Object|否|使用到的插件 11|preloadRule|Object|否|分包预下载规则 12|resizable|boolean|否|iPad 小程序是否支持屏幕旋转,默认关闭 13|navigateToMiniProgramAppIdList|string[]|否|需要跳转的小程序列表,详见 wx.navigateToMiniProgram 14|usingComponents|Object|否|全局自定义组件配置|开发者工具 15|permission|Object|否|小程序接口权限相关设置 16|sitemapLocation|string|是|指明 sitemap.json 的位置 17|style|string|否|指定使用升级后的weui样式 18|useExtendedLib|Object|否|指定需要引用的扩展库 19|entranceDeclare|Object|否|微信消息用小程序打开
pages
指定小程序页面类型:string
.json
.js
.wxml
.wxss
"pages": [
"pages/index/index",
"pages/logs/logs",
"pages/1/1",
"pages/1/2"
],
window
用于设置小程序的状态栏、导航条、标题、窗口背景色类型:Object
编号|属性|类型|默认值|描述 ---|---|---|---|---|--- 1|navigationBarBackgroundColor|HexColor|#000000|导航栏背景颜色,如 #000000 2|navigationBarTextStyle|string|white|导航栏标题颜色,仅支持 black / white 3|navigationBarTitleText|string||导航栏标题文字内容 4|navigationStyle|string|default|导航栏样式 5|backgroundColor|HexColor|#ffffff|窗口的背景色 6|backgroundTextStyle|string|dark|下拉 loading 的样式,仅支持 dark / light 7|backgroundColorTop|string|#ffffff|顶部窗口的背景色,仅 iOS 支持 8|backgroundColorBottom|string|#ffffff|底部窗口的背景色,仅 iOS 支持 9|enablePullDownRefresh|boolean|false|是否开启全局的下拉刷新 10|onReachBottomDistance|number|50|页面上拉触底事件触发时距页面底部距离,单位为 px 11|pageOrientation|string|portrait|屏幕旋转设置
"window": {
"navigationBarBackgroundColor" : "#000000", // 导航栏背景颜色
"navigationBarTextStyle" : "white", // 导航栏标题颜色,仅支持black / white
"navigationBarTitleText": "欧阳克课件", // 导航栏标题文字内容
"backgroundColor" : "#ffffff", // 窗口的背景色
"backgroundTextStyle" : "dark", // 下拉 loading 的样式,仅支持 dark / light
"enablePullDownRefresh" : true // 是否开启全局的下拉刷新,默认false
},
backgroundColor
不是页面的背景颜色,在微信开发者工具中是看不出效果的tabBar
底部按钮类型:Object
编号 | 属性 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|---|
1 | color | HexColor | 是 | tab 上的文字默认颜色,仅支持十六进制颜色 | |
2 | selectedColor | HexColor | 是 | tab 上的文字选中时的颜色,仅支持十六进制颜色 | |
3 | backgroundColor | HexColor | 是 | tab 的背景色,仅支持十六进制颜色 | |
4 | borderStyle | string | 否 | black | tabbar 上边框的颜色, 仅支持 black / white |
5 | list | Array | 是 | tab 的列表,详见 list 属性说明,最少 2 个、最多 5 个 tab | |
6 | position | string | 否 | bottom | tabBar 的位置,仅支持 bottom / top |
7 | custom | boolean | 否 | false | 自定义 tabBar |
编号 | 属性 | 类型 | 必填 | 描述 |
---|---|---|---|---|
1 | pagePath | string | 是 | 页面路径,必须在 pages 中先定 |
2 | text | string | 是 | tab 上按钮文字 |
3 | iconPath | string | 否 | 图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。 |
4 | selectedIconPath | string | 否 | 选中时的图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。 |
"tabBar" : {
"color" : "#000000",
"selectedColor" : "#aa33aa",
"backgroundColor" : "#ffffff",
"borderStyle" : "black",
"list" : [
{
"pagePath" : "pages/index/index",
"text" : "首页"
},
{
"pagePath": "pages/logs/logs",
"text": "日志"
}
]
},
list
的页面,必须在pages
中存在list
的按钮顺序为正序list
的按钮2-5个,只会出现在这2-5个页面中每一个页面都可以使用 .json 文件来对本页面的窗口进行配置
编号 | 属性 | 类型 | 默认值 | 描述 |
---|---|---|---|---|
1 | navigationBarBackgroundColor | HexColor | #000000 | 导航栏背景颜色,如 #000000 |
2 | navigationBarTextStyle | string | white | 导航栏标题颜色,仅支持 black / white |
3 | navigationBarTitleText | string | 导航栏标题文字内容 | |
4 | navigationStyle | string | default | 导航栏样式 |
5 | backgroundColor | HexColor | #ffffff | 窗口的背景色 |
6 | backgroundTextStyle | string | dark | 下拉 loading 的样式,仅支持 dark / light |
7 | backgroundColorTop | string | #ffffff | 顶部窗口的背景色,仅 iOS 支持 |
8 | backgroundColorBottom | string | #ffffff | 底部窗口的背景色,仅 iOS 支持 |
9 | enablePullDownRefresh | boolean | false | 是否开启当前页面下拉刷新 |
10 | onReachBottomDistance | number | 50 | 页面上拉触底事件触发时距页面底部距离,单位为px |
11 | pageOrientation | string | portrait | 屏幕旋转设置,支持 auto / portrait / landscape |
12 | disableScroll | boolean | false | 设置为 true 则页面整体不能上下滚动。只在页面配置中有效,无法在 app.json 中设置 |
13 | usingComponents | Object | 否 | 页面自定义组件配置 |
{
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle" : "black",
"navigationBarTitleText" : "第一页面",
}