微信小程序:2.全局开发

app实例

简介

app.js中注册小程序实例的方法App拥有生命周期回调函数、错误监听函数、页面不存在监听函数等

生命周期回调函数

onLaunch(options) {//监听小程序初始化
console.log("监听小程序初始化",options);
},
onShow (options) {//监听小程序启动或切前台
console.log("监听小程序启动",options);
},
onHide () {//监听小程序切后台
console.log("监听小程序切后台");
},

错误监听函数

onError (msg) {//错误监听函数,小程序发生脚本错误或API调用报错时触发
console.log("错误监听函数",msg)
},

页面不存在监听函数

onPageNotFound(res){console.log("页面不存在监听函数");},
 

监听系统主题变化

onThemeChange(){console.log("系统切换主题时触发");}
 

全局配置

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

1.页面注册

注意

1.默认pages第一项为首页,也可以用entryPagePath进行指定

2.文件名不需要写文件后缀,框架会自动对应后缀

示例

"entryPagePath": "pages/index/index",
    "pages": [
    "pages/index/index",
    "pages/type/type",
    "pages/cart/cart",
    "pages/center/center"
],
 

2.tabBar

tabBar配置项

position:位置【默认bottom / top】

color :tab上的文字默认颜色

selectedColor:tab 上的文字选中时的颜色

backgroundColor:tab 的背景色

borderStyle:tab上边框的颜色【默认blak,仅支持 black / white】

list:列表【2-5个】

list配置项

pagePath:页面路径,必须在pages中注册过

text:描述文本

iconPath【可选】:图片路径,最大40kb,建议尺寸81px*81px,不支持网络图片,当position为top时不显示

selectedIconPath【可选】:选中时的图片路径

示例

"tabBar": {
    "list": [
        {
            "pagePath": "pages/index/index",
            "text": "首页",
            "iconPath": "./icon/首页2.1.png",
            "selectedIconPath": "./icon/首页2.2.png"
        },
        {
            "pagePath": "pages/type/type",
            "text": "分类",
            "iconPath": "./icon/分类1-1.png",
            "selectedIconPath": "./icon/分类1-2.png"
        },
        {
            "pagePath": "pages/cart/cart",
            "text": "购物车",
            "iconPath": "./icon/购物车1.1.png",
            "selectedIconPath": "./icon/购物车1.2.png"
        },
        {
            "pagePath": "pages/center/center",
            "text": "我的",
            "iconPath": "./icon/我的1.1.png",
            "selectedIconPath": "./icon/我的1.2.png"
        }
    ]
},
 

3.窗口表现

window配置项

navigationBarBackgroundColor: 导航栏背景颜色【默认#000000】

navigationBarTextStyle:       导航栏标题颜色【默认white / black】

navigationBarTitleText:       导航栏标题文字内容

backgroundColor:              窗口的背景色【#ffffff】

backgroundTextStyle:          下拉 loading 的样式【默认dark,仅支持dark/light】

enablePullDownRefresh:        是否开启全局的下拉刷新【默认false】

onReachBottomDistance:        页面上拉触底事件触发时距页面底部距离【默认50,单位为px】

示例

"window": {
    "navigationBarBackgroundColor": "#254a38",
        "navigationBarTextStyle": "white",
        "navigationBarTitleText": "月木学途",
        "backgroundColor": "#ffffff",
        "backgroundTextStyle": "light",
        "enablePullDownRefresh": true,
        "onReachBottomDistance": 50
},
 

4.其余配置

基础配置

style:配置"v2"可表明启用新版的组件样式

componentFramework:

sitemapLocation:指明 sitemap.json的位置

lazyCodeLoading: 按需加载

debug配置

debug:是否开启debug模式【默认false】

debugOptions:小程序调试相关配置项

配置项:

enableFPSPanel:是否开启 FPS 面板【默认false】

FPS面板:为了便于开发者调试渲染层的交互性能,小程序基础库提供了选项开启 FPS 面板,开发者可以实时查看渲染层帧率

networkTimeout配置

networkTimeout:各类网络请求的超时时间,单位均为毫秒

配置项:

request:wx.request的超时时间【默认60000】

connectSocket:wx.connectSocket的超时时间【默认60000】

uploadFile:wx.uploadFile的超时时间【默认60000】

downloadFile:wx.downloadFile的超时时间【默认60000】

permission配置

permission:小程序接口权限相关设置

示例

"style": "v2",
    "sitemapLocation": "sitemap.json",
    "debug": true,
    "debugOptions": {
    "enableFPSPanel": true
},
"networkTimeout": {
    "request": 10000,
        "downloadFile": 10000
},
"permission": {
    "scope.userLocation": {
        "desc": "你的位置信息将用于小程序位置接口的效果展示"
    }
}
 

全局属性

简介

整个小程序只有一个App实例,可以通过getApp方法获取App实例【全局唯一】并使用其方法

app.js中App方法编写全局属性

App({
    globalData: {
        userInfo: "我是全局属性"
    }
})

页面中通过getApp()读取

Page({
    onLoad(options) {
        const appInstance = getApp()//获取App实例
        console.log(appInstance.globalData.userInfo) // 我是全局属性
    }
})
​
 

  • 20
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月木@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值