微信小程序云开发初体验

9.10号微信重磅推出小程序云开发功能,该功能方便了很多逻辑上的问题,至于安全嘛,腾讯的,如果腾讯不看你的,没人看得到,话不多说,跟着腾讯文档进行第一个demo
首先要升级一个开发者工具版本,更新到最新,下载地址: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()就可以了。再去调用云函数。


image.png

成功获取返回来的数据。官方提供的一个最初的简单小demo就算走通了,剩下的基本上都是此类操作,只是需要对照官方数据库操作进行特别的操作。
如果这篇文章对你有帮助,希望您也能加入我的qq群帮助更多需要帮助的小程序开发者:751741695

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,980评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 13,079评论 2 59
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,026评论 3 119
  • 很久很久以前,李开复有一本青年励志书籍叫《做最好的自己》,讲什么内容已经忘的干净,能记住的也只有这个书名了。晚餐时...
    沧海一霸阅读 267评论 1 1
  • 爱的心门被背叛无情刺穿, 肆无忌惮的泪水伴随委屈而飞, 回忆当初的甜蜜、恩爱! 心还想掩饰伤悲, 人却一...
    雪中寒兰阅读 1,076评论 19 47