文件:app.js

小程序的入口文件

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

属性 类型 描述 触发时机
onLaunch Function 小程序初始化 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
onShow Function 小程序显示 当小程序启动,或从后台进入前台显示,会触发 onShow
onHide Function 小程序隐藏 当小程序从前台进入后台,会触发 onHide
onError Function 错误监听函数 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
onPageNotFound Function 页面不存在监听函数 当小程序出现要打开的页面不存在的情况,会带上页面信息回调该函数,详见下文
其他 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 参数

字段 类型 说明
path String 打开小程序的路径
query Object 打开小程序的query
scene Number 打开小程序的场景值
shareTicket String shareTicket
referrerInfo Object 当场景为由另一个小程序打开时,返回此字段
referrerInfo.appId String 来源小程序的 appId
referrerInfo.extraData Object 来源小程序传过来的数据

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

场景值 场景 appId 信息含义
1020 公众号 profile 页相关小程序列表 返回来源公众号 appId
1035 公众号自定义菜单 返回来源公众号 appId
1036 App 分享消息卡片 返回来源应用 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相关推荐

  1. 零基础微信小程序开发心得----注册微信小程序

    因为项目需要用到小程序,自己想写个从零到有的微信小程序专题,记录学习心得. 目录 1.微信小程序简介 2.注册小程序 3.安装开发工具 4.小程序初始化目录介绍 1.微信小程序简介 微信小程序这个词可 ...

  2. 抢饭碗?这位 05 后开发三款小程序!

    整理 | 伍杏玲 出品 | CSDN(ID:CSDNnews) 2017 年 1 月 9 日,微信小程序横空出世.而后,支付宝小程序.百度小程序.12大厂商联盟的快应用等纷纷入局,在短短两年的时间里, ...

  3. 微信小程序开发的app---礼物说APP

    http://bbs.larkapp.com/thread-10801-1-1.html 微信小程序开发的app---礼物说APP 再根目录 80端口 起服务 获取mock数据   本帖隐藏的内容   ...

  4. 微信小程序(三个小点)颜色显示问题

    微信小程序(三个小点)颜色显示问题 修改加载图标的默认颜色 在已经添加下拉刷新页面对应的json文件中添加 "backgroundTextStyle": "dark&qu ...

  5. 小程序开发教程、小程序资讯、小程序demo、小程序实战等合揖(7月19日更新)

    7月19日微信小程序联盟更新的小程序开发教程.小程序资讯.小程序demo.小程序实战内容合揖如下: 小程序资讯与小程序教程 一张图带你看懂小程序发展蓝皮书 2017-07-19 微信小程序开发问答&l ...

  6. 小程序开发教程、小程序资讯、小程序demo、小程序实战等合揖(7月19日更新)...

    2019独角兽企业重金招聘Python工程师标准>>> 7月19日微信小程序联盟更新的小程序开发教程.小程序资讯.小程序demo.小程序实战内容合揖如下: #小程序资讯与小程序教程 ...

  7. 微信小程序学习:(二)app.js及index.js详解

    微信小程序学习:(二)app.js及index.js详解 项目地址:https://github.com/leoricding/- 在用ide创建小程序项目时,系统默认为我们创建了一个hellowor ...

  8. WPF触控程序开发(三)——类似IPhone相册的反弹效果

    原文: WPF触控程序开发(三)--类似IPhone相册的反弹效果 用过IPhone的都知道,IPhone相册里,当图片放大到一定程度后,手指一放,会自动缩回,移动图片超出边框后手指一放,图片也会自动 ...

  9. 软件工程习题,耦合性的概念如何与软件可移植性相关联?举例支持你的论述,应用逐步求精法为下列程序开发三种不同级别的过程抽象

    软件工程习题 11.9.耦合性的概念如何与软件可移植性相关联?举例支持你的论述 11.10.应用逐步求精法为下列程序开发三种不同级别的过程抽象,开发一个支票打印程序,给出输出金额,并按支票常规要求给出 ...

  10. 微信小程序开发系列——注册申请

    摘要:本文介绍微信小程序开发前需要登录微信公众号平台的的邮箱申请 1.前言背景 上周参加了个老乡聚会,吃饭聊天时接触到老乡在创业时有需要做微信.支付宝的小程序,作为聚餐中唯一一个上班族的程序猿,于是问 ...

最新文章

  1. 卷积神经网络的一些细节
  2. GridView绑定数据源 绑定DataReader /DataSet /DataTable
  3. iOS设计模式(03):工厂方法
  4. 电大计算机应用基础考60,(2016年电大)电大计算机应用基础考答案.doc
  5. flutetr dio 拦截器实现 token 失效刷新
  6. 基于JAVA的宠物网站的设计与实现
  7. Python3.6之py文件转exe文件
  8. Ubuntu环境下制作win7-U盘引导盘
  9. 2 SAP SCC1同一服务器传请求号
  10. 老男孩教育46期-丁温郝
  11. 牛客网 - [牛客假日团队赛6]对牛排序
  12. java检查中断_死神来了怎么判断之java线程中断
  13. 010 极限的四则运算例题
  14. visdom image显示图像(四)
  15. Win11怎么打开3D查看器
  16. matlab中如何打出心,如何在MATLAB中再现这个心形网格?
  17. C++功能模块2:mkdir()创建文件夹目录
  18. splash启动速度优化
  19. jQuery实现QQ分组列表效果
  20. 最优停止理论 Optimal Stopping Theory 经典秘书问题 Classic Secretary Problem

热门文章

  1. DOS控制台及其常用命令
  2. 乐动机器人 2D DTOF激光雷达 LD06、LD19驱动包开源仓库分享
  3. 如何带好一个团队?团队管理的要点有哪些?
  4. 后台获取访问端的真实ip地址
  5. 百面机器学习 自学笔记
  6. vue.js和vue.main.js下载地址
  7. linux下如何使用命令连接wifi
  8. 【C4D】整体缩放模型
  9. java 吸血鬼数字_用java求吸血鬼数字 | 学步园
  10. 大数卢卡斯求组合数板子