最近微信小程序官方推出的小程序云开发能力吸引了一大批开发者的关注,这个小程序云开发到底是啥,简单的说,就是,云函数就是后端代码,现在叫云函数,自己写,自己上传,数据库没什么好说的,就是数据库,不过这个数据库是json数据库,很方便,怎么个方便法呢
下面为大家解读小程序云开发怎么弄?
开通云开发
创建了第一个云开发小程序后,在使用云开发能力之前需要先开通云开发。在开发者工具工具栏左侧,点击 “云开发” 按钮即可开通云开发。云开发开通后自动获得一套云开发环境,各个环境相互隔离,每个环境都包含独立的数据库实例、存储空间、云函数配置等资源。每个环境都有唯一的环境 ID 标识,初始创建的环境自动成为默认环境。
云开发控制台
云开发控制台是管理云开发资源的地方,控制台提供以下能力:
概览:查看云开发基础使用数据
用户管理:查看小程序用户信息
数据库:管理数据库,可查看、增加、更新、查找、删除数据、管理索引、管理数据库访问权限等
存储管理:查看和管理存储空间
云函数:查看云函数列表、配置、日志和监控
统计分析:查看云开发资源具体使用统计信息
资源环境
一个环境对应一整套独立的云开发资源,包括数据库、存储空间、云函数等。各个环境间是相互独立的,用户开通云开发后初始默认可拥有最多两个环境。在实际开发中,建议每一个正式环境都搭配一个测试环境,所有功能先在测试环境测试完毕后再上到正式环境。以初始可创建的两个环境为例,建议一个创建为 test 测试环境,一个创建为 release 正式环境。
以下是小程序云开发怎么调用接口整个流程:
首先要升级一个开发者工具版本,更新到最新,下载地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
1、下载到最新的工具之后打开,先创建一个存储我们自己云函数的文件夹命名:functions
2、找到project.config.json文件,添加 "cloudfunctionRoot": "functions/" 配置我们的云函数目录
- {
- "description": "项目配置文件。",
- "cloudfunctionRoot": "functions/",
- "setting": {
- "urlCheck": true,
- "es6": true,
- "postcss": true,
- "minified": true,
- "newFeature": true
- },
- "compileType": "miniprogram",
- "libVersion": "2.1.3",
- "appid": "asdaaaaaa",
- "projectname": "",
- "condition": {
- "search": {
- "current": -1,
- "list": []
- },
- "conversation": {
- "current": -1,
- "list": []
- },
- "plugin": {
- "current": -1,
- "list": []
- },
- "game": {
- "current": -1,
- "list": []
- },
- "miniprogram": {
- "current": -1,
- "list": []
- }
- }
- }
3、发现云函数的目录是不是别具一格,是的话就右键选择:新建node.js云函数,这时候系统会配置一个基础版的云函数给我们,我们就拿这个基础的云函数走一个流程
- // 云函数入口文件
- const cloud = require('wx-server-sdk')
- cloud.init() //初始化,小程序调用函数前必须要要先调用初始化
- // 云函数入口函数
- exports.main = async (event, context) => {
- return {
- sum: event.a + event.b,//event里面放的都是一些用户传递过来的数据,参数a和参数b
- userInfo: event.userInfo //还可以直接获取到用户的openid,这些是腾讯给出来的,并不需要用户去授权,很安全。
- }
- }
4、在我们的functions目录中,右键我们的add,选择:上传并部署,然后就开始调用:
- wx.cloud.callFunction({
- name: 'add',
- data: {
- a: 1,
- b: 9
- }
- }).then((res)=>{
- console.log(res)
- })
5、是不是很激动,如果按照官方给出的文档,可能会遇到下面几个问题:
问题①:Cannot read property 'callFunction' of undefined; 遇到该问题很好解决,这个问题一般都是调试基础库版本太低的原因,可以往上调一下。 问题②:发现版本库调高了之后发现了另外一个问题,
- errCode: -1 | errMsg: Cloud API isn't enabled, please call wx.cloud.init first
- 请先调用 wx.cloud.init() 完成初始化后再调用其他云 API。init 方法可传入一个对象用于设置默认配置,详见文档。;at pages/test/test page getData function
- Error: errCode: -1 | errMsg: Cloud API isn't enabled, please call wx.cloud.init first
- 请先调用 wx.cloud.init() 完成初始化后再调用其他云 API。init 方法可传入一个对象用于设置默认配置,详见文档。
这个问题,就是调用云函数之前需要先进行初始化。wx.cloud.init()就可以了。再去调用云函数。
成功获取返回来的数据。官方提供的一个最初的简单小demo就算走通了,剩下的基本上都是此类操作,只是需要对照官方数据库操作进行特别的操作。
第二部分:如何开通一个小商店
<以上资讯仅供参考,如果您需解决具体问题,建议您关注作者;如果有软件产品开发需求,可在线咨询加速度产品经理获取方案和报价>
****更多行业产品开发方案,请关注jsudo加速度 https://www.jsudo.com***
【加速度jsudo(www.jsudo.com)】是国内知名企业数字化建设提供商,为企业提供电商平台搭建(多种模式电商平台搭建:B2B/B2B2C/B2C/O2O/新零售等)、智慧园区建设、数字化营销、人才外包等服务,点击这里查看了解更多行业解决方案。