学习微信小程序云开发,需要有微信小程序开发的基础,笔者曾写过一篇入门文章《浅析触手可及的微信小程序》,有需要的小伙伴可以先移步这里学习。
背景
随着微信小程序生态的日益发展和迭代,微信小程序云开发也应运而生。其实到目前为止,小程序云开发已经不是一个新的概念了,早在微信小程序诞生不久,微信已经开始支持小程序云开发。
学习和应用微信小程序云开发,源于一个业务场景。记得有次团队要开发一个小程序,其中涉及到用户发布帖子,发布的内容包含有文字、图片、视频等信息。大家都知道,用户生成内容(UGC)不能涉及黄赌毒等敏感信息,所以需要通过调用服务端接口,进行内容安全校验,才能审核通过,面向用户展示。比如七牛云、阿里云、腾讯云等都有对应的API支持。
当时由于后端人力比较紧张,我就在考虑前端能否做内容安全校验。由于我之前做过很多小程序,也了解过小程序云开发,后来经过调研和验证,便在项目中应用小程序云开发解决了这个问题。
云开发简介
小程序云开发,简而言之,就是前端不依赖后端提供接口,前端借助微信提供的云开发能力,基于Node环境,实现前端开发接口,前端调用,功能完全由前端实现。
小程序云开发包含的主要能力有:
- 数据库:云开发提供了一个 JSON 数据库,顾名思义,数据库中的每条记录都是一个 JSON 格式的对象。
- 云存储:云开发提供了一块存储空间,提供了上传文件到云端、云端下载能力,开发者可以在小程序端和云函数端通过 API 使用云存储功能。
- 云函数:云函数是一段运行在云端的代码,在开发工具内编写、一键上传部署即可运行后端代码。
- 云调用:云调用是使用小程序开放接口的能力,调用我们定义在云端的云函数。
云开发配置
1.开通云开发
在开发者工具的工具栏左侧,点击 “云开发” 按钮即可打开云开发控制台,根据提示开通云开发,并且创建一个新的云开发环境。
需要注意的是,在这里我们可以定义两个环境ID,分别为开发环境和生产环境。两个环境对应的数据库、云存储等配置资源分别是独立的。

开通云开发
2.创建云函数
(1).在小程序根目录创建文件夹functions来存放云函数;
(2).在project.config.json中配置"cloudfunctionRoot": "functions/", 定义云函数根路径;
(3).在开发者工具中,functions - 新建Node.js云函数 - defineCloundFunName(自定义云函数名称);
- config.json:云调用的权限配置
- index.js:云服务器Node入口文件,自定义云函数逻辑
- package.json:NPM包依赖
(4).在开发者工具中,functions - defineCloundFunName - 上传并部署:云端安装依赖;
3.调用云函数
在APP.js初始化云环境,参数env可以在云开发的设置中可以看到当前的环境ID
onLaunch: function () {wx.cloud.init({
env: "test-cloud-dev",
traceUser: true
})
}
到此为止,云开发配置及准备工作均已完成,可以结合业务需求实现功能了。
相关影片资源迅雷下载推荐
微信小程序的开发与原理
微信小程序的开发与原理1 , 小程序与普通网⻚开发的区别小程序的主要开发语言是 JavaScript ,小程序的开发同普通的网⻚开发相比有很大的相似性。对于前端开发者而言,从网⻚开发迁移到小程序的开发成本并不高,但 ...
小程序开发,微信小程序的开发与原理
云开发实践
1.内容安全
对于用户生成内容(UGC)添加内容安全校验,其实现思路如下图所示:

