当前位置:首页 > uni-app开发 > 正文

uni-app开发纪念日小程序(3) -使用腾讯云的云开发功能

上次使用的是dcloud自己的云开发功能,拿到微信开发者工具里跑,结果提示云函数未绑定,查了下文档和相关资料,了解到要用微信小程序的云开发的话需要增加一些配置。两者的云函数入口和数据库使用方式也有些不同,开始实战:

  1. 首先cd到项目根目录下安装两个module

npm install wx-server-sdk
npm install copy-webpack-plugi

会发现在package.json中增加了这两个dependencies


2. App.vue 在onLaunch中增加初始化代码

onLaunch: function() {
			console.log('App Launch')
			if(!wx.cloud){
				console.error("no support cloud")
			}else{
				wx.cloud.init({
					tracerUser:true,
					env:'myyu-e18641'
				})
			}
		},

3.根目录下新建文件vue.config.js ,内容如下目的是webpack打包时将云函数cloudfunctions目录打包进去

const path = require('path')
const CopyWebpackPlugin = require('copy-webpack-plugin')

module.exports = {
    configureWebpack: {
        plugins: [
            new CopyWebpackPlugin([
                {
                    from: path.join(__dirname, 'cloudfunctions'),
                    to: path.join(__dirname, 'unpackage/dist', process.env.NODE_ENV === 'production' ? 'build' : 'dev', process.env.UNI_PLATFORM, 'cloudfunctions')
                }
            ])
        ]
    }
}

4.在根目录下建文件夹cloudfunctions,云函数全部放在这个文件夹下即可。

微信云开发的云函数index.js的入口文件与阿里云的不同,以插 入数据库一条数据为例:

阿里云代码:

'use strict';
const db=uniCloud.database()
exports.main = async (event, context) => {
  //event为客户端上传的参数
  console.log('event : ' + event)
  //返回数据给客户端
  const collection=db.collection('testcollection')
  //插入数据库测试
  const aa={title:'结婚纪念日',type:'2',remaindays:'31',theday:'2020.04.06'}
  await collection.add(aa);
  return {
  	status: 1
  }
  
};

云数据库插入数据只需为一个object即可。

腾讯云代码:

// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
const db=cloud.database();
exports.main = async (event, context) => {
  //event为客户端上传的参数
  console.log('event : ' + event)
  //返回数据给客户端
  const collection=db.collection('testcollection')
  //插入数据库测试
  const aa={data:{title:'结婚纪念日',type:'2',remaindays:'31',theday:'2020.04.06'}}
  await collection.add(aa);
  return {
  	status: 1
  }
  
};


腾讯云数据库插入数据需要用data字段包裹起来。


这是个人的理解,具体区别还是需要今后使用中慢慢体会。


5.调用云函数报错:wx is not defined 及 wx-server-sdk 找不到


image.png

需要在云函数目录下加上package.json文件,里面加上wx-server-sdk的依赖



更新时间 2020-03-07

有话要说...