const cloud = require("wx-server-sdk"); cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV, }); const db = cloud.database(); // 获取openid const getOpenId = async () => { // 获取基础信息 const wxContext = cloud.getWXContext(); return { openid: wxContext.OPENID, appid: wxContext.APPID, unionid: wxContext.UNIONID, }; }; // 获取小程序二维码 const getMiniProgramCode = async () => { // 获取小程序二维码的buffer const resp = await cloud.openapi.wxacode.get({ path: "pages/index/index", }); const { buffer } = resp; // 将图片上传云存储空间 const upload = await cloud.uploadFile({ cloudPath: "code.png", fileContent: buffer, }); return upload.fileID; }; // 创建集合 const createCollection = async () => { try { // 创建集合 await db.createCollection("sales"); await db.collection("sales").add({ // data 字段表示需新增的 JSON 数据 data: { region: "华东", city: "上海", sales: 11, }, }); await db.collection("sales").add({ // data 字段表示需新增的 JSON 数据 data: { region: "华东", city: "南京", sales: 11, }, }); await db.collection("sales").add({ // data 字段表示需新增的 JSON 数据 data: { region: "华南", city: "广州", sales: 22, }, }); await db.collection("sales").add({ // data 字段表示需新增的 JSON 数据 data: { region: "华南", city: "深圳", sales: 22, }, }); return { success: true, }; } catch (e) { // 这里catch到的是该collection已经存在,从业务逻辑上来说是运行成功的,所以catch返回success给前端,避免工具在前端抛出异常 return { success: true, data: "create collection success", }; } }; // 查询数据 const selectRecord = async () => { // 返回数据库查询结果 return await db.collection("sales").get(); }; // 更新数据 const updateRecord = async (event) => { try { // 遍历修改数据库信息 for (let i = 0; i < event.data.length; i++) { await db .collection("sales") .where({ _id: event.data[i]._id, }) .update({ data: { sales: event.data[i].sales, }, }); } return { success: true, data: event.data, }; } catch (e) { return { success: false, errMsg: e, }; } }; // 新增数据 const insertRecord = async (event) => { try { const insertRecord = event.data; // 插入数据 await db.collection("sales").add({ data: { region: insertRecord.region, city: insertRecord.city, sales: Number(insertRecord.sales), }, }); return { success: true, data: event.data, }; } catch (e) { return { success: false, errMsg: e, }; } }; // 删除数据 const deleteRecord = async (event) => { try { await db .collection("sales") .where({ _id: event.data._id, }) .remove(); return { success: true, }; } catch (e) { return { success: false, errMsg: e, }; } }; // const getOpenId = require('./getOpenId/index'); // const getMiniProgramCode = require('./getMiniProgramCode/index'); // const createCollection = require('./createCollection/index'); // const selectRecord = require('./selectRecord/index'); // const updateRecord = require('./updateRecord/index'); // const sumRecord = require('./sumRecord/index'); // const fetchGoodsList = require('./fetchGoodsList/index'); // const genMpQrcode = require('./genMpQrcode/index'); // 云函数入口函数 exports.main = async (event, context) => { switch (event.type) { case "getOpenId": return await getOpenId(); case "getMiniProgramCode": return await getMiniProgramCode(); case "createCollection": return await createCollection(); case "selectRecord": return await selectRecord(); case "updateRecord": return await updateRecord(event); case "insertRecord": return await insertRecord(event); case "deleteRecord": return await deleteRecord(event); } };