框架-逻辑层(逻辑层简介和注册程序)

news/2024/5/12 0:46:59/文章来源:https://www.cnblogs.com/Steph/p/16606988.html

逻辑层简介

小程序逻辑层

小程序开发框架的逻辑层是使用JavaScript编写的。

逻辑层将数据进行处理后发送给视图层,同时接收视图层的事件反馈。

在 JavaScript 的基础上,微信做了一些修改,以方便地开发小程序。

  • 增加 App 和 Page 方法,进行程序和页面的注册。
  • 增加 getApp和getCurrentPages 方法,分别用来获取 App 实例和当前页面栈。
  • 提供丰富的 API,如微信用户数据,扫一扫,支付等微信特有能力。
  • 每个页面有独立的作用域,并提供模块化能力。
  • 由于框架并非运行在浏览器中,所以 JavaScript 在 web 中一些能力都无法使用,如 document,window 等。
  • 开发者写的所有代码最终将会打包成一份 JavaScript,并在小程序启动的时候运行,直到小程序销毁。类似 ServiceWorker,所以逻辑层也称之为 App Service。

注册程序

App()

App() 函数用来声明小程序。其接收 object 类型参数,其指定小程序的生命周期函数等。

object参数说明:
image

image

前台、后台定义: 当用户点击左上角“关闭”,或者按了设备 “Home” 键离开微信,小程序并没有直接销毁,而是进入了后台;

当再次进入微信或打开小程序,又会从后台进入前台。

需要注意的是:只有当小程序进入后台一定时间,或者系统资源占用过高,才会被真正的销毁。

