1. 开通微信云开发
2. 新建云函数
在小步调项目根目次找到 project.config.json 文件,新增 cloudfunctionRoot 字段,指定云函数的当地根目次,如下:
- { "cloudfunctionRoot": "./functions/"}
复制代码 然后在小步调下创建对应的目次./functions/
完成后该目次会如下显示:
右键点击functions目次,选择“新建Node.js云函数”,输入云函数名称(例如:newTest),然后等待数秒,右上角会提示如下:
此时云函数就自动上传并摆设在远程服务端上了,新建的newTest目次及结构就会酿成如下所示:
打开index.js,会看到官方提供的的云函数样例。
3. 当地调试
- 当地调试云函数,相当于在当地搭建了一套云函数服务端,可以直接调用当地的云函数举行测试
复制代码 右键点击云函数,选择“开启云函数当地调试”。会进入云函数当地调试页面。如下图所示:
此时点击右边的开启当地测试,会提示:node modules 未安装,是否忽略并继续?
点击确定,会弹出报错窗口。
解决方法如下:
- 首先,你要先安装好node
- 然后右键点击云函数,选择“在外部终端窗口打开”
- 输入 npm install,等待安装
- 安装乐成后会在云函数目次下多出一个目次“node_modules”
- 此时再重新打开当地调试,则会显示如下:
此时当地调试就已经开启了,但是云函数还没有被调用,这里调用云函数有两种方式,第一种是默认的模仿器触发:就是直接在代码中调用云函数,则会直接调用当地的举行测试。第二种就是手动触发,操作如下:
- 请求方式选择手动触发
- 点击下方的“调用”按钮
- 观察中间的console窗口,会提示函数触发执行的日志,则执行乐成!
4. 上传并摆设
当我们新建云函数的时候,工具就会自动同步当地云函数到线上。
可以在云函数里的index.js中编写逻辑代码,编写完后需要更新摆设到线上,则右键选择“上传并摆设,云端安装依赖”。这样,云函数就摆设到线上了。
5. 云数据库
- 微信云开发提供的JSON 数据库很简单,这里直接引用官方原话
复制代码 数据库中的每条纪录都是一个 JSON 格式的对象。一个数据库可以有多个聚集(相当于关系型数据中的表),聚集可看做一个 JSON 数组,数组中的每个对象就是一条纪录,纪录的格式是 JSON 对象。
关系型数据库和 JSON 数据库的概念对应关系如下表:
关系型文档型数据库 database数据库 database表 table聚集 collection行 row纪录 record / doc列 column字段 field 如下图:我们点击“+”号,在当前环境新建一张表“goods”
下面列表中会显示已经建好的表,我们选中刚刚新增的“goods”,点击新增纪录,如下图:
弹出的页面如下,文档id就是纪录的主键,我们用系统默认的不需要修改。
点击下边的“+”号,第一个字段我们输入name,值为“小米手机”;继续点击下面的“+”号,追加字段:value,值为2999。点击确定。
一条纪录就添加好了,效果如下:
同学们可能发现,我从创建表名到添加纪录,中间并没有设计表结构的过程,而是通过添加纪录直接生成了表数据,这时有同学可能会想,如果我再添加一条结构不一样的纪录会怎样?立刻试试:
这次我添加了三个字段的纪录,也添加乐成了,说明小步调云开发json数据库并不强制要求每条纪录的数据结构一致。
6. 云函数调用
现在我们修改一下之前的云函数,使其可以或许获取我们刚刚新建的数据库纪录
- // 云函数入口文件const cloud = require('wx-server-sdk')cloud.init()// 1. 获取数据库引用const db = cloud.database()// 云函数入口函数exports.main = async (event, context) => { // get 方法会触发网络请求,往数据库取数据, 返回promise对象 const promise = db.collection('goods').get() // 必须等待请求返回后才return return promise.then(res=>{ return res })}
复制代码 当地调试一下,乐成会返回如下信息
在util目次下新建一个cloudFS.js,专门用来调用云函数,代码如下:
- //初始化云函数的sdk,这里需要填写你的环境ID,可以在环境设置里看到环境IDwx.cloud.init('mywork-3g23x4l369c3cc77')const test=()=>{ wx.cloud.callFunction({ name: 'newTest' }).then(res=>{console.log(res)})}module.exports = { test:test,}
复制代码 在页面js中调用这个方法:
- var util = require('../../utils/cloudFS.js')Page({ test:function(){ util.test() },})
复制代码 wxml的代码:
点击“测试”按钮即可调用云函数,控制台打印效果如下:
来源:https://blog.csdn.net/monk0271_chen/article/details/111570533
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |