@Author:Runsen

暑假很长,明年就是找工作的时候了。这个时候必须比之前还要拼命。

百无聊赖,看过文档才发现,微信小程序已将云函数,对象存储和云数据库这些都搬了进来,由于前几天刚刚看过这些方面的东西,所以感觉还是挺简单的。云函数这个概念在之前学习的时候没有注意到。

今天是2020年7月24日。不学习,不复习,那和一条咸鱼差不多。 今天继续学习复习微信小程序中的云开发中的云函数。官方文档

文章目录

  • 云函数
  • 新建云函数
  • 调用云函数

云函数

官方解释:一个云函数的写法与一个在本地定义的 JavaScript 方法无异,代码运行在云端 Node.js 中。当云函数被小程序端调用时,定义的代码会被放在 Node.js 运行环境中执行。

其实云函数就是nodejs的函数差不多。所以之前的node到vue基本上内容都覆盖了。

在云开发控制台中,已经清空了我的云函数。

新建云函数

在项目根目录找到 project.config.json 文件中 cloudfunctionRoot ,指定本地已存在的目录作为云函数的本地根目录

因此可以在cloudfunctionRoot文件夹中新建Node.js云函数。

这里我取名为sum,就是来简单的实现下两个数求和。


云函数中使用 wx-server-sdk 需在对应云函数目录下安装 wx-server-sdk 依赖,在创建云函数时会在云函数目录下默认新建一个 package.json 并提示用户是否立即本地安装依赖。

npm install --save wx-server-sdk@latest

调用云函数

下面是sum云函数的代码

// 云函数入口文件
const cloud = require('wx-server-sdk')cloud.init()// 云函数入口函数
exports.main = async (event, context) => {const wxContext = cloud.getWXContext()return {event,openid: wxContext.OPENID,appid: wxContext.APPID,unionid: wxContext.UNIONID,}
}

我们实现的是两个数的求和,因此不需要这么复杂。

将sum中的index.js修改成这样,并上传成功。

// 云函数入口函数
exports.main = async (event, context) => {return {sum:event.a + event.b}
}

下面在页面上使用云函数sum,这是index.wxml页面的代码。

<view>云函数</view>
<button bindtap="sum">调用云函数</button>

下面是index.js中的代码

Page(sum:function(){wx.cloud.callFunction({name:"sum",data: {a:1 ,b:2}}).then(res=>{console.log(res)}).catch(err=>{console.log(err)})},
}

在云函数中日志可以看到,调用成功。

下面我们看下云开发中的获取用户的Openid,记得上传云函数。

在index.wxml中定义了一个onGetOpenid方法。

<button class="userinfo-nickname" bindtap="onGetOpenid">点击获取 openid</button>