关闭小程序: 当用户从扫一扫、转发等入口(场景值为1007, 1008, 1011, 1025)进入小程序,且没有置顶小程序的情况下退出,小程序会被销毁。(基础库版本1.1.0开始支持,1.4.0版本已改变规则不再适用

示例代码:

App({onLaunch: function(options) {// Do something initial when launch.},onShow: function(options) {// Do something when show.},onHide: function() {// Do something when hide.},onError: function(msg) {console.log(msg)},globalData: '爱如海大'
})

onLaunch, onShow 参数

上面讲到App()函数,其中onLaunch, onShow参数有他们特定的回调参数
image

image

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

getApp()

全局的getApp()函数可以用来获取到小程序实例。

// other.js
var appInstance = getApp()
console.log(appInstance.globalData) //我们之前在app.js中定义了globalData,故将会输出 '爱如海大'

注意:

  • App() 必须在 app.js 中申明,且不能申明多个。
  • 不要在定义于 App() 内的函数中调用 getApp() ,使用 this 就可以拿到 app 实例。
  • 不要在 onLaunch 的时候调用 getCurrentPages(),因为此时 page 还没有生成。
  • 通过 getApp() 获取实例之后,不要私自调用生命周期函数。

getCurrentPages():获取到页面栈的所有页面Page对象组成的数组

image

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

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

相关文章

德飞莱 C51 学习笔记

《电子元件基础教程》 :数字集成电路 从结构上分为 : TTL 型 和 CMOS 型 《跟我学数字电子技术》: 数字电路分为 组合逻辑电路 和 时序逻辑电路

golang中GOPATH、GOROOT、GOBIN不生效等相关问题

比较重要的三个配置:GOPATH、GOROOT、GOBIN GOPATH : go项目开发的工程目录 GOROOT: go安装所在的目录 GOBIN: go项目编译完二进制程序目录 不生效问题,其实应该好好检查是否上面相关路径配置是否正确 编辑vim ~/.bash_profile 添加以下3个配置export GOROOT="/usr/loca…

高性能服务器之事件处理模式

I/O模型 对于一个套接字上的输入操作,通常存在以下两个步骤:等待分组到达,被复制到内核缓冲区中 将数据从内核缓冲区复制到应用进程的缓冲区中对于上述过程,在 Unix 下有 5 中基本的 I/O 模型可以对其进行处理:阻塞式 I/O 非阻塞式 I/O I/O 复用 信号驱动 I/O 异步 I/O1. …

算法总结

1.每日温度题(一道关于栈的问题) 请根据每日 气温 列表 temperatures ,重新生成一个列表,要求其对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用 0 来代替。 输入: temperatures = [73,74,75,71,69,72,76,73] 输出…

国内可使用chatGPT的十三种方式

国内AI 1. 开放猫 Chat机器人https://mirrorchat.extkj.cn/ chat机器人: Chat机器人https://mirrorchat.extkj.cn/ 3.免费学习测试 免费学习测试https://chat.wuguokai.cn/#/chat/1683348236237 4.AI文本工具站 AI文本工具站一个用于提高工作效率的文本工具网站,应用…

ChatGPT Plus用户专享:86款高效功能插件,详尽安装与使用全攻略

在前天的文章中,我们介绍了 ChatGPT 开放的全新模式 Web Browsing(网页浏览),启用后 ChatGPT 就可以开始上网,收集最新的互联网资料进行作答。 其他关于chatgpt使用方面:请访问: 链接&#xf…

ChatGPT自然语言处理的新里程碑

ChatGPT中文网是一个面向中国用户的聊天机器人网站,旨在为国内用户提供一个自然的环境、有趣、实用的聊天体验。它使用最新的自然语言处理技术来帮助用户更好地理解他们的聊天对话,还可以帮助用户解决日常生活中的问题,提供有趣的谈话内容以及…

国内版ChatGPT最全使用方法及使用用途技巧汇总

ChatGPT人工智能技术的出现确实会让一些人担心自己的工作会不会被取代。但实际上,人工智能技术只会替代那些可以被程序自动化的重复性、标准化、无脑力的工作,而对于需要人类创意、想象力和复杂思维的工作来说,AI人工智能技术的发展对于人类来…

ChatGPT和Midjourney王炸组合,开启AI新时代

目录 序言 一:使用ChatGPT进行对话 二:调用newbies robot 三:举例说明 四:付费和使用限制 序言 随着人工智能技术的不断发展,越来越多的人开始使用人工智能工具来创作图画。在这里,我将分享如何结合Ch…

一文带你读懂什么是ChatGPT?

文章目录 前言ChatGPT的发展历史ChatGPT初体验ChatGPT的未来展望提高聊天机器人的对话能力改进聊天机器人的生成能力提高聊天机器人的个性化能力加强聊天机器人的安全性 总结福利彩蛋 前言 橙子送书第1期!文末参与活动,即可包邮到家。为即将或正在使用Ja…

【ChatGPT】使用大型语言模型 (LLM) 进行特定领域语言(DSL)生成

使用大型语言模型 (LLM) 进行特定领域语言(DSL)生成,markdown格式,10000字左右。大纲如下:背景介绍,LLM的核心能力,DSL的本质特征,怎样 使用LLM 结合外部知识和领域特定约束,通过 Backus-Naur Form(BNF) 表示进行学习,实现 DSL 的生成。给出具体的实验实例。 文章目录…

漫画:ChatGPT的应用场景有哪些?

第一,文案创作 ChatGPT可以通过用户输入的提示,创作出相应的文本内容。 媒体作者可以给ChatGPT提出要求,让ChatGPT根据某一主题生成的媒体文案。 广告策划人员可以把要推广的商品信息输入给ChatGPT,让ChatGPT针对此商品生成一段广…

手机版ChatGPT app如何在国内使用【附完整教程】

手机版ChatGPT app如何在国内使用【附完整教程】 今天是一个比较有爱的日子520,祝福每位饱子身体健康,万事如意,我理解这应该是最朴实最美好的祝福了,因为我始终认为身体是革命的本钱!言归正传,Openai在202…

人人实现ChatGPT自由,手把手教你零撸部署自己聊天私服

我们知道chat gpt最近非常的火爆,朋友圈啊,短视频到处都是chat gpt身影。 但是网上看到各种教程资源,都是不是百分一百的免费,毫无保留教给你的,要么是卖账号 要么是割韭菜的。其实没有什么可以学习的,使用…

讯飞星火认知大模型和ChatGPT在常用领域的效果对比(粗略评测)

对于大语言模型的日常使用,我个人倾向于将其总结为以下几个部分:总结内容,提取信息,文本转换,连续对话,代码生成,逻辑推理,文案生成。那么我接下来也将从这几个部分进行对比。同时&a…

ChatGPT平替-ChatGLM环境搭建与部署运行

ChatGLM-6B 是清华大学团队推出的一个开源的、支持中英双语的对话语言模型,基于General Language Model (GLM) 架构,具有62亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需6GB 显存&…

【ChatGPT高端玩法】ChatGPT一分钟制作PPT

系列文章目录 第一章 ChatGPT一分钟制作PPT 第二章 ChatGPT生成Excel统计格式 第三章 ChatGPT生成Excel提取字符公式 第四章 ChatGPT生成思维导图 目录 实现步骤: 1.打开ChatGPT 2.搜索关键字 3.复制内容至MindShow网站 4.修改PPT内容与排版 5.预览PPT效果 6.导…

ChatGPT 教程--生成代码

ChatGPT 变生产力工具 chatGPT是一种基于人工智能技术的自然语言处理模型,它使用了深度学习算法,可以对人类语言进行理解和生成。chatGPT可以用于对话系统、智能客服、问答系统等场景,能够实现自然、流畅的对话。 chatGPT的核心技术是基于G…

VSCode集成ChatGPT插件:ChatGPT中文版

今天介绍一款牛逼的VsCode插件ChatGPT中文版 一、介绍 ChatGPT中文版一个ChatGPT的插件_支持ChatGPT4.0,功能比丰富。 功能特点: 1.支持ChatGPT4.0 在个人中心可以选择ChatGPT4.0模型,回答更准确 2.网络回答 Vscode插件中第一家支持联网…