一、resizable
在 iPad 上运行的小程序可以设置支持屏幕旋转,在 PC 上运行的小程序,用户可以按照任意比例拖动窗口大小,也可以在小程序菜单中最大化窗口。
app.json配置如下;
{ resizable:true }
二、usingComponents
在 app.json 中声明的自定义组件视为全局自定义组件,在小程序内的页面或自定义组件中可以直接使用而无需再声明。
app.json配置如下;
{ usingComponents:'全局组件路径' }
三、permission
小程序接口权限相关设置。字段类型为 Object。
app.json配置如下;
{ "pages": ["pages/index/index"], "permission": { "scope.userLocation": { "desc": "你的位置信息将用于小程序位置接口的效果展示" // 高速公路行驶持续后台定位 } } }
四、sitemapLocation
小程序根目录下的 sitemap.json 文件用于配置小程序及其页面是否允许被微信索引,文件内容为一个 JSON 对象,如果没有 sitemap.json ,则默认为所有页面都允许被索引。
sitemapLocation的作用就是指定sitemap.json的路径
app.json配置如下;
{ "pages": ["pages/index/index"], "sitemapLocation": "sitemap.json" }
五、style
“style”: "v2"可表明启用新版的组件样式。
app.json配置如下;
{ "style": "v2" }
六、useExtendedLib
指定需要引用的扩展库。目前支持以下项目:
kbone: 多端开发框架
weui: WeUI 组件库
指定后,相当于引入了对应扩展库相关的最新版本的 npm 包,同时也不占用小程序的包体积。
app.json配置如下;
{ "useExtendedLib": { "kbone": true, "weui": true } }
七、entranceDeclare
聊天位置消息用打车类小程序打开,详情参考。
app.json配置如下;
"entranceDeclare": { "locationMessage": { "path": "pages/index/index", "query": "foo=bar" } }
页面获取消息
//app.js App({ onLaunch: function (options){ console.log(options) var scene = options.scene if (scene == 1146) { // 位置消息场景值 var location = options.locationInfo var x = location.latitude var y = location.longitude var name = location.name } }, })
八、darkmode和themeLocation
1.darkmode
在app.json中配置darkmode为true,即表示当前小程序已适配 DarkMode,所有基础组件均会根据系统主题展示不同的默认样式,navigation bar 和 tab bar 也会根据下面的配置自动切换。
2.themeLocation
自定义 theme.json 的路径,当配置"darkmode":true时,当前配置文件为必填项。
{ "darkmode": true, "themeLocation": "/path/to/theme.json" }
九、lazyCodeLoading
目前仅支持值 requiredComponents,代表开启小程序「按需注入」特性。
{ "lazyCodeLoading": "requiredComponents" }
十、singlePage
目前分享到朋友圈 (Beta) 后打开会进入单页模式
单页模式相关配置
十一、embeddedAppIdList
指定小程序可通过wx.openEmbeddedMiniProgram打开的小程序名单。
{ "embeddedAppIdList": ["wxe5f52902cf4de896"] }
十二、halfPage
第一个页面的全屏状态使用自定义顶部,支持 default / custom
{ "halfPage": { "firstPageNavigationStyle": "custom" } }