小程序的云开发怎么使用

小程序的云开发是微信提供的一项后端服务,旨在为开发者提供简便、高效的开发体验。它是建立在微信公众平台的基础上,允许开发人员使用 JavaScript 代码直接进行云端开发,无需搭建服务器、学习运维等繁琐的操作。

在这篇文章中,我们将详细介绍小程序云开发的使用方法,主要包括以下几个部分:

1. 云开发的基本概念及功能

2. 如何开启云开发

3. 云开发的数据库操作

4. 云函数的编写与调用

5. 云存储的上传与下载

一、云开发的基本概念及功能

云开发是一个基于云的移动开发平台,它包括云函数、云数据库和云存储三大核心功能。开发者可以使用自己熟悉的前端技术进行开发,将前端代码上传到云端服务器上运行,快速构建小程序后端服务。

云函数:

云函数是在云端运行的 JavaScript 代码,可以实现在小程序中的数据操作、计算、调用第三方 API 等各种服务器端功能,而不用搭建服务器和进行运维操作。同时,云函数实现了超低成本、实时、扩展性好等云计算特点。

云数据库:

云数据库是基于 NoSQL 的数据库引擎,支持文档型和关系型数据存储,可以提供方便快捷的数据统计分析和数据可视化的集成服务。

云存储:

云存储是独立的对象存储服务,可为小程序用户提供高可靠、高可扩展、安全性高的云端存储服务,同时也提供了访问控制、身份验证等通用的功能。

二、如何开启云开发

1. 开通云开发

进入微信公众平台小程序管理后台,找到「设置」 →「开发设置」→「开发环境」,打开云开发功能,即可开启云开发。除此之外,开发者还需要开通云数据库等功能。

2. 登录云开发控制台

在开通云开发功能后,点击左侧菜单栏的「云开发」即可进入云开发控制台,在这里可以管理云函数、云数据库、云存储以及项目设置等功能。

三、云开发的数据库操作

云开发的数据库支持文档型和关系型数据存储,开发者可以使用小程序提供的 API 进行数据的增删改查操作。

1. 创建集合

在云开发控制台中进入云数据库,在「集合管理」中新建集合,输入集合名称及字段类型。这里需要注意的是:MongoDB 是一种文档型数据库,集合中每行记录即为一个 JSON 对象,字段名和字段值都是要求用户自定义的。

2. 数据的增删改查操作

在小程序脚本中使用 wx.cloud.database() 获取云开发数据库对象,之后就可以使用该对象调用数据库 API 进行数据的查询、修改、添加和删除等操作。

下面是一些 API 使用示范:

```javascript

// 初始化数据库对象

const db = wx.cloud.database()

// 查询操作

db.collection('user').where({

name: 'lily'

}).get({

success: res => {

console.log(res.data)

}

})

// 更新操作

db.collection('user').doc('5f71d66fd44d09...').update({

// data 里面的字段需要和集合的字段一一对应

data: {

age: 22

},

success: res => {

console.log(res)

}

})

// 添加操作

db.collection('user').add({

data: {

name: 'tom',

age: 26

},

success: res => {

console.log(res)

}

})

// 删除操作

db.collection('user').doc('5f71d66fd44d09...').remove({

success: res => {

console.log(res)

}

})

```

四、云函数的编写与调用

云函数是运行在云端服务器上的 JavaScript 代码,可以实现各种后端操作,包括请求第三方 API 、爬虫、数据计算等等。

1. 创建云函数

在云开发控制台中进入「云函数」管理页面,点击新建云函数,填写云函数名称,并选择云函数的运行环境。之后,可以进入本地项目文件夹,在命令行中输入以下命令安装云函数 SDK:

```

npm install --save wx-server-sdk

```

2. 云函数编写

在云函数文件夹下的 index.js 文件中编写云函数的具体功能代码。使用 wx-server-sdk 可以在云函数中和云数据库、云存储等平台组件进行交互,同时也可以使用 Node.js 中支持的各种库进行文件读取、http 请求等操作。

以下是一个云函数示例:

```javascript

// 引入 SDK

const cloud = require('wx-server-sdk')

// 初始化 cloud

cloud.init({

env: cloud.DYNAMIC_CURRENT_ENV

})

// 云函数入口函数

exports.main = async (event, context) => {

const wxContext = cloud.getWXContext()

const result = await cloud.openapi.subscribeMessage.send({

touser: wxContext.OPENID,

page: 'index',

lang: 'zh_CN',

data: {

thing1: {

value: '云函数测试'

},

time3: {

value: new Date().toLocaleString()

},

character_string2: {

value: '123456'

}

},

templateId: 'AT0000'

})

return result

}

```

3. 调用云函数

在小程序的页面脚本中,使用 wx.cloud.callFunction() 可以调用云端的云函数。在调用云函数时,需要指定云函数名称和传入云函数的参数。

以下是一个调用云函数的示例:

```javascript

wx.cloud.callFunction({

name: 'test',

data: {

a: 1,

b: 2

},

success: res => {

console.log(res.result)

},

fail: err => {

console.log(err)

}

})

```

五、云存储的上传与下载

云存储是小程序提供的一种对象存储服务,可以在应用中方便地存储和读取图片、音视频等文件。云存储上传和下载文件时,不需要使用 AppID、SecretID/SecretKey 等认证信息,具有相对较高的安全性。

1. 云存储的上传

通过 wx.cloud.uploadFile() 可以将本地文件上传到云存储中,上传时需要指定文件路径,以及指定上传后文件在云存储中的存储路径和文件名。

以下是云存储上传的示例代码:

```javascript

wx.chooseImage({

success: function(res) {

wx.showLoading({

title: '上传中...',

})

const filePath = res.tempFilePaths[0]

const cloudPath = 'my-image-folder/' + Date.now() + '-' + Math.floor(Math.random() * 1000000) + filePath.match(/\.[^.]+?$/)[0]

wx.cloud.uploadFile({

cloudPath,

filePath,

success: res => {

console.log(res)

wx.hideLoading()

},

fail: () => {

wx.hideLoading()

wx.showToast({

title: '上传失败',

icon: 'none'

})

}

})

}

})

```

2. 云存储的下载

通过 wx.cloud.downloadFile() 函数可将云存储中的文件下载到本地缓存中,下载文件时需要指定云存储中文件的路径和文件名,以及指定下载后文件在本地缓存中的路径和文件名。

以下是云存储下载的示例代码:

```javascript

wx.cloud.downloadFile({

fileID: 'cloud://my-appid.6d79-my-appid/my-image-folder/1598992830447-666783.jpg',

success: res => {

console.log(res.tempFilePath)

},

fail: err => {

console.error(err)

}

})

```

总结

小程序的云开发提供了一种便捷、高效的开发方式,让开发者可以更加专注于应用的业务逻辑,而无需深入研究后台服务的搭建维护。通过本文的介绍,我们可以了解到云开发的基本概念和功能,以及如何开启、使用云开发中的数据库、云函数和云存储等服务。运用好云开发,可以让我们的小程序更加快速优秀地构建和开发。


点赞(48) 打赏
如果你喜欢我们的文章,欢迎您分享或收藏为众码农的文章! 我们网站的目标是帮助每一个对编程和网站建设以及各类acg,galgame,SLG游戏感兴趣的人,无论他们的水平和经验如何。我们相信,只要有热情和毅力,任何人都可以成为一个优秀的程序员。欢迎你加入我们,开始你的美妙旅程!www.weizhongchou.cn

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部