小程序云开发
1、原因:尝试并记录小程序的云开发过程。
2、思路:通过云函数的调用实现订单的上传,新增
2-1小程序端封装并调用云函数
2-1-1小程序中封装的云调用方法
//app.js
ajax(url, data, config) { const name = url.split('/')[0], type = url.split('/')[1] return new Promise((resolve, reject) => { wx.cloud.callFunction({ // 要调用的云函数名称 name: name, // 传递给云函数的event参数 data: { type: type, data }, config }).then(res => { resolve(res.result) }).catch(err => { reject(err) }) }) }
2-1-2小程序调用云函数
const app = getApp()
app.ajax('order/addOrEditOrder', this.data.form).then(res => { ... })
2-2编写云函数实现存储数据逻辑
2-2-1区分功能
//index.js const addOrEditOrder = require('./addOrEditOrder/index'); const getOrderList = require('./getOrderList/index'); const delOrder = require('./delOrder/index'); // 云函数入口函数 exports.main = async (event, context) => { // const wxContext = cloud.getWXContext() console.log(event.type) switch (event.type) { case 'addOrEditOrder': return await addOrEditOrder.main(event, context); case 'getOrderList': return await getOrderList.main(event, context); case 'delOrder': return await delOrder.main(event, context); } }
2-2-2编写逻辑调用数据库新增
//addOrEditOrder/index.js
const cloud = require('wx-server-sdk');
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
});
const db = cloud.database();
exports.main = async (event, context) => {
console.log('调用接口成功! addOrEditOrder', event,context)
try {
event.data.createTime=new Date()
event.data.orderState='collect'
db.collection('order').add({
data: event.data
}).then(()=>{
return {
success: true
};
})
} catch (e) {
return {
success: false,
errMsg: e
};
}
};

浙公网安备 33010602011771号