微信小程序: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) // 我是全局属性
    }
})
​

  

相关推荐

  1. 程序2.全局开发

    2024-07-17 05:40:03       26 阅读
  2. 程序全局数据共享

    2024-07-17 05:40:03       39 阅读
  3. 程序2

    2024-07-17 05:40:03       36 阅读
  4. 程序全局变量的应用

    2024-07-17 05:40:03       52 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 05:40:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 05:40:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 05:40:03       58 阅读
  4. Python语言-面向对象

    2024-07-17 05:40:03       69 阅读

热门阅读

  1. DRF分页器(Django Restful Framework)

    2024-07-17 05:40:03       29 阅读
  2. 速盾:DDOS攻击能使用高防CDN防御吗?

    2024-07-17 05:40:03       22 阅读
  3. 面试题 29. 顺时针打印矩阵

    2024-07-17 05:40:03       24 阅读
  4. 【python】运用Request库实现爬虫

    2024-07-17 05:40:03       22 阅读
  5. opencv—常用函数学习_“干货“_9

    2024-07-17 05:40:03       32 阅读
  6. 掌握Conda配置:如何禁用Base环境的自动激活

    2024-07-17 05:40:03       22 阅读
  7. volatile的应用

    2024-07-17 05:40:03       23 阅读
  8. MySQL 分库分表

    2024-07-17 05:40:03       26 阅读
  9. C# 文件上传总结

    2024-07-17 05:40:03       24 阅读
  10. Linux的线程

    2024-07-17 05:40:03       22 阅读
  11. Transformer模型在多任务学习中的革新应用

    2024-07-17 05:40:03       26 阅读
  12. 【Qt+opencv】ROI与图像混合

    2024-07-17 05:40:03       25 阅读