小程序开发之云函数

小程序开发提供了云函数的功能, 把函数写好, 上传至云,然后就能像调用本地函数一样调用云函数了,涉及到一些密匙之类的不妨试试放在云端调用更安全, 是不是很神奇让我们来看看吧!

一 新建项目,建议自己申请一个账号,用测试账号是没有云开发的选项的,下图这个

二 点击云开发 , 按要求填写参数生成云开发实例,很简单

三 需要看下project.config.json(一般在项目的根目录下) 中的云函数根目录, 没有也可以生成一个,如下

{
	"miniprogramRoot": "miniprogram/", //小程序的根目录
	"cloudfunctionRoot": "cloudfunctions/", //云函数的根目录 所有的云函数都在这个目录下
	"setting": { //基础配置
		"urlCheck": true,
		"es6": true,
		"postcss": true,
		"minified": true,
		"newFeature": true
	},
	"appid": "wx5f7f013e847d189d",
	"projectname": "say_eat",
	"libVersion": "2.2.5",
	
}

四 定义云函数,并上传至云端(前提已经设置好了云开发的配置),我们在cloudfunctions目录下试着定义一个计算两个数相乘的方法

右击cloudfunctions创建云函数,里边会自带index.js 和package.jsjon 自己修改下

// index.js 是入口文件,*必须定义并导出main函数,云函数被调用时会执行该文件导出的 main 方法
// event 包含了调用端(小程序端)调用该函数时传过来的参数,同时还包含了可以通过 getWXContext 方法获取的用户登录态 `openId` 和小程序 `appId` 信息
// 目录结构是 cloudfunctions/multiplication/index.js
const cloud = require('wx-server-sdk')
exports.main = (event, context) => {
  let { a, b} = event;
  let { OPENID, APPID } = cloud.getWXContext() // 这里获取到的 openId 和 appId 是可信的
  let product = a * b;

  return { //这里定义返回的对象,也可以是变量,在后边的success中接受到
    OPENID,
    APPID,
    product 
  }
}

六 最后一步开始调用啦

//调用分两种 回调 和 promise , 都差不多啦, 这里是没有
wx.cloud.callFunction({
  // 需调用的云函数名
  name: 'multiplication', 
  // 传给云函数的参数 也就是上边的event对象
  data: {       
    a: 12,
    b: 19,
  },
  // 成功回调
   success: res => {
     console.log(res);
   },
   fail: err => {
     console.error('[云函数] [login] 调用失败', err)
   }
})

// 当然 promise 方式也是支持的
wx.cloud.callFunction({
  name: 'multiplication',
  data: {
    a: 12,
    b: 19
  }
}).then(console.log)
  .catch(console.log)

到这里一个云函数就定义完毕了, 是不是很简单呢,如果有什么问题,欢迎留言.

 感谢您的阅读!如果文章中有任何错误,或者您有更好的理解和建议,欢迎和我联系!

 

你可能感兴趣的:(小程序开发之云函数)