云开发实践-内容安全
云函数端核心代码如下:
// 检查文本内容是否违规,返回校验结果if (event.msg) {
msgR = await cloud.openapi.security.msgSecCheck({
content: event.msg
})
}
// 检查图像内容是否违规
if (event.img) {
imageR = await cloud.openapi.security.imgSecCheck({
media: {
header: {
'Content-Type': 'application/octet-stream'
},
contentType: 'image/png',
value: Buffer.from(event.img)
}
})
}
小程序端核心代码如下:
// 调用ContentCheck云函数检查文字是否违规const cloudTextCheck = (msg = '') => {
return new Promise(function (resolve, reject) {
wx.cloud.callFunction({
name: 'ContentCheck',
data: {
msg,
// msg: '特3456书yuuo莞6543李zxcz蒜7782法fgnv级完2347全dfji试3726测asad感3847知qwez到',
},
success (res) {
console.log('检查文本内容是否违规:', res.result);
if (res.result.msgR && res.result.msgR.errCode === 0) {
// wx.showToast({
// title: '文字符合规范',
// });
resolve(true);
} else if (res.result.errCode === 87014) {
wx.showToast({
icon: 'none',
title: '文字违规!',
});
resolve(false);
} else {
resolve(false);
}
}
})
});
};
// 调用ContentCheck云函数,检查单张图片是否违规
const cloudImgCheck = (img = '') => {
return new Promise(function (resolve, reject) {
wx.cloud.callFunction({
name: 'ContentCheck',
data: {
img,
},
success (res) {
console.log('检查图片内容是否违规:', res.result);
if (res.result.imageR && res.result.imageR.errCode === 0) {
// wx.showToast({
// title: '图片符合规范',
// });
resolve(true);
} else if (res.result.errCode === 87014) {
// wx.showToast({
// icon: 'none',
// title: '图片违规',
// })
resolve(false);
} else {
resolve(false);
}
}
})
});
};
// 连接数据库、提交数据
const db = wx.cloud.database({});
const contentCheckData = db.collection('contentCheckData');
contentCheckData.add({
data: {
title,
content,
imageArr: cloudImageArr,
timestamp: Date.now(),
},
success: function (res) {
console.log(res);
wx.hideLoading();
wx.showToast({
title: '提交成功!',
success: () => {
wx.navigateTo({
url:'/pages/cloud/contentCheckList/contentCheckList'
});
}
});
}
});
值得注意的是,在开发者工具运行时,我们可以通过控制台实时查看调用云函数接口请求和返回状态。
实现效果可通过扫码文末二维码体验功能。
2.客服消息
我们在使用小程序时,作为C端用户经常会使用客服功能,给小程序B端商家发送消息。那么如果想要实现B端商家给C端用户主动发送消息,同样也可以基于小程序云开发能力来实现。其实现思路如下图所示。

云开发实践-客服消息
那么它的应用场景和价值是什么呢?比如C端用户正在平台访问某个商品,我们可以通过客服消息,B端商家主动及时联系用户,促进交易。当然,诸如服务端推送功能,也可以使用客服消息实时发送给用户,即使商家或用户不在线,对方也可以在微信的服务通知中实时收到消息。
发送消息支持使用文本+图片+图文+小程序卡片等,实现效果如下图所示,也可通过扫码文末二维码体验功能。
需要注意的是,个人小程序账号有一定的限制,B端触发消息可以由C端用户先发起,当发送超过5条消息,如果用户48小时内不回复就不能再发了,避免过度干扰用户,而企业账号则会放宽限制。

云开发实践-客服消息类型
云开发小结
云开发作为微信小程序提供的增强功能工具,使得前端可以独立开发一个功能完整的小程序。结合项目使用经验,总结了一下小程序云开发的优缺点,仅供参考。
优点:1.学习成本低;2. 发布个人账号小程序;3. 微信提供免费个人资源存储服务;
缺点:1. 个人账号资源配额限制;2. 个人账号审核更为严格;
当然,个人账号尽管有一定的限制,但是作为学习和应用完全没有问题。甚至有的个人小程序已经借助云开发,实现了一个功能完善的产品,并面向用户,接入广告,步入商业道路了,比如抽奖类、投票类、社交类的小程序等。
如果你有特别好的idea,甚至有创业的想法,也可以借助微信小程序云开发,实现一个自己的小程序,微信现在也支持了小程序推广的功能,为小程序商业化提供了良好的途径。
如下二维码是笔者个人维护的的微信小程序,主要是小程序日常开发的问题总结、云开发功能体验入口,有兴趣的小伙伴可以扫码体验,感谢阅读,欢迎相互交流学习分享~

沿途岁月-微信小程序
参考文档:
企业网站建设与开发最低只要299元起,包含域名服务器,需要的联系QQ345424724,电话15516990022,18530226930相关影片资源迅雷下载推荐
一小时开发一个简单的微信小程序
定制小程序、毕设、stitp请私信。云开发请参考这个demo虽然不是专业做微信小程序的,但是由于无聊做一个简单的demo了解一下开发流程还是可以的。 这次做了一个手机号码归属地查询的小程序。做出来的实物如图: 理 ...
小程序开发,一小时开发一个简单的微信小程序
标签: 小程序开发 浅析微信小程序云开发