image.png
云函数的写法和在本地定义js方法没有什么区别,不同的是,云函数是运行在云端的nodeJs中,当云函数被客户端调用的时候,定义的代码会被放在nodeJS运行环境中去执行。

这是新建的云函数后,自动生成的初始的代码,这个代码我们一般情况下不去改动。我们所有的逻辑全写在这个方法里面。
image.png
方法返回了两个参数,一个event一个context。
event是触发云函数的事件,当客户端去调用云函数的时候,event就是客户端调用云函数时传入的参数。我们可以通过event拿到客户端传入的所有参数。

image.png
context:包含了调用信息和运行状态。用它可以了解服务器运行的情况,uniCloud会自动将客户端的操作系统、运行平台、应用信息等等这些信息都会注入到我们的context中,然后我们可以通过context去获取每次调用的上下文。
image.png

实战

首先来演示如何在客户端中使用云函数。
之前我们演示了使用uniCloud.callFunction来调用我们的云函数。
image.png
增加一个按钮
image.png

  1. <button @click="open">执行云函数</button>

注册方法
image.png
name就是云函数的名称
image.png
成功的回调和失败的回调
image.png

  1. open() {
  2. uniCloud.callFunction({
  3. name:"get_list",
  4. success() {
  5. },
  6. fail() {
  7. }
  8. })
  9. }

image.png
传参数,传一个name和age
image.png
输出结果
image.png

  1. open() {
  2. uniCloud.callFunction({
  3. name:"get_list",
  4. data:{
  5. name:"LIMING",
  6. age:18
  7. },
  8. success(res) {
  9. console.log(res)
  10. },
  11. fail() {
  12. }
  13. })
  14. }

云函数的定义

image.png

image.png
result就是我们云函数返回的
image.png
没有返回我们的content成功
image.png
修改了云函数一定要右键—-上传部署
image.png
部署成功后才可以正常的调用。
image.png
image.png.
再来测试。
image.png
返回状态码和信息
image.png
把context返回回去。
image.png
这是一个es6的写法,属性名和属性值相同,可以直接写一个,
image.png

  1. //返回数据给客户端
  2. return {
  3. code:200,
  4. msg: event.name + '的年龄是'+ event.age,
  5. context
  6. }

上传部署
image.png

image.png
context里面的body
image.png
h5里面模拟iphone
image.png

结束