uniapp------uniCloud云函数与云对象的简述

一、

云函数是运行在云端的 JavaScript 代码,是基于 Node.js 的扩展。在常规的 Node API 基础上,uniCloud的云函数环境内置了uniCloud对象,这个对象内置了网络、数据库等各种API。开发者未学习过 Node.js 也没有关系,只需要看uniCloud的文档,掌握这个uniCloud对象的API即可。每个云函数是一个js包,在云函数被调用时,由 serverless 调度系统分配硬件资源启动一个 node 环境来运行这个云函数。

在HBuilderX中可以新建云函数(HBuilderX 3.4 同时可以新建云对象,如下图:

uniapp------uniCloud云函数与云对象的简述_第1张图片 

每个云函数是一个目录,其中普通云函数有index.js入口文件,云对象的入口文件则是index.obj.js。

一个最简单的云函数只需要这个入口js文件,在里面编写代码即可。当然也可以在这个js中require该云函数目录下的其他js、json文件。

云函数的配置文件和 npm规范 相同,在云函数目录下可新建一个 package.json 来存放配置。uniCloud云函数扩展了 package.json,增加了一些特有的配置项。

云函数启动后实例会保留一段时间(如15分钟),超过保留期后若该云函数一直没有被再调用,那这个实例会被释放。所以云函数有冷启动的概念。不过由于js实例的启动要比php和java更快,所以js更适合serverless方式。

注意事项:

1)、不同项目使用同一个服务空间时,不可使用同名云函数。同名云函数会相互覆盖。
2)、在HBuilderX创建云函数时,如果新云函数与服务器上已存在同名云函数,会用新函数覆盖。所以应先选择从服务空间下载云函数。
3)、单个云函数大小限制为10M(包含node_modules),过大的云函数影响运行性能,也会增加计费的gbs。同时腾讯云支持在云端安装node_modules,此时不占用云函数体积。
 

云函数的分类
云函数有若干子概念,包括 普通云函数、云对象、公共模块、clientDB的action云函数、uniCloud扩展库。

1)、云函数:通过传统json接口方式和客户端通信,客户端使用uniCloud.callfunction("")调用云函数
2)、云对象:是通过前端导入对象来操作的,客户端使用uniCloud.importObject("")导入云对象。
3)、公共模块:用于不同的云函数/云对象,抽取和共享相同代码
4)、action云函数(不推荐使用):为了弥补clientDB客户端直接操作数据库的局限而设计的。从HBuilderX 3.6.11开始,推荐使用数据库触发器替代action云函数。
5)、uniCloud扩展库:为了裁剪和控制云函数体积而设计的,一些不太常用的功能比如Redis,独立为可选扩展库,避免增大每个云函数的体积。
 

二、

云对象,其实是对云函数的封装。和创建云函数一样,在uniCloud/cloudfunctions目录右键新建云函数,选择云对象类型,输入云对象名称创建云对象,此处以云对象todo为例,创建的云对象包含一个index.obj.js

uniapp------uniCloud云函数与云对象的简述_第2张图片

示例---默认云对象模板是不包含任何方法的,我们为此对象添加一个add方法作为示例。

uniapp------uniCloud云函数与云对象的简述_第3张图片

至此以上是官网中得到的一些知识,想要得到更多的知识可以去官网上自行研究哦。网址:uni-app官网。

三、
以下是自己做的小项目运用到云函数与云数据库页面,以及具体代码:

    1.听书主页:

uniapp------uniCloud云函数与云对象的简述_第4张图片

    云函数与云数据库:

uniapp------uniCloud云函数与云对象的简述_第5张图片 

    2.听书列表页与音频页面及具体代码:

uniapp------uniCloud云函数与云对象的简述_第6张图片 

    重要代码如下:

uniapp------uniCloud云函数与云对象的简述_第7张图片

四、uniapp优势和优点

  • 省时省力:Uniapp采用一份代码多端适配的方式,只需编写一次代码即可在多个平台上运行,大大减少了开发者的开发时间和成本。
  • 易学易用:Uniapp使用Vue.js作为其开发语言,Vue.js的语法简单易懂,上手难度较低,适合新手入门。
  • 性能优越:Uniapp采用了自研的渲染引擎和性能优化策略,能够保证应用程序的流畅度和稳定性。

以下是uniapp示例代码:



五、uniapp基本语法与其组件

1.基本语法:



2.组件



六、事件的处理

  1. 事件绑定:使用 @ 或 v-on: 指令绑定事件,如 @click 或 v-on:click。
  2. 事件修饰符:使用 .stop、.prevent、.capture、.self、.once 等修饰符控制事件的行为。
  3. 自定义事件:通过 $emit 方法触发自定义事件,并在父组件中使用 @ 或 v-on: 指令监听。
  4. 事件对象:事件处理函数中可以访问事件对象,如 event.target 、event.type 等。
  5. 此外,Uniapp 还提供了一些平台特有的事件处理方式,如小程序中的 catchtap、catchtouchmove 等。具体使用方式可以参考官方文档。

事件绑定示例:

  

事件修饰符:



自定义事件------子组件:



自定义事件------父组件:



事件对象:



常用的页面跳转方式

      1、uni.navigateTo(OBJECT) ------ 保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面

      2、uni.navigateBack(OBJECT) ------ 关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层。

      3、uni.redirectTo(OBJECT) ------ 关闭当前页面,跳转到应用内的某个页面。

      4、uni.switchTab(OBJECT) ------ 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。

      5、openURL ------ 调用第三方程序打开指定的URL

你可能感兴趣的:(uni-app,前端)