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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/47088.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu串口调试单片机

来自🥬🐶程序员 Truraly | 田园 的博客,最新文章首发于:田园幻想乡 | 原文链接 | github (欢迎关注) 文章目录 brltty 导致 USB 转串口连接失败串口调试工具直接操作串口puttySerial Monitor | vscode 插件minicom(推荐)舍友在搞 c-sky 的单片机,囚来了一块玩玩,尝…

【C++】C++中的getcwd函数详解

目录 一.getcwd函数是什么 二.getcwd函数怎么用 一.getcwd函数是什么 在C中&#xff0c; getcwd 是一个用于获取当前工作目录的函数&#xff0c;它是POSIX标准的一部分&#xff0c;定义在 <unistd.h> 头文件中&#xff08;在Windows上&#xff0c;它定义在 <direct…

对服务器进行基本了解(二)

目录 一. 云服务器数据库 1.查看MYSQL版本 2.查看mysql的运行状态 3.运行mysql 4. 进入mysql的用户 5. 更改用户密码 6. 查找mysql端口号 7. 创建一个数据库 8. 查看用户 9. 查看数据库 10. 显示数据库的表 11. 修改用户的host 12. 对用户赋权 13. 开放指定端…

python程序设定定时任务

在 Windows 系统上,您可以使用任务计划程序(Task Scheduler)来设置定时任务,执行 Python 文件。以下是具体步骤: 步骤 1:准备 Python 文件 假设有一个名为 script.py 的 Python 脚本。确保它可以在命令行中正确运行。 步骤2:找到Python可执行文件的位置 知道Python可…

【学习笔记】无人机系统(UAS)的连接、识别和跟踪(一)-3GPP TS 23.256 技术规范概述

3GPP TS 23.256 技术规范&#xff0c;主要定义了3GPP系统对无人机&#xff08;UAV&#xff09;的连接性、身份识别、跟踪及A2X&#xff08;Aircraft-to-Everything&#xff09;服务的支持。 3GPP TS 23.256 技术规范&#xff1a; 以下是文档的核心内容总结&#xff1a; UAV系…

nginx的access.log日志输出请求数

适用格式 #log_format main $remote_addr - $remote_user [$time_local] "$request" # $status $body_bytes_sent "$http_referer" # "$http_user_agent" "$http_x_forwarded_for"; 形如&#…

自然语言处理中的本体/分类/同义相似

本体相似、分类相似与同义相似这三个概念都是在信息检索和自然语言处理中经常用到的相似性度量方法&#xff0c;它们的区别如下&#xff1a; 本体相似&#xff1a;本体是领域内的概念及其关系的模型&#xff0c;本体相似性度量是指计算两个本体之间的相似程度。本体相似性度量通…

【JVM实战篇】内存调优:内存问题诊断+案例实战

文章目录 诊断内存快照在内存溢出时生成内存快照MAT分析内存快照MAT内存泄漏检测的原理支配树介绍如何在不内存溢出情况下生成堆内存快照&#xff1f;MAT查看支配树MAT如何根据支配树发现内存泄漏 运行程序的内存快照导出和分析快照**大文件的处理** 案例实战案例1&#xff1a;…

CH390H+STM32F1+LWIP

文章目录 1、CH390芯片介绍2、电路部分3、LWIP调试3.1修改点13.2 修改点2 4、结果展示参考 1、CH390芯片介绍 官网地址&#xff1a; 南京沁恒微电子股份有限公司 特点&#xff1a; 2、电路部分 CH390及接口&#xff1a; STM32F1引脚&#xff1a; 不含LWIP的demo及LWIP…

【WPF】图片剪裁-ImageCropping

【WPF】图片剪裁-ImageCropping 背景技术栈实现思路核心代码界面布局Style处理逻辑使用技巧预览下载背景 机缘巧合吧,当时在全网寻找图像剪裁工具,但大都不能满足需求,于是决定动手写。当然如果只是为了完成这么一个功能就没有必要记录了,主要是不依赖与第三方图像库,且实…

【数据结构】二叉树全攻略,从实现到应用详解

​ &#x1f48e;所属专栏&#xff1a;数据结构与算法学习 &#x1f48e; 欢迎大家互三&#xff1a;2的n次方_ ​ &#x1f341;1. 树形结构的介绍 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。把它叫做…

Docker Machine 深入解析

Docker Machine 深入解析 引言 Docker Machine 是 Docker 生态系统中的一个重要工具,它简化了 Docker 容器环境的配置和管理过程。本文将深入探讨 Docker Machine 的概念、功能、使用场景以及如何在实际环境中高效利用它。 什么是 Docker Machine? Docker Machine 是一个…

Qt纯代码绘制一个等待提示Ui控件

等待样式控件是我们在做UI时出场率还挺高的控件之一&#xff0c;通常情况下有如下的几种实现方式&#xff1a;1、自定义绘图&#xff0c;然后重写paintEvent函数&#xff0c;在paintEvent中绘制等待图标&#xff0c;通过QTimer更新绘制达到转圈圈的效果。2、 获取一张gif的资源…

SpringBoot下的定时魔法:揭秘@Scheduled注解的无限可能

在这个快节奏的时代&#xff0c;自动化与定时任务成为了提升效率的不二法门。而在Java的Spring Boot框架中&#xff0c;Scheduled注解就像是一位精通时间魔法的巫师&#xff0c;悄无声息地让你的应用按部就班地执行着各种定时任务。今天&#xff0c;就让我们一起揭开它的神秘面…

Ubuntu上安装配置samba服务

Ubuntu上安装配置samba服务 在Ubuntu中安装配置samba共享服务&#xff0c;可以让你在网络上共享文件和打印机。以下是一个相对详细的步骤指南&#xff0c;介绍如何在Ubuntu上安装和配置Samba。 1. 安装Samba 首先&#xff0c;需要安装Samba软件包。打开终端并运行以下命令&a…

Gocator Acquisition for Cognex VisionPro(LMI相机图像获取)

概述 VisionPro 是个很强大的视觉软件, 我们很乐意我们的客户在VisionPro 环境中使用Gocator产品。 实现方法 在 VisionPro 环境下配置 Gocator 产品两种方法: ● 方法一: 创建一个 QuickBuild Job,在 Job 编辑器添加 Job Script,插入 Gocator 的 SDK,编辑简 单脚本就 OK。 …

八、golang基础之reflect反射

文章目录 一、interface 和 反射二、Golang的反射reflect&#xff08;一&#xff09;reflect的基本功能TypeOf和ValueOf&#xff08;二&#xff09;从relfect.Value中获取接口interface的信息&#xff08;三&#xff09;未知原有类型【遍历探测其Filed】&#xff08;四&#xf…

在 Node.js 中使用 axios 配置代理并实现图片并发下载

文章目录 一、创建 Axios 实例二、图片并发下载三、参考资料 一、创建 Axios 实例 可以创建一个 axiosConfig.ts 文件用于创建和更新相关实例&#xff1a; // server/utils/axiosConfig.ts const axios require("axios"); const { HttpsProxyAgent } require(htt…

java.lang.IllegalArgumentException: Illegal character in path at index 40解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

K最近邻(K-Nearest Neighbors, KNN)

K最近邻&#xff08;K-Nearest Neighbors, KNN&#xff09;理论知识推导 KNN算法是一个简单且直观的分类和回归方法&#xff0c;其基本思想是&#xff1a;给定一个样本点&#xff0c;找到训练集中与其最近的K个样本点&#xff0c;根据这些样本点的类别&#xff08;分类问题&am…