云开发入门第六章,云函数的讲解

简介: 云开发入门第六章,云函数的讲解

6-1,认识云函数


官方文档:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/functions.html

我们先来看下官方给出的云函数简介

其实通俗来讲,云函数也是运行在服务器上的,只不过和我们传统开发语言相比。微信官方为我们提供的傻瓜式的一键部署。也就是说你只需要把心思花在业务逻辑代码的编写上即可。无需关心写好如何部署,无需关心安全问题,无需关心鉴权问题。


我们下面以获取openid为例,来看看云函数,php,Java的实现对比

  • php获取用户openid
  • 如果用php来获取openid必须经历下面几步
  • 1,去小程序后台拿到appid和appSecret
  • 2,请求微信的对应接口
  • 3,获取数据后进行解码
  • 4,购买服务器,配置服务器
  • 5,购买域名,域名备案,配置https
  • 6,部署php代码到服务器
  • 7,小程序端调用php接口

Java获取openid和上面的php步骤一样,也是需要上面7步。而我们用云函数获取openid呢,就只需要简单的3步就行了,代码量也能显著减少


6-1-1,云函数获取openid


用云函数的话,只需要3步

  • 1,编写云函数
  • 2,一键部署云函数
  • 3,调用云函数

来看下云函数代码,只需要10行代码,即可轻松搞定


6-2,云函数的优势


我们用云函数和上一章的云数据库进行下对比

来看下官方文档是如何描述云函数的

  • 云函数属于管理端,在云函数中运行的代码拥有不受限的数据库读写权限和云文件读写权限。需特别注意,云函数运行环境即是管理端,与云函数中的传入的 openId 对应的微信用户是否是小程序的管理员 / 开发者无关。


6-3,云函数调用演示


官方文档:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/functions/Cloud.callFunction.html

6-3-0,初始化云函数的环境

  • 1,创建一个文件夹cloud和pages平行
  • 2,在project.config.json里面配置云函数所在目录为cloud
    在project.config.json里面添加如下配置
    然后点击保存,我们的cloud文件夹前面就有一个云朵
  • 就代表我们云函数初始化成功啦。
  • 新一个云函数
  • 048ecf1df560bb18f51a09a370ef0618.png
  • 如果只创建一个云函数的时候,会出现下面的问题。
  • 730b42f280c14f1c846a47c1dab3a19b.png

解决方案:只需要在cloud文件夹下新建一个空白文件即可。


6-3-1,云函数获取openid


调用云函数有两种写法

  • 1,传统的success和fail
  • 2,用promise写法then和catch

6-3-2,数据的导入和导出

  • 数据导出,做数据备份
    比如导入为json数据如下

83a4704370850de191a54b2218ccdf18.png

数据导入,为了快速的大量的创建一些数据。
为了方便付费用户,我这里提前准备好了108条数据,付费用户直接去下载即可

  • 360868073daa612df1f0b8cddb75f1c2.png

把下载好的这108条数据的json文件,导入到数据库如下


6-3-3,云函数获取数据


注意:云函数只要有变动,就要重新部署,否则云函数不生效。

遇到了一个问题,如下

出现原因:如果你有两个云开发环境,偶尔会出现上图所示的问题。

解决问题:有两种


  • 1,在云函数里指定你要使用那个云开发环境

2,使用DYNAMIC_CURRENT_ENV常量 (提倡使用这个)

4de593f8a6e576a06d3e82f8aa29ec85.png

我们这里会和小程序里直接调用数据库的查询进行下对比

ee44bc1b0ff2f38983bf9a097d53f973.png

daffa092c6d76535b7e527f6c239ffde.png

6-3-4,云函数修数据


本地小程序直接调用数据库修改会有问题

  • 只能修改自己创建的数据,别人创建的数据,就没有办法修改了。
  • 如何解决呢?用云函数来修改就可以解决这个问题啦。
  • 1,先创建云函数update0129
  • 2,调用云函数就行修改

6-3-5,云函数删除数据

  • 1,创建一个删除商品的云函数remove0129
  • 18852a744ff13abea5b63e7818838d91.png
  • 2,调用这个云函数进行删除操作
  • 65c14382420214fcdeded9a5d100f001.png

6-3-6,提交数据到云函数


  • 1,创建云函数,并部署
  • 2,调用云函数

6-4,使用云函数常见问题


6-4-1,云函数里面没有初始化环境变量

解决方案如下:

代码片段


cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV 
})


相关文章
|
小程序 JavaScript API
小程序云开发实战三:编写云函数代码
小程序云开发实战三:编写云函数代码
82 0
|
3月前
|
Java 开发工具 Maven
开发工具,能力强的伙伴可以直接参考官方文档
该教程详细介绍了如何使用Gluon将JavaFX项目编译成exe文件,涵盖开发工具配置、环境搭建及异常处理。开发工具包括Idea 2023.3、Gluon插件、Git和Maven等。环境搭建需安装VS 2022 Community、JDK 11或17+及GraalVM CE Gluon 22.1.0.1-Final,并配置相应环境变量。通过拉取示例项目、修改`pom.xml`并执行`build.bat`完成编译。教程还提供了异常处理及将编译动作绑定到Maven生命周期的方法。
56 0
|
6月前
|
C++ 开发者
技术经验分享:dumpbin的使用方法_dumpbin的基础使用
技术经验分享:dumpbin的使用方法_dumpbin的基础使用
333 0
|
小程序 JavaScript 前端开发
小程序云开发全套实战教程(最全)
小程序云开发全套实战教程(最全)
141 0
|
7月前
|
弹性计算 监控 开发者
计算巢实操合集:软件供应商进阶管理实操(系列五)
弹性计算社区推出的面向开发者计算巢成长系列课程已经发布第五期了,本期将围绕软件供应商进阶管理实操,一步步教大家如何利用计算巢完成部署体验。
107703 63
|
小程序 数据库
小程序云开发学习笔记
在app.js里面 小程序一开始就初始化,多次调用只有第一次触发
165 0
小程序云开发学习笔记
|
IDE Serverless API
阿里云云开发实践笔记【1】
阿里云云开发实践笔记
213 0
|
存储 小程序 NoSQL
小程序云的进阶开发技巧
介绍小程序云函数以及云调用的进阶用法。
1458 0
小程序云的进阶开发技巧
|
存储 开发框架 达摩院
HaaS UI小程序解决方案基础教学|阿里云产品内容精选(三十五)
本文内容取自HaaS技术圈。HaaS(Hardware as a Service)物联网设备云端一体开发框架,整合阿里云、达摩院、平头哥技术,基于数亿物联网设备接入经验,提供积木式硬件开发能力,实现低代码快速开发,帮助中小开发者聚焦业务,实现设备安全上云,加速设备创新迭代。
|
运维 小程序 前端开发