文前推荐一下前端必备工具推荐网站(图床、API和ChatAI、智能AI简历、AI思维导图神器等实用工具):
站点入口:
图床:#/imghub
多种API:#/
ChatAI:#/chatAi
AI思维导图神器:#//
小程序中常用的配置(项目开发配置、小程序收录配置、全局配置、页面配置)
前言:小程序的很多开发需求被规定在了配置文件中。
为什么这样做?
1. 项目开发配置(对应的文件->project.config.json) 2. 小程序收录配置(对应的文件->sitemap.json) 2.1 希望被收录
使用场景:官网、商城、工具等一些面向大众的,希望更多人使用的小程序
属性类型必填描述
rules
Object[]
是
索引规则列表
rules 配置项指定了索引规则,每项规则为一个JSON对象,属性如下所示:
属性类型必填默认值取值取值说明
action
string
否
“allow”
“allow”、“”
命中该规则的页面是否能被索引
page
string
是
“*”、页面的路径
* 表示所有页面,不能作为通配符使用
params
string[]
否
[ ]
当 page 字段指定的页面在被本规则匹配时可能使用的页面参数名称的列表(不含参数值)
string
否
“”
参考 取值说明
当 page 字段指定的页面在被本规则匹配时,此参数说明 params 匹配方式
Number
否
优先级,值越大则规则越早被匹配,否则默认从上到下匹配
值说明
exact
当小程序页面的参数列表等于 params 时,规则命中
当小程序页面的参数列表包含 params 时,规则命中
当小程序页面的参数列表与 params 交集为空时,规则命中
partial
当小程序页面的参数列表与 params 交集不为空时,规则命中
示例1
{
"rules":[{
"action": "allow",
"page": "path/to/page",
"params": ["a", "b"],
"matching": "exact"
}, {
"action": "disallow",
"page": "path/to/page"
}]
}
path/to/page?a=1&b=2 => 优先索引
path/to/page => 不被索引
path/to/page?a=1 => 不被索引
path/to/page?a=1&b=2&c=3 => 不被索引
其他页面都会被索引
示例2
{
"rules":[{
"action": "allow",
"page": "path/to/page",
"params": ["a", "b"],
"matching": "inclusive"
}, {
"action": "disallow",
"page": "path/to/page"
}]
}
path/to/page?a=1&b=2 => 优先索引
path/to/page?a=1&b=2&c=3 => 优先索引
path/to/page => 不被索引
path/to/page?a=1 => 不被索引
其他页面都会被索引
示例3
{
"rules":[{
"action": "allow",
"page": "path/to/page",
"params": ["a", "b"],
"matching": "exclusive"
}, {
"action": "disallow",
"page": "path/to/page"
}]
}
path/to/page => 优先索引
path/to/page?c=3 => 优先索引
path/to/page?a=1 => 不被索引
path/to/page?a=1&b=2 => 不被索引
其他页面都会被索引
示例4
{
"rules":[{
"action": "allow",
"page": "path/to/page",
"params": ["a", "b"],
"matching": "partial"
}, {
"action": "disallow",
"page": "path/to/page"
}]
}
path/to/page?a=1 => 优先索引
path/to/page?a=1&b=2 => 优先索引
path/to/page => 不被索引
path/to/page?c=3 => 不被索引
其他页面都会被索引
注:没有 sitemap.json 则默认所有页面都能被索引
注:{“action”: “allow”, “page”: “*”} 是优先级最低的默认规则,未显式指明 “” 的都默认被索引
2.2 不希望被收录
使用场景:企业内部系统等一些定向型用户应用,不做大范围推广
3. 全局配置 window: 全局的默认窗口展示
用户指定窗口如何展示, 其中还包含了很多其他的属性
常用配置
{
"window": {
"navigationBarBackgroundColor": "#75a342",
"navigationBarTextStyle": "white",
"navigationBarTitleText": "普粒志鸟",
"backgroundColor": "#e0e0e0",
"backgroundTextStyle": "dark",
"enablePullDownRefresh": true
},
"sitemapLocation": "sitemap.json"
}
tabBar: 底部tab栏的展示
如果小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。
常用配置
{
"tabBar":{
"selectedColor": "#75a342",
"list": [
{
"pagePath": "pages/home/home",
"text": "首页",
"iconPath": "assets/tabbar/home_default.png",
"selectedIconPath": "assets/tabbar/home_selected.png"
},
{
"pagePath": "pages/category/category",
"text": "普歌",
"iconPath": "assets/tabbar/category_default.png",
"selectedIconPath": "assets/tabbar/category_selected.png"
},
{
"pagePath": "pages/gl/gl",
"text": "高禄",
"iconPath": "assets/tabbar/shoppingcart_default.png",
"selectedIconPath": "assets/tabbar/shoppingcart_selected.png"
},
{
"pagePath": "pages/mine/mine",
"text": "我的",
"iconPath": "assets/tabbar/mine_default.png",
"selectedIconPath": "assets/tabbar/mine_selected.png"
}
]
}
pages: 页面路径列表
{
"usingComponents": {},
"navigationBarTitleText": "商品分类",
"navigationBarBackgroundColor": "#ff0000",
"navigationBarTextStyle": "black",
"enablePullDownRefresh": true
}
4. 页面配置 属性类型默认值描述最低版本
#000000
导航栏背景颜色,如 #000000
le
string
white
导航栏标题颜色,仅支持 black / white
xt string
导航栏标题文字内容
string
default
导航栏样式,仅支持以下值:default 默认样式 custom 自定义导航栏,只保留右上角胶囊按钮
微信客户端 7.0.0
#ffffff
窗口的背景色
string
dark
下拉 loading 的样式,仅支持 dark / light
string
#ffffff
顶部窗口的背景色,仅 iOS 支持
微信客户端 6.5.16
m
string
#ffffff
底部窗口的背景色,仅 iOS 支持
微信客户端 6.5.16
h
boolean
false
是否开启当前页面下拉刷新。详见 Page.
e
number
50
页面上拉触底事件触发时距页面底部距离,单位为px。详见 Page.
string
屏幕旋转设置,支持 auto / / 详见 响应显示区域变化
2.4.0 (auto) / 2.5.0 ()
boolean
false
设置为 true 则页面整体不能上下滚动。只在页面配置中有效,无法在 app.json 中设置
Object
否
页面自定义组件配置
1.6.3
style
string
default
启用新版的组件样式
2.10.2
Object
否
单页模式相关配置
2.12.0
页面配置中只能设置 app.json 中 window 对应的配置项,以决定本页面的窗口表现,所以无需写 window 这个属性
到这就结束了,帮到的小伙伴给个赞呗
更多推荐:wantLG的《普歌-码上鸿鹄团队:JS验证对象中的值是否为空、数组对象中的值是否为空;数据请求成功后清空所有数据》
*请认真填写需求信息,我们会在24小时内与您取得联系。