开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
开发 > 框架 > 小程序全局配置 > app.js 注册小程序
收藏
订阅更新
我的文档
设置
app(object: object)
app() 用于注册小程序,接受一个 object 作为属性,用来配置小程序的生命周期等。app() 必须在 app.js 中调用,必须调用且只能调用一次。
object 属性说明
属性
类型
描述
触发时机
基础库最低版本
onlaunch
function
生命周期回调:监听小程序初始化
当小程序初始化完成时触发,全局只触发一次。 参数也可以使用 my.getlaunchoptionssync
获取。
-
onshow
function
生命周期回调:监听小程序显示
当小程序启动,或从后台进入前台显示时触发。 也可以使用 my.onappshow
绑定监听。
-
onhide
function
生命周期回调:监听小程序隐藏
当当前页面被隐藏时触发,例如跳转、按下设备 home 键离开。 也可以使用 my.onapphide
绑定监听。
-
onerror
function
监听小程序错误
当小程序发生 js 错误时触发。 也可以使用 my.onerror
绑定监听。
-
onshareappmessage
function
全局分享配置
调用分享时触发,如:点击页面菜单右上角的 分享 按钮时。
-
onunhandledrejection
function
监听 unhandledrejection 事件
当 promise 被 reject 且没有 reject 处理器时,会触发 onunhandledrejection 事件。 也可以使用 my.onunhandledrejection
绑定监听。

onpagenotfound
function
监听页面不存在
小程序要打开的页面不存在时触发。 也可以使用 my.onpagenotfound
绑定监听。 不支持处理 路由 api
失败场景。
前台/后台定义:
一般情况下,小程序用户点击右上角关闭,或者按下设备 home 键离开支付宝时,小程序并不会直接销毁,而是进入后台。
当用户再次进入支付宝或再次打开小程序时,小程序会从后台进入前台。
只有当小程序进入后台 5 分钟后,或占用系统资源过高,才会被真正销毁。
小程序是否销毁、是否进入后台,也与小程序自身业务逻辑、当前内存资源占用有关。
onlaunch(object: object) 及 onshow(object: object)
object 属性说明:
属性
类型
描述
query
object
当前小程序的 query,从启动参数的 query 字段解析而来,解析规则可查看 小程序全局 / 页面参数设置以及解析细节
scene
string
启动小程序的
path
string
当前小程序的页面地址,从启动参数 page 字段解析而来,page 忽略时默认为凯发k8官方网娱乐官方首页。
referrerinfo
object
来源信息。
比如,启动小程序的 scheme 如下:
小程序首次启动时,onlaunch 方法可获取 querypath 等属性值。
小程序处于后台时,如果从 scheme、扫二维码打开,需要在 onshow 方法中获取 querypath 等属性值。
referrerinfo 子属性说明:
属性
类型
描述
最低版本
appid
string
来源小程序。
-
extradata
object
来源小程序传过来的数据。
-
注意
不要在 onshow() 中进行 my.redirecttomy.navigateto 等操作页面栈的行为。
不要在 onlaunch() 和首次 onshow() 里调用 getcurrentpages 方法,因为此时 page 还未生成。
app.json 应用配置 behavior 支持配置项 decodequery,当设置为 disable 后,不会再对键值额外再做 decodecomponent,可查看 小程序全局 / 页面参数设置以及解析细节
onhide()
小程序从前台进入后台时触发 onhide() 。示例代码:
onerror(error, stack)
小程序应用发生脚本错误时触发。事件也可以通过 my.onerror 进行监听。其参数列表如下:
属性
类型
说明
error
string
异常描述,一般为 error
对象的 message
字段。
stack
string
异常堆栈,一般为 error
对象的 stack
字段。 基础库 2.6.6
及以上支持。
示例代码:
onshareappmessage(object: object)
全局分享配置。当页面未设置 page.onshareappmessage 时,调用分享会执行全局的分享设置,具体详情请参见 页面事件处理函数
onunhandledrejection(object: object)
promisereject 且没有 reject 处理器时触发。也可使用 my.onunhandledrejection 绑定监听。参数和注意事项与 my.onunhandledrejection 一致。示例代码:
onpagenotfound(object: object)
小程序要打开的页面不存在时触发。也可以使用 my.onpagenotfound 绑定监听。参数和注意事项与 my.onpagenotfound 一致。示例代码:
globaldata 全局数据
app() 中可以设置全局数据 globaldata。示例代码:
更多
开发者可以添加任意的函数或数据变量到 object 参数中,用 this 可以访问。
也可在 app.js 引入其他的公共方法,将方法挂载到 app.js 下。
示例代码:
小程序页面调用:
常见问题
q:可以在 app.js 中关闭小程序吗?
a:不可以,关闭小程序的方法仅支持小程序页面点击右上角的关闭按钮。
相关文档
onshareappmessage
getapp 方法
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图