前段时间接触了微信小程序的云开发,使用云开发开发了几个小程序,正式上线了一个之后,感觉云开发真的很不错,无需搭建服务器,就可以使用云端能力,推荐大家可以去了解一下。
01. 为什么选择小程序云开发
首先要知道小程序云开发能给我们提供什么
1.云函数
相当于云端的接口,云函数语言是JavaScript,云函数的运行环境,目前是nodejs8.9,我们可以写爬虫,或者写其他需要服务端才能写的功能。
2.云调用
云调用是在云函数的基础上,增加了小程序开放接口的能力,既可以直接在云函数里很方便的调用小程序的开放接口,包括发送模板消息,获取小程序码等
2.文件存储
云开发提供文件存储功能,可以存放一些大图片和一些不适合放在小程序客户端的大文件,像图片可以通过云文件的File ID显示,还可以通过下载链接下载文件,无需配置服务器相关的域名。
3.数据库
云开发有提供给我们数据库,数据库的类型是MongoDB,微信官方也封装好了很多api,可以在小程序端直接调用,无需通过服务端。
4.省去很多服务端的工作
自己开发小程序服务端,需要自己购买服务器,买域名,域名备案,配置https,对于不熟悉的人来说配置这些会踩很多的坑,特别对于部分没接触过服务端的前端工程师来说,配置服务器会很麻烦,小程序云开发就能很好的解决这个问题,帮助前端工程师进行服务端的开发。
根据上面说的几个优点,当我们需要开发小程序,不需要太复杂的功能的时候,小程序云开发是一个很好的选择。
02. 学习小程序的基本用法
推荐参考一下官方提供的例子新建云开发模板,创建云开发模板需要使用自己小程序的appid,不能使用测试号。
官方提供的例子,功能包括:
- 获取用户头像等信息
- 通过云函数获取openid
- 上传文件
- 数据库的增删查改
- 测试云函数
- 发送模板消息和获取小程序码
第一次使用小程序云开发的,可以通过学习模板里的这些方法对小程序云开发的使用有一个初步的了解。
03. 开发过程中遇到的一些问题
1.小程序端可以直接操作数据库
按照我们常规的开发,应该是小程序端调用接口,接口再操作数据库,所以刚开始进行小程序云开发的时候,我的想法是把云函数当做服务端,操作数据库是在小程序端调用云函数,云函数再操作数据库。其实小程序提供的api是可以直接操作数据库的,无需通过云函数。
2.定时触发器不支持云调用
云函数有一个定时触发器的功能,可以定时触发该云函数,而且云开发发送模板消息也很方便,所以我想做一个每日签到提醒的功能,用户进入小程序之后,点击签到之后就把form_id存下来,第二天定时发送签到提醒,尝试了很多次,定时器能正常触发,发送模板消息的方法单独使用也是正常的,就是结合到一起后一直失败,最后通过微信开发者社区查询相关的问题后,看到官方的回答,说目前定时触发器还不支持云调用,所以目前无法使用定时发送模板消息的功能
3.集合里面,记录的主键_id必须字符串
我自己通过csv自己把一些数据写好之后,想通过导入的方法导入到小程序云开发的数据库里,但是一直失败,经过自己的尝试,是因为自己给的id是数字,把id改一下就导入成功了
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。