文章目录
微信小程序云开发——云函数
云函数介绍
云函数定义:运行在(腾讯云)上的程序,将需要的函数部署在云开发平台上,即可实现随处使用的特点
云函数特性:
-
操作权限高(一次可删除多条记录)
-
突破网络限制(icp/http)
云函数的使用步骤
- 第一步:使用小程序开发工具创建云函数(cloudfunctions文件夹右键点击选择新建node.js云函数)
- 第二步:在新建好的文件夹中的index.js中写入函数的具体实现,完成后保存
- 第三步:右键点击该文件夹选择(上传并部署:云端安装依赖)
- 第四步:在云函数控制面板中对云函数进行测试
- 第五步:在小程序中调用云函数
云函数的具体使用
注意:云函数要求本地的node.js版本在8.0以上
示例:部署求两个整数和的云函数
依据上述步骤创建sum文件夹,在该文件夹下的index.js中写入如下代码:
// 云函数入口函数
/**
exports.main 创建主函数并且向外导出
async 异步执行
event 事件对象,接收参数
context 上下对象:当前微信用户信息
*/
// i+j需要两个参数,这两个参数保存在event中
exports.main = async (event, context) => {
return{
"sum":event.i+event.j
}
}
这里的index.js中会自动生成函数模板,这里根据需要删除自动生成的代码,添加自己的函数实现即可。
依据步骤在云端部署函数后,在界面组件中使用该函数,代码如下:
add: function () {
wx.cloud.callFunction({
//js界面中调用云函数的接口
name: "sum",//云函数的名称
data: {
//向云函数sum中传递的值
i: 1,
j: 2
}
})
.then(res => {
//调用成功的回调函数
console.log(res);
})
.catch(err => {
//调用失败的回调函数
console.log(err);
})
},
通过云函数操作数据库
根据步骤创建函数,在函数的index.js下写入函数实现:
index.js代码如下:(示例数据库删除操作,其他操作类似)
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
//创建数据库对象
const db=cloud.database();
// 云函数入口函数
/**
async ES7 语法(异步)
await ES7 语法(等待)
*/
exports.main = async (event, context) => {
try{
return await db.collection("test")//指定操作数据库的名称
//这里是固定删除age=33的记录,也可将其写活
.where({
age:33}).remove();
}catch(e){
console.log(e)
}
}
微信小程序云开发——云存储
云存储功能:存储本地文件到网络磁盘
可以根据需求修改文件名和后缀
操作步骤
- 第一步:在组件中绑定上传图片的事件
- 第二步:事件的具体实现
- 第三步:点击按钮上传图片
只上传一张图片的实现代码如下:
uploadimg: function () {
//选择图片
wx.chooseImage({
count: 1, //选中一张图片,一次选择上传几张图片默认为9张
sizeType: ['original', 'compressed'], //图片类型 原图/压缩图
sourceType: ['album', 'camera'], //图片来源 相册/相机
success: result => {
//选中图片成功
// tempFilePath可以作为img标签的src属性显示图片
// console.log(res.tempFilePaths["0"])
// const tempFilePaths = res.tempFilePaths
wx