继续看一下index.js中的onGetOpenid方法,其实就是调用了login的云函数

 onGetOpenid: function() {// 调用云函数wx.cloud.callFunction({name: 'login',data: {},success: res => {console.log('[云函数] [login] user openid: ', res.result.openid)app.globalData.openid = res.result.openidwx.navigateTo({url: '../userConsole/userConsole',})},fail: err => {console.error('[云函数] [login] 调用失败', err)wx.navigateTo({url: '../deployFunctions/deployFunctions',})}})},

下面是云开发中云函数的效果

五十一、微信小程序云开发中的云函数相关推荐

  1. 微信小程序在开发中遇到的问题与解决方法

    微信小程序在开发中遇到的问题与解决方法 参考文章: (1)微信小程序在开发中遇到的问题与解决方法 (2)https://www.cnblogs.com/zjjDaily/p/8032142.html ...

  2. 微信小程序——传统开发模式与云开发模式对比

    目  录 1.传统开发模式与云开发模式的对比图 2.云开发技术能力说明 3.云开发技术特点 1.传统开发模式与云开发模式的对比图 通过传统开发模式与云开发模式的对比图可以看出传统开发模式需要开发者关注 ...

  3. access突然需要登录_早知道早好,微信小程序登录开发需要注意的事项

    最近公司要做一个企业微信的小程序,方便企业内的成员来登录,以便一些公司内的业务,只限于公司内的成员来操作,因为有微信小程序的开发经验,所以先当作微信小程序来开发了! 首先来讲一下这个企业微信小程序与微 ...

  4. 微信小程序商城开发-商品详情页跳转购物车

    项目场景: 微信小程序商城开发中商品详情页中购物车页面的跳转(仅限于tabbar页面的跳转) 问题描述 点击商品详情页中的购物车图标跳转不到tabbar及导航栏中的购物车页面,总是报错 原因分析: 微 ...

  5. 【微信小程序-原生开发】实用教程08 - 开通微信云开发,操作云数据库新增数据(含修改数据权限),初始化云服务(含获取微信云环境 id),获取云数据,滚动公告栏

    开始前,请先完成圆梦宝典中宫格导航的开发,详见 [微信小程序-原生开发]实用教程 07 - Grid 宫格导航,详情页,侧边导航(含自定义页面顶部导航文字) https://blog.csdn.net ...

  6. 微信小程序6-云开发-云数据库

    微信小程序1-小程序基础,开发工具安装使用 微信小程序2-WXSS,WXS 微信小程序3-小程序生命周期和组件 微信小程序4-小程序的api 微信小程序5-真机测试 1.云开发 1).什么是云开发 微 ...

  7. 【微信小程序-原生开发】实用教程09 - 可滚动选项,动态列表-步骤条(含事件传参),动态详情(含微信云查询单条数据 doc)

    开始前,请先完成圆梦宝典中滚动公告栏的开发,详见 [微信小程序-原生开发]实用教程 08 - 开通微信云开发,操作云数据库新增数据(含修改数据权限),初始化云服务(含获取微信云环境 id),获取云数据 ...

  8. 微信小程序应用开发赛作品综合开发记录——晋鹿文旅(云开发——概览)

    文章目录 前言 作品展示: 1.设计理念: 2.1.风景/人文历史 2.2.文物园 2.3.志愿者(暂未对接任何活动,仅测试) 2.4.英汉传译(考虑到可能在旅行中外国友人或者单纯就想翻译) 2.5. ...

  9. 小程序开发工具中黑马优购小程序tabs组件_别不信,二十一天巧妙精通微信小程序的开发,附赠教程...

    资料简介: 这是一本帮助编程爱好者和从业人员从零开始学习微信小程序设计的书.本书紧跟微信小程序的技术发展,是目前在该领域率先进行系统的技术探讨和培训的著作. 本书站在学习的角度,目的是让学习者通过21 ...

最新文章

  1. 2017全球硬科技创新大会今日开幕 科技大腕聚集共绘西安“硬科技”发展蓝图
  2. BCH粉必转 | 围绕BCH建立的相关项目和应用列表汇总
  3. python简历数据提取_如何使用pyPDF2从PDF格式的多页简历中提取文本数据?
  4. ITK:建立一个Hello World程序
  5. Linux服务器开发之:stat(),fstat(),lstat()详细介绍+案例演示
  6. 美国量子计算机能编程吗,世界首台可编程通用量子计算机美国问世
  7. 信用卡消费退款,商家让客户付手续费,合理吗?
  8. [翻译] .NET Core 3.0 Preview 9 发布
  9. oracle em界面监控出来的奇怪图像_海康poe主机断电重启后不出图像,显示用户被锁定...
  10. Android零碎要点---eclipse两个小技巧
  11. 外贸业务员会计算机知识,外贸业务员、电子商务
  12. 错误代码1833 Cannot change column used in a foreign
  13. android荧光进度条,Android ProgressBar 进度条荧光效果
  14. android 开发种子文件,IT之家学院:如何制作种子文件和磁力链接
  15. 企业运维实战--k8s学习笔记.k8s容器资源限制 Metrics-Server部署 图形化监控Dashboard部署 K9S的安装
  16. c语言盆子接球游戏,适合幼儿园孩子的70个感统训练游戏(开发右脑)
  17. Webots学习笔记—四轮小车的模型搭建和简单控制
  18. w10更新后怎么找计算机全民,Win10系统下全民WiFi不能用了怎么办
  19. 基于DragonBoard 410c android系统实现红外遥控功能
  20. 面试被问到这道送命题,怎么回答才不会变成炮灰

热门文章

  1. 手机号正则_这20个正则表达式,对你有大帮助,快来Make
  2. php如何连接wsdl,PHP如何调用wsdl
  3. cka教程_2020年11月新版CKA考试心得
  4. 刷新存储器的容量单位是什么_存储系统 半导体存储器
  5. vue 打包后页面空白问题
  6. 计算机考试单招考试面试,单招考试考什么内容?面试一般会问什么?
  7. mysql命令行设置sqlmodel_MySQL的sql_mode模式说明及设置
  8. JavaScript | 继承
  9. [iOS常见问题] 关于使用QQ做第三方登录的问题!
  10. 安装shopex注意事项