微信小程序开发(三)注册小程序app.js

2024-09-02 14:32

本文主要是介绍微信小程序开发(三)注册小程序app.js,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


文件:app.js

 小程序的入口文件

app()函数,注册一个小程序,接受object参数,指定小程序的生命周期函数等。

属性类型描述触发时机
onLaunchFunction小程序初始化当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
onShowFunction小程序显示当小程序启动,或从后台进入前台显示,会触发 onShow
onHideFunction小程序隐藏当小程序从前台进入后台,会触发 onHide
onErrorFunction错误监听函数当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
onPageNotFoundFunction页面不存在监听函数
当小程序出现要打开的页面不存在的情况,会带上页面信息回调该函数,详见下文
其他Any
开发者可以添加任意的函数或数据到 Object 参数中,用 this 可以访问

//app.js
App ({
onLaunch : function () {
// 展示本地存储能力
var logs = wx . getStorageSync ( 'logs' ) || []
logs . unshift ( Date . now ())
wx . setStorageSync ( 'logs' , logs )

// 登录
wx . login ({
success : res => {
// 发送 res.code 到后台换取 openId, sessionKey, unionId
}
})
// 获取用户信息
wx . getSetting ({
success : res => {
if ( res . authSetting [ 'scope.userInfo' ]) {
// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
wx . getUserInfo ({
success : res => {
// 可以将 res 发送给后台解码出 unionId
this . globalData . userInfo = res . userInfo

// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
// 所以此处加入 callback 以防止这种情况
if ( this . userInfoReadyCallback ) {
this . userInfoReadyCallback ( res )
}
}
})
}
}
})
},
globalData : {
userInfo : null
}
})

onLaunch, onShow 参数

字段类型说明
pathString打开小程序的路径
queryObject打开小程序的query
sceneNumber打开小程序的场景值
shareTicketStringshareTicket
referrerInfoObject当场景为由另一个小程序打开时,返回此字段
referrerInfo.appIdString来源小程序的 appId
referrerInfo.extraDataObject来源小程序传过来的数据

以下场景支持返回 referrerInfo.appId:

场景值场景appId 信息含义
1020公众号 profile 页相关小程序列表返回来源公众号 appId
1035公众号自定义菜单返回来源公众号 appId
1036App 分享消息卡片返回来源应用 appId
1037小程序打开小程序返回来源小程序 appId
1038从另一个小程序返回返回来源小程序 appId
1043公众号模板消息返回来源公众号 appId

getApp()


我们提供了全局的getApp()函数,可以获取到小程序实例。

// other.js
var appInstance = getApp()
console.log(appInstance.globalData) // I am global data

注意:

App()必须在app.js中注册,且不能注册多个。

不要在定义于App()内的函数中调用getApp(),使用this就可以拿到app实例。

不要在onLaunch的时候调用getCurrentPage(),此时page还没有生成。

通过getApp()获取实例之后,不要私自调用生命周期函数。

前台、后台定义:当用户点击左上角关闭,或者按了设备 Home 键离开微信,小程序并没有直接销毁,而是进入了后台;当再次进入微信或再次打开小程序,又会从后台进入前台。需要注意的是:只有当小程序进入后台一定时间,或者系统资源占用过高,才会被真正的销毁。

关闭小程序(基础库版本1.1.0开始支持):

当用户从扫一扫、转发等入口(场景值为1007, 1008, 1011, 1025)进入小程序,且没有置顶小程序的情况下退出,小程序会被销毁。

小程序运行机制在基础库版本 1.4.0 有所改变:上一条关闭逻辑在新版本已不适用


这篇关于微信小程序开发(三)注册小程序app.js的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1130220

相关文章

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

将Java程序打包成EXE文件的实现方式

《将Java程序打包成EXE文件的实现方式》:本文主要介绍将Java程序打包成EXE文件的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录如何将Java程序编程打包成EXE文件1.准备Java程序2.生成JAR包3.选择并安装打包工具4.配置Launch4

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

SpringBoot实现微信小程序支付功能

《SpringBoot实现微信小程序支付功能》小程序支付功能已成为众多应用的核心需求之一,本文主要介绍了SpringBoot实现微信小程序支付功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录一、引言二、准备工作(一)微信支付商户平台配置(二)Spring Boot项目搭建(三)配置文件

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片